From 3bf0b7ad10bf25ee3db2c91a75f90b2ea69d67d6 Mon Sep 17 00:00:00 2001 From: MXPLRS|Kirill Date: Mon, 27 Jun 2016 05:19:42 +0300 Subject: [PATCH 1/3] updated readme.md --- README.md | 8 ++------ .../armeabi-v7a/lib/libminiupnpc.a | Bin .../armeabi-v7a/lib/libminiupnpc.so | Bin .../armeabi/lib/libminiupnpc.a | Bin .../armeabi/lib/libminiupnpc.so | Bin .../include/miniupnpc/igd_desc_parse.h | 0 .../include/miniupnpc/miniupnpc.h | 0 .../include/miniupnpc/miniupnpc_declspec.h | 0 .../include/miniupnpc/miniupnpctypes.h | 0 .../include/miniupnpc/miniwget.h | 0 .../include/miniupnpc/portlistingparse.h | 0 .../include/miniupnpc/upnpcommands.h | 0 .../include/miniupnpc/upnpdev.h | 0 .../include/miniupnpc/upnperrors.h | 0 .../include/miniupnpc/upnpreplyparse.h | 0 .../x86/lib/libminiupnpc.a | Bin .../x86/lib/libminiupnpc.so | Bin 17 files changed, 2 insertions(+), 6 deletions(-) rename {miniupnp-2.0 => miniupnpc-2.0}/armeabi-v7a/lib/libminiupnpc.a (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/armeabi-v7a/lib/libminiupnpc.so (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/armeabi/lib/libminiupnpc.a (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/armeabi/lib/libminiupnpc.so (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/igd_desc_parse.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/miniupnpc.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/miniupnpc_declspec.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/miniupnpctypes.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/miniwget.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/portlistingparse.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/upnpcommands.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/upnpdev.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/upnperrors.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/include/miniupnpc/upnpreplyparse.h (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/x86/lib/libminiupnpc.a (100%) rename {miniupnp-2.0 => miniupnpc-2.0}/x86/lib/libminiupnpc.so (100%) diff --git a/README.md b/README.md index 9db20ef..32133e9 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,7 @@ Prebuilt MiniUPnP libraries ==== - MiniUPnPc 2.0 libraries. Built for arm, arm-v7a, x86. -Built with Android NDK r11c - -Warning! +WARNING ==== - -armeabi-b1 builded without any compile flags for compatability with arm. But it works (tested with [i2pd](https://github.com/PurpleI2P/i2pd/)). +Built with Android NDK r11c using android-19 platform diff --git a/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.a b/miniupnpc-2.0/armeabi-v7a/lib/libminiupnpc.a similarity index 100% rename from miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.a rename to miniupnpc-2.0/armeabi-v7a/lib/libminiupnpc.a diff --git a/miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so b/miniupnpc-2.0/armeabi-v7a/lib/libminiupnpc.so similarity index 100% rename from miniupnp-2.0/armeabi-v7a/lib/libminiupnpc.so rename to miniupnpc-2.0/armeabi-v7a/lib/libminiupnpc.so diff --git a/miniupnp-2.0/armeabi/lib/libminiupnpc.a b/miniupnpc-2.0/armeabi/lib/libminiupnpc.a similarity index 100% rename from miniupnp-2.0/armeabi/lib/libminiupnpc.a rename to miniupnpc-2.0/armeabi/lib/libminiupnpc.a diff --git a/miniupnp-2.0/armeabi/lib/libminiupnpc.so b/miniupnpc-2.0/armeabi/lib/libminiupnpc.so similarity index 100% rename from miniupnp-2.0/armeabi/lib/libminiupnpc.so rename to miniupnpc-2.0/armeabi/lib/libminiupnpc.so diff --git a/miniupnp-2.0/include/miniupnpc/igd_desc_parse.h b/miniupnpc-2.0/include/miniupnpc/igd_desc_parse.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/igd_desc_parse.h rename to miniupnpc-2.0/include/miniupnpc/igd_desc_parse.h diff --git a/miniupnp-2.0/include/miniupnpc/miniupnpc.h b/miniupnpc-2.0/include/miniupnpc/miniupnpc.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/miniupnpc.h rename to miniupnpc-2.0/include/miniupnpc/miniupnpc.h diff --git a/miniupnp-2.0/include/miniupnpc/miniupnpc_declspec.h b/miniupnpc-2.0/include/miniupnpc/miniupnpc_declspec.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/miniupnpc_declspec.h rename to miniupnpc-2.0/include/miniupnpc/miniupnpc_declspec.h diff --git a/miniupnp-2.0/include/miniupnpc/miniupnpctypes.h b/miniupnpc-2.0/include/miniupnpc/miniupnpctypes.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/miniupnpctypes.h rename to miniupnpc-2.0/include/miniupnpc/miniupnpctypes.h diff --git a/miniupnp-2.0/include/miniupnpc/miniwget.h b/miniupnpc-2.0/include/miniupnpc/miniwget.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/miniwget.h rename to miniupnpc-2.0/include/miniupnpc/miniwget.h diff --git a/miniupnp-2.0/include/miniupnpc/portlistingparse.h b/miniupnpc-2.0/include/miniupnpc/portlistingparse.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/portlistingparse.h rename to miniupnpc-2.0/include/miniupnpc/portlistingparse.h diff --git a/miniupnp-2.0/include/miniupnpc/upnpcommands.h b/miniupnpc-2.0/include/miniupnpc/upnpcommands.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/upnpcommands.h rename to miniupnpc-2.0/include/miniupnpc/upnpcommands.h diff --git a/miniupnp-2.0/include/miniupnpc/upnpdev.h b/miniupnpc-2.0/include/miniupnpc/upnpdev.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/upnpdev.h rename to miniupnpc-2.0/include/miniupnpc/upnpdev.h diff --git a/miniupnp-2.0/include/miniupnpc/upnperrors.h b/miniupnpc-2.0/include/miniupnpc/upnperrors.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/upnperrors.h rename to miniupnpc-2.0/include/miniupnpc/upnperrors.h diff --git a/miniupnp-2.0/include/miniupnpc/upnpreplyparse.h b/miniupnpc-2.0/include/miniupnpc/upnpreplyparse.h similarity index 100% rename from miniupnp-2.0/include/miniupnpc/upnpreplyparse.h rename to miniupnpc-2.0/include/miniupnpc/upnpreplyparse.h diff --git a/miniupnp-2.0/x86/lib/libminiupnpc.a b/miniupnpc-2.0/x86/lib/libminiupnpc.a similarity index 100% rename from miniupnp-2.0/x86/lib/libminiupnpc.a rename to miniupnpc-2.0/x86/lib/libminiupnpc.a diff --git a/miniupnp-2.0/x86/lib/libminiupnpc.so b/miniupnpc-2.0/x86/lib/libminiupnpc.so similarity index 100% rename from miniupnp-2.0/x86/lib/libminiupnpc.so rename to miniupnpc-2.0/x86/lib/libminiupnpc.so From c7fb5dda364bbe13adad647eb45f6ee6fc7820e8 Mon Sep 17 00:00:00 2001 From: r4sas Date: Mon, 20 Aug 2018 00:49:22 +0300 Subject: [PATCH 2/3] miniupnpc-2.1 --- README.md | 4 +- miniupnpc-2.0/Android.mk | 6 + miniupnpc-2.1/Android.mk | 6 + miniupnpc-2.1/aarch64/lib/libminiupnpc.a | Bin 0 -> 82678 bytes miniupnpc-2.1/aarch64/lib/libminiupnpc.so | Bin 0 -> 49920 bytes miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.a | Bin 0 -> 74022 bytes miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.so | Bin 0 -> 61660 bytes miniupnpc-2.1/armeabi/lib/libminiupnpc.a | Bin 0 -> 64310 bytes miniupnpc-2.1/armeabi/lib/libminiupnpc.so | Bin 0 -> 49012 bytes miniupnpc-2.1/include/miniupnpc/codelength.h | 54 +++ .../include/miniupnpc/connecthostport.h | 20 + .../include/miniupnpc/igd_desc_parse.h | 49 +++ miniupnpc-2.1/include/miniupnpc/minisoap.h | 17 + miniupnpc-2.1/include/miniupnpc/minissdpc.h | 58 +++ miniupnpc-2.1/include/miniupnpc/miniupnpc.h | 153 ++++++++ .../include/miniupnpc/miniupnpc_declspec.h | 21 ++ .../include/miniupnpc/miniupnpc_socketdef.h | 44 +++ .../include/miniupnpc/miniupnpcstrings.h | 23 ++ .../include/miniupnpc/miniupnpctypes.h | 19 + miniupnpc-2.1/include/miniupnpc/miniwget.h | 27 ++ .../include/miniupnpc/miniwget_private.h | 15 + miniupnpc-2.1/include/miniupnpc/minixml.h | 37 ++ .../include/miniupnpc/portlistingparse.h | 65 ++++ miniupnpc-2.1/include/miniupnpc/receivedata.h | 21 ++ .../include/miniupnpc/upnpcommands.h | 348 ++++++++++++++++++ miniupnpc-2.1/include/miniupnpc/upnpdev.h | 36 ++ miniupnpc-2.1/include/miniupnpc/upnperrors.h | 26 ++ .../include/miniupnpc/upnpreplyparse.h | 63 ++++ miniupnpc-2.1/x86/lib/libminiupnpc.a | Bin 0 -> 72244 bytes miniupnpc-2.1/x86/lib/libminiupnpc.so | Bin 0 -> 55692 bytes miniupnpc-2.1/x86_64/lib/libminiupnpc.a | Bin 0 -> 92070 bytes miniupnpc-2.1/x86_64/lib/libminiupnpc.so | Bin 0 -> 61408 bytes 32 files changed, 1110 insertions(+), 2 deletions(-) create mode 100644 miniupnpc-2.0/Android.mk create mode 100644 miniupnpc-2.1/Android.mk create mode 100644 miniupnpc-2.1/aarch64/lib/libminiupnpc.a create mode 100755 miniupnpc-2.1/aarch64/lib/libminiupnpc.so create mode 100644 miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.a create mode 100755 miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.so create mode 100644 miniupnpc-2.1/armeabi/lib/libminiupnpc.a create mode 100755 miniupnpc-2.1/armeabi/lib/libminiupnpc.so create mode 100644 miniupnpc-2.1/include/miniupnpc/codelength.h create mode 100644 miniupnpc-2.1/include/miniupnpc/connecthostport.h create mode 100644 miniupnpc-2.1/include/miniupnpc/igd_desc_parse.h create mode 100644 miniupnpc-2.1/include/miniupnpc/minisoap.h create mode 100644 miniupnpc-2.1/include/miniupnpc/minissdpc.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniupnpc.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniupnpc_declspec.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniupnpc_socketdef.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniupnpcstrings.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniupnpctypes.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniwget.h create mode 100644 miniupnpc-2.1/include/miniupnpc/miniwget_private.h create mode 100644 miniupnpc-2.1/include/miniupnpc/minixml.h create mode 100644 miniupnpc-2.1/include/miniupnpc/portlistingparse.h create mode 100644 miniupnpc-2.1/include/miniupnpc/receivedata.h create mode 100644 miniupnpc-2.1/include/miniupnpc/upnpcommands.h create mode 100644 miniupnpc-2.1/include/miniupnpc/upnpdev.h create mode 100644 miniupnpc-2.1/include/miniupnpc/upnperrors.h create mode 100644 miniupnpc-2.1/include/miniupnpc/upnpreplyparse.h create mode 100644 miniupnpc-2.1/x86/lib/libminiupnpc.a create mode 100755 miniupnpc-2.1/x86/lib/libminiupnpc.so create mode 100644 miniupnpc-2.1/x86_64/lib/libminiupnpc.a create mode 100755 miniupnpc-2.1/x86_64/lib/libminiupnpc.so diff --git a/README.md b/README.md index 32133e9..15d65bf 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Prebuilt MiniUPnP libraries ==== -MiniUPnPc 2.0 libraries. Built for arm, arm-v7a, x86. +MiniUPnPc libraries. Built for armeabi, armeabi-v7a, aarch64, x86, x86_64. WARNING ==== -Built with Android NDK r11c using android-19 platform +Built with Android NDK r14b using android-14 platform for armeabi, armeabi-v7a, x86, and android-21 (minimal) for aarch64, x86_64. diff --git a/miniupnpc-2.0/Android.mk b/miniupnpc-2.0/Android.mk new file mode 100644 index 0000000..da2d4e0 --- /dev/null +++ b/miniupnpc-2.0/Android.mk @@ -0,0 +1,6 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := libminiupnpc +LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libminiupnpc.a +include $(PREBUILT_STATIC_LIBRARY) diff --git a/miniupnpc-2.1/Android.mk b/miniupnpc-2.1/Android.mk new file mode 100644 index 0000000..da2d4e0 --- /dev/null +++ b/miniupnpc-2.1/Android.mk @@ -0,0 +1,6 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := libminiupnpc +LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/lib/libminiupnpc.a +include $(PREBUILT_STATIC_LIBRARY) diff --git a/miniupnpc-2.1/aarch64/lib/libminiupnpc.a b/miniupnpc-2.1/aarch64/lib/libminiupnpc.a new file mode 100644 index 0000000000000000000000000000000000000000..4a1484005d703e8100b2514552f7253289bdebe7 GIT binary patch literal 82678 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 literal 0 HcmV?d00001 diff --git a/miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.a b/miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.a new file mode 100644 index 0000000000000000000000000000000000000000..04252ccb9e7fec3c97a0415cd3a3b5f9a6efa36c GIT binary patch literal 74022 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 literal 0 HcmV?d00001 diff --git a/miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.so b/miniupnpc-2.1/armeabi-v7a/lib/libminiupnpc.so new file mode 100755 index 0000000000000000000000000000000000000000..6dc98fa1ecaf8ce46362c27ac5354f6d94094f25 GIT binary patch literal 61660 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 literal 0 HcmV?d00001 diff --git a/miniupnpc-2.1/armeabi/lib/libminiupnpc.so b/miniupnpc-2.1/armeabi/lib/libminiupnpc.so new file mode 100755 index 0000000000000000000000000000000000000000..5dfb0eb7aae67ebc61c63215820882d0f3de0073 GIT binary patch literal 49012 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⋙j*j0c%V3bU~ew@u>-|%eS33D zw;d>s&Fsx_=jC)Hac^F>3G?|9U;Y_;g){$!JTN}6ji;BT?#)-EdWvP;=EM84M#@%q4$0+kyX_=L_%$H~jw4YWPPpb^t6EeGOxmxF_ ztp5p)M>Fy8xEwp}gu^wtr;BmcysV2Sqk}-pP9Asc258>^Pr4tJ9GoHlCE&~i2U(#X zhs*hU@uwkM&^Qk@+(*9QHvOI7rei0IZ!jCIJw46GJGLiZaZI#q7=->M2Z>iX702K~ z?s@w6{qWP$#Jr;ZeLuQGy4%pd!{Ko`(Q4rbNrNY;!oNaqT;meH>!`{_weTALjhyXrmW z@&9eq>yMQ-|7cX=A<9M_3AZG7q6ke zMdLKrPGn$s924iuD)Fa7PM1lKMc`d1vC_8Vu~*M65icsT>eJ`!xc+m>lwIx5Q|r;Y za*LhQ+#s7G)Q}y#8$N|o+0Wmd%6_&S-u}sNy!o^|as0*Z1s)CE3wnxU&AI|Qe46@f zma}bzzfbs{jwUeo%$?@_YT;yHH%cb*=-%P#K*S(+*nwRIh7j#qB+QMSWvNTZM z3$DC-Tv1pgnmwp92-R^LZt?6(7hk zM4sDS9&F<2Z<)}OSH1{i-Oo2SkgwV0n@hg;4d;uh%o>+AkF=XznrMw&{*0AV$_)=r z>~oSN;0vOHdoymZY?Ey=o#uuE_7?I3~M)RFxgLb zPl0&ZDRHgAW@HQd18cBvh|VOss4}Is)ukqLANvvP=P5pw%8QSZgE%%*B%U2SKzzj9 zn_D`mzc>c?Q^4B)ET`RLftf!G|6t2Z<&un z`O2vpcrpXmQ0v)E55XJl*^3W$9o*;f=fwT}#iwpnds(B+V~vK+c_eWi_1{}G$=>2U zZ-8Fpy&FE&z0F&5j)PAh5^d<(DC5HPVcUVrK8;7u>NWCwR&`euUGQ}owm)N9Pms{gRkDs8`I2Oo*qvw=e81aGh9o$R&v zWj&HuJLuDDV#tWb3I549GjHQ-?$|etHH%wgV6fS}ho7BQo!J6q+5HTSpIE#%UnluY zdV3LhaHLaaf+Jk!SnG4dYW*3`XWUv?wwmzX=zQ&+2xjqYeb!vo*WSErD%1T$u`~Vb8?s1GK93iZAJaRm}oUrV6 z=$Ssog^`8nVfgZo@TWy>!UmVDqeCx}E_y_~O`(sV89U*jv1WH(Yx0LI&skffw!|b4 zhk(mXcWyqkg&MlU;f8Klb!*{9R$F(eqi|$ir+hlF*X_7T_X zGavlQsmNOHO5DW#5oeR#)R&c&lN7spSykABtqJJmll=$n4bLE z|H*!oN#-X)JMz3MWU>#&n1}HTL0_^icnb7Ha4)62`wDZA;fU#FkC`zY*V(Mr=m%cZ zzPYzQao|PvIoKce;^TzHL+uxnFCRju%%Q!JGyO00umHIW*M-wv2<;P2JI35~jJ*T= z2!8AsXV=Hr^B|mL4?%XU@>bV)^PuQq-q+qmF&_8M7uP3#WcQ~V2KtK|*e9`LfOG5( z@&2hg%jOnb;lyVSlt;6B*|2%ere6nNb@pM*gSZrHWY))h%-h}BLUw_-523x|{f!5T zV;c76WcwqFg@2sr?XR=A?NkMleG_9&UmPxT-iWhQkr<5%9d$9 zHA&T1XKjDey{kAr@iF#WO>}HG`p109(o#T9G&f`WPhUh?N~=hs7jHUHEKk83)*{lA zf9cAmzUjm5&JMMEp>#r$wE^}0k}{$BH1dOO@BneOh5xek?Bp!loURiuXs^yIwD+y@ ztlc!A{cp}FXlI;rgcR|g5)YtB`u6w9*GoRF;eN~*_Y0fUwIp-VVIy1@+HZw;}qaKZi zDkk?wA=Fe8ZaA>VSKT-Q7L;NppMHWAW^B*(s9OTE-c+Y|)P&oX?ps z@oR`Tf%rxje?9RP#J^>fvNUEZNs|pLx!1iEtpU|9-0&*?^M7cpU=yX-6F`o?2^=9T znLbWf`)`$mzec!{u-4sQB^)EH^_}`6rGBRWQpw(YGSQ4I_Z7=$U@Ov}vX#(-^kZ+n zDQteWIMBa8qa4wM?km%ni@P**TmA*rF|mCx8_uHM&z(-W{(t2?=t7+KE}K`wh0f4khdH#og3>P#h-;p=RWe2e%jr{iSHOE(efG0|K?M+zf;(Y;WBg*Y2#^sigED{>JTh` zq!|0sci2EtrRjWki{sY{(pA3hEk&;Up2eFB-rxc47qiy|P1;|08~AVRg*WuGY$DkV zivMHRHt|>Rn}L0L{kBY_Y(MUX*J#6ckk?=v&e}7((c2(>e5GpxcCKy1Ov;uFiSK9P z2a2LC*w+ux*P+Y@na^+0S}Ph$_7|r#^cVLa@0G{^@+cnJFzH_0kiTAb=yS+>A(CP) zA|LYo;tzgJKVgeWo+{Yi)0#wgLB2!03A%^Fj{-aPr;U@x;|s zGj7or_B=8}J=7IWGKP>zjrmCYV)hFem$u}P$qO*oG8;v8?r?Mg` z@|o;lpQHCdM=yJ$(Yg%!oc7iz4t^?6#N3zH7*E2xosQ1siEk8B=mqTyAYakDkOD&QbUq=vDMj;=ZC`e_L@ry*1FRb~jw_?XOi?y*=Fj zVQ5yLu7{2~%GbG;&eiPw3~R^k<<5w2-|o!~+qZjjrS|P=&rE7CF^sT~i)7hqBXH@7s%n(;592alL66I!WSt_Tlz#1_cYJmO} zeT03le!tx2NfoM7Jz>p3Q-|)cajwnTlKSl58J9-9BcJ+A^olO�r%UKSFWtFH%;8 zP0MQT9!!wd>dm)<|D1GVN@E~9__q#E8rnmrj)De?h=~V-~U-(fF{|h;&G5q4@1xPKY%9PU3e`% zz0=k8-V&N_CjRySP1lY>Qv!NoIPHsUL7qZM_N_9^Ik8+p`$P85lc_ChKpw-$Kv@HF z5V!JX^`~q**>qZ)NakAI8m(0{cc=1ol4JM~l(loRGl-k#=w0ge$?ToqZconUxVYJ( zzt4-C;o{rgyGbGV1tEpFd z=~{HDueUgVhyI%jI@i*8E_ZYvapPc299x8Z!}#bobfQS2f40j>J$M!@AL+ zCs`ll{r!u7bGDG`+QM9_J9-U?ncV&M_6@J34B>yr@=JI0*cXGx(ie>5!WPD#_A8Do z=Ux`B+qqfz&s@iI6*%cA^{dL3?Wq1_{b~Es>5WnQ@lmHYexox$=7~$lcHGJK7sZoIDo?Rd^?6XXS3#HJ?sPmk z+T_dXjjtiAd1nJ& zN0R7s}s=)uO+Lmx^+M)zkFG}-tlV?ybJM5vN{F6oaKSfDL6g& z>FeU%ef`D0EV|gI(QoJjP9P|A_vETXZ7_Is~lVf?2m~#gr~Xq z1mQi@CEZ)G;6OQdrOYDYj7wikc)v?Olkn1)Dm~d-Y!1vN-ac`5@MOYU@BTn*b7Vty z$bnxGM%Ld-8>QQuW9+{qJzGY1XBGExaD=E& zbhy4FkJY^q=S%h@qv+zL^xtCV7U9eJaDwn5HZM&;JBi z<0I5Cvd{lU{GiX9NzXby2m8Fw#rb{S<6ytfw>#MHbAKN9`@F%WtIvJ;QJ<$=e6Y`x zfj(dC(t~}D{8*WItv*L?*w5aZdvBo6XSzPuK0s-opT^!$+?!pWKjr#->IM3Iz@@(* z{E76X`a0|4tgVbrV2>jDFnSI>TUe^Pk&B1pJS&uVd`K^pxp`IjUxWsY^WRlgR?+X( z&L#2Xe0VA0qf3z;{Db(j@G~6fY``4{*4RQXPDX^H{@f-x38M$BYI2I+WaA2O zPbECQN;bNkK6uu}S=q?+6rXail?}#!>A2Kd5uOYla(KVg+T5#e@Jqk+#^oQ6(nt5W zJ{kZ=3V_ufZ=JmwOzq{qd+Z(Rt&Mxo8gjs&eii{!>@+{3$Lt z-u85Rx=Q@Sbc%|HvU9bEhVGq=dX9#&z_bw=vpoHl+6hl7GWv?+gLoQ&f9NzTyOy7< zfnRX2VyTSwvVI~;%4JO285t?mN+_3hC9QTV&a z@%ML?<$)#a`Qx62w-4iY<6603upXy9+AeI+{eAt#hv9WL+h05~0MC=T0=6Xc#M(mE z=Q})R4a?pE{ARqF#6PkAK7p;_@x9&g{o~+oaeJRW-^EAWaq!n7T7&D^mTHH0z1>6d z=8uV%k2e?Yqa4|=Ixm{$=8qp>M<{NL<734nPfo+)BV|ffIgg%G{I%7fl( z6aQ@Y|DV0c%kyj5Btv=DO_r@7JtduTiOW-to#CB%^yUw`d@qj3_g-69lzb8Lz1ig} zOFU`o>T-FWvw2c^)uFvm*)nf%xD(-{U&ktk|80k_c4$2&n!-agov>xc9qtp3oQEoF|Tm(O_ZKLo$a(2qI;ITiDGaMa~JI7;3WbrxOTgXF!@<@NRRU%9*kqvTcl zzVGr5kawcX>&yMemDky`nfUPf%9s0}kXLl>08e|PzAh=9+q<;RVh?jWvfYe3%SFX! za7S?aaCNvETpVX`U6*6?;)ZP9W9Z}ry17BJlViUY`G)qOEz2J3U|Bpnc*KqQhjm_@ zO66xcc?qsD=0mS!=>5wb?jv6Qj?^P<og% z6B(l;*AP#7>s>dle(v&?Q=i7H#^A*+Z#iQ&1g}+&^q~5{-vjxH&3C>ol76_z8i&g3%jHq!9c5kV z%jJKQSNNX*?{~4EwC||#*ovHOaqbY~Z3f|!T#|YWw;#71_tFC9B;3$^pW$33g)AOp z93JC*p+P*f=UtN-qh;`Va=2S@YYU7=)}On|6y}=4^f7(Tw#w2^#+#4+S?xwPSJHpj zwRYaO^AUE_3c;&(eyP_hU4uhX3~p6m0@!a`ZvJuo~5qR^x#UM7FfBL+7$cQ|F)$;8 zd^=dOKMUKr)He2?O?W=xjgjx_Tr%bL%|rht-mNQCIe8E632cO4lKGELp5dA1&Pp|H>`v%RxzmG1HUE;-5J^AV1ND7?O?0- zvOUEv2ix^epPpl2|K_6MdhfFR=+*1*FGwC%xqP!+y-OWzWhK*7^kuJ#^f?2b?6d~f z1Df}>9`I#uc|dl?+d9`3{Jn+N7-#TFZ$Ig2>;v&8431>yq?3(TWj8SIm&3b5jKvCg zwov7uJ7outWggU>Y=6J@SHfp(OV)z+sJ|EaF7o>Gy=-;m{VsWAn{ozg_n*l7n)^_` zt-60c`%AdHXQKxg`=@X(;BvS)@yGGUl6J_&pTOUz@TKTuoNt%0j2pSX(7+s+Vf-UY zWln~oYBMr~s);`1#--#W!ua*)B`XVz_tNpKy#(1}2VK4&>&%q0#pl2Nx%joNFxp;1 zo9mN)aD=sF9-V2! zAGCKBM%wBhv~#n+UJScD8t*~bO1d)NLmisSi_{sEr_%MLwSU-~O1_hs6<39u1@ST5 zXgt&&(}j5WPRBz`-)Qc4dHgN}!fgQKz5?b`cQ*;42; z=78vTYKDl3O zM4n&O`N$i9BPLTw5vH%7+(fvRa2o#x{Eu0EnkigISZ&#dA0}-t_D+(tlq+j3@#x+s zpW=BrmAwkM$v%JKg?E8l<#5-Kb|biYwobS!f&ZNJN|)XMJcabJE?u;JexjWh4u@Ub z3gYyvq4FzyJNZv)z5{-@!zcbZ@7W!XhK=BSk#g!t7p-3){2s#B^E`;1qg~$h;MqAE z7&@cieA%x{Jb|9m8TbAT>B236a6=%xJ`hd?!m9$|WFWja5KaWbRe^9k5S|tY#{%Js zK-dJrXWhL~(R?Nl_TB-qH>dbqApY4v_+%h_A`m_n2tOJK4+O%80^w{Rygv}`3xq$) zB>#St!dG!m;=YdiHtzel#puy$Tpg|%C*8Umw+GjU+lR~Ij^K{sjyrb}{}k>OTqWZp zhKu8>aEoy@xb?VZ+;-d^+(BIK?Veq^gZC0>&I%=THx%8CEprtAG2AiSaoh>qQ#hS5 z4zNcX0_RcSXBfM?-7{y;{S2MJbIf|z2fBo3$$5qw_)9m4&{`*M-Q_g|E4LV1&^-##0E4jTb_ zp9san-_@L>XV{sT?VYN(@SIe6YFAD+S!BTqYp*^Jy_!#WFGt}UmfmdP`32u9D*l;R zZ+;-&n?H%&_#>sU2Zv&?IgoV-89}iWged7*{z?n^yUhmrrwj*CcmwKZi%vv zDjcFL*>k+>sgRKl;9N`h*!=x#-D8VzXSO2tDbBV(ReW4!WmEY!#^p5LW2W~{Ou?Qs z@dxs1b5!qWQ`>1P@l&V8cTFv$ebiGtlBDnYct;L;IuzqQJM@v>>oj2L(;aJbcm}pk zGw_A-Om%ra8_1()4Q>HexznIC2A!W)I{ZPO9DcGRJNVW_G#{cLr|shYSVM1KydV3g zdN0<8>~rYz;LRBF>;7dob=*e&NADSHZJxLjE|i$Gty$zua%{EZ}>Di|kZDm#-_Th!f7`_$R6B&n-?)cVX;1oFr4s57Bnw z^{j>AE~e}lYmXyeoVOg_qCAd+v9t!Rx?+IYps(%EY>iHwmW(?>Zbhi~gh&-y! z_Y0rBPwF|`<@7<=#&HfJc_lx2KQn>!^)CH4rF*F$?_C(r{2A$rOx)|1#3$8bk+8yN2=XLAOI)4dDoeNNA(C3uh7IOORKyq_h+ zb6}xZcTRPfP|%ME%8~i$&}N<)930Phu=_`}^OK54*5TRoI%n72x8T7SBfNi0?+ZD* z>nqdB;hBBk1bQ@*{22XESNJJ1Nt%7$>>2cgUk-Qbcs8qhsxkLZRr;#y*iU^M^9jD5 z4byX8=9r$9h3;cK`+Dqg-XXyIDQ#HrurtS=V7#)27-KEVSoPmgBi&c!XqE1ZyRh!? z&N?Pt*qgtVHRYU>tiO52EW#y9-eG55Om||F@XFoajRo%LPPe@9?(X_`boH*XhedPB z@wv}ii*zG1dX7x<5YM3JD^tD2fo0#)zOI#@vG97E<1MmxxJ6+%_PMhgy%?U_^Fr_q z{OgW$o+q5-@EK$|Y1(rbM_H25W}EIkcfP?N|HM6d@sGH}B%Sl1y$h!IgMyEKuPr1J z{Zk)x&&x>;#!|2PoAFjAef1;VTX$vs;-`{@T;XB(ruTtGAp97F3SZ;a<6U3zBzP)I za_}4E03M#w`n5-VYLL!l+(S3=R(PwUSvu<#SI_sz-%LFmg`L(MqBWD+$9j#k4xLq~ z4=E?+%|B&{-ds%OKu4Hzd^_q1%K2^iH5Vzr3FN=a(eVY_-kS@Vh6Ck13uxLh%ylW| zd$oYK+gj{LfZ>7u=#EV9M|KVr0EbW75Kf`=;SZRleQ#*Bsw?{mM zPYv+13Kzlcc@ujq@Ga}|g8K#f<+Hk{Eq*SOO_hNUDa+Hrqryw-nF{}XqS?W-G0%R` z-qByXaxP;mi!X+EDufcqCVW;K1iv+$DcqgN?TTNs>z+{JTla<&y*t5qAUvk7aCbcS zwu6`Myx7E_n9Z1+85-xs&AMbb?r!=Vyj=(1w(}nF?gekB-tTjFJdy`y&!#&UTH2e} zdr>Ab7l=O*__!L{#=;YxxgFFqzj}VxFGeEyLh$gG6pA`Mlp=!fsN55>WG0-m^^uj6XOr)&cq;Xy${Xkijnf|HJ zHy!ai9V{aqDC5_pjpv=6%n4r(w&UH7m)IBfd7<&C=A7RBGlut$s&6B)`*Y>=@3*PD zJoCX^IqxGZZ@4-4GtrM7109y`Ak7%udT!`7`8VhP5dUJ1f1}Yc03G7n#~t6K+r>B8 zzT(>y_*M?z5H-s;wZZ4vXD-06S5+3W_uKfj^Y`Fa&+ovmoa+5QAaDNjkfZTyBXo#2 zdhRit*_9icxG$&qcN)52h3fB4F&52qf1LTeVsGKJY!5x7JtfioLd5Jw=X2*HwL3Qz z`=TPXn`cmfk)x%QW7875bDB%0pkJh$r=++;$JmNd_hsOWb?H+{*E*nzIN`lrX_?)* zH}Y&;WoEa123mco{ov8$`vLIPU+AsZlsQMT$;+;U*eiz>@6Q+m6@y$g0Rx?8qh zIE9TxKDB$+mFQgjIR5%8y|Ku%2$R=e;=Kdlu_erZ&E6rP9%zO{HdqW5Dih34vAgO9xXTZ59dLvhx^%$>aR`2{%>-^E=K&oV}ShX(r4%!H(z2;L8~GE#pK@xt=jMViYwz^L+0=vS4M_77HGDgK1?`6 zUzE~tk)z>rF286^pQGY>eEcNx{z^#;_^*8iH50;cCn&RN=eC?C2yf;!_#FbY= z+$73EehQgnZ?Oxv9jCIJNZU?%JkxJ&MZ4#Vys13#=w8w_7mL0}D?A=8CQkQEgqw}^ z=KFyq!{ecCG&$*U`7Q-dd9Jkh*oT3>)EM;TYW?B^jOG5~gOhgVW?nWhSWO=yw`KU{ zzqvMB#{NzDV#Yo;x}8sMlwC1kpUo@O#QBE70J;-5rOJB_wvM>n@!tF@{5|;V@%3E) z2In_8zZpMuiN?j+!Xe76fd++-^M1=7`qOWl^si6rLgEMBj^)0E=Bd!Yhx6*6@vMC{ zM?6j3q>pfa-;EjB1ADIU_TFS0_PFpO!gslFlJFGU$6lMHzsF$zX`Zytv-R1t-oq*3 zP)Crr-;%8JoCf+{}kEx6-?;TEJL#8;#%GzhE ziwXQWxHvAFfzJ)%^Y`pG5}321dKZ!Sq<7S_rOUgAL<`Tbp;KqO@WrIt?=~=ZX)m>G zfIdZ+nE1aG-51?w3XQ$oVgI@XiBIc7o%XM?p?&ULCfnxD&zi-kv?hJs8@pJ=C(qy}3%x z)#K2pcE3QmV-r0&(|~Q&;MrDctLXm`X?mwXG=&`xj?xpxkj--lUL0aSCd*n~b4)if^c~W|;69pIIT(sp z=TF*mw6%j%UOo4aY_hOn9-%Ghw!*)It96t1B-k50{PX`lcV2m40Vf(LuiKUP(tn?O z=ojE4zlAV$tGu6-l=nl@gY#+#JdFkEnI8z3@iOt%bBBKgp7uMLv&wFI^<0$qURXPD z6?~{jgwdPf;(EeXr#ZjD`OVIcpzqY~-Lxg=&bhj6IlaYd_$%Ez=?&~@@Xo~J7kl&0 zF?T0syJ$%v0vhm)PTYddPP-WPlAH+l)n*H@0K-Vxu_*wUJAjxUMN?u_zX!WDG{;`%J}{Mnro zqO15Su#%R{Zk`Yw{_5+J_;P*sctUhtC-p7c3>iz})#;5bjcxN6&s&g~6W3RL=P#JI zU`|}$4z=I-oxgD2f(g+H)MC63CgU%eKi`05mR>w}uHxs;y@v2@%d3~wExQf)eeb&l z+zx#S*lg=)ThiIICB3z=bFRK&I=8)J^AeZ1;HOfl5gGVC^mTmA+GO}JFbr($;&ZzCX0&UP zzN~Be7BgS)}&wQ)%x z#tO*n&bQ6(q+Ls|rH(jXgYKmKt7k5lmza6&H4~ysJD03zyCdD&o=L|+XzN_kdG*XK zU0oUE$%)83;`LqYc}U581?Hz+j`=g=olE>NQroqoHT}Ef^@h~^nb%PFb?wbNu35Tm z2_wa;ecRP)`87-DD-O>`A>h*q)&JMEhwq!dMq6etyxcgR-?k~eIH5ta;3@|B6^l9E zC7hUN7F@Z|hUeeW*fGCjTibkn!CYVNZsyy*O}88Go8WeM8#g%6R?L7l{u;oXtrMpUt&i--&nt%FDBpFxWoJ0@R9|i=LzVI)xlxO#l=zU2;h$#$CQsQ zS`ui;4e2|BA63?8yN5r(ZNJNH3^?b-jldiFo&r591Ae zJG`V^tN9$RRJuMXp6Xz%cXa7n-L^hHFutI={mwSNXPs``I{dA1k4F0e@&)TM=cQ8r z`QK#s@{AhKXQ(By>f$EQOv1xmo8H>qmDc1qGOzkw^g(S`dsBO>!k$<*w)$y4yu7sq z73=c1HEv`UX3Ti7aNT#(tJ9rL9WC&`z0FIjNi%6wZ|ku01yQEtyXt~VzNv2cyOvp| z@`1M3!t9_{F|gnD(Y;49^7lG?GRv8{2l`tiKH-dEUdyNBss-PWAmuKvEz zSJ{;oXlLmc*=?P#nNI!-ey)8%BB8DlO@6^DOH+#K9px+THr_V_oMiJIXZH#B6|RF; zw*^1lzO1#i{Z6Z|f&$@%J-!VI0`>YG@1+dGz92x?1wIYWcg;utX1qyn&FEFF#tMbL zBu_Z-4SBP!t%dKhudXIqya=M9W19otmLKX@_hEUyUp>lKb5%?TU(mr%Q`l1+seQQ=JC@olrrsY zm`s84YMDmTU2*S&_JQ~{4AG7qapsNoCOcGo6#Bu{WQ`W}!%)puK0IS4zS0`T;-|&K zLg|V(ZtL38-qG@Bw$EK#Ycm*|E4FWG+}7D;<9(T_Zs~NRT6F~F=7#pJVbL)+w8Nz> zD=<8F7++q%sNI&yAhNc|5wdejOKWpeV}~sK5e4~qFO=@blPQ(%*xJ%X*{j=XJDOIf zpuy`hH$53Qu+q)TIyxG6*s<)`gd7diySmM$^VA76Er+Jj${sxpb?XKK6T+s}mZq-N zZBFHRtT44KQiO7IW9znb=i2n2ZeuW_BX4YL-Ju3Fwjm}~qB}?MYIrOP(}csq>qe+CBjTA&n~7ezGI9BmCClY6l)vz@tL81d{Bq|KfqJS$ z!-{paE0$GPubne*-nU*+V$3l}EU1Fv)7bq@TY9N2yz&jsS1$5npNE2WjN ze%wnji}xDC-4OH2ZezFuU@GtD{1JZ!emQ;>{uunl_#A1P8vF|R7^uzpdzc}ZZ z{!e8s{yVSi?Np?shRK|D;&Y5?-3e~K@Zapmkz~u|*@Je)sm?0$aTmjI#A#`%pkke! zY$Q=MwsL7hZQz*H`nM8Kl;JL@E^wI2zoi}cqL*h3%@knn2H3nRQ@^+1R3_g6X;)c% zhqiqH0$;)310g(OV&i#DeET6_?kias)ZhEJ;hnr|5ckrYky)RGDgU=R+mh>-FJBU` zy8ecB?}#s&ch$V@@r8*6mnRl1yewYDnPx}2RXf%1uzZ)ysP8~Fo7-EP<1CuB*S+jA z{xqf=H@2A2I|!CHc5GdcShz54#zZPY<3iE!Md3-2DWR#MH4_nk9B%{<%jkG3dvgNmk~_(a_j`j)uPaG61Ah7>D|bHR*SDbr|15WMy`NWq zMSK`mQ1B554>P09N`lC2-F@K7J)1 zGaUZ;?a_1e-p`}22Kf!bshvJtX%_iGd_TWr-urp^PXu7mukjE}e|BhWck<&e*^J?kD}cC{yMtQ&*ag2 zJOH@OaN9>1WO3agO%Gbk~-p}LTO95EvX9BRzZ*Nd2hu7YH0a)ovx#;Hoy!4s?tn^bQ zaQ1UP{si+;f`X^uhs*@?8T_Nb()WUuzoCae_E%{>?+5XH`FJT%{^P_8-h%J*KXt92 z$)m3>0RNCA!AXbzOZB;5%u|JRgRRLJ(&jeuQe?9;! zegDv)^zt7Kz_$LCws8J<>5m0qrB|&QnO+@$mA-!U$n-4%Sn0FgGctWc09JZx&B*jU z0a)orZy1^WQ~*}`j3K4r(Z4tVE8WzN%%2FrN}pCYGJQ?}R(jvfBhw!Xz)DZ8ADO;A z04x2-ts~Qq1z@Fb(B&%o^XTsmz&5`&x&!Gi1z@F{dN0-QzbOG&>9K~9>G1%p^i<=> z^yUDp^xYeW(*@57j0c|M8~XX<;o%beRcRl^(^pk{e7Mrg872R-CHO~Le0(qenUDBz zrMYI5{3iqWH<2z_^M=ObEx>dBL?hXQ-w(VPm=8tS^d|h&?Z%oI{`h?v*!y|?V_Jt{ z@nd@c*7)lQz)F7%edzrrm{!UcED`nfqwIh0S82A9?*Dv#9xW+vV5^Ve@nb_E|E^K; zKN`UA9VPwwK)UFSv=5iB_Dl)DO0Ua|Oy3ZImA+@&$n?Gdtn_L345tfzrO$^e%_pHx z@EW2*^pesO_YJ4ZPLn-ZNmMvI-h3Tc_GHY#-vwR@9Cz>!fz_E2yijp0)MUqexwA}yK?-W`s$k{ z@G~Xw^Cd7B@`rxP|FaVKObPrS0r(>D{|i|5`B{9mKSDeGpUN9o0>?^VJ_tVa6aK{| z@Y_q^xh3$T5_owD{GJlH7Fg?rebgm-HvnsWu;0O3fo1RalzZuSl;rBCPeeZ{am{Ts0C#odnH@nf)mvHxCn@LPdp z?V)4=ft`pCf_0G7S9 z*uftImi@ET_2*v#%N|HLdL9ARd_2p+j{|G|_49uZSo7^Pm;Q6$Ilu{5{y63t&9{r- zyXcz@92o$aUyS{hIVJFd64*3#bZty;ZfUFUY@gR;W;L2w&GypCo!rPELibM;yv&BU zP)%IR=H~ilZa&s$8aq1E4#{5U_VDdpGNL_VEI4|2MWZFEkssaTlq+abstD z>$a|R{kD!))6!Yrv8idnRSOpD0*~?T3+oQxyek%6an(rp%B$>!-i~ypb%$U14ctVs zw~$hzrsMi_S9N1oqbZ5DmnT=WashNCI+rLFYf1Kq>{Nqx)HimuZ)>sf_A-%T-94c# z+$_y-RfrgQt&qxXFP|JQUz!V+6w4jHM$@T#n}XPL^DfVEi74H|ZBJ4uM0L|@RqO6w za|y_-sZBR_G;LYaxq0PQSh4WRMW!C2(%W0Q>bJnl)^tbxogIxCF5Z&R-d5k-+N8%m zjE6&9b7#B5H1*ZD-mq-V>gA^X`kEWBTUJwl;)qa_hpY4utT8~h4H)`L?r6(|3 zb^Xm!=UtWWY=T8Fv#tI7L2Tuf>y!4rly{H6Q`ETNO1fhWa$H+movOBv2bAJU-u<`{ zg>mhY3{8z~n?^)?1?y(;y3`G+bseppW+l=$1SkNn>Q{Fz_b&2r4^eUTO% zQRs@6X7Gn1{40m6Q_E05x)9ssiM5{tWVMQ#SsJ5bZtzuzS1 zI>aC_tOKl`4Q( z{R_dKqzpx0;7+&AB_6qp*cKjnSKCH8CIqoYyRq#PQF1ez5v)PtX*0=skZ@^UhWi#y7u8wXKypwJFO!}V+YrC)19M_RHvdx9mVx_sxtLbp!M||J3G;}%xT8VW1yoh zbq(3fWBzFI!+HYE%-h_~pC+bN?gE>6oH@&9T_h(C?nF%yfz;6usL*WHP>bH%G$9NUlXjV?P#B;OQfx4-j>GB zEh7r4Z?^c2TU(mUyv{Aq(ABt+kniunD6sCOo zsXVz(oX$@buQOJ;=L!3G^5q`I>D*Oeox#e@ARMF*&~B~jTvm8Go0W?bF2!Su&7M^Y zPiM|@`w0uyPqfiA!%}nzuK~u%ZKsi?cniQ&+r#EE>C6A zRTfWY<5R%%%Mh;8_4_7HZB=>NznTV~_OJx&r##}{TX8;pRey(ELGZK0`9HtxUlHNs z+0D-E$a;M|meRId)uVMr1iau+W#~5xr?A#J`U$VfhP*#Ylk3K@q#63n$$E0-NBH%= ziwNpurQ`ipWxX}N534Nw^0+{^o4c}}Ol$oFn=D^q_|M^dUJ*2N9x>)>G0gq^@=gK= P@mjvjTGU6v_woK0vI>CP literal 0 HcmV?d00001 diff --git a/miniupnpc-2.1/include/miniupnpc/codelength.h b/miniupnpc-2.1/include/miniupnpc/codelength.h new file mode 100644 index 0000000..ea0b005 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/codelength.h @@ -0,0 +1,54 @@ +/* $Id: codelength.h,v 1.3 2011/07/30 13:10:05 nanard Exp $ */ +/* Project : miniupnp + * Author : Thomas BERNARD + * copyright (c) 2005-2015 Thomas Bernard + * This software is subjet to the conditions detailed in the + * provided LICENCE file. */ +#ifndef CODELENGTH_H_INCLUDED +#define CODELENGTH_H_INCLUDED + +/* Encode length by using 7bit per Byte : + * Most significant bit of each byte specifies that the + * following byte is part of the code */ + +/* n : unsigned + * p : unsigned char * + */ +#define DECODELENGTH(n, p) n = 0; \ + do { n = (n << 7) | (*p & 0x7f); } \ + while((*(p++)&0x80) && (n<(1<<25))); + +/* n : unsigned + * READ : function/macro to read one byte (unsigned char) + */ +#define DECODELENGTH_READ(n, READ) \ + n = 0; \ + do { \ + unsigned char c; \ + READ(c); \ + n = (n << 7) | (c & 0x07f); \ + if(!(c&0x80)) break; \ + } while(n<(1<<25)); + +/* n : unsigned + * p : unsigned char * + * p_limit : unsigned char * + */ +#define DECODELENGTH_CHECKLIMIT(n, p, p_limit) \ + n = 0; \ + do { \ + if((p) >= (p_limit)) break; \ + n = (n << 7) | (*(p) & 0x7f); \ + } while((*((p)++)&0x80) && (n<(1<<25))); + + +/* n : unsigned + * p : unsigned char * + */ +#define CODELENGTH(n, p) if(n>=268435456) *(p++) = (n >> 28) | 0x80; \ + if(n>=2097152) *(p++) = (n >> 21) | 0x80; \ + if(n>=16384) *(p++) = (n >> 14) | 0x80; \ + if(n>=128) *(p++) = (n >> 7) | 0x80; \ + *(p++) = n & 0x7f; + +#endif /* CODELENGTH_H_INCLUDED */ diff --git a/miniupnpc-2.1/include/miniupnpc/connecthostport.h b/miniupnpc-2.1/include/miniupnpc/connecthostport.h new file mode 100644 index 0000000..701816b --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/connecthostport.h @@ -0,0 +1,20 @@ +/* $Id: connecthostport.h,v 1.2 2012/06/23 22:32:33 nanard Exp $ */ +/* Project: miniupnp + * http://miniupnp.free.fr/ + * Author: Thomas Bernard + * Copyright (c) 2010-2018 Thomas Bernard + * This software is subjects to the conditions detailed + * in the LICENCE file provided within this distribution */ +#ifndef CONNECTHOSTPORT_H_INCLUDED +#define CONNECTHOSTPORT_H_INCLUDED + +#include "miniupnpc_socketdef.h" + +/* connecthostport() + * return a socket connected (TCP) to the host and port + * or INVALID_SOCKET in case of error */ +SOCKET connecthostport(const char * host, unsigned short port, + unsigned int scope_id); + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/igd_desc_parse.h b/miniupnpc-2.1/include/miniupnpc/igd_desc_parse.h new file mode 100644 index 0000000..0de546b --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/igd_desc_parse.h @@ -0,0 +1,49 @@ +/* $Id: igd_desc_parse.h,v 1.12 2014/11/17 17:19:13 nanard Exp $ */ +/* Project : miniupnp + * http://miniupnp.free.fr/ + * Author : Thomas Bernard + * Copyright (c) 2005-2014 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided in this distribution. + * */ +#ifndef IGD_DESC_PARSE_H_INCLUDED +#define IGD_DESC_PARSE_H_INCLUDED + +/* Structure to store the result of the parsing of UPnP + * descriptions of Internet Gateway Devices */ +#define MINIUPNPC_URL_MAXSIZE (128) +struct IGDdatas_service { + char controlurl[MINIUPNPC_URL_MAXSIZE]; + char eventsuburl[MINIUPNPC_URL_MAXSIZE]; + char scpdurl[MINIUPNPC_URL_MAXSIZE]; + char servicetype[MINIUPNPC_URL_MAXSIZE]; + /*char devicetype[MINIUPNPC_URL_MAXSIZE];*/ +}; + +struct IGDdatas { + char cureltname[MINIUPNPC_URL_MAXSIZE]; + char urlbase[MINIUPNPC_URL_MAXSIZE]; + char presentationurl[MINIUPNPC_URL_MAXSIZE]; + int level; + /*int state;*/ + /* "urn:schemas-upnp-org:service:WANCommonInterfaceConfig:1" */ + struct IGDdatas_service CIF; + /* "urn:schemas-upnp-org:service:WANIPConnection:1" + * "urn:schemas-upnp-org:service:WANPPPConnection:1" */ + struct IGDdatas_service first; + /* if both WANIPConnection and WANPPPConnection are present */ + struct IGDdatas_service second; + /* "urn:schemas-upnp-org:service:WANIPv6FirewallControl:1" */ + struct IGDdatas_service IPv6FC; + /* tmp */ + struct IGDdatas_service tmp; +}; + +void IGDstartelt(void *, const char *, int); +void IGDendelt(void *, const char *, int); +void IGDdata(void *, const char *, int); +#ifdef DEBUG +void printIGD(struct IGDdatas *); +#endif /* DEBUG */ + +#endif /* IGD_DESC_PARSE_H_INCLUDED */ diff --git a/miniupnpc-2.1/include/miniupnpc/minisoap.h b/miniupnpc-2.1/include/miniupnpc/minisoap.h new file mode 100644 index 0000000..d6a45d0 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/minisoap.h @@ -0,0 +1,17 @@ +/* $Id: minisoap.h,v 1.4 2010/04/12 20:39:41 nanard Exp $ */ +/* Project : miniupnp + * Author : Thomas Bernard + * Copyright (c) 2005-2018 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided in this distribution. */ +#ifndef MINISOAP_H_INCLUDED +#define MINISOAP_H_INCLUDED + +#include "miniupnpc_socketdef.h" + +/*int httpWrite(int, const char *, int, const char *);*/ +int soapPostSubmit(SOCKET, const char *, const char *, unsigned short, + const char *, const char *, const char *); + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/minissdpc.h b/miniupnpc-2.1/include/miniupnpc/minissdpc.h new file mode 100644 index 0000000..c99f929 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/minissdpc.h @@ -0,0 +1,58 @@ +/* $Id: minissdpc.h,v 1.6 2015/09/18 12:45:16 nanard Exp $ */ +/* Project: miniupnp + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + * Author: Thomas Bernard + * Copyright (c) 2005-2015 Thomas Bernard + * This software is subjects to the conditions detailed + * in the LICENCE file provided within this distribution */ +#ifndef MINISSDPC_H_INCLUDED +#define MINISSDPC_H_INCLUDED + +#include "miniupnpc_declspec.h" +#include "upnpdev.h" + +/* error codes : */ +#define MINISSDPC_SUCCESS (0) +#define MINISSDPC_UNKNOWN_ERROR (-1) +#define MINISSDPC_SOCKET_ERROR (-101) +#define MINISSDPC_MEMORY_ERROR (-102) +#define MINISSDPC_INVALID_INPUT (-103) +#define MINISSDPC_INVALID_SERVER_REPLY (-104) + +#ifdef __cplusplus +extern "C" { +#endif + +#if !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)) + +MINIUPNP_LIBSPEC struct UPNPDev * +getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath, int * error); + +MINIUPNP_LIBSPEC int +connectToMiniSSDPD(const char * socketpath); + +MINIUPNP_LIBSPEC int +disconnectFromMiniSSDPD(int s); + +MINIUPNP_LIBSPEC int +requestDevicesFromMiniSSDPD(int s, const char * devtype); + +MINIUPNP_LIBSPEC struct UPNPDev * +receiveDevicesFromMiniSSDPD(int s, int * error); + +#endif /* !(defined(_WIN32) || defined(__amigaos__) || defined(__amigaos4__)) */ + +MINIUPNP_LIBSPEC struct UPNPDev * +ssdpDiscoverDevices(const char * const deviceTypes[], + int delay, const char * multicastif, + int localport, + int ipv6, unsigned char ttl, + int * error, + int searchalltypes); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/miniupnpc.h b/miniupnpc-2.1/include/miniupnpc/miniupnpc.h new file mode 100644 index 0000000..8ddc282 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniupnpc.h @@ -0,0 +1,153 @@ +/* $Id: miniupnpc.h,v 1.53 2018/05/07 11:05:16 nanard Exp $ */ +/* vim: tabstop=4 shiftwidth=4 noexpandtab + * Project: miniupnp + * http://miniupnp.free.fr/ + * Author: Thomas Bernard + * Copyright (c) 2005-2018 Thomas Bernard + * This software is subjects to the conditions detailed + * in the LICENCE file provided within this distribution */ +#ifndef MINIUPNPC_H_INCLUDED +#define MINIUPNPC_H_INCLUDED + +#include "miniupnpc_declspec.h" +#include "igd_desc_parse.h" +#include "upnpdev.h" + +/* error codes : */ +#define UPNPDISCOVER_SUCCESS (0) +#define UPNPDISCOVER_UNKNOWN_ERROR (-1) +#define UPNPDISCOVER_SOCKET_ERROR (-101) +#define UPNPDISCOVER_MEMORY_ERROR (-102) + +/* versions : */ +#define MINIUPNPC_VERSION "2.1" +#define MINIUPNPC_API_VERSION 17 + +/* Source port: + Using "1" as an alias for 1900 for backwards compatibility + (presuming one would have used that for the "sameport" parameter) */ +#define UPNP_LOCAL_PORT_ANY 0 +#define UPNP_LOCAL_PORT_SAME 1 + +#ifdef __cplusplus +extern "C" { +#endif + +/* Structures definitions : */ +struct UPNParg { const char * elt; const char * val; }; + +char * +simpleUPnPcommand(int, const char *, const char *, + const char *, struct UPNParg *, + int *); + +/* upnpDiscover() + * discover UPnP devices on the network. + * The discovered devices are returned as a chained list. + * It is up to the caller to free the list with freeUPNPDevlist(). + * delay (in millisecond) is the maximum time for waiting any device + * response. + * If available, device list will be obtained from MiniSSDPd. + * Default path for minissdpd socket will be used if minissdpdsock argument + * is NULL. + * If multicastif is not NULL, it will be used instead of the default + * multicast interface for sending SSDP discover packets. + * If localport is set to UPNP_LOCAL_PORT_SAME(1) SSDP packets will be sent + * from the source port 1900 (same as destination port), if set to + * UPNP_LOCAL_PORT_ANY(0) system assign a source port, any other value will + * be attempted as the source port. + * "searchalltypes" parameter is useful when searching several types, + * if 0, the discovery will stop with the first type returning results. + * TTL should default to 2. */ +MINIUPNP_LIBSPEC struct UPNPDev * +upnpDiscover(int delay, const char * multicastif, + const char * minissdpdsock, int localport, + int ipv6, unsigned char ttl, + int * error); + +MINIUPNP_LIBSPEC struct UPNPDev * +upnpDiscoverAll(int delay, const char * multicastif, + const char * minissdpdsock, int localport, + int ipv6, unsigned char ttl, + int * error); + +MINIUPNP_LIBSPEC struct UPNPDev * +upnpDiscoverDevice(const char * device, int delay, const char * multicastif, + const char * minissdpdsock, int localport, + int ipv6, unsigned char ttl, + int * error); + +MINIUPNP_LIBSPEC struct UPNPDev * +upnpDiscoverDevices(const char * const deviceTypes[], + int delay, const char * multicastif, + const char * minissdpdsock, int localport, + int ipv6, unsigned char ttl, + int * error, + int searchalltypes); + +/* parserootdesc() : + * parse root XML description of a UPnP device and fill the IGDdatas + * structure. */ +MINIUPNP_LIBSPEC void parserootdesc(const char *, int, struct IGDdatas *); + +/* structure used to get fast access to urls + * controlURL: controlURL of the WANIPConnection + * ipcondescURL: url of the description of the WANIPConnection + * controlURL_CIF: controlURL of the WANCommonInterfaceConfig + * controlURL_6FC: controlURL of the WANIPv6FirewallControl + */ +struct UPNPUrls { + char * controlURL; + char * ipcondescURL; + char * controlURL_CIF; + char * controlURL_6FC; + char * rootdescURL; +}; + +/* UPNP_GetValidIGD() : + * return values : + * 0 = NO IGD found + * 1 = A valid connected IGD has been found + * 2 = A valid IGD has been found but it reported as + * not connected + * 3 = an UPnP device has been found but was not recognized as an IGD + * + * In any non zero return case, the urls and data structures + * passed as parameters are set. Donc forget to call FreeUPNPUrls(urls) to + * free allocated memory. + */ +MINIUPNP_LIBSPEC int +UPNP_GetValidIGD(struct UPNPDev * devlist, + struct UPNPUrls * urls, + struct IGDdatas * data, + char * lanaddr, int lanaddrlen); + +/* UPNP_GetIGDFromUrl() + * Used when skipping the discovery process. + * When succeding, urls, data, and lanaddr arguments are set. + * return value : + * 0 - Not ok + * 1 - OK */ +MINIUPNP_LIBSPEC int +UPNP_GetIGDFromUrl(const char * rootdescurl, + struct UPNPUrls * urls, + struct IGDdatas * data, + char * lanaddr, int lanaddrlen); + +MINIUPNP_LIBSPEC void +GetUPNPUrls(struct UPNPUrls *, struct IGDdatas *, + const char *, unsigned int); + +MINIUPNP_LIBSPEC void +FreeUPNPUrls(struct UPNPUrls *); + +/* return 0 or 1 */ +MINIUPNP_LIBSPEC int UPNPIGD_IsConnected(struct UPNPUrls *, struct IGDdatas *); + + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/miniupnpc_declspec.h b/miniupnpc-2.1/include/miniupnpc/miniupnpc_declspec.h new file mode 100644 index 0000000..40adb92 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniupnpc_declspec.h @@ -0,0 +1,21 @@ +#ifndef MINIUPNPC_DECLSPEC_H_INCLUDED +#define MINIUPNPC_DECLSPEC_H_INCLUDED + +#if defined(_WIN32) && !defined(MINIUPNP_STATICLIB) + /* for windows dll */ + #ifdef MINIUPNP_EXPORTS + #define MINIUPNP_LIBSPEC __declspec(dllexport) + #else + #define MINIUPNP_LIBSPEC __declspec(dllimport) + #endif +#else + #if defined(__GNUC__) && __GNUC__ >= 4 + /* fix dynlib for OS X 10.9.2 and Apple LLVM version 5.0 */ + #define MINIUPNP_LIBSPEC __attribute__ ((visibility ("default"))) + #else + #define MINIUPNP_LIBSPEC + #endif +#endif + +#endif /* MINIUPNPC_DECLSPEC_H_INCLUDED */ + diff --git a/miniupnpc-2.1/include/miniupnpc/miniupnpc_socketdef.h b/miniupnpc-2.1/include/miniupnpc/miniupnpc_socketdef.h new file mode 100644 index 0000000..d4f79a7 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniupnpc_socketdef.h @@ -0,0 +1,44 @@ +/* $Id: miniupnpc_socketdef.h,v 1.1 2018/03/13 23:44:10 nanard Exp $ */ +/* Miniupnp project : http://miniupnp.free.fr/ or https://miniupnp.tuxfamily.org/ + * Author : Thomas Bernard + * Copyright (c) 2018 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided within this distribution */ +#ifndef MINIUPNPC_SOCKETDEF_H_INCLUDED +#define MINIUPNPC_SOCKETDEF_H_INCLUDED + +#ifdef _MSC_VER + +#define ISINVALID(s) (INVALID_SOCKET==(s)) + +#else + +#ifndef SOCKET +#define SOCKET int +#endif +#ifndef SSIZE_T +#define SSIZE_T ssize_t +#endif +#ifndef INVALID_SOCKET +#define INVALID_SOCKET (-1) +#endif +#ifndef ISINVALID +#define ISINVALID(s) ((s)<0) +#endif + +#endif + +#ifdef _MSC_VER +#define MSC_CAST_INT (int) +#else +#define MSC_CAST_INT +#endif + +/* definition of PRINT_SOCKET_ERROR */ +#ifdef _WIN32 +#define PRINT_SOCKET_ERROR(x) fprintf(stderr, "Socket error: %s, %d\n", x, WSAGetLastError()); +#else +#define PRINT_SOCKET_ERROR(x) perror(x) +#endif + +#endif /* MINIUPNPC_SOCKETDEF_H_INCLUDED */ diff --git a/miniupnpc-2.1/include/miniupnpc/miniupnpcstrings.h b/miniupnpc-2.1/include/miniupnpc/miniupnpcstrings.h new file mode 100644 index 0000000..c939c6e --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniupnpcstrings.h @@ -0,0 +1,23 @@ +/* $Id: miniupnpcstrings.h.in,v 1.6 2014/11/04 22:31:55 nanard Exp $ */ +/* Project: miniupnp + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + * Author: Thomas Bernard + * Copyright (c) 2005-2014 Thomas Bernard + * This software is subjects to the conditions detailed + * in the LICENCE file provided within this distribution */ +#ifndef MINIUPNPCSTRINGS_H_INCLUDED +#define MINIUPNPCSTRINGS_H_INCLUDED + +#define OS_STRING "Debian/8.10" +#define MINIUPNPC_VERSION_STRING "2.1" + +#if 0 +/* according to "UPnP Device Architecture 1.0" */ +#define UPNP_VERSION_STRING "UPnP/1.0" +#else +/* according to "UPnP Device Architecture 1.1" */ +#define UPNP_VERSION_STRING "UPnP/1.1" +#endif + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/miniupnpctypes.h b/miniupnpc-2.1/include/miniupnpc/miniupnpctypes.h new file mode 100644 index 0000000..307ce39 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniupnpctypes.h @@ -0,0 +1,19 @@ +/* $Id: miniupnpctypes.h,v 1.1 2011/02/15 11:10:40 nanard Exp $ */ +/* Miniupnp project : http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org + * Author : Thomas Bernard + * Copyright (c) 2011 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided within this distribution */ +#ifndef MINIUPNPCTYPES_H_INCLUDED +#define MINIUPNPCTYPES_H_INCLUDED + +#if (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L) +#define UNSIGNED_INTEGER unsigned long long +#define STRTOUI strtoull +#else +#define UNSIGNED_INTEGER unsigned int +#define STRTOUI strtoul +#endif + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/miniwget.h b/miniupnpc-2.1/include/miniupnpc/miniwget.h new file mode 100644 index 0000000..f5572c2 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniwget.h @@ -0,0 +1,27 @@ +/* $Id: miniwget.h,v 1.12 2016/01/24 17:24:36 nanard Exp $ */ +/* Project : miniupnp + * Author : Thomas Bernard + * Copyright (c) 2005-2016 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided in this distribution. + * */ +#ifndef MINIWGET_H_INCLUDED +#define MINIWGET_H_INCLUDED + +#include "miniupnpc_declspec.h" + +#ifdef __cplusplus +extern "C" { +#endif + +MINIUPNP_LIBSPEC void * miniwget(const char *, int *, unsigned int, int *); + +MINIUPNP_LIBSPEC void * miniwget_getaddr(const char *, int *, char *, int, unsigned int, int *); + +int parseURL(const char *, char *, unsigned short *, char * *, unsigned int *); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/miniupnpc-2.1/include/miniupnpc/miniwget_private.h b/miniupnpc-2.1/include/miniupnpc/miniwget_private.h new file mode 100644 index 0000000..e4eaac8 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/miniwget_private.h @@ -0,0 +1,15 @@ +/* $Id: miniwget_private.h,v 1.1 2018/04/06 10:17:58 nanard Exp $ */ +/* Project : miniupnp + * Author : Thomas Bernard + * Copyright (c) 2018 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided in this distribution. + * */ +#ifndef MINIWGET_INTERNAL_H_INCLUDED +#define MINIWGET_INTERNAL_H_INCLUDED + +#include "miniupnpc_socketdef.h" + +void * getHTTPResponse(SOCKET s, int * size, int * status_code); + +#endif diff --git a/miniupnpc-2.1/include/miniupnpc/minixml.h b/miniupnpc-2.1/include/miniupnpc/minixml.h new file mode 100644 index 0000000..2e60397 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/minixml.h @@ -0,0 +1,37 @@ +/* $Id: minixml.h,v 1.6 2006/11/30 11:47:21 nanard Exp $ */ +/* minimal xml parser + * + * Project : miniupnp + * Website : http://miniupnp.free.fr/ + * Author : Thomas Bernard + * Copyright (c) 2005 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided in this distribution. + * */ +#ifndef MINIXML_H_INCLUDED +#define MINIXML_H_INCLUDED +#define IS_WHITE_SPACE(c) ((c)==' ' || (c)=='\t' || (c)=='\r' || (c)=='\n') + +/* if a callback function pointer is set to NULL, + * the function is not called */ +struct xmlparser { + const char *xmlstart; + const char *xmlend; + const char *xml; /* pointer to current character */ + int xmlsize; + void * data; + void (*starteltfunc) (void *, const char *, int); + void (*endeltfunc) (void *, const char *, int); + void (*datafunc) (void *, const char *, int); + void (*attfunc) (void *, const char *, int, const char *, int); +}; + +/* parsexml() + * the xmlparser structure must be initialized before the call + * the following structure members have to be initialized : + * xmlstart, xmlsize, data, *func + * xml is for internal usage, xmlend is computed automatically */ +void parsexml(struct xmlparser *); + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/portlistingparse.h b/miniupnpc-2.1/include/miniupnpc/portlistingparse.h new file mode 100644 index 0000000..e3957a3 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/portlistingparse.h @@ -0,0 +1,65 @@ +/* $Id: portlistingparse.h,v 1.10 2014/11/01 10:37:32 nanard Exp $ */ +/* MiniUPnP project + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + * (c) 2011-2015 Thomas Bernard + * This software is subject to the conditions detailed + * in the LICENCE file provided within the distribution */ +#ifndef PORTLISTINGPARSE_H_INCLUDED +#define PORTLISTINGPARSE_H_INCLUDED + +#include "miniupnpc_declspec.h" +/* for the definition of UNSIGNED_INTEGER */ +#include "miniupnpctypes.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* sample of PortMappingEntry : + + 202.233.2.1 + 2345 + TCP + 2345 + 192.168.1.137 + 1 + dooom + 345 + + */ +typedef enum { PortMappingEltNone, + PortMappingEntry, NewRemoteHost, + NewExternalPort, NewProtocol, + NewInternalPort, NewInternalClient, + NewEnabled, NewDescription, + NewLeaseTime } portMappingElt; + +struct PortMapping { + struct PortMapping * l_next; /* list next element */ + UNSIGNED_INTEGER leaseTime; + unsigned short externalPort; + unsigned short internalPort; + char remoteHost[64]; + char internalClient[64]; + char description[64]; + char protocol[4]; + unsigned char enabled; +}; + +struct PortMappingParserData { + struct PortMapping * l_head; /* list head */ + portMappingElt curelt; +}; + +MINIUPNP_LIBSPEC void +ParsePortListing(const char * buffer, int bufsize, + struct PortMappingParserData * pdata); + +MINIUPNP_LIBSPEC void +FreePortListing(struct PortMappingParserData * pdata); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/miniupnpc-2.1/include/miniupnpc/receivedata.h b/miniupnpc-2.1/include/miniupnpc/receivedata.h new file mode 100644 index 0000000..c9fdc56 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/receivedata.h @@ -0,0 +1,21 @@ +/* $Id: receivedata.h,v 1.3 2012/06/23 22:34:47 nanard Exp $ */ +/* Project: miniupnp + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + * Author: Thomas Bernard + * Copyright (c) 2011-2018 Thomas Bernard + * This software is subjects to the conditions detailed + * in the LICENCE file provided within this distribution */ +#ifndef RECEIVEDATA_H_INCLUDED +#define RECEIVEDATA_H_INCLUDED + +#include "miniupnpc_socketdef.h" + +/* Reads data from the specified socket. + * Returns the number of bytes read if successful, zero if no bytes were + * read or if we timed out. Returns negative if there was an error. */ +int receivedata(SOCKET socket, + char * data, int length, + int timeout, unsigned int * scope_id); + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/upnpcommands.h b/miniupnpc-2.1/include/miniupnpc/upnpcommands.h new file mode 100644 index 0000000..1b6d447 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/upnpcommands.h @@ -0,0 +1,348 @@ +/* $Id: upnpcommands.h,v 1.32 2018/03/13 23:34:47 nanard Exp $ */ +/* Miniupnp project : http://miniupnp.free.fr/ + * Author : Thomas Bernard + * Copyright (c) 2005-2018 Thomas Bernard + * This software is subject to the conditions detailed in the + * LICENCE file provided within this distribution */ +#ifndef UPNPCOMMANDS_H_INCLUDED +#define UPNPCOMMANDS_H_INCLUDED + +#include "miniupnpc_declspec.h" +#include "miniupnpctypes.h" + +/* MiniUPnPc return codes : */ +#define UPNPCOMMAND_SUCCESS (0) +#define UPNPCOMMAND_UNKNOWN_ERROR (-1) +#define UPNPCOMMAND_INVALID_ARGS (-2) +#define UPNPCOMMAND_HTTP_ERROR (-3) +#define UPNPCOMMAND_INVALID_RESPONSE (-4) +#define UPNPCOMMAND_MEM_ALLOC_ERROR (-5) + +#ifdef __cplusplus +extern "C" { +#endif + +struct PortMappingParserData; + +MINIUPNP_LIBSPEC UNSIGNED_INTEGER +UPNP_GetTotalBytesSent(const char * controlURL, + const char * servicetype); + +MINIUPNP_LIBSPEC UNSIGNED_INTEGER +UPNP_GetTotalBytesReceived(const char * controlURL, + const char * servicetype); + +MINIUPNP_LIBSPEC UNSIGNED_INTEGER +UPNP_GetTotalPacketsSent(const char * controlURL, + const char * servicetype); + +MINIUPNP_LIBSPEC UNSIGNED_INTEGER +UPNP_GetTotalPacketsReceived(const char * controlURL, + const char * servicetype); + +/* UPNP_GetStatusInfo() + * status and lastconnerror are 64 byte buffers + * Return values : + * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR + * or a UPnP Error code */ +MINIUPNP_LIBSPEC int +UPNP_GetStatusInfo(const char * controlURL, + const char * servicetype, + char * status, + unsigned int * uptime, + char * lastconnerror); + +/* UPNP_GetConnectionTypeInfo() + * argument connectionType is a 64 character buffer + * Return Values : + * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR + * or a UPnP Error code */ +MINIUPNP_LIBSPEC int +UPNP_GetConnectionTypeInfo(const char * controlURL, + const char * servicetype, + char * connectionType); + +/* UPNP_GetExternalIPAddress() call the corresponding UPNP method. + * if the third arg is not null the value is copied to it. + * at least 16 bytes must be available + * + * Return values : + * 0 : SUCCESS + * NON ZERO : ERROR Either an UPnP error code or an unknown error. + * + * possible UPnP Errors : + * 402 Invalid Args - See UPnP Device Architecture section on Control. + * 501 Action Failed - See UPnP Device Architecture section on Control. */ +MINIUPNP_LIBSPEC int +UPNP_GetExternalIPAddress(const char * controlURL, + const char * servicetype, + char * extIpAdd); + +/* UPNP_GetLinkLayerMaxBitRates() + * call WANCommonInterfaceConfig:1#GetCommonLinkProperties + * + * return values : + * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR + * or a UPnP Error Code. */ +MINIUPNP_LIBSPEC int +UPNP_GetLinkLayerMaxBitRates(const char* controlURL, + const char* servicetype, + unsigned int * bitrateDown, + unsigned int * bitrateUp); + +/* UPNP_AddPortMapping() + * if desc is NULL, it will be defaulted to "libminiupnpc" + * remoteHost is usually NULL because IGD don't support it. + * + * Return values : + * 0 : SUCCESS + * NON ZERO : ERROR. Either an UPnP error code or an unknown error. + * + * List of possible UPnP errors for AddPortMapping : + * errorCode errorDescription (short) - Description (long) + * 402 Invalid Args - See UPnP Device Architecture section on Control. + * 501 Action Failed - See UPnP Device Architecture section on Control. + * 606 Action not authorized - The action requested REQUIRES authorization and + * the sender was not authorized. + * 715 WildCardNotPermittedInSrcIP - The source IP address cannot be + * wild-carded + * 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded + * 718 ConflictInMappingEntry - The port mapping entry specified conflicts + * with a mapping assigned previously to another client + * 724 SamePortValuesRequired - Internal and External port values + * must be the same + * 725 OnlyPermanentLeasesSupported - The NAT implementation only supports + * permanent lease times on port mappings + * 726 RemoteHostOnlySupportsWildcard - RemoteHost must be a wildcard + * and cannot be a specific IP address or DNS name + * 727 ExternalPortOnlySupportsWildcard - ExternalPort must be a wildcard and + * cannot be a specific port value + * 728 NoPortMapsAvailable - There are not enough free ports available to + * complete port mapping. + * 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed + * due to conflict with other mechanisms. + * 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded + */ +MINIUPNP_LIBSPEC int +UPNP_AddPortMapping(const char * controlURL, const char * servicetype, + const char * extPort, + const char * inPort, + const char * inClient, + const char * desc, + const char * proto, + const char * remoteHost, + const char * leaseDuration); + +/* UPNP_AddAnyPortMapping() + * if desc is NULL, it will be defaulted to "libminiupnpc" + * remoteHost is usually NULL because IGD don't support it. + * + * Return values : + * 0 : SUCCESS + * NON ZERO : ERROR. Either an UPnP error code or an unknown error. + * + * List of possible UPnP errors for AddPortMapping : + * errorCode errorDescription (short) - Description (long) + * 402 Invalid Args - See UPnP Device Architecture section on Control. + * 501 Action Failed - See UPnP Device Architecture section on Control. + * 606 Action not authorized - The action requested REQUIRES authorization and + * the sender was not authorized. + * 715 WildCardNotPermittedInSrcIP - The source IP address cannot be + * wild-carded + * 716 WildCardNotPermittedInExtPort - The external port cannot be wild-carded + * 728 NoPortMapsAvailable - There are not enough free ports available to + * complete port mapping. + * 729 ConflictWithOtherMechanisms - Attempted port mapping is not allowed + * due to conflict with other mechanisms. + * 732 WildCardNotPermittedInIntPort - The internal port cannot be wild-carded + */ +MINIUPNP_LIBSPEC int +UPNP_AddAnyPortMapping(const char * controlURL, const char * servicetype, + const char * extPort, + const char * inPort, + const char * inClient, + const char * desc, + const char * proto, + const char * remoteHost, + const char * leaseDuration, + char * reservedPort); + +/* UPNP_DeletePortMapping() + * Use same argument values as what was used for AddPortMapping(). + * remoteHost is usually NULL because IGD don't support it. + * Return Values : + * 0 : SUCCESS + * NON ZERO : error. Either an UPnP error code or an undefined error. + * + * List of possible UPnP errors for DeletePortMapping : + * 402 Invalid Args - See UPnP Device Architecture section on Control. + * 606 Action not authorized - The action requested REQUIRES authorization + * and the sender was not authorized. + * 714 NoSuchEntryInArray - The specified value does not exist in the array */ +MINIUPNP_LIBSPEC int +UPNP_DeletePortMapping(const char * controlURL, const char * servicetype, + const char * extPort, const char * proto, + const char * remoteHost); + +/* UPNP_DeletePortRangeMapping() + * Use same argument values as what was used for AddPortMapping(). + * remoteHost is usually NULL because IGD don't support it. + * Return Values : + * 0 : SUCCESS + * NON ZERO : error. Either an UPnP error code or an undefined error. + * + * List of possible UPnP errors for DeletePortMapping : + * 606 Action not authorized - The action requested REQUIRES authorization + * and the sender was not authorized. + * 730 PortMappingNotFound - This error message is returned if no port + * mapping is found in the specified range. + * 733 InconsistentParameters - NewStartPort and NewEndPort values are not consistent. */ +MINIUPNP_LIBSPEC int +UPNP_DeletePortMappingRange(const char * controlURL, const char * servicetype, + const char * extPortStart, const char * extPortEnd, + const char * proto, + const char * manage); + +/* UPNP_GetPortMappingNumberOfEntries() + * not supported by all routers */ +MINIUPNP_LIBSPEC int +UPNP_GetPortMappingNumberOfEntries(const char * controlURL, + const char * servicetype, + unsigned int * numEntries); + +/* UPNP_GetSpecificPortMappingEntry() + * retrieves an existing port mapping + * params : + * in extPort + * in proto + * in remoteHost + * out intClient (16 bytes) + * out intPort (6 bytes) + * out desc (80 bytes) + * out enabled (4 bytes) + * out leaseDuration (16 bytes) + * + * return value : + * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR + * or a UPnP Error Code. + * + * List of possible UPnP errors for _GetSpecificPortMappingEntry : + * 402 Invalid Args - See UPnP Device Architecture section on Control. + * 501 Action Failed - See UPnP Device Architecture section on Control. + * 606 Action not authorized - The action requested REQUIRES authorization + * and the sender was not authorized. + * 714 NoSuchEntryInArray - The specified value does not exist in the array. + */ +MINIUPNP_LIBSPEC int +UPNP_GetSpecificPortMappingEntry(const char * controlURL, + const char * servicetype, + const char * extPort, + const char * proto, + const char * remoteHost, + char * intClient, + char * intPort, + char * desc, + char * enabled, + char * leaseDuration); + +/* UPNP_GetGenericPortMappingEntry() + * params : + * in index + * out extPort (6 bytes) + * out intClient (16 bytes) + * out intPort (6 bytes) + * out protocol (4 bytes) + * out desc (80 bytes) + * out enabled (4 bytes) + * out rHost (64 bytes) + * out duration (16 bytes) + * + * return value : + * UPNPCOMMAND_SUCCESS, UPNPCOMMAND_INVALID_ARGS, UPNPCOMMAND_UNKNOWN_ERROR + * or a UPnP Error Code. + * + * Possible UPNP Error codes : + * 402 Invalid Args - See UPnP Device Architecture section on Control. + * 606 Action not authorized - The action requested REQUIRES authorization + * and the sender was not authorized. + * 713 SpecifiedArrayIndexInvalid - The specified array index is out of bounds + */ +MINIUPNP_LIBSPEC int +UPNP_GetGenericPortMappingEntry(const char * controlURL, + const char * servicetype, + const char * index, + char * extPort, + char * intClient, + char * intPort, + char * protocol, + char * desc, + char * enabled, + char * rHost, + char * duration); + +/* UPNP_GetListOfPortMappings() Available in IGD v2 + * + * + * Possible UPNP Error codes : + * 606 Action not Authorized + * 730 PortMappingNotFound - no port mapping is found in the specified range. + * 733 InconsistantParameters - NewStartPort and NewEndPort values are not + * consistent. + */ +MINIUPNP_LIBSPEC int +UPNP_GetListOfPortMappings(const char * controlURL, + const char * servicetype, + const char * startPort, + const char * endPort, + const char * protocol, + const char * numberOfPorts, + struct PortMappingParserData * data); + +/* IGD:2, functions for service WANIPv6FirewallControl:1 */ +MINIUPNP_LIBSPEC int +UPNP_GetFirewallStatus(const char * controlURL, + const char * servicetype, + int * firewallEnabled, + int * inboundPinholeAllowed); + +MINIUPNP_LIBSPEC int +UPNP_GetOutboundPinholeTimeout(const char * controlURL, const char * servicetype, + const char * remoteHost, + const char * remotePort, + const char * intClient, + const char * intPort, + const char * proto, + int * opTimeout); + +MINIUPNP_LIBSPEC int +UPNP_AddPinhole(const char * controlURL, const char * servicetype, + const char * remoteHost, + const char * remotePort, + const char * intClient, + const char * intPort, + const char * proto, + const char * leaseTime, + char * uniqueID); + +MINIUPNP_LIBSPEC int +UPNP_UpdatePinhole(const char * controlURL, const char * servicetype, + const char * uniqueID, + const char * leaseTime); + +MINIUPNP_LIBSPEC int +UPNP_DeletePinhole(const char * controlURL, const char * servicetype, const char * uniqueID); + +MINIUPNP_LIBSPEC int +UPNP_CheckPinholeWorking(const char * controlURL, const char * servicetype, + const char * uniqueID, int * isWorking); + +MINIUPNP_LIBSPEC int +UPNP_GetPinholePackets(const char * controlURL, const char * servicetype, + const char * uniqueID, int * packets); + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/miniupnpc-2.1/include/miniupnpc/upnpdev.h b/miniupnpc-2.1/include/miniupnpc/upnpdev.h new file mode 100644 index 0000000..f4ae174 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/upnpdev.h @@ -0,0 +1,36 @@ +/* $Id: upnpdev.h,v 1.1 2015/08/28 12:14:19 nanard Exp $ */ +/* Project : miniupnp + * Web : http://miniupnp.free.fr/ + * Author : Thomas BERNARD + * copyright (c) 2005-2018 Thomas Bernard + * This software is subjet to the conditions detailed in the + * provided LICENSE file. */ +#ifndef UPNPDEV_H_INCLUDED +#define UPNPDEV_H_INCLUDED + +#include "miniupnpc_declspec.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct UPNPDev { + struct UPNPDev * pNext; + char * descURL; + char * st; + char * usn; + unsigned int scope_id; + char buffer[3]; +}; + +/* freeUPNPDevlist() + * free list returned by upnpDiscover() */ +MINIUPNP_LIBSPEC void freeUPNPDevlist(struct UPNPDev * devlist); + + +#ifdef __cplusplus +} +#endif + + +#endif /* UPNPDEV_H_INCLUDED */ diff --git a/miniupnpc-2.1/include/miniupnpc/upnperrors.h b/miniupnpc-2.1/include/miniupnpc/upnperrors.h new file mode 100644 index 0000000..8499d9a --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/upnperrors.h @@ -0,0 +1,26 @@ +/* $Id: upnperrors.h,v 1.2 2008/07/02 23:31:15 nanard Exp $ */ +/* (c) 2007-2015 Thomas Bernard + * All rights reserved. + * MiniUPnP Project. + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + * This software is subjet to the conditions detailed in the + * provided LICENCE file. */ +#ifndef UPNPERRORS_H_INCLUDED +#define UPNPERRORS_H_INCLUDED + +#include "miniupnpc_declspec.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* strupnperror() + * Return a string description of the UPnP error code + * or NULL for undefinded errors */ +MINIUPNP_LIBSPEC const char * strupnperror(int err); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/miniupnpc-2.1/include/miniupnpc/upnpreplyparse.h b/miniupnpc-2.1/include/miniupnpc/upnpreplyparse.h new file mode 100644 index 0000000..6badd15 --- /dev/null +++ b/miniupnpc-2.1/include/miniupnpc/upnpreplyparse.h @@ -0,0 +1,63 @@ +/* $Id: upnpreplyparse.h,v 1.19 2014/10/27 16:33:19 nanard Exp $ */ +/* MiniUPnP project + * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/ + * (c) 2006-2013 Thomas Bernard + * This software is subject to the conditions detailed + * in the LICENCE file provided within the distribution */ + +#ifndef UPNPREPLYPARSE_H_INCLUDED +#define UPNPREPLYPARSE_H_INCLUDED + +#ifdef __cplusplus +extern "C" { +#endif + +struct NameValue { + struct NameValue * l_next; + char name[64]; + char value[128]; +}; + +struct NameValueParserData { + struct NameValue * l_head; + char curelt[64]; + char * portListing; + int portListingLength; + int topelt; + const char * cdata; + int cdatalen; +}; + +/* ParseNameValue() */ +void +ParseNameValue(const char * buffer, int bufsize, + struct NameValueParserData * data); + +/* ClearNameValueList() */ +void +ClearNameValueList(struct NameValueParserData * pdata); + +/* GetValueFromNameValueList() */ +char * +GetValueFromNameValueList(struct NameValueParserData * pdata, + const char * Name); + +#if 0 +/* GetValueFromNameValueListIgnoreNS() */ +char * +GetValueFromNameValueListIgnoreNS(struct NameValueParserData * pdata, + const char * Name); +#endif + +/* DisplayNameValueList() */ +#ifdef DEBUG +void +DisplayNameValueList(char * buffer, int bufsize); +#endif + +#ifdef __cplusplus +} +#endif + +#endif + diff --git a/miniupnpc-2.1/x86/lib/libminiupnpc.a b/miniupnpc-2.1/x86/lib/libminiupnpc.a new file mode 100644 index 0000000000000000000000000000000000000000..413bf66e0e60d007fde75d082901f900d9f9af31 GIT binary patch literal 72244 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%0A14x1op=|d<7JIf>farS1V4I|R^QL1<6R8A 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 literal 0 HcmV?d00001 diff --git a/miniupnpc-2.1/x86_64/lib/libminiupnpc.a b/miniupnpc-2.1/x86_64/lib/libminiupnpc.a new file mode 100644 index 0000000000000000000000000000000000000000..3afdaee34a9b365f062793763d6fc9831135a50c GIT binary patch literal 92070 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
@#}wCi>!gIT-UgywpgSIMH<6F*a&+ zO@KGRNBcT*@)-!;ljy07Ka4K49G@s@PDy`m~n6)S0JOQoS!hq$p4dlM^3E?!<2pJocZH`~{JYdSBY13afu_9RJrGJpNQ(UTn&AyK|Y@ms3??cTIO z!q(9tdDB$SvA*b;Hc8lS#;0IDTqm=F;m*|K}_a_hj ziwFP9gHw``{P@i^D&4Uje4GcL?w+8uLnQk!QuBMis!fo|I~wj<-zr68hQhY^bBP7iY4u+ z(vjKx)V3g*%5>*@o=o;opGmY2kcRgn&qsQ>Y%tTba=Y$BuOr2t4G6wmp*_jkp`8Fpfa7b9;JX2m0M~o% zP8rnVdhZ-Q^gz%pl9eB>n>`PZ1Uy(%F8t_MAi(t=xv7i`4^PvASxR5?tWmh;+2HUr znbd+{v(nc*I~@IP)_+^+k0VU-kM{|J{NG21;6EsQyu!sNG4wGuivDOGM_jx?;S-g9 z7voYs+b9gOPU&OamGH~|*#tl4ID+dvijx%nCYk3D;ooU*gTsu2N0-|bg-@n1;U9K* z_A}2&5RkY$Pb*yW{I2jR6i@gcMI$3Yu+~4SaQ(dFFy|w2^$#js^UJb8SAQve9~U0Y ze@fvxKM(U11w5MnJB4eWKRo#O(S>y5bSdR9!-MZrxX#Zdh3j-*;`tczsrmPK@OM1; zDlFzAk@j=U-UdC4gMTU=lK*!d{S&Nz+@t@iqyHJ}U-#%=i+5<#wDL8ndc5n zXi1>2+xcvT>we&x!gc?1H#QZJ2>%&-8{Esd%m0|dHBZLj`H^|nD}9~MJqp)6Z#g`7 zaX)oL>1&>E6h58Ol=`}+aLqsL@Ru|HNDM+G?(^QS@EH^?{A(1h`8O~w<++skH!FRe z|3QW8`Z}m^{aj}iuG2loxSQ_xN?)fttniuYxhC)=PIxk$|H+KI{D*p*g4oHCO^6X?>o(uo$2h#1}`xsyE;F6yg99+iT zml;R8v+0m_a!lc{sRaMT;W^6b4l$1IuT1HGt9a%pd@LqCBuIBI9l{@HT%Pv?^UqZJ zx;?Zje4gU@LgD2Kzlu(Z1nKH=ycVP+F22KqUsbpsciuqbW**)Df9=8VL1jnizprrJ zKI2B)_IoHJk$S!WhC}S?H4ZLz@^%Lod;741i@kl?!R7nHB?lKfkm1`t#VIDLo~I8X zPd#6K%;h5i+)U)wyMOBQxK-KC<12$3CUBl+(Uq0ooOA_u(??qb=k3O? zqPXDHbxgN*GEAqK6Ht#ZB@5{q@hcUE%NQCH3EpWfl7Bfbp+LFTdNmwhW4Ly8A7RYN zX0U+cUv~(k`~~iy3%rZ<0`PeOIt!Bb>?z#4B=KPrK+x^DWe>a(lYNqIdkX)$`NzGR icPJm=`0dCX38p!iqPXd!AB;->GA4^8=bQwc+u&bhfSMEl literal 0 HcmV?d00001 diff --git a/miniupnpc-2.1/x86_64/lib/libminiupnpc.so b/miniupnpc-2.1/x86_64/lib/libminiupnpc.so new file mode 100755 index 0000000000000000000000000000000000000000..5e62692f953fb660a2d0eb34429f443d233d3201 GIT binary patch literal 61408 zcmeFadwi7DwLbnP5P>KrDk@d05rcvk2nt?;XpjsHnm|g3ms%S_G9jbMOq>gXl}k-x znU14q#Zr%Lsl}Em^QKhf!Ae$H)VmhWPvZw0>3j0JSOmb>!`Kx z;F(Fm;Q0=IL&@g{0?)UqzdP2} z;MG~+*Jpt*$pZIhf!`+ZeCzv@Rrxn7$6Br7*RWyY`Gs<<`?ApaP8RqEO~+fR2)Hzz zpJ@0K8vcxiZ`E+mbOrb}!hBxP@Pn7D@O%yL61ajn|Gt?8{+^~&c%{Oo-tb9e!SBxk z|C^@MStiM?I^|fSV1I|w+d_foTkmKARBQZkS@0)n{PD9DqUi@_WWjf7{FV19{D(CC zn>75T?<#;VU%9txxXZ1=H);Hp8vaNI{2mQYYIsoN|3Kh6;BYo&fj^T4{z4Y`Zh_}p zvnmwv;gCC@cQkwsI|4k9D#!Xj!}n|WY7PG%4S(`R1-K4jK1ZS5A8+Mb&GS_Fhq@m- zS>Ouh{Cm2_uhtd5RP%GGh8M5{!n0dB)-@VF@j3;#O~b#e;TtskRt;~_@Z+vmfMyN< zhK4_>;hh@(Jq^E=9UPuc`DtV&eiw{4Q~r6{A)Bn!%@#H*MfT$+|G(9~5@ULrl*J=gdq~Q-4{5ut#c9zeR8a}dJ zg{fzJp4aeKbh&0Iu=S>f&(Zeb5)J>ghL62p0dCUtKi2T?eoMi>rQxHGQgSO z<}*>l!y12r0$VcyFSI^Rj_lO{?YOhR7iNK5wYBxj>S`OkzPe`b?H;RQ?p3p_X7A$q zNkKo|7O&46ZuPY?JZZ`$8oe&$S>_E{OFSX>!i7}}Ji%7KFX*va>YAJV^;ToROy|66$}M@^>sl{eM_t54K8c&E>T2+{`y<|ts$hT_js3j8tOuI$jB22 z`21GA-{KYmXUSFf%Y6ZSOKpIOM1O65=MXa#-RQ{U`IF>VWZLmn&W@ikbjb%CI#WWL*7UE zP;PL9fn_bt*4#Pe!BAZwSLQTUzQ+lAxy<^0%l2<=$Yuf2k)>?pf-s_XJJd zFk20p4arxcY}M7}RpnMN*f1!KlTI4ZnW!RXq@qZ^8^TbR##)hN$S*Yy>9l|oZMT+WBT__x!OWiS`YtaZAfN#|+ z4e3 zj28Msbf}?iQ)jTnZD(Nz~xYykmvB=1$Dk99=j}aJU&mr zTklBb@`VD+?RZDTyl~56Phfr{5xj;$R%)xK-rINx8mx%rr2!E4~G`}!@h{;k-@%Y2KvM3`3R_HaYXrG=mkd}=TYgUt|{uYgN zoj-7klL-yhHOcnCR-&vJb=}E0EiY9GZKs(Er;X=Af2vIeJhz5D!J*r$w!cHR<_?c%iJVp4G;&(BAgUepB(&!#<0{P7YOv5&a7fbWYsG)}um+p#In$=b_t&q(bb5BFT{r*ppckAi!w_Gda{065VBJPrQQ_;I|( zDe*-7&cg2`{7%7-&usi=iBJ8x0M11^%xTRW{3`In(8^kXpLxpQIl~0BI}Pqw2kbKV zuf(qkKQph@OD2{FFbor|CHP%~A0IW|%!Q8T;Ftc7kipOt&d_l=It|^F-{fFun%EQ# zCnV+nXZg-4TA9nb;$!rKv{`pXpX*0cI=Ob3xMqFW=*aq?3e+0;EA1-B>e2AR47l}# zLKvF?FVXOl40xG_yEEV;pH_6P&wzhH!<#bT=V9xDkppgQG2@yXaB7ixS{-oaZJuQgIP*5oY6slNf^lmcaM~mD ztaZShws5@zPMc_+4Gy^JHyF3c0jEtj&lU&VY3H^%;Kr6RO{W9yv`gI%xapUO-{XLv zN`QX$I^d@pAlzODyvPBMJK)CdGrHdaXTNHm0SA1%0n+_I1z0C%E3f<=>3}=?h(ZUP zV*vAvb-YaDQ6ubF1818(d);p-i6 z(+?89!2vh@G2xpW@G}U|&lU&V^c#%Y=76(*H&3SnZpK+Aj&5>V{)_lK{uumSizhjr z;U-2UdXsp@=Q5nbaF2vP?L?TSDbXq6KQYYVV`7Vh|G+R!QDTFHf5R|MP-3lw-(#4j zC$U<>?=VdDPP9t+RfcJ55{o3flVO^eM3scMGfdNxD3kEd7-rQZN+kRk!^bdOB;iLG zW|bxiCHxS>$1-e5_oX>lwqn$ zqD;aUGE7sID3S2F44=kuk%Y%FOjSt~O869pPiNSY@bL^&#S;CWvHbZA7ctx`;arB# zWVlDdpT2-FO-(mP1hFc~4 zD#H^PUL@h24AVp;swBLfVVb-|nS_7FFo%?h5(z)X@c9fEN%#?lFJQP(!VfV#iD3(2 zcWlNh03^o1518fdNQQ#DEH3*?G8x(N75sHawpNL=&JCx_H9)j3*8%19g9L#4RcNDf-sh0N%e7a9URR-R zhTLsCNW}_`c1Jseo+xe9^}ajO759S`cf{4}Zd=i7g--?wbM6w9ZA_lH2!x}q*NJ?U zLhb=_j}<=49Ys2TrxQFl;iqVkyE_&!?=IIap|u*IwiN?bLC42v?p?0u2<>u7MqRF_ z7>d>$jJo#b^h|fXzqHW=B0E)H?=rjh|0XQ20T*km@MOcqR)V9h9-{n2{DX=@8v&Fx zEU-=5^?uZK&|TjXt=uc5a$a=DI#z>gcVxFa@>YBWXaOU~wYSUFNe&a_GwSL@8kL}@ z;A!jf(cvX+uFjl6@ce>~)xcMAd#AfPSB3`Rj1Dhy#4j8apC2v*tgSOA;u`3iHbnH9 zLuVZxWhc}0+u}K7Azvz?{Sqh=ec`;sM=-CZd}Cmm+g3bht@KA-+orpoTeW0RmZjlp zz#^_~eZv*y0Zn-lQP;a;RXGmX6ouX!3Op+G62MZdrxO2y{((s8LJf@_1cN}ilS~G~ z&9-tc?s9E`n618wsB23)k)rTat@%-_qjULqA~-pu!fg60+8&fl8c3wDFSqZQHrE!^ z<`#(Sj?KEtDU5=9HX)m+>#6CkZ3Xu{EdFihxt?>ckJdcru7A}Xt?6~=yzK_H*tFx& z!l^?yfP6=1_!J~d@y2{hn6In9?>b028_dj9lqOO5x&EAPSBRvrp z+N`u8*MPgeTh)B38NJDpUJS5`b-6Z!J1enDRBb;D0(X_#R_wCE7e-y1 z-RldUZqH*QM7x59ZAMLOp6)uh;>7gGd==R@IqKR4m5bEuiq>p)*S}Nn^aCd{b)<96 z19`MSh~M2VKD0!e+L>w83ZCx-pU(rkqce0AcsYIPCd$u7AD4!H`RLGb>45z3I{*y9 zW?C5vVl>$qDGNI81+dFS-Lm@XqpnR906D*W@=BC06})U!QPj2n#opnOoenT~&*^E4 zmqc9q`%tPu@on8j8s$2mw7E7xpqr+5Eju~t>W@}-M{73byn0zrU?hSO*Xw;p z8%zYEHLpWCV4}s4pYUff@r3Paj|o~xUR&i<);aJdoDomp;$IjG#HvQQD%T9kXOqud7$q{TF&(~n^xt(JM zG=O1C;J6O9tvF~E+&dqw7WAbq7LsHQvJ5Ukt?(Gho$Z?(ce#4NAzAEsi#2)t zCNep|&TDzT8mDZePPFYHJs26bv96By5m*hMJGPEqXb49)FkJ4)o8b93|HHPv{8)_3 z)~>WH3HP-`JID;|Saho-imoF~cTCmB@M2CJX8s(1EG0c!w{4&laUGz63!NWz9RO%6 zK&lrg18sLS@40^?Bil;Ar*ItqAux3L+|jKZnz^G&I?G>&ssu`io&guZ9gh^MiL#t(lIC+vc4H$B@|^<4wBhEj4PnS%1j?*4;W)6XfCh? z15zF&y;3MjL6(0Jav4s!y!s~*8lnpg<-SW%${ex#(_Q^{Y(#S_az~|7ZSkI^^gOPZ z`Xz`!G2%us8j3f#BP-%miJHCcNM%n&#MNCMsqAfxxb_u16W&)It?WhNp>UNLXaNU_ z-O&|e-H|(r3!^Iv;fw@_OIA=Imlv}dA{>rGFMv9b$_LG5#Wr^&yahRJLQWfy6OGO` zE39?rM;MJF%{FwTrwO^P_-wLk4~#Y5O5(M-dWR92qrRr_1(FVf7zRV(({(Uc1q*a= z7=x`LP397n-Inbc*Q&&)2AR^0E_g_su3LmB&X zA#)0{-#u}sn|=I#^a}+mF|ydtsV=$#8Ol`lyJHx(MWk7N33C%htlwRp*9m23L|6Pg z@EG9;eto2ne>n_;pb)#AZOInE3F&yf&rc?&An+c@qU3vZAzzmQtk{dPyeMAR0LmiF z_9|w#V;LO#0Qgfdf2U%z7db-#gw5@w2NhxAOT&xd-PA~PgJKWl^p!GP@JwN(=f&RK zoSvLc;eAu1FwY2`v~hh-Ppk^6iPVT=S{;Kv`y}JNY~_}|QG(Nj9SnFjh%QG8w}Cq= zaX$V6*!z4b^G8|#_}@}iNZrHIz_7d+$oyx^IBST_=M z!#2aIh;}fSib#3!NEn~Y{@@EBwl>A<1}04775!j0fRWfP{4I}YVzF&ROyj(52l1qi zJLuaDQO9;LZ}*`}W2KeG9aSk(r74d}&J|H%V^G=1hbdcSq=)jE{i&l!4aI2LE4mXr zLx?JZjV>!>jZF^G;@QC~jDfAnz$+?fKRN?6s-S%UvjJ!F(FN_l%K+sUwDa7h!J>uk za;g69k~YlJ?Fcmk?RH11*j~Yramz-!FWVW&-^Nvx#5M;l@;@U~W+*UN6q@1;jtY%) z21kcZa0W3ky&W|B&QQQ1^K(1$bI05?TVU~Ok==~&?!Jo*K|O;$9RCB#eAogn3O#Qq zkpEGke{}{&hc-Ba`Jww9!8NWARE_lM6a-fg)&f zWo}F-&$I(Fg1)_|oZV!!vLDk4cQo9aWH%zUcoB_RtPG?wV&!<@Qv@Q;!5Q9;S9v4O$)(6%YHT?mT#3KF$Xvpl!*=-f~>+!n8J&y zHkFr{;9y}p+Bb9A6I8j>s9c^HDwo7NV97*KaW60Ec-#RpLz62D+8+Q|w|J94i!7Zt zuBtR?i;$%RcIm_-#5GB`>U$qp(-vV%&I?4VL4I|xN8 zg(AsR?4E9AIv6>DDs`I9bb{*guP#!m)Q|Nh(I$waD?SfK8@PFidz7_xkZuov;E|Ot zuCmIMS1D-rUHJFOn1|idrS*a{I4Z;*-{x|3=m*YVe&~J`tQu*+(2QfK;CG&+42C4# zK1!+HO}8r5d+#Gkp`hbWjz$2b;jk=IY2v0gx%klKk|vg+{pY4?sL*KtzE;J;b;3gU zG1leEiJJRMo%MKWdOgOa9{VQQ1yvoIgWt^Rc-$cYYTo7HmlF4&#C=Cn6xF!xhFm*{ z*0aL-Oeg19R#jDHn&;&3nRdKP*o;!D!X(}WH;K0$l|VM3{rimDZG0V)NbLqEl z@}X-iJxy+(ZSKg#6=BX#s5~XkIw?u76Gz)pHdaXuX0ng#AfkJNjgcc`ERu_|)}UFY z%s0rc7(jab3dK=&*94xTiL5;LK}X=eyV1Gk?VI4&t=;jh^}6Z>R0+U5LwFrD2)iuwMq2C zuAk^rn!Vz;(tDiGl)G2AOVbnYa8B+tH02%6ebz&>?c@R6VM)X0p`e4e&eHgZwJ1J5 zK~dPqFHx#H;Lc-K+b<>)v1vHvE`8lwf)zfOWZkhfWLLa-?MSwr=Vi2H?)nhJ!#-UC zO>3&6b)%-$mX#LPVw|)}NlW*@hA(a>g0DH6)+Itqh7|^b8;roH(HJMH+-@Yh1y8T$ z?UDA*@HvAE0t@TRd`BFU+E*?Qf>6y5cbu4)dnt z1l$&1O~p&>O5we(@jMETL*{;W9_QwQ`A`b;XBu<5!em8?BG&HG6 zqE%?LuW7XZLczeFp$1J9YLp0zu}GusR%pknOxrb@tT==&9pf@ge5yOyY%MW9raKBmTyA}-VW!~k-U>U9P z7A*8h{*()N@kj;-O(8ZGuf^h8WXJom#J06ZoORuVbz>Q~6P}7lY#SUb32v~HEvDy5>SPg|JR*jIQq`o{^xiIzBP`nnrZHk09 zV%2j!2yB94ZNZiYR#_2(x?$HKnm75o%!yrB-ucQ4tnH)v z+(@@t@ZRS|wXJ6UMj2M4@L1$0T`PP8)Pfmd^+Hld*GULO0L03e?p@=LL6hQ9&)4zrhizq5(4{tL+rekXdLxj~DfFF3j)!6)VZ6zf>>$-U`~tlZ)@` z$fO$$pXM@5Ye-{)H9Ra$P~-_0`5=rPainHow{qi^H5<4b)03 z>K?y__D<*pxtzvzUi21k8lcIfR}EPmnOtFKf=OM3YPTY8g{BV5EUq()56%prRAz0R zxw0~;OXVMwAxh;e9*?69KTA*%Tg*P85p45-CzZYqh$rp;|a!O$%K@E_Pndb(pWxNq+?n+$w?0ZiEz z7AdxlZ4b+yvThjdU}H^fUhPqH6J6FfpnPr8s;%Xh6+9!Yw&0m=cTCnOxvOBQ9_XB_ z;Ok)XH|Ux|6ex~_(XHg6A{L{@SEwcqj>t+>l4Db+kUKai$yyi~bdGH+_E@XNs8~QB z+N<}ous#-BcRm|VRE&yFFPnK=-vb!N%}&*TR1j2m$|7#j-LP}VsUlL@SrO%rcG2uK zg?qU^6PuB3v68!Kg>B1t3L9SQFO$!%zQThO(4ViRjKHtp8H7$CrrjTLun%**gopSx*2 zU<#s@TclR>NaWe8g zXynqt$Uq_6A`N;$YBwb#W=M8QNUpzaMUfRANfQ#z?JMRwV75}Q`JI5_4v6#%BQq5_ zVdOy%%hVNr@?FLCDJWb@pql^wM29M?&6}KU+E!lhbmb7;G!oKuiVF^-R)25M`vWkL5%#6x+Wf} z9DsW4E01)qabcG)+>0Gf>~d0Ql^8_SV0d=0tGu{Sm4|HtJDicJ#W;tC@!9%GwI*G02Agosl%W>Qe_^onj2=k;Ys4lhF#cE zh}+P|l~i!WQ2-U9EB+WT5tb%4V(EnfZtEOj?^m9y;(MS+Jyz&=R4p1Rl1}7CswC7| z)(IlbInIm$y%XIxXo6$Y zMlWV#>58xTg_?Iitr}mqy)|8o2r!|fP|*IMibwgo;$B9@uFo;t-yq>CuBY|5W5?u* z8+lJpWNu+BV$7P_59(CTzkQojbonJSN)iOz!xUIf!t8KheJpZt$eU7v0F1o3Yul>_ zTmYl!oXBBFf=W3LF%cx?(IU!&Q!VI?}1AWZ&n@S0kh3<;y^oZOB+-5dFTgY)| zSNx;5OjH>L){-^j3K{omDoz_qNjH{pPo(0;I?@#}?*3F<5#v%!ZZL*tx2uz-+yE(Y zg$3SCH21N}=g|H-Q)8wzXa!KRPAWib#tF5spY142YRY$3DmM95#5ShII_GMzd>f11 z?D`@*n#9?pJk!Qwo2zVgvh*aWD!{vB8DJ%WFq7F zkf9Qn9RoSx2>ScE1^0{+mPA*SQgD5Ht4LW@Aw~OBESCd4XJuaEOu<(z!yw3E(hFgK zaMH4E#p_n6R_g^8cvT}7Wsr7UgWgik0C{nU32dNSRUOE=f0XJgE_m9t1(T@L1Rk5V z@r~Ab+}IHTz5VFHJbp} zqg8v=sMIpYlJx()nuZEOrkr_9=S1xm)WeANT1>XIj)Rc0IU>uCAa5f}jI=~y4kgPk z9xJlM(NZPLU+))Lo~dQ|1%bz=UHD}s%NtQ-$TGL@Iy>90_#48^5W4w>E{e8Tjs|f& z2CQvp5KxU_1^4_H6adWwtpjGUmrfrJY-d;|HDf}(ed86T?ZtGYce-oe9q&TG%OJ1m9k@WB?6B1?3kN2yH^i)ZdUo~U8C~ckx)c%)KzvpQi;E-Y!SVw4wll} zi;+-IM2>*Ni{S@`J<+m-XoYzR&UqQe7#O|6v=>2%1u20DXt`Jy3VjjQK40iYF#c4R zNL8&+fdmJjSPzvQuY;=$J;ga!Pe*PqBT$L)87YD*zPoIW$~RheJqOfNFb7lHWMB^< z&dl0gbnAlO$}AypBH@f3qx)?Ab_gT-jrhln6g!m z7RzJTDY1M3+(T@Qs3Fc7)>BlE?xr|6wuNp~xy6l^xlt%gy%#v@lEBms;P;q}X`)qd zunQ0^_@Y$ZuI1n%CnZJMxlJR4YnE&Yx{+GUF^B)sxUGd=={4YY-!G8#;|4IB$aq>T}PsDZv^8XsT zJR|?7ciQ~_rCM2uau$!xNXvf%!VdnQLh64K|KE`uwfyh-!;$j;tPGx%{`~nxoBw*v ze>;ok;J+7P2mc3tY=?Ht?K2W1nrs-vp&TUOgs)p60jhU_DsEM6VSh6TQG7(86=wXvKU=*s%qcQs%ixSP8@9FCE9t4=t>7(eSy&+0|{S&^ifHalCbE`AsViuCbPC!zNPuFE%xF04v~NKJ1I%J$g8rq z*wGkNqjVy5_YRiGwAh=3Y*+jj#7JwgbvowfDu$|wzMkz8&2y-B>1a`GlUkaa=aFxH zbm0!vxU?uD*e!}Ow4_0TvZFy#<6E4`XPD%U25FaMw!(~$QvAvaw-p+)DfNQznNGs{ z95O*g*I=9O|Dh>`Xp`A$xo_6CV-bDEIv-K<$`#&ppY$mXsi9`l>pENWDwaKVRnfK2 zvZAF0?5>nbi2oO(hi+blXghj>aqV-gJ=44j(2x$vzbbx^7T(j{p~gp>%xrnCs4Gt!V2L1dJn6~fu# z4*L2=0BKBmx>kUWO-t7b0T)>zZZ{Q43cf5)*ok2eEn0~gL;4^@&bGux|LPi|X&pc5 zLlHl0y;9wc+YnYenQAn0FDeN;jxf}%EUi6^pZX^iqIvc+k!=nxk-g-u_@~6Md)D*1 zIyf-m16pc~Bt7f#3SDXCFMp2G!^ANj8C!-bGARYQs6?dt08za|^Z|PC_V+6(UmNdG z(n(-zkdoeqc=SvuUskR#`cUA z{}Or1w7_#XG7=Md;#euWR_=Am=II0F$_VEP!eR8ge>R0+kf7fw6MJZLb(2unny}=3 z;nmiJPyP*IrzT`GR~`QaM6C&(Ok``q8kefQYp|Ao1m>zRa(Uo|4koV;AXGn^Tqg1*r~Gsmv#% zXU$8iFCeDsE7h}}D#CD9s!|Wzkd(k6>`p@}(S6(zbX4D#gu3Qi-jf2^HUGCK5k8Wd zk8)*1*ZgiKvTOdHS*qs0v|mUc&IWiDx~lo}p+i|}{yt=wS@UW*F~oGx9g&?{bX2SZ z)I2dA^P`M8qP$BWHKkUS0z;yjGdd(Ie&^4mH0d=z8@oaf0tZyrm$THS=C3z3AKQ8d zy=vI7NW6N*PY)ZWN;+K|AMBM(?AmDAg0QnTehFUEW}$lZ?=!A==-RlHiPSLpsjE~~ z>{iP_x+=~E$q82IEO5p3s0rK4*v6D4J&#ohn4aWoI=5>&E7R!AKm)2mk*pA|%951q zojUFEf07lwrD{y`GNxdLip9yA^jT@7&jE`V<-(rfI5*8HS8;JPF&-6)7-_b34nqZL zB1dT=zg7!Bx}1h9s=#)~bYPC+N?K=IXZmzN6MS?gv&4mpG=jJ*CdH&OIg9z{f0bg2 zHmYK3GOIP2*=b}be~d7V{EKt}Whv@$A>}GcFP}@(`8m3VwDAgXw+pYlEcBWP^|uGsyul=CPQa zr^v)F7nO`Zkw)fFcIgB~FvBkWRMTl3L?@eFdX0j@;nQ@xbhoB+`XD-K{ggv)ZHf;2 zDTiG;VY({UyK0F^%YMj)M7#9IQbAWO^GQ>MXh`Fc{-4*7w5i}CnzS34I#BQJ7W5%h zOpP^;f?0^4L{>6e&<@~0avW>?n-tTuAhybkQRepr!88uGAZ1nU0b~&dkXxnn28k_5 zwM83=qs&EVln8l7lG#XQ0R1)%sSM?$)~baU`eYg9EkQbx=J}Xl?tTF&lkwNz5?R>I z^UFU**x5WEg~ZYsnQP>x>BXaO~_7naqoeREUKg`ZivmX!E5Y;XPY%thr{iPEtR^`lDw0r*&JFW z{UAS}nPpe(Cm)E=q$}L_C`)A4*r%v=6ZccZX>07~=$IN6qop>~-WPi~yy8|ZBHR!3 z$WE<+7(~mGJY!|AI%HzYpb&_)`6$LKzd1_#Jvr59zz?xPp2YoQpsPCC`J+^cK;j~h z$Xp>WL3V%FS}hY;q4CiFOT~v(TXv%Mj^^No|NHcY|3xz8s3MtOzLaYCzZNYs4PQ0a zv^4{zwWdw8;ZtUg#Z)%@CxnVYLc<@laJw!IqXcA>EYe#2iZrA$AhFbX0(z)LsA@^5 zwQ~P!Qe?Y*-~K~{o$Y%U+jr&QMX3D$1ftd-7ZcfPF?yO(iymUwon+QUsQ6TeT0FiH z=IYA9E2Xh%&uC@4T~XD`QGC}xFLm%OfT_Z+u_+A&_*Yn2$(*(RgL-wotykleUU5@^ zIv|@^+T`*C%UHW#;p<&hzcPaT%JURcrg|-tk(t>3?RmgLzxZ3#P~uMjA7^IHK&ja6 zEE2HNzSxPoBvduh+(tZcrXxD4_xjV6^E^Q?dY45xk4r-uN;wCldJUO$xq!{{oeieJH7t?4E@`*sM8fmWQ3)({&Xbu$@kyKS7<#TCBRaAi^Xas8|m2L#T z@0N<`7ePa7!W$5FHiBPdX#{y(zR``KjEU?+^NF}O`AGnM_kh^^|J zeGu8!@!7Ts#bS&Ve~(hg)bVjC6MB}kb|@cIdPprjS`dtS0WoDl551!L!9|pouF(^_ zgblk!fA~Fwoi&(g?qedmMlUW=weeSC9Nw%Qr_fbx?D>Ay+PDnlGA&g0 z+Aw?m`fLt&e;tctHzAur!vBn#rYy*hE@Tk~3IEV?T_=gOTzBBK9dfYcdd+tcJ`%b9 ziq{o&OF4;&Y`Ok=l9KBW{#{7xmNKN4bJFm0g|6g!2WlvbmVby0Gv!(Z#T{~OL$6ml zmN+t2D0#O-30mgZ2UvnkEx$aatg(k{uwmh}h!g0NH8 zuc2m#8hZP=;-Y2!7!#=>^&hnYU&^Ym6&NN-4fA3Evj>&AN~F-SMb9Hk6rEmOQPj@4 zKvmlx)bh^Z2I#p8T~*u54{N4iYcE6k%mMm8UQb_2ucr!Tlvz&~r0QwiWM_jo@_PEI zq|^2E6CO8ow24a|LfBbP&t<8nE?(5r^_0s*O0tWEI4*$8Jw{ZH499VfMb*>q03NcQ zbn<)7Qx)^2wB%VQ;a-KVD&~BnEvT3c;LcewyfCg`dxMM1GdeMDDQKUAzsh^>Pf*Gk z{2)DEMT@`UT~*#TaIm2L>j=ZM>g2Y8hYH&H@#40De<^6c9iGH{pnyYM1?_A;Jl|d{ z(VrKzPiOSA%;2k%7e9+2-c_g0xF7z4b}u2Hh}Va|3GQ#tcwUhCg=gixm-)@uAy9sK zC&AC{%y?D8Oe@}1)iYia$d3r27n!^$kPsm|#k-uzC&D}9WeM{|{mOgyN_t-rDDz7U zBi0@X?_w0atInSBxrD7b75=da|3HPen(%!p{GtheU4@_5 z;l2sK2f1)fI7g0M z9c$pr5nnre@ZdEQ>vZZ)K;#WVpMl-(21^9wQ4`^pbo6E@ei*&l;OOXlYE%;tUJeTh|fQ!pTnIv&LEL1!M z`0|@VqrbjlKg(2bPXOJHWQ|W&Fl(z1ZxxS`eMpG_dA+qBNdIvi)@t$EeXPsK%Y$R< zC@=G>4~5UUVk7uNryw_wE=HvQbOMs{#z<`1+vh_yqj{&)P(vMWsLuh$HgJECh<69H~i(II9<}Fvelf*2yHTiw(ndN^_}~LTkt(r3a#rM?-Kx`(u=2&3D&Sc63d(?$Ey$l zl~RyMF1k)?43%zqQT!sqTtWK>NDx0uhl2&}Zy_vL$3QyBZxeFHM|jj?9bb6Lp$3N+ z1syTA1EYd?3nDn1RK7#rnqcMVc8X=hzHjxYF@eF$284H?nOY zCp_)>yX}qcLEANJePJqmbVrG*!^U$eOIm@uaY3g zy*vqkugC=MrRwoLEx0F#>wkq-;tY_)Jvkz&kJ|hg>KVa|!qwjxsX8V>W5xTaa;cIw z%t?Gr57|i3KR%6qdoH7`gp8z}S@2$uoyD<xF?1@bnCYlBDHNB_X+JR z7X^O~qEM^7sHfdD0PH1Vc^@e6po@Z!U^B}cEmd#fh-bU>w=zZnK{ul?&{&_L$w*!L z!&mvB>i8-j6<*ybQg=Thu?m2&ksIe-sqP&$2hn|n6aV%XyhCpRc3px0WBT5)^?L67=J1 zZzlqGuZ?>?4_HAJ06@9c%_xXcoY~Y@(6|Hd|?VN=l5d35ZSRGf6*)%06*e@ z_R+{+X~)R$1Pxbf&#`F_pG7uR{ur*0+TGEQ#KZbVC=W+k1YlX3uVNA%aP@zEML&vK zu$03QY)Yv2F+z1-{KIK&udZHGDDh`lL&TqG$6tw;j1EqJti(etR}B$4LLxKrZ2Qfs zHHFY~0pq36nqT!oU3{r*#J2B%*S;n}i7CmjiOET?C)ZHN4!Cmw;g?=?;)&|LR3H{( z;iDZ&t{l<6MfE^6a1iAk2Yq=SB!;e%)kqrIaW|zG*~)-fIRV+VLY8r6?gH9vq-_Rv zt1dter!j}GAO~n9DX5Q@(${6N1u4VVfddP8-63ffJl%;GRp4znXj$g94~b(Duipfr zUbe|ERF!1o;3){cas3MNLO)_C-4REk5S9#`PLH#}|7?M0VoU7O%DSt{R2! zBE3(4d*`y;zENLa@jkfBS-M8Xs;jWOF{l{pfxx;;ynr1ecC`@1AMO$sI+3c=!u!bv zr@}&+N)=J5XpF98QjFA76G>&=DY~w6m+uw9A1vpvf%0%VOyhKOBzU z>wEa4zgK$%%wJEPuvO(SmGmqOyQ!pSbtUaZB|U2@X)n02D=90R2VtWVf59KVx(&5d z-XT0}LFw@B#-Wn2mJ%;BS*J>-s%gvLQ%$~aq?h#2)wEeYXE<~UOM$J#`o8&GW<4pD8nB*SlAqH%5z<0zAr4KVk`0>WUH&6OPk z@1hZlFSC;GtZcwpC>Ui<1CYSY1ZbNwXSjmdM{719EoKbG;Bv2E@l|GcbEj@nV}Ygk z=QqXphOP~fcXpQ-7Ly&2>WaU6C+Vp7>%2;Tm#dSt0(T2tQ+k#=cW4gBLNH1rQNXgX ze~(t~g)TYU-=Veg;b_gn*^I{|@E&zNEL!=n(#nU2&`O>&P(46Fn(^rSTHkUlDAqHj z#d)hkS{u5`iYO35!SaCpmY>%P?)>PlD25@-9Uj%SXms`RQ&dS;yy@#AZIS#}lz*U) z<6Mx$Yp^xMj0x4up6dwa-9Y@7A>S-(-VcPKB;M`m8emQdxnqo8n5&H#`Esd|iwSK5 zqeJ7{21-NuSQ!hQnivmdl-bD99EqaG7z03}Ktl`K{{~w8=o-f)PEz;+O&mk06wHi$ z-Z=$Q0sF75mQ{droC!H&g_Xn5{lIxx9AvO3QkdZUE}a&d2}Y~a?$xwbDOy<5OfkX4 z-RZPCG0L8kP6!r~gyw2O7b`;JG6@x?6T(Rsdq3s?+9JfdwhdpR1mAd%Q^DOE(M_9b z!BBmGYP(|%oXFO839MVjKx{Ss;+=XSak|%Zv@%k^Zbr8#e4`k$ruCx(^MPYkd?##S zmj%OwmmZTwP8e4l>1oDkm$n_GXN5*=%SQ^lpoPLxa|HSz`hJvBzgcU!zHgvOa(IIg z&=p_62+9m-G-K7t zP%AHlgM8`HutrpOOAoKwsYboahFY zgJeAziFEXkmi)yIVraImB`lW%9zkyu6JJ_xMa&I9mS&~OtrfY|F}FY70Vym7l}@DJ zevH9n5vp0xREZi8jC6DZ4S5h-@?Z+qXpu>Ygr}%HD6!8@LLT2l9;VtxY(EW{eR;C> zgW)Ar8-&yx@jgk2Z>>2Sn{F9zl2REc0ULST1>ZJMvJzjza6c^pq0tUD_wB!^TwM5< z-(c-FeiYuk%+=ZOab~t47;%^(^RDe2nK$%Ea(=`#^{(v>S`c>k(Lz&>v3y54u6f7u zO2HWVhFIQodU)Uaa(LvT^$xyIWM<@*xqR&}7G+OdgqY_oWZTmn32T5 zeyKjZi7t;;MuwC30-pFL{-BEbS)>y1XV1sCfIwHr0l>+1SH}Q+Y+Hl5+=fK};qn=J z$mN6ZpaSA7T5KI@!yNyBK#2Deh&SSTs%^znR_LlU>9RWT33}lC;&vp7VAeRTm8qh6 z@0F6GWB=$yU?ko^qlX$vK3Ku);}>l9MwhWS#ZZX5C$dWx+bS<#ft5&Gmbyn6iSsys ze5m;(WEH;*bo=n?@*ZigLPz!p_JUJ9t9@C0+!L#B=yV zgm4L1;-`AA6Tn!^o+_D#@Tqlx)tZPh)m@D0>ey!2^;6mh;3gZmF$G+210T>nyn~tXNA{%VbEiL=!2Db_lvnBwQKoV4?VyIOS8Mq;QHSjE7}*`%^{gG)-!( zMo*E-HE+a2LjlViqUl%HD{ll!X_q_22sXt;tR!USCLb@QY&DTE-)dh7b$A#Akh`$} zF%^VxFiY15+0>+DfLAbVd8KA11I$9rOo+mkMyVG@*C`>s<8IrTllr05Rgq`LvTmYee>_kh2a`AqT@Idj~1; zQl4p4qcvMtR`p746rC%+cy;c*+_*L-@f0!KqxGb=tz~}>Es2crhWI`~rV)5wbysNV zd8|9=`YSI%J^zj;r{3=id3>P@nmxWHp(ZO7sPhFIJ%I~6zIuOy*SEx~ZwmWv@ibUV zJfWb!{uW`qw{Nm$ZX~kuuxi5?pf@u^G&{V(v*_(i)yNTRgQmP|MubVkay_ zy97PR;nK~mT6*zpZ@_a~U2`)Mg#!L&q&kvx4q+StepOYKGeOOQimU2^9;-FrfiOaK zlqq14j1+g_@>Y*kuh=2jvlK|x;l=b<&#Ee?s~!<$>G-Cw4p+^u9=ZZqnSXy}Q6yBa z3Q;d8g3cr(a107OhEH$}G5r6l zJXZFiu-Q*uS{Ilc2>T|tz%&Gd4Xq86Xq&8n-ydr5NPE|Ha$}?C(vnhZ{Dspj-F#rm zYFZE9KC{?^l1cI}OL~=esaO%8Cp4!n1iP@jTsSJ7BFcDpd!qTIkwlWi;iub$DHd&8 zsY4EwPAP1YHP3Tfl|K-w@CHLP>vKGzh5k@o^Hs}3o?tbaC=oIsX*df!^&an1NG}b~ zh8o0OJ!ZPse^oFX&wc)_8hItDI=c2P=-ZiZuFS;Q3Qi4(#gjLi9Ln*i` z5by`A@nOqD&n$m~#~RsCorYlf158D z3V7;TD(jYApQpo)&+|!~T;r4GQa! zVek|3*ZZYjmA=(An>Z7m)$G+3>+;ntMjvfWk)$9|S=ZVMH7NH4>jPd$)bF#Jy^GnL zs6h2n3J*G%@^C=<7OTVpzsx|VWN@Z$xf24e7N9o@KuLs?a!<1-ud5i zduBE_`)@-PIjUWGN!7Be+tjT{vBE@2z3a+;UqL1fiz20ZOh}HnpWw%xdz~-=d?g^9OFBnVB0jJ}{@_bQ8BSf~v2s z4%gSSRdCQJs#sLxyTylwR-_tp3O?7jw659PP&6~JB-{c$ccw9MXke{=AI3?kWYy>> zJfR}72*@%OQHk~zSY8BM>8}@^*Eoij8k$&kFt8+ODOk~L83CJ+&mStP3x}Hg0q^ao zP+iRGRtzg$%bM!K!4RNE8Opsu)il$!VV*x^6k?tqGHFtZZPWnK)#27wXa-2hV^o29 zah0A2dPqIhZb>RI?(gjtiPnTb9$l4vC@FP-&r(`4Rlh;mDe!k0qW^9Spvn zGKu!-8B%UO%Ql|02Tv_}oLN7qzO?AJfH&lsFwsf_ zVieE-n6VuedhKw~XR0y9*aR}>s;PF(EH7Vh{-jBhxbBX}fibu0+KX!|YbqAboi($1 zVXb?9Rdot64bOqKaAAc)N+A?w5SlyNkqaUnsS&ljfz4f?4jObJdyvhVNJuz$8-^1(+5S zKM9P^uberrv}l|Ny}=u-_ha^jNnqvmKn=^hA9CWcdOkUL{dmr@!kkl&88MQts3V+f z`Grf8$x%em58+esi#H~d+#N6v;hY2a1CC{I`ymaQ)B(Wvat~_ev4wZ#&KiBxuwRTs zR+2|Mz+3#uiP$WD{IFKDVCHl71J!A0z%cd((eQK z$5?0LLZls^`(r!(aFq8VEcozFbSnN$JD$5hA0htkH2UAL>6asZ0T!)!=*Lb!YGAFDdPDS>=ga`a}51mfEQ!ueSTW})pq>t!aa;^v25``yXQ$tY_!h($!L{=rcB-u(yBLoHh&QFBzur#2 z5Aly3BAy@o`aR-a_T;*?eq9{AR@e(5Yv0!N)pLHKr0i_5kmkZ_8Vr z9QnLx=W_t@ZyVhApu5HH7%p-%lnNr^)vwTfPq< ze&+^kD5b^kv*VvaeDslIa%o!pt#b+#@%?uE80>aU z{|R;@)97!t=}$%cFCR-LKTV7O#ExHx_s2KilSi58^+18e^w4{vNUUJAn9>ZOP>IY3Zx&^kZ<^og!n5vlgUkK@jtZVA3%K9i^(J} zWfw;OR&F zO=c%kVJiMFN09=@OAjEv z{Xeqz_fH}IZ|^0OJ}yL?eq@+8pXpgAdl2vbGUg4`k7EmGA3OHyf}?L6x!St&l4x((^!J_5HL?hVV39&Z0~q=$PYcJlYZ z9gY(L!v~;yE07-UQ*g`So`}OE4RCj3oYM~X3mC6#gnJpr6}#X*2zMXc|A9OFueir> z7t+JM1P7z}$&~3BKQzPbg?l&LMYu+=8Sb$AP;R)dz&!wWCa&L&`4nSK+&r8L_lvm3 z$WPBa05=3T50^k6fO{+4r{F#ccMn|8gGdi|{I`+*Z^`8E;7*16=z64wd+;Hohx=9Z z8xO#p^F5@8y952e9=MBP&kw-8?op&am`on`W2A?BH0EXWk4AOs=O#X5^(!;HP4(Z`Oy94PNhFy99?m^g}r{K=nh4gU$vm5E* z&VB{yKL?+%5B!GLop2YzosIS!g1ZCm18_fu`xM;iXoq{?2H+lmdkosm80e9=2kGJ7 z2X`UdV(5DaZqa`rJ=|yBLwdMc75~rqKMDMw1pZF~|0jX}WeKe3+cEI;XxDl|g-f)n zLaD!H8E_71_>6p7xg0|C`GO8}$ie3v9p(^}&m}sHsfRqXbeKaRKGiymp{YC`9mY^i zo>m>k&_#W+OMk7vhVLfLAWqB5(}}~we7K&)$M9p^-jfvE@YSmY zV))X@Ees{FT4z}&D0Chml&4$cAFaa%-^gX`F)G5GwOFhZ8ab}!p=Ug%9&lh%9uvMn z;~%TxU)1g?+U@<7@^GBVM~;KT#mRJe`gQ!NI&8{m@HE&uU3(0l7`jM#4IlkFyh}5P zp^3zA(DK7jBMl!z2MIr?<1sWyi#PfHZ@W*(X(P+>OjkJ_yj-~hS}vLS&(;FIR=bVb zU8>!?wELiTf27@~wYyup?`roW?fzN2M`=Nyq}{W%d$D$BYxi31HfndNcJI>egWCO( zcAwVnZtcFS-H){UXYC$!hAQz%+C5vl7i)L6cCXcLqjr~S_b%-|sNElF_i63!*6zF7 z{Ybli*6vY7I)Ck+tz8BE2mbczG;?OnDlM8YXI{<3qN$TEo3yOx!jdV|N~TRePM>I6LpW>)!>x~#nNbB<;B22c*3nkkCY8dp zx3e|8Dg(~BZ7yztxF;%nSv!Y!riRzyZ8m(Glw(~3cPM^p04JT(b%D4B$>*#15&oDg zvf=$7+CVJ>k3t8n@1KEgxS3fS7J9IG7gq3Bm@{1w+LL|r}BSF+%Hv%rm< zH|Pvad5ykp$$)W;4YB*o^M)-oe6+qUQ;N`2~2)~(% zfu~qG)=xG39u1c@CB*#<@S)^m%GLR_B9K|Go(y9wVGw#vD2Wv9m zIk_0c^a`3aQaRS;8o#PY0d#k3%@X|MEYr^wA>K8pd@LlFhge{anK zUn%f>tF=fW%3dJ6yi_n0opo8@4`qQrk_G;gEbu3?zQ**P7g)@_$=^Kv%t^E0zW?s{4&6gQ>>@` zy&?-fKWH@+pYyZ8YqG#^%mQB|@O2Mn(_3w|&Q{PryHRaxM?urpM-Vp-r1 zWPyJt3w%=+_?9g2Z354?zCT&XVY99s-bp$hcJ-PP1&}>%c;CrF=e;cO4>cWcsiNc3 z^#7pYX56gJpY>-AH{)ny_h7VzA2Y6&J!{Y!DR52H;S^+npQ`B;Ua62}?;757v*1t3 z0>50-=`2%p>Xc($ody3(8vh+F0NJxfn))pGH*5UyvlU@uS661izf0q_XG`}qdUMyb>2l9zF)&vYxqownmpx;6@6d3cN5N&U7~XGbczu(C%N{Yjk7@W9Z&q;G8-{nchM%kjAbY}qf284k zGRwCtV+Tf!P~|Gsf|NaA;Ge7EZ6QTp_I}}YY50PB72MRzwHp5BQU#a2V0c?JJiJW7 zWe*tMyEXic+Z9~)e&Kys!#`Z1;Iiin@4sref0csEUN5{mHN0!Jg3BH+yuUK|cPhB- z?ZW#f4IkOA;IgL+Z&Jfw(dC+wL>?f3x4;x)?VgY`lwX--Y7CtsNw7tqTM_b)k^*c$!0&cS%ES z0}kWYN|eq>ZV}a6yvlMN&m0N`ITX$8gSCOi`YD%9xs+U3L2pZIvq!GU;U-(1ui-*V z-A3Wj^hr~vO}#ihJndp@aTtelYwH#V{mtQ!r#2jDmfIr%PiymX!^S)ux0R!|Rb)9J zr}tgpHv^7?{6j!-R&DL<1v4vMwXS*PwY3Q0;QKOfsJ02hZT19eZwufKg(rXrzpu8T zxt{kK5oiedHHxJYSheLh%$r#`ca~K3Ru zc@ebQ+Td)fu@xttLycC@r#(taa)K6zQE}o_YL?d#y|^${t5i7@02P+6!9wA1pjA+D zniSyrrhq!C>TRrL?kKg~20;{bs#!?@;$UsFq1v8W1Ppl}XLnuwH{&9e&XihGqfFVCEDiPmw%R*_bBv4ZvXQQ*vmiWJQ};!RD(Z2&p; zs;-O$P2DhC4Vn$fSE6jy)#X*?7SGCNrg73qBZ>D5WS20;~H| zChKe$rcAu!mVvqG#A_G4HDyq;UXC&dL)?XuiX&~t@mi3 zQP0wEBngTZf)i_~yGe$LjC)9E4{Sopic!~{jMMTm9oi1NCeuI{`crK(fIBIk;Lz<= z+utGEvK)Dr+aBp{yw)QIsJ3=-FbMOC9?z~?V@MnaQX(M3+ePC=dWfu1#~VL7ibT9Z6YwT%HZt=c9GCMGTMg(vB|&$S3j8epbH zSd)CXpD3u@WVk@%E0W7w;Iaos(n$gTB;Jc?wk9>z1)EZNrID*`kd$>T-g;|NunA0s z>K4Oi+~qA24){eHLOgwB_m73vBiYgTVcAL^v)^glD!pOIcrGPkm?+O!?YiJ%>A+5J z_Ct+p_Cqzg&@g_w|Arr?Om_O!dNOL=ia6XoBdAXo~F|?o-|Cp8fxeuL|zKB?sRZ=95 zm9s{<=C4U-!k@sy^rrk~Kh3yrWF#mv3AOukxX$#21mH35L9_6#z;^j{(Bg81GyO4C z2t3B+T?glrS^pal$@E%H?R_fQpaQ%XKj%~C48T7czXJSBdb8i(%MC6(8O0yOKlA3< z0h8XG2k6)7O?{IVpUm((fU)jPdb6J}pwk!W@*6Rj^oFl9kk(oLvA+fY&)7GWTcjNO zuSstJ7r^68Z}u%N)#=Utg~88E|5-+QTi`t^MJ9e`xD057nevxg literal 0 HcmV?d00001 From 84a4bab943099f930824000fae4d0c9293f3d3da Mon Sep 17 00:00:00 2001 From: r4sas Date: Mon, 20 Aug 2018 02:28:29 +0300 Subject: [PATCH 3/3] rename to correct ABI --- README.md | 4 ++-- .../{aarch64 => arm64-v8a}/lib/libminiupnpc.a | Bin .../{aarch64 => arm64-v8a}/lib/libminiupnpc.so | Bin 3 files changed, 2 insertions(+), 2 deletions(-) rename miniupnpc-2.1/{aarch64 => arm64-v8a}/lib/libminiupnpc.a (100%) rename miniupnpc-2.1/{aarch64 => arm64-v8a}/lib/libminiupnpc.so (100%) diff --git a/README.md b/README.md index 15d65bf..2700ee0 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Prebuilt MiniUPnP libraries ==== -MiniUPnPc libraries. Built for armeabi, armeabi-v7a, aarch64, x86, x86_64. +MiniUPnPc libraries. Built for armeabi, armeabi-v7a, arm64-v8a, x86, x86_64. WARNING ==== -Built with Android NDK r14b using android-14 platform for armeabi, armeabi-v7a, x86, and android-21 (minimal) for aarch64, x86_64. +Built with Android NDK r14b using android-14 platform for armeabi, armeabi-v7a, x86, and android-21 (minimal) for arm64-v8a, x86_64. diff --git a/miniupnpc-2.1/aarch64/lib/libminiupnpc.a b/miniupnpc-2.1/arm64-v8a/lib/libminiupnpc.a similarity index 100% rename from miniupnpc-2.1/aarch64/lib/libminiupnpc.a rename to miniupnpc-2.1/arm64-v8a/lib/libminiupnpc.a diff --git a/miniupnpc-2.1/aarch64/lib/libminiupnpc.so b/miniupnpc-2.1/arm64-v8a/lib/libminiupnpc.so similarity index 100% rename from miniupnpc-2.1/aarch64/lib/libminiupnpc.so rename to miniupnpc-2.1/arm64-v8a/lib/libminiupnpc.so