From 6a225261c5ca1b8380d9b9958921404bf52a3daf Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Thu, 11 May 2023 18:25:14 +0100 Subject: [PATCH 01/17] Rework the library structure and add maven pom to the project. --- .classpath | 57 +- .gitignore | 78 +- .project | 15 +- .settings/org.eclipse.jdt.core.prefs | 11 +- ...pse.jst.j2ee.ejb.annotations.xdoclet.prefs | 5 - .../org.eclipse.ltk.core.refactoring.prefs | 2 - ....eclipse.wst.common.project.facet.core.xml | 4 - README.md | 11 + lib/apache-commons-codec-1.4.jar | Bin 62704 -> 0 bytes lib/lombok.jar | Bin 1529616 -> 0 bytes pom.xml | 193 +++++ src/BigBlueButton/api/BBBException.java | 58 -- src/BigBlueButton/api/BBBMeeting.java | 58 -- src/BigBlueButton/impl/BBBAPI.java | 135 ---- src/BigBlueButton/impl/BBBModule.java | 88 --- src/BigBlueButton/impl/BaseBBBAPI.java | 684 ------------------ .../java/org/bigbluebutton/api/ApiMethod.java | 37 + .../bigbluebutton/api/BigBlueButtonAPI.java | 48 ++ .../org/bigbluebutton/api/enums/Feature.java | 39 + .../bigbluebutton/api/enums/GuestPolicy.java | 33 + .../api/enums/MeetingLayout.java | 34 + .../org/bigbluebutton/api/enums/Role.java | 33 + .../api/responses/APIReturnCode.java | 32 + .../api/responses/ApiVersionResponse.java | 23 + .../api/responses/BaseResponse.java | 29 + .../bigbluebutton/api/util/URLBuilder.java | 41 ++ .../org/bigbluebutton/api/ApiMethodTest.java | 50 ++ .../api/BigBlueButtonAPITest.java | 33 + .../bigbluebutton/api/enums/FeatureTest.java | 49 ++ .../api/enums/GuestPolicyTest.java | 35 + .../api/enums/MeetingLayoutTest.java | 36 + .../org/bigbluebutton/api/enums/RoleTest.java | 34 + .../api/responses/APIReturnCodeTest.java | 39 + 33 files changed, 961 insertions(+), 1063 deletions(-) delete mode 100644 .settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs delete mode 100644 .settings/org.eclipse.ltk.core.refactoring.prefs delete mode 100644 .settings/org.eclipse.wst.common.project.facet.core.xml delete mode 100644 lib/apache-commons-codec-1.4.jar delete mode 100644 lib/lombok.jar create mode 100644 pom.xml delete mode 100644 src/BigBlueButton/api/BBBException.java delete mode 100644 src/BigBlueButton/api/BBBMeeting.java delete mode 100644 src/BigBlueButton/impl/BBBAPI.java delete mode 100644 src/BigBlueButton/impl/BBBModule.java delete mode 100644 src/BigBlueButton/impl/BaseBBBAPI.java create mode 100644 src/main/java/org/bigbluebutton/api/ApiMethod.java create mode 100644 src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java create mode 100644 src/main/java/org/bigbluebutton/api/enums/Feature.java create mode 100644 src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java create mode 100644 src/main/java/org/bigbluebutton/api/enums/MeetingLayout.java create mode 100644 src/main/java/org/bigbluebutton/api/enums/Role.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/APIReturnCode.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/BaseResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/util/URLBuilder.java create mode 100644 src/test/java/org/bigbluebutton/api/ApiMethodTest.java create mode 100644 src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java create mode 100644 src/test/java/org/bigbluebutton/api/enums/FeatureTest.java create mode 100644 src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java create mode 100644 src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java create mode 100644 src/test/java/org/bigbluebutton/api/enums/RoleTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java diff --git a/.classpath b/.classpath index 1321a81..e2fe9eb 100644 --- a/.classpath +++ b/.classpath @@ -1,13 +1,58 @@ - - + - + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore index c055778..2573375 100644 --- a/.gitignore +++ b/.gitignore @@ -1,23 +1,65 @@ -# Compiled class file -*.class +### Eclipse template +.metadata +bin/ +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders -# Log file -*.log +# External tool builders +.externalToolBuilders/ -# BlueJ files -*.ctxt +# Locally stored "Eclipse launch configurations" +*.launch -# Mobile Tools for Java (J2ME) -.mtj.tmp/ +# PyDev specific (Python IDE for Eclipse) +*.pydevproject -# Package Files # -#*.jar # in order to include external library -*.war -*.ear -*.zip -*.tar.gz -*.rar +# CDT-specific (C/C++ Development Tooling) +.cproject -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -/build/ +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ +.apt_generated_test/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +# Uncomment this line if you wish to ignore the project description file. +# Typically, this file would be tracked if it contains build/dependency configurations: +#.project + +/target/ + +.idea/ diff --git a/.project b/.project index c48d052..3843021 100644 --- a/.project +++ b/.project @@ -11,13 +11,24 @@ - org.eclipse.wst.common.project.facet.core.builder + org.eclipse.m2e.core.maven2Builder - org.eclipse.wst.common.project.facet.core.nature org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + + 1683816513702 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index a698e59..93d8913 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,12 +1,17 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=11 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.source=1.8 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning +org.eclipse.jdt.core.compiler.processAnnotations=enabled +org.eclipse.jdt.core.compiler.release=disabled +org.eclipse.jdt.core.compiler.source=11 diff --git a/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs b/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs deleted file mode 100644 index 7c8126d..0000000 --- a/.settings/org.eclipse.jst.j2ee.ejb.annotations.xdoclet.prefs +++ /dev/null @@ -1,5 +0,0 @@ -XDOCLETBUILDERACTIVE=true -XDOCLETHOME= -XDOCLETUSEGLOBAL=true -XDOCLETVERSION=1.2.1 -eclipse.preferences.version=1 diff --git a/.settings/org.eclipse.ltk.core.refactoring.prefs b/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index b196c64..0000000 --- a/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/.settings/org.eclipse.wst.common.project.facet.core.xml b/.settings/org.eclipse.wst.common.project.facet.core.xml deleted file mode 100644 index f4ef8aa..0000000 --- a/.settings/org.eclipse.wst.common.project.facet.core.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/README.md b/README.md index 61b83d1..333d8b8 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,15 @@ +# BigBlueButton API for Java + +![Home Image](https://raw.githubusercontent.com/wiki/bigbluebutton/bigbluebutton-api-java/images/header.png) + +Requirements: JVM 11 + +```bash +mvn formatter:format && mvn package +``` + +--- OLD NOTES --- Special note: 1. This project used Lombok library, if you want to deploy this project, make sure you have Lombok installed. To install, follow the following steps: - download from https://projectlombok.org/download diff --git a/lib/apache-commons-codec-1.4.jar b/lib/apache-commons-codec-1.4.jar deleted file mode 100644 index 422c42b1054d41b4c20926da6ba972ffe7cfa663..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62704 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

}B-1wN)_th3MJj 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 diff --git a/lib/lombok.jar b/lib/lombok.jar deleted file mode 100644 index 1728da7c0e0b547969f44b87249f088ce9347b4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1529616 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 j60$tZ`iO5gm3&SNbrk6Cgb)+1mre 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

hPg_6#xC$d3c{9mPoqLc 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%0Ag@VR&tjS1$SRAV+3FiY$=Q9+F)zSSWw% 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

(e?a^t%|JuKl%oy3ZH2 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 z%0A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

^UHvyh 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 B)giy2*74!hb@-M-7rvX6oR6c-%?XeRgrb49dF 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%0AA{SHBh0mDLJNtJnYL^A4hqi);2w zNU(%p(?Ih22g@(yOT>GYyo435=wgbi>zLPL=h(yU?O33XAIKh2U&j2`T0z$0&pXFx zoYtbVPScUm_5=>I3;w8Cb1I{SrDiA!nwbUn>So+v=HD4)xs zsee4$OI83@qR=8uXME3-cG@P)J^+>hvr?t;_rSJ`f9`!{X0(w*5#m+MkAZqIaTYC1 z_SH_V-AY-hHR*gcBdAH`$w5QJ8c47PI2+{FIzgScajIoyr&!Z*^D!1!-?8d;WAg~o zqVo(^p#ga)9!&OH6FMUdR}=)cJd8fMRZ~*@oL|>+XO;nlgUYapwOj}3+rsB0!<-`L z>)y#xG+ci^{6I$MhA({i%MRb#eL6yw(a>@ri9>^s;j5_%CTgNZh}U8|O;NL{pd>I| zYYmlELBZ7&G(#4eO*zYs9JS{6N{RM7LTg%D2C>!LVkEy}P9J<$Y}?u-ADJi#$FuhQ_YqBe9_6BkFVW-U4+voT+Y zbApB2!Vt}i9(RY^hh=_<*dQ!)%|%>JMo1Be%d#9$kPUPZtkl&&OEFDclCRp#R~4UG zl}RSxsw`W7K@1KJ3?6SOQE$bw(Hc#b^h&a=d|{o{s#HVg1~KfQH6me;XeCJpPV!7f zky>V=6WYDmOQ_6MN$LgH4peOXRR4a)QjE=9Wv$SaHQ0oeP0UA%rJ?LHU{)3W?N~VE z3GhuIZ=m=~8Z(qHggAg$IV~7H)MTbg=v;24 z(y|vMq?t{}CoDd6rt(wQ?=LX~hT)N~9L_5ea=kC9=e46<#k=fwh~EVkML+}95bYu4 znkUeJE^y4vh|hzeJJzOa6RyUa(;i8TNjICKS8l|3*>+ERq8=}{A3I*OA>BfeFEILk z4lX|3Sc8t*x@&rwZ{&pexqXsKZ$5Oybc28%ScLP!kwhbjS_lL;(Z~6q5vbww7xw<} zikOAqmH0w3Y>E)~NuJ>iuDPz=beY5G67nw8`BVi`yFvIJ2`SxR1pL;sWAMfdAIGqN z;{F^WhFdn23*OxvesG1C3w}?xHx<#U2!IE%DTpAz2Q7ozZ1o?YcF*Iq)*gh!3!AOQ z#OnDI9bsoTblh{?@kBXOgJ@H$jA9bu0Y8>d25DZaS29>rsllt;e?H6`x#$jR*O_Ua zJtqf*F)l8)7}p%h857(j^P3?^iQYZ4S*H^r$KaYC-g!$RVGm&#!goOSIr56beUvXJ z!@*AC7^HS9P=MDDqxYI81H79hMalwM8T;f#X7xBEqoQlK$cW0PCzE6nGGBi) z54YCYP=Z72ExBKS!cZb9iIj;>2?+SX(GW=_M?ID^JPSe^DhT*-U4*!5F;?7Qff9lI zmYwb8T~~K^{`8awguj~`LKXTZ#eQN!;GJ=lNfDvg8;;C16|#dBCxq@m*W|2W^2Url zA)K*y^HZrfRw98Pf9jXZ`oP^*{m?ZfXW6()f`l}@OQ{y@BfO7HiSMA|ZKiIhBTrOF z2v%rV*=tB<8I#71KqxzXX7VUAP7~NLQ909;Z2t=51y6gR2aFSJ)717 zcVtz&IG}gVi+EO?8W|Rjfip2gYrJ{KGPXk1{A*cn&e0we2K@~74qRY?`DO#l1V4k1 zWJheXICA7yxj?8e%TjlQ7!g?{FYacoA=D&nO3wIbH=n`99ZT3LI0f0VrEA$hz48dS zsyPivMkGd&kV1J{cbei>t%b+Jp)|HmJiN3f2bU-8#5I-F>=i}{Z@ly1=ylrmd$$A|L(G`RQ8QNfde?&! z)O9#%!=~`+SQm3-GhTL>!!3dT>SJEqziW-Z9U}8vGK}|s;A7vuW$a?)ENbFpa0nZAR$YMXXbKiiEI#Cgjt z&P`t}=fL1~wXPQBPSA{Q&fW<%pjK6EH+v6Tjdv><;WgS(u83WzR0swzbGs@lDTu=d zMfJk6IyH<`G{uCTPwU#*mxny|M$loTDL_BYKOCP>RtGbb51ZmLV6#=0)*&yPjTt3quwEXVpD#*VTHGZK=|AdQV#V}9PNOXKg^Hx_KR6vc^<&7GvkLdr@uzj(j>8O zJ~8+EkHK7vvp>EhIuH;U6%Y{j|GY;3cjNINjmAGK|M1V^Kjdh^c&i?!2prECn=*F< z#A6z}b9Iv*P=%L^03{**A|y=)69y|u%E&VQ#muptK~#)DVAEo^VOayBUZbUwq7E(< zNNHh1^UWaIwxQO#)w*HRwP8!p8ntCs@^!bBF@6xx5+!i-cIno4<$e4jaIE8TIDIUS zGVh4*k~FG{!s5j<{lPZxPK*^f0$Vi-IacTcRa82U-}cj#6iuEzV^5LUa&+s!IFsj8 zkxrGCl>)+SZ z)Yj0_&XpA#7n>|{T%FeT7QXP8?bgoM($SID^r$97dRwW#K-0s3RCRJ2xA<`t7z@Ds zffl*MpT?Z{#(`)|y-cyDtplS>HYpVgWbWyL4q1;aapiDb^;YXfuPIfhb=JeunG0en`EPd$l>%bx?8phd)`gP%)LGgxm4{NjE zkrPgy^J-b_>objCVGIhXR^2dB1nxKpp)veWb-`J+A?8W77L0T>%W15{Tm|WT2V_5L zR!*s@(N0%R4#?xCR!)-@=rfj24@y87*c6MhR#;9uXiu60*w5K;oagwDXnPcPk zRAYa*tkdf4j~vEg5k?J!ECjK;z+e65@sWo?-P)5IV3n7ifK&Z%)kPHBYFg_|LL2TO%YBz!-*BCYedD%O~9(&5I)2JNb>4 zEaDSHKb0iTB_o|ZEFgIbs=n=_Isp6l#9Ek|Ht;Vmn`nv~^Wg5(Z{9;9Td4;#B|cg) z@X6+348{?i#vsl7`SGgf8Qx2ng&+2Fl>HCt(wnKLa#;}oPF}NBV__!E*)uX1g7hIY z5z?kYz|p6$fWo*1Bq-W_O_PtS$GQap_%wFD$(Ea63`E9m{xsN}$wyAu9dE@VSURC( zh)JdX8WL{umMSM#1D+U`qpEAKN+}0+|Z>3~hFEfopfnYOU+yWJbDT))_4gD|W(tQ71`*>Ya?Yo`asUY`@MAkINkSwUQNOVsmLQ9h zw=n+6B&o@lz7bwyDKoUgq5v~pCTjQ3kVE4ITadvIlxB{C{BkJpVH)4UMTOJ664a(C z)jS|K`w7R2fKRcqyd)S4HTgDdAEIKQMP!1H68SIbF9>Xok||Qrj(3~AE6bZF{qy^) zdmLQ3`;o%A^@WPq%iPz$SI)0JoQ6Wk%Z_~pY{AHqJAQ%>3G|7IL>?ysjV9(U*c+8< zDHL{F_Ym7hXB}iIQ$kU9_x?Kf`rIEJ9|*ko{67WaS$Csm8cn*+O@_Ws@69|>K<>4b z68P$@-Fkv=J+L1cS*EQZNA`ci{9JsoF@4uf{S%cu{&(&VmEm)L3UChgg>c1uqpVd` zf~5aXh8!ad|DdgM*d1Tc%xtH41Wj!iNusN#yfM?$vJoO z4v79@;OK$w!W`x3BZa&mfMM|uLuWR;%(4sllqR)>WZvOnNcY-w)Eto9B{&O9PMRd& zQ6#xmjAmL`+TbdV>WvZ0A;t*pVuube*{wQ@Ght=TQipVn7)nf!&p0r`D&rQ%QLwUb z1VZt+XcE-iQ<3Lc+$f2uU*UQe)TdW}JvGY=FyK>uD169f5K^W>I=L@DxBgwmUeFR* z@qt2ESKOLV~re{F6{4Y{LE#hr97v?RoZoN!>Z zL)MFBPMv}3LoNNHaPO~9SLm`$zL&qrnD((H3&&bZnI@}!Haie{qs(}YAj`I13ap!; zMg_l6<-&o1VI7JDRJ_cR7EsX$<2&3cTe*_>grHQt7B`T-Y2hRgH>j!-?_}fiww#%8 z6Aa0aM>^hVCm}_^h0~>zZRab}v#eExpjh*=Tx<&z28v{1ODYS&PWFRN+)KV74fV6=b5_0nOX!>Ws>FX; zr~08z8M}gu&&GeF{&sE%g~9_%TY~(lSe7BZ&H=;!NSfpmkcq7ZM^@P-*MwsoHm&DX z0%1$7sGc%vIB4 zD-~|#EqRO}^Kv9shj*s(vM@vtf>0)t1{D(3T=(w4s)!||=7}Ve-*c>R@;)w`hu_=< z^6)d{D$tTyK3?)%JDc?T$M1|qznVtJ%upV1l~7ku>-6Q`TY9Z@SffC;G-(2275x3H zSf`#pf4=x8bhatCi|RqZy1Z3Q7y=91Qs}&C?MOuYa?bT}xdCj9rPUHXR}gGA+21h{ zf%lU2=_fM~6L0B2V6t!K>W%r>fr;?6!e+@DD!~+_1hTXWVFau)mEM9C5lN`zY&`gO z5FCjwx;p99UCE zREZ;wEOPSpjCN%_FyrUqQ14SsQj<+*&%A}DS!P!{Lwo3IyxhhC^)n=mC!6!Qn}#1mzI zZjmsW3|}P6N8j(8(x8{h%kp3>ut)#gCaA@*7}MTHQeW$YFQzF{oy-g`vM)$}PT>{E zgqd$UXsLFS+6AZLmsJ9=y&B)Kx>rx6#bj*TkvXo$Y~BQ!;H7(5f9y-Q$b9OERWWv9 zvryP}h<{hXK#%>0)(a!}1dY6+jmIIBmbRWtU~Lt4;j91RF|UX%K55)6)vQNv_mopE zZnt4q3hHAG-cq@J(jkgDbQb_lf>Sm?-(VGrK!t8Nk3ZBT4Z}|N!V2k1;RA_>M z;alL&PzFw^u$@3)twa3?^!Cp7J-Wx2 z!8h~--D}_&zw{}FA5_Y&6k&1fnjiMf z-0~6WIT+L}Wr(wL^|Hd2L zH5qooPqs(Jy#PG+X}w703Hf<%FEPT%$1NMA{lj9LsWLD~fJsyzx6lk;$>0zXP7QWm z>R4$i_uQP{X|F7UY;4|NMLf?5H4S}8b;Dtrn{(iiw#f=<-)+q{kR?-cg8dtq$OKxgdO!F(5RpN!tXtW?4! z{a`~}`>DZu*(7+JK7Ebu?qby&$QAJ1m7GEryrFwI%KQQmSr*wk>k!QyURiwD2TR{@ zXliPO1vgg9y84^~{twbn=L5niyoo0I0J!(-Q*8G;?B|C1%eFe1jWN(k@4Qd^YJFj} zd(iNrd4b{@^FA-NjCZ#DrF67esPh@+azxGw8(gCvoPC70_3ACRaGvC!H(-g1GivyGFqDt`M)yrfuOo;b zl_dFjdTP6xhj_*L3JedmkOyzKVJB@Pbu^HmTi9e_6%N?WUr!oR7En;#HX2zte z4P|p^@lWL@{WU?x^Zk9yJHCi%yE;ePtD^S)%BW9#!a$yn9_@Wy5AG97ju^OA(&? zIk@b>aE*os52;)=*V{7mbB}YJhIJ1!tvU9Z8WDjInDfLjcYp`jStq?u8+0)stx%s_vBDQJ;HeOMu-q-#xTnYVUYnnca=lD|?^h&R*T(&rb-SG{1lwjeF`o zp}L#A)9j=Cv=-sl2KFT1!s&uM%cxVcb*-s$#ucMYK>>||*ZO3<^-j#~&v;Z`x~7B0fAF83l*k>8lda)}^BQQQQbh$^@)@G68a#;{@z2O|4`>Jwf%{U?2HfI zgL`3b5)>YqU25vD_95MaB?1&S9qj|ZpyTilW2a=#uy(ua!8j0be-im;Xz^uA^MW_t zK=jvg>>m|;ge~}k2-dA>od_!PRNLSqWInkD{EXBHt>kYuloivczsPtQ)$>h^czvLm zE1{LaI~8YzZUprpM#V5g_G?*VyC?wdwEjY~?zmykSh!EGyeRhG>!)fVv1*;W&&|p{ z;Hrv@z+*7vyX_i#?HcyH0zvyPjWC?GP8E7ul$@8~u^LdFabpf6&gf&h&|_PH`}86E zApxg>g%m!E63d*&h;+zI$*!T#TO{5r_ny%^W>pHT2?%^!i1unJ*BA03UY326+f8j(|E+k5SBiF;hVo_#(|Dzbg9oAsw z_61h38in+s-6!!jTbJNBd6SG?-OQ1L08ludDeZ1+9< zg$TCB)8;AuC_G(*bRz7Vc@Qo16JsBY+=GplxkK?y$|OKcoUk$!vFO03*MSvlG(>4! z(-zl~dBf?`oknWhq1PVbb%)vk@w(k`$AUWB0l0f{;@=?aj`zC*6z;_Nhq9h&S7vWa zKk?*00FH}e%;^6+c33Rxpd2D&*H6{ZWr0?;WT54!|VfH zEnn`&yJEOmJ~?W3<&mrhVG@{#ctv+LQ*>zaO!BQiaaMl#KUoMIe5@;QmVUs__6^_J zUB7dWwcJ^ASN?IdJ_L!flasSOnT^!UOgNVu?ZLRxejQ$WMXq zlZKafHe$F9s#IAIBz;BngJ0W-UV3GeZ{GvwDTspW-?Y^li6b^RQX!b$8=I@}+(X$= zTfY&kYpYmF9m`lc0?1lAS$%JhWG(OP$y*Mc$Xh(PlGdT)b@1N7r*zg$pM&_ig5IgO zI$9_a6b`m|jYGy>BAj2fGHl(tU3GZJSqlsRpV_%%R_7JJN%Bq>QI$`@+K({(8urN? z`M3B76>@yHyGq_M2_(3kTO|nr29OA~Q$yCg2Y(Ro#$KWnf+Uf&<~z!1j|u=kLmO~q zs|V9J{OM+Wh3B4=Uwv}*3E%WTrX=#SduN_7{%aH>+uw%s;(PMI6g&`+^8fum>;E0_ zA{Di8G%@-PN_dD{*#4gZuz%M7;a^VwFru!lfue!A6$abEBqj zQAjC91C3^L9uLciZ3-|(X6Vs)BRSK46V}(QGCU2cQgE$#?C~r3Ds;`0!W7QeIthwG zJJRXB%jtP~>AlL{`T9Jh@+Wae6pZOVt#0A8+WN~f)m>!L)VWnw)+A0}_mo5J!?31a z8t*z<(|m-PI&M4v`^0rjYG`FK)?^2dP4*E~5e(bbT&#wnD&x-Q*v!seE8myCiYrNd zK>l1Op=`R{O4UBvdZ#_X4FX&^X|%h73tSt+yebo)`T?%WZt3?~&=9K~<3o3m8FkKU z4min6&{0jDK2llJ%2(o2L_8&bLjR`yK%*+_ zUvo7nhlh{c==RO)>R9eMJ2F>xrI^#JnJ$G!XQyrlKGhW04{6CL#QCd|YJ=ezT@@Kp zc3J$O^GD=Z6%W3U#NQR-!PAZ!eh)4nfA6GKe8m{&yn4-{nwMWQ3=;tCto#_$MBObDsMQBB4ip{5qFNY9v|i4g(4j z08S^cS7;zQ{kvvceV)1v+GG-%Nji{g10Y4;cshwms^7Ow0c`uw3?}~h6#yklEqvbX z5fEZN(})2MKU%4&LCJTz7Rog{@}w^mtws=<%v%B=m1ml+Qb=3AJVB3hvlcg40`M8DGtEn+xRl-W>_^>|elL$Ahw7sF%Ze zxDRWDoCez7d>KhSU6KCX_u^V@cGhfA(ajdWBC-JMAaS-%gOmfPYnj-Zowa6Q_)`J8`)gY)7)Zf}am8k})agyoWK#uWqnVIpZCNK0VBc7}>)D3` z{YwB~+bLnrG9hptA7wVWPLNdstv7!;66%;cP1G35DFN)~X{md?32UPhG!^x^kG6Ez z5q-3eXUX0698~NsrM_O%#SbIl718ujXXr_aggTzgQbZn$y_{#BWYT)>UNw|lZ=haz zMu$G5u#R>SkRV@qM5jvBeo=mLNaM^$$D0fFti|XONAls?IWe&sFgya=%3SL1w~|s5 zJT`6V;6ov8o$1W!{)t@Wr2}gAZiQ*1(7m=N+@p(N3Of zaXcvRA3FA%Z#>ke%iCScJj5>W?C4nwYhRlMES)7vC9^;N)){rsko+Uv*<2XR9Zpm$ z=TXBJxbTTL>x;>@6#W8t1@H`zyynU*l}b=~YZl(WG^vQ zztJ8m!&+@0%FBI_jQ4#%=4cNyg;SJab@G~0d1+C~Z|MssSwiV6#rXMD@HYpd&Y&|Z zF4Q9h=zKr(3}3Jx6iLE**c!td%4ECb2afOPJv2YE=ICEHbBYpk{|SlY&`$zm^9CHH zEqr3bDjdHFvDR@^R97Vz0b$5o!jHeGq z%$~EW_hm;JuF15mbWreDgU23d(hgUjM`MW51<}9Wq^JKQ?7di@J%sx`A42X25RmNu zLx&@0VD#U1HUI4X!@oTKp(f>28AS+j>=)@p*f$_-Or#wfd^cbfQxgGG>>v5uQ^i#hJvrU9Pmd2fdUt)kS4wP zHnhI(U+ahRzl@kuyvX$@WSN%a$;*Q5f2*G7_Y*bSk$LA{7e5A9k-QThAmKLIC(pIE zBtCG4+6V^pJ0uCo9>VP5>?4iQJ40)p5c7Wc4Z1=e>RFCkXvm@6-A(i{9OI3!vEZ7? zzphWwjFzAJ3Ad`#Y5z!?71|(SCd{Yn5GloQe>QA0(+U^epX=LjVIaD`d$wSlPMlk#I(3>b1uIQ zDjM4=uqJDD8iJ38F%)Mrzx6mYF-p#SXJ(dO#xIqGW>r0fl0&X1uE>11pad+Q%cZ%R&PKUB&D##P)n;`gSx{zuF>awNK+>s|{4NLNy2i|2@WbJCh) z0WP?DB4clfDjZ)NIH=17v1bn9wAsJ1ej#@4lgi()M3O3_-FHF1N_nF3Rh^u__`5^- z2J|ng>G(!L=;7#9Y}+qew|}DN=*RmeZ(p{B-l)kYe~@dKo2Y2f`~V%97mC3o4UkyU zNo=d5Eg+taHnmR!7q_oF;E8%8yMioR3H~t;S;uAopFr?mhk}oZv$KBRlSuBr2WfKu z4{xTLt%du4`)d9({15*!`G*qKb9odY)X&lyT3VT?5Kjymj0^CeQ5eI>D7B-S31Bvb zH?yuh$@3SsO*~}Jl>7mHY)V3M-atj)O+e(fFYyy~^$6b)3^^DW$UBZ8o#$)Y4djuJfFEUBDP9bJJRd)Y??SX(V zkdYuj#sjHsh~QGIt=@V z7Qx1GQ*2DOtZF!tNe>=QPJ4#DJyk~zVI@M3QEB%o`g*aHYE9M8SZ#0mhAon9m4#hWS=;|CzyrsJ+cRL$OG;e6Z$L1nlOk~q&^L9do6dYkH(hRPdUgN?L^B{Lw5}yP253s-lEjR;`{ugU+ z8I)O&Y>VPfSbjk~+MH}3B4?(XjH?(Wb)P2p4;b#zBOU%Nkrx^fjON%5rVlW*Z2pp>t4!Kiv>vg$ z+UOdw9Zj)VYrjUwL?;Z@P(oqWG39!~y9}s?8vXP?#Om_tyQg&!!uNThqj3MM{V}nC zJ@sFTSq%mNAou@4`&GZ}9~&2k|KkSumi>+I|M^Ch(%Sdg#GN37mK=nSILIk5s}+kP zgb+XuCN~kPq_6MhwqhAf-@YP!ZYjqzM0cfJft;`M4Co#AlKVg`zps!CW?|vtZrmZ8 z^Y?;1r@QMDLJve8mLOPtgzBKHq}bL-?|<~4x{X~^7tOOqt}Y(I0cQZ`N23@8Q%`R7ntgz%`*1jKj`1Z>Zji*659E;GCO&lDkfYrU4ORWD*j?5VQW+6$lPX z+P0N?E4Pv`?_nI0J82GIdxh#u&3aA?#&ZXi2~&m%y~m?Wgbao_Zq@RRJfI^*{bgbl zgVstn@nqb1l|E1()&xW3gMHZ-vVFfx7?+unJb)s{(^7crN9;-$(4#V|N^ z0(X|iSvM+mR)n&wyTac#c_qJ398pA2w3Y8Hx0g@TKgD017vy-5hS3JEl57D3=*baF zW@RlvfJ0g3A{rGx0`Tac@Uz^3yTX|+V~v-4N3-&rBD;LEbw-L(3SVoyN#-n+x~UGz zNRBH4m=VdT0>mW{hyXhUR6?`MH13qO3YsD+>80--iG_5|TccDp<(M#lFRAFurMn z8z|fF2jHhWk@YebsLIlmzy3QepiKsQX^31PBPt+%r zd#+|z956!`tHR@QcBs*4m&b8aNK|3(Dl|&LtoOnuUejHuv~NMBW;u+4(`CqF2d;OK$Ko!MxDJa#fnEABA+S8Xt-xSclS9|HpbEOLvF zs9=jaaeUKRYlI|rWw&LV3w8?2;beeSG4H=s!OoUNExRuW9daIIab@pLZqMiF!hc=6 z9A}*UhN?ZZ_9`=`)fpw6O^*dwH`oma!L?_;BGZQu(gg6dx$}0}vq|Y2x%w%M4ti|y zXZeT(cfVu-IzY{h`xj?Jut38L;#x6SQxkzApju^-AQZy7Fu|^HhX=&=lVRBXq~`-o z3A!+n;=sDp2Y67VMHq365MaR#3&GIo7$pRjgZW`Of{&5k|0oeBpRu8{(sa?pFU-VI zP~wNMptBLvhXgu{P;*;Lq7uhHxM|3Y5ftkS+0)cb$=v?jh#xc}PRB%SO_E1r*>esI zN49koEcT`YHTH6{mmo&(eCATaMlxnJqrW?GL$ee+96^8;B{88mj23HTiHmIkTqm#< z&ojn{+zfe4INcGWE^?V?lPpQF;7HkwCgJz=4c1FDKnPzOqsMT03_Mr_ zXYquj9Q z8YnA7;n5o$;P;g2J)-56o&HNoik0N?Bx-h*YUjJgTU_znx8v(r;OR$hzR7iHU!7LS_mZIl}V}?b6RGX9oWj9IQ zQas3ch{j~ARMqXBf_O>+)nRn|mpQd{aON0f&+0?>@m-V{{ho*jytAaF$enUAX{NH6$e+(9s-CxXOQcQ245X{G3V7t>iHaHz65n za18@QbJ#)8KL|n?1CUW8eI0nV9#??K7^s^o_4BXK+*M6I4ze)V zN@I9P-~q*h)+12&L;i0psVj0IZG3VWv6t$@YbKd^^n-D+bZJD9aM$Ce_afe#9s z?HLPFmW5H;g=Koj$A|XDxBEHBD6g=Yte`HYw=%y^%l8`{z=mPg;o~2c2&&Ef#c7^g zGgPqHwSP{fm6Q|f7>O3LIcXx4m&tM3g_5R@XRau20bUC!T^vMY$DG+~khDJ+KbAKb z4K?=l-<9|)MYyV$J@yuyp3gqxEJKv&NkYbi4T+=ZnpySRpppoVi~-@#pmMzjJgK)F ztjVt+QkC$E1J0~y%O)e2)6$~=YV@ztwube|mj~yU`LI$=J@6LH2(ir)4QjM-OJ+|_ z7dudXPaQj)8M@}bJ5?q8ewyVotKzSk>OBBuwE##aYch96`%oX6S75UUWI_x&VIEDM zp5WcP=lY=8zognllas2HkUEFbLiH3hS?RjW@N|d}^*K+(U%tg6SxnzrT~Gd0Cxv8K=G?XG-u)G4 zs8D`%LWn#{_SblZ(iTsdfFbh2CO;-Yw54h8m*cyp;w|d-fcu0%CirC4o ztrg_fRdtGq?lFb(FAc4ekKi7gxr`zCDbwA*D|k2i_}a*G4b_E<#J zjQ%un^>K|FSM+KLCT`!lq8`dBL)f7=BeV-k%ue~!|#? zRTro#AXx*=2-RH{RgaOmx!sxvq(^iK%<^~Py<;wd9cL))&vOjWMPk3sMIBJ3)mbh- z+^}Uj_6`e02Nf{Q+e^lo)K1ocYjYn)h1BiMjBs<;cfeScYmiq#IfurOSc)C+y}ui{rt8z$ZZKUg%@xhpy>5)!}Zs z_J^#H5q-M@g8PuTKxvyxAy@^j+jv3tvbDQm?L@Ka&cHJPmpsw%cF2LJn?xhe*&6;JYKA#_U)aJ2574MPRn3vw|g(Pw~Y*F!ld&9crU0>~E zJ?$?|ufZ4mnG3N|a*E*NQ<3@Nv<`Hz={ig8=q_e@*n%&`F%}lleygJBPAXGT7b%#V z!6I|V{tWJa{!MM$%?O=YgJ2>e2G)Q!vn~3>FtE?>tvj^T##7N+l?lTtade7A(BBFTXHHRFd;(YUY2VL{=^qPY1r&E^aFIb!DaxU5@%YbYyV zCv9>$@!gIUL(15Qro@X;5Egz9V6m<~#W`^!^+-{IYoV@)4$;J{n!b3Ks9EEz-(;aD zg~g_TlWw`IYpXX*f;Dt2rocu}rmMGBZtP#L@bW{xHYL#PLB&9KjlPex{5$GriRli~ zt4WYK8u5kG#0T&&1Q?@3Q+J ziy_F(iKc#(Cc45jBI-YSWKQt(2;RV&XR%mkyVc)ajPACEo}SX;_0YVhlfY|?Fk?Dj zUne(sOM{2hNefnZDW_f|i`K(5sEXU9D zPV#e?EW5H;^uR&+5G=b=XMqLC&_?0FDypqFZ2Qge`U?HRb#qPfP#*$L8~@SaLr$3bw6-A&Tjon0AC%%kQnYi}@@8I>@-Zl?qS zCD&{{c#uDjWbu~1PF8VVj)BL!b#yKkqknZe;cn)4~2btzEpKbaNkL+UvUf=!l__x>j-2P2-X| zFVeHW&LZ23#F*Hno4c#w6asyhj11q6ud@l4*zL z^JUcAp>*WwFils4UFDd|`E&!c^Tk2k@%{=olqZuthgwZTdxr$Wc!S@nGCmzxELK@9 zbpV?x@1?38zC(>;b{YI~bDKchx#dy2)8o(bpd!O9XB1aEfRQ@jual^BKB2XRv6Y*Oilrb%!UdJ-kUw{`if8ik4GBbIiDTv&}K~7`H7|qCRI+k`7 z$_{sWcN8y9J2TN;hu%Ua{NZE%D*HGCel6RRtFddRaCy4@@>~V@xA@#t6mQqcP}I!I z9WV8&Y^)gje4WVIuxGgZj190#ebdD>($07zgril?i%-F^>f-N_Sq_>9>vB|JPmj(0 z`)wm{8`3j%@5gJ8;H~$ow||Ligv|d{K>YTee#ITw{+%r>@ypQRA1Pn|2%rCp1^g}J z8{hK2@&DwD&VT2N!v49QbHZs1VgV|=o(&6Wx{?z{(#Q=3$NfD>iEE}cWKH6Yiq8Oo z$m@$2)GE$N%1 zGaBT3B7tJXqgWLUu(e*$&YS?Zs)zjcP#>?qo0jqNF|I_>I1bNF9`<$X*V38c zcEO^<%y})G2-Dee*}PDT*TuSd#=0O)Fl)xjk|(u@S!>DiaoL{b~zEl3q-WRE(;wXS7~nv(|o z$`~J?z3i8hFfTBLbVI+Rr=CA%85(Q4$2r8R(9^D~)|jmC);p(?C?WR|xi?66OxZ+{ z02Vi<7}pOGQRXPsMmBSfx(qZfWfAKHF?96&Q5)W(nhOVicwjHG`Pi#a$B$*nqG-W6VS zH zmD30`<39KIPWHT*QL^4`EPqbS4pQs8uUCh$2XFYX1%dXTp<6%pM+a4?(bLPOdR*dm zIBy5zbl|p%$B(dRkxe=Vav+N@#BlSIt7bB(D-JQ9EtCsVB9D7J9WPL?59a$J>JuEi zN`N_Y@4j$%xt)1Hx3t;JotN<|k_+T9){7NM)rACcx=|Yh#jfF4&15+I>1K1#$ac_? zZ!)*Q3|!=*B^c4%8I?PG?65-Uaa;p@)Lv+S)3Byykr9W+usp`33d|b!ndHG~b|*vX z-y1tYilNQHsYr`HXj>qml~%GoO|I*QHGbL>AU~mHPxprmu;C$$)N!cviP+M|LAf28 z@RYwEM?>z}9fnNiDR^U$*4Q&io9|6lkG5AcY8)o&hyeP-Fyje{71^jk*UF`17=p3e z()J8_fK-{ou2JTk5V0)5bSsEcK4}(HrQ~+W`p>R%KBJ5>v@gwg`A<}*VEP}a?pww; zzU6%*OHtnDw;b}v1>ZP_qXMgw6q$h(AWl^JBseM_$kea&A-SQaZ9y}e<;CBU)^x-l z)GT%)NIt&2xjH$p)tDT>FX{6jZv>|aKz203I1)DvV?J#gTjtq~lmQ{Zh z7MU~b!yRi9-x&l;Rc#VAH^a30p#+0NKWm)}`<3|nK-{*D)-E3KKhMq|9LXADr*L}q z3$pK)|AX)*0CNVJT1I0zn`&YSg=x&A^Zmk{w3uv@^zXA+ug_*9z??bnc3XWD^)&38<3rE96+|KK~> zfiJ!zviRn^SxMXnJqX0vh=V5xk5u9QF&uzd3!q`66?aky1%XvY`dg%e%sjMt?QX7m95 zvjPI!ZHFL##rfgB2L8X}J4Gc$T3c%qKmhpvn)|I_-|M~s2nT-k6ecGl3JZk^_4N)b zE+(Y#^+f+35Z{5CZ5QsRuLp*su$rTyjj^MPzP%9uzoE@9BYbfyeG?-EBYi_RyD=j! z006K$aUp&s*HuRqXiMZJl&;IEjG1ZgF1*WMSeBMBd39NQXXCB?$fm?4@Z|o*<25wp za>`;pWl9uDtE9>(O;MCh`FvF6-pCYH(24PEjj;XzcIH}GBYnu}EMOzc9S`nSmou*! zx|e5_c8Dyp>1i#TmsuWLZAY7&gY=Oa0Al^3BF$=}K_+BS{3&ok(cIo|;}#dO4UFxV ze$s-V2fu|l(4MWTK6`Co1TlyMAA3LXtbuui#(!wY>S(UpU#BdZe~b$S{r^h8AKGD3}83;S(oxbe)0ojgtLaQOXBys z=yF4qh|&VjJmGw1x4IqfPJOuOyo_Apo#J%^#N+oUA60N64=#oqb4pR*;ihq+hZjvh z*emJS`2ILqhbX-L3-8Y zH?*o>KD(h@R5yzr%rpjkX%xlg>5Ktj#H6@fEUtgWn7z?@kp@+db=(1+z4L+nWoGPh zHbBEU9+Iw~>YN7gd+mN|4*AP-uFlIUK>4uQSN^6n-6IagQ&)vNUXonKwJ7cn;D z0;kJ{n1ulztBu-P4Ga%t@#f^SriMf;LqH^i)HQPujwI%{Ws zY2u+AO<_Gn!Ym_aYZMwjPDY^aW0og}Cb>I%^>YO7t6+OR$@qt+kUk6f%I|w@3LSR>Rj9KN8M@WnqpaKLozbWxZhJ4+Bp2Bp6uzNw2KC}G zdMBeoUozTRDFbsZS*QKZQnO^%;>X8b&Fp1txn7Vrqsy|In5m(x`o{Nds2O9qMC4y7 zf>u0|4*tCoVH^Uj@iC37NWN)G*g}N?3E0V8e$*but9Gqx>1z2rC)f?2meC4qUNYGkObH+Uq& zYujY?#=)ersFeEY(3cqGMgtmTpjKl~kBGBGIEL&uj*RWAfH-5)C-!_^+izJ@O)AbvOOyQQ$e|Ug$hae}a-6 zt=a!XK$_ZI1XkZ?_@s`?l%PXb>x@3ArWK{bgN5_NkP2OKG-nPSHmoV7463GRG0m$y zu5FN01Z!Jes|EC!pT~J^U8uJ-!>(z;l#Tf>=|XEiI&mozNN2&Yi|BFK?P4*FEm=q( zp|JR6vi3=ArMSb$xsb2=?=-T|NTSWJTP}ye0BwYe_L7XrT~;unI2bR@*_@|qNTJu9 z`PkKn>Xl>&w73qWx;;3b#qi4C8;(ha)uchR;k`2?U+t-3_FlT8!&YneKc<2$E6nSf zzZqNc|JBoDd^@W7I4IFwUaIf%n0Y^!U45FUa!5l`wI9Mr+!^MHS$_fd1N8}MEJd;R zD9iUYq`$Gtp<%0~_q+OdyGx*h>$bD>(OhEXwtr9_5IawN;s7l>Mtzn8qAC_|INjsX z{2=QEFah4TP52x&ZFlfI;eB)c( zH?kC^ZRYvlz2@mUs`D0R6>@2aDd1BOp<~DUP*MQMpyf71c6@uy+YE(@xJ`P6pJT{6cletPwlh9l9!|8h6OJZ(ujY zqQ3)JM|I{!m92(5Wdt;)b4XV0rrLYB32FT;bl5|%V`>W)xTa1niv&}vP@4LB3~KF< zZHQ=4<@%y`$Fe^3wWW<0-yVp|%mQ}6y}H8${RTp`%VXqlGympSt9VIZkgqQ;2nYZu za0)4q3DNGTuh)z(P5igEtD>X6wV}Sf;eV=w^eyNc-$K99qz37#q>A!k!>CCL2LUXO z)h-XioE96|m?WSkF-mAASWM4{2~|Abc;UW6*)yq$JCh1w&X}G;X7H8hnNlupJH+aJz%2>&hkV-RKsi+nc#y`LO zoW&xJq@2jh7ziXEG+Yj)xG_!^8%Vd%=R*|B)0jf@`s%v6wT7Yw>&Y{wG3=@oS?lMN zdWs-7RHQb_hfkV+jm!LwLtavJZ?Qfhs-;hht|-oy8EPbE=e3GWeIdkwu~OqiZWCaU zo)W8rLux0OiPC)Y=FYnxoTu=6MpczyBI0a${5@A3tmZQl9ZmD<+-P%gZeB~cDi>-h z$lQ@&J^E8hCNnFNJ9 z9MMxvpS;i2>|2dgp%RW1rX$a1DMwVPBMf<+>;rC|4l=T&%tWCOw5qcaRf#3w3x+Zg z7ienom93!c)^>2epz}S~P=K0fn}41|>2VgBQYo|LY~<;YjneV3B+My5`k}HGGsahy zcV0+<0xwHD=@nN=k7p07E7-^QKSNxdQG!ClLu{L?1k;+V#`E;}Mg$T)(&WY$p64Br2%v%9p?D%o9HgVmG0Bnfl-eaxpe92!uu8bACiqWQ(FUPV zA+3oh3`?>RuxeQXTg12%G2`JM7{O@R6*x5ZP!&l-MfdQIUG=DjBXB2Io@^TrmgfRD zvAw`f)jqFG7HCHC#r2$@! zWYO?1L-Ph0S@U^|2ld%2QAP%vRohxze2|;V%*#lF0j@cCmqiQY6Am4DRIa?FAf5Xp z*5^lY0mhsXT{+ck;UVvAB04#Hss7?paRg>Wc_j;lo&+K9uFo%LxL{xw z0`$uZ@V!KdxSd!%j&K8xJMfp>B6AcwmgcrTB$+C>U{`?kY}PCRaJvKEp5&h@v61J& zdC>_bJpM8E5u^3^eg{zvBW}g${!i#UJ0l}yaBWG9;$BcWg=_X@b&djCbb!6_J(Y75 z6GgwdBDsLtJ^`mUupUmHrebE~63O9EUmwE;bK05St~m99uU)3iic(2nxk&U!q( zTb1Nly2EQ;uUY#26rxZ(fwu~!6p&Bb{iF*JUr5YxitltimGPPN{HgZd=y-dirI4P%?E=AgWR z`j7yh3?-Z|O~t8iN^}4}aYEv*BdttWekxs2^UehXivVDhgb2rTP?!nvIpFU2mC6Yf z<;Do+cs9k^OG0`a3dK?G-ca<@0Tsgf^a&fhRwJ_=Z83tP$WKY(ek>UDa|utH_-}n^ z+(lsekud$dFEVI*5^Jd@LDCNHi-ys_DbfTwYin?RR!Qa;c_=()UyM^~P;agz#2k1| z+)28dk(8|=c`M`JT9kY`<%?c?C>>=OoY7&QZW#f6P&0_R^CVJ_FxBxJVyZ329TZ=!#GQ<6h-l%sL26l-Tt#G(O>p8s;)KQvTeA z)JDd-3eHBuy225bJVU3w*6^?}o5`=d6$@`#zKUHqP;jG~u)?26F#vtn4uGx|zwo!V z9x+Z=Pj{)s{Y8}ZIQO!7W#<^2K{kiujjRc#BC}V&cMNTnAz%sho`4QhlR3B<-{tkp z%_3F!MEnpEvl~BK?taNELK;`N*e*A&V`SQtSIZ~?lIF$_t~Q$|j{T!WYDYMsl}GC` zZ4lN{yQr}`>K8;MX%=0cX$^r-H3{chE$->8c+XlLpsE3pg5!&k;p4gCb(Y~Rw;_#( zet{9y`37;9Pt7DOfeGt;rNA_scar@u!rkZ!jVrs+8kK4F@{vtnl@LNJY{z-3i0MAJ z&6B>PEV96E!k~4T@6cHj3VdNM)@^RWGo$Jur&ih{N7}1an(oPXB}ZCI2V>88(z83+ zEv@RI>K;oFv8Pp9?7Iv>hjvh>wG4rHNo<8y&^mibY^367Y(?zS48@==)XF90K5X?5 z?rlR{C!_8kHjer{XNEFuj9Wn++Nn0Sj99dj{2!r>X{=)!0Dp_^;P@2}_>58|*nUQ_ z$`AD{Qk?U}HFBuCQJ;7FBY_!`0MX35E-`O11%+tfZQm=DF&a8C{`o2$Fnb*~8x}TO zz?7nf?~2p6t?%E1Mi6-ljgP)R^D5Abo3gaQZ+^W=`=@QGf5+Hg1FY;&p^-?7w%B?? z(Q9ZS;inU(tkm8ZMwkCha>l4KtEAW8N=++p*E-mocw6NCPf_yYC$qA>21BHlhB?ve zyIwobW;(9fL*BMk)wWd+kgod=jmsdb>|}RYhhvBNr+!G!BA|CF*=khz0oduu4o^{42PH(qH(_!+RV@C%q9&)GGr z@decaNizrAA*jr&X<1G{wdoR|j&H@Pft)h!kmDjpur7W=|MRym1rxj+%U4na{nsG= zcNW(Fl$-sBFY|l;H@???1CSnc=H>q{Una=!|Mq1zs&Lz2DwF2LW8ozNKtPf0Fp1OU@cF%g0+AuagaMT(APJF?!(xFLi20*! zJ5OC*j5k@2x>-A-30If9AHEDXhfD6u^;>EI2uI$Y8!Fw8OcgO=M)4}0jJsUoGDrO& z*S(kCPH(GyU34~v4y!K3;rP2BycanNYtX}~4iah5P32|Ss!EF}?3dyYafoO860H8s zO33y_>1(ei>B;XEB6Cx7p^jBzY?7Otzr}t^Yn7{?JK0JWo+ z$KB4-d4+x+>}wbRhW462Rq(OlhwiW+_b0NjfK_yJC&!TymWC9nq5;m?LINuTfR5+Qg2Lz>F$i z;ExMCk}mPGx0;Y&^1I~3P;TYLwJ4_)B!QYO2XspKF)4FDEG1}h!RQH8?0vOabJYFE zYGrKe9ci1jJp4g5yqOV@Pjta89TYKF_;4#JNJ)tAK_OcBjA(PLs}=i$4v*G z%ENPkZY~Ay=ax01dL~y}kzWY{m9D2U;w{!zBg9DV%%-7O5j_$l8c!My0w@&Wub|^P z4%0qa0e=fl-R4$~8%ragSk3>?KZPWtD9xtj6oEfD?&(~00fe_EjIDyh^%4jAdT5C$ z|ABBq-@u-^UQrlBOcI)Q|6LRV07!R(Dme?v08A|Oyh8}(+i}N8v_mifbGdiDO)Sne zFoq#0#*qjv?I3u^fp%izT_lzHg17l9l+;aEvwbNH?f?-^!*00O4h;mUV{P#d9_ zWq~D3K&+Fq`Zr0hDao?s14(J+B*Us|hktZExLG9c^PQX}R_E)m&n|~`b%qMIXTuJy z^7NRSjDmkUi3h9)zK<5f1C7V~)^t={K5D4>8_AgLY1z>+`4q8yfWH#c7#EhM?;ot# zv-B&U?WL8@`j6L*tUoOwk5ky10T-Hbfxh-a(QXjAu;tgWz-Q6^mIUOKR0Buq1c2H6 zx9lj#3oC>_2xb6h0MK8R|H3Ps517c(P5#!RHHCncEoO3y%35|{Y-Fo5Gv9Nt-j%lg z+X%1)5M+|dIL4!m@i_6Jb3GR)c+2dsZ0Qgm7KXujkG0_%8xaRX`>YUe5pS(D3!ZDj zoejRMvWrgny5j(M&iS}&5Ybr2l25Q6J5^~n3Nn0%%71CEa)h<5#y)bgJ#aKnG|wz* zUn}QtOI5>lKZ^d~x%)Om)#xWzOID4U$>a>Bxl( z;~A(i3Y-3MF&6MX0rz+m4Kr+Xd8wJfyu2D+uD{{XByocNrjzdI1G&%{j-|WdVQ4%O zyM1A>A~2KmkOFtH<#3ob0PgMMXs7E@ypjIc7p6g>yd=^RvF;r4MknWjJ8;j#!5-vd z^ReZFvg`f1c9R1D3_#=DC`jbOqV`Re|7T~{5HLuhDl7m%^w%KxcT{Ztb$#O>Jp4WR z8{Z4Rp{?S^hWr<;c}i^@b$GejY zSL=F1@n&(u6e~)hWbgJCkI$#9Bla!!Bah8n@1ysRr);{p{xcx55PEQ6U|_PRZ;|HVSqtJ)ipsNuf4#2P#8 zyf=Lyo(G0RU`o>ybWlv7gN)`?q|-d|IYa%?h1skJkhSy|KEw|O-KPo0Y`^#sfI9CkU(3GIcS8C6sQ=b@C1DzwnMY>wISy&Lq6b;uS6FG29x9=FN> zBX&a|7qLg_Wm;r6YpMOD_f7NL&)P!MT^Ma~t<0R8Gc7HqD3glnSlNtF^iPM&xygo7 zmQ6d2mh`4rCeJZZ&z+OLw((ZfuP|WgbH%^VYAYt+olen>M)zqPHeL_6JOHu64 zqr+jLmCpUuqo(ClT1O`^z}KdwB;K=qaonrJeARh`0_6sr2c0ykLVy3Yjr(rI9DF@LI3#Si5Uo2UDdz9UgL(V=ePWx~EVv#3)$0n8a< zG5bQM5JqA%#JAZ%soIJFTnV-f3khX_(j}XpJaO1?C3<$AiiTt{k2&>*Cw5h;65YN5Ibat~eixacGAemQvxdB@fP$eO zEe+~4x0H0JoI{50YKVMk-E!n{{aZK_9MD&lV})6f!i63FBzDTRHr1bS?bv`7LFp!5 zx#kqrASoMl=vSsPdUN7chqAXqA#e`Q@V8^ix6v<{P2kA{LqH7}`W+I}{=L{>1fK5> zm3_eF&Aav$Yh?!mUFPcDUL?5kY!5AXZfJfrS|MwctT6!aa-k89e;Y9KGRhX90*rnIUIRA`HC7Ue5uRGtg5c<9TApYBI% zEf(pwbNR3*0sWUB|A}blDmE5A2p$ErhtH)ozP+78OCF=TlG-OSb|mBl(N@S!m+K5K z-p36_>v{=@`yDddyE|5wWqO4!G#51JWBARW=jiVG^Acb8%|?0TWm_ndS4*59;RElM z?#6&wfp-=~^a{H1;r8~A$h*JbEDxKDY9!S(i4xMsXQ^EgfW>cel2tO(*~Lb+>cW4}geq5QD+J3nC+6IjeS& zVN*U4?BW-9z=V^lV>4h>Kylg(=G+lmWs5gmJNGd#L!V-*a8qyE>+5PNTPyc_bAwTG z?+DVE_7Lm`wp9mR;;3^Up;WaSJj)+Vz9Tn=^qUz)CSBDwh8BxGP9E%pyziL7zV%+@ z(sR}Yzfb5su5{Vs_T|EAm_JwKx}wxMrH=L;EqxNIBj=6n4saz8p%OOoYI0x^T~Bj| z+yy_+kFpiOB`vUeyS(kSlFaLetI{UVTE_){y_V_-Fs{<&z5pi zR|*VvBiUIsogPRkc*W*XdFES_1$kuiFn;=n6olZXj2N8!GTT6%tMo*LjDpcVyY*I8 zeNUn~>)^~Q!(GZoo(1quUdmh0f`u|GADt0x7z#n&0`g9KZC+>t1u%sYo;nhm@rf`S zV_{h&b3D0~$XDu%{#ZfJsRYj;6N^ZMY_1cwH7xu6ci+E3c*fxF>;tBbl$NBX2C zQE#k#|Em6^_9Q7GNYaj0=aye}5**}grEUl6h<~h8^$B&zV72NOSs?k6K{7E%1>IoLH=XJTA)a;Cc0 z1vJ6IIYnw98$kRashk5+-3A>CpNIS45U^f-0cZvrp}e_F`7wH(bJ9)fpJ~do!Dd@j zYm2f&d&}@5!{%_{deswt(*V7>H$CUii6U5HtiG0gz|7tv6&%|>}Q$IRb;ZirU2eqlS(qHFG!~j%?1=tI~Q+99%{Y1RxjKL zC$W~%(iS~r&a--~{CK>s8I-(xF#jX{n~sUC5!ZCJRNy2w^n!AM1nsY6G8FGlUOsuK zhtvdGyIZ}E6<~o8QGs{fyRtesDPE%zIPA|>kZ>rgz)B&v!Tn&+4}o(0hw;dn|7>vYP=M+ zlsPzXd8xc2ov_W4^S|p z^ErcCMhfgw5s{=5>4Y2eRAM!T5&OXRzP*Rdb2#yJk+ruLmLhNHt+;cj241I;D~16d zBlH_oEUUU#<g@TqTHw*i%Gvpw0t3NcYljtW92~dd93Qkuc}d< zezm@&B9)WxWY!sBe__0r`I&S$*n;H~8BA?gl#pJWBPwTzTiT87RtzLFx$OqUWpRuK z1gm@OmRfmfjyUAN7@V$TiGtDb`4w4;8DfAjor)R1n#INm=keEma(pGsNJPdEz2por zrG>pJF~D9jPc+Y5(llsGH*4u4m!2V^PZf4^L%yIt_^a7^aVJXs_e3tTvCJW)e^A0v zxVD`|1GN%i5XE3z>Li@1xdFO#{$<|RQ1J+HR@~1Z!~FumA1GaQ2~!}m$3|*hDlgDX z!5oI}!Kk?elBX1%LM^uh^}G(q?a$yZ!v}nUO-MtLD?E}pxM35#fIUTx_9C9UPVW!pwol7D$sm#lsi(=h1D zV+k3PO2YDBOIYN(B`t$pgp!s%lwd&b(vpl05qd_A+N{o+;mAo}*bdO{iOvtQJCMll zSE?5V-(>Do22a=@fnF=vUL}GJ7IqhE> z4aO@t;KX}5J`%KY@6;O0{l5BguCu?9?cF)cgmHSiJ}kUN?n>yeggcn(~OCM zIs7LG006_+ApLiinw8tXxXr#-eB*odHvkzxreFUr+-AT}|LqYgN_LS_lt&)MLJH5< z)3WpHlfP<$2%@A^Dj1?4uN;+&4IQ?^4zm-I)|%sG77-?57*1l_jRZqO=nD;>Lu?XK zVs1ra#2RS`nsKl(v)Tca&&Zrz^VodPy3KN!5hO(;Qa{AeVdfGgx9oqb` zM63>Km98v4{88R$hWfI(&B@_bF)1C2dN6L<%9*x4w!X#?=O)Nb9QULc9=03cSV4YMqVDf>M9FzEZ+FZ9(F1nLv}z{ zA;(-ec5Uib=<5_v-3p7k$8EDjF7kjy^PvnlU3#YzV^=xH$t}^0XqvVW`8B=ZraA;V z%B^1~t2hvu^iy$*vkYUT>atFq$I>r#VmA?&1;t;Ny@emIT04QHrKMe8KbUTABChw< zNho!?1cinfHy=%ItaH;n>Clq5x6`P|z20D)oQx|s>)`^#aaA(B(}@!zQSulS$ZJlk~ zwr$(CZQHhO+qUt}Kj=xvn{`BwZbsBBb6S=4Mdn(AviE4Ty1mh3RmTtorcC6W3k|1b z73F~fY}sh-l@hiI&oJV9evl#W*mnCD(m6Xt6o14sM2@i8kJTDyC!#&|yp(3Vr%!C( zl#~Nwm6x}Aynn}iWwTmiCdCd%h##TnBCo(Wfzv`djzG0Ovp;1YbWAO|^3GZiP$NN6 zl5gdtSR7gcxQgYZCO&}mFrW)j9RX^#jE4W(O-aG7#W^Bx13f{6XCDKcjlF)x;<4xY z{@FK={3mr1!0HVN7M**sV2r)T#wu)tunA~Nhf*M_haDm!b?W!r8S8MWUsQ?HN4zPV z&JrhNtn^io5K8X*j_Ft)sR3A~D*WQ7ks9vk^wzb!`A+g!gv;l3gL!aTRllu)sV6$4 z6G-4m0$w*jr_l@(JSky#1h$OJH1x z&mO5{k&DtI=x1xzpl){P7ZbH@mjQAO7{$2oMGRPxys`Ar%R<0i-17qjH5P6u*CaonsLH#G(Ih+{nsS-^kp?l-AVT6b@HN?3rNM}CxHVo{>0sII=wtmrajWwKSz#9Cg-Wz)%Zc#--o#D({A^?A>8>zT8A z>pt_?Wy?(piz34R*9T7BpMPa_l>lChpWkoTfFWJViZxTD@ZPN}CI&XF`?$9U1?%&@ z+|0?rik@+7T;K5$E!Rwg);}k+G4XHF=`Arbe3~$_0BnNTOdCDZ^k(K? zf|)n#!?YTNrGdbGQ~6v0KK6O>p=gbbS^@ zrN1||Ymtq#dPiS6xl#41OFM%5!D-u*==xRm0}ss0)mm>u9S?#d^(9r>fn2PB9lsop zOs|35V(+GTm*6&4P%akc>cyEzy6{uZ`vgW0{KC@K>|-jb%MBCz)z)C>OJyOD#} zMdfVLVaEgn&bhDFmsbu9G;8U=6qV4#A<9bD2oWS8DlU+W8tR*QlmO+?nC1m= zNo>IsmNV(^zGJF?1n;S@;i=9szNFL*C z*m#-JJG6opiBl8{H#|jrE{w|Lv9dEXU^OtH;3mJfd@!7u1|(D+_sxR{?s9)`5xGb@**h?ooTbb{SS zjrX9qyLhS4)4HDYK~<*-)_d-buNrbR+B-I#8!E2YAD_~pSmQ?vBH;NUAjiw6;u&S2 zEGjN5Fpq=PrLKbuP=n!_weJ2?w|md*RyiMj~R; zBD}hl%qdc{7RhERWYBz{>`E5*mvN0x7JGR~!I=ss;j+l)hX#=38?Ge8b)tblgepP` z8JffOlnZq#*>?t5%#uvH>jxA}nVi{3nxC~DE@;m4p*0cm4v!D~GfU*bkbG``K%hJF z?~ai^5q%qo5L)*RF}dsKqmX+|D?8-xTh>VKXqlM5>xmJ{_k9HsY6&@spe((eHvPD^ znRT(|zoM;eK13F?S9f#!i#escpDjgZ0;(9fEq%p}q0k_K!VieyBPV$P$b*%gfgsE6 z`R2Crj>$8e=R-6cXY7+HD!UuoCezF>%X$_rLF8y*)WGP_I4wjzL`Mq>_Fu_x`|>go zb=O<#zBDLyB6t8LE}vG9GDAiadv-YspLJ!HcWuPF-i#t=V1B9Dj5^Ep`YbXf*IFO$ zwBlE18>oEWVNo)I91*h$^!$OXU^U?35`vXD5ol5kE&_xlYKRp3%gj_b%{7cRR+t5M zhFy?a3O5ppZ(CTHRi9l?Ei-CXu)wRgB;G{u`tn@aB<}lodwx_S`bHvo=39P(G2*BB z-CLhsFMhOfbB%I&ZrOXE)1X+x22=YH71ilZ2T5Isw?46bUGVAbLeRKL7J9xJ0x*>2 z6I3Q91^%$R)gRI85=JNom))di9Hor8F2rqV;^c!n$2ElyG=T7Z z+^AcKe@vo=j>R3H=0@4%ze8_|EZEGi9}%@J0^}0yiHkv}bF0cLDAEkCR5IbvF{j9v z-LVRCL3eNr)4Z&g-AFoo+(s70K{$JK7dqXFJ1^-F(L^{4g~TKfh!Uyny6rj0-N$RcnZWn zHABHb7+6M~U>|;kFSa~lN|!DiLtt;s!I!qgcb_>EB;bL=;%y%@a1B&Dbj;L^qLV%9Cj3c|YnU~_Lpc2b3 zTh4cRz?cdQDsV`v$tdi`+FKq)G!2^LA`&* zEPbpA>d-Ksqz`}~5R}Ggm79lzquz-VoeW6Q z6LDKUL7`VyicDJAL?-;%f*I)a{FAhUjQ1U2w;vjo$3qX@w%)0Ivd5XWQ%iPI6PNEK(=*IL5=%OxJ3?EJuvrCZ`@#B=BvWKOv+M24AM4T+3U#fe<(8M!}{RmI21t zk|gW3p&X|C;lzTFlcsd~{tUe;fQLhxRJCq4kk-#|D zEJ4bNMQS%;8E^pvBmkTzzzt%G%|ZxRLd2r=J%BrfLXZ>lBSJF6B9a`T_prH=Al3*FaX_#C+qp&D6; zn)H?ashBj#smmm)2k8M%MyF#-vQSX^)AqNK$aHuCrV?ue>td;t&94SS`+kog>ctRm z@B7|zbiugAv=Y=(P%HWzstr3}m#p{otYqhJCyW5LT@TX>!A5g`HRXO#F-cjioMeiq5dgmwqMTGdv8ZC)2ojP`>S@9a{1fsM zGKG8yU90Xw)z@ZvVf7r*1=aN=e*9FzPnr+APNG(_S)xb!4UC+ay0oh-Ti$FTJ^oAT z55>0yxI892wj3mNg(@BVt}X7-pJc>IYAKc&`WfaJW>{W5EO{U&GEmayd~zj-oK-pi zi7@*hG)Zo>jm+bWcD5;2^m`Ka2tKsLS(WFtgQT9=3qzU-Is1RG~ zi8T_2aRzOM``9WnoW{_`%qwS=kKS#i^4q1CCEjx4@{{tu^84fl3)o4sNseTfWGKm~ zm7^7rmCKdf$tUIdM&rht_C^k{s$NmueYEH7c%5s!m03YFFSK#?boOrcHFgX3^Qzyq zI;Lx;QKncXS#{A&nr3~?zNXk_S#6cV^Dce zZ;^Hp;ZM?{ z^~$vlkw2HMO-&WUst@fUZlhii+>JZtdhZ1+g^u(s|HdzB&6Uq+%^{o1n)+C-Gw3e( zLRdqXte>R3LEBKWe<)8J{m&89I(SO?2UP#CXT~((&I1cm_P- zbyl^u$U6nRQse1nUp7r|3}Fckr%yD+>1y*jDN6kjzlOOcq4+=aJ z+c}iGXssrL@N{tcuy^Jf&q`Rdt=XHgRi$QDNYSCqI24ff5D#t%zeNgQRj?;lcrl#X z@B*tzU4wl|vwsRXqPtf;nLZ^zB;m}V)6t~yRw9|>E0P6LIYH#%E!G{ancX0`E5yXb zC<+Y9(`wUNpv-+Nb&$c(g_jr4>hI*A=%MRT86uoy)M$3g@=>8?$R-pxEz@1Uqd()l zQ=$kafj}(#S=HHY)Wp(`rOBlUa=CGgao1%JV)NRiFw`m*M5hjGdQSdnPoSiD7;$6u69UrEUJSWA^o;wcfxjl+wnxb7pdk{HKMq113n}^>EJ{6ChD3F zKGc4VdZ^|ueVg$#&t8mKpjBJf2)Cj!X?;j}-r<2$o9fT)FGU*rcy^C)A0M;IsEbRN z&iXq$b1>of>IwgY=7EP3jxkfcKd`&*)fA_wsoTkfk)~7XySuMczyA1MoT6haKUq9_ zn0dJAi1UKeDKM9uX<~P5>b&D%x$5{+dd_uSM_Pln_4*`uo2Y;KPX&qnh7BBz8S~&U zq-XV0)i?5X%k|U~w*g3AS8pQnar0sG=%OwTNW`DBRUz-h^WA#6tKjsXd;GFp3&j8- zZq(a}VY0?04hn zfScFbjL8q9AiqaxSL&tV@$k*k)0Nr$_C-q*wMA)#>K@5m=icIxIrIIO#J)5E3!O^e zHu%S7f8f^4m(eTB(S75Qf7Vg&LBg1jf;ue3Smf95+HcJ-TKs5kb4Cf z3Zvc$u_V{es#b1UXjohfhs#?_Pi3R^i+`=y5t9v0yp{G|n_};F0V5#f)9|(MQ6Z4h z7?$W2Ko}N&$@*fG?&?u){UA`v`sePPb06}#o07o(>~3sxTft1s^6*(hgEhXcIZB~r z#GtqXt^dy9hVyv6!$l(GYJRQN*1P2GWoM*)ioIqUKJewKX2m z!#c8?%i*G0Ci$V9B3aLsh{tH6<`g;P?SFYJfAF-*6rzf8GK=(OW!D~e47V*Z8&p{t ztWH|Yb*enkfHE3Lkn)ZF>&w&2;G7fgm?xG$YbejhC@ImAK+l2R6K+io8h}uHUPzhQ z62vr;-|B6yV3ojR*M0PHv%R=FM1i68ghpr^<-rr^lJm-nxBcAw>1ARy={TBDn$rA* z$-W-zM*(=Ws9BSEzYWy#Y|~2-2qG}pS?lSo?lXUZ**k7@xK|tDcmMHZu`Rq?A$hY@ z4yIkpUQq_Qf?GZwgn@>VII{s}-kDQj>u%xcUn_Dw3=+s@>OZ@@oqaEgD|>%!k8t}P zm4Mjy+25<_qq$P7jB&iGsZP?;Bn_F)d`U(Rc>x_cM+Kj(v|N!DSk%f`Dx1B^W=5f? z4qN7r{@^Kt#;Axu$>KbFq=D33u`n8gFchpN)oRU6!T_syUn)=@iPl>*f=riI=0Ba| z%b|Fcanc-^;2v6&nao%QE;=>S1bVW56)+v5rC)qO%Bo%(Ut?Ve6V+43UERA=pGw3C zbW2D1Q`>6`@$}s$wI|aT3v9i(Edia_YE_a$RZ}-b&e&L?A>VRlREGo0S$SAsp2YMu zus&VmB6g-^QJF#04cvebQDL?gV%+&8ah2<4Og;|qWYcC;2^|lF`XK%iJjCSArL1N^ zTd$9cKA*D!8GV748850iismf)(ZYqRY=j<%(8LgzbGvQ}7^7MYCk#IFNP2dRLIp^v zrsM9DvMnG3!P%4W=cd9q20CAyMA$AJcpZ=Mz=&7A!0_HNfifl>1=DfuuGw4+SUvqZ zwr0C@W?k2Mc=J>e%Dy14913{-T1xYAmt=BcmqKkgNaTdH8E(>A8Pd*)5GZ2l!&u*& zIlR)SmhEC_z(~Fx{Lr=)BR@q!O^oK){Mt>A1}26%8=`g`XiDz{)4i|!dy^;M*WFOY zcGKk2*yEBF$bHszg?5!G(s^1NtoQ17( z(8_P)yWXjfIy7tS^v$w1s#WFhb#?gGq}A{(?eMG^E({o8$bg?scA!pA`k{gG27{Uk zY%4>yFGuMw6Js^s)rIkLZAvW9M!72{1P;#P<3Mla?D+!SgE~NT(nEx-CKNm1Q4-Ox zSZH@G_2|I-Kp~B5X0KL;gzo4!YN+p9jB?Y1-UmHd^YdT(za}_&N9m*nR+%=JBV39S zJ^2Tfc0$C<7FjCZ(42Y&d)cNucG;!{M-C~kE&va!V@uWPbPDkCsq?KAg70kRPzBSA zt$N}tD^*UuCi1=a6+@h8=1RMXOgTyJO^l1|PEf>_*u70~PwQRhrra$TPOm&O*{fUa z|GF#p_R;i-#ctBg#!+%be6CP}+Vn*M;8zs>l|%-yfhIU_c$rx0JP83h+Y=eF{=qov zJIt1g$9xwdb?m^ij zFKj+ltA$cqDP~u*(EQX0fYT4sQgy!cOyPKzUgG0$t$2^HyxfU>!Rv)SxapQFboSQV zyfBQ#P|>TzeuaAyw7tsMu})&WDda*0GHohs3@h(9nkx^4ACJ%dexY0Rof0b=@)`y{ z=je4|rH6Ek@MYRi8Tsd7F`-lttpG_}CpMxd-7|AJCT5>KObjjiXtuuYahW-O`L;nv zfw9e9L8xy`fmdNwPz^f&3n{h z*R?hf&bo5}Q#Uw{Yvq1+2K?&4X5E2dU&qA?7sm>^(J5F}hH{#6`wn1Jb4hG;QV65Q zE&8J-^!Rq+`*u6O&r#T5sVEd+u<62Zon5*wImf}!v;ZR+DL)C8&L)w1Kg(~6A*4hM zrO{YfyV_4F=(pbm+N~?E)hR0QIfxG`@8uF)c;t_y8$gYiGNYRXW>t3YbBo)DQiGDW z^MG!*LhtLB>9XywQo)Exp5;+KV0{K(pwGE!Rf5yb&Ap#9!=#L6yjPl`RHCQ|O10-t zTd@^2f9WCm{b}Ne>}3SuK|Gxr{Jo?bo)tszosgWcf(ns&X(~A8w~2;U2*p+adHCOy zxr6mfp30-W!};If>0eRM`q$8qZZkjdpPj+^M|U=YufAq1;hhHuwo(9=Nanaseg!b9 zl4M~LFW#|#I`u}{PQI(Z6GgO0Bj>ejLikCgxe#hDC&3SGCY#<)XI_h55G%CaZ4u`-Uz`yc8nc4jfX_qhw;Xp0X5MnO*Z? z*mY+*FJq|}$aVAdczw;!Q=uF5^*O#H!m5Y9khp-gt_mwS2&Nf7WfxFw;Uley2WR>` z-)eqY%9|Tp6Z~9EOU9i@w%f-!v=>N>-n%Mvcj~(mmzfkP4%>%sE_w8A^8hB33xVVV z7}9%J;_2iM$+G)X0*4Mj18DlDA3}E2bZF6Q%3`Bi_|{~7z1D60tcV6`35I1}Z3VSH zC4}@YnR%H|U=0FY7VWH^VV4mmJlYERg$_v`)*mbtL){!=+0`^ozNzA=*)%|A@xG>d z_WWBKfS!76LpNt-eUoO#`d{yMC*cAO*4EZXLzq^TxVl$T4jnKNhzY^-mTs_$eTK*D zLihBCdx|BhLb+j(4h zzzt06>R_;YUY>`dnnr3zpe-eg+Wpqt6hXe^n$0X^h!&WlIo~~(l{mG zTyrdYypTaqN7a^;>vwCGl$4E-n}@ziBsW$%iQUNDJrsr2X-fqM1>PcgsWSv?bzLs4 z^+_6&QB&=xb4^j&WW--SXuVZl9jP=EFGczcOOkBz9kS1_i|j*^lIhzRT9Qo;HrFH=NddafnL1L(|tjN4!)WVe#j}fk@1;Wv4}LnhJex-E+xY(JQdvBiHjn z=0cthznj3c#1n~1--YJYN%ggT7BdW(#^O?s+0JY}p&H7YylwwOVs}baV~{LdjDqzC z-AGF{G*Y2i8W)9A(iR>R2=itaD0=v+)@K<&jkR*C9X@M9!4VCwuU?jM5vrOYkf!y5 zyVif_T1FqKh=#rEjA$SQv%XQ}l~z#v*yIp&#;y)mPM4EVgLOo?yWz#Yx$X{sr+9^1 z(w&<`>#-KCp{%_iL{`@cAF`xTOb!xEuR!6MMIgRL-QI0L<`xWqEWA6TWmH2`?AKdO z=j~W44tC)<2LCJOa-xvAPTYea2+jPgI<5&R5`6#lQI1@Cp`v{0)91RS6n*&*8ngE@ zDQ5fAp&m9X`44f~vz2X`G1n=M-1nFTtrpJ=7el=0>I-6JKzWc&pQi7zcjBur-?lfF z&R6YIn)4`lx@j9Qvdth+w&EM=5Ngd||CPDnR6h{9f}(AJU0*Bd zQo;-5Kbrl0-`V}9wOTgs(;M47u397_oU)AU0q~;geMvx1VsM-ZAiD4;A&R`7$yQn> zayF{wc}d;wl930G>>Xu+> z$7AH|(Bv-eKYO%})ZFZ(BTU7bTF38)&>%k25(e4)RYP%X7{6j&5m0=6zsii2kAa8k z@a49Or79Lg;>DJfRMam(SV3eoOhh)GurMsjrE>jmdz_X}N7ccpKjY0;PrVB~S}9qh{`eds}g=g3quJMug)Ywp!4BN9@#}SmEG} zCs$Rz1BJuBMaqoO^+xeS6bNYnz(LoMHH;qAn^7AIG=H_lon92uLHVaphqZ_TGc)YLQ@dO7) zg2Rl;*tZnfqCphswtdL*2dc5MQsKLFIIKKh0J)v^6qBENdvF8P`)A44Ykob8O}rJ%5DX7Zx_%wWv#)&wh3=O#Y6WhVoejr@e2_mv5z5ARspmvVL z883joke?o*e5tEhF2NkHOi9C~URihu`f>Z41En`dwZ5e=P5}=@HJpzz7UrH=$$xI% zb?p1bV$ZL!>e>VT`QkRl6Zq?#KDys7+E~0IP_EtGZ=v1S(`{g zPk>D9J;-?U)x27%jyHg(JN0X9w8`EksHM_;$)N-+8H(37e3nLWWj0 zg>vwpsa)1yvQ_w&wvbT^GWC3SFl<%DMU7}@D2#c$w4(UD~w8e}O z`c4+D1!isSpa9(!^L1{CI=;5I?&&kppy~I@S1eYH$Zz+zsSu-<5L4B-bC}0V^kv(=bH)@Ntb;#3QSMM@3urJ56tXHR@|W;UmzMv`&=VLWeo_6 zDg>^eyt}=Q))%Eo)++TyI>q3hTSG{PBU6d9d|ft_NQpsJ+IqFPU;U$ASM8v3ob}9! z<4yDgYarh-b|eHsiL%2aS0}?mHzdDML_%J|eVk1D5~``)X_=q+L^N>WK`RabE$IeU zl3dxG(!U`VHUYxR5VwV?gd7=-wmhYGQ8x5}%%x@mLvd2Nsf+6duU0-;fw#taY%`CD zb;d3jKoiwtwt8IT;xrFBc+-;+-`f)tImAUkzM)${_tIG^buoTi9w!&fPE1!pK% zHT5|Y0M%eQp^v{@vHHy9|wL*Eg#d-`36`+8A;A zaey-1=aK0*X+eO93GUSp>;;l*ix<_5>Ss0iPXaoIi=$A7NyyPC`(bAw3x{E|{)Fo4-gMiz~UV)YOMZ714Tcb=&Y%(m%kf zO}S!67Ya5kAcxlR>1?%7thbY#W9eN*G_X&V6E!QvR5Z3V$7sg9{REEm{c?kjJ7PHs zOhc`l4Ol`U)uDPrCzh|GvRNPnyK8QzRTwJL;69E?l)f%G80Zv`=)k^n>qaSZeDQA8t_M+84=A!~89<47(n@h3ssR)9T{KyTCIjF$?{7@;#rz2iuy-4Y>S4hbr-A!Srnvoj{o(4@Y`+ty3j}r?%2)zyfp3tzZ{aE`Gzt zS0R*CJ6vK7d^C3@{z+H}aNwyFK|HWqE8f=`?0(@F;!?K%8{m4TVpg6BzdD$Zvp%p? zfAs~)`gljI;ArEM)ibX^Z1)Z-aPhZICqH(M`AUqO|Bi`ZiiTK|UWTr=C1R%+YER}whzv(Carcmkvi*diN))noR_rDaw%%Oa^uhiYQ$1! zpeYsT#T8Y;JDg3DVmgcJn=Id_(CW-%GQeM#RiZP@63ptOp4UTw5*0w#(x2FC4bfzw zq`axS+H*Hzg|)6+bcQ%7<_H;#f{f{ZmShgh8cX>uwmtjB8v_XC*UpFggh~X8?q3ny zqZ!ViC03V@{$5eq3cFhk_Ep&(+l5ZbgIDZzLauK6T~#5!Ch8%BjUqR%f;c)NyT?LS zPc;MF9&eaGXK<>k`f48so$>^}3WBA&7Ge{4>AGMo`myO+fN*5?ESf{60k=Qgk%uTY zII{`18QU{{@$PaeMcWz!XmQD~X1c;C%S+#)`QPyiVaqyDgc2@)ypK{jY!j$!9b!PC z5dW*D@KNFKYDa^8r$Sl&`mm5HkZuH0%adrOzQk^X@4fkjeECq%P-9z=rG4v5r9JD_ zy&T@A0qu%-<(p|6BeP}+X_1iGIHEY1R45Sj<7fXW?eePK{)0Jsby>Y(c(yHt!#N73 zWSo>00p-aaN6tvAtEGWT=PX{&2A>ZFWNploEZf6OD=U`6*M7rP#{f7;3-6^%9RROE zgv}{p%yMp2B*T0)N~QQ7qb~7$n8^{gi=!MRT4^Tb%g{OIX-nbWxU@A|m>oC39muRS z4Jd0RI72BYz>8kmKX;hEVQHns$15&3Ki&tw+6JS0zu)!FH-D-o9C_X*g&#gWoUR8- zbc}vxmj?KJD^PvStqp=Il0fc94j4)WL=X_$t6@0T zl9rF9hO;E_Zr^r(DR$Y9ss-KFAu}g_%&?pB1V%aTCfaSxtq)y?=~JFMTJs89HG9Jt z2X+|fA}?cfjOOw8;;4Dz(aS$P)Vw87TU;%;Euj4A>irgUI&{%v{C5orlc(v}s{=@W z%({h7Od0j4-)46zUFeFnn$}PKw_AdYeFjVQ!8C&G5+b-HH-a7lvtB?x(QSG0SVJ@Xx+;9nizh@~*J_JCI!5Rj+RB0jUYsPyP=-?t*97K;9nVt(N*xIQs{0h3m@+r z=0k)a6k3$dq^Vi^9KWTGRbbQN@q@-kM4qDB?qHj{MFDnK^mdHP>FDM;oOGRJ*W6j9 z>~a|7BRHQfuHb3!a3)V~v0oT-bVu9BQg5j8*1n?2ylU_c^SBH|qWJQ=sn-YgUNe+h zcCHW(Oyh($nS1n~$UV?bH{p)phD3!!v?BfyhSCET+S+%=X4g@Y8M>c{6C{%+XT@cJ zs@s~8*-WSMcNfks8_%io4;9lS2cgcRAS z#1hjL!hvm0$xHnj=hiSC)lw}9DJf1l0ngMj?d`1{95g>8so~;_RAW?2iJvRr?qA}! zjm)Brj7T4%Yj;kEbni)NOqNxT3?v*nPUbXz_{wmje!Lk4oad{GI2wGWC(&(@=Nprj4l>$D$R(%1_${hFcam8 z^fnA9?Qg`-oCs(^1Qq(1%?K~bODK>}vX|{6tTc?kmEqy+e`5WKpCz2CRB+=s6^Rd_ zOWSgEs{71+=RnB$yeIa|r;g$$11ub{!f!Ja4KSPQCygJGEsGuyQQT|WsxJAQ)X5bqLBAujO`C#&iA=AZ8!kHDjLiXYML7WCA%Y<@7imkgMBiSZEdlGVp{8q zECd}TyC1mH7aa0g0|Fy+tjWYOJ=Tz8AS@*@_)Camr#YBvhpb0}2s<1%Z$drf`H)pX z{SxdC*IT(VaVo^aVe@eYzj!)ztA)j2K=9iu1=gKJDzh*w(@w`3 z=UNKwP~h)Z=W+)?uy=hxDywdAl=VKuXi#euR80|wj-vX;Sxfb`!e;HO7Gzd98SoM~ zIl}o+6_!saGN8PX)L9?*-l&C9(s_2a&`1yEt@ly)w$O;EnyTAlSXpKlNf9>5A)_w= zAf$P?vOQ4h-OtU8;rub-DgNQcg$L_34D)1@Ec1wbwtfT}04t2V z5kC24qXHhu*|w`j8Wo<7TnC$cQC4K+PUh|8nLIK;g%aIVUt*gHtL$9a7R!r1WHZAfYdhg33I!BjMyp8Hnrp4KVH&xp(=B) z0^M`zX)Nqx%20K6{6P!;1nK@}7-ldI{t+-)3k{b#Nj^em{ygoX;?)V5@^c_8l65;@ z5>J4b69eg--o}#W=Neg-=FzkRTe`DL2^V`TSw@0Na6RpZk050fwhJA}I$oX2mnb49 zFWthJ()PT-W{p?j;u#@w!)jP_5G+bTaLwc<>A{|Xg3@c%0Tsxh^tD6I6|dOXh_UjwA&O2b5qM8>50#43t*+AElloyEO~%m(HR}*s|{?A}|j5 zPwPco!*OR*2>2#JMJ}-bS~@J~0aQ~W3vGno)gB>Y$yz?Wl(7|p+I~-{EKst6Wz~Dd zsdZj)5D1Pv_fi7A;*rRCgkvi6qI;f(?YxuZL+-$dBmd0Omx8$=QM zgt2(w-!Fb>hUF~udas$7BrXCve7`tq?}Ya_k{hYK6Iw|nsJByJq3?NlX44TAEP24;`) z+a7fP>>i<1N^dN!wz|Sd4VJrz8-<&`C(MG1Gw;p^hyPT-fJ^U#{$kbr<;R|xdP8u$5HB=_ZJO_F@`mrBG-;N=RIDZik;baZn(J+}tC;}^ zJ9IigyBKf`)l8i%L`iM5Fs}HPrq*Y~k*ma-*8*LT=4EMnNpxweQZRLvUAlo<&n+a>x7 zL`1-?h_=T9lYP8NrtS8%lp5wXg*H7RE>*3QV^9ng5{D@0`k@+r0jDEWNrfIL8kGSL zDsVC|ZBJT2bdP}ghf_4w4fzB77U))oO(G!AFN;=(kzt$PIJ*U?)7c7(T1wrwmT9ir z663ydb&$1K8H@7h5PNlB;oqo{E!aPm&-Yw0kGYzSGgoV$>k|KWT_C4Mdcw|A9wzxO zh0N8G)>FZ`(6?p}IHmod2@FeytUc-sg`l7*#M*&-iPuOAM8D&YpqZ#)9Yr9vz&K(v z+a}Fk`A}I(y{(Ns+5D<0dF{p}(thnAOqDUu)fPw#?UXf;@ZTJL6z5FQ`pc*RRE?m5 zqUd-{Z0!*&S$aO9I6dQQ>Xo|GEPab=_#qf z2F&~$wrhJjSqiEKhX*wY_Ty|(>a7BcO_Xqa%hAUS9P@}bea;F zkYbWH^Nh&JE7~75K~pz}$IGMKQ)6`#5g$TycN|s`#CuvPFE<>4LKEe}l!pWkQ(~75 zAT~wjbaT?`E}WSP5vY(>{Zk+Y-go+$%ZUL9H|&SwEXcp2JTSYy6+gjpp{34V2WL#A zka?&}#uCQJ#N9JHw_Q@ok-Zy8#XjoPY32f98K>xv)=@ivRFQu>qW>foI-F0hfMKre z%ZXTQ%ewy6ZWwzk>A3$ZXzMOagR0{rDz23|#K#9N zXq24g6^#H{6&EKJ8PC;{1+Il>iOTQJle|0W>S!Cr6C@x*d$Pm2Cjn%B>Yn*jK&)PV zb;KVfgc5X);_(Zj|8P>nD2O+8IDQ~6LV8R=#%$LTwWjtaC78GM4Naob+wI(`(-Vvi zG*DDLhob3|COu?%jnkgvFKcPHM}(fS>s#CcB9&hEX(sWfdc)_o+V2TlEXZheWomtg zG?Lk=5$2tkxx~K2xSckf9GTs;pY~;8AeQyTTd_lw)9dmB(4&`O<~tYhm(zKQk$!Up zT4IiEouFL{oj599?nU5R@h zWEXPd6Y2RG^#W1AA3w5rTxN49{9dt8z>h0_B#7-T9wvEj+Mm~Y0w!*hac>W#L|HPx z$UiSJ0({5ccGe5!V-^U*Eoy>BS$DEV3DkAq<2IU!_iqj#9HH&LhqLU$ns^bPU_7}= zk5PGmG0Cn}R)gQy^2}ZUyKSdl40F-gBCIYiw zyds{fJi!+0q`y&937hk$R17%V))Pl>Adn+GO<71XB~-iF7)d`^KX87 z>yjCHvwur_3(d%ZJ!$V9CTAfe64?WOG-d%xENJE~kpbhRxoI(Q;i}IJ8gaP$<=ssk zSehgDqSGYJaAX`Q_NamkgXlYcu)3UnmMFF{@_a0bqlAi6_kQNb5i?U`K%Mlglt1M; z><$G+Kybn1VL!EUP)}H&9A;Er6O>ce_R$gH2ox=zw%RrxRXS>KFM;}XVJq~OK*z*D zb7-CQUlv1!X?b`J0Ny)qqQ8*lrwehMFAHis9oYAXgZX0!QbhODH_hPt@QeS4uXhX* zr3uz`$F^Cp$7K-m0u0-CY^o(UD!xGN-^) zpKch1IHT+zQI+t$0h%0V{m^H&B;Sr$>cg zLwY0OvYPDe4*rCjeFFf?V}h35=5P`k1Y)5j!?u32Ng&WUakbdhIszE8M55Fn7zUA? z6s8|2^k=dO_$7v=l3$J#f>f2al-@t<{&&+Lgo)u^jB}a)7Cs1tY*xdX5w$a*B95VA z;NIi%XUH;sK=vH<>0peG7QX9>aVaCC1p&j^k0Rm5nmmZW529~({kR(}Nrra4l5czu z(|eQ%cTP?@9PU`OQP><<#tMN*N_-1M@P6lO{g6Pr)@-GDn!#%Dd9 zMm)wV6ngwJn3=x}TbB#pV(sk-kly#t&sEM*<)c3USvB!gB#Ikivd(2}!d8(VB}k}X zx9bfMr}C(#3|qNr>>-6=Qi{IE6v|1(1uQRe$mWVc6!wy=U!GzF3(Yr4m9)5WW8;7n zMx_#OOcYwS)x__Mg+wl(IFBNF_8O~ivZkSZvXe3&t$7!Sh15e|PS!M|0B_`~kU(}) z0e`QHSrK7Vz(EK2&*Xd=P&-s>Xx3WGpvaVDo)=lr4n#nT3sn;G-r@yAswaanl?xv8 z#s4z2MdEv}S1I~2%mzs`Iqk;T*$CgyB$SXMkzYxC3C_(=sbY^l?sOJVfamos~wh)xRQ`%ut{QrEEVaX2}VjYF+#@9D`>3y zd8G-biChuKfkt;H?+$P)BM{r4&aev|wO<#rFT^jMa1=)l1|a2)HX9jm+OPa8#3*g5 z36mm3pTmx#FZ{mzHg_D91H*_W9Z@7BKH9nS3z9=cjY!&l0@Y9Nz0LzQB0wsL;ncB> z2YePvjUpGoS>T0$Q&mBk772E)U~V4s++PYbZ>5!kwkBk(I|jDCTe18->gAwd+B6Y^ z;{Gm=h(#9S1Sjg9JHo24o`Y`5&y~Q^zqR0xwLzV$dO5V%ZI{LKvJKPs*qNIeg7&e; z*f3?ow41PyP*QtUv@aJ?#d zOod&Ade_jqio4zbRuHuolL>3pdSB@kJhw787EE~JE`j%R&Ake{DM`Is8sbZlLyyO3 zCPT1EL4$ktiU=8SO!7O>gzQ!zDgK7f13t<46Q9Nm#O$71(-vXWu#IMAyt@!&pW6)7 z+v%Ax0%2lkNCEpbwu9(ss)hL>u)0P3UTU&kL;i|@Z_gA! z|G>PDujl}%4&m#8iIKV~rd+uZ_A`oO3Flp($o)-k=8@+*7R9FGUMBmL_kMh{wm%OhXoE$f?c#S z?YMz_#;!!&bVlo`O<<7GRLA+&tPo8c-tDHR28Etef>E;|{bnv_6JPas3%v0aO4{nSrBzbN%FN^UDOG@@Yz79pHqL}((* zEOu(_SK5Knu*WobMdgBYpHTSk9yMRZOGh#E>krd@y(~_>xe46tk|WHDpu4fF(FSH) z*L*%@%W|tOblYhtNDO5caTk=GU~o#`gn?pdP2<)b`p5pEKS362F{4wZ*hu?Sv_v4* zMKHun{{-dkC0yV>afiBDLY~27Ck)mxbBt6+B799mID+k$Ei?0ge_dmoX^25o_E%MZ zm1gsZU1A_PoA$QLRY7-YgRq!D2T&*fyHtkAme`5|X7W@Rh-qhyIN!9~%{v(mZBa+8 zi~`j&wv3Z)N!yCa5n z-SVJByj||D%!5KkH~^HxOvcfAqWTtR7)pRof8Z#@u&0R7pLyAl=HmDvPbBuxBdReo zZ$yF%o<{(Q?&^ugF%w#Voe+@vK+=p%n0LSlLv+uqO$3v_v{9$qi3{l*!Nlzm2IZI1 zhzO#}vALDHVW0y7gb^#_3qQtdI0rHaH3TVp`g7p825Pe+1JU$!LfoF+EYqXl-2T>N zP&g8Mc=#Pxk*vq`M_C_W0mPgvT8LMkp|L}}FvEh9ASG&;B7(@Jjs%3}nq!Jr~ znYM90kbr{k#a63DNOH$OERa$;CKYlDa30#BLSydW0*Iof1y03AJqWZOzvPM4zfnUT zTMW}QJT(=tQcGa5iZu--5hc&T1UsD(({wt!gat^7h0j&EiiJCi1vh-&y?+B=S2eK^TVxrwF z4{+WCiUUB1&422K@mZ$K9gv>&D4K!UWu}Bc++zmwQe-jKQYr1_+Ei4mKYSA}2vmA4 zO{;Zkm>W1iDc?_pKy?Bs%67E=lM{dq%n?$Cv_pLEgqzORxfe)()0s6AA$}?L1`$H= zo@n*s>iUC@iQwo|sr?5fgwc{k%{^QfQ9oW3cmjt^L&}YaF^0KDo)aPEW0|9kj{Qkd zB|+{DStg!;w-9h!Sm^7W@-9>Jfcryku-A=Q{$G(FqvGYcqi5rCW0}}gB^XOQ!ZUNq zRdcJTAokq_HtB~II2g(L0&%I@pec>5yC3%;j|fA`3%$At{TUYvSgwLLsiF7ScR!={ zHdWo9RP9J9T>f)MCA!Sm0~trNkpPFtdb$W7hIZ#HIT!}KbAA3?MyT}-zVGpVbxXo& zfSHYZ!Z`AR`6~KJH1gT{?^H3v<>$}nc*qi>pQ!NjqBa7gDb3Q}rh>+~bUv&hV>UN` zu!aM{V0~QgW6o*?oayZc^^85?0}ByT2A?T|rToyl!VZO3P8g^f;AHbOco#LcLngc5 zw=IDJ^)8OY2s7f;KytV~+UQ5kCHKGyB}#njTR=Z{b)2-?HioZrBM+M9Jxj%X7V+@< z+rc&?%olC$G%>D|rlA!6&WJ6jOsA`HIW#<=UgpfK4(|0rm~5a$Qqejf8AQ^6)_R1uGx=B8QYmW3{bi=}dK+Cp zGwTOlpVzH}=(^Wh&clRPdj7uiuPaey-md|9%{)a6uJSOKur9+sn9o(DSLn!<#Q4P~ z9&>Fa6Ek~;LweXU2-EJy`W5)A@x`nv!Z_)H%4gSwT?@uivZ95-{YhxO ziSfdlhH|Zf<$e$;&i%TW8@bd%z#gX@MJ@{n|GdpTyCyTik+28-iX-lsFEO=*;KVOz zFoiH!m~657%*_~xG4~ab_NJ+6%89}ka!67!7R)jx#=}K#LW;O2d$n%W{`)6;DxaFv5ZZekYSVV6y`(cn*%`eaOQBZ)_ zbAqn)VuL}yb!bu2rj_Q?8N*?`Jtiki;ZyEH4hRUUc2CcU+6%p<;9ywuvo*lbc>MY` zxzSXQS%7z+2X-!co5AuGNJ0ruc}8V*H=e2bHf4|``TGZ;H*O@9^`(vRgKQ1T&21CG zUTZG$&Tcfe#xyxEvvP3MHO29^!i+kDylhe^1ZjU1wjHf{4++|CUbG387fUiatia4b zsdG~v%Z)cgKY_a=ap}To4vTG++?t8hr4ie>v&|CHL5KMr>g9vU2`;jvUc=md`(b5) z=h8RhWPUut9xr9NC&L^SKhEXy-VhX?=T_+rmA+*oqF)G`JxNcv^fCT0v~QmPVN{3X zaJ{Hs)1jhrL(CqOXd?A7rlyD`$=dIk(0WLVsSeXR747xzaVje=&AB#L+f1l%M3+dP z*N2k)G}Eh2>Ykz#OS&hT5KX_Ngfg|o9q#jBD?#)0Tj9Ou&6?%SR)vM&3quJWKi;oe zyyq)f?pE2F^-pc7?VzAKd5kPJ6Ysuv*%{j9kaeckbMzCT9*V8S)R zef9QgonU<@z)Pl;BdV2&DG$zs`fsgh!Gf68Xo%j^^hempk~pXDQ~>*EU@nr0vFO3! zZfgdf_xq70A%+_=Xe!K5{o+$r)1;6;7oP6U4#Ji(UIi@J|f}=jmkLgN>QI>5F;glRh>AQS$2hAJy4aG+m5gfV^GpXz9SE z@x*NY@eUTIDfcxxY>?Sx(;yAj2_e&_T`Y$*a;D&`{hinZ__cuPm^J7J(&Y5DsqZdv zy3V$OFXJfwi9h+qqEPQ;g^1tFG**pGG6E7>8}zgvIi>R}G zEmt`us7?I&6>{x?XaY?iuErSe^w@VXn}VO8vusPrbSAvG>=4$JVNBxdqB1{)rU8its53 zwvXHhRlFA+VA3~|<&5J|mXobluDqT!Nk;aeOK=+)L|-hIh;ND%WvNS9$cTp7jqcET z#{${XGfM?@SL`6im9fpBE^kZR%F2O_@w1qX6xm5O@Ff7|ISsuZ!E4mtZaM$ZE&62=C&A%smX0< zU9|!)aaz>8YRzRQL*{MPR~Lt+AxBPA3>VoYXwR1!m8_aC_g<|}dli))_&s4eDMG_) zvwar~3mi598d9?0Urj+SC&W4;TfY^SK(}och1!e^kQqcYYL+z3EwHMc7HWZ`<-G8^ zms+R>vAXPxR?0Ivl7v?##5U9bv@puYiYh2+BH3-oBL@;^YZJ{GFBM^?i}W23a504H zMEyyUlAu7I`DpP&4*+#L%;fvsxP}7W{89{D3+F-08STw<65x8#iE<;OW7=Sgqo>lH zhF#fV7OB0F9}r;c#-?C>2?brSXnowC`#-Fi)5)ee(*_Y8_wQ8~fV~qIwx;iSzfYYH z-=FM2N^xRz=IROF?dbuyp_;+g)CPG{#PwAZSkdwJ^og~O1C9|7UD1}a=N;9p{-;=dD^Qw{PO zG~MnOx6fh)&M-_bRZ+HtJ#0(f2KQ#gL(%rp-<$VTqb!S^qitRnVV;@!;3`E)?qr_{ zX;w|WoRP8%3V-6UjcwWb6oB-OsWw+kB!1k$okumfa}(pwUSG1^_6yH~y&7b*>%ep* zbrPh5+(#2Tam=rr>Y8-IF%`T>@<91Y9u{KN$5IpVWY%@_YQbs1#u21NQWzqZJ7+$* z|1v;E1yIXp^E+9!>RAIJ$TNjPw<;CJ2+}Q=i>_J5`eLiC2|tr{e&7)^^vI2IA5BA! z=)=BU=n+zA(3~y%CZgOu2`?G@pK(lcnf!fOk?@83Mix_0IE|EuYtsdojXrgnt8l5DZt-x;Y3XA58}|sjlQpaUPWAK#fZx-QZ+za~ zDkXSelxa9FZx|K ztX<}c0kxuR4+kQ>m&1&vhzuwmT<;oG=yL!raWPfRt?PwtU)*Qk91l8;)Vb+(nJjEN zffB1|tn&q8{a3gwC(zA!RI#&F_j?)WpwSJVCp43j2#c z=Z)}Lk#Ac67j2;8><_W25~CvHb>H1V5=(>%Dh7g0{*dS$X) z9=@VhA=b$1==x5K2bM9j>K7+8pRzWYEP_Qr*(LIrpBhLoMV`wt$L|9<4oaM|OgPqe zk&gnj6dtkopcKw$8tzm2nq`n)0yx3XdtC%YyBeA-4|1Xoru|a?VcktNDpPxg!o7#^ zr1BM<~Q4s!GRh3%m} zB*FOAAYcbcsANBzEAF3`IT&w@v6pC$@~KK_n=Q8nl`LnY2VU<-rf>?Of!~YbQYofZ z$B=UU7#v&Gk^X2bI%`(KMy4`0@gHu!2uCInyqV!O-50HEZwgRj3U?Wa93S9hsU_Ka zR_pRVdDq*e}1rgp#(A#t!(Kjg?hNBZJFw+vuA6Ag$E9 zEo8AczIGD8tcFQvvW9i(ihcNgvP)f_*SsL%0UBBzMP88vimKk2fGC>m*`J+d!YaMe zz7>v@9G}U&qWygv&aM7m*N{x8>TNGvY&S2jSg%-C7HXTyk|OAw>%u| zWtkueZR|C%*lw6p+H%~*E4YvE&z@pU$X?nBtYMH3`g(^auZjo%8Rs;y^adUfErolz z|7QNInDD<4`CyEVrcucf4}RNfrg|$0Q@fSN%vF*wy=l29k4-ULRIEuZn)4ble7`f<;_$_T* z^3lxnGE1)#O0c$u^np!qeN2zuDIwv6*Olt_NH+K@uyJCTk!^pQoH8{0{o2sF_Zz;~ z$EKV`|6D-oOB;>cuZE8q*zC?tSCHis*E*UO#Bx#@KHMfK&n`ST^HINRJ8M@Z_yhN} zGGLyPCP;+t0Li$-*2(8WLEP?qpW?klx*($zHNaC39&kS!`wdwtTL3DPC^rq=8c6fd zo^~u;oI#SkbMpE#lB{3pafA^GJk5!TzJTbS#58>yy>}XJHk|f33w^tG^5ArZU=xta z&-RLxZom#~Oqv~Wzyo9(uwAEOsYFrjGu^VVlTZ3l)d10N4Y##g}@3AB82lP9L} z1Wdq%Kf8E;1Wx<(22p`?X9A^_%%j<{oDkO-LlL9*bC1Qrypx#cU$YS+a7LnU_WbWTLcVQCnBdWteJNQHK^Sc3phGcS8q zvp=u7#WzAI3W+?A{9f|RXsxT0z2QKVD1=Dxl?mxzDhxlJLaD}y!m6_=kB;nmpcK%u^Riz+MyHTueJVe=nqYANWaS^~5rAs(H zEPA=(Ql#N+0!rQ+PurYdx#HQiVw(?k{KaO26f0-O`xO@x?)Q*vI8NE2!#h24%shDS z#{}iPV_y3ugY+A>yTjg4my|Q&_htwX`_7+{asPYll(fd^-@DXtH75TJNG}Gvb0teI zsUwW-QrJmb>B-CMA0ZDy4(rO)k>rvRw^@^2;x5i2!dcl193-n+yQ23%xVV^EC|p4QsFU25eMSQivbPVuB#x5P9r|=mjC(JS;J-mp+9**Q zLhc?1!MxYj$5NRIi~8arwc0GPE?#lpG8@0SZ{Yq8c%6Ex(w%ryp($^R3enE$&g`OR zN9V&elXEr9^q9OC>_G7Heu^PTk}8{Io8AeY)&B7B9Z8>W!*LFZs_n7#Y0^{Bg+@ zK?|j(!aYoCq>$PA%fZIUZasY9V;%~nE>R$H8_GRw&(ufK1EnH5TzE$(qA&YgC91nq zhX%LM;H@*xd2mYV9e;>P8E+CG#aa3V(KYQ75Md!DXh0Ff>e}&5V1tWKk6_oyMEo{h z2MnB7(U7VCQ=hvuf^9r)nmnB;xpMoOLz6DCm5K!7u)n7sBs5-(;TIWyTg-o-eOi^4 z7UP3LMu)sTE)gEIK>HE`14+QImlHaq0xpg&w7Sx+0S?M;=DdXZ$fj*P2f}Awe5{wMMk5ErhpLmHpN3UZ3Ys{-|%@) zW8;nb0{2PEGCSVyj1HR5s_FRk*M4kA!ie*f_JFfZSS3X~Oxa(5 zuAdlKHpKB}=ri~5Hb?WI6vV=}V59CvZZIy9-4kS>M)JE-PVJXgV0l-Cq0?=yDvOwE zFqv7-ps*c5(B>Z7?cUeChw94YDAEv8CI`^s+pAmRMvesX$4mMNly`Wa6P##6o2#%u zR8T1L$P>M+4$jrVl`N_x@RA6FIS(8N9_!1(QqdAr_@xcCQ3*HCnB7{=GqGyyB>JYd z&%jD6IaQGu;|Tg%{z;%N7u*6>QWbsz++DowDK-GXn`;q)X9RG8)+~wUf$y) z?;U74$fx8;lq}sYwcQ+#1q&*Vf*@~Pr}#aVEbc`(2iV4;v%D&S@PY`vT+qWy5NU7Y z8;TRc0g=J`3#UQ+emXbZhGq8E&}w33#Q>eVSPNnJ`U0h=`(#u7+a=@-F7x@4G5#2N zjMczyd>xL{P3(trMQU!W9qE;?w1W4uqyiSMw=1j874;A|twc_uuJ{y(^_#oN(^D(C zL@89sMN30C01B|${VeFo?+If6J%;a1dBhn534!<~bEE?b3nnKwF)_VH+spc8VF`P5 z3y+i!6+4`stO|rO?1?=rM1kflHWqhbRm19RrAG|3)a4t#?fa)~&eGmqNP0H0o1Ft& ziyBnvstwD}YRppg`t{gEvu}9;DwTN)i9QDr&Z{v`K1u}a6Klg}e%_GDBk${gc8Qft z)dPjvvKg`~&Wna{3)ebIg^%^;Ilv|v{Sm@WicolghoSe8yEMOR#r=3{<@91S*%5b$`B|KD z0#&kVeFaMoY2U%g>*e)MAzof{5L!u=N({?H)gPukca5h($RrnZEdS`Ht2;fV(E?wz zVnt`1H`2*iWoOHZb-8!4ugn9d1x$0Rl(Q}p)S@I0ksVr9Ht+|;zF$~<)z=fF>fw?4 zx#l?Xa5$jj?$)HLgy0)<=@yLHbD0QqZb5Mf4X(}WwuuI9lJV?M8N)QQMWDtv=t0L! zlH6y}Q3l?{zxL=^;!-{7zdJWEp`9AG0v?orQiv&-*rJzPQo*0jq@u?QKxV86Y^5ng zU?!W?&D{3gn#i-plk0KJQ#!0}`wYE0_IMQKjG`=#iD4vhq&Ux>{GGH$)r$IaBZ9a*hlfk8(2k;e8M-X zj1hk;*fpphsebB>&GnksmwbKD7whxU%B#H-moWD=dHY|bmaRDFsJlkf$bx>aIed1URQ5BLO@YBlefjsA(>8{W1&Uq|BNU(F*h4{eyVnBtS+*q z`STC^0k?`8#!!)$YMu-jpH^TFaz0M*m%RTjTW@je5^#FSKZ4mbP2WNl3Z$);*u^&IWn5Ejl1DC6)K_MnZ>OWQS6oXGPcn6S7Bqa|=k{pkd-?GiKV7clG5#T#Ah! zMgD7X3R}WH`RMz-u;U#$Z4XQXOJC)FS}OM5r(@hUY3cV?dhHjCr^Dd~^vjmt0TP?~ z@%MIBo0L;kq$JvM?-%fYqpkNVdPxuv{^1!|{_ju+XE*cz2u1&e{b&DY%D;A7YtxQ+ z6wzl@o#81eCVcSbf?HjSe~7VO00<-^hzARWGcmnHA`qv>?e)^RveVps-hsXqa8lE& z!9=!+UbRe4*R!_A@3$VOyQ-~g*wdAFDFqAeV%dgQzxt*&?Dyw+-O_43-F(-tf$>|B@E-)3-kr7h^B2hRr2J~e9HpvO0z zPHlNlmbpFe28`YHFBXs8$zo|Pyj|O6*!Zx|q7B*M{o3MtAk9wkL|h>?e8`^^p|0t%U2_v3y1r@Z#MkiBT@7YU(bVso-IlGwQjpO zFgr8$UGv=;jRyUWX!b|d^>Pr|Pb#g!h+{OP5tr}LHKTzazj7u#lBReuiE=z9IMrm{XS z4GBo~Z!d?peVlnoPLDs0e0hgrDJw~KH*saSOe!Z7@U%*Ky-glz#2NT9&3bb0XZ~IJ z@_?des8hO+^HObowye>U(+?lzx(6DL+5Y__#^35BSbgKbDi5Eo!-xmMH*C?GW6WH) zMdS5tupXeHqj~TyYrcA^xUkHBg}U<*?EJl>j^IfF#QNvussrZR+;_rwvk)f9)ELc(k`!`@386pV)1GMIz=B1?Y{!rD}Uc_e7W@b z0TavM`D<6woL!|;$Kj0NE>_YJb+8tpZCGII%t_%v!-#smCZIC~PR%63F^ zjL11Ppgp(gcKoWSrP&e}(kd6oI161OAPRDn1V5#9Gf-llKa{)}8krH}?puh^jjY&% zX>CiVzjvs-UPs?GU+;o6Z}awl#D!?m$tX_YhvI*H;$@DBz2|j2p#vlNO8R%f6xC-8 z{ans-ssywq1hMv(XX5A69JVL4m_kcbN({0c(*)nCFf33OQ0^0G-X{$ldi+o0tq%M0 z2oZ~Gfr6~i21r&E20*}`Dpg@*G9r>_mQmGz_X^TVawHo;Z zq!{W}yVD)#$YyZp9Lp!XPTwuitSwAc;;#=F_!^hGs1QX{H=w{8d4S)b^CIeXO{t)^N2n^wjS`f?F)oZj=0}H&Y5Ba$3bx_}tO)NsV9iKHp^!C#5ukEIu)+;i zx}G>>oYLdsq)Qv;kz)Z!35-Da0$Uk^9{^C|TF^u$v2GiVMuDBtC3Xi?$#>neRm;@B zOjXK#3m;dn4;yorZmkGxeymn)R_(3xZB^4|GlnLj?`?X1gkjYTc-M(6cdc!o+Y_HK_$;Dq7-(PAC-=*+&Qx`rBFNdWm(5C~z(vj9El*G9o$XN)yf0)U$APpBF2vNOUl+|zm4u5PGx#tS8@lYy90XWBj2WWPzzCQuq9gKng zVhowng3~R|14-oV&pVY(03(R2V&=0R2Qxg{P>V)emVoQocVX`RLixEw3=OawJO_Ea zE;O4{rltlfUdEQNwAc(N%J7Z*Zt^U|TZJxjFi`2Zj`W0cEY-$^VKf&|Xot!5`v(awZM(l&b(6KP1~gR4(g z$jvsJKlPp-tU297vy9l=!Cth4nxPW?NwES{NCS%z0|@zb7L4!=a!Ia-n207U-3vJ` z6iTNt-Y2J=_3vhZDtnpw)N~F;w~3Y4Iuw|!RG%E97G~&|N&pUxuqBTba_L9_8^g9L z0f`9=QS2*v7{3RksWPcG3@|$3}j&AtDH{p=^F9ZeNouv3H@85%9*$ zP$&a$X9=MJdHyJG_cL!dMV7Hdz&u|gm?~(d4@jh%Yy;hc$wn``H?1+qna(I>uYgYO zr>3)00#dPMDuE4BOhlxzi{air$X({LK7mnr=;GbtYd-dOVLfHKv^p} z@V2=s{X+!DQG$WCEgk@l`3}5x|`R6BFCe!lv^``j!Lu zUa>UNqnk^Iwa`3an{M!e2;~ZzSvVC}hs<4yGU44bx9v5DY@eV~Cg-T?PQ5@!R>(DG1pW2KD_Rw|#6$41D)9br)Xikp?tw^?E z-L9r)HTnZyQ(pbZMc?)xgT-P~U3Z83Fy_Tzv!+h0dp>!=Wy;~J>*R@Rz7_RNeR_{p zhLD0_R!j6$86pc!+)qis8LW-6mXR$SO&mi6x1J&TI}hIoF~5f^cvHh}!}x6STDQC%2R}edn)oueEv`?t&}mmwWM|DDGo|Uv&b=#bmc?pi zCw+*1xclCcZGBG3jkkH$pmb;f-JhnBW!pcRoAl17ZY`#@k85fZhSuxL5(%>%3DU&5 z?Mk!Ywm1w?mc@rF*Vgqj@hxhPX_nJr@bcbs`oG<&BA))D5X-q1kH3pUQW`jGGYFM> zar(c2NH0CdABRlJ)Ke9*jWKg9B35sNQ89E)(@VPl{bOyiTpCPOtD*%Zu|0{N@6T54 z2&Zz!b1J~;zkZVfGoJPU<73Vp7HZJD(8oo(6cQ1cbLoL=zJI)t@fMjbVaEv5D@UAy zrXTB!I8nD~QE=pKOLom$Yu=v9T(0NruG)_=bKmYYI%0e)aw8Gj-g;C;7qY>S)cKqr zO%VZwLfUq-aG~skIiiZ~Bsb2yf5F38Y!HH>7-w3IIaSr7k(Xux7;Y51D@Q1)ay-r8 zYaFmUg%l|WnWrDZ%p-UthMBfNd9;9ppvv_|U{8W!^3DUy0ihkvsBc8ksAOnt3>d;m zzAxnazR)e7U@myv%T>XvJmGU+V!azeJ^u);?lGP?J7TW@f_@Cj8hC81@Kp$?PQWI~ zDD>4y??ge~p$jG1Yz)*JnXl^W2SJsviUj*0-t##Y15}oy5&qVht&g3Yjkr(H2IBeR z@bXQ_(fQ7M3+p!y>K;c+L~*}_Mn;GaN3j*#YzMnbB%bCp398qJCPWzCtfzMuObcYH zqCHc)j!W_wL%8c3M5dTXMX8BcnzFdQ?XQKZG{q|oEpFEJe6>HkS;!Io)4vAOMO4E@+1||MkD-$(fS`%Jktu@ z4*&pAtE7maiu=aZvaAG(A`Zaauh-*=vHAAOGOX()&0sX&)JhNBe1mWpmzW>|icf$m z%ybYqykIbHa6Z?P>{TL)J4B^2z5GpW^G<(`%c2;jp0YtP28*K#FaQB{;j9T zO8J<8i1U5RFv6HvxYAbsVPTC2%R#wAeUShfNIc6DKvSZB-!$Krz>sQoRU74C(~<*2 z0YiIz0p;EI7y*Xw4IW1@FaVL$_Z(cr- zW`HV^0NF1EZY7vl$2F?RlRHP`s9TQc%4=ZlO~ESRJHMi_3#f!}N^OBB7N~4I@csSe zOls#MBWbB0S%v@dswmpO>>DRAgyLN-;NZiL(_T5RHQk zxp1_=R(hnRr<4ZI;GjK15mgXDnwiZ?**!O#==G;;zP!e4%wZG{}K)W#9UBT5CEVd*85X2>7NF4 zRuUHisGY$%|0lqVq{T%5e*Zi2|CaqX4Cx@D=?nk>H}szarclFS0{}pa{l7_jonvpI zwu(FIxA{OsAABsT2ZE+yK&k3rV~mEvghpsesZqbARDyw?lVJSL1LF7u|B0LGA z?ZQGDh=!|mVj&I;HEmHmfPa?=)qN+b_eMmY+mK^_OF#L@vg17KJbzi~nf_NyL9)?{mXs5++3nHDbQCy|0+-d;6|*7@8~(^u$e6aZY^Zy$Q24 zqly(KO!?+M{bS+B92+k3aHqKJPJNH9nhSrfq>265nT(4y?=(Vw*iDYe#lU#4qo&h) z+Or=$7{zqu-ln+4X3)N-e9cYlBX7M8j$Ew06eWij8Jsk@#UNnLW_3T1;oo(M{g&jC zR;4)%IDPfNTe<+7@wpbLA@ee3&$oCXug{?QSsMq(5N)G~q7k}{KV!P_B(Ni>6zaP~ z`|BveOR{Iyujlx9L0kLHh|Q6rd(`rm^x2qX)% z<*aDMsq*u+0?6H~M1qR-!Ljl(sMaQ`k+_{y?oO%yjjUISX{W%Z#l>_Vm**pZZJQnC zPY)I+YFWSIm+$!qDqd6Ff8Cvs@z`dmyXKST1UYP_M*otXWMQG&R3WOWsUE@-zqZto z1J-@Ed!{r=;+G~`nYX#cQYrmEoV{~&rC-w~obK3m(y>o$+qP}n>e#kBw(WG-v28mY z8H7D= zroogBcrS|NWRaYrQJD#eHz`UAmf#N9%_I^6mvO;D$jeQpQ7;)3S6H5RSUGV9vnhDs z3^6QVw>CD557p$qIuMgR#N+FK{MH*3kyFskWU8B-HDxA{&kG!XIeO?r#rEdeC+{SVt-R2RCdXmc&o)$qVf8 z0-bk}&}1E5P)WgazUS2W5zy-%5~-yXBR?{+WP|H8zx5-+Kpwp9_YjU?_z7>Mmx2Ix z&k8TDPhH8B*NECJt@>#w{<8P zEmH`d8aJYmGzizeZF8P&Cm7l-=0*uZNjB-~Iv@n@epAaNVL5K1X}AE8H|KAQ{s=Re zqxOl0?){=7e^?_e=6(ya6Ewt(bq;qhk$gVh!f641(dZ^6r{_9%Ix5;(b^1s5$8r9XOQiDb;}Fpg5nctrG( zNPfdC&adBf3>xMF`lpeGED43;dj(BS6VA}8kw9Y>{+bPB zm;qUmGM#LYydSG`Eu*-U6bdL}qK(Q1A!N)X%fY``#T=Bw=&#xZ+G&Y{1X2nzC0>l) zL~!l{v0ZPovy;r=T5FhfloSfc(U`gPMxU1nt|F{Bw-cB8LdhcPz<|LaX@DVfT8B)a zCOp&Wu3KABJA?;+NTja=b_F0Q!Z90rt@bkzTzW{u>QA}QIkGD=;W<{rey&u>hHD$G z6&?z4{;ltclgsLaIrY+1T^SkuRk=8go2>0AYe;`Y@0Q0}o1 zrJDc+pSK<+t^3E7swpB^|G%XVPHJoMfpReSC5atO0TSVfzX=+rc6(t0POM3Sz;|2l zuarrII$OcLVAAZQSL=t1F0+ZE4c{|8WL>>m%qGO+7|hDP*O36u5+_{5Y(hIZZp<5B zho4jD{j6f_5S_@K*l#6oV~V}x6EUbVbZRlx(%Z9=k18$VV+`4Z!-nJM|5_$2e1z7k< z_S!EQtY8p*-u>W%O27Nhi5iqU3%KcrLI!wzof-HMgMkFBB|)>RRaIP98!-_SpI=D2 z1~+!wa><(ZFqDBAX2TDZ6o{1&!uyi1bHrbHIFHzT;~GmR+(I^+I!04NIOP3U1V&!Z z{U?{pvu8>{jGg(Dj#9jmI!#C#F5>q?YS?>yX(g2Sni>XHU>*>2xPlguco<161wAnM zcF{-(Pa|*SvI5RV>(Ss{K*?(it!Vx}#dwIWDv)Op5b3gEP<|Q|npC*=D4bJ#d0pEb z%LsXtCJ#L5fP2ZEW1qg&#k=SpRY;IA~TP{k~%Ti%+DcWdJ`sYdE+ddPG5xffIaKmAQ)CWlt?)CVw+p07pozAjkSa*k-2jJ_)(Hte~IwN zF}z5x_??@-We5Ts4`p&sug55ZKN6AAW{GMIQa@i6mL$+XgX!V8(h5Ovdf4QlY^vx5 z9`^YMlFSW2lTfa3$LP=Hp(jn=&XFes_r+N=ekJS7^WT*nD0)@v?{yg^s_~Nu3v5*_ zp(herdnb=4Qt|2`&!M6C`v{y_VsuOARFJAvl*8dCDYXwwc;2E{xTi-x`7T6_<{)+z zH+G2zZq&B!-zVzKOBe*521i)hz0Ew3WHKX2&ZsXP=C+{g!6b$F>3*bkh4elDWxuOY zyC>JJ3ENBlKH01mzyjMyyOC^G1?Aa!?utVz9|mHaq!UjL$gvOOInZ2ZuIn#@ijlIO3qLok zW?CUn%*zfu)du=D$ghcmO=3!#GpvcerRP?mdA;bidulW##M z#2X!pdmmgK82PVN5beBQQOenIv}>WiH>_4E(7HO&(-4D7)eT;tOaceO@A-1 z;xl_*B^DZycoR=1m{n?Nd&>pDwvrMz`((hxD%_L}lG)|NE1mmjRW7>@wAL&HIDquK z(1~A|EiPYeRcbnmsLn{LD$KoPW=MkdE)WR>$5gG0;w28u2Ed%8Ol;9jdg9Lf2%m!X znhh^`D12CVxYDM-b)4W6HkJn1qd2}Vt#3)252xtu^lK!~GxRqtgEwpoSdqB}`6idV zuM_d8#Or_j47tgL6LH7ly_}Fc2P&QDX0D^3Vi6?X zCE#Js3g%R@IDL%oc&Hhu9{5sn1Yt%5qq)@HTz5PuMKlD`@Jh6;m==Y<6^Q zc-LPITO%*vj2DuGohsT6kD8wg$LqZ@-)`5OU+yfNxqgT<|14nVs`QCYmb7cKmCeZ` z_g`t#Mt>sxar96fQkhS6t=vlOYP{Y^C9*_$zt>7OS$Ta@IhL_rRjN6p-kbxxBY4Fo zuW10W!~66x8AI zuO@b0uI%#p;J~G!plBmRU<`IFaz@+bSWPNR2nO#WWlj!GTJ%WxgVmPEsU(;v_YaYMIb$`<7ay5#a z>)-5fd0D)W%}jEpg~$fAX)_#U(Z8YwSvwn{p{k>)@Aaq`4W!EEz>*_4Jl*VmU*X+m zpIrQ~hNJBx;z`E${Fy9`vng{a9akM!sJ*bR(tcLj0QpW<=TLtQ&bV`7sOyp2xg@w; z{9-VU{!~>bRsP{L@A8tNj3in3?&$NQMTx(M?caP;%^rMa_WA2q~S{}%I^vOp}$WE z94$!!vc~GN$SMmGp_+!r?RVsQ`giVkKcUDGN5s9v1Q`4L@$)EWlmoP3_JvVih;m>>33 z(=2Sk48e<`$3fQcj3DfMm?DsWGq|^gAbyRpG}Rbps84#I@d+q6a%XQV8&nQyCN^dx zGF@ZrBhEKf4H9C@pZDf(Uw%OXEJEdO+6V+_VyEHH;KTnur&+T? zCi4UuBcYHq&4B#Q_j8N|nShSCm2Fu{DEvh;B4J!;%cbXMx-}_bV_0$hI7l!7ohh2R z64>YCVLfJjQQWIiU}r{*S7t3~Za&>QVa@Bdq#L4}mpoYYB#z-)EoqgGPKkll(OEqaZ5>=%?)E*- zIbUvT;w`cA+@t1HQePjh$$vRE0Bc;&J-a@HEN@!9GdwB!ms74R8T1IoV((2=O-iGi}UV3s@bu!Wy>d`t8J!GY7&Aae1a*}eiDgB_eubaHf zc~;kqVp}+Gm}IIwKS!{A8~*I{ay zcWQGR6I&WZK`9z5TWbSb%de$_Uov0#lK%qdo$VqI7#Nr!n2QS-sR-C|=IdI)tJT|B z$4-2IX678>n}7e_S^url`dCMUmkSu02$)|*f1S`0+Ox~VS z^H`>m2pGQ+t_S{r6%0%y%oq$p&z~MB;xvpUp#NwCG&qG+hK?i+1qcw(!{?Ai@ITsM zq3@z^NGqss=j7~QZeuEBu5W5%>*!=|C}r;GWNc&XKrCo$ZD(#}>>zFI==j;je>Crl z?h9YkU&vC@wp~@i@WENF&1lm-hB{R-1E(r5Z?2=)J01FEbiNSZr0E~7LCHksh}K_*K-YX1p%*-s^xcO zNHRreXiHg-$O<~?!PdUVDnLCoa~bHU_bNciA2};eU7cQA^G}?@)o7FG-$=#ERn$>! zuguNV>UjXGB0cwHUY}6YjuQ05Ldzd@oXJ$@ZUP0J`f-KvE3fv{M($06Kg))qh)pVW zuU33IGEuQUockH$P;#ONkSFQGvIQa<(~F};s&L2jW;*^FuIFVX6c6@`*I1~!0-_tN z5toA$HP)@EL3oPk;GPsN1(C=2{;uMF>9ahz~s0bszl z;hL-dD$qRXj*pviN62y(GO%8)V5-=MwZHG(?h8`a3WOc1Ot-pEno9_n`R){9-wUd< z>9S!HM6GYyA{l-FqI*yFSSS2?61&usp!GuG4TFi*T|B!fC;@*#kjzsL&c0rJ!7u(W z^zh3^(h;V(C0ii#6e$6aALV?}PyHh+pC@LvLCc>qx)%t{Pmk=E*l(GiaRFIBk)I*? z>{mkUNc|Znql<{pGJwqP{1IdM8zy< zjnGegc9gqcCRY!ji7RT5^(O8oE)`?<5i?=4wG}#tj}8~B&HnL*RaVFO3{lpR;R9ry z_*Yc`;|=pU51(uBVYEjo8pR-IGlE!wsYK3~Uza=vRBN>h!Daua4Hje-++k}p+*;uT z34M&4m((vmOskv2TOQHv0KwbEjNP`0olqG#11ws5*kf0LS*2at+gJlpRrGW8bng#< z#g!TZ;s@e+d0o#tf{2eYq-O~kr^_!=&YSYzW_x&fr#{HG7%$toR~QjBfyOcCyXs<6 z(87Jfu(UV&jfHZ>KaN_6mLz|#b@pP^AiNgG4Kf~mfd6~%M3yCb`veLEbN~Yc#Q5Ln zo&M1qeTjeJi|Px7s;8>Rst6zJM#H4~s6zaRc)5jG0{Dd%jePrvULb-6{T7W2F5(L{ z@n?hUQ3i#7EjDG(11vTxeHIk+=RQlUGTnEUA6ZQ<7o>ss-?;B^QaN2O)>;|6(>OhE z4!gVG!M5nNu676_J*Fbr$iTVWu)xcwV+0AauX=;zS>bN3LeVF8O3+8IGO>qR_S_L^ zFI&fkQ_;P}?BbmSukz4`gbP}7?PZi?WZdZd8qn|lC>a7_k$Es1{BdxIr^U!*6jmd2 zAe5n>3%rw3k)|4~F-Uii(2pfdFT&Vvuu2af#>XjE4&I+ezNTO=ILTdS`fFlm3WY6J zm|K%vKj%bVQ9LWrtKb~v#AVN1IIJ>(51fyh9@{FE`d`g#pUI@FMKFhE;2 zBbObx2}_cpLS4%5cN)DS4)W?iLq(y0eMCFIB%p6f?VvrkAaQuA#)@R{{IQwVpt0C` zqZi={C-}{fjNE}UYjh_$GZiDbo<)yP=JRe%dy)PK80`pQN7{NWwdS-@6IlPS+!4Gm zyEw-3*+|&9{syCH^oUrcX$bTXiCJZ10ujJKEOnMBs{;QkA3L&rlhHg_+tCx@_Jqbs zD|+fiOEx3Yh|SCMbMj?r0Cqe=e`28Y65w}?3gYMT49sdVH`HqSimrATFb4~cQVft4 zddTWsSVUV1wvZd7joww5jOfqP`k#5zt*9K{H>zgqa;H^zEYI&;K{PapI|6R%7e+12 zg_eT3XQzVjz7=VCbJZ>J~p4ndbop4 zo+I`Ohlb&Nw~Z&(>NiE=IoyMmig=XhCDA&F^`_p&){4EP?n=1iez*dECEq5idj3?> z>w_n`;Q2a9PmTUDR%&x`Y$}u)nk^}F(a1u{92GNR+Z!}hmQ85RX7)-eN&BjNSXjG( zXI|XnhQcDb=Kg-FLd6WLNrG>#gk_=5ZhXD^i$v24It}fbJV0`VJjqqV;=#$|Bek^H zFW7*$L$Rju4;t?uA8;DafNO(1IaU~4R2NYV^xH9mtOQhg#*6~$ea*hz zIz&~O0~Bic?1fC-62WL@42}|sPX-t z?U}@aHjPRRusmM|J`%k_Nn_4qNjPfi( z)ilka^&Fl}20t+H^gN4ppB-+LDn67d0b2lTtqYhm9L~-(luN@mw{z9Hln!0V?55cz z@eK!G@EY8gOOU*yLG{}uauBGl6uDHwEL@ZvbTD%l`N+>hlWsjBD%rVO783f;iFv+n zjk}ju)y*%%gbZKeyCCjAy#?SnO)rfT zr2XayR(pY2V3Z=_8v_g8l+PI&JQoOqs#J(**?kYKA2Ls%s2t{ zy{j&G@UD*%Pu;<3m|hB}jAzzk9T>AerrDl}>O`TaZzb5lG0IPvicH>Ch=oZA+}#Pf zv2_#f_wV3?&OILr<>mfL-y%QFa+HAVQhq!J>{9& z!b#{2`{@Gr$vunAYzF1}!_5HG6=iA>xq%KaESV6L^u(9T5Ni-+h;Eb?lr~|lDN1Y6 z`nWlYR}L_Jj~$urom!eJ(BViuc+g&P#3(L zzHB}Upw6j89gx%zIjqR5^kiOCs;LGQ_G2+zEy|!eo-Y%xNO2uVw~}0NlxFlKP~F-! zgMJp$0gNngl_!pCDhq&Yby-hr{*LsXO-tR$@&D1s>>MLCS+wGjAjUp)KeoEjucq0M zd4Wl#P;WP(PCCc8Q8ymZcpZO?c3X&Ky5l}HC3(|k8D>vcip5jmPn4yda9l6|D?=gH zY`TKgU+b=LtpW(=n(=eDoxXLr17J!_rVw8L^udY32yzGI>|zbvo_&E*yu}Ez z@eUriD!_tb5#WG2>01+#sYsa?Y`Q$aE{GnauffVSq^)XaMN1Z+eyi$=adAVD=ZGdZsCbQakB?p>Xfm3|mhaEW|n0(B=N_ zmz7O6%b@HgVsbY4H1hWj^h!C40&Sd$@=I_Y;vPtog$%vgeG}cw5u~WT2wIsE8&tD>lA9g4s^_dGDKo}%!Ub^^5;aaW)0`;g31>P< zPo|gd;-f_$v5i7`bp%2q!pAlO^2h_4@!2zkLFBzqVjK@ZOh=A(0Cs>*$bIfWwAsIT zR5{z^nULK9Hq*Bq;Lh|nG=#R2p=3*NxgqD|y-qWt;P$;_ml(b+Mpwj}IJf*)^qG70 z@Z#bk+W=k+zf<$*{xS@0k=Zm?gm%TDzhu-`(10=d#8B8V44K{CpJz|0P^5I2dM5iA zM=~FnwP5Q%*xe<1&EEZiM1Iev?ojH#Qf5Il4`2D_eZ(A%M{Wi+`RPn|Ms$Jl(*mw` zy!>tYoVfU2Kqkb_`ntTc43KiRu!Zj@b`owA${7(DC+!Y0g^y>G z{n9SQZ$E&6>vul{oR9;sA!53hn-0(+>`8=`C2Y7g!|4teX?=oci@!RxpKYZ{< zc)x)v7rQGuJS7ecwM*f$ubF-TZ*EIz+t0|rvlcW(?l> z{XE<_bujR7JMb`iUmEqY=@9Ve2fI#p2$tf-xnj;Z$KVIhq~q=Pu#K%~oq{tCW8EDz z*kq&x(Q>g2q|K_!$^n<8b1W;gR5B7BC8#F8Qb7f}Zr6?t&H;<dXrvCES(q_QW&0?{`wg}78&eCJDOy|jOpbphGCxn7RD+57oz=+G8u;gS#rvdv$)z?j&WO9eq#B+v??9tySI|B5)Uj`UL8>^{Rmv5}&OiQmmVT+l)Gm$_C2843BcHG7K1pvRZ8)>p6_u=Gh1^St(Qe z$b!ZX^Mvq=t^qpDrdDN4r&X0|nbPfkwFsCbb+SruDQBRj*uOju0Ijm77-KuurF3M7c zrG&KtK@4D~#hYRLqIVtAv!`xrrOVEV;t4};d^7&k(7!Kr+@y7%fXcv)+3p_!ht4b# zSyMwe0_{JNlL=*OqIg1s^|tuA(*Y3LMAfxM5YC9a&@X-Q`)kDLkLI0rX!YIubweiG z%lixFWg)cqki0fQK1hY{;)66>&gYLyLXy(C?1~=32e*P*sd5}-ILE^Q=~m*glPyBNJ~IJ9&6I@5 zy&sB-wzfGkz-I-InLceanc8OqukkE<1@M_(TivUASX=+=@6(r)xLu?EO#l12_ry}K+7$2mjGbeLh;XVpapKNiNla96`Vuh9w$4k` z=XK2kU-q9WNK>DTS6XXVGH=e!d6c&0(?{xXAsn7+?&Bt9qiwDi=OrzYtX8@o8?8_$Lv5vjOhvdkDqC)UH7(iXdGk1mgz+9(j|xU2?iv$mmy zz+Hk49i^_hLT0p4s73Ev(-BvbYmdxPtiI^UH_MN&IKosfk`&0La~24!!o@=ax0cPG zqEt<~2Z;SiUp;Law~nZff)%2@@d8!!x>JDC*(wZGg*iUWqe>Oj`3*cqg)tQ94}vaE zLrTvtX`js^*kaud7ndq#3Z_xkbPpL5D)UxO*Y~{j`YJu4dq*>gK4x1rrHYggyeC61J++VH# zhc{_g;GU|t7{Tpzs`as*IH{g|Egx!4mWX&5Q3W9n8=*d;o-7pSjZC{=PzE>VH5F7$ zEP;#YIt*(&%MWWny>t15NkDYeL=dFMVHKWXFysa3AHR*h>$=lp^&%b9E>+rMo2c-a{2rqX&*Vc=ya-aPM;QUK_^l0v ze~(+sY?K{HCh03Bbnq=e+!0f-p-Lo`+nY>m57}BXsa6`Xlr0y6xt+epm-Q)8$Fg_t zEpcMlj5J8a=(HqFGo3T#9{kQ27^{L16ZTxkA5WGVb*t6XWXxQA)|l55KdaNxp2kg> z{9U+bolYz^*$QzRjW(-YaO&JHMQBuKYi=Y|)A6RY3E9@q)qX|l7cF%UINl}kT%^Fh zAuVpkJLVl3hN{Z@^$S@Wil+Wpe>N)7U+0$MXb9DRqO>eh9W+K>=@P{8d*$)nuwMgb ztav+-IjdwAd~V8OlNc)I4OF%PzhAJh-^EQf1>IWaV8gfZ=y6rceT-6H%7Hgfr_I!j zB0kfD27?NR1`9P*nO`go$6#59?pwu8wf`uW}-px3~tb@R>eiLb+Vb? zZfuSV^qv?8L+GDVQJ+up#V%vXB`!0)WEHQyW$ixiyUaEb;ep|=$Hn)IlF32vm-112 zgUh|2M^x}Ug(!b>7PF8jBg!ixbQYRdYJhv9G7hE_b3vf5a~De$fG(O27i|f|6rhoN zP%khit5O^k$ma|`0`uty1mV&Djm4v%t-+&r9gazL?vF`zO|%HMC(?ThKWP!|euj-R zvcjYO8@K0%Xa59jbWBumY5Gwc&?T11^|==XE9hG;%o`!Z9okVfw0a5u2a>jf28%oY zJESqQRHq>LZCs^9q=H6NY(%n3{@&iqH;wLB^di4THxMdpy&${UW+Jh8S%oTmHEtxJv7S8%z8f`TeS;ZnH_MBt?hYLvwQ;9>oRS!Xy)zX%7GRPyd5)}=;7 z`l~&QPLo>=$$)h>B%4OXm5Z(=p>636%zm+#G#5=CbRHVy35n98>Ts=0ZRzazudQ6SSSWpssE zJ(ReTwlNQU0(zm{1iKUju9A&X+&E~Jr#rZ2{jj^x zeRPolO!ik17G<=kRZS4XQRA$hnwFg9np`Kt)5De`)dYsf$jz&;B2Q!zeysiwGuJkc zDG`65x0pxXbk??056b%AAgU?O8O1U<1oxQwP1sx*(Go=?p~T{Y+t*HQ^QJ>Q`BKGQ zc1#fjsV5Axcf}*kR>*{kCJ^6(moRtq?-0Wr$?*_0d5ziJ$Rpr_O$Dympk?wyoM5H_ zbxZ*`sI(9<4MC!Iczt8B`&#^ajlBS^gB2PX4VpRt_D8f-3C&G%hlrK9hn!k__qjd< zdB1XTzd(|J?;L zs?B&oKexrneC~StZ@K{cf9(QaY+v|d{z6vb|8#-i&EsSnzkNXj1QZYufb}_H_)mNv z1UV^a2oU1*)Iyw--lq0t8|7EQLCHw7%U-wrAl?x+Q|KfC`u>a?deeif&l{E2b-TO0 z!RaDJnM(v4u&@jqLKnBdkSK38l!o2Kuxv;4)ii8MTPk;=!{t#81Iwrt)iMI__nNK- zr>KcirnPI0!y1YwNAe;4>xf(+rH8oCSelmoVgzipXOU@g3*9VMp7SgZI+!;BxTNEm z$I^&Mag2p)XoMsTC^0c;b8@ASTf3*d5tLS z4xH5wj5M@r$+XNS$4x@tW5{Z_xb$sI8_zWGSexR`BH2jn-H3<)&~b+L3(xPfly(ft zaPlv+6YhlK%{j{tq1o5#t*LxVlrNdqYEwGuhxs`2$Jhqh9hAL`DZf z|1s0Rn4{5{lY}s1#bprr;3jfQ2sjSPwspo;k-PiS!rI)%*d$Ca>w8GFG6Z+=QqR+f zAnOP4313NwKj||6yEoG?=`~Jl*0%cg4O+wX(qOxD6BQS$P`7_xtv5*Cl{dMkPY($% z7sM2dKU0K-N2G^`ze|%Vdf$|vOporc(_XbvFHm*6-5uSy=za3L;PfO!e;58EuyUzc zrt8Qzfp4!r+hS_EKLSsH=g8Gwe(G6Fszws{X&l6I;X=^MB4HIyiQj}y6CyPLWo0L| zFiosR{V>^zBcs^zaI|AM92I#Zi%;V}0NiJO>F9}y0F7*z<;qN?H zA*jAqfiAg&q#zy)(fMD=J;MLH}N*x zWoI$cd3Y03_6hHZZQ4E8s{NJ+W&H0;p?*~hIT1Mb-V0wYB#WYr3SN`6y5Us;AN3qX~fD3AZVLmF=F*mr-9s}6x*^!1`4~UKkyqg{Y7_pS(4mv)x zJs6~HNTl=w%E2A1@h>73h5fA$Lx|Hxvn7}6(zusGXC=uDrmYKlg$=kZgnds)gU|y? z0gKrGuHM`pZ+-7iJ-qzCtC!&)>iwen!WZoqvK0Q8dM#Iq7AzVq%I|=jWRaijY%)H zj)e*BNE&oPpE%hkm)f)=PfYH9M2YKkm&LgCu;#eJfgwRM78FW&5h25XgXPe;{7hUo z&tdQf-u;?Sm?fjC7??~#fNViSm?)PxdBncaH?hh3Gq6^~fX~z@Q9_E<&rOG2^`}V{ zt9>*TcPjaH4VoWO;0{l9BiQRcjQq*(srktHjbWnLk?(fIsk-iWX@E@yQ`sFsZ}kx! z2rD&JKkGTot2bSAe{7O)7;9{9^Z$ojcR8##$t_1IE|yXu}6}zegI%QAYJK6@v^03+~|lUEARwAUn06 zYJvWYcijI^&ioHue-VA*i}VXw3ZDU#ABB6Crv1DQ3KbfSDqM-2*2d~{VZ-ALpFmwx zFcO5UNxM|K-+I>gStR^BRUdGe^y{~G@?G2&3_K>pL;Ztedx?MOz?`rK_5Y z?a~;i6&{T2dHJE>kV77=hRU1XK1p~@n219Ov#MwiSz1j0U9Q8joI&GZ$>3+b$E(-9 z$J@)mTukkOoE^D8mjOtv*+J)wYysO_vHG+U#w^K;x!y^E-f5_W`zPGAqi(&TMdT=H z3eG;|qSMgARy>Zu<2H$Z008M978J7%*@I?r!Eu>qf3xXZ5`P=rwz$L=5TZZh3N~8W zW_EQH+!TuKdFj>Bs}^6e6(ai*M@c-!)l3ZPW_Vba(^tIu5zx2u)=p#q;WC}yQ}zIJ zy>_ zay`}eJ?GiEvw~a|O01v+^FB)Sinpa~j}kOP@p7+U*y)|Q%9Ix3qw{cZRu0sjE&Oyt zT9V6S9wyR1S?gOHv!x&}|DL4RCdiMb1Cfj?(F-z5)@sc!j3ebNFY+ujd-pvR-j*xL z^vq?fF5dqr6Nz$`4I%ol*OJoUEXd`q%+M%Op)tEp)}T{M>T7SM(j)Ow^xeBpN^DS8 zit4a9)%qnb%#?-bw%b;!iViZyQrhT)Y(YpaYc%i50o$81D_Nvbxh%xB5?KADPocwv zMYyI9mR!A8IHtkwvzm-va?CeTwk&L|d}spx?qTB3ZoIY&@5MLB5YJNqk=mjyj43EK zj4@CasdGDgB#QT05j*$zZX0Cmv`Yi|@@wS)6vs%2rLs(Cj;02|(0Wmnue#VwjkIwF zH(CpG(nMdDN~Lr?&KDV=cW~0lCR@GS_-YTV^s9LJ0dbg&^w`^V`Xh)HapxVV?sqV3 ztuS~@f9;zUr-%CrO2p+Z4;aDLH(~hUYg#*)ZAPs_JKsDp{LGfDPPTn`{g${76dG_? za)VoFu0sU&O=s#4#7YNlXrgE^bX}0ju}d@?w?CBAweO5>`MbrJ!h$;#1^JSsK}z4L z`ah@mD$`-iAM$p zoP6aa4HT7dQx`zEKMEC(?SKYevJf8V_tu)+BJbCl4lyJyKzgV5Q%?*I#rM7sM5GoW zwqOg8A~>EAdt};AWfUTAh=ch4OTpsHiF#l109$ZCK%02~dBNg8pRNDHdA@|d@I~~6 zEOkh)L{Zca*}4qd`lp{YB!2r+kbY~qh!9rfpz(ab>?Ntk3y>e~dkxo3Jhi>qMjE`lo+HSmb zv;LLr^1R4Z1hN=NlJWW;!zLeWYmVV!z&XJtA7gu%2fZ0L?#k>n876w=&Hm_D;6q+I zbbU$sDyG1jJT7Z=GphyY*;QCTmQj!$Y0VivIK=YV?l*Z==u?y#ix*AYHizwwkC+25 zy201%u^3tMiWc_6B~K+=BjRI^AR68HMi-WLI4vcsq>rl3UAa#kT*q-MlWD}A<=Finv*#Rskk|%WhqDe zlOCIpKdzz2a9mpmG}2mod_u^KO!D}#-NWsx?G~C#c+9=nuOh!R`E239qU;2Fu){DA zBMgn9LP()NuV+Y2pv(?HSdG91I=|m&dgZ>SiviS-VS~QMrE4edl!pnw`K2ez*>?6Q z5#h*ix~fa!&vg^cnbxudK7+r0BU-Z%BHYl)XJny6AjO2Dl~@*LpS^eM`_05Z8<1PF zX<9J8?>h7hz7in4ZAVVOZxaVT57O~_BfVxCna*oEJy33uFLg+CmUZmx-qSN67b2+n zkw~5>HBo2E`W9n*aL=JXJ*V)XPvl{#uoqE3#WP^t4^f?STtB~2S$ei2LdrP_)I0YV z?cji3qKQOo<;FLQ?A7DHuparfH3U=aVbtY{6~DZ?+PtLST9VcKkTb0{H8rYMr`G0X z#Bd6hl(+H{qfU=q`mpzcDa;28wo4`FmawgH3}yTXN%X5h(`#{1RK32TxqnNKBOi16 zX@W~rW9JpflFD^m$J!s6I=yvwUchZyq-8rgQL}w+1NqePtxnlkM?GujCsiSSX~rB) z_hKjuR@YC~Z9PBc!hG(yli&%nCA_mr+6ih{$d2%rw*_#tee3j3dpj zRR92v**)=BZ?&cR#3m#Ku2>8)VbXJ27oE`*q=FKKF=TGm7|*AM+}xC|C}2_CQE4D- zM7e59rniqIuLm+tsNY11Phdr>A?!2ENT(w8nz7iv4+C}~uzC8rHRF+g*$Oewj+c`T zq%X_YGt-B}-q1e?&E|Av4->9Uu+94A~hIW<*pdBv-bheQrMmRh5O${K)m*t0`co-x9)I~QA6+dv$ zRtlBCwH;V>y6u}BHT2ZRwyZ_d6<7^ zjSk8(h!;dvcZBkmDk9JzGaq)mt7WG~~YAP zre!3w{1hYI(~?EY%3r60=%!hVrV7tzZ3yq~oH63$@JX*ErO907f3R|(Ld|u(&ymQz zJzWZ8e>A;CM9rE?{Y)lr2@`O6HT;Sg(~cRwMvfHO>D~=w9?g5!0wu? zW1BM~%28GtL#G4Vx;CqCxM(mZZAyLHGdLMbf6J ze-m^&jxm9^k*eU2;s)I)rd_n@5Gv~mdFqTEkc9=>((2qQ@Nn(= zk*bTs$+6C5NUx*()YQUyRpPO}-p0(@w1@1d$N3xmM^z*do0ckR>1FkcZkb73&Wn!f zrpY}>*=6HP&U`JSZx>vCE#d)Z-a)OAZ0^gt>ZB&+unWl-s2r!&$hcsy8dPec6A%8Q zDw*(IZep#QKf}x0O%yk;eg<7!b^mu6<{tddLDau1wk*d&OUoTdTutaV81_oGe1$y` z@0oNI^6;!{LbA1-89^@F>y}g)jXQk4c~3*XPOPNh8yxuX+J^}EyPpaWTWa`Rn4~a@Dn{?*6jXW%Ay{{W!t(S$P7(& zxC!zx{pJfH&m%OKlp^qBd_R=rkrh{bn>EBgfb%9e$05@JRH=qBu!QQa4wc&n(;|cs z5SSU+i#8|C@7ir0|+_E23)bp6xbq4mV91X{U~;TSm=dV!#1YBO~G?S*63+ z(9sw5K@CZWoLCN~`VqD*&Ir0|U8CP&gfM0q#ZhbabSA2y3V0O88e+cv_>HfxCpN@D zakPkZfdln;9_TJ0h)*(SLtOlbvT|9ldr@!-k38{+G^IzHNU(Pz?6^&3&ntArC%42W zt-vRK#W#t^fM|PYn=xevS>L3ySF1qN2QYxTK(22J!Ct3RRVW1?VcsAX`|X2BKuqh( zCu;0a4^A)uGJz)&2VpDpHJ88&y>AQvnZSc!Ule!`dQ`bnc#mD#pH^S_V42?n|J!qCP;bXEASLpeD3fxMUOMRP|o_dv3X&!6OK5SNnLLn*2 zYF}iGa6fe*YqANv^7kQ`wsLta1^TXG?%&xD<%;c!BEqT?Khz^2Y|55t_{&vlUCbxBzk{yJTP2wvs z`FH}NJ(6SAmy#;qDU+tx&BiHHA`II`lK4)z8Od2d02GM1jYJ9jl+3zOvG=s;V>K2VhGL~Uw5390R9S#r$hPfarr&wh>IFN>?+S6AFwMdZ4p&@j zx@hApZI=ruT8y?Ubjj<8L87H1Kk<$^YkO_fv=PWS*#Uub@u#~%9A=_h= zkDz-@$ZLb{(GzucudZmv`)Z5VdW40;OAi0kxmZNn3x2jKX(>=O-IT_`B=lX&Hn}=^ zsN4o<=65-*8#8maS;T{HSoQfM;@a@y4NCZ-D6nfc@tSny+Cl0WBKu13rrI<7ChOq# z6_)HHnd?r2zq7L!i&^6*KKwuh)kv1pE5=;m9(X2sYYf^GSA9e>X)46WSJai4?ii8Oeb z!kijovAqpC2)l%|On)cTMthqZQ++aH?QNF4;wIQwccaE{R(V%Ow;si;-xqChJY<-a z19i2OGh42*1tf*!P$G5!OZ#W zy+0c1LV6Q@rMQfg?5=>VuinGj1WG|#uS>(kwN+E&TLf`ctTNKUABWsPmnlD zeTR*8<6wHrKA$0>A;>VC<2dERt!r2+ATAFG5g#)0hR+aXUlE1p4#Wf0_15=<=@>}e zRFrQ8T*cPZMTG5>W=GJDtPDABtM%)|N(z7Qy=W#I=&3n`h4k)q0^Vj`jHf18O!iHi zbeE$iyUc{3BJ}*}5%I1m4Qrk5LPR`-#_I)^kyF`ru;l+TS;A3BFFx}UI8S`7M2jmrG5MaHSQXwqnl zQhur(md?3;$NHFkVGyCEC|p!~IMISH4QEUIb3=e&brRy*fVKx){bz8gPUmnqwz@s7=Kws8+V_INjRE6n0Pr@FCAcdPTl=l^hz{QHHbf&Tnm^kue>#r*b-`oHH;VrJGx z%5JvCs`~ayhWcNIzyI3x|3&@NzZL$eK>gJNM;wjMaCAdclgDm_++bF)*Is`KQ_??+RR^z5(L_l;1lu_T#tVw zZMmLySl0~2`^psGWrEM)aD&I?z4Ei;ncWxc$pe?KijC8bwcEOvFI7GVk6?C-TpBesj(Q;}UyYHQS0 zm0eHrH9lzz4einY(uF6Ca?}J475@7g zhn&|xF(Yas`%WwOtKpftSxM7Zl4D zKK1I$2=6Qk9#YfBasH;EaN-xbiISGyV1hYn=kP#h24kecp(c!=Du&1wsH3v$vzFRQ ztgu5Xw>nhRrE$O%o)?Hw{p?`)t8P6qa#$0rHEB;ntVoA3P!AnKwemO%!J>8JX#x1* zv{0j<4DTW?Tncn}&+#yQDNnmEW&N(?wBuqmQVf~UVMj9;z~cs7bXWSV|DlaQd)KeQ z!Lg27QI*q4rFnYr*IgnPseWTr1>vY0$2;RRH|j5hQvb-7 z>bd#?^L3<>eeHpr^!MxJ`uSP!X7NG(Gm~U(x@bAfehqX9?g!$MU9z^Z(tK>4UK(z1 ze>JDI2n6$|lIZMh|KJF2-QG#3H_*_<`cjq?bcw;RoLh7P!}lcJ4Tp_dT=Y$wqbC0{?2jBnESnQo>G(Gi-T5mD zJe$$(?ES6u=+2>TJv+g{O(O?H4E1U@cw#&X#ymsJL8r{_1a7%qJ3N%sIXh&86U<(5 z$IPDMXdvbclP?0xIY+SpMEtZ(7TWEJO4QX|aM76hqp`k5+<{Lr_3z?fb`e#Nd^n0C3q6kl^iTZ(-@u=0` zl_~>8>zO}MJH^dgCGx3*dnA9qH{O?9M5L-|(=r~A0>+3hGstTAi7QH0Retx6LK!os+3(RI7`(F+XaQ*#l=9UGcU8la zs;dMp_Pl?Z>b_TM$X%;)=Oc`_(B21x0pKE|*Wa8kwmCYtLiim>eLT3#g$Np|CLKrE z`_o8F{~#=-wn4{v!pO$xir(Ucw*SrF998`&`<57^_~CVS+`$XK^$z_>$o~^6ENMsL zZ#^jkiE|0;R4F-vvZXZ?`)eZnbqp6bVImPxiLKJ5z%()aJ$XN~X1X0*1#)$>{|piF zW|;!VD-Wph@+%@dN~PX8V*IxR?VK&|4|eJPykvt;(AE9QxFx zM)!dR^C}(6s`MT7)ofK8@yb*CG`}ySO&_I)E8@sDQK*~g`b^kq%uU?dxX62WB{7bI z8n_RT-0f|aeaJ`Ji&Si+bjE)z|Bz1fk;2k1=_zUe-g7rR@jKy#rB4h94%8s64GaE? zcaEa)cui%f{Ow^Sab79WW2eW26wHJdTt$N2gJsl<=qx78DT@FlxP%6$@Be}3U&Vvn zBk6APqX#gJIKYS!Y^%l^sFVsPd=wpQi>iv*lV$n?%<&L0u$6?+HsrHvk_mUu1|(&! zG-vk{zB8)+{Xf0~jKHQkxi8oLk1s;6;D1v934Lp$FBpZ4nSs5&y&I{ZwY80-{y*FQ z|9SA`pmx;%@_YO@Gx)dIKmA+yp9)m9lvY&{KccIU*ooJ^a1#krf%y%7p><{>boq01 zP<=$GxQ|)N$?{QM63X!``;d2ycLe}56Hu$$*kLV`7hw7YSG)}&ati;E_QRQX>*fW% zq|fK=8-%Y*HQ=YfMd)@f>Gvwi;2342gw(#l_0U}uCR(VVR_Y6=>zburlaU*0Wzht*~kiXeLERmZw?+O1*PxeNCpT(Kb)XhMO>R2bjn>s>|$e zrK4EP=SyRUw+=8yOBQqTHE6xJm@f`Ja+R3Q8Y#px*xa;bX)fn2$-9~#_+VQ4oV)gu zCCU&h+>cG2BW__SM`zN(6K(o_1g+K z&AjB3tY|*#m-_h#ZwWjTJe{x49Y4RFSt`*+y%urI9ipeR;-fb<9VeLC_m;Gf>(z)* zeb*9hrT-d+u~QdZi@9Knlx^_@n%EV$=$Ic|c~u{5bEV#k!jw7qqjw*jI&OaYif(9A zt0^b1xLZULV(|)Zgqj_TT*gHFv9#fWN3I{n&ojlri!7ta%#v*Nw{%LCTbW=;fkDLf z!mxSwlnbW^tlA1CLc2OVTbQMg`8mD$ngU~LxOoBoFVjDcEKYat_XDLYec9Ma)G4|t z!)0o8=%C#>`)sI-M{J{3#7^8jFe-1FFpF1)I}rK8r7@mmLT=1D)=zC*SNp)&!Hwr+ z7acH>U|Ip3>0ptV8nQfj@%rZijyrf^u6y^%=Fb_g!C4yC3pr&-gT#&rUE z(W^KQgm7IEkNRddkZ+wv6Co5v*nxr%!!B$>45V=CQ!tX$g{2cn!qS0|oVFCg?Crbs z^X(ge0ZDIM<^zK58f8M}11f2Iuw$A}(`kBSNt~F(DFO0mBjh0i_SouJsGwSeCmMWx zT!~T%Gb7b6h|F@E8Sn>mvB}@UR~tgPPbyYn$N=<`FbFnJlV;U*X-q-2Ue!3#{}1xCL4;TyQ0 zkhzls_azU&gNI^l3(3gs6sf*!)Ez%+dS$l0#2{ClyJUVA!wO?=Jpe|s$?akR3QzDnQSUuAHP|DO+- zs+ohCqmBLl*JtbB694pXxqnJh()#Dr{g`Ml_Rz>jM@)))g=;6vjB^%sTAtn@JzYU*~-k!jFI;&b2;t#&p`&);pFC}z&9B~ zrf(2oge^?lq4|-mf-=Nt{uoNpO^4tzqfM8oCYjlg%=p8uV}zF$$$xOjdnFnS&XOYm zbL^Xk=H|f{c|*8~z+w^dLLSh1O6e*aYNS$j!2O zWa+aydoQ@gb!RY*_~%lT9TTgq(?K}^QmBo>jNp>g!q?_9KU=0PY|PMwo3e-ukJu>) zkra|0xmnPxHT;RmwP-pI+?$EV%2k=0-559EDZFPE@O!VIq}XKaKt~qCloVXL4^Aea zHyu{vt^ebS;9I4ED*P@f43lJpwV%W28@HNlXbb{Rb#uQ zA&~AyT>E3&erT-Jp`?`Bda=}NuArBWGdkk?xb!(zyw#yUG9$jK^RABVV4F$tS&?hf z3(mAyFRkf!F{1E*@c=?Ogp_1a$sW#crBs@{XcY-m>y^u~+}X;oQi~o*91Ug{b4SD+ zZ~y~=lq+BGdTSzcKG}+ zDcWel_H2gy9*^X`g)w?tZSQcMJB2EKJmHi-;ciQ;< z-9iHBTecUrK)r(<{7ub)+v!Ep0FxxvHlW;2Vldy;h>|&v+1M~2A0#nN z5S2d*w^ta$l@FKUQMFrD1dX<>V5wf_U<~!X zmrY4zecD)qgaE-CDp!eFn2-O|(edpXV_FcueZ!>qf9co%zcYaU6wm)f{L{bae=5*~ zaaG<=^X@c?XJO$2|3Mz>i%2N-H!#9p5|IdmG!~qUiPd~QVOWxxIStBT+hAT*Yfd$2 zWku5}Lbar%LRAqnUdU!uXYJhD<=l9+-R5zozP0_LVO2GJ=275qj4k2YgWC|-=QG3R zr`M%Rc8E>KdqL$lbt1jH9p|>c+pD^J+fE1vyFAz(r=ouE*L-k3r$MV9PaPNnU7ID- zn`MIn#e)LoPZSJ=yZ6LzEFT3wKEnynw;4ZV`95@deOwj8Kks(LpDKxQdvH!}2eCg^ zBcR!I{0Ka*1)jo!v)v`nOir#H?w^8!_1v#Ip9J7KZ}OlkTdytdKYZ?=qTJsWA~v^W z>mSR5H$ARtC)}>lH|TrZ-lihl{oH>rB=X)59irPc7j)4D>EfbA!A7jo;m0E~6r>Q# z-Vv88LDCqdBk#l2tDbdBGq2OJtTEUAh>;FU&nzHkxZU|fbuW=N_F&LDb}iMcY|5RpTUC z3}L6HTq2ofL(R127oaIzDxoY1wG6egti48Tp`}1lp_&O3Ry3+u0CmkA{1xm^6B}ye z*KZ{j`jM4jhZdL^seu?ci~Adr4{Krvkkb8kpXK9YP}CL3*Su;%)-{Zk^&^;|@qvrE zU$r@XLmi>0MU9*KXKdJpiat5jy_nnV@+m%yrXq&=O12gUC)}?rzri7KTJ!XMY^%Nq zoSIi`+>QXAGV&Blo%5H2`!>rLU9B8cVPiA3hG0;T*`f)D)8tH;(?TOc9Qsqa$11Ea z%mC;%ny;y;I7&mT(SgGJf0Y^r;7tf7UB!Do6qX3?Y3LFQ?Pk!R#m7JBSw>`~?Z=A@ z7x0M8!T_(0VxiZ_+b3z`7c z+x#qRR(BAbN;CL3Sbq2nML$#IA&8d&?51Ls@?gK6oyJKK=k|1mp?c7; zlqm-F(VrjsLB-}|4v9K7!%nXYc=gA5>O^a5?q`Bhtyo(;2s#L5TufHoW5sr!QdOIK&LP2P7!bAJQ7!TY3wz%>Fj} z-t^08wh7EFH5lG{XLId583`)KA&vq3JAT3}^|3aKp{zKh?Rfbwkjg}`lp%wF_Dc+)6i(;{sPhSkc+V2@EL8&D~<12WVp*A{!D`)L(>L$owu~qrLoEu zNK6s2HmfGU!LmvEQgzcpsK`4<&Se%;rDjJ||Fu2@=bEVq(h=j7NGl#X3G=5uW2GR6 zHg`Ca$T-G_4tbywu8WprHN(*;ORrNvJ-r#|a<1l)0wt+2m{T(6nT2U%T&4vvP zK^%=cQjXnNPrc5*xF%wOps8rJ4Z*=8x*{blST;W zTfL&~BSdq_*SIjQknh~XR=1+DQnR1zG_DAkAKwyO%{vBv^o_|D#(+1fTUan7doBz} z%;!_6z}K!1u)C^7w!x@&fcZf8v85rp3BFI>y*zI z?7l%t>c{U$58^G!lE@ejREQac66uJ4>m^OoT*8FMfn0fyD~?7wo8IHrS+P|R2hR-C zuZ(_Q$`F*=mPnZ~%Aj8@&`E&T;WiGTUmS&NIZLGPE_F%%nq``d!*)DvoYE$pqT4K) zlCl3?@V&rDTGo1cf8CxYiLsw4XbZrd)s?`V)tdk%!^{#*-gs=^iYda)BUaz{=I3op zsn)2KqWnVAO*TDZOIr-8XY4ap9vMs>@{WWK3-%$X+W4NNv)HHtuTT_MD5dk#SA_r0 zeY^gZ>9xRa-*WTk+_gLr=XKJ1Hw!1Mw}2a|C*;r*VNDyy1X87oI0lcT(t8;D7V7kO z7POotytm-S@<7aI7?6N;#*oPsBsdT!f#up7kEBtnq{;JN^ESsnZr%F3DFt~u9qX7s z!nCZ>J^mmZQnK$*+bG&KX7j3C1CDxe77xEVJ^SJ+n|J6XKsvf9T(h!3*uk_fvQo}K zCOsU=9E7ENN~DDB={r4=wBYvG$-xkTIhe znK#gx2gA{HtLezN4JI;~ne~~bszez{7<&aERPvQew`hQY>oIu zHv@7Co?u}2ho+!Zu>TtVd$Pv-s(B3$UDEo?Yb~|FA!vV>r4MP@uGAe%L36(HxeYBR z?#Uy9x|Lk|`-0k`B{YQv+HBO-Pf~McgoBK2TlZSQ=>SE|Vl&v=pSeuT2Glr~Ln?i8 zsrJl54htWFM@na3C$kUA4Z87w?s8n*Uq~b;G(V*&3pZ%>q%nWHeFxMP9F&*lTJ%+- zTSt}}$P-+Z*>klmUMitCceo1)us}`UjneKak+~7~7>)hXEL{sjy)9#yGN8-XUQVm* z-2eF)D^SBWO*5WONnNR%QTr`pN=TNo#QGkaAMLs{nNEv*iQhPeQzauif-VYl8KN4U zT^uwx1}KZgh=8?C?;t-0`!aSgeBiJm@gWf@S4|#rE^8GfdANAg=&aIe8-Kz!eV~E2 z_BV=$XO+8Bsq;VvX-GxdG|fyrZ(B==Z~sHm_y7Qr@ddA|PQd!p=M2`{*vez6uO1h$ zxwKV<6*)5&eqQCXs*ndWMtjltH2$-*wpAl&CSzvX&OGj*oSXDLw##t21TXoH|20rW zTwQ>F&s^t>pm`-&95Yw>S+=m$f_X`*g01KgW!VBcWkGfneJV8CY;E$4cW7&IsY3mqJpr?k=Z}wf+KSa*cq5{5)rL8@ETS6GdozDTiFioi z)n&KZV6zo_$_^Nzl=}C|N^BdngKAelLT#PxIwhM?nnPC%<(Vu+Dol9=hcXz*CE1IX z^m3OjGt=LpIx`Q9xZfX3XEINzDMH{HFp>7Vn|skLW~KjPS0moq@%RcQ7Jnfok>|fy zXwdeVA&8yJArzgxZ+~d4qn4v64j->=dWg9*J&>O% zwsxv~dwWo(I2|31xIiv3!_80SehU1VZi$$Do_bmX$4Fzr0$h9pZtEVet>i)uf+&U5}t z*~}bG24|-{sE8tN^)5L#-zh_lKbH4SM~oLVLVN@6f8Jem1etxX@|A=5FS|mIUcr(H zm=h_CYMB6Wzbs>JzjDo9ld<`NV>BFbuIvo-rA1%_CdE5~2iZJ@fNG(^qWf2+n^Bg# ziMlh&9riwwUXot8aE9vK(PDz)?S>$^?t`EwJUAyi>SAWe9L;jMb&a`ePRKOr&?7Jd zRm{<4Qh(_+&<0Nmg^c6(gZ3eI)e~Y^QnfOE8q!TuGVJyG1H)dm!+PylW3mJiYZ5i> zp-z05>Q$mJjsbciD7rn)ZIKyvk@1~U2wZYn-1_>pSs!(%>rbRij&_HtqjJzqK5R&Q zJ@frdQLg+}L@omSyRPr=@b(B?NZp0kGVuew`MFiv(Qgi^f)<=H{HA>~LU&cc?r@Xl zl=HwEu~sEJIb6){@gutqOuI93*RJX-|QCi4aWoP+{-7q-)LCU&Fsr}4A>Q+Cy{WyD7DsiJOXd-a2WDat3V5u+# z$QfR3z82>#cR0SIa=b(Kn@CuiR$j8jT^zI%MiEwQM>DJAbY^cJU9aqR8iQ86uyfqk zpqf#-P^{g@C+}lkG?X{^LkFnHAZlI{_UDMss~pz4;F~BvjM~*PpTilH1ukvu(KQ#8 z6kotfoks7jn<$j)?l!4RDJMpHG?p}}8I_IP8?S9-=v`n1Ac^ZOVtR&?Mp4AjFOSkL z8Mc!^Yrv$^!BTh0r*ip7{q_!~e#^A}fJwh)Xueg8wCz0jaNvE$SqtB+`QRR$?KEt^ zC#NZ`9n0%9`RzIi`XIOCNHgyePSi6xj~*OG;`oVaqd20*^yrBEF#AM3jbw30-C<3& z&#Lo|lMDqI$ljS8+GQ2nXL0NjvVX({T>Tht4F|bm;IvN|eJz(bt0pclbvR24;R4QS zfSp^-nIBb^A0Kg{NlG8qnI0YI+O-EYd)j}<&RrjIT&F}Ew|Ac^udF1|YNTuL(^L3= zK|zYXSl0$lza*1RoTwM?2KA#2KoXRPeSy#(3#t$avj@|+hJ&u-LI>;fBUegj1$&0M zO}1#WN9I&rnp7efgM2%3s+1OH<J;QU)y%`rBIQg{`!2mM$3q{tlD| z-}pn!;m}Y&4{B4(PNI3=>d{m`z6&Quv?xmHexLu`+F6}+(MI=kVjOtFKWr6GR^T}C zv9U^AfZKoavy7{_l4z%mlkd9y55cg?Zh)rntK;hI%h>S$AQ=AZ_BSMz5|*?1XO8&K ziO9c*fBF~wPf;pXN+^???OzzHG6-15mZHMJj^FFg>OG~`YK*JQpLWT~qJmMwu_uVft8;P#$)b(n zjEyj(&(Cyh!4xq%f}t<$l-b_=Ua?iH^0(#JOgNjt+64=CAR7)Ro;wa%U@vKtz&4#v zIkXyTshfYfcG=!#(de=s{Wf5eoo7i}xI&EC`&Y~0O=3&{7IuTG%ntEGNZgybor=}& zWBVO)jk6Esp<+$Hm_Ck)Uf}vDn&+!}OL}m^s@(})mqj9(dO~I=z;QHj@S7KVl6~g4 zsHYZmgqjDp?0Kf>mOcs5rdsq6*!0@tg5#Zne6>32bJKAf%{T{`=MUV$-tVNnug1La zhtql4W(QMH(Ip=YQ6blfsytW#iAd*-+n+u^+sm+AlD;8D&+yex+B07fqx8mhU`T|b zxTjncg?8{&Nn(Cy&wnUz{nNRietud}q!ql2CEW0scdR)L$R4$Q_(q+7Ooj!z@28uB zIgA=?#w%HC!FowDTuWk!b7u4F^$ISkl(iO8qAG+_^i~i;V8|}`N zFl!=@7$vKUF#nK~YtThXMLbxDvx({9di7G(MDOy7(gJISVt8|9j2PN`f5T?rjRZQH z+{aSm`Ef%k+k#*SyF+j@izJ`t3;vaLT%eCTw@+=7e2G+O^`9k`M>@1~FA=8#+#)ui zq%b_|&0i)40W@JemHX!f zOq>%uYMX!ByA5j*{*({`4J{Uljis%MwG^re1BIr~fKZLsS+hh;T4;DEsJ~o5w(=E<8ncf z*L=cDkaXh);RsoIJ58<2P;u*pdjQ8DZQB|HY*X}Re>UZ}Nv2{V(CgCLD-tGm8IfNT zC(FFDBeF@l2>MRpW#pg+QqCY{#!+pYE+P&$jeV)2kHNkD6}1YefhjmEewpUA8x; zfX;2;vS*fKhuPIU^9|keb3-?eX!Q9^vzX>4)3avoyG}qS1wkdtll$`R>-SBCpPhSF z{F-ANBSW(MjyA~)bTz+I>b!qnReb-P+RKRneIwCmTHPavIPf;Ou_C`@dUBp#jv{}= zY+Kyp2^^6(wyGR{1%H+KNZSICZ<0MZBwV7e+1&8?L&|&vZ86Aps9o_V_!!^3&vYZ>GP6ZUM;!$e)^q<)4luKLCzdtj~}BK8(*)-9@tAVpkdo*(jbH zdl=w)tj{t23~6sQTiG%nwOe{JA7xuKBBxKp6h!Y;G3+^blr`zAFW#gGT!1> zItiatPg%pC$Zw6qpGcmYd!Hz8U0a{&cP&R(!qpez-w9ZcWrgEPmJ~*m@gu1!B?$%e z_S2{doE3sgWR%b_M<{?n!8J0vgkZw3Y;(%Juqu5+EXH8LiqsH5QDx{`^ zJV3AOWAE=RxgaIQwL5xBGmc;^sA5-c^_Da=Z0{sDrOX&c3<~VYNG+UqA?4;EZBQQW zk(h^mh9d(`2VW(d*7O0sBL~O+02h|wH=Ac`@Taq+2Nc{#u@N<{*R)k*St(sMaqqcg z+(&gATh}_f$=0q~TENaVkN-BDy1b~#XObP;Tw7Z@tJ%cX#7fEAkmBU+11+IwVO~yi=DKF4UJkly_K94a zge}sYb#lg4^p(6UBBX1G5Xb6t#8{sT|M(E9uWpvyF1DONL=f>M9v@fd$xbKwcu-^8 zT>1+*xpWT>{CQSqZmA~0mQ-OAQOZC$N5*0n*w{!s3NNVJ%+M(jVGfsPT!S9m;a=(L zg;w-m#aeN)GofzFr9-lCF>sQJ)=3`7!>bwYLqo=u^?ON2^si#W^z9CC+TtSg8sgKx z3jFZxas5cEcBQQk9aiE-S-D*xU#Z@&dQs=a{zC2|$_Dq~a9{QRl^5y3v)VS2dASg` zF?T4J7P6}1@oQ96@U62zko~qq-IchA)j=3%WUwCH@6^ho)?oIdh&aQE`D&mSke=op zRhJ)M-NacIZkceF04?6Y8rax^8y(i)`fJ;jbfu}99tng3Ai;LAG&DoY9EC&g`_=04 z7X&5DkEcoaDnwmPiFpCa!8!ulJdhpe^SWSEHyURlXT}$=qoU^0Mx7+#=-B)sL6lXh zIwz%`WW+F);r3gxaAa5Ohn`e7o4+QOuzre!i#R8m&O(%3A=%)l7`+A`UNvgoA5kkW z*fjn%BD2>c<@Mnj{)G;_(mtOJ$_7v>*8mh8nKCIzvdeCC9Ujw(F_IvhaF+B;HlkG1 z<7i9g;P+LM=?W@w2e-KBE3y>AgNERQZMiVU;xYU-tT&gO(bKm}&WW7miDml-!s@+O zCJFM{XiDwdYwEFgN293zE4@Iok=(j~u(=r#7f;`n;KLm2E7AZH#`-MZwZWd>MD{5P zWf5XqKC**53u(_eo{7uzU}Ol6jv^dEJm$nmfuaq2wf0q*p*8_FLxBpMC6hrP&l}F; z7v;M<3taRsN~oSSn7iB#CtjMn$T6eQl8|6(`_VRN$A7r@!Hc(TV^IvhmEFpR(&2JA z>(I7QWgSWN6TctsEv(Jm`BmjL_=pZ~_0LoEKu!?QtoSGh<4-Ptdt+pB;tXXc!=F^m4%m|oYW#?WB|XMbrNZ0R$Ih$hS3gPw5QW@5IWU44aN9|1o!D&-nz zv(5Jk7K>NJwR)eQDqN$E%CRmnpZ;R1FwI{#-v*GAD8Y}zw?sZpLqZdU`dvh$M^PV=2MC4R zFfEP?#)g2`L|z}3a5R%af2wPzHfD*~0QzV+V!W^Y0v-!Tc#C-ja}WPAoKqK$s-1IX z>sCOaW0M3}mJFMR7ZjEvOUo+F!m;)KDljkXmx`)Ck~^tAvR<(%VP>aQq2GK^B$ypD z{A)(5l1mN8w))FqPFot#1M#E0++G-CG&xqo! zboDl_ahPMiix^8p?V2TC0cyogh9GvqSWw?yYv@|~UdftJ3`LFoo2M!PqCQ3M zU~K6u8Qbh>=aYDNvSFAaQh)4TvY<8B`pRqI@o?znL|q)Mw$dJQKVHQHC&mQVNI6GvO^-LQj=Dlj&l8PG2^_A%(LaRG~G__>)|a) zY4WF#@DscT;v|K?j%tuw%I8|ZA_m^YYjQK;ul>#jXHFE4=3M}!AqUMlK0ae0Jrv;e$M zw5Ah2H9N#%_Z)Z*UZ|b9VP*60acIH13)nma6f)lVv)M|_aVR`QOj-eBV4?81O?$Ct1Lx1o-A-7r+*BtsYTpDPYhxP|e(E%}|F zO{g7(nkTqWixAD|TN5j2vZ^OtHZ$k(>2NwFMx5~@1}lHt^-`CJRmJia2nt>nTIYY%2|_(ki~!9esp}kYLSG)_Y9qF5tM7 zK(Z?Cq#^Xp>Nb6y3=l!-pvTHql}UEAUdei4`Ea1>ax-&nD62R4zDQCm_)Q&IB z18A%hmYUEsI!ZnYTAy|$RdPD;^u-ZrCX$^jSS!eWTp;Y?AVXQ#+E1d3O%PXlwf`xV z1%hCA%mZR=oJBt!jsdgnZ4)~D(O=7&# z?~&Ea`Z$@U0I_xFCWof`Og6nH_jb;ZV@ z9-JDhnSWIKtNXb8`bmt+?MP;eXV{icoJ~SI_P1Zo)Xi`8@8A;lT|{;>jD!T$8ja8@ zq7)1K*1pqR~w*Z*DPlM%AzpAqFEhgB}o3q%t}E=ZCjS8cMV?H1`{B3+<#1*LHO ziGv;=>fjX0&Y5f@}Q{6U^YyX1+cz*1tn|MFYrX2mk+lvw%+$+i> zTgX$K82V>cy*VY1O_jbC`_d6<@pn|y0P-xKDGm2e!+cIrk4WW0>`Rwx5DWsx>qUD0 zy`5hAkAeQpmZ#8&n3kv1h?v%=z=&cRHvavcS$h86omzVS!<}3Dj;);t`j6@U6m8Gt zeu3sE6O7ND9X%b-{(dzb&+-0FGh7-Bg(#brr{oA5gsDySW?Znd;4XI%n(=Y^}?NrOE}+Lsj2_JJCSoj7Z*b*O^a z(VIy|3Vd({V%%ZrrpOik0qnE5=DE+P{+<<%=oJOuxiKnkuUez?>avg>`3opzcuc`` z#4?T?>NG6!(qzgBWC^A}bAVhq9*A@Zrjx$pqG^i7FC_1Df}-woFeeTg)sVmn<-$WM zTPH3LCMnt%mf>3>xcy}lMUcbV?Q|2egRlef`>Cnd63kBHc2-LYtPP#L`#b6MN)xNm znt4k0=B@&OxOtxeZt&SI5&iZ)AuTyQXghIntNI+A@g;vB1b=jYidhXX^O-j>#4J8Y zJ0F62%b-EWgpsHe61Z;MN$5c_PR;YPfwSuhAKMNlimEd}3_nM)o%IEqnK$+uzx@pU za| z+|OSRPHzHqG=4sCs8O^^tVdLW=%rr2?K8TJi^X{Vd0kP)mBt(W+)2 zbCu0BEB*utkpd6gw&Kc&lX5?>z6vo)9vQ;4J(}oNI9)%sJ(Z6j)@3M!wL2#x*vB_a zZKNMoT69qlTuXN=w#NSHc8{-H!;AGEUzU!5SFSt9mQT6t0?pG6ZR1Kam?YuG6*p!P zDC`P4{CP-5w{OoHNO42@%hP^9g89^!$AVaXKs{@hWYmZQK7L^Ktdkk0=pVj0)-`9cMq@>B7X9%DPJL3XVWD+$blXW3W|Do~2 zjGCatjCn?p3VBKrDo5?RAypKU`x}2+D#x2G(h?p4BHEFmiK#7m+tpTR0x@CoZoATa#-r_0Gc)R zX6Ss8zA!#k;FtqP(!3=Y?9Y0=C#bws_Azt_yB~$}5Q2M?~Nikr+R* z9WBzQ(HPYX=tPe-a7d)=R|H#JnQOx+w?XxEj=inApKC^MQB!7x0}wN;3Ykf1zb1bX z$2QYG1?*f?f}OmWsNHC%nXs1S;EI=jejVX&4eqP{g(v^``YCj(_yabB$GT{(+9i;y zoz(>cPEZD&6KC_{BnR^_92md~xq`OTL*K6)NoxcqP8=&{hZH6JA>qJE9Ra-7z(tEU zNfIoY^QQ^@X>)@`ujSDn+oi$BijZ7vew3>;+Qv9zE-xCvKKG`}ZRH{ybVYF}*;zsE zTV@|chNTq+!DUe0YpT9Qn%-wv3?9cDHE4!^*quz?r0cs^YMaWrMxB13DR(rnW6rO{ zb4;uI1B%nC*9i+}MyqWIZA<@*a#^1q{F{eLH$JzQY8HAh0MOB&X~Q)K5Z{S4Ta;}3Je-VFReW%rSy@NP`JopBW;;0 z1|uHCDb-VzoKyypV6a~ECqb&S!N#By@-6oaKuK-@{*LFIIrl8EieREOF{K$YA(W!6 z?tZH0)eO^{OdEbGj}OkvQ8msDEUGO6y>dWNd6#pHU$dqt#C%)PiN{O=;n~BiMCLNr z*qY{CaRqQw<$<);flJOAq52I&=_l|mBX&QZA=OF94sSnT(m*%dR$b1J>nEDF{B5%z zx&ukYmP%cGMoE~KDOw2gVfRSnY{g8)zNWMl?iSkDwGBC_V%M=hu~Q1vZS2a|5V)`4 zz{hUuSs9m!%AI!xf^Clhp}I=*Fg@Zi@>0xy%IOs8NM+yxiTSRs8pq@x@Ow^CfD$f< zFTJZ?9Hr7$T3Y2GF+YtvNFYg6sF^f<`e8?Us9p~S6Ru!%u1!NOw%CdN3~f!i-x(-Y zxt@pm?iGt7F!<)utKtlGkC$09UW|T5QDtu*wG7)whf7YQAbm9WI};{%xFG z#BAU&ja)j%20n;I)jyC&Wt^uDz?{)x^PI^=+41Dsm3ie3n6PK?TauM!yR0tTwr$(CZQFJiy6RM)`?B|c_l`3nGoRL+5i4@dPiu}b9GE$gm27St zR-}|J@(77aWP`)XaW1t@jjHbmjXX76@_+%^(U0_=B$6<_%L3!|O@x29H2<1D$6SGX zJtlNDB9XSNdAOfFKd$orHMLz%8Q+LYEg{yTrW$Oyx84+4Xp14-8;KLl*=>2n$NUmm zP_4tM8dj2!Rbx@XuGLy9FIp_XQK{e#anJmKs6ptLYZ}jfbnxYf(KKg`~ce8-e4!m?0oP+{N2VQFY6;~kMxY7$jtrwBc6{a19fpqq9j9wA+I#LV-n6(!xCq9 z0mYpTTiQt(wr4r@$!mG|jDopcN%?VL`B9Y>wtlIaLyFa|&C>YBqE)v<*2sqQb*t#P z6B(Hovo8x`%lHvy=aD@w0w?%2uV=GPVxM~ZQ#FB@EcAA!8-bmE^@R+$Ue|ReKMd!i z3R5^xS4esA)l3|0Bfl3JBF{VF=%o+PI}Z(_iCXbYv0Oc3f0cq+@~C_$|85jO(bhXK z0d!|t=+!N@@N$X#EK!EfUE$gWq9)n7)zbr^Kj1A4?C6BZ3WNQ3l;?RK#j779z!`-v z#r?bg;wM8e>IWLzC_~?Bm)!%UU(X1#X6Qxf5gidOC&*3>c>Z+&Zql93?$d_=|F=G+ zdKR zEN}OZ(e$6HdjDeo;a{GANK(_*MpZ}C74d~OM2iX!ZCRua1PV*BT2esUFOu+8D^1n{ zgzQ0)CSY@8CVmp@SNsk4ega%66TTI^IcKpzgQ5EIn;cK_zgKoW>v^~w=lJ-1q4tVZ zmc;gIK&~@Z7bN!6Z7$nW4xMz|-o|TdyCpmPQ$IJyTDh-T(1WzuHvEaTncc}bolmL?*b!u*=z!RrUn@%+iBWnHI zj{+078Jq#dzgJyXId3@qm?Elile2z~qxl)Ui?go6V!6tJo4!1r*rt_4&Sk{4#7$No zZ@hw`GR6c-;aQ6yp9bYxIISjM=+W_bQNi|#=mW(ZkDD}T-Zk1Xh_C&Y`H`yS=C<4$ zvug_MNzB~Q6c|ko8dE3Z{IZA$5zP3jcbEkfJ9F92AmVzmpJjQcmnw6)&Zt)?2+l=0 zPKu-bkF=s#t6|o{Rs7j=2sV|UHTUxj392%lUMwC9)2qyr=_u__5>)pzE9u$9x&R^+ zH_04>fUg1o+;5Ggy98iDv{z*{)|v2QRWa4RD$k+Dt&d4F0W2uwyQR%cX+VjyZW|>a|?%1!qP+ z6+%rLOw}|d0c*nsG3kT0td^r!yr?J1UN>!caN#oXUYg7WzDzM@km>FAcB1K1xa&KDjLx~=H!SKXGuUVJmn>MeA%3 zN=#Ae6(|E#EBe;pu^Jw#MD9Ot$=!>048J_v0e|2TI&%oN1>fipx_pZIGYv<*&b|Ez z4WY$O(au0g8>8%BV1o&duHh-XQCFC%CA@#Ody(1uEra<;R@0X`pmBs@o;jxl9-YIe z)5)OlCLnP?%bs(l9@bT~s!g47m{DhqEQIXrkDAbLO*utRQ_k~E9<0`!%Dl{H^KTbd za#3h(oc#`~9^)LzoV-iwZySxJ)F`S-e8b8kQ!ib>Vk=+j%DT8HguNa; z{Mq{EFAxxVw_Q39GYANC$~-;H!<8D(K$4Py#}Ej_oVz3Z?<}jY5n9=-Z(7vnH%01y z9#T2~pF`@u*njw!=O3aHzv)#%Xd_<>^Ypqa`K3Qvl;SR$Yqu2|p^V_e>ia>#4ieJn zNoj3d$MizIY1kk_DTd7j67ME$Cdi4bGbS@x_)c8u9l3ozKmUO5@?)qL+Ea$W{X~l_ z#~Nt$hfaEwY&)f9rAktmo?|ATDMrVF^Xgu8ZYAGd-+Pwc`~8&uV(-k+$j4!zky zL^dxZ!IyJvHdEz%*q{xsf{77R%A6T;Zf-Fz3-7qJP@Bt>3CV_Q?LD!X3LL4SD+EjwTc(KQijWTl`F>c1j9jBzceR_0BYF&{Z;u-{_iz z5ciJYES5ukb1=`uN?1}{kf68CJI#f?5D@pZ4w(dM5`if~15zwxz*p*)O z7H#Zy&h0be+;p6gtY!CW=l9JCgQcOu<7M0`rFolqr6pwFJzNyH`ILdhoXmzsrK%cy z%cMG8eIc9p$uhI6Y@YZ}Nkmk}M|^qz%`Dw{@zxv1u#RB$1}M)`o3}fvZ@&@CU_bZv zdYPxU8rglve60u2Ritnw1OSO}Q|n(Ty4PyUp7AdLGL(bHB1sLH?%PO6-Wh(2)o`{s zmxYGo*vVT4xL%YNRZ3=h1+HVULi?xseyOjz9V82k8PmwDhYlh6rur=qVi~zJo1ze+ zJ34PauSk9FRH9Uj`8Xn(1q?>51TW}DI3vvbP>FPqM_xQk(y8LZuR4wGh>|drw{h>< zzVURJh%kqY=1>0hVFX@98(^&T-4~RsFaLV@1TeAakQK-X_rucjZ9chFZKz$}C3!Dk>-uK*ko^B3cLu zWy@(HC?i=k>Pb~f7vLe}3(_$-{+(3R!D2n??S5ko>NHv$0fdyvdaI@5#is} z|L`yJAA(e5Z5P$h_!!c#XW-r}u(AzG zt=`pTIh(F+Tz=)b5uKhCuMevPS>(}wTfh$sJJPgsz_6w^gv6$?4_n#Me3GlB|`IMn^55->SnGy-135rK1HEf$p0NYkt(!%V8lAIOSS=nG=GsrV0V2aHDnauP0alg)?XWR7%g zafOTVoHb zGqH7uyTie0Q9@dSHU?eoFkeD@1`z+m{h{0(VHoV$N2Epl3Oo5N^nt0jk8V%tqC^*Q znmg`|2rqD8ybb#1I;Su6)hMcV{AE}!s}G}wn~MZmHnFuTl9>k%OnG)w5~pXBc>j2s z-PiWu_2_#(S@R#t_T_+zRB5R1Ne&eVi0Xf>OECurTL&3i^Z#h1`xo>N{}TMekh+JR ziaPdJR>#YATU(o(HOeVS5gPQ`FMj!zKwe2Rc@BHiTiF+NMbr;OG+fUv0a7hxs1derI7R8pS7Q}X;PH)8WxF>6j zN8`m1|7NjHb{{#+RhpOjj^MaUeV+-`uv32@6r?+lhoZKg<2YJe37azBWlNOWVU*iw zh$PL47x~P2q#5e;z=hg0YE9CwscVuCqYiIGR{N~=LX;xjCi0KHIqiH(3Mu}89L1JN zNrwGAh>$!@e60k9Wemlo2KPLE3o0p@1wm6h0@aDwU+n`q-YsG~-o{pKj$;YQ-T262 zJ`k%C9wS(lr(t{#bu-UZIRvc%=ymAFb|#v-5vk!WYH*p*{Rk#T*T$SzlQ+lt(gzFj{ z<&3AE#vf+5V&#;6b%MT8=-ku1eN4fOdMer}R1Xlj@K=E>9VD|D6>S~fbv0;HA4Q`5 z-Ok$pAK#awwT#)&0iqF(C?0kll!6K+fLZ%t3!?&8Shc#x41)HWvnutO~%^55qt zNoBp$^pwkWk+ZlpnCBZ$W4?3q>>I?qBS+OAR+q^fa6{D}S^=XT!9)uSgH4Seop+)l z2*@H0xoH&ND(p%#VtVNx>HbmcSHJmF)8?W6QjC0gSks1P?sW?qFgZx>xixsu`fDHe zGGW`*^~ONn#};#H8~`J;AKqJh!lRE7$jG7m!{EKfmKJs44~4EFxp8fqK-}IQZ^z+- zfTEJ2O<+x1oN$R{lST^^EuG@c;`}>i8>%h!(zQvQ=+J@*oP7=4m;OyS3Gz$uZK|xJ zjddwh%j)IAft-6x(&%b-0&6?qIM6+_@k&gIz%Xo!l{_WT{WxPxIu>6)+z>aS7sFMV zlB3J0a2=WrJ*{hrtac!pyt0rlenuKlIvUj`QBFNta>Z1`=s*aX=LM(xGnp?AZO1}3 zf?PZPlpc^-@(4l+t6sL#EnrMOs^C@UyP&G5-$#=x#bj$GhS4H(X zd6WR}-qO-znpid9ZtyNj-N0?ft{2*X{uOdC_W2EH_l46oT2ExDRyUY#y9u;Ky9=~N zJB2L&FJ61}&PdZ;$ibJ~@S6ge51^#|kWzF3VTBK@jL;rpbLfmZ^jo#duW+0Q-_6w4prM{Brzh~b*r=VOG{##dY|GT<6#O*U=A^T?+V@z<(gis`zAOOMQ^&z8R%o8Y|L;?M z;p59v6XX%Un@!THzr(2W(g}3DYgH3amKwmsiMr1L6>5Ggw1`1u1&h?g1%>|cba=K< zqC#+vJdS_C#_j`o{%QuI(opINqN=H4`=F;@3Q3T4q>8+$&EXB7 z_0D54Ou(S&4=THXqT9F-CdtL~^zcb_g7jEVrOE+1VL z2vdx{-g?^P9KUK8nf%K{eVOTx^JA9M_DFP*sXYvPWR4tE#U)S;NgzeKQYKM_i1LKl z{PbM`pWS3>jiiR(02RdZ1>6Zw+$i^g?n_!5`17aXb_=&!-iRf?l;3vD8U#-{%urX7 zF3hz*^@Iju8Gb+pFZQnc5!20bG9DrZ{wR}GjPg4)4O}b8#aZ9Z96T`*t-FI%lDk-=-9V-21SxPinxs^fa=WnX1u6J!HIP45N++fdz~dp3 zOKUexUlcgvnIh03<8d#nGWifSgB1$V3#$>pa40Fvsf5Oz<58&KGwvdyLP+w8LpQ`8 zOuWg2l$5899(Pvtt|-`WaeM;Lam|wHTpjOY^ykK0hbP;zuAHV0`rKj z*Z2bI9^n?`V7DVn%Z=%_gAjbMrx@PUtBk>~dXltgWoBN4z8L=d?m_%nG2H5V58(N| z(D>h1DN-f?E`?vt|M_O%U(i4NOYjd%Y8y5S8fdyB_Lr;)=?cNp1_n|kLGgN-!W))U zprCm{$!JK`SgO2jWsenv!7e;(RWZ(y*et`+G_Ae21DS%%QNTx2)@Ek8Vs9iL*hV4lG;` z?VC!!VMwBIR*GEbz5kOK-MlQg9GAsDYx}+Zrdb%9()*!0(kq+7&OByIr_@&c@rL$O z#g#J5qI90Gg-WtIVrN^ecM|PwvtbR+&xX=I<09g^c%28e0p#WjviQ;+^u zEZG@*%b_$3mwa=uvp4T*v8YLcUouIbsN=?qmYZU-o(b2}07iRukj}5n_9?1&4&e=o z_e<}26)+Lwe2;*yE#OJJVo6g1>H2osN5A9R;nhUA?cCbi+l}^<;g34R?Cd}?@#4T| z9w2&oR5|xR($%NWS8}CbDQ_<>oPJxlLhZgLu0kzxWmdl&BSfW5&JIk>8qIWS7`ZB# z(DJXDR`dWT#1GNq!sAG}UCMGZCzKKk#)2H^GZ?03=Miv8ehfJ_t6w;w&BG@QZ-as|=+ z1+XW-RoVnQe85*8`~M3|@86l+x*H7w-FFRkd~@z-{@1O>cM%Jln%O#-a{b3<<6qc6 z{7dlAg+KAB8pQ1#OM1M+PFo3JPcO^TWMq5lbp=(0+z#E|3$#3o^7Z^iBMV+A3P)Wv z9f5Hxe4j(olL`J1=<<tA(}5>D6)N1K&YzVSh79?Z zWbi=zOn1SH8vlvX3CiRRTw*Dp@g$0xJ|JPwHjO53Nyk~!DG3n6Jpx*{uS-6F1;ddj zhTI{#hggq{U)Q#fLSW;tAVl^;!Jh64P)L@3JVB3NSl=$zeg8=Jr;O`|3c~h79+!Zs zPw)?L6+Y3GxSx=?BY?Zti;T@Y_Imd%@d1%PK*=)BTNYciBQZyDN;Z0qZ9@OxDVhay z@O%5MYclg|m<;o6OkB)Sv?Yh%-l6{qZwEe!<_Qm%}hCDUy@LC!{cz0LufgjLwQ9yg0n4HCbeypqH zAw$s7_51S99@ACYx+W(3&`Zf#F4*^oTork-ZS4gGzycop$ z2Br5n!S_1eY?eQ6gi-rBSRei=!?*H|f0VrEc2hi^kiTTQKXeFsZto^Oq!7GDdlE-# zJU;-RQM`Ija~&V)yn5eq7O$@S-T^)gtDRI(okvAoAI&j*o};@0qn2K9DfLvy3KC|;6GDh+C_-T#5E`}0wp!UTNpM3Pv$HcqB(WI}8Jyl@{RgzQ8_CTkUNPv!#5!Vc2ncS9*LdD%8~<1+fhgK1LWN^fN|#Se_O!%4 zDq6E@%o~y7)zvtGoA}v%Sih*XfAX%-U7<)|Mvw~TzD3*F)bwe9BZs!e$ zQ@t#hP=#)-mI9x_<|>!D%{bdL4d#{vnq*!ao9EX4=}8g7-AB$Qt|tfld9ETd^)&ZX zzFBZAdEgntJtZ!^2vVz=b**SVIs#LxNjIpWYFR3F-$ot6pb%lY&0@NU@}sC6Vqi%r zR441`0D&LuNrmmcG)X**_Z+@S<}K%{z+=h5jTH(dYQ940`V@i|D zZdK4&NK24kvK<-YiURI!6EzC7xK+Ord?Um?hr4 zaecF$V{X&0vc-za>W9?MIte0$iygdB#;7Vw_?9X}+h)kq>Zot_YzF?;GR8xVd3vma zKZT6Ka&AX%gFFYj4FD0SpzN<<;k%)VTE#3gz3EG|Mr{*ZW4^XrZ?Q+fu5K*IO?dF| znEkPV?;IM!5Qw(14C=x_b>my^dtgyg)P#CYPiJ|a_t5=#dGG_Ky803=cTanDdtG~e zvAgUN35DK3VoE)svUij(9pEX1Jy8sVuF9`iV{P9cw+Xuz(iUnEBRHdF3Bm|>V9H?H zq@v*`um!ubC<#)ufw4N^?-fZ|@NRIdz%sI*8Y_aq=m!~IyaK=yYvtdlWtwQa)rqZd?jz znwg-Eqh+daiIx}4jA_rgh{kiX>+EHH+nz6G*n==_rUEEqAOEyi%PD={@+ zv3Ua2?MIVv1FEJJoQvE3PR8y7@L45iE^Sa4Whjd;z{FtkSXGc515n}9r)d2AFm%=S z9<3y37Adq=Lwt~w#Y?fhG7Rb}GFpTSPx)XBtUl@lSt%A+8zIwixYsuZ;xvFlO-A~Y z;pFKrVHrSgOk;nlA+mqB5BJx`ge)>=xG+gEZe0viHS^0#k)CG%)SDqK_5imtpq63z z5tR2*eFJm=4lZI1vTY77lKXk-jlL3BT-zv9*%_Ic63(yfU6!TFEFsgQDeog}wJSr) z+UzA`bahwN&{)b0mn;t`WZgBjh|j8l{%LBNHM_9tm(@HN?*5dOW0MUI{cOydNo9xj zRr_Ohky~K{`6ed}N54N)SUFiujjU@LtCuY7)5t9Yl+I|8ZMbM8kc4q=(FzhyRbLDH zBwOrm-cKQumkf388Uv7=HUfj%ENqO8$*|CFJbaP565OF`7NBH^&w!{wPu9+fXBqjc zVqtoj4%K>rz1c@+mgQP3o^3gFC{Grb2uWjcG&vii$@?z_7|kDt>pLUn9(^7n*a71W z@>w0G+q8M+)z$qN4Xxy+vNGr!1sR`8OXGH;t`r1mb$fT5GAoUk+#a?+Tuf&`jY$0) zlPX+Dtj;?!q3#75R@^kR5P8IR?6E_~PARLrsgWmwqm8ix60*hUF;)?Vs&t=p*idO< zz}QXQTZDH5#^x<+%J73Yaa}uah;Sd377Ck1JmZzV%@?^Y8ndb z*i?hC)*_@hW*p2@v|JRKpb{~9J{wuq)sbv9ys2EPcM9*ymL~n%nRi{=&Qp2b{O-nD zacvL^oPJT0XCc+(U8h;-voJ#4k#5ZVcn$82KTlCzF+?OHup8(btpsGH(M zw!f6M%Sze%G(!dxu{R3}_hNy_=>tjD$I;PQT9;F8g?N&`jFF8Bdm%d(U4L38Kr49k zu5xj~6e|Hb4jEa(88$y9S&$6HVtF3?yKkq+X*##^*=|vRh|g7VwucxkdiYygzF*?G z(PUzQQc{`*6_nxypQh7VJRiM*#aje;bLq|+5mpNY2w&$(c7EQ_`@^CNIe)}V6qJ2p zd%Ac0ZlsoM-8gFRD7_6sxk6;ZkBr}AfU%f+K7yg1Q=w1Qg(6d9BH{?^=KM+Aco|Y8 z2!076l6H+QI&fqEUOE??xE;2l0^AXC*@6th%D@mb&rH`|474iraoR?**ulzr=ZBk}KC>||PEJJ$k}8|id4FTeOhqO2=#D>8*D?0Q*U zW~0E7{>bsxQD&pWfqRajyj5<)vUGJWUED6B3n=9QUtq`xjk9H4QeSjY-YV+0D(#Sc zVtaBH@fuLsDU6YMqH~TZyH$*5pw`iYzZo} zCYwFwm?{-b?#AxM&%o%0BG29y41i?ij$_a0jHN+7r2MUq90fsgKPHF!^ErA1Ln;_E zRM7d4P;p*_{}i~dny(2aY*S~i3SznK!~wBlb;yCk5}=0!<<55Dt%_g|clYjHXep3< z)1+M7Ew=Y9x~#i`TeeA=&#ZK-czu8)wH$UwrDYvZ?xkbxfSzMnK2r20eRizR5LiSqfV0uEb|rT4D-pFb02Z`7Dz?9#s66o%_ct z+x%XMe?mn7X&f>a*}Z05MPSf^ebu}?04OgzX%19Dhq8lXDaPcJ5Vj#ZVg2F$Pncj< zpJ}nX(BDNBhH~5^lg@dmP1z@uKatZ=P|`^34$LD?kk5AuQ1Ag#r~@5eVLW_L>Rt>xX-A3C64qQ-gUdjSXv=g z0Mcd!2dB#pOQk7*R39+=6YBJ6l;b;Uu zR#bAJvc(sDkPM3Nw~OC$xUI|-F)}>ae1J75+>3aH^!HWNTaDTW^ekzyPje5fU-c!Leil#7GFMDB%qi&%Co~qt+>=8z}9Xk)m29!h(lgMQ_LDIpHRpF~eONFb0D0ka4~B z!y&tT*zqerR@RK0aEO604$IKxy!D3w$uzyMUpUA~-Nf&=E3JdB03)ToJueJ4!o)eb zXPd=%0VO;Kk|mlc^oa@}yN_#-p511Zowv@Ny9Eol5m7!{%1g#XJ>4z%G?cOJ#t>B@ zSjQSiD+XaJ70^~1V^#H^c`eYMtV>788En?whD#{ec z+8F@4GV?LjCaTbF8;!jdkCh41m6)tF;-QCC-kK9jwg|%@%1u$p7?#M z%7#fnPEexoTE726n;4dms80!zUH@pHUmHNx-9H47sFApt^_{T=+V=X1j8r*a#?)rU zNY=*e<)I`1LjK6ntlv{fz^Sb*VxW7@I;XnBJQ?1D`;#j>!~DyP^pZY(HyfnZA+v<3 z*H!&_die19Tl<6hqAKbBZAshPqR;b=`2^`xG`QJJP)a!zTTYm{ljMg1GkJOblJ%RE zF@jRJontLIR_xY?UnUXH)(QL%eF^{U1Uvcqy3JO1&7@Nc@k;K(gBH!REP#8#0n9lp zzs);;2_%k{E%ZwXSXYh5agoE9;3AFo;|A?}oObH|`rs%lBXaw5fqJyF)5@Z{+NjI1 zyI1O&WjvlN%hblK#+-(#wkjm~eRF8G_Q;bBmpp1QMRhy<2+S zxxFOc?}LiciVE9BElVaTbE(iX_tfn_mW7#t>|h(~+E=->xUic$)Z(Chv&px|+w8p* zdm?D!(j?ZPL6Nqj%)Z=ikA5|L(;WycAVE6!jgCr6_>8YTPA#*xYhZ@i*Qs6PcKSe9k7W4g zWqH(_d)nHB5$GQl@N~lQ?<_ypA+@;NpN81X0tcUv-+QU-FF7cZAf=794<=lSj$n@@ zkR_O=W}G^jz6M0R1Qz)(>g(dk3aJwV%{(A%w|C%161qckZbBjU`$XMl7ACXZQt28R zNBl~>U^cZbb{s5eXMBgJrjPyU8Iu2?@OF2hhzeTq&k z`Zwhf!0Qu`to|cI=Le`*kw@5_@;ep4*^;B}Ild#KJ|bL!qkU9ar9PxnjND_aCBz{- zJiuE66EkVjJqPyyV9jS=1cJ!kLudjvF?J-UQAS$}QI1F9Zxb~OMqujO{Q(M@?%3>8J`{>+wXv|MC>tMB|mqPNgz)&u8R;7p%=kY;Wq z%E3w!Q}!}n(z)o}f_cFOCu|%oSSg0u^{B%nA76ZD?M%UDstG;4b}H@}OW}_HuXcn{ zIm?BL`EuDKa5wc-2A)z*>_{#mqA}Kj&nYQx9xjs*#`sx(P8VxaMDY?DB41Agj680^ zbwS^dvCc)i#hV_ry9s2QRj`>rzM(u2g}o`Kkg^l>aVuK5J+^G&1k($8wD6&zGk@^_ zR*JO9SX{79d12)3L=0w%27;0k(bUGgL_UTIbi&~Z9R3HWHzApYDA)HBYgLsM8K3!JObanOvVp;lC3HM0Mp0#vq z(TKZ>ksG{^k3ZJKHK08a;o*i@2G`t0%nccG^GTXpPW9E3*TplZw!^|F^_AGlu@K9=6k8ke>jiC!M*xj|D^o#y&&%00&wJtxq-VU=1_%1^z^3-B5J zcY?3nQvDx)h@EvPbY*F1#0aIla7saH;g|7C5ZXl-KM1kA#deX&+)urX3e>Dzk&~Cq zvsdT?sf!hTYr2UER+nQ8+u37gozX6r-3_&iVqCDWI`Y8NQH{H5{#uh>;)(vW5{S~$ zRne)BNOoD!%+it#%2xE1edJW}7LYBbEDc2HtrP%%%eKdOHW@$2>s>9nGRh1uTK`QN zS`x$?>F9T7r+ut80hLiroah`FjN?S0=CNm}3F)v7py@}ijTc^*7Slju+Zdb5k`!IO zE^asB9vM8NWpIV|B4Lx=$~e`@*<@LaAa!hBu!|tghi48>Ud_bWPEcl5UN`5u%9n5d zD{7f@Wv8|%J>%sVH?VGMV2zmtUyx>Chm1i+jCMyEgY}S{5HtJeJG5#q66VtZ3n zg!07+Rk~K0<}*pkIop<|q|*wZy&?XTfS}}C-uSQ)4>agnAQvs5(E_uoGveM+{V01u ztb(wBjb~JuRBq`Bt7=mWfb?`(Hk>z+Di3Rp-DmjbQBqK7*JZoCPqOB^AB=)|XK)x||e8FWo48)Z$by*&~zAm}nbnSR~i zERvvQ4ktx}lU3y|cXh5X&52}YF_=^; z;13zUW=-xpURJw2i|XTXGe6B~b0K=7{Mu}xVKN0eVREf?Yn8GT{o*R%%q^pCLJ23@ zfLZ?AE4Y4aKWxbFdjynXG<1ZaI7K21ee<=TpUoI?i;he6TUP#EO<|uVvd>I^;+CEZ z?j@l!J0bxW#*hr+lsND_hM1_i>&e-hvV5b*Oqf0#wXa zqT?d2s9HG@4v|g*^b2~2=A5`=@}_RdF&{X=NWs$!U~AP9_-2Xt@sCHu^kw(&fkP%B z|G-tx@_Mx*rVz^Q--9tL{UJG>qhwv*dl#;5L_fD8qDGaS^VDZNroWF~+H5&H&~*|* ze2YgB()jZ$TR6ZC2ma_xa_tli@`5Uzd$}o1q8HtQU?xIgBD^Fp$AD3xe4oWSar_F4 zeMNkl`$;2H$OA`VhKwNCsyu6l7dH5_aEEybVu}vC(I^F??oW;VtfvVsLiZ zZjv-dZJ19LGQVf8TrZs(A(}Qh(}D1{vcn(5Wb3jyG}GLIn9g%UwWnE4ZFeCIHe1@g0Q?oG&oB53ls?^)8TZ7gFH(XKM8^)zkT^W27cM#+=F5VD002!^-3$ z`|h+;rmS#ah$laBMk*{oYI4Ims8KS-%leX>79i)t#nD%Xk1n7 zyDK89x5QVdw3-f1FQ~Q*=;mv2&!uvTE;n&6o)@0((BO&3WF_VuY==P;w&ulJj<jST@z2@f1pGO22hNR|e;0c%&hTvVAKKDv_TkfQr3ICcfAzMV zUi7CHCA*0baAT4p2BdHhe`mV$i+e8S{*)2TN!z4gY>H`uNe8aQ1^VcrNM$sIoGbV&da_tMmDn3^ znECIJ}|YEsq-d0v&-Cy;N8kW2bnp_8m_ES zW~fw?vJeju;<&3}m!~nLtfO9co5+l1mnQ%c-a+pg*^>g`S?@Pfj?Y@ZNogH`V*T1( z;^GfGW%pVy|CeNb856%r3!#X-8|7k``gcHuC7F+3@jYf)VvV0{8^*;2clj}HZMRLK zS$B}l?#8KHcUJQQz7xZaB;u`lX+q0_u_p&enC<+AXH2qGgj_lzml9WC=ZUcF1M#+0 zNE18$eEj&lH3?NpwKb@VO=I_1&OwAhV#ArMCzBNfN;KvlluB{L%98}Ge7!2`ArpeU zJ_!Bro*@k{@lz9CcpMh1bj$SZ2Ka8cJfLi5x`{3&ZQO!pcDeI1|M#=)C5yJ2jBAFV zS@D>&d`J{`3$E065=`K=9NJ_3nx&0YZY$M$cC0lufV3u~Ni(KjJfP6GC1Yf09 zW*mJm*|^TbPTm*(b>O5R)8Dn5Kj@L!-d&7VmeW5BL(h;)Ukcpsk1(Lj@9%hlNz8QL zN$Tl}04oypWdI{`opu*G1;>kZX9EB`*5%#>@h=gE3y_X4HqQc;0o#N;*jwzi56+{aj#Zh+~s3rdy2K!HEs;?+}l#xDo&{C}a>Q7wq`g7?m>mjGyW(>Jnev`6pT%$7IWIt|n>XlO5aEj&0kvZQD+EY}>YN+qP~}^;O+_-gD0V zMm?))RXua`k5#=UdUlWQId_eq-YAiDC1|baK|Gdg$eMKU_z(gk|W4H>2VkJ~f0u!|J2E{qj4U7I9%jdRH4fO=*zw_P;=&vxty$?l95j0SispQ{u z=GNDr6^`6ik`Cs!24`8taL`GM1-e9DxM8+jRiFG?vpGMyt6IDO8T=YMwq_0`gnhZV zmJwd_A~t7bDm65V)i!5kSFwjtD5Sj<;0Lb^({9(x3OY9wq~9#q=4g=8YQDUve^2m> zhoM=9x^rPdr`#ftGkTkxy%VMUWVP|cB|8wWLIX)$`^q=|PltB|uQpo5j>XO%igg;46X@;iQH*yUHMMNPs7RBi^BfQ9*Bp5r+$yxJufvj1g``3Q-=R4h5}13Kn0!wCLKnT)Lz!`)GVZfKPKg>)&m znxui?`uoE;&f3c=eC+aZZ<5krDJV zcZ44O&%{$91{$WlHcf5E3J|#Spp!XY_gYE#2fY&xDr_SLVv#rnt7LyueW zVEJ2Rw`C0>&af2=&(FA=+k1L8pH>kWtAp~I1*)>y%Wf@fJra--99xfFi2$u}J3C|Y zH6p2L*MgeqCA%Cs)KC&^(R>;G%Sbfyt}_rn(n{2)8a@WaHy!efVgN9s`N}^yLani& ztcad}jc+@}wRRH{tKQHzqu;4S7X0zZm?R78?=QUmXeXNQCse5nND_+=);QA5OMp zSkMLOt#9XM`46qy~8rQ)a@$QM(=4iM-W!DOf3Bl#-qv{#4|`~_A0)AXirTht@u@aKP|Q2t2B;~Nh4R>kS*R!W)91ulX|g_C2< zS4}M^L9He7ERJ{7?q6RS85xbHmOV%4urDZ(dv86rR^}YmI=#h+eSNLq4dG zwt=Vz&9i+?Wd=7Csv1<`fGm|afBO4*8ha37X(safF2BeS1dQ% zmZ56*S=N3!K|7l?&-t@9nl_8~ZD4p+?BLM6-e5v^E!b2Ay)mv|^`JjzQZ|n40z$*O zU0bplrJ};_=)T;1rvdu#wBCr|?T;Iu&_PF=yZn80kwcL-by4eMz{py-&IsZ$ zb;h+v^F;Rz8wQ_=ocWgpg%dlAnA#{oj&f0gdi^juWkVku zO0+Clj*>E8QIwZ?lX6;2vRKs)+jCn&&u`A0&gR%(!ZoFylPRRzX0zU+vY6 zUBASMO|2VO)Jbr!ESF5vD?M>?oSlnmTWL_A49G<6k6wulXPVT|a<%lItn(9zN?5UG z%^o9F=K6-J**Q1j)HFjF!s`;IvOBrBn0g1wxvVfzclQN>);O*n2W^5BsmFp=y`Ihp z9N1E&g(g~khYV&R9>A-#KW7QJzG)bJ_MB-dnEC2v3f>VFr44rhD#}8tsIB=}9AtzC zXmlZZk3#Y@IIY{ZMd%mbJN*Dz%d)f9}* zxzlXL=8E2Nn-Q&mox+J)l@D@6>%b3|^8`$;t|D7*YI)%!hZ)ro&cYxm*N7%nIl?L! z_)&ox5HW_yO17E)AdE!xZl=-x>+BVs!J1rvv?x!FInl&Rx-;viGvlw>>K}|3WahmP z%a$8x3WcA|v;Ejt8IA0+Co+Mdi6UuRgrr)B~fgYDM;oXU{z(dIV)^lZ1xoD@F(n=CoKPzozL ziCH~6JB~<|s7{7>E#E?<;^Ise)A8#lDGCvF9bWQgoz@fS#tsdPI4kChX67JEPdlLq zD)Mhse2r9bAFQ$Mx=U0>oDrD0TFMqtDPhxt#5gVL>Ip6RdX~fF{AM48HMKR&)pRv=l-J`ibw&G{p7B4HiIC5MJyoCN(}HQ}kU_ zP&8w~zSvP&TWBwi7E8jQcb3Z4NNAJCCM9_G_jL`h29BF!pxCSMH+wRNk}-<`Kh3B@ z8shI&=nm*At|)nvvewqJBAG(72$WmbVyo>yiE;^qru4fKY1UXRx>P~}CF(ochs*hX zOBewor!e@+r*^N0ma_r9Mcr-pHV}Qi(*Bu>BpZUZ(HpyHmRWPQY#aMzM1{KqVKRe^ zdVI7q-JxTfx-fl2Q_dJoyH=S{BThX~(qgD3beEX4mrP)xd1(-;sM>3th_v&i)O@Pf zcMF|fi9eSrgIu~bXqvRQAm{2li(TmO(uf~3%G8xHPd6##%{SH<$;ceJ^b!*}SP(Fv zhZ=!b6xE*N>04?pG5I}Qwj4!O1rn}Hv*4R|Mm-^%}$GmdSVrar|D!(9a0*b8rC z;VX|4=xeIJ4Kcm}=p2=W8S*F@FO75>R@88!C39yWYY)M#aEeY@UZpi{@~(&4|`NV z*ys366!-{7flwzIE$Xsqefq%n>7;{f%z@&RQ$$He2y=I~W|YoazND>^ETZHTU`pb> zpS66?zdlDMIb=6?{t+Wvs?!lo^DSfyG2FJ;JR?tC(JpT3pHB@?W*GC!TILiBL75|k znUxz_4YQsl-RVn2AqRz9rD}X`VBJeKu^AJU&b{Qn^GiiQT11gk3L~@jI4J0{sYM5z z90SE0dUkiU@mXC?q_8Jof!J6M*86zF)(JPRkfmp`9YktuMbK-6m^S}ru%UY#lCB0w zUjDbBK7C4M@{rKRf*J}^zU~u26eJ$XPPUzGgja0IKxmcSn=BVKmXPf;vvJEHs)~9l z=|(AI?YT_qxg#JRF(*N120b_cI%LJxVX0e;RVp9V3I94K>g{u1)vcjnnx|>rQ_^6v z1XG|nI2zx~jb@_7Ji`e3?w&>sRZJ zq{{f8)%LD^JhWq8VC&4^jp2hcB*X^-RwvpTEGtTfJ#(x3JeiKH(?QdB3MZR@iW#Q- zSZn*0Psi}v58{IteNdgNnRzsvFuou?3h+%of7`Oid5`d)=RGHX)Jdl*)3_jMy-q?- zIW?aE@GGL%;&j~N%;uJkLL07ZMaC0%)V^l_Y1#e~Cg@fw$O+SEkNOhRx$Xi7b1!6o zRgW&pCX##2;QViou*r3`7ozecxMZ6<+r=fO;i@QDo@ARnrSBv&NE(aL{L@I;#&rx& zcMQ*P3{SwXn`%iPSCmrMB!D{$pp?2R_2)`JF@^MVmYKQE&osXA&4?2Zl0mkEVy*@I zPa~K2o+QBM_qRHS7g!VU=QE8$8Hk-uOYA@otQ4AIM~f6^9RKIQsLr!q8dWSezquQ}UeooD(09=>0d846kf*9$MhGr09}Gk$;?dz=}K` zBeAG#nN@c!c0V1d2U7dER*s!BAhOMcc7{lGqPznH3+Qzx`<_UWXlZD5wXleE^QUGI z4#8HIX>B6{N-!C8VVDsHd3Z1*I8SObPi_(B4h*q;lr2u=jCD)vkV+VkYYN6*)}5h6 zOyl3ieZC;G=|+OBx2o(eI|oTSt>z3054^u0VwSVIL}CVHgp!fyYkkCS3?P}W2GdZU zg;ePemXc%j#TAK9Ws^nul3JSi^d5yy%R<9ow|HBd+K*n&e9Kx~`cuw^c&~JuP5cvQ zXTN*F#nGJfP~HVp37Lnd;@3CeYhS9<7eI}2fZtjAgIefCP|2_Qt*-_N0$nZA z&nv){xY6D97sx;i0zJ(ynts`-Rt$w}yxq99kE=8=>H|Soj6s>+g7~8WkaNwblPGD> zeBFQHs^NgI?Xx!i_>EBlXA=8~aoq3+>!D9JheUYZt6JPCo4%CQzbmGFLR>={?j)NW z)S=%hqoCvjPDxclYQ}UqRbz8`6h2GbtxO$_#B}LZXFg%QoB^#ZhEVW{-a4Tur(pQeAshnfSAQG4+n3kx7MG$gdN3$7 zbjKP|*>S~JO-frqKw&rMV5*k3Ub#8#lYjYN34tC0gOV@O6oDv-Q)HD|m2lZFaaUv4 zA>b-6G-mL`g(lqo^<*PJuhSba8z5#*!j1iWJOqaUZe3X(-05VbrI{9g8k%Y%#g^Wd zROgn%aiSe(H{4Q&FROY9Jp>w1t2sRafe}j`Ub9hAHVkiJ%wJCBh2_w)D`>LZZsG0J zvt0Exw|1o$J+kCDVU(+J%OS%{LSeNaiq>~1LKW4<2z{KLB2F%`*I2XX8SCzbRKrI; zYbeU#@*Qv@(1l6DmN3LjC}vT8&y3(EFC7-Q$}mWn*KfhTVVAAdNh^(&fP0=7W5ZaM zszQ5VOq?Ip;m14BDN;)G>i@74vrOe`yxHnka(*ImXZb2>h8)_f5(B)feoT<$%UMc*x1c#Wk#Nv_!VWfxSJ7YBSilw%5 z<2qOOfo*STuFT%A_CAL#_~FEOEvCbKw9Lf#P2^ZyPW5(zb*Q=8o$`8@78@`DBH+)>&9jqNJR~~WcIbW++ZhlzoyMQBb z8aNn)C^)S@ScF(4?V>6IPtyOj=6KJl)mib|T~)p{h^YVP^R<-yP18G1qmA=c6^VB9ak9umCwgH}<_I`^6ZVJVl`_NBI% zxn{|=4q16H?-Z)|r>7s>xF@I(|xaxq;X+3CX zo-w8_vj%a92_kNlGCPBs?ZcwCu!l!+X@_=^VE~SZWQN>yBP9Q0^geIf5OE(Y5*zQlcz{+F~UyK{8Pok-mL9VB@-q_4YfvXtu| zG9q7+C=r2TYfuY(Xrx(2H9E&rL{4s6j85?qEv85#{aicREk}ia_N3-lxu9F(%DO$p zk$M!}qi3s727v#DrWEz^M0m)(KJ$nv!`ENxktpc44#`+GMxl{!XgHOilG~<43KQVm z#{TI)5yVLr=7e$7@JYO9l|Wl85|sJ_bFZS18WXT`V}P&seFOa1@0C)-DZIWAY{{yk zYoa0B;+qtS&4~|7GP)KR44Sp-5~PXATq!RfzF{xfuw(XD67lp7(zy7;{`BKmz=f>u z7UZrNybt!nxt>YiLitvp>t&Vm4h@Q1^C2BoN(&TfmQ{hT&2govbvLjkSriBM*;uyQ z1@OZgfM|VY1CWU(I*GJ$qJQi@p&mA%9N{+1Na(J261Li!?SMEEWuhCD++-W2;v5{j zsYa+yRI~_OD-X(ZA#>I_A#)TRMXKgF;h1?+Co8wKt~RwiU11Uh|3Ty8Qv1KoeL(le zBBI~22@&xB+e$BLX=82YAYp3n@EY-0#YfNZDjGCsJ@!UVKN+8OsYI>u%J_%9To>3rw5k#d6leAOnG@Kry;45sGpc zh_Hj``=Dr`U}?vBi{f_@PcUh5#+{vrRGpC8s9;w=o-)4Plds;UyqzB2zCKSS0i3t> z;B+}L`oTRYeXwPIEr-hDM}o%k)&jldgpP@#>(fht!1bG=?*Wpg{3ZZl2=U7I|NZ*} zijs#OaPtDf!1g=thP><}T4OdE9UZRtU5RO%LeGufPrTy-mK9@59YVFM3z>Dl*WR42 z_bRXVI@jB0+<#C<&rPy-N8gFplZ=Cl*+>Pxa5HzR%4AktQbP)MKfg>3o|W%JPpE6o zsVgPGu%a-}EJ=unoEB=bxEN`oF}17!1$CxRwlJxd7T`%?enrh@sh);%afZHQxrBpp zf3Yav+95oMN>qM!c0xxo+nTf5n#$g93ob^PI9raxKViTqv<$B`VYUY?uW+W{+4NO*$S!A|+E9-?(>Sjnzh;9)sMDmKt+Os>f8U{=Gd-2evx z^ebA$TJQE!k!4EKOx%Q)g^P`hFHCg#9Kge*#z>a=p<=ogco3`e41^(G51p)&L}ZXVLcCv0f2U<0?oDgjPSS!MjXP z^fkf_=|GBK@{OM#u71$(CemkcFXBC9@H26w2tU4^e^zYrZ?&zl^OPW{*Y;|r%GZ#( z_He>T?+A4eS_9??r^;rg2&E_$I9Oa0+s&DF6bOX{g5i$NUfYdBPHibN#?$Bp~#)H_pjgAfM zB<{hEa)>p~X9QI;{3fNuDqVoWDV3on1ADB~U7?cMDe{lz0-DBaiL=55`&VToT-Iat z$qJL?BCYt98KQ1R>kY%Wwj)CFT=mPnX>mBJzxsWHg@Rh8p`smNGq+*Xni^|4P~=mKVjX?)SvAu<5S2|4KbKAr`i= zWJRIiqieilqJ_$0A?0r{sq}EHK>0}2zepH^3zT?qS|2#uz+&sKq2FYw*UT74_ceubv>kKArxYY9iegcY`57lIxAVk$6f@p@QUDIR1LbtS*V#=XCe{}%qL37#9clZI< zfMe86@ZPq4-~sulLnD7?n1*Ypr&W3Jmt|;Fa5->4N*~vl=w4>?_Z8=w2F$GP1d8lvm>3k1$GYw($UHRHp?bqNy~Ob*Z37#duhJ&2cE zS;tZQ)RKVx+-@V3@mt98xjma{;XgeH#rRR`q56on7kIfH@4RxMldJ`z>%n);xYC3| zh@PB4xZQ&NH^e+TpFV)^nHC-4VAxqfA-Z6t&AVQ^t~k+$Xz7L6$u;5Sw`fGTOG+GW z^juuBIyY{<184U{Djs;sos}D`M9zj86d-+1|8j|!8DU#^Yj1*1g?0u->xAcc&#}<8V#59Gx@f>84vwPxeXT56&dxY_^>I;cH!$%lr`CDSxjS7bV2O8N;qe1%-Ky1`5POn%st{Qjv*7l zgsY$s-jBx0*ILw_$Z?_3v!m(y-O$fmfjzqw!k`|W2PG214wQ*WP&ra zdm#a1P|7Mos<)KNs)H(ns>CY9L>lon{5q`GosXxJQX|~MZ#!N@>th_c`-jMLqdX6O zrMyE)#4#EU9yHgd;y^W_Ba*%@bmgr;9j&O%Li%01LP?r8B_w6RQ5V*$u|poSE0&9v z#?gzcJN4+y1Vfq+Xl_}{!HxPd9VMD!#l;w`UMhEf7jf!a;AIF_Vx+?lf%uC zs_6D9sA#)nAX_kvkU}QR8JUVx4`pUZfw2)B8BWOuIAfkkAW4ErV3gu1$ivuI?cEI- zy<0;g(vZVyaLuwaP3BBZ#4)B+%9ZD>Qkws|J`BKNL0+W>pG6=m2qSUTcc&jQH5_g9 z?8L2;TX|a+@0b#mUbdQ%gcND2KMn_`B^@ixN<04!h?hPzOYq65de_U!L5C0C+sV$D zq7K-ZO3opRQ()4tKt%?%GSW-VG@zcg@{ZOciF0KoC_&{}Fxj7&eY%E?|L*YZxEBhO zh^h)A{1ZE%dduyH-cJg|?G?=Wn)(?QMe`o*$Cl%o@c}KL^w0=)MtYUc(nk$&#TdabVKrn%s92$r%@dA)-!_A!LyAh= zlWTwY&k15yZ^c0m&wur0g-km+Oc($FYZ3qe{QuRL|6`y1Gx!HT#2*Z(fxBQXz<&zY zwkNgQS`1BsNMY$kR0**C1|H*$u-6%~#goG7U5RXOOdO7j-G@s?Aw3|qY?+!4mlIR_ zZTYXHM+R@&->$ws0f@^4GB9fzQcPV;+}KIEtf9RYyZ4F7!|m;{!}V*tJ(Y#Q`Udf< z;|m`^{J0!oaYx(>_}UP}`FUpm2gLbhr%xHlV*wV#{THWelb`$k3lqp2&@+1w@;b>C zp_jw9*9jL~_sFvlK2ATs-($7k2VlY;Ji4nwnzh&+m1!r{gmb>DMA{X(i$<2T*j<8- zr?lHv@}a4z7v2OcGAH2_uIOF4AMV&4n`u_^A&99L!GtvOyF|~_FO>jP$ZJT~Pq{R0 z(K|T+zIF{C?eM~?khH3hs48F^K&`mVGOu^gF6eFNXHR_UA>90zJkr}V#wzhU64Ott zZtZL3lMl%>mUkCK@8nJO*|%Vm8)?(ef^AEXFXG~gnv^V)P_vQztUvoKf_ky@wh*8E z!|Ir!j)?VXk0$Nj<{s`g>5cr5U~Bo7m+NR|utRVDBRwj#$kD>_ix%WLXFZKck?+47 z#$;@0kwZb(2uBo1BN3xW?(ql}!2M+`QR~b?ozDVFE@D$Q>6W_`r7h+ggE)N@;p)CmmwT{B8dNS0zcn8|}ko!0Ul_xgwVGlKy@Y%-sOz5+a>c3h`~k zbZ6YqWJ*ON`kLld3vQ(>FVq;t8Y2Ci6tR{NhbDH}X}L;f8{A1*lkwH!Y9KFtI-}d% zDos=SWp7MdI^gF2(awr7Ke6&pa9~#YM8b6E;;bG}{DGh+#4#I5T1YOI^~(HYG-MGo zoJ2m>#^`z(Lpc!YW=)NrqI8fNW}&eb5~_bi7-Ng$cMl@YpM?5``u;aC0$E8RmYWki z%1o20vO!9OqH_2a2sv=e;4G1_w*y*3OwwW{I@qKjnWGmJ4EYeu(eh@0z{39<9Cp?GtY1ae$zG9wPN74k9oT`6LL754PSw?+Ra_ zQeS+`V31B_n|(()sLdBm*Bl$CH8vk>m}|lR9)e$B>4g7 za%1hrr7uebq+x}Rv+B|#pT?jo8FW2lDyfW^dWMHBDg1fc^_O)zFV31>gZ8B7h+~XO zM`J=}$+R?`P|?N=j@~hhBaIj+u<}w%ntt2kcqY9+4h`7sAdd|pk?7R4n{J(e|J#CT zOf38QU?6v9`20YP1P1@{M~dNXLXBWhB!DpE`mD)nuCHWz8Gfb04pj_&i8DhE>cz_M7y(tm8^6NdDq`L5*H#1kH+awj&Xr6<1=&5nOR zc7-Z(;A6mA9}((4D3lhkC!Q9V{v$|4nf{yTH%p0dKAw&z_D2? z2L_pC+6|dSH#tmtP87mYrX+rOFuhp3U}C**pjlub@Y!TAw$2amDyl75nM&yxDJt1Y zk!a|~R-aaRW94mhhgE*0vG6{?2npwcX~nQiJSP1;G2h`_FY00>$19K(4+W#9e>^q- zWRF;wxWq0d7>Pa7z5rcy_V?w>X6Salamd_@QnxR0N2gcs19MGrY#1z@k@2Yyr8oq* z@%}l)#AeWJjT12xmO#%Z&Z%ih0cbXra*7HxAmGsSuXSfA1Shajt@sD14; zB(&1WnbKL$wVg(LfV^y)JVyJn&cf&$+DvXNte9!%tYNS})r1*RvvCaU2V=0; z#G|IovFF;{udU>hyeA^U1XIVoUtxVxi|(;>D*vg#xWrM#BTrZ{#{$N-ZJxLa$>j#K&JhR2ej_yETWlPxG4=31G zZh&>_f01YoVr;Mjy{vZoP_LNzo-Hs7vtf+pN^ji`=Fo@?%q1qDfyi=i-xhG2YSbSqg8?bw1gpqz=^II(i??Y)eXhLN603RwVA@<9PrVfNzF9boK zu~hqA?8S^6r2;nM3#*>x^$jrX&9-^Ovce^2DXch`-k=-U-vvc2Mll7Hs0K#-H9oWn z!zyr$a@VS)Pm|#|DNW7n^=z_R=f}oN0ek6Ey{*FPZ|ae9sgB)3xW4h`{a4wk+f&}| z&gXoWj+$-|Vd_J;Geqxz&gGAgZX4!{)QyrcYBI|KU4%IgnBmLd+HpVG3l;+w`Bp0E z2-x5d4$?jOcge9qsa zwQ3%&Jv#1tP<~BU%ug64JS@|PRJbCSm+Z~$GB!5q(hR#s>DsFDcP6*o3hndbH&mVt zk9Nu_=4D?3SI~PZHam`>iY~8mn)x|4d7qO2dd=^bW8sXFz#*T3J<`2QkWvO@QjEcQ zD5p-krdj-2vmJyY&XD-cQ#ufM06O zT`Ar)c07Y!nh%bSgaRK(Dx)Gng7FTehm3Nl1&?mBv#AnbPtIxmvChK^RQJn zo^bW|+}a#RR<&bq3z;3kg%y2y6mpN}{vMBIo^>R0Pkyz3#R~eZ@3_yG5;h|_H_d-H zEgn8CEEzJbW|0RYaN=+;kE>Vz%NC<|#eodLfhz9aHUF6T{2yv{{AM>?N1#0y(Q`}@ z)RC(n>sB2w?oD}jV3y=_aS<4*D?xL=Jv{Y;M%Wmq^RC_09%TVCPwExWA5}Nls^S5d z^MK@~MBR{~+kLDeeXu9)5c?IHKfIFsqVk#V=H+GTYO=Dn3Ip#DS+8(yA?RXRheZLo z6Hd>RHGN07j~gmR!qW&GemH%5$WCxnHU1`q(Qm~apLC@4m|`Eae^dXlZ(Prw(IK+v zz+3f)Hiuf;*Ja|4re1PpOzl!uyO*8gK$@H^1(7YL94kk>r!p9||B|!uoz1N_yxV8U zE?9?7vP)gx9$V9=FnB^1)^@x&y$b@gGMbT)zH@h3k}Th#gPZoavpi(b zeG0qRJlL-4O30d34Ov&v@wSnST|228)s2lcdbKZ58*JDW9^J3Z z%H)A;UcI#WN{nQa(lt&iQ%2=V!EGf%-64%8+8T1VO)_vpxpe!o#a9D#fQ>}n+`el` zNTJ!oZEn^$J~|$#WP&Mlw^{y&X;(xp@H@{OLis3w6(4g~RyoAn#!@OI$s&YA6Ted5 zcmkw`9&=Y!IRtZgN;2dCML-sGm%Ds)a)pLfCd?useR-956r%7E&2>u*rB5Z3YD64{ zMZr>kbm>7Fo!$c@yJi~Wg1lE?&!qM6vK-<-aq*C)^1Ef=3tS4T<+!SeI8}zbjh-j= z0dyV{<^@y2wqvkIL8C{3M~1`;_gL^~|Hg3hCZ&d%O`oT~?Uuv5tiEjl338%|#~Eu} zQ_a2>DvUKlu(vecOU0hZ=3rdgHbPE7-B|t~8m$r8JxG+`yi~R0qIui;Vyo>f+C`%_ z`Dxu|GGbbPjp3P5U{$l0_$>f*p*I%*FY#Ijmf ze!Wu$yhE!pRqP+7JJfD}{YPsoYI@eG?C~|>Sf7a5LGqkt1aQwN~{%`Sq{CELW-Q?o$?P4A{Wzwo~&X8bkIhBiAjc(>V$os1F_>~ zQh>(?oOrVoO+Nykco6fuJDewpXeeDwdDqeV^>rEWGCyY4Y5>S zUHJ!rL6Ut0;2@rUNUUClv4)O@frcIw!z=-HI2v+HoOm?lmWt*y%K?+8xHsimYaM}g zv*KLR2T6LN2JyJMlp^n(9Urg7Xf@T)Z4pR7keoPBFM|TbKgAj>`3h?ViK=pCi!@VZ z4gRKNhbg_SbPKYV)*314wL5{43iqJYCKdL}S%`>SRr`xp>y}B{st~m!tUf36q`F$2 z*D@=`eq?xMq6l4$URei`<{)tJC0l-8maVwMtr(>Zxeb*G^+L@F*Q_(ql>J(=LCHbJ zJ(N9W!oFd8Bec2*EMnmM)k~oPO=){`!jCD819(8W9$N|P!9{bXI$}KZa=xan0|pnrItpqYOgCR0svl;kHY)9}K6B=4?Q9t^5edQ@p{QT`yeR=P@v7$8a=IADtOPr?JGnh!oT=cmB zu;%d)zyaQe=Md@8337VD_zsR(f+1%BpXvaySps*~F8YCedq2hKl8e9PXp>7c_Ner8 z6mA0kDU^WgT!3Z9KU+l24F}1*vrZ9Y$S+?v*5bPnp(dP+T&TQc*1yVrSqnm;2Iv3b z`9Rv6qNCpqOaco4K=(h!S^htsFKFc?WNKyb-;z3h$Upco^n(KBEoDSuq|YGWq<*4C zg?c&2;*c0TU%3ldQj}i`vpN-k^{b0PhJlF_R%sS;`co%c3RCc_bHUuN(>$d`TjRv| zHQ=K6`0mC=R~=ikLF!ztt=Sq7( zx2kME2iLGL+c}VA$da&-6FCqZt7#|lrHGeo2+uMcDtj+#1n~oRPJXjxH)K1^%V#uy$2=p6Kjwf52xNHVPZqN7F zWPq%cG+08fLXRsmdgcVCZa5mHyh>HTPR}q)K3cO>XdS*hK&ixF@%(3iOldtgQ7|57 zYVPvq+KN8*AOG0oaCK7(qA%uzyxfubySI{8RDM|ZJ7!9}#_AXv7-p&lQ6RT!ViodT zXwa2vO8wnY5Ebnj{6uLdflCDiq;JS>wXWOSWhKGQuQSrrVrmf-`^;)qW*J7KRtDYe zFfenC*yq^(xKOi!H^xJb99iq!kZ~vTKX6J4Rx6dZ|90qLh3RvMf#x!0WLhEGEPEE~ zU86pF6&IK`Q3~b4-_RHBST9iSf?AA5;@Iz2$+BY$*(di%u#0Y@qU>F?e zxJG$2UfQH!fBJA4wXkNt2!5EHv5M9ocFH~;RF z$5r_x6D9QJ6B5RMKP-%g@rKyLe=oM;{QDx%&c=62_x`3uu)ED6k@%T;V{7O)&NhE1 z+gaP*JHbDpWSdl-Zq~}{OyEd+YGt=PnwdNI3CCvx{19`auBZ_+IO*=J-wnp~{=!Kmpe?3fXSFZr}2}@+wGG0pxrbMBYtg9&wjuDx79 z=sqeFVbvksUxHXOx+kn=c;Q=6Zdh}+8bhI2FelG_KA}90?}>e)*n~h83@la>5*yfU z-1Zmk-C3i*+*cYo*Rq@bx^BfwSxAn$;HTu7JIz0AJX-@+usX=&ap8=M`f4ICB`=+d z*U@J*8gr>ZBzD(yq&pp#diJG6p{|Sk^E3ll&`dhQ5*A`iP4?6d+RMTgj8iY$1re|7 z$t_4>T|{P*8X>(tt-*W-V;PKBe!I_0i@5w=?a`w^9KEHswQ6>O#g!DEDp-HF7Xu!~ z)Fiq@TX=KR*Y~yf=*R{)#hlf4jo%_KnQ~+#-}LiDm6uTIx2CZ73^FaKrs^}QI-Gp`IJx-i`3BwoysqzUNh zL-xFd)wH%M6itC_-@-K$^xgb=b9=sNE_aM|l|rGw1i@;lTVbqU>F3B7+H>L}kdUrf z(Qklpyn&ugG}uMOd70JnNNE0zMPY@$2*s@Ur0*=s%whtG=v}pM!SI&}M$_9%6EJlC z41lHMkLTJ+*oVg$W2dEs#DcAcsYnTEenB`#c-?jeS%;s?pdiEsR$b@~q8n=(1=$2K1+=m@!3R!iQT##jv^L?BRc*P@uHOj&CD^Sr^8ya zp;>)ZWrEyBO303XHK@=6mFStQ%>$uI8Z|xr9189MJ2;mcUbaExrqD`}&V;gn5=vA$ z`8;DpeWo}+#9n!$;g%`nNFkwx1wn@dofNx~zBpirUMX@lMZAdure9$D@T1ku{>{nQ z{USOSE!}zZk$(msWcjbxNB)$WO(frGd!OGQ{{P!QRl(K9P|DhY-`dK_(9XeB&%#j9 zMc>foXS4qw7fe6qe(+=Z2br>CVtqdufrI^vW(`%5R=}v-{{WTs3ex}m3!t_*@xlmZ zO&d?(4D(8&=n2H#{yLUxM+6bffi&Lcp3HE+^mTRhb_2Buv4TdnXf|mvVPGYZ8}aC# zUV*lH&Tywwj%68@FUkGf4Cr}$NYpU_mJ8L5l@Me8TvG}k6GZdZcL|Diz^`${)O&$qvaw>YA(ecjJ@Poti_M&*;eZzPY3`fz(D4e^+8_eAR(*^(uIn%Y zEEwDhxPxM7{Iv~#?n@3yJ)joaiEsryrr^kAJra}~c#b9wI#WlI;Sd_hWPkz? z;&@x-LBj&zl41&o03kFCm(4! zTRw0lFIK$HuQFeGUp`G305OcrKR)4n99(|iVo!3NeF$~kt{QVo3mBIPzu&`aT^=EO z467c`7WYacPEny|RkWgFcnp|=R2SlsQ+e@k7;v2D}y?b`WQUC&N^ zco1nH6ye$rZ^NiAl4Vl+Q~9?Qtn3v*TqdSgBXP91&rQK!#!Jl$FJRr-@?71@A`U@I zp=BWDI%BpE3G;0lU#mlVr6+G)7D2vX@E{KB9Xda&-ZXe&?4ISjcff970uM&cc8IoK z-RHeg^RzY31n(O8TgNh3BcoMlbxNMDeYD4HT^w-acg~GDqkA+(Gv9U8-g2Y2Zw+1T zJiWena*_^srMh%QaN%w9;B9~vJn)fm8(ar>yvJm-`;fnatW-%&{zS%TZ>V8*(r-IchMq5ppfd&eN#qGnsL zY@f1i+qP}nu2Xf&wr$%sPuaF@+pkV^yneU8zPEcs%)Qr-of)xq#LCRMX66`SmaV1!uF@T4jVT*J@Et|GH0y+cRfsk2dBq zQdt6z+Jk@tZEPLfiD>bQdsU7brY|5zYtjHas(L^eGbOPOatg)Kr+b3G@+9*`fQoMH`S|LwNt#*JVL`8_t2AZ{C@rFwtDo!r4?^!c88 zWLm@)cGwj4SPw0w6Q>@-KQWqCtPY=yGDxUnMSxy~!(~4x-N3x)k#*?*c2bFtu*jwn zD;~`0$|y6wqoBi$yVf$a#)4lWhviWh>vrszVzOChDCn;WRc+%)c_rA-_#;8}jmBI| zv+)a-1bokTE9Kfo)>B^>UFNhdezJsedSXmuzZBkeAAThHNBcXh3D)`P48_6-pAq`S zcV#Wh0b+jb!m@-$a7b__(+R^D=wkr}hB1cbVx0Rb@FQ^hT?cX|$QmBDkVDShu)fcVO zr6d;J2gf+vGux@=HQ>z<>o8v|^Otrv7o8fhc+o}C_cPr*hg_yd&8&i|;!g1vk60!J zzw_!dEr!2Qv<@cHc5Ul6u#m9uG1sDpi6cWrs>rzqm$c*8OcuwQ4>eMimY1@X9+lPu zRTtX!vuA^<<$*$_ryUSB5&V71lJBA$M zQR?296WW{DfODhefqo4dgqWcP?GgB8W?`=X3i-9Cr54pgxV%`jQip{4!Up!ew6l%z z0pzbh(9L5i71T#(SXkF>Py_ewT)KKsr@QlX!Inx8fRY9dIV>0_Zatl>-U^*<$Cbc$ zY2BMjk>x;@*a+hJ3tNE_K_f+`&2fC1y#(!Hb$0QB8o(v=5Jatd1z<|&&b{yXtHRpz z)02A6bAb~AGO*GmNTks%fauKZ@0tE1KZrB3iEfW{V24mvK1}xjKi?f3O*be2StSKO zXYRQUO&%{!N(>m7O|78Gs}*f2eq-puI!E? zddnLTe}$YDa!zS9zHeH+R6|~`LBO~9O%9B%?+FPgnMhHpu637PW~Fe2W;FC4ua?_( zx|oFc*+CEAUH@A|ZJwD;8#D0R8C)){#9R+2-VRb2>*0J7(fw&@IoaO&Fq`Rbcsa7? z;eIcJ(P|~eTqgjopxOL+aBQL`!b{BgDDlqvT~14IT{gI@EQ8s>yD-_H0{=>~4x`)d z$2?&!;yy`3B!Ad>r8e;iLoI9kEenaipbc({Ypue)8P1`4j4yPg-$~!Yg>o|m5YzYL z_jO6QY^Mxw#QJ9AebQf8-u>DLkzVuPWZB2S!dut)x9eM8$;Ny~-0l zA$Xa-UB!y!0Dn&0(rU}N#{dMztSEEtG9ExxAd<=Fl|}qtHGb*kO_s#scW__^Tgvj9 zOehap#+OMh7}ts>r9Vi$C6$dWAS=lnrbxdb;~1BZkZH0lFe}NZF-fDymk?y2^IbEY zYCYI+IFhc=>(YZ$rIGkBEmE^+wK}v*Y?qkHyit6@sM(6W9wzT7ZQ=MwI@2&LU@Ik6 zw2^l4)1_Nxm(wo*C45QKrJcbvnZtZMZMj*;WcAZ!rgl{jG5o=!&rB{WS7yN;9KgC< zPGeCu6CS22&{0|}9kieR6(HWlxxybVhnvbIIUg)Oa0V%|79YyTxV5vi*gvhQbLjDR zbn8yI5}uu3YCNGU&-f2JqE0F`e3C1K2FsxrX3rfhe>FwS;J7Q7*ePP%42k2fCdEvP z@`i=gVotFvtMdE6!Q*>vB^s5PNRv6(^21`yJX+yG#_A@P)yV_{*G2((szoj7Cdox3 zesjh}%qF;QP83m-t_tQ-sH(5uimTNsO!3pbD2;mErRq4ecllt7D67aT!DDB1QY3G<+)kfnJz0QpRuaMAa^MS z7OmvvT9E*mhK=+hz2Cut7M&{5LohUrD?700mv6RmG>Hv8N!H0-omZV%Ds{=Y5PekG zm0MXQNO^aZRV%3N-}s$OnOn;>ZbYN~2`bylt2R+gpq;+X1vqjA7QR!M&b}i+CbxA3^QjIIByN*e@x6y3|{r!1o5pgZTqWXCuQ*gx%~_yasY;gH|VkYZ^D zEp8}Ufc@zkmpDxr+Sq)+TsuVtK}?A)Lo75a8|vxByUkAeA-FGC3r@y;q~rFW(B*?a z8&Ofg?V=c~0{j_^Zta3TgAt*HK=jk%j2qtZ7xI=fwhEUjdi-I(wNYGI*>w22@R~@J zeRgI!X9L{$-RSeqdy#^4RUYr}MzTF&<*ORgF0gV?gX+GmWGt7vl#^)LNL*meRPs{{ z?Z~}|0&l{C-@_}1INp1i@#H{^<*V=L?Nmxgp|NL-14+=ch`yF7qkTIOJ4es>3m8&z zmmh^X$JQDoK+^G!`jA$O=Yx4vh{xYqd0}0U_h*(6-}{3xrJht2jaddq4h!Ypa~n2I zAbq5ipdD-+s+QKfg$19^YYGuaDvR~a+Rx8g#}0@-jMW8-jJGzV{0!&@>gnp3D7y(l zEQ1cvzNx#3t&PAGlVMy5Ub9t4h< z#*1Dz2i!C}cMg1&p6J7wQFH0awme>#`!)4#q=teFNZe^kMJk8vZEyJ$^Q_ZywvSTY zTPA0*O6Vo}9B{y_18Tm}z!G6sDOu=*lo4ZYMYc```ct$EB-k6t&y$ulZ^?BxPu zo#la#hcT@-9I@*3lSyYobJH`w&1521#=08#Xv#!$tQonqJjfgqG6>$g-afo})xJ@J zSmr0Lm`|r+r?x4lo{nWGmnbhwnG9k%MpM3l?1V+sBM_R5gFz1=v^!5Bo1_wt1&J30Xu^ng3^ZBx> zPvKM{)~%V2gH$44;nOk$7~6vGuCKAhs?cHBcQ!<$WNplZ*Ud$;Nf zg7sBhxhgI;b+e?b zdld{E4&V02k~V*XFj0Jlk+3i}ISMVU7{!0|8rjW-|0cl}${cq#Uc0oblUA^KInV zS63sL%LTP&p$MA(eKJs^P*9B((r)f}Dvj7!^-ZXEN-?qyYu9WoZSB3H&R3z#VODrQ z^uRttGJKs2yMugaj>|wk<6lJFD?cmv=^#~GR65vF^$LW_CY~mcrsS*yY*S#()s`Zy zD!^#W&i;{Izyg4sM_@YRsgf3o< zCN;QR_KNTpTl=p3Nx~Mt?e5Rj-bqCJ& z^;@lC1-b{?3J}n0lYxEQL9IJQ#H6 z>q-be)zM#`Y%N-^+lS*!xhjNpX0s{r7|HjbkbE{c^q6s{+kpo<0)Bv4i^>1AXbjp+ ziG!~#o;N#nYCUwS`?`0Ask(F~!6_+ms290>0DU7w0oW3KV|zpTQ+uY(DKH&NkP_Qn zPB+^F3`GqwMmMi!ukr1tz{GQ>66py`6m{??=>rS{ERAlyQLS_#caMT-K|nVEPG4RQ z1&etxmocE*c7`n!R+AG*z4`%)NBFx8^eiKH_oqw~gR<*~DA2uOpX3t&8w)5xDS{3@ zjf_%h%?eVHoB1HPvpxu53@Y+YmnaDcqMbbY!=Hlx;_Z&E_@+Q_262x!93C@^O>a+& zo*KWPSbNQ-iFlOztn-GeDVU$4{lywUiIVG?lihTfycNDiBI%Tf%A%qMtF-7)&bu<< zAAmK0q7W4jP=ymB&+9ka-+D&&n0A;-w?y{Ie=Y&}8S7mLIhFRCrKz zfIhv*ueK995gj?b5JhhxCkvj!-+=VrboQeKC6{}FQ+L|Y|Pi*W@Ee~8;u5K)F z)V*#OGE7y3s=OUs;F-TKvN!y>On^6s;Q-?#+d)WuZ8l_FK;f@d`o z`^_iWSBX&!`=KB53k-W)l_$zMq>pin@3R4ao`TFNpZF;(LRYEBdFMX-Bwv(jOM2VY zB?8Upx*dF(d81(px71`VCMSl5y~4#-Kj@aEYHmS0j^E8M<&2Z={+s>@r99$VvEy#9a33wOGp8@Qj@bOGrKW9Q20iDaeZV2x1Ls7=UXI3Iv8bxwd6r&hLt95lrCp+B-MM4aVmUIK zPevMCZ7&{80a9(2y1H1hdbGDh(nvtP#WzBoTNE;DD4`Vu;p0vSD`e={HwXmHrTTtT zh47c${E+}<$Lyq^|9;~uy$vMlPhh5%m*=s1Qdq-$kapn{SHf4IA;d`m;bChR`-$r? zZXg_L!Q`0|w7k%J_N)WD*y$6;bEloi;<^A1>Y`}&v8s3Bjdfr^7GO(780y1CfB83& zRNHU1C20dv+Z;g02`mYrl8|>S@FxmtJQ&;b2J2eKPitbQcl^sRKAy*8e5}VdV+?=| zwOlF?emV2WuIJ*ehn&s{+!5w>!!V2=p2lG`fLkEZoO3s6eNjPskz z!-xzw&rK06xWE9b)&iKg&h*O{`I}{~;-92Gf zxKqK;FM^v?W8rTln@GBDN7L3ixA`8PoUkySO`;ESKo18b-zZ9EqX$55Z=efzg!`&=te_!=p14wa|xEmXcvX*5Xfx zHZQXw+Tz5uIh}DTuq7CCr}{>1S5R|P^nlatpS@pk!iJsC=LFt0q%-3c@%ht2zA^5^ zF>!nYr#p#g`_r$TX_UF6;|Wdn3WvM%*_na2+x5Y&H!1dl;~80VSaav{q1LU-u$>$J zO3D&or>f!^p*h-8?&6tYdEi>1+AXBh=UR@iUG>*9rXBOq#j{7%RhZnFFKd`dzoF{^ zUvL^=VFkS7%D=`U}4hE!K2)iMmVWCC0>`c=NA_~*O% z^`;c7iN#qdr2Jt15AB3lP5SV?Z$!xNat?01-~o9i@~h0c=(9F|v{*ToIZ9sO;^CZV zNE=E~`)*jH0R{mZW~~n>x=a=LcOepznpx|B9k1@V7+4btNQIncE?f|sgOa{?PsH3f-$>)1~exQxy@?VXJjGL`FOWY!^ z__>`8pqm}Urr*q)lj6e1;^(+v-x>a(5e74x&0CutF6IYhhQK5bopz~LeCkY;q0I#t zg@RjhCLiAJ(0uscQg6;PYEmNhT!um8<`{HGBx|pY=D}k<$&EC2yPB7tiW3dXIcd6l zf(I*h%N5A@~yHS-)i0*+_&jrafQ3K%eJo<;MpI+Gv5SCzH*g( zM#|_?G}oixBcjARhDi1tUI40&Lrw{C^QB%8+r#+)y}TpeUX>bC;AfjYKsG1j=5#*N zB3;uzJ#lktPS>tqoD5VMUcV*IqZWD?;)WDkHM!>4rG$FV3LfOcp8Jhk5#c*qLmM*@D#2s(_w~ZiDBb`IkG-)S04Unw$+7vzyfF_tBYA9JeVAT& zQaZdK`o{DlJ)Hs102c%nJQQm9y;#mBV+%awulYY67CuYi^S6TD97;1H#uBk^-V~4GrfIEnoyjOV4uE(9S?;WSN;PJjc;d@m&PsEU3iKBOt7rdnjqcLFlBwibW z*Cmi0$ig~O7wzTxy@I=g&7h~B*wEF(2zF~$ChIJMXX}a1SZ>$US(atS$wyrWnKqB& zZ_YNx=jXJVt=^enPA34Zr1n*U)fK26gZt_)@7kK&qdZU=j%G$~>uaS;EZv(wY~hE9 z;e(Apmr=S;*Z)?n$*iN{27L9pw5d5ym?q4}Q@vy1oeSch^`9$lrlq-3VZm1K0`|u# zDhO=vCKvb-=BI>nL1Qd2nMf@}9i>~n2(nK$Yi#dtkfTr$4{;*g<>0f4IgEe^JcULk&rr07MhUul(;iYg_H8zHBO0%Y3(5#8LcnxTv8h! zWE0TdShWv@BRzv+QI~P1&!wH~@9}TxR6V9$9KzfE^&FHxV`iIhMJuz|Uy7WWEKM8A zGQHQ(d|}e>;W3xkSZo9kz^Uj~C^W2qlR_^xl2cq^gd4-co%b8uYw_cb}SGE{_V|1mQUVm=vzbTA|jicaerMBw(H>U@l}&H1$3D#g0M;i&q# z^(cn+35s)}Mqz)9=u=v(`z96JQC=2zUyfj>_aUt(o$)=Hw@cai7}ulRp3|4B*Z1O% z6Z;zLW$yWPd|tDsG*j`aQokvHZ`_lV<`O=mdXpOBLr%X75{++5J!Ul02fr_kv6HNTj}wCE$1eCGMr#3zjN(~S<{GE+QYuOn#%*9vC(b>SKGG) zSDRfB3l6ZA)wy}SEaoP2J}Y9#&M-dW zA{I#~D*P-4L3G8!y~evC0%FS~1ib{55;3=K_}EeiZ~0O-2gS{|U$M{b8fPU6y%?MT zW)j&%WpSO-j+w^Eg#wP4pZ_^-j@byU3;WZ>Wc)L2OaA{CFaF~o|DVl2{ImauCbjc_ z(cyculNB<8914AA57-9DZ>M1Gr=jH*5Pb$He`T$mn5r^xv$aE^cB%W~{j+)>ulGU7 zY|R3+j0xwxDTg!bN$cC!n|3?1`C%gi9i~RPI7`}gYRhBlI`h8cIJ@KZ_WHUTycRm= zT|R=Bk9C(lpG0I>1w0T%IKJ zu>f00+cgzF9Aq*^GIM{P2%CAZNP+hR35Jgq|8n?GDiSp$YkxYc4x9Dh5=@s~1M@mP z#sQp;+N8Q<9rdE&4IGs_V^KP>ZDdL0tbh@*qikC)G2!KEP%EoB<&hgxS#)`F5lk6K zJ4Nysl42aM zl1kN)JYN8nDX~g$eQR;WX4KPHK)R;oG~-n+C& z%M|8ODa5>u6Fdydc&iyXj^d?Jv1w|0mBVGZzBqBx;u(vymdsN*tHqmp6M;@06DcU7 zrgjAhSDGUEdutv%OH2G_GY~w_*=wXJ5)V(gNg-nz0_gJEDfLQ(AcN<8 z{LEc(vq&e6mfld`tZ{+e4VUbx`gZFx$!^t4b4Y@oC3a zf-jMVj3f8sBS|k3>%h6nFlaj_8M6mXFs66IBad(WBhhY=P*$<2Y>LYw%~Ck)=oVn9O zbjC#D{tb5nO15_D%XrGaC19u6dr|F#D?iK@$9~F1jb+6uS&S<< z+O4`9NowN_DjN1Z8zyn@=&F^rvxF4+O32x?xJ#gDQKik|3XIxqdetemc+cCkZX)bS z#_>w+5C(}`ONN^T2}W+GN1gmNT$I~$gBeCwo)9S}&d`NNM=w-=kyJI@a!dzLqAbOW z__LbhOiSU8ps5W~DK{UrkA}msVW1u zh|1{Vm8UugKim6CB|t1-X6G%~Pk}38<@yk}9Dt{8qTe#?Hv!%?Q$vEvB8KRrxORki zc-Ue=9PyAnSLLoGmw!BW+h_{N<)bE3PKr;g0E4aJGCfFdQIVuwRH%Od+ z&u?TG*>m4JJW)s7BRrWpV5<~f7rdtVo`Z`o%VXMa1|z%3<=&EZD!BHtz~W`q9_Y#i z9diN!rkCAF_h0uCOXgoyWUq#;ZrcgqrV3gt{IZubR8fW!pC>nJ4aQGVW!e}@FJ;?l z3%Ub@T3JQ7ku|tvUgEGfG<-?{092*lFhZMJPfEyoMx_M*+oV*QKH#2h->bzH);n-9 z4NY?nO+%*O1&ac!UD_4}o3J9Dw=n?xtAX#f$^~*PUtMIMNLV?sxd~KdMQ(96-0PtO zFJ>PBZig{y*#TWI7iT*+pq|g4@1zI1gd++mQ32zkzh7BHOI}D_fsj?;+aevZPb&Ew z@>(I@Tf{|{aPD4&DPVYpl+`NuV^COPGIlut*#O0RoB;1{$^(!1NQhHW>f@TMmBwdu zr?-c0Pr^gYj62WAp--N)|G-tQrnm#7j_b?|S*M`+7*rgWGWM$BsqW>V0`_=Tf_U}G zh9~@y+QyRy4c;KE#;vp#IRaO3rVQK5kZr;t8X_}0k#Nf9eQ z>wii!CMGflRzF24!+)fie>VT{&;B30A_buS(j$m`n>RHM6ZoiR5dQseEeoOOgSCZ`^+`XQAx) zzi(Z}#M#`=Si<-}{(*m{|M1VvKV&IuIISzA^DHNm43t z3kst4lA8R{M;0rz#2y`S%)6MlA#*z{sxb&IWTKz{;dj|trVn%?F|#o4z1i{Tx%3=w z%XwVS>EQ;U4~yb0you-5O&+GYQEhu$iyYcvqo+^4r)#|)MKhkDfOr4w*V|TZx8$liX-Z!h zYyfNLKr-RJY1t%7Hg4jFwYo(<;j)^!Vs@Bdt#qg~#!@!%5wk$HzB%gr$!BubyuI3X zn5J~}ILW2DnWGb$uHJao+|}+fpN!?OJ4^YCajVw^1`B;a1lU5G-d+M%ZpX$i!si|v zY)hbzABClR6y=NbW&DS4uVf41MFJ?8q@b_wz!tr6!;QEQcGJXyEof0+_e@^1SJoyD&n1qS+*9)t z-pPrYJcksk0qi=m?M0;e6M~AP7U8V8WsHA)`Y@suJe7URV6dC6f*i3W==^?ws$nmB zV-YCBd@VdySZFF&#Fa98ys|ttV}DpG3vyVr{Finnm%A&oCCQpKQCcJU?2OUy5V(<1 z)Si5ULysFAF?Gc!fz^ah$0xL%H>clv184Wx!^2Mf3jf- z9cq+jB;^>`Xi9SII>q=v)_xc*At+gP%Twh6TV^8#rYv#wS!JX3iCDACY)~9Y5_A3J zq&4e01#`p2$|!y6MArT}|LBHd6gd$?g>aQ=q|;^_tAScAnR!Xl9AaV&*dfKNI%j9N zcuS~ZWNYUrhCZIznqiF~Zft8-XeofSa83OAVb_QgOFw8P% z|K4j_5>6>$?=y5-E)ncWlD{2>toJj6NG9#6P?AR>8p0}~0s`h~&f=e_-`K~;Pe6Tc z7Ob$a2C#^*)R@!K{&iDRbZo>@b-NU!^Yq2~9?5_8YA3DZaA=RM6Wpv7YP}IHe&?b7 z2zirsASChRsdE}=W+BFXQXN?`L!jeW)v9v)bE@Vm4vSjP=~I>J$pSAZ1Zd*yhn|HJ zRPQ6Nj4sh^$TAbV6vmqFYgCp^AdYS+I%f`H;Fvkc3Jm@NDm6k;J$D1PgNoUnyKSa# zaPwAP=|i2)Lw^I>_%ZPE5)!)S`Ea{`u*VS;L&3{JGlhn*IK?Xx*S^q~bwox%nI>MM2-ZDBOpJIFnWH};i+4h!DQe7w>RQXn^ z)E`fsgB*3SKTfO=eH(LGT|*zmerZ%AdgW1$Xjsn`wt8IAiYF(?{`Qr3;|1XLB{r4+ zk0|D}J}|x*P?n8aVo5-o+>{^6SB3p%NHUXv8(hgw_kc+X$aE4Ro`gIP(Uq_5k(@|$ zi&Ac_JI=yAx5mn^(hlfHAlBtgKgpS`2?CKv?hzh8!ex+7!!mEEwiNA{sry;j9i#Sd z$nYDAvzs*Tj_`L8;sH6fKr26tWuQdFYMW%`Ry_TzU?{beJNV;2rN`dU^wJssC~UWrGBIB=OYD(uVcvEeUO#5zt!4ngucDL*7fjO1sWWP=_PUnhs<&KbO$|t zK^=4mVAEx-NS6CTbALHid-Zi)Q+$$Sy@b!{B~;mwf6}Di;AHp1uS7)5je0qEgeS7) z#)-2yE(|CnVB5qkG$MIrICr9~*9ip|CXsWUnBx8(W$(E8kZuk9kR{VLk;lu8eR#0A z`E5bI6Em;Fn3PVU)lo*hQvW)2=-z1yH7MZ2ulO6B#6SAojR2qA$`pS*L&awY?S*ke zx!k{8vc)4@1Eth?TqUnawfs3(rCcy;4lQrn|5^Q$S(0Lsh&w@0n0!9ovDgb`l!e}( zesnUnJ>(X=nm$9G2?1AVtY1_|J z(JdhzC!tGeePUAcF_!!uprz-S{{_`XhdxP+fu%;LV`Rmj!~BS!ofJfK!X?bfJ>m3) za{T#UW{>|RE>|A+Cr9uf!a;=piB10hl(+w`lnu=OBVYZq{D*&D{vk>2R1a$y!y62; zDi#e!G7>hLfpiCARAdL+7OE-A#K1VB0Ds?*D{s8M7qgC#Dl8ROV!H6zi==D5pJ#&= zl|sJ5;++ET4X>$3@0_=R$_OJ6ACH;qev0Xu`VtN(59DfMo=vHZTQw#gUW>oP+Pqn_B8+T+vO5l?rfTcOQxuu@}&@ zKDbs+qL-@vx!jtUCS!W!sGL8nAJX1+?bEw=Tiz0*Fh_lU8VfQT(8PTa)U+0vOBSLwzJu!l-^ z0-_Xhobf_kbKEqlviH`Qvw=NJBUDnw{UP64so4O=0y=o}OCRI$@d{Gi(*ExlhEwq6 z%JDf94U?f+ez$zZDT@_O4a z4yfxpe;PkYr3q#-6O*cB!*QhcN3kvSD8X`Lk~>2d>rta~Pc_!6HHEk_Nc5$oQtof= zl2d5uq5SJ?cpJH~F3ex_W~nPjl@=>8Z?&ajeelR1v1t+kqRB8?<0cmh>oc&l^HGI$ z)`g(lc~c-nHl`d*R$HCc7Efa%@kBji(hRy|R;L$mX@b5!y5mzFt9#e;^MjpxhNf|; zhcQVfu%LGFmu{qX=R>{}lin8!1?`2lC}uZCC?z)npnQmKj_|SwrQ2hYgL1b_WoMP) zX1AH)Is0fpanFd3D0aIkP~Js*%P&#<=eDzIvjGW|w!7iI3a0#MOu6Hu0K?Q>Ql|VV z8Gy`IXu@2Rinm%HvV-?8wc*g{%C{aL0=Wk32C5ENYRVsoz?9W{>EV2%TRA58&DK{V z#rPTL@f)`~k_Y%gqZ5f!9&xLkMvPMFkXFeU*W=Wqfr@qEuBpQCkenzoB6MGSZ-sMZ zxtQ(S3?8uOl&m*uwC<%=>`d9q$D8TRr_M*}vem5-9zZl&eX@SEec7dnQu}Y6Sq!Fb zhU!PE$s;A+9i?7$k56&V&hP}|!&hhty?I$zaDD+?8+=e-q&L!OMjCbQ5A2Vh_Mi~` z26yJv)-A$V9jGl}R9=E%T@=DNQgo z27`T&+&GjS&C2`g*&o)~N(%q7i@&(5yU(p}p-w!8>Wn8ZC6hol=^>S0BOO8vLcgIgyfFTktf;dF$n z5m7Kvq@%NGco8`!f9#Y{{LmnCNZy z!P!gJMn`=LoLWcqG%X@QA=)-eBW;h{&fC0s6?goLDHlfv&^Z_;c28M&31XDETG;y@ zof+3Ybm@m)z(0-VDsI6>TTT~j;}!F-cY7@VN{+$q1vsYQF_avHrpvLB@H61AB!hxJ2*kll?8)PcWaovaV{UVhFz7V?|Wn9NtHOQoMN)&~)B9 zd>`N-ye<}x1|hXC5+^#MEKULi>2lsHB>RBF#oF%O|6$ft_h9!}jpDrg!;hpiztj*4}2jU>aX_DfA~+gVciEo%GhhBI1K zQ(LEScNp4jR)^a1)D+%i{&|M8E!wD}6t)>OhdMXw>N52Kgva^nRt03RXh*3J;a7_h zY*xx&>23N++2C!VEOnEw>ijcQP2u>`UsfN`hy?i&p?MHyVWsUtx;ETS(+nR0trPgd z5pY}~?#IVH+d-<4x%p%_(15$l%k_=^`-rVD=}!oJj{q2 z+_3>L_sGvX4gO@WMpJ)MY_ENaKNW>W42jw zd*E+l-02Q-J~;;dkhZ^m;tuo0i*;{(`~06HSyl=`9lcu-|NHtmyG_i z{rrDt^naHB@XyOXB&q#hQVG!}e@sjgI3*3iLkcC+IpZ%hPlE*OAYDv4eiM>eRJOBA zK%Os#HQl-|>r~AJzJIO>LLYk5(R=OY$(UWhV4N74LBYecV7LM3qU*Qv+z!ciH*}!Z zSB*>sOdme`eD{3wRV;tK7vuo6g7b+JhBRPKx#q*hkljoXKSNvoNdY4Y<4DcY9)lDg zbWrH;43xP+E)?pG}t1i^0VkT_AFyAei;>6@2d+#$OKTSyEZmpo2@)Rx#O zXS}yP?Dbf<(}lg3+C!j*y_VYn#^g;E#^Wta^i=N`WA;?m7qfVJSP7aN=|_Vi3JPQJ z>mQUFG9l8tr{S_|kJh;7K7Dx={A4$whJ|#N)w++~UFN2+_k?c-0p(>; zO=oAJoLLt(m3%{Kk&cTt7_a*<0`g$Q`kb1AXhhp!baK#|bvzhd+sk~A9LkiDEI&yP z<}q?hZWkN)-D9W%+BmmJ5`P5xATb=LyVHHZcSXH+wU^lutJXa6;n0-KO;HjFdWsWW zc%u4IZ?FtRgq4~9+ehVHxY)cs;?;6;^u5|jji`y2mBjeKoIRoEFNpJPV$HE& zW>Ap_u$9fRB9UZa3fcA*R9>2+=iP*dF^Zb(5>`0{Zfco8pISh;9MF%#=j}F$mu_)9 z)rRk1w$k5%g5b@pgu=lz39QyC-Kwb@$}=nd7OP1MA0c)iRz3g`S3DX@+- zle0WsZwN1}`u>Kba6sqk(NBa^LuXD~A0FE5NhC1LA25j9JOszsEXED}T|~NnDeUcv zasXpyNmwrBQrg$nOpMy6S0G2Boybf-fL=48rjZD#+gNmd*(~Hqf+HmYfC-T!?fBxs z(=4%f>1|Rx>8Jo$$yyy@Z?rY8ZXYRkQNI`iZL{?iBb{z~%Fn*Q$1PATO3!9F`p!}D zvt=yfMBW%AnbNTnbzjVdx5a?O;w#l8Fd(~(mYiqh)__x>z0psw&Rmxdu}(;-{|ajC zqWrW!)7T}GJ*pf#{z{JW5BM;gyzS=*)@8ZwRlHvc7TCIneJ<#{$Jo)>kD`P8z9-$< zk{x9gnS6{u2~7bydT%2IzO$S4+uohzb_ua|gAVrHVUBE3kRXdzkSMjrz4fg)23s?& zAxM^L(i8Ip#i2ueuOYgHTJ@#9D72@huMgn5@lgEoMgCG}OU%y)XF$4n-XTD4jk&7< z-b0L<8$0=#tEax@kC^C!`q|p)Rbt6iWA+5w)Z|}-J*;A_@OJp)l&vSvCTR^#nG`B^ zxakgEpDFYd=ZVII#g3GA4^ z+W~HS%=_Q)_1e?sD_q61p<_c~r66i$vSBz7LaVMgb{CS|F~XML(4i%82i5z(QB-_W z-}@sSKV5gCaV7IZ%SQD1)^vw$Az;Z6rF`KSuas&M=l1Ksdn8!hCw8$1<60O15XOr>_eNn_f0M; zat!x`&+N}+lUwXC#AFZFQsVvqUjDQIt~?MSO`{KvtSuT31P!w(~QeFXpj>Hqh8+5gzq{_SAEb`>mb(ZE##*CCs z1mrIuAOsXBBpjWKAn*%_98!$GkKi=WZ&W%n4WJJgURk+Q)frS68D4ep7n=OC(Xxw< z3;gDI*R{^`Z`Z}mM@^q=mFI^a5cA9!e12_z|9W4nD05fqa(8i7Id1yqz2`Qv_J43g zRC-Aev4+~#3oR=NPo3x?zXukf9)TbGh@HrxHJrXR3s;BqX@>9~?h!6KKDq6j(2ISI z5UGUUuDPN6^#R4BOKCWKQ-jo$60rjK#gf(|DBUeftVd#4qj0$#cFYFxNgDTw%F|7A z&ldVO1L|8Ak?K&dD5r<&{u-q&?&DqL1N?&~?OXnckMe-;h>v2A?~soupRZ(??&MY~ z?K}MJL-VL7?$r+EtAmi$&qrmqhb-AHf!znc?~DANFHYJg`Be|%+Y0d;%SY_UhwK24 z@tdsA)#MAe@A>qWF6}#G$LHkMZ-S5bMFH_U)rau@8|ki$njsKr1c{7%RMA&oJ{byP ztiBL|IHlgSgq{7$&tZyEA)h=uVBXAKlZLHZTcRirs9HT;0>0m!Pk;(l9D$m4UE z8k$mn5JBIl&{4hb! zkkxa01wm0MYL)#Cp(^F^3;7#>s-P+ra%KE}gCapyD&;EqMVLT3u~OIv0jW{ciuhGQ zZ4~y>)FZ3tX8^e(-^CQA01)3$Bfwrz9THmCdb+?Tv}@1Of+Cug7JRAujz)LOL)Uk#=&8{w5! zu`3_H4T~VLc0NsN=+cJZJXBZlvoxEya^~Z{pzNfsjpAIH90VZP41756%0%B~YHaQ* zXlUCOo&P#8i%0A9BF+y@SHtCHgqw=4Mi9+-FpH@1H5?UO4?}RxQ}rUtKN!tjQiBz- zua^Ig=HQB%863Y3Z%J<4l)OFenJic#gDXpZ<>v}2GQy~YqO_m*i}m*qNIZbSHg&T| zk=nC%#!dbPreqoD@iQ)=(U69}m4gFT0onuE!6N1o?7>16GmstR-k0?PNmC6Ku^ux4 zj=N*nh6)gS?$s1>PKB6O5CO}A+w93TCZ&0~!wFyKj3!CF-YMNQdfC5#_d=}&UM1yd z9C;M^=C5wwl=|WZuzNaJ_NE#~ql=A?)CEALqsC~kVn@3f*wdh3u*X3NXv@yB3XKWj zA7>~cODRcy3H=tFtJMR2>U!+=G8-2-hYkqgW^s(SpGN$Cu|=jIINyVh?PFZRZ|s%A zsw3EbkCo@_?MQAo#J#?GF?piV$BTV9$DzqaY)yLbE~XiolXTakvPMx1a+MOuhEd3n z|Fsqh%s-@Q-IjU{mv}p)k(gu5jVrd4R6Gj>zx2Uj6kTwb5}iYWw^&`6O!VcGMPjYw zps_&`KQD^^)SSt+pqFuEie3mVtkuK0o$;bdw{(N&cI-9PkY$Z4T-yo25J)k!EFYe1 zqgb!B&mBWRSjs1zwCP_H>YvG57hBF0I%@=yjuY)RI-5r{mge0IS;%v3cOa%kxBz^Cq$GG~fv^xf zGih^8b)OAk2@+>=+qo6VcpjUNX^M;8>&^3uJdx>**?|un8l)JhD-DnauxMyScw0P2>yN} zidYM0+!EvCq4WVdL%wW@wapiD;?3!|Ir)}`uykB!OM>8rgI2#qV|)mA+#^Ewh|=Bd z6(PxAA}DD44`g&oAF#O;f`JE<7PRYYA$SYgxm{Brk9!u@A|-ULFkVJE(d^)`VChJD z@p^o~+P+}>zoV|(9Z1r4;^9@1B1GYEQQ;T~GN=b^qtjKetLfOmCi?=@og9A%O|%oA z3ibCSjCpvdiYw_O6)AWD%vERQTw7=tjo?}+V`G}Rwwi<&vZqZ={&aH1;xn*Nhf%1s zUrLB@ki&>^$sf?}0pcmMNo;Zd$s07KpryuAjw`3c15c~~N~>k&EnrOBZG-)|dNQ|c zsVSOle&{kb_jyNwrALCx&Z5fAeXRvTYBoMiWFyl00iCvi`)e-dD5I&F ztUIn>AmND2y6LkIoyiHrK8S@mBVixJmaAzgH(%Hi0gSN<-F(Lu7q*QPjuj#Aorg>x zykCXS+P@Zo-UuCK0$uR3e#J*mi0it5Aewh{6r$l;YRQ&vkSwl`x1>rL!1x*C1*UD` zCf^>sZ^U@ND#*w_dc$11M(|f=FrNNT+sH4Q7BjVly9^E&;mU|x?qfmFhe@|co;)=^ z<82QBN2LWTVuAn2Q3+5;m{}LOAVcm)mSg@G9W!Cm$iFA~ z%bM61^tN?JU{Q##sRa{PG_)WxePgt?H?uL+H{MN4WA1)xPI&8nlr-28iCQ47Yjwpf9X>UZEsD)j zupAYW?6iwfjuN!OXex_!@0Oaz%?mF<7(cGCP1gA;jwkoN6Swm{%@um*?LH3c#KPsZ z;JU=&z`S{>3u(fl;EMx9+)&3}YsD_p8$YE6+ArrN&31+WC+Xh7|7+)5S?=jzCOri& z&MHmUZ|q#?wh+q;)X))fSCg>u?@pQW_7a8f5weqk^MutejqO4+{Jvy~FgMum^m8Ma z%&g!z=@m+vy(7CDrBgTA{oL$AJ(=w0*Kjjo;&XGDjC3HvHd+B+<9Vk=T+U2!o5x&# z^}tH>SxEYIdExX@fg`G9SC$;$ofE>Ol|S;)kYPgZ*0&{WN;!PMHXgH!)9aZfpkRe5 zvxUu1l9M~n{&c^05M7tkZzYdSz`vf}!N4R&fuL4SAYZ})ztb|9pr_%fk@1}l$)hEBI z>?gywyB@3K{#Mr}*gvFM+IY84j}7zr8Qw8Fhm;v}eYOW`R_6qIlV;0k|x8RfKNq1WzZ z=UINE%gVrs(=~zThf@E*ukfjCOx!2$m1Qx8u|E^-qpg;*m=x(z(n3>PE(8al-V2*{ z5H2%xt{XVsR`K2QE3yVmo_Vh;*vHM&_Y|2Wg2d+_?9CjmV8j}wkRf@K(ks36{BIje zr?{)VFv3T&(0Kk&f9*@~Uc-I%47;Ajc2rIaSXTwr=6*$ptY8uVxOKcWhU;Lx?~!pz zAullDu%FMrd=jVJ|NLRL84XiE5Yh@s+6%*(@3LV z>0*^@zsk{bjRjx!NkuLA;9Xko?u~}lOm+Ntxgt%<6XynmOu_=V8clk1=4ecMsG7!N zP{ll-Nji8B#;xwFlul1q)!)wHxN4vd%|&_o{OG%{6}F;osoPx{y#%nX?K0+I(*SH5 z-i5gJ1f0eEYQQ!rh&*L_(>Vmy0L)j{v-{dB$*n`mXM$GL16%%#74QB|t>b{swc}?g z7|l#a59EHIlEw~oywJUaEk?dbM0W|!IS9AIIsKg0PEDw9&L)F*fp;1-%)Jb61MJiO z;vb1`;W9$W+=Jrc8|zW$d!eqI8Zv{G3=5GGim2Un@3nZG9HNAsD~_^nE-4)!ueNfm zE=-qAiKD*R5P9_G-In9~8Km7ja>HpuvA2#b;JOx4_d6fPh3{RPtb%uHb!luyAFYnP zFA%p_@-fgSZ3`JBN8*8n%x^>rid~$sER-^Y>8B}eJ1of-6*s6aWiawLBPxxIr8kj{ z2vZk_8xR`OT8I}xnK)Xie(m^@mt|n7SR9D?l-A2Fq7IH0o6VTZUF;)VjpFWl|Y&tT5h5FnDCD?ON>+t96zj zX@sTpj?-b+B;K3%Q*ut z+Ub#bSS=_M;Wo)!0(*H<8-*Jtr*5imoi32IN*TmDJxBhRvATn=bcmYk)lxi#S@kX@ z)R*yBN<~|RhgPXDk`VImNnGB1ici3L1O*Uc>+neAwGasJrEl@CugWi6~O9g`3j{FrQiLM zJXcLI2>BKAIG~l{MjDlZjmnwV&uc9fPa*4J{+8{pewZm!Cn_u%mz_xxkesbMbifFY zV#UNV5rDfnJvR-`aiE7FCopYcwrn{l8n%jqu9rvVQWx-cnlnbPRyZ)L-t3}BH@s3O zDi1*uKxmC%d!Y|2$Rhff;617tW{yDQ-%nG^Je)v3C5%yLN;QdjtzJgBmoo-$no%#^ z>;mnJ6u_tw;P<-uDFm~W&O;&cRf`5&QS(sc+-@wBIrCDJA}p6F2oFv0QISSZmnj_A zO+_s@P}AQ0h~?ZZ?iY&r6QyiHO?!9JIepp!Bh6Qy&7GFt?{v*JC{2p4=CL@;d6v5` zv(WIgr?!}f{WoP~?>Ku<3LjY^Z^<|#?D?L$^7cp4t(i_RdyJb@*MwT$)`3Nw&t;`h zzp+4L7p|IN)`(PdOAED&7i)?KRYm_00clIy_aA|(ntIYFoq5f#+8R)<=EW-1zOG6z zLVA9g1*6UDH0}|R-~Wha*y809w%CD)Zg;mRhkZ?{(mGUtS)}exZA1EMcW;4Uogo*@ zQ@ZUI^H|xXiGEe+)xpb^*d|`wZ&&Wj!FP3AYUpL5V2HScy?$t=8~pzJ4fJ7EItKFe z7Kx9bc!WR3YkfFxWKeEh>jR6Q`%!GveF_ zekGojbmX>jZ8kW)&PFAreO$w`n{#Ns$3}(S+5nvUR}(xHyu${m7DOe7l7_`QkzEfQ zcUfT3uewC^beu@}qo82H+mU0VH=%L&gEbk8~ zbE_RwkjoAku1I^uVwW>?IStaV)e=pL6Vtkfw^s%5M@Am%wH`e{?v%xd-k652O&0;j zr=BJ96k4^%s0hqr!^>v_) zs2IPG9BzgzDN`lnVuj?0P0kEGMBZrTDT*XL6`jr*hxUS)ddM24evhn|TAPMKomD{d zSx#2=53lr2B*%qxt@FgQ(XptL54J4GJHLPDX<9BarZa*KYWH4cT20TpwBAu|B2^}`}F z)bCO6ciDOn4o29vhIj}-ZtsL3igXV86Iu^IlJXCRAc_J~;Tc2$t?&ZKx5(@t-*s=z zdj&`gEqevXgvJ9j$b{wtltlb*mTD!Bakx74^k-23LMH=1GU8#ilV zGj)6Bq;UZj3EP*~u$tOEOd^8%J=rjh zjT?+XZCeklTQ+vy0FMm#7~*ZafrBtg8xP3+bDI~4K_1%|(J+0Rf$!%_fbYS(rLlQ2 z8?33{TOsNm3egXJc|-tI!1o~EX4t$;h3yy(*oy)(KzpV_d@L%Y0 zeK7Ys@c*9Mja)x-UNnq^?1aAjjehd&^}lY~)BpJ)82XFQ>EyW$>K=na!I!U&y1qv2O&5_|#jLSh6OHSYj~z)Ycp zR&?SBmCbIch7!%F@rjl|&@zf1Hc25U#s-sW0+j7?-a$zFA7!v^f%}cNC0P@AVOdNn4$8=iFKM@dhh+Z&)X96ywCDv%B6GJ zI}2v1KO_oCNTUX`+F^Yn;e$YNBuuSH1B^oUeY}qw6)zcmAGn;kyCkC~p9u3Q$kmI9 zpp~`N`>)iN!?OoZwPWbQlrr#eFnB-3IeWcq&5IJ%N+6&gvb7Axxqon$`W0@`_HE1S zdne;BywIL6c*LSx|3YMhx3+@R=n1U+f*mCxTErH+U<^m__+4Z1zw0kchg^fm zydZL?8U|h0(VT3BSO%F|s7b!?wrdQX2*YI_>07Y$Y_06%W|Jw|_aVyOSC~!X-jG(L z{7uyrw z;2Q`d)*4!T?(i z^YM>|0K_N7aP?Bdp@Cn_EZ54h$5)x+f{_7OaMB$Dg6vHTz~p8vcCjlF%UiKJwo#S| zan=~|`sD%+ZAdahvmOA=7;5!$c+Kh!t4o|Fw!vm@q$d~b7RVv|h&&IHHtZj8 zKGDVLqjG`z2F8$UqLoNK&^`T~6?LAz&^^P8Q71b+K|4?-tG{)xkMk|vv}79=EO3@1 zw%~e1kK=5j8W(H|ufvAvUQ!=ZG{-0_^~{t_UbY}3XA;&%wbGKZ$P3P~WnaB*)?4-v z#gy-i{#4|4kNnhqB@Q{F%j9@_#hx$o2lmhNUUe>j1f!6F-)As}0I#Dllwa?Id8*$E zGGxF}x#9g}e|p_Y^vrT8=lwZc$!C+M##L(I$GZoF+mhuIZh26a8P^af%j_#ciA@xL z6!Y9b?5)|vCypi#V$3nIDtKMt5sZ!ivwUefkZp=uSUFTd)t-;Vi5YF~T>(UlxehQ;T#BzB3frAqh#`+prYpm+QpbfpBj#Hu%^;|mxi0*Ve5uL;E4F&-R< z@8Au6gX9U9FADKK=ToW0VXg)09WWDgh=4Ict-OZ*3#^v}w;T?ee$myB@h@~@&jHKI z=aR})aML$+l72{I!iK!C*p%KKelZeq^uGcoef@~529dM_{APb=?PVA|A-l?fKJ6e< zWshQ63O^*>wECQFqzY6Ncd)Q@cd+o3ePd;R#mPF0Wm?;k&LYw5!}I2?->8!PlNEHo8o<80k zg%*LNmRG+t6udSLA-VRmxjt%WJhvZ@dWTfSjtNSeT3z$MU5-)Dr~&HGhp-~yi7BGt ziR#~<42@L!rd0ami5%AXclBieUzKhFLIbyGPL|F*v?Kv#H*1T$9UF7ZHJS&Wp;GHp zb*uln#v#++lI~FUDuBp8G!lFh=!_;Eqp&n93CEC`lqy4aBgZ1KD6IXAUx^a-(E5>| z1VhXvM->>kHpWbPY@4@7(yI{n0%c1y1L=?%1Er#nRiXt3trT69FWTf{Jl6S2Z-_rQ zNlS0?)I5}xxd0l}rMCxhUyOQI<#nTQR^+2S^cD>n2K+N+)3EGE-nY4P-eF0E`Ly;PhyQDHS+ZOlT&Q9JtZF1V(S69DI^oMg5t;&VV z;>-$Z(LX?&_dq8Kens7pzDgz+$%|pjADPkq;89D&XS0;17v$q#X(y+NZ^k&OG|mM8GhvDy|YC-B1Tl9T+J} zHUjW66OK@}GU}%fbM&^8Oi;n82Ugn;g6GdV!EoQJ(|cG{%eeIRI;Ag z-okiQ2B_jJzW=F87`KiCuEHpsQtKsurQMYZDja)HsT5 zwjn&DcV2`NL~uAm=ZjK^C^ZMpimF_u48k0h7;w$fSXEH zoHEaVn-QXZ&=xQ$g_H>iP>e`WwBLYG5{OU~K#sTIu|~)_5Nc!#Jh7sj^Wh4^5roPO z$vG5a%@lNrN;t{23tPTz&<(4eBEoS*;p@hI#Js`5%(ulBDUi!2?I3QCU1|R&Zl2iK z$O@uq$5%N{KX@Y1JFbW7m|c3^kN%t)h^FDNk8& zJ6H0Frdp)`BjP+4_d|u`IY1~Z#U-3$O$&w;Sh_RrLucW;AS+j=5Fb)Ec%x97EDoGaGE+M zIQLX;j>UWoj!s%O4abZT3yeO%h|qEavB%;*Xl(|sgHbyzfNO+ZDRZPX?(sYE1>#~;z?Vh@&W>AE$>-a#7=OhmFY&z9 zI`^rUPCuy=JRhev>UXa+pUgrc6Cs zV}KqW=Q>KG+V#{SKta^&H&68tJ?PxAE@VC}aQ1Yacsz3Z6id!^sfH$ zPZuhfrX+i(Q%!dhO_Pp>EN9!FI>QVtLb1q%cKhnBt#i?E9P6iKUrq=d?UDLanM9|%5C6Uj?0Vtvw-XNBrmfKGle>I~mjBg-Tr)%8T<~EEk zPqxmN~<|0FAnp@#;hn>-oT;GQrCMbV;p7o|> zuTI4S{t;C7%93AyKst|9@F)%Ky|3($eJ1&J;HVEW?V1IVfAj;{@kVej=57Qo z-d{hg3xon6kc@A^JBn~+4%#Rjy1MYbX1UG+BDa!_e&cc}y-w>j^r}-(xD|yj<4tg^ zx-R?}1-{<>CYDA3!xs+Q*!HlG=*vB*w>o1M9v<9AGcBjSNlC5bO0L?a<*j%lp!{C% z=iFEW<&pdp@5i>T4qmyShvCru#0ESwr-$s2_v8wU+o%q%Q`tqat90oKoMO2%JI%mY zm?1rXNqTyOGdWX0XnHX6>)}A>&5`i8U9v{rFXdRxvR~4@u}`+Z8I2rZi%lHhHcQ>4 z1{&|xe%4Lb(5uD2^m|jEK!F(+w^11L{wnk$T#AEKulUd!lsusVGtB!??-s4kfOX2e zxB01C^dLDjJV^uBEc=k}VqC7QKLQIU9K+AmEcg^`VX@ZxNRP`h-L+WtpsL!<`!MX% zt#5#Am;V*);7cVTrX?TW5qky4e(jgoADOZCMN7J#{UqB(xSUz1PZ-s=5xH9YJWKaY zdE&UVBmI(mioOipdJyh?6a2GP@K?73)0}+<+6K|kU*+I;<$I&A1tOU3pAVVOH-8Xa6 z$n5XLs8;}OeA;8-lf9rp&l4eVkAygrzYq}I;7RW;o*LK+BfMR&ExfxHpG6C&GK-#=y5`iA-)0g&+*t9!-=Uck^dK)=qnf8#>72{tx9ouMwKgG|iqCKQ!qVYbI$n`16hD4UxSc<%^R? zdQE@uqLoLI_?~Qb5aFKDnfiy72V#jg_0I77{pAN|cSg*v{LSeHk^P^UTO{A#p|2Gm zPM@|PkMAFnpQxW~pX^@*Uo`wXhdFnMWNE(C_zd7h&`J!J<%{ZCKawQcSyikOw@_ab;To~i z!X%l)pCB+tGe1{h_pqU21UX?1^@AFa5q^5G_X|QDlkg(!@dk~M>iFG&1s#*%{jMc2 z#O@b`qCuh;w;R4v2_YRJ-`2BnRZEeWZEoE_`{->(&f z9CVK)hMXN(i*Lx+&)Gi&l>mi{TrDgiF2hb#Xx#CAFXRC&guh1-RDrA)?LgO0gDi%u z7kncWv_d39(uuL>6|_RS8FnKUltR>ry=Mv~5PBmOw1K1-b>kMaLb4fs0};f7ydC6# z**`+%R8((0zS!-KyB0L(I*6KxZ1Sy$yb1Cm2JLDaQ04md3 zN<5_gs)@bx`B`@bwrcii^XJb_^jVyZ&>XIUw_u~{B8$bi}YP9iDE@6@dq_3IXaWEU36F;cqti|3)lRhV>cVYGf^6MfKfjj41M zs|2l91C}jqCBBN9_8iPBuh?kKx9)74ca>&QV z^``v{2@OYYRl@U&Uvqu4|26Mh%*lgPGC()syJPzJSfUw4R^w&&!xx%{a_^V!qtOKe zqbmR|-TSgIjsaprZ^Uvr+Ug+<*h#Jb7{m6co;4Sgg}~OmAKeuVmd>FGYX>OQCe1p} zzC$}{fM=XdSEZo)$n_&cr#a#2%rgCae5%(Hjg^2!lv%tmb35P`hcAOL8(Lq2*aay zn4E+9u}?B`y9&3ni-I&o!8qo;O|2u>n~YMcQ`Q;yaIK5Sx84;(i)%zkvobU;T1HiA zIZ38r)(BBAL;F`-Uy6eSi><};^$AZM=c#K_F(mQt|&2xdzT*3 zd<>G_->bjTXT&_w<8d0`RE=WM0uwdG@%{k!lq2YZm!$}hJm=NyZ#;A^DA#2ZnZK6Y zyo^^!C-2%i6;&2X9qL*XJs@~~;0oKj#qId-s`!$+F#-J697(9Q8y0_3dYg~!kcn=^ za4ng7Qiszs2W)QdreDJy#joBsqQ^O5hg_;xi+zOhC0eRqqd*oWKcA@wzj21V!68knSpmk`pHvR>g*j{WBa!?jlQ`x>rV8RJt1c53uqcI!WVJD$sUDN zz2>2(p7b;g9OfRkZpwRq=CzW>R)VQgF`Be>Z*JCHj~~%_uM|+4gGXOpuF9%c8JjbA z9yg=;VJ^A{@+t3e9;u~(01sO+Z=R96wkrTI>H0285b!m8PDaH}Ao!n|H;C_TSEEuz zpMHQa7c;CQo*et zG0^UhCpLD#X$#K*r?HBZdMa-^l%)5VelUumP3COFwSZ@->uk={-GEraq^GRSSHT4G_q5kj4>x5s{hrYxA$#wgx@b#9pW_PI z;67^~<6w^NC z?E4pB$2JDh2RdnuLY~sTLcB+0{xO^gV$&?CyB3XzyT-*p35xTaFYFNcU3oer9E>-Z z@sOOiCm|kaT=L8gv5+e5v~)M%eEKATWpe9qd;9~(Ic3y>0j!^sqp%vTCfF(n)+#(B4+dp$|0_p$Tkm}X3Z(mnhQ;n&FF!AWl8h9uI=p@cYixMb6aJ#PmOzll}?*!#^ee5F9%r1u6(P+_Sj6 z^j1TlDsq}94%z8-ryy9`R9QikZPt<}la&>BWs_I)eW2tBWB0nu zMd%_z)BpN|dEAOa`K>0GxhvJNmDnYDeVI9TXA+(+QdRJi z{e^+{HjCo#MYrvrk-9E*m@LEm2+RL-fvkTmiIw{HXD%@Rm#K~a)zxR|1dk=l6~mRxSGb({8|Fia8--<$w>z?sghXs4 z+q2`-=Kafb+cClY^YgYB0`~eGr%&rx=UcdR!nX}QOClf#rPQS80<>rtY z0M1bHQXXF8S^9Kt^b&&AO%-Ba=JB15L|4h6G9H!?J3wYJnWp<;fzyW8g#tgVEyl~q zT181WpoJA#Y%X5l%m+hF8JT9Xm@a<`LyvZJf&V-0w}BTwcB2eSHUiAB#;nw-mjfr- z-lB5i-jAlFXB^4z?w8$GUotz2;>ihwgIX-`4U32R>~RK}b#&&0U{<`h?HXrL)ASO^a=&V8&65@^<@V z=~QxuZIsb2Xzb{hMod`cULru2v=W5{hpZCOSyOtut@(&xohx!%NsxW6PNG~eV{&pj ztKtQeHlcZv_UHb{ILxyaOFK!WDJx`nEA%ChYqtoNH8wN!G%@p&img){Y^=NYn`p$) zSd4ZPCTE9hnT>z0jzu)$ARny`h=M1x;KF59cJnfOTQ;}S(Pczvnr?6ziW;YQN}9^3 z0>p>h(Nl}^)WX9_UMkle+p(sL4n^2y)CD*xn@a&pWg*yGINIup(2XE9J!~`%Zd7~; z-&GsoN7FQ7>$PeOHM0p^$?V6R0zO^Bd1FBe{MV5j)ay(S>zx9czFk)EiyXTmgZ@g{o0eK48Ia84m$0G<^e@ zamZar=cxFqMesIM$qBU)azF%&0_>IvBL-YnsdZyopgshC`7RvR?UOAUOX_Y5~$E!`S8 zwqCZCU7*>LvOXwuE^c3xvLxls%U%NFGRNL-!h91t;MS zcTy+G%>co1f(9$?BPpnpuu9MpW;_+v|UZC=j5` zT~fueV?%(einZsor7li+wzI?vC|QGOO9P6|+3T5T^CV7$JZLv(_*H#<^qL!^Jo9P$ z6{$SlM@B}5EekYqpmShivfvx+Yuzc|NE1e0=Jc)F{z#fREgSzLqVa7&Jnk--5=}di zXT?}J{_$Y)`9{}DAv)8$NkjEp^+Qz9dW=djSIzV`|GV922hpz&*);W@bn~*ep!8@x zMlIU5Ff%aX%P*w4mpKvr!onN3+FWh7JF1@J@Hfzi)tECDI<4a)XMo$))B5qOf1sZZ z_$^jZ_|n12A4$;=*vec$<0Zy8$mN8>O!E%eQc_V7?%|0bomWHSqG{ve z9`t%2($B<=fkdC6McvFxd)+j9-NH3~UlFbOOAV(al&#G34UkKkQYdLr@goK2~?gHroOnO|c~&v9f4I`jJw~B1Lihf=^K|>|=Uh`9q6c z{(#6(N|`X;t*hvcQl;833PTzWoE^QE%%C-n&u4k)d~K~ype;xU&g`I<@!2>tX^!<>gongdNtJ_Jc39>)M0T$8Q$kMNPNU{AbRuAaHCB9^QSa$ zkz-`jVPxE}+FWkjxebtaN&Gp%!6wfzJ z2$i5p?4+e%)K=S~_~M^{YasXB*C0ZtAaAT5Zx07-#6zje$#J+Cx+Iio)F}`Y0(x1H z_d6k!r(|kkH3=bSOB6X4#BBzIxA#6`^&JA7IeY}U1n-Z_>si-8^*&VS)mC;^^3E}U)4YO62rx&Xb{w_xBF{- zy|&ZyS!G*lSBLAfgt^IT2&>s{A5;V>s@9qgby;E>W3pCAt~nY` z!ie`3LjfNK44}s;N1sZ@=}am)Pz2JD41GZY`;q{LoW5UJ3ohbraXu@lTY7n zw8*R>5%L($@Q@Qb7Z`XCC~cBno~{ORxB@Ue@v}~d17 zTj5^luRq0ZqFQlpbVrb)rR#cVTCI~Za4U%T*gPwbfziKaZ{agfM>;%&M!cO` zBcELXe$VKe4b5W3#u#w6&cBpK6ICJ3TvY+3yH^{FbMVc9t+jL_RmQYuta)YH3d(}- zm#-%*$Ax5$QFK99-Z-p>OG|k3fjX1n5f|Cj_S6S!G_j8!4e(wA&;vBeA$pt2#X8Nb zPNGK~NvXVRq3ib1hhDhy$As4@3>Fqq#~XK1@41~DUJXbnx7Zud?Q7ZExf)ee+R^0n zB3vhU?b1;sr*UB>6kv37NEJ^$ z@y2}bfB0X&T2V!dMn98GBs_kkZ%ia)`Quy-{PpXJw?p$K$0u*y4*i>#QA0&{DWfZD z<%NA(P0s4-3z4*d!d$QwOm32rOJ}5ym~x(+%di(MeFDXir)I}@=naxZZle*D-X5uP z2Ln&}tF}tQd2_^5fO}SY1<@eh8oCt;C=5vcmLG^09mH-(IB{lS`Ps7_Vays!*^$UI zNLKl2_J+&mG7Fj)>L z5k9rh7Byi}*77I;myaR1i1QPWTJOK~mssSe&NZECt3I;o(Jj;%>k$I$RTxEUu- zt}EQuWa!CDni6MF!0uG>4TgCQUrWkFpt^wxyCE*ji8EkMf@Sw-Kc&9TJtREat2Uk$ zhVT^YT0&*$r-%#}K9xYot?DA|S-#$mg+v!Le+fdfQVkVOe|G=ahE+N|n>-Ve|4{^Q zQqoHD#x3}jPQNZG4@TTyw4JudVtL1B3l3N>%CB|)-{T%#JKE(J92m{L(Mk5&gRRZ6 zj+!>6s64Wi+N1p=*!{TxSF&ougmB7t)z5{JQN%o?S#86K^UF7ebq3aW~iA{cBu$^n1Pk?EKvH_88QtL)e|vw--)q7xWqQeMDX41;LhxKxThiN$)S##)~?yd3wioyO~Ojx0EQmzvHGbjV1M!H~^#%vUj*GVF?hP8QH+?wY&QTGQv zt%>zhRGrG2)-WqL^D$8Z#AN8HL!uSfWxp?vntw7?@pTp3Oxr|yPf0g zqUDWoKb>YM$0x>pO>vkRG*?TmrNEzIo#&dW6MO6fMaikyUgbhp7Unwkc~s}JWqUL* z`ACuzuB^OdKip|c`frRU@Zhdm{{UzPj^vhpNX7g-ihkITdd?01Ti&-lvgrUTPlDv& zF*UQ3hyOdED=KvFY|Md0L`L<;z0YiKxx7~{of|}zVUq27(%y%o2v)vy2Te#sm8UB@ zIfweO$5stEyne#_L%Q#u>V;Val2Xx%Gl#VYsI$q6j`nTkD^&!{5swL{);vaxEeh3S zC6~H1~MyK%ZK1PptFJq4mSxZHVm==SRCl-sg;fsDd$Jx53E0uC&T}%0pbVjyN zKCxhSMfo-L83JBFc~{7vY#ZL%Kg`1RcQ;7{#oDuJDlcsEi?()3QF52xM_A{Y9|Ro1 z#^IZeZ+it^qG2oNLWexgi`}6r8%gCjAsPw&mM^~%rQJiNMy|<#}i1Cm=xinR!!PyPdij0Ir@QPOr_BVYfm*zs=S@j*O7W& zO)f;$>8O&9OJxA~(j^^;E#Y{Ax%PyktHn|2+Qm@{ZoOQVBp?6Ynr_FQYnklP&~2u<4{bQ z4~{EEki~xWlZW2|7nz_yhd&^{`pB$9af^M43JtgdgeHL6V&XifXZAVyACGZce>xMM zqCVW6!v;h5>XHecF?ryZW&HjE{+}zB9atqd*mpig{+kq({eN@+|F;$Ee?0^I)9?@f zwEaVt`nx-tIku0PdjfO@l_azReG_fsxEX4@EwpH1b7JheENTFBUa(ijg^y&&#WXET zgTK{MfEL4}Qd5@)=2Ze|!cvMX|wUhB=B#eOGr52PRgACxF3g_bAnfe-=aZTRn+ zv==Xentfb~Zp(db&(09(053_k6jN8t+HSgi9+GaFeOKfi)Z1Uk0!X*Q$o63`abbiJ zm+~?ni$CRMmzDzXsX-CtG8y+ZEasGq;UGq;6XAVHWwL?p)ejX=teTNGYDBLIPZ~8 z26tF5IpV%G3xy;+x>hz!)sgR?eK}w$yqakMG*(Sjk*Vza%ifC2XDB5;8MtzP zT`&*hu-|6d!lqlz8gfBA4~iSoh>8_=#O;6pYjJY$SEB)HAGtEYBt{#(k8%-|?Aimj zzkaMoG}(AXtP+)U;l+z=P^fkTW5IW=PzVS4B=0cPDuVj64M3r){Fd{ju7zqgJsu{-l< z5BcT>2&6E=7;LvNFc7yz;Vm?s(XOx;9jP4}?B=YQIrtT8%7AAN>ow5+g{ZZw?%Ek> z^Us=0T@iA3sL^ls zx#?FuJL{9lq1`$%{C6L*Ft(HHM$%&|QW%fho}N+p6q%F^sh1wovXj^=?Z2%fSs`0& zsw0yis{3u#_f~M^IJ@-ZIA`W#ZvXBH6jt0u68}i-- z)QF7@Pd+DBoFvzdo+aOm+UG*RJO)iNZy>(W7WWW1VsC=Cj{K%~g*k$-A==bDt#z>! z1+SYIenlRczPV=L!|sn6sD19qKb|OoV~_7?fIdI{rpgC)4w(~y>=KA3^g*EE{07qn z;*Q+qdZ4I&{Qmu1#^spS2X>=(2!8hQ*TD_#hA(-7)7r2MY=PcKibix*$t{A+m{C&U zhI5AdjE79ibsPK120D3lr z5>9^yO9IAsxHn`_wb|q@Hsu%4c8BEjL7Ekrxtf!wg);{t;7+nE4F*Pv5htE2L3Wv~Uz})HRR=&b-C6&B;6bLk0%N7(68> zi&24+0Hvg_6Dc1-PN z@0p9Xgy>HA_SI!njml4gi_U1=^zUKqAuCwrO^Hj`sVu9pox*eBmlq^1e90K}d2B*t z;Wv5y{MAD0a-utz$y2+4Y#d!#(VfNAm>Y%9wy4VAwlW#}IJ9IlCXs^jch^^vFDZVX zhnF<2JvZHu#uVhMeYOj9Vsk@nnT|o7fX<%SQa`@fiS8DIxwx|SXXkf;xxpsnb@$|= z?9R^Ue0BlO4MX%O0QPiidRq+gmbcC|7>?9Fn1HG9r@z_0KP_DUfcVd6?I2`~Y~1H{ z-V5fxu@1g00wXpd14om8_q3@w82tG0FV?{q#TUNlzL1>ktM)meX1J$?7G(?<7F>&c z;g`OabUcOJ0^_O}1hT4tfnPyp$!RfMkz{HSwi6*UGKW!OrMrtit1f7&W2Eyq=;w)*OA z!=lgpXExkJuDILFJ78ehq3u4U#9$<;8fzDVs-1FaeX^n!zfvVoHH0dq1dF?(di+|S zai7g8)PU@}Ub3BIWCgJ<_Da*Ds`SdiviqinT4sSYt5!uNGF2q_EZ(VUwExevlG^c* zGmd~A$KZ$osu0ViWZLDW$(PQS-$M4Z<3D%+Kci)&M!f7}36D=EQwWO)Pkms8z~OlV z_s#Y&+O@6Lmqzb|X35k0RGQh<%&E1|YwV1l-0q6feUvEJl{>7{YZ!DwX8UxN6|Zc< z&1?)T0~SL6v|FqijxJPT0jF4h4%7ZFqib;*Or}|5n=XfTFzL65bQG~_* zOm~ukv`SztclOz2oy#e4Vy&H8C4`8?SC&l9(zoY)RLy@iy+RXje`aG>yJrtE zxJaE(N(ke)j+)P_UQ+xFPdTz z?|vH#*ZP3s?YNiVZY2!T)mWBMBBmri-K3lE-a7Y9w{%;eo$Qjugaq@b3~HxYJfo#P zq7^LOK~7lo!j|k7z@N!&6U#6bIEk%SmyR2~vRuE6!M<&1<=~!D+sDQkJhcUKoh!Ee zL{&(q$u$;I%VJ2C$Xg?(m2AZxsFX(%i=D}iAhZ<+Swz>Zj;*Phd55^q$v+OgmtVxu z=f)Wy!qt-aK{HlR;uaXmYmbh;y(VheV2tj$Pe+%#OXO_DM2&7%o%5@p1l}R>kPcVV^Zo!0@drrm^7sQcV(U`o3g!q~x z`!H1q?u*=m9;eALHrx#y=ET~6?`AGW*8yHi-TRZM z7j?=#=V8sRFjICX8MLXp1AQz4^Q*0wA-4gHG;N*RWm3oGWf_fgYIV*AwvfXL+q;ID zEk>=diIPtR9v#fo+Rsb9CBzxBr*V46u&x>`#;dk0!Da|lp|}OSj8#~mdbKpCNwT}` z2|Iwnh(61b+OxHcV+>XAH9hxY_hy^+?(!BfF;wIB#=$t(XtDXEu{Z~QV8TGp?q9nA zd)UjIt}BcK_d1j~np2DON|?svN@;qAIp0?I1sQhAB-bE7Gp)QPUcbIQbxqmB(m|xR z#c9IA-{^J|ZilJ4ODy0coM9J=?=m_TSIKmlIR;v`-w$MCHa@wJ2TInCIwRN7aDyPJwWV=^;OvrN z#_nopJDpAok)BlI?wO>S@bKHp%rEf-r2<1{tl;Sat@9-Q)UkY=&#{+_K1s?3N>|`} ztX?ZNPIpy0o4lHtisv~xcR}4PBpC*k&KHoblt0wCqAW&u-P*n ziDL-jz#TZ~KNv%KW2iB9DGCM{L+oRqHg;I%_>Nkm#IEy99 zdJD-Lf+q@JELGTlQsMb~Zr8XEEyK0<$)(2p}_uP2E#7l(3}TJgMhCR7;y`vi2ejgkT$ zB4q=qQ{;F?g8vsa{WcubxWNrqaXJp|M}H|CmhuyTnMZT3tKiA*t4nVh6F;*~fsao-N`lrd6R$M82xB&(wFHP^?Y(yy=paZwTUQdOPK*pd;C|6{*CC+E2Khd z6xHiQJkbYw^lcX+_5D8#CH#uAmaPj?XMIZ6#{Z~*oc|jI{G#~67u^?%RjmNnCMZ5z z-ylh}@{-Ur7XoZ-T9XzlnozCtlQhj+N1BKhyCrq|`b^ocY`NZO-$S?xnKdE!IbIg= z58bA&keXKy_nrpfi^;tMd`cG1lUy_)CaL5ozbvq*fe;IZdoH~ z(Y9+>OmDLWTWGqCZiztCMG;BSOwgzTas40anN&nQq;@oaHCBpx>TM^|n@Faz%F{nV z#KHk+Q6H5@GZD-)S!nt@=oO~WrCd~8&r_~en@>ZgT_iMoDRc&Zq7{)+kEK)GWZPo8 z{OF?T+6-q_$KFCPPp=ynsj1Xgx2)5pr81L6ljS<4Tp_ivl^EXfc3auI#H#6a!|}>d zd;A^_2F`}7QHjXwzcGcV5G`Pr5DT&y(m_#aIaHI7A&A3FaF|jWqJlPa zL?g|~T;il7T6KK@3JcIg^rM#YAdSRuE=x1K~R{wa*q*FrQM2(ZF^*A7foFQ&Ig6j8X z#Y=ZhRRYl;-9p3Fn2aVVmvkUg+%LHd(8=&tQDU90rDX>-oHtocVl`Vl!@~sBQ_Z+a z_!Hr^5vS-8gUgPnT7 z9E`-|Q!Jdm-taiXw4k%2+q47#ftUB78Gedo%yEGOFSOhZ&9>X8SW0ynoEaBL%`OpV z?5>|GNw(Pvb}5(iMkj8C46NRe4ZbKK)_4m{|M`I&qG1g(mvBOO=`jyz`Ied2;N zzoIf&7NTZ$sWbkIq;AP3+njm+Pc|m52ke27YQ6ZE^ao09!d1zZUdS~Hf6gd_-tFfX zH;8MH_cLB?QWo7$$FJ`12%F;5q5Uk>z}~CZ zIK;3xd9VFl}0fR~eL z#6r_33ilpLZkAAd20tb>_ApgefGBfO{Jb&>HTjJZ@{)t0oCOf6S}>X6VtY!Mz&thP zuJ%T*SvVxiO9CR-KIHo6C-y|d_B}{?Bt-L|5XkBNzEk`+m`(mX*0(jg9sb$RDJ~q- zijv|bqL`QzPI*Y>CGTRae~e-C@LN>Q*pkCyybHeNG zAZnmsZvn~M3=&So1a1L2OHVT?>ntTbacqR(EHO7TDHm??5h5HB_;C^0B90yC)huaUly z-o9RFLq;G{zr72f|NIlc?XN4Zf&c-ffdK(={BM2&M-pK>n;)N1!hfC9`^E8vFTO7% zD{ILkDE5ly!M-caT?d5&GSpukKjuZ*s25A9fbG*B?A#d zl0BH*HjZ*^K14&JvsvRbquZYFV($1f{-2=qF#yneC$WN}N@7xitv-_DBNSo!0_Na_ zBUCeS$f<;w{Y+xUQA`8Nt-DqBpKfmKDJ)?%1Hea_Rf=sYYwAy}jhm)++UY#Dtm7`C zM@%N??F>83jNKKnN$0jptM+SU8R1N*fvSCV?G{Q7CX2Na{z(M6k`#<0P9Z~c$}~1# zy~?E4jNasS7!I%LePWDhZ?a>OXX;6~GkR97B@2TS4z3jx-K94HdIra@=Br<>Xas@l1g zCI?pYRwd+W9GTfTu{1>YUIz>C-p32+Nfel*ElZ0iPsRHeb`o+nl}w60CM z#@MEGUaOrs;quhGmStU(!rSj=jIT(C#hX+Z68C-^CkRfs57H20(5AiokATx2o#Yx| z!_H4G-Zjkl0_d}A4c|ewQJw?>3nGxyLN*rA-aQcf=v3MJFkBh^0kKkSaZkQQ@r_m( zuL!?zK7hipHBoM$TNu$fQFN_8I>d+2k>e&($V4ic*iY^@g*d(Ny8|#>K^7eqWTPSz z*{D&(oE&j5`oZmQ78POYYBNwhXv9A~w8G2cyIygxtgllvjch#~e1e1k?} zN>KcEo|+WpghB`lJ*j|^PN57NIgX4;%p_*QV-i+vzp1+~=kJOA@VSY60DsHMOH7kh zLVspzKQ6S>j_0vt9d8glV$6MRBD1s#TP=@C`_{wq3^O%Yo$TL(jW(Iu4HO(K2I?V? z5rkd~G%D$7h3cP$&Yy0wS1`r0XZ@Gl5m(sx9z{0dl}s|Ebg>g;Z*u(Q zc+UG3*C$?MBM3VD-Hi9Tz_IyF6J6;I3)|8p^hErs_blF(c`Dvg#!-q}1v-vSbbgpz zQ-3lM%|&jjiZh$7)DO8*0@yZ`W&%`04wA{scF6W%1CKM1txxvnGsfkW=#iULuEJ!d zQKI%a`~7Uym~1DC6$j9eVT9DMs_y*>`c>#(^b`2kj0;F@ z>+Z_>pSSa#xs(}Ai1EGAJXAfClQtekVKRHm6Vd5>Micstz&vUuiSWe(q}!sIhUu9o zAa9F;d!evM!FbrYSa8`T7p|^+ZsOIPH3;cCoo`AIkTn;=YohaNOy6b%KPG+DzayC< z{Gzd)mo0}VKz5a!%h~e*bxP<2B_W1@tS)*ayv6|ye$8v)6A<4l2PTk%pOJMD`@?T3 z;7y1h??LkiPL}$4Tj+xD6;qK5Y%Y|$-0gt7puo0X!n1XD27N9xu!lmqM7jUl4CR&s zNhsslc%GgdI_kHB(MkclyCfH2$xiZE_)-rXtE82ED-hpVO5$dk!c>Kq*Co8d+#(Sk zC>cQ)zbUG#pgxpc-+!7T4v8viZl9$(qo4o#|1#?P&y)DykD-6;pf83me6f8YSxJX} zKmmcba8VU?T=U`u4W3%a2;Yq$K~~fdz=IGz+)UTrepzz4XE(|xA@K^tFD26wG!S^< z-OB7b#mnqCo&6Y_$_~U@RhBj@NC7V>Dmqy8os)l}TwS3~Vy3EW@c|SOIjWEWr4E%t zk_ahau1s&C+NLiASA>?mojG%=Yd>9%oApw6C(gap7T{)4|B`L`nAs{Ehi_OaTc-9Q zU)y17wo{lcrWlt7_u%Uv)E6xQAB3(G{-j>iGK*?Zli@hg3uQNeDVCS7C*|5j|+#mv$MtS2XV+>UGr$EPmfmhU`gHDW3Ln*Em@PSveC5S*Zn{qQJrc zTPSZj*$WAaIv(_g&#h`E7L9WRzwVK=ckCk_lHc_ZlOa(=CL{?!AjDQ+CxjY0xwxu@otUa(ZU|C-#(#x+ z2Zq-yHrf4^sacFpuiNQ%yEhn#POsU$$xPERF;%Z@sMxtVfA?_b!~6Dd5&PkDN9!kf zK{6X13Wd}E7uPKazV#^%COHxZ-JK3v+g!WKQSrbq5GFfPmadru14#;2Ns@K3z?3;_ z%DQ6xEM`wLWtT#lMQ;Y~viZ>?BHu=n-Ptw7z`U{C)FYXY%?y<#L|Kfz=}?NYbk%hs zOOToullmuCWkvO!nJ?p!?MckH$o#}Wo$LlF6A+Tz1JU_~3r=BYoXPx6R+p<)%eD#U zBjym5F%2zfSE`?7CTgQ$U^Sfy>kGeYn3Y1gKVwc$?at&{l&Q4qi_p|2YArG$eDunL z3X=s1&NiDga>eMB=qW#EkiDj7R2H;%9fy=)GHCNBW~M+NAGGZyqHTw%lu-o^Ucr0h#80hSZ_s&8R7B|Y9G#}A)CXbp(xN%Kbdqma8EyJa-x927U z`qLG9GQ-TQo+B>fzH1qs{5&2^tRIGhQr=mi?bA=I3Qe=c2vxgA>^8CtsUkUc{hd*U ziWv1OVf?3{ydCv3OXDRd430x@^h^LZW32*!mOUW&^$%^CyZmh)&X}*4)Km72vBE3F5Jrlq5TlrYuYqN|48+KOFXLa~4 zWbm&Wla@S~lj*}$me`8bWRMjvYNAE>m7$d`Dguugx z8!&9J!p@3YuzP>DJ}%u$xF~R^f01~YpO+Omfj_}8(hH1^_6;6EzsLCHD8wrDn|t7v zH{l7G{G@yvFbtFfF%Z>1_twj~AE^5?z$bj}4*6Z9z(sPm#+6&S!rkQ<$ti^!PS z>mFZ%LMI>yi*7;pR};Ba_(n6-z1d;c$xxmRHY3TVrIiIYF;pFu!n) z?jnBMS!~oYqbN59f003}5{p9cw$KkVigUaxxOm^8Y2Ij@$6dh<7x)%7-=5H&sqnMk ztC?x!op0K=$zYndOiqbQWurk11c*iR_@NAb8Ohi0I#i-jLvp#m9TGzz&+mZVX!i(} z)+x(w?)cmD?eKN=no7of*;)1yyu5Xw*=k}uhR5Z6r*Y-eqxAg-R|>{DuKtBE;liXq z#dmM>r2R#T>zOJ(Da$9>f(ux&=V`?6$!0b7Nlv3rAwR>`KqPJ5&~;${c2SSUtAB$+ zLv`WJAocEOa)a-?Q4-_{zgf%N6RjnC=nMt0e4jrfkjWC^X5ACaDzOjpIqF$S=^cN9 zOk@ZD=V3h;8N4I*>FjHQ`ZRg}Kg9eWC-xW37rrRJko?(S16u{fhYr|91C7K2SXxV# zawK8Kb}&`y7gdomAQ25a4_uEuQ?|Z#b<&!x*>~{gSrq;&LAFIcR_Pgf_ANVS%&{#R z5+thuQ`@TN73VbPaocg$unwZDaP>rlp<$3Km=Ot#;dVb+VEAudeGE?G ze>JrvI1VE$FzEub8g2Sz)is+el`)B0B(s*RtIb>CwX2nOxdMYr;s{gbvgb#6aBu4gVa}7n&{!zq=oE62 z8&2h<*T7SO3tp_%je%5ZlV1K%-rFSyU5inZjTUX$k$xu#80ZkN012Z7t!jD=Lk*5i z=$!L@&RT%jyoYaVTTqP7pLS$(%ZV{kMif3k?L zO4U9l%q8VJPRxb@Q}hUx^V{X|ChlB6HCY#*R<3WZy$234{HtI0^x2w4^n?-0 zgF*D1L8#G3+HUunVBb?_-nPoXZY(x8==ru@ zcHk2_*%`*jm2d>?l_1&d3|>g?taK_7?yBrE;uIc*2uSbfI)lp; zKbCen2q}ICVe|P$ww?^*7p$%Jf`#1=pW^7|Z{IaeKScgBt2E?7-X-g^aGekNzvv_I zl?VSX_QgL$>TBT_zDT~1t+wuqJp5Vxp3r2a0bckc6a$ouF@;u9DjQ2X!bXNcB7lGn zwa9+CvPr#R3$=r~7FlSHC6&x#q)Af3B6BX%^Cw|7oV~wpB3sujexvsZ{!9zsy_$!q zYI99c&GqC_qST;FL?fc6H^}2uK6bOeE`1A+k{w zrWrN7w3|pDCx4$?<98hn`dvn-Sm`GsEpMTL)K~Qga#5Z^)!dr?(i<7x?kF=-9`ZeR z{v~~xJ~fff9dTqj3Agw^^o)n88g~&vYNDM(WIboYWZDR~?fBJhg*iK0DE9Gx?4A+( zmPND^Za#;(#NEh3*-1a8;HTc&AZ{bx>Hx$2Jz#cF%jL|Nby`G1z+iw~JexOJSN;4J zncxsz?J^dh0}X#;*|D+I>c_M|qc6h}@^xF!hk}rRkyB6{k%ss@vErnQ3uKwJxrMMx zeF{}xv2oiv?s9x8Sr!Wbq_6t0AQPs9##vnrm3(gu zIiw|a0gNWbG6ZWn=6m^)fxAR$y8eQ)@mra-g>_bD6<|eo|2G9XMFWWd25PMbp(h-a zxT@UX0jxL*BVq4yHD*Qwz^~N#PVx5$XZdOr=q3&>le{QK8d5y79LX5@140)>h#2G| zS*OPy!L<9r=DYd;qwHo(?GMJ=H0u$IMIy2aqvnZ%y0n#5SVX3r{7X8@71UUcYEP7G zoL|?;JHhy9zp&x7U&n=A$YuUTj=)y3^kJpbOHR4L9!zc}lM+GeJM7hh~ zW>@_@gDNf=@AKO&ODQnLS@ZL2;R6S|vn~bU`C>P*J{wmG25Z zl`L=1Aj<`-swU!;A!ZLf1Go!ErCIXDIkXfUf6wGMFb&5EnM|w>3S)32^26UJC&}nB zJ1LFzH*ss>qA_zW-B|$p0k;h5hF~jb3{we4sx|-5>T;?AP%-2=#{(C`uvj37S2#pBC)L zR>ga(>NghDZ{cOU=9U+&CmV-RY7hM7_v5$Si;bD!x8Qf+pNNa) z(xrC66uo9Zo@n^=$9xOSnw?xh+A&xy=4Ft7R+yx#4l%*8;v`-IEF;LB7LvmK&|FI> zjABquN*0*u+JvJRT5#j5ahAK+J*rBPaTW&u zb&BpAuZS~B$;v-&9=rr7Q(#c8N+t6Y6TRc~>fNYGrJRYEQ@Ay(YUV)P@q>b>PN_{m zsyFmT%E!)x*GC8rY&)dxgIuQq*{?KiVEX`)9c-HsG!k;pNVOy2b<#o;A^uv7c6B?<*mXK3Bo+iLE?w?qGl5?@)z#gp&)&E1N{!iBwyI!6Hhf<{DQE$_#3zvFm`@kEJ;e@ zH_U$9dq-C`L-;FlwTC%#FdkQlaxoG0B77UcpcQha4J=iO!`Em9dIi08w&-?hoWRw` z+ff5s;vHy$2#h~SdmKAd%T?rdq8Wc(*FDY6GXs2~{~(vaffwZK_oJZc1i7I`k_-PD z>idPnw}JqR#9!y4)NxJ(!mOS_f}SGFWLRT3c%V`Rt211Ir7hCGVMx=Ok+dcL2D?O3 zTK9mK7zK7sm#xi%nJEZhVu^NU{B2|BS?dmct^>~=m&n3#6vH;eZR_H}o82^Snd(ko zSZ<_oxpdk6pbryX_4`mHw+fZ)>eUfEGvN}@YKHZ=6@b1THpl^{k6@8iq}$KQBlYIq z8KqYC=s*-&7qK?44iaf-K>RI~Wm=zmYVHMNa2K)Q4hN}-J!}~26iUbgdfzQ$CMSQ@ z%pQ0eaqrFzm3{{)dTS_B8LTJha~RF_!UxRHTLGIw0vmE^h+ClGTQ;hp4vw^P?{y8cD{O&F#%11EnLi7wL*9`h=C5SC zGfmY}5_G_ymJuGayeTE(L%tR%5Wv zt?nMIhvhy_4&|KWX|yxH@RRJK*r{zp9Id@<`zrCI^8*3?QuEJ0!V|N+q4vt3jm>aA zZ!Z7RLh0YHJ_-(YMkbDqcK;gI`&#&gFOn}rCvOAR#Sn&jLUD~Ft$tu3VG&SDN*ZOd zK_|`NgKJ6=)2%BYGWV7lUqhQ3U zRnA|Tx!OGz^}K(4ruW{hPzCN|W8>%L4<5lLu`Hy>;L#n5>W+O27jR(7t(v*E;W(suWPOb(nv`0dVxm&O@zHFTqv zN0(uk@%@lc`Qpb zoa+4oo6#V(0T#Y5Tzt8()Bm&0c%N|<@+1C$VHL>ND2jx=Jz5%LnWgKR0;A7CielLp zER$DYHx+gVAGCFYSqfM)vzLT7m#9l(xw6&tm5(etBfW%OUTu=X;t4oHC`UGSr7B#vxVj{?VN>_bwX{u$TQ<1W=1XlKqs7zVw($ZC{+NG&u zlU>T+>%(z7(|}B-@Auz@PSU)&Jsm)gX*ti0W5Zf})z$#Tb?Ywqr#bx#ZPwdr}`<}B~$VLGMw)Xu$v zW5qO#GmAPj@T^{)f|kdOvZv0yl?T+u+Tr*#N3aj;Mu)lditiS=^oXU|#~;xwf}OU` z3Xyb4V@*$?q$>x-S*^$BRI}H;lm{2*y2Lcsd2r$%UEr_dTo?K;f5)7D`scY0?5ktF zvf@;gj*~*Smf8R#&d+7?9INGb&T|`w`P(O6UAZZ@XxVmgD%8$Csj;fRqxmZKUB^dc zxwbEMA4hg*`<^|6ud4aFqqj@%F7dkig?$&F-|)KUhh1+sxqN&3@$YA#;I|9!LcJQ( z`7d^3PhJ%@9vS)N_dE}8?fK;oSh;+K+W9Gu+U1>Gdm3$#>?@1^P-gRAmSXS|#6rAj zPr!#e;HQ-5B0|GU;*ao9;m3{|CG+r6E4%(RM|JglvUm5Ln$A6@e|m!QnG<(>rljYe z^yKMWp8oq3x%X}Q$&Kv#(HEl-o$9+>IxrY7OrUI=E6!wnCE-x3U3U6zNvI z159TPrGa_3h7a-nz z5esvmiV!V*O@gVB)v}r4R*Y;oVo^E`ZH=1QJVNGHKO{%vlwhSd4|V1U!_kY-NMUqmu<$N6Hi?OX3NX zC9}Avgo|yQcTo1ow{BA5l@AI+OHF>!5|+!q6&$pL%RoEaGKp>K6e^g3mqLG*m4~;u ziWKB4li+D#N9qUCg8t0OUG^wAs6b^cn4&D5%}gb=^Tv76BEY(q5ZQy8sb=q(px{_y ztJcp*SzkBSUB^UBW=|h=YXm?Rm<06aYv8bD?qMK1dLA9GFD%ckZgp3ZZDE2!)fhQU z$NK#Ot92fYa+aCOaEqiIAZBc+Yw)g2S0{cakVAkEEjSkn5A#~jo?2*z#K=uL56q82 zVM~gM06rfXmB`qF88CK<9z4J0={|b; z%f(|lN^mc<|K_C1K3HgOJAxk&wP;txn4<~pYp&s-vvPspZQx+PR5aw~Xy%qll*>Dq z7(j$2d`WO>lPp-tThIUeTwLHMsW@<15G5%m`e2AGU{Z4?(;F+6GBEVfo*=!pM&ERazcjK2xZX(OHJP?T#K11h^T;(XDS<}zFl|BYW9vM2A9d91lH`iBH zXKfNSC9X!Y{7hPsjytQcqKzwGLZi)qKB#HAU#Bc=9@@t8ox&FBZJCIP*wn$DryF$5 z2I4xOP4LMgkjp8MSDq$;q2IJfdPzn`+!$l5x*|Gg&2WVm2|Py~VC*rm(S|ai?-Ab> z3})^SG9n;MVG5wLPIlMu9>dmu!ab@1XKtd6c}U~ovxpA&VMG*cr!}EpX#OM2@HxoI z&&wuWox<|2I5eO1u06@khHpki+Nz3E-A9t{*K?`o$SLn$Rv}VJy+Vo~wWiC2iKe#0 zkqv}OHqdhI()|6=HdN5GS6elGNx8f0`qrYY=$r?uEDd_|1_dEPlAWX{1rnfh<(({& ztRPhV00S~H7s!brd1z61&d*4s}pMkGzGmdEUB z9LEp%Av0SxQ-jIWyQ*TDi%%g`*AG{usN3BFIP2A#mYj&Fh2=pIb~FvUU>t>=BhH2r z@^`052<+j0Ll62K^{O%3G!EgyGR~wcP$HqA2a2!SfSxZ8pf@>%ca-I4pWcu8N=Zw8 zMi01Ul8;M7OQN6CK0c&iQtuNVy-uLBIp6Ak)%(+uQOd4aa@3o*OwpgeMoj6ML?mU= zXFEPlf`BPTAIYuXCqMfaeTYipqCqQaQ+1eNrJ^S>Yk*u&w5pKkCi|857RszH-pEC*$Z6m4pwOMXV(4HHof8zBDp!KRijg?&g= zoSoHQC23pEAm0}W=H|&8Rs!1@gY(MdGM?Psg9Ua=OdHcRBtQ5U-z~$vgZn00T)FFY z!o4tf59G0*NM`q#+~B@e2tLjY$8*DZd@Mb$gZqZ|zz9Bhf_o?Nnch4;Lx6w8=`o)) zG-8jwP_~KS4WtQf-nahZ-^0g#A(pfkjH1-z&K;zy6@+0ny#rS@6h z(Yv#Y>&vB_3>AjUIl#WR@aWyy{(TMW5r?Ob6;D3OdO~P5cMbOr`Z2rXdZNXF4++AqRL79zSD1wgHi?` zk~WN%O*ZE~)BN-rPT0xvHV2t3Ne25_;6G9dKb03ydxNM&*OOV>Mz?2tG;*}*rxpCt z90;At+x(5vl@#Te)YI5=nRoK6&AIyI@62_%%fN-*0>|6>X1p@=L|9>~1yZ6%>~W~| z7#ay*Q}W@GhZ)lOv|%vTASZuX5vSAf96R>SKnIUeT!I9a-Y5%WPyXChO%W5~#GpOvp^OsNce6ZFnFd-_Z^iulZx-qVQ{QB zc`&6S(sjt>Y|710ytqb|x$#spJb!XV3a(m)dYRR{IDtL@dfJ!@rdZxF2=G_+d(_-b zw9lYeV7CZ86Kf9pC}oqoG&I;7RRZgAkD%)9T;^g8#>KsMBWt=;P+vJswF#$22}ZEA z>QZ_532ZsGCfcjU%>;`_-n!@av}2Uaxl%6Zdr z2i!A)q3IHY*O@7$9w{wFC^)q!Q;jd3R7rto%k(^E0V&3(cmCxhi5=N>u*%#VAL;3V zKWN&V{O77FM8!pD(TgG-OBcoeNH|D(hMsII7SyDTj{GTkDNCFu-gho^peX86gtUes z#a^_(j4D^NC1gl!@hp^Zzu3kWz-{R*=al)bO|$H;uj=h^hN(@WLzlc}U5y#D*SBrx z={bm*^6+y2P2Z}r9=opMkQ7_AE{1KFVpzon>JC~*T`9F?8^BNVtLmFa<>Mn|sTb^d^7;ZxuRlh%d+k(@h{kIxS7mEB; zWfL}Mm;%J!!OmqE={_!=&@3wf>JaRCRG7@d+%DzHF&3(9*?>R&)~1)zMlN99Pvx_N zGdY-jZz5`sy(-lpxY!NL>&&&*6Mmwd&S&V&ja8M(8eSAm^C+>U7shb;%sl9eC^^r? zXHh&HZAuYK!OtMhh2J(m#{pk#7w}X}6;JUo27QhnVnJmTFB2U*O4s{w_*jc-reQQi z^!o&srQjFdDf8vY7&F5HU?>r951m)MWsLNb98(SOFhRE=|Ir zUK$wN!Ks@z$sC-TjLC_+Y)Szbvyp|_bVpGiX6jk}B?VDJi>@PxnWQCj6g6h(Fo2;E z6f!}nr*GEA6uEgRVNWhJ%Y2#CtrM&yN_)J;Al@EVVYI0Vy+_P#=xR7a%jv_{DH_7Kfa0H0< z!rw5m$fqvtp<%FdMSB4$WGcvix>NaTwmwC8k2mD1@Nf7jpyK+wmv081!W;bBb?5>& z!6M;=r^uuytZ#1dX2qs#tl0~HXwURK`V3w~H~EPqPj26`r9&Q=WidpUH11zXYF?2T zIEaz9TWT2REAB+a-fbfmdDzXL5=%bT^2j{Sc zoq{4Nbn-OSohkzZYw)mo+B>c%m8^212uO*zlSia2I6hN|!9-DKP!$A`qw|_rQkLew zwI`I!gJ;NNm#45Pg6ah4RF)^R0Roy8B82WKY=VhsSao2j@bd{9b3JCH6j^co1aS)R zw4CR-B)SxIX)p84P7zRiS5#{k?{GX0J|3_{YY>OaB}>ue6bR3q4lw=?WA6Z?N&IyQ zw{6?DyQgj2wr$(CZQGvqwB0>z+cvgm_uIVr{`)4oC#gJ@)N^lA$^G3_F3yqR66M7J z{422DOmA3=VeNb>KxIooe_jv~gF20usoYQ&aL5;pd;mRb{76?!*}9lC8f3=R9-WZ4 z#}duSaIPty+gDBEDn}WC*4IvVa!C5dWd15qR@X<0n_f0I@c@-uqP z)9bjG`H0WK9*=o4Cw}RGkFx6338A;_c|jyz<;K3ceR$;#6LVG0Nl*P6s`KhqgSMu9 zoF)4P5OmPhWThn!#IVi-!E4ZTUo~E*JI_|yj?SV`6L4A~;$lf#*EMDahnXBt^SOMc zck+?o@B5{9CXk|TT3UL33ZzYto=q5@9`GjH{%EaJ$Ih74h4&qvwn3*W|Jv=iEv|xw zuKdj|fgkyldw42n76D?)Owl?+oUb)qCKPF z!q1m?=}|6r#Rj3CGr~G`BReIL?}(dSqzTCnbkid!4OoxXykNXIEvWRzavsZ-km1gys18 zZLmn0n2WJkIz6g_#nD`V8vVD#E*e@2Ibek%CAMzHKToaCKCa^zJj-c8|;FWdPMk! zW8D-{KcjtRb>%Une)q}pUVJLNk$ysnmWM|5z^d8%hta*UistML6mQSk8Pp;WoV%%? zkI2#;LLpVsuhufasDF9A38|KAQh$ec?4f`jaLD#>((>0&yBM5uJ&>>O5ymevmQdHT z)lais0Ws2PsnQ}B;T5#RVCdx-{e>DbQDX0?%)!vi<0_W+HEE%?FKK}|QYF61r*5ju z%8v0Ov}K$MjX0X;jszM!3QV&?q;_I-q|pS~V2 zvw|MECpm(c3w~a-BrDL9!@(!xaER%b_`ZL`9UT~vx@QI$J5hcuc)J#WHY5<&2%t*j z4INmi^p8?2aBTR;FjPVq^`cpH`-$Fz9qE*_mSDn&Tx^y9VPCk+9?^F}QEL=8Pzyx9 z8(6I(xpHkDi>k3#CStp$bzHkztDD3&ivuWTr)cOye(le-o{;M64$Lwe zk2;c=p1jwb8%+RP)#hy%CVJr2H7`vm+b46TwWZo#*QX)gC&JzX7wrwa{03>-Es;iq zLodWn7ebn)KS7NcX#k=|4b%X8eF-s$>;4CU-vLAqsui797c{0Tf&D`*r?4nq3`b~( zliv;S6F%S^%u$2#^sw^qzB$=elRLN0Br<{)GP6b|xH4@X+&qM9L-4Y( z_<`s|fobt)H|NAm)Tl?`$a(d7a|`@z1}~(I43pOiw4i*j6OuTD7db(3Xz=hYNa7Nj zgkUw(QF(B@HYm{4ATpx7z6D<}>rGy#yL|haB&3BOgi6^Kwq{ zpY9m=e4^Q5SHs@xs_Y+YwSubISBOnzg_Fw8MW1lVcvz92vPEs!+EOnEZqL&+bV*5T z?AYsylmm6Z6Zj|na}Q?l?ns=YpR~=Vp*K5X&K&OEBt$YSr}4VXM5MR zDVL2MN^7oL>!d3hC!YxTVbv_9wpx&g*M-4+M^>n&(KM|k%V10HU<>(4Lq{$(ZI)H` z0}=4cRl$J|3tIWk)LtXe$yG_R;d4p;mQ>EK;1M$j7ZtA*%bq~y!iBu8vy1bqs;V8` zHA-jCQ_l53)O3!{G*=VP>oUX=S6PQ(Rowh@Tsh~wXfs>PXJCa0v%Wz|hv5uJzwY>> zdlBV{rt%E>Q0p}L;Hp!!Trsy>Z_iBnBB5@7-NT7fT3vCzW0429X#B&H@Ff%O;Iw;; z+WlYMf#|oAY#q5u8-3S@qPEB3ohjuq$zA@}~^zO*t0d+@3 z-mv(Clyr=@5ZxZUDUETT_8U>BL~QK<-S~wP+#s5dLXnbqvG*1ghZq_s40HQ1zp<1C0E!UF`nQY9-}y*#P+90zm<=5kB|q z`dU&nT{Ha%6+bC-?qWLHIotN<;I<)c2;$5rXu)q%pdY(Ir#{TeY@%567dkiP;9eI! zgV>&yJadXSYUUgfd}d_jK-g0&x5Q9!0F`aXI@uTH{o&flR?r;1bOzPS0-S=nyJyLT zQ__ZMO6kkNwa*-omR(K$m6_R|JYnr}UcBjVT#8_r>J&nI1goBJE2jwZqh#@0FEjp4 z^%qe!^p;Jy#Oj8jTX>@})a^oq)%UctFOggQ!$?x{Hd9P7q4t={lSVkn@^9(mj6Y*B zkUgJt5$LS-cl?YKq7*5F3c@-vXWYQ7o+XYCE<| znRqY!J3*ByWG!I4q<~DI_%^^{h>iqz!=QA#tCq>HiXT&}!r2EM4}_!{No+}va_AGA z^HCRunD9OG%YTHW!WIT*wsua= z7Di5rCPpR}uKx#1(LWde@Xy^pq$C;GAqgOaZiB8Nb6C`%)wHClM&c;b-6lnhnAfw$ zB$Mf%93QUC*8HKn!j18hDq?)=$KQ!#n#L8E5LR^R=*ii1%gxAHeSbZFhX;t;HPtsD zjxpJgF+zTBTp9Q@Z?!4VH~2F^H`o#Y0knl4TCm7*jQ$ZckupyRU!r<7YaaJha@O?+ zc~dF$&`fdc=2wtXZ)Vhjf%uY(978orG1AmrKJ}#5)}w_MMB_D2V{QkEqHHK=!M{YYF*JB9;>1P5WVATVTVyq1 zUS9z&W_jB9H;de8&j3GxB{Izn7Tj~Hg-A{SnNsTXQ_j#ycoS3jV@Gf-0)P~UB#h9h zjSv4=R_}o!%n(sUy|R~08ds02@Dkrbj-9a=C$=A$?rrkSr<$gBP%?*UsmEo!`Z1;* zG2_mwqA?-23&P2!S#U6LaCKlyG#W+-MwWTxU zv6S3>eVB^}ZMYw(VYSnHdfrB15}(^yL^#gZvLD*uO?O<3$jWs2{l<2x5!~d zqgN)*Nz#_Hg{e5R(yj*9)SeLw)t(V5o#Lr(OjL((5qP_DCR4}+kMcAsm0G1X>E=GS zH}}lbY>;;#ixUd3!eIwq=HNX_F1@jwVu$9Im9lRBonQ!hMYsBH(tSs&-0iGkZIWq3 zH=Rm{ZjsrGGCa>jS;a>F9n)!Ut$oqBOks%WkB*q;$OI~{(5`CAI*aD?B~;yPxlD3r zwp!tzs^U3iUZoqoN=?UzE!N2aLr{aZ@Bl8)qF?(eK- zB@Jrh;HU4D^!v~58ZN6Bk%GPR8KQ&nWd+o0Lm@5RFios}JZ>IigR@rO1)?XBZy4Vd zIw)SV-0sh?r(F!#zNwEq2UqLMj)+k1@mce7T;p+I0@Z4qLz@T<6`90zGszxL1cz(p z*OkgL&9Vh0m=Tm-{{f`1AR#k?o?%0!vyk<-D9#Sg$&C_HzkHa;ATrd*9xWSUX=;#$ z9378f)3MEM7}5@*odpNp=5#T8@Stfk-9g;&q`Ks0ggb*W==yY{Dx{WaCY+Lt5y89; zs#I{*UV=Eq5dq8ohY1q{j^m;}2ikKO@Q&d~d~o#wF0Q_huGuV%i*XgLrE8?A0ikq6 z1WkkCo{=o5HamNTBWvIR@*obLa!o;RlxGMsZ z-4NJ4S)GLVeOXUACa9Y5P{l1IwtW?9O>6;SNZ|noXtMnHI%Q)0X?M?#E{>y^{3Y-^+aaeXXx&K1Huiz`mr>m(HNlg)>w2K2lZW!_3XNl-R*ZPuvQun;w>r!7=*hyaGOa$-;PET^)P ziAhomKr2m(Vm`2D-Y4#Iv?4*g8jW1GLU3KM0v~282$RQhaTWNL7sI*mVQmRL4wpIw zsFwmVMWRdcbl3*U9{PDJjDiJ=hEJI@Qwukx+KL+{T2fgcNf^9JYAUw~^J2iU(!h!s z3*I%A(yxv%*UP397lH{PejT9gBxXzr8pXnhC>}pk!l@&gcK(3+R_UIk(yrnPVw7ls z(kppfb?TY(yMJ5xMT=AK&tGB`*dUYANEHOnB6`B5K>GPpYR40e)dr*xeG|!tLdm>o z_M0}B&dA#3SJ7UH-7J^h5WA&Q)#zE5;Gz*Y1)=`P8r5Od8VhN$bur~)L#q&-X%zxk z<&m~w)Lxn69B;0LpIR_-kp<_@oU7T_ckeV=pJuHx^i$Ft-LkZFSjpcyqv2&e1=yzl}-xpy6GP8yy@qAco$!PeBtm(DlF%#{Y`13Y}h5hlZZ8?FJ_5@EJ~+B0XvMei?MgI^P;rt=09q1|e zp}27$?2{Ll&6UU+r;;O!>RVN-tZbI}DVtzCQt{^AjaAQvpB z_6VK!+u=L=ApdHTy6{T8oaj=Li&LEuPjMs9TbRZXQ^xtkYK;}h9 z`HGtMJN$k6;r0dY`4BMhy?Cnor6zeS2ms(A1OqMzEf{ zyy7pZ)^$6Xr!)q0^fJlH0uAw6VbYgtfm>sV+24#f5yL?N8fE)NP<;*fP?n)G>GU%7Znt;#sdumW$yIx%8v*_qDTxABh$)q{xRR82v<#hmhqsBxnXN9eL? zd~2q;Sq!(BHYuH+rbi->Nc;~GS(oAzPkq^h!Z@lY4@-X(hF6Illi7JvGxjdeLC-6N z&n^n6@4A2LnS&n~`T5iMvB5zvY zYp$s&arwMkds>K}z!F=dMpxOPeyzOmv$xH(muU5Zr4lzSDGwhPg=}UbKG_@Gmtl55TdrI!i!Ysr~&DbeF?g;l2_M3QJ9KCbWz@nrQGBw#%8>OqDKa#pwZ;l_yO-A?$j*;~je>>@wrRwa zfH?{;=g?InjmGG5J^pZ2jdp9Y?uPSyZB=l8ym})qw;xY!va=39t7ECNAVCJ}tlONs zm5QRkW7Hh3b(4^}TLFz=5&+~1z*?D_u%Nx57_Nb=rvh-Nktx?uXR*~;(%fQ{CA3LU zFjS{(kIN?9=r0~zqk!?*C_1Y&a}pcgEnAuWiFdZ-4KX-yrfk}535g%*kfV_QQyLdqkZ8)i(55xHqO;8g}UEqbP>VpyTZM#?54-gQp}bzK$zu z?0oLh_pzR^1$e2P;&H&k#X}ac9 zE;FfXs|S~C-;$OrF@ra%&NYK$&hCzzY&x?TODfuJnIf;OBx#(G!3i5M&xU>(JaM*> z-Trzux?pdkMDV zq+5nk5>j!^@nv1?ibYwm1*l9x>i+dglxGf#;d{X-C1Fv{1lxSOpn*AOm`!nZfz~X> z>wyhgj2_mK`3VMMN3~zwEGgJZ{r#2mj^*xHYk&h{Tejsm8#D2yrXFZsN)iHHXkxWR zbIxce&TOydJh43B7q7HzK2M00Y*jc*mCC|xbF%W|3DhWAq`u&Guj(#xue_N{Fg&;m za(`62qKS&y<0LEZyFF@osUD9!ZYkEq4wr1}y!@#!z;2Q;QwBbLOhi+-P4+lS0XcIk zG;gVZS+r7@B(6b9eOSsgX_;k{OH6cK{Ex<0x_vYCOtX`*s%7DqM|Wz0fyeMXGAE)z zmm|<(s|bfMDg)&2oHd{{AyW`s1|qQoKIk&}1y<~lQ)W%w1t7dS8;F6vPx>pJZqZ8a zDMithaKfc#Tbe;zH=r_)1J2kwlUf%xodZf%T;!F>apM}U1v5PAAD&O%<)0{aUg@eG zcbjpY;XeVKNLRe*AAx3mgfb<%x09I0c~U7?<VA+YwKS(DuW zVhmpc4Lb&DLLyN-`3oEi<1DfT;eCZ+!TU^XEfWqIphlknRa1wZsQXXM)qPtVX4OHk z+10{BsK;sF>1tg)beN@jWFA5H;dMX`8Y%Oc1w}ou% zlb$RuDe!r+)h@?!s=V%d!o8?fXO^670lhN+CUNOr7o~K;bzg^2*HzNppkbIj&7GZB zj3tWhxnaK{gESQ3dwn+-QhN2(R5k?x!KoEd8h^ejzPqDr8V-9a7t%N1;@`hW zCl`ugi=~@7)B)FR)?dv4tuuzB53zty5ETf%B^beASQQpdw+Kgro~sixwg|jkL&UAE zzjMbsD*Z_YxzMjIk-m^hl0zB^ksQ=GOVp#ob@NuTp|~<0dEy5zsOWye9=~j1e&;5q zmiY%`M|r+k5Z_t;wHylHv0Yo#o|DU(h>mB7iJqgq=%|#_1@ImRw-S`Qm zU2{UY>}kknk8*n^;?F_M$ofxnwt9hZ9XjDUM*eG#9XF(UF8C82po3Zf*BLNdneg=x zA>uwOMZ){?L|<5(s2)#6%M*vi9YLlS*iW>(Sb-~VVBM6gfkK`;G*Mv@WQu2{%-Y#? zC>O#ZUukCl3U~`L>j$`=bAWwQ@}?PjuSD(=(Ku4k3Wr*5Cv;g+SfovfkP?$}PQy=> zHu-p9lUyuuP$Az<-H#}vcjN^d_Hw`bKmx}3Y=Z|6>b(2eS&Ot>;KxV}=Bm^;4 zb1vxLL?6rQ9tkHn#B)~Gr>w0{SnHlKmpvmMJtMC@BcMIVe_mYYIrg1u#ZK<4oXDRR z(AVBh2Xvk3&Sb{4AtfNEx5a1ru=7e(-M67U@%m3eQMl*_hUg30Ju)~6ZeRKBI%9j| zedF}SQ@e}A-|<~0?(7KUHi{w^_c>8Pw8zGh(>^Hkh@%sil% z&07y=rE`!!U!m+jO}jCl)n=p2JD$`%uv_thH@x9vHcaQflY4$QzI}%_d>cJ}N#SdH z@exrLI-U5DWaOMqw+u19f!ty!z#dNujDN>!eF^>0+g^_8ZplTxO1ORf=guy4L+^$8 zPa)0o=c4%Uig5M@Mpi#{Us?-WQ@j5df&XXo5C81{;eRvp34yt~f~mTKvHj5U?R?A^ z9w@g>W-E(=^#=|eTns%ZZ%%eMd-wd~=Mx26&HmUZ{;>8zpx5AQ$QQ=fKqL+V5EtYl zXQbEJ=A)!$?Ffzt2uJ`F_Xi{fW{x*D)Cc^J%5`iVsPOntsd@ZIg_7Yv-@x3!*7%1- z&xv0Af8Gcf{jc>Kr~i19f42Yd&(A;9s94D%3!v}_K}$)2R)-VVd7y%z-P+vFv7q#q zVnNA#2#1dzqma_4Z(i__$A+7HP51Xkg=U^d2Bje@i=vUejXpw14y}J zig1+@rHdBgGAm5(^#*iM95v|ovDA;ww$k99{x*alHHCuNZSJDR=xm%v>~ORYE0^gt zT9D*E*W949Ck^tjVZ6AOiZkG}>MFr~ZhDQtcbwQbp01@$HtSsqN;ZLoj1rBLO3K8@)qUz0!A&q3f?tUia{Bfbly}8Y~s_sMd+qcm&IK&E?6s zq59#DOM!4aSDCXXapw2-sGV73#nNSsx1~!6L}qX!*8P`20hk!JT;7?S&Fj1=Mmb#_ zi+D6Y3&rRB3sPEBuWTg6bnj=_(T3Zs?R zuL8TUDkzIYj+uSf?l;gf3o*J5;^_YTziu}cgo6p|C#wR?Nko_kHBEedy{DHLJnIjJ zK$I9#~Fg>V3b`CVUamR zp#}2V?E&tEe}Mj1$^9Q8F-w-4^ZgHJSK`l>+5hdV2)bBU8~-;1l>co1;h&#>C{ePp zLKZ;qW$QRfbhlY}nQ!iGUbB)$fq9dm646wOJ_7Z$Xn7D?*`S>&UFYgZJA+61s16Jl z_w(nI%5*>Hr5l zhX7Kifp{TW0#qwPITr%|1S_Kbw2Lad*l!W>mf}XbI=$V-0Jb#*C=zX1p~W7ZHPj?$ zUVekm(ixcCL5xe0q7E}uz`P)qYVfW2TXfBD-|ai*H(V<|lRE7-`flr<0tr#*JpSI6 zJ&kr}ObcbY^oEhUx5JLInr`oC2G=3goQlozS=gnY>9&5lRj=(YAG3NFh83sGE*R`@ z5i_s?a-Z7yxqJ;uSFg|h1BlQw=gAV4%tP)eHfoiJd&{UBQuSgp$e09D=yD%Wu6Ny! z=t=UPMm>Fu9(V@bQU)=5vJm_P!dzp!iGKoyD(kIE>pJr9<_s*y2|No%6yY1yD{7IZIKcrxM|Ca>(zk}-k z`xUh?u{IVqa5ngleEiSVKm2q14>`*JD<3OCNm)%OA>7g)s>Fi|3-ilI2}=Nvu#xyO zEx1wy{maKuH%%Y<;w(SfhegqDrCPcP>gEf%8C=I3zn-ryKECev(fu{LB@1C)ks*@MwTuDZ7yuH1G9!YC^7vDg(oH|7+O<)`A^7?fn#)%H zC8m)2J}{HLl$a5$2G#D|Mp~jR(F_B%JK<87q{y?StGp>znYS$yU zXe&2X>Dn6S6xjCpVWlyX# zhH_)j2YLd=>2F2MnsFlMM$MX536BCCO}BA+_xOZSKQJQyT+PqlA@7QI#&>Tit!v{TKoIFP9BITSo z#Au6r?Ny4u(1KGoCE6D(0$GSCG3~!)%cG{ufs#a@hHlF2gBYZ4L2?N(n7%Rn5 zh`$!6I7(XwW_cI^9>z32)bX8L2j;%dF=6HsO7TWjVKj|M2j=fEge~JZ?BK9D`xUa0 zvqK@j+VKv=|hkiH43@llD1xvy@x|0RaUzxpm;}Hv}G}(g*2|C7<0?J*m1?|FQ z{L-!=7@f(7KAM8Ap)v2g;WVb+$s;tUcDoL#$-{SU_Jhb*?kgZ)H>jD;c>1XJS|U(8 zv?$C!q@C*H?WeX5mFgp`6PtT14xE2;`gvv!0?6!VQ1RRqCS4<%+SmTDJ#L3yDee3y=-0z%_m3#d_3N%7 z(v4%qwD#!hwEIJ-wD$R+EC|GbBXDh}6uMedoLYwnE1f+~y02N%+T&+-_o0|Ve<}8k z;VDDpI8SIj+eZW!EbgI~^^HB(+ai<(jg4I-x6UD*=%Y>PV<33b2rq7R(yPOXxC|aX z2?3Pn+mZzQYqyBJyTKXlJwUvtevHFlaO@!=x?86=EBG>Z#uClSePG zPDaReJP6r7v-{p+27S8ueq?Wd1)YDLB7P(3-R!5)Xsg|h>fJ{9o$v8^e`nIazuv{r z!4>BVd7qOFI>iH8&ylv1O6~<|Nw$hn>nIW*lnj#Q;8jSW>uq@7wi`!EVRcHAhECXa zN-vmn(lH}MH|o#g)79LH5Pd-izBRw`%cSseGw;+@WL`zRA!H{3_wzppgJiHspF5;77b@X;-9iP2?(K%Us)FdSp*e}0`4jXJf zuHwPSK`mtP9X>?Os%@<3VN&iYT+GWsB*`yoZCq&Z+i&P%9;)+@44%D$b-L-5GtQhn zqJqM*YVpG9b8e}i^7LyQD|j~tgLf`B9(9RDylu6FF;i~H&dwgpyH29XjMm;B+8816#RWMK?FriGEvMkHGT-kt(G5dP!S5%+EV0XqJZjCBK6KTa(IyRk;pSMD7&5~86WEr>H;Fqj z7odDq9dm0EVVo4!-WY7iRq_1R+L4*2d1)6b)fUxKkvV&U_Q*GJzjV`u>Dp>C=6KF7 z<+=9a#zX`Wj5$bxM9x|J>64EgK|W$N^g_V;Xvu)eM-oTWdo^h-ZB<^Mkpa~EBeiPv zX7~QUS7>TeY4U`q<<%Tc0(|Dwk!OTeNc*TTyekaio+$k4H`}F0R#xbwblSmQ7vW6K zQd9-*0nd)`(2Ba-5L#gMjo5VRrEu05ng=zovyX(0gI*dl#P?tIbNI_9Zo$#2pY2$? z#dIXU&l~kg&Y)G_FeSat zf|VRp7pkk3W5<_z0Rqw*m^7GaS?fh5YbDyWD5Z>4T*#lD-PPQ>(F(+pPxO#CKCoh6<6)QTA3=Dw@)aL0bqCG=@W}OVB5hgc4X^_Eb!}rjfgh^?LFXY-|~SSruGZ) z!i1dJtfEZC_ujsVswTEH&O2`7r+M|pZ6o1!OR!5EW#U~vBk5YaTY0ftgrmg03oelv zi8B5XzgZvRA5)d^F)~Qs;oHQT;Jzll6;BGr*vyP?9-@&|PFlnVLeqm5@cuhC=Mp3M zbyid!G6%^sR}w+mYo-$IVy+TZUb5lF^rs{)`JNR`hLc8m%-+=!lO+ftPDWo1)+k0T z13voiDh~$KNKG^@wA8hy^*^H6>>qvxQ+{IYalC9_aKZ$5(kqmOpu4kc{+iv|%dW=B z!e>QE`*cAk6*8K!zs@gE6N}a~$2+ZrQ~;^MDs2C{0pHEN^wAk*ER9=|8g}9zx0Hb7 zJYRj2lJ(sF2DtYdNMG^n>DH-oN$=+?jM6HcM+ZzbEA!)d+?7uS;VPW)rLxS)Lb#h2 zuDLxLAASG3YJr~;M%s_51V>nOa&V)FihQ=s1Sc_S;oIZ{^bR?ZD!ViprE8<|AmJ6cBH)(p_wwU_-a0 z9>Zv2!F< zOzOG$_r|-TuH07<;BW%t6XX*c^%sASG1(tyy-*cC5!S z+##4`wGYCv+!5`~p7{An;s??^Wdu55nu#AY?j?k7=lz2>l9${U7gI4ID1}S}7_1fJphdV(;i27#e(p8f=TYvL_vj(Ij;LEg3JOACg$9+9IgQXD^ zg5Mm(J%d&DIwwYBteIUYExJZHYhcg{6I_HwYGV`wi`CYrJss7w0%o0rti7^X#A=ky zEt1;v5>5=MO0&}FUdD9n+0fs?$u6CU0h>-cCZeHM0}>mrAJ<~@nLSA;lEwICy9g;# zG!lcWa-qWDuC-dbXI!q)#4&10sUd~bzovOfoTsO9v2^GW%B`oHKLHKvfw&&oemWL) zZ7xSRcL#5z00U~pMlxpD*9iNhtqkKObiP-727;f0EgesJ8IL988z=H?*jmdsFjZW` zj7CSIckkl?2{{>w`p|3`LP(#I#<)Z$hB5Vio&u9OlZAe4s9*HkGF>Ec>5Cz&UVQPI z_)1NQSxC3v(yin}pbW>JXwG!BisP-lQ^#}Igt2oC{qfBwr3yZUjxEc0mdNsFrcIcP zxh0&*`6IE*{)_p^8d+;tb+8Au2E2I5Y|@YLcS8xqsl|^xVN(rU% z*MurM))AIR4P71c0sJ9sXZKh<`-BXbZ=@gd&GkzMpBKthD{+TLnj6NQ zESv41*$TA09Zc}rTexFzF9s!0_w<8m;{cqRwoRK50}730Q4-;Gq8s)do<|*_AB~^k z=sO3uMe;ND3sTd2nfEJZ*XbeZWB@D*LA9CU%NWcoh0?xM827}c^etR8eKa`SeW)gD z!!I!#q+g=}2R^rsaJXh0dc$g-Q-w}-KB(i1DZm-w0;#o>H!^MS4)RZp&u#UTYb1I#yeFn*h0Mo zem0}%8W&>I#O0UC=uTvGA0C4%=81mKOTiLjZ0cAd z@iqNA5aQOpBE6CImBd*~Yd(o%jm-f8ty4WrpHON1q@d~tS3s)Vg@&~ARhoV(eds1x zsaeMQ%6jt*vF#^FrS4(JhDmqWuUbOAWZU^AG-2p>&yIP7-vpH2pGDpi@qUTdSa&?H z0fgT~d@Kighhm{0>b{1fa);Y6uNfa*gnVh=Ob6(9+bD_a-E=LgY~Klb*p7VnZ`dAv z@!R7;q1JQ31rk#h=AB1OENw@O%_vi|Ey_aYr6rh}ov8-q8O8aUZZ%;ACKf!f9{}Hm z<~_|@p{93H*0f@O-!L@wYVrymkFo05`ewl_gAhF1+G^RFwSP^|f>{Zf0~W)QLi>&a zr7YVPTWIF8P0rr600mdGEmuZSIoHh2MmFz;vI!QUD#y%^spsP;xlWWYTNz4OHfnl& z?N)`77oK$oDCika^%)G73zfuqcmGwJNwE0H&erU1R96Ni!ZB0asEL^uCC*kjgNBPC zYdO$Q8V*~q+TtYgB>@`%o3Q+|BNa-$5w<3J zh|{oI)={K3S&t+zlC>3&$*0TQC1PeqVN7!F(N(fLSPA23{KX4poIGd$5@dmPA8FDy zX0EoJOkNA}0TH%E-bniUP=#=d>gIWt2+2q&Mb+1$2;}UbyHMO)g3PsnxKw4)b05|* zv6irAhiOue<`*|0p1U>f(nA@vKp|n~?(`L5sfqEWuW?q@x2s}0+$x12%}6^^th6fP zM`p|O!sb1!`GAjBpnSQM-=RdkAgtq+$FED76X>N5rOssRcDSrO)q*}5@_J$MIqcOu z+i;6$3cfwyd9gF%MNJ8is4DseIXuUz$?0useI=ULm(Uz8)2(WvjB*&?H9mJ&zgHw**o*6>LZw?b!rGV{VqV3ZmGnZ0j@4|$$W%q*iRaB&W49?vflZY7n;sIzm1BviGy&KD8;zBqrucJe0 zBx5X`3W?{4Cf0s&T?m8ZF*nQMyNf?b384r!mLIql)3{ReS|UEFEiX{{(AweW;@od9 zh*#0`?GY{#UuWZC1`=O+-{Z*>j4sAp!lt&^*>*NZ*^M#0%y^v8X(p3bQ_WFk9^9(DUb@0A zvKATJSUIMLAjLiNB0sWpv1GhOGT26J8%}EA%bZ#`Ncw&0*5`ZUXMs7s{av1r zfn4yRk`K^8=r(?XbW>L&8OnoJo-?-t%1xUe+|_S=9XOFyjgB>RI)kt*HMVM&)(BG% zHP8JjWz3yq{$lRtX?(g86)bjI6+#mhWq}DMzrw_~=K?Ko-hSK)JOP4QNsFq+=ALqwvZ3~6bLV1m?4bw#J=r2@%UsPMZ zT4`DmHL#p_{yQ~-o&G=&St$BO}GiJIp*qnmHt<*O7Mxyz?!o2pw|b#35Q0kyt~ zSsETpWc`gGr#c^bjdv17P&+g7ySV0Zsq4aB<8Rhs;GN73A0L`E*oq1o)`-_3E#@w%v_puT&tONbx?%4EZKb^ zf9`{lCxoWDc9W)FF{+NG;WMF*6is;0X0$l0!^7lyFd2dL`miF(zX#3jM&VFO+V!bK zJv6V$H6$7HTyJRQmRKJ%nYF26F~NfwYX_n3b$N;+2-}5Mh~6>J5fB8-qBg} zpu**pf{RV9M2n?5+{h}cd6shH=5Bg-EL2i}1!wUi%KV74Ifki)%O!5{Xq=o(Ppi>t zK0MiodANWmdqRU$ZFg&xiFA`~9r2;DlZSEljO8 z^SHEHeq71h!RYVERT8wv0!8&G-#*Uik>WWz7vmKBLOaqxUjX;{v#K$KPx}n6=8!*G z1;wjs*HyDB22{p;U(vu(oOP^MHbA74B|c*AYH@+NJ3;3w=Y8=fJ?>mT0$=wOhR4uc zF7op%khF>L{o_1XmUMPqJBb6m;t+lS^iND~&XJ?lIf39(*a0F}TF#zw9jAVY)$oCa z5vMwuHg;t*y85#-LDHYR_nfx>LD@S6XZA(kqOon;w$ZUW>KGkcU+j);+qUiGi*1`7 z+sW-;)xA~s{2%VQXT0p%4{NTMS$nQM)|_LY!{Vf)FVB>p;!S*BsGP$ZdZhMd3OhPk z+fZe7TXRy|KLLKwJ-s&bn?Y8h&U}1h>ACW~x?YeO&mFup)+Q&8H93CPC&xcF8nw2z z?#zWlt|2NVx~d1Q)Q znpiJ}J6hpBR+}^qPaII*Pn3)Vc2Va4NKQ7hg?>2%jWHCg3fZHQm$n{wC6q7Ib`@-$ zJe>=WS^0Sg6mCA9+~2Vp9(D)JVpB1@Ch(0{5+&(e$zLDLxN{13nhMp_9lcbFh-P&x zwyDmM|G~>OTa!peYlzw}{I-wYk2j)iNKcRmTaXj=t#5Hn{^d5W}R0j*6r#Mdspw?=D&l7D9meYLD*lg z$zSm^R=FG0tP=AAjR`GTe_bGZCH{e^IB#>l%v?7ysj4;4b~67pnW2dB1VM(Gj|aI5 z*u1CmhIUQTt`j1YWMRlf_xkYKzNqmw&nVIeWp3e9-z|KhYG)_4NHvzIHd+h7y$GoW zQU{+*UkeF*+t<{0N@gAs3qNXx8_{!U0vHm~yBh4dX|s}f;zm@bA0_BDD(~Y{!l;Nt z>COlIYsfzhObkyHo6EDNCll@@C|I@>j-uH9@649h`M~YN?y8eb8`gjo?oISEXlAxrZKZ;Z*hlhtO$O z6R7KE9G#mn69m)vyGJdDhW+W6#%l}CJV;$tTUa4C{;O;M#C{N6{+@Trz>CVg~|s3Xfenxa&hI~!9 z2DI{2<3eGW-%u`GEJJ|j28bZ;vUQ?X*YU{3oR>$RoA!>{qS!U+0FWD@1%+VSf!%I{ z26!gY_36Be7t079ts+*(ENT()Ub-!7fj86k0Rj62?B>`QWE{Jex^$uj(r;-#iw=X4 z?`AP9?@9;pz|YB^4a0v*#arM%+h%>xqCbE_xiY=!2 zee4T7CDA9N)UN&Y&4fKumwG|7q8W{+gwm-OtnKiMl*0=e!*EQ~8#4`%kcHb}$1@G= z&?h%Q?-TKcwoRGxLh7MP51k&p8)MhJ_!(>hB!J+Pput1c5oVfQiv)Gh0%pigKiC<@ z%n@7%RM@8;t^!mcljW)Q8j7Q#ueT8=EF%^si8gkf_scE0`f<@(`_nn*;f^=71bP$| z<`L*47u3d%g|XZ;_7^}tjq@B2sLCjQuvaozL~cc|d$U_3>zbQ!`uD2J)&V@5!r>OTm+*aRE5hV|nP7EIdC z+BjhwkSBkoT`5i{O@^5|qp$m0Bg@uIrxDu1Rds5*)d?oxp_F73M3BK@!8S*{tQicE zc^7I93Work^;0IyF7$0MPn>gc9f~I~vuX?JT$-FslT{j$0q94ns}fP))5a{f1;t(p z%f-b)I%6uz)zU?jNqtg>Yd}BapbwrjVrUs~uhY!B)d0(65dx3Do1jVF`L}@TCFhJv z#{*#0*JyL0Xc{-TvG-mz1h?f6U@rFhXae~>rzoZgDXLcbP{IQ@z1d`qo4irgYyjdX&a<+0Q1QGPA}b= z`Dt78(7)dky?f#*`XF8t+Yn635U%FjS%F()_GF^J0I`x#$ol^G!9frGqYk!)nMlb5 zNvSHpUxKyC&YbyH?9#lGg`zdAM9D%G!TQuXw#<5Z) z+A#@QU#`PaZ6j3dgsqJS7rn-&OcVKs-Pm|Hw&MZJ_Bf2AlbM4UT0{sh34JT99l7*r zwP_umP6{WRerqL`iJWhr)mtIe>SW7ch&^Mf4Y6SZX{Ry%X1SjSzui+~yZ&no0sF?J zGLnH~*DssoB=FH`ZiNj{C2B{ISMSzI3s;1SiMz4k1o>^C!9{S+t5$bJ+wdffO+aU) z7dM)o*T|%XdM(uH#J_(Nh-bS%;_HB17^RDj*tv1C6|Yrm%KT`!^Xp;HC9+|{bu<{>Qs-JeT`=x=%yJGnpHGo?64$7#2UH& z45gQNhE#jE|KFd5^&e|MD)%_3`Qb;KAoljFe8D>DEw}y|RB7eQ(9oqpz1is8Ruen5 zRf=9KKZ17;{2BXJub~Eg>pR#}4ziP{svJa?h%pZ=aJg*|SC0Oljc#V_yy6R+P@NgO z$~FO85H9xYow!6gR!?>zBdz`D&;9=zEtG*EGD#nhvHd~~t(FO~0$FgMiRFDPCfKID z4Kyg;4fRKi3#Lz4Q#VO?e6c|!mDpT*dfAs0qgj@<0Zl|6;2m-eFc-hRh1f- zCi6g}1utZ(P?&XIg+=@8Sma--`~kU-WU$obS!@6L4*fo4LWyJl&V zO$^Y64~_^sL~y@#>h;49`m8~s!JS`OFG?LL+w$=m3@{P=Kn@4jSfG~sOv?PrmEcWL zf*i{NfeuJnu!dHc!7z)1!F5R@}JTX)qQ=(pwPF7zDm zxdvh#_-%%_9H50j-45U#kiVd=fIIy@FGL*sBM!n};6#13yCQS&L}=){Cq`TX3|NC$ zdx5rOAhBUEHrOWvNC40ajMhP>TNVL2=`Wz2ySxBsY~=GUY(23rDW|(iNxv!^d`^ns zp4M5gARF=1IQkwhFSsw|#GVH)v3?xtOS1sBep2dy+#R307FQp=BYl^w=neiW&WHLJ znttNU;PqkUO~)p*JxccT*q;I7Ltl5*bMQZlj(d!@JYCgO{%%dGdwQ4h?ut5~f0oq; zpx4`PurJwOlseJBDg;4@EtvKku_v(J^E&{0Sq8uoIO|5t--0{y*!?IykUDkU3?>@k;vk4MsyM*CICdvmAn5IP z9ub;!=n71aiLLKEfWO#FN;`5kRxE|~;#d7Qm}Jn>i1N;-IOIEhwz|U$4$X(XPjXV8 zcCH&DmThjB(})$yyJF;jFUjC+H$Y|%j^xI*2Xn$iaOMpq#kw{`e#MPh z=-hJ`M5O-Pu33c)9P#n{c82Vq z)sP7+sKwChM&2;2Se`mn4<*+$*3UO%RqCD?HlK?MY`8$z0BnJHE6jDvj~q~XGyA+X z*sK?CIOH|VEPvn7Ryx=L*`3HWZqGocEq#FTj;B5_hc`A{R3aTT9@ANm3HAF{LSC{(N}@)iKWcj7h@v|Ib>Zxc3k_% z$$<^Q(mgXpkn011`*?T0R zL(Bf$(xSaV+VnO`;E*kC@Qd^~#Adom$W+%$N@~C3e6&6ffz$vIifz#8CQ zrl}~BB)wdZD&1#0mFjTeWh%XW1sOJRD|C2i4O$^L z2!G=li4#RKp=!rXxe%F>h3hTy5--(sN0(OyIRp~hk_(yr>2yWx6;{Y_Ld^GMPY<+V z*EGYIW>?gZ$kk#AKFJ$OD$}NG_;*FEF`hLG?yV5~&T2rga}*9tJGuS*t#Rm{V@a3n zo~f4VlhSf}T=in!NhXK!8Wu{-8$P)<8s}1|78bzHBBXo--wo)XWVjjxulvL~bz)8+ z%YZ1#gYvXdk4ITC*?@f&!kodc1X;tVx{)H4q`IWtpS1m+y6|`=#Zi>)li<(@(zqe# z<%dBZ7|eDgzNaiy#n^U53Gh^<&Vx?nhau&(L;|t0L^N_D0=b?=KiW@7^nbYHI7FVH zcA+o_{A$~ALiUX{JBQK{M098ER#=d-ECJ$L+-(N!P@l3JwEmm843bU%TfLt`M{CzF zmveukLTB1vNi^@1QBB=-tR*)e58eIHefRDT*?k$Ufi|8xTa|+K2_mnPQWN0Y0-;Bk znpbJ)r|@bWHjZUmOS!I%(Tyjc>A8aX$S~=PGjidXF*tAnCEZxx#uo!riyO1#HfLh6 zCVkGSFlHvSU#$NT>dV)L>e5B~^~bXfx9><+=4>160QQ`ma~Xi%TcFRkE&2_eCOgB( z5^T~w;iER_yNKfGf+L?|L+2~!SaeVgoiE=_@KZyrGY&8MdTsC(F-UvVWpdz z&f)th@1UtXK-m+v5YuE#yh33S_`yEd2_w8gl@O624rL-GNV17TlSFPmSotURd1d|B zeG>Rq`1?r}IXwb!fNT|X=)FezyS;@x4__&`y$%L$c_}^5a-l6S=*m} zZ0oQ8jV!+9alu01XBU(uTD`O4@D~*4M=*Gtl=GQ+_j?L0hyDn|qvj*==nLKus6)A3 z;@MKzCreV0r%H}mJ26!37uH*4`KzI@iFpj+l}-Mm&W`bsny?zH<_Hup{xeQ$b5-%$ zPL*G(H8Au~(d;&1hScFvvu#Os6&>@aeTW8phQU?Ji%{Y^M8Q%fJaM7){%w&$o;-p4 zc5)V6vnLltUmpl?SLR4=wd=9ni8Q#0OE9eSnOO`e!?9iK5daN5+E=z{z2I`=evklqnR z$Cjtzy+ukE$f#D#!Ra$1pkHuQ2lp(Hzk|+R(1N>|2f@4{Q}!zzs2B}2X2DwEeur|t zKIXuj1YZw(Rr#<@zWo194<+!W#qbnMeq}eT)mXsatpVt=!!1I0|(9s>*#4jVzpP^>%A`%69 z@>DSd_n*NvA09Tg^fpg&kk>WS@MZWpd>h)k*sd%O`2tXlUW1b*dNixsf9-#K-;1{a-}? z4%GaSaA{@Lme!v;@|1YJjg%=F{zn&OH;mecU5J)1Nbzra38l}w6d&viBgoPrUtlK( zp>?>z0faBCADF_y%(wQd@WO=>TRWD#&%BH_Um}qK%rqEZ2?GPQGzg!_YksxKS)bv< z%tdjZ`r4;Oeb5wh!c=FngZdO+!h3nxQowV%Q^lozvlsMjDG___qOeg<_>)1A<{#3g zdy$Y2zxM0!)xyO9`LfY;c_(P03mJ5Px=W>Em;c_FL7fMDO0|XBEWUCNKAVah(65qT zR5Mn@Ff{#z3svCsf5Oi|-<)8eY>UGegaYt!Gw5yg8jd^ogjNtaQaRVjO$fD8ec_=b zAZ>0|FX9EK_@$X*qsTX;*!sZ7K$uDJJwW6;9OctXqN*CoQ@V#T;~8r>#jB_@o!wD` zD)cu*AI?;SEgy{!J`g8)`#`Tsu(UaGrHF!*nyVgN-!?=Xiy0u|#}tYnUQ9`KU>MCv z2_RD>`4viS$*3I1mMyjxFNa!kq-{1NT$mZy2o-MZj3<~CLd&(jF^7MZD;;HNNj2Hl z$#D&ODcty?f3(9288{hR*nYMgd)Y6r9?+ zOo~#1xKK@z61mn+Os6y)q4+)-rTI@vbHU3e20e>bPYeRt4mJ^@!_kG5nz6%S+vAIp z-jN$XByS95QE>XN&+>A1Hx;8znW;ODJ{5LTd~eZXD&XRQq)O~u3#<_3pe%E`z~(+P z>-+F>gtP)wBtvq#WYRnSTEnkxD2jc4#vV8J&Nc7camvhVOS6pqcNP~7?`v%O3jWej z%Q6nr9bs!54+bbe>uR56R-*>E@Cc>Xt~0w2e^vwZRmn6&V`eK=nHihl?4|gEo`Eem zae!?{MySJ9wSk5YW5$icxQ|aoN71Un?-NH6Z@F6BukDHfb7a0;sA$v(V1i|l*=Y*S z*j*Gg3-z!Ld+P{Xh-Ip4TiSInsaeEbC6X(yIn5udvU-F&EGsZ~Cdqz|6i|FS*KP5J zw)>y4{MQJHYZ-Iv9;FT%+ZBq#jXd2mwgzlM^{rfo7i(?m2S!ks3ou;lV*aB@Q!Ip5 zD_$UH`DYd(Gnu=@UAfkSpZ<_;p7a7?#by=N3kU{q=S}6<^*{M-2wiElfe>fXC50NiG=kv>7g(jd+p|;#xsDKhk;d3FU?pJ2 zCcnjEg|kODzWE6N`%;e@*@=XG2~P{#36l{;Pn76MBZ~lrI}6G%V5v$-Cxt~DWwc2q zMR)<7Z^P1Pb1)i#kp)?dP<&&%F`;uW5U=TWbvT~8%%d~^dJ6{DsA>1*Lg@|K8mKLA zm^jK+_jO8TCPHz-Ha9(zd^%Wx0Kd#A|aRz0)oh*SQg%BKVD zOP9?P-Q}w!KP7xG{R&T1MN%_5Kl(-4qTfLW$QUn{wHev07^0;`R(=IHol_a�aI6 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�viWKV|}2w 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

g3v4QX*`Xm_fy_>6Y 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 T8=7rswx_;XRE3L_#J~L?rbkOJ diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..74cda8f --- /dev/null +++ b/pom.xml @@ -0,0 +1,193 @@ + + + + 4.0.0 + + org.bigbluebutton.api + bigbluebutton-api-java + + 1.0-SNAPSHOT + + BigBlueButton Java API + https://bigbluebutton.org + + + 11 + + + + + commons-codec + commons-codec + 1.15 + + + org.projectlombok + lombok + 1.18.26 + true + + + org.junit.jupiter + junit-jupiter-api + 5.9.3 + test + + + + + src/main/java + + + maven-clean-plugin + 3.2.0 + + + maven-resources-plugin + 3.3.1 + + + maven-compiler-plugin + 3.11.0 + + ${java.version} + ${java.version} + + + + maven-surefire-plugin + 3.1.0 + + + --illegal-access=permit + + true + 2 + true + ${surefireArgLine} + + + + maven-jar-plugin + 3.3.0 + + + maven-install-plugin + 3.1.1 + + + maven-deploy-plugin + 3.1.1 + + + maven-site-plugin + 3.12.1 + + + maven-project-info-reports-plugin + 3.4.3 + + + org.apache.maven.plugins + maven-pmd-plugin + 3.20.0 + + + org.codehaus.mojo + exec-maven-plugin + 3.1.0 + + + + java + + + + + + net.revelc.code.formatter + formatter-maven-plugin + 2.22.0 + + + + validate + + + + + ${java.version} + ${java.version} + ${java.version} + LF + UTF-8 + + + + com.github.spotbugs + spotbugs-maven-plugin + 4.7.3.4 + + + com.github.spotbugs + spotbugs + 4.7.3.4 + + + + + org.jacoco + jacoco-maven-plugin + 0.8.10 + + + default-prepare-agent + + prepare-agent + + + + ${project.build.directory}/coverage-reports/jacoco.exec + surefireArgLine + + + + default-report + test + + report + + + + ${project.build.directory}/coverage-reports/jacoco.exec + + ${project.reporting.outputDirectory}/jacoco + + + + default-check + + check + + + + + BUNDLE + + + COMPLEXITY + COVEREDRATIO + 0.75 + + + + + + + + + + + diff --git a/src/BigBlueButton/api/BBBException.java b/src/BigBlueButton/api/BBBException.java deleted file mode 100644 index 58c613c..0000000 --- a/src/BigBlueButton/api/BBBException.java +++ /dev/null @@ -1,58 +0,0 @@ -package BigBlueButton.api; - -/** - * Exception generated while communicating with BBB server - * - * see https://github.com/sakaicontrib/bbb-tool/blob/master/api/src/java/org/sakaiproject/bbb/api/BBBException.java - */ -public class BBBException extends Exception { - private static final long serialVersionUID = 2421100107566638321L; - - public static final String MESSAGEKEY_HTTPERROR = "httpError"; - public static final String MESSAGEKEY_NOTFOUND = "notFound"; - public static final String MESSAGEKEY_NOACTION = "noActionSpecified"; - public static final String MESSAGEKEY_IDNOTUNIQUE = "idNotUnique"; - public static final String MESSAGEKEY_NOTSTARTED = "notStarted"; - public static final String MESSAGEKEY_ALREADYENDED = "alreadyEnded"; - public static final String MESSAGEKEY_INTERNALERROR = "internalError"; - public static final String MESSAGEKEY_UNREACHABLE = "unreachableServerError"; - public static final String MESSAGEKEY_INVALIDRESPONSE = "invalidResponseError"; - public static final String MESSAGEKEY_GENERALERROR = "generalError"; - - private String messageKey; - - public BBBException(String messageKey, String message, Throwable cause) { - super(message, cause); - this.messageKey = messageKey; - } - - public BBBException(String messageKey, String message) { - super(message); - this.messageKey = messageKey; - } - - public String getMessageKey() { - return messageKey; - } - - public void setMessageKey(String messageKey) { - this.messageKey = messageKey; - } - - public String getPrettyMessage() { - String _message = getMessage(); - String _messageKey = getMessageKey(); - - StringBuilder pretty = new StringBuilder(); - if(_message != null) { - pretty.append(_message); - } - if(_messageKey != null && !"".equals(_messageKey.trim())) { - pretty.append(" ("); - pretty.append(_messageKey); - pretty.append(")"); - } - return pretty.toString(); - } - -} \ No newline at end of file diff --git a/src/BigBlueButton/api/BBBMeeting.java b/src/BigBlueButton/api/BBBMeeting.java deleted file mode 100644 index 50e04f2..0000000 --- a/src/BigBlueButton/api/BBBMeeting.java +++ /dev/null @@ -1,58 +0,0 @@ -package BigBlueButton.api; - -import java.util.Map; -import java.util.Date; -import java.util.HashMap; - -import lombok.AccessLevel; -import lombok.Getter; -import lombok.Setter; -import lombok.ToString; - -/** - * Object for a BigBlueButton meeting. - * @author Adrian Fish - * Based on: https://github.com/sakaicontrib/bbb-tool/blob/master/api/src/java/org/sakaiproject/bbb/api/BBBMeeting.java - * - * Last modified by Yunkai Wang - */ -@Getter @Setter @ToString -public class BBBMeeting { - private String name = null; - private String meetingID; - private String attendeePW = null; - private String moderatorPW = null; - private String dialNumber = null; - private String voiceBridge = null; - private String webVoice = null; - private String logoutURL = null; - private Boolean record = null; - private Long duration = null; - - // user cannot directly modify this field - @Setter (AccessLevel.NONE) - private Map meta = new HashMap(); - private String moderatorOnlyMessage = null; - private Boolean autoStartRecording = null; - private Boolean allowStartStopRecording = null; - private Boolean webcamsOnlyForModerator = null; - private String logo = null; - private String copyright = null; - private Boolean muteOnStart = null; - private String welcome = null; - private Date startDate = null; - private Date endDate = null; - - public BBBMeeting(String meetingID) { - this.meetingID = meetingID; - } - - public void addMeta(String key, String value) { - meta.put(key, value); - } - - public void removeMeta(String key) { - if (meta.containsKey(key)) - meta.remove(key); - } -} diff --git a/src/BigBlueButton/impl/BBBAPI.java b/src/BigBlueButton/impl/BBBAPI.java deleted file mode 100644 index 690013d..0000000 --- a/src/BigBlueButton/impl/BBBAPI.java +++ /dev/null @@ -1,135 +0,0 @@ -package BigBlueButton.impl; - -import java.util.Map; -import BigBlueButton.api.BBBException; -import BigBlueButton.api.BBBMeeting; - -/** - * List of supported API for BigBlueButton, see BigBlueButton doc for more information - * Based on: https://github.com/sakaicontrib/bbb-tool/blob/master/impl/src/java/org/sakaiproject/bbb/impl/bbbapi/BBBAPI.java - * - * Last modified by Yunkai Wang - */ -public interface BBBAPI { - - /** - * Get the API version of the server - * - * @return API version - */ - public String getAPIVersion(); - - /** - * Get the base url of the server - * - * @return url - */ - public String getUrl(); - - /** - * Allow user to create meeting - * - * @return BBBMeeting object on success, on failure, BBBException is thrown - * @throws BBBException - */ - public BBBMeeting createMeeting(final String meetingID) throws BBBException; - public BBBMeeting createMeeting(final BBBMeeting meeting) throws BBBException; - public BBBMeeting createMeeting(final BBBMeeting meeting, final BBBModule module) throws BBBException; - - /** - * Check if the meeting is already running - * - * @return true if the meeting is running, false otherwise - * @throws BBBException - */ - public boolean isMeetingRunning(String meetingID) throws BBBException; - - /** - * Get meeting information corresponds to the given meetingID and role - * - * @return Map that contains all meeting information - * @throws BBBException - */ - public Map getMeetingInfo(String meetingID, String password) throws BBBException; - public Map getMeetingInfo(final BBBMeeting meeting) throws BBBException; - - /** - * End the given meeting - * - * @return true if the meeting is successfully ended or does not exist, false otherwise - * @throws BBBException - */ - public boolean endMeeting(String meetingID, String password) throws BBBException; - public boolean endMeeting(final BBBMeeting meeting) throws BBBException; - - /** - * Get the url to join the given meeting with the display name and corresponding role type - * - * @return url for joining the meeting - */ - public String getJoinMeetingURL(String meetingID, String password, String userDisplayName); - public String getJoinMeetingURL(String meetingID, String password, String userDisplayName, String userId); - - /** - * Get the list of all live meetings in server, every parameter like meetingIDs can be a list of meetings but separated - * by commas(e.g., "id1,id2") - * - * @return a map which has a field named meetings, and the value is the list of meeting information - * @throws BBBException - */ - public Map getMeetings() throws BBBException; - - /** - * Get the list of recordings that map the given fields - * - * @return a map which has a field named recordings, and the value is the list of recording information - * @throws BBBException - */ - public Map getRecordings() throws BBBException; - public Map getRecordings(String meetingIDs) throws BBBException; - public Map getRecordings(String meetingIDs, String recordIDs) throws BBBException; - public Map getRecordings(String meetingIDs, String recordIDs, String states) throws BBBException; - public Map getRecordings(String meetingIDs, String recordIDs, String states, Map meta) throws BBBException; - - /** - * Delete a given recording (or a list of recordings whose ids are separated by commas) - * - * @return true if the recording is successfully deleted, exception is thrown on failure - * @throws BBBException - */ - public boolean deteteRecordings(String recordIDs) throws BBBException; - - /** - * Publish/unpublish the recording(s) - * - * @return true if the recording(s) is successfully published/unpublished, exception is thrown on failure - * @throws BBBException - */ - public boolean publishRecordings(String recordIDs, boolean publish) throws BBBException; - - /** - * Update the recording(s) - * - * @return true if the recording(s) is successfully updated, exception is thrown on failure - * @throws BBBException - */ - public boolean updateRecordings(String recordIDs) throws BBBException; - public boolean updateRecordings(String recordIDs, Map meta) throws BBBException; - - /** - * Get the default config xml file from the BBB server and save it to the given file path - * - * @return true on success, on failure, BBBException is thrown - * @throws BBBException - */ - public boolean getDefaultConfigXML(String fileName) throws BBBException; - - - /** - * Set the config for the given meeting - * - * @return true on success, on failure, BBBException is thrown - * @throws BBBException - */ - public boolean setConfigXML(String meetingID, String fileName) throws BBBException; -} diff --git a/src/BigBlueButton/impl/BBBModule.java b/src/BigBlueButton/impl/BBBModule.java deleted file mode 100644 index f4dca63..0000000 --- a/src/BigBlueButton/impl/BBBModule.java +++ /dev/null @@ -1,88 +0,0 @@ -package BigBlueButton.impl; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.io.IOException; -import java.util.HashMap; -import java.util.LinkedList; -import java.util.Map; -import org.apache.commons.codec.binary.Base64; - -/** - * Java class that stores that modules configuration to be used for create BigBlueButton meeting. - * See the following url for more details - * https://github.com/mconf/bigbluebutton-api-ruby/blob/master/lib/bigbluebutton_modules.rb - * - * @author Yunkai Wang - */ -public class BBBModule { - public enum PresentationType { - url, file, base64; - } - - private LinkedList presentation_urls = new LinkedList(); - private LinkedList presentation_files = new LinkedList(); - private Map presentation_base64s = new HashMap(); - - public void add_presentation(PresentationType type, String value) { - add_presentation(type, value, ""); - } - - public void add_presentation(PresentationType type, String value, String name) { - switch (type) { - case url: - presentation_urls.add(value); - return; - case file: - presentation_files.add(value); - return; - case base64: - presentation_base64s.put(name, value); - return; - } - } - - public String to_xml() throws IOException { - if (!has_presentation()) return ""; - String xml = ""; - xml += presentations_to_xml(); - xml += ""; - return xml; - } - - private String presentations_to_xml() throws IOException { - String xml = ""; - for (String url : presentation_urls) - xml += String.format("", url); - for (Map.Entry entry : presentation_base64s.entrySet()) { - xml += String.format("", entry.getKey()); - xml += entry.getValue(); - xml += ""; - } - - for (String fileName : presentation_files) { - File f = new File(fileName); - xml += String.format("", f.getName()); - FileReader fr = new FileReader(fileName); - BufferedReader br = new BufferedReader(fr); - String file = ""; - String line = ""; - while ((line = br.readLine()) != null) - file += line + "\n"; - br.close(); - byte[] bytes = Base64.encodeBase64(file.getBytes()); - for (byte b : bytes) - xml += (char)b; - xml += ""; - } - xml += ""; - return xml; - } - - private boolean has_presentation() { - return !(presentation_urls.isEmpty() && - presentation_files.isEmpty() && - presentation_base64s.isEmpty()); - } -} diff --git a/src/BigBlueButton/impl/BaseBBBAPI.java b/src/BigBlueButton/impl/BaseBBBAPI.java deleted file mode 100644 index 3500a27..0000000 --- a/src/BigBlueButton/impl/BaseBBBAPI.java +++ /dev/null @@ -1,684 +0,0 @@ -package BigBlueButton.impl; - -import java.io.BufferedReader; -import java.io.DataOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.StringReader; -import java.io.UnsupportedEncodingException; -import java.net.HttpURLConnection; -import java.net.URL; -import java.net.URLEncoder; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; -import java.util.HashMap; - -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; - -import BigBlueButton.api.BBBException; -import BigBlueButton.api.BBBMeeting; - -import org.apache.commons.codec.digest.DigestUtils; -import org.w3c.dom.Document; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; - -/** - * Base class for interacting with any BigBlueButton API version. - * @author Nuno Fernandes - * - * Last modified by Yunkai Wang - */ -public class BaseBBBAPI implements BBBAPI { - /** - * BBB server url, including bigbluebutton webapp path. Will default to - * http://localhost/bigbluebutton if not specified - */ - protected String bbbUrl = "http://127.0.0.1/bigbluebutton"; - /** BBB security salt */ - protected String bbbSalt = null; - - // API Server Path - protected final static String API_SERVERPATH = "/api/"; - - // API Calls - protected final static String APICALL_CREATE = "create"; - protected final static String APICALL_ISMEETINGRUNNING = "isMeetingRunning"; - protected final static String APICALL_GETMEETINGINFO = "getMeetingInfo"; - protected final static String APICALL_GETMEETINGS = "getMeetings"; - protected final static String APICALL_JOIN = "join"; - protected final static String APICALL_END = "end"; - protected final static String APICALL_VERSION = ""; - protected final static String APICALL_getRecordS = "getRecordings"; - protected final static String APICALL_PUBLISHRECORDINGS = "publishRecordings"; - protected final static String APICALL_UPDATERECORDINGS = "updateRecordings"; - protected final static String APICALL_DELETERECORDINGS = "deleteRecordings"; - protected final static String APICALL_GETCONFIGXML = "getDefaultConfigXML"; - protected final static String APICALL_SETCONFIGXML = "setConfigXML"; - - // API Response Codes - protected final static String APIRESPONSE_SUCCESS = "SUCCESS"; - protected final static String APIRESPONSE_FAILED = "FAILED"; - - // API Versions - public final static String APIVERSION_063 = "0.63"; - public final static String APIVERSION_064 = "0.64"; - public final static String APIVERSION_070 = "0.70"; - public final static String APIVERSION_080 = "0.80"; - public final static String APIVERSION_081 = "0.81"; - public final static String APIVERSION_MINIMUM = APIVERSION_063; - public final static String APIVERSION_LATEST = APIVERSION_081; - - // ----------------------------------------------------------------------- - // --- Initialization related methods ------------------------------------ - // ----------------------------------------------------------------------- - public BaseBBBAPI(String url, String salt) { - this.bbbUrl = url; - - if (bbbUrl.endsWith("/") && bbbUrl.length() > 0) { - bbbUrl = bbbUrl.substring(0, bbbUrl.length() - 1); - } - - this.bbbSalt = salt; - } - - public String getUrl() { - return this.bbbUrl; - } - - /* - public String getSalt() { - return this.bbbSalt; - } - */ - - private String encode(String msg) throws UnsupportedEncodingException { - return URLEncoder.encode(msg, getParametersEncoding()); - } - - // ----------------------------------------------------------------------- - // --- BBB API implementation methods ------------------------------------ - // ----------------------------------------------------------------------- - - /* Create BBB meeting */ - public BBBMeeting createMeeting(final String meetingID) throws BBBException { - return createMeeting(new BBBMeeting(meetingID), null); - } - - public BBBMeeting createMeeting(final BBBMeeting meeting) throws BBBException { - return createMeeting(meeting, null); - } - - public BBBMeeting createMeeting(final BBBMeeting meeting, final BBBModule module) throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append("meetingID=" + meeting.getMeetingID()); - if (meeting.getName() != null) - query.append("&name=" + encode(meeting.getName())); - if (meeting.getAttendeePW() != null) - query.append("&attendeePW=" + meeting.getAttendeePW()); - if (meeting.getModeratorPW() != null) - query.append("&moderatorPW=" + meeting.getModeratorPW()); - if (meeting.getWelcome() != null) - query.append("&welcome=" + encode(meeting.getWelcome())); - if (meeting.getDialNumber() != null) - query.append("&dialNumber=" + meeting.getDialNumber()); - if (meeting.getVoiceBridge() != null) - query.append("&voiceBridge=" + meeting.getVoiceBridge()); - if (meeting.getWebVoice() != null) - query.append("&webVoice=" + encode(meeting.getWebVoice())); - if (meeting.getLogoutURL() != null) - query.append("&logoutURL=" + encode(meeting.getLogoutURL())); - if (meeting.getRecord() != null) - query.append("&record=" + Boolean.toString(meeting.getRecord())); - if (meeting.getDuration() != null) - query.append("&duration=" + meeting.getDuration().toString()); - if (!meeting.getMeta().isEmpty()) { - for(Entry entry : meeting.getMeta().entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - query.append("&meta_" + key + "="); - query.append(encode(value)); - } - } - if (meeting.getModeratorOnlyMessage() != null) - query.append("&moderatorOnlyMessage=" + encode(meeting.getModeratorOnlyMessage())); - if (meeting.getAutoStartRecording() != null) - query.append("&autoStartRecording=" + Boolean.toString(meeting.getAutoStartRecording())); - if (meeting.getAllowStartStopRecording() != null) - query.append("&allowStartStopRecording=" + Boolean.toString(meeting.getAllowStartStopRecording())); - if (meeting.getWebcamsOnlyForModerator() != null) - query.append("&logo=" + Boolean.toString(meeting.getWebcamsOnlyForModerator())); - if (meeting.getLogo() != null) - query.append("&logo=" + encode(meeting.getLogo())); - if (meeting.getCopyright() != null) - query.append("©right=" + encode(meeting.getCopyright())); - if (meeting.getMuteOnStart() != null) - query.append("&muteOnStart=" + Boolean.toString(meeting.getMuteOnStart())); - query.append(getCheckSumParameterForQuery(APICALL_CREATE, query.toString())); - - Map response = doAPICall(APICALL_CREATE, query.toString(), - module == null ? null : module.to_xml()); - - // capture important information from returned response - meeting.setModeratorPW((String)response.get("moderatorPW")); - meeting.setAttendeePW((String)response.get("attendeePW")); - meeting.setDialNumber((String)response.get("dialNumber")); - meeting.setVoiceBridge((String)response.get("voiceBridge")); - SimpleDateFormat formatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy"); - try { - meeting.setStartDate(formatter.parse((String)response.get("createDate"))); - } catch (ParseException e) { } - - return meeting; - } catch (BBBException e) { - throw e; - } catch (IOException e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /* Check if meeting is running */ - public boolean isMeetingRunning(String meetingID) - throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append("meetingID=" + meetingID); - query.append(getCheckSumParameterForQuery(APICALL_ISMEETINGRUNNING, query.toString())); - - Map response = doAPICall(APICALL_ISMEETINGRUNNING, query.toString()); - return Boolean.parseBoolean((String) response.get("running")); - } catch (Exception e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /* Get list of all running BBB meetings */ - public Map getMeetings() throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append(getCheckSumParameterForQuery(APICALL_GETMEETINGS, query.toString())); - Map response = doAPICall(APICALL_GETMEETINGS, query.toString()); - - return response; - } catch (Exception e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /* Get BBB meeting information */ - public Map getMeetingInfo(final BBBMeeting meeting) throws BBBException { - return getMeetingInfo(meeting.getMeetingID(), meeting.getModeratorPW()); - } - - public Map getMeetingInfo(String meetingID, String password) - throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append("meetingID=" + meetingID); - query.append("&password=" + password); - query.append(getCheckSumParameterForQuery(APICALL_GETMEETINGINFO, query.toString())); - Map response = doAPICall(APICALL_GETMEETINGINFO, query.toString()); - return response; - } catch (BBBException e) { - throw new BBBException(e.getMessageKey(), e.getMessage(), e); - } - } - - /* End given BBB meeting */ - public boolean endMeeting(final BBBMeeting meeting) throws BBBException { - return endMeeting(meeting.getMeetingID(), meeting.getModeratorPW()); - } - - public boolean endMeeting(String meetingID, String password) throws BBBException { - StringBuilder query = new StringBuilder(); - query.append("meetingID=" + meetingID); - query.append("&password=" + password); - query.append(getCheckSumParameterForQuery(APICALL_END, query.toString())); - - try { - doAPICall(APICALL_END, query.toString()); - } catch (BBBException e) { - if(BBBException.MESSAGEKEY_NOTFOUND.equals(e.getMessageKey())) { - // we can safely ignore this one: the meeting is not running - return true; - }else{ - throw e; - } - } - - return true; - } - - /** Get recordings from BBB server */ - public Map getRecordings() throws BBBException { - return getRecordings(null, null, null, null); - } - - public Map getRecordings(String meetingIDs) throws BBBException { - return getRecordings(meetingIDs, null, null, null); - } - - public Map getRecordings(String meetingIDs, String recordIDs) throws BBBException { - return getRecordings(meetingIDs, recordIDs, null, null); - } - - public Map getRecordings(String meetingIDs, String recordIDs, String states) throws BBBException { - return getRecordings(meetingIDs, recordIDs, states, null); - } - - public Map getRecordings(String meetingIDs, String recordIDs, String states, Map meta) throws BBBException { - try { - StringBuilder query = new StringBuilder(); - if (meetingIDs != null) - query.append("meetingID=" + meetingIDs); - if (recordIDs != null) - query.append("recordID=" + recordIDs); - if (states != null) - query.append("state=" + states); - if (meta != null && meta.size() != 0) { - for(Entry entry : meta.entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - query.append("&meta_" + key + "="); - query.append(encode(value)); - } - } - query.append(getCheckSumParameterForQuery(APICALL_getRecordS, query.toString())); - Map response = doAPICall(APICALL_getRecordS, query.toString()); - - return response; - } catch (BBBException e) { - throw new BBBException(e.getMessageKey(), e.getMessage(), e); - } catch (IOException e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /* Detete a record from BBB server */ - public boolean deteteRecordings(String recordIDs) throws BBBException { - StringBuilder query = new StringBuilder(); - query.append("recordID=" + recordIDs); - query.append(getCheckSumParameterForQuery(APICALL_DELETERECORDINGS, query.toString())); - try { - Map response = doAPICall(APICALL_DELETERECORDINGS, query.toString()); - return response.get("returncode").toString().equals("SUCCESS") ? true : false; - } catch (BBBException e) { - throw e; - } - } - - /* Publish/Unpublish a recording on BBB server */ - public boolean publishRecordings(String recordIDs, boolean publish) throws BBBException { - StringBuilder query = new StringBuilder(); - query.append("recordID=" + recordIDs); - query.append("&publish=" + Boolean.toString(publish)); - query.append(getCheckSumParameterForQuery(APICALL_PUBLISHRECORDINGS, query.toString())); - - try { - Map response = doAPICall(APICALL_PUBLISHRECORDINGS, query.toString()); - return response.get("returncode").toString().equals("SUCCESS") ? true : false; - } catch (BBBException e) { - throw e; - } - } - - /* Update a recording on BBB server */ - public boolean updateRecordings(String recordingIDs) throws BBBException { - return updateRecordings(recordingIDs, null); - } - - public boolean updateRecordings(String recordingIDs, Map meta) throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append("recordID=" + recordingIDs); - if (meta != null && meta.size() != 0) { - for(Entry entry : meta.entrySet()) { - String key = entry.getKey(); - String value = entry.getValue(); - query.append("&meta_" + key + "="); - query.append(encode(value)); - } - } - query.append(getCheckSumParameterForQuery(APICALL_UPDATERECORDINGS, query.toString())); - Map response = doAPICall(APICALL_UPDATERECORDINGS, query.toString()); - return response.get("returncode").toString().equals("SUCCESS") ? true : false; - } catch (BBBException e) { - throw e; - } catch (IOException e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /* Build the join meeting url based on user role */ - public String getJoinMeetingURL(String meetingID, String password, String userDisplayName) { - return getJoinMeetingURL(meetingID, password, userDisplayName, null); - } - - public String getJoinMeetingURL(String meetingID, String password, String userDisplayName, String userId) { - StringBuilder url = null; - try { - StringBuilder joinQuery = new StringBuilder(); - joinQuery.append("meetingID=" + meetingID); - if (userId != null) - joinQuery.append("&userID=" + encode(userId)); - - joinQuery.append("&fullName="); - userDisplayName = (userDisplayName == null) ? "user" : userDisplayName; - try { - joinQuery.append(encode(userDisplayName)); - } catch (UnsupportedEncodingException e) { - joinQuery.append(userDisplayName); - } - joinQuery.append("&password=" + password); - joinQuery.append(getCheckSumParameterForQuery(APICALL_JOIN, joinQuery.toString())); - - url = new StringBuilder(bbbUrl); - if (url.toString().endsWith("/api")) { - url.append("/"); - } else { - url.append(API_SERVERPATH); - } - url.append(APICALL_JOIN + "?" + joinQuery); - } catch (UnsupportedEncodingException e) { } - return url.toString(); - } - - /* Download default config xml file from the server and save the file to given file location */ - public boolean getDefaultConfigXML(String filePath) throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append(getCheckSumParameterForQuery(APICALL_GETCONFIGXML, query.toString())); - Map response = doAPICall(APICALL_GETCONFIGXML, query.toString()); - - File file = new File(filePath); - if (file.exists() && !file.canWrite()) { - throw new IOException("Failed to edit " + filePath); - } else if (!file.exists()) { - if (!file.createNewFile()) - throw new IOException("Failed to create " + filePath); - } - - FileOutputStream output = new FileOutputStream(file); - output.write(((String)response.get("xml")).getBytes()); - output.close(); - return true; - } catch (BBBException e) { - throw e; - } catch (IOException e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /* set the config.xml file for the given meeting */ - public boolean setConfigXML(String meetingID, String filePath) throws BBBException { - try { - StringBuilder query = new StringBuilder(); - query.append("meetingID=" + meetingID); - query.append(getCheckSumParameterForQuery(APICALL_SETCONFIGXML, query.toString())); - - File file = new File(filePath); - if (!file.exists() || !file.canRead()) { - throw new IOException("Failed to read " + filePath); - } - - FileInputStream input = new FileInputStream(file); - byte[] b = input.readAllBytes(); - input.close(); - String xml = ""; - for (byte a : b) - xml += (char)a; - query.append("&configXML=" + encode(xml)); - - Map response = doAPICall(APICALL_SETCONFIGXML, query.toString()); - return response.get("returncode").toString().equals("SUCCESS") ? true : false; - } catch (BBBException e) { - throw e; - } catch (IOException e) { - throw new BBBException(BBBException.MESSAGEKEY_INTERNALERROR, e.getMessage(), e); - } - } - - /** Get the BBB API version running on BBB server */ - public final String getAPIVersion() { - String _version = null; - try { - Map response = doAPICall(APICALL_VERSION, null); - _version = (String) response.get("version"); - _version = _version != null ? _version.trim() : null; - if (_version == null || Float.valueOf(_version.substring(0, 3)) < 0.0) { - _version = null; - } - _version = _version.trim(); - } catch (BBBException e) { - if (BBBException.MESSAGEKEY_NOACTION.equals(e.getMessageKey())) { - // we are clearly connecting to BBB < 0.70 => assuming minimum - // version (0.63) - _version = APIVERSION_MINIMUM; - } else { - // something went wrong => warn user - _version = null; - } - } catch (Exception e) { - // something went wrong => warn user - _version = null; - } - return _version; - } - - // ----------------------------------------------------------------------- - // --- BBB API utility methods ------------------------------------------- - // ----------------------------------------------------------------------- - /** Compute the query string checksum based on the security salt */ - protected String getCheckSumParameterForQuery(String apiCall, - String queryString) { - if (bbbSalt != null) - return "&checksum=" + DigestUtils.shaHex(apiCall + queryString + bbbSalt); - else - return ""; - } - - /** Encoding used when encoding url parameters */ - protected String getParametersEncoding() { - return "UTF-8"; - } - - - /* Make an API call */ - protected Map doAPICall(String apiCall, String query) throws BBBException { - return doAPICall(apiCall, query, null); - } - - protected Map doAPICall(String apiCall, String query, String data) throws BBBException { - StringBuilder urlStr = new StringBuilder(bbbUrl); - if (urlStr.toString().endsWith("/api")){ - urlStr.append("/"); - } else { - urlStr.append(API_SERVERPATH); - } - urlStr.append(apiCall); - if (query != null) { - urlStr.append("?"); - urlStr.append(query); - } - - try { - // open connection - URL url = new URL(urlStr.toString()); - HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection(); - httpConnection.setUseCaches(false); - httpConnection.setDoOutput(true); - if(data != null){ - httpConnection.setRequestMethod("POST"); - httpConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); - httpConnection.setRequestProperty("Content-Length", "" + data.length()); - httpConnection.setRequestProperty("Content-Language", "en-US"); - httpConnection.setDoInput(true); - - DataOutputStream wr = new DataOutputStream( httpConnection.getOutputStream() ); - wr.writeBytes (data); - wr.flush(); - wr.close(); - } else { - httpConnection.setRequestMethod("GET"); - } - httpConnection.connect(); - - int responseCode = httpConnection.getResponseCode(); - if (responseCode == HttpURLConnection.HTTP_OK) { - // read response - InputStreamReader isr = null; - BufferedReader reader = null; - StringBuilder xml = new StringBuilder(); - try { - isr = new InputStreamReader(httpConnection.getInputStream(), "UTF-8"); - reader = new BufferedReader(isr); - String line = reader.readLine(); - while (line != null) { - if( !line.startsWith("")) - xml.append(line.trim()); - line = reader.readLine(); - } - } finally { - if (reader != null) - reader.close(); - if (isr != null) - isr.close(); - } - httpConnection.disconnect(); - - // parse response - //Patch to fix the NaN error - String stringXml = xml.toString(); - stringXml = stringXml.replaceAll(">.\\s+?<", "><"); - - if (apiCall.equals(APICALL_GETCONFIGXML)) { - Map map = new HashMap(); - map.put("xml", stringXml); - return map; - } - - Document dom = null; - - // Initialize XML libraries - DocumentBuilderFactory docBuilderFactory; - DocumentBuilder docBuilder; - docBuilderFactory = DocumentBuilderFactory.newInstance(); - try { - docBuilderFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); - docBuilderFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); - - docBuilder = docBuilderFactory.newDocumentBuilder(); - dom = docBuilder.parse(new InputSource( new StringReader(stringXml))); - } catch (ParserConfigurationException e) { } - Map response = getNodesAsMap(dom, "response"); - - String returnCode = (String) response.get("returncode"); - if (APIRESPONSE_FAILED.equals(returnCode)) { - throw new BBBException((String) response.get("messageKey"), (String) response.get("message")); - } - - return response; - } else { - throw new BBBException(BBBException.MESSAGEKEY_HTTPERROR, "BBB server responded with HTTP status code " + responseCode); - } - - } catch(BBBException e) { - throw new BBBException( e.getMessageKey(), e.getMessage(), e); - } catch(IOException e) { - throw new BBBException(BBBException.MESSAGEKEY_UNREACHABLE, e.getMessage(), e); - } catch(SAXException e) { - throw new BBBException(BBBException.MESSAGEKEY_INVALIDRESPONSE, e.getMessage(), e); - } catch(IllegalArgumentException e) { - throw new BBBException(BBBException.MESSAGEKEY_INVALIDRESPONSE, e.getMessage(), e); - } catch(Exception e) { - throw new BBBException(BBBException.MESSAGEKEY_UNREACHABLE, e.getMessage(), e); - } - } - - - // ----------------------------------------------------------------------- - // --- BBB Other utility methods ----------------------------------------- - // ----------------------------------------------------------------------- - /** Get all nodes under the specified element tag name as a Java map */ - protected Map getNodesAsMap(Document dom, String elementTagName) { - Node firstNode = dom.getElementsByTagName(elementTagName).item(0); - return processNode(firstNode); - } - - protected Map processNode(Node _node) { - Map map = new HashMap(); - NodeList responseNodes = _node.getChildNodes(); - int images = 1; //counter for images (i.e image1, image2, image3) - for (int i = 0; i < responseNodes.getLength(); i++) { - Node node = responseNodes.item(i); - String nodeName = node.getNodeName().trim(); - if (node.getChildNodes().getLength() == 1 - && ( node.getChildNodes().item(0).getNodeType() == org.w3c.dom.Node.TEXT_NODE || node.getChildNodes().item(0).getNodeType() == org.w3c.dom.Node.CDATA_SECTION_NODE) ) { - String nodeValue = node.getTextContent(); - if (nodeName == "image" && node.getAttributes() != null){ - Map imageMap = new HashMap(); - Node heightAttr = node.getAttributes().getNamedItem("height"); - Node widthAttr = node.getAttributes().getNamedItem("width"); - Node altAttr = node.getAttributes().getNamedItem("alt"); - - imageMap.put("height", heightAttr.getNodeValue()); - imageMap.put("width", widthAttr.getNodeValue()); - imageMap.put("title", altAttr.getNodeValue()); - imageMap.put("url", nodeValue); - map.put(nodeName + images, imageMap); - images++; - } else { - map.put(nodeName, nodeValue != null ? nodeValue.trim() : null); - } - } else if (node.getChildNodes().getLength() == 0 - && node.getNodeType() != org.w3c.dom.Node.TEXT_NODE - && node.getNodeType() != org.w3c.dom.Node.CDATA_SECTION_NODE) { - map.put(nodeName, ""); - } else if (node.getChildNodes().getLength() >= 1) { - boolean isList = false; - for (int c = 0; c < node.getChildNodes().getLength(); ++c) { - try { - Node n = node.getChildNodes().item(c); - if (n.getChildNodes().item(0).getNodeType() != org.w3c.dom.Node.TEXT_NODE - && n.getChildNodes().item(0).getNodeType() != org.w3c.dom.Node.CDATA_SECTION_NODE) { - isList = true; - break; - } - } catch (Exception e) { - continue; - } - } - List list = new ArrayList(); - if (isList) { - for (int c = 0; c < node.getChildNodes().getLength(); ++c) { - Node n = node.getChildNodes().item(c); - list.add(processNode(n)); - } - if (nodeName == "preview"){ - Node n = node.getChildNodes().item(0); - map.put(nodeName, new ArrayList(processNode(n).values())); - } else { - map.put(nodeName, list); - } - } else { - map.put(nodeName, processNode(node)); - } - } else { - map.put(nodeName, processNode(node)); - } - } - return map; - } -} diff --git a/src/main/java/org/bigbluebutton/api/ApiMethod.java b/src/main/java/org/bigbluebutton/api/ApiMethod.java new file mode 100644 index 0000000..ad0020b --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/ApiMethod.java @@ -0,0 +1,37 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import lombok.Getter; + +public enum ApiMethod { + CREATE("create"), JOIN("join"), INSERT_DOCUMENT("insertDocument"), ENTER("enter"), END("end"), + IS_MEETING_RUNNING("isMeetingRunning"), GET_MEETING_INFO("getMeetingInfo"), GET_MEETINGS("getMeetings"), + SIGN_OUT("signOut"), GET_RECORDINGS("getRecordings"), PUBLISH_RECORDINGS("publishRecordings"), + DELETE_RECORDINGS("deleteRecordings"), UPDATE_RECORDINGS("updateRecordings"), + GET_RECORDING_TEXT_TRACKS("getRecordingTextTracks"), PUT_RECORDING_TEXT_TRACK("putRecordingTextTrack"), + HOOKS_CREATE("hooks/create"), HOOKS_LIST("hooks/list"), HOOKS_DESTROY("hooks/destroy"); + + @Getter + private String name; + + ApiMethod(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java new file mode 100644 index 0000000..8144086 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import org.bigbluebutton.api.responses.ApiVersionResponse; + +import lombok.Getter; +import lombok.Setter; + +public class BigBlueButtonAPI { + + @Getter + @Setter + protected String securitySalt; + + @Getter + @Setter + protected String baseServerURL; + + public BigBlueButtonAPI() { + this(System.getenv("BBB_SERVER_BASE_URL"), System.getenv("BBB_SECURITY_SALT")); + } + + public BigBlueButtonAPI(String baseUrl, String securitySalt) { + this.baseServerURL = baseUrl; + this.securitySalt = securitySalt; + } + + public ApiVersionResponse getAPIVersion() { + return new ApiVersionResponse(); + } +} diff --git a/src/main/java/org/bigbluebutton/api/enums/Feature.java b/src/main/java/org/bigbluebutton/api/enums/Feature.java new file mode 100644 index 0000000..851738f --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/enums/Feature.java @@ -0,0 +1,39 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import lombok.Getter; + +public enum Feature { + + BREAKOUT_ROOMS("breakoutRooms"), CAPTIONS("captions"), CHAT("chat"), + DOWNLOAD_PRESENTATION_WITH_ANNOTATIONS("downloadPresentationWithAnnotations"), EXTERNAL_VIDEOS("externalVideos"), + IMPORT_PRESENTATION_WITH_ANNOTATIONS_FROM_BREAKOUT_ROOMS("importPresentationWithAnnotationsFromBreakoutRooms"), + IMPORT_SHARED_NOTES_FROM_BREAKOUT_ROOMS("importSharedNotesFromBreakoutRooms"), LAYOUTS("layouts"), + LEARNING_DASHBOARD("learningDashboard"), POLLS("polls"), SCREENSHARE("screenshare"), SHARED_NOTES("sharedNotes"), + VIRTUAL_BACKGROUNDS("virtualBackgrounds"), CUSTOM_VIRTUAL_BACKGROUNDS("customVirtualBackgrounds"), + LIVE_TRANSCRIPTION("liveTranscription"), PRESENTATION("presentation"); + + @Getter + private String name; + + Feature(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java b/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java new file mode 100644 index 0000000..d902e6d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java @@ -0,0 +1,33 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import lombok.Getter; + +public enum GuestPolicy { + + ALWAYS_ACCEPT("ALWAYS_ACCEPT"), ALWAYS_DENY("ALWAYS_DENY"), ASK_MODERATOR("ASK_MODERATOR"); + + @Getter + private String name; + + GuestPolicy(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/enums/MeetingLayout.java b/src/main/java/org/bigbluebutton/api/enums/MeetingLayout.java new file mode 100644 index 0000000..e8e69d4 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/enums/MeetingLayout.java @@ -0,0 +1,34 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import lombok.Getter; + +public enum MeetingLayout { + + CUSTOM_LAYOUT("CUSTOM_LAYOUT"), SMART_LAYOUT("SMART_LAYOUT"), PRESENTATION_FOCUS("PRESENTATION_FOCUS"), + VIDEO_FOCUS("VIDEO_FOCUS"); + + @Getter + private String name; + + MeetingLayout(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/enums/Role.java b/src/main/java/org/bigbluebutton/api/enums/Role.java new file mode 100644 index 0000000..3f55af0 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/enums/Role.java @@ -0,0 +1,33 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import lombok.Getter; + +public enum Role { + + MODERATOR("MODERATOR"), VIEWER("VIEWER"); + + @Getter + private String name; + + Role(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/APIReturnCode.java b/src/main/java/org/bigbluebutton/api/responses/APIReturnCode.java new file mode 100644 index 0000000..1e43013 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/APIReturnCode.java @@ -0,0 +1,32 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import lombok.Getter; + +public enum APIReturnCode { + SUCCESS("SUCCESS"), FAILED("FAILED"); + + @Getter + private String returnCode; + + APIReturnCode(String returnCode) { + this.returnCode = returnCode; + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java b/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java new file mode 100644 index 0000000..898963d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class ApiVersionResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java new file mode 100644 index 0000000..dd4974d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java @@ -0,0 +1,29 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import lombok.Getter; + +public class BaseResponse { + @Getter + protected APIReturnCode returnCode; + + @Getter + protected String message; +} diff --git a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java new file mode 100644 index 0000000..afb4ece --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java @@ -0,0 +1,41 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.util; + +import java.net.URI; + +import lombok.Getter; + +public class URLBuilder { + + @Getter + private URI uri; + + @Getter + private String sharedSecret; + + public URLBuilder(String uri, String sharedSecret) { + this(URI.create(uri), sharedSecret); + } + + public URLBuilder(URI uri, String sharedSecret) { + this.uri = uri; + this.sharedSecret = sharedSecret; + } +} diff --git a/src/test/java/org/bigbluebutton/api/ApiMethodTest.java b/src/test/java/org/bigbluebutton/api/ApiMethodTest.java new file mode 100644 index 0000000..7110ecb --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/ApiMethodTest.java @@ -0,0 +1,50 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class ApiMethodTest { + + @Test + @DisplayName("Test API method names") + void apiMethodNamesShouldMatch() { + assertEquals(ApiMethod.CREATE.getName(), "create"); + assertEquals(ApiMethod.JOIN.getName(), "join"); + assertEquals(ApiMethod.INSERT_DOCUMENT.getName(), "insertDocument"); + assertEquals(ApiMethod.ENTER.getName(), "enter"); + assertEquals(ApiMethod.END.getName(), "end"); + assertEquals(ApiMethod.IS_MEETING_RUNNING.getName(), "isMeetingRunning"); + assertEquals(ApiMethod.GET_MEETING_INFO.getName(), "getMeetingInfo"); + assertEquals(ApiMethod.GET_MEETINGS.getName(), "getMeetings"); + assertEquals(ApiMethod.SIGN_OUT.getName(), "signOut"); + assertEquals(ApiMethod.GET_RECORDINGS.getName(), "getRecordings"); + assertEquals(ApiMethod.PUBLISH_RECORDINGS.getName(), "publishRecordings"); + assertEquals(ApiMethod.DELETE_RECORDINGS.getName(), "deleteRecordings"); + assertEquals(ApiMethod.UPDATE_RECORDINGS.getName(), "updateRecordings"); + assertEquals(ApiMethod.GET_RECORDING_TEXT_TRACKS.getName(), "getRecordingTextTracks"); + assertEquals(ApiMethod.PUT_RECORDING_TEXT_TRACK.getName(), "putRecordingTextTrack"); + assertEquals(ApiMethod.HOOKS_CREATE.getName(), "hooks/create"); + assertEquals(ApiMethod.HOOKS_LIST.getName(), "hooks/list"); + assertEquals(ApiMethod.HOOKS_DESTROY.getName(), "hooks/destroy"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java new file mode 100644 index 0000000..1bf494f --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -0,0 +1,33 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class BigBlueButtonAPITest { + + @Test + @DisplayName("BigBlueButton test") + public void shouldAnswerWithTrue() { + assertTrue(true); + } +} diff --git a/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java b/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java new file mode 100644 index 0000000..7f04550 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java @@ -0,0 +1,49 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class FeatureTest { + + @Test + @DisplayName("Test feature names") + void featureNamesShouldMatch() { + assertEquals(Feature.BREAKOUT_ROOMS.getName(), "breakoutRooms"); + assertEquals(Feature.CAPTIONS.getName(), "captions"); + assertEquals(Feature.CHAT.getName(), "chat"); + assertEquals(Feature.DOWNLOAD_PRESENTATION_WITH_ANNOTATIONS.getName(), "downloadPresentationWithAnnotations"); + assertEquals(Feature.EXTERNAL_VIDEOS.getName(), "externalVideos"); + assertEquals(Feature.IMPORT_PRESENTATION_WITH_ANNOTATIONS_FROM_BREAKOUT_ROOMS.getName(), + "importPresentationWithAnnotationsFromBreakoutRooms"); + assertEquals(Feature.IMPORT_SHARED_NOTES_FROM_BREAKOUT_ROOMS.getName(), "importSharedNotesFromBreakoutRooms"); + assertEquals(Feature.LAYOUTS.getName(), "layouts"); + assertEquals(Feature.LEARNING_DASHBOARD.getName(), "learningDashboard"); + assertEquals(Feature.POLLS.getName(), "polls"); + assertEquals(Feature.SCREENSHARE.getName(), "screenshare"); + assertEquals(Feature.SHARED_NOTES.getName(), "sharedNotes"); + assertEquals(Feature.VIRTUAL_BACKGROUNDS.getName(), "virtualBackgrounds"); + assertEquals(Feature.CUSTOM_VIRTUAL_BACKGROUNDS.getName(), "customVirtualBackgrounds"); + assertEquals(Feature.LIVE_TRANSCRIPTION.getName(), "liveTranscription"); + assertEquals(Feature.PRESENTATION.getName(), "presentation"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java b/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java new file mode 100644 index 0000000..ca40af8 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java @@ -0,0 +1,35 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class GuestPolicyTest { + + @Test + @DisplayName("Test guest policy names") + void featureNamesShouldMatch() { + assertEquals(GuestPolicy.ALWAYS_ACCEPT.getName(), "ALWAYS_ACCEPT"); + assertEquals(GuestPolicy.ALWAYS_DENY.getName(), "ALWAYS_DENY"); + assertEquals(GuestPolicy.ASK_MODERATOR.getName(), "ASK_MODERATOR"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java b/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java new file mode 100644 index 0000000..39afe1e --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java @@ -0,0 +1,36 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class MeetingLayoutTest { + + @Test + @DisplayName("Test meeting layout names") + void featureNamesShouldMatch() { + assertEquals(MeetingLayout.CUSTOM_LAYOUT.getName(), "CUSTOM_LAYOUT"); + assertEquals(MeetingLayout.PRESENTATION_FOCUS.getName(), "PRESENTATION_FOCUS"); + assertEquals(MeetingLayout.SMART_LAYOUT.getName(), "SMART_LAYOUT"); + assertEquals(MeetingLayout.VIDEO_FOCUS.getName(), "VIDEO_FOCUS"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/enums/RoleTest.java b/src/test/java/org/bigbluebutton/api/enums/RoleTest.java new file mode 100644 index 0000000..eb5f289 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/enums/RoleTest.java @@ -0,0 +1,34 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class RoleTest { + + @Test + @DisplayName("Test role names") + void featureNamesShouldMatch() { + assertEquals(Role.MODERATOR.getName(), "MODERATOR"); + assertEquals(Role.VIEWER.getName(), "VIEWER"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java b/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java new file mode 100644 index 0000000..bf28b06 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java @@ -0,0 +1,39 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +class APIReturnCodeTest { + + @Test + @DisplayName("Failed API return code") + void failedReturnCodeShouldMatch() { + assertEquals(APIReturnCode.FAILED.getReturnCode(), "FAILED"); + } + + @Test + @DisplayName("Success API return code") + void successReturnCodeShouldMatch() { + assertEquals(APIReturnCode.SUCCESS.getReturnCode(), "SUCCESS"); + } +} From 59d7721353b3b6c2995838adc4b256f25501ff3e Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Fri, 12 May 2023 12:33:31 +0100 Subject: [PATCH 02/17] Implement root API version with XML unmarshalling. --- pom.xml | 29 ++++++++++- .../java/org/bigbluebutton/api/ApiMethod.java | 2 +- .../bigbluebutton/api/BigBlueButtonAPI.java | 45 +++++++++++++++-- .../api/handlers/ApiResponseHandler.java | 48 +++++++++++++++++++ .../api/responses/ApiVersionResponse.java | 13 ++++- .../api/responses/BaseResponse.java | 17 ++++++- .../bigbluebutton/api/util/URLBuilder.java | 14 +++++- .../api/BigBlueButtonAPITest.java | 29 +++++++++-- 8 files changed, 182 insertions(+), 15 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/handlers/ApiResponseHandler.java diff --git a/pom.xml b/pom.xml index 74cda8f..fd56cdd 100644 --- a/pom.xml +++ b/pom.xml @@ -7,14 +7,14 @@ org.bigbluebutton.api bigbluebutton-api-java - - 1.0-SNAPSHOT + 1.0-SNAPSHOT BigBlueButton Java API https://bigbluebutton.org 11 + 2.0.7 @@ -29,6 +29,31 @@ 1.18.26 true + + org.apache.httpcomponents.client5 + httpclient5 + 5.2.1 + + + org.slf4j + slf4j-api + ${slf4j.version} + + + org.slf4j + slf4j-simple + ${slf4j.version} + + + com.fasterxml.jackson.core + jackson-core + 2.15.0 + + + com.fasterxml.jackson.dataformat + jackson-dataformat-xml + 2.15.0 + org.junit.jupiter junit-jupiter-api diff --git a/src/main/java/org/bigbluebutton/api/ApiMethod.java b/src/main/java/org/bigbluebutton/api/ApiMethod.java index ad0020b..4cd9df8 100644 --- a/src/main/java/org/bigbluebutton/api/ApiMethod.java +++ b/src/main/java/org/bigbluebutton/api/ApiMethod.java @@ -21,7 +21,7 @@ import lombok.Getter; public enum ApiMethod { - CREATE("create"), JOIN("join"), INSERT_DOCUMENT("insertDocument"), ENTER("enter"), END("end"), + ROOT(""), CREATE("create"), JOIN("join"), INSERT_DOCUMENT("insertDocument"), ENTER("enter"), END("end"), IS_MEETING_RUNNING("isMeetingRunning"), GET_MEETING_INFO("getMeetingInfo"), GET_MEETINGS("getMeetings"), SIGN_OUT("signOut"), GET_RECORDINGS("getRecordings"), PUBLISH_RECORDINGS("publishRecordings"), DELETE_RECORDINGS("deleteRecordings"), UPDATE_RECORDINGS("updateRecordings"), diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 8144086..5794468 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -18,7 +18,22 @@ package org.bigbluebutton.api; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; + +import javax.xml.parsers.ParserConfigurationException; + +import org.apache.hc.client5.http.classic.HttpClient; +import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.bigbluebutton.api.handlers.ApiResponseHandler; import org.bigbluebutton.api.responses.ApiVersionResponse; +import org.bigbluebutton.api.util.URLBuilder; +import org.xml.sax.SAXException; + +import com.fasterxml.jackson.dataformat.xml.XmlMapper; import lombok.Getter; import lombok.Setter; @@ -33,16 +48,40 @@ public class BigBlueButtonAPI { @Setter protected String baseServerURL; + protected URLBuilder urlBuilder; + + /** + * Jackson XML mapper to transform responses to objects + */ + private XmlMapper xmlMapper; + public BigBlueButtonAPI() { this(System.getenv("BBB_SERVER_BASE_URL"), System.getenv("BBB_SECURITY_SALT")); } public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.baseServerURL = baseUrl; - this.securitySalt = securitySalt; + this.securitySalt = securitySalt; + this.xmlMapper = new XmlMapper(); + this.urlBuilder = new URLBuilder(baseUrl, securitySalt); + } + + public ApiVersionResponse getAPIVersion() throws MalformedURLException, IOException, ParserConfigurationException, + SAXException, InterruptedException, URISyntaxException { + return xmlMapper.readValue(this.sendRequest(urlBuilder.buildUrl(ApiMethod.ROOT, "")), ApiVersionResponse.class); + } + + protected String sendRequest(URI uri) throws MalformedURLException, IOException, ParserConfigurationException, + SAXException, InterruptedException { + return this.sendRequest(uri, "", "application/xml"); } - public ApiVersionResponse getAPIVersion() { - return new ApiVersionResponse(); + protected String sendRequest(URI uri, String payload, String contentType) throws MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException { + // Open a connection to the API endpoint + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpGet httpGet = new HttpGet(uri); + ApiResponseHandler apiResponseHandler = new ApiResponseHandler(); + return httpClient.execute(httpGet, apiResponseHandler); } } diff --git a/src/main/java/org/bigbluebutton/api/handlers/ApiResponseHandler.java b/src/main/java/org/bigbluebutton/api/handlers/ApiResponseHandler.java new file mode 100644 index 0000000..9c3acaa --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/handlers/ApiResponseHandler.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.handlers; + +import java.io.IOException; + +import org.apache.hc.core5.http.ClassicHttpResponse; +import org.apache.hc.core5.http.HttpEntity; +import org.apache.hc.core5.http.HttpException; +import org.apache.hc.core5.http.io.HttpClientResponseHandler; +import org.apache.hc.core5.http.io.entity.EntityUtils; + +public class ApiResponseHandler implements HttpClientResponseHandler { + + @Override + public String handleResponse(ClassicHttpResponse response) throws HttpException, IOException { + + // Get the status of the response + int status = response.getCode(); + if (status >= 200 && status < 300) { + HttpEntity entity = response.getEntity(); + if (entity == null) { + return ""; + } else { + return EntityUtils.toString(entity); + } + + } else { + return "" + status; + } + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java b/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java index 898963d..aa1cc3d 100644 --- a/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java @@ -18,6 +18,17 @@ package org.bigbluebutton.api.responses; -public class ApiVersionResponse extends BaseResponse { +import lombok.Getter; +import lombok.Setter; +public class ApiVersionResponse extends BaseResponse { + @Getter + @Setter + private String version; + @Getter + @Setter + private String apiVersion; + @Getter + @Setter + private String bbbVersion; } diff --git a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java index dd4974d..94f1a2b 100644 --- a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java @@ -18,12 +18,25 @@ package org.bigbluebutton.api.responses; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; + import lombok.Getter; -public class BaseResponse { +@JacksonXmlRootElement(localName = "response") +public abstract class BaseResponse { @Getter - protected APIReturnCode returnCode; + @JacksonXmlProperty(localName = "returncode") + private String returnCode; @Getter protected String message; + + public Boolean success() { + return returnCode.equals(APIReturnCode.SUCCESS.getReturnCode()); + } + + public Boolean failed() { + return returnCode.equals(APIReturnCode.FAILED.getReturnCode()); + } } diff --git a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java index afb4ece..26ec34b 100644 --- a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java +++ b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java @@ -19,13 +19,19 @@ package org.bigbluebutton.api.util; import java.net.URI; +import java.net.URISyntaxException; + +import org.apache.hc.core5.net.URIBuilder; +import org.bigbluebutton.api.ApiMethod; import lombok.Getter; public class URLBuilder { @Getter - private URI uri; + private URI baseUri; + + private final String apiPrefix = "api"; @Getter private String sharedSecret; @@ -35,7 +41,11 @@ public URLBuilder(String uri, String sharedSecret) { } public URLBuilder(URI uri, String sharedSecret) { - this.uri = uri; + this.baseUri = uri; this.sharedSecret = sharedSecret; } + + public URI buildUrl(ApiMethod apiMethod, String params) throws URISyntaxException { + return new URIBuilder(baseUri + apiPrefix + apiMethod.getName()).build(); + } } diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index 1bf494f..32385f8 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -18,16 +18,37 @@ package org.bigbluebutton.api; -import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assertions.assertEquals; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URISyntaxException; + +import javax.xml.parsers.ParserConfigurationException; + +import org.bigbluebutton.api.responses.ApiVersionResponse; +import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import org.xml.sax.SAXException; public class BigBlueButtonAPITest { + private BigBlueButtonAPI bbbAPI; + + @BeforeEach + public void setUp() { + bbbAPI = new BigBlueButtonAPI(); + } + @Test - @DisplayName("BigBlueButton test") - public void shouldAnswerWithTrue() { - assertTrue(true); + @DisplayName("BigBlueButton API version") + public void fetchAPIVersion() throws MalformedURLException, IOException, ParserConfigurationException, SAXException, + InterruptedException, URISyntaxException { + ApiVersionResponse apiVersion = bbbAPI.getAPIVersion(); + assertEquals(apiVersion.getReturnCode(), "SUCCESS"); + assertEquals(apiVersion.getApiVersion(), "2.0"); + assertEquals(apiVersion.getVersion(), "2.0"); + assertEquals(apiVersion.getBbbVersion(), ""); } } From 6d6472604eebb1bb8849a329d63b9621d78032ef Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Sat, 13 May 2023 14:54:13 +0100 Subject: [PATCH 03/17] Implement create meeting API. --- pom.xml | 8 +- .../java/org/bigbluebutton/api/ApiParams.java | 109 +++++++ .../bigbluebutton/api/BigBlueButtonAPI.java | 23 +- .../api/parameters/BaseParameters.java | 53 ++++ .../parameters/CreateMeetingParameters.java | 293 ++++++++++++++++++ .../api/responses/BaseResponse.java | 3 + .../api/responses/CreateMeetingResponse.java | 60 ++++ .../bigbluebutton/api/util/URLBuilder.java | 20 +- .../api/BigBlueButtonAPITest.java | 19 +- .../api/test/BigBlueButtonTestCase.java | 54 ++++ 10 files changed, 637 insertions(+), 5 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/ApiParams.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java create mode 100644 src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java diff --git a/pom.xml b/pom.xml index fd56cdd..b05624c 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ org.bigbluebutton.api bigbluebutton-api-java - 1.0-SNAPSHOT + 0.1-SNAPSHOT BigBlueButton Java API https://bigbluebutton.org @@ -60,6 +60,12 @@ 5.9.3 test + + com.github.javafaker + javafaker + 1.0.2 + test + diff --git a/src/main/java/org/bigbluebutton/api/ApiParams.java b/src/main/java/org/bigbluebutton/api/ApiParams.java new file mode 100644 index 0000000..b49f780 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/ApiParams.java @@ -0,0 +1,109 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +public class ApiParams { + + public static final String ALLOW_START_STOP_RECORDING = "allowStartStopRecording"; + public static final String AUTO_START_RECORDING = "autoStartRecording"; + public static final String BANNER_COLOR = "bannerColor"; + public static final String BANNER_TEXT = "bannerText"; + public static final String CHECKSUM = "checksum"; + public static final String COPYRIGHT = "copyright"; + public static final String DIAL_NUMBER = "dialNumber"; + public static final String DURATION = "duration"; + public static final String FREE_JOIN = "freeJoin"; + public static final String FULL_NAME = "fullName"; + public static final String GUEST_POLICY = "guestPolicy"; + public static final String MEETING_LAYOUT = "meetingLayout"; + public static final String IS_BREAKOUT = "isBreakout"; + public static final String LOGO = "logo"; + public static final String LOGOUT_TIMER = "logoutTimer"; + public static final String LOGOUT_URL = "logoutURL"; + public static final String MAX_PARTICIPANTS = "maxParticipants"; + public static final String MEETING_ID = "meetingID"; + public static final String META = "meta"; + public static final String MODERATOR_ONLY_MESSAGE = "moderatorOnlyMessage"; + public static final String MUTE_ON_START = "muteOnStart"; + public static final String MEETING_KEEP_EVENTS = "meetingKeepEvents"; + public static final String ALLOW_MODS_TO_UNMUTE_USERS = "allowModsToUnmuteUsers"; + public static final String ALLOW_REQUESTS_WITHOUT_SESSION = "allowRequestsWithoutSession"; + public static final String ALLOW_MODS_TO_EJECT_CAMERAS = "allowModsToEjectCameras"; + public static final String NAME = "name"; + public static final String PARENT_MEETING_ID = "parentMeetingID"; + public static final String RECORD = "record"; + public static final String RECORD_ID = "recordID"; + public static final String REDIRECT = "redirect"; + public static final String SEQUENCE = "sequence"; + public static final String VOICE_BRIDGE = "voiceBridge"; + public static final String WEB_VOICE = "webVoice"; + public static final String LEARNING_DASHBOARD_CLEANUP_DELAY_IN_MINUTES = "learningDashboardCleanupDelayInMinutes"; + public static final String WEBCAMS_ONLY_FOR_MODERATOR = "webcamsOnlyForModerator"; + public static final String MEETING_CAMERA_CAP = "meetingCameraCap"; + public static final String USER_CAMERA_CAP = "userCameraCap"; + public static final String MAX_PINNED_CAMERAS = "maxPinnedCameras"; + public static final String MEETING_EXPIRE_IF_NO_USER_JOINED_IN_MINUTES = "meetingExpireIfNoUserJoinedInMinutes"; + public static final String MEETING_EXPIRE_WHEN_LAST_USER_LEFT_IN_MINUTES = "meetingExpireWhenLastUserLeftInMinutes"; + public static final String WELCOME = "welcome"; + public static final String HTML5_INSTANCE_ID = "html5InstanceId"; + public static final String ROLE = "role"; + public static final String GROUPS = "groups"; + public static final String DISABLED_FEATURES = "disabledFeatures"; + public static final String NOTIFY_RECORDING_IS_ON = "notifyRecordingIsOn"; + + public static final String PRE_UPLOAD_PRESENTATION_OVERRIDE_DEFAULT = "preUploadedPresentationOverrideDefault"; + public static final String PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION = "presentationUploadExternalDescription"; + public static final String PRESENTATION_UPLOAD_EXTERNAL_URL = "presentationUploadExternalUrl"; + + public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES = "breakoutRoomsCaptureSlides"; + public static final String BREAKOUT_ROOMS_CAPTURE_NOTES = "breakoutRoomsCaptureNotes"; + public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES_FILENAME = "breakoutRoomsCaptureSlidesFilename"; + public static final String BREAKOUT_ROOMS_CAPTURE_NOTES_FILENAME = "breakoutRoomsCaptureNotesFilename"; + public static final String BREAKOUT_ROOMS_RECORD = "breakoutRoomsRecord"; + public static final String BREAKOUT_ROOMS_PRIVATE_CHAT_ENABLED = "breakoutRoomsPrivateChatEnabled"; + + public static final String LOCK_SETTINGS_DISABLE_CAM = "lockSettingsDisableCam"; + public static final String LOCK_SETTINGS_DISABLE_MIC = "lockSettingsDisableMic"; + public static final String LOCK_SETTINGS_DISABLE_PRIVATE_CHAT = "lockSettingsDisablePrivateChat"; + public static final String LOCK_SETTINGS_DISABLE_PUBLIC_CHAT = "lockSettingsDisablePublicChat"; + public static final String DEPRECATED_LOCK_SETTINGS_DISABLE_NOTES = "lockSettingsDisableNote"; + public static final String LOCK_SETTINGS_DISABLE_NOTES = "lockSettingsDisableNotes"; + public static final String LOCK_SETTINGS_HIDE_USER_LIST = "lockSettingsHideUserList"; + public static final String LOCK_SETTINGS_LOCK_ON_JOIN = "lockSettingsLockOnJoin"; + public static final String LOCK_SETTINGS_LOCK_ON_JOIN_CONFIGURABLE = "lockSettingsLockOnJoinConfigurable"; + public static final String LOCK_SETTINGS_HIDE_VIEWERS_CURSOR = "lockSettingsHideViewersCursor"; + + // New param passed on create call to callback when meeting ends. + // This is a duplicate of the endCallbackUrl meta param as we want this + // param to stay on the server and not propagated to client and recordings. + public static final String MEETING_ENDED_CALLBACK_URL = "meetingEndedURL"; + + // Param to end the meeting when there are no moderators after a certain period + // of time. + // Needed for classes where teacher gets disconnected and can't get back in. + // Prevents + // students from running amok. + public static final String END_WHEN_NO_MODERATOR = "endWhenNoModerator"; + public static final String END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES = "endWhenNoModeratorDelayInMinutes"; + + private ApiParams() { + throw new IllegalStateException("ApiParams is a utility class. Instanciation is forbidden."); + } + +} diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 5794468..e7ed44e 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -19,6 +19,7 @@ package org.bigbluebutton.api; import java.io.IOException; +import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; @@ -29,10 +30,14 @@ import org.apache.hc.client5.http.classic.methods.HttpGet; import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; import org.bigbluebutton.api.handlers.ApiResponseHandler; +import org.bigbluebutton.api.parameters.CreateMeetingParameters; import org.bigbluebutton.api.responses.ApiVersionResponse; +import org.bigbluebutton.api.responses.CreateMeetingResponse; import org.bigbluebutton.api.util.URLBuilder; import org.xml.sax.SAXException; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import lombok.Getter; @@ -66,9 +71,25 @@ public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.urlBuilder = new URLBuilder(baseUrl, securitySalt); } + public URI getApiVersionURL() throws URISyntaxException { + return urlBuilder.buildUrl(ApiMethod.ROOT); + } + public ApiVersionResponse getAPIVersion() throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - return xmlMapper.readValue(this.sendRequest(urlBuilder.buildUrl(ApiMethod.ROOT, "")), ApiVersionResponse.class); + return xmlMapper.readValue(this.sendRequest(getApiVersionURL()), ApiVersionResponse.class); + } + + public URI getcreateMeetingURL(CreateMeetingParameters createMeetingParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.CREATE, createMeetingParams.getQueryParms()); + } + + public CreateMeetingResponse createMeeting(CreateMeetingParameters createMeetingParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return xmlMapper.readValue(this.sendRequest(getcreateMeetingURL(createMeetingParams)), + CreateMeetingResponse.class); } protected String sendRequest(URI uri) throws MalformedURLException, IOException, ParserConfigurationException, diff --git a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java new file mode 100644 index 0000000..5be153f --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java @@ -0,0 +1,53 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.apache.hc.core5.http.message.BasicNameValuePair; + +public abstract class BaseParameters { + + protected void addStringValue(List params, String name, String value) + throws UnsupportedEncodingException { + if (value != null) { + params.add(new BasicNameValuePair(name, this.urlEncode(value))); + } + } + + protected void addIntegerValue(List params, String name, Integer value) + throws UnsupportedEncodingException { + if (value != null) { + params.add(new BasicNameValuePair(name, value.toString())); + } + } + + protected void addBooleanValue(List params, String name, Boolean value) { + if (value != null) { + params.add(new BasicNameValuePair(name, value.toString())); + } + } + + protected String urlEncode(String value) throws UnsupportedEncodingException { + return URLEncoder.encode(value, "UTF-8"); + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java new file mode 100644 index 0000000..636d578 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -0,0 +1,293 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.enums.GuestPolicy; +import org.bigbluebutton.api.enums.MeetingLayout; + +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class CreateMeetingParameters extends BaseParameters { + + @Getter + protected String name; + + @Getter + protected String meetingId; + + @Getter + @Setter + protected String welcome; + + @Getter + @Setter + protected String dialNumber; + + @Getter + @Setter + protected String voiceBridge; + + @Getter + @Setter + protected Integer maxParticipants; + + @Getter + protected String logoutURL; + + @Getter + @Setter + protected Boolean record; + + @Getter + @Setter + protected Integer duration; + + @Getter + @Setter + protected Boolean isBreakout; + + @Getter + @Setter + protected Integer sequence; + + @Getter + @Setter + protected Boolean freeJoin; + + @Getter + @Setter + protected Boolean breakoutRoomsPrivateChatEnabled; + + @Getter + @Setter + protected Boolean breakoutRoomsRecord; + + @Getter + @Setter + protected String moderatorOnlyMessage; + + @Getter + @Setter + protected Boolean autoStartRecording; + + @Getter + @Setter + protected Boolean allowStartStopRecording; + + @Getter + @Setter + protected Boolean webcamsOnlyForModeratorBoolean; + + @Getter + @Setter + protected String bannerText; + + @Getter + @Setter + protected String bannerColor; + + @Getter + @Setter + protected Boolean muteOnStart; + + @Getter + @Setter + protected Boolean allowModsToUnmuteUsers; + + @Getter + @Setter + protected Boolean lockSettingsDisableCam; + + @Getter + @Setter + protected Boolean lockSettingsDisableMic; + + @Getter + @Setter + protected Boolean lockSettingsDisablePrivateChat; + + @Getter + @Setter + protected Boolean lockSettingsDisablePublicChat; + + @Getter + @Setter + protected Boolean lockSettingsDisableNote; + + @Getter + @Setter + protected Boolean lockSettingsLockOnJoin; + + @Getter + @Setter + protected Boolean lockSettingsLockOnJoinConfigurable; + + @Getter + @Setter + protected Boolean lockSettingsHideViewersCursor; + + @Getter + @Setter + protected GuestPolicy guestPolicy; + + @Getter + @Setter + protected Boolean meetingKeepEvents; + + @Getter + @Setter + protected Boolean endWhenNoModerator; + + @Getter + @Setter + protected Integer endWhenNoModeratorDelayInMinutes; + + @Getter + @Setter + protected MeetingLayout meetingLayout; + + @Getter + @Setter + protected Integer learningDashboardCleanupDelayInMinutes; + + @Getter + @Setter + protected Boolean allowModsToEjectCameras; + + @Getter + @Setter + protected Boolean allowRequestsWithoutSession; + + @Getter + @Setter + protected Integer userCameraCap; + + @Getter + @Setter + protected Integer meetingCameraCap; + + @Getter + @Setter + protected Integer meetingExpireIfNoUserJoinedInMinutes; + + @Getter + @Setter + protected Integer meetingExpireWhenLastUserLeftInMinutes; + + @Getter + @Setter + protected String logo; + + @Getter + @Setter + protected Boolean preUploadedPresentationOverrideDefault; + + @Getter + @Setter + protected Boolean notifyRecordingIsOn; + + @Getter + @Setter + protected String presentationUploadExternalUrl; + + @Getter + @Setter + protected String presentationUploadExternalDescription; + + public CreateMeetingParameters(String name, String meetingId) { + this.name = name; + this.meetingId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.NAME, getName()); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + addStringValue(params, ApiParams.WELCOME, getWelcome()); + addStringValue(params, ApiParams.DIAL_NUMBER, getDialNumber()); + addStringValue(params, ApiParams.VOICE_BRIDGE, getVoiceBridge()); + addIntegerValue(params, ApiParams.MAX_PARTICIPANTS, getMaxParticipants()); + addStringValue(params, ApiParams.LOGOUT_URL, getLogoutURL()); + addBooleanValue(params, ApiParams.RECORD, getRecord()); + addIntegerValue(params, ApiParams.DURATION, getDuration()); + addBooleanValue(params, ApiParams.IS_BREAKOUT, getIsBreakout()); + addIntegerValue(params, ApiParams.SEQUENCE, getSequence()); + addBooleanValue(params, ApiParams.FREE_JOIN, getFreeJoin()); + addBooleanValue(params, ApiParams.BREAKOUT_ROOMS_PRIVATE_CHAT_ENABLED, getBreakoutRoomsPrivateChatEnabled()); + addBooleanValue(params, ApiParams.BREAKOUT_ROOMS_RECORD, getBreakoutRoomsRecord()); + addStringValue(params, ApiParams.MODERATOR_ONLY_MESSAGE, getModeratorOnlyMessage()); + addBooleanValue(params, ApiParams.AUTO_START_RECORDING, getAutoStartRecording()); + addBooleanValue(params, ApiParams.ALLOW_START_STOP_RECORDING, getAllowStartStopRecording()); + addBooleanValue(params, ApiParams.WEBCAMS_ONLY_FOR_MODERATOR, getWebcamsOnlyForModeratorBoolean()); + addStringValue(params, ApiParams.BANNER_TEXT, getBannerText()); + addStringValue(params, ApiParams.BANNER_COLOR, getBannerColor()); + addBooleanValue(params, ApiParams.MUTE_ON_START, getMuteOnStart()); + addBooleanValue(params, ApiParams.ALLOW_MODS_TO_UNMUTE_USERS, getAllowModsToUnmuteUsers()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_DISABLE_CAM, getLockSettingsDisableCam()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_DISABLE_MIC, getLockSettingsDisableMic()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_DISABLE_PRIVATE_CHAT, getLockSettingsDisablePrivateChat()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_DISABLE_PUBLIC_CHAT, getLockSettingsDisablePublicChat()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_DISABLE_NOTES, getLockSettingsDisableNote()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_LOCK_ON_JOIN, getLockSettingsLockOnJoin()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_LOCK_ON_JOIN_CONFIGURABLE, + getLockSettingsLockOnJoinConfigurable()); + addBooleanValue(params, ApiParams.LOCK_SETTINGS_HIDE_VIEWERS_CURSOR, getLockSettingsHideViewersCursor()); + if (getGuestPolicy() != null) { + addStringValue(params, ApiParams.GUEST_POLICY, getGuestPolicy().getName()); + } + addBooleanValue(params, ApiParams.MEETING_KEEP_EVENTS, getMeetingKeepEvents()); + addBooleanValue(params, ApiParams.END_WHEN_NO_MODERATOR, getEndWhenNoModerator()); + addIntegerValue(params, ApiParams.END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES, + getEndWhenNoModeratorDelayInMinutes()); + if (getMeetingLayout() != null) { + addStringValue(params, ApiParams.MEETING_LAYOUT, getMeetingLayout().getName()); + } + addIntegerValue(params, ApiParams.LEARNING_DASHBOARD_CLEANUP_DELAY_IN_MINUTES, + getLearningDashboardCleanupDelayInMinutes()); + addBooleanValue(params, ApiParams.ALLOW_MODS_TO_EJECT_CAMERAS, getAllowModsToEjectCameras()); + addBooleanValue(params, ApiParams.ALLOW_REQUESTS_WITHOUT_SESSION, getAllowRequestsWithoutSession()); + addIntegerValue(params, ApiParams.USER_CAMERA_CAP, getUserCameraCap()); + addIntegerValue(params, ApiParams.MEETING_CAMERA_CAP, getMeetingCameraCap()); + addIntegerValue(params, ApiParams.MEETING_EXPIRE_IF_NO_USER_JOINED_IN_MINUTES, + getMeetingExpireIfNoUserJoinedInMinutes()); + addIntegerValue(params, ApiParams.MEETING_EXPIRE_WHEN_LAST_USER_LEFT_IN_MINUTES, + getMeetingExpireWhenLastUserLeftInMinutes()); + addStringValue(params, ApiParams.LOGO, getLogo()); + addBooleanValue(params, ApiParams.PRE_UPLOAD_PRESENTATION_OVERRIDE_DEFAULT, + getPreUploadedPresentationOverrideDefault()); + addBooleanValue(params, ApiParams.NOTIFY_RECORDING_IS_ON, getNotifyRecordingIsOn()); + addStringValue(params, ApiParams.PRESENTATION_UPLOAD_EXTERNAL_URL, getPresentationUploadExternalUrl()); + addStringValue(params, ApiParams.PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION, + getPresentationUploadExternalDescription()); + // buildMeta + // disabledFeatures + // groups + // pre-uploaded documents + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java index 94f1a2b..f7df041 100644 --- a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java @@ -32,6 +32,9 @@ public abstract class BaseResponse { @Getter protected String message; + @Getter + protected String messageKey; + public Boolean success() { return returnCode.equals(APIReturnCode.SUCCESS.getReturnCode()); } diff --git a/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java b/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java new file mode 100644 index 0000000..5673ace --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java @@ -0,0 +1,60 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +@JsonIgnoreProperties(value = { "attendeePW", "moderatorPW" }) +public class CreateMeetingResponse extends BaseResponse { + @Getter + @JacksonXmlProperty(localName = "meetingID") + private String meetingId; + + @Getter + @JacksonXmlProperty(localName = "internalMeetingID") + private String internalMeetingId; + + @Getter + @JacksonXmlProperty(localName = "parentMeetingID") + private String parnetMeetingId; + + @Getter + private String createTime; + + @Getter + private String voiceBridge; + + @Getter + private String dialNumber; + + @Getter + private String createDate; + + @Getter + private String hasUserJoined; + + @Getter + private String duration; + + @Getter + private String hasBeenForciblyEnded; +} diff --git a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java index 26ec34b..bb64823 100644 --- a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java +++ b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java @@ -20,8 +20,13 @@ import java.net.URI; import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; +import java.util.List; +import org.apache.commons.codec.digest.DigestUtils; +import org.apache.hc.core5.http.NameValuePair; import org.apache.hc.core5.net.URIBuilder; +import org.apache.hc.core5.net.URLEncodedUtils; import org.bigbluebutton.api.ApiMethod; import lombok.Getter; @@ -45,7 +50,18 @@ public URLBuilder(URI uri, String sharedSecret) { this.sharedSecret = sharedSecret; } - public URI buildUrl(ApiMethod apiMethod, String params) throws URISyntaxException { - return new URIBuilder(baseUri + apiPrefix + apiMethod.getName()).build(); + public URI buildUrl(ApiMethod apiMethod) throws URISyntaxException { + return this.buildUrl(apiMethod, null); + } + + public URI buildUrl(ApiMethod apiMethod, List params) throws URISyntaxException { + URIBuilder builder = new URIBuilder(baseUri + apiPrefix + "/" + apiMethod.getName()).addParameters(params); + String checksum = this.calculateChecksum(apiMethod, builder.getQueryParams()); + return builder.addParameter("checksum", checksum).build(); + } + + private String calculateChecksum(ApiMethod apiMethod, List queryParams) { + return DigestUtils.sha1Hex( + apiMethod.getName() + URLEncodedUtils.format(queryParams, StandardCharsets.UTF_8) + this.sharedSecret); } } diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index 32385f8..8d6378f 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -26,18 +26,25 @@ import javax.xml.parsers.ParserConfigurationException; +import org.bigbluebutton.api.parameters.CreateMeetingParameters; import org.bigbluebutton.api.responses.ApiVersionResponse; +import org.bigbluebutton.api.responses.CreateMeetingResponse; +import org.bigbluebutton.api.test.BigBlueButtonTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.xml.sax.SAXException; -public class BigBlueButtonAPITest { +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; + +public class BigBlueButtonAPITest extends BigBlueButtonTestCase { private BigBlueButtonAPI bbbAPI; @BeforeEach public void setUp() { + super.setUp(); bbbAPI = new BigBlueButtonAPI(); } @@ -51,4 +58,14 @@ public void fetchAPIVersion() throws MalformedURLException, IOException, ParserC assertEquals(apiVersion.getVersion(), "2.0"); assertEquals(apiVersion.getBbbVersion(), ""); } + + @Test + @DisplayName("BigBlueButton Create meeting") + public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingException, MalformedURLException, + IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); + CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); + assertEquals(createMeetingResponse.getReturnCode(), "SUCCESS"); + assertEquals(createMeetingResponse.getMeetingId(), createMeetingParms.getMeetingId()); + } } diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java new file mode 100644 index 0000000..a97f991 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -0,0 +1,54 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.test; + +import java.util.HashMap; +import java.util.Map; + +import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.parameters.CreateMeetingParameters; +import org.junit.jupiter.api.BeforeEach; + +import com.github.javafaker.Faker; + +public class BigBlueButtonTestCase { + + private Faker faker; + + @BeforeEach + public void setUp() { + faker = new Faker(); + } + + protected CreateMeetingParameters generateCreateMeetingParams() { + Map mockCreate = mockCreateMeetingParams(); + CreateMeetingParameters createParams = new CreateMeetingParameters((String) mockCreate.get(ApiParams.NAME), + (String) mockCreate.get(ApiParams.MEETING_ID)).setDuration(faker.number().numberBetween(0, 10)) + .setRecord(faker.bool().bool()); + return createParams; + + } + + protected Map mockCreateMeetingParams() { + Map paramsMap = new HashMap<>(); + paramsMap.put(ApiParams.NAME, faker.educator().course()); + paramsMap.put(ApiParams.MEETING_ID, faker.code().isbn10()); + return paramsMap; + } +} From b09ebacb4e49500fbe9e22c5e877df756a0521dc Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Sat, 13 May 2023 15:29:26 +0100 Subject: [PATCH 04/17] Start the implementation of insertDocument, end, getMeetingInfo, isMeetingRunning and join API. --- .../java/org/bigbluebutton/api/ApiParams.java | 129 +++++++++--------- .../bigbluebutton/api/BigBlueButtonAPI.java | 10 +- .../org/bigbluebutton/api/data/Meeting.java | 95 +++++++++++++ .../parameters/CreateMeetingParameters.java | 2 +- .../api/parameters/EndMeetingParameters.java | 46 +++++++ .../parameters/GetMeetingInfoParameters.java | 46 +++++++ .../parameters/InsertDocumentParameters.java | 46 +++++++ .../IsMeetingRunningParameters.java | 46 +++++++ .../api/parameters/JoinMeetingParameters.java | 100 ++++++++++++++ .../api/responses/EndMeetingResponse.java | 22 +++ .../api/responses/GetMeetingInfoResponse.java | 28 ++++ .../api/responses/InsertDocumentResponse.java | 23 ++++ .../responses/IsMeetingRunningResponse.java | 26 ++++ .../api/responses/JoinMeetingResponse.java | 47 +++++++ .../api/BigBlueButtonAPITest.java | 4 +- .../api/test/BigBlueButtonTestCase.java | 4 +- 16 files changed, 603 insertions(+), 71 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/data/Meeting.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/EndMeetingParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/GetMeetingInfoParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/IsMeetingRunningParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/EndMeetingResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/InsertDocumentResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/IsMeetingRunningResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java diff --git a/src/main/java/org/bigbluebutton/api/ApiParams.java b/src/main/java/org/bigbluebutton/api/ApiParams.java index b49f780..825f880 100644 --- a/src/main/java/org/bigbluebutton/api/ApiParams.java +++ b/src/main/java/org/bigbluebutton/api/ApiParams.java @@ -20,74 +20,81 @@ public class ApiParams { - public static final String ALLOW_START_STOP_RECORDING = "allowStartStopRecording"; - public static final String AUTO_START_RECORDING = "autoStartRecording"; - public static final String BANNER_COLOR = "bannerColor"; - public static final String BANNER_TEXT = "bannerText"; - public static final String CHECKSUM = "checksum"; - public static final String COPYRIGHT = "copyright"; - public static final String DIAL_NUMBER = "dialNumber"; - public static final String DURATION = "duration"; - public static final String FREE_JOIN = "freeJoin"; - public static final String FULL_NAME = "fullName"; - public static final String GUEST_POLICY = "guestPolicy"; - public static final String MEETING_LAYOUT = "meetingLayout"; - public static final String IS_BREAKOUT = "isBreakout"; - public static final String LOGO = "logo"; - public static final String LOGOUT_TIMER = "logoutTimer"; - public static final String LOGOUT_URL = "logoutURL"; - public static final String MAX_PARTICIPANTS = "maxParticipants"; - public static final String MEETING_ID = "meetingID"; - public static final String META = "meta"; - public static final String MODERATOR_ONLY_MESSAGE = "moderatorOnlyMessage"; - public static final String MUTE_ON_START = "muteOnStart"; - public static final String MEETING_KEEP_EVENTS = "meetingKeepEvents"; - public static final String ALLOW_MODS_TO_UNMUTE_USERS = "allowModsToUnmuteUsers"; - public static final String ALLOW_REQUESTS_WITHOUT_SESSION = "allowRequestsWithoutSession"; - public static final String ALLOW_MODS_TO_EJECT_CAMERAS = "allowModsToEjectCameras"; - public static final String NAME = "name"; - public static final String PARENT_MEETING_ID = "parentMeetingID"; - public static final String RECORD = "record"; - public static final String RECORD_ID = "recordID"; - public static final String REDIRECT = "redirect"; - public static final String SEQUENCE = "sequence"; - public static final String VOICE_BRIDGE = "voiceBridge"; - public static final String WEB_VOICE = "webVoice"; - public static final String LEARNING_DASHBOARD_CLEANUP_DELAY_IN_MINUTES = "learningDashboardCleanupDelayInMinutes"; - public static final String WEBCAMS_ONLY_FOR_MODERATOR = "webcamsOnlyForModerator"; - public static final String MEETING_CAMERA_CAP = "meetingCameraCap"; - public static final String USER_CAMERA_CAP = "userCameraCap"; - public static final String MAX_PINNED_CAMERAS = "maxPinnedCameras"; - public static final String MEETING_EXPIRE_IF_NO_USER_JOINED_IN_MINUTES = "meetingExpireIfNoUserJoinedInMinutes"; + public static final String ALLOW_START_STOP_RECORDING = "allowStartStopRecording"; + public static final String AUTO_START_RECORDING = "autoStartRecording"; + public static final String BANNER_COLOR = "bannerColor"; + public static final String BANNER_TEXT = "bannerText"; + public static final String CHECKSUM = "checksum"; + public static final String COPYRIGHT = "copyright"; + public static final String CREATE_TIME = "createTime"; + public static final String DIAL_NUMBER = "dialNumber"; + public static final String DURATION = "duration"; + public static final String FREE_JOIN = "freeJoin"; + public static final String FULL_NAME = "fullName"; + public static final String GUEST_POLICY = "guestPolicy"; + public static final String MEETING_LAYOUT = "meetingLayout"; + public static final String DEFAULT_LAYOUT = "defaultLayout"; + public static final String IS_BREAKOUT = "isBreakout"; + public static final String LOGO = "logo"; + public static final String LOGOUT_TIMER = "logoutTimer"; + public static final String LOGOUT_URL = "logoutURL"; + public static final String MAX_PARTICIPANTS = "maxParticipants"; + public static final String MEETING_ID = "meetingID"; + public static final String META = "meta"; + public static final String MODERATOR_ONLY_MESSAGE = "moderatorOnlyMessage"; + public static final String MUTE_ON_START = "muteOnStart"; + public static final String MEETING_KEEP_EVENTS = "meetingKeepEvents"; + public static final String ALLOW_MODS_TO_UNMUTE_USERS = "allowModsToUnmuteUsers"; + public static final String ALLOW_REQUESTS_WITHOUT_SESSION = "allowRequestsWithoutSession"; + public static final String ALLOW_MODS_TO_EJECT_CAMERAS = "allowModsToEjectCameras"; + public static final String NAME = "name"; + public static final String PARENT_MEETING_ID = "parentMeetingID"; + public static final String RECORD = "record"; + public static final String RECORD_ID = "recordID"; + public static final String REDIRECT = "redirect"; + public static final String GUEST = "guest"; + public static final String EXCLUDE_FROM_DASHBOARD = "excludeFromDashboard"; + public static final String SEQUENCE = "sequence"; + public static final String VOICE_BRIDGE = "voiceBridge"; + public static final String WEB_VOICE = "webVoice"; + public static final String LEARNING_DASHBOARD_CLEANUP_DELAY_IN_MINUTES = "learningDashboardCleanupDelayInMinutes"; + public static final String WEBCAMS_ONLY_FOR_MODERATOR = "webcamsOnlyForModerator"; + public static final String MEETING_CAMERA_CAP = "meetingCameraCap"; + public static final String USER_CAMERA_CAP = "userCameraCap"; + public static final String MAX_PINNED_CAMERAS = "maxPinnedCameras"; + public static final String MEETING_EXPIRE_IF_NO_USER_JOINED_IN_MINUTES = "meetingExpireIfNoUserJoinedInMinutes"; public static final String MEETING_EXPIRE_WHEN_LAST_USER_LEFT_IN_MINUTES = "meetingExpireWhenLastUserLeftInMinutes"; - public static final String WELCOME = "welcome"; - public static final String HTML5_INSTANCE_ID = "html5InstanceId"; - public static final String ROLE = "role"; - public static final String GROUPS = "groups"; - public static final String DISABLED_FEATURES = "disabledFeatures"; - public static final String NOTIFY_RECORDING_IS_ON = "notifyRecordingIsOn"; + public static final String WEB_VOICE_CONF = "webVoiceConf"; + public static final String USER_ID = "userID"; + public static final String WELCOME = "welcome"; + public static final String HTML5_INSTANCE_ID = "html5InstanceId"; + public static final String AVATAR_URL = "avatarURL"; + public static final String ROLE = "role"; + public static final String GROUPS = "groups"; + public static final String DISABLED_FEATURES = "disabledFeatures"; + public static final String NOTIFY_RECORDING_IS_ON = "notifyRecordingIsOn"; public static final String PRE_UPLOAD_PRESENTATION_OVERRIDE_DEFAULT = "preUploadedPresentationOverrideDefault"; public static final String PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION = "presentationUploadExternalDescription"; - public static final String PRESENTATION_UPLOAD_EXTERNAL_URL = "presentationUploadExternalUrl"; + public static final String PRESENTATION_UPLOAD_EXTERNAL_URL = "presentationUploadExternalUrl"; - public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES = "breakoutRoomsCaptureSlides"; - public static final String BREAKOUT_ROOMS_CAPTURE_NOTES = "breakoutRoomsCaptureNotes"; + public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES = "breakoutRoomsCaptureSlides"; + public static final String BREAKOUT_ROOMS_CAPTURE_NOTES = "breakoutRoomsCaptureNotes"; public static final String BREAKOUT_ROOMS_CAPTURE_SLIDES_FILENAME = "breakoutRoomsCaptureSlidesFilename"; - public static final String BREAKOUT_ROOMS_CAPTURE_NOTES_FILENAME = "breakoutRoomsCaptureNotesFilename"; - public static final String BREAKOUT_ROOMS_RECORD = "breakoutRoomsRecord"; - public static final String BREAKOUT_ROOMS_PRIVATE_CHAT_ENABLED = "breakoutRoomsPrivateChatEnabled"; + public static final String BREAKOUT_ROOMS_CAPTURE_NOTES_FILENAME = "breakoutRoomsCaptureNotesFilename"; + public static final String BREAKOUT_ROOMS_RECORD = "breakoutRoomsRecord"; + public static final String BREAKOUT_ROOMS_PRIVATE_CHAT_ENABLED = "breakoutRoomsPrivateChatEnabled"; - public static final String LOCK_SETTINGS_DISABLE_CAM = "lockSettingsDisableCam"; - public static final String LOCK_SETTINGS_DISABLE_MIC = "lockSettingsDisableMic"; - public static final String LOCK_SETTINGS_DISABLE_PRIVATE_CHAT = "lockSettingsDisablePrivateChat"; - public static final String LOCK_SETTINGS_DISABLE_PUBLIC_CHAT = "lockSettingsDisablePublicChat"; - public static final String DEPRECATED_LOCK_SETTINGS_DISABLE_NOTES = "lockSettingsDisableNote"; - public static final String LOCK_SETTINGS_DISABLE_NOTES = "lockSettingsDisableNotes"; - public static final String LOCK_SETTINGS_HIDE_USER_LIST = "lockSettingsHideUserList"; - public static final String LOCK_SETTINGS_LOCK_ON_JOIN = "lockSettingsLockOnJoin"; + public static final String LOCK_SETTINGS_DISABLE_CAM = "lockSettingsDisableCam"; + public static final String LOCK_SETTINGS_DISABLE_MIC = "lockSettingsDisableMic"; + public static final String LOCK_SETTINGS_DISABLE_PRIVATE_CHAT = "lockSettingsDisablePrivateChat"; + public static final String LOCK_SETTINGS_DISABLE_PUBLIC_CHAT = "lockSettingsDisablePublicChat"; + public static final String DEPRECATED_LOCK_SETTINGS_DISABLE_NOTES = "lockSettingsDisableNote"; + public static final String LOCK_SETTINGS_DISABLE_NOTES = "lockSettingsDisableNotes"; + public static final String LOCK_SETTINGS_HIDE_USER_LIST = "lockSettingsHideUserList"; + public static final String LOCK_SETTINGS_LOCK_ON_JOIN = "lockSettingsLockOnJoin"; public static final String LOCK_SETTINGS_LOCK_ON_JOIN_CONFIGURABLE = "lockSettingsLockOnJoinConfigurable"; - public static final String LOCK_SETTINGS_HIDE_VIEWERS_CURSOR = "lockSettingsHideViewersCursor"; + public static final String LOCK_SETTINGS_HIDE_VIEWERS_CURSOR = "lockSettingsHideViewersCursor"; // New param passed on create call to callback when meeting ends. // This is a duplicate of the endCallbackUrl meta param as we want this @@ -99,7 +106,7 @@ public class ApiParams { // Needed for classes where teacher gets disconnected and can't get back in. // Prevents // students from running amok. - public static final String END_WHEN_NO_MODERATOR = "endWhenNoModerator"; + public static final String END_WHEN_NO_MODERATOR = "endWhenNoModerator"; public static final String END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES = "endWhenNoModeratorDelayInMinutes"; private ApiParams() { diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index e7ed44e..d2b9606 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -66,9 +66,9 @@ public BigBlueButtonAPI() { public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.baseServerURL = baseUrl; - this.securitySalt = securitySalt; - this.xmlMapper = new XmlMapper(); - this.urlBuilder = new URLBuilder(baseUrl, securitySalt); + this.securitySalt = securitySalt; + this.xmlMapper = new XmlMapper(); + this.urlBuilder = new URLBuilder(baseUrl, securitySalt); } public URI getApiVersionURL() throws URISyntaxException { @@ -100,8 +100,8 @@ protected String sendRequest(URI uri) throws MalformedURLException, IOException, protected String sendRequest(URI uri, String payload, String contentType) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException { // Open a connection to the API endpoint - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpGet httpGet = new HttpGet(uri); + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpGet httpGet = new HttpGet(uri); ApiResponseHandler apiResponseHandler = new ApiResponseHandler(); return httpClient.execute(httpGet, apiResponseHandler); } diff --git a/src/main/java/org/bigbluebutton/api/data/Meeting.java b/src/main/java/org/bigbluebutton/api/data/Meeting.java new file mode 100644 index 0000000..acf97ed --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Meeting.java @@ -0,0 +1,95 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +@JsonIgnoreProperties(value = { "attendeePW", "moderatorPW" }) +public class Meeting { + @Getter + private String meetingName; + + @Getter + @JacksonXmlProperty(localName = "meetingID") + private String meetingId; + + @Getter + @JacksonXmlProperty(localName = "internalMeetingID") + private String internalMeetingId; + + @Getter + private Long createTime; + + @Getter + private String createDate; + + @Getter + private String voiceBridge; + + @Getter + private String dialNumber; + + @Getter + private Boolean running; + + @Getter + private Integer duration; + + @Getter + private Boolean hasUserJoined; + + @Getter + private Boolean recording; + + @Getter + private Boolean hasBeenForciblyEnded; + + @Getter + private Integer startTime; + + @Getter + private Integer endTime; + + @Getter + private Integer participantCount; + + @Getter + private Integer listenerCount; + + @Getter + private Integer voiceParticipantCount; + + @Getter + private Integer videoCount; + + @Getter + private Integer maxUsers; + + @Getter + private Integer moderatorCount; + + // Attendees + // Metadata + + @Getter + private Boolean isBreakout; +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 636d578..20bbeb6 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -220,7 +220,7 @@ public class CreateMeetingParameters extends BaseParameters { protected String presentationUploadExternalDescription; public CreateMeetingParameters(String name, String meetingId) { - this.name = name; + this.name = name; this.meetingId = meetingId; } diff --git a/src/main/java/org/bigbluebutton/api/parameters/EndMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/EndMeetingParameters.java new file mode 100644 index 0000000..b46f4d8 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/EndMeetingParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class EndMeetingParameters extends BaseParameters { + + @Getter + protected String meetingId; + + public EndMeetingParameters(String meetingId) { + this.meetingId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetMeetingInfoParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetMeetingInfoParameters.java new file mode 100644 index 0000000..1a22547 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/GetMeetingInfoParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class GetMeetingInfoParameters extends BaseParameters { + + @Getter + protected String meetingId; + + public GetMeetingInfoParameters(String meetingId) { + this.meetingId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java b/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java new file mode 100644 index 0000000..2a8e80e --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class InsertDocumentParameters extends BaseParameters { + + @Getter + protected String meetingId; + + public InsertDocumentParameters(String meetingId) { + this.meetingId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/IsMeetingRunningParameters.java b/src/main/java/org/bigbluebutton/api/parameters/IsMeetingRunningParameters.java new file mode 100644 index 0000000..5d206b3 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/IsMeetingRunningParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class IsMeetingRunningParameters extends BaseParameters { + + @Getter + protected String meetingId; + + public IsMeetingRunningParameters(String meetingId) { + this.meetingId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java new file mode 100644 index 0000000..d2267a0 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java @@ -0,0 +1,100 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.enums.MeetingLayout; +import org.bigbluebutton.api.enums.Role; + +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class JoinMeetingParameters extends BaseParameters { + + @Getter + protected String fullName; + + @Getter + protected String meetingId; + + @Getter + protected Role role; + + @Getter + @Setter + protected String createTime; + + @Getter + @Setter + protected String userId; + + @Getter + @Setter + protected String webVoiceConf; + + @Getter + @Setter + protected MeetingLayout defaultLayout; + + @Getter + @Setter + protected String avatarURL; + + @Getter + @Setter + protected Boolean redirect; + + @Getter + @Setter + protected Boolean guest; + + @Getter + @Setter + protected Boolean excludeFromDashboard; + + public JoinMeetingParameters(String fullName, String meetingId, Role role) { + this.fullName = fullName; + this.meetingId = meetingId; + this.role = role; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.FULL_NAME, getFullName()); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + addStringValue(params, ApiParams.ROLE, getRole().getName()); + addStringValue(params, ApiParams.CREATE_TIME, getCreateTime()); + addStringValue(params, ApiParams.WEB_VOICE_CONF, getWebVoiceConf()); + if (getDefaultLayout() != null) { + addStringValue(params, ApiParams.DEFAULT_LAYOUT, getDefaultLayout().getName()); + } + addStringValue(params, ApiParams.AVATAR_URL, getAvatarURL()); + addBooleanValue(params, ApiParams.REDIRECT, getRedirect()); + addBooleanValue(params, ApiParams.EXCLUDE_FROM_DASHBOARD, getExcludeFromDashboard()); + // buildMeta + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/EndMeetingResponse.java b/src/main/java/org/bigbluebutton/api/responses/EndMeetingResponse.java new file mode 100644 index 0000000..1e565d7 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/EndMeetingResponse.java @@ -0,0 +1,22 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class EndMeetingResponse extends BaseResponse { +} diff --git a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java new file mode 100644 index 0000000..7d07d56 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java @@ -0,0 +1,28 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import org.bigbluebutton.api.data.Meeting; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +public class GetMeetingInfoResponse extends BaseResponse { + @JacksonXmlProperty(localName = "response") + private Meeting meeting; +} diff --git a/src/main/java/org/bigbluebutton/api/responses/InsertDocumentResponse.java b/src/main/java/org/bigbluebutton/api/responses/InsertDocumentResponse.java new file mode 100644 index 0000000..8f81d7a --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/InsertDocumentResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class InsertDocumentResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/IsMeetingRunningResponse.java b/src/main/java/org/bigbluebutton/api/responses/IsMeetingRunningResponse.java new file mode 100644 index 0000000..7876e27 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/IsMeetingRunningResponse.java @@ -0,0 +1,26 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import lombok.Getter; + +public class IsMeetingRunningResponse extends BaseResponse { + @Getter + protected Boolean running; +} diff --git a/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java b/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java new file mode 100644 index 0000000..7cdad31 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java @@ -0,0 +1,47 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +public class JoinMeetingResponse extends BaseResponse { + @Getter + @JacksonXmlProperty(localName = "meeting_id") + private String meetingId; + + @Getter + @JacksonXmlProperty(localName = "meeting_id") + private String userId; + + @Getter + @JacksonXmlProperty(localName = "auth_token") + private String authToken; + + @Getter + @JacksonXmlProperty(localName = "session_token") + private String sessionToken; + + @Getter + private String guestStatus; + + @Getter + private String url; +} diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index 8d6378f..d842c2e 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -63,8 +63,8 @@ public void fetchAPIVersion() throws MalformedURLException, IOException, ParserC @DisplayName("BigBlueButton Create meeting") public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); - CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); + CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); + CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); assertEquals(createMeetingResponse.getReturnCode(), "SUCCESS"); assertEquals(createMeetingResponse.getMeetingId(), createMeetingParms.getMeetingId()); } diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java index a97f991..7418a74 100644 --- a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -37,10 +37,10 @@ public void setUp() { } protected CreateMeetingParameters generateCreateMeetingParams() { - Map mockCreate = mockCreateMeetingParams(); + Map mockCreate = mockCreateMeetingParams(); CreateMeetingParameters createParams = new CreateMeetingParameters((String) mockCreate.get(ApiParams.NAME), (String) mockCreate.get(ApiParams.MEETING_ID)).setDuration(faker.number().numberBetween(0, 10)) - .setRecord(faker.bool().bool()); + .setRecord(faker.bool().bool()); return createParams; } From df6e3520b895f0641a7a57311b2e55924276b0fa Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Sat, 13 May 2023 16:57:21 +0100 Subject: [PATCH 05/17] Implemente end meeting API and improve unit testing logging. --- pom.xml | 22 +++---- .../bigbluebutton/api/BigBlueButtonAPI.java | 35 ++++++++--- .../parameters/CreateMeetingParameters.java | 2 +- .../api/parameters/JoinMeetingParameters.java | 4 +- .../bigbluebutton/api/util/URLBuilder.java | 6 +- src/main/resources/logback-test.xml | 18 ++++++ .../org/bigbluebutton/api/ApiMethodTest.java | 3 +- .../api/BigBlueButtonAPITest.java | 14 ++++- .../bigbluebutton/api/enums/FeatureTest.java | 3 +- .../api/enums/GuestPolicyTest.java | 3 +- .../api/enums/MeetingLayoutTest.java | 3 +- .../org/bigbluebutton/api/enums/RoleTest.java | 3 +- .../api/logging/MemoryAppender.java | 60 +++++++++++++++++++ .../api/responses/APIReturnCodeTest.java | 3 +- .../bigbluebutton/api/test/BaseTestCase.java | 42 +++++++++++++ .../api/test/BigBlueButtonTestCase.java | 17 +++++- 16 files changed, 206 insertions(+), 32 deletions(-) create mode 100644 src/main/resources/logback-test.xml create mode 100644 src/test/java/org/bigbluebutton/api/logging/MemoryAppender.java create mode 100644 src/test/java/org/bigbluebutton/api/test/BaseTestCase.java diff --git a/pom.xml b/pom.xml index b05624c..74e467e 100644 --- a/pom.xml +++ b/pom.xml @@ -34,16 +34,6 @@ httpclient5 5.2.1 - - org.slf4j - slf4j-api - ${slf4j.version} - - - org.slf4j - slf4j-simple - ${slf4j.version} - com.fasterxml.jackson.core jackson-core @@ -66,6 +56,18 @@ 1.0.2 test + + org.slf4j + slf4j-api + ${slf4j.version} + test + + + ch.qos.logback + logback-classic + 1.4.7 + test + diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index d2b9606..544e657 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -31,8 +31,10 @@ import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; import org.bigbluebutton.api.handlers.ApiResponseHandler; import org.bigbluebutton.api.parameters.CreateMeetingParameters; +import org.bigbluebutton.api.parameters.EndMeetingParameters; import org.bigbluebutton.api.responses.ApiVersionResponse; import org.bigbluebutton.api.responses.CreateMeetingResponse; +import org.bigbluebutton.api.responses.EndMeetingResponse; import org.bigbluebutton.api.util.URLBuilder; import org.xml.sax.SAXException; @@ -66,9 +68,9 @@ public BigBlueButtonAPI() { public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.baseServerURL = baseUrl; - this.securitySalt = securitySalt; - this.xmlMapper = new XmlMapper(); - this.urlBuilder = new URLBuilder(baseUrl, securitySalt); + this.securitySalt = securitySalt; + this.xmlMapper = new XmlMapper(); + this.urlBuilder = new URLBuilder(baseUrl, securitySalt); } public URI getApiVersionURL() throws URISyntaxException { @@ -80,7 +82,7 @@ public ApiVersionResponse getAPIVersion() throws MalformedURLException, IOExcept return xmlMapper.readValue(this.sendRequest(getApiVersionURL()), ApiVersionResponse.class); } - public URI getcreateMeetingURL(CreateMeetingParameters createMeetingParams) + public URI getCreateMeetingURL(CreateMeetingParameters createMeetingParams) throws URISyntaxException, UnsupportedEncodingException { return urlBuilder.buildUrl(ApiMethod.CREATE, createMeetingParams.getQueryParms()); } @@ -88,8 +90,25 @@ public URI getcreateMeetingURL(CreateMeetingParameters createMeetingParams) public CreateMeetingResponse createMeeting(CreateMeetingParameters createMeetingParams) throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - return xmlMapper.readValue(this.sendRequest(getcreateMeetingURL(createMeetingParams)), - CreateMeetingResponse.class); + return sendApiRequest(getCreateMeetingURL(createMeetingParams), CreateMeetingResponse.class); + + } + + public URI getEndMeetingURL(EndMeetingParameters endMeetingParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.END, endMeetingParams.getQueryParms()); + } + + public EndMeetingResponse endMeeting(EndMeetingParameters endMeetingParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getEndMeetingURL(endMeetingParams), EndMeetingResponse.class); + } + + public T sendApiRequest(URI uri, Class responseType) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return xmlMapper.readValue(this.sendRequest(uri), responseType); } protected String sendRequest(URI uri) throws MalformedURLException, IOException, ParserConfigurationException, @@ -100,8 +119,8 @@ protected String sendRequest(URI uri) throws MalformedURLException, IOException, protected String sendRequest(URI uri, String payload, String contentType) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException { // Open a connection to the API endpoint - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpGet httpGet = new HttpGet(uri); + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpGet httpGet = new HttpGet(uri); ApiResponseHandler apiResponseHandler = new ApiResponseHandler(); return httpClient.execute(httpGet, apiResponseHandler); } diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 20bbeb6..636d578 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -220,7 +220,7 @@ public class CreateMeetingParameters extends BaseParameters { protected String presentationUploadExternalDescription; public CreateMeetingParameters(String name, String meetingId) { - this.name = name; + this.name = name; this.meetingId = meetingId; } diff --git a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java index d2267a0..930eb81 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java @@ -76,9 +76,9 @@ public class JoinMeetingParameters extends BaseParameters { protected Boolean excludeFromDashboard; public JoinMeetingParameters(String fullName, String meetingId, Role role) { - this.fullName = fullName; + this.fullName = fullName; this.meetingId = meetingId; - this.role = role; + this.role = role; } public List getQueryParms() throws UnsupportedEncodingException { diff --git a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java index bb64823..306abf8 100644 --- a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java +++ b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java @@ -46,7 +46,7 @@ public URLBuilder(String uri, String sharedSecret) { } public URLBuilder(URI uri, String sharedSecret) { - this.baseUri = uri; + this.baseUri = uri; this.sharedSecret = sharedSecret; } @@ -55,8 +55,8 @@ public URI buildUrl(ApiMethod apiMethod) throws URISyntaxException { } public URI buildUrl(ApiMethod apiMethod, List params) throws URISyntaxException { - URIBuilder builder = new URIBuilder(baseUri + apiPrefix + "/" + apiMethod.getName()).addParameters(params); - String checksum = this.calculateChecksum(apiMethod, builder.getQueryParams()); + URIBuilder builder = new URIBuilder(baseUri + apiPrefix + "/" + apiMethod.getName()).addParameters(params); + String checksum = this.calculateChecksum(apiMethod, builder.getQueryParams()); return builder.addParameter("checksum", checksum).build(); } diff --git a/src/main/resources/logback-test.xml b/src/main/resources/logback-test.xml new file mode 100644 index 0000000..96f024d --- /dev/null +++ b/src/main/resources/logback-test.xml @@ -0,0 +1,18 @@ + + + + + + + %d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n + + + + + + + + + diff --git a/src/test/java/org/bigbluebutton/api/ApiMethodTest.java b/src/test/java/org/bigbluebutton/api/ApiMethodTest.java index 7110ecb..cdf0124 100644 --- a/src/test/java/org/bigbluebutton/api/ApiMethodTest.java +++ b/src/test/java/org/bigbluebutton/api/ApiMethodTest.java @@ -20,10 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -public class ApiMethodTest { +public class ApiMethodTest extends BaseTestCase { @Test @DisplayName("Test API method names") diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index d842c2e..328e76a 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -27,8 +27,11 @@ import javax.xml.parsers.ParserConfigurationException; import org.bigbluebutton.api.parameters.CreateMeetingParameters; +import org.bigbluebutton.api.parameters.EndMeetingParameters; +import org.bigbluebutton.api.responses.APIReturnCode; import org.bigbluebutton.api.responses.ApiVersionResponse; import org.bigbluebutton.api.responses.CreateMeetingResponse; +import org.bigbluebutton.api.responses.EndMeetingResponse; import org.bigbluebutton.api.test.BigBlueButtonTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -65,7 +68,16 @@ public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingExc IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); - assertEquals(createMeetingResponse.getReturnCode(), "SUCCESS"); + assertEquals(createMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); assertEquals(createMeetingResponse.getMeetingId(), createMeetingParms.getMeetingId()); } + + @Test + @DisplayName("BigBlueButton end non existing meeting") + public void shouldNotFindMeetingToEnd() throws JsonMappingException, JsonProcessingException, MalformedURLException, + IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + EndMeetingParameters endMeetingParms = generateEndMeetingParams(); + EndMeetingResponse endMeetingResponse = bbbAPI.endMeeting(endMeetingParms); + assertEquals(endMeetingResponse.getReturnCode(), APIReturnCode.FAILED.getReturnCode()); + } } diff --git a/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java b/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java index 7f04550..6c510f3 100644 --- a/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java +++ b/src/test/java/org/bigbluebutton/api/enums/FeatureTest.java @@ -20,10 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -public class FeatureTest { +public class FeatureTest extends BaseTestCase { @Test @DisplayName("Test feature names") diff --git a/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java b/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java index ca40af8..39f87ab 100644 --- a/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java +++ b/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java @@ -20,10 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -public class GuestPolicyTest { +public class GuestPolicyTest extends BaseTestCase { @Test @DisplayName("Test guest policy names") diff --git a/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java b/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java index 39afe1e..8497da8 100644 --- a/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java +++ b/src/test/java/org/bigbluebutton/api/enums/MeetingLayoutTest.java @@ -20,10 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -public class MeetingLayoutTest { +public class MeetingLayoutTest extends BaseTestCase { @Test @DisplayName("Test meeting layout names") diff --git a/src/test/java/org/bigbluebutton/api/enums/RoleTest.java b/src/test/java/org/bigbluebutton/api/enums/RoleTest.java index eb5f289..853691c 100644 --- a/src/test/java/org/bigbluebutton/api/enums/RoleTest.java +++ b/src/test/java/org/bigbluebutton/api/enums/RoleTest.java @@ -20,10 +20,11 @@ import static org.junit.jupiter.api.Assertions.assertEquals; +import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -public class RoleTest { +public class RoleTest extends BaseTestCase { @Test @DisplayName("Test role names") diff --git a/src/test/java/org/bigbluebutton/api/logging/MemoryAppender.java b/src/test/java/org/bigbluebutton/api/logging/MemoryAppender.java new file mode 100644 index 0000000..75b2ebd --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/logging/MemoryAppender.java @@ -0,0 +1,60 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.logging; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import org.slf4j.event.Level; + +import ch.qos.logback.classic.spi.ILoggingEvent; +import ch.qos.logback.core.read.ListAppender; + +public class MemoryAppender extends ListAppender { + public void reset() { + this.list.clear(); + } + + public boolean contains(String string, Level level) { + return this.list.stream() + .anyMatch(event -> event.toString().contains(string) && event.getLevel().equals(level)); + } + + public int countEventsForLogger(String loggerName) { + return (int) this.list.stream().filter(event -> event.getLoggerName().contains(loggerName)).count(); + } + + public List search(String string) { + return this.list.stream().filter(event -> event.toString().contains(string)).collect(Collectors.toList()); + } + + public List search(String string, Level level) { + return this.list.stream().filter(event -> event.toString().contains(string) && event.getLevel().equals(level)) + .collect(Collectors.toList()); + } + + public int getSize() { + return this.list.size(); + } + + public List getLoggedEvents() { + return Collections.unmodifiableList(this.list); + } +} \ No newline at end of file diff --git a/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java b/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java index bf28b06..4728d15 100644 --- a/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java @@ -20,10 +20,11 @@ import static org.junit.jupiter.api.Assertions.*; +import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -class APIReturnCodeTest { +class APIReturnCodeTest extends BaseTestCase { @Test @DisplayName("Failed API return code") diff --git a/src/test/java/org/bigbluebutton/api/test/BaseTestCase.java b/src/test/java/org/bigbluebutton/api/test/BaseTestCase.java new file mode 100644 index 0000000..406e403 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/test/BaseTestCase.java @@ -0,0 +1,42 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.test; + +import org.bigbluebutton.api.logging.MemoryAppender; +import org.junit.jupiter.api.BeforeEach; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.slf4j.event.Level; + +import ch.qos.logback.classic.LoggerContext; + +public abstract class BaseTestCase { + + private MemoryAppender memoryAppender; + + @BeforeEach + public void setUp() { + Logger logger = (Logger) LoggerFactory.getLogger(this.getClass()); + memoryAppender = new MemoryAppender(); + memoryAppender.setContext((LoggerContext) LoggerFactory.getILoggerFactory()); + logger.atLevel(Level.DEBUG); + memoryAppender.start(); + } + +} diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java index 7418a74..37f04d8 100644 --- a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -23,16 +23,18 @@ import org.bigbluebutton.api.ApiParams; import org.bigbluebutton.api.parameters.CreateMeetingParameters; +import org.bigbluebutton.api.parameters.EndMeetingParameters; import org.junit.jupiter.api.BeforeEach; import com.github.javafaker.Faker; -public class BigBlueButtonTestCase { +public class BigBlueButtonTestCase extends BaseTestCase { private Faker faker; @BeforeEach public void setUp() { + super.setUp(); faker = new Faker(); } @@ -45,10 +47,23 @@ protected CreateMeetingParameters generateCreateMeetingParams() { } + protected EndMeetingParameters generateEndMeetingParams() { + Map mockEnd = mockEndMeetingParams(); + EndMeetingParameters endParams = new EndMeetingParameters((String) mockEnd.get(ApiParams.MEETING_ID)); + return endParams; + + } + protected Map mockCreateMeetingParams() { Map paramsMap = new HashMap<>(); paramsMap.put(ApiParams.NAME, faker.educator().course()); paramsMap.put(ApiParams.MEETING_ID, faker.code().isbn10()); return paramsMap; } + + protected Map mockEndMeetingParams() { + Map paramsMap = new HashMap<>(); + paramsMap.put(ApiParams.MEETING_ID, faker.code().isbn10()); + return paramsMap; + } } From 6bb099e64751e93f5792ef6efdd751cbfbc62058 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Sat, 13 May 2023 18:29:38 +0100 Subject: [PATCH 06/17] Implement more unit test by loading XML responses fixtures. --- pom.xml | 3 +- .../bigbluebutton/api/BigBlueButtonAPI.java | 10 ++-- .../parameters/CreateMeetingParameters.java | 2 +- .../api/parameters/JoinMeetingParameters.java | 4 +- .../api/responses/ApiVersionResponse.java | 2 + .../api/responses/JoinMeetingResponse.java | 6 ++- .../bigbluebutton/api/util/URLBuilder.java | 6 +-- .../api/BigBlueButtonAPITest.java | 8 +-- .../api/responses/APIReturnCodeTest.java | 2 +- .../api/responses/ApiVersionResponseTest.java | 32 ++++++++++++ .../api/responses/EndMeetingResponseTest.java | 38 ++++++++++++++ .../IsMeetingRunningResponseTest.java | 52 +++++++++++++++++++ .../responses/JoineMeetingResponseTest.java | 40 ++++++++++++++ .../api/test/BigBlueButtonTestCase.java | 6 +-- .../api/test/ResponseTestCase.java | 48 +++++++++++++++++ src/test/resources/fixtures/api_version.xml | 6 +++ src/test/resources/fixtures/end_meeting.xml | 7 +++ .../resources/fixtures/is_meeting_running.xml | 4 ++ src/test/resources/fixtures/join_meeting.xml | 11 ++++ src/{main => test}/resources/logback-test.xml | 0 20 files changed, 265 insertions(+), 22 deletions(-) create mode 100644 src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java create mode 100644 src/test/resources/fixtures/api_version.xml create mode 100644 src/test/resources/fixtures/end_meeting.xml create mode 100644 src/test/resources/fixtures/is_meeting_running.xml create mode 100644 src/test/resources/fixtures/join_meeting.xml rename src/{main => test}/resources/logback-test.xml (100%) diff --git a/pom.xml b/pom.xml index 74e467e..c3f8b13 100644 --- a/pom.xml +++ b/pom.xml @@ -72,6 +72,7 @@ src/main/java + src/test/java maven-clean-plugin @@ -146,7 +147,7 @@ - validate + diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 544e657..993d5df 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -68,9 +68,9 @@ public BigBlueButtonAPI() { public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.baseServerURL = baseUrl; - this.securitySalt = securitySalt; - this.xmlMapper = new XmlMapper(); - this.urlBuilder = new URLBuilder(baseUrl, securitySalt); + this.securitySalt = securitySalt; + this.xmlMapper = new XmlMapper(); + this.urlBuilder = new URLBuilder(baseUrl, securitySalt); } public URI getApiVersionURL() throws URISyntaxException { @@ -119,8 +119,8 @@ protected String sendRequest(URI uri) throws MalformedURLException, IOException, protected String sendRequest(URI uri, String payload, String contentType) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException { // Open a connection to the API endpoint - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpGet httpGet = new HttpGet(uri); + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpGet httpGet = new HttpGet(uri); ApiResponseHandler apiResponseHandler = new ApiResponseHandler(); return httpClient.execute(httpGet, apiResponseHandler); } diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 636d578..20bbeb6 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -220,7 +220,7 @@ public class CreateMeetingParameters extends BaseParameters { protected String presentationUploadExternalDescription; public CreateMeetingParameters(String name, String meetingId) { - this.name = name; + this.name = name; this.meetingId = meetingId; } diff --git a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java index 930eb81..d2267a0 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java @@ -76,9 +76,9 @@ public class JoinMeetingParameters extends BaseParameters { protected Boolean excludeFromDashboard; public JoinMeetingParameters(String fullName, String meetingId, Role role) { - this.fullName = fullName; + this.fullName = fullName; this.meetingId = meetingId; - this.role = role; + this.role = role; } public List getQueryParms() throws UnsupportedEncodingException { diff --git a/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java b/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java index aa1cc3d..c6721ee 100644 --- a/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/ApiVersionResponse.java @@ -25,9 +25,11 @@ public class ApiVersionResponse extends BaseResponse { @Getter @Setter private String version; + @Getter @Setter private String apiVersion; + @Getter @Setter private String bbbVersion; diff --git a/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java b/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java index 7cdad31..182e3f2 100644 --- a/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java @@ -18,6 +18,8 @@ package org.bigbluebutton.api.responses; +import java.net.URI; + import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; @@ -28,7 +30,7 @@ public class JoinMeetingResponse extends BaseResponse { private String meetingId; @Getter - @JacksonXmlProperty(localName = "meeting_id") + @JacksonXmlProperty(localName = "user_id") private String userId; @Getter @@ -43,5 +45,5 @@ public class JoinMeetingResponse extends BaseResponse { private String guestStatus; @Getter - private String url; + private URI url; } diff --git a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java index 306abf8..bb64823 100644 --- a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java +++ b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java @@ -46,7 +46,7 @@ public URLBuilder(String uri, String sharedSecret) { } public URLBuilder(URI uri, String sharedSecret) { - this.baseUri = uri; + this.baseUri = uri; this.sharedSecret = sharedSecret; } @@ -55,8 +55,8 @@ public URI buildUrl(ApiMethod apiMethod) throws URISyntaxException { } public URI buildUrl(ApiMethod apiMethod, List params) throws URISyntaxException { - URIBuilder builder = new URIBuilder(baseUri + apiPrefix + "/" + apiMethod.getName()).addParameters(params); - String checksum = this.calculateChecksum(apiMethod, builder.getQueryParams()); + URIBuilder builder = new URIBuilder(baseUri + apiPrefix + "/" + apiMethod.getName()).addParameters(params); + String checksum = this.calculateChecksum(apiMethod, builder.getQueryParams()); return builder.addParameter("checksum", checksum).build(); } diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index 328e76a..dd549f0 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -66,8 +66,8 @@ public void fetchAPIVersion() throws MalformedURLException, IOException, ParserC @DisplayName("BigBlueButton Create meeting") public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); - CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); + CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); + CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); assertEquals(createMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); assertEquals(createMeetingResponse.getMeetingId(), createMeetingParms.getMeetingId()); } @@ -76,8 +76,8 @@ public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingExc @DisplayName("BigBlueButton end non existing meeting") public void shouldNotFindMeetingToEnd() throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - EndMeetingParameters endMeetingParms = generateEndMeetingParams(); - EndMeetingResponse endMeetingResponse = bbbAPI.endMeeting(endMeetingParms); + EndMeetingParameters endMeetingParms = generateEndMeetingParams(); + EndMeetingResponse endMeetingResponse = bbbAPI.endMeeting(endMeetingParms); assertEquals(endMeetingResponse.getReturnCode(), APIReturnCode.FAILED.getReturnCode()); } } diff --git a/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java b/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java index 4728d15..a9d3916 100644 --- a/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/APIReturnCodeTest.java @@ -18,7 +18,7 @@ package org.bigbluebutton.api.responses; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; import org.bigbluebutton.api.test.BaseTestCase; import org.junit.jupiter.api.DisplayName; diff --git a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java new file mode 100644 index 0000000..70a567a --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java @@ -0,0 +1,32 @@ +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +public class ApiVersionResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/api_version.xml"; + + super.setUp(); + } + + @Test + @DisplayName("API version response content") + void testApiVersionResponseContent() throws StreamReadException, DatabindException, IOException { + XmlMapper xmlMapper = new XmlMapper(); + ApiVersionResponse apiVersionResponse = xmlMapper.readValue(xmlInput, ApiVersionResponse.class); + assertEquals(apiVersionResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java new file mode 100644 index 0000000..a3f669c --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java @@ -0,0 +1,38 @@ +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +public class EndMeetingResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/end_meeting.xml"; + + super.setUp(); + } + + @Test + @DisplayName("API end meeting response content") + void testEndMeetingResponseContent() throws StreamReadException, DatabindException, IOException { + XmlMapper xmlMapper = new XmlMapper(); + EndMeetingResponse endMeetingResponse = xmlMapper.readValue(xmlInput, EndMeetingResponse.class); + assertEquals(endMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertTrue(endMeetingResponse.success()); + assertFalse(endMeetingResponse.failed()); + assertFalse(endMeetingResponse.getMessage().isEmpty()); + assertFalse(endMeetingResponse.getMessageKey().isEmpty()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java new file mode 100644 index 0000000..9c6441d --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java @@ -0,0 +1,52 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +class IsMeetingRunningResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/is_meeting_running.xml"; + + super.setUp(); + } + + @Test + @DisplayName("API version response content") + void testIsMeetingRunningResponseContent() throws StreamReadException, DatabindException, IOException { + XmlMapper xmlMapper = new XmlMapper(); + IsMeetingRunningResponse isMeetingRunningResponse = xmlMapper.readValue(xmlInput, + IsMeetingRunningResponse.class); + assertEquals(isMeetingRunningResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertEquals(isMeetingRunningResponse.getRunning(), true); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java new file mode 100644 index 0000000..1f5f0a4 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java @@ -0,0 +1,40 @@ +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; +import java.net.URI; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; + +public class JoineMeetingResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/join_meeting.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Join meeting response content") + void testJoinMeetingResponseContent() throws StreamReadException, DatabindException, IOException { + XmlMapper xmlMapper = new XmlMapper(); + JoinMeetingResponse joinmeeingResponse = xmlMapper.readValue(xmlInput, JoinMeetingResponse.class); + assertEquals(joinmeeingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertEquals(joinmeeingResponse.getMeetingId(), "bec8af173fae4d1f45d8ed6ea7c0b1ffb93af020-1464618265614"); + assertEquals(joinmeeingResponse.getUserId(), "ao6ehbtvbmhz"); + assertEquals(joinmeeingResponse.getAuthToken(), "huzbpgthac7s"); + assertEquals(joinmeeingResponse.getSessionToken(), "rbe7bbkjzx5mnoda"); + assertEquals(joinmeeingResponse.getGuestStatus(), "ALLOW"); + assertEquals(joinmeeingResponse.getUrl(), URI + .create("https://bigblubutton-server.sample/client/BigBlueButton.html?sessionToken=BKepJSKk39jtwDC9")); + } +} diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java index 37f04d8..8f3142d 100644 --- a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -39,16 +39,16 @@ public void setUp() { } protected CreateMeetingParameters generateCreateMeetingParams() { - Map mockCreate = mockCreateMeetingParams(); + Map mockCreate = mockCreateMeetingParams(); CreateMeetingParameters createParams = new CreateMeetingParameters((String) mockCreate.get(ApiParams.NAME), (String) mockCreate.get(ApiParams.MEETING_ID)).setDuration(faker.number().numberBetween(0, 10)) - .setRecord(faker.bool().bool()); + .setRecord(faker.bool().bool()); return createParams; } protected EndMeetingParameters generateEndMeetingParams() { - Map mockEnd = mockEndMeetingParams(); + Map mockEnd = mockEndMeetingParams(); EndMeetingParameters endParams = new EndMeetingParameters((String) mockEnd.get(ApiParams.MEETING_ID)); return endParams; diff --git a/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java b/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java new file mode 100644 index 0000000..658020a --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.test; + +import static org.junit.jupiter.api.Assertions.fail; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + +import org.junit.jupiter.api.BeforeEach; + +public abstract class ResponseTestCase extends BaseTestCase { + + protected String xmlResponseFile; + + protected byte[] xmlInput; + + @BeforeEach + public void setUp() { + super.setUp(); + try { + xmlInput = Files.readAllBytes(Paths.get( + new File(getClass().getClassLoader().getResource(xmlResponseFile).getFile()).getAbsolutePath())); + } catch (IOException e) { + // TODO Auto-generated catch block + fail("Failed loading fixutre: " + xmlResponseFile); + } + } + +} diff --git a/src/test/resources/fixtures/api_version.xml b/src/test/resources/fixtures/api_version.xml new file mode 100644 index 0000000..a1d42e7 --- /dev/null +++ b/src/test/resources/fixtures/api_version.xml @@ -0,0 +1,6 @@ + + SUCCESS + 2.0 + 2.0 + 2.6.5 + diff --git a/src/test/resources/fixtures/end_meeting.xml b/src/test/resources/fixtures/end_meeting.xml new file mode 100644 index 0000000..ef445e9 --- /dev/null +++ b/src/test/resources/fixtures/end_meeting.xml @@ -0,0 +1,7 @@ + + SUCCESS + sentEndMeetingRequest + A request to end the meeting was sent. Please wait a few seconds, and then use the getMeetingInfo or + isMeetingRunning API calls to verify that it was ended. + + diff --git a/src/test/resources/fixtures/is_meeting_running.xml b/src/test/resources/fixtures/is_meeting_running.xml new file mode 100644 index 0000000..9598f72 --- /dev/null +++ b/src/test/resources/fixtures/is_meeting_running.xml @@ -0,0 +1,4 @@ + + SUCCESS + true + diff --git a/src/test/resources/fixtures/join_meeting.xml b/src/test/resources/fixtures/join_meeting.xml new file mode 100644 index 0000000..836a133 --- /dev/null +++ b/src/test/resources/fixtures/join_meeting.xml @@ -0,0 +1,11 @@ + + SUCCESS + successfullyJoined + You have joined successfully. + bec8af173fae4d1f45d8ed6ea7c0b1ffb93af020-1464618265614 + ao6ehbtvbmhz + huzbpgthac7s + rbe7bbkjzx5mnoda + ALLOW + https://bigblubutton-server.sample/client/BigBlueButton.html?sessionToken=BKepJSKk39jtwDC9 + diff --git a/src/main/resources/logback-test.xml b/src/test/resources/logback-test.xml similarity index 100% rename from src/main/resources/logback-test.xml rename to src/test/resources/logback-test.xml From 5529cfc448dbe1a4dfe796d275b66a532b94b164 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Sat, 13 May 2023 19:48:07 +0100 Subject: [PATCH 07/17] Better and stronger typing for CreateMeetingResponse properties with custom Jackson ZonedDateTimeDeserializer. --- pom.xml | 10 ++- .../bigbluebutton/api/BigBlueButtonAPI.java | 5 +- .../ZonedDateTimeDeserializer.java | 43 +++++++++++++ .../api/responses/CreateMeetingResponse.java | 23 +++++-- .../bigbluebutton/api/util/DateTimeUtil.java | 29 +++++++++ .../api/responses/ApiVersionResponseTest.java | 1 - .../responses/CreateMeetingResponseTest.java | 64 +++++++++++++++++++ .../api/responses/EndMeetingResponseTest.java | 1 - .../IsMeetingRunningResponseTest.java | 3 +- .../responses/JoineMeetingResponseTest.java | 1 - .../api/test/ResponseTestCase.java | 9 +++ .../resources/fixtures/create_meeting.xml | 17 +++++ 12 files changed, 192 insertions(+), 14 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java create mode 100644 src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java create mode 100644 src/test/resources/fixtures/create_meeting.xml diff --git a/pom.xml b/pom.xml index c3f8b13..5fc2716 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ 11 + 2.15.0 2.0.7 @@ -37,12 +38,17 @@ com.fasterxml.jackson.core jackson-core - 2.15.0 + ${jackson.version} com.fasterxml.jackson.dataformat jackson-dataformat-xml - 2.15.0 + ${jackson.version} + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + ${jackson.version} org.junit.jupiter diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 993d5df..0c370d8 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -41,6 +41,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import lombok.Getter; import lombok.Setter; @@ -70,7 +71,9 @@ public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.baseServerURL = baseUrl; this.securitySalt = securitySalt; this.xmlMapper = new XmlMapper(); - this.urlBuilder = new URLBuilder(baseUrl, securitySalt); + xmlMapper.registerModule(new JavaTimeModule()); + xmlMapper.findAndRegisterModules(); + this.urlBuilder = new URLBuilder(baseUrl, securitySalt); } public URI getApiVersionURL() throws URISyntaxException { diff --git a/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java b/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java new file mode 100644 index 0000000..8201c2d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java @@ -0,0 +1,43 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.deserializers; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; + +import org.bigbluebutton.api.util.DateTimeUtil; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +public class ZonedDateTimeDeserializer extends JsonDeserializer { + + @Override + public ZonedDateTime deserialize(JsonParser jp, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + String dateString = jp.getText(); + LocalDateTime localDateTime = LocalDateTime.parse(dateString, DateTimeUtil.TZ_DATE_FORMATTER); + String[] parts = dateString.split(" "); + return ZonedDateTime.of(localDateTime, ZoneId.of(parts[parts.length - 2])); + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java b/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java index 5673ace..337c82b 100644 --- a/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/CreateMeetingResponse.java @@ -18,7 +18,13 @@ package org.bigbluebutton.api.responses; +import java.time.Instant; +import java.time.ZonedDateTime; + +import org.bigbluebutton.api.deserializers.ZonedDateTimeDeserializer; + import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; @@ -35,10 +41,10 @@ public class CreateMeetingResponse extends BaseResponse { @Getter @JacksonXmlProperty(localName = "parentMeetingID") - private String parnetMeetingId; + private String parentMeetingId; @Getter - private String createTime; + private Instant createTime; @Getter private String voiceBridge; @@ -47,14 +53,19 @@ public class CreateMeetingResponse extends BaseResponse { private String dialNumber; @Getter - private String createDate; + @JsonDeserialize(using = ZonedDateTimeDeserializer.class) + private ZonedDateTime createDate; @Getter - private String hasUserJoined; + private Boolean hasUserJoined; @Getter - private String duration; + private Integer duration; @Getter - private String hasBeenForciblyEnded; + private Boolean hasBeenForciblyEnded; + + public Boolean hasParent() { + return getParentMeetingId().equals("bbb-none"); + } } diff --git a/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java b/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java new file mode 100644 index 0000000..c636a4b --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java @@ -0,0 +1,29 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.util; + +import java.time.format.DateTimeFormatter; + +public final class DateTimeUtil { + public static final DateTimeFormatter TZ_DATE_FORMATTER = DateTimeFormatter.ofPattern("EEE MMM d HH:mm:ss z yyyy"); + + private DateTimeUtil() { + throw new IllegalStateException("DateTimeUtil is a utility class. Instanciation is forbidden."); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java index 70a567a..d00c92a 100644 --- a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java @@ -25,7 +25,6 @@ public void setUp() { @Test @DisplayName("API version response content") void testApiVersionResponseContent() throws StreamReadException, DatabindException, IOException { - XmlMapper xmlMapper = new XmlMapper(); ApiVersionResponse apiVersionResponse = xmlMapper.readValue(xmlInput, ApiVersionResponse.class); assertEquals(apiVersionResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); } diff --git a/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java new file mode 100644 index 0000000..8363385 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java @@ -0,0 +1,64 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +import java.io.IOException; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.util.DateTimeUtil; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +class CreateMeetingResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/create_meeting.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Create meeting response content") + void testCreateMeetingResponseContent() throws StreamReadException, DatabindException, IOException { + CreateMeetingResponse createResponse = xmlMapper.readValue(xmlInput, CreateMeetingResponse.class); + assertEquals(createResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertEquals(createResponse.getMeetingId(), "random-1665177"); + assertEquals(createResponse.getInternalMeetingId(), "1a6938c707cdf5d052958672d66c219c30690c47-1524212045514"); + assertEquals(createResponse.getParentMeetingId(), "bbb-none"); + assertEquals(createResponse.getCreateTime().getEpochSecond(), 1453283819419L); + assertEquals(createResponse.getVoiceBridge(), "76286"); + assertEquals(createResponse.getDialNumber(), "613-555-1234"); + assertEquals(createResponse.getCreateDate().format(DateTimeUtil.TZ_DATE_FORMATTER), + "Wed Jan 20 04:56:59 CET 2016"); + assertFalse(createResponse.getHasUserJoined()); + assertEquals(createResponse.getDuration(), 20); + assertFalse(createResponse.getHasBeenForciblyEnded()); + assertEquals(createResponse.getMessageKey(), "duplicateWarning"); + assertEquals(createResponse.getMessage(), + "This conference was already in existence and may currently be in progress."); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java index a3f669c..fee5be5 100644 --- a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java @@ -27,7 +27,6 @@ public void setUp() { @Test @DisplayName("API end meeting response content") void testEndMeetingResponseContent() throws StreamReadException, DatabindException, IOException { - XmlMapper xmlMapper = new XmlMapper(); EndMeetingResponse endMeetingResponse = xmlMapper.readValue(xmlInput, EndMeetingResponse.class); assertEquals(endMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); assertTrue(endMeetingResponse.success()); diff --git a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java index 9c6441d..9ee6226 100644 --- a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java @@ -41,9 +41,8 @@ public void setUp() { } @Test - @DisplayName("API version response content") + @DisplayName("Meeting running api response content") void testIsMeetingRunningResponseContent() throws StreamReadException, DatabindException, IOException { - XmlMapper xmlMapper = new XmlMapper(); IsMeetingRunningResponse isMeetingRunningResponse = xmlMapper.readValue(xmlInput, IsMeetingRunningResponse.class); assertEquals(isMeetingRunningResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); diff --git a/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java index 1f5f0a4..fe6b6de 100644 --- a/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java @@ -26,7 +26,6 @@ public void setUp() { @Test @DisplayName("Join meeting response content") void testJoinMeetingResponseContent() throws StreamReadException, DatabindException, IOException { - XmlMapper xmlMapper = new XmlMapper(); JoinMeetingResponse joinmeeingResponse = xmlMapper.readValue(xmlInput, JoinMeetingResponse.class); assertEquals(joinmeeingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); assertEquals(joinmeeingResponse.getMeetingId(), "bec8af173fae4d1f45d8ed6ea7c0b1ffb93af020-1464618265614"); diff --git a/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java b/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java index 658020a..b57ee9c 100644 --- a/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java @@ -27,12 +27,17 @@ import org.junit.jupiter.api.BeforeEach; +import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + public abstract class ResponseTestCase extends BaseTestCase { protected String xmlResponseFile; protected byte[] xmlInput; + protected XmlMapper xmlMapper; + @BeforeEach public void setUp() { super.setUp(); @@ -43,6 +48,10 @@ public void setUp() { // TODO Auto-generated catch block fail("Failed loading fixutre: " + xmlResponseFile); } + + xmlMapper = new XmlMapper(); + xmlMapper.registerModule(new JavaTimeModule()); + xmlMapper.findAndRegisterModules(); } } diff --git a/src/test/resources/fixtures/create_meeting.xml b/src/test/resources/fixtures/create_meeting.xml new file mode 100644 index 0000000..c92e0c6 --- /dev/null +++ b/src/test/resources/fixtures/create_meeting.xml @@ -0,0 +1,17 @@ + + SUCCESS + random-1665177 + 1a6938c707cdf5d052958672d66c219c30690c47-1524212045514 + bbb-none + tK6J5cJv3hMLNx5IBePa + 34Heu0uiZYqCZXX9C4m2 + 1453283819419 + 76286 + 613-555-1234 + Wed Jan 20 04:56:59 CET 2016 + false + 20 + false + duplicateWarning + This conference was already in existence and may currently be in progress. + From e78e6ea2f6f2c5a950807b0bf0b65033d6920b23 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Tue, 16 May 2023 11:01:32 +0100 Subject: [PATCH 08/17] Add more parameters classes and improve XML unmarshalling for GetMeetingInfo. --- .classpath | 15 +- pom.xml | 5 + .../java/org/bigbluebutton/api/ApiParams.java | 8 + .../org/bigbluebutton/api/data/Meeting.java | 143 +++++++++++- .../GetMeetingInfoResponseDeserializer.java | 49 ++++ .../ZonedDateTimeDeserializer.java | 7 +- .../api/enums/RecordingState.java | 34 +++ .../api/parameters/BaseParameters.java | 7 + .../parameters/CreateMeetingParameters.java | 5 +- .../DeleteRecordingsParameters.java | 48 ++++ .../GetRecordingTextTracksParameters.java | 42 ++++ .../parameters/GetRecordingsParameters.java | 62 +++++ .../api/parameters/HooksCreateParameters.java | 55 +++++ .../parameters/HooksDestroyParameters.java | 46 ++++ .../PublishRecordingsParameters.java | 46 ++++ .../PutRecordingTextTrackParameters.java | 52 +++++ .../UpdateRecordingsParameters.java | 46 ++++ .../api/responses/BaseResponse.java | 2 +- .../responses/DeleteRecordingsResponse.java | 27 +++ .../api/responses/GetMeetingInfoResponse.java | 31 ++- .../bigbluebutton/api/util/DateTimeUtil.java | 9 + .../org/bigbluebutton/api/ApiParamsTest.java | 114 ++++++++++ .../api/enums/RecordingStateTest.java | 39 ++++ .../DeleteRecordingsResponseTest.java | 52 +++++ .../responses/GetMeetingInfoResponseTest.java | 62 +++++ .../resources/fixtures/delete_recordings.xml | 4 + .../resources/fixtures/get_meeting_info.xml | 95 ++++++++ src/test/resources/fixtures/get_meetings.xml | 99 ++++++++ .../resources/fixtures/get_recordings.xml | 211 ++++++++++++++++++ src/test/resources/fixtures/hooks_create.xml | 6 + .../resources/fixtures/hooks_create_error.xml | 5 + .../fixtures/hooks_create_existing.xml | 6 + .../fixtures/hooks_create_no_hook_id.xml | 5 + src/test/resources/fixtures/hooks_destroy.xml | 4 + .../fixtures/hooks_destroy_error.xml | 5 + .../fixtures/hooks_destroy_not_found.xml | 5 + src/test/resources/fixtures/hooks_list.xml | 18 ++ .../resources/fixtures/insert_document.xml | 4 + .../insert_document_presentations.xml | 10 + .../presentation_with_embedded_file.xml | 7 + .../fixtures/presentation_with_filename.xml | 6 + .../fixtures/presentation_with_url.xml | 6 + .../resources/fixtures/publish_recordings.xml | 4 + .../resources/fixtures/update_recordings.xml | 4 + 44 files changed, 1480 insertions(+), 30 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/deserializers/GetMeetingInfoResponseDeserializer.java create mode 100644 src/main/java/org/bigbluebutton/api/enums/RecordingState.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/HooksCreateParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/HooksDestroyParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/DeleteRecordingsResponse.java create mode 100644 src/test/java/org/bigbluebutton/api/ApiParamsTest.java create mode 100644 src/test/java/org/bigbluebutton/api/enums/RecordingStateTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java create mode 100644 src/test/resources/fixtures/delete_recordings.xml create mode 100644 src/test/resources/fixtures/get_meeting_info.xml create mode 100644 src/test/resources/fixtures/get_meetings.xml create mode 100644 src/test/resources/fixtures/get_recordings.xml create mode 100644 src/test/resources/fixtures/hooks_create.xml create mode 100644 src/test/resources/fixtures/hooks_create_error.xml create mode 100644 src/test/resources/fixtures/hooks_create_existing.xml create mode 100644 src/test/resources/fixtures/hooks_create_no_hook_id.xml create mode 100644 src/test/resources/fixtures/hooks_destroy.xml create mode 100644 src/test/resources/fixtures/hooks_destroy_error.xml create mode 100644 src/test/resources/fixtures/hooks_destroy_not_found.xml create mode 100644 src/test/resources/fixtures/hooks_list.xml create mode 100644 src/test/resources/fixtures/insert_document.xml create mode 100644 src/test/resources/fixtures/insert_document_presentations.xml create mode 100644 src/test/resources/fixtures/presentation_with_embedded_file.xml create mode 100644 src/test/resources/fixtures/presentation_with_filename.xml create mode 100644 src/test/resources/fixtures/presentation_with_url.xml create mode 100644 src/test/resources/fixtures/publish_recordings.xml create mode 100644 src/test/resources/fixtures/update_recordings.xml diff --git a/.classpath b/.classpath index e2fe9eb..b38515d 100644 --- a/.classpath +++ b/.classpath @@ -2,7 +2,6 @@ - @@ -24,12 +23,6 @@ - - - - - - @@ -39,19 +32,13 @@ - - - - - - - + diff --git a/pom.xml b/pom.xml index 5fc2716..91db548 100644 --- a/pom.xml +++ b/pom.xml @@ -45,6 +45,11 @@ jackson-dataformat-xml ${jackson.version} + + com.fasterxml.jackson.core + jackson-databind + ${jackson.version} + com.fasterxml.jackson.datatype jackson-datatype-jsr310 diff --git a/src/main/java/org/bigbluebutton/api/ApiParams.java b/src/main/java/org/bigbluebutton/api/ApiParams.java index 825f880..34426f8 100644 --- a/src/main/java/org/bigbluebutton/api/ApiParams.java +++ b/src/main/java/org/bigbluebutton/api/ApiParams.java @@ -51,6 +51,9 @@ public class ApiParams { public static final String PARENT_MEETING_ID = "parentMeetingID"; public static final String RECORD = "record"; public static final String RECORD_ID = "recordID"; + public static final String PUBLISH = "publish"; + public static final String OFFSET = "offset"; + public static final String LIMIT = "limit"; public static final String REDIRECT = "redirect"; public static final String GUEST = "guest"; public static final String EXCLUDE_FROM_DASHBOARD = "excludeFromDashboard"; @@ -109,6 +112,11 @@ public class ApiParams { public static final String END_WHEN_NO_MODERATOR = "endWhenNoModerator"; public static final String END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES = "endWhenNoModeratorDelayInMinutes"; + // Webhooks parameters + public static final String CALLBACK_URL = "callbackURL"; + public static final String GET_RAW = "getRaw"; + public static final String HOOK_ID = "hookID"; + private ApiParams() { throw new IllegalStateException("ApiParams is a utility class. Instanciation is forbidden."); } diff --git a/src/main/java/org/bigbluebutton/api/data/Meeting.java b/src/main/java/org/bigbluebutton/api/data/Meeting.java index acf97ed..d7b9650 100644 --- a/src/main/java/org/bigbluebutton/api/data/Meeting.java +++ b/src/main/java/org/bigbluebutton/api/data/Meeting.java @@ -18,16 +18,142 @@ package org.bigbluebutton.api.data; +import java.io.IOException; +import java.time.Instant; +import java.time.ZonedDateTime; + +import org.bigbluebutton.api.responses.BaseResponse; +import org.bigbluebutton.api.responses.GetMeetingInfoResponse; +import org.bigbluebutton.api.util.DateTimeUtil; + import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; +import lombok.Setter; @JsonIgnoreProperties(value = { "attendeePW", "moderatorPW" }) -public class Meeting { +public class Meeting extends BaseResponse { @Getter + @Setter private String meetingName; + @Getter + private GetMeetingInfoResponse response; + + public Meeting(JsonNode node) throws IOException { + JsonNode meetingIdNode = node.get("meetingID"); + if (meetingIdNode != null) { + this.meetingId = meetingIdNode.asText(); + } + + JsonNode meetingNameNode = node.get("meetingName"); + if (meetingNameNode != null) { + this.meetingName = meetingNameNode.asText(); + } + + JsonNode createTimeNode = node.get("createTime"); + if (createTimeNode != null) { + this.createTime = Instant.ofEpochSecond(createTimeNode.asLong()); + } + + JsonNode createDateNode = node.get("createDate"); + if (createDateNode != null) { + this.createDate = DateTimeUtil.parseBigBlueButtonDate(createDateNode.asText()); + } + + JsonNode voiceBridgeNode = node.get("voiceBridge"); + if (voiceBridgeNode != null) { + this.voiceBridge = voiceBridgeNode.asText(); + } + + JsonNode dialNumberNode = node.get("dialNumber"); + if (dialNumberNode != null) { + this.dialNumber = dialNumberNode.asText(); + } + + JsonNode runningNode = node.get("running"); + if (runningNode != null) { + this.running = runningNode.asBoolean(); + } + + JsonNode durationNode = node.get("duration"); + if (durationNode != null) { + this.duration = durationNode.asInt(); + } + + JsonNode hasUserJoinedNode = node.get("hasUserJoined"); + if (hasUserJoinedNode != null) { + this.hasUserJoined = hasUserJoinedNode.asBoolean(); + } + + JsonNode recordingNode = node.get("recording"); + if (recordingNode != null) { + this.recording = recordingNode.asBoolean(); + } + + JsonNode hasBeenForciblyEndedNode = node.get("hasBeenForciblyEnded"); + if (hasBeenForciblyEndedNode != null) { + this.hasBeenForciblyEnded = hasBeenForciblyEndedNode.asBoolean(); + } + + JsonNode startTimeNode = node.get("startTime"); + if (startTimeNode != null) { + this.startTime = Instant.ofEpochSecond(startTimeNode.asLong()); + } + + JsonNode endTimeNode = node.get("endTime"); + if (endTimeNode != null) { + this.endTime = Instant.ofEpochSecond(endTimeNode.asLong()); + } + + JsonNode participantCountNode = node.get("participantCount"); + if (participantCountNode != null) { + this.participantCount = participantCountNode.asInt(); + } + + JsonNode listenerCountNode = node.get("listenerCount"); + if (listenerCountNode != null) { + this.listenerCount = listenerCountNode.asInt(); + } + + JsonNode voiceParticipantCountNode = node.get("voiceParticipantCount"); + if (voiceParticipantCountNode != null) { + this.voiceParticipantCount = voiceParticipantCountNode.asInt(); + } + + JsonNode videoCount = node.get("videoCount"); + if (videoCount != null) { + this.videoCount = videoCount.asInt(); + } + + JsonNode moderatorCountNode = node.get("moderatorCount"); + if (moderatorCountNode != null) { + this.moderatorCount = moderatorCountNode.asInt(); + } + + JsonNode isBreakoutNode = node.get("isBreakout"); + if (isBreakoutNode != null) { + this.isBreakout = isBreakoutNode.asBoolean(); + } + + JsonNode maxUsersNode = node.get("maxUsers"); + if (maxUsersNode != null) { + this.maxUsers = maxUsersNode.asInt(); + } + + JsonNode parentMeetingIDNode = node.get("parentMeetingID"); + if (parentMeetingIDNode != null) { + this.parentMeetingId = parentMeetingIDNode.asText(); + } + + JsonNode sequenceNode = node.get("sequence"); + if (sequenceNode != null) { + this.sequence = sequenceNode.asInt(); + } + } + @Getter @JacksonXmlProperty(localName = "meetingID") private String meetingId; @@ -37,10 +163,10 @@ public class Meeting { private String internalMeetingId; @Getter - private Long createTime; + private Instant createTime; @Getter - private String createDate; + private ZonedDateTime createDate; @Getter private String voiceBridge; @@ -64,10 +190,10 @@ public class Meeting { private Boolean hasBeenForciblyEnded; @Getter - private Integer startTime; + private Instant startTime; @Getter - private Integer endTime; + private Instant endTime; @Getter private Integer participantCount; @@ -92,4 +218,11 @@ public class Meeting { @Getter private Boolean isBreakout; + + @Getter + @JacksonXmlProperty(localName = "parentMeetingID") + private String parentMeetingId; + + @Getter + private Integer sequence; } diff --git a/src/main/java/org/bigbluebutton/api/deserializers/GetMeetingInfoResponseDeserializer.java b/src/main/java/org/bigbluebutton/api/deserializers/GetMeetingInfoResponseDeserializer.java new file mode 100644 index 0000000..0979a1f --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/deserializers/GetMeetingInfoResponseDeserializer.java @@ -0,0 +1,49 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.deserializers; + +import java.io.IOException; + +import org.bigbluebutton.api.responses.GetMeetingInfoResponse; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +public class GetMeetingInfoResponseDeserializer extends StdDeserializer { + + private static final long serialVersionUID = 5655122233138225747L; + + public GetMeetingInfoResponseDeserializer() { + this(null); + } + + public GetMeetingInfoResponseDeserializer(Class vc) { + super(vc); + } + + @Override + public GetMeetingInfoResponse deserialize(JsonParser parser, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + GetMeetingInfoResponse response = new GetMeetingInfoResponse(parser); + + return response; + } +} \ No newline at end of file diff --git a/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java b/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java index 8201c2d..c8133d8 100644 --- a/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java +++ b/src/main/java/org/bigbluebutton/api/deserializers/ZonedDateTimeDeserializer.java @@ -19,8 +19,6 @@ package org.bigbluebutton.api.deserializers; import java.io.IOException; -import java.time.LocalDateTime; -import java.time.ZoneId; import java.time.ZonedDateTime; import org.bigbluebutton.api.util.DateTimeUtil; @@ -35,9 +33,6 @@ public class ZonedDateTimeDeserializer extends JsonDeserializer { @Override public ZonedDateTime deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { - String dateString = jp.getText(); - LocalDateTime localDateTime = LocalDateTime.parse(dateString, DateTimeUtil.TZ_DATE_FORMATTER); - String[] parts = dateString.split(" "); - return ZonedDateTime.of(localDateTime, ZoneId.of(parts[parts.length - 2])); + return DateTimeUtil.parseBigBlueButtonDate(jp.getText()); } } diff --git a/src/main/java/org/bigbluebutton/api/enums/RecordingState.java b/src/main/java/org/bigbluebutton/api/enums/RecordingState.java new file mode 100644 index 0000000..710b871 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/enums/RecordingState.java @@ -0,0 +1,34 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import lombok.Getter; + +public enum RecordingState { + + ANY("any"), PROCESSING("processing"), PROCESSED("processed"), PUBLISHED("published"), UNPUBLISHED("unpublished"), + DELETED("deleted"); + + @Getter + private String name; + + RecordingState(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java index 5be153f..14eedc4 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java @@ -19,6 +19,7 @@ package org.bigbluebutton.api.parameters; import java.io.UnsupportedEncodingException; +import java.net.URI; import java.net.URLEncoder; import java.util.List; @@ -47,6 +48,12 @@ protected void addBooleanValue(List params, String name, Boolean } } + protected void addUriValue(List params, String name, URI value) { + if (value != null) { + params.add(new BasicNameValuePair(name, value.toString())); + } + } + protected String urlEncode(String value) throws UnsupportedEncodingException { return URLEncoder.encode(value, "UTF-8"); } diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 20bbeb6..2115d8b 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -19,6 +19,7 @@ package org.bigbluebutton.api.parameters; import java.io.UnsupportedEncodingException; +import java.net.URI; import java.util.ArrayList; import java.util.List; @@ -57,7 +58,7 @@ public class CreateMeetingParameters extends BaseParameters { protected Integer maxParticipants; @Getter - protected String logoutURL; + protected URI logoutURL; @Getter @Setter @@ -232,7 +233,7 @@ public List getQueryParms() throws UnsupportedEncodingException { addStringValue(params, ApiParams.DIAL_NUMBER, getDialNumber()); addStringValue(params, ApiParams.VOICE_BRIDGE, getVoiceBridge()); addIntegerValue(params, ApiParams.MAX_PARTICIPANTS, getMaxParticipants()); - addStringValue(params, ApiParams.LOGOUT_URL, getLogoutURL()); + addUriValue(params, ApiParams.LOGOUT_URL, getLogoutURL()); addBooleanValue(params, ApiParams.RECORD, getRecord()); addIntegerValue(params, ApiParams.DURATION, getDuration()); addBooleanValue(params, ApiParams.IS_BREAKOUT, getIsBreakout()); diff --git a/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java new file mode 100644 index 0000000..62357e9 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class DeleteRecordingsParameters extends BaseParameters { + + @Getter + protected String recordId; + + // @todo handle multiple recordings + + public DeleteRecordingsParameters(String meetingId) { + this.recordId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java new file mode 100644 index 0000000..f803063 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java @@ -0,0 +1,42 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class GetRecordingTextTracksParameters extends BaseParameters { + + @Getter + protected String recordId; + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java new file mode 100644 index 0000000..f59528c --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java @@ -0,0 +1,62 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.enums.RecordingState; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class GetRecordingsParameters extends BaseParameters { + + @Getter + protected String meetingId; + + @Getter + protected String recordId; + + // @todo handle multiple recordings + + @Getter + protected RecordingState state; + + // @todo handle multiple states + + @Getter + protected Integer offset; + + @Getter + protected Integer limit; + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + addIntegerValue(params, ApiParams.OFFSET, getOffset()); + addIntegerValue(params, ApiParams.LIMIT, getLimit()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/HooksCreateParameters.java b/src/main/java/org/bigbluebutton/api/parameters/HooksCreateParameters.java new file mode 100644 index 0000000..d9e32f4 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/HooksCreateParameters.java @@ -0,0 +1,55 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.net.URI; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class HooksCreateParameters extends BaseParameters { + + @Getter + protected URI callbackUrl; + + @Getter + protected String meetingId; + + @Getter + protected Boolean getRaw; + + public HooksCreateParameters(URI url) { + this.callbackUrl = url; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addUriValue(params, ApiParams.CALLBACK_URL, getCallbackUrl()); + addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); + addBooleanValue(params, ApiParams.GET_RAW, getGetRaw()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/HooksDestroyParameters.java b/src/main/java/org/bigbluebutton/api/parameters/HooksDestroyParameters.java new file mode 100644 index 0000000..95db812 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/HooksDestroyParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class HooksDestroyParameters extends BaseParameters { + + @Getter + protected String hookId; + + public HooksDestroyParameters(String hookId) { + this.hookId = hookId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.HOOK_ID, getHookId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java new file mode 100644 index 0000000..13e148d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class PublishRecordingsParameters extends BaseParameters { + + @Getter + protected String recordId; + + public PublishRecordingsParameters(String meetingId, Boolean publish) { + this.recordId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java b/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java new file mode 100644 index 0000000..246776a --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java @@ -0,0 +1,52 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class PutRecordingTextTrackParameters extends BaseParameters { + + @Getter + protected String recordId; + + @Getter + protected Boolean publish; + // @todo handle multiple recordings + + public PutRecordingTextTrackParameters(String meetingId, Boolean publish) { + this.recordId = meetingId; + this.publish = publish; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + addBooleanValue(params, ApiParams.PUBLISH, getPublish()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java new file mode 100644 index 0000000..12427b8 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java @@ -0,0 +1,46 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.bigbluebutton.api.ApiParams; + +import lombok.Getter; +import lombok.experimental.Accessors; + +@Accessors(chain = true) +public class UpdateRecordingsParameters extends BaseParameters { + + @Getter + protected String recordId; + + public UpdateRecordingsParameters(String meetingId, Boolean publish) { + this.recordId = meetingId; + } + + public List getQueryParms() throws UnsupportedEncodingException { + List params = new ArrayList(); + addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + return params; + } +} diff --git a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java index f7df041..0109b33 100644 --- a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java @@ -27,7 +27,7 @@ public abstract class BaseResponse { @Getter @JacksonXmlProperty(localName = "returncode") - private String returnCode; + protected String returnCode; @Getter protected String message; diff --git a/src/main/java/org/bigbluebutton/api/responses/DeleteRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/DeleteRecordingsResponse.java new file mode 100644 index 0000000..404fa17 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/DeleteRecordingsResponse.java @@ -0,0 +1,27 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import lombok.Getter; + +public class DeleteRecordingsResponse extends BaseResponse { + + @Getter + protected Boolean deleted; +} diff --git a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java index 7d07d56..467ad23 100644 --- a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java @@ -18,11 +18,38 @@ package org.bigbluebutton.api.responses; +import java.io.IOException; + import org.bigbluebutton.api.data.Meeting; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.ObjectCodec; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; + +import lombok.Getter; +@JacksonXmlRootElement(localName = "response") public class GetMeetingInfoResponse extends BaseResponse { - @JacksonXmlProperty(localName = "response") + @Getter private Meeting meeting; + + public GetMeetingInfoResponse(JsonParser parser) throws IOException { + ObjectCodec codec = parser.getCodec(); + JsonNode node = codec.readTree(parser); + + JsonNode returnCodeNode = node.get("returncode"); + if (returnCodeNode != null) { + this.returnCode = returnCodeNode.asText(); + } + + JsonNode messageNode = node.get("message"); + if (messageNode != null) { + this.message = messageNode.asText(); + } + + // Create the Meeting object and set it in the response + Meeting meeting = new Meeting(node); + this.meeting = meeting; + } } diff --git a/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java b/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java index c636a4b..64added 100644 --- a/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java +++ b/src/main/java/org/bigbluebutton/api/util/DateTimeUtil.java @@ -18,6 +18,9 @@ package org.bigbluebutton.api.util; +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; public final class DateTimeUtil { @@ -26,4 +29,10 @@ public final class DateTimeUtil { private DateTimeUtil() { throw new IllegalStateException("DateTimeUtil is a utility class. Instanciation is forbidden."); } + + public static ZonedDateTime parseBigBlueButtonDate(String dateString) { + LocalDateTime localDateTime = LocalDateTime.parse(dateString, TZ_DATE_FORMATTER); + String[] parts = dateString.split(" "); + return ZonedDateTime.of(localDateTime, ZoneId.of(parts[parts.length - 2])); + } } diff --git a/src/test/java/org/bigbluebutton/api/ApiParamsTest.java b/src/test/java/org/bigbluebutton/api/ApiParamsTest.java new file mode 100644 index 0000000..428e01c --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/ApiParamsTest.java @@ -0,0 +1,114 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.bigbluebutton.api.test.BaseTestCase; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class ApiParamsTest extends BaseTestCase { + + @Test + @DisplayName("Test API parameters names") + void apiMethodNamesShouldMatch() { + assertEquals(ApiParams.ALLOW_MODS_TO_EJECT_CAMERAS.toString(), "allowModsToEjectCameras"); + assertEquals(ApiParams.ALLOW_MODS_TO_UNMUTE_USERS.toString(), "allowModsToUnmuteUsers"); + assertEquals(ApiParams.ALLOW_REQUESTS_WITHOUT_SESSION.toString(), "allowRequestsWithoutSession"); + assertEquals(ApiParams.ALLOW_START_STOP_RECORDING.toString(), "allowStartStopRecording"); + assertEquals(ApiParams.AUTO_START_RECORDING.toString(), "autoStartRecording"); + assertEquals(ApiParams.AVATAR_URL.toString(), "avatarURL"); + assertEquals(ApiParams.BANNER_COLOR.toString(), "bannerColor"); + assertEquals(ApiParams.BANNER_TEXT.toString(), "bannerText"); + assertEquals(ApiParams.BREAKOUT_ROOMS_CAPTURE_NOTES.toString(), "breakoutRoomsCaptureNotes"); + assertEquals(ApiParams.BREAKOUT_ROOMS_CAPTURE_NOTES_FILENAME.toString(), "breakoutRoomsCaptureNotesFilename"); + assertEquals(ApiParams.BREAKOUT_ROOMS_CAPTURE_SLIDES.toString(), "breakoutRoomsCaptureSlides"); + assertEquals(ApiParams.BREAKOUT_ROOMS_PRIVATE_CHAT_ENABLED.toString(), "breakoutRoomsPrivateChatEnabled"); + assertEquals(ApiParams.BREAKOUT_ROOMS_RECORD.toString(), "breakoutRoomsRecord"); + assertEquals(ApiParams.CALLBACK_URL.toString(), "callbackURL"); + assertEquals(ApiParams.CHECKSUM.toString(), "checksum"); + assertEquals(ApiParams.COPYRIGHT.toString(), "copyright"); + assertEquals(ApiParams.CREATE_TIME.toString(), "createTime"); + assertEquals(ApiParams.DEFAULT_LAYOUT.toString(), "defaultLayout"); + assertEquals(ApiParams.DEPRECATED_LOCK_SETTINGS_DISABLE_NOTES.toString(), "lockSettingsDisableNote"); + assertEquals(ApiParams.DIAL_NUMBER.toString(), "dialNumber"); + assertEquals(ApiParams.DISABLED_FEATURES.toString(), "disabledFeatures"); + assertEquals(ApiParams.DURATION.toString(), "duration"); + assertEquals(ApiParams.END_WHEN_NO_MODERATOR.toString(), "endWhenNoModerator"); + assertEquals(ApiParams.END_WHEN_NO_MODERATOR_DELAY_IN_MINUTES.toString(), "endWhenNoModeratorDelayInMinutes"); + assertEquals(ApiParams.EXCLUDE_FROM_DASHBOARD.toString(), "excludeFromDashboard"); + assertEquals(ApiParams.FREE_JOIN.toString(), "freeJoin"); + assertEquals(ApiParams.FULL_NAME.toString(), "fullName"); + assertEquals(ApiParams.GET_RAW.toString(), "getRaw"); + assertEquals(ApiParams.GROUPS.toString(), "groups"); + assertEquals(ApiParams.GUEST.toString(), "guest"); + assertEquals(ApiParams.GUEST_POLICY.toString(), "guestPolicy"); + assertEquals(ApiParams.HOOK_ID.toString(), "hookID"); + assertEquals(ApiParams.HTML5_INSTANCE_ID.toString(), "html5InstanceId"); + assertEquals(ApiParams.IS_BREAKOUT.toString(), "isBreakout"); + assertEquals(ApiParams.LEARNING_DASHBOARD_CLEANUP_DELAY_IN_MINUTES.toString(), + "learningDashboardCleanupDelayInMinutes"); + assertEquals(ApiParams.LIMIT.toString(), "limit"); + assertEquals(ApiParams.LOCK_SETTINGS_DISABLE_CAM.toString(), "lockSettingsDisableCam"); + assertEquals(ApiParams.LOCK_SETTINGS_DISABLE_MIC.toString(), "lockSettingsDisableMic"); + assertEquals(ApiParams.LOCK_SETTINGS_DISABLE_NOTES.toString(), "lockSettingsDisableNotes"); + assertEquals(ApiParams.LOCK_SETTINGS_DISABLE_PRIVATE_CHAT.toString(), "lockSettingsDisablePrivateChat"); + assertEquals(ApiParams.LOCK_SETTINGS_DISABLE_PUBLIC_CHAT.toString(), "lockSettingsDisablePublicChat"); + assertEquals(ApiParams.LOGO.toString(), "logo"); + assertEquals(ApiParams.LOGOUT_TIMER.toString(), "logoutTimer"); + assertEquals(ApiParams.LOGOUT_URL.toString(), "logoutURL"); + assertEquals(ApiParams.MAX_PARTICIPANTS.toString(), "maxParticipants"); + assertEquals(ApiParams.MAX_PINNED_CAMERAS.toString(), "maxPinnedCameras"); + assertEquals(ApiParams.MEETING_CAMERA_CAP.toString(), "meetingCameraCap"); + assertEquals(ApiParams.MEETING_ENDED_CALLBACK_URL.toString(), "meetingEndedURL"); + assertEquals(ApiParams.MEETING_EXPIRE_IF_NO_USER_JOINED_IN_MINUTES.toString(), + "meetingExpireIfNoUserJoinedInMinutes"); + assertEquals(ApiParams.MEETING_EXPIRE_WHEN_LAST_USER_LEFT_IN_MINUTES.toString(), + "meetingExpireWhenLastUserLeftInMinutes"); + assertEquals(ApiParams.MEETING_ID.toString(), "meetingID"); + assertEquals(ApiParams.MEETING_KEEP_EVENTS.toString(), "meetingKeepEvents"); + assertEquals(ApiParams.MEETING_LAYOUT.toString(), "meetingLayout"); + assertEquals(ApiParams.META.toString(), "meta"); + assertEquals(ApiParams.MODERATOR_ONLY_MESSAGE.toString(), "moderatorOnlyMessage"); + assertEquals(ApiParams.MUTE_ON_START.toString(), "muteOnStart"); + assertEquals(ApiParams.NAME.toString(), "name"); + assertEquals(ApiParams.NOTIFY_RECORDING_IS_ON.toString(), "notifyRecordingIsOn"); + assertEquals(ApiParams.OFFSET.toString(), "offset"); + assertEquals(ApiParams.PARENT_MEETING_ID.toString(), "parentMeetingID"); + assertEquals(ApiParams.PRE_UPLOAD_PRESENTATION_OVERRIDE_DEFAULT.toString(), + "preUploadedPresentationOverrideDefault"); + assertEquals(ApiParams.PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION.toString(), + "presentationUploadExternalDescription"); + assertEquals(ApiParams.PRESENTATION_UPLOAD_EXTERNAL_URL.toString(), "presentationUploadExternalUrl"); + assertEquals(ApiParams.PUBLISH.toString(), "publish"); + assertEquals(ApiParams.RECORD.toString(), "record"); + assertEquals(ApiParams.RECORD_ID.toString(), "recordID"); + assertEquals(ApiParams.REDIRECT.toString(), "redirect"); + assertEquals(ApiParams.ROLE.toString(), "role"); + assertEquals(ApiParams.SEQUENCE.toString(), "sequence"); + assertEquals(ApiParams.USER_CAMERA_CAP.toString(), "userCameraCap"); + assertEquals(ApiParams.USER_ID.toString(), "userID"); + assertEquals(ApiParams.VOICE_BRIDGE.toString(), "voiceBridge"); + assertEquals(ApiParams.WEB_VOICE.toString(), "webVoice"); + assertEquals(ApiParams.WEB_VOICE_CONF.toString(), "webVoiceConf"); + assertEquals(ApiParams.WEBCAMS_ONLY_FOR_MODERATOR.toString(), "webcamsOnlyForModerator"); + assertEquals(ApiParams.WELCOME.toString(), "welcome"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/enums/RecordingStateTest.java b/src/test/java/org/bigbluebutton/api/enums/RecordingStateTest.java new file mode 100644 index 0000000..cc5f545 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/enums/RecordingStateTest.java @@ -0,0 +1,39 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.bigbluebutton.api.test.BaseTestCase; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class RecordingStateTest extends BaseTestCase { + + @Test + @DisplayName("Test recording states") + void featureNamesShouldMatch() { + assertEquals(RecordingState.ANY.getName(), "any"); + assertEquals(RecordingState.DELETED.getName(), "deleted"); + assertEquals(RecordingState.PROCESSED.getName(), "processed"); + assertEquals(RecordingState.PROCESSING.getName(), "processing"); + assertEquals(RecordingState.PUBLISHED.getName(), "published"); + assertEquals(RecordingState.UNPUBLISHED.getName(), "unpublished"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java new file mode 100644 index 0000000..68e682e --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java @@ -0,0 +1,52 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class DeleteRecordingsResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/delete_recordings.xml"; + + super.setUp(); + } + + @Test + @DisplayName("API delete recording scontent") + void testEndDeleteRecordingsResponseContent() throws StreamReadException, DatabindException, IOException { + DeleteRecordingsResponse deleteRecordingsResponse = xmlMapper.readValue(xmlInput, + DeleteRecordingsResponse.class); + assertEquals(deleteRecordingsResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertTrue(deleteRecordingsResponse.success()); + assertTrue(deleteRecordingsResponse.getDeleted()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java new file mode 100644 index 0000000..7ad8a55 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java @@ -0,0 +1,62 @@ +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; + +import org.bigbluebutton.api.deserializers.GetMeetingInfoResponseDeserializer; +import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.util.DateTimeUtil; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; +import com.fasterxml.jackson.databind.module.SimpleModule; + +public class GetMeetingInfoResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/get_meeting_info.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Get meeting info response content") + void testGetMeetingInfoResponseContent() throws StreamReadException, DatabindException, IOException { + xmlMapper.registerModule(new SimpleModule().addDeserializer(GetMeetingInfoResponse.class, + new GetMeetingInfoResponseDeserializer())); + GetMeetingInfoResponse getMeetingInfoResponse = xmlMapper.readValue(xmlInput, GetMeetingInfoResponse.class); + assertEquals(getMeetingInfoResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertEquals(getMeetingInfoResponse.getMeeting().getMeetingId(), "117b12ae2656972d330b6bad58878541-28-15"); + assertEquals(getMeetingInfoResponse.getMeeting().getMeetingName(), + "Mock meeting for testing getMeetingInfo API method"); + assertEquals(getMeetingInfoResponse.getMeeting().getCreateDate().format(DateTimeUtil.TZ_DATE_FORMATTER), + "Fri Jan 20 04:56:59 CET 2023"); + assertEquals(getMeetingInfoResponse.getMeeting().getCreateTime().getEpochSecond(), 1453206317376L); + assertEquals(getMeetingInfoResponse.getMeeting().getVoiceBridge(), "70100"); + assertEquals(getMeetingInfoResponse.getMeeting().getDialNumber(), "613-555-1234"); + assertTrue(getMeetingInfoResponse.getMeeting().getRunning()); + assertEquals(getMeetingInfoResponse.getMeeting().getDuration(), 20); + assertTrue(getMeetingInfoResponse.getMeeting().getHasUserJoined()); + assertTrue(getMeetingInfoResponse.getMeeting().getRecording()); + assertFalse(getMeetingInfoResponse.getMeeting().getHasBeenForciblyEnded()); + assertEquals(getMeetingInfoResponse.getMeeting().getStartTime().getEpochSecond(), 1453206317380L); + assertEquals(getMeetingInfoResponse.getMeeting().getEndTime().getEpochSecond(), 1453206325002L); + assertEquals(getMeetingInfoResponse.getMeeting().getParticipantCount(), 2); + assertEquals(getMeetingInfoResponse.getMeeting().getListenerCount(), 1); + assertEquals(getMeetingInfoResponse.getMeeting().getVoiceParticipantCount(), 2); + assertEquals(getMeetingInfoResponse.getMeeting().getVideoCount(), 1); + assertEquals(getMeetingInfoResponse.getMeeting().getModeratorCount(), 2); + assertTrue(getMeetingInfoResponse.getMeeting().getIsBreakout()); + assertEquals(getMeetingInfoResponse.getMeeting().getMaxUsers(), 20); + assertEquals(getMeetingInfoResponse.getMeeting().getSequence(), 1); + assertEquals(getMeetingInfoResponse.getMeeting().getParentMeetingId(), + "b97b512f2c92c0ffe7a3476152525807daa1c676-1524213151782"); + } +} diff --git a/src/test/resources/fixtures/delete_recordings.xml b/src/test/resources/fixtures/delete_recordings.xml new file mode 100644 index 0000000..8d290a9 --- /dev/null +++ b/src/test/resources/fixtures/delete_recordings.xml @@ -0,0 +1,4 @@ + + SUCCESS + true + diff --git a/src/test/resources/fixtures/get_meeting_info.xml b/src/test/resources/fixtures/get_meeting_info.xml new file mode 100644 index 0000000..e07d512 --- /dev/null +++ b/src/test/resources/fixtures/get_meeting_info.xml @@ -0,0 +1,95 @@ + + + SUCCESS + Mock meeting for testing getMeetingInfo API method + 117b12ae2656972d330b6bad58878541-28-15 + 178757fcedd9449054536162cdfe861ddebc70ba-1453206317376 + 1453206317376 + Fri Jan 20 04:56:59 CET 2023 + 70100 + 613-555-1234 + dbfc7207321527bbb870c82028 + 4bfbbeeb4a65cacaefe3676633 + true + 20 + true + true + false + 1453206317380 + 1453206325002 + 2 + 1 + 2 + 1 + 20 + 2 + + + amslzbgzzddp + Ernie Abernathy + MODERATOR + true + false + true + true + HTML5 + + + + xi7y7gpmyq1g + Barrett Kutch + MODERATOR + false + false + true + false + FLASH + + true + #FF0033 + a:focus{color:#0181eb} + + + + srfd2uad4x9s + Peter Parker + VIEWER + false + false + true + true + HTML5 + + + + 6ntb564ibhnq + Bruce Wayne + VIEWER + false + true + false + false + HTML5 + + + + true + b97b512f2c92c0ffe7a3476152525807daa1c676-1524213151782 + 1 + + Best BBB Developers Club + Moodle + + http://bigbluebutton.org/moodle/mod/bigbluebuttonbn/bbb_broker.php?action=recording_ready + + moodle-mod_bigbluebuttonbn (2015080609) + 3.0.2 (Build: 20160111) + + bigbluebutton.org + + Bigbluebutton "Mock meeting for testing getMeetingInfo" + + + + + \ No newline at end of file diff --git a/src/test/resources/fixtures/get_meetings.xml b/src/test/resources/fixtures/get_meetings.xml new file mode 100644 index 0000000..c473c15 --- /dev/null +++ b/src/test/resources/fixtures/get_meetings.xml @@ -0,0 +1,99 @@ + + SUCCESS + + + Prof. Josie Reichert IV + 5cf490a7-2c9a-3571-a48c-134ef58d47c2 + bf32e77309232abb44627ddbb5edd47e0e13e7b8-1554729625768 + 1554729625768 + Mon Apr 08 15:20:25 CEST 2019 + 25304 + (985) 807-9923 + =g.TrpDM=xB.oOW5h|m + $is=CM}xF;108o!Jqd + false + 1913 + false + true + false + 1554729625807 + 0 + 0 + 0 + 0 + 0 + 14 + 0 + + + + Alessandra Funk + http://www.schiller.info/ut-perspiciatis-et-vero-dolorum-repellendus-nesciunt-commodi-voluptate + + + false + + + Barbara Schiller + b2e7555d-b7c6-3b9f-b3ae-4c5754f64427 + 8299be7b3bc6693c3b747fe5178a5f7b6e417ac7-1554729632085 + 1554729632085 + Mon Apr 08 15:20:32 CEST 2019 + 81776 + 1-971-223-6118 x5746 + SlD;CE + 03_bF+p+Fjm|M3 + false + 2873 + false + false + false + 1554729632096 + 0 + 0 + 0 + 0 + 0 + 25 + 0 + + + + Prof. Maud Corkery II + http://www.hegmann.biz/explicabo-praesentium-labore-dolor + + false + + + Marty Lueilwitz + 56e1ae16-3dfc-390d-b0d8-5aa844a25874 + b97b512f2c92c0ffe7a3476152525807daa1c676-1524213158682 + 1453210075799 + Tue Jan 19 08:27:55 EST 2016 + 49518 + 580.124.3937x93615 + f~kxYJeAV~G?Jb+E:ggn + n:"zWc##Bi.y,d^s,mMF + true + 2206 + true + false + false + 1524213049434 + 0 + 5 + 2 + 1 + 3 + 14 + 1 + + + + Consuelo Gleichner IV + http://www.muller.biz/autem-dolor-aut-nam-doloribus-molestiae + + false + + + \ No newline at end of file diff --git a/src/test/resources/fixtures/get_recordings.xml b/src/test/resources/fixtures/get_recordings.xml new file mode 100644 index 0000000..7b945f4 --- /dev/null +++ b/src/test/resources/fixtures/get_recordings.xml @@ -0,0 +1,211 @@ + + SUCCESS + + + f71d810b6e90a4a34ae02b8c7143e8733178578e-1462807897120 + 9d287cf50490ca856ca5273bd303a7e321df6051-4-119[0] + + true + published + 1462807897120 + 1462812873004 + + + + + + + + + + + + + + + + + podcast + https://test-install.blindsidenetworks.com/podcast/f71d810b6e90a4a34ae02b8c7143e8733178578e-1462807897120/audio.ogg + + 111 + 632 + 10500 + + + presentation + http://test-install.blindsidenetworks.com/playback/presentation/0.9.0/playback.html?meetingId=f71d810b6e90a4a34ae02b8c7143e8733178578e-1462807897120 + + 2973 + 532 + 168019 + + + Welcomehttps://test-install.blindsidenetworks.com/presentation/f71d810b6e90a4a34ae02b8c7143e8733178578e-1462807897120/presentation/d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f-1632646357291/thumbnails/thumb-1.png + + Coursehttps://test-install.blindsidenetworks.com/presentation/f71d810b6e90a4a34ae02b8c7143e8733178578e-1462807897120/presentation/d2d9a672040fbde2a47a10bf6c37b6a4b5ae187f-1632646357291/thumbnails/thumb-2.png + + + + + + + + f71d810b6e90a4a34ae02b8c7143e8733178578e-1463153001071 + 9d287cf50490ca856ca5273bd303a7e321df6051-4-119[0] + + true + published + 1463153001071 + 1463163335375 + + + + + + + + + + + + + + + + + presentation + https://test-install.blindsidenetworks.com/playback/presentation/0.9.0/playback.html?meetingId=f71d810b6e90a4a34ae02b8c7143e8733178578e-1463153001071 + + 126 + + + + + f71d810b6e90a4a34ae02b8c7143e8733178578e-1463067444315 + 9d287cf50490ca856ca5273bd303a7e321df6051-4-119[0] + + true + published + 1463067444315 + 1463073048933 + + + + + + + + + + + + + + + + + + presentation + http://test-install.blindsidenetworks.com/playback/presentation/0.9.0/playback.html?meetingId=f71d810b6e90a4a34ae02b8c7143e8733178578e-1463067444315 + + 63 + + + + + f71d810b6e90a4a34ae02b8c7143e8733178578e-1463413631320 + 9d287cf50490ca856ca5273bd303a7e321df6051-4-119[0] + + true + published + 1463413631320 + 1463419560951 + + + + + + + + + + + + + + + + + presentation + http://test-install.blindsidenetworks.com/playback/presentation/0.9.0/playback.html?meetingId=f71d810b6e90a4a34ae02b8c7143e8733178578e-1463413631320 + + 50 + + + + + f71d810b6e90a4a34ae02b8c7143e8733178578e-1462980100026 + 9d287cf50490ca856ca5273bd303a7e321df6051-4-119[0] + + true + published + 1462980100026 + 1462986640649 + + + + + + + + + + + + + + + + + + presentation + http://test-install.blindsidenetworks.com/playback/presentation/0.9.0/playback.html?meetingId=f71d810b6e90a4a34ae02b8c7143e8733178578e-1462980100026 + + 86 + + + + + f71d810b6e90a4a34ae02b8c7143e8733178578e-1462894360422 + 9d287cf50490ca856ca5273bd303a7e321df6051-4-119[0] + + true + published + 1462894360422 + 1462899112563 + + + + + + + + + + + + + + + + + presentation + http://test-install.blindsidenetworks.com/playback/presentation/0.9.0/playback.html?meetingId=f71d810b6e90a4a34ae02b8c7143e8733178578e-1462894360422 + + 46 + + + + + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_create.xml b/src/test/resources/fixtures/hooks_create.xml new file mode 100644 index 0000000..5e97adf --- /dev/null +++ b/src/test/resources/fixtures/hooks_create.xml @@ -0,0 +1,6 @@ + + SUCCESS + 1 + false + false + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_create_error.xml b/src/test/resources/fixtures/hooks_create_error.xml new file mode 100644 index 0000000..40f5d93 --- /dev/null +++ b/src/test/resources/fixtures/hooks_create_error.xml @@ -0,0 +1,5 @@ + + FAILED + createHookError + An error happened while creating your hook. Check the logs. + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_create_existing.xml b/src/test/resources/fixtures/hooks_create_existing.xml new file mode 100644 index 0000000..62ec976 --- /dev/null +++ b/src/test/resources/fixtures/hooks_create_existing.xml @@ -0,0 +1,6 @@ + + SUCCESS + 1 + duplicateWarning + There is already a hook for this callback URL. + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_create_no_hook_id.xml b/src/test/resources/fixtures/hooks_create_no_hook_id.xml new file mode 100644 index 0000000..297fed8 --- /dev/null +++ b/src/test/resources/fixtures/hooks_create_no_hook_id.xml @@ -0,0 +1,5 @@ + + FAILED + missingParamHookID + You must specify a hookID in the parameters. + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_destroy.xml b/src/test/resources/fixtures/hooks_destroy.xml new file mode 100644 index 0000000..2b488e7 --- /dev/null +++ b/src/test/resources/fixtures/hooks_destroy.xml @@ -0,0 +1,4 @@ + + SUCCESS + true + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_destroy_error.xml b/src/test/resources/fixtures/hooks_destroy_error.xml new file mode 100644 index 0000000..6461637 --- /dev/null +++ b/src/test/resources/fixtures/hooks_destroy_error.xml @@ -0,0 +1,5 @@ + + FAILED + destroyHookError + An error happened while removing your hook. Check the logs. + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_destroy_not_found.xml b/src/test/resources/fixtures/hooks_destroy_not_found.xml new file mode 100644 index 0000000..810b17c --- /dev/null +++ b/src/test/resources/fixtures/hooks_destroy_not_found.xml @@ -0,0 +1,5 @@ + + FAILED + destroyMissingHook + The hook informed was not found. + \ No newline at end of file diff --git a/src/test/resources/fixtures/hooks_list.xml b/src/test/resources/fixtures/hooks_list.xml new file mode 100644 index 0000000..9e8fc9b --- /dev/null +++ b/src/test/resources/fixtures/hooks_list.xml @@ -0,0 +1,18 @@ + + SUCCESS + + + 1 + + + false + false + + + 2 + + false + false + + + \ No newline at end of file diff --git a/src/test/resources/fixtures/insert_document.xml b/src/test/resources/fixtures/insert_document.xml new file mode 100644 index 0000000..97d29a6 --- /dev/null +++ b/src/test/resources/fixtures/insert_document.xml @@ -0,0 +1,4 @@ + + SUCCESS + Presentation is being uploaded + diff --git a/src/test/resources/fixtures/insert_document_presentations.xml b/src/test/resources/fixtures/insert_document_presentations.xml new file mode 100644 index 0000000..7fcdca4 --- /dev/null +++ b/src/test/resources/fixtures/insert_document_presentations.xml @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/src/test/resources/fixtures/presentation_with_embedded_file.xml b/src/test/resources/fixtures/presentation_with_embedded_file.xml new file mode 100644 index 0000000..9a05a48 --- /dev/null +++ b/src/test/resources/fixtures/presentation_with_embedded_file.xml @@ -0,0 +1,7 @@ + + + + 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 + + + diff --git a/src/test/resources/fixtures/presentation_with_filename.xml b/src/test/resources/fixtures/presentation_with_filename.xml new file mode 100644 index 0000000..cea9572 --- /dev/null +++ b/src/test/resources/fixtures/presentation_with_filename.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/fixtures/presentation_with_url.xml b/src/test/resources/fixtures/presentation_with_url.xml new file mode 100644 index 0000000..9050bd6 --- /dev/null +++ b/src/test/resources/fixtures/presentation_with_url.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/test/resources/fixtures/publish_recordings.xml b/src/test/resources/fixtures/publish_recordings.xml new file mode 100644 index 0000000..aa97292 --- /dev/null +++ b/src/test/resources/fixtures/publish_recordings.xml @@ -0,0 +1,4 @@ + + SUCCESS + true + diff --git a/src/test/resources/fixtures/update_recordings.xml b/src/test/resources/fixtures/update_recordings.xml new file mode 100644 index 0000000..1852d80 --- /dev/null +++ b/src/test/resources/fixtures/update_recordings.xml @@ -0,0 +1,4 @@ + + SUCCESS + true + From f3b9797f6cd95ef55215640a5530c72c820fa5ff Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Tue, 16 May 2023 12:20:34 +0100 Subject: [PATCH 09/17] Add MetaParameters and UserDataParameters implementation. --- .../org/bigbluebutton/api/ApiMetaParams.java | 42 +++++++++++++ .../bigbluebutton/api/ApiUserDataParams.java | 62 +++++++++++++++++++ .../parameters/CreateMeetingParameters.java | 4 +- .../GetRecordingTextTracksParameters.java | 3 +- .../parameters/GetRecordingsParameters.java | 3 +- .../api/parameters/JoinMeetingParameters.java | 6 +- .../api/parameters/MetaParameters.java | 47 ++++++++++++++ .../UpdateRecordingsParameters.java | 3 +- .../api/parameters/UserDataParameters.java | 48 ++++++++++++++ 9 files changed, 212 insertions(+), 6 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/ApiMetaParams.java create mode 100644 src/main/java/org/bigbluebutton/api/ApiUserDataParams.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/UserDataParameters.java diff --git a/src/main/java/org/bigbluebutton/api/ApiMetaParams.java b/src/main/java/org/bigbluebutton/api/ApiMetaParams.java new file mode 100644 index 0000000..b347f77 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/ApiMetaParams.java @@ -0,0 +1,42 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import java.util.regex.Pattern; + +public class ApiMetaParams { + + // Meta prefix + public static String META_PREFIX = "meta_"; + + // Official meta regex pattern + public static final Pattern META_VAR_PATTERN = Pattern.compile("meta_[a-zA-Z][a-zA-Z0-9-]*$"); + + // Predefined metas + public static String END_CALLBACK_URL = "endCallbackUrl"; + public static String BBB_RECORDING_READY_URL = "bbb-recording-ready-url"; + public static String CANVAS_RECORDING_READY_URL = "canvas-recording-ready-url"; + public static String BBB_ANONYMIZE_CHAT = "bbb-anonymize-chat"; + public static String BBB_ANONYMIZE_MODERATORS = "bbb-anonymize-moderators"; + public static String HACK_RECORD_VIEWER_VIDEO = "hack-record-viewer-video"; + + private ApiMetaParams() { + throw new IllegalStateException("ApiMetaParams is a utility class. Instanciation is forbidden."); + } +} diff --git a/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java b/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java new file mode 100644 index 0000000..2b121e3 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java @@ -0,0 +1,62 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +// https://github.com/bigbluebutton/bigbluebutton/blob/develop/bigbluebutton-html5/imports/api/users-settings/server/methods/addUserSettings.js +// https://github.com/bigbluebutton/bigbluebutton/blob/develop/bigbluebutton-tests/puppeteer/customparameters/constants.js +public class ApiUserDataParams { + + // Meta prefix + public static String USERDATA_PREFIX = "userdata-"; + + // Predefined metas + public static String BBB_ASK_FOR_FEEDBACK_ON_LOGOUT = "bbb_ask_for_feedback_on_logout"; + public static String bbb_override_default_locale = "bbb_override_default_locale"; + public static String BBB_AUTO_JOIN_AUDIO = "bbb_auto_join_audio"; + public static String BBB_AUTO_SHARE_WEBCAM = "bbb_auto_share_webcam"; + public static String BBB_PREFERRED_CAMERA_PROFILE = "bbb_preferred_camera_profile"; + public static String BBB_CLIENT_TITLE = "bbb_client_title"; + public static String BBB_CUSTOM_STYLE = "bbb_custom_style"; + public static String BBB_CUSTOM_STYLE_URL = "bbb_custom_style_url"; + public static String BBB_SKIP_CHECK_AUDIO_ON_FIRST_JOIN = "bbb_skip_check_audio_on_first_join"; + public static String BBB_DISPLAY_BRANDING_AREA = "bbb_display_branding_area"; + public static String BBB_ENABLE_VIDEO = "bbb_enable_video"; + public static String BBB_RECORD_VIDEO = "bbb_record_video"; + public static String BBB_SKIP_VIDEO_PREVIEW = "bbb_skip_video_preview"; + public static String BBB_SKIP_VIDEO_PREVIEW_ON_FIRST_JOIN = "bbb_skip_video_preview_on_first_join"; + public static String BBB_MIRROR_OWN_WEBCAM = "bbb_mirror_own_webcam"; + public static String BBB_FORCE_RESTORE_PRESENTATION_ON_NEW_EVENTS = "bbb_force_restore_presentation_on_new_events"; + public static String BBB_FORCE_LISTEN_ONLY = "bbb_force_listen_only"; + public static String BBB_HIDE_PRESENTATION = "bbb_hide_presentation"; + public static String BBB_LISTEN_ONLY_MODE = "bbb_listen_only_mode"; + public static String BBB_MULTI_USER_PEN_ONLY = "bbb_multi_user_pen_only"; + public static String BBB_MULTI_USER_TOOLS = "bbb_multi_user_tools"; + public static String BBB_PRESENTER_TOOLS = "bbb_presenter_tools"; + public static String BBB_SHORTCUTS = "bbb_shortcuts"; + public static String BBB_SKIP_CHECK_AUDIO = "bbb_skip_check_audio"; + public static String BBB_HIDE_PRESENTATION_ON_JOIN = "bbb_hide_presentation_on_join"; + public static String BBB_SHOW_PARTICIPANTS_ON_LOGIN = "bbb_show_participants_on_login"; + public static String BBB_HIDE_ACTIONS_BAR = "bbb_hide_actions_bar"; + public static String BBB_HIDE_NAV_BAR = "bbb_hide_nav_bar"; + public static String BBB_CHANGE_LAYOUT = "bbb_change_layout"; + + private ApiUserDataParams() { + throw new IllegalStateException("ApiUserDataParams is a utility class. Instanciation is forbidden."); + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 2115d8b..0cb31a1 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -33,7 +33,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class CreateMeetingParameters extends BaseParameters { +public class CreateMeetingParameters extends MetaParameters { @Getter protected String name; @@ -289,6 +289,8 @@ public List getQueryParms() throws UnsupportedEncodingException { // disabledFeatures // groups // pre-uploaded documents + + this.buildHTTPMeta(params); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java index f803063..46665ca 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java @@ -29,7 +29,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class GetRecordingTextTracksParameters extends BaseParameters { +public class GetRecordingTextTracksParameters extends MetaParameters { @Getter protected String recordId; @@ -37,6 +37,7 @@ public class GetRecordingTextTracksParameters extends BaseParameters { public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + this.buildHTTPMeta(params); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java index f59528c..9b2108a 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java @@ -30,7 +30,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class GetRecordingsParameters extends BaseParameters { +public class GetRecordingsParameters extends MetaParameters { @Getter protected String meetingId; @@ -57,6 +57,7 @@ public List getQueryParms() throws UnsupportedEncodingException { addStringValue(params, ApiParams.RECORD_ID, getRecordId()); addIntegerValue(params, ApiParams.OFFSET, getOffset()); addIntegerValue(params, ApiParams.LIMIT, getLimit()); + this.buildHTTPMeta(params); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java index d2267a0..3accca7 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/JoinMeetingParameters.java @@ -32,7 +32,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class JoinMeetingParameters extends BaseParameters { +public class JoinMeetingParameters extends UserDataParameters { @Getter protected String fullName; @@ -94,7 +94,9 @@ public List getQueryParms() throws UnsupportedEncodingException { addStringValue(params, ApiParams.AVATAR_URL, getAvatarURL()); addBooleanValue(params, ApiParams.REDIRECT, getRedirect()); addBooleanValue(params, ApiParams.EXCLUDE_FROM_DASHBOARD, getExcludeFromDashboard()); - // buildMeta + + this.buildHTTPUserData(params); + return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java b/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java new file mode 100644 index 0000000..b487b1d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java @@ -0,0 +1,47 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.util.HashMap; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.apache.hc.core5.http.message.BasicNameValuePair; +import org.bigbluebutton.api.ApiMetaParams; + +public abstract class MetaParameters extends BaseParameters { + + protected HashMap metas; + + public MetaParameters() { + metas = new HashMap<>(); + } + + public String getMeta(String name) { + return metas.get(name); + } + + public void addMeta(String key, String value) { + metas.put(key, value); + } + + protected void buildHTTPMeta(List params) { + metas.forEach((key, value) -> params.add(new BasicNameValuePair(ApiMetaParams.META_PREFIX + key, value))); + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java index 12427b8..b70ca2b 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java @@ -29,7 +29,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class UpdateRecordingsParameters extends BaseParameters { +public class UpdateRecordingsParameters extends MetaParameters { @Getter protected String recordId; @@ -41,6 +41,7 @@ public UpdateRecordingsParameters(String meetingId, Boolean publish) { public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + this.buildHTTPMeta(params); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/UserDataParameters.java b/src/main/java/org/bigbluebutton/api/parameters/UserDataParameters.java new file mode 100644 index 0000000..274a1b4 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/UserDataParameters.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.util.HashMap; +import java.util.List; + +import org.apache.hc.core5.http.NameValuePair; +import org.apache.hc.core5.http.message.BasicNameValuePair; +import org.bigbluebutton.api.ApiUserDataParams; + +public abstract class UserDataParameters extends BaseParameters { + + protected HashMap userData; + + public UserDataParameters() { + userData = new HashMap<>(); + } + + public String getMeta(String name) { + return userData.get(name); + } + + public void addMeta(String key, String value) { + userData.put(key, value); + } + + protected void buildHTTPUserData(List params) { + userData.forEach( + (key, value) -> params.add(new BasicNameValuePair(ApiUserDataParams.USERDATA_PREFIX + key, value))); + } +} From 9f6ae66414b804630c55e50aa70e02729b93e87a Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Tue, 16 May 2023 14:23:09 +0100 Subject: [PATCH 10/17] Add presentation to create and insertDocument API. --- pom.xml | 5 + .../parameters/CreateMeetingParameters.java | 30 +++- .../api/parameters/Documentable.java | 37 +++++ .../api/parameters/DocumentableTrait.java | 129 ++++++++++++++++++ .../parameters/InsertDocumentParameters.java | 31 ++++- 5 files changed, 230 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/parameters/Documentable.java create mode 100644 src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java diff --git a/pom.xml b/pom.xml index 91db548..9a02cb7 100644 --- a/pom.xml +++ b/pom.xml @@ -35,6 +35,11 @@ httpclient5 5.2.1 + + commons-io + commons-io + 2.11.0 + com.fasterxml.jackson.core jackson-core diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 0cb31a1..97cb4d7 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -18,10 +18,16 @@ package org.bigbluebutton.api.parameters; +import java.io.File; +import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URI; import java.util.ArrayList; import java.util.List; +import java.util.Map; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.hc.core5.http.NameValuePair; import org.bigbluebutton.api.ApiParams; @@ -33,7 +39,9 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class CreateMeetingParameters extends MetaParameters { +public class CreateMeetingParameters extends MetaParameters implements Documentable { + + private DocumentableTrait documentableTrait = new DocumentableTrait(); @Getter protected String name; @@ -293,4 +301,24 @@ public List getQueryParms() throws UnsupportedEncodingException { this.buildHTTPMeta(params); return params; } + + @Override + public Map getPresentations() { + return documentableTrait.getPresentations(); + } + + @Override + public void addPresentation(String name, URI url) { + documentableTrait.addPresentation(name, url); + } + + @Override + public void addPresentation(String name, File file) throws IOException { + documentableTrait.addPresentation(name, file); + } + + @Override + public String getPresentationsAsXML() throws ParserConfigurationException, TransformerException { + return documentableTrait.getPresentationsAsXML(); + } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/Documentable.java b/src/main/java/org/bigbluebutton/api/parameters/Documentable.java new file mode 100644 index 0000000..8331c8e --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/Documentable.java @@ -0,0 +1,37 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.File; +import java.io.IOException; +import java.net.URI; +import java.util.Map; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; + +public interface Documentable { + Map getPresentations(); + + public void addPresentation(String name, URI url); + + public void addPresentation(String name, File file) throws IOException; + + public String getPresentationsAsXML() throws ParserConfigurationException, TransformerException; +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java b/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java new file mode 100644 index 0000000..57e967c --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java @@ -0,0 +1,129 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.parameters; + +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URL; +import java.nio.charset.StandardCharsets; +import java.util.Base64; +import java.util.LinkedHashMap; +import java.util.Map; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.apache.commons.io.FileUtils; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +public class DocumentableTrait implements Documentable { + + private Map presentations = new LinkedHashMap<>(); + + @Override + public Map getPresentations() { + return presentations; + } + + @Override + public void addPresentation(String name, URI url) { + presentations.put(name, url.toString()); + } + + @Override + public void addPresentation(String name, File file) throws IOException { + presentations.put(name, base64EncodeFile(file)); + } + + @Override + public String getPresentationsAsXML() throws ParserConfigurationException, TransformerException { + if (presentations.isEmpty()) { + return null; + } + + DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); + DocumentBuilder docBuilder = docFactory.newDocumentBuilder(); + Document doc = docBuilder.newDocument(); + + Element modulesElement = doc.createElement("modules"); + doc.appendChild(modulesElement); + + Element moduleElement = doc.createElement("module"); + moduleElement.setAttribute("name", "presentation"); + modulesElement.appendChild(moduleElement); + + for (Map.Entry entry : presentations.entrySet()) { + String nameOrUrl = entry.getKey(); + String content = entry.getValue(); + + Element documentElement = doc.createElement("document"); + + if (isURL(nameOrUrl)) { + documentElement.setAttribute("url", nameOrUrl); + if (isBase64(content)) { + documentElement.setAttribute("filename", content); + } + } else { + documentElement.setAttribute("name", nameOrUrl); + documentElement.setTextContent(content); + } + + moduleElement.appendChild(documentElement); + } + + TransformerFactory transformerFactory = TransformerFactory.newInstance(); + Transformer transformer = transformerFactory.newTransformer(); + DOMSource source = new DOMSource(doc); + StreamResult result = new StreamResult(System.out); + + transformer.transform(source, result); + + return result.getWriter().toString(); + } + + private boolean isURL(String str) { + try { + new URL(str); + return true; + } catch (MalformedURLException e) { + return false; + } + } + + private boolean isBase64(String str) { + byte[] decodedBytes = Base64.getDecoder().decode(str); + String decodedString = new String(decodedBytes, StandardCharsets.UTF_8); + // Check if the decoded string contains valid characters for Base64 data + return Base64.getEncoder().encodeToString(decodedString.getBytes(StandardCharsets.UTF_8)).equals(str); + } + + private String base64EncodeFile(File file) throws IOException { + byte[] fileContent = FileUtils.readFileToByteArray(file); + return Base64.getEncoder().encodeToString(fileContent); + } +} \ No newline at end of file diff --git a/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java b/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java index 2a8e80e..3ad84b8 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java @@ -18,9 +18,16 @@ package org.bigbluebutton.api.parameters; +import java.io.File; +import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.net.URI; import java.util.ArrayList; import java.util.List; +import java.util.Map; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.hc.core5.http.NameValuePair; import org.bigbluebutton.api.ApiParams; @@ -29,7 +36,9 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class InsertDocumentParameters extends BaseParameters { +public class InsertDocumentParameters extends BaseParameters implements Documentable { + + private DocumentableTrait documentableTrait = new DocumentableTrait(); @Getter protected String meetingId; @@ -43,4 +52,24 @@ public List getQueryParms() throws UnsupportedEncodingException { addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); return params; } + + @Override + public Map getPresentations() { + return documentableTrait.getPresentations(); + } + + @Override + public void addPresentation(String name, URI url) { + documentableTrait.addPresentation(name, url); + } + + @Override + public void addPresentation(String name, File file) throws IOException { + documentableTrait.addPresentation(name, file); + } + + @Override + public String getPresentationsAsXML() throws ParserConfigurationException, TransformerException { + return documentableTrait.getPresentationsAsXML(); + } } From f8d98df9af82d5edc332913b6842dd98ee658605 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Tue, 16 May 2023 15:30:02 +0100 Subject: [PATCH 11/17] Implement create API with POST HTTP. --- .../bigbluebutton/api/BigBlueButtonAPI.java | 51 +++++++++++++++--- .../bigbluebutton/api/enums/GuestPolicy.java | 3 +- .../api/parameters/BaseParameters.java | 3 +- .../api/BigBlueButtonAPITest.java | 6 ++- .../api/enums/GuestPolicyTest.java | 1 + .../responses/CreateMeetingResponseTest.java | 2 + src/test/resources/fixtures/bbb_logo.png | Bin 0 -> 12784 bytes .../fixtures/get_recording_text_tracks.json | 28 ++++++++++ .../put_recording_text_track_success.json | 8 +++ 9 files changed, 90 insertions(+), 12 deletions(-) create mode 100644 src/test/resources/fixtures/bbb_logo.png create mode 100644 src/test/resources/fixtures/get_recording_text_tracks.json create mode 100644 src/test/resources/fixtures/put_recording_text_track_success.json diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 0c370d8..eef0be0 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -23,12 +23,18 @@ import java.net.MalformedURLException; import java.net.URI; import java.net.URISyntaxException; +import java.nio.charset.StandardCharsets; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.apache.hc.client5.http.classic.HttpClient; import org.apache.hc.client5.http.classic.methods.HttpGet; +import org.apache.hc.client5.http.classic.methods.HttpPost; +import org.apache.hc.client5.http.classic.methods.HttpUriRequestBase; import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.apache.hc.core5.http.HttpHeaders; +import org.apache.hc.core5.http.io.entity.StringEntity; import org.bigbluebutton.api.handlers.ApiResponseHandler; import org.bigbluebutton.api.parameters.CreateMeetingParameters; import org.bigbluebutton.api.parameters.EndMeetingParameters; @@ -56,6 +62,10 @@ public class BigBlueButtonAPI { @Setter protected String baseServerURL; + @Getter + @Setter + protected Integer timeout = 10; + protected URLBuilder urlBuilder; /** @@ -92,9 +102,9 @@ public URI getCreateMeetingURL(CreateMeetingParameters createMeetingParams) public CreateMeetingResponse createMeeting(CreateMeetingParameters createMeetingParams) throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, - ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - return sendApiRequest(getCreateMeetingURL(createMeetingParams), CreateMeetingResponse.class); - + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { + return sendApiRequest(getCreateMeetingURL(createMeetingParams), createMeetingParams.getPresentationsAsXML(), + CreateMeetingResponse.class); } public URI getEndMeetingURL(EndMeetingParameters endMeetingParams) @@ -111,20 +121,45 @@ public EndMeetingResponse endMeeting(EndMeetingParameters endMeetingParams) public T sendApiRequest(URI uri, Class responseType) throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { - return xmlMapper.readValue(this.sendRequest(uri), responseType); + return xmlMapper.readValue(this.sendRequest(uri, null), responseType); + } + + public T sendApiRequest(URI uri, String payload, Class responseType) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return xmlMapper.readValue(this.sendRequest(uri, payload), responseType); } protected String sendRequest(URI uri) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException { - return this.sendRequest(uri, "", "application/xml"); + return this.sendRequest(uri, null, "application/xml"); + } + + protected String sendRequest(URI uri, String payload) throws MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException { + return this.sendRequest(uri, payload, "application/xml"); } protected String sendRequest(URI uri, String payload, String contentType) throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException { // Open a connection to the API endpoint - HttpClient httpClient = HttpClientBuilder.create().build(); - HttpGet httpGet = new HttpGet(uri); + HttpClient httpClient = HttpClientBuilder.create().build(); + HttpUriRequestBase httpRequest; + if (payload == null) { + httpRequest = new HttpGet(uri); + } else { + httpRequest = new HttpPost(uri); + // Set the payload as the request entity + StringEntity requestEntity = new StringEntity(payload); + httpRequest.setEntity(requestEntity); + httpRequest.setHeader(HttpHeaders.CONTENT_TYPE, contentType); + httpRequest.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(payload.length())); + } + + httpRequest.setHeader(HttpHeaders.CONTENT_ENCODING, StandardCharsets.UTF_8); + httpRequest.setHeader(HttpHeaders.TIMEOUT, this.timeout); + ApiResponseHandler apiResponseHandler = new ApiResponseHandler(); - return httpClient.execute(httpGet, apiResponseHandler); + return httpClient.execute(httpRequest, apiResponseHandler); } } diff --git a/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java b/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java index d902e6d..24e17d5 100644 --- a/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java +++ b/src/main/java/org/bigbluebutton/api/enums/GuestPolicy.java @@ -22,7 +22,8 @@ public enum GuestPolicy { - ALWAYS_ACCEPT("ALWAYS_ACCEPT"), ALWAYS_DENY("ALWAYS_DENY"), ASK_MODERATOR("ASK_MODERATOR"); + ALWAYS_ACCEPT("ALWAYS_ACCEPT"), ALWAYS_DENY("ALWAYS_DENY"), ASK_MODERATOR("ASK_MODERATOR"), + ALWAYS_ACCEPT_AUTH("ALWAYS_ACCEPT_AUTH"); @Getter private String name; diff --git a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java index 14eedc4..aee9b2c 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java @@ -21,6 +21,7 @@ import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import java.util.List; import org.apache.hc.core5.http.NameValuePair; @@ -55,6 +56,6 @@ protected void addUriValue(List params, String name, URI value) { } protected String urlEncode(String value) throws UnsupportedEncodingException { - return URLEncoder.encode(value, "UTF-8"); + return URLEncoder.encode(value, StandardCharsets.UTF_8); } } diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index dd549f0..63c63a2 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -25,6 +25,7 @@ import java.net.URISyntaxException; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; import org.bigbluebutton.api.parameters.CreateMeetingParameters; import org.bigbluebutton.api.parameters.EndMeetingParameters; @@ -64,8 +65,9 @@ public void fetchAPIVersion() throws MalformedURLException, IOException, ParserC @Test @DisplayName("BigBlueButton Create meeting") - public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingException, MalformedURLException, - IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + public void shouldCreateMeeting() + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); assertEquals(createMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); diff --git a/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java b/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java index 39f87ab..8a83bbf 100644 --- a/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java +++ b/src/test/java/org/bigbluebutton/api/enums/GuestPolicyTest.java @@ -32,5 +32,6 @@ void featureNamesShouldMatch() { assertEquals(GuestPolicy.ALWAYS_ACCEPT.getName(), "ALWAYS_ACCEPT"); assertEquals(GuestPolicy.ALWAYS_DENY.getName(), "ALWAYS_DENY"); assertEquals(GuestPolicy.ASK_MODERATOR.getName(), "ASK_MODERATOR"); + assertEquals(GuestPolicy.ALWAYS_ACCEPT_AUTH.getName(), "ALWAYS_ACCEPT_AUTH"); } } diff --git a/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java index 8363385..321357d 100644 --- a/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java @@ -20,6 +20,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.IOException; @@ -60,5 +61,6 @@ void testCreateMeetingResponseContent() throws StreamReadException, DatabindExce assertEquals(createResponse.getMessageKey(), "duplicateWarning"); assertEquals(createResponse.getMessage(), "This conference was already in existence and may currently be in progress."); + assertTrue(createResponse.hasParent()); } } diff --git a/src/test/resources/fixtures/bbb_logo.png b/src/test/resources/fixtures/bbb_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..00dcf947bcb000a28b7f1f71c09dd1cb05724928 GIT binary patch literal 12784 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 Date: Tue, 16 May 2023 19:47:17 +0100 Subject: [PATCH 12/17] Improve recordings API classes to accept multiple meeting ids and record ids whenever possible. --- README.md | 33 +++++++++++-------- pom.xml | 22 +++++++++++++ .../java/org/bigbluebutton/api/ApiParams.java | 4 +++ .../bigbluebutton/api/BigBlueButtonAPI.java | 2 ++ .../bigbluebutton/api/enums/CaptionsKind.java | 32 ++++++++++++++++++ .../api/parameters/BaseParameters.java | 2 +- .../DeleteRecordingsParameters.java | 16 ++++++--- .../GetRecordingTextTracksParameters.java | 4 +++ .../parameters/GetRecordingsParameters.java | 30 ++++++++++++----- .../PublishRecordingsParameters.java | 22 ++++++++++--- .../PutRecordingTextTrackParameters.java | 20 ++++++++--- .../UpdateRecordingsParameters.java | 16 ++++++--- 12 files changed, 163 insertions(+), 40 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/enums/CaptionsKind.java diff --git a/README.md b/README.md index 333d8b8..c40a7b7 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,28 @@ - -# BigBlueButton API for Java +# BigBlueButton API Library for Java ![Home Image](https://raw.githubusercontent.com/wiki/bigbluebutton/bigbluebutton-api-java/images/header.png) -Requirements: JVM 11 +## Description + +Official Java Library from BigBlueButton API. + +## Requirements + + - JVM 11+ + - BigBlueButton 2.6+ + +## Installation + +### Using maven + +## Maintainers + + - [Ghazi Triki](ghazi.triki@riadvice.tn) from [RIADVICE](https://riadvice.tn) + +## Build ```bash mvn formatter:format && mvn package ``` ---- OLD NOTES --- -Special note: -1. This project used Lombok library, if you want to deploy this project, make sure you have Lombok installed. To install, follow the following steps: - - download from https://projectlombok.org/download - - go to the location where the Lombar.jar was downloaded, and run "java -jar lombok.jar", change the jar file name to the name of the lombok jar file that you downloaded - - after you run the previous step, a window should appear, brownse to your editor location (for eclipse, it's where eclipse.exe is located) - - click install - - launch Eclipse (or other IDE) - - add the zomlok library to your project (right click on the properties -> Java Build Path -> Libraries -> add Extenal JARs -> select the lombok jar file that you just downloaded -> Apply and Close - +## Support diff --git a/pom.xml b/pom.xml index 9a02cb7..32594f5 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,28 @@ BigBlueButton Java API https://bigbluebutton.org + + + GhaziTriki + Ghazi Triki + ghazi.triki@riadvice.tn + RIADVICE + htttps://riadvice.tn + + architect + developer + + Africa/Tunis + + + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + 11 2.15.0 diff --git a/src/main/java/org/bigbluebutton/api/ApiParams.java b/src/main/java/org/bigbluebutton/api/ApiParams.java index 34426f8..7e03592 100644 --- a/src/main/java/org/bigbluebutton/api/ApiParams.java +++ b/src/main/java/org/bigbluebutton/api/ApiParams.java @@ -51,6 +51,10 @@ public class ApiParams { public static final String PARENT_MEETING_ID = "parentMeetingID"; public static final String RECORD = "record"; public static final String RECORD_ID = "recordID"; + public static final String KIND = "kind"; + public static final String LANG = "lang"; + public static final String LABEL = "label"; + public static final String STATE = "state"; public static final String PUBLISH = "publish"; public static final String OFFSET = "offset"; public static final String LIMIT = "limit"; diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index eef0be0..37fd2a2 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -118,6 +118,8 @@ public EndMeetingResponse endMeeting(EndMeetingParameters endMeetingParams) return sendApiRequest(getEndMeetingURL(endMeetingParams), EndMeetingResponse.class); } + // Common methods + public T sendApiRequest(URI uri, Class responseType) throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { diff --git a/src/main/java/org/bigbluebutton/api/enums/CaptionsKind.java b/src/main/java/org/bigbluebutton/api/enums/CaptionsKind.java new file mode 100644 index 0000000..5b839df --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/enums/CaptionsKind.java @@ -0,0 +1,32 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.enums; + +import lombok.Getter; + +public enum CaptionsKind { + SUBTITLES("subtitles"), CAPTIONS("captions"); + + @Getter + private String name; + + CaptionsKind(String name) { + this.name = name; + } +} diff --git a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java index aee9b2c..dac82ec 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/BaseParameters.java @@ -31,7 +31,7 @@ public abstract class BaseParameters { protected void addStringValue(List params, String name, String value) throws UnsupportedEncodingException { - if (value != null) { + if (value != null && !value.isEmpty()) { params.add(new BasicNameValuePair(name, this.urlEncode(value))); } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java index 62357e9..f1f3e0f 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/DeleteRecordingsParameters.java @@ -32,17 +32,23 @@ public class DeleteRecordingsParameters extends BaseParameters { @Getter - protected String recordId; + List recordIds = new ArrayList<>(); - // @todo handle multiple recordings + public DeleteRecordingsParameters(List recordIds) { + this.recordIds = recordIds; + } + + public DeleteRecordingsParameters(String recordId) { + this.recordIds.add(recordId); + } - public DeleteRecordingsParameters(String meetingId) { - this.recordId = meetingId; + public void addRecordId(String recordId) { + recordIds.add(recordId); } public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); - addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + addStringValue(params, ApiParams.RECORD_ID, String.join(",", recordIds)); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java index 46665ca..3bf7108 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingTextTracksParameters.java @@ -34,6 +34,10 @@ public class GetRecordingTextTracksParameters extends MetaParameters { @Getter protected String recordId; + public GetRecordingTextTracksParameters(String recordId) { + this.recordId = recordId; + } + public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); addStringValue(params, ApiParams.RECORD_ID, getRecordId()); diff --git a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java index 9b2108a..814b178 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/GetRecordingsParameters.java @@ -21,6 +21,7 @@ import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; import org.apache.hc.core5.http.NameValuePair; import org.bigbluebutton.api.ApiParams; @@ -33,17 +34,16 @@ public class GetRecordingsParameters extends MetaParameters { @Getter - protected String meetingId; + List meetingIds = new ArrayList<>(); @Getter - protected String recordId; - - // @todo handle multiple recordings + List recordIds = new ArrayList<>(); @Getter - protected RecordingState state; + protected String recordId; - // @todo handle multiple states + @Getter + protected List states; @Getter protected Integer offset; @@ -51,10 +51,24 @@ public class GetRecordingsParameters extends MetaParameters { @Getter protected Integer limit; + public void addMeetingId(String meetingId) { + meetingIds.add(meetingId); + } + + public void addRecordId(String recordId) { + recordIds.add(recordId); + } + + public void addState(RecordingState state) { + states.add(state); + } + public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); - addStringValue(params, ApiParams.MEETING_ID, getMeetingId()); - addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + addStringValue(params, ApiParams.MEETING_ID, String.join(",", meetingIds)); + addStringValue(params, ApiParams.RECORD_ID, String.join(",", recordIds)); + addStringValue(params, ApiParams.STATE, + String.join(",", states.stream().collect(Collectors.mapping(Enum::name, Collectors.joining(","))))); addIntegerValue(params, ApiParams.OFFSET, getOffset()); addIntegerValue(params, ApiParams.LIMIT, getLimit()); this.buildHTTPMeta(params); diff --git a/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java index 13e148d..853ac15 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/PublishRecordingsParameters.java @@ -32,15 +32,29 @@ public class PublishRecordingsParameters extends BaseParameters { @Getter - protected String recordId; + List recordIds = new ArrayList<>(); - public PublishRecordingsParameters(String meetingId, Boolean publish) { - this.recordId = meetingId; + @Getter + protected Boolean publish; + + public void addRecordId(String recordId) { + recordIds.add(recordId); + } + + public PublishRecordingsParameters(List recordIds, Boolean publish) { + this.recordIds = recordIds; + this.publish = publish; + } + + public PublishRecordingsParameters(String recordId, Boolean publish) { + this.recordIds.add(recordId); + this.publish = publish; } public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); - addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + addStringValue(params, ApiParams.RECORD_ID, String.join(",", recordIds)); + addBooleanValue(params, ApiParams.PUBLISH, getPublish()); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java b/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java index 246776a..0819a52 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/PutRecordingTextTrackParameters.java @@ -24,6 +24,7 @@ import org.apache.hc.core5.http.NameValuePair; import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.enums.CaptionsKind; import lombok.Getter; import lombok.experimental.Accessors; @@ -35,18 +36,27 @@ public class PutRecordingTextTrackParameters extends BaseParameters { protected String recordId; @Getter - protected Boolean publish; - // @todo handle multiple recordings + protected CaptionsKind kind; - public PutRecordingTextTrackParameters(String meetingId, Boolean publish) { + @Getter + protected String lang; + + @Getter + protected String label; + + public PutRecordingTextTrackParameters(String meetingId, CaptionsKind kind, String lang, String label) { this.recordId = meetingId; - this.publish = publish; + this.kind = kind; + this.lang = lang; + this.label = label; } public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); addStringValue(params, ApiParams.RECORD_ID, getRecordId()); - addBooleanValue(params, ApiParams.PUBLISH, getPublish()); + addStringValue(params, ApiParams.KIND, getKind().getName()); + addStringValue(params, ApiParams.LANG, getLang()); + addStringValue(params, ApiParams.LABEL, getLabel()); return params; } } diff --git a/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java b/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java index b70ca2b..d6e18e7 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/UpdateRecordingsParameters.java @@ -32,15 +32,23 @@ public class UpdateRecordingsParameters extends MetaParameters { @Getter - protected String recordId; + List recordIds = new ArrayList<>(); - public UpdateRecordingsParameters(String meetingId, Boolean publish) { - this.recordId = meetingId; + public UpdateRecordingsParameters(List recordIds) { + this.recordIds = recordIds; + } + + public UpdateRecordingsParameters(String recordId) { + this.recordIds.add(recordId); + } + + public void addRecordId(String recordId) { + recordIds.add(recordId); } public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); - addStringValue(params, ApiParams.RECORD_ID, getRecordId()); + addStringValue(params, ApiParams.RECORD_ID, String.join(",", recordIds)); this.buildHTTPMeta(params); return params; } From 7ed4a909b03aebc12fc4a15bf7a43afbdedf7f5a Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Tue, 16 May 2023 20:20:19 +0100 Subject: [PATCH 13/17] Make HashingAlgorithm configurable for BigBlueButton API. --- .../bigbluebutton/api/BigBlueButtonAPI.java | 11 ++++++- .../bigbluebutton/api/HashingAlgorithms.java | 31 +++++++++++++++++ .../bigbluebutton/api/util/URLBuilder.java | 33 +++++++++++++++---- 3 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/HashingAlgorithms.java diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 37fd2a2..20e0374 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -66,6 +66,10 @@ public class BigBlueButtonAPI { @Setter protected Integer timeout = 10; + @Getter + @Setter + protected String hashingAlgorithm = HashingAlgorithms.SHA_256; + protected URLBuilder urlBuilder; /** @@ -77,13 +81,18 @@ public BigBlueButtonAPI() { this(System.getenv("BBB_SERVER_BASE_URL"), System.getenv("BBB_SECURITY_SALT")); } + public BigBlueButtonAPI(String hashingAlgorithm) { + this(); + this.hashingAlgorithm = hashingAlgorithm; + } + public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.baseServerURL = baseUrl; this.securitySalt = securitySalt; this.xmlMapper = new XmlMapper(); xmlMapper.registerModule(new JavaTimeModule()); xmlMapper.findAndRegisterModules(); - this.urlBuilder = new URLBuilder(baseUrl, securitySalt); + this.urlBuilder = new URLBuilder(this.baseServerURL, this.securitySalt, this.hashingAlgorithm); } public URI getApiVersionURL() throws URISyntaxException { diff --git a/src/main/java/org/bigbluebutton/api/HashingAlgorithms.java b/src/main/java/org/bigbluebutton/api/HashingAlgorithms.java new file mode 100644 index 0000000..076a836 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/HashingAlgorithms.java @@ -0,0 +1,31 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +public class HashingAlgorithms { + + public static final String SHA_1 = "SHA-1"; + + public static final String SHA_256 = "SHA-256"; + + public static final String SHA_512 = "SHA-512"; + + public static final String SHA_384 = "SHA-384"; + +} diff --git a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java index bb64823..bdc1911 100644 --- a/src/main/java/org/bigbluebutton/api/util/URLBuilder.java +++ b/src/main/java/org/bigbluebutton/api/util/URLBuilder.java @@ -28,6 +28,7 @@ import org.apache.hc.core5.net.URIBuilder; import org.apache.hc.core5.net.URLEncodedUtils; import org.bigbluebutton.api.ApiMethod; +import org.bigbluebutton.api.HashingAlgorithms; import lombok.Getter; @@ -41,13 +42,17 @@ public class URLBuilder { @Getter private String sharedSecret; - public URLBuilder(String uri, String sharedSecret) { - this(URI.create(uri), sharedSecret); + @Getter + private String hashingAlgorithm; + + public URLBuilder(String uri, String sharedSecret, String hashingAlgorithm) { + this(URI.create(uri), sharedSecret, hashingAlgorithm); } - public URLBuilder(URI uri, String sharedSecret) { - this.baseUri = uri; - this.sharedSecret = sharedSecret; + public URLBuilder(URI uri, String sharedSecret, String hashingAlgorithm) { + this.baseUri = uri; + this.sharedSecret = sharedSecret; + this.hashingAlgorithm = hashingAlgorithm; } public URI buildUrl(ApiMethod apiMethod) throws URISyntaxException { @@ -61,7 +66,21 @@ public URI buildUrl(ApiMethod apiMethod, List params) throws URIS } private String calculateChecksum(ApiMethod apiMethod, List queryParams) { - return DigestUtils.sha1Hex( - apiMethod.getName() + URLEncodedUtils.format(queryParams, StandardCharsets.UTF_8) + this.sharedSecret); + switch (hashingAlgorithm) { + case HashingAlgorithms.SHA_1: + return DigestUtils.sha1Hex(apiMethod.getName() + + URLEncodedUtils.format(queryParams, StandardCharsets.UTF_8) + this.sharedSecret); + case HashingAlgorithms.SHA_256: + return DigestUtils.sha256Hex(apiMethod.getName() + + URLEncodedUtils.format(queryParams, StandardCharsets.UTF_8) + this.sharedSecret); + case HashingAlgorithms.SHA_512: + return DigestUtils.sha512Hex(apiMethod.getName() + + URLEncodedUtils.format(queryParams, StandardCharsets.UTF_8) + this.sharedSecret); + case HashingAlgorithms.SHA_384: + return DigestUtils.sha384Hex(apiMethod.getName() + + URLEncodedUtils.format(queryParams, StandardCharsets.UTF_8) + this.sharedSecret); + default: + throw new IllegalArgumentException("Unsupported hashing algorithm: " + hashingAlgorithm); + } } } From ef7987b5359846fc0ea3a8b921cecfdde01ebbe1 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Wed, 17 May 2023 16:04:21 +0100 Subject: [PATCH 14/17] Improve meetings parsing in responses by adding Metadata and CustomData deserialisers. --- .../org/bigbluebutton/api/data/Attendee.java | 58 +++++ .../bigbluebutton/api/data/CustomData.java | 37 ++++ .../org/bigbluebutton/api/data/Meeting.java | 204 +++++++++--------- .../org/bigbluebutton/api/data/Metadata.java | 37 ++++ .../deserializers/CustomDataDeserializer.java | 49 +++++ .../deserializers/MetadataDeserializer.java | 49 +++++ .../api/responses/GetMeetingInfoResponse.java | 3 +- .../api/responses/GetMeetingsResponse.java | 35 +++ .../responses/GetMeetingsResponseTest.java | 48 +++++ src/test/resources/fixtures/get_meetings.xml | 6 +- 10 files changed, 423 insertions(+), 103 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/data/Attendee.java create mode 100644 src/main/java/org/bigbluebutton/api/data/CustomData.java create mode 100644 src/main/java/org/bigbluebutton/api/data/Metadata.java create mode 100644 src/main/java/org/bigbluebutton/api/deserializers/CustomDataDeserializer.java create mode 100644 src/main/java/org/bigbluebutton/api/deserializers/MetadataDeserializer.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/GetMeetingsResponse.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java diff --git a/src/main/java/org/bigbluebutton/api/data/Attendee.java b/src/main/java/org/bigbluebutton/api/data/Attendee.java new file mode 100644 index 0000000..36737f6 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Attendee.java @@ -0,0 +1,58 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import java.util.List; + +import org.bigbluebutton.api.deserializers.CustomDataDeserializer; + +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +public class Attendee { + @Getter + @JacksonXmlProperty(localName = "userID") + private String userId; + + @Getter + private String fullName; + + @Getter + private String role; + + @Getter + private Boolean isPresenter; + + @Getter + private Boolean isListeningOnly; + + @Getter + private Boolean hasJoinedVoice; + + @Getter + private Boolean hasVideo; + + @Getter + private String clientType; + + @JsonDeserialize(using = CustomDataDeserializer.class) + private List customData; +} diff --git a/src/main/java/org/bigbluebutton/api/data/CustomData.java b/src/main/java/org/bigbluebutton/api/data/CustomData.java new file mode 100644 index 0000000..e64dece --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/CustomData.java @@ -0,0 +1,37 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import lombok.Getter; +import lombok.Setter; + +public class CustomData { + @Getter + @Setter + private String name; + + @Getter + @Setter + private String value; + + public CustomData(String name, String value) { + this.name = name; + this.value = value; + } +} diff --git a/src/main/java/org/bigbluebutton/api/data/Meeting.java b/src/main/java/org/bigbluebutton/api/data/Meeting.java index d7b9650..8b742ad 100644 --- a/src/main/java/org/bigbluebutton/api/data/Meeting.java +++ b/src/main/java/org/bigbluebutton/api/data/Meeting.java @@ -18,16 +18,19 @@ package org.bigbluebutton.api.data; -import java.io.IOException; import java.time.Instant; import java.time.ZonedDateTime; +import java.util.List; +import org.bigbluebutton.api.deserializers.MetadataDeserializer; +import org.bigbluebutton.api.deserializers.ZonedDateTimeDeserializer; import org.bigbluebutton.api.responses.BaseResponse; -import org.bigbluebutton.api.responses.GetMeetingInfoResponse; import org.bigbluebutton.api.util.DateTimeUtil; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; @@ -39,190 +42,195 @@ public class Meeting extends BaseResponse { @Setter private String meetingName; + @JacksonXmlElementWrapper(localName = "attendees") + @JacksonXmlProperty(localName = "attendee") + private List attendees; + + @Getter + @JacksonXmlProperty(localName = "meetingID") + private String meetingId; + + @Getter + @JacksonXmlProperty(localName = "internalMeetingID") + private String internalMeetingId; + + @Getter + private Instant createTime; + + @Getter + @JsonDeserialize(using = ZonedDateTimeDeserializer.class) + private ZonedDateTime createDate; + + @Getter + private String voiceBridge; + + @Getter + private String dialNumber; + + @Getter + private Boolean running; + + @Getter + private Integer duration; + + @Getter + private Boolean hasUserJoined; + + @Getter + private Boolean recording; + + @Getter + private Boolean hasBeenForciblyEnded; + + @Getter + private Instant startTime; + + @Getter + private Instant endTime; + + @Getter + private Integer participantCount; + @Getter - private GetMeetingInfoResponse response; + private Integer listenerCount; + + @Getter + private Integer voiceParticipantCount; - public Meeting(JsonNode node) throws IOException { + @Getter + private Integer videoCount; + + @Getter + private Integer maxUsers; + + @Getter + private Integer moderatorCount; + + @JsonDeserialize(using = MetadataDeserializer.class) + private List metadata; + + @Getter + private Boolean isBreakout; + + @Getter + @JacksonXmlProperty(localName = "parentMeetingID") + private String parentMeetingId; + + @Getter + private Integer sequence; + + public static Meeting fromGetMeetingInfoResponse(JsonNode node) { + Meeting meeting = new Meeting(); JsonNode meetingIdNode = node.get("meetingID"); if (meetingIdNode != null) { - this.meetingId = meetingIdNode.asText(); + meeting.meetingId = meetingIdNode.asText(); } JsonNode meetingNameNode = node.get("meetingName"); if (meetingNameNode != null) { - this.meetingName = meetingNameNode.asText(); + meeting.meetingName = meetingNameNode.asText(); } JsonNode createTimeNode = node.get("createTime"); if (createTimeNode != null) { - this.createTime = Instant.ofEpochSecond(createTimeNode.asLong()); + meeting.createTime = Instant.ofEpochSecond(createTimeNode.asLong()); } JsonNode createDateNode = node.get("createDate"); if (createDateNode != null) { - this.createDate = DateTimeUtil.parseBigBlueButtonDate(createDateNode.asText()); + meeting.createDate = DateTimeUtil.parseBigBlueButtonDate(createDateNode.asText()); } JsonNode voiceBridgeNode = node.get("voiceBridge"); if (voiceBridgeNode != null) { - this.voiceBridge = voiceBridgeNode.asText(); + meeting.voiceBridge = voiceBridgeNode.asText(); } JsonNode dialNumberNode = node.get("dialNumber"); if (dialNumberNode != null) { - this.dialNumber = dialNumberNode.asText(); + meeting.dialNumber = dialNumberNode.asText(); } JsonNode runningNode = node.get("running"); if (runningNode != null) { - this.running = runningNode.asBoolean(); + meeting.running = runningNode.asBoolean(); } JsonNode durationNode = node.get("duration"); if (durationNode != null) { - this.duration = durationNode.asInt(); + meeting.duration = durationNode.asInt(); } JsonNode hasUserJoinedNode = node.get("hasUserJoined"); if (hasUserJoinedNode != null) { - this.hasUserJoined = hasUserJoinedNode.asBoolean(); + meeting.hasUserJoined = hasUserJoinedNode.asBoolean(); } JsonNode recordingNode = node.get("recording"); if (recordingNode != null) { - this.recording = recordingNode.asBoolean(); + meeting.recording = recordingNode.asBoolean(); } JsonNode hasBeenForciblyEndedNode = node.get("hasBeenForciblyEnded"); if (hasBeenForciblyEndedNode != null) { - this.hasBeenForciblyEnded = hasBeenForciblyEndedNode.asBoolean(); + meeting.hasBeenForciblyEnded = hasBeenForciblyEndedNode.asBoolean(); } JsonNode startTimeNode = node.get("startTime"); if (startTimeNode != null) { - this.startTime = Instant.ofEpochSecond(startTimeNode.asLong()); + meeting.startTime = Instant.ofEpochSecond(startTimeNode.asLong()); } JsonNode endTimeNode = node.get("endTime"); if (endTimeNode != null) { - this.endTime = Instant.ofEpochSecond(endTimeNode.asLong()); + meeting.endTime = Instant.ofEpochSecond(endTimeNode.asLong()); } JsonNode participantCountNode = node.get("participantCount"); if (participantCountNode != null) { - this.participantCount = participantCountNode.asInt(); + meeting.participantCount = participantCountNode.asInt(); } JsonNode listenerCountNode = node.get("listenerCount"); if (listenerCountNode != null) { - this.listenerCount = listenerCountNode.asInt(); + meeting.listenerCount = listenerCountNode.asInt(); } JsonNode voiceParticipantCountNode = node.get("voiceParticipantCount"); if (voiceParticipantCountNode != null) { - this.voiceParticipantCount = voiceParticipantCountNode.asInt(); + meeting.voiceParticipantCount = voiceParticipantCountNode.asInt(); } JsonNode videoCount = node.get("videoCount"); if (videoCount != null) { - this.videoCount = videoCount.asInt(); + meeting.videoCount = videoCount.asInt(); } JsonNode moderatorCountNode = node.get("moderatorCount"); if (moderatorCountNode != null) { - this.moderatorCount = moderatorCountNode.asInt(); + meeting.moderatorCount = moderatorCountNode.asInt(); } JsonNode isBreakoutNode = node.get("isBreakout"); if (isBreakoutNode != null) { - this.isBreakout = isBreakoutNode.asBoolean(); + meeting.isBreakout = isBreakoutNode.asBoolean(); } JsonNode maxUsersNode = node.get("maxUsers"); if (maxUsersNode != null) { - this.maxUsers = maxUsersNode.asInt(); + meeting.maxUsers = maxUsersNode.asInt(); } JsonNode parentMeetingIDNode = node.get("parentMeetingID"); if (parentMeetingIDNode != null) { - this.parentMeetingId = parentMeetingIDNode.asText(); + meeting.parentMeetingId = parentMeetingIDNode.asText(); } JsonNode sequenceNode = node.get("sequence"); if (sequenceNode != null) { - this.sequence = sequenceNode.asInt(); + meeting.sequence = sequenceNode.asInt(); } - } - @Getter - @JacksonXmlProperty(localName = "meetingID") - private String meetingId; - - @Getter - @JacksonXmlProperty(localName = "internalMeetingID") - private String internalMeetingId; - - @Getter - private Instant createTime; - - @Getter - private ZonedDateTime createDate; - - @Getter - private String voiceBridge; - - @Getter - private String dialNumber; - - @Getter - private Boolean running; - - @Getter - private Integer duration; - - @Getter - private Boolean hasUserJoined; - - @Getter - private Boolean recording; - - @Getter - private Boolean hasBeenForciblyEnded; - - @Getter - private Instant startTime; - - @Getter - private Instant endTime; - - @Getter - private Integer participantCount; - - @Getter - private Integer listenerCount; - - @Getter - private Integer voiceParticipantCount; - - @Getter - private Integer videoCount; - - @Getter - private Integer maxUsers; - - @Getter - private Integer moderatorCount; - - // Attendees - // Metadata - - @Getter - private Boolean isBreakout; - - @Getter - @JacksonXmlProperty(localName = "parentMeetingID") - private String parentMeetingId; - - @Getter - private Integer sequence; + return meeting; + } } diff --git a/src/main/java/org/bigbluebutton/api/data/Metadata.java b/src/main/java/org/bigbluebutton/api/data/Metadata.java new file mode 100644 index 0000000..8678157 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Metadata.java @@ -0,0 +1,37 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import lombok.Getter; +import lombok.Setter; + +public class Metadata { + @Getter + @Setter + private String name; + + @Getter + @Setter + private String value; + + public Metadata(String name, String value) { + this.name = name; + this.value = value; + } +} diff --git a/src/main/java/org/bigbluebutton/api/deserializers/CustomDataDeserializer.java b/src/main/java/org/bigbluebutton/api/deserializers/CustomDataDeserializer.java new file mode 100644 index 0000000..7d2fab7 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/deserializers/CustomDataDeserializer.java @@ -0,0 +1,49 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.deserializers; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.bigbluebutton.api.data.CustomData; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +public class CustomDataDeserializer extends JsonDeserializer> { + @Override + public List deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException { + List CustomDataEntries = new ArrayList<>(); + JsonNode CustomDataNode = jsonParser.getCodec().readTree(jsonParser); + + Iterator fieldNames = CustomDataNode.fieldNames(); + while (fieldNames.hasNext()) { + String fieldName = fieldNames.next(); + String fieldValue = CustomDataNode.get(fieldName).asText(); + CustomDataEntries.add(new CustomData(fieldName, fieldValue)); + } + + return CustomDataEntries; + } +} \ No newline at end of file diff --git a/src/main/java/org/bigbluebutton/api/deserializers/MetadataDeserializer.java b/src/main/java/org/bigbluebutton/api/deserializers/MetadataDeserializer.java new file mode 100644 index 0000000..d9725fd --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/deserializers/MetadataDeserializer.java @@ -0,0 +1,49 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.deserializers; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.bigbluebutton.api.data.Metadata; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import com.fasterxml.jackson.databind.JsonNode; + +public class MetadataDeserializer extends JsonDeserializer> { + @Override + public List deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) + throws IOException { + List metadataEntries = new ArrayList<>(); + JsonNode metadataNode = jsonParser.getCodec().readTree(jsonParser); + + Iterator fieldNames = metadataNode.fieldNames(); + while (fieldNames.hasNext()) { + String fieldName = fieldNames.next(); + String fieldValue = metadataNode.get(fieldName).asText(); + metadataEntries.add(new Metadata(fieldName, fieldValue)); + } + + return metadataEntries; + } +} \ No newline at end of file diff --git a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java index 467ad23..bd50237 100644 --- a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java @@ -49,7 +49,6 @@ public GetMeetingInfoResponse(JsonParser parser) throws IOException { } // Create the Meeting object and set it in the response - Meeting meeting = new Meeting(node); - this.meeting = meeting; + this.meeting = Meeting.fromGetMeetingInfoResponse(node); } } diff --git a/src/main/java/org/bigbluebutton/api/responses/GetMeetingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetMeetingsResponse.java new file mode 100644 index 0000000..7956d9c --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/GetMeetingsResponse.java @@ -0,0 +1,35 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import java.util.List; + +import org.bigbluebutton.api.data.Meeting; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; + +@JacksonXmlRootElement(localName = "response") +public class GetMeetingsResponse extends BaseResponse { + + @JacksonXmlElementWrapper(localName = "meetings") + @JacksonXmlProperty(localName = "meeting") + private List meetings; +} diff --git a/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java new file mode 100644 index 0000000..19dac5a --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.ResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class GetMeetingsResponseTest extends ResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/get_meetings.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Get meetings response content") + void testGetMeetingsResponseContent() throws StreamReadException, DatabindException, IOException { + GetMeetingsResponse getMeetingInfoResponse = xmlMapper.readValue(xmlInput, GetMeetingsResponse.class); + assertEquals(getMeetingInfoResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/resources/fixtures/get_meetings.xml b/src/test/resources/fixtures/get_meetings.xml index c473c15..9817f5b 100644 --- a/src/test/resources/fixtures/get_meetings.xml +++ b/src/test/resources/fixtures/get_meetings.xml @@ -6,7 +6,7 @@ 5cf490a7-2c9a-3571-a48c-134ef58d47c2 bf32e77309232abb44627ddbb5edd47e0e13e7b8-1554729625768 1554729625768 - Mon Apr 08 15:20:25 CEST 2019 + Mon Apr 08 15:20:25 CET 2019 25304 (985) 807-9923 =g.TrpDM=xB.oOW5h|m @@ -38,7 +38,7 @@ b2e7555d-b7c6-3b9f-b3ae-4c5754f64427 8299be7b3bc6693c3b747fe5178a5f7b6e417ac7-1554729632085 1554729632085 - Mon Apr 08 15:20:32 CEST 2019 + Mon Apr 08 15:20:32 CET 2019 81776 1-971-223-6118 x5746 SlD;CE @@ -69,7 +69,7 @@ 56e1ae16-3dfc-390d-b0d8-5aa844a25874 b97b512f2c92c0ffe7a3476152525807daa1c676-1524213158682 1453210075799 - Tue Jan 19 08:27:55 EST 2016 + Tue Jan 19 08:27:55 CET 2016 49518 580.124.3937x93615 f~kxYJeAV~G?Jb+E:ggn From bcf397b4658a030b953e7f2def535bf4e47e9c80 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Wed, 17 May 2023 18:31:57 +0100 Subject: [PATCH 15/17] Add all BigBlueButton API methods to BigBlueButtonAPI class with missing parameters and responses. --- .../bigbluebutton/api/BigBlueButtonAPI.java | 216 +++++++++++++++++- .../parameters/CreateMeetingParameters.java | 14 +- .../api/parameters/MetaParameters.java | 3 +- .../GetRecordingTextTracksResponse.java | 23 ++ .../api/responses/GetRecordingsResponse.java | 23 ++ .../api/responses/HooksCreateResponse.java | 23 ++ .../api/responses/HooksDestroyResponse.java | 23 ++ .../api/responses/HooksListResponse.java | 23 ++ .../responses/PublishRecordingsResponse.java | 23 ++ .../PutRecordingTextTrackResponse.java | 23 ++ .../responses/UpdateRecordingsResponse.java | 23 ++ .../api/responses/ApiVersionResponseTest.java | 19 +- .../api/responses/EndMeetingResponseTest.java | 1 - .../IsMeetingRunningResponseTest.java | 1 - .../api/test/BigBlueButtonTestCase.java | 40 +++- 15 files changed, 463 insertions(+), 15 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java create mode 100644 src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 20e0374..6d91e8e 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -37,10 +37,35 @@ import org.apache.hc.core5.http.io.entity.StringEntity; import org.bigbluebutton.api.handlers.ApiResponseHandler; import org.bigbluebutton.api.parameters.CreateMeetingParameters; +import org.bigbluebutton.api.parameters.DeleteRecordingsParameters; import org.bigbluebutton.api.parameters.EndMeetingParameters; +import org.bigbluebutton.api.parameters.GetMeetingInfoParameters; +import org.bigbluebutton.api.parameters.GetRecordingTextTracksParameters; +import org.bigbluebutton.api.parameters.GetRecordingsParameters; +import org.bigbluebutton.api.parameters.HooksCreateParameters; +import org.bigbluebutton.api.parameters.HooksDestroyParameters; +import org.bigbluebutton.api.parameters.InsertDocumentParameters; +import org.bigbluebutton.api.parameters.IsMeetingRunningParameters; +import org.bigbluebutton.api.parameters.JoinMeetingParameters; +import org.bigbluebutton.api.parameters.PublishRecordingsParameters; +import org.bigbluebutton.api.parameters.PutRecordingTextTrackParameters; +import org.bigbluebutton.api.parameters.UpdateRecordingsParameters; import org.bigbluebutton.api.responses.ApiVersionResponse; import org.bigbluebutton.api.responses.CreateMeetingResponse; +import org.bigbluebutton.api.responses.DeleteRecordingsResponse; import org.bigbluebutton.api.responses.EndMeetingResponse; +import org.bigbluebutton.api.responses.GetMeetingInfoResponse; +import org.bigbluebutton.api.responses.GetMeetingsResponse; +import org.bigbluebutton.api.responses.GetRecordingTextTracksResponse; +import org.bigbluebutton.api.responses.GetRecordingsResponse; +import org.bigbluebutton.api.responses.HooksCreateResponse; +import org.bigbluebutton.api.responses.HooksDestroyResponse; +import org.bigbluebutton.api.responses.HooksListResponse; +import org.bigbluebutton.api.responses.InsertDocumentResponse; +import org.bigbluebutton.api.responses.JoinMeetingResponse; +import org.bigbluebutton.api.responses.PublishRecordingsResponse; +import org.bigbluebutton.api.responses.PutRecordingTextTrackResponse; +import org.bigbluebutton.api.responses.UpdateRecordingsResponse; import org.bigbluebutton.api.util.URLBuilder; import org.xml.sax.SAXException; @@ -55,11 +80,9 @@ public class BigBlueButtonAPI { @Getter - @Setter protected String securitySalt; @Getter - @Setter protected String baseServerURL; @Getter @@ -95,6 +118,8 @@ public BigBlueButtonAPI(String baseUrl, String securitySalt) { this.urlBuilder = new URLBuilder(this.baseServerURL, this.securitySalt, this.hashingAlgorithm); } + // API version + public URI getApiVersionURL() throws URISyntaxException { return urlBuilder.buildUrl(ApiMethod.ROOT); } @@ -104,6 +129,8 @@ public ApiVersionResponse getAPIVersion() throws MalformedURLException, IOExcept return xmlMapper.readValue(this.sendRequest(getApiVersionURL()), ApiVersionResponse.class); } + // Create meeting + public URI getCreateMeetingURL(CreateMeetingParameters createMeetingParams) throws URISyntaxException, UnsupportedEncodingException { return urlBuilder.buildUrl(ApiMethod.CREATE, createMeetingParams.getQueryParms()); @@ -116,6 +143,21 @@ public CreateMeetingResponse createMeeting(CreateMeetingParameters createMeeting CreateMeetingResponse.class); } + // Join meeting + + public URI getJoinMeetingURL(JoinMeetingParameters joinMeetingParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.JOIN, joinMeetingParams.getQueryParms()); + } + + public JoinMeetingResponse joinMeeting(JoinMeetingParameters joinMeetingParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getJoinMeetingURL(joinMeetingParams), JoinMeetingResponse.class); + } + + // End meeting + public URI getEndMeetingURL(EndMeetingParameters endMeetingParams) throws URISyntaxException, UnsupportedEncodingException { return urlBuilder.buildUrl(ApiMethod.END, endMeetingParams.getQueryParms()); @@ -127,6 +169,176 @@ public EndMeetingResponse endMeeting(EndMeetingParameters endMeetingParams) return sendApiRequest(getEndMeetingURL(endMeetingParams), EndMeetingResponse.class); } + // Insert document + + public URI getInsertDocumentUrl(InsertDocumentParameters insertDocumentParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.INSERT_DOCUMENT, insertDocumentParams.getQueryParms()); + } + + public InsertDocumentResponse insertDocument(InsertDocumentParameters insertDocumentParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getInsertDocumentUrl(insertDocumentParams), InsertDocumentResponse.class); + } + + // Is meeting running + + public URI getIsMeetingRunningUrl(IsMeetingRunningParameters isMeetingRunningParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.IS_MEETING_RUNNING, isMeetingRunningParams.getQueryParms()); + } + + public InsertDocumentResponse isMeetingRunning(IsMeetingRunningParameters isMeetingRunningParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getIsMeetingRunningUrl(isMeetingRunningParams), InsertDocumentResponse.class); + } + + // Get meetings + + public URI getMeetingsUrl() throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.GET_MEETINGS); + } + + public GetMeetingsResponse getMeetings() + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getMeetingsUrl(), GetMeetingsResponse.class); + } + + // Get meeting info + + public URI getMeetingInfoUrl(GetMeetingInfoParameters getMeetingInfoParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.GET_MEETING_INFO, getMeetingInfoParams.getQueryParms()); + } + + public GetMeetingInfoResponse endMeeting(GetMeetingInfoParameters getMeetingInfoParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getMeetingInfoUrl(getMeetingInfoParams), GetMeetingInfoResponse.class); + } + + // Get recordings + + public URI getRecordingsUrl(GetRecordingsParameters getRecordingsParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.GET_RECORDINGS, getRecordingsParams.getQueryParms()); + } + + public GetRecordingsResponse getRecordings(GetRecordingsParameters getRecordingsParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getRecordingsUrl(getRecordingsParams), GetRecordingsResponse.class); + } + + // Publish recordings + + public URI getPublishRecordingsUrl(PublishRecordingsParameters publishRecordingsParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.PUBLISH_RECORDINGS, publishRecordingsParams.getQueryParms()); + } + + public PublishRecordingsResponse publishRecordings(PublishRecordingsParameters publishRecordingsParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getPublishRecordingsUrl(publishRecordingsParams), PublishRecordingsResponse.class); + } + + // Delete recordings + + public URI getDeleteRecordingsUrl(DeleteRecordingsParameters publishRecordingsParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.DELETE_RECORDINGS, publishRecordingsParams.getQueryParms()); + } + + public DeleteRecordingsResponse publishRecordings(DeleteRecordingsParameters publishRecordingsParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getDeleteRecordingsUrl(publishRecordingsParams), DeleteRecordingsResponse.class); + } + + // Update recordings + + public URI getUpdateRecordingsUrl(UpdateRecordingsParameters updateRecordingsParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.UPDATE_RECORDINGS, updateRecordingsParams.getQueryParms()); + } + + public UpdateRecordingsResponse updateRecordings(UpdateRecordingsParameters updateRecordingsParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getUpdateRecordingsUrl(updateRecordingsParams), UpdateRecordingsResponse.class); + } + + // Get recording text tracks + + public URI getRecordingTextTracksUrl(GetRecordingTextTracksParameters getRecordingTextTracksParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.GET_RECORDING_TEXT_TRACKS, getRecordingTextTracksParams.getQueryParms()); + } + + public GetRecordingTextTracksResponse getRecordingTextTracks( + GetRecordingTextTracksParameters getRecordingTextTracksParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getRecordingTextTracksUrl(getRecordingTextTracksParams), + GetRecordingTextTracksResponse.class); + } + + // Put recording text tracks + + public URI getPutRecordingTextTrackUrl(PutRecordingTextTrackParameters getRecordingTextTracksParams) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.PUT_RECORDING_TEXT_TRACK, getRecordingTextTracksParams.getQueryParms()); + } + + public PutRecordingTextTrackResponse putRecordingTextTrack( + PutRecordingTextTrackParameters getRecordingTextTracksParams) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getPutRecordingTextTrackUrl(getRecordingTextTracksParams), + PutRecordingTextTrackResponse.class); + } + + // Create hook + + public URI getHooksCreateUrl(HooksCreateParameters hooksCreateParames) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.HOOKS_CREATE, hooksCreateParames.getQueryParms()); + } + + public HooksCreateResponse hooksCreate(HooksCreateParameters hooksCreateParames) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getHooksCreateUrl(hooksCreateParames), HooksCreateResponse.class); + } + + // List hooks + + public URI getHooksListUrl() throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.HOOKS_LIST); + } + + public HooksListResponse hooksList() throws JsonMappingException, JsonProcessingException, MalformedURLException, + IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getHooksListUrl(), HooksListResponse.class); + } + + // Destroy hook + + public URI getHooksDestroyUrl(HooksDestroyParameters hooksDestroyParames) + throws URISyntaxException, UnsupportedEncodingException { + return urlBuilder.buildUrl(ApiMethod.HOOKS_CREATE, hooksDestroyParames.getQueryParms()); + } + + public HooksDestroyResponse hooksCreate(HooksDestroyParameters hooksDestroyParames) + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { + return sendApiRequest(getHooksDestroyUrl(hooksDestroyParames), HooksDestroyResponse.class); + } + // Common methods public T sendApiRequest(URI uri, Class responseType) diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index 97cb4d7..cf5cc74 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -210,7 +210,7 @@ public class CreateMeetingParameters extends MetaParameters implements Documenta @Getter @Setter - protected String logo; + protected URI logo; @Getter @Setter @@ -222,7 +222,7 @@ public class CreateMeetingParameters extends MetaParameters implements Documenta @Getter @Setter - protected String presentationUploadExternalUrl; + protected URI presentationUploadExternalUrl; @Getter @Setter @@ -233,6 +233,11 @@ public CreateMeetingParameters(String name, String meetingId) { this.meetingId = meetingId; } + public CreateMeetingParameters addMeta(String key, String value) { + metas.put(key, value); + return this; + } + public List getQueryParms() throws UnsupportedEncodingException { List params = new ArrayList(); addStringValue(params, ApiParams.NAME, getName()); @@ -286,14 +291,13 @@ public List getQueryParms() throws UnsupportedEncodingException { getMeetingExpireIfNoUserJoinedInMinutes()); addIntegerValue(params, ApiParams.MEETING_EXPIRE_WHEN_LAST_USER_LEFT_IN_MINUTES, getMeetingExpireWhenLastUserLeftInMinutes()); - addStringValue(params, ApiParams.LOGO, getLogo()); + addStringValue(params, ApiParams.LOGO, getLogo().toString()); addBooleanValue(params, ApiParams.PRE_UPLOAD_PRESENTATION_OVERRIDE_DEFAULT, getPreUploadedPresentationOverrideDefault()); addBooleanValue(params, ApiParams.NOTIFY_RECORDING_IS_ON, getNotifyRecordingIsOn()); - addStringValue(params, ApiParams.PRESENTATION_UPLOAD_EXTERNAL_URL, getPresentationUploadExternalUrl()); + addUriValue(params, ApiParams.PRESENTATION_UPLOAD_EXTERNAL_URL, getPresentationUploadExternalUrl()); addStringValue(params, ApiParams.PRESENTATION_UPLOAD_EXTERNAL_DESCRIPTION, getPresentationUploadExternalDescription()); - // buildMeta // disabledFeatures // groups // pre-uploaded documents diff --git a/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java b/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java index b487b1d..8c45516 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/MetaParameters.java @@ -37,8 +37,9 @@ public String getMeta(String name) { return metas.get(name); } - public void addMeta(String key, String value) { + public BaseParameters addMeta(String key, String value) { metas.put(key, value); + return this; } protected void buildHTTPMeta(List params) { diff --git a/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java new file mode 100644 index 0000000..a0fbecb --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class GetRecordingTextTracksResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java new file mode 100644 index 0000000..6dbb9ae --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class GetRecordingsResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java b/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java new file mode 100644 index 0000000..d92398f --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class HooksCreateResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java b/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java new file mode 100644 index 0000000..432876a --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class HooksDestroyResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java b/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java new file mode 100644 index 0000000..8311029 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class HooksListResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java new file mode 100644 index 0000000..009f53d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class PublishRecordingsResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java b/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java new file mode 100644 index 0000000..bbd4636 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class PutRecordingTextTrackResponse extends BaseResponse { + +} diff --git a/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java new file mode 100644 index 0000000..12e307d --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java @@ -0,0 +1,23 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +public class UpdateRecordingsResponse extends BaseResponse { + +} diff --git a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java index d00c92a..537591b 100644 --- a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java @@ -1,3 +1,21 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + package org.bigbluebutton.api.responses; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -11,7 +29,6 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; public class ApiVersionResponseTest extends ResponseTestCase { diff --git a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java index fee5be5..a6915a7 100644 --- a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java @@ -13,7 +13,6 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; public class EndMeetingResponseTest extends ResponseTestCase { diff --git a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java index 9ee6226..4ea7e2f 100644 --- a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java @@ -29,7 +29,6 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -import com.fasterxml.jackson.dataformat.xml.XmlMapper; class IsMeetingRunningResponseTest extends ResponseTestCase { diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java index 8f3142d..75da3e9 100644 --- a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -18,10 +18,14 @@ package org.bigbluebutton.api.test; +import java.net.URI; import java.util.HashMap; import java.util.Map; +import java.util.Random; import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.enums.GuestPolicy; +import org.bigbluebutton.api.enums.MeetingLayout; import org.bigbluebutton.api.parameters.CreateMeetingParameters; import org.bigbluebutton.api.parameters.EndMeetingParameters; import org.junit.jupiter.api.BeforeEach; @@ -41,17 +45,45 @@ public void setUp() { protected CreateMeetingParameters generateCreateMeetingParams() { Map mockCreate = mockCreateMeetingParams(); CreateMeetingParameters createParams = new CreateMeetingParameters((String) mockCreate.get(ApiParams.NAME), - (String) mockCreate.get(ApiParams.MEETING_ID)).setDuration(faker.number().numberBetween(0, 10)) - .setRecord(faker.bool().bool()); + (String) mockCreate.get(ApiParams.MEETING_ID)).setAllowModsToEjectCameras(faker.bool().bool()) + .setAllowModsToUnmuteUsers(faker.bool().bool()).setAllowRequestsWithoutSession(faker.bool().bool()) + .setAllowStartStopRecording(faker.bool().bool()).setAutoStartRecording(faker.bool().bool()) + .setBannerColor(faker.color().hex()).setBannerText(faker.lorem().sentence()) + .setBreakoutRoomsPrivateChatEnabled(faker.bool().bool()).setBreakoutRoomsRecord(faker.bool().bool()) + .setDialNumber(faker.phoneNumber().phoneNumber()).setDuration(faker.number().numberBetween(0, 10)) + .setEndWhenNoModerator(faker.bool().bool()) + .setEndWhenNoModeratorDelayInMinutes(faker.number().numberBetween(2, 5)) + .setFreeJoin(faker.bool().bool()) + .setGuestPolicy(GuestPolicy.values()[new Random().nextInt(GuestPolicy.values().length)]) + .setIsBreakout(faker.bool().bool()) + .setLearningDashboardCleanupDelayInMinutes(faker.number().numberBetween(0, 120)) + .setLockSettingsDisableCam(faker.bool().bool()).setLockSettingsDisableMic(faker.bool().bool()) + .setLockSettingsDisableNote(faker.bool().bool()).setLockSettingsDisablePrivateChat(faker.bool().bool()) + .setLockSettingsDisablePublicChat(faker.bool().bool()) + .setLockSettingsHideViewersCursor(faker.bool().bool()).setLockSettingsLockOnJoin(faker.bool().bool()) + .setLockSettingsLockOnJoinConfigurable(faker.bool().bool()).setLogo(URI.create(faker.internet().url())) + .setMaxParticipants(faker.number().numberBetween(0, 200)) + .setMeetingCameraCap(faker.number().numberBetween(8, 20)) + .setMeetingExpireIfNoUserJoinedInMinutes(faker.number().numberBetween(0, 10)) + .setMeetingExpireWhenLastUserLeftInMinutes(faker.number().numberBetween(2, 8)) + .setMeetingKeepEvents(faker.bool().bool()) + .setMeetingLayout(MeetingLayout.values()[new Random().nextInt(MeetingLayout.values().length)]) + .setModeratorOnlyMessage(faker.lorem().paragraph()).setMuteOnStart(faker.bool().bool()) + .setNotifyRecordingIsOn(faker.bool().bool()) + .setPresentationUploadExternalDescription(faker.lorem().sentence()) + .setPresentationUploadExternalUrl(URI.create(faker.internet().url())) + .setPreUploadedPresentationOverrideDefault(faker.bool().bool()).setRecord(faker.bool().bool()) + .setSequence(faker.number().numberBetween(1, 5)).setUserCameraCap(faker.number().numberBetween(3, 5)) + .setVoiceBridge(faker.phoneNumber().extension()).setWebcamsOnlyForModeratorBoolean(faker.bool().bool()) + .setWelcome(faker.lorem().paragraph()) + .addMeta(faker.country().countryCode3(), faker.country().capital()); return createParams; - } protected EndMeetingParameters generateEndMeetingParams() { Map mockEnd = mockEndMeetingParams(); EndMeetingParameters endParams = new EndMeetingParameters((String) mockEnd.get(ApiParams.MEETING_ID)); return endParams; - } protected Map mockCreateMeetingParams() { From d8bae95d00e4028236fb862712b7c87f84be13b9 Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Thu, 18 May 2023 15:06:37 +0100 Subject: [PATCH 16/17] Implement all API calls responses structure classes. --- .../bigbluebutton/api/ApiUserDataParams.java | 2 +- .../bigbluebutton/api/BigBlueButtonAPI.java | 1 - .../java/org/bigbluebutton/api/data/Hook.java | 44 +++++++++++++ .../org/bigbluebutton/api/data/Image.java | 41 ++++++++++++ .../org/bigbluebutton/api/data/Meeting.java | 3 + .../org/bigbluebutton/api/data/Playback.java | 60 +++++++++++++++++ .../org/bigbluebutton/api/data/Recording.java | 65 +++++++++++++++++++ .../org/bigbluebutton/api/data/Track.java | 38 +++++++++++ .../bigbluebutton/api/data/json/Response.java | 40 ++++++++++++ ...RecordingTextTrackResponseDeserliazer.java | 50 ++++++++++++++ .../parameters/CreateMeetingParameters.java | 8 ++- .../api/parameters/Documentable.java | 6 +- .../api/parameters/DocumentableTrait.java | 17 +++-- .../parameters/InsertDocumentParameters.java | 8 ++- .../api/responses/BaseResponse.java | 6 ++ .../api/responses/GetMeetingInfoResponse.java | 2 - .../GetRecordingTextTracksResponse.java | 7 +- .../api/responses/GetRecordingsResponse.java | 11 +++- .../api/responses/HooksCreateResponse.java | 12 ++++ .../api/responses/HooksDestroyResponse.java | 4 ++ .../api/responses/HooksListResponse.java | 14 +++- .../responses/PublishRecordingsResponse.java | 5 +- .../PutRecordingTextTrackResponse.java | 28 ++++++++ .../responses/UpdateRecordingsResponse.java | 4 ++ .../bigbluebutton/api/ApiMetaParamsTest.java | 41 ++++++++++++ .../api/ApiUserDataParamsTest.java | 64 ++++++++++++++++++ .../api/responses/ApiVersionResponseTest.java | 4 +- .../responses/CreateMeetingResponseTest.java | 4 +- .../DeleteRecordingsResponseTest.java | 4 +- .../api/responses/EndMeetingResponseTest.java | 4 +- .../responses/GetMeetingInfoResponseTest.java | 4 +- .../responses/GetMeetingsResponseTest.java | 4 +- .../GetRecordingTextTracksResponseTest.java | 49 ++++++++++++++ .../responses/GetRecordingsResponseTest.java | 48 ++++++++++++++ .../responses/HooksCreateResponseTest.java | 48 ++++++++++++++ .../responses/HooksDestroyResponseTest.java | 48 ++++++++++++++ .../api/responses/HooksListResponseTest.java | 48 ++++++++++++++ .../responses/InsertDocumentResponseTest.java | 48 ++++++++++++++ .../IsMeetingRunningResponseTest.java | 4 +- .../responses/JoineMeetingResponseTest.java | 4 +- .../PublishRecordingsResponseTest.java | 51 +++++++++++++++ .../PutRecordingTextTrackResponseTest.java | 51 +++++++++++++++ .../UpdateRecordingsResponseTest.java | 51 +++++++++++++++ .../api/test/BigBlueButtonTestCase.java | 4 +- .../api/test/JsonResponseTestCase.java | 57 ++++++++++++++++ ...TestCase.java => XMLResponseTestCase.java} | 2 +- 46 files changed, 1076 insertions(+), 42 deletions(-) create mode 100644 src/main/java/org/bigbluebutton/api/data/Hook.java create mode 100644 src/main/java/org/bigbluebutton/api/data/Image.java create mode 100644 src/main/java/org/bigbluebutton/api/data/Playback.java create mode 100644 src/main/java/org/bigbluebutton/api/data/Recording.java create mode 100644 src/main/java/org/bigbluebutton/api/data/Track.java create mode 100644 src/main/java/org/bigbluebutton/api/data/json/Response.java create mode 100644 src/main/java/org/bigbluebutton/api/deserializers/PutRecordingTextTrackResponseDeserliazer.java create mode 100644 src/test/java/org/bigbluebutton/api/ApiMetaParamsTest.java create mode 100644 src/test/java/org/bigbluebutton/api/ApiUserDataParamsTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/GetRecordingsResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/HooksCreateResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/HooksDestroyResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/HooksListResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/InsertDocumentResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/PublishRecordingsResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/responses/UpdateRecordingsResponseTest.java create mode 100644 src/test/java/org/bigbluebutton/api/test/JsonResponseTestCase.java rename src/test/java/org/bigbluebutton/api/test/{ResponseTestCase.java => XMLResponseTestCase.java} (96%) diff --git a/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java b/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java index 2b121e3..6f1ccbd 100644 --- a/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java +++ b/src/main/java/org/bigbluebutton/api/ApiUserDataParams.java @@ -27,7 +27,7 @@ public class ApiUserDataParams { // Predefined metas public static String BBB_ASK_FOR_FEEDBACK_ON_LOGOUT = "bbb_ask_for_feedback_on_logout"; - public static String bbb_override_default_locale = "bbb_override_default_locale"; + public static String BBB_OVERRIDE_DEFAULT_LOCALE = "bbb_override_default_locale"; public static String BBB_AUTO_JOIN_AUDIO = "bbb_auto_join_audio"; public static String BBB_AUTO_SHARE_WEBCAM = "bbb_auto_share_webcam"; public static String BBB_PREFERRED_CAMERA_PROFILE = "bbb_preferred_camera_profile"; diff --git a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java index 6d91e8e..33b52ff 100644 --- a/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java +++ b/src/main/java/org/bigbluebutton/api/BigBlueButtonAPI.java @@ -376,7 +376,6 @@ protected String sendRequest(URI uri, String payload, String contentType) throws StringEntity requestEntity = new StringEntity(payload); httpRequest.setEntity(requestEntity); httpRequest.setHeader(HttpHeaders.CONTENT_TYPE, contentType); - httpRequest.setHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(payload.length())); } httpRequest.setHeader(HttpHeaders.CONTENT_ENCODING, StandardCharsets.UTF_8); diff --git a/src/main/java/org/bigbluebutton/api/data/Hook.java b/src/main/java/org/bigbluebutton/api/data/Hook.java new file mode 100644 index 0000000..a76de8f --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Hook.java @@ -0,0 +1,44 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import java.net.URI; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +public class Hook { + @Getter + @JacksonXmlProperty(localName = "hookID") + private String hookId; + + @Getter + @JacksonXmlProperty(localName = "meetingID") + private String meetingId; + + @Getter + private URI callbackURL; + + @Getter + private Boolean permanentHook; + + @Getter + private Boolean rawData; +} diff --git a/src/main/java/org/bigbluebutton/api/data/Image.java b/src/main/java/org/bigbluebutton/api/data/Image.java new file mode 100644 index 0000000..a5e7617 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Image.java @@ -0,0 +1,41 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import java.net.URI; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlText; + +import lombok.Getter; + +public class Image { + + @Getter + private String alt; + + @Getter + @JacksonXmlText + private URI url; + + @Getter + private Integer height; + + @Getter + private Integer width; +} diff --git a/src/main/java/org/bigbluebutton/api/data/Meeting.java b/src/main/java/org/bigbluebutton/api/data/Meeting.java index 8b742ad..91b8388 100644 --- a/src/main/java/org/bigbluebutton/api/data/Meeting.java +++ b/src/main/java/org/bigbluebutton/api/data/Meeting.java @@ -28,6 +28,7 @@ import org.bigbluebutton.api.util.DateTimeUtil; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; @@ -44,6 +45,7 @@ public class Meeting extends BaseResponse { @JacksonXmlElementWrapper(localName = "attendees") @JacksonXmlProperty(localName = "attendee") + @JsonProperty(required = false) private List attendees; @Getter @@ -107,6 +109,7 @@ public class Meeting extends BaseResponse { private Integer moderatorCount; @JsonDeserialize(using = MetadataDeserializer.class) + @JsonProperty(required = false) private List metadata; @Getter diff --git a/src/main/java/org/bigbluebutton/api/data/Playback.java b/src/main/java/org/bigbluebutton/api/data/Playback.java new file mode 100644 index 0000000..415dc18 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Playback.java @@ -0,0 +1,60 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import java.net.URI; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +public class Playback { + @Getter + private String type; + + @Getter + private URI url; + + @Getter + private Integer processingTime; + + @Getter + private Integer length; + + @Getter + private Integer size; + + @JsonProperty(required = false) + private Preview preview; + + public List getImages() { + return preview.getImages(); + } + + public static class Preview { + @Getter + @JacksonXmlElementWrapper(localName = "images") + @JacksonXmlProperty(localName = "image") + @JsonProperty(required = false) + private List images; + } +} diff --git a/src/main/java/org/bigbluebutton/api/data/Recording.java b/src/main/java/org/bigbluebutton/api/data/Recording.java new file mode 100644 index 0000000..5346586 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Recording.java @@ -0,0 +1,65 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import java.time.Instant; +import java.util.List; + +import org.bigbluebutton.api.deserializers.MetadataDeserializer; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +public class Recording { + + @Getter + @JacksonXmlProperty(localName = "recordID") + private String recordId; + + @Getter + @JacksonXmlProperty(localName = "meetingID") + private String meetingId; + + @Getter + private String name; + + @Getter + private Boolean published; + + @Getter + private String state; + + @Getter + private Instant startTime; + + @Getter + private Instant endTime; + + @JsonDeserialize(using = MetadataDeserializer.class) + @JsonProperty(required = false) + private List metadata; + + @JacksonXmlElementWrapper(localName = "playback") + @JacksonXmlProperty(localName = "format") + private List playbacks; +} diff --git a/src/main/java/org/bigbluebutton/api/data/Track.java b/src/main/java/org/bigbluebutton/api/data/Track.java new file mode 100644 index 0000000..06b1e35 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/Track.java @@ -0,0 +1,38 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data; + +import lombok.Getter; + +public class Track { + @Getter + protected String href; + + @Getter + protected String kind; + + @Getter + protected String label; + + @Getter + protected String lang; + + @Getter + protected String source; +} diff --git a/src/main/java/org/bigbluebutton/api/data/json/Response.java b/src/main/java/org/bigbluebutton/api/data/json/Response.java new file mode 100644 index 0000000..562f883 --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/data/json/Response.java @@ -0,0 +1,40 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.data.json; + +import java.util.List; + +import org.bigbluebutton.api.data.Track; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class Response { + @Getter + @JacksonXmlProperty(localName = "returncode") + @JsonProperty("returncode") + protected String returnCode; + + @JsonProperty("tracks") + private List tracks; +} diff --git a/src/main/java/org/bigbluebutton/api/deserializers/PutRecordingTextTrackResponseDeserliazer.java b/src/main/java/org/bigbluebutton/api/deserializers/PutRecordingTextTrackResponseDeserliazer.java new file mode 100644 index 0000000..b219fbd --- /dev/null +++ b/src/main/java/org/bigbluebutton/api/deserializers/PutRecordingTextTrackResponseDeserliazer.java @@ -0,0 +1,50 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.deserializers; + +import java.io.IOException; + +import org.bigbluebutton.api.responses.PutRecordingTextTrackResponse; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.deser.std.StdDeserializer; + +public class PutRecordingTextTrackResponseDeserliazer extends StdDeserializer { + + private static final long serialVersionUID = 5655122233138225747L; + + public PutRecordingTextTrackResponseDeserliazer() { + this(null); + } + + public PutRecordingTextTrackResponseDeserliazer(Class vc) { + super(vc); + } + + @Override + public PutRecordingTextTrackResponse deserialize(JsonParser parser, DeserializationContext ctxt) + throws IOException, JsonProcessingException { + PutRecordingTextTrackResponse response = PutRecordingTextTrackResponse + .fromPutRecordingTextTrackResponse(parser); + + return response; + } +} \ No newline at end of file diff --git a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java index cf5cc74..154de6c 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/CreateMeetingParameters.java @@ -39,7 +39,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class CreateMeetingParameters extends MetaParameters implements Documentable { +public class CreateMeetingParameters extends MetaParameters implements Documentable { private DocumentableTrait documentableTrait = new DocumentableTrait(); @@ -312,13 +312,15 @@ public Map getPresentations() { } @Override - public void addPresentation(String name, URI url) { + public CreateMeetingParameters addPresentation(String name, URI url) { documentableTrait.addPresentation(name, url); + return this; } @Override - public void addPresentation(String name, File file) throws IOException { + public CreateMeetingParameters addPresentation(String name, File file) throws IOException { documentableTrait.addPresentation(name, file); + return this; } @Override diff --git a/src/main/java/org/bigbluebutton/api/parameters/Documentable.java b/src/main/java/org/bigbluebutton/api/parameters/Documentable.java index 8331c8e..e6264a7 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/Documentable.java +++ b/src/main/java/org/bigbluebutton/api/parameters/Documentable.java @@ -26,12 +26,12 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; -public interface Documentable { +public interface Documentable { Map getPresentations(); - public void addPresentation(String name, URI url); + public T addPresentation(String name, URI url); - public void addPresentation(String name, File file) throws IOException; + public T addPresentation(String name, File file) throws IOException; public String getPresentationsAsXML() throws ParserConfigurationException, TransformerException; } diff --git a/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java b/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java index 57e967c..3675d8f 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java +++ b/src/main/java/org/bigbluebutton/api/parameters/DocumentableTrait.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.IOException; +import java.io.StringWriter; import java.net.MalformedURLException; import java.net.URI; import java.net.URL; @@ -41,7 +42,7 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; -public class DocumentableTrait implements Documentable { +public class DocumentableTrait implements Documentable { private Map presentations = new LinkedHashMap<>(); @@ -51,13 +52,15 @@ public Map getPresentations() { } @Override - public void addPresentation(String name, URI url) { + public DocumentableTrait addPresentation(String name, URI url) { presentations.put(name, url.toString()); + return this; } @Override - public void addPresentation(String name, File file) throws IOException { + public DocumentableTrait addPresentation(String name, File file) throws IOException { presentations.put(name, base64EncodeFile(file)); + return this; } @Override @@ -98,12 +101,12 @@ public String getPresentationsAsXML() throws ParserConfigurationException, Trans TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); - DOMSource source = new DOMSource(doc); - StreamResult result = new StreamResult(System.out); + StringWriter writer = new StringWriter(); + StreamResult result = new StreamResult(writer); - transformer.transform(source, result); + transformer.transform(new DOMSource(doc), result); - return result.getWriter().toString(); + return writer.toString(); } private boolean isURL(String str) { diff --git a/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java b/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java index 3ad84b8..9c7812b 100644 --- a/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java +++ b/src/main/java/org/bigbluebutton/api/parameters/InsertDocumentParameters.java @@ -36,7 +36,7 @@ import lombok.experimental.Accessors; @Accessors(chain = true) -public class InsertDocumentParameters extends BaseParameters implements Documentable { +public class InsertDocumentParameters extends BaseParameters implements Documentable { private DocumentableTrait documentableTrait = new DocumentableTrait(); @@ -59,13 +59,15 @@ public Map getPresentations() { } @Override - public void addPresentation(String name, URI url) { + public InsertDocumentParameters addPresentation(String name, URI url) { documentableTrait.addPresentation(name, url); + return this; } @Override - public void addPresentation(String name, File file) throws IOException { + public InsertDocumentParameters addPresentation(String name, File file) throws IOException { documentableTrait.addPresentation(name, file); + return this; } @Override diff --git a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java index 0109b33..c318e2d 100644 --- a/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/BaseResponse.java @@ -18,21 +18,27 @@ package org.bigbluebutton.api.responses; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonRootName; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import lombok.Getter; @JacksonXmlRootElement(localName = "response") +@JsonRootName(value = "response") public abstract class BaseResponse { @Getter @JacksonXmlProperty(localName = "returncode") + @JsonProperty(value = "returncode", required = false) protected String returnCode; @Getter + @JsonProperty("message") protected String message; @Getter + @JsonProperty("messageKey") protected String messageKey; public Boolean success() { diff --git a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java index bd50237..d9cff31 100644 --- a/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/GetMeetingInfoResponse.java @@ -25,11 +25,9 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.ObjectCodec; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import lombok.Getter; -@JacksonXmlRootElement(localName = "response") public class GetMeetingInfoResponse extends BaseResponse { @Getter private Meeting meeting; diff --git a/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java index a0fbecb..769fd16 100644 --- a/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java @@ -18,6 +18,11 @@ package org.bigbluebutton.api.responses; -public class GetRecordingTextTracksResponse extends BaseResponse { +import org.bigbluebutton.api.data.json.Response; + +import lombok.Getter; +public class GetRecordingTextTracksResponse extends BaseResponse { + @Getter + protected Response response; } diff --git a/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java index 6dbb9ae..2bfacab 100644 --- a/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/GetRecordingsResponse.java @@ -18,6 +18,15 @@ package org.bigbluebutton.api.responses; -public class GetRecordingsResponse extends BaseResponse { +import java.util.List; + +import org.bigbluebutton.api.data.Recording; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +public class GetRecordingsResponse extends BaseResponse { + @JacksonXmlElementWrapper(localName = "recordings") + @JacksonXmlProperty(localName = "recording") + private List recordings; } diff --git a/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java b/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java index d92398f..4acc38e 100644 --- a/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/HooksCreateResponse.java @@ -18,6 +18,18 @@ package org.bigbluebutton.api.responses; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; + +import lombok.Getter; + public class HooksCreateResponse extends BaseResponse { + @Getter + @JacksonXmlProperty(localName = "hookID") + private String hookId; + + @Getter + private Boolean permanentHook; + @Getter + private Boolean rawData; } diff --git a/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java b/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java index 432876a..c322a8a 100644 --- a/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/HooksDestroyResponse.java @@ -18,6 +18,10 @@ package org.bigbluebutton.api.responses; +import lombok.Getter; + public class HooksDestroyResponse extends BaseResponse { + @Getter + private Boolean removed; } diff --git a/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java b/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java index 8311029..5eedacb 100644 --- a/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/HooksListResponse.java @@ -18,6 +18,18 @@ package org.bigbluebutton.api.responses; -public class HooksListResponse extends BaseResponse { +import java.util.List; + +import org.bigbluebutton.api.data.Hook; + +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; +import lombok.Getter; + +public class HooksListResponse extends BaseResponse { + @Getter + @JacksonXmlElementWrapper(localName = "hooks") + @JacksonXmlProperty(localName = "hook") + private List hooks; } diff --git a/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java index 009f53d..bb57978 100644 --- a/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/PublishRecordingsResponse.java @@ -18,6 +18,9 @@ package org.bigbluebutton.api.responses; -public class PublishRecordingsResponse extends BaseResponse { +import lombok.Getter; +public class PublishRecordingsResponse extends BaseResponse { + @Getter + private Boolean published; } diff --git a/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java b/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java index bbd4636..c529524 100644 --- a/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponse.java @@ -18,6 +18,34 @@ package org.bigbluebutton.api.responses; +import java.io.IOException; + +import org.bigbluebutton.api.deserializers.PutRecordingTextTrackResponseDeserliazer; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; + +import lombok.Getter; + +@JsonDeserialize(using = PutRecordingTextTrackResponseDeserliazer.class) public class PutRecordingTextTrackResponse extends BaseResponse { + @Getter + protected String recordId; + + public static PutRecordingTextTrackResponse fromPutRecordingTextTrackResponse(JsonParser parser) + throws IOException { + PutRecordingTextTrackResponse response = new PutRecordingTextTrackResponse(); + JsonNode rootNode = parser.getCodec().readTree(parser); + JsonNode responseNode = rootNode.get("response"); + + if (responseNode != null) { + response.messageKey = responseNode.get("messageKey").asText(); + response.message = responseNode.get("message").asText(); + response.recordId = responseNode.get("recordId").asText(); + response.returnCode = responseNode.get("returncode").asText(); + } + return response; + } } diff --git a/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java b/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java index 12e307d..8d6b374 100644 --- a/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/UpdateRecordingsResponse.java @@ -18,6 +18,10 @@ package org.bigbluebutton.api.responses; +import lombok.Getter; + public class UpdateRecordingsResponse extends BaseResponse { + @Getter + private Boolean updated; } diff --git a/src/test/java/org/bigbluebutton/api/ApiMetaParamsTest.java b/src/test/java/org/bigbluebutton/api/ApiMetaParamsTest.java new file mode 100644 index 0000000..ee32b74 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/ApiMetaParamsTest.java @@ -0,0 +1,41 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.bigbluebutton.api.test.BaseTestCase; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class ApiMetaParamsTest extends BaseTestCase { + + @Test + @DisplayName("Test API meta parameters names") + void apiMethodNamesShouldMatch() { + + assertEquals(ApiMetaParams.META_PREFIX, "meta_"); + assertEquals(ApiMetaParams.END_CALLBACK_URL, "endCallbackUrl"); + assertEquals(ApiMetaParams.BBB_RECORDING_READY_URL, "bbb-recording-ready-url"); + assertEquals(ApiMetaParams.CANVAS_RECORDING_READY_URL, "canvas-recording-ready-url"); + assertEquals(ApiMetaParams.BBB_ANONYMIZE_CHAT, "bbb-anonymize-chat"); + assertEquals(ApiMetaParams.BBB_ANONYMIZE_MODERATORS, "bbb-anonymize-moderators"); + assertEquals(ApiMetaParams.HACK_RECORD_VIEWER_VIDEO, "hack-record-viewer-video"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/ApiUserDataParamsTest.java b/src/test/java/org/bigbluebutton/api/ApiUserDataParamsTest.java new file mode 100644 index 0000000..21316af --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/ApiUserDataParamsTest.java @@ -0,0 +1,64 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import org.bigbluebutton.api.test.BaseTestCase; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +public class ApiUserDataParamsTest extends BaseTestCase { + + @Test + @DisplayName("Test API user data parameters names") + void apiMethodNamesShouldMatch() { + + assertEquals(ApiUserDataParams.BBB_ASK_FOR_FEEDBACK_ON_LOGOUT, "bbb_ask_for_feedback_on_logout"); + assertEquals(ApiUserDataParams.BBB_OVERRIDE_DEFAULT_LOCALE, "bbb_override_default_locale"); + assertEquals(ApiUserDataParams.BBB_AUTO_JOIN_AUDIO, "bbb_auto_join_audio"); + assertEquals(ApiUserDataParams.BBB_AUTO_SHARE_WEBCAM, "bbb_auto_share_webcam"); + assertEquals(ApiUserDataParams.BBB_PREFERRED_CAMERA_PROFILE, "bbb_preferred_camera_profile"); + assertEquals(ApiUserDataParams.BBB_CLIENT_TITLE, "bbb_client_title"); + assertEquals(ApiUserDataParams.BBB_CUSTOM_STYLE, "bbb_custom_style"); + assertEquals(ApiUserDataParams.BBB_CUSTOM_STYLE_URL, "bbb_custom_style_url"); + assertEquals(ApiUserDataParams.BBB_SKIP_CHECK_AUDIO_ON_FIRST_JOIN, "bbb_skip_check_audio_on_first_join"); + assertEquals(ApiUserDataParams.BBB_DISPLAY_BRANDING_AREA, "bbb_display_branding_area"); + assertEquals(ApiUserDataParams.BBB_ENABLE_VIDEO, "bbb_enable_video"); + assertEquals(ApiUserDataParams.BBB_RECORD_VIDEO, "bbb_record_video"); + assertEquals(ApiUserDataParams.BBB_SKIP_VIDEO_PREVIEW, "bbb_skip_video_preview"); + assertEquals(ApiUserDataParams.BBB_SKIP_VIDEO_PREVIEW_ON_FIRST_JOIN, "bbb_skip_video_preview_on_first_join"); + assertEquals(ApiUserDataParams.BBB_MIRROR_OWN_WEBCAM, "bbb_mirror_own_webcam"); + assertEquals(ApiUserDataParams.BBB_FORCE_RESTORE_PRESENTATION_ON_NEW_EVENTS, + "bbb_force_restore_presentation_on_new_events"); + assertEquals(ApiUserDataParams.BBB_FORCE_LISTEN_ONLY, "bbb_force_listen_only"); + assertEquals(ApiUserDataParams.BBB_HIDE_PRESENTATION, "bbb_hide_presentation"); + assertEquals(ApiUserDataParams.BBB_LISTEN_ONLY_MODE, "bbb_listen_only_mode"); + assertEquals(ApiUserDataParams.BBB_MULTI_USER_PEN_ONLY, "bbb_multi_user_pen_only"); + assertEquals(ApiUserDataParams.BBB_MULTI_USER_TOOLS, "bbb_multi_user_tools"); + assertEquals(ApiUserDataParams.BBB_PRESENTER_TOOLS, "bbb_presenter_tools"); + assertEquals(ApiUserDataParams.BBB_SHORTCUTS, "bbb_shortcuts"); + assertEquals(ApiUserDataParams.BBB_SKIP_CHECK_AUDIO, "bbb_skip_check_audio"); + assertEquals(ApiUserDataParams.BBB_HIDE_PRESENTATION_ON_JOIN, "bbb_hide_presentation_on_join"); + assertEquals(ApiUserDataParams.BBB_SHOW_PARTICIPANTS_ON_LOGIN, "bbb_show_participants_on_login"); + assertEquals(ApiUserDataParams.BBB_HIDE_ACTIONS_BAR, "bbb_hide_actions_bar"); + assertEquals(ApiUserDataParams.BBB_HIDE_NAV_BAR, "bbb_hide_nav_bar"); + assertEquals(ApiUserDataParams.BBB_CHANGE_LAYOUT, "bbb_change_layout"); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java index 537591b..4e13b59 100644 --- a/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/ApiVersionResponseTest.java @@ -22,7 +22,7 @@ import java.io.IOException; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -30,7 +30,7 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -public class ApiVersionResponseTest extends ResponseTestCase { +public class ApiVersionResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java index 321357d..97e3f63 100644 --- a/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/CreateMeetingResponseTest.java @@ -24,7 +24,7 @@ import java.io.IOException; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.bigbluebutton.api.util.DateTimeUtil; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -33,7 +33,7 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -class CreateMeetingResponseTest extends ResponseTestCase { +class CreateMeetingResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java index 68e682e..f991706 100644 --- a/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/DeleteRecordingsResponseTest.java @@ -23,7 +23,7 @@ import java.io.IOException; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -31,7 +31,7 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -public class DeleteRecordingsResponseTest extends ResponseTestCase { +public class DeleteRecordingsResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java index a6915a7..fa9d1a9 100644 --- a/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/EndMeetingResponseTest.java @@ -6,7 +6,7 @@ import java.io.IOException; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -14,7 +14,7 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -public class EndMeetingResponseTest extends ResponseTestCase { +public class EndMeetingResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java index 7ad8a55..1bba885 100644 --- a/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/GetMeetingInfoResponseTest.java @@ -7,7 +7,7 @@ import java.io.IOException; import org.bigbluebutton.api.deserializers.GetMeetingInfoResponseDeserializer; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.bigbluebutton.api.util.DateTimeUtil; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; @@ -17,7 +17,7 @@ import com.fasterxml.jackson.databind.DatabindException; import com.fasterxml.jackson.databind.module.SimpleModule; -public class GetMeetingInfoResponseTest extends ResponseTestCase { +public class GetMeetingInfoResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java index 19dac5a..fc42052 100644 --- a/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/GetMeetingsResponseTest.java @@ -22,7 +22,7 @@ import java.io.IOException; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -30,7 +30,7 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -public class GetMeetingsResponseTest extends ResponseTestCase { +public class GetMeetingsResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponseTest.java new file mode 100644 index 0000000..c72d025 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponseTest.java @@ -0,0 +1,49 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.JsonResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class GetRecordingTextTracksResponseTest extends JsonResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/get_recording_text_tracks.json"; + + super.setUp(); + } + + @Test + @DisplayName("Get recording text tracks content") + void testRecordingsTextTracksResponseContent() throws StreamReadException, DatabindException, IOException { + GetRecordingTextTracksResponse getMeetingInfoResponse = jsonMapper.readValue(jsonInput, + GetRecordingTextTracksResponse.class); + assertEquals(getMeetingInfoResponse.response.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/GetRecordingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/GetRecordingsResponseTest.java new file mode 100644 index 0000000..98316fc --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/GetRecordingsResponseTest.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class GetRecordingsResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/get_recordings.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Get recordings response content") + void testRecordingsResponseContent() throws StreamReadException, DatabindException, IOException { + GetRecordingsResponse getRecordingsResponse = xmlMapper.readValue(xmlInput, GetRecordingsResponse.class); + assertEquals(getRecordingsResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/HooksCreateResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/HooksCreateResponseTest.java new file mode 100644 index 0000000..94f2477 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/HooksCreateResponseTest.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +class HooksCreateResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/hooks_create.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Hooks create api response content") + void testIsHooksCreateResponseContent() throws StreamReadException, DatabindException, IOException { + HooksCreateResponse hooksCreateResponse = xmlMapper.readValue(xmlInput, HooksCreateResponse.class); + assertEquals(hooksCreateResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/HooksDestroyResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/HooksDestroyResponseTest.java new file mode 100644 index 0000000..4e93905 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/HooksDestroyResponseTest.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +class HooksDestroyResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/hooks_destroy.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Hooks destroy api response content") + void testHooksDestroyResponseContent() throws StreamReadException, DatabindException, IOException { + HooksDestroyResponse hooksCreateResponse = xmlMapper.readValue(xmlInput, HooksDestroyResponse.class); + assertEquals(hooksCreateResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/HooksListResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/HooksListResponseTest.java new file mode 100644 index 0000000..64e7a72 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/HooksListResponseTest.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +class HooksListResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/hooks_list.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Hooks list api response content") + void testIsMeetingRunningResponseContent() throws StreamReadException, DatabindException, IOException { + HooksListResponse hooksCreateResponse = xmlMapper.readValue(xmlInput, HooksListResponse.class); + assertEquals(hooksCreateResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/InsertDocumentResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/InsertDocumentResponseTest.java new file mode 100644 index 0000000..75c0b51 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/InsertDocumentResponseTest.java @@ -0,0 +1,48 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +class InsertDocumentResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/insert_document.xml"; + + super.setUp(); + } + + @Test + @DisplayName("Insert document api response content") + void testInsertDocumentResponseContent() throws StreamReadException, DatabindException, IOException { + InsertDocumentResponse insertDocumentResponse = xmlMapper.readValue(xmlInput, InsertDocumentResponse.class); + assertEquals(insertDocumentResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java index 4ea7e2f..1d0302e 100644 --- a/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/IsMeetingRunningResponseTest.java @@ -22,7 +22,7 @@ import java.io.IOException; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -30,7 +30,7 @@ import com.fasterxml.jackson.core.exc.StreamReadException; import com.fasterxml.jackson.databind.DatabindException; -class IsMeetingRunningResponseTest extends ResponseTestCase { +class IsMeetingRunningResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java index fe6b6de..6fa3f15 100644 --- a/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java +++ b/src/test/java/org/bigbluebutton/api/responses/JoineMeetingResponseTest.java @@ -5,7 +5,7 @@ import java.io.IOException; import java.net.URI; -import org.bigbluebutton.api.test.ResponseTestCase; +import org.bigbluebutton.api.test.XMLResponseTestCase; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -14,7 +14,7 @@ import com.fasterxml.jackson.databind.DatabindException; import com.fasterxml.jackson.dataformat.xml.XmlMapper; -public class JoineMeetingResponseTest extends ResponseTestCase { +public class JoineMeetingResponseTest extends XMLResponseTestCase { @BeforeEach public void setUp() { diff --git a/src/test/java/org/bigbluebutton/api/responses/PublishRecordingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/PublishRecordingsResponseTest.java new file mode 100644 index 0000000..0a4e612 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/PublishRecordingsResponseTest.java @@ -0,0 +1,51 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class PublishRecordingsResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/publish_recordings.xml"; + + super.setUp(); + } + + @Test + @DisplayName("API publish recording scontent") + void testEndDeleteRecordingsResponseContent() throws StreamReadException, DatabindException, IOException { + PublishRecordingsResponse publishRecordingsResponse = xmlMapper.readValue(xmlInput, + PublishRecordingsResponse.class); + assertEquals(publishRecordingsResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertTrue(publishRecordingsResponse.success()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponseTest.java new file mode 100644 index 0000000..9af5e7f --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/PutRecordingTextTrackResponseTest.java @@ -0,0 +1,51 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; + +import org.bigbluebutton.api.test.JsonResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class PutRecordingTextTrackResponseTest extends JsonResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/put_recording_text_track_success.json"; + + super.setUp(); + } + + @Test + @DisplayName("API put recording text track scontent") + void testPutRecordingTextTrackResponseContent() throws StreamReadException, DatabindException, IOException { + PutRecordingTextTrackResponse putRecordingTextTrackResponse = jsonMapper.readValue(jsonInput, + PutRecordingTextTrackResponse.class); + assertEquals(putRecordingTextTrackResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertTrue(putRecordingTextTrackResponse.success()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/responses/UpdateRecordingsResponseTest.java b/src/test/java/org/bigbluebutton/api/responses/UpdateRecordingsResponseTest.java new file mode 100644 index 0000000..fa7e0f1 --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/responses/UpdateRecordingsResponseTest.java @@ -0,0 +1,51 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.responses; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.IOException; + +import org.bigbluebutton.api.test.XMLResponseTestCase; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.core.exc.StreamReadException; +import com.fasterxml.jackson.databind.DatabindException; + +public class UpdateRecordingsResponseTest extends XMLResponseTestCase { + + @BeforeEach + public void setUp() { + xmlResponseFile = "fixtures/update_recordings.xml"; + + super.setUp(); + } + + @Test + @DisplayName("API publish recording scontent") + void testEndDeleteRecordingsResponseContent() throws StreamReadException, DatabindException, IOException { + UpdateRecordingsResponse updateRecordingsResponse = xmlMapper.readValue(xmlInput, + UpdateRecordingsResponse.class); + assertEquals(updateRecordingsResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertTrue(updateRecordingsResponse.success()); + } +} diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java index 75da3e9..4d54dba 100644 --- a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -76,7 +76,9 @@ protected CreateMeetingParameters generateCreateMeetingParams() { .setSequence(faker.number().numberBetween(1, 5)).setUserCameraCap(faker.number().numberBetween(3, 5)) .setVoiceBridge(faker.phoneNumber().extension()).setWebcamsOnlyForModeratorBoolean(faker.bool().bool()) .setWelcome(faker.lorem().paragraph()) - .addMeta(faker.country().countryCode3(), faker.country().capital()); + .addMeta(faker.country().countryCode3(), faker.country().capital()) + .addPresentation(faker.country().name() + ".pdf", + URI.create("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf")); return createParams; } diff --git a/src/test/java/org/bigbluebutton/api/test/JsonResponseTestCase.java b/src/test/java/org/bigbluebutton/api/test/JsonResponseTestCase.java new file mode 100644 index 0000000..c97ad6f --- /dev/null +++ b/src/test/java/org/bigbluebutton/api/test/JsonResponseTestCase.java @@ -0,0 +1,57 @@ +/* + * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. + * + * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). + * + * This program is free software; you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation; either version 3.0 of the License, or (at your option) any later + * version. + * + * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License along + * with BigBlueButton; if not, see . + */ + +package org.bigbluebutton.api.test; + +import static org.junit.jupiter.api.Assertions.fail; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Paths; + +import org.junit.jupiter.api.BeforeEach; + +import com.fasterxml.jackson.databind.json.JsonMapper; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; + +public abstract class JsonResponseTestCase extends BaseTestCase { + + protected String xmlResponseFile; + + protected byte[] jsonInput; + + protected JsonMapper jsonMapper; + + @BeforeEach + public void setUp() { + super.setUp(); + try { + jsonInput = Files.readAllBytes(Paths.get( + new File(getClass().getClassLoader().getResource(xmlResponseFile).getFile()).getAbsolutePath())); + } catch (IOException e) { + // TODO Auto-generated catch block + fail("Failed loading fixutre: " + xmlResponseFile); + } + + jsonMapper = new JsonMapper(); + jsonMapper.registerModule(new JavaTimeModule()); + jsonMapper.findAndRegisterModules(); + } + +} diff --git a/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java b/src/test/java/org/bigbluebutton/api/test/XMLResponseTestCase.java similarity index 96% rename from src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java rename to src/test/java/org/bigbluebutton/api/test/XMLResponseTestCase.java index b57ee9c..2adb8f8 100644 --- a/src/test/java/org/bigbluebutton/api/test/ResponseTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/XMLResponseTestCase.java @@ -30,7 +30,7 @@ import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; -public abstract class ResponseTestCase extends BaseTestCase { +public abstract class XMLResponseTestCase extends BaseTestCase { protected String xmlResponseFile; From 4df8805de677ecc29802c7c0ed9aae43ef19ca1f Mon Sep 17 00:00:00 2001 From: Ghazi Triki Date: Thu, 18 May 2023 15:59:23 +0100 Subject: [PATCH 17/17] Add more unit tests to the API. --- .../bigbluebutton/api/data/json/Response.java | 40 ---------------- .../GetRecordingTextTracksResponse.java | 24 +++++++++- .../api/responses/JoinMeetingResponse.java | 7 +++ .../api/BigBlueButtonAPITest.java | 44 +++++++++++++++-- .../api/test/BigBlueButtonTestCase.java | 47 +++++++++++++++++-- 5 files changed, 113 insertions(+), 49 deletions(-) delete mode 100644 src/main/java/org/bigbluebutton/api/data/json/Response.java diff --git a/src/main/java/org/bigbluebutton/api/data/json/Response.java b/src/main/java/org/bigbluebutton/api/data/json/Response.java deleted file mode 100644 index 562f883..0000000 --- a/src/main/java/org/bigbluebutton/api/data/json/Response.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * BigBlueButton open source conferencing system - https://www.bigbluebutton.org/. - * - * Copyright (c) 2023 BigBlueButton Inc. and by respective authors (see below). - * - * This program is free software; you can redistribute it and/or modify it under the - * terms of the GNU Lesser General Public License as published by the Free Software - * Foundation; either version 3.0 of the License, or (at your option) any later - * version. - * - * BigBlueButton is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A - * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License along - * with BigBlueButton; if not, see . - */ - -package org.bigbluebutton.api.data.json; - -import java.util.List; - -import org.bigbluebutton.api.data.Track; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.annotation.JsonProperty; -import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; - -import lombok.Getter; - -@JsonIgnoreProperties(ignoreUnknown = true) -public class Response { - @Getter - @JacksonXmlProperty(localName = "returncode") - @JsonProperty("returncode") - protected String returnCode; - - @JsonProperty("tracks") - private List tracks; -} diff --git a/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java b/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java index 769fd16..f47c804 100644 --- a/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/GetRecordingTextTracksResponse.java @@ -18,11 +18,31 @@ package org.bigbluebutton.api.responses; -import org.bigbluebutton.api.data.json.Response; +import java.util.List; + +import org.bigbluebutton.api.data.Track; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; public class GetRecordingTextTracksResponse extends BaseResponse { @Getter - protected Response response; + protected InternalResponse response; + + public List getTracks() { + return response.getTracks(); + } + + public static class InternalResponse { + @Getter + @JacksonXmlProperty(localName = "returncode") + @JsonProperty("returncode") + protected String returnCode; + + @Getter + @JsonProperty("tracks") + private List tracks; + } } diff --git a/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java b/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java index 182e3f2..7db5d7a 100644 --- a/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java +++ b/src/main/java/org/bigbluebutton/api/responses/JoinMeetingResponse.java @@ -20,6 +20,7 @@ import java.net.URI; +import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty; import lombok.Getter; @@ -27,23 +28,29 @@ public class JoinMeetingResponse extends BaseResponse { @Getter @JacksonXmlProperty(localName = "meeting_id") + @JsonProperty(required = false) private String meetingId; @Getter @JacksonXmlProperty(localName = "user_id") + @JsonProperty(required = false) private String userId; @Getter + @JsonProperty(required = false) @JacksonXmlProperty(localName = "auth_token") private String authToken; @Getter @JacksonXmlProperty(localName = "session_token") + @JsonProperty(required = false) private String sessionToken; @Getter + @JsonProperty(required = false) private String guestStatus; @Getter + @JsonProperty(required = false) private URI url; } diff --git a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java index 63c63a2..d83c29a 100644 --- a/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java +++ b/src/test/java/org/bigbluebutton/api/BigBlueButtonAPITest.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; import java.net.URISyntaxException; import javax.xml.parsers.ParserConfigurationException; @@ -53,7 +54,7 @@ public void setUp() { } @Test - @DisplayName("BigBlueButton API version") + @DisplayName("API version") public void fetchAPIVersion() throws MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { ApiVersionResponse apiVersion = bbbAPI.getAPIVersion(); @@ -64,7 +65,7 @@ public void fetchAPIVersion() throws MalformedURLException, IOException, ParserC } @Test - @DisplayName("BigBlueButton Create meeting") + @DisplayName("Create meeting") public void shouldCreateMeeting() throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { @@ -75,11 +76,48 @@ public void shouldCreateMeeting() } @Test - @DisplayName("BigBlueButton end non existing meeting") + @DisplayName("Create meeting with a presentation") + public void shouldCreateMeetingWithAPresetnation() + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { + CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); + createMeetingParms.addPresentation(faker.country().name() + ".pdf", + URI.create("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf")); + CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); + assertEquals(createMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertEquals(createMeetingResponse.getMeetingId(), createMeetingParms.getMeetingId()); + } + + @Test + @DisplayName("Create meeting with an image as presentation") + public void shouldCreateMeetingWithAnImage() + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { + CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); + createMeetingParms.addPresentation(faker.country().name() + ".jpg", + URI.create("https://picsum.photos/3840/2160/?random")); + CreateMeetingResponse createMeetingResponse = bbbAPI.createMeeting(createMeetingParms); + assertEquals(createMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + assertEquals(createMeetingResponse.getMeetingId(), createMeetingParms.getMeetingId()); + } + + @Test + @DisplayName("End a non-existing meeting") public void shouldNotFindMeetingToEnd() throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, ParserConfigurationException, SAXException, InterruptedException, URISyntaxException { EndMeetingParameters endMeetingParms = generateEndMeetingParams(); EndMeetingResponse endMeetingResponse = bbbAPI.endMeeting(endMeetingParms); assertEquals(endMeetingResponse.getReturnCode(), APIReturnCode.FAILED.getReturnCode()); } + + @Test + @DisplayName("End a real existing meeting") + public void shouldEndRealMeeting() + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { + String meetingId = realMeeting().getMeetingId(); + Thread.sleep(500); + EndMeetingResponse endMeetingResponse = bbbAPI.endMeeting(new EndMeetingParameters(meetingId)); + assertEquals(endMeetingResponse.getReturnCode(), APIReturnCode.SUCCESS.getReturnCode()); + } } diff --git a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java index 4d54dba..60222c3 100644 --- a/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java +++ b/src/test/java/org/bigbluebutton/api/test/BigBlueButtonTestCase.java @@ -18,23 +18,36 @@ package org.bigbluebutton.api.test; +import java.io.IOException; +import java.net.MalformedURLException; import java.net.URI; +import java.net.URISyntaxException; import java.util.HashMap; import java.util.Map; import java.util.Random; +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.transform.TransformerException; + import org.bigbluebutton.api.ApiParams; +import org.bigbluebutton.api.BigBlueButtonAPI; import org.bigbluebutton.api.enums.GuestPolicy; import org.bigbluebutton.api.enums.MeetingLayout; +import org.bigbluebutton.api.enums.Role; import org.bigbluebutton.api.parameters.CreateMeetingParameters; import org.bigbluebutton.api.parameters.EndMeetingParameters; +import org.bigbluebutton.api.parameters.JoinMeetingParameters; +import org.bigbluebutton.api.responses.CreateMeetingResponse; import org.junit.jupiter.api.BeforeEach; +import org.xml.sax.SAXException; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.JsonMappingException; import com.github.javafaker.Faker; public class BigBlueButtonTestCase extends BaseTestCase { - private Faker faker; + protected Faker faker; @BeforeEach public void setUp() { @@ -42,6 +55,17 @@ public void setUp() { faker = new Faker(); } + protected CreateMeetingResponse realMeeting() + throws JsonMappingException, JsonProcessingException, MalformedURLException, IOException, + ParserConfigurationException, SAXException, InterruptedException, URISyntaxException, TransformerException { + CreateMeetingParameters createMeetingParms = generateCreateMeetingParams(); + + BigBlueButtonAPI bbbApi = new BigBlueButtonAPI(); + + CreateMeetingResponse response = bbbApi.createMeeting(createMeetingParms); + return response; + } + protected CreateMeetingParameters generateCreateMeetingParams() { Map mockCreate = mockCreateMeetingParams(); CreateMeetingParameters createParams = new CreateMeetingParameters((String) mockCreate.get(ApiParams.NAME), @@ -76,9 +100,7 @@ protected CreateMeetingParameters generateCreateMeetingParams() { .setSequence(faker.number().numberBetween(1, 5)).setUserCameraCap(faker.number().numberBetween(3, 5)) .setVoiceBridge(faker.phoneNumber().extension()).setWebcamsOnlyForModeratorBoolean(faker.bool().bool()) .setWelcome(faker.lorem().paragraph()) - .addMeta(faker.country().countryCode3(), faker.country().capital()) - .addPresentation(faker.country().name() + ".pdf", - URI.create("https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf")); + .addMeta(faker.country().countryCode3(), faker.country().capital()); return createParams; } @@ -88,6 +110,13 @@ protected EndMeetingParameters generateEndMeetingParams() { return endParams; } + protected JoinMeetingParameters generateJoinMeetingParams() { + Map mockJoin = mockJoinMeetingParams(); + JoinMeetingParameters joinParams = new JoinMeetingParameters((String) mockJoin.get(ApiParams.FULL_NAME), + (String) mockJoin.get(ApiParams.MEETING_ID), (Role) mockJoin.get(ApiParams.ROLE)); + return joinParams; + } + protected Map mockCreateMeetingParams() { Map paramsMap = new HashMap<>(); paramsMap.put(ApiParams.NAME, faker.educator().course()); @@ -97,7 +126,17 @@ protected Map mockCreateMeetingParams() { protected Map mockEndMeetingParams() { Map paramsMap = new HashMap<>(); + paramsMap.put(ApiParams.MEETING_ID, faker.code().isbn10()); return paramsMap; } + + protected Map mockJoinMeetingParams() { + Map paramsMap = new HashMap<>(); + paramsMap.put(ApiParams.FULL_NAME, faker.name().fullName()); + paramsMap.put(ApiParams.ROLE, Role.values()[new Random().nextInt(Role.values().length)]); + paramsMap.put(ApiParams.MEETING_ID, faker.code().isbn10()); + return paramsMap; + } + }