From 74eba79a34588cdd33356a8f9abea8477c8a93cc Mon Sep 17 00:00:00 2001 From: Francisco Dias Date: Fri, 16 Sep 2022 16:05:53 +0100 Subject: [PATCH 1/3] Uploaded Steamworks Ext (v1.1.3) --- .gitignore | 3 + source/.gitattributes | 1 + source/.gitignore | 22 + source/Steamworks_gml/Steamworks.yyp | 140 + .../Steamworks_Extension_Documentation.pdf | Bin 0 -> 3588109 bytes .../extensions/steamworks/.gitignore | 9 + .../extensions/steamworks/Steamworks.yy | 892 ++ .../extensions/steamworks/post_build_step.bat | 116 + .../extensions/steamworks/post_build_step.sh | 78 + .../fonts/font_yoyo_20/Font_Yoyo_20.old.png | Bin 0 -> 11462 bytes .../fonts/font_yoyo_20/Font_Yoyo_20.old.yy | 209 + .../fonts/font_yoyo_20/Font_Yoyo_20.yy | 228 + .../fonts/font_yoyo_20/font_yoyo_20.png | Bin 0 -> 22257 bytes .../fonts/font_yoyo_30/Font_Yoyo_20.png | Bin 0 -> 11462 bytes .../fonts/font_yoyo_30/Font_Yoyo_20.yy | 209 + .../fonts/font_yoyo_30/Font_Yoyo_30.old.png | Bin 0 -> 61913 bytes .../fonts/font_yoyo_30/Font_Yoyo_30.old.yy | 258 + .../fonts/font_yoyo_30/Font_Yoyo_30.yy | 259 + .../fonts/font_yoyo_30/font_yoyo_30.png | Bin 0 -> 33976 bytes .../fonts/font_yoyo_50/Font_Yoyo_20.png | Bin 0 -> 11462 bytes .../fonts/font_yoyo_50/Font_Yoyo_20.yy | 209 + .../fonts/font_yoyo_50/Font_Yoyo_50.old.png | Bin 0 -> 22257 bytes .../fonts/font_yoyo_50/Font_Yoyo_50.old.yy | 226 + .../fonts/font_yoyo_50/Font_Yoyo_50.yy | 260 + .../fonts/font_yoyo_50/font_yoyo_50.png | Bin 0 -> 61913 bytes .../objects/Obj_Steam/Create_0.gml | 11 + .../objects/Obj_Steam/Draw_64.gml | 8 + .../objects/Obj_Steam/KeyPress_82.gml | 7 + .../objects/Obj_Steam/Obj_Steam.yy | 43 + .../objects/Obj_Steam/Other_3.gml | 9 + .../objects/Obj_Steam/Other_69.gml | 4 + .../objects/Obj_Steam/Step_0.gml | 5 + .../objects/Obj_Steam_Networking/Create_0.gml | 5 + .../objects/Obj_Steam_Networking/Mouse_7.gml | 3 + .../Obj_Steam_Networking.yy | 41 + .../objects/Obj_Steam_Networking/Other_69.gml | 55 + .../Create_0.gml | 8 + .../Mouse_7.gml | 3 + .../Obj_Steam_Networking_Join_Specific.yy | 41 + .../Other_63.gml | 8 + .../Obj_Steam_Networking_List/Create_0.gml | 9 + .../Obj_Steam_Networking_List/Mouse_7.gml | 17 + .../Obj_Steam_Networking_List.yy | 40 + .../Create_0.gml | 12 + .../Obj_Steam_Networking_List_Slot/Draw_0.gml | 10 + .../Mouse_7.gml | 3 + .../Obj_Steam_Networking_List_Slot.yy | 41 + .../Obj_Steam_Networking_Lobby/Alarm_0.gml | 29 + .../Obj_Steam_Networking_Lobby/CleanUp_0.gml | 3 + .../Obj_Steam_Networking_Lobby/Create_0.gml | 20 + .../Obj_Steam_Networking_Lobby/Draw_0.gml | 19 + .../Obj_Steam_Networking_Lobby.yy | 37 + .../Obj_Steam_Networking_Lobby/Step_0.gml | 59 + .../Create_0.gml | 10 + .../Mouse_7.gml | 4 + .../Obj_Steam_Networking_Lobby_Chat.yy | 42 + .../Other_63.gml | 10 + .../Other_69.gml | 40 + .../Create_0.gml | 13 + .../Mouse_7.gml | 8 + .../Obj_Steam_Networking_Lobby_Color.yy | 40 + .../Create_0.gml | 6 + .../Mouse_7.gml | 4 + .../Obj_Steam_Networking_Lobby_setOwner.yy | 41 + .../Other_63.gml | 5 + .../Obj_Steam_Networking_Overlay/Create_0.gml | 6 + .../Obj_Steam_Networking_Overlay/Mouse_7.gml | 3 + .../Obj_Steam_Networking_Overlay.yy | 40 + .../Obj_Steam_ProfileImage/CleanUp_0.gml | 6 + .../Obj_Steam_ProfileImage/Create_0.gml | 37 + .../objects/Obj_Steam_ProfileImage/Draw_0.gml | 4 + .../Obj_Steam_ProfileImage.yy | 36 + .../Obj_Steam_ProfileImage/Other_69.gml | 17 + .../obj_steam_achievement_clear/Create_0.gml | 7 + .../obj_steam_achievement_clear/Mouse_7.gml | 2 + .../obj_steam_achievement_clear.yy | 40 + .../Create_0.gml | 5 + .../Mouse_7.gml | 3 + .../obj_steam_achievement_resetall.yy | 40 + .../obj_steam_achievement_set/Create_0.gml | 6 + .../obj_steam_achievement_set/Mouse_7.gml | 2 + .../obj_steam_achievement_set/Step_0.gml | 5 + .../obj_steam_achievement_set.yy | 41 + .../obj_steam_file_delete/Create_0.gml | 5 + .../objects/obj_steam_file_delete/Mouse_7.gml | 2 + .../obj_steam_file_delete.yy | 40 + .../objects/obj_steam_file_read/Create_0.gml | 5 + .../objects/obj_steam_file_read/Mouse_7.gml | 2 + .../obj_steam_file_read.yy | 40 + .../objects/obj_steam_file_write/Create_0.gml | 5 + .../objects/obj_steam_file_write/Mouse_7.gml | 6 + .../obj_steam_file_write.yy | 40 + .../obj_steam_file_writefromfile/Create_0.gml | 5 + .../obj_steam_file_writefromfile/Mouse_7.gml | 10 + .../obj_steam_file_writefromfile.yy | 40 + .../objects/obj_steam_generalinfo/Draw_0.gml | 31 + .../Obj_Steam_GeneralInfo.yy | 33 + .../objects/obj_steam_goto/Create_0.gml | 4 + .../objects/obj_steam_goto/Mouse_7.gml | 3 + .../objects/obj_steam_goto/obj_steam_goto.yy | 40 + .../Create_0.gml | 4 + .../Mouse_7.gml | 7 + .../Obj_Steam_Leaderboard_Download.yy | 38 + .../Other_69.gml | 40 + .../Create_0.gml | 4 + .../Mouse_7.gml | 7 + ...j_steam_leaderboard_download_arounduser.yy | 40 + .../Create_0.gml | 5 + .../Mouse_7.gml | 7 + .../obj_steam_leaderboard_download_friends.yy | 40 + .../Create_0.gml | 4 + .../Mouse_7.gml | 7 + .../obj_steam_leaderboard_download_general.yy | 40 + .../obj_steam_leaderboard_entry/Create_0.gml | 5 + .../obj_steam_leaderboard_entry/Draw_0.gml | 7 + .../obj_steam_leaderboard_entry.yy | 34 + .../obj_steam_leaderboard_upload/Create_0.gml | 5 + .../obj_steam_leaderboard_upload/Mouse_7.gml | 6 + .../obj_steam_leaderboard_upload.yy | 40 + .../Create_0.gml | 5 + .../Mouse_7.gml | 13 + .../Obj_Steam_Leaderboard_UploadWithBuff.yy | 40 + .../obj_steam_networking_circle/Alarm_0.gml | 3 + .../obj_steam_networking_circle/Create_0.gml | 3 + .../obj_steam_networking_circle/Draw_0.gml | 3 + .../obj_steam_networking_circle.yy | 35 + .../Create_0.gml | 6 + .../Mouse_7.gml | 3 + .../obj_steam_overlay_achievements.yy | 40 + .../obj_steam_overlay_browser/Create_0.gml | 6 + .../obj_steam_overlay_browser/Mouse_7.gml | 3 + .../obj_steam_overlay_browser.yy | 40 + .../obj_steam_overlay_community/Create_0.gml | 6 + .../obj_steam_overlay_community/Mouse_7.gml | 3 + .../obj_steam_overlay_community.yy | 40 + .../obj_steam_overlay_friends/Create_0.gml | 6 + .../obj_steam_overlay_friends/Mouse_7.gml | 4 + .../obj_steam_overlay_friends.yy | 40 + .../obj_steam_overlay_gamegroup/Create_0.gml | 6 + .../obj_steam_overlay_gamegroup/Mouse_7.gml | 3 + .../obj_steam_overlay_gamegroup.yy | 40 + .../obj_steam_overlay_players/Create_0.gml | 6 + .../obj_steam_overlay_players/Mouse_7.gml | 3 + .../obj_steam_overlay_players.yy | 40 + .../obj_steam_overlay_setting/Create_0.gml | 6 + .../obj_steam_overlay_setting/Mouse_7.gml | 3 + .../obj_steam_overlay_setting.yy | 40 + .../obj_steam_overlay_store/Create_0.gml | 6 + .../obj_steam_overlay_store/Mouse_7.gml | 3 + .../obj_steam_overlay_store.yy | 40 + .../obj_steam_overlay_user/Create_0.gml | 6 + .../obj_steam_overlay_user/Mouse_7.gml | 3 + .../obj_steam_overlay_user.yy | 40 + .../objects/obj_steam_overlayinfo/Draw_0.gml | 12 + .../obj_steam_overlayinfo.yy | 33 + .../objects/obj_steam_screenshot/Create_0.gml | 4 + .../objects/obj_steam_screenshot/Mouse_4.gml | 7 + .../obj_steam_screenshot.yy | 40 + .../obj_steam_stat_averagespeed/Create_0.gml | 5 + .../obj_steam_stat_averagespeed/Mouse_7.gml | 4 + .../obj_steam_stat_averagespeed.yy | 40 + .../obj_steam_stat_feetstraveled/Create_0.gml | 5 + .../obj_steam_stat_feetstraveled/Mouse_7.gml | 2 + .../obj_steam_stat_feetstraveled.yy | 40 + .../objects/obj_steam_stat_lose/Create_0.gml | 5 + .../objects/obj_steam_stat_lose/Mouse_7.gml | 3 + .../obj_steam_stat_lose.yy | 40 + .../objects/obj_steam_stat_win/Create_0.gml | 5 + .../objects/obj_steam_stat_win/Mouse_7.gml | 3 + .../obj_steam_stat_win/obj_steam_stat_win.yy | 40 + .../objects/obj_steam_statsinfo/Draw_0.gml | 15 + .../obj_steam_statsinfo.yy | 33 + .../obj_steam_storageinfo/Create_0.gml | 4 + .../objects/obj_steam_storageinfo/Draw_0.gml | 18 + .../obj_steam_storageinfo.yy | 34 + .../objects/obj_steam_ugc/Draw_0.gml | 8 + .../objects/obj_steam_ugc/Obj_Steam_UGC.yy | 34 + .../objects/obj_steam_ugc/Other_69.gml | 23 + .../objects/obj_steam_ugc_create/Create_0.gml | 8 + .../objects/obj_steam_ugc_create/Mouse_7.gml | 3 + .../objects/obj_steam_ugc_create/Other_69.gml | 64 + .../obj_steam_ugc_create.yy | 41 + .../objects/obj_steam_ugc_item/Create_0.gml | 11 + .../objects/obj_steam_ugc_item/Mouse_7.gml | 4 + .../obj_steam_ugc_item/Obj_Steam_UGC_Item.yy | 41 + .../objects/obj_steam_ugc_item/Other_63.gml | 81 + .../obj_steam_ugc_item_actions/Create_0.gml | 19 + .../obj_steam_ugc_item_actions.yy | 36 + .../obj_steam_ugc_query_all/Create_0.gml | 4 + .../obj_steam_ugc_query_all/Mouse_7.gml | 14 + .../obj_steam_ugc_query_all.yy | 40 + .../obj_steam_ugc_query_user/Create_0.gml | 5 + .../obj_steam_ugc_query_user/Mouse_7.gml | 17 + .../Obj_Steam_UGC_Query_User.yy | 40 + .../obj_steam_ugc_subscribed/Create_0.gml | 5 + .../obj_steam_ugc_subscribed/Mouse_7.gml | 18 + .../obj_steam_ugc_subscribed.yy | 40 + .../objects/obj_yoyo_button/Create_0.gml | 5 + .../objects/obj_yoyo_button/Draw_0.gml | 8 + .../objects/obj_yoyo_button/Step_0.gml | 8 + .../obj_yoyo_button/obj_yoyo_button.yy | 41 + .../objects/obj_yoyo_text/Create_0.gml | 7 + .../objects/obj_yoyo_text/Draw_0.gml | 8 + .../objects/obj_yoyo_text/Obj_Yoyo_text.yy | 35 + .../objects/obj_yoyo_textbox/Draw_0.gml | 9 + .../obj_yoyo_textbox/obj_yoyo_textbox.yy | 39 + .../options/amazonfire/icons/hdpi.png | Bin 0 -> 2081 bytes .../options/amazonfire/icons/ldpi.png | Bin 0 -> 689 bytes .../options/amazonfire/icons/mdpi.png | Bin 0 -> 1156 bytes .../options/amazonfire/icons/xhdpi.png | Bin 0 -> 2996 bytes .../options/amazonfire/icons/xxhdpi.png | Bin 0 -> 5322 bytes .../options/amazonfire/icons/xxxhdpi.png | Bin 0 -> 8132 bytes .../options/amazonfire/options_amazonfire.yy | 49 + .../options/amazonfire/splash/landscape.png | Bin 0 -> 44864 bytes .../options/amazonfire/splash/portrait.png | Bin 0 -> 44864 bytes .../options/amazonfire/tv_banner.png | Bin 0 -> 8098 bytes .../options/android/icons/hdpi.png | Bin 0 -> 2081 bytes .../options/android/icons/ldpi.png | Bin 0 -> 689 bytes .../options/android/icons/mdpi.png | Bin 0 -> 1156 bytes .../options/android/icons/xhdpi.png | Bin 0 -> 2996 bytes .../options/android/icons/xxhdpi.png | Bin 0 -> 5322 bytes .../options/android/icons/xxxhdpi.png | Bin 0 -> 8132 bytes .../options/android/options_android.yy | 76 + .../options/android/splash/landscape.png | Bin 0 -> 44864 bytes .../options/android/splash/portrait.png | Bin 0 -> 44864 bytes .../options/android/tv_banner.png | Bin 0 -> 8098 bytes source/Steamworks_gml/options/html5/fav.ico | Bin 0 -> 270398 bytes .../options/html5/options_html5.yy | 34 + .../Steamworks_gml/options/html5/splash.png | Bin 0 -> 44864 bytes .../options/ios/icons/app/ipad_152.png | Bin 0 -> 5776 bytes .../options/ios/icons/app/ipad_76.png | Bin 0 -> 2040 bytes .../options/ios/icons/app/ipad_pro_167.png | Bin 0 -> 6642 bytes .../options/ios/icons/app/iphone_120.png | Bin 0 -> 4112 bytes .../options/ios/icons/app/iphone_180.png | Bin 0 -> 7436 bytes .../options/ios/icons/itunes/itunes_1024.png | Bin 0 -> 100016 bytes .../ios/icons/notification/ipad_20.png | Bin 0 -> 272 bytes .../ios/icons/notification/ipad_40.png | Bin 0 -> 838 bytes .../ios/icons/notification/iphone_40.png | Bin 0 -> 838 bytes .../ios/icons/notification/iphone_60.png | Bin 0 -> 1370 bytes .../options/ios/icons/settings/ipad_29.png | Bin 0 -> 450 bytes .../options/ios/icons/settings/ipad_58.png | Bin 0 -> 1451 bytes .../options/ios/icons/settings/iphone_58.png | Bin 0 -> 1451 bytes .../options/ios/icons/settings/iphone_87.png | Bin 0 -> 2641 bytes .../options/ios/icons/spotlight/ipad_40.png | Bin 0 -> 838 bytes .../options/ios/icons/spotlight/ipad_80.png | Bin 0 -> 2188 bytes .../ios/icons/spotlight/iphone_120.png | Bin 0 -> 4112 bytes .../options/ios/icons/spotlight/iphone_80.png | Bin 0 -> 2188 bytes .../Steamworks_gml/options/ios/options_ios.yy | 45 + .../ios/splash/launchscreen-landscape.png | Bin 0 -> 44864 bytes .../options/ios/splash/launchscreen.png | Bin 0 -> 44864 bytes .../Steamworks_gml/options/linux/icons/64.png | Bin 0 -> 1751 bytes .../options/linux/options_linux.yy | 25 + .../options/linux/splash/splash.png | Bin 0 -> 44864 bytes .../Steamworks_gml/options/mac/icons/1024.png | Bin 0 -> 100016 bytes .../Steamworks_gml/options/mac/options_mac.yy | 33 + .../mac/splash/installer_background.png | Bin 0 -> 26983 bytes .../options/mac/splash/splash.png | Bin 0 -> 44864 bytes .../main/inherited/options_main.inherited.yy | 8 + .../options/main/options_main.yy | 22 + .../options/main/template_icon.png | Bin 0 -> 6874 bytes .../options/main/template_image.png | Bin 0 -> 8130 bytes .../options/operagx/options_operagx.yy | 18 + .../Steamworks_gml/options/ps4/options_ps4.yy | 36 + .../Steamworks_gml/options/ps5/options_ps5.yy | 38 + .../options/switch/options_switch.yy | 16 + .../options/tvos/icons/1280.png | Bin 0 -> 70903 bytes .../Steamworks_gml/options/tvos/icons/400.png | Bin 0 -> 12144 bytes .../options/tvos/icons/400_2x.png | Bin 0 -> 34589 bytes .../options/tvos/options_tvos.yy | 27 + .../options/tvos/splash/splash.png | Bin 0 -> 118360 bytes .../options/tvos/splash/splash_2x.png | Bin 0 -> 324513 bytes .../options/tvos/topshelf/topshelf.png | Bin 0 -> 68672 bytes .../options/tvos/topshelf/topshelf_2x.png | Bin 0 -> 192927 bytes .../options/tvos/topshelf/topshelf_wide.png | Bin 0 -> 71299 bytes .../tvos/topshelf/topshelf_wide_2x.png | Bin 0 -> 205159 bytes .../options/windows/icons/icon.ico | Bin 0 -> 270398 bytes .../options/windows/installer/finished.bmp | Bin 0 -> 154542 bytes .../options/windows/installer/header.bmp | Bin 0 -> 25818 bytes .../options/windows/options_windows.yy | 36 + .../options/windows/splash/splash.png | Bin 0 -> 44864 bytes .../options/windowsuap/options_windowsuap.yy | 61 + .../options/xboxone/options_xboxone.yy | 38 + .../xboxseriesxs/options_xboxseriesxs.yy | 42 + ...InstanceCreationCode_inst_30E09411_1_1.gml | 3 + .../InstanceCreationCode_inst_8B74AF2.gml | 3 + .../Room_Steam_Networking_Lobby.yy | 68 + .../InstanceCreationCode_inst_30E09411_1.gml | 3 + .../InstanceCreationCode_inst_3774885E.gml | 3 + .../Room_Steam_Networking_Matchmaking.yy | 64 + .../rooms/room_steam_init/Room_Steam_Init.yy | 55 + .../InstanceCreationCode_inst_2664DA60.gml | 3 + .../InstanceCreationCode_inst_2A43E815.gml | 5 + .../InstanceCreationCode_inst_3214E0AF.gml | 3 + .../InstanceCreationCode_inst_3A3DAC82.gml | 3 + .../InstanceCreationCode_inst_6127867E.gml | 3 + .../InstanceCreationCode_inst_78432E8C.gml | 3 + .../InstanceCreationCode_inst_7D35CEB1.gml | 3 + .../rooms/room_steam_main/room_steam_main.yy | 72 + .../InstanceCreationCode_inst_69A55ABC.gml | 3 + .../InstanceCreationCode_inst_6CBFB5C0.gml | 3 + .../InstanceCreationCode_inst_9B83182.gml | 6 + .../room_steam_overlay/Room_Steam_Overlay.yy | 80 + .../InstanceCreationCode_inst_190852B0.gml | 3 + .../InstanceCreationCode_inst_1BA0D2A4.gml | 3 + .../InstanceCreationCode_inst_1D3C3B61.gml | 3 + .../InstanceCreationCode_inst_29201E07.gml | 2 + .../InstanceCreationCode_inst_292FC577.gml | 3 + .../InstanceCreationCode_inst_29D9EAC7.gml | 1 + .../InstanceCreationCode_inst_2EE95865.gml | 1 + .../InstanceCreationCode_inst_328911A4.gml | 3 + .../InstanceCreationCode_inst_33F3C649.gml | 2 + .../InstanceCreationCode_inst_4FE7BB76.gml | 2 + .../InstanceCreationCode_inst_683F2162.gml | 3 + .../InstanceCreationCode_inst_7254EB1C.gml | 2 + .../InstanceCreationCode_inst_A83A810.gml | 3 + .../room_steam_social/Room_Steam_Social.yy | 92 + .../InstanceCreationCode_inst_190852B0_1.gml | 3 + .../InstanceCreationCode_inst_56D5E248.gml | 1 + .../InstanceCreationCode_inst_621C4689.gml | 3 + .../InstanceCreationCode_inst_716BF28.gml | 1 + .../room_steam_social_leaderboard.yy | 72 + .../InstanceCreationCode_inst_30E09411.gml | 3 + .../InstanceCreationCode_inst_72B4C843.gml | 3 + .../room_steam_storage/room_steam_storage.yy | 68 + .../InstanceCreationCode_inst_150372E.gml | 2 + .../InstanceCreationCode_inst_357AEFD6.gml | 3 + .../InstanceCreationCode_inst_3E3C24E5.gml | 3 + .../rooms/room_steam_ugc/room_steam_ugc.yy | 72 + .../Spr_YoYo_background.yy | 73 + .../c3f379b0-5a59-4f2d-a405-482ad85060a5.png | Bin 0 -> 20813 bytes .../6f89315b-439b-4995-9206-9dc7674be0df.png | Bin 0 -> 20813 bytes .../012d4e38-d855-40d4-8775-d877304847fd.png | Bin 0 -> 999 bytes .../spr_yoyo_button/Spr_YoYo_button.yy | 101 + .../acb1e226-988d-469f-a81d-5f63e7cf012d.png | Bin 0 -> 999 bytes .../c7e6e482-9118-46e9-af5a-aaee1f9aa8e7.png | Bin 0 -> 1001 bytes .../2bcd6097-0126-4c78-95b8-74cf466c4de5.png | Bin 0 -> 937 bytes .../2bcd6097-0126-4c78-95b8-74cf466c4de5.png | Bin 0 -> 937 bytes .../2bcd6097-0126-4c78-95b8-74cf466c4de5.png | Bin 0 -> 952 bytes .../24631523-3bf7-4305-b9b7-81445881d83e.png | Bin 0 -> 215 bytes .../spr_yoyo_textbox/Spr_YoYo_textbox.yy | 97 + .../5144ea37-721c-4e86-9b03-228323c0c2b3.png | Bin 0 -> 208 bytes source/Steamworks_vs/Steamworks.sln | 31 + .../Steamworks/DesktopExtensionTools.cpp | 14 + .../Steamworks/DesktopExtensionTools.h | 12 + .../Steamworks/DesktopExtensionTools.mm | 20 + .../Steamworks/Extension_Interface.h | 467 + .../Steamworks/GMLSteam/IniOptionsLibrary.cpp | 112 + .../Steamworks/GMLSteam/gml_ext.h | 172 + .../Steamworks/GMLSteam/gml_glue.cpp | 28 + .../Steamworks/GMLSteam/gml_glue.h | 89 + .../Steamworks/GMLSteam/gml_glue_map.h | 98 + .../Steamworks/GMLSteam/steam_apps.cpp | 61 + .../Steamworks/GMLSteam/steam_callbacks.cpp | 6 + .../Steamworks/GMLSteam/steam_callbacks.h | 34 + .../Steamworks/GMLSteam/steam_common.h | 39 + .../Steamworks/GMLSteam/steam_controller.cpp | 538 + .../Steamworks/GMLSteam/steam_friends.cpp | 311 + .../Steamworks/GMLSteam/steam_funcs.cpp | 199 + .../Steamworks/GMLSteam/steam_funcs.h | 51 + .../Steamworks/GMLSteam/steam_glue.cpp | 17 + .../Steamworks/GMLSteam/steam_glue.h | 57 + .../Steamworks/GMLSteam/steam_init.cpp | 322 + .../Steamworks/GMLSteam/steam_init_new.cpp | 216 + .../Steamworks/GMLSteam/steam_inventory.cpp | 665 + .../Steamworks/GMLSteam/steam_lobby_chat.cpp | 193 + .../Steamworks/GMLSteam/steam_matchmaking.cpp | 559 + .../Steamworks/GMLSteam/steam_misc.cpp | 121 + .../Steamworks/GMLSteam/steam_networking.cpp | 195 + .../GMLSteam/steam_remotestorage.cpp | 535 + .../Steamworks/GMLSteam/steam_screenshots.cpp | 109 + .../Steamworks/GMLSteam/steam_ugc.cpp | 1566 +++ .../Steamworks/GMLSteam/steam_unsorted.cpp | 10 + .../Steamworks/GMLSteam/steam_user.cpp | 321 + .../Steamworks/GMLSteam/steam_userstats.cpp | 1477 ++ .../Steamworks/GMLSteam/steam_utils.cpp | 48 + .../Steamworks/GMLSteam/steam_workshop.cpp | 97 + .../Steamworks/IniOptionsLibrary.cpp | 112 + .../Steamworks/IniOptionsLibrary.h | 12 + .../Steamworks/IniOptionsLibrary.mm | 109 + source/Steamworks_vs/Steamworks/Ref.h | 146 + .../Steamworks/Steamworks.vcxproj | 258 + .../Steamworks/Steamworks.vcxproj.filters | 225 + .../Steamworks/Steamworks.vcxproj.user | 10 + source/Steamworks_vs/Steamworks/YYRValue.h | 130 + source/Steamworks_vs/Steamworks/dllmain.cpp | 227 + source/Steamworks_vs/Steamworks/framework.h | 9 + source/Steamworks_vs/Steamworks/pch.cpp | 5 + source/Steamworks_vs/Steamworks/pch.h | 13 + .../Steamworks.xcodeproj/project.pbxproj | 780 ++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 42743 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 112977 bytes .../xcschemes/Steamworks.xcscheme | 67 + .../xcschemes/xcschememanagement.plist | 22 + .../xcdebugger/Breakpoints_v2.xcbkptlist | 24 + .../xcschemes/xcschememanagement.plist | 14 + .../Steamworks/Include/isteamapplist.h | 63 + .../Steamworks/Include/isteamapps.h | 176 + .../Steamworks/Include/isteamappticket.h | 28 + .../Steamworks/Include/isteamclient.h | 526 + .../Steamworks/Include/isteamcontroller.h | 461 + .../Steamworks/Include/isteamfriends.h | 639 + .../Include/isteamgamecoordinator.h | 75 + .../Steamworks/Include/isteamgameserver.h | 387 + .../Include/isteamgameserverstats.h | 101 + .../Steamworks/Include/isteamhtmlsurface.h | 466 + .../Steamworks/Include/isteamhttp.h | 210 + .../Steamworks/Include/isteaminventory.h | 429 + .../Include/isteammasterserverupdater.h | 1 + .../Steamworks/Include/isteammatchmaking.h | 751 + .../Steamworks/Include/isteammusic.h | 67 + .../Steamworks/Include/isteammusicremote.h | 129 + .../Steamworks/Include/isteamnetworking.h | 306 + .../Include/isteamparentalsettings.h | 57 + .../Include/isteamps3overlayrenderer.h | 91 + .../Steamworks/Include/isteamremotestorage.h | 681 + .../Steamworks/Include/isteamscreenshots.h | 116 + .../Steamworks/Include/isteamugc.h | 545 + .../Steamworks/Include/isteamuser.h | 369 + .../Steamworks/Include/isteamuserstats.h | 476 + .../Steamworks/Include/isteamutils.h | 264 + .../Steamworks/Include/isteamvideo.h | 71 + .../Steamworks/Include/matchmakingtypes.h | 251 + .../Steamworks/Include/steam_api.h | 394 + .../Steamworks/Include/steam_api.json | 8100 +++++++++++ .../Steamworks/Include/steam_api_flat.h | 844 ++ .../Steamworks/Include/steam_api_internal.h | 328 + .../Steamworks/Include/steam_api_interop.cs | 11339 ++++++++++++++++ .../Steamworks/Include/steam_gameserver.h | 243 + .../Steamworks/Include/steamclientpublic.h | 1270 ++ .../Include/steamencryptedappticket.h | 32 + .../Steamworks/Include/steamhttpenums.h | 98 + .../Steamworks/Include/steamps3params.h | 112 + .../Steamworks/Include/steamtypes.h | 184 + .../Steamworks/Include/steamuniverse.h | 27 + source/build_linux64.sh | 14 + source/json-c-0.9/3DS/JSON-configM.h | 101 + source/json-c-0.9/Android/JSON-configM.h | 101 + source/json-c-0.9/JSON-config.h | 43 + source/json-c-0.9/Linux/JSON-configM.h | 101 + source/json-c-0.9/Mac/JSON-configM.h | 101 + source/json-c-0.9/PS3/JSON-configM.h | 101 + source/json-c-0.9/PS4/JSON-configM.h | 101 + source/json-c-0.9/PS5/JSON-configM.h | 101 + source/json-c-0.9/PSP/JSON-configM.h | 101 + source/json-c-0.9/PSVita/JSON-configM.h | 101 + source/json-c-0.9/Switch/JSON-configM.h | 101 + source/json-c-0.9/Tizen/JSON-configM.h | 101 + source/json-c-0.9/WiiU/JSON-configM.h | 101 + source/json-c-0.9/Win32/JSON-configM.h | 90 + source/json-c-0.9/WinMetro/JSON-configM.h | 90 + source/json-c-0.9/WinPhone/JSON-configM.h | 90 + source/json-c-0.9/XboxOne/JSON-configM.h | 90 + source/json-c-0.9/arraylist.c | 95 + source/json-c-0.9/arraylist.h | 53 + source/json-c-0.9/bits.h | 27 + source/json-c-0.9/debug.c | 98 + source/json-c-0.9/debug.h | 65 + source/json-c-0.9/iPad/JSON-configM.h | 101 + source/json-c-0.9/json-c.h | 32 + source/json-c-0.9/json_object.c | 554 + source/json-c-0.9/json_object.h | 325 + source/json-c-0.9/json_object_private.h | 52 + source/json-c-0.9/json_tokener.c | 687 + source/json-c-0.9/json_tokener.h | 98 + source/json-c-0.9/json_util.c | 131 + source/json-c-0.9/json_util.h | 31 + source/json-c-0.9/linkhash.c | 219 + source/json-c-0.9/linkhash.h | 272 + source/json-c-0.9/printbuf.c | 152 + source/json-c-0.9/printbuf.h | 64 + 472 files changed, 54473 insertions(+) create mode 100644 source/.gitattributes create mode 100644 source/.gitignore create mode 100644 source/Steamworks_gml/Steamworks.yyp create mode 100644 source/Steamworks_gml/datafiles/Steamworks_Extension_Documentation.pdf create mode 100644 source/Steamworks_gml/extensions/steamworks/.gitignore create mode 100644 source/Steamworks_gml/extensions/steamworks/Steamworks.yy create mode 100644 source/Steamworks_gml/extensions/steamworks/post_build_step.bat create mode 100644 source/Steamworks_gml/extensions/steamworks/post_build_step.sh create mode 100644 source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.old.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.old.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_20/font_yoyo_20.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_20.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_20.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_30/font_yoyo_30.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_20.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_20.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.png create mode 100644 source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.yy create mode 100644 source/Steamworks_gml/fonts/font_yoyo_50/font_yoyo_50.png create mode 100644 source/Steamworks_gml/objects/Obj_Steam/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam/Draw_64.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam/KeyPress_82.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam/Obj_Steam.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam/Other_3.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam/Other_69.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam/Step_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking/Obj_Steam_Networking.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking/Other_69.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Obj_Steam_Networking_Join_Specific.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Other_63.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List/Obj_Steam_Networking_List.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Obj_Steam_Networking_List_Slot.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Alarm_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/CleanUp_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Obj_Steam_Networking_Lobby.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Step_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Obj_Steam_Networking_Lobby_Chat.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_63.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_69.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Obj_Steam_Networking_Lobby_Color.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Obj_Steam_Networking_Lobby_setOwner.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Other_63.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Obj_Steam_Networking_Overlay.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_ProfileImage/CleanUp_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Create_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Obj_Steam_ProfileImage.yy create mode 100644 source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Other_69.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_clear/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_clear/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_clear/obj_steam_achievement_clear.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_resetall/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_resetall/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_resetall/obj_steam_achievement_resetall.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_set/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_set/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_set/Step_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_achievement_set/obj_steam_achievement_set.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_file_delete/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_delete/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_delete/obj_steam_file_delete.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_file_read/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_read/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_read/obj_steam_file_read.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_file_write/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_write/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_write/obj_steam_file_write.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_file_writefromfile/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_writefromfile/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_file_writefromfile/obj_steam_file_writefromfile.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_generalinfo/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_generalinfo/Obj_Steam_GeneralInfo.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_goto/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_goto/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_goto/obj_steam_goto.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download/Obj_Steam_Leaderboard_Download.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download/Other_69.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/obj_steam_leaderboard_download_arounduser.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/obj_steam_leaderboard_download_friends.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/obj_steam_leaderboard_download_general.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_entry/obj_steam_leaderboard_entry.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_upload/obj_steam_leaderboard_upload.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Obj_Steam_Leaderboard_UploadWithBuff.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_networking_circle/Alarm_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_networking_circle/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_networking_circle/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_networking_circle/obj_steam_networking_circle.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_achievements/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_achievements/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_achievements/obj_steam_overlay_achievements.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_browser/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_browser/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_browser/obj_steam_overlay_browser.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_community/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_community/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_community/obj_steam_overlay_community.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_friends/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_friends/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_friends/obj_steam_overlay_friends.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/obj_steam_overlay_gamegroup.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_players/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_players/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_players/obj_steam_overlay_players.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_setting/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_setting/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_setting/obj_steam_overlay_setting.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_store/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_store/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_store/obj_steam_overlay_store.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_user/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_user/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlay_user/obj_steam_overlay_user.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_overlayinfo/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_overlayinfo/obj_steam_overlayinfo.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_screenshot/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_screenshot/Mouse_4.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_screenshot/obj_steam_screenshot.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_averagespeed/obj_steam_stat_averagespeed.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/obj_steam_stat_feetstraveled.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_lose/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_lose/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_lose/obj_steam_stat_lose.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_win/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_win/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_stat_win/obj_steam_stat_win.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_statsinfo/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_statsinfo/obj_steam_statsinfo.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_storageinfo/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_storageinfo/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_storageinfo/obj_steam_storageinfo.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc/Obj_Steam_UGC.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc/Other_69.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_create/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_create/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_create/Other_69.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_create/obj_steam_ugc_create.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_item/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_item/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_item/Obj_Steam_UGC_Item.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_item/Other_63.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_item_actions/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_item_actions/obj_steam_ugc_item_actions.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_query_all/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_query_all/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_query_all/obj_steam_ugc_query_all.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_query_user/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_query_user/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_query_user/Obj_Steam_UGC_Query_User.yy create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Mouse_7.gml create mode 100644 source/Steamworks_gml/objects/obj_steam_ugc_subscribed/obj_steam_ugc_subscribed.yy create mode 100644 source/Steamworks_gml/objects/obj_yoyo_button/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_yoyo_button/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_yoyo_button/Step_0.gml create mode 100644 source/Steamworks_gml/objects/obj_yoyo_button/obj_yoyo_button.yy create mode 100644 source/Steamworks_gml/objects/obj_yoyo_text/Create_0.gml create mode 100644 source/Steamworks_gml/objects/obj_yoyo_text/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_yoyo_text/Obj_Yoyo_text.yy create mode 100644 source/Steamworks_gml/objects/obj_yoyo_textbox/Draw_0.gml create mode 100644 source/Steamworks_gml/objects/obj_yoyo_textbox/obj_yoyo_textbox.yy create mode 100644 source/Steamworks_gml/options/amazonfire/icons/hdpi.png create mode 100644 source/Steamworks_gml/options/amazonfire/icons/ldpi.png create mode 100644 source/Steamworks_gml/options/amazonfire/icons/mdpi.png create mode 100644 source/Steamworks_gml/options/amazonfire/icons/xhdpi.png create mode 100644 source/Steamworks_gml/options/amazonfire/icons/xxhdpi.png create mode 100644 source/Steamworks_gml/options/amazonfire/icons/xxxhdpi.png create mode 100644 source/Steamworks_gml/options/amazonfire/options_amazonfire.yy create mode 100644 source/Steamworks_gml/options/amazonfire/splash/landscape.png create mode 100644 source/Steamworks_gml/options/amazonfire/splash/portrait.png create mode 100644 source/Steamworks_gml/options/amazonfire/tv_banner.png create mode 100644 source/Steamworks_gml/options/android/icons/hdpi.png create mode 100644 source/Steamworks_gml/options/android/icons/ldpi.png create mode 100644 source/Steamworks_gml/options/android/icons/mdpi.png create mode 100644 source/Steamworks_gml/options/android/icons/xhdpi.png create mode 100644 source/Steamworks_gml/options/android/icons/xxhdpi.png create mode 100644 source/Steamworks_gml/options/android/icons/xxxhdpi.png create mode 100644 source/Steamworks_gml/options/android/options_android.yy create mode 100644 source/Steamworks_gml/options/android/splash/landscape.png create mode 100644 source/Steamworks_gml/options/android/splash/portrait.png create mode 100644 source/Steamworks_gml/options/android/tv_banner.png create mode 100644 source/Steamworks_gml/options/html5/fav.ico create mode 100644 source/Steamworks_gml/options/html5/options_html5.yy create mode 100644 source/Steamworks_gml/options/html5/splash.png create mode 100644 source/Steamworks_gml/options/ios/icons/app/ipad_152.png create mode 100644 source/Steamworks_gml/options/ios/icons/app/ipad_76.png create mode 100644 source/Steamworks_gml/options/ios/icons/app/ipad_pro_167.png create mode 100644 source/Steamworks_gml/options/ios/icons/app/iphone_120.png create mode 100644 source/Steamworks_gml/options/ios/icons/app/iphone_180.png create mode 100644 source/Steamworks_gml/options/ios/icons/itunes/itunes_1024.png create mode 100644 source/Steamworks_gml/options/ios/icons/notification/ipad_20.png create mode 100644 source/Steamworks_gml/options/ios/icons/notification/ipad_40.png create mode 100644 source/Steamworks_gml/options/ios/icons/notification/iphone_40.png create mode 100644 source/Steamworks_gml/options/ios/icons/notification/iphone_60.png create mode 100644 source/Steamworks_gml/options/ios/icons/settings/ipad_29.png create mode 100644 source/Steamworks_gml/options/ios/icons/settings/ipad_58.png create mode 100644 source/Steamworks_gml/options/ios/icons/settings/iphone_58.png create mode 100644 source/Steamworks_gml/options/ios/icons/settings/iphone_87.png create mode 100644 source/Steamworks_gml/options/ios/icons/spotlight/ipad_40.png create mode 100644 source/Steamworks_gml/options/ios/icons/spotlight/ipad_80.png create mode 100644 source/Steamworks_gml/options/ios/icons/spotlight/iphone_120.png create mode 100644 source/Steamworks_gml/options/ios/icons/spotlight/iphone_80.png create mode 100644 source/Steamworks_gml/options/ios/options_ios.yy create mode 100644 source/Steamworks_gml/options/ios/splash/launchscreen-landscape.png create mode 100644 source/Steamworks_gml/options/ios/splash/launchscreen.png create mode 100644 source/Steamworks_gml/options/linux/icons/64.png create mode 100644 source/Steamworks_gml/options/linux/options_linux.yy create mode 100644 source/Steamworks_gml/options/linux/splash/splash.png create mode 100644 source/Steamworks_gml/options/mac/icons/1024.png create mode 100644 source/Steamworks_gml/options/mac/options_mac.yy create mode 100644 source/Steamworks_gml/options/mac/splash/installer_background.png create mode 100644 source/Steamworks_gml/options/mac/splash/splash.png create mode 100644 source/Steamworks_gml/options/main/inherited/options_main.inherited.yy create mode 100644 source/Steamworks_gml/options/main/options_main.yy create mode 100644 source/Steamworks_gml/options/main/template_icon.png create mode 100644 source/Steamworks_gml/options/main/template_image.png create mode 100644 source/Steamworks_gml/options/operagx/options_operagx.yy create mode 100644 source/Steamworks_gml/options/ps4/options_ps4.yy create mode 100644 source/Steamworks_gml/options/ps5/options_ps5.yy create mode 100644 source/Steamworks_gml/options/switch/options_switch.yy create mode 100644 source/Steamworks_gml/options/tvos/icons/1280.png create mode 100644 source/Steamworks_gml/options/tvos/icons/400.png create mode 100644 source/Steamworks_gml/options/tvos/icons/400_2x.png create mode 100644 source/Steamworks_gml/options/tvos/options_tvos.yy create mode 100644 source/Steamworks_gml/options/tvos/splash/splash.png create mode 100644 source/Steamworks_gml/options/tvos/splash/splash_2x.png create mode 100644 source/Steamworks_gml/options/tvos/topshelf/topshelf.png create mode 100644 source/Steamworks_gml/options/tvos/topshelf/topshelf_2x.png create mode 100644 source/Steamworks_gml/options/tvos/topshelf/topshelf_wide.png create mode 100644 source/Steamworks_gml/options/tvos/topshelf/topshelf_wide_2x.png create mode 100644 source/Steamworks_gml/options/windows/icons/icon.ico create mode 100644 source/Steamworks_gml/options/windows/installer/finished.bmp create mode 100644 source/Steamworks_gml/options/windows/installer/header.bmp create mode 100644 source/Steamworks_gml/options/windows/options_windows.yy create mode 100644 source/Steamworks_gml/options/windows/splash/splash.png create mode 100644 source/Steamworks_gml/options/windowsuap/options_windowsuap.yy create mode 100644 source/Steamworks_gml/options/xboxone/options_xboxone.yy create mode 100644 source/Steamworks_gml/options/xboxseriesxs/options_xboxseriesxs.yy create mode 100644 source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_30E09411_1_1.gml create mode 100644 source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_8B74AF2.gml create mode 100644 source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy create mode 100644 source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_30E09411_1.gml create mode 100644 source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_3774885E.gml create mode 100644 source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_init/Room_Steam_Init.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2664DA60.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2A43E815.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3214E0AF.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3A3DAC82.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_6127867E.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_78432E8C.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_7D35CEB1.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_main/room_steam_main.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_69A55ABC.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_6CBFB5C0.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_9B83182.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_overlay/Room_Steam_Overlay.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_190852B0.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1BA0D2A4.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1D3C3B61.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29201E07.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_292FC577.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29D9EAC7.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_2EE95865.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_328911A4.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_33F3C649.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_4FE7BB76.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_683F2162.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_7254EB1C.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_A83A810.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social/Room_Steam_Social.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_190852B0_1.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_56D5E248.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_621C4689.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_716BF28.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_social_leaderboard/room_steam_social_leaderboard.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_30E09411.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_72B4C843.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_storage/room_steam_storage.yy create mode 100644 source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_150372E.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_357AEFD6.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_3E3C24E5.gml create mode 100644 source/Steamworks_gml/rooms/room_steam_ugc/room_steam_ugc.yy create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_background/Spr_YoYo_background.yy create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_background/c3f379b0-5a59-4f2d-a405-482ad85060a5.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_background/layers/c3f379b0-5a59-4f2d-a405-482ad85060a5/6f89315b-439b-4995-9206-9dc7674be0df.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/012d4e38-d855-40d4-8775-d877304847fd.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/Spr_YoYo_button.yy create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/acb1e226-988d-469f-a81d-5f63e7cf012d.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/c7e6e482-9118-46e9-af5a-aaee1f9aa8e7.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/layers/012d4e38-d855-40d4-8775-d877304847fd/2bcd6097-0126-4c78-95b8-74cf466c4de5.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/layers/acb1e226-988d-469f-a81d-5f63e7cf012d/2bcd6097-0126-4c78-95b8-74cf466c4de5.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_button/layers/c7e6e482-9118-46e9-af5a-aaee1f9aa8e7/2bcd6097-0126-4c78-95b8-74cf466c4de5.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_textbox/24631523-3bf7-4305-b9b7-81445881d83e.png create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_textbox/Spr_YoYo_textbox.yy create mode 100644 source/Steamworks_gml/sprites/spr_yoyo_textbox/layers/24631523-3bf7-4305-b9b7-81445881d83e/5144ea37-721c-4e86-9b03-228323c0c2b3.png create mode 100644 source/Steamworks_vs/Steamworks.sln create mode 100644 source/Steamworks_vs/Steamworks/DesktopExtensionTools.cpp create mode 100644 source/Steamworks_vs/Steamworks/DesktopExtensionTools.h create mode 100644 source/Steamworks_vs/Steamworks/DesktopExtensionTools.mm create mode 100644 source/Steamworks_vs/Steamworks/Extension_Interface.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/IniOptionsLibrary.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/gml_ext.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/gml_glue_map.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_apps.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_common.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_controller.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_friends.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.h create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_init.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_init_new.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_inventory.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_lobby_chat.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_matchmaking.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_misc.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_networking.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_remotestorage.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_screenshots.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_ugc.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_unsorted.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_user.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_userstats.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_utils.cpp create mode 100644 source/Steamworks_vs/Steamworks/GMLSteam/steam_workshop.cpp create mode 100644 source/Steamworks_vs/Steamworks/IniOptionsLibrary.cpp create mode 100644 source/Steamworks_vs/Steamworks/IniOptionsLibrary.h create mode 100644 source/Steamworks_vs/Steamworks/IniOptionsLibrary.mm create mode 100644 source/Steamworks_vs/Steamworks/Ref.h create mode 100644 source/Steamworks_vs/Steamworks/Steamworks.vcxproj create mode 100644 source/Steamworks_vs/Steamworks/Steamworks.vcxproj.filters create mode 100644 source/Steamworks_vs/Steamworks/Steamworks.vcxproj.user create mode 100644 source/Steamworks_vs/Steamworks/YYRValue.h create mode 100644 source/Steamworks_vs/Steamworks/dllmain.cpp create mode 100644 source/Steamworks_vs/Steamworks/framework.h create mode 100644 source/Steamworks_vs/Steamworks/pch.cpp create mode 100644 source/Steamworks_vs/Steamworks/pch.h create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/project.pbxproj create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcuserdata/franciscodias.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcuserdata/yykaguvagames.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/xcshareddata/xcschemes/Steamworks.xcscheme create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/franciscodias.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamapplist.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamapps.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamappticket.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamclient.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamcontroller.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamfriends.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamgamecoordinator.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamgameserver.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamgameserverstats.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamhtmlsurface.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamhttp.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteaminventory.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteammasterserverupdater.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteammatchmaking.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteammusic.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteammusicremote.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamnetworking.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamparentalsettings.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamps3overlayrenderer.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamremotestorage.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamscreenshots.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamugc.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamuser.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamuserstats.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamutils.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/isteamvideo.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/matchmakingtypes.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steam_api.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steam_api.json create mode 100644 source/Steamworks_xcode/Steamworks/Include/steam_api_flat.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steam_api_internal.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steam_api_interop.cs create mode 100644 source/Steamworks_xcode/Steamworks/Include/steam_gameserver.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steamclientpublic.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steamencryptedappticket.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steamhttpenums.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steamps3params.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steamtypes.h create mode 100644 source/Steamworks_xcode/Steamworks/Include/steamuniverse.h create mode 100644 source/build_linux64.sh create mode 100644 source/json-c-0.9/3DS/JSON-configM.h create mode 100644 source/json-c-0.9/Android/JSON-configM.h create mode 100644 source/json-c-0.9/JSON-config.h create mode 100644 source/json-c-0.9/Linux/JSON-configM.h create mode 100644 source/json-c-0.9/Mac/JSON-configM.h create mode 100644 source/json-c-0.9/PS3/JSON-configM.h create mode 100644 source/json-c-0.9/PS4/JSON-configM.h create mode 100644 source/json-c-0.9/PS5/JSON-configM.h create mode 100644 source/json-c-0.9/PSP/JSON-configM.h create mode 100644 source/json-c-0.9/PSVita/JSON-configM.h create mode 100644 source/json-c-0.9/Switch/JSON-configM.h create mode 100644 source/json-c-0.9/Tizen/JSON-configM.h create mode 100644 source/json-c-0.9/WiiU/JSON-configM.h create mode 100644 source/json-c-0.9/Win32/JSON-configM.h create mode 100644 source/json-c-0.9/WinMetro/JSON-configM.h create mode 100644 source/json-c-0.9/WinPhone/JSON-configM.h create mode 100644 source/json-c-0.9/XboxOne/JSON-configM.h create mode 100644 source/json-c-0.9/arraylist.c create mode 100644 source/json-c-0.9/arraylist.h create mode 100644 source/json-c-0.9/bits.h create mode 100644 source/json-c-0.9/debug.c create mode 100644 source/json-c-0.9/debug.h create mode 100644 source/json-c-0.9/iPad/JSON-configM.h create mode 100644 source/json-c-0.9/json-c.h create mode 100644 source/json-c-0.9/json_object.c create mode 100644 source/json-c-0.9/json_object.h create mode 100644 source/json-c-0.9/json_object_private.h create mode 100644 source/json-c-0.9/json_tokener.c create mode 100644 source/json-c-0.9/json_tokener.h create mode 100644 source/json-c-0.9/json_util.c create mode 100644 source/json-c-0.9/json_util.h create mode 100644 source/json-c-0.9/linkhash.c create mode 100644 source/json-c-0.9/linkhash.h create mode 100644 source/json-c-0.9/printbuf.c create mode 100644 source/json-c-0.9/printbuf.h diff --git a/.gitignore b/.gitignore index 259148f..337dcf6 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,6 @@ *.exe *.out *.app + +# Options +source/Steamworks_gml/options/extensions/* \ No newline at end of file diff --git a/source/.gitattributes b/source/.gitattributes new file mode 100644 index 0000000..fcc93dd --- /dev/null +++ b/source/.gitattributes @@ -0,0 +1 @@ +*.yy linguist-language=Game Maker Language diff --git a/source/.gitignore b/source/.gitignore new file mode 100644 index 0000000..ebdbf9b --- /dev/null +++ b/source/.gitignore @@ -0,0 +1,22 @@ +.vs/ +*/#backups/* +*/Configs/*/* + +*/extensions/*/*.cpp + +*/Debug/ +*/Release/ +Debug/ +Release/ +export/*.gmz +export/*.gmez +export/*.yyz +export/*.yymp +export/*.yymps +export/*.png +export/*.zip + +*.sdf +help.rtf + +steamworks_sdk/* \ No newline at end of file diff --git a/source/Steamworks_gml/Steamworks.yyp b/source/Steamworks_gml/Steamworks.yyp new file mode 100644 index 0000000..18c7542 --- /dev/null +++ b/source/Steamworks_gml/Steamworks.yyp @@ -0,0 +1,140 @@ +{ + "resourceType": "GMProject", + "resourceVersion": "1.6", + "name": "Steamworks", + "resources": [ + {"id":{"name":"Obj_Steam_ProfileImage","path":"objects/Obj_Steam_ProfileImage/Obj_Steam_ProfileImage.yy",},"order":5,}, + {"id":{"name":"Obj_Steam_Overlay_Players","path":"objects/Obj_Steam_Overlay_Players/Obj_Steam_Overlay_Players.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_OverlayInfo","path":"objects/Obj_Steam_OverlayInfo/Obj_Steam_OverlayInfo.yy",},"order":0,}, + {"id":{"name":"Room_Steam_Storage","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",},"order":5,}, + {"id":{"name":"Obj_Steam_UGC_Query_All","path":"objects/Obj_Steam_UGC_Query_All/Obj_Steam_UGC_Query_All.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_StatsInfo","path":"objects/Obj_Steam_StatsInfo/Obj_Steam_StatsInfo.yy",},"order":0,}, + {"id":{"name":"Obj_Steam_Networking_List_Slot","path":"objects/Obj_Steam_Networking_List_Slot/Obj_Steam_Networking_List_Slot.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_Screenshot","path":"objects/Obj_Steam_Screenshot/Obj_Steam_Screenshot.yy",},"order":1,}, + {"id":{"name":"Font_YoYo_20","path":"fonts/Font_YoYo_20/Font_YoYo_20.yy",},"order":0,}, + {"id":{"name":"Obj_Steam_Achievement_Clear","path":"objects/Obj_Steam_Achievement_Clear/Obj_Steam_Achievement_Clear.yy",},"order":5,}, + {"id":{"name":"Obj_YoYo_button","path":"objects/Obj_YoYo_button/Obj_YoYo_button.yy",},"order":0,}, + {"id":{"name":"Obj_Steam_Networking_Lobby_Chat","path":"objects/Obj_Steam_Networking_Lobby_Chat/Obj_Steam_Networking_Lobby_Chat.yy",},"order":6,}, + {"id":{"name":"Obj_Steam_Networking_Circle","path":"objects/Obj_Steam_Networking_Circle/Obj_Steam_Networking_Circle.yy",},"order":11,}, + {"id":{"name":"Font_YoYo_50","path":"fonts/Font_YoYo_50/Font_YoYo_50.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_Overlay_Friends","path":"objects/Obj_Steam_Overlay_Friends/Obj_Steam_Overlay_Friends.yy",},"order":1,}, + {"id":{"name":"Obj_Steam_Networking_Join_Specific","path":"objects/Obj_Steam_Networking_Join_Specific/Obj_Steam_Networking_Join_Specific.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_Networking_Overlay","path":"objects/Obj_Steam_Networking_Overlay/Obj_Steam_Networking_Overlay.yy",},"order":1,}, + {"id":{"name":"Obj_Steam_UGC_Query_User","path":"objects/Obj_Steam_UGC_Query_User/Obj_Steam_UGC_Query_User.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_File_Read","path":"objects/Obj_Steam_File_Read/Obj_Steam_File_Read.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_Networking_Lobby_setOwner","path":"objects/Obj_Steam_Networking_Lobby_setOwner/Obj_Steam_Networking_Lobby_setOwner.yy",},"order":7,}, + {"id":{"name":"Spr_YoYo_button","path":"sprites/Spr_YoYo_button/Spr_YoYo_button.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_Overlay_Store","path":"objects/Obj_Steam_Overlay_Store/Obj_Steam_Overlay_Store.yy",},"order":9,}, + {"id":{"name":"Obj_Steam_Overlay_GameGroup","path":"objects/Obj_Steam_Overlay_GameGroup/Obj_Steam_Overlay_GameGroup.yy",},"order":5,}, + {"id":{"name":"Obj_Steam_Leaderboard_Download_Friends","path":"objects/Obj_Steam_Leaderboard_Download_Friends/Obj_Steam_Leaderboard_Download_Friends.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_Leaderboard_Download_AroundUser","path":"objects/Obj_Steam_Leaderboard_Download_AroundUser/Obj_Steam_Leaderboard_Download_AroundUser.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_Stat_FeetsTraveled","path":"objects/Obj_Steam_Stat_FeetsTraveled/Obj_Steam_Stat_FeetsTraveled.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_Overlay_Community","path":"objects/Obj_Steam_Overlay_Community/Obj_Steam_Overlay_Community.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_Achievement_ResetAll","path":"objects/Obj_Steam_Achievement_ResetAll/Obj_Steam_Achievement_ResetAll.yy",},"order":6,}, + {"id":{"name":"Room_Steam_Init","path":"rooms/Room_Steam_Init/Room_Steam_Init.yy",},"order":10,}, + {"id":{"name":"Obj_Steam_Leaderboard_Entry","path":"objects/Obj_Steam_Leaderboard_Entry/Obj_Steam_Leaderboard_Entry.yy",},"order":5,}, + {"id":{"name":"Obj_Steam_Overlay_Setting","path":"objects/Obj_Steam_Overlay_Setting/Obj_Steam_Overlay_Setting.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_UGC_Subscribed","path":"objects/Obj_Steam_UGC_Subscribed/Obj_Steam_UGC_Subscribed.yy",},"order":5,}, + {"id":{"name":"Obj_Steam_StorageInfo","path":"objects/Obj_Steam_StorageInfo/Obj_Steam_StorageInfo.yy",},"order":0,}, + {"id":{"name":"Room_Steam_UGC","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",},"order":7,}, + {"id":{"name":"Obj_Steam_UGC_Item","path":"objects/Obj_Steam_UGC_Item/Obj_Steam_UGC_Item.yy",},"order":1,}, + {"id":{"name":"Room_Steam_Social","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_Achievement_Set","path":"objects/Obj_Steam_Achievement_Set/Obj_Steam_Achievement_Set.yy",},"order":7,}, + {"id":{"name":"Obj_Steam_Overlay_Achievements","path":"objects/Obj_Steam_Overlay_Achievements/Obj_Steam_Overlay_Achievements.yy",},"order":6,}, + {"id":{"name":"Obj_Steam_Leaderboard_Download_General","path":"objects/Obj_Steam_Leaderboard_Download_General/Obj_Steam_Leaderboard_Download_General.yy",},"order":2,}, + {"id":{"name":"Room_Steam_Social_Leaderboard","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_Networking","path":"objects/Obj_Steam_Networking/Obj_Steam_Networking.yy",},"order":0,}, + {"id":{"name":"Obj_Steam_File_WriteFromFile","path":"objects/Obj_Steam_File_WriteFromFile/Obj_Steam_File_WriteFromFile.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_Leaderboard_Upload","path":"objects/Obj_Steam_Leaderboard_Upload/Obj_Steam_Leaderboard_Upload.yy",},"order":0,}, + {"id":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_Stat_Win","path":"objects/Obj_Steam_Stat_Win/Obj_Steam_Stat_Win.yy",},"order":1,}, + {"id":{"name":"Font_YoYo_30","path":"fonts/Font_YoYo_30/Font_YoYo_30.yy",},"order":1,}, + {"id":{"name":"Obj_YoYo_textbox","path":"objects/Obj_YoYo_textbox/Obj_YoYo_textbox.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_UGC_Create","path":"objects/Obj_Steam_UGC_Create/Obj_Steam_UGC_Create.yy",},"order":2,}, + {"id":{"name":"Room_Steam_Networking_Lobby","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",},"order":9,}, + {"id":{"name":"Obj_Steam_Stat_AverageSpeed","path":"objects/Obj_Steam_Stat_AverageSpeed/Obj_Steam_Stat_AverageSpeed.yy",},"order":4,}, + {"id":{"name":"Obj_Steam_GeneralInfo","path":"objects/Obj_Steam_GeneralInfo/Obj_Steam_GeneralInfo.yy",},"order":0,}, + {"id":{"name":"Room_Steam_Networking_Matchmaking","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",},"order":10,}, + {"id":{"name":"Obj_Steam_Overlay_User","path":"objects/Obj_Steam_Overlay_User/Obj_Steam_Overlay_User.yy",},"order":8,}, + {"id":{"name":"Obj_Steam","path":"objects/Obj_Steam/Obj_Steam.yy",},"order":9,}, + {"id":{"name":"Obj_Steam_File_Delete","path":"objects/Obj_Steam_File_Delete/Obj_Steam_File_Delete.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_Overlay_Browser","path":"objects/Obj_Steam_Overlay_Browser/Obj_Steam_Overlay_Browser.yy",},"order":7,}, + {"id":{"name":"Obj_Steam_Networking_List","path":"objects/Obj_Steam_Networking_List/Obj_Steam_Networking_List.yy",},"order":3,}, + {"id":{"name":"Obj_Steam_Stat_Lose","path":"objects/Obj_Steam_Stat_Lose/Obj_Steam_Stat_Lose.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_File_Write","path":"objects/Obj_Steam_File_Write/Obj_Steam_File_Write.yy",},"order":1,}, + {"id":{"name":"Obj_Steam_Leaderboard_UploadWithBuff","path":"objects/Obj_Steam_Leaderboard_UploadWithBuff/Obj_Steam_Leaderboard_UploadWithBuff.yy",},"order":1,}, + {"id":{"name":"Obj_Steam_Networking_Lobby","path":"objects/Obj_Steam_Networking_Lobby/Obj_Steam_Networking_Lobby.yy",},"order":5,}, + {"id":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"order":0,}, + {"id":{"name":"Obj_Steam_UGC","path":"objects/Obj_Steam_UGC/Obj_Steam_UGC.yy",},"order":0,}, + {"id":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"order":1,}, + {"id":{"name":"Spr_YoYo_textbox","path":"sprites/Spr_YoYo_textbox/Spr_YoYo_textbox.yy",},"order":3,}, + {"id":{"name":"Room_Steam_Overlay","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",},"order":10,}, + {"id":{"name":"Room_Steam_Main","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",},"order":2,}, + {"id":{"name":"Obj_Steam_Networking_Lobby_Color","path":"objects/Obj_Steam_Networking_Lobby_Color/Obj_Steam_Networking_Lobby_Color.yy",},"order":8,}, + {"id":{"name":"Obj_Steam_Leaderboard_Download","path":"objects/Obj_Steam_Leaderboard_Download/Obj_Steam_Leaderboard_Download.yy",},"order":6,}, + {"id":{"name":"Obj_Steam_UGC_Item_Actions","path":"objects/Obj_Steam_UGC_Item_Actions/Obj_Steam_UGC_Item_Actions.yy",},"order":8,}, + {"id":{"name":"Steamworks","path":"extensions/Steamworks/Steamworks.yy",},"order":6,}, + ], + "Options": [ + {"name":"iOS","path":"options/ios/options_ios.yy",}, + {"name":"tvOS","path":"options/tvos/options_tvos.yy",}, + {"name":"HTML5","path":"options/html5/options_html5.yy",}, + {"name":"Linux","path":"options/linux/options_linux.yy",}, + {"name":"Windows","path":"options/windows/options_windows.yy",}, + {"name":"macOS","path":"options/mac/options_mac.yy",}, + {"name":"Android","path":"options/android/options_android.yy",}, + {"name":"Main","path":"options/main/options_main.yy",}, + {"name":"Amazon Fire","path":"options/amazonfire/options_amazonfire.yy",}, + {"name":"PlayStation 4","path":"options/ps4/options_ps4.yy",}, + {"name":"Switch","path":"options/switch/options_switch.yy",}, + {"name":"operagx","path":"options/operagx/options_operagx.yy",}, + {"name":"PlayStation 5","path":"options/ps5/options_ps5.yy",}, + {"name":"Xbox Series XS","path":"options/xboxseriesxs/options_xboxseriesxs.yy",}, + ], + "defaultScriptType": 1, + "isEcma": false, + "configs": { + "name": "Default", + "children": [], + }, + "RoomOrderNodes": [ + {"roomId":{"name":"Room_Steam_Init","path":"rooms/Room_Steam_Init/Room_Steam_Init.yy",},}, + {"roomId":{"name":"Room_Steam_Main","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",},}, + {"roomId":{"name":"Room_Steam_Overlay","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",},}, + {"roomId":{"name":"Room_Steam_Storage","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",},}, + {"roomId":{"name":"Room_Steam_UGC","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",},}, + {"roomId":{"name":"Room_Steam_Social","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",},}, + {"roomId":{"name":"Room_Steam_Social_Leaderboard","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",},}, + {"roomId":{"name":"Room_Steam_Networking_Matchmaking","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",},}, + {"roomId":{"name":"Room_Steam_Networking_Lobby","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",},}, + ], + "Folders": [ + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"YoYo Extensions Assets","folderPath":"folders/YoYo Extensions Assets.yy","order":2,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Font","folderPath":"folders/YoYo Extensions Assets/Font.yy","order":1,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Objects","folderPath":"folders/YoYo Extensions Assets/Objects.yy","order":2,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Sprites","folderPath":"folders/YoYo Extensions Assets/Sprites.yy","order":3,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Steamworks","folderPath":"folders/Steamworks.yy","order":0,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Overlay","folderPath":"folders/Steamworks Demo/Overlay.yy","order":1,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Storage","folderPath":"folders/Steamworks Demo/Storage.yy","order":3,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"UGC","folderPath":"folders/Steamworks Demo/UGC.yy","order":4,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Social","folderPath":"folders/Steamworks Demo/Social.yy","order":2,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Main","folderPath":"folders/Steamworks Demo/Main.yy","order":0,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Stats","folderPath":"folders/Steamworks Demo/Social/Stats.yy","order":0,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Achievements","folderPath":"folders/Steamworks Demo/Social/Achievements.yy","order":1,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Leaderboard","folderPath":"folders/Steamworks Demo/Social/Leaderboard.yy","order":2,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Steamworks Demo","folderPath":"folders/Steamworks Demo.yy","order":3,}, + {"resourceType":"GMFolder","resourceVersion":"1.0","name":"Networking","folderPath":"folders/Steamworks Demo/Networking.yy","order":5,}, + ], + "AudioGroups": [ + {"resourceType":"GMAudioGroup","resourceVersion":"1.3","name":"audiogroup_default","targets":-1,}, + ], + "TextureGroups": [ + {"resourceType":"GMTextureGroup","resourceVersion":"1.3","name":"Default","isScaled":true,"compressFormat":"bz2","autocrop":true,"border":2,"mipsToGenerate":0,"groupParent":null,"targets":-1,}, + ], + "IncludedFiles": [ + {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"Steamworks_Extension_Documentation.pdf","CopyToMask":0,"filePath":"datafiles",}, + ], + "MetaData": { + "IDEVersion": "2022.8.0.34", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/datafiles/Steamworks_Extension_Documentation.pdf b/source/Steamworks_gml/datafiles/Steamworks_Extension_Documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..de290264f88612107189e2facb46d61e3e71aab3 GIT binary patch literal 3588109 zcmeFZbyQu=k~q2#a6&l2f(MTf+}$;}ySux)oCF922@U~*1b3GJL4r$g4esvlyhFY_ zv*xWkb4S+v-g{W}BGyM~VVV^eVd;4dv z(ocK+rX%YQe(FoVQY*dCKQm`C7Ovei9y_L;rWA%A6{-RM_6H@_2Y}Oz=5KF1`M&@_ zGIEcV0###?axM=G)=)#Wcv`OLVMtueiRd14EHRtTS00sVmRL)4EHC;jeh6AEQut=bZj+f^!z;5 za@ntKm+Bf&fyIZ=jv4+6*AsiEiiUgB8kVoJ6gwd_NI7Q4Ym8K`ZVai!bc2(%5qA5@ z;FAS@MqtrTC*9M-t*N$&hc%ug_)=5DqqF814_hveo|~(>!o%5#m8`iX3jlP)iDpyw zSl0W5^S>;deJ#Qx&cxUsj2N77quQ9{27Xx>fGPw zE*gg-VK&4t(8%vs%f%Y~nR=#It_jJM0TSI$q?l3h-NC!r*t`5C2&jMl{rhyWOhlHE zZ?1~>v7sG9qKR4=J$reXhi8IUIS2%J8ZI>aE|kGV%;XDN%XiZ+&J1ZI8T>qG_m%Io zaS;jtyo?jJu2$nq##2Ty0Rt+GkmxxABEm!+?xxV@MRx#5(P*64$j7?=AX_-)pyA>D zfQ^rrT0nAm{R}unSUF#tSayHAUMVG%`}&81dE-NGoT{sBg04La0KHc)k()FP>50_Z zcP_IlrrNi+bhbV5PP6j^0jVtRwauD631vO>;C={dg>#OKh6g z#FGfrRvq_hR4A(#>WR84CQ!u&S_Xd~pjoY1|FU9ER_0?3VUuIg(&hcJp%wxH28X`S zetofzmbb7YW7^Pc=kB?Zadqqu0-Py)Ya3YD@LV;N3k=a|2J{`B4K{?Ep2fh5HqWzk zdqjCFrhL^IgH_$$D0w)fev*!qO*qbXZyq0X0QK)P7`&D~nLa(BL?I-}%g0Y3-d8=ratSQkz=ug$At zKYuUUQ(=@SHo6*sbU|5_K;bE+hO;uv= zx!gZY?puNf97^{WhHnYYS}7HVaDSy7|IF`ZL<2zSigoM;kjc1|$)YJI<(i!T%3Ju6 zLbQG2k|$ZC$bUB-UJd~DRlW_Z+_xes_+|_Bj5vTm0^7XZpaM1kWy^yA0^G`AAf2cH z4j4jJ0RiSg1prVbtO5Yj->3j!Paa0*`u|e0+bXJDy@o#{ny{-)Es(79J+31#g6Y>{ zZ+&l9KDQu%IeR=)ZVnHoB&q(w{={zqo+{ekPA_|Z^8Y0X%MB}~tM6)!R6oZyM+Smy z!@$5$Hhb4ukM^(Eh05<7pF9b1N>2Ezf>1B&Z0E6JP3)l3QigGk?M`)=lSuO5=1+n& z6bWgmgqbF@$0w>!@Bb;Fnk*Fd0p-5SrpnlbkcW<*{Z;pH;F0t%vjpiqmFGpD1zxf9 zE&NfDavm~Dz--0uvGY%Yk=Ch)0^eBF{M@`SCashvb4zn?)4IB9H+M%@Ul1VBa8enQdAD~qUgyXd^R(V3dPp};P1Hog z0c_Z#UCzSW{6o{O1O%k#z??kIfO03q|5Id_?em#Is$!FORa4sc;;-Teh+ojFye$NP zyu_kda#6jF(YxXFE(6wQqSXa>S{e?X@KNr5OesC<$1swfwTi7Vfmisab-P3vBfTM{ zk`;4XM_{2Sa~9azCLlwD6CU92TiRz(`2`#!*hp1u(_vjcO(>f%vvLFnqz|k(G<-#E zu#OV>nblNq>yGp`IK#MH-Q@QZK!Ci$x?1ziiIEc5yEO+L#w1OX=kJ&SfQa%NdTbWY zcr1yIMci5x5&)?1a}7&&#>iZieg}Y|;S)!=f4jT`Ls5PpaHWV8#KhM4Z}9^x^%%-9 z|AUZ5QB3H6C8AN1F>taXeGHxy=_PDoage>;V;n^4?C4_hFX0X&Co|iB7Vb#d5wK%H zhiMFXIpo4=NH=>Q9@OF&i;-9@!q`&8TEAAJzv+5z7CjdvHIOU!e;faQj(AThhdokN znRvQ6`%SAfEqvR&X`)ti0K+oV-)-qsr8gY}8Q^stZAw=+c`HTzu-x@by}^IvF`qo) znObwqH=(hd8eXylU(wZ<^s&bs&^>9nUUqHhKe2vz4I>jcc?Ih4IKfjND-$;m6DuN# zE#-OJblfO%8L|o^K31dE?~5ULtgyLh?Z6VD&kyU0+Aj=WRZ0Ec-FfI5?N~?ThAVBb z{K|nwi|B-R{@~(LEco`!<~RuiW4b)^A!y&mQ@{JN5VrEg4@1eISspQzH)3#)df{Dc z$@RK#^CY{$BW3!#>W8tPWx@K-+m}}ukQp&>h-k8%otLl0n|@54;O$X&PHi`?PQreh zIuTv3n+N&Bn%!sp{+JX&{lbCWJL3#43{^cV^ib4^i@PiDd(NPr$JOJ*rJg@s3ii&< zSohg|J+5+~kBto#*gcy{$k;~-gTrB^d6*vLL{@d<>)ce+K2%(9GCbXh$iQKM(E+|@ z)lgo3@^YLqE@T{Xef(b#uJdml^!BaEeId_0-D*m=5&X_71TA>f^7K zqhR(k#?W#iCe+S_E5qfUh&G0?{)n@o`;<}y7(euUHWdG-qGax<#b9G(LLZrG5n53g zj9@9^PxTM)Km;GZ9o)o@qRDaeh)0|Q;Yr9D%e{4w%OBm(joo50gfcGR zFQt{`mv*+W`A``1z%j`Jebn~~)>Sx<^#ydTC|tbhbe?b}czMF!bwaWOe1UrcD`-KD zfAzUNB0Q3S7RzjLL*-cW!Z0)Nk!A6B1&tHq=M@-7TCKpmZS8n7$zwhrI;O_+pKPA5 zR@LO*|5DZaV_r?<18r$J77dv#%jjk9kStnQBnbe!yT!qyE!Rzc9v&J#pEO&JF&L3* zt}z~q4teeD?8=!Pl5$FRYAE!txNlz3A88gfJ?aARUQ`WR`7R7{LdAPTZ<0eC2$duW zu**tzuA6Ef{>WUo{kL`-Lsl%G-~Es43w~UN=g2Tp=-r-D3lsQHQkX*jk-JI;^k`h^ zHjqD+*(kL<=9(w}8NR^GUj{P$H=}3!i?xPQ|B>jQtmZR(;GzSszX^0#zUA7GO7+3_ zQ8<_C0r`(=p{J)W^z*|iGr;>xl&A{N)F)lEu*ycaSg>3LAI-x)xb90%{=rQ+M17T& zS^trn(2&wl+A0*zl`l<6viv!d*4@qHgjh5hZP+>U+tl8}$vu>kSev2+Pi3l|>626!1h9ah@HU;Z>NHr|UhOzF!6^FyvW z?4MW8Jm>PDCRcs*34IL6NAlfM&lBl0QK55>EiOLf$LNo;bi};qa`?Kz*&JbXSlg%f zGCNl7(`_8?UOioDD*xw4!m?C%QX@hilIOdQby=}B+z7iGUu#KD^fk0c9*cp(knK2~ z(n)i@t03;xQcL$VkkmoRV?kLoh3p`+zE@3YX*-=b0c__5b0|`)IUcEKMY@j!|Bc_x zC1w&*G0)#e5-k6dNP>mozj!pl{I7um$3G4eVj}Utv2g1ij0n#GGfyhszwapP|Dlfl zb*>|C;ArFY*8!1>jjaWmZTW7OxBf&N3gRFh5$o@j;~pn@AnXerZk|!}&Rj|a*&}1+7XHq4nj7!Piy`;h zd&U3+Fz4m`-Z=SvoOpWS>djE^Cke~!a==fea+}}}Y4Erf(}IFX(>Z$S`pmwFA$!)Ve|{bF1W92qrmV9Zo$ z$>s~XFR~7b{Na#Wkj6_V&zr6cX+9(10Uvt#lKH39ADh@a)V%AN#0BF4LSCMCD+V7Q zQ`}SP+iW;6LO8Un;rafx`HmN`+RG#zZf4^2li$Hc`GY}x<$N#h_E#1FFCgDxTvuI( zqn{}Wqw-_t=oXEGLk1q=24$+6^d9s!^kLbV1U!GnTJtlvupd$FBiUmY3-VNw__h1# z`kT(E6P5{3cAf!ZlFPP6jJ=3ks#1@#quBOgiW!uP_wykBPr z6Rc?tf5{OW8f390=R$0gI#|Y(!lkAU-pcBMf8IsX3s@uWDZb})(r!&$34_WjH1w=! zdS`G7TT8TkPXW7E^MfM`#0ey%u3% zfxdYS0zldV*uUbz)Cbn+Yj^*C;<5dMiT58LpECUyJp>cSzxoI!X7+z~cKz$o>CJQMhr64Li@`MhX1|B~vmJ8u+smW7o5|8NexKXR`?(odXx8X{w7TTa4NLL3txrYy zd%4;EuJRo}COa{eOXK-g*qHq-r=p61otc)B@9nEMLxX*DzlR5UTgSxp#H55(Gz4Wu z6@{eL#i0=iL7_4J;c zn9ng5H`bm!LE$D~F#lp7fD8{PZKh}cy&Bm6fg1k9E#H4f3xDnR9<{CbFJ6q9`5!C9 zC>6JjCq#6ZA_?~-4PU>-hY^O53M%)=19%moK7T(5#(y-5|Jax~8UKsc#K_6^FMVfW z`uBbHzgpAYG_RD90bZvAYgDf?hL*qltDt!b$zP=2-(F@sbqM>|B>Ws<8U4M;cPs>2 zR3w>?*xRJyL+YVeu|g=UBB7U>>*Yh$n6;x$n3D&X+I|C-DO%tDWkJ4_Q+^WKzh%&2 z!n~tm^TxcmNq_@K&fbyuycF3r2J;lvk13&40!6mzI3hu7ly|IjajGxY1I!}PF_V%{ zr}&|Fd(b<0{-&X~|D%S41;b@D*|5=P-{uEUqrV+U+Elqfa!x~Iw>c0nt# zPt1zmdglLV{gg7Y__@+YGFwEjgm|b09^YL69?g6agu;{l{y)kT zu(sD3dq*Fq7WPXXe>W;)Gy8Zx;w=S=aKm6mLT@y24I%|f=eV=VsVZl7fSQ4yrxdBmbBZkoB!_! zH}9vvymxLK%h)Gyp!Lwua79ZVJN@uBE++y}XSXL8OyZ$eL9s2L zGPu!6i%qs}_p+R`+}>e+?%={{ydwJ*s&>T7{h1j7FQ)>UJb`Ue{Pq zHnHm5JiJYd@6I5rF#klO`6~2(KUrmG;n94t>J#UanACjZ>=98C&o$bV9nsq~mZ(1D zc;Q$$U4^xxwyYedB&X~0v7@v=M#`W_DWhsE+#>b$?~069BjJMas13!*>o23j5qD^4 zJMh{kc?`sqlTU1xdKEk8q*mf_CU;!$o)C=T&>{tzRwmxliN5-L5{bq3GBwqZV{01h z<3aNL?58M=)VW^usVz*{eSz=ep5@U)0vV54IniU)sUfAWs;gV-BgcaaWe(XdXfqt7AB#pxezBgqsP zspj$NMOZTMbmSwA+bOWy0;CVi;L6|_ zUbaD6AT0sN)BrVr$y5Zu3cCOQTVOrc736Al;~e^o8fbeI%Kzy{EW@~3(aV+6I|sa` zno{JpfEHD&Ypuqg)AtC-Z7f8pz(=GP|KEQkMk_%J=Fm8|J~*rlaIfWkyK|k&&|xM? zkw6@u*>k!4QZ9zJ-KY^-?L)=SwR6h3WQS=sHYT0syz(v=c_vpWDu|vIyy-AKhP}On zE7M>vZ{^l?&njcAcH%xRgJ)SWDQ0u0U1X(KT2i=`N$e>qX4o8VT0m6Gs(FTE!#p?X z1CO`1u@ApMjf|G_)hH;FIFEJ~aA6+YmEFSLiFioN;d8zj-#DoLJQE3y>pC% zA7l9^qPs+$)6qOaH=U6C-Cq$dVSL!4ySUfqY52G`?Q<0a;+#HkHr?+S65ce^<$}mF z?mpY4!FlkZuJYQVY>9QB)ND@6%7UYDlz3A%f1$}=31_T}8@|EO)qo`G@zcT`TBfDD z#nsH{)IWKCqHszrq6i(QY0P1E5hnq2ybw*(U8+8$+(QHJjJWZ9bS%+WyX!_B>?Ip>2I zBpaP3uGI|GR?1+1uitGCknvM0V3Q{6usSGBM-oGZaPP}bQkcU+M%9+h)G~QQcdIPV z{6vj&OMTz;#D9Y$to&;Kc7fP}Bz+Z2KX&>;Fsza~Gz!|L0dsT6J$GQm_viQcJGu&q~<>|Pa*?4!_ zPC!rWw-M_%7+NTFcU8_$MbTnLU0Zr2 zj)WGj?QT&=DR8#48k0EL#Uz?f*|P4rk$GF9p$Ou$=Xb05lCWuVBil%>Dd&v*S#ZXF zYrD?o6)`d(Tb$wx?kBfY{GW~3j|mMCab!s3T-&f&jvX!DcYt!yGbX(8OS6zpq*4zt(EPtuN}+4(Xm7M#!EC8-IA= zD7Bv^rnku@@U@CsfPZk5@tFWjsU|)1Q&^mzBtWT-r-=reMmk#loJz#jDGga*N}xd?2D&; z;f!sVfj!9+=O>HC+t)_^))XX$+J&EqA(0j+4Y3*twM-Hqy7%S84#Y06)lck8ER?lf zL!D^YDb=9-S1DmKfTT3YmDz=VVWa*9_M&c8Ut12HDwso*r8yMkdnH4n@0ZI3`(MYt z29Axz9!gt?VS^k@DXY_SPiKFLftZLEkJ{G8#1)`-OS|)KUbNaY$oyw#@HVfuRH2eF z)Q7ofX>PNnh{#i3muYsX*Wn|E*iZ~5D1r1G|9PFgC|G?QyfthR_c*G0!5h!+;9R88 zO0JNHxxkb?I0M5o(;$t2(R|WT?08HZu9^dHEK92nW;^P;GSBi!(^4!irM zc1;!W@)xAc@wHV@_%GQ_SFpQ4m7W2ApyW}enpRYurn;?BEsr9ex4G5Fy7qz;>pifh z?;B~eB~@JrsSdVoTlg&G@Ts<(q`)Gc!PeI!tWafYfoeYH#vb#D?c=X0wLq3CXrEPY zE0B1n$rLPL+tQrGJ%zo9FnphJho#TBGEA{=7dwa1#9#Y6>EU$}N#zAS1Ka?91m>9% zR1dPF;%=R-1d{Rx zvRNQp8#09E+dB(-&)LrBrz5p|Rm_;L3hV`KA$k>=UhuOTT*gwhENMJ*8-g_=aPAy> zr-9@3W@25-Kz|TJ@%6Nm#K!WLD@37Zp_tFrjL{Xpf@;{ z6xT_*!+kn5DLlvk;PBxaXdKrQOl&`fViEPzzn1*eAQNc6BhVl}eTv|UF%h98S6XCII3K=%<8|vy)xvMH&}m)s znWk11%rNkJ_g*m=t_r}#omss%8HNnB46fhTwO6Dq;5++r_i-%Jl(qU2Q(YiAv4r(1 zfm#xA7eYF)(%HW=e}{)7D{H@&+un*})#S>p>mcTjgOqs~O$?NeDeOY@AsB1{V5zbq z?!l*_F~7q1+PmD*bOmbQ`y4&}hRx&LF5jGg0fnCga@HHJ<^z$CZ#_G}_~OJi>eDcw z$1B28cVcz)7ia<7>sFbnC2_mOj-u35UaXuNY9RNVu@egz3E|VXC8WYH4a7xvJ~gXc ztIHU^hB_53EUcp&+`lnh&Ii!x-+yN|W&oRmw2(BebyecZ=&$>AqpOB&yXf9McK0xc z$#%uHH#R*gi5%fdQBDp|u9ma(cm^xNaRzD zdE#=I+%R|&>hTB`dRSRYsP%Z0ysBHjI4PMTmW!S}ykpT?N0V5*{^n%P56)Ak`Q`Ts zUjx<(IVG%i0St%I9QiM~^PfXQe;h=Lg1;*hU0mk11Q??_;7NmsN32OitcQ0Sm;*mC zq9PJ6>W1j1zR|_^!8h3Q`ZT_T*rdHaYxjiIttS z{?5m_i?^0CXt9zGNk>4^YW+Z#2iKkAt)$&7?pU6|;DRH;hc6@N5NXzu$_+{l8P*hrX^^SByFiFG);6g1x?;REsdul~QG)Blgq)I%En={_YWXnA&7lkM$C}WR0 z6Ox{_)E-gvvX47o6>PR4z&TB2ST>Em_jE=(?QIeJ%cS{NCGp_KHQ(MNwnbv|-8)PWh zS_5-nB|tjy#}~)q!wfZtPl}N5c`cBl{8-P8e!cxFMmQwzMTNx=j`X0?@o15Ol&u+h zpzt5x_e5uFscQZx7FxF4DX!a&F+2Fai6%U;`7J#da=6NY<%L|_%e$RtFO`z>Lrtna z%^n;)-ok;&-rnpH`KvpU%s9h5_~7spRjVBt?Muri8gtOEcO{TOFln!YQ+um02sOxL zDzGFN%O6e|JEZBW0B5X_vzhG62|7AGwoya>Xm9Sl=sRnqb!{vK5FvVPWi?E6hf0mv zTod}e;`MOm3h`H@2D~)tl}<2|VH{*NMtc6tuli_XA-UbYXW1YUc$#?dAxK%S;r){$ zYG*;3O$dX~M++_~5&|rJ!=+afHROa+-|oaJtmb&X*&)qF-Lk!K-&lUz4_3?tG!4h{ z+JovTuhAZxBFt?3>>K}ibe^Q7(e+o89;WCgmV4fgnGlj$!R6xi9Ac4^5}}HlR)3CY z6M6U=rG}R{%HS!1_4C)O+2T|!NJoX6X(x7}9#;bgy4Owz`z9i8G_r3+SCrsy5#>_g zc=FFfaQw#;uQ7yZX9D1yQ;VBY5s5iG)epyXHTi?!Zgud;GEDC&=2d^VbA|A)BFtg5 zB9?iIM;g^WTVjSk{NzcB!vdbtw^qJ5rFB#G6arlf2`ugwwm)p&`lZ*mn;AWOODG@a zQaaKe{d1%xOUAoPHW|*jNQrCw-Hyw&5zxW?_8Z`-AkeMm6nVZ+4|7rHy%_sE5uvr? zEJTL&k$E2W*<~Vkm#Jc9gawrom5B;^X zO^02`NG28CD8*2j0@}5L-m(M(%viO0MirRJW5}aSfG)Dz3G7GQJ@Zn!OxpZ>XzrNl6@F( ztr=?1a0~{fGeKimEg^|LagAx;`702Pk8w;;<^A~2mV_0cy6ET}Vs!IAF@H|-9sP9R z3j6UOwes7CeP2v^IFX5KAnU%rg4zdzI!hWf<}4s-yTwmU8~&yFnZ7(wR~o+|@gg>c zJRyBr4Md8k){g=ANpN9Uh8{g<`xS4NzgVRm^tOTD0ih_-I#eAUd$I4?7G}hEIA>^U z+JYz=U84bqk^Y;g0Wn?XmBQ5*_k)WOIwi=7DYv(#^XGW1I*_vJ>1?{D#mew$wh1or z00|JP@`5E{Rv>u8P~8Vxz*jKNlH{&K>(gp|LuhTBMA9$R4+CZfHfc>5m!8J~EKeba zb4q5nVX7Gj!IT1EV{J_pdwB3So$?$;n{lttO{UY{XA%yI0ugZjMmZf#{Wfr34hhxtD={;Vm$}j6!PJegQZ;R0z zz_>*7X?LcCCJ~6toHYyBwAVC%-+~3AKWw0f>dr%eo1vm$kW+FnEf>Hm7SFR+?RQz$5QiN7ja?o(L&w(Vh}sgd(*u1l4xj%T zxWiubHNf@SMig5BJyAM(ZbaA4;8zxp4A%GaBcG*s!Xs_qWTXvReY5!X7~~`Z0m?dHsNs(|W^RkyxKJaq;_<6M7(|Hd68Ep`{HON|ge+8{zoL2y z$)da>?ja1CQyn}v9TDdcrI9qm>iA3%H7nQ+nq&0gwiW$JdvDG< zpa)tsXo@65Xhj)h(Qw6-2_zA6H+S8&g8DDD5m8ZT$@rXPFb9Y`seHRGrgZX_ zqQ$6{f#lXT)BX31ITb1&wI}#}U`fbOOd$5}n_{@xuMC(8aNQCu#j5^q7{ThMvNDGh zRXCh0Xk(@~`1EFq_sSNiF?x#JIpUyH`5-S}0SuRMCr)B2TO}Z|O^Mv^T1FmlzwAG7 z3z_?_=|u6h`%;;tIOu&u25kN!5cdT&48m^$YKY7Z>xj@Zo-_#oX;5?}`%kvR0DYRo zA!oKABh3P)pf>lj5}PbZLr<)9BPOib4hCm|LO48f(6eK;A|%L=7@llgDJf-HQv&6S zxA=%XYJQldMP$NcwGe7Y?8bps@0X^_$^a))3vV121foBe9MjN zgYy`@X^B|UJ%n~4LsT!U>eI_?ClJ7q2@3mD!r$1nGGxo$s3$EnL&;sedgPIcjb>qugekzv5~I}s|YB) zoWdq`GBnImf`rQ`0N<H%lq zQu%(@>NU1L7$^t}A?rrXl0tj$04!+Xg?|BD+)$-Y&ZoC8*B*ro$(g8;dd)%`;MbKw~ za9=dhPu@LNZ~@w8KCcq{qKL*DYNDp;St03Uhp#?#G{1yIa=x<)1y`_1fT-T3VA}5! zk$Gw~BkhFrptjF{;0|px&J)4GdGj@BkFh_Bahb%@(-1k!})VLJy z%E%u~ipDtBDKm0m5CpW() z1_uoDvXO#t>+)cEx~W$kpQ8VdPL~RWN0u^*K=*apO!SA}U?#*;jQk$QCN{KZNJOC9GDde zBzwtYr;nnw9(oD&@^BWC)x7ct7uD3SKxNM9tG#-fGRb zvQ!SQT8v#orf__{QSOoGyxK%cE#H_Bm7rX;z_=)fK zblZ+(#@BzL&HS+`fh84IvnnLW=$%oo^bH6ySIxyM&S!uIhsMjwO867#=P zjy>I^zrVq;IjxC|_)dH^u{tG0m-l@ZIUfS-BxOkeI-rc8ridbo`Ffv}j>g7g>k4t? zcNDKRlBy;`EJjJK88##W;dn|kme3fdjRaEm#HwJmNBgvp>^jd@nf=0|eSt4*%Bj~x zZdz3?jqlZL#Zm#cE8RrT1DkS~qC_?p`%erA#q<|3t=%LIP=S$-_NOw#7b)G?^TwZxx!$M@xuSa}+?6u3eJuipQI=B? zE-3`$+*R|dFOQpFmG+aDU?2@MJ4QL7N!3$wq5tvGX$3MIxF6r6wmY|Di`innmL9#sVC(O)Axrv>HT+GpJ>S zU*FdYMy>9Wn`krV4YFUdQ%R&Sk4V2nfiNgBJMJ0(Qs^h3iF=)_1+wkEu&4V<6vN&j z^^wZ@GJltOZu7W#KCS}Qk;p(&S`GS(nW4Z5V=)^@iEqo-ynpL~)IET2PLyegj2x{a z`MZEZ!&Bd7ADJdM0U0Yx0K{b><@M3gi)zEtUlRuv)&S(J`?Fi3Z6f=bczePYhJ?T! z$|p|&TCsP{*k@RSf@qJCY?qF!E(Cqtui}cs#rL&e;CiZo@?|{YyFtjAaBvrm!nCYV zvm*Y&?lPx01Z&Z`zf)r`t6^fvq*B9)THvKb=u8k@>5hAke0cwBq;9$w4jm zOH#}Hg*2wqZY~criEu>=Wnbxy&w8Jepib{V4Klmt4_na! zFA_BG1bc(G3sv7XOFfC_43SGzzk#H0Jb9TFGbtIYX*tZ=05?m?J-f~p&O`bmb6PAt zZiS$k<0*3%Z5lfB6rUm7Gqg+N24Y`s z>X>xX&26Fc%R?wh2PE2!8q^@eEvaPK?H4Aiw5#T3tG7)7`!9nW6yrcG2M#`-@e4Pf zuw@=jrcBoH9146MlXd0=#Fu8^<8(32tIcSa$6MOUiueJIn) zC7iz}aaFv3*}V6g+XR;k(~Gm=u)KH5^_F*=F@>Q4y!nn^{07@aSo)c53TW+$RAc>w zp{8J#Q`{i($=`JvUj{||9ObatK7SDjR6wVe}*-CxzvpZr} z{&#M${*T^2|8L&i`rG^Gf4zYIudh}8CvPO|{e*pf1OPsyKNQ-C3;cDF{BQSh{|Wvn zf&Zr^@PnX+J!tChClK?$x&8R>Txa~7wKFrZGW?q_N6mfJvNNiE4h5ge++l7o3O0}v zqL%ttH6*iG_?yeyGTW`1BA|0T>%PD#YSDSRTdxA=SG|5y7~Z0{_nR}bWdSSa_6Nlw`}>c{ z%;F!^j_z!_h;2=MW$BODkMF8U4=3?mWyudGpZwfRN4V!Q-l&4}OToP)0N;D|4_F}F zdv;w+BED}1O>rtL+6fWymnJNJ=&zx8uZ1;48*v59ze!X&$2L z2i`L4{r7QDv?8dtKG`OGmnjJc(rpXUCZg;I{zL2g_Xz;{4=8kz>}f!YDJcRH!po-= zPX#{+KJ`WweU6wJ;IGjBlR|yx6ONZ;#k5k!TIzD?MQngSJ_6ww=~DU=Hbho&j=XB9 zzoryN9+~c6X?!xmvF`PBQ6xlG2uB|5Qz_GBoPWU6zpx6B&*KyFTK(vTLlq7 zh|k{;il7_E*`o`#2##T(W|%smR|oj#feA%o?a`z91x1h$pZ|rRB>S7gh+i*~;v*pr zS8xWawhC6kp=Q8%iIV*{VMXMNq+GC~a?W7gR>4zPQGz`>Z?Zq$8^U(dMbaloh>T^N z!GbX9Ea_u8FdTE@nV^Bl=D2)@}+bK81@KY82wWE5e$0- ze_=>)s7Wx5AX&q}vVN>RLkI^RSi=O-@C~_P?523wa@r?_3}Hse7Qts2sG9mtLmvYC zaS#ZrU_9g2sG77e0QU#HV?(5s1VLa!SzQl4I4JfBj~1DdQ8AfY6X+f+h<*i!G zisN!t#}({6a+o2KxQ!u?;rnq+R@LYO{sHVOc(p9`H-$&X7MUr=qpui^^HX4+f_0ui znzhvK7QwL1vdEuAZ+UA~@Ml))L^oA4p(Bc&V#^S>NyJ%zy8S2efa%+SmS^i-EVmT8ptKic1&h0nB zr!{+poa-u8hTn(d!GEi}=KI*PMSnGZiRYatUjLefGbtGXrIrFp?YMm|yAYY+JHHtM zPyeG(`frju0W1%7-))7nU$ks}$OH8V7SXAW4&GO#4XTo`&G_vXsKGwfGTG2!dUw?k zak^{-_Y|6|cH2AHgdkIj$jc_jET7`Z3bL%%C~%zN0wVjym;t&KV~x%qpQ_ z!rDr&&!x_6WUHPDC!D#oo5%tq-B@-w7d$ea7Wwurt}d(#4h4u7`%22YzHLaHU>E$@ z5Y4r*a0#M5tnz8+SD)XyOlGv}`CYJz(c^EIE~{5Z^7N1IqbBrq?7NmXEwxjh87C=| zCrDhathZ3c%0_HyADGrGD^oZARNO4bkD9NrSI;}De}X4f{DpF!*6c>Pv@mIufAj8F z>&&yywfM;&e~r;;G!9=+*J<0h))`ZF?!PnF$R5eZ)5#-Je@&R9pnX-rxX#nBZ%HBf zgRh7Hh=m7;(KrjIIj7QjJ#Ji&O^@4FkMlFE=G>&j;01Glr;)61SVH zf&uK&tVzPq*42tkY#`sqMg2$e!IzE~1bHgPm>L9*jkd4)hQm{H1QPe>T%F|RE9y0u zHA?!BG?JomBrhuW44WRhU!~_f=N_HYuJm*^uPGO;?%1}ioEw}dy0X?p!|r8AG(Ce| zfvjrjR`z&PRnnOuVY^N!HY^4im8S1cRd-UH+%+;@s!X%-$mHhz?pC*L(6yuf(G)4L z@`nR7wYsDAw?}ip?ReQoW&P0+vNQKm8XryYQ5|bmrZBk-zoh7>c)85hM^|pyM6VMS z!x3-4?^ZulvyPDkL#VV2hRY5!{9CnfndRdYmgwp-3e|1 zg1fuB4lw_az4tl$fA`2e_uluv|GrD}byK~hy1G`aT2*U$tr9zTt6R)h+mLxTT0S%I2RAhW+Xa~}J z1Sho4(ztnQTr=ab&^Q0w${T0inQMfd@tw*vjsk`|EA;d^`bP9X=WrOwgB=mP?e<&j zM?5EJz_{oUbRJeZk<8|`zLh%TpO>vGy(gEQC+BC(&WP}_L=6edvGs5P3Qah-I;CSO zC*o2R8iwd1vOFemQVkRn{ zG7>5utk117#1c`&g}5FwQA}>6FkPK>8$83$_&O`}94}!$XJjy(=xxLV;>3GhW?0qLJw&sO!|6$iHW{8gpfv*0Sq z&^{_dl(iW&pRLTbs@JBT&1WlGHCb3VhkICT9%4(#Bb*OJ_g=A6#Go-zu6p;jW9B(Ua9hy{_#)A z5l@c}ljUKa0rT{t_oM{p25AI>nWyjM3?r34qs+Zlrpwx3GFq}KosnVq>R{PX#uDwt z@sPi)VL@BKZ{p!er6W0GGK%Afnn|QWv|nSry0nyC$#Fie^6N_d3`L8^w-zP%#au0+ z(&q3`HYt}w7j?GhL?7Otx%IxeNKIWb6+F(ZOJ|-3$B@ zk-;eVC1m*Wa<>FWZK5k_Zw!>No1Os`;^W@*UJQ5BbfHeC@N$vx`ti3!;yagVYp-a@TVvo=|&3y!cP! zO>n~z{sJPF52Tr~7WNSME&a6!>0w7DlN(K4_ks~#& zJW>@{iFCPR$zoBDt!DS9r1OC6XDt=>r_VZjks|XFbwpT?KYiUj?*&-Zk0eY5h+R9IzN#c2)7>)CuZ&P)ZawiStzlMwYh~8K>&qw25gN$FKZ1-5 zW62564FJx(zu|94!+&TN>0c6t-{z2hiQV5{!up)&pDhlY=~ZZDdm;r)p`Z*x+@y)6 zb%oLy9ptFzrirC_=U1<5r|n^-hRzh*=>2(LrunCxuno>!Q^p+|c3``yO;2KKMcK3bi;*J3U0i_k&U zfN-rC|J1~9x35}2-tTUj-|gB!tc`Zkpq6Ii?W>zd3Fd7>Ii1yL3oClw(!`|OKVP-B zV|VNvmA`*yi~oIAi1;%Ug9Qcro>SCrGPZ_+;Y+~P3knBTBf6bY!K63P70=!ym`E}+BS)GE78~VsODIv$RBfaJt1NJ#s_3>=Z^5`<+i_)>S&dFsL z#J#t&jq{_U&-}YWcoeCHAvat-i|=QvWn9R%$<8#_XbH0}t(sWy`M%Nf9!Nu*SEx7U zMJa&DPUX`@eBS`nF{OCh`J+*Y-K4DG)AAQV+2y^)HI{pL+uxE9`2;cJORF3!8yIK< z&P|e{=x9(k=L~h#^zAsZzJC`o7+X@w4Nqq%D69<5_knE(&dbjyZp^5&-<<#LW(igA zh75s#>XCeMi9kS0ix=u6$Glk?DPnkS@^+Ldlb@NZmI$`iL^13&B6_$cMO%&yxiQvL z6LzFFh%PBz5w?*%;Z!vBH6OFm)Qz@YO#OsX=7l~tUVPmB1P)HV!{KXIdm0s4^p%x9 zIA*l!VeZ4A0O2856^&yz`#IIbODEU@cxex&vz;Y3rTuN(9oOmWQL4(Qrz$!FWq!{; z7FbHG-xN+USJt(+`%?QEcg5}NNc?!hWvDz5+qdh{;`^3N5YP2+?Q+2qNlT)@N>cDM zP+@I&GI-6p!7|U)v5~kE@_P8;4FVNa4ZJ6b;Bo;b9O)Oy-5)rB5C*MmdDpk%v+@zv39v?WA4<9go ze18E(UT0ru{iM#k5+J@*e2kFX3Ww^0s6uAHk-lLlmX(EA&WhqEmR6f{s8mFR`B+wn z7&8ez2OIVEB)U+KSn$hfc9LR_ho8#q0jgrp&_7Z)7$A0-O&pUk?CO`k4F1w0R*)Df z_IO|RLy7p(8KqrKSn@tr-$J>=oz=Iv9`N3)iVo=vz9*(+@v?W^a5eJ4JAd_ERx zBPT15XthhfS3&jV5xbrpTyj0Uh!j(a&+N8E0i;<&zyCrO0ggKX_e!Lt=GE-Fa2;!U{tE)3Ueh|t6_2D9@U!#q0Lm2Zl5Tjo1xJ7(mul%zjVJuW9GCm|@7ngIIy2JL-huKUPb_mR2oBXhxmZ{0`cx{u8D zUl!-pnKu|D9pI z?qhTP-yWNb`yc%R{rBfbxOjN}y?bPHar`A>)pI`H=l|r3saX@}QODX&V3yyBl=S-- zBKikbnPs*5!QnF8Kg=VNbmA9lGe*;UlbM-CD?q%!SZZBu2Q;)|jHST#iQ3+}svjBI^Z!fsUDzfr?56Miu#KT=%rwK}Bfju-k zQ+|7_K&vvxaxUL2{jxo9Y2Dc5>-aoA452Mxhi6r{&S7sRR~+JGrBz`%S6-i=nZw3@ z$ccqE{~cMHCff7rL^x9;Y)?&>zXCj*=PK!{*@_gnkexlsc>t#@GyO#z34`DA`xj65 z^PRCQ!|9m5#OKef!&9T;Q`9x~;gqFg50^Va353iqeu^Sokq$M;`Hw}*V>b`<_UC{X z5Hch6I*BVsX~x8Y-0rxr=At6&QDKg znw+Z?tQZqNBvFyB^W+vu^f64MqOA_ zbnq2f&!4r#$SVpu?0?*5X|ma5pi>YqaB14xWhCNxb<&suqdsUAyzjC+YNeg(YOpNC zqwjg>YVspq*wzS2N}~N4AKz$O=*8BX%Vx;_p3BW@!GPe|!tS_!qrst1d=v)R#5a{* zTABxw1a27N9P0bG7p=Mi`txVk!x*y-Ub}f&bg68howT`RZ7ybp5%+gEcHOb5`?sd! z{o{HbXC)9G9nZs3$+GNFqM>ZL?VzC+;s#`Cl2|XuDSn-Z$9Z3Ds{0YRO25kZa??BB zsqJT@?zHM>?w@yvF3;T?Z?Binof~UU$-JAkKlZZl8t#?6MBmmJ{hIy?_Ws?`A~(hB z-xNjM)=%+MT`%?$3*Xp|)i2XN+SeGZjEBAZ=ZdE5lN+8?@9VilRw2kn!*-EQjmz!H z!&Z#lyGAqKEfRqq?Bb{HxNWa8hs`=4Pod$n#Jt zgJU*?UdYyN%{Sei%xa{1728AXVT@@xAtgs@Kn@VyhckfD{`CI#o*VbVaNig1Rl)xx zP59<~npI>AHkfKBZruE3*ti>05Pm|mDz?9ZjMnj^)ylVCkGd}$lthK{d7b%4nxuI4 zyRH}2AEc{&Q%88M`%T>nvYNf$ba@@63$~iRhK*U{deyKoi*V0#w{~;#LA$(`qp;Dz zL@pgOKe(@=3hd#w{Y^k*;%2o<U#89VF+JdpH(?|USDdsH$q`wzj!@JtM$6P%qDAu ztOd`KHQr2#@CZ4Khr|}~+V9!EM28KqU%$HR&y}haiTaaywlJ(;pXO=rdwU#Lj?Z7( zoa5_zLuN5VZV_KN-dwc8M)J#}GVfit?dbK?DVNUE*c9)MB*U<$V^w+bl4c=ijX>An zP$3K=A=j~%GFGj++mx5w4F^4;=fYDr?HcnQb?X9vJd1&}&ek4VHL-g0HQO1A!Z+8w zMU6;lwT)Lt!2?d-*UbW8E9kliY0Y`eH}zEatw5Dd^u5_E$Kiw>PjxS)<({)yNLZZB zOcH0mzJ1?E2-$4;>FT(1<9YK-vi-Rm2Eb^A`#Bx-%4S>u+<4WpM#nwpx{QmT(qJ>D zWQasERHFv7{dN+zJ@u3_)^=-8iMYL{WPUSP1UQL{`+;OQ(Wt*eBh2uB?NaT%gM}Ya)E}AZu%mOMWUKzmAa5e1OlM3 z78*vD2J6-a457mx$E?=gyCFQzJ0370n5tPW;L-C2O^fh|oNgdE&r~~&)&v`qxvvD= z&I+i;;IEsEzS-xrN0VdJau!}G9*p`rAmll@RlzgoH9t@0el@wS?_xH6wp#>vtvg-S zbUhTTU1jNZw1~W4f4Rkl&!op|(Nq1!^V<{`c!X^bQp+_2;XmcHN0m(|-wvz~&SR+};Nr9MS=D8av6{ zPZpa*T;_F&tZT1IgJY7}y~jQuwnEN#Ci2Y8fYy&s8`YD`Pj>3lrTV5E_PE}*UF34E zCs#VOw`=Hlw)PS2RYOuBd)|O|TXoPz_x+mfGi~cyr`-e?s)~b5LpoC7YDKj=yw&yx zd<15W=A&KiW~W1Cc4%^ml{-HR_7?`RzxE|KPfhl+)~*~mj_Y|3UnPQT91#Gcj@!&t z`AwT2w+kDOhDI6th3pr1HeZI2j5V38bN3PAu9{?zzuAvMzFz9+n|9ip^xlY*88+?{ zI?cC_Dbn%m25IQjIL)eQz;uH~fp*ndQ1AHlX*yaAGoMwn%y1Z~$Wrl~+OGC<2CMKy zwI;pCr^1({c6v&h!!f(x+%TRBJ1sSyhsP$>UHh!KcOhRrR(kij*nHHFQG-dp@+5y) zF~z;b_GJheUygp5f>i<+3rm+w%D%WepsRG-bgPt|yngyNML zs_TBTDPp=2Flg98!VX-@l!>Avd+@?hK1I-VsO{m)P%`(6F5m~`likq*l{$$%x!@yv zj_vVpDs@tBP0kB+-sw^EX_-pHJ!889YNs2s;P1c>{^&&Pb}Knb8E`p`N*Pii#Oxj$ z;i3o_yTjkKW6`a&sO|N`6Qfh&&bjOw=cgh3j>AJ`Sk0^~7DM@x=@+`SryHYnicR7W zjHhf*-rWGdzq|E6+n!zzPnrG3?`%4q=Q`X$(>-G{GE)z8{oPJEVRbFvOwlV{t6NPw z?~G(ws8#I=xt(l0d~r(SHr3!>l~ImDHr|)hk;z!cc(~$@qfNc6t@ZST0T2~EJw5C6)9#6EIt%^f8W`VJ+KRMUBd#TmqXrebklsRN zK5}t#!lraEA)XaQhcjd+oo$Mi*G5OfSc65W=-<6GL?W)r-MS~BdXR+vn|*9=FpLyM zb??;YfHQxQ(u7x*$(|)5~{^`=W=J$7R-I{i(LbeF6cE2Ihzaj(oW$!s~&w+am z+;iZb1NR)b=fHnc4t(dKrw73O4LkNv>skNCf-zA`n9*qsGdWo$Ku%_cpgYUyi+@&4hRwz1^R z>cx-g1GpPeZ_vtd^B;&RA(r4+ND@6>Pr{@$Fpf_Kd)IO9^!so{s&lyMiWrr;GUJ@o zt*znfJXU;T)*2YLn3Mi(c<~U0Yxf2(n4rkLPpe|!#-gv+Ru@h#;~*#9+;#EcV(w_Y z`B98bU1SgoS}KbB^P04SklfB^*OqprEvd8?5w8LH1ucautf4msG+7|u)zxawO`jus zvSXSv7bk9}61jTpo-9yuQ!OQmPh+=|tK~TGIVE4nm z{E4!f{r-DH5(U;gElZ+)?zCmS5c5HBH?6fi^}^~?t+i&?2lBzuDK|Uz4#*K)mw9p% zlYXRp`){t`CrwNV|3*{(&BdtNtTN)_VnBP45jpp-MWni{DvkyYt~MZ687rU(h*cV7 zW@73<&dJIC#|H}%;;IrLL$DEuRrRje8$|0)LK0LaS&p27MP3g7`8A>aWFx^qor z;fVeME5p$P?mRX)06gr%ad!paz)mfHGr-+93wPzMVdvce!~E<1*MAN+4i0`c4t{oC za&|s`E?#~P9smF#4eobruzG3mzrlzw{Amck!EkcFFu^E9dv5CBV8hSKYHiN~Gy)rd zSPa2dtS&$sR(2LPR)C<0iw)4w0^~q$05UPN7NXp*Yoa7KGZLcI;F4#Pw-E=Knn}Ca zfmGZSR1MuM4Ec;GMTE%(UHDzBY^*>IKynu=OKW?67a_`D$oXOLT{0^r`L7}l7DAM7 zL$r-JhG|G21?)g2dp(PHl)=>#L~AGL)2F9}r!*@GSJ z3_+4kAZrIIO7g!@$^UDEBYBu83sG|ZIUUv~UfY3<%`9OV_AsSJE+Z+<&CbWo&CJ2V ze)oJEepoFtV^;~7?h~TC6DMXi4rX><)jz~Z>-SQyW-|gh0RKU`yN0*2k(cL}HnVpC z+qwSUlqw+G-yusg@?WpY4>Y`M79mO-JFt zYcmH|a#&lMnOKAD$k|!=U^4Q1X=hUq49DLjnHBa#*1J~!?cuEdD_y_x{v;uP6o-l3 z9rzdd6(+ww?m2MJfqM?zbKsr>_Z;}2$AQ0Ez#waw+3O6mZ=t(zY_IvOx?%{sj6a3|#^w&MbuX}me74FV~zyOE>i~wMO0RRLb z2fPND!e9s3Y5xnd`FEB0ol2Ttn4gT0e3}dclp=1vdlK2gA_u=< z0CWl72xf`uzgAY1l6fWhiyU}WOG7JrL^c4x%G$y1&NO|asYQ;w2J?Ne0N4Ot02k2E z-bP+UO7%A!f9rZS_RA9j3^U*1`dcObK^mG7%tL^&=8ogShBkH%FjyJ}zjAi4xr0B$ zU>rkJpb-qtfx%36Falxl$X&X@Z}7$)Z1Nj?eFxjADvQHj{I31TP5uNM{0TNRwX=ei zfxS6^+RD-qM#Hb;u8AIjtkqOt|0!W7F|1*f0WSe!u*Q-BNCLzG+yHg}AMDBvU+P3-_+f~7jbu-}P+F)SSf`?CbN-tiw+ z4|e>OulB~A9KVv_9*F?}59XlIV_4fGM*#pg;ZP{#3lw^j4inxP0N}gzU+aU@U=n)@ zOAr5R8g(j60(}91%GST88N>nrRsI0L(@7hk9q`w4U|uQ!-WcXHA7ujok2L`R?4JMt zs`hU@gXP`j12V<|09AKbQ}qD=@d*F`Ev!6-4s;sEBbfL7pE~Z4{HGAyRfc{CV4}du zAtE5aVFKVW;Sez4pltwBn6SdbBf#?S-r?7QjPd{p0r4R`94ai|>Inc20TB)k5fK^X zF*5Q4RE!6RNXP&Jq%hxnB2s%oR6O6qTbwx8puIiA1wjfjjYDIXeH zd`d;b^`)|zTg=g^bnt*z+`giUfRZAlYof%0E+?%n;n@_R0#)Yi;GXi zq47RqWb^=!TI@|s?3b@4gD5nd%Gu3}&w1<)xy02CKBiYbHRP63QB|{d@QIB299>%W zvb_U31$YEgdGMGBm;e#L?Wy1x%RIjcT}dGnP`rt~-k0tbx^yNqdqzSjI7PRy$7(n` z4;-SpPyTPh6R*jMXHWo#GYJ&H$#>U^UY9v0gE}c4b+@gVFB3j`;&$&?H0|(9xZWq< z^W>63l0+$O}_VHcnK72oD*Tel5(ta?`=8_O+ zcP+jSYScnyA;3%WopmCOl`zy~dJpeazvRk-JUL%70P@&lEgLZLdbWCPAF(`rSq}ve zyI6UMhlecgKN)R596j8-bm>HYANW=~S9x^O08K0_#86XrI3rfwFs5xLWR0}X6Fkg# z6f(G7rI+kB`C)roqw$>QR#_;|TW(+rJNkU9<2ncee_P0S^G!e)gX5N6r{%_UmUKa7 z-`;zbYAXAr{`L!*S3bC_sF-zYscEWY;h1$9_Xq1($l%@s;lHB7{4*xfdqnp^*PE>Q+G)?n5i|;^Qc3QO-S(GEg^X<%g0VEoy<`|J>usc@&3!BTR~l4c zlFmYG!y8Weyh?dUW6L;4Ve11mRW+qm?;-raMH@lU1#1<*g^MB#??*y0F5>OiMFhH=AovN?L&==@jUjWngbLYcA!#~= zXzpZ<*#@zYY0c`*!3>3byXi9PABW>bdVD4+Z-qkTkztsTVekI!nrDS*+Xxz85n?WO!hr$~FCJ-WFy>T6x-DB!F*i3J2n&9S}~gJ6Mr^io}xQ3I!Ma5DLIqH;>pGFU@3jkGSc8TFZ(3_;e(V6Pt9Y3bDd%-JH6 z`r)lk(3Sb}zR2I>i{~Bdun9#Ar(`mW-LYsoCYGc3$BDFVzd1qyo!1O( z(qv5+w>LLPH*_D#Y0lcLot!Ci)gKxiD`yny*rb2Hv3iPL*t@%WqwLNvw7*uOUJ7a)}5QWEve%1QE5lDFj3a+aO0hL)6sZIv{F znF8s(Cg-znix^n$;)kpyDF`j~pqXs)xt4}hn#MO99W7bRYY*Z*KB{ab32N1j7j7qu z8bqrz)%I+=h=k7!e>S1kFx{jqDIqqmB;1=8%N8=nm{w5l)$->k(A3&y+g%Rb72{f6 z3_LUZCREL$nyNhQ<#`se>mGktH{H2-S+Dr96%vPX)zy#c+3PA`!Cz*Cti#{kkz4B) zDjA)1e0p9IcH($2Ub>aDddW)FCj8uJHmRWk+rO=>Fh9emv)sA>-oi_Em0%KW{3qK+ z?GMcxk?$(+q6=Q=t~z}Ky(_uUo3!j4^-$jG%(|K{($`Q-Em|#_z3@I0RD=SgGN6E6 zrrXzc`d2SSpnze!rrVpy-fJ+Aa8l~!v|7BZCy<55zGq_6&a3LOsek$wqD(tSGsjy{ zvIjXBs5o}$CAz+?^PC={o&D%EK%_VCd@I65={ZChffJA^Ny&gI9VDUr|J@DO2Pj}$ zUGc_5<91CT7u)0y5=PaafL?O_Q_w6FP@p*ySfNaJT*T$QTGTgir4k|nAt?$t5IN7@ z1w#Svny#ESue{q+&mZ50>4PhZZcEyuc*y9!2Diw3cDZG;kCN-hF_lypSHjKd+^`HM zVKa5vv-)cN?Ug3bQ4Z7f=~p_)1^d*X?rX^7nU_N>UCx8q9W*_6lwg(H?T5SC>W2=! zf~*p!I)y#))m{}LIqLj0Go49fFePZ+9CpsKX{dY7REXklfmk&@S?TI@C{c{oy-7#` zbi|wXMDgFJ&3H_PajOC{&c*ddW}LvE34hOjxa+dmD}KLCBNm zUobafsuanmItIRX#aVUEr1h?l^I#_zuy;PbLC>)*o<|&)-ogXjo=Iyz($1Ne4xkll zAHbouTw=8Rs9ysLIjW`c$&}q~zZ}2L1b)4)bE=q(;a!O$8n?b!QxKrJsEwRc8jXIF zfr=vv$4J2A`Sffu)uVpYmN~1+vq79?8Jlu{jfkmw&)o zVceGWHS2ZrNH8ODC)^2d)y`{AaucF{Im|B*;-84|DQ&~}GX=0bkXHOyyG4$F)w;gA zw~JJm$vOZ9MA_|b^i&5si*I!u%P6{Z*=L<0lSR^J1)u2$5^p`G=mx64{=1tG(!esD zSJ&=b+$%5JT8XK#mMj~9JZ#}C?-W9;ZY*Sx?EGIXm~=7s!r7#>tKiQ0x3hs+DQrP3 zuh7Cpxi6N|Vkw%jEHhtWMFEGfpArC-avu@4eH4{s&`K5Mh{6Bb^U#Q$#kn-Ap`H7N zFT7Tevy_;l<5F*8E`qcCu9HcYB-N3=`XXPQp+Q>pLLIURA&k?`f_s0ZER=z)#H}*J zRj-Tn=<^I!93S=5aM93a-@>S-Aj*1c7uIepw6tzfxX@GY^0%m348D=s4Kp5Z)YQcKZZ>IEd%Cl8=I(NK<+)$u z-Fxn}3;Vc_GJ;K3-e3CFTacerCYuEo!2_Hub5F#cH+qTmG~sPEb3HNVIMXL@8VcaJgvMh_ zN&&3HG-zslsQF+-TLeRQvQtkwqLnOaQt)eB9z}OZzLT;Eu6K{c4<|caJ&Mw@teE*D zVamNZNxRgeCYm|WA>8~{FL3oo-RT*HL|In%HfgHRG)E=xqQ(69)@6bFbiw{smHq+b zG@J)=3k5WdvMDrq&(~ad*&n1B+9k#>WLV->`R;umuCh)#93tV~c2aWF0dI`N&ik8p zl{U8E0$sdpPg1`X0zLhsqua?goyAwX2vwSibD(c4_f{sZ5X|zfu z6S`}3s*{M|*j;ykxsu~k6OHFN1vtaq7`JrHOF4IsOCRIJ0N*&FWbWo06_yy*yf8U| zw9XMPU30b{&S((G;2zHC6SZkX+Y}s^vR&i}hkdNkd=_BEm0L0@mL&rk=Tg&HV-q4= z?cbRl?2de~>#{{g-tcp)WvuhD>8wfQb|CN3fN_y%Z+`R44)pg zk>T(u?5D_eJ~jZ!I{?TOAOH}e`vf)-9?%Ttd3XKvM_U=Ei@q<@4~1^(g`G(ENcX6j zewe-R2xiI+eGb{JOWfrjIOuJM0w8Kju< zTurG&?0Pquv?jnTKA^1kqk4TPphAxt3brABj$m)2;JM?Uj6!EBJs}+as zi6B$?*32NE_HBYZTd{(14I;N{Y4?TZrfx)>6gS6`Bhym}a$ zsjV1UH=RqxE(2MvWX)izO)|0cFp=)#y`%d6BG&$@3_ZjBD{YKg$e>yO`L;*J6cljo zc-yk2d#@FO1*(PJNk{J ziewj@PkZ~7zD#-DtUVLh*(M?m_4&ttD(G({o|Q(_Gm{wq$y$2 z1=6SOk)6bESM=s>ktoBS%T=06C`pHL_*aw-bP%q@QuR*-Y+Y)Vo_I0ld&Y*H1jI;1 zaH)A8b>ZJ=I(u)cJ5pMy23~LX>0eqL+uwd(R=n-BSQ5mz*@S3A0Sm0R$+cdohbA|z z-WlW5yB1JDzO50s6=qM-`wM#Cv>w1xcI?m_LxkD6m3-vv#^aL8LqPY-P1 zr2Z1D&T(mUQZZ_j^hVnagVrscg?o5A58bMQTIWVt} z%5>`h=x&gP(P92vSvlL7=xLRz9~9ENkhL3dew2ktU^$(mowFj=?g+}(+MWF>cVrc+ zS>)Se89IAhQ(%(J9gu30bPi-DG=zpOryK<;xR6A3T21Z)GMYA3J@~roL zB1UBD`%2d6!_p{ImAsFSs()rybh)}WkI&5!ey9qfS&la(3+0_{CB6psVCu(t5RQ3? z?afn3f4`<*$f!J8PQ{^SdA5Dc(;PIn!MVSCB-a7*3TAbuRA-*rVO?a!22NU6qzDpm ztrH7jqD|_z|JXwM@p$XAb{^?b(2%NM5SsoC)r4y0c#}!NPN3%|b~hB@oBP}gQ_$s> zc#~sx<*hPGREL=s1P9C_t@i0Wnwv5am-me_wfRVH^{@#4k@*q+;>uw|Jv-J-v){_{ zpdoL02QIdgm=>KvYsQnE?V}}XwrXp7LTF8&)*bLLE#JtPM@l~9ZuLg+RI`Tc5%$==! zil4u8eo=aTXu*om3xO;oUI<8*%Dn36s!ZA3FNZRUIjQDGnK`vg8_ zgQ4J=fYHwGCtfgvBUA28hkc)*x^v^IKaNI!SJOw!M*8l(+=Y22J_fv__s3rqLymE5 zLy!EisaLD$W|nk9oqGJQkY6Lx6C7${Nl$JcfiwCrz|`{U#C$@Mf&+^$u3LIAPb7QP z>u*10sGG0*4)+E!Z!jm5d=^IRsJxdq}pzeDP2=7t(vz* z+PV^G+QmxI8fGv_xJ){3QkrO$Dfi>zEpM8FyiG&ebn+$js%US?@wJcu%rg_{R(zfv zMC}tQOF>g9U|AMu&w}dl!LA%-g`JG-d;6y^tx4Mt(5yo7*lT&sY3MY16vSf!syE`P zOCcj?7lIxw*Xuwb7L^xO-M}<2u}{mIqC=9=G

iw9>&uDs7_ZTWnS0R_L^z0p|dWsX`1O?D2W?FHHv7rfsziedkdrIB4OF{JD@Ke28y&smFX5J@z z2XmSq%PK)Gs{y31`>$v+4i)JERFQ83GJy(TNQau;s}jlMPjK1<^G=lWyaD z{ERBykM#N7k0T(t&zB^bN~LfcK}>F8^rv`3F_>+U-@Q!Qi3?^QTz(m9U-72Z(+LZt zrDjNa9HD4tOvLrMf>sJ;Z^ZdrRr7%boR3cWbkT?xGbYB9YNX05x=bMB1L!@OJfqPPj`~ zJ;SPKv*FCDYSjd$DFLn}5Tl?Dn^9;|X}c`cM&%P|G8l;~iS<=8ZvgKgqj+DQMx;I> z9l2`-?Gd`WBu96W^@^Zx*$d6SBP4voPYReTkC_Og!XD~yFE4d0ac?vQmuAf>Mabv` zQc97iyM6l1@}O&8!p5^vUL~Btd+b!1GU)0Aaf>J_z$R$qn@hfDG#6X^Hu~Bdcc4#^G=ud6kXneQpp1CHD zuMAe6<{E|B`-28iBOw_>-?{5vje;XQ2}pG{F1bgYqry{+h32&VkM@e*YRYY=k4$Vy zF^=wI3nHa1#2UR_eO4puqrhf?x36LXKfUu>ktB$FHAPRT^ah-ef82BS!>{Q_-lW%@ zlVX)sx%Q!dxi{!~|09Q8O;ADiIFv-I1AGW_MH+2 zkzsv<+u3@C<$OUhbp0^DMSZNLR~ zMy`Q+iFkwi+uRfOIM_$=aeNc?x5e?V{Bg5|sj(JS*(Z8U>fRYJ;}oW1ueo4;!sP|V z4Ij)_!-vgT!@P(im8*Q~sWZaVA}D|>#4A7b-J09~0UP>Y_WF1Qqq&G#fQ(jEz@(qK zcMtxh8kj>FGV^J@+oMc5nj`(28#!v}4K{fz<8({1fwEz&sIk;ZDfMd0S2C(q0`ekG zKKM1^!REOKFL>AR#R{~@O((wD?Hl5fp;u0>M5A*z#6BFgFnFCSSnLozKw5o~K$kc2 zZ|!zvZ(r6Q^DEjSt}p8^ilUXA3-^bIUG@7Y>JKjkvLgjsH@$Dfhm@&l4qU$51kno0 zbibKs4(azPemapgL&E>lOMS?jGMyM4ZT`^$ZH-(NP(ZeIYWB4z z6ks#Iae4;Pf=v_>YnCD{3Zl{Q1-_CxNFW>%sHq;etWC1TXSjTcV6=+VU&2`NBpDOs z$0vZF2S(>(7rU(1N|sSOIq!b`q4{jsydHHiWD!iZqGF{1To|JFKNbp4;1;Lr)Ooi; z{gO4_fO;lgSv})SF9?L^kw}XyTf>4>EJG!rJ60AVdrorolv*NaMBdLC%VkF4LF*^9 zFK00qoU(db@%}M>Z%k!tS5%XawN&Er%aVx$O$hxk1Z27f45?garNBiTlcQynla!`% zF4!G*eUi+`00!OZB8&E%>lcS^Mk(``bVP^V-2}gZw_X7zz~r=C6LV9V)lO)nFIIn>D$*(rOE?d{*xa+AAqGn>iPR zke||TjeTQ^#&KBj>VGNhY43o|H#FXjwepQL!VOm(XS1@6QQ2CwN%DBQa2hLbFw*J@ zY+czTm(`@Gw(Hg4<^&#pCXvA$_Q5cqz-G5HCdM~sJB*MQ_2*mwjlyfY6w?o{X&+cJ z&B--BjQ#5WgF~KCP2D$GYa@_dI^7EADRp&->BA7h211%I&f>PcyQc&)=#}$1*W|28+e2DwXS714$%9VfjzJ4Cd<^wTFiuGiHZ&%bLF8KHwCCT1$8<5?%D zm^zIE&-8ukjrp73N^LEJ9%@I3U*~5$Wk$S?)W)bp*!{l5yTQ9;+QWQqGs#t-)9ueb zfFsQ}7vL)DJ5q(8)>mWksFXUki{28Mg5sevhFz|5fM8mOO_>_5+-BW^?yCR3EboRgUuADM1>qRb3O zO$$9YjR5ApP&S>?3ejP#tMVF?%#o~L#Ccb`))c1$zgzrXLf+mRP~9c^g}Ou+K%ER%^E70!GmI+3Y@smB7K=@kV5_psWvSDZXGciNi%zJ;`|=Y7C44@*$3ov?DuSE0 z1>GfZ#o@Fo9@o&`RU_vklO&d}RRo)gio)a2GX4em`lWQychdu`{?pArY}?*r!6SSR zk($8b`?*xg96v-;mMJ|lqe5CUCm;B*We5eh)m<7QAB#E?^W)t&`b~GO@ylpUJm=by zc;-$}2g~c?fd0iA>%JOF8P&k%CUv4y%i${0xq=COJr^&z)9v#{C}8bWd(UGdnxAn| zgN))_1++DcK|^F);>!XqR_&SjutI(0!;7bcs$?|Wk+!ZWC51+qqeDRWmT|lknWt;V zT5I=5><(s(VVOiX`r-hIe{KTv2ROTqa|-L#e%+A1ChFKnEZbVgN~mI&?3NycMEb2)1lTf@)9@r69y17Zb#3Qo$7KaObO z>hyP@QE-jH@qhy8WTX=xS8@AhaMgU^X2T2Yd>5YZ!$ACrI7=Y5PKX!A+%rkVuDRFd zC3=XN^uD$)ls+_yC((7=EI%xEY>0XrEL19{5tYgpZ1{$IlsC+XdZ(=8$+Vr1Bsr@` zz$~_BZ$OgkWal~$UggX2a`e-_-I5-BF&tsnN@xShrKt~iN znX7*e3V$^2LySp{tja|qG^Zr-ZrxfZxDuUXQ3MbFFczMb5!ZpUw^$*scu?|nh|qij zZTG`c4R|cm2Hc*leH3v6QmNP@GmV2))!dAJoK4fgJcduud znLUARV{cZq1kW_#>iZY1@}Q%dMT6dP%!$Ck@is5s&E+&N8ml1fOqZQGvk+t75P2}u zq68c7s}f~oI~9|jB8RWGKH6XS!uJI+G}oBhlBqshynpyvtNU$0pi2g-SmBZ#Hm~@` z^mU@Q_)DJaCeA)VU(Zm}NzWkTJ}aT@KrC7N@+q`W&i2%aj}0iN+k-MCUgxZ~y$qWO z#4b$@dV)$1=ZrU0yq}Inmp0~?Z^2Kh&052Eu3Q!0;03A+rc2&w=nys7jV*!96XRSs zakrUB;7N2gUifu(Gh92pb|^(P^{O+(wwZ2k`x$N&x2iqHBltY7u1aq+W87XIyMIwR zn$AfkTb9F`{v;?k+5j7j(~0#o-8o&4Njy9;sdqJr@7D3m2FtiMcBFx;&%?)q+B}1* zK08`ekS-8i)}BjCPLBRC^6|$S%(tj9uL5$FzR6IKmC4dX{QtK{{hZZDDngs9j6$kj z^68nvh98Fuq@slQQN{mE<}fT`4Zy_WM^RNdH2>TkYDj_b7Q-#XjaK&h>C%g< zmj&%XG=6fO8}HFRW0z@D5Jp)|_~{_=*uqN%lXp;Pz0j0=HM$u5S?ftH%=tB z(=JYAKckw#XKl5k(<54*(ddjpit8YSmoFfrq<<0Tl&~JWIz>`pPzUKaD8MN)A%K)l z(U)EtXv)9xG0`Sl?GgB2hPrcw|9-mBW0_5^r|}a zAGd@q`z1-^y-iQ`!+d;%J8N0Q@IPCMA(X5rm4^nfM zG0u+>pWwT%B7avx?H=*3!mdFSQSCW5a@}}0&5J`vg~BO7=GaJHeN3As5Quo;TDH1% zukpaC<**D!Lm>exbqH+baha)CJv7(^0&<&dfPnUI@DhEex!kHeqIG}M1*^0wf74|S zK;wzyPAl=g>)A&z1$8WW#m^Q{`JQuCOuN_Ys%h)HP+eK%)UcPRLA5=DJ)^ya+!)kx zZ6f6r{k?;|pw`nf#zv_bPXg@`lSch7T>5eSgC8_MqtVdPP z9huLTV)f+8xJP!M?{6Si6hQm@OAb6kb^~hc| z#U!%+X8%5A?o-)4(`Qpg7rF#exJygIl1UfK@8$PSRLeVpM9TfR2;}p6jQ&kwyChx@ zZ-Kkj`?8L;{6YF~{`_=Gt`>egdDX`(J@&*x{*xp?+3@0J^ml!pFcXZo9LnFZH_$y{ZZc76 zJ1sgNwTp+yJBwOz?9z$W)9OIOTo8iBs(>o_JPkoH^ko#%h#1$YuPvCipbS3vpI%Mbe57Mx!?M^%7$h2G-ZFv|UAn#G7#?i;gs zJ=&{+Q{W#KXYb)pjaE08@E(6^K)LAmYq(mYI6iR4lxP3WU+rgbk>c~gD^cL4KiZXF z-yxrS;8TB{k_PiV@km)TxF9OvVA^*9pPzJ1Ib)Jus~$6WE15#3`u6Ttq{Rq>X)gWw zJFEF2+2t(Ht!NpbebAr}2iYV-f`ecUeScP*O~oAXz*1D0T;>;)rW&FHwqhWCaaQRt z^Rq6o7Vfgbe5I9Q`pQvo?4^;nu3h9AfO6e8zSXVCICB3MRdt|tch`v(#I`*N=CaY+ zR~E%9aty^6l?>EdOhQ*7aqD~21h>s4bR4}gV|5+8u}SAYfU`RLFJ85uf~z69i3a5{ z4we{tI-a#86O1uM@gW}ahc#~?IIGQG)v~%OJA`x#1cu)m2-(uPe>!6eg;=y>^Y19< ziPUlIJn?lg@N4b5wugFq8;JE&5~aA@mEln4SZY5(SN@9Eet`$hh+w)h9I7X}bk{-p z;U75r|D!X}5$!3tD)Vngfe*vpn)GA;Pf|sfSNuUrmw@gKwLWov^<_8?MQWIW-@6qs zw2SUCX%te|1C`T?OS6|W@JS3N)})E3L|R^1@-Fzu*7|v%^^pm`E1?KhEo3XlWrPJ> zT9j^*!s{XKG~GFU(ITAdjscwB;(CN_5bhiQgl(37aCDD=zLzEfJn5R|I)G`&v|pRK z(7&VofV`UM6ol7(q8AxJunx4j@YyHn)H`=sJy^WA8otq85)%24)0ROat72@+F1gjZ z#oXv^xWB0#t*MQbY13%X#*!A6WEs!F7=tlWv9XplE)q~TzqnGJzF2Hl1Xa!Vo|`(; z;rLC^031BNMhkgx^MKrucSEzm_r|9#2Mc)zZm`n^rdxX54&3y4>6sDvOt%}pI!Ff9r$BE0^q0aJ}=~yl$^`84wR`pSpQ*$a2>D(D7T`I1$oU%dvI%v@a%NbjK%53c7bj4+18EuUmqV z+KYqqf}2Fp_LHvXujuZVp=;Z*!M1%?>G1gPYBOhikJoDd5GS#J2-Ez(qxA16{X3Wb zJ>&k#&IWfF zb$X_|H(fK#Ye$5d63R)87~NGT&Ku$$C{+kM4apLFZaVAxb3FHvyP@c{vosoj4R4<< zjRuPjp6Oc7gmE>qOKWnmR-i}LRT{>u&y{QTsz2EH>4b5NJp8 z2NFg;o;02wRblDe30ywZYq0|7iXQ`j2*(ArtPz-&enhrM$JSOaJc&hk?(R{mk=iQ& zsdTj>|H3x7#UttjB|oA%cp~$0car88dJyqbX((%VS1O-~#B}4Z{Xmp|luIr0@8ka+ zpMU4W|LOU{pdw{rnfntA@DZ$A3^kc4-pkCM)4eOwjk(_4G=j}0IphQdBbNOxFHLZo zf4>mNH2#BB$o()?Bo~5v&+GmeH+HR>M2@6&GBb9|Exs%y?Srh=r6;~K{0GTn_uW69 zAW2DrjWe!ev9>u)FWuzlB=7K|LbnPdl}fv`^viRSpk`|}2BqzQC-C%yQ;zqf7j|*X z1Ym@}rvjhj>@SBO`kR5{>!8(ecc76btxFDJ?-^NbhsP0WF=~Cd&d#Hw-qpuK)G{6 zXuW)5R675RpLo{HLzZ-abSyV;7WVL{Gsj+n?;?qsqRPAlX=g(tKFj5kY<=&U#wfBahL+K5UoLI zH|p5!Va&8*=ScnRvSoLzNz-4eKx8vX5m7NkeV>)kcE zoWS=kqLcsPwPs-|UN8a5-mVXA?<(if)BD3honuI!Gg^y-dI-NuYW^S(#V7OE-;;_U zT+cn6B5(Jj4nT7PlfXt8T|!@D`4=2rbEo)NNc8|jey_y8Y(z`64JWT4n zy}};0FJd}hPN(_Q+5e>M{a3qua8S9g{SzOvCLWK$WjKO=ZA&WpGs9i`QC!96F_Gh9tnRK?LHfRQyr4tw6VHM@8C zNdQKCVUgrpFSf)ec6_zY<()9A1#r~L?Cyy~w}HLYS-3h^(|Vv>?q)Sd z<)#U_g z^7++A;LB@iHM6w{5&|Y`*pojlHD9-=>l0xfRP3+09Sy!RS@O;{A#lT=&sR`7Fvo{P z94*#_1Jca1(TTo>Ek;9J_|U#)_ku0hCFBWD+k4wyLrn5k5_nKu7_jGFpUpdIf>X0* z>L*ZtZKm0LdYuc9J6R6Ruy!usMmg{tt*TfbcfBE4-uN_cKm=N|`0lB=KTvk-?B&4X ziC(#K{$h8}xdw(Q?=lO}aSR+-kusfMh6}sdldJ?dhFvb?w zPisE((NZCPSTK!f%m$gaw|BIZ^TNTKKj}A-)s%536-H{vCS~>;0v>syI`h1VIYKMS zlIOT|t~aeW=kbxLOg)>u+}43zW$mjA`Boj)XV@NcG}~FPZ7mE?Zr2e8iye`J-;udSSWlgL zG#X5GbU&U6eVZ8(4G||J;#6mq*0@VG>4KWC0EQ<*HslLHYsH;ynbK*zM&#tmfCv5YMPYT^+47WQWeC>=yxG{ zqE;}E>7K$o2~=%lx^{$rmu+>LX;p<%!?9zO#J1uA6*qvMP7%s zO;*X3DLL{nIi#syilSoyuJlE3m{9mqZ4J1bZ3dGb>%YJE2nA_kaBz|>67eHar&Otq7CXd*ODslA2bfrAa`bz8NA0mlw$Us~fPi^KkIXUO{qp6lX4%NBeOe^Z-OfPX=IbcSS>zwc3h)^uf0o?Ig%R>j5^UNU z#EI+r4K-C)>rTt7qQc<#l7fXf^8kJNrd$_SuN} zcZm#&We@U5FNd#mAJzny$&R7V2kS@p+S;*H(!0cRo$~}X{Wpiln0nW?0-2$%F2;VG zEq*2oiIUULyqD9D9lsar&NKLd!$$JcdSm99t*v|y0@nyCigEMu)>i<_mvy2ibYyZT zQ9ZECca=4^^cysaBpH=(<^Hs|_Y!aMWrnwqY6>DElx5u)hWH%$Vv+OQdb^PjU4#qH(9DU&q&0#fUgwWaxTn0XZ>JTwR0b6%n&Q z`-l7*w5|0$Dn8mE;k)<}zFB64z0mWD-#4nmRE!Rj7epkiHVpuX1nBuTUAC}>g&o=ii0hSF4)L^!Aw5caM~aPs0A z!G6N{j%65MAlmVLy{9Fv^xYNy_}VfI@6`Gik7>SLbajRt+p zulA4_par>9AccwNxu|A7)uSaX-DPDw7xiwwKV4%O>DP#!C8HIfE$`0u3uDZ)p4VY~ zHSq0WSdK8p@#oQMT~!bK=u&I}7)V&9_grShk%Zd~{vvHoq=|EDcN#kcVPZ2BQxXs=r6HNM%)Pxxzrb#Un0riC0R8F`a#Z!O)pyo@&|? z@Ak^gv6aZtf1DvT*37hFI04c)`)gk7`;^IjaiD!EMbs~^J}ZMqW+yUCTX8jiEXgmg zy&!uGnjtaHBx)(n_|yJ<>Ged70%KTA*yK(S5;kY_Z$+C2g;kg}%bCQMUhVMLKKBaL zig*Q*1`gXLw7IG?Uq0E#@miF)6Y$eTPGpZ3k0d6vy?Ays@J8LdIL}`3(^L^GFwU{@ zmSxX{Iih(iHQsvj6p=5vF0fsb4$awMS7oe$Pnq~RxfF38n#o&C>)WI4kX^+#1gEo_ zR|_YYvHd=t(^xR+mPzf2%>Es*$&wTVn*J(#V~0a*JYSM+65#do!#zdcGVsIe_r7Rj ztjpPL^1Op{;Dpx1&Et+{zv_Oyey6nS(=x>hJ!X@)HLryWc6Ilb14*Q+%k9|GHoZvj z_~jqf56?uw_0=2p_LaaSqf4dhRZ{;71`22)&JUkJa&(@tujBle1X3;Mv|lu+Q%ejI z_$ywGhD4qHoO7fe^lz5Kge4b5oZ;_Fm8Yo+zQLT zc%o3R1H0sNzGyfwhnvq3v2_SNkZAmz5B23_X|&g=-gR%`>clIc4!5aF@a_(|T$1Cm?*i(GnM>L#gu#^?)YPVEFT9>r1qq>7% zX1FG~_*TRXTb0eCb_DN^5OaubA7s+E$<#~?<$eeIFbtpfxjUX%t zgHwiBlBi`xu^QnE+|oS6)N&Z3(yVJiLUP>C>s;ShpRBgzN|8E(e+Y#;#+ud|#Pg;* z*4L39ryuuOulZ!$h}vu9%;TLMCSR3K9F#9+P+|$75cpiNgwJU{o9ys2(%u`YxDg&O zn6mM~-Q2Lc(62N@%{n}j0igZW&52SGYBB>qrcKr0@tdD7I@&BISD-6zCGWHEjw{{Q-gSmLJC3-&RZyra&;otw8|)f&ZVHgP^D!E=nS zRiNmhRQ(>9uF`B2tMv|DTkw<~mS9I{*{NKt{vI^iyjl&hrJ)xk(VARlk9+1gXGj-~ z90C3g^e)Ox7lKo;0Kt8bNB_CNd`F3G&ExO-V&i85UkwmBB3QrJM`Ib zm9LJUrsEWqz$IqbR!PL!B&xu^8Sf?xSB#J!mta=U6O=?0K)ZG}jHb9-5XD~{enhJ>b9zN~>#A1NkZjs00J|I7JlsYh43i(B` z;vv1(QCI3;tvN-DY*zO8gQOjo5#&f=^AR|BQ;Vk z_ftEKk9&d}PUcs+2X~CZ+_vJ%8sZO*#}on)GM$TI4f@;~ zB}!~Q(d|p7hB1PR2vSGJRRNZJ&ip=up7}(8iD0vFaEd8^URtUcz{+rVtqqc*Rt`*vBz0>@SXTrRnQ>i07fL$Mxy~m5zI-(Hrv_9 zxXn1@#EXDPQFI|vT<|P?>z+#^n8tJ8k`w8wa#ow=ZLTtrHaOTM6!7qU<2-}QEKEQQ z<5@|um?0m!b_NPG#z=n9iSp9Xp|3XS$D@d{u#aPB6xhh{&MXNB82*J;c5?*eoZ?HW zx|bLwer>JQ%lfhrR@jxcZ%#X~p(iR}PTYN*-fDNix}p0A$wAjAgDklkizak?=iFJZ zcJWb(f{w9DM`!*$A46MV?Vbfp)~8$`_U8$^-E(K@5s_-%M#Ec|LM=0@ME@D@yCa9P zasHqK)a!lxqcw$+vW3g9ho1#8g}7{@nWg~~pQ|e!~YEeyKN_?)RJvLRIu5C7^wm2HYTQ&v*uvnc; zh|17}d8H+iy{?pHp=cah@rHxI3f+c?bm34(ebQ{KY*xyPYxxk#=TdL!FUoPPiqXmNl{0x$S=wiqh73*c`x^5dZEg(_ zn`yV(etgSys;yx69pU>6QL&YcyvNq`y#jg&5Z-)zj@XwoDRC>*n&#hKQC5vu`(F!_ zFZ9=-OU-|W$?#i8!+FD>L8x_DF4rv(iYJ(S|96;N)0~!=8Q0gkMo<%l`1#>z6NgdK z#o5{QISe@_1N&Fzw?sYiP{%wuBb5jN_2=Nf+6I-2zD0=k>;Vo6PEv zvw7N#XS@|2J02cky$6yKQhO(6y6G~5dv^YZAdD<^EUk)*yHbB$Nr{OAF=2DLwGcTQ z&eXa$A2)~081-{_4%ZJfH;frx#V;@ku6^cUz#w`hEvx(f$Ls|s&EPtFEqrwaX~$cX z)LGf^d%s;9l6Qy7T(`*0Sa`(U@EJEre?LQsZixD%=mvBw+ykz>u%en7gIGG z;E2g#|CEGNy-BXeT!2-3(>;hcLvvoA=lNcFUD^Yc%ehd%9CH`2I0mj9=hvcrVRu@2 zS@lhyx7^xX=rWrNQ2()^zO|4AobKI7nI`;`(a$bkCxF5wUc=ye@TXEj-}h#f)Ui*! zuW}9xkG7mNGjPggMc~R2p}$n7oFu!3=bwFxX8Xn_Dg8cqem!69L;qQ+aPn!1PH<>p zFA>T2?6~yU#BX#3{tH1hO9RnhY6&WuqvK$q)^&-37N$Q4+8j` z0*toi(j@n2hoXuw*&~uu>1(k~U=0=SOIi?dK#WNrJVg6HGanwp~%t7>bNLeZ=3ffG^PAE$|l5)wtpt_B`mFF zV6fH1RvXTD!&FY&_eotLd;lhVTJJ!^AJ=^)CNMpJle#}h^p7cC-cUzj-%+>ybF6Gb zdYxG}UYjj!ts5|O%fLqly`m7LZ4!F?78)x|%JrJl5Nr!1)G(mE`z}8_`Ym6@W%-iq z*L*5oFnRIA67QSm2!zh;@(k+iE$8yDs&-IWgN_2C$uI~P_p>222*;RsUiZ#ig*O-5By z=K;qQ0~TyC2V*jX3wVa9phk5uJF{SKDG+V_Dzr#!7r1I8kqr|pIHGh}&=9+I8H zA-^s%&&vu*q$?z+`0Mzb%132I5$l<*QXcfiEaP=!W3k)Zwo3wm@3>C2empNfwJ)F~ zi#qcY3I$dQx79BKUS^i9j!yRDWO>Hm(pVLWt=m``^lxlgEq1+WBYAt8uDzQ#x52Si zqL`s=IFZZJxLEJt6wdC+{Cgex?(@dh+r#j|K%hDMj~h&gmjB)7+z-|6BzPPPNGZ^ARi6} zMK$b9agROAXRcm`f)Wjs40bC+Dj~0szk$MP@qCX&5sCr9y7arsd1AokgTm#l8SIcB zzha@%fIdZ)K$?~D^ib&!)J|UK@p>xk0Ihlq%snm_TiCh67TYlV@>NnNA|Jf3sB6!#-Lt=O$Qr@WdN(GYJ z>i8OG#8vhAMPM<-5Fi=FW$*!Hyf+I=q=*&zz&qD>%`XCa%r6$~R-J2HS-Kidg0Q*= zkk4<}%^1YS`ko2J`WfgZZ6W;CJw`_ZaprdzZAiSZZ4HUwNSl zRI<*Q?R_H*PA9ifIz6Wyru^JAUT*F#^emz4p*3eLW&OsEzopm)H_>TVOxZlwofce$ zU}Ad1FXGTLy4!Ev%EvQ)CWUr=?Edd9pc-TM0f5LNtt@pR^(bcrR6U8kxebTjQk z{R~C+dZl3>>F?Tiz6*}ERg?-5O6W~(_&#evJ9OQ6&gm5d7OkyE%YO23Q6tY)JK||m zf~;Sj6!HV3_^VV?82bVXi~#3-0LVZy%quvxR4aD~kdPTDqj_R~x;S^)1Bp1(UkcK0_etTos_Pu|O#LI%-8K zvCbIOmnyhyYesHzZazu+gR4gNie!<=g-!Nw0z;~)iu6*6MRa}m*%!)0`s>d*c3bx} zxkp}`i)+>IbyX8=Y}2pY57ya1Rs(^!^j=iJWgt;qoud-|=pZ?WFG3|^iiXj}2h+hW z*goKz!u?AZ5be!i9Ww2z{>>%635OBC?p4d{SElLam4+4>C&_YFJWWj-i*&0@O+S)T z7Bij0Uk(HGKg>ezzxf7O3xH+RHn@1WlTQx_Kuj9u$iJ_gF+F(#luJeo6CH6G?4))Z z9=LN9^L_5iwT}ZUz~zJRO6GWON-_N@uR2JvIo>Z6shGoX=LB>c4aXQJmFJt&e5s&? zz_T}Ve!9D2i06P)S2uR_F2YBF2iP*1Ahn5<_&fww$2yr%dvtY$Sv!kaL(GP!+irN=6Al12n z?cEy{od02F|5d#Fukzi0(fl&{Gtpgp-xI@a|AfzB(|?)a?nrr9S^9%i0)Fc8IU<%G z)ud-~V{_0bR{`@9I%sD51)R%PS-$uN3nF2g;c75&G>q3%J`TVu9K&n5@>r<88l7zi zVO^20@6SSj2tTZd5(T(Rq|3p>gD6_3J!h(FXJio4_u|-IwN{`22sAsQh;yv$6wpxhwd|?pLo!IqhE-FZ{)a`M1${Xwh_t z&D?!D^vYna%gqHg2kj&=l&@5H927Mkx(o$3`)e}%MQ;h5AI0S8dHUKT z*tN_@QLjr_sg238e~?n(kZF?ebX4VAte;sdF17g?gR@YjX{Y>mx8lJDZ4YIZ|Kqt! z&uezH3hfH6n50)sdJ3>A#o|R@sglt-{Q4Ln9`j^aWQ1#k^r^e%f->}xLT|3jqzX`_ zUnn;Rx(j%eyB8N(9cv6~uh@r(yU(OS57zyk^kuCx`j(|NL=IhG%|J6Fio{VRyKz6X zZ^&pS4Oqb==lNa-uoC^1WtU(C2s$|USPf|nJc0&qUwV|6lHalQ2E^h);*G-abNh3^?Gmsigot?upSl>DH6bNf?ULshqr{)R>4 zwa$IV#m}C4;(YxgcWxd5%UgwhPc{>?6!w?*Q`z|$0LsbI-T5F0aX&;^$6 zoBqZcsfM#pi86o5SMycdJ-qc2dwTs`208wBGxdMmKzAmh&jmys!z27qi)&E}JIwky zetgw~Ywvw$@wa~%3#Fj2*L=c(wX!5+ka>;o@WYt*^M_X>KmL9SUV{v^n2X824l&u| z{N)kN_T^&S-wxhg>LGOUy0iTI>FteQD z^tW4#mCwjV27{dcKCGy!AAdC=|4FukZWpxCDgSdKxAAB^TG#LDsV|ck{2XBy{|8AF zIQbAPZkpF}4xt->Ca#{bcQt>iRLo89Bj2G?Q=n-gdu(^|8`5XemDPFW79rcx=(>ND zPG(J^`fLB-fRB#o#-?em8 zV0U|9U`61a(KdKRe4?w*l=l=Q*MPNZQn?;8RuUJu?=V^|VW!%ned_`)5T|&yo{y!o zdXTkO@X>_TrPm4)7V^kxsk($Eb$aubb{QcW$khmR84JqzgM_sUoSOg1@;%^t9f6%4 zLN55t3KZ*5C=b13i|NT+H9p8CG7vK`xFi71Vt50a^M}t&o!#CB6D-{?Gk>u3b@U|` zLNd8->wok*@a^G-+XaCI7NO@L!yK@2!TTII`|v;7h1c zNl&9OtnOoF=GW$GXrI-CFU{jcaEdMMymR3=##-e_ z?J!6$5KVKftXZNNpQ6YNydxG|K{(q7yVQlwamPED4PpN0)<^qYkYM- zBeB3zzY{Z~c(TtENG?5Wu?v5)U_CQCn;6izJl3GLDKnw{)2oA`vDLXs>a5K9X6(o71xFLqy>fM=tC?&*3qk!LO#fzDbJ4WbVUm$YBxE2VCE-v=Anp>#EBB}Pz*bEz1^tKlSq!&k$59HWh80uer`>f#Y$>2(>*-^mN?sZ^r`_$Pi>$Nv9e+TYcMSgPs@T9UTQY7~J zvV>*hnjK^j`$m2T4^L83{2f(;g6IT0h9@6al99%%xFyEfxH=sJoVkV|L99Aw5X^}! zVhF~2_Xx!@gP-@xHHrDnf??BM_g&`{d2yoK_KLhB;q^4ioK8XOj46_5W3nR|UCn+Ya43~gd#CP6Mg?;o{3zMm!B@w%gC zvHxc*z;YB&y8fmf!Q;MRjrY0qnXZfN{HR%?tE=Veu_@l>eYi=-nlAsEcukwojec5` zhgyKpeReM>Lj2tyB(2@sAPqh#ZV%08iYEJJ61WaVjIrU+asN8^YeD(WwzssF>Gkdg z!k-0g2DRqX8ScgPb9AgS1Nw|?1r06q%(~9=y7m?*#3O+_!qFVMwYbrE@9AcF3Tk^Z zpVonmL(B4K_`;j~QN3YxF9*`zXb9^ZSYxC5&rzX%#>KayH^`u`rNiEM53#!P6Zyz# zJ9T~=XbOeF4wCcqc3t$giaK)>{vcV8uQ$KTW^Nc4Bb2H1tWhy2Vnp}x< zfF$f#yj&wRLGDnBv`OzKTtpO(6`wVp4zY^OJ#~j-ojyET&3!~v%i10$=}0dQnOQyH z2;w}bvtThi+7xKtZcTDQ*s@qZn8Gk)3}gB^>5`PZmCv8dz2&BC`u!po9$KCfV|!j2 zzW>+28O}P%`hH{8lhGFi)PNS0aDA2(Gb7IVG@_~9tFe}DSXof;yzT#6vpWCZRHtLL z@Wo5Jqs6t^C-p~u%TXirsc`kab?m-bJ^gqBjD~UGo$c4-FVErxnuSfqC#rsK-=7N< z`;ru#h*g{ z8py{gCF#zfm9w-id>!VgJ8 zp$j)y{y|^7Zq%~FCHzlDOS9mS zeelX3B$sNa+e+$egVk%HDhY@o>PtL4IrC>IYA*HAGWvjcCwyID`_N;u++>B73%TlE z$nyTIul3Fb1IxCUq3V*`no$^Xv>~aQi(DDKf}&qEEzzm}tl>Aq&$OV=D5CM-aJETV z7Xdsp;Z~zU*3XXnbY+#>IvP9b!xupI6EAlh*(*4@=~G-t(z>#J&}Uj4w#szu>O}-4 zS*u9tUgx5Z0^6(OtV1K?d)Ckzft%-9ISC)g_`4XiJl1(_6#SjZ#0>VOb;OEe@Xpb- zHd&VkAp))sQ=$ztd?HCW_oA+mj2J!bl&XY;K2TbyolRu<;G%h8hzJ)WAW*-x<~4e!-0$=&i$iT z;mjA-*#`UOfC|e;Kn?|xk9c2iPFzkR_OdQ-8=J$bPkR^2P69h zBIX&&9#PGx~~&@k$iV$x)kHirD!wo3cS=d;HNmzRRo z2~RVUxP{M8N4ZeHE!)(=>+xP$E2*LmA_TGJEW>Bp8t(TIDbb5o+0GP!JuYW zC28!;O;2x(iZmt`HQVA6bZLgXJ^6zaosVlR&g+TwxrakW+rk2tVoNTdq@iTwqAI46 zOQ+#zIHLjn$m=;6ix?hzHGS)8e_iFUn?l37KD*#zjSbJKHq3 z%D81chaQ0aVt(Wee^@%?oit8b(HcN^Bi&Fe=1T6Jf9+oM;ILy<+FJoqrsw5=ot9Za z{w(8sUo#{hs1>WC?Ge@v;z+Dq@J`@}uDUQ}Y@HFxkk^>xR?B_V)dwD!cv(=t5a?;h zGCQHfMBhh@p<+tD=?hTI%d?9e!2PtO^BTp?6EUmnTpLnfe2ZT)1xnTT(?>YeuUt*) zamn5Va@RCTRZn;H?s$*@P-tfW1fR?^dE--2rrCG=k^rcbkioPV6q(swYEmzKjQK6L zdXvGUkt~b(cPBS48~))Wvk<=pl521yCGbI}bT_ zEdR~li$%}|Q*#|s*2mR*3*}W|(x0f5I!1`PmfN?zvsX00-V}&-E$H2sGVy8v6Sv#n z{g&%WXYaOMg}L_uhl=HZDYY$NaIliw&IhVKej?S`u zB=@(iTE_^f+tQB6$f{eRU+Fw=46up@pX}pq^|*QqZp=cehu~=MUc8D=6{kp1E3zS; z{N=T=v|16g+*Y(e^2DSC6Pz{2$m;5}AJv54+BgWxtdyoV}Rk&T$U4&|gd1e3BgH)65BA136E(dSiPRhxAbU zvx|3R%GSwpLRe2#pDp{YpT8iIOvKdGnW76y*m1JV+i{Xse_%KX-DB<=e$615iPK5C zjJNqZ$H*^17VrlN?Tf5p9*7+JnRZ(KIvDHNBP>_X;u1>4o#J$r@amwpthcv%w|JqH zw01GgI{idZrxx#-PTew>d{rAJ&GKp%TOMQ)y#xKP z*7)HMx;BNu@i*L)23}7TXY}~)tUkTii$;&BF>OIou+Tl({8gzU>hsj=P&$%=6y3qR zuf4gYE{QrPDgy9w9*f2c=djIX@|-W$MJ{oQUhJT4)V#^~w{`eX$Ihfg zoPcTq3=0!LFbPT5E#s{?L>4;Zg)zOqFuRqb8G zdo7N%SNHNm^xD)f&u6!PubQSAjjkGmcW>)s*SKpD&5X*#PBNEORa%QC$aXYV2fycZ z3^37|NsP`&(yCbPL|D{?nE%tkN0$Jv(hANOI}+ zYfWpW(nsrSwTTxo{SXTikE$R?dwXpES|Lq~?hgFZr8g|^HeEAHROD)QJ=BXL$gEm^ z1iT5Mlf9l%@P3~oK?UHJbpfrV7YO!cTjv$8QR^wSW5^1w*ec}^a|(Wla{jucL23G; zq-~t_Q`1CotugftoXqcbx>u_EEDwG41aJn~Slcx6lChD1-0lwY!VHe52du)XmXHm} zYM8AN8BnUv>wl1N7X7MAVrpw=dJlqjCA=&q+m*{7B-mk94cea1?3UIdX}8@4QHwsF zeqeWv(ZQmmI)EA4F?(_M3J(+&l(eyh&$8jBT^&&r2d%8=W3tzH8?8IBIp1VsFNqUs zeo%VPUch#I6uUUC9wLuE%2IP&J3&Hzb|jPSoVMkom0n@HpCBuo=y~7ZP~IqSCjIh2 zUJI!DeIbN+y_7znO4xOcKlBT24TKdsT$N%v+|h!@WmzM+p5oNnLH)Y0PhCfLNofc? zE<|&+Jhxm<1y0OrKwAn?ZT(rS@@?U@3QcrD-Fh0;q2sQ3J0*pTj@=%^3XMdD4Q5Vx z4`K7Yj1jIoKLYGuQC)Diu!u?vF1dK=To+Im&;%!?PoQ1luOYHD!6~H;r7)%z1;kCX zP1cW!sDo;=Y3ZT^DbfuO8lzu)9hGo<`yqgROp>UuA?f?)XVVyFlLr+se7rt4#cTnk z@C*kaM2APXp1j+sS?s6*SLvhG8e%C;sj}}UP3V4!mYIU^^If%{&yi1c=}qbTdp;Qb z`ch3>u!ztX%v9q=0Rdo&%oJ#@TmzpsLS+Fe}NJrXG) zzl`#qMmpj(>njCoZ~fM7m~t)%yB7495E3<{%-x5&XzdY{TB;M^vM*Si0~71$Q#c}p zC#4Ab?-kO0+QtNMqFiWE7vIz6Od?g;vTb!~KpLK8n9{7ebiuYOn@ZU2Rep)FQsI5) zBzwmx8fSg(*(I88-b>`kLV-a-s4D#&xwgVyWO(m|h@Z)s-$zp(`;jo5+Trv+_Fl8t zO&-3i1kw$C4OyT4TvaruIXA7!e&j$=lFXgsNL%k*;)N-w?H^8cCSkC#1cX^rXlQZn zTD%}0sw?(;;E&l%^Ys4x5^FLz{wuIe2I)PSc$5Mqc_I8~IG{x7Z60AIFcnn=`h`xx zJoqwlWuB?}^ISVM${Q$w>zX9fb0@5xkVgfBm}l{sLh7s~4BZ$B8hi;wCr3_UWs~ZXz1d$swn2;9#GZcc`Y2J%GrKWv80m9@*~T&Yow zxKaAYAhSKSB>IJKEGK$*0osw3^pwW$V^!LlOcTU){0qa9l1rawUDX1T>Dq;bB#_XP zMrnp-BRPN1j56Gws^qNQZgU#MQ76k9tP%#!#SnmRrvd^oC+PT)C;tq>(P^{Dnk7*h zx{ws(H#DSG^lj3()p5EyZ>&6kUdoKl<)vdO1!GyA0}|tr_K7Y6-h|nN494-jpd72y|*8e2zAaH)WcMo3rowP-KS1Z0^gs zo+Yvd#5!+eyz#S*oOW+(=&V?=rTfrdy18}e{Zm_~oekrnyRO7x+Ods$R-E@`ki;kV70 zN2a1aK>g{O&z!wf8~!l zt`=SX8krVpvHR4nTA#nj=*%|0eK&E^kdpO_IQ>ZH!PuaXA@bhauUAC}gr9OLXV!OH z&|O{h%9xOk-`CCGnfRveak*46;eKxZJHS05h@|vxA<4Kmd=E+}5c;KT+rat4S&bAIAp}xH`!Y()rAW!>#`H(q&6@n-{Xj>>OCa6l4Rk<3 z4nupNfVb2CWn2JKGq(G!*S$F6U>T`VRgcdUSF_Vknn6opjsb~d5tq6m5Y@~~4U@>l zDXuqhj8Z7ikH&#)BPa9`>l6JVoULMqVH@2T9fzXywwq+D?hvYSyq4-7hE=0e={5$L zYb{%nZn|aW{E{iijdLgnUZgT{Y|oUGMIIpQM733U}u>aW$AgJxitjOq%dd-O%*ccuY%@`Znq9 zP^)I;F#MV=ZizWc0^NZYycdr~bz$^NmESH5=ED(dQxo-@?lHUhnC7gBt9;_S7)*mI z%{r+3HdbDKaU6FmnF>F1FK?dU#ZOL^roT%th)3~NApaE0Ynu1>OROuBSOJh^@Q$Ru zx{|7tTk}u4+4W!QeO=+U?537=%>s+I8Xh!aSNz^f*)OpDBd}Jggn_Y5w1?R!DWMFD zgQ6^HDl6|U`vd4FmFfgI*4>g4Tf*)JpQ(Y<;!wD|`LZ;0x3v3K&L#dMnO zNBR#`H({$+`AfM{%}9>r0Vwnv5MzWIEU1XhyqoeeDnRy2q27UO&4tkR!1DBjVH2sY zQ}sZe7$1v6S;9Z3CC1b4n$cIGzpSM-U`OeIpIANJd(@z=aD27hWy0xmKAw;j5zw95 z#s`Yi6wc9FP^4ZzZvKcI~siAY9F}L*eW8 z0P6xf=`9@d8}p4qApNi|dC#jmi!b4C3zmg<@$lt7i8hY)l%0l}4L2HFfgqx)nb1^+ zENk3tQ0K>d11(;pt&+a|&MyobgkFWn7sTZGeRGznys;%^qQ{M`?9K4&cLYV;V?!h+ z4w?c;d2+wkA=UYpRI#_PKSddjZ4`8ch}m$hyx}I9+|+*}b@`Ngi2O*^L~IVF7*Wxh zcG6o4WZ)ZjSui?viy62{f3SOG9HY^znJFd7YS%ZId%gMxNS(R^{qudtk9Rk(AaMn1 zl+^OJ;9_WDsGz{RvOW!)r=b`I;Hc?xVx=DcRaN0@0a};qsG7 zO1bYdAE_a=-{z^TmH#IYwD9Y_G0^j1Db3)23g@fGUyuHqF>ab4boT!6_R=g)L_5=j*Wf!T}eBysimXy)lEQc^f;Au zI*$Q&%l~XX6}Mns+Eyz9(rmD==+b<|P<$#Bf36Jca<z}h-^~E^fz~5aztF0=^>}vXCe5S_UCtV4dFAEs||xJZEM%mu9~Lk zbM?&r_mtA$(Osq(1cXI^Z*+>sI&S#sdYHy(n3c3tUuK4$%|gvpI$_Y%$oRaiTVYMv z#AeN1Paj^xGn@IYNZi@pt8LoQ6F$GHz{He()jMD3vc&BcNYsaZdG>e3-)fl}QWk9^ zw?#{}?MB=qty4cauzWk4ze~ZS$Em50BT?G@Oa5ozRnY}^&qYc z-U9<6JvFEA6K@gXEkU|ZLfww`bljZT#u_EeH)e%KqPtVeZ?V%Wl_vcKiWq*GK&hT_BD@z)}-QZjLUz;f>G3 zZSJ!>IDQpWh|_m8a&j^8(q!hXzPCKRW8KJavQ2r6`{ag*u5taRZTq#gb!;)51U^8S zM9jg#UqQ=R*e)0;?PdqTF+blr{D=;bN(6E2@auBeRqC+3Lkq&yGDoY2+zE98=*%RC zu-)5fhDo}E^~Vm^l|61x{-PfWn{xknUP@L!^XHC8^9>a}wpnY#0}VkqUmwUx_o{Ba zn;!Peb%*j_zWZO^?yBu%^N(xY;se(ijvuBB6&{*dWU+H?DW;&z#RLuBl8WpP!w~+; zCUHbD=H#0?)V&6h(cCoU1@qQfI*@Cbxxm1DI%k}FldmRm_p8wSR`yrMfZP@HT|7)n zgaDy^M9=GQoO#>9NRQ;le7i+xb$o?t4c|P))cg+$0iu+K39(VCeXP<2KcMfN0>6cE z7Xfo_PdKh>hbV&a2&!t9g98hT%Uee~397aNhavB%;JO`ig!bU?xzDbH_U4Eicqu{b zXDf0aDQ}h1aI+rwPTx1*Re#6C5z`oaL}M(b$wP0Zv5@l11|ax0v%i$=o>PxbunY+Z ztiJktz&G!=>Y~Rr4v{itvK2zyr5jFT*KarTpNV12+Og23knl&$C+79cukrSHx@x^uA5OEN{O zYHj&bdlPO-0&;COm6&OksWax?C~j&hx<1FU-y9(8RL@WAL(6kbZ?XI2rERn_ZWdDa zht}+pM!3oXzp_+q9qLiE=**2P0IhQGX1}ZhKTI<{(sG}W)SZ^$+tv6Qjlh%v@C&)Z z@u0K@n3-NrS;Ysw(?z2cH}qmBtCyzf{+*&V|J)ON0dVv3ERf)ukN zFf!$y=!@$8vUq!H9~S%TX#f%)4*;uzW_@3bvOzO{3OD~cz6oPMhoE)&|4Mj%{h0ke ziC^5AzdC25jqK;~m6?-5-oM@hKh&JHjmMksFrGr-U{T+*>!ROj|L+wo|EJi5Syq)a z4byn2#^a&&K`25wp6n8u>5bw+3)3YNCA7@}%4;T?B8ffXSJ}|1+t?O? zJ$Gu(0Xu&dtp+D7p-z()gTZ#%yw*;Mz2(p(`KYHvINU^X&VzcZ%%E0fR%28AJ_%BV z2t_RkQ|M2^=>qG6-h9OB@bRhq6wTrNZ(qh{IfWI_SSq>;)Qs|KeS+k|*=Rx{a^{cZ zwps2`DcjYfEu@0MbEBkX1A-M!hAYS2QksWOQ-kWf3f~LFU5;$`QCj^t?@`-6 z57M{Lu>q^F!N$5)(6f%i0)l`(3ps>7EfToZx$Rt9I|gFo5U24-!d)3M4rH;Mn| z+g=FUi8Fxt<(NLQRaxTiMc5XM?UIVz6T6j`&FFsaiqxw7eAe||wf)^wppr=N61)9e z-Eq!?XzqpGRJ(V#i@e$3Wvm5^jy7QZZbY$OF!peFb&9wumd2p;DeJSkC(l8D#@`{Q zE!7ogjxSGa2;O56pt{c?ryd%sjskx?(fEfM=wV6>(uY-L{~R@Rg2j$MZ+f_()p$NXSDeoZBED;N#k<^ za}&Su0uF29V2Lm%DUsRzpgaDYPhn|&1c%QG9tL&XV$@YN7SPQ)5 zJ$Z`wvK6!kq=db(Y_pIY{U59)OU|=~m{MgUUbwc`tcESjiF~@lnufBzL zvRL7T$SbFLcyDEHYqaJC?JXu~HMjAn-g+*#y_lflhy`o=m*#y0@OlfqqoRg*SCOQu zAkzxjuaqB+r&`ZV8Z=$s3%dg7WzZZ2j9tG*1G0oRU3n>fjx`LB%utL=@x?Gtd62fD zFzo`8f#orz-=$S~uSRqCHeU$8`#Y+Ip1BndK1R**6dGQy^3Km z)kP4VHWqY+*Ws5}hfI8qF>AFGRaw)ROZ^ve(bv~Mkm?zr?2h(%Eh{KPmxWx2mvWmSP&!3y+Z&tmsR z+Q4NE1nq`>zckLdA$p-dX9~~4@C*_}Wj;cZ(A_Bfghd1BIB03X4j;l}a?J^=viZ(@ z{tM-?_DsGwZ!Um`mes^zn+R8jcdw7`dKfYvXC%`C0UT9hZMlO390gN-&m6ioCvgUD z&T(aJWXE;hq^mD->)B#`-R)7+X4|T~D`{ZKXwHFvzY5!d&LY}gt97z|PeMk})yCh; zZ$HT!)PAGlc~&}@DK~4?yENvlVYTHR0r=#0Doe2R$P*WAeC*|7WnbCw304f)2ImQp zg2Bhn&(TQ8f+zE=7SO**nOiPYzp{$_l&5r9fdlAk={FM^0g%*Y`cZIFKaaCWe(_q^ zg0|>)GBNa=LeE@%02^|j*I+|?XBuXyapGnk(w54@rwj2`0T-2yMG^{D$Hv%bT@jD zAqL}X6mu+R-W@V=mnKWhVu`FsFb&$(YBeo0O0g9w2mftzs@_1C!di$ke2oQSUIVKy zRALF_Cj`+9vQj`QtN3a|?}q~aB@it}aBKud5Q8Evk0r*SH#5xOcl6)%VSzj-RN`Ed zYoQ3cWm3Iu!02jNHn78r%^ckUx!)0)xv?Pka?$@IS!YAH{cgjX?$lVXkDla*9HW&I zYLP~H6IsG~vMB$wZBTx0b<4!$v#o1dw)|U#T8u{RCvcK)jX&v+2Rf%2Ht{K}A9y!h zZh33$2t&*%ReKz`87K@E-9=8>!}IMD$o^fK6G?ja{o!aaShk?h91_k4+|9Uocp4CP zp*5d9Nq&$tIkTzZt?Lyx)Um+ZOM=VGp+7ly{m^|@i&hpPufDk){=CH4kVV~L7TFE_ zDUM&&S?|7K%n6;ee~Tc7!(f&)nWq)^8XBr!lSK3q0bu*y-sevVj@+5NpI}7p#;kDN zT=|iI*KU+)WVT@!v>pes#+A@^eV;Hk`N1h^QvKaJwCHC5=+*aXeyL5Mysp?6rr7TR z>?2lbE_&zi?2@<`5JPRZ&QHQcwc>;9;mQS7220OX?ee?2{FpW4Rid*Si*i^|3dwU_ zqW)B)Y}At1*mKaV)_oOF8<#sZv6{Fx@r)KqjBEhY3N{TPUL}3FI?jM|min&Tn>@1N zchu%7aeH@hNlYy>uGU2V-=#wo3RKh+7z~Ftg8aselVPrb`Flst?(MmIlwFT9 z2(X^*xE|+xauJM14|D%Oomm7GMH7SM`?=C!cc15Kr&es`7nFy}Zp$o}F>8Yaa@E?* z^g;LZL_(<(ERB*_MW%^vlwo8n`bRrx!{tgY{Z+Q_`hzMeP9B#6y@c{TgL*Z6xy%N4 zmFgBfbfcmnLSL5@O7+`*7M_TtL8!xrMur~ONw)h);fSM~C z&L1LQMYq|*k9~IBX~win9GKKJlg94i`Yk- zs5;)!=&=vSWuZusXGQ9II*ynfGNqCM6gAn-S2TlPU+lZ9y{*HY=Cl7AT5wC~C$H{O z;$h;4N_Maf`wZB{OVN_@*_5NyS6FldFB;)D=uL$k7-aA56de^?0un*Vu_Mtaj)}xm2%vncS!l~S zP7Pn;-<{aaDvdjyLVTgCK1U|?2Y3V&8Hem&%41Vk6kKu%F6`trp(i(YjvEnRS~GN# zg%hCAx}bRITD@08Bce)fUCQ?Cet4OM{{v-zg4UOI5@h>ZoQMN?&?*5>gd-!3c@ItJ zhpCoyXaNO_4XDMSKSy^;XL7pmKB*fdY8WCD#;(HthWFrxM`9wdC>a+Atp8h0B5z{f z{D9`%yO1+!%n)SH+Ou|pOxDOEFJ>EbZ0?<;s4J?++Hy?D?kL@>l}SY1i-=IUK}vDd z1O@F+)*#id(oDvX!A(7$Dl*AHpW3RNtQRdfH%~CsMVZfoADeH`e7cv@WqJsQW)?E? z{hTOZvbHa$4U4q`7y|eMhB{$GGB%IlIHx<@1KfTX|EV$Sdh6~otb&Y8NB8ld{n% z)C+?X#-76AewvQke-+6|$xO3DwgJ|*%`Mn8MQQ`jV=M0zpO(QAP(1^A>g1L$1DYBP z6X(c6A~<#bai$h+uT|uE^cXnIS&AHrQ6MKV(t_uqzeT?c8@| zd~?x=K83|2oYE*JR_fK_f_Kg8LE7BJG;%JDKEPle<%+@IQokm2Mqi!zKSl>)es!6Q z8M>CSmHHtvNx(s8oGeDm6qo24R2*md%COQlG+8bCKwQ7=I-9p;iq;sDby&shp^W}v zRI~1nUxMr2u<16Np@BTe;I&0PN(b65P%8v9xjjW+2!AA|hOR{ZIZJriLAK76W6dr# zrA`;}UNYWU^2c6(3p2NG0G0{-1NC*H@f6`X>f)UnlzBwsI`>HeO(lm4qYNWnp#aI4 zTE0?>XGJvI9Aj zB~>NvzPI!?Jbc;O>03S#q#6Gg2#OheG0VO^b`J7?|4n?nPt&Kt&zq3*I*X0fD}w=YGv?Z~5*)eGh&$C_48rtOhNODS ztEX|7XLN}hC<;hx=*3g-*Yk}$uSsHX-NlEV75HRmz6=Dq_W&t*Ydg6Md~H7d2Z{`!m8W9`=mgb+kJ;>!V}=1E$Wm7`l{ z_aVU$VP2pA-OBoZ1^7;b)@@)+*?&=!|71{fJ}4Ede>s%Kf6w6j3#UZ>OR1EhCT_Vf z{L8WY3!&J}|K}xZR4L^A^>@_?Xdfa>zX!~l=d=G{T5iv+{)1WhkL&+$IFsM@^K+QE z-Lg~x`);jwL4KK(aV-8~UFNTh90=4_ zfkqp(t}739O3=QWmWh$0GhVp=)j4+M%VGMrx54q#_gsZ0Hh~aqc7~8)-(dR>)Q#~M z^~`TuH*0U~z?-{cNQ3ZSlf1`wa;j6|ETo}dt1cerKX7hSg+sR>E2Fi59~m~b8d(fB z&NcdEy~ma-lDDU5y)%PW+P<(cbZv^qgVv+GgTQD1lGXv$9%No$HOQuR6(G!Lv-ds^ z=xm+Q5S+2_CiD(-W!`G;m>dzSqBd>PCM-1q@cr<7Ix8mfX(5hQ$z(r=G``3r#;LG>iH__N1o%j>P zls+FAvG3&>mJsnCeXG)-U(xeR1 zu$RcaP-D^Z4ew?6!Db({c+bw8 zNp$U&b;im)!m8V#l~U`4)KL;wX0YaZ^$$d$tunNY*#_&^0xjwcP)oTf*)*o*OGlZZ zZu&|J0h&n!F{1V9VX}-H-)bMcXEELm`d`bea^vXTA0xQro1%oAYfHwWK9B>;dencQ zJkOOpe$KeF2=Ne3xJ%n zGp&&xKEb*0lu-IT*x4D9cn;bL>_@3I^-Twlzx)F=uTbRmKPD~zAG>`6Nn8}Y&X+ib zpF|?CHAsr0>Qt%+mCMebn6O%p-3wBarEL{&)5-Ob1B`0pe zF5_3=SP9o{WqxcNcZOJ4H;at52P8NOxo2r?=k^6Y*u% zrUi}bY>sd`(8Jw-(%C3G*xf{=A}?rMWwe)|VPaLBTn#&xI^!5(%!AB_6fxV%<{Lzs z0kttT4B3Bak~TP%a+LT~8LInE9S;5X0VQv}6YwT8{A%-^uO^1(ly8Uup>1a3g=cK{^UZuM?TS&GE@I|hf%_EejLxm5 zpqyP7*Kkqk)2D#o$=AP1MXkq$`2SY8!ISc|^1vRMDD)5aH4|uf=Th5PVpXaAiBPP4 zK^pGCwuyEaCaw5(&We@XA-`Q|eQLds;yq$6Dv=+wYpo}PZi2g3u2I0dfIxBihE_;D%K3N_37lS#%nT#X zV6SlE6B!q(+n1H|YN9DsI>*v~Zg}~wy1XEHAG-M2JMRU1`8<9!kj0;TwhliYz3<-n z-S6Z0`q9ep#)g-oU9km}x^8#p+jd*E?(usrh>t{#;&`5=->7FqCXz=X`W3TYbLWLk zUai|jdC&akOlA|he#79yMT2_%e?mJ^4NLsbVp|HleA2F2#h{&W))CfYoRyt5=|)ts zwZEIP{P>zSRy^^J_3Ty8r?E^=)WXr=$3(qWq8CH&Qmnzn#r?aW54N>@DzgT~OE@rv z!wCgRs#^hIGe^tt@w%eON~{8zC-)+FGwUyh{J96M&i_U}n8+P*PON#1tR4nULmYCy zKAXjq#vy~5lrT?ii&r+D!`za|>N0)8m^2@P?(_9Vxpvy?$8j@gdZ#q@3k?j-x(*YX zR};=-sEzH2d3Rb!x(p5>gUo(s!5uf?%8k2^e62}?mW|Ec;IhDj-~NL)53g$}432Bq zUqmxTT%RIY1gVR4bP*9=Wg_QkKCnU7CD4Sds|+3Ymog)+aa|jAv-!t8vGG>0Yhx=h zy9@B*`BgMHc$ScC`w3#S<*o_7L7xip<9H}2VOYAxn@ZpqZhDC?RYi{A-$K6+(-@~g z#$l4lF~X#ePc-WxTK=V5Jm^MX8!3}&Uqj-aDd_X1@bX2}`>D6==1H}D(7?I`eENU+ z1#alLE{YeL-J73HN!CNlM>Xupvla{z9UhL0>iMRhb&cx_A7ii;{r=|?vSX!3IWKw% zxppU7BY2g6Q?ERJl37KWo>xF+^sNho(){I8%7*s={GX4{uJ2PLT}q_H8ck2zoTKb# zF{)b`6kWbqdFUqE-jKRx?>k1A2BXjTqu1C3yp#16pVRah4QbKn^k*3?{1_#&!^Emg z1H@LL7+j=pQWGJKQPb%N%ADypB`XkKn1mCdXc)%l*qP)Gr7I`@c}iM6x+)*eQ=dKl z7beazzmupH zDSFBb)rRCLOgy$aG{O11@G&|uQw(LwvTktC?7oq!W>KDy+uuVTJ`fj6?BLp=|0Pyl zeG+`o(-SE657cH)k54UT)2|2+%yuvYuWi=8ySQVH-D<|X542LhqbF=5WEz^WBp!o$%L)L1E$a`95(5zeF`|1p^rc(V*Uw!t~ z)cGl4ceyf6j9iUBvOYAyJMV^ott;WV$n@g$OkCxgXIFLIhcttkJg7GWTy}?UzCI2~ ziu?Vnt>9xWc3DEjOXM+m&|B`LTd5h`@nW2+_{6@l*`ON~`VW*0n=BX0)di{#>9*ZI zoy3h?7?n3n%O%DWn>3 zkF{+2^Yze5$YYL93V{2o>0Bx02ko@2;r>|=VF1qWD!*4%*E_pNi(gUu#@^(^U`fNU zaM$LH#V&ZQkl##sJ3IxW+`B8_x)e<3e4-*GVeIYWJ*8v@G9+v5!S!jH1-Nq1H>XN9 zw9lRo+@xa@B7(g)Y)>nHn5uSVO8BQE6TNXt;wFv9tX`P*JUC@V@RNY->280)?Xt+a)ly|{ng_Z9ZZKX^eW5e`E$(l21QscM8Nc$oo7QX_ z+LR5RuQoYn^i_-vkAepq4m*e;`>%{=Wb0d;o+7lnW_0x;-kx^WXyt3Q5eajsVJzQV#RC)x5@2I2TYqZ;Z_3W-8c8@=T7^9}c+ z_#bmFMZdgc!>4&9ClOP+QFzR~hK|~tj$llA!8P|_}A z6t3JI)_p8`sUDY%^qUx6pD$vx@h&huSMdx3or5DC`%tK1&BS@HWM}F#S5}(m(6g)~ z$s9`o70%VA_fLJO4GZ5?QU>AMn8}9%B6(S$G$&XE;fzW25Eoi9l}?qBz2E@9>OguV zH5ph#o^6A}toDRMH&{O9=$H0Ii^OU!HDj2@ttY7phzsTZ&8M~c36zpesxhcNV>^}+ znq|yEz2vKtQ(pNd-Su+4tz9L06Z5~9t>|*DW9~!|;tgPq5GYV*Hbr++xc2vHyQTI&hdbaVeqE%t#D5w}%MXlM%h#1B3D4SpT4PJ5-?%{Z z)3S+9m6hXs)g)6}_vmuK77`R%_vqX^#L3;g(srk;-Hu0L0ecFvo8?8yk#=VwwORKh zJ>avf?lsqzXuWpv(uq z&tvp$-;c_OXZY;6>!|nEW@NAXk;SfUAgpx-zLC_LtBXE`Vc$*8S^Wz-Ya*|d*XxEi z&}09BD!9#9m^?larHFtK!A1&gO$A4ek#qUtJO^37b9=T;zdXF>t(46LhP~2^&b>vw z(x2Jc{dXBx& zn`tLJuy!RARw6sk9Nl>R<{$c#qF79$rw3aP6W4j1!iutj&%}#%tJ1Bb>oP?Q;jSec z8D@uHFw+FC3H+?PrW!W(`7R@XGo!wR9J1e;*M)>leS;~KAeYVLiWwh~P`CBA36ht6 zpG>oQ(WsEHi5Y^#>54u)-z!4S#ybY}-nzakHuG=UqrJ25f5nNft<61liHAD{Rn+{7 zVaSzWA-j*VsP{sE(Vb7|3(O&h&vW!g43L^jD69iV?Lj9XYPakm*V+q!q5m`uQ%@{> zH5Zew|3YhKy*r(Np8&|LM@`{Zo{Q5S5f+3p{F@Koc{6%|#1%nCR9^E_>5X&_G%Pv? ziY|Fp-+@`ujmjoa`^rThF4)ODK`79AM-spBj*bwYA?hL;{8_Oo<@}v|^B7L3eh?DG zWly(yMuNR+t(}lyx~SZuCTI;{8fV>3ud!nKTw~j5lVbdhNWN>3$5=EF;BuV_NdRoV z>hSBWn*7nhJEywed0bKr^(D^!Q9Jn|QX#&yFK<4RN~yyxS*&eT2|#u_t}Lwb6m;`` z6mB|GOGiOuynt5Xm!zx95T#5IR@)-0+0OOo({UJdJ_5r{j%Or-cfAgpb94m}#uc^* z(oaoYXHZ2yEOKmEgMbm#WOPp^Y_^p_-cL%Yo&C0?(G|UEvtDHh061ix zJW`$eg2%NP^-Q8rn`)kt1zE6eOr3U4lG)a|H>xQPNOf1V;WtYwj`1w*Ii*s!DYI@f zzR?_R2Q}k=Js7HA*HunBq(fF5bR&|S^0?Sx9Z_+ZGws|4bf7Bz4=-1zy4BbjzkG2j z)*ztv@i_-r75E>m_?l%t^bsV6tj*nRJdKE<%1;f)0&sHY8gn#>mDPp?@BsT!J@Y(y zgQ*|JsCWdE6vn6>#>>YD9>H-dLU`NXI%HHfF+Qb*y8+o698Tj-46um?%QkG|9YzB5(DwYIKF0KF}QoDNp_<>)?#n6?=^ zRGoaD?HEQ=oH_7BRapG{!(NjKLS|dj0vvqN$x1R1s zB2$a=wh@pK_==CVJ&2?HN2Z0Tgz?q}KA^Y+Dj7Fl-*U^kluvYjJ&q5|Jat*gsy7WJ ziT5RgJUJ}uIwki;V}g<^%?hMjpm;~sRGy4{c8A3VX)ywGfhEh0wg zR(*fS5XvVOS0}V*Ww{r7$)9yKbm>UDlk+;DcR&^RYAWS%HWTE^V@ukOGD)uiKiteE z#A2&wm(;uELfIyW1$ARNzdpvcG90+yxIO5bNFP?!=t;egZP`4a+QHXOGqGiZE1q^!&ob{`d$R7< zfDr#DWU<9Sq{(qn#=sk_vrtl4ZGO(mUY`a6@S_mNWxK9S>p#2-t2*-BG ziAn{!AS%xa4RYKnDBfMK&kLv~u~U^=x-2&eG@L(>(Gj*<@o;!XYKKoQZt!(|87Ix1 ziM}+u$PG`jn(MyM>a-SQ$z8QV+G6?}h&K|`jBo$K|pDegnzcd@m9rDR?N`1R{c z9}Rc8S88kTo$NU24%Ok4xL9E(X0Ip2n?N7zI;>6*#^}R-UDZfGP3QatYzeKElBR0m zb5kQ!>>vPqM(`|XN;5{mz*zoz<)PCT`|X4JwX@R9FcT-)3O8x7RX40zx1~k5U`A_L zZ0s2;AX6{DG+e4Xd8|ZLQi7QQU$sM~45#YbpwFTpZUKw4g&};;$#U$8OWZ*67^QoIx5aTQg9jv6 znoq|im!=7~5s#6XbidTr|655Fb0Che2XAp7mQb6BlCBP|J{6Bc+wMR!RZl_E=M7UtgHs`Mk_Oo5Q6XfVaN;4u9`Q;ojrpqmL(X!`V(Fm~UZU{e z^3&P6F9qrJQ%M8q<0wrK(^qGu0%&x72_e$9BgA(_qEq2>#*~7`&N=%^ZNbFF7V#bJ zgxv3TQ!rohOa*^xt(c|_Kr)uisoAyo8RveTw>F7rqMn}I1!VtfWT)Pa?+HE@{;n(j zs7)-u9{kPSoAkMGcjuRK`qp}%!{ZjwtDr2Tf~+kNaSY1q8SX*83*-Qih<}Z{3_Cz~ zS%7?Ex{7Jv2-~Ot>xJ8J1A$`74~a@PsZv_&y5T?9N5n7QrmC`!JQ!AAnx-VgJ}aLQ zu?~jpqu z7zSC(<~n3;TUTbyU;#mE;A^ipbeLod;f0^GG3N%*_-#jLEtm74^e?lpppuph^PmI2ZYxI-TaM{kBzJ^yOzt58)gM7qx2OT=VVkVa z?E1ZSp~X@hHDPwF_q!H_KIGdu4j_%bIAlOhhH3W}_NV|=uQ6$}OYjJVZe)&46_MN6 z(9s>9C8UleMU{8w@ER?68I+NG9ikD8=Bk9R63A~|dVfc1EEZblB*^5PK>N5Rl%p`> zp1D39x?Ou%Yd82!E*8w*>hIDrZ9%W>I8Hq&G#TyzkV&VY?B^Y$w)hc}iNHXR`J*#7 zaWf9C{x*VU*?FO+r*O?mxPaWtIoN(uPS~$z_p*8Xoi$qasWLF@1C&|ixc!)|e&cpI zR(w#%&`;nRoNj`?s;7*XZ}m*2(;uaNNcXRe;57h_`-IZtN7wsuO8p z#PhpJ1Anu4%!;2{;uGn^3F=Xx`U+3bXB+IEO%HaqO8ULCj&ffe$3GJ18|Mfh#LN?4 zYzOLR2@l3uW6H7P?`*Eb!*(?N5Xrcm34xysquEo%`D1n@rb3=rx!vA5p0URGM{iz< z??I#l-`&;JJx=aE(>Ic9V7a{N?A`Pf>MB~=Q)l?Co60{oA6#RkGA}ga=vXKU0~IMl zj%Q@ocW44%;3LGDuiPY5MX))LU7Qg*SnT8@P^w+B{CIAK^1qGGgliFzS`RYX3q_+_ zju=pS)ktXA3B#K0GB1#*<#%V0#a5b{^&UUoKSqGI>K_Cy(iTU1c7gap`BHL;lWh{P zK2WbO5c#0u@tYW|+GRn``3WpGk7B)5DfDeAqJ+++GUpYT2Kwd*MQrSY?9%Iy5SKLQ1CI#_fw z4Hr#Ek~#pSpq%0{Q=e%GUvZ zcqc}_D3<(}9pp;0mF-F@v*tRn(D9UXj;J)@gm$YF%)dz3pG;;9+Q6BLf?5 zs0~%SB+WTmU7ZZKdqMkwFQWED4MdQ(xz1OvC z=7|Q{vS)vzx5RPSfTdU;S=BjL-_)R)sHDhq-Dn1 zUIakUqX z7>?Bdq_&eXQ|3QLlN}xbNS92;2VF+GJMnI_@!481rucX*mgu#NX0Gs32HAE{sLq}Z8=-Q$Eg<9-2&s^8UQ1^peBs?|8Z1+4Yqb??X` z$9t|-z?N++F72BJjPUXAw(!)*@shC7$%>$B*_ck4PkGq%X$+2yb?+HO%vgL zZ7}@g=T*bvNxwb#`zGrTJ}8gV;p8ygW5f;)uuEj+tD_tw_-%xbHAxXxwD8^YDsI=y zG%`~)UlTl^!XEH!J?;EiPR!}9??D1 z<)tVZWYr*B3*x^`7KTio%J0HdSZwUYpX>~sOz)xOjJc6tvxXsO7Y*~?s$UJQj(P?} z#T3jUTy;~H4`&!!8)^dyi>3(Sr8#tS65l5G>?bwXFp1S3oRBy`9i_R}v;>bnR~aQL zI)EhP_;8p%M*S7QAgnIAdhrM?z>iwFRiHOlpI>C{85p1Px^R9W==AP1m+-fLnU84y z+C4M-i;hPLYvg4Vc9cJ0hy}`Wlr%3Y5fL!sh;Ta|N2*05CNv7C^W8f=dCFmmg(q0Y~UTs z`Y34d9sB-&ORP&BE{~6jtUFd+>mvv((Vu7SD`{Hqv%Y?tP7=jKE1gU$Ej7NG1;={( zaz&#o8aqm@+hPXKYC~{3^XRg|hYlJgf$@80Pb6d38ISkjkdcEX8L_@(SOD3Z#gl=@!9Yh9^HG7#}u zjDOV_Emy=Wa1!Wm?U&86QE-R*kT}Rtmo!t~=_Kz#*%B;Rg{SfRgrSD|YI-mT`@=?! zRiy^PB)ebX!E-M#P3@+1$B)A0oHi--R4JSsdrn)UZD+cz9mAyQeHJAnKM=st69^d1 z?T9seUS$EedYQdJc~jxiDt_`pfIZjP{ffE-aup%tQds{nfemvvNG&pSMj_CgdF?Ie z5u*%6ExkBu^PX@bMa8{(qpra#qV1HM#BNr61}ykL zd%d-kWTkVh9*u(d)`?LHr?R`uiq&0Rb>sLV*9#s%DUpS=0swyeL4rxfdyg3FHhQ$| zE@ybrR4NUnM94SySdXmkv+UP0mkolNxA10e&}EmRYpz&euh12q1ZNS~zRxvDy2PsHpRm5WTmTfJrc>R)st= z*<`!0#BnX71W|YW(1yE$MyoJd`00?Bqd$0e+rw%RVEK+KV1{bN1oHj&(vLiw(^lNRp_7T~qiO#!*HH75qzoL=sJLVc-o0Y(x#pMykuDo6l zJOA?Ct>V-Bx$#CnEh!tl!d6sS={HXsoGR~@try+~y$(lI!v|*SPIwut<*zJRq!6EQ z{ZNrvUxwH~8<$75{4phKb@(nDQA%fg7CvAw>NK>2|4`u<3s{w25*(beB+|4c=NLNX0z!gLJXbiO}Buj0ar_O0~X>6O~bEjC=?(fcof^qy)+-0dx$Dbjh)97Yr++A*A|N z`tlkm&lsB|ck*Schn?!L!5Zt*#PYCW9CP9N<;4EV)2hBF3JYk2phm$0C-zTsN=Y$J zNOk9fgs94pn~t9S&%$P+!wGj*z&abaO|7$Sv2@gL%a-)F_k9$Z{r|zP(}@-4s~ zM{D_2+rrsJqOiR0a@qj`a*2z%g!Fi4&H83K#%<`5=C9Tg$I`-H}*wkf-sO#W=%_ziR>GXw2?>PZ*^-ogh&p1@s zLPe!m>Ca>3_qVnNJh*vAsPl#ThV77%Hb`pY8DAMp&fOB~oEpD*=EUymXHCvnn z#@gd$RyoFV(%kEM&4y1V7P@l6uAH-7sO)b%>lYroJ!q}`XGvt&S8!M6n0qhMWa`9H zG^6Asg3ytH*~IM;baa(;=L#R@*70zRZx>Umcyotz49uZbP&UaPZsmrF-((V(@LxgTnc3&>I^Aj9F<}rwb(du4c&m_ER(~rB#>4) z6#M)sK>%!7mQuwL9O2fzHa#q-hj2{w^-UFNb zenLN3-xM>|^my3zDxJ15s<>-zLfmJw>+E%(a$Jz`OCssG{l$~|e0W~_8*5yt4=!IT zCKy@wQ$flmWH+h&G~%_04nnKdM;^$_nU%cFf5EWHztbBXYIU@3r}|JMU6jzR`Gu_@ z>ab1&d%{(JntS9o-iEbgI3}-eK4;*MZzKgrg%Q$}r|&yTR;zYU1bR%hq%F%tJsI5+ zD?&3s@g9npu;%4D=!d0JHHCaz%!R)Hu13^IvbTe4>nV8BB%WMwavDeCL10OWdUr(#F*{!a%cw7JB!PmL(Si@x>=zz#{ch)q_JIOQ7u2!Y zPRmY%(K-vv{SAY#F&}b<%YoAs$;BY8bJ&A3*>D`1cl0C9ux)kX@g(2p>_=WpJ6)FZ zKo(n0MoR%(#y$SGcFe|TPDcfu(sg$mHvB8zMrI2+)&~l7z+Z3W{XO`a z!%)2HjEcSs;3m@7!xp698={#vWahC_9s*+q^s`% z0ZRAWn7b6P?pVOlA80>K3F02a9Mwl(Mbc2xv18k(Y(4ktz-O8^k^HAXno2&8m?z@a z2GKfHgI|R2{oSE~8}8*QxWSR}4r~IK8MP0s9f2b=FAWe{gJD8O6Hq$&A0b|GLY&PYhk{*%{{jmp$HS`aB*v|nu5VR}z_h@&@jaBm6G0$SkG zmZ5DNqLtIplf&PULL}v93|JhBBwxpphdh!W|{|II>YY}3JfJ+)a1&mM3 zLYnfydd@H7e^DvFPn&$Q?q)@e`lNl3q=*=bV=frZtuEvn3!#5r$dnXl$i-iq0-;64X*Ydgy1(_Ke= zpZZwhKQBb{XR&wJ#(=6eBcOnn{6&xfG?KIvY>QBSO~HmTv;={ zeE@ZDb9R0bWZIE%g|}K`PAjI!%EZQ#EXsdoRxDF-0KDzTHi+5u`=~A%P+Ur7Oz{`Y zd;V{31@EiiO52LjejriwC%SF)TtwSX@o}xzL78zWCF2#)>FozkF!uV(u~(JIWf`^+ z8NF7`l5{9A53?|mv4e|D6EH@syB`%0XrX+DmYQ;tM20_*uBek_MR1`QfJkaTH*XJ9 zxRANnwBb?3B!2y)$)3O6{!Xz_(W~c0SE{ zq~9pKKG50;3ZD?g_X>Pi%v#2T+MfcLE+Db*(avlBg6Vgh=K@_v3aG zvoi_3BM%IpyFSpe)vMH`o4P*kToXxrMQ2a&x*i(=zCN7BFJD_YKJur|fqu()=B&&R=B#Q+JPwE_VK+;z|o;W9W`cJfE5*;yUoaW3@6Z#P zKNJ6D0+m)5`r094KD>6jem*q072(#p4&3OMlxYTR+ADQ?3MqE(Ll)k=#*Q6hJTTRF zgd24k$+Ve-0hteN9??f&$oy)Tk<@%sIILp78f;LCx30}n$I*0@YB zlI75s>~Hq!5mIl4YY|u^y7M`_da)UsA=A?P3#MuJTJMEK_}Wf90MF_?eBJknKS1QA z>~#WleCUeyR%G|N{`RMch|$gScrJe+-syZOqnX&kt-#FMdB;Tk^VH*m;!*6wb71L{ z=ga4V(u{v?m;NX175{xR-P%|AN}t*v_X_2oVod!%jQkU+*idO1>m+%l&B9zP#DqMG2!?X8p} zhHU<8`o6;`FZmxs54@h8r>j5Bp2ch3ve#PASm8ekJAdRe|N4aRAN`H9DjO&eiL3`P z;$Ts^wpGi-69;H@{fm3Iey%W8e`MreUt_;N@6_z5o2XCi)Ts86jJ5~!+VURhYm21? zjY!H#hBqECE~(3z#d2iRtNJAxf()w`1?whsLOaumk_fAoc@_TV#EIv z(L_0|Yxoz3alu^#`q@X-X@X6bl%uqRxuqz+3x{vRePh32oQcBl;v;dcd@ewqlJgXN z<1AaY$dU!9{0^sPCvLKKIf@HZsZD;%=X&R0LSY0iy<$$k>pI6yLgf!02J3fm%pn3e z=(QQ9a6@*InKpld)?s9vRVD-?6xRJ$`^{Ehid+^CeNjAe2lW7Fmj-+XIrbigzFq`! z6dW-7lGV6r%cv~xG(o{xLFOr2yY*OEwqF0%O8gR$p z=#yQyX4$BESh_+T0z)nrYBX(I;6A&Ul9M0q!BFK6{NY&c4ir)b{gN91W9qRO#cKmc zy{z!y5ag_y*6fm3iB+{?8&(R{d5QX&n3gcC5WO-qY*O{T)ixu^k8hCBAx*@MCXg}k z1Ic|3noOpl1^!B$ zB%}w$51wl^5Eseg^=ZgqK-2Zr(}Md;ypc-w!`D>M^v@KOwL>S&Lf@-+YVPaHeSv!g zcLb9T^v@TkrI4Ky;jRgax%y&lVJC<47TZ#0EP+l=uhFpq_nsDRukV(%CURU^L`K1!gikUjS5!o30$J4xaL^WsN6vcG?$tTheGw7U9nXEkud{nGG=*1lF_9E)3~ubH4o zj~CTKY#RnA7Il3vgEp6l$$vf?)u3w+v0U*O_Ks}dOe10kGx1x*zSzE~ti41@KK^HU zeE-L#*BG4n!HDbbJyTGgcw`xxO7Hwn4U>|oTfbB!J-4RuAz2Dw@%^zVaN)FP*nQ0b zxAEAQ(uVvae!=854++Tp?zo?v`-~<#G75fgk>$d1LA`G#@Wz7Pv#)_!adL@8` z36Svey;Br=6Xr(a2b{S$iR^yNTF+=Su5)o~Bmhgs*>-jhl1+fxglzngnrFK98 zfd;XuYs9{?b;B!;3tfumAnqR0f*Ze1k?j{}8WpJ91oB@n@mpQnMM*`6tA!HbrOjM5 zZ{QlIIQmh47PxGSM!MuA5v)VE_1~n@OY7rLA1av&ITutWzOGHXpk`u_ieVn>xtlZ* zpVx8s9zJvm=NCbaG6FqkHlOoLA4Qrv`_^jRxIMU?eT}z}vN?@y`P^I2IE0U@vOAXg z{eJBrGo2lNI}wt-iw`_oL%H_{NLs{_~-9FAntvKqSr$ngx`9xc6cRZ{qYu33PC@KTO-Twg&Yt)lQ|X>W>bJh zCheTI(l&9gqHLXxDHag&?VTMdv!ly^?1a*vAb7L>9#S}diMf6DPcn>psQy*0Q%ENJ z`xg&gfos#23L0VjB%Om9TnO+KhSa)1Ys{3_W7Qk4S|^;keIcGTqUB{Ol(}B#=`7(} zL*<6QZO^-DciClm-Jrzx%qlr06?&XX^X`UY($?WwtVtGKb3{NamF}_2SDDc)(`i}D zJZd<}$db-wf{6)Wa5=DOH*hPNSY3~rb+#C1Q002Pp4#EjwS0d(bMo*PjBn|7mCnhj zk;qi%rLNHW{o{+hY|5u&q-N6LP41^&T;jw@28Qq711Ke|lY9&HaS!Y)C_#l-1kGyI z1m+b$T7dPF3z<389<-o`nhvtPeGVY)>e`Kock;Wgc5Es;z7O9K5yJN!pG^7cjch5M zVY=`InKE_o)O|UUKKC@ zyw<0+KSHc&lPdPf;~U9;uiLD(e6KPeA3t(-poe6g~$O4n#Ma^u#o* zHl@d8FjlCt5i^VBd>8q7XsQ1T0+Z*kBStK|IYu%AaiK@$!XP!uZH+i80v*$UVm*tJ zsXWb~i68jr%4^zmtaSJ4p(C)VX^}<{Fue*GlM59fc^N7IyHIg!*!=Kgi`G6g&Z?JH z#Xh?*t#0}3w6U}APcqqq(Z|*b7m|)P!W_Zgcqx;wux-1UrtJ@azL0G`K7ngyF7;!^ zpp+GnjcJ|WhmS6_4?i?XRh~vf%df|ZE&TL8X@_)xh_D-R5=<2+(@rvXonPXAjwD>8 z*FUMt05rmxY}F;y*NSUi%>-;sL=0L7tu=?$u9Pk6kl{v|#jTl~6zBMK3_Q zK?dlgHv8ZSH^t7!jpWp@ZU2fo`pFADJqoYI_f>D?!HsSZ*pAj|WcmH_L0RWfsO9$2 zO2DutS7gpWMC9BZu)`CtnWuQ?&$~+4ioiARIBMK_!gJv7`T92Y%)UN+QUTg0d8+b% zcz|<=pA`yprL7TWnb}vOSoC}B`5rNA17^*7NG#XPm3rAdc95gp>eBP+(0D+6{?LLw zSPyRJTJQ|cPRWEDBSeXuMVsjMgS$Cd}A6$Yf)_wxAD};ra_heKr=;BjMzXk_T4ADcX!AYO>|AKLlOp1Pf zD>|JMChl~;4S{RawFDsOJI0SzD zso`GE9})y7z~Bd4&ZLdm8PdQ}-2>^Z-GQ|O7zQ7t0Lh-qexD5WzB=@2 zZJrI4d`WP}BjROI;46FJp`M4YjI4U2#UKb(t7;CnP$0k{D^8v^ zI**)6NB+J%wMzUmwdhBDb{UR5i?>z;oDNv*&t$P`-CoVXmQ2WrNLDazueTCP9YKmiX8yxH^LG8%Nk>G8YPZw}#2hOCkzRq!)0djhgUu_Qu zNiLY`OJoc}{TdwouI~LL$8P|eD1K4X?O9%};RX~Me1f{oTYh#}+Nf7<#a}XB;VBmT z`xL50J^?3*mLNyQPE?QzJAVg~Jx}@uRQxtDbL34F&|{p%cj~-m@RwZNUTy4(I2gb$BTp?aT8xo|ibox3pw1 zSH15MjO=z04V8O)zC_=f3?oC9y2Y{~D5Mg>S=l9YO2=~6!8K!uhnDAV>-=*hhxwM` zwQL4Z7I3J^p4?hk=*&;rJm^}YjXZOq1H}G(;UTEpDKoy+vcI|tYe0mEAG9H=tgCuw zNmF1>Nb^3P1vT?w48KzgS+IviMHzjSTJIih4>luZK$ljwUN`W;Ho5 zEH&Q8ZeQaplCz!9U+|%WABD$iS>Rt7M_Oz2-raj3Gl477z~#)9D~)fO=j~+N0#c3p ztumKyw;XA_MS6r~j_|j_s8SM)dUnyBo7C;k6^@rnmZywe(PJVDr)_Zx^K>32bBOmp zX1v}ZiB++&pY1+g{7_@hlxlKAo$0}WWDY-~?$jLexGuWqtj`w^f`>=I)a8JR1KpgD zb0&wb{+*6F7^vKyj9bhV6JN1k4|6BZM%mD&i^N+eklDuSc=e2_mWl0El|;3*`!*D) zHLa|CVdxd?E}mGi`q|lB^1!)u`_t)%mEZYHd~$U1hM^Al5klx^zHxpjRQwHQ9~ZVt zoCAkK&0EBpspmpb)PCR6*IXNLCTv{>6|S3`SZWz~HRgB%(y9+wh-j9>tE(NdrqT+* zYfOjJa0;ZF8dn;ZSUHF6i3WHQ{fE#ws`N`*Ba_(yz%cOC$x@ zn`USrf+Xq{2_al*A~RP(N7%bcu$l+q1^13gpy!${#$ku9Op0m{u1QrP59qJ!H##wx9Gw9FEKm7xt+aLkFgM`#9K zxyRfE+#qTaVZ_{CVX8B$IF5A87zIDtO$Rdck6j#1k4+k3*`E^{L)|;L=jYxpRicg_ zS?{~+zH^92vM%Z)CHNW|bQc}@AVq2|RT}3rrb(>ZYG-EQF=Hm8%Mi-d3cO0OtW+!Q z5spI-eL+*E0^O7Jl71u``MtiG@<=(hylI$e%c!RfMTNuoMkJLO$GJu@B$8JHH`cqW zf1+O!9Bei)D2Z?X{*dmT==Tex55?OE$Ln&mD4`88_;=c2SzkrvO!nZgW$OVa+EEi> z7Q2gTG$zOvSkKt6!o+o~l62OH>->U!wxhviz1zrlYq9{m#vp zhyx!gR7|kc6dzb>!LmO#F`yoh2;O+jmqs zM7HrGy$J6FT6CGBFLbcC+#AdiaPxRO6~=I5b~Wosq$_PUg&X->;j%r3u!gf%WP1;_t?*(uN;}MY8sNrYbH-=j&1*1aq&NHa;zH zOAy7~1p2V+R_y}S4?YyINE=Z7DbuCje60y zRvrHGYHmx@wW{yby1a16V(h-I%DQ$M>`bummVj55wPWy~oZ@)r?~s`k5@Yf?u$cmE zZADO+_;-$?NPFbN?sCG|724(;WQSJZFx117x#B2k7*W_*HzlZvBnzE zu6*Ak3mtA9ukFyxrf0CF;m29vuYbd7PWZ~(#TQr{*0azL^Knbv>`5qqHxHU8^ZbGL z2IRSi(zN_;tB%FknT2u-p$~sy- z5mbfL@Uhnm@L8i)TK;)J?<;NbR<8X&nuGrjmL>xJm`1fx&z2LQUlcNk~e(RBpP9?R#@uvk^si__=Q z%O`it7-t+HIGVgumK&bnuFI6eic|t!(bGHivHj=jht~Urlgoj302<$L8QYrEEhK{g zT#0>-uKUi^(Yi8Wyx)w#+h2WR;${};;H{Z`0_lcYk`^A`uWLqN9$|-Pc^2A zsj0~Z%!xrA+1QQl>@--i@ZVM^k8s9=VZOGqH=Wi~{l2tkHDQg=#i*Zab9xF=D`4>O z3wDp$B{J65IJqUM;81XbZhAK^h;W` zsP{{%+mKOFD-r&yR2~CcMDB^)C#v=m4r$y{@+_Q3%3FdKceN-nyX)6FMp9{YINU1h6{hYgs?qeO?M9W&KVN_5VyNim7h5l;5j z%QD&u0IJSYUvUPttwn_$Kp8XSLst3>mqiF8Ygsm3KWJoHuWbgPT%{S5sdE*&@w=xX z#RuCPe7c-NlVKk3Li7+SpAHVD5&A7By+=IE#a$oIU8Jc83mDhE#h8 zkd@l$rTDp~TEFHLpkntq4?`_-g5Wi>!Q+w0G3o zGudY;2L1&TQG{FgZCpA+OTSczE2*(x<_FQxxGX2|cWl3w;+QNaimRawkok>9Cv|O} zPu3WFXgby>S;Hj0WTrD~$!m;o)_HVPGp?-M}_ts&2Wxnb&z@KpZaC-H26JwG{m$a>m7yPU2KBG>vFj*HD zi-F3RPSh87kip|iY?@K-EzmPRib&> ztZCxRH~+SZcy_?uHPQ4cs>0Tm0NpIH*4{RM6h(IpPs818!(vNA7mZ@vL7X0q_hBr& zdQQ(IU+XP>p`6Eiu6k116!&5;V0eR55{VP zJ8oS$gG_$W?p=|vGVhC8m>)ogMD}}@+pb0lO~S=YEIaB;Izls7Vx~aW3@rmjqpT&u zw|Pg(DH+aeQth5_QGMR}7W>I+NBjoZ^c3ORCuR9?KakWquGI}jX+ONvi=pal1c`|? zn)Q;=98%Bb5ImYu^`UtS%5o^kW7taw$s{}O~uSP z6NtZmFhZ`M46{C_wl?m*hJ{?UF>J)f8Vb`Z7}4KuFIAqVDxn>L>xfuX+N$9(m$dIX zJ!#Yr*$>|R_SsK?Oe_E5|9tQU#!n+MJrc;Ss(D7i7)i$~YFuD8h_A7DN`prso5@i4 z_1W_|rAyGo0Jz$f4t#0TeRd3F^jzlmXr60}rw{KiCB23bh}AmZKc3@j#;N`UwI=Tv zH=IO^*NmX`Ifc$Xgzhh-!1p7AwEYe@k0Ogl*2k|B`Y%K;hJr{#)@vs z3g0h|*(Dreg4*PMQ`R6|m-S1)_2yx`Swx)uGU}r(CJj6)H|$c{Xt6LbxPyhe%HK3+ zJjD=2K~&kmltnDNJ)qDlPwJx$V`SWZlkB*Tq^?c&Y;p^FZ~No=R5s`vpnusbAxex0 z?%bG>1WMd#R$I;Uj_=F<+lfBqFBNbbjW7u94na#|m5Dkj2l6F(HgChx$SZhCsc zGUhTm3|>qRYPR`okIj^El_C~eEGiGW%q!AnfO|>9B?@+XK3D(|QIlWhYPxt6iYa*O zVaG95f5CjG@$mp?zu)u6Z?eBS`0AId&n(}ZTDTb-BhEfUlvo!Xq`z!W#3#Yd@H@_z z0W&u#jEn!qi7P_ZT+?!FsF$9H3irn^w9g<8Tayr2!kPdUhV*llH#U`{qw*Y;;LYr_ z=rp_XLoVN#;({Z1leq^EycVpYp{qP({?ra5?Dg`YLCwElfDG8TQNXZ6rK>tsRrfdb z(9ikQNHu8V39#Qb&xhDK*JJEC>xP8{us(Wp@S;)n5#F0`OPt(@P&SR$U85?3otj18 zB*DGtB9O(4Em)j76w0omSh{N|=}eCQ5b`k_@+A&Rf>-}G%x`bHRGB3uK7 z;T6Hj5c4znhG&afwy#;V5oOk`MWE71T^lPeHV#)tbO}l16A=u!4Z#Y9q*XiQM8_?} z+YlB|bWU$LLe}cdq(Hi^R2(GqNf^1VGokClbl)63^j{yG1i|aXK}V#M&W(w`k|KZ0 zd(#Xy5K;g7Xd=Y)-3L#_1vM2*GiG_1Lw@KT%UU6A6aqcwqIuR0+NV-Q=MH7M(6g@Z z)}|s+PO_r{M}&DdFnd_bt1v=saa(XLU7xr%yYRQ-`<3l&KK~Fq*h7>6J--ndqB02g z@8{s`!qY{$I=|0qW{@0_#!s((1uxWsQMm#eXLx3KmO;D zo8f9vrPU-?wG54tb8#1u%x8N1u?uKstsqX$bw+1_E_yyqV zi1gRJ>-uyG-0XV%NE#k^ieR5hFT9UgasE@=8$@o%)yE!jGp;T2I9L%Lp-y&4Y7PLkgAk) zDxDYpIi7%TGDkQEWqwGVAX z*Q>iE7d~FM?LHg3pCe?aUMcY~aouG3{?@0n1j5dg8d;?u`T4}9#y`D>(uqC2lTiDy z;<{lYAC?p54NRPDoYy%KgQb?lKp5j%d?2Fs(6huRY-=Mi=deX85I@9xfl@5PqW|n9 z6mCNVwS^$GDW|yyXi?jcyu^lU%C0uGVQA-dd%(Oh?}XB>ms=XC=l}C5t=9|PN3Q?g z7oPqopZJF<_fpeHl9 z&VBJM4{Kc|_ElM1deJZVL}>MGshT@!;|L&d`I*%*+0m%x22lUVc!T{icCWQ{a9)y= zF*;ykFa8}cCO~K*Y=Y9!G`H5&yD8We(QYTGqI*4?%E9I$Q6ES#Q+(1IH|QT2wlxBM z>=JtRY;0YEbhNInRO;R~Rji#o-2&RR5^c|~xBPKON7Nx2@3g9d%~&(qCg)%0hJUR6 zSUxNKd8t=?HSa#_4)t01T=VDvacJvEBqn#9V5ZtZ`8#nyJ%)+gPW%#=@Saz$!|TM#;ZNF z99hz@HZJMxKI&@0AQ`W@xm)Vjpk<0}<50``cXFzP`wJRs` zku`jTiRDejr{NAgOtWf2S8rO|G^k%BJ-!``&*(#N2JM6RZ$+6U&2#Z&Yc{To5iPxpoMu3vqmCIpEF z=L6zRis`9ET8wb;0<{exD)`T`OgX%HAaBcua|OyljSB+zdko0(IsDkD6)ST6{y@+Us=gE7;*3W*1}7*4>=IaO=9Ot{nID0HiTY_y))S4E7qX zL>1X{esbaW*2U!(8G+TR?u9sEM*KMe=dr$G4faN4C%=d?AGIc_bIZ1R?-_({}ej6ySBY~wQjnYs~q3~$6n8C6eD4#73)oE;g0&ZT+m1Oir|4}bKiL5Y;B(J67^`W5r+$!BuB1Enl%e zh{7v}8k&*DUf6d|5awe8ephWdRd(-GHg+vdDRY=rFLaP=Da`}4bl&?mpA^>3dD6Tv zEop68p;|#j9FU)qCKM60sHBlJ&nycE*5j{z74@K7eC z%_#ytuNY-2jdbna2b_#|jio8?su7gT+08E=-tCdYR&}#2&gna4vLPyMp5kQ?zn0cwLufKF?Y)Fj7&j~%>)U8r zgcQbaAFt!Vi)uWSQnh9)1l$IdVsI|QAHE-LV!yDQC1TjuiYvYA2o^t~itXxkzY9z& zd^*w~8#pK;hh&b-!wRJ$(3T0Lu-X<7(cUvo_B?wej$h|LiD(F7 zJC3Edw%-WCwHD1NNk%O>Oig=?1>l zFt*mtUB$aUwMQS$R7c=Eg!ujdP{zEML0_+8)LecPq{?vIyf_JHyCA73%s%P_A9CaA z+PcW!HX8Pf%@&wUio894t1q=xN=U3I>DlONhi4z!1gxQmS0nWPA2J5h$u|R zp*8f47uSHWnOXoFQmZn1_l(%rpMwT577vp|Ge)s0Kb&9ShpR{du#JubBzxxGJX>7` z5dwA~johXufE(Jn{p{?POCFbn`(RPug2twcmw?p+v-tM{dM#H-F}9{072wQ%R+f6` z(=O7zO3DRiN=&C-pPl!wHE`{++ZOEMImO^cyunzQ+xJty+Puj&Isl`y0Gb?gtP57R zaR0>Z1jWKfP}O_I7*Bg~PE2KDCY;`(b72h!J)*qfB5KB3UmG9i0bXqF&nwl3y4|85 z*vpwzi#vBlJEQ5&E-$e4k~7!am}vP+_xeTwR9mckWjpJqyh4CYciQ z6CM>>Fd(%Er^^V=y7;*!imzL|?YFjMlvSF2#rh}v?k2FQgXEP6qTL~_#xiDIUe^2m zPb$$)uGN5#`S{I#zBbkBolI^o@0cy*wc%0)Zr>PtHkhJ@B6Z6lEpKeStsj!RFK3vT zJ|$i8Gl~j%;=!whB{$7-v_K($dHle}vf%(x~Vs z7w{8xDjikzfT8w-LG-7wjjnj>?E+3zL+?TA&l7Fuz1oX5$qa*&{-sQ994%d~WR+O< zIvjgk*4%H25d@W>*Jsr^Ya@11hR$`L71E#k{;tf#c`{fLzpIy-0jV11xt#iudN}YQ zA2jfc!-$|T=+0CAet3x65r|o+1c8ZEE5zx$xM{qR$^mdFTZ`tO@Xu{Vzw}MT=pa<4 z5Jv}rs}fprnp{L!TJ^`ndxs7#KOJ@!ek1(7gQ~arS)E+ieNAp~REcs+$SzJe6(|8O zc~Obz|0df`j4%y~n*-%^!CxHs9CfFUNBBS$Ys=_vn1qeawyHib|II_SNTOn`pV*+m zVmR;1g%#~_oY{~jfJ`sl!k{JMlzJ83UJ!au*AI5Bd>XMbSOHPEr8|W6eY6(B6?m@` zpyyOP%sR9K(C~?KQB&r&d}wdHuoG|Kab1F-@C$IVOsLIQYDuL!KMA8Al?sqPy5y4q z6!M5q&Cx}J{WpvZt_!B!lh^THtpkH=aVV?8I+r%2V?2Vj8$)Z!Mj!p>pDadH$`!CZ z9Dh5Hgb2V~h6h;y`|JBkoz88I1t{_GDu($2^G6`NXQy3j?Z6MLKOm=%4<65$tD3}n z9`~dD_J4xw|CME=zabWXLoEJ=So{sK_#0yJH^ky^h{fL!i@zZje?u((hFJU!vG^Ne z@qaWm|G5@JJK${wAg-Ta85i+*jf_48`XmZMvtK@x*&L}{_Zg9tG(=LOUY+|>vOX~E08+y!b5tUo3HYDzy7sjCw6?fxUjvw zTj~2F(B@Up#(90a=GrAu9&sl`Lol|qu)Gq$LyTy4RgPD{Av%Gl0sY$L~f-C;r2L##8Ea5SAY3di#{?FkdHp`;vba8rVqS*i0g6&#P?xz zsZ~ern|7`A28O-j6)M!X{-3kE{=295{|EglPURnq>OW}>bbmk(Tz~wkQGc|my?;LW z2khaG`}807)Y?D#Q*4tu=yCS{0zCMww#`@k!9yG_%S;?L{@K`UrsbcG)c?tf_;>by zDqluaQu7=;@-np*I(NVSkC9{Sr&qfsWd972uklZb>(W2=3q$X}GEwmV&2fy>`M(^; z;NB;SPT)R9v9NaI{DNohUodywhZ5`l*|$BoV5S&7cFERo9*I)(J=?P2j?)7;pO>{r zp<6+hsMi|!Z{NMtzzTmG*1-U$W;yRxlWPD!cxpTbs ziBjVD@&{jIqIkNTA%{cA3F=tFV3;r*`3q(T^x9WA@7isAFaqoz&Oi)3`&xKjlf+UB zo-8<#pMeXTD{txdsXgJkAl30Yw(tyt!v!p=gAmOcA^+*#s&D%XB>uT!eLqi-FqIsV zXTrd7w&8%QTM7G+Y#-dOC%KUJQZ-wI#t#2uo|<_uqv2mLj3p25Ply{`cAYc4FPaBz z{>9F`U#ep&4Q9Xe`zVLqgs;Nf2tE7z9{Bf0o`rvNrF-GhNL{WdX>wmdo!2W#s19Pg zRR+r^F8I4RMC9(|JSgm#I0lT-OqypsuW(1}4%^iO4ENH}o6`Y+M#nB&zne$!1FzTN zKqvR$P4E+AV~(@V)l__kz0TYq^8P|azS7MV;^uEZ*Y$&Tp=5(EsEj4CccY$@s$>I9 za?s$t01?=?*eu$`8RERiu)d?=({!S_MiI&V;<(Fzesbk z>t>9>IRR+FI@ID=3}y5UXltE7`KG4(WCCTl7Gs6GA=l=oy=#M-58>zXNALKV35Z3$s#~*wm=(?F2Vd*j} z7hh=Xr`H5%$is${cN<|x%({^2A^y#}kjB?^UQmWVpuDt9$Ewt{ve5xW&_Us0p~E`aB=T)f|w<;G0UY%cW9E{h3ws$qT*oM zw+T>6ka;IF1h-+w$i~{T&fT^8soe;j15IC7B zRC7gK4}{f7SHBS(yWg zE-ozgAAd{uXg3yIwLO2>J@^O$I^5dgTq0&L)%Vt*H(yh22>k`q>&Ll$(}6zRGNDph zbA1z-zeiSxWhXpgbo3BEvCU?OB+Z#BRmFuTYiC2uHg|*FUXQwjv_Vfm{JBKKxgwoM z>w|cvdm_D3>)t7F@do>FeBo*wGWfE0e188DcyZh{@%qyPk04Li_kY1`pY_%641N`J zO17$_X&yT`b=+5L-n9AgWXGE$HdCk*)aV-%iDI3IaYvy{%WO&t zFbY3iGtAfjCrAL@sLb)ozcb;hT^N*AtgbgnFGg>gzPh&|+?de6vA;dafu(S;&jx=+ z-$?Cx5nJOz+7qMcoVePK>jrozNfTaLI&$!u2Md(TWY)yr^LV5*p2f!w^-BCY^g~|t z^=SP!_UL-1gYJ2Xz?4vo9Jd&uV7|8s86 zT6>JWuFlPO+tbGE(Ot8uX8oQQMM%8=SvzeQ!H(H*EBxLnbYN`&`Mf1&$}FW}C#HVl zPu9XT=fQ0!rW6itlSVS-;;2|v``xECG9i7Yvrig@=YP(4t70wsTnrN#8RY!a^G5}1 z>N>q92`%ag*D$1;#<=bJEcrZZCn2F)cgyd&_6N->?I(ZE^HOWA+B^OJLP@`jTR(&y zTs$>We4TBe+4N&mvNGu=9?JT?+ z@=tPTS~0cfHd?CQxO)V={e{Y97wWlrFK=EiY~CkLf4w!m5D-@_+hxumFpV;Mz?aO# zMQ{R~%yPepW#|f!c-MGgP74lB5CiTku*^Uh9Z7_GS2J*n2v)2mRR*s2_$F}z5&EQqDH z7&ex3jDlK))(-nCUhM{bhcqX4ytLwP*NEk6GqQM&^;URJykGVB>|?E55p-$fAvdJ; z(>roe+2C=4i}q@BT4E7Qk@{^`IpAmEEEb75;mI?|#a}4l zUYfs9y8q`U`2Vow|GRWb$pah^g!E^{KyStP=D~2G`O5hG-4OTABNAp7#=a7;*ajJT zep_klb*i}3Q>{Ik^6CU!lujkGUTq2+(HZSsR2$wcE(&?PUGhKqXJSqs@mZbTA8edu zp8?w3|3YcHzjyEl7P`{ch4g$lwr+R4Z4dDvx?OBPPFgm~?$+NXW^ch^jBVvBMPApn z4=0DnZ6aUq{*2|eJhrP8bB0;mTp(ajs+JOg?2e_2^*nH2@)}#I@)G|z9N%dllHQ8% zs#8poTtZCOKRK$IqjFla(|#2Yfxd8>irx5p<7At>OJjkHzUV=Acjp+kcyWnM+8jtc zDrW!g4H&iT`Q8rxVYPeDAL{gc**Lp{oa@hIE<~G#Y5v9?747*@@cR_XMDFa~>yBzN zq3Xv7*a1ywr@l^3U_Jaj|9zzsFp0BI;-cKVUliA$ssZT>pw6?6j$#kif9;Q>0=wm9 z@9%PN#4xTw@k%OpctGJX%FWJDa0+G8CRW!@G?*)ASchO|=?DN>ux7LO>}hF52+2|T z`npm#dIqmYH6B$;3?l8tCz?v7q+Sr?J!JW81LAsTGY+^IGvw-HM+ZEbUK`2)@~-ev zkl2ZFefDMa%uHb+a3^9)^Gi<0fFAse~xw(T-m z-W0RaevQQ>%m13v|GToVHr^Ddp!;3+ws(i;lY!ji_~rbZiOGx7$fRPF3vb8tgG|C` zZ6FH64tuo>{T@m-z$I3bDZkllM`*s&q{?+8+M2J0WC$l)5?qlvHd=v6i#=zKv^y;3 zx>P=2b;G4o7G%s&&CrfKQc3l3^3ijq?F>^T!iV(IFEyM7MXGlDvIEbt10&<$#Fir2 zc;_2Vbmf-ouU&+o`-FG`b_PR#QJpI{<-u(Kgr?A8IrXa6i~{0w)@Xz5b;7F8?5t(y9LoyQQZVv->`UY*5O;N1&d~7Ut#V1OfR{b!+)O^6sE?%kf(9?`fV7Z= z%5}ygAjqkTf7VI(!+7>qMA0`vr|sy@#BVGR4xu34zQ-+7Yl6&CY|8v;E3$Dxk=tA| z%2?o?ZKyWA6Rv4Z$bh_U$3jN|BOMBnJ0En=QO$1#w1iwK+kB3*GQW=Hmbu;cP}BV> zlBPiV1l@*c?1pZrZjW2K#Z>yfVH9V1!Lwa3`X=nFaSYy+2IXLx163`X)b-fV_SXR0 z4UQ76K3zNxD|lI({Jomkqy(J5P%_j_*Cv+hI+S*w)H}k0!s{5WR;%d>?W|DbO-*QJ ziMnm?9fm!jQ($w?$1VDj`59#8&W7`#)v|?V2Uump}Iu-Wt zWAc$J|D3(|M$uzl#^r;93v%&pGU{Cdb|ZN12O8axQUB>19Zb3IXNfK79J78AcwbBj zJz7Jdp6WLNsIASt;2awQ*KQUoRIB>O1!-}#j2X?v_7-K|U2ehX&io{c50|GDR6ViC z^}57uE!>TLk(YslGAULOuVO>2YmT&J2t(#5Yz`tJyjzn3{_I;dfVm8n7kkVD zK}#+>jbm(JrjLDg&^RKxIvYyU8weqM1sZ;N`lOIluwP5=bfE9VLiJ^NA`8|7{GIp* z;8VPuhvT-3_jw>~-;$^PkZ$Obruz8457ugvdi)*#hHBZG1TR0se5g^X1ro}y9oDX# zzS>tl@%@%QKOk)^zx)}vB-m|9!9fFBjqlVzYduF%Q*vr?H;t+Iy{3dVk;ul>0(`HC zIM{T7O$xg{VafUZKH1oYrbgw4rR9=0A7j;f!yaSFvkBpcym=!Y$;A0$C@t3TgX`&+ zfqivpO?*D)QBs;nlI7YKKR12NQM25dClZGU>y!2P`RNiS-5(*A=)1-}EQgO*X zb{F8034R4{qLCbpxu_YS@(+?<-E>HWW~LqQ<93cGE1ID(PbXAfr*a{tvxoy_ErF*f z_F)r)YPyxUGdNn7gT~61B7K|O!`L*zCq%kmqb{PGjt^J_9A;!Xf1!L<$A=mTP|`0? zt9fvMR#e$WEFFlXEK%6ntnowFqdq=m*3einxV0%2h_g#kq>-iD32(XB<5y!T zU1{}HSfk7Is_Wulj1L(LJjhv&GUk>Zf1!x?$9BwzNn;4UJIfdpNB9Ff?X?LASutU_ z*c#(}7xh1nXnEUK;6UOmS)~F)PjZhxAJqhe}*4i`M|%j!fgY} zciC%RrCk_zA8$2zv$dq*<OpGd+>w&>eSg~sq}WL$oXf228$TyMj6qpmZbwoy6)u(XCvNkhI2JXYbSn^&S|5Q^ zyi%C>0ZtVi)dHBt>)XDYAqJ3(Vl@*GND3tt$uIs>qZ(_RfbDdNIoFUh|LMJ>PP?U; zm4=wOb9FXsWQJBXo)lwvp;`p3<5=X*_1luf)_rMO*NM6H@ri5KdC`agZ0E*nca4jh zyi*Tw*@!hgkB(IMVU*RzH0z${Z>Sk3>M`##JrS`J6J^k2c61SKwaZ)ZLG~{cpy%uj z$Mqp~CaG+d44qQSKxOOICavDE=TLROiZ>w|Zfk>2@J>y*vu66N=)~{@&pE(VIcw7pdWx z1uC6+l_4N+f~gGiV43GNoWX+hOfEHXH6sEtk?|*b|5zg>!3y1=Vb^rt2jd{)%vV(y zhlyQH<1G!ZZ(N?`hGa(s0if?ao_&1=#XF!h*Jk>mJz>V{pOD=vSsmahu>caB>Z=D5 zH$0Q4kjd60`n5^(n@$pf#29 zWx4;`DY<{fga0ZD|0)XqDhmH93jZn!|0)XqDhmH93jZn!|0)XqDhmH93jZn!|0)Xq zDhmHUDhh&~`>3A}*3Ds3HcPvx$T?RrauD_=us^g+Neg~gA66aX z9xZmuZ!z5O4dmmUdUP4sCt7|8=}%SiT$sac83Q;2`~qN%aBJSF=lpXSP5SVHri2k)fr#kX@O0 z4i=s$PYWas+f83KTNDba&>c;>fwt!k2^C5QzY@5pGxI&(XGZKDgh3i<_VS-c$6|5u zcdI!J?gmiY@Kp)6B&&+5Wta+!I)uLoai>~Hvj~4l6dIB)vS=LlO8x2`AYs2NPq$)*2RJ*y>ruqo zKH}N5&e5|REY(s`E!g|WQ*&+OXF$kDq|e8c$y>n-3}j zx1~dDXHDvAAbNfFZRgELtYNk$TWdq}L;T$7rsXS2P1|%P=L|0TANB3M#CO9SeCGoU z9w{w-J`nEV;_7xlPzhZE6V-#C{e~MI*^b@DnPvQPC<@XHqf=b3j~4Z%M$s@5ym;le zp+8bVlGqR&2#u~M#wl?f*;IZ4&sjjEA-flRi?7NO<}MG+KSIZLW*JsacB)N)I~2ht zxP}X()~Y6|`tHc}%h}PnfoZ+Jx6Qo^V=6w}H>S@j^Dn;h|m*=cZkPYv^T$Hx-bI5E}z5m zZ_Z?LT{k6!m3KdqehCH^pIR8HUmCBe^b`vC5pNK$WsS@8F;wgTrW@Otvs>}`hh{aO z!5er&^*okqf1xb*4NHgG`CbVJu4{Y~TawxQnSS@2^F;nKbtMa3T68(cbLZf0uYE8C z1mYH5R7B)VZ#$ax>p@)u?@?F*MBcUp-#aBLYL2OhVOGr1%P8am;o7y7_aVfsQJs%P z(nCslNj_Wnn=1o4Pky6vgw1$TgYFOM=-(*u?8j1Qd4D1eH|^9Wv3w0-qoEz86S(!J zW8)Asn{bcfcvXm9Ox_h<@|IcFc2q`au@G~BZ`4^o;nJ+&V5@}gYlg+_3&6N6+|}v8 z4PieT>sf(wG#&w$6qQfU7pisA>=3v>ehug)ruLHvYDK2T`;f()~ zz3ZBil03jAWXuj#jaB*h=we}cy8e-m_Q9TEacgdP>#o?NRYROo)O6{f@H`6}^~ExzMi< z-dWL39nmSMhZZw`rPUg>K4}7S>J9`(k!W1!CE*DR>Kjw77yz7fV~QKMbZYBJbgr?hK~AoH_qe3mfw&H1B5ky^u*Y}QO3Y}GL{9I z?R|l?EyL8aY882DN*P#v)YWQl(FeBe{<@tXHrEq%b9Ijqaq@te$NQpesx4Uc$m`)L zVGI%Z?XuJ5C9_5K8m|J(H_&$X%#>^T`*^x63#L@aOm`ELOw}JTh1|c_Yj~bX&~O{t zYYV5G57u37XP<`#>9uIih6EU%=^KM@xb&?eoN>iLzVWtP+LQw}|O&plv=CR5xsSY@#6NdhzK1BrCF` zbyJ|mY;ljJ>JLFtaSeg))tT;cKV9v*WZ%rn>JfKtJHas}GvqHT_ z_604~Zr`T$z>1#w=E~H$dfSI>es*vzaEiWG^{^nS9B^EkP%=QDV5k{+ROPq=JRZDQoeqqAIlx4jkeCJ{8rJz*!xQV~P96~uXj~QT6S@$oYjA1D$>qvq z33|^W^AAh-ATB{R8>cKH46odqHC+Q2rP(%rMH8Jxq})Gf`5iP^-_3^cJ3Rd0+JMV1 zj8Fy64#dqvILRs$yvL8U+M_vVXi4HQezBnml1VgPyuG{_sb|5^8h1(73EF_j7}nxD~w<@+R8#2}Ii>Z3w1xWO={$1S4+q{8q_OI_F4 zp&=?G9wp(1!7CIB3oaz^Cvt6*C=Ao8rsek6Jq4={2l2sgP%ju z4>o!l2M<}}q4h4_*j~}J*cm6_-TWm$s`!q*3zMz^%(^uVl9-F z!USwi>5DUX%*qNvCg$Crqm{)$c3Jmp<9k=7e$|+LE)f!XFe?cP=B;Dp8x-dy?>Q@E zPloQx#|zd^S~sosVqty0>;oSy+#j2hMg=E3iq%#D4hCqrC5_mORScCs5p=LM>a~hD zeEo0^EPx_6Liw!M_%LaSuiMICOnQ}W)2t@E(|th$C%xa9Y*A#zu36dN;qPKmIqutV zk-CrFS~pO6vc^X19qWP#$+l*hNx+!wq#XAr8 zYP~GSc3MK3@g*Y~=JZu3tUtoqnEQ-pX@=xFi+@0PM z(loM~BQ**xc$?5#B>GiiNZ=sR?|Mk7R+W}9a+iIE9_*(Ii$5#1@ZQL%+eB%NZX71Q z6HCR8I?0!p7ceOr=R@w1Uj-gSP`VFK6AIVd-Q_r3&dipcI<>k~uKq$1gcZ%Tkutvq zij*Fa1x7D<_!2+EynjyYZx+a!{8BmmKdQ{JE-S42#^{~m&^$P}{ORKgVH?7kThsnQ z(XU;;dl|f;ckqYdf3-?-w zBYWF~u&=wjjvZ(;bsn~J7Gg#>HAR-fZ`%=xL~&55+Uu1sF`cDd(p+Xe0(I={duuUJB+9@Qw>0=iP$cd2?NXv`D$YAIO zldz~V+8glf5!<37#8wumgry{t4vB&T!)y3*6SS;|Vs0>K9!PFZDjQYzh@Bjo3h9qWtLGPjUxm%>DdPEjg#_<_8z|KdRR4Nt zT^)BstkdwsJj1P%lc+KeOxl<&J}FsoTK4djaZ? z=DeaGC~E=X4eF}YM=KDw^12VK=ta z@sz~|AB#V3x--&UamL}?^B5@UF(sRe_rlo^Dr#!_WrzNbmEIOkh(`#{O*vhdBX@wv zKRk#Xoft<<3smIy?mR}OF!1W!8}=;2DVfSc&F^{AoB+f_Y8TyUEh!5X);CBLs_8>X zRq1p=F8Qe6J%u0ImQBtl>;0NjmKyiu*Pt}QB+3PumnuHb<>0d`0`To{gpI%sO+|-6 zqOy zJiev>7JOIHn75s!uw3%9EvSO)(Q%!MOry2DIom_x5#ABTyXokxz z-T8n~ai%--4xZNDU~x>V`M`U{P@#)htgey!;z-yQfl0d7{g05qLImS$qJVpE19c0| zCf&Sl(~{<{(>k$frw~d8^qacVU#Kk7pD<(?Yg9tH7>9TD5+h8^=1Ap=CBr8aCz=Nu|&nUVflC!UaqxupdG$6nqcFpsIZ3w6iOkx|8k4&)U# zExx4dnZe)ota_2p+H1YL@(XKM!;a%SdHR z_TXVO9Ko_=+CiZ^9FOGNK{HNgxEnjie2N+X9`(>aM?Sb1gVT;BT0jOxU4#3BP;Hjx ziIMhrQ_I0G19}orMOxU&G00Fwu$quI=wnMt*MfQ>&bxSsu)2=}aLaS8&0`*vgCnr; zLU&eJ-N1Vz2u8IDSslqVT}>TxMR=&Kt6mrAFha%ZyE|G4DwxnXLmc*$*Bnp9^cB~- zF~lhuTIIZ@kng)%R*W4xoR;kh>D?h1gMV#Iqw^YD^#;Q#F&*euh!mRx-LArao#&AhREhlwvOCOJFVZ{`_ zLNAg(hiRn)PCtOv&ghu)35}93b_y2(UKh1Tot{)DhS6UEAL7O2T?LC_M`FSsqd^g! zSCOAYqvS?JlS!>%+x90B=eUbfT;{O)w6al1k5 z0$h^CrpZVWC7<3>)#Mj>YzV(1o7~w$b9n3lH__*W+}BJQ*8sDHzsp3Te_n`vKS#}< zrsc!ywxalm?q-p|h&wZ7hm%00mR^c!0$u2)kSp`Ga=Ea46{qFpiyOfMlho+e8MHSt zxrHZYy%B+v|B{|>c{52nuxKsH7P7k&FFU{_Csu!ql}b6?o(Na+R9QWnq^aej8>m=S z=LY{5s-bL}0sFgv%lVy?S&h-|xb6V>>Bm>`bxWmLU#Ts;5LYgu&<}O_AxOAMXX_3KlK1Br2%Er9o6W?5j=Nt0IDKYN?3MEpt4^H-3gV{ zo9J<5E)m5t`MIyDl$xTELtWPuj;sAclDCXbOj$o1do2>n`;?}_QO9mR=7qa4!A&Y)DFsX#jXa%mlE_Q#Qv+wT7}+g25+U>5a(Q$B)9Vo#@srCeu3)hzwlgC zpFc|ah$HomqkhpH-FC&wCwmP0xyamTBpq)M*D>%QD2oa5!rn)cUJY5;+4iAsWs*T| zI*FOb&}!J6Htvmf3IBd*E#Mwpm6zuKDuDXcGDGVRZT3iOI}c;R?Zd)E2As9k@*rnxYX{i)d#Y&NS(de1_9#2jLfm$&vM?$0m=6K1zd4pOu2=Vkr$Hw9T_!UsZ@9h^^@B1{x4<& zk$;HD7aJm!(y@`cMjmYGj!h^_zKb*7CmF`(>tripvXr4q5oNKXl{tRbeX z_V#_m=-4~QN>I}qMoy9-J{>wH)Ad~y;)aIuoGDL)bNK}gG5Pd!VWR!ZmzrDQm}I}` zDdniCywg8okZXUHv8J#cX=rbI)dFxRMxBLU&`7*OxvVos5o~l8jvXE*Lu+J)PyPDz zLl#`c7x;LKqmaK)1?y+MeNkZq)@&|-yH!nz@RR6!qpfkTWpzF~3)Hc_=5`}fvjy1j zgR$y0#`D@EhSKtZCVxumGdiykwLVF&9&)Ug!XjcEGAI?Z`9q!0sS*PiCFVZtG8q;h zueF9<5vJkz2`KT>%sE1TT&YLl7-lE&*mZ2?k51uD3iYXEc%N|N z{lOce#9{a}gQ@8BB4k3W@3H#QaLYPu!b>AJ>~+fDm+zod@~INV9-9_p{NyNi3PJ{Vl#u(s#5B>B*I?RhNP- z3P{E2^S#<1v4ZT#Cm4)}iq1^m~-|A=Z{ozafYT}w1BXnmg+8VM zjKM$MsdyHC{0@?$0rlTf9`mO2ubx4o85kCy1Rzcuw|?*EFSpTtX>q#TIKC@t{7-ql z^Bbf@h+l6b_b*ge;P9*VpXbGbMVL_Pu>6mxm(QS1`7=8Y+W`XM&gPYaYmu#|0~G&? zyE9|MtC!r$s=rWHgd5d=*30{_g}#q!5w|5BKQF!pxatcBPYHIz^Pm0leRIlwX|`Nr zAG|;D{R=hT_@wEATq_eBKhV+JXhwpf9=6?jh|Br^qw*Sx+=u!m4Z;SsMmKfKt_Imji z`L0gX{Idn?AG9KrkQlUB_zzm~k6tnGk3(TO{hvdYDH2F|fOr4#BmfWSH_vC%|LlEx z{=Zp^+W&ogcvZoFcLNPp(^Kf!9a0p2dyY+a0RW|cE^S8W-due%^UpP`=57B`F}VK& zUi^2#+5g>H|MOFK*|V>XHH=L^cwh}QeiONR8OocGVJdnP-@F9$UsDxV?JtRLH(mr= zko6$nrOMfBQQfh{6iM?&h`UKj*5WC>1E)SvMaV!rpu&Df+?%&kFwfn;&a>Cv*;oBbsP zsLGrNTo^4<*V1=Yi0Rlt9cWWyLq|+-CZ9>#XbmIo2;K{iy{<5e!P5)Ba$nBjUc(^Q zgcmCkfKMm?FG^9ts+dCYe#`0V0uMA8Qqs|9)t*1)>mlzsT~Adlw4;JfPiFyXCr{6} zcaWSb7Nyrf)C5oB(U5N%r%k*MVh8{^;_i#P6SD=q9{D=<-wMg>T=Nxi#_lyIWY3;( z##W}a^zA<+lin5kt=gT;t&=}OQ!6GV>mix#r5+dbb9y~hPR71UCyliukgk!VfSf?+ z$LbZ|dO3G|nl3M;f`z&)rV~gTb>BJl$;p}i z#qx#_=;|$&g#W5KrcUTrAi|jyk(NKF*@eEAhwF!DPlnQ2|4!(~M^d6kKsBm4L=#5- z$Si<^_!bN9Dhk7M6F?f*9Yk|6d~%dhg$ZsN+5u^jG;4^MLOsVdFH&(K_SKP8&DE9y9y`s3FW&aOD_n2-?k7&; zkSfq$sI?+xz5m(*|6exL|8+OaPl7`~o~pZ5%|BjaDT%rUkTkMaAhX1^@BWrwDF%7U ziy^1bPTInzf&*~WfiKRD)pkpma?oD}P{PVu&gyBwj`YyYK}@TPUsvBMWsjl?7(ui6ZU;3>I`toCW27p=t|r zE>ai5?qBGL-FVjoq))C~Ed0W5sjok6G;riI?xp6Xxhuo1LXZY3V55?Xe^2mJxf$Mn z5`FV;Tsl!WRO)I6xX3A|5htG710Q#mrDC;C0tTL~VrrYv-Xq}m-lq>)Zz321R!Y2$ zUjwQCLNODikQ&`#5D5wOR5`;F10z!D9JmnE7(OZ_@5WD}Y%pvhmC3Vj4yNhZp`XMc z8^q{+2#&WO3crR=vt6k`ZaIjFXd*S9zqWJubTN2A4|KL)$*!W8h6wP+m&6%7mS^67yfxvL*y%@$2;q8Fis< zfI5X+0^L0yU*AZ&zHS`8_>;{oAvYNXn}ty|<24tl>xbE(baTGgMZFg|8cHRE&#;xW zfC^9Q=qh%j&nca@`Scd;&MX$f6;M@F(&k^@-jdk$D%qya?j?JEf1yXXqL@z-P0k;! zS|9?1MBG-hCSonZI}QVA3(q3-Yoi!u)O03-I(7^N=}xfjYTyV=I|oYOU0LuZ`clk5{uB8>Fg1 zMR|omD4Dc|vDy4SvxeP>mOkDaV?9c(nIPmVvlIV9v*OUyyJ+88Z`^fqdH2p|2%7r_ zA5_`-cgi@8iLgB#_N{yVEL0!TXXot00iUx+aI#=+_=zkdOHjo#eJ#VVu$Iha=L6i@ zX%%Y)Be$5Q;$z6=R=R+6_Lh2m`%dp5`~Q$5+)2o$v0+Yi6ixrN3BUjyj0Ai+5lNB} zmKM|DcjmIZcZlA5e89zFA-UT!G9J=gC80J8pnO5>s}70K36p&2s~+yKvo^aTy%WwW z-NQ8J;E^KZEM9NCg_bU^3vbc?1J_O~;+7oE*z-Y}-j0VWsf8oepjas4TVUT^#DErG z+L%X^SxO1E$Eyh6sc==o%{!&@_hc26-{=v{p9+AiH05XTVuQ=~g@N-J3ws$+-b4sx@N}%`)b?q8@6B{yMj!!wp zDVZ$qYgEu#{4upRb%di4V3nRXze?+M}cGdUOGy50f_S4Li{KX z)rPmv7*cP7aH9i=tDSczpmstyVAndFF>AfJ&mUT*Ke?+ff9i9pwUzUZfq8k4ZIBy6 zaD@tupK!JlvLOt?3D5o)LodQR;r5NC<$(0dJugjt_t-Zr;XnS+%`(R%U9CwFQe2zc zlK4}Q|CYFu2W@p9ixm2_=f)oE1z2j(r@AktiSXPw|wpnH5oF=#*L zljJd+)uzzdGy2Mwu)~>J_Rq0`Z2^=b5>VCD3-Q~B!uyMzR%_-s;KK=os5&5hqxj5D zZ-WQ8;rj>F_Gc8Jt~VY1<+$;~lQkZhhUR;+)n_5l#9L9uHCK(U&RGFmho`3;t?x8R zJHd-rweF_AtPBn7<&nzDpn`LzG`}$ZRgjP6^16`h$Lz>$=Gi>zI*ehA6P4ks-o7F0 z&qvO5jC2m>X?95@8fbsMPF3}4C%azzkp~jTM4ZW=Tnz1UJihtjvvaUBm$&J?@V;En z5^2$q(_;i4+ezVS|Qoi4rWD4g34K%77o|)2fj7d zuU=~vD-g_=MLAXGYWtD-#qE@xdt5cbVfBm2d+=|dZ4eZtegy7k9_R!J3b(RQO}f%| za@FD0AjNTffU>dEtPbFr2r4)oYOL|(GuHPc!XphtGq-p&Mr9npzqMTQAhKkBdd1Y2 z*Bsd7XHnRlUeM6@`CWBNu$dIC;q&>{$O(G@VwigRD@j+f zzI2=#hTXUC_me!hz^U!&g3i_F0c;)kbGQ&k^(iX?DZmX>43er}t78mc3)%hCjE-F& zEbej}he?`fp4J}27=xbEoUWr3e##-{6MYZ*oP)L6>?VSwI{x?&+j(*ApSM396q6M$ z`qG%Tx8bIq3G^Fb8~29jNcc?XKy;1v(t>0t^<9LC#&*9_uT$RO65_71>Q-tkEE%<> zye4>v);)Y%lXw5xN%|<(O3EqFf_+(bC6i=LSyf+6M0qH;autEnyv7V)XC7uHhv~XF zeo6l0#%&k{etLw<-u2m3M8~|SjMg}^{>Bs5(-MCwT@&$(_fM-gASU z)Ta|kto~(D{0TUs6rB>nFbn~H@8RdAI5l#L+^KKaNoj!e>VS*faKiu-#GOO0giqEw zkZ73KXzjsAy+oU_@AbK7ibhIXD+DfY&zN${kD{l_Z z7XSQ%jK)DuNxp#h4(mo|xk6Ynlc(F1Ko%B^C3}vI9kfou(IQJX*@;ooucK?R56u=- zYNZ}aE9Q%$ryC>(#~(A6%ZjG|%Vg*OXo&jHnCCsrfOfCS&TsyE_cLC?Yxroxj|uki z)nh;dXI2k)4iN8du&m%xDxcn5A$gm6Fqp6k*<*QT)%LFNB8U`4ryV^j%wdwa#d;o2 zgyk>Pa-axUl@5%q&*WW)xEpMuniq9XN#nBn2dP!6DkGibBGG7j|J(?wNax$B=wNA^m35 zAy@*8QmY|coe7sF*buWwnUtb^kYAj^rhEq&oJGJ&Xvb_oNa2{4k5d}$=?Yapz>Df} z5I2Tpfgs2wr>&UsERbIt>6>4RE^(XJ3-`MM^~;y+eRCCfH+Su1b{B_ZKK%Aq5_Eh9 zz#`xcDM^)b?Ny|62EoHHY~j^>LaBb4m$q)Ol#rmkB+WA06>O`SsNX}c)vtl9HR?W0 z(R9ff=M`$*1bDGs+GBUY+Ma~?KW-PD*jp3O-)i{%hX zJz9xUU6b@jocUQ5p|88Ht0$LUX3IHrco^#IACnz_DCsi*BnUinKtkF*oI3%(r$Zsr zO^9hpjKs}@N8=Xk<*w+72_QE5#kQ4f0$+Jf@gcoG)d2bD&iQ%%>IfON`=Vz0)rPtTm(>ORSv&iq8IS>j;=^s({uAHhsB$?+nH-eubpwng= zTl?`FTKQpet3Jc~-9p*ioEQD|Mf&t?&31tQVY>3XlldZmjTpKy|D^pU+K(VEBMRG= zo-5y!y?{G4C(@bOZWPtGz=kJ`dX({&i7i#MiO{vVVuowQj{CkHZ~e*WN&+&epBEeg z&~y?AvBbs9F_G^XSG3aR!(o*zFKMcczvmA zu5uBurrCsl=PaH{m1a_?&o0xVgBm{Fjx}3oU7LlE{3ZTI7u@nK3H9JxA%Z)wUaFGq z6D(1zmBQ255Aaa4{$o6qbGbm`MulT-(|V|*HrErP+p&1>xdn4^(wc}Q4kN`=h{sIh zQ&s*ix%2)bxiHL+`e0|?N|}^FqYN&RzT#=|L_Ck!OolEdJVzvVf79+*=389co#H@ zKQb?yaCI8gv{zaJQeJ$0OgP(m)|_H$8k@K66`Ws9T)C4!%o55jHap|G;S3zU{s}Fy z_wjvhhrLP3m*dkR(QsrBVysf##m8{=IASqPLKjw+4bj866)$7Y-=XWmwo|08(ER5G zDcok}Y@D$)KSpCU!WyfKf82ie$JWgIo#!3%!7!QIwF2wg!4>e$Bq+BvW-_`=E> zFL6C5p&USL+bzXpBIp|4a>U_)>y>9oVZAz87 zI4lFhj|o>J+nB_!k=7fKG;Y79}>U(+7-}#NeNw5O4&8LJV`SRb8*>hw@tJO*QljWPjB!Ay{EX<68OFHIM0aB6~C7y81kQ?4`2FM=W zJs#rokbykX&lcS^x(}_9iG#1Hf;$iG^9Hh2C|?LytMU{YDC#=WSj1uC^iZ0T3>A!3 zdD~lm2V}}lxKt*NH)Skx?x~(*g$+YnCAoGv#QRGrf{TA**|ChIoZPN6rfSY_d?yo; zd*c=dU133WyT6fBeFww^6kxYyFo}DAs{?(-=YB&=p$_^BwLt1?QqqQMbQ=!O|7r-1 zfGF|8-Tt$Q)3-4k-B{5qoAzlmY_~3MXG6x0_ z{-7?Oeu>UZz1j*!=Vz#trTuC)dy*@gEfU(EfEi5_9vON0!S;4pAl4;LX2)26Awx$1 zUl)9<5CM+-Cj%V(+bj;*7d=-NpjJ6WrY`5ZooWLvVL@ zr*VR7;~q4)L*o$KT^eXyg1bwS&A<0va%!zpXYF+^_RW9U)mmRwe{;?;-e)}JdW%;| zggH53PA`-N%HEaqj!m2LI0%R;L_*Dc*P>Zlr$+#KVG-hFEMfeic>&_0`Faj3yZN9& zQ|5Rv95Zu^2XSgMr+N0PTWR`?Wi~bxRP0QJdK_QDFpE0ZAj9r%rL?~QZ%}*FU~{dP z-lo}koLw6UI{mj_^v%`R{GV7zME|hQIx$_P1beTNai3)w!gc#{K6PLSZHz!4%&JyDv*66VJL7F zFZ25K*HS7!JZVjkyMWUS)@u^ive%kAmB5up{0ScgzkoT<>x#h3AKcD{e=awU1@44~ z`_heI3uLK8^XdB)zQ(8Ca{2i1ezB>qV0{)K|90$f2+9X~S|V=A zz<*c3Nu}MlT+1fU=%v93ZhN<)g~`RrF3XcB7TsGB6C~;bu4@<4R1MdYE^v(=cc{+m zd~f@^xn=L@nG})yr&o#McdWHKcs8e5sMU5+J^hxsKO638ZeYD>zIBKkAdsD;iyI?f zNDq>+=9*F*sTDrsSZQw}Y{1dcjB174g2grUN%EU(`#MGlLi8vrs$s3)B%J6s6Rmd> zdS^quf~O+A9J6%=fw*{fpBX!Ry6NJbCH=qx=F5Kpv7(h|9HT0n>!7IFW9EK{t`23E zUH|kR@n1k?JrmbHApZ~XY6@${v*WPj*)c!ZA5M3{^(%x>{;J7?0~EW-(v}U^t23=V z8Gadu12(e1U$M&isgyRKB%S7wjr}AuQ!6)NOc`qq!m1DwQ!tRua=VeCjL=#8DALZLGY+&27<9)eiQT(yGjuW!#HzZ@ zCAk*3SRk5t{$6GMiaJ6E?A$RlP*NU+y2+fE&3_AC?^yd#hsCmRPCFxg8?>XI2bKWM zUF)y%L{G>DFNNaur?@DnCa`CU@g+|1w!81qaCx6_>|=x3W}lBpUSIh?U2o*%?Jgdp zDjN&uQ?ERhj~)O8E0X%Aq#5s8+Y|0ACif_)wMxwC%YG(#)g(#4%;&_k^~t>4V;~1; z?W_f5dD9x>E-!s>)t*Q|CiuF-dTVp&!F!dQi&V_XKOC+$<$+1sA6qAWq#2Yy;fd5W zq*ctD%jd%=grn5n@-?#|TAi}gMWi}&L*$gBo1{QgHn3P|{Fzx3Jz85q|TYyc1 zD?93!BxvihuvzQb&KgL5l0VyR7oF4r?OMt0nvSfr_Fbhwn}^FD=5Z&$dYq_JL}R3j zn-wR6@oY84|9YGHAEi$-jX&o^uRPCPl;-9CI3V_>NxQ-!QGoq(mMFevqc%L%T`*ky zc=&y?0qIdT_zQsQV|*~%cQYiK8t#+S`|Lv4B^)1od@kIRzJUHBFX*L7v#<;`uQ@(7 z6-eH%6DhX-e)Tw3C=SbcX0Su8?}cC@z(c+uK)#$fQ@dZHk;z%{YVppfk-foPN3XQv z@Vceqx0BOg<)4`J$7#wJ9}xocD`CmWc_ofUoMVx=nr0Oto_mb9MxWamgLegpaabOE zDZ6P|y_Ffk7rTQL1fD%d$%E3lt^x535+z(;27?v50`lmn(ACp%vk3v}RaXO{)n}{CwLssujyT4&@5`VMZV#EE z^sN0vGmD2xnC}QK$5Tufnzfy%FWNKOG%}+TSG%&Jm4UQDOLZ9kImWP+v}+jeW7_NN zWWm}%^gg&l9r26sP_UKt;?qaG#M39^VdYZbSy=_QM`(tbQFLh<3bj`Lu5?bEk59KO zY@N=LP5d&AnBf$32Kex8#&@FXj}cvMzIYfIwa05@#P~H@au4;cd&_cWwWT)7s<9w@KLGMQWZgz zrr0ejKNwj4oK;v9fZGu%075Va?b>>2(NaVXNibJ+Y|sTi;b+;~4^P&?HGbM7`j88H z>|*6N-P)gxxk|SLk6XbsSnOzxUFC$6@eU90;;CAaD#~tB@t|tjDKIf>Dg7vch2$Sk zgcj&F$g^~ks+hTAjPK4`;+mMZ;6m+}NOa17;L-r86b@M!WyJ9mv^^M-);AHC?qgQb z(;jsgc)SOx#S)$4SxayqV{nx}#l{WOo_EO+#1g=SWGRI2;S5u`$=>C}Z^pfEE7mp* ziQkT&bP9@hg>#tcNR;>KA-o}w)14;VSI?eU-V7Zc+mqBHAM5>*mjwzj*NxLH(zrO) z>_W2JogbJt`mh~~dfzZENMGZfQ^|7U)QhVniKmfj*TEIOdUb+6U24ZYacYpct98-q zu4x?1mo=B_gHSLyYUosA5}x7%prl#auxQExv9mBzE}t`gyP!;^T#eTWFz8}k*V6TYn z$mPPrlDk-u^^P8PWYT~*@lutRo#?tF>?^sKD^+Sl+jd&?+mPg5mmI|wC!*Mz#)Q0e z5?sQIhW%zSC-=MMF-}e-8hH{J*3ZPkP9oXE$F&0dO_h{=$`UN@$iAX?RO5z8{83b2 zE_U%tc5*^gIPH6reibChBvJ7%xCA={#juVfZXlaAmqkiTm`fj*Q;Yz{*oz0>(>k8L zBZ56I+)?qoe~$rDrG7>v-`rtFw<^}i9H#Oih)4OnVwwt60WHq$XAP0`GOst!A<|Z% z`U;9nIMY`-KP7OvVK?42=-93vc0B`*zc9)r!5(71Un>~;MO0q5>MdvvYC}k&MLY?Y z@`+j%b+KUCJ9b@IH*37+q;R2zXP!zB=Yg@Rvq9_glYk|X+?;hhNm<}0WZHd})?^Wu zcaKY>Gf%#=D}J~=da;sVqqk_BO{jBd<@9^;^Vrd> zxZ>g=*f+J{nX9ZBXDK;7Hg_Ig(?VR-n0CpRd&$p@v!biTH@pKDuBLT<5%0Adn|-%; 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%0A`3sFlH+E3337o=n*bb-P4cQOf$6RD4uCkNd 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

7@A3+?3^ki`Q(vY%rI9j8!8-Yt zfSi&d9lrviM-e(7@DaxsTo%-~H%&P3A1@^G0>=_y5fP-(Gr*X;a0Qu#bG-I=L=2GS zYCevSdL7TbY3(jQNP7*btG9o*_HKWZ4(na$JlCJgk+cTCPAUw38?V}Fnm>{MS6DZR`&`Vwl|V>;>!oZgkxS$6OUH&3nne5+Tk`S|I3 zX_R$xK=y2cob+?xv6@n#S4f#Lj}O-`oE*a8A55cJ&6ey>!EN3POCoiEZ;e{WQDuaJ z;rc0RjEapsJrE6J5JUB{&EIMXhmYtxb>`dXbNnNwT<5}%M2@}YFQ1pJGy4hk2A(Al zh?2zSy9Lm6RY~`_?AY%gP;503gi;r{LT;!z4m=uh4KxjGn0Y0&PI?`EmA%^dVQDGW zw2ZkgLcqE(2WwF14|(XTm`7r?yw#LdlgPdAgQ}b-9CMe&ND0g=YS`@|XsK&i+m+%2 zZ7CeK-@IE6!AaxC+eRRWFMa`kNoyAD$SS3ov9i%%Y|)#I30z)C@a%8D3MO0N5(L=j zv_?~g5YN56)JMX#|6rHvhfVXqr_8BXnG?lXh$Pl7v8LzVh>gaT)gnj}$AyJ=;RXTV zQKgkmo(N8?o{oLbbjqUa;q!ZE-@AA@l(QTtGRNF#n|vjhwD5s;W12k!y2)Ye81B{? z^&Np;Ejs@LM3aylZLNmXaYxBuRNIlB-Nqdv$($u&<`)-*)uX0BiQ&n1?xDb^W^QWqaG|Uwpfft9Z`ZRUpP-7_vK=Zno)cfO zCZ!o5Z(UmWbTl9vntES3waM9+YZ~2=JhtxZWp3+nOWJKqC?~L*y@8v>jgsg86Z7Jv zLMT@)5WV{mPuUNAE+9P9RNY`HlAZ(DeuUv@=^fLMGf)Qd)^*$DpEvF-)>-Qqa?w;u z8itP~jYLG^(3RPxf|#QTuR4Wo9!m;Q0z+hq=+OcO9DN;mwUoQAx>50}FVCLM3+1zQ zR9s@U{1a@yg6pW-J_f_9Z9bVJ<+GoVN4iIP3CIQx8#j!;_qo{Rko?&Ey_)8uQ|YRk zI_*;9vU<6wYXOGx*JRIBF9))EC5aht43egBk^s!8B&un&JTdDjiCcZbrEhEh0L+_e z+5Z9PABU&ws=_ZZ73E?IrZAhgXCfwGu$${Es>4C{8F6ibnU;Js1Y>zFgG7;w(i4|2 z;QC+_4|J0MMM@D?Ji4KS8^KUtg+n8cEAopN_h4kS(e>IU9yU1i1 zd!>LhjEcphU)bLk%1^RLT72&Voe4OO8k@v_uINPpM)wv)&L(QK5Y9VLfAWzG8hO$u zWLJ#Z3XyGf`&Ox#eqoq!Kg8^%oqz!vq6Uab1Fld;6Xfe!3uq`k3t3(MgF8mv*Ds}@ z2gD-FNaE(X(ep;`X^%Gu4ixlUCnqtnH!*8ysy7kz1$ffIt05;Ky_Bei?3^qKc#DdB zWbHYtH7IR{i_GLila?M-)){7 zKX84M#nsT2r3dJelt7rHEireUngIlHn*X4H3f5g;vOlv|HH%va;@cU@{_qo*lxVK2X z>EQ4_8D5F_cS`hs=Bq)f{(E|I{-ge~`4Fk^pH!#>PN(~Ysd)ZInPt!E>2L#OAvA^h zCU0NG0Vki+`4+wDUB*Cp=tv={iz!EqCmSG0)eY3;+v}S7Pg}yF+inf!gYCg_wY5=F zyx)2t*w~WAJ&~FiQK3r*F`aYOld93Nz>md@wGow#OX3j!-kQArT~*`@AjsAEg;j#e zk|+SH?X`&*ZEz}~`X_D)le#oxV;9v*Cne^d&&uY@oQOz!rl@Y+$0$1$QP&!I8OoRh zX<#ag#Q2IAFEIpw<~tho(CN|a(Y&HdGq-w@#3W}-uPSk$v8u@Lwi&woSn!9wFO$=h0sLn{p4hk!7>M(aiOsl5$aL)(L;K1$6XbMA$4JXT8ld&O^<%oHk=h zRoTEiD$po!9UY(hZ=BbmNS!%0eL!{@VDtw2LNojKu>$Gom%x5v<5IZH)Q zMmI+wzel2&)Iv~8>%}wAS95jNl(L{!p&;7rpoS)bTu%Ns@#CH}CUvX4r64b5!>GA) z($L%>YzbAlvR?R72V3@N?KcCxd%YHuJ{$6i0mdH(>qS+P-nzR6YDfj?pHZYX`qHDoPOEA=e()#x|Q4!#hhhClpS zJaJ`pIa8OCx;WZFWORgmJE)e9YsIr*v zSQ?jdd_PqkohuJE^of)D(BR9E2_?N`{Y!W(#vmZK@$`!A5)0CwwJ^X@C_+v;=qfV6 z@pR}o((s~tZ$4}I>in=cn*$Me*U&0`Hhf!bG+zA0E=PF#8d9VIBmYe4yEh^{PhU?m zEn7;qeM>_{_U00d@VvWvDA!OvfNdquB@pBGZ4&f!q8;P_?sk%V{j@(4 zR%(iqnH8*3i*0o89d}-u@LxDjngf#E&ezcuF`05M$RUy{AfGm4+ zIwdrgPso0+z}GQg6>>gkOsE9?(ba&L?>_)cc;(E2yq0R|`&6Y4s#AB}A2NnwxH+?D zS>*4lFNey3?-E8D9| zc{sOdxExz`L2f_&;XD_bELnN%^%^?obp7z7qmA|9UoO6%6*)Mp*b5u#2Wp5tTOHrX zVlL@S{WfnV0$@6oy!0O~O0C{no^Bmtzl6nD-_Mo7G;V8B(=KaY^+H?)*p-X0Vtnr| ziqn>Hkr7n^er7|8;Iev+J2VUF1dt}87QN8AM z1Ml|LQ4g*z)L}U-P{ZRB~eOp#FrRgTo)Y;J+=(Ji;IK|L46-IH%By_%h>FHF_ z{9awx{zfmA*^1MUQL+lH-ma<6y(oS|@ajSGa_8*gvZB$j1DY$S6)586gMM)PFb9!e zAEFONTNyWgH#*r_v>uU}IB@wuc_M<>Px;_r_(fUn+)xbl95KXi5Ggrvi!YXOeWdF- z;w4^PdxKC_pE+BE=hv>H(Udzs#n}ky50>`cexP}0x5C0IPlbU%vzcyh{g?`+PVIBW z5cPUF7MW@0^xEug=mjS;{qa_McpodN&^e~`$NQb(q~S_;)lHaw^}TrD-glj~9uL)( zCP*)P{OAbH(6Ij-)NLaK&kWlSZwE!TX_{I=78Jv1x#Lby3T@AqXrTqH_~`8=Lf$S= z4f_%w%@X+h{p8^yd3k=J%Fl4morx2) zj*3m#A+Z)36j4q+HF_yMIUa)m08dADTf5h_f?dNWW@Yl@BiGd*V+Ri1#KP^Ys!|lG z7_0-)Kuu2zcFZjvNn>26EdTx_e}JGMu(*v!TMEcorw{W6?P1uGvWtihiUtQj0bYb7 zDxWGk-p%K+e*Z&Yw_kG2>QVGZ4Z5j2kf84^i4e~M+?EWuRbd@^vTtUbzc>wUJi=Lt z=|Z?yV=*)gQSA10tM`~=-Fe-E_CLiD5$y|?wKQU0RdC@+;f0+e`1{a<+X{{a*?3`|eIRWjzR zmY&$=%??~vmYT#)zpc1;wbh*$+!eycK)pg2-H3WwC@L>RSyIvb+xy)7pQXx#^YN{sjKR7i~T5Z(*OQlBcZ8_rf6 zhR=8Q3n%-DB0Po4X6lv1YadLxrLeGie4;qja$&@%P2Z3PJo**fT_>{-RQ@gAT09>Kt*;5q`+)(t3=L< z@bg*-rC(BbXA(BT%6-Zf)BN$I;(tf@_zy08|EH6I^z@$~oH>G(sg@Q6$?%%9?uAq= zwY^0Sa3*#Xp$ku+|0(W6x~mNSvO;ibRVdAU37o@`F5 z4Dkci(*Ew8Zr>HMH|>c|;M*b~m98E2ILF=)D3WjO2y1W_(up+>|MJF($9bGPlX&-0 zoU_{=&iqs6%<|Wb*WdKK#h2fGvKT~GPK;gg#{$r;rjX)_a90kCluI978z-#ryBkyM zJhoR!)@y2!>Lb_*GIVmDsE3+lpwop$07iU^QyWl}5Fj`~k?_jZ)HK_iLg~2i_788C zQJlvhwz2^ilsPNn6R4W*(>;Alp`<;zZR2+m+}ES@@=1=WYAj>>TT+dtz^L0HH}$SP zp+F$_61(_7l|q_dmjd><({_x4ca517Ti#da6RIQ%qtK;og1=g^H9;u15n0)vpKY z%|yYMe2cG`o4)s-&gAd5P_$d~?T_65rYFg8S>TEOqGN09JD9NIE!=2}4S>5+%3ojr z@K-$sMZl2Rx{^qe$v{(18RBL17yFM&bN5|N!q7D1oKfqjjcYOe&9gI>0vFY3o9)jYxQT#X z0=_E^LCAmruu^Y4W%AKTlu!jp^gY=%O8hhgMl1Wx(dpl%BY*wdbmZXwPe=YgO-I`L zy%{>;t|>4wsVMOoO$3e$PT+@uFqI*(Dm&n)bV^uM74h0f9$2s1(YJlFKjAI!M`^ESN? z+M%_<9d&=C*lud?zj+5Q==tubgj7{m%KzPr)QH5V&45u&&{AP6S8BtGX-rd4JZ z3e3#yC<2G*R}Y~+Pa!HeJ*zAzlQB8^7>_S7mCb);ltmF4Wz}v0KK6DeH5EigSwBVc ziNy^LXK=g05p~-&c6xY|WvOyqjtEf3bT2p~B7%+;Zrzn97DmECt9sj@J}pXR)iwV! zC8gJ_dvq(#jsnoto#~T}7%z%B;!oSswexkT{y8IJ%DT>EUQL*>>Jm@Js$%e+j zX$(`+c<_Zn$#EH$@W%+4{nSP%Gir=1jHej|Vj3`z1M+WkV@x;knr)d>B`Yb{*3-FM zO^6>7qE!V<5cb!OKr_e$qOcMf(`!I2q?CsneMQT|_8{nAl_@LovGHE5wcY)fVy{HkrZvSE4qt&<(E$Z|- z=jR;DV#i2S!F}o`vi1377#gID{A6ucg8M7}o}Em{$qigfFXarF zAnCIuHykhNB83cY#Vy;JPY7bq4Gl;9@lR3%+KC?>+)kxZ%`^S7E}bL`ofh&hUPQIm z@}Xwma}Rg+Br7v%d=GJ!W#AOw2iK!Ot|xwWZ#${U=7DfB9^CXJyI(}?bjaMxn^~F`iWxLT(Db8e47Y_z-y-aF# zRxv;q7kd*cV91##6i7c;rQo1`06%yZV|1xT5!Ij_X@dQJrJ-N)KkjM&%Z6XYq@bZz zbx-=}d+>5tg<$48wb?)(laPHqj3=O*8YiODwhNp5MZbAoqb+9nh<+^ZYB4KjD7cJ@ z)@fpJ=T9UKZsn$g#nO#Sat*>l*Pu8Ja?R1|FXa1yW7S@L@#^unU$8Q^^${I7UNd(iiC*><3_(qF>4@nW$MxH733u7f+h^sz) zMdnp4cLw>Lfu;SnZ|a+3EjJ5Dv7=*w0}VC{xmF;(W&AZMs)l&63$ysUE&g9!~G7RliMZC zMSm}UuU3hyXNs3|cMIrUhEf71D1E{!`*j@@T8otPQs2W4<}cpIrZ(o;-{?dQpkSuc z7fG8@+~a}|Ss97fbk+V2+Q#||que^}vtrK(rAZ%~+J7O48U=P|B(w5xiwH$>2a42u z`(jv8avA*jf%X0S0-Z{JJj(>Q>O5wMIzjT#>L3(2 zuH|&FGeOuqe3;=PfMf@Y&w^aD`I9AhVghIZhUmactFa$o1hx4ez$@qXzo_ro9;liT zJ*Ef{E27*{>aC59^sOGi02;ybp^qSe&}mF3*LpVI7T3f%NQHF&ppLX4UB_O6meQbS z+t+LpS-1&!3DCf4Tmf#YDMY1(wEs=yjEe28T(*&7;2O4^KAWOJcw6c&VnO&i$fQYAF&}2Xyo}AaCoxz{N z=i#D#gts+>yJ2)M=9s#U;_~#)=~{gqH}uU5DgFF!F=|(hCFT6{7l*wAwa>|Sc=OM| zVp+G=*dP1MkD^P6w|WS!JX0bqY%xvkL~ON99m>}FZyBTi$#MJtU^tCw^f^y^hd+X) z9>n%zr&#;xUpCSV9g7Y-Rrw~KuJ8Tk`PN1a9=jiF{Sa8@3QeD{=>GtgVqeT&GVago z)~-Ft8iZ46T@ffZ-(1bd}mL7Yfe-R}6qh)2WV8#4=z`T37+~!T3V1S_P z+-A-1#l};tEw`bh2)9gqvpX1pe}pzC@zJ7&fVRSh)@ucSXL`HY;^-^$&(%*f!i zh!KX{q)i?usxpwP_vIcwXIby@+*^6xa7)s8^up>}_?JGuR1lSUWUPA|7cI93ikYXZ zGK81g>Jzo`5=!gg7aXstgiZ!H;-S$C4shwBk{CJ5pkW0;$p+D~BQE^G5zR4qa_$rA>? zwz1(c+nQq6NU_mHy<3s2m$u(o~PX{D~1zXZHMYk3AZv|k1AFSe-kg~JnFP6eLzw&1qO$+g2N3H2qR)Afx_)b?eV+o0^&eYo3fU?rh zgYtED>s!TjCQtc31q+Q}a%U^Sb)LXcfuok2#uAtX-iNTErp9};pZxjbyrbwc3?}>& z^gU;Y1!&KmX`7({c(;@OVV(YJ!IzuF8^6BDb2MZGlla^PD=Na9d6Cj|@loxt@n%nJ zlEjh_VXjSZN#QqV>}woaS*hc8aRXDBL7dqhTPwocmu$uebxdl)B&T6-85WGR#77{WALa2Fkd@<8$pVGS)b}vOvl}oLN>zh&0CzL2 zjnw5cA5sgzWC{mX#Mg}WO`#kuRk)r&+oDQq=oL~UEmz=cN)}?SYkPLH$bSH;HFBLS z45gYnLL!j17%QT8avbK9crxJ z5o|J=1gz)Gy7{TiS%KEME)nK5E(%w5e1Bp~oYId%%J_*`{jyigDkO7w$@Xsv*0#h4t)v7|y`4;Zy&6iE9a(Lx%bOYoTkx2a&J{RBDI;zE?T?J|5_L08&~ zd@Izu2fM+<+SbOOP?s|$@fJWuyV3AQiNvw6IBT&pP#(WeRAS?8k@00_s-A%BMQE2` z0!St^10&t;1gHPpD=HREV1`%!iz#Z|=a1_&ro7LFjN9s?@UB;HuMpjmvzdr7R5j6! zT*9*hFbW1)dRot1BDEi1((C6z;k`*%SME$4;45g7Sezl_vBB~1JPxRr6v=-TSh-zg^$YtzW zGd)I{ynCISX=iygAj3DeR>e23`lq4tMp#ne{6^uA{>KaudbTu{xpD~(xM%0BY-DGw_eR2oZ#v?iI#9QNY$f%9oi*IuHp7JhmSscbc zAN=91;zOg)JpYEvN0_QRjs(3is+d>9fiqA{8-6kSocGqxg>EE8w|aBMCvk1kymKgU zS|!kL{3+Y!Qkk+qzjO*UyCf+^^6$q8i}t3_HDO>;%zArMFsVj!GHTJmrrU$c;H`e% z$y(G(l-A$xbM|AsAF}s$%E+UE7cX6s>&eCU&oday?GNW4g^OZ0rWvrevXo#EmWUAU4;rBA{ z0M2|@8~ZQac9`|1oQ6t&cD_^nJd-tB4eXReE+XzAURwW8?(+Z38T;QzZpG6k<1`P$ zbPh(gU+C!LS-=MObUtH$%D=>a;_2P5m|9*JX203f#32$eXD^IO`Vr2Og*SxX1Lf3F zv|{!ZD%D-y=;hN8ii*Yd8|2Q4Ktb{c0MXI0xw~R%bUohuX=yo|z|65|LgUfDlaaki z-G-qscn~$#S`}}@Oin6thjfT!U&=ur=gv-4%JO*B8?sjExaVsl$V=wBVn2FX4?svn z*!3jn-phg#(MjlzV%+6SfWeWF8|Wf)KwDqyJQ{pI>8Cyw=b`r0F6sDNElt9X^?YWx zpEX+Qz;9y~?79{Wle&C~K&;9pZdJ3oWb(c_G3DOblaUIspcANM|V-w+T#UEhp)x2VB&U^A9Ojd znySYP4`SJ+-Q5zY=8UIyI%XO>d1+eo-`Bg##%D&o_BI$st_W_8T>AK_YZ%N-}f$TAHm9!vXZ7{4+uqgm;U>cTK! zaw}@uH0^v$xTmO?P24u|-j98ATmrr9IeTsO&5L`H;olp7x%{;+Hbwp%{e4a~zzG)+ zBt9pNefvyy9gFH3UPb zAs^cn+k>M1QPM+IFnWA5xYc)sL;ni+mggJ>CBvYi5U>iNIHhSXP}lrGX?Ip?wY1uB zk{96ChqGoI@>$ih>k@ctM5Uh0*O6Qek*^!`IXEuYoFOql_ip(hs^sSQv;)0@H{?#e1l85 zO0w3e?5+lLo{P)>tE?#=3f|mOm_~OjK!gcRp#LH^y&#^s{EVS2Fwk+C^i%)%D)LvuLqX=z=b09?AxGs{>Xga>n zOC?vb)-lB1f=f}gV2(#7_1d=YWuuWhC~UHPWPjzbKl9)pj;haf59`1TysT$?L!1{3 zqaNG!es9<9)ie_hc$V-4*s2v-Pe|2ls<}ru3^Sεvx=~f;o#ibN|y;t(s<6Vv5 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%0D*VG2Hz|^# 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

=2X1-!wwBXo15d` zV9mF2h4SSqu5;<<1kOuB#LA4(gI4myUeF6s!)k7fltRNATC)v02p*`s^=N%)y({TG z%Mi7HqBf?F^Szs3Y~d~(ZO!-b)8H)A%M7~pn2%qg2&89#^CjNVdRyyTTdRC56A zOglF;NRNAK2!m_~+c_ahfdWtPpwoMM$Hq+t0%z5Sd8$-L@7f?@7GtUVuV0Z(1;;Mb ztk0oEi3dG9Je|wTYDDNdBHr2ZVu|3j`ueA8cXzn8ov0?>-ShpF_{0LQRA$kV(GPL% zwgW-E<$U%XZvP0Z6HZwlsS8y)B{%g8+Pvv_`H78~w($IzfW`BM8J=)F^-gm-qKH%e z7k!Kj_TK7`>Y2+TBD6*lD#^Jd9ha?LJ-Q(#kD?q@C6}e+($9^T*VL)_2W`w}oa%E*(dNq1*VXHhag=*yZP${Bk8%4+&7mZN`odBZ}~AoE3eOgB-mZ+^9i zPDH(t8q+CW!{Pvz$mRCug8 zuBKA!1tK9)8@{-@WW|;2mt!uveD}VT*ulFIZN`Ngaj;j#wKSM0kA;||jTc%BkN z9r69&3~DUG(Gqv)72aKW1$t^Rt3i`&J=)6|xh=KYgVlEGk@zHe@sk5Yq`!9A-C}ES zRS253>RF8oYL|&+#m4Sp(8QzwCSG`G4nSzI0}>FBB&eLXA{6sH8u>^TG}9_JVn8i2 zak(Qw^ErC)@x0;^Wq447eF2)1b})H@LDZ>-oj-#s)^66jY+d4C_>?1`6s>wBf@XR3 zQDD-s?=GGZ5NGhe3&h=j2*iF0LeJoq(Dmx=mHgkW5$h=sgWWC{j6uU9_1xXW z4{d=7jgRC;a!QR82GXMlzuQNYWrUNZD38%QOOkg2vg>=}vz7#;!@w+#t|a&CxN-lI zhphjShmo+E|CEQT|CWce6o>y+9?t7jC>MuPC_?3-ggY+5DX@Lcf`Lw9)y4&3wV}~S z`xqG)Y)}ect*+&IiejawE~_5arh6_Z{VyI)6zy#4ocx1_GI8h=|DA{Iz<==Y7nFzg zFTw>C+8-*EG?`M$qsxfgu1kxjFww>j)tG61KU#nXkp}qvOyd`tlEy4vUD|+ z(Q6!Z+0{+NmkLqxyPK3Aj&VaEv@6)ybvAGk+rZgH3L;IUugNS-!hv%A$a7hk&?4uZm#`p9IeZy052>6W1S+^Q zP#jy-m(A+@)|#oU+ca~(x5j~Q?vJe3^T~Aq#kpJe0=Fr{<*!vmiV>gACFS?nX{Lua z^824j$QsX>w_NUjn?5sv3Kpz1c&@*=l1LQa_NS_gzf-@(Z=UTCJBt~Dhd+tD+7}Gm4Wm;!S=K;i3sY4R1%0SOEF~kUN!Fa>@iFP> zo^P9Mi+qxjWYg0=_Fc;|z@JYEeNJhS!Px2J@UeGXAtJ6d|TYx=?0kqo!(GI0p4UOm% zrzz6UhQ}F$V}8MKj?6?r*2L_q9%bJc+1gjS579WqKiW9DE8kjUBxGT8q7nni=~aWi zAj+>wS80OQTMq3~Z-@TOJL&6_|R+#-T5ujK+c)U2p zk7N5@xSg?kZjPKh3WHFnCr7Y$k2b>F6hubqK9U;>qC zExzCuqK|^IZEYdEco2dM7_>tVKhDCE`SH{J5B5jLvri9}HLU(udfaDN18s72yAiue zrdPRO2ay#dVJN7Qb(dJHnpc_O#o(}M@Lry==n0+hw>{(shps9a!`$P_Fa9vr% zpsFUvP&bY~BiC$V-B1iL72z)P*(aiMs;ydcZw$C&!yWXKzP+5=j%~83lRdB(DM*eH zl0`nf13a^{$}pHv`eHt;M7ZvZj0hpd-e{^;{W1+L36=T~W;^zU(Q)+YM^9B_d?Cq- zBbGh!sh9OWssHB{`M|o{NG$_a8P?ytL{Dk;13RUi+75Z?-=KaHUPs}&d|Y0Sc-&iR{lCcAB9`6|Yw zU&+vS&GE!>gs9KY6q90B3b()DiK${xt7N5SCXlSPqjldRslU@e-E6W(on^@&9hwSq zRVc}p8c1ICZxD3@j{g@V8vl1BuEI}Qx5U=}3yCWKL}Ij{h<7*>n}}EzRP!1NIMvUC zm=v%zT=?H-T>(XlElOp-Q*QDoSLe#jPL@_&ENx=HLW$`5FCyCh7b23Ojo2E7!M76- z&3~Lf`c-0U4Hy0L)-^eDnDhe$5$!e5q0*&oPSx2h7d~cJie-Ty+#=$+uuo^*95CiS z(FKt~L+ZmSwqU`HVj?{L!8t5EG7Lz+kwupvP7U;Er}mq!@Ck1de{}nceoRG`OQ_ZK zNv>P(Xugy~czLO5d!2Rc?(t4TNnj&V1i@LUgAFUs)a?eX>!!~BO>3WQe++TBH5h!0 z@#=!QRAw%yFWgU%xdZc^(EQAWA9NIaUv5l}(QBbq}m2`K1x7{epyMG!ZupN#YK8HMhj`W}% z{1mM4b!0@Kt`HX8B@)(5>}(*aaAP+XR(DT_Nm``r8d?E)d;;_pY=aBH1CEUlhY6l{ zIY~`bi-z?JE_`cNjx|;39F)=OK2{C7rwK<&=R%3XkB^^5G5P=zb%G8=(DG!jw#yU2 z3>Ep0k=Zw)Ncdu3sv7MUZ=l5??}RW zcO(!#SNd5;6f@z!{h{;?tGkBZD=D2LV^&%`1K}7bdG$y^^bKX#BD_r$2@bnv@W#*c z9%VRnOoP42uqn2jt-P1JFJ8QRrX4>GyhtQc05B_rY^AB%nYLwsCgXBFvX8O^;RNa> zJr8{iuA|B4BXUXktfrC$455oy=^gt690^Cu0l&L6`V(se+BtlS7`6fQ3iHELeC` zCvSdLrHqNQEDU{LxQIUaMQ%hY&Q%KF(nIpJ23V|m??M%}Ym?#+EPU(!l+$EgAp4!} zT*PMU6uziWf?TEu8AAH|q_6Esf2Sl>0a|_u;7K`UTMsz-wFG9c#i@||paySE|3jk9 zGH)tVdqk8d3d#0aVsbL(F0k%>gk?5M05s3GG-c@B4V>I_6N@9?&Etz1q(F=2R-j$&y2%yc_xLWYU*t|paU~|~pDvUD z0DOmzCreYWgEod^v~@#Nzb(({k>~i@q z8H#S+5tTOC{MmJ}f9gQPBI3795A+Ww)k%tf%E0u0%0MXeHveyAU=vgZ0=xrYpP4d> z=4qk6o0%23Qq9dYU23>`op^l8V4KvjG5kR^DG2g#(F2j?{Xc)6Mqw6gE{+R^OUE3hv6FXx}$RlOImUH z2Mk>g@Jm`$=V{|H4TM~9J`s}C){@USs!BGHkDEKW`e~UuK})NYAXytb*MqirhKt?N zg;Wln`kWx>a*=y$_e0xCRiCu5@o__t%|oJR`&}rZ7#1HwH-|R?dwibL03W=X>3d4Q zIcVX5{F z0IPPqugWi5rp*_Q#}h4D_tEyf%)r^SXS^=ZDifPU@Y{P$=oCo`xsl8m=e+qSMqE0i zQDuDCJ+AIfe%l-&F|u&i^dkdIevt zxSo|m7Q7vm{c=@ce6fE@xNfIzJBEJQU`1@p^RU9SILw6AL4;0{NJbqaiHLFQw@I=R=P&MccD*p+Q^P)l zl9ae|CSZ{2vA05wh?5aH?M%H4^G;AkF4FD<7SQO=fKF zmmv+YV&K|tX9tTcgekiU7ycxO9N`Y~#(_GW75OvHClc9CRHNQodaHE{y>wr!?w5VA zs(+p2s!?8cC{JMS{mm&Uy@#k-mDnsB*jRVM@MW!Bf)jHzxEhj8YYHk94%feTwml45%r(kj?^EZ*QUQ6whe8-? zA1ugkcxtlM%njR{R~>4x7_cZV8ZdV~?Q8#lk&40w`fs#nOsLrx%RrrH z%3C_r)(RrlvGh^CA{U zr|>ja-^AkNaT|r6rM38fHB~p&Rm#xT9u0*-+Rot+t92mf)iLX2Fx*G{nw#CC1UH1KT+1mo^7&) zC+Rb)>-%6oQ+}waxf*I}7G)_PXYG=%murlAAceoYDb%00Tjg0iKuB)mV;Jt5KRxi; z;KQ+y!tLU5;TC*+(2BnKZb>J9H16Egt9z5gJ6lIE!8O5Sulfg!4%NNga0fB`*IK<_ zf55P=u|$xj!9L8XK?E;+S{d6aqiE?m-yID z7nt#WPj)CY;6baZN9#aR>#>^otX0YI)6YQ2%%`wjt>hA@Qop|E9E(=+L27cs0h{Ru z>2X6yjBlgcm1_tZxvXkjQml6qcNT29#CvBF~UPCp%y`ApqufzAwWs zwJP~fskrF{AJV>CugR>mL7DBN9!+79Q^VKs+?DzJaU_#!dB7w6rWHrVr&T=jD47f! z#^OB8hB&m};%%8^!$5g_M=YLIMWkzE2;}RDobewp`;W(>_+{MyDu ztcEB#G8-CmAtNCzLwY6{D7hq&@Cak#NIM&ky zT)M*`H%Up1pws~%jLKBfgr+KgSn_+>-ID%*lpYl&~At5hv2K#{b~@lW(r4mAq1~2$(E0H6d%U;U=ij( zZu;|=FOOm6Ryq9`y3d9on%8eHJf?A+J$#5BhF4XwG*w0U=6pH0ohzn(NHv3 zPU=Ws1DF9_Aar8h&r5hP19;?f&ar1tAK`Grh|6kTq++V2>V)z=OmHBu?-;u$I~ZWz zco(mp6@xSY%#*FjiEVP0V`H(*rFs?y31H^j#|&2V5-I_1Kt(J%Z*~$Ax2ks`;>Uiz zjd$8kkR9JR|4iY3bbHkOv)dyxv%K0Cl1D^UMXj+H^hLPgS;VKZ*IJppbzQ z?Qr)<{}SIHFokS>&ZeQpwH@7o+#PJ8g)FY-jI}h3@^C-651S^rNXXH#ZGcV%d9fQoiYd&+^?X9KR z4o}S5_!rkVNIFpa^6|djv_cX(YZgDx8?B}<<`lM znp90U^P4|TEL8z*ab0UtJyI5yL)R~#J@hzI%sApW-2k3t^5B|!wa8c=t-p;FPnF0> zq6KVSSDqwKnqAp?Gu>2l=aF>a93m#n(^((o%-q<;B1>NAOoR@ce0{=j_ITV&>$g=r zC&hcdtn$ZddboT~4R zTHse(`7TS=#w*M#gJxcx`W+R_99PF(9PYwVX2y? zoro=EqtP!Y##2oB*lx-{J8U-4x5#+O@ogXW+GkjD4cZ&qB$sqBKmMjmMnV?;jo2e} zd%gs#o-NSkxXnp^F!afI3CM?-LO$4R+A`)PGR3qa*v@!}TUev&w2qvz;U4GH9WaC; zu^<5u!}-YHyyU-Y*Gpz~znH-E69d=GSIzcd}3 zgZmhCLr>=_!eM_E66Kj``&&9~)<}7`#HqL)Z#i|Dt3B`|ZM98u%h0_@lH zIk8td%@5l4#!9YwL{Gm(0@4+7TrQRWB=ZgfxoxnK#iIr1xMQ+T-FDfiTobfv1A9;V z{q?Eo7n(G*DS0(D^YS}%H0-{bp=h2AF&N&BX$4(5x=KKA5( zIfWCazS*RAj)E5NnvI^%_bXlMvMXXacJ7l16ee}HbkUux+i~g9ceUz9Bm1LQzMDp# zg!r;DrBvJmtblW19xIA!OfAOE^o=EF*T+~sVt8ck2(QC4#Aw%xma*bx>$GIP>|&vp z6X$^4Xib=JQuvowT;IL`tXHOxEt$JHD>BN zyq}^GtHE(6PXo{Eh=qmxVNzKq6YeNq=^A;be$NI_ieA%Jk<`fMh{U9yF&dALI)@Vh z#SsY<)JJ}eun=-Ei)ZMOJ2>2QBh0$Ee(rv9*LfC4GIy-)8uONTz^K6U7|v9aF1LOsdP@qkar z7uD5`p&gBKb8FfiI$sAw7$2z@a>~Ye5fyJ|t*Aea76u=Bh&>$QM)!dncT_nI=U?2^ z4z$Dz@{Cl4mt9SD##WvfNk{0{T*!^HgmUu?Zx93wdp#sd(2kbZkMWLo zme321Y7&kuzoK%9gp|9U!F=%0!oDUhQ3nZ}stUMu>Zzz+}^!iBEnvw>5qB~@^4WdYXRRv6|2vN)*{n)D;p)M(TXWZtFPU%QZY!oWx zaN@{?Qk)f4M|>9UI2|-B+_w6e_z_8N8qO|77mv#|8lZ2Tu(%tSxno6Cja~ZW+%HTk z#p^F9_`$vfF~xeVI0QdhVf3^8zuCiNy<&U)B=9tjzScW%&5L*_9r6tmiEoOdr*%IY zfUJX>H^UgrN=LgGirN7C$-4Eye+G5HC)2xjZk%9fb2k6F9tEwJ8Tp%2aQbfqG4`@% zAk|2HQwhS|kKTdRr$G1lnqJ|iIjzf8oGJ|(UIcKQl0Ax%z-HfOwi;`J{CCAg62N?H zn7*DObhc%dYCTsA>1!U39pI3hEtU&}F{<{4R|qRMMDXZ{A-+dY)-hTa*!L<|&#zF8 zwO(-(GTU5~f)^gHo9Iy`P|G_nNVMwe+Tz*rU9DR>W0kXpcZ-C(b9N)=khb6p#;@+> z^eo6WqslNJODF9o;^mQO$W`&ybs>NAIPa4)V%xqKrTZ7lNhWdQ-1T-`rp^=6JFO8D zX)DVzPUS#-4Fs!#Um6i-N_YYyykZHS!nNlBBGAb za4NIGP61it+9TK$J4S}_l6Ial?}=wxE}rcCr?QIPQNoo*aiSiIDeazy z)wDA{bTKKq{a*o3HYXpdh|uE1!T|C~tSBPOo)V}$+En_^Kh@Yv4 zQ#$M!jYO!5&CttfY_Ym3+%GzFzN;*tM}T?M@{|s1G@dB+ zrKW{AR!CH)gyqJR5;h&jKaTZ~?8Fqy*i$GCY4j+TpKcKx&|kme zi&Z6mk3~vD&Te2rMKE0<)LkN}Tk61_{0Yk)2Cq^`QnRoLG$>u8+?@>*-|ie1IV7Q7 z%+d96Mh?uxZAAH&J12ERJ%O;Jh!jmufk3~%5=BuLe-l_a<+9akRe#=3cbr;IP9y(I zwx{%fP|K(5CIrV!x(g_$Y7x2qXXf|-Th5y-)c*vr=Z6zB>LT~&%*T+vGD zL4{zgx5#p`IgxQEK2P?~55lX0iX<&ZsD_MQy352@V(Kh)|5Ot0R2i!fv`3Z*kwwRG zA*f?`%-g)I)glHiYEhGUjV_jBjXLFR--4gm?ey+vd@FgwVU2cRoQYoQos9wY0hQWG4Ue(|;t8R^#oHP_nQAbBZw0aTy3PwjH8lH}h*$nfU3aQK0GmUqoTl|WT zbG@9O*IUiUBS-bl0Iog1PGsJ8Z+mB#OYr7B{x{zU0%3!-C5PV5gvdv{s5R6qZK*>*kv+WSYLEJzp zRCYJJ`79QR7w08S#W%8!le4vyqrRmSFG>bQzD1TBu@Rx0Sgy&+_NVLL{0ZUtR-g`1 zT_jP-O=y_SKjuZvzevOKtGym9&sv(+(%!CQpn$3#G4x6$dtLaz-sTNt623_2uRJyX z6j|jJATMHHo96VHEpPIP?k9gf$dfEy(_C1LT!^n7?T*$f`UP*PK3+Y29jE>5CPCW9 zB(!06RkjaGOC2bYTZ6TcaQ6OLqIP}rPqPnZWn$Zgcmx8{RdI-3+G&xidRiNO3V80f z?5WT+Wnf~JS$3&xP!E$WOlSA@Tv+bL7xDof&SpV8wuFn_jXaKpw(A(QouTWwRa;dY~3$gQqCACp{K7qKDOE>46q|opD0g6y>Q&a^$3P~)A zWc5pG)E7hMpGR^Uc#tymqAsl8RdVS|b4c_!w$a7L0oaryPG5q(LmP+EKTtB<%gtEA zMkim%(eirItF^w}ACmDf z-1T405vhH^o%Ua3_;JoxX1ujgl=3>NS-24jEX@VXsNy?;C@c@Fwh>g_PnVz_1P9en zX6{N~>YQL)$q}B8A39{M#*8Tn+z)i(9s5}wkI{o-!+BGl*uB9wq(4DT_+6D0*~*Qr z6NNvPLc`;Wk7^j@w}$FEQ}zAx5MGP3oB*(fe!DuA5;9#@D}!L1iJcjZFrP#1yjdEj z2)c%LU26t+{FT(=;UGtaNg+WvgP5%hslI)>lhpb1o9|@YA(@!z+Sf`Ob7URaVi1h( z`XI#8Vm>=wv_wShp~D+=xpnVG8Ov|_??l$*ZE#2&y0>hst#%kN{0R^<*sa~R z6Lr!W1-ZL)C@i_Vx6J!sW{0?K%{BVxGQLkLWpoxGJ!KIuZhIB7umZ5Awzp$G8JJ~c z&r7>B;wwYXfWc!C@uYa=7tY7WtsaoL_HMDZdDu43gDpj5;`XIZ=H+HR93vJoe^(9P zub&czl0+MI6F%A%PMeA?bv}L?#f{bMh`OgYtdY3FU~O}G58{r#P*T*;a%$UcQF#K2 zoIxP-)MI~yugCeBdSSjE5ekBo1!mFGjI-&)$Aj=1f z6`{M=O?0!I;i78YB=cA{Db2=0_a1~ytwbxe4|lMHflXJ4kc=ird+9DnDLM_0ANB}& zG!KeRm-@DgE&;7uZK)X_zgc8nS9@v96X%Fuu58KQwA@iaFC7l8H&b6UW=qwSKNx}0 z`6JC18L{0XipOi&__6T>L^47u0j@7XnTUgARfjnHy)j-z2vRDr?;Lb+9~uM*D{>PO zJjhzP`*6NxE}Tj;wwOZU>Nu4pF>_r0cCX1(K~D1ecH? zO(yHt+x0QnasfC?_IiLbK`;Pkr4TMGr2f7h}wrw8l+- z`JB%PNo-xYdwQ;y2ijuN-a`JfN%=Jr z726{UDqG7!P^OB!{eDOzAa_x`D*#q;62%zIC6sds7B@H$r1X_c3DDY}5re7kH72tN zmvH$S&@!yPV-6}xk^Sgs322K)tzaE_0|(_q@VWJ}5u35UqBk=XXyRQn$zWkL0#8KoJbp(@xUhVELvL3qs%%z?xPHF9=c7R}v*B%=zA zZAFYJDNKs#JANi}Na5k+Z^sUrvN>cz-jZ{eA#USn_~7+$^m1eS0AD8^jxcBbSB#6R zeNhqzRUpu`dqN(`JE^qra~|h1Rb*mfKkYb;*Vpg$XBKXQjSYs6KK2~k5CqZ$9$j-g zjJ5Ks91S&9Z(tG?1}W3)M2CG7lKS`6CcsTLIzd0nF zi$2EhpU)hPyMDg8~J+s6F=MeA9CM6IN`Td|(%~;^zWqe|q+j!wBpp9`MM@9V!Uzi3?x4pzU2qyQUjO zWNXaucd(8zxz3PP<{2m^7g;7-fi^wqRloUECGHd{XtW#`aDVd+g%O-7wqZDRF8#DZ z%xxLpKsg~$+rxPyv6zY_9R6(ARha(65`jg$!-tF|*A+jR^I!U7BhIDxxVY7o-X;e529gi}qr(mvbB;7Z!rp&! zlR|U(8fLa9`2=DIn3l|KF?Q+ZZnq|-(mzvj2Ih)LjM@i+LW&vk8e7}=bCgs@nbOgV z1{jX##a#CBo;v{GuMp8trD$u1r&f0K;XHi}@#ff6)oS5LAvJ2Fw z8rvT5$2IAt1uRUs_z^F}Fl%wqq1Z#+5*N%$9J?!8+M^#dGP#W~i@llA8gRN6irnHb zWQG~2g{I|_ogTrm63`3J(F-H6WGi~3;mEVLw{Myc#pikVDt!YTad`gKz!GtMdgd|THa+d^}wpB~NM zUcFP717F0hV<)p0cAc62N%>&g7U$W!fMjuub?gU|QN<`|BQGZQQS{)t9&{dy?LS1b z!r8A{2KA;wjH53nS#%I2DJFnrg>~M&*xw5devOA1)gGGf^k6e;{VG==mQ5F1a=x7+ zO|bQDtT%AJSb%e-JmJtenjjq$W*(mP={w5+>bLFl)Um&eU$&+6(ZlTwlpb{nMZqPQ zTIxys${k@rn2b`2#^^b9Q8C_gl7cNBw!Kb^x3JSJr_Ip@lbgzxY$(6oa zr$seHccoH$PNV}!YZ+7LN*8rPPcQ@Lo6%WFamE9}s4VD?nyI-A8pLtE;+7?4f+nf* z?1|MJWwaTEhRB<4+nDw7QHOJ%rX9rT5w2{XFYZrfN3jR5II$S}A4pc!`Lwq=Fdm^~ z@pr0{B2ImJn}s;Sd>vg>@4Vc@IB>XNaZXzh4~S|*KhA)e$m+@E0*Ck-k8p3C`wVuI zmgmhp>2KQf@>a7W_&>Kyzgg^J>d+|4EHD7BdR)Nj@!a|P}#Hk&lb&Ss&NmDI4RmXa_!82+HN0zORqJ3UZG{{Xrq1)j{^OW= z)Oy+y^AqHk_DN%vAkX+HUq6i0>~JgDVowMr7(DK} zmoAQnsPFn_Qr!jLcaXgoq$Eg{1mLa#`#BW5dx(Vsf$wb>H^npoWwS1?)5{T$aP>V$ zB#kGONqh7zD6Uy z05hH6UZ+SQ6}UvY5r(1Xv<25F^I(OaE&ULX46GBx#1%O~k*DkCaSz()4H6RE+?%A6 zc$EaQ2;vy2)XkBePW*5qM`N5#M1qdqVD4e*QxHx}P=1gE@9@PeMfVNxj*K{ZALp6& zskaa?^s}zx*l@@c&aAz2$9ANA$y z$^g6?c^L*FXNv2a!@wx+akzq5j7CilNRI)_^8QP1Aquz#Bx6$8Ni?Oe0S(Hu`yZs> zb(eItsIvUEWiIVlUXNawjcxZ2HXz87G8eecFZhN;E>*x^n#Pz43Sm|5@i!M#`*;BF z3D4n#i*eD&fdcwOJ-9)&7ac@L3i-@@wRmEbqM!FNE`33f)SjSGF#~; zunFjs9MSYunPj7E392b6G_OwqFaCt~cS!^vrTfh z^!m8B^5}`gMkj&riWj~9gtRebC*C#N1E&PlF|81OXv@aWEIl>uS+~HRxKwm*p&}#Z#E=o-(~w|B z-OsJ-WSz%)+TsBW+rnX7I+gL=(bZ4(F9OO;%A-v3A<`7cvUFA;(2$~yXyT+!v~}RY zwseLpR0zs1-ICKfiX{A|7hVFa6TbpRne+c!R}dUOQM zQQQ)}gGe|joo*F3{!X?W2#?@K0d$9!l7-T-^9$P07`{^~XhaU9hQWHXm91c`BM1rB zyV@n5=}=Ct|3AaCeA)}rf^{!tZ7Z~3uT=knn@1ajjV_A=Wx_0eBg=LST^9n^=ZAsX z_zz&V0)ScGe*g(@9X;BO}#*uWSJU#Ydh zTlses?-F04%^0^c%Cc4Dp$~nzUN_|@6FT2lY__CHd?m=K0S5p?+qT@dA z=z}1Cu}PSK$6~i%MqK3Hv1KFR!^pjv`l%8?8ntKxarI-ecXX|&Z=bsf?Mu&WrFT-7 z)ubkKe$>YU;}ogpdga40C~th?_MTq_EgrXyWU2#?p6gSC#2bwy^?DPJ%O;88)ItJ! zmuyS)&~^HkWMOZBK@pfai;AbHAKQT`AQd}XZlXVT&>+>d(YnDnH;YvXsxyuHk@KLeulk~F9fmxr122CI_hmxb$ z^EAeL(MRnp60Vim7uFMC2l4FTTN-N>h-1WEgV!0AU+TYq?&%;8Gji(lO;9d-GHS4BxqUYZ!`)duqSzI2za!o5vd!>@?|Ib? zv*imcKRyLQNkW|I)=>*pFrJH&Zc_O63awHmGG0P9rGTCJD=|1GA2YHqF1352J1O0@ znRIG_f4xUpx_m1eW%~KM0AX=NJ?XiC55?v=^NUZOzVd4bqPpsMz$t#~tR)U`9_@Zr zhRGuAH0f^~tJ9!l|$1E_qaAHxY!ep~VR(5u$DF&2-W*Q>5%WoTnyc~D1n}l?v zYfb_0YV)9Es`;#}DX3DHxoz#d@@s6w8bdr)))5F-KfYifO@yj(?N-DVYkyxL!Ic*x++pcj4}F!6&`Uud(w1?1P?bvRQbD( zi>;}bO@{QP@HkTNS4?EVuGi5Q%4h~)N+IH;oaor%S4(v$M;OMpC_MA@)Nit-j2C&| zMYL!g9$?%iR=+xkRQ`t8CP;~r`j{6rHRg2wyDB-X$_J~A4@e8r9Dt6g0g277szbaS z2aFQ(t_;2^-<)a=a2fkSQftujyZ6{L$X2Ruy_GVN$f69q919|tKMgSaON z(>QLs^LK3S@FncA$tH-Ct@WE8jP^Zv1+mmI*@w6saHnjKf=b~SQG%}DWgjHMno6N@ z-O9aLe-WdF5_j$3-cREmT{I9oNWhUQvHBgbs?()e!jbv`U-O~w`3J|^veo4Ae!TwL zuQ@}?=0B1+ZLC8hUB!`7iHyYu}T=toZ3Y{x8liihbb>50>K` zkaZRH@GEr1?OTO(7{s0Q3>$a`pNZX3<|t}w5L<4Nn2~bQw~(J7!5Dx2R6xy08%%Zt%pF(G%C zxilfD#9x|ee()pE2tKFA=SuilPf#~?_w1dCXJxGSy0jG~FNS^?6E(d@W^9>{-B?}pf6BFWOS@D}$$OZ}OFZLJB zT02}kvBo5Hr79i_^|Bw`$}&i3L=!pZFVg0M07Lo+Vd&2Vk67$vv_heQ$Us128WP!3 zSm7fyl4snzkb0NRFh(OdLF!58I>KwoV}o^Bi?MuJ2$O*jMLI|IELtx z!m$P18KH8jR9)89tB%3Z$tNT&G!V4u^fJoMC?SowrOpCpb}2Lk<5kvRz+l!crPKJC z|Ca@Q<5XDVD?>kT$SVGA%m6=n_uk1j3Y_cx^N->loj4+e(6bte{>_H^h0E=}gT<#Y zyaipADA}0?gMgI?sn|nO5!8)M?i8(;=IirTn|W7K*n0Epr^^OEs#OFvS~}zR!}}Vt zuK|-;MM$4j=!40u8-k$V1r3UZ`qbJUb+>B7=ujmpaj)@t7@e~|comQbW5IaK1YQye zn5GLRD1TQaTczgcP0%b^i8i*4JN0&#HWv_mkiX>GcBBFMD?PGmE)&FYm%4knOZz@9 z(G%pUZw^UahNO{tvdx<%$yoZtIdjkIV@b%j!J2k4Ftmp%NDN9znyx)tZsl=LTIOY) zdi#TLUBhFCMa||%Or)YT>?p%YVYhCirEX*b?)TL%PN6?W4;qY3sdE<_(*z*Pk3@zS z@`$YJ292ytT2~biWEa^>3sRKat8zPF!tB>1>sNmPn68wU65+TkN6Me6q@>%u-h8B74C^f$`kE$g>qjcdi3r0T00VumQqB4K6 zCK*Yje6Z|Y5z|ze5UYN<+S+p=)pQF2bktiR3 z>Qvc|epU=9=Oz9T@<;QZ$$VvGi@eq?=qk%->KucRP)?%|^0*KAxUSDT5}UXLtctkk zA9XZn5d@2uwcW{?cF)u~@@1Zrv*6EY^f9j{ETWBXA#(L$60Zk>azn}>RfTndbw|UjC1*s*52#C*OV?={Seng;2PC>l%PO+xc zsg0gV&2HOoz9AI9zS+irau!l0Ga3v=5i=zU9l^rRJ&_BS*r3+nYx{^Ci7!uM>>q}@ z@WCdZf>Dmw@nHLF8-57kYzkEBUX3|{5-8hWP__9Hh>i5IIXebfCH}E zWu{LodPUJ>dJSJhmr#->Ch?+l8w)f%g-e{J`y@0uZH~RAim9ITElMDBzV!?}pppNO zqw2IxiYZv9y~d2L$1XbpXSL3*P;Wp5E;^B0F0*;NsC)!>Z%0vy{K0;`)LgSA1DO=7bs+`&4LP`(9%Dl&?6~e z_A^3l#U(LrznEB%mqnby>+(_mA8g&?(I?E?(DDqgNYZGJy~iS#rd?ko_l(DW4hl(P zzl6Pu#W>>g7!vYk&PvY}?^UvnW&W(w1E@X>TX$zsBObuSYK|*mn6g}9O$Q*FCrWjb zEIGGL?1PtDlmW9gDe-X#VmpO^?sHi|ALcgurtM`^(htf{gHDsa!_l@riHCi%wm(%P zE2A)`Fa0jc22gjR($*H&Cc1&+Pc#7~wu|K;;OHVle` zp>uy6^Nw4(N*T7Fz<^U~SHtvnBbQ%RvjX3=T}tQFfOl^ST3(B#o+?-Rxw(8G9KmXT zxI^#wvi*<1?I84C;EP4;6S9b7}D`xiXBga*qU9UOI(+c$2~N z87iZi66fKK)hi83Iek1K=xfqHlkO;(E0@=&eo6nxJYWEFv<#2-{(TtCboGat`C#8{ zG24iPq7)sGNlQC{qNZ&evgm*pInvEF5ybIHI>&1>z<2=YLT9i}R;dB$(WuOTee5%n zm#EcX848LEqMb~o$m%-lZVpGeaTht52`TiNcT($sB{ZYk^mBWTmeaGjPkJ~GADyCh z-ZeU4Yt+poAU{NWLhQ9T2ETI0NK@La|qJLk04z+Bq5<`e6qS;kvu`w1@1A@#23 zhwjoLIqP%>^az}6^GGoOL`|)9EPdPQW9~Tp+8qC*w6WH7;>2RaJ%}P! z&uJ-wr7^PFcFR?KPr{J1sw~c+kEMmMXzZz7Otnjy{kzJbFy6?%(C{S}T+>-@jXR+G zJ&Q;0b;8;Z%@O}Xfup(N_`-rAPUAC4Ph2`1jfUy~%&=S!N58-1c7c3+yw@&g;0`&V z8IxJ~=s_29&0Df0UZ?;{kE{6*joyI#YLFjjoP0f-x;8K9yv9J}E1mY5dU?oT7)$kLI_(poAXr+EI*t)LA zDL)f+%XF<+BiJN8x{N_5Az}Cu(|uy|-p?U~y1X8vY9vm|_{aPP$7UDm7x|7IsT*szb_JZACdq#GXFc z*f1!YBU1llpV+U@z(ncg=sZSVYv}Rgh{t#57VC;`iwh46m|PhX;XJ$Hwf7jz+1`Gj zN}T~35|$Hg!9YnZ`XMOm3UUx=LO%9$z(4ivAje(ov)Bkt8<@9huG zYJM-@##B@{<&c;O5RKgzKYwHFw3pM>zQ20D)#KT!}`FDP@p#8_B0TW*KZv%c~kIZ z(|xUaoGlpLDQ3!tWl*>KoUcUh=zjn$Jpjm4q~B8@HoVl^7-NWpqrXi-`)tH7EH_~P zv2_G(m#rq%GcuXY;@#L?B5N9h2B7`r60^7V1!D6cA#ov?OrXs=(PBnow28Kr+F2v( zm2_N{9v8nZlz3qgF5U2DBOz8d8tIDcfG4fNmhZN>w zuj4=W!BlNP!}klJvCp*`c9;iws5XJWI{}Y+ya8ZV9@gNhHD~O`uVoQ;x5!n5K?3U_ zL(`$f@{DdCHmqTo*>-ahO}v?}O7Ue(C^2HQyNY@xrYlVMD`aiJcD{ zj5d?xeM2?utpOj#c?!|@v1mN(L32~HOq`3)109uC?o<=mU`$gAIy?I!q_97)aP__g z+#EGG))YjgUYaFzAl#``= z*B#QbU)MDwHl9_ziM9SYnm8vh-^`ZuWkE4)I7eT$LvF0%|`vTTe)-ki)aE?6yh7ZF*WR!kOoqcf(+ zHO6$&_%Tt>dR$#iV;Q@h^H?sQ(zP@+0Mf!Rm7<;Yt{yOR@hMT>2US7d5ZxM^KEEEY zO$cDzCONU%cAI(U+98OzW%uK2JR5~Z<(jf>mL`3hYR`ikrmm|b zUA<@pW*tQG@j^tc0&d-tFF^va;Tc;a_5M2UXk*%7xZK2I<`X}kUMU93uRoZc;Uqb* zomhAqoALpZiY~4V-~Q*oQ=n>Bhq2>_6C^Y6);B!A zw*5l#(;{M`q@_=xfX>0tlSuhAg)sjYw_jJaCTUW>Esq>&tZR6R@H$ZqqLb$<3=Ior zW|}@CRof9-t;8xxyY|0x-@o`K7e^qIW6tzc@U7Ns?Wo75`+NTz=;IcLE1fNy?jsa! zWy1LC#nE+hB>xQ;4!gMV`mw{7hcopJf1K}l!DNb03+JGfAf*`M)Q$uX$~GW1iQH_G z)-Y&uA|C=`6XU2ar_9woD92isPR$=%u35$FErq^~dMD-BV{fSl2KNyEAyZk*;uAPp zei%gAFls%_m~+b9$Bl|56cp!k$JNc1|Ecq35d@xUosXSfg+VS^w`2d*FF7KkRo}xp z)iLV1k%6Xl4sxkV=1$-GMS@CjRCJ&7=F=VLf-Xx&@~G!?kV^x$$nUPH&BaQ*z@6Yu zotTC^cc+yqy?h7CBly!zX>tF#)1)+i02oKB-H}Qq)emaAT8M|Tjyo+QxJO1cq|_d} z7IY^*bfcJh*o(!HOQ?dqmMdl5oC6Adx8^~|PGl64i504}4IhBEBtuC?ZXDpJyDSo3 zq!V-&dz+vpM;?G7nb|1sNW$09e#~}h`Len|e!Z29>u7`}KI?HlgU;nT_ifg?udE73 zEo%Ma!Gff+Cq6tqFlXOs2reXFRB@x6aY2h1+ko->%u+j>5xodb8^hqUNp`vqSQJg@ z5homty4MwhH#_8Vxi4hi=s4lVB*>bNlE_!=PdYOg`GuV7+J!%>O6b+MZ-xEh;K2XA zK*;$;N!Z^G;nQ}yC2x|?2GuSQzUeWzBfm7l962J2+tV_?aIad&Sla-6E~_I?rERN@ znw!@DQ!H9N2&T04t&^&iK9QKi_I@)+HL<}@N!r0mzprnZuXD+tQR96UeTZ=$$!@mm zCU&`FJY=qNW+LmsHD~dl+r>%l37ZWE8SEW!+iIgYyEk%nhg3WFhAVsx6g@JA*%0DM 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Ð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ⅅ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

FM0m^3kKeZr+URyQ&Cx0Emg8O>i@>Yl?b`mw3U6 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%0D|)toXq6a98yVz@}f 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º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

j zOw31#hZ7An@H?^{@-fBYXbIOj6ymhYH@u!)#Q!QECyNuhQ`Vn7uUVd2_YEvg2d?-n zE<`2vTV%~FRv?Pp2xS6pV|-RUas(;zu_mjiICNkfw(g&ZybD}7%|4D$=wcW~Bn9g% zAp;8|VRO}@`X*vlkyaC}IqalDow@s7ZBjK1s~Q}rfTBtV9e67uRp;6YG8g*!6BxSv z$g10-itzTWna7FGh4mG*ne}+sBw}I6jMTx%ZjwX>itEkNlC<%Hg_bkQ5yFVG z5zrE5&>7b?9l(>cf0jyD6NiIFC>}a7V-2fefQv~NqCYiAfhtL|fBoS{wajLXWkD7W zN;33zAw{GgRBih`cC@-az>jJeLjHppg9<`~iBy}q%24rN+eJk2o3PAMN}1blGs5N9 zYDY{7!g|YIbd}>82BquT88??zcnwe9a5s$sni*+MyrHo%b?)!K^;B;qIx5pHDI z*Ky}XXN>u8Sj4X{3il0qWttE7Gid@1uD^cU*wfg(Id=^mzM5&QZ$_?;4PNXQAYEbf zgNhm(^cJ-qI9+@3(HVdZHrT8;>Ruihc30ILMu_rFx?=4X^W#`PRc(44x;nSvkt z_`{U38J{sdtM3;>l+E1ld zoX6~E(6H39TNxL-u{e%x zZJ{Sfsd!Ep)8cian@pj*lzM;oJjr8b+xOzU?Le&h|EwrtK~1&Z{=;=NV- zx_{S;1CL%7i{(o$8+KEm?e^aGUQ2==@Kszk4etxKgU;ce_@h*Qr9t^Lvs(2Oy;{S% zSJ%!7M~jw)dZ>na<5w}KDt>pLBwcZ6uSxmCa~1!N1wV!-<|_Q?ki*m7?6EzIUGcg7 zUD1);IK^##_PH*4#W_g1Czhs$XA>=EODSIY6NiaqbO%d+!%cR+M;Qqz46Avl5lzWB z28D;uNz(4^+;rguz5dz9)~-KTN-%90>{o3petUhx{B`_rY@wRZW#-x*kFdZYsj9c7 z<|fP1RB@b7DTgz6ZayhxXrRAkw$YDTCCjmLWnyzMmoWHbQEg>mZsS&oevzuR4$ob> zIQJ{YK(SP>qJ=XJKPRTc$QOoXW=hIhGjlI zScgT{i$2)r#Bq1atu8ye`!V8WR4a z@u^Nom!#4;LRB1dGwRTXZmmRP?e)9IZM+Ie_Z{Xq%WeFHd1|5hWjN+Gu0YjihbB)? ztsqY_@TrroIJH(%j@slNZ?!5r+gj$PiPqI|1449s(?$o|MyzPwN9jJvG*m0@4{AzsAVVtzH6&vmHHNVVTb?$$=W&fKmEC$*U;$Swce@+gAluIS{_Bq3HN_Z;uj`eO zOldvRbk{_CVyO5^M9~5z8_9>*UC=btQM*pE83LLbN^hZ`^7D!A&)dC?1<%BbO~Rv% z^Gi>dDiFJ{iT+B%P%T=omcy-b<}KQ|?|hIE(vS}K6V$;dw1u@5q>i4S>X#8(d5d3o zbCcl93<#>JPrygM+U`E|qbzdJc+_~_dWiJ%592W3`9QLC`?h#?c4bZsoi`Jr+W2Xt z^1q4a5Ey(iyb3Bh#_;QaP>Do10DEpX!8jBgeL)H! zhI^}}`u*eg3IE~=3@sD;HGgQ}Wq|leW()Su7hjy)OeBi8o;*pL8)zPN@D8U(gE%&P zAB{`xUCBLiwP>4@x231q2hPd>^ap*#Pmcca8Ne&e+MWhtt2w+&(TL@JV%tbi@(U`W z+R~?(c`n;H!qzY%M_8Y{E$+&9aic$h7+)Xb!hc8whvzwRJv$s>#|`|TS`Ju7wsAba z=<=Zc)qUU1gv|9gs1=L&gh7}VA(FL&N9jaUYw68++JVtu9+;Pzz_GLBGUXlOK6k3+ zB;4^>Jm0n7vy9ul?|WOY-pc)hY$D?i{#3oYG-82zj2%SqGR}C}qVC&)s-~v#GmTa_A+=E4IbzA!`L$aoh@Wl&@B8{+!P170 zMEx9=Bs}I&Ib2gzR>AEl64J-p`Ph=}rY|7aioe|K_I`dl-d#W6ANiwdA%g`~z#p<-=Bi&+5Z?b~DtgK`lmD)3%MS#Ek7?1y#d2Z$`){L!ph*=b z*!cC&_;_hLJlzpJTW%mASsGm%8fEA&0kRdp?KRxJJ}_{xv&+9+y}*H7LF_*4FYdUJ zA2djPEg|VtFzfmlO;UBSNzt`q1@Zf%UM;s|5UQNTSa|gXW?XX>y=~c3ks6W z>ekYuIYRLkEt`TNY^frFPJSBl_?86=vh`Q6^jEO-SFof*y;LFW4O${vM4f*IOA#@5 z|L?r$Ge54S$4yhD&s9(=qXmgM_&5KRUS7Er9wBJ0etG^OOeoeW`${m6Rn6Dc%lYxT zrDn6|0}(_p<8qVVx4nmJT}!VVbB-yepBi_y;;&#y$2@624h957MSy!oawtLOxuz8a zWP0Y-;h!|G|MO=$&KLAkgNW3B^-}Y{QLx1E&kNLF!O~yB(qF;SU%}EpyVGC6(*JR) zqyGiMe+5hb*9(?7{+og&&i^D>%F=SwZnOWTvESl;%aMAMz`l>ai;lhGs%||!$>E^-MNBgYB z`|E=5pA^lW$zuMY)D@AB)UKG?#S6~P+zz#wkB?Gn;LOCu5MSGkNVdE^^`GxT{!Oi~ zs`b>NzNgl4R_xb&i-?whEMcWH6r)2!xEcDhidX0SyLRsEX}zVZro z&mUBNM@WYr_|F+1KeujI21}O?JMJ0iU2LVb7xnaN1Z@5#SX$-o9g3Q>Y_Y%R){)7s z@#4nQwzw_m7D7vUQZ1kLWT2^%BwsXt8s=}ODj(d4Wq0KK19MfP4dEfrb>{*08fwN$7H;#wbWz*A( zR${&bI^AipUpziC!n;}q~R#HhEK z3UM#v@ghl6YMb2tY*`>eU)*FJ7rII;-y%wCd;3x>0#-r_TOxv5Qp_f688&QAC(l(y z#$0mWIB8CY!fg#9SrR33(wMf$ZB1%eQYCoam^7T#93Vv&0939U6TW4;%%zuPiQF}! zm1aMnF36-b4y$1AfjH+3FZ25f7_G$W&S>=KI3i*LoM;;Heq%%SZK-YNS zqV%PIkrIKzibJFiILyw6%8|U;Qwk&SE`K)7k<1TNg>#y=2t(AQYgPVt1sABWR0S>q zf_v$g#_w=E?xA61jow5>C^_=0Fkf*uTl$a<>k5LnL~^m5S(rQ}-6- zGk_%tLS+Gdo15c40{oVRd6dh7itl8i3FIvYieUIoV)=oSfXxP=RW&zoQqpO<%^crJ z7HEZWn&t{aSh4GJp^k)9Y|8zN;?H#Dvjr9h-+p!C_*F!87en`~OB z2Dtvd5z&KgMyLj`(j)@am9_|EEayIo5`^jkNVWi0s(@AupoofpXQK(#m2i~n3Wk3N zklc_t&3yz~b#ntZ0Ftlf_;*72f&9=;(@UVq{a`Tz8E+g!#Q_VA%wTi?A#0*=wb_0$Mp6FK2GQc@=M>9!o%6$|^C9rSLFZn(g#{92h#Eow8r z)2Q*~PnUZGHBwWc4m;P{dFTy08;%-TA1CaP(&%zuIqevEZ#Sv zleLP5i5Mj@)i37d_2NPiuC$wv)7fVqT~dtusW>IiBfVZz3KRO9oi)^)_AFBy!lw7b zxFyJNwj`FKuUc`X)k@YjfNJKGMGQ_Xzux^GonFG{ge9KdCHSdiMx4l#JgV61`cO#WzwfKBD&ncvc{qhSU2lxL>G?c@-OMlXH7vCJ$&DNW2j9o4Et1 zRwK8d!BK?#vC6E1PGAQVg{8kHIM@y(t1O~?uT#925Dq>_3%KHwsz$+?h*IhHfD#uE zJjh|@F8$+#)EqfZ6dU4kvJUE4;q2ZV2Nk|dIhJ}(o!Vdkt4wbD+9MVF2P|=q?TxNG>omX1sVqL*-N?^a&ScO34 zw7-XO4Bms~tEekU-ztMV{p`EN_u?%n9Vk+k#DzI|L4+tx@luuCJX^=eZ#gpO1ov4Z z-Um7r8^b0rWR;6A2;&3yr*Y@=?XH~3*M;B$In?|YgJc+GS_D6y_&R>yHf$Dh>v1C0>MP%E zuGto4&C-Hg)PO(lN8q0Aa4_tQ8JI@@(7(Hj`o)8ED|Z8>afX)7QV_CnX6MkzC!{x9 zN1jiBc^qf%+5CI)$*cde;sm}M?O`uLX##48zF_ddVYYku(we^|;g&ArmA;AjIwLch zXNPz~%FH}@CI~*W^rJ{NW0Ch78hC$a!#XW?T9`KE23=`h;2vJ{Te>dNPg zhU7*1o2oqUVA&CC1}1f%t%2=%#b994F`Or|wlNCckf*MeL`xry?`+%!pzHuX(^(6z=;Qt*f;@!F~$*=oM9O#V3p9Immyqo z2D(hYkUjNy>qx473?efIXOe#p6eY<`zt!7iQE9XcuvMH{jTjakWJQO0d?E7OcrotK z)VhF`tk1AI#W8KE2 zEWBW4DGchuM#SDkdb-hSl0-+ZQ8|Esms-kR=V1P6xd`&6bcvU^ZM#d!q~+JuiWj3Z zj?}jkDdnbTLJlZ|a;vHDfIbKhHf@dA7m|&)nT@JN^JsfLbR{XoU*xeOF0FDXK#W{C zlWR+U7`US^EuTt}w(lD5Om@N}$CEWlJP5|zU+VfzRVIv>9H_)W$9AeHQV|HrzH##4vh>mvd($(o zYB;ga6EjO1U^eu)XC2P3QQXyz#bC z#Jt6>tq5FV;og`j}_1iEA1->i9#jzc6R<{m}58cHWECck+kFVXLxxl_?`GB!M4W60%)P%u2Ve zQ+WKGu6wxJ7Pf-U?UUHCx$eO8ps3_bWgR?)^tyG_AkP`zP0L0|w1BKs3diM5|Ay#) z>JS!@mA<5;*H`CP_*UC3C;}qYUWEcpwKqQ=XX$oxh8fKqy%@kZ8^F66?q4Gg%f;rn zhnuafbAj*di-0x{O0tA3e1V%*+V1|ne%@Igpd=2C`ZzEwlGWi^9INCgUcFuBB8I>; z|Ct2Mnf?+dP<8?@wqWkN?L4DU7n1`5(_TYdSb2{)xs;CHJ#ah$E1|t@r1boAhbb@= zFq>=(Tf4-(No?f2TbB^y(@`#beJk#xzycalgkO~>uwkXa*ld;lhz|FyUx~$d+VzMK zxU6nx{2A04RYD-t4E=R3_?Wy=cb3TupS8}!iu)LH-P z0@JG*)u+tvuHQ8yTX7wk{+He>)&grfS)01rdNOOUQ2frWr_0theI2W5icNB#Puo3h zYfLW!9L4fF;B+|F%)fNb?J3M-x!&B5R3r#wza8%_QTTE_U+ldm_zFC?BnV`7y4l|( zlvF5mZyr@#UtBEg5B@oSxEJ}n^}FSw>!HNfm(B4r-fGmkHKR5=8a+)QF-`bGzQXqQ zY2ih8S%;vsjPKI&IHRObLGpI>dq~A?3&)b$lB<#tRj(^$7icebFcz^sVRMG8z z8utAVLiPLW;Qs!2)K%A={LTcR@iHl{XLpslGK5-<6~yJ==-&s~mEVs@%e$EE)lY33 zIqd|&=h-{hnaDVw81E9Yb;9Op5QB0)<+FT9xTTOXNOLyv_DEo`yTW}p zdg%Uexj&0RUX$vDy>KgE%xLA+9%`t`EiggYj@jn7I?8xGU$C}4q>6IqjJ9wKve3er za=?C%N!Z+HeDNZ8NZzzQv%P#d{B12oo6xxK()_V1J_w^~Y{$S*Go@SO>+J2E0k=8@so)hja1ff{^Zmhf6)C}l z75?BZ6@O&UFUKh~2IoaD74IrAPhC;VV#+oRgRhW&%ZDL9Y8-_=mo%Bcegj zWPskahJzA9<^wGvlbcCX(J~h#QV_lI58>35Q+JU#I!G7U7>EU~&`IMg?F3OX8#;tM zZm1b|S>r?fL6kBHvuM98maQ#Vx0_Go{Q*!i$AqNB1U^Au>Lvcs+XR{0VBo_?-7A;= zu*^I}&w`~hzi^IVlaP8&N42L~6=xKovKjM(Si>ArG-3{s$;(GBmqO8cJtY~TDDiPS z(vT`sx$(ZDsyj5WG!A^;K6yC%^1(ZlMPb7ERw&0MJdAC?5RCT8hr6Wn(D2yjTwxXlluM&>^M}^MO9_9OVgU~C)TbKyne$pAz-jhfCCZwjDU0wps zz~Xn#=6Rc#vd=!u!sh*09W!b8;oC2=v<%;44%^!~4)u8y6oFG1`RGVYieVoGUI?eg zP8(n0kj_|N3%&>syBZ&L&xZE!3$&w3qE3QnMwek5YtY#e!5B_R{7#tkH<_=F5bE=L zA~usm@OJ3Xhd~JY&=U60_~hp1E{OQ%{?|L$P1FLmLPOLlk9XtqctM$`4YZcbmWpbm zU+prWWJpPM$Ym;p?s$koB6kAu(`bhLVvMsA(%~>TWHFq9+=E1B!h&2JW)pY zj{&yJ+BzVsm1V`&mb5wha_&E!TRio8juoLAOMxpPgx&n^eXyf%!Z=?{PEmB9 z{c@QZk|Vm@2~L@eE)eyC!+R4*QFDj>U@CVR3qO#111ofl^;M6cs8^sBw6`~fFM1?G ze!{LB7ujcnXMrXH+(LCD{kKIt%vfOed7I)-f--F%r(*0MzTg9kH?f5DchV}teoB46 z;YSN0u@d07m0rO{L4>nAz&yad*mSOKX64vEzAmqqM?C3*D!OP9NKg{-&nj?BCtd}P z6p3I?UDj_2T!%n^P=3)?J44n-LH6J#t&NkFLQZF{pUDp+8-U`q`*d8NRk8PkipfVB z-)0y#i!y~PL$5PJ^g}->@!RFwSBeKle?%$?hvBa^;MBZr+VT~xRKLF4tH|ea6$%F& zAd4VuCd7)OX&R(fBf@y4GV0^k4t*=s9z-n~A>zBQqHw>x>&AygRYWQ8l#)+Rsra3Y zC_h$;Pil28T}4%so#+_jW-6nobhLmTOU#)Y!hqi^0FN_*2+n3G2xbFGw3tF`$WuCY zgsv&qw4GCF3=>K4ZJFbPbG55u4N>wT^Uv$1jytL8fAtmff9pU?c21`Mpl~Wuma$!B zglDVG@c9vaZh%XsksP@Wd4~2m81aHzA3tE;J_AD{qFE#O{Z#?gSj#2_5zgI5Fb=ea-$P(3qFg|3>T4HSDj-~_$D@Eql2_3uu7p^W=xlcB zQ2aa5tQ?XX$oR za?rRr;H59Tit^~E6yU+R5N|Mna?P;m&VFwfO@>$k(_fRAPR%G!0qVV+3yz$unmlYD%!_m#(idW|UeHd9Ayp$79!z7k#XxhuUE zWyJxZsg#v?O{z6Q{%3oTX0nmas@-_#n`A<38Y+F>om8NkC%Uq|f+=U-Xt*X6c^_p6 zT(%nxa?ynfNnbj1CUvCQ*sMFHq-j(qA8h%#uh*mQk5n_%Il0UO2N7Ri(6@>`n*ZW% z=ll)vhi<}D2xdsZ2Sbi zVt#$Ay;sk7uR0=7kam>T)|D!mm_j3;5*4o-LtDl)W3^faj=EZRj}*^3P*9M+QKG6C zAU~&;FOe+wt;Q``GL-q*!rA3mwRHJ957oj!L8hi#*D`S~kV-dCWlTDHY~4I|^Pg`5 zK|!1-eOfwL*|A+Tl*dydsgj4|(@$Si zND$t!ll`GP`94#Y7PUdj(GB(P72eg8K5ZZxceK-&Lk|y{v+%*OYsTu9EZBs-ra~tb z4kTAR`SpFjPIwc72+Gi6Mg;}>)QlN4q<%^e z>Y}c)9<-`k!IMo{-Mt0_$(`J_@5n^#u!f(-&^7~4*y`79-4R7 z%DGX<1$f)-SnYsl3`DaF#lk@HDaOoiEE;RlMICO2h+^7SX)SOfi5U*;Eb-D}MpV9h zBe;3$KUt!nIWHzW!%IHiv$|hRSa7XCqG9?(vRyKkiauv!jKxziO>ynNeqwmP1O$l6 zeo?b{5%ziuNkX6dqUQS%k~*1RI)y@RVhbd+#{m-B??ScLgMGXUVwmgL&0TN4KbOLg z|AM`Up{`t5Z%G#oc($c;sq^@F-U)GXeM_`=if9PrQ( zmyjmoEvp(=Li0HqDkb&HoeZXe0#&%Wp~6hOMhsE{*s1>_cNF?CqLeKw>++SpBw7v| z%d-L$J2`)c{Fg|%nWUuj>Z(R~XJf)uRmMA&@ah_7c<&?%fi}jwDDZ?ol_p1UR>EG) zc91o>rx^uE_XaNs*#(zhmzE@hyBA|~oZ!8!^+lk1r{)m_j=4an8|4}UrLM-@tfm}Q_zLH6p}dRIN{wSMECm4+8@bzFn>r)5eXjSz*F*t zfEg1y=ECElCi?dVFx#2QLvkb0(-LTN^0wBx*%?&ct4HwlYMjF?I>=2gc?R?cN;132 zOCTaqOB@K1aq*U-2SO$7T;=YV^==ClVe^)T61QTJ~P z83Q0Z0FvG2)&pQN06MtIa{=J5ZJ~Vt!~?*ROGgjD_SBZpK46K-s@P zkb2tP&ft2hZ@c%$U?7~)W(lK+`?dk!KFTOcP)xg@|M^;+FXD3Jp*ZJrJtm z69&3pLf&) zg%X?Bj5Gu)iu5)&4v&B}zBf?J-ffza83}iATc`j4(E$+f+6({!UK4Y4o5lt}z-vYT z2zV_D@LC-J0$v+(aGO>KK)`Fe00?+3isUx;8UV8a5a{U!fK%H-XaEQn0wqIun+x+l z*OPaY2f3dMg+yK45aL}rQXfAY1)iWWzCTbk-hEmU5lM4oONfSx*9;>KstQ8nx0HXmg&V8C20D%=f z1wcLkJiN+906<_x*%=A;feIdhwmNSsZ-3yX_d!>T@6zrAd8lE_uly<-)rjT%W7^;o z77GrhVC}=T*a-DT_!*yy{2M-mxA%Io94t-wJx25PwMfx1te;|tvJ=jt6Oxjy#uF%2CDjJ{- z^j2hFDs8@!7*VKME(X%b&o;?L>?3$4-y{!3^qLCa=uA=2dF;Y z1qL0CWV}jxgm){^T*JIM8kMH6`5sxwTBo-ShLVkg-nDF;Kz*)@Npb7BhO@RYlmzfM zTz2uzw{QXDITcb89OxfgK5Re1^s(k#(r^kAM)=5x{xG2kvlnXTs@9^1BHb0i=42@NtpqOiedjBQ%xAI8z4=ap zd$u(J$&DjLsw8=;F|nDQqF_{0Qi+DNJua$Wp_UWL0K zeuAJV3qK;0O6c4|hWf3*Y*EkHTQWpqXUe{s)S!@*ClfG9T4b?q)n$u&=D)B$41}Vv zX(3@3h)&?!N0BvAC}%FJR_H_{3pKeQ%|(7<(d3>Wi{{=+dj^k`T^9W!!j?Tu^n$lP z1T%x|%{=KKsT=cxn;ph~m0cLY4~1;#k77a|JS4r^X1ONP_PPzo}qS7 zt>-yixkjz|6okXi3gm)6p<6yO)}$n3dau+NLGj+cBa_tmvxU7fhyIhmzQTKW;X!^r zNA$fYJnw9)Fd+c=ZFWTVgNJkFw?<(XigXb^p7ibmOn!TylH(jZd^ioI+W%nhE`#do z{xo3&A-KD{ySoGk1PShL!QI^nN$>;>?(XjH1d`zH?sjmQO`d;uKW#Jp*1XeIGetg7 zd#|-+tzQms>TvCQsk+&tU{l1;Hq?F0{+LQykgbFIFf*yeUX;x9S)@6IZXU?roUeNG zK7VM4sE9c4E^HzRE(h@=?72FMom%SJcHCAWB@8Z;{xYWwyEzIj zMQc)lX@Je!Df}C*T}bm`&2J-TjALuVXDLi>zAoCo)d<%|NuD~Pc)I@6$nDwT;?3^- ze7C2cd$XW5SqrZ=F_(VIJ=n5fXxuuV<-InY(uqyf?j~Mum~V-b+`}fS<8! zP%w>{UVd&ao-=y-sG(h)j+M?P%*VFKv5tIi7|b`9Y-n<=6UEARcRlOpQ&6S5;u_8G z+S;zBy`)oza(uSc9DQ8tTKV#0br4wI(|fd1$BzB_R7D>b^14(4QC&(@-PH?I+oO@n zl`2I5txY{qWoUl(B2QNt?zQlzwxXxIMLU>Y>+n}H`UnJOc^JV4zpmDn%Z??xG42QR zZa89_=AtE%BdS+(ncW(wVneI_#V>Phk8N#T(`hWX@L_#EVpI49CY!b~ySddq*uQgx zzxEB@4fFMJ5~GD)-rf!KxkJoVA^0v3f3u zBk~Qo^ZNl0>2Bx)F3y@vD0L^-<*z=_Q4$7YhXd%>K-7HqYZLc=%~0*@Zbm|euj!l% zRpb&-T!jlGi_MFdmw_AMq-?RfLv71PlAK*NKioDYU#S)~>>YCo>Xb-%o7=2)YaOj8 zbuHL`A_~!FtXn2Hx>VV07><||>*!!K7gg1)jW?;CxjI5!k8jPft#II8 z27PzM#pjk{=V`cF&M0$%y~sXlXL4r6nR>8}4mD~dKzVYv3>sgt-sV7t5{HDjzSm@F zK~_r@DyLP3+!c3RRND*Ys#>)|sABF<6z*=dNYt(CBCc;H{4%$|@QKTGIv>HYbmd-D zJ(kTl$jaWfAex}1v)DhYDa)czOe+bJhix3QRYO1ZD@4O!z00jH>1!T*^)w@Mn%}iX zV9`OEh8)T?0v=IedrUZMb@>!{t|)w3yjq`whG#PAU7Dy$&vOD?^ypnPdJPi|L))5~ zwb5=oke9V<5)LSJGp^dkIBJk&Ed{O(y5; z8awEblE2F{j6O5Kfh*GYG0s&dqGLsFf3}7zSC+d<1AV%;tJY=f-cgF5AE#KC#_8^bXkp646jA~Nz(r>q?WjLv3?_8Gp1KE~| zBR-i~DxFmF_7=lhAD!i$KX?jnI`BVS#RiSuZ261bjO=5*(~HI3PE%9+&a3hu^m90L zgSt!ei_v!TzT5udeg1-*UHe0bV)OI~(+Z8FZADi1Wkne1g3pJy^>#gfcOCTjWXD`) zN9BGnV)d{U_T=4LfDw;zR4DyZ>zBv5CtuNBMWgI|y?B5}8ZRb3vfWKu!L_efvrqk^ z4RU&9GD1}CLj9nW9PVTn_{3E2C(zCG-NP+6Iewt=nl75075zTdNkbFjOMF zQ6!@eXy@(8Q6Ff(t}Mi0g*)0s*{JVjCBv7Q2$7sC^^W*DwJ&;mv(VUGPA5#CBXe(u zucDB5j2jDAjgz9C1%*C_k{@&P>a*A0SRopz9w)&(~U0PZ_62W5mZ~UqkyGeJpPUdtDSm zR|O{tN-2Z-{AR~{n?wwMJ5EndGwWj%k4y<-=dPvyuAYeWVtLgXj8lvPK^?O?Xf1j9 z-s8?R1p$+Rc4f#Xg}Svkk{gdO-Xs5V2UizY8<{C zcg4Q$!u+g-8)%C6anF!0iE1~3g&U^Va6i-niU$WmPcdI@Z8G8h2+PpZWPe4VfXTvI zJ<74E2JSc_2R?su>2pwjI3sNf_qVZJ8zy@6_*sV6eXgDNe8WQ-b>{vs(qVA#JKm`VeI->Gq$D^bbTYfzNu5MqTqu-9qGclgj2$gjwvqfD;slbj0nN@ z%?jBuR@f(5NO@ z$lTann#qu#VVXjOJrN$n6Y)M4PcU~XVQhqhs8;67+BUACRaFkeFQ!)nCH}T$glVrB z-*KS*FylxGQCH^G)tV$1kPBuM{qSblu|cxSxGx@qh)LSQS_6vq;!AvehXmyi9hf%9 z8^~O7nCc}OR_=muhZbV?4%3h6ds}>dHqIC44Riq`8`^2y-3gj;B}*kMaub0|DQ*5q zA+Peza5GXuOz$9m!CFzZe3pr#vUt5&WYBZjK(cw>nHxHOIzh%AqEaf8i%St{^=l$O zRG7Rc-o)c|&d}$_1?$+%LFkxoRvmm34c6oW&{Jc*67G1iaGb?jkW@ojm=>=&@j(q4 zrsO?nGHT*mh**y?nxZ+RV0mmeG2T4rsau%D2gZm2cLI>Y}X(eqz=sF|Ca`|o}&VbFG- z1?7#`mio>N1mm!*PMNqC$!kv-1Cmc!(7f@Cx$&ElRY8wFQZihh;Os{2o#m`0%|erpagG z2h#YdM;BdHi(U(6ymSNqsOEx!0i)_5RehW3F2^;63CvFm zKf80YhIt?=BxZQQ(U#L+85W~!P_L}sDaH&rw0`Lx7L8)xI)}sK_;a~K8cQYKGHwTV z%^i+$Eox1+5#S~chZK7m-?T<$X+B=;%5(uCm&r{Ma<%?@ zp-|nhqvl9aZeHi8K~i!bWl9$ecuHx4D(69zee_)xMdxqzSxID3**df6w2Ra9uB<@{2};lZ*gSWML%;z3>9x% zR0pEDWI8c8CZ6t9<2-(NZoDH5A|nJF)%9zIVn=1yUjHKMT~PvX9fPxEE8je)dfgQc zxY0sXl+w@*nN6d^6N?TC(x_-iRq zfj5>8L#q&Pw~fPs)yW`GK&nO;aSOF48x?3zq^=9|hz|3vo{y~;G%4{;5=1wgq0AA| z-2`X8B71lj^dtf%7g`iykK1j25X~rn5m$NQ4a{iIaoMbgg?$+x}uIBTFN zm3}-$@>}Ra%{jMlKMcMdw7qSc<7umDxdu8Hzqc)E;YfYdQJeH?Rjg9&SSc5W@~6;FMhd$bGl2OsmFn7!B2e+nD!zbKeJcQRXk5eGnwG9$$!-!p?f zRdq5iu7^5>|Eh%Lww3ZtgL*4n=fuv~=%>Gu4!Qe5gE~LRi&exOp`b#Yk`w;AK$sVO zuJc5x7Urk&a+XP+y*>>vFx?~%e&Hmz<`PkD)o{~f?)dK-b4PzVUQ!hQFY$4_EdPx@ z?)eSWi;sKpaW6jZ#mBw)xECKsr}pIg{5rVS2rhIWP?lz9W-j*g!>BOC!C-lAM^c2> zn0C>|s2Jbnz;G3Ljs~{>+?beGczhQDr?J7wZt#2*ff23Id#f-ASD|!e=}J^K?T0&X zpn1i3ym=qw$(O43^fTTg`dQm;zqSj-u>xa=RT>(mHF!S4dYc$t!Ic>kvD|0h0_vKb6TEhiWrnTp&e{;nBV6+V|8qGi1=>+8ke; zQ-|^XAi=aq+;he9)b@0J%`@{8GCcb|uh8STXz?m@So@P0BDUh>HjVP|Z{fUS_L?}n zeqYy1XbOBQZ7eJwTEwPl^d#kIrj;`ARiH7>M9s&FbG z&G{U%dZ7=ru=-l?tAnqDRcRGA*~OEVkws)>);}??vYTaG3|G{gB2%PK+Y*56+X#J| zXZ4Z>k@S}l(i1*Eoh?*S!no@22{z;o|J*G(^Ipwg-%uKsHwvO-TPq6YR8uz8*i4MLvOa3Iy#&3k{Lp7PZ&!K=;RKpE)TXSMPW1JP zK%cSdJEArVXk}%+ORt6S3b5fzPoWqrzCG-n&A(cGq<;6M)v3Kz5B>mDb~i{;F)bfB zD*}6fSa&DIT)`a<;RT$Uz3V#$dq61G-nvdv;WoA?uNBbxb?-Kvkka}0h)s3yf+=|O z2$|>pHa8_152YawWfsrmh=Z1lq?{G_umxi#Z)vlKoE7YE3vvS>HBlvBmV4R)Sn12= zwRL`J@KFt>03E4-&Fk>|)Znw4{Vjn*ik$pZe^5=rue8g>mi*S>>l$p9^h>n8@yz5q z=jiBkB#6s#5m7(SgDqh}X&8kl2&jqdU#J$3FXfssgQ8c0y zaRDCqOV6y4v~LHOvF6SBw^v@$T|pA??!U}ok?|Hsf+S=B&jpT*N4_dTUMboY)CU6) zE}(0EB&bgs*aW($0nOFq@rws&rCtHT6a~z^xsmahf!5ao<}Ja{vO8NM=s;_rKeTN0 zNe1rSPu_R1$VrMFL8h_5ZnMX)_h>{MG5*ja6sscapz{@mwNA~hpz6=iW}S`sJ1fdk zazb%CJIbJRA39iMEk*!xQ3{yXt|HaIkmZ&B>82XTA zMT8%iULDLm{AJs=x`(R0TtYa z6xc}#hE6@+64?e?Tl}F@fkB=x3hV?1L+hfPWWb{lIcFwAFVd`vaKpL(iU4+vxsjU` zyMk=dPBM}y1a|U(yT$-TgGC+%#`rpFh^a@?wuk0-9L}U4wZs>uUK(&@PsUY|a$o>f zu)yXDkftcG1JuqF7?vF{fQVq|R-krvKr2wYR-krnzyN^SwF0$sLnFE737O?l0ghyp&!@SOd|qAZaPpi4JVy%t2g z_15mmk7FAvV-yD(i-e3-Cx8S+#<~X`C_!>CE_~O}B0F}IHLz6t0Vc~_W8slkS(+SMz9bTr3zI#+ zGu+7Y`XU0S3$8lyg05ags6G^iV-lxCY}Z#r_swS?v5z#y#@icY_VAC`i)i1Zg+KD3 z)Zxm?U{CIvuvoZ)?^l9toQp@aY?>LFt$9*k>#S&^hmuY*vPo8O))nT-d+n`2DXo#o z%;ykN77Vi0MV&oB9Oj^Xq?AGriY`+2EpQ0^j_1P;jVNc&Wh(C+92HYA5^2D}n2$|3{E*5$(L!1c?2*^=f;9~7an}jhr!X|H5VVy(>jBU3T zH1T;=850Y#@HmuKoFj?u3oo$Zr07T;W|@_jF0@Kn3>EyLTekRhEA8p?po!{_qSb5W zaJHZ&0#b;1tRx;;tDif*zl|h1skQMXEei@HWM6q$PIy8VL*%waIQ3iIxzSBaLZ$>>?E@DHZx%~eQU}Q4f=3S zKT~(wg6+pirFCt_^B6`>S=PI@5=A=41ykk~NlyM*H3GL+SeDjkqT7VCNV~x=y3InP zk*CxK|7{f+mnBJ*GLy9fQ7@D1gvZgR^>q&6iRd>a->5)vBE-5(g{XrC8Sm4gco%7! zRq`5Idsz%fz^m5rf6(x^b(Rzc=l0p~BR2_0NnZH9!o{GTPVDz!vawHl%>!u=Mo(%^ z5^%5+_y(~=zOf(#p(%T1e2oG+GlXTqI_{p)v`5dDm6i^?$Y6Y+8+@hnJ$M0W(ApZ_ zIYy=me|k+WC75r?Laks|cvUuiq8g%#!UhH5-Q$iF!j28yD5 z!mff(!_&?jb zu71P&nzAQ+?2Pv~d&rpgC5NZ2GyHjKNzxjY3w7rcH8Bs%MiRY)oOy-0v0RCYu;8QA z1cAUwgt{mrjL$Rj%#P0UM+?Rqd;3jr(n#W96DuYQEd!1#LV)uy7K|fN(ZM0Y!g4T| z(G>U;kvfJT0FP}TvW&zwPBhJ}NM3tc_|%GWR0+CT@*P|78S02);n|EeqUxhYoV@ky z8$mDkn4>gVZ+GKW8C~FOe?vg%GGifk!ReF&*Zu|v0YR~47t@&emt#{T@^V5ZMv?%2^p1h z)OWe=yNseFmdx#@BWhe5;=vu~P+e8;(`jr!&(rm=_TKj8cK2~q^f;Fx@T`8a!U zIpF3#og62Kw@q`$?RRzb>!L|U^vI>2RJiD~rj~n$$D=<1R5RaPTpT6H%fWS|n>+L_ zXk&GzgHmeVeW!Ptm1_CoZEt_?#m1)MDc{(gGe(@QypDfONen+uf9NSkmzwVSSdPY) zbn?TaZR^2+t2zA-s=MmboG^CKtA{{*L{cPl%ruIQYV_-aqe~+fjdtJqrnUwxKURam z;-?=6JpG$GD!vz2xUM};G!1#t?^(KcnS|C>4lj)H{I02x!WTCeU44A~`!FXwY~Re) z*m_i?#*9bR@5_l}`6|&0W2L8ZUQxa90oQcGVy8>Y>Wb*tO4rfBhvr*c zUuH8Nzxuh-QRMx_#{zN2ZQv$uExX}3YYczgZ7M@pM!3*YF zkv2NNpLZV{rm4l_V8Ll<+?CbJZu%8%D$?*(%wlD8u9Zg zVQQL&odiZ07WSMz@*!>V%m9h*=Wo4IyofSl; zRbUD0W2g+B6Z-t!Pu+=Bwmi#kVeJI62oii8#-&z#!4qa25wB+vyPI%wTt~4HDNxA2 z+M1&|6ODe8A}8R3v_LY7;N5|4~Jxq zov(idbA_zh31O)`b=)`H;737&5VbDC3@;}|bZQXG)=z8bF_^`XQqqA@ksSe<-@N93 zU94l&!eAYaXBs-ru+OX6c_kuRuEoc5Gk^_LEJ5Q`zLR#C$ULj%-scg&^UdZP?;aN8 z_pRJy+`g|ojX9qwj$~fJ+Uw&`g-H>*eoPXL)(x$=5N;>+a$UzD!fDv~I5@4{SQF!= zfq$^^c(o2P1f3tx>CUs0FUW!0QJ@6hJ;X~iqzbmpo51RaWeQN!k)otx)>E-}UvyWa z(;EjfibqF{;wxscS7wnAi5p{6k7!GvV?bf=Jj;3rvOc*NWg&(}zUPY!$E zbT3HUowORF4G5D|dG$G4FdU84l0vpuFBHv zG*O(OynEX!A`3agjA-5RhJ0ZZN&jGMxW93Mpx(h0iG6UP7%%gOAX)4IrAY&dLmK4; z-OvJS);ca@P8Du>N&Y(=g(y5pf3LSFhg1kpaT2H)#F|{_ltgoXUFxnNAmW|5 zbvN^Tt{2!v5g}5aof=V@_~U#2vGeF$T_vUzK~;w}gmJYF6X zRl-QVrxJ$iP|wy^inH76>!5&0XKCQj$4t0Jb;Ow>M6~92?@`;@s>LmK?{#~X9!e{l z{vYrd-v83GkuTWn1)IHKv;Q?V|_+zrl^MM-j zMwTYV&dll-ADqoeSh?8Pn3ZJ>ovcWB{=9*D!DcVm>;;>>V6$hl^Ri^`|8BY*MtGsjOhNC5bhl5`dFI4pr-yIz&K z{()QYz{X&6|0?LG6?dek#&O89tsA!KS@-mG_cmgW-_6Y5u^EG7>&f`;${%b-#ep0)*EC#Q>7DfnCL-yk|hGA;t_p`~jitRg9d$G0yEFA$34&%#rUH+(CrO^wR-N zW|*yQGUWyr{EQ9OZ*AdrTGUQj*lt?X-a^~RaV=3tEqDz;nT=R1jyP$_e3rupAGaXS zZZPQ~)dX-i{k{KkX`t`g>xqWDrqe6y)0?O~eF4f+!3`1f|Rs@6wB&4wQj=Sb_uKY*nQAbrf)s=N&*w zSpfr9Z+BrT|uKTf7vs@>5T$I*97btFvx9S z=)8bE1DxJAAjSZv#|JpQ?biS}`^%nT1FeA5(**_z56~|OSU{L{1la;k4<9J=GdcsD z-Xh@ixLwXOlHUsO$hg~M0b_JmaV3>-B$xP7)>H7v&noRqD*@~NN0|YJP!Aw+R)5(u zJ756#fIS0hX9wI0sGTP;EIVKTfZJ;YYIh8@0<~)eYWHl;3!QI0k`#ybNzPom7wLPZl z^=)RJpIfWd03PEmQj99_M$axJ?5+vdzR;0*{wX3foOR-bcX3mOL5w{l*<6QJNrzc< z8!rA;`rcbTGzy*)V~wJuJwo&!$9@~iO-kkJ-d%p^B_p(i=4Uo;nn(S2*en;672B#l zi1PM#MFX&0?}P+Xng#*63g$bxAl%;7)p2ek7B`8#`pnI2|B0I!6%un z;R9r45o`8!exZ1{V?&ulZAi1%ZgO5+n1#(W2_3yrHq@EG<`CAl=7CbyXd`iC6kz*E z17;{F|7f$aLex0LH&SWH|Dw$d4ZuG1b0;dgdIxDL!OBEv3tlw||NLidw(U`7V?PQ( z08!B!hr$v4#?@Jb1ZpZ@M^y}JQSrpW;aiY`SfXtm-aoV%?6Wq@-gpE%`H%-T5iJ7n zEM9S%$*q{WI>?TwxMo*s;7-o3$BP2!q3S>SKGvqLpOI{)WwXPf6BP4GYeY$bK;CD3jCWU&`~R=J~mL zh0%V+_}7z)%1u3Z!eXbBD`U-#SDH7FpoC16=YizRas*}+tL>Q0heBKH&vkYeGvVVR zjYYO|wBhq7b-<-my*UYCA;(`)Atzqaz|jmrwp$r8BWNzcR1|6igg$g?Znc`^UX|Tjq*8FEi8YDNvOcEf*>A2h_XWaqr8p{@ zsUa3Z!o(3Xlb}K;IYn-bO}faj0|p(hnnb`FemFX6ZiiPub6AvaM*#DTRa?}(3hJBE z->q5QU)D^L!p!b;gP#yh?4PXJtnKNV{X&UrxgGOVIdby){-Hy)mromS$<=)F`sMB3 z=B)gQn2e(EVcJ}K$#6&1SMMU2CAWxm0x3d{)Yf?-D70%ydNYH81XDY^@+kx9cghWc z`Nes}bqNWCBQ>mFMWw5EKBuXTGK$&koG#|&3?Cnxeryr69_63wZ1vH9_jm|u%g0Um6k+s9OSm(bVT7s9EtyDNYkeJ3&u8)AYT0Lg9KqI`+tgPBw1J2Isbivsf1zwTxqJ2S zaC5UijrET>>!Xg@c%12ocot`~|0K@hK!3!U z_o{340nTB@KZ!HgyENZUPzXx?7dS%e>%G?#3ri{Gk;&7?YUb#~Tm73hh!(W%?T*RFzjRdIga#X?NRGT_w%m8| z*j;^m2I=2zM{H^jDiF8_wfywq;O(9)SgxAfsTs#nKeBz28hMd|)ksP0{^cc3PW9HV5Z(XM@{zQ1nj z=MHk*(VqJ1?jC{buA6{mAwVRoIVSLpFO`YBfZJt`hjxp#_Ga()wn`cOm+ituCs=u5IbPeS1Vwq9aqRB%c5eb9o#UsclcQUz-pfh& zyS+`jv@7~a``+TH{SfrU{*hIjcRqi(8AgAFS2YNgWMEfhg3 zR>8-s2g;uQ$=>6uyUG5eEeCIT9CF)RHxQ5#mX`L({cx1mLX;I4R$C<* z`Z*02BG4MNJ5=izAbeB0D;S`petQ0X1Hp>6OGGWQz1s7gqRZl~fep-57*t+!QlWD_ zNjIuef&u}!3TWdi-=nmH15zg{g!TBYp}+ah9fBb2k22p=jZd(SQn<_@*FT4bxqR#O zPgNF!nB|38zy5ys1}(E$6F=~PAb8Y?mJb^7ousa)1LO=ZqO}fq{u2q?5BKJT$X?X3 z#s+z2iHi3RMX2$O>dyFXKhzx<1=a-;cIa&BoF*8x*hXZy*~8f#9Hmg=8ki9&I(!Th z8K@j)FqJ-%G-DX<`uRp(ZZOd;usi&Qk14-$vCwvF=a`v#IPNcA-`ifU)o!3RZAgV! z(k6jfhN$4^UcKjR1>Ztz6X-rmDF}W8nEs?62;)D;&o9k-pz?{8^kov+^m+tcH)_v z^#R<>@t?UFPsiFXib98|@1R^qhY0e0rGR`MvOPp;vJPK>-n~v*b#=YIP0&*u-SlmY z_|E%7WlL`oW_W>IbWjg11Riy}F<7sc%`JS#T>`$)wlC~(7ZrF=2?}k62=#5V6q)Pi zAW7^?_P{tWO_ zwEa+)g&}hK)r7sWM>&}Ugs_QfK+IWj3NvDJ{m|^J?XNdL-op(dWy~mi?^6uC1oVT~ zq$6MnmPYdJ2zud=RA2uk#dvz+is@wUOR4+h z>801jD^#i4H|GQBjPV(reJ^g+YF`f1s2R9-eQggT)+AF<~NRB0?j zJ!7$Xv7*M5Fs`{VIQHqGGgpoH0x@*pb1~YKifSCi+^H+eieSZD-dBiO!?IKfCM&o+ zXEV+EJtn@uDE{Hm*4M^`zQ(nO^=e)LjeO2`YOn{KdCPk1ke5k?%^M6A+(&$f0>{`+Buv&Ft&C4JsOxBM0teKwd`HHRoW@@XP%PIE&e3 z+J(H7Gj4BHMw!8Pc9Wv7;8xQ0o0Ss9UR>ak8L+{sm}khU_w`jK3sgo6Q6>vjUL?q` z4c@51sz{kaOB!!V-mZy9N#%mb8H@%21R#@60i_1ya3ukL%M=K{!UayvdvqEF43a4j%k>>N z2Z-h30KgIz0J0zfa`x-zpJcOtgmi7EWd+Go^4_RqWy??cT^0hz*8*}Z{v=~EFbe=< z0P30oP*)NVO9r5>Dc~AffII_G*A#%dv;dC=jBy_@ReV4zfV!ULnGfL60MxY)j2zHY zhk$r<1^5;runVNF%~d8t9|C-fAJAEH!1a~6k>>y{hYu-W9uy3110=QK|1;`Z07iO1 znz2EffhGv05}1_*{eL9i?B5tO*?(iq{xwJo{Fi()aT9DK3T~s=9qI7BcJ%DG2}ZGi z8v`mg4Y;vdz>Q%6n}86@12W6Lo@8(XZVV{l5&*^OfmXGSpe3M$%|J+*9MB4sgCAgN zfGk`Bu$mWu)qoNn1LQ60KR0H3TYrMhpaF6Ql#m!w9LP5ViujzYhkUX!E`Pt+|1`aS z$wYHGulsuntGw4*)mkmW^X+B=j_eVJo3IO$p(>lo4O3Xxvc<2fZOWSp1<`fuWSy>} z4+UqsSRd(j@6Nw@YtUrl;MEp8{`J#FLq(}kse0UW=BY(UH&5)4wM;JM3lu5aR~V`W z7@~wpV;$BXP)v5pdml8%{yE)DoR^o|(ZRqWTtSt97m*5b{1=r7%zE(j`Wqvk1$4-% zFJL_?ELtI7<|(zJXlg@081fbJk}mrTpD?yti|qSR3Jh@?9OtRf8mFn=q;NVT!ng@G5B86-zlSxFwFP4$CqBOWfxA+b$2 zPfa1DKb#^mKpw(;rhvBRH-_1xfTjJ{>Pm`+L2+m-W>UD~-~NfbN$B;}@u{(6v+rOl z!_dHx#i3Gpnd=Z$k;0~eI_yHpuD=$ z0EDVXsOm%`j|hB9V$gzJU)Nnf!LRp|&78rR0`i(luW&068BJMxAMv=Qg@kT>>9Mq~ z?SMPpu=eq+9MIXOk7_3}-Fiy!Aj45%sE5fi8Dhk;o zMw-Dp#Ebaje412!!+@Aka#4vibU*~XbOL2#M}bZIJxp(`zeoDIVS#$29m)IebEk|{ zD&F%37%CuXz*xEQ3CX{6^a+E-q*jm4^EgVv+d_%vf78Ec?K!1d41x&XxqO&@(?UBCz?L&`%ShJ47m#6djRJ)RgHC0^uQqleQy& zD6|3{9b>&bd)qJ%*ve^eWCnZ^rXHfL!}kFM3Mg@4<6C`{@-bnFkPfD=@F}l85!0aX z+>&(UTmmm6hnCeAEcPUKMsY(ExQRi|4NlTh3i_VYkSe?ZFca^EQw;2xQ^XDbE+R{S zD9%I0WQ@^cTE_}t_|AY3KPUkAjpS~0!uvtv2G);p6oAD(1mu(TC%24o6K{cBA$mgu zZmlF)Kc-H;fjHQJ`W8LLk7sbzHmaBJ)xcX_Y0fKa%`K#%0N`~!Gw zGyDF~OU4k>)?@KJ)VmcS3PLTj!-RyE<(WhJ#b=0NyS!7CRDIhW{e1S@Xm~M55)3Wz zB!r0ybcFi~Nuw$-o5rar$)l!{fWJ@`nj(Ea&|}(5n)K7&Eeo zhVF2@@f)N%EMMV+Z}=>6eBomUbZ;BG9hvwDdre|hHj&7GEGE1*+-ewWtS=z2{2@vQ zSs4%!fmIU?_c`d|!7W6fG>&eLK+10WI4JJ0nr}ESH0))h35Thj^f&}gE)tfVe zW^Lm1_6A--k4oKRJ!{wfbL{%$!>!FN>uRs3-qrFGsJw!-OQl2VVz!g`Z^)pIARua3 z-AT#$+O(Qba^+R+3RhTRQEOWx&#Vm-Ghfl(i~+a0%d*YrsOO%DN`Z@nyt4}X$(@I~ z>U^u_l}fdfm5GDfJDXxE9utOIX8o&)z<#9a8I`6ot)f(0+i5|;RU`TL%BrY+lL>;D z`K(9t#i88uBfSd1xIDMKC>&e6SzE>uX3*Q(%`$RN zF-&?t)SbUw+Z!~h7t!?1GNgN7qo;Gcn<&e!8)`}pZ(am)HahTQ^F_Z%X7M%*X z*0`1 z_xlI{q9vtk9wZ?}sNfNrl#jCmrdCd2N-M&64&ZW*0lnhIu|t%5c|6~wbgMA;0b z8kI0%%Z!f>r!*4lW~a+`#yY+j>u2dkB<^VKci<3RYsX3Mh|7X|Q=44_-Cn20B~R9; z=i6*I0$o#uFh{v(mY#=^gpHEMaY%6wJb1kp@i!9T1^m<%% z57gY4G;jIneNQ?P$FlZ+ueD5ppa zcQI)*hvavUK*zmR#>*GZcYt&CK9c_3sfwarXihf#)ai+0+pjfUv)c_?`Moa(S9N0B zsMse`ap<62bUw1VshLmp%8rhWP4*-SH$r=Tetm!SdT+0HYx0Eo)#%8$q}TQ2ZxPa( zsG$^w14|96(H&wIuBr`wvxnc{ba#$Cg3aC@-gUP(Tbr|{cU!$t@{n`uY(h*cN2|w+ zrfyiE2`(RAfyec`)x}MapWU*K9-_j*P6v_CDRR_n=~b>H_w+IKj}MVZA%cs|AXn&Q zAufYjEh&uohS+0ZO=CMY4EjdqvX0->5Va?J31hv@>*M9+QU?SM#K)2?FH?9 zou}6ZDotv=R9vUOFMz6k{pkjEJh_tV!5!_DKKm$=2mpo+l7(f33z8; zWu1|>?idHZ!~{z5Md|c#=Mo{q4QQju4MAA3S(1Viflh$Z%nR_UEMW$ZRubW20Cyh? zvgr`8B>M6JqbT_^vhu=WD>UD?i~)9@fHJ!&;w!=X=n<@CvqXZ;l@a>`rR!2nnl?L< z`wiMM+?gw;GU8PMHj(l%uE4jZ!9e?~GoO$_MF#epXwcVV{DF|K$Bl@I??%YKh6_z! zWpq!q`T2O)9oqXkONCz;r#QLx$>hOC+RJm@GI6;DyOHGO6UBB})h9;ok2e&M+BXL; z7i{949AS4?;ZO)t4@03M>Rw#Tw3oj-J4!dSdK7i<>oV|}OIPwy&kDNJJ0Q{9z;xcFt!4=i z8LFfx0~n0=^9aJL$eb=Bw!1z`cFPR`O7}GKtf>qNh=T+uF1-v3B)cC{(=a<0f}-BG zaQ)sK-<^srgDq@PNmG5Fg1Qivz|T@d%Z-xoC9sK1V%^`W!m->b3(omEPZU)JHA8!>*G z1x~QVz5|PM8QoqZ4`yZi5wcZXxoazN2ERB)V{wVPi1~Y{gPgU?BHcm*@1KL$giTMF zha!l@X#>~DyG@Nk^SMMUafiq|ge(o#QIqET@LF6%6Ub544nOn!4&3IbEtN>zaz#}# zV1rdAe|{P4=)ZTGm*9}-ju9T=Y5gDUy=7EfTbJ*hV1>IoA!u;-;O-tIXmEE3kU-(? z?(P~~51nE%ne z=Rf~K>V<%NA>dvJxc@f+$NZ1(760zX;up=e7tOU7&9xT-?uCGRA>dvJxEBKMe+mJ| z{C~sx|9dspxc|CaLZECY%C{$z zfy_K0R4r|DA)luonnC?U<9%g?y30+YLsw?@4dXk@fbV5bSFWsSK1GaZCNnCYvMV@} z+7?TUiqq^5C!?~}_OhFH&nL&Nb$+qszAc~OLz`Q~YWt&}5-d(MPJo{{9n6mobUID? znWk;arMqmrek#j*9`U;<^y^zCAl5#ZX#Nf~U^743IAwprCfxSsui$^^=)kc~qU25c zi2Qx=V+JqN?&87vAk4<|?cA9R)r~pPA?i$aT&>uzJ=%hM@L<{d0|IoVDAi9^O(h>< zjQavRvaiQ1G9}etP1dN@Sjcn+hPwG@G$@8-<0Q4tz4xlt8j`cz8~iOCAr4_i{ss#wfY~)H9V{i zJfto>te#|>h+1_KhZ$PU5iO+Q4~xT&GZsN3JkXOL3bT0*nwv&=kmf&B>hm73JDIlS z6a}1?X)t9V;Sbbir=DAlMP(qt&(tc3eCBXD&j`ogs8#Cl-+jBFIzCRnR|>932q@zUnrH0%}fOl3!^1YW9Q>4b+c1Hyi`r) z&z(QQn|2w!IJpiB0Hv#)X4T>oJJqLx(x*?e9N~$b0Ly zZe!YFN=PUkrE5YbY<#=AfKFH;0AvAcv;~0LfF_wI?7+|$)CSau0`Oko0Faj=Fa+{} zYP_aSvm)V%FMt}o0a3O0z;b`g+yKxcfWvuDoMvSLD^Ve#+!X_p0aF2pN_Bw+08ulA z|Fdy_`g>lZDxPDG6%j+?iz!Wm1#{Or^x64v0XPt*biG3#iw`#~00chR?pR|3hQ1*1 zeLm6Lq=lW^D zX#=JaP^@f74iE!2u{H#>L*;hb$LM*o`F!Af9~E|Ulx=o^Qz=yc!HOf?LwGP1;NPHH zGI!A+%uFO+W{wW8 z;7(5TQ@kZB=pf+!i|bCQXAytr{#!1lpeV>UNvChP=t?CtnTL=WZ5{WW>hg@(=23<9 zajl*O<$)JL`8V>Y#lF##`r=$jUf80jl&wS{Yyty?C{e1{m?}b5Vd$>!YBCgUum*FS z)Ex)fg}#hEcaV?=cYRhxBYcDEn-8r$n>#p8{QGp?2HmdNLjNKk_Zzf2uaQnoPEhVI z$;)?NrTD6tRC%{+k>8`xQU4$j;o%CdLm(BwT`K=+($5-~*aL?v1r>?GN`WiDG`%yP zqu?934&@!J-=_EQhAG==$wtIcA9T<|&#l`UqvRqjZ&2E~AWK1BNujAJ6lz2}ROEtU z@I6BaEf{H~T0lDZi%xaq#5}J)cjBlVx)jhA3y>l4!H~TZ=+Fd{ZO-(vLfmpA<+?L` zC72O}$o~M*#nVyc2xUjj*p?dd8Ll5ylJA!eHJ*Fmk52fQ1ok8)bM20%*K`Rf;zoSq zZ|U|Hu(+=tSP^M$_1TcFpEryhfAzyHeVHc(2`z}jxR%1e|2VJK{Df{o6EpuqOC&gK zM&4}dC;3Vw6SVicUjBXVR$R_rLtV(T62t&K=E?ww5O*YO=Fl^Cn>fCM_SG=|$a|)U zWcBV&eDUT3`WSp_K`XQBpbv+Y_PM{@NuJc{E^fZBKk22sMa6+YofM7DBW>N~mh-JD zv>1Y&36Nvhq$~V2T{L5NP5R|L4jy-eL0j?_#VyM%>=|8r8B78mAvH&$8;bg`pNeG2 zKl>eUE6F&R>D-at3bG_r-2(3(uQ^;p7q!DMV3KS8w8F#&B+4k%mX$ZvN5RL8=h1(f zVTPu@`+45_Yr3lY>jbo!G_|fGxwM8&1?fPwO8mUO_;TAT3<|Y$MUgbS_CK0ys;x_g z=&H_tRLW3Xzsj2I0Xk(`0RD!I9y9v`T`&RpE0%}-%qIjq0HCw~SR|gF%_G?iUd0eLE_QbRAh-J$IR;sEw>4tWjP5WQA7n5YSBpoCxiXX>Cee1 z_@__222y}i31&%~6?`oNvLmG7AJZ2KO|_I=%&iXLnLfGpeC~FYKJ64ApyG_%$i;=& zGA`&pr>U8NNu}tb`yQN?p+e9KzuT6!uy)i&TF4==;QZT-xU<;PqRU)>#XwcwTG~dy z!@wT;liJo)Ks9OWxnZIaK`U-(%jX2k36C1Fci9ehUAX1BafHiEdG*nP@}{30^v^`~ zn%uPlnO(7|nn1Ym#7&6^XRM3khPB2?`x&FCj)B}L*>2*TcC@az zh4X4*(t+_yhfdfUit1`SVby7+SVDLK_ThyJZ`tjHc!+3~X<-ADgquSYZ7_p#L^y0f z9=*snC^ze=xzi_4%f8P{WrS_HA}5{#VQ_qL^{f$Pxr5WCj|Pqox7$|_7sK9;ZngYY z46B6lBiEIY-W`$ed`wn2>b{5tccDaiR=m!%mzzX%ilB{HvAu>w@XW#Hs4BTUzS_U2 zYHQyw;-+#MQ@-51+Q`YpZzn!dQA6PyQ$eb?bJRUL^`2C*W|=!zW4CjZ;MaLCsHb*W z@!4V?j_O?bz&bMgCSzLlpn2IApyuSNqDtCYJzgG(DRBDXsdGy$?x7V}mK^bM^B(Lw zBU&l(vygk6r>TO*0EyX)CeRl$F7v(^iZg1E}&!Lvl=Mz@Tx^wO_be}Y27b?OQ=@s zNsaZ=b30?$cvD+nXPS4b@0c~lF}``()tsU@-t3y?+tw`UGa8nt#k23|sCLP^e;%p4 zs!4FSQOWppv9W{mjP&J;=UIJZypHvGmDeoyzHfQSB{EMazp};SQ{c&Gi}iP;b>So} z+tpw!^ODjdTLlHq`^T2W(9jI~2og9Q+RR_g*8#U(>AtBHdb~S54P$t#mrfFXk1iqm z$3azSDJqLZEes=H$4KtRhofzcQwzt}4XMt3q!QNTbaHd4;Uth{o5W@~ zD^B?1$ydeGXJ_vo_O7-Me^t4k6GI&LY?qRmwm!|)IAlEfC4M-5^fK9!m6)oMx|n~( zNqCec`Gfaeq}0P6ZxU+DxwbK)s!i31<0Pt!dgPwF^TnRYB+bvwz?t4YD6f|J%;S1a z+yM)Bz53!;$|I??nzIq#INDaB`Pci_V#CFHZ5$oOF(icrlwdLn)VCYGKi56lwctr! zf0g-&X!7Op7zMIQWz`{dOWk_lh?^jyqo(WVxa6HpRZ^5VUOi)bAlK7mD9J!nU!R_R z+W0h6^r>xJZUq%NnO~qLoK4_n*Bg5-^~r6!n$2Jl>-$Scvb-eDpE8b-damVrb{NQz z&d8tGS9lFeEWVW-94~&ohVNxD`Hj7XI~$97=jL-WNSq|Vm=mFA87Tkbz{q93q@Q|- zH+2MdZ|Bp}MSvuVih)DZ2;+trfZcBjIlpFZg!?cmJXDlp8vUutigJ6`>M`=srE zWqgXb$Lujr%peFT!fA93e)q%|_;~UJa`EMCvW?Wc-JE^CP|kMp!#$@iOsDs`yP39A zxHhPLzs7|HIdf1aZhz63;vssr?DE~KrEQK_VA+-hTiaoEDJxe2%i^q-K?bL*^`3vE z>Uf{2U4qg6jmBf@EiYn3qQqKw;<6!~m5}wjUK8f$>f1TS9?fKk$Vv(P9VKIK2I)w> z>(9t~%XlOzF13qG)|@2o2{Jib4h9b{898@CqF;BcotfKtcsYN)95M~@-WIw64K%=e z;Re&!3ZPy;oj!ixU9?^OXmcWW{dwWpvUYK^eW+r2(4+WzH<-=)5owgPRd*B5-3KjE z4?D4-YUTQT0ph2EG;CT0zL{wduJWnPryWl{+28tk3vZNB_aSN6F~4Rik1FHBv{uuw z5Pg)!_QK1GgAXyl`-*7;xn+N@nU|%i3+a_|N^;CU6%8$CS#Z33wC%pSsqN=|=H)Z5 zWH5vx@H6lxM^DRhRnT+QO19_vb^io&Sd~`aIS2X&)Z2C+h`DQM6N%uVLy_^mcH1o6 z-u6TeMPklKG5EW>b_t^PtH+kuP_MxAv*-d6am|dI2fBdupv1Ti*Rdt$ZP@VZG#WA2 z3>qXEzPXPqjoRzCmc>3KEB0?>1ZNzZEl444cOy7N=4yN=HQ#v4O^0wm6qdqlf1cxZ zZZPbEbBL8BgjBvfRAIe?xZNNOU?Mqtx8W9y1u=vBlasrrz2E#y4rYull$R-hDMp`0 zKIbicMKOSdDk-nw*QAni26Z!|&aze6LkX;iM3arTd9~v! zL>&)pZgDf3+h~MS)0c02zPfE=Y%)Em)(naP3~u`6kfB%%foX5}F ze<_sFZbsDk|CV%$ff2*fsUs~jy< zKl@T~dt+0@bIS)Y5U;6B{4lpshNkWxHh4wu8ApKk`j$adK1#$<8DI2)cZVHuXUOf% zupyKpxkb0R4HP*`LjIPx)F$L+d*Z<Yk#8J)cFs&CGKBQB4`F z43RvFjVn!){2j6B)7!|`GzV!vLL*^2xvDWn^;?a%=x&2f2I zK@w{IjA0i&BxR!oJPn2ojjOEb5LWF7`j4Ya7|qQWB2NbA{HmifpA45X!mQtW_zTks1T_rk{g7udLeG~0M#<6hL^Uew`U z)Zye4u|zD@q%bKD04!o$ty{N4gTs#UPw-X&{Zm8qn%m z*7z>W9i-jY^}rs^9fTto#>3s6^#_Zy!tx`k_A9WEmgr*WGe)3jX(4KF{(j{*yeBG|(d7gH1E+e~$#V11@#ZghVN z$f)`J1JG%7|3`27=tvt%K;d0{e6yamIo`hXsV)X~8j-X+V3n(bfA> zygP_RCxJcgbd8IH(DB0S^(QK-h<3;C?dmKSbp`iQePgp8;!dcDUgs@ckuUwC&O^N)EZy97lQ&-1||f0W@Ie_ESVEe`!rhQpxq#UKp8pbNoR zCZwVW{FP^1l@>>s5?hnHllKcXT@|q)Hblf(+1W8&m9Qo@rNc$paaZ1=HA&COx}Ykwd5Xmd ze6`iBFUW0At$1gH9G4;DJHe`{=z)wRy*dhJ4F#DZqm0lIr{P)h&loD$seksZTf%re z;O|%$qQK)TdK(Ce2dFU$ZoVQ+FerZGG;6~Q2<7AQ6|n)K<87gQAjAfQ)=#romidYh z0j~itBqUY^h`RW#)2tdqV%3B$@BqM*IRM^>4)B1zo1)y~eHum}Xu5k%i2aWVr1Al& zrl(oIfl2L|AX99V5klg$4}4s#SNtCcGJR{$X*9JnbH1FY*tsdnz@S+4uM5%RMLPU# z^sEb&H@hpoLq@UaSraM;igM;eu^0xtz*(>dg6j6Rg{-;wijcsdI-t~g;CS?a_Y*KA zB%Z2B1=VeyX1O2|PepWr7l2YTfVosKDEq-(U=Kjt>z?w>cH>3kBZtphsr@?Cq z;AM3iGebtfp9H$N+PRJ4!l2-H0YZC#)|w{Z9R%d}xc`>l>suGv#N{(14E#%ej}=%! z7FZY9z+s>>stNG0oB?J=7q}N_fO-ZzoZNg|wQhDMd;`3wUEFBoni7Vh&&jwQJecIb zDindBa^OLI2dqs229*OvssSQ?Sb*0M7!neHYfc4~Zv(P>h{WH3B4+^Lksa^`bbx1o zBLC>`0gvYl3n03O{I~udP!10aiWX4hU;2BBgObU=(E+s@w1A61)`hE5CDQ}cut0J?CL;<3E`6veC*iB;5iIi87P z>-48^q|bxwvMXxNmiDXnm=vu@kzRpmcE@s-~yD4%DM zob3HR++nt{lXOLfU_ET78M>@+*AR6<3|1iq(1z411p;mgM!2kxd&*BaT>Te>ECoXG zA&acUJ=E6T?Oe&*;8)3oK6T9cUn#zS-ZjZ?C{o&m5`jkZLpEjk@kgGdNewP#eDL*_ z&&PI$%F%7HxVx`~$c3^aLGPf@6O=48!EpHnpK$A_il>+k*D?b1Uxzar-rVktReyu! zx8Qp8^C=ihz)<~eoedwYwctmLO)oDwUt|d>h4^W@sF+kjf`)2rK&fGtAq>14=Ay8G zEZ@hiJ!Q$9mXxfPuLs7EzME$1?{C(qD&G`?d~#9sTnL#FbLgk#nA^xcp)2cwi^fNi zb*Q<+vN~{^4*?is_6OE9?+r;f%zU=Ec@9{4Pk9yLwNiWx7N3ZHolYhBky0hyuC81} z`7U_jwR)i>7;aokOUX?((|WE*L&RF{-|ytkvI8*F(t}24U>D3BpE#GxSY^|u>m_`N;16Cm9-aw zM8g!pfinE1T4N!ZwTfVncQXLT?zdi0I7$E))-@om2hY2sxoo37U!${Ir3u z67;i)e&qFAUQ*fV(58AS;80G`n{oau(mW#+^48Bo7i4}=2llthxtNlu@joWE1Lku} z9no^r;xuxb157)S`3wfbd`MsGo(tq)nmDm)o1I%_C@Imw6j4?6n2WbG$ z+MHbU%{?BHI_fRT6qAqPHvXnC4I_!#xtHa=sdp8WyvNTZYXdhRPAcjzs?l~fmp6rFoZuN?F+{8u<9;8-}Z?J`> zf(q0#1~M>e?4u(c{7I;iEydyhKiDNndXW>V+L}6QqPpgr^I2Hs6km9+n5j|>pCI+; zUvD}6MvEju#rjdFU8PhbyVhWa`KSUr>Trtt4Wt7l5iw(x#|`2rRnP{I2b;!s-!kNC zs=45gDs0)`&Xyi4>&j3 z`HI~1=?kN(k-jA4x2@=ItL$=)`c6e#4<>CSl54E_!hwm7YKMi}N`f9~m7JWKRT_XtV2mw6_HuMxx|jkn7PBwzVS5YZx!l#5 z5_X^Jnu6nCSC{BpV2su%XE7g}3*(TM`@Dh~hszXHb+5ar`3}_3Z&xg*)gPG50OBljsmWVC^4d#)gQd%N!-@8o+qZ_uiK*Ib3^I zH_GP1L2I($v@SYNnHYyzG>whnnXEa56%Xh#Ht2%YyK{BoXCoRkQY&JxXTtK=dgeVY z?<-DO!kcHD<~M<7O1+AlMAH&s<(&yueFZYaU{7jw11|_Y-`;LzD`@Tg=7C{Y@w+AB zGB7rZSz+*0p!xme4L;5eZoUqc#t+8r zsh+3Pu4`QtO&n9Jc>e_5IP95(cAAFwA3s)H-Cy?&Z>uQaq~M=37_G;STsPY4uZnPD zdt6$d_Pg?btbQXZF?bz5LqmJuociE>jkT{-cRAY0+Kp&hWV%N-6)v2ct)lUv`k>ruGcK|+G-bDX zujH3j-7j1fFlC>=I#Y|*fA_xbBa>xnDd2e9V54F+I&Fu>2Hw-ucqL`HCQ+!^rm-4W z^)y*Z;?NhExWFOX1}^UU>93G_RhfwtLMA;YZMR57f&;f)jn5aj6%l|^e>Cd~g|YGa z&?A2PW9wehqQSLKS6t0U4=2|YWrr_w<+hdg%i7Yy4N@{0jo3Xv3sV7Q5QMgK02lvG z#3a#%Q<9@RZNlyLvCZTM6`eD=)|5Ed)@`HYz%3iimDTUMdPvVa`a6xtN?6~Ux!x(A zQzV~mei-cmmW>Z^S2ZwLE&X!HuzPsN)HiRv7Nh=F9;dp40 zbhe(A&Fqz~U+M`Uk({_ZVzeQ`%F5tHv?yl3EU&enR!I zP}e7vkniDOu*@jBF=*2RK6cFnDiq2E^hqBterCF$$kn=O%HP=N`hADeviw`c)t+lJ zR6ttnnevI4r|;lgKYVuCFb}WXs^=&5_Iq`b`+V5sfFDLgChl$T**}()t$wtNKJKR( ze6+c&`snpgrm=EzT<^Nccs(2Tgev@FGX48d_(F(xLB+MiP-57f{vb!S6Y0VuAd%=2 zMzU%>O9g(&yL#3-x~i&*$@S1x7|!sdhx*=QCZdw>H%qzbOW(>H9UI2$d@7I1x$7^t z>o9J}9jF81ITJ7ayQDLZk1jx$@+GHPng&#$i`7SB?Vvfp11p1ST0gcQ3x{u}t1 zBK|lTYl``!np&W;NQ) zm=7a(^*jx}a;kN5u<6~sWrvxm}HW z2#fJ>#uY}+dt}oeO^{qT@7CG7I7C1i@M{%de8PtSTTgpgn%3;EdrY4YLd79a5E@5P zWqynr7r%YyqdB^j;{(;{M7L5z3VXt|B#6F_Q>a} zS&Y$lN?x!GKx5Z(ruYDEAq&h9nIFBDgu1zW1R%7BSAKay6@|ez0!kra7?b^67yB;Quv0nNRGZ!)R+=q!&Gt?(Aj#| zHOf4RH-b*x6gAxl@cW9TuztK{5B%zPt^XF*=1q3Hw`^g7Aq)FY38HPT>g+T;jx;G* zh`Atqr4)Q2*mw%_YP5b^x5+~Brs?l4iU&9EijR^6?rDyn58cT%pgBhvP;{|8xVy*Z zp4T;VBkJ=oGt4^KzPU+%h0z`Hd*6#n5OMy&zf>9xlVC58vS5OVQj%W89V#Xqe@@d+yaqnB(oH%N zxs$9L!-0(HXIx$Z@Cl;$gP&+qcS$FqtxHiu*9Jv;%C;iT92|-q8R4@VFz1t~wS~QK zu^Jxuw-jAHZIfzt8Vt6|!@^m)FlYR+)7R%clEI@#lWD|LlD*Yu=-I^G^#1_gWBD)L zY5F2<_k!=e;CugXe2?WHFzmnkrTazN?nT<}McVE~+U^D4d%^c!@Vys&?|%%w_m6gL z|L&sZzZu{A>jLTp-+RILUhusaeD4L{d%^c;)t_JRz5h-49_v4D2Kc|>dtCpD?=8j< zHbieZei5V33?NX&yB2mgBB2{B*n;JzKH_RcBL?MiPZHKI4dY#XqCTEwM3-FBa_rB0 z$g09r-o%6t7Nv{=31(XeFtiKknQ^)qNW4ec(FlE?#@MdssT0&e0GC)#MiVgHIpU() zF1LY{+H>EticNy;aPv*EE3@n9JwqODyY|B)iD4srPP=FlF4cWhD`S+pOxns=9M;Wq zX7QWya~rP5W!>u({hG?P@*qDkH|)z_h}dJHS?-tTj88Yr=fI+j-|XMH%C z#Kh1uM>?j#3lbYfy-X48Cjn7C6dj&o>9E2(e0Ru2em{0w#y0sjaPa6f_3}z<*yCo~ zX4b$3nS$-i%&g|PH;Hn^Qv7#0vXyMBYrzWcan8GU?7Dy9dkXdC`n#o=x_X~*?@EF_cZS9| zon-IYQnDGVkj~^s_gZ}`Y(oU5Qukct3B634|DyK-JPVC>E&0iLU<2CaV^6*zdM$U4 zxti?q()>;b-noA5-pOZVS0?`AWfxf$biVjZg{&LZWW61=IHcc@EN1KU4|vZwA~r_E zL77EUUK)8=N@|;%hFg>h3%r-Np_r~}TmdkAF3PNP@)pR;Qp1h$B5um8xC;2lTT&w1 zeCAwvR7l{gF*}NaTNW3BYXhY zr3_$og!BN__J`vG;I0W{VpRa{l4f;N#6w1*71#ZB=85R}*! z+5&=vKoFqhQg;6p-2>(VNY?* z*i`@9CR3|?W6;=bm1Rw~Yaa=&=AAavApBW`GN(z9+{Q>rp|2FY~+BN|Yk1rV%{%^Hys;~Iq zjsye19y)L}0D=JdXbA+7 z0H_bZG5^B%hQKpGrWOz!1cE@RL_pB!G|L%SHUbC&rOE@u9{?2|iEaz=0;UHrcNBp7 z@EU+bkH0}tlJ$<0@272%UuHM2dPA)m?sLj3)Dh-$_UW4UF-mL=otk2kny=YVLsQ81 z0lcoQ&}X)R{kBn2ltFZm1E;zOFX!XC9OZa7FYVY!gkkC-vNUrC3~Y80w%M8@%`IvZ z@@c!fmX?p*a@Mdgweav1nAruLYSBcgYO&D93gS; z=@@cV)pogwMt%y9w!BOB!P6ak-4n1?%it{j$`BtmrKfutq7G>1O4~2Jr#Vcq0CO1q zgm7girISPjM}Qb(peO;e8NpDLZSoUr+9CiR6a$qrH2By1%}3O-51QE1>?z;E2r7ec z7F8E|<%D(*rJ@2%eTtD~h4&z0-oPGXOYNjlDSyOF^pSg0l^N6@c#IKncldU$+syn2 z0|%6f?omuOi3q3fR(%-KMfe9#Q!KqO^v6=ULyRP}9dzolEQ=%NIjxm9y|U5-VNeeb zjD;Dfr$hM~HWy{`d!HTq+>@2Aafs*tR6ipvZTta%R7 zDV&+WWg?NaNhM!GTck7U*DJ+Dke(3>zne$-HIiOX7qUsh`+_qjDl+bu-jsgzR7qbXh`U)|JwKQ?b@Y^Ep;uAm8PKus~T z_z1#~WU-j@{JBe8^hTBabELr!%|+byuAq{2-mn<_hHs6PJ0H&z&w{Q_m~$+)VK%rJ z-RbF=vl?HiGWS5!OYij#Awh9FSg`Ph1sy^Y1Zvp}BN+VHD>%Q#RjPJ~jLqs5LOP^v zT7B)#WD0V^RbqF5WS0EZik$FDnF!Tnw?}i4_>I}nl3@~ETp3KaRCn+ZNivsT6zcYG z`{{`sLP_)zpZr1pd3gdCR0(d1N-=AsNIxPsha#CNDe8QKD>bmZFs`P9I!Fd;0D}gR zqRO+HVwZGiQgBh6$d9Hbt`*r3R$4fN!vh&+{*Zsf2Y7q`ms6{*ialBtf|?#e>i(hp zTTAneqRZ=mm_uJ=%CV#-A6yL!lR!trH=oIRz#D$p+k!Fl(?+5_1N`#7_#pPG(qGk8 zDuiRgP}4tw^q6xVAl?2|Z}f%_GP%Xj(#AKw8uop*Sq1CopRUpuarj9pjaadQ^T~VX zVI5k$bQS?-6>^`pE`C)Yr6phToGh53wZ^(ye~a@e(ti)7Vm}Kr+4#w~=x`x!sqxZx z13pA8UYDRd2$K*w)_GC91Nl0x!8-2T{xj)xNRibNDe{5=t?e>tn6-#cQbha~QmBL{ zG!cDRvb9_e2o)Qj9f8FLft4AH6*6pU6EiY1nWQc^_>nKnub=?A$e1JxMX+?I0@X@6Frh6$grMUKeRGB>5;0 zi6YDx2426DuI>-3pz$xDj8h!|b#aQ#E^e{sOXG&>LZWcSDQ8!v6w_QLC?{gGhE-_& z;q;USk|njnH*Hp($I%<&TV;&B=dbB?cmL|seo?~j})8FjOR!VN_c7U@B2+aXuwxE*9^XY~! zd2x=E0f|}+h#f~U=wNr zMzOJ7IA?Q>UhCAYj>;cm9eP4uCFNuzHOTS6kD}NfzrA-xy)1%)Vb|WI_3%M-v4!h%0woYwPH&3ya1Hp9H6??$;m6PkVqAT>#ybox11X zl+XUSd0=bXO>E;Dlcdu_MBS#*jTs%Gc}%`5nOO?=pbpdM_3M+xA-VC)a*_+kgTR}p z?+Kr;W=+3%Ts4?J6L^3Ba+ScuCTe_0tFNhoD=Y=t`E0?wA?SC4z@G1YeWyKf_@kq_ zmKoVRp+Ns>0eg{zkx>H>?AtUsPwt*8H%P2Llqzglr8&I|vI##wOkE4pz;x{YqoQxr*Bv^wUYok5F+iO*#-g=Ly?599q3X#^2dVh@ zwaY8gyvNJwlR&28x5I5UO9gV({2EdHVYJR2{BrK7*9H7iPUDGBnBP>(eX6JAHfTpX|L$2CIBBCxE53Ix`lK5%mTg67W zfzDXg!thZaC9LH`lTmLQiQ%r_yxFnz)Lik}>9>$i?d?tTsFunGazrMVWhr@~Y)GGu z6Iu-1Ki`{pu|Hf#c`Q4_&hAb0d_d|`7(jf^)QL{M+s~XB8;LnN8pSa!u1V~=+}=KN zU~Ly@UoN{oS@pa}%DrMzaYi||C7B6i0`XfqdvNnTAD^G@nOu)n@wA4ww{cD4Fg|T^ z=PJ8t>9ga{G86NZYP`GHW}VdbxgX9=l$ja=(p@ z=+$3@O<6JB6S#GG;?lBZYH>E!_Q^qs;nwvma*Q)06J*3!C=EBLME046Mf!GdALBz1 zM$_}^taifey~^NL^KP&2tk?1+Ms~aQ(y>iF=VoNX?C7HV7FamhP{-H~5meHSD{MR;L`|SBp=s!cNZsZoXkgh7 ziH(y5=o)0a(7wjOnDo4XRjxv!K}ijK!s9Sq|by39V} zO~Mjc+~LUMvmy=|+D%*_-XAMJTBYaw?0Z({Z+0TgyV*jG*X&f!$Dz@y`N>MYr>`yv z`J6=4hr+Jmt45Fv+zngeKn)A(o^A><OMt!P; zz#7GIrW642(N8G3urv87j4Ccdzt}xZPQH+mos^=Q8}{utIB2*vUL)pcMEuw$q2Mn& zT!9?`$7ii13sa0n-^s@DCbx)AIyC&Jw+tgrUD3C@#0Ycx<^CXnd$QxaL-$SW_Dd@r zyv9?16H~jj&g0}r9wXWm^hrnKk5F8{q$wXRL5=KE@2J(G+iH7))=C%7UTOBO^qs3q z**wTM_DQ3Oa+Hq6wfx={OVSGXjhZ(Q)YY&cx#NY-xqhR@l93bY(sAy@o^I_|c$cSm zN)1`<=lVe{Awj85DHM&JLmKxf0&b3Tz(3bKUm0pz9Dcf6mAD&LWl)jW*D4p;1-ru@ zkz_w&2lDKPf$v^a_E#Df%4&0ZY0!;B?J1X@(?@}koiz?4NBGF|9w(a=ndWZi$|0_& zx)>UnLF$I$z98vR_z26=x7gb8y0o!r$m%K&6XQq-%-6NAp8_)z78i$02-a3NzdxgR zPM_xd2OuBof9bYZZjOI`t(LAK6S>HNdYt^-_b1J3Pg<-|s^_#5j%b`}iZtN+n}{!tm0yIyHde`Tk%E+n*K=LvJRF=P6|JhHOq zx=GRpYCnb1X;deCB({q2dDiTFV?xGEhOit`T4MI;I9kc*430_DaQseV!~BWlx6w<% zab}g{%!sk|VoeOwbh=S_-Mb&sU4$z;C2Nri-3zGURqn=Sln{O37uf9(-l?n;Cd=pg zP+HcO(pVa_MQohQgA0%bIWYe^p02K3+}}=9Ic$|8$8>Q>xfv4;9|x_<+?&?P4@Pe+ z6S5}FvicVeEu?D=%1-x&GZ}_$Y}(x!s}X)$ybmv}2DfE3GU9Z2F;`ez)Q}uDx4$Q; zziuNsF724PUaZHnV)gWP_ns>U-5V?)%3ra2pA{cH9Y-E@F~+91-8}3UYLqg1(|$>e ziWe=7uBweRT|{x^eZZ#rwIins{SEBa7@Im0zFC64szG2Okeao&PG?nE=?(C zVsp9eGm;NnVj0WoC&&(SDYKLoM_V$b_57<(3BSuhujK7qyQ0iz6s#S;zFHRlloC)m zZRfYo0#Ww@q*)*JCHAfD)FSZ8E*?DX}s-9*mWzn+9MiNM#`AR!PL|J zJ`@d?K@gqt(lYN)`DG0zXe9bqs+dMPZ}#;G7MuDZd33qAnSE!Y?o3kXxe7mk_C>|v zGlU~Izd|`r$2hOLpr$E_{<4QgB3Q52GV%0o#eh{#=r-QdBYOAq73y&+-LTwvv~L6k z-#opalJsnx2^yg!l4OHgdb}XYp}5Ac?JpWl=#!w$fS6RRBunLp#=+)u5zwnCU&Uxr z651B%Vf$@LB89I<#1I=xdZpwg7CK(D2OWC&uhfo@r@epatP>opWwpnIm?e-J9CbKz zyZpw2kq@#R}deKpA%8Qa@gEym>D8)LT7(Oq@|`h@d@17j9+L;zK6av@80fnDX zQ!@G1b{XSw}-&+yeI<;L^f z(wP_PLk)rpflIcoX=?wu+)!Zb;GqC60o!;`D7rSSg$MfL+2f4Qb=GwI2T(#$rx`PLFATu0V&u>`F_E!(D4dS&}^xCm;* z40ELD?TD;pS{;6Lt$Mb@jD_*Yf_ZwaI=RyfP231i_|yl^a_1TI?hz0Fg%6d{ya!l` z7Eq%e{u}dI(R>62?4vN@yYpF!`~>VZrkmf6=Znw;2(SiBbH(qhQf35F*)~jLg&(aZ zerD(z&$VojHJR*MpwA&?elFtT@m^+P`Yh{lM?O^ikwu*z&GiQW$ z*ny!iNOx>E3t^IH*H;{*s|XB%1bZ!z?$mBpD6ouDE|@{?AWH`DN@ar?fMw{NnpOV zKe9*ZxR5QdHGdn0<3c9|&SSjc$R34bK!07H-N$dp9+iL>i)Xh@9ORWWBSgZ+vkMjm zc>$$H0>{e*ysE$upXkC|3uvUf3pCOtx{%5R3jn3+0dsNuk?+KE!QRO;LYcsVwLt33 zZq_J}S}P6G2>)yQcAV{|yU(;;~n~i&PJiDt8JIR9!?3{=qFvKT91a?kjYF9r9o(K`x zIWqYJeM!Iz>>Qc76H}f!5hAd2T{&YNRc201bU-S0IC4PQSVt7F;O}q1aH2yk7hDR| z*puJP*lpI1W~8bY%zXZ*&n{yRu0OIkP@Wl3o>n+89P2Ox@|M3Liv#8D0_CNPgK~lL zb^&jjFen!&4-q&9SR7;ol!u5<6lS0WG}ztM4}&KP1Il9t%991WKzYnSc?IUcFc)mE zw5zWJoOU8$0@WI+@9GZ$lRnrN1IEnmTFFGmWe~FWW%Q`m!T3iiL*}sWIXTIkvVfX5QRTphtuspBnKZAH ztEGk~-XY6yEbGPRKYuvG0{xT0>Wg71793qTVtLopWS^l?u| zsMy6@Xu@?XpI0A$wS%0B1uw+1qAw|`FUn~5jjNT;r6hbiSc5)g2%50Nr{~{M&o56d zNGcMkE{uM%7@Z@0?O~QTPE=Ljn2BtnnM`eC%4bxqmu+Ti_LZLiZgPpSz`;?uAVs9; zJW*Sr_9LlFjEUFsK|qF@>w$4KnzOYi#Ia7-f;Wq_ZWo&KwRRear%C#nG|8jhP)mluNT+deK_0$C@wKw*P)`L0FDP;Z;U1ND#p)ZcB>%!-5FtU-R;vUF`pCIM_3ftziqqd%dI zIoT4C*>LdA?AN7@kz+rNa5I+G!dZU637<*%B~4nTGLf{Zex(e>Ip}K;1)@MtO5iL8 zLHi&vno-IY1P}}4IJJIQLD*?sq3R6`cd&0aDBO4Nu`U6P4%L36S=&&je9|WcyZs(& zpZHw4i4EfppUapB3J?k0Km2Ggz$9oT9(tto)kSz7)=*s2);H}>Li*xp!muJqE`$Wt zC(t`)Q+$6kyw*smeN@AsuQYHiKJP|^I@(T-{nIlF;DU9b%x;_&h@M`D?jXbhd%aTQ zwMk1jpi@|JTm_96$tqp7|C!a`&zQ5eo)~xo3wVKGOl|GLUF^{1%7~rt{!1>@3&aJo zb5cX+t*m$+SS|e7osV`s{;NzaFzBxB2KndiJzp$vQ{qhorFv1G_1UI3cjM{mZ*+PX zks8Q0-Hqsey8Lu@bEb)4WVGtT4yKk0*oFZ8{K^;?S44@y$t))c?tO<$OV5k%y8I5F z8ed0%EhHu7LrX}W&^tnTb7)D*!x&;zyX1Lnw35qSw}V6m?HgQW#aAY@TI!F>i$tf zQ0A4!a)-=mt<`{^@?Q@Z871iuK^|Su#4M?@!tBUtK~fix%>l|T-LwjoCdb2Ww1dze%T)le8SQXCHWsqpNQ8cNHIOtb#;Gpjx8o; zB}*nQEKsuBj5N49m~JU%Ra^awQ`(KDuYU&8ZcIvH%G5SkP`kFeAQDAnv?nv1>9Nn5w3Lvbok-|B!hUmIN^Ds7#(YCw zH^OXQZ0e7Wn!t(Aw^&cb(V`)k@6?nx?`G4*B^Ff$1YrRai3A;4C^tRkowvPq`tJ8#JM{K{}oo zR9i5G1vnDJAW~Q7A@CB%`jF$tQnYEHM?Lj! z_KW7mcJ8My&jVUN;3237nRNFXf_`rXq>zEoZ0zTy3vMayr?^Z}Lq3E#g$}(> zWv6N~$yV}wAja1YBr_HdoH5e5qu_IgNp4F{k*Alm=&(qECX!c;>e*%3mKOu2t_n?UelW1rw;qwgi5jG{a8-GlFo=*mm;)y|1&AoXxaC9w`pcbrN$G@o#{oIH4O-C7s-SXDtQnGYY9#`DyEad4ve zJwVO%{oV96EagxnJc9>M-e!6H;l5B!u)K};;tnJo@VDjA==PkD!_pVC{`rB%HKA+F zabUUY-~NQ!waql>9vux(%Fei6GjaZF3~@g{kz_+4n8F2M3xfhhB1lhJ0-$xGMc8Iq zIrED*HOsd|QHSzEhy=;QQW$K1h_5d$hu+$knjv+K%f-^96~@iNnutSgJ)oT=zsTF*|?sEOym8VTX>MhYQ5jk5nUe@;fvNU%R7J0qk2C}PUy3p5Ozj*I= ze|PHpwse%UNp$gJ#krTx&rtzoJ?M`i=cU@SiIyCEpy$U8-F2Jc&3I+QfLLO$8atB8 z$qQz?N}335l}1ks+UL~K`wO#?$8B-pB(T(2QgApYX1iZg4(*=xa(~StN#~zE`I^Jc z-miK{u$F~7@xuJ-ZXPeLZwoIg;rX3WlIfxyhnXa%vW$CS>x{m-TWu>Hi~V~$zNV{S zmNpl{E;q9UyNyXzgim$RFc)^zi2ZCe*_~dji)(zY7y5=<3JRYzrR*orty+ZFS6?5` z*T&s2B(``YlR8#5gwE|QeEHNWHY)NjmsXlm7jRTYe|B^8gyko`hl&Z4NIo#3WiE{P z86@bz;OXPkm4m=@xlD#TkypcB_YTt$Pp%_9V~6P?>T;}iZB;fnmP!1rv!f-OF4YHN z{wdFY0lnOofx8QT%Zd{$3a`?(WO1Ia%tY?}uo$U;6?j%ofS5gg^Io|BDaF3p9>)ZrGdHx#J|-r&Kk*{XmQ#6udSXxU zRWllWF+cplSmZZA;hOqKakwmzo94~q_e!FEj_EVFTLDtJ^g+Tdr9FMudeWy0o_xYP;fMq8Mc9QEdADPyU31s z7Iy^daEFlEi*PbEQhG=}b_zYFCUOhYE2;}d25l`V@-pN-*R6nTqy1LJ;Z16LrX?@V zxpO*Bt+Ip^xhi_GTPl~A!r7BLKR~+runP7WMho<@xR`sze74DAbP*m+G+$?GClM6v z(Di2em1>UTokMR&P4S(%PMD!#YyqxpUs}OFPQ8(~G-GpZ02`#`D`ab~=%2ak;~eL* zhcdpLkSuzGsnlp&rPtNP>(%zMH-775F}U_6D_FQ8?)Q9Q^Yvp8&*RDqs4k$*x+m}G z)5T=q4=4K*1!H*G*r0e_YX$NwxR=r|4qj`OHO}jdQuh&bE!${m7+a zL*#Zmn5Z+u-yNMa!jmp}Sl^=YR^c+uedmP?ju3crw@o&riFqDl6PZ80KJIReh8~Vv zr|xXtw}su`&#pz2a2rIP`7qw+--cTGX&G%XLQ8!O*MEI=V{Z~SuWZ`>v)^hybvtIG zKV+5MrtZq`rs}Vj!pH$r(Uw{Ea#z?$3ho)_(3`Rw9&T; zqGlD=tBH}je((H4kA7P9Erh51R>5l;)B85-5(HxI%Y;&ONWIt7MQn(9r%p8KcjQnc z;^+fdo#G1ETNghlE0MRnDNvV#O9qiS3FBLX_u;Ecak{8t{9vm1;m{^eHs`#p0-*hz z>iE7F4)Jo1Pslvr@NJ!ChC5Ugjed#DY#?(!aJMBXjBu*n z`udBCL#lfMjaCOD=gTi!zM-5=QRq-t29pr%;ZE=k5ToeXvI1FpE zs|_$K%Gk=9cnh8QHq??&B{z@C$u-? zqN`sK>cgoH`}qI;uv9%<3)n!DF&8p>!pddc|TrEqb_z_ z8ZWdA3OAB2c(n8ftX%M~S-M_wQ`meSzZ|6eEnBv<_XLeC5Snru(O60r;7jbipLU%F@<CBj3oi^3tHr*?VK67S6z{#a_axq^=!7M}6(IbM1R|JTKz4v^{57RBg!UbGGr ztoG^Imro6?`2)tu@GOT=$~&kdbgJKV9+~b|E7nk3*w2%dp9=@ME&WmH>kKK(#!vZs^j=C!L@Ac|2NZm zhxTVD0vW7*4_}Eynh-<<{R7B;D7h3WRmT3n2!Zk@om!3*8tD}BXp`R;yhRs+@q3K{ z3iRo(g$Jvja)f3JCg-@XW#_+}WHb_`SC!fw%z@?(BI4B@+8aX1C^BW;G9tK$TH(0n zbZ=`~t9U%hp&#E1yq0W7dF#JCU{HK8xWzY(;(DU^I9Q=f|*rX>>s*=GSI(mY)ov7?>@DR9IK7J@*Vu)L4B{5y~LxxFakK`DK?LmeD3&OhjnJ*pF&4M3${FV%ELoy%Q|L z={@p8kM%h7CwgU=+EdQ9;ijm+qe`hi?l0!`eZze7p4UVAs>p}dmTfSsU5a7L>q>hV zZ#+oHO4i?!Ri}g|J6$QGCRYOvzffV&k}^SWB;-#@OWw|zJB;j!&!S0a!iaj$Q!VSS zwWt>W&2wDr5$d#V21U+WP$54jQv;sf!-Ex+x4EqY`fZ@@d2<6Rpk9K~^=upt{TmB2 zR+dpwnas}vbT_=&;MA149VWy^dq4f4-Sf>;-omgcS4H7_mnF`i3j5f)TgZlMsebmM znVE*u(<&3(74Tp~6VfU9I7}FZsJ@abaNw%*L0M|>09S*kJbts3&}&yW%XpG*fEt*H zTnL>w*&s2D8O>BG8Fy-rV!jxu*p+?!P>s~|8r_}A@Z>%ZX2nl~%?vaFSc<`BZ4(UL z6ywvcu87vCS2Y-+GhUV#yLdY!lCm| zM)q3`h4GyAW-Ba?(VZ}P7n28R_R8#I+t707ypokA=a^E=2O2l-V9t`fPWW)&>f(Vk zF&P-$lh%T0O4(=NZZeKOb2vde{DGxLKEYLQA=u_0MQbj|ei~;9MH9w3SIw>2S?V&0 zUxGqbgc;;&>s(rnfP%k52 z(n-4?F-h&HqSYJ9TOm}qO zTwf7BIT|pE7CH}=7~)qgyLqSb$PRS`=aF7R3FKdj@6*Njy;Ww!`$fGN$*H&Pq3y9# zvdgv)F!UQH$~2^PP&BncEuEtXI_zV)hxB|iFV=Wz#^o9;Ynq%DtL^=5o2%$NGiCd9 zYvk0SN%G{ovJtxw_IllGf2c88hpxFJF>+$sw1Qc-Q9t(i&0*1cNWs=q!QCgcQN8}7 z%wR8ApS0Gv&?Vd%diAB92Zlg#T%~oTe_xYSQM4=Hh5FLc_0$XUQSP-3+I4-F=-UT* zHut-(G3BLzD;IJL?8F=Ef#Eu9o*UBdTO;g`{R*-L@YXB()8+vyWc5Z3EF4As0StG~ zCx#NfpJL2+Zd*yJ&ML~5=2kY6e727oj*N zb;irf-M(}ztub)j*nzk+x7^)cwqD)`gAWbBl1Jgi>j?N^4p5HD+3WG#8-8T5ZM|JF zZf$}+gO#SgkI$Gl+C^x~uB?v`^2%PD1(2Q{7T5I0hs5s|Nd~uki7<1MIz_6_H%$}- zs2(^7!!ixoqx1`@cZ?nGJY!?@Iz_BU#k>dmpFm-~+j6Xo&hiz=aWpUSFVN{%rYM!} zDr1tF*IQA@+}5wl!YNJx)TO>Ne%%i|w^=xMkY?ebLg@t0U_bn)!K!~!+uOL^%=*40 zeDS}1b3SHvyQer6)R%cWM8Al2{njN;x+8SvAQg1!qq!&dXUmjde*QuHkMMIZ8a6D% zN0s4&4~29tvP%jcz8bZu#&K;TbQU*=mbh;-s7Vgm(~eNhml)!Z{#pKI;904Zukl%L4| zA-~F}%;EKI9r?1XtzLi3^Ua;=yIUg}y_SSZNmF9u6GE%HO8Rp{arvf)V(M`3Zv{D8 zwJ?4!G2Si$*_3u`-p=vP0e)FFl^+;3a+LHiqczz)MU-%u#oA_c_6$0aal2=cbvnQc zw082nQ}lsZm5oxv9y-!;D&NHDq~|<+Y&F{$U3;zrCY?mz1q5MTPR2I z*r{mZHg1|sm>=BXk*l)fYpp%t1zzQD8Bx9l&%Xnm=Kqkef@)glzz2m;5#nGGvq?V7 zqJMO?p{^XGLky%<(SIte4Q>otxc|jC_-Y?m7zbFFMkF5_;=6A3@|6zs5}DDe2i#f% z_Genyzo$^Tly#@B_;2=Oe&VqBAib6z3+ujUEp@lK6q5&G6b)AtvBI=sIKe>-=COsK zyY`Aj@|=>kT+-AG%5j)s3wf17WS$N*NfyQW#;5kt<9)VPN)D9de4W|EU6EjqAhydx z0q!Yj28#dmTytMkme<%~+u*x;IRm?6mM{^Stric=)kG0cpce!13gIQeOgmCMA7)zc z=ZU%0CUIGN$OOaaB*eit%paZIDmunA+$5h?xeT!(XSvU#G+WE=~uI{~w(W z9Dkh-*W?i6f1M70oeqDU4u72vf1M70oeuwpIUP87|3@;2|Ao_mmxud*b~@;OP9$n_ zFjZTh`25-pj!rx|&i%;tfL z&rg)P_BD^ykFn!(10RL0S8u8we|K4zr@uBoUi)Pp*{I+0j*Pj+d^&nYvSA$Dg3;9j zzr87`S! z`k!(Z(BAfa2Dxb-JP1xP8}szc%0}uGbWr$HmtKdsi}T4RWEYjyXA?AIV-ulHL@Rub z=t%YE*Ui7MIT*@-^avVzQ>m-3HXBY3Lmo@7Mzn?XJ`-TgHH=o2PE(L@nSHOdj^{XiQ{0RqotIt1E5bhE~Z(JPk;o5k=*9 z4ukaZux=IV@;l4&JL?EK*=UdXi>{s~BJ(>Vi8^OK9A}o;{#n)n&a8^4Sv4m=~Aj*GWm3>!sp6q0G>hNowTB zrSAs9nH)D}2Zpb8b)oOh$_+&Lt!Ss1dI`;OkP((8dIDXir*d@%JnYr3HcPj9)cS+U zj4Fz>Pw~brCyP_OOuakII0O#M1L3mgE_3U8fnq3Jw#sF$6F#wXhPJu;6fX>juWC#5 zAk1UR0~si8isAqbezJgCbGJlsFa-_+L*aA@_eF6y1rGBA0k^|tt{l)!0-!1bMWCDO z2cZLic;o)yJ~jT&A<$H!H^^4$GWRpkQ;Gwzj+#KTrTf1|xOlH>G>6HHaAR9O!*cZJ38fOQ>bu3)w-UA=l0jL^45ufSWu58 zP=o=&7H#!xhI+8@0BX@D;Cc|i{lfx+tpZdm0o?XbI56&h4=SJr2Eu`-E)Bl+3gG4g zswz;#Cq{Beg9Fc88b~7&BLRaXL%udh;}pO(g#m?X^#&Od@At4+xw9|;wUME4y=-Ga zhD!g}W!+X@3&0%@$1UJPHy)Vm!=1~+E!YHn4Fb4lEFj6UtsZk=06-uM2=;ppfdK%q zE111BxB&(L#I8UCDB=@G0kJa%hJ}Pk90kOV73ta_3Q&RAu>$iOFeHuwhQ&(f&O(h0 z8USL)YT?c@0i0VG3b!LL7UVF0X`q8CfQtjvN;s4NV*bDGxf3+vKX>do&kt{&t3nK+ zXLp+Qx8s&t*4o+8w8TnY=wRuCc1ndj8H7w~mb0c(#GKjO4d&0ko0Y}rKx2BciyQ$K zU21BYlrO$Z34_UOzssuswYxk=t0j{+nIg|Cg!$cHaGR*`@6#1zJB1+14%l6b3G9B1 zW0PJXL;&ypS}Ocu%<+T#t7HG~-^|U_<2votd}6Aq=e&^YBQ?`WG)C}6^}0?~;0`o( z%Xm2|=nT&+E2)w&WUc_xMocUt{P+A67y(+BUDheV^z7`<*4UEQuH)D>E4%)ob?~;A zOi4m3H?*Fe)ZEmQZp!6>Lm4dTvg;|KszdD4KX!wi7nfP$6HXf$AkNYPv$6($v%XaK zcqa7aem6Hlm2*8NG1YVYG!FJwz>Y%o?qnk%-zPmTBg196Ud_*9SLtWKohBRP;4W3;%u$nex07x`vyvsg=Pn6c7NJ4xcC;RG-HwzsTOg@Z~U)6pqk1;$8* zfwU<9nlTTCTx~{_dy%2zME1HD+o^&uj6wH$rE_DlbF2cs6MoV+p84Eb0~MIWsuNTlb*F;A0~o!4jGcYbpD*QGToi?=t&<$XusP*WnW%c z{>L(b%M5;QJOj!CQPUQr@Um2|Ki`<-=^gvC_laR%0g*&qb8dTk<3PeyHyLd+nL^Z@ znd(GR0!uM)dUF>f2In zv8!QopsUXHv-!zBa$%+#gUz}@>A6OA?kQhfZA6A4pL{VlXj`82{e`B8!TlFfxlH0L z(`y64>V0P)3v?@TkpVQtwEQdBUw$PkSYPdT^0FXwKjelYe9h&GH2j9Dxm@iZ!I!@*J9yw3y;f za#D}Y0#h0qH6sINHM608(e}mX7URg?1opcXT4+XrNHknQYf4jS(Oe8{X-nx}6iVI2 zN3Wd?UNf$)!wVtmg5kQv>s(wW=xM3r*}4gowx(jvmSluF60EV|@&Xy{|NX z&nTV-E2w))F1=HaNL5*|7!iWKX`3ez$73_lCLkDCG@N@}!?l*dB z7!Lo6oP6=Jh7pisu5hq6OG;1?j;a;7d$O~=tTYHx2qg7H?#+=d`N@`VPMpg^UkLa2y*L_Bjk_|ul)!`60!0+X2@_`=W`{w&o zY^d9kP(?YN!$zF#_CM!UKHo|W2)FhiO~w|c8-w!j6%MiM`=X5eg%u)jZ>!6td=R9J zVl(?Y$O56sZR2mh8Y728mpc^Owm6C8c})@Ja}YM#@{d9D&Q~jL_o3C+)pPSb&To%b_^MgrzYnXXN)}jPamFnk{HfG{zw@WUh+MmA&`!w z_)g$x_+8j=D-IbWf=7{&(3CVzH5!C}FA)Mt)4sxUvO)X=1kD{q7brN)8?jhg-SO34 zbX(0C2qf^#gVcc_6Z6{w-vya!L3lDd0i8=(8W!4rtnr#f4Be(>u=r7V(TV}}&{aqX z`hwzaUk_}tr1dp%AoS|84GYEgr5HJc6~K>#L0O8Ej>_r$yC0KhSzxi6{j*r{y@p^Q z+00$fSqE`aWOcx3UU{&XjzN7GLSue(6DF1}kaNbKki z>|UJcR5dI2tLGa1EXeePSjFEk&!6z?z^WnzWQ*uFzJe)lUA!_^eP4MApNzr3THD5@p=Gv)5$Z}) z8$^TWkO>vh8PD+ZojILA4q+W<*x?&Lu3}eLYe#it_b}Hg#1!rHWVF8Nr=K_C{PVlz zIT|yXP^oeLz_&*#sUo|{u#jS8eovSf(Vk8)$ zN6UkM4r9dL$Z#KOb~uPddKG{Z$HAfu=3 z&C%}fs@$F`ic_Z$I`u0@;Uy$lgz6OfZJ)f0Z|To(ZZ0<=TpF5-%aRbsZW8oM)d1Zd zZJN}~)F!vK*-`HMi^=u&jkONmt`!se>$@A<`+ZZt7hk}W@Up$je3=(zjj)WH?AIcY zmL#Z*D^SHTX;sKTd$!yAcqWb*yNgI{tJGk9ab7iXK2cQ#Tl-VVWx+&{pJ>=*>*%Rv z^zOx$QiB$%aj&&&t%GPdmAy}BW9?SDlGE_5qUEm0?2SDRZM`g2+<`<=8}7nvl&IZG z_Xr1yw&BKEkJTZOUkAx>O6}}(2Fl|q^Qi05`=E&~qN8jk48@Jk zxAsn;vZ%D=e&hK%49)6iKp98bng;Q?p!K@6P**pFG~-6tY*`ZyxHm8ARzPMr8=0-s z*Mo2OX0-yGW7pNzwxN$4{hc%MZTaBkbyiy9YE4(Sku`C7vvG9wfFDWT{+_lFD{#k} z{7-bdBtO>-((cJk>(Q5-Dum1OB^CO&8wHZ~Yt)sj0eD?3N&_WX!7MT^*Dib|@Dn}^f=QPCsRI&F0@&7Z5^Cl`h5&4Z!J#Av2IvXgs9 z(E~ECSLA^qQm?IdT@SDQejN`lk;3f{3a@X%Q8C&%3)fW7paUEn3cYVlOXZB8iA5;R zGwQ%8Oe?74OjZ^~Zh4Pv{ zY3sm$E2Td(eS$L+6oRu^!TIyFcV_#wR7Fe31zGULmv*uD{f~0zz5ZKJRTu7=y+;L@ z=+5mTl$s)hQoHgr?nPQKF(||*)xjK+&+Pohr!vnViRMH`)v;*%#@?dU@+3KOL)lV%lOV;k|9fVj^8e0Fc_vPo1lXtb6HMB?)T_M_&VfWz6i=sXa}QR zX{3Q&!)s@^IB&{k6jtYPE#HH>CK>Xs;tL4L<)5y0FCC&;c>g%Qy}mlSxp4Dn1*A@A z-iABsee-TzLZ%OFa{PI{8T;YM)6J_AVM*vdSgKdB7sVKDEV+|s6#xaQ(TCo#ADhttuc z+tJLI^Q}KmuXo$C&W#%Z*~@%;><4d`CPh=p?5)J3*w2|`$6I^uC3a@te!Xq=H!*j5 zT&>{v`Ci2a8BX?^%_ksv<=_NvzQ=6|CvH3-VI7)f{pz)GV|VYyeeX6~Re8PH+S*2h zM1{Tn4pAy@eo$=q!YxPAIFrr{^V?KGgw0-0Ck^HcNgtPcQ->jbpl&@k;M0Q3$M=>V zsPMTH;9!!RCmU7&5)^kwgt{r-=5D;Fa#q(;-D`hlcX4;1aWQzZ@d0;KhS40aD~rV{ zy5H>n+2=g?SMFA0_lF5|8@9DG+kiilZ1)%IF-?UfiXH_fP~t#prjgdVI+$s$^*wTgn(`uWXNT9EB{G zJhY~8c;tc%3Pbju>|Q7*7P=eN#!Dif#x^==@mS3qej?o2s8Y3*uk;+ z4*Z%CHsTdnj4#&)gHT&LLP2%`mf6&kR~%BN6g}Sf+WTOk!6!vYrKDrsqGyPegSh0)^30G_JYDs)O-7Z= zrw`mz59P)!OR{v{7FdPsZ@Ww~n}$$!?iIY7qjWJYth9SsHqexD;7=aI*gfqt$QI<$ zm+>=wKmHk$rrvioWsgOJel+DoMIs1>9@qbh9ARm5+NdY9=^@tk?&|uufDE;`b>Mo1kki>q2Spn{B=} z^=YhC5W=%tPUZQ>x2H+Rr>8O6CZUu%pJ1_Y0UmX0_#0C`*{vFoe3eOEmPq3q(lZEp z^dJaFeV`aK$=C>l$K%bAnaB9)E#ad#<+l;AeIpvGWj|;}We!cbK#?dw`PU|G)qrSH zsxxo!mS#Y8EOT!GCSK9^C7v5|vqFLs+@A{xHby2Ux%hBo-qWOmh`++CNR6$g zGDo42;#CC35dP^2g6(6hr`!}SbCdE3s#I`M=w_(cCI?puRND7_R2C8U@9=l2HJ#Tf zAiQKsZgVD=Zm%Rtx~5cVWGHL#SXzZ>166vtWm$?vy9aTXSj#fMDo@(oREl8aa?KY16-4<^i~<3r6?@zk!1|z7x@Y49ij*y+1VVdrA^V z{f7T7Y6_@#QUS}*QZkly9N7?_lRA14)iF&1S+JDxtptigBu)@Fr|b3PXm7m#W7MSG z(Z(ALigs!Ef5I|yvi?_I)U&d(bNo*)>a#U;V+*)2&)BR+%My@SaTUmQXqGB@*XVSKk1FBT&}QfB1(vF(@KtVJUHQb z!+(PeBp1E?g%%3E7Z62d8qZ%ZJQOsz*|mwOctgl?gW~(jn+x3m67nUdg(+={Ln9oq zyXpw2kc#r#Gzforn^P`UjThT7YayxZLkWXih&P~dJ4+5{%`}7aLUOe$iq#BmIkB;x z;s46cokYo1-lT2`Cv0CiJIh3*!_0vu2snK~j@b-)R1c}bG-!qTQGmNL?N!q3b zTj%{*1}18%xsHhX((A<4E7FDTdY`i@Bxp@zX4AfBQoqQ{8SjnV)DWx{)P*XNVNZzt zd+gfz)Fo&?@;>fgBFKcyKkw*6ivCJ%E8Iz^Huy*|D$VoT7mxUwqB*a^w zuc%!SJM7WHSoeKG{d%r<^3d>6i~B-DCcIk~f2MRIVdtrKqw-#>L+BSC?g1wJ!a?m~ zs+L;C{&V{xCGY%1SE5RWS)?x!hH7uxF{E{q@|=uMi7)dE(%sCJ&mXLD{7KLEl}j{! zPb@!;`d*RuOPN4LFPOF_=<5k!^G4Kk2BK>_z2kCiw{tqg%bbyqc}&NYUE{VoDrp{3 zG8lLD^4}I*?tbWv^L{3+6{+)!e#e*P3bTwwH6!zC5!xxG5M@j0cgsR`Aiw>P!j&A! zMI=q*nY%<1ZDEwu(7>j=^IfHlj6+7e-{CVq1zKLy7sp>Ds1@@OE{U@@o6$CRp1>+zP&G`u@FlA8z~eD3Z$T;0ut!(3mabAr zsZNqZ=u~5kfOLIE6#)S@CXjc7x`**rrNs*wxc!tqXZs=spDYx&0Gxu&J_WA2%q&PNv@#evSb#1v(@BcIWxAlsZPkC)OPq2dWWb zX|CzFe!_-faKW7}Z1WVMDk`9OR}~Jf9qx!}Es++p{_yQ~+`I8I0Hc{#C2Uh!H1?`A z33qT6f*LALOm*#DPg_bb%3-XZw<78?kE7yLg*Rg4){ung$_*WTr9A_orW(!<4YDvY z>M;n<6j<+cc5cci7hU4SC&jF45V5VEIPb&WPEQdOJhi;tnM;S_y0H%m4IR zcTM+SndVKCH})CdHj{GH>8zrjd1*Xq8KpYaWf5)m@_%8c^0&!l;)H`|mi$OKS_woZ z6TmmN%1aTd=vT-n_|dk`e%oL zyl_;OdGt@7`G?i3aRlFWSpE>3;)Nyp-`*Ihy~8GrBoD9>s(lIwpDiu5(QY3c91R4g zmQ&Lq=SG(aqUEWX81{OsdR-r8pt*?KU5Pqa^f@cbZ+DiLixn4`dK)83GmnPL{VZJ zyJ1yPh(5FBQ*LU9{B2twg2Xm>qfhvm5q)s@y?*k9R;6CPX6N)~bFT(4(w*W>^0Wj788{QNl2N2%>9L!$k zx&g!a2g3$H@qd78-?V>Y*Z^>?2cXqR*SR1-6$OB603aU(fNLc{rFWl_`ZsVbWC5_( zFrcUJTcSCk9#fORxpjeXF90Jh47vug&I=sk0JQ)k?u)lC+EwgsKXYrf;5q)g+4}X0tk*joRPz_+yu4!;Vb3hRQqd)cr^#ItkJ)nN<3F-m(V?ku*?kvy%Q=PljgBs?+A`Ym zYa@ds0X%#fz^Aog{>5P*0(dwdpaOXKKOFW8KxYGZ_#r@N101$7fQRD(YEa<6Ic$K= zE&x;j5C4b52JmoW01uZ3i0gkiY+#=9fC>a}r+ll22Xt+a1tTFV94ITkl*;;vb_6^S0L_6MKAP7f8-tXr>F> zI^LAAq|dg~=9PqsKplzL>(ES5v0`UsVyMiYQFATmj`|Jz3r7_CY`!qO-}EeH*$jfT zFeq1xPQY6FInZ8}HgaTYoOcQKG~ms|ixLwKMAK)D8p?}#mUQnZ_VE`6#eR0T7=lhjTi4Q15P8zWO?7iV+@CTxSh&@Gy@BDB&n+ZRExTl3>YZH z_vLa2vR)?~D4;ZRYOzROdOUpz>dTt(W`_rB$Qwp#{q~&F@CqicmokqQ*+KZsz7X;A zkg`1AG#&-x_%x8^9x53`)2YpicM`4C{e9?tweAS~J+n*5Z< zxQsGN+46_K4~Uadn?Fc7+_d8pFOm?>-naU!@!g};(rkYel$&6B84*Y|sBjtiBJWrU zn#qidy6H<90=@@wE>&chsE1#ia_Dg)bD~D*vqu}o)5CRKf2=ufE+?HIaDt%c!Pi_D zpDUpQ!$}w^kb*<;_L5XnkkJbWD^HX*dV33Y704Pyw%Zco-mNm8=Yz-w=`>_@3fz1C zjA)T?&@JVGvy$o3-Qd43rX0Y0Q53HqdrVq0EIi;tZ-d>4f)`roT>CjZs`HlbZ_zk73-0TC~q(#bD=_iJW;!=Nsk`h76`KP?@Wp4L?aE z#V>e?8A)1Og=;BatHhcJ$9m?&a(MvK_`KkLQcnZ=La?$RL`B(LCFK{ziZxN4#>@TWX&85-nQ2M-F%J`s zMp{*R0y_FxrclK->AB@v0&)kesKEUJ3r~FoM9=g$)UlX zRrj^g1@drVO7G3!*-^#tyzeZXc)l!Cr+mgJeT{3lM3S5a|Ff!|%Omg|(!#vT1BhTJ znfAPc3vMrU9Nw`jmheQ4e4!VcGi+$Y&F)iEZ7oHi7=!0JujC!ebZMJ7WwAq-6uyfn z=8Ix652JF$6(uA<>|=9v{Q`BGf|Y<~=f9RglV5<$B7m2161NI}=^IQM%z||S+pI2u ztr4+^X6uiTWVAaFS3aUc%31+6$k-y!r`YwKaek8}f|Op$TCo15VxKha78KCfWqWHN zPuwLniuiT^a@SzBe7>|co+>>qT>qu=BE5yV<|Zh2_+ zxtpysi4nl{5~#G_bk?5H`*axu?6Vl4h!g#xjc##s*?492>^@s8n=V-{)`IsUYCR;h zklZx|zjQ+xN43_CHQ>3PF}B?m>JB#=^Xnh>w6@AqN$<)QD_@A(XlpJJCz4iTDmt?@ zzq}xE2sGZ)D$Kg3XNJOC^n5I4IsjRM`(h}mMRn+M55N2heFMIx)}$VOl+f0UM%Mhm z0Q?8)V55{@l2gV@lZWHMlj7q=_mJt$J_q*UR)ldZ;dnLV=yl(@z7mi6e(S2Z)GF~{ zkgBxrM$#}7%x{AUK3)q7(ssA6sgj6tY_62@0ZE-Rc4L*ug~KC!k@3+65A}>Dqc2R| z$rJTac{qHvCbd*Bg~U*YTG--jwe#_1$8_H~?rRn8LSxaRa= zkumfbAsmm>383_Itf(r7^Z0_!2~_Q*$BNV22T8}B*AvpFi@~JcrYnTxtZV$mrilRR zssl`Bbq<)!jvGGD#4s5;yCwAns~IY=l=f4PQF(YQS}y^hmfa)PA;-Y#7(IvNY3oq% z6VDOhd`2p&L!sy|w%Fnj@VS+ST=P(gi{P;rPfF@ZWKGj`t zUoamq9kx#u$!XWhPOxV9ccFlk_}`_OVlappu%@N1(fP%V z#IlFIcy=>b_~QnP7Ex9QfGog-g05W;SuTxu$+Bk{IuxK+w; z?>1xe4pkyjhj9+Q@~Y@#?EU!f*X0^@K~|?u)kSigV;32?RKP_3E&a*` zTQ-u0N$apj<9x^u(&lREV<>4U8?4PS_9)>K2ll32!F_=*d*i7=%lmN|7DNBOP7X2> zI&%>6O8=Tktvz|?9+h~O1!}_>g{3a)C{=L1#tF9E+JV~oEH9n@^w}2t@6bwpda_b4 zjv7UD7s`TBDbw?NJ7|k(%x4pHay>YS8fic_c8^w#W@0tN;Y#dtp`l5UhCf-CXNVJD zW8HBwH9V2iadR;82(CUK?c0|A<$|(V{*yQ^O+!|RAsY4fGEGECd@+G5hZ(dPEX6gxk+o zmCvEQE;+I*2M+sw*Kxovq{l~L6Aa1+`ad_wLcesry-8#j_E)k*0a@&U)Zgc)$9pd; z*Qw9X8qe1&ks58OIBsoa%pcz%?ItIWqHQyWyH?-J&q}rWgORS=_jjRuvO3!qKT%#v zm$h$2$t|3YzuZ2q^^f0*sPJgmv=tthQB-Wcq?VmzbSy{L|AhKpG56wo@A-WVNq@7+ z)Qy`Wdj2XY@j!M+V#x$?fo zP&j=lwI;Ob@iKA)e`D`0gX##kb=^P+ z7Mu{=ouI)c&cq#p1`qD;?vUV4aCf)h?(XjH9^7tct#$5Rb?@G{&W}^KYVXRw?tXiG zJ$iJfnd$NL`#tFsP=DFWn_6-Qd;2lS4m{o*jf8kX6j9;h8egQ$o`3(H?a_Sq4rHo` z(%Sl918(!2*Ic`{P0RlD>d$e^c0bz}5~D)->UsGXvzFp+cNr7at(6vKHNy3ZCw*cE zH#vK3{;D!@YGaZ5DWbxD@nvIsOm%B*w{0!LIz}j`z_)DF@pnx=#-!n)h*Kc!-M(o|2ix=9rWUK`yvi$fM zU*;Q$We;Tfd#*L%-~Qk(w_F$5)-_2<)Nq=5zV3;*ZGvk|_k5iBy}Rq^D~?2)j)_sk z3O5i0qmEW8@oP->A-Ymmi(W1}M#Zn1Yr7`#8QP+CB~=sYW_#nrLuM{!3?k9`%X3KD z4@Qew#p?;ww-JwO>a#|(UW{+w-?ub3bGY$5AMQTTJN+U=MCJappXD<%k-5Bfwu(Gx zbKWI-K+TaP7h-0ZnGf~M;E$uPczh5*@~cs~4u<&%?rletu&@=1n(mBk(~!=uwjrjQ zX3*pcC<%$dk+DZ>H7c{OcUmiZ|IL@gfAeSA`T>~oJz z)kjf1)#;c-_Ra=8s)mCuwqAC%$(F%i$F0bOqkUUPV~!q+RT`de8E%@g7AWanxbb4^ zQtu|N2@R^|*!Lb~Belb48bh;a=>GEyF0otzwP8eU&QCI;fy5#OYX zlq+>pHDt{eTfh;GHMgCv%AQ%$Yo86}kQS9nK&&B2rqLz)QRBp0xokGKHKdn~uFB3e z(K0FA+^dd$#&jYbl8(ir6O}|d;F}`?95i2wWs@VzOy7C<}>1 z3k80H_y7#}j^@hHPd_?snWX_pc8X}Yfj3TU6mp~6^CXm?IgIkUAXZx8H-*@ipbgYK z3naW?JO0{di6AS}_AW%I3;tKNG@1O*Va1|fcfX)^PKPqUzwy-ga)F&(_c_8s#2~)b z9U|PCu8vde<6E34ZzyLWgpgILDCll2dn%!J!+;0G?&^DD9!E1qvp7n_bT4>(Uiy+{ zBo{9aryK28BD*POFu{6IuP&mkbM?Y8b$=JmehZpn=a$^pQFM!1gsM`*`X;f8C$zcF zPAnbSJ>cukoqAf)daOOxj%a46;E@Bmk!5mU;D2KoSn;4qxXF4sJcwg6#>wOWlui#w zr0YmMwnjON5!W zgt#)^nTo-Ye#%F}Ss7`_tU*UCV|dOS&6mxny1NQ1*7IAVV{~>`=SI3n?eiV8D@M$!_}B0_cbK$lhFM^nnV=#z6bT&dpN3NFfpPP977-P z!B-Li?qJv;FOmckW1h~>$RXh-Whd{1t@|fc6}fe;ly@u16`@bTV+f^SP63@zXDKx1 z%`ZwCv6Ph{8pi@*4oEfycT){F5T+^e*29N3Lu}+@?&@QNHpzFD)=HJN&Wh7r^79Md zDLpQpA-=bZ@&qR2m;IRNf?jnoH6zEfl%kDCbxZ=j=M;tzxX7GIs^a~myU_%-)gUXN z8rhyhNc@w-fTcEG#M0V9tiXPd*lU?JVhuMyE0}CdeJb7a?p>E``Wksh#7X-V+CZie z4SljG3^wtn$k%pswDSSOSoisxI->77__3R5GKRX5lkq$U3?jyxn1&fh_zJ?QcGTns zGgFn-2D^yIjZQ`@s+tktfuX`pFn-5s4wVcYewN6K&*{TPOhf#FDlp=ose1B;7$X@K ziWLzdO?X3W{PDZIqB!PY$1s|m-L9hgK;mqrJeBS#YMk2drrw{Hm`vrk&1D!$2iEHk zzk>JT3|acIoM2p3cOA%!!FDz->N$3YD8^^lR(RmyBj|E7)h|_nLrXMibBR$C2VZL< z6AZLes*)5{Dg6;KPP{U!#*e(*x#TwXk2!1S=N){Bpg}}3&d?F<@fz-R^(h|kR^S{e z_=KZR!SNeX2N`^}r^rY5H(SqLzApkXPuA54cb*Mvw6lclLDx5jn}*ADyQGg#70ylA zb7xxGnlH;q(Xwtv&3cPM3e`)j9%=6qz>o24+Q;Dv-(^0Ns%_fVC3T{A^3UL|ZW-d` zpJ$kfFQG}!QdE#PuZYwh7l+)hn8Kqk`X2r)UfEiyPcAQ`ryPetIw>+Bq=+-{Zt7@i z^p9Z*Fjm|*(DX#EQ~0jMbPFkqu?(|--5kiw6#)D0I<>>8Jb#>pWxtHzHfY6@CpR_; zd3b=n&`H6VSm1VzIeVsE3iDgzoC136B&`;iM8V$-@(~pFMT=miZx_oHJ(c8DlM&{q5c}Lvb(3sl9IqWFsJWB+HE= z8(3wuWCnFMBOvCQ!yBVqOcl^&>zj(Zrl4+vM!&r40#O>znsHB&;7WfJ=PVdh5%qnc z{2oQ_fi0vrhD2eKQ^FyELLmCnibxJwj|e#x#XS3ig1@aTG8k6svnmy&+5*uRRcKa0 zy3qndSSD_q@T^6~HH>6f(?D9+A87hijS(nY5)Yr-5gaOpM4g}XqNH)EY|x|_!@LMa zcf4)GONBwudK%w9wC31QecWKqt@anRiDmi)C7}F`9|QaSzRaSb#XB82o>8ixIGan} zBWar*J*(&}q*?v$hW$q)7}9-?U3DI8yeryOeQ_hVdFAtj1BJnthcJ!id!yE8?lLd< zx-=Mxr)19OM@&6>3bX(0aq@37RQ#oJ|GFWo%(1PV;NzvIq^4@WdE+{8|Ch%7OXL2f zasSe|e`(ymH12;F8kg<=>l35@!!$12pC3?vY23dw?q3@BFOB<`#{Em<{-tsMhtarf z?EgD&Tv=J!nEsu{O;xwkXt3#1-KldKVh8O|S`2daUTZ|>*UqVGeZ&*P4puokQbO`6si$wbDN{u63f6 zM=(=$+NQz{Z--jT*17NQA3Nj%8sJ?U2=ArY?UR{+xN7?r*eAEXPpxX;JKvDSnX(lx zFjM<(t(9Gr^a$g~nSNB@vTI3R?A@ZT$i5}Gd?5gqj z`zD_VtCAr>^HaR0w_zvQ4FZP92C6_s;z1N z!w}i7&gzdL^7TIrk*7U&vI?wlem?&(LgR$9_XL{X^7ld zj)!p_R!zc*CF~)(=3$^X?UeH2TJytos>W>`_{*Bfarqg`r$er#(@!l~t>T9d<*6*T z6Qvd*BFi5G8tG_Uj^^02(LmW>K-tltsZyI+Q=w6{fI-#bC=RnGhf%e#an*b|&Lb9i zBh9*5)qGU0BMeic7Ln5u6^$ZP?jwv~BR`Q#^Zi+FT$U^&KY?rW>Hf5^l}4j%kvnrm zs`N0NgKE9Hn}si=o{owI>G-UdM){V{)iEM(PIBb!0b9FgtEIRcP4 z%O}8lO%CHOVZh=z;E2q*FHncnm@xr3B6IHhioj?d&jOCfocmb2Uda0ybvXFHm2C?Dx#9$@l&J$~?tX?7JpOO3Y`;~fBLK|> z7Bl@;fuVye@qdG}{dlSD$6>;d9_C8{FJ$|1(Ey|eARRu(qYOeI**~javi&@P-1$uG z$7O+$Vnkq`r%M5g={8}NYHbo0E`PP1|UJ_Pjsv|IWRf{Tg%5g)>%2RfZ_#a zOmv`p;KTxoCwM#yz_^@PK=A~p_rHB#;lvUNLkj$o>8As%VgaF2IQR%L0x(@U6CI2W zN8f(3aAFw-AO)&s`{|s{b}$y(TTkq-X8}pt6rKiPjo>ngTuX!=cv1EiXazID5snX@Wl4GmZj> ztKO6cHUf$MDIPlK-6i^%$CH=G3h!{>vm@=|!(nZ#h3OwxwNwySQzlOd7v(yzA;0dCUO#YSq&oilMQ1)jZ%Z{HU28qOL`g-Yc zO)vfwiw0h^xOCx2QJx-)9BP(gWeujJql6_|Z{i5Xpm46`hv8VZ3|?H48Z#~=bG8{v zdIQ5Z%!mRbwwpG>wPXIJ0_w4Wx@_CH=P)k`PfS@H&K$%PL5z8Y#z8fGxC*Q(LELv4 z4uHE_58DZl(=0x)%Zz!`87%JjzS_xZ&j`ml0_FxXo8ESrhC4HysFb6W!9FEsy)3r37jcD|bCiAkKe9aesj4^j?Nf3ek z@r_CnyNz@8;mswfbS4(zXjmr;ZuOF&wIz1aey2!p9_-0;`TSvWb;XImg+BV9rxaTa zzVuh0KI)p@uU;1)gax6n6xn-x5my}Mo~vk`(YwM2@z3awDxcMhc&4go z_l%Kasl_#k5(^(14APEMJ~jCJPQE{nw!2uAArZWA^rM&lZb0nzwUZxkwUh3jL}=4KobP#yWFF5orK4YeNO<*YIKz<6304(i=e?BuJUn1T9{c*%39Gp&b`$m2Y?oUP z#4>;3vQ8|83ThnEr-p?C{W3ZFB6}<*bn|7+6Gp4}>(4epF3g+9eezKfLH{@!zQ}hA zLBF59oigU$E6x0jn}`+all=BI5P|H13IxHp5ND#WI`9fr=H8OZ`gR;Y-fcktd=pKq zD`>m8HxXEK<|;6r?;V{mL5rOXWJ}RUI!1$G@t!VE@dP; zF&wa=ln6B!p3ydWKWcFh(7mmbAcCy>LA9M?&Tz*$&p0wFJa}^DkdsT@gYEJd{0j>> z09tGylitbz1?zja$yuMi5evbj+&C;Om!OvC@nQkqQJUWKiYI1-;&~ayP`B+m&YNgWklJS6RU}5k_C?GrEcpaEFB%tHxhF`2{c(CFSdq zEg#x=%%bry5YdbwBiU}u^sr%KpIB>2TEJ1J(YIshp`)R~Mdz}W5MOTZNDUa6y2T?+ zM%P$(R7{ZgRI^;G=j6kZD||*@bkWK(uGZ${|2$0c6~3y8jJYzIygGLgOgCgJ!=q32 z=VoqfGDv&*b2A4`V*lRG_#LR9cX%0p1<@&IN6vih2rEVS-DsIO`rrU;ldMnS*Z`bM zQ?Y^S=!Fp?_gJAI8M9JC-7u=Z9eKi?JZE?A^B0GuQ}4v0A@$MsY@?<`l*o@8+X}Lv zBfNODghjnSB)&a5f2|(=WzhZ-cSdG>H zI~E0qCH_Y&!bQG5Yvk6X4qu7}LkGL1ltGJ-BFR5+SPe6wX%Z2xlsS3z&L8#q3FDT; zaBw9ib&URaK_CU&AM!pcogKYX=*1u5CQI$m6HqviZ1T3za=H0V_thBUkRmnyHI8F7 zP*ko0ps0oQimn2m6&##~fFV?XA##}|axzyVhZQwfKlc%j#%W|J8U@7~gYiikg#LjB zHyqmzm=`*#3{|Bl*c94-|HswiKvKOw-ys65>wd6I6G#8!YGi(|#%V`!7)Pd@ll(Z^ zJy-AF9R*z|LJ)dSwkOA4xH^bb2-ZhHSnz`#NRp_Jv}U54l)3hi zUBK0LV5l;XYSrJ6NjXvvb#Y&d6eC}9cfZpzTB>^#L(I`MfrV-agdH^h82zIt1~&)P z#rGKY}}+gxbm)lh!2G^2MTFq@^Dg?ho@{qidSepF3V1ZWz9vyS6nnxwd#XIJB*JIJ~IbK|g<3-|t9# z8rW&)=aGlS)Bl-A9zaO7^RzPKN#sX)Dxp3KVy|m)sb5&uURkwYhBqpIXu0)671;sP84RH&kc@+10jzPZ&I)^_=E zwvc+W*A2s~)6<*Xo6LMgt}dgBQiz@uYhLNA@m2TN)6G`1@p%W7vggN{YlpEg6CC=i z?xvIHE=^ej9{<_`#|px!Zm0B(jiQz=eBXlXaQTetDWY}5$K|Ebt-2R@)npI$MrV{=czkv$#(aeij(X2#-Dg)D z=#(1~f3b2h;91hmn!X%gb-hekGKzYG~$bYk9uT@Fjrj@8D#N@t?SPU^k{!7GZwY zG}aO#cWr&t!Sb}bz0q+RKcig1Bl09<*z36uBK(ya=>BuPC6f}tqv@U1^BV{?W}*m8 zR&3`hIHXT%$D0u;Yjy5oevM4F4t9Kj;c{soInIS_e@%~)l`m~<>>fUMIeKpfX?t)r zH?-h>`{_68RBAX+(>(XtvnIu-cHrSYGkr_BhBO)Ew!+aX2%lDXww|_T#Zbm2d3kQ& zDWeiCJ7wFAal>9ppmReXDle2IydqbOuPoOVNo!sI`mR2G= z(S+*HJa3nD?A)r`+UgHf!ET^!lPk>m7^A=sG`Dq4C)UX$0?)3Sv>XM)L#+p$en~xV*E-6)29qXJl)io}^ph3YmBrH9K z6dyg`YF{J$8n`S?r>~q5Deu&6!BiLI$8qyo^2AzQ(b7J>svvEltA(66`K4jj&53AM z&tlKJ%!|+zg4{L2rYhCg(jaEDTV!VRJ$@=Mb$6(XS2%d1x{l<0CD)oL;3Sw)`{~}L z3!$|DEnF?O5xF^m{_W26(S_=GA9-gw&N8aZIk|^|8gYpZ7p%5t`WT!XO&gJ{iL)y% z7J`-N2?3<*~+ z9NMs|kBZx!DyH2;RN=Z|m+#Wfz!iVRZLzqabE(Ciyb+R_N>{y*{{`8Hbu8%V-LMNt z4t}gg$8})r3ii@jnx43ZIw{ONggD`CS1s6g{{n%4_=%35FH#s3wbj7lzdiTyilZrI z^M{m}w16GdSH(S{vQe0=t(V83`i{(bv9h;e^l?mH=PJ? zKMWpAog)~vTI_Q12v7I@Eql!5<$1Ecb@s$6-95V*B?I$i2;gmPW7?f5_Os)`DI2sD zlUp>jF6Sts&K0N&^yu-8s^at?zR~l}YQ$g~8)FjObYb(-#!)#me=8zJ4NYAJD7arn zO#!xr+y}BwqZfVgauUC`U8e4~^wQrv-QB06;Tij|vTKFxbi5 z4U$h9l4A!_a|?k9#BE$e1^xM*5<0O`^gavjt)F3dIJZzm*YBZUrX^ zCQi$M2yttX57x(Z@k zPmNf%(!v`JZ>?xEl;T?T!O$Et!aTkXeI9BB#3&sTe$>0bg;n^O8IqO?ow;M4CY@+6 zgWy-caxY!9JFc4z()0I<*B=asnmxqU&}%SyH{N4l?!P*fi5+qFA*U}D&!VHLzkPh` zm)+n|iGZ57C)Q+`Agi)gD6{X%u0w?@S6WNqGxp@O;wq1Nb)N<8HWlu%S5OBTh-QIP*`d!OLuewHG_}52YQvY!# zGv73ux%X=Z4%p-hlCztk_6+ulLgVlU&dSA1ITOHiG1Bk+jK0h>U-D*sP?{9BWvtFw z#w#=}=l_Z;8!R-)lX*eAsJW+6Er~S<9b5ZFi3UlHFxXkcL`1Ep9v61&b8K8m;Be25 zPHcD~>9sN?)65*ZsB6V zz_haR2nuXU8!2-G$p`tC%jFj+)dPObSBwddVb1A8v4Hf#AK=!p_}<#nscqfsl59RJHo+JB#28$x!u z+q@A^)#F<$+Y1pl>0u*)FSAaM@YrrBI1pV-VWwzWzG=|IjV8O>0ECh{eAyK4YIv zEDn>5eY8RD5=%kBM9@1Czoc`!mgse(YqZk&Ycsz2fQ?@xQkzU?_$f5(Dg5gc;zqJ8>t?Z!CFSk>&{spJ-xPt!RJj;8XORdSECj zK}7RQ)YjLFNX?{b6D%o4X>Xp{TndgpWzr;nYI=b{-dr2{_zhOQY9TwDSn5B(t+hxT zw&Zx`Z?UECR0SW6V!H-GF6q~K^|lL5IR!rC*fuP#7yIV^Jbljvl-YVM-`Q0!7CzP? zzJNT$7QDQwW9DARg2s|(&NgNRGrH4f4$g3;ZYX{Jv!}^l-WKvoWhjeGm^#=v{x5I) zm$!ARY2dzhWh8JGQAX(H%aT|7%iI3tZU6GNe|g)#yzPG%-j@CUN8XnGFK>HA0x|NJ zxBbi8{^f1|^0t3@+rPZ+|1jQ`{olOw|7(YX&m16*e|zD&k}_mTUWXc3eVV_Yi{IWy zTjhKJwSZ*<3DvJ_4x!rJ!OxkU7?nwCV2`_Z(j{5BKo_y|(5Lzin)XGy>ML#ZGpkGE zUf1uDh3(FiP`(@kUN>eBH@21}UMWKvshvq`$`N;-`yN8`MT*?^>))OaefG=~Pc~Io zYql4Jl%KEG^1WV$hOMd!$CwO}CSIdk#wyrMxfv=7&9-0p>;l}ybUa^fPghpa#ZPga zU1!%9m#2&u6c=8~W>#gb_}1L34%UA)NGC_>u+7~_x|bH{b7jK*!KG7AA4ds#{2 z`Gz}k{I0K5c5s%WAC*A$Px(^3vUsE;eN#`@GY6^6mM>Q)PcG;eUc64rSWuYAQp|+T zbfU!rTia7t0|rQZxXFgPN-agk(M5)2$%KT4>RBqyjt+UT$2I1@hUEH9zO1FRLof~# za=In7O~&tcm|kU)!*Kkm9AbC`RwLjzUS-_B9j;FU20Qhbq*LfFz6ekah1emLNBz$JpOOj1u`XqilvI*$BaIe}6NGO8k>l-Yy&# z0$M%}GCTJt@owVQ*0+A_68~Ze7-^@2LBzZ>LEkzC|=AxoxAK zN5S-q5`YQcu|84}ooBxpkAU>$3pRcEBJ@TKm54|f$|rUjA;+IT5{(}$0Siriz){bS zr-6b*j{<}FtsKVU2BB(+dE9Yq|JDt9BZJ)AFCGO+P2O%CtrKhpfut5`J#zNeA#JR|pg&1@+sW>)PZ3e3 zLvuc`JXFj2S&yT(gGFIs@F9dzkvJhi`?Q^4qZvH=j~f})Z(vddLHj95ext;A_DJg) zcEE1M9Q#-s8G7D+;lS?YyBSxoFsU%0eeO;$<}{u?#74&ZH!zy~pncyYKY9{8d(`!e z5Lg&ZMZ0lwe?NK%JbSo}48YT`5$b;>^czp3f)FA~8v^k+a|T4P03Q^Nx1SU&OyV@2 zz5u8n$~uy+6a32*sY)2s|8bp2-QVvRP=c%@@!P?Uz-}{m`XZoy1nWrb4I(#Im<3Wi zePruMo=)(MDUvNes2^gT2*%$JZyIm=yLBXKJ2)H`hNFn1A9aI>(%UZu1<6+4E)u=F zGISGJbz|+vVPykkEI&gJmbYIT3X&^uwa`1kvTtB`i1B_akASUEkzC(f zj|1tf7IN(4cY@E}Ah`xvk5?!8r2!H&Xdk#OKAe!L`jzv0$1WPv>(ga0i5BOw11t(ED>AFg_yu^?td;6+&K8IJLwHeaVAhvmoJ#EoT zeCA7ZjlbA5r-Yd$V(m|LB@0u0@(E2~t@d6zkf=7bco8|^w4wS^8DLYQZ2MaXge zvvr0Qx$1hs9hVfM$%o&>tNPjsnFyLRMy*Rck8A%~3lr$jp>nZhm=Zj~T(Y;yNba-= zjABJdKXb?xvt}XG?aan|mWxakj=X=I4$cc!=(P_H(Dw0uqrXj_?V&ZrXPj8z62FE( zSAC>_R_6nb1!3pXm#T};C_aetT`g!^)zY!#p>obp|K~`pWzmZ3&cEs&H@3p|uV-*0 zwMmsGU)c7Li15O6pLzaBKjYS-X%Q>+oGj^m)kGQSq?3Lz6rs9dRyvNtg#L90{Jd-a z@W8;bx1{D7&*Qd~#z+$?nZ*sUoqMwE?wHhC?^Vyu*W&5!DaxY5%&j5V7Mo%RTd5HxcyM)j1Co%gLs^!l$#}#!K^C&pWu%El*FWR=U}%U8Q-- zs=G@C%}wrdik}$XK4|Klv3gXyAjDgkxtMBbteTk8Gp%{Dvs$gum^OS?Sk6;UbxR6f zJ>_&NgA10lXGDMrV76cWW!Bf%)HH-E9g@O6a(rtij4my+QPC~ka=VvQ;5^t>hq(83 zCaF+a#ln*oPHT5hM}440Zot*#+zE4uCIxedvYD3aE|Sps()9HjcLG`a>3oMU&J(K3 zU{)|ZwkvOVRDQ2%=*rAMa;JuquN+Kgvw&CMTGHy({PUH?&%;Y+U4!b8wqfls@492+ z*W!K8NlczDMZ`j_Q?o~QqfInJjH|-M*35P7VYu1hs*Yl_SAB~DE4E<6Cks=WGryhG zYfbCl?43`FqD|)or~Yia8}qlQs!e6?Kb!2ndQj3e39rsfS4`1m@_Jh4MVOBE7}chY zo|TO(iboZo_FiDO9=_ z%QHw z{f2f#~Wdq3jSONF<;&cGN( zUBBI%4l6DCWuJ1>SbX_WkfZrTCa)xW$%VRa~MdJ0O;|&whNEcC+n^&c{vxXrK{pzV1*imICR^O?b2!Ju4c>?|V zr7}gzqTF2kqjfYndX+_z#8m^R&O6oJ*5>yca|ZNP_?0`jFmyb0EsI6*r##VHeYt68 zLl=5fKy_mA_-5_Tz8a6xUR#Y7i*(0-U(HVaFyS_BaIH@J3+Wn6##9wY3g70C_;~Z< z*fVvn?>4BfDcQ}OHK8t*q_jBEgQw2w$VZUJk&e<2jHEBxXwT(H9AZ5}`&z(Hy;xFO z#HM6;tn8!&+=Hft2i&8**IxJDnyq||tH$VYHiDOGMde0OlhuZ@LS|A8X`-P*d6$m@ z>Nq=^MdUSD1L7BAw^#!%tUJlgn#FRSAMJmstIyzMm!6t-7aS}n=XTdEI2cYDqmzo{ zH7&?{n1sZpvAU7Ch63l0s=9c{3JnY2*)X=rY?uJw$9`((& z7kkf#+v^?6A8paEFYlwq2NV9Yt|;4od}8<4h3Icr^lw-6Z&y?%0YlJCN&ExFQPAyE zD*T)Ezg^M4UD3Z?(Z5~M|2AFGfAbCafBmTWKkP!p{^tkOUl*dkUD3Z?(Z5~Mzg^M4 zUD3Z?(f?^(QI7w3Me<*FMOoNb{vUIK#%R>pq|vm6r9UC>5+mCVa`xhb#CM2k9s3cvJpb>IgJQWtsBg_xTLZ&`TV`g4hungI`|2Uuux4j|pDVR!7K*ZARB$z=3p4 zk7?C3C|=2nk0(pA?CDZ!$3KI=UPG~JBv&hL&-O`3bneXxT-88z7Eu;>N=NNjIe~L~ z?pF4!N3g}7xoO#6`S-3CdkUN$w@&9U`<#^TS3-_f@*TQguUhroNayQ8Ep{Phw+Du{ zZPy1nd-6lbi_p?6ib`;1@=BWBw(d>L>pWDobUg2(r#L|)kwba7A;ZmcbjLs^^ry?& zU<=b)4@1eXr%6)=sxle#H5#x>*haz}2<#%Qzt#Xhn9N1-s`ZJAp#t%0l9UuM z%4+hMt2CoI@$l|e1WvP}!6GhliRN3Kl8}|Vrvizu0$QK~Nw9)>_>`J}t=jvqGG=fi zCL_BXrQ|~SVcrKdQF5tl=4DeN0*;ID^D^piD<+@nl?0p@;jv`7;C4*{V^M1CE98V87f0_Cs;LQn-B_|5^?y!58 zKb4HEAjbQhL-crtj5~pbFn7I#vo*%WI?epi4>mW6swIW2leEpV+gN{?u#e{%6KDi1 zNh5wDlFs8;5Xd;B8(>oE06;=L&!_~X_z}Ne3Fq;zfJC_g-kRq&P60&p^9&n6Oanw9 z&KVFHHo)kB=<5$7jdGp=2Z&K#quAu!##!Dl(y`|mKgI`X4a+-W8z@;B2xXyB05=+?o-Ky>Z8@;_J1$heIWlVM7u&NEmc z32Kx({bs9N#?=7v(>mA;*b^TRW6m=i08s`It6j!j0g+)Hd<2MZlVL0(&odAK5!~s= zR^c)(0*AavwGPGwL{dPEKF^Q_L?A=9N|$j8AStwel0mh(Og+fvVX7 zB2cwaAkqa8fvW8-aPI?E(*&ya9uR#-{OEy5VF=_#stqtEAZ7s~a7;-+`~iqRoUP-| z*J*(1K&^{uiA2y)vxSJ6f(g;Hg}_V_?S5Lo$YyNFu5=sV@^{?(wf-xSjerSO0TJBp#|uQlupvJX zZ2&EM?)_|k7!Uocj0iv!2Sgx}vZM6RN~d4(cbGX!=ksD&_p_~6v-%dvqKA{pg;~e) z9sQZ1lDuQoYj&o*>7R8u9oLHgct(^acHXk=KU9Xu;*x*3Y{yf8D^AOJs5OMI&N=F% z=e4LIX_Db3DslD2DN|A)9}+H=NnYt%n`*M)n7(ltDA1#q1A`aHt-3W&p@{t|wiCzi zX-?`iZ?xiki3Z;dE%6z-n(l5Yj-Y0h*p4My3%ghB(S;(F?75^+#_>tPZnFX65Y0F zp;VzLck;D@YgH3q`mjQeNqzfe`nLfOa_XC~de$h1SpMq4pL~P2>a>)(R8rLO1#ILY zYA(6DgFLLr7p%tCzSWC9r0!`#7Is3y3x-glSek02Zc&Hf84Zv+7w>}Q$mTsQfNBgq;P9pdbuC|`SwZgR6}`3tJdxAefDq$JL!ktAVFA0&AH&yI_9$e zJNa3-Xlx0biCAzlPHnhc5x?eIAooYl&$*8UXGA%(r7h0PY>CZ&XT63Rs2IAwGcunZ z-|TUxIjqa(e|rj`%5guCfm<3Sq3yozM&R2vqum z*)khz7{Sh~7sMAD$)7q6qX@aDDVg-`opJV9I^h+U{mqA_JtG9YKncYsmaX6-FCz`Q z>v-&ol(B5OacFY34yaH2o&+}dhpZ0079<6w8COL`kH>d!RHmDG_`jEHs84z2BEAbTNJT zzQOo5pqZ*ucaEwQTIRyWH%9%rwHuS2vnq+oD6C#0G|67kO;0X}X2@v!LX~9Yx@t{> zr@lcGz&0#?Loqf%XZ`7uK!jKClQa2^ET$N?7TT<^2k;~!87^YQ+6a!+R`bI)ir+T# zOKh$T;)u2tp2i7fj77>_{03ENX&kv7jh)>QO8m+amE=Xha~jj==1wBhbwaR_HxuPpr~-uZdHCqGO%2eS6X|6eIpb^r50fG_xk0Xx$) zL8)nSnBUPA#>>{v)8^Onwbk`#EP7IPo%7*WqFSAg z3)gaMV}qMVHJ@fPZ?lVojT>n7>GIg>JSus4#CV7Eb+#G79d7HRXOJAd2RNpcG(%o^;~&6cI_gZ{q!oM|NSrU#YxYPT$8KL z<*gqDorjq{qg7BK zWq~QgFjcIO)@)cjyvrk`lkix-K1$f1Ype*N+>?(u4>=l*D@s~oEcWhD=08b_qPR#nhb+nlC& zeIV4Xq7bQbZcy03R!&KAwE^xO8&8)Dz99A#7s@j|OrGm^v!=tCILHH2lf>aHLBb$__&Rrmxm7;6)rw+jw z$bHClDPeUNp5h9sE_+%`JDFTXOt*m_2{Hp3d`rkx2)gYM6Vm^i z3DewtzRkJp&gQ|F<_MT^A=b`}*xM5-3sjcoO<)5LXz%xoH05T#P0>Tc!r;&S&ZR_=`pb z!jqxh`TG^sF=E|smf+C(OSE-I;C4qGZ|GG0t*!%;aDAU0eaX|B#ctJUKmtW*Nu=JY zJdevbZ8@u{f{dM@njKhD{)~~}QED`f{QemZ=+`)yJ72*9YedOa;>c3?B0CYW3=Wt~ z+mLFm8rY6AI(Enz4ye>}c}E#)5ctn{a;eN60~qHlSVbmitv>wV7g(l;wQt_<1{KRu zGd0YFtq}at9()-PzSa-j(@ea7D_nMBSxH+6MTs)39=qNDVW5^5olNdXfw=XfFLWhm zEVl3L9*QGj4Q#d%`_x9|R)t2<=LTfl!K!rkWt?Nmw)>aEo2MqPq}!OWP+OSSU~j8z zJYFLdx-i>42}Ue`v`l{;VX8gPcn)uVM`iymLf;+c#X=l2G4w5|dJ@4iBgGUKh93OH zku=y!!yn(;QosFhn!KxmjUynQc|U^6ICX?QhH!mK>}xad(u=x9bp8%sKOVtfrVR=(OKXW$)Rb@KW?Y9*|SRlWpVx&r6mHZ-ca3O@|$g#g(PyFA#2 z5*czDL1imSeazqz?1kbC{a(EPi@moBtE*cQwShoz4Hlf>?ry=|-QC?Cg1ZEFw*bN2 zU4jR9m*DP@fAW3%oZkKS?(>|BzUe;UW{s+vHFS>gtTlOO)x@eOxFED9wctBmgME7L zDY+H>QZR{XpEuTkqp@@q6r9v@aGEJb*siq#XehPOg@Ibzdh@m;1N?^ zM*1E8`b@_l`h4~;Kpb|4e|yUGAO2@0>Y(pVr|4|pkk4oGS-i&c$`0mok_cNI`QpE)Q4~X*z#Q6i_^`rwbVk54>~5l{H`seDmRz{n%Fn(@$vW2>8{5PUw3zP?=X$7OB4p^hDVe) z(>af=t!*`veOgh)Q3JW&1J~0hx(ki+4)8al*M>^uc9S5eBLe1|_>>-QkE1AojaF50 z^w`n(8yV1j5$s#k>ZLD8;PriNd%WYrpht##Q@@-jb}>TyRTL!G12iCY(xC5vj~r{5 zzbdmtDU5^HT zK%DRQ7bl$)w2%iMsgAE!cFH4zo05&J}7&=o1E$AT54ASScTmW6IV$b(+~n4b>(_ z&L0hKVk%YFzx!xK^&Z1}IcLUg+ttHJsx3E5|AbI28<|BcOHcgBTYh{__v^B=VwC;a z{09Fw2Lgup%sv$MyrP@TnyFYBNi?0=kLc^Oi8KR&jBUGT_qz^TXp$!wyckOAS)RGH zLAZ-r)K;zbC$Edz%=wBjVeYxe>W7L-2jY6(Sp^BN6P%P{BP2Y_0kuwS@yi%Noc((E z-ud&)#@Hukt=4PM06I)QX%qHNJfGTDpR)mTw|abDTY}fh7+lq;jiP$C0Np2tOo~qv zs`|WmTHBAN4gAOu_VPW!;n6H%C-?SMIXq_dBSa82`-SppB#F)#dv)g;o#?t){DVD~ z7{7vkQMwyO#W&7@3peet;w(H zT=V{n*ah-|-O^s(zRx$aJ>R0r&uiCLaSM^3T07`deJ|{}U0`;WXLe@Puj(P}SxjyV zqyt;x!oEn9nOYNazO*ER*A8vAo{C-0(`ytKwsr8qRt9IYz_d}4Um@RPH)JL@jr8A* zoSMvFFvwyO5p)`$Oc_^$pZ!R+$7#r7WSZfB5;;AYX&)}h5(o$vk@Ip{7Y5@@I)WYp zRB998@F%GRdpsYQ`%L})AEYMbvcn8cndAk1NGTU4gy3IN#YcTjej??hqQaSx!b7B~ zkNTO+#pa}6f_2SkKJV!$KPQsQZ$TJp>q*v^#Sip)CLCRE;uz$0qp11t+O zw^>vQ_a3_Kv=6pOEhj7$ z{*akKryLFNoMZqa&;kcwq}$`)2aIiiaUOtM03*;TTA&&TcmQtM1M-#uaEm{Xx9mJ8 z0x-r0L#`HV@Uxk_O-ch|Eg+TyqNUs9*qivj=WU0(>A(ie;uI{pboom@kO?fROTIf` z&CG2Qn*q@yA3$4B0kkC;vK{RTNM43_tpXS=0JH@#76WJtV9W%J7*{~rGQ4XYzzDPe z$$FW@N(7{z-7d=$=evYELL$o?U!03t8~Q$SSj4~Pi< zYyQF|oe}%YvO+&9$Mi*Bni`1A3NqyTLk3Kp>(LwF!HM(+bd$T$W5Of8r`qe*W8uaG zrY>OiT+a?L0#nyb;YQC680q$abYg9GOBZE*oCr*+~D%Q@P<^}$oO zm37xttxu{MT-vKH!;|;^kUx?+@Xb>;;9QMq;87bn=*)cbZl1+mgFH8dee^y}(yjcX z;Y&qm59P0?qcm=s1UWH3?PY=Ckv@cB* z13DuYq2b)MQc5aIL=BJHiig`v>?>qkX#C;bv3dmk*o#5JV|;L$aO@ymW0r_FWOY3A zp`+W0rHT$gY@dILB@J;`CKY{ScA&z%n^R1={;5M*^s(nFFFY+@Fm4oO* zt;lnR0xO{iaT!au?{A&G6#P1~NO{ZpclPHh7#w2W@m^>L-lQP0kLE!w$lYRZ2YdRP6?L#o80)ems5 z1l$Xf2xPm04+x$<%&EjcqeNf=&25ip9zW_5cr9V(U9URI(TZWOnL42EkN;* zDxs}@)?&K||H-N(9z8 zA1uo~6V6(xi|D)aO=wOz9`at6VU3kaLV4E~J;y~_C5Tv>Qy4>?zP`c?R4Y9>)LID( z={&!<76VFGFw%xJ>^L?9U4$WhKGal$@DyyXu{HIH=4Z%#5gNzh#AfoK6m?RV8D@DgLFtxKiYXe&uAAO*ojE4mA!3WyK$-6 z@BCeb9Ddj6JBG7{RLw{67GPt@Eo))oA-9&omF`^dv+gk?8OAH_DX$IJ>Z`m$4 zDN6Qh{cKF91do>uN|hnMFa~fS7l-&%!m!-8T?D0k$7Zv7HPRkC#5%Kgvrt5M=7lzA zC^8d@P?PcVug&8zvadSbx1Ve=3^~!kT0LmIaF;tMPs@@YKwZrI*XCKfe3)gvxXv3P zRj7!d6`;RX{2~lhEYKgRaK5*!)khw3^>%X^Oc{TGofXFTB+=S@r48ktFb5C$I4)()VLFdpYvhYJfqYA5nx5G;g9}>L#hIUES*`Sd-Sm#gKa>zh5 z=NO}|P%j_xlm>pYiAP^fuT?JS+jKfZOi1HycZbi|HzW5IQX8u zc@<7zOvwu|Z%g_h*eM3On;&X!R;x!{X4q0*vzKChyM;>_966=mAat4kl8&Tyupc8) z+RcU1NwtL^Rk8S1M6nH#--(d~xa}kFefG$1(-)~?4?VTGVJJ!m1H=72rQ)!r>zXR} z3x4ZkU#H0BAE3v_P&D(BgS}}4XOy%P zZF(yh7;ZXTa>1-^qro8k9be!d=Ns8G5)SOP!G$0=bXUAs6u!WaPY9EzR$E;6%E*=u zffG%1C_&|^yJ}9*j>p?pP7+}bqerD&I$;&bvIrx^%Ost@-n>9es3xdZH2g5Brz4ccAi8yeFW-< zj$?B20KUpnPqi0MlC2t)8AnvbHJS3m(|p&Y$xLgKATM5} zjwFw!bse!EW9BQ&{Rp1oxyBlU%@od!JS!&+F>%35^cCLAa`Z>5HzFkpkdRdAMfZDF zzwKgCGYFV1VAs47P$ji-H6hy9d2C4FgOX*J9U2i$Ra>7VzsmQdWGF8WyS7q=*=!1D zSJOaVi7Fs0v|>XfV~5Gu3j{%&Zho#Fi82$2vV(1>aA`m@cM9L=PItING`-t*ZDm^g zjJU|p+HWk#LrU9dT|E|6(!y*bRh$v=5|Uo_vL`U3!L_fczBIR_WLcTtTWGYwezfuG zqIl|g-WwNZ@848H;a<4|sintm5|`?#@j>tmVNdLp7=7cH7dx=)n$ zwfVE+>GmtX68%)juj?xx$9C-qvSiIUUW})^mw*CaA6zR%n6^YKi~a@F_^33mfNBbo zYgRjUYpW6OCkbZcD@on@1Sh<-<6Ft;0PZ>!zM2LZzp)VO18%DDHE_rn`Zth$-N;Xs}F@kJZeoL zT9Q5s+TvaWZ90rgK9SLx?bh^8DqK$dEJ&!wSuV#d8v6`B=y?mo^ zZ)jigb-UWtFq>hAye&Kv;vYyO}l z+2P*2T;WR&*It*I-oC=7yKe)nh^?Mq)2};dT0YP`^@6uL7mq&F$!{33FMr&nqkDbm zN2GhD@%FjflA_;IBv^NSc7yHM($zG?G% zxp1LE-HE#txyr~<)g)-vJpb0oeV!%a7LSeablI^^W5^_?;(?Hq7!|uZM(82lXF5kX zi_jT?Y;Nkt#l3Ru>shekU85XJ$LLQgG zh*>KEGFJ=nT#;)5SHoa9e3tSzu>-!+cp(JXShcP0u(P7&(`qc~`s%HHqi>V!(bZKe zO$lW``nQ{np-V=MLz0Y$m9#AqUfZ8NF?0oqrPA@PtbFO4ItB z?s`5ZnNV`yAng~EF5oxf7c%kwTH_`YVcL9wt3F`ze?=taZZqXKy!N?UUv7L#Z^USQ z`W@GIXm7o|WnQNRErQ!NUtPDWSF}IoT;eOXNjQ@&V(_V^HYVicC7rI&5zPmLm>^f% zdfj%M&%_1UwJ?cy`3y~4Tv7xlna&qvj@LnoA;^)3!(I*$5d>GyL3&(`+lh1E7lL+_>)fqU|c{u0`EqS;b7Jg282 zV_yb(_+vdBYx%@zY|c}xSA;rR7S_b0R#DsdRth_Yma~&=#N&5QjUVyVeys{JzMSmY zL9c-8%1OnmpA3*i56V#4)DLQa1_7g7H|b6y&zt=5Um{qT##rM*hP9?2Nn z$q+m9(eFi;kCFQn06n49y-zLU*gMVOc`2hVM}1dS>dKjG%`UQ_WX&|XbTPhX=q_h% z_tUog@l+21Ut75;1X89rF1@9t=~E)|w|3x%#{-0^b+wif@%)eX2MjE+G+mjwQpaTC zBjk0WT_C7_hlBIJEWC??n;K^NJng$_?4SlY z$p(fb^@u_2(Xe8X0N60hgB_Lslpu~M%BH9z(R?s4&~C3U$}&6^C7V#+B*~*eRQex% zZl|!Hf9;jx_#=zJW{|b-5bf?bM5 z%7f4vwQ;hMj&VqtsRtvDF_p%JxE-(O9wa=98+D|@COTZ=E^qx5O{uLaDkU`kJcYpe z-@C{avIDcSff{)A^dYQX6Hl8?kgUo?w&3p!P$rG)E)>vo~^)m^62Ukrgm0hU; zj`(d4T-H)(0TET`7xcOi+SsqW=twUQ42yS zf;px6e&D5?NPGK~ayeo3lu{VZLKc{$Zl8#Hd~ygR;yE>DZZr3)5bv!BWw?dhSv?j) zM<`Ck-#Ns2`gQqDi%_7ic?2XGd@4hVU-%$ps>_;`0das-D3``L3CtEG(r$1bxfSnX zn2wZ<{I4^*%$i%bZup}UzWrs$yVbVm=+|dNq)ph1f5id*Q$VhN0rvd^;A3E9Wc?>v zFH`NWq-UppB|W21NIF{ulAguZnfc)?!5rk$2G-X#pp{c=#_jH`yNV$s7g&u%>VM|K zZ(ipXKb>^ld5I*K)U;7so?49a%J|ARjJsJk+XMfdf5(Zqh)JrUIg~DPC+%6#CNu|8 z=qKOC&4iHMW7zW(ezBz74VG~R%N~b!a}5zqqGuEUKBu8ERx-q6Xn7IP9j9B3&_ePh-ZUeLSm+ zy}pMwSAu7%Q(k(gjV>`3ksteLgvB#MDghg3WayTPl%JYp-k>jyJu5wwt`UnO+D8*V zXDLAa@jlEWy}~#uN(Grin&bVM9A_*NSPzn>TxbnjLlF4{u5-!eOop z#k^L6aL?SoxLRC!p^m*nX3M+~S-n@N!Rc+xwbdms(!m$bD6&*hV$eknAz;9zriSup zX>i*|#91ogVy<$1qlA6j(&x;q-++52$c}6K0NOZsVlSrCf|5B?JGe5DuPalpV0od3 zZeTGjqkY|Kps{x1bmUMyJp7gcHi_8^847cpV({_w(|$&k5!XoFZH8cHVcAPnR^^lC zBdqpm2EDFTh!0;zc4p^G>fE6fnqtq<%1MY1PiLpbXl3xrily%A@$CzH&y|Ctj|+

9u?)U%|7ZE`N-uwkUjpr&!_N|7P3M;B!^sZ>b-Dkm1#-xvDjbxtrnq$@CUtL_t4W z54xK(wU+l;TQHz)fwkEC(ALtW#;({(B>zcT+A8XImQmZPPwn@mA63OG{*t3Vh(N%o zahwOQT~^Oj)3H?^a2cbVEe|eS4^Salq3S}`2R3mPMO|cWGK1BHvEA(E-3bCK;5CG2 ztI=D;PBh);tu3rBAl+ zgjZ9;_#kDkHcTZIXs{>T4F3YTp%Dj+LnI8cYZ+!D|2AZ$`G>;TRf56Ew2erv`+`t4 zy9E^K8CF8L(mv$=D$?Wj7!N_M>HfJt<3vXE{?&QN{)dbHleX;-7kyf+rU(M^o6y0`-TB z{=-H8;iCU=(QmNuA1?a;C8YWf7hUqj_+f-Dd4wMBLT+dQIh8K|e;60d@lUUg|L2d4 zSy&nWe_XUJakKsS{sY>JJ>7ZK!`kXF*>W;wm_E2E6}`V!)ucpitKpG#;n!Q%PF`vi zwBfXPk#c7+e1{OOi(eM#!=Kb;zpjow)IHoR4iuX+*teEXFYfMTkF&1Z@>-A9fx{+O zIR2DUO>Y|buK7s3YFGcz^f0|=Vpu$Z&Gus1@iKvJS+s8Zdeu4Vl&b6<#aNrUE&13X zpgCgiC73)v`P)|k4SPDSXuI%Bncx z=vVU75#n0;v}@z^Jbd5po9b;%vU_*zW7LM+HPf;m5z<=Gkjaa$1-5d+!WoHGh2=#g z)p*&YkaGbVPmBtm+sZSia8jjK)P4rs1)rRMhqmH&JLB{)?67RBnTwg96A^YkVYJfB zFR66gzH#Q4*JVRoZ>BsOstS#y|a`Vnto?#2# z~$3p_MR>;IV&wWI}SdB3x6CpZ|k_qD>*X=IlB&jG%3aIbe)^* zr*Hg@<)Ddn+)#R8ov|Jnz7ZL`85zDcN+x~E9(5>x4J)<@m5H{cimpWhhcV|t(ngv$dE-Hc$!%p!Cw z05X7NCJ4AP`#srWYf`eNq_E0u=NcaQu@Vu?3)@ zlYwgD0K%BNV}j$2FoyXXIOZM=umQkpO~8r{_!wtEs-huQ08lj0L(0FPXp!10b0y7e z6R)#rpbbq3L=T`-wrGt2C;TS75yrvplU(pXafAO1Xz+y|(W4U3q5&cG0JIo$j~^d^ zhy(l~y#Z1?rWc5%2WXXmA^;qlr$BoDJkODZ0V3)32JpgP{Y@A{0E98XALH%ucLHtF z0ak!EeqkI9@R0|mY_nUrKj4TRv7#m9OIq<4ksHiOavNnHC}tQuIDj7SM!3?e0vKQb zgYGtWqi@pxcc3xfXh6568@(F@;`_?YZlqxMzX;=;jcz1>CElV(3@!n*XaH;+3@M1S z*BuLJ;{fjX=eeF(FF+RqG_rbkfc_i+8;7{lj{?m^_(S&QZFX0|UFoR-B>6vc#HWTie>*Y!P zMYD^cTgdfv41rGLl0Q+?5~_fMq(WKwKJ&eHr_J!R1au)cgD1sbM@d;}l~{|ZsuoQc}j?_RG#&C?D*|W z)G~q^QmLZ2#zI0g2jZ55j93IsY*K}|RvO9ATtx(A#noO?eAZQ2#0=yVX_$R+nFArI z$=nK8sJihGMBv$HqrstzVUHG2A|rDXdQhg4wnkJ6%g9QK1k?>(#LN^{V=F==(F9Rw z%IVBvIkj*-qcH^361mk%cqHlW7P!!;?{*&@vwkwFh=S0}AL+lH-s{S`V zio&AJ10Azh7J^ZEuZi{j?p?FE6k~+%9D;~il4cm$ss2;bA_gL~Ni8s97Gg6* z@}Hff=Emj9gap@%xiNfL>piDjSmPUXHExJq+?x#y6-gP0N&~-?7tgf^)I_Sn-(P*( ziclH#LC|JWmfs4s^-?uPVal_B8uGBX;UXV#n+@m7ru4Ws<$R4`A{jIoerq-R>J2SB@y0`QpDm5jKuzZqOY;daOR5v=Wp;P4|2n*55?P-V zyc~rMVg&R5bd)YL` zV~GS|$hrE~f`z~sKjT&|XYzn)>KNRTT9Ji)to9}`k^XM#K|R8;>)8YgZZvtkV(7v~ zotPqj0&z>e0*}H}I(JIYjE!;=`ZIsE3(v2W|IL*eaLs*ljsJ%$HsA`k`oCP?J5a8` zf}xZI+d$1rwWT?|%o1&9vp0h4lu=N1rWK5R6mYKH6H5b2S{78KOLsB0mi)GVN6uY7 zVX#_ot{GY)5mbi*CGb|E#zsj=-pDy6!@XSz(6uVPRDN~&L4xZimP#virB-?^ey)lK?>gtJ_tRsPNvyW?%6C+1axS=H z>cV66xTG`bkkzXduxDy&qLC654Kd$tdYR8uCSMB0%fmoEihkA)AHbITU1+09&=VDM ziEy9+$|Cg{yj~q{)up;l9~4cqWlg)(9r*%DZOH@z_D9k?in35mQuaP-aj zEQfmgMmj578ckOxyU^HDyDYEId0|9vTTEgWDfVXO&{Zz!;*oS>qA0u=L*ratR?`gm z2OALL8u?lopoCRjni2`@rWB2N4kg*EC;hpW1YnVi_+`_5Ld}wD#JV^GzN;C5o}#OR zBR5G^t&$@0o9SCIf+EMp`6;7w<2jBUqx1%XCK(a|n*-}@b2v-B-Pn~i0Qvj^K|DFS z!k@NF{h`VOi!KaRXy0MhG+)&#qG@?dZCspjS7NQ<9`-RZu>Zx+JAA zJA2O9f2P@AWzLYAdw5LWnV%U7S)jH#nk1eybw3W?~sV~ z0?v7$h8L@(KD!8++qtIl2%vO?*xitd-)9j~V5=I;&9oE_)?_Glgq+Y3yrTkx3_P|f zhhi@%cLC)}n0dnU2Tx1o8tMoRLQ$1vUVxn?BHr|bQnif>JmZL~$$Z-*G5^>j7~n>F z!W(|EnNet<5ec(8C2Pdc>w+orwazgSt<||#JgYa`2<#v4x^nR{&#FJwR5PA_RbV$R zzT*ju$f7)w*X^NLH+*V>d|R9=p3tGrDzUD^P@|Q1O?NyE>$T#aP61cF_<6zHHP?(!SE(XLO+u|gg9UQ)GxEh!%f95eqW$CnOtMrB+(?a zc)rq}erqSNzaa(M{%K(vCayRy%9FI4am}OB#{&h;Ea@8i3_Ai|9(_Q5`fZhfA$NR^ zhc;d7TZCuJ5#O&b@%D%~hqHezg3*d2u`}Z-VWfu^{vDLK2hHiT&jet-%hD5Hhe5rrSa*M8@J6cS^OATJ2$xp3wy|13ZE1@$vQ(U#|ln$^?<^5e44M z03BKUU;eTuV4%=IT}Vc{+ixx6o&+5t8?6X7d3^YIha;XD=?PU!O17Ov^earK1VI>Z z{Rmu5VDxuezy2Ns5pY2Z+v(#zf{Yg5;g=7Hjpg0%9m2Cz2ulzv1FedRZ^6<$7H6o+ z!AC90?%6ONj%vr~elP9~@QY@&52|jBEN}O-ohHOabs$M_J~jEKh;4>x zb$2scEUxjbY2n;9vb|H^Tz;+}@v!HOD|50qsA*r0+JV8-*|BZL!*@w0de~D}+qL70 zGru{{a~yH*ALxK`_|qJE2$A8I*l!k zA<31jB{E=6OMo$)=^5X5{xUEPqX&;&h^V#Ob>FMFfkd}XZ zefb(AUbL!Kkhu-5D_`_Z;GJ5ae8_Y9#8+d^nz5nC37)Tgv5VU4xTVG$9P(0BRkK!~ zo}=16aTPKTuH<>HI=N(@L7yuxN>ctlUmi<8dsTyBwR@tv2~IB5q1+m~dC;!hKWf70 z=tk&ap5Bjniiimq9}b0ncK3B=InD|fEU0Fk3ENH1(r6&O4a(NB(=KXVZXGN;t`5Om zc>1p0GMarCg50{$Cg;z;#AY`%HoDwgNfoRrh)0z4Rn3tymFsSB3FEmpJ!EzAdV+9a z3H!kA)h3kAE81FRFu`soP9MGUy_EIqfD?~&T7i7t(^Un0Ino;x@lFs<#OobjFE2OCJ=pI?}5P(C-e zaE)Y0rIz_u&~2_LtsCPUiy!^K9;R8}kPBg(*rU}vjUa5aYD^u{Y?xv|=#*-Ls@2Lq z3n@awXt`4`0dKF?58fm|CJ$vLP#NJp8`}=(F^kQ}Pb#wdll7M$e|E^>sh8m!p8X#je3cLdZ_4AcnzJ`UaL*uSz3d zM=^aPc8&YTkp3|Zl-qA8FwXq)R=ezY+lOKN1a%RCEy>WW{+A8Px zt{A?H+6dsFMu_b6-E&{|Y5IE&O}?<1R&$_6#~51*zxs@N%JJTR&l0li(x0yD@nPBh z=Gy7Gw9d=BgSOiLf?%+K-;wID+Z~l?JYN!Vejcwa-V$1wUULq`L1)2jb+?o)1$vtB zYaI{KH74X2TO(Ttw=BL08D+*S6kU7y#8~C}NeA4apRpSZ-LEOBdmR29`b!Am-;f{h zWIT(TJ!+S=d1I;YHnW;1o=eeQXLS$savNc}&tUO3E@bXRHh9 z_fXuJ@^bXV%-lZD|8QJ^w{|JA`nuPfgRJ3_iR|w_1@#mXc8e8qtD=^#-Ta_U)#VRk z*(HO@wm+gj4_AXt08%AdOwbx@@7Xmm?X>oL@8VILb@=4zn-bCT-ZQ;7x9?E2uUUPM z#=f0Z{MX=EnrBLD`z9W^dZ^LK%fnG5Y1?3ht?R1aXWA|kqO8Lm?poi=47Yvme%bqW zww6a~1Z(L;X`kZ1G9IiaTg;BPcX|=PKkvxuD3un~Q=@@WStgDG& zV25o&fBAODYrQe)K3{O&TkbeJQj(Cy0zEo3>8g+Rlih`5NTf>?H&1!!8DNsouj+l5cwdTIvY*qh9Nnn zY4=32M_}Tn>`V2Jdk9B!n9{uK72Mz}7E+mp67gsD-RDF7t}b2y<|GGZlTB{&VCbX~ zyEsK1mu@=LC5Km(qVs1Gsa_W=y;$jl-*Y%sDbD2){1jxG%^~2IUDW%+$fHE0J6Qrz z=bq_dl7e#7t9l$CN((Mi2EvI7NOL*C)KE2_`XMLpEr-U~!S@-7E|^$!c@e4KQ&2F< zh}YWVyed3teA4kh7a01{f>~wnA(n#$nG1bh1;Ww;s#4DkW`*NV=s<}L$tNo)CN1C$ zzQ7I!qu3?rXlCNVwTsHYSprL#wXu6%t01M=>JeyegO>RSK{tG!tBZFE^HtI5Kvmqa z)3aPMD_q~WspSMk46U%42MlH7mcB24RgRD~1V&J95U0l^;E}PntlHYc2A^-fwCRC1 zkk;~fzrGvmcZ{wL!amMlb<Q~{e zBuYMDu7oUb0vBI+@|?Qjv7mMdQ)(p1m%KRC;77Wz`-?;g75s}?K3RcN_Bc@(*h$oq zm|X`n<~`v20%w!TA(4oqM*hk&f2jcf>E2y8T@2pOA}p9(n?@c9?%7%67gLD}LQxqB z&MeFa?hs^sB01!uVHDg0jWI`zb&Z0>_aL$bBU(c7@oAGkNrY$Vey!lAcE|;V5Vht6 zyR~5!m%O@V&1EGzO|NPN00~6c7r;RmjmswHQYJDKS78{MQE3}E@ z27?N>=DvHZ8tcMK>yfh}an{!i`_4`i{BnmI7xHPB69E@IbX@e3OI62Pw=D}*AU>Qz zW7dd~ZcQefFXGAntAxXH9oW~e#<>>4Ba~?NT{ZVg&x+-+GI$Yj&!D}07#Uyh`a@zO zNBL(Z6BsOJ6d!eRXc%uHiM4`%ciIP0X`9#lUR{ai;kUQaYc#c^Z;VJv4S4062aY=AR)8*W6{Bo6cbwHeg!+Z!7VcU?81?9&lAJITUTgGeo&-r z`ZJ=zm^9_K4fv`stB-M*nz zY>8mzHJYKKUiM8T}qxkApcx@n*mu|*Z6Ee!fujaKI+fuw5Aj=J*d&+Fp z>1*{1&5RqVMjlT&cX6r`j1p=`|rAGxqaAYlk}TzCX58p0n~*Rq(4M#qPAEa<_<|qVwf9l8M?4 z9k4Oz@6D$!971XlL~G^g`;+V;WfP(IO=`4`p;gq^|oe>fOUs3MSc!X>r{} zBZ@jHq8vu~tHbES%N@V)8$K$5Qj{7=oY**+2~0gg=);Ve@xV-<=5q9D949(dXEo|B zWn7Cv&wKOi?M*T#TwWs?E4N}h?>q<+29$zptw>7*<(p1v(bbZ+YR1XQtV~Qi6FRx1 zcF)qU8cX;r^vuN>COmkEm@pZb_uS+<51$A#>bE~|g}nbYr7YpOzG8e|vNE1DDYm}b zXVR3;`nB<-ReH^UwXR&zWRDaCG#aN~^T}lPI>JVp=}fjp0g_gB5Gpq7QVF5)%nx~Y zAzoabCe#nHHikX$=c=P#sp>gM+$ov`z68p8v3&3dE)(c6%y>p;D94J%s$4M*fvtr~ zr2Xf@Yr6I?9Mo#;ALZ#(Q4z$M54+1T`8gt&&<;97FjMD4y0ATO$98-fLpd&y5Tu%( zd*7|ifUGz!LPQ|$lZW7JUS;+&wc?QD6y=i#G<-3LR=|-P{W?fbMl)L$#DQe(fuu<6 zpRD7L>VC)5*OkGUAQ&uSmw@<$YG0l7Y6{|I?s<^C;W9GAKQN@Qvx|iGNhAn*!X;&j zUaFMf;n;&C(4>vYWtz&pE2BG{o`3lZeF*~sc_544zW3zOHVg?(dmeJ+uw7-{S+;jk zA|#tqBjyIb+EO9hZ`Mh=;qCaP*T;5t-={+LRhng0mqjK?d%m>C&flO)rNJQo>Xc^r zw^RB*;6i_5Lu+UlKTv6g6HxMhJwYfQIk|9a1Nowp&;7DWTik0Ck3VAY7_Tj#mS;tQ zUPw+GGl35mL^P#FjSdNNjj}t8A0^V0`(^#eWy!egdcP%)n({}QK|ROH+GldCGs&W# zsaCYfBkw>w!Y+3vOnwFozY0;KT)Stulo{DL@2X;;#n%)sWZ?O-&t?BW4;CFD{gF64 zObL?HC?%uvqwr#COOBQ&HWa*_wzd2ic>lhFJR=0dyf9Y zK>uN&|1i+y0-DN^Ch2TRscK8718N{3e;DZhE(|osKfUPsAHLN57c%E0nZVKY`Uf!NT^_Jit)u1~b< zdLxxi6)RX1Oz~};PZ=ZqE`>Yvh%yNV@*`-%>5>v&H8&>#BChYu!nN|8E5a#Vog43I z-oxjBUi-f1VtQ_R+`afwd}Fm`qBA#WTBeI%sZ+^YG3tSU-m$b_psri7g~DcY8t>G# zd-!t5r=m*L`g--_`)>~X*TF=VqxJ8vPrjp%)aj2Xh9*q?`^VmX^(tEzpxWw!zkiog zuoiKA$M;>!7)g>-P&q#@>CspfEL%kFo6tCZIb2On&t7f2@TRRX|5)@SqhdbvUA8^} zW!(d@SCJ`HdW8OjOE8JAB0iOkwxToW%s*hoc6wkRF~w^t*u3WG#OEa<;-$IK<>lq( zafEbB*ZcII70PD`ycHo`E~a*N#|3SFFn+{}7aN;dJ}d%7lhQ&1W%{3BScovgIZ`P-LdD{ z@=@6H<$=&#>`dkMa~4A58bLqQ%f510hB%LFL`|v}%W)ntE10fU&8Zh7a~+{sn6`_Y zmaF2FB6A<1g_{P5Tv}nyabq**nFa{lSj`M&MfJ9r=8N20DUoMKVg0H#S9`Mh8JaB( zb5ko$@i{HG^rkhz*#oMZyMq}sUC&ESv<+V&&+wi{C)Bu#}NkCNhd#G z9PudU3JWOa0tmFzWRO0t6MsGsbJ=MUA_}2}y*z-{!f8@C2%)89ia$Bnd6ERs7EJOd z1Jx8=c#n(c2iPba|=)eHbpA=x6z-$c^Om(wUIMK@hHN1(yLffkx0Aw^LrfGjJpahos z?cRfQI={i-y}S5*nUHOE%DYc;)OC3GWpA`bVJYqu<$H+i8BZn~qa=$r%o z(Pup_BnqXlKSIl3no;VhBJC|Yw6`Q4>yHG%e0c4@51nY~L`pUj=()cRsmdQkETE+QhJfG^JSvoPJv0<|8Sd%7RD1PpX=rUkYPMUhiJJe%J7!qy;>c7`Q+g zA|$akI>&2;-EtuMEN6afpz@oV?{(0)tq2RU#w;zmiZwvb&uQj5=%D@!W2AvU*1J*bnJGFFp_B@_~>{g z#_QJ)XTz43e7Oq|aem*P0V$UJ458R+i7_JF56(XPqo$pDC2B$KFqga}iyReEnEdv# zHr&Y+s|JqX2iaMHOnTNARTJ)MyNg?_10Rg9NHWPT75rLAk^Hy@P}$z2;|rW>Tl#?B z(i7g+5Zm`OPuBc^08=j)@;>^Sb6er?3rxL#d=os|9%9bvEE2`dCyOkJ&0PeT?;Z)q zgAoeVb_}D<;Oo>4eUeyE)iWDmaT(d|_}D&1SXPsG^y%(k>?EtMkgWjfMR+cetgNOBmY1?Wgfk1Q@Q68S7HB*ib^n&VQJ$mOIq^^u0;+E)pKFvmX((X*qVzW@K& zd&{W0nr>?l5AG7&-QC^Y9fG?BcL@#$f&_PWcZUSG;1Jy1-JwtNyzhIT(f5Ac-{{eQ zy2ryf133Has+zTGuDNR0*?ZNIlvGiG$}4$lgfD$6eWT-%_PjII%WPci82T5S)_3A&T!YrU5jw#oVYc!ImfLv_3&rFCJVR!c&}W!_xu&9;59tulpWZDFEg39EQ2 z%YBzjt#}SwJ(=0EWsM|rc6i2?_(dM1VaU&+P}KS~+xk)9L6Dqt3Qh2s&g|DNgl~s@uubd;>L^&xRdk5*^60e zRx|eaS%>HhYpV&i*&NnNklGG`bhMa+%iR32(sVM`l*D0CDXh>c7H4%GqB|IRtdI-0_)0-*^}qJMk!M`;qjE_)H%T7YoLqU436X-6uqO+xNC+|U z(aa!yF{QYxGi_2E6soD%KUCf@8|fuVDSZOw6$Sa3sMjls8{u?ri5o!xQ`YR=XAxnY zB@{Rncj1UhN{l_9bN%04a_iqNxv^QnryAR8N9L399EU75*|AETedbtXS~M7RSz&G* z72y3L2{Rd)dzz?mh}3CQd53|HI4?DAF0N!lNp3{)W*<8oTJ=a26}3MjZH{!1v|*}0 z{{=D&=`Nf}-j_?{N4TmpPo7pV6jX)+bFP;@lO)z%oGHm&rBI#f>so%rwjo|w6_%VD z{|ae8HqZx|ORfc=l8#;pP|9L>e^B*u^DDn#-wF(Z-gTLNr2?vx*on~>)8c5ku)427 zwPBr%sU@B*qLK6&l(E|i*8-4ecU?lkd)pG|nq0C(gBgS1pC9xrVSR^$w}?>1dQd#q zF3BarEc4A>XLSXU?JqVuiC`JOM7i}%h17eIS&p9|_lm89r?Nt#=(O1Z(q>SK7MC_2 z6>q&_@WcY4xkzHlQKTfS!@STj@L)OTZuy;DjF9e!rpUwL$l?}smWe|nx=2~Vd{@vQ zbBKN@C$k>;B0>oVVw`9N`4>jeBQl0!g{w{VECTL?-$k#k=$+}D;KhCkz4_N zy#0DKce;A!;_u|&#oxN<+p)g7mZ`ULdPix|-aZ2uU3U2T4(*V`nVwoDv`e`FiMACH z=>wB9YEI3L-`(A!|Lr??;Z>{dTN{SAyMJS6drKD%RU6%B2S?gAetc>({ovI*jgwRR z0=4kZNT#%|{_VWD)SSr(=Ne~cUInvY?$Zq-obB!DfYn|pQ6tgy8-&glFL&R1LHrx) z7h@LJLdEq@>+8`8LCFtAT^mxlcp5$i2QOPjoYOKMAYNy@k7rv>ecYh-3g_+j+xO{l z#>2f6LzTY>tIj1OzXR@G^3MHe`n0^TDLH+;Fi|qtlnR!Lfjw1xcdG4PkGWxle4wtVzVM+^ z>WP8P19(10SLkwi%KEmRKCj*>VrlM^hHMTT6f(Z-&7Im)=?NiY%zc&Th-uz;-+jYK zFr!i_An~Z&S-f=|0XVL!UmYEsPWj`%?j2-* z{Y3aW-b0dkfm)tO2)NkAV+(gGZuUoo%(kxyf{werI6JO%Vj@GEBW3!{A7Z@_Qa^1MFkeO(>}EZ?`+qj4GVv~oSSy9&s14O{y= zwJ(1%$XxAu+#@{7`1AsSU9jPjLfynKqMK9d55~i(_4XwiTYeP zBaUo5-v0F4X3yNJW1407fgrdFsWmSCJOKgLy5yOyrAD}OpAIXZdzdNsYx-OlM(ow$9T>($q6)kVo_cpE!$aLa}o zZ#l>vV|7DUhW<2{n8kjh87<;Q%?a2S3SjTVf#JOvc&!@xMKX#d=$l*j<4IZsHIZ~8 zTu8JWE5n*MMU&EfXDwN`>%whAzUv2`ZSy7DwoH5NLC+&dLWsP=$<-9$*Dk@QbTvwwx$A(U z^eI~Jmss{il?_9?y=HTmJ?vLxJC&Lm(3Y)912c7JomlJ!g`~u>=w3K^MN@Xp- zf|Pq*zS+HudW>@i&rp0fXbz&Ra2`?s^;K2bNsl*QM;}@psg#a-91}DM%%N7OxA7t? zsS+6Az7}~^KNf$LQndTEqp@4w@TqX5^>t=o1oF7JynUworE|6l3$r!*&<-~E z;tE?4u)-MksYRIDM+DZv7#$h zboGcDeHi#S)sAVHQUlAc#G3%PPz|qZWReb@nB=yJ)81ljnZOrtX}1ZrPeL^tjDV2H z9rC8$*^C)hRcAye9Ygc@IdmOg@>M;w5?Au?$9NIIq`T0+7{NlYEK{FD2=)skjgc>z zQ}8m-==YY&vzW&DNoY>VO{_wDMRw4=FlJV2v2p7S;i#)$TqK)5mPmrZv`7a3vabur z-x4mk*MqkG^iVpwvQ3yDd(3B`+@rBoY0utEc=oxe%6#d^;H}b|kVGnC!VgMMrp|;{ z;Ipa*^|H`*T@SLh0FdJ^hfBo5@DDpEMpTS6!~pIjuZc!t)9yQHyC3L`rXokEX{0@6 zP*_gRU#ru*zGAYx2*<`wa^HN^l&yC@Fk(qz{4$kxMMKLnFuU@*yU0!&06Kb8j)y9l z;637r=sxsnOOYe2G*Uw(81%Osas+?7LcRnEBzfYkAe9R~i5)iAN=iBB=5RT0XEZ)A zjZdF@sc#sHS{=|hpxmG-C2ZiSps~xveB;OZI?MEM6wPZj`En3Xp>3-kN{^TNp`G8R z+5`roFE&H);b5eehbSB7{U3r&tTvNmMNOqazNDpN~x3?K@ z3MJu1p9_zicUSDl9T9xrGs$+PHS$UyGP7_Sf&cyD&ULx-k*xW^b#3%; zQ&Z~6?dRDvxN#^wPk;^oND%j_Jpgl)dq)RXgkzet33g`j`R0YjJkf8;dG?p&^|#J! z+5l&;I|2J|y=HgAr>}19?Yjtr3peNQU?YJ9{r~;GI%X!O|E=4f*_qf`{@a<*7*}RelgJE6*UbytV`%|oy`LH)P8BNq5Mwfk}_ef`x>Z*NCei zR(%=EKJwI>x|Qq?ZDbz<)zb)R?OmBPR^AlqHrxJm-Y14uZXLRvlk(b#&%eMaJcG0h=`B>dQ+D8v+e* z^}hO8wZ4N}on3YXaTwPMiNyDe<+-Xhj;{8siB!n}^9+qnA-#@4h;6UV$o|BSOyspG zk~kaJluF;MsaUU44E456DQyRC%TD!UKki^|KQ3q=uG4cETicFF4ou$rc?H9`zy?!C z$WM?WTs%t1QP#StUcuKnp@sS7m@@^f1oFM}l1p+1p_mVXQPfGQN$tBxWp0b7uOAKb&81!px96y zA-$0?ArK!8oy}n6Ao?UGf6ODqX8`De91~G7GaoMCC)#sNY8Y7(qAO^mz_g2}s;5bI z1^WS<>p)Lhdk1StM=1qY)Sz7_Zu5TUGw8Id@nVLPu1qEWc00@(Q%|O{1Y=HI-e`eB z9>G#>YDFm~KM5lepuU_dl>m{d-cx5zr&aRJaJHN{g@IhHkULJ5fDnJl5hH`)iz*46 zSAlSn3-wzG?o44Y%${1~Au95SiLkMHDTTOt@|K+OApthpSlHJh*`5M^%xfwV_2Rn( zt>PkAd?JlP;mQ9TAjvWkfC?j+sVcoq~{U0U80CRwF;f>D0&E za5W=JHTp>yb9J0q0Cqv6xdg=mY z^_|RkX1vhb6k--MIa3lkZh$XR%C(d~#BZ2Ks6r-42WY)Sp!MzoQUg`dO1e?!@*Oa1l>BsR|l(SvxUX>yKbDFi*;ExImi$y#S?DM<5{bCEhha zE3wF2QcSs$g_T7cDcmzdTz{GaIjCa3Pl+I!rCdgvl89p(CI+TriQwCvWt5UwSq)kl z<^e=Kjr{o6@H`zGb5keZtFdjmqj;A<>>cYXv9o=MR5=A}Fvf3`CaCvOgP{z5yH-=Nc ze{0XWf*F$ni4NV+4H1kCxn!`VWd$UPS6d8t`Si_Bc%9|OD|wA6Y)5y3I2KQ?4C|yX zo)*=`8>*HI@V5$PBakpRZvu#aDnQ5obKbQ%-E*P9Hhx}` zNH<5LHwL5(RP9Mpgt`LR+kn3avwRQr7h%|?fP^sx?>7m2RBAp)kXtfgjv-O;>ix8r z+yLJ9R~^=gsd2+zLVpIn>B~pcMvBlY%LHxp5gyRmsY<%A|A{aY|2Kq*wm0LJ+bBCl z9?2IrS1+x=9`!3tS5&!{6;e+N1rB$#^R+$ff4L{{kpKjUo4Vx&RMch2|e+bdji{sux#WP2`7^P z%F!iuN}O<^YTpFV?>H;GOW!~C1; z`h1EjU7SjZ=7y4eQxr7}t5g0;QSrv0r>qSPhsX~VE>6+h8sdM*RQ<7d)F!5QsO@WePIm`%3EC#ILYa$SG z;47+DVkq!ayG6z?;tSWaG%# zkm>JWkLg-!)=lOs^&f|%xt5*(yM7<>{iPyC-F?cH?5r%U0-paW1p(En;s)QxW@iXA{@@s+ zHYFbz*zb|~-NGNi1~&Ka!Z38HV88)xn}kuv0gg#-k6$Um8cO5u`tVtS{UU;ZxRMnD z%0F-j_I}43JECp~HQ>1RO_>{aLnuVh{Y$BVTs2hK1%~(CTB6!AwY}t}-}KE%9byFi zcBcgtj#6bNe zuqVkqM4C1ee}z;tKWSd!zmeDCvCy34FPI79yufae9sM@jQ@lai`X&(K0T7gU7|$Ir z$c+H$90+v19Maz*&2=Z4iz9PCx#G7dp8%uL;2-Pa|F+O9q%zP#(;t)u{b1;LW@~}O zSKa#)Pw@ZHo)k#?Y2X9|=-cH$l8@x!KLcao(eE(|Q78c(0fTb|qRtcjT^r9I$bSRE z<^Y_8Sn~jF{d*j=8&VH+lMTtHb0l$0rIUXj79w4LyQKo^IB>c*#yHOCp?}n2U_IY* z!uOZ90a^GTk1HG*i4O$8`1zZbz-b<^ z$-he)5cQWodhAICRENYz@>2-n|I)L4pm{I+!@$&jOQEt0{L4e(Mpg}a2i0SEk&phj zG!%;xNxloR$^7I%|0We8;k=JdT>REMfH4BJsLbSiF^@p${r(}z*qjwotGNhueJD3! z^u#4pl9>5b(wN#3Q5`R1&k<=NY#FKvdYG4*LLpeQxv-jpg&};3NgUoEsmGv&F84svHi=J~FU!L%+! zZgeh`reYYFxX`sWk_Wxha#vuGScuZ<=IJIGb6oa93?R{8Or`5w_-LVb;84x*e!2W; z-q_YAtC%goAB(-NTvGHnMd#~!>+v|=pUwE@acO|HuKyzc@_4re++B5jaJ@T5(BJ(s z`?8r6>m7f)Td>p5_p`7wh>KcA&@27BQbNKcUHtO)^vSLqAzWh3V&F98X=$h8!L@glrg`qEAfg{Y}t*dRB zux#+vNO#pfCVjQ{8map`D%P}^NoyAUq}N^wf^!^$61WbSLa7x~nRVUx_^kJULdSO)fdTOo))6(HcdHG6t6 zlnTGR*uOYZeJ`GY{hHowpFPb3yN^GS-X_l<4)9$g5U@omv{+_>$f!Rzs3LTmxPEkN z_Wsqiyqc8hlw^4Cg4b3@jdXlqF)*X7dEdT&RPA_r58UE$U-kG?mYZN_f}36VJaqX2 zhT8j8`wS!(a$N-_FvmyRa?UmZpp;?GUW#q z&*2!NW*$u?1qhL9=R@@Cd#j8W_Akp`_1TdKberh8Qx(z9Dfu()5rOvh_h|Nf?|QKQ z95$E_2l)%1ZGzvIrC-&<-@<~4LbW66K^Vlhb5W4Lo6mkiFAU#*fG3ZvdHae7mK8FQ zE!FRG1UE5h`|Lrf5%e^70=0ug%@!bl!uxnMxN#E0j|lLbJiu?Yq^(cv_XO zo{(NA*l-8d{;Lx~OJjoeS@~Z0TVV=DbuCb8`9534W?`k*qkf+6HR~%$Rm+GB2JTw- zeyd2=l*bcT1}QeP-!^t%Pqjx8XHUoN^sd{t-}GM^xHL<`tweJwwKznEAbP+Sqrjyr4! zO;dnQ57!$tb1Toh(QA3Qw`}PG+^4%0KaN&tE+7_HOCBJbb_%qgso>r{Lf)RXjLf_E zUfOju`=KpdbF8U$N4&ppR<(?0W)v-?7Z*>LFXOBG@Gc^HIdylg51erm`VlG~AKP_w zQp;i7tSHo1<(2v`CF`YHO?ioSwYDyH3I4q2n40WNSSiR%svgX)eJOf>*YT^LUmJZ< zY-V?Sv%t(dR6phr6zB#tA1QL~X4|>l?0x=){%K~sr1*RG*?pJ^hJ#FYW_t>yO23zF zWck$Luo4$SMdw`Tm;M$r&ptAqvltSfg}2U?DF&H2|5AY`!mOD zlfxrBR4t({Mn|-X_v2~XXwOU!SzX^1{PW!*&WHPV5Uu{ct^aWekn_Kut^Hr$ILgM( z@_$|eBpY-b)Km!od1isiXa?_QQV{0LI`nKZf?y`Yg+=`skNq)xg6J-(x1GIZ$I5;9 zoAFK}oxU-6lj%VQ#3SlscxhHuS=Db*Z1Of_as6Ff1jp`r3%Kh z4#K*6z;3(6=zTIF1E8W>_Pv~5A9Hc84m)k-_AcI`MMpsQ&DgV(t{zJ^`4xQi?buA) z^u6I_w>t79Fw!gYM`VXhS5?OX6}=bUx}gu;+q-6(3Wwdg`JkY?VlBB(1jY)!ddb{s ze;NR$SJBnG3AlmhmiNMbVj~noUM^F2FAW^xu`m5D;9NaXF$O0EU`e%g4ol7Lp86u0 zOG_Q4e?n+D!|AD=CIH6D{#EbD(r!fHet_qGLBC~YH-W0?7PZyI^AzGN$t*RwbE#-A znBR?*sY4*Je>Svqx72gkvxZT_Qfpy`T{JrR!awvaG{oy&r(&{$9m7#YH}m2>AO z62cfXnelZc`?A3Jc>MPp6MJhh11te4-M+fxYl(m-GiD)9_!SF4ZmeZJG{%Y`+z7Ip zRa`&FY7Z-B%}MAA`vCNqDUZox`r)Au$rHKF3Qdb3%Ii%Z zvwYncdM|<=J3SeA>afeu73a+IqN$p^!#B_&R`pR4^JxvDut2$M1QGIkiUMmMDQK2& zFs-{q)g5JJ7^%ZI!&jUO+tk!=*(VPcv1NG_>l_XvMCvH76(_v8OtPeKuCAZ7Yz!Hs zqA_#hv0Ja)Zk_Ka%`_X2ULzz?K1@k zws8YOq*w%sHslEvHmhujG}B0jO+EvpT4CxC6_S=s+Q~dl3Y<#5c!{Y(GS6WCEQ#pq zF^gaxRSXb+VMd=sUr_^`lmwKulTDH&sJ8d4xw2T9oB>bbPg4-!HJV8X9htI3Qasy- z9<7NA2CIKz=K~^01Y)oKH}+E$+?;SVV+u8TF0`RCHatdC;t2M-1oUfD?Bmoq@?nTN zrKm5jd&=1G ztHLK~{vQDUQ?3@+VdE@16aM-(vQ#0=$l4~l5mF6Pb?Wipa0CmmSYnCg9IBX)aq5L% z<1c%>hPkU(bj8$h!e~iqni_l?%BlC1l-P8FW%gVm&Me2hs0~3361d%rO?M-J*r_RN zQEKBvKLOxF@W^ybPnFZfQA%f71(o53L278CdofV7*hhx+RK`G==2^>S)1VBCKH3;+ z5HtcU*DqJ|ONxSy#j=6E?k*fbNsNXWxVD%9WBOO)))jHBWZx)9e~*+jMQo~E1%3Th z35K@13@fp*>PXTQk!VztuyU4&AWsc&l`A3Y@m7Tw_?1tDa$->s##CIRjUjvg7-Z=b zi5g43>>HwUSKpA(vIg)E6;Hu$vm;I?@L!Cx&0N`_DcWzb2fY{|f z(B_eri(zZaOyhx=@H@Am&w$Vs)Iwq6qte!usg3oKaWJD{VzVt_2Hlk)#1gXuvEu`) zDW7(!A>pZ$sfa5qNcoLEgTaa-HpIAs9)K9}2R%xk1S{wea=u+`qGa@t$l!2_0b^rB zC)>VkR2dthrkG_V>}+9=UMvp12)T3HtU9nualp;dW$kPJq6_RqvXAU<+@k6M4C;F( z?Uq2c>?-gWL}G(z6gvK9+<#!#w-s1{U`}g+1Fl*?U12II(C9egVF2(rc7O_gV{r61 znX%xqkf3XF;AItX#2fw#_8+7Ff&EuWW;7CxpIMB|EPa-^=({MSb!D^4ECgDNt%xqv zIaKmFC483jIKOt8orSF%pcBUqB%^!ER9@p4exFP9+uGi&b$2D> zBtgfhXgyCk*dUmNaazQ1(g|^eWaIx~3UM@h4V7Z9BubKc;S;I;^uL4!=$u5N))Zod zWN1TqY^eVW-^>!3@TCJT*-N(V@Jx~~VCzTz%RO_qP5Ej*(a?CGjhD!%Zbm{^$VcqU zj^*Z9{(+6UYV@-c8~h>fw}ELD*}%$W)IH8tF`WX8(gY@h_nqSRq1zg=g+ zZ;O|H7KhM?W?@N2cLs^N9XpCI0!^VFz)4AztQ;y+VFp^&~bJdDY-hIWYtq>*`O| zz@!thjxwt1$K-WNt52L}=d(J=j~l+Ct?GgZ)K%=UjKg&f`Ymm`PFP@}T_IqPUS)Eh z60@*L6aB{;RewCFs321nK~z+wLFMbD{)zYvB?-aYn$HY&Azp$gq7J@acG01_(ohE$ z@MtLHQ*?@RoE>EvgBR<_N+!bA_Gr&-g*i6zcl)*pbhmgq`nuM)c|4yiB(Prj-AC~~*PXmbeb1hbKUzytI`mXc z9pKa9(|$3&{JuqRz=83s#AunxDd#s`WShvp9_^lfDc-bLmGw1d-LHiVb@#iOzJU}e z1E=Qptu-%2OMEOg@Y=Gu)h}({ZQJe6cFf0jaoo%;=Xl&`#k>n;*seItzEWNgxO)M6 zB}r)AF9HEunW%_7<|@_{UiqweDAWp2wIU_ z`KYvsM5j+XqeFF7o&VbgVf|=&=73=1c%?yP=*JZS!R~hMsON?x+`*f0++wSmb^Gin zUc&3;{q^*tpKjY;D=X1h!>7gj7}CXKuiw0o^%W05E3=Nhc{XVG8OSijY*3=tBYcZ| zH7$GneCuU1h^G#Nf0o6ZpNy}z=uRo6(=^YO(S;jKIZgmSQ6;Q zLDQ4PxvgsIVvJw0PDa{jBCKXq!E671ZWg^gzH1hkogb~Gtlh01sk!*zfP_;GxU5;y zD};{1irED(Lh6L7g)l~w$p-Y{KRvA#*sUrBvU@YF)6 zD&ZmB?w>X|e{P;0kF43&QC7LVYTc~O-->hZ8OeL-{=w*V*gTno5-?BOeJQ8H)7?&3 zlW!%nPq_n5>C0`UbnAIKnO_R0{u`2p5- zn;RT8G1zQ#N=qlQcsizyw!J)(*hH5)9E+P9D9rlBoaQgt&nDnKb^qM>M9LDKtu{H$l>d!@_wD1%dn&{SUe5CgAnPQWXwu*wLrx}fz`MySbNcN($&5ZnDt-q0W`CK&q@UI?R-ybqR;h; z=>Z?$D5oosl(|lsji>z1=7v1gJ~wB#By2=D;N~LlrS&-IsBIG6fg*KD(TqB91h7bV zjWlF`<4>8{mr&*I?&k4zVzb+hk%`*=)=;{+@2fwW=EGAf8!ns7xslueR}i77i?Qum zyC~SLl4 KiSv9`7+bsm8q7C(Zunm>898=EqSOxwo=*qgI>qYC?z|kvwW;e;yua*p=z1S; zSbs>KwU#FGbhJHsl`XrR+nNd15!~kOE?9bJYup6%?-w`r$U7AK7Vc-$y#>iA9NxR^ zTe&_3$+@dhCcd`!HA_iuyi7lgdKi)E{F`GEOJmM#f05E!V8BQ;+pa>btB111jM4Wx`H8!HG+v(lpa-CiN1 z!xT#o-pSsat(OIA72YTATr0;sX1W}dr@EuDC!*M?nqgBKnt+|PQqCttt` zmjSD~?P@1?Cnj=dNT6a07VLQF;nmu#b{Sw|Zff-xr9X$#8BTnQ7Bp~gfmMcGnC=o1 zkl{BIs$`RU36oZ}g2f>l6=9YdOME|&i*)U*WK)7yF#Sqke z&M(&ZMVzprjxsB>ro@NISF=9UoGx;b-7mKa8y}H;k#4?Ec%47q3}A_(Se}NB%>Yd9 zvGxq`yzldSJ$!{}Pu+VdO9X4Oxwq|IJn2y(9SZ6FFDDfZYktyoGgvb4m;+^SjnSF;*T+am?=PpL3l8i4 z!2Esj=j&a*k1vPYtEaoeZyF|^MQUS+V&L}eb98)+w3Q`VwhaDksf3jb98E}!f_%1$ zg{1bIt?h^)8}ESrWx+bP>(9=0?QiByY#9nv$B}d}MHZ&J%rtK9Oj!gB6AR5T4rl3* z*Xx4JARGSrIbNRbUCmv5>`8>-4?5bO15H;SF%(M}d3hS^JYAgG$-8?BfElQy@K-WV z+4e?7OH`z$=c(NyS=}?f;qOfbM()K*NR_z~MwUfMSf1lEWV{IP^mAJmM z(DiYUx!XRjTOg4ch#^5`WEA*4H1NlEpAb&VkC1ZCfej?7Fo7XicKzP7(&%HJZ@-P6 zXv&}FCFe%ar>Ol{5UeAg|VG5X^R&L3k&jU8Uj+s zHg1OjlL}VUwW0K$qRD8qf4qBre=~}|j@?O4R))Hm@MKdejdjP9a$?iybMB0Oc-!^j zwsjj(N3(tuw&p@1QOlEp&kuH&MR7e7iv|SCf}bC^+mM|sDw-Z3qQloiOnJVc1r$wc zQ+m+s{w#w3yv1XIutr+yJhfG7%TrCivGdE*;S$|%UsXsDdNv1K8C*=N763KrEMsZu zlXihbWLy)dcwyC01Xy#C-VT{sW=IXM<{K~u@4D}jMRcDEWAF@<^zCCBRV|fOz8(yO zdP4O*Q;7$;Xp@bvPgc+YsRz7G_G}aB1wqFuA6KN(W7yJ^a%*B@$uxL>t>q$E__Vq6YDF+XT zH<)6ev%&jc3?SdFT;ybZi%xo zWd;b5LX{}Auo^F_G9{o4W(8J8c>rp^P(}qvPJ&gDS&N`F^~^+YB|`X682$_g@k8w* z{nkF*qa7xcmWR=^N_|})D9A+Y@$n@ye4nnT)^c299{*hKX8_}dayh#pjHU6HvhXCy z(ZInTGE43cdmwPSr^2A{$d!geB7quov8=iz8x+x)k|`|N7#l)DNH%z%=|0v&GEafm zbg-NH)OyT|O^V`WkzY-**qZUdQ8a(#$pWFL4-3Y88pO&EaR(vFF}#`AdBM7X$LaY3 zvanGGhJ6l#@(W7<1%mWLV`V-(tj8#iq-}u0{4Edo`R5&|@7cHWSGq!Xpz#!wbn}#V z1c4^Lp%;N3nITj;_Z!$3f|7`KLCM^Ha8$%5!9;cz`QWP%=S|3}LZAkVA0x2J@Sq{Q zK-Ox8V|6wt(qS=ra50C(4SFyzAwWzw24GuI>G_C3Ge~1O0saS|md5o^_>foD-?tv< zu34QLVrV8^8()*xY%x?6BEBl=10e(r+;Y?fulc;mmLTY53U^yMg2> z?)!{d!UOygj8oV&4LpJ5i7<9u&;b1K!Stx3J%q38XKll+Dp+x#22QS3o`h{gc~0ecEV5!h)X5u7jZis3?e zL*0lcfdm0bh#OO?8a-76XC|UjF2wqJ-+vv<`y3`bACi)I(`|3&m^5SSeA>|-|vpU=V9{7Io(8;l_z7{RJ99@*H&@4wmOfsC3}3!>4{rg%PZxW4Hhx`PyngLk zZrx*kevf78ow_eJi{pL|5Xci@$AHbJ-s*bI12mzIz$a>bFUYbxgsmzE@iKT0&=>!= z8EGr_KU)Ou$K0iKT&bz!o{S5wgtow4(2BUL#-lvL^W~oQ0s@Dw-SAoSwZX%m^38Q(=IfkW8o(TF~Q)gR&wmFWYZ2_BfwQz~Qqs zAfIr4z$G+A`r&-8fPj~{U^`M++)^(`E&?s)=}}sReS+gJ#E=2WF4~kK*Rx5;&5Sy! zan{Dh264!(&BOaT&{kfgfj&h)9waS0xlLchB~V?OQR0n(HvYM>*HuZ}@z0AHaiPII zu>q3%n|*W!=_Pcoe8J;d9Lzvl<0&~PEL-bk5*%cc>k?k9-%=z8 zwu$~_dBHZA+;RiTv;5?Mb=6$zrABgL`+yZ%_D8!1$JjUly@~`}9J>^Q2I=&bj5t4N zyLlKeLD?%Qtoa%zsBA?LM?Y zHU-==(&lZjl3}%2Vnu0^!ygTZx6_x{Wo1;`UXZf>)Pfg%q$TT*47A(@V6FwOw#)O3FQ7wNC zFwore2VlUabzb3uXhvpCksnEYHN;Gq8<7vaO3_q-dWnMm31K$8z>2hKy* zQMAottb}vC8517|_hs5#boQ}Y`xzaF7%atTizzwn!W^(?V8>I61r(Nr-%{)?n<7re z+zsH4nk8EI0-sdx8kh_CTP@pnB@nUYQ}f$6(;wT-mhjqW%9;C!LP(csMPpo7wpZy3`0L)qy+Dc3pl& z8onW0%}}sePnLNiy8X$6wa-u)Jl~qAA;`2@%pSB!X_Fr4^kCxh58K+&s+{ z&+O5xO5g*N!&J_7iAKvC4X`WW1Zro2SQy)PW2WhF&T4%fB0oUvG0`|`l_AzEP9bG| z%_XU4ax~|8yTJtKVpn(7-0YtE)Jirwji(Slr!4!0@U@B>=(jQEp>BMP235kA(OAdmXaDKr%%bt|!dZHAt|8c z^4z?hJbFF)o-y9zFgnv8(x%6-mn|?RNY5~LxmdjTT)$ne*t6>6>Ey=K{`C2!*&VRG z{@zJqM^BFFuH530y0y>R6=9qaHd)F*v*e>ovf*+BA&V0@5~0rPryi*TQC zV(m}>wBbhhRO*pCT(MR-pY6WGF^hd+SFY7Uj^jsYZrTW8+*LGW)6(hd z&*31-Q=#V8@ksh!7ulGFhsH_?I+*5C49s$wXyKYzr}_PdKGL_+ENTq}(n_RA$X>oN zB$O?V0@ETb?&yXAs(G%UF_!jUdkEC2)EYQ)6#m$lFyI?1r}B#k0kjB3Un1xZ=a`1b zOXuZqx3ow{p+XgNBAEp(tS~<7m@;!$au~KsT#+U4L#I^NFTt+2vqj3SMO}6Vmfsr?6VDCl~oJk#WaW_lt8vGYo zsURebZ_5qAWQ_uq>}D_#$IxvB788ZZ9Mc~q0 zassaong%^I(bk&UhV8-cNo-o_LAa$OiNH1pxVFgEN#8_?P*nA}~`=Zj<6%%N@U*$wG!XyitB7HVIm9XBEv)Bfw#eczcda$0TP zvb1>=T25GH)H1M{7FrI!0QzZtxY`1}E zfMSH@`#v=mz6E-`VmG?)ww!b|;iV1wFimhcLsmc8TV|V#p0iS9aM8YKqK&q&>}FJ$phpJDRDhdg{^Y_e6jHRP5CZnwEI?QMR9;SN;74 zEJu4vdlwq(Ub57L;s#l}V6)&W->YD&V23udVl3;vKlAL_h!UCs`7PIF$5nI16HJL5 zZt4u^TC&r0Ft&->aK;;7HTIX0vpxdY{yrei5@19ldLTj5b4w7r@Lz^})rZ{QhL|x= z*lQzHRs?^zAj5-KGBB3X4Rls0$ybT0tHC@hk&BVIkqi-)N@px8E)A}9a~HoM+Y+v>+u7VKdJ$++IGp;30&<_sA37Sm zI(Db*!x1KJgWF@-5BWqR7{MMb(bcfEOqc7;g7%ZB+{#w9e_F=bCQ7&fLwdRMbS*@A z3^ahooX{@v<)TEtV-AFeH&(eew<>{3uX97Hf+|$tsd0@?K!0RPt%p+ZjBA5VVCg%v zz=_7$y_|cM%uI$wP46$x1A3-@fnYfJYPQ5rR@&~)-gGX{&2?(Y;DB&cyg@N~nutt# zqZrm~MVeA9x#WB(UJ%0#9jH%zk}%tL!^&XY1-n*e6eqt~S055YYeK9I^ zc4mG zA;MtI^1fI>gytC9)x7sKaIkVVrOA{%=t_Vi3^PRiyfL2z2Fi5a*B5Y_&=Ds!EHOn{vyv2fUA9RZJbm!eju5D|tv0W|W zP#>W=#p0G^M?F zvC-VrV^x=n&fWy4v0$3m+^Ep*gMbz9;os}3dB4V^?$14sYUS8i<(3EsdiYe!*7@y; zTv|&qQ_(m%Upo+w-n{9<<+S$|GB(*??(HC-q37;X@SZ!n=ze`8ZO`2QvbBo*i_@mqLfrt1!SnEEc z+tqWoK>7U;NT@7sW?kairuw)~6+M&aHnW7h0_UReQ;~?1PN-XrJRS=YlNW1jp|iba zMpcVW>HwKs+{dX^7ZO`j^7ewT#mY~EmcHq+nP8u>^Y8OOpSPO7ou{0(NiaOiz&m& zYe>rt^ryqtZQJ&UK{rW8^ATx6Wo_k+pSjuJOm@G+4eo$*SE$t+gfUW!`J6w5)Q6(f z({6J~s!_Q})7v8hMB5dGx(jlf(kDZ>e0@kl+xkyH+}nQx;{Io+Q*Iv4e|I`vGthI< zZ+0@*Sf@oBQc95;`XMlIqaR<)M^t^HOE;C)nqEd&;{DNx&IiC%@6X34dx++TQNNQGaJ9n<4W$+o&@lE~%Z`B(npq zQw$UD1$nz;y=Uval~ZfYNH(7RL+JHmHr_llfa{*Ua*Ql6lq$)LRt(&$du4ysP2ltU zJVf|-#ui};W=9zTZ@i>;P-7o+dh!j|nBPr0^AK!1;CQz-Jznq7@m31PO4#ZKn@l`1 zqmgS1H2Q8rd~)gB`h0V9 z8{O#lFlPT?g>n(uNU{;NIjB)HQiFISq?gd9-}kG@DRqv`Hb_QYT^vCVlba=M*R#_# zM~ME%1Pg3laVo=D+;9t?i}t;}cDNDA`@tR$i(iqySU@I~$;tDQ5>6-7^OY)z3;ZCE zfpX$P^fs@B1W2tnvGWLL7q$VTgWrma(EXUG$~qrI zTaZek$N4sIeqLK|3H@0G{nK!nAtLQI~n^u<>`WGdjh&?~eNPEiyxn zE3|4dZwOoJ4KK<<&MUOovrq_!>qSRFJeJZEZ(xs>N^*sW`r9n>Lx4;r>_DcH!}_3< zr{f$75dr$e2~@(z`uvpF;}VMZ0*v^RF@%WU6H=g03MfPc7_=u92?@U^WWZVApp6rf zW@rfVG3|Mk4P{M@-bPusSnOO0U-3-XnFI%-yUm*EOW zoA1t)d=rlLIhg^f>%pRVm2ZhU;8X)m|1pZUM9=yJ4>CjG+SSf;?g&Y*4M&64Z9FHv z0kL{ZlnfAo)B7r)=b!E`KL4}5bg!IfIns|VCDnnA2k95 z|JAu~SDO_pFtf){gmXMODs5%U@LY(b$eO)D-4P&mZ4|UO<(oj7 z5<&co6u6+7b7Mz9R0PCG5W6QJRs$lpAbwy9oY>^KF+3oO_6AV^HN{cTLP|Ef(E%|p z1+F(|tDBwPlO36m6gdbmO8}G6lRXMB^Z#Wsc(Tg_W&&UqYzyMx$-FIrPPLJ?8oF`>G^KK&G4)kl;xmz?wS{DnufPDX^N1JYqDIQhHWl0(a7TYZYt3Bl^fAy zh7#FZGk#d7YLvJ_kM#9)gZVPgo$#tUzI6pt7W!tWTlAc(0=3j`5d+mh?ZA1ehl7wF zK3Bbl>jkN*pO!UC)*04Bvvk+BiJWgNvonl=Z%NdV?Xl^L11|-Ei z3RZ#R_;I{CjCJ=b-4EoHkA(UPGAyttVz_M-#Dv1wAK2{qriyZDnkgd%t zOM8Rh2usmWPGIU%#xs>fha*~I3Ev|jia!1*^QHLCrBYTFMp}quXE*?L{y2+L%|>Qy z3@_y^dr29W2P4E$KSqd6C8BHj5G#ie{X*a93L$ac^c&eAmt4sm0w@|yl~V0cgrqW! z6gj0*)qYv%YLpuF6eg<7FL4_w`l0sui4)YWJs0--&WHc<|r}SnaPz6!m41rlOCE?<(>U>uHyTm zka#My_OSB|r`bj-B{*$>b>t+f9)|kO)q08G`0Bm{>eW5sV9Osk>oJxK;H^1jl3emr zvOrASm>~uMB;r;Z?DCE~hAOMKH~(2alR-u2D4)Ote|iY#h}?CIuouEzCz&9(#f7gU zo&+Kk-q=H=9!?CGZiS{S2!=j-4?A0xm+PW0NMlRr){)iG_V5=+ZrMDkn(Qb!@!f-9 z+5I$@$_24WN@=p_;WBsK;14h!lD6Qnmcpdj2Zb5r4|ZbF+wi@nSofP+1Ke2G_>ZX; z5r;q%JAayZ|ECG-z~#89Hzd?u*kc^cp@b{oL%|4w9Ohgg>kxce9#LTJd(e6hDA=*$ z87m0N5f)lemahzznrctkvx3MMPmZrx4a~RApW(>s2=((j2c#&>*ZAt+Z!nsYF5A9L zoy~5kTu?xJy$xYUmST32|49K#BwPX?`n;*zv2xR*dyjbLtLM=}Qqu@vI#tc^-%rdi zz3v0zVri~6z@24 zjbzJ-vKu*cRq<`g*UZN$l&uWKXmHrR3A>{v>8cH2iu9njOG%*YwYS{mMVx)zmMWN&;i1U?7<4Bl0q|5^kVSd60 zRiOrB&zXJD7!oQ@rdd2_CJ_5x{zN9ow)R~^9DroLTofDf3bEup<*rdq(jgv}p zwEf~0)oyl^K1v5-_N6;kh~+E1=$hgoxUE=T;2#S)dWs>!GxlqoyZlMSikoRfptVh46jg4CaRD;1`4Lcz@_N)~0 z51l9nm0v9Og%t-?xwUG6-2;1GDy17w2A1cDKAd zn9wtelN#l(omt}QSRH7%Ya^q@5xv-|4OJIx!dLkMi!Gf)GsUeHKkaCY&|<>3%(__^ zHuvhuoNUVJj8vZYHoh`qq^laC$RFQ4*5Ll^9<(ksdW%(Y#={hD%vg+OK$W0A(aRsE zWMc;T+}-za;VyK|-M6Vje`8ge87lMyi0sW5?}rg8ejl_PzlZ=vcKyau*Q~p-K@1ab z1)oAphxPKp3spKqtNHPRR%?4fB5eScne+5A0qb|ayHlocY@bVRXVG)F9(%qCgP6v6 z#WUjD540X09-TN#YlWZR=glc{+l0Tgp|Ja@9$|lTvKZMd7#{%dFUhO!T=-JD&CH#f zy7)dxP80YN65Nb=doY!n;S1TiUNO_)AlHj9mdY18YSXzFHLb3FfJWzTSq(~1`S8u> z!M0PeS(X}(Z*7iRtrerTBoqv-FF%W=h66{N6pGpUGO~}!i^>aq5kK74#K{ijpo++L z+JzZ2bjo{nR(+R;`s?H?fAO&2;+kCFbb!f@DdqN^v6%huolT`LC6R4dUuyflJp9@cKwwgh!x5slv;CsQ}B=Pw2`}hn-r}(XlfRG$`X{0f)nXsbP zuNfD*SbgAEI4<Awwvog?~BTFRs^Xge9C>+{1ii9!3)3FOqoN;<1GplwWS9|S&9OV2 z3WGvkaTn~DdKo0WV*?JF;qNAb@tCoan^-xY>)4qu>6=V6G)pO5IK@faXndSCgr*~^>XPok%>u`_ zl-8){Yr$sm3wbxji>@h&3bcgBH=~G8M>k)724d_b=;!v}%&#IC7&B$%6*kYIH>F6^ zS$&0|-YED8J;+fV!%>^*n8}2qe@SYTkT?ON6I{}viOgyBVo!pQblu4yVtSG*BadzUFsj&!T4;1jHklZKS$q zYW?GW{c zg&Si+E4fgXW}XF`SNqxQXghndoD=?uqXK4x<`YzBoOKdJjx&#Yao%phz5>g~7$>b= zh?1M8ZzB{Xr8A?#4c5-SwEddKhl-i!TKZHdf>F3bfGJQ^(5*B{KtF@44C!k&8 zS~a4=mkR&z?32*CQgK&Dqu4Y(dsnCstuwo}RhK`xv}c;InrfMdcO@Sj9-+^w&+kl4 zTSS4cJ+Avf1{GyoLt|=o39US~m3DM8y~W(O`_l*0&x4QWh=VZZIiFt=2EQ2!w>EbO zv;`*JReu998`80_y}`B$+z-csp5J6(G(!}fF(4k9sx8l5@{W>FqH zK9Bq!d*LaK@a{|S#zz%V@L|rj7(Cjd6A1hgb1wd2!}gT*Zs9EF)&KY7V+#LB@tb(s zLE~y`Oi^#*OBxpWrem6_nA;HHZMMA6XYHG8)hKQ!6la6SRo_5FsE9ujn_1)|aTprk zA)w`d3@hBtdU;ujwdj<46;AfIz}IgKejR?YQDQ;ZHxM>#kL2nL*y@k9%DGT@d|~(k zc&wHnr^}~tD$7`xrTW%5)pUPMgDllP(nP#9b9Fl(mLa`R3g)BYxQ1=V?op}#J0CM21!>UnO&f-T#B zl~1_m4UhiVyRLpCc(XKrc~o5cO}`4R`?vSukRg|N=-7%6Ps&}rQ1*qDnCA(t_Vxh1X|&2ftura$xcqmQI?xZwK+Gj_?09?vd=qF0N$7KhK`^og=&Ioy{AIFMYgDw;-I}kD zg)>scB)w+6Q~G740>X)dy|Kk_z*{1|O+po~mr6n&eg&bu`~pS-e9w?;>?&}fA|QdC z^lSRW9|~Kuedc=ar{_{IS=nEk!KKuiDnIek-D(1yZ7_R4fnt>@J5d{oyQ}Oz&71JT zEr{2I zDe$q9d_XWW!0$3{o?!47Ogs1x_@hQkH6FOR5Yc&-goxy7t-ThC*`u!*niwc=K3$c>i>Bg znS=c;&%aT@nOYmMU@r8%CI2rQi(-)%6N``+5YwOEe+X17@ZMCOQ>b6aN@Gbcg8l71 zaLX6t-MF@DT{!0B-r+C+uI2Ql7U2=sn04yaS4c+zt$h{wNwqa=wH4~c&cBAGMnt=| z+J|@hQEojRj`Bc6eA;O122I@Yk?7%yO_7)U29smF0wj9|Yn|%!&=WOs@hX)Iuhtx4 zC>(nCiQ4iT>Np-MoyY!hDja?`mYv+G5$jojnYA#Gc?QdeN3&%oWnM`lVqih`;Utw7 z{YtR=3SVhBYC%`p>mitnaRgaC$G9iZMLdK-hTCEsuh=Z9aGAQCW{D>xltvPUgJA6Y zX#F>xg{7{sv4E$2>ln+8*^8HLW4X~lmB{+E))<`sg9uR|j{FgNU@{+R$OXG?i^<&afbU&z zZF}MNTKUAbDc>A~u$S;p=A zx(UX#hb>g$Ghj1WiWssUNAzwEV1S*~>n47;NjgZgI?Q3{nEU=M?qtt!(R#d51!!m^Zqr}7>tTCkp!w7Yu0D|BbJK;B%>ry4(FY!By=1|A$Q?NK&Z^Gm_o6m3@Uo7-sD z+>V+4l&fKv>Q>~RuKj_n|CV0`1_owG^ap|he;PR0IfgQ%nm!}A0I76Xk?JQuCc~(u zXpHH<+Dpub!X>ycI;qh;E%rJ-Kp(Kz(A|K_iMC14w=8xu2|Y?lCDaFROw;NtZoUy< z8SB%A2~||1W;VWxmZ*i9j+f0))}0L&JC@<8Vzgt3{Qx^!3V$-HHF3-7$W^Aa>L5%p zj0a2nNhTd~kNbJYTlQpZVrTEB^XT`P?_H(H?W$T&?A-mG$VW4TfdBX);rXuz$$xWY z{2QR*Z-9os0UERgn%3^xC%-~Kw6l-5i}*LbZLmMaxv3(WkAHGD2j9oSPpY1Odt*4BW$lD%soAtAg>H(Hm<74YElg+q5s zJ&Y^!BYMduVkR6igsC z>a?%xlwv;yDwZ!g>41D*aR~9V%E-QDIsoGR5+h2#1G~Ml! z4IQ~40)A^(DJ_^s41Lu*b**uzWIT1WcD29q$#(FE{2QR*>TiGsi0@(=5D?3`j1YeV zH2e+F@PBTAhPVF~+Wo(+YW{ZzXn6Z)3H3KX!`}c6e*-l94bbq%&s`WDO9!Ky$BS}D zOX>5drqLe{e25OZ@!sqrtJeIkZQ%V4VgU=Vo`irnKCTR#>3Zz&2Z3~a!*#nZF*y(# z9x?w&=Ryt+4z-+4X+>2>4fMtj0#B4|7rGT4Fn>g!P0c89lNh86D*hkyDLvv(Bmg3u znyRD6j>cCEpe#VFZ%MzGy&zH8|99Ktod_N~2J)ZcmlL(Fx3K^CRgB&kD1rE{00|9z z<=7$qqcJQgulFnej4H5P6!6DEf0E~)RU7{4(*L)r<%%$D#hLfN2J~3D z>(TUYfCkinwLiDe=4)w!@eEgg0>PkD#y)>%tl4?vh!I6$qE`5G65dG*Yju`L%%1~m zvOLMnh<(X0j-8te5*q|yj&(8`$*zob^r!#G5akhvNe0ymmPQYu0y_ZRmklX*R`o}y ziKkbb;57DbsIKl~l_moI|AK(fmfI-;Wua9V{yE_P#n00{RvJR3;D6dB;pG0WU6TKK zyOo=t^WTFo0Mu@*KCd$=xkG01bFklcJooek7ti=&+l+RYC6qQzQy3NUYaq}p^B(2R zbyTH)Cv%;&<_`;94JtVHx*o6b1;Ku~xQa8X39H-CIR~SP=kJQN_S1EK7hX5jY?>RD z!WE&W{ z=s4?B!DpnL50f2C>Sweumqv&kr{V?WOaM!=`Vz^F==)%XAr-?wi2zKzP>+7HY{AJkrGk% zYu9EZ&uG2DS=GXZzG3GLPgQ5Tfrtb7?`^ZeSjF=z+C{g;V884Wol{K?5;WHO2c3;s z=6BXbVJvBBPC7>yCMR9q$~H!lh}6Yj_{MTa7Nd7{JslRq95TBGd%W>}ML)2DK2;_! z0Nk#d9p=+K{ozqYTL&xfWqy$vnb!d_9zMH?c!XMkKa)@Ew%NIU$y^<`KDgEJx83Bifg2u{7s*i0WG-ow&7%=Q(mfRe;`Q9RfM3Tx{lTbxZUIMVfA?{kX8=63CYPabvaP zoh{iLw9W{?x+rKp`S=%=08p#h9kdP*#R44v#CHK~xE;WE0jBsL_%0v<_%0j=+9QDE zk^$l$d>3Gf|B$%=Q~U?tRWb#r+z^1u-4qo88v0|_17-za0#zpf6X=yNgXbh23fd#} zo@lnZV3VcipFUFVcT3!%D_>zxmXJad_E(m{eU|JF>bCY|*X972-K}n89DvykfeXUA zGIj*GS^$3Tw(?~61jOpC?oB`h@MkgfD`R*-6zvY8u=HdX=Kz@9t!{Kc%mYO1E8`S^ zm!*Y83jumzf(e-1g81fu3DCJFxc@Zc1L4G`&yA%`Ns(oMF$;mi!$D(>&~sz!vs@43 zDAO{Hdd|ep_hJ|T=wDrc&}G{DC%zl_4}90vlr##UiKhVg_Yc0yw%2_CoT42N0elx3 z5P|vR0BZihcggp<@c|JabN_+w0wOSS;DXI=KH$0(|7BJHri~~2IA8(;X{LH^3_!(E zGEU`yF@3(7x81!9gXVWPdglA=@4F^UJ@b64{r#rbhJPvQ9g(Jw1UMa^*)5IsTLka~ z;S@g7nLD%E++P4+x)z0*8saUnt74?b84p+pmFrUb`3bQqSuB6u-H;Tul?#Gsv*oo-MgJy6AMoeQMG%y6G{H(2=ZZ^k&(_# zN$b7s**cpN+$1T~UX)!oukp>?VlS;1<*Tv4k528g5#)3cx$ZZICSMdvY8ood!xjo_ zNLt`mRbR8$-p(;!S+e+9O**t0?a%G*7%Ra~Z(=xD8#kJ=KlKGhmH?{- zlRc>HE;X7vi{`c zd1D2~jL(K@WVzNshI90Ity{os3;3l_g*)3TydyV^ABtAXCO4G%^1Txgm}s;aZ6b8=$O~exjD79Fc9}~;W%L@$9Yg-8FNVexgYocOto{w0rlR!mE6%i8 z{twPs+a8s(VnGx?4Q`+5(DOIOuK5wfPoSkmuD4)(mFhQxDOgsJ{cRaa?=BZK#^~A+ zCi057%7&aOs{QXq`6OqVdN}sD2)o(Y_7m2h-85!;UxDd9I@YOE7*@SZgGzS;nb#mX z$Eqv_L^4-)rNI`VzpwN2OdLMC9@bfEo-hrDCyvJqvKwy@k0C01K&B0dn6(t8fa0A? zCkU2o0Z}`zDvw!+&lR_!iupBVQi>$M=H=7(*toJtSZ=fgk*8hd+dFX9K4gMJLR=W^ zUD^trS0^3Yzc{du_1+Ql&XSC>bMfBC4Lgac-aRq9D;)o}K;KKtZk@olg%BDu9x1p% z`%)1g^^`ldHID`yFEr*DiOO21?VR}T5z?Bo&CNHM=rGG1KUiFeGDn}Z^)(n+N+0ra z+~%mMpwYm_O@2@_!0qS4aT+QvRuPxu!|_@D8Vaom!M{WSjc)4sE1dXFdA3k9lAbh( z_zO;e)m$6)ze;!X(6ZhAko2c;;PI}b@rMQK=s50+Qj zZ5k|ChZCy0$GxDJQCAcQyrr2 zha+#xIfP^LT0O?w@sMO1I?5q8)>OQA7g=oamkiA8PuE#AIvVsg!&5!3vK+vBUh;dc z)p;eo*awX5cp0Vqu#f(fnB6EdUq#`WYFu)VFoW@JyeJ0&KYbrbYGEoqgIy z`abO$EPi{Z(mkpq(XktB6Gu@g74_;?7lI1@D8<~bdwz`YZW}I9VSFj3$ecn+VBGkS zCp~Se-~0Gej&FPM&Ak{0S*T@NbH2PehJK@`ESk*`mh+TmHfny2*<0~d?V|V&b}%fY zkzfFRMvdQo%JNzwlD?9SPm-%`%yDTtHS{zu`?Uf|ahO7&wHBs4XAoN|Sx0b;h}564 zD)l>8g!C=lHkuE2B6BY~r6W?L2u_3N3?~2SREg9Mt~#+n2!*Y;c}RaYqF$R7Fjtm4 zA3uDDg_rtfg7c$h`=@DSA=m!fF#hX*UdV6P4Hw|cCzVD;ZT;io5FV9pF-8KnNiCCwn7}OV@Y8-ieyNY>Uv`)3X(_tfe*OtQj_$u3~bSf+fO_L^8rj3pK zv3?dc{ixSCLGYN#{NaZweG;g00$Z=7+?cT(I8?Iw+tg(yn0S25(f6GaQG5O|7&NR7 zs#+Z3Vd)pYCRY7aSEwoNFjd&X5s1<-n<@~*T45NifA0Unil^m}NC?Zhke~2m)E3m@ zWM(0;O6@CX(J6n+rbSAeL1pkD%0 zCJvR%zX+QdTPozq&HViLYIOM?;}KFDUWgjhl4oq9@qJFc&QzIMd$tdkWk8kR^NZ8xg$6_Y>W(G>ecNiIwa&Hn)puC9)?ZxgmW3;*Og%?UB3cyPXh1pe0v6(c25sb;{dXf_8eOZN2lrcynKez*PX?>ZpHni8q$@r&VpQF(` zT!5+(v%&T=UPL%SAMp_LM4VHR`wG!iUr@q(JYQ}*RB8TIECCg~#Zq=uj#ghPj&uvp z(~_z}&IXuTlRI~BmbbxJEl_NZ-soS#R{gUGBYFgg4Y0MLH`Wc;+i+kJyw!8)UA_3K zM^)SfAV+Z`)a}9ZN9i2ru6pz=wnx;@v4h^iSA;kVp_;1TI1 z+_f-Nq$5OTnkDJ(HBiCwnVD@R(EM%Rs8>u1Lh%RE=>e?zvI23@Qqm1EIqV5s}LEwAZ^t!^8G#Dy5sf0;An7V3Ta zfB_p;Doy=~>|XFK70b!k$=uvYY@If4#>TyPsC zV+qBXwxxWIw(~yz7*cB4o0Y5Axw!8Q<&%C|%KUoyL^<;Ma(Q}A>4Bi$6|i)*V8g)q z$#m@Tk}2+%y=^8qo(3*yiBn+dr}Ir0vnf5HF6w%=o%!*OFG z#$N@jwTpVYs>2T` zbrILP1s5&t(f~`zPQt4n4k?n(6gOI01iOXKoF>en0L)cA!>w1^ZRh-Ugb(C)sT*sYIGjJV8^l zCFrPqO*RN(xz%Rsg zqRS;A@?3J^-355J$tx}@Xal7_LBXTQQ;hA3AMkz_H647GM8N5l-$|%ov&++b`)QZ~FPgPl>v9T6)ag^>Xw0I4 zY#D;cz@C+mL>dqEI-iN_2sD?9l5DXWX?6mgJK2|~dHw^nQ2mXKp)9*Ebu|a>t(CU? zNYxymc|n!y27YwC!_j<(*VSmUkq~ITjF>xNW5>BhVJ;-~*FI7g6z_H#i+zh%$6Jp& z5(2D)k8ySoqCQ!(;5_;Lln*O?aqaY {oVwBWr}q#5zC_0_X4!M{Ebg!Z|wft0wa z4t2zP_3!&;pg$D7O$-P{yy8_okTB_8rY_ zjD21F;-FKd*Zb>WD2nook?811Q^OzNuy^x5#WMt65)^?N$QE_aFT(YaMiVe?K<RcqjDW&ty*!_c=@(vu*Gn+W^2 zzSZI%@kJZFpX*-m)~_3^?;<7Pu#c7Il|pM5#)wl5MA+YYGR!@*Nu*O~beP}0pq!P( zTwyO($tPAg`f2Fz^?}>QVWmm%>8bwp-ILgFkKa1XWVTDGgaof-A_6{bAjb}mH0`VL z2|th9c3yX+l`I&K4`1ck#4Vy3lB?^gI!s_4;@9P5pWvN?!ExZ$qnl1iGF z{IyRge0HKq=UXK8?h3H&s^c*K zp!^xWt=Stvs#z(Nvb=0~c~X+NtVkwI!bWCPomh<|rdVqy8}miYfa7Iv7Z13VT=(zc zy+59>Fkoej8kmeS9jSMyAi`;NqAa-Laooc6oKCRWsD8%Ulk*-xUY0R^#WrN8R)?-G9SZC#GnqF<*dq7b?1kcz>!*0PP|)(VoQ{QbWU~h#VEi#JNl64qnnT9S_ouA)0N28Q)nk3c3%LPRSxp9A-t*T)`rnIyxMYqwf z?=AX1CA1)qPkeH=q5Zt$?BQigS2oL7n|wS>d3>>IjB)!inBIF^>|aoJB=CI4TibPY z`X4vk|Lq0-|GeSO!NtYXUbLCV(}7|l93?!ZYC(YHuvnO6 zd;QpHUMfin(&d?&yT*gIvE_TFlUWOoHP+TcyQ`JFUl|8UNiXEMT4McN=AApF#QggFyhq>7fJX3t+9Z^VQawfPE4ARw{(OxvT^h40Ep)v83rWeDTE zby7snBZpl0eeKZ)ujw}?NxbTYY8%HIHAAP)+=i*|MSUKN#^pz$4ew{*-Aoe9Y?S_@GfaKz=%Jc(^ zxdA#kejGk91?tTRrIYo~$FNDJLE#p#N`~8DRn|j;%~(lw<-$)% zn(-<8I?e+!b1vWX9oq_-`B!9!Ug#Lj!z~dpauW-`6NxEoi8_WFA6UBZqA)IXp9kU!eGcOA~9A$$3x6LZH7&_nckZtAQ5e>`+}!3n-nI=`Az4O9m`87{ zxXZ_h^rh-1B#pKq!1eXbF#iq$C`pf`AMx z&HGfMfmcPI*iSxK+!y8S1K&7(163G;KyF3-6$~Dd%p(_`@(kR;i7-Uk8!`6&^Z6##%DLh9*xme3kO!!B&J>0%|tF2zInW9PI}Bdq)G$I#0BBFk^N2 zU!`!UyGSv_TV*KU^;xXNeZ}0P?;AJ@op3jF>}-nFx9om~l$362l&bfvrT9>SyT zQ(D9USVNFK7kcHI4bROX7R5F?==sE1n4H5~6v!3=`o#3OAwvZm)BJof$B{620+g3< z5*#@{)oUW4=UT3C;XrB07~25|jiGxc32TfP(JMQcxvYsqXd8?^=FDnbK2mAKV(3s% zYBlD>Rbodvx*vAbqX}yDqNcpQMfy4MuppKhqYgBFYpeI=J8>Hm@x1g~ZPQWGFcB&4 ze1#O1(9imhPka9VdcFGJaIL=(`d{(NOhdsxD)1&@fM#_`7;;vLI;9pBsjh-;}G>$>HQj8xp?s1b=1pD(V54Mon1}##X67@0O{biz;H-XsBY0unn5wQ`RIXQNg>{qVYW$FktcVUIol`wzGI^BNJu^A+5>v`^Xoh0p;W z?JtCGkOmSENkeS?3!(p?3!!uUTe|80wyOEx4WV=XSwj7V(Emc{e|Foms{cRliF0#uaQ@q#_?m&i9|#?IapJd}JsEpzx;Ap=?GPx~ zcX3Jy$rI3)a3h8dU#TgVHg+AwWz_K7SG$5z$9CdcJsQRqo#^(Q%K>M|v=()U*1=!b z*T3P?N+`W4HTh;~WsYoIlT9mI(_9D+iHyW~x`Iv9DV&J+idx9A_Oa&C%B{KXC|k?^ zsNYSGF)CbUFaL0}N8=?o|GlP&Y~R~@o42AYm5(w5>+=sZHb*AvM9 z7kh6VR7cnDX#>ICJ-7sd1}C^{aCdiiceez0cXxLUfsMO6!3hMn={)a|_f(xZ-&9R~ zGc_~MAF0&6eyh9h)!o^2HrKwk#cSgi(~Z{FS7bf}WXB$9073V^79}Vit#%8$xtK(` z=*n8)*RIMr4A)zC^S*%Ow+Yk&ty6W?m zHZf*HEMNCWAAC0+2%@C-X15-UqpGdD1l(=fr!? zCESmSDr}ynUYT{}clWaQQ=7$H<9qlpKS~fM^K)4ocYHq~sLJnV4$qN^d>qz5dmo+O zJsOo09r;)+sjvxbIvSCK82R``Qg_orb^gzm?!W#ifd{DA06P)p#UCT@blPzz`UzU zG*9tBmXoE)USi!FEC3Y_aNQFCovp!)!VNf@|G1(7k~*sx8;Jf$qyaSB1Bd`A^C4iE z{$q+pz0O4dLV%nZ-}cHl9`Rssd?$~U693YYq| z08Oqs{tpfv3I)0ZK+OmL!J#Vw?r0zcq}F`^pzRKX0EdnWguwX|mIvI?KnO^!Ndbag z1VGIHaOgukxbZ*;K->~Q2y|lrkmjkF0Fn;KrT?`AV0BZV1e!DW_vUsK)&p=s5x521 z=tg^HhSA6J(Li&J016H?Hw_#@6ADEPfaHGy#|Mnt1weDoKnOH94K(Kogg|q+KnNiF zMnH3jKqxpK#0+dH28A*VG=~c`2b{ToBg}#D4~7m%rGe31ii5wX^a-GB0Ln^t<$)lF zg@5JGyS)#({-KSwE?*~#Z0^>gH_Om9W5J9o-5kVqq-H_7V};GgHh46X#oCz7okZdF z(4@&rrS_uvt=(U2minrp6e2ov7?#ab)tJwT!cJoC8ETNDqEhrdMkCM#_;}3X#UK29 z#lxsXn^a`N=1Pdim|6l4`2BP+>B5}t{48_2BAQ5>p~nM`_9RG~N6iJxKw;SlS_bxD zwRkO@G?Uk9R5#4?-RbL)CN1gIphNZhqI0z+$iO0-LeyFHrC1qA)4sQQ4fOKy3f>%$ zqQVNDMHWuVXx|KjSszX(OA+u}>in9?z2UuwFOl@*sd4w~L2BHN{%9#oe5{me+h=?v{ zQ8NXP2~sBLH5=MI1ya2ySuxDZzA-Q=&Q>`nVNL!~V9X&` zK^|b3tNli+q^UZOCV=2D2m&{%Xm)}?8H?RvA684f!TDOUmIrQ)C!Sh;R{o(TtiFN^ zvNYC`KW`BQm4GX6G3ChRr-n&@06sx}v4cb|dv%|ppQ4oP08vpo6H{uzVD_fz;T4tF z{Np`i^rx@|I$nF+yqIdL3pK<<<80lhM+eD-4?Yvqxs4&hR@9}EWNvpfPj8z|VsR_q zlPx?dronh2SE?=iAxphuB}6M6#DlJ=ZEoCZmJ8UgZC93b8^FbQhSrs1TFJ`$!6aoX z+{A^!_?pbEa(%Y2s``zqb~)53%B7y3DIp&>pu zLs;p6KNFHCQ??WAySjZQ|95jq>Z|>3!<=heB4CD;3@pYDIyw!|68_G=QSVdR`sxnL z2)qZGI0;!E!r|B&VpCb`khk6G4h07me}#n}!p@F&BJQ}`dc3PN>Pp|-$?GW zHJ$3HP4n6SgA4Bf8y45sVKT%u&c?GG3{L+hE|abf2-8#zU2a%nrxRaC(#%enr-?vj6^P8D|sYi;($U759pcRp90<-QFSV2 z+yRM^&25nW{(E~a6!>u8>7G{!-aIwy znFsZC&QLQ5%lWgDHkk~_5R81%{5he4!0yb{qJcn&-XC)i0)8?i1U+XRmBCY!NW3#x zX?vJ^&0HULHa84p3oE2=!G);*(_vr-Q!38KRk)Uc_~8^9O*Ao`try$tw6)jE&~+A( zZwFi8I}bV4+&H)4%piC0Ze6C*b|~T`aAH0126Jbwpw)xq*!-eMo5fgT;apf)B+!Zu zkZOmB3~(Ar1az4GY%ULM9?kP-^YDLc-tJE>!vahtEi#F170p>epbuRln&YOLqX&`L zmj7Osefteu7hP+}I~u7rddZHK;1%0*h3cF-ZDiS}rQdSp_@jI^ItMXnCwz?B)lM!s zi+vqIrc1m<%FBmEtY@|8mQS7ZEvNJG+(OFAtA~`@3Yz-w8qcm*FgY43o;uk_+P_+s z1+VZiZfk#*n)lHSTvAk)I8sz!KjxX%pzK_p(MY6t!mxaCNVKA^90`}5WIAmqmzpuK zH=>$*O?Ucec3jPsxZWxeF{6=6@sZSAN98)QNdXOBY2!hYHf5vNcH72ep;Yvay z`2Y{9kwFOdRSCT*2sNoWmsTcOsMhTi{}ojA_G*3e#D74VvlSKG;C8>S{y+qWez~8d z;~1@#^ImmxZSA}zY|-t)t;TKf>Fn(FrljNL=5TQ}D#~v175c(pEM!)9{Jtf5cS}dK zhXJzxHBpUKnr8oW-~p753CNn&cGRhE&(9s*ynJ0~P(kDr<1)@INfOKBFkBQabsSz1 z%9lkg8FTBP*D4VPxxFj(W5*UXbQ*UH*cPcH(tzA+lhBdKClZVIYd?2mo+kNUDn#Is zz3635&u(2me!XUZ;j>NPSS668-_94lwcUU@Ou3*8j0#gGlkh9e~k=+}OB&B4c&8x3)fN93a|8Ue4nrZ0P80tl2W!QL5ZtR##1{t1Y6p zjbqUK%)pmHb_`O#g^JLY$S^_e^rUu#;vDTQ9OSb)j3GWHgLg)|yK*dS8P6K`$_5!m&o+0eUZc zGS|cB9A~4{&X3x#5$=FmN9I7YHW1?Y%<$7<{k8UvW&(ysa!?0NfMgZ`L!fiHlcJvr;!XPoiifCu_H&#E+B zTgca4MfoS~?|nG^W*AScK8)X@JUot5m-g4ULAvN}*P2kKGg5bbOYvsos(4VmnGc46 zn{dHf>Y`ghDQfv(t%NF9w*$ATnDp9s-8%B0%o;X`B_(YXb#3=r_a+ZJYV@)04_x#V?> zU7zmv!&x9(=_q#UBDgP=!TEmQz7tZW(DvR>0*uGu$H&+Cp<^%4+uFm?2_aS84DQ$4 z$LB(WSoRhPZlUHwNGG zaUbm6&sIT`k8p&+Gz)!R)LNezYoGNE$ujn!++I^9N7a348$767llB3u)nqeTGE##o zPKPB?V>jA-`&63?WpwaOSggO+2|Z4RBHtkFqWC?eD1qrErLH=WWtllDf%@TPbzA4x zB^-v<0gVlY`(K`K4j;7+2VQ1SZ+w-Ji8~Hk->t3I2YuUElk|kL1$)RVwyQDL!ZT40 z75L2V0Z&bk$j)4Lc7AK?MS6_V>f1+Qcbl)#0Wuv;NMvwhNM}Cq^wgCbt;F8Y=Vtwa zyRQE(P)m_Jv)+$ta*t1MJ!1F;F{4lC)ZUGpmLUW*9<^#C>ZG~!iOttM`-A7uM&4>8qu~ zArg6coDPPL9Wsb?eYWq?nAKzur!OpR885e*tPV(*?3DZq>|PD#nFG8hOus=HKFG%T zM>>O)5;#~;TCHd96jX;f)`hty@yg8u9p*%5Ed!dD+X33}(OjBJ^m?7!pGZgE!qoAM zx7gf{A{fc^NN0OO=|?xK#tz;W84UcKZ+V;B+1R0OHFN)c=e(9dhM11(BqG_fapt2= zetP>lcJtIB%#MN*Bqu|=OFrc7)OmO}xTrQ}6(dfM1jykH>YQjdxqCII6x_F3uxj;O{^Qp>u8Tst7 zW8z~$-BHwrFsS5k_ofMd-;G`vov1TLLodaz8Mv^}v=IJo;G6tX9O+tt)^S?G#3g*?OXxS(T@8X#t*I+U$eUVL!LVXy5clX?vB03t)^ig@&K2HSs1&+lY1{ z$v$UaAE7vdDr|A=r5rJH4Yy6&$Gt@Tu*10^M_e^ZY!N-%GY#_-iH5+8N5J{eM zQ|NIfm_vX+Sr&a^@aJmw`X!RRT5&q_DuOg-E%+qhEn83z@bAW>CCQ)3bjpiJm#U!E z8TwM@ULt8@zorKt(|!=;^#DWjd#xe}(-$(_kU=;! zrqsbw-n9pw*TQncf`kjFCn{MXL7cF{m1Wk1m7GGB=;amu(JZ}vnD(mm_r1Y2vbh`> zB!g<$y;=^3>BX)NB8=?0s%U|C@bfK%obI%P>G>^$iOy$kVJ-o?AnA~()$su3dDbQ~ ze@II&TDm5xkfqGyZ46pG{T9K`z|t!@c^m!dI#Bo=(-|8&!`>Ho0cqez2EO^pyUnfscG;62*&oW{As%&a^M@(7m8F6!-;Ln#)r&Egf4j%?5e5ve(Y*l^9DbXt-Q zMEhEZ7{`0Gua5fJ6Nu!4?@qW%SBi?uR0yZ*TrJV^)OCG?!`8;C22rgdk=s(7&zyiC z>4_&ZYe%&ZeZKD=64UuQ+ne?s>-I#WnTKUeRwNWxdLk-xmAOR?%%?(k`J91c4jui z1!BVJ2Rd%8%9AH98^A?lhhh05L!<6C!S%qsKxkF%Ts}&tL^-SG(p#p<>(0 zv7#X`B08!NRUxDiRAYXw=<27n{Mj@9sgDJ+4o z903-dj9LhvAZ00a)*fsLy|nsPWW=FnRW~Ahhtgw>Ld~IbN$oXphbz&akEUQ{#;LL_s#abpPP3VvEYy;2vs8o!5t)8j+!fqRn{BB z{o-a@f3*r2N7AxgUvjYAx_grlTavLg<)*qc>c+>hd62Ei@0637zG86Xj_l);BwHCdHtweO#gzY_XeFUm9Tn_t9p68|oT`>u%%%oAv~ zDou54bd$_P!EdsUNE3q+{j(<$#u?rMtulOr&{g7=OnTo6BvJ#gz}MGIa}im@5%608Gf_FE(%9W^iT@ z&)&JfDRY|nPes~n|J5()|3(l0Mi2i+5C29F|3(iTe4l*U2>|->_s>W3ro`CR$}<&a z$tt6lnRDSn0;fOYzZ(@s#n$VkROlw;Exq@*3OfE8H@`5fN{{m}Rw$yaw)fltO;h_; z1M*i9f(aw}8D(=5t$JO5*Bvoq`c@wH2- zRI?)g%Sucg7+8CwZwK4wXAu>Av(0v9Y%qZo_6@s91uQUs_ELB-fzQfNV7c$hA;6}P zRlvc_!^;2nGllX%Z?6B}y*)S5mgsf-wW0;Pmh5t=Hs7l@0wVw|wKzLCJC!df4`wNv zFOXZuMF7i{233I4@`628wDW%7|LEiY$C*7i zJx*SsEb0gi9qE*j@{b)vd3`K$o~zQt3ahDMn&&(oRtE$78$ARAD;?dhKbreL7d>QS z{`W`Z|KHKWzaF9fMi2i+5C29F|3(l0Mh}5A@c)!L_iyy@|9 z%YTdgujpaF?X@Svs1o}G1A8y@*Mb=0d;#+q%|H5E5a_lCC90CFVx>TJUL8fuddaDK zyNpajbYWz5+k5T#Xo%{|>d^jry{%s7^7B&^=o&NHI#qeL6Xt z#oxiP`|Q9;I?=J$Vv+Lb)m_1}y0_oz(6(OVJ*(_2k{`|++5T(k$1ewhUQhXBbuD-b z#*ZwT0tpc~CkV-0WnDz)hjq-T95sYrHoaRp*xSFHd|h_SLXAJzrOw+` zhh8Ozmicku|3I)V@OG+W)h%JPi{e{Jxv`r_zN&t_GPV0)_vM&_TG->-FdTV8euJib zb3F9wOG92~MP8?qd`}wUeipS4@I{F78$%VF(VW-UzRm%d91wm2FgYO90776pV<5EN?qe$RV3Gkw69QlcfVoU3i(F<1D51-} zK?cnLOE=Ghiw%@RKv{RGul}2-HQn95>2k|*r*FRY+(Pr-IXOwrO!LwCu}RJhz~ztt zIco?^0Y|6hKZ>9b0FS%YN5m$I?&}R=2AUFMLm4&)@Hk**0T3!)>jQ_69tA=TcP3LH z1e!_(!iEsQ-3m~0z~~of0Gj)k66kyaDF39D2Ys#T?o13o83mO2K$-fl&8bWVRoGxm z)g%0rS@oZ|EVm$^!gFWxKtQ3YIq2J?=Sl4hfKjTw)Q7hulIiOYqQP}%fV)s1h%9ELg09bKv)liz^VBGgg{fX##?=?K##IO2{bip4U|BSpnoY1 zxB41^9_fKHDgs6g0i~LXNE@kU1$j{Y%OL0MH{23_j9r;9!^{AfhL%hHTT7zxjsBoz z0(T}a1eAl^gFZq!p46ZK7$>0DSRkD458}diXA%cO;N)ZiA#mZG>M!-b0O2wa0$T#t z?*QnP2k1%;nrIwo@*0@?rzpvmh$DbOS%Py%P}+R%NzKggr*ud8|kiNfc%<3{|Z z7q?n6^lhCes@XxkilRfol)B!|+&h9)v1Eqn2WD3ZnJal;%%+RV*=MBZmwk7hDoh0i za{E^cSVIo?3FYoKX+q)CwOt9~AnW-Vn$kV8&z4q16G}-?WIz}~6E!u~bDV2ef zUi0}`W^$Xhi+xkvc>XNYMg}2Em@>0HJ5a0wZct&N6h6t;z`}}_TJ)ke{)sKAC{3*c zl@3t@KX6kvk3k@jb!kTjHq!=jysk&pQaQMUC;n5JRUA>(CorD=={(ao_^XK!dfF?K zP~~_M6mQ5QWKBU-9&61s8co%($B)D%)B6z()I0*Vyn=>fI{Q zTktDRy286XKbkzo-+K^wVKIZjKPc+3RSlIzA|N7VJhy)PhQ`Y-VeBZk4_}lA=QNTM zqKq40D(tB9d}201$H+I7kVzLq;!J+^RZH0*7Y2klOINr}Utle>H3 zrPd;?T_IDuQxMW%a5N=}>qhnmW|y<#ux~+HOxE^GV2Q2WbR^2GmGz^IR?)N_}h+@Cu zPS-Z~+Oz8$#Kz-(TfwQzemdz!MfKFr44bA9n*-51C=C)0<$m8&(3AJ0(vye|*T^u6 zCg4>ujHDgFA?d39LJI8GCe|Q)Isvy-IL-(s6W2z7CB|gIYg90f0ZhHtz{0?Rr>d_! zP!U(ZTn>_yb7yxX6~f?ME_I9pxDeobRoEele_V>T!xN;&zEa2^yMo+b~g56T7OV66w>6^w#ZT2rM?l33$)>j5Q_d>#)XJ8Ravm;*)?1K11@mFFBDpop>0}^-Qpnwk#``f6X zoIl%lv;h2LLCPPn6iQtYC`G^>#)%c8e-tO02aT54MwJmrTF5CJfqs{Y8J91w z)zzMeDoDfpPopjeCBP}bw5)|m{!s8$hLT)5IKR6n z9Er3Jak9TS@xL(wYp4V{#Qa$Uf{cPVG(C4BoK{XCo4|BYAeyy1ex>5bw*`HGlt5&f zFA4mr^?-?J@UGT)BH0wpF!d+`T?y5(A~R4>a0wHUv}${Hg+B~12UX2XBoc;`3 z;f8RUGQe$U2Hb|*SpluL38Z1#fBs<^$1;}!w;atLB91&N=|AqR-R8RayBCPJm%4qq zHSQy7?e*ih)~47}yC&kI+b-z<;Q8{@O-b+Y@mcIS-8JN!J+Uu+alelHML&aVZA*-t z3l33^!yAFZX2?aE3w0N5!C|`eW}qEvAM082N@zk+qHY37nbR9V@}#Q?4=NWwFZY6PA0Z-euFf^do05A+Vl=V}QG;pb zDeApy%5?l$AlIn;-o|NEez|$Qt(}Dxa*NLYW>F54)1Ach zTqp)j+*rAW#Ss>FcgO)FyBaDiLX+MFewd}EyVm1d^DS_;qccReXI=tp@@Z6iaADEu zeS6?s$4gPQX@}_d^{&lLn!RNC&(mL(LXu}9iX{`T9-oi1%3VzcNv~#aG)r}N49ynR zTJC7ag3-59G}6T=ainLF`&r$>q+_wgS>1>0PZJ%W2r26FKn%Fr}%LZUPw>7{Ok7?$zn zv$fnTEfBRRi@;AWj+8dJW4IZ+>7r7+$2Vx7n->(HCGBgq{C>pEqx~r{RT&S{d=MMv znkYG~y21-Z>5laF_Hk$Dky=LrVX85WPNcZwWj>24c6jIB1PiaC-Fp;$r=~95p4IG^ z_Gt=Ad$%(GGoE8P1Ii`^cXozrVbTi(2C7k10E**}%;1MSS1lJ}T7|im?z^iBK6N*f z^SXW#A6GnIQ%zDHE`|`J8)3br?pB%_3eNF2ni&4)B4oszpb%Zm5&>|+@4P-gz-H4` zluxWw1mK+BPa$#b*8)!pW{i8zF=LEl4Df;~C-C+-0y~D9uAv0-A-UxqA*1sOgQy*A zn^|3p&Z=tA(ys{YwVpK7j}h3=pr3Z~^^CL8TR%c>O7Y6bK=s%8STt#6BI${zRg9nz zcWQ<^gSRh3oqVSdDIM)S-ab=u z5P??N(&U7W=@HaxnRLO8(;JgbMo4`*6O0VX7!RFJJOdd6>n|~;8*nKMR6Z}qmgY!= zAsX(2jCcGwdK-F{Vn5NuR)ifZY)#NAF;Yuy8@t9YMSH*g_```IU__md!(z+MWwO}$OM(tbW|FLLjEO|IZ5 zjlkN;v-O)8OV#*f`KNhQUNw4+q;7ED!L=4Ds$tZoX;Kj#B-q*VWT8r$cB70>5)>L*WQR@md#R zSOX>0x7`#rN159})k2)M`RHz1t%0jii|CGXES4WP>8h_FSD$F>SUG-NpOVwI_H%XX z>5=Dp$ESUm-vTrLeHEu;JOClPVmPv>Q~~ow3k!x(97}na6&DH4%hF59B2Q^Au$`?2 z%x_#yegEoJHEBChUpfIU`%Gm(vlV7ZR6|r{@0JqY%V4G;_HA&~)WBt$VbIvg+CzxN ziXb~#((HM#uyUwdA;qjF=Vg1DpQha+Eu@vgGq(K3EPN)R%ct@D44s~IMO>VxHtTF}BVxE;_SlyyjdYy11TdxfNiswRT>!FMT z{hD3_8s8%bjm{b|p2gWiK zjT>V{=q!7cfv@!I&tJx2i7)!-$4+ZgCv}~^Det@$5Tv$kz^N5$*nIHYVI3M9zN^uX z`ITX#6ER?>e)nLiC0cE#d&ckW?(!;D?Unt*S5x1<_ZCNTXsqU~C~TT-!v1D#dUDpl zS+>>>E+yd0Nexa2@gi(g|C{G^b>hx(EX;gDV^B^QfAXZ-h;$&enXy63qa4lStG$=2 z(<`{pcRM{px=h{S>pGkC+dOTT5>u>FnJQBT*;U4l-J9Q&AzAHW7>oW`)fKodNKcPv z%`prv-%zmX(3@hyQ;Mz$eLv!HtQXZiilbb!SM<{v7i>M6o#cu7j_>)<_*STYIoKEMW-2>*SAA#+S9??SG@L zjH2yV#NGMe&DS(9Q`^st>HF;^P>wBTj_-?c$eXMzd7{`sad%;jEv8Jha}Pq(AxYpP z8rU&AMD>DZJOAmYD!R07dLme)@dBiaG~{+Q2b;=EvdSfle-nm zUT_QSIJ|G=Cw zWmLI5OyuYNFb|-57l@oQ?@v^!Z(_NF^J3Fhx9br7@H?|-hf7?wG`(~`5&jantPQ9L z>41D5%@$}!ZSR6A_4~(jiFL<|-yN1uX3af5sUm=G=K<6H$UQ`?_06K06 zYg*l8ARe};Wp{0rd(UuvWe-QRx1ODDv%-R16QD?sGV2t40=c>=i^b2UDGyLJ+C+xEL}{%0G3l%SF3l;_IW_*7gF=;t$rR}-1j?A zhhVoWgDTX0S4!!QyqXO&b)U$VPqAi>pLIQ2=g8+^7d?m3UC?^*fyaK!;Mybtwq|$* zgq#d?@Gz{$6ug`)UYR)1#>vZMcAV9*{=I_<6Ygt`UiJAc|62p$sdsV0(s3`gf1#BI+MJ0{k67s~M z0x$2{UPOMtBJJACnB&6KRs5)$LqFhOlRPgi@brVT4q7!Ka3`y3i0GtR6g~@ z(Z8a$J!$y4)2Dthvfx&RO$c+PNj}%QDkoaFEQM-~xK8z6@>C7xO>9|#P)bq5Sz!uv``mqv;rk{C&GbB)+=K8E*g-nh0x8F2fRef0> z?%u}>D>&Edni%w^#}zyr^pWy*Q%~ZEsLVMGXv^Y!ymAzLCA$k&Dhbg$7Tj}|m9a^6 zRzlNLPtdwbwhqsILz8^-U*t#aJIdKx=g+M6Kc+Fx)VN07#8|2yIzqtEirv%;CX?Bx z^?W3>{UISw_nuIWF!nrlnFWQ3PrO0P@x|Gb`n{5p%^=Umd*dqS(Yi{#D9jMzq^ngH zTGZ>xEsq##(_t%m3SJ)}yd)E7Zh0nyJ}$C>#KLrz!;IOwABr~dbMbTp1HzGLf-+(( z^bHH2PSDrG11pjfalf&#RhZ}tSwFw?sQUIApo`{FOcVN3o;yAjqW>!adOl%hlX^Z& zmMPnU8D`yM`0zUCv?Iap2j)q5J`HK*IxPFH$sG?xktCH?ET{vGzUvhUES(+CoT2MN zxUxpGKSR`35%4<0H+)ftk{CNG3a)>xf?i?B##KnYr)wXh8INH%$9GZLyuCHnO}`bp z6ATIRY=@NvOXv6A&g&FXPD%^NwCVh3jdROIy01s8MatO}+mkKc4al?Wl&`DjGP3om zc=>s?D%yCD)v2LK)-d%CUQf0 z!4@{%N3WJQ-(*tlOp{V~%!5XhaqgkmHJgJ}$-dU-g_t>b&o8o7u^{_JZBW!4UNOS% z$r;nYL~jvoBw`K9(*V;*(KK5{V+HnSItKsY z0m9EOP+@w^tt*dc-2CXhL#O(h{yLw?WN;NCF~ky2A{{b%(M%P#QCJPZL3?^J*5vTj znu{+`|^5=^hK%njeeNVvV6d&74%tI_(?X*jK7 zm+{dTeDx7s;LsO7d@mE@j!g-arV_^h2N!hsY9nG4Q_PvCT@b#Vg84;gCq&Vt1Z@vL z0@E}xSB&{z_BUVZFDm-X==MF?OC?U}eLrWN)X4}~B6AB(q~i~S677+3&OQ9MWOm7Z zQjYI5Y#2spgvGMoYW+bR*rVtYG)bI!iF4t?rxEO?NzIAk`49(+!QT$T#Le(I@#odf zIrLEXGazE?3!}h)j+M8kQ`4>*94xnZxwMLILU|ZIDB|mgE!yfN zZIy{=i>K;m;KZKLN@oWN2tHq+`rk}zuDZs+1$U`+`rjeTGcn-Klj1CdT^Nop^_9MBV&c1 zA7-rqE+*5TabyJq^+gvg%-Y!_R!mnx2w=!Qye+l3?BXc~UVV>^MgPw%LPHuu8LKD= zSH2u2sXDYzS}#xF!0?vQY{$usCwG?W+w0i=j7yeN@1NP6Qfj|_aum69Cbj6$P|~CE zYAwR*Q!pZ|e5P2>AXR;klfha-0P#&iAu zem0k#?cbj#{`>E^vaxV|`lrvsuj^>p8FM%ik=VV&_e?FNECsBOowQMW7bd)*$DwF$ za`1N{`Q50Q(o~pzWNX3m#z&`$#mF09Y)K`6y*yNX&nAZzr9#0UAI5X-`U|w&k1{qo zIM2#B$$;I%rRCk?-oZ3RqkezHKnc2XMLTSDRLUrXvBg=8BF4Ex=$ zy4u9{d$eollqlyDP1A_^#pRQeTP2mrH}xI=@eM_$&LK5)|7i0?#SV`034%xto^FVD zAzn80z9n3Tk%3?5Wv@8N&Iv6e-5`DQkqoKrhDMs^SJNG8cD&%y9HNpROX0(rBh&1U zq5Z{6E&H!eH?>zsD6HM)1Dq@S2euC<866)lPOnziuK+mr&2#k^8?3K3R0m>(e0GEA zzA0MC?68R{@gTGc=3ss>eMEY?$mb1)_wFc_w{1lNx2zmroc8L^`!ccl2vm2(VJ-nL zsK%qdr<85wjiZ%~a;g<|on1`7?&02Tdv5Jw%nr3#NLQJ`kDMELuK=51xi9I%R(rQQ zKgoU6U-wGu+>%!bs`@u@2j!6Ay><(6-$(av^Z{B>c&{)8gNw>qH|HJdp#BYqudAQG zzX0*yrmyHI?&z=-Esh34BGN&);=UJ~wNS z(3~0xZbh;$&~;`iH*1fFv%=jT&@@)=^l8*BDAC_Wn>Lv#kMWZ0UEm=BF3>GOGr-YV znF^CNf0^q957F#7zhhOVO~fM1o?qc6nLWFfC2Nb66ib* zDF37%fD|y9$^j)HyL_Pl%CdhuZxcZc=ajhz^tlRM(5#W-DvS^@fiOYyfEv^gP=gKx z_0hUBaU!8WQy=tgu>xvPAe;q=XCTxC!jFI&6tH=c9Q2_AVPGJP@D#v21EIn|5Gk;w z2oQca=wmW>XF`N0LIj!{0Om3QUe0Ks1ezQ8lLDm-Py)>j047eRe{b$r>A67kfk?E% z`v~SM7G^P*55pe-87LBp*vErDb2c8_sz8_mpjT%@qG;gSPSdzEaRVXaLEldx>;l3? zKn4ngf&)R!z?RTRD8s<69fv$FQxB57NCXxT8ECouSt5~1}n%pe} z%0IeL;6~=b1yrjOv_zSDTYVRNzcxnR7I$wAKApCdh-v9{CD+R~Ejtg9mvb<;uNmO0 zIyrp{tS!SUepOZ8=0$pZsix9X{Q-N+nlX+j`>;Hxr;db`;@ADLEM<;a!YOPDKM;6n znSBSBVHb@qer;b}pUD=Z9y=fvQGP{*fCN8r--LdSLsg*P!4^oQi#LL#7NRJ&`leXQm_@QF{pPJLiT_s$RjsqR+)zlo8=3s2iX$W12r#NC(>3@ zDzu_rSHHbBh^TW%(PRyg&xB+A=N59lnrWm{eSb9DM>#49Bf)tNB&s=2ScjcaR-#

Q0=_PI2Qr#aQDBz3D+8irm!L(-jCupWNEeRwn6;~ZT?&1}bA+}c*OIpC7CH`PW zTy8@SsL7`4&87-xyE#2d#IjV?rT;n{7+InvQ#x0xUkX`PbnFnt7<*vZ!Z2zyvsvtV zAZw{VHrq4xMA+^OwtMagOPv^P^t<&ZGdaf80#O3l#HqfT1Ri_U`@Z@B&p=|u#rvrG zOATUf&XBY62wvBR7fH6d5Xi^?dSm+eN9;Qj@3{y+E-Jo@AsW_O71Up_?h3O;V%9=& z4e6GiKYdf$&)*gpP~J4MUx$3ZiAg8C`t{o?e3iz)*y0x{^GC*zQW8l`PuA|&kQ=p9 z(CXh!5c$IUoqBUVHWC%wynnkVWR70iG)}q% zkepvN*InEK;Z)Sza3^A8>PF9)NIgi3Yp;|rB9Mi9u8nRq;^46C?owIV0xTW$CT6F< z^JWMufKw3g;|K(aj2=7S30b0E+IS%eg~74e+B#&{*{i<0Qr?-nV;m<^+zqxtnlwTs zB~n41S16v8ZOFDo6p9AEfn3xEjxk#BQiMf=M1sV^a)cz9=fK`H4lgg88#=_HP*fVh z!w|QF8J0ATD|6XMtn_gAyreJSWmAwyMGB02yc9Bbps>`qx%T5;5pyYI-bi#gaGis` zj9QZh;6oCraKiJNDr>JB5IITNhT%oL6C@Xo5DD{8Hpsb2Mf2(ysVsvoAM)Xvj1^?V z#M(2yaRLVpuNsHPCYY;G1erGwU7n#8T~WLgEeN`x?)KXjrn1i`SF540SPYe49y)T` zu0&5>Gf-lYd8sOmx4!BP=xdDbF=E~CzrH*!&_M!k{_-J-!{dYO>c`+8RC1#r0=B~H zTy5p$J<{>-$V~Q0vP39a0VWAB6G#1f{!*gK>>jW|E~z`RM1krYfJajs*UqLBl?jGX zZG@0XN)Z+|>1*a*e_4R(NbH~2lZO};NeF18fx%yn77%22DOI;@@d@I0}2 z)a)xB$7T0}`pjyDet zl$RtyCayYq^WqhN8*N?nxyF{LC7$!1=`QbW_u^HO44Uy$GwguxKrwT(wdYehxQ<`W?hDK zM8rF9?aFVO2*F|vkwzbX@7lgyZ+qT}&B4uLwtoC|(At#%+aIRZ4&VQs`Z(O8eKQSV zph$#i??H>){mz~<(lbvlWMZ!4#=(jH2#+C(HU6_?OPDXG+n27*_iFjs=4zykfo6;K z!=?c?1Z`^}l=1d~v(52~WoqFNa8IFm2!-L9r@B0rz_*`s6se>)q}JniQ=+!n{TQdl-}!i# z_g0zYEwNU#llrRpR@ye>&C{JnIx80~PYY^aH;bn=P)~=r#ccw2`H=H1@>+!DH zTu>Tu%RqG5gvdeXlxTgEWqHf1FtOx*dpsUddy9X4tz*qgNq;qG5miGPTkpmqNO5&9 zf9U7<+!6RDHKpdQS&LXTH*^cSeI;{YlN8y0ho_U4FAAoOg4gl2*g%d`1=$_D@>^1j zkNq%*>-L)6Cg0kr=pfTl()-`^9Bv5)+4@5TsXh0wC&yyQ#f<1X8CSHeXqX_^Z6Y;* zD`5C&aTW@8CeHkgX{rLBd1%K$Y(#n4jiaR{o-d6GvKd2$_t#yS+^gE-Q&yo||Dsi> zYM&zOvg_1OZfZCSj98`Us?1c5?I*abLU)>@ZO65_HaB_;mxmcAoEea9&!%l`J{JC( zoO6~H%4&hRNop~+(xKM$I9IgCbw1KQa%i?2N7$LvRH9?Sokvj)f#RaOP`V*68*xZW zRM5LyHJh_SE;$caYLFiNZ28Id?GBIIOiuUn())Nt7BW6Dyc1~Y1s^k?u>F@74MRu;)pCCWle%h~;}m&ez`vmuU) zHz&8X+kq1VsDbiH#G(hIfd}Epx$TOgs)9-J`Cec3saT(vR<|{NYb;7+;p2U|mAo1Pp2%)_D!OV({q&7Njm1HhpEcF$+t_JMF;hPu*%t^iKm(B*<@y28L zM0zcs4K+n5rkrToERT-WN;}HH0m;4DDZd6^`c+O@gzPf<-_9_nZAkKqBimP`F`7F` zwun4GN+Kf6k5RO|RirS3akstIvEu1V{r$bkn^JBd-AAlfXI$e|a$LZZaWx5SQu9Vs znRW4`+abKkon2!tJ5C6u5nxk>Z>HUfq&7AC@0P3yZllijL0uoN?(;=YNOPd6>ZOlZsH%IuZpm^0H3{ul@KH?SBsXTrh9qxg@a{<&hs>Wy_@H$)gMJZl*%n|p6bLTQCc>g zTl;IsOTtLJ)peHOg4Mu}IYqR9V(f;H@OY|nlzl}VNybHb-7{hTm@Fd%t@kgQNS7)8_&LW!+RJTcU+NY{Fh1H92RILMBjas zU$dqB_FUy8VHQ|>d6O8(9z`^8*bW07hmc{(zA(&p9 zTn{up8)IuEfw+OMaBU(a6hQ}dd;P`nW=)76pm|LP6+Uo!MbGDRw8_T`$1MvWL#l;2 zmK7JKOq+>ANR6gTQ3UJsjm&?w4jTa8^7tyREsHV!-`IQWpgg{J%a;&5xVyU(+#M3! z-3jjQuE8CG6Wrb1A-F?u4{pKjHu;{K`JFjursh_ixm9;6{P9-pTDy0ie!A;r)A{sT zTjY(nWy80mB!!piLK3n_5MMx}!#Nq2pn3|8@Qw^X`YqAvdRSISLgHfrqNxf$l&w5vXH5-vsLGQBrY6c z;2iU=cFn@!J7Q-{hvZ-tZo!Pv#ST2!!VrlMk;j|sZvUl#>bHdvNMuiaPo^o2cqDuX z6{D*$%k@r%M+khAq+h z*5(ZM?JO0DvWPW}p?`&RFfM-pDF4$M>rG?c(I&+*yB&5?BdAL6-8K_N{{8Q5rb zC$aFy6hiFGy-$^t(q$1yNeQk+y%E#)^aMN%i(O143OJY7KGYv4Ro`<#1%p4Bf~ZHw z90na?_T8kuh(9=9$1vF7<2sr1@5OR>1P$z@8Y3Wyj-s^P5JA1#D}`}U87lG48i>sa zhuS56GN0ipLI0ZVPFWS3vNbOKwhmNP2-o6$zyrJIA*-%Lw(u3yMK+JO3;c{$J-U8s zspwFTAcF!r`NIon{$y*)Udt5tIm^bkRQ7#nszU<-)ry2PCG>qbc&pNN-^8AQ3D((gmq_PNNSv&!myFPt`td zt}_OR%WDcYQ<^r=8H2ez4wgYzr{zf2>Zl2gYEk-+TA&4AqTX8iD>2WCgM2`_IX)x_ zWXeMC>v;D%8esQ}q~%P0=9r|#$sjVoE~-kp)ay(QC-*QHow{BerZNTjehGfqQ~g9Cb}WrDA;MEpxQ=a+7v72KW+TQM|J8yA^u);IVBp zjMp)SqgM9D<%)10@z-a9n+(pv{}ev^-*OpcW@P%8r>gmi-7>w5u)D{V=Sc8ig=QMJ zTyG|$ z?lw7BP1i1H=DKNEmRMhBgN2GCiQCKwTTg4Sj;?Hf*`a$N-@GpmluSz}Zbze&yBMr- z{JPTw6)YYm5BK@eFf@`5h1Ed8582w@C-#h`&62vPV&wScO!G2UNHU9`=bc)hDd1P_3rDrW$D%M9|hCu<93^XflqIs0EPPS7jWk?*9URAHt`q~UYaBWxf7XR$_0=GC9} zRQ~dQe|f*Zyx(8m?=SE7m-o}AUMLmzdRHi#PyPKEh9Z3C`X8Uqsh|s~QIlk;6J?~b zC;?)2zV$zLsY*q#aDgi|OS3m$1!F8T&joT=RDE1Loo+80E7v<;;Xwq_&er*SS~@vb zHFZnSXPB~jsj-(!|MGs?W{JD8&>$en{9IEK1M$-Ll}#WZlT%mrZ(ziK|Cx;Sc?VuA zBKe>0YW`PmG5lA@fdAP-{pJ1s@_v7LzrVcS+xOGo81TO_;BWWAU*7MvI9_jtr9U2P z&@O$SvoqT8ym3UAC_h2<>r*1eNeg{tCV$jhr>Zht2@P?*2#}8LoAVMHxWSIq(;Eq{ z^whPc-(--|u){>{$^}#1`w;G(N^{q&camonZ$ecZrOX7go<~DvWgq<~9HKWQQB88E zz%3J@Oy_OF|BIi;JCs!Da-RQmKf(OJ$NRDU4_=&ayx*G_=diBnv1A*-`#o|}2;y(K zZm(*^M3j#~EW!n5s#u6wXdCAx4P2cmimF^pC$T7J@?ci$vv=+l8&rRq7r%@tzb&nl zRpl!;L1DkD;p5ePzHz)ZzxFnocc{9XVBrSJS4DC8EH2 z@X^%5JuJ!6U`I^QJX%}s?hj4aZ9KCytIV(p9<6~KaLufm1Y}*e=rKiRsI(;gpDw{H zow^jvHdO#VXERGR=>i0d7U|Ro?Qz7egLpG9_BWw z4$yyv8-n{RJik~}05Fad{Ga%5fYNIN=s(qe06!oh`Yrw&{NLz5Kzxh;RyxlPe~bSH zL;#v21H?Q4_Zzq#Fm*KVjg22t=s|U|i{)zlDJVB9ONY#)J@@ z4di_T;#(Lv>XlyTTNrrvKVjg2m|)&j#aU`T@xkcH{2e=e(?I$BGha(dpX-y89Xh zF>fqSfyFx58Lz<-`&gV>u%r3GEEgLUH%0EAgee(4IkDk8INHAVj{abTR)omGL&d8l z`Gzb@G5%eQYA@gm_I}|eD&nDG{+Y~rVu(1>9Z13)`D38%6~7{z6vDNriDqXFtD+R5 zOBKNV^9w}vKPUG%?+`mm-XpBUg-PfcBUtORSfQVXu9AkZz^dQ*yA=Gkp3D7pk5vRa z>Y`AF70a6V>_kn90;v;T{5bKeM^Gwbabf!#coPmJS!6=xZ*40 z3@k5N@Le1&7m+K@BodN;QDu}Ki_KGDlr38$glp`fj)0S>-x3DdS7jI+=K3<8Xu?P| zkhj?&RK3WHO{oYB#tcFftLlN-Tr(M=djoWi)3d4D?J%)yu8UkGv0-YoQal`l}C@B#GDzBRO#ugIVc9(ke zCSIXL<6za{icz)MMLdev=R?K_&M)PoZCPBS3Redq;Yx8+ebz|f&g{XtP^{(@D?GyD zoHBek@YzYzlRy=+!w0@@wYz?`+p@D`(;1Okz#8cvg-)=<8G?TB*r3QuraerGdS2VcX?OdNb_z_CSFhK1K=?3c{@k%^u-6& z$KXw0$n6Lmq!>!v=+8IS!U9x!1{ z0Wt4RfmwXC=$F|hB;5t;18N^i_bhmpKV_HgJP6how5%KMe&54;Bt@2DZ)_%#o3l`L zMT>9v(YtM^9_Aruq`YGy-R;r0Nm_3cC*%<5z`62{8+tk7)d1 z84|OBcytPDz1ZP}+W3d+!iF9YXcl&tm@UaMT&CQ47*zQtG>D;W_m%*ouL6nJeX>wDjA6-e_ruw4~I4vuKGnQc?3aTuU( zD6Q4yuvjG{mZY(ben_3F zyI^Kb>7|LrbmK_GiJ0D@7OL+yw|3?#E~Ug!#))7gI=Z+8g3UMkRa9|cZ6?Q^Y@+3? z7<=^a@|(J$_F7_vB=&p2;2=tgR;pX9KbwOJ)qft)D$*#HLXdv`IcrmrTJu4(qoV@g zl9ALPm_L4e%GV!-sX}cX@X2x3&8qOens7e39Qbu0x^z78xRug1=GxkY>fq(x{;>5@ zwXT!J+qRU^?z6b=#nZY@FkaCZvbtP*GB#M-doxxk`|8in0B&6fzH>L+&-nzMl$8`@ zb6;TQ2Ne;N(b3+f8{dPG2Ra^*I@{knc53V9K@t)U|4|aDZI_C3#dG9w4@DSBsnKY&iT$|JcIN%v>)bL zrLWFX-a{fOusJo#>Bo*SzBCB7utxDV1ns&EDi5QkzipC=!2Y)u3OuTSCR&`r06C( ze*c~l>T<3}J^d;CJ|Ev5t8q4aHsU9oVz zT=r}u))x{sbLMWf@p(3v1#L{gSL|#OKfoM}Il9o|IJY<7MfHGRH@z)bqm%3YW~Y)A z4^u@vCqCH;num(-TH2#?eRb^f3**ut109PM)54-v*e%quQfd z#0@g-Hdka0fPSkH&A>Az4N%liwe3WL7-tbb-2a#vqE2QjA3se?Ni36*_A6whlxBF+ z9%89zxI6R#FQWW4ctSO`rPP26|>=rIx~D6#?PV%`jtI_j=% zR;;&Cs}jb7_sCZ339ZYmtq^l|O<9cbN7ZrCr03_Ir1q zy-6a*pbNuL(?a-A2*dcgL0x&!CWHq_HGlTjYRG9_Q#(|@IIaNwAa=-O^yR}^|HhOY;;^5xcr?a)y zGsI7rnb)l)Z+HjAgb_yKGrt-15;keR&fxBt{;M&=hThXP0*;3~Y@X5Vj1UBR4T3oD zb$;pw9#Ja`Hpfri2S-*e@Jbt-%04Hk$#tTp+?CtM-sjY>cq9a;_*(ck3l^lw*U!t# zAvD8M5v<#OMYAP!!PIykJG<{Xn|VKp+f~htY{?&AjIJdZb?{vdd?4d|!lNss8Q!GN zDGb_NZ8`Hl@=@bw7G2lTzOLSGJsCrIysG4XSvb+>hnP)<5sSAvdCXsU!q+%@8L7AO z+mAPo=q@+aZ^JQM?Y}wnW?=ZS_4T|^_~_>8$?|pk^l;PD=SAsr=R;Nd!@Jh;=iTex zxf@%LTN=^ku9}b3Z-(+A)EoN7)L&zx9lm5hWRD191hSHZf_M%fG=LD@%1l+H6 zY|gF}Q!WO#jQ%2--C1JatSH>v?r>spfBP(te7(K(_sf^o%{E>5FtIfH1EQ}zc$WL> z(7CZa4yqtGDP+i}*^913Copkr1%q0Xb}OzIjIxX# zgB@$VddP4>DNVOt`#Nnt=u8y{+-~@RjC_`ZsMGhAwOT5j6HhCf;5=X7^P)X+W_sy! zY_Cz4jiaw<24VT|L4@0!!VIyaVuKmiUUv_oy%^|@rCniBP7e_#H)sOC=;_3RpniHX zN3#6%Jn)mKbyPL*{gSl1jGPYvuCN*=R#8N^fcxVJ^l4)%n8E{2nG*=i7y+GY~$K7plS>x=DtX(BGO$=t`XPh zCicZEFeJtwn(>Ge10VP0s#y~MHk zV+r|YTn53>>H5ng3<&!}P{r1uujmhgZ{PsU~Xje-UY&c!8LfnA7H z8fwGZbGFWbK&vUz*C4YnG3SC#H$xj#v4Da5w;IYkDoclRXqjUp6DeDmJ})>)P`N;vXx;=CsZyjBIz2(+Sq{MxeA^GBOYEzEB3)qt3YqH->S(g*5Rc# zt3cBhA6Tc|Tpq&Df{9gh#NjM#UiGRr8b8wT|4`-xTKt`50SFCm;)5N@xcXkD6aqt& zebWq@hH#j(C2ReukYa$|y~jZO*G>Bs+w;s%+q9R*Xn?Jb_F+E__AyBCfP%ljp%#3i z0+Y?fMTn%O&zhhswvTH9o)WZ4wok@h81;Nb>waQ)H&z)aN&pLF(GyeLDhAQ#`Cdg{ zPeqWCM~tE^N;hA^KeWUd<%h>4ExZ#8#5zA!QV-`#skJ= z<49Q?>Xj6!j^jXoHXV4MXp9rQ_YkUu+)Om7xC44A0zc>zH2xmAyj2)E=yCEpc%5wd z(`32vo*B0j&=D-F&~dXImW2{=vN2ZTgcC9&vx3s61Zo{RvkJ^rCY`XLgvJfWSVyL8 zY`7SZg;2ffG?pY7JCbQ!XWy|8S={4Z_h!HC(tR$p*Tgy&B8@$jw=D6-;N5v4e)Hg8 zj%=>rQ7T7$Oa2|lP76IrSoZDCrTQ{g9Vb@-^=1*DIV>kV(ggQ%)onf;vYrP+L!h7u zLf9*8kXf)qeM&qVl^l0sOdMRur#lVC&2;14a!gqCuM$DY+UQ?B0j%&C8G&|In|Kz6 zv!1iSX^Vr0U~vXtL#(4|2wcUQFiVDou>D!b*NdgAn}ns|A{u0;6vdG{r_0{zor@81 zVX^hw?SPTv8Jv=^sq0eLe_kBg$g*HXJ)rhv$dqLFB5aLfQ5s6kY9OXn9#(r@);JrE zGlwSn-V#9ih%zhVm$r#smI)dc&MIzt5q(5~;BW=g<-z~-$?5;ro6;ZIS^piW{Yf%a_SxL1 zA0^x!ahhDJf>979M!H#D6VIUv*h^v+q~D1z_A}}dfzqBTLsvt8=5vUH+uB?PX+6E|H?;I0+V)1+W0Zw;yq3u`k|Ywzrgc>B zmF^DX5-P4+W#a8iom?}aKd~A4)<9^XL-Xl4dtf{O9}6O zbbK|ZEe>1?CMwP+K<_klLBLj@wA%KJmc>V%|B-E5`2+!P>viqC4X=;%Dp5UsuV3ac zfA9zfQQU3ypEmYi;-UUS+~i-QzQ5q!UvTd)xc3*_`wQ;<1^51fd*DK`rYz`?AOg~~ z=#hZ|-jyTzwJG57g6-7hR{fUMKXGM}m$xrKL9)lU?OM~}TPl1y)snf65X}aW=hpCLK0;L0l}lnK}^WwnM)w}uK@S{-WBSUjRk>FFQq!V-a6Oo){%X+2}$i7@QZ%zE$g60+1dI8Qq2VwlG-vQp3^8x)U5_p9B*+^;y?dn#q_!PpgJ zqSTH@hDion9u`DAbnmMVu}X9mi|%{5ikg_bpLw+$AnZF4aMFCTFWgR&L@OH~ug@xP zY^*xY2A8jsS^HkE8Vo%Uk8AAQPuMC}3)6m_{1}`W$Y;yyFDNk$6+yB_Kh7EUSMy2c6k-r>+qIr5?f?7Gf2 z*iCAXmkIJ>8V>oZ4owxtVz8S@0*g+6V`CKGO4_{(J+cSNx=tndjr(8+Gt}|5JR=vS zUwe1W*>6yfUg9ct=wofzM;VGL7idq9WXdXb^P3D6J(~iqm-g^L`o)zb(w!u*<0O&a z1N-b`#2jS$9Aw`)`u8}>$w&+9eRu1UCe!CFGiNk}9DhQk$lyTFnf2~*S&@DzEcZRB zOPtJT@Yf^@1O^v%@p75Ymg6%rLhe7I)nq-OPs}Fvcu&as3fq0}>yqWN;4M#Q1cki0 zpcZ8zp`Q3|r2o_zs`I)M1Wb8y5CstZeIcb|&a>6;9@E1E zA;*X}1ZzLJPSOH%<$D6ifrUhXxkLNiq+8vjn}0qRZ&9s0sfWi4k*&O_U)Boa&a>x0 z@#{2t0#rU&14XF=d0Z&xd4%3L+}VF zf)@~z&$F)q5vY(2I1&OH;V0pSAPykDPlG%m-V|(wa-F0{#;^O325FUWo*fCy1uA5# zahnuFLLi4mAO}AA5XhH=1%?#`$lPIzz#7Bw!KmLMZ~;9lT;ll!^ehAYJewIA-!XVB zU>rD0EI=gL6f^)SX#tJkPPZXg2^LQ+(v$qh$Ff6i~+rFmV$B$lNCJq0#bw%LKBN50r%L918;F3!&yMb79%* zJL*nzkj_iS?Ks$4qV>TQtQ^}KV(LWMHNiy&C}JYY7FBA|8r25%euHZu#XY&qKhCcj zoAuQbHD@1wV{oMwcW7l}9h;ac;qPO+tBs|^T=dUFf5#rho>CIP!K>HlD)Aj#3tmC+ zW}fFg;Eo?$GGeqDuzetH?(Tp_A$}D5-meo6CF{oE9A_T_h2r=q=d8eT zAaF7QIxf@r1q1*X8uZ*x8 zX-d1fDGxDdZFDu%k%d^WiIjZyTq$%|n83L`A8thy&30*`H5h_KJXAY2Jpu{l z$BHnU(wEK}sy70f)dm4k>0tIs?2|9v*A@NmSj0^Fzg(O{`y!xYD@~+Q-P6T*lCNAz ziwq4(#Xe;}y7#eY$(=?l>rE5K7A~xsJfcVyxq0{+LHJ?uYAY1J<6utwWRXl<#(RU( zBM2^!^F_w~3iVTTGny)I0{i#sKxSdY<3WU4$UvyeJlY1PB4XSxl>eLrs2^GboB-O? zPE0`pNuPXy(RhlS{8ih!9i?ez785-6>MaWStS7(z^ehSUR&%<8u-u1kpnh2dM96PR z>_VWtFdRj4nB;$I1sY{b>^nR-FEYx2VE(z&}A%|Q(o+raJsOQAh%@<&Kc_iRXgH?6agTRU zFoA|@hyd+7S36Dt_8#Uld+$7=Rl_T}xl6F6a|eNKx{0mnCSWX9-=pUw;_opGr!a$a4EA6r)~ zqO{Ui?c0o?zVWEe>tFuZyt8)M2z6gH#uTlrh~^pQ=~=E0PG---G*C&#JD|V0In*Eg z`X2Un1T%#H^&*SIU}|)ehVGtQMsdWC;K=3HyRqHfp}xJXV^0Znk91r@7&=5k30IPC zHIhU<%N{niZ8xymxtFIHszc*GYNl;7p`WrJZfi?#77OewDx@^65tqAunUXzB=fa&q zD!K1^=4F;nb&fOJufrGS$$=S4pT}U5B#L?}FTrzZ z^#oY^(TbEp1T*+eyT;CCTMg^2qV~>-L|HYh`SbV9`=;^Nl?_<=~Ksx+TVzTjXgtjFq?|YuQlmk zPESjFKf4aw!?s1HlULS|+syAY@JZ}KjHWIHM`juhK?jV%qD8b-tKWsCXK3O$L>-j* zjYU)st?GB`-xS1%<4_RUD9iA(P<3lCFoa)8<%WB=wR9Lqgm6L1McXsHJZhH)!FJJ}{6lAtZYl^D&)PWr7* z$>Fv7t{#@_GGae<#)Piy0)i7$#3FjoIEM4^B`-0vGEr@m0Gg^t)y3xUzsQ%d6L|BLW8}U`|$q8#MuutcCKurAdaduYUZoW}|2=$c;T>Cxgk$BPXq^N0wcykIQMTtEx#*S#&TN&AKlKgT+)UC)PTuANK5JBsiG2r^)NB z2U2a^X1>ttuJYOD8K?u){ml)l#Xb>3mDjOC{#5NeeoonFT5OrJ%(vPYD37?jk#Ane z+{ZN=cqSKeDtOv4&EQa#u0P2gUD|l7p5Cp0``R+BjrSVd=s0O>@1M8Gttrz#CWmQ4 z4$o~%9|j6hc@uKlb+ml4%PLMQWjCICJhw};7OaiGY`_rHcm~P<2A}EUfMAI0VklU8 zX`ZhasfOuwLABNcichpCf81qpPnc79srESeGocpLfSI*THdc&NgUJ2? z#Iu0;oBYFeE6qIh;$00MQ{sr%8bq3>d)VvIYFa7I8k-*pMfl2>E7yd5(EwZz1T8W( zJsCJZZWu0C3w`^uQteZ<1-c5%HIl}UaPDiRq5J-y z+YYpp-zi~!gRo7EXWnwqlC)Xl+f=y@ZA#kpyPW%>=ckQO{1U>N8QP~$=v7E*OmI-j zi<7&40E5n6$DxfP&gc(O!gu%f|AN_)c_?>Pf0HvUx+d_ibmkMyp(VYRDyj&DKv2r!UaC1 ztXs<7cQIx1Q#B3nC8f4W1MI`Zu+ei*qcG)D%ha*@Iw1ki5ZHp z;-ShVhlnu_ta9mwg_C0bYVw;+9TAid6a^%1B9i$y7NP$s zZXjZ>(;Rekl%^Y0ivy2FDAnN}ltsQAp5I|QQeDo@O^>XwlsS_KR8gc98luT*P1D|TqW$H zU--C*z>ugJ&L&h(X_`SoUf1Mam&%w<8ufc2=g0mm37Uo=Q7yc7Yq&duP?`E%NH+Sw zamT7S+Me%TkkSbldE(VUevPX_d*QISs}4T?KnnTyO=jfaI;2BBY^I#k+^|iXjwaTF zAYqyENtl*s+HdNLvtN-6#!C3Wc5jZh{1 z$PyY_+qA2MlGAdtlAj7zek9#uDD*y*mPA%?`WePjq2_b8)RGG&4fA0_<|UcX&Z?eP zXKdjiSWllJUxj%;usEG(ov*)w)9Lt9{bzg?$G=2|{m-8qeq{Og;2N*RdnVYEGTj^| ztV6zx?Qm{n^oZzYNL@FE#rT}n_f@_i)_+uY~wGDn#9Qiz0N2j}0&Rl{iCI7K>Ezq3P z5La%8_=H~rX~BHN@cv%MC2lr#gNqpVSH(9hcIF>MCjyTLyY=#hk}N-mKwxyGzdDw8 zI;AFfSUg_93e?2D`$F*Ig;^9U>L-SSC9qivZ>aQTNwzFW-+ptBpGO_ts53hH#QC+I zc%DP$K{%_7_e2i>CcW z)Bd7qf6=u6-=Jw6|MDiof7sRhSEFehZ(FFpXxd*i?Jt`47ft(%rU4x={fnmkMbm%| zZ2Vt?ru_@*{y%@f#LC3U^6$_z&3G+#>l=sHFz@h;8V@&qp3l2PKp(`M7_Ghsv!hV3b+m^U)b`N{&{mr&r6#BC^3mu)@E%JZi&ii_K7X8Y39 zi{+L1)yROQL)H15)92KaIr0j-{mT@Et<%z)&H2%LyWv#@|Mh4f^`z70<*0M) zMq2)w^T(+5SAv;ate-7?GmsGK!mqE1RBQ$54YK^QXU3A0oEYbKd0i?ih73zep;^+$ z23I#%b0*0y-lL+H?!j0cY2hq8^ZT^fGt5%2<1u@>4Z}Mb;mcmBmnSSjU-zvBZwc>=Fpk-dg*?XD5<{d%WpR?1 zo~hZ2z7wI7S$>}VP5Sdnf^g=$cH{(ldUHJ09HwfC_59m_}SV?VXn`r{;0 zMc)Q?iz2>fEd?z%Kz=c;?QXcJik%L|12{4qg&zy`hW@klSsdDp@t^!yx;H<$sW(44 z6}aYdz)$Y~gZ$Y4!B0*U@ROTD%+?0{`N`}tzzYrV9y52f zRle9LQ9CL|_YkZ7$y~CV8C!W90l35|1N0PN1g8RI!~$WeZx(We0C!a_1X#>bxlXzP z7IO@Hg8P8QTAM$l_9S2_XMpbr@pIK%)naBm+dz zj)`Vd*GW3SvJP-&TP5BTOa|uG0CVThvq%12WsA2;R-V{nfMu6=czk$Hk{WK7Zd7>;z7O0SKH82j&7bO#pKN$2Puj zw@DK;gbM6Gz5C&2JJ$|2+Xl{3vfwLrQFJJpEe{080%mYP)4GBDR5kE_Y~=d>v5`|e z*Ry@Ikpo1)sm&D-D*+ohKzy^2lRMXgdb5!m{l`WQaEL1c#QuM5T14Z!tnBWLvrJLQR zz?yHSa?0m_Oyy)o1Ev7SJ1#(cGnE5GAZ|BT_56>i9AFX11jNEZfd6AE2b2oL!5S(7 zxv_7ia)1aN33%K6F_i;Ez*KJg`$jilXvatoM8^V`)==eKZxooTeo+JrfUM$@t?p}Z ze9!A||KMo|Z)S2hR$jLn!)&X@%xKX?>wPKqie{KbU)SuR(=zoRT%^&~-t6Q&06V#e zAEul-a72H;Qw)`rNWFbl;~8j-l=cwKSfHv8u#E4bl;?otrYxrFA56eV036Wzhm z?vx&lc?HJp+?t)4!;&1+%cE>If7DswSUq-5|6|S*2qCnEp>B|&wo-CRTqa^EMq4gw zs6BRM*Y9nJv3%SBPGyt;rT${S6tZMz#fQ68S`L!CX@hWK11wQ57pUGgniI(RrG|N0 zgqNXsZu=`SxH5!#CONSTk(ip`7I6qE)AJ8KA0NSOl*+4Akx1?f$d@?Ls$8gxPN@cJ zrOMGuNqk?hrgmU|X=+VqeU!AYqBY1|W6#!r`r%7(hMbjqCLwm1*k<>%XHW7?-CgyedA7)_3zP{?-m88ECWIA&wk)fXh$AkUv6 zooF9;pK84xzGmb_d>A-8_Rq*8GQHzt>WP|U%K6B&l24RuJ2!JF#*%b?N9(4Te94%n zI{}2qUY1`Geb@P+j$+BXNMcrpw9bKx1tCIW-!R)L{!44I++re~iAZTid_4LdPs81e zX6%YNm=C3Q;}II=up^7n44e3kvIYsQ?;>Es!C{1Ksr@K6ERgCKxIzgiwg5i109AG+onJ^e819^V)VT zbO2cg(|_YDpPhh+8OQ4MK^7qp7|UrWrYubm0J2SN6v)Gncd+B@I+{}k{ZRl9FqA`p zJ-)}f%AN+`G_kQ;6k}=Lj{s!mW(Ku|C>0}kdll+7YSxTmJo~+C8zw}5AR@I9a>x*V zKQhLT1DS=f4k#KD?PehYtGd!;^xuHHX~bD#CLxH`1(H3c5C@adB60r#08oQwHn53C z#E@w#aNKT`1wHSHP6q2VXr}wj%@X)CYAk-`7AV((?<+Hoaj#9(q7l4tCXf?!g)9}g%(4Y`5juEDs?=*w&mg5VgwJp zSlDRs&CYtFf?aogmEd+^AK?sszmo@7mSFrW>UO{IdF&N;J-zeA*4u|`t&P*C_SN=w zY)N+$vPc5V)QJ;F--Gwg+g%Xt@#xBr7_^|fI^MdpmW0ub@pp;zM)Y{Jb!h5rYex#z z&BkAE6v17?36wnFLRLla9a&DT6kSNIsd{h9D^ z1hvU=T=4hhp$@rv%eCpj%U*y;31TLJ^z#+Lizp$4IOYuI-OrC?{>4&`^MdE@uVTnu z?h+(Y@7mhjD3GL_O$woOLa||`pe2~YX)HSfRsb_92ba#y=42L-C%7QNhr&wDGZxWX zn09+6Bt8<^LmkVI4(GapNvjE&-ESZa2>bOfE5&T9>v;fCF&;>)&IS$oIlutnI4`S)b3R7+~_8Y^agjSfD~1$<&O&VHqL z~wFG7vN5U*Y@Iw^7u`6^bV__}o6Ez%ku+*p7|Pk3((6 zDu8zMYc4B>mh`={lv8-=NJo3(Z^2_Jqshj__t8Gfy04y2mSo;**$7syO59QRy?KZv zf)2eOD>=RHIS^b@^f?Y$9}aLndjwnbS)Fj-+uU(qQZ8k>ob%XiF~!26Zg#?(A$B;-$6}h2k1u?IlwYb|Fkh z#mq}N&=HvgS7}}m-n?unh)g$E(6**qQU+u#`7a!|b1db-dq0_?qR5b9D9XmNFdZ=N z(YE2^j-b%-u7DOow#*)E8dF4ShT&RcRVMd$H0Gul+^edLSzsEi>jM9>{R@c$==;JF zi0;alr#XVohY{6Rbv|9MYmJ^uq^(6XO9nD8&@Chi3TP8ZzS)HoZJ8C&4HtCs&-Vt1 z^i#XT?H-?B%ad~pWALqI3%56QSfoQdBCPFCRxfmfTC37W<84IiJ}3qXDH>AR=x02? zT%IeY9uWHtuwK zpJ1e&k$pzS)1I_D5wd4$(6|a5{Uhs1`2r19(B?LQWP%+%o_=dt$&`;N{5)oP3@Rkb z;|AnOX=}TV1umS78GATJr*ix6`tLNb%m_X>>sxKf?Dc}yy2jkU+}ud0#RcdxI<&;$ zTK2eWG-WgxqAb14+>l%yKhMoA7W$NVy*whAOm6QZo#n@M@2zoE-rk0UU-7RJRGxLL z{^VovRFMA0_gID-y;n{7L$cNupWmykt|gGS6Yz&~c_{$CdBE4Q@T0;$en9ydZ4;cV zx6;ASe~f^UpINxQI?>4PGRQ!S6!qn&%)-9UgT6Ve%f@gjbMjSQAcnE#{A{>N$&!j= z?&6EnH{B17y3>@dO=u_08h}%{6>6EbKpo;IX!!l8d6>q7Ri*Eq4Q*Y+w}O|Bv^6f@ zSAQz4OGGw=&Bwr7n?A^&p1$0W+9NzENaX|r-$XBGBK}nwywG8{eL}I{!V^Yk0#XA6s3H&lu7gexytjYVQ0iAhhjgP>Y4CY}`?P1<=0(|?QWQV?=wKV0 zs6+F0Z}{A}3i|67;*pAJd~7-IMt;bd5QVxA2>W6V?UHxR2SyB4Y$%&6iAF1hHs1tC z@Vnu$IVbgl3cr9cIQ}FmA5IhfoGH?E+;yF`P*D7HCCTxEzAfZX4h&?iD|JD=z#ONHPg_h|vDiRXuZcarKJ!8e)@LULMqJ#2|V zauxb|S`+j=6YB4W=A_TxW5Fes$YOfOaxzgm>B2?yq&FvF87oS3=}A$10(lXDFcq^aOGK$5Hk3p}ZC-_)@R^k~KLR~s9|J58Re?4C2EBgtD?gqeNU6^<$s}VY zem@ESj=1ZRp(R3hgm4MzlmUp1`Ur8fL%3p_jXRb+s_|&(_N49gzeUM@#i|X$g{k-_ zsWz7(3Oqr9wO*}lRd*HI{~gYQZSBNHqI$4X16;gBQ!y+@7QsGJdWj1{VzHHEsO*cqh{CYB5II2BqZ$~V_UPBQ)i^dqZn;I)>Hf4D&A zj8Y}iCb$OR+=f}vdEJ8%jK`y5cqrFa$axGOISja4RqVd{IU#LeOCt)FBK4ZHo9DsE zqasxqLOV0mp>$-eXh==850&!cFcw0R`pvH`gV{iAl{0k2v!YIF8b)fy6Qu-;1SS@FWdcdwN)F}S%?KC;gB<&}_xa~T z>;(%y2EmF@8l>)Kl&|FjmUTm`C{3$LjFk!=uhY4<<<1&wbvPhm!R0(|liV(S-c5Zv9} z2@qU^1`mM%!7aEu!QCymTX2WqcB_-`%zWn_nVGd_X5E<^{-WyLwQKjT?y91B>i77| zwe-H?fkxZFelf@RF*Wad6ySzu5rffZjbp!ojKo1U0Nw$O_J{-~>nDwxy_XK9OeLjc zMN^UZjCw-d4D7Y@K))xe?FA3h(6f9CJFaDREYzdYPu9_}v>N3Z_u`#dWkNr59;B$H zZuV{ozvWpfDO2~;UoJbmdju4#)k{yaU$_od%b(5x#j293PdHey+V{&RpiW|A4>_$Q z>-o7G>!phPL4I5Q&>zLBFkJ=qbwj)@efKK0Ypv(~-hTDa%hernZkdq1vM31xrvv8% zBbjXTx7kD|Gbqil>h}xEqyl4U zlZ1`74V8Jp*CA0iGf=`fD*`eOjBW!_wfgp@Q3%dT@~- zc@O&KKw6umyTuHrK1Dt58|QKOUipI7o)MhJtKNDJ62nN&=3F)pi?7k8aum>cy(Ue+paP!o5b zVZa-MLEf4t-4=YwnQIXkaA`X=o*reqQmrKJ%}t*)CW(AGPq{6e!uiu8F5uDj$9P6s z_k#ruGQ`5$4u97likTzEC^cH*0o)9l1m2sy7Fojl!zygHVXn1Y9b)^Mou~3fo zG5)RR7(lCO0SH_%kS^8(q>BN3oXTmYGr-3YFaXe4Y5;5+fSX+alpBDXjWYZ};79=k z4k!lv;o~BJB7mDQ)4PvL00%@pKYUyufVBb49x6}-m_1>@8T$r6;0gdf4(J9z;Cz5FDF8))*#q-&VBIR934H`4 zFCxIA1<!J0j>%_>j?ytLu~boN`b3KRk8 zj1njU&eBf+bVd!3aBn*TjeeXOCjDcvWUb>9mmpqM60G=t9ovTb@&~+;Fu<#dVe-?$ zIC5Vx5}@^ddsP7h4xsh4|L}3UKqp|YDnRSK2go&m)&qN0J%J)X>)`=KuvZnJ^^kxf zn2!UtlmrksfY!qUh6?to0<<33s|wJ1U_MSB0Z^<0U>xOk2QRP)xLs|!!A1f#g)TL>^M1Sr4Ec1``MzMcZ5B84*qQa$6b-ka}RAX{7**09h+dJ8FQsb#L z`O3afh^MN=?yG{ck;NIH`f4FQmi4v#k-7}OqzbaADiXs`+gid>XV2GZ^z3ZuA$-;x zcJAamNu>37Zf7f(0-jE3Ca1!nS1K_8{Nkx=gbimbr$m-lSwYkYw-oSr}kw$kkNOwfR;St4idi&Wz>-vZL9x@hgrAbEc{ zxx)|8naEJY8kUSZ_`}8fc$BK5Bi*u%oO3@WcT78QI~GAtAI%sqM@S;idllADEo>B# za1}B=pp0DLsk4lYO!BCTipxobn-=R5cLT_NWq>e{WN& zi3#B}2J!*|+cq04`WZ`m>>@2R5ehOn8^%F1#cz`AYmM=E%+#aq+L>2NQ1t@EgSe1N zI~vE?_YpqCb9H0CWF;%p4xIMMYh3b;4NV2TQuTG=uRw!H7m`aNLhEoNHizyNEc*V4 zDs&EV3YdN%u#Jdt$bI@l8zH91zJx&@r7#P1H17sDv8_9@KN6yfn7b|11i#$#EYT!8 z)DPHgWj(<+yJAsD!$6S-`S>rUjF4zctkFi--1Y9bH5B zjzsJ@Kb3D|Cc=jb2yDZR+!RNJkDoU`+9C?z|K4bZ{0U-Tvv&;O;RpnVKh0fG06g5$ zMn0eueU1inqWwsKWOW{{Mm~%Tk2J7nOlZ4ow2{Id65>tA7w(pu!&4{#0lP+1)mlA= z>3>B4zsstkP0nV#>&9AZ!XB%36TUIYY#^De8!)vRpeBVPjuJV(l;y>E zM`?XFzYcHSy>e`nCaT!`xvVfB!rh3Tt-LGM=*STd4VgY@f%Jm1UiO1+1{jF@?O4SN zFcfJ`5kjL>q&91e68&iTX&rFIz9JfegHpfY29a$HkSWl4N#)260q)bHZI`x5#c@Fq zV*=IW49Ve-j{?RsQ{)_Lm8pp#nK%LH9M4dUshSIIfkbQI!2a{@N3B8Dw0hnpuHVG3bCHxg5`r~vl$D`5zoH4#o8lHB( zO5!to*DKM8e>FhE3hB_zu z+k-Kz&&YKnbFlg%3`+_2b4;0}(U{#?-uI?yODlr_s4lYcbVjs3KYYAqC{NGI+R~&! zU$_Q<;dU@*d$6Kn5N*+H5AvW-D9;EdFQh&P@+bvWD9uqZZoo=E_w zwq4%)wJ=pt?K*w zUTNHns=>3A>h>8hk95=<`f6hd+Nb6<%4TPlR2LsKanX5;B19{GlRrG_Iy!#3b7w#c zc1BmB`MxNfYm4u()7njPg;9uR^j-E9M0-0MM5o0PqS2wZnFUFyQ3r^jPMVi3e=%VKNG!(NJC;>R!PICtmP;!k2f z##2A=^^<#CZ~D4DUU}BHG{#P0$wMN;M2O*^sZEwmJzmu`eU|FwO>k?*o)25D7^YW# z%~2lh_8A97cYJ7I10ug%nZ?zoO+@NW$a|J-q~+)RfmfJ;ZPn?GRY6t(?2dF|T53%p zzXlDdPuSv6)a!~MR^$#|%&+@{rVPmXrKP$*gxaSH6Pp)S^p~U%N*$mgv*Nqa<-5Fm zI0Kj_@VxIDT0GF+ChQp!Q!3owhfbDS@aJA=$olwZKLeXw*1wRBPHRpH${CV z_c`^|w#drE*2t{G)9H4M!&7nY^ZE#?9l!BliDQUWzbW~Hq&{hzlqG!n1kaDj0#E%b+xdUClsxayGv|kH(yz{Ssm&n-9 zobEopYRV~iWqV*&XH^+$tB{Bq`gqjx>iu8}p{Lfw9Aso_C5bD{U^&5(boko&@VA9RNa<6X}+p8P#3i z`~=fjN(px=&B7Y`gKlMge2%Mfae1Vx$Ctu(j_%Dq8aoC{gsJY3P$L7SZiBr zBYI>3&c@16%dHCjo9Bn^wxN@HJ5C?RWr*S%316Q_bqpz;3?fG3&YOD>!;FONpxWh2 z=$1_PsLl1q>Lmg7sm=qN9v@n_zDcXLCS19`b?8^K0+;rFEZSx9U!{**JmaU(P+-2O z>Ed=$ln|~OtVSI@P#_o7U08aAbJTrR>}|8yeSvb=2|vLu@Y$9vK1^b$t8owa!0GnE z)oaf0`L>O7Fyj$wha=;mwF=S*@`mw_{p(wit%n`87dy`{+0+zH%SR6KW8yF7=R--Z z#UzCD?;dVFBn(bYT=Ne|jK*(nIbsH;F5JGs8om{Q56tbG3DeKtyu0%C3%kgkg*j?G zR%6a){b(GMk1dVgLvl=+!!|=1Pp#3bu@SZ4-OaUY8hhV^y-S((qFqyw9q*Yit$BPT zAVV{*A?3D;_FdVaw~OEkoXmNhy4 z-aNaqf98-0QaH~I&L8u;z8pt8mX4eVs7$4yYG!S#vbTSf=4=Wt8?g1`1*lu;6DAe; zgasm&*Dv4H**kI}$2At?#3H!r;RqpaxCxT5aiGY*!{)%sac#u0 zz9shKH?mQ)$d;8S(js+6NF99y@9(qcl`VR+UQb8j_;Ii0+FWH-3|_{UQ~3CR=EA~K z4YpNc%7Rx{s?`0+QA~w{cQYvb*DZBC1yxdy!3O(UDaG7E%iNIPi`W}~eD&8v?w~kp9yhC-!pqK+{X_2x+TSLaI683{iIT8rk;(}eY zZx^aDxNPSY^TYd9^X|-rc@bdSC^i>jZdBZ% z!$X&tE^_jP?K7C-&=)PIYCf>-U+TgR=j_KyONz{1D@v+$xB4};G-C3uzR@(Iv@n`H8aE8ck7J#5 zJos5`?%sx?a#Kc>=Nx3G@*<|VQQi{16PASNz*uo;z7$3ZRQGy47fuw@C|QO;F0Dbu z3eL3{V&?kUdf!nZgd&$di~oh@RB^u7Da$J3D4AwnVZ{MN#3|Gcy2X2WxmaiGbBp|4R_FxVpV$hrr!mqQmMZ2PvdCs zz<%crTLiDr*1z>i1l6{-w_b+EC&A)A!`Zi-!_+wX z1V4(B-jPW!?d$_1<$utHX0Ry{tVu+VBx>Ufhf7i;o>YEp{cVRB2Dg}zGsym;#QsXC z9GUz6>1O@P_rBhbxPD51Z!624svZb$dzr%F;&k&Wsgz|(x#%wC2S>VP-TOft;;~Vr z0|TLfl1L?{f^j8O_#6Dy4V&>!6XGd&fiSa>k6Y+-r7(Ep`3)(U-O{oAFgMaU1&KU6 zr1X<8CWUcb%ynVAsgdQMn5|spd#hW69ZF0zGk#D35>vkXKq#CYv>?1PrF<5-@-J@; z9pxzz>3Wt^N!7!r*k0}YD!7KaJTnv*;)`6yP&z8j`jzwbj!mNw(tYS{0QTT?NOpToD*nnP4Hr@chEOM`MgST?#6ksd+48oieN#FkQm^8*RB`C} z%VKppszyMsEqF{Qbc&zZI~Tuqe&KGtda!XpmQL_P#9pKQGFm1$zbyt~TBn#>QWL9Y zl$ay=1@TLBq3JF0=RSXVqF_qvT?Ve$|;*dWFJ}sIe-$`m)Z` z)HOYwBnuUh2P7TInmXdDz+Vv?+FXLO-x!K|v>m00_VL#?!ZQ||mQ`b(1ozh3ZWpgk zH%EMT*H(YD`N1Zr@(=yHJlj7RGXLW*6#pi;nc15p)+}0o8W`SEDN7SNRmen~c;7{x=tk+LaJ~8x z`MrsMi=O?p9s`_qS?73pQwB? zvg{JvJ;f=CPoFcAvVA@p-Tu0MH>nda(CXhu13j}ryz^NtWUD@WnYm2Fz=zYZ!p^?K zdQ@?wwpA+F-e*)<*4u_DDBqk^-8m$=oNnsD7hjby(!dvSHub}jLzm$sDyMMyGVlJD zXZ^$F@^PB@DTe- z?f#zeikZ>2C{s#e0sIJ>if`bN_W_IN+wQ=)AXpl7RQdnSeo_3}`_vr3FAC@mhN z0-{W9pa_UE!MagElvxUhGF^ZoAj+Hp6q}wvkp<9=0!6?mYWL|h6B#H1qD-)EG#U_# z=J>-N(XNXMfQ_PneH0k!OQ0Wt_gZ`iqX$VTCVcqgB^6+hoMNi_6HIXFC#EX#V9-sVR~SoVj_$gw+cTePNTy~ zKyzbq^-dY8C}ae{81NPo-E`$wPO1B$g$ELKkVx)i($W))UP^tKr=o(#b`B)iDG^M2 z6@{%fJB%iJkQs2X7NTwBK{z4ti5yilnGkC4FvC=ECBsG{87S5Ki=PYMKfHbn6-MilD$Y!xuX4pzS{E;7v z)Q#$hYmIxPA!D2&a}nxC`@6& zWL}pKK$~T{4q^nLU=;Wsv%0tp9yt=h(IUKSaK4&9hNphLVxJ|4dBHl}jDoQy`C=3W z0$G{T6X|i3J9d|i?A#^htxA+i=)F^V)a#=;Dhwh@*8A^0fN0b{=D<)a7NldIag=T- z_VWm58z0Ji*eV8FWw@}r=DkW#ZC{xQRm zK^DMC7vX|L4+o1sxKH{a+l2T-JAw{uW`L!Wl*%B^2CWK*mn?0u$MOj;mg?9w9_*L> zd}2)U=c^>n>HhZ(EIUhRs^a4&Vn6qAHb})ifRVj{fW<}-hlN))aKn4^HF?oQY*=bd zQITT8giy7p%~STH_p-?k)y=8(RU9jfngb6Su=@kj4}2Jaqm+_gD)a7p7x97k zrmkBHYWr8zue>5#0d&D$T+macDZ(rx_1+iwXx-qO1TNL?`I!%piW5KTqN5y>B$s9? zRl>`HM=)f!?1*GHLlCmRm#R2l%pesN)8eYtyP#nP&^&ss%v1_Txl!01X!1;;yolFU zT%Hj{n)!ldcRF6;31s+=N({#nQ{SuLVQ! zD7CLe`c>eua^!W`zu+;Xheev)rGL$3$i*W-G_4jNQ3N3#Db7txU&MFoo`sL@)2gxXmt@?D2lmdbo#4 zVu7E3kToH&Xq2gyKb^aHd8=#W?)8TYr1gS%w77 zWaLKm!=n(2EhjYd!qCm_a0=K^^?b?W8Vjioug^KhOHRDY_9%oCobRa-9A2N)(WILq z1=^WZet+&qtEM|ud3l@C)Q3!i#@e4B!iV^DR{uPR9zo3g-lB3Tp>4f}3o$NH>-5IH zy0xiQr@T%_UP1^;f>0VYU+^W_p#$OD8+mDl?;ADsONf)XFAE zl?PqEefvT76=m46BPkR+m!IJ3VuvPnq&nXos-IT8&F-6Q-&Y~PD@SiN)Iwybx~%=F zZ8J&kvA^%p^u2At2_g6zbeB{CW6TTnj1TeQVq(ve;<{l$xPr39Z)2)!``5b$3*_Q= znl^`>x9bVBqw8LBdW9s{sE5909dEu`qohoSnbCR2lW~3)te4-+l%?pg-;(e0^ul?d zL!VxLM7D6BDuiyoQ8z2U7P6b$dD$rM+*TLj@boy6vFiQ2-L~?uK60XRce2u4dV%mI z&ku8$MsjO?c2fFUmqt2{VKK=p0XOu0L|_*-i`Bzf{gG)t6ylCxSUsv?%nPmzq4^Ka zT`d`H+ngRrG~8l^GS%)ht|*4wWDby=XIh61S|?i233cgtQQv=knqJ>Fs&5owd)>$T zdUmj?H@yZem@Stsmg})vAvZc-+UK^S zP*qBg^5#}QUxqnSsQ{m-KX%TMai5I^^$3LS?oahp(x1x&Os?TvW|pZv?aP?c^|&wli6ShUBdC<YWg2xy|@>FHR&kHtJ%?Cp^S* zQpWdT>XxjXu{W~KrQ%m=PlN6k5$Dh>LID1@DO^S&x=cVCePUfUU(nM0D5 zpB$wsF)5ff6Iqj=<~&`-3dvGW!|IUNiD&#sj-!19{IVdnT+^vbd3*L2BV{&Moe!{h z#h_12U}p41lQpNB*?At#zcL%Fl)I*6v_9oa-^LNGXKux~EOq!^~O_fGB-A``k4M*s|tl7-WSI2^x__662{8{oWl){3OnaiA`+=i?y)=VwI-Lq=NsNWW(in{zWEL=Ld89$o90zvY&z$yZYU>}d26 zeby}0Y*9Ypx!Kz&ym`TXapiGy|EWBs_(b^W`l)8`O|vs}SAEP5%y*r%nfk;w0Xx?| zhXhYz5`DF}0@hP*7Qee9l1Sf6quNJ?Vb~bArqHAP8j%NSMSJTteGwgdf@_u`=}V`k zwzkIRWUp%#O!?4I+9uSgr*ce7*G4EG&DcF|EjYodcxL>KrnKIoWHOE^PkF#CkCWx#J(OS_` zH#SYKR_6u~|6=S}S#q*sTEgo68YI9gg((3Mm^jgO*nZ^Ovf$J$hP%VLwoV z?Z|w(*E@tLW`(`z{&Ytc^|mB0Lm+RE1@avC3%AIOO}FOgH8HhQ6qbV=gw9GGw!o>j zu+(l@vyjCWWYfgN;7CxY*toa_pEh9?&XRT)u>-~9`jx%UkasV~LaXla1=&qx;_-%G zZDVVb1sB9l{{T79JSXutI%SGJq8IBgNv-VWxuA||ch^#Vc2??BrYbd;(WCcjJ_D-J zQYuu)MT?r7a|?mB(!G6>W27ko`l1Y+baXZa>JkeS_Vyf~tpp?KOYLLx-E~J=ZzsH0 zP;MPONN^>%L_rGMFtQ@dzj6&3J4!eYCe%n?&@vQSqUCKSp(3MKRb0sKXA>}fiJyEc z9@w9W^f}zvbD&c?OIXarcRDxKgttxA%QqTY!c^h|F<##M`~h(&cJS=ttc?Hia<#ODA8WbOM`-CJut3o7A ztd6RNai_d0j<1D&`{Y?G#GdLPRKgQ5Q2|+B%-ViVY|d|vZ##qJF!Dv!Bd{#jh@>6e zU02paECNk<(^3legYKy3geX*n2*QpC8a?Wy?o`2fH<1j3Vau+eZ!t?gF|MWi2hDHU zD57-x(;Na@C-cLjqDcUy2K@px=0z%dYPho#LR#G9PeK*_^q><<=m3@EXocJe5MO>U zT#++^s{K1xEzVAckF}goKM8|IRp|L>UPhx8t4@)T?!2#Xh9(^NVBINd@(!u)*S*UhJtQKgQ9L(`uS8uA8~%ZtuJL?kD$m{0^^Y z0ZxtCgK9<|B?B#m-1YoHQ=pAHqVUi`Hs74v>cxPDiLxv!iF9~wq#`rzgc2h9Tw!yH zhLP}^;(Kkp7NmqwV0uVXa~Q#TP#Lfu^gNrqI8kEgNy6IMYoM+YCb zs(7Yqwgi>jmshHhObgOfwDwzaQ#jMwepdN)X4h4F69$h-JU^nVd=W_;U9((uZ+@{y zRySUD^?f#}!&lkTwR@}JaR3A1+L#RQM^C$&T#HUGA$nlTmNoIEt37D_&?dLdB3=YU zTsZ!M{p-m1bW_1Kd3Q3l51h2o@Ug&sK|7YByAXxj3yv+!>BcJeI#2nynA4zob#qp= z*Il8gNLCb__XRyc<|Noiu*U6e5)Kt|S|AhGcoB!zkPfu23<>qD)vwH8WXyzpDVE4|!-pu|zDepf$ zjeN8;ue0!x!2j$8JiHOSk-=+pttBNT)g@dsH-Wmfvf72O>2;I*&(A&ZSE&(vFbD6? z`v-2G>>F>(+%s4V)}|T2UyuKnpLUT9WY8)5SAEQTKVA@sWylZGP+IReaN`|Z0BLwO zCg_xW4<0S(zWt%JYWM9#1UWy|Th~Uc9%PVv7?y-%qv_k2h_#!&iX{iS02S2mjk7z| zwmd5cP&;C-m9N^R=Tf)~O9XL3#$NaemXA#AWp;r!D`8mgW|%4aJT%B%>(|NCYjWa< z5OIjMv4feeb44TBN05J_#Pjjkj+4*V_ih@37(Y~F z$XDIA%9-dH+&L7;e0<}k|q$e{*;l6=EoL^BT$53qvr$q2G z)0@a4mk!rJ>}%o(&Z->v+Sv1@*4i#de-#SU%y{YPlk>gxd$S^)LL|!19|M+(mkp^K zle5?l&F_t?V6BBYrM=L0djY0r3Hb1{N;COMwa=-Yp7;zG_>vp9~ zsy)A7VKjV%Oe&lOP3{soQjSHv-hgMU%-;8Lc4xKCx9J`dbXv8v>~nv&bO)rox|)Bzsy{) zaQ)!W)EDs{%Xi-TpZ5m>#S~fdy40pI$1purIy5 zWH>^(x+}`QG5I=ido&3X>IrJkLEs6siF+*kRKIN2Go!7h{J6EhsH0B@1A1t`>p2!< z!<QO3qZwmqq zeQjCLVKmP!lHvS5y9k{~a73gx*F-OJZwdk(DA^NC7mBg3x$+|k*GAYg#b)R_ES>Hc zfc$9+^bd!TuY;maE>Q+B_lb*a(=;;tSV8{K!44=Iz4yjNLz(p4qE`~05i+nmUr}UX zKoyzWj-{7yvTVF1bFULc(iuv5%5F;$Kx=OkSlsBvm&sx-jMNUZ1wI{Slx5hv7&3$W zvA;Q>;JlecFaLF_>)_@YP?$A1I{hAY`vpid7Wf-;-<`T>5EYfdb>QVOz80_hm=-kX z^tHyDX=UzX9^P4j+?h(>+eCw$v?N53p~Rc~ms{RqDo91-#S^V()Ab}mf7Zk9=x{vh zK}c{GNizym&OA&V`<+98Zb&YNj^;m<`7ajGKWUb!3f=t(s|0}(YCLLn@MWQ+iZRCI zW}^L0x-~%{nFUYa;hDMRGWy%Xg@IZ5NN7++Zs|eGZPuHjD#yE0OcMwYqt*SRuo?s? zDX0hp8WvXrfwr^gL7)poY>>Z40RpI9P!$?vNDOdftf=5-q5mIlwiBwxcf0UsI$T<= zHPxtX`V9Ela6s*!xmS-yk?V@388x&WeD{A(PLaW}DvV06no`a@FzanD#*83;Dz!0g zi@T;5y=q~m;X~yPe>R?pw%!s`1|Ol@&b`>%w1_`5`K=2$pzAy(;XHFftkn~Te|kM+ z#^PX`rV=a&U*1EZbjBRIPs0Na^V_)Ey^iAw1@40If`ZDG*m-T5Uf}Jb?C2<%h~!Dx z*Hr|^?7*vrXR!Ob8-gSP**A~jlV@v~DWr|Hnx2`Q1_Hd_n;&m(50;lnKp??)*GEJ7 zs3-C$^$GcJss=J=sTN4od)D9I280c-xto1!b(`ZA77~C3tz}hDZf>VMmR{Zt#Ol&- zxXE;O6*X5K422WOU*SkfS0geU)ZS5pK$80}r>DOSPR+eCpfB<;JzLlMR$KD1N(Z?| zcn-h5tbifX4E^AW%%T@dLFN{A|Uj#_f{=0X3 z|D^r;H@7VRlVj8V+#mgC5E?uCf8&m3dBlE^7t4QwnLvm9(t?ILyzKl*fiH+z*8KLYitMsIS;#YC%JtG3F^>2EQ(>A4A9bAh)T|GsEcVWwq`A3<=n>wWoV@M0&` z=8~Ws(lCFr&|Br61OjOEgi-5*4J=20_+l`Fb+sFRxj4u%8&(cy5ZgR>9sYnVlKy-I z1vGrcuo9m^&@o6d{otZ)quF@!z3k*Z^&+Qwrab(LOOHoH{y@F&{3tymWAkA4;c~mp z4BUMtwg{5(WlVP1mlP=@Hf$WC!@#k?p7g%WGdyvFt=l0kX^j>SU*9sGbtLdUCRc(o zKN_-OxazCS@kVbYJ4d4=D0{x&y{kMotlVMSZna0$)E%?Ap`RVvI^P;fbc*u3$$WMP zHU+t2VAB#z3=IuAEi<|6dnq9WPNQ%mb)C6C_@|I>_LrZ#Un(64>f9>t)Oz-;3i@fZ zgSWbQxr9?eYqBK_)0J>JRWc{VE2lDg>n`Y9U{o=8tNEsl-1|#tO!D>jA5Gxq1=bJ| zaUJ^|TCttIj*+;peLumeU(BXVlsoyfobC33=V^^1{KZujzk$MJ(aFaLIP^nqzn;cN zm!#71R&WnD*eon8j+oU(Y)Ci)|WP)VKI$W<|jn)Sv|SJ)0^!Hzfcou z@vFB0H_24HJPJRX>2V|sHR|UhiRoKT&nm$_$zd#BO`mRCgao%4ubZ8nEib;f6)epT zJgUY$cYQV?^9CQiir{jCw%(s=wqnD4efs@G3CzW^ld9^G-!|D?HF1Fk{%vw2218Ym z#iM4A@oi#Bm zq*ei5jdE!v%|mNey3#Fzk_2c@xhWi~iy+mhM6g+UBF`qTMSaai}`!;c8x+ADfU~JQO z%(Ue5RT|UBc6O%m!EKJSw(~3%xAJsDr#a=ezDqpa)kJ?FLJ5sm){=(+e{c;2L>LXX zgyoA?EkPwxbS`>4Na9*HgngCnFu>?mF#cr|fgXVs}U!P>tpi*}DR)%@yCaV~?grhrFnf-!+y-}TOXmRf7s;347S8BeE;!j1r2S}RV z_rag7HTi7bdY=F<8n`c(*pvh_55r6F!vDa}T%QP4TxHU~cL%}tPZ;}u zf}OGR{%djQTR(@!t zYja~du86O>s0cB}nl}h6xReQ~uOQ0(7Q7#gHz!@$9P3LKam#ty{3>r{KwQpTrvOm09?zMaVCis*X#kJ_S`f&Z6baartZxa7iFZyKi z8XfS4?m-5YWcm4Rg-2PvU7Q@-T%5<09)(GlN8)x?SgtBW6G@rd+8*gEHdv~H zx}J;@IDTL&1z`CKDsKHu2zh|r3N;?yQBU?7}%Ch^j#Zt-#C z%1wjEq2+qf;kb@u7VUX#G1?8SP#a$OM0pN|7FMYKSlg*BOlE1T&}BZ&F~2rYnxJUm zdZd|3Ycg(kKtTuAwZp++5y6z@0FC>NXbN$O)q1rNjW4HYeDGM=57;3UCyUZVFPofB zy{3;QHds&mG}p7x!EMYD8M@d{o($KxUQNH&DSe$LfULA@+&+@Mu5+5|-c_|@hZ+Pw z6Eu;pSWmqY;HPrcnbg&QWigx8j9V8{*Np`)HlyHL2xlUeqej5;(w)v4$J-gx;Lb%o2RrooW#n^2=7SB0Y*=p;~F!i`)9+m?ZSY zd_k6QO81gQT*!m1az%z5!Ckf1uphS#+_*V3ON7-4TP5mCf zwV~@BYCVC)#-;h%hxjAbV+9FblC3KoU~6c{Z)>O)+waJ<9V{Rs4TwzZMFgy&fT8oZ zH8kl@WE!9V1zSS_LnkzlbOsnY!I5d%Nx!Y35kL_fnFd6TQ2|9D91R?qR^^?+VFLuC zL8E>zSr<(N;@AKg=68vXKzqOqs`FE@p~(H+^l#IoTIEUM!VPC~nnKRP9p`zALJmMn zVFNj7A+RlKf<=E8fUK_;%!^DnAmU8EBXGsW9nJR_h6qqR0a^ksOdqt1OjMvK+7T!W zq`3j0=r=C(#w? ziw-QR{)=*zey2n2nj&*s<5kWb{x~hM+9R4J;PnKDq+wtDk%)Hu2}xu7BM}9Pz#InR zUi=P8(+7$`EEyErpO7@52$qOqUHl12>-ZxP1&ZL1G@$qyC}La~_5<;1T0jxl(iA8H zIb;>I?yQW!TEKJKmA%oS))iPB4y)0V^Bs~c8Iw)Yg|fGQtQ&7S3omD_!xG3;D@}sU znFeChfKW3)!8#GjON5FTgixmT8r7{1J zuBNX8S!w6neb1|q*G6oFjXS+MtDEXoa@PcLwjiapD7G#0xcn5tAh|Kt$EG}l6YKG7 z9w85Xx-8YaY3^UTop}~XPkJiB)O+_S>4N3)N~|hK;1f&8iKZG?BZp0ez1N+GcT?fw zLZvLhkiT0XEqFl#*i!BPj5o5q|-@km7Zo^w3vU z3Ou5NQoK&OlR<=(U!7?7!V%b_datm^;SitNf~c|vJ4a;T z5p&FNrC%R1^O0_Rh88(vj$d(*#1axwK~OOlq^pbUPiFmEWUC;KfYV0{zo+>Uf*w9N zUr8YE)#ph|l1YV^zv7&bwpHbj##w7o;}U-;%h=AClEHN((#Vh+)UO9Lz0;JUwe8)44f-n6yim03aq!k`v!jJf{}FS$gW14}NRHYNXpqRGOYR5y5;5 zewPvjDT6w^@!gSWv_R^<-aIY(I^ zvR%w1AnEZ2>oG?n-RmxFk%53THC9m=p-~EOKpF=SkT&}wRqdFqiLWD4y9O4n$QFqC zGbJqz^VH_JOip6^C6M9O4EV21giL0p_N_Xr(=2R&e6*4xcb&$v(3Fd3mEqqAmih zW5jS6w8VlyF7)&AG72Y}6r!|*w*fmZ|U->o;&Q*OMylZ#ChhVTe|1B1Sn&GN>z%%8)7 z9X=gl?sJWrc!Aw=>Q92?^r-Qga=GW;^2zwK!@Ot(M+=;lsj~{1kraMn-&Y|W{wgji zp+9QU#0u>8YnHyViSH8>m-@}ZE)k78{fO&j-Cj! zEClCM9h4eX`Duh4&fsvx;)(>FKzZ=~w1d&9O%XLTXBmcj&Fam|SR3AaCDfssqK|xc z7Okvn1Z6WXMV2>_l-X$u$4a~Wi&70DOP$Kuo?A8PUyPy6Y)A&HHB)>pOUgff!ir6{ zav!}^4@fv&OiAF+kJ2FuaeW=q22MxQtkk(F?>;-gO<8@cW-85*)vsq+Swls22_?q3 z$r<=Qw1~@-GIm0Og3H4~vU+Ur^vj+1>HPfZ^z_`_-Cb~{wYjy)=l=Y1-Pf=A?reSk z_$mU|@58MAm!dqE!-s(oqGr5p4fO*Z%X4GbtYjZY50^HoV2j)}!D-UV?K4-@bT~>x zouG-eCoys}y~niNh!%dST(Kag9_CATKX;~B9ePC9#!!KO97R?+6^T-(;rnh?)f;<^)8$GomNJoQ3)RzRO9owAgf8ZmCTW8+&v5RNG_}rbeu$L@* zB-~S13(y97htKr;pJhsWm^H1R)iDU_O_M%EnhEN+_;~S#_Y#u~>iQOqyCqhoH!_lD zq1e$PkIADK`KV0&5@hU=)L?o2vl8ob>d#{tQ@77$W*1>U5tZ;w_NavYWbrFCJa;Kc zT|FG{@3f8Cw)C`G-;1IbCxpZ$h)T`z48C^5w-eIS6$yt@`Pvlot?M?p;A&T#u$7Nz@6JdM6zQg~N+XLxb22>8Fs~6BXt?_y70rn>>K!C> zVNZPVWNx?R*A};DDL({`D~P<_awy7kjSa(5n*e$(2( z`pWvTwTb_0QFA^6ze>zU&PI#@k%XitjoSxx43)WM*}#XZ{iuR(n`EDI0 zP+fCX-;z!NP0`k-?;?jmCLZC@JG{;*@Mfb=gl_FtB|RsyKkNmtjBR4pn|Ftf9=Db^ zFKs^GtVgstm{#2(l%Ao!s06x-VtD>%v?wEXQl>Gq+A zMT9uWQ;@J2;Y8)vNVCC(Rc?ZuP?p9Wr1qVf9NhOTy0}x$ecB~2CLP=kqbX+CO*&WK zWTHgutIfB8LK;X7%3o&cwtdVk4!U~q-Zy`5io=CWAde_@S~Vcvx0gG6I?rbOMWS6< z!8OYg6yY?3(#D);P&#N7#&k5=QO6t6#L+BIy2iXQOVhz?G9c>a%rA4gQovr{E79jD zP}hDWV!O&w&VYFBxO;QFaaA5VYw&!Y;f6}XG29g%hB$Ev$OC7u~y}vp)vgz0v2VmHg^t#~|&jaIa=VNEt zCtmgdFpQDh@+cA131tMu!3){`Y5RqW8Rn%e_ea`2yi;-+-t75rt9trJEL5M(+Q)qB z7#`6P^k16i-}(8tJG(GgzaTUG^u;J32g&SDIRt)AOf5VHPoni^=)#EnW|Hhll(>?7ekZ9c{axjk^ce zpdq-s1PBCocL?t8?oNWcySuvvcXtWygh0>^d3M|9ZTEiLeqVQwb|1+fgnO=$Ywk6` z9BZBPJ0oqWFFb?a9gTcw!10<2s%1x@hKAHBtXNvm+5M4=Pi{kc0s(RZJV zZdlL)W}F{U(w}48gUHzu@UaQSjCW9FZrP39-%`D0hVirA#B@Cp9h{;5d$IQzOIv{m zJYu$9Qn!zah!#F1E8eVbJTPWiWox~vkP(cU7f?X9o*gSg#Sif$oAxy#H`+e=Wy8Z} zczjdhc0@VW(I(;&r~z!o`S5OoQcYxLBV-L>Sy#%$VR6=O@|Pbas%U0rj+cAe_u8^J zm`FN-mg;(+whDSxahT!_)j+97HSKth!gM>6-?r6r$>B!P%)7|W;|_P0MT0CZTZ?== zG%POk#|h+m{L<3jbtqb=I3wKavzQGR2IoLfTO^wojkLU~=eSF?xAJJS%t zu1bo2Kxi0A&^9-?h>4!jhhB*JBdK_1%;nUa5 zx7;Gx`%Joo7}1JM_p^)sktHFY=`GIqdRmy`tzwRrIQ@z|96DIz0vBly2>+c%>Xc66yqRzOcn+1uo3Yj2yE681A!8>uJ@2Zc5c zfKazVNdd7pnT2uoNo57Y$M++)D}gBFlKv7Fa0FvxL%|UUHr^+|xCLzhgHUfB-~x+_ z>@Jrw%t|6@Uwp9bVAWXQx#k|8mZLGlI#z!+6`LP}(_P=krYIb@T_gDgBr%X!d*_p* zDmqhORy}(_`{Sv}HFTrzj6F0%iOR?ibMrNPZ*4q_sFy+dMr17hm$f$NCtt#|kuKTu zMYI5Zjosqlhk85mG_(Qq4C4U@)6aoPuyMK=tkk{tjRBa-12D80OeqYccW)GKdO$wI z4|0iGmauOO8RWoUzkwJ;TT6U*jw;_QOW@D4F8lI<{Tx*=q!U-q+867C8v+W_EbY*i zKnEq!JgOgmx}sUy4~C;|9L8Ki{2nNEd{bJMwUapqWGS+9Grv|25-LP9{SUUuo9K{7 zTV9ARB$?8Yq#K5r=tHVdmk@%U76PkE+}DyT52|7ny`geQBW%2%kktZ~$TI4>lE zr0B=Io{5aDH-#voq#B}dRX}(Aj&Oj3ZgJXcEjl+ILP971>*AR z#yaLfHsYWdUGR2=Fu0($jT7K-`9Y{fTh<6XEtJ!tGCl+n)%xKM`*K z&qTN}{_Rvqvx3aN6!PSNm%2t1N0n?J}-w%B+c7{;g=Vcgw1kTR?`T! z^iMr$wJ2nRsKzmC!4l(zGXD#B!0W0W3yKl1|JND1IXieSD|KvSA3StW%iBT%3$ug| zwd%4u&V%)^2QLpK>pMIYzP6d2xMe)xzHVc(aLu#$-LBY>#%ytF%M9`tT}#CXd;B>a zRM-8sQ|s8Z#S1C0+J|cr(6K)eZhs=&g0jya;-)j)i9f%5)@HBNj;5&ng$i6CJ{av7 zmkE>Q{v3 zg4>;kknu?=x^Ke);p7)Y6&FasUvyk?Y?0ac zVcn{6uJboj$A|Jp4Yixijbv9v#&=X%=Qq>S@ou~~v%s`9w`&`v$^|Zu7I@eKAm>iX zLuR_}JG@<8)jUJhyROg}VH@uMLhX31t*xt>ZBq&=jvFX-e{nyM&|j*T{l(CEY$`|W zGzo#)|AkRKq=vnsb9fk47034-jW56FT&QnJ^A)b*^L}o-zvajJ8&Jpe7f>fesr%YQ zoz!oPD$5e?HH8}0kji2G>I}9jTd;4$urKpgTM~(PvT$9u+DU@u*g=gyW zwZ!V)i)+6;2Lfmu#|^k>QjZ?~3Pr@3DI&)Emy8QKK-K zp$7z0iKt-MmbReh7g3B?NCFKR?HabO#+$YV1kFsbA{G#fZEk5=iD>rGA1NB~Z!-zk9y;B?o*cm+ch z&I`vnI@+C=d==gtW&D+-&zZLboh*KtY~2;T6m<>_p|8%-#pcny+y((uL|f&agqjrc z5VtlB?kYl)Q*#;L10H7)dxIKcJw*7Kphyl=Fg*B~@#z5aculqA@5{?YvI|DlmXU%w z`@8ooS(6J=+i|sm8`F&6P1^-^bn*0t%MRN_D(KyaO!Zxd#d6PS7TDDTI~YS0D1fij zZT@lxscjsFiU+B{7}#(qQ~@fmLm}pv+c2J04 zEKuw-5OJq#1-jkX%uFUk7|)lAi23j^MvZfW?k&*l0etSNR;=5L&GcYGTK~B=HVEW2 zPxk}2DdnUQBlL0^u|O&YjY(|~lx4#8X4!T(06f)(K^yn0%hWG2r_5!@(cVUQv>OB9 zSQ(%dox8}Y1#F-IY&HJgWs(yB=pr!zzz#sw#sLV<6#(oiw*>Y9;0)luv;b5M9w-8+ z8XbVD2{R(M0H_)kP|N{}0IDVd6aiF??o}~*H4`WTiqYTVQJ@GIGoJw7 zk00n%1{eZ!#0Tu?RXj=qtgFPsVeVoBxIJIZsJAGx*XWZ)gy6Ws@^k(l08mXA0M*Kp zp#1?*tqKmXjrRI?1E3lQA^_5Dc5ec>SsPFUK(z~?2((BHfNBtcMHB$lP=F!;9|{4W zS_n`CS|kQQH8P+GfNEcWVhq5^0Zbjkdlv@4@reL%Yp=sE7=UdQKtWB;WXH33AS0E3td*ic{nqks){3NV9m0mZ_t?gO9* zV28PY4fV&rC`JJrDioj%1#GCV{!sus{0!JoBY>jZUy4x*pa^vFsy}@-jRLK{nntDd ze~U*yD+62|u&&zcOU3xtv^^pqKi?(a@;!GFHX<)otr1=~cvY*1vW1TuQ4&tsz4;s> zmH#=8+%25kA_1n>W8vc#FXH{P8!R7voZMx?(;P~VQ7FTjGfh}n-+5)?=CvSBJm<$F z3_)P+8PCBSv#)r}(8u%0{L$9RjtY2b-6vs!A;YUHk~S!9lBJ)eQ#Us+*aDqO$?
Xg_05j`#%N9EIUM?-0f`k`#tU(@2=;h*tv*IecrP41P;J-9b`@ zG2CNAYxJoB)P1v4KRRH0m}jU@A02NOcB3TIix6!GGZz- z`?Y)^w}Rrvb#%UhtAg9i{nk4Kw!wr^lcpdGHHnFYt|v1e1j&!&pCsiu?0h_7$C%Z* zedR;l+GGr29_8cQr|q1O;-kb`L3@ZvH$`GtK0uXqhp3I_cti&a@|kw%LcmFmeN^Lr>=OXvd>WAE5XJS2A_6DHhk>V1 z+zU#b?MJJyQ`d~XM>`|>ZjCE%NQ;-K7mflddS!V*oFg|Z2W~;yG<@*bZhL^k^%03v z19yWLf|HH*D=9^QKIX))xV7v;ne^|UG^25r`=v=KfJ9FHnAv*C=s`O|OJ6p!VptJL zlWGTO(<1v-kW@UAa*$7Psr?n7M6+rgqXiNWB~C(M#WZp zm_sSe5)D7vocO_1D+ttaBr`UQzJnaO}MyIJ6CCjKJ0ejHIR#Ri8J3rnxa17D8~U%Ri0AsBz&l3gF_n~OQQ_4HlO*)7KbbcA?Zyb3AN=5p&SQ+z1M`_iHtB_ z9v+*a$XixL&%=B>tG+8>ahb0a4ai1&95$*c#r(SiQ(X6;{52Tn75q7^+4P{8WsBIb z1BVm?)cxxh%^ZFokQG}`kZrbm19!A1l@y;nDUcu_RDygKH^OErN^n&d!hB8iZBR9X zfPc5))~=bq+?Ny|S@Rf1wo%1o!jzx&rW-7bO}ybcI*pU|+fADsM{?PwI;lSq;eBIH zaGw)!y}TRlZ#q||UAu}i+6Uf&I?mvORVi2-V=EgklvY~HJe=PAT1#E~)!O=W+57AC z*}-cy^DK&ezp&TT-O;P5`Tk;TNoVs(q5rY22A{uK6#CrcR}+s50*91+^7jwE##o7s z=4f}471K#ej!W7bYbVl)!FU4moYwMZHD?Vmn)88DS6U5;?qU_&StqOCTUysTV|Kx# zj^lX<$eMkAJn6>o9O`?c8#q?k^BT0baSho?!`^Sk*t=f~d>QLi8sS?>9eHTaBR-P5 zrQ68#ez1%`lpuLvx8AXKPN$=D)}W#i6BdMEJu=NkPU9@O(H;Ge zb9pKj!^_;9Pk?Tl_^Z0$xuZZO$$s&d4|g;oyjYyn{@ z>S3j|G`7!pv4@)P#&ts{gAU0VEte~{L@u$d#_CMhi(6TNi=>c=AJKDsBy}Np=SKNp zPj?T!knbhDvho(_Hb z+wxI%HT7xixrujZ)t-Q=9~CkW>}xNz{b2J588dvxvFVUwYv)%=j?WvWOXxpftd~J1 zX0AFq+gi}%l#>(l={C-6?3cC0!vc;she|AW;F_fs5>G4Lr@r(ph|n&1DQV7gHh5an%;1>D87@F=vcF*cPO*rg%_1DUy&_< z{AuqdLm7z{batIHItBkJtRRTl;gZgJ%UCR$Rw9&Rcjd*>{pqI}f5KrVAw_YSo{iP* z+(^S6lOZg3Z;m+=Dj(_j0`GAhmKxwqrI`Yi4&)_2E!_AiA!wnZj*}2ShU&ohcCS{& ze|)pRxpXt!noO%+wg0ElQkW`Q1Be89qJ`l4dxd!5x?IC5d2@4?V`RINo-)Ypyzqbr zYwzOXs%xDD-EnlezO5I#_Vekxv(D3HX=dkr^wqEZd1pRGTI$FK7*(Purk_cIiRPp~ zUfv56zG0g8ki;!>U_O|uD8WPiR#m5oaTom@-la(@8T#6a{D->r5VBMYH-7ZPnpj;(AbhzM z!|CZWna19}6rlz6)pxzCDvdREL#@sB&bBq{y!BO$l=qRI@8X*8KA(WTgNya|qF>LZ z&YMS@d^}ij#CjUzXU9!`f_N8Abl_6PCq!BW*tJLFt{$?KE>-NkLt>ijGWv4 zpB)DqQ~|tRT8%AvrJv%E2FFk33t3Nf2(&Bd>0}xM&*s^KV;v|TnsGFE5_s_^99buT z%)={5F{?1ZN3Votp&y?QLdP3*+)eN}av$ot_VcLZmXP1l`nkpX<|+7vD~)heCG-7a zj>_J%cRTMX-MF{+vd)HAYeV?;ue_uhuBxzoH2RLSQdRu*ORGvs+W7BVGkgt;-!Gm$ z8rQT=bh^*FS9-@zpW!7U0wu2mC-*yF^h~f89|aHx>MNu!G_xjD-E&P0GthW4PwO!(HRnRb6D4@K{iOPuC*E)52Wu5E z>|#`?ZQ50wU$12#efsLUIV5H)tu;R~!ym##0bd$Im+KM@iM8kXH742BhLF(vJsw(A zT48sdO7NO;jWf=4FP-e;&i9}BMPb!6&{wi$Hh3TzdPohfo+|iBE|oMIPJ4m9!U~^N zV`-Z|(xM*!ypItZD8D!ua&C^QVFX2Xw$MpA`T7N(0dnEUWNYbe)o>?1*WhE9go^Qk zp_jL9b1TZ}0O#WHu|)jYZV&vK#l}hH&q{jhkF-Pw6eZ(=d~>{;5it} z#TsR??dw(aw}vdCL3(P|KRuzp$^R^)_H&Y6hZ$Vu?L-!XV5r6_eYd zPd~Lai~=zkhpDP?0Zs*ooGHvEgdDUSH3Ak+5ufl}ST#>cemT3>#pw7oeAVDPWm&Lq zjE^S8qu(GfCx8dlYlm=hA~zvdlE>KbE+EDZc+0G#V8)K7ppw>YHG@W^$ZCjL9zgIu z)V?8O{wm4xHh$2F=@KYV@N-M~L#^Q`7QNyX^V=hs(8D+u_JjMq5JE6a8Q|SSe#3%gzCWgIR)7eZ;KOhx7L7cQo1F=ebw<7xigGw5u^y4;+u3RQh zc__bL19q^kt-%Ge!JAb-$D2FHU6iGQpd~h>%8}mGH*b15yL}na`}NqQkWpz01d_sI zznP7J6ee#h41g$7Gn{UianY14Zk)ojtn-bR;4X^RY^9!+Q}FO^%PcuZ;tTi)Nf#^bTR&yeASLTKQH&hr zk6l6JO{&=hr7yc|R&FPZww{KARce~I4MbQ_?knE+z+cwq)64(q`{!_HNg%`PHjqMWIBn@Gy`t?eUY zRunJ10&CCK^T|@m!eaSy1XC<#jZ%*8%b<3au(6j1r6?i_a1=&h^KPjwp#MTb0I+my*o`W|0eugqi&n!CmMk2W72aASBTt>~j@< zUdatiuO_V^)R9Pyrk{b*dB9R4g9>dn9i|u45K{%eF-LV>P?0pLQD428ONDzEC8l}5 z)RF8s2$q7!;hj^*x}OI_m$!dmc@XF`>C+Rpji~MCf0gO`n_KkXe#@1Ko%L_QYWWHh z=DiFE>uQ~XgQpBKVLPhLm<_$U!G3zd)gzRa@5i!u9lX7rEcChE1w^{sJf`3ECrDS> zWpSf3iMu)AH91!Wy+IKl>1K6_zkn%VFZn7j1^Q{Rm$?mm2b$&XpclC-K<45~yy;R= z;+v@2^_vZ_hBQWGO1t;zI_i2eV!`&V>vQR3^>jAL7-_>=c80iPl!bM?7Kt+wq~eJt zb??Cy?~Y>PDsEb(W9>>ET{2)r*$jPZqMx6b$--8^B7p(i#>sPz_qU_-yrG(g@-zCS zIMCsaP&1n1fTbYf;(Q{^P7`NjT(wEd9gk=kLiG9JESt(lC?p%t8>by4J=7QR>giv4 zW%l!j4-inr-M>|>|BbYjk%{sDB=Pqr4DU}E-k&hMKVf)(!tnlt;r$82`xA!u|0xWQ z>2J?>{JZ0PzweL!8P4}74DU}E-k&hMKVf)(!tg$+^dCTJpXX+FXFr-IA%B1>MGk$MSqD39Vx;-N#p}=vrgC1 zth!j07N;Y1eYI_NnHt`I8{Pd8QywdyeV#lbX3+%x%-kw)M{TvTAa~8NT+h z@yDGGraJA5{pJ3P+(;?ekwQSR(hs7TTi9u{&>85Iny}}mWUA%h_cSv6$n5PDaVOL+ ze8p9Yx0>e4INQeWom!io9WG;&l^e!{%glnzI*v;f4dxSB^7|I%{oKW&^puztpQOL; zHjZQ!#9xk7ZgCsGy*;j~IRxj*T%Z$aUtOj5Zg1_ZW~1v|qvtRGP4Jm_$uGgORrqOe znLzWhSBl%!Uc~D3S2!QWGZn525JMUsrpmV$)Ra)j#WqTS-}tSw-C}&p*c-42ikRn3 zn(?1#nY+jZE#tX6;knm!Gt*SF9IT(y&Z@`=vMhzT$7Qalv<35&!uPVnJTSj$>fl)Z zM1<5UBONndI&jl}$9#Wr7b}-@&Qnpj0Or|_=fwo`<0kek7o~4UHxmCLWF%mbteRgsZ4styX@*ED< zQCoEhQE79~5mVZ1&hlVaz{)yhN~+6cNv2ph#;{;YO3ZBuX;D}na8`%GLq*JE2^mqC z9&lBM_m4W(-nPQ_fV(;@hRmO6M>Bd!4-Q|xWFmq6oDmT8=0dv8j6wsO1$3-j;*_#7 zz4%4%U}2BMy8PT?CbKdITx~D`ByFo(ta5A3HUl0(Fj@4Xn|4$P>R3Ess>7BKndd_%N8hEB|%35(ob(!P>OsxE){_{XnZlHjabxQy*$aNA5aIU@uoU6du^)dkZRbVM3j|m_a zwZz{O;1+Y4lm>LIfV}pUWz^pZ?LW`kH3#x|O`=asqmTFxTv=E`jCL4BFhU3Q9)D@z z^k>k3Z@c`*MO`M7^#~nAdi=+M)5n2D=Hedp9|yWp14ZTntf%|H@i~E|?|`g9GMHdzR!M=F!C==(4PYtoVU#sF&%qi4z)Ax7g1{kO)vR~`HVG_k_knIt1h7e< zoxeF*^^%}HfhJ#_ta3g6e86iE4VYSEeW0JnwgmWL34x0ylZ=NW+{K2k*MGx%do22; z6Z&i|Z_$pvUqj-^mOs!djqSgN$X zv^hX&O!lUg1glR>V>v|Gc9_+AzNvzX|^Dy(dX1W)8NBP2OzzjlL&Ch|v@+<_UsD8lq4r%iw0qnv`Ajb1iaH75yA)2fx{8YBr>a0x6!#n#X5o zC>e>3n3Wq9R|^vB5d54U_y!z(35d^V#m-l=J~D&yEybkh!lVd^bgfmq*<=hRZ2eZY@a9Ju4llji z=(oEvb7(OH!}_AqtN@X6QWK1#;}!Id0-XpaqPp}9Eu_dY?Pw{x#?l%tQ6Cl))DcQI z_Nv4ext%Ab*@vu~&5%jW`s1v@*mYsWXq>Nrwv{z;78LT- zjE#c^&M)eWfb`@JgION;TiYIq2xr)=&!6SB)huY33Y<7=P5xKpra2+Cjrn zza)z3cdQJ!bzeSEB@a6Ie~3ULFZD-|6^TqBs^NCHTvY8CWRRUMYhNrL1eiBoBe6MV z+OuQVDR4u|9C)s8S7Cz+Cx zqPjNu8QYdk`SVQ@DqhPVO)*z-zb7w!i|-(dTefgqg^|@;XxQ-+TUg=~$jRL0E9 zR?I91Ss;v_9QedeRvMAtD#J!#`fUbG5XIfw9FSf$0)sEY9;;{Q;9=k0C8zTK@vJzp z+{57AMvH)R!qyWv0^F-uvLE$`9KHxJI)cCNveAadL1^&>vPOiW->0De(45K^=L}H>$uzE}PRS=eMtg-!a;!!@dcD5xZuN+&@(0q?fWy+!~ zu*9SMh~4RIFW8vf(n7S?WLpXkzIC$A^z#-Z<3~{G?^1Z;GfuGCHKq!7*8}jO)RZbp zY?d(0HACsyR?CaKwQXDec4KL`Tt&(s4QGNFOoHF9*Aa(U3i-y3$6t2z;~1+of#=rN zQi}b2r}#LvpE8t9$g9jMG|FxIk_Uf2=JTWy%To#DjS;Uq2`iLZ`~MT zOQo0{X!dptAC{k3Ep?b|e5KN_f{<=4)yMmeyz$VT4qa|ul#;7@s*Ng?A~E`{&e=?SA(Zl1o+jO|^W&iuT1zOr?1)7)4) z-O#d{PhB~k`>ywJXY_K>^mMgNe_^jM1X-7K!r!b8&j0PImg~B*vrmjX!(W`<$~jsB z&7~mDpHq(3@##ku=h;tWaB||wpn?M=z-OojbYm7XHlQYKOY$>DA+w+cx7R)Hi-7=gs+`sG?GSD zT^uu5cJq7QR+9GnsHv~)(mlF7v;*zkG*m3M1)glqxb zE97mplfs!*W*P?z{tSegbBiDdJ`Tb1_jPp%!uebwrpuggPv&4jjMd{KS|Choh1Wub zbX}4;^<$RQQh2pC$UE%bLI-f@g$fG|ruwTRt2}w=&gseb+#&?s-N$0KFTVEf)%M@6 z@6Sy0$kJTpweXNvc4oHpBH*v8BxA2Q6Fr={(J4H2j-H-PvnJybcBHb$^ji6ljt*L5 z{K1(HDrQX*eW`zS_2+NOgsM0rvy)EYTS03q#I>*A`cHZJe4qBnWj!d}XurQMwbpss znj_MAQW1YyD_t-|%bRwv3mTG9B;@0zPn(G1ZiSPI9lhHALTGD)zaxa^eOHm5lU-|4 zkWhdFJ^9HuNhTxNH5O|>GQAW3$dwEEK%NS5|EvBaj$a${cdv|sGEnIG9j98N68gLj ztCg7J-m#gdpL!wh5rg*B@5nCNRzq26-si^Eht9C5HM=^a|6;iq>8m=z3C<$4RGG|AQl4Hc^= z$ib(394z~R+y(`#X6jr~WA*P;YZvSuzGAkRsKi=oH3f6dx329tu}=Eh@!tj&H=i@p zMJ^|jkm9c;pNK;)iE}b4xrXd<>d;>IVP!rZj(Ah?Fcq>&lw9v#dwk329UkR`c(|}9 zbX6m{_|_?VVJ@~q13vLfb|(DB!}jud%t`jkjlw#Jr`&ks%HWvZE!6hleyp0}FB%nG z1l5@dd`7l&nC$p!cMdD-1|if%p%=3-L7x6@nWwk3@R`zFC(Qu8p31P$|E=m?s(az# zX|3vvZVc&-yFfFMb)ze4tYU{2|GPN}4I4yuYogy)Ap=|H-*#rog0` z!bqQYJ_td-zd8AYsrD;BJiZvJ@_t%2{r+ZObU#=}Dh(0%32$9lMY5d1T|A?_iR`fT z-6)vuZ&X=1UhDnhPO$zqHVI-qw|7o-DeR5cC>UMVSdR0Ha6frNK(UNE>_2=*aK(ZVF6x!Hk}OJMn# z*B?U3&7BT)5=OAxSNSk)@R<}8-TX{XH;ST9UQ zTIU9h^JNWwG)O;rDM*t@t;4?zJ2_*;$90wmZRo(>64}u}z~Z6%EF(zFr}hQcs%#w# z`-->*=NVC1=<_B8X~BguX@NplZB+NQ{&*>~pAG(86%AB###oL&gnZUSBLgfIvTY_= zPqZ~e1!A|+RJX?rQ(*>H9*3YAS{SL1lIM>!jOX}lGkiZrqQ#WWe5Ds%&AnCW;Nx$~XjG_t!OW zsA~+zQ3g3C`7!2vPyR(Dgt=TpiNd^-`VbD)^Fb@df^awdM>ZnyojKRg4q31qt8_Sy(hiF9{f}n8l z%xeOL=;|0Vs|+pp-232XY3w`oKWM^1>x=v$nuH1R}u zGB`Jja2(g@;1+mgn}Cq-JxfL-@g(1VC}&g4T)I$*(h9jE*ctloG%v&Gjjm8|uw0o= z`mp6NU$Ks{<;32r_jO?^@Bm7%9&M$>yQ-l|)p8MW>xQOvoFrQaXguk12^q?d+Yma4pd zCi7qZ`4H-Yfc(hm%%&LNPXYmH-`$AzEyK9!s?x37vE&r6 zeV(yla=OWdE!qF-k%)2*Ngm54&Fbf&i;P@YyTH+`X>jk z$j9*42z}xR1Hz^3w?))s`rQ9$Ie5%}%hmn2-+p3YW&KB|teQ1`Gb-knMz0b6gHP|e zq+OhuU6)t){ofD^&|xoMev{83B^+A58{F#*=%>;qjZ`#*9wK3z@2y-?qQQ)g?l-#a z$n`3>r<7&@Xmod{$50Y4TU%Xd3^r@54JTnikq9FVbd1fqczw#aP z3)9+jqgd%L_L};%DXR@WaQMxk{t8MLw)*Gn|rEHq7F0sWQNGvSweaH9fH86RtEBDW}v^#5uYKS(*Gv`rXc030gM5;yx4wo!7 z+htVZSB5Hs(k&(eibBxl$x77GPF?u%E(ldE?PYvVSe>MqcWbr=(u~%R*-kXT z?~+`tch{57w(&}7H`Grd_m1LEHOQ+LushlZU{6@#AI2%G*c~OG+m&_cs}Qfpm8M-W zHnh_`o7k_6n2(K@9I&r>t^jJmF67S|`6a z)l&9tFE!dQh5SiTva``Ddf+!^DJN(p*JUO5(b~gHfy7S%El7bROu-^*MqSWO9bOec z<;G0M_BhMQKNd#%9M*l6O=q*Hm=O_lT83Mc)_`3zrEXFZbXkVOmf?o|ZaVmn#GJ+Y zjJBZ1GJKMZJM7J2*B&1M*>0h~&y&NK$xQ9V$3iSv&?Dh4AGfcvS=vkZMJfO>rvwml z@snBFzj&~Pd9cZUe}$~hpj=dlF_8)F;q8yUjRP<^07{zzfVY$}e-VH!!v;mh1z;-D zYC(X71F$buSY+IhJ%P^v^;QPpbFZMB#b2Ntz@%{i#fd$E9iZ3-6alab7AXFWmkaEi zXa)!^8i1_}4}c!)*%PP*_^~ozSPBe>_q!>#yD7JRe_gyqxAdSI8ZSh%^rU)TF9d+P zIe=XQa4%(eD*(WH9RMiWe3k1YE`Y+3ZVH$Khow!0E(ePBKv5YeR=fV@O2=rD96oKBx zf!_W`%kcn3ptozF2=q2y3z&HU5Dq~3UZFX#ROmIJw??2hT7Z@Vdiy;DdMgKpKyPdR zr8mkZC8xI{b|fO9QGJxp$=Kvv=(zy$Ru3R=M%P&j0LBKOeA>VZi^ujCB?lBEfuiAc zRwGaZIKy?|72yVoe}m;dUuWF{MSy`^2ex!)1A+ws885KqD>J7Hn0kR?I6%h%J$3@; zOb-l8fgvz|op7(OmCj!mTjo~xLgwB2;LEYCdt=FVW1*48N*e&n)v6)(lbTuUBQ#5d zdEIOFlo%E{m6!C~vLvts%6^Tb5l3Oo7qXgk%C#6FFH;XPTPUHTVd`?nWy2C1%7Ktm z;M(nRSl>rerWL9;SHi#)Td35ya?KCW{l4_yEriUsu~2K(>;n#QrY;vBzFKrpmyGOv zdtT7ycrIxc^#y?>j^Yi+X@)*D^dJa$nrz{$lbPwcQUkbL4RwFhc-<6_7T?{ZcP7*9#ocus;rvUsgJ0dmVDB+{;C-Yp#>Bjm{ z@i<79k{5-*=DG+mX~*sfqYc{*`mCcu2isxXRnh}_f4H2rm*Cn8^hcn^<|z9jAqBRb z^jU`mVm^-scXBAB9TylD%yB4E`E{IA^;B;Xe#dQ8d(iAFD%`y(qTkvQ^DC6Ax9C}h zq89`cdlMswJR(b*Oj-fXd3;#Z1(`zTrfPJ=)O(A`rysJG>kuDYH;itl8DI&$!pDwZVpbMYN#%5~&jv$Tk9F z8@xeWtyaa1+kT7XsFvC(v-8*t2m-AvnUPId+vliQQsw1tJPFqh=94J&kyAooV=DwS z*CIpsw&_ahpUD(bMt<*Qjdy@mO6y1R*1Z58&$Sw4DJD%T#rqNx#oRJRtSHALIw;bA z`C*YpFq&o>rX`2+&&V)xMbO)9ve$gukgbT+Ln(EMoQ)eWw~8junnnQ#LHR z+*~fn*BMR%r9eRyRt_Fhya-A!Al5dHN&s7+EJYA^Vn|allsm(e&PAbbM;n5?7!+m> ziu2nI)EM^fKl;jwwkh!ILbDAli9xl9@T^#E_}F%o;>D|)ada7iim9c0Mv1Yn$E$CK zd86K1piUAeLv?-Jp{OanU^Gmb9Oo_Z#_$WZzxst_CO6vKeVe}hu{Co+P&PqE7TBuj z@PLF^a+)C!C^PBVF9CG>StRD!EJu}7FoIyeb`V(6hhWCC5R}PM&)d&HDXR0Jheh3{ zcG2;JdRDR_H9&JSCi`o%2WluKvy_0(RLuf$xwPlHNm;`^79M8fpo)en$O#KNnp;Fp z)SbEOZnDF17&T=beK8cb{IYN*>PqiegG7jMrtiaR+!W)PKG(nGkWZ8c2vG6Qw-A0A zkV1w)o&kY9pc6`zcVsTmrWSW0KJlJQ%FXaqAx)Gm$H@|F%W%mt0n&BW3{CiBIdIgb z{im_kuK8;Z?xv@RBV&ZYX|&>55Wo1GG1X;?rJc|m3LK79@4pO?@b+#fJ|oK%oZr2udq9}rZ!rydoP~yd+qd<0Oy!N9>*Z-8Yl%>MIqd(wCJC4M)y@>Bg1h<}nSJG9WCbtCB;o^|l!N=g z*J+!OYWmAkf=|Posvp>jk)2x`@tesu-5OUn?DF*0FZ-n7QbLH0HxWbDhnb^L(o_!& z>|{2-b>o;Xz@9ma{W$aL{Zb$L9;)&2@+bHwnl9+k`*pkK&enaH0slSsR_@NWEfya9 zs~aQ6y%N3VC%C`F`3-UN!tWCh&B{zj6}af6AqBYTU7jW2UnMU<%cp(lD$M0AFz6=YCJ8nq*4l?}{5IB! zaQ-Yo#l)>nq!|&hD)gOj4KbqHw|{48NAn(LL5jXVj7}MOq(l4YY-jAJzPG#mgReq~ zwh|xT0y+#=dNpd#vGm>Zb_DYcHb*N%Q^L?!it^!YS&~#TOS6Q{exwGyHSB8~!tu&W z1PYxRql}v@W}ASv@zg_4{}cL+_LWmL_-hu7fNI9$$;Y~Sx+tPMQ8|w~w+DiY_I$k_EhwqSEQ{9JprU;80#%11^5m!ogaQ&JYs+9Kfy1L)hNc*mo zQVQj|P6iw8s>|VIXYA}v1d+*xJ#WyB0QGXedpmTXlee+Ji8%0bvb#cmJZyQkIb#}C zvOd!EQBj749zVgE>H{I78RMH2=T?)HxEKb@YZ zPRBf{j-!?^9C6Fce3A3`tMe~P*FIIG97G>{L4dylTVT|PLJHsib#f>&PDK0ld_C>) zSWYTq%G)4Qq-gi>6gxYn@K#HNe1f<5_LqQ13XGzcVl)b&--PK_(meZxvJ+pW4=m4W zMyxqsvd>{KthN)ab1!=yf@wC(>)noM7Z*>k3>9oXDG6tYCo{<7`+AF5bmw!6#ONokOJ@$JyM3bE%6fHN7}Ra0Bm| z$<|OMZfX+}F)dMvX3#Pd7PUN4*Dhp$U)}Q%%l^!$b<~i>Xo}vVsyjMjHmw9QXW|1P z9tk(<6f06DYbxR|4z<`On|akKy1iA*z@qkDk9;X|lShfS9I>Ee!?UfK|6%`D7#yE% zPZMvGqRU?#cZ*`T*V;xKPQk?qZl<_USnGq`JXkhO_v8DUdP-^-iDhZvZfNR(8nU;r zqDRtf%WzFL>?1H)FhP1H2u^;A^opOl5GyO&7#355QF`EsGoV^wL5+@1;?qcwzdKyY zcICP=5`~k&WJb%3Ne{!B5gyqJj0uHwLommxyVU1nhGw~b!z5)?65$aj!73q@-uo5@FHr%`ovxSK4U#ldVZ~j=5L~(=Xk% zi$KY%hgFy{*ufsDXI9SVLKI~G z6MJtNl~R(n`*dsU(IUwLj=Y-4MM&pQt&4ePQwAFfRD4bhJ-V5>hR*O z6&qpjzPmcv8uHnUlYa~tEZnNK^M{%3g6E-$uhCGm$^_l4w%Xrh_*Rt45xFM#N%ToTwsxnKZuT3}*VZP@#)Gaw<@QLP=Y+W8;uEEpi*^SG zba@Y{Dp$Ow{BsYXI@|6`=;6xR$A)5PPiuh=`rnfdQ42PQG%ItP6+>k8Xd1^LeSlDG9t!cc#C;FLql7P_$}EXFgQ|MZ-ZE8gP1d?$|b+g zd`9#8K7_%BKlU&NgGjjZTAK_#GJjTqe_cy6de%N41(;JPhv`F$I=%Fb$gg3Z?inVB zU!u$&k`E*0tY`U$v3H-h_$27P@s)-NF>QO2?C`s(=27r@z}(AR(?&aAfB!s;b~D`- zG7gzBQ_gE7Ga3Um+Cz{$(quLH2?KH?t8pG&O3kW7mY{ z_5Sc{4?Ov#3OAoDJ_19rm;)JHcOLp{9eVybrfe?^K^La}5{l__!}Y@RVl|Q1iHfE< z8pC{QMn(e$I0i|5Nz)|uzN-DPi&bQiLP?6bHP}T=69`5`^0q_SoH&L`acXnOig2cH zswpI);S5zp#7C);B$}x%K2U z-z@3;#0IGO1CjqtY{>`{)Y8|5@pKGvj;cF0JNBZuzcmk!#}})rD2AIYMvR~f6&J0J zpZkXBwQ4r0N8*)u*72}MY7~W}@Quy8qs=G1)!4u5ymP4!#z-V7(+Tn~^`3cX6sWrq zd`!%;YULcQARGJ+lHD;$Q?Yh$k6TJ5F7NxprwFs8B$61A85t`jjKcsrw){)S2c$PP z3;%zmhejN4`YW2UH$`q1#HXqEEWSqx&Ngfh<0R zCfCY9u#RkP?S_gkFqJ;!D=*uaUV9FLPQXN_#xUW3);c`Ji1$P$?l7ToiMH-u6k}Z_ zorx)bCWgry##ksreW{Ej;c2oG|uF_vB&rKi>lBATL zp&F$9uo2e0kpS`6P#oy{l6Z>Z{wVp~PCW<&_OO1Y-hLDhe0o!labLQ);S8XZL9e1<~$r`ar5 zh-TXo`c4>740g$md5V78J)5DGg<#8=%B5Keya%L&pTqzT-q=o~EcHE*K9a7OwymZtFq0T#I-1Z_U$6W;2G%2K+TxFiGa`4ASPoa+alVPb+eqw8WiLVGmOuI}~!I+M_J=v-fyM9iY?w)8EW{*PYwaB{yIDjzt zH*mI9%p0RrMk0moY_yQu@H2$f>8s&t)$X#kTD9MG0`dwK`Qe&$MFM2}hWVn6JHo{| z!4}$>eAv>&RuXLK;Y_oVNaXiX=p!#~!{J61_93ce$XP2*ya9hrRD-?0Cs)_y|5a=t zIHm17S@rlvK#pAjLN3wpz$|=<9E%YVHCwd-!%-C=?gBE`JW#-ww-qla#57p){yT!G z@Zw)?{32i0NTth^-$h1dM4EcAOZG?ovwT=jB1X z9Kixq-{B%vUV;YW{ovJtP%#+Tsk9xIur5{YMF9gMuGTA8;k6Es)(OIQ-7)$@D{$<6DB(@m6>}{P{8YxYEg`I z7sWDa4eqass-WRb5LTPb47J3v02UJ1iY8n;J{(0Jzzv1P>F_6l=?|oj;lKC;4BiB~PzV$_kJmMO`?DhWHeQaCiXU?f2 z1))7;(A3mg6{_qOH+>7tCmcudcY^<%ghgoV9q{MO#j)k3hVVc0psK>q=lb| ze*1g>Gy-hGaN?l7lJ&D0Z$qi zMH9u|C^JPK^%Zu87?MQ>E#}?O(_7dv_)^}a#IN9s`8rRsIu`>nEHSaUR8ov=#11{2tIEt3M*$H5#O+yAcXLpRJ=I%b!L;O zz>hYE1o_1oyqPG3`PWyRFOE2ld}t|!p9K6ZWGZM1bl*;?BurL7W~(IPWd3;msPZsb z@nBlgYC88IV{W=l1a9u`>%ih;fz*S;!WHhojG&GmGNOP#*x~t6rFpVq(X=GZbnZ}w zN+L~4=lk1|G1IvnrkOq_b6YZ&!bidrnC;ny(bX2Ur%9{HaP_MLi|0>sXK&>$R-elG z?`0;9mYt@HyAFyEi?v(t#qYNklKhtF(jRvUCOzFQ9&OqVcSOuxC=}=bv@G+}b$3+}pKV{B2K{@9aGuzH?P1sq?d) zzSnqM-*CcgZ@4WFoyB}{IXmjP!EBGbT*cJZethW3(BB%_h^vuw9k^;~ZfB#_4&XY6 zOnb90-9H|D*nH4+H6mHt&fUJ4QN;Q{(WbQOeq&L~v9gj@U%z{B*S(1m0e65yF73dn z=+xKM#vY+Md5MwJ@rbibUVjtFdUi|D*0dP;Hs;-a>fycQ!co@o#24t+q!hz@N(keL zhl6SIXNeSUvb(}quSe3d9qHYtYZ*;ECnr;I2X^z+p50V8i~I3~4x01X=|z>YuCp31 z-f)d-%f9dB*SkkoBg;tbYEA3+o{xUD_P;Ef-Rj$$S{BmlL!Hvt9!Jg^+-I-OLa5<9 z(^!^pwJcoCPDO^y>W|a7uHBoot+Vr;WOLhJ)AlLOTJ@!QEM%NW*FO}C9Vl67%Q;rx z*5_~P4m;Z|^(=G6Ggv(AVouMTwOqx1akHz}QQWt<_OL>VRrGLQr&x%3E;FOry)J)P z6q~iJ=i&M#9qJ?(d%3X7*>`chb6&x9vLXrL;K>*VPa92Vr_q!c_FefsMqfSpj;x_z zt9nx=%|SDgO!`od@Q~T?I;~nb8%=3m2|uX}%Mp?`UY%EQlk465ii2d*Wa82J&b{TG zVBR4SllDvDJqv!LPRjbYvq$vda5Nl8$TtZE%Of6T?VKC#^pB%S{z@m4wlYDqZ!bwb zrqr!=H8oeYj$W=05BOWIkBU7M0&EH>aN;KWD70+qhsG2q+dpld)ScL!+dD+uJEX9% z#r{e}w{$rWlFq(aoV;^&@~Y-ioZWo_!(2K_N%25CNZEv5v5rj1aTX21K_^j;E`lza zO(DI#jft5xUYLd7e|xmBW!ssbaM&lGH{_t!v3+&4sDDLUDN?y-Kb?+kGg-EnWj49$ z;n}49T=CLC7ao}}F~=FV8~14%GI$|RGNJq!+ub z2ICkGXE%@Pb`5*KiuoLAXgbj{t1*w}H8Z^4NOThxuF=e&3D3-0vnzO3Wyif19$s#E zR;clbvIFri2Z=MNR&+w;apwcvFU~FH>8lIQ@fv!Na%X+=6AShb1F&?RgU6R^>y*Htcr(=t^!w5TPmw->Ff ztR7FWXxJ)7hwr?DWwR{*T5na=G1!r@(mpa<@{VmG;FFo$2-DYtXUle-$ld*iOm%n6 z^2^;#;5g;^Nn8pwMmI?@3jH>#UWsTmv0IaRfyeS-d%$&hv?{Cz(j*mwaD{Y*;F`Al zv*=kBY>qVDW3%Fq!+;;`@$rP|iiv%9_wLp156Q2!8$3q7ZC*=uEjZAoyILbJP__k8 zsefjB%!MNp&Vx+s;Q4~R?^qDy(yfW?w7PxPbrg-EM?%sSdY$>jEoe32gm?FXm6#ydGRiPYNzr7aL}zzf?T>=9IR3c^N7Z&~B#8oo+KDOi9dZrN=H4|2-qtvaGH}kIPPWN(Qaq8_SU37=0^$50U7^F%y*v*i$yS|BojGOS0+@aEx^D#qo#4XXjiu?LU)j+UWW8>5I zQ)Khd9<4Ni*PT1u#KT~p_PJ#*#;cg4F)yKNQ{o@xxR^<>LWy+)Th=s8XD{tsS1trY=1JP%q^i_@$>g8 z1=4B=9SC`{8(NxIkFK4ZPtRK)Z(d&MD!D=ZMQN#a;Y7R<<>ATlZ!%Q9Myg!Ad z_LJYgxZM9>?BK^=W5bmRbdw@(M#;}`o$H%^sLwwcwA7s6>!yKBz2m^2$SR>7K|}IX zRjlN~dDV<&y?>Hwpq23T(ThxTf2Je<3MHUUtG-l~n7+Rm^$XfHzka|Toh9S=c%Eyf zEuL6bGrFB>az1ytn3evff0TmGyEDWgo3f(=UAEd2T!I8e$iJbA5(X@xjZAbzig4MmZv4SgD0}BL#P?@9rQ8Q2Nn_07skHG zd7LQuF9oYW9pm0iIX+tUq-Id_J3YIYNTa_fZ}Ds1_eZJ3ED{83LcmVHO8r#N4QK~dZ}I3ohDJ({+u>zg)o}aee#B5pLkQx z?d4Q2HS6)EoDdlNqIR$FZ&%6>Ntt~b%>ohxl7K*Nf)7AK4?v-)9`S~}Mh38t6x$|^ zkgpukfl4y!{w_a%jqN8l5L`?u18jX8h!iJF4_TP~+1gZ^x#PmIa{v&ObP@!Dh9U$@ zR{~o}06>f=lB**hgl9kq2F0R&5&(qvlW7qCzJ$oq`G)K~qe$-P6zYot?C&V4%0$uD zUhhLRArS(@ceyicpRd;&_(;>R(>h*MiYmIVQ}dl9jJ zS9pn-D1Ra^5cz{@DUD171RVpB_CE+1af6_cBe|@O0#aeQP&Bv7WJC)#On}*iJVJDV zwn$+TvRLl(XGtwsvLc1*gu!h2^c*=GQjqqOThL?_3XN#v1oJsVfv^h*=<-S92D6#n z$SVwr=EZ@VkAw=2A>_y_WPm2A{;(GU0S9v-no5BYEhL~fP_0}9*`oqc&@eFfi69G-@dqEMj{-SRtsR7<8#zfqK)xpV z%7hJ*J%B&|H~zAtP((@#nM!!MmFqnYSWU5!p%%qxcaef&i$ZFZEIFaQh~IFw+_a&V zSjrEo-`oWl$=FG9kwGr0s&Rm9KD>oX-Q&N*|7|U?X29f0J_aC~#sWiR$}d1o0m$_; zEd&(A0*L2d!GB?LD;gGnEMl|g$Qn(TEQy=`4`uU7YXLUh1qcrXwD19TEBDh(`%dmg zpDakNpFyfdn*$WXeesv3|3!Lcpv{%kQCijowEh~TXV_o4ReKV|3Qlw4K3~CqYefer zdjR?c?vDHyA%R7p)~^*!1&Fy7Fc5y_{)i^807jD$P^d025{j8k_Q<8&4t{kD-f!O=v{r$qJTJ;`|PbxyWKC|I4o|%WbjAB7Ok=Wq}8+y z|1oA@7*(eXwFbW>*d`@x{8MO+o!oaWfR1I5g>eQwbmdA5dRHv{DU(Vz%TxwMKtGfimQtt5%8i8WH2mJoWH7s zNQDWY0)V2C0tNSXG3EEK!1yULTK>3@EG=~R=ybED8q2XaCX)`TFu*J~z=%G)!EhzF z0B5up9_pd`@YN_@VgZC{0WRzfT^^e!CtJ2NMkZ0H805 zXK}UV&Vbwi`T%O?UoKm*a7LpmRz+k;l8XHUFt4aA0uB(HI;e6$=uk8W9qI%SL;xHF zoJeCX6$OcLyhNd9JZK)9jWA0Df0Y}c4n-7=Rb>XCFA(DL+i(BoRGNuWZkalT)1%We zJv!{u7&)nJ6>IgFJIjX5c|i)qYT4!R!{!s%6UG zJNi1;JDZ>61emboW45#;k~$d6-vID7u7wsdUg9@BNeJ+{9}~Xr zj5q)VB|QRGdjMYp_3^c4sXLn=6<9t7Z*pq@vDIt=STqo$({Re{B6p8eS7kiJJ z`?rGzr1fw&l)gCw1M@lFe9Z?yxl~iyjszLM0YrfN?>;+P3Rn*TJnr{OH+Zr+X-NkM z*%pcP+f09h%%>jiI@5Sx0lrdXYe3wFs>P8&+dTkSNq)p6fQL}H01l4H;N~n2Bq%ti3rMrZz*u(~-kkjg z<8Hazs188uTMUS7jFZ*Wb#vzPl@sK)qd_EoPl60bKh^$fkez^E-OzCtU;f6B@DU$sI(+G&JFPCgV?m_NX!{$V86XcoGswQK$8*CjXdJ-{%=eR z7PR~Oy%aJZGSY4XZnz}j?~9`X2e2L~0*jIjaGDk-k@sgR0%HCk1P+-0EU6wlAorSj zB?s(Hw$-&h3{p|Vu^Oz1-_gvCfpqP&B!}VPe#C|q`~f(w87@$854a0MdSh*W)aZ15 zV0&`Aa6!esElRQ7yx`dj4Y8+uuJYGr(Br4E`vQc~blT^Cb0UBCeVbp#TC0^4-1=tI zjekzTPp2gVI)F0;Q2pQAy5Fe24?rqDhOiY^RS*Ntz2*LS7=dBy{D>DtK7tG%_Ijle1$zdk=DaC!3% zbJiVygM{d=OZ?s`0cteKgIZ`Q+k!nNqBt z6HG(Q`)&#hmo zh}lj#dc8*5uCnyFzJ#sic(%4UvR=`uz2aiGb=L5>W!0Km%HzI-D9M#u{k&;Cvuar% zxSj7gsa$n!df#)V@Gb&Qt8?-^B`aK|d*|5lVV_f^<6)EBtYd>O@f{|5wrP`>4v`rb zi~&(kMUhx8%~!joOq=8g)05ZSz}JiMV(?wMTXO222C;lpsgzQLD@qKyjAJvvyqLPshYg?G(geX+8$0< z)6=tE5Bti>FU)P#o*XTGo(@;5n;gd{Wo`GWCshna^PMPjH}g)ByGKS|7nkeDJI}Y1 z>+21T?OV&2+lm1Vs`JSxs|Z7P>j!R{{l4=}7|SuH=(yDPbH3YF!-~p-oEu3_bH5TY zJa*>#E=-+nE1V&B`kldhWd#FzV+`j*Us1lXZR`GSiSP8{)B$@r7aHckPBqFMaeF zO1UIonsu!2!tu_nlI=SCAOY{m)zNuj6>-PB;AJvjJAzS#ro)if>P!C7vg1ulx1jF2 z;m4RrJ=^_>$)5?-tp{3KuBlx;p*PF8m?v&WKQ@=oY91kt5nD`_cN!XwH`h2>yHq(4 zElCW{z$r>!bowHt120C7pN$IEuWQ_?rx#uK0_&eX_+qu)Mrvc8NcTM%B6iNYvOm(d zZTC`bz7J_{X~w0xI%0YDwejNZl#>cx)=eFJSWgJGySxpx2y!|w^W3pIS6q~K(~Ulb z!{4+ddvS4NRH>X??bFQ8cqw*!WY&E=cGiUB@JpaXu1^Wcb2Yv5INCfWehK6Frn{^l zsHjI^o9(#VgB!MyF{vDbK$(ueRC=kqTB51G=QPygCP=cS86=o|{w9onsq_t4?$Q~3 zmeq`hJmL3@wo$Kl=C1DbRSHA$>B^H~T$Y=`lt~Pdk@>t^t7Nwuq}!L}j3&IK2Q$mJ z#*3I&&iwo(owqs^{kO=F9SBG^ku|aT56-ym!JOb~$bQ}mQ79fNH;O)CE4dwceQL;o zg)WUh9aGN)CdKk3CiTgKNSf~(;&3nnt?;ot9T80Sew~&WEju~~)nZ{046+NIo+&*f zc132i_PNYV>fR$C{xH5c%is*k5R_B~?gK3jY^bD;G`RPFrRu%*Nj@h<$=hh1K&K){ zdv02NUV9-0dkgj@uLabUv zA{iZQ)YW=j5rIg8-LX4JlS7Fi*k^YfGt5jlhxo}{ z?b@o>j%anPuF(}8$l$X&sNNLeD4O0BKRqA!mZ)8M zOnWMf9F7%h)s9fRSKjN8J|iX33nwKeh8OZP&n%uF6(Dv|e{iDpl&p=x?7qyZ++23> zWRaXN4%{qLmSj^(X-+xytUsN9@OpN4L{Owbc_E$56dGZ|f2dn>I?6MjlDTP?-Yokv zCffI0P_{mtr+15AC?$BKGNah4xKjpvM2t5zCU>B%$EbhQ;_-I6Gjq~hGborzu>UjB zH*Ll}B@{YJSOp1);!Vq@HolT8C)0kx4!<*cf)HZjg%6^D-c)Aq0uoNwLyZ+#o&rU? zUdl%{;zRR_WM^oh6_=%l`In12k^MJfZzxQHJeQ6SEMVoNuTy(kS{>PPEwM;1Ch zXqYQ&!$Ll!(<4y=jE^Wx(_5B4=E*iA2<6_cxB>P3)+1M?&ProDtx;PP$$xSR%zyjt z_kSdo`ER;BH8sOKO7##z3f^x=i1|ZDXU;9JytTe_J}uMacUi^|4C&p+Xv!vMo0DVY zlF>wt5x{>X{;5KR0sZO{b$fsyT&Oe4d-c$9!Laypw<(*7VlY{+mThU}Ga1ea@EuK( zIZeXQ>sPM9=UZb&6Mh5F0#vA%E~$>i29^%n%9!XeRrzzN_+Fo8G6pdMgnLN`;|2yO zUS-xxNGT2Gp8edAq2Y=Of@q~_F8M{-UROpI8ZvrrKQl|_I*_Pcjd0p&oF1u{W?A*mi{+g-hb2Or87C#x2p|&e2kDv zKGJ-YF7N-Eba~A5|N3jD|FNr)6Xv6pchIwU zu{NX?wa_&-q!lqVH8!y)q^D=1{SSeW0;r;jw4RxvzCEq7se!!-Aw3IlcdWdmuH6@a z>Gu}uzv=RNF0fRlDnxXJg-Zxx%Q;Eg&RYd;L$=~hXwH@Yn=X%w=VK*C1v@;(M?XA| zO0VFwNb+3vd-Qe6Q0*Xa$6tb=jD4roN$K4I9lK~sP6GHINnYFKd$#nIb+KKKfg5|p zuYnqC#;lU^EiT;es9xwC1@Q4Z%$`GNlv#OtGbnU`;#ZGul^nL7nEXn8LKUALD045} z!(P7F^k0F>PQ@S2w}-w55f#tjsS?i-B>*W4wY!c^{@ncOIlOrm#Ck;^T8YPi*t>eC zw=odeMK?7Pc{To=Rt^F1dtWbw;&cEv+f15{wMHcjktmfQm4pEm)+2v6{~`#6``>hV zAXWS~UEY7w<$>(rR>i;2=AFD4EiG-amls-vF4mv9hA0cCGV7p@Rx!EHgyzT#n)=p3 zjfr`MClBGUDqGBqIw0o`<$4 z9MbH5fNFmdQ@-@bkOOj#s#BpLC5K^Gm?rPIv@KiSIjF|FRf4Mgz%jE7fr?w*nr*}C zqi?tT*3KPA56BQJH#qbs4Waoi0i22_!N+MUrdRQ~u`~(dt2ZvCx>(sBJzq5V6MuIv zJUxi^liZU5@I#K8tPz`6uFL=Lr^{ph-`zU;0w=BiCkcXB+H>5`nCFELJSq7M3iI z50;yC?bP)zhWaDdNGUImwACJ(0v=&>)k9}&E(AoS37=YY$-eBp5ESU?t4&;=o-BWz z@{g|a?el|GcZh5?k|%n$=vgsudvZPtRd@6p7BqJaz%Co0KuEeGmn1(+x*6x9_N&;( z&eLZ6aQ9%rFf`h8WNc0SssD-U$o=lMAMHX^^>Vtlm6xZB$GYFLr)Tq1gU>Awx1;+B zM23@KZ3WyB_o6_$)rRe-hT&tsHeM728`;kIkmPg$uC`V73Vf5JLlK`}hInB+{RSJo z$>}Yuzw)dkbv6gwX6JE-G%p6#c*;w|VI7VbEY!b`&o;VvXv*vzo&)zL@U1e??Veo0 zdiYq7o@g-n%?=-i{xrVcx#Or7T6NG`H9^1crSmYB+rz~aw5Nmhh{ zXKmi+@Z(!e-MJbGnQpz=fzlkqb~%4&-(NiaME) znljgUG0}j#Q3IegQ-NzznSr}eeW5j{PBX9?Z90VlSV&EoJpzYEPr9VGTfbN%> zkX-YDYf*vjTLYk5Gk|MRfhw)O(5`ZKD<_!ACbg`&KrQr+u=uK;!M|ViVqJ+MMU9DCxCzy@M*-4$kdtc10+&F&U!~w zo(r7;KrLD8hyt2FX96DAJ1WSW>8OAfhJc@fJ$}Uj(8}mYWg+SgwB05vLG(q+dc%(# z^g>s1VX~(>H8}WTj>*v9r-4UU{4k|1zn_v9I`#lns>AOm(AB*uei$IuPfBMxR|KS9 zx)DEmKrARoq~6T+4lF-V) zF!0vZ0nnS-YaI00*GNG75Z+$kVk1g1hCum)Y5)F1SR zx!z`(CP+3|HQo7tYCIw#5XRn4hlI@_ek?WUwh z{8XSuMlT(lplwK3cXrmb39Be#FoQ7K8X3)}fT8D<^{yhDZ7f2a4tet-9IK{lYBM0& z8+kDRoIX4*Ee3SmtTw$k-#60ZXlh4Y6+P*N_&Ac9dm z^6QfR4La<~$5({d=35i5-0@(@3N8s|c}2;VUs3R_+4!;BrFXPYM1YZh?&{ehK~sll zjxXMhShIN5+>I*jQ4iPELRqY#VuSg07*@%Uzr;ij>?aN7RSgnHjGI!Ld{lQplLM55 zNe#*dLm-TLG+c_i_$0~Bb17DSt^p=!FPC1yLBB8u2X)+@WMqrkYOqBVe*Hw%DAps|- zHKn<*as9ijna2GC!$b=?zq#8jCg*sT>{}BjYND2n1|y+J++dimB$-vH-!tRMGYfLQ zN_}B8iSNgBrx-o^K5?pw+qsxVTw!m)SK2{;7nbX@3+c6n;X|*G1FsNkFLJ0!>qeDrktg~gd>}=koSS&&!gyU2q zpQ9A=XsG4&gvjy(XLpB@^u1tOUw?q2J#S1A*Ap@~3Raan$wV1)P5%|NlQZ=emGNK) zpT3!AS8U0b{}3K-$Z^($G3iGq23fD+nTnIS7rm z=xK<|zL5?!e6Z7faUK>7v;AZxppVeE5v?tt!6%X_v2K0O&KJR%N^TP>H^i$!ksJnG zT{}kZLi2}8PaJzub*Em_&p<d9TSP=Wfmc^YZ4SYkiV><~e#uE}f0Oul>|HirX zo`tImepY2lB5+!|@V!$aCF50%Tp*jeWyCamViBH@DGPe`j4m~1c*F)ykzy?(u|)sQ z`yV%m)!3|aGM3wF(q)6->E4X*f0m9uX7XlBs0xLrISkT-A|RhTXCmG&aKQ79_?hLv#uTz zLYi5Ja$$<|p5vD03V1N1Et|H0X}g0Z0D^>MO9He zlmzq=e(1T)OV|aKFGa+w`p=)iTct@^Dn6T^TC4~~-F}tP&+uD91)F5pdQZxm3d}zP z+t-J}nd_C3zG_S-zb2Rk-egQ+h`*(XA@spc3PKl^@cktJS$3cV;pK$c-7{C)nJT9& zyZh8b4f|R$u{%r!0hj|;9YKa%v{vBH1yk;xN$GmIWJ>ZIJJ25_^n^-+x~U3T^}4Il z6Ij8#6wL6o&1bt*-_zE?_^@_^rlsz&o(=bVow!c6*I2m(swQ1{hscO1?^TAeejoxVI+JPiUf1(~6H>Kz_8OdRw2lf4CMql#@>&kFX=D%8Z`a#nUIO*4-X^Sw zt!o0j%*@&4Msiwo2`zn=pq+ynD1akZ3+q(?waJch82 z$-VLMt`V{9jZQ>PQT>cI>6T9{+cEjY)KR~xz1zPj99m@E=K{h!>-+p_oTzL4)D;-% zlm+Jx6&`pKBGZO@pZQ2`yM99|+loTd5Parky@ABHlcP7OA!epcE0dZ#-(JPc+7x*Q z;UD&}a99NKy)lLnc_nzcCx`aqZpnLZ{Y&;OGhqlpDhVMN8vU6B*m5d7=lc*egJcxh zWC^zS6suvYKgsS?=yb*5L^5&hz0qhsNq+`koPJb(&(eXF z*O>*Mp>R-g2MUNgH%bX`u)6W#-kE;^gRyr*j3VF^(mF$k`drTp30_z04bj8}t)k5% zLQRLDj3oK^3m#IlXY%=n_ndr-eJcGJJMY|^;EQFE3w=a5ch7*0Zr7135?=UCGcXk4 zFhV8l_f`tk9r}`=X6)yKPzD0pIi*#bfqUxbja%%q=p&0!q6XS(P4O0MA}rV$1Z{qu zzTTpnDB=8!NX$zmC9qOp;n$~TI}8p@jdJ<}oOVoJF2Rjj_v$0hty1&ggj=#|8#76` zq^Q1p#IWQ$x0hFJc}$y#QTk#g2ljLEoVMYc3#l7^ES$?Lua6)(O&pjVD?RS&nGO>2 zQ!-v+sBeDBt)zQ~mOszb8`$(J?66XrVm7H4+DpjD`Jz!j0zUZ0EuwTOt85!hrU0 zeKc~{wS6=qAp2>X4nc5rwJnVtQoWtO@S?h~X~rR8HVaGLHM>OI!L1^JD}@}QuWvhR z+{x*oZ|JExIGcM;^Ih}C`TZ|F9(n5l4xWXb#l_~NbXsC(ywJ4emJD)?B}?oPTbsLv zjD0v~Ji>6|%Q5XovurGPZNomA7WX;r6C+rmRDwF+e5)Mh_4!UaOEl$ibTJ<>v*%sK6ZRx* zPJ*O=`?pk1a!khliM?XWDwDJ{z~N)1(--~+9b69O8mQPSY01gwgnvX+*G)l|(f z1q9knx2$u89C(^3E^rHR{-hlh+2xXS!@-Qwy@3HKurbtRt>yF#P06!(Kc|L(=+!hy z$?fs#U*N@DWY=ZGuV{_gtB`ZiNp{23^4Nz|4y4z_i}R zA)S7$GiJ;hZB#j0fE)d4fO(iA-dSXiZRp>4!Zd!K=LrCVxYm zsz&mlA5YW~dZdE<{>KLn9Ni=*tDT)F>v4l|R(c#HS|WsPG&r!^5+@+Vl%*2%apDXP z55>1tEib29uelSW(7Yd4X`|GGeEw%Fu_+Xgi(-~k%*^X58>1!JQ%?^m7pzY8to2s; zCDlK0X}`bfL7j;ErgiH;#)qvQ=#QU>`kWZOOj`zmN7ES|5aqhO~BLiNkkH=dX(ruh~ z1H;+lvre;acLU^4$;BLq+oQ)X6tLW-bi++;ozdHvPMB8ZNWDXFluwE2g}X76H>*bPYTJE1~GRJOicAXMd zd0)M(ALg5{UH$ZKZ_8cwucQ;U*54mW2}Cne$z?Js6}L9mS*FjXMlbPzb3;t`%_%nM1bKHzI_k&hGGCuU1>4x((I_(5C~|+=+F#-sk1vv;MjM zS6`;s^~??DQFqGnov)!*;@Yg_MF{k#>83B>lJYS*8j=Yts#wfHO78h^J#;$FVNsu} z;dqgn;XfdI^7|JT?Hk2~@Z|_p!W^ihFhh{g6UMwDgMSqn^JUDKQz$5+i8rWk@yF}l zxXGy;l%KjhQ-pjd_~++8c@Qn(zRBBPN=w=~aVX@$S5+`*;I$Pg8q#NCz=(LOcUK%p zqE_;9Rx!e&RH$dQj-9^8<~(CU>W($>mnKWJJAimFHKpr#o_t6NtZskuGswnl!Ns_{ zQo!>4+1W*5j~a;^G|rmXS-wN32{mtqjizrnr$nUUgQ%M73}|^g)}V;m8??&%wCo|3BlHbEk zGpUnp3a1=`Gn)8b;r#@z6Lx?LPn4}k)~i1re2naFqEiUYR41#5PSgwhD00MS12M-3 z4(k@x*M&qrRsMOOU)=u|(ugT`%`yDV#1rzLW0x)H z*SjJZugxO7AsW~q^q<02Ce?adMf$K|<`!T0J(jzAZP`z+szkg?o7~cbnQ-c`gjc|)i#_P`T8CB9- z)2#@BxAO1}??;JB#6exWXLClhN(+pearTZn%WME%!(@*3*AMpKwLAIZky@nkav)ZU=Q5A?*A zid~8>sG+4B$M$5xKP*EC4yH4e9RsyILO6ymED?6I^DHQQR%Rn}Dg6lqDLq=I%6%En zaUK~|-pkw@`(JfCKt-m=_?M(YwlfZb!{`|1#t8Liau0f%yFih~C~B1~7Am0ozSr~5 zc?*u!d~3+LBg?^ypZ`Vi*J7XB`u;LvD4ubz!a#!583?i2s6hVm;+v^<719e+6`ypiy5p{LPLDeQT_!M zfI<}jUdk^&Gl=Y+j~G?MciNBzC4=iGZ6WHaevJ&m(b}pXP)m3={ zchQ$;R;WjVy8rlHA?v?R;Qzy!x`d&nF>sE~NYBdfH^jVE-6C?S4rRrzZD0A#^A=i} zm|V6NDw^PAlPN4(_$1tYG+fwK*|BAeN2SxvwH}%vY(uy_gvjK3skfKXmmeKP5C^cA zRfTa)^ty+Ht1mjS&wt9O@r<-;~(0AQ{O;hZk%cw$F!~ zo*?qnO-eIvADT%Tre%zKfo*%1B^7)={N;xv$PF!Dt|x&O?)j}%xdMYZK%1}${G|;w zWXeH(w`=SOI}##rsY7>-u7N{ftds8sdup_LQkiwNsE({~N*4vvS7Va~GViKM#OAcC zifJ1Ly!$<@KnrQhHsAKMmxv}coNVtMeZf$XO!DwIT>%I6^>HNpP3o?v_As3j}v}x8T9uEm&~3;P#u$nKFu;*a38%2ys2EfDJMl#YZW)l+sZn zra%a2lTpaZ00hHNT*r;&hAs(m*wU|Mj_3>`mD{s@)I!vvr(NT0`98dnPaqaDlY(UL z3rsU^{%VzkkoEnSd~J>7n@o{z=FHr^4}&0H5pXYwz1=;7Jj1yF4bm%9o}U#ciTJwO z;9h1@jgxDy4tBZK$QG{1{T0o1qXIw4SQ} zLMksa)=VEzC>Lkx`3O@7N$Yi7O@@k7? zo-=i*Zod3zNE?9AhGj$x&(G`ny2rQ4d}KXU)jXyKClJA*3%?gUqN3evt6MoQX)V<{ zH)E584!bhDFHmC8$aT@1mtbH`jT@wYXcC$(OwM&dm7An5C!yVMn_eUzDnzD^8qOa~ zoj0o#8*c|fpsOG;)~Tx?LP_*|&%ta4a$kQj%uEM;vE$9T)5+?EsQbV$ew<>NS=n#k4zS~Sc&YhcV0~JTUAG}2=%fB3 z?U~4Z5vT7oaX*S_w^2Ip5gMC!w*P1r_QTWx;el^niqYSoY#bQrw^yvY0zP6iH zj7a~8-5@~M?h;R?4*Vk~gVVx_NnFb&QT#D28~K+`tY}4(Xhn0cOsk}m1xWCKdu>Vb z_2S6@6^VFkxm|419T;GY(zPq4vHTe%%LOD*8p$Y7%{KArqo5Q9??V-%@f{@noFvH> zvES^#Pym0R92%^(6a6Dy8mn5G6c`%*6eRR*>}H?~y#}j|R>?<9Ki=j9b!1KWR{sto=_Eyh zY1ou$*s86;FqSF(HTu$)iqJ^$V=~`^enmk@or4IrpYZa>SBaCxMzm)UgO0lF2_O zS1hrcswTqxMEd%3o6Y(_z^E(|YGZ|coIKT3Z>E)HhD}hxTWl%j$o|jLuW%JedfBb} z5A?sc1b5nI1sT4t|{mMk}=93@7*_zVj{8-BuR_Li%3WbvKP0t@EG)+}4>iqk4 z*L^8k%Uic+59ezUgUCv=^5vF12DO;;9_HS{_{=&S##N$wG=fVVYBXoR&ctw+-Fcg0 z9-Wru)UG{P7YH6Z^5;mpx74*?2FzuXC#|iou3yI7#?(=^CVv-nMK$>rNv;4k@Gv5r z=`qZ;J!C+8GGe|HQrv;x-xsoai4&I&i-k{E#>vKG52x;`PbVZ zyB9Jo+%Y0*`0rq6bPIa7vURB13T6OY_f3dCTM^VV74jrpPKsPYXS z=-=4PwSvDEfx=VO>b|nL*F&{pg&>6W`&W6TJ#sl4h`c`=+Hh+~7?zViG~KuIx?Nwt zuk&`YJ3Xuwq`Q$GxbMn3pF4<|S$?-3f#f1J8P)k>^L?U`&~FA#yn$Hqh22cEeA42k z*h+~xLKcePCIPbuiHQQ{uAv>XU~Q#@EizF?qgS(AKFT}Y;!w_&t^o@QT^}E>GUYOP zR0hD=w=&~0we;rPRAT+&xEB>vWA5*Q}pN3I? z%9s3*`8oU6RMd7!F6OWVD%^_xtbR66ri__T)Hbn05sMJF>(s7MgMl-?Nm;S9f80`f z{p{!TNxMGUcT2oZ=*}MEJF?d1Z_5wIL&`}s%Feb@@7zk^m*i^5%)RTbU#N^Rsxmw4 zz3WuaSLp(tCtVNB19+45;kygQh-rqGdnK)kBT%6rQixfFQh zf&A#rehp`s@3{9crW5h-jqua;hEY$}mHsJrM7t{J=T8TvwQXL#U^oY|MV* zFo}~w^p0s`TBoBRX3Jqg?$T3AQF`0DVI;P+g00mdR@vgxv}rak#csvl=-i=6(yY6% znmj?J=!XDaDl`N4!EsUU1hMI9JJ zC1GZq2wxRacp@XcdhiD8ZkHcwp1nb+E^6w3;OcV~gNeg0?YKlsNP-gP+}H4|ZLOjU&5a~T#@4}R5Et>ze{Xtn~t^2r3d92FGyD^^(YYn`a=py<^> zTUc4v?wGF;7JPo^j$Wo>u$feddW+&asp2Z1-H8pxh5ue7l{qgQ# zV8(jc8wdf5K3Z<^yuRC6TRhn4dr&oS%~c*m6NR>Fnxf-lq%Fx;w`A~UOCT;`;HX7s z6y&p%%Xwq9+R%gsvGN$wwIEpObY^2;+4Nvs%a$xlwHHi>m}_FV!A#@i%#=#RFfvmY zVSShcd$ugd46)*^mG0*1+)~%V#~w!FQw5PTty<4FRDg z@#<&F0o&$)NWr(|^W*{f`NO;`m2_-T&<&P)|#!=Mbpp5GZaGRcC?jZM6@_ikmI^ zzxN_CahaZC54=oje4ay~PGGv}&|nr!7!9?_F9f@BdvB_xp1h+zwy?19JA1Ej7P+Bw z-1Vz1=q&i0?ZGn8@hRluYH{)o$Nlvs0dxrT@!mrZk8kZx=9Ai8Em2n`T~tTu%-*zt zt}TRDK$&Z*0qbTi?Vo5eUUxns=6jWhAIlCX``0k#JP^4)PxX}-ly$dpcv2biL9xg} z4A4F(SXSdc)fdpSrf^Bt?J({1^7R>K&l&L^#5X87AfpW}jx_v7L|EiYdTf)GEtOMX ztIn)XPbw>Om2~#Z;cI|KTAk36Rozr8@l*P92-I^3)YCk84uN_sh|!&3>xv=hu}$9M zZjCTFt{c#KofE6}blpKmHl9lc=`J2Ph4GkJ=ZlA zy;%FHz(4W1y?T*|Si<+Wo|16KIVLj}glf47g=xi!n?)o4R;Ymfk4DbVWCK$_>?TZ_1IQ=hd z(Ev7aOtiWT^2m4OH1VMvU{lHbwm4x7sp6s~sQB(Td?OdPExudOTkp0oVFECO5ncyi z@Q>*_yWQ=dHc*P+x#tv36|N7zJm@5cezeFzxA#u478$`)J528<$_RFq3$Xs^W|626Y#UDiQyin;8JoF zfKX}Bd=u6lqsoOisV^#rc~zPGIlU15rFd{#+8V461QY_v|9%XjB(K-ul!rOX zOG}0*NgBlvV`@3;kd%+dyP<+o${t;ZG8MF1pn?D=&U^l{o!Iy2mF9^S!q*mXGxq*q z-E5MHiz-9%O)bXRS|&GMB}Y|C>?0N?iD~FWQs3DgRFf5Bgh5E0wpU_yl%zGukJ6R? z;;$D?Cycg21Et_EjgU_sx`8$QB&G5<=LpNcz4ZUDhu!~EQ{=Bf_kX72-(PXEadQ19 zQ|RY_l|K`P`096I1@dg9uSqX2@6*baBFg36-aFnQr&(hf;T^YsraL}(`T_jw$7Z4S z857J)Q8@&6Jnik^qE9*q_ zhw^c2WXZ^TWE^aHFyw#p0qpVVrp11`{uz< zH1W=lAHRkZcyr=d`mNrXSHnbce(K+I)^2}sb%ER>Cu``p)xinB=VVrhxNi=88`|Aj zz_z|yFYNM|U0=WAEe9lpik-mmd}GQ4`$4nb}?LlABG`lcbYP)MHhyAJgigw*B@-1c{d> zQ`ZL?{d%g9@^*=~5>;Y%>}i~476q0)M)jBmCbOrK({Y!lR0=`U(y5yv@!d9;?+`VL zxWPlq1(w%ZN6PqY7mU}uMcn5(FHt;?S47H}L|T{5bu68&L)q_V0v}wVPrL=327e-U zqvN{q&QcSdi#JhQi% zth!R>eDH8Xa?B}YFZ<>=UVbKZM%rdU{3e~R_s?|S7uDvg4?oxL1N||e^=7LAmi16$PT>0P*FzOI!l4Lb~ z8Vb#veljx{06F3v;Eyn%NmW23ap#u=_|GG8JqbeKN}&TB2580F$Tu0I znNzN&I{{aKxH!1vZU#ysbLBq?PJ4NHM0iIGn?K?|7*&5n-FQ+!<}C1adpgg&^|F8r z#744`4v7elicl%VWh&GL&LRh~H759rOLLi4`}lWDaGAbig%69e8O4YEBW8`!2x(W- zE1>>}cHk=3W;ET$9}dtfP4MrQMvpl#0LJ+ zuF%o0@T0vV#XoERtx#W?kJNA0bSy)hdyIS-P&H8clQEhm0KoS1@mB@xab$%riL)6s zhx{WFfjq!z>`;G1%@C*>aGC||9}xmvQLUznLBi7my{bs?p9btn@%baPfLZ{1+<;mD zaRb!CxSEa%g*Feg2aHYiznY~Gsd6C{y8Z>9+>K1UM({HBRWZoDp^Q#R;iI2Z2P-0;aEQ$z^ z2@4X9wZQ<4+6HQ(Tp{5BwAk%2QUd(9fh@*V62PX+cpHF*)E}P=^n;|AW|agE5&kVE zd=Dkp)jjL-?UlFZ&m}mOUruH0b#Py&tZRb3@P*-Jy&fsHjDD_*3HavMq+FPsE*Cw4J3tc_cAni?xiQ>BwwEIvq2A zrN@n;$;wx4r1JXSE+(SUsar8(yok@mu9k?SQRv{ns3Yi9@QR$emN8*)h9jX@Z+E~O zn@~HekBS}%iHbw4L&$<6r8${Gk1Na@0#&TINh&j;QX$Dydc{VzL!UvbP}%GC71lNQ z4nKvrCqU*FyJ;f5!(nu(%{r4xB@)s|SJ3dXFgba%D*BYMY=jpTpL z|E44~6Cc9>zOr56cCnPx47jAdz6AzaDYA{wYGFG{JJe3k$x9X+sz_=G;P{w~d`Ly^ z9$UZCa=n_vKec}cQ590t{k!_euy|Swhtph(Zirrew=q=*b^T~Srt|UlR$4);S(Jz- zn&s}Hr0wGgj0Da3R&iA(y~@`_$7j8x{o>OBd*Y{E}W+q^Q)gG9siQ3tq-)IS7?BEQh6as_Yf# zGR^S3*K`{+F8pxp)vHj%pn^rsTou+ zm3G|}|;*dmP?VW1sM5nOEo0eVp?Q3-QgMq!n z5bM6uwO6<2A9?z_m56nY6=E8rrVIA8E`Q}6wd}SoE?M8~MObrse}DM&mXY3|3$E7;IimDu^CkP>R!{3?Sx5)9Ja{%tHlpip0mVqMfW?i^0?zg{r0PC3qx-1 zw-q`0XUfJ5uI5z2@cdi2Mu(d7@OP{~GDibdLfkbc2&m}po8G5r_P<6cr>irk7NwO@ zzj68gp5M}nQ0f%gZJ17K=~UjF%7l~&S7B~xxh}SoiK~g~vax`J*oA^G%QJ2>a_VbZ zUQ?W1sL*>yosg`!;g{X2F?x0Gt;?yJpHWV$)COAA58fw!%cVbH-uafQZ|~y0tQZ*# zqaJ6ui+mc+K@p;O6d}V8xlW0`->?$cR9gWT2bvm)-U}Q87}ZN;@Zg%4@*+v=-`yTE7>Fx{cnB34y zuN4yl?nNCzd7=SMaY2*Qz#~(X6po_BqD$-PGW~qcvU>9UV14Kjicm4u(5V#yyW6W; zimf1TMC4bOzWG8-o9HbWxuJPVlMW#vQ);-m5>oN{q#$Yn~$Tz#f-*WVx4-Aw2Sk-y73fBxMdLf$B*}01xyiv-gjp= zFZC{UX6s$pLzQG0Z-_Z3_O0=k@b<^r5Vlg^-&+{mz9m|?uVj}~ZfAsdcdrP?(;=RI zD=9y?L1+pJU=rKdJ)cS|^Qynu*+n-g8p_EuGl`ZyL_<$2&c#DIk=Dyfm0GlvEjqZj z{l=rumg@bD`_{uv`%He5+46enigIAkDC8&3)KbkOjWvkTaVV#2s6$s!X(yzNv**0? z;=s&(_VL0<`elpfB(Ik@-FoxM#q30DlxLnunrdGvr(BP~;qPBw`H1;lJgqF>YJVRs zFA=M98YXZ;@HXzMMNCQ-&0td(TGl+e%v#?Zv{*01#v&|>xlONjDfW04_d;-+#n7CFq440cR)OhxWw{0|`2 ziSA1eL*47VoN4lyoQ;ac)3u?A7yaXh2T%y*`2F|oyr@J1l$!9`DG|du2gqLCdcT!) z(zBShf8t44#GE&TX~eelD$>3Pe5(i&htrqLhQ>orz5(bU*|7u@7nP~|QeOGIr}5Y}gmS<$h)^d_jZ*hVE{zjiOMb4Ra6aFgL$;PIOA z%d}e1-@H@#cgXqw<0ks=KWOR{72vXCj7 z0S+K1%4p8KLSj?(8IJM{M^WdkU%YG{jRfWp({Qt(cO4IVbU5uozg!EVF%wes&@08v z%6eOmRzr^p;BjapW_|s9iA+Scfmfc2$Em(GQ-YCNIU{F9xvN{edj%vUgq!|y(_E1Z z9(fC-F%5h;_2S@8%UB2nc@WX)7m-sa3;SgP4F}6=tO9#h0%@30k}@ zA+0Me5D+OE%}W{u*f)N%MYFaVt{#s#g!rk2#K$+t5XUfU7aP;RTqriHq=oa|d{;1S ze(e9M>SPtKZNmoP^PpZTH)9;!7y16sq1?KJ=FrC6!RpK-&Dt9h;u((e3`c>e7EytK zn9rbrfH;uHf$(w4M}iRIRfdH~fAtJUd4{9>&w-=-yUj=bk5$coHynlIX$kfBUk)&H zvvT}riymp~mz>x>V|4obTykM_B-{Ouk7{u%C5Y^1p&Ti1JCds~$a*kMq89_Dhx6qA z!z$-Lzwnq*4t*+BZRFvYfGf+d`{o3kxKsi|uGtr?(sh>f!gCY`?2%@lcBT zZoco9dQ14EV>)xjH@jh1U_@s=JGN>Ld(F^TI=~5#?83F({BmjgQJxujpZ;o|;V92=l&5*{3`hC@29EN77qs(FVGW+)DF3tJD4hRS5a@quiu@}a zJmp4oBZi^>$y)d$7q8}XmXBs5iWVPxR%|)IGRuDOJYnd&(nz6?N!9(hHOEw@sYnas~`*7uqM^;64YF! zH0s{^%~?Wq-jD(zNOcuDIoxOK$m&(m;0iw<#(3C0g8XBd&qQ?wCsU@PBY4k- zn+cfJybZ{I*QpYU+vglzl;~Eg6+B$f44IbMEpnTPyE8N0oxr@r`}+1hM- zzBBYQZNhe*_p)wALfk#2SMDO-eHR^^g^@8^k~quOlgsuJ*#>6qHe}j z+`V~!7%}vMbob_r2aTa|j>CS1gLRvu>UesDvmGjV1w*zRgR+r;k{sSnk%bBn_KHsS zvQlW<+4_;PG-$ioyT&QXpjk=XQCTQ>XDoaT?zWgVlGI7iy5!;zUjg@MOd^=yjB7R~ zH_3h6ri~KS-(%cnl=36zZT3c+oF?3T_Qr}_qt%0C4`jLn3Y1h2IQ{n`N^B}Lc!vNx zHq{@zbIZ+D#l>aM^>kz%b}Q~oT}i%x*{i3#8FBaP1d|hhl%oOB#GOwT=r6_0m5&|h zA3TAC2LDyxMjkTIAE}W$-=`A{i-JZow3!GrC%5Tc{Lc7h{O(ENVcU?_9KgKfDGg4@9mXz-AY+z4%}BoO}o5Fj+a z!%Y%XG z)LWtXZP{P|CanM^mWRN{bZEmMv|-?Q4@!1Lhvb%ngxzCK*EKZaN5DowGw%ZsJBy%6 zz+LnNpvmA)a0$?VoIrm~z-xdY1g?BL!KgsV6&v|ID>QS!Vbj1BAUFWM&z<0p_V zN%}zlc^0le0`MCz8hnj`%^$J1neGHaGap$=zW@Ya)`12nnH!W090@dB8GqO;1z{Ge z>5D${GW!8E;kq`X5@_&Y`$5q$F5HV6WfsaBl_%Y<3fF(`8()+ z*`=fVHam=p5qPT*8rfWgaodT(Z7@#nJ|oP06Lrj%rqL3$l)$=uUCW*Kca1-cnhXx1xyPocQeWGFjY^{#TX`ia8+~ zJ=$bV1^(Q-(xRK;GqQ*l6KPE2Lb^d=foW{eDk$_|J=+N>l%BrEVw*%x9@@q}qoT?D zn2hAv-rVT#9!S)$Y6f!~AaE&rjtW1?-9&2pM_HNa7s+@m)Ztq=sx}am49CS0O*WQn z#f0B^vcK5&URyN*SsNnG_8w`DT@_^haw&XUpx9%rT+1`xXI4{aF-!bOIT+<_(Uc5r zjF7bLdA<=^UGnTMRwzU17bEU0-oe+S76~xT>BN3Dalvu2HDt9sMW!Yi7^!xGVR2&v z5Y>s@uYUe2RWljtOuIU)#_Mk$&@h4Uax&li-=9ezJ~>9d#R-e2NET zgl$-m2q&2<#Q3FzAx7A!Zhbb+Oiq0OMvHf5f}{_7o4jJmNU`_3JJ-PjR4O^hbWmJTTE0RZ5kHrfKR?Y4f6iY$|^RDBdvfqL{)D+I!{Hm1iud zg{^{wfiY}M(<&1r1z5AC32^WQnmw#aMOi7yszr^TUrhMeDFY3XZ4V_HNkH zq5i;&+EHMU04KTGY_e1}%@XJ-Yw4JPT|075&ZWhQ8qMH)kZ5KTnfPx$N=}3``m2Y^ zM*t7Sbi8`!&q7!-Y;NmXvNo3vN}X>d4(sG?nxesMM-XCj|W|H=X4%diByff2eFk|H0S1(xA(zo+qiQeZm z%?uCKqeWhy6`ecrQ-n|k6Uc1Mt(ua6 zwG!;!pxlRjToUH0#Ss~J-%Y%
VEWvrXCaog9mqMi{LG0%H8h1wTbtkZ6)IO_jKRyZJOpkMl!FJg-DR^n7ylb z4{wO$h`x78JiUPJYCYXFFm!&wiNKpfxn^Dm5?|bM4A#D@P1~Pv^1R)IYC3OA6q2Lw zu&X>jepdkfdoq|MV0jjbU(#rM4$)Kn2CmW>x9Mw|uAa?j6ZQHNWX^-~F+&|cenX4R^}jIzLA~>P55=u8M2M{QqeU- z!5WfDN_P^_Yr0`06x5Q9O3)irMbDyFz;h4%sMcjhCJy6UqW+cs&0r6U-!rlE919ME zD7^c$y82-)ZA*t0dZjmR64C9dR{6s6POsVc-Ow9~t?~ueNv{$C*bri>A3cq7l;#=4 zzBV@n=Bdr~?`Dx{bwzLzcfv+^_e21+kijQ{5Opmnu*$gC3{n`I3-(HxwktJ#pt z!obSqhVOms>Q-t{uH-Qh!hQU0wTFJZ9K@X$s*@wqQPIxRSWZ13NmO<_7jo`&Ufw`S zb9aLyLx6y;hgf@(eBSBCIW9nB>F4bH=1}%X@O#Traj9Uq9;;pRAs4%7l>^I<^8>`H zKEi^g_tjplElqD-XR3I6aYn7dLUXsP05dIbi|6c0V(Y6i&IPSj@*B)3$|SeP^0~E& zJbP$e(H*BbNv}eb<_y|&dXYRa`W;z`+b<$g%Z*(L;yRg1y+LHY)BHc10(d|CUbCr> zO6Xj>qf!-lvvWzpXIMkL{T5_gm;Jd}f+bO<*p|JzF(0G;HkyWCk8Gi<1cwO0zC7vjyn?&GCc=)=Jq#34fn<`O9#CFT=HI7p!v|VQc10zqaA+#$1I_W!{wN5Fi|$6}Hg5Wz zI<07-Y+5i@;H$9yy3ed4e#{g%qgzLi?DtI^ThC{*p<`rCjz;)y^+pkSI5>1f)eYYY zjPSmSEQMI#FN(ts53*3rk}tCr<;T9TB)ub54Qwek!WDua^^~1pO);pF43jx+XrVHV zR%T(R3uYmqroUiF9OOrzx`%_-_iHw=&(*sTs^(99HxctYlh<mwS3P}0$|fOlgn_u_kZs9@u7{jO})^ z{gr>wuta|ptg9PcfeH)cKlR~6~zZ>>nWsdg;lSoxA?wtIO0sV0PzXbjKSwcO7ex5-; z&!C@Y(9aXt;~Dhx4ElMR2hX6N|6f2qoX?=2XAYYGgoB3b{~hS(&vg9zE6!)o&ok)f zKY)I?*#3F@7}#Ky|W_U}PI9~SIDb(lsfOBb}83X)&D>kTNZTPUe{8QxdlM@kh? z*^!Tn+2t&f<9J#=kZ*&bC-^@wj8zhSh?1J;Uho&sV&rNY-dNlXnfQvjnC>AMy13J| zyEicvQRGZJg(};r#+L#|$1tJF(tvDD$x%c#*id&2v@*_3DN%}lF` zbCj}YD9hB_$8RkWqa1bWsY3HKcaOf*^MS7&21X8ES|Jjhq8;MBnm#<-N}Yl^Gx_M$ z;C6qq3(xvHPKs5vN+{~cB_3(ftyhuH#fm;44+*14BYpD-+uUmgmi>3P^T;Z%iO>z- zZw^nPQ`ZCi$;E4#%ekqcmwS$vQ@OYGqIc^J23sVvv%HH9OH*eKDy}W3oh%K?k0cx# zVq!Ve`e8Ct9^VdJW(ban)Ia9EgFIov$|G5K2QXMu@qPB$zYt?a)$Esu_cHRy z?gQ|=9H%1=@tOJsz{_9&r&vU675C1=RIA_@z-F+SK&s^?m=&lO1&WBxKLCDcboh@^ zi0I*@L?GB!_h7FpR}--`Z#?Gil|z%!(SCy_Um6R#5??_+0N40v52b0 z+x(}cTt?@Oi2&*s|7j$bQB6d2&6z=f=EY@{2NGQqFtWaS)}t^0z69?${TxuqNPzzs zc?{6K5LJUa{5gP%!hlqTHh&JFqHdrfz^Vh16)-PgBpT2Ycue$gEFzE?A6G5l#U=!* z2Bdt^c*w6S%445|$XCF5tmr&||MFn@wnGEpQ_MEOCS<^=4}410aeCDd-*z#O ziUXWt5jm75z^B9@?vB6HJX?iVg_cj!35i4u{=!-&T zl76fYd~@7!`V3$|O#pl|E^vxP^gA~Jz8Nr!6N>0J;K?P9v-CP3Rkh83323UxnCLfP z))J!2C@&(q8{o+$z$|x2bT`IT@DX4DJR>A#R$Kz$z3+Or1Riv(>zw^*ym;9b=I1OVi;a_T_5`x7B~d8C z%q~T8f~M#I(i#;NFWEP_)G$pyIy1?#G^k_X>Nm4ZsP);AC-1aW*d6Cy8oiyM7p${Z zooGIQG!{xh5so!Bn#g(8Nb~}MB+-knXYC9}jL1t9ge29SqxGrqz+;~M-MFNY7|q^l zeR?&XYG*d0ZK8;Q+HXzh@o@`r$rqh-Egl}N9lq(NgnFu9dPG!x!*}~z*Foj9)Kj%} z9IkmnGZB($hyId}@R98*GZ{W-IQ~o16XV~;dC0Cb)7x9tRk8FS`EJficA%pKtiS?{)o9u!C!Ey<}vF2ydGX17z(0Bu5UrsjK zne2lgEr3D}8I~kAp-9B8stni5l*#iWI8Py68>EYN=D6!V&J2R_Kx!%#?#>{Od1AS4yJQ@d*Z##ZES@waZ`5(iu`DHWP68{B6^J_y zV3r0c?Do%4yHyB!f(i*hSrjZ#!LEXGJf{&xxt|0VPg#3jUU3b5c^%k9THo{L$}jz8 zFfvP&GyqQw4kexMyaxw&49d$7bAm{jxcXSs$4d~nOZ)OqixqNNuSh9*J|QSh>=?r7 zrBe(Gha>m9Z6dBRUy4)*JrV@uFL3dOtoa4UaEpuCJ0KXQfI`7TR47nAutTZ2_3MRS z=&JC>xzUUfei(2fe;D2W7_3KHN(zbLW5iq^?|Y*_0u9@B12|sg<<-lKNhe>a@8;) z8}M;obM-@7$!9}hOeL!pL*Xjcdk0AU)iF^>KCBY3B%+aQQJ-KsqEEznZA;+0XdxKd zBawuH+Ty>`d?H^9iCpumOjSk8e=sTEtk%aVkHn?44-MYj#^~kYR)u6o0O7H@C;kGo z`vL8md>=xDaOA{hnUmPxEr)R^w_XH(S)i5gltm<>?0NiY8x7cp`q?;G#?od1zX7&MQi4Tf&INs}?8X}LEufx>_p zTUC7V|IQ3eNOHi8>}wj3ZJ+Is+A;DDC@^s%wZsntur28q^+ZUJ&j*wc4A2&Y%q3)y zx$K!IMErakH^fPHUO!bPKd1;|=mHXf6+#AZlzzC{Q**et5LbSxJ`}eQFY)0?et^n^ z!!7uOE+D5KQKpkOZy^{;WH-5JNylDCI@(o3u`R=sh>P;cFmJki1;$dZ0X^S$1t0T- zqbqVpMO26Zu1}y1uK%fNdo*K6XEjlYDH;RKr8=j2a)-tUOy>13>iepuOg0lu&NG=-~GRL8w8;< zio_HEy{S`7{nuXqYvc9RJPB*XL85^|(|uz|Ov%s~Z%9*f@$J7$ahIN#uRo1FCZ@Gg zG9wZO8p-k*#x~kRZic6AM=6-*;eJ~8`!Ox`kf8LTyuwPGa~637zEMJR@nCx4vlG(<+T_nV=d#i= zr}({)xNaMNSQ(h!sywar&{T%J5r&)9^`;mdSudGKZT`g~djo4zOKodTPSoj+S2+Ta zPDh8+3q_97r|n(rGD)e{GbXnb#2bnyZ)~K(rKPgs7;rwkphV@YqjyE-JU=$3pJQ!Y z3aeHzh}zCTub$f*IzQj^T!3)2GfrGI-D_GnyH`nk@t{dbnd6DCrx@Jdna7A+`X(6q zy9S++BScOv?;=Hm|4R!ZrOS!Bf|kp@s-$>l>tUVE(UySqt7EJ}fOvZ1D{eH^` zJ=Yz1F^Y@d(1tKGylNK2>U1Lx_B=f#{F0;zT;? zOOW-Jt#a?4z}T9^c;5 z9lb_6hskvQSif1Ysd4F?y(25k25DNDXzTs z7nz#Ghc|O-dyCf>yYz#z9UWZtUKQ81Eb;Dc7ZYyYb-v!_`G z9E(cVZk%;pam?U(c(53(w&(YRHuE=W)X_>+!K2fvJ6B28ew^uBzdsK=JUkFvi!P*^ zn)*6NGqhiZK4|^uaI~ zd{I9u_myxQ~Ge070Mi+rnj$#Q~gBHK~b_#0fXhhZn= z$oJlv0Ln*CCK;l!$KGENw7yBkDWB6QuS_b5wVPr%?rgR)r3csp3ZO*hX-?hQ#Uy3w zNY<1KpdfEywKrY)QX?;%VXYbzEwbw5pp)a(ID+$4mF*lMBcq-) z#R*Qylw!Y|S~!0uOev^bO%&s0aFs8Dlx46bAvq1bNUGZ%OuMf$L}H%bnX9|y2VJ8z zQtFp@l5-?f72y1yZ}`|?J1V{x8ZQYql-x3I}iD$k^N2M zO*Rw_xuzRFlvgbiW4aVy>oz27AC%2ROJskv2(l;Bjn9=P`%uXj_u5$gO;mqkaX$E%_5MvY$^Rq3?)OqG!_9nbR;;)@}_ z9qUl|Zo@*ypb!NQm$Ut|7#s6K9ooM>vkeMb@L|N4xl;(rKOYXxmIDKf_%3QSU2;`7 zqE(Q|*dyDfWzMoyr}V=6N9!Xr4_#*2-=fXp;`q0REB^<<#4~NyGi}y0ZPqhw7NxnG z_10S@JtGZ;=3@NN%*sNPaC%D}x#lZNfJ>~xo2yW6^MycD_6^dYZuEYOXv;iTOZE4s z%*BM3B~5(EPajmL+?y538-@F#u1j93;y|>G%pIXyY*-FjuqG)Bum^L_yu74C4@ZU|F^=Aq7_upqe(`KEj z(d!PxynF(cw6<&JKgsqc`ZMTB5f+X(JWawsh}bo$)UnU0%Hn zx;y`Pn)qiYuXE3rKX&oe@4qdFu6^^yQqpUchY#V87&)L_7K<&t+4O3i;naI7nJ!lI zIN4qvq>K6E*BTQFGZyYEx*P|GUpEph-)GP84`{n*cbnH|fX}v8M9-Vn5y8+_m!IBG z`+h;ZY+OFF7BkG`!BW++zz9K`zP!Koc;F6fKdqS>D|2giEIc?rXFufha=re`hG3(G z*2uH*nTM#MP`K=LkMkqX2)btk-P25ZM$kPY=$_`mGlK5_7X%&GKSJdH{ih`V6erR% zZPx#6+AOYrgtGj*YtDaaiu{!}>(6xj`zy|81l==&?mr;txc?Ej^S|Nii-nc_ubWV^ zv2gw;9KrLv(opjF-L~ve{mNMH{pCpmt+2_BF|=G)gH*r$l!ef40-pku*CaMLfSZ6$LlzdTtHPhGWdX@+g>oZBdo zLsKMp_S(HHvVZ8ahNL9>RW$jW0W8iiZcVJRG)d3pW$n}v$1QaMu+h$ivYvI|TCB23 zF@<|UdB>NO=-qJp$JQa^Ylpb#UCCY|8ngllBh>%$|JDYE-O6|*T5)5lf(r?S3q`%7 zw=ZHRGZszeq{Y~YYT>C0x~KjZdv6(3*Rrh*6Ce->?oN>4?oNQ<4#7RRyK7j%El6++ z1PdD6U4px_aCdikCwuR6?!Hy`ocFt*)K~Yd@MBf?nBAkF9{tR&xmG`n>7;V0DwOkC zONpU2O4<*~0QE}N_?bW3@s@xdj@dxI0}8}v=W zjise&M%{ZRHS^9$T%CmH#ky|qr($|S3~*dzhy6s-O;d5NE$iUKJMJEuP3sL~TfBGJ zGpoIJqXN%-Ju>{{Wd*8cecZ)tKqRhR0x!0BQG#G~No(5DZ37))U3`|`I-n2b-$L&X zLNUgX7=Q4F94h?~|JZON|0;0|TE-kQm+ggevLCf?`QuCtEPF~f)AvqCS(^T%09~SP5|D z4~qBx$pKw388f#Hn#j}O-)|1X#YL47`=K&8vfVy|JMh5=Gf9Yo3`eknhW4)G5V?mp zBlqKK^T7DY9=Ku+jNE|C%lcJ+r8unKJoii|b#3vhPpk{qQq%l{wQF6)_%JW$gDLnS zgV!?mY3^ZIaNxYY{ua&DBx7ys-uqL{MeqR<_-EkblcbuJ%v;&{>AjkA%1Ubd+9kG` ztewvd%s zjE`2&5gV}y)LSGy_4MA{WFd0T@2r2k11S$JK|d5qjXTRGy2_$fdiArh-Hfrd}99sVsbVKIxoXK=q~W#xCE}- z&2Guvsi%J0&9s>Ks5m0@aE^tqT5MErtNU)xKdXfS`G}kLRtw$HORsdBF@JD5T{O1Q zq_IWaTg;VciPiF!H|mO0Q`FZGXOWfq7C$VD2S?O5mUxks<~F4~tED2VWft)W7vo{j zys@Q@>Q-z2I9+#iiN<;D&Llz`!E(L`wMOHcO@-8A_r+j7^pF|GP(Jw(f@NwIUUY@( zH-{+;qoFy2v?_Hxs;vcuVYQ~`XQL6B!I|{%n3bYrpz83w<)X1Rjcibb6s&1iRr>D7VY8CU@Lh-DaJ?hk2qd1u z5g}7{p6&fIpg1bDg~79(Dh8XDi;YLUh=JU3T|^`6?!9EK-62jU}uyqC!cSVg~qnt|yh7y!i_P=y$*=~two zH6E_LX6Om8*JdB|pzyj%elS8t2*ZLVxAn_9cyNluU_mO|`gVAP2sY}lpmCrGPlzCw z4QfN)(?15Ry5B%;mQGBc4G0m0vOy$NPE61dNP%2MAQB5FruP9zf%&6tC_&Cl;eb`~8;BVI*=;}=E(utvotP*hkhUmDA)VB#Qa#aPYgZ+}yr;`!vP>O2 zAp+qxdf-E8fUE`|>NH+5<>elsdY#JmT}h@(L{Fs0g4Mk~xxJyu|BTI=?_%|+@i4|&%l#w?+Y2VXPPj8oOjS}>i0 zX+XxW=)x_;4#oLQS+4pQE}xfug1k*qgyvTx4Gw$S6Saj2!}Pa|3}pOkUUa{mV%eIu zHweFj=ui?#+7+&1moGz--eef3NL8OnX-vk-5f4I~`ni*sPfW7Dn{R?qA5dCHjZ)bQ z!kAu0r2|33$@kFZbsxSm`vM(G@=2qIQcEr7r9+-chG~&39g0Wh8G7)@P~^|}uRLQ& zBnM$fkUCS)!{n%nPz{Gc!9TE1-WN{7fe$G@fsy|{JTDKc`J2!|9U(-w%R!u5zZqqzQ%*WIFm zEXW&(BqgieK*ha^*gcqJlr@FeyI#NxN;l?>LRxQ8nmg_4CBC0J6FqFbS+~Q0PtK z{vW6`JfY=Xs^G}qQChNJFU*MKmurdZu|R`e*BFyRdem7wHM7SnthU;yDpRwVBuq4W z>P?4KtEFt}7D!iqNX)ULLBdUq9-{QwRXCMd*%;bol8V@|yC+J06zbUBHZ$@^er!EqIk>PeSZpD8=PtfOUD*8x9>X*mx1V`PGqUex<=o0%h z6nroK{*}grFQ9ccLH`xo79Qc=_=rQ8^ITPlrp9&EE2fq{YRg$WlKiTv&w zPn=Uwie|X3_z3fVXEFnD{co`^D|n*+lL2=y;QqkH41= zFjxgxNAuVx0=Q4FzyJa-L=J!mo=>qj1Vv9ahkJsG{bm4tRNWp$ZAHZdt@a9RSKd8# z5a|FstQ_9(T=zN>OwH0%Iv9M4cshxvn|;_6Y0oA@d>;z`D9bc+gbW){%T#Wk@2HG<#kQ^6mg_$ z%N-KIzH)lx((;3Fe=&R6i>tF4Tpo9?pPr}pQA={Z0u6O(k%G;F4}&LyE9RAx)ZR;! zdb3p^N)Df0Y#aCi_mU*!$f%{X#Zm1w{mQP(lN%DvZTu;xWzk+KdrrxB+1(TYRmK^&9gEs&8F~+VF8CiKP+ zqpk^*HKtVv_u_@(-Q8>=gnbn4mg`-UFM8mJ2zE#&CJRy`OAGm1y<;;RuhxhyU)1q? zyPvEc9`wFOICw1)8O3;LBUk#36=s1zAOqUMl#%7bR{38nYJc-X%%G6AD@RX63x^ld@tPQ#F-aM%b~6gze*fmhf)BhvutiPBd!!Z3 zka^AO!l1}}>Hf=yNS-JxK3b=4{VT78w28T7xRY-dudb*AA$FQJ{q+vPU27z3k9Ukc z!)!lGt@+>V&hBqD|D+t3&$He|8pwdv9x|>wFrR-~CQ1>Fb2~m7B|aSGQ&r%MOn^AtA@$IPtu~#3 zF%uM7sQhi_v2{96$fhjkfW zdmgr(^odA>fV+o>ql5P)QD}>U6yFD=y;Y{k4dd3pbUK|9mg~*^#!!AL{11ye;Qo{X z`a+m^qiyy9JL==$`8!&5d~Kb>JVBlG)TO49OEoosu~# z+Kp?x)*Pi(CKvZlT28?0f5}quslMF@(Z@`tnDkR#dI2a<5F#hmV9g_`~971ns>*qzMQMGw79$bI(xhD>iR7+vuuoVJ2+m! z!|xUvlOi`Ded1{>hHkOb?O4l$xxFV^SW4GPmAha$KIjko*1wnY!fhAl@_wsg-nBz~ zqbKmR2qs@=bfL*tXZrAX=wkVFcV+VSwDIl3%f8VkZ_-NGd*4l|_dK77x1nFZ6mOn- z>>zuTnjG1E>2v*F-Ae~?f|f(whQ6h;a5|ioF6@<@3*<_6{LE$J(yWJlvZ|%Mg846M z^lG>A*o9X^2R`gPi4*%A#q_ydUGNjdK+5OCjs~ZgFl-pJPreF{Zl^&7x+GrpZ=$v- zmBiYOiM>KkSMLTj*G@)D&+J|Hwx@G~B>8SfCokwTu!Zrx->2N4lHq*kF{4%!HJ|cW zQ4kGG<E;8!&=);AlIDn|WQf2meVh|BB5{Bd} zOqOcWOz1{HD#vOaNiFIy;;Nq`=pH5&f5Kw9jwF!>r*lCcKiznH6Q=4KGYeIam9t(t zqGxRdA=M>J9CPM}tP|2PTYl?S(8%g1vn?6gIe2H>S5XA!usrAns8I~K@teCA<>HVH ze6%a+)>sTpvt$CfDaj)F_S@070VD12IQZ(i$ZQ!SyaT9aeuYJ21+=84Wr&bJYEKhR zXGb3&8?LETc+=y3V)t}Mm|u_^{Wbx=p88(X6h?!&q1QY+c$KkEk(1u*>*E;4JY&?a zJS^0?@9#QGRycb6>D*klqvS6vWnkT~GQQeh+f+#S^1;9fcxxI$MER`muCIto@y)|= z!F;Zs*h7cGX@KajF&VhqjA_%4K$k#aokAC@$>{H7D7?*^B7$_=`N9)8A`AfLb?W`{ zv-)9`sa0=a?n6$-oXVixn`O#goj1$ewe%>*mPs!Dujo;NkEhXhCn*#OJCbJ|b&LBG z3f3zXzpKBpS*OD5RCy#JSg+~x)zlJ&l;?k5|95|_KUfW3qUm%IX8lH1M@Yxl_wjVi zO@e@r(ntkfjg|SQQms;^)G{@ioy4nz7KxaoOac0z`j$G)4FhucxN!u%GTeqaw)=bc zrZv}FeYJ|@>S7l%4H`K5(W6SeqQi*)IrZW1l0>!&2`o8w|(m-U^$jGVo<(!PJDlqVW35ITBXeipJ zZK*Dy3JV>>2%$neE-7bUzS}dD#$|^Uy3lPvfF}b`aB5JdE3}sN` z6ztBR(FZO=+Gvb6to@qF!A`tEe2KRcMDaE4HWY=$HO z_y+^Mj)Nl%rsu0Z18XP2oEOYtKM7fox|eP~uJ%TCFii|bU5q@Yl|ln8{4N*5@YOyH4Bl-pI z5_VH>38SS&*5Piz`2bm~pbl?-my$a4V`!kHJ!2FD6G}yv!(6nAs+`#)sUge2s_!lB(l!nRWsbK>5M`s*xBcl5?q=58`BE9f= z^~ZN7#u>T2$fjx?wu~jZJ)_7iEw}j&Jm6@G_u6(;>(JE%PSZ7$PoA__w6pFcVx+Y|LBMfFy0;7 zii!A!OPFye6TS}E&P8D5Am0Z=X>2|k8MM0@v4@{Aa1A{j>0-Q%NBaLH;Wb&bl%Izpo83|1VP^Rl78|zoO&my z^?qa+2J^f^6y{-}6ci>2iyelniTRy-5f*y9SUM29^Qv}MC{Vu}E&0NUK%ERZ?Nwth0u zC)b8h20%M*HPXfg3^xe$HHk%H!1^PGIL#IfB;7#PSXMCF+U-$@eQwIfR3X?3Ab6KR z!zNMK3QnMiML6(H3)T@>VI&yBfwn9Vx67V>Bw!uQ1aSi)&a)vL0EXlSW=0u?v^h}> z;s%B?1tDz$Yy2FLD4=b&5bPNMlMm=hM9-5*30wvGxC2w;1EM$#I0iy~W_A7J`E#_b z>pQ3)mGJ(MEaUF_$)mwLnXu=eV3eaok=CT@eZRj|%tE^W_ej z-v{BlWW#1^>Tk-v8NL(Y=QtOemjE3eRzi&+EGq$S@$`>eqpHjvm0+9BP7pRW_6OjV5<8%M08yi@tp%PS(RE2&-EbS3G-Lze=6>PXuk?aI$Kll(HHKK+I_X z0>qpmTFyO8S+Bzb9LH0o=wkH5keMY%DTAdM*0i+O+SR*%LD<7J6D^N@Hda*BAg5yQ zV73O62htp^%a|d`biB8A`_hk*&-U5ITk=%+1-v?C`QQp%74eMYtq(u><@<^<^VU?mug>Lj^0R0s*$5s3V(IP3u@O>H7UrUH`eqkM zMY!wdBnQ_6BH-t-+`OC?Wrl==`0&R0L~60ZkWN3-FOI@Isc5^( zeG-0I272|FN5qR3&cSV@G`KX!{!RV-uzV6mgetoB+nm4MzeG33?fc)h-(**Q9|;N znO3dYZWjkMY?cMqE9xs-BLmD|%o?uE`CxQsc8Q{CQzDW# z=w9)?Jj6SBdzzdR2O=7;`npz_#4l-rvF8$rC6M!u1WLSKl)<{3I?mCr;>}kX^N|5^ z0K#61EaEb?-50+#vgVYz=ke2>R%k6#Ss6~))dWBO2_V6iEkF;hX2m7hK5ZLC$vsT5 zA{8!{;j!KNgpBl^YwUyo8YX87hQmsB)FWyJS*eDU`&d9}5t`oMy7^%ENAS>SdmaWA zx%ygBVxLw~@`g+zQfS6_W|Bk}m^6+Hf9gQC{F?u4zd?u_E~}a7MU#Zmr9`F9El-Jv00}k^K6}48 z%0%BI6j}3o-HJE|1;g71f~Md0a>3j3&(4GlwnkB&G*IzO9~PY-2`Qly29U>QZ}YvR9RKo&r}IWcqs2N$E9lcBA3+q*M1 zJ;lA_E^uy?wnaATvSX`!^R;%O_q&1|$Si41`i~f}=Mt-P|8pVKSES+DSS5jlD4@)f z*3+7%li==gNss!~I%@M%l^1u)nh)0L4-9d>%GVOweG-=Dw3a7X@ENtYs9Mt2uY2GH z8Gan2qAsft%dVg+nFB$<_R&Uy7aX!)QOnZnOmO)np0#QcE6i}u<=U0@`U_cUl62DA z_auqc!X&=pB*mh6Zq4gd$ierPshG;* zU)2rG=4%W=jt4VFPt)ZTiQhy0jSRG2l7Eq56Cgug>x$Vw_o%ez4MHF1L%{jO> zE_!NgO4ZG#ncnLkdnD%L^QA9lyzABbB937QDHtr_Vf9&1w#b$x+bE|8^4UK;-a?`PMu8Y^jgoH8Rr; zVU||Qm#aAl5gj{|o3m%7EqKjfa7G$(-jUDj)8;wjv6xRy+Ri4`LxMM~o8^UJ&#`{z zhoc>c;k>Q8hKF}VQTy@pX+t(8M~AM{SFRR4*G`_t!uvD(UZ-2J#Bz^Lr#-R0yf>Tc zc^PuL>Gy7@r5hmMYdgwiLi_%S>w3n~+P!W5MqSIK6hd2{!`at|+16M7Y)<OgX(1EL-x*MkK`XKK3|@%w@8^~B&a_XbT*N77EBn* zSeMvdHQYTEMv_S=Ybewt`8c}TKh)<{-@kIz=M3@ztHc~%e(6n~;JYm*p5ITsVhhZZ z)m{D^*yPh(*VyPj@9K5jx0UJQ_E}Lf<|u#BhS#WG|*?)dGM+QAntBL*+T3)Ad7<{E?n+^saxvDWPHVSxt3h_SKOL;hGz;5W5-VTFe>_N`0?pdCCk2t$QLVHd6mXgM6X!%unJU|UYUQ-Vp zQ^D~gvW%U*5jESjF0|9Aaq8+RkaInW;6HxzB_s5dX=t7s2{l7jonYoT?F!lyKVa<@ ztdIf)bq=epm2}lN@j$pVD)L0qg@LEmY8GEQ6%nF-ud11R_Rp)|MR&2U@7gv5{K{Iv=U) z@zu2-!b?O~eQe{CsGjvaeqsNMeVgl06ScGsyvC0fNJr+Evqx91rZw0teseg(p?RBB zqV0WKv&I&?vk9D6TOE^Kvj>9@2Zy&dYR1;JwM%+n#D+b!j;lLxp{t(LfX|4d|K1as zY;rTz8e{$LlCRT3g>A() zYl;6{hIFPT;kxN&ZP!G;t)pS=(o0U))zZ$bY=Za#l7QWytiijz zhO?AA`Ac})%f8oub)orxcZMu}QlA2uuZQ>onCh*ZNK$Wrdf?I~{@tQ&y~8 z`CD;sFIOKMQ}H&kwfF>Y(|F;g<%by*xi2pjJmM-zbJp3Tb&hSMGY78 zDM$|%+%7LGvapxf`X1VhzGs!7X&vE0}mEll_@#f^rZt& zN3;Y~F_+$uvs4tddVy1BQVC&{mDN3hBq>EkT!!w@D%~QOs7gueugR)(ADmu;-(bs1 z7`(|twGoP;2x(RBpW%g+do_P-H%d+HX?-%ziiVB)#7?GHTycD86es9ISg`s*k3}p< z5y@s9)z9xtNd2iRC8PklyjH_sy=}fzE&vkAJvk|~1D79_^4i@0A@W=qwK^0Ua)QMf zMMz1QgHOt-k7=#!s+XGDaeKqAGwZFaD^H&lcgdF6fDi5LFF2`$NF<^1Puu;=dwl2; zw%-1qi$z(=DKijeh{&^zzkN0y)P`w(=`$i+V`pz|jR6-k%5s4$6eGmJC+5`GlW|OU zw{Gg~v1#DExFGg=pxjvDLd{wva6v`9+>;Ko_7`}vt6v+dMa6E&Q%$&`e+)2A~< zlU!0l=osYpsgo$bzDtEOaYOpniXxtbhkhZ6wm_+;!P{nx8z$fsYh|So-p71F`N`TT z(dH|H#o>4?O6VnDO!$(Ht`C@jS1=W_R_CLRX=?z~@Lsq=U`Xd40^|@Ri72E{`I~M$ z1*cvVyQ-`&z%jb!)caP;!wPapB7B`%erQQ(QfCAqG+^R9PQ7KzG#jz#FP`{@R&G~& z9;6LP@4urdc89W~9upBrLi>|LMsI$7&sT*>wm2RxkW?m=G>7*3txRAUXe3(8EzUlg zBihJDS_Ulg#pz1~(k%NCSnxhOo!n~nbU?)qF;sZ zcKIT*23%69C}ICqcQM9bTnhgE@^eNh&sUjPh)O*uT*Ou#*&+!D z{aZ=mH|9QkQ64_9YQ!ydj~=d*O(TB3WUNJDg0;F>?kBKM4jY|ef{?v0KL)>GtWcpb zpsR={ZTP6O`yjX-2d721qd*sDH%ozF`_ic9n5UIIg7i~%e1Y$)7_{V0u6H1vj#DDt__jtkUqDzGt#p(%x)FzlpI?fG>0pMQQt`VbK3SuNivx&;$~WWno8QNG2yWALH9A{V6&HH#+?o22RI0IozE&szMH*i`+Uh5L6F?%!Fse`n#g_qp?~#|ILD zpKsrqRmDZt79FTCOBNeGj2()6$9H_TpI0jOih;|eROp5jEW9?Bvm5@fn;m^DPL6Un zQp}+#vGZ6R9HsOr!GSoI87z$05nixVE)3;OrJjrwbTy=d@M9>}u^mEq%k$xF4E3~p zv(ulprN%VE-81KWscI#`hq;KK5D@j1J`L==_wQBkOqc4Ju^`?ha4gymD`G^I%^g@5g7>oXKo?FwSd;OzFYG!K81WJyf*6onQC03H})gi!Dp#n_9Idnzo7U zv7sQF@RtxHIh;Kgz1jn0g&#y6U|>QWQxg7k5avmn<1|sMi5XN{$~4Kf+x=Up+`D=D zKRydL3)8<77X3@n$ba*p<}caEpN~-gS~l`qsQg=~{9CBpgn0tpO@{ z8|&9?rPTAoy87t+{QUX%z51Egbsb~wU+oFbLNC}Jt%98Y$iNPsxX1J)xx$4CgF4=O z?BV%Ty_5Ca?Y^3*tDG*n9Y~TlWvFit;q$rFJ>8IXGne)c%{Q+n9})9|N>t~P6T^URegGhvg z0WP#6#gj&MMn!zVr^hf|-cmW$y!x0O@Z4p2ww%t9IdTo?kx}z*(WYjyh4|V2Td4e7 zsQk=>-$Ld8Lxjq}?-u{J-c|PBQlb79D*w+GDl`9oo1vDOmFXWDYX79;zkcHUEmZz3 zRQ^vwW#+$Sqxd&MWiDp+zYCRhtZm6T9dzF;ZK|;`yjy)e6p<+CVOm`X*q##G4{=${5*!yhUnrsg{icMfmdFS>gBWIOl* zFB%ajO$!Cni<-3_8u5Z=@vpaO*n3tSFyqUrS#4KeBow+93Ko~BnOqwi2l>hbJ-Hiq zuVkn_on)-p#eeV)FSjS`aJ&@|*4q2&3$e$$`m~f13OCM&c;|bx*q5ZQjC5Sf`3CW7 zMvRD+&bMH`Ve+P@Fyo-nMO*WD2Ab?n28laM19=bwKZ6(ckmSYcPq^;O+2CYfqFj63 zc_uHU4ENV#!+BNGzHhGmPneTe&MmGVx+b+a16B%CR@NX-x(s{RDQjylO^z+)dvKN9 z>*3FQ>>~EAyp%tn{Ln$g-{+||N$ME}z1(Xn(uu@C8Gg;0EE*dE<=Akh-f}451c~oT z)NoFe7`dBKWdBgXF2tN@Z8VPJah@kX;Wu`~iK&JcQ&+qy3}MZNjjYTSLj2yXGG zZ*$J=Injcz(Zqo3PKGU0=nc%0_xkrl+eFMsgAW6)4q$PZF0Z`&#G|Z4+e)ywN0-;y zgy0ev?Iv%^Az9kT=8)ans0h6J?agXY5t}f7FcxOh#o2s5X{}<1U3Tbdw@oCgn219+ zmHH44;vnw$pkudL@R0h;aooahJcbQ*L+XgLxOw`#Yiv%YsjCWzD?o*BjXloPi*pON zl!Si`v&hsx@KR=blOLU})70PpMrK4IBdNY_SO)KuHP-)O;QKd0^oE<^_lPf&^Y!1M zvtyWT+90u21VRrM=?k%1nvD!R@YUwK*^M4AXRWr0+Lz?<%;K|~dS>rB+3pK2;j{CZ zMfk%Oj~-{TgMnfoY_ZC5W)&V$WwM5u+lb~%WX-%4p}l(d5gtUKxGb~>bnxax)+`0A zn0#hUfw0!wn?m?(d}bhjSnHAF%ru~_9MC`3ANJt;iV*%?siPPo@?8G1(DPV^oXB$; z9UvD~pdnD*@*&dxz*lSLW~X?voK<^RP=CyAQQ{T(LpsCoscKlU12jbCHiC)0NoZF-?kSgG7o@m3zKiVF%VV-p4|t6AGf4-AC5CQ@rcfIQ(&8b2y(&`ovU_$7G2IVYXGZi8)y-5 z+F(O;E(cht-9~s3kv*0ML5qNI&zHy^07_y24=f_`ZRWBNF@REp6ZuxM1LUK0oS6Ys z^MI~E3ZV9i@@TV~_K z0ip*}3Rp4uaDeE6jyBs+04oqZk&$ElS71II3Pj{U$u^L|*s*>h&{YPH2mu&|1aR01 z3*M0p*qJ?$M_`VbX@kyNy%i{d*CQ_iRY8T0u= zNWL?tJ=jtIv2WlO&Pt%@htM6+C+rE5XahE zZnbK?ytydVD_?YK%OG@=Ad5i-ueh*NrDZ>KK(OuYJMwzIrIiG!k;PNYmHF+e zjnkRY_2xSBKvCDz=qrk%yr2&(W8~=Pv1eYdcq6OM#3{_c?VAAE6G8nk@S%m;t`CK5 zCM+4rpXa>#+Z2orLw#j5H>s5S z5b9VQR76H*i;oqX>XBy#*$)}XxgcM_CDUM)w086*mXE(A3$y_1&#cvsK-%P0kCie1 zFrpadPH{KBPAUdz(*zJ=3d7YksDk=^tx+#$vVrS$!Xjr(Hc2u$_pHf zt$|T>pG2Ss=MX+Jzx~#UdBD3ii>3t0l17gYf9p>b&ic`S{`>LQ7YSI}=U>7}1lk>i zGOA704Sw#NZbaY~8ktX(QG9BRgH&dRf^nn*PE4hEWlOofk|0>2*{id@`C#+pmu5+& zD*al4iQY3l_-T!zf8tviYdhBdOuP$sE@cu6PKu@KaAT$+eG}0 zMjP(E0bidcLyk#2pMu?}2utAgtKpa4JSooVJJRDDi)5;|V?_qCke{euhR@ixw|-N( z^_SwkNYTn+d@Yv*B_EX!?Sc+0 z$UC*2l$@8jOz~fJrFzrRvMK&xMvs4Ul8*lSfgu7z_1F&|r9L%DEiJSfychsjp&qO7 zQR;y`CMa2CS&b3$@BD0{TBx-^Lldon=D5XOb{K=Udd3uxdMis zA19-+K5`qu{;ViRiew41eR)1O2C0nG&;O8KIj6k(qrlzYkbCH7rmYEfZI+2?q~#a2 z0wC6&p0}GYNT_Udf__w(jBl|mqd@)o0&2Qk>6k(d;+RuWuHUCM1CQgj=oSoAO z^xCF26GY4B;q{G1?xJCvY!mhkJghxI|6l;`fwqW!oRHo#13<}C5CZ&$RLZ>8nWLYtB8G#K<-WF)bmg8A7bBx6AE zOrr9<&is%+f-ss%S@AkNcs9up!7}DA3KCpj=H8M(0VHHDlB8nJX-#L1RQ14j%MpKX zKu7zKKG7!?RlEJOaqP7um+Fr7AIqPC)gu)(h_|k)3arwXuS765Ux^gWwE)T(#Azw+ zOUFCuuZSxVO76?Ps`82T$J)oU+RU%j={3(4(djA5&-(I zJ0P?0FBSjaY)S;vNg^rt!Dg>2$TUt#pn7P`!fs9O;*1Wp$7acI#;TH zPeR9JNg@fQeaHI3mg2|hjMGS+`U@?bk#puCjN9_|j?ChAvc7{HT_2mw&#Z7bKNL#~ z4+rZZmACtL8FD5=A+yp=JYhC)di)!cH1*#P)+2mGQA_f}IP_F$N=om5#Bw=kAw^gY zV7OVKvCUX~ME{rmqId05hslMqHyK z!0H=q`CCn>hK5XtX&da0FOfyU;);!R-_H*jz(z_)mccM5#xY++HLA!M`xU3GNO(;& z!{uENQ{VVg^*gU$aP@tpHyT)YDEY8mAu862H|^dSGnc{K4_Kso=uG0Yk|Wk}s>5 zw|(9GV$P*}%fmr$#){7Qnn(A1(E1WjZon0Li{KkRG?cY+-P2&oqw1^q7wkkkSnYG} zQ%C2Uw>~v>i(uDtb{B2NKk!NmDqb;pW4C;EdL5; zuy)3U6UY;ae$PesVRCeK7DLdhev8wUAH1xBvXCU0H&QoqSqq&`xCLb+cVu(u$FLi9)Rfjo+YN9|#gN2-Kk2+4*l|R<$ z<_>Yn+I5^&bhx2$2RA>CU}|s0XTGY4*(A`C(6?@;X|G&-V6-=WD&h0?+0@bf=IQBX z!Vq7j3qRams-SkpA%hb5#*@Y`8*UsjfHCsLW1y6kIEMUj`fi*pI#pFiuTG4oo6H)w z^OA4uZjVhvoyWuR<@v=9*rj5=Iq-w0N18wJCX0XkT7S~=?5CH9p-cD|!MoG*dUY;t zhmapO^g`@>tgZZbPgaK42j+6@qSDjbB#dG++Hs~SmOdm0f|AHhAVxdGDrNIaxd9Mf4hrhZqIDYI_F^^QkS%aLA(hvq7|I)Xy)eu%_4XcP9 zAz)n(QgFXJ-aK7(f;uA_QX(N58WXObHVrAQubOkpC5bZ;O&K3QIAHjBF7IyYT6O1K zJ7ZmXXiobi)O8Hw$4yWLQFhaH0kLp@xoYnTt}vypAAii3x#etVs9an^s4>TPhpK2= zI{b|1DkJ+Qtob%iZK=uQOp@+EiTOO5dXm+7Wwi41v}?*@T; z@#3u?{r$LeUoO38>t@l-ZC$Qvt~%W3;`K7X$VVJeI-b2*v)2|QXM=094yTvkHzN2N7ZdZ!b1O<_7EA(l=m9L{n!$W zps)@KSlWmLHX`upk{W~~{5T8M0h919wVIh=C~n4HtkFu*1h6}sAaaC(&G z63odoCn-T;{Y57av#zumKdjF@?xgEaj=DB4Iwn)rZ8T3h=+A~duE#~E>o|VYu=kGF zpWa^nxa+!6DCy9)s>&hq@iq3@QCf-L&Ky%NL{MzmeOBO0-)Y3Q9jSLv@*X{*L~1aLrNaD(+Gmm9F%)r6oZd2%sLvas zYf2>kaIqkh(-4K?DyAOJk|B=l7R91}rT_Vs{PHC8#C#oU3+>xBoO+XHrcVawJS@*w zx?rJw9g0YTgzI+mMgF|w1%%hhwz)O#7uX*It#@xw_$dsM}x@B8-NLg3)1JITyH4@|^SUcr4e44JiUKMad~ zvyGyF@TQ?H=cFKhG|Y?EQG&;u8=0B8j&X=Jri{uQMuwoPaFeH=hDuNWrzXS~C1a+L z1FL=m-P8R1VrY>!rP%I5>6#CBrnCn_YT!LavJq$Y19B~IKM6rDf?^Q;#_Lr_FryP2 z)U>KMYi2B^#{s>O`w>Khz-|uB9=l7p7cfCmLLdaL;qHcU$yof_uTJe24jeRneIQui zy@3!`GmmL?S`z6s6F$L_u*|J9Kmg|~{*Gl5e~-yqufB>m*g{+hRmM+U#**1gZY_LJ zt)IZSE?9LkAtR^|iWiTA@~3AO{?;=Gzs&lRLPOmz2WF-(-X2Hfmk)SN(c$rUPF|Sw z={tt=D(tW%?qJz}@7t47T2wbX4l)(sP|u~2qBZ$F1XK6Al%6JD3W3Q*?gvb(P%M|Y zQG5|^+gAso>P#-0cTPcwY5^2o>Udw>`nI&rEzEQwtXnK}-v{^;^sl2X zxf?NJ8jG04jHqM|IgtDh8e~=zK>&T^O4+q=W^;VwAHhXaMi23jAr)Q}lJ&dDA1uLj z((~V+_4>eC%)-yAr=1;iPWE*JPqtg%W}|ui+m&sJB#*%KKEZ2V(IO8FwIlN23}r{$ z+~qP!*d&e6|;B0d4#BY>G&zG^jPES$}bnl|`@>PhN)Q^9*ORD{X|2qujL zT;erF0k}|jfO0!QkZ&npu!~tr!AD^wh$uB`>2dX;YMxs|51TDoANz->v(D87a*+*2 z^63j!%9-ces?Tvc1kdyGD#>+OQIO@3Sy9xq6t*HX#(Ox;R25+8%;s?4`Es#*(#NES zZwjQ_KVgEq5?#7%fbl=e_A*LOfnRBCZKxS5+hYBZ`*MbhLi*W9?1dc-an1z-rD}>} zOD`}JTlXR2*9LUFfg7y#bv|}FoazC&Y`VD4PhMyRKEaelHmKUtjr*BGXsEY2nzx@j$z)|S5J z_4U;rp3d(6urRM0&nn|`?hh^|>z&!-kQ?k`M-4t}N}6dqA)55*ed7{tZPIZlgN4b= z0|NJ%ht+yep&w#;?J?&^7)#A0s%G>aq$xiWlM=G3(-s5%067bM;b0vz;hWY$Y_5Fcr8wcWFyRYeufEt)8dDuTe-<^M@O z<^Lb|Ixm7)a^&;(4&7I3yD?$Zc=Z3%gHIOc|1K71&i_{)K@N6aj(_$DrVQCr*Q51b zEhsAIcW<#(XG_ZzkwD+VBOu4j^8KLDA`o`}xJX#)zI(P`mTos6IkDQE)A|RF)k8xGqVDZqmu#-`sy?tbJBW>3=Tm3Ic1bUGm)-g|Hmf3PE1ER~Zp8u=Xw<|}?m z1Q&7hVN8llD)g9Wp&)@%^Qli#MpDm5qY2tyu#<?0-It8f@t21?}Ix8~$D2tn~Ms48M? z(tX42uxl%Uj*fwRd@xtuqeJPh4=+hv8@Knbe88)jbb-)x46rwc%P4jS+%BU`9guPuP%|aTdHW!Q z3WLT5xc3zPx&I{lR?l`;IV zKTbjN7LM;nuwx7gh6LXa1jiWR4#=fB_`4L}57HHK&JKtn26vSl#0lajC)t2;jDhcHKSiBpB*FwcBk=veTqTzRAYg$z z;MBnFDwuixOoAHk730W7p zVHe*{9D&6nZ4ZR3n=cS5gADpSNTMdjSAgKCgtD6H%?X;MB2hzkR04X*j1%-36U+!t zq9(~#V6v5o+5y20gfb$7)PW`vdAxhkm8-UPnbj3(v|RYISLR-qcVJ{q`dx2YL5dImqhybcY1P4GD)sR6QvIQIXtAA? zYHNZxBZ5bv`Iw$4V>}bEv@%{dbYgrqcavQ`lHq5c?bzwY%c%6>?#@8f(h!%QO#Hf7 z|7bjZ{gT(b-cK_EM5S6vq<@}JJO9nevaE4#)q4Kt1lL_5AiGpaw2blM61xi))| zmvSJSLtQp(ShZq_okqR0fL)@vg||zOXszbAhsSUU2Rbw?10Va zOnMm8ZQ!O#dDPB*QfopmlVL?KjXk#n|Re@ z#dPhvgwnA<`)yW@oTvt}B zPUuK0c=JBqgI42B->Kx4^L@obMj}ezfVj6we}ZM?UVCWDMJrF@HciRpXfZ6zf23;kLl&2+b{>P#T*8cX*CUtrR6+12e${U@3=p`k&SMC z>l$!jZ^x@sHmqg9b#rLl`tW{Ai}hOIx(n+zRi?gu{Oho+mG|7j@1c3Cbib>ifELtw z7fA(dR8D8_{y-iD1@K@Gb|nm#v%oJ1Rel@^=c%{~YgAL(X4(Ap3iTxPbe|DuO;ku5OG%ZG#g_}wwwyML{|?{ye8lo3^gIbY zPeRX=(8KdLHKc~Y=+9I9zl*%|B=i&nnq3dDCJwMYKT-NIgZYIu2OPNgXNXt+y9hm8 zod3wO`H#aOxH!4^|5@nK({<3R#pD^Sy~hRl7phVdFZGR!&`6hChSOpu!?|JFZd8|Q zFwMr6bUn6^IEUa%=nU2QAzODYU4#2p9X+o-1-B2j&f=obWL5lArZzXaw`%E9%6S}k zt=}jB*~oa4&Mha!%gJ2f1gpMh-e(6}COL^@Jm%M`(GTTO8Uu+b0e7k|S-%&dE9cex z6wN(?ue!kTpn7hF`|yaZT7}NQ>=96IFqDwVXW{5W*O{QJ6`=clIwg^;Oyo;d zwW(!y5vX8wHubAm?UDrpYKGRc$#FQ0V$#eT&iBd7ERe6ICj)fHgM`TU)V6jH?|QbY zBa~V5LpR4OJDF0tSy>X%ZNeVUYD|4-X6oF$oph(ye&wCIu8%MFe60~JOexBykO|i^ zRhjIz?w#)rylS)7)j>tbcXLdJB+6q(3`XwN>=(fL4n{UQQ*CManpSV>7B{!)rOmXc z!}&z5&fBE68DP({Yrbo)H$Gk0dDq;=Gnn*d%oBHcN#Mqj>daK~Lo?H|K{?{3cW*Qy z!sQJ$!Hf8|C8JsP=C&ma#LF@`pB&>}S2!Qjm3iX0wx!%z_R_W`Ik&qyWifnPdtI81 z8q^s(+@Hi5%kg0=@xiO{VQV-k>s1LcsZ($X<2qt4I+b1uHYh)>sEh>csMYe(QueAo z#iZ51)r@P1dCZ|^%OET2!meAD@nn^@6uY(sz#^LXFaj+O18Jh5 zmr;`HA=(K4G*Ns5O#ZD}P`$fIk3G)(2}jDM(*c#N^cuB9K_{YGftXSYSyF3AdyW#o zq7yN#LQH3cEK7nxQMkvMPFSQ|(L>OlH=d(>07$nASqH!-0K`AeJORLWLr_|vB?2sZ zGWjY5`}#IjxdTdz>NzTof}Z?i3layMJ2ns`4_x?-FR7k{P@RmYBksuxTWD#T_6h^7bzm0|+X6j-EH2}95+0Mr3M zfao3orU4-Kai$vprURg?=cqRTvI6lF00<2R*doNv3ZMWQxE zyFNs}??$`VWl*eYC+(3-wJu<|g{ahN21<3(cm@`ii#1cecak_Kde9OF(?61}YPhGb zhb*9J!t)j?3oN?M`XGjo_lIm&YfX)dakA5@Oe^&C{4oLZ`%6 zTsa{Qx>b4!LKny_ATJe73H5Pw7;$2oCuN=#+e$RjGS1xD{k199EFlF% zDqIxw+A-Mi;S9AY3#(I^?S#WyNwX9p=vFm?!I=zYqunpPL@ZN8^-lJ~ig@)(wf1Tl zYXUoV3QDpLKfzKF-KmhLk_BdG@HZjLPRV1~doYZ1$piDojd}{q z+5EdyX+Jg`S(vUuMYz7uH(TK;j85xL=UN3JC!=vnazpQ_(mA{)LPd$6y}Z*te3(*z zi;Jrp+DqsR&Rm_BE^rTyMv-Wp1pce2qrZ=`99+FLIPGEiY$Po@hyihROL~EEq4GT0 zXs^967Afktkpv+jQZUEDOO|_|V8@~6_s=uKXxzxy$eek(99P~r|Bj3rW(H>Kn#+YP z2$+sdFum<^5xEj*xe!0Ui$viDp~rahg~(T2JZ$+Mn7H^QMogs5!{CfPhj7w%or}0e zadBM{zNRB41`hrdU?G?6y%^~^ylrq)D-yYs!Jf6X3OhCvXpC*UE_v4SZm8b?7Mpt1 zPk4<(G%FJp=R^UKT~9oU~KF4(87TjLhODQ65bFEy$hw8upW}=C>}4^@oi+> ztkjEwcfXi&G2g>kEFh6Zh-4{ut$4o;Mz-AI%j76oIb)f2>K$FUsB4@j2n1(15sQur zbJB|2r?Fe@;&QCqxD!ao+yg0fZ5hN`y=o6csmTic zbS;AdQQ}su*1J zDYQVHV9oZ0jG8gB?5q++KMkkk`*s@!o&?m_n8h&4#j*T2OY$XOzf}DFX;s4{BIkvzJASC*whZwVrB| zaJ_G!VaU+E3leDO*}V1Pz}b05sIg`C2)wL+y1|+2~KS=<@Yp!b8*b&m-U3 z(02XoXf-J$eB**WEbJ$Jdvt%RNZ1$qE-og0-`(ROI*zRA+I&Cecykk%j*#RSTxf4l z$r15B*8BUohoT4*T2fOw;x?$q-V>y$J!K?r!$o2@^I_4 zqLE*4F)gEYJJ)c0qN?2RsO*xJ4{dTY%aVDMhE6$5mv_pfCU#t0_6l0IY79a8GRhpoScfRRqO#zh_j6wWTqv#AbCINol zZkJnI`==%oSH}BTxN@exV@cS2X`J?*7fBS87engyvrVvkJ?xur>}QmYo=x7K4%l|E zCNAW=#Chsb;lV87qoqBYk=Xf_E3w0H#306=jbq~B=jY{J(>Tj{8#|qR{#`K61u29_ z`YcgV)YSa#DxxIS0P>Q^xKzHtNQUtHPwT&W2gX^K11>usZcZy6g@tzXfB%$In=6tE z2>}*Jo4@DZINe^nhLw)Zn&`Mh5H)vNee;d8dtEbbva&*r^-?%UefP<$WV zLRDhwIx{zsOb{AVI~CQZz-s6?)_zq#mc&xolj4Hs(8hlkzj=5&FwegUZ^stjZYO=c z0W5@exq*JYe6@KsfA`4Bx5(b6(QOH9VQ;?2v$s;{(S(%}oZ|e_>epT>3hdzSz5wl} zyy$APh_LoR3fhe2Vcpgp$HTKRSZt?n8f?jSO z?aAWa`gqH)8xna-#1e)Jr(eCMaEU!2+2GA(>V(fG2+* z-Y4}pVYu&QI;Wd2m1E_7L63d^*4yKe{+YwrMmjeR=f|>uL8=2yMgK&p8Bx(|0of5l zXC$3E?{rD|(EG!n`c#G&wB9C5DbtD5O=W5M2d^8*hPC7=LrRI`^c{)BSrXGY1Y4Ut zyNSUZ2fGZvF7^h<>TKxJw(U!;>#R=AT{0(I5W8S|iBb%@$S`dquFZdTeFK8J*FcuATILn*u5-EQ!R133AMy-8g8f-Znr*_n#@ueTHnBD6ACtPDv z^EfJfgbHzN@mDmITKi>0-(IOj-kVc!?J&1#)#YuCj%BH$nQ9+vic*Q^icsDfO3WlmXo*ZGOKZPw zSVBo-&kCC+Md`E^{fMFdGDanrnTc;vZqzHbAfKwsS=|kp(g4Bi;{1>z*vY1#xbs-23mq+rl9iiEmSFCH16%lBqa}p?sf?Db*cZsHEw-<9{IL%roRDZ zLY}qQEB`Mm8;JW`#|mcrson5hsC!w)_Ep|AgtFY(jH(}wUvbCR;vT=66yw@{(*Zw8 zshT!#Ek}BzhOQeCTl5U}vt(RBK^)D=QXr1QbMCAF%AL*_}F#Zew!mvNSt3kfrH5$UUzCt1vlD$5^v9K zDZ2ASp$*G^`%TMi776AR-FMq+9qKbvRRM`jCw=y09WzV`P8gUM3|ScQxk8iiWd9XT z6Q2L%t>(XaO7UN>P)|;iC#MPja}5uXo*hlSW0kEIlk>fg*?4S!1Xq8HC#T7i)8xr% z^5itZ`RjQAR(_^6?WT)UG5(7S#~t#=K7|~_ML{E++ ztguSn@@iSMzjo73@BtRu1eX6IvbGOL`ngd8>a z#L|^dP;l(f+RX3vnEvuxtcJRCI$S&HLt~%G$=#>@LqASmAA!te@%5f0p8S!JBZW|@ z&XjgrN=Uuy4@f0Hv7U2I)Bw2@AF%;g6ub>@yM*R`woP)s4Li8CdR!imGE`~1D;xQR zy-soV7S6^cJOvZa3hnU`UbF3bhnF{i)u2RpbwvQWM@*Ysq1IM(7kh%ZN1O($D{z6 zZI@RRZRQ>`LY{7(?_hZYgzQ^Ns2)ac!NXC3#?&*T(yBs9a)(Ix4(=?R{-ZoYUAf*W zQ*CdCNNoL^W@l73^uy4a~Wx^MeztBS4Z41{1X}}A< zLOg)su7g(-pM*hIf(VhLod$Ld!jHW|mxc&C679dkc0o@?@?F8%fX|1Jd9vTO*{pyJ zAfm@acMyy-^dO`_3><{uObEF+J3NIoIkGYY5=Qh~EZ&8!kS~dgM2-X>>x0PsIMVU$B}f!47(9&1b3H4v{4S z>tMNz#)d!>a7e0hS2NvAz`%+lnQo|mZ7zUP`D*3`Py#k+r!K>pzy=jO_h(}Qo&(Mm z1(g15oWZoXptum|o9^~pzALpCzC=TP`N}W+h^}Yze>!47+93#NAWR%(ZW3`NM~u=C zsAV^ac=0N^4k8E>sKar=Q0|0?|E+-Kg7KykLX8Oe#6==bw?!_12Kvds7pBk&IX3}k zPdj2X2SIm$Myy-pNN6B-dcH8=KA)R_O(q;Ma)O`)+$3G}TjY}egAet#(U>s8gb*TE zQE#9mruqf>C_SHa<|_HSBq#zA7z-!>9rWD<96RY4QxXJy%S}R!;}WCP2@yjCp#TLe zml)|z2qhxu0~ZN3z=t0V)W^Ul4e)UW8cjRKGzCF7fa3r@K)*8p=L7hlnt)YC9b>YC zpg7zlxd0!D|G_6WtjLE#@=P*Pxf#oJZQkGq^9ReZ(3t+g6z6*hZaY$T&9ozW<(NNWu_ptG+tba3El2>E0sP4rK_~Upo#OE4F?Kg+g9}O?9~?(yB3) z!!KTT5@n&*P^YBg@W~0I@kO0qw)QIA#f9x!l^spXy==T%Ui3zG4i%^86bi4CfkR3v zJxF%ZdcG$_q18AJ$c-8$B}OhyA+3}1!WI|4newnp*GTZtPPq>GQZAo2hcGye?sDv& zqwi%aVQ9m-%obs@h+{EZMz*zbAlcZVrzsnn{Pz)YN;tSN1~1vi<5G_-zWw_5@uQKQ zi4Uk(ZWVq(dWZ5|)XZAcZ)u7Uw~t0?3f9XZ*&=ql)A8!mx>Z=HdBIS)*|XZ``uw8% z!8xF1ep&Fo-ghMVmf#h=u=)Kw=eNz2a&#B^`S2Kv8nw#bowNQvPW8rdwYdXOhE>Yd z%YC_+qLM_bPrJYMV(80p#>aY#6MY~>r%TNz5pNr7@$qlZnBI(y@sCmdnjg6DcA%+N zF>pSwkiO>Qji=T(h^R9oeC)AfdXsXSuB)*daCt=LE28Z+Z8RA)JzrUSJK*#M%i$Nt zm(CUIj<}2jE6ccP6*Bk4@7U)Q@w8tWPs`40+${W^ulj_uo-L^yt_k4p4$n++1^69D zu~Au6WEy-{_JRvKsWHCYI84Kz?|c~6Oc6w14mh(9@Dkc@WyMclxYbF1WB+qq6WAS=-7=3=ae3{ACl$khc!n}((xc&)s~1yX~I4_i5>s0uo?iw~|%2Kjg5WP`VHIEf634_>DqCFWMDSl0BZhxfxt)>T}EQ3S{~d$ zTW+j*e|dc(7CRjB-Ay|;4l=R%lStFe#eKn!CfA{JELQ{tFIZ+bq$eif7t321G(z)% zx8<962!pz^dbCUFqS&Qar!mOIt|R5*@0pjq<6(vKo4o5kyH4KNKNh75{_-wm_B?ZK z>OcETZ_Hm%IS{%dO3flxy?##b%qq{cyM&0!qwC-;G;g~Q7#@ae(Fi0 zshv(n)7K9gEmlc?F=7}d5CnB!;Gk>v_41|D51L)s(pE_hp*`*&AAI(X#!;j`uG|3e zhv?=?^jGf9x6f3s11eZLzmmpRD+$uutnNtWvXq6MhIz;+8>H1N;zcBk*lWGPGpk_+ z`N-eI%Xrx0`CSM1yVx_kcgiHJf5U4aOIofI4v7BUiSbCt*re&aM#IyuQ;*+M0C(5oNpY>9N75kvx}di8h5gb&27)$0y4C z+Cxr1E|f~u!B;`=x89^5)4P4)fGH%}rC=G5`MzWJ>$~^Dpp&vUyb0&`SeNTP!uBI- zLGQ8^_d~~^<}5&Y;M|*?yvTHXw^C9(3oZ=y1Ypi%)&OQ3uj%k(xp+r)yc!|LHG4n`;COF@z{(ImiISz#TNnL7wr=K zx*zYPO~Hv+p)8)G^1K6N+w{sQ)xduUnMb|dvL-upP=k9GY0h{3MEtF97IWefv&>fE zlfA66EZUX5*=DpPZ7wgq$!+rM6C>g5VJGOY-j$evuLRcUL`K~cOWK1m?P_@n3!@Vn zitD43Spr51CLAjFj6PXmyS#vSRKCAqGw-9Zxzsur(CJf;I+o6}oU5er7aD)-V;@I{ zv;$$8Q>k`j#S`8AP;Glx5GupvEZp_c+qw=vDw$PDL@Tsxk1P&lQAe{`&Sp`abuu^N zY|)lU-9cr1zhpxXx7FP@kypQcnPg@8UIjf#1O5*4@s_n59O3-$X6A7}yz)vdhlL{P?b#xm)mhMAg`e_1k4x!5>(|DSmScuMDH0o{~}PRb6Rbc(kVHVzzC~Wa){B`msqd4GEs+9G6 z;Yap7o}U3fmZY?7hWN6_kzI+FTsBH!5b zjBLl(ppoF>#<%sswl)A!v9-=1Ku_u}g{?fJ|P z;aZ<7Xw@gh&({y;UY)nu=z614=YM^coE3vc7$Nj!+AgmWDeUC!k{OTbF!xbO&DoMQ ztD|QAuNlU7tv!RcK;nQQcD@S>T!2e&>WB^E1KhmamR#&`@z#C!tOd`R?=by|$Cs;V zn|G~C^4rhh0{pNB!7?ij732KC#6b+i2cTunm*HOs4?S#04svh-ap}WWh!5sPDI>%* zuIxj05y1<1u#GP%y;HV%X(;(Pz1r={vyv3eUX2yD1`#MOKGtQ3;&@5*d`DoILH4MH~>Tyyh()RgFcfNoj)`=4&IuMH4ZfeI z4_22|I?(1;4__$gwyG3)@bRo>WUYqk^LRDPWB1Qbyj`L6G|&j$Z-{pEO36J_k89TK z#uT6Z)^zWZ_tl(5!8RHb@3YTvAmQfW>Ht1_Fz%(m_u>V~YaK?)iV4$W@YhCMby$ii zG_>r<_i3tO1&eT6PZ3@+Mcr|1D${*XJ zbSt^0=us2+NMOHJ7l0-F_MsFXg-bi{G{U!*Qj{H$DKLRxCtKnEb$7gvb@UJx7ef1N zDkrF8`_07EE4F?fDuj-<$V~EZHJ%_M)Zp&dI9W3F+$OS&d&u9ll%w82pX{IE%mTc(%zf1evN!hJ|D`bwfvGmOQ3Ayue!c?W@nl6~9L$zgaId>IN6~ z`|-*M1Zlo& zXc=-5znS#BYM*I;FR_{IL&d|+N|#&;i$#v^-NjS1{DR~_l&Hxt)Q2q6pnhwti8!;@ zXK8XGjPMgSJT>R!MMwx7DcVwbhv2ivl8=vTbw36&g(mQ!o!OK-I|6JS(aUT(LbG)u zxa@PQRiqa*3yZQ-Twx16HBLGheY4=<-@+TpeIKaGOz{R?Ifa{;St=puD91QU6fZcl zn7OS2pN~qWycEUp*jcL}So`sj00~vDizFYDbM1F@(#z_EUng3_%`cTgDS6sq2&?$6 zl6rXQz%jidys(xvfd?PisK9RM@=IB)b|-AFkSd2@pxwPwK%Eli(Hg%LVsN)0CH zP+fR3Z!ejzut$}SQpM^f3I2#fpo^|kpjbf7oL{RJ?TF+X6F#300)AVqw9XNVez zpZ;}$am+nTX^}Llux#JThEhzOtoSB3`O7R{eba@~2VMoo8#B-Kjg_-c2=kb+{XHMv z&V9!yBF<0N;SqgXmaU?;$cJhE_MDbecae|(h12+Z_cL>hOJX&~>;@;w=Sx{##B@Pg zyj)=%cs)L$Aff?=XEytO*!&M+IzG<}dC>dTdc*$qSH(SUn<~4glF$8 zhz$ScYrAxw5@r#ahN|pn9|;w65f6c}q)hu|2~U!CM~{R(Tjfj?j~-*zoKbM42elIv zli7_5s-?(mo87*`XcrDN&!r_-OWB~Gq&YY3DxxVkBuwe3rTF_Fdw<&aC743vCB$uH z1_$@U$d$bB3_XPwcJMGo2XO3VNpc6}uj`f%=)`6l9T@I^>VWn^lovz~Ls2)^zjiBG z-SYT7N1Si4mN^qNoypsLUNygU*UdQ8%vf5mAGu^*TC_!HwXdmVUD8W$UN&g@?c{NL z)AtMgIF6@2^=i7<%3F%9&0!Up>+$aHq2%WxnVZ~A64utW<+a#4>>Ude zRR#x#HJaGoMA2uq`N+yiKhL}i77i{VRSaekoF>n)RyPe)Z#OE0mkkyTS~8S){29t| ziaB@=gY&v=wB)gGI_WsWhaF4|hXxjh4kAg*ek3oQDUJ+})bjGG9(L$w%-Ad+44Y4g z862ax-{T|fIC840I-GJydGsq<#FxCUZ(%yw8%yOB&U#+3klk)dCpz!oAma7#R*d^C zsYmmnzt4qzp7iI_kZR2Zc{HXt2CH9_E${fvB{>oJ%6GWRk7_~}Xj5i?6DYnD_G?c0 z;+XnwQd2cW<&-pGUH;eNP-EplA?62Bxlt~Mva9*|>BeGBRqU`u>Uo9{dBNkKANHzP z%&Q_pXvFf}gvXD25-zMXn}q^BT#6jSe%dUhzsTD{`%Rw1db)Wr_}spfc#eX1IWl2H zmv^!7Ma}Kr{1>Z*!X{t$*NJ`OgQLXY6a>9L(X;gpk!egI6=~ zMGf{@(nYUL&2GCT`7VWSZrSFy74lBv8*!|r@(cAK z8#ZlLN#rHCN;v!V>y~%^&1=UOqD+2mqxkbFXPt*bc8B%N%^!6^?YGZ8IdKZ9qknJw z(D$BPoV0UvF-5VS#%b-3i0W+Mx--_tEZyRE zSwc1-F8mkd z<=+t1c)fmSfzQd5cbdY`FrA|Ju>;4_yE%n-{%mnzaY6tM$&sXrPIIA0TkC^scw^zI zZ_vHC;lQW+!=va;?CC6Sg%-i<-abRc7SZd2zS`@f#Oqdz>sd{@k&KKx^AJAD5?n#( zIMc~#k?B5x3zL%tKHr;tE@Os=+d?xZ1Iy=Wk2jltT)Ynui6SSjtC6%mrFQ znI2Z_1c$yC_05|m3-(-Z!M;fQGDDlCa2UK=kQ%zA?e*iu3Vmx+6(vD`aUJ3V8He3w zJ4`L9QpYVJJzeX!==Md_=!Ie=UuxSKJgCa>wRIqZ5ii)G1$nDff5|*f;`gVlwyzX? zhG-QFgbZVg;UrSh>S8Vk6$Mhu8mr|rH7gjAqlT;4(KMQqZOtiI7*PC#vyB4h_yHuh zrSDpACSGfVu{MPNJDlR1+{G?tzaCQqF3#R(@@HPD79YwGaKGp-X46^0GEyb=$~t#r zywOX9#ad}#V*>gn2!clf1;4YluTuj6}k^DJ( zd39Az;PcyTmHW$(YsR)YBUU@mS)0L~D`sq`q!g3ShA@#kFN&o?ydp5#o8F>u4X&DE zM!>?oTZ5+z?M7UM1)e1P6+o|*LCV-w4~p^8@{~x0m07jaJD6iSEV}$Sf&PWziJd^~&hMfhdh8A6 zi59|>V+ke*c9<(fXfZI;Va6vZ%qH&(s-*EVkY=)vWqa#8(OY_*9)3;F&wGRx6VF=K z9K*XeM4SK4d_jB0L2651F0t~KVf39rT-MwtShS90WKnq(?VmalU+H(g37f~ye&LoShxjN{hpyTgnEr!D!oZ0WZnXjojwX5L0) zrg`i((QvCv6e9~_eb-QqQvOI-O+YaWeu-gNl~OBNs)WETiJWHfA(RJFL^wy)#!j?? zfk`w!MJL4nwewA|XL2G)=agA>@z1SCCNhTr<^hWd}Hyc{vJ&L-lu;pyFE#} z4*F_}!0D^xU|6xb(@FY)Npk^k>K0^OHveB3px)C7C$6r?yYbnFp-p#!wUM3WN4OFX z59xpV4FK0az5#feE&t?`(46L3K6pWrk(!of2m|BYcm3p(c=Aa+`6Qlv5>GyfC!fUs zK0b;6ECcAjdbT|GpI4|SpTv_-;>joR2hTtIB=mJZzUXxlv1v&&jOjhYV+@JD72$L`U6Xbv zp>w2mFd{d8#i}XmjCjaW->CQH$Lr@mVsJR|C1O$$uCcE_6z&%74y>M5M1YMbXiLVI z&t2Wz)II!!#}_L{rbPMlZmYh?FANWC9p_x!hVG$HjZ6Ux97iM$lUwm9PC0$h<*j|w zvf6iZaa9-3vxAMC9V)?##))ygrNiu0x;l%B9NlfSEH=oz4Q^x^@ z%H2I&`9p_Cn>hy93YWMG`)XQ6jfLDP&wth8_%!+dzFf25b?{4(otbz(uD4grWji&` zwb|9Ul;b0VWU9(3*KDqJS}D(QHq|}U==qXw(2v(n_|9lMf=4cHktD;e#l!pZhvN8F zbHvcRTi4@R%X%^PT@{);c1_lTMZ}MFw^R?o#MzcLVl3qt95dVcg2Fdr>$5#s7fLo6 zKB(p+vZh?Uw0ri0zuJ8|-G5I7^N==q5H@2T5@}A|IN8~$71(SW&lA0G8IIc93lcNr zMO&_?KYt(1?_aLD6Jg8gxn1(B$z0DcTqKA0<1)Y1xqi<@ltz}r^G*-i_bpBu;-H*S z-s@Gt9I<6ChI4(K8wLB{!vKlEMy&C*|mi`k^`B4FtzY{tP1{ND20#yEX=&+UNs8!YIai$9Z82}JE zu+#tm8MH%LEImix8j?GoM4h_&YY-R}IKP1jsS zni=MIi}?V#T2w&g?}RQf+E4zipa2xm0Lh;Sko?=BOE#XPx5j|v57aUNl0O>y4cj18 z1Rx1QM8C-d78?ll8kGWS3joQVTWDvT4gDq;ko<7~$v*_-N3;bI1z0Hp7Xga*T!T=5 zfK>*r(2fPr#w!VQUji6BI-wEaphPE9J=ci9Wc61$I!IjMy6Vr~Nw!1Vtv%Uhj7gsZ z6x$g++4#`Vk$4B8?N-1pB05t3YWqs47n>(gTfWl1!YxG5!G<1^x!R6_BSa7s0(wod z)s6wwW(R>@PaGSCbqW#00<|i~M$$y2&#jU`ow=*+Yz&@kazGKF9`dFWYOHZ=lmxWd z0%v>I9HYtq`IHR5jHqjH$1=)6ZxNj6Tlp=8vo=a#Loue|lSwoEg$&abn@2ccpH z@mbL>AcMzu(bbY>S1y*RuZ`5c#$5g11MK5+{8Mn>k8Go60 zs*PMz$uU`HrRn?SOv;D-nDu2oWvWb<+DM`Y-SK*WPJak?;$T&VE0l?~Enj6#CdUko znMR+cb8VSU9$8JTXG9ZOc0jbsZm6@*eXq=7!|h9{y2z+fj1sSOWHq+(x)f1qC5t0w zR_Gg&*%vL70e0PI7)o z-g1B3)%36P%jHR+l)>1aKrrCz2!Yg{nqA_6!jNmmP zB~))#XuvJS24j#TK2$K57^Q~7ZwNO{4*A`oqma?gy=oc>uW%rkEo(6NruJmjNzMR4Z`BOZtLw-0P(h1)|uxD?CN1fTxMG`{Ia4fVxup+euRt`)g* zXv9NCW_r^lRRwEre0Q!UHPMWs^rEZC>KQ`B9XD^uI2ZD(>I}$O*ys+&r&VWLbNKs7jr=`;mY>Bfora33+dr@1M zuOsYt!z@cEVepP*vq}}nFg#CSZ89lQMwqZ1f#o6e2cFyv2WzP5*iHx3nfwe&G$~r! z`q$|egNVNzBiU@~2v}*%E|_Jk@Rs-b@_HS=@GTfi#CGaTCzc=Fb%<5&#h_ZQe&#n* zmD~Cn#|JEyTpEF=MC_BBRJ=^d*XG*{C1%ffEoE1Y@Mo{PF>*(#cpP>LduGYJr1gE& z(kM~slCR-68A|M);n%@6ChP$s%W;Hvv*|BJOlJA66=JwcGZAi1!^`93Lu8VFw3k5* zlnlH0Go)mqP{gi|kp&~f6K9T*$`aE$&F^Yp~Ir5nwQ&o2BYout>y0LIE zBK1NL{^CBWr7S1uj|q(AdrdM7ch`=3a|2x(#N);St3Q}Bcu5-s=~QZXB#9Dui^jsE z2l%svQcbuC$=!adyas=W+Z-bmBiS0`WqcX@+AC(rWu3_C#cdIu_fR($#>j)5=)JMB`>)gd$LE!U|LhH% z&_BI1^k33bQNHVK{~pd0m$vsPEhqEbOjObeKXcwBQyD@8zSK`zNvuo?QIT}Ii9V&y zj@RaU0u>p?*}jb)Z#a06BXe4T!No_?)gGri%; zT0*B<4;CJU3c2r(%H|Ib7or259!B#mt>ELN-^y@1rQyupBd;|TwocQI4@QE}~&0M`a!@I-C zGnj;>c2<($@Ef->({!&w2X8#Oo>w!0UR(y{9yF!4T)qIem!sF41@EGNgFpu5j|`c< z_p`_2nT2HL_1VY37HVH#W<@KlHc)#h)N|aZ-iJzh4?Z@c-_{}n;c}hOq!O(U{M~KK zD-#o|2~Ijom7YAR@PgkLGEG~$J12HRTBsj~ci+Nj_X|%y_+RhWeShHZg~G*k%3KL< zlM2XOvh_u8hlA|Dy^|Y!+uHQL^zm1O-LQfIsav8DFN#Q24C0WSuiPG9@1Ir=u}0@R zgzwE>`sEGIx$ayrTuFZ0+dR5*%0+mYuom}wAZ>wE?|W>HzP85p(1HyX-)4Funhfz# zpXl8Daq)I=Fj|29X%6T5g@-$wF)t4u?oXf_{3gS%-sI~2sipF7GPOPJ#x4y^(}F?Q zx@eNCg#K(yHNP#{TTB(^>Q%6D3a&vv+IEN?un?3FQf7{Y&P%um2ulf^uy}h#&dUxC zCl->w)@D1YS=Z&DCd*5T zRQ$s2)qL2aMuwao;uv}siY7Gp@TsS}GvIOdkg{BZ6e8ra;gz^3hRs(UpX~TY*?n8|kU2#9i-j4UfDuKO!Qu|W=u)^z*PsH#Pet~K zn<=`A(*qtPjZCJ0TIEI5ir1Zlk=Z3!Ds$=76zfzt9?y~3+gYIqhD^Rp?9JN z82@Bi9t)SDho1h>>(qk=O5&QXd>=I7952_yziXiJTakp?qN?Wk+!jf2U>8S(3!b%*2_rKfHaBu!|!VWLkyx`5Zy&D*hL z?wiY(Vm80{1*Nm$2#0u8=)$Att82ke6NmA4hQRz-rQOU2pxGAK+ab$JKQgR zAOF1B-g1|`MJhx0W2Z)Lf0OCGU=$wbg?^{{LGS^(VRfZ9yn3#IeiheZl(Tw!Nc`I* z{gc%##!H{BuiI7i!jBme{O*=t*Mm(DTi9J*@xrQJ!QhT9pMe5LVVJN_wqQYsdo>g7)A+sjpzdcH9O7{C3>S+34f#0^@s!zx7p^a2#~LFbj(X-(A6v z8<~aBOrSiX_Gn;px}YSzT9JoC$b?0qkkpnQ+au%dQpspJ7Y2tQ!&;0({IS9DW}V<@ z#w>wfeY~MT<2jSc0_jS|@@PvIxI{FTSy)GFDb$aRGSIxVS4_~K7Qn;>#3U0CX9tt* zw8>^_tx!r!#eFK6iu#-?=67v@#Fj`HM=cKpPZcj`pDuHhd#>WFyd>{Iu3_@r7FZV<{VlH|jue zgUOx&<)F?NZQ;DQ>03?3gx=(sg*pAVkf>mR!(LTsB4^#u!VU8MOyc&K1LlHBsB!03 zl;IbKtgtW{&u+sunS%XDc6yFI{7_IwEv=G7UM3~j|~#b{7fEX;EVI;m5yEe*M% zt%$lJ<|$)2nL^c~g9W z%LjNRVZ#;++%WzoB)SCcR|)(%F52 z1;X(`el<&%&!BfVEXv0Hn;vHcLDeU8oldclUABw+rSX*>NoqE7~Bu-{8%+v*!;2N5dbODY_M!1_S31jcK3w zj@;@h5PNE%X5IRUrIZtmm;}4|D}EU3j}_ao+3H zfI0zHN1+sc#JU=nF#a0@rVNK(;$nuoY`6BV(FBST9T6n{Ak>{9Me}9b=*S=kxwRQe z8|T2nk}{tAFU{V++^M`l4+t(>KZrYC)IQxKPKgb3;lc`OnLIJm3liR>(^^ ztv2uxYS|}^_7uwX6{gy9MtaUrM;ayktxG&mdiu=vxw%;`nwk_c$m;r9N%i7zz@GxCDO3t1py*=_-UJNBl0C|Hn;do#$pz3vQl(> zbU&s&7G*SNbo2Xi4Wv}QNAgjR#&{SWpXbT&egBQgaaP(4zfit_zm&V}s3z%BVZKR9 zY&##pu9eS=!t|GyXQ=tUQrZ9Vo8UiEG5-Z4|ALW!!AS3xPQFJkCISx$b@(yCB4zEr zVB}vg@-GJDR0l9#NM$waRN5 zzYyX*OV9pjJS)*{;#Bg>QC8Z}V$hRu5_hVky3BHi#oa_GFb@~Kp`oruRg?7z4wfhe zyMev|oAv8{T&a##Shv|@s9)Ep=j``ueRR4$AG2|8xLR`kl6BrKr@KFU$ovJVXT4|B zr?qo!_1yh)`>USk3*%?&w)c+5`*)`G@8ZklFs$9=0_2xyCAX;INbsfzua}Zls~Ju| z2;O?TQ?eA5)vr7hzgAx~ez&0+>91W~pUGCh%GcX^WX5Vd#xZ-4Q@8w9GtO2zV!kDM z-vU2WW}fkuO+2w}mps9X)t*0SKPY@*ZuxVH5Zh-V%(QVm`t*FRzK-#=$dz_T7i z31<_Q--dDu0-xQM;wc(_A2gqy1s_&=n%3rj2T6o>aVV^VsBT>C^bN4kpSnz+Ce#Y; zaWbywyh8g1IFc32W_H-GpNj4?eLdbL#EUO^>g`+Le2p{wSg3DewRZ7iM79sg^JCzA zmx|`y)qZt%98(61Y?IHNcAJFut;q`lBqU~4w!hoL{3u&{Ev}Oe##vj{FWbEBn5dnY zu-%xby=k^_t!iR!YYaN`+OVUV+#_ylb}{qZpyQe)#a!1VUGvs-p`7Ng}SM*=NWL}T0FBp+JX`aX5cVev_ykB=B{_D_6F64gR7&UHU2Zt(DaMn z9DodJK_USOYJ|gnt4ABbzqR#0@mn?+X6}nmmD~dLX(H&@==@Hv$+# zEPy5iXg)n4NE8;p7y>k(-ttv}3=p*lp!xKafg-?8PWj|G13aS+a4jYPK$>Pj>j9|Y z6aZLi0Vw7F;+pt|3dRFl*0*w{P=Ohrvn61D9Y`cEz%_e}c!0G0r&7Kvdpp6+v!i0c}!9mcz0LU2+I8zK*Re>TvPFiL``z`{(jsWfv zVE6=p5K0EXwO9Z$3BZninMcC;z<|v_SHQ(Npeq0xY9Juh0W9B7PluIWh~*w2`OxZ(IVg8+=m1y&M)MyU^1+e-9$+*FX+8d-A;W-p zR>T$_Oc0R&rXkBcnZy8V#m>KINFZiZ7{EOy0Eps0G-TG%U;}V19WZWm81yj9Oz_u* zE5mO<71%gpg=@oafLrW*9aSC_!#;TG=(=VCW#XRW7z$mo<=$L!-FZ{6< z0387*U6%fhKdJyl0BQ8g`WOCq1AvZzlgzT$|H2=I0nibcILz|j_#=RKN+2MOan1Y- zf24p!8UvinDDz~Z0IcGJ!H$4ex2-5AR+Z z0w%+5yhpaa?b;I@dgi26lFRl+5gX)(dTT}Py8rsR&_N5mXZv-3n#V_oBQaC)5EfSxc6yg0m5rXt z4h?Kz1`5^+)oq9HE36S~G@JCY6~i|!L*$otqlAz@lPsgdF2)&d6n4UC)hMA!(De;h8_8Q6z% zJ>m=YRKp7nAh9UOAjdLL^s9 z^?qnzm6@wLrAS&;Y@ZE)jpY#01@W2E73%h9oWN9@!gC)YuF68`5pV=fEsr&Fftyf( zg(?}=Ia;F~q%G{bjj__HsUk}XoueTOTjPuN(~jbm=@AA(tS&+{me$1!VR@-m= zJK&?CWrp381rsNqG1dNr-YUa}=0l^hFIl>q%n`!c&f$tdUPqY-VvseGs0kaPt86zM zY05K4c-&XM{$kCuN>`^R7fG7uYd=J0HWDQ@ouo|)k#@^xJwuqDMet_t{eWeTgig=P zAD&!JoPkhBoP&SC^u7Lc7QQp2Iwy^@s4;B3I7Hz(2J{`AB!DyISEQs=a=WSYMwy$A zaxx*EV8J>zapy%5v-~T{j|{i!^GsAU67J1j0aHKhXXYEk1Z*>E~A*`@wN>5UxGQ+TS)88_bmSOf|}W+~RfpVG1xU806h^Fo#Q zB+Rm6{VvU4WGgatjgpqTWekBa5G}8Bc*KlEHV?p)p)EU6Io}s~M#MQY&YwP@olszP z)VXq5e{e-{T1BD+;TQM>d!{U3WG{T z+p&=j2eF3aST-^vLvMrW#u3TEM|wa`UN0v3%`bwL+)kh7_u@m#V|IH1VnT-}E=&4I z%<431bIF!4Y1(bhADLQ8GPC6wexp0l99qX~PcU|2afscXz- zVpL8AQM2R>lx$t2wB@dU7DU~@3@k@t<^a5za8EZfJKYL@kq^N&Vk9PO0&S@<{Q8ELDUP2izeNOj&?3aivx@Of*wDa_MjW+UgAxfxL8|U=dM+;xQD71T=0%@? zaJzyV)U<&^9Eje42&M#O9&3>zVAn22*iXBQ5mc7>AkohO?vtQXV-~A5K6)a9aSOJ#pka9MM3-ChFK0K zPGGPuQ-}!^%s*kjq4j9tFI%X0r6mZpUwkOc6)lI6G6el$B78z7L^=PuCIRlG8fQaG zH2F(!ae?afK_K0X21ic_e6!)BO}D1-50d)Nn}fF_0w74Tc?8}8TwT_gP56F-A5RC_ z0ZkTjg^(LGL|B0Zp74q0`?E-%Fx4=#I0Hmass;4%Z1E8w=E7Ri&m{4KTHsCA6E;wY z*$XGuLM_U%2X#Fs1(saK5OsbTRBaGo9tzc-7wK@Y( zy$9Lrl}52?Zq0=ZtiyS>hVM3du=hyu5Xij4( z6f3OeWF4-yS=-b+IdUs&p8>aFLeC~lL)O*{&0}?j?z>mVdr>^|duLLqv#}Fv?9|$k zt#fWo&(4NoN~*0u3j4!o4qaLucc}tp%2H`RL8 zlQ%8PMTA3C(UZ!({rztE&CjZU4r=IIahb|K%XilW#k1G9quZ64!#OjFPXy$Ir#XcX zSf?^cg{$uN^$c6HDY{r5Yb+@}T>a^3{9E@|Uz6yn_`E&uOh11>UWzbP#{$=r4e3w3 zSEXzTM6zC8aI3LTnd4IUi#_|W3uh;%e<=8cIl^b}aO3x_J|NeGlq^^2( z%XE!aMzcam^2DK*{P?9clg-Yl5%?)S%sFnr}weL-z|dOBB=F990| z$z3Bo{ki+~R7+aULBj;6_xp5Kg;!DGujlpW>hNmGQ5Qlu|KCnlvuT#?aK7a^NwIxn zkzS2!r3>KUHepUnCR+W186jn?2rgTqHihY3>-qg}ev_oBY9aAWu_|g_538XT2P@N) zNCL+x&0T?gvSO50-WghL4^5omtP{Pf%gX^sODQ<)=(HsQOI?OG{2{BK{M>Ju_RFh_ zBcBQ}cRmXn_4IW5-e25x4@s&pd?*$aJx1chLegmG?0*pU6BsPNCEbwacFFAE?(P!k z-}p}dgEQUzXL28Q$Pif5&(JMBzhY##^y9Q!t-^ba_ty8_zP_iKi0!Z!4{^xB6w+P@ z4PMbYX!N{|owv?9-hPkAX8OIV%Y6T*DNua1!Oqs!;P%pMhY266W;~a#*!OXAa6NxN z_s89*fX@mHl_0OE0}FmeecyLK!KoLfU!Zb`-i>X84ZYs*-P+@Cl(NPrq2y?l6fE!4 zeNgp8cS#zYNYvAG;J>A886T=TBDx&M4j00+tDEjN^?Mo8!ebvcuUQ%~u8u1Wp^L17 zUz7Piv^L4)=^gv(V>~1~HRZOf&hs^3x7d0=n|(q|^XPQ=vJ3fx=gdH`pQmmKyDtkX z&NfC~)>tE>)P^UbXj=|+V8fqYSTzwQgovHqV}EI9Zzs61q-iPhUEvO);h@1y2bA}9 z;UUaf@#xgO{bzl`@T?z7jL80h-lw{M2K= z1A8QmS7UhJ^HZRzuN`dnvgmE?m9N&}wyuESMS-_?t@+g2<(!}QU2?O(!1Kvj{^Z5M zRP#2*O}(kkLwK`4H8(3t^^YWxJuVad4gZdg)$MHs&f@f!qr1D!kf{-g8zY0>&2&ru zaOZwIh`CcIa~<}zemm!P?)v*>c|rw$FBiN>==;}=@O4E??YiwO38^h!dt1$<-w2o_tt!d{<>xn{&Zmy z$oUOQK==dHAUZDek_jF}sU9X9QAgPmIIby*#Tf8AYlatuI30w#OXF4@E5tb~@}yLS zT}~sPkQK6ro!|(8UKY^K;|fpKgQTD_i?XNZ(qWuNJ#&tWvZ-0FjsiE&(bsRc+lb69 z4ur?ff{)&D{8&Akx_ffc&6P45piM>uW``oYoK0pF>=8qWPGZ2*aj<- zv|&;2ymDfTK4e~76K^Nyw`scVM{TNI`o}!8Pvkv;4M(}I@VkU(LEYq3F-q<85wHlD zA~~!f>xy(fSG{Uq3Ut0DC#CG+C?Kzk@4+;LLZIIj;2;sg)N9~6B%#(cfB)Ro+7#Vu zNjgOOxIrg!yCmfjAxP;_LzCCwq2RoZO4AIwzRA(BM@XcDS|$NQX~AT!@hS!Y+Iw=n zd8`JV-SAnD_B4c@!H}O1)ppv$)iK!XEp0e@Zn@ZQwVaGQWN*^$EM8qTBhlBSiqP~q zVZs)lsL9es3qT)5-2xymY-Uovcc)8Xj0#f`IhyxLY%au*gPG92+rEP=)Mei0tTN5$j~kq;_h~MuRnM|K`pxX^evipB|e?=mZNsIrl*f!4p zBRM-O8^?bpf3MX!wKI`KA+UeTE$4dIEIuq@ET1Dsk%AC`fhiPAQyj3!#3x)&o{n)h zA9F(uLA4ZhE5?Wna{DO42f;Yft>{~MQPs$Q;rNY4;59d^s;=(j?TLk7A*vk_ZZjp9 zN$q<&wB+bI^r-h}vPg;^{dqMvx;QtjtUb-jg3-f34Hvzi1|6K1K4#SmhR@5eNYo$B zQNlN>Nm3?PEaM`p8M(U)LwZXazkpv+SNBo0i)?x-b^_^?8_9|X7`is9K<;NL_D|5S ztW~*~m351%Cyi3z!dt&-#9>Zd^TLMWTiT8zg95}+BW~mi4y98c1Vic)Q|Bvv z;c@jeCKEVV@D!_EEJ%$YBf%=`R1u`qo1jV>xTs+)T5fp*qKlN;+)}_P$s|J#;+MBwN#pWn+72Q}hMgI>HZ=l6tG4X>Rxr zbYJgf=Xn&T$PTa*+l^`O1}|GqNt_Wseo)J|fivAyl}ir6BV8;c-NN+Ky3Z>U0q0Ur zSQ;yFaEyT&o@UmThAqnY?rck9vZ>Z9o4JFn1jjily|Vf_C&gHd8V8h%-u4J3ks>1B zXv;B!IUeDJR+LisF-RD@DAi77o=YMG>?aqtbSFuInv*TV8Rf4EV1y`+QBXXHjCwpm znIXk$_1nKqX(L4uA2c>(17GVmd?cikm_j)cllY>@_K}J4X>4^ysi+OjDJQ9l*lmi* z9zx3D;P@NTV8|h{r6}RJ;~-3#=)SSKW;|2FJ405WO2aWF$fG;q!B!oy4$1Ativb@m zN3u+0hPaPWUyrynN&Z<>b7~S38XmORkenk?F4Z9ys;aC6S!M!4+(#1Pa;^mV6rev1 zEAclBVnTR{Bv|2nt^#a_xL)EUT5v6L9cozTK}R97AL!7Fk;-wT!lSxkNwA$eTtuk0 zQJYbfwF zcuSaVifXnH20GM-&#PfINql09!o=f=1@K{zo@1*CGu$Ki>=z@{|IHesAag`RO%bp! z#S&H@+=2c-?y7$u0IBqD8TJ?GQas6^sEG(Nw5ETSeE zBBvV-a3h8(*TI;i+LV$_LjpHY3$?_eFf}l@5d+CYh^|8nm3X$1{}VdW4!U=LVi5g! zU#*4DW+Qf-$j2zjV%;ADNilg-P;^N`CGHEVTrOwUmcujoJF#KC?8reiS(tcmFhQl# ztEWN32xpR}Iv^;SWRlcalv$Mc0cI7AR%zvoL>@M*#A+*L2fPIE*`?Wpa42j-Gf{i> z!Qx>a{suD`h&i9#qN^?M18oeO$EIp1B$IX%>6I>)F;g0J(X)?Hojb~Fx3ahmQs9YO z;woysa^5OyYkHhRdE zXZmoyzH!HN%hejZROsRw)P4Bm(!;d1tjf9s%0ve04T=I13B|)rrlLU1|Sxk2nY4W(phws%Rqqa#;qxZFI z0GAiPjI#XH=V$U!*}cv))53Zu5}Mw&&E+-1dEXX7CH=U&t4olYeLAUzYfKZ*qH2*N z57xdZw>MXAeu^N2#_3l+e-D-#LLOXfgP8C8hr6$_-wEX75ibcZ1gV^@(VI@JHHyDe zvh(T63E~sXj!h-+I=s)w2A8p`?RU?f)~5^d;!_Z&F6}Ss(3MxCvUuKnsblUIy8r#* zbNIclke_nY@T=~phQ(^%=QmlkX-tewRqdydUd*>w=Np$B)I5Xj=ks4v3(*Ul#lSol zuh3gPxW1fTP>c3LM%#k;zU*F5rVqSNhzr(L-*}$fZd_wzt`K{? zj!hW#Qu>?|JN6#8pf%X?f)5N7-xena)?YGK+?;z*SWmaxi~CKF&d5{xu=!27p99*H zykvhg2B!--7Fv4~I^PSW@^oO|l zIE#Mv%--8R(_L)`6&+HHvt_D;t2+{K5zGN`H^6JVzyH~qwDb_+U6I0nwp3tMJFb#TS*$X&P^TBHwbJ(nPm%@f61LX014qGc^}EjPT0MU*@rlf27h*mG#+jB#IphBo8LqVf@^nulLGom{>m z5mlbBRZDme5O-E<88=^a#XiW6RoAR(Y1x%TX*HKtx~?#_?l-TUow0=b8QKUtXxHCS znTMUHl~QaoJR7zW;hDQRYZH!x?iU)b_BD$-XKU}AY|1#dHvO3s52$%I zKEC;3aMk_@SABPn%KE~tTK%%l96F$?x@)tQHhRnMXQUm)wzaW0?7}BXUz{p@mk)Ak zuYuMQ_t2?f+|O@1fU;B)WlV2fd6d+F!`ku_f5F#2hNdH>+9w2!>%FS;xWG~N?x~fA z%MdjLrPsUz!*ZJ1h{4*k20l-=H$l4eb2;=0+{9L0#NjZP@w2bSlqQ19X2urFbk^P! zFDEp|7eW$uI&tdChdFgr*|W;v3)=kp^53=gB{~=_B2Rw*vB_iKrt+Q^J;hUS-mB7H z^=1;^j;*dqS#3>y=dn*@1sQ@-c@?GfON0s2z%Stav~ef5Nqvs9I<)06ggdb`?XGd$ zoTaNgs&hEML3B1##sjqF&N*tmEuZ5{G9TJ^9=Nc?e>8^s9s%h0X8>SbnTQ;MTL8i6+>$3!87hJd}TfT{3y38*|Y`$;P9d}-{ zz^`@HciDwI(_l9XnSG&kUis>eP#yW>~3Al zn7ecy6t}yR*o*V+GROADvvYidKb)REo%Uz?!~xMFaF+M}VCzt8@m|&_mhaCZaVWxR zFRwoWTu;@r2J2oadIqKWGtl8dzg4irueOKhS?n1<7_8Oad%na=tHgjqoHDKQbT3%p zy02`Gj;4yl=;9co+YQSU(qO2SSe&zvX+~3xMHq=uOAwrnp`!g*Nm4x#j!G2cbbWv{ z{_o?(paj#A+({=`*WR=*4M8#?z0NTC)6=Giu2cOnwbAI11C3XkT$IDL4k~v@A5E?{ zTv=s+Z4c_fHwUmgU6b9h{IdCErWcw#@|pFzL8Cf4&U$fBzT+ z$(#0H{(p}9e+F^?->VjxSy-6=L$+9|VQY=YiLB2{2=`2@>Rb5}qkk{uWN~NI8O`YSCbE32v*Dtc#_EF0)@z^SdmOL@?KM)sxe0$H0ktH{?H7`vX zlf{kZMUhpOCv903S;-gypCALDuTVFd=H7!4)iX`ngK+#BVz(M0f{Y)iPDC`w9G@i+ zX{yZ1p5?TNfWJaT66;9E9=kwFr&>>eAtY^jzF-mc4MfaDIx|e;R($dWM}*YcTrW9G z2eTyswLFm_2}N!z7PS1eF#VbaQG?PJy3vMRt(76hcR8v(8H7ttqhf1cn%oww*_Jig zQFB(T-jlm*p$lSnc3E^w0D%_MnNs}sP(5fa&OG1%@f(Mls3qC0+GnSsk!m2e1S8s8k4$|U1* zE#sVQ9-?H9q0n^VWX_D28Cwb+Nr4t%HBmMcw%uS8%sSNPK2(azY!>Ua`nEgmkmQ^Z z?;ZTR4_XyDsxx?IjGqvX)QVE4BY9#Pno^mrq}#z~vciqG=S4G?x*M8+N^`w3_PUxV z*6@?^XU@#jaMpZqWv*qqjo$?>!zMC!1tU3Y13S?>nS+DgAMAQnbEA@ARzzkNyXD6t z$QVpRcvP^5SBzb84%-!mZZ9YKJ|Aa9ifpuIQ>RV!)cC9C#B^_|Qja=z#aLPA#mi(L z`?*5}n^GF_E)YJSS$Gh$K(o`nxM2kw(;mJ1LN=vTj}6^Y4(}eU&e39tl(ZEwwmyxm zbb=&#PcyZNyobMlyq}Jf)<+9iW! zOx~|K%uh|?VVJ7V!Wke=GRe(2e~pULYR|@k{2?ZPHP+Mi9LY#ee3E6ayl`bl0+;+U zQHC;Qxx*f#qK}V*RF%)D%(BXY=w#Z)5_}iD!|qcb9KFNl0ljEYU|>0Ac@^HK3!Of% zA5hZwbN&sdCs65f&=2YfN0T8~gXyjGqIdpV^UnRw1}nd#?1}h8Gh@hKJ@qM?O$gvP(F;pevp539**g1Uz)l$ zd1{m&uCj_%wR4cyhN4Lb){ur@q>#?^bO{G zn3Yt!e~(>}Sw`)|1_~DZ4$ALln94rp+JFNkk92wl^`BdtufM#3?bGf2_^-YTx&DJl z{HxpitK0mm+x)BBluySHwO0FrPH`H3|B?&$Vdt-I^RI66uWs|NZu9>d-6q$6BZ{U2|PH+5y~@y1aw6V~6NCgfO3T>Hx@g%O$0AYc=M zZGkMZVGY_0m98BnEhSXE{zTy$&fn_gG&Ix%siIDjK8{G?W#7uVYp7`m_8pI(Wv^gS z(ta+hc;R7Knm9hGPG0$5%}L8HUcS3P9BI|1`8ZlHXCpr8(CF3rbb8`cTJBEE`pRwk z{PD}jVcMjuR6n<&5fBbq24b}T&yE{Cl zbNfouB=UQjQN6l(ew{#8N1H8;ks6xnbq!}FRn5Jp^bo6cp{F$XSHR|5CUu=nUD3he z=LI#F6S!>t)pm*Smydq8Cur%8$+u51XT74FvA#^xvp~bcf7-y z;mdPQd+3gNK5ZQ^xD0cK3hWnvGlM3-;#}R$(ciJpfP7;B_cv$FS%Q7Z9q#CNMt{hz zaA7OQ0RGtVUD6dsf3?#gJ7|MhwMAK2=jx|M8Kj0CrbZd9{2I5UE#jp8NmJe$cE*x_ z+F4sBLjE(@k|k*&k8N0|{AbuTOIkx-TXL83TB7QZs}>BVJU7(ICA*C4mgIyyH*nCB zzKHh^r0cvp)V(GB0iPc-6$;^BFP4Nw{CHqi6`)~Xk3BQqZ|I1H_&;GQ&Y{9BJ7#=z zO-U$-1IJue5((ysyWSxI(k~1JM@K+o4Qea2tg0lfVdCX%2O|-kh#z2!M&_uf=BNLuG9hJA?Fyqo@>vuC z7vcRJ6dwtW4uQr(L1GBTLaVAhCtWi9|>Cn)7J(-*QQ<-xB}DX0#-Dj2=w>MfUX6cx&1T+)9ncJ0+Y-FU5i7YZPBj^Vu6bsGl1gn9TFg^#z^oK zko}`cRA_>_02Tiujj;NHZ~^L7!4fKgi&qA8ZW>SoCvcG%3Z4aKUh7*i}!!$_NN#$@zZ0Fd=mj0V-GsKm{8Dt%rRi z%n3L(1B?s!xXCviYzIse4OEqef*F7$Bhe%Tx@3GE5graGCaHQ6i5n40MYPOTFY+;{ zdQnQ?1UK44!TLbPk?*KLaUfV97%Uq|@c}rw1>-UQ85YTlcRF}W8qmRlA$b9Zdisl#1&={mCBzk8A>Mv0{$qXnqTWldnapC8P!n&%P@o8sW$5>;9wf`VEOw4;RpR2n)0g9yDH36FXmqnS&D#om6e<*}Uon6A<6j2Tk!ndMW zKAI5D>*UD#v-PTXPQ6kn#TCApD){zSkZN}6Xm76faJ(@}u)!hS$_{9LF@fO=KEua6 zQv0jtMbsxC+X9Lm(effF?3gHc_t#uxuM65M;;>M&^FMjX9euo~v#i!zI@+E6Z#>CV zKDHzX$GS#)`t2+eq^}jXi2WJm2rd|pk#6~%VE{GBn`N25Wf=hNhwy=ey?K*lF)3V8 z3;ec{pTnhxSTx4uc2N`K}aBU6AUFSJQS!)#l2A!;hN7hVmPtCpLPPr zoF<37ZwjOE{KZ=NyHr18-V~1mpR}i%3S3L34qXmjJErU>x0q$a|A)Q142Yvk7X*yE z2Mex2g1c*QcY+0X8g~*r5Zr>hdvJFR?(XjHzMYvnJITG@H+N?D{+ZqMkD~gmbGlBQ zDvILtQ*U7cEVyC7CFKQ6uPP>?Cf+cX?LbZR6fbqC z!hVG!O>QFnf*Yb+ic3YtiHmE>kTTs2RZA$I{f0<6F3{VRnC;*ry4 zZvY8zc9?sRKjm~-bOv>}iff1DC>kFx`W~?rM4dNI_HBm#AY5Be>S`K#FTJd4+KZsv zo3`ujzSn@2trR*GU3Zy0voTqUfT@jxBw+q~eb3qC6P@G}fR5J5ON+bRIryWfw7HTS z@8L@YBzSAqX^WeSQNl!1qv4b1?2_e&qf(0TJAw8~qEbYgIwy?(}K zl4;ubVnI1y_)#@!oi5DT6=|9?_ortLhMpbLlf7{{YN&2#-+5*e(Hv{~*0)2!b;y|P zB>H&X+wsb`E`FxV&iLX#{Mp0rcsd3r*eFqHJV{l_va!Ann-ZEGT3Yk?{>Z6uAw`ED z-%KD0%4<<=m(C1?Wh<;PskV0@ayOr|R+rYTvEGGSf06@w!cEDJpNV930(GUj*Em}_ zvpOeyu(8Mld@J@&_TYrh$?S1Ca8$bHhBH7;jPHdwlQK&??A zZmsBOH>xqujW+1tSZ&%Drf$94*grc7-?7f{^l^kV;u~)*fpThC8QzFa(>Z~{Xm>Y& zAymBFI(BnkY;BP!p4oq3c_WK&{JDBWI`-J_lde2&ux6P^=kxiSI&YscxrdfLGtWel z7XF2ku!*TT2z!8&aT&MU?K<1{hOA1bqiwDNgv5%|x!A}AA8SBWPQeq0cD6v8Tx$}; z?&!;k&Pf`yb))|kdMlG zm!p7cxIO&ChRL;K@nKeU$~43XinpG3*M~H3CGW>Zo%bL1m}6PL19K_MZcd#XO+nrw zvMIi+>0R1>!>J|Bw-r;#LYT^zQk9N*ItSPDxZXXratu3s_PF)g=ORYSRm0+KSxiG| zch77Zujiu$!_A|F<}ANF_NTg#p8jvUX`VdyH(8#1_cQsftT#({_eW<4g-OqrHH~PK z<4$rG6QOE~^kIz*tbMGP^i`n!j2@;>d)W|)S?evylC6Bl*6Dc}0>iBw+&cIg28LuW zFD-7oDZ^}7GmUGYg=hK}L`w)-=9*OeQkb=2}Pv0^Ro7iMn!jZ~;DS$p2j zu#YVe=qU)zOx)F<7o2k@x3{K_#OqCUZ@$GY=%gSuXB=D>GP7?j9|fqs!Wm8zRyw|) znre)+GfVi^aF0k!Xz;1>78ciBtkI1em<%R zo_xH+OXov;vPgTn5~1U+IJ8CrA?acSzV(i8nz2s1oyvo%d~=FmPe0jqNe8O_@MK@^!wl4~OXIlVbq*0+-u>7{hm`FzbB3ea6uWRgXtbAy28Ka`Xs%+o1R;5$pt9*!JVB33fBwbV)FB;_mD0E8 zT)UsF%8>4_^Qv^8&)A>LH%LkG_|CpNOJWa~75Rfh^5uLNgQZ!k2k$Qk&)MSgMlWV@ zrbD=(-w{z&jc5m=OJnq1NlXJ|em0)S`F9>}#?de}MM&G=sJ=Iy-`)L`>6OKZ9M~)P zmdnIBI&2ODvuGTq}1%rj!+>%kGC6DbP3Gs|2bZXGkD3xgVG0gHmM2Ml@@mh^V5WE+!(@2U8iAcuP@?V3^GzCSjvma>q1`UbU}5rwHa#Sx8`pt zlY9sk^hFD3FC=g_HX|w?qZ3b+;KwQyAQG0T9mui5O?;G@C&fTQ5yN(HNPR$&I&4j6 zBf?4TwRUwY`teA)2&Vem7$NmiV%4Y1YJ4O^GzRl~U~KJ7y>ByhUg2iJNQR(rji4c0 z{pDl43?|#@NLXr0!d*rsO%hf3jv_PJw< zGN2S(qs+kn1+Z9~kk-V|PCx7Dv^UC|OESjiJQOYanR6Q8$#0Sz@oS*Ym=74--RU?- zO(w2#k>Kr?CcI{6?k7GHc-Y&jRxprang0#~_d({1LrJS+VvM`R!x@4=MI@*p;qyoA z{74aRQQX%8Yeh%~%7$}t#j$#JYg7C@?=g*9!^4l9UYbd!IaK$gZ;?zAmzsy37@vdc zT0rAJ0v~v21TeIBurt!L`Y~s%Zw|-E#KG}*)c0S$@)5JsbEQ{u)OT>TF`}2S(larl z7dJ99F?AqfWMrZLgPvCYQBYk@-`vQ+fnLqb(7}|5k&TIoUfKv?0-R@JWMHHhGIOw( zH?kA9wz9DX7y%rJIDQ)ZIa-==o`=EoIs-ui8*{Hk%$;vXWH_eHt?LSN|Mul*$asAF z#Z!H4FtyShC5$fLvy_X1wX)j|Ty1-dqXy zEZHB23+f|-@u3Vd1`#+>NPWp9ssg)E8^|ORp$amM{S8@uLzdr=bW;`5UtQhAh7!%fAm~`RP`L|8iCHKMq-bTtfYZEWaVkZ^-f+vi$h>gAe7^ zd(?I|H?IqyN$4`4rnEfm9@X}M;NS#9emWiD{pv=Kj|hleGB6K(e`p02L%KYr0@ zJ4a)Lt+_}0vFMc7+SHdZvivbnkNBHSTsf`KpFSEjwy1)oX zl?*62@JG58++RM-N~!Hf^#7|Y;{O*J(--(4i%;DDqeBnn+wS#$Llz{jr5}gT>Ptbi z?gUGB^y^;Rk|aD&r-PsqZ_@P9N)!pZp04w5i4{B4YcnUmqa86uhEmlD!L?>##> zQjN-{#N@0C6c(CP)XNZjrpgpVvt{|>1{p@Xj{eS%MHCgOHiJAunw&Z=giX*?BEKzG z2t~5EXc;W7hm>dJ`k}>p2Yg3*2Nl8(MF@u24~2J3*V*my@VuTv^uZl;7jNwyb;=Oq zTl<<;Rs*y?kmk3k-zL9?^%py3Y4E^=D8O>f=+w8L-U0Z(*^Nqr2Zp)aC0#vuRu={U zXeD%Ec3L?=lvSv@i^;rs74-Og0M*f)<8L^W9Qi<0>NQA1+oM%EU?=t8$)Vm>B!5mX zM8*{jYD?RI^a25cA^Oh~uaq|Tv2F6Y5A5;~7kO#PASFqoC?X6k7abDvaai}1U`pAe zn_#B=fCWkr!NmEG>$Vez9^a+7q6DyY_}q*=wXB;>GBFWlh~m|vovmeZ<5Y4~B}J^z zP>D=KCX)It4!{}#^x+19TD`HyZ1`_pUAf9ViWlF_rbAOdo!ABW?gUvaXqbNn}l(Bc5VmjOj|tw~6MJR9z7 z67J1YTA5OKnY^2(<0E{UHL4NTY5QlI)1x2Hk@(xoW}(JvbS$+}uljWy~lHNVfEn(g>qxTvr z3^gdcWV@1xdKc?Cfg=ieh5;KNrXWe)_!c=?L!X@vcIX2qvqIQIbKu#~?$H9W^;I*zd(>s@Msge9#;fEx zNmIF!W|^SGwp5IyK_Bb){*KxQ+t@SPSgk4F$YGWf_MLZ1ykmcM@WP5;o`JB1(hll1r=kVAWe|dg_mQ}b`tz&9+>(IA4!W<%kv#0YKQ_x1I5KM6} z3V3ugmHdObvE#1Bx2{grVbRF2L^F!IlY$^~v_a2-&t0jV_TQzB!&G@B`LU~4n?30I zIy;5Wc|4LH?#_KXa}b4>fVQZ*A>8?{)3GFo$7v1N&*%2%bdiskQb%=*1=io3U| zP(!BhGPa$A$UXTWFw}aGPu93i7_OVkDo)#mcdBv4c#B5@pcgJ);U1l?MXw!kt-rXg zl-rZe+HPI0s+ML?h-|v;Z43?PsMgMZeuo}Y$uym;G9);@anYWBC2x`B1}EBEz?7&L z%?hhj$6TW6NP%d&F$&@PXMWFB#%qsP|CL z0`i_@!67#!YPjhBiu`0Esg8e(a?E*uX2!z1W!W(g0qo;PbQfsyQTEy67@c%$Y{+|A zu#aLBDdVu0z;xm*2I#xEj?R*AN3rrt`Hv_wf&qXevQ0MFSu30#N z%4_&fDzD)0Dz7x@7nSGytI7lXqVmd%9DOkdDj=KWb5q`9lp_l z&=fzbJmr^PR9@q+Do^7ll?Pn(lgiU#|3&4U{HpSneo=V_FMK;dhQ|zaX(2$BXTbi8 z$~)X?m+111_JgKCMV9?VPlgcYk`isgVTl>*OC4OYtpH!aW-&I~i(l06xxQ3rq9^e<1H#78$ z$^-W5Pb$xY{TG$D3siZ)Muh?y9^Xj5Bg27j#ePn+=z^Xxah9%kny_xzVg`&=0|*A8}n`*9gpaJuk?HR3aWd>3Qy* zQ@8h|;oQNDq@#$K7=@b`Wv1fgl;t2&`Wl0jZNAcN*!!qQZTjFbpP@2@UVCRlQCx9& zG-tbQQbuP+iNh(`TCh#v^JBraSuUF5Z5rz;CvJ(-IIPR}qN&>Z6)qboWQQgu_w<;j zrOR+(o+_ye;-zM_)*DcCCBe}Uuo=5?qWrw%;EWjbu53sDIBU>Du1JCteN3Zn|oaJndJ&1^>3X7vbG{dSA- z#USMJFqPX3RDx><r6-Yd0g&!(=`qR9K1D2uS3p=Ah(zQ6fHny?j|nn<*S|A~hP)Mn#5O1W;yY z4yd^fgo0S(W1F5K1+y>RXz=R|QxSp%+U*5!G+(L3WN;*JHmKEl#KU&PM$3zR2v`?A z*2S5DxJFtnB6ZNbf7NZS4IzY_Tys#-&Jg?nEl6|H?OhJojT^2m_M?1^d&$-%#IwzG zsW(&{TV*zsaRjTWEhh8Z4;#4=?1?APS!)(nre1o3#d_ep+FwVaaN-50GrHdo7JG&! z2`!s;5{7)ne8C0qnMHVgU|<--Hj6;_!zXN}CdPqbHr~vwgHxf|Aj|8T%BNd%qj$ZC z7^ggL@`sR*qV)|&2_MIsYGd+YjTAk*6^%5>M{(aYTR+nlj>#(ej>$~ISh?eovQ(be zJ9moMg=+A2pf+Bi91tuaKShIK2{&i)$b>U@PixGATkpfuZ?6R&3{8pX71wyR2!?1V zpHSc90&icauQ`}si)xeaSC5JlC_EfiSq+2(v-RC%`Q{mLZ2pHrs2YQ&Yz~lf zGMjZ!m{^K9pp~-rq%0AFM%y@f1(IQf0*RuFWl#7@&<=2*YLGjK)TLyjLD}7}+qFy! z4Pc{_@zk;!{J8OubK~>i{WwBuRgA|?;(2AlEN#z(y{)3~C0BDK5HBnvC?YZXQ$J_n zs5i-fznE)0O63K^ZSn5@TJ}{VS)m3H{C;%t$ClL(oEaXlGx*MRu@0xc>8+`|%~%BK zPO^co;>gn9g)^4xv_+)R$*)AM5L*>B)wLzJEWtF1Ia<`mWT};hOcFY_;{k4Me7of~ zj)`2ffu`1@Jiu>VrVbUj7Dfk1v&fj4@Z3-Co!8EXOC0=)_2l0h8AJMy2Se54Kg>}x z399H6-N|51R9Z*V#dJ4W8=S>ye7>weNiCYwE@{cc75tVG z1LztVNdv%JS=59i$UlWUj)6ae5Akzo@!fub0_A|@^pMtkGE>6?ufquEu5#kw`LNvB zG>@0UKc7mNVo8uvrl?9=4O~l?hMmSW zDm4RnNmtirPWFqDbE{%T`-81rPzQZ5+A>qGm2jO6tKjS=Wo~Z>uQ!=ip$?!Hb+mZ* z`k<3bELhzWk-xF9C-Cuctvp`tRt}YtRtnRrm^@$3ZS*EB6=o4D&GZb($$fONzp`{5 zn`l&6Q8#&7cK}bx6VtYmE<8xSIiGWDu5a>qJft}Y$dv=%& zYnR)CpmE~@2OmkQp__!ei4?Qyt&+|BKo#O5@`jVoM`KL^ZrP#>oFLTpGKCQ8zz95} zqZA~5#fPb(O9nlTj46G5dH@OyMkx`XP0w5xZv*4B-4A74kRX@9kKAB%=>RIr-My1MT>zTMSdQqkPE zG3c6>kkxZ{)G(=ZuY|0IQ%bQqGb6Tyv@d{lpUCIo`>5l)m;qJHo2NnGtY=aN-zrPy zw4bB|T~(bOeez95<8wmuRbypdk3$6KjvLH2PYc)4UXcsv!nCXBWb{Ceb_Dgzp0T@~ z+f+2GtP2b+4GJ_gQV(aGyGyGcEi`isFY{ZTgC1N~)mEpTn=;o%-sdv`zV)@IR=STC z6{I>6^=D1)OfUm1JYT@*f*OuBC#$cex=OE}k2mM;w$}@fWu1o{y`)Y(0M?v0NUa_X zd+3HArQy?_eE1f%N}U(-)D|ePgiKoU@)dHx?QPW0oEj~|x!<_-7YmVs=4!QH4I=O^ z4;COmzyrC}!x#0iIUgP^hH$f5FgI^-Y)pFlRfqVJ%cv zf(GscFJ14O+uL?lw*Y*0+UP51r!N*6n`lf~#?l|>d~dknD{dK)NZ)?vsD-PtYvh|p zG#ULM`?)ovM=I-XZp-*)cNeFyb-=fwX`8_5@pQTKfuF!ls*7H7nzxFYxc*VhM65A- z=#XleQXcdq@*^P+_Vckr<+J51AA$IKSu>tfQq~4Nw|@?zLIw197ng8^^IBgwmsT~f zVsP}S6K6+EPccl>BkY2;4Fuk7ujM&@Yok@Q?VNpR`*v9(&if*0;2v zER^?LP9IZ-+SP)ckz4Aoo>^KwcPe$XPaA4KHETaxo$YkjcGDH(n_f|OH%qGC^Sxh> z-G**$__{&f^@!!y+QTubs>}RHIf|H+@yS!?(cL8JBV>kJ@QzHR zL<`?m6l-p~GIs`aNH?GsEw~Sz)A!%XvpT~GjRh`6Tnws;}0{_i`zQ9&-9HL?R?Zn1w zjV3=4w5J#?imyGo&6Y$ur&%a8&C%-!^^#-vOhDXMEK zl2y?D-`UWO7f`&+K^y%MDCY6RGdZ-Rm4u4*(H;QuLqH_+igDOV! zYTkMukki;M#t=t1IJ{Sd(#nEj`p&8^?pFD(Q2uz$+mFSjMu?NpZ3BY$Z~+aZBv+*p zL3|+gsl#UOe1M+5H0;xb+R^$dqAy-8&3K>Z=T~&1X2l#SNEZUHkjQ=Qv2O?*pmd8+ z=_Qz@(~3jis|$ves@KFvrrcuc^`PQ_^1MR}USWeF#p?UfGX&5Il;IAamFY2ib=Td$ zYLkAfK@oi9)mhCruKFOt6!D?kk`Tf8;?@Cya}7XA`Y1%t!ZFZi$|f87TBU~=VH1Hj zI(xlOgQkX2A{2*n#G7XrR>4Xg&DSyxicNJ@4@o;vmetIVDf<;MwxnLaUa3mxt~A|D zpd3k_AuU%=FtK*UDd#(iNc3S0_-urf&h0u_&&u`+>`ffj2!R5H&l1*A-!b|_zpI(z za%is6<8Q~d=uU-QG&R!W4&7GMXAPLLMdCT)Anz4v6mZ)FA|X(POc5}z3aXQwF^|Q^ zWMjkxbr5K7gq%{Kb4ied5USSRX-?l3a9G%9K%n&wjeb>jt!4O`C#uC5`| zvED`Ob;76Z-N(JT+}G=Ar>!rLKJw5@e>i5v{`VpGKaht1Aqp88Sbye&Icl2L3&3B2 zarTxY!rc>8^)=v8kVtbzx$1-se8S*i+$-NCiE*HWyU7Wr6*VEX!EI4`zk{#9D z)$pP&foZF-#$&Iy$As0N@tAR*LOdT*L_f+q;u^(J*2}KYR#gX1K_bP@ue{A=NZ2LQ zzz;TQA$QuhX815yHV0TfmVR47fIEwV4EUyFFXQ*N#B3fezw@Fto2_`}y*b4SjNbSJ z42_H?sFkZjLBc4DF^>j5aflG=T*JPiB6X&gHSfG)P~P+cIijjWL=V}vz+ClYym7C<)Z`Mg1>T|l3HzhpnG)+K(YQ8Vv2SDD(<`Q+ zO*6aT8tLJhtsv%OrHq$OEmw92GfTtv6TH?{J~?EOVHg=4i6~Sa2NvAVpxnzDa=H&G zN1omXHq?#uf_8v{T7i!OCo{LZ50j6o73}F}ytkf6O=>eX0kIY=bkbyqTlbjXZe((N zy1rWYTCxnZhEYB`I=8|jgi4|(^YF8zx=)`4zYY7GCnLz6p|5n-l;De`5|#?m1xS31-y6DO_M?E+RfN3q;DNB* z3lt*X&P12*l|So~069`JvC)2}posbG0@op*=40B&@Bq~;pHlh0TzC(`PO=eKX zcI_P@fz>2vE-rk8^9XbXM72N*Q|Fz-Iy@+RU6CrMh>V>$m6R%P{KeLrk1(>r!Oq%; zGGcN6tSy(flJT^jkn{Xc*nS)dW7HQ!w%fDR1ED%%us$ODBuxX^Aec6A(=}pno5& zt&o^$Nrjn1Nf$msh~Q5;rcQ$i4RVRL)khdA+L7V4a^N&?RCKx1kV!+`pQvBWxwtGq ziE|>AJDy-k7dHS7;`ZfybHsSux9|BK4cet^vQv>Ez;R0r3nRKBZ#J30lVduqAM>+V z&zt_QeSOp*>9x|bs{J`PP$aVLIt{i8=KQzV ztKG8Zw7@|wql_!(@=Ho-hGpbr(c$;J)xYm3USphLO=I}Blf{=f)$)(W(S@iQWBwM< zzXkMf0sUJ*gB;0YfOt9O!+{8JD?@^$FO2_rN}1pL$}lioF8>eXD)bVx9kdxXv}BF*32RA=o(4~*uS38LABklJ2ehnSiX<~ ziwRtifDZi@(7y%rZvp+|x8}Ei{=Wdl|8`Y>3+Q|=qq_n6xB&))Gx_hcs0s90|Bnf1 zW`=*HTmO8NDIC_b#NS1&qi+9rcLJnw@R*-JNdrogSTD z5cPD6-^W2gZR0Xiz=p1=6DuN|nfIB8sjxTDYXAOoqW5#O4q2tqe%#4+o zsSgzCLz!~6`sy?2CaomtQOH_HVS<85E*x_LA@S_$pq~(f&+mT{;k~)dd6a87(b=<)|l?87+`g6P6xSgroJYYFGR@h^l zDPB$k=}KZ|=;OHUcR4Po2Z`Pceop6$G~kn(DNUfj`xAt{?e?|>>TSg3=@2ku-~*tx z#z%ZpyM0qT|1vF~HlV$RFsY_cAK)EpU4Df}pd8iiD{1E<-vhgFCm$~WdTOzCgcJA)LkI-Q%s<`^`I@htrfUF~Vj>|I=A=RM21D}({AFse5?y^p z#lfBCQ+-8sf5QhE09|c(njVWsFd215`PVn9z&C|S(ADdw>8c0>lfXu407dUKFq+uz zs{ve55`bXxbEoe-gNr;a60$i^^v(mfO%n>)d|*xRsKHg98yM|f6+GhL$p?zw{e(_m zH{;XvRA9?@fK}lGpszYs1)FVLP{R5f360LucTUqy&eBhI1V^|bHj}~NrWw<9dHT6v z&=Ck&fZZhugvXJ1z}a?RQCpYMd;kGU5HQN3DfU~QDZ#j8PRe(^udrhzio5vI*0J`LOTd)WiW%Y$F0j`1-xJE=^R1Y|dM^Kdu zgyLJL>D34XRk5AE)4Ci1 zlEGD@E{of!KD@5_(hEj>F6+(Un2CODprhLxmN$dgDMPQ>Bs#LgjHGZB%U+>s zdI@yvger!JkV4$W_;tKaM}jzpR%Y9R9SmMaW1#eD_!1w7V&wCsDOwjkOPB)gy39M& zp+-!|NyE4-01lY`mo*8IDa!~q@J&KrJ8?r`yOH5YS6y1D*^n#9kW>8DDP=*xE zujz@HoS8hM76pr%TzHw2(24;{Z%n#aF<}QNS&Q5K6epNM=A)I()%REH!E>QzdIHyW zqDRZCV0g_vZehV?GH4MUe6`_?;u&e*WISYa!@^=XS`mH8D8^yM*xaSuLeSvczn=HE zJxv-rZmx;e3(J>L_|{E*8j}!QhDq^Gl7*qKuR*P>WWyKg@hJaR=WT}(89x?=rsdhZ z2j=v;pLi(L8_xGna5at|qd~3s7_5)%e2-m`Xq1wHRD+Pth(4u+Pnf7k{ywk?W$DZ+ zbZe9pJ5%|kYtNLv6J=4v6(=};W)Z&SHJ@2z?Tv#kC}Sge>^1`~daw!2#oIY!Lb95K zh(vFbrv$*rvbsiY=J2^5ii5T^5e!5znORW;*#O`Yl3QPKY8~;aKM_QjK0~49TWT5L zY;)FjbHb1zi_=rP9}(yZ&5g7A;Ra8>Ief$*8$E)=mABUjty2 zC|p$Ds7cLA{qBpyJ0<}3wZuX?gJh?M13GFGb~InFja)Z36L@#HzFf&K8@`+SZQFRXAafJC|L1NA22XmJ%Cpa=-IXV||GLW0}$$K3G}x;D2J z>YJvOjS5NvR=)sNPc;QrpZ|OHcfjgjpx($^Y8z;AY;74nd_3?HyLMO&>p`n^U=VR< zfjN(rNupp;nb-Ys2Em8jpBwgG@YKjV!joxcJN7r-(d+D=jR{)djL8i}7josM*y*8t zjTWa+Ol`e`A`3GeUSYY@rme1i8NFC0nru{xp|Ctmj4-c9ZMB2aRg)ng+1t-`y;2pj zK;IZehK$lrU}nFT`Drq%`>!XmsSSqPl8~D|y;E?kfWZL=fKLfBs=IY;q0J6h8pcPKh9TKgGVh_I8jR*3}`=>s4v$2*rx z2;`hPqZ>PotGO4BRpXK>2Zq)Tx3)fAU2dkG<`#^~Yur_(6+p$?5}+bOf4VpXrXGC6 zdYBq$j3nbzL^!^UFI?QAZ+R%rik}%hkSf2J(wkC{?wI~k+`puA8N+0!SV-+yH-Cu^ zUyNF;9kkRuUtEi|Fytzx2l*|j0NxWB>3|A5vmhT{l+YP{k|ZWy`*sS8H)j$dNkPSt zJzyc#jt$9Iv9$Li%3-1qy=vpoOi>!!Ls&;oUEhrVhnAMQ*~2^}v7S==ASqnX>HtW*zI}V>+D=6e(*wG%Xcx3BDvyIaqU$dLu*g zQ%_e`@}-5+63F!morZG1*7s@NdcV&}mw0*u&#aZ|-HGBuJSxuL5h})U9~lu~4MI{z zfCFP0BN)F2Wn?&f5syWV);2#a435fSt-EvcNt|JjWik*gCA_gi9oHMEp7SxiA3!xD z&S|zqzQAImp99_@K9`H#llbZFtXbQH;mBPxkcZ@zsy{Yjbw*o1e>x|>l@xILV9JYD zzXnlVc+lr^4tV6mJgtU~qTDL$yotHwyNoQ{T$(yMIB@Qmj*Oy~<}m&+GnZBH8Pa~K zW2#8)VL|QTXuquf(*kiD40uM3qRYcK=gz}&pSI#$>bmAVD#)e$nnUyEmZh|BfNAZL zZX_(#sdjEgN=sxlN5+p;@vovU9Lral2mNR}9QuW=6aD?=l4421^HEhZT4KetXDN3( zPF}&L+^EP&wiZx_+wL-z&0V)toWn-=i|};8CN> zDP>z2C=!+%BOhK&!01@@YFC#`n8=&(eLm-#w(F<3HytwTDBk{Vi6A??HXUPgl0u%! zwgMPQ3&mEGO?zg%5&LFRw|c&MaRy8FtWK`8?BM9xb?l-=;?O&C9rw*SDM@$x3$J)8Hl4IeE8#Aq)Zw1jQX?&a??=25Y7zeMEmn4dC zNR*Pbzg@>Aq0#V>$Zc_5aK)@w!2P&*6pq@psH0*B46AtDP^z+)xnj5v;CE34usWc0A9 z*$ykA%2JhTX4G9LyRKu2@A~v|y9K3aTE&i zP$63g){aVB6v4qrmNrLqGmYS$au>#m>}Xq>R72NU87UN35w&u`AUb~ z(lRPmp&0JoB=i+rWv~lPEJG9RM~Rbns-klG5?@IIl~vRG)i07AuQw8xZ4_gryx|uViqbh?-rhnv^Sw|J zqFa=y;7b8Z2(03OJb|}i78Dz1Mr3h^K38hucsrR8PdS3OU@jSJiD0z%?-;e;E$U3Hy?C{#zX!<`Y|*7l{3ua0$aFbZUt>WxDgC@W{e6iNjqaK6h)H$FxkfY&bv*BRki09@Q7_C_1 zYCGOIKiX%VQNA4ygQftnwzfpGR8PB@MB@h{VrCc`WLXdZvfB_kQy&MX4r2&OPCx$C zPK>14ewtI4CLN?;g2Ol&Gl>MbnBv$w66hYe0orv&dKEc*eOPoQi@E7nStaDf3I4o8 zUoyq3STaiR%)pK6iEYFbK@H4$eP4Oi&J^ue7~i}VOI0=J{7Sx5-^;@RTGuS7VlsZL z7RFOjwS&f2s5S7{k`-?npZX*7zFy;vSbB%J*npj0yQyd=vKkafoVaweY%D&WNuqU0 z4*;~P@hxGxWgsg<-ULY(-L6N>81k+h9Yj4!4@S`k-DT39=f-On?+mC^KOoe;(wA`J zZhYLcyPpbKS1S<^`f6ITcr;LvztfnRpouGbr{B0NQ+x&MZ8KB=aPKk|y%cUXhuiol zrM|Oc)Li0WFfIPzeysIMar;1h;XgOhS zH{OLCA{3`R$_a#3 z0rl4;JIHGr5(|hm_S=USy%Bh6V4o&48+U~-)g17(*Swzt0TK7dSEg001>l6-Yb zI!~4a!V)^R8f1EY9!t3#Qove$BN8yhR&e(Me}&V9jeSMqvvCbevMl965DjduiQyI_ zwUaYLDgoWdOl`RJaT4Uk3O^&rs;73ko2zq6Z3_=;EMefS#(USEnsaOnxqNzVuIdU` z2YXiX*0yXA5N&b%#grqK?E&F}_?4^VVr+sewBwQRk!ff8<2-dG5ReyQN4MWp_%{{) zO@)6`;bI|8l@Q}3_SgjV`QsjS;Ms$ErbzfBXr4$8b><-)MexKGAOsR*G-u5JOnT5H zPWng%wKzXJaK{+1*(QmP0Zu0tzV1#ArsXzvcny0ge(?c)y^(9}=sohe_PYnJw2|^VTN+LL3*P0En_IEK$1AJzL{MO* z+pCYbUHjPTPw^`u8}XiKN_wsG(80XnBS&vnL}E(sw?DPcu8_}bMD?AoB{3U)l*~N+}a%rkFKs*kJ&%D-sO7zSlMWyHT-N`<}qRj z7$z&t%lyc1D*T%Y1CNW}RQUg^Jj=hS@c;W%nCTxe&_5p~`R5%dC-dKuB{Ooc{5Lli zjbxzu3SdL(z40MNWO#+E5hzWDPc#7?1vL)tNOTqxfusmQwaV^neqww*A=kt^;^q;T z0lTZjiIDzUfZ59!WC$b?lm*-rYV=1y3gH%CGh_OOmV7n7SBUpyCdSJuq{!zFO8%Fs z|0$qCSO%R2{X{i@-sE<#6ia7He@P(`MOJ|3>5iut_(x+;Oh4st{pTNP@h^4i-*D|; zcHp01qXE+o|2LgJDP<1Mh$7IAM-~wgzWI>G;0suFH8xBx^sm_$MP33tI@=F#JicE( zu5x!u_3;ZNdq+l00*fjUC@%C4jU);s@*jn)BuweTHGNWguzM{&(WpHO_2#rT`IR@( ztG%gmw|89bbor&>hpqi{{y;z6Qi+E|p=TFcqkhQh8R&8xn zN$WOOGsoIMnb?6Hj^U2Uyx~G8d!hHBEh(9ZYBX?m=l)Pe3FaamxkI8e93IoPIP%G! z(LfE-=m4cC_+XA5tJ1mhA)(MG!^12ks!(IdvZ@-%sN!2$;?nS^cq?P&kBNKx;RW~M z%!*UBm7dR1Dl-yO7BL0$3pRZ;trxqIb9l_5$`J7yKA+D=4`X{%Q!)2+l zm~jb^=~Vdll4QH7oY9XiCW8x!=k9Dj>@B*@SpdW&>5$4zS(e!6^7WH2r&+7(3J0uc zig9x=lxXWKyX>s{z>XDBYD>T#r!R|IzFQhw|+V`7>~Y}iy_KpBr0<_0vIn7$klg}S<<)L1n(g{3_;H$ zMMlMB2l?z^9>0TLk_N1XH^qByqJl(0!-x|I5k-=_8p3*vNBx`OXvL zP3k-+PmtnG60D|Q0}Eo=%R~G5a)IDYg07__{oI_L)KOnKf1W$#(JVP~&+7sdBqmTi zLm`gu5XvIJiA@BsHPiY?6`~y9aaM_d4KZefPC!Ls0>?81hC~Mif$f+B!87!=i71Kp zwM0d#faLg&xkkjz2t7xPX9#T*f!`qrY+8jF$9IBNB6mOE!*0AyFPjMPHbEp9XwE>+ z@1X0t?>MlDkwiJ6Nw3jRT;cQ6XT0F@;hJHTL7)+d@mR>V(~13jKZ79QgxZXnGD3%n za+tET31*=p;b7X2GIR)b0?U!&u>f0RfP#brZZnGQ=i3v+X-d-}XaI_Y6Kpf84y+~2 zVT#u#xB)Cdv7LSf104#@Van4XxY3QrLa>$&3j!@8z+vhW@B2moF9Zgfw5uIPxtlLg zuq9Aol!8(6Sti7XFGv9dnwA)^3fLlYKi^moBn_ee#ok*+*U@ZgnnH`2!IEW37Be%; zVrFJ$X31hkitMR&RXl`C0c1@LrvM| zy=lE4{C1EP=Dr4}rrL<|tW3^d@!Z){0=NuPl7Y^8My!*ldw`yuPSg5DTo;q9cZt zhhI^O*PWb#+q3XRGFJFn7iM|gnV0rutT|}s&8?CO|6AP(^LI38*-|be`C+tdDfr1n zU+A8i#>!@mS+qFHMh;3w-<#MT{Wcf7@+m8GW=FSngciS9n~jCx%g*9v|7ca4oOrKs zH)DNnJ3p+Z^%*AvRpchUejH!@^-!X6ILj#Od;pm$n|`)L+0kNMrn89^IMcExc+|IU z;rw9!;|EHp0`6+K#CD%at?q`kOV@X?;#Zy_L610yhZ}$o8S;Y4ygXL#4WLn&+76K+ zV9BP7hx$ImnwTMNlX>9U=kP}*iNCqfMB(ylW`QaBd9fCe^HLZmbG98to0ISAcLi>m z{hP;8!IQHSW=xDi3`>Flo#huxjDh6AJaIUA)uY+@0aj%Oj$oeRpKY6y6J48ZH_o2P zl#*VLDwQ(1!NpPVjuK^+>Ab8aU4&H6oy)w`Skk4(&W>}zX)QGlI?3J%y+NsV)ISPQ zd8MeXn$I2L4owMuc1bH9)MV*are*5&?ms(D9D-~NK~4MB6`5$mW)=M)7bVgA-g{Ho z{{<%zD?4ay=zP8Jx)lZBFdw}?v)fiFOp8#wCHZ4@ZkS4)er~&VI!61exB<~AGl8h} z%g-9^wF%d{mhZii*y3Y(`aUszRo^w?caK&1%%9r4IwLi%dD6t&xO?c5heq6&e+Q{~ zHlfKVp}j2evhIr*wN3Lb|Hb$q0$$=8h9)aC>UiRsoSpQ%Ix&n`6Yr6!+f-+LfdsJe zU9L!C8=GSpnOJ|SYO6jy0N0!9hxaVyxpi4tB)`pj>i=b}un}WRk|&c;j$kS3DD4AZ zMfX+7CD+BK{i&=o)AoQ3z`0-caM-osy+K`enYOOq==+{X-+2%dW5B;#&QQ3;jn}!p zVSRy^hn&v0^0N?(gx_+$iV^l$c5Gha^RQNV+*Xq~RcVwkGhr)yz9y!Knr?D4hmL|2 zQf7OBS{@u|)1&)fL#|VTJ9ntEi1JN+t42FFg5+eyl!9lQJX^MQ=BwR(aeedgB^|`{ z#t)4F1s{fFr=+m&svSXViDpX00MMA=uNs{aB}O-%R@$)PDr1k+Rk(mI^i0zF;>^ZJ z4Ebh^bX{G#o3&KQ1AZMh2a1lhg2F+MEDSL#P2C~2(JsDCmb^RpG&uKbg!ncSqK2{? zxcIpF@-OFx8@_i5aoK#A(Xt>nh5K)Y>;(&SS6@tJd7qKTBhGNjp_Yo2pC|T7Ujbcc zbF6F#Wm)YP`nSCvhO<_O&oFn@LZ-YJ-JLbO-8Y>QSU0|?vv17|Ru(f&JULslZ;UJV zAo&rz+T6U!QLhQh4e&0bAx1q$RQ=|$q-+h7ui0x`_oW*YmNyeEJR*ZC7opoCiXm9B8jAK%r6pg}rX?>L(DbJ+|B)ME?@;+H}MgM3gV;u=9o^*E75tOo{ zsT91O-PpUI)-EQBd1~H#>A-#1a7svYZ6+|~s9Xz8jTq?(BuYWSNR2p=bUR5+T-S!XzIMHX4YXw0|Fd~6+ut6c|Lb`! z@V&%;e-#BlP5QS6hh-}LiOgx7V053Ylpw-70-d}DM(cJ8GZ=NO2{Y;YutU?c;j=F1 zXY(+ry)+3AHHc6S{Ei3gpZ38MhSz%?m5yw6sp$CR3U&<486YTrsbiruv9-rF z@@|!hL@RO#g5dBf{T(|m_G<3;xBG*v4nBVrOqCf#C{#4}0v{EMu%(m+B7&ly^h{H? z4!Qx8i6qd`H(QQaNFX9XQTFuQJjUh(iW1~`E)USC6ew2>!Ww4M#vZzbmtz)GGf2`N z3AcRRAb2^2>ZN#D5Z26{W1px<;p%7y4Z&g@!4uatOK-(z5M)VMam53uC)uytO@z3m zcJ)niY8|ww`lHf5W?p^4KK9Sh6Z81u$UuO$l4bWE90uGOrvMg$?TtDn^>~N0>t6-AA^JS|ntd|eRtC5=n;#r@&l$rOfrBjssv-bLE| zSefP6d6Su{v8qzJ^D1|{rjNfd7|t4#pC6Elo4dMcpk@6*+uQwB!ZOgftFC-NdlJU! zgOI`~8NHuhFa%BBSFP-%8sQ|Vb1cU9KLNtRcg$j(57snHr5*MVFyy4^s2 z!N+buZRaH^5{jOnlP@>Vt+&q57CT5wOk0FHRos>e>gf5y04JD4tzh`m)TD891ZW*R zB-ObKgJfYmUNd6LRM{-zX(eY0^BvD4p#;2*l)8)Paap5E_O|&hAe7m~CtTlTdI-lN)8aVI%`23OW5~E`8D4jW)bm8s_Px zJKC;{BUmDTJnmG}(Pud+T;1pzuMXPh!h>gQ>G7?N%f7K%Gq205YT5?WcBK6$grJ2L z+eTVM?NzTZC;e)8-4}FU{T`;a5x3>Sm$jj!C6i`bQYWndO!F0yk>H9dAt^p`1sSlu$~A4uUl3L`oy4ieOp5+D9s7HOen^Op38*kPnJy&>?kXGCvic*EGH*BK;K6s8nkdsyebJwc-(pmL^O7D;70&K%=aPgyFlz zJMJmp`suhgEWUR^3XIlTVBbvp_x9~ec1mb$Ev2KYS0~2muL&M+Wi1bc@CdQ`s%NCJ zT;i6Mp=PlIEg8vfTvD*T>cMz`;G6~`f0GgqZU~WYD5+R&7RhW770jTC->`13JwT#C zNtv@x_ivEVo!P2RDz9vYsZ-@3go8bw@AjkvK|vn`3_FmS#ooX3Tch?{i0)q)g1)tL zat24Fj=}l1RpoO%2O`RTk=-xIn#h_QecZ|At^RtKH;wG(Z$g_sFv4aw?kdj`!PPSE zYE+q%NdLxjfO2?eWv@(UvM(n>1sizELy`&VI_>mfReTP|W~0(Rwt}XXH3Vs)@k(OM zuP+d==49=g3Z7^kI?r)sE2e4jP^zC)n0f1|ket{Bfi)lVWW&ipFrTkAs5!j;1H}dI zu>!x+;4J|BbLQtjHG6(my+DU-aF?&}SpBr~%L}3NP8T!rmNq~vRhN#{3w$Ka=R&Nm z)z&+H_SZ8)Z9jGAKf65H|2EnAcWbu)dL{giUhq$7(G4H*x>+m!oX)LIG-jMxL zSG~&o@IJ!H=tKz;ErRY!oGUZG5>h50e7`WJ3WrSBxa3EI@yZ8GGJ8oYN>Lmq>iQDDPI^IVURa|V6 zb?lfy{NB{6WEV}sM`ATEoN8<*@vB|KHRL{xyaA*UzH==mr1i1snZ%_{eH8YdGOC$pSul*ZPKK#!wV;K4ENA zMd*ftxtxjomMmV?r)KpB_Z*_DxC#?^r~2+!A2~48Hhu4V3E4R+2M2DkWy&V4*zV4Y zPyJ5sB1}NgWAPSFtIEbVm`$k%%m#V!tmSg>!4gs#60Ko>rYgMkihQ@UAHMsYcP06J zy+4*8N>sk|QJr{+C>f~P)a^UJM5q6q>odOlGnDO)A)@vpBjVuZqruKdOdtImAm(oB zEwdT|xP{;SS_E#7f<*DG`D90I@))T~1yV&MaD(lb-xXZFi-6+&(F^`|#h=ik|K;L? z{%AMSc8k`}O6dYGbMdW@~0-nlW5V z{VF+jOl|b}95K11Bz;!o&!IW-{KJ8QH4!V)Y!m_p!HkWOIQm4+L`s4>zfe0k8#U7L zxay_Z4!Kvc&p2MPZmzuE{rWEZ+&vKw!@>mONQ6u?>;d2=GlN8NR}s=&%Wnw*4KSgK z`0lp|3t#YUSS(ZQdRHL&NY8BvoIzFtdr8kaUZ)YQ(V(%4J2|WZieLg0Y}*)(f|3Am z0SU&79ZzrwHzXi3MXghOa8K9wK?FnO<(|d0HMv9LiKeXpx24!!Y-8m`x~-rQg;0B` zqN=gT2n2@c5$enSgLb09AJ($p_#nUp!}3s$Y5$HGNIJWspwQZY;znRVogPqH>OkI%g)`jlb` z!v2Pyg4te+m)|7a%Rh6#76tX#D|TQx4p_kjIKCZKD2(JDMwG>}54mZoC!u?^AHfFI z`?BJ%5A(}n857wpAOR{qV|uih!G$}%;#f>od?TQF^515^85=thJ{mzrhd4~J;!7qz zQT3zaonXD*ax)Pw$2;5IroP0J?0+X$w}OmLXVqR$fagIk1GA5&`*_$qC^Q*Z0g`c- zARsw>-ZaIC&&IVRR~H?-YE8s9!8={LnF_&!G~>mdZ2W5@46ySCy|q7JuUKR$VkzEA z!b7uDk#B7Z<00{Mz15P+78Nop@^+3%&1Pd$A=E{c+8{ZDwrWk#?ikrX7RDwmsTsu? z)IW>aSAeOCFF|G|U02b+cD({_)Y0rc!ic!g<)#MD6O1g5-e#%!m0A?j0~u6em}C8A z;Vk2l2#IV{Nn?|Z<4`9ZIV7P7^F;IO8_kO|F+7>JuAKXO=5kv?GC6*}+^L3+ukOmQ zB(h9=UH;icw`$uvAH6_JyQ1`Kg5#L4Jz8MfJev*Ni>EBI&3LPWA(#OBTNa$Z9XH-U z7)dyqB|6yxxlDz8hFU&*ttj(Ee|ag0#}^}WcXL*Lpr_b%u0ve}XU&*#qeSzk&6v}m zpODD5^Q-^qdgtFnjQ?)E^Iwug|7nft?+f`K8r8oBjeq^SfSrlsKe*7>SEE!xncz2~1|1a=`bo#v>)H6g=Sh+wz!FYfDU^hPD7@Iv7PB1=U9dqInPbxfSlEkT&>A1tV@&Z38!Ma=rzjoTvz9z&B-(()R0k+LHs zsI?=z&^u+0S~l*XMy{EyzMXV$>6PiTWcx9Ix*8_aLo#W@Q1H&gG?i8cu`j19D(Dln zflHE0bUF+o=7U9&M`aKzj^Hm8cO9X3VgnHZ1VPdR8_(%nRs`QPPHdDfi>9(C&$_{Q`|gu9I1+l>PZn> zSz5->&vij3v21QjS>v>|$Yknm!7eky=Iit|jwtF{#!O4y_~OBLcQ(Gdev4a5I39Z@ z4vPfR1yfgr`A>ICuORB5sZ!?xkqbslUE+lv@5%o$$9|RLFn*C2gGq$wHX7`Nvrm?glY`K^>2vlAAf!muOBGaGN=CO81T19yZ>$s_}9-o{?mg1@E89-?&i#lO#i_}zQQBv zFONNF&k`p#2df>>O&%7m^FdzIOMtxOgQHa_uQ0MdyRe+RjKJ1T>=cQ50ir*$w_kj) zLd^h?Mt?H;9YgIrluhyllUA3k-D|dE(;+$fKYXwwhcm8H{1u)Cvn&3zOSek>XXS(Lk{7OALPQVlK1qa|xgZj;Js1EI-IAUuPBE5}lz znRk!l;#;R${m&gu$MP~29|Lz&E7%!-j=d(@pS%$?nol>LqYXuS_LLM&UMiZ44&>tC zIPm;-Vz=)vNY`RUg@4+KSpG-2=6~0T{`YSrzx&XCzmfdzumAc+!ov6;!4B)wHY@b# ze)?IU(qOqTun=_*zP;+ay+WA{;#`TDMw_nkchTtY_#ry|Z6E*9d4T_?`p#Y2HZNzH z0XHvt%UP4A>ZNMc)7xi=Awn;ob1@!ya%Yd33$kB*d`oDPC4ZziSQlnHxbGh#CDEvq zRjk~3@F*KYJ6#liudmLcbHqqyd-}K|d%(6IpgTBSdBPoG@b-Q2bq>jLn)kBSiy^|} zi&B4;#i2$cYXqmQ5yQjht?5fpb$R(8bm5tWvVsqk7uiucjS=#4{YFO#Q%cLdtoaCe zHt!VS6h>I9k=Vku72c@VG**TN6o%^0BeVMBrWWC*AmIe%PBRZyeCP z>rv9hDQ+-abc!2zFlYG3*G9jeHT zP(h8*=VCK5NzQ?K>n*2SW6hgN9V0ZGWp#D_bW$~2YGp|$T#e=1Nhe-}(%yn$lEMy^ zWv+XfUyTLWe5Yc;V;^Tp1B1^ihSwpySQji_I$zF>`?Dc-cnQ9xG%g@tl+lA~! zl=nUFp(fE9``z0WYb|dX)x>0~Y(%c)6>c*;C3zH6(h7=l3-N~Cz7@ZRZVOEh*wEP- z4nXW!FqEXnwR&@^53^qkS+=$b;kYaSul&5daRqLC-h8E5La&=YQ(hZ{q`eSe*cE?hE6r)y$9Q?5%SV$!Y5AhZyh}{e8-UY z!Q?frC`)*N+XNXsTlky%L6RD_<72YQ?hPsDn@Ld^Z7Ijq&qU24-8K=S8wZclVbC(- z*fL?{GSZG23#jq48r=>Wl4dfe=2^2Ef=(;YDKdC4^X5zd=M}MG8BNetbE;e}YseT0 zXjx6rU30Qr?(-rJSuU7kb22@ibJB+5SLRD|IwIb4$noNiz$d4a1Ky7$d&L2MuTHU3 z+0nBv#rc6C&gk?x(WtO<=4s&0@v%8FV3>2_f&rX>o2}0~JtDmU5us36JsPqNON#OH zS*SD*b1xpU;=st*ph&nh+XDH;?o(zkNVvqn$k-&@W+WBIR#*BnZwk@y=!EKfi2o;qL44O^KZPxAw6_tFI12fBQ<{tE=->-6_fDKOo zT2ZfZq=D6&rvZ~cw?1$8i1Y`H0UKIJ2uj)oMmas{CvjDB6v9usB~VPteRRu=#0m6X zF(mgVbeM2{7pgl^J)HQ$NdnQ~|VN0F$T$PBv*!nF&`pj$i~%GQ9y4vNt(5 zK&wu7z=WjR)T23plR$3(EwtMdBn(n3Js^M9XLZg8iRxri6|gDOg>MDL83cA2UzE+Il(Q^e>!k(Qp9Hka`R zT^}Qwn%rq3l_*?`W?#y#`Gz+M9=3jKMAGH+Go z#LsM^%L5g_pyReG`&ORAj?V_jx!f@thmfs04xHZ#&N3CB9Oj9UxFW*jn`r1Ll>mqJ zJD(w=Ft9C#L77GY_*(LT*cYu!Ead~(D5~6do-VX ze6PMvIr{`tKmo}lShJri>6$Ivt;F$osIL=29yK0g=%t(#W&zP{^_%@p9*RPznjA61fSVRitxTFV!$K z@-d5ZccZhH)2`9N#`HBFt&sEZ)g4*15h;iQxaqF#F#Hsf%aiVPz7Yl1>GMKS&laF? zi=SZY%P&uYo9xYgL8^GB1i1Xhk1HP#JW7 zq-!J1kvL`LH0h$hO*eA%T?^EbS%@>X)BD8GqJ=QE`lMDRpCt&jDV#O0KcoMK$dBq% zNX{Y<%Vn>X@ELCk=Lfum;05dyGS~xEL#i>XvB*d85XzFak`%4`pjpYOEi}_c@UCCu zQ%#RS`q8q8F9uGfTLzq6=vYXxul_Wd&ZSGj#z_*mR2Cb@^tl^fLjhkrBW_o;x{ybt zNk?ob{nnNE?G>xQ4k;21ogs#$!SOS|h@&m>_|rUNmdVHHvE=uqcH3tp`=PwY7Js$@{%b-EAcd9_QD@zDD01I9c1e% zU2E^Q$s+mtWVDAv5PE-}4sZFe@Pn=76@rtHQsZsO@gt;b2r;ii;6nW{-8=dzRC^)6 z+4IeDwgN9FxQ)1q$+kPP>>KzO5x^57Vi5On7hz;j%rmmjqGM(l_`O?w4kaD~F{@#J zMd^IbkRfomzJ@X`3i4eD$!6C{x<<@oOC##g72Kg{S|UhB5e_Kt-I8#jnX(6?jCRf};%8R`y}f5=X0X#Z^jt2BMi+ zup>iSx@H*#=O>VDe2;LzIS+~4`i79gOj<#J5a`#;$^5tsK7NSI04_11b{HrvaQ-_! zBb%(1k9vZc$)51@&XQyw>2n`hhne)PHSlhcMboXV>G{FV4ngDN7kEG7!?JID;12(R z@VYIpcEk9oj4YX zvp*7ZQWz?aH0CjvZ1))$w0yk*7_=N8MKIsjAKg}sl|NeKn|Ch*>C{SL2sg)`xG@sP zT8&*l3pQlde%8Hr6vEys%3?|H8zFuE$vbF$(E=wA!59Zhhy@jVEdPxY6vu_qwx6X^ z8G<}9Tw{MI4vXtU%C1ZzVvA_u^5E8|o+ySbT%BQKVw3(00tQP9>G|E-3`Nk=#z8+E zmgI*NaAe7^T78O^$cPMUpTJG#v^EU2#ODi(a60+SLeM<<7DTAqzL>Lx$gQt)#2%<) zC2{Kk$DikDWx&~M_uaP=_e&_57cyB-z7H}_=1cOqO3Tl=%;&AhWuAP>8uzwh+9HJ| ztq(#eC@)~iD;r2!MfTATK2of*g&LH3Ks$CtANu7ha(`>CphR--7uM5AiZ zl+um93o?_tME6lJW~ z`l3bD&z1o_`;LI~!fgOk6=rxz6P7+bqT-qkM6HDg;g{Nyd`;&cS8D@F5QffQ#i-1L zmQtoA-5>drAcNw;XjQ=jU*S!0dVV2JF)HKAhfAR7f2--6763yjpCfLFfRMGW+ux3e zxoC9~*JpV6#e%&D-kuH7UJd(d*9iY)>DQPPyi%D_Tiy%t%wK^fUv2~iGbh0c0V_mi z9y&AcC-p5hVoY?uAIHy# zw;C~YUSlZ?!{#5m`DdfbA-TTdc#hGddcv5{Myv}$yX*7{b$phhI|9B94%Se8ide$% zK1?LBZ-mC(#g86Q%ULXjUYhm{#JHN*)=bXJ3qgc9;)RPJY>fT`)|ser1#RE(IVoTa zSLe#4JRM3b=c%4ZE+1afL-<%-Rwx7sFbf{|C{Q+Wj8Zg``!VON5e63*o$!u1M(Fw$ z1ctgV^y87c(V@%?H^QPtxv2{=iQMZlvUEHqA|ryl$CXnS!@jShwU0;V)5zrQ3Pg%; zX4fFN^!^zV$yT>~mj5BNSEnXVTgR%-nU0S3rfv15&3(3x&W6^e&ziNa&bqZLALl!G zI}ck718m$bS+daQTN8)AkN&(5&DEw3g&@Q^`>mdB znZqBNYZNc1kqGIkE~_qh0eeAgpY8x|OorrZRO6>2rMY$j(sz|V4=A6Vz8D?^6A?Q# zrFzw}T>}70L-&+)S|OwB<9q%>8XaNpZR?vaZeI+^;Z{3sn0^>UQ}kV><9Zr5^tA$# zr7oMF*9V+07A{SmMp5l&)aoyr+tQ!U%K=tB%OYlHkE;}p`X^{@R*I>1%5pba8W`L_?v32?XI?TCY*jSRl-eam(S&{ zmnPRV#!X9!&0QWhCT-a`cQts-X&PU7q^7(t-Z@Z3_P1wmUbc;HYtxs^nNM%LefoQP zHinpe9&YCAeL*>?MW}{)xOnN|$6ib;;+;J=gM zeSTf`&3fHABb?O9cpZ?!*7y)3BWlu;T?4;NYxB;&$7MqkZMo0!Ipg*EY_qOs^I#H- z6e0Ni<%~{zHiQNFYe8~tpZgc^3RPaPem6WJ8w=i(c46+b3?5S~@LB%!^qe!~^g^qJ zZ9EFWVJ&TwKnN`8fts!lA?_^0SD6zKzyXEYmb)?Xn%bi~atq(^q##rr1+G*oK9|Ma zBUK7=Uyj43Fq%nV37(fxP!F7SZ)>JCo#t?ZfeAj?*7t6*>+#~{v3fEn^YW-*wr`r1 z5~+1#GuzwseiiEDrJ4%+JC^0b`p_zr{Fz!6bnv`ZGS=nBN2gZ9R0rsKNz;8Vc+N6_ zpe>H~*|;Lnk)3Gg=7x`#>%;Z@{k@Iv&GA@zUVCc~cg0><+R|Qbv3*j=ts_Z{qJF++ z1YsEF5aaS1NU6z+?IrI;b#t|eL(x+6gGf|oaeWUDH%2R1&m!8R+0?$kclyI--O2Ao zk`ER?I(?t*k~~OstMJ?k_n)0^>`ma!6kY5!IwM}CsJcVzb0;584m>CgqhnSOFxp!^ zxe^#AL1yLp%G;z7&ZoamIgvDYy5ULS3O)Dc@*LD|>6<}fNm{Yl8CMUwbfF8D*M9Ut zcfeoWmd1q}(t}`WA`X<3?|Frl@rdot%PA4!7tyZzAogjt?i(Qt4rj{G9tK`F&mV;j z&_)P6!U53qUu)p0!cMRuls@l3XOEuG4w>(yZ)W-4tXF5hE1;%Dy9Nv-eyr8ls=vEQ zodCbYoAz$He89TgBpl}^4Etr*M0W2!*~$C7C@4*LeY-OT4WgrpOZaqY4x0mrw>3vP z7|XD57-9_YWKEc*vmJx^6+#WV8Z%@-vDO*7zxb=TDal6_bA_&2=hY413ETBNy{T+V z$J$HU6)-ug_{OaaSK2;oY>!m@GQ{FvpMAM$R6dAvKeGP$&W&Sog0Ev!hO+J|Uil^^ zue!N8`MLa|W&zFR8?nef>$g<~cQ<|UvzIW)k_bJy?7Ju0mSV10`IhEo#;gHGQ!MyW zLkonA5GxJSMduLjTF36>ADBg=HH{l5KRVmg6;-pBx^jv}2tC#e(rwd|T)R5l9-Me> z(vmK@WhbimE_||u4gjYt7tK1_)nmau=j#LegoNd@VO#n?RWixlx>pVErqeRWhxd#X zuj~AsvPAcag19H2KjLV;EkZt+4t-wooKAat3;l$dXns28%7#_FkP3cLhtr%eZA5_w zEx-d!(zWE1rUZ&N%lmPbD9pm{@FgXh&zyg(b|dMz*nI{%swD{1)BURn5NQ3FL290Q z(|U691X#0a2?6(a9@m=)TZbPF_iZY_oqHd?iQL>%A4Enb=A-k^8N_bTW z>U>k{pJv^1Bc z-<-T%fAaZq4YrYqaL{`wi}O7pGZ$!%B>${h*W&in@i%K<$z*T87+AsvSn4chj4U=vV_={9&Em z_g;HBqCFA8;T10=B5zYdNJ=;$9q3E_qzp5U(w+Au#K{q{2ht{CD~H^7 zku2BoNX%EV-tou)^cHJKuKbz{nxed&_0q$Z{B}>sMH>co- z4MEfh1ECD!XX>wYG*pKD&bSQ3RmuYcZVC~NJ0FxwO#J{Dx|~%k?YeUxqfZ@Q5O${fo)Ce$amko51{M^INVt;- zNnT449N0jh+M!1e<;Jc>-r1?_iyDea8`#k@C%S} z8RI$3{1+`eB!2UqrZ}yE%z5@oxc(IdAy62DYA&slA2%)h4!((oHo#q-RcCEv>0vE! zBl$qD+0yBFduX66?g(tt9c{jYyO$Vz{iiF;e|t>wuUD8E8JYh6LW9aw-GtQ^gzlRP z+1w$3bQ$r0ufpYdk@=xb5t8eAs^^i53x0L{owN0!)p^n5J*2oFM25Dev`4DujVbge z7&+um@6#`C>)4x!qt1OxI-4xE)#w)dB0i_7l0MQlZFJG$j(SWD&ITd<y+KSgM}f zjICp%UdDCBOm))nY?1R$_xHPl5T7IXWD^zToF!KWi69$qn?m+q2@DL}B7PNR{PUOS z>K9K*Z%~Ura&M?9BQt(x9&({a?uGbqk=!F=#+;R}Mg?PSiJ&8Cc3n zS;}6auVV%0;c#k89WYd7D&ndVGVRp5#mDJq@xwfZa>=s0tV4e%3MGgIP3YOn)nSX5 zje&tU;0lcldv7exM#fPKMzG_6kQLH{u&|t^MdM}xV+v$&>Y!unw<;Kh2#3k)fZT%3 zq@_31k;`R9%%9}iMK2}{p-hMjRM{z5ehk3b9a)kXM@~*hjO#WlWm6`{fjQT@?`Yx$ zNKPbMp|_NINazLc=zlW{3JR{z*j)zcmpqdb`h*kqBh67u99o$YCk#?>wOgx+N1x=t zW@0++q+E${W=9Wu-ZcwS$e~>zrLPIwn&9tI}GghRAx01Dl)5JIrg@2wdk%rGfO z#Hg`FaSrOvVTc)A9S7l63gY8Bp@aRQL_D9=>lFMB$;Tu@zgyr>N+=w7#3eH3p~SNO7Dx5cKz>GfXBN{@L6Sr*hwoe?5~Qf{VP$O`ikP2E_u}(0 zKji@-OTOiTKrtu`}!{k>6=y^*1PfH$HPtq9WT_(ZD9yG;9RADaX)q#hy`RU}XOq0Ov*~PJ))>q(OzUC-%4Dhm&XF z=Dw8rF$uQmM$@kxgY=e4AusT6N*iJsV!6tD)k3k#807aKQ+s868#te|eFm`uCkkP5 zyw_2q)~A}~Oc85m7&8$ootZV*oX@(u?1@tK^bxhDRn0?Rxznh=7x}ZQ(F46-pvu@^ zRBs1cuMPDm!I6eRp|JyB-Z!n7(CnA;kc6y8~6iE+)Bf%Xw9-TDC zSa#h=xfvVxvO?+GMw9Qj0Np;(mI%CHYcHqdHm-A=Lp2k#YxW7N(=Xpwn(g4UyC&%v zW<5LDuY^o9heTeGI;kO%ZyPTF4Iw(GK{%N(Z`Zoho_ zUh=T|%DgEXg89}^zI(Xds$F>q@L8l~`|x#cVPDpDcHMZr{SJh%<*m=j%PU2m;eg|C z=x8uU>%~b4L&rseWuM34?l0xL_FWql zCeT8iP}icX*>Be-kKS_0*T+8fowkeR+Rru?gfV)~8_hSjS5sBIRfsnZ2|mm}8%>*j zq?xPVydEscFp$&0Z(Jg+@AsiGiJTG%Zr5mcnZ@a7+@(Hsw!3S6bz7i>3@)x&3f}1pN^1GR_KXI+DQ<8 zt|M%y^YOhyc=}lljbY%0T>WXQCUzi; z)4`!Pt<&Tep}k>Uv2YbOmq2sv@v{fUXZH!($ml@^;3BNH3$76?Hp60z6z^@#H|yWE!HD})a-lBZ6pTk zmu=mvO%S{sURVn9#$<13oI`)wS4rbs2fp5`luW zqO`QER7%Gb82S_|dtDpY(x)1$*3hxl*0}$HtXl;~;vOsUR4_ogCzmggEcdO(Et%4l zcv-?(WtlZ~c-jwD!$CnNr&`uBa4wKaHczEZ+PZArJa+RQuLD3qoXCBe+n8CgUDTDz z43McO^c#-sCBMzub%X30b%yhc3(DKd}#K9d&iDxs~gf_6V~c-?G!kWKalkw$odat{a+Wd z=J;D=r~kYH_J49x^A8Oy$L}fBzt+J1fvo>P)_)-D4ve1=gVcx+tEO~DI;8h}gP6ll z4HCZ<-D=aTtE;yKr>#qHKl*0e6YcSD!ta>htU{cBLleK&=Uy;8i5_skBfzgt--bB9 zH67>uF80zyFi=Mw*ITuCx?reh58@M8?Ve@GbWlX~7q89*#77ujm1Fuho#4+NA!;~5 z{_RaVHKo;q-K^f^M%-YGG9Y7AZ}L_Rn7``_9NLwCAQ^O8aKR(GVH>(3JOxPs`vA=7 zMojt~-5(Pbi${ZQx^<|0t?^)xAN0G()^Z)SBSZ8qutat<|AtNTd>7$w`ya^qe}h^6 zFIV&rWc~kt$eM%We`%HE50>=@%lf_OW@}&p%fL+kH=^Y~KPmm6>O=p1O8UFM{_82} zA1vz+mi51eWiiwLryiO!Gchs$9m~?vwAE@x!HjM8KIL2b+H5A{*41z%1+p z+q#o|oqMBwqr}<)moQUE&RW;T>pnu8e&Tf3`p1dz<{XDInGS(-3 z=^_2_vYI!wVTm`XMuS-C!D?KgR`as%J2;_c#Qf}M>~a>t%1LxfpAG~{nn7E>LDLDn zvmyQ3tAMCUORW5ji;3oJ{0Uw5!scvUo6TyXx5?FLZK|HZf#XU|Ey?2a(e=UN-NC}7 z=96G0W+f3EOH5_U*fX~dmLr~qm82y9X$n^vrn5RCeHhsy=P{=lKi({-9>@YLjluAfih5P9u1_g95mq6WGrC-<~#sL4ara$JkVKl z;#^Maq8~seYuTJikIS0Wskrh}Y2Z}@27Q(b>gcRZ+D$`3Y?cey!mN&<=Zfr2);;RZ ztWLMrie!mwi222=fS?a2^pY$T%5RAg1-3!2)tXjX-ot<=@DxRv?)L#GDpjfH)SgJRgwE0wPHsKr)LC$Y2$@ zPkn#^;#gY(ct8^DH<<;*obVulI2Mq>$~X{62U-(=WEPMDlm1O+g+kQ_Le+;t-2gqf zOq8>SE*BOJn)s>o=#w092j(zHoIHR48Q>1gL6JCtbdxD?2RJ}05NG=hWSs#qEg;Ee z3dFR216e@2=@4km0AgA|AnOK5H?;$;SimF@$nr^p(gxB^a6nA!H;@J7%_4wS`R>1f ztN|dV1!SIRfjcDy0$I#JOe@TdUeb*|!i^p-ew4Of%%-1wIuV=2mrOK_c7PnnS^@E} zY9MR%o4^7(u^LEK0f4O4ZvqR*T15d_tIUJH2&_sVYX#)oT!F3mO<AAT;)yz!CtmRzQ?11PFKm+sF%~-@d{iJ+T7ht{^i>N1hL9|+AJFy%NIXsRI-*6c?zDUV+&aY&dU;xsa2v_crPd= zJ}_hETd}V0ZkA)EJ4|zf>0<^!tA}p(TBw^s<3&>7E#q%kd+gb#(T|}D1h%2fQ$;zBg_0{Ok>$;w#W;qyq+P8h#IGsB(XI01 z83HbMINLNu&1yqVNXAqsSoasTVb0kd1N+bBWhF*n1Q$f$NRl5vM&R}`(83xAYyJF*Hv{fhOX)G>O-yAA{dzT5aA5ZSfqr*lM0 z2%TWdiOyq54D5Ad$sFcPlTBEJ_<){vXum2Dl>m;g^2fL#+D9MJ%zTK{#tS|rjnhz8 z$s2q0^9pJ)LfFEbSe^K}Iz>tWND?tfu<<`5N&Hr#myy5%mVgxjzYS3#!< zF}U=w$rTvf=L|z!d!h|OA*R@uc z>Df4N?i~I65crjpO(E+4gT1$ms%zQOhBpKW1b252?(PJ4cY?bGcMBvq!GpWIyL)hV zcXx+(bI$GV+vB_E+`c`&9`ERPoc#l8&9YflbJwc9*7MAnA7Zif?IRJ-;n@T2twnZU zDd?xr7O}iiXb3I&B0msSX$$acmtVUh!KNuO7W&<&B_}6#$1gNa?N+v?vA#RS)?9p@ zs3o+g3|DPAMa3YD38k=mTq90340=ajSxb4b?L?+miA#UZG#;EMj4s#6bGep;fv8qL zH1#>&70tS z$NTN}TwM55J%VHDX~t1tCsg~#E;uG0S(noEJr1H+jvNnz_naeMeMz6)W}L z1o?*Gs2RsZ=_nNk5xNz0c`MTX{E{IIe@C3cL&m@y%i_q+nE7tdg-$=-d4rg;)5-xFUu)FtISUNB z)oY*)v=CE+8*4hH-iMT48~LeNe=lu6@lo7c5c-{jG!rR#OFH$i4B7rf4mZt$vF zJT5CsYjfow)Y74VO}RQb+NLl$jq@j^yqZ)#**Ybcm1(u$Rg5IaD$BgMJ3O>};nf@@ z_065Ilr1Cp+9kc?OzCkky;$Q?sEQ2YfI0gqA|MZ{>7GuIG#V9?b5^h@_D-o zN}SuO+Vi%)AvvmZIbH|4@lfeQ-=}RR>lOL^8)OCg?#_!+OcL8R`C{6Jm7~Z{DeH-K0WjB6X-Cwl0=@># zXL1(zDP0l*u-y6~5bKxAk8wnEh#XN#6fRiD1+MS7u<69imcue@lc%HT;eP5qZC-_t zuX;R?ub;U<=5%&*)-2&!@$p#mI#=5EVk*bpuOA#u7ZJNvJAc@)7PRyuPfL3$2`z|_ zZT(?8iu?0CcHU)+$pkMmwd{sXS196MGKJP7fm~W6q*h9f9?lYE4u2<6n4u+f(cHNY zBN*nes)P0A3}$bU5zpgsXq9!=I3dnp703H@cXTZtrb;L8{OW{8r%jWX^LDZb-Daet zbfw}pOniiTp_MpI^p!)4J4q?vlzjc@)mkL&w9HvGNR@rU^KJ?>_snG>mv~p{iHG6I z&y3^7UiGmm9@)Npp{iwWfAH%mn-LRMuj6uo$EvudnFBu&Qd+CUL9E$rX)Mx?4m-#5 z-WEK0ThN&3*=YpA!`@aIy~or3))11H{l)bF9T^wyim_EAITtR%lA!jZtsU}`p$ytg z;J}c5XPsn+B*hnZry3d_*T<%k;vzogjLi7?h=s8h#f2V6!KNV-CI$LSr$*!^UM}xz z`%mQ_rF~96Ojfm5WS}-Ahbxeu*6CTk&(LGav}l&zu-TLv=N|XQL3LBzPi`k+GH}=6*FF^Yr&sr}D4SL#XioGy=hOS^k}o65<{m1SB%k}aFgGqQrsBq&}HuG9Hko382A zuGPSGN%Yu|&IGH$iC{*ur6E;QYTd;8D00=1OV!A1a)8JCOGQ^<^4wB8E}P|H5q%_> zLT^0Kde-nDTMezh%{?eg-+FhLgU8rDJ8&j}Ds*f&-;L#H_i^`=ULB@h z14qvO$9_w80a_p}f?u7dzD{D5PdlZH{(^|kn1bq98TEOJ`>qv-I&rq9~;~8%cH`Hj2|pc4*NYx4`JMV~7TKV7)^TO@aJJWiTu|<|83-qtWaWj)%+5le67^S0VDsj@pZ7O*j`~(Z zvwGh>FLexNE~OOGuN4P2hFoqRAw@J%2#e~X1jfZVg0B^S%NvFn+ND!eo{7vYk{~Ya zzxdi6T(KcWUQalEB;iuGFV7J+xh+GIq>T^{iH-L4$QJ6{7q7MP>*t1_lDOcy?7sq+ z6ar?9HxHSJr)T*jgU{Ve6+}K$mv5Zu_lCJ!cE6f`M^}oA_+Ro_BJmI!kYt|=PxtE%}M5JOSdF_w&5h9;yH6kdqLV9*fwo6TUY)a}RIl6aCNVN`A z%2GPV@@DF_tRtgoA!>x*8Olj2eXdAiQSfDF>$`o1sCQczYU0p{osehqzRE5pD>X`) z$7((pEJg1mCgSx`%)$fC@hp+9glszu04U|xsvvddE5KZPXzgKj5 zZWgKv5DE>)@UPdSHpUg+mp@#`>i0eLj_@fWSP(cI(T z&QFt_gqmPzqO7xL|7CQDh~N9A0mF64tyuID;x}Vp*6pl$fyK-^X9{iHxcI)MR>RW$ z70XVfMhzDIut-vKk16I)j_FvP!VsZ6`K$d~^GvKt;J_bSBzoJkEAh3yM2 zStu3-b0t$whx0ibPy>8uOSEl9U`RQYNPkey%C7Q#DndZqsignz5-%EtF{Rx@f>Q0D>sZj(3ia8h0JML)a`F9yZu$#k_rDfo$4vic zFU9}R&E$U%WcT|K>W|-O{spr83uN~f$nGzY9r;LCTCQ1BR{I7*xeIhQP2?LM@93!H z+hqGgtGBDGy61O|_6sBisM-glx2!WB8ylMnCcB@xrH8c?diPw9M0DpG#jS5qWdI&) zDxsV8LLgt@Fy1a7lY;GV6eX}x%S#U*TI*gBfifSV?s=^)`s^59@0aF>TRwDpM3^`6 z^RZ$(BlvGgAqqX91W+vv@)jm1-3t1*#;g?E-=wDh>)>wxcNG2$WcU9($c~xe&+t)y z{FLNh0!T?2S(`YR68z=+{Qptk=gbWMt?+vPk`4V0WcRzh{_&CYFOc0|AiMu2$d2KE zIHuFzMS);oWBF%MASw{~`4K*SHVBjl340Ian2s)ODn>E;orppY+7tR z^8cyx4+YP>YcMxaD=|i}JE zKyGxR)fM_@t^C*e`WH$8Bjr4{^5so`P_xu>B)j4&(P`I@C{oc)mL(*7I~)T)_49n< z5Cl5^a9#hWL!|)Yqx|i-z`*p+0-p_6K=}g@_{S0avdb$fY{U5rV>Uo#B1tO)Vi(mG zAlL>FjD0MqulQZsUe0D%vQC>C0~8GZ78L60es7iWcx5hDb8ma{WTmRXDkG0oCn(^z zfKh*o8}+w;4`VxHXJVO;V?{EVrx_bRg(ZJDl)mJqqVN908Tvb{?*9bf95_M$elPs< zI3SFytp8+}nGlfaqDK*tXYD}AKw3KS{wge>pDL$4bijdq=cVe!&A#h($KIU6{CF&h z#7*WRb(XNk&|%=$2NnT^hx|u^3d#=e2wuA$!Cs8T+7|pl{8q?UFXhLZs)AR1kDI+j zGKe;(TcbZ|;GcK#UoN3t%F|nqYfPv1>$#BUZuawyUyp|l%j0?x63&~U-(9|Ir9T7v zhs*eP&)NRiPZN01v;~6f>8jZ)tp|PP!qaHSgMr-2?%2rRI*~FQ(E{slIx4gG?b$6|( zE~1OGz9#N}smfs~!l(0oh%mn9$aljvGUn-x-*<<#%IUTaEG%AMrAyG?q=zk99vy-# zAx*aYSie$0uj;IA&I&bQLVIHibYeCwYpwC9Au)&IThMAz#C$a48E3zteOlpO=~F=o zs@Td@d_Q1LKe^B|-E^mIOX2CP=6=^6LbpI4?&N6S`mnNp@2|IU@GM$1+l25sTZXI4 z*%5K5r}`P!o;OK3m3p(<-7fL^gQpM`P*_uiKMOkdgc%fYx&aFGEQ|Amcg}~Ud|>Hyr+k91J}xBqBO@93hi$4 zwI%Ct1QX>ZT&S&OGrQcma+#y0QzyOgr8z5*wz0u#CUUV@uTEXW=K0B33Cx5U#zYCl zq>*Dp19m{YNRPvUh1tZ4ZB)I8kn<2l$|NQ5p!jfy^N`ulq{Z*Jcy=u1I=C3Cvr4DK zh1HZ|G|+maNV`M1$e;Ft6H8N6H$U(#@yw@e_xALj*xyq%7A z__)m9kA*`+RA&W(9#0MXI!#2Tr=U=qlEcC-6r@3#pu&$};Uz0`vwxg%E9^-fFTM#i zZ!me7b^p}mKSJd)rVb0wxj5`UV(v1=0S?cZ2aNVmAqdQ(bQyC6W~~CVEPzRH_{MZ# zq=rVqL5a!ml8nR`#44ZblSC`IMo%M65E9vk+z9y?3NM&aIr02Zov<=qA5vH?2@ z!@_eg02UVS^0!tvOHTsU&Gq_CD+?D}mGiaY`qP5Ob2DaV-mrt2y#2OYGhm4lKggEp zv-CRPm7X0a z&0FhOW9G*2V1tJ!14>c3F`5G*h4ywj5P(uYKS-gmGre!i+!(+~6H)>uvG8Cjk|4X% z*E{He?ZN;rh1lQ&<-7bp19LH0xG{RI@nC>s=*nK}pf_`&mjc!$`;UdKJYelMb?U~L zj>DL2Bk#>;?ZE(t|5UWzVcO(MuK^28u639KThV5N{{+->4}}{eB@i;}bf;qvC~fhB z%$hyZg8{bb9|&n62TWq&g#xF?VCqaS6dErSs0V}7r5+AYcSvyfUV$!uJK#{*OQT`=0Ie&0|5}3{m#T0BDn~@V3K`cxt+p!D4f}Ez4iwZP=~@(VN`X4 z9leUG1=(`4CGJd;o|iUUr`CvtdJ)o?|uKJ2zj&f+F_eRQ(vP zkCM@&;z@u)id!@T0XrSwD^pdUfnj<{=XG3!(=Ryz_Rb8SHYrG#dm=SHL35-~MW09z zl0QS{!DJ(mH5-GLy$>M7Sv$~#r(I40#k8hQ086IE#_$}0pz$lXK?tD;=9KtEr3)gp z;qP`K3W`9Mi~7;t7SZqh;TlQYh!4zX+ZK`}5o58qDJTqcT?{4}5D&y7ZnZ1%GuCw7 zcB66hw)Z&e8=uq5+EahAnf3C(trz zY}+RWkxO9Gk&Fd)nc*N!1-@a5w$0)eqRl632X+`l7=ox!Ff3~~ERp=yDg0`FAj<5Z z<+YSnV*Faekw1U_aDZx*6E0UKS{#op*1~l$N1bjb5iH>is```7 z_IrsFpB)&d-9a}mHT}ek%_mctFz|VT-kAi{@8!PIq#U*yT$x7iBEb3D*Y0H0_s&<% zZ>!Y4iDKmH6ACP`S~E84)Fwpr-RIFM^k!3hz@Af@IP7|L|Dbyy6q0m8g{&Fc^yRa@ znx!RumcD_%y5h7SR^4^;MARw`lkUl|Yd6zE&o78wyEPKM=>&P!?4IHRbK$T>H=X0* z)0o5{eG-%uvY(C9{ej=2!9LBIv7iNzi&~PBO1TNEWHkmJwoH;?nUt^Gl9DhQBIq-b zKn<>;ehvYTN);?Oh58zX#n}GLO6f6!fUWUCllt3L^Uut)g|eqrejK5372GjBfrfWj zzk(%BmC6eYZSec=Vq{D!(l_?8hWbY*AU;q%`{aE;2!9hDV`Z@>D5078gFD`WhvHxi zrW6@VokH)K#LPH6MiRnH>NaP zjUh3H_&MZ@4>T7c6m@|Rk^qEUjG!(o>E5^U9uEF{-doAyGifn>bjiqbD>3t&{}|7f zp4gASjYe{8U;<(nfa)al!$CL%9MuM>n@k)lJ7oS!Yb5{rVx%xTB<5;hwhGmMjKrUi z^54f1E~c6MPH7HSyg>+yI={ZTm-6acJ}63x2R@73w|3+yR^Tv@4ByA5Pm0+=X$6t= zip$1L=a;U_iFGb-7>##D0?Z2qk%Ztl)#vn~#Iy6D#ho_5&0)7`JLG~$0&yHF%X^T1 z9L3D0^HhzNeg1s$>?)3@ zGT1*7-m;*l2$t&+uYAqzP(Hqa>Oe~oX5DCFL+rxH_!EJZXW{;ipg}Q+P~<+@xFeG)-J>!8jjHIGx<{NqF6(m!aY4yrd$l=~D=n z7N=cz4{ABCU0E*f;6DCNEmXIgJ+o0%1K*h3+;?C-!#s9bDFq(CR)2DjyI`I}iBJ z-I}9vfL=sKgN1ue&Uz$J1!AEzJWcq!d~2|97T;CU{x!pS{(5Uqh}ofeBVTd>1@iW& zKnO;9Piy3&_#O}E?)a4cn|NfYU2cOl%UUgU?$1Z0rS#_ zKJ+u7Yc;psE%xMvq)}Vb@J`8%;tk(D#Mt$jbhHG!@Ge<;f13MW4*F`7zM`?{D%^h-LZ!5hMHcPGX9rFk;-J#s68!%e$O zpZpKd`R(oVs_Cr9qN3yN$!M#@=3%dHo^YvAI!(&gatQn(uF9 z_f6#Ra75_v=C;wvn~R6~08+K?5-*??pPE;)?G^52RbxrV0}S}{&;?sz&%ciATk>+y zVtXNGdt6y**Vl%o&$w(c^D^G5yY_kLi-cE;KZkHTvZ<%Pe+D%%9k^jc-nRm2tuu5G z-)`9~8rIh4Dx4S$#ONERr~xbDolBn1a8>sCK8-`pv}UaP&0dkden4zT+h;Z~i z9bvD&3u_y^^$=hW9dki0>37pLJw7uP+dtk)-I?_x)ri zQfH}#Yg+>=Yd~p}C*5`~Yx$2u8?TFVQSaBC48~#Ja*RoT&6uE|0n7S0gu#LnSoE@tUQ_u2-Ra?k#~5w4;( ztwgTVE2?hAFy`qe5p9yz=Kf?d_5pdD%h5KvR;?!xUhk?qr}OKLIvdZ*JCnPo_?|_Z zXEu+JO1}2f*XHwW%_MBy<@zrsYz8L7cP~Sqy@y{R+JJRfDBR6bI3!K1=o3m-br)67 z?mf;~5?19;Q-7tPwWEy9&G_wxcxyj-o#P+Xm!WxUdA!?S6@1`$@@Tj-KEDprZE>`) zGx;$8Qh$eQD3sOub+rxh%5k4W%=5#b*o{RbZ_v~wHs9C4CBN6#SgJ=>^{1vDHa0Ki z;3Q8v#iI6WyK2GX-M801d!8;nkzI`$8 zC*TT7hdq36=gT~?k!nF4nIc3lEUryAZ|k>2qR_{mJlWoh+Rv9iA?wf`6fusFeaW)6 zr$;(`T!@&HqwGOuA{K;sCl%gjNhlF4yPaL_&`fTi_kwEdOV5?;x2I1)V@~kSEUMiQ z$UcCuvr2`RWhr+dHIL0;l{W6`xgVKPcv+sF4>71yTAFhYFw zaCE`mmvtN$#E~i@ORho@wInTGKdARp(ClpT8|2XY9Mu!q;!gl&yGlz2Vh>mW&i65P zKerX8VBqYdZodX;v~J%eQGLF-OPniw!J4TacV#b9S{%$)JKU;_wLNSmvg_ z^L1Je{zI@0T}+=BV>3bZ65~MI!?c09H$uVQuFwk0}{6#wGYAEs>E~r z6DeUQj+yand)pxRIXQE8CZ^Xo0@Q`wnDC|L!!L;i#*69`i;DD)b2#u`yKYg`Og1+U zu%1{XF>Y18{su!srmeUrUI-=i-F{kLeRlFnNdw}RN>3vE^TeDVX!z$*q#r)0#fPZ9 zlQbk>U>xKv1fFAwI~k&4_QGllWBAXbP?;!64U!1!La!JQ@L9^w-$z(+VJ?JpEaJYO z;C-)V6DU8iREs6AvC!jAPS)H<<4#V5AFzdTnj&Uqrb%K@EH2BAna4NA7|bd#k&pJ_ zhp|y|F?!1s?Y@#wFqT^Kd9KjX#$i_H3Bv2zZr^UiDC;mnTMyssJHE_c`~T<>BIDn^ z75(E!h^+r9(m_tFbi^b*LLkSZ>Rs=NZ^x=rshBPQM!5nh9CeUoQmuLpRFZL%zBiA| zPu5Mqw474GiwE~+qH{9&&F7BlO#!v{n7YMtec(+7vQlSyhI}<4+8rN_nLbdhoz!RO zYu?08OI@Jn-tE>uM~Qc|mD{X>>-J=oa!C2qd2^ixPm<}kf>h`~y$++AY1?|N)Fw?u zS0rJv|AI*!#w8ol$G}@;sx>-1jDV-|=`HH3NI(PoDJdPyQ0#r-aMV26C_C!<87IU{ zK06ofhDmvU@%IW3IwWS;JxCvp zpUHcS)9CIBQd+7mnxEaYS-#Q`dU%w_&@pDe$!z62))DO5(W%&!Xd|A zKtl1gJ-)J#BKe$vXMKz|-X}kt1kH*@4QHfwFLkl8m<=UIWY9qNvUb>8f&Y+DZ}@0P^+&b; zyR`K&xeGm!Vo#i((wbY^;|g*`1Xbcnmp?NnT5Ubi6!jsGYD}>QpK;!YH9RJ1MV8q0q0V1F){<3S9)$~#ZbKPNy+~3pjW)FULDF5)3|*vxE17m0NTLB&8r-yNQjVX@ z=x4RyqV}%&Si&QMpeb%wzqA74O@It!;Z2C(5FMYU=Bq5n?fG)6gb7EL>P_ zAKAs%dHn)zNWh-#w!N8?v70$}63%x~P~K@m$&IS2i~4*DnFu}{{9zdsiOZ0W7SqEe zZY`~_fIXq>2bGe>ibk!(q(m%9SW$o8=@kvt)OghBhL-&NR$K1Gp?IpIB(BHP@KLN? z^!Rw7uRYJbi;YY>C;Ka>y4H#(H)A3m99Wm+U=p>|s8}Z@!#r~OgnsE!8k-Zm)>m8i z*Zs>`n^k30Y~f4+n+sim=i<6m)e$8q>Mw9onVELHhW@^HxCbgoGJK&0zwJB?kXzU7}8|< zjJNlrTLy>*WpqgxGPZ1F4`V$T556pPmkvo- zC`V26bE|4`nYM0cf&%u;H%=TZJ~JZTRLg$Ue(9y2OKvqSEN{MDPsj%VQX|{A3gh|$ zK?|3T-Sx;q^6Q1Z4}3lDWf|24_>h-qw`r${!$08s7|WsZ+rs%~Bssmw1$Pbb$xDo& zTT#mWBxo)2SgFrgry4u{bn!C15dsehpvPJr7O#m3tBFG$CZ~@UvA@%Aus=QuUM&Cs zyv**+ZOo_;m5k&Mb%22kSQ7f_j&;#>Js1H#=jmtP@+80j^teYNL@mCKM{3R#2J3wRN4}qSzI}?< z2eelmvDFSH=Btjg7bgh!;L4z~jsD~TdVbau-Y!}mbn$5aT;t$jh<3cvaddb*{wbSR@&ZwwQx@EO!wB*__|R`@^?3su)?{iHPg?VSI%A~pa7TLl%0{o zqjXionnEOr5tUW%{T?7$LTI6NC1tdy*{P(E+pD7fT$HXC*u=!h@JgrJuh|-^noFA& zAXP(8jH~W3_S~heFk4a+9mq~O)3P~%LrW_iyww5nGw4a)xGL~KuFBpUSLN!BtMc&1 zRe64+jd;D$M)=++E%^U?id_yBCVL8k-isPtMJ-j#06uvS7jd!Tj!T z!_R)0KIv4GYN9fyS6Ab^p9%p|d;+Uo8=g72_NGfE2%>a7Z!6G&EEpKGP0y0w7e|ct z^=xayy6SiFwy7s8rk#aK&wj|Rj!nw7K9EdANOMH9jZCPF##yLeyU;Q|_3J?3Hw_dj zSlQ5Sn=G-E5m8x~898)+*K?2#T|qugsM0}2Br@eiEw}u4Jz_qF!9p$vPfwhG7mqwj z9kaD|s<^p%o__Xj^Kf^$Lk9T3!LPP?y&Ug6nVL9SGh$wI7>zHfqXPGod!p|Zot+w< zuY1*YcK09vADMXcu&Pb}lmmS`M$`}W$3Mo@V^w!%Dl;Flh!Y3q?{jL*OMn}$Pu#=I z&cmRf87CXo2R9tnip$~&9TnjuZQS>LNQvhKotAIAxKEsY0ef^>KUokFNQ7c7v~fvc z!lJsJ>+^a?MwB5{$^a-JoitjU9J#APtUZsjQ8*_BRUif>XlU~ivMWl=0RaG@88;=t zfrfEW&RaG{r6xNrtgb^XlCI^_E?nF^2UZ{6v@4>`6RHr;)En1P_Tu(~%A}aLtjwGP zTIwfx!+A1w{G!~wmE4s;SoOXr`NDupCFLtR zI*_^LrX%z3ch=t$5Epz)E8?U7@Lcg{IFkRrX)KIyhnPP`2r;lTG5-^w#PWds5-SS7 zJRLRM+MIvo*{e4&_$_HRF=-);^hDr@dbvglO2^H`%)7f|?EgFm|Mbec($e^?P-|en zz+q$Ra?Z^U?@eauO=FC}t6WH6#@f&~B4*28yJXfjH{_6mSa12K-qJ%n(KfQ*swFVO z*Opog=y%a?y*fAzKFmto1s|}q!1|P6YZAOU^KH$oM8B|a=*CccsXS~H`+T2NRW-x+ zBaNw+t=0;A{o`wl|ZuoQ>-iXdy&ffPO&NqrT8e1zKVxFGIH?PI*E z;SDI8=-5bF+<^v`ZCAB-M?NkRE`Kj-7o*}(4s;)^yEQ+42yeHgx>(C_d#%=<>CnT% z_xkLmyBdDWcbWD!p*~&9)^)SP+xFirUM{@abn7w-jMO(ct?0ht^f3f>jKJy==AdNh z-U}HvGG3uFS+-e~;{Oi$*Bx#GMbnLg^&gKJ449^ev06;U>yUT}zOU|gsOVtgb9&;F zZy)je&2qgoD(DzTMyPP913P3Q^hmu$;y>mk#(KQ10^qe)Q@MUtS=?v zcKCesja|@QRtlrilRRBXeaW514s}E8EfVusA>aO1>yD3z%`;R_lvil=*6!;0AvgKq zdb2NrIPHz=;Pb$pT7Qkv(OAlLgt<^FO&PX{ahm%p!ftNjt*!@nM4s>0*3+b14l=)O z<&CEb*JylVRzAFP=C^EJQI0RX-U+#sHzasf=#^$a*Z+oxZl37Wv*#>H)QBMlmn<@B+ zp0oC13@@DKL{@+^jaBNNR|d`Niz+vPctl=Nhb!o$n+I-r-8uhv&D2T>FBUyW=WD z+0xw1{rn=|o@=Ji{x;w2B9wYv^hfgTKXVgVodn(t#WvWnih77WoC~$Q-@>>ZC;_nd zI3gQpxTBQUS}96YATqlDTcblsZ{H|jA5Ep$fgK!rZ-tYM=0Z0U6wDW$B1ktxq8Z-R zQV%tj#t)I|mdzeoeR=!Q=wm|BK#8UF5?QusoVx3=OziEs*b7uaoN{~nck8&hj0dOo z4v#)?#sUl}NNCT7Z6?hA%%xmV)!M}D{Oud?s$3w2n6i=dws*mFagTbgo+`ChdR&$s z=9&e^3-*ThKVcXFj()TKSJ^}`%{bDPU+klojivWraQxeJU!W;-nkBZ%n)m2oT(6&Y z->6Q2QDi#9(5zEpKS%9&g@sdua#6b#uV4N~=VHij+1$!XWyPnDz`c9u-GwSc%dk%l z8_#bU;wX82nB~Navs@J)CO(P1$x=z}CmT!2Rp{O>{_7tfgC{uk>msdxc&Gm}Jmeog zLHL)*0e=xp*zy-kR!bHCUnQ6@vi^xH@IO2*{!2FWZ=hPnH+%i#!{T2AlfMWi|2={U zJ;R?vij`b#jp$_c%@rN2{tW`p!p6c(_sPuuivs~812YSq3;`oO{omn@kF_mqutnpZ zKf-Peodi+NJXT3ffR#kVXD1CE7Z&PWSuJ58wV@5yRufgn z@ig|e6V3Yk;sa!G2V|}77Y7nOyF`~Nr-}*{@@no>)Z}VQ1L6UT(=!iAsuea?Yy}WX zP38ihn8}|?9_GpMyBkroq-G7h+ugI!t#+h8B;JSZl4?|(_YO@;Y?j17+HV>VZto?H zwVF>!)8oM7Dk7iZYYeaw4n6ix1Q3n(@UKm~;N#&LtWVP0GZ?*q>So{2eCg)L!t9>P zHoaR4?U25}Yha$Y-E%mXzDbRimx}h^oRqM%7a)fv%cW$!XxOv1^I&ThQ$#X>#ozd# z4Vv_n((w-FC3Hy?i-t4cnNwSS(64m%sj){q## z;m`+C1&Ry7s0)c~?1VN#v^!=Ph@TTF0nYERE4aSjk|k10rAl|IvaXvAL~YWnKoi9? zSylCOUtsoO$HxevSsGRGkD?)djfsh?QWus}e?q%OJ_(nS^RtBl`${t~n1^VO3^Pau zmbZhQi8+R{eoPH+ky-6X0M~A>k8AwvyQ%PGx|ts{p{>!;ctCeg+eAP=xMdDhBN>L- zMhBU>85wH`^Eq>L{|($1e^=7{&_yq?LUt=h@2obEGs^Rq+KN%se$VW-!!RjQX&!x1jk z`XgR2E(j7env5mk~AuKKgKie;vQ({Ycci?iwVXw4NQNqDT2FeGtV? zJ!j!~w`jXZG~@O8;L79q+<}FU?~(a2HDJ4GK6O_%PK6h4qL^Nb8p@dtw%hd<=7EKN&%p3UywjGJo(XHwbu82Qlc(DY$M zp2-&-Ezgmm>5HRlkI5%?_xme#rbn-rGHE9Fa}bi&l^4&-=f{n_c_s&FlGF~VC|aH> zX*29hI$acV=X*tZkAN zkXrhpn*FzY1WMAS(g#preUee9-dz>j6Tc77Mg@D0tBv^1cmS~=L=yD1yDLPHhiVV4 zUk=<_rk4^I4#~##c?OpaCnmq<0&_%KK~7;@&k_z9pLt^pzEJMe7<_nLQen!RmnuaR z!(K`+!`BEEC2~}LJmweHgC3aKGEz`Qsa~kiDdmF2n&j>$pXv{a{#SMzKSzqCQ|fa+ zT5VeO)U=@V7%kc=lW{3x*RpC^-I;}0#OJcsAtTLteXEy=5gP!1@y#mL6Ukk31D_>7tm^o=UmZ@mPu8VUA~vR+R>+Gv%z73QzA6K}Fn{2u7W4!)JaMwaHM< zp1FBVXU37NAMA<9Ow6u5YG9U)l1x{$dheqZ@A|&8sFO0JsBIPs?{zPkbZg{KP%D|C z6*7OA#)h|B(5Hz3c55hA7Xv9CtQAu+-3)D;Ig#q>7;hFFeVJ;C*v)F`h;vu!E6KYp z@qV_Hw#;aFLGr#RGD`Wz*3s84<4zu!MO-<<%&g4i%zp49J+AP;%&lBja#6w{ zv=|xOPi~PUAI=^)?SG`O+D~j5E*tQVJRhVL=dqIa5eAJnPKlfrlT>XjVtEuuVRN|J zOX|15+6Uf$p5Y{&*Y+)hMEk}lC2Ak!+59~*kI+S!9 zw}n((f4w&0mt#X!O8mZGm6S{XFGP*8qNR|C)f6X0&ZLWZiPXpxJDgysW(=(fKci?! z6HUNiw{`(zgXv@&k9}xrash)rf}p*pBRZsEZZ7RMmVE-Z6FA4GCQ8D-y@7!`|Ne%E z&rOmDMBjUQrBra0r1UGo5Lnra?aA5`(xbQ^M&j*%{78fI$(6!pHnz_^j`A^1Dp3}w zN-A;8yH7}d;DctV+-`U9f@Mk#+dunK6=f`y%x+Fr7kPyt_pYEo-y)mArdMOzH2dBz zlBtDxVKb5#JCE}=ut_+yh494_mE*Ya-XY3>Jf8SUlQ0j4UuJ5IUc{~lzTMzkM%Q^` zW{`Xs2gL~&v@aBjIG6G#04Ee=*Ae1jRd6B~iE?ca)UI!Uw8Bz7c(4xy1Xk`LYA0W_ zTgU6`=Cbjn-Lr1he9+`&$mFf}&$J@hA=#n2Jp3IC$J!_QN8tB+tLWOTmE(SASiefE z#DoS;wp|2&w`f?uHPy4`#lg$zVwkVLxoS4)ejoDM`f{Dm#)7o{*%A~6Z2rkq3CyKL zaV5ehYgIh3!V<4W+giH`^19XnC3goo>8GrvId4V5eYY`R+TBZf%cyI@*zmna&WvGl z`1uO;sBs=XI@A3fSP5NgN4Hk<>QY=;Jtmc1h+W3w4wUZ_N!pG6U65~ikl(JUr}M+1 zhvUWZ{{7+y`+>{TRvuTDS0fqgj4z5U zH@QhFa6!7f?C~yO$5MFw#~dNKwc@G9?5((cMw{xuScQ*WQ30Kdi>zmOTDz)G`&1(UHEnbmgD*)a$S>{IfmP7eH2rRPYn;WT`b+^mqc9)bn&P%6R*OC`j$T%S4SEjb6 zX(trD0Y=WGBrh-APnf7a+HvJtgrl#`$fWz$?NO^NAxG1TJyjt)*{ zIL)qJE1X(7OK$e}O|aN?0(0*^Z)WLTbzPF{dR%t7wF>%YUjE-Cl>k6wjIOejz68>j({EAY z{F}}{)Tw&NzvQv0(M@dO%E{Tpj3h)aByU6TOst4>F`V*$C;MCz;*_CCr7xjO_t;Pf z4@lutA;mXVwg=3m@!g*|e7UifeXA{b>%%gr9; zSA#x@lc5)Dn4f@xh_k4EXjC=1R>9V=vgn!)EDJk>?1%Szl8L-O?D1fk8aPl5cemjz zKKrU-%g?Pdsfoy6ECCxdA3y#LomNa`;gfk~7~p(WoJ!wN+VHXgwp&5ZnLH!@YjVlH zLsN{{%q*;q1y!ZAh*ODznMJIGJ59=YE1~sKy1t7rakB9*_QSkxj96YZ1XRNyB}kN( zJvEeRW3;N^k^CQS@8Jt>K|53T;iw@}j0RXB#Pab5g#aRhdyEz=k78!KM%!&c7m*b7 z7D#!WPom$vdODj(3#Qn933VE0A7L&rmf-kvF39HZy@zK`NM_J74P4l`h^?Z>gBui< z!!u==kD)-Qi=km(j3BJeRZS_=HPuE}E?%;7I)aINsErq-V2%%jZl9tXD}~P2@ED&l zq|}Vgv6POhWKkb%q-xTN)wY&(QgC2xih4C|671&H5G>b^t-ZQkESZSXJ z?3Lj1i-@gtOQa@Uy)pPIiE9BAC=CJWNQNN%jA1u6tcLA26{!@OMZ;nr7wjuu1Y_3G zO~oS1HI&^9V&X?urNv@tD3|xJTq)h`GoYvt3|9c|W|^Vs_=%j}sYK0Gb3cRvDsr_}gi4mw<=7*#Kz z@=17tC6Ph)HsulyuB+LJwofvJ)X^~N8x+^e)I?ci3G(t_Y|%M(r5Ce|Nmxnc^We$) z)o9J_Rm}z2a)x4(_90Q?xe$u(V375MBi5eDaoaPe7_&3G%-id0sn`WbV{_x%={I|Y zZWLfrvnmJieGSs@+czaBVv6r&%%+YYs*1XiWi^VizhjlQj=qym{*iZlyDf^D(J;^x z=?{0=p(h=O3_=$z=j=FYxNBnHKnTg^vG^qS_>MQFRn^3#YWi2U6H_~1V)b)g9sbH_ zt0@~K_1t=N9fHSU&+D>V4Id{SI6|}u4^pb3p-XnmJ`&;yW61Vx5TnL>t^uAPTz8IR z2lAevK9z+O6hgdK)1m7yirS+fsnf8w@amK5N{rkiqavcsyc}`ni%)6?nPOkia*$9Djn54E)ZM#2t>vqv7PFI&N@GApn<0UI%m4fZL2KY1xG+b4s_t zozUJu=z17`Z>FiCZzscNJs(|ny;_A{)uxl&>e`^CC+KAejk>~u8W&-HplmKFY4lzD zNV~>)&`E2)y!!vJ_m;tRb6ujQDaM$YF=l3lm?36nW@d;PV`hw**)hh<%xuTZ%oOwJ zeZRhUzOHJzT{SZ`UHNlLT9WpbmX38~X+P_+Y2-=kiXJ%A8LBD@oMt5zux@%ZTU3nU z8|=h33n3p@=koXlrS}A}hONwx=j0HW_Zmr$flZFP5}5Vz{Z^hJl@0ZC?#)g*8j*$2NY{@8|JitNEMD?6dy%;`{~xM|{SbDN1K5ddFK->#cvyt@#KZTu_kM_o z{LZ09zij3GVI(t{#-`&>v3ZG7vhr1nyC)6`7nvcGH(|3U?R~ z|C|WL>=ZdNntK=N-BW?ccZvHQlw9SB(jtJM&^gIVhKp@6vZ+VjG3853Li`@=W05pA z-}k&d_rsdH6dIUTazcHx@9jP>3FS~nE$O3smh>s*&DvG_j?MpjW}XD)S=0^I&`ZCiytWTfvFLITUg?kV?40GGLIi?{7xFTrT;>N$`95ulXx8BlAhF z2P`=19ReeYkF2j1EVr!^m^!r`w`3ka8I{$N`%J#pYDp-@4c?Eh%bQ?lR&4aj1de{B z=`efrsi`tvmu^;09w@ebe4`JyX)SzFpl&>A?pIThFTo*Ij#6+^)2_fFRgFR}r!P~X z)2?WtRMk;V8Pd@qadY{$+TZ@;a&utpoe%&LG`+_OJ1a*|%S!|jQ`HP0+O-nAus?7s(M~TieSX)QO zZ${rAX^2BKeqI#GDJ2Yp&bQDMOOZ9*KTg!WzS*{O>eXc!9gx_gl^HRfl+u*vcWJF4< zrig3yT*??#5#BE&zUgBtfT^uY%{z$Jw4DZJMg{p*$6%96(PLxIt)psxr#N#Yh`hLg zqPK1wkR6JrU;FtQ#V}}!mb3t)`3QaW=bffVrQ?=m5?qts-Zp5ehkU_OY~8V8fOKSp zEhg%~ZsWlXyvNxd>opE4p{Ty_BI+W=uCcGP(63hwp0z zhGy~BpJYqLNTssI?ZvjW@m`;Erq_N>;UQ@LQr3=>BH_Om%AW>#0-pdy5UB9+>Zmnn zr|i_2d3qT?&bXO>C`Y7e(ET1#?aEcUut<~rGC=DcPybW*wf?DTeq5^BS2yi$<6!jt z=ZxhmV)^@TxdxvE74LB7hHr0F-q|^odz@`KqveP1dZ~Hd>OD`FPVct$LGebQF;E{C zwh6R`%LHF4mVGqaU!CtFG}s$cNL0V%v|J33pf}&87AF24(KOGZCaOpmY`8$Pc&kCM zT*m5rgY9sFEYJ&%8Yi53Y;$EgzT2~X%_v{vDL#AJJA0bt-p+2j*ez4HglM&%t8L5> zy>S^GaJqKfOR4!Ld@+NIiKqpYq^w-8x3JB&r$YBF`KvnaCE=2dv>xbHJa-ee<1c#y zNjcpU_SqE3%j?|+i~F9h^KCzVO=y+3cWJlF{3~mrw+YIU)m>XV=Pxq`gjqHE_=)oU zv;N<}6R(#fz*?C8FV;dmY>4|OQ6&7tu66z5>RT``VYH??Tii+}^f!2jnF< zV>XXM^rhC{9$qPwxe*q&(kPD7V6M_6o*4%mpGY`A8E}5e<769m(3F;twE`Wrpv&c| zEcO8Oh0_+K`rI~T%EjZXix#BBJT@P!iz|c9>(RBTiFs{4L>6ZTUDs#q^PZ6v6leO~ z)u&8l-Osiaw+H>M$7IaDM>(D~NPl*Yjm<^?y9e}zzTC1m+0iIqa|&I4+)|YC46}G8 zn1HuXv@5_fZYoE2--8j*+)29s^$D}!nb)5cUvZyk-dw!D=q1$?CnLSj00PI3NW~0*ffNgmwTuA14r{*c93UOn)z|h&X^1 za0l@J0V2LHsry2xKs3M)>Pzfp&bONfF2D--1r3-)Az*b#hZ-l@5~>5*r3Ge3c@fEx z5y@fx{_OUan~swE)O=Ga(!@Xi(k}ODOQ;-ZwBavjp*HnDW&q`0W!k=w70^SJA5~gOxxO9hd|JhJbRf63_y=09wPp1crce?+%FS0$M}h*g^oUA)wr22fF`DV8}Qg z$POHq80bF)hJfdf9#}WR59$oq$5y}{s3XFgO2(TCd;&QfCIFMl0;8Tb68!X2`S$-C zb)hZtWsVjgKTHNph7n;i`Mg?K z1z{?vCFeYiBj@+AcsL@Iw%6KB)zdDT;)R0Bw%JNgj`O61Qc5Tz z1A8vPWshHVIgF`FD~58jkXZr>L+I0ygln`Cet|qkv0_S5(%{%L#mvOeR6s>YeTWc~ zF*HcoEkYF!`Mlrwb+77EDK_-HDOc>iq!vQ_mvD79|KkoL74s-5Sz)87?B(=p{jR~E z3jDZ1lnkzpY?;4|1Nlxdu4_QE6jRER?{)o&gK7;tV9sO`#4gE7jewAhe4NwX0$u~+OB?;{Wk`yy04G0r? z6h}3`5F~f)+;LhZN}6M=j~(*V^d5(H-(`gY<-X4&ylk^DEbn86c(m_!F^HwWE?mRh z`VePO!LT{uqGyzhjY}Abj`QG?&pkssEE(&Px67MY!b-7o%?H-Y>sWLVBZw83f+?=5^l4NN7%hnjL2LltS1R{eWR z^rU%Ai;6HBPW{gf;pi!vvAShMjkY;Imb*3+QBvNRA6UyBF|`PNdZ1ZP=S29e<;^~Q z>)x^SgJAxGAq^!VrOw`!>xaYM5Mtf}!-`-%1iqtYw3g5j7`0oa!66vK(_LPM%wk9? zCKH~1hmQyAvEbW@14s7)e02=riX9_{4WF6)$ZtYG8uf!A^rz7H@f;KsP56%I1PDw> zk702J&TNCA1r-*ppba0&YC#e%QfTU zPz@aa2K}tGqK?ld2sYnNO3tR!d+ScQYYuKNkOzrH6fiN2UofE&Oj@PW)acJ%db4m2 zf_lumX7uqc3GU1LYwok0jBIAU)B@QT4w(6)1Ak?vY{b96aZU{blX9{)VS*#9T*2O8 zjF{9cJaBSQe$`wmAlkvM_-zsoTR;LKV2w1ND+X26l(sb)A`P%4d`Z zla!r_Vnz0%HDL->Xikd{E6#mu2$JO*DsD-hs*%5|PxeEF(+Dw00+HK=?x8F)){$0@ zGjmC0P3;7aHP*97Im@vtE_&VjrGv;Q8O&RS^%MnLk2hr>Ju_eS;dTb(ho%2G&Fnoj zwUXzIxIpO$KbA<4R! zgcButxOPSA59Xc}gh?X9L2;rn|6LCyJFC3^bIg1nGOjzRi1~=vSlBogla(dg;g$Nt zja8IhQktCSY*+O9)EJ%vK2(8qU*u9Oa$S+?H-eZw-ji{?l(b?)V`?bxl%W%j&x|+~ zMnU=c24W*N^+yF^3W%egb1C+Q@WorNL^={85`xPH5+u9bqdmxrx%hG3?$}Vt`b&qz z{?-l-TOcl3m}ZMATVdF_SqD_GPaPLH`hASyr!%W;hGM7tK%WbOd<3Ih9mzXFQglp) zV&iLk`&*MU$cvluxZsW)O=k#<`TN%df$W7D&V7-lxDX+7HI+hQGUa>6jldsJN=zzS z!~QXFSksWDJKu4P`y$gvy~dD5@MXxwEUb_?ua{OEdAj}zYVUugJr(C9%&4=>Qj*D(~bBMKw@k?Z<}mh5d6BtY@S^n3c%1(F=CL>ET~n3;w;e*H2_I znG&v+Kr}7jI)W2CX0W;?hQ*Y-e~9qe*+59z==ZeK4?^M3LH2DYpips~GA@v5ZuY); zBS_n4mhsLxO5P-^yKpTZ;7MBY&yG=ANMI>xafrmThHP`7QOxI;iCZ$xDAQfS@?at$ zhYTpjDo44%VvC`M;z$vk(uD>H@QJ7_&ZfF^{gjwObod3q#_RA4D0_g*%+FHYgH$0~ zLL&eDH3UUygJlq|1sTt*P(BYIKRo(vMh|S`(>2ie_yuacXON#Gp{Qrugt*tqlzE)Zgk0mt@n?Vxrl)PabgmAnAfhi#NET9)GAa=ct z*RZ?!Np6Q2yW@{dP5?9zN9xi|4DXN+G{8Ox)=SzF2sFT^h>10W!~!(HJ_ve!|5pQs zWC-x3{Si-Vo4dT3!@f?RfPZzK#y67T9f_+ZH@45GYNKjTm4eqY#B8+HvoBN`&d-}L zTh-J!VpcMqS6&Czp3g!<&(>bc&+g`1%NG|{)Gi*HT36K69#+=MIaZq7^s?TO*X66& z;ns3-1e)E!FD_q2m-m9Z9fog;6z>t$7uM1fvxd?_?W<%)J>O?tNz^n)LI%=Lo{rCb zNHRj2V2kND&Q{X2_j2?{Z$GqNMx>2hcIAy~xADhKa>C0&YKfVbV27sj#@!iQ9`;At zZ5CoR+I<_1$VjvPtzBy3#W(9?|Fq$f=8DOIh`G2(NKwn3=@of?-Lay#x@xyEW(@yB z1|h@BR1+*ZlWv>fcq{Eie_w^*8w<7pg~^6E;d$fpxC}$E>@f*%Rgm?8fX=uxX6R1! zUd9OeoY+HJQ48!G<;Ui8{&nrQ`p))d?^LS#HZ=R1yR+W$z1R6OnXN8e##^oZVF!Z% znv4pqf$Zw4YBOf?54ii!C=Y5E>oyNc`LJq4?F|i!-NF!rC_(!ryk9-Ds3fXIz7tnR=~GB?Az&vfp5Y5~;%+Z=C3p}ZitD1b>t}WCS^9YxFToP1 z)gVVhV0;k82c}k*Uhup+sno2gSErM+Gy+KL(>f`IjYVXM?yYFYHcP|;FoMD zf@A_XCi@~1mMW)g)*tUb#)x!v+8?h*JFC9LTLS9PayKdOj_)`>2;@8~VSOKN#~}C7yphgBY*k7N=xFI^cdvWPSZRy= z+1#0NTEs1PnS%GYCI67Suwf%GVJT^%O{nJdcJ=D27&DIg?KY9?9nJ_+b%yInsN5#^ zo9#UCoEQo|Ky#_ujFS!HAR4G)c^KT_0^>_ND3L^sD22 z{+|{JR_xJ8z79=3KbuF04ZQEjThEWr=3ND>c;BAjHW2-Oza3xS=OV-%&`hJ9HeoK# zCYdkiU~nL|E^^iHF{*7ZR$STB+hIq&@8I7LQ>|$E7*zj2(_4^VeKPFq{H-2!fwN`% zx)ZS`j4-G4!1z<#^M33(;&tu*i>={dLUxnt=*@FK`+S`=TgiI4;lM$RQwFbC5qEam zny+rEOB@R_d5w)D#R-o)Y>Rmyt}uT3Lr^QT+QK8uMqM zf&Vd}DO{M6QrPrL1c5G)| z%_B>--wSR*Vm-Kx6?8%9ZtK#?|IB%#4M#fl6?K?bimz(QHbA*MFKTu-9TXwj5BIhZ z3WC=yS{xgC8w@FWXj&sgvz%ah*uD&vSPj8xipxPK+QVITn(HdQsEpWMd#{kmI^%OH z=3Io4&c_llaI!A8&l0ZrVr57V_S{nfUHidL#)r%PxY2ZFBQ)HRM?1nWo`VfZ&q{=L z=L~Pp)dMA0W0avyF3Eul5I2H#Sz=sm=%{l0O0b9m2HbA-1=z-BqG9F`qjK_e6_Lov z&doSX`E8!GP>s|f7OWQVFkb9v>N6?j1pW%2y7Tdn=SwKJZv!Y&iwE4DqD*jVz724; zfuZSr5G>usk;=D$sI}UpM-~3k3zEcSS#`vezmL-cxero;fe<@S0>gSC!W^&2I|HNG zE{_j>Jp}^gJ0;&lwMoU#Z4!bcm)!k@(i8u4rDn|GcYKwISeikpqq)qG(eDRnnJqLH zWw-$-FUkpf3S}CY;APVwF!oWHuX^v_41Ap^ zaHlR;pdu>4fAw8g;0y+L9~{{4)6Q`9CCl!G5cg3>}gSwq464hwz6 z!r>H^!olY^9GpQ))JlgB_>#H}`X#n3=ol+8k37`b3880IA*XaS$8Rv$Qs`i6cqrNQ zVCqrkkRjS&xuCU%S!|q-&vXt?M7>v^yn)_Xl*F6>)|#xyT>`bhGnX53_b)$e4zZ1X zZ)Bx#I#CvX5UM<@z16&@2nAEAW{|blDBR2Ku;KJ&(6UzgN%B-G-km`m%;(G<)B1`E zlCs$_Y==s${Hp>CtA6-ng-MVM8h$tJ-k4%aH_ocbtE0u+t`L@D#`9}h{%#&;tc>eq z;+>Hl%irT&iiRHINV%i)VOu(BzgRrAySwcZu)I{F-Q#tES8IEgedyTgdc3No)GSmB z8O62BEZWq0tC!%WaL9aBKl#ZDTk_VAzbR59KFvlsy+q?CDzaMWVtX_Bl0L#|3VX}> zzC#I=8D9OHkBa{Z{`~hJ6*B?+?mvxn&P>&^TVY4@dl=Kp9dzyD)a{G7=gh%p)JMeq zcx!kNpN)Ih|LNp>Hh| zInIVu8(WV&E0igBZxTc3ZI}OA9pdSb@lBud4G-^In&k9L_uHE|tCsv7-w1@;zSdKR zuvYR<@0?il+Xou8f*t7lhcC1tx~gtoS;a!Kkcx=50YQu>Sko*f+ptGA6Hl`v_-^UWzP~!+#@tiJPLN#!$ zWLzZoXcbzLg^%}#)4xefo*bo2I4Ggzn0_c1eEwdQ{%xOiQ6@bcEJ=ICqY>$MSbQ@I z8!Gw{J+_Vm`{aU*G8%ZH)2{(sa%x3gW=m9NAXNX82v(O*^&nvGqgSF;%B(8O^!Mv@ zNhO7Z3ShlndH+f0JbB?Ul9pYK3C{ zf;ym@@Q@Ivp8ndmKGv8_t44brM0x(mwQc{^rLxa?QSDN!*VY2>);|+0ltj|M7^UDN zo~z=GDqE#wKK!VWk%&DR3a6m3a-9;eD=kZD#iAonF#ae98 zc{J#({_Z5v3)0{c3CyTz8SYs8PR{$d5INb|lR8(bKLI z9860eL(5P!Q{fR~czoXVl2nLXkv?Kve}Z-B9qgXGP$BiM`_-StTVHCR1yd0b3fB8r zkF%Wd>d}70@zCqqe#Y>+GH>>h=q}`c8`9J`XYa<1ubUF+6M?%_1Y2evup0Wj z2+b8>7_JVX%Pp5EHsGKwqii#=**n{-Hz%%N`mI)~vul1}XUKcz`aIsD7oUT1PbrZ! zS}nkT57lAMqq($N-?abwd*%lg57yqcI6kqfHp2EM0Rk6(3oh@+9ZG^ohmYe>K8r_l zxv<#$#w605*FE_{T6yM{y_T|MI=tg%s!Ivv?L9^bpT$V6)q~Go=91#xk*R7+82lp$ z9jftSuCxRWC`rB+`jbrJJMVJS9wS*{DTMcM7E*#hLK2LTDEh&LCw>~jrsh(ZK>D#; zgB7o70GEO67-D_R98DxV{Tha*HkabZtZa~k$ZITIL*D2)_eC_)CK+L4(&4)y&9`)> z@CXT`ZppO6%O9KWnEf}L{R`9Lkw{yls2^0E^3YVb54~q_ccj<~eZiDd z6PTKYs@aL|(;h&`LDxxtCaBb<>$d>pZs}?D#!`mc`#ovf7vF9j26?iVI+nK=MB_<` z+kf-g{vVNA|32>b-zylz%*4p_pOO2EZoi;0{H{Pyz^1*L;ER5B!!w@K75(gs_NxAN zHf}nz|L&{4HI`N9g%r(_&s4tm+M_y+x`G7zwAP3&v zi1DpFo`DS?CW8*33^xT4yimw`&m*b_yHOj>BNL?xH%}&un5Q0P2bRQ{EL;8n3Mc-t zZa*#`4Nt$FFNhhLRB^v?XG8|K$!7GwoL1ETv2OpdZUbWNKh|wrC!iSF;cdObu-ICy zlnU*Hyye%u&HUEC`IW<&sL; z3FQIUz;CgGw#X}!)RiWp^-J1s5+q5u1lSBJ|NmOISvdYX{Q3XkP0jxz&{_Vvh5Gji^gq_^Ki2I( z*6lym?LXFS_J5QOYWznXrvE9f??2Y<|M}K!7S8|Re&XMMO7eeH(B@B3r2pYXky!qz zp3MIfrcti{+cf(3_x0buCH+$r=}%Fl|6WlfR@Q%dUi|OB3uI$t=J=;~fonP|@p#P+ znb7Tb5k9%S3`J-^KCSx4XRGRZev(f9V(I*&9bv$_ZW!Bx-gq*2fAC2!Qp6O)FDr|H zY!P|AhP^&;mXZu5O)#s1I_G}pSgn`_cR})zYW!rjsXV2)T&+BYra@M=S5B?DWFdt{ z;CZ;9Q36xDYC_FdSEu^+X?CRIok{O)F-i5rSM&ARx8!bx_E(&r#kqGi4Ei$y!9BNji&qI>IoQ?3%<0#=^U;2a1oD*y64i#!Y@K&H z)XXQuUrH~N8aA^E18U09%ifA4t_NM@Etq{?(O>pI&iSB|XS{dq-u&t>S%E6|~ zGpB)$nsSe&z zsE1bDmq~Sk8@x<|)eT_Y{x*=+GV#OZ19$z0ES^`tlN9nUc&n-x!MxjXJD8zw?<4_U zL~uht6yQa?h0zXq;BKQ#e@jtJafCQ{8=)L#++HTB=GYarTv_D@(T6nKB*(7M0$x=S zyPcOJ5r|^4kHsQr#UWe(ATn%0r_WXSiM9BSangd0nA-+IrZ_6-xE^~Sz($OVEB(&u zlcq8o1EfC%0W(+i3G!L4z25JJ{+@-`EyH3$WwsA9h2n>We#}QV_a?0Zgp$)1=elq z$~o5+leu|GIky%MTs$NOK}BI)=1c?dhG!~NRPtpG6Hq!y44_Ezf`LTk508z=V zKz87;iVT2BAY=d7xgB24QC%>pb$}PK`kNOak%w`gvVcM4<{Jx?1%L_*P(*G3voQqZzL-r;7jsq6sh{K${#uR19E1fCR1>0HRtT z3hO?l1%v3xF&4NE95)Xrq9>5R3*bP!fGESJ(8VX-!&gScC*X7vLhv2}3G~L=7a{}> zB;OCp8%SUba3BB_DYX<7->3`rZZ5XQGT^S4nAN#d??rCrB77on1!*SGX%mnxDk2uSO18{DSH3k zF(=Dj9mBX_qO#Aezhcuo5gL;JzTz~7QR~QxEiYF*yq~XEj{qZ6;Okoq6YKhavir<9 zLBaroiomGtROzlSLD-l^M)tfY8tQKz*GuLw;^3GmiwA>7f|^88w(-o{G!nG4@#Yk( zgK7&9FkeevYI^+blc-cg$&!Dx!ebu~{h-uO{t7T`@ubjn(aYrx28yMnq7|0GmOe%b zB~j^_kZyOrb?ke0;vH6L)?={9BgCq`asCxGYNk@ijgLweb!8?ODhdz^sN+qp=XuHKoBrLOS~c?Zjv3^dzuWSmbC}69w!R?8`(p zrrvET>i9Dlx{gDuaqHp%1?c(fI!zyqzDW0Bcb4Ej-GFu)558^AFS4O*G8**g3<_y7 zBIZ{!idr&XwlS1jG}}Z{6*|&xb6a2tc^x`3W;wd|lckfU27rnJv)fD!{!49wIll(rOcI-}2ngn_BOD`vxB! zOD}kVjWd*6yFILZOleAblr>nCJn@7QM`W*`LSRz%hm>%7?E?qThh*vHl;dt1IoCemDexT#?C)wU#v2u1j%DI>)V9YM_4 z)qs3|T%T^Lb%GR+RCS`i*xj4!?3bJ-yl#!0++dkPN}}7Sy|`ndz_SlchCdasBN_}* zFZS$$M24+J<244o$2%#?cvZS#_(IT&;yAB}Pu7KTP9$AgW#O99z^9wnvkeVD*lBYo5`(Sc)Pz+)rDWwbWftwj&s81Dn<)koQSVwT`r=f`h zkbdb0h2_Dkxx|tpkGQX|p;HHCjbTh`ES?dp(NhBW1J?27S(!hu9EF zn<^&J(J}fOO=bN`fLbPIOC*X_bwVVbtpH_DrVn+S`WaTMJP>+mgpLGzo&)}Lk1&e& z)QCz;}M9zzQR9Pf10U$ld_lF=4*ShK~PIyy^o_Mfvi zg4o-cyj_ic-S*!$e^KMGbkY6oZHSt_`pMbii1{a$c!17in!KkxGhYr@4&rxLMPnUU(DSv64O_)~6c|V_-dRe|ndA^dIG&^@U)Z{m zj#ohH&6}E~q>zql2NaJrEcdV7TNdbyxERj4Mar#Np))bv7u-OwY}{(4jw-(Y$I%Xu}C|FuH`2_anXBw z3aT!j@PR3cjqI0|VLLe=@9X1T3UC?>gaqEb5~H)P9oZwUMMq||h>;yRUFIl-(+*ST?|q;O=@S8X81^&nK<<2#srMADA@?+H5^NYPrjH-i_BS>RuOz`?J~j(qxDCYpQz6 zZu+J+yD3Cim5^0QuUs6;QU!Oa@K2qtUQ2fAU^;ZlXra$A_#&Ic4*ub$#(bO5LQi%Ulmuj0GQxedUtai#sFq@oe~E$LiG2{x^!!S8D;YtR0n>v&R&1tF6&7&Bn(9*VtL240pBr2%^UZ z8|{t+E)kC!Q1}id97tQVPOq!A$v0bhWVPskuv@?0`-#o7!SV4ueeu18PeYyo)zonY zowhfsGBL@{1;6bYkzGwMUik>hiG{|m^1cqx@lQ-5LpCFJ?!^iZFLWm^6HYsYxnoGtv3a$4<4-Lw}+ zd=d);j{CItv+J{~^IWob!^--)-ui1!LHKDmiMU<9PcP`Ti^3KnFv|X6rslogW_A5L z*w)GTxK_=bXH$FYhRy|_0T=hMOr{ZoT*tHQ=Qya@73{t=?{MB!>by{?0r%%2vBC3Q zKc1{1SGhMWvR!-G6*#U&{{^}3d%If- zpZuYQKD^F=@#mYUV}PDgP(;y@<$#^%o0V)ml1K%iw$aPmL9mx2^td|H?$y^(%EpES zZDR%Hf@&s?Q_~2SYnR zoO;nchV!Xs;H{7YY@RdgHh-oU7M(&u__M>uAx`{L8PJ&HQAYf%svPi-&`hEnI4Hcd zH$OFlObF14S@!m%%wYDf?KeE=(R&rs2HEqOEkf{LA-3*&e$Ya)<{_YLA|s2mE0Dm4 ztw|iHa;sO?w6S`!GlmGq#MG)HXZ5nfHTNC%&Wz+&O)k2bz28Ysb2mA8#P^=8?uo|D zI%(3EeMbbPq2cCI9Q7y~PZwfW4T4gD7(LiUg(DT=vr*+UO^i}UFrZcMrXfPJa?+j) zX(6l8a6y`2(f@|YBZNa9ZY2MNqkTI68G{gcU*_|yA;ZROcOXM}bp0H&R#^1>Sn1(6 zB>vp&HQ63$HVjLqd`sfK%gQi3_HcDh+*)VJ9L=G)c;#($x!90z+t4+^+)K-Ws%@hq ziQwGz63E+B*?7XNl_w_VbUn<75x^M;jV|bePC@S{Wv@0N&=N6mL{o0C4M|8MivW!( z350MLftIvOlmIu>(?pr+u?!|`*|vf8R)y?)Z7C3Fsx^VnMuzv%Sh$S-2SW0=5YEB=BbuH|I!$yvR{DiFE>ReL?R%w)A7dvuA$88vd6oW1r zj*(EEZ;71jAreHixKFCa-(@o41XCGqLZB{a;@H&`mm3mAkQ_`GHZW%-##{CQb5D{s zI-Ji!UKXmH%IDA!vR!dWZ@l<7ip^K9)@JLu0EVCxrMyUC7~kb9_N4d25dQ|GON92E z(|m*!M4pMr+HCGI2`hD#1`HWKtCLwuyb=$ckE7V-+{16ZRm`kzfyC}4zCGWPs8qcp}52L7NuEmaW{T721j%{Pj;tX)JiQlLOsM@v$8_^ zLb!t`lN3!9cBo+!QsP&SE6T3iq4ay-M658qM@IryA#!}ihNIcgBRm(L;|=X=zb^Gi zg(-D)hV=zyds7O(M0O!<`KLi~BP0!WDV6-|yn9hkgT$J2Dx&wd zcJG%U6LI}x@&R?-(l7V6`jw07-rch%w;OIDJt`V0%f}a|7Mv(3y$H!P_$}wj-jg!I zHz#wlGdmd>)e+p7KIPpNcKYjeHPT}BRk&0z0vKSuJ2=pF9sYNdsSV#T(_S%4lw5Q@ z6|Q1YOmv?JAXDY%l|87Q7s{xdV4|oQXh2|fls@k(s?QY>(`)F`z)dB!?aHEt3X?~b zcv%f250q&Jkj8W5fFnqD7rIK#aaHp*fyoTvavLO-OYwy4An&W-l!>iRu{8=~ipXcG zHOy8xp3C5*4V;tGJ$&>Uis@sHj2MJyKoaG50j;#b>0$(t5X7n?iuXxfVeKndg6O#> z4U6dVt)15kgNyvEddVFWEvybUR5-_PStA2(4&thrSQVASwEYVV%elt&sTWtflL&`} zD6~G3%zW}|&>Dx!28Q8h;}1M+tBZL;BLl?s4!P!#NOb6Vb|0CDYn}KWw3A!(qeEdjsq)T@5H!~_aAIK&-V1zIpsZb2_=2_Dq9cO_gjRw6)o3b&k-(OR_e|u-=fTu{ zL2dfb>{3FwI2BA^vg3y(02FqL5M6+!4@diH7Nz zG{{$wKRF?6dM4NinIBS{DHg)0631tMBvjR!f}Uo+ITMXNLGJUB3J>h1-@xj?`*xdf zcCJ0<3=s{V;b#~n@Jr^%e-1|chKZ4jvb@f@W;1D8XFHR%vHlD(>7iEQ2yOJ~>)N9s z`*+@UU8OE+wOBbge+@#m2icY}bF;d0=Y{dsVX$tntihE)5!#04Iu8yn-*cMqyYQMA z)fpuj1W6bU5*79#5@Y-qm5)-7R!eB%!i5_vG_~#6Z6sIUTZXrL^$J__EqJg@`0qZl z-Eme$AA5F^;o<7*R9u~ecS}1J-~1e#CX zUHi9ZVDAyLSRAIh)noc(Xud*Zp0awISGb5$q%F8MX2 zrgQ2Gxkv1(909qnj8FCpvj@a)V%|p~$5iFv>IB4uvoIHgWvSuVfX8LZ5YS;9?U0Q$ zP^uhe_?`w%>bmctlkhM%czHjNu zp4|>h7vt0fvirRy4dBlq(5&sWzIAO{^XXP*)03^OzFnvBkCJyIdoVBt`K8&DlN2`f zr6@A!88U0V#t*M7eD(?8UkK7_a`;2~@1QYM`r@e}7{@pucBuKF4Uc%BPApi{`3Jx7 znD(mDD1pqL%aOPtd>BMuH*er^tMv+8KIA>&$EUB|a#$d)T;6`EAB`?r`+EIGf{Tc8 zCRuSbQwh%4*vZr7M;KWYm_H~m>RNvV&f0N9=5If>{#*nLyA3{nl$|FK+eL1@j}tklofWT&w`pE$nW! z-~kG)O>Y8+R!oA;)N02aVHf7qHQlk_9YfAw#O~fgziNb?_C<~Ir>x`ltLpMdj@W+K z3ItvqvPWAolUhYrPo9yEknYZq4c}g00Vou|WUcpk<&F=JB#$WCBA+`J$l5=c=}~O- zu;eg%l&@U!eI3ZUMaoY`-iAk3u`iUo6TdAfW)GNhkyHZJzHV@##UHU9 zPI73zDimh-t&qw+)}&lzgiDs;d_J7RweXUs!k7rn?X+RAQcLR&?_G;77=1X zZ6Y1%uGssO2n*`77kYd*=t#&Y1~oS7h!AU>aq5YUQyl4v0o-^ zJ~p|s@aD51QV$Evg;%%|S=e3}%KKjDY!B7@`M#5J{xyzWz|SZA(33=&_dJS1fr)e+ z4Bas{$=H=vEZeA5wH&x-h!l?$DX6gNZ^(GPfvgXG@*v>+ zm(*%J<0|doy=RR-g3F}# z7FAPQjT1Xk_hD!>(X!_^xkl-+7u~*tL)1|8degSvr?+aWjrVpP^Kyoq@GRdAT*}_B z7YAM)4dF@IhG@*AAlm6$D^6)T8>=WI!e`JzDUc)!9D9xSN|%H8I2t_jm$kt`ZsSesfT7)0 zv=d+CWYOS`{MCmJ6z|cmFc;7RyU9{3U7G}EQs^U9O)=CK**DJc@v^^XX6k`}cn&}Q z;dj(|ey%;VPsIYL3gbk(fNv8wTYNOl%7|RYAAaW#zjH2J@Q2^|%WKZ_AA&jZfd1U| zKVR(+zw?LR(XmL{i-Q3HQ4!#tmKsR-@>u;71Y~OZ#_?}Y>i=eRr{a7;Kh%jx|C@I; z|5S0}zdls*zsc{g{U^F{E*AFx3|f}9!{tEpo2E77$8{VZo$5Ino%cbcp%MXwAEmfl&Nf-2x zT~FJtt>ZV=@1($Lf;S|fT@*`2IArsgo)L>=TBEQ3TftCO8JAe3{Km5)g ze&-Lr^AB@4f&!fSqKg(<&Fm2?+P@gh!#?YPa6mirm?gTC~WB>53^@rd2Z}L0r z|E0J3tn8fsTKl3=tv%>K@XIbifawwyT_k@!#TvwB*ve3R#>H9~HfYOULif@3d+X4c zRlt%U0ZNzOO{_phRn@T#=RW;L-fcX=>sY%RWoVaGtFRrNsjMydi1^xZR#WQ9MTO>7A>zQg=poz+CEnd zhIh23o|qq1%yoNc)YK%qa}B8ig#E&R80y~t#FN7~KvoG#5(9U2YeuuhfJ zz3a!;azyG1m+T1j`j68(xDjZ(3r5L`+rpK(9+r>>)662R`__8vg+H3A zUFYoDXLogV^*P^HpUh=>60S+*@i*~i3%p(b!+HLnA_sNT5EiYK%Q@-d1D446@)#Da z(|PQtV?XI8sY!qP-H{4~4kgW`l|qcrEcuEJtLN$}D%doPvg-BJ%jY(Q-9E+*nLq}>mEw@F}U=6#^7>LPSCNk9^KVE^`_Ezv3$0@V}$is!~cH# za}AICmpdP>K11V-;n(oRm*HMM&NpctUcVG4YI(+2Y-#!oZHrFb(0%NUzhDNLRL{(K z>V|ZTa~wyZ`*fst&afU|JFFX$6Wt*3`4w9%W|TPmGMxCW_!2?t5`pd!!T4M8rRN22 zj|p$jM_#ruXH^#&MLDEV+2K4sdO-0-4s%L&z?i?3SDkK-b3t~1@^vY(9UWKb_X3O6 z5lVql;z&A-(2Ih!eF1CU0y+%nb-~_bcKu8{9aHFSfjMhVJ?XauhxCVno!A^V^qYie z@qlTi%bY7xxWw$9chjyfl|!sC69dJA*jcrekuWhvSSO%y1JJm>zr11})dmUngxw&# zTE)FQ&)z)CjYkKo$M-?y6fbk*Nx|yjJy1Dkh_Z79(4-19r2|cXY|1pyl->g!ae^qP zS%cL>`k*7M5M^Ra5CfnFGvWeK)jBbhU6?rN10oI{S(LG*)lE+7(;)Ao?3&2q} za0=iE4R93L17!dlz4rn~GJ+#X|MD8?r!+rUym{=4Ha}mSy77QV3Z9Mcf$9RT*lL0F`Af$u&FPb{ekV#%75XsQLXzD-!>ja>w z1GxXKsWSnvp@2@|LjOfmM_Yi1Pk=~AfQY#10<+&qu^(kVj)*OQR;mVb00jx8JG>?O z3eaJZ!vu<(qOSlabDSXE0YEkfaDpF-T$#NuS`JvbpvaX#j9ftE7=YCTD3XHfEdbe^ zJwQPR9b6B@I1daBcfcCm1DywAYz1U8m2oALBL-FZ54_Q91nU#VTvRjYdfgPosa(twV3&Zf%HVN~y6T{s?ReI!S^Z z6+B21kid0U3v-sIc!Tx9)@+m7&nfLA9I5|MzlTl&w+3P4XNsjnQ_FmtY-GClqVU|< z-7PRd?xXH~MM#a|v(J)+)^};Q6^S2E@UDr_`)1eT?W8{>iM>x8f1eaG;>Y`xv$~~R zsI2_m>%9e&s_o|n`9YLtUT01Mcr^x?li$4c%2afj`By&Ksf5bDzaV>8pg5Ll8`NF( zUN`Q=q8XxP0sBkTX?y_5{yo{sbr?4_We$H+8POeg3o6^m%Fd4}#HLGfCT}BKo?(Rc zW(>E7MQ%S<_Wm1TC^MMien3V3Xcuwg(?xhBr{-+?jEPuB3|5A_jhlK#QGvVqZeb>) z;Ycoo9(r7;4t zyWvL9mh()-^W5aH`Sc>#7bOJfSV?Zlo=z_}D?1-FwLPm(IZ1i#<}oI>hwsX4`h&}` zsiY*c{vrxf{?rK|J8vD`ZzJ-l_6;;_ot@MX$kxk(oM1TLpwN=7v13~>(GhL;!Et)| z`pWGz<3Ji6UdpqRoGovA>$e64^KT7`WjIa}`Df@@q6d4J+bGpu@C8#Fx*|p94wrLx zu(Y#xEknArSq9%fpei)MMdGhC^nNh;@^##ZidJ1fP-J>Ww*+cNEUgzf=xY5Q_Qj#V znrJ$;&Hjf`ylE1+V6z1*Kpdl`btt)&v~piP;OFEMC|HAkEnTaaOEwTEkA#T<(p?&&RBKI49J>^Ma?0~7?m~-(Xq;Uh%LD!df2oG zbXrh{9(>Yx_gVz4k%8GT`Mh8oCrKhx{WnRQ;l@?O^aXCrb}!IEpriEY{Eo6VFk%g& zm@Y}8uca7uLk_F(H8{p-pdrRz+bKY>obv?h8nT|WJjx7BgoVQz!8Sf~tH*AtS}M$C z+(af~lvUz{=zWxi8tJcgO9R6tl%GGNY%k5mEiA>_y6dVyOK6D=^SEdsIpEUZPL#9v z(MBdp78X%qiSRCb*)zu2?ro?BvVH}#I{yhK%tb~04O%W>4vb5|CM;!JsbLQ z!a;Lj+K+n**yoY#Kh6>^_jZml*7hIEXCm6x2FCV&U284yWc(b{(rS7*86CU+4o#@u z^5Gj^sP}jtAg_bgNq=r3dbZfxCy*|GPs(XjEwcyj!i}u1aJIkaAjW_~gsD)bZX%|h zUXRAvas11rtu4D&qc>x=71z(dB?n9Gb~a8=8X_!lW7@RP_S0w#rAV^+5YZ^J2q_0E znB$9_dr$^3owN{W_NF(C_W@K$ifaYjH!>(~zq1T_>#13Ji^uha;`qPn$e zF;CkiaSP|h=gxY|wu55AVxHm@LN&ite&hB|csmD+dp)okcdy5iZ=~r2iH&bc+GeetL{%A7kv)o=+cAgvy z=6Js0kw>Jwr;A!~qSj8npCJxZx+n>&RtI0-95iwZXW0ZYS8C^BN!v7JJpe16|m{EVRHVFQ>tpn*@G%qspz{;8yr zWwSz|WaCuF;sEA6SH{o8fUPk~;l$RqrDUCJ4V&Xf`?kl1Hi-_^9(JmyZZnCzj=EX_ z`4EnYJ8Ku!OoHgrSWZD=P}@7%?tapeT@FKLXT^(CulH<2Mh^B{&ZWTuk2VB>Cob=- zzfa?@GMPw6vb&9oxFaIWvWmcQ3nz5F@|x_LLz~q>C054_D##0cixt#Hv!v*y{YqWy zohXfC)s|Y@V!j=wDmY!DQt_t7JwfSZ?wO^quF$XD1-cyHn@hSUm?)afEdxYcpPa;`VD}jV$ zK2cK`#9!HzQpk1R^ENleK~OU}KOyjBV)TjIlgzE`S0Q29sVUG+8wT&e&e+)gPcnp~ zGG55x=|Kr93G4N1yY3++X3Zthgm$D}+A;2s7XwW(k`QM+--QBR*XgP7@&?ze-aK5x zjbq0qo(0mUbu*r9%GVY@pj6bm{woDHZRJ0|^IyYhn~28xcBJd^Bs3*4a7>FLxW+6| zBY_Twk0)^PA6?G-1}1RW9xu0t$mj(M==il!et7?SA^&tMm;qWJ`&6VRz`2oQ-Yp=4 zcII8lH=hZL4U)4jbEf=p8I%3y6UbLe@?s=zTpR|K-7`ZFbM!c9?c1rQ(UsgWyj%s+ zr!R;BKYj_v_;=k-4CD}W89gp|`q$pZTs?$J8x1!!m>JeF*=XN{r4&WA-2pYlqoP z!NmHvNm;Wu7fX>uzK-hdrWwU4o@y(U>_bWlP9B#uOY{bGDW137mc>u}8a7{GZ7jd< z3XM?oqug(;aP(mAuNNd|r4>kiK8P*f-SwdM^)|7JlO3|58@ed+XxL10bL1}tW~CMY z)zz@6FjInj@WufYs(ngTeD=&9tr<$RsEK+z9mUX!V$4Uc{hbn)Hys@m z{45cRBVka&oj-XR%Ps{TA%iuk*PfGt#dDlr`TFlhY+ousCW*xB8c4~K)FUI?i zA~MEKe|hV_=`_#m3nu}MP|UK{ZCOo`M6Y(UMP+v5KIcpG)=5lM^uOp<_;Asb4PQzR z6S2rFtsm>=mRh^{NI*)jkk?UDD1flC2h;QNO_GXYEJN@&G$#lIVw1?TKrwsg#fnLQ zk#Ppj!advdlqdXwAn+O2q89;n6jbQXBgn+@vom zXwm32mu&RBtJGg%G~~q_{9rjrZE1b21UJ$f@Pj2qn@-sB+9xq|aJONU8e}Vjp?vWp z)Uno8qH3oM@EH`E=yNJ05$U80W8x@VWIQDEa{GPyEk$k><%JQ@L#MPiY@KB<*cJG7 z<37Qq2YA0Jxdd(3qoc5jzHM+4DNB~k<&#NBN@UncrdHag|n~~U%9C0 z4$A&~hZ>_Qx%6-IR07hP-y~(a4Y9Kro`D@W8VkFfUEys3Jl>j@J^B;#~LD4?~A zZ%xmrj9`W>r;mYTrThB&gz+y+sDJ*v_|F#Pe;|y1AdG(?jDH}Ee;|y1 zAdF3;MwEq#T49e#geR@c)!D+)ztNR7*$@gdQa^I+W0#hK#KzYM$2yr!?u z1v0%JCx_L`9=mcH5JlQ}_^M>YTP6^5aadYvEjC?7sL*)qLJfRZN8@OKwE}pj! z?LiwU2hDqYgMUj=NW}W~*)5#hSv7AZQZ{!T2aeLl+JSoP80jgCuG?-Ssw1OOsqI=e z8h=#GL4RwKuH{X3qW|p6Bim#aZpM1<4h~J5u=P=CA3^t+_-)3x$EL%Ec3qZG57kU6 zLzS;@Zsx}I3wV`UnY|gh_U(;>aSqyMB$W0R{1(Ca{grFwo(w)6Vv7=C&vqq1WC+_> zbd>#+ieewcGlQ{0c~L1bopHoSx2c19`(;s_KO|uNn*)YYg;%gU++boTr$JA9Z^W-u z{ZH&-uhh+c9U5Gz`{x|UCvtN)Xjz4?kI280vXpT~()w7j$dRGQwMVl?7a4_Iy`JdZ zSUgwdX;;rZXqPdZVxyMiDREN0z4tvco1{3yjhxyMj3x&eDf(FMF|Bbo!P>F8f%b|L z&uxN)Z~E8a&>K0{3t!H^B$J4}OVzTu?jMe%|6Ls8?}7AJ93%JdLHp0wrCh8W|G_|8 zo3dFE!4gq<5>x0=CVZVt*7o%DKI{AD0Ch<)fd{hNxcFHH-d79F5vXSq{NF|qPilah`ZdG4Di^^)wkqfBFYljUTuo5L@COBwOA_Fn#?Y z=r4uJmT$pD%=JCvVJ3e#A=595sBGiM7mATgE^b%F!Ht1X+NDp79R0X!O%}dscgiMn z`_M?&N7YVFudAhncP=hpzoZd|n5Tt~dXnbHPu$ypL(IKw88<41z3`#7+6iq3_4Pq@ zMb$f0byqiIS`uK#u~f#(06;0;x-5YPaX3Ect*q#$0ty|~SVnr8WISqlwD|uyGm_=f zkG=D?uNA~kNx%GxQFT7iHqnr!nJZe%#B-^6ustj-p2cysXsKgXndlT*v4aF3NR(wZ zUNS`bZpdzA05{zQ#yY`?v1}4V!s+Ka`_2y)^9O?+qOzumL4JUS^qP{kD>LyoP7*R`Q7?A$;eS6yDvG+ww z{fA@r-xGBDBf#(nz)ei-BKUh8bqCxcdKR;*{=-4^@2PmGN{g|mxtqFqIhnJ_+M8IK zv&fiRTUxnM{I>wy+`q@`zccZ%v;Kz@pTjaM-aC_QSOvH|R5XN7KLUDngnGrZ>SbRi zWxd_-RJo4Edm;@r>~ACc>*ojfKiPNU(YA3q!#Q^OXuOm?VX0H9T|KpRj2SBa_#zMg zPB0JPtQ6z`GhYe74rxhsu`kSV@!C58B{ON3RV-h73u>67xP329tgFsuam7#JxhLCJ z+UMDW8VycWeiMi={gt@za~5PfC3ITr%NF5HtKMH_bD-P69l`JTmhH!j&8bsZ9Tk-p zmhh}XC9xlW0Ni?|yiJ9^93+cMxW&FgM#!!;Z=El3>2#wp|C<1Ap1*rq_U{NVaIVHvC{|E2Bi^Aub?A7-iM-!_Gs6-Jyz#WM@;yV(bTl0(?u_Bu1}ku zuSJbI$$TtSA87Dc>X#rih?KoRewKsKB9E=cAJ*zXs2#2WvKk1JV(#z zgu;5Bu)MiHO5Q%6yji{IoKXetoL-^i$Zv59yKou$MC7?2Y=f zv(#VDXO{DRDBI@vpji|bI;WeZxP$huHtS3{9uI?sz`h>DepuNgTJ!hL_V(%}wlg)3 zQDR01gV*k&dDR)AIr@0_Vnd_>^RKQX8;O0{t@*2o7g8*8rb35uGP&-VckZRi0fB`r zI=c6rZ1fh$`IDX(eM(aAJ7+2;Jyi~0w{6iu#WuW17CaTv{1V9gr(azmmOT&fn4cVA zZDJyE(Zf4#EIG8#+=vX{j11X|4B!63I;2xh$!CktXjvJuUqQCdXUipFnHBW4Vn#X3 zy-(jVE9AIBt0wE3q_xiQyd>nTLW?yUgJh)6B=yp6GBz6nZN5%L+y_tx$c`e}u2bpp z<+drAQ0!Z^q{FydlI`*Ln4ZkZ3cZ^cCxNT43xYkV$P>v3;hUtzKwT~{7R}(~w3^`s zF*AVmIR%21o_;L74&Jf(XE>(gS6-flMj@ZfG$;t+G8( zhv~E2jG-TVmOxbpsLlgbKrVp>s1|IBrU3q@|4nGeK4siOQ5FX?C5=L3x9i1IXSq#i zfJi_ebe#bVMEJX+2vh(82u~8A*aKa+g-kvGIs%4(^%Z2&2Lp5u2tWu~K_-zALHD_U zVgS&eG+-^+6eZ^pI4lN^O$b5$33M-P4VhE|Vg-V`2ZHklg3AF8rUR-#YYq_H3?MpC zu-zls2aO0vPH_h7yRpD>Il@MLKn6psQ<3{Bwt84!L0G>4=UlRaLUe$G=^?DtKr5iZKv@cLnmXJ32*h|^@?9iy zUm{Y4ER1c((lqj$a-_LCj8VwD1{C7V4&!1e90f(B*#pw6mi#+jS~L_jJdfmH5P zZ1(WlLRiOv%LY<8Sg_fX3bZC{tNgBP^+*mtN8tr-AE{3L9s>j&$m6lQ$kOfou1Vfz zl+}GLqf>V@b!*`WE>J6JiBuS4z4nyETbtS3IJLPj$%~{VO0{P;Q{#B^(*QfEe3f^H zuxb6t>!)|pM57Xxv-x|X0gMVfO0lMA?}Bx_E;DC}%Lyb`b>9Su@O@x-Lr+L)^SMRm zt!VV_l{QvA;o3VB^k-ZN^Dh=8z9i|Q1{Po@_$PK6)KX?9F;T}Q7JXB!%fE0mMZ3+& zqR931K)O-Ip0M^nqSAz_IEU=Ui&EFV>n3p1#&SSanj`GC*_FnLDDEy+rO(@bHdp{I z93YHOI-&ZDpO%?a8tr4opGt?EcMTH#7;PvHrg+>lLDF}Wti25lVUWjcwc_&h=qck< zbA%#M7;^owthx*8s$6~i)OiyrqO_oQdc*Irc(p`a;FVe3+^dqXGmbaS^76VvlutB_dVshUlsD^BqJneBuIv z8b2~>25o_+Q4_s=_cGs@w12qB|3aJW?_h7fn*lyZy0&?dR&&eS6dUQ zwIa4E)!5U1KEL90%#Eo05wMNowmTbqed=v>UN*yc=rLy|idAW0?(-#xx(;eU)7vz- zOw5%5VZ22}8k&&n^YODf$G_IsIIdM-jpOX~W-K{eG>KDZvT`<>$d7*XD)s8(G0C&d zKst3Uxcn)p9fKJ5LXbdq?gPP(Yk}`$IZ5f@C!N!$f+=`gbV3Tv#Rixmu}#jX$jQCU z$V9^DWMAOqG$Tl+nvm17L$&((oEOC5c*VJ?;wWR5;+J;VKT;`lyvNnwT>AK)-F#Gi zLoD&F{@5`aRkE7p+(Ub`0a%Oj_y^|pWFU>1v)?mf^#jk;0ZxUP?W%aFy>bW*k5~*b zSGEHi=r(<2i=8adqsHGxpmC)ylEkrzDCVxXD9`(gRXfw!MRukAlo%<*pIPXL0=j(y zu1hT{)LqqZX=Zw>EU)L5sW`$+fd+hI(AxQdcIRj1U|{E>^Fswa7acEkY@LG<2M$#Fb-Nr z2N5M{SM2UX!UymZ%Nc5k%tU$D3P~ciL=Uj230&Fsm9uSW)J@q2OUMeT3Cv^~<3!}t z%y9w)CXKPe?cyge24x-KqzYwkTq-FAz5lYhp!+CA@fN-@>Vxl zTDI()@gaJWIANW~a`0m*VF)S-HWf|VZblw#lk-bDDDdH7>qare!aPIGDB2xQlovx( zpe`ATG@c%|aF2CMs2CD6s?W||YoMTO`Lu$cUmu2RI6q|34N^y_O%|z5&efLxP+`xG zi)8geO_{B6AhN6$Ln2QtV?hLI4y|W0?gCSCUv<*BY6Rz_Os%Q)Kz{>cjR+GBWd$=k zJ(DKq%i;`fFJ3v$r8N$In*~bsWm?ht*UD^Esm~VIku2!rXWnVv@APa5>(o9hthHor zFh(3oc8ApH;J{O?5U_WTlI87Ve|bS&3>$UGX8F_Atu?@%fYx`5QrCSlqurf0p8vCm z%_+sRQhuJA^38LK(}Uc#j?T-$Ei{ArqueX2J{&-eH&iMI2ryvaJP4IbFu&J zzAqx7u8vR`z#3N>W^UMdcJcmt?jM4KM4?phQ>paX&J{fVmUXTd627a#5M97VmCh!7 zVeSUa3f}7$(w7pBS2lUoqCWynZ;2@m=^9q+PRcJwFEcL7M;mK|^-~)UZMO1Lq$i@Y z$^G1~mPE$n*P*5Fjf`^i*W1Y^iBH`!8kaM8s2m2`di<@!JAB$Y!1PUDh{A2kFUJo= zmBaUh8vIww!Gj71sregZegRiU`HnF{!rpw7K8Hu8-?FhDgJ#z9vRS8JPVsBo)_2@^ z_sbJ~Xw_V~9L+d6%JazUd7r28g@$G0#L%Hy+HGJWW6WOV(5rfa#R#NfbFXV8S{|L4 zL9v;=9ORMvYVoZ}&wO%F_8D2^r+}8r(*r6qOvf0O&ZHj)2@#$v*g0N=+(Pw|Mh+}h z>oJLdxZ7gm?j}qx6GPj^8*$u{3F-Ig@n%`rF)~-_aIZ4;GjlMm1KPgoe%o~^Ap&C^ z>F#>eOO`zKm0+lEjFzwDVH3uEv~8&!e0TnJWmzf%uBptfd{0??QN-1<(&3rw^~sGL z$2S7pft(@7aq0H3sovG(=L`d|q7_j>$|y)&iiirOP2|i<8~R2Dh8@psAdib`#Yg3y zDaE`hF*U^5s@luFJdTPEA%`5BRpx4EKko(xumW5nHEi330tC5-4j#6BmXk4qd+aj_ z^doxUZ#hOt9(ulhcHGx2&?7hMQ+pP~@)~pDVwax# zw&tZk;P>yi*EGy}da^N<>L3mU8C-C;Ehz@$rIB>kd-tJBY>P06^m%89w-a}Gv%lkL zR{PHf6s~R79MxS^xOtfXq^PctoC#MFuBUH@t^`*zBpY($k3EhbNGl>Bu~-3bZixpt zl_pnxGr2_)6F{>;r;ppLnirF3cNmd+7u>vl*T%iip?n`rns>GMaBr4SySkgsJfXyy zRs2@xvpIwa*mMZmkP2BBzj2y8#4%vT3-XPAa+I&~8i@5rWQLlYdY`vnc>ol~UU zmcXa@U^EnJMDbCf#~`GbP|c=A2ceDm62GMbvlVsl(DFjp(@n-{bk46W?U}ms%BegQ z%jMgmLAs+Z!;Y2Hw9paJuvz@o4j&)Oj{@pWAxYh{1OkFB&5K7|QdgP>($fw_~=evz(IW(UJe`;B#dBR}PFZe-5O;hm6vN;UGDAv*p?4f!?m zcK87}w|6bJG4N_Lc`jh3GoFE}CZ5wOmL|_+_t24|L{DCutpxTxVSOCOl(f=nf-GU> zMCpRD*TQ@kKHRD%LQKGI|0j#r+w+``zBZ$NM9(#`=(am;nLLeUAx^wf=FT--h&HJ6H7dXQ2*k8Ptot z#GYSb!xIaGFu0qD^}G^gJ3|-~L3zI=7V3t&T6IRmU($ax#e2Ij~{vM&N&Q) zRvzx0D&GB2Wb{{o*E04Ld*6ps*H>lKwQ^E9N{;Rc4?Y#p9!uB(2|FO~L6H3pg#2;@ zRyqYcgq~CyJ@BI-R>Iwzd6{DEtV*1cF{~WTPNEUFbMo-}BjRTZ}x_n`;#G}EZT-$Y{Ap&Dk%Qy9W8lLH$&V_6yW+^ap^t1aZQP@Qd#mtfB*OmIUTLnM zx@0=5UmP$hj+BK{xb$gIBzrA8G%2eaeLRfGW^ghZ(7mfe3vYSBf^MX*pOsnpwDau( z=?e0ica?CNP{vd0-m!@sNs{-`LV}-Koa1EEU{9R=R~`rEB;q>SWixG`=BjBzN3#hR z`PVD9P3v-9qV3en(FOPirCTQX(11ayqUQ{J7bKzK(>YWl2G`ZB%3ZK8p4{bket^p& zA*QdlnWW^8deAM~B@R;*dZ{|^FqzlI6Epg`q7r1VoFZP;Ys+mGD`b7fi9HG|)PF`i znUSS840U4IE2Nd6`v8~9bomRINB0?ums7OBa}HtmPiA? zOO6y`nMS60nX0}TAE5Z6W=BbE!!@1FX#~~V4H9lA6fBhysOZ{l`_$ZB7q3Dw?(`iK z@iw4i)@)3%>|vOtIQpcG?4za>1n#kc+SIH^V>rVU))L}k{MsGL(Pjetdv8KL4C^%O zY%LoFvdEK@J;Q|c*E1hayMA1*QRR~g2W7CtqkTbkv98%nk9GjNGWcZ9Oimeh48de_ z?SPs4zDURhL#zF|LK84fGYzxrAxc?Z)unnEvQFZLD`ZZcXD z)N^jI*2}teEV+ZQQ8mM5saUJ$qPx2NHF__|xkY4^_wV$y{wYRSBCPznvRHH+m5WI$I@WzQu3BugC)tHH%vQ104pS3B@o zoc}2cCtVKR2wH0GjA=BebMYEGWPUg1Q%y}!xQ{Ml3I7MyV9Er&1npHeMh*6t;1@(6 z3*O3byls;qg+EtDejRWY+c+t9rwZEOrwC1h^)@gOOIOFPF#(`Q^o3&Up z11U}}y1E+)?3*$Iit<=SpfST>RGbWNMwto*-d7W*!wgmNBInFK-@=v179j6vLw-8@ zy*bSpLiW(UxE?~>NzW2l9fWxi)QrPJL;JY@VMsV_i%8_5o;ASS#{`CHRt%};FtaFK zI`;i+yFU3rt!X{MTUJWxDabLy(lu+ryA)N498C6D{@1rPRasFbVsxHOMhai#NrNMH+xUCYPeYV(0Za>CJmKkxjM-Y*D_5;1B<#+L6o@ZM**eNR{&uU4WhA3WBc@!k?9(DY=n}{lIoGL@A z!NjUlysWn1G*D&(zPJ;a_wKBPdBH8}3$q#VgCc#Rd?f0WekR01hI%sIR028#_gWL( z3(Xe+(hFg?E*lEJyyFb)f5c?Zf6Tdm#ASzHo5Tc%?#jxbi&s#oOp_Gn3vaC&{oy#!`L3>WH0H-nSP>gL(S!T@H{J#fv^+* ziknY*>m>DJtLRumB3|8D>cz0KSX`|AI8j(|20Mdxql?r%12LQ--u0cOCJpkb%15~m zvNq@%G!7h0YK0#Tsh5a8A!TdPJc+2#6linDm#G#Mhz$?&*(Pq4?RqO{pkl+e%4^V@ zs^-1j&E%4si13?#)~AljCmWSl)^AVWi=L1YPcqUTC0~}P*3GAa%C!faJ_4N1r&gGW zIvyt1Oiza|r#Y^ZZ$V3S^xmW_IJ00-S!25q&oN|Jei+YueUL_DWOy^PBsjxGm6EE3 z!P!<;YMyuu=tBjS=da$fe}v1#_uTxBebF#%=@BVv5i38z&g?TubFN&-_oP^{rBk8= z{kLLk!`wh$<2Q1ObsadS%l+HyDU{z7xm^^?3If&*>5+3><4GE|OdCl}LJr>-gs?mA zd}JW*)Dn|=kyjMinoyZpCzW-YfnzVc!6TfHlu2(*1;1ruGJA>lXEz;(>=x@$%?%B_LB zlvA_Nj-s=ZDlXRyNo6DM&p2PR=pdT0& z!o8cqF%yaFBG}8=rHyV&n7%u|P$K%#v@l1$(a2Sif7Av^AZGsI+v5=x-rPg<<+6ACdQEUQNz)*?RxY&5icsRPNBTL?ADuHYsQ)D#P(JN6q?g$ zCKx&Nu-2G;ioRdUyq1$ZbFtUze26Jj^YrlbtXarZlEq{2MkrE|=*fC|{%kK7uh`zN zBh<3KOTd48FSJWj>$I`h+Gq77;2w+r{HHUoPzW{3DaF+R*Vlnt-i1PABk@>JkB{K@ zWTDM#e}19wO*8QWdIndP{E#0p`fBvo1&%#4*2aE1FZ;Hl33sK%z1|?4 z>E%}2$7|OgJ*q003t3sSRvb`#|HGh^XnsA?L2kiH{*`}ADCu}f$%>P?0fYZKXob%! z1_(@q!m;I~T7n!lpp;?}hw`L;7x@y7;*30>0tSvdOHiuo-QlGD@gLwpwt z9tsn*-P>&gLjxNGPx_C^6Z@9)iSLPOYdhD*!s5QQUgnK^y|#hT+^n@uho?9@DXMQ~t^2=ZfnIgg=u!1&4~v4$tbR6HkKE2iys-!=~i zLB1X3U_EoYSW4Zz5GglfC9hJ!qkN^kb%(QdwPWacSDj`aW>Mu1(xaq>SnF&sb2+3JHP?;^gkE-LpDy>|&$3GMPY^OS1| z4;Cun_L5gOmEcne!~SIDor*nGEgXIzg)J9}?tv?hl|LCEL8^0=0%O)6E7?!}tcBsBg=XgIXZF$%D}sw~mAV-Da< zBd=uUZUnIi3)m?YQaNn3v|++*K1B?y2!HapbaMUF_RFG?GgI;9Q8*)Nk>%SxHURn9Tr#TyHPW&ZbTQu4M8Lx4JrBgN+wN_(~-#ulXB3dAYfA z(R6hez`z*DkgaB&aPE(am!@u9XI2n_^KrgU#7xY4{^6g(WOG8Ax^#!>9-|dg@WpL4 zWbtT^LVrAFp}}na;h#GDKlrsihr+^K9o}0tBt|z^oM^DgR+{~s{=+~0!#_QL^Tjgd z&4~tfMYPBZ9-)mWV9V-O^%8W9;MGq{vo~R)v3A*KfB2``=1WL0B6OeZ8g!{I&D8iM z_nZyb(sj+TB{^VV$msL15(@<863PDu_@}(=|IU`z{}k-{UtHAu73cq#CDcEMyZ+&y z{^6hg;h+BDpZ?*W{^6hg;h+A0lYh$lcf5oD!d;U8G<)U`|MdSa{8Qfl*3KyZrGfOf zb?NUx`_I>1@BbrG^s=CQkP6YDGgq9`ZLM- z+b?i~^;E+N?ohN(Pf5|lshYLaK;D0bf6Dv6OT7O*hWfKg7kx#r}8rp)~`5f7;?~p|QSizj4VL^Qqh;@&WdORyt$sJ~^qk zBCDSsKc#?rnN)RKVXDiMr`7p6rfhv8L%C^^=NX0~4@uN$=pbwexn`G;{!&f!h@+`4 zd3HtTYyA#=KkZU?HJ(?>C{>V9De{7OmEJld%K z^$;+7kD%@s&EBB%D1I*_u9vXrmz$vRxZzV|MQ*Bn>TlRV#zoA#ovV9D+poE$o60)xpW7}!y~xg=+D{kfQ9PD-J3O9i<;-a8osSHy zjTdtNSPoHFSC=5RCD34!_3+hxeg)RGcU9^+PUSBq_EYA5_j68dpWnbZWr)M5Q$?@CJ5Rr1`U>9>0&~d#b=+jIiUldzE zzDgR2;;46D>*JKOxM%c>qk@m?@oTagaaw0I&q{*N>hW2#J#a>59MUiA6JoPH;O1ux z#e9~PF0*fNwr32xeV64+ltQh)&xnfo^P?;(A*25MYM%ad^@38Q1BFPL1qW@`IUU|T zF*Y|Ej$l?r49Y)#X^eAj9Dnxv6{p|(qp_0gM?o62AG5yg#nb{;_3x0Qk^y-eKsu&A z7&!|2ESC)j%!%^~Xo>`ylFo8#fu;(e3I8nD8EA3<^l%b@A{>}gu@^cBhyk4gR>N-S zpgd$U7|_EJ?S;~!Kqe7TLFwlHIj(VMxjF~}Rs_GR>BtI+XSrd(sVcxh|0c3ypKxxW zq_+oZVU0p_kL$(pXSs85;CkI&sOB>;5XJ9`R4;TM(BI+00gBzwc{#}BGN59k30Tn} zle(xNT^>NiMiw&34-3+z+Y&u0_L}qttSpGOfeVm|W3P9Ti2nHIAY@fO>+9m^; zWCr|31S6lYk3qQshf=Vh<(I%gz^PK$AX-!qEjFmg3;gC&%DecccXC%G%BW!c4it4b zup1DXB5?IHI6$!*Iu7^(G?mIAYrYN-B1T0e|o^FOh7j(-B4!0 z;Q-K$N&WK4`hxU zLEsR`oF9-mav)YhSkS#>FVsJ6U$hHwC=FDB%#kC;03k~MOX8#yT!_n)^Oij|@Bz;0X%o|3v#JyDKJ#` zW!|@EgKxow5iD|=Rpg}wocNw!vi9Rf)xc5=0xkBk-xDKk=+=fcYTnHmFq_P=tN$=i zk(@8t<@8uP$E_GzdF^hwm_Ys_LlGv(OdxB7^S`a(aQZudWC2{Zs zeGOMS>j6*Yt4CR33seqz5$gWVmPZ7x!2uC2ZH3EP zVpP9e3~68ry|jo=mTa;)IcY~}UR$Mf^BwUVgJz~}k9SK@;l$B2x%_}n@$S-L%H%{v z5N6~0&;E1E&!w278_~*rHREJsagI`7P*T$($=K-2(%?zaN^y(kpXm}ns25?xcgjDV ziIVSg?6#)ynhFG$@tadw%-WH%+J3W{+^Nl^BfE1?yQ|@uS=^+$aU05Ic+Qq@^ZA30 znpPM%W>4T`ta{{4#FO5s|Ma2k9Y*;DCxoHb7H5h8VF10EA~n@6C5_U0D--i-`Sd1U zP)lN`znP2@K9%-iOQr^WHJ)#qzk+M5>pc-;g_-rpp-EcPsPBe&Md33h*M7vfZ0-i3 zUGEe0s+ICf=?ayo(^cWkpzsGD?W@FgaJ2cceK0?73%-=Tva5T{Xiaqsd{u&&Jql-W zi(MP^S=o0m>wJr2DK;VJ8j&>-3Vi>TWy*d%HevsFFhzN34((RUj{DgBlK{}B@Vujn0sN6Ilgxsm7e!@6+grz`oTCd*EcfG zt@qVTEG#UYf7Z-UIoL!$u!)krTa>JZOwJHfUFLZ)Mkx^mJl2>7F$J;ur|fVyLL!E% z<3?mYS@X52AI564w+}E7Z{}RrX4OE_xqQ`uZhOfCJ>FLiXH7gZ&!M^lnCw;>#}o|c zeul`z>MO)z$|*dQPE|p@Y8=zfJYOlb25W!SqqfTQTxp>kP5G0KgC=#W(CP2$(yS&3cw{yFTo`;(&`i(-MA@@_AO1g;AO%f4Sa ztG@U5&$l*`NZ2-6OZWG$2fyE*wDtm^wGGd2W&di8Rdhd_)?jFvr&mJTF-3}>p(FSV{fr1_BwV1x0_-1+d z9RlrMd}R2T4#949jz+~lP}q5mlBQu#A~%dGMk;3tbGd#7v)sfzy!*4U1y@{oUvl~j z5oT>F$Xk1`2xE2}O#%*6i7nf()btU@`MI769B>%g&)6w&Z%&65T&nnXrbo;Mki0$J z0z6pBqOW$e4*FvV5JA`c#zZ~q&w^GFs?hnLpROH>ztQXjh$Lp%!rPBgdZ^Sh;@0jrtso)g*;LU(TkMJg_9o5vmty6B~51A;skg6kg9ilv{p$I~~(& z5{;y4OO$zx@(84v%r*^CEbnoxI3Q8q+^%b0yqyz$2y%yx;pX7R(>mxv3V^qbOJy6| zxhkF&L%cg`_z_2a>+*RqFe`U}e@yI_U*s3>F;&eY^rPR8S*xc9=*^mZX9Zv?b+wpE^MdQkH0*8b3!i=POBzx z8293LFJ_Jl@K5T#viX8{fx8m?sUg&yHe8)z@jy>SXIeB$QV)fQW{8Onj+0vzqeJ5# zix8U=7JMlXQqD5?LuCeOYtU~EYsj0q-EW=l5KS55mYuqWO;49p!@F89+YdtTtL43i zf!s;AcGOOeH8_`N<_uTM&q7R&p1ucyJn>&cwt&NTL%dbdX*vVNr+c^H<|d1%LlG%( za^%j%y<3Q7_DuaK-tU5E^#`E1Z9N|E2wOC5kqWTLrJ0%&T0c%SYS-|XZf~egTpAY} zv~i_T`V!Opc}xUaEBtvk;BpD$?i~E8b^=2@Jkv5s>p+dZwHPON$YDeJPs_5D)gO72vcTW%dfb==;>NAz6 zi#H1e&X>q_rSAF+Pqtv|<-WXdORkI&DjcM)a%(@75H_qz zLw88N+*hGR#qm@WOXDzM2@}arA;9G^_tke`u2o*zvsg~)(yI)9iQ+Xtj2F3VvGvou zHafN($D7}#iPst-0m1Vbf@-DQmU&llS@k-IPpM8;C z9CAoSCA1TMf^05yH>zi2EII+Wlf~pp92NK}X|+St`D>BrrC5bO8zGt|%YrlN;}t>Z z%if0G#}oGa$C@%F_J{XDeps=C}|Jx|f1^j$&U&4Vpq8_Jr;pI%-M2 z3ijZg@BOQZ{OYNF_3KT(bV#b68^DJ%eeEo!AKCDH=M@}D%zlw8_4KD^XEyvuRM+KH zh%Nr+P)5Dje3_aVAcFRNr+~pWyI>vjMvTH*%f?z;NI)Cxy zmvm^V#E41gC;1w0kq!tQ9Fov5Scn}j2h0=18>|Kn1MNJF_3}Ko+ef&FZbC+NzvN$r zaO@J;;Iz;S>;h(AQYEj{w1Tjj<+RA+wdIP~!GJ5=eEFncbyQr1_;T?RxUZ_sIY)}c z?1w0F`&l1gbWCCOC|DDvzX=o){Sk5v@TfGxX_(fuutQEViC9Y}jIEqzbJ%%tU>n(? z#(CgZ2TR*AaVP#E$>h0l zV={8-Q^L-w9?!TtnNxEV>?Su$Xm9~t8{8Hia8#C}iq&OssD#N7AIf_E5hBVmESo&J z#u1%W7m{w)LHzK^uB+*%@$>P{!BOCcH2VZ1mdOb>*Yq|`GQW;ojGOm2G&egos=U-7 zS!%=p9VY_Rkw7}Kx^%D-n6<|fXAx$~8=Bdun`(|4m7Eq$Q*VfGn&9FE)asHvVpS-m zbf0G23rdwY^u$oowfTtlTLu-H@3|#5^4M2DgS>_q+XS^Jmxw8ADBUQrl6L#suyLU43;87Bk(Fc2G2#Q+>xF%?~u1joPQ^EwKJkrqt zUNAEU#=?M*0xE-dII?@Q+Z6&agW_$#mt2h}OC%{x&~Xl6WGtQtmT)@T1-LsK3N)+p ztA0tDW8vp$^BP$mh_g}UdE7O%-@taWxd1jk^Pq|u-6KAEX zqrsgbPIcL8buCw{&q{XPc4ETwtrAP6XvrBCH#^~tK!0bGUl+1xe|>b0gsh2PeIXt) zEOTU}U7ts?+YNu-Y4h<`?kEi?&GnFcYUW%DeJ-vGvDX>QxDCp%QST^kN-h)9w0|QE zcs-O6d3!h+%*pMP)SPsNl6NG&c|dS18hiw=V4B+WRaI_s)fWg@4@_dqD<;@-U^gN< zuZlqc-L*Y$DiZ{{rnA*AXystV0Izx2ix)QbwAZ&TLC$W*SM?3 zKOq?)b3LI_P3FF2IY~>JGIi0P;q5Q=K%mzSql*=+*05)ybS@^hex`MelXH!8I_zC+ zU#oXi^T1tY_f*K!HyQhSxT9bZE)h&mBgyYYS`#gkD;E^^MJ`Q_Qt>W7fq#QCEp5}( zg55~w%1xMDXSGQhDv?GDWHXI7{?>RTMn#J(D#aprq zU-D?bqv4Qz*81daT)Is^=*0~BPBxH?Aw_ADcktVC=AobV$5#r`AK77cY$l{w4ig*r z4ZtER7gqKL`N0H|Wy9Pmae1Rq0>_}eF!QK-g57Sj$G8T6>2R|@s5_&mQ)q|9>2dMc z;g>D?#Oc>EOM}hJ&GLPRFF)pY7xj{Te#X_6iKofL?yF0$*wK}#h`S`%f%SvL0fCA^ zD#>3>R%s2ANsDNc>=ImK>*{FlLblZ-<3RwUIhh`d zNh^vEP>p2zS(#4_XfTx!WR>KV9)-z1WDRH}pg=NFx^5{t>2mLMjgjuuOqtjznHeY* zx}Yf;<{6n8A5zfP38_l)Oc+TW*ien&?-~gjd=n3dRu748oa^SWa{6X}em~sCl zGw%PutT2FE386v92g^&&1*%VwF(N@(#>0KBvJRU zm@od6sit$5+egB{f&rfNP)ElbNDy=FoLVgi?Qd!uJ>P!nuSRN|u!@%x;M}v&CVAIb zTiRG6v-)s@9vO<>n_bMXu#v->&@N|OB0<5UyvoT*fPqf8h@(!`1^19JULbj$&Hb|6 zzo0K6`xR#qi*Ue$fSzzVTPm&pY)iD$gpT5q@Gx}q50Bhrm~fLX*9I;a$aBYM^48h+ z(uG%HwWHgMLt~yPf@4u2l>yt}G#0Th1wTliVF4V76lvGaHR z#Xhw^bsgeT2br2js~H3C4Pmp6Dws1m4mywr-+W%K{1hv5Ywgc;&Sax6ylZt9YCXr> zPZQT!Rw!??-+b@SeiPRdTLfn5XAui9whgATpD9N7UpuA!G+DT_X>R}VbEDJKy5mA) zbl0Y}`btqi$ZwhPL7hqTe=z*2*s8_(lStAXD5lt7SXz$-=q$c9MTr0cy~R2-2# z<3)$T?<)Uar*GGf)?NAriktQwBkgDVzu#VdPG@7Y$1XD7_S3}S8c2>l9k^umxZ)-+aQ~Q%JD8$obv2Mx> zP+3feWoPiskI$T#nto29?|_?zlYvr)ZUeb_J3!|1*!|Qn2a%>KuSe5ytkhtVuhglM z(!L6+dSW~>3*Q!f#s%Vq0@2r@iCM7%D3fOV z&2)l#G~ko%7tJj$fgKj9I|Cmb)wdj7?Kv)CU{j0z5&CaDYf6ANJUwb5?A=D)=EJDDmtuVz^7M-f!-~(7uGNmzfw`oHQhEvV+9PC zni2?$ua-=>VoF1nnMASJpdC&G4BjKo2qPSL?DE7P5ofP)k7VH zWau`mIA0FmX~RbpV;@BWwPaqFN#QZPR$yCpJ2n01?Zw<~-C_bVAjm(4RCg6Y>uRVP zlG7>_jZA7bh9O2dGf-Sd`}T9Z3AvJZpCOZRBg*8;F+Ffo{Ns!-a6ryp2OqGcaGGE5 zoQgcq>)lmbDgnKlmxU#12uuB?SUnO`@N8MIMP|H#U^sFnm^H$i3g9e3lXZ))69mMf zu13~-HlOD~=QFcdKG}0*&I|k=&zbLtQG^KGd061Oy$BTiSiJfd3ttXq=Klh>@i!V( zN5}k$PB-ckt;qK?B*5s|mDf*@F9rqtZ|jVJUWY{DQIqFHedY9gI~uGaYR0%pVuUcV zX)SszXpmd9{bAx*$)3C~o2MQt=H<7CZTa-Hf1^?VMx*+eY_>0#%VR?q2uAFedKy(0 zMD-F+ew%d66uj-&`T_zXz_Q@rVLQKVwq%+ZI-$-2m#~gcNbp0SuQR%9%L@b~OS@x3 zyAEB#fUM-vf`FX;H^ZF%H_2WbXaR=pELb4I zsSA$H*<~`V0oSegrl25h)@KK2zm))Gp=?F-1&Zr9z%NO5ynOseUZ{_{Uf%8FNVibi zKlp48ZB?IIG&^X!=ZmRmBwV1NqFggl{}d4IOIPGJSE+*; zQC-bE&wVnW1%#}pd-DmU!?jn4>Z-?BWN@YY&{{eFM+NO-xtKpFK%$5?|2G^}^z7ZA zvZurTMx$2R_uJL35GbUs?p}d`64F#(YNh2HrnlwFytZSn@AS3dI^+Aqn!Sz+((5*A@ zSMNprsQ1Ku<`)n~c=@(jHWtM1f^=!BuqT-8+Y(xhYRaO9PIy_1lV9#; zd%^K>4H*ZTf9}!`jKnyB-ev~uBOWq$v^ISP6DZ2@?p_Xb(_2G@6DaJejLE>WnHz}A zv%GD`bl&w>bTKDALVa_j$XwQHTx{k@1u(?b$9beshHbaXO*GO^+*h_zgRU0!ExT~r zD%vYlDEbl*9pYLNb0n3M)vhJC9H4SNH9l3CFx*;wWK(4p0q&LLP;Si#`UaLiw>g+q z^gbcgpuk(6RtqJzK>5%+xb!Z|JC?JVw^S$GF!V1&>BuG&YHhaY>jtw0dd1gc-d!cD zk3n+rRCFcaiS)^^E`m*5y_l}U@*KP{G#@xOb>EL3<1@c|@6u3BIIu1dL?Q29n;!mX{v1r~$BU8sva~DvE$OaebsR>L*~hogW)Ir(#C#@1PIixO^73cYT0Rq*475S+rPejG%#t8esI%8tB?5n@tLNM zBCV)m&5joP9~0`1`)T{Or;}24z9~KEtX9o5BF;C|&PvB0FvveMDK=%v=Vg>Gz`5 zGY`9VHj$M4-h*uO+d&oHIz9b+DxTy-nf%Eq z``e<6Wz%NaQ6nz(%U&tJ6%Q&h>EC!=&*WGY4l3g57f&0j*c?|=>^*wP40cvPdrwi`m)7Qv#kMs=vRj1*znMch8T~iG>gi*_AjloSp3Uz z;FR@orPk?5+9&RbkfoFiLvH~>dLVmt-P%5h_vL4tg?gX;G9k2|MO=JI@ToYU;|v_l z?9b`_S7G6_Z&Lu{a5WpbW(hHy0l<$SZq`9XwemS zYCs$(XP~7CIh*rXeK4=Q4~A5zASU}7QaY)uUG3rPs!osk2U$CkiX2-QM$yhg#FD7$Z?mLdM%C4i zHxnou=#Hd2+s*odd;5Rjo$5Z93fchevJR7qXkr>Rg# zT{uu71x9)Ct~SsmeX^z9;MOHism=VwCVe+fKH7j6<8$1`yeqvUakgTL)L8KCVd9Ia zLN$?xOp25w7YS|aRW&w=EV)r4o&b!`BO;P#2stoE^Ze;aF5WCsyHS8J!mj~Y8puk; zArvyG#~(@0lBlT)Bw}Wes_Uy5Lc=AMHTz2coup1Y{9kAChUHI2-5#;{$F}(~x%Ny1 zH&rE=xKm>2{|K=DAFnSxZ_u2GQQ`k`%J{GR4E!HhBm9lo20brK<0@IL+^kXsy2Rpa`5ZYhB`e1+(||TQ4C z0`%6{+I_*zPaMe6{iNlB2@$`&J6_L+RVEX$J@$LuuI-*K&7QoTd}t^g$^G0>6HRDOy^-etL<17^!y4h}N1znD$%L zq#3G+U@z($)De3~Lg>l2`1+jnX}B7o{g_-gJ9wF;9RG6lbLI*hDkph>hbPNGZd0(! z%eWzfNKgKP3#IF}w!oIks+rY=l}0S~6Yn%!yhKTz@!UF+oo<1sukf*|ZrJT%&R>cW| z>qNGYx4p4Eq2ur;MP4LOnL#7rV{Q!UH)d#=NfMD`TzYDO2&f|B!|q=@-M_Z~an(Al z#qtfVUqP?f&&DylfJH*49o`b5;NdUXV+JO-MT&6vOE4m!F+alttNOP@ihxzOz^ZXz z6)t}XLIiX&?tzFoH!v9joxFXSTi459LJur82PO%K)PNyw%YO8R*jQZVrUO~m9t8or zm$@zoL~7r9Lq>pMf3JZ=+1(){u3kz{&O`|GLfYWCsfVnQ`_~DmNyYi|P&0VewM3MMAa_7z@z>in4`5wgIYWAMUM$4=nB7 z60rxWc*cxuGYTvPD$WoAeaAl*;&X7Bn+?obA|ao6r$ILYb@M`KdK*yS0 z<|-2qvD>6U$L;`=2t@2a9VL-(a;Jf%>D?icu3l4V#zgGly&(h4UQ;+o$as8XApVkW~oCTJOc| zrQT#ON66eJfR?ij_nyK7mI5tj%gt{!&Wx-B)XEl@-wJ5CO2PvXJ|OJ` zP%c{p^cm2Q9za971G7M_7J!y>2Q~w=+yaou=Z|lzA^RVO+lE0F44CvK{xFPN#b>Hp zN0QLhuf(dCnAdijCoAJ(Y189+QP;~))%(X(p^qB&z<%@+ozBn5PGWFT4H?>e8-S_zFd#Eppy&tQlWyS4;3|A{eL)Lxt! zE!^P)w^5o&y26Q$@J<9pe*>pQ6XmXPnu1>s@>kz+9eE|DbRZB`LZyEti5^gof2i+o`)T~Q_9 zV8mUEic$I`^T#qNZQX0?5nGHLZV_6sr=VSjm=~CPdz&EV29QXp8OD?t{Q6zZN(riCI@dO#XMF+OZB0GSU|_zPk(W|SYtX*uZV6;@sb{&Ol6J2 zL2VU#@#q(ybD|VOIu4Fk$CVH9i`wr3TcpJj7o{k#BJD9#LbQ~HySE+V6fwav7SQc7 z4oKq&b@fFeZqs5ApWp_K;fF(HE#jgBWeYPzF|VQt_-G5Ih@zpcKj5~n6=68)2ScS4 zVr!f4K)HWa*ihZ#=nbdaR1u+fITE<}(ge{Bcf-!6 zsHmG3qCD~28CIRs^Tv5LH9n~6!U&ersvOB8o?)$rzR*n$ydCaaf8h+Mz(k2oYd;TE zGSZ1tq*4*GOj0e!yLzT_ty_dE0&UjZHd-FkOP)B~br4nxP6+3z5tP{}k_Aao9Nv<; z6Fr9dXW(ymeuiNpkLvKg1)}%_o~Omk^3O8H@|rpwduLcVe<6ZpWtD&db1&%`BGkM( z%Z5~2%=t}YWj65}eJqZ;0*KVIp3LT?q)g2Ok0doW5AY0dp5*%^YI$AW(2**YVfhR( z>dG%_%F7z0a#B7W*KOx?(%42>awfa%JZN@RNlMF_qy)(YY8#rQX*!Z%EV0Rmb|525 z^*w;|d~$b?ycrVT*6$e!L;_eGV(gpd%4F-95D?ra3@zW7RUN~IdYN4T;wN-+3CSo) z*(2V=E7a5>Y7)m(p+L+VSKfWX9i6=^RsTo0k_SFIwSFi{6S*p>CkpA>m|VUJ8XZr| zDRxf!HVO3VBg{@F$ZsNS9gLZ(I=gBN?-dh*4zmv{A8E zB%s{W@dgkL%+^V+=SwNkSV_0PCE!)i%GZJy6*84P*aj{uuHT81#wA6AOO_XJ&F@>}s*%fWrhvUcM@b(W zdvWeFewI0A=P4_yTb3Mw!iJVry?>hb$iKUT@G;W;QPMQzeN2dvNyY_Kj+iN3im_w_d!_r98T9?EZ^DMtWisg6Yc#5erYGH ziVHrOd0!BJqAhNNOlmRZj=YV!abkEl7mGlS4i>XM;Z#N@k!nsjj~ab;q7dw;v_

d~oABVtgg(};ipMv;n%S7vb6>3uW5C(;2j^!muDEmg9T zB34>jj65K5hIj;+X}%JgBDYAV*S5O_RD9#fQqVK@zKr}V^!P$7z|;ECi+%vZ&kZRJ z4Plea4AxceRrff|w|k*?!9krypb;*w(bJ*X7;n`)udhv1-uqc9|{h2{YeaOk^E*k40%HU+VdEEX;!L zZRpXvCH#p;jd8-J!Ew}{tDS3gbiDq1&&C;IuzTdxplr{R6U)PV@Evqig6T?wQA9!< zQH&b(Y)yHQpulR(5=RrtnCfUphY#Bh5$oAc&i#ee@8=+aG4=h$YxUr&_hOKTZr4@z zTTkb9g+`g8FI8cO?dq@}3PnrqpI&>dS@YU29nFwF7=0ojEi+}rAu0TlVXj0WW-5u68YB!$NRHw^@Jm589Eu;gPhx~wa53bQ zj1>t@XznGkIp zDhIP?&-3LSrN;~q%;oA%MO!=FJA;uGM1$6Y5iFpuJ}Im9%j@))@fsO%*LZKeaz2_U+OID=%~z3=*dMKr^a79+0bP&1pSz-X3=3xh<#@UxkD}w=y{}^X1N$6B zuCbLTa%3i|g`TaC0l9>k8k;Ztoe9j=J!n+XHH+9%oILDw zA=eAO;=xorMr}>J8g4H&qO{4c=I8jk=87>hmc+wPlZIjA*jzEOFk|F>ruTC9emmHi zPsIV*idb2_k9q0hBtag2xcVr5Ox^iV-_Shyh?whK{m4+cIR0pi;QdhCHNLSE{{Cqe zzM9tZdAZ|sJi@^|!Na-JYNPQ@lh18?zlKYG-S<7v>>CW<@PQIl`s(4=%bPY{rkcf< z7q;ek@>m0D1Bq!eNUYY)^O4;H$7MVJ3m!7NF4@S3WE|Cj2Ewb`{rTr*3||-Q#-*Fm zRYmNj`HI>5igf2ZI3)nl7tI0M4lIQSQx~`k9OD%LJ`;q4(Xo{*EVq7c9X*(qqMm6} z{FhrV653ujp&;@B<3h12#O~v|kX-cQ9a>Dx&r*&LV{bw>R5AuL3V{5P(|i4$W217aRBgN2`edPl$0vRBaJeLf zQGRYG$?n6*y;{(SV^ewJg*JXww@1U{lV8#!4xTlKo(1|295GOc#|zzoG13n)Fpv*n zMiR3g8r^=#DiYh(`bnWVyUg$A35KkN8tTbf+a;|fIWNipT(-fmRE$t$t*T5b+a|-5 zg{f(vsV>jMswdE9@})Rf$LlHeu#iZY2bpc6W3ZKD&-oRuMQh$z;ED+7(h zumLwh!|Rkb(`xTFgT`rUYXD+Mp$*{@%`5e(nYy=-OS%tgzq2sf8)%0|B~49d8Tz~I z@=f1_jn8^F1iWwh_=W_$3pt`r*9eaprj;C`9y;kWI$~HO%7KcQ+9y4Hk+zHnN^3a-KQ*3gfB7a(S3%^gcPz#AE z>)^?H?sGrc=yJ+I^RdN)_o@fEfuUXKyT(NSiq8CM!YGkaL5W|0On{ z0v4BBOx`%0OXL(jjG91tCYy@`R>UGOLCpo&D&&AGI@lw^paz7@LlK{J=BC2Gocjhx zX!v~i%YD3K!`1cp{Hr}o*1zCl{{0>%8#f!zUjX6b8TN4m{it6KW0It97(R@4m{^oq z_TMuGTI1x^_}Dw_A8#jM0dSvo8IVf(1?V^k!EpMsiO9Vj#%qY64MQs2!$$y4MCvl6jIJg<{9OjI4MT? zzua~xneh0S8wQQkewLOw)NQL-bmAe)>iZj+sU5i#CFN2td zC|z)cxD?1ixb`rKB?*?yJ&#QP)5ak@MI9Q;pHfVb;msJttVC1%?M7q-ArgKxR4{+# zfw$Jqs*sKle&jC@*C4gPTO(w(BuN3X)3V|S8d85x{>n37!b~TP`=a~F7MB#W?zgF` z#&vi6SfP24=$N+D=#GUvFGTMl?jH@!0z1Y7U#nI(sZ4v0)lDNdCli`!BVI{v=1ylr zAqwdGqYIp76od;h;`eP1y*iO!ufL^A-}Bg10z1%CQ5d2FJC0a~MzT-Hl=Rzm?#YJY z!f*Ib2^+m&(y}P&@#e(%^$97BXh4&n#M4~-Va0+4TMA;>Vez1LvErY*MG5}jcnvG} zLP&n7#+D?9jsZ2dhW&@;rW!MK8l;qPz)k{NNCvjx^A9>|C(j|j(Ag0kX_+`kQ`bth z=6ns(JvA~L3YrjoQ)*W!87)dBHzyyBveg<5QkTWDyW<{opqc(dbD-&m4$a+0DC6r< z;3-}R+&guK`3zYBc*;P-`Dy_TCyM^3;Yi}g*jsqbCPeA~**Y1?4{KoSnPFPA%ZDX5 z^D=@s2|V*(b)-j@Ho>$%yC%HHyI$z1H$2wa&7K9i>esMFRiiP_4Q%oS@y*hkyt zW=%pGxAo9xX0)ipaOXwBe%N_Tk6SnMUGc>|5>jF+rp8W6ceyG$Vk#3-bM7rrodT_$ z@Y&>8&gEw+gu~>s+agVOC|ft*MS<8xWa_JY)z$^=^6ox6-}DnZU(l|SOYbvlxXl2D zj%$m++nsypEv?6=#xr@sqx^AsUl(M}rnvLF?>;g^jN>#mRrjM;CN7Q~KPE-(QD}KF zQ*$x|z-}5spR4LcLbI!GBi`)XeI<$=np8yMGg$39^cX1X+bx^vF)Q%DhIW9O_MUYJ zy2jSmxVM(N&+f?7jVC@Nln?6;Zze1z@>xD8gjB_Fy%_PIr;a|NBFkTl9llKO+Q;Nw zb+#{7-#<%01)3M^Pupe24&Y4F8(?olj2Q)V&0dHjcU+?C-j0U6VRH0Q(LrI+j%5`y zKU#Y|pl)MSt5uaJssnwPn1(0XcXIoz;#~os?Rd4`A9==+R9sy0uI>0YMItPt1KexU z?)a|iE6>B1Js4WOXB8Wwc`Ex%b10{17am>aZTS0zz8vPZ^?z?;9xRWYsH1gIl?8Ss1XR(|m z$fp&&GS9Dj_wurQv|&}t8=)}NL0C#qxl}Q~VfJGg<41S@x!?C3fk3s$FvZ#LygzcC zOr3s4PA`cYf3nZ$ohHR+z$zdcdModLrS|1%N3~%A*p{|IId(K1Vz1>?e!hIr9QGV8 z*gKVV?4Iwf#J?QxN*Ejt*~9gFF@rCDupE9EPTZr}5__DU-HX`M-HOn?=vMqdtb-or z$_1O}?>$Jp7rr{wz35MeTy;=2{8a&c2^nyAq$XxDh`7A9U#9H6f3RD*IoQYXng-#H<#|i?%iwVR$7e00xLI{9Ba{r)GZDidiUWhzF@PBVHN;jg&&Ut+(>m#Ge|V&cqi5WZvOjUuBz?-$#&Gz1!|! z{a*UM9co{*J&Fr#PPae}Pj37E-iJN%Yr31Pd?0h7ItWI)rzpZ-wnZPJK$RX&@}3Pt ztaadS*PdOGADQ~SVG_W-tlfT=Wnn{QpH=aE%vwxxt0QZA$THrB=lE5mo{vRr?$J$^ zebt$V)g~TqCLWC_IKya8Ui8r2|NTo+&3EgvXs<>)o2BoWtL5gJ+ZU6k^D^p>7J5^5 zzpr)0RcBWa@4WR@8*OcSQ*2OW!Q;&PAaK@y5KA^zs2emGkG`N&W0+_Bd;!0!Rg)+$L8s@#xBr|irLav1P?gZ z&Z%c$n=d)|)o2;bV@x-lUh6c(8j!}<+H3p06SW+;LvelVo*6y`xPv==)~!fer1iQt~ppI0~xnh_jpCNTLeMIrt$Q z+FP<($`@3D(i>swn6cl>nsFxcvURZEdFR5m&zT8Yt z#0r_EM$GPyHrE+;X6g%i^g)^*OiY^(^;#+Z4%c&sY~Nn;TB}_M8^})&pM+AtiB|nR zuw6B2+osAd8A;3;6SX$TO3A^|FhL&FlCB(~W*8 z_s)CFI=gH=1$(su@V+E<^^!MZk#|3iy|AzO_3nA}0>cK)hI?IkO3S=u0thy;B+ZGu|V{SOhF(9VY za_BQk&gQ(CFj=Sj4cGqr3SiKO&8wWy?zkrAQsvcZ=_T9FZlKgmF+Dp8osX&3z>@0W z1cn{f;Ngq!W&0CR;I&+T%kmPnpECs2>3%(ci_h80?Rx#hPM$x0cimA36lzpP)%{i@ zQcQIlAGv1M{%RcRg%_cdeYRp^Ai6pmiQ}{@Ol{{xubq|?YI{y3d!jVhNjvmu$ zYdeaLpM{rCH6|Jo)`siOEBw>B8k>=Mk01|v~D?xR80-k`tBbSHYC_?Vt{YLiAJ1LsB*M;NYd7Y z3e{Arr;mecAi3D(rTYnte%U@AtOKMtlaw5k6{UlCH?6@ED{ZN=S8whOtNK0sM8e&a z#N`m5nIrigPH?38UaoO$&1M+mWGs3@FaeQETY6L-c!u9@JJ5nCyRC@ygYmc!uv$?Q z6u?%u<6yz>gQ9c-HH7&2iazN9gg(IQ(IHO$fF|$1AW&CR={@H?? zZ8K)*<#kbl(apG&w22Bb;9b(^L-ng!A9v0&pZj|E~!(~3jXU2HYt79d)G3Y>dMK^Yiql_Co7^V_#j(I zeXD7W9JI6FM2&l=PlwMa1M1ZYaAR7ypmmNstLJ%10ni;M`gl7ApD5Q0hUj`*_+v_i z)gV)dB&G)iQ!kdH2!W-xInpnoghEcTT&*X8JfSxp?Tmsq)Ho@{n^x8xkI+>*a-Pb0 z4K@opJp0&q*+7N-jXjQF^)0zIXBgxE z#ok*$<2YW28k2NkhR!b1CW@a;1gSf190P(>EXT?GY!lvKf|kz$H??A* zYuKi!Br3RG-J=^!=v!?UBgH$@W0u4Kd6f)9j~sFz6Q2RszCHmTBc-+wst`V=pwLzM zmtN%ThW9Y}jM40LN;;&>N@a`_o`YF-V;#lJW1jFR@AV*ZK_hIVWu^RrtUo(?dKLJ0 z_aqim>QP3ljKcJw;D+SB!)~SN1_4BMVkOs3ur*4(VvIz|$=|_< z6-yw?wx;${6+kuPwHWg>RGgKnYk>MDGDAz%YU_m{sR6jhrKH%M?l56+;12RlX!jdX zV?Hmc0G5!8y&Ez-NZtqe*P7c!tHsVm?#0_h$s2x$c=tdmlgv!p zAyU*KDkmcXnR?!MRK2C!ek_N5*>VWEac6V5Sv@dsaZM1a(lLl=ZiwfJzJZVKXEmwN zP$UklKN4PwjEa6r3#wv8xJfg8Jcx{}mC~YgI1jm+Z!Ki(c)ZNd&0a^oP6=@5^h9-E zQ3id?vBvh!T2lw(C1Mmt4=gV4$Qs7{UPNEu;JJ|fb>iWqpAmQ=0cc^{Pp@0Z=HXDw z(J4n~7G-}e=6c_){5jAD0rR`=3Y%(XktX|9JxDJT3~VzB-Md4?9bDg|%y92=Gw&oY zStTy&rSoKClpm%K&j?=k)jWTCmH5Ma!GA|<|NWWM|HZ|F|Anujr=$HxfYs`};}R6Q z*98djn@QJ3xPql_INDRHf~LL**UI3NF~h0dS5KAA(TrMG#0Z95y3(D;_MbMHSLvmp z7p2O7n=1a7|6X`sKtQf?Ie1NB$c*Wrs!*bfNcsJXjh)UOe+O(VkhOo4r!^$RS+n4w zLKmduNGR`Od)MWO3<1J1a=0^aCDUWX(5T!`I=rURvBa@_*rNex{S3ExvS{N%vF6>_ z0;3zhHE8|^#bthL(C}n4DtkJ*+239?R<3ux!h`Uno~?6vwsf+ss%w{^Pt#@gl4CEI z>e8#HcNm)*yBRh&*E>4dICy}9@U&jm#^yesT+cS!(8WTvSj0?d#VZRLs9J;T4rx>~ za(1?jDWrxk0d2}xSy{_<%mvg5_l|cJNf@%8Z`9()bfk}#ZJxNAX57Ocmc-W8Z^H( zXnt$Z{MMlPtwHl!gXXse&HtSmH1sV0lv3}1T9bl~f%b1}f-|tu{sYa4MQ(9E9n`^# zqZ6f=JW_PFrXYU489AM7-WReQUSw;=U>EQRsx4FjKSm)W_{MCaCeSUArU1>8R@ir*J=|1)P(X+lJ z(2`2@3)EgGD~N(3S$`R!H>a!)myczAEZY<@tGqoIh+?zar||ArC06JeT>)vNyPC9s ztP%tqp^&c3ZE!D;H&7q{?Zzv;%XM;>s7aee2JEshGYzCXbplb4w&Su#R3;JQf%J`h z-o%eL#@v?6q#(R0OYU3N)5mV##MxtbFtxZ`3_Ufh+KqD1;UqsMDaSfmNfsn3<|~N_ zS|B5RG!C0i9lAVv(`rc*sTZ1{<&lyXEo$|#uVQ1kEdHkTg2tL>q=GlN1@u>h9>9(L z#T5T^B<&B&nEbnuwEqTt9B3l{+T;Ay9REH(&d9?051P=*h@~$rqR?g=pDa-xOnfTN z?Q>?8d}Ni3i@N<2Y^D{G0mgZE0Ok1!#2<##zAiUdtl!4TeZN0BJnh%2!@HB-W_`dQ zucLq0t1^0NzHJp~1buvdeEB?OBWo)$Jwxsd_ad``;9>3&RX%v&xx>$SVW6s}NZWwO zNw_Ztr*pZLA2cpos2{kkJu6yWaU|y#{;G6W*@y=L&4t>1Yxc_4`Tmvz>3f+EXO15c zZSlSvmCHt`?T?%vw%$AYqZD_xdJ_H_nV}wAxfg1E3g?|s<>TtGXs9y0p#RMqUN`@T z4%^-K2H(!3TZKM_qBAGC?tAcLxu5Qsy5x82?W6wWiH@%p@ex>_ENJFFn@^^7V9_l8 z!$*!<-6(fAupQD;`aXL-ERaVICMD3vrfGX@Hcw{Yoha?^U1P2iw$r+}wo%d+#f+uP z+a*I%x-!sGM}4eR{p~f6b}{F7F*?&LiJ;b!4;}Z)y%S0wU25Qjo@l5bNd?X=75?QX z%5wt=4#-*m)27MxKYRJ2r>Fbd<%@;kA4%pcaT}um5?U84Oa-ESNkW{kROET8sAU5_ zbJ!-c6e@^FZ>xR9-s6_>vV4N~@s|SSwMc-!K8woMFA}Ugl<^OtCf6_i*l%3Q_^lW} z#3Cj|11Gi>h0W#6>CB_!4DZg}CejiAOqFsZbQLw@8+FvQ(?o|vFnhpJ2hA3QVj%L~ zX$wQ_AY2JN{&y_Qq?EyvXn%O4Wf!7*SQcSC`m|ZsjH0nTRC3(uiBE1+8*`+5etL7@ zfzx@5GMh>t+BnmDEoA*6_KaJ37lg?C!Hm||gqMJwH%80I&Z58eK#Z=_T@$)b?#v#n znQ)}J2~LTsk}PqTooudPWjjeJ4*ILFSA$jgEL^PLVT5@S%od;wma(}-b|pHpX|fJX zGsO|i7a;7N;-;naQr!u=e64V=b|hTB+R!+eCl-C0R22R6eH)nWw1m{cMS!SjHx5I^ z>e;zvi?AIH@7XFQp+t40O2w)b#eME`m)9sdJ+JG7+T?TBG!NNd(1m7U)WyL94nLDp z_szO$E>AFEBp+PFY)USCWQHgrZT8QG*dO~Snti2PbZ2roSQC7Su(+U#7 zdcs`1>9};?1Hso7{fB7NXz0ji<;{#fuaKsm#zKsg_f3#=1X|w;2YXV@tjBdkp7sYf z@hahNF$d}#zw8^ot(sS7GdjBXUVq*&Bp3D>ap|Oo)1PjU88=uHZX=^7DQ(OMr5FkC z7E?$;BgP#?SIaAif@(;=p$Y`4(MFv$n*8|!20^*^{k|u)7^K3+*ZK~WMq*D&JgB$5 z)%NAl)#E!OL{(qmwMlOt9y1x_MOYguPPTjz6opy6zD5+t97`5F6yYFNY{wi|clWGH z7^1SEf@~TpvYdl#&LpOTY$`B^Fo>cW&5?dDlTB02WvvymHVoey#qLjLnrO0CoJ3z? zz^5o8@7m0OR&`Kh{_2=x{I7aep37E7n36SrcJ?v+VLJ2wz>VS8$@i}}hF>T8-@h@i zu>8ZF-54_QjJau|@Qf2-`~7-w8$ zWKkWCqy?MPKWIdMbRL%5=Ym&l_%4}HSal>B#nm)qlR~_FP5oT3rG5WRPI{**bvwY9 zvT~k6l6~4G!KEJ?_-~hR$zi*&lJ8I(*Ssv{Je|i74pjP9S(bfHDPiw&5kA#6XsSA( zhT|2#Q_e;&!Ya9TW_qrsTz#!jvL@0N49T(PvZ;E1I{e7V&jzN)& zfU)+hvA^5gHtX)F-0Ql#q-nxM=i9`?ae7Oel!7$=e(SdQo!%3|^L2~y7~<%$0m|go z=;;K?6UIh7ByvvuyIXqkWhv8y{J~KEg_!*BtBk?s8Ac|yjwpNkn*&CwODkh%vER-_ z6WARQdSzU~SknSkO=ExVt@}*r^=D%kb@F&jZY_^G908iU#T=(*Oxh((p4lR5}N)QABdn6rNk{sfkBQ(L~6>EHM|o z#|@NuLJ1;$8Tv-0l9t*lk(ALv;LUpVqBQ~p;|QS9L?H{ZpHvB$Y6SdmzyX1&5K37< zL(2afG8%!nLePIMVeA;Rd?ehErPH$ z58@I)^kEf{k(J`z*ovAURLz6;L3HYjhY1^jF{X3p8j=LYFjX-{m;>7@W))7+ z`nq*SDQsPbbV+;0qKQ#f4VbOuY5QA7?FhrTI1pcM&27BTGCP*y;?T5#FgdH4-06+I zWMW=SYP%Wa+efC!$Qu%MO^L%rD+{Fm4~R=K{6{LL{|!$EKpXnoO@QH7d;R-2f#2d% z`oG1c{yA|ehCe(<{QW6qjBE^loKv={sUE4pVuSb5D!uT@*8>;wE6rJ=J`xWOnHEXw z+P7qL^x(I8jHaTs$)PK@)>mip{p3HRI5`<8$w0$Ys#3Hst5hg!4!2M0Jk*|d^$mL2 z$vQ=y-G4ej&UThpD7ide4wtztA~n;#-hazw#(6U92N0OmgK_t-Y?ae_-1Dq0;@V5$B-qh5T-n2U(Kl$!;WgY?LkvV?c_ZiOm8rH`_v z2JWus@6s8P9_<%Y?z+17>O*BK$EoK#**o3N(lk5Uv^>{%p0q!Fb~pgTVUem_9jM>4 zLve2SY2x{{c+9s09|>+YCyWV0Q9S1A&ctHErKq0j6L_usX_(=Hey=YP=Y83-1UL4? zK|5IxRf-9WMZ=#%gjj8+ zTG}C8wFu+fSVRxI&hG8#`$wx+vAkK8(mwlHU=I+VpYt&GadLRpDJNJ`4oK2@)-iXl z!$q^KrlzIUygPX8FUN(TH6?7-6Qb17tJKjampMAgkh;mBd&!Xci%lY?)%a}GU{$2d zpvO!&$86QagQRdkr%gU(vs)B2OW{B-noxZCY(ZpKSiT_(y$K{ZP6*=)R~h$ANbosN zz{(2S{ch?qcR5dp`U=~a>=3Im;gKJvty5m@;t;bU-ayRA@_DmM z+Ga^1BhQF-`LK%`%M?1}jS}FEBL8LUQ=eg6T}W8UNu+jKe1Dx0bDlN%29Hs#$5%)i z5I;i3V-)K09T0Jv5UGng&!PjelzMyzq%O0nfh;8;OB4_{GQne%0<6$Z6RgmHxY3yJ zfH5l}ljU?th$JpyWfW<*c}d^!T>FmCsQv`E_J#R06oUXT{RmxG(; zFwO<6sOMSXK=IZokQP8RB;VlGiT3z1OI~J4{%h1OIg$(ly<+5fh}a<%e1rudy~VnG zr2x+kOz`Z0*h#@UO<+MIurrMLeg|B{0!3i|w8?8!=sckcSSdDmjfgn*R~Ql4Nj7=+ zz&Q5P{2j~}Ea;&~PKDK-ltuN=5s8ReO9@f$e$GF<;mZp)h34VA)GY-MD?ZFy!;Bd1SmRmlVkM1Yq|K z-WA~En#5%m3t$C)-!;I;WfQzB;HO=KahgzvMsQ&n^IZdq{tSxX0{D0agwYkS(roaa z0X_m@eE7J@`vLIW*ALPi2;&Drj{RIONO!=;NWgO-jP5|C(m?T|=S4sw=KKr##TO4B zNNvyEUusg7%dL4Oztp5!Rp4r7b84|mNb1^x>3$4EF;@v#HHXc{WG9@Zkh)0wc6MsS zNW+$kw9+M3snILkYN9EYtY8|{s-AhCu2l}N-b7K6^^uyVY4^ft8i8Qd4)3xRjw^Bg zY^qNpf3x#NFyU4U6%^m`D+&)L(k3j$>|<>rdE69qFOuowu52iXUYez?uD zDL!OTlksgBIKlOocgkdGj(A7dL!3Ef{!T~{ zfo}|xDN$X300(9z0909DCnWc?8IK6<7^X_SWjwN47;n-{t{nq}Q9J~CaGD*VH|~Bg z#t=uxcuweN+nD!pvbGC!7>PAJ8B~eYYVY${@4NCqwJE5`K(xVw%+U3_h$b;*AW5q2-sVC1 zKB66HT%zuvS-&gFF@??7eIp0LJjRj1iU=};~1kC=(O)W1K~WzOD;ih@wJ z8a?4?U=%ts}Ut=x}P zWQe`-1@)?FY00md)@4*^5hgq2jV?ly`&+^ZwL!!ub-f9as093PSt%*_OiWb#h-FJP z!zF1%N;BB3Uxdno;Vv;LZJNDjT1~K`>o?nF#WWtwFin)Y5!KH;b0AYpXGWPdvI6`q zZ_rjNg*0T(^Nxd5WyWwfWJF=p)${~b!EV5Dy4XBqvAIn7;l$ncFwlg}4>Y}r&HK<4 znS?ZmsHpZYRK{xqo(zibifz$a|ZP|$JH(q^9%Z4=N>bE zaAJilg%hn8gSdkhEP;Jv!q)fV6}=~lwMLry=`s`C$^Gr-SQowbWd{oSOWeCq7JB_o zi{ww1S{7uD7jH`B34{>X%p1S1^T+8Yw1Faj!53F?A3bK>jkO5)@bMu+Q-YfZVyx|x zA)V&nl~d7=FOZC#KkzW=a=(vq8b(?*f3m#DviBKC?H4C`7sX?=53jboV+RsDy(>%t z9eNKL^xaU8VHyOB@oi*Mzg_zDc6N;Ku2sb7?uTkkVwh}O*8z|5r%yKsqgK`d>f!64 z%hHaYH(YBSyFSo9qL@*)?P(O0Q4N)n3Rx)DCz{dEb9|}SFFI`{H#Ho~*C9Z)*R(w_ zXCAstfhAy<;!m$EuG!sUtaQMvXHp)aIwD3_MpB%e(+H#RK?4DsY}kF1YmruJMtyQ3 zl&?gQ-LR_*H0hFxW=y$dk&pSsHNk@P9cW4B2eeW)7__FEHHoFj2XwmsQei zt`T{|@`+?017%Faq6LcOz^}u#wm%p@T1hE&K0vCV#1l;peO`J)-I|}&MWvQ*&AtD_ z#@@}gm9zcn;_1-C)!w!J@oM|=WY)parS50wXZXBcmlOv!2?wbNHf) zfa5M0QNgD804Kq%*05L_RkBLOMsqPWa=G@>anA@v@WNhA#hA)KoZk>;OEGu?&CRhr zl`P?!xUgd3B=AIlF8A%JF;)NfQ-{y{zR5YX&c28(sO_zbr_2lq-7jCO@UHR~h5|3K zT0v}kX%B}b<9)KSANdNE8CEM;sNdyVa%rZ!FKB9Ou8-Mguix>`J31;GHSWzb#N%in z?{%D?1Wq@Dif%<*>7Km(gIcvMJXa80LW;KPauO zEFc{WMjh5JQp>g2%>X|hiHCCk%u>4T*^Mc8sHC!$yqPy_xwNSkq5UOLI<&{v_%f+T z8FR`-bX<_mwJAm*q6PC|e{8bz!}Ii{RixI3=l;w0I~OHedhf3l*bub15L8CdVxJBkq+>tuVNK=*?*Q7L&k#u!DmU*skK0J@GOO~+$(nVs@> zBtehq>uHSxxVm2cl28hHVkkAJ8!G71PN=jY@{ON< zKy(o_Fqch?&0R~Vl4`GB0k8e2l{>91=AB;A5y;W@`GRyXTbk6t4kt*F0S zadGH3^5=glLk?71KdU(7l8U=pI#%89Vmy^$OJXiqNqn?(XOWL`U)LKYl$54vOhwn! zAx?!4R7M!#HW)m|Hgl3>#?cs8*=VZyM!#r}G)J2Dp%KdLiueb%PIx~@geI7pACZbj z%Qq#vPHbyIC$Pj8jULJ(L!0z8;UzC&qG_HkToVa}dtM%nmz&$yr@%95EjLGkA6LF~ zW82u?rM!Hv*ORxxo-RClfgxMLispheXO@Of==12JjdDhX7#OYs9z}>v8Dr@Qm$j|F zQ(q!M``fRuIJEfP)ZjwKOi94XRz)a3f(?MAke zY@Hv9JwNGu))O~Qm2_tdij!w};|sZ@**v|9TFrlCz7Hrub)=AE?z_m%cU>+cFn}{$ ztxfb?E)(Sl%M(mx2U&j2Gz!~q7P^A!*qE&M2_?$IX|q}8W7jGPAIZbA8f#%U8Q{!S zAsKsTDq<9ro#Xw8mH}%WkRL`+@kSCE;u}c*mVRT87py7QPT;$WKoF6AdVJBTyiomZV&D>zAl9ET=6@GFL>&p z5H8Lxt`9pxJ=4y!M|Mw+C^$Y&Razd&-Vf(@{j)6#MurU0!&}~<Dz#Ba}BX~=tfkw0Vkh(v5m3-Mj&nbY-K zSAtSD1d)ng=VHYW?3&c^X*7s$V~fgtC&$C~q}Ap)2KEQ(dR-DH+LzbOFSp;Ps-4Ux z5wsLegAN~|;9t{=P*99M^&W0=JzD*AOYi+z90;qJ>i$!}nhe7@etFBnt@ zxm&BAVq~JMQW-YX0NZ?Qrwty&sf){L?T8DokFiHv+14LxM84CLDi|)wnt5B>f=BPQ z8`nDYP7`Sixf(~KJiKes)NALZx*!o!#oA|u5P8t6#O0 zW|CG>fVJ@jiUU(P7=O~;zC&6v>QrWXwNhq!r36p5r6Kq%ahn@_>NHW^ZS+26>v4xj zvvoCwzRJ(0nXhegql6NoUhu8HjJkr(WGa!IZ&O1T&6{^$tNB{Zf110&1i~jDvdLqh zj;w4{)!BT!IXJwz>U=eP7cuVCJQ-s3llBVJ=9}udBcr0MzkL5z+Q6leCMYJwmNi=M z&)D5!7&DQ{{6i$=JXGyA!ZHR0S^dMGFX)QG2epckX?p_K)_gN~sJ&FVFvQQUbg;c% z%XL3U28=nNXbL9mOx#74YmHkh<3?U6`B$d=It+E-m};+@a{4L3x7(0J;`_Ev(v*mN z4RL(F&nsNp1k6yQ4~Cba1D#R?2iqsMIUB(cj#wRQ)m#&tgsGJ}AQ;S{m5iGScCAzT z=X85!A(f2rb|;Sf!(W<-XtpWbDMNY8CPA=f&=pm#h=W%?o{Epn??5)GY>Kbq){B{p zk41LUw0f}68%gbWNM7$~tkDx>elv)GtvBe{n2o7J%(la-{PK>^2@FF8CSQ~beimGo zowxlOvNgU&Hza06|CS$k1zRu0e; zyMU`Dk_@5C%HAZODQUA7tHGp%IQZz>PY5=`Oeost>7S=0bYK|!ZCEykoeJOd9rPA( zw-Rm#UC`E1NQAZdq2m{_$D1FaS;L(F*3L6LmA7k?-jAj>{yOY3Eo;P_NK`W0P6uK` zlh1hASXBZXcuJx#D*qyK7{g-<9=XOt;4+i)od1G#Ine5U%aM)4kn7p83(%dBZ@Iqx z*-Ht=KX6-re<+TDj+Xg<(MZy^T4_S+VsW&3K;_GH6D*a>5fG(%m}n)mcz_K2@h*?o zhL+ik$ieh%*MUXqQX|We=Yv`n&*KEmGQLqjnyh(w8mcihYiMWs&R16c2%)%V&6^!- zL(R41g8hf5JH}SWG|thE5s9_g{MUWt6ynZrDIH`bQp^Xi7>lYmtm;MvFU+Ms*L&u* z4f2Oxqd1@EeiUXM^2a6TSXfTof-cELUSJ4l^K-8=6E{~)FgPHtvsA{%c^KvFw) zIjJ_)L2 z$}H?325WYLIK7!|)7QhQnl$PDu#kpCepxM{?7=a$gecHPNXq`@HVVsE1z+udDt_E7 z?K&<6$s!r`bA2GI5i^f1BouADQyf5H*4n>y*%T9!IqT7_df({m;=}h@5^ks`Vq7+v zrC6ds*+vn0Kvb!XJhi7@^blrVFkga$tzW>}C)yghD6w#GlgU&SnPSlI`A$#8a;}Sg zWKdbf^4$K)>>FpyQ&t_SF`B3$`7+~mUs0ez%nztEDhbtwHBw>MZuSM-%n<9j*Tl%m z$)=hMvpYFi)p@~nI!%L=U^NwV9n3La={V7tPoq~Wuk%efoXT?*MXmZ7hGtm=#d~a^5_~v5xKB-1pTYzkx z<{=szid7_xK4#>n=qUwxlO8EG9ozIt46VkrGs_bd8x{aF*&YXizZl;z2`9D{M0q`z zN7d(vh|cM0;Dj|blVPSL$FvgJE*05N(#8~gQPJ}sp%xyETcJu0sUe*mWrQCPC`XbL zDy=~#C`?f@AR=O@9~KMB^D}^%1wm1T?)X@PjNA}TjvN;6JQx-NOC?A}K+zo#qY51j zG8zwTFX3UC261n)*nwv29Lf)DTaQ&NG%vK zULcu|sY^hKzC?+>Sji^5EIx?zOdxqTDR-bgX0kp8sXm59S)Yh+__J&g+isEioS2~k z1(qrTmL`R$>Qxor6v40GfG#BWh#l+$OR;)xN7rqrTpU@b7X8sWgAQ5b1s=|OJwU~VgwN=2&o7dW3DmfRmlQ) z7^1({|IJbBa@0@R$s$ea^gHRKv$(c1C#LzB@5a(h70UDUC)Z&_LxbYt8(m%KynMqR;Q?QSx4_YAf7R?k? z-1k~*P>hYN-0-4_tj%1lv{{fDq&X*Ycd|OciLVz_-PKe?bN6sdR=mGJ?~r@Ey<;(P zyE-~HZgy?dO4l$?D7;rrz4lN!bJWJ|e6yYP*uGti^jK5$G$anJfoR;9yAF3|SW^7) zPSPBmEJCJf>WeC6@&j*lnz4?CL~=nl4T@vLxCHYYC@qx8-+92#R+Qz0z3J8rjzwobQ> z`afWFs&a61uuHbkPadjtWm+FTxYaf%aci47bwrK_JTF#_Z3^R|TXtyNN9|t5 z#|IdG82umxj0(s*T7)e)EVMT-$P2&vXi}|yAEjA%3rTSnDeN% zXgI?I|J1Qab8F@Bp|fC!y8?%bx{_1dLaM#@@}$bMRuiG{QaRPux_(ui!xbH4DUfYU z$z5kDPr>41)k8%qBdyj|idKY#Ch&Ra)bj_S8WdV(cJ0o?mF`Q1^!vtMn-_?$_0e>y zrw*yJ_cjPRU7TJhV;@$Yho0P{B%ECxI@m{)N9c|8+zR(rm*X^U`e{>_6g#5hxqpSr z<5`B_{Yh(LugikZp!E0K-ksCMXsDiA8pC6>53aDE%a6BXxL05sL{>*E@eSUe&d+t+ zAwDOJvnboLC*)5%bZ`bzG2~{__^U5o>^L-M)Q*WcMeWCzKdM#~pIb{_Ew|$-?a_P( zKFwc;|2@Yx=rAqAopm~D*K(H-WjX>PjYZr{JX3cE#;JA{zLvwR)mrJxZ9S@za@Gd0LFxCsrB_oW;^~+LgpsOuq;pcf21BjHzkp_MR_&P;BxXR|H3h zv3HIwapihmE9hx{`L51et$96_9J&`e7%Ch(ZglJv7`RYOL-;(c>blmAasY>vcDR>b z`cR&Lfia#~%01Si=f@9eaB_NW*p9OsC)+XMm706_teaGOi=*zZNlEI3dwtG3@p`hNSRU{%90e(r$i5~q;p|o{h{~q( zN2~EFBOLz95f@DsPL(D;(<2EjJv~F3h<#LX)2T29L8hO@izbCrN_-$G<3cmo%h-V( zLVV?cR`bqBU){l$@PjW<4*uvP`S1i;8AHZqtFiv%B~4C)A#ebJEj& z;lR+teSy=9?(lSN^SwS5W>`XWj^*roXLS6=W)$L%m+VL4`qxP4Lg^R3T9mw~c;H4-h!g2QumZD?7!r<2 zj){!geA6g12b;)9%J);Y-%uCU&F|*Z)Tqn{&_|K%pF!(1OlvDWuxKtu-a#}BCDeF# zgUzBn%;TZo&X*BTv<_$B8Yh|;c7rEfGp9DzCqE`a(0kx0^b<=8GoVP5+Ek^+ZvivK zt}sYpVsW-8ihLbe9LI!&jO-36Kc~TIRgPuCt@ZACXO6fY@ju*ZCju|i|MWrQpFRa0HC}W_-))X$J;d!#oWe%eU2oDes#}5sWgJd;INGT2HUrcVvP;*8Ffwfb&mK{@c zHdK&?hD@Obk|2ua+4Sn|6fgSku++QcE^535)EW$H0d}~8^1Gz86e{e2x5~FYxf`?# zj5##lZo;H;heqzHMCvdlLv-bN=Jk{JxS46`>DnM5E<^Xf1tL^FH?7{bPecJCBedV! zxjh@%nPMU+mWQP~pbcqZV#eOf<-J#EtN|~=IMD90xR<9TG1vO zC|A+2R988>B)V3Ef`a@Oi1;lKaV{}d8h*gHVkTc2@;QxcHiFwxj}pX-x?I!h`#U0b z1)>ehWmX7%W17@Q~D)*Q*g;>dCVU z?pSNmrKlMo2{M3yyeG>>jLYMgjr*W!62B7-4FaOb%|0nM5G#3K*#rVIF?nh8FY9Ce z%Y^2MXire^S^@Dt?bZBKu-<>MQ}ee8xs3lYuJ>CY;hq8W0aGG+7yNpdcgUiYMB=vfl7*?km-M$1 zEOWL`oO^a1o?X4b0KN0~n=~&FYFNpZX$CsDXfBE*dFWO|#l=T!L>!ki71<>V?`r%( za0?o`ByaN~>zt;`N=X^!K33uzyFnVrWLDYHi#a4#968+D<|=~)cq9H`J$>O+9t$Yz zp8cnRvn*yiRzrC$&MG*ph~V$8>|o~n{(AcN*ZlHb%mS=JN+8ef`~fKa=*$;g0bm$S zCkhnDoL{KHSgqY;AE7>&Lw(h~_s7Wfa-~jW9rPy;(GI`p9blstP&C~L4L3{EzrD6( z&^BM$0+X}f`CPTWdhFKcPr4Fr0av zFVm zq@c_BeTz1%X3`c?Wzw#=czakzADH4wKUJ^9H|-*^+}Gci=~7)8zh;o6AgE;WB)#)9Kq(txrm46j`F&iGPJQf*1KV6NK@Ai~4K(}XpNkS2`F=7h zMX2Ji%dh`Qiio1pawh)@b-%7^&rVnv|Jefs)BirG`!Cm)zt8irvi>8*h1H{o93E6b zoew>tBsmLSi5{;cX($dH_*%yK`BI|gXM_6m$ymI~7^p1Dr8~=(jj3Am_Jz|2E05iy z$C59nf}SsI?6~mD8SUbX$;iMuxmOW`+r`4MLs2`dBQe<1pGJ@@mNRH_xQl9{c0S!? z7+*>z97OMEN=`5ArV{5y?NBW{Fh~s$j8OD$$1-C1QwEllOwFVc>qX};pE#JeGVmtk z^zLRDTn);x*Jx}>MQmrUws zgbdr%E;=O~OYfGYQ9iTVo=DJ3?UqGR&L7oRFjy@oSUA264^7=s=PPkMv=8zJ*Um)k z6e=K39L?E}P5wlvxuc}&uQ&>rPTOz9?VJFKAr_IvBb%31w|H!xM(0?Jd`ny#S!|LL zr+R1~3tmi2_3hb%TLa{WdAF)d>`mzjbDoBJWTcjrzQrk}dz3;f zyN6T)CW~1DUY=z8a>MM^a7~z&$q&m8O7~?8UbO@lwoVl&Oggg!Y;qLottt?!@hM2r z_sosi^e$)@&b!~_NWjZPCBNnZJenYmpl1u0yF|oCP1^E5_{z3ZoxO}T7suAQunOihan9EXZvwV zUqZgS@GiVO2vJRI-UO)0s{oeKhnWBhYQ+AO8RhwVB%25!0vSa`mxerUMIKM71Sr}0 z>uOJ%l<}rktt*>snHGab)0FK<$xtnJRN=_ASzAi04;j)4BBMT6d$EstQk8fPVhJKb zEcoQj7nK>Dx`fw+DUWi$Yo2mE;=dr0zd#O@BAV|0@Pjpc_f*SfqQ4Qs-` z;mCWQA(`Pq0{--p@tY(6&5_ezj6BC%AHLw#n@rZ9pbSR1b{7?lpUImD^=D&Y*>L_E zyXx}119vQ>m;2L3^uLcIXZp>N=S%b5lAmUVX8|CuOrQRK?1aK%4|6VDj^!&^2-$Cr zeD9y*$eI2y`ug`LuQJj7TaMfo;K&UX*LH#BJ;`Y%3x;c(wm%MqGCQ;luMtqit`bTW zH~moA5+bCs5fOgnGPYx(?%hPB$|tWVGvmBlfD9LUyI(oZ)^#yBOCzPsT!yj3BCeLH zRo20#*{t3pQ)@??pgZ~ z`KoXfT6Sm~S1frYeen3sqI}>5TvJo<)k8nzMhE)nd41V2mq-B@$7#W=iurazO$mI< zs{F>|`gyNZd$gvy9ktr@&Fr&h5f~uH*WtsnG@td9!XobgAg0Tb^V;3( zX`lznI(nA~5?qyDby!n70pC3|SZWmeQb~7tgH2L3-*-R}+qK3)w^v#J#?{+`xKe{KR(WhWbkgW% z>z*RFZ;jEaa{i5Lduj(g)bVxbM|M*0_HHTd1Mr&w(kd3{<8Z?VF_J2l0B6^2f-1+! zX=OF<_TKW{6@krjf6Rk&K~jvKJv%`@&qCB)3}B8en0BatJ3C>Q>I-~ z_UaN4)0y8CObhYZFG<*@Gb7hbD|I<6iS0|NcjqJb012lhQBvtvlkd|~d@f7SD$=gd zCnnruu1n%U(ypMFCN$Yx?+coxA))UNK7QeTPk2?h&G>piiqG>N{9RG5-jaX zs4Oio$|4MCxI=>s$k-srSiiq)H?*YfY6}S+UB&EL3wO_M@=L`Cg{25MU(*&~hRGEoVeX5$y3b1j_XZ2yAFvHyyXn*qf3FQ^T%Aj<(_`v|bMdqI{1#P%sz{de%+XA4W!vTC8AhwwSVp|h% z3Ih~j3GmS&d6%~}$ca|ei8k1YcI@&?OgmUy8@NKwyqDP5;(fs^0G^%(0B;~{=|I?~ z0qh$H+joH2W&o@JvHgoGUj(pkfY|;H5Zk|~a)8+W4iMXH0Bin>DhE7w2CM+F{fjDp zVnk>GB8CAF+rOxCfY`XtWh}XZyb$t085wKx3;UJKAyDUBtmr`18I*7!Qw%I;_U}zJhPog=?J&)kIb`T9EUT;g7{LKb=qW zHHPgKX%1UTNCuK`g&wP(s&XQtimnh9br+}G-Ux4M+jz(uf@R~@FJLJ#U8@)xebi+@ zWHO41V^?5Q+9-m2YX~;p%y;QOu0`cRY07Et0JlP#eF)pr&p}>GqoN;DRMgj@YrDs2 z5`mlX^Zq-zw)1QVBN_CpXbZ_$gmOzPfs$laOJ_BCoe)u>&S6C7V#?2$zS5@ZMLaO) zq0f+eFg5L5G{N8zZ@z50DTc0<>I#4^5@+Vd7uTqy1*Krd3)KX=ih!I-*i)K9J%+zA zkv*h;YvfRf4(*+TXVhB+OiW&ePLPV`BTpP4h8W)YLEPv$8}h@2&z|%qkIjt6AxwqI z`|xF;#1LY5_gm(h$ha|U?P;EFUt^3eSOs!^L4%*D+3YHcYHkrrm|ytq>!28hxkD{_ z!D+(ywl-^;nas>`gATtUL2Os`^$H@o2EY_+V5eeII|Uae&}%5PDNVtmj%8T*;?(r+c>NutR+ZH!ZRqZ|;s$L+5)}jrgQa4j)1sP!`NiyC{IC`! z@QdM+stxrx5t4>JkCW4C2=+D<RJkjKD_VFl{!M#47z;D+G3RuK?&7C5bFIz zg^+BOV!Zs3X=9_I?NfFqiU?xS*sdx_HK~HV#RQlTC*ATZpCc`CzMPa5f>KHkl+x~z ziO&udIW!FVsTqBS662>i`sh6eJ75@_U{jmfi>VUDu17VN1!~(#Ss%m9JD)N_tdOp< zt7TUd*GhMv%0a5MGpTa+y2}e)(zNWATLA$kbmWg@S3Kxv2Ol`IiHE_dIG5Yu&#qS& z@kJpEOOHQ;j~i{9^2w_Gb!5QA$>eZ>m2Zg+6Q2*E6o~-_DHV(EP)9ZL0ezR_*3*0? zHp5pQ-O^+?e4&H`y_yV%?h~_aUs-YT`gV1?k^9{={iUeYQkrb)!YD4Cw7U|su8{e+ zAXWJzfyhCJjO$(Lkx{*i30}=evLO&1IxvVP=AI17^=-=PA;cKu1h}up8=ErpJR_r@ ztZtx22ChbskZ9Bs!kef~$8o*$-g<60O@0K`oAi7OCON>o8HAOcvDXYm%vGAV;K)Z0<2kK zLV&)NteyK`w@z)rjO1QOMew)hBarP z$TvyG)&`QSq{`fj>7}UoTpCG7#8)@*pbsDVkjO#A+dOe+0Uz{`=py-wi^HfJgzCzO>sHiFAN5f+|CHWi*+2x@_{Y#1Kaz-hsbjemR{hWIeelf@C$U(c z4cUE9Y%_ug-cf;7*dIC>-Qm?P~2!%NFAm zYg$^|=9P{tjhSm5%cpA@?sw-mHjV8qkBbMHo4LNu&y(RhcO#NmceL}{4qwiM!%Sku z_&e9rS5Hsp@_veNTCq4Bkgr)fHYP3yjvP6n#Mf%}H`hCyjz};i$-381Jtv3IA*k$A zXpPVKy!UM=t#|EAFM>cAEITSmUteF_wN5R@e%B^rs(5zR(CEoI&7X8Dj_o31YrwFr zob;AW%S8JyW@ct)W@ct)w%g2ZGu!PpGc!}0?X8}< zvv)Rj?wj}C?%jxu`09@;Nk?_^r1F$XDINW?r#IUId6eq+L#ZVpU$dkclhAi__ul!X z4!~~fkB{GnFNeOiAWt#)*6$x5FWzn*Oml4kL)kCmosVWt11H-u!fH1o6BQBgX2Ki# zwz}F^n>Kc4rXXFMD~&C(fZ*MIp}=LtlrX&+!q4<^eYWpv7K>%A&sdOas=12Khg#vJ z9M&lOQ%|^4?DNx8!_X zZYPqK$ov?-3hV?ADuKFG=h9^_EOB+d))nj;1UY12%YEJ5Un2X=r14Gh(@SGi|F{^_ zODv2#13%8-Wy}0l$BNg&@I%huZjPE^f2VYcdwR|__na#WR=zdFF23JNC272qhT92~ zpd1a2EFDypbQ#Er^@o`Zl23E|pC0-kOE*Tu?fPRNOhY( z&<a`7;mCabfaw>mIEBadJ#>G?_9e#$R_AJi%X~M^k&2W?Qhx9ynWhY9pKm#lsDB`eF z4R8)^H99hf$JV8_sEl!`^(-(m7D4)OM%b5*bArrsxSN1ye2l1@%@Hl|@AtHrQiJki;flu(6M_LtnQ9Upy54abex z@2?$OD|YxYkvidn{g&HG&oMrD!amd0!or5ow5e~lehfdLeah&j)eiX;O?==)4-E%K z?=lBseSQ^$s@OJ2kw#TVL2-davBV$%R=J$US1%pU0WY6OP5_^W53DW-Ge!&?|3*BZ zTfhkcoHFVzT=I?hb_!pv*W+$2tv6M;a=?jz!+l?%rdz!?JA>7JQ+0`xZ!`D(dO+9m z1q^t9EepkJD5*~Fqa=ReEZfx^6ZuD2$8PRSu33OxYiAlhZ`ZEZF`ZL!1T#&&Q`VUG z-;Ds4vzLp3Z(w>ffaE1wHKe*0Xi0 zKX(p2)21*;e^WpmJi#eWJox{7Fwoy#UR zxQOr~tFdJi68riR_PCaf zyje@gFvxvj{rd!xLQ9*;$Lo7{`bBfqw-Aj@be?bmKjoap8A4qLZ*L{*r}s;1H#)dy zxz6D$84CFx-rjZ~wK{~-d9kDP5{lnbV{Tg#<~Q-8N#pO(7GY_obp3*Z6binF!vg01& z{dKRiL4>|oU|LL`2)KeYhi-eb@Yh32aTEy+d{s=7#|<($^@sRS!_9O;G{sF99tJy- zCrk+({vJHt$G8$k@F;bZooPTRL3TnUpED-}vcLhxRE35F5<}@)Lufu7VU3@Pr)tbD zc#2eM#6OL>y$$1zta!-(V~)yM5R4EHcWjAE#^h2h?${stAyR&&e0oHNS^JPX?f8cT zh0+!xcXg_=E)=1(X(RjMkiRE0KgjyGKyx;WLHHY-GA990Yu)mz{aiTVou7Bpj??Qy zzBy^>?&?||tgk1YZojwus5FnRb#jeQIo&)I%ry^X2PkmZxr%O_WoZsIQkhd4^N6^a zMU;7udgHMmmIt3L2ZOC^b*I~uwPno;6+8E-XO+Cbrqw`$2Z+>nRb&ylgikS&TS(PB zoZtkxfy1MQPHv4m-GgOen;AR9rfEtX>0}Xe^$u@HO`bYap)p7JA)UA z0}c!LMHM5`I0eqpD~$N@u(r1mG*97UG1EKdp?3)@akx?NYj1(`%7BhEHHo zKP99Xu9ZMm59@bD^d^aeYW!N*q;Uxv_S&RlST(AkIqD!rt41j(OZS4A4k&#tdNVF@ z0tjxXA^I(Y8VSPeg86lfz+3h*0eWbuu0m+VxJXvov`|uXXTVuQT{q>*P(qGHvK@tjo!jUY1KPA-*42{_5bVX_<%Ot-E}X(ugicc6V`eq?X?D%F(@tym|I3;cTq z2-5DSV<^H@>YanL?-#<{l|Un+CUdJL&tQ{FG(tGK0C5fS)~0DE=$t5%%eBB^Vhi=muwk*id_w@mQx6H6?CiGQ#ARjy=DM)Th5C zzBB+YxkFG1uQez!Cuj{Pr^34SU1Dg#%?k<3YwFWa0akcIJRj2I`E-uWQ9I-ADC*kC z)$#V!{pz--uvd4I_X(WPVx#ac=f(e<127mk*!~mJ%l7Xey?s7vDpzn?xKH zQiCq&GfGN0+|`o@XjfyBl0ebX4}Q>^;~WYrIBpY-DXzg>6wbqs(^5sM!UwlZ4qF#- z@X2lE_-@^Myo2YtZ5{o7W5)WAuvY(1Im=V$F+AP<9{8Y^$WVx?nO<}lF?Hw*T6db} z{ZP?I!+TmC@)QkBTnTXhxMzALVZ zMBHCzg%$_`zX;n0K+z)hffKdygQ16SgM8KguL=zZe_AL2G|gziOA3GXbsm>cDq68h z3NMWZ9hZzpE;ZUDL){ru(|J}EPR^S1kO(f}wjI21eVmzY3VOAf;HQ^)$9|qqJNf&8V>2EHLsMyB#d~U;hAwg???%Y}`C)?h-dgw~=*!c)ZbL5;mcP1Syqc#y=bm`-EcCM%8?xbCF1B>p(=p<8Klv7ind3s@(79dPGZe*_ z#iOfK#}3jFK+RvfSoC8Sk+Pc_xy#4bv6;Q)o^|xdP4=|lJZg%RlAAM@wwdp+0yDGz}gW9k!&Df07tkKN6=P*=MUJGi&JCmZy`!2R+cmyvHt?u0ZI^u;rA|#lboZ1G0##jra`C~@*# zH*l%xiRe$rITjt;5H&DM$}FuF!4T+X8z~xN>pmKO8^<*eOGhQp%DWCj<~&R5s4goE zeJw{T5VF$&MxT`hwz5(bk+p@N$*cE2z+@_^w);(0bZj|i=|iBQ51`pRR60rv1XXN9 zF5#g!a7{OG+XU{Kb+)aYkcD3uPiPaU#IU~*`#2Qwe4`dXX-QztWjyz;%y$LWvOw`@sN{+2LB_ylq;U52;>}|MgxFL`FcR z?-S6e*5^szOZiQiA4qQP|L!@vxSbW-H zEo-&IbL9z34LqGvQ&IpSFa(vDqMrrnj8hcXKW<*fIbb+AxPnAfW|dWug_Ib_;8Zo; zx;YFQ+DR(g$E0I zj}(qxiY#z-R>}P=rFH-bRQ~DVk2p!A0gZOvxQJ2Azx&hPgEyu8`=X36-cA$92fVk8 z7H4G=2LFIl5@3u9d|Qny+%|5Nj?twa6*TEs63n02FUv!@CGEqNuFRQ;EMamc5)Elp z?>LuY@M2%zzcP`z-mksJLVKx}y9+ewi^Qtp4$CDQVnh^=g?1EGa)b^P#UiY`D=L2& z->{Z4z2P5aSi!rY|_&vC6CW~@4#NYzQ`1V&DM4(C$VRi&6 zU=XY~fJnJ2Zb=_U904qH1|==NI%<^k$ol})&JrB(D=|YmVQL>JYYf^&ZVGHd}1BqemY4~!?G=1Bcu#;}y|f+m$VjkHX>7gz?CxC?Or zFPs!?ICeRG!OuZ|Dm!hmG_2!pEiomhff9w?E){Y=QLQXmz+44MppK!H(Rb&^OZxk2)5qN!ZTv(qV3R z^*`dTf5gFm#EXB#t=-NGI6<554ul4S`7a>&KszXy*$`V!j!tm!iez*gd2;pUC$|MR zH8Ra=V=);rSxqJu1`#hltT!%}2uSAsOjlrT9prw?sC0mW@53yYWnKf!jYg8DVPxs3 zB~&sLDTgJuIXBJ{V(sx)ubQ*QV16HCF_oCrK|1pk#YGzC;1D(vo!v)r0yC%_ChP$V z%jcZ6uHu;_&(t zC@@x-xX|IRbb0#5VPXk(aYLP%zP3TY`NY$=4x)H~sO%w@1TqO06WWGTFMsf#K zI)p1mz(dal;uJcBGl#N`k&vQD*D^>TT_&n8InmR87Xth|rD+*Na`_k7g)6q>5iLdu zv5=8S)0SzBGl=~W6uf-d)9Ds+N@&~z1dG2@ep@YCOo^4k^WugqDcs z*8!}=6OIs)0t`+zX|%8Z-jqW^c!fSsN$WA{5FUXQMs6~|YA4x)f|Cz0MAbytOPRHC zn3{s~&sh|-p>P*46q(ybaKJPC<1D^=a}xo|9RE>2)H7W;9=zR0rZ4fnIR#&CBWYLJjBI zx{VR|%Sxxu7=LQ6my$^U8<5;p1j3GUveh69wb^G7L9;AgS-oX zAIJ)joK{mNRr(6E38QT0jD#+KP*co62#TzX{C-fN6iLy;fos!oEN4FLCRY~s*)vI? zo}2rMEpV9#i)NjsCbPIRIw7kzCzjS&)p&4ycp`W6@e7z2G{%yuuMN|5V$T|t7)2(- zrG(2upl5D^Fw3U(?AfpddpiH=)-u;7^y0xWt^0FY&+LRTh_W>;>e+-fPsd~??A-H< zqT87@8+F>s`H*#^6#9xQ>So?GqZyZ~m0SC=>A;kI^F+RV&*r|OA&YGtjNIdOW@H+h zhb(tqf2#+iTvy19D!t}71j5?&Knt2;(ju!5tDZ?5dR0`1MWfr|N*FnA_7~Lsm>R8h zL(tF;x182KfxL*Bx>b!;*8l#ZadMID_=>Ycfw? zrd=Z(el$m&qj*NHjqTt|+X;`~_&#|5vT5+y5 zmb3)e-c0RcD@A7NVjBY@$2)a=**%Roo9EE0Z)8I{pUXIV>zDK{0D7%Osp{niXGK3+ z$M*(!xInN?tYntTn5a7x*7Oss*B9LU;Wd}ah$yOP(=(ZIeLI3H`3~Lb7PT!&#sqww zc=1%<`00WoJyL?iI)&24qZgcGx ztC9skG6breH#TaOo+#ba6f+M^m#NL@bg64;6Cu)vtVn**G#)TobohH0rbRc(NIq5( zU~MnpS?K(9&tm?zIJ{AS1TO>4Z(D3$Mvac1Mv>D3;m6vMq9zgf8_^_1V-CVhspE~N z0j_b%F#$!?+*>7HCADyg)V`(U3seFVg^vIHcPf%4YiO$U#$*D+N*J}(KsFaz2KNZ1 zg$^l9lF}`^-8&S!g% z^|QR~ZsCi0uVg-msFUDHGihi^!9Oh&?P~NBbW}QKbhPQrvi2y|e)@QttP+cGwQ5ne z(QESLP5GrVlAiUKSR`;TP?Xyo2&SGxL}bTXr#x6ac0%X{D1KnbRUklsh>NYO>(+!a ztz(LhA8aIRKpd_-+b*w9vzo27CMix((iu+KCgd^RHG9|<^+<4=>^S19GEu;V9MJ2^ z8Rs@O4%vS1$s{QW3E_(+(H(_GKZ<&WeNIXg+DkPW^vO-`QbuezEx(+2aM7fV7~z~` z)-y6~#i%_5wX6S8SYRo&{_ry|?6FM}YB}D2*5|Noxz3@+FHc7)iY&( zYPVWv%{mmjyvbD^u~4u@F&9HgS1t+o>#99xkao3H}I-x!XV7*CTERw zsC#y09ZtJ!!k#soq_yb8z`lDEug*?HUwUotK(y%+g}@~4@iNrLlcr5%!GV^9)#H;I zyT#=zP5~Dzo=@ySulsI*-L8a?+17MRr$LJ+nrh_?ZRiG5`b!>->wx9!{p=jumh3eI zrLrsSV;9*N<_=)Rp(W9#hgWLH%4!`5-MjIqo>@wtdDxJZjD6%bnL$*(S*232BeO}% zPSa0Knmnt2q1`2A`{mxVtuu;#@xeZ#<`g>vW#s94s8#hO!#LyD3uy5uTLTXE-asd1 z&c4$-&B0rd^$muGzhi~Nn1 zVr-+UjlMpsIO^84;+L7HM3-n(#oJPkcldoFAo{G2O&pi`rnVgNXVWz=-!uz;j;`I9G7cBgPKn9AZb2lsL65**18ZxnE+l^pzS13Y{G6wdXt8 z6Ls(It(X~=ZB@fVbGh@pVJ$Fo6VLH&qi^=K3Lbc3IoaPaA5{(ax%BAL&ejqxh8S$M zb{V?Plj*%aWDJSqQ_<2qMt?s!{JyjXwOZae`Z6joO@Z0h#LlIKV2j|%vNlDhB$9=3 zHr-feSa6%vJB2r#{klW8qUX!yg@KHKUzpooQyV6?<^0l>qfU|A9glh06vmiSH-`pV zA!=}C6@`Ajwlh&z<+8Es(!$rds4}Io8NS#g@BTD4$EI|U63R6}M=a&!4-P@=0;0b1 z)ccv)mFW$f*PG?d^6Y&ZHkOvehWCcBO^55t@;nek#{c?_`;p`Abzz@x`{Xn9st4%p zV4shyH_sdVn9aY(Q7$n#$uH{-t?iTj8I}9ydCZIqpX_uw#h|M(vez}G2bid+L3Rvs zU~DA#1D!YFH~3rB>HB8IE4KVm>kmNK@KRfd92mm+R(P{JRR($Xq(k!ON>vTxMl_S&?@)f#;iL#|bLi_mzeI-@Bm4#=T z7dsuc_M2ZaEhfXy7N62LJEqE`QhPd-vZiX}OMvObh&F@u*O=^M`>Gs380|^h3^H30 zqVBO2eenEIpdYnz9f57RUkZCi$(poouH8pX_e4tBhjR4>`afQVR;<}@&<8Ktv|bBh zxAt2c!+u|ekcIM0L!_SxrCqGs=y#Q_%wFLQF;=@pruI$Eqg=Md*7sp2!byDz*X3MF zPdGsT3B`s>8>d0bjOiTzM>z2~j?T&OnxhR_KjH)v1Q z?PkUvbHnOL(vU#a7<1fA9n_nMq%OU4X`9F_IxC9A6v=wqX5j!n>d2rRD#;VhN~t09 zXK?v}r#R8Y4PyNbJVnHQux$~`k0X=z#`Bo&vIW=lT)DJGVt-b+u7@i`JF$Jv%6H7Gp>8dG_6o z%asrorOF{qjJkNe-%cBg_HFb1+4{loBn`D|{3ZV51L2S%*!N$~OZ^i^>c5WpWnf_Y z=Xt3bH7&b!VHDTnEWe?ySzh{#8*Q4wFO)Tr{3?Yhk;3x(=bnvgwHJeDGN{D4lmcIo z2ne?W_$Dy*7Ma$Josi^Z8)_sySdf-LlG#rd>aur8C{Syj{3OPx>zir88L0+q~iZun|7@-8Rtp z`~+2L`=y$+(aej$a?)DhUxgc><)Bt%yqLJr5kj;3Jg~AhsJOG`%8X5y?uHg=+^uEz zt7*%dDEQ0F@4~Vb_r75!R{K)w6mG&!sx}3TN>L>rNeZDDI~)GT z5+;JMjq~RD=}OIIr4Hg!Ea$a`W8}iEWLhSkq3=DYtQR(`Nm!gAR~~0mzH6OTWi6Lq z>{4Vnc?2_K(5<=G8cq$D^3eBO`Q`!=DNJ$&d8UTH9Ol4Pb3&?5=a6zyu>-w~?=Xq9 z5hr=5P1}Ta#z<-hi|hunQ0$J(7F}QIJJkm~q#f5CmmRkTB_$cW&Q2VQsc-RRbh-MR z%6{c8(Igak`}&UC9pxJa>h^@73O1(~Mx&R2YQ<;V z0ZBJ63Z<9*G1#dvjk7mUx&RyGvv<%s?3u zH=#36FP@;70)|vaCr<=dHVFYwX@;Sl*-|tAWt1qdr_Wt%ROgEN2t%FC`tm{<_?<~Q zfY;`$1etn1=`aIQb>psqM^U_GxkW0TLN+?HoPZ{3wI^R3!s%YQ~B762>0|iVG@5(mu-_{Xd!tw4dnH z!OJ593&`=d6@hh9z-e_@JpvNV;kvlJ_q%FglqDQ058hQ$G!^;=jypL*C7ft0pw>Gy z=q8+C6`jT(cuj_KUl1)Zu4bc-vyRC<(YhmhB4Z8Q7Vm%_2S8a}X4nUkwNUp?p0YbN zXmVOC8V>T}CE)VJA3-l!V@GD}e4zOgb6OnSBpF7k7OX#o?o0=ekDF~X-AnUC$vr+P{@LtK$wk{fs5XIMkfh&t92@c6VwFhvJ3Fq4mULbm`M0vw;7B7WQE zJh?uM5DOFwB|ZsxCd94j#DhqP6s-|Ol7Q=uWSB;!&vMtaLNjO(i}d71*E*lQD9)|T zzNBo4qx*=>VtHCR^QFo8PGpz=Tk$A#88h}>4S-qe_X!ejWp@29d$|9-CCL9psLWra zyuV0!9;M2Y@WPejS=%o+GKw5%-%bbQ>_awXqvciKDQfwn)RhSvBR zT<`3i8ah8rTbQ$D$9{zX8$6tySV($*6axY2h~uv3TreL_2vwwSJ!Ds7;1wZV z&cw|uy3t*hsVe~ieGwdBZ-~+$=u~*6+BJ*|@zralDC!Y5R_pGw_G!#J2TMo$V%zCO|6@2chW&R1qA9BuOLRkP%Jj@c5e zL4)@^$a=AaM_U5=G+uSxxukpGpr%!w+kH_;wje-8wz8fbvSF|v*jpNjKO0kFupZcJ zM`nM?GRA2GIdIp3iQu1T0byjvY(2Aq8ryC7+yCyYTa1&h2M7A`9sFx+7E3a9Qu1CK z9>WkW@dp!lMB|NwV*EQD5K1h*V~J^eM@g_G&Ju~F?8VF!PBwvjLnQoD6w;+iCAl14 z2Rs5TecF>4`GixU8$`I;-321`a!e2;nZnl|w&>HPw7@5KUNGfB2jq(qMmoIXXBknH zus6$5G_Ji4jvpe3Wmi5Kr@eUh*Hj`|2ad(5w`oJ+z)A_a2P^k3+aXpS;_N$AD z$N-2ILM&OM!*IbWHe?R9H_3BWJG;&6-dvAse%Ww_2m7A9j%sly>T$u1DLni_OA5(r zpW}+U=??5WO9m2xIW6`CEDq!E3U&eWo7dlg*SpRes1^mOzU!Jeyx9)r0(fU8aGvT; z13^N*em==a+dzE@#tQ8A9ha5P-@^{_h`-l_Gu;eS+d9~xjVjhoeH;n~ z4h{pmx{-aosFgMisR#XW#v(OEDZScHrWy^_ba!VDpozi%eBDEyv2a8Et0`Ev|6V%M zpT6ZEw<>?@$Np<79|Jx8zs2&c*{<@Vi0*KMHmE@3gvSJQeImO~^fs_C$V4JI0o7dr zX2}cbt7CbLK<(_(jat`Kg6^KZUvDG);YLRY9<7=QI|a5Lm(Eg1KO?B;xbWhZfMq^{ zsgb#G;9bvuQ#o^c+IRg5x*mRh{fx$;URDJ2}7R#sXi=-o+oBIvdOeHtm#* zd5k)`yuNQDtheiJnu(;IapuT&00&X05lkF--&aep2C53Aepzs-0dA5|9I*ZJP5go1bK!6%caE$lTB^yofRMFZ za)~VNLh+_xme)1nM5FPEm`zRFC#)j^o*@O_gneRDnB`qD9*0Ixec7lYmF?>av&<#1 z5X^y@1ny8Vy_F42>7sc$RkjeLON^70uL-Qta0g zHT^M1E0{4xZQHX|xTO8ml%$fnw)a&y4O`Vs>H(^Vj`UGpj?D(s6R!QVoe$>Tbn(>D z6ccx>3byShvP$5HMp%TEv>ny44cjs?!Bl&SM%b)*;*8goB6*93`Hwic#6@B?q?@Q^ zjZiC_4O@dM?Dsk2h`hlGM%Z6`5p0ihLr&odCHM`^pGGV%GKoLFElxQ)!_5YI`}rL) z5|wH)OxPFHu;spT^^PJXRVN$?6Kb)MiVwfY(}=ajdejd@m!;DJ-D@Y>q_GT({3Q+*bvE zh!E~LW>J65@`Lg>sh9zik1+^t?YycZloCFuI+=K^qk(Vi5=#vy=C-)M8{V=amKtQ` zH1aMMZ4kDOn~5=wFgBeRPYsWuRv>5)4j4rOCz3)5|9i%itzstoJ}w7L)j3NFA9Kp= zoiH@6-I33}i?IRhpSRkuUeYZz`MLhfzUrSgYW#N~g8`Ez|G8t0>E8{6c%%XqFoqpi z62#|Wbb@}6M?~sEC}?>Lke5R^S%>oqBL=by%PYtVZ12YZB-SW~4@C6wPYhM8A0pHo zOhb8K_`U#Xn|8^h-79DRp6AqZM2_;0X4sX-oK!6n!=bIxsKYYsUEDFI&l*VGjnGG4hFh^ z5rU!or=Gf;p{0qDGo6}+v9meBA0PTZ|M33!>wo=+$HGYeZ+vWH)^?R1uv;w`SO%m3 z8V0NZuv<-ow_hlyNrEdS$9T(4;UN~~6DLe}uoL$m&I9=TIdI|Hxpg(iJazY`zmhv+ zrct3@H@kBVA13rhRDk--Q!sbJT%7mr>sL;jCe@zqXj78s=y7m_kV>OkS-lF_*`{Iw z<$PI|+*p@O=Y*QZ_JX@BcgS`Sq&GZUbIKiM_>sKyK968E%X{_Rn<2`RRC%!0@<_9p zHHy>DnBkFVd-e)gLqVaPE;8pY9H1Rejks0?duxd|6V|dEa+x=;9;8#fvBMoQnPx2f z|0WKQ?SBpj$jr|4Pg~YDbhP3CI6%A~cJEYJ9uchmULHJQWMfgdT)H;DO)t(pgRBXn zMQJS1GBK-;b|-t~P^%)-R3BlbbO{8lm#6AH)Tz17Ns7p7s+QBM z>*3My>3ykZJVT-Ob%B;>^zDt5T5p>teGYi6a;w5uRiosovF`XMXi4A#laQBKmOIcq52|=gE2*mXEU_1~N}a6hF9Z zIHlQFTMHZYbd}j!tLW!ayMvF8{PEf04jFn#4?X=z-UEzJf(=BTbY`E`@B_&e)64Z! zQlsdWiT0K`>dP?w+kWv+HqsC`dKe!vzBgm#W3DL}AHY`|v3(iI?{mr=e2xGWR(8m` z1@-bfZp_T!bYPv<3JF_9`fQ^jH;136%AuysF{aDOr(vD4o3RobRr?$lEzPG_4RRY* zg`5{D(x*A$7BtufH0lbt&QRklp=Lb6_g3-?xUoYyW+32BR`T_EuvwbS z_UNxx$_aU~Q76rcLSN3ACw*Lh#pmUqoSTusy{~wrf1Xzp@^evP{G7&uX|hNMwfPmF zF9UU8gsW@xZ5W(5EK;&i7rxI2J<_bbd{;nekOXvOLQP;ni9aOgG1otnhct@ z1hDGB5je|s1j=Rw0U`?bpB?}aA3$UUNP;7D z_05?W9pi~Kv#KMF1O@|Cxy4Jsj!GqNu2qJ{N(}x0- z3iJgLn!D2v8sNbK%p#<8rx%7p*i|T<6(fT~2$kpyGWd0^pC0N#KMAPZ7zjB~z0*gJ zaHpRRI8I_9q!2(V4meIC;DW*-&;pD^i93ZKG?yL3SV+KN@+BQEhabWKM-Z*r=`#=W zpx1;0B)9v_0pA8Ro@m)l-!Z`UoKVOj{KLLuKq;W{iU3x^0(1fz&qyAS#KMa?{$O!qXqMxM;#@QI}G*xv}C_sa$;>2r`1rj35%Y(=QG$z9Mi5)$4*t zV<+N7KjojZptD6U@dVwCLt_|9wt$wv-; z=u7Fsj2TUY>6iS`PlEz9!NX<75WLaAkS-B-{-cUJO@sVmVhkzv#Ofi!( zDR!KR^AqwgU7UCjOa7{aKb#bHdCito9%3DNf9LAA#E<97pxLyMd=dFI6f0E}2M!5T z0WHcO#I~RbJdFMe{#uRsKruno)j>(>9YBh~eeaRZsoX*y8rlBSXv34xI0S7sCJp9E z+kLJ6Iz)&ib*=_bZ~-Nxwk7^+t+k6Y`Kv<_)7gWmAu$B|y0*%bCA#ufwEHz!mqfa5GUI zM<;gA^7XObK|m~fegZh8-->9}KTQy5s>ubBoO@3hih#cSsJ4!ikRLnOSCeo^Uz{#q z8D#2{qi5lzf{R;4L@1!Es9fIjj&!kbKBq6LGz!yDoC`#IeBibiospW_TO70*E>UP4 zNPvGsH{dZ#utIE>L*%j5w*$d@6rs5(1BU9Jpl zqT}xbiAo!%42@dX3vG#r1CPt3QKzbFZtC&sy&*(p_tK!RobaxK8R_d^c+iw(HViXv zNm>Vn2$N&^T`I?DAM5iiFVT#$jLaRmsLk7$2=W6Ut<0P;$nx^4Ry?W0;Wh;llsGE` zd~n0KgbtgXMZ>^VoLbenL-&8TJteJTx^oaQ=gb-iEUeR%4#{Y|wqL$>^STp54d^vF zaY-c(P>PaFo;nfU9%XX<$M5!=KziIZ7imQQb@<#MAZ-C^j8a(ah%syt8;Fs@U%h|m z9$AbUPeqx4VI%-wT2ohmk&7E#t~RI%_2g5LEDt?|QRJAMC?8GO9R0_svBNXEq1(>v zHIjY-2U~_Yx5Ed%SBu5TOwm7d5?K~^;^-mx(MP%1=K@^JK2H$zhrB|hGcbX>205MIRGZIBS+*fsp zXHKdvBih15$9`U!K-(u)bL};3vhEr>du6JCO|7h%Fg??sQ$PLT4OU`Y8Uu(G&i}QH z##9+&LjaSr+6BQ_UW1tJxV(G!0d0v`*$_;wT%Eoq0%V3=EiW|&)+1)DsHr)dpKbfH ze?vc8f0GvCY5^lyvO;e?hxVm^i6NLYjeabl3$2-j8<)@*VjNe`U#YJ?Lr5Vu9u7E7 zE!y9OiyCT4Un)r|eP3KRY89}l?$NJm{l-Kq-5w16!Sfuhdi030dL&Rd0xzn#(l_eW zGZ!9=kBTKua}HZQe@0~rFRfsv-;-J#<>b3~WsJFl-b~WsTi3kzBtFEdenXdy4xwzQ z1khAW#f%hm5Y!lvFcEQ?NY3@ZcNQ6j!%4IQ=gh1OaeuPvedl`V!+tnvRt(U_yz+P; zbI!&rYN&(lfF)%f@c>x$;kmb=OU$x8%-RDHEf%qh$(5=Xw8XnT-c*^J)!)vp{e&lR_hYSX)ro?(B-)h zbndERLgByijrPo-zSAXC!$;0V7>T0c)4S+~5_HB^JTTbAVl;|S=l|vh<=Tn!!1(S0 zi5cu`fvCMFB-mSid|Np*WHdP4iD)cOv&QdAkhmmp!yKfV7QyFI8$$3JRpCNy6Pw-w zP~a;5M?pL4ch5fxpatS_#g5VOb#$9M+9HE^?FH4#^slm4O%mH@@ zReB$tI-StpCg<3k8z}HW`oVI!8@^n^=IGYuZmiqR(CX=GZ`jq@*0~|jZQ0uC>8{(- z+3EIpx_jKbpqKd#u$}b7?u%%DQl#vl9R_4x^Y6hroF-Ozet)-b?QZYZX#6QAISs5* zCqh@dseMH|V@p?C2O+t3Z12~O#^>eYB=wWxuVdi(XrCPVCNE;Nn zLLU*k4g9?U*6SdFuG?p9XuecrL3b*UcU)&(1lOUsX!}I)jhRyE;1Z-uV;;pZSvMFV z{=pngCrfe$^%mUvO6!!_KD?T+q%LQ3xSZ?W?g`_)Pqq)|&vu{JujplZ@0TbS*4G&U z7SUX?VK}0LMPKn%FmY5pq)90qZcq31xv2Q z3^(#np1z&Gzs3>cT6`K_!_AEl=X9OQSX*bKF%MW1`HE_&@|9Av=bo6Oju;n4Jib5L zdO1CQ{64U9IRlSMU`S8!z_dkh)pWh`DBkq&jC@V^I zT?60`7k)p~vqQ1rVMdv;A*dY{HC)3)WZ)^lz4|F*bP{lr9`dF>yk!}bSmzRo?Z4gI za;=ByQ!u}Ml|Wc>8@R(4mcA@6Zrr%m=P%m_sMOWdi;2oaax62}z zA?_(Y;F?c< zzHbhlXE1m>BHWP7X@O*0*>4m{?~i0#30I%SoP+2eQ(mlInJ~R;o4g~V2WMeNTW{V{ zoZjt5HXEihcq9Ee(0b(QqXc!Uj2H&^w}R-qU`JRm^%yqWLwL++Zc+&2%{8RE+AOi7Ke5a;N@GC8_Be~yOgH! zYFW$Si56~y?>0?Gv)yd0t6gkAe|edj6I$Qt4xC3@n!FDJ0c}u6U5<;paiLq2ZQtg} zSFlGDTC9!OUd+w&cDT(-!j}cGLc@~ygkB(@E~Aq4KtBQsvlu$Vf*p=OQimV16dsYH z(SZjphhC*&)J1S6A$))tfiB;Vtd?JExA|HSf(&tVYvo4v&ApLz z&$&sDu1+&cgTD}4`9p+%v@Cnj*=a15wQPZ0nlqOWqII`e*a;U)wvnAgaW@u``u!ik+d~nJ(6|-@xv3 zlOfy!E<({!E@B?M0+?)Pl0(Kt9}6g<}a z6)=LJ*UP=TH|tY(2wW#d8u736yfr6&7s$873H>qx=gx{RmPN9+kAh8BHpGs}-$@;; z0Fs7dR!)+mpOw6Ljppzv4882hVc6R<@LG9d0b*E4~C?8awV z9M_U;K@*EV0x9*>O`o+5;9u-dBrxE=L?`Z^C2-K#L={UH7TJRtoR<(Z zV2DR?j`C{~)1OTtRS5iw2@Q6x*DQGZ{ZKrR17FQ)=)1t5uGRZ72(gBbUu!$_ag_Jy zijSXn^z^IGdrY1H54LzE@I2A3NHH*0;D|W7VaO5doOusUPw<(pj~GqKzpToQ2Q65@ z=;I=jp_@N3WS5G*a9(WNd!f&pb#0ErYcY#}Eqst6zXQU|g9UB?+y_Gj%{zrqC+Gl0 z3(y+e0k%6d6rZxvh<;f0Nl;Yf>g7X$l_5}j3uf2o#H_2Ok{}C$s>#L4(k`Lvv`8cT z)PQ>mJnn^?v~2IfyqRp|VyDBqXa>Bpb_<%qCgv!)?IWiyM=-u!BSOi@xb35+CYnUX z?GNcGt%f*44cKB4Tw?+nr1S^Vh4Vt*Tm8^Y?vGgGz6}G((ATw-oTo zgu(?g!s$Sp2=QwX4SkcdF3WNJz5Su8g-*|I7(a>=pRTE-$er#c44Vco<DNn2g zRut&L!1HB|-5I-{4zPGi<`wj?c&Zo-2u`wezoS26AE3=iDFC+J4rbH(qQ$uQj#soe zR){?sm4Jp~DwU)m4A>PO9jj`gt z#Y>zE^;mpbz>>f{d(7b%4c}F1fk7v?I;bW#Q|VB5!;&uFpoPUaL@O(}YjRkaU>x;u zcyM$%zd3g16e!k%jouwOtE^k=$HcK6SkJ8{Oh>{`e&*_x!WDw9XR2N61o>VRgrMl` zN5NQ4H6miJT@igLkr;#(fI#UO%|_5H#o&PxgJ3mL7=Z9)6iJ}MVoqE+H{PR3M`r0u zQ%Tj@PTUr~qeOU_CW9-h+#D~=s613zL6 zT76vIlY^~#Aq5^LT!G`#^I09ntWV{_>HX>}j zFL}sTMD5{>(IUj>J9Ku@Q3UR%v)zLbx3A@UUy7Txhiyu*FAtoqo8s~;5`F6Z@-Pku zuL`VrK6N9{&eXVnw0cX?svLRu*7L>T>zBLt*PC*ROTHyG3X~Qmgj2VO3t`>&&|<0^ zuR2cea2M6>UY2~e_&Z2#)*NSbtxuFcC4p|ThSQfW+I(DP*D5!&GE}D}ck4?}*qaS; z4+~l~KkkZu8)H-)vz_@N?NI!S&l=CvOp;ho%*3~E(;~eRvYe)R`jC2lpOiG9A%xBS z7QWAX#=GbLof%;Kb( z@004S{msTnLc{63qLm*AaUTiSx0ZLm)9srls`RqlWGYf)6QSo-bDj62$mz;lpgIvc z9Odcvi>~pvgZBnVivB3#%0@=RA@)O>I%;;_zMPrF;m|ozKUT{%RU@(i#W(UZf+(Jd5FDsfI zyU{B8t`xlqIU39i&qmD%E*Ywe(#?XQk~ue-3{r5CjFlu4*CXr#W+ih(%<~9JeT;;{ zjujsc!mH$_6cg7UORI~;%G-&Pc8n{cCtHo;d~Qs)AJi>QVx9chapu!~&uT&eeMmhZ z6-qOMla}a8@I~YkHfrJ*p5QXSzS_9g97BpPYQakxlkW-=f)ojMGx8C}q$+I8R7E}v zK~}IJC}Bw@W;jHd7v2l(!gtl6*-Nnp8&hZ}^9?hZ(d6b1FE%D5+QV>B(N+{>)X0}? zXE-Eq4@q&OWuRlaD9Nf*&)AQ0o9i>#w=&VaB`H)kFjd`f8dyb$PeP*^Y>AXsr-2S| z$lI_Uq=EnXX_WhYYHe9UKnJ&i9p`pSJx%Yz}KH3(% zJxGN8HOl=L45gj?POG%1E-zQiwpH}sVt(l5H%dYXTSK%2AT44!Psr9$CSs}3;E{>G zCl&5PXw0LjA3e=b&?*?mu;jv}Qk1dkT!&V7wnadZWX#C_I#4ctkw*Qv(lc2sf=(*F znAfQm75UYmFUU7lyQ^w-3k`}`BnrCJ;<0u1D?{FJrIB}hLN~a+XY;^U=>;^k009F! z=^*k`c_6Zq(x98tJ^F_iJ?-ZcBQjmM5t~gXVJ_iE|Dbq!OOAw!NUTd4r+Ok}m%~k$ z%k1al;8lN|MGr06H?M4F7LLM&{&zew2^{*ZAwXaYne&uEPM?YjZ7aFWo5sb}HrPy8 z5Bw+>=vB;p%)l4V@W@ZXWK~9Hb#i(u{rC15Avs!f&Ybx;Ncw_=r#Fk|;yL@m*{wy$ zHBxxfBih3&ZP{L~NmGtfbCZ}~r%gVFY;svvd>r7PW0sgB>f5|t_u2Zwg@T^}3~(6I z^Qa{(W@UhChB@ied#=NI7;lQ|HRQr~4xh0NWI_meJQfiX?I{)XVk|fu*1E6Jq)*ak zw(JQ}SRxQQw4(xs@X-g$b-modD?bcD2k?X#9L(A^@q|u5zY|(_Zm7&ABabzf4~3ig1)i; zXp-SCjK1LByihjVqDf4`8&K2 zp$@j!xufNykLbaX2o|WZt*gs2xYnO~;0x(?p-&;Wr{-itw~?}Ydk${A{Vm}wsG}FZ zP-^slObS1~?fL>mGGjY;VqF;OG@IQQss?inAvvWc5Yyk^LO$E+9M67tZ@nZ}%`{4q zZ;rluXb#_`$BO^4nISTwvX}i4O+)$uncAS?xM4P#pqOBbge`0*mDq5R91XIfjMWfoyK3<=) z_P{ATLefZyFezAxQle}Fg|-;6%&hZNQ+ew#@D7_JRJ^!uKK+NkR^Q>gbm;ynNl9h4 z+h~=SnrH3H>sY}-?B3&Bm4&;RX+(!ZP2A<4m-m&z#IWXidhg%ZgrH;+)qcNy)xfT( zf4UZ->j{rhJ1Nh`gejDgRN-t=>_FQPj9g%0KW}(H`dJs8$l3<2YXjO(%6+i_YECa7 z6$`VA!^f$l>J@dOrU;pY<7SIr;%TDk4yO9jrNVZ}jvuG&*#@kGF*i^EZhMO?vhA+F z>hZnmGG`-^ttDQlI^rwKf_~3luJ^ye1_jP#90xhh5al?p^9c4 z2w$SeoZ7{$z(Vb?=c4$AUTVFYC=VBlbL()N%B0PU8Z;!zDYzihmh7sE!-wpO^d#9^ z&SA{r=~3rWP3h-9yg2#OW#7GSV^&q2_@COjGt z3l=&MnNH{n8oQ%BDnB2O7*FoJ`lziBXVrS3M6u>Gmu^4)xUkQ@$}9~(Fa7wZfe;`d zzJ$6UAXj;9xs<(vDF7GUT8;K8KbV9I8z6`Arw%g)5js`Kdd(xQ1H1eY?+3(Qk+S+hMyWdsKshg1GCi zHqV#JU_<8%glreP=$7Y)brFq4joD-fT>V({1p(n_p0#$im{~XcX%HVcs=^Exw~R-C zpQ^>%8s4_%3IdX;{$oYG7~{cTw)Cf+x|`=K<{O->5~8yQc#t!Q&71An4OhyYT4|9& zvK9r?AFqRns?OHQ+O}*UzAtJOa&yLE12GyWj#W10v?sRaj@Fl+*)~3)AX#j#4Q-zW zsGg!^lQBgtR3tGd4?}LBGT}hhemiVC??%tV7w|cz&l+`cjJDk9 zUENR37YWitJVIPX70OZ&kfPMG1S)Zz-Kpn^oIX8vc=7rY91V3lckozOAC}C4oeN-* zf$f_8X(7@#S4~F*d6R=-#8NfO`{$4%v8HUmxlKrh4l6P+z`JrtuQmlTUib%XxmAy4 z^#Z7)Z|Ord@LeQnO{OSjU&vk|$SK%FsN+>i_o~HrGFkF7uZoJ^#gvntvPX z$@S|J>aWLo{&v{E9rkaB{o7&xcG$li_HT#%f2YId{%3Jr{`xM-|1urh4y!DC4`o(uXyWV!f<6pIoSFnrh%NDdg^Lw3W}-+ z;nQf66WY``TJlVc^Ab!phUtrwnIf6Y%hL{qkNg6Km(Sq6r?r`v873hiUDbMl^4inS zkH})zc1Yh6)Fd#pr(q2O`e2clAs?34>|~*>orLFo?E)Q&YDAHZ0(wyMLV0!8EOWRz z*=ri1kJ18r?0P0BbV#gxxhl9$s?G5yp+aio$rHS@LF)b1kN9K-PQkwkue%;%Vm?FZ z;-QRo><*WL+TtNZG5(ljLa+hv;I?j?&7)km0^t(DvCmft@P+av(32teuPA7Z4(5=oJZAAu}{ADo@)ztkf712^_eY zy~BKOE`TjA=~~qH75m+itB;m@6{~FWmf^JRLR5&PK&kwg6fbS#=Z@Y(J^cvPfmG@> z$7MOCr;quBjx_XPtPyOx1kPQS6wKdnWLGu3Wp@G>rSvWJGS*EjgonRl7KLbuA_= z;B9bsnOTOcN^)kSdOO_$o9ybG?PVa5Qj$dc*32iB02WDFeZt7Dc@52U7xQ%ZU>hH- za1__R4E`NPed5U74eaz-)X{d2$hBr@TKiHSoxr@T?gKkWZB*=2&f?zwH{1v6Wf=it zSlQw(}6DizCQp*~M(3#q{uW#qtyKv;HQ$i(P#4U}P{hH*3JWCl#{=>-vN0 zP)8Z&utz{=@4x@uwB2B5;BeaiqnoPS|1507U;g~~myQWU|{f7>)N;w<5dPm!PBG5VE57uC;0H% zy?Oa%!_9tW)bIA~J=_)>p?~XXy<|;B2;E%G;_=l7Z3gV#fuMeS`evbC$<$Uedy*Q> zp?$~iP{YeZvD>sq?s5Abn1)T7T63a8F%~34K?~pNof>Y#?|J&|Va?*4T;L43(;2MP zHopiZUG{g&#P7#!J31#h+MM4EJhFQV8*)#q+m55putjRgO&XFKa`$+*&5c+i#!)Jf z4bj{Pdp2ZH#*+@w9O+L!ZZE*qJgI2SaabrB6B^#L!p3o4?YvLAH8jf?><8 zUld6qQ&E}EOHYs2?zjH}$0h+34`dkep(Kh&pKWdi0O>*cC;Jr!=1mu!bt5;WLW1~& zOQhGHT?C0y%~Q4J5cQy3UgT=@c(}HP6@4mQ0(5@niJwBwcdtJTTE0>56&{o?PLJT0 zgOQR~PU4U~SSrWHF>Dh4YE&$Z*W8{&=QW0`nGj?2q!-e9+GGNMOJ}t)+o!XK`1Z6G z%p^+vz)M1Fxqqy0Qvvxi-FnJbE%9$w9z2;XV-Ro~aYmllMP_L{X9DQd5<7I88rwC4 z-_q+0KdX(>l}p}7qHSfjKSJb)xz*qwQ!V5L)1Au)(`^zrw?9UU@5dSA>WJTXWxF*K zy;eG^_kN6vqwwHNVNd`%8CGC+hXa#UW1V!~8;KNmqYYov?fBLhm$AV}%OL%8d#&mK z3zA~G;U<(c-SDJ9WD&YcOS4Q;ij`ziex}$;O?dtA=mnPEZ14B15f*KWLt-;&%bM;_ z1t#2SHS_htJW4fnPLWpg67eh0Q6Fy{lFlK&AjEmK8<8tMG7L?W_ml7~Z#+M1y<)19 z7Kfgk;tT4AvT zeJa}JESbb2b2yWqGywDYsf-5~`P!}^jOw*LRv`M}g*WO_FbF3d(??l&_wcaLwTWK+ zAZ6dZ>LgUwGcas)n(E*3*QPss2ySS$scSQ0hLpJ&F8D6c;!c!EMG zHu|)Ui`_ILoVI~5?(rqx`fVo0QvCTjMwQ(w2nn=H-akCf{IduS{|7EheyeEElP@Wp zMT_OD6-r=yG$*T9;!&SFAY%LPIi2` zZD*qZk_RrXt?}$+W<;p*}O|xQ% zw?RKOJ7X`u26j_(Lh+@J+rkK86MIvJVs+OCMQwE18_XpFWwny#QucI& z{aOrxy!CT<`0`@R#=~Lhb)i$YkL&7rJ?c{(tTO>eE}uzwf2~ReGH>!c zpD7-iLJWqHWm8eHW;XqUg@eV>N@)t2hh;l^Gw5T9HtUuP>_f7MY;TV zA#P*hi0AV~x&nCY(}YYCs`B01DX~(9qey zOUHoK01ElJY+YCo`7$S41;|bBYO8R*#xfcZe)3*uq|#UXnl(p(ujGMboZ6L14G|d% z;N%_Vz$7Fx6yS~50L#n;loqaatO17ji3u615-7#w!)XbI7RA}=Kmkhq0ogo$rW*<< zWI&RODg%=Me+CHmAKn=d)Br3dK?D>uuq-7c;H0|(^ZBU z03gfrKLV3~XV5^m5CGW>e9p`O;f?@G6*>Z#f$i(n`@45`WdgW+FYq}t1Kp7YmIZ+M zCNOIUSnUj8H6}o<`gsvh2v~05;~hfhyE~>@dAxgdUlJG=e{!ZE5%aQhTmz`s0AnOiH^t^^)p~$I;5X9Qy1q~%|Kkw(RZK0idfFfLvSffzhcx7_gZg0r}a>#go`qK9E2fv;wtUi zZ^oP_Q8y(D-*O~J-J^V<9KAz)B<&!DFQ}q}5V44rGjoO_n+TA%3*M@EN3MvX^0B2u z4W(kwY7;R-3BzQqT0n!ALOD}7Wjf!{4$8y`yjDz>GEPWq=d;I$fep-zB|q)~tvH4K zJTL3OderWdxS^lZ2uf{l^Ca+UA;Jk7ULmY5PBBr%t3T(UHle%6^$r&4mKH;OVZzUS^m`^DRljwElFIqRU$j zKjL|DFdCUe$$)LU%vbP+FLY>ge$HTRFq#~-&~w&k)8K|6Zg+>zbZeF~9eYCtx~NwP ze}L$OjABo4`^nFOEWW7=by&hxYQANf&=l2`ts#u-ufCO@_@b!QiY|4O!`Tb?a+h&_=SXR7`)rPz3zhD;h`+O@F5{|ympuxiMx zQIl>B8ze<(y7?t)zqJT@BLZ&U22NEv&rfd1_ZeyyRjb0Mc6ghRBA75a$9U~GPBDIJ zR48xIz`!LTW)!RagzVTmENLl<;r%~Kt7>D^bo+O=Bf+Dg!;h+lYO=(9nmhYhmg685 zB`p||wS(wbeZ5WhvIH~_#?4Exj^y^gf?@9K)IU3WGMB}NZsho zyH^Reoe9-Y^Vcdu5QOA;pLe0#li=1H`6uBk3ukD|^u7 zV-jU|`TIUCo}{(1yT2og!lt}sl-!q{OwVA*;mUvos;_D5aq_rDCY^a_zVze5V@a%QYT_fWhY8<--7g*0&7DRWZN|6;Vo` z6M~w7>$vRQ9tp*N6b8p$D9B})US9}P9s;YKQbbED?f+7z_RBvnZ0$ql4xD6-D>NhJ zPR=vO-_`Z_uLU4lGyk1Gw-G*pC3tvV$Ux>EC*|Rj;Q8{K2)8#AUcH=L*mXsLZPy61t()4OOGFmTbZWoH15r(4MbbIL-9d$Ae zxy1>QDIz=|20gb3R};62fV#PeW?VC5t6B6IF5+qQ;~S)?44?qR*wyfykE>icWzIj? zg36=Yl+uRAMc@R9ik@Z@ing<6`Do)5HU{TZCj(Ra_WfRc9+H!!d$Z0H7U8<*I7_!zAV(>XR#0(4l&_gOrE$!<@v524VumQSkg4Yi! z26QFXc>Iv%%mDinjD1U}m9CjXcRjs6Xua^8pRhi(WubGt{q5IEF#h;lnu7O$ot~rk z(9Q4#u+#jDLQ!u3I}OWNKBq?t^6IbB#;5+gA*d@ssi~LsBxI6$QBCw=O`WWHO?!C2 z`ugI**yFp0gPmK$kCvu|)wZVAXKxp~%blC9`~8udk&x$^kmHvfeUInb__j@HM?LBb z%Zk^8PXw)|7kY`VNp@*TBXNgM40Corj8o+>GIU+*DQs4(prz=mcIvH)pZB+~_vc4? zX10aQJatCv*m`akqZ<|v)BW;BNA4W#lrCo^Xb_NOa+hcBdysFfxP4mi2}5iwJkGt$ zD8S)gAvH``PzCdCAC=tca;H|x^s3x-xo%){RD;v`(7Sr=CZ$?OPr4|jb*6rA)&HI&kQ zliiPi(sh~op=g#7sdxx**-!!zKZo`2^SZ_OT|VZl`sUltq4T7Kr@XJsGP3=4pzFv!o{TNXy?4?VwlPptjIq2d@FmjVE2VN-0uQg( z>x*s#{@c1O9oW*OO|q?`x+M*FBIsMqJ;4nAqlUSLQ=63xaIKTd6Tvo`3q*(8@qQ}0 zbBFFM%6Ejpr({N8SF#!!PZDhWs{QHsi;d&n9uCcIOIgtg8HL||$W@*)jzNX3JCVev z!A;D8Z<~&P?b%?%k$%}Zj9s8}t}K|2KK(}43bEM!R;KB(bTO7$mw+(CaxnAc{U^}( z8FE%lm!(6w{$?FIts3Br)+>=1nv@7fG9BURZx*PMMW?FAqmnCk1?m{l7N~IGQA1SW zl%kH2Y_Jl4X6a|epTG@^$=Y$O_bdk)FoAzQMqpOPux;p!XU^rV*n;anz66XFQiXZaB7*gy5i&GKNsINhEwueu_KOM_VhAssCo10A9(WEp-n&3N z)z&Adc5#6-$CA(j~ z99(%mpMFf{l%K!WZR>5g-4GXC5#>pE&{=#Gra`J49g7Z~h+t`{zYk6E*~5`${l=6v zlIDEW`OUM#{336JfPC<>1*>}5@6 z!pozTzjFF@uljqVq&I<|WyDuE!(di>x)ipl`uBX!Zz$ejk5eOt(-J`}tq(IKq22jQ zQ`JChx$DCH6oJB_JY%EiV#+m5!r_x0Y~lbjDMi|mw&RA3mr%?gP8Zw2kyjbZ^8M0w zrIguayY6-v*dPEdUVjvmp})IT$3+ERHPp$by%x9IL?`XbRTzX2<^U61cW!|NgIcL7 zp7YQf=AQ6fqk08m{uiFzNJDatYR|^3i4A5@xS$a9cdSOPq$ZcFRRP5B&+cTxT~F_L zM*d#U8dj+=M*f|;6f8;H7O;94%_UzQ$=WStf3MU$^(KpSMT$Utgq&_Ofxe8@sY>5aAMHLU?Tl&e@e@C)`Y= zHfMz1f@H9-i}QCqnP?lMs>T$;JMm*dINW-QYuKKE&|!X0ONMiJu$;;Bgjw7Lzb z(-pxkR7YIB!l8mzv{Ic%{?+gct6?(`3gKKHn%Cz{{&rxz!%F~9E+&(Ioe@97c{kM0DQ2yD)Zt$%KzDCR_zc4u6AO6`erjBBD^GNr) za~H`8xlW8V$hfG@GqVA<(h2;{YO>%XOAdi6c7O#THp95e0yPZ}vYc5)xCdy{oWC^A zrza=PUm{*N+lm<6WdBJ(G@VhRS`41ygCd?^i=VQdKz_CoOAc<0BzY953Om=AQU{#T zrsB&STM`|=ex&sw6n6U2^|!b`b^L`aE)KcX)P#HZ>9Ldv#Bi_%$3y9`3ask^`7J6A z$ZrI*U`y=J2E>F1y1U4PlcS7|^#L|=C|@ivT|3?4*wSZ7rNY%cF%3#8>DmR8nLQMj zl+M$z7WrsuxA1Tf=m|fZlYWT#Ic*@U|2O@tYL^HR<^rqw(etFy`HFY3qfua9r^Tyz zIU3ng4FyN7hwd&aGE+!RiiERs8j`e+Z{2^a&l5Kuq)rb0@-Yb;YFvcg(6@Q1cn8&x zgneuxi=P>tM*LD3$}Ao&y00Qm3;BG`@+knJOb!}XB9p-L)7LrX^~ zM?r(!P)_B{0&Whn*GP{MGt&CjZJvTIHequC#y19w5a&bn(Y}C-rv_v?G#<&I_?}$$ zYM5T-3=6V%{-TZC*l9L)w<=%Rlg7*KD~P>g7Uw^BP{qOgrw8JHeS4OLlkLy9XUjjS zN8>f2V#PFg4+)yy4d8M8FuXj_CPr2-%jALvTLicC<-###<0rIo9G2p@e=@k#QS51E zaXJW%20ez~ zOe_@piL7B~I=WErpH$5)`w^s#ImS-1@zpq5ReD5O^3HRKHZeL+v!+r!NmMCV^XdOo ze@E;D`pK6kf``@Rx-8FC@IyOu8~7Lu6hrZ?PX}vGFxwdyS9E{@%$DMU`lqT=7{~Uj z0y8K4%W>w<1`ueV(8(Zt9mn8#E^zM*7YpXBjk!h6y^?#WZ~7gCb4Two_n29dFx>lm zzjK7bh{={q1Yme<-DfoLCoc>l_7Z3AD>^2lWDMrhzI;RkX4C zKv#^pa#rFV&X-QlVc{|I2vi9O{4uFJp+PCaCXTJ07zR=}b?OKOe20WQ^?@svF)6~} z~Mq@Re{2YZM(pdq63acDW35 znWXH770emmzLS&3muGQ_62*ec$LPaX*^5YF#2Anw3{lR%C==`R{{f4j8CPik!6;); zY62GnI^kEpgMfZBzc2n#hLI_3Cp56c9p$7_M(2RnCSZJzqPdL-Fd0j;kLKSQz7y_{ta=~j2X=FYUgc{bbbL>X;DPzYJut%_Vc~wZ!d~fY zd~}5M%IYm0KCdj-2WNu7XO?d*;P|00IR;YP1k}c6zD8bIvApCDCr0L3JGek3k!igo zD79H^HMdyJ_pueYDO?FDaT8d{?pU#ewQTK*I)>X~-^wi$c)cEtbvNYorNoj&1cxO)E@whX{)5$NCyT=Un>}eV)s%!UI>M@MjRka$GTQzdmO;zu)KhE%)SV zr!b8wS~1Onpua7d()e!D&f3;)Tt|&uP+MiS&CEjL`$v}(|ACbzT~U`v-;0EB@y`$D z>OYnc7W;bcmS-4UiGtsiPV!%{AneW-$$!XR8z3RWiDkArEJfraJJ&zN8M^f;(Qef` z4xVXT@pQ9EyknB>>!UB}jPaY77zR*F11I&=(z_Zh|XQ=hgK=KW*`7+Zn%L=+KR6tlnYrx=^oW#hZ+* zNrKHeX-X32cK9+4Nc_B(8>=+mn%DnykOjjegV!1<;4RsOUO3ZmP%#oMzHl2u#Kau&JE zI0Jbxno-dEBP}fDGB3P<9un%Vn|D*IdL=fIS58aG?k0%bN^6Nu`{w2GlQDCPt4efw zU#?n}f4*Vg7<{WnS>Yzh0P^8j7t|MfwF9Z7q2nCBqp_jPN+hYE{sn(|6^5}h@%_t- zZ=1%g4~`OB=HJB*Tkq^%ieJv$el&S0FyJSLTv|`DeHB9syY9-GM;N+h5MM~10#&G> zP^N5YQD1`>b(Tb&*&ws9a|k;tex6{LFVm0JD}74F zrhODL5MLJi#{iAq_vZWKDtZzQuwwga;7&AeB6-QN=Y19R#J3=?N-E=JS!qd`Xy}0m z#~-vLhkg+s&b^iUWFjL8oC?O529EsC+(D8du;rAS)Ln z)!6Zmue6WuzD_1oppbOZKKXi}eyIW*AXZ4rxViLfVWjTW9YWzLOnmWrs2s^L=) zBbc{lr0I`RPF;J=QZuw?y?48q8_1?QrEH@a;9a215^M9s$G)ujO2Ka9F2a}2fJFf- zCSuklfr3$v)}#B4lN%AhaFw_-;kabnOX_vcSz-Oi*SQX%1~qeyHIBcJp(^rH(!VfZ%{wHL!cBkpqcn<(b|uDlClo=3R} zd;OcuB+bQRaAi%=fteiTy!rHlW%-&rOdK^BmbpB8tOJt@xzs)7onFRfPh$_>d#Z#- zoAyE<@XA&XW2g`^NNn8KcwBs&y-a2{D^(bP~|v23B~L3l(vN}Sj$Jc{wq z?GRq%L?ot&A7j4!cH8%>H8DPz4)uM9uyzr6ZI}>l_JWGG5A^dez94c&RV|~*a&pyx zIHB_$N$6hH)s*Y0L?i+6d6iF`DyUfB}EQLCSC~zqbdmI~MVq!iW zPZEM4o*2t+|FjB74*Lh*J(Ha~Hxx@T;%b=IhT2-AlW_1?#Z}?kZ#ov9Qzwhw*4*~T zOpLEVLfC@HRXY3ox| zfwV4*=#%)SWzs` zV_`u+R0Me@q_HQk_F#V=d=4@m>jMf|D<=I9uWJ6c(kcCm7d3x(E*#AN zJfYHWWd9r4|3>z|k^OIE{~Ou=M)v<#B6|*I_Wy{J{4aze{Fm75-|vz9PImq~+4=8e z=l?%ScFw{4ry%VA)4}Dxt{nfA?EG)XvAo@4b-64!>dO~7o@ukz1-EA@tjrh#3(naZ_NmfPt2U_!m`lXLkZfE zt79)Id|&6Q)Ks3Bd3lH8(A4?~PJ(r6)qf>E53_VWJ-oh^o#psYdy(#zDw|aWEGA`v*z(ADA?be#T3y348H*k9pjMU+}zo9IlNn1rYxe6@d7cvzH>AH(+=)dB41D zn6TPdriZJ|Ak1hUmMR<0il!-UC|TrsNI~hTuqyv3khnOcDRMJ-x}wo^fU*}v#7p$4~78`g?SJ1{R9{8k6ly>zIZyC14Kj8!9RnYD&zC3apDj}a?;-X;lq%@K!( z^+GzQ!KVmdUe9!ANK!dARb4Lbeyt>MS6UDc;;f#9=zDlwjjeWAd%TD1yyZfxVosa4 z;;_H6o|6Ju&)coTLxHU4GM`~&C2?dwQ_CVcWXz()O?_&&|0HcHd#IN+^-08W0VYKj z4|c|kb=YY^qF+`6bkXc>F0U12gA|OM2I!_4RW9FgFt;2p?7kV5F8?t_UEwp+sTm`Q zz%k@-;g7%vN1Po20`jfG0N-cFnDOkWuBXEMKoBPkrkp4=xamtK=mT{Te|M~^oGc2q zqFp;eO)Aj-3FlMrnO-pglk36;5PYT) zfzXj+@IV#Wny>*-bp%ws1*#zVOf!HgydB|9a$wRIIx_w&=e�v;`=|1}4!6*??5p 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

KA+Xuw9$Yr?d9V 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 E0LgkYr~m)} literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_20.png b/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_20.png new file mode 100644 index 0000000000000000000000000000000000000000..87fbfea2373a799c8dbab3a11122107fdba68500 GIT binary patch literal 11462 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 tw(Y->hWuYd%73Wme}`fJA6xJk{A9WT`}&ll@;@\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":4,"h":18,"character":32,"shift":4,"offset":0,}, + "33": {"x":165,"y":42,"w":3,"h":18,"character":33,"shift":4,"offset":1,}, + "34": {"x":158,"y":42,"w":5,"h":18,"character":34,"shift":6,"offset":0,}, + "35": {"x":147,"y":42,"w":9,"h":18,"character":35,"shift":9,"offset":0,}, + "36": {"x":136,"y":42,"w":9,"h":18,"character":36,"shift":9,"offset":0,}, + "37": {"x":120,"y":42,"w":14,"h":18,"character":37,"shift":14,"offset":0,}, + "38": {"x":107,"y":42,"w":11,"h":18,"character":38,"shift":11,"offset":0,}, + "39": {"x":102,"y":42,"w":3,"h":18,"character":39,"shift":3,"offset":0,}, + "40": {"x":95,"y":42,"w":5,"h":18,"character":40,"shift":5,"offset":0,}, + "41": {"x":88,"y":42,"w":5,"h":18,"character":41,"shift":5,"offset":0,}, + "42": {"x":170,"y":42,"w":6,"h":18,"character":42,"shift":6,"offset":0,}, + "43": {"x":77,"y":42,"w":9,"h":18,"character":43,"shift":9,"offset":0,}, + "44": {"x":61,"y":42,"w":3,"h":18,"character":44,"shift":4,"offset":1,}, + "45": {"x":54,"y":42,"w":5,"h":18,"character":45,"shift":5,"offset":0,}, + "46": {"x":49,"y":42,"w":3,"h":18,"character":46,"shift":4,"offset":1,}, + "47": {"x":42,"y":42,"w":5,"h":18,"character":47,"shift":4,"offset":0,}, + "48": {"x":31,"y":42,"w":9,"h":18,"character":48,"shift":9,"offset":0,}, + "49": {"x":24,"y":42,"w":5,"h":18,"character":49,"shift":9,"offset":1,}, + "50": {"x":13,"y":42,"w":9,"h":18,"character":50,"shift":9,"offset":0,}, + "51": {"x":2,"y":42,"w":9,"h":18,"character":51,"shift":9,"offset":0,}, + "52": {"x":240,"y":22,"w":9,"h":18,"character":52,"shift":9,"offset":0,}, + "53": {"x":66,"y":42,"w":9,"h":18,"character":53,"shift":9,"offset":0,}, + "54": {"x":178,"y":42,"w":9,"h":18,"character":54,"shift":9,"offset":0,}, + "55": {"x":189,"y":42,"w":9,"h":18,"character":55,"shift":9,"offset":0,}, + "56": {"x":200,"y":42,"w":9,"h":18,"character":56,"shift":9,"offset":0,}, + "57": {"x":186,"y":62,"w":9,"h":18,"character":57,"shift":9,"offset":0,}, + "58": {"x":181,"y":62,"w":3,"h":18,"character":58,"shift":4,"offset":1,}, + "59": {"x":176,"y":62,"w":3,"h":18,"character":59,"shift":4,"offset":1,}, + "60": {"x":165,"y":62,"w":9,"h":18,"character":60,"shift":9,"offset":0,}, + "61": {"x":154,"y":62,"w":9,"h":18,"character":61,"shift":9,"offset":0,}, + "62": {"x":143,"y":62,"w":9,"h":18,"character":62,"shift":9,"offset":0,}, + "63": {"x":132,"y":62,"w":9,"h":18,"character":63,"shift":9,"offset":0,}, + "64": {"x":114,"y":62,"w":16,"h":18,"character":64,"shift":16,"offset":0,}, + "65": {"x":100,"y":62,"w":12,"h":18,"character":65,"shift":11,"offset":-1,}, + "66": {"x":89,"y":62,"w":9,"h":18,"character":66,"shift":11,"offset":1,}, + "67": {"x":76,"y":62,"w":11,"h":18,"character":67,"shift":12,"offset":0,}, + "68": {"x":64,"y":62,"w":10,"h":18,"character":68,"shift":12,"offset":1,}, + "69": {"x":53,"y":62,"w":9,"h":18,"character":69,"shift":11,"offset":1,}, + "70": {"x":42,"y":62,"w":9,"h":18,"character":70,"shift":10,"offset":1,}, + "71": {"x":28,"y":62,"w":12,"h":18,"character":71,"shift":12,"offset":0,}, + "72": {"x":16,"y":62,"w":10,"h":18,"character":72,"shift":12,"offset":1,}, + "73": {"x":11,"y":62,"w":3,"h":18,"character":73,"shift":4,"offset":1,}, + "74": {"x":2,"y":62,"w":7,"h":18,"character":74,"shift":8,"offset":0,}, + "75": {"x":235,"y":42,"w":10,"h":18,"character":75,"shift":11,"offset":1,}, + "76": {"x":225,"y":42,"w":8,"h":18,"character":76,"shift":9,"offset":1,}, + "77": {"x":211,"y":42,"w":12,"h":18,"character":77,"shift":13,"offset":1,}, + "78": {"x":228,"y":22,"w":10,"h":18,"character":78,"shift":12,"offset":1,}, + "79": {"x":214,"y":22,"w":12,"h":18,"character":79,"shift":12,"offset":0,}, + "80": {"x":203,"y":22,"w":9,"h":18,"character":80,"shift":11,"offset":1,}, + "81": {"x":232,"y":2,"w":12,"h":18,"character":81,"shift":12,"offset":0,}, + "82": {"x":213,"y":2,"w":11,"h":18,"character":82,"shift":12,"offset":1,}, + "83": {"x":201,"y":2,"w":10,"h":18,"character":83,"shift":11,"offset":0,}, + "84": {"x":189,"y":2,"w":10,"h":18,"character":84,"shift":10,"offset":0,}, + "85": {"x":177,"y":2,"w":10,"h":18,"character":85,"shift":12,"offset":1,}, + "86": {"x":164,"y":2,"w":11,"h":18,"character":86,"shift":11,"offset":0,}, + "87": {"x":147,"y":2,"w":15,"h":18,"character":87,"shift":15,"offset":0,}, + "88": {"x":134,"y":2,"w":11,"h":18,"character":88,"shift":11,"offset":0,}, + "89": {"x":121,"y":2,"w":11,"h":18,"character":89,"shift":11,"offset":0,}, + "90": {"x":109,"y":2,"w":10,"h":18,"character":90,"shift":10,"offset":0,}, + "91": {"x":226,"y":2,"w":4,"h":18,"character":91,"shift":4,"offset":1,}, + "92": {"x":102,"y":2,"w":5,"h":18,"character":92,"shift":4,"offset":0,}, + "93": {"x":89,"y":2,"w":4,"h":18,"character":93,"shift":4,"offset":0,}, + "94": {"x":79,"y":2,"w":8,"h":18,"character":94,"shift":8,"offset":0,}, + "95": {"x":66,"y":2,"w":11,"h":18,"character":95,"shift":9,"offset":-1,}, + "96": {"x":60,"y":2,"w":4,"h":18,"character":96,"shift":5,"offset":0,}, + "97": {"x":49,"y":2,"w":9,"h":18,"character":97,"shift":9,"offset":0,}, + "98": {"x":39,"y":2,"w":8,"h":18,"character":98,"shift":9,"offset":1,}, + "99": {"x":29,"y":2,"w":8,"h":18,"character":99,"shift":8,"offset":0,}, + "100": {"x":19,"y":2,"w":8,"h":18,"character":100,"shift":9,"offset":0,}, + "101": {"x":8,"y":2,"w":9,"h":18,"character":101,"shift":9,"offset":0,}, + "102": {"x":95,"y":2,"w":5,"h":18,"character":102,"shift":4,"offset":0,}, + "103": {"x":2,"y":22,"w":8,"h":18,"character":103,"shift":9,"offset":0,}, + "104": {"x":97,"y":22,"w":7,"h":18,"character":104,"shift":9,"offset":1,}, + "105": {"x":12,"y":22,"w":2,"h":18,"character":105,"shift":4,"offset":1,}, + "106": {"x":187,"y":22,"w":4,"h":18,"character":106,"shift":4,"offset":-1,}, + "107": {"x":178,"y":22,"w":7,"h":18,"character":107,"shift":8,"offset":1,}, + "108": {"x":174,"y":22,"w":2,"h":18,"character":108,"shift":4,"offset":1,}, + "109": {"x":160,"y":22,"w":12,"h":18,"character":109,"shift":13,"offset":1,}, + "110": {"x":151,"y":22,"w":7,"h":18,"character":110,"shift":9,"offset":1,}, + "111": {"x":140,"y":22,"w":9,"h":18,"character":111,"shift":9,"offset":0,}, + "112": {"x":130,"y":22,"w":8,"h":18,"character":112,"shift":9,"offset":1,}, + "113": {"x":120,"y":22,"w":8,"h":18,"character":113,"shift":9,"offset":0,}, + "114": {"x":113,"y":22,"w":5,"h":18,"character":114,"shift":5,"offset":1,}, + "115": {"x":193,"y":22,"w":8,"h":18,"character":115,"shift":8,"offset":0,}, + "116": {"x":106,"y":22,"w":5,"h":18,"character":116,"shift":4,"offset":0,}, + "117": {"x":88,"y":22,"w":7,"h":18,"character":117,"shift":9,"offset":1,}, + "118": {"x":78,"y":22,"w":8,"h":18,"character":118,"shift":8,"offset":0,}, + "119": {"x":64,"y":22,"w":12,"h":18,"character":119,"shift":12,"offset":0,}, + "120": {"x":54,"y":22,"w":8,"h":18,"character":120,"shift":8,"offset":0,}, + "121": {"x":44,"y":22,"w":8,"h":18,"character":121,"shift":8,"offset":0,}, + "122": {"x":34,"y":22,"w":8,"h":18,"character":122,"shift":8,"offset":0,}, + "123": {"x":27,"y":22,"w":5,"h":18,"character":123,"shift":5,"offset":0,}, + "124": {"x":23,"y":22,"w":2,"h":18,"character":124,"shift":4,"offset":1,}, + "125": {"x":16,"y":22,"w":5,"h":18,"character":125,"shift":5,"offset":0,}, + "126": {"x":197,"y":62,"w":9,"h":18,"character":126,"shift":9,"offset":0,}, + "9647": {"x":208,"y":62,"w":10,"h":18,"character":9647,"shift":16,"offset":3,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-1,}, + {"first":32,"second":902,"amount":-1,}, + {"first":32,"second":913,"amount":-1,}, + {"first":32,"second":916,"amount":-1,}, + {"first":32,"second":923,"amount":-1,}, + {"first":49,"second":49,"amount":-1,}, + {"first":65,"second":32,"amount":-1,}, + {"first":65,"second":84,"amount":-1,}, + {"first":65,"second":86,"amount":-1,}, + {"first":65,"second":89,"amount":-1,}, + {"first":65,"second":160,"amount":-1,}, + {"first":65,"second":8217,"amount":-1,}, + {"first":70,"second":44,"amount":-1,}, + {"first":70,"second":46,"amount":-1,}, + {"first":70,"second":65,"amount":-1,}, + {"first":76,"second":84,"amount":-1,}, + {"first":76,"second":86,"amount":-1,}, + {"first":76,"second":87,"amount":-1,}, + {"first":76,"second":89,"amount":-1,}, + {"first":76,"second":8217,"amount":-1,}, + {"first":80,"second":44,"amount":-1,}, + {"first":80,"second":46,"amount":-1,}, + {"first":80,"second":65,"amount":-1,}, + {"first":84,"second":44,"amount":-1,}, + {"first":84,"second":45,"amount":-1,}, + {"first":84,"second":46,"amount":-1,}, + {"first":84,"second":58,"amount":-1,}, + {"first":84,"second":59,"amount":-1,}, + {"first":84,"second":65,"amount":-1,}, + {"first":84,"second":97,"amount":-1,}, + {"first":84,"second":99,"amount":-1,}, + {"first":84,"second":101,"amount":-1,}, + {"first":84,"second":111,"amount":-1,}, + {"first":84,"second":115,"amount":-1,}, + {"first":84,"second":119,"amount":-1,}, + {"first":84,"second":121,"amount":-1,}, + {"first":84,"second":173,"amount":-1,}, + {"first":84,"second":894,"amount":-1,}, + {"first":86,"second":44,"amount":-1,}, + {"first":86,"second":45,"amount":-1,}, + {"first":86,"second":46,"amount":-1,}, + {"first":86,"second":65,"amount":-1,}, + {"first":86,"second":97,"amount":-1,}, + {"first":86,"second":101,"amount":-1,}, + {"first":86,"second":111,"amount":-1,}, + {"first":86,"second":173,"amount":-1,}, + {"first":87,"second":44,"amount":-1,}, + {"first":87,"second":46,"amount":-1,}, + {"first":89,"second":44,"amount":-1,}, + {"first":89,"second":45,"amount":-1,}, + {"first":89,"second":46,"amount":-1,}, + {"first":89,"second":58,"amount":-1,}, + {"first":89,"second":59,"amount":-1,}, + {"first":89,"second":65,"amount":-1,}, + {"first":89,"second":97,"amount":-1,}, + {"first":89,"second":101,"amount":-1,}, + {"first":89,"second":111,"amount":-1,}, + {"first":89,"second":112,"amount":-1,}, + {"first":89,"second":113,"amount":-1,}, + {"first":89,"second":117,"amount":-1,}, + {"first":89,"second":118,"amount":-1,}, + {"first":89,"second":173,"amount":-1,}, + {"first":89,"second":894,"amount":-1,}, + {"first":114,"second":44,"amount":-1,}, + {"first":114,"second":46,"amount":-1,}, + {"first":118,"second":44,"amount":-1,}, + {"first":118,"second":46,"amount":-1,}, + {"first":119,"second":44,"amount":-1,}, + {"first":119,"second":46,"amount":-1,}, + {"first":121,"second":44,"amount":-1,}, + {"first":121,"second":46,"amount":-1,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoyoAsset/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_Yoyo_20", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.png b/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.png new file mode 100644 index 0000000000000000000000000000000000000000..ad570a133e516735aabb250fc367fc30eae085a0 GIT binary patch literal 22257 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.yy b/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.yy new file mode 100644 index 0000000..695451c --- /dev/null +++ b/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.old.yy @@ -0,0 +1,226 @@ +{ + "hinting": 0, + "glyphOperations": 0, + "interpreter": 0, + "pointRounding": 0, + "fontName": "Arial", + "styleName": "Regular", + "size": 20.0, + "bold": false, + "italic": false, + "charset": 0, + "AntiAlias": 1, + "first": 0, + "last": 0, + "sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":8,"h":31,"character":32,"shift":8,"offset":0,}, + "33": {"x":2,"y":134,"w":4,"h":31,"character":33,"shift":8,"offset":2,}, + "34": {"x":240,"y":101,"w":8,"h":31,"character":34,"shift":10,"offset":1,}, + "35": {"x":223,"y":101,"w":15,"h":31,"character":35,"shift":15,"offset":0,}, + "36": {"x":207,"y":101,"w":14,"h":31,"character":36,"shift":15,"offset":0,}, + "37": {"x":183,"y":101,"w":22,"h":31,"character":37,"shift":24,"offset":1,}, + "38": {"x":164,"y":101,"w":17,"h":31,"character":38,"shift":18,"offset":1,}, + "39": {"x":159,"y":101,"w":3,"h":31,"character":39,"shift":5,"offset":1,}, + "40": {"x":149,"y":101,"w":8,"h":31,"character":40,"shift":9,"offset":1,}, + "41": {"x":139,"y":101,"w":8,"h":31,"character":41,"shift":9,"offset":1,}, + "42": {"x":8,"y":134,"w":10,"h":31,"character":42,"shift":11,"offset":0,}, + "43": {"x":123,"y":101,"w":14,"h":31,"character":43,"shift":16,"offset":1,}, + "44": {"x":102,"y":101,"w":4,"h":31,"character":44,"shift":8,"offset":2,}, + "45": {"x":91,"y":101,"w":9,"h":31,"character":45,"shift":9,"offset":0,}, + "46": {"x":85,"y":101,"w":4,"h":31,"character":46,"shift":8,"offset":2,}, + "47": {"x":75,"y":101,"w":8,"h":31,"character":47,"shift":8,"offset":0,}, + "48": {"x":60,"y":101,"w":13,"h":31,"character":48,"shift":15,"offset":1,}, + "49": {"x":49,"y":101,"w":9,"h":31,"character":49,"shift":15,"offset":2,}, + "50": {"x":33,"y":101,"w":14,"h":31,"character":50,"shift":15,"offset":0,}, + "51": {"x":18,"y":101,"w":13,"h":31,"character":51,"shift":15,"offset":1,}, + "52": {"x":2,"y":101,"w":14,"h":31,"character":52,"shift":15,"offset":0,}, + "53": {"x":108,"y":101,"w":13,"h":31,"character":53,"shift":15,"offset":1,}, + "54": {"x":20,"y":134,"w":13,"h":31,"character":54,"shift":15,"offset":1,}, + "55": {"x":35,"y":134,"w":13,"h":31,"character":55,"shift":15,"offset":1,}, + "56": {"x":50,"y":134,"w":13,"h":31,"character":56,"shift":15,"offset":1,}, + "57": {"x":145,"y":167,"w":13,"h":31,"character":57,"shift":15,"offset":1,}, + "58": {"x":139,"y":167,"w":4,"h":31,"character":58,"shift":8,"offset":2,}, + "59": {"x":133,"y":167,"w":4,"h":31,"character":59,"shift":8,"offset":2,}, + "60": {"x":117,"y":167,"w":14,"h":31,"character":60,"shift":16,"offset":1,}, + "61": {"x":101,"y":167,"w":14,"h":31,"character":61,"shift":16,"offset":1,}, + "62": {"x":85,"y":167,"w":14,"h":31,"character":62,"shift":16,"offset":1,}, + "63": {"x":70,"y":167,"w":13,"h":31,"character":63,"shift":15,"offset":1,}, + "64": {"x":42,"y":167,"w":26,"h":31,"character":64,"shift":27,"offset":1,}, + "65": {"x":20,"y":167,"w":20,"h":31,"character":65,"shift":18,"offset":-1,}, + "66": {"x":2,"y":167,"w":16,"h":31,"character":66,"shift":18,"offset":1,}, + "67": {"x":232,"y":134,"w":18,"h":31,"character":67,"shift":20,"offset":1,}, + "68": {"x":213,"y":134,"w":17,"h":31,"character":68,"shift":20,"offset":2,}, + "69": {"x":196,"y":134,"w":15,"h":31,"character":69,"shift":18,"offset":2,}, + "70": {"x":180,"y":134,"w":14,"h":31,"character":70,"shift":17,"offset":2,}, + "71": {"x":159,"y":134,"w":19,"h":31,"character":71,"shift":21,"offset":1,}, + "72": {"x":141,"y":134,"w":16,"h":31,"character":72,"shift":20,"offset":2,}, + "73": {"x":135,"y":134,"w":4,"h":31,"character":73,"shift":8,"offset":2,}, + "74": {"x":121,"y":134,"w":12,"h":31,"character":74,"shift":14,"offset":0,}, + "75": {"x":102,"y":134,"w":17,"h":31,"character":75,"shift":18,"offset":1,}, + "76": {"x":86,"y":134,"w":14,"h":31,"character":76,"shift":15,"offset":1,}, + "77": {"x":65,"y":134,"w":19,"h":31,"character":77,"shift":22,"offset":2,}, + "78": {"x":237,"y":68,"w":16,"h":31,"character":78,"shift":20,"offset":2,}, + "79": {"x":216,"y":68,"w":19,"h":31,"character":79,"shift":21,"offset":1,}, + "80": {"x":199,"y":68,"w":15,"h":31,"character":80,"shift":18,"offset":2,}, + "81": {"x":105,"y":35,"w":20,"h":31,"character":81,"shift":21,"offset":1,}, + "82": {"x":76,"y":35,"w":18,"h":31,"character":82,"shift":20,"offset":2,}, + "83": {"x":58,"y":35,"w":16,"h":31,"character":83,"shift":18,"offset":1,}, + "84": {"x":40,"y":35,"w":16,"h":31,"character":84,"shift":17,"offset":0,}, + "85": {"x":22,"y":35,"w":16,"h":31,"character":85,"shift":20,"offset":2,}, + "86": {"x":2,"y":35,"w":18,"h":31,"character":86,"shift":18,"offset":0,}, + "87": {"x":218,"y":2,"w":26,"h":31,"character":87,"shift":25,"offset":0,}, + "88": {"x":198,"y":2,"w":18,"h":31,"character":88,"shift":18,"offset":0,}, + "89": {"x":178,"y":2,"w":18,"h":31,"character":89,"shift":18,"offset":0,}, + "90": {"x":160,"y":2,"w":16,"h":31,"character":90,"shift":17,"offset":0,}, + "91": {"x":96,"y":35,"w":7,"h":31,"character":91,"shift":8,"offset":1,}, + "92": {"x":150,"y":2,"w":8,"h":31,"character":92,"shift":8,"offset":0,}, + "93": {"x":131,"y":2,"w":6,"h":31,"character":93,"shift":8,"offset":0,}, + "94": {"x":117,"y":2,"w":12,"h":31,"character":94,"shift":13,"offset":0,}, + "95": {"x":98,"y":2,"w":17,"h":31,"character":95,"shift":15,"offset":-1,}, + "96": {"x":90,"y":2,"w":6,"h":31,"character":96,"shift":9,"offset":1,}, + "97": {"x":74,"y":2,"w":14,"h":31,"character":97,"shift":15,"offset":0,}, + "98": {"x":59,"y":2,"w":13,"h":31,"character":98,"shift":15,"offset":1,}, + "99": {"x":44,"y":2,"w":13,"h":31,"character":99,"shift":14,"offset":1,}, + "100": {"x":28,"y":2,"w":14,"h":31,"character":100,"shift":15,"offset":0,}, + "101": {"x":12,"y":2,"w":14,"h":31,"character":101,"shift":15,"offset":0,}, + "102": {"x":139,"y":2,"w":9,"h":31,"character":102,"shift":8,"offset":0,}, + "103": {"x":127,"y":35,"w":14,"h":31,"character":103,"shift":15,"offset":0,}, + "104": {"x":33,"y":68,"w":13,"h":31,"character":104,"shift":15,"offset":1,}, + "105": {"x":143,"y":35,"w":4,"h":31,"character":105,"shift":6,"offset":1,}, + "106": {"x":175,"y":68,"w":7,"h":31,"character":106,"shift":6,"offset":-2,}, + "107": {"x":160,"y":68,"w":13,"h":31,"character":107,"shift":14,"offset":1,}, + "108": {"x":154,"y":68,"w":4,"h":31,"character":108,"shift":6,"offset":1,}, + "109": {"x":132,"y":68,"w":20,"h":31,"character":109,"shift":22,"offset":1,}, + "110": {"x":117,"y":68,"w":13,"h":31,"character":110,"shift":15,"offset":1,}, + "111": {"x":100,"y":68,"w":15,"h":31,"character":111,"shift":15,"offset":0,}, + "112": {"x":85,"y":68,"w":13,"h":31,"character":112,"shift":15,"offset":1,}, + "113": {"x":69,"y":68,"w":14,"h":31,"character":113,"shift":15,"offset":0,}, + "114": {"x":58,"y":68,"w":9,"h":31,"character":114,"shift":9,"offset":1,}, + "115": {"x":184,"y":68,"w":13,"h":31,"character":115,"shift":14,"offset":0,}, + "116": {"x":48,"y":68,"w":8,"h":31,"character":116,"shift":8,"offset":0,}, + "117": {"x":18,"y":68,"w":13,"h":31,"character":117,"shift":15,"offset":1,}, + "118": {"x":2,"y":68,"w":14,"h":31,"character":118,"shift":14,"offset":0,}, + "119": {"x":223,"y":35,"w":20,"h":31,"character":119,"shift":20,"offset":0,}, + "120": {"x":207,"y":35,"w":14,"h":31,"character":120,"shift":14,"offset":0,}, + "121": {"x":191,"y":35,"w":14,"h":31,"character":121,"shift":14,"offset":0,}, + "122": {"x":176,"y":35,"w":13,"h":31,"character":122,"shift":14,"offset":0,}, + "123": {"x":165,"y":35,"w":9,"h":31,"character":123,"shift":9,"offset":0,}, + "124": {"x":160,"y":35,"w":3,"h":31,"character":124,"shift":7,"offset":2,}, + "125": {"x":149,"y":35,"w":9,"h":31,"character":125,"shift":9,"offset":0,}, + "126": {"x":160,"y":167,"w":14,"h":31,"character":126,"shift":16,"offset":1,}, + "9647": {"x":176,"y":167,"w":16,"h":31,"character":9647,"shift":26,"offset":5,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-1,}, + {"first":32,"second":902,"amount":-1,}, + {"first":32,"second":913,"amount":-1,}, + {"first":32,"second":916,"amount":-1,}, + {"first":32,"second":923,"amount":-1,}, + {"first":49,"second":49,"amount":-2,}, + {"first":65,"second":32,"amount":-1,}, + {"first":65,"second":84,"amount":-2,}, + {"first":65,"second":86,"amount":-2,}, + {"first":65,"second":87,"amount":-1,}, + {"first":65,"second":89,"amount":-2,}, + {"first":65,"second":160,"amount":-1,}, + {"first":65,"second":8217,"amount":-2,}, + {"first":70,"second":44,"amount":-3,}, + {"first":70,"second":46,"amount":-3,}, + {"first":70,"second":65,"amount":-1,}, + {"first":76,"second":32,"amount":-1,}, + {"first":76,"second":84,"amount":-2,}, + {"first":76,"second":86,"amount":-2,}, + {"first":76,"second":87,"amount":-2,}, + {"first":76,"second":89,"amount":-2,}, + {"first":76,"second":121,"amount":-1,}, + {"first":76,"second":160,"amount":-1,}, + {"first":76,"second":8217,"amount":-1,}, + {"first":80,"second":44,"amount":-3,}, + {"first":80,"second":46,"amount":-3,}, + {"first":80,"second":65,"amount":-2,}, + {"first":84,"second":44,"amount":-3,}, + {"first":84,"second":45,"amount":-1,}, + {"first":84,"second":46,"amount":-3,}, + {"first":84,"second":58,"amount":-3,}, + {"first":84,"second":59,"amount":-3,}, + {"first":84,"second":65,"amount":-2,}, + {"first":84,"second":97,"amount":-3,}, + {"first":84,"second":99,"amount":-3,}, + {"first":84,"second":101,"amount":-3,}, + {"first":84,"second":105,"amount":-1,}, + {"first":84,"second":111,"amount":-3,}, + {"first":84,"second":114,"amount":-1,}, + {"first":84,"second":115,"amount":-3,}, + {"first":84,"second":117,"amount":-1,}, + {"first":84,"second":119,"amount":-1,}, + {"first":84,"second":121,"amount":-1,}, + {"first":84,"second":173,"amount":-1,}, + {"first":84,"second":894,"amount":-3,}, + {"first":86,"second":44,"amount":-2,}, + {"first":86,"second":45,"amount":-1,}, + {"first":86,"second":46,"amount":-2,}, + {"first":86,"second":58,"amount":-1,}, + {"first":86,"second":59,"amount":-1,}, + {"first":86,"second":65,"amount":-2,}, + {"first":86,"second":97,"amount":-2,}, + {"first":86,"second":101,"amount":-1,}, + {"first":86,"second":111,"amount":-1,}, + {"first":86,"second":114,"amount":-1,}, + {"first":86,"second":117,"amount":-1,}, + {"first":86,"second":121,"amount":-1,}, + {"first":86,"second":173,"amount":-1,}, + {"first":86,"second":894,"amount":-1,}, + {"first":87,"second":44,"amount":-1,}, + {"first":87,"second":46,"amount":-1,}, + {"first":87,"second":65,"amount":-1,}, + {"first":87,"second":97,"amount":-1,}, + {"first":89,"second":44,"amount":-3,}, + {"first":89,"second":45,"amount":-2,}, + {"first":89,"second":46,"amount":-3,}, + {"first":89,"second":58,"amount":-1,}, + {"first":89,"second":59,"amount":-2,}, + {"first":89,"second":65,"amount":-2,}, + {"first":89,"second":97,"amount":-2,}, + {"first":89,"second":101,"amount":-2,}, + {"first":89,"second":105,"amount":-1,}, + {"first":89,"second":111,"amount":-2,}, + {"first":89,"second":112,"amount":-2,}, + {"first":89,"second":113,"amount":-2,}, + {"first":89,"second":117,"amount":-1,}, + {"first":89,"second":118,"amount":-1,}, + {"first":89,"second":173,"amount":-2,}, + {"first":89,"second":894,"amount":-2,}, + {"first":114,"second":44,"amount":-1,}, + {"first":114,"second":46,"amount":-1,}, + {"first":114,"second":8217,"amount":1,}, + {"first":118,"second":44,"amount":-2,}, + {"first":118,"second":46,"amount":-2,}, + {"first":119,"second":44,"amount":-1,}, + {"first":119,"second":46,"amount":-1,}, + {"first":121,"second":44,"amount":-2,}, + {"first":121,"second":46,"amount":-2,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoyoAsset/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_Yoyo_50", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.yy b/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.yy new file mode 100644 index 0000000..0dade7d --- /dev/null +++ b/source/Steamworks_gml/fonts/font_yoyo_50/Font_Yoyo_50.yy @@ -0,0 +1,260 @@ +{ + "hinting": 0, + "glyphOperations": 0, + "interpreter": 0, + "pointRounding": 0, + "applyKerning": 0, + "fontName": "Arial", + "styleName": "Regular", + "size": 50.0, + "bold": false, + "italic": false, + "charset": 0, + "AntiAlias": 1, + "first": 0, + "last": 0, + "sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: ▯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "ascender": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":19,"h":77,"character":32,"shift":19,"offset":0,}, + "33": {"x":151,"y":160,"w":9,"h":77,"character":33,"shift":19,"offset":5,}, + "34": {"x":131,"y":160,"w":18,"h":77,"character":34,"shift":24,"offset":3,}, + "35": {"x":92,"y":160,"w":37,"h":77,"character":35,"shift":37,"offset":0,}, + "36": {"x":57,"y":160,"w":33,"h":77,"character":36,"shift":37,"offset":2,}, + "37": {"x":2,"y":160,"w":53,"h":77,"character":37,"shift":60,"offset":3,}, + "38": {"x":929,"y":81,"w":42,"h":77,"character":38,"shift":45,"offset":2,}, + "39": {"x":919,"y":81,"w":8,"h":77,"character":39,"shift":13,"offset":2,}, + "40": {"x":901,"y":81,"w":16,"h":77,"character":40,"shift":22,"offset":4,}, + "41": {"x":883,"y":81,"w":16,"h":77,"character":41,"shift":22,"offset":4,}, + "42": {"x":162,"y":160,"w":22,"h":77,"character":42,"shift":26,"offset":2,}, + "43": {"x":848,"y":81,"w":33,"h":77,"character":43,"shift":39,"offset":3,}, + "44": {"x":803,"y":81,"w":8,"h":77,"character":44,"shift":19,"offset":5,}, + "45": {"x":782,"y":81,"w":19,"h":77,"character":45,"shift":22,"offset":2,}, + "46": {"x":773,"y":81,"w":7,"h":77,"character":46,"shift":19,"offset":6,}, + "47": {"x":752,"y":81,"w":19,"h":77,"character":47,"shift":19,"offset":0,}, + "48": {"x":717,"y":81,"w":33,"h":77,"character":48,"shift":37,"offset":2,}, + "49": {"x":697,"y":81,"w":18,"h":77,"character":49,"shift":37,"offset":7,}, + "50": {"x":662,"y":81,"w":33,"h":77,"character":50,"shift":37,"offset":1,}, + "51": {"x":627,"y":81,"w":33,"h":77,"character":51,"shift":37,"offset":2,}, + "52": {"x":590,"y":81,"w":35,"h":77,"character":52,"shift":37,"offset":0,}, + "53": {"x":813,"y":81,"w":33,"h":77,"character":53,"shift":37,"offset":2,}, + "54": {"x":186,"y":160,"w":33,"h":77,"character":54,"shift":37,"offset":2,}, + "55": {"x":221,"y":160,"w":32,"h":77,"character":55,"shift":37,"offset":3,}, + "56": {"x":255,"y":160,"w":33,"h":77,"character":56,"shift":37,"offset":2,}, + "57": {"x":2,"y":239,"w":33,"h":77,"character":57,"shift":37,"offset":2,}, + "58": {"x":1004,"y":160,"w":7,"h":77,"character":58,"shift":19,"offset":6,}, + "59": {"x":994,"y":160,"w":8,"h":77,"character":59,"shift":19,"offset":5,}, + "60": {"x":959,"y":160,"w":33,"h":77,"character":60,"shift":39,"offset":3,}, + "61": {"x":924,"y":160,"w":33,"h":77,"character":61,"shift":39,"offset":3,}, + "62": {"x":889,"y":160,"w":33,"h":77,"character":62,"shift":39,"offset":3,}, + "63": {"x":855,"y":160,"w":32,"h":77,"character":63,"shift":37,"offset":2,}, + "64": {"x":790,"y":160,"w":63,"h":77,"character":64,"shift":68,"offset":3,}, + "65": {"x":742,"y":160,"w":46,"h":77,"character":65,"shift":45,"offset":-1,}, + "66": {"x":702,"y":160,"w":38,"h":77,"character":66,"shift":45,"offset":4,}, + "67": {"x":657,"y":160,"w":43,"h":77,"character":67,"shift":48,"offset":3,}, + "68": {"x":615,"y":160,"w":40,"h":77,"character":68,"shift":48,"offset":5,}, + "69": {"x":576,"y":160,"w":37,"h":77,"character":69,"shift":45,"offset":5,}, + "70": {"x":541,"y":160,"w":33,"h":77,"character":70,"shift":41,"offset":5,}, + "71": {"x":494,"y":160,"w":45,"h":77,"character":71,"shift":52,"offset":3,}, + "72": {"x":454,"y":160,"w":38,"h":77,"character":72,"shift":48,"offset":5,}, + "73": {"x":445,"y":160,"w":7,"h":77,"character":73,"shift":19,"offset":6,}, + "74": {"x":415,"y":160,"w":28,"h":77,"character":74,"shift":34,"offset":1,}, + "75": {"x":372,"y":160,"w":41,"h":77,"character":75,"shift":45,"offset":4,}, + "76": {"x":339,"y":160,"w":31,"h":77,"character":76,"shift":37,"offset":4,}, + "77": {"x":290,"y":160,"w":47,"h":77,"character":77,"shift":56,"offset":4,}, + "78": {"x":550,"y":81,"w":38,"h":77,"character":78,"shift":48,"offset":5,}, + "79": {"x":501,"y":81,"w":47,"h":77,"character":79,"shift":52,"offset":3,}, + "80": {"x":462,"y":81,"w":37,"h":77,"character":80,"shift":45,"offset":5,}, + "81": {"x":772,"y":2,"w":48,"h":77,"character":81,"shift":52,"offset":2,}, + "82": {"x":711,"y":2,"w":43,"h":77,"character":82,"shift":48,"offset":5,}, + "83": {"x":670,"y":2,"w":39,"h":77,"character":83,"shift":45,"offset":3,}, + "84": {"x":629,"y":2,"w":39,"h":77,"character":84,"shift":41,"offset":1,}, + "85": {"x":589,"y":2,"w":38,"h":77,"character":85,"shift":48,"offset":5,}, + "86": {"x":542,"y":2,"w":45,"h":77,"character":86,"shift":45,"offset":0,}, + "87": {"x":477,"y":2,"w":63,"h":77,"character":87,"shift":63,"offset":0,}, + "88": {"x":430,"y":2,"w":45,"h":77,"character":88,"shift":45,"offset":0,}, + "89": {"x":383,"y":2,"w":45,"h":77,"character":89,"shift":45,"offset":0,}, + "90": {"x":342,"y":2,"w":39,"h":77,"character":90,"shift":41,"offset":1,}, + "91": {"x":756,"y":2,"w":14,"h":77,"character":91,"shift":19,"offset":4,}, + "92": {"x":321,"y":2,"w":19,"h":77,"character":92,"shift":19,"offset":0,}, + "93": {"x":282,"y":2,"w":14,"h":77,"character":93,"shift":19,"offset":1,}, + "94": {"x":251,"y":2,"w":29,"h":77,"character":94,"shift":31,"offset":1,}, + "95": {"x":208,"y":2,"w":41,"h":77,"character":95,"shift":37,"offset":-2,}, + "96": {"x":192,"y":2,"w":14,"h":77,"character":96,"shift":22,"offset":2,}, + "97": {"x":157,"y":2,"w":33,"h":77,"character":97,"shift":37,"offset":2,}, + "98": {"x":124,"y":2,"w":31,"h":77,"character":98,"shift":37,"offset":4,}, + "99": {"x":91,"y":2,"w":31,"h":77,"character":99,"shift":34,"offset":2,}, + "100": {"x":58,"y":2,"w":31,"h":77,"character":100,"shift":37,"offset":2,}, + "101": {"x":23,"y":2,"w":33,"h":77,"character":101,"shift":37,"offset":2,}, + "102": {"x":298,"y":2,"w":21,"h":77,"character":102,"shift":19,"offset":0,}, + "103": {"x":822,"y":2,"w":31,"h":77,"character":103,"shift":37,"offset":2,}, + "104": {"x":118,"y":81,"w":29,"h":77,"character":104,"shift":37,"offset":4,}, + "105": {"x":855,"y":2,"w":7,"h":77,"character":105,"shift":15,"offset":4,}, + "106": {"x":414,"y":81,"w":15,"h":77,"character":106,"shift":15,"offset":-4,}, + "107": {"x":382,"y":81,"w":30,"h":77,"character":107,"shift":34,"offset":4,}, + "108": {"x":373,"y":81,"w":7,"h":77,"character":108,"shift":15,"offset":4,}, + "109": {"x":323,"y":81,"w":48,"h":77,"character":109,"shift":56,"offset":4,}, + "110": {"x":292,"y":81,"w":29,"h":77,"character":110,"shift":37,"offset":4,}, + "111": {"x":257,"y":81,"w":33,"h":77,"character":111,"shift":37,"offset":2,}, + "112": {"x":224,"y":81,"w":31,"h":77,"character":112,"shift":37,"offset":4,}, + "113": {"x":191,"y":81,"w":31,"h":77,"character":113,"shift":37,"offset":2,}, + "114": {"x":169,"y":81,"w":20,"h":77,"character":114,"shift":22,"offset":4,}, + "115": {"x":431,"y":81,"w":29,"h":77,"character":115,"shift":34,"offset":2,}, + "116": {"x":149,"y":81,"w":18,"h":77,"character":116,"shift":19,"offset":1,}, + "117": {"x":87,"y":81,"w":29,"h":77,"character":117,"shift":37,"offset":4,}, + "118": {"x":52,"y":81,"w":33,"h":77,"character":118,"shift":34,"offset":0,}, + "119": {"x":2,"y":81,"w":48,"h":77,"character":119,"shift":48,"offset":0,}, + "120": {"x":984,"y":2,"w":34,"h":77,"character":120,"shift":34,"offset":0,}, + "121": {"x":950,"y":2,"w":32,"h":77,"character":121,"shift":34,"offset":1,}, + "122": {"x":916,"y":2,"w":32,"h":77,"character":122,"shift":34,"offset":1,}, + "123": {"x":894,"y":2,"w":20,"h":77,"character":123,"shift":22,"offset":1,}, + "124": {"x":886,"y":2,"w":6,"h":77,"character":124,"shift":17,"offset":6,}, + "125": {"x":864,"y":2,"w":20,"h":77,"character":125,"shift":22,"offset":1,}, + "126": {"x":37,"y":239,"w":35,"h":77,"character":126,"shift":39,"offset":2,}, + "9647": {"x":74,"y":239,"w":39,"h":77,"character":9647,"shift":65,"offset":13,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-4,}, + {"first":32,"second":84,"amount":-1,}, + {"first":32,"second":89,"amount":-1,}, + {"first":32,"second":902,"amount":-4,}, + {"first":32,"second":913,"amount":-4,}, + {"first":32,"second":916,"amount":-4,}, + {"first":32,"second":923,"amount":-4,}, + {"first":32,"second":932,"amount":-1,}, + {"first":32,"second":933,"amount":-1,}, + {"first":32,"second":939,"amount":-1,}, + {"first":49,"second":49,"amount":-5,}, + {"first":65,"second":32,"amount":-4,}, + {"first":65,"second":84,"amount":-5,}, + {"first":65,"second":86,"amount":-5,}, + {"first":65,"second":87,"amount":-2,}, + {"first":65,"second":89,"amount":-5,}, + {"first":65,"second":118,"amount":-1,}, + {"first":65,"second":119,"amount":-1,}, + {"first":65,"second":121,"amount":-1,}, + {"first":65,"second":160,"amount":-4,}, + {"first":65,"second":8217,"amount":-5,}, + {"first":70,"second":44,"amount":-7,}, + {"first":70,"second":46,"amount":-7,}, + {"first":70,"second":65,"amount":-4,}, + {"first":76,"second":32,"amount":-2,}, + {"first":76,"second":84,"amount":-5,}, + {"first":76,"second":86,"amount":-5,}, + {"first":76,"second":87,"amount":-5,}, + {"first":76,"second":89,"amount":-5,}, + {"first":76,"second":121,"amount":-2,}, + {"first":76,"second":160,"amount":-2,}, + {"first":76,"second":8217,"amount":-4,}, + {"first":80,"second":32,"amount":-1,}, + {"first":80,"second":44,"amount":-9,}, + {"first":80,"second":46,"amount":-9,}, + {"first":80,"second":65,"amount":-5,}, + {"first":80,"second":160,"amount":-1,}, + {"first":82,"second":84,"amount":-1,}, + {"first":82,"second":86,"amount":-1,}, + {"first":82,"second":87,"amount":-1,}, + {"first":82,"second":89,"amount":-1,}, + {"first":84,"second":32,"amount":-1,}, + {"first":84,"second":44,"amount":-7,}, + {"first":84,"second":45,"amount":-4,}, + {"first":84,"second":46,"amount":-7,}, + {"first":84,"second":58,"amount":-7,}, + {"first":84,"second":59,"amount":-7,}, + {"first":84,"second":65,"amount":-5,}, + {"first":84,"second":79,"amount":-1,}, + {"first":84,"second":97,"amount":-7,}, + {"first":84,"second":99,"amount":-7,}, + {"first":84,"second":101,"amount":-7,}, + {"first":84,"second":105,"amount":-2,}, + {"first":84,"second":111,"amount":-7,}, + {"first":84,"second":114,"amount":-2,}, + {"first":84,"second":115,"amount":-7,}, + {"first":84,"second":117,"amount":-2,}, + {"first":84,"second":119,"amount":-4,}, + {"first":84,"second":121,"amount":-4,}, + {"first":84,"second":160,"amount":-1,}, + {"first":84,"second":173,"amount":-4,}, + {"first":84,"second":894,"amount":-7,}, + {"first":86,"second":44,"amount":-6,}, + {"first":86,"second":45,"amount":-4,}, + {"first":86,"second":46,"amount":-6,}, + {"first":86,"second":58,"amount":-2,}, + {"first":86,"second":59,"amount":-2,}, + {"first":86,"second":65,"amount":-5,}, + {"first":86,"second":97,"amount":-5,}, + {"first":86,"second":101,"amount":-4,}, + {"first":86,"second":105,"amount":-1,}, + {"first":86,"second":111,"amount":-4,}, + {"first":86,"second":114,"amount":-2,}, + {"first":86,"second":117,"amount":-2,}, + {"first":86,"second":121,"amount":-2,}, + {"first":86,"second":173,"amount":-4,}, + {"first":86,"second":894,"amount":-2,}, + {"first":87,"second":44,"amount":-4,}, + {"first":87,"second":45,"amount":-1,}, + {"first":87,"second":46,"amount":-4,}, + {"first":87,"second":58,"amount":-1,}, + {"first":87,"second":59,"amount":-1,}, + {"first":87,"second":65,"amount":-2,}, + {"first":87,"second":97,"amount":-2,}, + {"first":87,"second":101,"amount":-1,}, + {"first":87,"second":111,"amount":-1,}, + {"first":87,"second":114,"amount":-1,}, + {"first":87,"second":117,"amount":-1,}, + {"first":87,"second":121,"amount":-1,}, + {"first":87,"second":173,"amount":-1,}, + {"first":87,"second":894,"amount":-1,}, + {"first":89,"second":32,"amount":-1,}, + {"first":89,"second":44,"amount":-9,}, + {"first":89,"second":45,"amount":-6,}, + {"first":89,"second":46,"amount":-9,}, + {"first":89,"second":58,"amount":-4,}, + {"first":89,"second":59,"amount":-4,}, + {"first":89,"second":65,"amount":-5,}, + {"first":89,"second":97,"amount":-5,}, + {"first":89,"second":101,"amount":-6,}, + {"first":89,"second":105,"amount":-2,}, + {"first":89,"second":111,"amount":-6,}, + {"first":89,"second":112,"amount":-5,}, + {"first":89,"second":113,"amount":-6,}, + {"first":89,"second":117,"amount":-4,}, + {"first":89,"second":118,"amount":-4,}, + {"first":89,"second":160,"amount":-1,}, + {"first":89,"second":173,"amount":-6,}, + {"first":89,"second":894,"amount":-4,}, + {"first":102,"second":102,"amount":-1,}, + {"first":102,"second":8217,"amount":1,}, + {"first":114,"second":44,"amount":-4,}, + {"first":114,"second":46,"amount":-4,}, + {"first":114,"second":8217,"amount":2,}, + {"first":118,"second":44,"amount":-5,}, + {"first":118,"second":46,"amount":-5,}, + {"first":119,"second":44,"amount":-4,}, + {"first":119,"second":46,"amount":-4,}, + {"first":121,"second":44,"amount":-5,}, + {"first":121,"second":46,"amount":-5,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoYo Extensions Assets/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_YoYo_50", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_50/font_yoyo_50.png b/source/Steamworks_gml/fonts/font_yoyo_50/font_yoyo_50.png new file mode 100644 index 0000000000000000000000000000000000000000..fd04968843647580bf756ba79e878860c88e37e3 GIT binary patch literal 61913 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%0DTVVI1|4z?uGMz4g&?Hq+zef`7Bc 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 E0IEcR4gdfE literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/objects/Obj_Steam/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam/Create_0.gml new file mode 100644 index 0000000..3fe2145 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/Create_0.gml @@ -0,0 +1,11 @@ + +// This variable is used for game_restart() purposes. +is_game_restarting = false; + +show_debug_message("create") + +randomize(); + +#macro SteamLeaderboard "YYLeaderboard_10/29/21--" + +if (steam_initialised()) room_goto(Room_Steam_Main); diff --git a/source/Steamworks_gml/objects/Obj_Steam/Draw_64.gml b/source/Steamworks_gml/objects/Obj_Steam/Draw_64.gml new file mode 100644 index 0000000..6e4164b --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/Draw_64.gml @@ -0,0 +1,8 @@ +/// @description Insert description here +// You can write your code in this editor + +if (steam_initialised()) return; + +draw_set_halign(fa_center); +draw_set_valign(fa_middle); +draw_text_transformed(room_width/2, room_height/2, "You are not logged in to steam!!", 2, 2, 0); diff --git a/source/Steamworks_gml/objects/Obj_Steam/KeyPress_82.gml b/source/Steamworks_gml/objects/Obj_Steam/KeyPress_82.gml new file mode 100644 index 0000000..c1c33c5 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/KeyPress_82.gml @@ -0,0 +1,7 @@ +/// @description Game restart (part 1) + +// This prsents a game restart implementation example +// We use a variable as a flag to tell the system we are 'restarting' the game +is_game_restarting = true; +game_restart(); + diff --git a/source/Steamworks_gml/objects/Obj_Steam/Obj_Steam.yy b/source/Steamworks_gml/objects/Obj_Steam/Obj_Steam.yy new file mode 100644 index 0000000..9ebb57e --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/Obj_Steam.yy @@ -0,0 +1,43 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam", + "spriteId": null, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": true, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [ + {"x":0.0,"y":0.0,}, + {"x":32.0,"y":0.0,}, + {"x":32.0,"y":32.0,}, + {"x":0.0,"y":32.0,}, + ], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":3,"eventType":7,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":82,"eventType":9,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":64,"eventType":8,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Steamworks Demo", + "path": "folders/Steamworks Demo.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam/Other_3.gml b/source/Steamworks_gml/objects/Obj_Steam/Other_3.gml new file mode 100644 index 0000000..9b90cb8 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/Other_3.gml @@ -0,0 +1,9 @@ +/// @description Game restart (part 2) + +// This prsents a game restart implementation example +// When we reach the game end event we are either closing or restarting the game +// we now check our flag variable and we call 'steam_shutdown' only if not restarting +if (is_game_restarting == false) { + steam_shutdown(); +} + diff --git a/source/Steamworks_gml/objects/Obj_Steam/Other_69.gml b/source/Steamworks_gml/objects/Obj_Steam/Other_69.gml new file mode 100644 index 0000000..003c879 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/Other_69.gml @@ -0,0 +1,4 @@ + +// This function call is purely for debugging purposes +// It will log all the messages from the steam callbacks +show_debug_message("Steam ASYNC: " + json_encode(async_load)) diff --git a/source/Steamworks_gml/objects/Obj_Steam/Step_0.gml b/source/Steamworks_gml/objects/Obj_Steam/Step_0.gml new file mode 100644 index 0000000..e0fbd48 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam/Step_0.gml @@ -0,0 +1,5 @@ + +// This needs to be called every frame so that the extension +// gets updated you should place this call in a controller object +// that is persistent through the entire duration of you game. +steam_update(); diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking/Create_0.gml new file mode 100644 index 0000000..21124a1 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Create Lobby" + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking/Mouse_7.gml new file mode 100644 index 0000000..27bfe24 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking/Mouse_7.gml @@ -0,0 +1,3 @@ + +steam_lobby_create(steam_lobby_type_public, 2); + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking/Obj_Steam_Networking.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking/Obj_Steam_Networking.yy new file mode 100644 index 0000000..17db875 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking/Obj_Steam_Networking.yy @@ -0,0 +1,41 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking", + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking/Other_69.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking/Other_69.gml new file mode 100644 index 0000000..c63f889 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking/Other_69.gml @@ -0,0 +1,55 @@ + +switch(async_load[?"event_type"]) +{ + case "lobby_created": + + show_debug_message("Lobby created: " + string(steam_lobby_get_lobby_id())) + steam_lobby_join_id(steam_lobby_get_lobby_id()) + + break + + case "lobby_joined": + + if(steam_lobby_is_owner()) + { + steam_lobby_set_data("isGameMakerTest","true"); + steam_lobby_set_data("Creator",steam_get_persona_name()); + } + + var b = buffer_create(16, buffer_fixed, 1); + buffer_write(b, buffer_u8, test_network_packet.ping); + show_debug_message("Initial ping:" + string(steam_net_packet_send(steam_lobby_get_owner_id(), b))); + buffer_delete(b); + + room_goto(Room_Steam_Networking_Lobby) + + break + + case "lobby_list": + + for(var a = 0 ; a < steam_lobby_list_get_count() ; a++) + { + var ins = instance_create_depth(600,200+90*a,0,Obj_Steam_Networking_List_Slot); + ins.index = a + ins.lobby_id = steam_lobby_list_get_lobby_id(a) + ins.creator = steam_lobby_list_get_data(a, "Creator") + } + + break + + case "lobby_join_requested": + + var lobby_id = async_load[?"lobby_id"] + var friend_id = async_load[?"friend_id"] + steam_lobby_join_id(lobby_id) + + break + +} + + + + + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Create_0.gml new file mode 100644 index 0000000..dc63f87 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Create_0.gml @@ -0,0 +1,8 @@ + +event_inherited(); + + +text = "Search" +request = noone + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Mouse_7.gml new file mode 100644 index 0000000..00c62ce --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Mouse_7.gml @@ -0,0 +1,3 @@ + +request = get_string_async("Lobby Member Index:","") + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Obj_Steam_Networking_Join_Specific.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Obj_Steam_Networking_Join_Specific.yy new file mode 100644 index 0000000..1f287fb --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Obj_Steam_Networking_Join_Specific.yy @@ -0,0 +1,41 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":63,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Join_Specific", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Other_63.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Other_63.gml new file mode 100644 index 0000000..afb2a10 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Join_Specific/Other_63.gml @@ -0,0 +1,8 @@ + +if(async_load[?"id"] == request) +if(async_load[?"status"]) +if(async_load[?"result"] != "") + steam_lobby_join_id(int64(async_load[?"result"])) + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Create_0.gml new file mode 100644 index 0000000..7f76390 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Create_0.gml @@ -0,0 +1,9 @@ + +event_inherited(); + + +text = "Refresh" +request = noone + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Mouse_7.gml new file mode 100644 index 0000000..4492af2 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Mouse_7.gml @@ -0,0 +1,17 @@ + +with(Obj_Steam_Networking_List_Slot) + instance_destroy() + +steam_lobby_list_add_string_filter("isGameMakerTest","true",steam_lobby_list_filter_eq) +steam_lobby_list_request() + +//steam_lobby_list_is_loading() +// +//steam_lobby_list_add_numerical_filter() +//steam_lobby_list_add_near_filter() +//steam_lobby_list_add_distance_filter() + + + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Obj_Steam_Networking_List.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Obj_Steam_Networking_List.yy new file mode 100644 index 0000000..12f3364 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List/Obj_Steam_Networking_List.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_List", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Create_0.gml new file mode 100644 index 0000000..1c4c0a8 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Create_0.gml @@ -0,0 +1,12 @@ + +event_inherited(); + +text = "" + +index = noone +lobby_id = noone +creator = "" + +image_xscale = 4 + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Draw_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Draw_0.gml new file mode 100644 index 0000000..fdc402a --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Draw_0.gml @@ -0,0 +1,10 @@ + +event_inherited(); + +draw_set_halign(fa_left) +draw_set_font(Font_YoYo_20) + +draw_text(bbox_left+10,y-15,"LobbyID: " + string(lobby_id)) +draw_text(bbox_left+10,y+15,"Creator: " + creator) + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Mouse_7.gml new file mode 100644 index 0000000..4331c5b --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Mouse_7.gml @@ -0,0 +1,3 @@ + +steam_lobby_list_join(index) + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Obj_Steam_Networking_List_Slot.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Obj_Steam_Networking_List_Slot.yy new file mode 100644 index 0000000..d1f0e92 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_List_Slot/Obj_Steam_Networking_List_Slot.yy @@ -0,0 +1,41 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_List_Slot", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Alarm_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Alarm_0.gml new file mode 100644 index 0000000..f85ec54 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Alarm_0.gml @@ -0,0 +1,29 @@ + +alarm[0] = 3 + +with(Obj_Steam_Networking_Lobby_Color) +{ + var ins = instance_create_depth(mouse_x,mouse_y,0,Obj_Steam_Networking_Circle) + ins.image_blend = color_ +} + +for(var a = 0 ; a < steam_lobby_get_member_count() ; a++) +{ + var player = steam_lobby_get_member_id(a); + + if(steam_get_user_steam_id() == player) + continue; + + var b = buffer_create(9, buffer_fixed, 1);//1+4+2+2 + buffer_write(b, buffer_u8, test_network_packet.circleData);//1 + buffer_write(b, buffer_u32, Obj_Steam_Networking_Lobby_Color.color_);//4 + buffer_write(b, buffer_u16, mouse_x);//2 + buffer_write(b, buffer_u16, mouse_y);//2 + steam_net_packet_send(player, b) + buffer_delete(b); +} + + + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/CleanUp_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/CleanUp_0.gml new file mode 100644 index 0000000..795047f --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/CleanUp_0.gml @@ -0,0 +1,3 @@ + +steam_lobby_leave(); + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Create_0.gml new file mode 100644 index 0000000..a01d90e --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Create_0.gml @@ -0,0 +1,20 @@ + +inbuf = buffer_create(16, buffer_grow, 1); +outbuf = buffer_create(16, buffer_grow, 1); +chat_message_buf = buffer_create(steam_lobby_max_chat_message_size, buffer_fixed, 1); +request_lobbies = 0; +rtt_list = ds_list_create(); +rtt_curr = 0; +rtt_time = current_time; + + +enum test_network_packet +{ + ping = 10, + hello = 11, + circleData = 12 +} + +alarm[0] = 1 + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Draw_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Draw_0.gml new file mode 100644 index 0000000..dd73f0c --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Draw_0.gml @@ -0,0 +1,19 @@ + +event_inherited(); + +draw_set_font(Font_YoYo_20) +draw_set_valign(fa_top) +draw_set_halign(fa_left) + +draw_text(50,100,"Lobby ID: " + string(steam_lobby_get_lobby_id())) + +draw_text(50,130,"Is Owner?: " + string(steam_lobby_is_owner())) +draw_text(50,160,"Owner: " + string(steam_lobby_get_owner_id())) + +draw_text(50,190,"Ping: " + string(rtt_curr) + "ms") + +draw_text(50,220,"Players: " + string(steam_lobby_get_member_count())) +for(var a = 0 ; a < steam_lobby_get_member_count() ; a++) + draw_text(50,250+a*30,string(a)+") "+ string(steam_lobby_get_member_id(a))) + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Obj_Steam_Networking_Lobby.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Obj_Steam_Networking_Lobby.yy new file mode 100644 index 0000000..27d36d5 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Obj_Steam_Networking_Lobby.yy @@ -0,0 +1,37 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Lobby", + "spriteId": null, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":12,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":2,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Step_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Step_0.gml new file mode 100644 index 0000000..fb9cca1 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby/Step_0.gml @@ -0,0 +1,59 @@ + +if(request_lobbies > 0 && --request_lobbies <= 0) +{ + show_debug_message("Requesting lobbies."); + steam_lobby_list_add_string_filter("game", "steamworks.gml", steam_lobby_list_filter_eq); + steam_lobby_list_request(); +} + +while(steam_net_packet_receive()) +{ + var sender = steam_net_packet_get_sender_id(); + steam_net_packet_get_data(inbuf); + buffer_seek(inbuf, buffer_seek_start, 0); + var index = buffer_read(inbuf, buffer_u8); + //show_debug_message("Packet #" + string(index)); + + switch (index) + { + case test_network_packet.ping: + //show_debug_message("Ping"); + if (rtt_time > 0) + { + ds_list_add(rtt_list, current_time - rtt_time); + if (ds_list_size(rtt_list) > 10) ds_list_delete(rtt_list, 0); + var n = ds_list_size(rtt_list); + rtt_curr = 0; + for (var i = 0; i < n; i++) rtt_curr += rtt_list[|i]; + rtt_curr /= n; + } + + rtt_time = current_time; + buffer_seek(outbuf, buffer_seek_start, 0); + buffer_write(outbuf, buffer_u8, test_network_packet.ping); + steam_net_packet_send(sender, outbuf); + break; + + case test_network_packet.hello: + show_debug_message("Got a greet!"); + break; + + case test_network_packet.circleData: + + //buffer_read(inbuf, buffer_u8, test_network_packet.circleData);//1 + var Color = buffer_read(inbuf, buffer_u32); + var X = buffer_read(inbuf, buffer_u16); + var Y = buffer_read(inbuf, buffer_u16); + //show_debug_message([Color,X,Y]) + var ins = instance_create_depth(X,Y,0,Obj_Steam_Networking_Circle) + ins.image_blend = Color + + break + + default: + show_debug_message("Unknown packet."); + break; + } +} + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Create_0.gml new file mode 100644 index 0000000..a891ac1 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Create_0.gml @@ -0,0 +1,10 @@ + +event_inherited(); + +text = "Chat" +request = noone + +rtt_list = ds_list_create(); +rtt_curr = 0; +rtt_time = current_time; + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Mouse_7.gml new file mode 100644 index 0000000..cf03696 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Mouse_7.gml @@ -0,0 +1,4 @@ + +request = get_string_async("Text:","") + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Obj_Steam_Networking_Lobby_Chat.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Obj_Steam_Networking_Lobby_Chat.yy new file mode 100644 index 0000000..4605de4 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Obj_Steam_Networking_Lobby_Chat.yy @@ -0,0 +1,42 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":63,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Lobby_Chat", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_63.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_63.gml new file mode 100644 index 0000000..584fa36 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_63.gml @@ -0,0 +1,10 @@ + +if(async_load[?"id"] == request) +if(async_load[?"status"]) { + + // Broadcasting message as a buffer (binary) + var _chat_message_buf = buffer_create(1, buffer_grow, 1); + buffer_write(_chat_message_buf, buffer_string, async_load[?"result"]); + steam_lobby_send_chat_message_buffer(_chat_message_buf); + buffer_delete(_chat_message_buf); +} diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_69.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_69.gml new file mode 100644 index 0000000..3411f1c --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Chat/Other_69.gml @@ -0,0 +1,40 @@ + +switch(async_load[?"event_type"]) +{ + case "lobby_chat_update": + + //var _from_id = int64(async_load[?"user_id_string"]); + var _from_id = async_load[?"user_id"]; + var _from_name = steam_get_user_persona_name_sync(_from_id); + + // Check if the flags match with 'steam_lobby_member_change_entered' + if (async_load[?"change_flags"] & steam_lobby_member_change_entered) + { + // Someone entered the room + ds_list_clear(rtt_list); + rtt_curr = 0; + rtt_time = 0; + } + + break; + + case "lobby_chat_message": + var _msg_index = async_load[?"message_index"]; + var _from_id = async_load[?"user_id"]; + var _from_name = steam_get_user_persona_name_sync(_from_id); + + // Reading message as a text (string) + show_debug_message("A chat message from `" + string(_from_name) + "` (text): " + steam_lobby_get_chat_message_text(_msg_index)); + + // Reading message as a buffer (binary) + var _chat_message_buf = buffer_create(1, buffer_grow, 1); + show_debug_message("Buffer Ok? " + string(steam_lobby_get_chat_message_data(_msg_index, _chat_message_buf))); + buffer_seek(_chat_message_buf, buffer_seek_start, 0); + show_debug_message("A chat message from `" + string(_from_name) + "` (buffer): " + buffer_read(_chat_message_buf, buffer_text)); + buffer_delete(_chat_message_buf); + + break +} + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Create_0.gml new file mode 100644 index 0000000..b7989d9 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Create_0.gml @@ -0,0 +1,13 @@ + +event_inherited(); + + +request = noone + +array = [c_red,c_purple,c_blue,c_yellow,c_green,c_orange,c_black] +array_text = ["Red","Purple","Blue","Yellow","Green","Orange","Black"] + +index = 0 +color_ = array[index] +text = array_text[index] + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Mouse_7.gml new file mode 100644 index 0000000..eb69227 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Mouse_7.gml @@ -0,0 +1,8 @@ + +index ++ +if(index == array_length(array)) + index = 0 + +color_ = array[index] +text = array_text[index] + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Obj_Steam_Networking_Lobby_Color.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Obj_Steam_Networking_Lobby_Color.yy new file mode 100644 index 0000000..45dfe48 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_Color/Obj_Steam_Networking_Lobby_Color.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Lobby_Color", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Create_0.gml new file mode 100644 index 0000000..7232602 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +text = "Set Owner" +request = noone + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Mouse_7.gml new file mode 100644 index 0000000..43b03ac --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Mouse_7.gml @@ -0,0 +1,4 @@ + +request = get_integer_async("Lobby Member Index:",0) + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Obj_Steam_Networking_Lobby_setOwner.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Obj_Steam_Networking_Lobby_setOwner.yy new file mode 100644 index 0000000..650271c --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Obj_Steam_Networking_Lobby_setOwner.yy @@ -0,0 +1,41 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":63,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Lobby_setOwner", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Other_63.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Other_63.gml new file mode 100644 index 0000000..418fefd --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Lobby_setOwner/Other_63.gml @@ -0,0 +1,5 @@ + +if(async_load[?"id"] == request) +if(async_load[?"status"]) + steam_lobby_set_owner_id(steam_lobby_get_member_id(async_load[?"value"])) + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Create_0.gml new file mode 100644 index 0000000..72aaa71 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + + +text = "Overlay" + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Mouse_7.gml b/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Mouse_7.gml new file mode 100644 index 0000000..5695f36 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Mouse_7.gml @@ -0,0 +1,3 @@ + +steam_lobby_activate_invite_overlay() + diff --git a/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Obj_Steam_Networking_Overlay.yy b/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Obj_Steam_Networking_Overlay.yy new file mode 100644 index 0000000..d38174d --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_Networking_Overlay/Obj_Steam_Networking_Overlay.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Overlay", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/CleanUp_0.gml b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/CleanUp_0.gml new file mode 100644 index 0000000..56cea53 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/CleanUp_0.gml @@ -0,0 +1,6 @@ + +if (sprite_exists(avatar_sprite)) +{ + sprite_delete(avatar_sprite); + avatar_sprite = -1; +} diff --git a/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Create_0.gml b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Create_0.gml new file mode 100644 index 0000000..7dc53ef --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Create_0.gml @@ -0,0 +1,37 @@ + +/// @returns {Asset.GMSprite} +function steam_image_create_sprite(l_img) +{ + var l_dims = steam_image_get_size(l_img); + if (l_dims == undefined) + return -1; + + var buff_size = l_dims[0] * l_dims[1] * 4 + var l_cols = buffer_create(buff_size, buffer_fixed, 1); + var l_sprite, l_ok; + + l_ok = steam_image_get_rgba(l_img, l_cols, buff_size); + + if (l_ok) + { + var l_surf = surface_create(l_dims[0], l_dims[1]); + buffer_set_surface(l_cols, l_surf, 0); + l_sprite = sprite_create_from_surface(l_surf, 0, 0, l_dims[0], l_dims[1], false, false, 0, 0); + surface_free(l_surf); + } + else + l_sprite = -1; + + buffer_delete(l_cols); + return l_sprite; +} + + +var av = steam_get_user_avatar(steam_get_user_steam_id(), steam_user_avatar_size_large); +if (av != -1) + avatar_sprite = steam_image_create_sprite(av); +else + avatar_sprite = -1; + + + diff --git a/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Draw_0.gml b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Draw_0.gml new file mode 100644 index 0000000..0b218a0 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Draw_0.gml @@ -0,0 +1,4 @@ + +if(sprite_exists(avatar_sprite)) + draw_sprite(avatar_sprite, 0, x, y); + diff --git a/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Obj_Steam_ProfileImage.yy b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Obj_Steam_ProfileImage.yy new file mode 100644 index 0000000..3f3e75c --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Obj_Steam_ProfileImage.yy @@ -0,0 +1,36 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam_ProfileImage", + "spriteId": null, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":12,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Main", + "path": "folders/Steamworks Demo/Main.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Other_69.gml b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Other_69.gml new file mode 100644 index 0000000..4091970 --- /dev/null +++ b/source/Steamworks_gml/objects/Obj_Steam_ProfileImage/Other_69.gml @@ -0,0 +1,17 @@ +/// @description Insert description here +// You can write your code in this editor + +// Early exit if event type doesn't match +if (async_load[?"event_type"] != "avatar_image_loaded") exit + +// Validate status +var success = async_load[?"success"]; +if (success == 1) { +     +    // Create a new sprite from Steam image + avatar_sprite = steam_image_create_sprite(async_load[?"image"]); +} +else { +    // Failure +    show_debug_message("Failed to get user avatar"); +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_clear/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_achievement_clear/Create_0.gml new file mode 100644 index 0000000..35fd6a6 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_clear/Create_0.gml @@ -0,0 +1,7 @@ + +event_inherited(); + +text = "X" + +// These values are overwritten in the instance creation code (room editor) +achievement = "" \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_clear/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_achievement_clear/Mouse_7.gml new file mode 100644 index 0000000..93757db --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_clear/Mouse_7.gml @@ -0,0 +1,2 @@ + +steam_clear_achievement(achievement); diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_clear/obj_steam_achievement_clear.yy b/source/Steamworks_gml/objects/obj_steam_achievement_clear/obj_steam_achievement_clear.yy new file mode 100644 index 0000000..b012a6b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_clear/obj_steam_achievement_clear.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Achievements", + "path": "folders/Steamworks Demo/Social/Achievements.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Achievement_Clear", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_resetall/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_achievement_resetall/Create_0.gml new file mode 100644 index 0000000..903f947 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_resetall/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +targetRoom = noone +text = "Reset All" \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_resetall/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_achievement_resetall/Mouse_7.gml new file mode 100644 index 0000000..067b692 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_resetall/Mouse_7.gml @@ -0,0 +1,3 @@ + +steam_reset_all_stats_achievements() + diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_resetall/obj_steam_achievement_resetall.yy b/source/Steamworks_gml/objects/obj_steam_achievement_resetall/obj_steam_achievement_resetall.yy new file mode 100644 index 0000000..6697323 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_resetall/obj_steam_achievement_resetall.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Achievements", + "path": "folders/Steamworks Demo/Social/Achievements.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Achievement_ResetAll", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_set/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_achievement_set/Create_0.gml new file mode 100644 index 0000000..2a72dc6 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_set/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +// These values are overwritten in the instance creation code (room editor) +text = ""; +achievement = ""; \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_set/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_achievement_set/Mouse_7.gml new file mode 100644 index 0000000..508b9ac --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_set/Mouse_7.gml @@ -0,0 +1,2 @@ + +steam_set_achievement(achievement) diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_set/Step_0.gml b/source/Steamworks_gml/objects/obj_steam_achievement_set/Step_0.gml new file mode 100644 index 0000000..e203e00 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_set/Step_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +locked = steam_get_achievement(achievement) + diff --git a/source/Steamworks_gml/objects/obj_steam_achievement_set/obj_steam_achievement_set.yy b/source/Steamworks_gml/objects/obj_steam_achievement_set/obj_steam_achievement_set.yy new file mode 100644 index 0000000..b85b352 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_achievement_set/obj_steam_achievement_set.yy @@ -0,0 +1,41 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Achievements", + "path": "folders/Steamworks Demo/Social/Achievements.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Achievement_Set", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_file_delete/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_file_delete/Create_0.gml new file mode 100644 index 0000000..d6054ae --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_delete/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +targetRoom = noone +text = "Delete" \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_file_delete/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_file_delete/Mouse_7.gml new file mode 100644 index 0000000..116a973 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_delete/Mouse_7.gml @@ -0,0 +1,2 @@ + +steam_file_delete(STEAM_REMOTESTORAGE_FILE) diff --git a/source/Steamworks_gml/objects/obj_steam_file_delete/obj_steam_file_delete.yy b/source/Steamworks_gml/objects/obj_steam_file_delete/obj_steam_file_delete.yy new file mode 100644 index 0000000..99b31ac --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_delete/obj_steam_file_delete.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Storage", + "path": "folders/Steamworks Demo/Storage.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_File_Delete", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_file_read/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_file_read/Create_0.gml new file mode 100644 index 0000000..aff7ca4 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_read/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +targetRoom = noone +text = "Read" \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_file_read/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_file_read/Mouse_7.gml new file mode 100644 index 0000000..ad475b8 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_read/Mouse_7.gml @@ -0,0 +1,2 @@ + +show_message_async(steam_file_read(STEAM_REMOTESTORAGE_FILE)) diff --git a/source/Steamworks_gml/objects/obj_steam_file_read/obj_steam_file_read.yy b/source/Steamworks_gml/objects/obj_steam_file_read/obj_steam_file_read.yy new file mode 100644 index 0000000..33fd4a7 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_read/obj_steam_file_read.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Storage", + "path": "folders/Steamworks Demo/Storage.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_File_Read", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_file_write/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_file_write/Create_0.gml new file mode 100644 index 0000000..d0f41b6 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_write/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +targetRoom = noone +text = "Write" diff --git a/source/Steamworks_gml/objects/obj_steam_file_write/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_file_write/Mouse_7.gml new file mode 100644 index 0000000..46b7cf3 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_write/Mouse_7.gml @@ -0,0 +1,6 @@ + +var data = "HELLO WORLD" +steam_file_write(STEAM_REMOTESTORAGE_FILE,data,string_length(data)) + +if(!steam_file_persisted(STEAM_REMOTESTORAGE_FILE)) + steam_file_share(STEAM_REMOTESTORAGE_FILE) diff --git a/source/Steamworks_gml/objects/obj_steam_file_write/obj_steam_file_write.yy b/source/Steamworks_gml/objects/obj_steam_file_write/obj_steam_file_write.yy new file mode 100644 index 0000000..52521f0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_write/obj_steam_file_write.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Storage", + "path": "folders/Steamworks Demo/Storage.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_File_Write", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_file_writefromfile/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_file_writefromfile/Create_0.gml new file mode 100644 index 0000000..f43f0b7 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_writefromfile/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +targetRoom = noone +text = "Write File" diff --git a/source/Steamworks_gml/objects/obj_steam_file_writefromfile/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_file_writefromfile/Mouse_7.gml new file mode 100644 index 0000000..937c92d --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_writefromfile/Mouse_7.gml @@ -0,0 +1,10 @@ + +var localFile = "myTextSteamFile.txt" +var file = file_text_open_write(localFile) +file_text_write_string(file,"HELLO WORLD FROM FILE") +file_text_close(file) + +steam_file_write_file(STEAM_REMOTESTORAGE_FILE,localFile) + +if(!steam_file_persisted(STEAM_REMOTESTORAGE_FILE)) + steam_file_share(STEAM_REMOTESTORAGE_FILE) diff --git a/source/Steamworks_gml/objects/obj_steam_file_writefromfile/obj_steam_file_writefromfile.yy b/source/Steamworks_gml/objects/obj_steam_file_writefromfile/obj_steam_file_writefromfile.yy new file mode 100644 index 0000000..21fadec --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_file_writefromfile/obj_steam_file_writefromfile.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Storage", + "path": "folders/Steamworks Demo/Storage.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_File_WriteFromFile", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_generalinfo/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_generalinfo/Draw_0.gml new file mode 100644 index 0000000..a501a4b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_generalinfo/Draw_0.gml @@ -0,0 +1,31 @@ + +draw_set_font(Font_YoYo_20); +draw_set_halign(fa_left); +draw_set_valign(fa_top); + +var _i = 0; + +// This function returns wether or not the steam extension was initialized +// You should check this before using any of the other functions. +// NOTE: Your app will still work but functions will not return any values +draw_text(50,100 + _i++ * 30,"steam_initialised: " + string(steam_initialised())); + +// General information functions +draw_text(50, 100 + _i++ * 30,"steam_current_game_language: " + string(steam_current_game_language())); +draw_text(50, 100 + _i++ * 30,"steam_available_languages: " + string(steam_available_languages())); +draw_text(50, 100 + _i++ * 30,"steam_user_owns_dlc [447130]: " + string(steam_user_owns_dlc(447130))); +draw_text(50, 100 + _i++ * 30,"steam_user_installed_dlc [447130]: " + string(steam_user_installed_dlc(447130))); + +draw_text(50, 100 + _i++ * 30,"steam_is_user_logged_on: " + string(steam_is_user_logged_on())); +draw_text(50, 100 + _i++ * 30,"steam_get_user_steam_id: " + string(steam_get_user_steam_id())); +draw_text(50, 100 + _i++ * 30,"steam_get_user_account_id: " + string(steam_get_user_account_id())); +draw_text(50, 100 + _i++ * 30,"steam_get_app_id: " + string(steam_get_app_id())); + +draw_text(50, 100 + _i++ * 30,"steam_is_screenshot_requested: " + string(steam_is_screenshot_requested())); + +draw_text(50, 100 + _i++ * 30,"steam_is_subscribed: " + string(steam_is_subscribed())); + +draw_text(50, 100 + _i++ * 30,"steam_get_persona_name: " + string(steam_get_persona_name())) + + + diff --git a/source/Steamworks_gml/objects/obj_steam_generalinfo/Obj_Steam_GeneralInfo.yy b/source/Steamworks_gml/objects/obj_steam_generalinfo/Obj_Steam_GeneralInfo.yy new file mode 100644 index 0000000..168ae54 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_generalinfo/Obj_Steam_GeneralInfo.yy @@ -0,0 +1,33 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Main", + "path": "folders/Steamworks Demo/Main.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_GeneralInfo", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_goto/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_goto/Create_0.gml new file mode 100644 index 0000000..4b8de56 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_goto/Create_0.gml @@ -0,0 +1,4 @@ + +event_inherited(); + +targetRoom = noone diff --git a/source/Steamworks_gml/objects/obj_steam_goto/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_goto/Mouse_7.gml new file mode 100644 index 0000000..ef0d444 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_goto/Mouse_7.gml @@ -0,0 +1,3 @@ + +room_goto(targetRoom) + diff --git a/source/Steamworks_gml/objects/obj_steam_goto/obj_steam_goto.yy b/source/Steamworks_gml/objects/obj_steam_goto/obj_steam_goto.yy new file mode 100644 index 0000000..8a0695d --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_goto/obj_steam_goto.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Main", + "path": "folders/Steamworks Demo/Main.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Goto", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Create_0.gml new file mode 100644 index 0000000..3f0337d --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Create_0.gml @@ -0,0 +1,4 @@ + +event_inherited(); + +request = noone diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Mouse_7.gml new file mode 100644 index 0000000..db5578c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Mouse_7.gml @@ -0,0 +1,7 @@ + +//steam_create_leaderboard(SteamLeaderboard, lb_sort_ascending, lb_disp_numeric);; + +request = steam_download_scores_around_user(SteamLeaderboard,-4,4) + +with(Obj_Steam_Leaderboard_Entry) + instance_destroy() diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Obj_Steam_Leaderboard_Download.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Obj_Steam_Leaderboard_Download.yy new file mode 100644 index 0000000..05d8000 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Obj_Steam_Leaderboard_Download.yy @@ -0,0 +1,38 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_Download", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Other_69.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Other_69.gml new file mode 100644 index 0000000..85c74fb --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download/Other_69.gml @@ -0,0 +1,40 @@ + +if(async_load[?"event_type"] == "leaderboard_download") +if(async_load[?"id"] == request) +if(async_load[?"num_entries"]) +{ + var entries = ds_map_find_value(async_load, "entries"); + var map = json_decode(entries); + if ds_map_exists(map, "default") + { + ds_map_destroy(map); + exit; + } + else + { + var list = ds_map_find_value(map, "entries"); + var len = ds_list_size(list); + var entry; + for(var i = 0; i < len; i++;) + { + entry = list[| i]; + with(instance_create_depth(800, 110 + i*120, 0, Obj_Steam_Leaderboard_Entry)) + { + rank = entry[? "rank"]; + score_ = entry[? "score"]; + name = entry[? "name"]; + userID = entry[? "userID"]; + + if (!is_undefined(entry[? "data"])) { + var buff = buffer_base64_decode(entry[?"data"]); + var level = buffer_read(buff, buffer_u8); + var str = buffer_read(buff, buffer_string); + + data = str + " (" + string(level) + ")"; + } + else data = ""; + } + } + } + ds_map_destroy(map) +} diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Create_0.gml new file mode 100644 index 0000000..88a2b8e --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Create_0.gml @@ -0,0 +1,4 @@ + +event_inherited(); + +text = "Around User" diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Mouse_7.gml new file mode 100644 index 0000000..db5578c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/Mouse_7.gml @@ -0,0 +1,7 @@ + +//steam_create_leaderboard(SteamLeaderboard, lb_sort_ascending, lb_disp_numeric);; + +request = steam_download_scores_around_user(SteamLeaderboard,-4,4) + +with(Obj_Steam_Leaderboard_Entry) + instance_destroy() diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/obj_steam_leaderboard_download_arounduser.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/obj_steam_leaderboard_download_arounduser.yy new file mode 100644 index 0000000..a0cc84e --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_arounduser/obj_steam_leaderboard_download_arounduser.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_Steam_Leaderboard_Download", + "path": "objects/Obj_Steam_Leaderboard_Download/Obj_Steam_Leaderboard_Download.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_Download_AroundUser", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Create_0.gml new file mode 100644 index 0000000..79dbffb --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Friends" + diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Mouse_7.gml new file mode 100644 index 0000000..e7c2f52 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/Mouse_7.gml @@ -0,0 +1,7 @@ + +//steam_create_leaderboard(SteamLeaderboard, lb_sort_ascending, lb_disp_numeric);; + +request = steam_download_friends_scores(SteamLeaderboard) + +with(Obj_Steam_Leaderboard_Entry) + instance_destroy() diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/obj_steam_leaderboard_download_friends.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/obj_steam_leaderboard_download_friends.yy new file mode 100644 index 0000000..81d7918 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_friends/obj_steam_leaderboard_download_friends.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_Steam_Leaderboard_Download", + "path": "objects/Obj_Steam_Leaderboard_Download/Obj_Steam_Leaderboard_Download.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_Download_Friends", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Create_0.gml new file mode 100644 index 0000000..86170de --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Create_0.gml @@ -0,0 +1,4 @@ + +event_inherited(); + +text = "General" diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Mouse_7.gml new file mode 100644 index 0000000..cb38659 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/Mouse_7.gml @@ -0,0 +1,7 @@ + +//steam_create_leaderboard(SteamLeaderboard, lb_sort_ascending, lb_disp_numeric);; + +request = steam_download_scores(SteamLeaderboard, 1, 10) + +with(Obj_Steam_Leaderboard_Entry) + instance_destroy() diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/obj_steam_leaderboard_download_general.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/obj_steam_leaderboard_download_general.yy new file mode 100644 index 0000000..2a8539b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_download_general/obj_steam_leaderboard_download_general.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_Steam_Leaderboard_Download", + "path": "objects/Obj_Steam_Leaderboard_Download/Obj_Steam_Leaderboard_Download.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_Download_General", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Create_0.gml new file mode 100644 index 0000000..7c4f475 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Create_0.gml @@ -0,0 +1,5 @@ +rank = noone +score_ = noone +name = "" +userID = noone +data = "" \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Draw_0.gml new file mode 100644 index 0000000..3e0b1c5 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/Draw_0.gml @@ -0,0 +1,7 @@ + +draw_set_valign(fa_top); +draw_set_halign(fa_left); +draw_set_font(Font_YoYo_20); + +draw_text(x, y, string(rank) + ") " + name + "\n score: " + string(score_) + "\n data: " + data) + diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/obj_steam_leaderboard_entry.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/obj_steam_leaderboard_entry.yy new file mode 100644 index 0000000..bae81a0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_entry/obj_steam_leaderboard_entry.yy @@ -0,0 +1,34 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_Entry", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Create_0.gml new file mode 100644 index 0000000..ec4f871 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Score" +upload_ID = noone diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Mouse_7.gml new file mode 100644 index 0000000..dba83c6 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/Mouse_7.gml @@ -0,0 +1,6 @@ + +show_debug_message("POST steam_create_leaderboard") + +upload_ID = steam_upload_score_ext(SteamLeaderboard, irandom(1000), true); + +show_debug_message("upload_ID: " + string(upload_ID)) diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/obj_steam_leaderboard_upload.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/obj_steam_leaderboard_upload.yy new file mode 100644 index 0000000..ac02ba2 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_upload/obj_steam_leaderboard_upload.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_Upload", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Create_0.gml new file mode 100644 index 0000000..4819ba0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Score + Data"; +upload_ID = noone; diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Mouse_7.gml new file mode 100644 index 0000000..44c2f32 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Mouse_7.gml @@ -0,0 +1,13 @@ + +show_debug_message("POST steam_create_leaderboard") + +var buff = buffer_create(256, buffer_fixed, 1); + +buffer_write(buff, buffer_u8, irandom(100)); +buffer_write(buff, buffer_string,steam_get_persona_name() + " was here :)"); + +upload_ID = steam_upload_score_buffer_ext(SteamLeaderboard, irandom(1000), buff, true); + +buffer_delete(buff); + +show_debug_message("upload_ID: " + string(upload_ID)) diff --git a/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Obj_Steam_Leaderboard_UploadWithBuff.yy b/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Obj_Steam_Leaderboard_UploadWithBuff.yy new file mode 100644 index 0000000..c5b6349 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_leaderboard_uploadwithbuff/Obj_Steam_Leaderboard_UploadWithBuff.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Leaderboard", + "path": "folders/Steamworks Demo/Social/Leaderboard.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Leaderboard_UploadWithBuff", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_networking_circle/Alarm_0.gml b/source/Steamworks_gml/objects/obj_steam_networking_circle/Alarm_0.gml new file mode 100644 index 0000000..ead4af9 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_networking_circle/Alarm_0.gml @@ -0,0 +1,3 @@ + +instance_destroy() + diff --git a/source/Steamworks_gml/objects/obj_steam_networking_circle/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_networking_circle/Create_0.gml new file mode 100644 index 0000000..ae9affc --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_networking_circle/Create_0.gml @@ -0,0 +1,3 @@ + +alarm[0] = room_speed*2 + diff --git a/source/Steamworks_gml/objects/obj_steam_networking_circle/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_networking_circle/Draw_0.gml new file mode 100644 index 0000000..9864667 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_networking_circle/Draw_0.gml @@ -0,0 +1,3 @@ + +draw_circle_color(x,y,20,image_blend,image_blend,false) + diff --git a/source/Steamworks_gml/objects/obj_steam_networking_circle/obj_steam_networking_circle.yy b/source/Steamworks_gml/objects/obj_steam_networking_circle/obj_steam_networking_circle.yy new file mode 100644 index 0000000..dbc3e07 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_networking_circle/obj_steam_networking_circle.yy @@ -0,0 +1,35 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":2,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Networking_Circle", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_achievements/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_achievements/Create_0.gml new file mode 100644 index 0000000..358758b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_achievements/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Achievements" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_achievements/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_achievements/Mouse_7.gml new file mode 100644 index 0000000..5925bcf --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_achievements/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam achievements overlay +steam_activate_overlay(ov_achievements) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_achievements/obj_steam_overlay_achievements.yy b/source/Steamworks_gml/objects/obj_steam_overlay_achievements/obj_steam_overlay_achievements.yy new file mode 100644 index 0000000..55ec6c4 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_achievements/obj_steam_overlay_achievements.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Achievements", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_browser/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_browser/Create_0.gml new file mode 100644 index 0000000..07335bb --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_browser/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Browser" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_browser/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_browser/Mouse_7.gml new file mode 100644 index 0000000..fafb4fd --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_browser/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam browser overlay +steam_activate_overlay_browser("http://www.steamgames.com/") diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_browser/obj_steam_overlay_browser.yy b/source/Steamworks_gml/objects/obj_steam_overlay_browser/obj_steam_overlay_browser.yy new file mode 100644 index 0000000..90781ef --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_browser/obj_steam_overlay_browser.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Browser", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_community/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_community/Create_0.gml new file mode 100644 index 0000000..1770b14 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_community/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Community" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_community/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_community/Mouse_7.gml new file mode 100644 index 0000000..ce2ebcd --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_community/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam community overlay +steam_activate_overlay(ov_community) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_community/obj_steam_overlay_community.yy b/source/Steamworks_gml/objects/obj_steam_overlay_community/obj_steam_overlay_community.yy new file mode 100644 index 0000000..97f5697 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_community/obj_steam_overlay_community.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Community", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_friends/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_friends/Create_0.gml new file mode 100644 index 0000000..a4965be --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_friends/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Friends" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_friends/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_friends/Mouse_7.gml new file mode 100644 index 0000000..6c630ff --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_friends/Mouse_7.gml @@ -0,0 +1,4 @@ + +// This will bring up your steam friends overlay +steam_activate_overlay(ov_friends) + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_friends/obj_steam_overlay_friends.yy b/source/Steamworks_gml/objects/obj_steam_overlay_friends/obj_steam_overlay_friends.yy new file mode 100644 index 0000000..9ebaaef --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_friends/obj_steam_overlay_friends.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Friends", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Create_0.gml new file mode 100644 index 0000000..b8e7558 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "GameGroup" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Mouse_7.gml new file mode 100644 index 0000000..8d1091e --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam game group overlay +steam_activate_overlay(ov_gamegroup) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/obj_steam_overlay_gamegroup.yy b/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/obj_steam_overlay_gamegroup.yy new file mode 100644 index 0000000..e94e5a0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_gamegroup/obj_steam_overlay_gamegroup.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_GameGroup", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_players/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_players/Create_0.gml new file mode 100644 index 0000000..2e1e770 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_players/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Players" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_players/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_players/Mouse_7.gml new file mode 100644 index 0000000..99bfb72 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_players/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam players overlay +steam_activate_overlay(ov_players) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_players/obj_steam_overlay_players.yy b/source/Steamworks_gml/objects/obj_steam_overlay_players/obj_steam_overlay_players.yy new file mode 100644 index 0000000..d98b19c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_players/obj_steam_overlay_players.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Players", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_setting/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_setting/Create_0.gml new file mode 100644 index 0000000..83ff37b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_setting/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Settings" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_setting/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_setting/Mouse_7.gml new file mode 100644 index 0000000..c624865 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_setting/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam settings overlay +steam_activate_overlay(ov_settings) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_setting/obj_steam_overlay_setting.yy b/source/Steamworks_gml/objects/obj_steam_overlay_setting/obj_steam_overlay_setting.yy new file mode 100644 index 0000000..388e617 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_setting/obj_steam_overlay_setting.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Setting", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_store/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_store/Create_0.gml new file mode 100644 index 0000000..4f7a1c0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_store/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "Store" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_store/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_store/Mouse_7.gml new file mode 100644 index 0000000..fabd5eb --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_store/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam store overlay (it requires an app id) +steam_activate_overlay_store(steam_get_app_id()) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_store/obj_steam_overlay_store.yy b/source/Steamworks_gml/objects/obj_steam_overlay_store/obj_steam_overlay_store.yy new file mode 100644 index 0000000..b4387e8 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_store/obj_steam_overlay_store.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_Store", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_user/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_overlay_user/Create_0.gml new file mode 100644 index 0000000..d011a09 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_user/Create_0.gml @@ -0,0 +1,6 @@ + +event_inherited(); + +targetRoom = noone +text = "User" + diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_user/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_overlay_user/Mouse_7.gml new file mode 100644 index 0000000..bd10854 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_user/Mouse_7.gml @@ -0,0 +1,3 @@ + +// This will bring up your steam chat overlay +steam_activate_overlay_user("chat", steam_get_app_id()) diff --git a/source/Steamworks_gml/objects/obj_steam_overlay_user/obj_steam_overlay_user.yy b/source/Steamworks_gml/objects/obj_steam_overlay_user/obj_steam_overlay_user.yy new file mode 100644 index 0000000..78f18df --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlay_user/obj_steam_overlay_user.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Overlay_User", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_overlayinfo/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_overlayinfo/Draw_0.gml new file mode 100644 index 0000000..468745b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlayinfo/Draw_0.gml @@ -0,0 +1,12 @@ + +draw_set_font(Font_YoYo_20); +draw_set_valign(fa_top); +draw_set_halign(fa_left); + +var _i = 0; + +// This presents information regarding the overlay being enabled/activated +// NOTE: The overlay will not work on macOS and Linux when running from IDE +draw_text(50,100 + _i++ * 30,"steam_get_persona_name: " + string(steam_get_persona_name())) +draw_text(50,100 + _i++ * 30,"steam_is_overlay_enabled: " + string(steam_is_overlay_enabled())) +draw_text(50,100 + _i++ * 30,"steam_is_overlay_activated: " + string(steam_is_overlay_activated())) diff --git a/source/Steamworks_gml/objects/obj_steam_overlayinfo/obj_steam_overlayinfo.yy b/source/Steamworks_gml/objects/obj_steam_overlayinfo/obj_steam_overlayinfo.yy new file mode 100644 index 0000000..b60d144 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_overlayinfo/obj_steam_overlayinfo.yy @@ -0,0 +1,33 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_OverlayInfo", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_screenshot/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_screenshot/Create_0.gml new file mode 100644 index 0000000..7e90dd5 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_screenshot/Create_0.gml @@ -0,0 +1,4 @@ + +event_inherited(); + +text = "Screenshot" \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_screenshot/Mouse_4.gml b/source/Steamworks_gml/objects/obj_steam_screenshot/Mouse_4.gml new file mode 100644 index 0000000..a6542d0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_screenshot/Mouse_4.gml @@ -0,0 +1,7 @@ + +var file = "Screenshot.png" +screen_save(file) + +// This will send a previously saved screenshot image to your steam account +show_debug_message(steam_send_screenshot(file, window_get_width(), window_get_height())); + diff --git a/source/Steamworks_gml/objects/obj_steam_screenshot/obj_steam_screenshot.yy b/source/Steamworks_gml/objects/obj_steam_screenshot/obj_steam_screenshot.yy new file mode 100644 index 0000000..8a4c929 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_screenshot/obj_steam_screenshot.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":4,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Main", + "path": "folders/Steamworks Demo/Main.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Screenshot", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Create_0.gml new file mode 100644 index 0000000..228a015 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Average Speed"; +stat = "AverageSpeed" diff --git a/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Mouse_7.gml new file mode 100644 index 0000000..eb32bba --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/Mouse_7.gml @@ -0,0 +1,4 @@ + +var sessionCount = random(1000); +var sessionLength = random(2000); +steam_set_stat_avg_rate(stat, sessionCount, sessionLength); \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/obj_steam_stat_averagespeed.yy b/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/obj_steam_stat_averagespeed.yy new file mode 100644 index 0000000..17e1b00 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_averagespeed/obj_steam_stat_averagespeed.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Stats", + "path": "folders/Steamworks Demo/Social/Stats.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Stat_AverageSpeed", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Create_0.gml new file mode 100644 index 0000000..c73d86f --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Feet Traveled"; +stat = "FeetTraveled" diff --git a/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Mouse_7.gml new file mode 100644 index 0000000..3ae38be --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/Mouse_7.gml @@ -0,0 +1,2 @@ + +steam_set_stat_float(stat, steam_get_stat_float(stat) + random(1000)); diff --git a/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/obj_steam_stat_feetstraveled.yy b/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/obj_steam_stat_feetstraveled.yy new file mode 100644 index 0000000..9ff452c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_feetstraveled/obj_steam_stat_feetstraveled.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Stats", + "path": "folders/Steamworks Demo/Social/Stats.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Stat_FeetsTraveled", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_stat_lose/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_stat_lose/Create_0.gml new file mode 100644 index 0000000..06e5b0f --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_lose/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "+1 Lose"; +stat = "NumLosses" diff --git a/source/Steamworks_gml/objects/obj_steam_stat_lose/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_stat_lose/Mouse_7.gml new file mode 100644 index 0000000..f0e5a99 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_lose/Mouse_7.gml @@ -0,0 +1,3 @@ + +steam_set_stat_int("NumGames", steam_get_stat_int("NumGames") + 1); +steam_set_stat_int(stat, steam_get_stat_int(stat) + 1); diff --git a/source/Steamworks_gml/objects/obj_steam_stat_lose/obj_steam_stat_lose.yy b/source/Steamworks_gml/objects/obj_steam_stat_lose/obj_steam_stat_lose.yy new file mode 100644 index 0000000..9b9389f --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_lose/obj_steam_stat_lose.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Stats", + "path": "folders/Steamworks Demo/Social/Stats.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Stat_Lose", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_stat_win/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_stat_win/Create_0.gml new file mode 100644 index 0000000..7bce3b3 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_win/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "+1 Win"; +stat = "NumWins"; \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_stat_win/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_stat_win/Mouse_7.gml new file mode 100644 index 0000000..6faec74 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_win/Mouse_7.gml @@ -0,0 +1,3 @@ + +steam_set_stat_int("NumGames", steam_get_stat_int("NumGames") + 1) +steam_set_stat_int(stat, steam_get_stat_int(stat) + 1) diff --git a/source/Steamworks_gml/objects/obj_steam_stat_win/obj_steam_stat_win.yy b/source/Steamworks_gml/objects/obj_steam_stat_win/obj_steam_stat_win.yy new file mode 100644 index 0000000..333d6ef --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_stat_win/obj_steam_stat_win.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Stats", + "path": "folders/Steamworks Demo/Social/Stats.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_Stat_Win", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_statsinfo/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_statsinfo/Draw_0.gml new file mode 100644 index 0000000..542c05a --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_statsinfo/Draw_0.gml @@ -0,0 +1,15 @@ + +draw_set_font(Font_YoYo_20); +draw_set_valign(fa_top); +draw_set_halign(fa_left); + +var _i = 0; + +draw_text(50, 100 + _i++ * 30,"steam_stats_ready: " + string(steam_stats_ready())) + +draw_text(50, 100 + _i++ * 30,"NumGames: " + string(steam_get_stat_int("NumGames"))) +draw_text(50, 100 + _i++ * 30,"NumWins: " + string(steam_get_stat_int("NumWins"))) +draw_text(50, 100 + _i++ * 30,"NumLosses: " + string(steam_get_stat_int("NumLosses"))) +draw_text(50, 100 + _i++ * 30,"FeetTraveled: " + string(steam_get_stat_float("FeetTraveled"))) +draw_text(50, 100 + _i++ * 30,"AverageSpeed: " + string(steam_get_stat_float("AverageSpeed"))) + diff --git a/source/Steamworks_gml/objects/obj_steam_statsinfo/obj_steam_statsinfo.yy b/source/Steamworks_gml/objects/obj_steam_statsinfo/obj_steam_statsinfo.yy new file mode 100644 index 0000000..f1cf8fb --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_statsinfo/obj_steam_statsinfo.yy @@ -0,0 +1,33 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Stats", + "path": "folders/Steamworks Demo/Social/Stats.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_StatsInfo", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_storageinfo/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_storageinfo/Create_0.gml new file mode 100644 index 0000000..a9de29a --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_storageinfo/Create_0.gml @@ -0,0 +1,4 @@ + + +#macro STEAM_REMOTESTORAGE_FILE "STEAM_REMOTESTORAGE_FILE.txt" + diff --git a/source/Steamworks_gml/objects/obj_steam_storageinfo/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_storageinfo/Draw_0.gml new file mode 100644 index 0000000..392b205 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_storageinfo/Draw_0.gml @@ -0,0 +1,18 @@ + +draw_set_font(Font_YoYo_20) +draw_set_valign(fa_top) +draw_set_halign(fa_left) + +var _i = 0; + +/////////////////////////////////////////////steam_remotestorage.cpp +draw_text(50, 100 + _i++ * 30,"steam_is_cloud_enabled_for_app: " + string(steam_is_cloud_enabled_for_app())) +draw_text(50, 100 + _i++ * 30,"steam_is_cloud_enabled_for_account: " + string(steam_is_cloud_enabled_for_account())) +draw_text(50, 100 + _i++ * 30,"steam_get_quota_total: " + string(steam_get_quota_total())) +draw_text(50, 100 + _i++ * 30,"steam_get_quota_free: " + string(steam_get_quota_free())) + +if(steam_file_exists(STEAM_REMOTESTORAGE_FILE)) +{ + draw_text(50, 100 + _i++ * 30, "steam_file_size: " + string(steam_file_size(STEAM_REMOTESTORAGE_FILE))) + draw_text(50, 100 + _i++ * 30, "steam_file_persisted: " + string(steam_file_persisted(STEAM_REMOTESTORAGE_FILE))) +} diff --git a/source/Steamworks_gml/objects/obj_steam_storageinfo/obj_steam_storageinfo.yy b/source/Steamworks_gml/objects/obj_steam_storageinfo/obj_steam_storageinfo.yy new file mode 100644 index 0000000..cffbef5 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_storageinfo/obj_steam_storageinfo.yy @@ -0,0 +1,34 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Storage", + "path": "folders/Steamworks Demo/Storage.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_StorageInfo", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc/Draw_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc/Draw_0.gml new file mode 100644 index 0000000..bb3e8d0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc/Draw_0.gml @@ -0,0 +1,8 @@ + +draw_set_font(Font_YoYo_20) +draw_set_valign(fa_top); +draw_set_halign(fa_left); + +draw_text(50,100,"subscribed_items: " + string(steam_ugc_num_subscribed_items())) +draw_text(50,100,"subscribed_items: " + string(steam_ugc_num_subscribed_items())) + diff --git a/source/Steamworks_gml/objects/obj_steam_ugc/Obj_Steam_UGC.yy b/source/Steamworks_gml/objects/obj_steam_ugc/Obj_Steam_UGC.yy new file mode 100644 index 0000000..ebbd30c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc/Obj_Steam_UGC.yy @@ -0,0 +1,34 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC", + "spriteId": null, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc/Other_69.gml b/source/Steamworks_gml/objects/obj_steam_ugc/Other_69.gml new file mode 100644 index 0000000..ddf52ad --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc/Other_69.gml @@ -0,0 +1,23 @@ + +if(async_load[?"event_type"] == "ugc_query") +{ + with(Obj_Steam_UGC_Item) + instance_destroy() + + if(ds_map_exists(async_load,"results_list")) + { + var list = async_load[?"results_list"] + + for(var a = 0 ; a < ds_list_size(list) && a < 4 ; a++) + { + var item_map = list[|a] + with(instance_create_depth(500, 350 + a*100, depth, Obj_Steam_UGC_Item)) + { + text = "Item " + string(a); + item = item_map[?"published_file_id"]; + handle_preview_file = item_map[?"handle_preview_file"]; + } + } + } +} + diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_create/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc_create/Create_0.gml new file mode 100644 index 0000000..d670ae7 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_create/Create_0.gml @@ -0,0 +1,8 @@ + +event_inherited(); + +targetRoom = noone +text = "Create Item" + +new_item = noone +requestId = noone diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_create/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_ugc_create/Mouse_7.gml new file mode 100644 index 0000000..6749cad --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_create/Mouse_7.gml @@ -0,0 +1,3 @@ + +var app_id = steam_get_app_id(); +new_item = steam_ugc_create_item(app_id, ugc_filetype_community); diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_create/Other_69.gml b/source/Steamworks_gml/objects/obj_steam_ugc_create/Other_69.gml new file mode 100644 index 0000000..b9edba5 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_create/Other_69.gml @@ -0,0 +1,64 @@ + +if(async_load[?"id"] == new_item) +if async_load[? "event_type"] == "ugc_create_item" +{ + var published_file_id = async_load[? "published_file_id"]; + + var updateHandle = steam_ugc_start_item_update(steam_get_app_id(), published_file_id); + + steam_ugc_set_item_title(updateHandle, "My New YoYo-Item! -"); + steam_ugc_set_item_description( updateHandle, "Amazing YoYo-Item -"); + steam_ugc_set_item_visibility(updateHandle, ugc_visibility_private); + + var tagArray = [ "Single-player", "Multi-player"]; + steam_ugc_set_item_tags(updateHandle, tagArray); + + var itemPath = "itemFolderContent/myItem.png" + var spr = sprite_duplicate(Spr_YoYo_button); + sprite_save(spr, 0, itemPath); + sprite_delete(spr); + + var localFile = "itemFolderContent/item.txt"; + var file = file_text_open_write(localFile); + file_text_write_string(file,"YoYo-Item"); + file_text_close(file); + + steam_ugc_set_item_content(updateHandle, "itemFolderContent"); + steam_ugc_set_item_preview(updateHandle, itemPath) + + requestId = steam_ugc_submit_item_update(updateHandle, "Version 1.2"); +} + + +if(async_load[?"id"] == requestId) +if async_load[? "event_type"] == "ugc_update_item" +{ + show_debug_message("steam_ugc_submit_item_update() Result: " + string(async_load[? "result"])) +} + +/* +enum EResult +{ + k_EResultOK = 1, // success + k_EResultFail = 2, // generic failure + k_EResultNoConnection = 3, // no/failed network connection +// k_EResultNoConnectionRetry = 4, // OBSOLETE - removed + k_EResultInvalidPassword = 5, // password/ticket is invalid + k_EResultLoggedInElsewhere = 6, // same user logged in elsewhere + k_EResultInvalidProtocolVer = 7, // protocol version is incorrect + k_EResultInvalidParam = 8, // a parameter is incorrect + k_EResultFileNotFound = 9, // file was not found + k_EResultBusy = 10, // called method busy - action not taken + k_EResultInvalidState = 11, // called object was in an invalid state + k_EResultInvalidName = 12, // name is invalid + k_EResultInvalidEmail = 13, // email is invalid + k_EResultDuplicateName = 14, // name is not unique + k_EResultAccessDenied = 15, // access is denied + k_EResultTimeout = 16, // operation timed out + k_EResultBanned = 17, // VAC2 banned + k_EResultAccountNotFound = 18, // account not found + k_EResultInvalidSteamID = 19, // steamID is invalid + k_EResultServiceUnavailable = 20, // The requested service is currently unavailable + k_EResultNotLoggedOn = 21, // The user is not logged on + k_EResultPending = 22, // Request is pending (may be in process, or waiting on third party) +}; diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_create/obj_steam_ugc_create.yy b/source/Steamworks_gml/objects/obj_steam_ugc_create/obj_steam_ugc_create.yy new file mode 100644 index 0000000..49418a3 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_create/obj_steam_ugc_create.yy @@ -0,0 +1,41 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":69,"eventType":7,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC_Create", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_item/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc_item/Create_0.gml new file mode 100644 index 0000000..73c392d --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_item/Create_0.gml @@ -0,0 +1,11 @@ + +event_inherited(); + +image_xscale = 4; + +text = "item" + +request = noone +item = noone + +fromSubs = false; \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_item/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_ugc_item/Mouse_7.gml new file mode 100644 index 0000000..19324fe --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_item/Mouse_7.gml @@ -0,0 +1,4 @@ + +Obj_Steam_UGC_Item_Actions.visible = true; + +request = get_integer_async("Enter the action index (1-6):", 0); diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_item/Obj_Steam_UGC_Item.yy b/source/Steamworks_gml/objects/obj_steam_ugc_item/Obj_Steam_UGC_Item.yy new file mode 100644 index 0000000..f1c4492 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_item/Obj_Steam_UGC_Item.yy @@ -0,0 +1,41 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC_Item", + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":63,"eventType":7,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_item/Other_63.gml b/source/Steamworks_gml/objects/obj_steam_ugc_item/Other_63.gml new file mode 100644 index 0000000..fd341b0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_item/Other_63.gml @@ -0,0 +1,81 @@ + +Obj_Steam_UGC_Item_Actions.visible = false; + +var exists, info_map; + +if(request == async_load[?"id"]) +if(async_load[?"status"]) +{ + show_debug_message("Option: " + string(async_load[?"value"])) + switch(async_load[?"value"]) + { + case 1: + // This code will subscribe to an UGC item, in other + // words this process will install the given UGC item. + show_debug_message("Item Subscribe") + steam_ugc_subscribe_item(item) + break + + case 2: + // This code will unsubscribe an UGC item this will + // remove/uninstall the item for this user. + show_debug_message("Item Unsubscribe") + steam_ugc_unsubscribe_item(item) + if (fromSubs) instance_destroy(); + break + + case 3: + // This code will get install information from the UGC + // item and read the files that were installed by it + // NOTE: items needs to be subscribed first + show_debug_message("Item Install Info") + info_map = ds_map_create() + exists = steam_ugc_get_item_install_info(item, info_map); + + if (!exists) { + show_debug_message("Item needs to be subscribed first"); + return; + } + + show_debug_message("Item Install info: " + json_encode(info_map)) + + var folder = info_map[?"folder"] + var file = file_text_open_read(folder + "/item.txt") + show_debug_message(file_text_read_string(file)) + file_text_close(file) + + ds_map_destroy(info_map) + break + + case 4: + // This code will get update information from the UGC + // item being installed (after subscription). + // NOTE: items needs to be subscribed first + show_debug_message("Item Update Info") + info_map = ds_map_create() + exists = steam_ugc_get_item_update_info(item, info_map); + + if (!exists) { + show_debug_message("Item needs to be subscribed first"); + return; + } + + show_debug_message("Update Item Info: " + json_encode(info_map)) + ds_map_destroy(info_map) + break + + case 5: + // This code will request item details for the specific item + // a timespan needs to be provided to filter the details. + show_debug_message("Item Details") + steam_ugc_request_item_details(item, 60); + break + + case 6: + // This code will delete the UGC item + show_debug_message("Delete Item") + steam_ugc_delete_item(item); + instance_destroy(); + break + } +} diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_item_actions/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc_item_actions/Create_0.gml new file mode 100644 index 0000000..c03398a --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_item_actions/Create_0.gml @@ -0,0 +1,19 @@ +/// @description Insert description here +// You can write your code in this editor + +// Inherit the parent event +event_inherited(); + +font = Font_YoYo_20; + +text = +@"Available Actions: + (1) Subscribe + (2) Unsubscribe + (3) Install Info + (4) Update Info + (5) Details + (6) Delete"; + +valign = fa_top; +halign = fa_left; \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_item_actions/obj_steam_ugc_item_actions.yy b/source/Steamworks_gml/objects/obj_steam_ugc_item_actions/obj_steam_ugc_item_actions.yy new file mode 100644 index 0000000..c394468 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_item_actions/obj_steam_ugc_item_actions.yy @@ -0,0 +1,36 @@ +{ + "spriteId": null, + "solid": false, + "visible": false, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_text", + "path": "objects/Obj_YoYo_text/Obj_YoYo_text.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC_Item_Actions", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_query_all/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc_query_all/Create_0.gml new file mode 100644 index 0000000..5de884b --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_query_all/Create_0.gml @@ -0,0 +1,4 @@ + +event_inherited(); + +text = "All" diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_query_all/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_ugc_query_all/Mouse_7.gml new file mode 100644 index 0000000..85b576c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_query_all/Mouse_7.gml @@ -0,0 +1,14 @@ + +var query_handle = steam_ugc_create_query_all(ugc_query_RankedByTrend, ugc_match_Items,1); + +// Here are some filter functions you can apply to yout query +//steam_ugc_query_add_required_tag(query_handle, "Single-player"); +//steam_ugc_query_set_return_long_description(query_handle, true); +//steam_ugc_query_set_allow_cached_response(query_handle, true); +//steam_ugc_query_set_return_total_only(query_handle,1) +//steam_ugc_query_set_search_text(query_handle,"*&^%$#@!") +//steam_ugc_query_add_excluded_tag(query_handle,"Single-player") + +// Send the query request (triggers async event) +query_ID = steam_ugc_send_query(query_handle); + diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_query_all/obj_steam_ugc_query_all.yy b/source/Steamworks_gml/objects/obj_steam_ugc_query_all/obj_steam_ugc_query_all.yy new file mode 100644 index 0000000..d305ba7 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_query_all/obj_steam_ugc_query_all.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC_Query_All", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Create_0.gml new file mode 100644 index 0000000..03707a5 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "User"; +query_ID = undefined; \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Mouse_7.gml new file mode 100644 index 0000000..1bddbf8 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Mouse_7.gml @@ -0,0 +1,17 @@ + +var query_handle = steam_ugc_create_query_user(ugc_list_Published,ugc_match_Items,ugc_sortorder_TitleAsc,1); +//var query_handle = steam_ugc_create_query_all(ugc_query_RankedByTrend,ugc_match_Items,1); + +//steam_ugc_query_add_required_tag(query_handle, "Single-player"); +//steam_ugc_query_set_return_long_description(query_handle, true); +//steam_ugc_query_set_allow_cached_response(query_handle, true); + +//steam_ugc_query_set_return_total_only(query_handle,1) +//steam_ugc_query_set_search_text(query_handle,"*&^%$#@!") +//steam_ugc_query_add_excluded_tag(query_handle,"Single-player") + +query_ID = steam_ugc_send_query(query_handle); + +//ugc_filetype_microtrans + + diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Obj_Steam_UGC_Query_User.yy b/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Obj_Steam_UGC_Query_User.yy new file mode 100644 index 0000000..2af226a --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_query_user/Obj_Steam_UGC_Query_User.yy @@ -0,0 +1,40 @@ +{ + "resourceType": "GMObject", + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC_Query_User", + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,}, + {"resourceType":"GMEvent","resourceVersion":"1.0","name":"","isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Create_0.gml b/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Create_0.gml new file mode 100644 index 0000000..5dd4fbc --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Create_0.gml @@ -0,0 +1,5 @@ + +event_inherited(); + +text = "Subs" + diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Mouse_7.gml b/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Mouse_7.gml new file mode 100644 index 0000000..9033833 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/Mouse_7.gml @@ -0,0 +1,18 @@ + +var list = ds_list_create() +steam_ugc_get_subscribed_items(list) + +instance_destroy(Obj_Steam_UGC_Item); + +for(var a = 0 ; a < ds_list_size(list) && a < 4 ; a++) +{ + with (instance_create_depth(500, 350 + a*100, depth, Obj_Steam_UGC_Item)) + { + text = "Item " + string(a); + item = list[|a]; + fromSubs = true; + } +} +ds_list_destroy(list); + + \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/obj_steam_ugc_subscribed.yy b/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/obj_steam_ugc_subscribed.yy new file mode 100644 index 0000000..b91a020 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_steam_ugc_subscribed/obj_steam_ugc_subscribed.yy @@ -0,0 +1,40 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_button", + "path": "objects/Obj_YoYo_button/Obj_YoYo_button.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 0, + "physicsGroup": 0, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":7,"eventType":6,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_Steam_UGC_Subscribed", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_yoyo_button/Create_0.gml b/source/Steamworks_gml/objects/obj_yoyo_button/Create_0.gml new file mode 100644 index 0000000..73d8a8c --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_button/Create_0.gml @@ -0,0 +1,5 @@ + +image_speed = 0 +event_inherited(); + +locked = false diff --git a/source/Steamworks_gml/objects/obj_yoyo_button/Draw_0.gml b/source/Steamworks_gml/objects/obj_yoyo_button/Draw_0.gml new file mode 100644 index 0000000..f28ea1e --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_button/Draw_0.gml @@ -0,0 +1,8 @@ +/// @description Insert description here +// You can write your code in this editor + +draw_self(); + +// Inherit the parent event +event_inherited(); + diff --git a/source/Steamworks_gml/objects/obj_yoyo_button/Step_0.gml b/source/Steamworks_gml/objects/obj_yoyo_button/Step_0.gml new file mode 100644 index 0000000..ed776b9 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_button/Step_0.gml @@ -0,0 +1,8 @@ + +if(locked) + image_index = 2 +else +if(mouse_check_button(mb_left) and point_in_rectangle(mouse_x,mouse_y,bbox_left,bbox_top,bbox_right,bbox_bottom)) + image_index = 0 +else + image_index = 1 diff --git a/source/Steamworks_gml/objects/obj_yoyo_button/obj_yoyo_button.yy b/source/Steamworks_gml/objects/obj_yoyo_button/obj_yoyo_button.yy new file mode 100644 index 0000000..ecc62de --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_button/obj_yoyo_button.yy @@ -0,0 +1,41 @@ +{ + "spriteId": { + "name": "Spr_YoYo_button", + "path": "sprites/Spr_YoYo_button/Spr_YoYo_button.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_text", + "path": "objects/Obj_YoYo_text/Obj_YoYo_text.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":3,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Objects", + "path": "folders/YoYo Extensions Assets/Objects.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_YoYo_button", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_yoyo_text/Create_0.gml b/source/Steamworks_gml/objects/obj_yoyo_text/Create_0.gml new file mode 100644 index 0000000..1c575e1 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_text/Create_0.gml @@ -0,0 +1,7 @@ + +text = ""; +font = Font_YoYo_30; +color = c_white; + +halign = fa_center; +valign = fa_middle; \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_yoyo_text/Draw_0.gml b/source/Steamworks_gml/objects/obj_yoyo_text/Draw_0.gml new file mode 100644 index 0000000..2d20716 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_text/Draw_0.gml @@ -0,0 +1,8 @@ + +draw_set_valign(valign); +draw_set_halign(halign); +draw_set_font(font); +draw_set_color(color); + +draw_text(x, y, text); + diff --git a/source/Steamworks_gml/objects/obj_yoyo_text/Obj_Yoyo_text.yy b/source/Steamworks_gml/objects/obj_yoyo_text/Obj_Yoyo_text.yy new file mode 100644 index 0000000..3e7e303 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_text/Obj_Yoyo_text.yy @@ -0,0 +1,35 @@ +{ + "spriteId": null, + "solid": false, + "visible": true, + "managed": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": null, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":0,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Objects", + "path": "folders/YoYo Extensions Assets/Objects.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_YoYo_text", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/objects/obj_yoyo_textbox/Draw_0.gml b/source/Steamworks_gml/objects/obj_yoyo_textbox/Draw_0.gml new file mode 100644 index 0000000..588b2ef --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_textbox/Draw_0.gml @@ -0,0 +1,9 @@ + +draw_set_valign(fa_top) +draw_set_halign(fa_left) +draw_set_font(font) +draw_set_color(color) + +draw_self() + +draw_text_ext(bbox_left+10,bbox_top+10,text,font_get_size(font),sprite_width-20) diff --git a/source/Steamworks_gml/objects/obj_yoyo_textbox/obj_yoyo_textbox.yy b/source/Steamworks_gml/objects/obj_yoyo_textbox/obj_yoyo_textbox.yy new file mode 100644 index 0000000..d31afc0 --- /dev/null +++ b/source/Steamworks_gml/objects/obj_yoyo_textbox/obj_yoyo_textbox.yy @@ -0,0 +1,39 @@ +{ + "spriteId": { + "name": "Spr_YoYo_textbox", + "path": "sprites/Spr_YoYo_textbox/Spr_YoYo_textbox.yy", + }, + "solid": false, + "visible": true, + "spriteMaskId": null, + "persistent": false, + "parentObjectId": { + "name": "Obj_YoYo_text", + "path": "objects/Obj_YoYo_text/Obj_YoYo_text.yy", + }, + "physicsObject": false, + "physicsSensor": false, + "physicsShape": 1, + "physicsGroup": 1, + "physicsDensity": 0.5, + "physicsRestitution": 0.1, + "physicsLinearDamping": 0.1, + "physicsAngularDamping": 0.1, + "physicsFriction": 0.2, + "physicsStartAwake": true, + "physicsKinematic": false, + "physicsShapePoints": [], + "eventList": [ + {"isDnD":false,"eventNum":0,"eventType":8,"collisionObjectId":null,"resourceVersion":"1.0","name":"","tags":[],"resourceType":"GMEvent",}, + ], + "properties": [], + "overriddenProperties": [], + "parent": { + "name": "Objects", + "path": "folders/YoYo Extensions Assets/Objects.yy", + }, + "resourceVersion": "1.0", + "name": "Obj_YoYo_textbox", + "tags": [], + "resourceType": "GMObject", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/amazonfire/icons/hdpi.png b/source/Steamworks_gml/options/amazonfire/icons/hdpi.png new file mode 100644 index 0000000000000000000000000000000000000000..98d791660aca8285e2b0c68b548629348803dc7b GIT binary patch literal 2081 zcmV++2;TRJP)&BZNiCy zA4}TD`^tC`RYFLPFfFD?1VQ~+wxR?XECG@hNt+p15_B8OcEs2~g&=7YTQq|uK}-x{ z1ZK8qCCG=x!NQOPLX(YJ2{Jo508KWkAqe_S7A=Vy2*tK5CCGy%N8vkW0+8dzl1ux7 z5`ykysa9%{2?69dvDDB+rX>hi|38pJ0OU}45)DBdjiMz8$dhcHL_?72D&*eYUbJJ! zj)<_Tswy-zG^A9OY~J)5tZD|w#h-K-92^YaA3AghwYIi0NjDxrrsxF95hI3{mKI(t z7Ha4BVp%TsARa+WlAP%G=jP^+!y%g$QE~vLEn-^9Ay~F-8Lvx$H$^~{FOQXWRa z2?0_hQ6OT%Pe@S0=5@88vT|`cJ1Hp%1%pA^_(CrcBZ<7RvA%29uA%+= z_lpt_t)bWJl~cj5yAgs6B_|PRY;2T#cKY;bbolULITif6n`w%eo)GgYDVTyFR>KM* zE?>SZ`RwG$lhk^EAlOKtbgi5j4jecj8)sx>1eKPSD$;xK;6eVHnwlE(Y<_;8R?RRF z^o6378RP2JtCG)ha&nNz<3VL*Wvac5w1g`0B@mRXMS~W|W!mj_tLhnR>;nm5Gpr8k z?(U|F_w3m-l$V#s-_wvJBu6Z+Qt}KVsJ_0QD&E?)Yf(*24RSi2{BN-lJG4sBAryjD z#czuq7!Z=9T*RP|m;N(yh| z_3PKs-o1N8exIt6K7RZ-F95Y(Wdu1aN`T^4jAXQ-p#k;u^w1@u zb8lkTu3f0Jvy+J~)s_qUG0|VDwzd}CyLV5$RSGdRHHFr#TgP8n!-gxc5bi@*wJ0H8 z1=FJ{*2h%=>J_M85{#g&v9ZyKo6apPv_+ExE1Iyf34n1G3>{cNzdoDwsjZ`GNsabAOic6O+g{MaW&!0aJ&;OVKp9o4y@>@AByrP(u zmBnA7sZKw-U>VkwzdJ<+uKo7Qxla9 zQ29rDi&&W6m|d{nl(DTLtz0g#iKnaSTzPfts}196C_2;-T;d;F8K zTkv>56Tf=(YAT(%xw+v%C=iyPpO3P$v-#gJF9TcUV3*kL-Mjg)hWIv{?s zNCTlKq~^*ceL9fj@TH=8*$PS6v4mw_$T*DL0XJ^k-~}LTp@g1y>eMO2Tdz4TMfpbZ znHS>@@D3WRS+fRBOiY9`N(eZA{yaaQ4dG|co<;li?TdKt%$YO%0M_W@HS3;Gw~-u* z4ip(0z)n;kVsvyg9Cqy3FcW{Xs-c`kB_rC4)yQkYj^SI*^17Lm6Vi-h8tbq5R7_WQXMa)@^8-fF880;4rl3S z8C1s@&5n_mZ=7h(%k)SlLT_Hy{2lbU%k%S=^y$Ol@d*ztIRHg9B5^IOI5eAkYIW3H@8AJxn7bZt-~7k` zlSK$--Ppj`U)z5hLny1Jp}#uQV#t38Ij2MY)6O19o7oBt^M3x6vwQ2Wyk?vKyPZ3A zIYHEQ^QIpKgOC>U50kio5H`50t7|cloMPAaTPm3TAzSC4t_MNS7}+bBun(cjNHORc z-PF4X+vGU2b`fp1zE%Q|APjmKQ?=L?;4ZWKc{u7=q2XOuaMd`m#R77=Z00000 LNkvXXu0mjfi`w1^ literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/amazonfire/icons/ldpi.png b/source/Steamworks_gml/options/amazonfire/icons/ldpi.png new file mode 100644 index 0000000000000000000000000000000000000000..a35dfb9bfa0c34035fc5fa7cc07e8e576dc92c17 GIT binary patch literal 689 zcmV;i0#5yjP)njM!937cwKe-p2F%t?q3Mn~yy8Hne32!%paV~kcL5`pb@EB;?B z7Emk}AFx)Vv)k<+_p;ZXR`5u>i7>4789c)?Srww!iG%x zLYNWuM@%4M5Rb>7921G>RAn_X^ZEQ~jGC#@Fq6qxT1-pWUDCuX9q3Rf6kY;@jT}p= zwTw7cDivEmI-QQDjjrNKCaPAera;>5wr*QPE$m}r$2Z~Uk2lpXWWRp@5#auA_$%56 XFmwaInJ>Rd00000NkvXXu0mjf&NMm* literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/amazonfire/icons/mdpi.png b/source/Steamworks_gml/options/amazonfire/icons/mdpi.png new file mode 100644 index 0000000000000000000000000000000000000000..fc64438c4a816217e4615b7cf55d690ae765b577 GIT binary patch literal 1156 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 q{pI7To|+1IiIM!?i>cQ~<0000 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 eit7ItM*JT<;L9;wk|MSM0000(2F?(Er-viH{S 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/amazonfire/splash/portrait.png b/source/Steamworks_gml/options/amazonfire/splash/portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/amazonfire/tv_banner.png b/source/Steamworks_gml/options/amazonfire/tv_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..306e132184b3ec6542daea30718eab3fffe25faa GIT binary patch literal 8098 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 JZ;Iw2{|C21GVA~V literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/android/icons/hdpi.png b/source/Steamworks_gml/options/android/icons/hdpi.png new file mode 100644 index 0000000000000000000000000000000000000000..98d791660aca8285e2b0c68b548629348803dc7b GIT binary patch literal 2081 zcmV++2;TRJP)&BZNiCy zA4}TD`^tC`RYFLPFfFD?1VQ~+wxR?XECG@hNt+p15_B8OcEs2~g&=7YTQq|uK}-x{ z1ZK8qCCG=x!NQOPLX(YJ2{Jo508KWkAqe_S7A=Vy2*tK5CCGy%N8vkW0+8dzl1ux7 z5`ykysa9%{2?69dvDDB+rX>hi|38pJ0OU}45)DBdjiMz8$dhcHL_?72D&*eYUbJJ! zj)<_Tswy-zG^A9OY~J)5tZD|w#h-K-92^YaA3AghwYIi0NjDxrrsxF95hI3{mKI(t z7Ha4BVp%TsARa+WlAP%G=jP^+!y%g$QE~vLEn-^9Ay~F-8Lvx$H$^~{FOQXWRa z2?0_hQ6OT%Pe@S0=5@88vT|`cJ1Hp%1%pA^_(CrcBZ<7RvA%29uA%+= z_lpt_t)bWJl~cj5yAgs6B_|PRY;2T#cKY;bbolULITif6n`w%eo)GgYDVTyFR>KM* zE?>SZ`RwG$lhk^EAlOKtbgi5j4jecj8)sx>1eKPSD$;xK;6eVHnwlE(Y<_;8R?RRF z^o6378RP2JtCG)ha&nNz<3VL*Wvac5w1g`0B@mRXMS~W|W!mj_tLhnR>;nm5Gpr8k z?(U|F_w3m-l$V#s-_wvJBu6Z+Qt}KVsJ_0QD&E?)Yf(*24RSi2{BN-lJG4sBAryjD z#czuq7!Z=9T*RP|m;N(yh| z_3PKs-o1N8exIt6K7RZ-F95Y(Wdu1aN`T^4jAXQ-p#k;u^w1@u zb8lkTu3f0Jvy+J~)s_qUG0|VDwzd}CyLV5$RSGdRHHFr#TgP8n!-gxc5bi@*wJ0H8 z1=FJ{*2h%=>J_M85{#g&v9ZyKo6apPv_+ExE1Iyf34n1G3>{cNzdoDwsjZ`GNsabAOic6O+g{MaW&!0aJ&;OVKp9o4y@>@AByrP(u zmBnA7sZKw-U>VkwzdJ<+uKo7Qxla9 zQ29rDi&&W6m|d{nl(DTLtz0g#iKnaSTzPfts}196C_2;-T;d;F8K zTkv>56Tf=(YAT(%xw+v%C=iyPpO3P$v-#gJF9TcUV3*kL-Mjg)hWIv{?s zNCTlKq~^*ceL9fj@TH=8*$PS6v4mw_$T*DL0XJ^k-~}LTp@g1y>eMO2Tdz4TMfpbZ znHS>@@D3WRS+fRBOiY9`N(eZA{yaaQ4dG|co<;li?TdKt%$YO%0M_W@HS3;Gw~-u* z4ip(0z)n;kVsvyg9Cqy3FcW{Xs-c`kB_rC4)yQkYj^SI*^17Lm6Vi-h8tbq5R7_WQXMa)@^8-fF880;4rl3S z8C1s@&5n_mZ=7h(%k)SlLT_Hy{2lbU%k%S=^y$Ol@d*ztIRHg9B5^IOI5eAkYIW3H@8AJxn7bZt-~7k` zlSK$--Ppj`U)z5hLny1Jp}#uQV#t38Ij2MY)6O19o7oBt^M3x6vwQ2Wyk?vKyPZ3A zIYHEQ^QIpKgOC>U50kio5H`50t7|cloMPAaTPm3TAzSC4t_MNS7}+bBun(cjNHORc z-PF4X+vGU2b`fp1zE%Q|APjmKQ?=L?;4ZWKc{u7=q2XOuaMd`m#R77=Z00000 LNkvXXu0mjfi`w1^ literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/android/icons/ldpi.png b/source/Steamworks_gml/options/android/icons/ldpi.png new file mode 100644 index 0000000000000000000000000000000000000000..a35dfb9bfa0c34035fc5fa7cc07e8e576dc92c17 GIT binary patch literal 689 zcmV;i0#5yjP)njM!937cwKe-p2F%t?q3Mn~yy8Hne32!%paV~kcL5`pb@EB;?B z7Emk}AFx)Vv)k<+_p;ZXR`5u>i7>4789c)?Srww!iG%x zLYNWuM@%4M5Rb>7921G>RAn_X^ZEQ~jGC#@Fq6qxT1-pWUDCuX9q3Rf6kY;@jT}p= zwTw7cDivEmI-QQDjjrNKCaPAera;>5wr*QPE$m}r$2Z~Uk2lpXWWRp@5#auA_$%56 XFmwaInJ>Rd00000NkvXXu0mjf&NMm* literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/android/icons/mdpi.png b/source/Steamworks_gml/options/android/icons/mdpi.png new file mode 100644 index 0000000000000000000000000000000000000000..fc64438c4a816217e4615b7cf55d690ae765b577 GIT binary patch literal 1156 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 q{pI7To|+1IiIM!?i>cQ~<0000 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 eit7ItM*JT<;L9;wk|MSM0000(2F?(Er-viH{S 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/android/splash/portrait.png b/source/Steamworks_gml/options/android/splash/portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/android/tv_banner.png b/source/Steamworks_gml/options/android/tv_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..306e132184b3ec6542daea30718eab3fffe25faa GIT binary patch literal 8098 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 JZ;Iw2{|C21GVA~V literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/html5/fav.ico b/source/Steamworks_gml/options/html5/fav.ico new file mode 100644 index 0000000000000000000000000000000000000000..8c645f0d9c6a9747989a6a9f2e5eed9cd3e541ff GIT binary patch literal 270398 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/icons/app/ipad_152.png b/source/Steamworks_gml/options/ios/icons/app/ipad_152.png new file mode 100644 index 0000000000000000000000000000000000000000..61b12af7f2e781b77751d6a79116b5e2a748c593 GIT binary patch literal 5776 zcmV;B7H{c^P)1^@s67{VYS000(ONkl zd2kfP+sAu0OCW&+!hIx&fRKQ|ix3n7ULa~I2wEjbl_z+VS}NWae|qDIC0=-2Dj*;N zu>^$r2?-!c5C}&=u8<80Nytr(O?KyTztR|Xl>7EOp0fnoT;u#?D@WP{rhE-5~*F_&v5 zfjyq(u)4r7{9%Z({DbhLyU%OkceEr{6quVUwdB%d+OjuZ0mAQC!IcEAbT+Upim{Tw zumZ#|7)zvAYLSfaJ7eL}L@q5@Opg@=24TUBV2K;516a7=UZ5xU5R=~*GYbqWLEJ=B z-#`P2ZTs5P_S#`!TO={7z+jMsF*Irnk}44Hk#NsUh1mp_&y_L6gg43p2=`35ho-fUOX>N>#!9B#iG{rus83ZQ$#hK!ULvL(@S93KZ`Vv2P*?{;hAXe=%|OlbooVW6oY4?`LoedU_#?r`cbUU#uy+j zYIZVO0<$gjkp;v>#o|vxV79ozWWj<3sFmw#shJw zezs}_=2hE(XyU4?t|EDPd5S-mo}Ny&Y}wNO|CW{(GGfFCa^}n#imemBG*Rh=p;lm~ zJZNAxPM$nTh7KJ{t-em3I+4?-PxG(0ZQDj>%$Px~ZV^;HV>JRZ)RD~!U}&2-QCr7_ z>C>kZmSxHM_3O#pxpTF;OxVvlT!9(xifd+O&6-6vY}ladHRsHk!wYTn=+WfJkt4LL zhq%Ie=HUv=7MBD~O--b8XX8%yA3l7TR99D%q@*O;RfqM=!x5NiPOO-TzJ2?W^XJbS z-3*={J$mrHS(h$dNON;D&8ihYd!+(1)tNi9aK#l@kmJXX8{Lcm(3{4^#qnP$0dXDT z%9V0Ipj2SCxcs>1o_okoKmBBMGbCwjY$U^n59e31l#nehphRFtxss-=Es@RS$&;yz ztD&KRFbu=@JhV7*;soi}uOBHZE2CAVY%RzYm{)Fv(E>!UYu7GSbv*m*vt-$_WyI_C z27MnE4R5~rCRx0AaoE?w{19!X1hgQ_04rBuh;m~GBJm-VD5N-d?i?93NLd(GOw=Jp z6sOZkYHMr5>ftc)rzkR6nvf$f#OJa@DEWW~6%I5WZfk2RiI0yDyB!oo262Vdh8%&# z&}dDhFmK*G#h+QabSZi1rI)C;1wz@pc{70Y9y4v z?0J_Dg@uKR-k+G57*t%(J@*`W_uY3zfA-j8k9GL}Bab{nR;*Yd`rh5Ucawnw2lDef zxqSKMmt@hRMY7)?grFJ;CNNCmVuSoV>KHtDu#0)AdnQbO*y;|}uMZ@B(5ZeW!`(wcbCWH#N;rRLIpJl%n z8{OsQ<)S|ecYz@A?YH0ZMQn(}b+O`UPPaF74QYg%t z9SO$=heMv%aBOVgn&|4Quh!H*3>JNO&F1FjcKALPBxlc_4f%P>?$!av-NXcDuN*0| zXU`tZuL0L=|DiIJ{Y)bQe8t2B)3se5*E9vzVU^=AF!`ox8yj&tWE}Ptm>n61B1(O} zXfSTvIC9{?0o|`FLc5lH1qS1)nG>j63L}PAgeEYFz}mIsD==GJ6p`biLz{5DY&D== zOGf7^GBr}(5OTogIJ_V9WXFyjx?WEXg21qsVf%jhaLqN>kZ#?&h5h;Z`g)43k%tfv z#U${Kh=RZn2WpyujWHc?;)@ov*oY^WG$5m#sTH=se9&Spf-p)|RaMmM^}mKc zayGg300M(IUDTg_+_Y(v>N?&H18eg|Rsi~>5KQGrEDNM2$P0(*ifJ@2wDtEr?zR3gckNUx)nyUefxImb!KO0lZ=c&7j+y6 zLGPB3kf5r5^oCO6!Z0nDyY9M6RXb!bAgX&X^d>jla0B&vr%ai`?*xdsOJfMduqMY} zUJT6Tii?Xye%wY-0=lC$Q5$bn?rEWLz)pZv&^P$YW5~o-6vP721p|}# zUcGt+-OPro&U^2@C%b(wyzqkT_o~3@M0bn$2s&NRG*FE8CkcYSp*NG-cEWyT_wL=> z|Bqx1efsoiZ=c+~#iyTsntb@-hl<)J6%&Ip4Bww3Uk=KJ3m3?M0Rt3`<5pzUs8Q_? zQfm^q>``*S914HH*n|#u z{)ebNrKP1|$M>QbLQ@tYmmJq!cU}8K!7(T^#)Fp&LXH~^Hqr%e*T4V%n@>9<6^Tax zLmKuq)eh@=iwh{)ixjpWbja|f31*9DkFWxIEH*%>m8w>Rwb?CX_yUNmhu~*s#|R&J zvw)SV8uxECsP?81CX6q?{4#m_?YC7oNDC0EQYx%cq+`Ue=nFM>owwe4i!aE+D%TH5 zFLbi`m<}aYea+gyt!%swT05}hl4qqbd?N1DpMU;ItLm^Ya@A-QSY^VVX$G7v9Gx`^ zU?n6m|M%a24RL@|o9e}iATF3ep_{~Do%Qwg4O$6I0O{_8o@CObNqjsjt--_=@#CWf z1TTTxw#jI9mY0`T_3G7&dU{kT_U_%wf7RN6tAC7AV|e3@H^`DDON?%Y1Wb){$BrH4 zsi~<$^}e)Vz=dTS21GRn53rAVK^HBE55Oz!zbtHKMcmBVR< zeFcSl^wCGWyRaCT9K(CU*MkC!38TCUe8I-M{{h{|Bj!9e2kXa+YR#H8d*{!eKgH-K zDdnlBp5hC9+vOYu!%zg9vX-e`LV=C<_uqftuJMQdSjq+t8SR!{%n>D%B*k{}p%W z!x<+2Y;EoN!D^$wm>mpX{yiDK2Z4n^e z(uj^%0b3NJ(fERuUPVQP;<}Kl5grdVz}?|=ji10g?QtGoeDOuTq@|@rp~ zs3crcbdXq0NNtCBb0Pw(#|$-K!w!>Ugbo1n=FKB3SFY5ijXHu;)&6raoLJAw$_n~9 z*x14iJQCT|1%zc15f~eCHMwflD!$;f8%}kLIR{!5guj&H#EBCT?eM4`HXwM0=#q&^ zOvz^Iivxpf)jUSlJ*1G~UBPuYqwkRV;;c|V& ziWPk6*|R5q4$=&6F>;VA7{p4m#U)Lvh`4~HiabpB3o&d>FQpf%tgPgn{lJC|8_2D< z-m0_;8;jv#5-YeT-&^cwk^*B}E+oXLT!PP?JD2}DVZwxg5x_OQxp_I?-xr zZfbJIb)o9ej@YjNL2*~FUQM%V#UKK-Kk%&Z$E;zg%mAkmB-fNQ9EO<5vvFQWXSb8I zC{Lgmg5Q7to%cjFBK5F5xms=7t(itcu*#p};0F z;=}6=GG_RT29asRu*D@#bA7FJW{5UI+ag#tu8HZ|6h|5~Ng6+G+BDJBC{n&#G|0=# z<3mdN*DsbK7QXutdMH*EjU>K_uyr9dADg1g%|e9l zzyCf!U;yqjg3%T|8D8V)7dE4nnmQ0cXzkjyqP>w2v&ZPpx6Pup}eS5qDF^ErII>e zsKVh@{9Gz(G)`Prh1cPwF@a44;~cwj)EZh>721z?Mk z$_9(156hP?=TBsZ3&a!5q41VlZs859wrQdxB^T69Hq_yJn_U6eEIm}kNE(&a+y7QHu>zc&w{?^)mL9_&oXE8AJuHaS>i5H zEG`iC(c^}51<5@IC3CAv`iTw@lr30K2A+KKNxtxHX=val{Mfw4K@504pr=B-SGl_c zNE(6j2lmj|5pGsY8jFvMZ*j;#)!FuQ#V&73N{VJrB$UVm;Hd!gXJ7ZCSc2VO;Lu*jiN$2?ji4Q4lI~;lhQg>%&SFI|D+RW1B$Ex)XCrQ=#f-N+tY@ zr})6c>LH`cdN2)|9xuY`5d~KKb?esg?mkLDbirSL{Z*sZMGiG=d>Ni8jk>7C7pgjQ zxNqXn;cN`?YQDaQz023|+Pimeev%KPDYlZ(Gi}jpE8`^$IeGjT^^QT45PT<&A7fKfQ|+~KDlJZ5rPPv&CegyFF;6`uIAbBFin@+@?Vv+c^?-M1`tYR>4m zi<)gK*@WhBW49c4!A{+tfv$nv-33|c2a=L=#t-dhi_8G>P8R2q>QY_rz3!O;yj8CB zygZk8!o+lk7Op-vfxzV^FEQ0L`|54=WdiGrI zcKCA{vZY~Yt`k?zwq#dA?}Jmuj0nqH(k3{&4i@B-`btesfyu@AWIA;fV|VSUAY(IT zv?MZ3k)EYf7it{wE%`gP;9eRkE?~UC+Blf~XD8BSQ2x~Pp<`@=S$JSZo1Js=Fxzx) zw9#!5Fpa=?nu^C{?JOpJr`}#Ly3@r}qnl$T4mHIeDc_xmyq~5K7ciH=+9=D~lv>6u zILA+) zz;<$HZ{O@CUXQ8&0L?70OR%1}U0XBZirRSnjG0|x88)h?Xl~+Q|F?B>Ghta%3roQK z0ux}_IPS)BFBtcjoA0ViiD^(AV%^FVdb(B|-n=G}yAkNgEg>#o9f7sO#^!Hc(<`5Q z)g$A!?2IHwMx^ctzyhCL>CLL%m5B_pqH*ZWjs*qwAJy5J8JT$D=v@APv*&dh?5)-& z45QARVH2tkX0B-=-e%=RG@X zv(}@B!e4@TY)^|5aRT#$sm)$LtvzZ5<7kRcowPS~RN9E4j{5$3^>3IVp7L}(UvRYG zSVO_yNrd$ZlXO!GpC*wmu#RvKw&CcWYxf=9L-zUor1P+GI|q&&n>09%^iOoMJz|N+ z=^$PvlnVlUU|7b%x>-kSO)FF5ayv>~M-EiEPv>W_UaxP0qke5As`!6|9lM7CTHba5 O0000^Lxna}Tch`lXU@zVjlbl;?3p>=_nqIl zedjXcMhJzGbNEXNU)Yd_8{9VQYnDQR;x|jiqtmoVVJ@>p24M$b52R2$dR?IRAS0Ay zd8JTlfesmV5LO)j5pJ-QEP&lj@`DFY!eH=lag@gs+-&1P*q{{Bk+@_5h;77HW|$=` zVAcSe0k(q8V^{^4C5&0IgD_?Dr%vA>j1net$Ic2vc``!S$4C|c@Nl8JkU%%$AHy&Z8d=@JZ4%4khjf{-Q*DjZ#-b6RgdW4zw zih084^Pz$Qw#5!0xu&KDty;B;=5ZiPGw*tY2}2fbtSU_h@Pec}9!4bLY;XZQHgPwo6#TX3m_c z8Xry8(W6Jvo;`cy-$#xdLHqXYi+Em*w5?mWemsPQLLt?7C0WhQ&1ml2*u9Uvd-vk- z=+ProR8%CVQzH#r5AfHFKuE&Wnw&C@W+0e1Z(c-SrAFG=v11L}rX#fIc9Sg;^MPIN7!95H2Xglv*p zC@p0x(`nPDp{Gxuaha^pOtQ(y%YnEiAk1;H z{C>agedW-9`0!!0fB$}J*}Hb_($!;dFenqENg65n0|yS^xgu>wj~_pd|8p26F&rn1 zcD+kk%Mub2(E0P{(dNyYHJ?9r>{!I4Ty1_jJUnd7SmZEaMi&Q_q;1)<1&93neALp? zB0n>0)-2TC-cF?_EiKKU#S&peSZ!@BUdFWxtW6|(D%0B9%CwMp@Zdov{c;UkxpJi} zoL76-gVqub4QT9)S9=c~I>e+~wMi0X6%`eDw$B^9*6CU0n5huDeON<70~aMqOqw)_ ziyT&%%?EX-PfBy*#EEENV1QX+e}6x7S~ECt;sn~cbEj!JhDXWg&!6M}U0q#h#*7(; z((>LiqXo}Cnc1zFK7D%J&bOqb1bMw)Ru!fI&am2Iq*-wB!w7NLu3bZG)~vC;CczHV zlP6DX(dFK;W5>OdCr>WqA#C;P)tY3%Nt=S0Xtlv_egGXpE`Bw8;LN>RIFXQ z7G1r1H74F{Ed+N5+#Y-3$CGbMi|ERgEALeK{Sn(*P%}1c*nloxyl7aay|pS5w#_Az zlapfxiA$F*VUNGMx|&*!lVkxfVQ(ZP@m!XS10ar!Vz4YtL)g@*Q_-_$&up+x3u(;= z4ZYh0kxD;l#flZ^`t|F!sh7$~cUM{or)$+a3`K5&+_-Tg?ui%fCJYVfF0sJ+eO_Lk zEw<3&eIMq^@S^Yl-YF%-!I2<1%*#G<#iSC#{5Y@BfDqOY&d*s=4zfBFZr zvofjP1_9TDOk1+EvoQ%%rcA-VVQClw0cnO%lX`l3?8UY~?;+0skWC`B2Rsx*kj*bo?`YyjKIRJUry07c-^mn(9fu(3# zfPYq3SBGZLo-M~INz_UM5T$nYceU$QkhmTqYDpva&Lkq{5)7sfj5a^AH6Ji@vN3 zq#`;$O%(hm`B@MD_|2J*6+Qe@QtV0`{Q9eMVcrkdL;dfKgD4zy^mAAU45+WKM->ad z3nx)d*zLv}lo)QfR|mG4E?90}LU{F+_?k)xD_OKH+$4T^!>7Bj=gCQe!|bU zZdoGRvUv$H`15b8yd`NtTi(TN8cgtX{aS13iyD?sRBeyAv&@1|U-cpD0#pXxoHw>@o2Vz?GSJp2!o W0hl+sCO-oJ0000 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 wIbL>PXMJ61aVk^S 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 O0000 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 KMNUMnLSTYf>6%^u literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/icons/itunes/itunes_1024.png b/source/Steamworks_gml/options/ios/icons/itunes/itunes_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8ed60771d8bdf8ea0c2823dd79653b6df8b51e GIT binary patch literal 100016 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/icons/settings/ipad_29.png b/source/Steamworks_gml/options/ios/icons/settings/ipad_29.png new file mode 100644 index 0000000000000000000000000000000000000000..dcbc238c24d4c719f1a9277d43747a612fad21e9 GIT binary patch literal 450 zcmV;z0X_bSP)U5JepcgeXEwMXJz5$^|$8eJZ#NLLrx-qvrrzfR-w$poA)bl9gv=V8I4E>_&>T zUjpOtc;09{77{|}iQX*f-N1k7XF#9Nz84imL3LgK9drmIy5H|GZZ@0WhYo>5Kp2L| zaU57@fmfFo2OcNjx-QsQ;Fq8TG6s^hxzfH2U8~Q44$DbOIX=_F;V=*7IRhGS3?_O! z9^HJldr2_g_fZf8TnQ{C!+lTB=QBLCO|-x?@l=g@rmV}q2DS*LB|y8EBCrlhHu02i z+^w$w0SYfkLb5D_p=p}=4bpdUus`|cRok{b6i>F>Ef_RSgRv~j$tKV9ASvvls;UsM zs;WM5^1%wC>pIHw97e3m3BQ}1!gHtQ>vZXe%RTvtX04yNtkQQo+q1Z+ZKYwalGiW sc+p6Z)9Ezp7ex_gS_1!5k)TWZ0$IeT^rK)@B>(^b07*qoM6N<$g1OAY$N&HU literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/icons/settings/ipad_58.png b/source/Steamworks_gml/options/ios/icons/settings/ipad_58.png new file mode 100644 index 0000000000000000000000000000000000000000..588381af55f7e049393bdba81acb463261ba4b2c GIT binary patch literal 1451 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/icons/spotlight/iphone_120.png b/source/Steamworks_gml/options/ios/icons/spotlight/iphone_120.png new file mode 100644 index 0000000000000000000000000000000000000000..c14e2fa80a0375655ad512f39bac2761283697af GIT binary patch literal 4112 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 O0000 z*-sQn9LI~90S0wO20Q={JP0vDgk;%(SSRqoovaC{6A}S+4f95G`}S>g=FAz@cv)FlG|8*pyPANuHIkQ>w7D^H ze2qeac#0aR31~alEY!Wa_bC0ZZ}3X=)Hr zQWH4=SCn`yEiLHSv15|oZQHgDefsoCF>OK-B{h)}&=AKXE$7dlm;G*dco^;4wM+5( z(a}*}prWE8G(J8q8ApSN8QMq*XdCf>D_5>ao|n4eQ>RX$J9qBz$M^5wM<-976uz67 znBcFGtIbZQ6D1M}wc=!GlP;j23pHw~n1$TUy4`NocqdMr-~%8QTTaAyJWg5*Q`T70 z1+D#+W}mV^Wm_{QKR;jcyttNV8JVF;V*wWz z7bWA+m^QW*aAsyE`v(I{{gYj7qTV z{{RpWZv?U&7-by}hwS$-TX4CSpZVv{pV8*co2m0!w{9KvwIVv8G~cmEi3Q>rh7@4C zVYY19qS+P{*S>H#obf${X;TjZl5VRt6jCw7#;}reAf1gHHwwpjd3lm?#1DuNr!D%x zva&Kw@ptari9UY($RCr4nBMPw{rXi~0TpnaJ9iFUyLOFPf;7B;|6Wsk@B?nzvg=_Hmw-B zteFA6VWkx?QaU?3bzRQ_Ruw|C8PnLun!QXV%RyLMomo( z>h0|{vWNsYA_yhjyntMPG{ZG1pV>u##UU^Nz>x{_SrY6}>y}CK3vs-F;c(ao1p_idK}<^N;waaj<5-m4Bbb}J z{KFVMJw52afdfnnB(f?=vYn(DGR$}Vv>iEB~xVS0d?20`54?bxxycFi{w_jYg- zN0m+H3uA{JqBT^lz~W7JcQ({SQb#*oGC;(2M zK8-G4zASvdZ{I#%TyY-n-n|o!;X11vud*cL8R7x5oeUV&u)Il1adENmA`2YDj0XM! zckkZigBaXA!M*?R;X~m(^nG?~x=P+6#a?=Hb}mrl%O`$gv!tX1jg5^7pRu5DJ{|Di zy?F5=-txQb)BXpy)*iTABw#G=YkT3X6a*X%U%Mp1Tb zDKf6_b=Rqp!JOT@cWcUc&z?QJ5Ca1Ps&Si}o6*IK7j0?tjSLN{Rvei#I;kC#S9J(62&8KFOVRuI|()dVGp#Bv5lH) zIwUOzqvkOfUv}1qxNA8M-j)oGq zt$w`X`BVL#G1? zuHbEBANb>6jy58PN&ojCiL%fitu6SYp%2is`IP8}&<{<&M!icBroVk3bhsl=e`_}V zy=O}%q)&fuP7%*j_jAXOr3LjlC_&_si6Lj=ui@$Ep{^(5W@*Vwlu6i literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/options_ios.yy b/source/Steamworks_gml/options/ios/options_ios.yy new file mode 100644 index 0000000..9c1237a --- /dev/null +++ b/source/Steamworks_gml/options/ios/options_ios.yy @@ -0,0 +1,45 @@ +{ + "option_ios_display_name": "Made in GameMaker Studio 2", + "option_ios_bundle_name": "com.company.game", + "option_ios_version": "1.0.0.0", + "option_ios_output_dir": "~/GameMakerStudio2/iOS", + "option_ios_team_id": "", + "option_ios_orientation_portrait": true, + "option_ios_orientation_portrait_flipped": true, + "option_ios_orientation_landscape": true, + "option_ios_orientation_landscape_flipped": true, + "option_ios_devices": 2, + "option_ios_defer_home_indicator": false, + "option_ios_icon_iphone_app_120": "icons/app/iphone_120.png", + "option_ios_icon_iphone_app_180": "icons/app/iphone_180.png", + "option_ios_icon_ipad_app_76": "icons/app/ipad_76.png", + "option_ios_icon_ipad_app_152": "icons/app/ipad_152.png", + "option_ios_icon_ipad_pro_app_167": "icons/app/ipad_pro_167.png", + "option_ios_icon_iphone_notification_40": "icons/notification/iphone_40.png", + "option_ios_icon_iphone_notification_60": "icons/notification/iphone_60.png", + "option_ios_icon_ipad_notification_20": "icons/notification/ipad_20.png", + "option_ios_icon_ipad_notification_40": "icons/notification/ipad_40.png", + "option_ios_icon_iphone_spotlight_80": "icons/spotlight/iphone_80.png", + "option_ios_icon_iphone_spotlight_120": "icons/spotlight/iphone_120.png", + "option_ios_icon_ipad_spotlight_40": "icons/spotlight/ipad_40.png", + "option_ios_icon_ipad_spotlight_80": "icons/spotlight/ipad_80.png", + "option_ios_icon_iphone_settings_58": "icons/settings/iphone_58.png", + "option_ios_icon_iphone_settings_87": "icons/settings/iphone_87.png", + "option_ios_icon_ipad_settings_29": "icons/settings/ipad_29.png", + "option_ios_icon_ipad_settings_58": "icons/settings/ipad_58.png", + "option_ios_icon_itunes_artwork_1024": "icons/itunes/itunes_1024.png", + "option_ios_splashscreen_background_colour": 4278190080, + "option_ios_launchscreen_image": "splash/launchscreen.png", + "option_ios_launchscreen_image_landscape": "splash/launchscreen-landscape.png", + "option_ios_launchscreen_fill": 0, + "option_ios_interpolate_pixels": false, + "option_ios_half_ipad1_textures": false, + "option_ios_scale": 0, + "option_ios_texture_page": "2048x2048", + "option_ios_podfile_path": "${options_dir}/ios/Podfile", + "option_ios_podfile_lock_path": "${options_dir}/ios/Podfile.lock", + "resourceVersion": "1.3", + "name": "iOS", + "tags": [], + "resourceType": "GMiOSOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/ios/splash/launchscreen-landscape.png b/source/Steamworks_gml/options/ios/splash/launchscreen-landscape.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/ios/splash/launchscreen.png b/source/Steamworks_gml/options/ios/splash/launchscreen.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/linux/icons/64.png b/source/Steamworks_gml/options/linux/icons/64.png new file mode 100644 index 0000000000000000000000000000000000000000..451634c505edf0d1875c9cd49044bd8b466c5754 GIT binary patch literal 1751 zcmV;|1}OQ7P)WDQ-*zhfq}|gh<7aD!4Qi2b4%Ta0(^LDN=IJA-N@&93zrH zAgvUnhE|Hy5Yr08hpL83pnz(%g%BXv!4z!3_@nz4kGt42yR)BmrT(O0+1;5p@Auw( zyqO&f0FVZI@J>uM7UVSq!9v+lF}Y;-S_tLljfttsutpS^ZGaImb!7f`DP`0MIr)H? z{ALL@%K*QN>0|hpyp`~0u0b(*jS4erfH^TW!ajMsLC6ywbit?rbXRO54C$c901+{{ zjZ|tOH0!3-0AVqCG?uXwNM4hUS`ARl7!HpX?nC~AvcmP+gUgZ&mb2ta0EL1qAZ$4dSdF=%gZXLbh#_{l#7n+D6u%9!u&-o48u4estjU)+zm|2vAer_ z;GRcW8qkpOcw8C_usaZJZEdM_18Jj`7{FHYG?0O8a&l5rIW!~^ZES4R+6|7H!R+iTG&eWvP?sOPUc&HJ9?B|_F}j47>cc-x zO-)&0dIuvV=us5QT)A=u9zA-L_pZCU8wLjlspYilpVtM5vggmAhd>~pNf-^~<>k7| zK79C4O1#kHJmwhi;>8O?f(dqZc66830yDS7@}ReSn9)ahV8lV1W&uJ77cPem9b)F| z>FI&q-d^2G@u07-PgD0`LDw{hQC4oNu-e;J49*Ba?4vssBJ>Ji5s$@UP*r98SWjJD z9jvad8kR$cBP>)_R#uqpyjK0Oot>TV?AbHZs$<0sb~pK4WDVe`svB{}L)n9l z!^6YUvJ^pfT?|(y9JDve&wXYGlI0%+($QtVq!W3Vj;(Y!84DK@COm)s9L}9Pr@LbO zn4xrU7ZMrrhy&)2JKqadIX0Q!2fMnuq$_rhCr_Ses`S#OOOm(cO}-G`kEN=E04wy5 zqhc%Y3P+Bp3c>C{fV;0ep2YD42}dFk>HgZaYXvbtdSiw4adaOW(Y?8v!xh|T1du#_ zug7k(w6sLcgYPk)JmP-*__6I>;N9QbxOeW8Kg)MPBGxDf?3ErtZEbBfMn~d!m;s+5 zaIYReaHLYH{Yo;PCI)J2Yb%KNA+hbteMHsb?c29-?AS3?dB=|*hc|EDNS;Mw;5`Dn z1@?8~Va$`&K{O1W`mo#k%gf8u=S(*&uZAKYeORY@QmnqdK6{KsPLzg$fdROE`?l@g zUtC(*5HHlhjjc&)&%NcW4!a%Osvk~HoHzk@?%aXPmoF>kkt(#Ad?ZyFhSVaHgQ7O; zf6jVpyk4$o?bfYZQevSHb3TUL>wnBDI#AUe!C(+hojPTnRyKlX4}z;bqM)YcW+-gb z&JSE_&Cbkl<>l^>D6sx?d)QN=J|+|rp=4!v@wYK+elW2xJ?2>`DT{pe>FJ{U$;{L* zFE_-&+u|Qgq~h+WsVPH?A}cUDI*J$dI6eou=On4ZD)+pv#BDug8r&`o27mq@>onv5Q=*dKPeWcjfLqqwHu6P7jitXH{qe7N zf%we0A51#dYid{~D%SBsX7=g$>SEOG*fnLNHIgomj(qnGk>xi-CV^#fsZ3!BpIrPp tL{002ovPDHLkV1f^(LjwQ+ literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/linux/options_linux.yy b/source/Steamworks_gml/options/linux/options_linux.yy new file mode 100644 index 0000000..feea8f5 --- /dev/null +++ b/source/Steamworks_gml/options/linux/options_linux.yy @@ -0,0 +1,25 @@ +{ + "option_linux_display_name": "Made in GameMaker Studio 2", + "option_linux_version": "1.0.0.0", + "option_linux_maintainer_email": "", + "option_linux_homepage": "http://www.yoyogames.com", + "option_linux_short_desc": "", + "option_linux_long_desc": "", + "option_linux_splash_screen": "splash/splash.png", + "option_linux_display_splash": false, + "option_linux_icon": "icons/64.png", + "option_linux_start_fullscreen": false, + "option_linux_allow_fullscreen": false, + "option_linux_interpolate_pixels": false, + "option_linux_display_cursor": true, + "option_linux_sync": false, + "option_linux_resize_window": false, + "option_linux_scale": 0, + "option_linux_texture_page": "2048x2048", + "option_linux_enable_steam": false, + "option_linux_disable_sandbox": false, + "resourceVersion": "1.0", + "name": "Linux", + "tags": [], + "resourceType": "GMLinuxOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/linux/splash/splash.png b/source/Steamworks_gml/options/linux/splash/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/mac/icons/1024.png b/source/Steamworks_gml/options/mac/icons/1024.png new file mode 100644 index 0000000000000000000000000000000000000000..5e8ed60771d8bdf8ea0c2823dd79653b6df8b51e GIT binary patch literal 100016 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

tKGK#i6S8PXhJNrUF%S; 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 b?zoGuHNUE2wI1(7;7>*I$wRcf`TPF?W0=Q+ literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/mac/splash/splash.png b/source/Steamworks_gml/options/mac/splash/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/main/inherited/options_main.inherited.yy b/source/Steamworks_gml/options/main/inherited/options_main.inherited.yy new file mode 100644 index 0000000..878b0d9 --- /dev/null +++ b/source/Steamworks_gml/options/main/inherited/options_main.inherited.yy @@ -0,0 +1,8 @@ +1.0.0â†ed6a955d-5826-4f98-a450-10b414266c27â†ed6a955d-5826-4f98-a450-10b414266c27|{ + "option_game_speed": 30, + "option_gameguid": "caab8cc1-112a-417f-aa89-bf8f42e48583" +}â†1225f6b0-ac20-43bd-a82e-be73fa0b6f4f|{ + "targets": 461609314234257646 +}â†7b2c4976-1e09-44e5-8256-c527145e03bb|{ + "targets": 461609314234257646 +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/main/options_main.yy b/source/Steamworks_gml/options/main/options_main.yy new file mode 100644 index 0000000..c6e0dc5 --- /dev/null +++ b/source/Steamworks_gml/options/main/options_main.yy @@ -0,0 +1,22 @@ +{ + "option_gameguid": "caab8cc1-112a-417f-aa89-bf8f42e48583", + "option_gameid": "0", + "option_game_speed": 30, + "option_mips_for_3d_textures": false, + "option_draw_colour": 4294967295, + "option_window_colour": 255, + "option_steam_app_id": "404001", + "option_sci_usesci": false, + "option_author": "", + "option_collision_compatibility": true, + "option_copy_on_write_enabled": true, + "option_lastchanged": "13 January 2022 8:46:47", + "option_spine_licence": false, + "option_template_image": "template_image.png", + "option_template_icon": "template_icon.png", + "option_template_description": null, + "resourceVersion": "1.4", + "name": "Main", + "tags": [], + "resourceType": "GMMainOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/main/template_icon.png b/source/Steamworks_gml/options/main/template_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d2953e3e18c8df26d7f7fd70551c791adc6713 GIT binary patch literal 6874 zcmV<08YSh4P) z2XGYCAIIP2E&tU3_cD zw@&0gLB{iKFoomeco2H`>gEpweVA`~eCu6(UYlxc!4i_ow{v{!#WyG4;`o+gV1FR! zr0OOD5#vkLjBg!{=#*IqSHW)N+W@{b;9H04W@aGbzP0{c!MCk^8_G9_Aw4pPa1pGR zZy9{+L#l4@P-DBJ8GO-(Rlmj>1fwse4@&3LmLt>!o5r`{r0P-MH~6nw7JLEwRKLd5 zVLdT+O2d>;6l^)E8g&|z5WaB%zzCaC{kn`)i8;!!-Y_7P1e-&uR`nrugEY{%*6VD( zB^%WdnuLO2@d(6Yzmw4&F)^Z8#cO3*tSs0Kq-x<|=^LOk;TCmu-w#8~4aIXwCHW(?`Vq!5Xi;V#88SY)I5hpiN zu!j7>HdHX|-svq^j{)bjVT-Q!R8R515D=r|`E2w78q#fwpqF6J^R1~)=d#fsh*g(+ ztcPHcfWj7Q=!1LAT(qnOi)nzJ2qJudSeZ`!SPB-CaeK}he&C*0@-33Z!C4B{-VF#} zn1~hFqO!3RECg$q6~xALP}c%&!HNNbHZ}larRsY?Q?Oh3Hjv`+Y--V{Q6rL?no0%^ z97tR)`L``QJDYs;(MM$7ym<_J7ZiwXwf3#bUIZZBRM&l z%$++|Xdp8)lXUCWjaC=s0E6+&TUJRXmx(Nrm4fBm)4o_XdOGJpPj)~ACLxMrr9vK-a%yAnwY)C39Dp;Kc+EEq8 zuU4?8&JJRB#6^#pxpe6g>DR9x*|~Eki^D^#sx+iVu$-C`*;HW#v5M^2v4c#UIFWqv z$tNrh4-MgBD9YufMzBa4782Q<^~OqK75Vt%k4fv+t;wuevsfHnagsl!fsiV@;hpRkoQG zyAar}y7SIEHJ=ye-L-4i3Z`DlDAJS?!CEd`vl-a4XAg;r(pD$r<(FS3Z@lq_;?EsE ze3;yI*ImNv_U+q~+}vDE{m9D7A`S=j^s(69lC3Qzg0;n}klSv%ja+^8)v7-akwUCA zIC}J`Ahx);I8sj`czP6LzV6_gryiz7lo=g@jSRm_nSFBh;MvfdwVq-5iHu`)% zVMULh?c296=rQ2KfYDaX4#vfc7X=?(%G9ehIfAvts*tm1&no^5Jf`XsEA~QPdF7R$ zzY`G=LE5xwL;n5uU*X@_?t-v_iBgSdVYjgB5B6m->VjY^d^MsybLI?-U4x)yM(Y!-EmnnKD@h5k*^eGQ zI^fT-NNUoAPPqpNG9e*>96NSQ^5+;e(H|vX5e7eAiUc)G1rsc)V%vp=6@bUFQi9C` zSy;y~Qos7@tK_xUUaRvnOdrzH(nv~5itOX<-@l)9>C%N_4+R2hFPLDhXZSXl4?g%n z(eF>1G%4WESekM%7rt=ef?x&nXT*pRiq4IgF$M(eKrq2J4)QY_39z@Rgh2bCr%s)s z(Vd{cyt{n)a>?nz*s)`UT?n}h9z2+A+O&yg_X27!kYLmJmO`@!p^nm6tQ&5)LGu0a z&OSqf3=VDi^re@VWNpg=wO z<(FT`9e3PO=lx~NmXZ7JyHD0Jua^?yT3u+&W#p^lpUSAQ6I^J}Ja z=gxx9fE=bzpH61Xm_fS>(BfrrU;cu%-3V0x+r3tlY}T^?`>*~BL8VqNMr9{s zleGnFCw0>SwO&`OY1-7(m8p==sS{q*7HmGT1*?i(yLQR`-AMQy>_Nr@E#U(g31d{EJ6^zsu>%0K`7V{{jS zQKL;!uosBRY;xgDAQP(^mM&eYSo}0ePfxG&UQCSqx_~SqeEq<*Aii3#4!*Zs3hOh5 z60|d*OqnvpP{B%Z^5jX`zx(E!Z!+u&aAZKE)q>^Z+23pgnm2DQSb@|6%a|BvC89Pg zoCbmB)JjI!AAkIjR(ArxCE&l}l)#)zSCfL|Yg&N0Q_2AbrcERELTS`D$jHc`(37Ba z#D7G=+U|rhQSz7!M4(hZvuDrNU9f=?%OUZb$q+PZ*P2zp(4j+xT&Xlb4X#f={j|>e zef#!hmGxQ@WJ8o9P(*|j$lIkC5UjBJ((Q~EX2XUJ)Q*L$)>4ASY8~-Wh?8PXpsb27 zyzqje+9#fPqR#t6h71wT=bwg%Cf&Pt59m6mbj81W z_ih?plEVQAmfmJ!h=ND}7UIFQKuWLx$unps(Wni?dhp;u$)D}ryI0Y%Pz^^%ybx@2 zJp% z9@dv%en}pAplW7K{wa!GlR;R9U+%oEB<|B#Kz{dWI zFTSYT`5u1wVZj213fsXD_i$0|8;c$M9~LQm79lN|_afx{$tRzbbzX>HjZXw}%LbZS zFeJh?@}?Ud;;@dYBW4ZZ&>JJ-nUM7b0rnSrmq`pU3#ck9+ocsxT87{yqD3^VwGsA2Bhxs-b&AIZtk+i$-u zG)xm<*`b_e+0-CMRDF+SJwWY&b?erV8*jXk>T!Ga>{*kYTMei=hCBvF5p?#Bc@eTK z11t!P9C`FY{Cmv+%%d1>|M=q%p@fo_6r7_*jS`NdmFVbb&BxG!?Bym_v1llm3$r0j z=Vh}X<-}|TZn@=_nnm$@@4Y7^BbH-%yZi3Dg%U-y0t^`?eN%*D=ND|jAX76y*1KPS z{gryBi~uQluD!NSW*pOj$FUKQWQ_1e`s|8m^43DCM)1>5KMCJvD`VF1YcufJV~>&F zfB)U+ZU|6uFGL|U%&)L7mz0!5#b;Dcuy<)A4Lq^LfyoR|^@oMK+KCeuS#0|BF>i`sS8;K1DNDhMU=T+RR5WZp8@-4(2{HA$pDd?|=VOCfBT}GPu+W5SX1UBS zNIoHzfFj%&G-!~pPz^UMC)jWYZk>TDDTX*gNm)U#1qB7?`PH+jt1>9X?RJyNlP8l^ zt5yZv#)4ljB4bgb$_mVyHH*xgIn(HF7(^t$60b}W1iN} zWyoPACOu0?NYFK@nNr|bB)2MIXySnXXO&?2Z*BwB3Jn!tNz2X66<#k~xR5;k^wafz z2L7-xA0wvAOkpx+x9#gkrBF0R5G=pa4%sU*Y0@O2!4T1dk}C5;UXLexdMy? zLRC^yDYW5)44dMjE946zCnhEejvbiK-hA`TWX+m2L4O}Xmx~rH5-dYT5Jr2ea)1d` zs3cRfOHfo)bRjM-F62F#F?yz^rV6hSqZBN#4mq#joFn=>=)qfWy`?xmYv>b|K}dOD zys8oG;>C-1O_?&~dgD5!KPaw&5f@or8Z~Mp`8zOJAUA*>Db)4I<7G`MYId+{1Uqfo zv>_Yjfz(A(EV&%;eaifw!h;OpRdq`BK;$5suPMHUcq;N@;3j0QyA6mW( z$oFbTJjlQivz2fcY94Ku3AS(FzTL0|v|z!4u%1uBfFSkv@87>)@Y%%*UJFS16et(0 zjUU{Fp|$^6XBx0@;fLJ9g$o^sxq>&kmWqE?2GO*5T>CS6^k_{vs<5~-B9*5#aqx36 z?y`}i?!46*zl(U!_bDwctyu^l(iLuf;RNy(U?lYqb^i0uKUEzMdAm@9%SHjtI9`i| zml?I{3f6nRm;YO+bb^M04cJHzRNpDo`2PFv$vyYnQ|EnTxKVNquq}q21{;NV3+rf6 zYG;6-phfujm06u~p2#Z-J3W#teDlpWc84Q2^`Dc3lG#OZY`EO@Un>MXp!Ood8hfJS7on_ZT z8%I2^!GaY3x1|LeM6CWGQ5bG2@>9W4qf@8QDh!VNQrOt94d(a3KOvEkZRLs&nXzr5YR5+|I!FLVwZMY)c%pp#flSm1U2x8u54>ZvMXkH5c6B#dj&m;h>w?5FY)aD-EsO#5G+X`M{QQ zF&koBG4wJXoYC=DEo8${N(9 zLZ(Ei`6#l*NP*%b_WV^HMI{Z=2`QGPE%{+F-qJqah!#E<=V5+V5IHK9;}v-YP=*rT zPv3p_9TS0I@A!cS9*`U@zy0=G$G;M`%xf6U zo;_Pquy7_v_zEIe5%CJov6U-V3aQU&fP7qmj)nOt3JgnucrP1ul$Djh>7upV-&YoR zSaGRMNld%!CgeQx5Knl3p$eZryLayv#0s!SDvAgtm5|s?EfXe85K52+8npvCvxxOq z?dgDWib?z-Qdy`dq(yP0tf#=;IYNi3&JYlc3{t>S)}cd(%icp&1X|m+Z3XXsxhr;j z=B1Zj5?%)q9Ul3Ce%7s9H(RVKsm#w&Y&B97+U>}{6uqfsRJru(gCb+cjwLHrtf=!o zrUD2EgeR3hSo}b=0FU<>GiC^eiQ3GcKc9U5`R6sGW-!5}rKJhxWGPTj!4|7J&XhOW z#Q#sRhScRED9#;R5|wx%hLkZ)ZG`*)c;t#xfZ8C-AQHSGXI3DPQe8__1omN(Tq6+3 zjA)~r5=V3qDL$-fz*C((qwLI)m?o`d&y`h!Q8Z9>aKu%eK7Cp!XGAl1Dvn#94=n2E z+M}yF%1#}QRr^^j*nLfj={WTOrxJ)HScYtjiegzL2p0mD3w#*F1jzM) z(Ht>tHp;oc#T+3O*{a0~H0RSQIhEZ$wq1KJg7Y#Ra$o^NT6YMmzDF_kQ$=7ML!MXc zEFeED#EBG|$g?nJ%os&|z|I6BVC|`Za(oUaS9&ZvQR{K2B!D}4EYF*e&`y_Ra#&;` zZz}@*q$V692Tde9ho|lJMcg-51Br?u*te9+S9~Z%Vs|%o3D%!GT%b1@F z^$`#mYztLAx#v8ad5ush`a*3~uK&4g6Eb9FA1dK* zKC^qycJGw)#bh0FpYPTsIiw0N+emXTGrN$#=YhS2D8PQR-{)<5Fe}>@ZHQAPRxeYr z0)0vyLA06KB|W-#wWkLm$o>NdOIVMrBKpW{v~6A%(OJE7y4>V@qsw*CFX$8kgzfdtgI{?9%A;lB|t}-7`b$%a&&T(gk#n2Lxm||dE5i#SbNTK;JM$f$-u?PJBORP=8#N&w62a}-zRgR^ zMNkWd3$_Z*m9b+RY2R7peD1S<$ufWM$^Hm9v25%G!XDSear*!y4FK)l7@JKgEN!Xq#O$cvdb0hST02rlrt zwMU4nL$3`Zy0jc-hqWjJacgN=XEs#k?nX@k%UKyMCs+{=f5B6835o35fBlFKP3;ue zGFW#gf4wIs9oLF^MIcsKRp`x~0l>qLf5dY&%i1wQ%dIp@awpDlNC#S4(&Z){nv+e-2CCQT5u< zIPOTtp(6{rH*xi9#8sNISnNedq<7!>%8cACYnpMTMIHIK8W0Pw^tBL{f~^f#R+N~t zdU;|^MFUrZqL^L-cXe*tu3bVD=@doSSAMKbIp^{nE#nTmPoK;y$=KAJcq$N$iZ4=M zJ^Nu+!d|d-@KnT=>|CFcv6GOD+V8s>6h_83-yfHJt*2G9rp;T#HcW^io|uNdiU_BJ zBlW2oal#(XK`NaMe8oOz>6y|?d1niX@(Z)lU7o^o-8oN%n709kN+Kb&vZu-a0S&k= U1I_WsV*mgE07*qoM6N<$f>Ku~;{X5v literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/main/template_image.png b/source/Steamworks_gml/options/main/template_image.png new file mode 100644 index 0000000000000000000000000000000000000000..8d2e47ddd89778c81bd72b1162ea08d8fe3c3fcf GIT binary patch literal 8130 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/operagx/options_operagx.yy b/source/Steamworks_gml/options/operagx/options_operagx.yy new file mode 100644 index 0000000..62e6df9 --- /dev/null +++ b/source/Steamworks_gml/options/operagx/options_operagx.yy @@ -0,0 +1,18 @@ +{ + "option_operagx_version": "1.0.0.0", + "option_operagx_next_version": "1.0.0.0", + "option_operagx_game_name": "Steamworks", + "option_operagx_interpolate_pixels": true, + "option_operagx_scale": 0, + "option_operagx_texture_page": "2048x2048", + "option_operagx_display_cursor": true, + "option_operagx_guid": "", + "option_operagx_team_name": "", + "option_operagx_editUrl": "", + "option_operagx_internalShareUrl": "", + "option_operagx_publicShareUrl": "", + "resourceVersion": "1.0", + "name": "operagx", + "tags": [], + "resourceType": "GMOperaGXOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/ps4/options_ps4.yy b/source/Steamworks_gml/options/ps4/options_ps4.yy new file mode 100644 index 0000000..fb78bf7 --- /dev/null +++ b/source/Steamworks_gml/options/ps4/options_ps4.yy @@ -0,0 +1,36 @@ +{ + "option_ps4_package_id": "IV0002-NPXS29129_00-APP0990000000022", + "option_ps4_passcode": "GvE6xCpZxd96scOUGuLPbuLp8O800B0s", + "option_ps4_nptitleid": "", + "option_ps4_nptitlesecret": "", + "option_ps4_paramsfo": "", + "option_ps4_nptitledat": "", + "option_ps4_trophyedit": "", + "option_ps4_shareparam": "", + "option_ps4_pronunciation": "", + "option_ps4_splash_screen": "${base_options_dir}/ps4/sce_sys/pic1.png", + "option_ps4_save_data_icon": "${base_options_dir}/ps4/sce_sys/save_data.png", + "option_ps4_trophy_screen": "${base_options_dir}/ps4/sce_sys/pic0.png", + "option_ps4_interpolate_pixels": true, + "option_ps4_display_cursor": false, + "option_ps4_scale": 0, + "option_ps4_texture_page": "2048x2048", + "option_ps4_max_display_width": -1, + "option_ps4_max_display_height": -1, + "option_ps4_icon": "${base_options_dir}/ps4/sce_sys/icon0.png", + "option_ps4_shareoverlay_image": "${base_options_dir}/ps4/sce_sys/shareoverlayimage.png", + "option_ps4_nptitledat_file": "${options_dir}\\ps4\\sce_sys\\nptitle.dat", + "option_ps4_paramsfo_file": "${options_dir}\\ps4\\sce_sys\\param.sfo", + "option_ps4_trophy00trp_file": "${options_dir}\\ps4\\sce_sys\\trophy\\trophy00.trp", + "option_ps4_shareparam_file": "${options_dir}\\ps4\\sce_sys\\shareparam.json", + "option_ps4_pronunciation_file": "${options_dir}\\ps4\\sce_sys\\pronunciation.xml", + "option_ps4_pronunciation_sig": "${options_dir}\\ps4\\sce_sys\\pronunciation.sig", + "option_ps4_onion": 2048, + "option_ps4_garlic": 1024, + "option_ps4_neo_onion": 2048, + "option_ps4_neo_garlic": 1536, + "resourceVersion": "1.0", + "name": "PlayStation 4", + "tags": [], + "resourceType": "GMPS4Options", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/ps5/options_ps5.yy b/source/Steamworks_gml/options/ps5/options_ps5.yy new file mode 100644 index 0000000..cabc426 --- /dev/null +++ b/source/Steamworks_gml/options/ps5/options_ps5.yy @@ -0,0 +1,38 @@ +{ + "option_ps5_package_id": "IV0002-NPXS29129_00-APP0990000000022", + "option_ps5_passcode": "GvE6xCpZxd96scOUGuLPbuLp8O800B0s", + "option_ps5_nptitleid": "", + "option_ps5_nptitlesecret": "", + "option_ps5_sharedbinarysubconfigs": "", + "option_ps5_paramsfo": "", + "option_ps5_nptitledat": "", + "option_ps5_trophyedit": "", + "option_ps5_shareparam": "", + "option_ps5_pronunciation": "", + "option_ps5_splash_screen": "${base_options_dir}/ps5/sce_sys/pic1.png", + "option_ps5_foreground_screen": "${base_options_dir}/ps5/sce_sys/pic2.png", + "option_ps5_save_data_icon": "${base_options_dir}/ps5/sce_sys/save_data.png", + "option_ps5_trophy_screen": "${base_options_dir}/ps5/sce_sys/pic0.png", + "option_ps5_interpolate_pixels": true, + "option_ps5_display_cursor": false, + "option_ps5_scale": 0, + "option_ps5_texture_page": "2048x2048", + "option_ps5_max_display_width": -1, + "option_ps5_max_display_height": -1, + "option_ps5_icon": "${base_options_dir}/ps5/sce_sys/icon0.png", + "option_ps5_shareoverlay_image": "${base_options_dir}/ps5/sce_sys/shareoverlayimage.png", + "option_ps5_nptitledat_file": "${options_dir}\\ps5\\sce_sys\\nptitle.dat", + "option_ps5_paramsfo_file": "${options_dir}\\ps5\\sce_sys\\param.sfo", + "option_ps5_trophy00trp_file": "${options_dir}\\ps5\\sce_sys\\trophy\\trophy00.trp", + "option_ps5_shareparam_file": "${options_dir}\\ps5\\sce_sys\\shareparam.json", + "option_ps5_pronunciation_file": "${options_dir}\\ps5\\sce_sys\\pronunciation.xml", + "option_ps5_pronunciation_sig": "${options_dir}\\ps5\\sce_sys\\pronunciation.sig", + "option_ps5_onion": 2048, + "option_ps5_garlic": 1024, + "option_ps5_neo_onion": 2048, + "option_ps5_neo_garlic": 1536, + "resourceVersion": "1.0", + "name": "PlayStation 5", + "tags": [], + "resourceType": "GMPS5Options", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/switch/options_switch.yy b/source/Steamworks_gml/options/switch/options_switch.yy new file mode 100644 index 0000000..a3bd2ca --- /dev/null +++ b/source/Steamworks_gml/options/switch/options_switch.yy @@ -0,0 +1,16 @@ +{ + "option_switch_project_nmeta": "${options_dir}/switch/application.nmeta", + "option_switch_enable_nex_libraries": false, + "option_switch_interpolate_pixels": true, + "option_switch_scale": 0, + "option_switch_texture_page": "2048x2048", + "option_switch_check_nsp_publish_errors": true, + "option_switch_enable_fileaccess_checking": true, + "option_switch_splash_screen": "${base_options_dir}/switch/splash.png", + "option_switch_use_splash": false, + "option_switch_allow_debug_output": false, + "resourceVersion": "1.0", + "name": "Switch", + "tags": [], + "resourceType": "GMSwitchOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/tvos/icons/1280.png b/source/Steamworks_gml/options/tvos/icons/1280.png new file mode 100644 index 0000000000000000000000000000000000000000..58d7945afca54573d7bb94bffaed14852d8f6404 GIT binary patch literal 70903 zcmXtgcUV);^Ysl~il9;yl=89A1*Hl?B8n&o1R=D5pomCEsnQbEh++X18;JB42t9;i zs8&#V@1P)r5(GjI`R(=lzW*2>pPRkAvomMToSFCtZDu6EE6xi+kif+Y=PpAKC-^Hn z#KQ$X!ql67LJ%IhcWFZbVtUE;=U@<(K-y)Q?awMI{^Y3|~>(C^tw?b%^{aMPFN z`0?(T?A8xv!HKUq-Z!cRz)LR<&h#8B6_+4A&>y(5_Dgx;D|Xn3S)HWeQGqKF*BFkS zt-!Q;bmjcf@99SN@*r&nN%k9<#-Kkq2Q`Yv@7ME;Tdjg4jSCU_>#_FLw>{SuhV=bC zjeNX=S?xh`tYMLbWHPOqRi3)lr@F?PK~Z?X z(a)lFS7A$BHXH9fPtmL(kAxSwVQ(Xo`RcacnINt>u2}{e?7#79;j8IzEQ217r-Y5F znj>4dLp6fv$e}@9ZAGhxtE*1cQ-eFqLH34iB)uepy)hj9mh}h6`9L%>*&3^_%`X)^ zrSHar6xsU#U-W!qR8i_a8w8CB2|?iFqZ+3@Z;r4niL8ehEgz~a^bTvFZhOpGKc?>7 zNhazITIRlC-LxJM@$(%WOq~m)xB21DT-DznzV$WGhZH*4`Z&^Q8Ic-UE3%hZvN(VB zC^*g&NC<-BRS4(}1r5v`>8CPgS$@n?I}_zjk2A;IhTU#8GH9Ug2sxS0| zVY6~({4zzf?*s8H^8l?igx*w7J?j82eG=8as^+tBQ*UHfI(myS0_ z#NACX9<-DxUn4uj*MxVw>VNbu>#c3J5t>pwz3jA)muFdzXE}nKQQO;#s`-VcMDX5982sQ-7_K3eYPKrh*KFfMYo&S= z;wZu0&O5V4sVSQR$D5g28y;scQJPJp&C2A%N5F!)2JnK$Ne%j#MfthG>KM<``P{i? z?$h4hts*1gwOS40A02CMqeUW#tDfFro4XbEclEwDs3%v(D*Cf@Ba$W+ITgJ}jnCAy zKoIKtzcXi^@3tfU9xUq}c)OJ&U&MPg!H&mUcs2Jw#nEIzZL6@gLslu-g{0l(vcf;i z?-i5_@ff{ZXEi$Ss8l?-q%qAeCeO!>77}AN0H;0tD^}+Mw};2m8@20#0wkr zH&;^MF6pr?Uv;XnM>|nAX4p^lZzH(*-?jx3!RJ$0&{4M_{}v&k)F-r13gjs{ng1SZ2A!-#krnQ z1n1~x*ok2SM&8cu92y35SKtW>y!;6M-xgxnkODL`A=v=wh_gBxZ%}Ji?snm>LQ2KX z!`sgV*=MI-??~npW-368;Bz=PD;aI&H5cX~_vcvRu_Hpj8Ka-V%N$f-ELm#2+)R>R z1Rr;)+d}t`i#8y+f}ybATiiXZ%1p=ag2HymSaGE^&n4dOZe8>}Bdb%`Jy&Z%l(6$a z2&k?eJ)J%Km{)eGH#Cr7@ya+!*-A5)rh+4h)m4XWq4p3W#N*OE>NF}fzLE}zD)3+q z^l7e*_B<(af}l794m`jM>dl8y1`j7IV|it*y0c?4rpkR^N#PsQQRvjrUqiH;S3{mD zc-h!hT&wLfxS4}1tV3h&2fBEPLQn=fLK=cXbTJ$9e&3=6s$S%@nfD4VH}WoFBB2+V z&U!e<5IPOT9JUfE2<4{H)9!{aM66VuRGQ2Xz(*&>c0IGqDFX)PNJ3=QNM1_e zV}db~6Yns~Inl8}RiISa^UR8H(d=uE@#Tf0uci>$M7R{RGjzlt{7EAaGN?P3UnO(# z%dK?QAspv1)7h$LBDO=P^m`tW&p`BxQ6KMa?5@mgyCPFlz|(r$Gm4Oc#=Qx2v}F%{ ztH2MT4!};4@)3N!%tBxZ7_$hKn#{$wQj9)z4h3brWZSZ?%&eW27`DGI!~bJ#-fF+? zyDhh!0(J;}48DMG`i^wWs46Fpcl)(n&bB48I7+mD=QdgFnv~ydv=4E!8bW z0U@%NmQbX?!}x&rY=EHa`(fMlXDLXV3U*82FxxYxwF*ot#JOqicy6Yn4YIXHRFWr$ zEhH7|ugq~jNy&=q@*Z&9^Lqfg$LZ1N*&em0e3U6|TPEF+MtvVVarbe+7MaNfn|ZBn zZhV3~U5bkW;G?P<(;M;>IE>}L{XPhv&Yoh?HZrvqX|q~&29vQn?-V1UbK_U$hc5F$ zj-1xDC^An-w?Q)`AmZ*ho{G2%_9_3*)KxPvbYni7@a|so?np-^^{rlsu!0pth*qd7 z`Z>0WE8kA)Fm8|mANx)KM~Mv$A(8#O&3!vGHZ1F%Z1{Y~Wdpp-bI-T;q=z%R`NND4WaWg{NQ3g!PY`o32%B+ z(1i3ca||vtouu_U^cP9tP{BIeg%=GdLiizNE6xJSVrV>Fizwd^s&`qcUgyg_7>)PB zca&*l6Ru@9Jx@8k_KQn2D@c>F$V}Aghhj_x4+aR>+TbySk4*;2b?%~}&xi_WLAjMs zLk#%d(fc6C@g1pJU9(CKWXpX!-l7F#jMBvi32lNX`EO2pd|YH!EW_A1qr}f=&`^3g zZJuw4?75e@pcD=`g$pGYY$&WZ+icHl`MdG?rW}|?q{Pefcd^He_ykhgWI-@oXv zwc?>D0C(Wxz@=`v7e$9|yAyBJJgPai@$7b<&!-3kDs>uh{^ihRMRvX4Z?BIx6+L*= z1=1Er6hPoz2ynd5rJW=X$_;?jv$sRl@`(o&cA)FeCB4chXhaSX#TgYUnAVHry#H|( z0iikI%^fipQLUQDtFaXkE%@dhla+O2X-W*$GZScr!HMrqi;VId3T-wx8X(JOb3Yf) z1xcUz_bsEBC%V~9dPlpqh>x*9pFFC8nqJ;TQAKGQ=x$t|5a!W=lP7FMF}mUF;VjUw6ue0MLW&$l_QbJRSMk$gBH?=!BC<*pC2{#mUz?)#x)s45S z#*#%hwWda^(zcZ9rJ#?xR5K#dLw9f=$8o<|4L%z}poVRPrRV1XU^aI+lIl_| zJ}0x)8v2mR{iu{$!dR?_2&5gt%cdbheM$hEBqb#5JRro>Z9_-zq9ADZKS$&?62Wzg za)sp>8@^N&*`E0+4_+qx;EH*-!5Kl!NMMO)3@I z&b6a%S_>2{9*g&^f#Udq)A6T`na_&~bC?yQWpcjPW6leKjfKH@I5s>(q~D-e+fHB1 zl*HXr`Z#k07-OPsmLyrhU%IGz%xO;!;y-2Ova2b)5)eN4pDA|cgFLI}bG0q*ZPxo> z#KG1+rS&>75C>^JTzrMCCQ6qads}-?TuDbj>ss)|ZdY&P1*yed5*HmAn801VKcE!# zX>#RrEW5Imd#!sarg4v`0%tB42jr{*KR=gBL~0}^yUTFQd8N{=^wQHfAmitfKXNqg zJvcGLz@AAN`IYk@y767eJQq~=59~TIB?l^F=atmo^d=e;FF+|}^1m$;xu`yQrj3{R zmrR+01{tl<5a&taM!KeFob3)&Q;R|@}73}$fQ0IFeEAS-G0m83kJ*qdd%@Iv@PmTB#H`K}w z#f8FFQR=%fUR9{TvZ`!vXh_s-Ktgp<9c%o0+BDCr9@|JIs~5BOs;_=Sc&o#}nKRxg z>2EQ!u74XYT#gec2@IrC+yaMY#yOLq;BOjFU$FLf$q|O6T|?42pbLqnq6#|!dL}jz zx|QAEDi-)4xzkjqjyNGg)ben`gtZBu;0Kz~kQfAU!*n`Ml(>nV=yBkCCFapnFl+0u z#t9v{DEO8*L~}`<|8$yig{;?k7xw)4)39O0y>87a^I>qrkJH!2?E&%noW^aIuy^QF zLu1YXA5u_WG*;wqIVXr-_`vZe8Ee>uo`ZZMcw!A2xkfBbw|{`!Y30UMPnEdIH43_x#`Y~v2foytzlwNUOKpqnlcE#_n!l6 z3@U$obUF4YXH=t-6?X9kFNF43aW>X-AFR~)Ny_yJ49d&J2L1;ufRBKY)tJzr&)CGy z^{`Pw0Y74gQsQS2m`v`D-7mo&U}HUds!IANh@H|2aKMuqka z0;m}3*F9w5RHq>-dBfuKZs_4NU_qh81|){*-sH>8huIgHzQ6-&?ri$id&*X&wb!m1 z7ZDM=5D2Ip-odqwSEKTkv3kmvtTNnyQ_c&sd4#;;y8EMCwT+m3;s-Az1m`npQR)Hk zrz+DAnpbO3C%YlH4G>)5N~O@#%9-LX}N zA?QUaH#UJMUkJ@^aKrv>K;a0U3>yJ`1NNuSCCwy;Xu&p3;5l(8;ean55Wj40$E0D8 z-#tov-S|y?TURTPzGC3&0?m&FWHVJJ)C73t+a;5;0RWoX*i{%+7@nLO{7WVN8V}!b zfYZ<;m>nIth{1UdC(QQfP(rJ_n|O90X!7DHE8tK?EI}cJ{Hbm2`|&2X>@y3T(jb_Lf(WRVe}F+-i$% z2&x;LsqgdSi$G{dUoR!l6ZyZgLBhhoaw%~^)#UF6zUdl1jNrV=Ta$pA2d8mg*HZ#` za6^W}s?dROFPy~z33I?tqlI^7Oq(S{6W+}>`5MA@j@!+J~ z930R=O?VHfIZJd`zI_7Z>8l)|+G)S1#)$(VM2`2r zdh$dc5Xv+q%Mt&}(PPfufu0|*kCh!vXdWN;ARy^op+#9x(Hm^waKhEp%_}zdXAJ=k zNV~$f!R>Mn>sv`4Asrs_aI<0pOQ`GJob{36fA0#+rs3@R!xRB^+yhSGC*4K&B@-5X z-(Zd{=e^qxwi<0oNbi=68lYAoFp`Gnt4LHHGa{8Q+ z_l6S^uta_(&rEPXPx3Iq1pb+-B$FaiV>39_Mpm*kEnkDSY) z6%I6Lq<^sp=76A8Bf+VGs_r(DyN@@;?`TE&-?rUQk=Xy9UNZmrdA3616Djl-1rWHA zdqjv)XJ&J^Tdaukmnrf8o*U`0f2)u)TSJr^69;<2ObWf9xC0s zs`g%-iU(0_vo^#%U@x5x~oQLxpm<@4oV(!a<*m zYT<$6EWnH79Esc5YpK1h(uV>5Lt)dGQflz*!wJ_@wTcYRD1h}qt%Z{q zhyxria%0i=C6+qu;qz~Sw%=z_rtH?{sH77-;B1rd*@pkws@zuly&9lo(81$LM^{i5 zHu%66v`|j;69;ZCd_3$)0R!GL+hNTHoX$v!xZyDH;%|EicvI!~C#*Pg)Qp1pWTXWF zioxI^9U;6Uzmk}^rCmqbJfQ``>||aODN59!uHPq+?04ubkby756=;WBHDS@bH!@KA z5BVS{!Y&GmFUyQM4DMrNgD&6IdJ4rI=VjffB)605zszcbYuuf5s%xKL8lm)pV7ja{ zl)>eD5FxD>Fl=L5p(XJO*eGS)!;S~xL{UAM@y22o50qP%Xars0Cg7@q(ihEtR?KVw zAi36dAR`uQsr24-#l-*x$=%`rF1V>aA4~+hiJl`?3?d-N)y(brh-ix}F9IX-EzlW~ zy9z%w(6wyN?aA1-T<<-y5ClQc>7^`gcGUQ)aGo6hCj)P8UiQ=d#m^2Mg`?d#T7g9z4s9mwh;GvS{6Mwso}%_x(t)_- z8-o=Q=1nQ0?NBatmZ=_!3(`{ZJuzO6ySFZ2) zreAkE?<8QnP@I`gW6qNAL+rj`@whFw7EMTK4_NC{_M$Hl>-ZGjS4MKn$)`iKtK&L; zPLu@Lo#Icip`eGJPr(&DEgckx-}Q|v$=x30Z<0H3oh%ryU16Dj!eTOc_or8)MApq0 zKzc1X=a$&w<6W+L$X3Sr7q|iZNkag+x4g>ygbHS@%_+1`!$8bK{TJ}%RD(g`uNhIU zd+HAXF_JsW0d6#WQ28KUV>|r~R^%Vb$H^rH22Azqa{L~bg@oaK3-_8)ZrD#pr+cct z`u7N0Se!QvD@cnt-AEcazqJpN69;>jlf-QQ^!FqX*i}0h!TV0R`;6-pvDH2Mx-7VU3QRlFL ze_p{~yfE~S8h`H)dE+knAz(Jeq|_4tw%@U)XuPle{%2pVJ3|+E5Yo^QqgS}nVPcUG zw3Gn0RTSNFUgxlPx!;WrbX*l|`2(L5Euaez6j-7ah zT)BhgAHOG}m?-7EbE&(P)C4=)6Hpl78~SKHSkX-uL*t4Q;7z$c!&N;Q7x&dBXnK46 zOwd?H7C6<`u-152#I=0paAxDlJJcOr=6ikGpOw*tLu?BwP`qPx(8ieW*6O@|-{8kP zrC<*&J^6Mn-QC@+&5EFT``Q({@ZOl6;5?hca!j5zbGEkKh#AKDxbAAl0b@6L0nYY* zV=7`Mn;(jPq?H5tt%H2kN@DncqB0WB(8llX>SGq>HL&?l@XA&Fql`+#8 zD=XXOsh=dHSjirWuam^-kRqq5hD1@K>fCTO#mP6@xc-3JjXuvp>W!DO=BqN}C9cf? zz*Nz!D<-|MQEP2oKnTmL+vMx$xmm~tMZ<8gyY)ODcjxMtHb5rAsVGlHEy;^uWIf~kMmz&9FLrwN%;Hm&hp%6F{iRW$+(d#p)*IF4&`{9 zan$SSAYXGv29ytYjVlyoab(NNbN{cpj5h1W`P#ol_x=n~5P)2bn2fR|b}jpIFL!#_ z=+@kje=GT=xqg3i#MW%RjadNIu0Fdb8o7Oy<b?*c){JlDRK93I3Kqq0eA2`B85LUI+?iDf@Fp3E>!#qhu%un zrD7JwM|CZn8uyuL*V`D5gwB#`+{W(j+BX-)Em?Hy*O!gd|4`3bY;`>4A%`*RH#yaa z|E2GH*(LW)MR%trT>c6h>hK|*fTCiTuLF1fB>lnVd)CnYW_utpY!g)Z{Xe5K(#{-F zwl6DkiPh_=S$b92mt~qbx3fj3Y%Nr`3Lb3FxE4?5<*OeRrr1|yhOK1GLViG?LyV2d zZCk1&yaA!ucJuu16e#YhcxdXQkHjTiMwexTZFiQbgl9ML6)RXfyh@)mYNOn);mmor z%9x~zrm{apWR1pZN$ct+W!_4HyiO-L{o8skbg2(a- zYns%@m(tYUv|KU92a3+pt>H@TpO%kjr+g;$`{WL#zx)e^2i~PCQh5^|>^?+euiIg6 zZN)y!11J#bZoimgk?!^T+jC8qFZ@zm`WwGrYT|anoirZ)$a5LzFYjr1cZqUBAq}u# zz+ei2#u-#W{-zvw6xk8Na5?rAW^*Pq_gKd>NxcDchM`Ul>sqpY#P&dm>tp7;FRt{@ zhp?7o<{##I8wh;f0DR!JrEI?a*8g<2yajcYtshGQ!;oe_a4YzEiO{3!#~ z8m$H@by;u%&4gQwBg599*dIAS+$EeeijXD<3(2p~_LpWSg-kqJtrv`J(+OTU7>2!2 zhexn)chtpwl??kK88U_lnGK8tQ5Zj0=PR^e1L@~&W~h0?ZGc;+`1Xy11WR){q7Mm_zl z{?^T?J&f7jSgP{5wu)OWx_{pLd;NHOVs&%2aL`n1_&3tS_FGGm?k=`YbGNb)AFBJf zxZg{V9`PM;CfuTQ0)>ivJJ0psx-T|2Bi5=%83<>P$7cR==K)8T+FV-y6+8Ip(Y|>T zr_C37tnKA;5b%B2#_`TO-meIygBO1Fa6#J=Y$&L&_JC+XTn>dlf(1!)(zsP z3M1w{HLrc*fn!iG!lP@<_23zhp_t@FnX?c29D|2lRj4a3B3N6alv);(eu>|V5{|5U zB&vYe`V1&kyd+q8J-FFFFSh-XIAr|6APJaiFtFFrE&KiLn82Bi&o<0G+v7=c`>j#= zdE+#}T*;{5(Fls(+K_)S<-yr(HEb{?tCHMB(){NJu->?u`4=C0duW6-b)F#w#jA7T z{v-u|p#Sa3vr+K``DspB#!x{~k$HVuRM~#r^A~87=&?Q5(J9sN&%1~1R9<1r|HtKI zIPieARN>8UDeo0FF9CmZox`%;O1WZ;WwByb(rUch| z+HlRV)tPH4E1?%!R=boZROD*%pe%iHsqwo0-$&-_c)P1(PCH9tiCVrNVAip^>gOEr zx)U9Dpi)Xp-2er-!V;rFcXH_G9JeQ%JKaw}v0gVK{Ow@GN_%A8SB#CLtM@?Lpw#!y z-lUqTXULrpDShN>pNrk-zMx@Mvx>_!HP}xDSA0R8G z!iWnxYJhn1Ae8^W$xl8t8#h=Mo!F>r9lb-0UMJtfM$gKs7pj^+giP$h7C9q&@0ujH z1XS^!Zf~$Fe0i&d9sLDFVZ53n6BA4)_#B!Pr7Iv(&UFqMlrPoY-;@~wV+yMH5)dCL@4bUOYp{Al zM6o+65R?tV)!M@1D!_#Nh;crrqF>K+kFUPQ<8mFV%N>LIT{S_z-})Pi^I97TEA;Lw zst=-%918Ocant#g`*qoYj|xeg9~OYlfx(s(hnb9mrrIRYtVRT6i~{Ure!#Pk+#0dq zU&AXTXLyfWu$&(LM_1FMOAe=JDHG_m<9{vhA^}VcsI{Kn7iJO?EY7hML&&YWw3iJX z1l#PeDKp7Cbt%?U8bY%b)NFd-$hXJpqIy8S=^I3hykzs>?5^6q-6*xww(xP;Y^yys z@_M4CcMMfyF1aOKXX|HR-XpAtMKC*L2;{+(p}E^Yn76@e2s~Tb3q8yMe66N;bS695 z=a6pD3X_FbZ;u}vp@t29Mef{^P<6($LVMz!H`!hvOxn-B{*p5X=gf!fPss*LR(u4P~B3bOb^j&u-rq$J$V#%ghF#E(tJtXP-{D((EUgYFm%MxSGwNyqti zW|=;w9-T`qanTd{Fw>*(>jn@0BoO*i4uU?>YwXWqkA1*T(Lr5OB+G2GpzlZD^a*GU zIRh)jP>-g_ZLZ9?^g8%ICEsjsh}`T<9*CE>yym+L$WON3<4H^`~<^?EYQx4{A zw3zXkhu#@x$NxvP%zhR)KhPa5&C3$zVw=nWEC+b|8@t&a67&9;UFnT}kYZeX`EG=s zp#AQ-&gb^|8H}{wC!VU}^9OIF);>N~qY?8_43bl%(R*Rw!q zWBzS++9{!LamVXoY9;Ude!e{~&!2pMO%s zB_RH3WH0)~O0Xdl@~xiN+?o)py$K$P2Y`PZEcvb_MtR8IXPm#kC8UsF+9kw-J0dqhPpo&J}t+l@WY|tp;;qDxKBWO@LcS zj`wg-R#prIpU+4MNUH%{xc>77Wy)^%ain)5SN}Vdh89n0Yr&oF~oyi1|tAIv0G@e%JAVFQJsp13+In zQUI9fP8B^H$#mz6grYAXHdp5dnO4pOyo9FLLtymGQWr7Gl@h#TY)j>_={uu>1b&i-uE z&|Kf1;Ior?R4kwJdu0uow`)J4%dui7A-m!x(kmYU^#TtFmFCe+{70r03o07)x5ov) zj_h7730w1VGRz`-_8zZY@wZRY_qW&Z>{&6vy|&*x1yn8krkWi!luX@TYA&W&76iPW zo9~$w&0?oK0|`|-oC6P)I42T3#h*U)6o=yEI1K@6mVx?VprCRpp>I%Lk$1V=XP6fD z*?oq1v&Pp!f2=cB%V%gh?Ar|Q%xh)rjtEbTK`pq7EnYKI4;Y3b4l?}HkWK{iO*hl5 zZj_iZQ=2s^eFtV2!;xF_LE{9mfsRZQ7vF4$$wHP#g@a`}l^-Aft6CecWV_IFjPgvK z3kOcywMKs+;j-L)adtfjv5Ws=>I|3NueCSP_bgfW6l-bS6_j1$EM@eyvHdu6F}FVuj1O@6 zeEfU98bDS)K)zziivzsF0gh|MUnQ5%N(ooNDvHgDd+w4+s>6xsGrzZZ7GfV*=4d4~ zT;#Om%`LMc1vSZM_kEX5o-2Hqt}3qKaosH`@bz#&r|D|C6!RO-J7roJI$rEIH75zc z-0vF*#*BB81WyC37>pjg(DlKsQC4L2?-wTdp1lQDtV72fCnFf$Hr_)Ow={1}oWqvh zcnToDiI|titPRUvBnjtCpsAeXr4>fe&G!Goz>Uv=6>7*{{T-oe3*NFx0WY3{VvR^7 z{uO{?H0qkL>@U3S_(d)?Fbf3At;+@S3g^P?mhUq)p z^Fs+VYchem9f}i&!|eQ;Ow}cXcV?TforU`yuW&1F zx~e9xm5RBg!rNdrE}`w0k{qN9A_|Gh0Gz3qVpF1SW!PCEvcnt~#5v1dxHU7EtCrJ} z);K)DxfkUD1mp|*08eKmS7lN(uQWm_V;;Q)^MyA&rlarfpBn{O6al5T(bsBO)Y@kk z&CAcG*I9`~Rf!MPM1)nZbePOPQEOS;myMUc>=$;`B!ZW5;yh}GK9ib&ih%d>=*)VW+(Yz3Y+Xj`npQaiykY{zUIwb4 zH<4*7ye@xQl3-)`s4xJW!o^pybY+W_DnGjZMQd(#(3c|N`>`Ds4{Rwu!`nj7#WmzAnsk?csCiE| zy;|L9#f_}loCE4Su?d-3;0gL{?@bUH5XiJ;eRDlZ6s`)4%F-1``sK)4&DsW0QGv9Y zscL*yPk-aPInZI6y}mv>R7|nb)bts;Il4WiHUA-Op;*GFqF#R`RnQKwOc&q0>*~HE zLuP=IB&xf=7zWig$X8|oqL|qG@;>h8Lhr#E!rGUa-6-+7vNq4m2GZvFLJ>%=q9$T% z0LUBjvc>0`l>5Pnc_z9mO?X9kC{mE?18(n77A^q?Q zL83~{`UJ?RvN|tU{lJjbOr0sren$=gD_+i~)w+s)DA9yD>$eQP;}vy+%$q=#o+F*h zo~=osg^fn6Z3v-lA}w@4f|%Z-0^d|b&^n3Iu(M7#py?O-`!|I6`#W~mn zbMx{01UTB~<1D2d5SPV=W_DozWR`F$#QIn1CDI z_Y;cP$w}g(n%uFfcAWq!hI~4S zGfmzM9DU<(?d$`7`R1C}y!wUJ3p%)`j=kyc92|vp@@PMZrFlN2Ha;QLcTg~(i9J=A zd23wyrXa)%irdiR-2HT+O{R z_Y@3!!g3WC|9)q*a$w5uSM4qplXYv`o+mWx+Qgv~5L{dr@uD+?={+xB`-Q^`jUW3Z~GA*yL zoF2JWt$F+Rw~`9p!opOb)%5-T{*pP$dBn`EuiS?^*>i*M-Wf<*XT+IZ?&$Imv25{o z+3AHT2(?GuXQ=P|ll|j)-cktmiX1WD5|dWYQ{Yh90Xk4qxY0oG3M*V|;IJL$i8x0(YWveZ^A#Mj#O&%H zAT~I|jIPlyPL7%BJ>IjI&uwr7=BWrcj}&*4CPlNdyC1`OB>sb5*uX2BD|VuwJieV8 zclH&o_4M+k@2jLv{BFl$%ych^WQmj49}0GM1n6PMGgb?Z0!Br)NI$=^6GbfRq}LK# zgsWa9h+PR8ciQ&?bTjAkewSS8tzxh&Z6>5br&B>b77nPM4M37QnoEV$ZuRs$@IH!Vw3|aK~t8Y&@>c0ao;9OHLsGqy3tJcR1@3Ky}bN zXhJqnJG+FzhgOi(eEtAGhd}PmJd=sw8=_rXxd^)Jw9(pHxZukrD(MQ-jIxQPQag*$ zt3VHsUkzGK9Sy^*&9oYb;Ico25?O!pFSqqq`n%PxkhArpV)Zw3k`?l4ml!TeuZVTB z$>AM>m)jXP1h5v;Z!uN0{5m@pGM7z>H_1KF=}IqN*Z!>#|G%Nvhu##dr;@{~n>Vaj z2vmJe^!tK$M4D_f7-ayGQ_$B#!Eh%65bCWq#_Zu|+6^tb^wY@GhjEVO4(c9V-*C*N z@TKoH;^=)L8c%JQY@m;Cx%bRiqabqbtUU&z@%rz0_=&o2{srBh2tt0A?qLg^PTGy; z%Y1IbSzk_x{rfS>wa)Lj*Vs^__@}yP2>oBcq&dR*wYw0ZAaQ3QxVAKzIpml zP6)VmHpCt!$Wd?2DxZB==S)khV_D16r5v zs`cJXg_DjO%qgwf17V7hat{oSnEr*EF?89VH!2h6(78=!vwy!ztzi-qy7G}r}P3bKK%w*x4~ZZ+A|>y9>-|0Jqgzrm`ZLvrdDo9Xe|OsA4X@pPjs^Kth-Y z^s8i(aVIM$xu z_3+co6YOM<6~!K#!^4431L;ucaRKwV)`$CSsQQ_hWFiXy@50t4hF3Lc5O{+gYmK0@ z5{(i3Q=_-fNPlUMCy;wYo`(*H=T>-HYle86E%(i3r-_M{)`0$e8 z6FE(R@%;b>Svm{dd2ed>p7tF%jm$`YyAr7B+9bTS{uSvHJRJB&P_{G+D2YMc7@Lh+ za}K;=s#;-FiH*HB`|_28D2u;o?9yBq)(r1CoXcKuNVsddJ)H#S%nRSsbm<>E1wCwQ z!tb;rDOuaJ7&y+oh%x;Y<2^=es1YmaQjFe6Y`NF>SEKiHqbCi; z9DgfzM*@P`2Ljd;4C5T9Nd|m&5V_6UEmB}(Z7s@JmNj+iwQ-6d(&XCgBOS{L*}-cTgwUt4-)2ITy4oYneqowIj!R{ zB8uVNhxcZd7Pi#!fywQw(maqbCy2Xi9SyN^p?3xh+C8`Sw}kv`kHOuK2`f}Y{vQSZm1$_lhUtp3)>slq5Hzk1Fc&%-9_ zZReT0cR`O0+?~x0Y(EGww3jre7i2aN|%b?3MYE81ol(p)? z>KmwF^4(fL)QGE^z%wC@KXWa!H+Oxz;9x{KR)O&zib0@ZWQ{TG#l5kuptZq-P1>^S z>nyBmXPK62SY1B5>zHZ6b?_c@3uIwd`ZIBjCVfV(c|WME9J^YduJwTA%3>5;dE&Iu zWaHKRTG?=Gs4AwQDB@e3j5WoloR{+D$pIHomoMrGKG#knV9pauZ<(a4XyX3^V`yk4 z@txFatkHg|8I+PD41EB3y#{Ij`ck6i&uG8TL9iy*gfz7}@7{q~iw*yMcqeB4P0dPX zTI2#e)T0wHJ+@_V<5B3tXA)Y^pd#%6QGjLvlz8W5zk{d=z+Hqv28~XdD%N6y?9vo6 zz--kq|LzO00tF}ksh^29U9EYv;{;rGQc!}RwM9a}JQY+PHGBPlQUa%SVbWf-p1f1Y zI43*}L;@7haO3^wwlqUNxHzf3LZV@h6ucueA(Nh08;z@@gg7!y5hS*}M4zhf zQ?1FqaJvSmvM2tw<`K^d`~V0P9Rb?TrrXORk0X%`RRAozcIZ-jv(<`qC3^kbeh)i7 z@vMXP!j07ZJ@1mCIoYIJOfiTz=L$76Xz9D`R^&~)RQ>C*rv@k9@h`v+no{;pVQ&Tu$*rD;q)n_cdkURue+aPNYTrs@PO9Mk zTH+rYVy@HDb3EfNh&gggf}o{y<{-ZU%oq+@7r z*U-^(O5Cr#qV%s%(sM@HVXVq;$apuvhm4s8AVQ8DBmWaqGl8J437Ri`gK{~rr{}!~ z&0XcDKb>SF0p$8(G;*%+<$qK&otY!JLpyNMAtn8?3}l^t0I4p8)YXJ!-uEJUVXI}J z4(b2b+{`>U?UgU~pkW0{}!IH06j5?4c)&sCrvneki$b}WSjGwx<_;}<~@ zTdQQarwGRXM8gy(4MgxdYO`}gM;EN2>msnPOyAlvpy-GfYCvc-?|$_n18P;t1Uw%I zQlG}(*7VV8crZxB#^HJ8%=f4KpJ5%Cc+HnIA79=V&}r8B z+33msGm!0R9Yw9uHol_LTmD=qwh+tR((;2!moz)CJ~+z{38P(IGszy^3agsDG{A#Z zn%WQ;miyvY-1b-8k)28*o8AJ)c~B9S!2$q4ho|R|y$=K=<|Ib{kEbsWgnE1bf6rJO zWQ0hzN(n^^k-}KAChMTGmdcVPYY|2z+DIiOS;H7*DcKom(QePaCE1P2I=0_)+|T#- z*S&w-J7(VRbDr}&ukFlVm(aQwftlthz!`U|@{Uj1tC!!u-rAj*ItDB-Wfx#rcOM+z zn3cX{VTd3b_cps0Ib1C zIREjsy%sDaU@63(>^-gfGg;5+dd;Q~ol76BFNaQDl_>08nJvB%Djz}7SROH19{Qq% zQR&j4dfA0@{4@OZc@^vZ?orpoRGa`LHc+%W2f=A4Qr@y>4RQu7>EUCdQCt{77~thc z^Fylr*Z9YO-ckVCcod$OscM=3*x7hnpBrk^_1Z^vqqi;LkS zcFdOEOoh#V;PSjTf+ ztnl&h{vBa}IiYDl{jkBk%oQ5b7OEd(m7oOk z9sS47k6o|btpQ2ndir!GVt?HW-4Dk_NH_%274G&VmuEBzB%Q#M!u^Nq-vrH!3I=ax z`v-F0w$E{L{L7+*J-RXC9st!`PD|#|*>1*1-Y5l$r=@ka_i8X3z?OWRsd zXTgnhwIH`6VjJVX*YEZ@=k~fO6(kK;&>5~jDc0r5vuZkU%H9E!#Ffixn!Xxuu4v<-_*$t%uKne@j`j75tb8i!6fk{$q$uvJH0 zufSzP{>tPM5EaptaXx9)dFh8NOp5misx0%L!5*;oq_FIK##5TX{y}N2?q>x|bX0BC z^ZML$440x6!L#{*6!Vh6BY1BtJf=O0OBr6hRiVOPVc0$oIt{~dUsTKxjrvR-Ypzb+ zWht6<`+L2r(HNJd!rhrWzDg84`dvE@?LNB8{me9C2^Bp$n)3=R=CcU9?Bpz8Ti%ne zn9>@9Ha{(yWh9k2bw7FO*&PXuo&#Pzi8cx(I~Mywm)KRNm3Ok0NJ^TfWSQ2}X>!Q8 z_BmIz5i^I0vmX`%Ft%#0brh`zi_a~dJZn2xmRxWqHKrS2Tg0ds6!Jcyu67(8O1ytV zu4yMXPmu~J;zG{!{2lxP_D!Vygm%kl`Ijrm0+xgReN%>2-sR`x{xZTzG7j)yNfy)q zeLnF|4I8n*V+IWv@kOBpb`i*j?cxAAWMo_ zV(0GLgZ9d`Z=Np#bG+67O(md^lm|`rlUFNOm}560!`igQP(V)N*E>z zTXL+W{~km%N@Um0DJ#aCLLj1F!a?w%N4L~`ftrgOdu}W!NqLJ@bHr(9b87*WM;J+~ zInu~T?Q7%nvNGhHh@T(YbSU6?@*~@H_K1--I*2+x+Jo5k9iGG^{P^&tmrxnLv9A|> z^l@k>`%L3kt+DV2jY@qU8^3oXzQT!agohK6qHS<`zzvT{=~j+|YeF=5bEF4g?6cEN zCekaHfUDZ)z{Xi|pKqJ44ZJwm^kt(-vsga7NOjg`bMm&EhUeTXr*c}3F{MeksGAtE zy5D>-Id?T629@`HJR3}poa~SxJyHt}I7P3jxe2wvCPrLsNy((|>9Cu7U6R@aLQsIa zmyNCa^W&sfJB&9Q7GB>nuzo~lQvnvc^S=u9Bmk`V-oJkz;i=vND1pO>yRe`EIp z0%n-lb2%#{?FBPchP%DY-~Ci_Iy6H8FuyTls)G;0Ty+^!30<1k30+2X5)`kHsTYK@ z!p7b#VD6YnH+HH%Eyya(cuMbzodaEcdosK*?;$_H&ZO;YVG&|3&3A+oe zBz&OUv_+my1m)=J`*8C;(2H^O<|(Y>5|TeU-YWlaNzf5r?J_;B=b$6Pes9vAh@r{Z zTg6XMlgGnFpBr1(_++w>;{+l|)G#3h`^2^(Q+-uXkG%^Gac-LGe;ZN~XQ^L&dBH~l zpZU1P-!AUh;+W~pk%|}6q%YtXsonyoy*D-BOsw|4AA1Zk=8| z;x)-&hQ-lQ0Hn)+GPlq4`~~-%h#SroO?b*Rq;;4pHrmfdF|fj{$mHXz zE6e3DY-muB5vl>i|Gcr)v5Kp1#rxvg~_RZk3avGCe9JgB2H|evHj#Z z@2BrO(eU^HEt;JVPYf?xE5HDiB06jw*b&@0@;PM(PWlL4Lr?V03l-4>s2B^QMbDl) z(0d-r+a!s+BAIY2CNy){+7+vZ#qVP1Qn~6llMcDld{Xj z$K}Y8Ag^F(DZg+~434cw3{IM$?Z*Sg#VxIOwd6x8H+F#N3V?lowpIUI27(k3ycQ-L z_r1rsE5W`0=&^%4C@ddxlqpwVf0`9l$FL(QI3dE$M#H!;kbfVW_64%GRzx{-Kim4J zRo4Xyy*diB`{+el@1?H1KV^=!K~c%YYO{n?pT3`oNSN#)VmDE#dvjvY>S`ARAcWV@ z73m{ZDfgUb?uU8_^k9+Ntsnh)RBnJUb+XG9gq21fkMgj5(1ukRZZK2&y4#p#2RycF zvk;#<8M`~M7C~-^4 z5HNu7?~h{nG}=u<^}HW@o{xKM0|z{GXdS%w2&}Xy=WYhCMa}9thI-%gU3C>P4i=Ae zHwDG@#HLX>Wz*7h+4z(Q1@Bpd6ZT5w?w$M);xO=p{Hk5)gNV{i!dBU>hJre*teQca zgB0FYPpkh+TD^1HRFnPj(BYxPp}FPpS681O8rt|h(N|;Dx4SiCCG66rOGzQCzkWG0 zSNor3WMq_5zR1BplGyw0EimfoMkb-xbwhr~pLz}=={4F^e2WuP($NivZf?Mc0V4RH zWCtZPwv=cuytKCFOT2uZ%Z8$O4UYbl0Xi#%Z%g}nj<7{^{wuBhzro{Ee;mGtVi?U> zPvX|CTWX6dBG}I}-d7#1WOB zC6xQp9Wc`C?7s$EQmifGo{jGAbH1o%Tn2!l7z?`_W%g$R>vJJ1CWfb?)3wEHQ`vOv z>*&=?X2nK~^uTQJzI@)!l0PqfxZb1?ND3^~pFbO#gsms4bli9MvUk2r;!P2OC1Dwf zul`z}!FQ|635Okvy24A=xOBwAKoF0Y-X>bNZFv`_q!avCH`P5^%(LO`ElCOk3HMb$ zYqd_+w|p92<-k-lMMU}r`>+UERymd9gzQRgS_Dpns@ZXWOxRm@*zF7}1&aok4atAF z;%2lE_05Ju));3xz;MUi-24I^rpjL4>~W*6Q%%YVjk5=xcQRYbbr+M|%F>Q$?;_D^ z6nsQouOxg-IeHaOvdNZi|37a^uhBsn!fFLKCfKpZPEh*GnB;Msq+W~J+d}15al7D| z;gx5clp(b4W7N&QuCv>HyOkT`%t2Eu0wG}*nhTbZKBAc!udOP8ZQQsqXm**8J4pP} zCXB|6aZ;i>bv$v8N!naCDqKs!UFPuoz4l365@ltZYQu1nyDViMJbZXIMq{PqwP$w+ zV=%E0mY0!%!JqNP9HzpdL!GY}F^)TBWD2fa!PiyMuXrnjt*;5Uf5N91>}!m-_lV@U zV#>zZ_h{`aez(lVn@Sw#$M7WKol^57CSh)9Hes%WrL86bP7pl1eCy`T@xC`#lS0B+ zuhR5=eS8itt`IPge+;zG@p6#$H{f*zCce41_Y+7H?dhvLER=Kq`{F_7XYSDbdlza7 z^-Ny94W4DH=dqDkp(&cO(>hd9vQ+;t?=fONoKnLjOf;4YxmNuIR5ntXAT$YruSxbi zbN1}oQ&rWi^6FKGKgC>a$&;vDxQ!=~J2qgtqLpSYdAa|_m|yy}gE2i26!eu3?+jNb zWUWeI*E9hr9{;e}tMJu#Rk^b@8h^_0rnMU?$GfjPnhIve<5JKUuc^$$Of`cqT`KK0 zdeb`cEzN28#5s7h&lbu>u~<|*17)~9=KS;oyTx*Fk_4*Zu{XUYp?~jFB?P97nO^_) zVU~MRiKdm<>501a{pmw7(Ir7gEGYaN(gO9}$(TNyqmKD-yjNrl4qlE5;#_(&Xo*{c z0&_6p_Mq8uS7e8RslS1d(X29~)GXzwkj>i%bo6t8LzC3kpSrKLJL2P+GiQ=6uX-Y?`%oaE@iYTsVr& zk1P`jp_Q58hPRB2i-vD`1t=EDNL#VP{LkTsh_Sj zUw0g;h?Is^wHp>O0CkF7ft3*<&$6V`%US5(_$_O#;dMx$WDxKYXC`hwIqwXpGTS+VqN%hjo1! zf`>fcSstjMN7)wNqd)yK%j`!(NRKE*8f`V>7VPeIU4AEQN{1f0JPwmyA&icTl@Ibw zu{LOmO(fE()Q@E0BygUgm2oS&aI`d?*e(a(z6b!SOS8*wH3cc<0TVwty?-?(*qqsdaXQ!XiT<{i*c*}Abmfc+Y!ca0}&b&q!7uD*N6^#S6Z7nNBWeaHi z^I-v9VhYp#-WlAY5hYB(lq2Oc+6({Srj*cA*8O(1Mf+Lq+Dn^8Xeg4?tXsD(RAKvh z8lEUt*Rt16!G-t{{GJoQ4QIT6Z?<%0^mxU^f+vy_aY#w@?{~xUV_Nj;@1db`S(1(- z559rxISpHf;V$z)n~-j{s^Nd}>;Q%-jf0%aPcIB~?7!i==0XdO2+q2ijba0~uifIL zdp8%jx4%5|Fg6ygwz{CgxmCH{yZys-;bhID;b^med6sQCDIZZI>C$}IW^+{EgG`K4 zYZ;4d|HyR*1{$TiwKyftR3LPc*eEn}bHNlQHd?2$H}-{m)f1Z8tCuf#DJ!?Ws&xU4 zDzY`AMZ)wwQR=gupRz4^c2eZ$P&dB_sri&OYu^)D?c(f(R0Y+QFAFjlb&D#KRuu-; z+FUODReilJ;Hz~XsEwH$->dl12{?)XAka@jH+(o)^c}FG9>8TbeLlcLKM1%Yoc#SM znCTleoa4Ku9<}KjA?uWa-5>15t07$#clkc^I`xA0)b~srMbF&a+;&PCGQ&xc<}_>^ z=-I58)YH{oRSTI&&lhsz~ zj!z}2w-3F>q9oxxS7m>E{_^X3Wj=N+QHqC&#N3;YrsipiEd4PiXq_x{>AzA9Zn&Vo z!h?f@fENbA5FDS8mF3GVT>H$eNKnqI4Gv7TVD5-8+T}X|mY8nbbiI95S65OJR26#u zHvE+Ff@q`I6Vsl(kq ~qHQqFeGx8Ho_WEvh*lG?rd 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/tvos/icons/400.png b/source/Steamworks_gml/options/tvos/icons/400.png new file mode 100644 index 0000000000000000000000000000000000000000..daf77a5b66740644cb1d51251235700bea3fed8b GIT binary patch literal 12144 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 O4^og(mM)Pr4*Wl5Ez^(y literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/tvos/icons/400_2x.png b/source/Steamworks_gml/options/tvos/icons/400_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed2f3b3fb1a4de68681715edf6258721635cc62 GIT binary patch literal 34589 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 Tw;BD1UEIRd`bznwJCFY#NaU`B literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/tvos/topshelf/topshelf.png b/source/Steamworks_gml/options/tvos/topshelf/topshelf.png new file mode 100644 index 0000000000000000000000000000000000000000..517a7f2cd3946ce7a30679a0776601a61b8347bb GIT binary patch literal 68672 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�@m!H5Qfs~6oj$@kS4#d-b9VRXNw)iej!-d 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

p2?vAs&gDf6#` zwz!fa)*rq>Fn0fxBn;RUhQ0G0+iP~dpfrv;mC){rYe`!DOqbO^6LL$m4H`7wfA1kX z1vpJ+UDpF5yDjRy*|)@tBLWv{W5(JSZzD?v7A&cM0Rt)sDuihXxzCP2nSWzB*5t<= zL@`lO0l)@A;?>Ry#YDxr1 zacMe4Q;NlKzNAyd+h8!Q6rjWvp#Yp@5a%%wbiaKSPdKn^Dsx?0WmG6D#nQNdNv8MVi7(aTW0# z#9-(z&zmAzzUE?2YXjm0-o1NQfM0%~MKypQzjRpF#|@^X0IpA->?<{dbofQlYf)-U zSDMZnUwiqhxvsHLwJ{NQkN*_RY`s$aWq#S)FF>(DFJ4NU;x)0Lfto%#7G=!Ak;{9JQpNiMwS@wUCGjajVfpb|{No%%IXgW+9_7*9e&ee+=4vCaBs+q9{(|35 zaT@zY)T-cOGA8Xc5p!@q^z2OTr%bn#KSC}8JyQ->y~B2F{s~xqq&D@;wQ|t3;K{<= z1un$xt)*B#gLQ;s>YjXGmW63GKtDPA$Jp7PiRQ$qD*#3pu7!{fCqOD$8T%!9hYM>- zoKDkUobIx5`q7E_aV6m?DJc>eKVa-I9C67V*$m2z-3b$VZ@#P!c-9%>*I{C$>wp?w zgDr}Cq!CObv}>0vqAai_;=|@T;E_zHa?5i9LnHJLT&q1kc-d0s2tP1=_E7zIH-&Pk ztnIPrrIFCv$ah)EVDfhkQ_mT6jZUB2c#}JVo^oI<{By<&+8n5w4Fh{&I8K7 z;QP;d(TN@lmjhlgk=c@^)Z_{6Iey8G3;@iAjtf>BGfc z7bFq3vM6g|aod*51t<%qp%wVYci#a3XgUkoJ3`>V0HCRjcw_(?0n2Zfs%J)pB>?fC zQ*l0krrmg?yKP&AG5tp2Xdi$lk@Q4JK)~W8H>yKE1?8@$CRPE#lii)|Fh)Xx8klzoW1P%m8<4*a`nnNq%I9n&jk=d0ur=1v9W7hA|Q@l zAb>0n4e`My_4RQn9a#Lkk+h`*kz_PDaY#Wyur*2+N!_+(Xh}&@r1UKCwUY>W~d(p=nxyp z^L5Lmr&|I4WSy$TO6Bf+l8XW9EaM!dH%SE+K(wXuZpAxzqSgnDsSU5yoIj#+_0#do zM_&|)ocD&=ByELLX{iVI9mzG|L)g<6jkP}A2puNWJ)5&q(s@Plx>I@ah4 zqY8)*U%|Va`YXHy;7%weuHs+?O*!1CfvlccFe7-ayL2&S{x!n$uc2FYld{#w2+p-yr6)^ z>RG6Ui7wJdUIZb1ISa-oS;jK}d9?10=*~`|8NQmDwBSv%sTre3;t8Wj{zrb}1oN`J@?g!_-+yg|N}xvCTESian4WnQ01 z6HVXc(JgtA8lOe6LPc4I{!tyEj5;sC_-$kWbBcKr(eej6K5?a9EU2le3FCgsMMsj^ zXvWS&UzGF)nr4kqxir9lpGhu1{;5JaSj<%?xqRs_GykTL%Q^&Rb6=hBU9qh0Rgscz z1KwZw`RlHsYoe+s4Cn;9n-fD;@0=Q>tE<+q96jx}(GMVD7*$Q)AhIp?Ks)F?W|egQ zN4_R}4;SuEAoV~Q5)&KicpUQqC+j#@2@~8~ez5y=10{9~#z0e_K&Kh#Fe|O>Lew10 z=P6LGO{T=kjrZ=cNq$mAsRnn$W$)%Q5ul821JP>*J+e7mKlHLl?MpJa`BdDqbVOLs z{|dW=Ob}gB2B^Yl5*1Ax1Z(#QsRkCxf3=fO;XF80U3A0X)TwnYxB%gaIy5GPD6lJ| zMP!jc3RD9~1z_9+9PY46{i4pG;Y>A~alu^QYem(?It%8TJ?IQ_p0cuV64QRlATGP2 zrRWhQcGP!kGEP`H=&h9K<;m_>pS@LEy6a0Plm<+`p8GmJ?wX$P_B;El#&>_2HR%u^ z2ieKDzIi?osVI8yvfMga;Uh*(mdVMzC50S*Q~RXJ#WHXCT)v&{xa0lNzPI-8JvH~V$WsdA+JWYR3LkrwH8fmdu0Jv| zas-x8mniPMlx*kDd3f#GwXh^ad{SIpsj6oDaVW?GLdQg_>mG|a!$Aym8yn)=!LgFr z!1uiR-(HDN_q^*JpGPVBrruRUg{t$R;771mdv`m~3@3puSqg$<`RT#jX=(LHR~1Iq zzpxd7*^#@tMr((W7-BYicZI2`>5@CfdARdi)}xVR#(T$mf1m6+<% zCD@ljF~pW4iaHMxC^_7$WD=evaHa0Suuu0CuQ&IZPux+wDYA{_r!BNWT>Dk=LMA{yFhC?kn*jI0LEG1`f;2}jBZ zk-hz{n;y^ikKg&@`FiU0e7igM=kp%d`+8p&ozyYzsGd7;t6S^`yf~VEK)Pn>KZFrS zH>!y-SQ^|RR;Ogh_9Zl1E~2c4e~vTLAd2Y%iwpQ-j5;1Ze7MT+qSs3cU`gmV4fAS} z1<#dPyyG(848(2f6Fh4gYk*X-V!Fu}aKAR87`2l-*8A*<@sCyw=IN zlzc^*M4%=nYoy}PnQoRA>6XhQKRZHXJ#^Nd<>%+WioeHE*qJC_a7Gxh+^oLx6=mrjv$`*$k$uB<{qGmE zVLCz(L@*Crl8#h<8+l71V$W|T0c59nfmD!>VSw9gnGuhrmmoET?Bx!gMpe3c%nKL3 ztULp0+h=goX@}<*OOi%ch-YKnxSM1pUo`ALFr8tnm({nJ=66lK}bp1#ZG=3Df#T7M8pP6?T%!h zq3GEjJql*xJ<{Z;9-F*Sis$t*t6DaarnqX=K*={qtOe1cx8x}V(v)yJa$buuE26r) zdU~Fzyo_IPuy~EnLM}XqYXXGSC=^P5_~+0^j>vQ?>gUl5urepwc}_PgBg2|L8*+uD zjRyJoGGl!6$EvzQ*^P_M%6Z^$C#qPf&rdy4VCIY>B@s6W7pWk8jpv1YStlU?C-Y1mVniYRP>IOL}!0;Wu_KCAJR>X$K)z)|EqHZ+CUN^7{2Qm#dQE z;y{wnwLlU>iuXX|Ep|cqI52v_I$IY74IoCSJ-3bC!zFvI^wV98SgkxS5jMc ze)>%*QzT;^KQ@81RL-9_;sa2>GlPt7RcZe6S?p8hd1zl!VtcoUm{mLwogmo|Ri$hx z?;%lnj0qk+1e#?!+On@ffefcC4Vs?tVdwMOWbU7z>kxvV)YG%J(UMim<(O9^^t3y< z;^H*Ef$!jd4iG2QRLid)Cg%`Dp;E?^l|vrb(MU*2%6#x(p%CX0M+3(sb~}`Om%c?z zBBGF1lK>*dj}Yb`VfUx;3Lys^rDf!k1O#vjO~7-kwx_pu+%?+*6nAB~d7V3VPI>cY z@qyDclP5g;e*L<8aM4TC(ENueILS}UGH$n)b*7Up`s9-0`i=FA5VF1y;S=sxlN&VBQ8Ry;Qg zy=^UOGbdkP^$vR^Cmw9Zl3o<$Wn}?s4;8e#{-I0?^78}Ln@F`%Fli9^CB9Papgl$n z|iiS@iODxWoC9CPJN!lLBI8Z z$3zn^%?YGpb=euSdLwA}MQtMf=vZ4Sy-*jQxcb2rNBr_-ewT5*y?cf5>Mn}WL?@&P ze(z+~iFZHBh5jirO1H>9oGAMD=I8(SRmszZIyFO#`pIw{9>yLaEiIktSh-4QQdvbM zNKHCmr{4(yE?R#)_n{0&hpmC^H1YsLL04!U=0e}Y^1~=62kg5+C05(eD3 z{8Byq+n+EP5laSS^-vSR3|?zL@TKu|EvL6}FE92FjDxvX5U*9^_rQs)o z%=(G2l$3!#Q!Yxh4Mwo8Ck>TzAn;LtmlEus<`5Wu@7^EUEivWjEo@9u>a;rxBHKs~ z?nS4IQ8Cv7n}w;_2J)3IdKNj@NFM4{s|2UN8Mhp;pOKbwBP!0978xx!vdpke)LuHb z;Njow+5O+S{!qcetod|1k~r~XDv<^2@bU3UsE%Mg-p++Fo(YZ6^J>zCyj(PpMR9%$ zx9`}obO8Zd&E6B6X+r}}go*WMnO%GKWWrBSh`4j>7I{{-bveGYSTDlO-Tm;Z(T>pS z50O5A+9Y;OodZpounhn~!VAGiOtrVw6u`_5tuZiPpEy7*84CU+8CmHhb(?30OQX{e- z6&>77v%BNH`?(>mK6ASvF@!x+(m*2tQp@%Ba|ZU{d?w<<3F zQ@JBu;`#I=FxSnTlo#u00?&;~t9zP3?O(qzo@Xi(RG7DaV znFkav&)}x@(9A?+Mcn&;9bnYE)yeesNbqcVlws|o9VaQ)T>17?9EjIb9}BJj zd6MWN^U}=B>vDA!%I>MN$m}I3bMUcIC3v63kiyYJFudgSd~WicBvGz{a=}9f4%lEt zQ6dvHhLD#-v7YMznUq(rYJvBWM;x~w9gsrDQ#N-lilYO*FJNPm@CLEo+a4%0mN0l^ zk*>a(8OZr_$$F(9Jad-h+zGDmOA`AilfQU^OwG+VFQ0B`vV?7PGAkw$ zjOlLESB-=6k3G7S0`;+O?ailt1gi+LH*8~L!L%9MJek;0+sQ@yXWl&3bjY@}Xj^K- zP?^n2>bpqQK?{ok;bRbtMO|HtmbxIkVipW@QHEep$O<}X)eCclpe=SX1V8JAo%04e zwu<|II!5HCzq$Xtd|HHwsEll8X5Q3(mS!O;4f8{X9-@8tv{Ftkhfj1!9q&&<->~F2 zU}^ZgNcdDMbT4Q$CCU}SJ_nWSUKb7nXR)}JyWs%_tP^Q^V-7OM;oTXgz!m+iE#** z9R&?91w}LJ`Cu7Y*;F(Wp8D~0x&p$WNZ=jCLobg)3ILkX${@S&dhI4G@^I6AFw26m z%|@4jD@(X&DRCF zix=mGxkVp6e*ANR1$4u}ML&Y_J@no^d#qx;jv3IvQLeA2_iLt^AWdmG3~^k>g*q|6Qv^M6K}ml7B%PWGGsECx` z#E2-9Y)!@4igm1&1e6W{!TAWPq7y{!K{U?~uW>arF~W%?cY(KCVnr zUbCh#>Xi%^jRUydnc*HAhT_VVE62hK;YE~jjD{-E%(YmvWcKyClQ#)&gF;K0&4#VU z3SY%=Z5k#O3HMNT<~>`vP4+UpMEf$1nXD)~lNArtq{q}<#Xq>MDqiAAm+WSHi-lA& z1EL%&Idjo?-@$_&l{eT8ajxpa=PSYX3?2xMrlzK6CMSF*H$YStFN(aAU6I^ftcjd6 zo%icrxW45WH@F2rqN`|=zE<%8r*O0gLX&&+^r|~L5-p7hi@SoC%A&5DZLSdOIrSWR zoKqhQL5!5AeiGg$*RCCwRrYO)11gmdw8w@NfFXUW*H3=Gef!p}s>Xt#9KT-JNm%b~ ziIEvo0t|v=I3V1MXypui4DIXu*zROONi6#R8O=;c_;~Jt!7U(E@HEbXo;bW+dC5X1 zDH`uwTwHwV*sN?-x~OB(20Nl+Q_t@IQULpZk5!YX#MqQRYag4H(xzq8*)e-{;DU08 z8uaphdR%@$VhY0NEm;LcVp!}X!dbZXarvVJ?$M7ciAQXt77x+S(gEX%pp7XL+PM113_eS&cxg$2hMV_v80S#5gBqg*umO5Ph3jW0XyZH zb_y_Y1&YjfU$9$hyk+XWGhGcgC*v9Vqs-QC=jf?NZ3@)-B^ z_g8}gvMgCz>bzZ%iR0UmW%RPsZ^TbzUp!FI|}G3LoaL0M=Q$90n35>o`TLpXajno!{-FWhDem3beqUd z-F)%%PJhAqaq;mznJ3k>-AV}Mi2B$v_C!b7c)hQh{Ja&H%85j!A6(JX`l0eLrMbX$8Y)i%10CPKeM^bucCvq|SU!|6+5_3Hi3b-}E_xSrEJm;m1;QUqBmzM% zFx>lD$%2WIN#ldtX-G=`$WzHWVq#l88x01P`aSdJW}l5oEr$L z!kRTWCyN1z7}H;9g?$G_1|XC@<=mm?C-SsEF~)u>I-~Ws-pg0@73Ujj^ymaGJN3F~ z@|?yPz4!_Y+dA8-ypb`;C{2b#sns-rsEi|>*UQX6s+oR>;J;h1I7CY_lK|2V6KU+P$d-=FP&JiP37#_&z^l>>QE+#>c7p}R>>Yl zcYXG0%Cw^B6Hnftv+uy{b;1eUWx^rvfe3c&rszmSGZ>{FF94y_g(DH~5mGEvB>4kgUPy1f=P zY3ud+t8OwoK&J;1V2TUMb2{KCs&Xvev{mlk&+$`}e|JWP($Tv8Uq+jSroT9I32MSL zNbODs9LrJ}35i2H zJTv7EO1vJFk=ouC7Ja$@>K#VAKjA~;et7H=jJ@@ zi@vJfQ~CJuV>FTqyE_@cVFm}jK_Gg^rh_rWcbtAFRFG(i=`UVXpDPku&&H8_m3>GI zKI^H_Z!9dhKh;0B-;Ns}Bq0`3I-Xdny6IaZ!mPyV%HBoH^CdN@VzhpN8x^;VD>VL% z5`IPhg2p$b#$Kgwn&a%;J5SUYU)-9Vi??P_;&c`2(~Tldeiagq&&u z?RJf-(jzzwVb2TA$^iG*1mk2gB%q)NeAOJuSkQjn;05*O6l_A(bmhf;9Ze7a$Mblr z&j`5fzQG6;;ca3RVz9q|+sI4y!`B9OJgGKoHFo@9X1-_r7UuL@4d$K6Qgb>#Ssq+8 zD>HMKPNU@<^3JZ=8TANfm$c`BC_a3#m6UFu*%z=Jg%5(R6An!7$S*maUAt0I;+UJ6 zQM?=!^%{R-!XdIN3k6a$^G%p21; z<&yz{#j(1AU=mMZAg9ln*cK<^R61Ww>=_QCDeiEV$LCL<0@O0@JbCjDV?k56k@NiC z`*4#DHh8|dFu9?%9}NSBDGNgL!e|MiV)Qhq=}7us#Pi3GmvzWGo1(y}XlUr-+25+k zLx}HQ5e>wWW%Yj95xu|l`0N>9ErUly_XE0f+1KR?&J~A^H=`Qi--Xg+dmeTlYSWHg zCHp^)?E$lA%K=_+!i-%a{iSDre9*CIUFYi#SF=yI-59TBjE8|=@D;;8>*;V5ERG}j zr)3+iN`HU9hk1h7^Jv{5E^JhlMJzzkWWD#8j`+fb={VZ8s0G#d`K`3ug04w*C%D-> z9DAg>dK8>_@*~VAe{}jMsohiXN8yHyNwQrLx5p9VQSdW?X^xK0rL0K^3sr@wO2=EP zbJ3K_bT_H0I-zeSixdQ(i8YO0te*<2R*gJIh2jGhTa>Fx&~FMpt&Sc}$ThV5iZGAv-rdpUd4|Y;(8IvNM z6_q@!*KNMPPzh_Zm!;5A77LhISO|JKByZ*6_|e>KM%tGmT1EV$x*{J3y}5D9Z}~J& zN~6DU_qP!f%31Kn$q%!4W&$JgWmT<*dF|sEJ@cuK;&6Z%SNTNP&6`cm{)~}w(9xtS zj>7zhbYrpwHloHGtIUeyA*B#~WFFsr@SsB=g7kL=el>Y_xfN?z_D6!Pb0D=iLZd5h z1ik9km%}QNDK3c78j>OeEH+iOdb8P?q?H0~7&XMZH1_XTa@jDhDo#@PJNURhW2R&9 zsK~VDaZHifg~i1PgG8}@q#bAsBsNSMC+0sH97&>`+*5K2D-qm`qy*A1o z4|981c!`RLn4oxuzdTe7%&H7ImS{CXm3B7H7fkgg#~UV1$(Gf>NelNR2Rc;)&0#K{ zql)>_DarNcPD{N;zazPIc7Q*d(_I$N4d`;DOrTjNKU-(4nzvq1KK3+J=hfm2d$~M2 z66ofA=%0%svf}I4!(EKYTpn8a21?;tzzRkR4u`TK?Rbzg8P@aOM~@vFt&CfpTceKs z8@`_$#ae7E)KMBDnrtlcfSml}#QU2X=({&Uy;EDDmG|lvMs##^{T4~Quk3lA1o!AN zQR2$gx!^jGpA_kt2LBeP05k82!kJ`ztpW1V(yz_8J32Td!tNPa&JkdZ_1;-S77m36 z=Gx-*k`q}tv5*dfwey?ukV{CPKZy}T@e^)t8KkF`@O);2;XC8SpHfrTjDp9}0p-VY z8Ch9DYIK2UZMM_%X@YGfju>}KuSj#2(Z!}6+4I6X_==?$VIim1eR|7(363H+JpI7I zbDTf#TXa#`F*TD+bQ~fQ`%dihdxX72cj9iS!B#C{!l+dRMyd)5udy8j><#pO%q5L8 zd@$F_eR!V=@(K{{Dm2r_Agest$dC}~WZb|J=8ycP z@%^sM%*^TS0X)R@JgkRKeYU>;IqEgY>l+`x|(%=WlC~N+I>y?3C>*1{xHe$nHX-Ve?T{?aOa!gKF!Jl zh0+-Ua_3<#6Qs5%(X;2rg&-<)X2#TbnT|0o-s$0q>Eox~xlRW(B3zsrO=2ME4rL66 zj5nV+VEVcSyQ-S+Pz}rp`R)bLz8H5}W5OjBY3NwB@>-qC44(61JGAR$ifx^6ZxfNG2 z#{cqQ0i2_8(o%2Bo_^Zg0NPL$gLLeC_bwP|;?05iX_&v7QxV6yLRxqmP!po`^CUp} zTb0D#qRC&XzH8CSrx`XgbqW8>PyV<2XLHiZE10X?@NB|yYxWEHJM223{|spO)NpuS z_wG4!=BSn>(H_*C66MXNPUZ#?qTE+_9PXAqcWV#Dn;XBQ!X{T}X=>UgP|xX?S}qgd zfrLdmf^u8c&7~Z9qcdbY=(c_PdC9LQTT2#Giz{3O8%r~AFr=vwUzB*P3|qw)Es|Nl zNxM_2v4?kB^9z|_@IM%WH=iMP0U3`;f}Awr$FZ@sm===Z165OEW@ac$>bt)g4Qg$z zMbA4sI|qhaBE06>WgCzrItBzDO?U0O0HL^HwNE~m>9*e9-$*-N$ocvnBfFY29qxRS z7wePVtb*!eMTz6^P=s$ENGS(EeV0&0jRm%|lLTG1U4IvsZ^oNMVs*n9c^LrNH~$C5 z+420&|5fta%lYfqmqv%D5^&YwvTN})D{w?0%v}Y2F9jFT{RL9OLSzlCU>H?}{q$XN~Reb$zN!7wMW?}Ed6khGus&3pIS z{7eGbM6ZQp!KeKiz(EOh!?`Cwbf6aD1{&$>BW0e{sm%TDm|-~y^XkD-bG<|g=Uc;G zmq=V8^&u7qHT-Gy!qg+^tI&6jElA{8Ksa5LLf`!p|0tdrWIy?%a(4RRg4wxfEzZua zMo{4(8*{6Bsd((@#t+XZH6_Hn~;pKM%Q)DM znx}?(q>waiEWxx4GrX@2#|WqUR(ht|j-Ot#d2E=jrT_ONsEQMU$__y2kpwT0EgL)PYyqw31k;FFb_4XCPv7IAWmn%Tl4;fcee0Z3EAu zP~cD{Wn^V{g5x;MC87lc1#1w`Ctdz*FILQ$z&O|(wSo;YcQ1dV*Vs_%p%m1SyDdgLjAjbLa0pLMf2(-qKUO6&p3I+$OnNu3UvF%*#EuXE1di(t z9NgazY}w+UWfT9?EaW+b&llS-q+_jhp8G8Rcs>(tJth+O#7UI2ve6XEp1_8&(xxnEyIIwYrhLDI*#8%r=~x zWVXIMawEbzVB21%Q8qwt$`i7X20CPef<@vQ7^Kj1-U`RD2P)(7Cl3@cAW?cd->j{o1ba!IK63Tqj&sMnpzffvr7<#6a zTRdZ`_RrpqiHJns0T#r9m+rVintbzIrqQJ^iXcfj2Mj}=JCyBrjoYqDxlfbcyt$Tx z>7Y@O{B!{@aFrhm*o%*yIa2|wPwf+gq>q#Sb%$P_mOb88$3zMmA2;Lqhn&IHQfG^w z*861|U$6|mz?}dFPI}$t6fOuCARI$HzRV0^*=K&Dl#M0mnQ9StyRkUMbPNT62lSns zK5h2wixXm}Rb3Pz>cPm!Qu2ig-$}_O`?ce1u88h0eT&)SnW1j$-_)&de*Ab$vYH^- z*14BDa+5Tg2MrVhJ;&JQ2GaK#-)zTX-$FsP9p&5UE%9O%qP$n$&U27r_ZL1POf+ww zezlsP{wx0V#kEsp<=#(!d1pY>$pp;cf97VP7!^|_Z-o~5>6>rP*~1F;V1cL zJ_~%Kw228{A=P#%B4?F?f`=7}=-|rbhcD@-i;OKoyNcel8v3iK3yKODkZ|HhpK|;6 zdvbm=5l=tJbGDVmjz=}bqYhXqu_ah9(v(Sml9*xhUoM{+ad2VwIH%H*kKBSm7e10R zIWc->q|bhGepNhTIz1(&1VFtLN*4+CT#w!-5Gj9aLu`m#9h18!<3Rk2eR&zM2m+Jv zaA=ZY#ss&v0@ES&%2^OyNVIqJ2^LKw0fb2T#eUK^O?nUsMxoA?n3i_4TTxg-ZGL}< z`S+2xFBja|@-G>xd*OfYR)nZHFYjEko8qww$MdAZ(xnCDpuOMN`Vl#yc>kWy%S_Ww zx9T@G7HhOC-b1vk2gnz-4QzR9&_mXEWvqC*N}XSfrI#t@{5UV0c|*3 zpky8cN|pvCsBg7YQ43@76RM@-aR!!_EQty>bDVN?$>XE%71GRXY0MF3IhSFb#V_palH#}QH*@aIqyJ+=_}vymje9!?&fZ) zr8%+WECb_`46-^vN_)<8eds9XS4`v7YdDf&av8ti3)g`EUIK<(fpa{_$un^ zoFOEeT9@rn3VfuIt?&>`1=BdH_$iMPe!@4A3c=s({w&PC3PLG7Z(o7csF4y4*53ro zv|gi9-H^DHTb3AO<#90fxLE~+M-hji0b#TxLVWJ@W3IV6!&1?7=ASwV7E1$t#Kpu^ zhiXx~1HTgT+O4U(Z*Izcm2%$%RwFdlJ3Fsn0DW>%_rAM&jk`lIUlYn~YXVh9=;$v; zdY`sSdWMG}@O{RG5M2ta3B{`e`dGay*o| zwL~W*fszHps~T(rK<@9TiYWNy$(csDBI?NrFRpBv44niUPt;LiR4^1t+w@mwifXgm zlAT3g2Ay(sRREPWjN0JUrS`G77}D(LM8?XkgHRb=E(Q0;9Mf`=JZiPK=n0VHz8O>s;ph|3AMvl!!Mw1NC909D_n>LcOPZ^6j?;K%5Bd6 zYxoG1Yzh)3pZaiJ8k<$dx+z?vif|Ap!yxGy$@!u|;J8X$l}$AQF;EhGuljxQMhCg( zozv_vvh&&hTuL-bXXp+7mP=GwQh+u1)7{O`wC0i%1h4#Gz$ ztpT-jeO$Z|i!Ktkzc*R1S%1_8rIyMhsu+&~<)WHYSzdzFWyHUW4xA>&)O?oS$d({1 z%zOq-5BmJ%k(&OR3*~1@6t~_4ZSmA}S)B}nj(KS3s|ZSyYFs+5z$jcNj&VXvSJwHrFu9kBW*4TXY$Jn)h+}m7DG6o!_wC&m(X} z@}XDFbjHgo>qVaImoi}+rHf361~#9?tQ}kgU&*!ugR>9cNwVgu1ZqYOlj=`Z$_ul# zv#~^T9EwaGi)Zpe+Dt~Pu%BCjRptj%3bR&AMMOm0hq5qF08hV(Z9AbD`}lF;+t$`N z6vdu|ZV1z}?qbwy*xE}{@@|KQ)*y$eg#OxSXkyYzf4}JjO=|UN7nu!`>$f|~jEzEK zc(gxyo>kor^N<=Jgun6JFJArV#hig08yOnT9VqJ-YBe+JeN|H;sqSqDRp;tc#lBKY zDunL!5h?Xn&D!CA2RYpj|9j%1FloDWM)@Oe5(83J;HC=OP(|O|p~$y$b0%cFSL+zT`P=X(uy3`I@_z z*DD{K(gE!0jaGd)t+@kZVem6Y{MgAebZ!&KU&8pR)%qTEp_85U&nkDqJ>h(%AFqiE zF_2+f7dNYM&ouM|P1TvdM3d3HPje9es_ssm4VI{kemW$MghbE@d9n8REhWTvXjPJ> zC>l~LMC1Wf2SQwOQkk~_2Y6JuBC0_@qPcjfz_@RlK6}l(rikA`Am_LjB;ThhiQF&K zw>y7ODrc6i~xtySSm zt~60DT1MzL61HOM>?<+OTN2nQBD0Uzgv~0S!F&S}_COT(I}G;8evS;psQW@4*?cP? zl<3_$xK&JCoD5X;>?8zU9F6c0du}_cwX{Ep^(x6H=U)%;He)&iNoB9NU)H8WU5MO9 z1_su+aZr|Cvl)sWV4M$@C?&O<2dSP$&5nThv$KLYJa1-v3%2KUqzHD4fA`fkG4h^Y z06=A?j{aPGz$QGuaodhys)?zn*g!h%`4ijPhOuT9iPq85h>0Hxv6S<&^4w{dg1*9l z1?0?H%p=0NW8L(%z$6l#H}AaKw(Lju?k!;aE)TB3khh3&6&qWdM8R~anMzdV@+o@w-tS(;`z;gfo0aK8PFxsaMrn% z&-`t$gNOHGCtI+)zpP$$=_OCkQ@-(7ZK&S3CJ~ii?I?S zkg74#8V!i3e)Hy0`?yV- zOHVxa7xpR{Nzh>E+*##On`}mflHOptzQzL+Ug zQV57f2dGIC#VhRC=H)J!?*BD)XZl5xK_`wAC7T)XT!2wmR|hcD4t0fk-?1oG^u$77 z5!B-(nMwBT`W&J5)q;m&vGSb;H=7~0MU-bt%}%?-jT^JM*YOZbR+uTxaiNcDKw+9&wdy8q{k}!>x z)n`vXs&MIldDos#ZgHNIhnu{;q0yEqk{ljvLzxrva zdZWu49B#`o)#{IrUkU7`ADfOPQI^{2tqY=CiV)Vva!Xo@)vpqT*{l!^`_85So3+g8 zzg@7+f2sL~@uyoxrY4J=;!yt#tID<8#pj1^>eFOvfGD}-CVnmL&W|GvuBT3o75fq0H&o;_ zFhU1T*%I=^Vc2J=J4z@p{@fGGaaT%Q`;mNx;`Yi1Voya!jC;G_@s};I@Jlo^`S)z4 z!*WF8sQ)Ni@Un+j(nqxSeP8QHh7f%I=lM&;#4sRF_m0VabX0nyY~IMos8b}PfgF&! zo-HxL--+mDhKX?rE!D-1i zI@5teuyxRsan&K^fZg8C4BS}>UL(SsF}Z1(R?za+L3NCHBEl#u@j^i?ka!ATEp1bgafw{TkR4Hy5SmO3@v02}P zFC{*%qXW+5_{HlyKqJ$U#je3FOHoAmT)Dq2TV3~$NN?uQQ_#v(#a>7=lK zp~$WLl+f)8mUz&|&6_umy8;r!`h}xb>sa*@%WSd0Pi`S?Im57(j=_qUr_}r}kG-}O zgZZdvkv(M0BS-`<KQXGf zzeSYaCrLQ#Jp1cBjX|e(CX>Fx%LD~&-Iez*Tp#@F09!Zfz~XOKGPg#ZG>t8 zJZ+Sg)lKfszE6Gi^5xhyZsK~3ignK774%%{j^0~;yA`MZ5V%rrj{aXe^>*!&St*~= zkr*0q{(N0-s;PKJxy9q=+o;9K^&PM|rCi43NyP_r1&Kz^9+TslurI~lh^||sOBblDaX(~k-X7MZlK^opFE@L&Jg9;KDBccu4}<_4(Ke5~c}cO)K3KaVKal*1HxfQY|O6V+WLDH(h6 z)Va1}g^_H7l7Wfm1}w&_IU6mMINDqG32>?PJC0PZx8wB9Tx7D8cTW3(Nwsm)$xb!_ zt@f@ozdDBVaCymF3YTNt_4Rf`<^8h*?)4XQHCj5YIy4uw;Hf=t2GDGY*2)pCN4o~E z|CXh%t9$A8k=zeIEhN>WN<0{Hjy*MXy^$>gW~$K|Ph!KLTID0M!Uqiu8jEz0{&K&V zhR8dpzr+aUDhYyYZ?#&ggv6@)C2J?;vFz&S0A5D(gnU_A>xnNsVKfhY53Kmvq)KVJtvQLag&Rw$;m!O_deHaPwYn zi$NNTB>A&FN1xjv%T`5f>e!j*o3nCfoMaGW3V#e{`zArtNx1j+u?4A|oR5$@*9DCAliMRI?v{;sO^kV9`r6a%Oq|RUrx`QeP7D4amfW4$mtKQ) zvXH{ULPqk=5pfDQk^}Bxfg(`T_~PQgyP^!YH_5<{0IvRYcJZ2!At$+ z*m+inG9gTd(~#ikfpRo~mVjd~YKuf{!G}??Z?7uDE0x=7QCYkO73##gOZRDR$?Yu< zF^U0Gjo0fUGxSM6SD;V%kQY`CQJkmN)R0-H7%YFO4Yt+U$_rczK7QV-$ob3z@U zcY-<6>Nk#I0;xp-Kf*T0Z6p(vTv|Zk?PP7exWk^UYC}CSw({SafoVI#p1k{n+bX2R znV8s-&StC~c5+*%slzD)8503Ba6Cv{9aZl{yBLO#*p+UNvdZ8^M-$-O@3jO?T<<^w zu(cYf7LJY19~Ywy#n7nOV4fUXLXPILvpXaQ`})XDQR-*E?acPuH*S0v_=Z+%YH9~< z26DfgWV}o&)n9E2st7!7cMxPoHB?BIK}6wgDdLmt?&HB>OsoPJF+iLL|>n&;JK6zMs!6VClZ4YDyc~6r-DM?`Y%PL>Tjh=yNhx4 z12`=dQHV)8hAqGu-i&~s;RWwHRgrJlQ6Q(2$YSK;UlzM#be!^K^j1#m7j1=`rIyPg zvSRI43^_-H$IP=@BoY~6NUqwD!-FUeoYK1ph8o^W-MgHfocf~N*aTU@d%;py?w+iE zRoc8Ed7T4We{4`uKK^Y!_(2yG%rkFsZ=t!Y zrA~~k{TQln3B$Krtiws$kdlN|T%myuP zs#|--KS4fg{`_oo#x`>>X)`>JrTSc~6&6TRtp^?`u6@-5R0hXd6+83XCd>G0Zw9t+P$rCsXDN7IIY7U_t0!>Q}z$TFc-AEZ|6a+f~Q zyM#Cws;x{KeOAGnkMCXb!57a0e%xEwLj-tVZT=dga}uh_Jra8A+`20TrbA#HDn9a2 zS1PDjs|jUaPAJo{a8;)KJQ`hs!}Ou4I=;N7MhuF*3PsH7ccebzv$pgK-UrU>s<$i^ z<|l6M&78C6-r5+>n?2pvoFZ9QJ{F?M^?3G&mbc$t8 zSRI_^dq;i^cPV?gT0FJKQrdiM?feJU;mDq8&|*B*)P_I#J7$QGOPh@l)t`HiV2Oq) zIT{Twvc~lxPg+%qwf06`PS)ESi{E)Cy>GcU<_=UahHahp2`Kbl0GbzSl_I=)?ly^} zH9jMKU;R-${jSRO@pAh1JoOVINFa5^Q_%ej$&9%Hx;lIu95-)F_dvI?JcF-Nvm8oi zp3D8m22HZvPu}}>B0@sldp_pC!Qg5YBC>t39qWVo-apPv568Lcgs#)D*Ov1>D$X?` zXfZBBn(%G>frMW^rcBP8Q4J6H)tiqJL)cUM0xSsXlbzSINP%{RwQJYz>(V*T*qLeG z(rEtTO}GZt*M58)(C-4$?KJVwt4vP+d)_@8S4A`=9ego|bn*3=fLKw&pbcC9m(|w= z!^vXU3hH}g-x~Q9BO&o;^cBlbh!s>BDY=K{)(2l3;$8H zkf$?W%p+YEa};M!EP0Xp`CQhNJGEM_b;0>lVaXYo9V89@G*~e_L8@$jFWsvVf^Yx! zpy|R)?wk7xjE|F9Ao4HUCocWGqTXF@R`N~pPS<(zCc>chc>Ni|scFI?idnEh++i*6 zLpn1<_=GaMBNsRA!r}r30-J0|z=DY)4lTkW(EIoMsi6FubU?R%{pszgPF#J%3dw42 zr*W;@KS#MeBDXsmC7R5}ANYr=ZrZ&0WADP%_DX+S zVbQmBZ{Iy|#PZ3FQj(X0hM8Iy>ouG359cGT9_OQ5E_f-7`;aDM>R`s?3p)H7Y4$G!X(pd>5z1mu#B9p7H0 zeJc(bAk!Y|#y4bLcq%OHfa|ls_MdFTn;_NJWh*$ClHT1~q+uNPg%5#mRw+fg{5W1h zE%at`NOCe-)!1fMH~xEsi^um8HRA5nINCX%8qdbO-+gj?ut|k6tViCT`a3(f{pc+N zCJeWVmhZ1GNelDqZ}ym)5ykKR8{)lkuUA?m9<%-Yz_fC7`J9fMicX z3-|fSrZ<<2usaepf5C#MgVG#C!;*7n7 zp=BR5NokeuA8yOpbVkj->uHK}y;1W>!Fho{HIB)zVOjfeJiDk^>w|VFz}OGH6_S%f zZ%^GdgJd91GtM0Zo99l)%J@A)gD)1Wv%U3R_yj#f&OB@F&?vbC9P)1(K#}#+6_v2Q z&w|9-Y!6otXB1C41D28dPAP=)h;}qEG$5`P@~i^I%GJqn#^hPPuRrfY+1!)NUru!| zm3;dXEMGT_*EPH*-)mFGb}OW@&&@rkNm}TtTlHKwPCZf6Up+!0{D*j)M~ zG5LB}q-%69{+QjaR?6&v-8Uc$K0?U=20a-c$?tH{0s?m6$DOKDqBv>28L9SY;? z&+~fuxmtS7l2ph79A(>OWEpb#_=DfpibdYW8C}U})9##asQKY|EOWxP$wgVe_`$~B zZJSqnACS0=-J+kQYpjQbC(44B#Zxc-&7#dyggh(%d&K|`S4NpIPK=P4PwD~`6rhZFott(Yc=2k-?8%ejGXkbWv$c$bPL@r zWP{;5TH6rX5~V6k3Xnjs1UYQ#X}fc#0dyv3@2RCH&igrr_4F!pFseUgz_Rh{hucxC z2Tsi&+B!QG!g`%Aa?v8TpZDpFyn^uYnylH+S?5}CT;7o}P=3(m$I+#Znd8k`TOnnx zQ0!VQ`0dM=KZonCOCFnhENSz??OS~(G2V{VRi3C2O#AS@D}t=>wxV+!4)=E{#i+d* zzkTw1;f0?19TIz3K7uUAxN9T>B=XZFmo36Pd4b%);nT5FWl&F@5(vAQ*Wff3=yJ2m z=Eq`=VfD9|GVSJl9vd6GP?zXF=H9RXk4xL#J9&-#a`inR_&7#n7_ppweAxA(T3w~C zW!#DDvr!B`an{Z4HI_TDC#wbqcN0o0<&W%4p<9hH{A(bsv#Q>Al~D>tYLFRk^3 zr-9jT3`{nlX)#$YNsh`bhz3*jWAM0y;|QeQv88d9Oh(-x=no|U8$F;mHfH+zw8eK&JY*DHNI6q9tf01s?(X1wkxsXlM))TQyMBq zj`i-#Z257dde7aEgViOs=?61vznO%E^`>o`PYj)LtVq0|Qt!TWpsPU=JH6CDHM3SP zINH4qYARV)dH&CSzk6$2bYB!@)KwIgq53D1lzIjL&`5t8#F6^?>*)e_?|0{(JZn?o z$Qd5YKGB%}wK=S_c=+r?t!~s^p^RSsfMoNmBu?L61_$-2>IN3H!lt@c(r0;ep5QbU z)@sS$?mL3Xg zjJ5d~db`q;_C7K5_dDV4k0GtqeWSQuU+08reQ~={S3hc1aOxfG>02~-2uMlSt zUE3muf4Es}&E&+X&bv257z=ueo-{a396}dpKU5TXHfd?^pM&Q4S8d$gpD&zqEhrRS zccM2Gseh!9PfZZZ`KRjumN_Wew*-b39Q=jQCElI(e`LLRJe7O*K7JcQB_*daMZ;-M zRK_BjR0^HafI^ALOoMsTqzQF0g;1g-N#?@dDkPbU4B0zEQrXD7ZNKY{p6};*e&?T_ z*XubaxBGs-*SgkqU2Cla?f4pT7Rwxx!EUx_P@dbBjmf5i>(D2I6&x?et@|y&pa*@a z5Du{1tN1!rLa5BgLBMPMpa(dJEX+(FXK6rtyvlbIzjfwqV(5&#-65;pMDc_p!oyDy zT`r#Q?OQ`%x@>GyZ%rrW>3MpSB7`$A#$}ecY;CH=$a(z3*fuE^cqTSpF>SaJ{XEyP z^<8k>mlY9F&acne=XC)}f-G?bab?~5&VLvTvNDTTq2mLueuT2!O6)+~ws>YWFu~)2 zI39z80^3pzm6t`Fuvy0%L3(*EV2$>_d)2~x?Zb#ZHQPKOjdr;nP1WjfXPNQQb zOOMR9yfN|%P?Xr!i5S7oZC%P&urf&g{L)yabc&dAi#~ zL})riJ14=_&2B5Xt2`+VFwC@&c-*;`RphnB@_h*UxfA={?V% zku6YM-1oNRc3>+_bJ>MgZm$14wObm_S^vKF5of)pTGmLEsKp%|)yD};`Se}vLH$iF{3KQE(rlT>z3R~=J{YB_rO z;ks?45rQOdx6u-64yAclI1|kF%lFZ@7lLa#IjFMi0z+-c6-=1AH)n7=<%+G^X*}&8 zc;BQCeK#LUPcLRU+MVi*2(49PTIBAx`M12G{zJV-uku5TUD%VC_rZRBP{eK7+P1{N z)}p$d(F<9^V{JLo+|pu4M?G$r)`73(MqE$Jmji!FUL4}!XjAg5QDJX?D3d=4>2Wh; z+Wd#ll~%rHkRo<73mtzCFM6-18XD_I^D;r#UE8>h6JLJ`Tr5g))xb(Ete|VKQ)LkNn7gSzM zGvTJ5lB25)sU;g5=yIQ!(7iRt!NEL<05Bgx1EBcvkJ~+b`&dbQ(^f1FohAO-uytfs(UJZ7>T<<+2Q(Jxog1nMSwQrWarK6!gf3g zc^|^htv?)buK~xNZuL89{yu}3V?CZn8@diH^Qs``60~F zw8(iEoi03PlI6IN6jp;|LxI=$+YDPhS=FZ{+lN?smiV`4OK2=p`9P>Y^(d*f+9cz7 z03|DY6BV6-ZGVxu5AH=UUI~>6HgBzXtDq)+hMiT3}0CeYXO|dLFMh{bpnyq4GmK8^)C5q^)eAgV#pWf z_Um(lYaauH6p}?wGJF(kq~wg(Wtz)p8Zw|NRxM$Xm+{2AyYYt+G2(l6y8Z9<=7l$^ zV#55d)roL`#-2}AmGU91EFn(6yt?!auj3f2@o!-&xhiPI{^Q^cyD@mX5HY>P7iXJe zfikOPn2UnK&Fz0flOUArpPdvti6k_37yhEIckE&^}S zf-kW|I?|4j{f{fQlce!Z=jUVZFOG4@(?-&hhgn>Pn0QSUKk-rQ(XSqwkPo`?-w`4K zu{DI<1?XJTGV!GhCj;XdbNpN8=NTVB*FQ+(O+K8mh~QJS^ap}oD*&$4Su^i#v3dd^uSA<&F%A^ zHU1-SPkNJs`_+eRGMCA(CLa$&$Vx^L1VR`Nps`jT$$FNy77=zMxUhEu&5>B6CyqUE zQhs(a0xZ8r>0?g~QC#BG^_YU9BW0e!H%1^Bvd?x84-c~WDop@QXsL=*PKv9l zi1IN^7rmyFYSK^l$LE(STyEFcCVbLEC^9JV&~>Z`o8PwF(H7Y;@o3MUU52lxPoy12 z=%0&cWSm%YkQ<5WF0{CxsT-jjT+}ntir<>xa#Fd!4_8X`ECp1EefY3_`(idmE9e$b zo+r`BgV)-4IM34!yEa#Ob9q?8=kEI4XA#0U+4lz0PuWw&ParkS!qVN5X0AXGI3`<*XFB%a2za^Zn0H zl<%d-E)hD?Wpm8)4)~EfC?!KiB!1_5kGfmW9sZG8e*F7~1Sc?)v*(tby%#Fw>-Ca{ z{oFGNaPk_$UJ>e@aY~R7D@~zOD1~2N-8~!~pFOF>G#y#`=uZd2;1VWQM$q+A;g*Tn z9RHzJEk?R9{2?M`aC5wVv<$31OBm^>tv;om)IWXpY=|WbF1ip$HYt2#V_UXMiBb{PjHV0kaX3|({g$c@ieTEnK`kFOPl7qEU z_YWi~cG5_3uA@U)iPW?xCd62GO`yA0b*Cy)*h<&x$UsSr+6VBK_yoSk43TJe<^V{ zosFM$`wP={7>Cb)>~}PG|5RQA)yH`I6#J{lyVb(_-U;#X4!3m1Jzhr6N{Rk=@kO>m zWoB%Ug7*^>S0SIwf{Y}0+m|IB5zMnR1Btc}Kf49fY61a5KO&b?g~9lS^ZaaEd5qO? zp;iQXL`-Coyt|XiOvq0vg#iRso_ zaT*TPT&gYjT|YB29IG{h%-EQKdmI8l+>9Qad?&b)s!UEpN?4bj;$~*HfbP)g+DCEr z4jrN68xhr%6y%l2bg7o5kH-(nbdZ$f!-mr^hHNg`8{2uZ(<0^+C^q#K4+ED+-LuHsx(xW=0tpPWjOCb=8cT)q6lSUq9z#(SH+l{M z9_kXOT;wt)0GF3gjxynW9S@@mX`H~ZwIqOG#!)!U_p!wEiN+p-$jSG5a5@#JW3X>W zdPOa|T}nPc*^O^pW0ba>kdZJ=b)y@&%Ju^!36gC9D5{+Kwfb6JJTu1HdSOlQXem`; z-asY49c5Ck{0z`=Xx}lYVT_+My4&G{Pj8P54@(D4F{liiaG5;To4k=QfXv6By|U87 z_2Q2ru~UdhRn}9y`@JNI@bBVce|FR9Z+juQ#ivQ*q}`Ya3VrK*#P)$jl)A;Wv5hk* z*2}kS2V-Mn&)=0hx|!St+A6=}t>K3U=RJx^Np2+dh1Qa~6!L1d;?R8*Xi2GFVD#n9 z9efNY;5sEDx*Dch20!}*mEt(wB_V~g;FfAcCyi&MR15;{Y`~K`$D>7wf~>@zy?$uJ zeFM9F?_s*P*L#SdO`-hY@UqKF$reaY3{tXi9*roaQ*$O75`5lG0?;bVTfy12TN|6b zIPuFJcT+Krn#5lvv)DkLEogs}U&!QebK&%`<}WL)AOcW3vl^#jPW8BjoYt#C6GPDi zeT|}SOee+;eOF*Zi0Lg-*M+_*IHo>%^P&xuof)^m)zYs;Wh{c(b33NAoc-HpLvc+%(srSgLyjo8glqUPVK|FK zM2UIcV;6p;p-o!DJ#CMSYp_itlE1sD3?p*|R)R9fYc}|EW0j$AVhFxs$dvK-y&E`i z!P%~+`NkQxE97<(H5GIK(TI1iV#8elj`Jub9-{|KfH<6B2XjV#y-Ydv@iF1Q@V9&* zAY$bzJ_dqOH#ynZ57mqb?1U`G&_Tj-cpjR(Ls%V5o+LN~ju^~^LXm@$O-u!iVx$^# z5EDx{Bao}`s`XKgs$#$mc)z?W1p1w2f$S2OmR^lT3l4=hBuE5-Pgwuv`ww`+rpA#n_VRn^AEwGWGlhlUJhv!$ zXAY}n3RK&w$3b=s+&1~8^fiJ$vTLFpaL;ACa(eZi7-#<4z8~X%#*XBvxL|oCb~dwF z`Ks=}t;pqgvY)5$UKMxM|F}>j;7fVGt+t|K76Hiq40PLEBZx{M&UQ-P>5hHl@QwFm zNfmf$z!C4i>k7Ha+>i8Y(PNzU6xZ%%cT*AMmA-+2BJzdF?f6;A1G8uRUf#Wz|emhvq+hOflI{ZZ?>o z`RGo3Jg|h9vsZ$WNf_8pzBWT;qNyOJ3igx2b^K}&_N)BO%N0);&0gvYNcT-;D}#JV z(r^m@PCH0Wi?1_HDV}0iGK!6AlpZd4F)7E#<8|!@PXz*t$C>7T6(US*(lc|FI(` zZL|##b`?OA)HntA939Jtl~00H)>Bq$jsL;vqS$e^hUM+$NXP{d4tWy9$1r93Tp>VZ z_0Z0@M~u&&JzEHH5DRIK=t?M^uH)*jqr|l2s3+sYkpBoBrWmjO@R6?g>-@2o!wjF8BGDSDKH8_u)R91w*dolh^$*i0R>eCaNO zYtINpS9}YEUrgLd82ox$Uxz(_%+uOk`Oo${jElGQtpE)E3joQzzOH6|YR|o}brw2z z2+f>em~wpk>Z30dA)1@x@{=S!&YcPX{J{|Yt+P{1NMLE4twDKldnu50aPii^h&!ok zHy`!rqVS+)XBVk*$z8>K6ZHUTwS6LYc*A_)x|@tTlMA$iLyi>y%-HhIr7k;E;0mv| ze18QMS|NezxLfjax^Pn5sD7v)D)10Xc&ereE7U0}DHR|->~86D@a~O(vaIsX7xJLz zikX1~jyGd6NhMr7kZP_yefktIkfFbXX(Jmpc1j} z-3c*Acg&8lc6c`e2}?dH6u#xk^}UrNj4=)bs*wq0jP`J%f%_P=i?u7 z814Uih$;-zKPeWLa3Z?s)SlUKJcAN~dIatKKOo6wJGP`sNO(Q%CRpRfNkTfN;{7>~ zkwH)hBUuQ?)>F!S95b}wG!9Z`*G zzk69z)R|kQc@o@Q=T;pO6rBdyUsO?isqs%UoBgis4-EJ}NmvcYJ#I9!sg_SnSNYf) ztNXBgue`5GOc*Z6bgw$^)&29nCp-? zWcdV?9Jv&1oz^e9YT0?1I3jnC8MtY9Ii~O&G@_BH+O?bi(L=CN1L5NV>5t*{ryG@p zwX4&z$V)g1sBAsO1p57trrekO-^h#uoH4j!{MRAZ#mRlgG|z5S(C((|81$QhlAP~{ z=+}rUX;~h1w5x=Na&7Hl$HN+;3a730C=^lKBVZP>@pAu`eCqZQvNV01WB5| zjZd(j(-TU+L4+CH=kXMoyys~tiOP6GPRODpDmP=w>eeH$nDWz7=ZKsATQU%8!^3hn zolbJ3=VBf+^5;ryu6wj%DwB272!eAR%X;{U`&-d9+V}59rr=7WoMU zoiyeunt&521Vht|R~_f}9Zc$yZt~iY2T_kezNw>4prRl-9j<@${LbSVp&vyOgDEGbyTQzl<<7_Wr_Wve2)_Wu zc|b_iukM|ouHyOz2yRgeT2X5vV#YgYWL~~3`tKqXLgC*%$Ggng{(rCwqWy~UcxzWz zSB$$Y^n(+&5M{THxC06@CrD@OV325xi5eIg8M)-+E4y803wzuo4fgvKcM7#Mt=?D1 zja`M*_#0YR}(pR#ik$ zt?wX}2r|R&!2x{x)?P4_=H&;2)XJkYi+)6tTM$!~<2wa^j@QEar4)NNfiDVWCl<(` z#HCAt%VVA{J==Qpw*IE8gcCy`+I{^%1~2qk<^cg8ChVb~o?GCHLuF1HkA<HjJKCI+sO^yp}8gB%s|Zg!@Isq#-Z$D9lp?s8J973GzfD<7L$GHhwt4 zRHhWxe$C&RJ@?&NCPpSZyHj0$zYhZpc0Wp z9ae~QyPi@v>ayYWmL}Q{@NW=I2bE=|KQY~hR9i%;$EA2-Yden;FbRQXH3kRTIzsA` zi)zh9XUG#&q7Y%%Q6wdur_;wqyIL@r)0{Ayu%~`a62${y!|mbM=ok3!fKcGCbR!@@ z`Gk-o{y9vEFAWgxwlF`Ll)nBogW&efdBTES*ae~k-o~7{X)vadXsazp^FFRsRTW2H{|diF7{i#}XxY$(in|3!q_UyGSY#(JOR$*T z^)0m5)>mS(qtaj!$Q}s28g&^`dkT7)W-t_dOT*SK4v{w{d~Mvv^(qWaui-R)8pq*WaXk2WfYto`#`N z2SqgBvAV!Z^$FP z!iP%atyIM^oR~s9XES(7TpP}#b(H$-%A5az_E9S1#*s%a_Vg)Ql8V#uFrUI68AAV) za+7lxB)V-wMpBxo#VR(=9r4)2%^5_ouzVr%OxUL$1s~kdBCKdgoJ}FDWnjLh!qe9J zHn^6YP*gidbVmC6`g)GVN}uOv1pad4bCjbR610$nS~H>~f|hwc_BTx8Rg~T1TsJN93q6u_?SwFG1xvLYy-DB3?Af-^ z*Zp&zfBf$40xohG;Ti_6F^$EH$py#mNI8adS^7hZ&>=@ ztk8i_9@b@)?S&wkZW(k<=Y2eGak$K9Dk5a*>WHsSFbC9^HKo{?cr;E_Rnr@N^L0L& zii!r{KlAi5JRMLOD!OA~ks7hpm%;4wcy;Z(?6S9g+GW^WS8{I~!96$x8*U24aH9l$ zN;;1DlJ0$eSR88Kc99s&o%N`YvICvHiIC-hW5l&p?+0hYQslhg& zBH|=m5hqBo^!y*q*ZG)H)7qO}IuxGG`WOLfVQ2_&*UozEGnA`w-#^F-6Y*8qDa$+k z)XkRH&W5M)23&;W#!Czo^=w7rvEX9| zA!Fps*Y!6P6GAuRf@aXV$8m+1+zdn05phdtvxsZ=EXx+dxf@{*(>#wc<^@E1!)U?f zJf4(~`&;JEURJd55PFX`k)A|SecSjVUp!y)))8ULF;{+$PuDV=`rhJ=TN(SK{U@b` zNwK~=#tFlqPQhK?6hb+YYkc45sts5=qS9?jr5%3wt&jvkRalBGaU zCJ{!Sn9?_)TWT+1CYQzlpjEMru}v`w^gPNWRS-mX)GLhU5k*HyHN?pANV+!|9K?3$C1ujuZRhSJH;n++{<->q8xnrz`3I0++CWvAqCse04q*Ti9s^mFy z$VR@j7`87@qTK>&j%!iCI%scECESc;;krG0ZKO*C*4;DvE@$kD2Dq^woa}Ns$JLwj zap-aVfLl|IB{c9jB^YHsrx2Gvh=fFLtsveVM}wFa(gxeQKG%JX7+C)mBRhsv;ggAk zqQAy8?+C2+vYVcuL5W?Rc!>sKVv<(rnf$mjB~i-8pP*cE34YWS#Y+14u6)O8A>A0u zouM1W%~yTRP$TNMt~uduaScL>*8TOPR4F{L!y7F7q%1z46L7@{#>@fO}2|-&%lY~(i9j+h?(S0I3 z)C4e_#yNZDOz<-Y<dI`i1R zyfr?_@3brg7J)6iBSyTS-PyL18*!*ef9)&_^bSvzIU%HaK``C&x$v%60|#uHN?AW^ zbp>2(ZV%X$=DN}F9}>pS8C?*Kpaq?IqA%MHkm^nq<4gMm$1z!=1ab8ln|=v^-F-?qN=DT&hF{E?Ah+dT zpr<(j9TVE0x6LC_X~6$rLvaG8l^z}>TnN#`AMlpk} z2~*r{X4Iz7W!2kV_U)xX+ez<4qS&;qA|k&DGEYzjlXG+fjs7%!q|L6WJh_CK!V~tP z$3Ntjyn~c;`Pbk79nKl96*uL`YIS?;T538h;IkvH#m8ys>rgdf}QCjK2bIU6ILzObQOAHcKWp5cq!C^M>b!dEJNbFJ;6jzqf5;SI++W z;&o|`K=A~lTCXp;$xdz0oqg7HI|&h4+iUW6uo4E9iUYTh>0#!_eygb88w zVbHE~jTiE2e!IXGu34LbB&E@|fwxeDxrW!fuFY9>90dM22MOSJM|h;B{ye%YFW3&0 zCMXTpc$X*XDi2vcQlV+)q4VQ9fW2Ph2<^w`L+6eh3YTFWy(E0oEMRsp-;#gaUVQwS z;`OCflQpI`Psa3y#`6u2w(knsw)W&TQU0B?7C1km42C=-R);5b#Dwgeo5)tT@$z~+ zZSR2gJty9a12`&eJ_;0PTN34H>mfTiVzzuT^KH;pqz)y1tip7>qkIY#N%!mekn!Ix zEH@qfe#qL{d7aAL?Xw1fNjh*3vcIh6%|D$d^i#V+Mbg`R(N`%kUuKxll^rb(7xT@P z?dpS0f>)e5b_c6CzL-)mvD?@xyg9)-OQIX}^!3~KVt-faZPo;oI{mK|gX< zW}QBgfv0bXx;W-2+Yk5D~#)X>nnJ(Q1e`JZc)qg*>JecVl1v3c?h{@rSnRP!<| z%|QN1rpH?9=d62GfT?K!qQ5bDp% z4Rgm>w$<22_H@Snzf^8NnX`Xo{KHb4ahwx9u{+Htpwd>kisS%xmey*${otpUw8R_>S;>+-q_ew(m} z2<(ITD9tZ`rRSWa-q-ZsDXQ(5J@Z~A>Z(-P8)YMJ^XAKn2Qz@y%@b}D=2lo zMU?cpsO8HhYVy;wCco^iY?I^x)F2@s7$r-$Bm}?U{ltPbtqLosorRPnEo0}qqP4di znpN+c79k7%V=Pm9Fwo#lR%8xs8fbJG8g)n?EgV>o(QV|ZZUpT#YKrJP|A;r+cB*6~ zWi%c1a7g1EO#GPRf3^00k_vBbcX?X9H?5J99`p26=iV7S(jGynZ^hH81pU}OA?JQu zFnL!Y2-r{YiRH-}VkKY2*pPkpQv#lK-~zg=a=f^vt-ZY(lXiyDSJq2FlV~)OXk#Rnk<}jTqzbQl&$#0!JUCaMO5a*=pXSM)4smWva`CITrjk~Gbd@zJAdmbw&qe}w(o%< zOz+mTr)}zT@bdP2(nqg7#j#W3$u#n8aZBvWO!u$7&!fuSc+rFBn^r-7V%oty>hL8Z z(8Rk@kDVJ3)y3!DSP$5&PyF1J%sh{0#I^0;(uKpr} zuA<3Rr@m>Gj_fzlPxx!z4^isumvNIp(d77!+rK}YO83Qpv8LlvLriVMs%flb_q1bc zc%R70=M5egNh0?u7yP0%POYxK{zIVCc5RlcwC)+v*>zWr1q$^QZeyryp(kCv%xsVH zSd-iHZdG>QIV71OuQRgKsF)>NUOKIrbB_rkDjpEDy~ycxaE;p5&iI9z_LO(p=s?kC z7G05sB23=P#1@Su7%HrxI%fYIz(V79 zKa1Bw%2rdIFP6{TaRJt-g=NvOa1zm}8iwm|B9{4WZe$OX&6m;Wa!b3so($Sy}Q%4A99upChDF46Exj(n=)U#kmO-~?Azk-;2AaOm$v1JoT#P0qYb}N zrfuE7*fk%7NA7(ls`@HlbhZhc@gGm6C)T$tx+tcbx3-ckCC1ZXHR#n57uqAO>bL-% z8YAUKK|GYq92I?Z7U>Ls@sq6rztBVODF(n#W$|i_s0)pSG|!W$pv`u|;nM;0=ldCFDuq2kME(Am z$!rtA7R|Ca4DFNV{*0#_FGgYLNch$~`cSDul>=?0fum{(!xrpa?X2VxU9=PF|^aUWJM&Hh9T%Q5B?;JD%+Nq=oOFE5QPj8dbd zgAR}O^ST~K1M{8N&q>ODd@#}4-F*W}mGxM*zHmNfkYqL#^y*=G^zYvfz!AmGGxc0M z`VgjT=guyda*fbslC;zBm1oD&vswDu$WzSYD&PtoW8#P(6k*a6(fK1Rb{ps*S zd5Tc7aAS~LKV(w}@7BxEY1C;StOYoYvRe`A4Mu1Nfl$4jH`?Fu8zJtiHY>||8pVEp zcz1${F*icweICpy z)^2WUb4HpK*RH(Fr})SGg!EGlkc`Z! z%_5_FYpxtx6Y65q4SKc;N}NlDO1*b%5}6>p8&gw13{IywCrT~XGe4XFQq1I<m*kEYZ6iXlWmj~GI#FWMbr_8f#a0& z<9!K1QfJTo_;l-ay6AKN7zciD4D^X4pTyWVRzjXPUw<(rZI@U1T}qBVep7eIdIgcm zKGM9%#h$BqUs06i_Rh=8oG#qf*Bn(O5WNEgnDz1FivZ-)$&q6kJdQJXih$Ce=79;Z zm<1U)IhUwKF`_i;RJx=b;|xOePca@=7$Bi~(t>Z&Su3uh=|Y+%t1PQIY*1K`|^8bCd6^YKsz;`SA{uXGX-lcU3M zu7eq;7G%mpUdmM{Y^Tp#Q310YCm&<+WYE2OpC{|&v17;JHfGg{&3Fm^SRaIW$-vUjL99abq`rC?d|PN$P%#|=mC0tV5pyvVqz;;H9BkDpnUp2AB^9} zW8S=ZsE5=qpnt0h2cu`(bjR4rofs#trXZHQU16YLp6Q9D;|(x|)gvB=%nJ+%*c6v6Onp-p z{Y{#&!eEh!GN!c*VMe~l7&o_9jAGrX++ek1#DUYKiZzN86&d~)IZUVTTT#C-By#zj zhQ787^jC9v1zeR2eyP2pufR1 zp(_Cxy^A<_Rb*dy6>Ug|Cmk$NS$MVgCR{-Az%q-lwo91= zY3$L>K*VR1SMN*!nB%97+@9dUH{6`Kdh;LF*=kc+G%RR%crY;uG~u^BDV+fn2{9sU zZm;H;3l_}1`w{_G>np1i@~3mJ$rZMv;wTq7mL8edV?W#bS9W{V)1xozIhg2pccs1J z>=|^jo?{qW>u#2BhSw>|G|^z?PZJr6-K*H8@1_yA&q1e?Z`Xw1ZT_UPruSDq(^rVf zl!QpZvthsDa3L92q#4-8v|?R1V-vv3P^lldFQRs4 z%$JfX@nvF+$3wDZ${Iz2-+A~T8*;Z%toG|j>a-T0rbF+|swONgf`9J$Hao6GyiW&WqWI5v~tGPXC4!6i3d5Ss6$PF2>b5kYiB~t0}rnbb)*AOysDF1gvDO z0wq-q#jk3BNsHb}R{8Bh;ie?%e^!1bHE7XnmUmW@Y82NS;QRlb5$9Z!E>jbeUx^13 z)BCodn?aMs`;8Y;wA=kT;|D2l>qYm7Qp@n@XnkBF5>Pwd-de22krMM~P+GND+L%T! zWch#TCm2pLDt9M_%=+jVT%*|U-s$lBNTCI?51d!jSwsfP=VUd0)5jlAbwJ7Q04JdX zR&h5JP}fhxxPQUv$FK2urW)?y_@6)~`Ov0Bs#1pLpQ^MPRVfC#iE@A9!}=dL?pl@R zaTNcCy78h$DHkMk#r5lN8^d(N9Mkv=_T7)x+2{T;RESbP8<&3k;B~>7C}@99B&NS7 z?=C>mmAR}aow%wahK32k!ot5X>pI^b7pH|PHsdOD{X2f_tp6wUnp6jzMjrR^D`ca|#Qf)PeD0iX zRLa9bsXkW+G!8kJ%aZpcJV5>T0Q~PmXy{*Sn4o)G*$z(rpMJISQ2M49X|Y4+@xc3&B+Glr5s z`%_KC%zfHMK0K`A>#yx&E8p@w33HXM9zMK^(@I#yX@Mht`ZS?Tj_MDo2FP%J)eR%t~Np`V$=O4L^4fGG7?ZkW4{MnS>1VXbae z*p~1(J^_=u+p<+SpuRYuO*(PUWx$WJx~|9kLVz(cF)72s_TMMPWUudaaEkO2|KVS8 zz(y*+siwcO_BhulEbHU&NQ>R7zodCsJ2I1s)*^OVBQ0Y+@dI4OI0%A%ftXPi8C|40 zgZifDbmRqq7191TK-t;=CC7d&7rZoA9AyFtBKwU3DMtsV?UFRvjxD19^^lzj2NU^l z^!b8yELQL`Dyc@Xs|zVs^0kUz&CSQ{_uSC>h+}NO|Hgs?IdjEi0~H*dZj_20V+l>E z?d;=Z%^CEPUX&%}*CjMu2=86{)gm}#tubcE8W6-9`j{Iji3m>a2f$kvwL=RyI%ebc z&MqX#DllYBtalVGTqU`nNFc`1LS}8}RIPKK1yyi=T8Y$Da<8i4CArt5J?vu2< zyzw%+`jNrPk3!VIocde^%F0jZySA0etCxUcGx0;J9ag<<7|sbh$mi&(*V%jA$d`%# znb?u3RQaRf)WB%mqO6ADu4`j=2bp&1RM9bwyvsr>_4n-I81gx$jTOGJS)0UiOcZrJ zeOgh_&wSA~>1eUBBWct4*gs%dG$HYXl(F`s->1btct=N3IJ`lvONIvuf3F3x#LoOX6r zmF&<_76aaa#Ga2=-3JrBFwWf{<7t9X^9WIaX&%QY_TSsq+h6ot{B|SKR$E(} z^G5r`QWcq^qT|ixNkvKJD*{4i8hb5P@B8~z4*f&I-KCx4>4D|+H(^Jraf+r@AK7HcRaVE4W)$^NBU<6}PEKO8ItM(e({-PT? zFv2hVBWjOja5MwrNb+~;?pU{r&gXwd)pRaIDvecStv#fXKWa3vH%C$}3qy74X zlT7!sC8|q}e6e*iSazm}NZVO6N{0SPwy1P99ur=f_dG0;D_V~JNNxEfK(SQ-GtjVCwPqq%0sPzRU%I_?DV=eAkWJXz5lDDqu8IGG9OLA_lSHFS8L)Smy05$ zyydLf26!+ z{e=Ea-%>5g?`_~YbCKtKyLX5g+5SDG)P=V~O`Hrw&9S?55&y~O_+;Lg)Pg+K0E^03 zG9z_ab=&!UFe5t@4M%qd^6gK-1=7E;UjMQPo!)g+u<^^_^ z?wqniR~CGUkkEK^FVBOw@u1g&~HHz!xwEDW#S`ONlI%uQGW5KAoxX(KB zjFL9g@K9rqRNW5KHA`}p^Qzm(KR~$bK^>3sh*?v4oshZ5=6^Idg^W_w{ zJG;8)OL8G1Wqb8QT36#3NH;idbmZS}?)qHDPB4IV2K&SH(Pme|3>@TcTkOK0hDZ;d ztv(2|6Cz*diwXs_uhrX1abvTJxBSp=iJw>bdj!J(9ulhiC`Jx}Gj2!q&d_}N*B7Sh ztt*t{*yye`@5tHv<~oU?E&$)IQ_#@(ocjDZXkM)yD?&@G5s@?B6ZY8)yXgtAM{O#J zWE#ZBm?`3c`HT=-i7148ndXP(SUQ4?y$DobKIQ6lD~49Nnn#a zowH7*iH!E9*Sx5kg8I)Oa%a#gC*y~LUzm9l^R~3+P1530L5Ux~vjAzBSYYM;?ds!A z)Hh1>FSN0giY;WpjThhS8Up*6%d_A9Dot;buB@%pl4=m*-?2dHe1f`LpfcYMAyvuM zTQ6p|LsS7>#P!~`o=v#FlR#K%6}h+`X*hmgKk$EgdtYf3%54XHwL^t-;TheDf2Bm_ zz@yqudq_yL{g(Q| zB$le&G44nQNMJpDZPbLyX;yk;Sic+^cubUI_xb%6#5h;=cLfDbZcF0&_Bq8V-<&*l zOa2_YQp;3Cy%9t`0njfYsH>8Wd_zrS2grF%oA}Ap|eHZ`zLvhMC zOQ+k{!afNG1O`6D2$c=x=y|Wg@)@ba6cuQko)vB)_q6I=hxedL#^jruRM%f@w#FK5 z2MdchdRQT#d|al2s_Lg-XLuOqqC8}(u{3uS-8jxHBJ>h|_pYkbqN8YDgf&7=P*2KV zdu71&pC&z*=lGY3z6!WpVr3U_kR>#VNf`>6yhW&((QR>5&i?!?l}BW!LC_|2pm^T6 z7P0V6>FndOQz^E1!Te{Z1|HVA(45C%CADF)+wOA=n4KCZ3H5Z`-Xlgvk0Hj1q9 zv9nMKe#HW#((>2?YtP45E|*GTz!~{A|1r4ZMlGq$ETO48s8yQ|efr*Um3?MUPM4_n z^{!o>UCkb|#gYri>=VJ4#??$F^H&@nXHn&~ruuTU6eyKrYf?1^xZgGnG~d_w0Da4A zPc=pFOaD}O_gV9~R~kQ$64IVh-}Im32hu*tV5KOfhXk7lZdc|M$|=^atNovxvm;3o zO+&N8Z~d{~`qrrSV0vAZ$zuu*RHY)o-#-qV^HeJHpPT_v*O&05aZTO~Eai1_$m!O$ z=fgDAOtQcD?wbBHm7d~)1`HR&<{{U_k(o8OBp+@Io}xEJ^FhchTdt>ge@Ml9UZb)4{5_MeOmw0?d$Bp8&Nd`8G}HqI zCBvvYcM^V~SGMNYb{;V=v9>j^JAZ@Xgq%R&V;4Ev0vF|v2^L55UlVnZX z;z$ylZxfOWtuOId2CAUKM*t#Co+rve^oPHBF=!x>QL-JCgqZ9O^?nB;JnXO73DTuN zF?RION?P+S_J=BWn*!O;SnvQKy*|0;1O#Ax0d&=AU#p+w~2%p0A9t?@m>iJx+Pq0=`Q?3iK~|3TWlg7?R{eDZ9kXH0(GUD^8*g!T0F*2u#eBXy~Y z@2814m9|x}sE}}Ih#jr9&0KM!UV#oDN=GNc*I9?s$_hI{fL=8_C9Ho?QNC!K)zgm; zBo@9H^d^}%BQ{%&w-GuW3dBdBcMB*#65;-k%q$!Jo|ueDdRZd7p(TFa z%}*&uI%~v51!q-xRZxwx@);fn$Ro0|CRHt6X9`w?$22!LH@n=5{Z{1O8qOXlxT0N$ zlhihgO~jQ8bSM;RuI^APPeTw3&YY?g-vTL^J;OBEpUHRPK z`@m<}?seLF9+vR-(S4vLwr}d+@5FZ@>lhEks6O;K-oRv+byCni^96C1rY{filSc}? zJyG)=jm4F)Nv~(&+zTLW%>CXsY?L-OjfamBEd`Ad#d(R?{d6Y?6@))SS)pNv)&)V* zWOtX(bgk$f|EmIDv|}sVl4Cr!v(I^ZZ^HK12XLk|mPy-1bQ|RitgYmiUii!E+}UtG z^%W`ftCxFJwcl)79w3TQ#k&ac0mAEDIS*BzcqChvvj1zIHescvKiK#3(3J5+&PUbn`T{!-$v$mDSVAQSZEiMp7zaI=$LFj~BWiOHvtBbCo2 zNLfpP(uz>JZYUSO@4Xh*#^Rx3rcZ)UT^;1iQ4o1s!QPcZuhVh(JA9wysexDcvUBC0 zR}M?1VicKQQXpuvj-mEweTZa0d{xL@D~dIG(!86MeMp;kY~S_=6pMPyaZ4`Q-`^N7QbvDi5>R7`33z(WJM z4FBWzM>89nmW=bHEtAa%Dl0ILd_WHS>$UfPeD&(pJD7xNFXv66?#9Cswb${Y4%4%@ zRGPwIJ=$H%lPAfT8++b7_zp#45s@AuXSD8JsjtW1gIPAt)7kW~5&A=d@URj=z8uy+ z;wG#AwS@QRqAhuqzomY50aLwg$l}?Y^OQ%1a@AHBq8>JXeNg#==RvvsA@Z6;)nS(YBI}6eIOvn#mry)>)1sVIC)U1@APyNz7>fVkEK8LLRqRx9bIsp;rOg7DpCf}C ztUtQz+cP~6wQ8_CC@!EO5K!Rh z=^2T^sB0(y)UI2fV}n&f17EWptl;1v!19ntuvoYhnPu<>s zL}VSS+g5Mrh1by6gBFY_`VReR5Vl64@g>mSVai0NBd>9$zIQlB`CffH$%x?(iK*-& z`tJ+cM}Zcm2rYEgIHerz-{bS3*7Scbc_xaNJnR)Ur0Wc*jQjQB+sG=(P7t9)6;p&< z;?w{Y#da{<4p|p>Y4M@CIe^CvJ{rHRm&D885#=@=yBMy!udR|KC77H$yWxDLr}vUV zb6-fm8Z$F4mG9U>-_av;oiNueZ({0wU4oujqd!IR;X0Lp8=W4F~T{a2K{@YXazoBl)0Bn0fBPN36?@Gpnf^%Z?U~hQ#MOWC_b@jdbC(N z3O*5A2E3n3uA!dZ;Mgi2si4rMaCJkI_5mO7HSR?ATESC|p^k@6;DViexW7gcmOpXSw5axDT&sKV-TZ-Y0VH4)~|e2{()8YcKgo ztvE5zO)1wgzcDL0S@pXRc>4k)`YV4vQwEzL_QVuCCFK?iizBC85nUhsD5L{%oQYU-pjQ8DOGcj*H-2>gH= zcgX?<%KD$LH~5tFq@6K9ieu)S!I?&hG*MX*5#Uh(%^bgy@_}(hJfr)D6 zqN@e7NNQq|h~~ygK73Y@|&;u#RY)b<^h4Q zgBtuN^4>BWL_W-_TD=^YPFq_l3>i{MMh>T!&Zshgq}H&XU86PubkORQ#a(K!k_#K~ z`}fH<`Art7&Ur}0=xJ45;bRj-3WdJmql7)XLU+$*xUs=lVmjuOIi#17phxQnXE;2jiPXM6TZq?X`DFn5*k1%o z${N-{DgVu)=-BZry?4fCG9AMe5Kd3!&0?7G^Av|TnBp1YEDCfbvDxt;^D63z?y^a8 za+e;UP(=VC%RI+J;L6T_*1D5c`^xAYnZLQ z7(;~$^RJ%237|5LB5#%^6+2y#wFY`v)=1^NYgsmK);R zPsh|15c>p70j=fsNVb=t?4r`R-M-xa*wPXVc!u}N^CTNk6yFiLkCICfnOW!olDcxN z`BcwbFvKf2DkAGz&B*Ob#1wn>?)^s!{zR>*YkbOw^jPT+b>9i=%9JTYKKcReur&l! zAP6;D0Y0FUp$50|bk;)Zn`5LQSk@xJh*Wjq_czDAxg45v1<2mFdpLg}4XddGd!?kL zc1TNy%~IV@Q~o{c0KcY%uA3t4aoE=wdV|x?x=VZqp8!aziKGVGIo)VR%F}Q)CYBIH zn~PVg!M%EQX+iIkbuNe4LpK6<{hbSzf*4DEn3>9-5nt&3ykBC(4<+6~uFJ@_g$#ku zd=8In(#ZL0=sSBLMduIX88AX@CzOPNGO($7ba=+N0#o5>H?ckQ3=Za zF&U3EQ^gEiIMB<=RV{?RbEytv*XXY;9gs%l0VpCGGa{-XXLr(BzN49c#ewY4mqsx! zhHS?%d1g|AwcyfQGw3^*;Ixjay2xEr_sKFzS18_C-YYKn0FEhDHT>UlK_U1gBqSCu zwiRT0THC@@is4{)3tDrV^PC(YzFKc`(|Hr4BX~oC#LtS*?(6J1E5AK)M{Ah(eS;kH zA!oT8Mtf!x>REL)#Y(+N*-oE_El`d?svP!Sy13eP-HM6*6B5+Z@_$QDFuHF4!y8o~ zmO$=n>IuvIGC?5ROap)rWi+D=Li;;7{c%c;|N#Jpc?|Z(l%F6>S{ORzDuMcQ^O8^h5I;^nsQ0kU|QiP4+W5V%ITB_<*!@ zKI{Sy?AX7*xfYbk$4eJ3Y`*P6l$+Xas6C#LqSvAq;!(@R?X( z(Uh_keLN=nc5ubfa6E~ga-klsLow4k@pX*&N@2mS${-EeW0-mJh|YKM;?yIP$KN{l zfMf^Njuxq`F>(3{!jE)w;BAVY5@_(=o@XpDyvJ*IMD^#Db4jcz^Zb%!gZJ8oDaeK8Ux`Ped0~D@rq`gLfYGu)hRJZ#v@9#E|+=3 z%psq+gT5L8_cFv62>9|zm0leK(7IR-il+~ytQHrpI=6%}T^z|wB}CS0AB%jVYW#IU z$FxlXD1B_N1#{a=%pF(TXBtS-M_`lHv(G&BN;#gBjYJ{9rL==i3^YlO;XQNVA3`p)}M9_M~kyveq~dC7TRq7!pW zanDqd*<)3Ff)&D~M-W~C23qjpc=V;TeYp)sOj+= z?h_S|EL!cCf1RKN25$z-XB7=%?y6~8YoGk{&#K3mW1i5^YXVJ>&y!i`=YUggZtnGs z%xgAuV8cZsM!&$gn9c@5NfRpPZE>;Hra>Z7V>q(IW|NU9-H}1@!m8>gYuvuuRf1az zL>+_LQMSQzsvPH5AYS7q8#B5`LzeJLg^-4vu;R*16z#2=ap$19LJYs$gt_IZBV@tE z=Eu;8-9+j|%sPZX^`#Vj8Ao~hT&IeDF?EP}lW?L?Ge2^h3Xl(gF7M5u}`p8%Lj z@?m2=>t{xJ00UsA=YVISt-XE?&6H2!#z2%%-@bo8hBo-?=tX{_ zedRe5cKD_>gcMuDjMXiX=`i}Hqpx3CQ=z5*1uJRAyua;*k%I91=avR!&>`wD>zvQc zo5g*KrM49252cI%1M1>gdU#tV6kAZ(QT?@ohH;G?TjeT7wTlaEMCMZYd4Y=9O=L3D zc%vj_?>$b6`PrGCU{rU!eT>>Qs)Z`KJ#dAjIAgRM8v^)K%5mmt4D5 z4-8M}%)YsK<)+w8Ku3@bIw0M&_dWwNnO{|izegN4meNy$clJuc+Uxy_6B*=)3DJho z{Jr_ML2+^MufqtaMK*WnS1MYSd7gq5-O#M0tX}18))16(75KlbFVB3KfOOJSN~wl$?z0 zr3gJ1SCscmf)^6Pw%^B?Lo(B{?FkVxlVLMfB=;g+PnHHE+!EsM%=>4M;f-D0vl;ww z6mWeEf0(9A(-MN}y}M%o>Esha#d?|eTVrjB=>?JA95|#<;cwp)O=6ZMf8kaKtKf9T>RYj1$yq0qxoqhZz|$*UaA6yQBw4Yn zpok>OX%GT1x;$UDuaGvh?)S*JhVNhl!c1yr=097uZY6*Z!CGs0G4s(HnxIL0$2F9z zbj`N-wsKUW9=Y)ofJiTjs#i&MF_lj`m7yTV@JhMQfj8w$Pr!-A29JENQZR8tb{l3sj_A<2yEi}`$& zEfQ%KG$(hlXz%J+ePpxNGcKkk)vB$tfySjGGn(Z{(83e}DfMI$g6-Fn?Z_>!{O)_Z z-ojCLNc0w=()%$Ffr#?yX@hr0n|wWa=nqTS?U_oy!m*U(wXLh#d?uJF*WwG1lBUjZ za;f*eDZ=2r>H)Bb6f|*jxfQf=!{b$*ot=-G3h_6tp;_Gos-vlXJua&1I`;0BJRf;7 zm8q3+68e$|q8vpZbObJPLP!0$D79>v&fSw=2)M&=7x4p4Dtg9$lA-rC+Viurl;p@n z?SuI_A4r~zmnk4DN18^b^M?I{wii7~6d%}hgm&FXKc!G}S^yDOZXvqdU^pk{;{E3ePM4M`L$ZiikhIiPCdTo!-Bubg# zyoGcIbH%+Wav}1BrrSVeW&n5)6cqe@Tv=HJ^5=U<``8KY>U)Us>=AkS514Ffxot1E z^m&LWv$r6U7ql~r>V2 zN#|8G&?NCL^y7((yT`}Hb%}LcS*m{|QuSET_0w1O`PA2tv_eDgIv*QY#DukCUd&@h z)=!hN@%ID?oYGU@mG>=P6Ni}2PSKP<;k78nZqSOx8X%phy+9<77fe2i;)hV6+m2d3BGVPQGe zOWK_*mvZBArr*xYz}h)913*bh!3=Y$ZA~RmNk6Xse8~W{o-@ZHRry7EHbp;f)g^a| zE8F}@^NHfv&;cWk0wCogU|=oM^b!(8zZ8w$*oAXpfJ1Vf;FLEK!Da26)DCfpK%}^K znt5-~iA#otKSuyZjrHDhh&e#|Fb9T1&sF<;?#{@(SyGX|lUzQtKqT4NWasc88<9S; zgi462)qV%O>Vs&AD&p(^eIB-GY?^i?x@2^l79<7pXa9f_X}7{M9i5r1oC!fa@CY8n z4@oN2`VUXVQ?lvxKA%4oq8~|;s?Yucvu7WP@9e8(IF#WT*3LYQL5l}69FB}i!V6kr zUkBb*(KMO4%e1l?x)4fM3x z!>>zZ9b4ULgnosiNf}*%QF$mbyA6d#%Y43DFSE~qpS_lj&T%rpb$UFU?m9~Aem(93 zV#D^5Gn4Xuwv#TCL^VycxRrzw46{A;l9zfasbIoC9LvGp6P+ccWBTQu?3HHn+Gw}t z5E$AmY$2%~;^G;XZEVu_pnf5j+6jU=;@JQ3+|tTS?*iOCYngbEt28)UYwYn!fZWdi8S!1uY=_e`5tUgCN@^j~_Gm6nWHBE0ngnkAeo_R$t zk1FXNhn5phq zvPyEjfU2&MkMrJ?%gn&ckXq0&ZVB_W)v=q=3=UQg`>-bb7u{$5HXR|KHM_NlZ@u zFbt=Q)(;;ZvQtNrcE|&mqxu%GQn-1H?CcsBE`h$^anx3X$yI2_*ibR=gjk&+!>+3L zJ;SfrXCO8_LSh=3E@JH9pzR_1>&r(H=hD@F$JJ8Whw46UVuK3QO=1US9XC>f{M z#*;Lx{d}miGh+IW%Zvt+pE^Jh{zo@!!Qs1jDaKZa(l4W5J=+Dn5qgEao)~#8imLoKDUMM1T4V9i4A-cMyH*w2p)~V+6C@Z#5chfICn?Qm` zly}uY-HU+}YDA%bs^huA8%ac=suWk!I74jI3JfB)w8fSRF+K{s%;EOz! zVSpLHN>yB3@?CuDofoHiP3Z)bUyO^7AFtOpnS>E-5PK{DyBhSQP>I{!?cS_Btg87y z=YY@gNrUvd+1wM$(oDyDj?~R$^BU51oJ(32pOEkZax_Jpg%;#(3~|W#s78H3W)l=D zBH=TmzB5&@F=a0k78HctZp?EA8t2ng`ST8IQ9w@T<<^5zqgDxBtjHU4)WeY(pBivU zz>xLhm^VBq?T`u+XR0sAu4bj!=jgY#oA`Tt%(J!T>KTyKYv*U+;&Hx)u%e^(oT1^C zKS;>?k+Dw#(@4wCZeiN2isuzpd{HAc>G1jAMN}sw`j0A(wV#I|mDRD)q9;|mebQlS{Mt+!lY874fu^#Hnq5|0WGW5s zl;x#t=5%WK$MZe36g84flcnK}=@Oa8SK{rbS?8qjM{f2oMeSJZwEG9y(B|mkK!V)d z*jP0=nPa}Gzm~GtorB?YoA~^Wp_+x`p(3Me_41aM7W>h`XQo4&H&rGRtA>oU17#?T2IL)D9Gt z$}pGdL5Ulymtc$jP&Pqf;VUrS42(%SEV$VR?_6uWU+Fiz$o=q;B{Rpzi(^Am{TOI( zoA1Us)ye)NR==S2<43qO5BPhynDv1TP?jE!%jZ1oGW6Mly+M0cEgiS~-{7RgrRI%2 zsvnzOYDNtHzmHID6!B}!u@ZHQCA#x=z?datK}SR+HVtL-82WzgWk_kiA&rxYF!IUb ze455t12L1j$j~KpmODdCaBaBfbY#tCD2*EP)jQ09^-W*mYisYtYUT|!6y`&X^UL>I zPbK0Vt!-JRoxo6NI0w^1^O>%mgZLx(&}>HsH_rXIbpE^psN97!ux%amOOVvH2m7Si zn;|gGV6*IppQm|=*#cLgoW}13a;(%$mxxO>d`+Fl%JpA?p{`RbTzA2&2I+1c3hLo* z>6tUQwf+>eS5%yUv>eM@S+t^`(N*`f@xS>TnL060O3Z#zSNwf7@Ah%k8>iL!egEE; z5bt>E4n)4tA>c-+t~J|FbN4Lm=0e@qa@X6BPXYi z8T2hvN*8)vCP$N^Uc7MH9fSGr7ZW@(3bm3U*LxNn&Cfdy)oMCWwD0*1ecf-hUgFuR zjAb}x-k$P%c#-LupH=SAjk!_|dum|LpbSsi#~fm1KQuYk0bM_j%6%QJw#K%gz4j3U zt>0H<4ZV5(iAJNI!AGNNIUGI4(U|LW)aLA28N?h!!S9Wfg;dxdnd2sx((W7Xdi>k0 zxG!x`Ommcsaq+{b;+{A8BWX^RO_hoqa#+c&Br(^*+Mo=kzqGM%JgEX1rTmoYcyrkG`O4-tPD5 z*R-8e{arJt5c{;9`yG0~1y+Geax8H~c&&p(3!T=BdQ_8_w)2QcE(r!WD9!_dW>MnKTIh-wm^f&R}jeJIwh)tUP6(-QUg; zUNKspqqfd*`al;?58BpKU%!5ZUIZgU!?)sfXOyFw2#X}0mf$yK-FoYD1dz^?G3 z23{R^xP5K`{24|xMThRVe23Bnx(aN&_7BDmf+qCuyDa-62Niyf<%o%iO-fCn0+TxK zJofXVi;I=jDJb6NmQ$HUV5oEDjLjxFn*cefa#CjCGf8c&nET0-DETL08J*kId&>2I9{U? zDqi4fW`2?FtWskW=*3S_Yh7hJr_vcxHE2$4%OmRXEb@ zqwyr8$K1SMY~U*!;=0Dq-MEhn`3CuP+@6CY@T0WwcG2-KEkgWf9)$;~v2G4b+{)wg zw%jnuQEK22jdMQ`(~&qD+d~udr8`87Xn1?=1`?x)csQ1BqSx{NUC@8 z!V4zXU_r{Ut8681)3GT(-NQ_y8(2r0r6wWkBECeT`}Rdc{yV;7u)h8g`;68>a-91G z??k9w>kf%w&6ik+423)+9)8*1Sj5}4OM+J_M&xL8vcKS4{oAUY$ZVuus>e7BQl`%s zOxjZF_p?qwIzF+!ys*$6eHHPZo{MHePNb~HFYD-5*y4xQ_ow-iF4H+r4qX3y<30*> z5p7k8(&pwMb1I$nrDjZ$$ALFHe)|+-?NzgMMmE@*yd zxYUwzLBfa6MyndFdrcw*BTbx3GbBfV3V-P)>C~i2Tz=?CE=dTUrd!2}zB*bLA8M6o zBRp%{j-ACmCrHC{I_qrX9q~ziSgz<9H~K6uZ2V0{RIcIn!LMJV(9ybiIkNt$j*h41 zThY;(@m5Xl~SW=Da0zF57QAwWXMe~7gXiIk{tP-Zx;2Lti1 zIDNO}KI!_U$Jb-4PI6#L@_H{9t7ye&%bW>T+xJ<`SsM7g* z&q-xO+P<7v6WQ=!BkqYwE2h~#N4wa*ueGImF{%E-xJ#gSivb|$fG+_`tihPMjN!k00W}y*$gs}@dRkDCjlW* zjoS-f`8WE9d#Ux`Gmo1JToHnQh!0JgwrJ1Xj~%><|N8lH4`s%MQWi#w{C{K&yHqXi z(xerENTP(<5BXwsyB%&(wjjKUPD_4e7<+1XQJNl7~rJ+Q}U(-(!Z>K{q$-1$s@ zX1oC!iw{VeVBFzUZoD-ytyz<5lznRR$q(}p=xGl3rzE+&<#>OmRSke(_zjf07b-0& z<|~!tC5bG0HDoTNtt!;^txjlCajp>rJ3#qwAkaG@Zz+6!M&o2gm&fk{ zebz#ZO3=Uz*AEy2ZT=@ky#uV_xM2?Tu^%-N_>9hT(x*?kiPBZRe?NXO(nAmx!x2%s z7A6(6YYhB3U^C>0j#+h)MdqGPyv?Sjrr!XgzrOnA7IbsZQU4n`JGb3-k>E=tVYNZ^ z?xo&rtJuftBE%R8pKpwRFDVVbfN(pVV=QGuhufVrh3qtDZsVdpqpkhxJkpS!q!Hrb z(Tm!Yr0uD>xl_qPl|im%u~U^-ZghkSv7=Vo(6Sviu4AmX9LKr>$&JOX-CT5dKR=a| zl?7CspLbd)Kp{?VNgMsdbjs8#Cdd8(Yvg4vzRmzm?SFQ9!knnOhY!KIL_x_eyd2!enDSpQ+HEvt~v}Hc>}Qm7q~C0w~JZ zQ(qsZ8-VPbeuaI^SZcBHL1P?#zpL0;E;_U?)j1FO2S3U8>-iIbX!?AI~#CoV|iJ=|++=v!NR0eOv1)UPpdSj{T-Jf$(OR?9_P zOl%Lb7?S(f6Pf-*)TQjq*;Ajq{^3JWCQsuWiR0y>OZq}g=Bu~C%Kx)BRo%+@yLMTg zRY~iNQXA0V2|1s#qjF><9m+ZVbb93zCx{-18@bdc-fVNaPq1EjnV+9ur-*0F?!b7B zX&XR@w}pi6T$X88Vy0`Ej?xjHpb|X-7cN{l^&|>&hw2pHm}u$iH-Htho|$%PA2;~} zpa0L=(U)!UOB&e=?P>y>Pi|CEuPS-<)zbKe)qKfxaBIh5?%AzM4H_?h*sHqq;z~yC zp}_0>sq8Un2RzQntm83JhL_LaGcQxIUTrswM2>BB5;|gQME4s2 zxxBvPkOy?2k=PDn1BV=NmZ%At@Qr-GSl$G=mo&SWovK`PZ0;#LR{o!LUEeKRXL6=A zsO%xnkjw9Xt)3S3j!ST+zpOJR;Raw4`vPr;HeiwFbW#{T4O_m>;vhFO1gEz18#)ee ze1?_&1}~WDUZ64e7SZvTc!CfaIr|kkSGxT^JEnB@w2`mfm0=Ta+u>F;y7VDB$lMq^B%z`H@BK!9%_*HC^M)5iiZ8GYw_#&gXWzDILC|l-3S1Idc{&TnIad zT675eqS>!7(F~^Xl${)Irtv_RF)rSy(4ZjINY%^35A`04mI{lAOnlX3eH8A5{*PX0 zfTa@69FAvGJ{54vIO2q+8>+)>5szy4v-N`fcLrX|`-X&S|94tm{Vh2XiY~6)vt*k^ zi)CrD|EnTjrv5dQ7$Rj7mFVNKTd=j|gc!%MWJuh0^D+u^uuKnB2p=Vh+til3lUX(E1r>+y za1auYSG7whlQb`w%N??Xes z^e;Le!`&T79+1&q`&PBV#RZ9*GW`4j2Hw`~`vU4`I#UYseeHAO&n12PL*M^?gg;%s z2{KfTy<{x~dr?`X>PST;7narKKuzfgy*|v9aqjl7{Ujv!=`=F*kJ&T-}rx zcT`0=XXm@78*zFo=N_}_*#FjVE5F>wA?stG)F->5+;?nxagUjrIT@$^>wE#X2~+yu zEl~!o#s>HNf&7^~h+#KPedfx?yQauD-hZFT6~RPbuj4$}f-cLfP4qO*^#HfvYvV{Y zj%?S_W~{QY0G!)yvw@~c@mmeI7pY+`yNtdpt4Fprh|S$upws(f4n>x8Ix-7Dvk zcGm{lBGLaAmGPls+36J3U4wK69+E?uqgNf`>v|o8Do)<=*mIXjR3N}B-~22O>p~Q- z69$9G2po4{kWn*HSop!Sd0FKGW7`29N-C|5N4Rxjgrl)f}^1X^T7oHGV9%gmYI z$U3I*Yb=U1ejj#f>c@Q4p%VUL$%FQNhm03x*$0}(GxyyvJ-gGnbS^{LEr>3r!VC zHS6xCOdVFRhGhlag4FRV3CgL*YEj8A;f|p)TS9iEwdBj$ZV5$b~RuWu_ zi@j9U0%Cq2y=F4g#kg^9fd_;BZU<>)Eid~B`D4O@$4Xyyst%oZ_*~xEE zUA<7tfdZOc%tMF}9RuKVrjnZJY4!EZi+tkhg>loQL7_`#nDwA`n|3I1&*yxX?sV=2 zV<~oJB9AO9r4e!XKwWI@s>XeA!JPecT>Bd?ou5Q-TvHs@akQ0u!WJ#|RI=HydhxItgmuA0jLN-!$XkY@owc{vJppK*6U>NT`P{wq2JB~VdCcD?Z*4fmS*qpVh%Jc(=b`@`1(m`s0krp1+oDcO(Ye+@DALOmwHtf-n9{gk`3F5Bk)GcP}P@?h9Am4EZJ z(d+d6snn&Fd-@J&>#;a=%5E*1dBm!flV=;hnm#>g>CqH6yYuG{K|&^_26aF}R@Od< zI*&uN*3>TKG2-s)2hY=W0KIXEO+TNWmXj{gVy?MfG^}z$RC`C= z$g=O&uj>?BPMNwiv=*OfY8|rYO;HApXX@XPd zX3B|w>fQ69dClu@cq>b@*~w+1mp*tc+lBNTJgqBy?H|vdXcdtMSFi3?e*80hT*Kzu zX;G^gs#>b#yKfVTR8)=HCihX*Odn$hUN+TVdiD_6M{TV?d!MFBJ1iYwJo|;m4Gmso zY>}(30oO-#Kc^zBARMi{^-S6@!-`f@Z)hSIpdi9?8S>f>Js0~|+YCKIhV~8AQyr!? zI}J7ncb;?Wh2XQkod-{1#C41njCac`wI2_?`wsJVADzFI#Q$znyWPj4tNAqg?+tv7 z{Pz~et)VYj>LRggH8ua0-6U3LTzC5@yy2YyAtA3ssjcs9R$&EjsOQIzkx!e0k;tLD zwPg|b@!*s%eehWj1A-@r{;YBKUPaIz126guq#zj} zJn?j%&(v!2s2z1T`S`PhH4+qU;!~^nq{8O0q?~0+iE|H4nQ!sek&kaqvw9s@j+vUH z?+s$O>hA^hJ8>>(1Bgei#g?27dB=~}*x{B`$bS!WhlsckjKUU@+ zX)PmMb}a2U-t{6uM$>02cv$IqSf6W3e1bO7kzo+Hoa2s0?%vp)jq3)mD}87HH$lEg zajaoy=xsOGEbD;o6*n!O|927QQt$dA=>M3k{CznEnlD1AiWe=L@P$eiqqEcV)CrOiU&?u8aI!fE`c8TKus zrXLF?o~v-ipeL!+WZZl=1fWYmom-Dze+_f)(Z{C_@~9S|EDrbO1<-G=Jo9S+LJoG1 zDAj0nk?sJ^lWC}RbLr?hT;8{duqpzl>46JS17PjvaAH*ljhJ_=sqIkqQp8MZFy+jk z_)&8K<}Ymads1tVeJ-Cr=NWD*Q1_7!t>wXeoj|qT0B%-QOG)Q#d`wdk$}3{+bUEdd zlI{b~a1E1o`Ee)@EuAn8s0K3ZbZQXAI+!@e6^Wws+D}WTj{|}eD#XGJ5MJoZ3*Ez; zLY1~NyQj0?Xl9Z{`pQnVOw)d}Bt2nuofOKx$%hU+R|E6?WcX+Eq6Dm|#%cmGk~P@JH5Xos55?qNb#%d!7H?u|-?uhH8XI zU(B%D@o^d@S$t@14Pj4!jn{Dy2SgY^N?mQY%8-4}(PunXEVvZ4$h4k@MxeAhJZ2yd zV5Nd>me6TanObqLGzE>%pMNvJ)Te3AHBHlRDpFa8A_`W^y=a~x*vu0tryh}zbI&g0 z$vP^S-gi6dCaxT){lXtPm8BwaWW2!|_Z|7T{-1E_Aj@A?Quli0p878$tg7L{?Mv1S zJxyo>V*Za_`U35mXKD1oh9!$oqm|Lq zaPFii)8euni>G#`hn}G_^%5rV9cG&M`2MOY|8vpMP#!LdzqyVjJq`-`>9Cbm8OMt< zKk_Z&!X)cqP5+qUKfRLEt=r~wzt{uXb1pLYkL?cC<*;EEYJ^ zSR^Zi*>!m%xk6 z@4i9rlSemN_3RK4x{w1Vktn(l)1%Yvkuvwaf*|KxgFDSe=C1Yr{@`;GZcO^W#wPP{ zrizs3ViRFu%%^f)X7V5zoSZoC5N>EhU@SWc_kk4!1SJ>H<$ zU*M=Me#eu$$m@L~I7}5hM|&+cJKtre_0zLvHEOOZdD}cFxawDD=?Z{oCvJ0&ljO*p zHN9Ji(Zp`{4uxwA6?XPiPu`O zv}s|xaq!U8`~hnub4I5RKr$3ROz5)q=1;BgaTbj0LWY0jlmn28Y+ zxR|2FAKl{D)6?@)h~{}XoLoxn?8IePUF1>&Dz6JF2)$s?tProbjIVnuc_&IPxx0Ad(yNtr43bm0>H*1ua$}u$0d7+Sh4)&j%a(o8l zWxd8bU#(=yy2#XI79HXjW1D7wb~FZwWlzs5_F7ajWZQvJAY31qfG_}jtFq-*&)Yr`jz0}JTLV$ zhJ3fnWGexQTy$U!or`)*^I!a#7posKo!81=EoPmsk$B2SI_NsnP~xK z%_8yk%&*+FHGO-LJ^ePOGYHOI1#16cBSuZP>fh{yJO21*ZxOJr4h}5?r?ED!AG!82 zoz?RyQ%w`eJ5jFBIA4I%vj0~zWGq*Gt}K%kzW$6_)oC^zp$!^eT6GozT+!ySNHMbj zlTT8=(b3WJEwh5@bLR>(wrTzI>XfV+ZZ@IE$HxcF#e#>qQoh~v*4*P;;UGkrCX~O` zaz^vt6rrw&ZVV~}q!cq&p@X(K5U#mfnk0#B*LKYU>FyEJU#zX%sUxZ%)$FIC}a z^-~?byg*0cYo|E^cFCx94e|9gl0QWyR!U$kW=6HM>3WCxV*&sZz8pKD1;*4dfOpM35ao}fW+ zibM_?Vl7S0DkRE|JcCtL_stjJVgqzR7)^tf5Q4m=r`g;syRb`yfmU(QINKNso&Azn zu!|75iBBq>I5Cz5YR-IG7vW>V$7W^%&qizOO0}B)z!WXS^mzEG`08l2A6G>$>Psz} zU#ZalC9vAhLdpe<56kR-Y#pDsOxoY_JsVSmi^LNq%RFBCJZQn#mCtni!Tu+FlJl?N z_E8%HR(0}aQ#Y|ri80X5t^#Y2&^bZZk-PL>+TZ}9%5N2@5TCgF@m=4&eDdrzJ@E_u`ySu_@1_#%rq@W=8qogk*y9}kquWakt8yr? z$r6JqstKTJfgO6^Wj+)9?u}9lg;zX`q18UBBxha{i;%si(ioFO^k9PbOayo!*u3l)KC` zqI+HaV!FWci|t=8fe{`_x+QHgW0p=I2KfSfjGn=BYT%6qK|8Zc?@1yvd@(v*B(^_} zzk!~H!y_^~i29drlXWwhrbm-ny187{Uh&nx!FA0t{K=F>x6Z!#qxj8${1)v(gnSZ>ER( zlh@{fhih;g4fP}`P5}u4Du_XV@bUHSg{oczt>;vSZqL6|;`iDG2In2t7^GyE zPaYtDug8#Hi#`oXXahynIAyQo=COAhh=C~i7|dJ4;zt`_ryar@E5b|FKb zv=ee}9V*Cj+U#W`+g?H4hwyw+)mzyDlnC~aK#_6@$Y=~UvvSIYy#WeibReU8{dX9@ zxaE?caH`D&zqU`@?bLnKZASyXoUldce#9;Lvs-M@EI^KboBdbUlIYO)=IS#Jwvy8! zg|*@SLfaD!QLUZNPaafFS=m@fLsNWESXcvkk_fr6_JG|^3nz?tkE{G>@W@Neidp={9LZK}AqJT1nAraQ^cE7mO?Jv&16X(B$YNL~zlfnA{mMK-W z)A#uWj%&ba#M0;Bp35D)i58ETZV6H$mEBIOM$s#{-=f2neM)O7sjJCdMbymg%ppoI zB!t&6QH_!|I*`k+U3s*>cF?@$PdkwWJ#}In5@GbT^9w@6=noIK4BWnQBA<1}=Id7i zO5*c>qDDP4hp2sog6>&MB?Ytna*JLVE3YrU{e93+@Slrlu%FVL&AS1T!oai39ENdI z=Q)?4hkw|I22@{ab1ROmj_`{M4{P2~u4^lHygKoM(bdPpMIx=Mt?ieRi4KASt*x75 zFV|*omJh+ur^?l-WXUHm|94u13by9VJ(cUDs~=S*{Y`T2CkLzU>gTX2^1bcGe50do z&y7QX@76!~s5MB?EW-b?Q@%bv--)COx|9JP_x_#O`mS48pF>=q51(3x9cinl)1oGn zmQXdsjNaAe(}hc$-`sLn(^D`jIlaO%Z9~?!7Sii8`N1YVMKv*BklLLzbr<^tlTeMuyAig8uSCT7W{)LN`FEL@@?P z5_}cR88nHE7p->IU*D~U$(CM|Y5FD}4m!#_{yNPNC*|^`d zl6fWYB1fmLG{Au`F!2(4yyl+7ApfrhB2_7Iw@QM${V|zW+X996b6pGx-y=k`Tfy0u zyi_Av?Pm(4geWd5puc+C4gttz=-_~xNNslPELql0kIs^QZMS|gz-x~?_w1tjuG!=u zZ6QA2T?7Kt^=C8b`r$;;Ib*@#G zDhX=d{@;RB{7cK_&U72w{1C3bew8ydW?-SakOlIew9L$J+HPpDGy#`$6lp;{G%Yw* zFA(ER3=9tD=H|xf?Wa1{rhIW<%ex;bJ6CjK5@(0fx#9~BVG_}1tFa0Wfi+5$rb0lc z>h-MG9Cf$8R0wSKn14^4e{+-6AS+#CwdD$GVcSd0j+UmL`iE7=fAj}?s*O|QiXgh@ zT5(^C-SwcN%ww{%w{O1fR16eyuz}kxZZ&3Fs1dr>j7D09^7vL!i5ZPo3xpS+6{3YM zr_!quJX`?l7Bi8P)$cUm|A!o8hr0J&3q!%yG~Uf`yB`zvdEZj$pesY4=by~U_rC~O zWr<6e`Lu`)|AS^rnM`3m_WfDMx5;j>6OY|jtvOgyNUK2hJ53~=0Cn?LHp&)|d&sJ< zaVM_h47)DMHKW4)CGY0I@(JAeNCS$=YmP*SV#!fK&NTQP{H7!GBhTXE zgk~-QPcUIiPrB7%z5m4X4V3jAUX<|k5^o!m-rn11bGK)61;IgV6gmi|=HUBl#lQK~ z=8VXHABC%`#_w7#9b_`xJoojfzQ5&DDjT@SgYgdo%CGF_Q+>di&Cqc4Oww8vg;a&z zFE3Qww=rQWz`?d3{~Zm(ome#BkaB>qDDd9tYjKZzyo{=v?hEU!AJr2Ml-P3L_?bTL zpL0}Wqr(+CydoWvU7IHjns+){;k%+g12R=_`2zr(~JTPw_AXDhv>3CXD_NB08(%AfiIJL60IkgR&&%H7CQym)v zUv8^|o|_S=(_X_3QP?~9jCI>PI5@2@m(7Qqpc-%j z`xN{d$F>-lFs3J}qlN1br0QC4nw{f3>I?HZ<%uqP1QYXBRNh zyj*VIzRkLiPV-ZOvz|bqaN!gnbk`pp`i_tGRFtvCiNyY6(xcOPaPQXn6K!y012ta- z**r;pED~HfuEiVZsHQh0wc1l~z`L;J_hkDd7Zr*TE^pABnuxv81V1s^&X^9;U~4nd zcSc)Z9|k6z(@*GyJ#>OPUiuz;Xg#hCpiQRu6SR$7bQTYys(UWo+Cp*dq#gw_7+?)L zbUlw>;!1lcZxR=z%=7ivqTNydtJLZx#Jr zca_$Nl4GZ~teg~>c0#)nvwIqPj4q)`ocZb?^i`N|Wo_?AXP|MCLZZ$SmDW2NTbimR z5xV88044mB(cpx3edXJYat-(k+oa4N*s9yS7f7pTtzr9hIp9Cox$*x|^&Q|;_wWCQ zC`lo!Cq*f;HLRkerLvPf4>Gcokv%FU!h^@ij*xlmd5lOZn;a{SkrgtJ&H3M-lJD>T zxvuAWbmhAGjQ9I~-}mc&-LF>})!#DpWFzex%XjD;Nn*sercnNT+=(~mP`BT5qwx22 zQ$NeAAkuACkXph9Hif2L9wZ4b|+p2&!+Uq9YW=LFrr$Un|%+~%%Ysr zEJ>30mUTX&G*|QNgAUffolH{M=8+Ex>sqy4G|Rcr?izCC+tloChBqHc4^_qQOCo&r zYJ}NM=CP#+RSl0H2XL*oab;{5?=rp_IY+4kS{d?`_=(x{8ju>#hrr(tTNrG{dO@M6 zwgK8T)1Z*FoVxFtM(_9Ug+RM{fhy$=d+6vxrN^HH?zi%@XHWizihuf{Nk zt5*hZR+g|;VuGoTNfRHVvWoKajbH$^#G=Ro5a!csSK(lYLwocg@{aSZ^78V}C*|bA z*!$VZP+06q)U*)|_5FZE_@S20-%Er{Gi(I;ljUMQ+Ttj(;pS~_jo10d42E{$Gds(* zt{4llTUXu__;ko(_kLJ7_EvXJkFaN5*QS6H-a}Xaah34*jT>G@F5k)nH|X`QU;ocY zUm-#DwWydF%MD?LckVC`1mk!YZhdfDnaP7K3CfV0R*xTFls~v1YRlWn^n$gyd3p4L zP4_6My+!D&N=n3@!|n@se4UE2x*W@-%SUcXj@;rP6Rfa^LUr>3;!Bgp&qV-Gl9)1B#+7(tscQ-%cdNC zI+WDru?3&vRMc-O``pu1(v<{p7EX~Rm(ImcQDs)2YbmMzWE!X$Rf?KFFR~_R!mT-< zK49QQeYje|LomB;(^h+W$3cSf1FSiU57E?F20sDETLGKz9{9gC$mnMwAq!fpfD!tN z)4*gRSW5bNLHoI`V`A2PMj|eCXJvKuWy%B35biZS9i2mAzeE~ zeY&)>!rRFb&=CHYEY~x23JsDRoXA3|k)YSNFV?qpWltMqL`D7_XZ0A54#RKUNGqY; zeNh;VED|pQ5W+R1nCF7Yv&tl7W%1N3wS4smd9rQyW0|>1(UyH4KXo`$2n+ns^CvZ- z7OE4j2l=mFuz}SC@udP-a#d^gCmK%f96=dOXliNY!DwP1+;`nF#y4GBIb9XzLHM&k zuW72;h0{OFQTfmSshj{G4l>_6c~7c}k``aM#FS*kYgM&(yV_~n41E1^^v`V>ygakF zE2_@oPPdA@6`V@2pj*1Bwsv@u0nB+S6&T^;y$!h-w7XWZPS$iq56elkaPd;I8* zGx3N%azZ*pne2g>xe~d}9m|dPQL>o+o*t^}{UGh-=Tij3U^n=Sp^$@j+OFw5cuUeA zHG`f#h!CX^J>YtAf{Q#-HYFEjAl5&^iP^hk&<81FSJnL>)d>~iCJR`91<`92lE#r`BfjQK3!=vD(66NFqL%B$5 z0eWon%3)`jC|8L@ddhv17FW=`H@fWXz*^#Y&4xBT_fFRZSCA7vQR2AuC#cOwx&%0; zwz*;Y=3AKgZH1e=@6?t_$358HpZBO@n|61n{~3HCW~uqQeIQeS9IIf4mG+MY2Fqfb z#(&6Yw%(tlu&hlQ!BA?@vZD*ZW}zRjJP2;B(D$2#(V3Mm=Ms8=&6cez$bf?TqQ2*- ztBS&vmOca&)|c8F=B22-fn|CFrJJoTQK^M}cM`>i+l{+9pC$M%PlQFglo;A%9&h3K z`JLm>hxD!;ij)8I<25@;TKCGiOL8v-9v@{qiHqs z>Y`Sm-D97dg52QGeI`C~Pgr;8;P20UkDKzy9~O|sY4y5KU*a$rI>%Fb|9MevF5L(L zI%EByzkOpS6SW32Jx(yX?*`qDIyeK{6dYzMfH4o9=;tzpSGbrtQTXRhC&QRfmPd0( z2uZl{gJid-&6FZcB2vx$ykSGb;VL>=l%_xICU>7*LrhyJR;<~Y7_F41jrnmF;xlsH zJHNLjhS&1ft!nc7ytOXcDqoz)R(*_~4m^YTmvR5(>-pO~>^J$PHKS`wi;J0!hJe1R zqpeNt6Px;Au-c1&ByW%nh)PPH;1~u+0=oF{#xX@NKCn@Ch((;6O4qK3q>}u(c7BRy zrL+bdCHWg+wzJ+OB$Pn(oL_qRJ7U;A3pP?95nE(g$E{oPvr|oo^!8d_;%R>|n0tHq z+=xt51zTguegWR>wRc|4TITPGV+)^kr%g3tIrdMU_pPBGg72N({_y!Vxv&e6+@0V+ z!f_v@mWblHA;&yGde+9q&r!#&oi5rpgrrgCh0-0JoeW$>pnvkBHQ?52k>L5a0dkX1 z88!+$caV40k3?nVUKiLhE>$)zl}0WPKI5>(Hsi6Uk-z@`UgpBB)=1X#jW76}p1Nt{Cn4g$N*s`+DT!`n&^-3Q(i^E7C7D3@$OS^Z*MO2qM6Z%yW>YQXv9IpInK4u z^2Q_3IZdlR45RkZ;+dl{iNl?!wNyai z69R-ikYHS&*d2xTzr?O~9Bv^-sd8*8*Cj2C+3tTQUFO~?;{R0#TQ>fmwD~~jPV{Q~ zizntY&0ohW>B;tCb50ubL|7j9Ks_eRv<6Ibp;U5qN#{1;***ZorVxr8*x5bp#l^+7 z&+Qf7f~2oA{aa=q{nn3mNKOqFAU}e4>e>_V3q;LQ(D&T#OOeD0rLMw8iK+5lr-|x-2fmL;02}IWA{D zwHN=m#rI*RKK7-iV%Q}nTl1&MTn~BQbxu%wGf`MxNl7K+JBlawj=Rx-MUG$?;k@CU z5x~mGc};CgM=;VFENf0!1{_22t*N21WEP=A;#)Qc+vna1w13n3d!p>6-t#QYF_yvt znZePG`$6VjqS9mc7WHZWmOA%zkyN4Z!o!^6A7MUB?BN@Fs?mP@C7(~6@%FJ!(v(y2 zVQK+ubGpYoJIK5iz+C;nTLuTjeprpOFcHUv+Mk;&>9Y6{Bq|MHIQLLPE(hg%YVXXh z45)~DpaQso%93J%_m@{*zVRn7E{-Ybso-8{IX69M!WYra8zHv8uIy&q&A)N{?%w{k zCdNrLO$!zByd~-rH>?kQ6{H7Aqvb;MQeM)3!+Q>*`xLjrN*M#rs`N<4fMFq zm?iC4d&8$VPvC3)USL;)z2y`FGN!YothDu~#TvQd6E6LIImUZ0XF;uL>`a7hwzjUv zNZ8NVg0ubtKi%RZ*QytS_c`nNmlp~vtEl*h4Cke#o%^TXJAV3~k9aV#5PgcR)vFrBgeZmP%F_!PL zMgD1Fie_4(-i4h|`ltTpb^byZmpJXG6329y*drt3IIos*hPiHHj=FqmBAfHRA>`{w zjbrRHzjz+y;2$Id9b6~SE~;>xR;Rirl8w9TaKRU5*Ck+V5wg8gx(09W_Nk1BtZPWI z3U7-w<}2DFaCW)hQb?2D6bn0>2YJeQm~wWpgMbsOcZIL(#5Khi*G-x~+SU zF6)ocbbs2nc{|6tH1lRS5z8EEn^qlMGynYCC@b2*wcYd6Avj+PZIM%EE~vAl-1@ZS z{tu6L>Fmr}c1i4spP^ccBG2lP3-cDKyifm#Q95o=7**lTK>(;F=q6}E7egx21Bu*l zZRg{%-v9&}Z3Asd+S8BPQ`4s>e8`7jsX@gfPl7_d#%W%_C*PzBo*N_(9*W#bRU z#Xc`%{@hif^}1CLtF#VIP$V=|*SiiQYaOnkb9=bQz!}#n$brWF zT3HWOsp_{TKR(mpU@#}nPKDd&Ki46AxIGfiHx$A_9Ih2X)xWDz4fBHet%m?N&~|z= zB{B0zb}i&%v8^E2&dNmsBxvM)k~ya`MJJ%Eq(GN16_Qia5d@&!dmt#~7A`92GCt zA}0^kR3rt^NqTI2gAoWu^v~A&|9KZz#+5tQ!qE3D;AgOu>CHK|z`dsQ)JHsC-SE#{ z2*&BPUEXi@C1RHgfwHH|$Wv0TY`ym7n(-S|@t!z)lG&SRqNa?yX0Tl9_xInKnt8h|n@Fei66 zCO_|8qVOR-H3-bSn_(>SpW05-0nL+3MDhA9pCmOKN>ai7RwIT6hU%o$p$S zdZzC-@-=WgEcNJukCzkp-693F)H7e$dtYHW)^cz+cb??hi_WXvEV z31;MMmUhTzX)TV+;#ldND;U39+t~Eg*507+bX}BuKTTzM`$??xSM=fxBC2s)j#R;h#$={=NJ$% zjH)RsEM&X^EVK~1B5BE0l+_vOsw;z8+1b4?Oa+#zT|hvt?S|ZATHFQb7%@>%xw0u8 z00#Ue=aXKRWXF1B&gPtK}MB z+#xQ7yqVJ@R^|V2kNq)7%a!3}PUlmSdh&;f7Bl$}dkQ2}NU|!y~AN!O*tP z!Gr;#r)W50rTnZDPLP=R_#bD$62J zk`cT}mGyR3Apbgi2HK(ZsZv|>&p>AD11u@z{MU6)eCS|Dkqt(eNCj?%RO2vLrf7?| zl_il@v_#1bhO#Y`2&#zKR5)D`PzrPEbSM*bCXXct&~QVVxCQoz z{ZLX^fl^y%%!;;y-ShkD#vo+s1TsJpFtrPHjUyzyT5jYxa-_aE`a2uZS>yh)^gen+ za`1eKT3!~~MzH(P_`A;jT_AC2_J2DN10T@JCetvd&^TpK%ht0;OElw#_(j6h?7s3o zI5)vti2x}P=GF()e5$aCy3Z7tFx34ZK))H(3$)Y3ri*x1PX6=HK^D0vSXJ;TrU8MWGeWl#sS2@A23}!mXcFwG)y-TD&U^&kFx&V-x&44O?R@?FB%|DwU(ti^L z`j^RciOk_h?V<+Oz-SvN3Vv_BO$@^u$M4rPuGjgnh=j6tZD_bhO zX}$A$b!RtV>IH{+|GA%n?U1$4rbWx&0UN9-}^}z zq=|}J*SBvz*l0Oeza4|lNVTK#rSkSENrz(e;J>q|(zLV&-f(KN^WNP_pEWwY93{&< zx66?UzT&(*<;gZxmfOykQFyz2Km8-#Ah;8?1OJS-*f_u48*J)el0u{9_IUB91k8`t z5k*_%wZY|G68sl(>$!Tgz`f1A(p-7$RmsmYW-0C8@2I#o7%(!~TAaE^G0P2p8D=Zs zanKL4x*+5ybgKq6pTW4PU+(awYG-4bF51S%hWUzcS0Mp<4gJ+#)iC%g{JiFOYE9G@ zUf2d>Fwskw7*>#>*ZFc>u)G;VEN5d?5x>Q|@#(PP@A~2myF1@NY%iI03hu$N=4a9C zq+B+`SIqG9jG^NTKTG56>6|5mvoEzS(V_VISWldw31LOv%-f+=@L$aH+AQ%p)M+Z> zsNV1svY?Iah*(=-R%F&1{qr2C8V4GWmZ66DikzBvu*DP z;11CTzBwjHju2)VXYU&%Uo=bY4fC+J5E%q#j2%uM5?Rn-acu)u5df-(DsACIwrL6S znw1f)*7>nIRhKPX9&p5VKG+aK78j%qnR}UKg_0GTJr@_Db6Ht!GfVdTSdCIpyA|mjkuu)W@d<#Y(>KHqGe8^ZK8eJd&n?2zCv6>j=yBUeg z&}eXi8PN);hk?TLVp3J5G(fiDz{ztkB47+BR1rw5Fp8qox7}?+jkq85J0Y(D}VEcnqLet>z+&IMlRd0*58_#*@dn@ zRQiIer^(zm=x5JU9W1gV7tGVPRN9 zZ3hv$81iGP)*=`f?g9I4_J~w6mdiU#C-*t#p%iu?#zAF~a{mIUGX*}8+0O7w_F8E+ zMiR3J3GOQK5+llt*==HksnI^0Z7Fa8FQB#;Kb+!>b~JX$2q;@w+hbV(dSvC5P0EIM zNlvBLD{B)YBF-!s*VKqwDoum6cL9hAy_AWptE=;+84Nw^a-mWs>@^cNP>@gE^7kh& z^75k8+dzGYIpT(t0@eQcC2o!`yPILfOur4khh0*8R53!ldXm?K1-3vI_cRJmVRur_ zKLZvzpd|V;>?0VsXWS8_#j0q}XM1^0qq)myNvFnyt$Q)-7GAnJd*pY=-dtP!0ZF1S8E_AfRLgMaG~M`3pG+vrC>@y zQR%(Qqy0Cg@AEqg(T{ z=6%w+5~kPYL8bwkp`RD9+$c|&4)yZ}Ne}23z-@7#HygYC%MD+N6%!yti4sn%U)UKl z+J$gx1aIxN_4OfP66=25+?C);*yJv8=2)^*I$Cz$sy-;dJMM0KJl78xeG!Z+Z>n^#mt*@r1=<8yXD}t*2V3IM<%4<-IOzM)HdKMZKyE8kl4)Yd zx~BZWe{mx0yOt!uwYl0rtJ2uTz6m#d;rC~Pzc%RR9rse$jla1k8BrR|i=k!N*BfK_ z1cQ>kjexe!IprT`2KA_{q$rU-E^VG>{6ySftXR^kD#Y!U>Zk}AqIXkVRK%1dUf)bT zDx9|rnq{Y%@!v+F8|eEgVPgU@K|C*@*(r4}cX04*;1)>NWaK||Bh{+k9dJVAhr z9_*9^Y?7{4!?#eHW{B|@3|=Dr%NyS^QJP`rMaDGAa@E~#m~Oh^tvB9FP0#&Iuod$4 zjy{sbEgm$g=;e0p&Scr!SG|ZVt6sSSk0e%Dree}CJ-+kGp!vw$0d{vfas$0%iQ3st zuATZZLDtceIfqV7jvSFD+=0iLq_GWwvi54h*YZ}6=8nF^GOI#I6{Ek2R85XL?g_(g zKGS0pvhM!9qnXY2%i+w|{F~hV&H1v%f>X<%$OgC+I?rFwP&tFuEi;k{)wH#>J-yF> z(j#1!lcEW{4Gs~)xKMls-&VOd-lwMkQ()sgO0)g@oEK^H{6Pl`i?4%TBo7Ig%kv`# zGBuTVp5@f~0;0CR@=|K+gU$ES1&;T&d_N1VPEHptpCG}wm^Jhrgnrn~nNWM%LJb$e zFkK>*&Mk*1QBd-^44M{M`9GGTORSa>UAk@m_edHuq>SBOsX@#dx&UXC(>ofM z&>9xnn%v>N&L7mgV0zPlmFI<8lNbUbVlfa?U(tPJ3gHkFP?$lcBSEwD`J7ys2h)|3 zWNGP|SvpM&h))`7r*dGnJ$&n^r$8sTR`mxMMm+zLxUtGBh`;~vd;BSChcj2tE$g=Z zzzEbMG#b#Km#8$im2d4w8a6n5;XL$OU(Q#*e_I`77QK==iifki&NH)ndN=8PEf_P# zzf#6&{ws`f?t9W0k!@+};WXZ;N^>_I&)q8&P9T zp4U)Q66e$@bOj?1dbbw=`fmy@uw@>g%;yB|$#e}Y+dcF7z!QQ80jWL%s;5W^){_$O zPoa=&;%HfF43e8-x$?gsP0%hI#${`&+ivIUvYT%!8T|%};BQd|e-A)Zd_e7Dub)ZL z_lB|cEM5H|4i?S`V#7GYpd*zPdp$P##5!c@=LMd)xLm$f2$0#o*JEqHgYZ5b5s_vD z%PUr{bsKAI-#Ma?xtE?#azrXQ-#fs`4;dyJ-5n64o-SmhoJNC8E47?g8f3V#oI5H9 z{1w8y%*@Q{z7YU7?g5*!x}|G|TS`~G{LjjSK6-s`Z8HF~RU33tf;qkpvM5MAUwEXB z#s(>E6eJnI?GH`3qPN8?D*gGb$E$EN1vo=3>keH}tKl1e!S`!_1NV^0;9>3J@U_w> zUu3%|%~E>S-=FiB54&^hD!J8}dJo_aoaRuO$vCChX$u|4G_lztsLy(VL|wa@lBhw5 z;ab^=^~>9SA}p;E_Kc`Z+Cumlx4r>!s~_xZqoUlQCr-yY-6|bKMW#HtgCP+yLL-=~ zzew7Wn6s`sd^>8nUeK%C1c@ew_zG!U+lNMn_7|X$g`UB}dGM&I!}!VXCz_WMoJjtz zhrW1jzK3BZlh4*2JU1i90C5-7Z}YW>HJ)z{GJ zguK}=g;)grntlk0wLgYeJi6nPXc&Fi2+_-%vn7Pzc_WB^9K4VlFEv0%^1p$(`eb#s zpC$DfANjA@*~5m9LO_?P7kqwafK4!Lf3mT{1euE%((`lw^&mmZyiqIvA)0VrgIze` zNX+`XPMyD%z{Fl|JAYBSDx_?~&t&YIw8yl$YPPiUw=m6u6H}t7{-l$yc~IZZ$|#@! zcsxRHsmz1Iul_qx240N;BtDyZnZl;ysXMK7Vrk>zyXs zH{lzmu|h&)gONCsx>^vxBc$Lg2`n|41JiWKm-o~$8_c_ge0 z2Yt0^S#F0Q-STQ)E`1%rfMeT73z~LtS6PUFEr? z(3v~WQ!c+=@tBjZ(>?!|K1YZgI4CfTr`RbwN?WA{tX^+G5aFR7T$1X zE|XI(43FV<`mk^2R5W)wuwA$=BMWH~=0bhH6iKUPtJmFnQ11yR7%f8(@v6n*RLt$5 z*)Ly!IF+dBlb8C4H%UDz?cmqwYsfUcj=uhp5~O>Eokm*=S)Z8~) z_K67NvT!jSp)(rp#o>3R#-mc2Kj06^?PW}BQh&iM)RxI$gQxw2k6&}9GN198t7-)_ zxiTaWi_y$agn4r7xM{w9!$2#VD&rA!O#>i^xaM*F;>D?LrOm++WO>?KwX|a3L+p-6 z^!}{$nsOBjFTe2idl58wT(X#gKa?n8kir8A8V5B`WSlOSn$>BA& zS^AZ(A{3dBjsu>ON7u;|Qmn(^1P**NAk=w!s|$2&W&GlpZrO+pyxdr|m?FuoP5|b4 z!!K*|{s*kl511tZV4GdL%D6t_=O2H2foSwT0nBsV0n%|Q$j1-KHjcfdzhN>-3l z^I&QJ2&UcsF3b70C547OC8=#;Ns__~1+wTh$yt0i1*$Z!@4bXaaoG}Wc_c7BiWR0{= zFp%x*zulgZDvLP0$w#Q3(BuujaZf{)+6uNma}_OR88ti8O^_X`B9i8$5~#C=G#E4> zu`>sJ(hwo%AmlHELG!ooA*lC!+L%zt{xa=^w76&IW#05T_*!5k0R?qVGvRP*0c^Yk#2KFu0L)b6E*8qZ;mdyU=LZmy63@N zcIkZB|JEc^l`&e09~-P~b2wqy3SjKurq%j!UQ-vl##;t2l@m8W#Mcd~x3%{&HAq<- zG{M+uar8ac3~(bFK#cFk*;43z8!ayMCzak0Nr_0!3ig4X_Pr0MBLIc| zi^Ik3QQvAX3|di(I_wwc?AgQFwZ2tMHu1KYCFhmJ`|;G&6yK9a3M_I&cIElxG6)g+ z9`Wv9z8VXDjUP+2sbh(i7L{_d+@&Yycx2U^($24gvIR|hQADkD{fB7%3@OVPpM+@y zJDKeh0aB2KrmH*8DK)=AYZWi)243GqppZC0?{yQjpl9ZGe$CbXH*53OyrnPlis{1* zEXOaK?~(94J)Y4!)BHA9Fj|W;Chd33t(wP;rz1Z6pXb@b6>A7b-?Z)*01Q99d}j3L zi-1rQmhg?(CtW?dw2DgYXRdA&9@)-mQ6iN8@_ejlFD-chKMn0>Wb+pr8z zE45`%4Hjf|qq+%v4&9^gS)VDNjOkM;qCFvQ00RUE^GGm^N0?IRXEu+1fwU4}(wnA1 zXm->lb_9Bm-m|L@wx;94kGC{54wfl2PVd8K&0d;wCb0e9W58B?#qjFSk0{Te9vq*J zy?sxX>XWgm6ybClZDS9n1kR8#Dg2`W7BRB9=voy8x~{X$kUY{Qn3tP|B&$e2r8YZo z;J_>lqO6d12&4kU;@aKIKc4B1Q)sRHKx_13x@G~iykrspJUS?+Jdbc|p#r$|0k99> zLG~WB>kKzl*U}0oNEqr>dtS|Q`jMkqI7v@ZQr^m(c$T`ovlv-T(`tS7PI*1jt8!mE z{}B<=D=sVhCrE3cTnd(Eu3mh#{<8AO;`>muD%|*`?hRl2GkI1IN{MneWJ;Wz&mhYe zE=JVQ&mx^yU{Iqr`JgMIQ<_Zp%R17Pl7c}1k3Q>7ga+F$K;3vJMKYL|_+8d=(4r;3 zkFD`|ayEfGRMGbI@25q18~rcuTyi0pxrmw`E-|vppW)yei4HURZfddcA@}cjWSeVM%o!|OmuIps+A^tYN`S&Y=W5^zf=L0n zTNCt{k@WCZnsmaI^oNgtge;HufRGy%n!%Id&qY+un^kNJ5(6?%ZHKBseLOXpNWC-k zOHVt2LYP$)Dl;WltAxkX3Y#=1w3WVMud;wmz0S8*>AYa%91mFlkEA-|+}wUwK_Gp- z80`Sm#K4QR>cyTK{-kjkb26aN;WbF$-;Vm6v)$jUEC!EK99;5wf_bwkRC`*(&mo01pJH^vr@2C&TXDL56O%dOsMA?EzqHlVb ze;Z>W4_ftnzW~`h3>3|PK=kQUwOc&Y7X6)1o^VJfYWrV>iSpX2^50jXe^(P7LZco(7p~mriv}Mj=ZAPKe`>pcK;cELejO>*e zFSJuYI!DWN%oEJQ)deGG!Hw!?dD}0*s8_J04eScEUtfOKlFKupHP>40`3gERbAPzmmcwcK60LS9z+u7!X3KL|oX{gybz}@CmtGi3r*sqWjV)QJ{zY*`)51W@Qr@t`17N8xAMg~*$C@EokFcuW%Ely;i4m-mHtZ-_D>qPaFE_P zrZ4Oc=7=|7B^3bCtERmwgN*eEefCock5+0SqFtKh+!^Z%b+_oeR1zre^+Cln1JWnM zZd>4}dP6cDTaqTu!1POgb~|HUWpf$SD^|db`}zDT^fHI1U0+vOmCQ7POT{Ca4tw=Z zFDBFz246zoYIM0LSTWO~#A2Es_1p9|z|A^)3?6Mv&Tn1nc+uLSASZU9S)@UyWZBWR z|Id@47#a3rj99xZnthd7L|0euYjP>!4f{&O%I)H%v?t`!iRPuzq8W77;MyopIC1=V z{_pmDU-7Ha9+(?7BrOV&jvARE9hMt74ta7LOIu4f-dv6w9##4IM^^^mP^`N(^yP~T z81Q0xBEf#{H1%z>qGZf$Cc=?|W<>2y=N;*R-&~+Lrf0lI2dw*)E1s?(<{&G8BXLN+ zs0a)yfP}3WSm<*pRjcz4--&KLrk%aL}Kh9|tQ`pdHLequfE89dwKI7*Hi?7Vy=2vc6;>ZMI=O z`c%LreBW)b6*6A1e46#N*6CXM!$sJZzv=G?Y@ABQfO-EP|%k7mnpaZV1ed-CFhhF+QNTP;B~{)KImgovY! zql&ht?m5hUc?ZL^NFx}!3>eMm6a5MxooWpc&INBy90m;8jPV&GI6>RNH@E*hd9M8;jD&`L0+i zQL1lcrXyOBqG&W5SEfbv4rtrw0+n;Vl~bl;SYS@Sj~yV76>vh@1gWo?ui<=7V3vWv zpqqCY-uDl$+XQ+^ljU;RPdhKQf}Yy&LORxwwZ8hwCtg$);1zz=M0cbl@;t)A>2fJU zScM(<&R2`a`^Xwu&twz!U;gX+G8DLX*7Y1wTe9i7Sn~6dPHWhtp~V+f;|0wV>)gcy ztV(44($|y7MHINe^i|t$QJ6=a%v`LkP)DFX7a_K_>C>4CcqT?lX^PwM(+c6GnMdln>|2%2`$ zETq*vKceCxUTnKuWXaHe{og6wT_g>K+nbw1_19=LrPYl`KZr3$&BDs;8VpY4q; z3uTS#3CMbd<#)D!gejH((pu!{QT{{ zum?>1y!TZQpSzQ(k9qL{qotiOr2>ql7PGwt4FI&VjA%;d`#(TNQ_!|b9kcs|V5vUO zkZFy+meGoIA19&}D{Ki>=NGg#^}@UxK7FeFIXztf7-~*0$yRnXGUBO)LKA*TTEzq4 z_?wah{pg*{O&IPZK=350Jel)w(oQonmUyrOg~3QE59qF4j<6mN&5=B*eR0W8f~38z8?4S3l>)gd>_& zd97wL5s?`&%BtFqAxivTGh0dI-ePa>D%*_$nc?PIdU`DNF{VsM9n=-rc{eobowcbM zm>%=~+nk@(8MBHnylEi)DtawzQVR&`20=kVFNSo6S3zrJ1_WwEMMRitn{4_?Sh-;O z0kaaDfqd}UK{}08@0lq0_TwEi2C7|YrtG?ocpXG1bUu(_C*8z97Bs&M)fRy|Yi z3A;IgkER+5X)2fmE%)&8vDrjqR&y&ow*+cq!&%>`sV{N&6}nrtEe39ncY2O8?m|-D z);IRPH0ydOGCyNexN+6DZ9w?on#o3dVL}n3WB}J`J}UK(SEQtXLomRCG?9-! z^78WXs|B0P8#U=Et^LEMB@}_Po6@ah^;H}1H*c*5j|`TTmE|&STTE4TsA~Ae`HvCB zYe~e#ADH^F1ka81I7yd_AFHAI)LU9J?;O2GR+@SpOk6L(=6&!!Mo17oocHV~|AN+k zrQbLk1sfBzwC(Y_?4oIF-AkU5zdtN|+7}E#yFV7ISPg0j*uK^*FB?wousE)vA;2^D z3MX`K94aw5YpA;!FY;P_GuBk_R9ow{CVLb^u2G*w%_tp`WTaRhFQoKnR(*C(iGVdS z@NM<478xi8lD)i)Iz`T=In3))bVk!<{i`CksuOxvkN(lms(TbU+gP4ze=(4ve+b7& zF0{y5RKj2hlNBkc%Z#WKF0HXM|-U*bUQZ7Ki%kUi{r@N|XBE^ef~!4OsVx%sq+7|;H<#?n%$QjIEOP1$D<<~r)$wE*dzZo!ek_m#Fk zeSha8re8oaIw${Oc3h@L$nrpzKO<9##YT2*)7aP;3xiJ)i3uh))7faXsh^8bYRY|h zxJqEFB}{L2oqgyVv!Scv&9qZ|j%=FHI~)9J zHu0M7rheWUw74K)L>D0AvPh1VCmsCCCb{87{5k3drjBX5cMVLzEbw?+0y)Icb{*q4 zN}~DPT25%~CG>RHx|IPc^a_X5~pk-Cy5YHEw<~no@seaM(~}rz`h~fkDlISl76z zc5zMY&8xsK-I;tm52JrxF;zJwDV~%y8!o~z3gC7?xKjQzQz*a$6X-=`Je_;HZex8q zX?i7vQ0L_4th^!8?K=xu!`JHV{^~FNw$-x_+&ucPzxE0rR0roN&g$)1+cA)OSXqs$ zTf2(D+ETGyYu(2qW!nllGFxo6ADNFHBpr)dBO-hnT?)- z>%?}uNcAhjrUGHTVsbxh4ho$lj=zmkipR+kKeeYvwe|JDYW2V_=e?X!JOQ6V#0J8^i za{Bmz>F!cZ3Ve0)0io1V>sU#b4k41~a{Had7Kypfu-vz;rK?vC1Pdjvj z=oZO`WRI>tP&>@zIIMo=wnsWy!i%?A&YsCs&qSQRP2aw0cbFaY)VF5eiAz&tbiaM^ zt-jws8Klh2uVrCb=$#f;1NyZV@~ON6YD)YZM0)VanBwZ}mI=Vq3~iQHqdmi8 z?#D)3oKfmXmFs&JS`_4`@M8OcLG3f$KaY!Y8vL+D7(#mcaP=H2+|MV+rgXRCwcb7L z&&_RNO}Fgd9z4Kd$JKLXyXxN>&(z`Q7yli1f;3zyN3UX>#hcjF)U>=gGE04!g*bWi zQ64HY=l|Bf3U|wq zyZDol@5*?tr-wu)-9N5sN-lFVWX2%kb`9SlcBfr z8MUjBukS2%PbX2yE(9}uu*u8cv})VbGuzxe)Zd*N@UVpH-vE-7e`Ni|g_RPo?hn7( zJ|p&6h@{>6su$@AJNfh~btSDeDVpu9t6N8ZNlwc2;v73^?T(hNuKUIzWG{Qqg~>f+ zP-(fu`c1dbQWk%lIr6pbb^wldqX&td$Tf3xFX^d}$;`bQ%X*YWNha!t=y40<;=*F$ zC;I6{`UfX2@zlt1j})tCav}~-^aMa}wy5VpaG!>jc6F2Em%q^$)hWlsgc5z)4bi~2 zKwwMwl)AP_WkZWTTo`a~2k;McED2EkA27-v4t&@&%a#M-o)}GV*vqVjVsu_eBJN0u z8{Cn*kjF<^B`)Q2j>>f}I{uaXhb~fav!UGi7gA!u<*oPW*}s2&MCp@hFvlnc%xWIY zIOK9%(3Gn%312b{Hzmt}*w#=mn=?p(ZZ;WUW5kNX_=kAHqkPvffr zEP63bYFlPRJVGCPP9}7DlY`tt<$2}tjh{mM*Xo5lPb1Yo2QZhGs!yGwsoQsw#JjDZ zNMP_C~ zL^fTU7XR$MCb?j^?EQ3AcdFRbbT5R`yG?xSg}-)OoL~57S2E$iawKX}XrDMhds{PR zQen_0YxS}fpImk`s??8!+2=Bt!`6lA1njdVIV4ccOD=14jU6>j=SeeX!|R3?pS7fw zNxM`=q?Okr9p3QxXE&Oia6hor`}a9kI7T~+@AVNc^Yo7KpRo4(=b_*9kpqGO%UWRv z+@I6+IJR7_b_Ftk9y`urOD7A(zRYP5=w)VV>P`g$yE zpc6?}g*rkiuUzxeix>GV%S%Phy4b5P8XHXONj}}};thrW4@}QEW|zaSbx|OPN06V; zTHBs-FKOzt?=z#U=OfPKob#c=Tc8HAB;H)Z9Q&C`IN>hg>ud>i&9d%#~q=&nhpBk;BJ^NyZOubQ^2^47PO6?!@KCw-Dj; z_1;!bE^PHqdF*BTPhL%iiL2&%8=lLPA-XW4M3^8Fg%w_T!6Kg5T~7O?n`C3bdordX z;^Tnfml1Q4CUa}i?uj+;zmRzL&p!3`q>^5=3(@~2dnPzvSeq(EIIhB(TbSd+@Z^8q zdMSB2X`LZ3gR=fJ6T8JbspPrH;B`cf2Jt}jpn=&;9tam<0Kl$s-y3}xNKQm;h7U%H zSaj!N9;^Zz`z{i|*|(u4UaUDl>YrN0Nw#``f=LJG`oNs$god{xy(ZyFR27m(4ApC% z3$=}Fy2bkDmZhM~V;R>@qosoj!6v)AvLTc>joTOgux3yWsSon1()f#mCE}lO>)O~~YCY?sM`WV!r7cX5JmGZhe_PFpr_uFg1L4{#Kxg znAgVUy&__1?~J5Fo~8@Cp$u_#`9j*j>Y$!OuTCazKZ}PcLD)idK*$yd5N1wRgVL2 z-$Z<;yp|)`COx#h$RLKG<~^2KZuMqIrvK-9Rpr+>zKhdF{iA5=t^EI;`I8Lf27eX@ zYTM{zS?Jly%Xv9Qb&DriUuVAvRfvfFr^gk0(B&!Te1|X!AFdNPoP(+UrEy(^4XEx* z%2tdggGg#V`$IM^gXir!O0!O;k}dRX2*i=k&=|$gbtNn9>|Z&4*o!!6tu@!+s)ICV zw$>V?A`l61&yCK6l}(Nn-`iE?PC2Wih#?d7-c+>o^;c|>^&9_^Y4q_q!SMHQWYf9K z`6BhV-~Fhxqkkg4)4n^+YM?YiCj0jZj6e3~8!z}dOz-1pw_u|*KdQ>r$VGeeORXp7 z+R&-CL^T$~O!NnaosBI5xT~LG;1A@n?$S|gSNUOId*%Sfy)%YL7`Z@?V+=R|=o7ji zJl}wo((0cJpmq-!G<76u)B$tGQ)ke1T423B*z+v3yhA{c%@c#GG8c_`4DJ8l8%XFf z=nI7?rghE*K(zMuI4c&SaQ3UcWd!H6&0SsgP@EV?i~4hn;w~8~F?cUJE{CCC<@2|^ z2z4?$`w%;B`Yz;oxap}c*JKvS&IFy)CKpNvNCf6Pdgk+nVC^P+f>EGep#Zl1$CVM; zzT|+KIowhZG+{UX0k?@mH3K%??1A0~ecEkZW4cmoDm{L>5&^0C0rCbB(Cxg3)GH5m z>h8|Pln+&wm-7Pp7$HSkZ+#309h6~N&hRCM%EY~1H=gxpP?;JRwY}TH7Mdk-rX|R# zG6p06_X)6jPcTDSP9e$VG822!<-f7^I{rs0WnY5#hraZo8zPf9-FT6-i0s(4z|o!q zzU6*yQ5-|FwdenXVs3*EMnQcm>m)1p$E>9sK)i=RP_5Ca!biS`ns zw%#O}M9Te}CMbW2#j1zjQnv48=sOW1L7`V@_1zQzMSq*2!1XayRr=baN`EB}4i(*s?nPJ)HA|iI8eZ72t}%>?4N*QNBuz^%bi4-tW;s}4>VfL+Zp}ULKSZ7H zwO_#5xt3SWx2^A0{Xeq4JRZvR{eLQ_<(#CQRHkH4ma=3&9U&yyLK$O8vPZ@~GpcjQ zeh5=0d}Pa#vBY37(-Df0eHn}_S;iIy88h>{A5q`e>-YTeIsGx8$Nk**bzjT-dSBOd z9JfdDG3B>o&-RC4{OeYj7kBP?EY&~VR&J(Q>0Bz|QO!t<*Apfy2k`AuX1xSDkk$6t znDxCCn+VKp1?UPLlSOA##_(9~s=smm78VtI+v6c<#(+s?nv>TPknAo#3lDs#rDv*3 z>21ucIrh=JfBxXzSe0dAZf&|Hl-2L_b%KFG&WlQ8gW|Gl9!rtE-V_am?Hv!~;<13# zD|mYEyu1*Rp&hsWFIQW@Z7JbFFNbo;sXukw#SZ$eHD0yB-T#!^^a60xmJcmJ_S7Gc zD>v4~t^$U&2*^foW}Xc5sIUF$POG^9NHWW9%U~8w%wu_FA+Gv}_676WKtyuN%a`$x ztW)s?Y%sN}Uz!8D(=nM7w%LCS0HqJ0j`7i;D6ILdTPeH0gC$Xx9<-Eq#ur<>x{=rv zm(iTKJZ-PeMwNBWH*H;181)x!=F+IXvqf1agIBxaMej^vuA8h>xYcoG&rr{oM|+O} zemkVgf;y8XDq;=*d~<_;$~IdzE9FM^xmh2oPAI?25V)odWd75~o6@Y(p9XmWK?RdrxKqD=JuvI_740gWKRt3ndQNm;6X3&T@DtFe_k`7AVT>})p9 z86EvjZ38n4L7e^p(u+}wLkpW({EaU)t5~^(E(WrifL`fyTmD^0K@*1 z!)fSlL?(0q9v-bbXt z0-mF9N+ox~y};uCELhC}`DF5PAn28hJ(&bNh$0r4nc6mgNiM5rZ55!Q>gz0!$J;;~ z*xURCh0GfVZ;c{(?}o)s-*Frianc$2`n1V5V zQ#eZ+oKdXoqanhw+dwv0_(IjPs1EC!Ebfe9X6H4x^0Q8PLb|NCy>BJzMh&5j22bIh zUl(!IO4rp{=uM2SqLu#nu5tH@i>3Kk3X48R#$ zKA-tFh4z_ZZg|M;#`WuvZe^~K|F5SegGkn1wluRUvXqu{J#g>?-&YcZSyBRs?Gvp`=cO`GGeP|5RV`>92l$f z9iXp;2^PK%C@InqCXk<>ziIA+;n%U4Pr?t1#2bpvD_XTj3l9Yu6t|3Z2R8k;T~!;b z7X4G4FgEY|u6$G;87UMoDvwV{7y3g_G*Y&1-5DapY)!J zwcB(hFvnG+az#Z&g|0aa3iOX-Q=duQ#{&0r5%6i6KrRkULPCsOUa^HJ$O~03`J%9H z5}7{kPjsZBT;g1Bp*QkkWDos>@b>)j!HyJ2NabDYPx0||P~y>6DE9JKmboW$^d#Se z--t+|=7yeeN)s?Q$erC?x6$|lFG$umVx0B|0AmkFZ%$yZ0mDERL9ko_25=$eKpU}z z9!~=3Jus9l$L?APynFX5nApPVSqI`65AeAL_Wk_@?>xW=fNYDs^%_~L&mbEY4{p>4 z;J0nCLdPMf9XOnkP1o<5+?nqE&kjelt^PS?W8>(wmY0VI7$hdv#9o_Q09EaS!3>4Qtli-cnQogbu?Piyz}cDF zX_W_{c{fM%BfuF{RaA&G0tTg%MRZ4==)7vE)~p>A{Cb+7KMvR{@?4%HC>MvbDyRQi zfnvhLg+sd+SmD%4DGtb9>!>qlEyJGi_b@5)3X+3K1qrVZo1*)4wE#_*a5Jvy?x3 z`uD;bbs3pIVH+>ylDciYA3V4TN^63K^YX~R;6ut6cLU78-oz^bLOz9Ry|^%xwxh6~ zT#0$}jig-zoQxFYde>fyo)q~xscuXdHWgWP8ME}&;Cl>bjR(S-RKXPo^qaK4*@GCa1LxuYzda3ur42 zYD|5hcFGMI1I`6>+>qutZ{+3mQgK*@3uKj5d04o(1R4E|fe6Ig6vw_SeX8(B{?R)c zK?mGf_Tg};E$cjU{+H1^d9EdlUYaf3oF4S2z{;y4ZqY9`_pOeG|3U5x+)?;UuD(OY z%seYe}GyeezcsN6p&{5z0j%pg4K90Me;uyW7up75JE_Ki>= zPw&yHMMec7183!x9)69i0v#RH*Sa+54foH0{+j5|Z{EpZE_3%YaC;|zUx7%OO@M~9 z;a2?=yKfWT(F|I0iSuSDHrnOL*`IXnz1wlkceK1|w1`|!-uQRB;W+YVDNP~#M3K); zE9v<13fm`(_ih*H9ZrbcclV-~<^8Lvy&v^N3QfFGx1OkR-$bREr0Z}m%O!T6v8cU< z(5+kg<1vNsY1$~@w9Ce8+tT_>klZc?0U?yD*e^9=qqZ))UKB9sqMC11C~*8Sr$%tG zi;nOh^DjD6?ntttBO}+IS6gg!T~brK01Ay6L=Wy#)Ng#!I-0&}mFp00`W?(P8UY7Y zR&Yh;kqS60%;j|Q?=238$BW{po!nD<%RA!BWzYJnink>G^OF>&{>zObhrjRpv%Te0 zcV0!p{|<#F7#zBE>S-QVob1QFGlhbZZl$-?hdN+pPpYG$xW9t}C0*D?oZOABGo=j$6_IS9m?4 zOB5e$Hu|W1X~Y#pAH4F*qpjMz(+2z$dYB2_R%sS05>Bm^XTnNe7vH;n@SnpiPkX<7 zwy?L@vD>F}Mc5|OHnYZn*A!J@qS**&PwL1 zN&r*MQylS+4I0t&h%p+08XlpSqR*CJ-gBjB=1xBI_#fl|x&8~cF!Jl*e?UijmfJ0Y zVHElYd<_gx>k3^!MY9%J%?%2{sBrFJ0)TovYS(>!bR5_#s_n&Fe)T_}k;h$y-lY}s?@nJu0yY(@Onx4k@h5YHtwCBO9gtwh$_Q-5F4dTdiTVs((;aUH$y(UWVV zMo}xEZP~~<6U02A`aXluTrMz&QS%n}ZPYP~U1rrSjQhQLI`%dQBLskhbjZg`Z#NTm zx$xzG8(-nGuy1-&c(h6la6zW*u2`lc5t-cy$fzv&#jZaQycovpI@_*~xc48+^}*8t zDjlEAJ<_3K-XOq_0`cuIE|}q?yE(U#*CE+6j7y>H%BAMn@F*g??MOpOT=pG~3~J-S z7KhXZ`ID4b*jjN-=#RQm5n&#?^XZJv`0mK(&iCWK{F$-X{QCksdLX#^HRxpXuPN_6 zl#!YJCjc_79W37~_suKZfeLbWfAE_-4^&oGPTLR9e)A~l3#$A*zpYFFjYxM>quSfC z_|-{AHxPO6sI^~sqn@T#BV3V-tO7Hd;9}IP5AbTKaF9I1Y(gO#^tMuD6q-@?TA$2s zNN*=d!FY}2ePV_b!co(pm=z(&Oao#uMZsB)HFICKP))kF%+sgv?{cxxg;g=-0=gz|_qc-ubq^+@4#|y{F9%_kxw-s-A&lIa?rRpU zD`X;Tvd4UM*wNmGp?R*wvGze!AhDr_f9-e?p{CQq{0Wk!%D7L-)6t;K>ewUI){C@c z-c0l*AX)R%%p%gVLP>eK7~qs9LdXLzGU&@W#;v?@50lOMcRwS3&g~=R0}0AG@wYBH z@=L|+5q4=|HavX_=~C!91^cP>5A1f#i(3(#>b}$RLeyXGW`w>`9aq8ai%v@3Qk{;N z_Om-x49{sG5-xPxGf)WYt`A=K?$t{Zj-M6r(eZ>PWS}RQ@@1W+X57-KD6=QDk)t~b zcmEdvT%%wMa^m`G*`B)A0xk~?YVEKi?lIY=&6k-P(QB@;2W`m(Ms!$Rt*ZNvfJxzp z@xJr$T=vNhEhmzfSJH^$tU4H|`Hcmg%fI6)VOCsU!;uHT(u3i-YsW5DaQQno>bj;! zsW$Z>`ca2_M1^M!!b?;|p`U<<@`&;z`NuzD2Yw$-9X>%66(Z)miGEZ6?tb%c3AX2a zgyMsOXL)UWj~+^`Pvd8SwpB=oP}c~Yv`tVDfXkdIiSz54=lY#Xr=Q%8as+W5x%6-q z`kQ(Bpx|T|j{gAt@q=%RePr{$|DzrIjov5l-5tpoWKY;7n@ih!F1J#jd~xKQtfQT` z`!aGcVI_4)0934>hmb`=&3YrbbKI$V_9$^*_oj&xjFjTICx42MD=+Vw4^Fes% zWo*96x1Kc|_UP8PTt4{I2|0BXGi>gvAn7FfK;-FCp_Sp2N8>_Ig=7k>E-LJOzbJIm z26wdRbv+h%g2nmuN&HMeuQHAnP@CqpVhne+6RsR;cD77Ni3UB5Ig@TzG--ghNnU5-$QxP^R0Ej#fdPSH3#Aak81X^) zLB&2dXZ@(oM&p#_{y4dM;n`D%a6InlYoF)AMB^Wi%CC~iD<+GEYu8ntwMPV0$d;BH zi@y-#+b1Oc&xqimTYDZ2X6(368cYP%>HEe~D|-K0M=INNC~#g)2@rL89u;XE{Zd#k z@BBZ2YplH~_hsH*DA744%^;iPe?Ly}z*0;8AZuNYW@+vEmS;|A1Q+Bi63Z&xL{lHr zSE0~sc>F|>NTa=p?qS}1YB^E7x;YoSe-gh&?3~{&d4Q>e{fvaJr0Yu`E9(1OXzsA_0e!3^q z1Hn?mva5L5jM)H=<9CR`pmL=LduiXZUajQ!yXpSz`iORZUTV^DT(m2CFX#DIg#F;m zuO;e z#}{su`6_~CO6R3cOs|58p_@hO) zPCKpS>?K*sTnEge6;Ln1xP`TUZX$l`9;boE4kzGnTv3rM9Q5)R?hbyWCT3s)UyzoT zZYp)@8Eenf2TfUjtAK{~ZZKHj4^eKkA;s;5KbV9Szt=wL6z9>OaYWZD^;y133FA;& zA=IS}dWK;?&G&=7<$o5>z4mq~Y3c9sd*D5&)%9gZY+LSF?Rva%%7x#n`0Mx|q__Pm z*)+z3U3(%aCDjOsWf!1y%BR-Wrh$P|E)zuH5P`+_lc9ZspF;=DK+@ z@eRTr@MDfmci{hN9N#vKe!mRkALm-M<9u~8iLx_0OAeVg3K}`QogOKUeLJRatGQ=? zm7Y`5y5G%n!#<=7V8+1m1OQyw`}gmMSSF!~+GLP9U7Tz?2YDYzRu^*`VsnHO>&f6S zC^y=%@M!{0SGX}CEAD-TrKhKh$w>cG>~$SD_4`*`_10=AkA9|5hYLT8hH8%#8|mKG zNe(;SVN?9&zxI1)zTcm07n2(!Q}VLtuL8UcOwVZ|j&`Mc;FFT#Adqn{7;1ss_0{_K znHoEWIj%zf0~w?SHrT6V94I(uE)aX@46t4xAHiOBLcTX}*g!RN=eth*-h=heh2Hpc zo*!uS-8!WQPZxs4HiZcmTq|-I$D@DPuw2G{JZ-=*{ejf)61xQb54t8pNk*CW1X0A1 zO{PVOLiDVnOA`c|eE90S9It5ABZoN8z_& z`Go8f=ITrv8w5?H8#nAFL{s&jGi{ZhrHa(n}O zYZtACf8Z+-(BY}rFrW7Ritf5mOlI7IT&mM--RUk7*q}x zAO+C?=wd-(F<_v8MDWf%+JJ(foqiUW1t|B9#gYKvq8hM#4T^2B@`n{dIBme91`o#S z4;R0A*4utNZcm;%(;V*AI-{f=hq|pI+&0Mg)al==dHAPkJ6XAbic77Ypz$ zjYbfggH%^DjV8Bo;eiHp-=QPRiFdWDjgoAhmYO?o%}PVU-{X3Xe`E+;d;4zv?0W}0 zaQ@uL&X1$HVTvLKcYBH-WOOGkj_x=&dS|{@*>2}(4TsES({umjbB7nem^OjFE>jOffh3uq^S+fe{n1ix9$ZFI!lUz@( zuRGjDDyVuPG8IBElZcZO5jNbtVXwH|D++etSHu=-c}5EUK$l*AO+7wzT*We{Sb)p+ zW}=N%WS8TMMIn>_#f1OUe*29GxZIe`Wl$Nt*nP(XwCW5Jgy1I7FzwKDl<_dr4Y}OK z?8r{VNB|f1TOJv}Z8|FfsnA8T{_T9dL(8?9SK6*mP`Krn%L+HbXAPc~IJ7mmZ=Kul zzdt*+ajn19NO5vnw<3x7_)%J}{_d#BL;EIwe^ev!N(&+Erhv!fn9{O# zjDk|(acK15F~58Fv|owE$?Rtag*~cvM4`+;PgVyfCtc9|k(Ijw0k)|s$^FZx z&P4Bp7Wla$ao7&MdkGHt}8X{6&7`Hz}b?|8K5xMJ~FbiHi`CFjrNNf<0aEPVk57NG%-*FSr+ej`j zRe;^y-=74iJZ509z!@k(c;x|bL{`PCv72D-uvyz$k26ei+`Yk65z#%V>&SYZku2`{ zeW5#aA!fTZeW<`T?+zAp?jWA$+Q5k;CU<Eu+9qi^FQxPa65j7#zv4}y03g*q zDXZO`$jZ$LS?B-F!`*#d%O)xqpd@$Q-ERQAn~C;(gh*R`VojLvU{EN*Pug$P&{1-&FJ9z@Wz$H;TtM=nkNge)mo`Q5{i&yd$xT{+~s)Xv^J?n({@V z7)OpS3?K7+C|`}41WaSeyL zRHaW7K!X?gX*W53Oc%iQD%bPc2vTf_aPM52)JaFdS;d>;UOk3i>*=-7n=J^N)=ebz zmnY~G)IoJa^@f{G?B3u>C`l>?3hqYuT3Fk39e4+CKy5 z*LPmS3x#M8~zw|C7hL-)py4kFvy;h> z(vrBYlry5+{&cn3XyFcK)hkW#ns>-Ct`thW8LC0wVQ)-mfH3MM6iq=1TtLo!*4JnG z;^j*rSbcQ684Yl^)~Lw^EHH$+SBC=8qHgs3`MeIw8_u9^V6jPDWsbSC(HFXkGy39u z-2NI_iSMndWSrg5{C#WRQhwIP!&J!>IR3`90kJzryo(Fp9>%3h{(jz8t3B;n@#m+P zuJ^&1hDCex4;2>VPxI%6P%3wVA!q=bL>+?$eF2Mj0q_AaC(18_PTRE9ohv)4(ZGAf zp6tk^-N+v08@ye*Fcrm>eNcMI2`@Qhn&Ey~4}%i2G=FCY62b?N45&-(aW1%kF+)blqS z>U`6_;eVW5bM*80tqTD4pU>jSCzqarkDzQy17hWxWZ(D*x`&VHXsm-duPG5y-=~Y` z!62$}z_SB=5|4mIms|B<0Qo!J29Y7<{$$ew>}^`kHeGA6 zOwV4^L{<+1iVnnxn(fJCtfa$nLSY;ge#3)M$8H<)1E`8c->P@E?}3u;k{NZ1f2wRk z$WXLQ{Z;!fu#Ne1*e$F|%yEw}{htEr^jKO>-L5Vz6AAMu*@T@5#|^2)-l z>!wMMrTk>)-Zjuh+|c|H1BfTnVHkw1O@Pd@FPJAs&H%lTrw=LSSWwxRT{I7XB{{%q z4X7UKD5VK*2yc=N*|zU>hmB1>+VLusVGdZAC0li??$m?UC@21grZ4S1mL6pLPikV~{stD*xMiNuEn;8qo#;}EV|zH z)QTfeBn|%T$|X^4fO8$LQ{(L(k+f(bIZanKi+}9DG!hq!L2mad=xzOFPwGx^IF)|a z5A!OS>y@0zZ`hToDw%Lj)+tBQlCPL+|0xTtgZb~WYdY6V(uYA~h!4QSjf{z5rZ-Ul z=?+TRLck@&>iFSf#^5rLSnhX#zC@@<5o8zi(Ah^p3S$qw;rKh5O_RSu^cbOC6{J2i zD#7)OIw`tS-5pJfyQ|9Y-VARr*xEXnG?)~(^>6Fj*2j9@=-ryH>>aa|>!1E@{MbIk zK|V#h_hvgeo_||Yu4H^6G%gM7q3{Rh%Is$~&VT;=FLFl;;2(LuP5~GlXF@D|qYX7Y zt3%7e!UHuA`P0RZW8}xWaF7OCukoEv8K@5IA*j>asE#v>z* zEEMJMIoL+V@M(a7*P9PT|Cc+HZ2Nv(Gp=-Z2Cs;MT!ho*suQ6`@(07pT7qM%?t-)= z$a`o2ixMMM=PZ=F!|5Ow(2%#^tgrdn+5HzvCRDE^ozlQqK?FyLO^vSHX(hQ2%;wCN z2ARqK+HvW~b5Y(5myCA>DMGp%O_EJ17?#{L=yg=20qjv6z$eKgRlxQGdLbFfxf1}^ z7yRTp4*PIl$@_%LqN{XWcSYCs0~ti63zmWI^w5z%e|pk3I=>wK7Fl*!fm7gL0d{Uj zrB)w*G2>0F<9k6>PETtBkoAM|V@(wP6z99Sf4l=l0if_@q815I$V-r(+UFM#a2xQ$ z?t+>$sF<~3iYdRdKB9y0sJ?Gq{=U zL0tKu`Ev~BdeMG}On*vyo$l_nZ}IA@4AD02I4VPR>RtgtMR0K4)ALqp=<#Ky*H4lD z5#8lUBNNztOxf2*w`mNd_yD!AG z=Obvqq0%8A(E9VoVnL$MQ7HCxk59sF*THauq@1_T9qld#o0Jwvs3~(lx!u9Z+5aHK z{FS9V(UcRT?XTa8yrVet{cR*>D}4AQD39`z4EAVSGmj}~K2Cp2or)ubRPnQ>#S_(<80zwX8q98#(_!Zd)MF)Y;kYcA)?#J@CcGpm0`SVIg>^!>8 zNseFrW%n@}C{T4NP10ZlusrOLf{+h0OtRePdhfAnnQc0*$vM$mrG4nR=U}~4k-z1# z?6!fRME?Y=g9ndyF&P`k8S6?e8O#Ee>|C(y8HvYkgpU z)3L<0`I)haj2#4wdfh}uw#6_jP{$k-VNzv4ILY#GMXq-B5V5Y`zE#eU(1YgEkje<= zjBd!rC5cTXIhWuoGOMW0E+ll<28q8j`N0W^nDK~UIN=736 z|J}f@%z5iZkE!x5PaKMUkx(iPtHc`^cUEvnCrU0k-krF1D$H3fxZkTavJNfr2P|7F z%=FpS^g>lbeERSEq@S;91lh9d@5J28RDP~tcEeySE7~ga!$k_Eb+O~#0NM`)zsDj} zd90%0-GkUc!s=NXdSP{JY)tl46_WYC1tw(ybNcjY);H!V9bLG_q7|*4O$w%kVplmD z^G~WZxEJPn)W@oj*!8}eI$!e89yBd9VATaKh=I?bX$OG_ZUhPEUc8z><-4F*QQ=Nv z2omO7>{K|RA6RX*(LAg7&VYS_!PrN3*g*dcMp`)uu7(yRBeZjUH7kNDl=v7qIZ032 z1+MEUvSBBbgE_Ox($hkYreJ=h0q9jJU>6r>D|52@$Uk&bqLGuU|?F=^Sz;1 z8lhT)wchb?W0{U+d}qI$rv}o9Fpkr6Xr=#fmZ2Z3&oI^3nCddDvyU4A7$M)s0V9G8 zh`P^a%M1yXvx}AabM-}cthDE{V_JXUNo!jE2RCyj3r#Ms;zib1@Vx`_N}2Hf^*%&y zLj!7T$!Nd9vDjQwq0V5Qui5YV$@R>e^UUL4G*~m)?`W%J&QywqZ(=Hj)3Gqm)E-@> zaVkK*pA)!u$1WJ9^_jkel9rSG+rId3tODxLco$1fVU^bK*;;i&AG6-+xan%H@$ZFg z8l@mPhohQ-{CJXE^s@b(0yeG7@2xnBfq!yeXS6*=Q0wXI9fq^nI|f$S#?<*#7Y>@^ z%gStJ%N^Xn)c`d`ez`b@lj>qA)DH%{MwZRa8CVWw^$sEHKPRiIQ=t=q4W}Q3ZTjMC ze%eNhmfqCL_h|WyuU%4z0c|yPf*`!dfyQMOZ@SY^ZxRG$H8+@tY-nt%c1Jz)2T4+n~T&6A+V>%AVR`n%Ba1c>=-b`Kci}->Q z8u`77Zt4tKC{~ajqJE_vM#$9`@T2f)mTEjJxNtHUU-j5@?aI;g4J5rTXTm?5V4yb&*7W z<&0@$$h4oeK{n%cO4T(7+%(^i+p*18vaP2)x!cAN@^eH)jgunX!BW~Vy_y*+MqOzPk8wN%*IH3fuM&NXkE3VC*t{GiLVfe10hq1Swq z@#c6b#A;isajCjgQF(YV{`Vgw-XQ+1ja26r5Bc)Hd>l4oVxxmcpYWJ?Wyv7uF=rS)IAb)NXt^7esRUOZ5EGR68rlH=S6+r)=E>OCA z1nwd%^~Kq)HmzqwO>~J9iT-rFT(W>u!XdgKU&Q!{>zzl)ccjWi;7)t z_~-&&C)JcJ??mH@-1H3Pglu(D@WO?#lPmN55xK67lV5F{edx^w*3I~MUYr9_Ell%N(9vyF-upvVbE5!KteF&$bl#f z^VV2LK&0pe8qS(~YbcE&J4<0BE2r@vvPYlB+kNKRyw`1PGh5A!cJ1UIf7-?!1g_cZ z={TOIMN~WX!?Rpl-nuYB{VRP#=)G$~{fvzK`8jzIhtq9{zOlJT_QkE!Zv87KJzjSP9QTPE zm5Up+5O2190qEP(^yTup-sTH~2Ej+)a^P()lt`xuwln_DH9`y!!Fk=O4)6 zg5|d6RjqQ{DG<`pdx1w^K8d^Slh2+G^Cmfd0~2MmMS}-Ec*!L77+AsD2Tc10sh7wp zLsvCYQRWJ(yln+FQN}C2b#hw*B(g0)=QG2sa(i2_$CThcQul%(-Yq}GX*FSO~L)=iv>g4Ed(rINQEI|Wt@C^YpTjj6^G#iq;X1bW*|Gyj+E zHxUKKt^r^3*!dWJJvZ~N zl4kEDyqvRF_>%6_fg~}Mo*^146day6)4K|Hx^Mp$f&1!C{c1jVuR4q|>+d>`&D(lo z)9{ra*ONC*E;jTiwNH^b&-6l(E-SN&2s%o7m_*|j-Av4xvo_#;Yp%1kWKG>R?Ln!= zwR@M|)7|B%U@t9aj+@7ZeylB9-?Fz9FoJV)4~Cm=YQ>|EER0@! z#%M@>hsQnXS9&=yj;nbe+hUZuD#8c5gc{%WEAG(v;TxpRqL=2?H%OAtKszLBUs6}4 zBthCv5xWBJ?ES4%f4u!d%OQmwJhLShLjn`=>q(U_mf{*1*7cwoFHQs+*-?) zw?=2AMFHE@MK1#zu=sV^c7=l&V-MTnzCz&%kl;udq!wTl-0K;9F!PDUpoTOLdA703 z)$>6-GglzGV{Y+GWx7NH`u3)Zy9#Y*?yIOaAESCj{9yvP{6jD29N7(hSPrDIpjSqR z{;(OyEM>i%bedXBU9+y#II{osT+`YaGn7eYuIcE9(dAw)tCaP8=x?X`Q8(^zBjjc) z<$UpHt%=m;T=3=W-i{i)G|Y$jVVE(2LgF z3$0Q81d!;HW_|DPS2w2P-S9|MUSC21OA`af5l;a6iQ0lyCX z&SCpL9@As_UGY;POT@0LBb#xd4IK4I5tfl2u4D3sfP#<#1^jx!+sjloBR9Y4KBMfr zuU{8og5>AQMp&tRS{ZFP0f$}~ES<7-G(BnIVxyC!iJ}^nkC_`T_*_M$Xj(>APG0VH zkv7F7$PF8In#um=+e~IR9L|%y+7H5`W^x2dV9?#SHqW;DzCEjVBk+V$ z47|)~OCH0w`XrfeE0v^qE-^`8A=SI-NmCj`x4s({ zK;sHB>n1i-jKTYtXL-=dH3ixR9j4#!9@gwq&CgbcC_h0tUY!+a3%qL58>V+MF;D6^ zp$4e)d7yb8kT;{H;k@x3oA!dz^CtXaWRnkuy)Y}{`yGS!UJg|i@YON%wKT4{Z``)2 zB;lWHz7w&0l|7ji$nmyWpPrgVdfm*0}(X2Z~ zf>W3Cu%~lJ>GzYe3PP6N&Y#m0R{L>0`m*t+KA949E9qNkD;|8;!KEH@ln=u#Uh;>{ z4gMiKuo&a`fvZI2sB!v|)gtR&z;fut7iF4iR#}~hF4?QcEDu6ghOMocqsNg!5E>`% zCD5s}?taNV5vTGMN)Apef{LyF6K#9Qq8XN@rwQ>QnJ|Zr2D+BulDnd`gR(ELU!m; z=iV~98>YvEW76*=zh7_GDp+DEM`J!1RIB9U^J;TdJp{A0H{Fd5S9IsN?YLP17{rY# znZ2dxpki2*gjD}DoE=lLh7o}>Zm?kAE$3h@2iWmJCs%h-VWO{_|2HPa%PU#bKrhG2 zzyv98w8H$MfEG?%W5ON`#T!|3Px(~S3zojtfIB|_%1v5OBLpk|!{bGDkrA z3^A|6V!&#=V8DIpBmJV=dKz&21!|mL85*1zDm}7q7i7l`XGO==lTz#<@l5TneoIO!<}Pp*Vnsl7AR7i5&KJ=UXZ^x6c46cZP|7ZhFiCsu3_n%^!sjgxVjOI{s3 zinE3IIvEwoCQ@E;Uy8QC$`_=)9JI$UY~q%Lagrq(Wx{4hn8uYQXL-m-b5Y;gcVBMi zek-Yc>oRSeD^Wp&EJH>7{k(gsPh%LqjJ_{ESq&lj|ff*Bv3Utz%lZF|iVukH8_ zH2Rq6pg5AzdedI=$g&QOiej^t+!V=ke|o4{w#Le7paLj8=~u%Qrqc{i#OYidzNUJx zxu>ZrDOEcKp+y2ZJAKPt8g~5oX1&;lCJK2T#&d=b#W|IEmHtY~Q?HcDFNZ5=$L1~j z#acpEB$)7#jk3s@vFm(eSA{4g^~`z|U053Tf9uORn3=4-6~-(qZ7KbQo?gWrhE4Y_ zNz}5IUWZiD^GIf=SSBaTc+DOzb520KCF&5v&|w@HwST31N&=`)w^ zL13xPiqztl$g4yU7^zp5 zel9~w6OkP!STP8_8<$hXOwyO2%FT7lS{6_lc|NjD4i)8*D{Muh{#{=-jXsQheEZ5> zFn<5wps?X9QlQcCCLvcDz#VEY@;OxOYSnB;sgdE<% zyn4W!N^)PhC)PyeZA0-I`2aP{y6P&isltW{TP`1kCZT41w`JDy?W`Qm*eA2HSrq3H zl3qJylwf=e%___;F!7=SH%M zoE6v_e)|ggN<0&j4RdF{lB7kF_}JB^t(=?n%@>ot5j*5g8R!Z0Jiyx{*K)($x8 z+NFbI0X2=|4TC^tvK9;-bEh75HxX(i`l;WwE zU(+k6(%-g<FB8E6F~|K9U?^UrJ;Cy8Z-6$Bot9ki4Z?tkquvapN_SN1w)-XRfPFB@s{ zasDv{{Bq&#N;6q0w>>dyFtN=Uk&8#ER84h9)Oab}9y`Wojl}UzCSuq3A-ppljdoOg{_*HeQ4! z(L;;?vuTOeghgldsOG_v$wb`zf8?Yekkgvj&sVSH3@L}qNiNQ0>}O@bD{+}*tE|iZ z$DSFP8LR7xA2^p_s&!}=&=bSFX5dJp+Os7*();rDFCmHJUG5c@01O@N9YFK47V%;Z z@Qp2)V>o>a4IQ@EkKxT`He2QkdYvRFqEmQ8L#ejPY^j(ej{}YFs?jz6Bq$f5Ugi6R zc0XO9TXyJ8=(2M)mEGICYBD_|S=qPrf!^W!1v&a-&*2GMRt$b8z{=rrxUIkGqRfd` zffW%=BvWKnbXLx}kdjbt9fPslaN`OGz`vq|zUAQ@5FS_0trBncvYhU_MyucMx-0*jNAwuzWHlbs5;16d{qYWYmayCI>m+3#CA@8JDOyg3e{E7MVZox?>N`8l``LY7UWb|{1PzHBb<`M3PuIfAxW&9u z!E5`P>gaZjqTIlTuF=P?F&8{68}65ew*__iNE7L#@xt;K@m;KvNos`H_u(y992U5( zSAI9X`r_&dkv8|3#s}zb?%Jlf8d6jGk}_}?KBRj#Hj8;x&$}Aeae@74{k9@+EWZ9a zq^y%Ap;)4YM9z0FjX&T_3o4Y%znX6mnE0{TYgf0mVVF2-Y)(vJ)m$?kqw==o%fkIq z6+S`?J;>jR8)vXTM@mUp+y<#)Kh9BHzzPaqU<)};P@-foBj3Fx6tfz@SHsf86%;gO=o*-vHqeV~uT62LaY=5P zOsp-O-8}BLG%qDTDA?n>H26SG@~h@2?1sV2acM!GJzow$NEZN0&+rg{b_UyMY8Jb6 z*@s^8oZR;{ZQxDx4J=>uf#W*Oli!WZ&??b20=Sxf^Bql_hiUEq{4lk1KhJr>`tqo= zc>$5$rAjz%knawJ5Vdmo;hdu(^iJ3s*S3d}lPlPG*~|9?o>bEA<~X>}tg-4T-x}H> zVUQc~RMlNClBTdD0s=P{6gEgmkf9I}nSC|y0Z3-~pXQ_OzOQ4il9d8`%`{x)ukD0h zz3}lc?1#ZO!3pXet99p(z)v{f^Jc$Iq19E^$o;wx<>f+YhOgl8s~Q1;bs&TYCbUt9 zJ>E-2QQaad9Zq5`JQNjYT?Z4!S-Re*sZJM;*inNDIwlYnWiTha3z@zBE<9T?wjAE+7HxF5*@;Us+>B2@) z9W!kA)q?4Zdv}6^46<#k<<~Q-e7%?}SAxo!z$2KW?kdy+tAwngO6-cvrIf$7+{{$* z?L9F!iw`d#Dm!G^9^Yv&!|XD(z;NBRF{!)Ko$Q1uxwmLOr`6?XS@#H z0*J`v1Mykr^={zCI^(t0XJlIl-_oNKI{Bvt^WFG-!3o ze5y}uJu57&f6pTmoDX{}Vyff&CT!ih5dGAbOP5^a?sq*zl!oeTcKc7LlTD zFH1Pcht=WDrb4OBZGDK39h}mWJ-iLg?-ZZOow{y!e_Cu_>M>4K4GNPu$;46W!JL^_ zb3`LI9GWp&NuTp+Vki^lvWqH7kv@Tkgy-k~>M{)6gk524GTV0aalFXlP2B7TbJE8g zO=i_PU&b>;C)@;13#6DLq%)|!aa1ohT>^j69r*3iL_F|D6PxUO zPSC0I_V=@m7B9brXvJVxf7`aA`f&p0C$ic+M2c>Z+PP8G`dKeAj^p#_8=-A$b#EI* z_p}+(KcJ3%&uN9cfK)&D#;m@)YkHrnmm1PFvr*&$&qaz%KW#z%DETRP6Swy%UVH=}w(JIBk%XrL2Vab8!AE08;qwTjFXFgSpEn2eD7cwft%Y{Dwnk*rbk-E9Sv6IaS)>;D zEm!TOk8FXqIHURXvRSnUclT~cXs@mi8~|iSulj#fU3omz+xvI#?cVAZN((7mLM2RO zUwFhY?J+F%`VFf#u#1O)r71QW2`Y4V=#tcX83)y`kp^} z&1lZ&Ip=xKd6xI{ob!?G3{}asPJ@K0%KD^fg>gxrWX+ssO($s?XWo5{z#84YTSDIX zCl>7=p)G+S@uzv~l*);0;1e2$Yn23zKtj87l%ap~(p8S@1?U!XLe@Ppq;n9QFAu;vw#(266mMpu5N zH6kdyfmVnMjLw9zE2gJQ^wV?hLcl;HZAw~bus zO{U>ztv^e@NkRX+6jF2BlcJ{FP*Hh_N~_JqG0xN^W6dB6v5r9AZHfvo$80T z@1LIm1TAJ24WOwyMUK{~feF+NkN;Gu@GyK@C)N=jCW>VX_LOGnE{w$89k9&WapM3- zPWqc>YBV^P-QQCVGSYn(RfZj1qhb+iVFMyrf#f%aS6#vsV;hYMbHC*4#vcMg@Gm0h za5T^7Y!sbDjL1{gxt=OrF|DdSa+&%=BHCSF&mS!v`>r@(t17*AD@slmgU^_kD(+eUC|j<3zx~s5qr7I;@k0)#ezieL1SG(QdVw7N~B= z8&uBs-eb!o082Pa?!byI8%ckeM5EDnQFM;}{x{Y=fXk?KOVbHbr7n8(h(JAq5;_(o zrzujA3`5}}nH6jdI^W7dJ81W0|#6j}FND*f&-!Z5N+564BFr%H&k9l6~mMU1BAP<6;zYk)h%Uhfn5G<5O~26OppLA!!SvREPd3@!;Do3_!JDkj zh8?K`2LD?$b3d#6Y5JMB5J=)ivEwxw*)KE@e^NxAub_{Ru>7u^KPTfVYr3 zLUS&xeU2(mQ(6=q^lm)4B-ZaJDG` zl}hXUutr;XpP=<}s+(&!!DEd&%Wgh9O>^7xWilMk?_`L^=0;b>;s~5An|^{h1_JF? z#Ug#;;>s~s_l}(!*jT8Y2N}3r>ue5XJ3nXw*hX2T1z*gq58#KX_g8_-W{L+E+iCNG zsvi(qXQ^1qOLoC9&61D0<1_?^64Z2@Q^{@qETO0R6vzy6gCjCzC9*9WnMBz{G;y!eG)D1cK z2r?ikc#ZP}D)QOuG@TFnQ{TYf`}~)`O+zRBXr7Wnz+M;iu$wA{L#3GYAZ~}QS3zG+ zpdxp`aXyYeM-y@I*MiBrTEL?07{;UB&VmEXd8tBj#5@~WRjimQb)yJxHxQzZedZY0 znDw`)tN1rmm38}@1|DxN%1PAN94OC$B6UBv5**bUPn0!cMN)mrqUztn-%lkvSru65 zCw`9HAyRlQ4xeA?!zCx@LlT!g6>>>5r?(3}$l&9}11_rspY@9-`@Z^bO?$t^L_GLc z@!8Of7N@kx*K{K7p6)48;AP@dX*uTpzP*XA2}062yQ>IPFC8(j*dVr z?#$W9zK65?1}~{!Ax4&)=tI1ezSuy8VP~KS)9I~1R*~O*x<%If$SWU+~Of1Mrv^=KnzJq+}RJRX~y)m*bs+1eJ zJ5+!jI24o?s137byvDPa&kj~m6jlr3Ko_4{Xfsp300ZOSiwt?htV0j}!cX34)*wWL z4bcV(TazSRPt&Y1uYxE&(KzYC`F8kx>gMuQqn#2=9J^m5r!% zC|9j=T$}mlgTt15U~$5K&C64R`@S#W|Gx9gy#e=sS&V8=Yw!q%<@pMunl{&}l_kQ} zP0LyC=y=B(a)fm8Tj-w9_bzJx>t4vD^EPsU?20-~Oe&?;G@pE>1kU|5udvA7-kwD) z`1fbuN=o7Rw>^;h*9(0}Mi04Cvg!l-pxiGyugZ`qtUas*&w6UxZvHT1Npg|0FB z`n&X~0d13JtrE()M|1YYVIfCVMi4H-G zNr#qP_bh`ZN(y{Q{_(JiSNr^5T)`PmWzQ*v`inxsPY{jqYXyf)b!l+nQNxOLiN<5! zoHyXv;m5zZ3&7{4jSJa`GhIaCg`T>+1Ju>N&}}lI5|+`Oa3$f^Q*+Cw!Z>Eo4ilQT zWgXg6t_WI2%1e`5H?xu*g*elCCqZI(6nw<^pxu({v2XQzI}}uQQ3x^gIT9fOyk$zh zD0i#bNp$m8H6#95H#WQ0#}aqG6;=003-|lqOrOl1^l%f#kt8-Wp2*+rL(yj&Z#b3|sR-S6hx4(9**889K|l7u{L+Q#Opv{~@rWhS@J zR#&S$N)s~}5_$+0=ydUP&mHMTCUr+SET!yAeS*5;dT!7(#=C+VRft`6)EQ8OAU?iD z9-?~m)ILVKbH8X2;K$<^zvWH8kW8qHZL=WOe7x6nC)H98OHmIW(~n4xNTv~$kZu-a zqV$3yuc1tj&;%c1r>|Xhmh?3NT*qWdhuY)ZlNpWA0vBl0=U4=@Fi6x@UusV9*!%7= zf8eKI+Wl^UZ$=9Es^e3xIvqy5wp2IlLTL_t?v3ze2Z4-nP_HDmo0AP86{V0LJt6;< zPUT}{PSGbh4$Nq*^>ZGS-0pHp8X4l@v_5eudBRkwIy)7L*9xH$0Zsk2ZE5^maN#Eu z%{#rt#|w*{mh#eQX0IbuA4AxCNr{jImv$AyMdST0?oKbCrhY#Dg(*wQPo2;`;3HVK zN>lNWlm`6uzTwhlA?{NDJd30Gwhz~GWB>Y}-*?Ya>$n*6`xjPauE6C|#;YPGIK9m{ zebHfIf~820>l?AE6hvx0k^3{+Rw(b_&SGF0{chOrfY+Z@PTPD1$q(7;>&+s5gv_f2 z@_Vpz_K=>oT}IQTzR#vf@H-v``~{jU_c1NH&5C1T6yUY$Ur3!+m#1qYgSYV!DUF{L zabqrXjV7zF46iB1M!)9$LTqx5Y4@v7{H!Fe<@NfGH1CQDrBcGIyqNQ>&gh(?_7kX> zgB?=&C6RvmC&fqK?8^>CX@BfX-A#)TmMM4S5nSCTwh4h8>x^oyMKkqeSBj!xne(;{ zqF25Y4zVoeymC}4uT8Y)Rtr+Ml}s5iG*HhvC``ocs!h9Q&#f4b5bf`f+0Mhy?vhlU zPR%b=_+_a;H|0+`LDV>3-;7gq9fP4#V-G%+bD~B^2$wHsJTa2!c>&lvaZjH)N9wCy%60I3Bp*WycBQVJ1ez6Mw)TzLw|^RY%w*tuWtb) zwx$smSGl$wNM=+~4|mw%zk&`xrzPsQQY_#zaG!Ul++P)IaZc^S*trmU3W7YgtyF_8 zD}Bn=v*DB-hg#RCUe6AR726@ls^Om6V#d!pJ-uM85~RX$w_k8S5jDgtFv9ZF;f;$7 z;WVn}I=iCmhZvK-6-DomBGPO6t*0DMX2?g~Myc1&={^W2hG~Z{*?|U#{G;rYN)0+zuTnmGmCCbE09c{ZPGciW#;4@zTn~Kd6H3s~p?0pC)EJ z?b0_#8xVz0Y};i{{I%^>y~G-unda8J?1Dlv{yLVdXZMP&Cm<@bU%yNzr1bddFLhEJ z3oG!0S5$PyoJ0!E*-tnlvkeh!)2?GMW~~uK&!xu^$vB*7leW$d8+KZ_Gi&1OC*a?) zOwR*{W;KxIfg7gpx1{bc&&kqtLN_Lcl$iogThN84gq`Ovm*M+fNoGgx;DJ2jSp`m# z4p|M7?>vAj=1l?RG8&0;Pc>k33Y6B&#$vMQE)dbOF!oxA*8fP3w2Pe>!pN_`Q|phw z`ewa6xPHr6tfTk39z>Pacn&`%6-sh()!m7vP>3Jp8n=RbN0Pihm1=0BNayE6oH(%QGhLAJ%^>#z>A3{3I~YcM-Wd zwcH^l`Ui;K4{jB{9_abZ-6&e$Tj^rf@cqt{_#Lf2?w^lQsQ2nJ6~MQ&JWqWVajmO) zvWu`0vO@MRp4!04a`^?E1GOb0s6-&`__d9GPt5~gm!hQwoaHUo|02BFSPmC1Xv9QC z>3*PX6_&ndL%c;#Mn_qAB^zH8IQ?j+xZwVF+wrYf;@&gS^7;3iuVY8s3OdSMvCoRB znT&gztbYi>AcY0p$4Hy6xh~-OO}kXtQq^bWJ*O7YJ>#RlV-EUeAPz1ExwKjkf#9mW&-)2=_Llh{c^ z-1q5~V-?Fd#CvHD8dmx~o6-8Tq!>#XEptAIE)P%>3z!AYiLlZB-!~f%NA;)Ty1#8G zFYN!;_(&F!?u?v^=xO-0Hj&de1|69g-J9^})svgTgx(e{%LGY-XLYSRyZgRR^C0Ua zxWBjsY=OCkUQ-C0!)cl6=?+tLZ)!9)2x@9Sfvjhz+Vf9U{cud0wx8^p90`5@K~+*P zGAKgDVah##;6|9&jnvwHTNuMu0gWk3SJy1V^Luj3McjP2?{}mIefhE?)-WL1Q&dXC zKrpKyM7z|xqN~hZ4LL%XZpPJ4pA{}P`xYMTj1d2H7d1PFv<|0|GXA8<3HeVO>u-_s z;r^To^g4(-MbGp?qi)+DP0EdbaUyySUbgpq=Uw0dtob)WxU$Ac$^FIoji?4}%Ysr@ zbKfSXr)7CH!xTjiIKeN_92m#^jHe|x#M`Y%nh8b!%v)qQ*%rq_4OO47U(*% zAjQ^$Gb@ln6KoiPJb+I?hDrG*05g--B_Y) ztgjQbLk@6ze{6G}E%$Fx7tpy0?*ZFm8gN251h~y%Lr-Om{zuq4cbiBA4_URo?POpf z()^F>W$~smGW$i`fDWu*uO!(~%a!Y@3>Wu;Ksme=sS-hK;GoX-tJXfV_4z@~gj9`ZtM`9N( zXz%ghPyaS0U8iW)^wjr_Fx#7BBHYZtHUnNZqr?>T>gdtw`M%5H^&*M;{=NCgs&D6>fG$m--Mb-AD*LT~ zk1+s$Lgb4fBtccW8KIfKU}I4ee=%gA%`m$1T9LTP{+;s9@r!RCBb(vc8B#F`g(Ffe zeHHbBVd^&9D^s{NF0O1U=LzV_DrFq>b1N*xe9OlIWO)$0S(gumia-lbJ|C7Vv<~Cu z6!J5-+Uq`P59p7g^_d?f>tPAC-BP)Qk)M;Z|Jupg-5vW?MnLevC<&%?QvGq54EXfjlf6fQF|xd_7zQNCKDVfic^`6bt2&Taz%cWgtzQSs ztJEh8rK3cUna&SO&{Q6|Yp2UKL`phcgU3FO^uI9mDh%^VeO9O_^wr9$v*jIjgoAc} zG&(7oSzvJ68EvW}vy(DkI&cFV?Iiii3U|lR{9;$nvxl*uJ`KJY{$e}nsjRJvI4&bc z1B03kB>rak)8_FYPVbtbPsbAvi7wHBA;{92_;d1n5WlVoIP64RoEU0K?-RvPE%gP_ zBf%-=E@$I5FhRhiXGuF`mE7@F$;0mHW6C#PN1>{4TF2_2(I$3-%tWcVmo_b&#M&FF4lZkYmp z&%@&r{gbc3dZ|x}4r}T@f$;feh!H0ght?L|wMKZGmmM?tgC<@`F8?L()pBO0JGSYI zkzHE9fZ?e?S-B?ERpmn{t0AKDAlQ0(deRMz|GGRsm4onEsX=WFGA!gaJ4MwZEkzbP)4M5ImTdI1r!I)#`Zo^On8wm9IKFf z5qQLs2m6%}PRBDA?~rg?3W9QL>uG0H%X8I++(n|s+59f)^6T@-n!aleN?WIX&NSG6 zmn>bcSel!(bjD4h^z7TNYT8Q^M{w7p*l%@5<7ivnWZ=->6I`)=uYLBNqRPDcK8Cje zy5Uu;^@840txvFJ$yJ}r;%vr9EG6$)JSt&7xiEHW0{qt#C4eR~J`YsZv5K#wmi z>w7^t@NL}RNykLI=r{Q^$rU@6vnSHWI=Id+jg_czaS2fbWnX) z+$3#~g{|RA`*7!fn9VKGUD8Iij668$tzCq1dDV`E&+o+}i6-o3DH4qxh)D}{Swpz~ zTXrn#xNzCt-<`c}oGv#3grO?_q}hht`cx&;RJoj7Js)!WTd}S{wPG<-O%cz4Y#rn-!f)WyW&7`J*KWFNO9;P$jCB~ZN;C=m+%>u7*cg_ zBnkiRew$WE^q|5UXz(PUjP6T>w#cDR|B$9}8lP!zN z_u+2-5H4c>F5wa->wecA@w4(_s09IVvxaVZd!cqZHXqmD>5VC#UoYLy&hTa1M_9bM zxKemz2gUJmJ+NI=R10Xz*E#u9LMFPhgm!nKtD1mDL1{cM(1dJ0yfS9b|4ACpcV57)_nPwME|)MoCKF=No6-Ns{@U zu`_iqC2-8nxdPdW#PbAC$W^k+?{n2Pou z#Y8Wz8)_xb$6GWg08mTvZ_+zq?Gh}S^yV;35n>{`H)|Ep6KdUJlsPSSp{nmZ^&@Vi zHRKaC2rI{8`%jevAmDe<6zKO8A>e7eYj;-i$N=?`tyAz5?$EqeSL1L*#lYeuAH98= zl>sR#v7xShlyvX&j%~`;_jY>uB=t)6#>O3B3M?XLgmqHV{A8>5#m52ZRt1i5lsmji z8@aT#@^-*Q?Y&~7HQl4<*1q#!%Pn@g80_Nv*zwquP&+~}qTHW2{FXX0tyD%s%<^M_ zNfXfSV#C*;vn5AS^HuhcRB!WRlRM=O+wp+%(kMPRDUm|WX;_uFpK;fbbM_%?a5%=e{+$)&iI1t~}7e=h;g$1sU z1p$$TuB?krNeUm_DRns4#IgG9vvU^Fh7zf-?80}9Ix-fKde-nDaoM8;TxI(1y7LoD z-8zPnToo?-#m9*7k8mvq3KwohDA%;x8Z7^Usq743yma@Z75xwVwii0zJ4V$Q9PKi( zN4>k*IYJq_q2y(u+}SAibV}SsEi2#A4~ zVm=ebr~2-2Lxi!uBAc^O3jEHZNI6w0NdcUa$_c#(sInQA%jW@ygmo8( zkbDn6FOXv{z$<}>ojCU$knQn9h)Am~;FAEx6si-1%LcT0NTLx);roOoUSly;llADFO zg5l+zqX6L-(c|T9wZ9{!UR}xP_*Wt&Bl|=sHM0OtOP;H&-SYf*L+?bvRz_Pz-yuHY zZ#%)|;LZvEFYP}5|9-$nJmcGUb(DX_5TO`h&eU4eJ2|~qQSTPT5cX?vbu zS1`ER%Vtb9rLNedL?&8a{+(xO)6DU>9aW<-B8)62#iFictdCUW#3Jr^Lx9~75T&=;lE=K{Q;yFp>ND$@xm>hN0MJ{+E{9~1)R#B zD{#>PQBYJwfXw8*P4VXxdW&4mo0~q|;UC()QR%04=h-?@lu}#soZFZ4yg(~+s~<~l zR-!E;8>(q>U`rGnEHbR6J6N~?J2DUKc^Cly#5XXhz^OZyCiww=C!i^dkF-f}|MRX; zsjeAgq?B-ntN4^|7BcIw2+vp-=3ct|#z*tWk9lu7a$fvcg5y~U(QVfoO07QQhFe<; z?YPrZG2}5_x%PI)`mk*+8eia-Eto98bn*B*2JuAcal4Dax^HsT_lYyWP;SQy zNk&)Q4QwzK`w+6Uti|h(&(yiLkQt|u33w2r#`~t3Zi`oc%$y~-{M!$84;&rI7l;ri z+{6a~!Xu0)9U05?3esKLdxwtZiOt~;f22?5*O3!-8Ro_}J^6y5db4Zub@(Jx8% zW=Guj0Ak12ZR3|!4;M(6IZeuLC>quU=xD7o!X3H_2JoEz|N3?RQ`9QTzQb?$E$_=nU zk$rZ@_NhJj$AHbw(a84BnKUUfwSY)v2%02!L^AF`@b!+BYoF6aTFN6ty9zXEpsUN? zAO$N@*=bVO52Wlq^wj@QKip&G^af+@BNmY1q!ke$U#@X3kg~CeEtpv3*6ExgN}vDm zuH{V|MM9^e%=yZfJUU(&OupO%-eu-SDHwQCvOZ z7*12UeJ?3FMN`sn=;^T>g~LaH+*K}+LTJ+UVDEb=$Du0qn6F$&^`l)@;~mT(mSv4h z>m7??1o<{JSW;#7Hy(|iWB&KK@7%3R--XPB(A%}qMcmUW_&@>XFR0t7Mgq0e%YWx@X#@2Ga}C zp@x%19rahLo)znw3^J>5ABt-R*)|U|E+RuUTDJU-(gTIV&kHlCHWnegT!CHT;cvSK z(*=8T_rTDb&jNaK-XUUxK!CXyq)&FY)qgmOe6^5-6|i()JYJ+gk3|Up_hNe z#XMQR{Mz(`Gd|s%R(}bF{CRtEaUli&6GVk&lrDT~!q<eG5GP&-NQi5A0_2taqHlY0)Z`#f#)R)C!B@jct5wR}r+rtBCp4z2Os= z?Q8e@KF+V-2NeFxF3lLOF3{uFFMsu=i(v8`?!OoY#lzl=d4U#3z8AhgXeNJJSZ9=d zpp&fPVwVjMga3>*lyTesSlE016R;47zv`uv}_hkpIJYN6kc zX6}p)2$>JC_M{o!16NNur^^@99R~A;*7H3!bG_T0kh+PqM(;F^H!5#k^GK>exW%g% zcZ7Aozs}p?0h`wtV#iXoZ%?x-$@Pu@z!z`&kiWopnF2p`mzWW+#&2Rz!I_c)%q)I9 zhWc)Ud60zr>-(wa9n#^zYdL->^YD#$V$VYI1hcH?9uO^ub*#wGFr~DDGGL2>Vfbxd z4J9#ocZ-|u7S*u$ zcCmT*JZ7CSNo&}wkS8Bqs6$=IcwgIisugsV=?!`}kiF^t!*m0w%?CeWwI<@3!{F1S zDwB}c)bJZ8ZU$}CJ}OHYu|E@a5kmOAt(PysyOuYtyfG5Mn^oQ8D@%>}Xb7Lt}d1iWxXF z8Js)_&r~rJt^`RcpE;M5Ea(zRzqSZIU8*#2ExiMD%CCqKwtIO?3I^4W=EKv^^| zUS${F7@k%rAw55?Jp&CYXQdj`_pcJwvNC$Wtp914y7_UFGidl|r{?j!HlIb2Gx zBhl~p=^8J#9qLXvKvv>Ixh#~N+*G=1J zrJ%CYuiq@$SX{DLShE=L0uu)y2~uno<#wY8^TJNWAt%%2AP!UMliqpM7R# zg0FlfAuC-4T>SajS+%P#L^NsuF6i5w*BdfASFc1I>z_x>hdx*djVzrD!lEAL?_$wz z-^eFzL#YEce(n5z^MLuwudae@RMM2v{>{@KDw;zzb9b)VE|e*vXn+Wc3NA_4z|!tu zDVu~d7I(7s?<$dp|1LkHY=Du!G7R`F(73E}PxEJ?2`&Ffs~x6hm%v_x#MXa6K#r^W z@DrHtuoE_%;G#(_Z!bLmB(TWFp7gGMtK{QQ91vi50KFko0^lAp=VtBW=zPZ=C!n|Q`83y-*_yClwGoj#v~pUzYXlyab*sy zrGqJO&OKc!sLBv^Zq}u;F|EB2TF_JXRuyr|4^l?_NQGN1+;Fee@iD;{4KO81dwo17 zps9!-{`(SiSJ>W!q|}_aRa46~)r$xdjylUYs+Ve_KsW;P-{V0et#;e&thgl8hWH^`YeuY{z`L2Y5mT?RI& zLlmm4e*nR$z-7*ipt1I@vuZz~e^wC)Y5-g^D-D53{-1#b?ZR*FBOd|IwYhb1P+ghv zxtRdLSetYO>hV2`ad9v-HmoC6Pc{wGqtsa@zoM5R&3@lfZ)JUSvTx*#q12zWCZL?I z6DS{hw#Trg(EL0QVfe@7_Z_Xtx=HHnQ!1GnA5qG4R71T*4!66!K}SMy${g<_1Yq?6 zyYA+8La()Bc~#8X_>tjpnMu}>-Epp1w3(&kz*{mAMzVN|Fd2M(7mSy>>Iq`tA(cI zu5Q#&B;q;EF$HxSmk)S?ZQ1U9)P68{F-?m+P&fpZPRx6xMSO8bK`6&gv%)C;#;bii ztm)P_nB+0QHNIYC+FM)0DU-G%{xvn(d;tX0HJiGFQV7V^N+tIcXxw{r;O*0f9+G6+zdPlM^0GXh04@<}wVN@#f@OYS zpH&drZyHOw3w|5(zTU&$bCsZob)gjuJV%Y^Q?z8s4#Wvl%JkXMfvhtBlk!);kBx@~ z-o4<?rCQw566>sgqVYN13_c+PP)5_*`#b5vyTVtf2~jo&TTmIl`67f3Iaq z0pV7v6p?YJyt8Qr*w|w$xLgdEnlq=neQ&`v-S~F&CC#3kP_X zIzLjk*;f@NO|l&rF(@DcZZpdUO-2D|sDoK&{$h=CK9`wkX1CE#*`_)%M~?2U${vYrK zF9O*XmM)D9^FP^Z`6&}}THL>U^X-;!%z^Z9W0Zp3Obbj#+) z^qQ=96$fzVjcR8Q^sI~wmh zi%2)A>K;?80eUoGghBrlM8Hn!XGjT_s&dNm-OKzSMiHrD&GbqKBC|5NdZwW)nfUpA z1B(;9pXsM=6OmqGAJ*)%J$*PTa1elaJ8SEI2y@)}@lOw&2jMl6EO3$GRkyccaXtUP zIum}h12afkZT1&lnHVWaV}szTV=ep2{uCdmsckr zc=-H*@YJW0O(A{pt#U-z4dAk*PiLx(YE(AC^$>IalZN(2^D7n$^>;MO&q0&nIQc@ebCh%s zY%;7PhCr42Oklj#LA>(Jn7fKTmh5(=IC=0=+Ivp544+jr!iMnv zBPUoKr#rY{Z%#?z>$7Q}$}tTxTU;fpr;lp4PLW--L_zJ%69G?_y?Yg7vzu>79hBC2 zQ}^*=lgE4u`tI#@VU>#(u0SLx7L>PMQSRmMvoVlrBAYe{j&M*;wBahIWr1L!nIHzk zPrG|=#cE|*A(1ha(Mbuj=^7i-$SO%bTeBHxaOP3?4}-qM`?G2oz(u2&n;r9|skYiN z@>M7bza@7ru3&-F5Q?{NZ(dm?i^)%r>D#CG_=u|shOa6-dYuv}WM+9UN@3RbP)wNd zJ@}=k{&y#H=N&F>_#WirL4=J8Bi7G59CPLV`KpyDTecQC23C@5l{Y>|bTOg0KxV3S z%GIaijZ10eGwouK5Y{M>sWD(-Q0x-ldlEsoR1)i<7j_f_Y5pZlK}OWN3Usu?FT}?^B{z9%8+5O5&yV%$y~{H2WEBtC*czOl%Wx3Y zi(vI#%D~?hn^A9Ju54kmL=o#)F(r_x*gnt5nNDbc8r z874ho%1K_gPctIS!uI~LE6i5xR83K=r){;^PbI7z!%x*g%*K|7tA8?-Wb zsDU!C!#PI~(|f6wseDRaL$n*A0pZRe*4o)HwMprSIHN<=eRa<=~Lo8C{}`u=7Wu2M1o0L&qZd-eDC&RXv;MKD8YJJ6RpT zNqsT~V|XoHwI#3L5Mm|c(3|MT!{vVt|JH~bvWBU2+F^Zalm+cJ(>)*-9kBO=)UZOI zLMhDS^rzEQrw!l0>CnKNI?ry(JNvAYQzMK|l%l6?_rBG5YU8s$z4F6=@o;|IqcdAYAM1~3Go@qgq%9%tr0$b^)56a@o8yczg@A97ZqkFUr76qcZ+Suu1KFzk+;nhgG7X` z)I>%2FVY$T=6kuGBE6m(T(pCEcK-u0-M8_>o8j5^+?5Qt4~?`f#eu7$s0InuHNTD7 zJ|KOxO&{bqpB0G8Mcm5e6>I}fRnG?83P_*1kkRF+;UUz1sNGknT`ksIjn6dy5>2S4 z?VZOni|~rcKT5MbFz9ikB7W9W+F`Efn6+U(I<=~#QF__s7%JYwq1YZJ!Dz^5^x8!b zt3RtuZ#aeMgxSq}TFWdcd06cjasrlm#t>GKj_Vg)Qa%$_MW@K&C3czT`_Nr@7SA|} z;oH;|QD1!ZZxc^Qajum~xncjbo#m3u=z9LRI$I5^R??2-61BJ_JOpI}>Mq>+tE*6h z@_->9I(ApEfha`Msy6Y$@rvR4Udv(LD*v$;MEh_TC-;eL`>?eJj$^*?Hmfatxo^)_ zsND;qXBxE85FD0Jz9!U2YaWom4OsgR2}e*2hP^Ctc5%50-AXmFYgvfdD@YS$IhGP9=zFm z39a>dEq~m?$^$G198*$`*hU(GF*6dy>SN9S4z>C&H&@RG+mi!ot6dn)v;SV$yl_zO znWKklyE)m>D&>#2;zqnZPx)=_UwA#i*lE8p;s@;iZ60LaTE^#ryjHN_!HDEAXDFc#Rg@NVoypf72+j68#c@ zv?>xqt7_>R5krmjxalAQ4f#{?|4&5^0H5PQkC+Q^#fyfhm^|u$73A>1h{0Q(bm-Fq zF_HIj^R%gbA!hLwX z)ACgR!06?Q44-_M7h9?wEM`~k9(H_lIROJ|R2zpe7-k*?Vl*lZ=j7tET2mh}*;?c- zCs7lz2~(c)Y7Bufa> zejWSHFLn4tSPuPc%|RMlY*@bugWZf6O^w*F{b@7se!E3D_6N=6-CdlWRVc}|`|MiT zsI$)jm89N5AHCwp8@+0G_Uj#1y~EVeENI<$@qxcM(s#hOzSdDz+`IJMeAK%r$7jtK zo=qL%e>d0PCIp`RXmIF&U0B6U;#~^N+?p^byue)ZR9UMEkZ{)zH@OZ}665zEFt0;N z-%sDpMIx=!tPYr+8!&m86;3^yx9s_A) zmJg#j#|a!(>lBH}__!$APu3OO6kec>JqfiN3oU{gutgW-8Y^p9=-50tlxK2`jk~5L zjZhO8&o&|5c#kf{Y@wZpeSL*JwVpFqmU6VW*m#m(-L=k+0gDFURWDwRH7%pF=cP<& zhx6B-;Cg~Qm$a;K#}P| zAx})(?IFK-l3%&dBGm;O zXF1~;e51w(%S7hvJW>2Dcv1^A*an@`1e4t|}?(xkC_BDdw-S5)| z4oDr^h1xY?sGvOuk)uMK$L`iKh9MtRvJy6c4UHMR?TY}yoFk^fQ}dT)=ed*Vc(k}_ z#%7=S2v(EAedCZ#4JVx%J{1o2jEb)L-S;hu7dv`%#O_g;d&Mdj0ps^>--y6r_GywA zG0K1Vl>Q5PJ)weDnzhSWB2YPQ+_hi9x=71W2j$piq&7Q-w3+~CpRL1Ptz+kwQwOpC ztcwwi?dV=M^P=niz<;;j;&$L!}eC!W`3**w3nOoAfffUsiK$4_4BHeGW$APJ!G8J zQK^11g^7V_B#)EH#NnGTyTtf-bax5*G$|e3eNWTUEr?&an^eJQC1|ZDk8U|5yyk0k z=rkP007_b?v7yh;e7g#8hcV+m20v@gc$&rtw1f>z3kBIL%<*g482ap2mMtISZwR^7 z!ghi228uJiyl`$%pDM;{5kWweq|84DZLZXQ{7k!Y>WO{idC( zJ(j+f2J0SU-R#Hob$wgk>uyE#ll5B*v3~ky>1Xepe!gHYi(h(&zi@_+;;3eCHOKb4 z?biR?Us!)7TgC2HiTwE^neF?{-d@qmvVF9DZ|41ITMzASfnU=t`@4mD+vrWbbzd)~ z=X|x7`}TG1jlR9Ux4t&~?ybGO!MC4wOK}&=?T)FI>t$>0t?Swk=m%=;LEoC4lswdu zLp#v7ow3jDfG9P$QQD|On}@cq&!LBX<@NIo00000000000093y1b_hm0000000000 z{8DraSlSl6^rm@`BuCkkpLK5!-Wr6r=3sqm5PoSB-pXSAFx2wnztnj5t}b)V%UrVr zU;1#~_poraEx_u`g=jv6t^ZflnYz8}H^f21Flg@+R_}xFoc3I>??K`%N8HwXAXsG| z(nG|mKDg~HzPAoy^499M-h;#KwfC{#SznrlUqiwB`y`)M z%HER0x3|%L)<*pCp0@z7zMg3d_V)O*Zr#WB(#l)gZ86(|)$JuqZ{5vX0@!WOyvqLU zx1Qv--hL3hnYRaYx1UoF=I-m;&#>ondti5)?KR|EYw3UcpSq8-t+m^nOUbz{rtM7D zew0>9kNj#MJC3gjf2rd(=OmBU zOAqt*w&2yot+yuOKBu;=Hw@=?Kv5sE3!#{X()JfoSKIxni-Y+%Rt=$UZNs;&;H?zc z??uA8bqDu`VD+*Gf%|&d50dI+8(T=&?JdDQ{JZt+ZUNw}EqF`cZsR2s+zV{AZu@O- z67KQZmsk90xc4Re`_>d}d+)CNye-&X8+$*C5o>St-5Y>yizDCS##`!oOX_an-}ZW~ z^z^RnfnT|Wez(;17QpTS;2zW61KWGxcWdk2ntXefcwg>4yw*?MgTSR$>jl5J0B|q+ z-9o_Ca;`P!wkv5{?v1@(N_OoLT-)f|?Ax(H`u4rOw=MVet*y6>JhW{?dmMiY@Tvd+ k0000000000z^~N*2YyE&Lkqx4mjD0&07*qoM6N<$g1L`f>Hq)$ literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/tvos/topshelf/topshelf_wide.png b/source/Steamworks_gml/options/tvos/topshelf/topshelf_wide.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf1a5601ba0b89ceaf7584c5ddf0a083d60f192 GIT binary patch literal 71299 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/windows/options_windows.yy b/source/Steamworks_gml/options/windows/options_windows.yy new file mode 100644 index 0000000..388c0b9 --- /dev/null +++ b/source/Steamworks_gml/options/windows/options_windows.yy @@ -0,0 +1,36 @@ +{ + "option_windows_display_name": "Steamworks by YoYoGames", + "option_windows_executable_name": "${project_name}", + "option_windows_version": "1.0.0.0", + "option_windows_company_info": "", + "option_windows_product_info": "Steamworks", + "option_windows_copyright_info": "", + "option_windows_description_info": "", + "option_windows_display_cursor": true, + "option_windows_icon": "icons/icon.ico", + "option_windows_save_location": 0, + "option_windows_splash_screen": "splash/splash.png", + "option_windows_use_splash": false, + "option_windows_start_fullscreen": false, + "option_windows_allow_fullscreen_switching": false, + "option_windows_interpolate_pixels": false, + "option_windows_vsync": false, + "option_windows_resize_window": false, + "option_windows_borderless": false, + "option_windows_scale": 0, + "option_windows_copy_exe_to_dest": false, + "option_windows_sleep_margin": 10, + "option_windows_texture_page": "2048x2048", + "option_windows_installer_finished": "installer/finished.bmp", + "option_windows_installer_header": "installer/header.bmp", + "option_windows_license": "${base_options_dir}/windows/installer/license.txt", + "option_windows_nsis_file": "${base_options_dir}/windows/installer/nsis_script.nsi", + "option_windows_enable_steam": false, + "option_windows_disable_sandbox": false, + "option_windows_steam_use_alternative_launcher": false, + "option_windows_use_x64": true, + "resourceVersion": "1.1", + "name": "Windows", + "tags": [], + "resourceType": "GMWindowsOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/windows/splash/splash.png b/source/Steamworks_gml/options/windows/splash/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..ce6a0fce2f85de67237505155df000387cdd64dd GIT binary patch literal 44864 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/windowsuap/options_windowsuap.yy b/source/Steamworks_gml/options/windowsuap/options_windowsuap.yy new file mode 100644 index 0000000..4db5f75 --- /dev/null +++ b/source/Steamworks_gml/options/windowsuap/options_windowsuap.yy @@ -0,0 +1,61 @@ +{ + "option_windowsuap_display_name": "Created with GameMaker Studio 2", + "option_windowsuap_package_name": "YourPackageName", + "option_windowsuap_publisher_display_name": "YourPublisherName", + "option_windowsuap_package_display_name": "YourPackageDisplayName", + "option_windowsuap_description": "Your Description", + "option_windowsuap_version": "1.0.0.0", + "option_windowsuap_orient_portrait": true, + "option_windowsuap_orient_portrait_flipped": true, + "option_windowsuap_orient_landscape": true, + "option_windowsuap_orient_landscape_flipped": true, + "option_windowsuap_small_logo": "${base_options_dir}/windowsuap/logos/SmallLogo.scale-100.png", + "option_windowsuap_smallish_logo": "${base_options_dir}/windowsuap/logos/SmallishLogo.scale-100.png", + "option_windowsuap_store_logo": "${base_options_dir}/windowsuap/logos/StoreLogo.scale-100.png", + "option_windowsuap_logo": "${base_options_dir}/windowsuap/logos/Logo.scale-100.png", + "option_windowsuap_logo_background_colour": 4278190080, + "option_windowsuap_logo_foreground_text": 0, + "option_windowsuap_wide_logo": "${base_options_dir}/windowsuap/logos/WideLogo.scale-100.png", + "option_windowsuap_large_logo": "${base_options_dir}/windowsuap/logos/LargeLogo.scale-100.png", + "option_windowsuap_splash_png": "${base_options_dir}/windowsuap/splash/SplashScreen.scale-100.png", + "option_windowsuap_splash_background_colour": 4278190080, + "option_windowsuap_interpolate_pixels": false, + "option_windowsuap_display_cursor": true, + "option_windowsuap_start_fullscreen": false, + "option_windowsuap_allow_fullscreen_switching": false, + "option_windowsuap_use_synchronization": true, + "option_windowsuap_scale": 0, + "option_windowsuap_texture_page": "2048x2048", + "option_windowsuap_certificate_location": "${base_options_dir}\\windowsuap\\keys\\WinUWPRunner_TemporaryKey.pfx", + "option_windowsuap_certificate_publishername": "CN=Sandbox", + "option_windowsuap_native_cpu": 0, + "option_windowsuap_internet_capable": false, + "option_windowsuap_microphone_capable": false, + "option_windowsuap_iap_sandbox": false, + "option_windowsuap_targetdevicefamily_universal": true, + "option_windowsuap_target_platform_version": "10.0.14393.0", + "option_windowsuap_target_platform_min_version": "10.0.14393.0", + "option_windowsuap_targetdevicefamily_desktop": false, + "option_windowsuap_desktop_family_platform_version": "10.0.14393.0", + "option_windowsuap_desktop_family_platform_min_version": "10.0.14393.0", + "option_windowsuap_targetdevicefamily_xbox": false, + "option_windowsuap_xbox_family_platform_version": "10.0.14393.0", + "option_windowsuap_xbox_family_platform_min_version": "10.0.14393.0", + "option_windowsuap_targetdevicefamily_mobile": false, + "option_windowsuap_mobile_family_platform_version": "10.0.14393.0", + "option_windowsuap_mobile_family_platform_min_version": "10.0.14393.0", + "option_windowsuap_targetdevicefamily_holographic": false, + "option_windowsuap_holographic_family_platform_version": "10.0.14393.0", + "option_windowsuap_holographic_family_platform_min_version": "10.0.14393.0", + "option_windowsuap_targetdevicefamily_team": false, + "option_windowsuap_team_family_platform_version": "10.0.14393.0", + "option_windowsuap_team_family_platform_min_version": "10.0.14393.0", + "option_windowsuap_xbox_live": false, + "option_windowsuap_xbox_live_creators_program": false, + "option_windowsuap_xbox_live_title_id": "0", + "option_windowsuap_xbox_live_scid": "00000000-0000-0000-0000-000000000000", + "resourceVersion": "1.0", + "name": "Windows UWP", + "tags": [], + "resourceType": "GMWindowsUAPOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/xboxone/options_xboxone.yy b/source/Steamworks_gml/options/xboxone/options_xboxone.yy new file mode 100644 index 0000000..5486237 --- /dev/null +++ b/source/Steamworks_gml/options/xboxone/options_xboxone.yy @@ -0,0 +1,38 @@ +{ + "option_xbone_display_name": "Created with GameMaker Studio 2", + "option_xbone_description": "Your Description", + "option_xbone_publisher": "Company Name", + "option_xbone_publisher_display_name": "Company Display Name", + "option_xbone_version": "1.0.0.0", + "option_xbone_product_id": "", + "option_xbone_title_id": "01234567", + "option_xbone_service_config_id": "00000000-0000-0000-0000-000000000000", + "option_xbone_program_id": "A149997C-9864-464E-9E03-8E06832F4CFF", + "option_xbone_require_xbox_live": false, + "option_xbone_require_game_chat": false, + "option_xbone_game_chat_slots": 4, + "option_xbone_require_audio_recording": false, + "option_xbone_x_title_memory": 5, + "option_xbone_stats_system": 0, + "option_xbone_service_config_manifest": "", + "option_xbone_network_config_manifest": "", + "option_xbone_splash_screen": "${base_options_dir}/xboxone/SplashScreen.png", + "option_xbone_splash_screen_colour": 4282795590, + "option_xbone_logo_store": "${base_options_dir}/xboxone/logos/StoreLogo.png", + "option_xbone_logo_small": "${base_options_dir}/xboxone/logos/SmallLogo.png", + "option_xbone_logo_large": "${base_options_dir}/xboxone/logos/Logo.png", + "option_xbone_logo_wide": "${base_options_dir}/xboxone/logos/WideLogo.png", + "option_xbone_logo_background_colour": 4282795590, + "option_xbone_foreground_text": 0, + "option_xbone_interpolate_pixels": false, + "option_xbone_scale": 0, + "option_xbone_texture_page": "2048x2048", + "option_xbone_support_4k_one_x": false, + "option_xbone_support_4k_one_s": false, + "option_xbone_ratings": "\n \n \n \n ", + "option_xbone_languages": "\n \n \n \n ", + "resourceVersion": "1.0", + "name": "Xbox One", + "tags": [], + "resourceType": "GMXBoxOneOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/options/xboxseriesxs/options_xboxseriesxs.yy b/source/Steamworks_gml/options/xboxseriesxs/options_xboxseriesxs.yy new file mode 100644 index 0000000..7fd6a21 --- /dev/null +++ b/source/Steamworks_gml/options/xboxseriesxs/options_xboxseriesxs.yy @@ -0,0 +1,42 @@ +{ + "option_xboxseriesxs_display_name": "Created with GameMaker Studio 2", + "option_xboxseriesxs_description": "Your Description", + "option_xboxseriesxs_publisher": "Company Name", + "option_xboxseriesxs_publisher_display_name": "Company Display Name", + "option_xboxseriesxs_version": "1.0.0.0", + "option_xboxseriesxs_product_id": "", + "option_xboxseriesxs_title_id": "01234567", + "option_xboxseriesxs_service_config_id": "00000000-0000-0000-0000-000000000000", + "option_xboxseriesxs_program_id": "ExactName.InPartnerCenter", + "option_xboxseriesxs_store_id": "", + "option_xboxseriesxs_msaappid": "", + "option_xboxseriesxs_content_id": "", + "option_xboxseriesxs_ekbid": "", + "option_xboxseriesxs_playfab_party_id": "00000", + "option_xboxseriesxs_simplified_user_model": false, + "option_xboxseriesxs_require_xbox_live": false, + "option_xboxseriesxs_require_game_chat": false, + "option_xboxseriesxs_game_chat_slots": 4, + "option_xboxseriesxs_require_audio_recording": false, + "option_xboxseriesxs_stats_system": 0, + "option_xboxseriesxs_service_config_manifest": "", + "option_xboxseriesxs_network_config_manifest": "", + "option_xboxseriesxs_splash_screen": "${base_options_dir}/xboxseriesxs/SplashScreen.png", + "option_xboxseriesxs_splash_screen_colour": 4282795590, + "option_xboxseriesxs_logo_store": "${base_options_dir}/xboxseriesxs/logos/StoreLogo.png", + "option_xboxseriesxs_logo_small": "${base_options_dir}/xboxseriesxs/logos/SmallLogo.png", + "option_xboxseriesxs_logo_medium": "${base_options_dir}/xboxseriesxs/logos/Logo.png", + "option_xboxseriesxs_logo_large": "${base_options_dir}/xboxseriesxs/logos/LargeLogo.png", + "option_xboxseriesxs_logo_background_colour": 4282795590, + "option_xboxseriesxs_foreground_text": 0, + "option_xboxseriesxs_interpolate_pixels": false, + "option_xboxseriesxs_scale": 0, + "option_xboxseriesxs_texture_page": "2048x2048", + "option_xboxseriesxs_support_4k_one_x": false, + "option_xboxseriesxs_support_4k_one_s": false, + "option_xboxseriesxs_languages": "\n \n \n \n ", + "resourceVersion": "1.1", + "name": "Xbox Series XS", + "tags": [], + "resourceType": "GMXboxSeriesXSOptions", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_30E09411_1_1.gml b/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_30E09411_1_1.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_30E09411_1_1.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_8B74AF2.gml b/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_8B74AF2.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/InstanceCreationCode_inst_8B74AF2.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy b/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy new file mode 100644 index 0000000..1cb688c --- /dev/null +++ b/source/Steamworks_gml/rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy @@ -0,0 +1,68 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_Lobby_Color","path":"objects/Obj_Steam_Networking_Lobby_Color/Obj_Steam_Networking_Lobby_Color.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":576.0,"resourceVersion":"1.0","name":"inst_65F37FE","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":640.0,"resourceVersion":"1.0","name":"inst_30E09411_1_1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_Lobby_setOwner","path":"objects/Obj_Steam_Networking_Lobby_setOwner/Obj_Steam_Networking_Lobby_setOwner.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":384.0,"resourceVersion":"1.0","name":"inst_5CA98C94_1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_Lobby_Chat","path":"objects/Obj_Steam_Networking_Lobby_Chat/Obj_Steam_Networking_Lobby_Chat.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":480.0,"resourceVersion":"1.0","name":"inst_6E9562FA","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_Lobby","path":"objects/Obj_Steam_Networking_Lobby/Obj_Steam_Networking_Lobby.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":224.0,"resourceVersion":"1.0","name":"inst_7FE5EB5D","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_Overlay","path":"objects/Obj_Steam_Networking_Overlay/Obj_Steam_Networking_Overlay.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":672.0,"resourceVersion":"1.0","name":"inst_1D4E3C64","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_8B74AF2","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_30E09411_1_1","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + {"name":"inst_5CA98C94_1","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + {"name":"inst_6E9562FA","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + {"name":"inst_7FE5EB5D","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + {"name":"inst_65F37FE","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + {"name":"inst_1D4E3C64","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + {"name":"inst_8B74AF2","path":"rooms/Room_Steam_Networking_Lobby/Room_Steam_Networking_Lobby.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Networking_Lobby", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_30E09411_1.gml b/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_30E09411_1.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_30E09411_1.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_3774885E.gml b/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_3774885E.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/InstanceCreationCode_inst_3774885E.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy b/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy new file mode 100644 index 0000000..e604f82 --- /dev/null +++ b/source/Steamworks_gml/rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy @@ -0,0 +1,64 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":640.0,"resourceVersion":"1.0","name":"inst_30E09411_1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking","path":"objects/Obj_Steam_Networking/Obj_Steam_Networking.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":384.0,"resourceVersion":"1.0","name":"inst_1D09CE09","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_Join_Specific","path":"objects/Obj_Steam_Networking_Join_Specific/Obj_Steam_Networking_Join_Specific.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":480.0,"resourceVersion":"1.0","name":"inst_52C7A3BB","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Networking_List","path":"objects/Obj_Steam_Networking_List/Obj_Steam_Networking_List.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":576.0,"resourceVersion":"1.0","name":"inst_53338C45","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_3774885E","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_30E09411_1","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",}, + {"name":"inst_1D09CE09","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",}, + {"name":"inst_52C7A3BB","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",}, + {"name":"inst_53338C45","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",}, + {"name":"inst_3774885E","path":"rooms/Room_Steam_Networking_Matchmaking/Room_Steam_Networking_Matchmaking.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Networking", + "path": "folders/Steamworks Demo/Networking.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Networking_Matchmaking", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_init/Room_Steam_Init.yy b/source/Steamworks_gml/rooms/room_steam_init/Room_Steam_Init.yy new file mode 100644 index 0000000..a86f664 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_init/Room_Steam_Init.yy @@ -0,0 +1,55 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam","path":"objects/Obj_Steam/Obj_Steam.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":0.0,"y":0.0,"resourceVersion":"1.0","name":"inst_3918EEB2","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":false,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Instances","tags":[],"resourceType":"GMRInstanceLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "${project_dir}/rooms/Room_Steam_Init/RoomCreationCode.gml", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_3918EEB2","path":"rooms/Room_Steam_Init/Room_Steam_Init.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Steamworks Demo", + "path": "folders/Steamworks Demo.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Init", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2664DA60.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2664DA60.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2664DA60.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2A43E815.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2A43E815.gml new file mode 100644 index 0000000..5a12523 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_2A43E815.gml @@ -0,0 +1,5 @@ + +text = "Networking" +targetRoom = Room_Steam_Networking_Matchmaking + + diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3214E0AF.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3214E0AF.gml new file mode 100644 index 0000000..c2b43f5 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3214E0AF.gml @@ -0,0 +1,3 @@ + +text = "UGC" +targetRoom = Room_Steam_UGC diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3A3DAC82.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3A3DAC82.gml new file mode 100644 index 0000000..fd8dfa8 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_3A3DAC82.gml @@ -0,0 +1,3 @@ + +text = "Social" +targetRoom = Room_Steam_Social diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_6127867E.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_6127867E.gml new file mode 100644 index 0000000..fd8dfa8 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_6127867E.gml @@ -0,0 +1,3 @@ + +text = "Social" +targetRoom = Room_Steam_Social diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_78432E8C.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_78432E8C.gml new file mode 100644 index 0000000..7afab9d --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_78432E8C.gml @@ -0,0 +1,3 @@ + +text = "Remote Storage" +targetRoom = Room_Steam_Storage diff --git a/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_7D35CEB1.gml b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_7D35CEB1.gml new file mode 100644 index 0000000..b5063d4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/InstanceCreationCode_inst_7D35CEB1.gml @@ -0,0 +1,3 @@ + +text = "Overlays" +targetRoom = Room_Steam_Overlay diff --git a/source/Steamworks_gml/rooms/room_steam_main/room_steam_main.yy b/source/Steamworks_gml/rooms/room_steam_main/room_steam_main.yy new file mode 100644 index 0000000..1a0e999 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_main/room_steam_main.yy @@ -0,0 +1,72 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_GeneralInfo","path":"objects/Obj_Steam_GeneralInfo/Obj_Steam_GeneralInfo.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":32.0,"y":128.0,"resourceVersion":"1.0","name":"inst_27A65E01","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1056.0,"y":320.0,"resourceVersion":"1.0","name":"inst_78432E8C","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1056.0,"y":416.0,"resourceVersion":"1.0","name":"inst_3214E0AF","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1056.0,"y":512.0,"resourceVersion":"1.0","name":"inst_3A3DAC82","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1056.0,"y":224.0,"resourceVersion":"1.0","name":"inst_7D35CEB1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Screenshot","path":"objects/Obj_Steam_Screenshot/Obj_Steam_Screenshot.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":672.0,"y":608.0,"resourceVersion":"1.0","name":"inst_33B56A43","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_2664DA60","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1056.0,"y":608.0,"resourceVersion":"1.0","name":"inst_2A43E815","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_ProfileImage","path":"objects/Obj_Steam_ProfileImage/Obj_Steam_ProfileImage.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":64.0,"y":480.0,"resourceVersion":"1.0","name":"inst_40E33CB4","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_27A65E01","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_78432E8C","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_3214E0AF","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_3A3DAC82","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_7D35CEB1","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_33B56A43","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_2664DA60","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_2A43E815","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + {"name":"inst_40E33CB4","path":"rooms/Room_Steam_Main/Room_Steam_Main.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Main", + "path": "folders/Steamworks Demo/Main.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Main", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_69A55ABC.gml b/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_69A55ABC.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_69A55ABC.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_6CBFB5C0.gml b/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_6CBFB5C0.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_6CBFB5C0.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_9B83182.gml b/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_9B83182.gml new file mode 100644 index 0000000..5e11bbb --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_overlay/InstanceCreationCode_inst_9B83182.gml @@ -0,0 +1,6 @@ + +font = Font_YoYo_20; +valign = fa_top; +halign = fa_left; + +text = "[NOTE] Overlays will not work on macOS and Ubuntu, when running from the IDE"; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_overlay/Room_Steam_Overlay.yy b/source/Steamworks_gml/rooms/room_steam_overlay/Room_Steam_Overlay.yy new file mode 100644 index 0000000..63f827f --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_overlay/Room_Steam_Overlay.yy @@ -0,0 +1,80 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":672.0,"resourceVersion":"1.0","name":"inst_6CBFB5C0","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_OverlayInfo","path":"objects/Obj_Steam_OverlayInfo/Obj_Steam_OverlayInfo.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":0.0,"y":128.0,"resourceVersion":"1.0","name":"inst_98FBF16","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Friends","path":"objects/Obj_Steam_Overlay_Friends/Obj_Steam_Overlay_Friends.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":254.41559,"y":294.0,"resourceVersion":"1.0","name":"inst_40AB66B6","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Community","path":"objects/Obj_Steam_Overlay_Community/Obj_Steam_Overlay_Community.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":254.41559,"y":390.0,"resourceVersion":"1.0","name":"inst_41C062FA","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Players","path":"objects/Obj_Steam_Overlay_Players/Obj_Steam_Overlay_Players.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":254.41559,"y":486.0,"resourceVersion":"1.0","name":"inst_59A61DA6","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Setting","path":"objects/Obj_Steam_Overlay_Setting/Obj_Steam_Overlay_Setting.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":638.4156,"y":294.0,"resourceVersion":"1.0","name":"inst_52DBDA50","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_GameGroup","path":"objects/Obj_Steam_Overlay_GameGroup/Obj_Steam_Overlay_GameGroup.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":638.4156,"y":390.0,"resourceVersion":"1.0","name":"inst_48623860","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Achievements","path":"objects/Obj_Steam_Overlay_Achievements/Obj_Steam_Overlay_Achievements.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":640.00006,"y":480.0,"resourceVersion":"1.0","name":"inst_45B0AC10","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Browser","path":"objects/Obj_Steam_Overlay_Browser/Obj_Steam_Overlay_Browser.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1022.4155,"y":294.0,"resourceVersion":"1.0","name":"inst_15323775","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_User","path":"objects/Obj_Steam_Overlay_User/Obj_Steam_Overlay_User.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1022.4155,"y":390.0,"resourceVersion":"1.0","name":"inst_4FBFE78A","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Overlay_Store","path":"objects/Obj_Steam_Overlay_Store/Obj_Steam_Overlay_Store.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.168831,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1022.4155,"y":486.0,"resourceVersion":"1.0","name":"inst_5E96335D","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_69A55ABC","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":96.0,"y":576.0,"resourceVersion":"1.0","name":"inst_9B83182","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_6CBFB5C0","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_98FBF16","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_40AB66B6","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_41C062FA","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_59A61DA6","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_52DBDA50","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_48623860","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_45B0AC10","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_15323775","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_4FBFE78A","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_5E96335D","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_69A55ABC","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + {"name":"inst_9B83182","path":"rooms/Room_Steam_Overlay/Room_Steam_Overlay.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Overlay", + "path": "folders/Steamworks Demo/Overlay.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Overlay", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_190852B0.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_190852B0.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_190852B0.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1BA0D2A4.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1BA0D2A4.gml new file mode 100644 index 0000000..b9dd451 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1BA0D2A4.gml @@ -0,0 +1,3 @@ + +text = "Leaderboards" +targetRoom = Room_Steam_Social_Leaderboard diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1D3C3B61.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1D3C3B61.gml new file mode 100644 index 0000000..8987c39 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_1D3C3B61.gml @@ -0,0 +1,3 @@ + +text = "Winner" +achievement = "ACH_WIN_ONE_GAME" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29201E07.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29201E07.gml new file mode 100644 index 0000000..f781545 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29201E07.gml @@ -0,0 +1,2 @@ + +achievement = "ACH_WIN_100_GAMES" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_292FC577.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_292FC577.gml new file mode 100644 index 0000000..9623bea --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_292FC577.gml @@ -0,0 +1,3 @@ + +text = "Champion" +achievement = "ACH_WIN_100_GAMES" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29D9EAC7.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29D9EAC7.gml new file mode 100644 index 0000000..04204a5 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_29D9EAC7.gml @@ -0,0 +1 @@ +text = "Stats" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_2EE95865.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_2EE95865.gml new file mode 100644 index 0000000..0a67756 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_2EE95865.gml @@ -0,0 +1 @@ +text = "Achievements" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_328911A4.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_328911A4.gml new file mode 100644 index 0000000..81e3832 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_328911A4.gml @@ -0,0 +1,3 @@ + +text = "Orbiter" +achievement = "ACH_TRAVEL_FAR_SINGLE" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_33F3C649.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_33F3C649.gml new file mode 100644 index 0000000..e4d9a62 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_33F3C649.gml @@ -0,0 +1,2 @@ + +achievement = "ACH_TRAVEL_FAR_SINGLE" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_4FE7BB76.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_4FE7BB76.gml new file mode 100644 index 0000000..9dd5883 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_4FE7BB76.gml @@ -0,0 +1,2 @@ + +achievement = "ACH_TRAVEL_FAR_ACCUM" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_683F2162.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_683F2162.gml new file mode 100644 index 0000000..5728cd4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_683F2162.gml @@ -0,0 +1,3 @@ + +text = "Interstellar" +achievement = "ACH_TRAVEL_FAR_ACCUM" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_7254EB1C.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_7254EB1C.gml new file mode 100644 index 0000000..e389f3d --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_7254EB1C.gml @@ -0,0 +1,2 @@ + +achievement = "ACH_WIN_ONE_GAME" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_A83A810.gml b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_A83A810.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/InstanceCreationCode_inst_A83A810.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social/Room_Steam_Social.yy b/source/Steamworks_gml/rooms/room_steam_social/Room_Steam_Social.yy new file mode 100644 index 0000000..c55a67c --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social/Room_Steam_Social.yy @@ -0,0 +1,92 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":2.5844154,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1152.0,"y":640.0,"resourceVersion":"1.0","name":"inst_190852B0","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_StatsInfo","path":"objects/Obj_Steam_StatsInfo/Obj_Steam_StatsInfo.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":0.0,"y":96.0,"resourceVersion":"1.0","name":"inst_61A17AA2","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Stat_Win","path":"objects/Obj_Steam_Stat_Win/Obj_Steam_Stat_Win.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":576.0,"y":192.0,"resourceVersion":"1.0","name":"inst_26B12F49","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Stat_Lose","path":"objects/Obj_Steam_Stat_Lose/Obj_Steam_Stat_Lose.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":576.0,"y":288.0,"resourceVersion":"1.0","name":"inst_2A68A340","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Stat_FeetsTraveled","path":"objects/Obj_Steam_Stat_FeetsTraveled/Obj_Steam_Stat_FeetsTraveled.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":576.0,"y":384.0,"resourceVersion":"1.0","name":"inst_7B202F4","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Stat_AverageSpeed","path":"objects/Obj_Steam_Stat_AverageSpeed/Obj_Steam_Stat_AverageSpeed.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":576.0,"y":480.0,"resourceVersion":"1.0","name":"inst_2A7FD7FE","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Clear","path":"objects/Obj_Steam_Achievement_Clear/Obj_Steam_Achievement_Clear.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":-0.08156469,"scaleX":1.0909086,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":192.00002,"resourceVersion":"1.0","name":"inst_7254EB1C","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_ResetAll","path":"objects/Obj_Steam_Achievement_ResetAll/Obj_Steam_Achievement_ResetAll.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":3.5844162,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":767.99994,"y":576.0,"resourceVersion":"1.0","name":"inst_2C506FC4","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":4.4155846,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":640.0,"resourceVersion":"1.0","name":"inst_1BA0D2A4","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":576.0,"y":128.0,"resourceVersion":"1.0","name":"inst_29D9EAC7","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":976.0,"y":128.0,"resourceVersion":"1.0","name":"inst_2EE95865","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_A83A810","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Set","path":"objects/Obj_Steam_Achievement_Set/Obj_Steam_Achievement_Set.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.4935067,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":928.4155,"y":192.0,"resourceVersion":"1.0","name":"inst_1D3C3B61","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Set","path":"objects/Obj_Steam_Achievement_Set/Obj_Steam_Achievement_Set.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.4935067,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":928.4155,"y":288.0,"resourceVersion":"1.0","name":"inst_292FC577","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Set","path":"objects/Obj_Steam_Achievement_Set/Obj_Steam_Achievement_Set.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.4935067,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":928.4155,"y":384.0,"resourceVersion":"1.0","name":"inst_683F2162","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Set","path":"objects/Obj_Steam_Achievement_Set/Obj_Steam_Achievement_Set.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.4935067,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":928.4155,"y":480.0,"resourceVersion":"1.0","name":"inst_328911A4","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Clear","path":"objects/Obj_Steam_Achievement_Clear/Obj_Steam_Achievement_Clear.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":-0.08156469,"scaleX":1.0909086,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":288.0,"resourceVersion":"1.0","name":"inst_29201E07","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Clear","path":"objects/Obj_Steam_Achievement_Clear/Obj_Steam_Achievement_Clear.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":-0.08156469,"scaleX":1.0909086,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":384.0,"resourceVersion":"1.0","name":"inst_4FE7BB76","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Achievement_Clear","path":"objects/Obj_Steam_Achievement_Clear/Obj_Steam_Achievement_Clear.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":-0.08156469,"scaleX":1.0909086,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":480.0,"resourceVersion":"1.0","name":"inst_33F3C649","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_190852B0","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_61A17AA2","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_26B12F49","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_2A68A340","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_7B202F4","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_2A7FD7FE","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_7254EB1C","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_2C506FC4","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_1BA0D2A4","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_29D9EAC7","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_2EE95865","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_A83A810","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_1D3C3B61","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_292FC577","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_683F2162","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_328911A4","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_29201E07","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_4FE7BB76","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + {"name":"inst_33F3C649","path":"rooms/Room_Steam_Social/Room_Steam_Social.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Social", + "path": "folders/Steamworks Demo/Social.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Social", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_190852B0_1.gml b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_190852B0_1.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_190852B0_1.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_56D5E248.gml b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_56D5E248.gml new file mode 100644 index 0000000..b2d6460 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_56D5E248.gml @@ -0,0 +1 @@ +text = "Upload" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_621C4689.gml b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_621C4689.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_621C4689.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_716BF28.gml b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_716BF28.gml new file mode 100644 index 0000000..1fd6028 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/InstanceCreationCode_inst_716BF28.gml @@ -0,0 +1 @@ +text = "Download" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_social_leaderboard/room_steam_social_leaderboard.yy b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/room_steam_social_leaderboard.yy new file mode 100644 index 0000000..2f0838b --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_social_leaderboard/room_steam_social_leaderboard.yy @@ -0,0 +1,72 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":160.0,"y":640.0,"resourceVersion":"1.0","name":"inst_190852B0_1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Leaderboard_Upload","path":"objects/Obj_Steam_Leaderboard_Upload/Obj_Steam_Leaderboard_Upload.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":224.0,"resourceVersion":"1.0","name":"inst_7B660BA5","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Leaderboard_Download_General","path":"objects/Obj_Steam_Leaderboard_Download_General/Obj_Steam_Leaderboard_Download_General.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":544.0,"y":224.0,"resourceVersion":"1.0","name":"inst_228AFC10","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Leaderboard_Download_AroundUser","path":"objects/Obj_Steam_Leaderboard_Download_AroundUser/Obj_Steam_Leaderboard_Download_AroundUser.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":544.0,"y":416.0,"resourceVersion":"1.0","name":"inst_7A4D5E49","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Leaderboard_Download_Friends","path":"objects/Obj_Steam_Leaderboard_Download_Friends/Obj_Steam_Leaderboard_Download_Friends.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":544.0,"y":320.0,"resourceVersion":"1.0","name":"inst_378461B3","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Leaderboard_UploadWithBuff","path":"objects/Obj_Steam_Leaderboard_UploadWithBuff/Obj_Steam_Leaderboard_UploadWithBuff.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":320.0,"resourceVersion":"1.0","name":"inst_1359C577","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_621C4689","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":160.0,"resourceVersion":"1.0","name":"inst_56D5E248","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":544.0,"y":160.0,"resourceVersion":"1.0","name":"inst_716BF28","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_190852B0_1","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_7B660BA5","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_228AFC10","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_7A4D5E49","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_378461B3","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_1359C577","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_621C4689","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_56D5E248","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + {"name":"inst_716BF28","path":"rooms/Room_Steam_Social_Leaderboard/Room_Steam_Social_Leaderboard.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Social", + "path": "folders/Steamworks Demo/Social.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Social_Leaderboard", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_30E09411.gml b/source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_30E09411.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_30E09411.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_72B4C843.gml b/source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_72B4C843.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_storage/InstanceCreationCode_inst_72B4C843.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_storage/room_steam_storage.yy b/source/Steamworks_gml/rooms/room_steam_storage/room_steam_storage.yy new file mode 100644 index 0000000..c189ea5 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_storage/room_steam_storage.yy @@ -0,0 +1,68 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":640.0,"resourceVersion":"1.0","name":"inst_30E09411","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_StorageInfo","path":"objects/Obj_Steam_StorageInfo/Obj_Steam_StorageInfo.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":0.0,"y":96.0,"resourceVersion":"1.0","name":"inst_CFCCD1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_File_Write","path":"objects/Obj_Steam_File_Write/Obj_Steam_File_Write.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":480.0,"y":384.0,"resourceVersion":"1.0","name":"inst_B312177","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_File_Delete","path":"objects/Obj_Steam_File_Delete/Obj_Steam_File_Delete.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":640.0,"y":576.0,"resourceVersion":"1.0","name":"inst_3EF6DC4B","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_File_Read","path":"objects/Obj_Steam_File_Read/Obj_Steam_File_Read.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":640.0,"y":480.0,"resourceVersion":"1.0","name":"inst_26F4DBD0","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_File_WriteFromFile","path":"objects/Obj_Steam_File_WriteFromFile/Obj_Steam_File_WriteFromFile.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":800.0,"y":384.0,"resourceVersion":"1.0","name":"inst_4BB7031D","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_72B4C843","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_30E09411","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + {"name":"inst_CFCCD1","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + {"name":"inst_B312177","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + {"name":"inst_3EF6DC4B","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + {"name":"inst_26F4DBD0","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + {"name":"inst_4BB7031D","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + {"name":"inst_72B4C843","path":"rooms/Room_Steam_Storage/Room_Steam_Storage.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "Storage", + "path": "folders/Steamworks Demo/Storage.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_Storage", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_150372E.gml b/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_150372E.gml new file mode 100644 index 0000000..f8efdd0 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_150372E.gml @@ -0,0 +1,2 @@ + +text = "Query UGC (first 4 items)" \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_357AEFD6.gml b/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_357AEFD6.gml new file mode 100644 index 0000000..09979a4 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_357AEFD6.gml @@ -0,0 +1,3 @@ + +text = "Steamworks Extension"; +font = Font_YoYo_50; \ No newline at end of file diff --git a/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_3E3C24E5.gml b/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_3E3C24E5.gml new file mode 100644 index 0000000..d6f13e7 --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_ugc/InstanceCreationCode_inst_3E3C24E5.gml @@ -0,0 +1,3 @@ + +text = "Back" +targetRoom = Room_Steam_Main diff --git a/source/Steamworks_gml/rooms/room_steam_ugc/room_steam_ugc.yy b/source/Steamworks_gml/rooms/room_steam_ugc/room_steam_ugc.yy new file mode 100644 index 0000000..02f6ece --- /dev/null +++ b/source/Steamworks_gml/rooms/room_steam_ugc/room_steam_ugc.yy @@ -0,0 +1,72 @@ +{ + "isDnd": false, + "volume": 1.0, + "parentRoom": null, + "views": [ + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + {"inherit":false,"visible":false,"xview":0,"yview":0,"wview":1024,"hview":768,"xport":0,"yport":0,"wport":1024,"hport":768,"hborder":32,"vborder":32,"hspeed":-1,"vspeed":-1,"objectId":null,}, + ], + "layers": [ + {"instances":[ + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_UGC","path":"objects/Obj_Steam_UGC/Obj_Steam_UGC.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":0.0,"y":96.0,"resourceVersion":"1.0","name":"inst_104BAFC0","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_UGC_Create","path":"objects/Obj_Steam_UGC_Create/Obj_Steam_UGC_Create.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":4.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":192.0,"y":192.0,"resourceVersion":"1.0","name":"inst_7EFEF603","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_UGC_Query_User","path":"objects/Obj_Steam_UGC_Query_User/Obj_Steam_UGC_Query_User.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":544.0,"y":224.0,"resourceVersion":"1.0","name":"inst_7B0E762","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_UGC_Query_All","path":"objects/Obj_Steam_UGC_Query_All/Obj_Steam_UGC_Query_All.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":832.0,"y":224.0,"resourceVersion":"1.0","name":"inst_5E1B5244","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_UGC_Subscribed","path":"objects/Obj_Steam_UGC_Subscribed/Obj_Steam_UGC_Subscribed.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":224.0,"resourceVersion":"1.0","name":"inst_2679DD8","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_Goto","path":"objects/Obj_Steam_Goto/Obj_Steam_Goto.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":3.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":1120.0,"y":640.0,"resourceVersion":"1.0","name":"inst_3E3C24E5","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":768.0,"y":48.0,"resourceVersion":"1.0","name":"inst_357AEFD6","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_Steam_UGC_Item_Actions","path":"objects/Obj_Steam_UGC_Item_Actions/Obj_Steam_UGC_Item_Actions.yy",},"inheritCode":false,"hasCreationCode":false,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":32.0,"y":288.0,"resourceVersion":"1.0","name":"inst_71B120B1","tags":[],"resourceType":"GMRInstance",}, + {"properties":[],"isDnd":false,"objectId":{"name":"Obj_YoYo_text","path":"objects/Obj_YoYo_text/Obj_YoYo_text.yy",},"inheritCode":false,"hasCreationCode":true,"colour":4294967295,"rotation":0.0,"scaleX":1.0,"scaleY":1.0,"imageIndex":0,"imageSpeed":1.0,"inheritedItemId":null,"frozen":false,"ignore":false,"inheritItemSettings":false,"x":832.0,"y":160.0,"resourceVersion":"1.0","name":"inst_150372E","tags":[],"resourceType":"GMRInstance",}, + ],"visible":true,"depth":0,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Instances_Depth_0","tags":[],"resourceType":"GMRInstanceLayer",}, + {"spriteId":{"name":"Spr_YoYo_background","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"colour":4294967295,"x":0,"y":0,"htiled":false,"vtiled":false,"hspeed":0.0,"vspeed":0.0,"stretch":false,"animationFPS":30.0,"animationSpeedType":0,"userdefinedAnimFPS":false,"visible":true,"depth":2147483600,"userdefinedDepth":true,"inheritLayerDepth":false,"inheritLayerSettings":false,"gridX":32,"gridY":32,"layers":[],"hierarchyFrozen":false,"effectEnabled":true,"effectType":null,"properties":[],"resourceVersion":"1.0","name":"Compatibility_Colour","tags":[],"resourceType":"GMRBackgroundLayer",}, + ], + "inheritLayers": false, + "creationCodeFile": "", + "inheritCode": false, + "instanceCreationOrder": [ + {"name":"inst_104BAFC0","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_7B0E762","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_7EFEF603","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_5E1B5244","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_2679DD8","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_3E3C24E5","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_357AEFD6","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_71B120B1","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + {"name":"inst_150372E","path":"rooms/Room_Steam_UGC/Room_Steam_UGC.yy",}, + ], + "inheritCreationOrder": false, + "sequenceId": null, + "roomSettings": { + "inheritRoomSettings": false, + "Width": 1280, + "Height": 720, + "persistent": false, + }, + "viewSettings": { + "inheritViewSettings": false, + "enableViews": false, + "clearViewBackground": true, + "clearDisplayBuffer": true, + }, + "physicsSettings": { + "inheritPhysicsSettings": false, + "PhysicsWorld": false, + "PhysicsWorldGravityX": 0.0, + "PhysicsWorldGravityY": 10.0, + "PhysicsWorldPixToMetres": 0.1, + }, + "parent": { + "name": "UGC", + "path": "folders/Steamworks Demo/UGC.yy", + }, + "resourceVersion": "1.0", + "name": "Room_Steam_UGC", + "tags": [], + "resourceType": "GMRoom", +} \ No newline at end of file diff --git a/source/Steamworks_gml/sprites/spr_yoyo_background/Spr_YoYo_background.yy b/source/Steamworks_gml/sprites/spr_yoyo_background/Spr_YoYo_background.yy new file mode 100644 index 0000000..c9f872e --- /dev/null +++ b/source/Steamworks_gml/sprites/spr_yoyo_background/Spr_YoYo_background.yy @@ -0,0 +1,73 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "Spr_YoYo_background", + "bboxMode": 0, + "collisionKind": 1, + "type": 0, + "origin": 0, + "preMultiplyAlpha": false, + "edgeFiltering": false, + "collisionTolerance": 0, + "swfPrecision": 2.525, + "bbox_left": 0, + "bbox_right": 1365, + "bbox_top": 0, + "bbox_bottom": 767, + "HTile": false, + "VTile": false, + "For3D": false, + "width": 1366, + "height": 768, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "swatchColours": null, + "gridX": 0, + "gridY": 0, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"c3f379b0-5a59-4f2d-a405-482ad85060a5",}, + ], + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "Spr_YoYo_background", + "timeUnits": 1, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "autoRecord": true, + "volume": 1.0, + "length": 1.0, + "events": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","spriteId":null,"keyframes":{"Keyframes":[ + {"id":"4913e5ee-8db7-4201-a537-ad2989034a70","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"c3f379b0-5a59-4f2d-a405-482ad85060a5","path":"sprites/Spr_YoYo_background/Spr_YoYo_background.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"modifiers":[],}, + ], + "visibleRange": null, + "lockOrigin": false, + "showBackdrop": true, + "showBackdropImage": false, + "backdropImagePath": "", + "backdropImageOpacity": 0.5, + "backdropWidth": 1366, + "backdropHeight": 768, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "xorigin": 0, + "yorigin": 0, + "eventToFunction": {}, + "eventStubScript": null, + }, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"6f89315b-439b-4995-9206-9dc7674be0df","visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default",}, + ], + "nineSlice": null, + "parent": { + "name": "Sprites", + "path": "folders/YoYo Extensions Assets/Sprites.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/sprites/spr_yoyo_background/c3f379b0-5a59-4f2d-a405-482ad85060a5.png b/source/Steamworks_gml/sprites/spr_yoyo_background/c3f379b0-5a59-4f2d-a405-482ad85060a5.png new file mode 100644 index 0000000000000000000000000000000000000000..f30d11b47d7e1495b78ccadb9b0071ea4602c67e GIT binary patch literal 20813 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 I&MBb@0P#l1$p8QV literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/sprites/spr_yoyo_button/Spr_YoYo_button.yy b/source/Steamworks_gml/sprites/spr_yoyo_button/Spr_YoYo_button.yy new file mode 100644 index 0000000..eab5377 --- /dev/null +++ b/source/Steamworks_gml/sprites/spr_yoyo_button/Spr_YoYo_button.yy @@ -0,0 +1,101 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "Spr_YoYo_button", + "bboxMode": 0, + "collisionKind": 1, + "type": 0, + "origin": 4, + "preMultiplyAlpha": false, + "edgeFiltering": false, + "collisionTolerance": 0, + "swfPrecision": 2.525, + "bbox_left": 0, + "bbox_right": 76, + "bbox_top": 0, + "bbox_bottom": 76, + "HTile": false, + "VTile": false, + "For3D": false, + "width": 77, + "height": 77, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "swatchColours": null, + "gridX": 0, + "gridY": 0, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"012d4e38-d855-40d4-8775-d877304847fd",}, + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"c7e6e482-9118-46e9-af5a-aaee1f9aa8e7",}, + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"acb1e226-988d-469f-a81d-5f63e7cf012d",}, + ], + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "Spr_YoYo_button", + "timeUnits": 1, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "autoRecord": true, + "volume": 1.0, + "length": 3.0, + "events": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","spriteId":null,"keyframes":{"Keyframes":[ + {"id":"d490e245-2a78-444e-8f8c-8c9e2a71de6f","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"012d4e38-d855-40d4-8775-d877304847fd","path":"sprites/Spr_YoYo_button/Spr_YoYo_button.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + {"id":"9c983f94-7ea3-4f0d-a55f-ec6e08dbfbe3","Key":1.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"c7e6e482-9118-46e9-af5a-aaee1f9aa8e7","path":"sprites/Spr_YoYo_button/Spr_YoYo_button.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + {"id":"cf3fd2bc-2fcd-4f87-ab33-5042c925de32","Key":2.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"acb1e226-988d-469f-a81d-5f63e7cf012d","path":"sprites/Spr_YoYo_button/Spr_YoYo_button.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"modifiers":[],}, + ], + "visibleRange": null, + "lockOrigin": false, + "showBackdrop": true, + "showBackdropImage": false, + "backdropImagePath": "", + "backdropImageOpacity": 0.5, + "backdropWidth": 1366, + "backdropHeight": 768, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "xorigin": 38, + "yorigin": 38, + "eventToFunction": {}, + "eventStubScript": null, + }, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"2bcd6097-0126-4c78-95b8-74cf466c4de5","visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default",}, + ], + "nineSlice": { + "left": 15, + "top": 15, + "right": 15, + "bottom": 15, + "guideColour": [ + 4294902015, + 4294902015, + 4294902015, + 4294902015, + ], + "highlightColour": 1728023040, + "highlightStyle": 0, + "enabled": true, + "tileMode": [ + 0, + 0, + 0, + 0, + 0, + ], + "resourceVersion": "1.0", + "loadedVersion": null, + "resourceType": "GMNineSliceData", + }, + "parent": { + "name": "Sprites", + "path": "folders/YoYo Extensions Assets/Sprites.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/sprites/spr_yoyo_button/acb1e226-988d-469f-a81d-5f63e7cf012d.png b/source/Steamworks_gml/sprites/spr_yoyo_button/acb1e226-988d-469f-a81d-5f63e7cf012d.png new file mode 100644 index 0000000000000000000000000000000000000000..6c3d2d73feb2fb2cdc52ad5e19dbaf1920c0e0ba GIT binary patch literal 999 zcmeAS@N?(olHy`uVBq!ia0vp^z97uO1|%PIzTCjTz`V}W#WAE}&f7U>vxOZcjx86^ zUa>%~E5YG|M(7o;S+~5`PIpo=dEgo?qWh!pq7v6%`8^@5(fUmZFCACPMSTbhGziH$ z$RF?_iuGf{RIL^4we#}K^3r}!tlW6}?%ChX?RU?dTef+>-=^7z_egH$So?PF+8Z*i z-;^U$E+^FnAJO?FIMe0bbUAx1-7A{O<__2Fa@HxchnG}*OflXho9V1~@ThT)zQeul zgymY9FG|i;9J=OWdTPeu&fq5TF6mFw+LsC**qE7zC#M*;3ug$_Nh#z_;Qf5*!iA=@ z2bk1*l*=bvKe2p;+s>{W$1+9riF-32S#0c^+j#hM-`^q?$a*KT665YAg`L{4ZB$y zYY%4q*?h(Nf$_QB9P&;5iq;c(|L0a*G)Uib)3}M}VfE|lMt^hVc^A$P^kz)_qw%@B zu>W+WVe|hdF_y~aBf#!xHYz54ZL_zQyNo=X{iZ(ag+r-(4*~-?*Jq zFwe3*=z6R0`9l@8R=F{L1~0Ixpo6$Yctc#V}RP zfiBE~iN}sE$&7tv{2b_%TU$8AIX$@jUVn>SQuwndYH9C|lCp_q+?Kg}T$g4(n)-3w z+O(``$DW=7CYLq)CofaIsXuYg>7blPCEuSgRj&JfOiw%EtAh1}uX^tVnfEE@_lCP? zY-r2kR1}+(Hhs>DMStAaO%3L6@hS+o6`qp3VB%5VG-c_aKO4LE)-2v4nG(HVqhzK0 z%?XeEH-D{ayEJdct6%+lJHod9a$o=Tm*&!qb`kXpHa6)0*3)G-i$AdRbV&FXrNxpb zD*Kv+D+)CV5+riJMyy=VwC+EL+2OFyEVVz&&!6VV-t}w0ZsetW5%p`?z9)p$Y!3gp zQqXGs`BH?8P}47;9ltW}wQze~)2^-Cd;3(e)ai*%GNy+s2hj`bH9 zuUHV}F+pGp&u0GSO);t5;@{c0a=i?_UL*&4hI}!^f7=E-6U(^oxJFgrfs zuZQlY%#Hgrlf-^@^eFeQds}6-Ens=iU53ct8+NwJL|uG%bn@8~WlK1B@`&qi*vnD5 zzG<%4l7*KoA9F?vU)4zFQ$HuMCm?43{fH@T%+ELO+$*KrZ8^uG_CqjhVQtQg>1}On zIaT5oi7Y$YeU#@fl6tDOiFKvBpHk%O2z{Gg=Q~U6FXt&-ZRE3`z*kbS=hNdJ(fA4F zC!9I54u50Zw6371?!`+FHulQ$oNa!2?Hkl5@|w0496I1@UDhnTeC9rj%eU72J3LkI zOuL*yro`@@4#m<-O`~exyP2gric4^^`)Nmm{+q+{P$aYS-tM%``-dZt9qljI3CY8 z`fvEI&{99`!}L25Cp2S%`5xKrsBye`iOX2$<)NGkUF99ym<7IXzB4%{?N;Puy+pg+ z6OBFg-4TviGPgj^ujs+nwH;g7zHd}%+p9M>c1fuIebtR?N?*Py`5s~uGK*oVn!{4g zfJ`R(FvT-td}du+YF7+$itns~i49vGY{|RtDm7hydFZVL-s$3*EkwydW- zH#K;hiC*}-GuJo&^P4p-Wxv}dJ@1X3m+wyIezNnP^zJncR~z3rT-#ma&hw*hk7=Cj z!hJ@oR9hlEX2ljQYB|KeGtxsxF zDb8K?rPrQIdR3=+y|yn?jJo??J*H+Z&{Ehyv}Zx>BFW;Q@yswzu)#_&at8;0>?LnM?K#*<^C~k0hx8h-W3dw z)Ox-@i0Txbni~=LQ)rJ5i?nk-ODmsmml$B51pHp??+}8_7oPb%F!PC{x JWt~$(69B8l#76)C literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/sprites/spr_yoyo_button/layers/012d4e38-d855-40d4-8775-d877304847fd/2bcd6097-0126-4c78-95b8-74cf466c4de5.png b/source/Steamworks_gml/sprites/spr_yoyo_button/layers/012d4e38-d855-40d4-8775-d877304847fd/2bcd6097-0126-4c78-95b8-74cf466c4de5.png new file mode 100644 index 0000000000000000000000000000000000000000..92dcb757aa7adaf283bf34474c95b624ca3f8505 GIT binary patch literal 937 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/sprites/spr_yoyo_textbox/Spr_YoYo_textbox.yy b/source/Steamworks_gml/sprites/spr_yoyo_textbox/Spr_YoYo_textbox.yy new file mode 100644 index 0000000..193b6d2 --- /dev/null +++ b/source/Steamworks_gml/sprites/spr_yoyo_textbox/Spr_YoYo_textbox.yy @@ -0,0 +1,97 @@ +{ + "resourceType": "GMSprite", + "resourceVersion": "1.0", + "name": "Spr_YoYo_textbox", + "bboxMode": 0, + "collisionKind": 1, + "type": 0, + "origin": 4, + "preMultiplyAlpha": false, + "edgeFiltering": false, + "collisionTolerance": 0, + "swfPrecision": 2.525, + "bbox_left": 0, + "bbox_right": 48, + "bbox_top": 0, + "bbox_bottom": 48, + "HTile": false, + "VTile": false, + "For3D": false, + "width": 49, + "height": 49, + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "swatchColours": null, + "gridX": 0, + "gridY": 0, + "frames": [ + {"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"24631523-3bf7-4305-b9b7-81445881d83e",}, + ], + "sequence": { + "resourceType": "GMSequence", + "resourceVersion": "1.4", + "name": "Spr_YoYo_textbox", + "timeUnits": 1, + "playback": 1, + "playbackSpeed": 30.0, + "playbackSpeedType": 0, + "autoRecord": true, + "volume": 1.0, + "length": 1.0, + "events": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "moments": {"Keyframes":[],"resourceVersion":"1.0","resourceType":"KeyframeStore",}, + "tracks": [ + {"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","spriteId":null,"keyframes":{"Keyframes":[ + {"id":"2eaf4c8f-a19e-4088-85cc-a08047e543e8","Key":0.0,"Length":1.0,"Stretch":false,"Disabled":false,"IsCreationKey":false,"Channels":{"0":{"Id":{"name":"24631523-3bf7-4305-b9b7-81445881d83e","path":"sprites/Spr_YoYo_textbox/Spr_YoYo_textbox.yy",},"resourceVersion":"1.0","resourceType":"SpriteFrameKeyframe",},},"resourceVersion":"1.0","resourceType":"Keyframe",}, + ],"resourceVersion":"1.0","resourceType":"KeyframeStore",},"trackColour":0,"inheritsTrackColour":true,"builtinName":0,"traits":0,"interpolation":1,"tracks":[],"events":[],"isCreationTrack":false,"modifiers":[],}, + ], + "visibleRange": null, + "lockOrigin": false, + "showBackdrop": true, + "showBackdropImage": false, + "backdropImagePath": "", + "backdropImageOpacity": 0.5, + "backdropWidth": 1366, + "backdropHeight": 768, + "backdropXOffset": 0.0, + "backdropYOffset": 0.0, + "xorigin": 24, + "yorigin": 24, + "eventToFunction": {}, + "eventStubScript": null, + }, + "layers": [ + {"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"5144ea37-721c-4e86-9b03-228323c0c2b3","visible":true,"isLocked":false,"blendMode":0,"opacity":100.0,"displayName":"default",}, + ], + "nineSlice": { + "left": 15, + "top": 15, + "right": 15, + "bottom": 15, + "guideColour": [ + 4294902015, + 4294902015, + 4294902015, + 4294902015, + ], + "highlightColour": 1728023040, + "highlightStyle": 0, + "enabled": true, + "tileMode": [ + 0, + 0, + 0, + 0, + 0, + ], + "resourceVersion": "1.0", + "loadedVersion": null, + "resourceType": "GMNineSliceData", + }, + "parent": { + "name": "Sprites", + "path": "folders/YoYo Extensions Assets/Sprites.yy", + }, +} \ No newline at end of file diff --git a/source/Steamworks_gml/sprites/spr_yoyo_textbox/layers/24631523-3bf7-4305-b9b7-81445881d83e/5144ea37-721c-4e86-9b03-228323c0c2b3.png b/source/Steamworks_gml/sprites/spr_yoyo_textbox/layers/24631523-3bf7-4305-b9b7-81445881d83e/5144ea37-721c-4e86-9b03-228323c0c2b3.png new file mode 100644 index 0000000000000000000000000000000000000000..1eb663a39a295ed2f3532e6fa61cf77181993435 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^h9Jzr1|*B;ILZL2>7Fi*Ar*7p-rC69Vj#e9ko&}b zp<4}Y`?y?Or#xK$#QFe>fF+}1M6~rKR<&JI-}K~pC3kh$X{@U9QXcW)*szgG*VXXMsV}A%YAI*E4~~ +#include + +#include + +std::string DesktopExtensionTools_getPathToExe() +{ + std::filesystem::path exePath = std::filesystem::current_path(); + return exePath.string(); +} diff --git a/source/Steamworks_vs/Steamworks/DesktopExtensionTools.h b/source/Steamworks_vs/Steamworks/DesktopExtensionTools.h new file mode 100644 index 0000000..4e0ea6d --- /dev/null +++ b/source/Steamworks_vs/Steamworks/DesktopExtensionTools.h @@ -0,0 +1,12 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#include +#include +#include + + +std::string DesktopExtensionTools_getPathToExe(); diff --git a/source/Steamworks_vs/Steamworks/DesktopExtensionTools.mm b/source/Steamworks_vs/Steamworks/DesktopExtensionTools.mm new file mode 100644 index 0000000..851f387 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/DesktopExtensionTools.mm @@ -0,0 +1,20 @@ + +#import + +#include "DesktopExtensionTools.h" + +#include "Extension_Interface.h" + +#include +#include + +#include + +std::string DesktopExtensionTools_getPathToExe() +{ + NSString *bundlename = [[NSBundle mainBundle] executablePath]; + std::filesystem::path exePath = [bundlename UTF8String]; + + exePath = exePath.parent_path(); + return exePath.string(); +} diff --git a/source/Steamworks_vs/Steamworks/Extension_Interface.h b/source/Steamworks_vs/Steamworks/Extension_Interface.h new file mode 100644 index 0000000..c9fb0e8 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/Extension_Interface.h @@ -0,0 +1,467 @@ + +#include + +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#ifndef __YY__RUNNER_INTERFACE_H_ +#define __YY__RUNNER_INTERFACE_H_ + +#if !defined (OS_Windows) && !defined(OS_MacOs) +#define OS_Linux +#endif + +#ifdef OS_Windows +#define YYEXPORT __declspec(dllexport) +#endif + +#if defined(OS_Linux) || defined(OS_MacOs) +#define YYEXPORT /**/ +#include +#endif + +#include + +class IBuffer; + +struct RValue; +class YYObjectBase; +class CInstance; +struct YYRunnerInterface; +struct HTTP_REQ_CONTEXT; +typedef int (*PFUNC_async)(HTTP_REQ_CONTEXT* _pContext, void* _pPayload, int* _pMap); +typedef void (*PFUNC_cleanup)(HTTP_REQ_CONTEXT* _pContext); +typedef void (*PFUNC_process)(HTTP_REQ_CONTEXT* _pContext); + +typedef void (*TSetRunnerInterface)(const YYRunnerInterface* pRunnerInterface, size_t _functions_size); +typedef void (*TYYBuiltin)(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg); +typedef long long int64; +typedef unsigned long long uint64; +typedef int32_t int32; +typedef uint32_t uint32; +typedef int16_t int16; +typedef uint16_t uint16; +typedef int8_t int8; +typedef uint8_t uint8; + +typedef void* HYYMUTEX; +typedef void* HSPRITEASYNC; + +//#ifdef GDKEXTENSION_EXPORTS +enum eBuffer_Format { + eBuffer_Format_Fixed = 0, + eBuffer_Format_Grow = 1, + eBuffer_Format_Wrap = 2, + eBuffer_Format_Fast = 3, + eBuffer_Format_VBuffer = 4, + eBuffer_Format_Network = 5, +}; +//#else +/* For eBuffer_Format */ +//#include +//#endif + +struct RValue; +class YYObjectBase; +class CInstance; +struct YYRunnerInterface; +struct HTTP_REQ_CONTEXT; +typedef int (*PFUNC_async)(HTTP_REQ_CONTEXT* _pContext, void* _pPayload, int* _pMap); +typedef void (*PFUNC_cleanup)(HTTP_REQ_CONTEXT* _pContext); +typedef void (*PFUNC_process)(HTTP_REQ_CONTEXT* _pContext); + +typedef void (*TSetRunnerInterface)(const YYRunnerInterface* pRunnerInterface, size_t _functions_size); +typedef void (*TYYBuiltin)(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg); +typedef long long int64; +typedef unsigned long long uint64; +typedef int32_t int32; +typedef uint32_t uint32; +typedef int16_t int16; +typedef uint16_t uint16; +typedef int8_t int8; +typedef uint8_t uint8; + +#ifdef GDKEXTENSION_EXPORTS +enum eBuffer_Format { + eBuffer_Format_Fixed = 0, + eBuffer_Format_Grow = 1, + eBuffer_Format_Wrap = 2, + eBuffer_Format_Fast = 3, + eBuffer_Format_VBuffer = 4, + eBuffer_Format_Network = 5, +}; + +class IBuffer; +#else +/* For eBuffer_Format */ +//#include +#endif + +typedef void* HYYMUTEX; +typedef void* HSPRITEASYNC; + +struct YYRunnerInterface +{ + // basic interaction with the user + void (*DebugConsoleOutput)(const char* fmt, ...); // hook to YYprintf + void (*ReleaseConsoleOutput)(const char* fmt, ...); + void (*ShowMessage)(const char* msg); + + // for printing error messages + void (*YYError)(const char* _error, ...); + + // alloc, realloc and free + void* (*YYAlloc)(int _size); + void* (*YYRealloc)(void* pOriginal, int _newSize); + void (*YYFree)(const void* p); + const char* (*YYStrDup)(const char* _pS); + + // yyget* functions for parsing arguments out of the arg index + bool (*YYGetBool)(const RValue* _pBase, int _index); + float (*YYGetFloat)(const RValue* _pBase, int _index); + double (*YYGetReal)(const RValue* _pBase, int _index); + int32_t(*YYGetInt32)(const RValue* _pBase, int _index); + uint32_t(*YYGetUint32)(const RValue* _pBase, int _index); + int64(*YYGetInt64)(const RValue* _pBase, int _index); + void* (*YYGetPtr)(const RValue* _pBase, int _index); + intptr_t(*YYGetPtrOrInt)(const RValue* _pBase, int _index); + const char* (*YYGetString)(const RValue* _pBase, int _index); + + // typed get functions from a single rvalue + bool (*BOOL_RValue)(const RValue* _pValue); + double (*REAL_RValue)(const RValue* _pValue); + void* (*PTR_RValue)(const RValue* _pValue); + int64(*INT64_RValue)(const RValue* _pValue); + int32_t(*INT32_RValue)(const RValue* _pValue); + + // calculate hash values from an RValue + int (*HASH_RValue)(const RValue* _pValue); + + // copying, setting and getting RValue + void (*SET_RValue)(RValue* _pDest, RValue* _pV, YYObjectBase* _pPropSelf, int _index); + bool (*GET_RValue)(RValue* _pRet, RValue* _pV, YYObjectBase* _pPropSelf, int _index, bool fPrepareArray, bool fPartOfSet); + void (*COPY_RValue)(RValue* _pDest, const RValue* _pSource); + int (*KIND_RValue)(const RValue* _pValue); + void (*FREE_RValue)(RValue* _pValue); + void (*YYCreateString)(RValue* _pVal, const char* _pS); + + void (*YYCreateArray)(RValue* pRValue, int n_values, const double* values); + + // finding and runnine user scripts from name + int (*Script_Find_Id)(const char* name); + bool (*Script_Perform)(int ind, CInstance* selfinst, CInstance* otherinst, int argc, RValue* res, RValue* arg); + + // finding builtin functions + bool (*Code_Function_Find)(const char* name, int* ind); + + // http functions + void (*HTTP_Get)(const char* _pFilename, int _type, PFUNC_async _async, PFUNC_cleanup _cleanup, void* _pV); + void (*HTTP_Post)(const char* _pFilename, const char* _pPost, PFUNC_async _async, PFUNC_cleanup _cleanup, void* _pV); + void (*HTTP_Request)(const char* _url, const char* _method, const char* _headers, const char* _pBody, PFUNC_async _async, PFUNC_cleanup _cleanup, void* _pV, int _contentLength); + + // sprite loading helper functions + int (*ASYNCFunc_SpriteAdd)(HTTP_REQ_CONTEXT* _pContext, void* _p, int* _pMap); + void (*ASYNCFunc_SpriteCleanup)(HTTP_REQ_CONTEXT* _pContext); + HSPRITEASYNC(*CreateSpriteAsync)(int* _pSpriteIndex, int _xOrig, int _yOrig, int _numImages, int _flags); + + // timing + int64(*Timing_Time)(void); + void (*Timing_Sleep)(int64 slp, bool precise); + + // mutex handling + HYYMUTEX(*YYMutexCreate)(const char* _name); + void (*YYMutexDestroy)(HYYMUTEX hMutex); + void (*YYMutexLock)(HYYMUTEX hMutex); + void (*YYMutexUnlock)(HYYMUTEX hMutex); + + // ds map manipulation for + void (*CreateAsyncEventWithDSMap)(int _map, int _event); + void (*CreateAsyncEventWithDSMapAndBuffer)(int _map, int _buffer, int _event); + int (*CreateDsMap)(int _num, ...); + + bool (*DsMapAddDouble)(int _index, const char* _pKey, double value); + bool (*DsMapAddString)(int _index, const char* _pKey, const char* pVal); + bool (*DsMapAddInt64)(int _index, const char* _pKey, int64 value); + + // buffer access + bool (*BufferGetContent)(int _index, void** _ppData, int* _pDataSize); + int (*BufferWriteContent)(int _index, int _dest_offset, const void* _pSrcMem, int _size, bool _grow, bool _wrap); + int (*CreateBuffer)(int _size, enum eBuffer_Format _bf, int _alignment); + + // variables + volatile bool* pLiveConnection; + int* pHTTP_ID; + + int (*DsListCreate)(); + void (*DsMapAddList)(int _dsMap, const char* _key, int _listIndex); + void (*DsListAddMap)(int _dsList, int _mapIndex); + void (*DsMapClear)(int _dsMap); + void (*DsListClear)(int _dsList); + + bool (*BundleFileExists)(const char* _pszFileName); + bool (*BundleFileName)(char* _name, int _size, const char* _pszFileName); + bool (*SaveFileExists)(const char* _pszFileName); + bool (*SaveFileName)(char* _name, int _size, const char* _pszFileName); + + bool (*Base64Encode)(const void* input_buf, size_t input_len, void* output_buf, size_t output_len); + + void (*DsListAddInt64)(int _dsList, int64 _value); + + void (*AddDirectoryToBundleWhitelist)(const char* _pszFilename); + void (*AddFileToBundleWhitelist)(const char* _pszFilename); + void (*AddDirectoryToSaveWhitelist)(const char* _pszFilename); + void (*AddFileToSaveWhitelist)(const char* _pszFilename); + + const char* (*KIND_NAME_RValue)(const RValue* _pV); + + void (*DsMapAddBool)(int _index, const char* _pKey, bool value); + void (*DsMapAddRValue)(int _index, const char* _pKey, RValue* value); + void (*DestroyDsMap)(int _index); + + void (*StructCreate)(RValue* _pStruct); + void (*StructAddBool)(RValue* _pStruct, const char* _pKey, bool _value); + void (*StructAddDouble)(RValue* _pStruct, const char* _pKey, double _value); + void (*StructAddInt)(RValue* _pStruct, const char* _pKey, int _value); + void (*StructAddRValue)(RValue* _pStruct, const char* _pKey, RValue* _pValue); + void (*StructAddString)(RValue* _pStruct, const char* _pKey, const char* _pValue); + + bool (*WhitelistIsDirectoryIn)(const char* _pszDirectory); + bool (*WhiteListIsFilenameIn)(const char* _pszFilename); + void (*WhiteListAddTo)(const char* _pszFilename, bool _bIsDir); + bool (*DirExists)(const char* filename); + IBuffer* (*BufferGetFromGML)(int ind); + int (*BufferTELL)(IBuffer* buff); + unsigned char* (*BufferGet)(IBuffer* buff); + const char* (*FilePrePend)(void); + + void (*StructAddInt32)(RValue* _pStruct, const char* _pKey, int32 _value); + void (*StructAddInt64)(RValue* _pStruct, const char* _pKey, int64 _value); + RValue* (*StructGetMember)(RValue* _pStruct, const char* _pKey); + + /** + * @brief Query the keys in a struct. + * + * @param _pStruct Pointer to a VALUE_OBJECT RValue. + * @param _keys Pointer to an array of const char* pointers to receive the names. + * @param _count Length of _keys (in elements) on input, number filled on output. + * + * @return Total number of keys in the struct. + * + * NOTE: The strings in _keys are owned by the runner. You do not need to free them, however + * you should make a copy if you intend to keep them around as the runner may invalidate them + * in the future when performing variable modifications. + * + * Usage example: + * + * // Get total number of keys in struct + * int num_keys = YYRunnerInterface_p->StructGetKeys(struct_rvalue, NULL, NULL); + * + * // Fetch keys from struct + * std::vector keys(num_keys); + * YYRunnerInterface_p->StructGetKeys(struct_rvalue, keys.data(), &num_keys); + * + * // Loop over struct members + * for(int i = 0; i < num_keys; ++i) + * { + * RValue *member = YYRunnerInterface_p->StructGetMember(struct_rvalue, keys[i]); + * ... + * } + */ + int (*StructGetKeys)(RValue* _pStruct, const char** _keys, int* _count); + + RValue* (*YYGetStruct)(RValue* _pBase, int _index); +}; + +#define __YYDEFINE_EXTENSION_FUNCTIONS__ +#if defined(__YYDEFINE_EXTENSION_FUNCTIONS__) +extern YYRunnerInterface* g_pYYRunnerInterface; + +// basic interaction with the user +#define BAR(...) printf(FIRST(__VA_ARGS__) "\n" REST(__VA_ARGS__)) +#define DebugConsoleOutput(...) g_pYYRunnerInterface->DebugConsoleOutput(FIRST(__VA_ARGS__) /*"\n"*/ REST(__VA_ARGS__)) +#define ReleaseConsoleOutput(fmt, ...) g_pYYRunnerInterface->ReleaseConsoleOutput(FIRST(__VA_ARGS__) "\n" REST(__VA_ARGS__)) + +//This #definitions make compatible DebugConsoleOutput() with MacOS//https://stackoverflow.com/a/11172679/10547574 +#define FIRST(...) FIRST_HELPER(__VA_ARGS__, throwaway) +#define FIRST_HELPER(first, ...) first +#define REST(...) REST_HELPER(NUM(__VA_ARGS__), __VA_ARGS__) +#define REST_HELPER(qty, ...) REST_HELPER2(qty, __VA_ARGS__) +#define REST_HELPER2(qty, ...) REST_HELPER_##qty(__VA_ARGS__) +#define REST_HELPER_ONE(first) +#define REST_HELPER_TWOORMORE(first, ...) , __VA_ARGS__ +#define NUM(...) \ + SELECT_10TH(__VA_ARGS__, TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE,\ + TWOORMORE, TWOORMORE, TWOORMORE, TWOORMORE, ONE, throwaway) +#define SELECT_10TH(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, ...) a10 +inline void ShowMessage(const char* msg) { g_pYYRunnerInterface->ShowMessage(msg); } + +// for printing error messages +#define YYError(_error, ...) g_pYYRunnerInterface->YYError( _error, __VA_ARGS__ ) + +// alloc, realloc and free +inline void* YYAlloc(int _size) { return g_pYYRunnerInterface->YYAlloc(_size); } +inline void* YYRealloc(void* pOriginal, int _newSize) { return g_pYYRunnerInterface->YYRealloc(pOriginal, _newSize); } +inline void YYFree(const void* p) { g_pYYRunnerInterface->YYFree(p); } +inline const char* YYStrDup(const char* _pS) { return g_pYYRunnerInterface->YYStrDup(_pS); } + +// yyget* functions for parsing arguments out of the arg index +inline bool YYGetBool(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetBool(_pBase, _index); } +inline float YYGetFloat(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetFloat(_pBase, _index); } +inline double YYGetReal(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetReal(_pBase, _index); } +inline int32_t YYGetInt32(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetInt32(_pBase, _index); } +inline uint32_t YYGetUint32(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetUint32(_pBase, _index); } +inline int64 YYGetInt64(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetInt64(_pBase, _index); } +inline void* YYGetPtr(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetPtr(_pBase, _index); } +inline intptr_t YYGetPtrOrInt(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetPtrOrInt(_pBase, _index); } +inline const char* YYGetString(const RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetString(_pBase, _index); } +inline RValue* YYGetStruct(RValue* _pBase, int _index) { return g_pYYRunnerInterface->YYGetStruct(_pBase, _index); } + +// typed get functions from a single rvalue +inline bool BOOL_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->BOOL_RValue(_pValue); } +inline double REAL_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->REAL_RValue(_pValue); } +inline void* PTR_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->PTR_RValue(_pValue); } +inline int64 INT64_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->INT64_RValue(_pValue); } +inline int32_t INT32_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->INT32_RValue(_pValue); } + +// calculate hash values from an RValue +inline int HASH_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->HASH_RValue(_pValue); } + +// copying, setting and getting RValue +inline void SET_RValue(RValue* _pDest, RValue* _pV, YYObjectBase* _pPropSelf, int _index) { return g_pYYRunnerInterface->SET_RValue(_pDest, _pV, _pPropSelf, _index); } +inline bool GET_RValue(RValue* _pRet, RValue* _pV, YYObjectBase* _pPropSelf, int _index, bool fPrepareArray = false, bool fPartOfSet = false) { return g_pYYRunnerInterface->GET_RValue(_pRet, _pV, _pPropSelf, _index, fPrepareArray, fPartOfSet); } +inline void COPY_RValue(RValue* _pDest, const RValue* _pSource) { g_pYYRunnerInterface->COPY_RValue(_pDest, _pSource); } +inline int KIND_RValue(const RValue* _pValue) { return g_pYYRunnerInterface->KIND_RValue(_pValue); } +inline void FREE_RValue(RValue* _pValue) { return g_pYYRunnerInterface->FREE_RValue(_pValue); } +inline void YYCreateString(RValue* _pVal, const char* _pS) { g_pYYRunnerInterface->YYCreateString(_pVal, _pS); } +inline const char* KIND_NAME_RValue(const RValue* _pV) { return g_pYYRunnerInterface->KIND_NAME_RValue(_pV); } + +inline void YYCreateArray(RValue* pRValue, int n_values = 0, const double* values = NULL) { g_pYYRunnerInterface->YYCreateArray(pRValue, n_values, values); } + +// finding and runnine user scripts from name +inline int Script_Find_Id(char* name) { return g_pYYRunnerInterface->Script_Find_Id(name); } +inline bool Script_Perform(int ind, CInstance* selfinst, CInstance* otherinst, int argc, RValue* res, RValue* arg) { + return g_pYYRunnerInterface->Script_Perform(ind, selfinst, otherinst, argc, res, arg); +} + +// finding builtin functions +inline bool Code_Function_Find(char* name, int* ind) { return g_pYYRunnerInterface->Code_Function_Find(name, ind); } + +// Http function +inline void HTTP_Get(const char* _pFilename, int _type, PFUNC_async _async, PFUNC_cleanup _cleanup, void* _pV) { g_pYYRunnerInterface->HTTP_Get(_pFilename, _type, _async, _cleanup, _pV); } +inline void HTTP_Post(const char* _pFilename, const char* _pPost, PFUNC_async _async, PFUNC_cleanup _cleanup, void* _pV) { g_pYYRunnerInterface->HTTP_Post(_pFilename, _pPost, _async, _cleanup, _pV); } +inline void HTTP_Request(const char* _url, const char* _method, const char* _headers, const char* _pBody, PFUNC_async _async, PFUNC_cleanup _cleanup, void* _pV, int _contentLength = -1) { + g_pYYRunnerInterface->HTTP_Request(_url, _method, _headers, _pBody, _async, _cleanup, _pV, _contentLength); +} // end HTTP_Request + +// sprite async loading +inline HSPRITEASYNC CreateSpriteAsync(int* _pSpriteIndex, int _xOrig, int _yOrig, int _numImages, int _flags) { + return g_pYYRunnerInterface->CreateSpriteAsync(_pSpriteIndex, _xOrig, _yOrig, _numImages, _flags); +} // end CreateSpriteAsync + + +// timing +inline int64 Timing_Time(void) { return g_pYYRunnerInterface->Timing_Time(); } +inline void Timing_Sleep(int64 slp, bool precise = false) { g_pYYRunnerInterface->Timing_Sleep(slp, precise); } + +// mutex functions +inline HYYMUTEX YYMutexCreate(const char* _name) { return g_pYYRunnerInterface->YYMutexCreate(_name); } +inline void YYMutexDestroy(HYYMUTEX hMutex) { g_pYYRunnerInterface->YYMutexDestroy(hMutex); } +inline void YYMutexLock(HYYMUTEX hMutex) { g_pYYRunnerInterface->YYMutexLock(hMutex); } +inline void YYMutexUnlock(HYYMUTEX hMutex) { g_pYYRunnerInterface->YYMutexUnlock(hMutex); } + +// ds map manipulation for +inline void CreateAsyncEventWithDSMap(int _map, int _event) { return g_pYYRunnerInterface->CreateAsyncEventWithDSMap(_map, _event); } +inline void CreateAsyncEventWithDSMapAndBuffer(int _map, int _buffer, int _event) { return g_pYYRunnerInterface->CreateAsyncEventWithDSMapAndBuffer(_map, _buffer, _event); } +#define CreateDsMap(_num, ...) g_pYYRunnerInterface->CreateDsMap( _num, __VA_ARGS__ ) + +inline bool DsMapAddDouble(int _index, const char* _pKey, double value) { return g_pYYRunnerInterface->DsMapAddDouble(_index, _pKey, value); } +inline bool DsMapAddString(int _index, const char* _pKey, const char* pVal) { return g_pYYRunnerInterface->DsMapAddString(_index, _pKey, pVal); } +inline bool DsMapAddInt64(int _index, const char* _pKey, int64 value) { return g_pYYRunnerInterface->DsMapAddInt64(_index, _pKey, value); } +inline void DsMapAddList(int _dsMap, const char* _pKey, int _listIndex) { return g_pYYRunnerInterface->DsMapAddList(_dsMap, _pKey, _listIndex); } +inline void DsMapAddBool(int _dsMap, const char* _pKey, bool value) { return g_pYYRunnerInterface->DsMapAddBool(_dsMap, _pKey, value); } +inline void DsMapAddRValue(int _dsMap, const char* _pKey, RValue* value) { return g_pYYRunnerInterface->DsMapAddRValue(_dsMap, _pKey, value); } +inline void DsMapClear(int _index) { return g_pYYRunnerInterface->DsMapClear(_index); } +inline void DestroyDsMap(int _index) { g_pYYRunnerInterface->DestroyDsMap(_index); } + +inline int DsListCreate() { return g_pYYRunnerInterface->DsListCreate(); } +inline void DsListAddMap(int _dsList, int _mapIndex) { return g_pYYRunnerInterface->DsListAddMap(_dsList, _mapIndex); } +inline void DsListClear(int _dsList) { return g_pYYRunnerInterface->DsListClear(_dsList); } + +// buffer access +inline bool BufferGetContent(int _index, void** _ppData, int* _pDataSize) { return g_pYYRunnerInterface->BufferGetContent(_index, _ppData, _pDataSize); } +inline int BufferWriteContent(int _index, int _dest_offset, const void* _pSrcMem, int _size, bool _grow = false, bool _wrap = false) { return g_pYYRunnerInterface->BufferWriteContent(_index, _dest_offset, _pSrcMem, _size, _grow, _wrap); } +inline int CreateBuffer(int _size, enum eBuffer_Format _bf, int _alignment) { return g_pYYRunnerInterface->CreateBuffer(_size, _bf, _alignment); } + +inline bool Base64Encode(const void* input_buf, size_t input_len, void* output_buf, size_t output_len) {return g_pYYRunnerInterface->Base64Encode(input_buf, input_len, output_buf, output_len); } + +inline void AddDirectoryToBundleWhitelist(const char* _pszFilename) { g_pYYRunnerInterface->AddDirectoryToBundleWhitelist(_pszFilename); } +inline void AddFileToBundleWhitelist(const char* _pszFilename) { g_pYYRunnerInterface->AddFileToBundleWhitelist(_pszFilename); } +inline void AddDirectoryToSaveWhitelist(const char* _pszFilename) { g_pYYRunnerInterface->AddDirectoryToSaveWhitelist(_pszFilename); } +inline void AddFileToSaveWhitelist(const char* _pszFilename) { g_pYYRunnerInterface->AddFileToSaveWhitelist(_pszFilename); } + +inline void YYStructCreate(RValue* _pStruct) { g_pYYRunnerInterface->StructCreate(_pStruct); } +inline void YYStructAddBool(RValue* _pStruct, const char* _pKey, double _value) { return g_pYYRunnerInterface->StructAddBool(_pStruct, _pKey, _value); } +inline void YYStructAddDouble(RValue* _pStruct, const char* _pKey, double _value) { return g_pYYRunnerInterface->StructAddDouble(_pStruct, _pKey, _value); } +inline void YYStructAddInt(RValue* _pStruct, const char* _pKey, int _value) { return g_pYYRunnerInterface->StructAddInt(_pStruct, _pKey, _value); } +inline void YYStructAddRValue(RValue* _pStruct, const char* _pKey, RValue* _pValue) { return g_pYYRunnerInterface->StructAddRValue(_pStruct, _pKey, _pValue); } +inline void YYStructAddString(RValue* _pStruct, const char* _pKey, const char* _pValue) { return g_pYYRunnerInterface->StructAddString(_pStruct, _pKey, _pValue); } + +inline bool WhitelistIsDirectoryIn(const char* _pszDirectory) { return g_pYYRunnerInterface->WhitelistIsDirectoryIn(_pszDirectory); } +inline bool WhiteListIsFilenameIn(const char* _pszFilename) { return g_pYYRunnerInterface->WhiteListIsFilenameIn(_pszFilename); } +inline void WhiteListAddTo(const char* _pszFilename, bool _bIsDir) { return g_pYYRunnerInterface->WhiteListAddTo(_pszFilename, _bIsDir); } +inline bool DirExists(const char* filename) { return g_pYYRunnerInterface->DirExists(filename); } + +inline IBuffer* BufferGetFromGML(int ind) { return g_pYYRunnerInterface->BufferGetFromGML(ind); } +inline int BufferTELL(IBuffer* buff) { return g_pYYRunnerInterface->BufferTELL(buff); } +inline unsigned char* BufferGet(IBuffer* buff) { return g_pYYRunnerInterface->BufferGet(buff); } +inline const char* FilePrePend(void) { return g_pYYRunnerInterface->FilePrePend(); } + +inline void YYStructAddInt32(RValue* _pStruct, const char* _pKey, int32 _value) { return g_pYYRunnerInterface->StructAddInt32(_pStruct, _pKey, _value); } +inline void YYStructAddInt64(RValue* _pStruct, const char* _pKey, int64 _value) { return g_pYYRunnerInterface->StructAddInt64(_pStruct, _pKey, _value); } +inline RValue* YYStructGetMember(RValue* _pStruct, const char* _pKey) { return g_pYYRunnerInterface->StructGetMember(_pStruct, _pKey); } +inline int YYStructGetKeys(RValue* _pStruct, const char** _keys, int* _count) { return g_pYYRunnerInterface->StructGetKeys(_pStruct, _keys, _count); } + +#define g_LiveConnection (*g_pYYRunnerInterface->pLiveConnection) +#define g_HTTP_ID (*g_pYYRunnerInterface->pHTTP_ID) + + +#endif + + +/* +#define YY_HAS_FUNCTION(interface, interface_size, function) \ + (interface_size >= (offsetof(GameMaker_RunnerInterface, function) + sizeof(GameMaker_RunnerInterface::function)) && interface->function != NULL) + +#define YY_REQUIRE_FUNCTION(interface, interface_size, function) \ + if(!GameMaker_HasFunction(interface, interface_size, function)) \ + { \ + interface->DebugConsoleOutput("Required function missing: %s\n", #function); \ + interface->DebugConsoleOutput("This extension may not be compatible with this version of GameMaker\n"); \ + return false; \ + } +*/ + +#ifndef __Action_Class_H__ +const int ARG_CONSTANT = -1; // Argument kinds +const int ARG_EXPRESSION = 0; +const int ARG_STRING = 1; +const int ARG_STRINGEXP = 2; +const int ARG_BOOLEAN = 3; +const int ARG_MENU = 4; +const int ARG_SPRITE = 5; +const int ARG_SOUND = 6; +const int ARG_BACKGROUND = 7; +const int ARG_PATH = 8; +const int ARG_SCRIPT = 9; +const int ARG_OBJECT = 10; +const int ARG_ROOM = 11; +const int ARG_FONTR = 12; +const int ARG_COLOR = 13; +const int ARG_TIMELINE = 14; +const int ARG_FONT = 15; +#endif + +#endif diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/IniOptionsLibrary.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/IniOptionsLibrary.cpp new file mode 100644 index 0000000..46d673e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/IniOptionsLibrary.cpp @@ -0,0 +1,112 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#include "IniOptionsLibrary.h" +#include "Extension_Interface.h" +#include + +std::string readFile(std::filesystem::path path) +{ + std::ifstream f(path, std::ios::in | std::ios::binary); + const auto sz = std::filesystem::file_size(path); + std::string result(sz, '\0'); + f.read(result.data(), sz); + + return result; +} + +std::string getLine(const std::string& str, int lineNo) +{ + std::string line; + std::istringstream stream(str); + while (lineNo-- >= 0) + std::getline(stream, line); + + return line; +} + +int countLines(const std::string& str) +{ + int c = 1; + std::string line; + std::istringstream stream(str); + while (std::getline(stream, line)) + c++; + + return c; +} + +void segmentation(const std::string str, const std::string extensionName, const std::string key, int& start, int& end) +{ + int index = 0; + int lines = countLines(str); + end = lines; + + char* extensionNameClosed = (char*)malloc(extensionName.length() + 3); + + sprintf(extensionNameClosed, "[%s]", extensionName.data()); + + while (index < lines) + { + std::string line = getLine(str, index); + + if (line.find(extensionNameClosed) != std::string::npos) + { + start = index; + break; + } + index++; + } + free(extensionNameClosed); + + index++; + while (index < lines) + { + std::string line = getLine(str, index); + if (line.find("]") != std::string::npos) + { + end = index; + break; + } + index++; + } +} + +std::string IniOptions_read(std::string extensionName, std::string key) +{ + std::filesystem::path exePath = std::filesystem::current_path(); + + char filename[1024]; + +#ifdef OS_Windows + snprintf(filename, 1024, "%s/options.ini", exePath.string().c_str()); +#endif + +#ifdef OS_Linux + snprintf(filename, 1024, "%s/assets/options.ini", exePath.string().c_str()); +#endif + + std::string str = (char*)readFile(filename).c_str(); + + int start; + int end; + segmentation(str,extensionName, key, start, end); + + for (int i = start; i < end ; i++) + { + std::string line = getLine(str, i); + + if (line.find(key) != std::string::npos) + { + line.erase(0, key.length() + 1); + line.erase(line.length() - 1, 1);//Delete \n..... + + return line; + } + } + + return ""; +} diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/gml_ext.h b/source/Steamworks_vs/Steamworks/GMLSteam/gml_ext.h new file mode 100644 index 0000000..ab8acb8 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/gml_ext.h @@ -0,0 +1,172 @@ +#pragma once +#include +// #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) +// #include +// #endif +#include +#include +#include +using namespace std; + +// #define dllg /* tag */ + +//#if defined(_WINDOWS) +//#define dllx extern "C" __declspec(dllexport) +//#elif defined(GNUC) +//#define dllx extern "C" __attribute__ ((visibility("default"))) +//#else +//#define dllx extern "C" +//#endif +/* +struct gml_buffer { +private: + uint8_t* _data; + int32_t _size; + int32_t _tell; +public: + gml_buffer() : _data(nullptr), _tell(0), _size(0) {} + gml_buffer(uint8_t* data, int32_t size, int32_t tell) : _data(data), _size(size), _tell(tell) {} + + inline uint8_t* data() { return _data; } + inline int32_t tell() { return _tell; } + inline int32_t size() { return _size; } +}; +*/ +/* +class gml_istream { + uint8_t* pos; + uint8_t* start; +public: + gml_istream(void* origin) : pos((uint8_t*)origin), start((uint8_t*)origin) {} + + template T read() { + static_assert(std::is_trivially_copyable_v, "T must be trivially copyable to be read"); + T result{}; + std::memcpy(&result, pos, sizeof(T)); + pos += sizeof(T); + return result; + } + + char* read_string() { + char* r = (char*)pos; + while (*pos != 0) pos++; + pos++; + return r; + } + + template std::vector read_vector() { + static_assert(std::is_trivially_copyable_v, "T must be trivially copyable to be read"); + auto n = read(); + std::vector vec(n); + std::memcpy(vec.data(), pos, sizeof(T) * n); + pos += sizeof(T) * n; + return vec; + } + + gml_buffer read_gml_buffer() { + auto _data = (uint8_t*)read(); + auto _size = read(); + auto _tell = read(); + return gml_buffer(_data, _size, _tell); + } + + #pragma region Tuples + #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) + template + std::tuple read_tuple() { + std::tuple tup; + std::apply([this](auto&&... arg) { + (( + arg = this->read>() + ), ...); + }, tup); + return tup; + } + + template optional read_optional() { + if (read()) { + return read; + } else return {}; + } + #else + template std::tuple read_tuple() { + A a = read(); + B b = read(); + return std::tuple(a, b); + } + + template std::tuple read_tuple() { + A a = read(); + B b = read(); + C c = read(); + return std::tuple(a, b, c); + } + + template std::tuple read_tuple() { + A a = read(); + B b = read(); + C c = read(); + D d = read(); + return std::tuple(a, b, c, d); + } + #endif +}; +*/ +/* +class gml_ostream { + uint8_t* pos; + uint8_t* start; +public: + gml_ostream(void* origin) : pos((uint8_t*)origin), start((uint8_t*)origin) {} + + template void write(T val) { + static_assert(std::is_trivially_copyable_v, "T must be trivially copyable to be write"); + memcpy(pos, &val, sizeof(T)); + pos += sizeof(T); + } + + void write_string(const char* s) { + for (int i = 0; s[i] != 0; i++) write(s[i]); + write(0); + } + + template void write_vector(std::vector& vec) { + static_assert(std::is_trivially_copyable_v, "T must be trivially copyable to be write"); + auto n = vec.size(); + write(n); + memcpy(pos, vec.data(), n * sizeof(T)); + pos += n * sizeof(T); + } + + #if ((defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) || __cplusplus >= 201703L) + template + void write_tuple(std::tuple tup) { + std::apply([this](auto&&... arg) { + (this->write(arg), ...); + }, tup); + } + + template void write_optional(optional& val) { + auto hasValue = val.has_value(); + write(hasValue); + if (hasValue) write(val.value()); + } + #else + template void write_tuple(std::tuple& tup) { + write(std::get<0>(tup)); + write(std::get<1>(tup)); + } + template void write_tuple(std::tuple& tup) { + write(std::get<0>(tup)); + write(std::get<1>(tup)); + write(std::get<2>(tup)); + } + template void write_tuple(std::tuple& tup) { + write(std::get<0>(tup)); + write(std::get<1>(tup)); + write(std::get<2>(tup)); + write(std::get<3>(tup)); + } + #endif +}; +*/ \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.cpp new file mode 100644 index 0000000..de23686 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.cpp @@ -0,0 +1,28 @@ +/// gml_glue.cpp +#include "pch.h" +#include "gml_glue.h" +#include "Extension_Interface.h" + +//gml_event_perform_async_t gml_event_perform_async = nullptr; +//gml_ds_map_create_ext_t gml_ds_map_create_ext = nullptr; +//gml_ds_map_set_double_t gml_ds_map_set_double = nullptr; +//gml_ds_map_set_string_t gml_ds_map_set_string = nullptr; + +// Converts a const char* to a one-time reusable char* for returning to GML. +/* +char* gml_string(const char* s) { + static char* __gml_string_b = nullptr; + static size_t __gml_string_n = 0; + size_t n = strlen(s) + 1; + if (__gml_string_n < n) { + auto b = realloc(__gml_string_b, n); + if (b == nullptr) { + DebugConsoleOutput("Failed to realloc %zu bytes.", n); + return (char*)""; + } + __gml_string_b = (char*)b; + } + strcpy(__gml_string_b, s); + return __gml_string_b; +} +*/ \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.h b/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.h new file mode 100644 index 0000000..069b4f4 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue.h @@ -0,0 +1,89 @@ +/// gml_glue.h +#pragma once + +#include "steam_glue.h" +#include "gml_ext.h" +#include "Extension_Interface.h" + +// Debug output macro, { printf(...); printf("\n"); fflush(stdout); } +//#define trace(...) { printf(__VA_ARGS__); printf("\n"); fflush(stdout); } + +// Shortcuts for uint32<->uint64 conversions: +//#ifndef UINT32_MAX +//#define UINT32_MAX 4294967295u +//#endif +//#define uint64_make(high, low) (((uint64)(high) << 32) | (uint64)(low)) +//#define uint64_high(value) (uint32)((value) >> 32) +//#define uint64_low(value) (uint32)((value) & UINT32_MAX) + +// GameMaker has an unusual way of detecting if a value is "true". +//inline bool gml_bool(double val) { +// return val > 0.5; +//} + +//char* gml_string(const char* s); + +// As per http://help.yoyogames.com/hc/en-us/articles/216755258: +// typedef int gml_ds_map; +// +//typedef void (*gml_event_perform_async_t)(gml_ds_map map, int event_type); +//typedef int (*gml_ds_map_create_ext_t)(int n, ...); +//typedef bool (*gml_ds_map_set_double_t)(gml_ds_map map, char* key, double value); +//typedef bool (*gml_ds_map_set_string_t)(gml_ds_map map, char* key, char* value); +//// +//extern gml_event_perform_async_t gml_event_perform_async; +//extern gml_ds_map_create_ext_t gml_ds_map_create_ext; +//extern gml_ds_map_set_double_t gml_ds_map_set_double; +//extern gml_ds_map_set_string_t gml_ds_map_set_string; +// +//inline gml_ds_map gml_ds_map_create() { +// //return gml_ds_map_create_ext(0); +// return CreateDsMap(0); +//} + +// A wrapper for queuing async events for GML easier. +class steam_net_event { +private: + int map; +public: + steam_net_event() { + map = CreateDsMap(0,0); + } + steam_net_event(char* type) { + map = CreateDsMap(0,0); + set((char*)"event_type", type); + } + ~steam_net_event() { + // + } + /// Dispatches this event and cleans up the map. + void dispatch() { + CreateAsyncEventWithDSMap(map, 69); + } + bool set(char* key, double value) { + DsMapAddDouble(map, key, value); + return true; + } + bool set(char* key, char* value) { + DsMapAddString(map, key, value); + return true; + } + bool set_uint64_str(char* key, uint64 value) { + DsMapAddInt64(map, key, value); + return true; + } + template void set_uint64_all(const char(&key)[size], uint64 value) { + DsMapAddInt64(map, key, value); + } + template void set_steamid_all(const char(&key)[size], CSteamID& id) { + DsMapAddInt64(map, key, id.ConvertToUint64()); + } + void set_success(bool success) { + set((char*)"success", success); + set((char*)"result", success ? k_EResultOK : k_EResultFail); + } + void set_result(int result) { + set((char*)"success", result == k_EResultOK); + set((char*)"result", result); + } +}; diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue_map.h b/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue_map.h new file mode 100644 index 0000000..f892a2e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/gml_glue_map.h @@ -0,0 +1,98 @@ +#pragma once + +// Since GML cannot easily exchange 64-bit integers with native extensions, +// a map+vector pair is used to provide sequentially generated 32-bit integers. +// Also ensures that raw API is not called with unexpected values. +/* + +template class steam_gml_map { +private: + map t2i; + vector i2t; + int next = 0; +public: + // Clears the internal data structures. + void clear() { + t2i.clear(); + i2t.clear(); + next = 0; + } + // Returns whether the value exists in this map. + bool exists(T key) { + return t2i.find(key) != t2i.end(); + } + // Adds a value to the map, returns it's index. + int add(T item) { + auto pair = t2i.find(item); + if (pair != t2i.end()) return pair->second; + t2i[item] = next; + i2t.push_back(item); + return next++; + } + // If index is valid, fetches value to &out and returns true. + bool get(int index, T* out) { + if (index >= 0 && index < next) { + *out = i2t[index]; + return true; + } else return false; + } + bool get(double index, T* out) { + return get((int)index, out); + } +}; + + +// Same as steam_gml_map, but with tools for caching by name. +template class steam_gml_namedmap { +private: + map s2i; + map t2i; + vector i2t; + int next; +public: + void clear() { + s2i.clear(); + i2t.clear(); + next = 0; + } + // If name exists in map, fetches index to &out and returns true. + bool find_name(char* name, int* out) { + auto pair = s2i.find(name); + if (pair != s2i.end()) { + *out = pair->second; + return true; + } else return false; + } + // If value exists in map, fetches index to &out and returns true. + bool find_value(T value, int* out) { + auto pair = t2i.find(value); + if (pair != t2i.end()) { + *out = pair->second; + return true; + } else return false; + } + // Sets up name->index and value->index pairs, returns index. + int set(char* name, T value) { + i2t.push_back(value); + s2i[name] = next; + t2i[value] = next; + return next++; + } + // Sets up a "invalid name" pair (value is GML-specific `noone` constant) + int set_noone(char* name) { + s2i[name] = -4; + return -4; + } + // If index exists in map, fetches value to &out and returns true. + bool get(int index, T* out) { + if (index >= 0 && index < next) { + *out = i2t[index]; + return true; + } else return false; + } + bool get(double index, T* out) { + return get((int)index, out); + } +}; + +*/ \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_apps.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_apps.cpp new file mode 100644 index 0000000..4c35c96 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_apps.cpp @@ -0,0 +1,61 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +YYEXPORT void steam_user_owns_dlc(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( double dlcAppId )/*Steam_Apps_DoesUserOwnDLC*/ +{ + double dlcAppId = YYGetReal(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_BOOL; + Result.val = SteamApps()->BIsSubscribedApp(AppId_t(dlcAppId)); +} + +YYEXPORT void /*double*/ steam_user_installed_dlc(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( double dlcAppId )/*Steam_Apps_HasUserInstalledDLC*/ +{ + double dlcAppId = YYGetReal(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_BOOL; + Result.val = SteamApps()->BIsDlcInstalled(AppId_t(dlcAppId)); +} + +YYEXPORT void /*const char**/ steam_current_game_language(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Apps_CurrentGameLanguage*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + YYCreateString(&Result, SteamApps()->GetCurrentGameLanguage()); +} + +YYEXPORT void /*const char**/ steam_available_languages(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Apps_AvailableGameLanguages*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + YYCreateString(&Result,SteamApps()->GetAvailableGameLanguages()); +} + diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.cpp new file mode 100644 index 0000000..fa9acca --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.cpp @@ -0,0 +1,6 @@ +#include "pch.h" +#include "steam_callbacks.h" +steam_net_callbacks_t steam_net_callbacks; +/*void steam_net_callbacks_t::OnPersonaStateChange(PersonaStateChange_t* e) { +trace("Persona state change %d\n", e->m_ulSteamID); +}*/ \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.h b/source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.h new file mode 100644 index 0000000..cbf5ebb --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.h @@ -0,0 +1,34 @@ +#pragma once + +#include "pch.h" + +#include "steam_glue.h" +class steam_net_callbacks_t +{ +public: + steam_net_callbacks_t() + { + // + }; + STEAM_CALLBACK(steam_net_callbacks_t, p2p_session_request, P2PSessionRequest_t); + //STEAM_CALLBACK(steam_net_callbacks_t, OnPersonaStateChange, PersonaStateChange_t); + STEAM_CALLBACK(steam_net_callbacks_t, lobby_chat_update, LobbyChatUpdate_t); + STEAM_CALLBACK(steam_net_callbacks_t, lobby_chat_message, LobbyChatMsg_t); + STEAM_CALLBACK(steam_net_callbacks_t, lobby_join_requested, GameLobbyJoinRequested_t); + STEAM_CALLBACK(steam_net_callbacks_t, micro_txn_auth_response, MicroTxnAuthorizationResponse_t); + STEAM_CALLBACK(steam_net_callbacks_t, steam_inventory_result_ready, SteamInventoryResultReady_t); + STEAM_CALLBACK(steam_net_callbacks_t, steam_inventory_full_update, SteamInventoryFullUpdate_t); + STEAM_CALLBACK(steam_net_callbacks_t, steam_inventory_definition_update, SteamInventoryDefinitionUpdate_t); + STEAM_CALLBACK(steam_net_callbacks_t, avatar_image_loaded, AvatarImageLoaded_t); + + void lobby_list_received(LobbyMatchList_t* e, bool failed); + void lobby_created(LobbyCreated_t* e, bool failed); + void lobby_joined(LobbyEnter_t* e, bool failed); + + void steam_inventory_request_prices(SteamInventoryRequestPricesResult_t* e, bool failed); + void steam_inventory_request_eligible_promo_item_defs(SteamInventoryEligiblePromoItemDefIDs_t* e, bool failed); + + void item_deleted(DeleteItemResult_t* r, bool failed); + void encrypted_app_ticket_response_received(EncryptedAppTicketResponse_t* pEncryptedAppTicketResponse, bool bIOFailure); +}; +extern steam_net_callbacks_t steam_net_callbacks; \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_common.h b/source/Steamworks_vs/Steamworks/GMLSteam/steam_common.h new file mode 100644 index 0000000..e507df5 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_common.h @@ -0,0 +1,39 @@ + +#define _CRT_SECURE_NO_WARNINGS + +#include + +const int EVENT_OTHER_WEB_STEAM = 69; +extern bool steam_is_initialised; + +//extern void (*g_pSteamAPI_RegisterCallback)(class CCallbackBase* pCallback, int iCallback); +//extern void (*g_pSteamAPI_UnregisterCallback)(class CCallbackBase* pCallback); +//extern void (*g_pSteamAPI_RegisterCallResult)(class CCallbackBase* pCallback, SteamAPICall_t hAPICall); +//extern void (*g_pSteamAPI_UnregisterCallResult)(class CCallbackBase* pCallback, SteamAPICall_t hAPICall); +//extern int32(*g_pSteamAPI_GetHSteamUser)(); +//extern int32(*g_pSteamAPI_GetHSteamPipe)(); + +//class ISteamClient; +//extern ISteamClient* (*g_pSteamClient)(void); +// +//extern CSteamAPIContext* g_SteamContext; +//#define SteamClient() g_pSteamClient() + +extern void Steam_UserStats_Init(); +extern void Steam_Friends_Init(); +extern void Steam_UGC_Init(); +extern void Steam_Screenshots_Init(); +extern void Steam_RemoteStorage_Init(); + +extern int requestInd; +extern int getAsyncRequestInd(); + +extern void Steam_UserStats_Process(); + +extern void _SW_SetArrayOfString(RValue* _array, char* str, const char* delim); +extern void _SW_SetArrayOfInt32(RValue* _array, std::vector values); +extern void _SW_SetArrayOfReal(RValue* _array, std::vector values); +extern void _SW_SetArrayOfRValue(RValue* _array, std::vector values); +extern std::vector _SW_GetArrayOfStrings(RValue* arg, int arg_idx, const char* func); +extern std::vector _SW_GetArrayOfInt32(RValue* arg, int arg_idx, const char* func); +extern std::vector _SW_GetArrayOfUint64(RValue* arg, int arg_idx, const char* func); diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_controller.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_controller.cpp new file mode 100644 index 0000000..4ca67a6 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_controller.cpp @@ -0,0 +1,538 @@ +/// steam_controller.cpp DEPRECATED!!!!! + +#include "pch.h" +//#include "steam_glue.h" +//#include "steam_api.h" +//#include "Extension_Interface.h" +//#include "YYRValue.h" +//#include "steam_common.h" +// +// +//#pragma region Controller meta +//steam_gml_map steam_controller_controllers; +//steam_gml_namedmap steam_controller_actionsets; +//steam_gml_namedmap steam_controller_analog; +//steam_gml_namedmap steam_controller_digital; +//ControllerHandle_t steam_controller_handles[STEAM_CONTROLLER_MAX_COUNT]; +//EControllerActionOrigin steam_controller_origins[STEAM_CONTROLLER_MAX_ORIGINS]; +//// +// +//void steam_controller_reset_impl() +//{ +// steam_controller_controllers.clear(); +// steam_controller_actionsets.clear(); +// steam_controller_analog.clear(); +// steam_controller_digital.clear(); +//} +// +//YYEXPORT void /*double*/ steam_controller_reset(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// steam_controller_reset_impl(); +// +// Result.kind = VALUE_REAL; +// Result.val = 1; +//} +// +///// Should be called on game start if you use Steam Controller +//YYEXPORT void /*double*/ steam_controller_init(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// Result.val = SteamController() && SteamController()->Init(); +//} +// +///// Can be called prior to other controller functions for lower latency. Called by steam_gml_update. +//YYEXPORT void /*double*/ steam_controller_update(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// +// if (SteamController()) +// { +// SteamController()->RunFrame(); +// Result.val = 1; +// } +// else +// Result.val = 0; +//} +// +//YYEXPORT void /*double*/ steam_controller_get_max_count(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// Result.val = STEAM_CONTROLLER_MAX_COUNT; +//} +// +//YYEXPORT void /*double*/ steam_controller_get_ids(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* cbuf) +//{ +// DebugConsoleOutput("steam_controller_get_ids CALLED\n"); +// +// if (!SteamController()) +// { +// DebugConsoleOutput("steam_controller_get_ids OUT 1\n"); +// Result.kind = VALUE_REAL; +// Result.val = -4; +// return; +// } +// +// SteamController()->RunFrame(); +// int found = SteamController()->GetConnectedControllers(steam_controller_handles); +// if (found <= 0) +// { +// DebugConsoleOutput("steam_controller_get_ids OUT 2\n"); +// Result.kind = VALUE_REAL; +// Result.val = -4; +// return; +// } +// +// std::vector vect; +// +// for (int i = 0; i < found; i++) +// { +// DebugConsoleOutput("Controller Added"); +// vect.push_back(steam_controller_controllers.add(steam_controller_handles[i])); +// } +// +// DebugConsoleOutput("steam_controller_get_ids OUT 3\n"); +// +// _SW_SetArrayOfInt32(&Result, vect); +//} +// +//ControllerHandle_t steam_controller_find(double id) +//{ +// if (id == -3/* all */) return STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS; +// ControllerHandle_t q; return steam_controller_controllers.get(id, &q) ? q : 0; +//} +// +///// +//enum steam_controller_type_t +//{ +// steam_controller_unknown = 0, +// steam_controller_steam_controller, +// steam_controller_xbox360, +// steam_controller_xboxone, +// steam_controller_generic_xinput, +// steam_controller_ps4, +// steam_controller_apple_mfi, +// steam_controller_android, +// steam_controller_switch_joycon_pair, +// steam_controller_switch_joycon_single, +// steam_controller_switch_pro, +// steam_controller_mobile_touch, +// steam_controller_ps3, +//}; +// +///// +//YYEXPORT void /*double*/ steam_controller_get_type(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double id) +//{ +// double id = YYGetReal(arg, 0); +// +// ControllerHandle_t ctl = steam_controller_find(id); +// //#if (STEAMWORKS >= 142) +// +// Result.kind = VALUE_REAL; +// Result.val = SteamController()->GetInputTypeForHandle(ctl); +// //#else +// //return steam_controller_unknown; +// //#endif +//} +//#pragma endregion +// +//#pragma region ActionSet +///// Assigns and returns ActionSet ID for given name, -1 if actionset is not found +//YYEXPORT void /*double*/ steam_controller_get_actionset_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* actionset_name) +//{ +// const char* actionset_name = YYGetString(arg, 0); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_REAL; +// Result.val = -1; +// return; +// } +// +// int i; +// +// if (steam_controller_actionsets.find_name((char*)actionset_name, &i)) +// { +// Result.kind = VALUE_REAL; +// Result.val = i; +// return; +// } +// +// ControllerActionSetHandle_t r = SteamController()->GetActionSetHandle(actionset_name); +// if (r != 0) +// { +// Result.kind = VALUE_INT64 ; +// Result.val = steam_controller_actionsets.set((char*) actionset_name, r); +// } +// else +// { +// Result.kind = VALUE_REAL; +// Result.val = steam_controller_actionsets.set_noone((char*) actionset_name); +// } +//} +// +///// Returns action set ID (generated by steam_controller_get_actionset_id), as per GetCurrentActionSet +//YYEXPORT void /*double*/ steam_controller_get_actionset(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double controller) +//{ +// double controller = YYGetReal(arg, 0); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_REAL; +// Result.val = -1; +// return; +// } +// +// ControllerHandle_t q; if (!steam_controller_controllers.get(controller, &q)) +// { +// Result.kind = VALUE_REAL; +// Result.val = -1; +// } +// +// ControllerActionSetHandle_t r = SteamController()->GetCurrentActionSet(q); +// int i; +// +// Result.kind = VALUE_REAL; +// Result.val = steam_controller_actionsets.find_value(r, &i) ? i : -1; +//} +// +///// Changes controller action set, as per ActivateActionSet +//YYEXPORT void /*double*/ steam_controller_set_actionset(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double controller, double actionset_id) +//{ +// double controller = YYGetReal(arg, 0); +// double actionset_id = YYGetReal(arg, 1); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0.0; +// return; +// } +// +// ControllerHandle_t q; if (!steam_controller_controllers.get(controller, &q)) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0.0; +// return; +// } +// +// ControllerActionSetHandle_t v; if (!steam_controller_actionsets.get(actionset_id, &v)) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0.0; +// return; +// } +// +// SteamController()->ActivateActionSet(q, v); +// +// Result.kind = VALUE_REAL; +// Result.val = 1.0; +//} +//#pragma endregion +// +//#pragma region DigitalAction +///// +//YYEXPORT void /*double*/ steam_controller_get_digital_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* digitalActionName) +//{ +// DebugConsoleOutput("steam_controller_get_digital_id CALLED\n"); +// +// const char* digitalActionName = YYGetString(arg, 0); +// +// DebugConsoleOutput(digitalActionName); +// +// if (!SteamController()) +// { +// DebugConsoleOutput("OUT 1\n"); +// +// Result.kind = VALUE_INT64; +// Result.v64 = -1; +// return; +// } +// +// int i; +// if (steam_controller_actionsets.find_name((char*)digitalActionName, &i)) +// { +// DebugConsoleOutput("OUT 2\n"); +// Result.kind = VALUE_INT64; +// Result.v64 = i; +// return; +// } +// +// ControllerDigitalActionHandle_t r = SteamController()->GetDigitalActionHandle(digitalActionName); +// if (r != 0) +// { +// DebugConsoleOutput("OUT 3\n"); +// Result.kind = VALUE_INT64; +// Result.v64 = steam_controller_digital.set((char*)digitalActionName, r); +// return; +// } +// else +// { +// DebugConsoleOutput("OUT 4\n"); +// +// Result.kind = VALUE_INT64; +// Result.v64 = steam_controller_digital.set_noone((char*)digitalActionName); +// return; +// } +//} +// +///// Retreives digital action state (true/false) +//YYEXPORT void /*double*/ steam_controller_get_digital_value(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double controller, double digital_id) +//{ +// double controller = YYGetReal(arg, 0); +// double digital_id = YYGetReal(arg, 1); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerHandle_t q = steam_controller_find(controller); +// +// if (q == 0) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerDigitalActionHandle_t t; +// if (!steam_controller_digital.get(digital_id, &t)) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerDigitalActionData_t d = SteamController()->GetDigitalActionData(q, t); +// +// Result.kind = VALUE_REAL; +// Result.val = d.bState; +//} +// +///// Returns whether the given digital action is currently active (true/false) +//YYEXPORT void /*double*/ steam_controller_get_digital_status(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double controller, double digital_id) +//{ +// double controller = YYGetReal(arg, 0); +// double digital_id = YYGetReal(arg, 1); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerHandle_t ctl = steam_controller_find(controller); +// if (ctl == 0) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerDigitalActionHandle_t act; +// if (!steam_controller_digital.get(digital_id, &act)) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerDigitalActionData_t d = SteamController()->GetDigitalActionData(ctl, act); +// +// Result.kind = VALUE_REAL; +// Result.val = d.bActive; +//} +// +//YYEXPORT void /*double*/ steam_controller_get_digital_origins(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double controller, double actionset_id, double digital_id, char* out) +//{ +// double controller = YYGetReal(arg, 0); +// double actionset_id = YYGetReal(arg, 1); +// double digital_id = YYGetReal(arg, 2); +// const char* out = YYGetString(arg, 3); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerHandle_t ctl = steam_controller_find(controller); if (ctl == 0) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerActionSetHandle_t set; +// if (!steam_controller_actionsets.get(actionset_id, &set)) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// ControllerDigitalActionHandle_t act = 4; +// if (!steam_controller_digital.get(digital_id, &act)) +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// +// int found = SteamController()->GetDigitalActionOrigins(ctl, set, act, steam_controller_origins); +// gml_ostream buf((char*)out); +// for (int i = 0; i < found; i++) { +// buf.write(steam_controller_origins[i]); +// } +// +// Result.kind = VALUE_REAL; +// Result.val = found; +//} +//#pragma endregion +// +//#pragma region Analog action +///// +//YYEXPORT void /*double*/ steam_controller_get_analog_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* analogActionName) +//{ +// DebugConsoleOutput("steam_controller_get_analog_id CALLED\n"); +// +// char* analogActionName = (char*) YYGetString(arg, 0); +// +// DebugConsoleOutput(analogActionName); +// +// if (!SteamController()) +// { +// Result.kind = VALUE_INT64; +// Result.v64 = -1; +// return; +// } +// +// int i; +// if (steam_controller_actionsets.find_name(analogActionName, &i)) +// { +// DebugConsoleOutput("OUT 1\n"); +// Result.kind = VALUE_INT64; +// Result.v64 = i; +// return; +// } +// +// ControllerDigitalActionHandle_t r = SteamController()->GetAnalogActionHandle(analogActionName); +// if (r != 0) +// { +// DebugConsoleOutput("OUT 2\n"); +// Result.kind = VALUE_INT64; +// Result.v64 = steam_controller_analog.set(analogActionName, r); +// return; +// } +// else +// { +// DebugConsoleOutput("OUT 3\n"); +// Result.kind = VALUE_INT64; +// Result.v64 = steam_controller_analog.set_noone(analogActionName); +// return; +// } +//} +// +//double steam_controller_get_analog_data(double controller, double analog_id, double _data_id) +//{ +// if (!SteamController()) +// return 0; +// +// auto dat = (int)_data_id; +// ControllerHandle_t q = steam_controller_find(controller); +// if (q == 0) +// return dat == 1 ? -1 : 0; +// +// ControllerAnalogActionHandle_t t; +// if (!steam_controller_analog.get(analog_id, &t)) +// return dat == 1 ? -1 : 0; +// +// ControllerAnalogActionData_t d = SteamController()->GetAnalogActionData(q, t); +// +// switch ((int)_data_id) +// { +// case 1: return (int)d.eMode; +// case 2: return d.x; +// case 3: return d.y; +// default: return d.bActive; +// } +//} +// +//YYEXPORT void steam_controller_get_analog_status(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +//{ +// double controller = YYGetReal(arg, 0); +// double actionset_id = YYGetReal(arg, 1); +// +// Result.kind = VALUE_REAL; +// Result.val = steam_controller_get_analog_data(controller, actionset_id, 0); +//} +// +//YYEXPORT void steam_controller_get_analog_mode(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +//{ +// double controller = YYGetReal(arg, 0); +// double actionset_id = YYGetReal(arg, 1); +// +// Result.kind = VALUE_REAL; +// Result.val = steam_controller_get_analog_data(controller, actionset_id, 1); +//} +// +//YYEXPORT void steam_controller_get_analog_x(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +//{ +// double controller = YYGetReal(arg, 0); +// double actionset_id = YYGetReal(arg, 1); +// +// Result.kind = VALUE_REAL; +// Result.val = steam_controller_get_analog_data(controller, actionset_id, 2); +//} +// +//YYEXPORT void steam_controller_get_analog_y(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +//{ +// double controller = YYGetReal(arg, 0); +// double actionset_id = YYGetReal(arg, 1); +// +// Result.kind = VALUE_REAL; +// Result.val = steam_controller_get_analog_data(controller, actionset_id,3); +//} +// +//double steam_controller_get_analog_origins_raw(double controller, double actionset_id, double digital_id, char* out) +//{ +// if (!SteamController()) +// return 0; +// +// ControllerHandle_t ctl = steam_controller_find(controller); +// +// if (ctl == 0) +// return 0; +// +// ControllerActionSetHandle_t set; +// if (!steam_controller_actionsets.get(actionset_id, &set)) +// return 0; +// +// ControllerDigitalActionHandle_t act = 4; +// if (!steam_controller_analog.get(digital_id, &act)) +// return 0; +// +// int found = SteamController()->GetAnalogActionOrigins(ctl, set, act, steam_controller_origins); +// gml_ostream buf(out); +// +// for (int i = 0; i < found; i++) +// { +// buf.write(steam_controller_origins[i]); +// } +// +// return found; +//} +//#pragma endregion +// +//#pragma region Origin +//YYEXPORT void /*double*/ steam_controller_get_max_origins(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// Result.val = STEAM_CONTROLLER_MAX_ORIGINS; +// return; +//} +//#pragma endregion diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_friends.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_friends.cpp new file mode 100644 index 0000000..02a316e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_friends.cpp @@ -0,0 +1,311 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + + +//#include "Files/IO/LoadSave.h" +//#include "Files/Support/Support_Data_Structures.h" + +//extern "C" void dsMapAddInt64(int _dsMap, char* _key, int64 _value); +//extern void CreateAsynEventWithDSMap(int dsmapindex, int event_index); + +enum eOverlayType +{ + eOV_Friends = 0, + eOV_Community, + eOV_Players, + eOV_Settings, + eOV_OfficialGameGroup, + eOV_Achievements, + eOV_NumOverlays +}; + +static const char* s_pszOverlayNames[] = +{ "Friends", // - opens the Steam Friends dialog + "Community", // - opens the Steam Community web page + "Players", //- opens the list of recently-played with users + "Settings", // - opens the Steam overlay settings dialog + "OfficialGameGroup", // - opens the Steam Community web browser to the official game group for this game + "Achievements" // - opens the Steam Community web browser to the achievements stats for this game +}; + +static void SendPersonaNameAsyncEvent( int _asyncId, uint64 _steamId, const char* pszPersonaName ); + +class CSteamFriendsCallbacks +{ +public: + + CSteamFriendsCallbacks() + : m_CallbackOverlayActivated(this,&CSteamFriendsCallbacks::OnGameOverlayActivated), + m_bOverlayActivated(false) + {} + + + void OnGameOverlayActivated( GameOverlayActivated_t *callback ) + { + if ( callback->m_bActive ) + { + m_bOverlayActivated=true; + DebugConsoleOutput("Steam overlay now active\n" ); + } + else { + m_bOverlayActivated=false; + DebugConsoleOutput("Steam overlay now inactive\n" ); + } + } + + CCallback m_CallbackOverlayActivated; + + bool m_bOverlayActivated; +}; + +class CPersonaStateChangeListener +{ +public: + int m_asyncId; + uint64 m_steamId; + CCallback m_CallbackPersonaStateChanged; + + CPersonaStateChangeListener( int _asyncId, CSteamID _steamId) + : m_asyncId(_asyncId), + m_CallbackPersonaStateChanged(this,&CPersonaStateChangeListener::OnPersonaStateChanged) + { + m_steamId = _steamId.ConvertToUint64(); + } + + void OnPersonaStateChanged( PersonaStateChange_t* callback ) + { + //DebugConsoleOutput("OnPersonaStateChanged:%lld\n", callback->m_ulSteamID ); + if( callback->m_ulSteamID == m_steamId ) + { + CSteamID steamId(m_steamId ); + const char* pszName = SteamFriends()->GetFriendPersonaName( steamId ); + SendPersonaNameAsyncEvent(m_asyncId, m_steamId, pszName ); + delete this; + } + } +}; + + +//const char gUnknownString[] = "Unknown";//redefinition +static CSteamFriendsCallbacks* m_pFriendsCallback=NULL; + + +YYEXPORT void /*double*/ steam_activate_overlay(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int iOverlay)/*Steam_Friends_ActivateGameOverlay*/ +{ + int iOverlay = (int)YYGetReal(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + + if( SteamFriends()!=NULL) + { + if( iOverlay>=0 && iOverlay < eOV_NumOverlays ) + { + const char* pszOverlayName = s_pszOverlayNames[iOverlay]; + SteamFriends()->ActivateGameOverlay( pszOverlayName ); + Result.val = 1; + return; + } + } + Result.val = 0; +} + +YYEXPORT void /*const char**/ steam_get_persona_name(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Friends_GetPersonaName*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + if ( SteamFriends()!=NULL) + { + YYCreateString(&Result, SteamFriends()->GetPersonaName()); + return; + } + YYCreateString(&Result, ""); +} + +YYEXPORT void /*double*/ steam_is_overlay_enabled(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Utils_IsOverlayEnabled*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + + if ( SteamUtils() != NULL ) + { + if ( SteamUtils()->IsOverlayEnabled() == true ) + { + Result.val = 1.0; + return; + } + } + Result.val = 0.0; +} + +YYEXPORT void /*double*/ steam_is_overlay_activated(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Friends_IsOverlayActive*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if( m_pFriendsCallback ) + { + if( m_pFriendsCallback->m_bOverlayActivated ) + { + Result.val = 1.0; + return; + } + } + Result.val = 0.0; +} + +YYEXPORT void /*double*/ steam_activate_overlay_browser(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pszUrl )/*Steam_Friends_ActivateOverlayBrowser*/ +{ + const char* pszUrl = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + SteamFriends()->ActivateGameOverlayToWebPage( pszUrl ); + + Result.kind = VALUE_REAL; + Result.val = 1.0; +} + +YYEXPORT void /*double*/ steam_activate_overlay_user(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pszDialog, int64 _steamId )/*Steam_Friends_ActivateOverlayUser*/ +{ + const char* pszDialog = YYGetString(arg, 0); + int64 _steamId = YYGetInt64(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + CSteamID steamId( (uint64)_steamId); + SteamFriends()->ActivateGameOverlayToUser(pszDialog, steamId ); + + Result.kind = VALUE_REAL; + Result.val = 1.0; +} + +YYEXPORT void /*double*/ steam_activate_overlay_store(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( double _appId)/*Steam_Friends_ActivateOverlayStore*/ +{ + double _appId = YYGetReal(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + SteamFriends()->ActivateGameOverlayToStore( (AppId_t)_appId, k_EOverlayToStoreFlag_None ); + + Result.kind = VALUE_REAL; + Result.val = 1.0; +} + + +static void SendPersonaNameAsyncEvent( int _asyncId, uint64 _steamId, const char* pszPersonaName ) +{ + if (!steam_is_initialised) + { + return; + } + + //DebugConsoleOutput("SendPersonaNameAsyncEvent:%lld %s\n", _steamId, pszPersonaName ); + + int dsMapIndex = CreateDsMap( 3, + "id", (double)(_asyncId), NULL, + "event_type", (double)0.0, "user_persona_name", + "persona_name", (double)0.0, pszPersonaName ); + + g_pYYRunnerInterface->DsMapAddInt64(dsMapIndex, "steamid", _steamId); + + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +YYEXPORT void /*double*/ steam_get_user_persona_name(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int64 _steamId )/*Steam_Friends_GetUserPersonaName*/ +{ + int64 _steamId = YYGetInt64(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + + CSteamID steamId( (uint64)_steamId); + // if returns false, it means that we already have all the details about that user, and functions can be called immediately + if( !SteamFriends()->RequestUserInformation( steamId, true ) ) + { + const char* pszName = SteamFriends()->GetFriendPersonaName( steamId ); + int asyncId = getAsyncRequestInd(); + SendPersonaNameAsyncEvent( asyncId, _steamId, pszName ); + Result.val = asyncId; + return; + } + else + { + //if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved + int async_id = getAsyncRequestInd(); + //CPersonaStateChangeListener* pListener = new CPersonaStateChangeListener(async_id, steamId ); + Result.val = async_id; + return; + } + + + Result.val = 1.0; +} + +void Steam_Friends_Init() +{ + //(register callbacks?) + m_pFriendsCallback = new CSteamFriendsCallbacks(); +} + +void Steam_Friends_Shutdown() +{ + if (!steam_is_initialised) + { + return; + } + + + //(register callbacks?) + delete m_pFriendsCallback; + m_pFriendsCallback = NULL; +} + + diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.cpp new file mode 100644 index 0000000..cb8869e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.cpp @@ -0,0 +1,199 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +//#include "steam_enable.h" +// +//#include "./steam_funcs.h" +// +//#if defined(WIN_CLASSIC) +//#include +//#elif defined(LINUX) || defined(MAC) +// +//#include +//#endif +// +////#include +// +//bool (*g_pSteamAPI_InitSafe)(void); +//bool (*g_pSteamAPI_Init)(void); +//void (*g_pSteamAPI_RunCallbacks)(void); +//bool (*g_pSteamAPI_RestartAppIfNecessary)(uint32); +//void (*g_pSteamAPI_Shutdown)(void); +// +//ISteamClient* (*g_pSteamClient)(void); +// +// +// +// +// +//void (*g_pSteamAPI_RegisterCallback)(class CCallbackBase *pCallback, int iCallback ); +//void (*g_pSteamAPI_UnregisterCallback)( class CCallbackBase *pCallback ); +//void (*g_pSteamAPI_RegisterCallResult)( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +//void (*g_pSteamAPI_UnregisterCallResult)( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +//HSteamUser (*g_pSteamAPI_GetHSteamUser)(); +//HSteamPipe (*g_pSteamAPI_GetHSteamPipe)(); +// +// +// +//extern const char* g_pSteamErrorMsg; +// +//static bool s_bError = false; +// +//#if defined(WIN_CLASSIC) +//static HMODULE s_hLib = NULL; +//FARPROC GetFunc( const char* pszFuncName ) +//{ +// FARPROC pFunc = GetProcAddress( s_hLib, pszFuncName ); +// if( !pFunc ) +// { +// DWORD dwError = GetLastError(); +// DebugConsoleOutput("ERROR: Failed to find function %s error %d\n", pszFuncName, dwError); +// s_bError = true; +// } +// return pFunc; +//} +//#elif defined(LINUX) || defined(MAC) +//static void* s_hLib = NULL; +//void* GetFunc( const char* pszFuncName ) +//{ +// dlerror(); //clear error +// void* pFunc = dlsym( s_hLib, pszFuncName ); +// char* err = dlerror(); +// if( err != NULL ) +// { +// DebugConsoleOutput("ERROR: Failed to find function %s :error %s\n", pszFuncName, err); +// } +// return pFunc; +//} +// +//#endif +// +//CSteamAPIContext *g_SteamContext; +// +//bool InitFunctions() +//{ +// //hook up functions... such a pretty language +// g_pSteamAPI_Init = (bool(*)(void))GetFunc("SteamAPI_Init"); +// g_pSteamAPI_InitSafe = (bool(*)(void))GetFunc("SteamAPI_InitSafe"); +// g_pSteamClient = (ISteamClient*(*)(void))GetFunc("SteamClient"); +// +// g_pSteamAPI_RunCallbacks = (void(*)(void))GetFunc("SteamAPI_RunCallbacks"); +// g_pSteamAPI_RestartAppIfNecessary = (bool(*)(uint32))GetFunc("SteamAPI_RestartAppIfNecessary"); +// g_pSteamAPI_Shutdown = (void(*)(void))GetFunc("SteamAPI_Shutdown"); +// +// g_pSteamAPI_GetHSteamUser=(HSteamUser(*)(void))GetFunc("SteamAPI_GetHSteamUser"); +// g_pSteamAPI_GetHSteamPipe=(HSteamPipe(*)(void))GetFunc("SteamAPI_GetHSteamPipe"); +// +// +// g_pSteamAPI_RegisterCallback = (void(*)(class CCallbackBase *pCallback, int iCallback ))GetFunc("SteamAPI_RegisterCallback"); +// g_pSteamAPI_UnregisterCallback = (void(*)( class CCallbackBase *pCallback ))GetFunc("SteamAPI_UnregisterCallback"); +// g_pSteamAPI_RegisterCallResult = (void(*)( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ))GetFunc("SteamAPI_RegisterCallResult"); +// g_pSteamAPI_UnregisterCallResult = (void(*)( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ))GetFunc("SteamAPI_UnregisterCallResult"); +// +// return !s_bError; +//} +// +// +//bool LoadSteamLib() +//{ +// bool bOK = false; +//#if defined(WIN_CLASSIC) +//# if defined _WIN64 +//#define STEAMDLLNAME L"steam_api64.dll" +//# else +//#define STEAMDLLNAME L"steam_api.dll" +//# endif +// //load the steam_api dll +// s_hLib = LoadLibrary( STEAMDLLNAME ); +// if(s_hLib == NULL ) +// { +// DWORD dwError = GetLastError(); +// DebugConsoleOutput("ERROR: Failed to load steam_api.dll error %d\n", dwError); +// g_pSteamErrorMsg="Error loading steam_api.dll"; +// return false; +// } +// +// +//#elif defined(LINUX) +// s_hLib = dlopen("libsteam_api.so", RTLD_LAZY ); +// if( s_hLib == NULL ) +// { +// char* err = dlerror(); +// DebugConsoleOutput("Error: Failed to load libsteam_api.so: %s\n", err ); +// g_pSteamErrorMsg="Error loading libsteam_api.so"; //defer error message, since need to do gl setup before message box window can be displayed +// return false; +// } +//#elif defined(MAC) +// extern const char* GetExeName(void); +// //extern char g_pBundlePath[2048]; +// extern char* g_pGameName; +// char dylibName[2048]; +// strcpy( &dylibName[0], GetExeName() ); +// char* pSlash = strrchr(&dylibName[0], '/'); +// if (pSlash==NULL) { +// pSlash = &dylibName[0] - 1; +// } +// strcpy( pSlash+1, "libsteam_api.dylib"); +// s_hLib = dlopen(dylibName, RTLD_LAZY ); +// if( s_hLib == NULL ) +// { +// char *errormsg=dlerror(); +// DebugConsoleOutput("Error: Failed to load libsteam_api.dylib from %s\n", dylibName ); +// if(errormsg!=NULL) +// { +// DebugConsoleOutput("dlerror:%s\n",errormsg); +// } +// // check the directory where the game was loaded from +// if(g_pGameName!=NULL) +// { +// strcpy( &dylibName[0], &g_pGameName[0] ); +// char* pSlash = strrchr(&dylibName[0], '/'); +// if (pSlash==NULL) { +// pSlash = &dylibName[0] - 1; +// } +// strcpy( pSlash+1, "libsteam_api.dylib"); +// s_hLib = dlopen(dylibName, RTLD_LAZY ); +// if( s_hLib == NULL ) { +// char* err = dlerror(); +// DebugConsoleOutput("Error: Failed to load libsteam_api.dylib: %s\n", err ); +// g_pSteamErrorMsg="Error loading libsteam_api.dylib"; +// return false; +// } // end if +// } +// else +// { +// DebugConsoleOutput("GameName not set at this point\n"); +// g_pSteamErrorMsg="Error loading libsteam_api.dylib"; +// return false; +// } +// } // end if +// +//#endif +// +// bOK = InitFunctions(); +// if(!bOK) { +// g_pSteamErrorMsg="Failed to find steam api functions"; +// } +// return bOK; +//} +// +//void UnloadSteamLib() +//{ +//#if defined(WIN_CLASSIC) +// if( s_hLib != NULL ) +// { +// FreeLibrary( s_hLib ); +// } +//#elif defined(LINUX) +// if( s_hLib != NULL ) +// { +// dlclose( s_hLib ); +// } +// +//#endif +//} +// diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.h b/source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.h new file mode 100644 index 0000000..27ffcf8 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_funcs.h @@ -0,0 +1,51 @@ +//#ifndef _STEAM_FUNCS_H_ +//#define _STEAM_FUNCS_H_ +// +//#include "steam_enable.h" +//#include "steamtypes.h" +// +////these could be problematic...since they are called within the api header +////...any way other than modifying the header...? +////S_API void SteamAPI_RegisterCallback( class CCallbackBase *pCallback, int iCallback ); +////S_API void SteamAPI_UnregisterCallback( class CCallbackBase *pCallback ); +////S_API void SteamAPI_RegisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +////S_API void SteamAPI_UnregisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +// +//extern void (*g_pSteamAPI_RegisterCallback)(class CCallbackBase* pCallback, int iCallback); +//extern void (*g_pSteamAPI_UnregisterCallback)(class CCallbackBase* pCallback); +//extern void (*g_pSteamAPI_RegisterCallResult)(class CCallbackBase* pCallback, SteamAPICall_t hAPICall); +//extern void (*g_pSteamAPI_UnregisterCallResult)(class CCallbackBase* pCallback, SteamAPICall_t hAPICall); +//extern int32(*g_pSteamAPI_GetHSteamUser)(); +//extern int32(*g_pSteamAPI_GetHSteamPipe)(); +// +//class ISteamClient; +// +//extern ISteamClient* (*g_pSteamClient)(void); +// +////Functions above this line may b +////NB!! steam_api.h MODIFIED to call above functions through function ptr +////#include "steam_common.h" +//#include "steam_common.h" +// +////extern bool LoadSteamLib(); +////extern void UnloadSteamLib(); +//// +////extern bool (*g_pSteamAPI_InitSafe)(void); +////extern bool (*g_pSteamAPI_Init)(void); +////extern void (*g_pSteamAPI_RunCallbacks)(void); +////extern bool (*g_pSteamAPI_RestartAppIfNecessary)(uint32); +////extern void (*g_pSteamAPI_Shutdown)(void); +// +// +////#define SteamAPI_InitSafe() g_pSteamAPI_InitSafe() +////#define SteamAPI_Init() g_pSteamAPI_Init() +////#define SteamAPI_RunCallbacks() g_pSteamAPI_RunCallbacks() +////#define SteamAPI_RestartAppIfNecessary(appId) g_pSteamAPI_RestartAppIfNecessary(appId) +////#define SteamAPI_Shutdown() g_pSteamAPI_Shutdown() +// +// +//extern CSteamAPIContext* g_SteamContext; +// +//#define SteamClient() g_pSteamClient() +// +//#endif //_STEAM_FUNCS_H_ \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.cpp new file mode 100644 index 0000000..e799823 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.cpp @@ -0,0 +1,17 @@ +/// steam_glue.cpp +#include "pch.h" +#include "steam_glue.h" +CSteamAPIContext SteamAPI; + +uint32 steam_app_id = 0; +CSteamID steam_local_id; +CSteamID steam_lobby_current; + +// Called by GM on DLL init +//dllx double RegisterCallbacks(void* f1, void* f2, void* f3, void* f4) { +// gml_event_perform_async = (gml_event_perform_async_t)f1; +// gml_ds_map_create_ext = (gml_ds_map_create_ext_t)f2; +// gml_ds_map_set_double = (gml_ds_map_set_double_t)f3; +// gml_ds_map_set_string = (gml_ds_map_set_string_t)f4; +// return 0; +//} \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.h b/source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.h new file mode 100644 index 0000000..54eb275 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_glue.h @@ -0,0 +1,57 @@ +/// steam_glue.h +#pragma once + +/// +#define steam_net_version 1300 + +// GCC glue: +#ifdef __GNUC__ +#include +// I know, and great, but that's what GMS runtime uses +#pragma GCC diagnostic ignored "-Wwrite-strings" +// (I guess because it's bad, but tell that to Valve) +#pragma GCC diagnostic ignored "-Winvalid-offsetof" +#endif + +// All of the Steam API enums are unscoped +#pragma warning (disable: 26812) + +// For unidentifiable reason Steam API doesn't init unless using "safe" interfaces. +// Might be a conflict with GM runtime. +#define VERSION_SAFE_STEAM_API_INTERFACES 1 +#include "steam_api.h" +#include "isteamappticket.h" + +// The following are solely in case it is ever needed to switch to "unsafe" API +//extern CSteamAPIContext SteamAPI; +//#define SteamUser SteamAPI.SteamUser +//#define SteamFriends SteamAPI.SteamFriends +//#define SteamNetworking SteamAPI.SteamNetworking +//#define SteamMatchmaking SteamAPI.SteamMatchmaking +//#define SteamInventory SteamAPI.SteamInventory +//#define SteamUtils SteamAPI.SteamUtils +//#define SteamController SteamAPI.SteamController +//#define SteamUGC SteamAPI.SteamUGC + +extern uint32 steam_app_id; +extern CSteamID steam_local_id; +extern CSteamID steam_lobby_current; + +#include +#include +#include +#include +#include "steam_callbacks.h" +std::string b64encode(const void* data, const size_t& len); + +#if (STEAMWORKS < 142) +typedef uint64 SteamInventoryUpdateHandle_t; +#endif +typedef int steam_image_id; + +using std::map; +using std::vector; +using std::string; + +#include "gml_glue.h" +#include "gml_glue_map.h" \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_init.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_init.cpp new file mode 100644 index 0000000..bab826d --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_init.cpp @@ -0,0 +1,322 @@ +#include "pch.h" + + +// +//#include "../../Steamworks_vs/steam_event.h" +// +////#include "Files/Function/Function_Steam.h" +////#include "Files/Graphics/Graphics_Support.h" +////#include "Files/Base/Console.h" +////#include "Files/Run/Run_Command.h" +////#include "Files/Base/Utils.h" +////#include "Files/Support/Support_File.h" +////#include "Files/Base/IniFile.h" +////#include "Files/IO/LoadSave.h" +////#include "Files/Support/Support_Various.h" +// +////extern void Steam_Init(); +////extern void Steam_Screenshots_Init(); +////extern void Steam_Screenshots_Shutdown(); +////extern void Steam_UserStats_Init(); +////extern void Steam_UserStats_Process(); +////extern void Steam_UserStats_Shutdown(); +////extern void Steam_RemoteStorage_Init(); +////extern void Steam_RemoteStorage_Shutdown(); +////extern void Steam_Friends_Init(); +////extern void Steam_Friends_Shutdown(); +////extern void Steam_UGC_Init(); +////extern void Steam_UGC_Shutdown(); +// +//extern int32 g_SteamAppId; +//extern CSteamAPIContext *g_SteamContext; +//static bool g_bSteamInitialised = false; +//static bool g_bSteamInitFailed = false; +//const char* g_pSteamErrorMsg=NULL; +//bool g_bUseSteam = false; //TODO get from options or something +////behaviour differs somewhat for release mode ( create application ) - +////we must abort if SteamAPI_RestartAppIfNecessary re-launches via steam client +//bool g_bSteamReleaseMode = false; +//bool g_bSteamExit = false; +// +//bool Steam_IsInitialised() +//{ +// return g_bSteamInitialised; +//} +// +////----------------------------------------------------------------------------- +//// Purpose: callback hook for debug text emitted from the Steam API +////----------------------------------------------------------------------------- +//extern "C" void __cdecl SteamAPIDebugTextHook( int nSeverity, const char *pchDebugText ) +//{ +// // if you're running in the debugger, only warnings (nSeverity >= 1) will be sent +// // if you add -debug_steamapi to the command-line, a lot of extra informational messages will also be sent +// trace( pchDebugText ); +// +// if ( nSeverity >= 1 ) +// { +// // place to set a breakpoint for catching API errors +// int x = 3; +// x = x; +// } +//} +// +// +//static bool _steamInit( AppId_t appId) +//{ +// //TEST SHUTDOWN +// //g_bSteamExit = true; +// //return false; +// +// DebugConsoleOutput("Steam - SteamAPI_RestartAppIfNecessary\n"); +// +//extern bool g_fDoSteamRestart; +// if ( g_fDoSteamRestart && SteamAPI_RestartAppIfNecessary( appId ) ) +// { +// // if Steam is not running or the game wasn't started through Steam, SteamAPI_RestartAppIfNecessary starts the +// // local Steam client and also launches this game again. +// +// // Once you get a public Steam AppID assigned for this game, you need to replace k_uAppIdInvalid with it and +// // removed steam_appid.txt from the game depo +// DebugConsoleOutput("Steam - Restart required\n"); +// if(g_bSteamReleaseMode) { +// g_bSteamExit = true; +// } +// //don't think we want to display anything in this case, just die +// return false; +// } +// +// // Init Steam CEG +// DebugConsoleOutput("Steam - Steamworks_InitCEGLibrary\n"); +// if ( !Steamworks_InitCEGLibrary() ) +// { +// DebugConsoleOutput("Steamworks_InitCEGLibrary() failed\n" ); +// g_pSteamErrorMsg = "Steam must be running to play this game (InitDrmLibrary() failed)"; +// +// return false; +// } +// +// // Initialize SteamAPI, if this fails we bail out since we depend on Steam for lots of stuff. +// // This will also load the in-game steam overlay dll into your process. That dll is normally +// // injected by steam when it launches games, but by calling this you cause it to always load, +// // even when not launched via steam. +// DebugConsoleOutput("Steam - SteamAPI_InitSafe\n"); +// if ( !SteamAPI_InitSafe() ) +// { +// DebugConsoleOutput("SteamAPI_InitSafe() failed\n" ); +// g_pSteamErrorMsg = "Steam must be running to play this game (SteamAPI_InitSafe() failed)"; +// return false; +// } +// +// g_SteamContext = new CSteamAPIContext(); +// g_SteamContext->Init(); +// +// DebugConsoleOutput("Steam - SteamApps()->BIsSubscribed()\n"); +// if( !g_SteamContext->SteamApps()->BIsSubscribed()) +// { +// //Check player has rights to the game. +// DebugConsoleOutput("SteamApps()->BIsSubscribed() failed\n"); +// g_pSteamErrorMsg = "Steam must be running to play this game (user not subscribed)"; +// //!need to shut down steamAPI since we have called SteamAPI_Init() +// SteamAPI_Shutdown(); +// return false; +// } +// +// +// // set our debug handler +// DebugConsoleOutput("Steam - SteamClient()->SetWarningMessageHook()\n"); +// SteamClient()->SetWarningMessageHook( &SteamAPIDebugTextHook ); +// // do a DRM self check +// DebugConsoleOutput("Steam - Steamworks_SelfCheck()\n"); +// Steamworks_SelfCheck(); +// +// //setup stats ( sends stats request ) +// DebugConsoleOutput("Steam - Steam_UserStats_Init()\n"); +// Steam_UserStats_Init(); +// DebugConsoleOutput("Steam - Steam_RemoteStorage_Init()\n"); +// Steam_RemoteStorage_Init(); +// +// // tell steam we're handling screenshots, not the steam overlay (which we're not using) +// DebugConsoleOutput("Steam - Steam_Screenshots_Init()\n"); +// Steam_Screenshots_Init(); +// DebugConsoleOutput("Steam - Steam_Friends_Init()\n"); +// Steam_Friends_Init(); +// DebugConsoleOutput("Steam - Steam_UGC_Init()\n"); +// Steam_UGC_Init(); +// +// +// g_bSteamInitialised = true; +// +// DebugConsoleOutput("g_bSteamInitialised being set to true"); +// return true; +//} +// +//void Steam_Init() +//{ +// //return if we already tried to initialise steam +// if( g_bSteamInitialised || g_bSteamInitFailed) +// { +// DebugConsoleOutput("Steam already initialised\n"); +// return; +// } +// +// AppId_t appId = k_uAppIdInvalid; +// //DebugConsoleOutput("SteamAppId=%d\n", g_SteamAppId ); +// if( g_SteamAppId != 0 ) +// { +// const char* exePath = ExtractFilePath(GetExeName()); +// char filename[1024]; +// snprintf(filename, 1024, "%s/steam_appid.txt", exePath); +// DebugConsoleOutput("steamfile:%s\n", filename); +// +// g_bUseSteam = true; +// //for testing, write steam_appid.txt to exe directory (where steam api will find it), and pass k_uAppIdInvalid to steam init; +// //-ve id denotes final release - instead pass app Id to _steamInit +// if( g_SteamAppId < 0 ) +// { +// appId = -g_SteamAppId; +// g_bSteamReleaseMode = true; +// DebugConsoleOutput("Steam being initialised with appId %d\n",appId); +// } +// else +// { +// g_bSteamReleaseMode = false; +// +// FILE* pFile = YYFOPEN( filename, "wb" ); +// char strID[32]; +// snprintf(strID, 32, "%d",g_SteamAppId ); +// if( pFile ) +// { +// fwrite(strID, 1, strlen(strID), pFile ); +// fclose(pFile); +// } +// else +// { +// DebugConsoleOutput("Failed to open %s\n", filename ); +// } +// } +// } +// +// if( g_bUseSteam ) +// { +// //appId = - does this take precedence if steam_appid.txt is present? yes, and asks to install app via steam +// DebugConsoleOutput("Steam_Init\n"); +// +// bool bOK = false; +// if( LoadSteamLib() ) +// { +// +// bOK = _steamInit( appId ); +// DebugConsoleOutput("Steam_Init\n"); +// } +// else +// DebugConsoleOutput("Failed LoadSteamLib() call: %s\n", g_pSteamErrorMsg); +// +// if( !bOK ) +// { +// //if steam init fails - we have to exit... +// g_bSteamInitFailed=true; +// if(g_pSteamErrorMsg) +// { +// DebugConsoleOutput("SteamInit failed: %s\n", g_pSteamErrorMsg); +// } +// else +// DebugConsoleOutput("SteamInit failed with no msg\n"); +// UnloadSteamLib(); +// +// //Must exit if steam init fails in release mode - to prevent direct launch of exe without steam restart +// if (g_bSteamReleaseMode) +// g_bSteamExit = true; +// } +// else +// DebugConsoleOutput("LoadSteamLib and _steamInit both ok\n"); +// +// } +//} +// +// +//void Steam_Process() +//{ +// if( g_bSteamInitialised ) +// { +// SteamAPI_RunCallbacks(); +// Steam_UserStats_Process(); +// } +//} +// +//void Steam_Shutdown() +//{ +// if (g_bSteamInitialised) +// { +// DebugConsoleOutput("Steam_Shutdown1\n"); +// Steam_UserStats_Shutdown(); +// DebugConsoleOutput("Steam_Shutdown2\n"); +// Steam_RemoteStorage_Shutdown(); +// DebugConsoleOutput("Steam_Shutdown3\n"); +// Steam_Screenshots_Shutdown(); +// DebugConsoleOutput("Steam_Shutdown4\n"); +// Steam_Friends_Shutdown(); +// DebugConsoleOutput("Steam_Shutdown5\n"); +// Steam_UGC_Shutdown(); +// DebugConsoleOutput("Steam_Shutdown6\n"); +// SteamAPI_Shutdown(); +// DebugConsoleOutput("Steam_Shutdown7\n"); +// g_bSteamInitialised = false; +// DebugConsoleOutput("Steam_Shutdown8\n"); +// UnloadSteamLib(); +// DebugConsoleOutput("Steam_Shutdown9\n"); +// +// +// Timing_Sleep(1000*1000); +// +// } +// else +// DebugConsoleOutput("Not shutting down steam as it is not initialised\n"); +//} +// +//bool Check_Steam_Restart() +//{ +// if( g_bUseSteam ) +// { +// if( g_bSteamExit ) +// { +// //ONLY do this in release when SteamAPI_RestartAppIfNecessary is relaunching app via steam client +// //-still allow to continue though if SteamAPI_Init fails ( can query with steam_initialised) +// DebugConsoleOutput("Steam restarting via client\n" ); +// return true; +// //if(g_pSteamErrorMsg ) +// //{ +// // DebugConsoleOutput("%s\n", g_pSteamErrorMsg ); +// // ShowMessage( (char*)g_pSteamErrorMsg ); +// //} +// +// //extern void Command_EndGame(); +// //Command_EndGame(); +// } +// } +// return false; +//} +// +// +////for mac steam, to get the overlay to appear, steam must be initialised *before* opengl context creation +// +//void MacAppSteamInit(const char* pSteamId) +//{ +// int steamAppId = atoi(pSteamId); +// +// +// DebugConsoleOutput("MacAppSteamInit %d\n", steamAppId); +// //early initialise steam if the app id is present +// if(steamAppId != 0) +// { +// g_SteamAppId = steamAppId; +// if( g_SteamAppId > 0 ) +// g_SteamAppId = -g_SteamAppId; //app so release mode +// Steam_Init(); +// } +// +//} +// +// +// +// +// diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_init_new.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_init_new.cpp new file mode 100644 index 0000000..9165f2e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_init_new.cpp @@ -0,0 +1,216 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +#include +#include +#include +#include + +#include "json-c.h" + +#include "IniOptionsLibrary.h" +#include "DesktopExtensionTools.h" + +int requestInd = 0; +int getAsyncRequestInd() +{ + requestInd++; + return requestInd; +} + +YYEXPORT void steam_update(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + SteamAPI_RunCallbacks(); + Steam_UserStats_Process(); + + Result.kind = VALUE_REAL; + Result.val = 1; +} + +bool steam_is_initialised = false; + +CSteamAPIContext* g_SteamContext; +YYEXPORT void steam_init(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(int appid) +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = 1; +} + +#ifdef OS_Windows +extern "C" __declspec(dllexport) void PreGraphicsInitialisation(char* arg1) +#endif +#if defined(OS_Linux) || defined(OS_MacOs) +extern "C" void PreGraphicsInitialisation(char* arg1) +#endif +{ + //json_object* jobj = json_tokener_parse(arg1); + //uint32 AppID = json_object_get_int(json_object_object_get(jobj, "AppID")); + //bool debug = json_object_get_boolean(json_object_object_get(jobj, "Debug")); + + uint32 AppID = (uint32)std::stol(IniOptions_read("Steamworks", "AppID")); + bool debug = IniOptions_read("Steamworks", "Debug").find("True") != std::string::npos; + + if (debug) + { + std::string exePath = DesktopExtensionTools_getPathToExe(); + + char filename[1024]; + snprintf(filename, 1024, "%s/steam_appid.txt", exePath.c_str()); + + printf("[STEAMWORKS] Creating steam_appid.txt: %s\n", filename); + + FILE* pFile = fopen(filename, "wb"); + char strID[32]; + snprintf(strID, 32, "%u", AppID); + + if (pFile) + { + fwrite(strID, 1, strlen(strID), pFile); + fclose(pFile); + printf("steam_appid.txt file written\n"); + + } + else + { + printf("Error at write steam_appid.txt:\n"); + perror("fopen"); + return; //Failed to open + } + } + else + { + // https://partner.steamgames.com/doc/sdk/api#initialization_and_shutdown + if (SteamAPI_RestartAppIfNecessary(AppID)) + { + printf("SteamAPI_RestartAppIfNecessary returned true, exiting\n"); + exit(0); + return; + } + } + + if (!SteamAPI_Init()) + { + printf("SteamAPI_Init failed\n"); + return; + } + + printf("SteamAPI_Init succeded\n"); + + steam_is_initialised = true; +} + +YYEXPORT void steam_initialised(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + Result.kind = VALUE_BOOL; + Result.val = steam_is_initialised; +} + +extern "C" void __cdecl SteamAPIDebugTextHook(int nSeverity, const char* pchDebugText) +{ + DebugConsoleOutput(pchDebugText); + DebugConsoleOutput("\n"); +} + +YYEXPORT void steam_set_warning_message_hook(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + SteamClient()->SetWarningMessageHook(&SteamAPIDebugTextHook); +} + +YYEXPORT void steam_is_subscribed(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + /* + g_SteamContext = new CSteamAPIContext(); + g_SteamContext->Init(); + */ + + //Check player has rights to the game. + //DebugConsoleOutput("SteamApps()->BIsSubscribed() failed\n"); + //DebugConsoleOutput("Steam must be running to play this game (user not subscribed)"); + //!need to shut down steamAPI since we have called SteamAPI_Init() + + Result.kind = VALUE_BOOL; + Result.val = SteamApps()->BIsSubscribed(); +} + + +YYEXPORT void ext_json_test(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + DebugConsoleOutput("ext_json_test\n"); + + const char* arg1 = YYGetString(arg, 0); + json_object* jobj = json_tokener_parse(arg1); + + uint32 AppID = json_object_get_int(json_object_object_get(jobj, "ProductId")); + bool debug = json_object_get_boolean(json_object_object_get(jobj, "Debug")); + + DebugConsoleOutput("ext_json_test %i\n", AppID); + DebugConsoleOutput("ext_json_test %i\n", debug); +} + + +YYEXPORT void steam_shutdown(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + SteamAPI_Shutdown(); +} + +//dllg void Steam_Json_Test() { +// nlohmann::json j = { +// {"pi", 3.141}, +// {"happy", true}, +// {"name", "Niels"}, +// {"nothing", nullptr}, +// {"answer", { +// {"everything", 42} +// }}, +// {"list", {1, 0, 2}}, +// {"strlist", {"1", "0", "2"}}, +// {"strlist2", {"1", "0"}}, +// {"strlist3", {"1"}}, +// {"object", { +// {"currency", "USD"}, +// {"value", 42.99} +// }} +// }; +// std::string s = j.dump(); +// trace("json? %s", s.c_str()); +//} diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_inventory.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_inventory.cpp new file mode 100644 index 0000000..d0eb8d2 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_inventory.cpp @@ -0,0 +1,665 @@ +///// steam_inventory.cpp +// +#include "pch.h" +#include "steam_glue.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +// @dllg:docName SteamInventoryResult_t steam_inventory_result +// @dllg:docName SteamItemInstanceID_t steam_inventory_item_id +// @dllg:docName SteamItemDef_t steam_inventory_item_def +// @dllg:docName SteamInventoryUpdateHandle_t steam_inventory_update_handle + +//// helpers: +#define API SteamInventory() + +//#pragma region Result +/// +#define steam_inventory_result_invalid (-1 /*#as steam_inventory_result*/) + +YYEXPORT void /*int*/ steam_inventory_result_get_status(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryResult_t inv_result) +{ + int32 inv_result = YYGetInt32(arg, 0); + + Result.kind = VALUE_REAL; + Result.val = API->GetResultStatus(inv_result); +} +/// +enum class steam_inventory_result_status { + invalid = -1, + ok = 1, + fail = 2, + invalid_param = 8, + service_unavailable = 20, + pending = 22, + limit_exceeded = 25, + expired = 27, +}; + +/// (result:steam_inventory_result)->int +YYEXPORT void /*int*/ steam_inventory_result_get_unix_timestamp(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryResult_t inv_result) +{ + int32 inv_result = YYGetInt32(arg, 0); + + Result.kind = VALUE_REAL; + Result.val = API->GetResultTimestamp(inv_result); +} + +YYEXPORT void /*const char**/ steam_inventory_result_get_item_property(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryResult_t inv_result, int item_index, const char* prop_name) +{ + int32 inv_result = YYGetInt32(arg, 0); + int item_index = YYGetReal(arg, 1); + char* prop_name = (char*)YYGetString(arg, 2); + + static vector tmp; + uint32 size = 0; + if (!API->GetResultItemProperty(inv_result, item_index, prop_name, nullptr, &size)) + { + YYCreateString(&Result, ""); + return; + } + + if (tmp.size() <= size) + tmp.resize(size + 1); + + if (!API->GetResultItemProperty(inv_result, item_index, prop_name, tmp.data(), &size)) + { + YYCreateString(&Result, ""); + return; + } + + YYCreateString(&Result, tmp.data()); +} + +struct steam_inventory_result_item { + SteamItemInstanceID_t item_id; + SteamItemDef_t item_def; + uint16 quantity; + uint16 flags; +}; + +YYEXPORT void /*vector*/ steam_inventory_result_get_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryResult_t inv_result) +{ + int32 inv_result = YYGetInt32(arg, 0); + + uint32 count = 0; + API->GetResultItems(inv_result, nullptr, &count); + vector items{}; + items.resize(count); + + if (!API->GetResultItems(inv_result, items.data(), &count)) + { + RValue Struct{}; + YYStructCreate(&Struct); + COPY_RValue(&Result, &Struct); + FREE_RValue(&Struct); + + return; + } + + vector vec{}; + + for (auto i = 0 ; i < count ; i++) + { + RValue Struct{}; + YYStructCreate(&Struct); + + YYStructAddInt64(&Struct, "item_id", items[i].m_itemId); + YYStructAddDouble(&Struct, "item_def", items[i].m_iDefinition); + YYStructAddDouble(&Struct, "quantity", items[i].m_unQuantity); + YYStructAddDouble(&Struct, "flags", items[i].m_unFlags); + + vec.push_back(Struct); + } + + _SW_SetArrayOfRValue(&Result, vec); +} + +YYEXPORT void /*bool*/ steam_inventory_result_destroy(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryResult_t inv_result) +{ + int32 inv_result = YYGetInt32(arg, 0); + + if (inv_result != k_SteamInventoryResultInvalid) + { + API->DestroyResult(inv_result); + Result.kind = VALUE_BOOL; + Result.val = true; + return; + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + return; + } +} +#pragma endregion + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_trigger_item_drop(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamItemDef_t item_def) +{ + int32 item_def = YYGetInt32(arg, 0); + + SteamInventoryResult_t result; + if (API->TriggerItemDrop(&result, item_def)) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_add_promo_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamItemDef_t item_def) +{ + int32 item_def = YYGetInt32(arg, 0); + + SteamInventoryResult_t result; + if (API->AddPromoItem(&result, item_def)) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_add_promo_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(vector item_defs) +{ + vector item_defs = _SW_GetArrayOfInt32(arg, 0, "steam_inventory_add_promo_items"); + + SteamInventoryResult_t result; + if (API->AddPromoItems(&result, item_defs.data(), item_defs.size())) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_consume_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamItemInstanceID_t item_id, uint32 quantity) +{ + int64 item_id = YYGetInt64(arg, 0); + uint32 quantity = YYGetUint32(arg, 1); + + SteamInventoryResult_t result; + if (API->ConsumeItem(&result, item_id, quantity)) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +struct steam_inventory_itemdef_w_quantity { + SteamItemDef_t item_def; + uint32 quantity; +}; + +struct steam_inventory_itemid_w_quantity { + SteamItemInstanceID_t item_id; + uint32 quantity; +}; + +vector argToSteam_inventory_itemdef_w_quantity(RValue* arg, int index) +{ + RValue* pV = &(arg[index]); + + vector items; + if (KIND_RValue(pV) == VALUE_ARRAY) + { + RValue elem; + for (int i = 0; GET_RValue(&elem, pV, NULL, i); ++i) + { + steam_inventory_itemdef_w_quantity* _struct = new steam_inventory_itemdef_w_quantity();// {0}; + _struct->item_def = YYStructGetMember(&elem, "item_def")->val; + _struct->quantity = YYStructGetMember(&elem, "quantity")->val; + + items.push_back(*_struct); + } + } + else + { + //YYError("%s argument %d incorrect type (%s) expecting an Array", func, (arg_idx + 1), KIND_NAME_RValue(pV)); + //return; + } + + return items; +} + +vector argToSteam_inventory_itemid_w_quantity(RValue* arg, int index) +{ + RValue* pV = &(arg[index]); + + vector items; + if (KIND_RValue(pV) == VALUE_ARRAY) + { + RValue elem; + for (int i = 0; GET_RValue(&elem, pV, NULL, i); ++i) + { + steam_inventory_itemid_w_quantity* _struct = new steam_inventory_itemid_w_quantity();// {0}; + _struct->item_id = YYStructGetMember(&elem, "item_id")->val; + _struct->quantity = YYStructGetMember(&elem, "quantity")->val; + + items.push_back(*_struct); + } + } + else + { + //YYError("%s argument %d incorrect type (%s) expecting an Array", func, (arg_idx + 1), KIND_NAME_RValue(pV)); + //return; + } + + return items; +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_exchange_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(vector create, vector< steam_inventory_itemid_w_quantity> destroy) +{ + vector create = argToSteam_inventory_itemdef_w_quantity(arg, 0); + vector destroy = argToSteam_inventory_itemid_w_quantity(arg, 1); + + vector create_defs; create_defs.resize(create.size()); + vector create_quantities; create_quantities.resize(create.size()); + for (auto i = 0u; i < create.size(); i++) { + create_defs[i] = create[i].item_def; + create_quantities[i] = create[i].quantity; + } + + vector destroy_items; destroy_items.resize(destroy.size()); + vector destroy_quantities; destroy_quantities.resize(destroy.size()); + for (auto i = 0u; i < destroy.size(); i++) { + destroy_items[i] = destroy[i].item_id; + destroy_quantities[i] = destroy[i].quantity; + } + + SteamInventoryResult_t result; + if (API->ExchangeItems(&result, create_defs.data(), create_quantities.data(), create.size(), destroy_items.data(), destroy_quantities.data(), destroy.size())) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_generate_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(vector create) +{ + vector create = argToSteam_inventory_itemdef_w_quantity(arg, 0); + + vector create_defs; create_defs.resize(create.size()); + vector create_quantities; create_quantities.resize(create.size()); + for (auto i = 0u; i < create.size(); i++) + { + create_defs[i] = create[i].item_def; + create_quantities[i] = create[i].quantity; + } + + SteamInventoryResult_t result; + if (API->GenerateItems(&result, create_defs.data(), create_quantities.data(), create.size())) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_get_all_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + SteamInventoryResult_t result; + if (API->GetAllItems(&result)) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +CCallResult _steam_inventory_request_eligible_promo_item_defs; +void steam_net_callbacks_t::steam_inventory_request_eligible_promo_item_defs(SteamInventoryEligiblePromoItemDefIDs_t* e, bool failed) +{ + steam_net_event q = steam_net_event((char*)"inventory_request_eligible_promo_item_defs"); + q.set_result(e->m_result); + + uint64 user_id = e->m_steamID.ConvertToUint64(); + q.set((char*)"user_id", user_id); + //static string user_id_str{}; + //user_id_str = std::to_string(user_id); + //q.set((char*)"user_id_string", user_id_str.data()); + + static string json{}; + uint32 n = e->m_numEligiblePromoItemDefs; + static vector item_defs{}; + if (item_defs.size() < n) item_defs.resize(n); + if (e->m_result == EResult::k_EResultOK && API->GetEligiblePromoItemDefinitionIDs(e->m_steamID, item_defs.data(), &n)) { + json = "["; + for (auto i = 0u; i < n; i++) { + if (i > 0) json.append(","); + json.append(std::to_string(item_defs[i])); + } + json.append("]"); + } else { + json = "[]"; + n = 0; + } + q.set((char*)"item_def_json", json.data()); + q.set((char*)"item_def_count", n); + + q.set((char*)"is_cached_data", e->m_bCachedData); + q.dispatch(); +} + +YYEXPORT void /*bool*/ steam_inventory_start_purchase(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(vector items) +{ + vector items = argToSteam_inventory_itemdef_w_quantity(arg, 0); + + vector create_defs; create_defs.resize(items.size()); + vector create_quantities; create_quantities.resize(items.size()); + for (auto i = 0u; i < items.size(); i++) { + create_defs[i] = items[i].item_def; + create_quantities[i] = items[i].quantity; + } + auto call = API->StartPurchase(create_defs.data(), create_quantities.data(), items.size()); + Result.kind = VALUE_BOOL; + Result.val = call != k_uAPICallInvalid; +} + +YYEXPORT void /*bool*/ steam_inventory_request_eligible_promo_item_defs(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(uint64 user_id = 0) +{ + int64 user_id = YYGetInt64(arg, 0); + + //#if (STEAMWORKS >= 142) + CSteamID userID{}; + if (user_id != 0) { + userID.SetFromUint64(user_id); + } else userID = SteamUser()->GetSteamID(); + SteamAPICall_t call = API->RequestEligiblePromoItemDefinitionsIDs(userID); + if (call == k_uAPICallInvalid) + { + Result.kind = VALUE_BOOL; + Result.val = false; + return; + } + + _steam_inventory_request_eligible_promo_item_defs.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::steam_inventory_request_eligible_promo_item_defs); + Result.kind = VALUE_BOOL; + Result.val = true; +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_get_items_by_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(vector item_ids) +{ + std::vector item_ids = _SW_GetArrayOfUint64(arg, 0, "steam_inventory_get_items_by_id"); + + SteamInventoryResult_t result; + if (API->GetItemsByID(&result, item_ids.data(), item_ids.size())) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +#pragma region Update properties +YYEXPORT void /*SteamInventoryUpdateHandle_t*/ steam_inventory_start_update_properties(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_INT64; + Result.v64 = API->StartUpdateProperties(); +} + +YYEXPORT void /*bool*/ steam_inventory_set_property_bool(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t item_id, const char* prop_name, bool value) +{ + int32 handle = YYGetInt64(arg, 0); + int32 item_id = YYGetInt64(arg, 1); + char* prop_name = (char*)YYGetString(arg,2); + bool value = YYGetBool(arg, 3); + + Result.kind = VALUE_INT64; + Result.v64 = API->SetProperty(handle, item_id, prop_name, value); +} + +YYEXPORT void /*bool*/ steam_inventory_set_property_float(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t item_id, const char* prop_name, float value) +{ + int32 handle = YYGetInt64(arg, 0); + int32 item_id = YYGetInt64(arg, 1); + char* prop_name = (char*)YYGetString(arg, 2); + double value = YYGetReal(arg, 3); + + Result.kind = VALUE_BOOL; + Result.val = API->SetProperty(handle, item_id, prop_name, (float)value); +} + +YYEXPORT void /*bool*/ steam_inventory_set_property_int(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t item_id, const char* prop_name, int64 value) +{ + int32 handle = YYGetInt64(arg, 0); + int32 item_id = YYGetInt64(arg, 1); + char* prop_name = (char*)YYGetString(arg, 2); + int64 value = YYGetInt64(arg, 3); + + //#if (STEAMWORKS >= 142) + Result.kind = VALUE_BOOL; + Result.val = API->SetProperty(handle, item_id, prop_name, value); + //#else + //return false; + //#endif +} + +YYEXPORT void /*bool*/ steam_inventory_set_property_string(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t item_id, const char* prop_name, const char* value) +{ + int32 handle = YYGetInt64(arg, 0); + int32 item_id = YYGetInt64(arg, 1); + char* prop_name = (char*)YYGetString(arg, 2); + char* value = (char*)YYGetString(arg, 3); + + Result.kind = VALUE_BOOL; + Result.val = API->SetProperty(handle, item_id, prop_name, value); +} + +YYEXPORT void /*bool*/ steam_inventory_remove_property(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t item_id, const char* prop_name) +{ + int32 handle = YYGetInt64(arg, 0); + int32 item_id = YYGetInt64(arg, 1); + char* prop_name = (char*)YYGetString(arg, 2); + + Result.kind = VALUE_BOOL; + Result.val = API->RemoveProperty(handle, item_id, prop_name); +} + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_submit_update_properties(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamInventoryUpdateHandle_t handle) +{ + int32 handle = YYGetInt64(arg, 0); + + SteamInventoryResult_t result; + Result.kind = VALUE_INT64; + Result.v64 = API->SubmitUpdateProperties(handle, &result) ? result : k_SteamInventoryResultInvalid; +} + +#pragma endregion + +YYEXPORT void /*bool*/ steam_inventory_load_item_definitions(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_BOOL; + Result.val = API->LoadItemDefinitions(); +} + +#pragma region Prices + +YYEXPORT void /*optional*/ steam_inventory_get_item_price(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamItemDef_t item_def) +{ + int64 item_def = YYGetInt64(arg, 0); + + uint64 result; + uint64 basePrice; + +#if defined(OS_Windows) || defined(OS_Linux) + if (API->GetItemPrice(item_def, &result, &basePrice)) +#elif defined(OS_MacOs) + if (API->GetItemPrice(item_def, &result)) +#endif // OS_Windows + { + Result.kind = VALUE_INT64; + Result.v64 = result; + } + else + { + Result.kind = VALUE_INT64; + Result.v64 = 0; + } +} + +struct steam_inventory_get_item_prices_t { + SteamItemDef_t item_def; + uint64 price; +}; + +YYEXPORT void /*optional>*/ steam_inventory_get_items_with_prices(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + uint64 n = API->GetNumItemsWithPrices(); + vector defs; defs.resize(n); + vector prices; prices.resize(n); + vector basePrices; basePrices.resize(n); + +#if defined(OS_Windows) || defined(OS_Linux) + if (!API->GetItemsWithPrices(defs.data(), prices.data(), basePrices.data(), n)) +#elif defined(OS_MacOs) + if (!API->GetItemsWithPrices(defs.data(), prices.data(), n)) +#endif // OS_Windows + { + return; + } + + vector vec{}; + for (int i = 0u; i < n; i++) + { + RValue Struct = { 0 }; + YYStructCreate(&Struct); + + YYStructAddDouble(&Struct, "item_def", defs[i]); + YYStructAddInt64(&Struct, "price", prices[i]); + YYStructAddInt64(&Struct, "base_price", basePrices[i]); + + vec.push_back(Struct); + } + + _SW_SetArrayOfRValue(&Result, vec); +} + +CCallResult _steam_inventory_request_prices; +void steam_net_callbacks_t::steam_inventory_request_prices(SteamInventoryRequestPricesResult_t* e, bool failed) { + steam_net_event q((char*)"inventory_request_prices"); + static char currency[5]; + strncpy(currency, e->m_rgchCurrency, 4); + currency[4] = 0; + q.set_result(e->m_result); + q.set((char*)"currency", currency); + q.dispatch(); +} + +YYEXPORT void /*bool*/ steam_inventory_request_prices(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + SteamAPICall_t call = API->RequestPrices(); + if (call == k_uAPICallInvalid) + { + Result.kind = VALUE_BOOL; + Result.val = false; + return; + } + _steam_inventory_request_prices.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::steam_inventory_request_prices); + + Result.kind = VALUE_BOOL; + Result.val = true; +} + +#pragma endregion + +// todo: serialization functions + +YYEXPORT void /*SteamInventoryResult_t*/ steam_inventory_transfer_item_quantity(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(SteamItemInstanceID_t source_item_id, uint32 quantity, SteamItemInstanceID_t dest_item_id) +{ + int64 source_item_id = YYGetInt64(arg, 0); + int32 quantity = YYGetInt32(arg, 1); + int64 dest_item_id = YYGetInt64(arg, 2); + + SteamInventoryResult_t result; + if (API->TransferItemQuantity(&result, source_item_id, quantity, dest_item_id)) + { + Result.kind = VALUE_INT32; + Result.v32 = result; + return; + } + else + { + Result.kind = VALUE_INT32; + Result.v32 = k_SteamInventoryResultInvalid; + return; + } +} + +#pragma region callbacks + +void steam_net_callbacks_t::steam_inventory_result_ready(SteamInventoryResultReady_t* e) { + steam_net_event r((char*)"inventory_result_ready"); + r.set_result(e->m_result); + r.set((char*)"handle", (int32)e->m_handle); + r.dispatch(); +} + +void steam_net_callbacks_t::steam_inventory_full_update(SteamInventoryFullUpdate_t* e) { + steam_net_event r((char*)"inventory_full_update"); + r.set_success(true); + r.set((char*)"handle", (int32)e->m_handle); + r.dispatch(); +} + +void steam_net_callbacks_t::steam_inventory_definition_update(SteamInventoryDefinitionUpdate_t* e) { + steam_net_event r((char*)"inventory_definition_update"); + r.set_success(true); + r.dispatch(); +} +#pragma endregion + +#undef API diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_lobby_chat.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_lobby_chat.cpp new file mode 100644 index 0000000..af366fc --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_lobby_chat.cpp @@ -0,0 +1,193 @@ +/// steam_lobby_chat.cpp + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" +#include "steam_glue.h" +#include "steam_callbacks.h" + +struct steam_lobby_message { + uint8_t* data; + size_t size; + int lifetime; +}; + +struct { + vector arr{}; + int offset = 0; +} static chat_messages; + +void steam_lobby_chat_update() { + size_t removeCount = 0; + auto& arr = chat_messages.arr; + auto count = arr.size(); + for (size_t i = 0u; i < count; i++) { + if (--arr[i].lifetime <= 0) { + //trace("Freeing message %d", i); + delete arr[i].data; + arr[i].data = nullptr; + removeCount = i + 1; + } + } + if (removeCount > 0) { + arr.erase(arr.begin(), arr.begin() + removeCount); + chat_messages.offset += (int)removeCount; + } +} + +#define steam_lobby_max_chat_message_size 4096 + +YYEXPORT void /*bool*/ steam_lobby_send_chat_message(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* text) +{ + char* text = (char*)YYGetString(arg, 0); + + if (!steam_lobby_current.IsValid()) + { + Result.kind = VALUE_BOOL; + Result.val = false; + return; + } + + Result.kind = VALUE_BOOL; + Result.val = SteamMatchmaking()->SendLobbyChatMsg(steam_lobby_current, text, strlen(text) + 1); +} + +YYEXPORT void /*bool*/ steam_lobby_send_chat_message_buffer(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(gml_buffer buf, int size = -1) +{ + double bufferId = YYGetReal(arg, 0); + int32 size = YYGetInt32(arg, 1); + + if (!steam_lobby_current.IsValid()) + { + Result.kind = VALUE_BOOL; + Result.val = false; + return; + } + + unsigned char* buffer_data; + int buffer_size; + + if (!BufferGetContent(bufferId, (void**)(&buffer_data), &buffer_size)) + { + DebugConsoleOutput("steam_lobby_send_chat_message_buffer() - error: specified buffer not found\n"); + Result.kind = VALUE_BOOL; + Result.val = false; + + return; + } + + if (size <= -1 || size > buffer_size) size = buffer_size; + + Result.kind = VALUE_BOOL; + Result.val = SteamMatchmaking()->SendLobbyChatMsg(steam_lobby_current, buffer_data, size); + +} + +YYEXPORT void /*const char**/ steam_lobby_get_chat_message_text(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double message_index) +{ + double message_index = YYGetReal(arg, 0); + + message_index -= chat_messages.offset; + if (message_index < 0 || message_index >= chat_messages.arr.size()) + YYCreateString(&Result, ""); + + YYCreateString(&Result, (char*)chat_messages.arr[(size_t)message_index].data); +} + +YYEXPORT void /*double*/ steam_lobby_get_chat_message_size(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double message_index) +{ + double message_index = YYGetReal(arg, 0); + + message_index -= chat_messages.offset; + if (message_index < 0 || message_index >= chat_messages.arr.size()) + { + Result.kind = VALUE_REAL; + Result.val = -1; + return; + } + + Result.kind = VALUE_REAL; + Result.val = chat_messages.arr[(size_t)message_index].size; +} + +YYEXPORT void /*bool*/ steam_lobby_get_chat_message_data(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(int64_t message_index, gml_buffer buf) +{ + double message_index = YYGetReal(arg, 0); + double gml_buff = YYGetReal(arg, 1); + + unsigned char* buffer_data; + int buffer_size; + + if (BufferGetFromGML(gml_buff) == NULL) + { + DebugConsoleOutput("steam_lobby_get_chat_message_data() - error: specified buffer not found\n"); + Result.kind = VALUE_BOOL; + Result.val = false; + + return; + } + + message_index -= chat_messages.offset; + if (message_index < 0 || message_index >= chat_messages.arr.size()) + { + Result.kind = VALUE_BOOL; + Result.val = false; + return; + } + + auto& msg = chat_messages.arr[(size_t)message_index]; + auto size = msg.size; + + if (BufferWriteContent(gml_buff, 0, msg.data, size, true) != size) + { + DebugConsoleOutput("steam_lobby_get_chat_message_data() - error: could not write to buffer\n"); + Result.kind = VALUE_BOOL; + Result.val = false; + } + + Result.kind = VALUE_BOOL; + Result.val = true; + +} + +void steam_net_callbacks_t::lobby_chat_message(LobbyChatMsg_t* e) +{ + steam_lobby_message msg{}; + static uint8_t data[steam_lobby_max_chat_message_size]; + auto size = SteamMatchmaking()->GetLobbyChatEntry(e->m_ulSteamIDLobby, e->m_iChatID, nullptr, &data, sizeof(data), nullptr); + msg.size = size; + msg.data = new uint8_t[size + 1]; + msg.data[size] = 0; + msg.lifetime = 3; + memcpy(msg.data, data, size); + auto index = chat_messages.arr.size(); + chat_messages.arr.push_back(msg); + + steam_net_event ev = steam_net_event((char*)"lobby_chat_message"); + ev.set_uint64_all("lobby_id", e->m_ulSteamIDLobby); + ev.set_uint64_all("user_id", e->m_ulSteamIDUser); + ev.set((char*)"entry_type", e->m_eChatEntryType); + ev.set((char*)"message_index", (double)index); + ev.set((char*)"message_size", (double)size); + ev.dispatch(); +} + +enum class steam_lobby_member_change { + entered = 0x01, + left = 0x02, + disconnected = 0x04, + kicked = 0x08, + banned = 0x10, +}; + +void steam_net_callbacks_t::lobby_chat_update(LobbyChatUpdate_t* e) +{ + steam_net_event ev((char*)"lobby_chat_update"); + ev.set_uint64_all("lobby_id", e->m_ulSteamIDLobby); + ev.set_uint64_all("user_id", e->m_ulSteamIDUserChanged); + ev.set_uint64_all("change_id", e->m_ulSteamIDMakingChange); + ev.set((char*)"change_flags", e->m_rgfChatMemberStateChange); + ev.dispatch(); +} \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_matchmaking.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_matchmaking.cpp new file mode 100644 index 0000000..f24d5de --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_matchmaking.cpp @@ -0,0 +1,559 @@ +/// steam_matchmaking.cpp + +#include "pch.h" + +#include "steam_glue.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +#pragma region Current lobby + +YYEXPORT void /*double*/ steam_lobby_get_lobby_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_INT64; + Result.v64 = steam_lobby_current.ConvertToUint64(); +} + +bool steam_lobby_leave_() +{ + if (steam_lobby_current.IsValid()) { + SteamMatchmaking()->LeaveLobby(steam_lobby_current); + steam_lobby_current.Clear(); + return true; + } + else return false; +} + +/// Leaves the current lobby (if any) +YYEXPORT void /*double*/ steam_lobby_leave(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_BOOL; + Result.val = steam_lobby_leave_(); +} + +/// Returns whether the local user is the owner of the current lobby. +YYEXPORT void /*double*/ steam_lobby_is_owner(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + if (steam_lobby_current.IsValid()) + { + Result.kind = VALUE_REAL; + Result.val = SteamUser()->GetSteamID().ConvertToUint64() == SteamMatchmaking()->GetLobbyOwner(steam_lobby_current).ConvertToUint64(); + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +uint64 steam_lobby_get_owner_id() { + if (steam_lobby_current.IsValid()) { + return SteamMatchmaking()->GetLobbyOwner(steam_lobby_current).ConvertToUint64(); + } else return 0; +} +YYEXPORT void /*double*/ steam_lobby_get_owner_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_INT64; + Result.v64 = steam_lobby_get_owner_id(); +} + +YYEXPORT void /*double*/ steam_lobby_set_owner_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double user_id_high, double user_id_low) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + + if (steam_lobby_current.IsValid()) + { + Result.kind = VALUE_REAL; + Result.val = SteamMatchmaking()->SetLobbyOwner(steam_lobby_current, value64); + return; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +YYEXPORT void /*bool*/ steam_lobby_set_joinable(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(bool joinable) +{ + bool joinable = YYGetBool(arg, 0); + + if (steam_lobby_current.IsValid()) + { + Result.kind = VALUE_BOOL; + Result.val = SteamMatchmaking()->SetLobbyJoinable(steam_lobby_current, joinable); + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +double steam_lobby_get_member_count_() +{ + if (SteamMatchmaking()) { + return SteamMatchmaking()->GetNumLobbyMembers(steam_lobby_current); + } + else return 0; +} + +/// Returns the number of users in the lobby. +YYEXPORT void /*double*/ steam_lobby_get_member_count(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_REAL; + Result.val = steam_lobby_get_member_count_(); +} + +uint64 steam_lobby_get_member_id(int index) +{ + if(index >= 0 && index < steam_lobby_get_member_count_()) + { + return SteamMatchmaking()->GetLobbyMemberByIndex(steam_lobby_current, index).ConvertToUint64(); + } else return 0; +} + +YYEXPORT void /*double*/ steam_lobby_get_member_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double index) +{ + double index = YYGetReal(arg, 0); + + Result.kind = VALUE_INT64; + Result.v64 = steam_lobby_get_member_id((int)index); +} + +/// Opens an overlay to invite users to the current lobby. +YYEXPORT void /*double*/ steam_lobby_activate_invite_overlay(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + if (steam_lobby_current.IsValid() && SteamFriends()) { + SteamFriends()->ActivateGameOverlayInviteDialog(steam_lobby_current); + Result.kind = VALUE_BOOL; + Result.val = true; + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +#pragma endregion + +#pragma region Lobby list request +bool steam_lobby_list_loading = false; +CCallResult steam_lobby_list_received; +std::vector steam_lobby_list; +int steam_lobby_count = 0; +void steam_net_callbacks_t::lobby_list_received(LobbyMatchList_t* e, bool failed) +{ + uint32 n = e->m_nLobbiesMatching; + steam_lobby_count = n; + steam_lobby_list.resize(n); + for (uint32 i = 0; i < n; i++) { + steam_lobby_list[i] = SteamMatchmaking()->GetLobbyByIndex(i); + } + steam_lobby_list_loading = false; + // + steam_net_event ev((char*) "lobby_list"); + ev.set_success(!failed); + ev.set((char*)"lobby_count", n); + ev.dispatch(); +} + +/// Requests the list of lobbies to be (re-)loaded. +YYEXPORT void /*double*/ steam_lobby_list_request(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + if (SteamMatchmaking()) + { + SteamAPICall_t call = SteamMatchmaking()->RequestLobbyList(); + steam_lobby_list_received.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::lobby_list_received); + steam_lobby_list_loading = true; + Result.kind = VALUE_REAL; + Result.val = 1; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +/// Returns whether the list of lobbies is currently loading. +YYEXPORT void /*double*/ steam_lobby_list_is_loading(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_REAL; + Result.val = steam_lobby_list_loading; +} + +#pragma endregion + +#pragma region Lobby list filters + +/// "==" / Equal +#define steam_lobby_list_filter_eq 0 +/// "!=" / Not Equal +#define steam_lobby_list_filter_ne 3 +/// "<" / Less Than +#define steam_lobby_list_filter_lt -1 +/// ">" / Greater Than +#define steam_lobby_list_filter_gt 1 +/// "<=" / Less than or Equal +#define steam_lobby_list_filter_le -2 +/// ">=" / Greater than or Equal +#define steam_lobby_list_filter_ge 2 + +ELobbyComparison steam_lobby_list_filter_convert(int32 filter) { + switch (filter) { + case steam_lobby_list_filter_le: return k_ELobbyComparisonEqualToOrLessThan; + case steam_lobby_list_filter_lt: return k_ELobbyComparisonLessThan; + case steam_lobby_list_filter_gt: return k_ELobbyComparisonGreaterThan; + case steam_lobby_list_filter_ge: return k_ELobbyComparisonEqualToOrGreaterThan; + case steam_lobby_list_filter_ne: return k_ELobbyComparisonNotEqual; + default: return k_ELobbyComparisonEqual; + } +} + +/// Sets a string filter for the next lobby list request. +YYEXPORT void /*double*/ steam_lobby_list_add_string_filter(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* key, char* value, double comparison_type) +{ + char* key = (char*)YYGetString(arg, 0); + char* value = (char*)YYGetString(arg, 1); + double comparison_type = YYGetReal(arg, 2); + + if (SteamMatchmaking()) + { + ELobbyComparison cmp = steam_lobby_list_filter_convert((int32)comparison_type); + SteamMatchmaking()->AddRequestLobbyListStringFilter(key, value, cmp); + Result.kind = VALUE_REAL; + Result.val = 1; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +/// Sets a numerical filter for the next lobby list request. +YYEXPORT void /*double*/ steam_lobby_list_add_numerical_filter(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* key, double value, double comparison_type) +{ + char* key = (char*)YYGetString(arg, 0); + double value = YYGetReal(arg, 1); + double comparison_type = YYGetReal(arg, 2); + + if (SteamMatchmaking()) + { + ELobbyComparison cmp = steam_lobby_list_filter_convert((int32)comparison_type); + SteamMatchmaking()->AddRequestLobbyListNumericalFilter(key, (int)value, cmp); + Result.kind = VALUE_REAL; + Result.val = 1; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +/// Sorts the results of the next lobby list request based to proximity to the given value. +YYEXPORT void /*double*/ steam_lobby_list_add_near_filter(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* key, double value) +{ + char* key = (char*)YYGetString(arg, 0); + double value = YYGetReal(arg, 1); + + if (SteamMatchmaking()) + { + SteamMatchmaking()->AddRequestLobbyListNearValueFilter(key, (int)value); + Result.kind = VALUE_REAL; + Result.val = 1; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +/// +#define steam_lobby_list_distance_filter_close 0 +/// +#define steam_lobby_list_distance_filter_default 1 +/// +#define steam_lobby_list_distance_filter_far 2 +/// +#define steam_lobby_list_distance_filter_worldwide 3 + +/// Restricts results by region +YYEXPORT void /*double*/ steam_lobby_list_add_distance_filter(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double mode) +{ + double mode = YYGetReal(arg, 0); + + ELobbyDistanceFilter d = k_ELobbyDistanceFilterDefault; + switch ((int32)mode) { + case 0: d = k_ELobbyDistanceFilterClose; break; + case 1: d = k_ELobbyDistanceFilterDefault; break; + case 2: d = k_ELobbyDistanceFilterFar; break; + case 3: d = k_ELobbyDistanceFilterWorldwide; break; + } + + if (SteamMatchmaking()) + { + SteamMatchmaking()->AddRequestLobbyListDistanceFilter(d); + Result.kind = VALUE_BOOL; + Result.val = true; + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +#pragma endregion + +#pragma region Lobby list items + +/// Returns the number of the matching lobbies. +YYEXPORT void /*double*/ steam_lobby_list_get_count(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_REAL; + Result.val = steam_lobby_count; +} + +char* steam_lobby_list_get_data_str = (char*)malloc(1); + +/// Retrieves given information about the given lobby +YYEXPORT void /*const char**/ steam_lobby_list_get_data(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double index, char* key) +{ + double index = YYGetReal(arg, 0); + char* key = (char*)YYGetString(arg, 1); + + int32 i = (int32)index; + if (i >= 0 && i < steam_lobby_count) { + CSteamID lobby = steam_lobby_list[i]; + YYCreateString(&Result, SteamMatchmaking()->GetLobbyData(lobby, key)); + } + else + YYCreateString(&Result, ""); +} +// +uint64 steam_lobby_list_get_lobby_id(double index) { + int32 i = (int32)index; + if (i >= 0 && i < steam_lobby_count) { + return steam_lobby_list[i].ConvertToUint64(); + } + else return 0; +} + +YYEXPORT void /*double*/ steam_lobby_list_get_lobby_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double index) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + + Result.kind = VALUE_INT64; + Result.v64 = steam_lobby_list_get_lobby_id(value64); +} + +YYEXPORT void /*double*/ steam_lobby_list_get_lobby_owner_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double index) +{ + int32 i = YYGetInt32(arg, 0); + + Result.kind = VALUE_INT64; + Result.v64 = SteamMatchmaking()->GetLobbyOwner(steam_lobby_list[i]).ConvertToUint64(); +} + +/// [async] Returns the number of members in the given lobby in search results. +YYEXPORT void /*double*/ steam_lobby_list_get_lobby_member_count(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double lobby_index) +{ + + int32 i = YYGetInt32(arg, 0); + if (i >= 0 && i < steam_lobby_count) + { + Result.kind = VALUE_REAL; + Result.val = SteamMatchmaking()->GetNumLobbyMembers(steam_lobby_list[i]); + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +YYEXPORT void /*double*/ steam_lobby_list_get_lobby_member_id(RValue & Result, CInstance * selfinst, CInstance * otherinst, int argc, RValue * arg) { //(double lobby_index, member_index) + + Result.kind = VALUE_INT64; + + int32 lobby_idx = YYGetInt32(arg, 0); + int32 member_idx = YYGetInt32(arg, 1); + + if (lobby_idx >= 0 && lobby_idx < steam_lobby_count) + { + int steam_lobby_member_count = SteamMatchmaking()->GetNumLobbyMembers(steam_lobby_list[lobby_idx]); + if (member_idx >= 0 && member_idx < steam_lobby_member_count) + Result.v64 = SteamMatchmaking()->GetLobbyMemberByIndex(steam_lobby_list[lobby_idx], member_idx).ConvertToUint64(); + else + Result.v64 = 0; + } + else + { + Result.v64 = 0; + } +} + +#pragma endregion + +#pragma region Joining lobbies + +CCallResult steam_lobby_joined; +void steam_net_callbacks_t::lobby_joined(LobbyEnter_t* e, bool failed) { + steam_lobby_current.SetFromUint64(e->m_ulSteamIDLobby); + steam_net_event q((char*)"lobby_joined"); + q.set_uint64_all("lobby_id", e->m_ulSteamIDLobby); + q.set_success(!failed); + q.dispatch(); +} + +/// [async] Starts joining the given lobby. +YYEXPORT void /*double*/ steam_lobby_list_join(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double index) +{ + double index = YYGetReal(arg, 0); + + steam_lobby_leave_(); + int32 i = (int32)index; + if (i >= 0 && i < steam_lobby_count) { + SteamAPICall_t call = SteamMatchmaking()->JoinLobby(steam_lobby_list[i]); + steam_lobby_joined.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::lobby_joined); + Result.kind = VALUE_REAL; + Result.val = 1.0; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +bool steam_lobby_join_id(uint64 lobby_id) { + if (SteamMatchmaking()) { + SteamAPICall_t call = SteamMatchmaking()->JoinLobby(lobby_id); + steam_lobby_joined.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::lobby_joined); + return true; + } else return false; +} + +YYEXPORT void /*double*/ steam_lobby_join_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double lobby_id_high, double lobby_id_low) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + + Result.kind = VALUE_BOOL; + Result.val = steam_lobby_join_id(value64); +} + +void steam_net_callbacks_t::lobby_join_requested(GameLobbyJoinRequested_t* e) { + steam_net_event q((char*)"lobby_join_requested"); + q.set_steamid_all("lobby_id", e->m_steamIDLobby); + q.set_steamid_all("friend_id", e->m_steamIDFriend); + q.dispatch(); +} + +#pragma endregion + +#pragma region Creating lobbies + +/// Private lobby. People can only join if invited. +#define steam_lobby_type_private 0 +/// Friends-only lobby. Visible to friends. +#define steam_lobby_type_friends_only 1 +/// Public lobby. Visible to everyone. +#define steam_lobby_type_public 2 + +ELobbyType steam_lobby_type_from_int(int32 type) { + switch ((int32)type) { + case steam_lobby_type_friends_only: return k_ELobbyTypeFriendsOnly; + case steam_lobby_type_public: return k_ELobbyTypePublic; + default: return k_ELobbyTypePrivate; + } +} + +CCallResult steam_lobby_created; +void steam_net_callbacks_t::lobby_created(LobbyCreated_t* e, bool failed) { + auto lobby_id = e->m_ulSteamIDLobby; + steam_lobby_current.SetFromUint64(lobby_id); + steam_net_event r((char*)"lobby_created"); + r.set_uint64_all("lobby_id", lobby_id); + r.set_result(e->m_eResult); + r.dispatch(); +} + +/// [async] Creates a lobby. +YYEXPORT void /*double*/ steam_lobby_create(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double type, double max_members) +{ + double type = YYGetReal(arg, 0); + double max_members = YYGetReal(arg, 1); + + steam_lobby_leave_(); + if (SteamMatchmaking()) { + SteamAPICall_t call = SteamMatchmaking()->CreateLobby(steam_lobby_type_from_int((int32)type), (int)max_members); + steam_lobby_created.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::lobby_created); + Result.kind = VALUE_BOOL; + Result.val = true; + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +#pragma endregion + +#pragma region Managing lobbies + +/// [lobby owner only] Sets the data for the current lobby. +YYEXPORT void /*double*/ steam_lobby_set_data(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* key, char* value) +{ + char* key = (char*)YYGetString(arg, 0); + char* value = (char*)YYGetString(arg, 1); + + if (steam_lobby_current.IsValid() && SteamMatchmaking()) + { + Result.kind = VALUE_BOOL; + Result.val = SteamMatchmaking()->SetLobbyData(steam_lobby_current, key, value); + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +/// [anyone] Retrieves previously set data for the current lobby. +YYEXPORT void /*char**/ steam_lobby_get_data(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* key) +{ + char* key = (char*)YYGetString(arg, 0); + + if (steam_lobby_current.IsValid() && SteamMatchmaking()) + { + YYCreateString(&Result, SteamMatchmaking()->GetLobbyData(steam_lobby_current, key)); + } + else YYCreateString(&Result, ""); +} + +/// [lobby owner only] Changes the type of the current lobby. +YYEXPORT void /*double*/ steam_lobby_set_type(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double type) +{ + double type = YYGetReal(arg, 0); + + if (steam_lobby_current.IsValid() && SteamMatchmaking()) + { + Result.kind = VALUE_BOOL; + Result.val = SteamMatchmaking()->SetLobbyType(steam_lobby_current, steam_lobby_type_from_int((int32)type)); + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +#pragma endregion diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_misc.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_misc.cpp new file mode 100644 index 0000000..308bd4f --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_misc.cpp @@ -0,0 +1,121 @@ +/// steam_misc.cpp +#include "pch.h" +#include "steam_glue.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +// #pragma region int64 workarounds (http://bugs.yoyogames.com/view.php?id=21357) +// An extremely non-picky parser. Will combine up to 20 digits from +// an input string into an int64, skipping any other characters. +/* +uint64 int64_from_string(char* cstring) { + char c; + int start = -1, end = -1; + for (int pos = 0; (c = cstring[pos]) != '\0'; pos++) { + if (c >= '0' && c <= '9') { + if (start < 0) start = pos; + end = pos; + } + } + uint64 out = 0; + if (start < 0) return out; + uint64 mul = 1; + int digit = 0; + for (int pos = end; pos >= start; pos--) { + c = cstring[pos]; + if (c >= '0' && c <= '9') { + out += ((uint64)(c - '0')) * mul; + mul *= 10; + if (++digit >= 20) return out; + } + } + return out; +} +*/ + +void steam_lobby_chat_update(); +YYEXPORT void /*double*/ steam_gml_update(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + SteamAPI_RunCallbacks(); + steam_lobby_chat_update(); +} + +/// Detects if the app was run from Steam client and restarts if needed. Returns whether app should quit. +YYEXPORT void /*double*/ steam_restart_if_necessary(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_REAL; + Result.val = SteamAPI_RestartAppIfNecessary(steam_app_id); +} + +bool steam_gml_ready = false; +YYEXPORT void /*double*/ steam_gml_api_flags(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + int r = 0; + if (steam_gml_ready) r |= 1; + if (SteamUtils()) r |= 2; + if (SteamUser()) r |= 4; + if (SteamFriends()) r |= 8; + if (SteamNetworking()) r |= 16; + if (SteamMatchmaking()) r |= 32; + if (SteamController()) r |= 64; + if (SteamUGC()) r |= 128; + + + Result.kind = VALUE_REAL; + Result.val = r; +} + +//YYEXPORT void /*double*/ steam_gml_init_cpp(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double app_id) +//{ +// double app_id = YYGetReal(arg, 0); +// +// steam_app_id = (uint32) app_id; +// if (!SteamAPI.Init()) { +// DebugConsoleOutput("Steamworks.gml failed to link with Steam API."); +// { +// Result.kind = VALUE_REAL; +// Result.val = 0; +// return; +// } +// } +// steam_gml_ready = true; +// steam_local_id = SteamUser()->GetSteamID(); +// DebugConsoleOutput("Steamworks.gml initialized successfully."); +// +// Result.kind = VALUE_REAL; +// Result.val = 1; +// return; +//} + +/// Returns whether the extension has initialized successfully. +//YYEXPORT void /*double*/ steam_gml_is_ready(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// Result.val = steam_gml_ready; +//} +// +//YYEXPORT void /*double*/ steam_gml_get_version(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// Result.val = steam_net_version; +//} +// +///// Returns whether the extension was loaded at all (GML returns 0 for unloaded extension calls). +//YYEXPORT void /*double*/ steam_gml_is_available(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// Result.kind = VALUE_REAL; +// Result.val = 1; +//} +// +//void steam_controller_reset_impl(); +//YYEXPORT void /*double*/ steam_gml_init_cpp_pre(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +//{ +// DebugConsoleOutput("Steamworks.gml loaded native extension."); +// steam_controller_reset_impl(); +// steam_lobby_current.Clear(); +// +// Result.kind = VALUE_REAL; +// Result.val = 1; +//} \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_networking.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_networking.cpp new file mode 100644 index 0000000..154cf40 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_networking.cpp @@ -0,0 +1,195 @@ +/// steam_networking.cpp + +#include "pch.h" +#include "steam_glue.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +#pragma region Sessions + +bool steam_net_auto_accept_p2p_sessions = true; +/// Sets whether to auto-accept all incoming P2P session requests. +YYEXPORT void /*double*/ steam_net_set_auto_accept_p2p_sessions(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double auto_accept) +{ + bool auto_accept = YYGetBool(arg, 0); + + steam_net_auto_accept_p2p_sessions = auto_accept; + Result.kind = VALUE_BOOL; + Result.val = true; +} + +void steam_net_callbacks_t::p2p_session_request(P2PSessionRequest_t* e) +{ + CSteamID id = e->m_steamIDRemote; + uint64 uid = id.ConvertToUint64(); + // + steam_net_event x((char*)"p2p_session_request"); + x.set_steamid_all("user_id", id); + x.dispatch(); + // + if (steam_net_auto_accept_p2p_sessions) { + int n = SteamMatchmaking()->GetNumLobbyMembers(steam_lobby_current); + for (int i = 0; i < n; i++) { + if (SteamMatchmaking()->GetLobbyMemberByIndex(steam_lobby_current, i) == id) { + SteamNetworking()->AcceptP2PSessionWithUser(id); + break; + } + } + } +} + +YYEXPORT void /*double*/ steam_net_accept_p2p_session(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double user_id_high, double user_id_low) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + + CSteamID user(value64); + Result.kind = VALUE_REAL; + Result.val = SteamNetworking() && SteamNetworking()->AcceptP2PSessionWithUser(user); +} + +YYEXPORT void /*double*/ steam_net_close_p2p_session(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double user_id_high, double user_id_low) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + + CSteamID user(value64); + Result.kind = VALUE_BOOL; + Result.val = SteamNetworking() && SteamNetworking()->CloseP2PSessionWithUser(user); +} + +#pragma endregion + +#pragma region Sending + +/// Basic UDP send (<1200 bytes; may get lost) +#define steam_net_packet_type_unreliable 0 +/// Instant non-buffering UDP send (e.g. for voice data) +#define steam_net_packet_type_unreliable_nodelay 1 +/// Reliable send (up to 1MB) +#define steam_net_packet_type_reliable 2 +/// Buffering send (Nagle algorithm) +#define steam_net_packet_type_reliable_buffer 3 + +EP2PSend steam_net_packet_type = k_EP2PSendReliable; +YYEXPORT void /*double*/ steam_net_packet_set_type(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double type) +{ + double type = YYGetReal(arg, 0); + + EP2PSend t = k_EP2PSendUnreliable; + switch ((int32)type) { + case steam_net_packet_type_unreliable_nodelay: t = k_EP2PSendUnreliableNoDelay; break; + case steam_net_packet_type_reliable: t = k_EP2PSendReliable; break; + case steam_net_packet_type_reliable_buffer: t = k_EP2PSendReliableWithBuffering; break; + } + steam_net_packet_type = t; + + Result.kind = VALUE_BOOL; + Result.val = true; +} + +YYEXPORT void /*double*/ steam_net_packet_send(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(int64 user_id, char* data, double size, double type) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + double buffer_idx = (double)YYGetReal(arg, 1); + + int32 size = argc > 2 ? size = YYGetInt32(arg, 2) : -1; + + EP2PSend type = steam_net_packet_type; + if (argc > 3) + { + // Check if we can secure cast the argument + int t = YYGetInt32(arg, 3); + switch (t) + { + case (int)k_EP2PSendUnreliable: + case (int)k_EP2PSendUnreliableNoDelay: + case (int)k_EP2PSendReliable: + case (int)k_EP2PSendReliableWithBuffering: + type = (EP2PSend)t; + } + } + + unsigned char* buffer_data; + int buffer_size; + if (!BufferGetContent(buffer_idx, (void**)(&buffer_data), &buffer_size)) + { + DebugConsoleOutput("steam_net_packet_send() - error: specified buffer not found\n"); + Result.kind = VALUE_BOOL; + Result.val = false; + + return; + } + + CSteamID target(value64); + + if (size <= -1 || size > buffer_size) size = buffer_size; + + Result.kind = VALUE_BOOL; + Result.val = SteamNetworking() && SteamNetworking()->SendP2PPacket(target, buffer_data, size, type); +} + +#pragma endregion + +#pragma region Receiving + +uint32 steam_net_packet_size = 0; +void* steam_net_packet_data = nullptr; +CSteamID steam_net_packet_sender; + +/// Receives a packet, returns whether successful (retrieve data via steam_net_packet_). +YYEXPORT void /*double*/ steam_net_packet_receive(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + uint32 steam_net_packet_size_pre = 0; + if (SteamNetworking() && SteamNetworking()->IsP2PPacketAvailable(&steam_net_packet_size_pre)) { + // dealloc the current buffer if it's still around: + if (steam_net_packet_data != nullptr) { + free(steam_net_packet_data); + steam_net_packet_data = nullptr; + } + // + steam_net_packet_data = malloc(steam_net_packet_size_pre); + if (SteamNetworking()->ReadP2PPacket(steam_net_packet_data, steam_net_packet_size_pre,&steam_net_packet_size, &steam_net_packet_sender)) + { + Result.kind = VALUE_BOOL; + Result.val = true; + return; + } + } + + Result.kind = VALUE_BOOL; + Result.val = false; +} + +/// Returns the size of the last received packet (in bytes). +YYEXPORT void /*double*/ steam_net_packet_get_size(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_REAL; + Result.val = steam_net_packet_size; +} + +YYEXPORT void /*double*/ steam_net_packet_get_data(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* data) +{ + double buffer_idx = (double)YYGetReal(arg, 0); + + if (steam_net_packet_data != nullptr) + { + //memcpy(data, steam_net_packet_data, steam_net_packet_size); + BufferWriteContent(buffer_idx,0 , steam_net_packet_data, steam_net_packet_size); + Result.kind = VALUE_BOOL; + Result.val = true; + } + else + { + Result.kind = VALUE_BOOL; + Result.val = false; + } +} + +YYEXPORT void /*double*/ steam_net_packet_get_sender_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + Result.kind = VALUE_INT64; + Result.v64 = steam_net_packet_sender.ConvertToUint64(); +} + +#pragma endregion diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_remotestorage.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_remotestorage.cpp new file mode 100644 index 0000000..3c62d3b --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_remotestorage.cpp @@ -0,0 +1,535 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + + +//#include "yoyo_types.h" +//#include +//#include +//#include "Files/Graphics/Graphics_Support.h" +//#include +//#include "Files/IO/LoadSave.h" + +void OnFileShareResult(RemoteStorageFileShareResult_t *pCallback, bool bIOFailure ); + +class RemoteStorageCallbacks; +static RemoteStorageCallbacks* mpRemoteStorageCallback; +static bool mbWorkshopPublishInProgress=false; +static bool mbWorkshopPublishFailed=false; +static int mFileShareCount=0; +static const char* mpWSFilename; +static const char* mpWSPreview; +static const char* mpWSTitle; +static const char* mpWSDesc; + +class RemoteStorageCallbacks +{ +public: + + RemoteStorageCallbacks() { } + + void SetWorkshopPublishCallback ( SteamAPICall_t apicall ) + { + m_SteamCallResultWorkshopPublish.Set(apicall, this, &RemoteStorageCallbacks::OnWorkshopPublish); + } + + void OnWorkshopPublish( RemoteStoragePublishFileResult_t *pCallback, bool bIOFailure ) + { + if (( pCallback->m_eResult == k_EResultOK ) && ( bIOFailure != true )) + { + DebugConsoleOutput("workshop publish success\n"); + } + else + { + //DebugConsoleOutput("Error publishing to workshop - error code %d\n", pCallback->m_eResult); + } + mbWorkshopPublishInProgress=false; //publish complete + } + + CCallResult m_SteamCallResultWorkshopPublish; +}; + +class CFileShareResultHandler +{ +public: + CCallResult m_SteamCallResultFileShare; + + //specifically for workshop publish ( which requires files to be shared 1st ) + void SetCallResultWorkshopShare ( SteamAPICall_t apicall ) + { + m_SteamCallResultFileShare.Set(apicall,this,&CFileShareResultHandler::OnFileShareWorkshop); + } + + //regular file share callback ( just displays result status ) + void SetCallResultFileShare( SteamAPICall_t apicall ) + { + m_SteamCallResultFileShare.Set(apicall, this, &CFileShareResultHandler::OnFileShare ); + } + + void OnFileShare( RemoteStorageFileShareResult_t *pCallback, bool bIOFailure ) + { + if( bIOFailure ) + { + DebugConsoleOutput("File share failed : IO Failure\n"); + } + else if( pCallback->m_eResult != k_EResultOK) + { + //DebugConsoleOutput("File share failed with error: %d\n", pCallback->m_eResult ); + } + else + { + DebugConsoleOutput("File share success\n"); + } + } + + void OnFileShareWorkshop(RemoteStorageFileShareResult_t *pCallback, bool bIOFailure ) + { + OnFileShareResult( pCallback, bIOFailure ); + //finished with handler, free & deregister + delete this; + } +}; + +YYEXPORT void /*double*/ steam_is_cloud_enabled_for_app(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( void )/*Steam_RemoteStorage_IsCloudEnabledForApp*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = SteamRemoteStorage()->IsCloudEnabledForApp() ? 1.0 : 0.0; +} + +YYEXPORT void /*double*/ steam_is_cloud_enabled_for_account(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( void )/*Steam_RemoteStorage_IsCloudEnabledForAccount*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = SteamRemoteStorage()->IsCloudEnabledForAccount() ? 1.0 : 0.0; +} + +YYEXPORT void /*double*/ steam_file_persisted(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pFilename )/*Steam_RemoteStorage_FilePersisted*/ +{ + const char* pFilename = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = SteamRemoteStorage()->FilePersisted(pFilename) ? 1.0 : 0.0; +} + +YYEXPORT void /*double*/ steam_get_quota_total(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( void )/*Steam_RemoteStorage_GetQuotaTotal*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + /*int32 totalBytes; + int32 availableBytes;*/ + + uint64 totalBytes; + uint64 availableBytes; + + SteamRemoteStorage()->GetQuota(&totalBytes,&availableBytes); + + Result.kind = VALUE_REAL; + Result.val = (double)totalBytes; +} + +YYEXPORT void /*double*/ steam_get_quota_free(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( void )/*Steam_RemoteStorage_GetQuotaFree*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //int32 totalBytes; + //int32 availableBytes; + + uint64 totalBytes; + uint64 availableBytes; + + SteamRemoteStorage()->GetQuota(&totalBytes,&availableBytes); + + Result.kind = VALUE_REAL; + Result.val = (double)availableBytes; +} + + +double steam_file_write_internal( const char* filename, const char* pData, double size )/*Steam_RemoteStorage_FileWrite*/ +{ + + if (!steam_is_initialised) + { + return 0.0; + } + + SteamRemoteStorage()->FileForget(filename); //what is the point of this? file will be remembered again when we write it? + + if ( SteamRemoteStorage()->FileWrite(filename,pData,(int32)size) == true ) + { + SteamRemoteStorage()->SetSyncPlatforms(filename,k_ERemoteStoragePlatformAll); + return 1.0; + } + return 0.0; +} + +YYEXPORT void /*double*/ steam_file_write(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* filename, const char* pData, double size )/*Steam_RemoteStorage_FileWrite*/ +{ + const char* filename = YYGetString(arg, 0); + const char* pData = YYGetString(arg, 1); + double size = YYGetReal(arg, 2); + + Result.kind = VALUE_REAL; + Result.val = steam_file_write_internal(filename, pData, size); +} + +//write contents of local file to steam remote storage file +YYEXPORT void /*double*/ steam_file_write_file(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pszSteamFilename, const char* pszLocalFilename )/*Steam_RemoteStorage_FileWriteFile*/ +{ + const char* pszSteamFilename = YYGetString(arg, 0); + const char* pszLocalFilename = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //find local file in bundle or save data + bool bFoundFile = false; + char filename[ 1024 ]; + if (g_pYYRunnerInterface->SaveFileExists( (char*)pszLocalFilename )) + { + g_pYYRunnerInterface->SaveFileName( filename, sizeof(filename), pszLocalFilename ); + bFoundFile = true; + } + else if (g_pYYRunnerInterface->BundleFileExists( (char*)pszLocalFilename )) + { + g_pYYRunnerInterface->BundleFileName( filename, sizeof(filename), pszLocalFilename ); + bFoundFile = true; + } + + Result.kind = VALUE_REAL; + + + if( !bFoundFile ) + { + //DebugConsoleOutput("Failed to find local file %s\n", pszLocalFilename ); + Result.val = 0.0; + return; + } + + FILE* pFile = fopen(filename, "rb");// g_pYYRunnerInterface->FileOpen(filename, "rb"); + if( pFile==NULL ){ + //Error_Show_Action(STRLIT_0408, false); + DebugConsoleOutput("ERROR!!! :: Failed to open file"); + Result.val = 0.0; + return; + } + + //read the file + int fileSize=0; + fseek( pFile, 0, SEEK_END ); + fileSize = ftell( pFile ); // get file size + fseek( pFile, 0, SEEK_SET ); // set it back to where it was + + char* pBuffer = (char*)g_pYYRunnerInterface->YYAlloc(fileSize + 1);// , __FILE__, __LINE__ ); + fread(pBuffer, 1, fileSize, pFile ); + pBuffer[fileSize] = 0; + //close the file + fclose(pFile); + + double res= steam_file_write_internal/*Steam_RemoteStorage_FileWrite*/( pszSteamFilename, pBuffer, fileSize ); + + g_pYYRunnerInterface->YYFree(pBuffer); + Result.val = res; +} + + +YYEXPORT void /*const char**/ steam_file_read(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* filename )/*Steam_RemoteStorage_FileRead*/ +{ + const char* filename = YYGetString(arg,0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + if( SteamRemoteStorage()->FileExists(filename) == true ) + { + int32 size = SteamRemoteStorage()->GetFileSize(filename); + + if ( size > 0 ) + { + void* filedata = g_pYYRunnerInterface->YYAlloc(size + 1);// , __FILE__, __LINE__ ); + if ( SteamRemoteStorage()->FileRead(filename, filedata ,size) == size ) + { + char* pStringData = (char*)filedata; + pStringData[size]=0; //null terminate since returned as string + YYCreateString(&Result, (const char*)filedata); + return; + } + } + } + else { + DebugConsoleOutput("File read failed: file does not exist\n"); + } + + YYCreateString(&Result, ""); +} + +YYEXPORT void /*double*/ steam_file_delete(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pFilename )/*Steam_RemoteStorage_FileDelete*/ +{ + const char* pFilename = YYGetString(arg,0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if ( SteamRemoteStorage()->FileDelete(pFilename) == true ) + { + Result.val = 1.0; + return; + } + + Result.val = 0.0; +} + +YYEXPORT void /*double*/ steam_file_exists(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pFilename )/*Steam_RemoteStorage_FileExists*/ +{ + const char* pFilename = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if ( SteamRemoteStorage()->FileExists(pFilename) == true ) + { + Result.val = 1.0; + return; + } + + Result.val = 0.0; +} + +YYEXPORT void /*double*/ steam_file_size(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pFilename )/*Steam_RemoteStorage_FileSize*/ +{ + const char* pFilename = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = SteamRemoteStorage()->GetFileSize(pFilename); +} + + +YYEXPORT void /*double*/ steam_file_share(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pFilename )/*Steam_RemoteStorage_FileShare*/ +{ + const char* pFilename = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + + if( !SteamUser()->BLoggedOn() ) + { + DebugConsoleOutput("File share failed: must be logged on\n"); + Result.val = 0; + return; + } + + if( !SteamRemoteStorage()->FileExists(pFilename) ) + { + Result.val = 0; + //DebugConsoleOutput("File share failed: \"%s\" does not exist, must write first\n"); + return; + } + + //DebugConsoleOutput("Uploading %s to cloud...\n", pFilename); + SteamAPICall_t hSteamAPICall = SteamRemoteStorage()->FileShare(pFilename); + //atm just displaying result status in call result + CFileShareResultHandler* pHandler = new CFileShareResultHandler(); + pHandler->SetCallResultFileShare( hSteamAPICall ); + Result.val = 1.0; + return; +} + +double Steam_RemoteStorage_PublishWorkshopFile( const char* pFilename, const char* pPreviewImg, const char* pTitle, const char* pDesc ) +{ + //workshop publish requires a few steps-from steam docs - + //To share content, the file must first be written into the Cloud with FileWrite + //Normally, files are written to the cloud when your application exits, but you'll want to upload them right away to publish them. + //To do that, call SteamAPICall_t FileShare( const char *pchFile ) and then register a callback to check the result of the call, which will return a RemoteStorageFileShareResult_t struct + //Once the file has been written to the cloud, call PublishWorkshopFile + //The pchFile must be the filename that was provided in the FileWrite call. In additional to the primary file, a preview image can be provided (Remember to call FileWrite on the preview file first!) + + + //i) user must first call FileWrite on files to share; (workshop file & preview if required) + //ii)do immediate upload to cloud with FileShare(async), return + + //iii)when we get success callbacks (files uploaded to cloud), call PublishWorkshopFile + + //-do we need to return success/fail to user via async event...? + + //!need to guard against multiple publish calls before current has completed... + if( mbWorkshopPublishInProgress ) + { + DebugConsoleOutput("Workshop publish already in progress...\n"); + return 0; + } + + //i) user must first call FileWrite on files to share; (workshop file & preview if required) + if( !SteamRemoteStorage()->FileExists(pFilename) ) + { + //DebugConsoleOutput("Write file \"%s\" to remote storage first\n", pFilename ); + return 0; + } + bool bPreview = ( strlen(pPreviewImg)>0 ); + + if( bPreview && !SteamRemoteStorage()->FileExists(pPreviewImg) ) + { + //DebugConsoleOutput("Write file \"%s\" to remote storage first\n", pPreviewImg ); + return 0; + } + + //must be logged on to steam or fileshare will fail + if( !SteamUser()->BLoggedOn() ) + { + //DebugConsoleOutput("Workshop publish error - user must be logged on\n"); + return 0; + } + + + //DebugConsoleOutput("workshop publish - uploading to cloud...\n"); + SteamAPICall_t hSteamAPICall = SteamRemoteStorage()->FileShare(pFilename); + CFileShareResultHandler* pHandler = new CFileShareResultHandler(); + pHandler->SetCallResultWorkshopShare( hSteamAPICall); + mFileShareCount = 1; + + if( bPreview ) + { + hSteamAPICall = SteamRemoteStorage()->FileShare(pPreviewImg); + pHandler = new CFileShareResultHandler(); + pHandler->SetCallResultWorkshopShare( hSteamAPICall); + ++mFileShareCount; + } + mbWorkshopPublishInProgress = true; + mbWorkshopPublishFailed=false; + + //store details to publish on file share callback(s) received + if (mpWSFilename != NULL) g_pYYRunnerInterface->YYFree(mpWSFilename); + mpWSFilename = g_pYYRunnerInterface->YYStrDup( pFilename ); + + if (mpWSPreview != NULL) g_pYYRunnerInterface->YYFree(mpWSPreview); + mpWSPreview = g_pYYRunnerInterface->YYStrDup( pPreviewImg ); + + if (mpWSTitle != NULL) g_pYYRunnerInterface->YYFree(mpWSTitle); + mpWSTitle = g_pYYRunnerInterface->YYStrDup( pTitle ); + + if (mpWSDesc != NULL) g_pYYRunnerInterface->YYFree(mpWSDesc); + mpWSDesc = g_pYYRunnerInterface->YYStrDup( pDesc ); + + //SteamAPICall_t hSteamAPICall = SteamRemoteStorage()->PublishWorkshopFile(pFilename,pPreviewImg,SteamUtils()->GetAppID(),pTitle,pDesc,k_ERemoteStoragePublishedFileVisibilityPublic,NULL,k_EWorkshopFileTypeCommunity); + //gRemoteStorageCallback.SetWorkshopPublishCallback(hSteamAPICall); + return 1.0; +} + +void OnFileShareResult(RemoteStorageFileShareResult_t *pCallback, bool bIOFailure ) +{ + if( pCallback->m_eResult != k_EResultOK || bIOFailure ) + { + if(bIOFailure) + { + DebugConsoleOutput("File share failed: IO Failure\n"); + } else { + //DebugConsoleOutput("File share failed with error: %d\n", pCallback->m_eResult ); + } + mbWorkshopPublishFailed=true; //... + } + else + { + DebugConsoleOutput("File share success\n"); + } + --mFileShareCount; + if( mFileShareCount <=0 ) + { + //all file shares returned (success or fail) + if(mbWorkshopPublishFailed) + { + //we can't publish if any of the file shares failed + mbWorkshopPublishInProgress=false; + } + else + { + //file shares succeeded, proceed with publish + SteamAPICall_t hSteamAPICall = SteamRemoteStorage()->PublishWorkshopFile(mpWSFilename,mpWSPreview,SteamUtils()->GetAppID(),mpWSTitle,mpWSDesc,k_ERemoteStoragePublishedFileVisibilityPublic,NULL,k_EWorkshopFileTypeCommunity); + mpRemoteStorageCallback->SetWorkshopPublishCallback(hSteamAPICall); + } + } +} + +void Steam_RemoteStorage_Init() +{ + mpRemoteStorageCallback = new RemoteStorageCallbacks(); + mbWorkshopPublishInProgress = false; +} + +void Steam_RemoteStorage_Shutdown() +{ + delete mpRemoteStorageCallback; + mpRemoteStorageCallback = NULL; + + if( mpWSFilename != NULL ) g_pYYRunnerInterface->YYFree( mpWSFilename); + if( mpWSPreview != NULL ) g_pYYRunnerInterface->YYFree(mpWSPreview); + if( mpWSTitle != NULL ) g_pYYRunnerInterface->YYFree(mpWSTitle); + if( mpWSDesc != NULL ) g_pYYRunnerInterface->YYFree(mpWSDesc); + + mpWSFilename = NULL; + mpWSPreview = NULL; + mpWSTitle = NULL; + mpWSDesc = NULL; +} + diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_screenshots.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_screenshots.cpp new file mode 100644 index 0000000..08ee5ff --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_screenshots.cpp @@ -0,0 +1,109 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + + +//#include "Files/IO/LoadSave.h" + +class ScreenshotCallbacks +{ +public: + + ScreenshotCallbacks() : m_CallbackScreenshotRequest(this,&ScreenshotCallbacks::OnScreenshotRequest),m_bScreenShotRequested(false){} + + + void OnScreenshotRequest( ScreenshotRequested_t *pCallback ) + { + m_bScreenShotRequested = true; // set flag, to be poled by game + } + + + CCallback m_CallbackScreenshotRequest; + + bool m_bScreenShotRequested; +}; + + +//...have a bad feeling about this...constructor registers callback before steam api initialised? +static ScreenshotCallbacks* m_pScreenshotCallback; + +void Steam_Screenshots_Init() +{ + m_pScreenshotCallback = new ScreenshotCallbacks(); + // tell steam we're handling screenshots, not the steam overlay (which we're not using) + SteamScreenshots()->HookScreenshots( true ); +} + +void Steam_Screenshots_Shutdown( void ) +{ + delete m_pScreenshotCallback; + m_pScreenshotCallback = NULL; +} + + +/// \brief Should be polled by game every frame. Has player pressed +/// Steam's 'screenshot key'? +YYEXPORT void /*double*/ steam_is_screenshot_requested(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( void )/*Steam_Screenshots_IsScreenshotRequested*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + + if( m_pScreenshotCallback->m_bScreenShotRequested ) + { + m_pScreenshotCallback->m_bScreenShotRequested = false; // reset flag + Result.val = 1; + return; + } + Result.val = 0; +} + + +/// \brief Let steam know the path / dimensions of screenshot to be added to steam screenshot library +YYEXPORT void /*double*/ steam_send_screenshot(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pFilePathName, double width, double height )/*Steam_Screenshots_SendScreenshotToSteam*/ +{ + const char* pFilePathName = YYGetString(arg, 0); + double width = YYGetReal(arg,1); + double height = YYGetReal(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //i guess we should expand the path to look in save data/bundle? + bool bFoundFile = false; + char filename[ 1024 ]; + if (g_pYYRunnerInterface->SaveFileExists( (char*)pFilePathName )) + { + g_pYYRunnerInterface->SaveFileName( filename, sizeof(filename), pFilePathName ); + bFoundFile = true; + } + else if (g_pYYRunnerInterface->BundleFileExists( (char*)pFilePathName )) + { + g_pYYRunnerInterface->BundleFileName( filename, sizeof(filename), pFilePathName ); + bFoundFile = true; + } + + Result.kind = VALUE_REAL; + + if( bFoundFile ) + { + ScreenshotHandle handle = SteamScreenshots()->AddScreenshotToLibrary( filename, 0, (int)width, (int)height ); + Result.val = handle; // > 0 == success + return; + } + //DebugConsoleOutput("steam_send_screenshot: failed to find file %s\n", pFilePathName ); + Result.val = -1; +} + diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_ugc.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_ugc.cpp new file mode 100644 index 0000000..ffa3a11 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_ugc.cpp @@ -0,0 +1,1566 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +#include +#include +#include + + +//#include "Files/Function/Function_Data_Structures.h" +//#include "Files/Support/Support_Data_Structures.h" +//#include "Files/IO/LoadSave.h" +//#include + +//------- steam ugc callbacks ------------------------- +//callback handlers for item subscription, unsubscription, installation +void OnUgcFileSubscribed(RemoteStoragePublishedFileSubscribed_t* pCallback ); +void OnUgcFileUnsubscribed(RemoteStoragePublishedFileUnsubscribed_t* pCallback ); +void OnUgcItemInstalled(ItemInstalled_t* pCallback ); +void AddWorkshopItemToWhitelist( PublishedFileId_t _pubFileId ); + +class CUGCCallbacks +{ +public: + + CCallback m_CallbackFileSubscribed; + CCallback m_CallbackFileUnsubscribed; + CCallback m_CallbackItemInstalled; + + CUGCCallbacks(): + m_CallbackFileSubscribed(this,&CUGCCallbacks::OnFileSubscribed), + m_CallbackFileUnsubscribed(this,&CUGCCallbacks::OnFileUnsubscribed), + m_CallbackItemInstalled(this,&CUGCCallbacks::OnItemInstalled) + { + } + + void OnFileSubscribed( RemoteStoragePublishedFileSubscribed_t* pCallback ) + { + //the handler will be called for all item subscriptions regardless of the running application + if( pCallback->m_nAppID == SteamUtils()->GetAppID() ) + { + OnUgcFileSubscribed( pCallback ); + } + } + + void OnFileUnsubscribed( RemoteStoragePublishedFileUnsubscribed_t* pCallback ) + { + //the handler will be called for all item subscriptions regardless of the running application + if( pCallback->m_nAppID == SteamUtils()->GetAppID() ) + { + OnUgcFileUnsubscribed( pCallback ); + } + } + + void OnItemInstalled( ItemInstalled_t* pCallback ) + { + //the handler will be called for all item installations regardless of the running application + if( pCallback->m_unAppID == SteamUtils()->GetAppID() ) + { + OnUgcItemInstalled( pCallback ); + } + } +}; + +static CUGCCallbacks* s_pUgcCallbacks = NULL; +void Steam_UGC_Init() +{ + + //register for ugc callbacks + s_pUgcCallbacks = new CUGCCallbacks(); + + //get a list of all currently installed items for this appId, and add directory path for each to whitelist + //...perhaps we could just add the parent directory, which is possibly the same for all workshop items for this app? + + if ( SteamUser()->BLoggedOn() ) + { + DebugConsoleOutput("SteamUser()->BLoggedOn()"); + //extern uint64 Steam_User_GetSteamID(); + //int64 m_SteamIDLocalUser = Steam_User_GetSteamID(); + //DebugConsoleOutput("Logged in steam user id %ld\n",m_SteamIDLocalUser); + } + + + if(SteamUGC()==NULL) + { + DebugConsoleOutput("SteamUGC is NULL, stopping init\n" ); + return; + } + + + + uint32 numSub = SteamUGC()->GetNumSubscribedItems(); + //DebugConsoleOutput("Found %d subscribed items\n", numSub ); + if( numSub > 0 ) + { + + PublishedFileId_t* aPubFileIds = (PublishedFileId_t*)alloca( sizeof(PublishedFileId_t) * numSub ); + uint32 listSize = SteamUGC()->GetSubscribedItems( aPubFileIds, numSub ); //->all subscribed item PublishFileIDs + + for( uint32 i=0; i < listSize; ++i ) + { + PublishedFileId_t pubFileId = aPubFileIds[ i ]; + AddWorkshopItemToWhitelist( pubFileId ); + } + } +} + +void Steam_UGC_Shutdown() +{ + delete s_pUgcCallbacks; + s_pUgcCallbacks = NULL; +} + +void OnUgcFileSubscribed(RemoteStoragePublishedFileSubscribed_t* pCallback ) +{ + //User subscribed to a file for the app (from within the app or on the web) + //DebugConsoleOutput("Steam UGC - an item was subscribed (%ld)\n", pCallback->m_nPublishedFileId ); + //send async event + int dsMapIndex = CreateDsMap( 1, + "event_type", (double)0.0, "ugc_item_subscribed" ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pCallback->m_nPublishedFileId ); + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +void OnUgcFileUnsubscribed(RemoteStoragePublishedFileUnsubscribed_t* pCallback ) +{ + //User unsubscribed from a file for the app (from within the app or on the web) + //DebugConsoleOutput("Steam UGC - an item was unsubscribed (%ld)\n", pCallback->m_nPublishedFileId ); + //send async event + int dsMapIndex = CreateDsMap( 1, + "event_type", (double)0.0, "ugc_item_unsubscribed" ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pCallback->m_nPublishedFileId ); + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +void OnUgcItemInstalled(ItemInstalled_t* pCallback ) +{ + //a new Workshop item has been installed + //DebugConsoleOutput("SteamUGC - an item was installed (%x)\n", pCallback->m_nPublishedFileId ); + AddWorkshopItemToWhitelist( pCallback->m_nPublishedFileId ); + + //will definitely want an async event for this chappy, i reckon + int dsMapIndex = CreateDsMap( 1, + "event_type", (double) 0.0, "ugc_item_installed"); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pCallback->m_nPublishedFileId ); + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + + +//const char* ExtractFilePath(const char* fn, bool preserve_last_slash) +//{ +// //const char* pLastSlash = utf8_strrchr(fn, '\\', '/'); +// std::string s = g_pYYRunnerInterface->YYStrDup(fn); +// std::replace(s.begin(), s.end(), '\\', '/'); +// const char* pLastSlash = s.c_str(); +// +// char* ret = NULL; +// if (pLastSlash != NULL) { +// int len = pLastSlash - fn; +// if (preserve_last_slash) +// len++; +// if (len > 0) { +// ret = (char*)g_pYYRunnerInterface->YYAlloc(len + 1); +// strncpy(ret, fn, len); +// ret[len] = '\0'; +// } // end if +// } // end if +// +// if (ret == NULL) { +// ret = (char*)g_pYYRunnerInterface->YYStrDup(""); +// } // end else +// +// return ret; +//} // end ExtractFilePath + +const char* ExtractFilePath(const char* fn) +{ + //const char* pLastSlash = utf8_strrchr(fn, '\\', '/'); + std::string s = g_pYYRunnerInterface->YYStrDup(fn); + std::filesystem::path filepath{ s }; + std::string path = filepath.parent_path().string(); + return g_pYYRunnerInterface->YYStrDup(path.c_str()); + +} // end ExtractFilePat + + +//Check if folder has been added to whitelist, add if required +//-itemState is result of SteamUGC()->GetItemState +void AddFolderToWhitelistIfRequired( const char* pszFolder, uint32 itemState ) +{ + //if k_EItemStateLegacyItem is set, pchFolder contains the path to the legacy file itself (not a folder) + const char* pszFolderName = pszFolder; + bool bLegacyItem = (itemState & k_EItemStateLegacyItem) != 0; + if( bLegacyItem ) + { + pszFolderName = ExtractFilePath(pszFolder/*,false*/); + } + + //add path to load whitelist, if not already there + if( !g_pYYRunnerInterface->WhitelistIsDirectoryIn( pszFolderName ) ) + { + //DebugConsoleOutput("Adding Workshop Item to whitelist: %s\n", pszFolderName ); + g_pYYRunnerInterface->WhiteListAddTo( pszFolderName, true ); + } +} + + +void AddWorkshopItemToWhitelist( PublishedFileId_t _pubFileId ) +{ + uint64 sizeOnDisk = 0; + char pszFolder[1024]; + //bool bLegacyItem = false; + uint32 timeStamp; + uint32 itemState = SteamUGC()->GetItemState(_pubFileId ); + bool bResult = SteamUGC()->GetItemInstallInfo( _pubFileId, &sizeOnDisk, pszFolder, 1024, &timeStamp ); + if( bResult ) + { + //the workshop item is installed + AddFolderToWhitelistIfRequired( pszFolder, itemState ); +#if 0 + //TESTING - check files are accessable- + void F_DirectoryExists(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg); + RValue res; + RValue args[1]; + args[0].kind = VALUE_STRING; + args[0].str = (char*)pszFolderName; + F_DirectoryExists( res, NULL, NULL, 1, args ); + DebugConsoleOutput("Dir_exists(%s) = result=%d\n", pszFolderName, (int)res.val ); +#endif + } +} + +//---- Steam UGC call result handlers------------------------ +void OnUgcDownloadResult( RemoteStorageDownloadUGCResult_t* pCallback, bool bIOFailure, int _asyncId, const char* _pszDestFile ); +void OnUgcCreateItemResult( CreateItemResult_t* pCallback, bool bIOFailure, int _asyncId ); +void OnUgcSubmitItemUpdateResult( SubmitItemUpdateResult_t* pCallback, bool bIOFailure, int _asyncId ); +void OnUgcSubscribeItemResult( RemoteStorageSubscribePublishedFileResult_t* pCallback, bool bIOFailure, int asyncId ); +void OnUgcUnsubscribeItemResult( RemoteStorageUnsubscribePublishedFileResult_t* pCallback, bool bIOFailure, int asyncId ); +void OnUgcRequestDetailsResult(SteamUGCRequestUGCDetailsResult_t* pCallback, bool bIOFailure, int asyncId); +void OnUgcRequestDeleteResult(DeleteItemResult_t* pCallback, bool bIOFailure, int asyncId); +void OnUgcQueryResult( SteamUGCQueryCompleted_t* pCallback, bool bIOFailure, int _asyncId ); +void AddUGCDetailsToMap( SteamUGCDetails_t* pDetails, int dsMapIndex ); + +//CallResult handler for UGCDownload / RemoteStorageDownloadUGCResult_t +class CUGCDownloadResultHandler +{ +public: + CCallResult m_SteamCallResultUGCDownload; + int m_asyncId; + char m_szDestFile[1024]; + + CUGCDownloadResultHandler( int _asyncId, const char* _pszDestFile ) + : m_asyncId( _asyncId ) + { + snprintf(m_szDestFile, 1024, "%s", _pszDestFile); + m_szDestFile[1023]=0; + } + + void SetCallResult( SteamAPICall_t apicall ) + { + m_SteamCallResultUGCDownload.Set( apicall, this, &CUGCDownloadResultHandler::OnDownloadResult ); + } + + void OnDownloadResult( RemoteStorageDownloadUGCResult_t* pCallback, bool bIOFailure ) + { + OnUgcDownloadResult( pCallback, bIOFailure, m_asyncId, m_szDestFile ); + delete this; //delete the handler (unregisters) + } +}; + +void OnUgcDownloadResult( RemoteStorageDownloadUGCResult_t* pCallback, bool bIOFailure, int _asyncId, const char* _pszDestFile ) +{ + /*EResult m_eResult; // The result of the operation. + UGCHandle_t m_hFile; // The handle to the file that was attempted to be downloaded. + AppId_t m_nAppID; // ID of the app that created this file. + int32 m_nSizeInBytes; // The size of the file that was downloaded, in bytes. + char m_pchFileName[k_cchFilenameMax]; // The name of the file that was downloaded. + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content.*/ + + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + + //pCallback->m_nSizeInBytes - seems to be always 0 regardless of actual filesize, which is not a lot of help... + int dsMapIndex = CreateDsMap( 5, + "id", (double)_asyncId, NULL, + "event_type", (double) 0.0, "ugc_download", + "result", (double)result, NULL, + "original_filename", (double)0.0, pCallback->m_pchFileName, + "dest_filename", (double)0.0, _pszDestFile + ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "ugc_handle", pCallback->m_hFile ); + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + + +//CallResult handler for CreateItemResult_t --------------------------- +class CCreateItemResultHandler +{ +public: + CCallResult m_SteamCallResultCreateItem; + int m_asyncId; + + CCreateItemResultHandler( int _asyncId ) + : m_asyncId( _asyncId ) + { + } + + void SetCallResult( SteamAPICall_t apicall ) + { + m_SteamCallResultCreateItem.Set(apicall, this, &CCreateItemResultHandler::OnCreateItem); + } + + void OnCreateItem( CreateItemResult_t* pCallback, bool bIOFailure ) + { + OnUgcCreateItemResult( pCallback, bIOFailure, m_asyncId ); + delete this; //delete the handler (unregisters) + } +}; + +void OnUgcCreateItemResult( CreateItemResult_t* pCallback, bool bIOFailure, int _asyncId ) +{ + /*struct CreateItemResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 3 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; // new item got this UGC PublishFileID + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +};*/ + + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + int dsMapIndex = CreateDsMap( 4, + "id", (double)_asyncId, NULL, + "event_type", (double) 0.0, "ugc_create_item", + "result", (double)result, NULL, + //"published_file_id", (double)pCallback->m_nPublishedFileId, NULL, + "legal_agreement_required", (double)pCallback->m_bUserNeedsToAcceptWorkshopLegalAgreement, NULL + ); + + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pCallback->m_nPublishedFileId ); + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +// call result handler for SubmitItemUpdateResult_t ----------------- +class CSubmitItemUpdateResultHandler +{ +public: + int m_asyncId; + CCallResult m_SteamCallResultSubmitItem; + + CSubmitItemUpdateResultHandler( int _asyncId ) + : m_asyncId( _asyncId ) + { + } + + void SetCallResult( SteamAPICall_t apicall ) + { + m_SteamCallResultSubmitItem.Set(apicall, this, &CSubmitItemUpdateResultHandler::OnSubmitItem); + } + + void OnSubmitItem( SubmitItemUpdateResult_t* pCallback, bool bIOFailure ) + { + OnUgcSubmitItemUpdateResult( pCallback, bIOFailure, m_asyncId ); + delete this; //delete the handler (unregisters) + } +}; + +void OnUgcSubmitItemUpdateResult( SubmitItemUpdateResult_t* pCallback, bool bIOFailure, int _asyncId ) +{ + /*struct SubmitItemUpdateResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 4 }; + EResult m_eResult; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +};*/ + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + + int dsMapIndex = CreateDsMap( 4, + "id", (double)_asyncId, NULL, + "event_type", (double) 0.0, "ugc_update_item", + "result", (double)result, NULL, + "legal_agreement_required", (double)pCallback->m_bUserNeedsToAcceptWorkshopLegalAgreement, NULL + ); + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +//----- call result handler for RemoteStorageSubscribePublishedFileResult_t +class CSubscribeItemResultHandler +{ +public: + int m_asyncId; + CCallResult m_SteamCallResultSubscribeItem; + + CSubscribeItemResultHandler( int _asyncId ) + : m_asyncId( _asyncId ) {} + + void SetCallResult( SteamAPICall_t apicall ) + { + m_SteamCallResultSubscribeItem.Set(apicall, this, &CSubscribeItemResultHandler::OnSubscribeItem); + } + + void OnSubscribeItem( RemoteStorageSubscribePublishedFileResult_t* pCallback, bool bIOFailure ) + { + OnUgcSubscribeItemResult( pCallback, bIOFailure, m_asyncId ); + delete this; //delete the handler (unregisters) + } +}; + +void OnUgcSubscribeItemResult( RemoteStorageSubscribePublishedFileResult_t* pCallback, bool bIOFailure, int asyncId ) +{ + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + + int dsMapIndex = CreateDsMap( 3, + "id", (double)asyncId, NULL, + "event_type", (double) 0.0, "ugc_subscribe_item", + "result", (double)result, NULL + //"published_filed_id", (double)pCallback->m_nPublishedFileId, NULL + ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pCallback->m_nPublishedFileId ); + + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +//----- call result handler for RemoteStorageUnsubscribePublishedFileResult_t +class CUnsubscribeItemResultHandler +{ +public: + int m_asyncId; + CCallResult m_SteamCallResultUnsubscribeItem; + + CUnsubscribeItemResultHandler( int _asyncId ) + : m_asyncId( _asyncId ) {} + + void SetCallResult( SteamAPICall_t apicall ) + { + m_SteamCallResultUnsubscribeItem.Set(apicall, this, &CUnsubscribeItemResultHandler::OnUnsubscribeItem); + } + + void OnUnsubscribeItem( RemoteStorageUnsubscribePublishedFileResult_t* pCallback, bool bIOFailure ) + { + OnUgcUnsubscribeItemResult( pCallback, bIOFailure, m_asyncId ); + delete this; //delete the handler (unregisters) + } +}; + +void OnUgcUnsubscribeItemResult( RemoteStorageUnsubscribePublishedFileResult_t* pCallback, bool bIOFailure, int asyncId ) +{ + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + + int dsMapIndex = CreateDsMap( 3, + "id", (double)asyncId, NULL, + "event_type", (double) 0.0, "ugc_unsubscribe_item", + "result", (double)result, NULL + //"published_filed_id", (double)pCallback->m_nPublishedFileId, NULL + ); + + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pCallback->m_nPublishedFileId ); + + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +// ---------- call result handler for RequestUGCDetails / SteamUGCRequestUGCDetailsResult_t ----------- +class CRequestUGCDetailsResultHandler +{ +public: + int m_asyncId; + CCallResult m_SteamCallResultRequestUGCDetails; + + CRequestUGCDetailsResultHandler(int _asyncId) + : m_asyncId(_asyncId) {} + + void SetCallResult(SteamAPICall_t apicall) + { + m_SteamCallResultRequestUGCDetails.Set(apicall, this, &CRequestUGCDetailsResultHandler::OnRequestDetails); + } + + void OnRequestDetails(SteamUGCRequestUGCDetailsResult_t* pCallback, bool bIOFailure) + { + OnUgcRequestDetailsResult(pCallback, bIOFailure, m_asyncId); + delete this; //delete the handler (unregisters) + } +}; + + + +void OnUgcRequestDetailsResult(SteamUGCRequestUGCDetailsResult_t* pCallback, bool bIOFailure, int asyncId) +{ + SteamUGCDetails_t* pDetails = &pCallback->m_details; + int result = (bIOFailure) ? 0 : pDetails->m_eResult; + int cached = (pCallback->m_bCachedData) ? 1 : 0; + int dsMapIndex = CreateDsMap(4, + "id", (double)asyncId, NULL, + "event_type", (double)0.0, "ugc_item_details", + "result", (double)result, NULL, + "cached_data", (double)cached, NULL); + + if (result == k_EResultOK) + { + AddUGCDetailsToMap(pDetails, dsMapIndex); + } + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + + +//////////////////////////////////////////////////////////////////// +class CRequestUGCDeleteResultHandler +{ +public: + int m_asyncId; + CCallResult m_SteamCallResultRequestUGCDelete; + + CRequestUGCDeleteResultHandler(int _asyncId) + : m_asyncId(_asyncId) {} + + void SetCallResult(SteamAPICall_t apicall) + { + m_SteamCallResultRequestUGCDelete.Set(apicall, this, &CRequestUGCDeleteResultHandler::OnRequestDelete); + } + + void OnRequestDelete(DeleteItemResult_t* pCallback, bool bIOFailure) + { + OnUgcRequestDeleteResult(pCallback, bIOFailure, m_asyncId); + delete this; //delete the handler (unregisters) + } +}; + + +void OnUgcRequestDeleteResult(DeleteItemResult_t* pCallback, bool bIOFailure, int asyncId) +{ + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + PublishedFileId_t publishField = pCallback->m_nPublishedFileId; + + int dsMapIndex = CreateDsMap(3, + "id", (double)asyncId, NULL, + "event_type", (double)0.0, "ugc_item_delete", + "result", (double)result, NULL);// , + //"cached_data", (double)publishField, NULL); + + g_pYYRunnerInterface->DsMapAddInt64(dsMapIndex, "pubFileId", publishField); + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +/////////////////////////////////////// + + +//fill map with SteamUGCDetails_t* data...ugh +void AddUGCDetailsToMap( SteamUGCDetails_t* pDetails, int dsMapIndex ) +{ + // Details for a single published file/UGC + /*struct SteamUGCDetails_t + { + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; // The result of the operation. + EWorkshopFileType m_eFileType; // Type of the file + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + uint32 m_rtimeAddedToUserList; // time when the user added the published file to their list (not always applicable) + ERemoteStoragePublishedFileVisibility m_eVisibility; // visibility + bool m_bBanned; // whether the file was banned + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + // file/url information + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + char m_pchFileName[k_cchFilenameMax]; // The cloud filename of the primary file + int32 m_nFileSize; // Size of the primary file + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + // voting information + uint32 m_unVotesUp; // number of votes up + uint32 m_unVotesDown; // number of votes down + float m_flScore; // calculated score + uint32 m_unNumChildren; // if m_eFileType == k_EWorkshopFileTypeCollection, then this number will be the number of children contained within the collection + };*/ + + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "published_file_id", pDetails->m_nPublishedFileId ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "result", (double)pDetails->m_eResult ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "file_type", pDetails->m_eFileType ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "creator_app_id", pDetails->m_nCreatorAppID ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "consumer_app_id", pDetails->m_nConsumerAppID ); + g_pYYRunnerInterface->DsMapAddString( dsMapIndex, "title", pDetails->m_rgchTitle ); + g_pYYRunnerInterface->DsMapAddString( dsMapIndex, "description", pDetails->m_rgchDescription ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "steam_id_owner", pDetails->m_ulSteamIDOwner ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "time_created", pDetails->m_rtimeCreated ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "time_updated", pDetails->m_rtimeUpdated ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "time_added_to_user_list", pDetails->m_rtimeAddedToUserList ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "visibility", pDetails->m_eVisibility ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "banned", (pDetails->m_bBanned)? 1:0 ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "accepted_for_use", (pDetails->m_bAcceptedForUse)? 1:0 ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "tags_truncated", (pDetails->m_bTagsTruncated)? 1:0); + + RValue tags = { 0 }; + YYCreateArray(&tags, 0); + _SW_SetArrayOfString(&tags, pDetails->m_rgchTags, ","); + g_pYYRunnerInterface->DsMapAddRValue(dsMapIndex, "tags", &tags); + + //g_pYYRunnerInterface->DsMapAddString( dsMapIndex, "tags", pDetails->m_rgchTags ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "handle_file", pDetails->m_hFile ); + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "handle_preview_file", pDetails->m_hPreviewFile ); + printf("pDetails->m_hPreviewFile: %llu\n", pDetails->m_hPreviewFile); + g_pYYRunnerInterface->DsMapAddString( dsMapIndex, "filename", pDetails->m_pchFileName ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "file_size", pDetails->m_nFileSize ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "preview_file_size", pDetails->m_nPreviewFileSize ); + g_pYYRunnerInterface->DsMapAddString( dsMapIndex, "url", pDetails->m_rgchURL ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "votes_up", pDetails->m_unVotesUp ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "votes_down", pDetails->m_unVotesDown ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "score", pDetails->m_flScore ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "num_children", pDetails->m_unNumChildren ); + + //additional, add owner account id - for eg user queries + //SteamUser->GetSteamID().GetAccountID() + CSteamID steamID = CSteamID( pDetails->m_ulSteamIDOwner ); + AccountID_t accountID = steamID.GetAccountID(); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "account_id_owner", accountID ); + +} + +//----- call result handler for SendQueryUGCRequest / SteamUGCQueryCompleted_t +class CQueryUGCResultHandler +{ +public: + int m_asyncId; + CCallResult m_SteamCallResultUGCQuery; + + CQueryUGCResultHandler( int _asyncId ) + : m_asyncId( _asyncId ) {} + + void SetCallResult( SteamAPICall_t apicall ) + { + m_SteamCallResultUGCQuery.Set(apicall, this, &CQueryUGCResultHandler::OnQueryResult); + } + + void OnQueryResult( SteamUGCQueryCompleted_t* pCallback, bool bIOFailure ) + { + OnUgcQueryResult( pCallback, bIOFailure, m_asyncId ); + delete this; //delete the handler (unregisters) + } +}; + +void OnUgcQueryResult( SteamUGCQueryCompleted_t* pCallback, bool bIOFailure, int _asyncId ) +{ + /*struct SteamUGCQueryCompleted_t + { + enum { k_iCallback = k_iClientUGCCallbacks + 1 }; + UGCQueryHandle_t m_handle; + EResult m_eResult; + uint32 m_unNumResultsReturned; + uint32 m_unTotalMatchingResults; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache + };*/ + + int result = (bIOFailure) ? 0 : pCallback->m_eResult; + + int dsMapIndex = CreateDsMap( 5, + "id", (double)_asyncId, NULL, + "event_type", (double) 0.0, "ugc_query", + "result", (double)result, NULL, + "num_results", (double)pCallback->m_unNumResultsReturned, NULL, + "total_matching", (double)pCallback->m_unTotalMatchingResults, NULL + ); + + g_pYYRunnerInterface->DsMapAddInt64( dsMapIndex, "ugc_query_handle", pCallback->m_handle ); + g_pYYRunnerInterface->DsMapAddDouble( dsMapIndex, "cached_data", (pCallback->m_bCachedData)? 1:0 ); + + if( result == k_EResultOK && pCallback->m_unNumResultsReturned > 0 ) + { + //add list of dsMap for each result... + int dsResultList = g_pYYRunnerInterface->DsListCreate(); + g_pYYRunnerInterface->DsMapAddList( dsMapIndex, "results_list", dsResultList ); + for( uint32 i=0; i < pCallback->m_unNumResultsReturned; ++i ) + { + SteamUGCDetails_t ugcDetails; + bool bOK = SteamUGC()->GetQueryUGCResult( pCallback->m_handle, i, &ugcDetails ); + if( bOK ) + { + //create a map for this item and populate it + int dsDetailsMap = CreateDsMap(0,0); + AddUGCDetailsToMap( &ugcDetails, dsDetailsMap ); + //add to results list + g_pYYRunnerInterface->DsListAddMap( dsResultList, dsDetailsMap ); + } + } + } + //call bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) to free up any memory allocated while querying or retrieving the results. + SteamUGC()->ReleaseQueryUGCRequest( pCallback->m_handle ); + + //return async event + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); +} + +/////////////////////////////////////// + +//---------------- gml interface ------------------------------------------------------------------------------------- +//steam_ugc_download( ugc_handle, dest_filename ) +YYEXPORT void /*double*/ steam_ugc_download(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcHandle, const char* pszDestFilename )/*Steam_Ugc_Download*/ +{ + uint64 _ugcHandle = (uint64)YYGetInt64(arg, 0); + const char* pszDestFilename = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + int async_id= getAsyncRequestInd(); + char szDestFolder[2048]; + snprintf( szDestFolder, 2048, "%s%s", g_pYYRunnerInterface->FilePrePend(),pszDestFilename ); + + CUGCDownloadResultHandler* pResultHandler = new CUGCDownloadResultHandler( async_id, pszDestFilename ); + //undocumented fn...is pchLocation a filename or directory? it's a path + filename + printf("IN steam_ugc_download: %llu\n", _ugcHandle); + //printf("Destination: "); printf(szDestFolder); printf("\n"); + SteamAPICall_t hSteamAPICall = SteamRemoteStorage()->UGCDownloadToLocation( (UGCHandle_t)_ugcHandle, szDestFolder, 0 ); + pResultHandler->SetCallResult( hSteamAPICall ); + + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +//------------ ugc create, edit content ------------------------------------------- +//steam_ugc_create_item( consumer_app_id, file_type ) +//returns async event id... +YYEXPORT void /*int*/ steam_ugc_create_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint32 _consumerAppId, uint32 _fileType )/*Steam_Ugc_CreateItem*/ +{ + uint32 _consumerAppId = YYGetUint32(arg, 0); + uint32 _fileType = YYGetUint32(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + int async_id= getAsyncRequestInd(); + + //create a call result handler instance + CCreateItemResultHandler* pResultHandler = new CCreateItemResultHandler( async_id ); + SteamAPICall_t hSteamAPICall = SteamUGC()->CreateItem( (AppId_t)_consumerAppId, (EWorkshopFileType)_fileType); + pResultHandler->SetCallResult( hSteamAPICall ); + + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +//steam_ugc_start_item_update( consumer_app_id, published_file_id ) +//returns UGCUpdateHandle_t +YYEXPORT void /*uint64*/ steam_ugc_start_item_update(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint32 _consumerAppId, uint64 _publishedFileId )/*Steam_Ugc_StartItemUpdate*/ +{ + uint32 _consumerAppId = YYGetUint32(arg, 0); + uint64 _publishedFileId = (uint64) YYGetInt64(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + UGCUpdateHandle_t handle = SteamUGC()->StartItemUpdate( (AppId_t)_consumerAppId, (PublishedFileId_t)_publishedFileId); + Result.kind = VALUE_INT64; + Result.v64 = handle; +} + +//steam_ugc_submit_item_update( ugc_update_handle, change_note ) +//return async event id +YYEXPORT void /*double*/ steam_ugc_submit_item_update(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(uint64 _ugcUpdateHandle, const char* _pszChangeNote)/*Steam_Ugc_SubmitItemUpdate*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + const char* _pszChangeNote = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + int async_id = getAsyncRequestInd(); + + //create a call result handler instance + CSubmitItemUpdateResultHandler* pResultHandler = new CSubmitItemUpdateResultHandler(async_id); + SteamAPICall_t hSteamAPICall = SteamUGC()->SubmitItemUpdate((UGCUpdateHandle_t)_ugcUpdateHandle, _pszChangeNote); + pResultHandler->SetCallResult(hSteamAPICall); + + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +//steam_ugc_set_item_title( ugc_update_handle, title) +YYEXPORT void /*double*/ steam_ugc_set_item_title(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, const char* pszTitle )/*Steam_Ugc_SetItemTitle*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + const char* pszTitle = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetItemTitle( (UGCUpdateHandle_t)_ugcUpdateHandle, pszTitle ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1 : 0; +} + +//steam_ugc_set_item_description( ugc_update_handle, description ) +YYEXPORT void /*double*/ steam_ugc_set_item_description(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, const char* pszDesc )/*Steam_Ugc_SetItemDesc*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + const char* pszDesc = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetItemDescription((UGCUpdateHandle_t)_ugcUpdateHandle, pszDesc ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1 : 0; +} + +//steam_ugc_set_item_visibility(ugc_update_handle, visibility ) +YYEXPORT void /*double*/ steam_ugc_set_item_visibility(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, uint32 _visibility )/*Steam_Ugc_SetItemVis*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + uint32 _visibility = YYGetUint32(arg, 1); + + bool bResult = SteamUGC()->SetItemVisibility( (UGCUpdateHandle_t)_ugcUpdateHandle, (ERemoteStoragePublishedFileVisibility)_visibility ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1 : 0; +} + +//steam_ugc_set_item_tags( ugc_update_handle, tag_array ) +YYEXPORT void /*double*/ steam_ugc_set_item_tags(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, vector _ppTags)/*Steam_Ugc_SetItemTags*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + + std::vector tags = _SW_GetArrayOfStrings(arg, 1, "steam_ugc_set_item_tags"); + + SteamParamStringArray_t params; + params.m_nNumStrings = (int) tags.size(); + params.m_ppStrings = tags.data(); + + bool bResult = SteamUGC()->SetItemTags((UGCUpdateHandle_t)_ugcUpdateHandle, ¶ms); + if (!bResult) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = 1; +} + +//steam_ugc_set_item_content( ugc_update_handle, directory ) +YYEXPORT void /*double*/ steam_ugc_set_item_content(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, const char* _pszContentFolder )/*Steam_Ugc_SetItemContent*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + const char* _pszContentFolder = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //-check for folder in save or bundle area- + bool bResult = false; + bool bFoundDir =false; + char fname[ 1024 ]; + + g_pYYRunnerInterface->SaveFileName( &fname[0], sizeof(fname), _pszContentFolder ); + if (g_pYYRunnerInterface->DirExists(fname)) + { + bFoundDir = true; + } + else + { + g_pYYRunnerInterface->BundleFileName( &fname[0], sizeof(fname), _pszContentFolder ); + if(g_pYYRunnerInterface->DirExists(fname)) + { + bFoundDir = true; + } + } + + if( bFoundDir ) + { + //DebugConsoleOutput("Found content directory: %s\n", fname ); + //pszContentFolder is the absolute path to a local folder containing one or more files that represents the workshop item + bResult = SteamUGC()->SetItemContent( (UGCUpdateHandle_t)_ugcUpdateHandle, fname ); + //DebugConsoleOutput("SetItemContent result=%d\n", bResult ); + } + else + { + //DebugConsoleOutput("ERROR:failed to find content directory %s\n", _pszContentFolder ); + } + + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1 : 0; +} + +//steam_ugc_set_item_preview( ugc_update_handle, image_path ) +YYEXPORT void /*double*/ steam_ugc_set_item_preview(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, const char* _pszPreviewFile )/*Steam_Ugc_SetItemPreview*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + const char* _pszPreviewFile = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //-find local file in save or bundle area + bool bResult = false; + bool bFoundFile = false; + char filename[ 1024 ]; + if (g_pYYRunnerInterface->SaveFileExists( (char*)_pszPreviewFile )) + { + g_pYYRunnerInterface->SaveFileName( filename, sizeof(filename), _pszPreviewFile ); + bFoundFile = true; + } + else if (g_pYYRunnerInterface->BundleFileExists( (char*)_pszPreviewFile )) + { + g_pYYRunnerInterface->BundleFileName( filename, sizeof(filename), _pszPreviewFile ); + bFoundFile = true; + } + if( bFoundFile ) + { + //DebugConsoleOutput("found preview file: %s\n", filename ); + //pszPreviewFile is the absolute path to a local preview image file for the workshop item + bResult = SteamUGC()->SetItemPreview( (UGCUpdateHandle_t)_ugcUpdateHandle, filename ); + //DebugConsoleOutput("SetItemPreview result=%d\n", bResult ); + } + else + { + //DebugConsoleOutput("ERROR:failed to find preview file %s\n", _pszPreviewFile ); + } + + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1 : 0; + +} + +//steam_ugc_get_item_update_progress( ugc_update_handle , info_map) +//creates dsMap and returns index +YYEXPORT void /*double*/ steam_ugc_get_item_update_progress(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcUpdateHandle, int _resultMap )/*Steam_Ugc_GetItemUpdateProgress*/ +{ + uint64 _ugcUpdateHandle = (uint64)YYGetInt64(arg, 0); + const int _resultMap = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //EItemUpdateStatus GetItemUpdateProgress( UGCUpdateHandle_t handle, uint64 *punBytesProcessed, uint64* punBytesTotal ) + uint64 bytesProcessed=0; + uint64 bytesTotal = 0; + EItemUpdateStatus status = SteamUGC()->GetItemUpdateProgress( (UGCUpdateHandle_t)_ugcUpdateHandle, &bytesProcessed, &bytesTotal ); + + const char* pszStatus; + switch( status) + { + case k_EItemUpdateStatusInvalid: pszStatus = "Invalid"; break; + case k_EItemUpdateStatusPreparingConfig: pszStatus = "PreparingConfig"; break; + case k_EItemUpdateStatusPreparingContent: pszStatus = "PreparingContent"; break; + case k_EItemUpdateStatusUploadingContent: pszStatus = "UploadingContent"; break; + case k_EItemUpdateStatusUploadingPreviewFile: pszStatus = "UploadingPreviewFile"; break; + case k_EItemUpdateStatusCommittingChanges: pszStatus = "CommittingChanges"; break; + default: pszStatus = "unknown"; + }; + + if( _resultMap >=0 ) + { + g_pYYRunnerInterface->DsMapClear( _resultMap ); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "status_code", status ); + g_pYYRunnerInterface->DsMapAddString( _resultMap, "status_string", (char*)pszStatus ); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "bytes_processed", (double)bytesProcessed ); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "bytes_total", (double)bytesTotal ); + } + + Result.kind = VALUE_REAL; + Result.val = 1.0; +} + +//---------------ugc consuming content ----------------------------------- + +//steam_ugc_subscribe_item( published_file_id ) +//return async event id +YYEXPORT void /*double*/ steam_ugc_subscribe_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _pubFileId )/*Steam_Ugc_SubscribeItem*/ +{ + uint64 _pubFileId = (uint64)YYGetInt64(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //SteamAPICall_t SubscribeItem ( PublishedFileId_t nPublishedFileID ) + //A call to this method will result in the associated workshop item being downloaded and installed as soon as possible. + int async_id= getAsyncRequestInd(); + CSubscribeItemResultHandler* pResultHandler = new CSubscribeItemResultHandler( async_id ); + SteamAPICall_t hSteamAPICall = SteamUGC()->SubscribeItem( (PublishedFileId_t)_pubFileId ); + pResultHandler->SetCallResult( hSteamAPICall ); + + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +//steam_ugc_unsubscribe_item( published_file_id ) +YYEXPORT void /*double*/ steam_ugc_unsubscribe_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _pubFileId )/*Steam_Ugc_UnsubscribeItem*/ +{ + uint64 _pubFileId = (uint64)YYGetInt64(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + int async_id= getAsyncRequestInd(); + CUnsubscribeItemResultHandler* pResultHandler = new CUnsubscribeItemResultHandler( async_id ); + //A call to this method will result in the associated workshop item being removed after the game quits. + SteamAPICall_t hSteamAPICall = SteamUGC()->UnsubscribeItem((PublishedFileId_t)_pubFileId ); + pResultHandler->SetCallResult( hSteamAPICall ); + + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +//steam_ugc_num_subscribed_items() +//return number of subscribed items +YYEXPORT void /*double*/ steam_ugc_num_subscribed_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Ugc_NumSubscribedItems*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + uint32 numSub = SteamUGC()->GetNumSubscribedItems(); + Result.kind = VALUE_REAL; + Result.val = (double)numSub; + return; +} + +//steam_ugc_get_subscribed_items( item_list ) +//fills dsList with PublishedFileId_t list +YYEXPORT void /*double*/ steam_ugc_get_subscribed_items(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int _resultList )/*Steam_Ugc_GetSubscribedItems*/ +{ + int _resultList = (int)YYGetInt64(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + uint32 numSub = SteamUGC()->GetNumSubscribedItems(); + uint32 listSize = 0; + if( _resultList >=0 ) + { + g_pYYRunnerInterface->DsListClear( _resultList ); + if( numSub > 0 ) + { + PublishedFileId_t* aPubFileIds = (PublishedFileId_t*)alloca( sizeof(PublishedFileId_t) * numSub ); + listSize = SteamUGC()->GetSubscribedItems( aPubFileIds, numSub ); + + for( uint32 i=0; i < listSize; ++i ) + { + PublishedFileId_t id = aPubFileIds[ i ]; + g_pYYRunnerInterface->DsListAddInt64( _resultList, id ); + } + } + } + + Result.kind = VALUE_REAL; + Result.val = (double)listSize; +} + +//steam_ugc_get_item_install_info( published_file_id, info_map ) +//fills dsMap with install details +YYEXPORT void /*double*/ steam_ugc_get_item_install_info(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _pubFileId, int _resultMap )/*Steam_Ugc_GetItemInstallInfo*/ +{ + uint64 _pubFileId = (uint64)YYGetInt64(arg, 0); + const int _resultMap = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //bool GetItemInstallInfo( PublishedFileId_t nPublishedFileID, uint64 *punSizeOnDisk, char *pchFolder, uint32 cchFolderSize, bool *pbLegacyItem ) + uint64 sizeOnDisk = 0; + char pszFolder[512]; + bool bLegacyItem = false; + uint32 timeStamp; + uint32 itemState = SteamUGC()->GetItemState((PublishedFileId_t)_pubFileId); + bool bResult = SteamUGC()->GetItemInstallInfo( (PublishedFileId_t)_pubFileId, &sizeOnDisk, pszFolder, 512, &timeStamp ); + + if( _resultMap >=0 ) + { + g_pYYRunnerInterface->DsMapClear( _resultMap ); + if( bResult ) + { + bLegacyItem = (itemState & k_EItemStateLegacyItem) != 0; + + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "size_on_disk", (double)sizeOnDisk ); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "legacy_item", (bLegacyItem)? 1 : 0 ); + g_pYYRunnerInterface->DsMapAddString( _resultMap, "folder", pszFolder ); + } + } + + //OnUgcItemInstalled callback does not seem to be very reliable... + //- which is big problem- since we rely on the installed callback to add newly downloaded items to the whitelist + //->Check whitelist is updated for installed items, when querying install state + if( bResult ) + { + AddFolderToWhitelistIfRequired( pszFolder, itemState ); + } + + Result.kind = VALUE_REAL; + Result.val = (bResult)? 1 : 0; +} + +//steam_ugc_get_item_update_info( published_file_id, info_map ) +//fills ds map with update details +YYEXPORT void /*double*/ steam_ugc_get_item_update_info(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _pubFileId, int _resultMap )/*Steam_Ugc_GetItemUpdateInfo*/ +{ + uint64 _pubFileId = (uint64)YYGetInt64(arg, 0); + const int _resultMap = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //bool GetItemUpdateInfo( PublishedFileId_t nPublishedFileID, bool *pbNeedsUpdate, bool *pbIsDownloading, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) + bool bNeedsUpdate = false; + bool bIsDownloading = false; + bool bIsLegacy = false; + bool bInstalled = false; + bool bDownloadPending = false; + + + uint64 bytesDownloaded = 0; + uint64 bytesTotal = 0; + //bool bResult = SteamUGC()->GetItemUpdateInfo( (PublishedFileId_t)_pubFileId, &bNeedsUpdate, &bIsDownloading, &bytesDownloaded, &bytesTotal ); + bool bResult = SteamUGC()->GetItemDownloadInfo( (PublishedFileId_t)_pubFileId,&bytesDownloaded, &bytesTotal ); + uint32 itemState = SteamUGC()->GetItemState( (PublishedFileId_t)_pubFileId ); + bNeedsUpdate = (itemState& k_EItemStateNeedsUpdate) != 0; + bIsDownloading = (itemState & k_EItemStateDownloading ) != 0; + bIsLegacy = (itemState & k_EItemStateLegacyItem)!=0; + bDownloadPending = (itemState & k_EItemStateDownloadPending)!=0; + bInstalled = (itemState & k_EItemStateInstalled)!=0; + + + if( _resultMap >= 0 ) + { + g_pYYRunnerInterface->DsMapClear( _resultMap ); + if( bResult ) + { + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "needs_update", (bNeedsUpdate)? 1: 0 ); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "is_downloading", (bIsDownloading)? 1: 0); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "bytes_downloaded", (double)bytesDownloaded ); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "bytes_total", (double)bytesTotal ); + + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "is_legacy", (bIsLegacy)? 1: 0); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "is_download_pending", (bDownloadPending)? 1: 0); + g_pYYRunnerInterface->DsMapAddDouble( _resultMap, "is_installed", (bInstalled)? 1: 0); + } + } + + Result.kind = VALUE_REAL; + Result.val = (bResult)? 1: 0; +} + +//steam_ugc_request_item_details( published_file_id, max_age_seconds ) +//returns async event id +YYEXPORT void /*double*/ steam_ugc_request_item_details(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _pubFileId, int _maxAgeSeconds )/*Steam_Ugc_RequestItemDetails*/ +{ + uint64 _pubFileId = (uint64)YYGetInt64(arg, 0); + const int _maxAgeSeconds = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //SteamAPICall_t RequestUGCDetails(PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds) + int async_id= getAsyncRequestInd(); + CRequestUGCDetailsResultHandler* pResultHandler = new CRequestUGCDetailsResultHandler( async_id ); + SteamAPICall_t hSteamAPICall = SteamUGC()->RequestUGCDetails( (PublishedFileId_t)_pubFileId, _maxAgeSeconds ); + pResultHandler->SetCallResult( hSteamAPICall ); + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +YYEXPORT void /*double*/ steam_ugc_delete_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(uint64 _pubFileId) +{ + uint64 _pubFileId = (uint64)YYGetInt64(arg, 0); + + int async_id = getAsyncRequestInd(); + CRequestUGCDeleteResultHandler* pResultHandler = new CRequestUGCDeleteResultHandler(async_id); + SteamAPICall_t hSteamAPICall = SteamUGC()->DeleteItem((PublishedFileId_t)_pubFileId); + pResultHandler->SetCallResult(hSteamAPICall); + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +//------------ ugc querying content ------------------------------------------ + +UGCQueryHandle_t CreateQueryUser(AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) +{ + //UGCQueryHandle_t CreateQueryUserUGCRequest( AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) + UGCQueryHandle_t queryHandle = SteamUGC()->CreateQueryUserUGCRequest( unAccountID, eListType, eMatchingUGCType, eSortOrder, nCreatorAppID, nConsumerAppID, unPage ); + return queryHandle; +} + +//steam_ugc_create_query_user( list_type, match_type, sort_order, page ) +//returns UGCQueryHandle_t +YYEXPORT void /*uint64*/ steam_ugc_create_query_user(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int _listType, int _matchType, int _sortOrder, int _page )/*Steam_Ugc_CreateQueryUser*/ +{ + int _listType = (int)YYGetReal(arg,0); + int _matchType = (int)YYGetReal(arg, 1); + int _sortOrder = (int)YYGetReal(arg, 2); + int _page = (int)YYGetReal(arg, 3); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //CreateQueryUserUGCRequest( AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) + //typical use - current user account and current app as consumer + AccountID_t unAccountID = SteamUser()->GetSteamID().GetAccountID(); + AppId_t nCreatorAppId = 0; + AppId_t nConsumerAppId = SteamUtils()->GetAppID(); + + Result.kind = VALUE_INT64; + Result.v64 = CreateQueryUser(unAccountID, (EUserUGCList)_listType, (EUGCMatchingUGCType)_matchType, (EUserUGCListSortOrder)_sortOrder, nCreatorAppId, nConsumerAppId, _page); + + return; +} + +//steam_ugc_create_query_user_ex( list_type, match_type, sort_order, page, account_id, creator_app_id, consumer_add_id ) +//returns UGCQueryHandle_t +YYEXPORT void /*uint64*/ steam_ugc_create_query_user_ex(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int _listType, int _matchType, int _sortOrder, int _page, uint32 _accountId, uint32 _creatorAppId, uint32 _consumerAppId )/*Steam_Ugc_CreateQueryUserEx*/ +{ + int _listType = (int)YYGetReal(arg, 0); + int _matchType = (int)YYGetReal(arg, 1); + int _sortOrder = (int)YYGetReal(arg, 2); + int _page = (int)YYGetReal(arg, 3); + uint32 _accountId = YYGetUint32(arg, 4); + uint32 _creatorAppId = YYGetUint32(arg, 5); + uint32 _consumerAppId = YYGetUint32(arg, 6); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + UGCQueryHandle_t queryHandle; + queryHandle = CreateQueryUser( (AccountID_t)_accountId, (EUserUGCList)_listType, (EUGCMatchingUGCType) _matchType, + (EUserUGCListSortOrder)_sortOrder, (AppId_t)_creatorAppId, (AppId_t)_consumerAppId, _page ); + + Result.kind = VALUE_INT64; + Result.v64 = queryHandle; +} + +UGCQueryHandle_t CreateQueryAll( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) +{ + //UGCQueryHandle_t CreateQueryAllUGCRequest( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) + UGCQueryHandle_t queryHandle = SteamUGC()->CreateQueryAllUGCRequest( eQueryType, eMatchingeMatchingUGCTypeFileType, nCreatorAppID, nConsumerAppID, unPage ); + return queryHandle; +} + +//steam_ugc_create_query_all( query_type, match_type, page ) +//returns UGCQueryHandle_t +YYEXPORT void /*uint64*/ steam_ugc_create_query_all(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int _queryType, int _matchType, int _page )/*Steam_Ugc_CreateQueryAll*/ +{ + int _queryType = (int)YYGetReal(arg,0); + int _matchType = (int)YYGetReal(arg, 1); + int _page = (int)YYGetReal(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + AppId_t nCreatorAppId = 0; + AppId_t nConsumerAppId = SteamUtils()->GetAppID(); + UGCQueryHandle_t queryHandle = CreateQueryAll( (EUGCQuery)_queryType, (EUGCMatchingUGCType)_matchType,nCreatorAppId, nConsumerAppId, _page ); + Result.kind = VALUE_INT64; + Result.v64 = queryHandle; +} + +//steam_ugc_create_query_all_ex( query_type, match_type, page, creator_app_id, consumer_add_id ) +YYEXPORT void /*uint64*/ steam_ugc_create_query_all_ex(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( int _queryType, int _matchType, int _page, uint32 _creatorAppId, uint32 _consumerAppId )/*Steam_Ugc_CreateQueryAllEx*/ +{ + int _queryType = (int)YYGetReal(arg, 0); + int _matchType = (int)YYGetReal(arg, 1); + int _page = (int)YYGetReal(arg, 2); + uint32 _creatorAppId = YYGetUint32(arg, 3); + uint32 _consumerAppId = YYGetUint32(arg, 4); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + UGCQueryHandle_t queryHandle = CreateQueryAll( (EUGCQuery)_queryType, (EUGCMatchingUGCType)_matchType, + (AppId_t)_creatorAppId, (AppId_t)_consumerAppId, _page ); + + Result.kind = VALUE_INT64; + Result.v64 = queryHandle; +} + +//steam_ugc_query_set_cloud_filename_filter( ugc_query_handle , match_cloud_filename ) +YYEXPORT void /*double*/ steam_ugc_query_set_cloud_filename_filter(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, const char* _pszFilename )/*Steam_Ugc_QuerySetCloudFileFilter*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg,0); + const char* _pszFilename = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + //bool SetCloudFileNameFilter( UGCQueryHandle_t handle, const char *pMatchCloudFileName ) + //Workshop item filename must match pMatchCloudFileName + bool bResult = SteamUGC()->SetCloudFileNameFilter( (UGCQueryHandle_t)_ugcQueryHandle, _pszFilename ); + + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_set_match_any_tag( ugc_query_handle, match_any_tag ) +YYEXPORT void /*double*/ steam_ugc_query_set_match_any_tag(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, int _matchAnyTag )/*Steam_Ugc_QuerySetMatchAnyTag*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + int _matchAnyTag = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetMatchAnyTag( (UGCQueryHandle_t)_ugcQueryHandle, _matchAnyTag !=0 ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_set_search_text( ugc_query_handle, search_text ) +YYEXPORT void /*double*/ steam_ugc_query_set_search_text(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, const char* _pszSearchText )/*Steam_Ugc_QuerySetSearchText*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + const char* _pszSearchText = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetSearchText((UGCQueryHandle_t)_ugcQueryHandle, _pszSearchText ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1 : 0; + return; +} + +//steam_ugc_query_set_ranked_by_trend_days( ugc_query_handle , days) +YYEXPORT void /*double*/ steam_ugc_query_set_ranked_by_trend_days(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, int _days )/*Steam_Ugc_QuerySetRankedByTrendDays*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + int _days = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetRankedByTrendDays( (UGCQueryHandle_t)_ugcQueryHandle, _days ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_add_required_tag( ugc_query_handle, tag_name ) +YYEXPORT void /*double*/ steam_ugc_query_add_required_tag(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, const char* _pszTag )/*Steam_Ugc_QueryAddRequiredTag*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + const char* _pszTag = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->AddRequiredTag( (UGCQueryHandle_t)_ugcQueryHandle, _pszTag ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_add_excluded_tag( ugc_query_handle, tag_name ) +YYEXPORT void /*double*/ steam_ugc_query_add_excluded_tag(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, const char* _pszTag )/*Steam_Ugc_QueryAddExcludedTag*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + const char* _pszTag = YYGetString(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->AddExcludedTag( (UGCQueryHandle_t)_ugcQueryHandle, _pszTag ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_set_return_long_description( ugc_query_handle, return_long_desc ) +YYEXPORT void /*double*/ steam_ugc_query_set_return_long_description(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, int _returnLongDesc )/*Steam_Ugc_QuerySetReturnLongDesc*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + int _returnLongDesc = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetReturnLongDescription( (UGCQueryHandle_t)_ugcQueryHandle, _returnLongDesc!=0 ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_set_return_total_only( ugc_query_handle, return_total_only ) +YYEXPORT void /*double*/ steam_ugc_query_set_return_total_only(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, int _returnTotalOnly )/*Steam_Ugc_QuerySetReturnTotalOnly*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + int _returnTotalOnly = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetReturnTotalOnly( (UGCQueryHandle_t)_ugcQueryHandle, _returnTotalOnly!=0 ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_query_set_allow_cached_response( ugc_query_handle, max_age_seconds ) +YYEXPORT void /*double*/ steam_ugc_query_set_allow_cached_response(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle, int _maxAgeSeconds )/*Steam_Ugc_QuerySetAllowCachedResponse*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + int _maxAgeSeconds = (int)YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + bool bResult = SteamUGC()->SetAllowCachedResponse( (UGCQueryHandle_t)_ugcQueryHandle, _maxAgeSeconds ); + Result.kind = VALUE_REAL; + Result.val = (bResult) ? 1:0; +} + +//steam_ugc_send_query( ugc_query_handle ) +//return async event id +YYEXPORT void /*double*/ steam_ugc_send_query(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( uint64 _ugcQueryHandle )/*Steam_Ugc_SendQuery*/ +{ + uint64 _ugcQueryHandle = YYGetInt64(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + int async_id = getAsyncRequestInd(); + CQueryUGCResultHandler* pResultHandler = new CQueryUGCResultHandler( async_id ); + SteamAPICall_t hSteamAPICall = SteamUGC()->SendQueryUGCRequest( (UGCQueryHandle_t)_ugcQueryHandle ); + pResultHandler->SetCallResult( hSteamAPICall ); + Result.kind = VALUE_REAL; + Result.val = async_id; +} + diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_unsorted.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_unsorted.cpp new file mode 100644 index 0000000..8773f8b --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_unsorted.cpp @@ -0,0 +1,10 @@ +// Steamworks.gml +// author: YellowAfterlife +// license: MIT https://opensource.org/licenses/mit-license.php +// +// This is where pretty much everything happens. +// My sincere apologies if you are using a source code editor that +// does not support collapsing "#pragma region" blocks. + + +#include "pch.h" diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_user.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_user.cpp new file mode 100644 index 0000000..3ba569c --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_user.cpp @@ -0,0 +1,321 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +#include "steam_glue.h" + +#include "steam_callbacks.h" + + +#ifdef OS_Windows +#include +#include +#endif + + +/// \brief Returns 1.0 if the user is logged on +YYEXPORT void /*double*/ steam_is_user_logged_on(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_User_IsLoggedOn*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = SteamUser()->BLoggedOn()?1.0:0.0; +} + +/// \brief Returns a 64bit Steam User ID +YYEXPORT void /*uint64*/ steam_get_user_steam_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_User_GetSteamID*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_INT64; + Result.v64 = 0; + return; + } + + Result.kind = VALUE_INT64; + Result.v64 = SteamUser()->GetSteamID().ConvertToUint64(); +} + +//returns a 32bit account Id +YYEXPORT void /*double*/ steam_get_user_account_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_User_GetAccountID*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = (double) SteamUser()->GetSteamID().GetAccountID(); +} + +//return steam appID of running app +YYEXPORT void /*double*/ steam_get_app_id(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_Utils_GetAppId*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = (double) SteamUtils()->GetAppID(); +} + +///////////////////////////////////// YAL + +/// Can be called on lobby session start, adds the user to "recently played with" list. +YYEXPORT void /*double*/ steam_user_set_played_with(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double id_high, double id_low) +{ + uint64 value64 = (uint64)YYGetInt64(arg, 0); + + CSteamID target; + target.SetFromUint64(value64); + if (SteamFriends()) { + SteamFriends()->SetPlayedWith(target); + + Result.kind = VALUE_REAL; + Result.val = 1.0; + return; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } +} + +void steam_net_callbacks_t::micro_txn_auth_response(MicroTxnAuthorizationResponse_t* e) { + steam_net_event r((char*)"micro_txn_auth_response"); + r.set_result(e->m_bAuthorized); + r.set_uint64_all("order_id", e->m_ulOrderID); + r.set((char*)"app_id", e->m_unAppID); + r.dispatch(); +} + +struct steam_get_friends_game_info_t { + uint64 friendId; + uint32 gameId; + uint64 lobbyId; + char name[32]; +}; + +YYEXPORT void /*vector*/ steam_get_friends_game_info(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + int flags = k_EFriendFlagImmediate; + int count = SteamFriends()->GetFriendCount(flags); + //vector vec{}; + vector vec{}; + + for (auto i = 0; i < count ; i++) + { + FriendGameInfo_t gameInfo{}; + auto friendId = SteamFriends()->GetFriendByIndex(i, flags); + + SteamFriends()->GetFriendGamePlayed(friendId, &gameInfo); + //if (!SteamFriends()->GetFriendGamePlayed(friendId, &gameInfo)) + // continue; + + RValue Struct{}; + YYStructCreate(&Struct); + + YYStructAddInt64(&Struct, "friendId", friendId.ConvertToUint64()); + YYStructAddDouble(&Struct, "gameId", gameInfo.m_gameID.AppID()); + YYStructAddInt64(&Struct, "lobbyId", gameInfo.m_steamIDLobby.ConvertToUint64()); + YYStructAddString(&Struct, "name", SteamFriends()->GetFriendPersonaName(friendId)); + + //COPY_RValue(&Result, &Struct); + //FREE_RValue(&Struct); + + vec.push_back(Struct); + } + _SW_SetArrayOfRValue(&Result, vec); +} + +YYEXPORT void /*const char**/ steam_get_user_persona_name_sync(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(uint64_t user_id) +{ + int64 user_id = YYGetInt64(arg, 0); + + CSteamID user{}; user.SetFromUint64(user_id); + YYCreateString(&Result, SteamFriends()->GetFriendPersonaName(user)); +} + +#pragma region Rich Text Presence + +/// Sets rich text presence for the active user. See: https://partner.steamgames.com/doc/api/ISteamFriends#SetRichPresence +YYEXPORT void /*double*/ steam_set_rich_presence(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pchKey, const char* pchValue) +{ + char* pchKey = (char*)YYGetString(arg, 0); + char* pchValue = (char*)YYGetString(arg, 1); + + if (SteamFriends()) + { + Result.kind = VALUE_REAL; + Result.val = SteamFriends()->SetRichPresence(pchKey, pchValue); + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +/// Clears rich text presence. +YYEXPORT void /*double*/ steam_clear_rich_presence(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//() +{ + if (SteamFriends()) + { + SteamFriends()->ClearRichPresence(); + Result.kind = VALUE_REAL; + Result.val = 1.0; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0; + } +} + +#pragma endregion + +#pragma region Avatar + +void steam_net_callbacks_t::avatar_image_loaded(AvatarImageLoaded_t* e) +{ + steam_net_event r = steam_net_event((char*)"avatar_image_loaded"); + r.set_success(true); + r.set_steamid_all("user_id", e->m_steamID); + r.set((char*)"image", e->m_iImage); + r.set((char*)"width", e->m_iWide); + r.set((char*)"height", e->m_iTall); + r.dispatch(); +} +typedef int steam_image_id; +/// +enum class steam_user_avatar_size { + small = 0, + medium = 1, + large = 2, +}; + +YYEXPORT void /*steam_image_id*/ steam_get_user_avatar(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(uint64_t user_id, int avatar_size) +{ + int64 user_id = YYGetInt64(arg, 0); + int avatar_size = (int) YYGetReal(arg, 1); + + Result.kind = VALUE_REAL; + Result.val = 1.0; + + CSteamID _user_id((uint64)user_id); + switch ((steam_user_avatar_size)avatar_size) + { + case steam_user_avatar_size::large: + Result.val = SteamFriends()->GetLargeFriendAvatar(_user_id); + return; + case steam_user_avatar_size::medium: + Result.val = SteamFriends()->GetMediumFriendAvatar(_user_id); + return; + default: + Result.val = SteamFriends()->GetSmallFriendAvatar(_user_id); + return; + } +} + +YYEXPORT void /*std::optional>*/ steam_image_get_size(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(steam_image_id img) +{ + int img = (int) YYGetReal(arg, 0); + + uint32 width, height; + if (SteamUtils()->GetImageSize(img, &width, &height)) + { + std::vector vect; + + vect.push_back(width); + vect.push_back(height); + + _SW_SetArrayOfReal(&Result, vect); + + //Result.kind = VALUE_REAL; + //Result.val = 1.0; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0.0; + } +} + +// +YYEXPORT void /*bool*/ steam_image_get_rgba(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(steam_image_id img, gml_buffer dest_buf) +{ + int img = (int)YYGetReal(arg, 0); + int gml_buf = (int)YYGetReal(arg, 1); + int size = (int)YYGetReal(arg, 2); + + IBuffer* pBuff = NULL; + if (gml_buf >= 0) + { + char* data = new char[size]; + if(SteamUtils()->GetImageRGBA(img, (uint8*)data, size)) + { + BufferWriteContent(gml_buf, 0, data, size); + + Result.kind = VALUE_BOOL; + Result.val = 1.0; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0.0; + } + } +} + +YYEXPORT void /*bool*/ steam_image_get_bgra(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(steam_image_id img, gml_buffer dest_buf) +{ + int img = (int)YYGetReal(arg, 0); + int gml_buf = (int)YYGetReal(arg, 1); + int size = (int)YYGetReal(arg, 2); + + IBuffer* pBuff = NULL; + if (gml_buf >= 0) + { + char* data = new char[size]; + + if (SteamUtils()->GetImageRGBA(img, (uint8*)data, size)) { + auto cols = (uint32*)data; + auto count = (size_t)(size >> 2); +#ifdef OS_Windows + std::transform(std::execution::par_unseq, cols, cols + count, cols, [](uint32 col) { + return (col & 0xFF00FF00u) | ((col & 0xFF) << 16) | ((col & 0xFF0000) >> 16); + }); +#else + for (size_t i = 0; i < count; i++) { + auto col = cols[i]; + cols[i] = (col & 0xFF00FF00u) | ((col & 0xFF) << 16) | ((col & 0xFF0000) >> 16); + } + +#endif + BufferWriteContent(gml_buf, 0, data, size); + Result.kind = VALUE_REAL; + Result.val = 1.0; + } + else + { + Result.kind = VALUE_REAL; + Result.val = 0.0; + } + } +} +#pragma endregion diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_userstats.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_userstats.cpp new file mode 100644 index 0000000..d5f2ed2 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_userstats.cpp @@ -0,0 +1,1477 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" + +#ifdef OS_Windows +#include "malloc.h" +#endif + +#if defined(OS_Linux) || defined(OS_MacOs) +#include +#endif + +class CLeaderboardFindHandler; +class CLeaderboardUploadHandler; + +bool OnFindLeaderboardResult( LeaderboardFindResult_t *pCallback,bool bIOFailure, CLeaderboardFindHandler* pHandler ); +bool OnUploadScoreResult(LeaderboardScoreUploaded_t *pCallback, bool bIOFailure, CLeaderboardUploadHandler* pHandler ); +void OnDownloadScoreResult(LeaderboardScoresDownloaded_t *pCallback, bool bIOFailure, int callId ); +void OnUserStatsReceivedCallback( UserStatsReceived_t *pCallback ); +void OnUserStatsStoredCallback( UserStatsStored_t *pCallback ); +bool LookupLeaderboardHandle(const char* pszName, SteamLeaderboard_t& handle ); + +const int kMaxEntries = 100; +//const char gUnknownString[] = "Unknown"; +const int kLBExtraDataMax = 64; //max size in int32 of leader board entry data + +//leaderboard/stat queues... +//used to cache retrieved handles for leaderboard names +struct SLeaderboardInfo +{ + SteamLeaderboard_t m_hSteamLeaderboard; + char m_pszName[k_cchLeaderboardNameMax]; + bool m_bLeaderboardFound; + bool m_bRequestedCreate; +}; + + +struct SLeaderboardExtraData +{ + int m_count; + int32 m_data[kLBExtraDataMax]; +}; + +//leaderboard callbacks +struct SLeaderboardData +{ + SteamLeaderboard_t m_hSteamLeaderboard; //lb handle - required? + char m_pszName[k_cchLeaderboardNameMax]; //leaderboard name + int m_numEntries; + LeaderboardEntry_t m_Entries[kMaxEntries]; //downloaded entries + SLeaderboardExtraData m_extraData[kMaxEntries]; +}; + +//!Each Steamworks title can create up to 10,000 leaderboards... +static int m_MaxLeaderboards = 64; +static SLeaderboardInfo* m_aLeaderboardInfo; +static int m_numLeaderboardInfo; +static bool m_bStatsReady = false; +static bool m_bStoreStats = false; +static bool m_bStoringStats = false; + + + +bool LookupLeaderboardHandle(const char* pszName, SteamLeaderboard_t& handle) +{ + //search stored handles + for (int i = 0; i < m_numLeaderboardInfo; ++i) + { + SLeaderboardInfo* pInfo = &m_aLeaderboardInfo[i]; + if (strncmp(pszName, pInfo->m_pszName, k_cchLeaderboardNameMax) == 0) + { + //lb name is in the list + if (pInfo->m_bLeaderboardFound) + { + //we have a cached handle for this lb - return it + handle = m_aLeaderboardInfo[i].m_hSteamLeaderboard; + return true; + } + } + } + return false; +} + + +//used to queue leaderboard post/get requests +struct SLBRequest +{ + char m_pszName[k_cchLeaderboardNameMax]; //name of the leaderboard to use + bool m_bPost; //post or get + int m_method; //get method + int m_score; //score to post + int m_rangeStart; //get range + int m_rangeEnd; //get range + HTTP_REQ_CONTEXT* m_pContext; //the async context to return results + SLBRequest* m_pNext; + + int m_postId; + int32* m_pExtraData; + int m_extraDataCount; + + //post cstr + SLBRequest(const char* pLBName, int score, int _postId) //post + { + m_pContext = NULL; + m_pNext = NULL; + m_bPost = true; + strncpy(m_pszName, pLBName, k_cchLeaderboardNameMax); + m_score = score; + + m_postId = _postId; + m_pExtraData = NULL; + m_extraDataCount = 0; + } + + //post, with extra data + SLBRequest(const char* pLBName, int score, int _postId, int32* pData, int dataCount) + { + m_pContext = NULL; + m_pNext = NULL; + m_bPost = true; + strncpy(m_pszName, pLBName, k_cchLeaderboardNameMax); + m_score = score; + m_postId = _postId; + + //store extra data + if (pData != NULL && dataCount > 0) + { + m_pExtraData = (int32*)YYAlloc(dataCount * 4);// , __FILE__, __LINE__, true); + memcpy(m_pExtraData, pData, dataCount * 4); + m_extraDataCount = dataCount; + } + else + { + m_pExtraData = NULL; + m_extraDataCount = 0; + } + } + + //get cstr + SLBRequest(HTTP_REQ_CONTEXT* pContext, const char* pLBName, int method, int rangeStart, int rangeEnd) //get + { + m_pContext = pContext; + m_bPost = false; + m_pNext = NULL; + strncpy(m_pszName, pLBName, k_cchLeaderboardNameMax); + m_method = method; + m_rangeStart = rangeStart; + m_rangeEnd = rangeEnd; + + m_pExtraData = NULL; + m_extraDataCount = 0; + } + + ~SLBRequest() + { + if (m_pExtraData != NULL) + { + YYFree(m_pExtraData); + m_pExtraData = NULL; + } + } + +}; + +static SLBRequest* g_pLBQueue = NULL; + +//add leaderboard post/get request to queue +void QueueLBRequest(SLBRequest* pRequest) +{ + if (g_pLBQueue) + { + pRequest->m_pNext = g_pLBQueue; + g_pLBQueue = pRequest; + } + else + { + g_pLBQueue = pRequest; + } +} + +//we also need an handler instance for every leaderboard "find" request, +//-a single handler instance is no use since a callresult only stores a single api call handle +//-doing multiple requests will only return callback for last request +class CLeaderboardFindHandler +{ + public: + char m_pszName[k_cchLeaderboardNameMax]; + CCallResult m_SteamCallResultFindLeaderboard; + bool m_bCreate; + ELeaderboardSortMethod m_sortMethod; + ELeaderboardDisplayType m_displayType; + int async_id; + + CLeaderboardFindHandler() {} + CLeaderboardFindHandler(const char* pszName, int async_id_) + { + strncpy(m_pszName, pszName, k_cchLeaderboardNameMax); + m_bCreate = false; + async_id = async_id_; + } + + //create cstr + CLeaderboardFindHandler(const char* pszName, ELeaderboardSortMethod sortMethod, ELeaderboardDisplayType displayType,int async_id_) + { + strncpy(m_pszName, pszName, k_cchLeaderboardNameMax); + m_bCreate = true; + m_sortMethod = sortMethod; + m_displayType = displayType; + async_id = async_id_; + } + + void SetCallResult(SteamAPICall_t apicall) + { + m_SteamCallResultFindLeaderboard.Set(apicall, this, &CLeaderboardFindHandler::OnFindLeaderboard); + } + + void OnFindLeaderboard(LeaderboardFindResult_t* pCallback, bool bIOFailure) + { + bool bDelete = OnFindLeaderboardResult(pCallback, bIOFailure, this); + //true return denotes we are done with the handler + if (bDelete) + { + //delete the handler (unregisters) + delete this; + } + } +}; + +//if we want to get every upload result, we need a handler instance for each call +class CLeaderboardUploadHandler +{ +public: + int m_postId; + + CCallResult m_SteamCallResultUploadScore; + + CLeaderboardUploadHandler(int _postId) + : m_postId(_postId) + { + } + + void SetCallResult(SteamAPICall_t apicall) + { + m_SteamCallResultUploadScore.Set(apicall, this, &CLeaderboardUploadHandler::OnUploadResult); + } + + void OnUploadResult(LeaderboardScoreUploaded_t* pCallback, bool bIOFailure) + { + bool bDelete = OnUploadScoreResult(pCallback, bIOFailure, this); + if (bDelete) + { + //finished with handler, free & deregister + delete this; + } + } +}; + +//we need to create a new handler for *each* leaderboard download request, +//so that we can store the asyncID and identify our http context on result +class CLeaderboardDownloadHandler +{ +public: + int m_callID; + + CCallResult m_SteamCallResultDownloadScore; + + CLeaderboardDownloadHandler() :m_callID(-1) + { + } + + CLeaderboardDownloadHandler(int callID) : m_callID(callID) + { + } + + void SetCallResult(SteamAPICall_t apicall) + { + m_SteamCallResultDownloadScore.Set(apicall, this, &CLeaderboardDownloadHandler::OnDownloadResult); + } + + void OnDownloadResult(LeaderboardScoresDownloaded_t* pCallback, bool bIOFailure) + { + //pass the results on + OnDownloadScoreResult(pCallback, bIOFailure, m_callID); + //delete the handler (unregisters) + delete this; + } +}; + +void DoLBRequest(SLBRequest* pRequest, SteamLeaderboard_t hLeaderboard) +{ + const char* pszName = SteamUserStats()->GetLeaderboardName(hLeaderboard); + if (pRequest->m_bPost) + { + //dbg_csol.Output("Sending queued LB post: %s, %d \n", pszName, pRequest->m_score); + SteamAPICall_t hSteamAPICall = SteamUserStats()->UploadLeaderboardScore(hLeaderboard, k_ELeaderboardUploadScoreMethodKeepBest, pRequest->m_score, pRequest->m_pExtraData, pRequest->m_extraDataCount); + //new handler for each request, to make sure we get a result for each post + CLeaderboardUploadHandler* pResultHandler = new CLeaderboardUploadHandler(pRequest->m_postId); + pResultHandler->SetCallResult(hSteamAPICall); + } + else + { + //dbg_csol.Output("Sending queued LB get: %s, %d, %d, %d, %d \n", pszName, pRequest->m_pContext->ID, pRequest->m_method, pRequest->m_rangeStart, pRequest->m_rangeEnd); + SteamAPICall_t hSteamAPICall = SteamUserStats()->DownloadLeaderboardEntries(hLeaderboard, (ELeaderboardDataRequest)pRequest->m_method, pRequest->m_rangeStart, pRequest->m_rangeEnd); + //m_pUserStatCallback->SetLeaderboardDownloadCallback(hSteamAPICall); + //need to create a new result handler for each get request, so we can identify http context + CLeaderboardDownloadHandler* pResultHandler = new CLeaderboardDownloadHandler(pRequest->m_postId);// getAsyncRequestInd());// pRequest->m_pContext->ID);//Here... + pResultHandler->SetCallResult(hSteamAPICall); + } +} + +void SendLBRequests() +{ + SteamLeaderboard_t handle; + SLBRequest* pCurr = g_pLBQueue; + SLBRequest* pPrev = NULL; + while (pCurr) + { + SLBRequest* pNext = pCurr->m_pNext; + if (LookupLeaderboardHandle(pCurr->m_pszName, handle)) + { + //perform the request + DoLBRequest(pCurr, handle); + //remove from list + if (pPrev != NULL) + { + pPrev->m_pNext = pNext; + } + else { + g_pLBQueue = pNext; + } + delete pCurr; + + pCurr = pPrev; + } + pPrev = pCurr; + pCurr = pNext; + } +} + +//leaderboard find callback - return true if we are finished with handler +bool OnFindLeaderboardResult(LeaderboardFindResult_t* pCallback, bool bIOFailure, CLeaderboardFindHandler* pHandler) +{ + //find leaderboard name in the info list + const char* pszLBName = pHandler->m_pszName; + SLeaderboardInfo* pInfo = NULL; + int infoIdx = -1; + for (int i = 0; i < m_numLeaderboardInfo; ++i) + { + SLeaderboardInfo* pI = &m_aLeaderboardInfo[i]; + if (strncmp(pszLBName, pI->m_pszName, k_cchLeaderboardNameMax) == 0) + { + pInfo = pI; + infoIdx = i; + break; + } + } + + //handle failure to find name in list...should not happen + if (!pInfo) + { + //DebugConsoleOutput("ERROR: failed to find entry for leaderboard: %s\n", pszLBName ); + //YYASSERT(false); + return true; + } + + if (bIOFailure) + { + //DebugConsoleOutput("IO Error finding leaderboard \"%s\" - retrying\n", pszLBName); + //should we just retry...?need to know if it was a find or create (+need sortMethod&display type also in that case) + SteamAPICall_t hSteamAPICall; + if (pHandler->m_bCreate) + { + hSteamAPICall = SteamUserStats()->FindOrCreateLeaderboard(pHandler->m_pszName, pHandler->m_sortMethod, pHandler->m_displayType); + } + else + { + hSteamAPICall = SteamUserStats()->FindLeaderboard(pHandler->m_pszName); + } + pHandler->SetCallResult(hSteamAPICall); //re-use the handler + return false; //dont't free handler as we are re-using it + } + else if (!pCallback->m_bLeaderboardFound) + { + //DebugConsoleOutput("Failed to find leaderboard \"%s\"\n", pszLBName); + //- tried to find but no leaderboard of this name exists; + //remove any queued post/get requests for this LBName + //!must also complete any async events! (fail status) + //RemoveLBRequests( pszLBName ); + //and also remove from info list + if (m_numLeaderboardInfo > 1) + { + SLeaderboardInfo* pLast = &m_aLeaderboardInfo[m_numLeaderboardInfo - 1]; + m_aLeaderboardInfo[infoIdx] = *pLast; + } + --m_numLeaderboardInfo; + return true; + } + + SteamLeaderboard_t hLeaderboard = pCallback->m_hSteamLeaderboard; + //const char* pszName = SteamUserStats()->GetLeaderboardName( hLeaderboard ); + //DebugConsoleOutput("found leaderboard: %s\n", pszLBName ); + //cache handle for this name + pInfo->m_bLeaderboardFound = true; + pInfo->m_hSteamLeaderboard = hLeaderboard; + //send any waiting requests + SendLBRequests(); + + + //int map = g_pYYRunnerInterface->CreateDsMap(0); + //g_pYYRunnerInterface->DsMapAddString(map, "event_type", "create_leaderboard"); + //g_pYYRunnerInterface->DsMapAddString(map, "lb_name", pszLBName); + //g_pYYRunnerInterface->DsMapAddDouble(map, "status", (double)1); + //g_pYYRunnerInterface->DsMapAddDouble(map, "id", (double)pHandler->async_id); + //g_pYYRunnerInterface->CreateAsyncEventWithDSMap(map, EVENT_OTHER_WEB_STEAM); + + return true; +} + +void AddLeaderboardInfo(const char* pszName, bool bRequestCreate) +{ + //add a new entry + SLeaderboardInfo* pInfo = &m_aLeaderboardInfo[m_numLeaderboardInfo]; + strncpy(pInfo->m_pszName, pszName, k_cchLeaderboardNameMax); + pInfo->m_bRequestedCreate = bRequestCreate; + pInfo->m_bLeaderboardFound = false; + + //FIX #0015989: removed max leaderboard limit + ++m_numLeaderboardInfo; + if (m_numLeaderboardInfo >= m_MaxLeaderboards) + { + m_MaxLeaderboards += 64; + m_aLeaderboardInfo = (SLeaderboardInfo*)g_pYYRunnerInterface->YYRealloc((void*)m_aLeaderboardInfo, sizeof(SLeaderboardInfo) * m_MaxLeaderboards);// , __FILE__, __LINE__ ); + } +} + +bool GetLeaderboardHandleCreate(const char* pszName, SteamLeaderboard_t& handle, int sortMethod, int displayType, int async_id) +{ + //search stored handles + for (int i = 0; i < m_numLeaderboardInfo; ++i) + { + SLeaderboardInfo* pInfo = &m_aLeaderboardInfo[i]; + if (strncmp(pszName, pInfo->m_pszName, k_cchLeaderboardNameMax) == 0) + { + //lb name is in the list + if (pInfo->m_bLeaderboardFound) + { + //we have a cached handle for this lb - return it + handle = m_aLeaderboardInfo[i].m_hSteamLeaderboard; + + //int map = g_pYYRunnerInterface->CreateDsMap(0); + //g_pYYRunnerInterface->DsMapAddString(map, "event_type", "create_leaderboard"); + //g_pYYRunnerInterface->DsMapAddString(map, "lb_name", pszName); + //g_pYYRunnerInterface->DsMapAddDouble(map, "status", (double)1); + //g_pYYRunnerInterface->DsMapAddDouble(map, "id", (double)async_id); + //g_pYYRunnerInterface->CreateAsyncEventWithDSMap(map, EVENT_OTHER_WEB_STEAM); + + return true; + } + else + if (pInfo->m_bRequestedCreate) + { + //we are already waiting on a create callback - do nothing + + //int map = g_pYYRunnerInterface->CreateDsMap(0); + //g_pYYRunnerInterface->DsMapAddString(map, "event_type", "create_leaderboard"); + //g_pYYRunnerInterface->DsMapAddString(map, "lb_name", pszName); + //g_pYYRunnerInterface->DsMapAddDouble(map, "status", (double)0); + //g_pYYRunnerInterface->DsMapAddDouble(map, "id", (double)async_id); + //g_pYYRunnerInterface->CreateAsyncEventWithDSMap(map, EVENT_OTHER_WEB_STEAM); + + return false; + } + else + { + //already asked to *find* this leaderboard, but need to send a *create* request + pInfo->m_bRequestedCreate = true; + SteamAPICall_t hSteamAPICall = SteamUserStats()->FindOrCreateLeaderboard(pszName,(ELeaderboardSortMethod)sortMethod,(ELeaderboardDisplayType)displayType); + //need a handler instance for each find + CLeaderboardFindHandler* pResultHandler = new CLeaderboardFindHandler( pszName, (ELeaderboardSortMethod)sortMethod,(ELeaderboardDisplayType)displayType, async_id); + pResultHandler->SetCallResult(hSteamAPICall); + + //int map = g_pYYRunnerInterface->CreateDsMap(0); + //g_pYYRunnerInterface->DsMapAddString(map, "event_type", "create_leaderboard"); + //g_pYYRunnerInterface->DsMapAddString(map, "lb_name", pszName); + //g_pYYRunnerInterface->DsMapAddDouble(map, "status", (double)0); + //g_pYYRunnerInterface->DsMapAddDouble(map, "id", (double)async_id); + //g_pYYRunnerInterface->CreateAsyncEventWithDSMap(map, EVENT_OTHER_WEB_STEAM); + + return false; + } + } + } + + //lb name is not in the list, so request create + AddLeaderboardInfo( pszName, true ); + SteamAPICall_t hSteamAPICall = SteamUserStats()->FindOrCreateLeaderboard(pszName,(ELeaderboardSortMethod)sortMethod,(ELeaderboardDisplayType)displayType); + CLeaderboardFindHandler* pResultHandler = new CLeaderboardFindHandler( pszName, (ELeaderboardSortMethod)sortMethod,(ELeaderboardDisplayType)displayType, async_id); + pResultHandler->SetCallResult(hSteamAPICall); + + return false; +} + +///////////////////////////////CREATE LEADERBOARD////////////////////////////////////// + +/// \brief Creates a new leaderboard +YYEXPORT void /*double*/ steam_create_leaderboard(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pLeaderboardName, double sortMethod, double displayType)/*Steam_UserStats_CreateLeaderboard*/ +{ + const char* pLeaderboardName = YYGetString(arg,0); + double sortMethod = YYGetReal(arg, 1); + double displayType = YYGetReal(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + if (!SteamUser()->BLoggedOn()) + { + //DebugConsoleOutput("Create leaderboard failed: must be logged on\n"); + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + int async_id = getAsyncRequestInd();// g_HTTP_ID; + + //this will perform a FindOrCreate request, if we do not already have a handle cached for this name (otherwise, do nothing - leaderboard exists already ) + SteamLeaderboard_t hLeaderboard; + GetLeaderboardHandleCreate(pLeaderboardName, hLeaderboard, (int)sortMethod, (int)displayType, async_id); + + Result.kind = VALUE_REAL; + Result.val = async_id; +} + +////////////////////////////////// UPLOAD //////////////////////////////////////////////////// + +//leaderboard post callback +bool OnUploadScoreResult(LeaderboardScoreUploaded_t* pCallback, bool bIOFailure, CLeaderboardUploadHandler* pHandler) +{ + const char* pszName = SteamUserStats()->GetLeaderboardName(pCallback->m_hSteamLeaderboard); + bool bSuccess = false; + bool bUpdated = false; + if (bIOFailure) + { + //DebugConsoleOutput("IO Error uploading score %d to \"%s\"\n", pCallback->m_nScore, pszName); + } + else if (!pCallback->m_bSuccess) + { + //why would it fail? what do we do? + //does tend to fail here if a lot of posts are sent at once, so need to retry + //BUT- fails when many uploads are attempted in a short space of time - perhaps being throttled by steam; and retries will also fail, until a certain amount of time has passed + //-so repeatedly retrying is a really bad idea, as it will likely prevent further posts... + //...instead, would be better to return result via async event, and leave it up to the user + //DebugConsoleOutput("Failed to upload score %d to \"%s\"\n", pCallback->m_nScore, pszName); + } + else + { + bSuccess = true; + bUpdated = (pCallback->m_bScoreChanged != 0); // true if the score in the leaderboard change, false if the existing score was better + if (bUpdated) + { + //DebugConsoleOutput("uploaded score %d to lb %s - score was updated\n", pCallback->m_nScore, pszName); + } + else + { + //DebugConsoleOutput("uploaded score %d to lb %s - score was not updated\n", pCallback->m_nScore, pszName); + } + } + + //removing this, as it is not helping... + /*if(bRetry) + { + DebugConsoleOutput("Retrying upload...\n"); + SteamAPICall_t hSteamAPICall = SteamUserStats()->UploadLeaderboardScore( pCallback->m_hSteamLeaderboard, k_ELeaderboardUploadScoreMethodKeepBest, pCallback->m_nScore, NULL, 0 ); + pHandler->SetCallResult( hSteamAPICall ); + return false; //re-using this handler + }*/ + //and return async event instead + int iSuccess = (bSuccess) ? 1 : 0; + int iUpdated = (bUpdated) ? 1 : 0; + int dsMapIndex = CreateDsMap(6, + "event_type", (double)0.0, "leaderboard_upload", + "lb_name", (double)0.0, pszName, + "success", (double)iSuccess, NULL, + "updated", (double)iUpdated, NULL, + "post_id", (double)pHandler->m_postId, NULL, + "score", (double)pCallback->m_nScore, NULL); + + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(dsMapIndex, EVENT_OTHER_WEB_STEAM); + + return true; +} + +//might rename this since it also does an api find call +bool GetLeaderboardHandle(const char* pszName, SteamLeaderboard_t& handle) +{ + //search stored handles + for (int i = 0; i < m_numLeaderboardInfo; ++i) + { + SLeaderboardInfo* pInfo = &m_aLeaderboardInfo[i]; + if (strncmp(pszName, pInfo->m_pszName, k_cchLeaderboardNameMax) == 0) + { + //lb name is in the list + if (pInfo->m_bLeaderboardFound) + { + //we have a cached handle for this lb - return it + handle = m_aLeaderboardInfo[i].m_hSteamLeaderboard; + return true; + } + else + { + //we have *already* requested this leaderboard, but don't have a handle for it yet... + return false; + } + } + } + + ////lb name not in the list, so request handle for this lb + AddLeaderboardInfo(pszName, false); + SteamAPICall_t hSteamAPICall = SteamUserStats()->FindLeaderboard(pszName); + //need a handler instance for each find + CLeaderboardFindHandler* pResultHandler = new CLeaderboardFindHandler(pszName,1);//check this '1' + pResultHandler->SetCallResult(hSteamAPICall); + + return false; +} + +static int s_postId = 1; +double Steam_UserStats_UploadScore(const char* pszLeaderboardName, double score, int _bufferId, bool _forceupdate) +{ + if (!SteamUser()->BLoggedOn()) + { + //DebugConsoleOutput("Upload score failed: must be logged on\n"); + return -1; + } + + int32 aExtraData[kLBExtraDataMax]; + int32* pExtraData = NULL; + int dataCount = 0; + + IBuffer* pBuff = NULL; + //if (_bufferId != NULL) + if (_bufferId >= 0) + { + pBuff = g_pYYRunnerInterface->BufferGetFromGML(_bufferId); + if (pBuff != NULL) + { + //->int32[] for upload + int buffSize = g_pYYRunnerInterface->BufferTELL(pBuff); + if (buffSize > 0) + { + if (buffSize > kLBExtraDataMax * 4) + { + //truncate...(or, abandon...) + DebugConsoleOutput("steam_upload_score_buffer: requested upload of %d bytes was truncated to max of 256 bytes\n", buffSize); + buffSize = kLBExtraDataMax * 4; + } + + dataCount = (buffSize + 3) / 4; + memset(aExtraData, 0, kLBExtraDataMax * 4); + memcpy(aExtraData, g_pYYRunnerInterface->BufferGet(pBuff), buffSize); + pExtraData = aExtraData; + } + } + else + { + DebugConsoleOutput("buffer index does not exist - no data will be uploaded"); + } + } + + //if we have stored handle for leaderboard name, post + //otherwise Q post & request leaderboard name + SteamLeaderboard_t hLeaderboard; + if (GetLeaderboardHandle(pszLeaderboardName, hLeaderboard)) + { + SteamAPICall_t hSteamAPICall; + //SteamAPICall_t hSteamAPICall = SteamUserStats()->UploadLeaderboardScore( hLeaderboard, k_ELeaderboardUploadScoreMethodKeepBest, (int32)score, NULL, 0 ); + if (_forceupdate) + hSteamAPICall = SteamUserStats()->UploadLeaderboardScore(hLeaderboard, k_ELeaderboardUploadScoreMethodForceUpdate, (int32)score, pExtraData, dataCount); + else + hSteamAPICall = SteamUserStats()->UploadLeaderboardScore(hLeaderboard, k_ELeaderboardUploadScoreMethodKeepBest, (int32)score, pExtraData, dataCount); + + //new handler for each request, to make sure we get a result for each post + CLeaderboardUploadHandler* pResultHandler = new CLeaderboardUploadHandler(s_postId); + pResultHandler->SetCallResult(hSteamAPICall); + } + else + { + //add post request to Q, perform post when we get leaderboard callback handle + SLBRequest* pReq; + if (pExtraData == NULL) + pReq = new SLBRequest(pszLeaderboardName, (int)score, s_postId); + else //need to store extra data if queueing request, pesky + pReq = new SLBRequest(pszLeaderboardName, (int)score, s_postId, pExtraData, dataCount); + + QueueLBRequest(pReq); + } + return s_postId++; +} + +YYEXPORT void /*double*/ steam_upload_score(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pszLeaderboardName, double score) +{ + const char* pszLeaderboardName = YYGetString(arg,0); + double score = YYGetReal(arg,1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = Steam_UserStats_UploadScore(pszLeaderboardName, score, -4/*NULL*/, false); +} + +YYEXPORT void /*double*/ steam_upload_score_ext(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pszLeaderboardName, double score, bool _forceupdate) +{ + + const char* pszLeaderboardName = YYGetString(arg, 0); + double score = YYGetReal(arg, 1); + bool _forceupdate = YYGetBool(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = Steam_UserStats_UploadScore(pszLeaderboardName, score, -4/*NULL*/, _forceupdate); +} + +YYEXPORT void /*double*/ steam_upload_score_buffer(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pszLeaderboardName, double score, int _bufferId) +{ + const char* pszLeaderboardName = YYGetString(arg, 0); + double score = YYGetReal(arg, 1); + int _bufferId = (int)YYGetReal(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = Steam_UserStats_UploadScore(pszLeaderboardName, score, _bufferId, false); +} + +YYEXPORT void /*double*/ steam_upload_score_buffer_ext(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pszLeaderboardName, double score, int _bufferId, bool _forceupdate) +{ + const char* pszLeaderboardName = YYGetString(arg,0); + double score = YYGetReal(arg,1); + int _bufferId = YYGetReal(arg, 2); + bool _forceupdate = YYGetBool(arg,3); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = Steam_UserStats_UploadScore(pszLeaderboardName, score, _bufferId, _forceupdate); +} + +/////////////////////////////////////////////////////////// DOWNLOAD ///////////////////////////////////////////////////// + +// \brief Downloads scores using a starting offset +YYEXPORT void /*double*/ steam_download_scores(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pszLeaderboardName, double startidx, double endidx)/*Steam_UserStats_DownloadScores*/ +{ + const char* pszLeaderboardName = YYGetString(arg,0); + double startidx = YYGetReal(arg, 1); + double endidx = YYGetReal(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + if (!SteamUser()->BLoggedOn()) + { + DebugConsoleOutput("Download scores failed: must be logged on\n"); + Result.kind = VALUE_REAL; + Result.val = -1; + return; //=invalid async id + } + + //create a new async context for the returned data + int async_id = getAsyncRequestInd();// g_HTTP_ID; + int size = sizeof(SLeaderboardData); + // + + SteamLeaderboard_t hLeaderboard; + if (GetLeaderboardHandle(pszLeaderboardName, hLeaderboard)) + { + //create a handler instance so we can identify the http_req_context + CLeaderboardDownloadHandler* pResultHandler = new CLeaderboardDownloadHandler(async_id); + SteamAPICall_t hSteamAPICall = SteamUserStats()->DownloadLeaderboardEntries(hLeaderboard, k_ELeaderboardDataRequestGlobal, (int)startidx, (int)endidx); + pResultHandler->SetCallResult(hSteamAPICall); + } + else + { + //TODO:: Q download request + SLBRequest* pReq = new SLBRequest(/*pContext*/NULL, pszLeaderboardName, k_ELeaderboardDataRequestGlobal, (int)startidx, (int)endidx); + pReq->m_postId = async_id; + QueueLBRequest(pReq); + } + + Result.kind = VALUE_REAL; + Result.val = (double)async_id; +} + + //\brief Downloads scores around the current user +YYEXPORT void /*double*/ steam_download_scores_around_user(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//( const char* pszLeaderboardName, double rangeStart, double rangeEnd )/*Steam_UserStats_DownloadScoresAroundUser*/ +{ + const char* pszLeaderboardName = YYGetString(arg,0); + double rangeStart = YYGetReal(arg, 1); + double rangeEnd = YYGetReal(arg,2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + if( !SteamUser()->BLoggedOn() ) + { + DebugConsoleOutput("Download scores failed: must be logged on\n"); + Result.kind = VALUE_REAL; + Result.val = -1; + return; //=invalid async id + } + + int async_id = getAsyncRequestInd(); //g_HTTP_ID; + + SteamLeaderboard_t hLeaderboard; + if( GetLeaderboardHandle( pszLeaderboardName, hLeaderboard ) ) + { + CLeaderboardDownloadHandler* pResultHandler = new CLeaderboardDownloadHandler(async_id); + SteamAPICall_t hSteamAPICall = SteamUserStats()->DownloadLeaderboardEntries(hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, (int)rangeStart, (int)rangeEnd ); + pResultHandler->SetCallResult( hSteamAPICall ); + } + else + { + // Q download request + SLBRequest* pReq = new SLBRequest(/*pContext*/NULL, pszLeaderboardName, k_ELeaderboardDataRequestGlobalAroundUser, (int)rangeStart, (int)rangeEnd); + pReq->m_postId = async_id; + QueueLBRequest(pReq); + } + + //return async id + Result.kind = VALUE_REAL; + Result.val = (double)async_id; + +} + + +//\brief Downloads friends score for current leaderboard +YYEXPORT void /*double*/ steam_download_friends_scores(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)// const char* pszLeaderboardName )/*Steam_UserStats_DownloadFriendsScores*/ +{ + const char* pszLeaderboardName = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + if( !SteamUser()->BLoggedOn() ) + { + DebugConsoleOutput("Download scores failed: must be logged on\n"); + Result.kind = VALUE_REAL; + Result.val = -1; + return; //=invalid async id + } + + //create a new async context for the returned data + int async_id = getAsyncRequestInd();// g_HTTP_ID; + + SteamLeaderboard_t hLeaderboard; + if( GetLeaderboardHandle( pszLeaderboardName, hLeaderboard ) ) + { + //create a handler instance so we can identify the http_req_context + CLeaderboardDownloadHandler* pResultHandler = new CLeaderboardDownloadHandler( async_id ); + SteamAPICall_t hSteamAPICall = SteamUserStats()->DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestFriends, 0, 0); + pResultHandler->SetCallResult( hSteamAPICall ); + } + else + { + //TODO:: Q download request + SLBRequest* pReq = new SLBRequest(/*pContext*/NULL, pszLeaderboardName, k_ELeaderboardDataRequestFriends, 0, 0); + pReq->m_postId = async_id; + QueueLBRequest(pReq); + } + + //return async id + Result.kind = VALUE_REAL; + Result.val = (double)async_id; + +} + +void expand_escapes(char* dest, const char* src) +{ + char c; + + while ((c = *(src++))) { + switch (c) { + case '\\': + *(dest++) = '\\'; + *(dest++) = '\\'; + break; + case '\"': + *(dest++) = '\\'; + *(dest++) = '\"'; + break; + default: + *(dest++) = c; + } + } + + *dest = '\0'; /* Ensure nul terminator */ +} + +//leaderboard get callback +void OnDownloadScoreResult(LeaderboardScoresDownloaded_t* pCallback, bool bIOFailure, int callId) +{ + if (bIOFailure) + { + printf("OnDownloadScoreResult FAILED: %i\n", callId); + return; + } + + printf("OnDownloadScoreResult SUCCESS: %i\n", callId); + + int numLeaderboardEntries; + if (pCallback->m_cEntryCount < kMaxEntries) + numLeaderboardEntries = pCallback->m_cEntryCount; + else + numLeaderboardEntries = kMaxEntries; + + SteamLeaderboard_t m_hSteamLeaderboard = pCallback->m_hSteamLeaderboard; + const char* pszLBName = SteamUserStats()->GetLeaderboardName(pCallback->m_hSteamLeaderboard); + //strncpy(pData->m_pszName, pszLBName, k_cchLeaderboardNameMax); + + printf("got scores for lb:%s %d entries\n", pszLBName, numLeaderboardEntries); + + int map = CreateDsMap(0,0); + g_pYYRunnerInterface->DsMapAddString(map, "event_type", "leaderboard_download"); + g_pYYRunnerInterface->DsMapAddString(map, "lb_name", pszLBName); + g_pYYRunnerInterface->DsMapAddDouble(map, "status", (double)1); + g_pYYRunnerInterface->DsMapAddDouble(map, "num_entries", (double)numLeaderboardEntries); + g_pYYRunnerInterface->DsMapAddDouble(map, "id", (double)callId); + + char* pJson = NULL; + int jsonSize = numLeaderboardEntries * 384 + 256; + pJson = (char*)alloca(jsonSize); + static char buff[512]; + static char nameBuff[k_cchPersonaNameMax * 2]; + + sprintf(pJson, "{\n\"entries\": [\n"); + for (int index = 0; index < numLeaderboardEntries; index++) + { + //SteamUserStats()->GetDownloadedLeaderboardEntry( pCallback->m_hSteamLeaderboardEntries,index,&pData->m_Entries[index],NULL,0); + //SteamUserStats()->GetDownloadedLeaderboardEntry(pCallback->m_hSteamLeaderboardEntries, index, &(pCallback->m_hSteamLeaderboard->m_Entries[index]), pExtraData, kLBExtraDataMax); + LeaderboardEntry_t leaderboardEntry; + int32 pExtraData[kLBExtraDataMax]; + SteamUserStats()->GetDownloadedLeaderboardEntry(pCallback->m_hSteamLeaderboardEntries, index, &leaderboardEntry, pExtraData, kLBExtraDataMax); + + int map_entry = CreateDsMap(0,0); + + const char* pUserName = SteamFriends()->GetFriendPersonaName(leaderboardEntry.m_steamIDUser); + expand_escapes(nameBuff, pUserName); + + if (leaderboardEntry.m_cDetails > 0) + { + int numBytes = leaderboardEntry.m_cDetails * 4; + int retSize = ((numBytes * 4) / 3) + 4; + char* pResult = (char*)alloca(retSize); + memset(pResult, 0, retSize); + g_pYYRunnerInterface->Base64Encode((const char*)pExtraData, numBytes, pResult, 128/*kLBExtraDataMax*/); + g_pYYRunnerInterface->DsMapAddString(map_entry, "data", pResult); + + sprintf(buff, "{ \"name\":\"%s\" , \"score\":%d , \"rank\":%d, \"data\":\"%s\" }", nameBuff, leaderboardEntry.m_nScore, leaderboardEntry.m_nGlobalRank, pResult); + } + else + { + sprintf(buff, "{ \"name\":\"%s\" , \"score\":%d , \"rank\":%d }", nameBuff, leaderboardEntry.m_nScore, leaderboardEntry.m_nGlobalRank); + } + if (index < numLeaderboardEntries - 1) + strcat(buff, ",\n"); + else + strcat(buff, "\n"); + strcat(pJson, buff); + } + strcat(pJson, "]}"); + + g_pYYRunnerInterface->DsMapAddString(map, "entries", pJson); + + g_pYYRunnerInterface->CreateAsyncEventWithDSMap(map,EVENT_OTHER_WEB_STEAM); +} + +//////////////////Achievements & Stats///////////////////////////////////////////////////////////////////////////////////////////////// + +class UserStatCallbacks +{ +public: + + UserStatCallbacks() : + m_CallbackUserStatsStored(this, &UserStatCallbacks::OnUserStatsStored), + m_CallbackAchievementStored(this, &UserStatCallbacks::OnAchievementStored), + m_CallbackUserStatsReceived(this, &UserStatCallbacks::OnUserStatsReceived) + { + } + + /*void SetLeaderboardUploadCallback ( SteamAPICall_t apicall ) + { + m_SteamCallResultUploadScore.Set(apicall,this,&UserStatCallbacks::OnUploadScore); + }*/ + + void OnUserStatsReceived(UserStatsReceived_t* pCallback) + { + // we may get callbacks for other games' stats arriving, ignore them + if (SteamUtils()->GetAppID() == pCallback->m_nGameID) + { + OnUserStatsReceivedCallback(pCallback); + } + } + + void OnUserStatsStored(UserStatsStored_t* pCallback) + { + // we may get callbacks for other games' stats arriving, ignore them + if (SteamUtils()->GetAppID() == pCallback->m_nGameID) + { + OnUserStatsStoredCallback(pCallback); + } + } + + void OnAchievementStored(UserAchievementStored_t* pCallback) + { + // we may get callbacks for other games' stats arriving, ignore them + if (SteamUtils()->GetAppID() == pCallback->m_nGameID) + { + // Success! + DebugConsoleOutput("achievement store SUCCESS\n"); + } + } + + //CCallResult m_SteamCallResultUploadScore; + + CCallback m_CallbackUserStatsStored; + CCallback m_CallbackAchievementStored; + CCallback m_CallbackUserStatsReceived; +}; +//- do we need to initialise steam first, since constructor registers callbacks...? +static UserStatCallbacks* m_pUserStatCallback = NULL; + + +/// \brief Sets the achievement to be achieved +YYEXPORT void /*double*/ steam_set_achievement(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pAchievementID)/*Steam_UserStats_SetAchievement*/ +{ + const char* pAchievementID = YYGetString(arg,0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) //we cant set stats until we have got callback result from SteamUserStats()->RequestCurrentStats() + { + if (SteamUserStats()->SetAchievement(pAchievementID) == true) + { + // Store stats end of frame + m_bStoreStats = true; + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + +/// \brief Gets the specified achievement state +YYEXPORT void /*double*/ steam_get_achievement(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pAchievementID)/*Steam_UserStats_GetAchievement*/ +{ + const char* pAchievementID = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + //need to wait for request stats return...? i believe so + if (m_bStatsReady) + { + bool bAchieved = false; + + if (SteamUserStats()->GetAchievement(pAchievementID, &bAchieved) == true) + { + Result.val = bAchieved ? 1.0 : 0.0; + return; + } + } + Result.val = 0.0; + + return; +} + +/// \brief Clears the specified achievement +YYEXPORT void /*double*/ steam_clear_achievement(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pAchievementID)/*Steam_UserStats_ClearAchievement*/ +{ + const char* pAchievementID = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) + { + bool bRet = SteamUserStats()->ClearAchievement(pAchievementID); + if (bRet == true) + { + // Store stats end of frame + m_bStoreStats = true; + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + + +/////////////////////////////////////////////////////////////////STATS + + + +/// \brief Sets the specified stat as a int +YYEXPORT void /*double*/ steam_set_stat_int(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pStatName, double val)/*Steam_UserStats_SetStatInt*/ +{ + const char* pStatName = YYGetString(arg,0); + double val = YYGetReal(arg, 1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) + { + if (SteamUserStats()->SetStat(pStatName, (int32)val) == true) + { + // Store stats end of frame + m_bStoreStats = true; + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + + +/// \brief Sets the specified stat as a float +YYEXPORT void /*double*/ steam_set_stat_float(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pStatName, double val)/*Steam_UserStats_SetStatFloat*/ +{ + const char* pStatName = YYGetString(arg,0); + double val = YYGetReal(arg,1); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) + { + if (SteamUserStats()->SetStat(pStatName, (float)val) == true) + { + m_bStoreStats = true; // Store stats end of frame + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + + +/// \brief Sets the specified Average Rate Stat +YYEXPORT void /*double*/ steam_set_stat_avg_rate(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pStatName, double dCountThisSession, double dSessionLength)/*Steam_UserStats_SetStatAvgRate*/ +{ + const char* pStatName = YYGetString(arg, 0); + double dCountThisSession = YYGetReal(arg,1); + double dSessionLength = YYGetReal(arg, 2); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) + { + if (SteamUserStats()->UpdateAvgRateStat(pStatName, (float)dCountThisSession, dSessionLength) == true) + { + m_bStoreStats = true; // Store stats end of frame + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + + + +/// \brief Gets the specified int stat +YYEXPORT void /*double*/ steam_get_stat_int(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pStatName)/*Steam_UserStats_GetStatInt*/ +{ + const char* pStatName = YYGetString(arg,0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) //cannot query until RequestCurrentStats() callback received + { + int32 statval; + + if (SteamUserStats()->GetStat(pStatName, &statval) == true) + { + Result.val = (double)statval; + return; + } + } + + Result.val = 0.0; + return; +} + +/// \brief Get the specified float stat +YYEXPORT void /*double*/ steam_get_stat_float(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pStatName)/*Steam_UserStats_GetStatFloat*/ +{ + const char* pStatName = YYGetString(arg, 0); + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) //cannot query until RequestCurrentStats() callback received + { + float statval; + + if (SteamUserStats()->GetStat(pStatName, &statval) == true) + { + Result.val = (double)statval; + return; + } + } + + Result.val = 0.0; + return; +} + +/// \brief Get the specified avgrate stat +YYEXPORT void /*double*/ steam_get_stat_avg_rate(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(const char* pStatName)/*Steam_UserStats_GetStatAvgRate*/ +{ + const char* pStatName = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) //cannot query until RequestCurrentStats() callback received + { + float statval; + + if (SteamUserStats()->GetStat(pStatName, &statval) == true) + { + Result.val = (double)statval; + return; + } + } + + Result.val = 0.0; + return; +} + +/// \brief Resets all the stats to the server defaults +YYEXPORT void /*double*/ steam_reset_all_stats(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_UserStats_ResetAllStats*/ +{ + const char* pStatName = YYGetString(arg, 0); + + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) + { + if (SteamUserStats() != NULL) + { + SteamUserStats()->ResetAllStats(false); + m_bStoreStats = true; // Store stats end of frame + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + +/// \brief Resets all the stats to the server defaults +YYEXPORT void /*double*/ steam_reset_all_stats_achievements(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_UserStats_ResetAllStatsAndAchievements*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + if (m_bStatsReady) + { + if (SteamUserStats() != NULL) + { + SteamUserStats()->ResetAllStats(true); + m_bStoreStats = true; // Store stats end of frame + Result.val = 1.0; + return; + } + } + + Result.val = 0.0; + return; +} + +void Steam_UserStats_Init() +{ + //(register callbacks?) + m_pUserStatCallback = new UserStatCallbacks(); + + m_aLeaderboardInfo = (SLeaderboardInfo*)g_pYYRunnerInterface->YYAlloc(sizeof(SLeaderboardInfo) * m_MaxLeaderboards);// , __FILE__, __LINE__); + + //request stats - !!This call needs to be made before you can set any stats or achievements !! + //- we need to WAIT for callback before we can get or set stats ( i think ) + m_bStatsReady = false; + m_bStoreStats = false; + m_bStoringStats = false; + SteamUserStats()->RequestCurrentStats(); //You will receive a UserStatsReceived_t callback when the data is ready. +} + +YYEXPORT void /*double*/ steam_stats_ready(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//()/*Steam_UserStats_StatsReady*/ +{ + if (!steam_is_initialised) + { + Result.kind = VALUE_REAL; + Result.val = 0; + return; + } + + Result.kind = VALUE_REAL; + Result.val = (m_bStatsReady) ? 1.0 : 0; + return; +} + +void OnUserStatsReceivedCallback( UserStatsReceived_t *pCallback ) +{ + if ( k_EResultOK == pCallback->m_eResult ) + { + DebugConsoleOutput("Received stats and achievements from Steam\n" ); + m_bStatsReady = true; //ready to set & get stats + } + else + { + //DebugConsoleOutput("RequestStats - failed: %d\n", pCallback->m_eResult ); + } +} + + +void Steam_UserStats_Process() +{ + if( !m_bStatsReady) return; + + //stats or achievements updated, send them off + if( m_bStoreStats ) + { + //if we have already sent a store stats call, wait till its done before sending again + if(!m_bStoringStats) + { + bool bSuccess = SteamUserStats()->StoreStats(); + // If this failed, we never sent anything to the server, try again later + m_bStoreStats = !bSuccess; + } + } +} + +void OnUserStatsStoredCallback( UserStatsStored_t *pCallback ) +{ + if ( k_EResultOK == pCallback->m_eResult ) + { + DebugConsoleOutput("StoreStats - success\n" ); + } + else if ( k_EResultInvalidParam == pCallback->m_eResult ) + { + //One or more stats we set broke a constraint. They've been reverted, + DebugConsoleOutput("StoreStats - some failed to validate\n" ); + } + else + { + DebugConsoleOutput("Error storing stats\n"); + } + m_bStoringStats = false; +} + + +void Steam_UserStats_Shutdown() +{ + delete m_pUserStatCallback; //unregisters callbacks + + g_pYYRunnerInterface->YYFree( (void*)m_aLeaderboardInfo ); + m_aLeaderboardInfo = NULL; +} + + + diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_utils.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_utils.cpp new file mode 100644 index 0000000..6da1c3b --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_utils.cpp @@ -0,0 +1,48 @@ +/// steam_utils.cpp + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" +//#include "steam_glue.h + +/// +enum class steam_overlay_notification_position { + top_left = 0, + top_right, + bottom_left, + bottom_right, +}; +/// +YYEXPORT void /*double*/ steam_set_overlay_notification_position(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double position) +{ + double position = YYGetReal(arg, 0); + + if (!SteamUtils()) + { + Result.kind = VALUE_REAL; + Result.val = 0.0; + } + + SteamUtils()->SetOverlayNotificationPosition((ENotificationPosition)(int)position); + Result.kind = VALUE_REAL; + Result.val = 1.0; +} +/// +YYEXPORT void /*double*/ steam_set_overlay_notification_inset(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double hor_inset, double vert_inset) +{ + double hor_inset = YYGetReal(arg, 0); + double vert_inset = YYGetReal(arg, 1); + + + if (!SteamUtils()) + { + Result.kind = VALUE_REAL; + Result.val = 0.0; + } + + SteamUtils()->SetOverlayNotificationInset((int)hor_inset, (int)vert_inset); + Result.kind = VALUE_REAL; + Result.val = 1.0; +} diff --git a/source/Steamworks_vs/Steamworks/GMLSteam/steam_workshop.cpp b/source/Steamworks_vs/Steamworks/GMLSteam/steam_workshop.cpp new file mode 100644 index 0000000..ff85102 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/GMLSteam/steam_workshop.cpp @@ -0,0 +1,97 @@ +/// steam_workshop.cpp +#include "pch.h" +#include "steam_glue.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" +#include "steam_callbacks.h" + +//#if STEAMWORKS >= 142 +CCallResult steam_item_deleted; +//YYEXPORT void /*double*/ steam_ugc_delete_item(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(double file_high, double file_low) +//{ +// uint64 value64 = (uint64)YYGetInt64(arg, 0); +// +// if (SteamUGC()) +// { +// SteamAPICall_t call = SteamUGC()->DeleteItem(value64); +// steam_item_deleted.Set(call, &steam_net_callbacks, &steam_net_callbacks_t::item_deleted); +// } +//} + +void steam_net_callbacks_t::item_deleted(DeleteItemResult_t* r, bool failed) +{ + steam_net_event x = steam_net_event((char*)"ugc_delete_item"); + x.set_result(r->m_eResult); + x.set_uint64_all("published_file_id", r->m_nPublishedFileId); + x.dispatch(); +} +//#endif + +#pragma endregion + +#pragma region Secure App Tickets +YYEXPORT void /*double*/ steam_get_app_ownership_ticket_data(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* outbuf, uint32* vals) +{ + char* outbuf = (char*)YYGetString(arg, 0); + uint32 vals_ = YYGetUint32(arg, 1); + uint32* vals = &vals_; + + static ISteamAppTicket* SteamAppTicket = nullptr; + static bool ready = false; + if (!ready) { + ready = true; + SteamAppTicket = (ISteamAppTicket*)SteamClient()->GetISteamGenericInterface( + SteamAPI_GetHSteamUser(), SteamAPI_GetHSteamPipe(), STEAMAPPTICKET_INTERFACE_VERSION); + } + uint32 ret = 0; + uint32 iAppID = 0; + uint32 iSteamID = 0; + uint32 iSignature = 0; + uint32 cbSignature = 0; + if (SteamAppTicket) ret = SteamAppTicket->GetAppOwnershipTicketData( + vals[0], outbuf, vals[1], &iAppID, &iSteamID, &iSignature, &cbSignature); + vals[0] = ret; + vals[1] = iAppID; + vals[2] = iSteamID; + vals[3] = iSignature; + vals[4] = cbSignature; + + Result.kind = VALUE_REAL; + Result.val = ret; +} + +void steam_net_callbacks_t::encrypted_app_ticket_response_received(EncryptedAppTicketResponse_t* r, bool failed) +{ + steam_net_event e = steam_net_event((char*)"user_encrypted_app_ticket_response_received"); + auto result = r->m_eResult; + if (result == k_EResultOK) { + uint8 ticket[1024]; + uint32 ticketSize; + if (SteamUser()->GetEncryptedAppTicket(&ticket, sizeof ticket, &ticketSize)) { + static std::string s; + s.resize(ticketSize+1); + Base64Encode(ticket, ticketSize,s.data(), ticketSize);//s = b64encode(ticket, ticketSize); + e.set((char*) "ticket_data", &s[0]); + } else { + DebugConsoleOutput("Failed to retrieve GetEncryptedAppTicket data."); + result = k_EResultFail; + } + } + e.set_result(result); + e.dispatch(); +} + +CCallResult steam_user_app_ticket; +YYEXPORT void /*double*/ steam_user_request_encrypted_app_ticket(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg)//(char* data, double size) +{ + char* data = (char*)YYGetString(arg, 0); + //double size = YYGetReal(arg, 1); + + auto cc = SteamUser()->RequestEncryptedAppTicket(data, strlen(data));// (int)size); + steam_user_app_ticket.Set(cc, &steam_net_callbacks, &steam_net_callbacks_t::encrypted_app_ticket_response_received); + Result.kind = VALUE_REAL; + Result.val = 1; +} +#pragma endregion diff --git a/source/Steamworks_vs/Steamworks/IniOptionsLibrary.cpp b/source/Steamworks_vs/Steamworks/IniOptionsLibrary.cpp new file mode 100644 index 0000000..46d673e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/IniOptionsLibrary.cpp @@ -0,0 +1,112 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#include "IniOptionsLibrary.h" +#include "Extension_Interface.h" +#include + +std::string readFile(std::filesystem::path path) +{ + std::ifstream f(path, std::ios::in | std::ios::binary); + const auto sz = std::filesystem::file_size(path); + std::string result(sz, '\0'); + f.read(result.data(), sz); + + return result; +} + +std::string getLine(const std::string& str, int lineNo) +{ + std::string line; + std::istringstream stream(str); + while (lineNo-- >= 0) + std::getline(stream, line); + + return line; +} + +int countLines(const std::string& str) +{ + int c = 1; + std::string line; + std::istringstream stream(str); + while (std::getline(stream, line)) + c++; + + return c; +} + +void segmentation(const std::string str, const std::string extensionName, const std::string key, int& start, int& end) +{ + int index = 0; + int lines = countLines(str); + end = lines; + + char* extensionNameClosed = (char*)malloc(extensionName.length() + 3); + + sprintf(extensionNameClosed, "[%s]", extensionName.data()); + + while (index < lines) + { + std::string line = getLine(str, index); + + if (line.find(extensionNameClosed) != std::string::npos) + { + start = index; + break; + } + index++; + } + free(extensionNameClosed); + + index++; + while (index < lines) + { + std::string line = getLine(str, index); + if (line.find("]") != std::string::npos) + { + end = index; + break; + } + index++; + } +} + +std::string IniOptions_read(std::string extensionName, std::string key) +{ + std::filesystem::path exePath = std::filesystem::current_path(); + + char filename[1024]; + +#ifdef OS_Windows + snprintf(filename, 1024, "%s/options.ini", exePath.string().c_str()); +#endif + +#ifdef OS_Linux + snprintf(filename, 1024, "%s/assets/options.ini", exePath.string().c_str()); +#endif + + std::string str = (char*)readFile(filename).c_str(); + + int start; + int end; + segmentation(str,extensionName, key, start, end); + + for (int i = start; i < end ; i++) + { + std::string line = getLine(str, i); + + if (line.find(key) != std::string::npos) + { + line.erase(0, key.length() + 1); + line.erase(line.length() - 1, 1);//Delete \n..... + + return line; + } + } + + return ""; +} diff --git a/source/Steamworks_vs/Steamworks/IniOptionsLibrary.h b/source/Steamworks_vs/Steamworks/IniOptionsLibrary.h new file mode 100644 index 0000000..1d93db5 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/IniOptionsLibrary.h @@ -0,0 +1,12 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#include +#include +#include + + +std::string IniOptions_read(std::string extensionName, std::string key); diff --git a/source/Steamworks_vs/Steamworks/IniOptionsLibrary.mm b/source/Steamworks_vs/Steamworks/IniOptionsLibrary.mm new file mode 100644 index 0000000..90b0ca5 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/IniOptionsLibrary.mm @@ -0,0 +1,109 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#include "IniOptionsLibrary.h" +#include +#import + +std::string readFile(std::filesystem::path path) +{ + std::ifstream f(path, std::ios::in | std::ios::binary); + const auto sz = std::filesystem::file_size(path); + std::string result(sz, '\0'); + f.read(result.data(), sz); + + return result; +} + +std::string getLine(const std::string& str, int lineNo) +{ + std::string line; + std::istringstream stream(str); + while (lineNo-- >= 0) + std::getline(stream, line); + + return line; +} + +int countLines(const std::string& str) +{ + int c = 1; + std::string line; + std::istringstream stream(str); + while (std::getline(stream, line)) + c++; + + return c; +} + +void segmentation(const std::string str, const std::string extensionName, const std::string key, int& start, int& end) +{ + int index = 0; + int lines = countLines(str); + end = lines; + + char* extensionNameClosed = (char*)malloc(extensionName.length() + 3); + + sprintf(extensionNameClosed, "[%s]", extensionName.data()); + + while (index < lines) + { + std::string line = getLine(str, index); + + if (line.find(extensionNameClosed) != std::string::npos) + { + start = index; + break; + } + index++; + } + free(extensionNameClosed); + + index++; + while (index < lines) + { + std::string line = getLine(str, index); + if (line.find("]") != std::string::npos) + { + end = index; + break; + } + index++; + } +} + +std::string IniOptions_read(std::string extensionName,std::string key) +{ + NSString *bundlename = [[NSBundle mainBundle] executablePath]; + std::filesystem::path exePath = [bundlename UTF8String]; + + exePath = exePath.parent_path(); + + char filename[1024]; + snprintf(filename, 1024, "%s/../Resources/options.ini", exePath.string().c_str()); + + std::string str = (char*)readFile(filename).c_str(); + + int start; + int end; + segmentation(str,extensionName, key, start, end); + + for (int i = start; i < end ; i++) + { + std::string line = getLine(str, i); + + if (line.find(key) != std::string::npos) + { + line.erase(0, key.length() + 1); + //line.erase(line.length() - 1, 1);//Delete \n..... (not necesary in MacOS?) + + return line; + } + } + return ""; +} + + diff --git a/source/Steamworks_vs/Steamworks/Ref.h b/source/Steamworks_vs/Steamworks/Ref.h new file mode 100644 index 0000000..4907b1e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/Ref.h @@ -0,0 +1,146 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#ifndef __REF_H__ +#define __REF_H__ + +#include + +#define YYCEXTERN +#define YYCEXPORT + +#define YYC_DELETE(a) delete a + +class YYObjectBase; +template struct _RefFactory +{ + static T Alloc( T _thing, int _size ) { return _thing; } + static T Create( T _thing, int& _size ) { _size=0; return _thing; } + static T Destroy( T _thing ) { return _thing; } +}; + +//template <> struct _RefFactory< const char* > +//{ +// static const char* Alloc( const char* _thing, int _size ) { return (const char*)YYAlloc( _size+1 ); } +// static const char* Create( const char* _thing, int& _size ) { _size=_thing?(int)strlen(_thing):0; return YYStrDup( _thing ); } +// static const char* Destroy( const char* _thing ) { YYFree( (void*)_thing ); return NULL; } +//}; + +template <> struct _RefFactory< YYObjectBase* > +{ + static YYObjectBase* Alloc( YYObjectBase* _thing, int _size ); + static YYObjectBase* Create( YYObjectBase* _thing, int& _size ); + static YYObjectBase* Destroy( YYObjectBase* _thing ); +}; + +template <> struct _RefFactory< void* > +{ + static void* Alloc( void* _thing, int _size ); + static void* Create( void* _thing, int& _size ); + static void* Destroy( void* _thing ); +}; + + +template struct _RefThing +{ + T m_thing; + int m_refCount; + int m_size; + + _RefThing( T _thing ) + { + // this needs to have some sort of factory based on the type to do a duplicate + m_thing = _RefFactory::Create(_thing, m_size); + m_refCount = 0; + inc(); + } // end _RefThing + + _RefThing( int _maxSize ) + { + // this needs to have some sort of factory based on the type to do a duplicate + m_thing = _RefFactory::Alloc(m_thing, _maxSize ); + m_size = _maxSize; + m_refCount = 0; + inc(); + } // end _RefThing + + ~_RefThing() + { + dec(); + } // end ~_RefThing + + void inc( void ) { + ++m_refCount; + } // end Inc + + void dec( void ) { + YYCEXTERN void LOCK_RVALUE_MUTEX(); + YYCEXTERN void UNLOCK_RVALUE_MUTEX(); + LOCK_RVALUE_MUTEX(); + --m_refCount; + if (m_refCount == 0) { + // use the factory to clean it up and give us a default thing to use + m_thing = _RefFactory::Destroy(m_thing); + m_size = 0; + + YYC_DELETE(this); + } // end if + UNLOCK_RVALUE_MUTEX(); + } // end Dec + + T get( void ) const { return m_thing; } + int size( void ) const { return m_size; } + + static _RefThing* assign( _RefThing* _other ) { if (_other != NULL) { _other->inc(); } return _other; } + static _RefThing* remove( _RefThing* _other ) { if (_other != NULL) { _other->dec(); } return NULL; } +}; + + +template struct RefThing +{ + _RefThing* m_pThing; + + RefThing() { m_pThing = NULL; } + + RefThing( T _thing ) + { + m_pThing = new _RefThing( _thing ); + } // end RefThing + + RefThing( const _RefThing& _other ) + { + m_pThing = _other.m_pThing; + m_pThing->Inc(); + } // end RefThing + + ~RefThing() + { + if (m_pThing != NULL) { + m_pThing->Dec(); + } // end if + } // end RefThing + + void dec( void ) { + if (m_pThing != NULL) { + m_pThing->Dec(); + } // end if + m_pThing = NULL; + } // end dec + + T get( void ) const { + return (m_pThing != NULL) ? m_pThing->m_thing : NULL; + } // end get +}; + +typedef _RefThing RefString; +typedef _RefThing RefInstance; +typedef _RefThing RefKeep; + +class CInstance; +typedef RValue& (*PFUNC_YYGMLScript_Internal)( CInstance* pSelf, CInstance* pOther, RValue& _result, int _count, RValue** _args ); + +#endif + diff --git a/source/Steamworks_vs/Steamworks/Steamworks.vcxproj b/source/Steamworks_vs/Steamworks/Steamworks.vcxproj new file mode 100644 index 0000000..0a2688e --- /dev/null +++ b/source/Steamworks_vs/Steamworks/Steamworks.vcxproj @@ -0,0 +1,258 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {52f43e45-315c-4145-a717-ced98e7302d4} + Steamworks + 10.0 + + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + DynamicLibrary + true + v142 + Unicode + + + DynamicLibrary + false + v142 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + $(ProjectName) + ..\..\Steamworks_gml\extensions\Steamworks\ + + + false + ..\..\Steamworks_gml\extensions\Steamworks\ + + + true + ..\..\Steamworks_gml\extensions\Steamworks\ + $(ProjectName)_x64 + + + false + ..\..\Steamworks_gml\extensions\Steamworks\ + $(ProjectName)_x64 + + + + Level3 + true + OS_Windows;_CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;STEAMWORKS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + pch.h + ..\..\steamworks_sdk\public\steam\;.\;.\GMLSteam\;..\..\json-c-0.9 + stdcpp17 + + + Windows + true + false + ..\..\steamworks_sdk\redistributable_bin\;%(AdditionalLibraryDirectories) + steam_api.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + $(OutDir)$(TargetName)$(TargetExt) + + + + + Level3 + true + true + true + OS_Windows;_CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;STEAMWORKS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + pch.h + stdcpp17 + ..\..\steamworks_sdk\public\steam\;.\;.\GMLSteam\;..\..\json-c-0.9 + MultiThreaded + + + Windows + true + true + true + false + ..\..\steamworks_sdk\redistributable_bin\; + steam_api.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + true + OS_Windows;_CRT_SECURE_NO_WARNINGS;_DEBUG;STEAMWORKS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + pch.h + ..\..\steamworks_sdk\public\steam\;.\;.\GMLSteam\;..\..\json-c-0.9 + stdcpp17 + + + Windows + true + false + steam_api64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\steamworks_sdk\redistributable_bin\win64\; + + + + + Level3 + true + true + true + OS_Windows;_CRT_SECURE_NO_WARNINGS;NDEBUG;STEAMWORKS_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) + true + NotUsing + pch.h + ..\..\steamworks_sdk\public\steam\;.\;.\GMLSteam\;..\..\json-c-0.9 + stdcpp17 + MultiThreaded + + + Windows + true + true + true + false + steam_api64.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ..\..\steamworks_sdk\redistributable_bin\win64\; + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/Steamworks.vcxproj.filters b/source/Steamworks_vs/Steamworks/Steamworks.vcxproj.filters new file mode 100644 index 0000000..6d67e33 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/Steamworks.vcxproj.filters @@ -0,0 +1,225 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {c869ae68-6454-49e7-a738-1de4165aa21d} + + + + + Header Files + + + Header Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + json-c + + + Source Files + + + Source Files + + + \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/Steamworks.vcxproj.user b/source/Steamworks_vs/Steamworks/Steamworks.vcxproj.user new file mode 100644 index 0000000..77e2105 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/Steamworks.vcxproj.user @@ -0,0 +1,10 @@ + + + + + Default + + + Default + + \ No newline at end of file diff --git a/source/Steamworks_vs/Steamworks/YYRValue.h b/source/Steamworks_vs/Steamworks/YYRValue.h new file mode 100644 index 0000000..4ef9bae --- /dev/null +++ b/source/Steamworks_vs/Steamworks/YYRValue.h @@ -0,0 +1,130 @@ +// +// Copyright (C) 2020 Opera Norway AS. All rights reserved. +// +// This file is an original work developed by Opera. +// + +#ifndef __YYRVALUE_H__ +#define __YYRVALUE_H__ + +typedef signed int int32; +typedef long long int64; + +class YYObjectBase; +class IBuffer; + +#include "Extension_Interface.h" +#include "Ref.h" + +#if !defined(__defined_RValue_consts__) +#define __defined_RValue_consts__ +const int VALUE_REAL = 0; // Real value +const int VALUE_STRING = 1; // String value +const int VALUE_ARRAY = 2; // Array value +const int VALUE_OBJECT = 6; // YYObjectBase* value +const int VALUE_INT32 = 7; // Int32 value +const int VALUE_UNDEFINED = 5; // Undefined value +const int VALUE_PTR = 3; // Ptr value +const int VALUE_VEC3 = 4; // Deprecated : unused : Vec3 (x,y,z) value (within the RValue) +const int VALUE_VEC4 = 8; // Deprecated : unused :Vec4 (x,y,z,w) value (allocated from pool) +const int VALUE_VEC44 = 9; // Deprecated : unused :Vec44 (matrix) value (allocated from pool) +const int VALUE_INT64 = 10; // Int64 value +const int VALUE_ACCESSOR = 11; // Actually an accessor +const int VALUE_NULL = 12; // JS Null +const int VALUE_BOOL = 13; // Bool value +const int VALUE_ITERATOR = 14; // JS For-in Iterator +const int VALUE_REF = 15; // Reference value (uses the ptr to point at a RefBase structure) +#define MASK_KIND_RVALUE 0x0ffffff +const int VALUE_UNSET = MASK_KIND_RVALUE; + +struct RValue; +struct DynamicArrayOfRValue +{ + int length; + RValue* arr; +}; + +class RefDynamicArrayOfRValue; + +#define ARRAY_FLAG_IMMUTABLE 0x00000001 // true if the array is immutable and cannot be written to (NOTE: copies can be taken but the array cannot be written to, only read from) + +struct vec3 +{ + float x, y, z; +}; + +struct vec4 +{ + float x, y, z, w; +}; + +struct matrix44 +{ + vec4 m[4]; +}; + +const int ERV_None = 0; +const int ERV_Enumerable = (1 << 0); +const int ERV_Configurable = (1 << 1); +const int ERV_Writable = (1 << 2); +const int ERV_Owned = (1 << 3); + +#define JS_BUILTIN_PROPERTY_DEFAULT (ERV_Writable | ERV_Configurable ) +#define JS_BUILTIN_LENGTH_PROPERTY_DEFAULT (ERV_None) + + +#pragma pack( push, 4) +struct RValue +{ + union { + int32 v32; + int64 v64; + double val; // value when real + union { + union { + RefString* pRefString; + //char* str; // value when string + RefDynamicArrayOfRValue* pRefArray; // pointer to the array + vec4* pVec4; + matrix44* pMatrix44; + void* ptr; + YYObjectBase* pObj; + }; + }; + }; + unsigned int flags; // use for flags (Hijack for Enumerable and Configurable bits in JavaScript) (Note: probably will need a visibility as well, to support private variables that are promoted to object scope, but should not be seen (is that just not enumerated????) ) + unsigned int kind; // kind of value + +#if defined(__YYGML_H__) + void Serialise(IBuffer* _buffer); // TODO :: these are not available in Extensions + void DeSerialise(IBuffer* _buffer); +#endif + + const char* GetString() const { return (((kind & MASK_KIND_RVALUE) == VALUE_STRING) && (pRefString != NULL)) ? pRefString->get() : ""; } +// long long asInt64() const { return INT64_RValue(this); } +// double asReal() const { return REAL_RValue(this); } +// bool asBool() const { return BOOL_RValue(this); } + CInstance* asObject() const { return (((kind & MASK_KIND_RVALUE) == VALUE_OBJECT)) ? (CInstance*)pObj : NULL; } +}; + + +// new structure used to initialise constant numbers at global scope (to eliminate construction overhead). +struct DValue +{ + double val; + int dummy; + int kind; +}; + +struct DLValue +{ + int64 val; + int dummy; + int kind; +}; + +#pragma pack(pop) +#endif + + +#endif diff --git a/source/Steamworks_vs/Steamworks/dllmain.cpp b/source/Steamworks_vs/Steamworks/dllmain.cpp new file mode 100644 index 0000000..c2c8a71 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/dllmain.cpp @@ -0,0 +1,227 @@ + +#include "pch.h" +#include "steam_api.h" +#include "Extension_Interface.h" +#include "YYRValue.h" +#include "steam_common.h" +#include + +YYRunnerInterface gs_runnerInterface; +YYRunnerInterface* g_pYYRunnerInterface; + +//extern "C" __declspec(dllexport) void PreGraphicsInitialisation(char* arg1) +//{ +// +//} + + +YYEXPORT void YYExtensionInitialise(const struct YYRunnerInterface* _pFunctions, size_t _functions_size) +{ + //copy out all the functions + memcpy(&gs_runnerInterface, _pFunctions, sizeof(YYRunnerInterface)); + g_pYYRunnerInterface = &gs_runnerInterface; + + if (_functions_size < sizeof(YYRunnerInterface)) { + DebugConsoleOutput("ERROR : runner interface mismatch in extension DLL\n "); + } // end if + + DebugConsoleOutput("YYExtensionInitialise CONFIGURED \n "); + + // This stops the runner from crashing hard + if (!steam_is_initialised) return; + + Steam_UserStats_Init(); + Steam_Friends_Init(); + Steam_UGC_Init(); + Steam_Screenshots_Init(); + Steam_RemoteStorage_Init(); +} + + +std::vector _SW_GetArrayOfStrings(RValue* arg, int arg_idx, const char* func) +{ + RValue* pV = &(arg[arg_idx]); + + std::vector strings; + + if (KIND_RValue(pV) == VALUE_ARRAY) + { + RValue elem; + for (int i = 0; GET_RValue(&elem, pV, NULL, i); ++i) + { + if (KIND_RValue(&elem) != VALUE_STRING) + { + YYError("%s argument %d [array element %d] incorrect type (%s) expecting a String", func, (arg_idx + 1), i, KIND_NAME_RValue(pV)); + } + + strings.push_back(elem.GetString()); + } + } + else { + YYError("%s argument %d incorrect type (%s) expecting an Array", func, (arg_idx + 1), KIND_NAME_RValue(pV)); + } + + return strings; +} + +std::vector _SW_GetArrayOfInt32(RValue* arg, int arg_idx, const char* func) +{ + RValue* pV = &(arg[arg_idx]); + + std::vector vec; + + if (KIND_RValue(pV) == VALUE_ARRAY) + { + RValue elem; + for (int i = 0; GET_RValue(&elem, pV, NULL, i); ++i) + { + if (KIND_RValue(&elem) != VALUE_INT32) + { + YYError("%s argument %d [array element %d] incorrect type (%s) expecting a String", func, (arg_idx + 1), i, KIND_NAME_RValue(pV)); + } + + vec.push_back(YYGetInt32(&elem, i)); + } + } + else { + YYError("%s argument %d incorrect type (%s) expecting an Array", func, (arg_idx + 1), KIND_NAME_RValue(pV)); + } + + return vec; +} + +std::vector _SW_GetArrayOfUint64(RValue* arg, int arg_idx, const char* func) +{ + RValue* pV = &(arg[arg_idx]); + + std::vector vec; + + if (KIND_RValue(pV) == VALUE_ARRAY) + { + RValue elem; + for (int i = 0; GET_RValue(&elem, pV, NULL, i); ++i) + { + if (KIND_RValue(&elem) != VALUE_INT64) + { + YYError("%s argument %d [array element %d] incorrect type (%s) expecting a String", func, (arg_idx + 1), i, KIND_NAME_RValue(pV)); + } + + vec.push_back(YYGetInt64(&elem, i)); + } + } + else { + YYError("%s argument %d incorrect type (%s) expecting an Array", func, (arg_idx + 1), KIND_NAME_RValue(pV)); + } + + return vec; +} + +void _SW_SetArrayOfString(RValue* _array, char* str, const char* delim) +{ + int idx = 0; + char* token; + + /* get the first token */ + token = strtok(str, delim); + + /* walk through other tokens */ + while (token != NULL) + { + RValue tag = { 0 }; + YYCreateString(&tag, token); + SET_RValue(_array, &tag, NULL, idx++); + FREE_RValue(&tag); + + token = strtok(NULL, delim); + } +} + +void _SW_SetArrayOfReal(RValue* _array, std::vector values) +{ + for (int i = 0; i < values.size(); i++) + { + RValue tag = { 0 }; + tag.kind = VALUE_REAL; + tag.val = values[i]; + + SET_RValue(_array, &tag, NULL, i); + FREE_RValue(&tag); + } +} + +void _SW_SetArrayOfRValue(RValue* _array, std::vector values) +{ + for (int i = 0 ; i < values.size() ; i++) + { + RValue tag = values[i]; + + SET_RValue(_array, &tag, NULL, i); + FREE_RValue(&tag); + } +} + +void _SW_SetArrayOfInt32(RValue* _array, std::vector values) +{ + for (int i = 0; i < values.size(); i++) + { + RValue tag = { 0 }; + tag.kind = VALUE_INT32; + tag.v32 = values[i]; + + SET_RValue(_array, &tag, NULL, i); + FREE_RValue(&tag); + } +} + +YYEXPORT double SimpleDesktopExample_Test(double val) +{ + return val; +} + +YYEXPORT void SimpleDesktopExample_ReturnString(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + DebugConsoleOutput("SimpleDesktopExample_ReturnString \n "); + YYCreateString(&Result, "Hello World"); +} + +double val = 0; +YYEXPORT void SimpleDesktopExample_ReturnDouble(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + double inc = YYGetReal(arg, 0); + + val += inc; + + Result.kind = VALUE_REAL; + Result.val = val; +} + +YYEXPORT void SimpleDesktopExample_AsyncCallback(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + int map = CreateDsMap(0,0); + DsMapAddString(map, "type", "SimpleDesktopExample_AsyncCallback"); + DsMapAddDouble(map, "double", val); + DsMapAddString(map, "string", "Hello World"); + + CreateAsyncEventWithDSMap(map, 70); +} +/* +YYEXPORT void SimpleDesktopExample_EchoStruct(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + RValue* pV = &(arg[0]); + + COPY_RValue(&Result, pV); + FREE_RValue(pV); +} +*/ +YYEXPORT void SimpleDesktopExample_ReturnStruct(RValue& Result, CInstance* selfinst, CInstance* otherinst, int argc, RValue* arg) +{ + RValue Struct = { 0 }; + YYStructCreate(&Struct); + + YYStructAddDouble(&Struct, "double", val); + YYStructAddString(&Struct, "string", "YoYoGames X Opera"); + + COPY_RValue(&Result, &Struct); + FREE_RValue(&Struct); +} + diff --git a/source/Steamworks_vs/Steamworks/framework.h b/source/Steamworks_vs/Steamworks/framework.h new file mode 100644 index 0000000..3e26484 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/framework.h @@ -0,0 +1,9 @@ +#pragma once + +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files + +#ifdef OS_Windows +#include +#endif + diff --git a/source/Steamworks_vs/Steamworks/pch.cpp b/source/Steamworks_vs/Steamworks/pch.cpp new file mode 100644 index 0000000..64b7eef --- /dev/null +++ b/source/Steamworks_vs/Steamworks/pch.cpp @@ -0,0 +1,5 @@ +// pch.cpp: source file corresponding to the pre-compiled header + +#include "pch.h" + +// When you are using pre-compiled headers, this source file is necessary for compilation to succeed. diff --git a/source/Steamworks_vs/Steamworks/pch.h b/source/Steamworks_vs/Steamworks/pch.h new file mode 100644 index 0000000..885d5d6 --- /dev/null +++ b/source/Steamworks_vs/Steamworks/pch.h @@ -0,0 +1,13 @@ +// pch.h: This is a precompiled header file. +// Files listed below are compiled only once, improving build performance for future builds. +// This also affects IntelliSense performance, including code completion and many code browsing features. +// However, files listed here are ALL re-compiled if any one of them is updated between builds. +// Do not add files here that you will be updating frequently as this negates the performance advantage. + +#ifndef PCH_H +#define PCH_H + +// add headers that you want to pre-compile here +#include "framework.h" + +#endif //PCH_H diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/project.pbxproj b/source/Steamworks_xcode/Steamworks.xcodeproj/project.pbxproj new file mode 100644 index 0000000..980a3a9 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks.xcodeproj/project.pbxproj @@ -0,0 +1,780 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 55; + objects = { + +/* Begin PBXBuildFile section */ + 1FE71D5227B2DF3A00ABC624 /* libsteam_api.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 2BDE09B62790A50B0090737D /* libsteam_api.dylib */; }; + 2BC97897287F3DAD0079F3E2 /* DesktopExtensionTools.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2BC97896287F3DAD0079F3E2 /* DesktopExtensionTools.mm */; }; + 2BC97899287F3DC70079F3E2 /* IniOptionsLibrary.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2BC97898287F3DC70079F3E2 /* IniOptionsLibrary.mm */; }; + 2BC9789C287F3DE60079F3E2 /* DesktopExtensionTools.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC9789A287F3DE60079F3E2 /* DesktopExtensionTools.h */; }; + 2BC9789D287F3DE60079F3E2 /* IniOptionsLibrary.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BC9789B287F3DE60079F3E2 /* IniOptionsLibrary.h */; }; + 2BDE095A278F978C0090737D /* isteamps3overlayrenderer.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0933278F978C0090737D /* isteamps3overlayrenderer.h */; }; + 2BDE095B278F978C0090737D /* isteammusic.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0934278F978C0090737D /* isteammusic.h */; }; + 2BDE095C278F978C0090737D /* isteammusicremote.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0935278F978C0090737D /* isteammusicremote.h */; }; + 2BDE095D278F978C0090737D /* steam_api_internal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0937278F978C0090737D /* steam_api_internal.h */; }; + 2BDE095E278F978C0090737D /* steamencryptedappticket.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0938278F978C0090737D /* steamencryptedappticket.h */; }; + 2BDE095F278F978C0090737D /* isteamparentalsettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0939278F978C0090737D /* isteamparentalsettings.h */; }; + 2BDE0960278F978C0090737D /* isteamgameserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE093A278F978C0090737D /* isteamgameserver.h */; }; + 2BDE0961278F978C0090737D /* steamtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE093B278F978C0090737D /* steamtypes.h */; }; + 2BDE0962278F978C0090737D /* isteamapps.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE093C278F978C0090737D /* isteamapps.h */; }; + 2BDE0963278F978C0090737D /* steam_gameserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE093D278F978C0090737D /* steam_gameserver.h */; }; + 2BDE0964278F978C0090737D /* isteamremotestorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE093E278F978C0090737D /* isteamremotestorage.h */; }; + 2BDE0965278F978C0090737D /* isteamscreenshots.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE093F278F978C0090737D /* isteamscreenshots.h */; }; + 2BDE0966278F978C0090737D /* steam_api_flat.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0940278F978C0090737D /* steam_api_flat.h */; }; + 2BDE0967278F978C0090737D /* isteamuser.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0941278F978C0090737D /* isteamuser.h */; }; + 2BDE0968278F978C0090737D /* isteamvideo.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0942278F978C0090737D /* isteamvideo.h */; }; + 2BDE0969278F978C0090737D /* isteamgamecoordinator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0943278F978C0090737D /* isteamgamecoordinator.h */; }; + 2BDE096A278F978C0090737D /* matchmakingtypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0944278F978C0090737D /* matchmakingtypes.h */; }; + 2BDE096B278F978C0090737D /* isteamclient.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0945278F978C0090737D /* isteamclient.h */; }; + 2BDE096C278F978C0090737D /* isteamnetworking.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0946278F978C0090737D /* isteamnetworking.h */; }; + 2BDE096D278F978C0090737D /* isteamgameserverstats.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0948278F978C0090737D /* isteamgameserverstats.h */; }; + 2BDE096E278F978C0090737D /* isteammatchmaking.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0949278F978C0090737D /* isteammatchmaking.h */; }; + 2BDE096F278F978C0090737D /* steamhttpenums.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE094A278F978C0090737D /* steamhttpenums.h */; }; + 2BDE0970278F978C0090737D /* steamps3params.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE094B278F978C0090737D /* steamps3params.h */; }; + 2BDE0971278F978C0090737D /* isteamfriends.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE094C278F978C0090737D /* isteamfriends.h */; }; + 2BDE0972278F978C0090737D /* isteamcontroller.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE094D278F978C0090737D /* isteamcontroller.h */; }; + 2BDE0973278F978C0090737D /* isteamapplist.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE094E278F978C0090737D /* isteamapplist.h */; }; + 2BDE0974278F978C0090737D /* steamuniverse.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE094F278F978C0090737D /* steamuniverse.h */; }; + 2BDE0975278F978C0090737D /* isteamappticket.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0950278F978C0090737D /* isteamappticket.h */; }; + 2BDE0976278F978C0090737D /* steamclientpublic.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0951278F978C0090737D /* steamclientpublic.h */; }; + 2BDE0977278F978C0090737D /* isteamugc.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0952278F978C0090737D /* isteamugc.h */; }; + 2BDE0978278F978C0090737D /* steam_api.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0953278F978C0090737D /* steam_api.h */; }; + 2BDE0979278F978C0090737D /* isteaminventory.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0954278F978C0090737D /* isteaminventory.h */; }; + 2BDE097A278F978C0090737D /* isteammasterserverupdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0955278F978C0090737D /* isteammasterserverupdater.h */; }; + 2BDE097B278F978C0090737D /* isteamhtmlsurface.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0956278F978C0090737D /* isteamhtmlsurface.h */; }; + 2BDE097C278F978C0090737D /* isteamutils.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0957278F978C0090737D /* isteamutils.h */; }; + 2BDE097D278F978C0090737D /* isteamuserstats.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0958278F978C0090737D /* isteamuserstats.h */; }; + 2BDE097E278F978C0090737D /* isteamhttp.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0959278F978C0090737D /* isteamhttp.h */; }; + 2BDE098B278F97BD0090737D /* steam_ugc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE097F278F97BD0090737D /* steam_ugc.cpp */; }; + 2BDE098C278F97BD0090737D /* steam_init_new.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0980278F97BD0090737D /* steam_init_new.cpp */; }; + 2BDE098D278F97BD0090737D /* steam_init.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0981278F97BD0090737D /* steam_init.cpp */; }; + 2BDE098E278F97BD0090737D /* steam_friends.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0982278F97BD0090737D /* steam_friends.cpp */; }; + 2BDE098F278F97BD0090737D /* steam_remotestorage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0983278F97BD0090737D /* steam_remotestorage.cpp */; }; + 2BDE0990278F97BD0090737D /* steam_common.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0984278F97BD0090737D /* steam_common.h */; }; + 2BDE0991278F97BD0090737D /* steam_apps.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0985278F97BD0090737D /* steam_apps.cpp */; }; + 2BDE0992278F97BD0090737D /* steam_funcs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0986278F97BD0090737D /* steam_funcs.cpp */; }; + 2BDE0993278F97BD0090737D /* steam_funcs.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0987278F97BD0090737D /* steam_funcs.h */; }; + 2BDE0994278F97BD0090737D /* steam_userstats.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0988278F97BD0090737D /* steam_userstats.cpp */; }; + 2BDE0995278F97BD0090737D /* steam_screenshots.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0989278F97BD0090737D /* steam_screenshots.cpp */; }; + 2BDE099E278F97E60090737D /* Extension_Interface.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE0997278F97E60090737D /* Extension_Interface.h */; }; + 2BDE099F278F97E60090737D /* dllmain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0998278F97E60090737D /* dllmain.cpp */; }; + 2BDE09A0278F97E60090737D /* pch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2BDE0999278F97E60090737D /* pch.cpp */; }; + 2BDE09A1278F97E60090737D /* YYRValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE099A278F97E60090737D /* YYRValue.h */; }; + 2BDE09A2278F97E60090737D /* Ref.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE099B278F97E60090737D /* Ref.h */; }; + 2BDE09A3278F97E60090737D /* framework.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE099C278F97E60090737D /* framework.h */; }; + 2BDE09A4278F97E60090737D /* pch.h in Headers */ = {isa = PBXBuildFile; fileRef = 2BDE099D278F97E60090737D /* pch.h */; }; + 6A60CF7E280AF8C6001B5E90 /* linkhash.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF5B280AF8C6001B5E90 /* linkhash.c */; }; + 6A60CF7F280AF8C6001B5E90 /* linkhash.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF5D280AF8C6001B5E90 /* linkhash.h */; }; + 6A60CF80280AF8C6001B5E90 /* bits.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF5E280AF8C6001B5E90 /* bits.h */; }; + 6A60CF81280AF8C6001B5E90 /* debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF64280AF8C6001B5E90 /* debug.c */; }; + 6A60CF82280AF8C6001B5E90 /* json_tokener.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF66280AF8C6001B5E90 /* json_tokener.h */; }; + 6A60CF83280AF8C6001B5E90 /* json_object_private.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF67280AF8C6001B5E90 /* json_object_private.h */; }; + 6A60CF84280AF8C6001B5E90 /* json_object.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF68280AF8C6001B5E90 /* json_object.c */; }; + 6A60CF85280AF8C6001B5E90 /* arraylist.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF6B280AF8C6001B5E90 /* arraylist.h */; }; + 6A60CF86280AF8C6001B5E90 /* printbuf.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF6C280AF8C6001B5E90 /* printbuf.h */; }; + 6A60CF87280AF8C6001B5E90 /* printbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF6E280AF8C6001B5E90 /* printbuf.c */; }; + 6A60CF88280AF8C6001B5E90 /* debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF71280AF8C6001B5E90 /* debug.h */; }; + 6A60CF89280AF8C6001B5E90 /* json_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF72280AF8C6001B5E90 /* json_util.h */; }; + 6A60CF8A280AF8C6001B5E90 /* json_tokener.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF74280AF8C6001B5E90 /* json_tokener.c */; }; + 6A60CF8B280AF8C6001B5E90 /* arraylist.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF76280AF8C6001B5E90 /* arraylist.c */; }; + 6A60CF8C280AF8C6001B5E90 /* json_util.c in Sources */ = {isa = PBXBuildFile; fileRef = 6A60CF79280AF8C6001B5E90 /* json_util.c */; }; + 6A60CF8D280AF8C6001B5E90 /* json_object.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF7A280AF8C6001B5E90 /* json_object.h */; }; + 6A60CF8E280AF8C6001B5E90 /* json-c.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF7C280AF8C6001B5E90 /* json-c.h */; }; + 6A60CF8F280AF8C6001B5E90 /* JSON-config.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A60CF7D280AF8C6001B5E90 /* JSON-config.h */; }; + 6ABC1B48280CBC3200BE82A7 /* libSteamworks.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2BDE0923278F96F80090737D /* libSteamworks.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 6AC529CC27E8F928004CB8F5 /* gml_ext.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AC529BB27E8F928004CB8F5 /* gml_ext.h */; }; + 6AC529CD27E8F928004CB8F5 /* steam_controller.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529BC27E8F928004CB8F5 /* steam_controller.cpp */; }; + 6AC529CE27E8F928004CB8F5 /* steam_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529BD27E8F928004CB8F5 /* steam_utils.cpp */; }; + 6AC529CF27E8F928004CB8F5 /* steam_unsorted.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529BE27E8F928004CB8F5 /* steam_unsorted.cpp */; }; + 6AC529D027E8F928004CB8F5 /* steam_glue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529BF27E8F928004CB8F5 /* steam_glue.cpp */; }; + 6AC529D127E8F928004CB8F5 /* steam_callbacks.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AC529C027E8F928004CB8F5 /* steam_callbacks.h */; }; + 6AC529D227E8F928004CB8F5 /* steam_callbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C127E8F928004CB8F5 /* steam_callbacks.cpp */; }; + 6AC529D327E8F928004CB8F5 /* gml_glue.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AC529C227E8F928004CB8F5 /* gml_glue.h */; }; + 6AC529D427E8F928004CB8F5 /* steam_inventory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C327E8F928004CB8F5 /* steam_inventory.cpp */; }; + 6AC529D527E8F928004CB8F5 /* steam_misc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C427E8F928004CB8F5 /* steam_misc.cpp */; }; + 6AC529D627E8F928004CB8F5 /* steam_glue.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AC529C527E8F928004CB8F5 /* steam_glue.h */; }; + 6AC529D727E8F928004CB8F5 /* steam_networking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C627E8F928004CB8F5 /* steam_networking.cpp */; }; + 6AC529D827E8F928004CB8F5 /* steam_matchmaking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C727E8F928004CB8F5 /* steam_matchmaking.cpp */; }; + 6AC529D927E8F928004CB8F5 /* gml_glue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C827E8F928004CB8F5 /* gml_glue.cpp */; }; + 6AC529DA27E8F928004CB8F5 /* steam_workshop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529C927E8F928004CB8F5 /* steam_workshop.cpp */; }; + 6AC529DB27E8F928004CB8F5 /* steam_lobby_chat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AC529CA27E8F928004CB8F5 /* steam_lobby_chat.cpp */; }; + 6AC529DC27E8F928004CB8F5 /* gml_glue_map.h in Headers */ = {isa = PBXBuildFile; fileRef = 6AC529CB27E8F928004CB8F5 /* gml_glue_map.h */; }; + 6AE148B427C4582E0098A007 /* steam_user.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6AE148B227C4582E0098A007 /* steam_user.cpp */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 2BADDA3427C27D9E00682B15 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "${PROJECT_DIR}/../Steamworks_gml/extensions/Steamworks"; + dstSubfolderSpec = 0; + files = ( + 6ABC1B48280CBC3200BE82A7 /* libSteamworks.dylib in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 2B53B66B27972B9300544C01 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + 2BC97896287F3DAD0079F3E2 /* DesktopExtensionTools.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DesktopExtensionTools.mm; path = ../../Steamworks_vs/Steamworks/DesktopExtensionTools.mm; sourceTree = ""; }; + 2BC97898287F3DC70079F3E2 /* IniOptionsLibrary.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = IniOptionsLibrary.mm; path = ../../Steamworks_vs/Steamworks/IniOptionsLibrary.mm; sourceTree = ""; }; + 2BC9789A287F3DE60079F3E2 /* DesktopExtensionTools.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DesktopExtensionTools.h; path = ../../Steamworks_vs/Steamworks/DesktopExtensionTools.h; sourceTree = ""; }; + 2BC9789B287F3DE60079F3E2 /* IniOptionsLibrary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IniOptionsLibrary.h; path = ../../Steamworks_vs/Steamworks/IniOptionsLibrary.h; sourceTree = ""; }; + 2BDE0923278F96F80090737D /* libSteamworks.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSteamworks.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + 2BDE0933278F978C0090737D /* isteamps3overlayrenderer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamps3overlayrenderer.h; sourceTree = ""; }; + 2BDE0934278F978C0090737D /* isteammusic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteammusic.h; sourceTree = ""; }; + 2BDE0935278F978C0090737D /* isteammusicremote.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteammusicremote.h; sourceTree = ""; }; + 2BDE0936278F978C0090737D /* steam_api_interop.cs */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = steam_api_interop.cs; sourceTree = ""; }; + 2BDE0937278F978C0090737D /* steam_api_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steam_api_internal.h; sourceTree = ""; }; + 2BDE0938278F978C0090737D /* steamencryptedappticket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steamencryptedappticket.h; sourceTree = ""; }; + 2BDE0939278F978C0090737D /* isteamparentalsettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamparentalsettings.h; sourceTree = ""; }; + 2BDE093A278F978C0090737D /* isteamgameserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamgameserver.h; sourceTree = ""; }; + 2BDE093B278F978C0090737D /* steamtypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steamtypes.h; sourceTree = ""; }; + 2BDE093C278F978C0090737D /* isteamapps.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamapps.h; sourceTree = ""; }; + 2BDE093D278F978C0090737D /* steam_gameserver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steam_gameserver.h; sourceTree = ""; }; + 2BDE093E278F978C0090737D /* isteamremotestorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamremotestorage.h; sourceTree = ""; }; + 2BDE093F278F978C0090737D /* isteamscreenshots.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamscreenshots.h; sourceTree = ""; }; + 2BDE0940278F978C0090737D /* steam_api_flat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steam_api_flat.h; sourceTree = ""; }; + 2BDE0941278F978C0090737D /* isteamuser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamuser.h; sourceTree = ""; }; + 2BDE0942278F978C0090737D /* isteamvideo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamvideo.h; sourceTree = ""; }; + 2BDE0943278F978C0090737D /* isteamgamecoordinator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamgamecoordinator.h; sourceTree = ""; }; + 2BDE0944278F978C0090737D /* matchmakingtypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = matchmakingtypes.h; sourceTree = ""; }; + 2BDE0945278F978C0090737D /* isteamclient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamclient.h; sourceTree = ""; }; + 2BDE0946278F978C0090737D /* isteamnetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamnetworking.h; sourceTree = ""; }; + 2BDE0947278F978C0090737D /* steam_api.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = steam_api.json; sourceTree = ""; }; + 2BDE0948278F978C0090737D /* isteamgameserverstats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamgameserverstats.h; sourceTree = ""; }; + 2BDE0949278F978C0090737D /* isteammatchmaking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteammatchmaking.h; sourceTree = ""; }; + 2BDE094A278F978C0090737D /* steamhttpenums.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steamhttpenums.h; sourceTree = ""; }; + 2BDE094B278F978C0090737D /* steamps3params.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steamps3params.h; sourceTree = ""; }; + 2BDE094C278F978C0090737D /* isteamfriends.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamfriends.h; sourceTree = ""; }; + 2BDE094D278F978C0090737D /* isteamcontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamcontroller.h; sourceTree = ""; }; + 2BDE094E278F978C0090737D /* isteamapplist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamapplist.h; sourceTree = ""; }; + 2BDE094F278F978C0090737D /* steamuniverse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steamuniverse.h; sourceTree = ""; }; + 2BDE0950278F978C0090737D /* isteamappticket.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamappticket.h; sourceTree = ""; }; + 2BDE0951278F978C0090737D /* steamclientpublic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steamclientpublic.h; sourceTree = ""; }; + 2BDE0952278F978C0090737D /* isteamugc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamugc.h; sourceTree = ""; }; + 2BDE0953278F978C0090737D /* steam_api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = steam_api.h; sourceTree = ""; }; + 2BDE0954278F978C0090737D /* isteaminventory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteaminventory.h; sourceTree = ""; }; + 2BDE0955278F978C0090737D /* isteammasterserverupdater.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteammasterserverupdater.h; sourceTree = ""; }; + 2BDE0956278F978C0090737D /* isteamhtmlsurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamhtmlsurface.h; sourceTree = ""; }; + 2BDE0957278F978C0090737D /* isteamutils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamutils.h; sourceTree = ""; }; + 2BDE0958278F978C0090737D /* isteamuserstats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamuserstats.h; sourceTree = ""; }; + 2BDE0959278F978C0090737D /* isteamhttp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = isteamhttp.h; sourceTree = ""; }; + 2BDE097F278F97BD0090737D /* steam_ugc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_ugc.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_ugc.cpp; sourceTree = ""; }; + 2BDE0980278F97BD0090737D /* steam_init_new.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_init_new.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_init_new.cpp; sourceTree = ""; }; + 2BDE0981278F97BD0090737D /* steam_init.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_init.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_init.cpp; sourceTree = ""; }; + 2BDE0982278F97BD0090737D /* steam_friends.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_friends.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_friends.cpp; sourceTree = ""; }; + 2BDE0983278F97BD0090737D /* steam_remotestorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_remotestorage.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_remotestorage.cpp; sourceTree = ""; }; + 2BDE0984278F97BD0090737D /* steam_common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = steam_common.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_common.h; sourceTree = ""; }; + 2BDE0985278F97BD0090737D /* steam_apps.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_apps.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_apps.cpp; sourceTree = ""; }; + 2BDE0986278F97BD0090737D /* steam_funcs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_funcs.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_funcs.cpp; sourceTree = ""; }; + 2BDE0987278F97BD0090737D /* steam_funcs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = steam_funcs.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_funcs.h; sourceTree = ""; }; + 2BDE0988278F97BD0090737D /* steam_userstats.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_userstats.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_userstats.cpp; sourceTree = ""; }; + 2BDE0989278F97BD0090737D /* steam_screenshots.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_screenshots.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_screenshots.cpp; sourceTree = ""; }; + 2BDE0997278F97E60090737D /* Extension_Interface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Extension_Interface.h; path = ../../Steamworks_vs/Steamworks/Extension_Interface.h; sourceTree = ""; }; + 2BDE0998278F97E60090737D /* dllmain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = dllmain.cpp; path = ../../Steamworks_vs/Steamworks/dllmain.cpp; sourceTree = ""; }; + 2BDE0999278F97E60090737D /* pch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = pch.cpp; path = ../../Steamworks_vs/Steamworks/pch.cpp; sourceTree = ""; }; + 2BDE099A278F97E60090737D /* YYRValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = YYRValue.h; path = ../../Steamworks_vs/Steamworks/YYRValue.h; sourceTree = ""; }; + 2BDE099B278F97E60090737D /* Ref.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Ref.h; path = ../../Steamworks_vs/Steamworks/Ref.h; sourceTree = ""; }; + 2BDE099C278F97E60090737D /* framework.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = framework.h; path = ../../Steamworks_vs/Steamworks/framework.h; sourceTree = ""; }; + 2BDE099D278F97E60090737D /* pch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pch.h; path = ../../Steamworks_vs/Steamworks/pch.h; sourceTree = ""; }; + 2BDE09B62790A50B0090737D /* libsteam_api.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsteam_api.dylib; path = ../steamworks_sdk/redistributable_bin/osx/libsteam_api.dylib; sourceTree = ""; }; + 6A60CF5B280AF8C6001B5E90 /* linkhash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = linkhash.c; path = "../../../json-c-0.9/linkhash.c"; sourceTree = ""; }; + 6A60CF5C280AF8C6001B5E90 /* Android */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Android; path = "../../../json-c-0.9/Android"; sourceTree = ""; }; + 6A60CF5D280AF8C6001B5E90 /* linkhash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = linkhash.h; path = "../../../json-c-0.9/linkhash.h"; sourceTree = ""; }; + 6A60CF5E280AF8C6001B5E90 /* bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bits.h; path = "../../../json-c-0.9/bits.h"; sourceTree = ""; }; + 6A60CF5F280AF8C6001B5E90 /* 3DS */ = {isa = PBXFileReference; lastKnownFileType = folder; name = 3DS; path = "../../../json-c-0.9/3DS"; sourceTree = ""; }; + 6A60CF60280AF8C6001B5E90 /* PS5 */ = {isa = PBXFileReference; lastKnownFileType = folder; name = PS5; path = "../../../json-c-0.9/PS5"; sourceTree = ""; }; + 6A60CF61280AF8C6001B5E90 /* PSVita */ = {isa = PBXFileReference; lastKnownFileType = folder; name = PSVita; path = "../../../json-c-0.9/PSVita"; sourceTree = ""; }; + 6A60CF62280AF8C6001B5E90 /* Linux */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Linux; path = "../../../json-c-0.9/Linux"; sourceTree = ""; }; + 6A60CF63280AF8C6001B5E90 /* PSP */ = {isa = PBXFileReference; lastKnownFileType = folder; name = PSP; path = "../../../json-c-0.9/PSP"; sourceTree = ""; }; + 6A60CF64280AF8C6001B5E90 /* debug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = debug.c; path = "../../../json-c-0.9/debug.c"; sourceTree = ""; }; + 6A60CF65280AF8C6001B5E90 /* Switch */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Switch; path = "../../../json-c-0.9/Switch"; sourceTree = ""; }; + 6A60CF66280AF8C6001B5E90 /* json_tokener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_tokener.h; path = "../../../json-c-0.9/json_tokener.h"; sourceTree = ""; }; + 6A60CF67280AF8C6001B5E90 /* json_object_private.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_object_private.h; path = "../../../json-c-0.9/json_object_private.h"; sourceTree = ""; }; + 6A60CF68280AF8C6001B5E90 /* json_object.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = json_object.c; path = "../../../json-c-0.9/json_object.c"; sourceTree = ""; }; + 6A60CF69280AF8C6001B5E90 /* PS4 */ = {isa = PBXFileReference; lastKnownFileType = folder; name = PS4; path = "../../../json-c-0.9/PS4"; sourceTree = ""; }; + 6A60CF6A280AF8C6001B5E90 /* WiiU */ = {isa = PBXFileReference; lastKnownFileType = folder; name = WiiU; path = "../../../json-c-0.9/WiiU"; sourceTree = ""; }; + 6A60CF6B280AF8C6001B5E90 /* arraylist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = arraylist.h; path = "../../../json-c-0.9/arraylist.h"; sourceTree = ""; }; + 6A60CF6C280AF8C6001B5E90 /* printbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = printbuf.h; path = "../../../json-c-0.9/printbuf.h"; sourceTree = ""; }; + 6A60CF6D280AF8C6001B5E90 /* Win32 */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Win32; path = "../../../json-c-0.9/Win32"; sourceTree = ""; }; + 6A60CF6E280AF8C6001B5E90 /* printbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = printbuf.c; path = "../../../json-c-0.9/printbuf.c"; sourceTree = ""; }; + 6A60CF6F280AF8C6001B5E90 /* WinMetro */ = {isa = PBXFileReference; lastKnownFileType = folder; name = WinMetro; path = "../../../json-c-0.9/WinMetro"; sourceTree = ""; }; + 6A60CF70280AF8C6001B5E90 /* WinPhone */ = {isa = PBXFileReference; lastKnownFileType = folder; name = WinPhone; path = "../../../json-c-0.9/WinPhone"; sourceTree = ""; }; + 6A60CF71280AF8C6001B5E90 /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = debug.h; path = "../../../json-c-0.9/debug.h"; sourceTree = ""; }; + 6A60CF72280AF8C6001B5E90 /* json_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_util.h; path = "../../../json-c-0.9/json_util.h"; sourceTree = ""; }; + 6A60CF73280AF8C6001B5E90 /* Mac */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Mac; path = "../../../json-c-0.9/Mac"; sourceTree = ""; }; + 6A60CF74280AF8C6001B5E90 /* json_tokener.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = json_tokener.c; path = "../../../json-c-0.9/json_tokener.c"; sourceTree = ""; }; + 6A60CF75280AF8C6001B5E90 /* XboxOne */ = {isa = PBXFileReference; lastKnownFileType = folder; name = XboxOne; path = "../../../json-c-0.9/XboxOne"; sourceTree = ""; }; + 6A60CF76280AF8C6001B5E90 /* arraylist.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = arraylist.c; path = "../../../json-c-0.9/arraylist.c"; sourceTree = ""; }; + 6A60CF77280AF8C6001B5E90 /* iPad */ = {isa = PBXFileReference; lastKnownFileType = folder; name = iPad; path = "../../../json-c-0.9/iPad"; sourceTree = ""; }; + 6A60CF78280AF8C6001B5E90 /* Tizen */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Tizen; path = "../../../json-c-0.9/Tizen"; sourceTree = ""; }; + 6A60CF79280AF8C6001B5E90 /* json_util.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = json_util.c; path = "../../../json-c-0.9/json_util.c"; sourceTree = ""; }; + 6A60CF7A280AF8C6001B5E90 /* json_object.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = json_object.h; path = "../../../json-c-0.9/json_object.h"; sourceTree = ""; }; + 6A60CF7B280AF8C6001B5E90 /* PS3 */ = {isa = PBXFileReference; lastKnownFileType = folder; name = PS3; path = "../../../json-c-0.9/PS3"; sourceTree = ""; }; + 6A60CF7C280AF8C6001B5E90 /* json-c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "json-c.h"; path = "../../../json-c-0.9/json-c.h"; sourceTree = ""; }; + 6A60CF7D280AF8C6001B5E90 /* JSON-config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "JSON-config.h"; path = "../../../json-c-0.9/JSON-config.h"; sourceTree = ""; }; + 6AC529BB27E8F928004CB8F5 /* gml_ext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gml_ext.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/gml_ext.h; sourceTree = ""; }; + 6AC529BC27E8F928004CB8F5 /* steam_controller.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_controller.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_controller.cpp; sourceTree = ""; }; + 6AC529BD27E8F928004CB8F5 /* steam_utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_utils.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_utils.cpp; sourceTree = ""; }; + 6AC529BE27E8F928004CB8F5 /* steam_unsorted.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_unsorted.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_unsorted.cpp; sourceTree = ""; }; + 6AC529BF27E8F928004CB8F5 /* steam_glue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_glue.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_glue.cpp; sourceTree = ""; }; + 6AC529C027E8F928004CB8F5 /* steam_callbacks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = steam_callbacks.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.h; sourceTree = ""; }; + 6AC529C127E8F928004CB8F5 /* steam_callbacks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_callbacks.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_callbacks.cpp; sourceTree = ""; }; + 6AC529C227E8F928004CB8F5 /* gml_glue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gml_glue.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/gml_glue.h; sourceTree = ""; }; + 6AC529C327E8F928004CB8F5 /* steam_inventory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_inventory.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_inventory.cpp; sourceTree = ""; }; + 6AC529C427E8F928004CB8F5 /* steam_misc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_misc.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_misc.cpp; sourceTree = ""; }; + 6AC529C527E8F928004CB8F5 /* steam_glue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = steam_glue.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_glue.h; sourceTree = ""; }; + 6AC529C627E8F928004CB8F5 /* steam_networking.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_networking.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_networking.cpp; sourceTree = ""; }; + 6AC529C727E8F928004CB8F5 /* steam_matchmaking.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_matchmaking.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_matchmaking.cpp; sourceTree = ""; }; + 6AC529C827E8F928004CB8F5 /* gml_glue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = gml_glue.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/gml_glue.cpp; sourceTree = ""; }; + 6AC529C927E8F928004CB8F5 /* steam_workshop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_workshop.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_workshop.cpp; sourceTree = ""; }; + 6AC529CA27E8F928004CB8F5 /* steam_lobby_chat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_lobby_chat.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_lobby_chat.cpp; sourceTree = ""; }; + 6AC529CB27E8F928004CB8F5 /* gml_glue_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gml_glue_map.h; path = ../../../Steamworks_vs/Steamworks/GMLSteam/gml_glue_map.h; sourceTree = ""; }; + 6AE148B227C4582E0098A007 /* steam_user.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = steam_user.cpp; path = ../../../Steamworks_vs/Steamworks/GMLSteam/steam_user.cpp; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 2BDE0921278F96F80090737D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 1FE71D5227B2DF3A00ABC624 /* libsteam_api.dylib in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 2BDE091A278F96F80090737D = { + isa = PBXGroup; + children = ( + 2BDE0925278F96F80090737D /* Steamworks */, + 2BDE0924278F96F80090737D /* Products */, + 2BDE09A5278F9A940090737D /* Frameworks */, + ); + sourceTree = ""; + }; + 2BDE0924278F96F80090737D /* Products */ = { + isa = PBXGroup; + children = ( + 2BDE0923278F96F80090737D /* libSteamworks.dylib */, + ); + name = Products; + sourceTree = ""; + }; + 2BDE0925278F96F80090737D /* Steamworks */ = { + isa = PBXGroup; + children = ( + 2BC9789A287F3DE60079F3E2 /* DesktopExtensionTools.h */, + 2BC9789B287F3DE60079F3E2 /* IniOptionsLibrary.h */, + 2BC97898287F3DC70079F3E2 /* IniOptionsLibrary.mm */, + 2BC97896287F3DAD0079F3E2 /* DesktopExtensionTools.mm */, + 6A60CF5A280AF891001B5E90 /* json-c */, + 2BDE0998278F97E60090737D /* dllmain.cpp */, + 2BDE0997278F97E60090737D /* Extension_Interface.h */, + 2BDE099C278F97E60090737D /* framework.h */, + 2BDE0999278F97E60090737D /* pch.cpp */, + 2BDE099D278F97E60090737D /* pch.h */, + 2BDE099B278F97E60090737D /* Ref.h */, + 2BDE099A278F97E60090737D /* YYRValue.h */, + 2BDE0932278F975F0090737D /* GMSteam */, + 2BDE0931278F974F0090737D /* Include */, + ); + path = Steamworks; + sourceTree = ""; + }; + 2BDE0931278F974F0090737D /* Include */ = { + isa = PBXGroup; + children = ( + 2BDE094E278F978C0090737D /* isteamapplist.h */, + 2BDE093C278F978C0090737D /* isteamapps.h */, + 2BDE0950278F978C0090737D /* isteamappticket.h */, + 2BDE0945278F978C0090737D /* isteamclient.h */, + 2BDE094D278F978C0090737D /* isteamcontroller.h */, + 2BDE094C278F978C0090737D /* isteamfriends.h */, + 2BDE0943278F978C0090737D /* isteamgamecoordinator.h */, + 2BDE093A278F978C0090737D /* isteamgameserver.h */, + 2BDE0948278F978C0090737D /* isteamgameserverstats.h */, + 2BDE0956278F978C0090737D /* isteamhtmlsurface.h */, + 2BDE0959278F978C0090737D /* isteamhttp.h */, + 2BDE0954278F978C0090737D /* isteaminventory.h */, + 2BDE0955278F978C0090737D /* isteammasterserverupdater.h */, + 2BDE0949278F978C0090737D /* isteammatchmaking.h */, + 2BDE0934278F978C0090737D /* isteammusic.h */, + 2BDE0935278F978C0090737D /* isteammusicremote.h */, + 2BDE0946278F978C0090737D /* isteamnetworking.h */, + 2BDE0939278F978C0090737D /* isteamparentalsettings.h */, + 2BDE0933278F978C0090737D /* isteamps3overlayrenderer.h */, + 2BDE093E278F978C0090737D /* isteamremotestorage.h */, + 2BDE093F278F978C0090737D /* isteamscreenshots.h */, + 2BDE0952278F978C0090737D /* isteamugc.h */, + 2BDE0941278F978C0090737D /* isteamuser.h */, + 2BDE0958278F978C0090737D /* isteamuserstats.h */, + 2BDE0957278F978C0090737D /* isteamutils.h */, + 2BDE0942278F978C0090737D /* isteamvideo.h */, + 2BDE0944278F978C0090737D /* matchmakingtypes.h */, + 2BDE0940278F978C0090737D /* steam_api_flat.h */, + 2BDE0937278F978C0090737D /* steam_api_internal.h */, + 2BDE0936278F978C0090737D /* steam_api_interop.cs */, + 2BDE0953278F978C0090737D /* steam_api.h */, + 2BDE0947278F978C0090737D /* steam_api.json */, + 2BDE093D278F978C0090737D /* steam_gameserver.h */, + 2BDE0951278F978C0090737D /* steamclientpublic.h */, + 2BDE0938278F978C0090737D /* steamencryptedappticket.h */, + 2BDE094A278F978C0090737D /* steamhttpenums.h */, + 2BDE094B278F978C0090737D /* steamps3params.h */, + 2BDE093B278F978C0090737D /* steamtypes.h */, + 2BDE094F278F978C0090737D /* steamuniverse.h */, + ); + path = Include; + sourceTree = ""; + }; + 2BDE0932278F975F0090737D /* GMSteam */ = { + isa = PBXGroup; + children = ( + 6AC529BB27E8F928004CB8F5 /* gml_ext.h */, + 6AC529CB27E8F928004CB8F5 /* gml_glue_map.h */, + 6AC529C827E8F928004CB8F5 /* gml_glue.cpp */, + 6AC529C227E8F928004CB8F5 /* gml_glue.h */, + 6AC529C127E8F928004CB8F5 /* steam_callbacks.cpp */, + 6AC529C027E8F928004CB8F5 /* steam_callbacks.h */, + 6AC529BC27E8F928004CB8F5 /* steam_controller.cpp */, + 6AC529BF27E8F928004CB8F5 /* steam_glue.cpp */, + 6AC529C527E8F928004CB8F5 /* steam_glue.h */, + 6AC529C327E8F928004CB8F5 /* steam_inventory.cpp */, + 6AC529CA27E8F928004CB8F5 /* steam_lobby_chat.cpp */, + 6AC529C727E8F928004CB8F5 /* steam_matchmaking.cpp */, + 6AC529C427E8F928004CB8F5 /* steam_misc.cpp */, + 6AC529C627E8F928004CB8F5 /* steam_networking.cpp */, + 6AC529BE27E8F928004CB8F5 /* steam_unsorted.cpp */, + 6AC529BD27E8F928004CB8F5 /* steam_utils.cpp */, + 6AC529C927E8F928004CB8F5 /* steam_workshop.cpp */, + 6AE148B227C4582E0098A007 /* steam_user.cpp */, + 2BDE0985278F97BD0090737D /* steam_apps.cpp */, + 2BDE0984278F97BD0090737D /* steam_common.h */, + 2BDE0982278F97BD0090737D /* steam_friends.cpp */, + 2BDE0986278F97BD0090737D /* steam_funcs.cpp */, + 2BDE0987278F97BD0090737D /* steam_funcs.h */, + 2BDE0980278F97BD0090737D /* steam_init_new.cpp */, + 2BDE0981278F97BD0090737D /* steam_init.cpp */, + 2BDE0983278F97BD0090737D /* steam_remotestorage.cpp */, + 2BDE0989278F97BD0090737D /* steam_screenshots.cpp */, + 2BDE097F278F97BD0090737D /* steam_ugc.cpp */, + 2BDE0988278F97BD0090737D /* steam_userstats.cpp */, + ); + path = GMSteam; + sourceTree = ""; + }; + 2BDE09A5278F9A940090737D /* Frameworks */ = { + isa = PBXGroup; + children = ( + 2B53B66B27972B9300544C01 /* Foundation.framework */, + 2BDE09B62790A50B0090737D /* libsteam_api.dylib */, + ); + name = Frameworks; + sourceTree = ""; + }; + 6A60CF5A280AF891001B5E90 /* json-c */ = { + isa = PBXGroup; + children = ( + 6A60CF5F280AF8C6001B5E90 /* 3DS */, + 6A60CF5C280AF8C6001B5E90 /* Android */, + 6A60CF76280AF8C6001B5E90 /* arraylist.c */, + 6A60CF6B280AF8C6001B5E90 /* arraylist.h */, + 6A60CF5E280AF8C6001B5E90 /* bits.h */, + 6A60CF64280AF8C6001B5E90 /* debug.c */, + 6A60CF71280AF8C6001B5E90 /* debug.h */, + 6A60CF77280AF8C6001B5E90 /* iPad */, + 6A60CF67280AF8C6001B5E90 /* json_object_private.h */, + 6A60CF68280AF8C6001B5E90 /* json_object.c */, + 6A60CF7A280AF8C6001B5E90 /* json_object.h */, + 6A60CF74280AF8C6001B5E90 /* json_tokener.c */, + 6A60CF66280AF8C6001B5E90 /* json_tokener.h */, + 6A60CF79280AF8C6001B5E90 /* json_util.c */, + 6A60CF72280AF8C6001B5E90 /* json_util.h */, + 6A60CF7C280AF8C6001B5E90 /* json-c.h */, + 6A60CF7D280AF8C6001B5E90 /* JSON-config.h */, + 6A60CF5B280AF8C6001B5E90 /* linkhash.c */, + 6A60CF5D280AF8C6001B5E90 /* linkhash.h */, + 6A60CF62280AF8C6001B5E90 /* Linux */, + 6A60CF73280AF8C6001B5E90 /* Mac */, + 6A60CF6E280AF8C6001B5E90 /* printbuf.c */, + 6A60CF6C280AF8C6001B5E90 /* printbuf.h */, + 6A60CF7B280AF8C6001B5E90 /* PS3 */, + 6A60CF69280AF8C6001B5E90 /* PS4 */, + 6A60CF60280AF8C6001B5E90 /* PS5 */, + 6A60CF63280AF8C6001B5E90 /* PSP */, + 6A60CF61280AF8C6001B5E90 /* PSVita */, + 6A60CF65280AF8C6001B5E90 /* Switch */, + 6A60CF78280AF8C6001B5E90 /* Tizen */, + 6A60CF6A280AF8C6001B5E90 /* WiiU */, + 6A60CF6D280AF8C6001B5E90 /* Win32 */, + 6A60CF6F280AF8C6001B5E90 /* WinMetro */, + 6A60CF70280AF8C6001B5E90 /* WinPhone */, + 6A60CF75280AF8C6001B5E90 /* XboxOne */, + ); + path = "json-c"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXHeadersBuildPhase section */ + 2BDE091F278F96F80090737D /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + 6A60CF7F280AF8C6001B5E90 /* linkhash.h in Headers */, + 2BDE097D278F978C0090737D /* isteamuserstats.h in Headers */, + 2BDE097B278F978C0090737D /* isteamhtmlsurface.h in Headers */, + 2BDE095C278F978C0090737D /* isteammusicremote.h in Headers */, + 2BDE096C278F978C0090737D /* isteamnetworking.h in Headers */, + 2BDE0961278F978C0090737D /* steamtypes.h in Headers */, + 2BDE0971278F978C0090737D /* isteamfriends.h in Headers */, + 2BDE0963278F978C0090737D /* steam_gameserver.h in Headers */, + 2BC9789D287F3DE60079F3E2 /* IniOptionsLibrary.h in Headers */, + 6A60CF8F280AF8C6001B5E90 /* JSON-config.h in Headers */, + 2BDE096E278F978C0090737D /* isteammatchmaking.h in Headers */, + 2BDE0976278F978C0090737D /* steamclientpublic.h in Headers */, + 2BDE0966278F978C0090737D /* steam_api_flat.h in Headers */, + 2BDE0964278F978C0090737D /* isteamremotestorage.h in Headers */, + 2BDE0974278F978C0090737D /* steamuniverse.h in Headers */, + 6AC529D327E8F928004CB8F5 /* gml_glue.h in Headers */, + 2BDE0990278F97BD0090737D /* steam_common.h in Headers */, + 6AC529CC27E8F928004CB8F5 /* gml_ext.h in Headers */, + 6AC529D127E8F928004CB8F5 /* steam_callbacks.h in Headers */, + 2BDE095D278F978C0090737D /* steam_api_internal.h in Headers */, + 2BDE096F278F978C0090737D /* steamhttpenums.h in Headers */, + 6A60CF83280AF8C6001B5E90 /* json_object_private.h in Headers */, + 2BDE096B278F978C0090737D /* isteamclient.h in Headers */, + 6A60CF8D280AF8C6001B5E90 /* json_object.h in Headers */, + 2BDE099E278F97E60090737D /* Extension_Interface.h in Headers */, + 2BDE0993278F97BD0090737D /* steam_funcs.h in Headers */, + 2BDE096D278F978C0090737D /* isteamgameserverstats.h in Headers */, + 2BDE095A278F978C0090737D /* isteamps3overlayrenderer.h in Headers */, + 2BDE0968278F978C0090737D /* isteamvideo.h in Headers */, + 2BDE095E278F978C0090737D /* steamencryptedappticket.h in Headers */, + 6A60CF86280AF8C6001B5E90 /* printbuf.h in Headers */, + 2BDE09A4278F97E60090737D /* pch.h in Headers */, + 6A60CF85280AF8C6001B5E90 /* arraylist.h in Headers */, + 2BDE096A278F978C0090737D /* matchmakingtypes.h in Headers */, + 6AC529DC27E8F928004CB8F5 /* gml_glue_map.h in Headers */, + 2BDE09A3278F97E60090737D /* framework.h in Headers */, + 6AC529D627E8F928004CB8F5 /* steam_glue.h in Headers */, + 2BDE097A278F978C0090737D /* isteammasterserverupdater.h in Headers */, + 2BDE0978278F978C0090737D /* steam_api.h in Headers */, + 6A60CF82280AF8C6001B5E90 /* json_tokener.h in Headers */, + 2BDE097E278F978C0090737D /* isteamhttp.h in Headers */, + 2BDE0967278F978C0090737D /* isteamuser.h in Headers */, + 6A60CF80280AF8C6001B5E90 /* bits.h in Headers */, + 2BC9789C287F3DE60079F3E2 /* DesktopExtensionTools.h in Headers */, + 2BDE0972278F978C0090737D /* isteamcontroller.h in Headers */, + 2BDE0975278F978C0090737D /* isteamappticket.h in Headers */, + 2BDE0962278F978C0090737D /* isteamapps.h in Headers */, + 2BDE09A2278F97E60090737D /* Ref.h in Headers */, + 6A60CF88280AF8C6001B5E90 /* debug.h in Headers */, + 6A60CF89280AF8C6001B5E90 /* json_util.h in Headers */, + 2BDE095B278F978C0090737D /* isteammusic.h in Headers */, + 6A60CF8E280AF8C6001B5E90 /* json-c.h in Headers */, + 2BDE0979278F978C0090737D /* isteaminventory.h in Headers */, + 2BDE09A1278F97E60090737D /* YYRValue.h in Headers */, + 2BDE0977278F978C0090737D /* isteamugc.h in Headers */, + 2BDE0965278F978C0090737D /* isteamscreenshots.h in Headers */, + 2BDE0973278F978C0090737D /* isteamapplist.h in Headers */, + 2BDE095F278F978C0090737D /* isteamparentalsettings.h in Headers */, + 2BDE0970278F978C0090737D /* steamps3params.h in Headers */, + 2BDE0969278F978C0090737D /* isteamgamecoordinator.h in Headers */, + 2BDE097C278F978C0090737D /* isteamutils.h in Headers */, + 2BDE0960278F978C0090737D /* isteamgameserver.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + +/* Begin PBXNativeTarget section */ + 2BDE0922278F96F80090737D /* Steamworks */ = { + isa = PBXNativeTarget; + buildConfigurationList = 2BDE092E278F96F80090737D /* Build configuration list for PBXNativeTarget "Steamworks" */; + buildPhases = ( + 2BDE091F278F96F80090737D /* Headers */, + 2BDE0920278F96F80090737D /* Sources */, + 2BDE0921278F96F80090737D /* Frameworks */, + 2BADDA3427C27D9E00682B15 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Steamworks; + productName = Steamworks; + productReference = 2BDE0923278F96F80090737D /* libSteamworks.dylib */; + productType = "com.apple.product-type.library.dynamic"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 2BDE091B278F96F80090737D /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1320; + TargetAttributes = { + 2BDE0922278F96F80090737D = { + CreatedOnToolsVersion = 13.2.1; + }; + }; + }; + buildConfigurationList = 2BDE091E278F96F80090737D /* Build configuration list for PBXProject "Steamworks" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 2BDE091A278F96F80090737D; + productRefGroup = 2BDE0924278F96F80090737D /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 2BDE0922278F96F80090737D /* Steamworks */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 2BDE0920278F96F80090737D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6AC529CF27E8F928004CB8F5 /* steam_unsorted.cpp in Sources */, + 2BDE098D278F97BD0090737D /* steam_init.cpp in Sources */, + 2BDE098B278F97BD0090737D /* steam_ugc.cpp in Sources */, + 6AC529D027E8F928004CB8F5 /* steam_glue.cpp in Sources */, + 6AC529D927E8F928004CB8F5 /* gml_glue.cpp in Sources */, + 6AC529D727E8F928004CB8F5 /* steam_networking.cpp in Sources */, + 2BDE098F278F97BD0090737D /* steam_remotestorage.cpp in Sources */, + 6AC529CE27E8F928004CB8F5 /* steam_utils.cpp in Sources */, + 2BC97897287F3DAD0079F3E2 /* DesktopExtensionTools.mm in Sources */, + 6AC529D427E8F928004CB8F5 /* steam_inventory.cpp in Sources */, + 6AC529DA27E8F928004CB8F5 /* steam_workshop.cpp in Sources */, + 2BDE09A0278F97E60090737D /* pch.cpp in Sources */, + 6A60CF8B280AF8C6001B5E90 /* arraylist.c in Sources */, + 6AE148B427C4582E0098A007 /* steam_user.cpp in Sources */, + 6A60CF81280AF8C6001B5E90 /* debug.c in Sources */, + 6A60CF87280AF8C6001B5E90 /* printbuf.c in Sources */, + 6AC529D227E8F928004CB8F5 /* steam_callbacks.cpp in Sources */, + 6A60CF8A280AF8C6001B5E90 /* json_tokener.c in Sources */, + 2BDE0995278F97BD0090737D /* steam_screenshots.cpp in Sources */, + 2BC97899287F3DC70079F3E2 /* IniOptionsLibrary.mm in Sources */, + 6A60CF8C280AF8C6001B5E90 /* json_util.c in Sources */, + 2BDE0994278F97BD0090737D /* steam_userstats.cpp in Sources */, + 2BDE098E278F97BD0090737D /* steam_friends.cpp in Sources */, + 6A60CF7E280AF8C6001B5E90 /* linkhash.c in Sources */, + 2BDE0991278F97BD0090737D /* steam_apps.cpp in Sources */, + 2BDE099F278F97E60090737D /* dllmain.cpp in Sources */, + 6AC529D527E8F928004CB8F5 /* steam_misc.cpp in Sources */, + 6A60CF84280AF8C6001B5E90 /* json_object.c in Sources */, + 2BDE0992278F97BD0090737D /* steam_funcs.cpp in Sources */, + 6AC529DB27E8F928004CB8F5 /* steam_lobby_chat.cpp in Sources */, + 6AC529D827E8F928004CB8F5 /* steam_matchmaking.cpp in Sources */, + 6AC529CD27E8F928004CB8F5 /* steam_controller.cpp in Sources */, + 2BDE098C278F97BD0090737D /* steam_init_new.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 2BDE092C278F96F80090737D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 11.5; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = NO; + SDKROOT = macosx; + }; + name = Debug; + }; + 2BDE092D278F96F80090737D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 11.5; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = macosx; + }; + name = Release; + }; + 2BDE092F278F96F80090737D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = ""; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = C9E7J7HL3D; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + ENABLE_HARDENED_RUNTIME = NO; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_CPP_EXCEPTIONS = YES; + GCC_ENABLE_CPP_RTTI = YES; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "OS_MacOs=1", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + LIBRARY_SEARCH_PATHS = ( + ../steamworks_sdk/redistributable_bin/, + ../steamworks_sdk/redistributable_bin/osx/, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + 2BDE0930278F96F80090737D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_ENTITLEMENTS = ""; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = C9E7J7HL3D; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + ENABLE_HARDENED_RUNTIME = NO; + EXECUTABLE_PREFIX = lib; + GCC_ENABLE_CPP_EXCEPTIONS = YES; + GCC_ENABLE_CPP_RTTI = YES; + GCC_PREPROCESSOR_DEFINITIONS = "OS_MacOs=1"; + GCC_SYMBOLS_PRIVATE_EXTERN = YES; + LIBRARY_SEARCH_PATHS = ( + ../steamworks_sdk/redistributable_bin/, + ../steamworks_sdk/redistributable_bin/osx/, + ); + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 2BDE091E278F96F80090737D /* Build configuration list for PBXProject "Steamworks" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2BDE092C278F96F80090737D /* Debug */, + 2BDE092D278F96F80090737D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 2BDE092E278F96F80090737D /* Build configuration list for PBXNativeTarget "Steamworks" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2BDE092F278F96F80090737D /* Debug */, + 2BDE0930278F96F80090737D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 2BDE091B278F96F80090737D /* Project object */; +} diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcuserdata/franciscodias.xcuserdatad/UserInterfaceState.xcuserstate b/source/Steamworks_xcode/Steamworks.xcodeproj/project.xcworkspace/xcuserdata/franciscodias.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..4bef0dd762d8fd904681fdc40a964222429cd957 GIT binary patch literal 42743 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 z%0D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 z + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/franciscodias.xcuserdatad/xcschemes/xcschememanagement.plist b/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/franciscodias.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..154c9ca --- /dev/null +++ b/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/franciscodias.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + Steamworks.xcscheme_^#shared#^_ + + orderHint + 0 + + + SuppressBuildableAutocreation + + 2BDE0922278F96F80090737D + + primary + + + + + diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..e2166ac --- /dev/null +++ b/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,24 @@ + + + + + + + + + diff --git a/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcschemes/xcschememanagement.plist b/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..053ca46 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks.xcodeproj/xcuserdata/yykaguvagames.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + Steamworks.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamapplist.h b/source/Steamworks_xcode/Steamworks/Include/isteamapplist.h new file mode 100644 index 0000000..d678909 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamapplist.h @@ -0,0 +1,63 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to app data in Steam +// +//============================================================================= + +#ifndef ISTEAMAPPLIST_H +#define ISTEAMAPPLIST_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" +#include "steamtypes.h" + +//----------------------------------------------------------------------------- +// Purpose: This is a restricted interface that can only be used by previously approved apps, +// contact your Steam Account Manager if you believe you need access to this API. +// This interface lets you detect installed apps for the local Steam client, useful for debugging tools +// to offer lists of apps to debug via Steam. +//----------------------------------------------------------------------------- +class ISteamAppList +{ +public: + virtual uint32 GetNumInstalledApps() = 0; + virtual uint32 GetInstalledApps( AppId_t *pvecAppID, uint32 unMaxAppIDs ) = 0; + + virtual int GetAppName( AppId_t nAppID, OUT_STRING() char *pchName, int cchNameMax ) = 0; // returns -1 if no name was found + virtual int GetAppInstallDir( AppId_t nAppID, char *pchDirectory, int cchNameMax ) = 0; // returns -1 if no dir was found + + virtual int GetAppBuildId( AppId_t nAppID ) = 0; // return the buildid of this app, may change at any time based on backend updates to the game +}; + +#define STEAMAPPLIST_INTERFACE_VERSION "STEAMAPPLIST_INTERFACE_VERSION001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +//--------------------------------------------------------------------------------- +// Purpose: Sent when a new app is installed +//--------------------------------------------------------------------------------- +DEFINE_CALLBACK( SteamAppInstalled_t, k_iSteamAppListCallbacks + 1 ); + CALLBACK_MEMBER( 0, AppId_t, m_nAppID ) // ID of the app that installs +END_DEFINE_CALLBACK_1() + + +//--------------------------------------------------------------------------------- +// Purpose: Sent when an app is uninstalled +//--------------------------------------------------------------------------------- +DEFINE_CALLBACK( SteamAppUninstalled_t, k_iSteamAppListCallbacks + 2 ); + CALLBACK_MEMBER( 0, AppId_t, m_nAppID ) // ID of the app that installs +END_DEFINE_CALLBACK_1() + + +#pragma pack( pop ) +#endif // ISTEAMAPPLIST_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamapps.h b/source/Steamworks_xcode/Steamworks/Include/isteamapps.h new file mode 100644 index 0000000..9a97b4a --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamapps.h @@ -0,0 +1,176 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to app data in Steam +// +//============================================================================= + +#ifndef ISTEAMAPPS_H +#define ISTEAMAPPS_H +#ifdef _WIN32 +#pragma once +#endif + +const int k_cubAppProofOfPurchaseKeyMax = 240; // max supported length of a legacy cd key + + +//----------------------------------------------------------------------------- +// Purpose: interface to app data +//----------------------------------------------------------------------------- +class ISteamApps +{ +public: + virtual bool BIsSubscribed() = 0; + virtual bool BIsLowViolence() = 0; + virtual bool BIsCybercafe() = 0; + virtual bool BIsVACBanned() = 0; + virtual const char *GetCurrentGameLanguage() = 0; + virtual const char *GetAvailableGameLanguages() = 0; + + // only use this member if you need to check ownership of another game related to yours, a demo for example + virtual bool BIsSubscribedApp( AppId_t appID ) = 0; + + // Takes AppID of DLC and checks if the user owns the DLC & if the DLC is installed + virtual bool BIsDlcInstalled( AppId_t appID ) = 0; + + // returns the Unix time of the purchase of the app + virtual uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID ) = 0; + + // Checks if the user is subscribed to the current app through a free weekend + // This function will return false for users who have a retail or other type of license + // Before using, please ask your Valve technical contact how to package and secure your free weekened + virtual bool BIsSubscribedFromFreeWeekend() = 0; + + // Returns the number of DLC pieces for the running app + virtual int GetDLCCount() = 0; + + // Returns metadata for DLC by index, of range [0, GetDLCCount()] + virtual bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize ) = 0; + + // Install/Uninstall control for optional DLC + virtual void InstallDLC( AppId_t nAppID ) = 0; + virtual void UninstallDLC( AppId_t nAppID ) = 0; + + // Request legacy cd-key for yourself or owned DLC. If you are interested in this + // data then make sure you provide us with a list of valid keys to be distributed + // to users when they purchase the game, before the game ships. + // You'll receive an AppProofOfPurchaseKeyResponse_t callback when + // the key is available (which may be immediately). + virtual void RequestAppProofOfPurchaseKey( AppId_t nAppID ) = 0; + + virtual bool GetCurrentBetaName( char *pchName, int cchNameBufferSize ) = 0; // returns current beta branch name, 'public' is the default branch + virtual bool MarkContentCorrupt( bool bMissingFilesOnly ) = 0; // signal Steam that game files seems corrupt or missing + virtual uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots ) = 0; // return installed depots in mount order + + // returns current app install folder for AppID, returns folder name length + virtual uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize ) = 0; + virtual bool BIsAppInstalled( AppId_t appID ) = 0; // returns true if that app is installed (not necessarily owned) + + virtual CSteamID GetAppOwner() = 0; // returns the SteamID of the original owner. If different from current user, it's borrowed + + // Returns the associated launch param if the game is run via steam://run///?param1=value1;param2=value2;param3=value3 etc. + // Parameter names starting with the character '@' are reserved for internal use and will always return and empty string. + // Parameter names starting with an underscore '_' are reserved for steam features -- they can be queried by the game, + // but it is advised that you not param names beginning with an underscore for your own features. + virtual const char *GetLaunchQueryParam( const char *pchKey ) = 0; + + // get download progress for optional DLC + virtual bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) = 0; + + // return the buildid of this app, may change at any time based on backend updates to the game + virtual int GetAppBuildId() = 0; + + // Request all proof of purchase keys for the calling appid and asociated DLC. + // A series of AppProofOfPurchaseKeyResponse_t callbacks will be sent with + // appropriate appid values, ending with a final callback where the m_nAppId + // member is k_uAppIdInvalid (zero). + virtual void RequestAllProofOfPurchaseKeys() = 0; + + CALL_RESULT( FileDetailsResult_t ) + virtual SteamAPICall_t GetFileDetails( const char* pszFileName ) = 0; +}; + +#define STEAMAPPS_INTERFACE_VERSION "STEAMAPPS_INTERFACE_VERSION008" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif +//----------------------------------------------------------------------------- +// Purpose: posted after the user gains ownership of DLC & that DLC is installed +//----------------------------------------------------------------------------- +struct DlcInstalled_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 5 }; + AppId_t m_nAppID; // AppID of the DLC +}; + + +//----------------------------------------------------------------------------- +// Purpose: possible results when registering an activation code +//----------------------------------------------------------------------------- +enum ERegisterActivationCodeResult +{ + k_ERegisterActivationCodeResultOK = 0, + k_ERegisterActivationCodeResultFail = 1, + k_ERegisterActivationCodeResultAlreadyRegistered = 2, + k_ERegisterActivationCodeResultTimeout = 3, + k_ERegisterActivationCodeAlreadyOwned = 4, +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to RegisterActivationCode() +//----------------------------------------------------------------------------- +struct RegisterActivationCodeResponse_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 8 }; + ERegisterActivationCodeResult m_eResult; + uint32 m_unPackageRegistered; // package that was registered. Only set on success +}; + + +//--------------------------------------------------------------------------------- +// Purpose: posted after the user gains executes a steam url with query parameters +// such as steam://run///?param1=value1;param2=value2;param3=value3; etc +// while the game is already running. The new params can be queried +// with GetLaunchQueryParam. +//--------------------------------------------------------------------------------- +struct NewLaunchQueryParameters_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 14 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to RequestAppProofOfPurchaseKey/RequestAllProofOfPurchaseKeys +// for supporting third-party CD keys, or other proof-of-purchase systems. +//----------------------------------------------------------------------------- +struct AppProofOfPurchaseKeyResponse_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 21 }; + EResult m_eResult; + uint32 m_nAppID; + uint32 m_cchKeyLength; + char m_rgchKey[k_cubAppProofOfPurchaseKeyMax]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: response to GetFileDetails +//----------------------------------------------------------------------------- +struct FileDetailsResult_t +{ + enum { k_iCallback = k_iSteamAppsCallbacks + 23 }; + EResult m_eResult; + uint64 m_ulFileSize; // original file size in bytes + uint8 m_FileSHA[20]; // original file SHA1 hash + uint32 m_unFlags; // +}; + + +#pragma pack( pop ) +#endif // ISTEAMAPPS_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamappticket.h b/source/Steamworks_xcode/Steamworks/Include/isteamappticket.h new file mode 100644 index 0000000..21fb9e1 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamappticket.h @@ -0,0 +1,28 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: a private, but well versioned, interface to get at critical bits +// of a steam3 appticket - consumed by the simple drm wrapper to let it +// ask about ownership with greater confidence. +// +//============================================================================= + +#ifndef ISTEAMAPPTICKET_H +#define ISTEAMAPPTICKET_H +#pragma once + +//----------------------------------------------------------------------------- +// Purpose: hand out a reasonable "future proof" view of an app ownership ticket +// the raw (signed) buffer, and indices into that buffer where the appid and +// steamid are located. the sizes of the appid and steamid are implicit in +// (each version of) the interface - currently uin32 appid and uint64 steamid +//----------------------------------------------------------------------------- +class ISteamAppTicket +{ +public: + virtual uint32 GetAppOwnershipTicketData( uint32 nAppID, void *pvBuffer, uint32 cbBufferLength, uint32 *piAppId, uint32 *piSteamId, uint32 *piSignature, uint32 *pcbSignature ) = 0; +}; + +#define STEAMAPPTICKET_INTERFACE_VERSION "STEAMAPPTICKET_INTERFACE_VERSION001" + + +#endif // ISTEAMAPPTICKET_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamclient.h b/source/Steamworks_xcode/Steamworks/Include/isteamclient.h new file mode 100644 index 0000000..af8828d --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamclient.h @@ -0,0 +1,526 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: Main interface for loading and accessing Steamworks API's from the +// Steam client. +// For most uses, this code is wrapped inside of SteamAPI_Init() +//============================================================================= + +#ifndef ISTEAMCLIENT_H +#define ISTEAMCLIENT_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steamtypes.h" +#include "steamclientpublic.h" + +// Define compile time assert macros to let us validate the structure sizes. +#define VALVE_COMPILE_TIME_ASSERT( pred ) typedef char compile_time_assert_type[(pred) ? 1 : -1]; + +#ifndef REFERENCE +#define REFERENCE(arg) ((void)arg) +#endif + +#if ( defined(STEAM_API_EXPORTS) || defined(STEAM_API_NODLL) ) && !defined(API_GEN) +#define STEAM_PRIVATE_API( ... ) __VA_ARGS__ +#elif defined(STEAM_API_EXPORTS) && defined(API_GEN) +#define STEAM_PRIVATE_API( ... ) +#else +#define STEAM_PRIVATE_API( ... ) protected: __VA_ARGS__ public: +#endif + +#if defined(__linux__) || defined(__APPLE__) +// The 32-bit version of gcc has the alignment requirement for uint64 and double set to +// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. +// The 64-bit version of gcc has the alignment requirement for these types set to +// 8 meaning that unless we use #pragma pack(4) our structures will get bigger. +// The 64-bit structure packing has to match the 32-bit structure packing for each platform. +#define VALVE_CALLBACK_PACK_SMALL +#else +#define VALVE_CALLBACK_PACK_LARGE +#endif + +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error ??? +#endif + +typedef struct ValvePackingSentinel_t +{ + uint32 m_u32; + uint64 m_u64; + uint16 m_u16; + double m_d; +} ValvePackingSentinel_t; + +#pragma pack( pop ) + + +#if defined(VALVE_CALLBACK_PACK_SMALL) +VALVE_COMPILE_TIME_ASSERT( sizeof(ValvePackingSentinel_t) == 24 ) +#elif defined(VALVE_CALLBACK_PACK_LARGE) +VALVE_COMPILE_TIME_ASSERT( sizeof(ValvePackingSentinel_t) == 32 ) +#else +#error ??? +#endif + + +// handle to a communication pipe to the Steam client +typedef int32 HSteamPipe; +// handle to single instance of a steam user +typedef int32 HSteamUser; +// function prototype +#if defined( POSIX ) +#define __cdecl +#endif +extern "C" typedef void (__cdecl *SteamAPIWarningMessageHook_t)(int, const char *); +extern "C" typedef uint32 ( *SteamAPI_CheckCallbackRegistered_t )( int iCallbackNum ); +#if defined( __SNC__ ) + #pragma diag_suppress=1700 // warning 1700: class "%s" has virtual functions but non-virtual destructor +#endif + +// interface predec +class ISteamUser; +class ISteamGameServer; +class ISteamFriends; +class ISteamUtils; +class ISteamMatchmaking; +class ISteamContentServer; +class ISteamMatchmakingServers; +class ISteamUserStats; +class ISteamApps; +class ISteamNetworking; +class ISteamRemoteStorage; +class ISteamScreenshots; +class ISteamMusic; +class ISteamMusicRemote; +class ISteamGameServerStats; +class ISteamPS3OverlayRender; +class ISteamHTTP; +class ISteamController; +class ISteamUGC; +class ISteamAppList; +class ISteamHTMLSurface; +class ISteamInventory; +class ISteamVideo; +class ISteamParentalSettings; + +//----------------------------------------------------------------------------- +// Purpose: Interface to creating a new steam instance, or to +// connect to an existing steam instance, whether it's in a +// different process or is local. +// +// For most scenarios this is all handled automatically via SteamAPI_Init(). +// You'll only need these APIs if you have a more complex versioning scheme, +// or if you want to implement a multiplexed gameserver where a single process +// is handling multiple games at once with independent gameserver SteamIDs. +//----------------------------------------------------------------------------- +class ISteamClient +{ +public: + // Creates a communication pipe to the Steam client. + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamPipe CreateSteamPipe() = 0; + + // Releases a previously created communications pipe + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual bool BReleaseSteamPipe( HSteamPipe hSteamPipe ) = 0; + + // connects to an existing global user, failing if none exists + // used by the game to coordinate with the steamUI + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamUser ConnectToGlobalUser( HSteamPipe hSteamPipe ) = 0; + + // used by game servers, create a steam user that won't be shared with anyone else + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual HSteamUser CreateLocalUser( HSteamPipe *phSteamPipe, EAccountType eAccountType ) = 0; + + // removes an allocated user + // NOT THREADSAFE - ensure that no other threads are accessing Steamworks API when calling + virtual void ReleaseUser( HSteamPipe hSteamPipe, HSteamUser hUser ) = 0; + + // retrieves the ISteamUser interface associated with the handle + virtual ISteamUser *GetISteamUser( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // retrieves the ISteamGameServer interface associated with the handle + virtual ISteamGameServer *GetISteamGameServer( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // set the local IP and Port to bind to + // this must be set before CreateLocalUser() + virtual void SetLocalIPBinding( uint32 unIP, uint16 usPort ) = 0; + + // returns the ISteamFriends interface + virtual ISteamFriends *GetISteamFriends( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamUtils interface + virtual ISteamUtils *GetISteamUtils( HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamMatchmaking interface + virtual ISteamMatchmaking *GetISteamMatchmaking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamMatchmakingServers interface + virtual ISteamMatchmakingServers *GetISteamMatchmakingServers( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the a generic interface + virtual void *GetISteamGenericInterface( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamUserStats interface + virtual ISteamUserStats *GetISteamUserStats( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns the ISteamGameServerStats interface + virtual ISteamGameServerStats *GetISteamGameServerStats( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns apps interface + virtual ISteamApps *GetISteamApps( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // networking + virtual ISteamNetworking *GetISteamNetworking( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // remote storage + virtual ISteamRemoteStorage *GetISteamRemoteStorage( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // user screenshots + virtual ISteamScreenshots *GetISteamScreenshots( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Deprecated. Applications should use SteamAPI_RunCallbacks() or SteamGameServer_RunCallbacks() instead. + STEAM_PRIVATE_API( virtual void RunFrame() = 0; ) + + // returns the number of IPC calls made since the last time this function was called + // Used for perf debugging so you can understand how many IPC calls your game makes per frame + // Every IPC call is at minimum a thread context switch if not a process one so you want to rate + // control how often you do them. + virtual uint32 GetIPCCallCount() = 0; + + // API warning handling + // 'int' is the severity; 0 for msg, 1 for warning + // 'const char *' is the text of the message + // callbacks will occur directly after the API function is called that generated the warning or message. + virtual void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction ) = 0; + + // Trigger global shutdown for the DLL + virtual bool BShutdownIfAllPipesClosed() = 0; + + // Expose HTTP interface + virtual ISteamHTTP *GetISteamHTTP( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Deprecated - the ISteamUnifiedMessages interface is no longer intended for public consumption. + STEAM_PRIVATE_API( virtual void *DEPRECATED_GetISteamUnifiedMessages( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0 ; ) + + // Exposes the ISteamController interface + virtual ISteamController *GetISteamController( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Exposes the ISteamUGC interface + virtual ISteamUGC *GetISteamUGC( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // returns app list interface, only available on specially registered apps + virtual ISteamAppList *GetISteamAppList( HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Music Player + virtual ISteamMusic *GetISteamMusic( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Music Player Remote + virtual ISteamMusicRemote *GetISteamMusicRemote(HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion) = 0; + + // html page display + virtual ISteamHTMLSurface *GetISteamHTMLSurface(HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion) = 0; + + // Helper functions for internal Steam usage + STEAM_PRIVATE_API( virtual void DEPRECATED_Set_SteamAPI_CPostAPIResultInProcess( void (*)() ) = 0; ) + STEAM_PRIVATE_API( virtual void DEPRECATED_Remove_SteamAPI_CPostAPIResultInProcess( void (*)() ) = 0; ) + STEAM_PRIVATE_API( virtual void Set_SteamAPI_CCheckCallbackRegisteredInProcess( SteamAPI_CheckCallbackRegistered_t func ) = 0; ) + + // inventory + virtual ISteamInventory *GetISteamInventory( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Video + virtual ISteamVideo *GetISteamVideo( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; + + // Parental controls + virtual ISteamParentalSettings *GetISteamParentalSettings( HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char *pchVersion ) = 0; +}; + + +#define STEAMCLIENT_INTERFACE_VERSION "SteamClient017" + +//----------------------------------------------------------------------------- +// Purpose: Base values for callback identifiers, each callback must +// have a unique ID. +//----------------------------------------------------------------------------- +enum { k_iSteamUserCallbacks = 100 }; +enum { k_iSteamGameServerCallbacks = 200 }; +enum { k_iSteamFriendsCallbacks = 300 }; +enum { k_iSteamBillingCallbacks = 400 }; +enum { k_iSteamMatchmakingCallbacks = 500 }; +enum { k_iSteamContentServerCallbacks = 600 }; +enum { k_iSteamUtilsCallbacks = 700 }; +enum { k_iClientFriendsCallbacks = 800 }; +enum { k_iClientUserCallbacks = 900 }; +enum { k_iSteamAppsCallbacks = 1000 }; +enum { k_iSteamUserStatsCallbacks = 1100 }; +enum { k_iSteamNetworkingCallbacks = 1200 }; +enum { k_iClientRemoteStorageCallbacks = 1300 }; +enum { k_iClientDepotBuilderCallbacks = 1400 }; +enum { k_iSteamGameServerItemsCallbacks = 1500 }; +enum { k_iClientUtilsCallbacks = 1600 }; +enum { k_iSteamGameCoordinatorCallbacks = 1700 }; +enum { k_iSteamGameServerStatsCallbacks = 1800 }; +enum { k_iSteam2AsyncCallbacks = 1900 }; +enum { k_iSteamGameStatsCallbacks = 2000 }; +enum { k_iClientHTTPCallbacks = 2100 }; +enum { k_iClientScreenshotsCallbacks = 2200 }; +enum { k_iSteamScreenshotsCallbacks = 2300 }; +enum { k_iClientAudioCallbacks = 2400 }; +enum { k_iClientUnifiedMessagesCallbacks = 2500 }; +enum { k_iSteamStreamLauncherCallbacks = 2600 }; +enum { k_iClientControllerCallbacks = 2700 }; +enum { k_iSteamControllerCallbacks = 2800 }; +enum { k_iClientParentalSettingsCallbacks = 2900 }; +enum { k_iClientDeviceAuthCallbacks = 3000 }; +enum { k_iClientNetworkDeviceManagerCallbacks = 3100 }; +enum { k_iClientMusicCallbacks = 3200 }; +enum { k_iClientRemoteClientManagerCallbacks = 3300 }; +enum { k_iClientUGCCallbacks = 3400 }; +enum { k_iSteamStreamClientCallbacks = 3500 }; +enum { k_IClientProductBuilderCallbacks = 3600 }; +enum { k_iClientShortcutsCallbacks = 3700 }; +enum { k_iClientRemoteControlManagerCallbacks = 3800 }; +enum { k_iSteamAppListCallbacks = 3900 }; +enum { k_iSteamMusicCallbacks = 4000 }; +enum { k_iSteamMusicRemoteCallbacks = 4100 }; +enum { k_iClientVRCallbacks = 4200 }; +enum { k_iClientGameNotificationCallbacks = 4300 }; +enum { k_iSteamGameNotificationCallbacks = 4400 }; +enum { k_iSteamHTMLSurfaceCallbacks = 4500 }; +enum { k_iClientVideoCallbacks = 4600 }; +enum { k_iClientInventoryCallbacks = 4700 }; +enum { k_iClientBluetoothManagerCallbacks = 4800 }; +enum { k_iClientSharedConnectionCallbacks = 4900 }; +enum { k_ISteamParentalSettingsCallbacks = 5000 }; +enum { k_iClientShaderCallbacks = 5100 }; + +//----------------------------------------------------------------------------- +// The CALLBACK macros are for client side callback logging enabled with +// log_callback +// Do not change any of these. +//----------------------------------------------------------------------------- + +#ifdef STEAM_CALLBACK_INSPECTION_ENABLED + +#define DEFINE_CALLBACK( callbackname, callbackid ) \ +struct callbackname { \ + typedef callbackname SteamCallback_t; \ + enum { k_iCallback = callbackid }; \ + static callbackname *GetNullPointer() { return 0; } \ + static const char *GetCallbackName() { return #callbackname; } \ + static uint32 GetCallbackID() { return callbackname::k_iCallback; } + +#define CALLBACK_MEMBER( varidx, vartype, varname ) \ + public: vartype varname ; \ + static void GetMemberVar_##varidx( unsigned int &varOffset, unsigned int &varSize, uint32 &varCount, const char **pszName, const char **pszType ) { \ + varOffset = (unsigned int)(size_t)&GetNullPointer()->varname; \ + varSize = sizeof( vartype ); \ + varCount = 1; \ + *pszName = #varname; *pszType = #vartype; } + +#define CALLBACK_ARRAY( varidx, vartype, varname, varcount ) \ + public: vartype varname [ varcount ]; \ + static void GetMemberVar_##varidx( unsigned int &varOffset, unsigned int &varSize, uint32 &varCount, const char **pszName, const char **pszType ) { \ + varOffset = (unsigned int)(size_t)&GetNullPointer()->varname[0]; \ + varSize = sizeof( vartype ); \ + varCount = varcount; \ + *pszName = #varname; *pszType = #vartype; } + + +#define END_CALLBACK_INTERNAL_BEGIN( numvars ) \ + static uint32 GetNumMemberVariables() { return numvars; } \ + static bool GetMemberVariable( uint32 index, uint32 &varOffset, uint32 &varSize, uint32 &varCount, const char **pszName, const char **pszType ) { \ + switch ( index ) { default : return false; + + +#define END_CALLBACK_INTERNAL_SWITCH( varidx ) case varidx : GetMemberVar_##varidx( varOffset, varSize, varCount, pszName, pszType ); return true; + +#define END_CALLBACK_INTERNAL_END() }; } }; + +#define END_DEFINE_CALLBACK_0() \ + static uint32 GetNumMemberVariables() { return 0; } \ + static bool GetMemberVariable( uint32 index, uint32 &varOffset, uint32 &varSize, uint32 &varCount, const char **pszName, const char **pszType ) { REFERENCE( pszType ); REFERENCE( pszName ); REFERENCE( varCount ); REFERENCE( varSize ); REFERENCE( varOffset ); REFERENCE( index ); return false; } \ + }; + +#else + +#define DEFINE_CALLBACK( callbackname, callbackid ) struct callbackname { typedef callbackname SteamCallback_t; enum { k_iCallback = callbackid }; +#define CALLBACK_MEMBER( varidx, vartype, varname ) public: vartype varname ; +#define CALLBACK_ARRAY( varidx, vartype, varname, varcount ) public: vartype varname [ varcount ]; +#define END_CALLBACK_INTERNAL_BEGIN( numvars ) +#define END_CALLBACK_INTERNAL_SWITCH( varidx ) +#define END_CALLBACK_INTERNAL_END() }; +#define END_DEFINE_CALLBACK_0() }; + +#endif + +#define END_DEFINE_CALLBACK_1() \ + END_CALLBACK_INTERNAL_BEGIN( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_2() \ + END_CALLBACK_INTERNAL_BEGIN( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_3() \ + END_CALLBACK_INTERNAL_BEGIN( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_4() \ + END_CALLBACK_INTERNAL_BEGIN( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_5() \ + END_CALLBACK_INTERNAL_BEGIN( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_END() + + +#define END_DEFINE_CALLBACK_6() \ + END_CALLBACK_INTERNAL_BEGIN( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_7() \ + END_CALLBACK_INTERNAL_BEGIN( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_8() \ + END_CALLBACK_INTERNAL_BEGIN( 8 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_9() \ + END_CALLBACK_INTERNAL_BEGIN( 9 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 8 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_10() \ + END_CALLBACK_INTERNAL_BEGIN( 10 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 8 ) \ + END_CALLBACK_INTERNAL_SWITCH( 9 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_11() \ + END_CALLBACK_INTERNAL_BEGIN( 11 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 8 ) \ + END_CALLBACK_INTERNAL_SWITCH( 9 ) \ + END_CALLBACK_INTERNAL_SWITCH( 10 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_12() \ + END_CALLBACK_INTERNAL_BEGIN( 12 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 8 ) \ + END_CALLBACK_INTERNAL_SWITCH( 9 ) \ + END_CALLBACK_INTERNAL_SWITCH( 10 ) \ + END_CALLBACK_INTERNAL_SWITCH( 11 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_13() \ + END_CALLBACK_INTERNAL_BEGIN( 13 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 8 ) \ + END_CALLBACK_INTERNAL_SWITCH( 9 ) \ + END_CALLBACK_INTERNAL_SWITCH( 10 ) \ + END_CALLBACK_INTERNAL_SWITCH( 11 ) \ + END_CALLBACK_INTERNAL_SWITCH( 12 ) \ + END_CALLBACK_INTERNAL_END() + +#define END_DEFINE_CALLBACK_14() \ + END_CALLBACK_INTERNAL_BEGIN( 14 ) \ + END_CALLBACK_INTERNAL_SWITCH( 0 ) \ + END_CALLBACK_INTERNAL_SWITCH( 1 ) \ + END_CALLBACK_INTERNAL_SWITCH( 2 ) \ + END_CALLBACK_INTERNAL_SWITCH( 3 ) \ + END_CALLBACK_INTERNAL_SWITCH( 4 ) \ + END_CALLBACK_INTERNAL_SWITCH( 5 ) \ + END_CALLBACK_INTERNAL_SWITCH( 6 ) \ + END_CALLBACK_INTERNAL_SWITCH( 7 ) \ + END_CALLBACK_INTERNAL_SWITCH( 8 ) \ + END_CALLBACK_INTERNAL_SWITCH( 9 ) \ + END_CALLBACK_INTERNAL_SWITCH( 10 ) \ + END_CALLBACK_INTERNAL_SWITCH( 11 ) \ + END_CALLBACK_INTERNAL_SWITCH( 12 ) \ + END_CALLBACK_INTERNAL_SWITCH( 13 ) \ + END_CALLBACK_INTERNAL_END() + +#endif // ISTEAMCLIENT_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamcontroller.h b/source/Steamworks_xcode/Steamworks/Include/isteamcontroller.h new file mode 100644 index 0000000..6f31b75 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamcontroller.h @@ -0,0 +1,461 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to valve controller +// +//============================================================================= + +#ifndef ISTEAMCONTROLLER_H +#define ISTEAMCONTROLLER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +#define STEAM_CONTROLLER_MAX_COUNT 16 + +#define STEAM_CONTROLLER_MAX_ANALOG_ACTIONS 16 + +#define STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS 128 + +#define STEAM_CONTROLLER_MAX_ORIGINS 8 + +// When sending an option to a specific controller handle, you can send to all controllers via this command +#define STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS UINT64_MAX + +#define STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATA -1.0f +#define STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATA 1.0f + +enum ESteamControllerPad +{ + k_ESteamControllerPad_Left, + k_ESteamControllerPad_Right +}; + +enum EControllerSource +{ + k_EControllerSource_None, + k_EControllerSource_LeftTrackpad, + k_EControllerSource_RightTrackpad, + k_EControllerSource_Joystick, + k_EControllerSource_ABXY, + k_EControllerSource_Switch, + k_EControllerSource_LeftTrigger, + k_EControllerSource_RightTrigger, + k_EControllerSource_Gyro, + k_EControllerSource_CenterTrackpad, // PS4 + k_EControllerSource_RightJoystick, // Traditional Controllers + k_EControllerSource_DPad, // Traditional Controllers + k_EControllerSource_Key, // Keyboards with scan codes + k_EControllerSource_Mouse, // Traditional mouse + k_EControllerSource_Count +}; + +enum EControllerSourceMode +{ + k_EControllerSourceMode_None, + k_EControllerSourceMode_Dpad, + k_EControllerSourceMode_Buttons, + k_EControllerSourceMode_FourButtons, + k_EControllerSourceMode_AbsoluteMouse, + k_EControllerSourceMode_RelativeMouse, + k_EControllerSourceMode_JoystickMove, + k_EControllerSourceMode_JoystickMouse, + k_EControllerSourceMode_JoystickCamera, + k_EControllerSourceMode_ScrollWheel, + k_EControllerSourceMode_Trigger, + k_EControllerSourceMode_TouchMenu, + k_EControllerSourceMode_MouseJoystick, + k_EControllerSourceMode_MouseRegion, + k_EControllerSourceMode_RadialMenu, + k_EControllerSourceMode_SingleButton, + k_EControllerSourceMode_Switches +}; + +enum EControllerActionOrigin +{ + // Steam Controller + k_EControllerActionOrigin_None, + k_EControllerActionOrigin_A, + k_EControllerActionOrigin_B, + k_EControllerActionOrigin_X, + k_EControllerActionOrigin_Y, + k_EControllerActionOrigin_LeftBumper, + k_EControllerActionOrigin_RightBumper, + k_EControllerActionOrigin_LeftGrip, + k_EControllerActionOrigin_RightGrip, + k_EControllerActionOrigin_Start, + k_EControllerActionOrigin_Back, + k_EControllerActionOrigin_LeftPad_Touch, + k_EControllerActionOrigin_LeftPad_Swipe, + k_EControllerActionOrigin_LeftPad_Click, + k_EControllerActionOrigin_LeftPad_DPadNorth, + k_EControllerActionOrigin_LeftPad_DPadSouth, + k_EControllerActionOrigin_LeftPad_DPadWest, + k_EControllerActionOrigin_LeftPad_DPadEast, + k_EControllerActionOrigin_RightPad_Touch, + k_EControllerActionOrigin_RightPad_Swipe, + k_EControllerActionOrigin_RightPad_Click, + k_EControllerActionOrigin_RightPad_DPadNorth, + k_EControllerActionOrigin_RightPad_DPadSouth, + k_EControllerActionOrigin_RightPad_DPadWest, + k_EControllerActionOrigin_RightPad_DPadEast, + k_EControllerActionOrigin_LeftTrigger_Pull, + k_EControllerActionOrigin_LeftTrigger_Click, + k_EControllerActionOrigin_RightTrigger_Pull, + k_EControllerActionOrigin_RightTrigger_Click, + k_EControllerActionOrigin_LeftStick_Move, + k_EControllerActionOrigin_LeftStick_Click, + k_EControllerActionOrigin_LeftStick_DPadNorth, + k_EControllerActionOrigin_LeftStick_DPadSouth, + k_EControllerActionOrigin_LeftStick_DPadWest, + k_EControllerActionOrigin_LeftStick_DPadEast, + k_EControllerActionOrigin_Gyro_Move, + k_EControllerActionOrigin_Gyro_Pitch, + k_EControllerActionOrigin_Gyro_Yaw, + k_EControllerActionOrigin_Gyro_Roll, + + // PS4 Dual Shock + k_EControllerActionOrigin_PS4_X, + k_EControllerActionOrigin_PS4_Circle, + k_EControllerActionOrigin_PS4_Triangle, + k_EControllerActionOrigin_PS4_Square, + k_EControllerActionOrigin_PS4_LeftBumper, + k_EControllerActionOrigin_PS4_RightBumper, + k_EControllerActionOrigin_PS4_Options, //Start + k_EControllerActionOrigin_PS4_Share, //Back + k_EControllerActionOrigin_PS4_LeftPad_Touch, + k_EControllerActionOrigin_PS4_LeftPad_Swipe, + k_EControllerActionOrigin_PS4_LeftPad_Click, + k_EControllerActionOrigin_PS4_LeftPad_DPadNorth, + k_EControllerActionOrigin_PS4_LeftPad_DPadSouth, + k_EControllerActionOrigin_PS4_LeftPad_DPadWest, + k_EControllerActionOrigin_PS4_LeftPad_DPadEast, + k_EControllerActionOrigin_PS4_RightPad_Touch, + k_EControllerActionOrigin_PS4_RightPad_Swipe, + k_EControllerActionOrigin_PS4_RightPad_Click, + k_EControllerActionOrigin_PS4_RightPad_DPadNorth, + k_EControllerActionOrigin_PS4_RightPad_DPadSouth, + k_EControllerActionOrigin_PS4_RightPad_DPadWest, + k_EControllerActionOrigin_PS4_RightPad_DPadEast, + k_EControllerActionOrigin_PS4_CenterPad_Touch, + k_EControllerActionOrigin_PS4_CenterPad_Swipe, + k_EControllerActionOrigin_PS4_CenterPad_Click, + k_EControllerActionOrigin_PS4_CenterPad_DPadNorth, + k_EControllerActionOrigin_PS4_CenterPad_DPadSouth, + k_EControllerActionOrigin_PS4_CenterPad_DPadWest, + k_EControllerActionOrigin_PS4_CenterPad_DPadEast, + k_EControllerActionOrigin_PS4_LeftTrigger_Pull, + k_EControllerActionOrigin_PS4_LeftTrigger_Click, + k_EControllerActionOrigin_PS4_RightTrigger_Pull, + k_EControllerActionOrigin_PS4_RightTrigger_Click, + k_EControllerActionOrigin_PS4_LeftStick_Move, + k_EControllerActionOrigin_PS4_LeftStick_Click, + k_EControllerActionOrigin_PS4_LeftStick_DPadNorth, + k_EControllerActionOrigin_PS4_LeftStick_DPadSouth, + k_EControllerActionOrigin_PS4_LeftStick_DPadWest, + k_EControllerActionOrigin_PS4_LeftStick_DPadEast, + k_EControllerActionOrigin_PS4_RightStick_Move, + k_EControllerActionOrigin_PS4_RightStick_Click, + k_EControllerActionOrigin_PS4_RightStick_DPadNorth, + k_EControllerActionOrigin_PS4_RightStick_DPadSouth, + k_EControllerActionOrigin_PS4_RightStick_DPadWest, + k_EControllerActionOrigin_PS4_RightStick_DPadEast, + k_EControllerActionOrigin_PS4_DPad_North, + k_EControllerActionOrigin_PS4_DPad_South, + k_EControllerActionOrigin_PS4_DPad_West, + k_EControllerActionOrigin_PS4_DPad_East, + k_EControllerActionOrigin_PS4_Gyro_Move, + k_EControllerActionOrigin_PS4_Gyro_Pitch, + k_EControllerActionOrigin_PS4_Gyro_Yaw, + k_EControllerActionOrigin_PS4_Gyro_Roll, + + // XBox One + k_EControllerActionOrigin_XBoxOne_A, + k_EControllerActionOrigin_XBoxOne_B, + k_EControllerActionOrigin_XBoxOne_X, + k_EControllerActionOrigin_XBoxOne_Y, + k_EControllerActionOrigin_XBoxOne_LeftBumper, + k_EControllerActionOrigin_XBoxOne_RightBumper, + k_EControllerActionOrigin_XBoxOne_Menu, //Start + k_EControllerActionOrigin_XBoxOne_View, //Back + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull, + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Click, + k_EControllerActionOrigin_XBoxOne_LeftStick_Move, + k_EControllerActionOrigin_XBoxOne_LeftStick_Click, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast, + k_EControllerActionOrigin_XBoxOne_RightStick_Move, + k_EControllerActionOrigin_XBoxOne_RightStick_Click, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast, + k_EControllerActionOrigin_XBoxOne_DPad_North, + k_EControllerActionOrigin_XBoxOne_DPad_South, + k_EControllerActionOrigin_XBoxOne_DPad_West, + k_EControllerActionOrigin_XBoxOne_DPad_East, + + // XBox 360 + k_EControllerActionOrigin_XBox360_A, + k_EControllerActionOrigin_XBox360_B, + k_EControllerActionOrigin_XBox360_X, + k_EControllerActionOrigin_XBox360_Y, + k_EControllerActionOrigin_XBox360_LeftBumper, + k_EControllerActionOrigin_XBox360_RightBumper, + k_EControllerActionOrigin_XBox360_Start, //Start + k_EControllerActionOrigin_XBox360_Back, //Back + k_EControllerActionOrigin_XBox360_LeftTrigger_Pull, + k_EControllerActionOrigin_XBox360_LeftTrigger_Click, + k_EControllerActionOrigin_XBox360_RightTrigger_Pull, + k_EControllerActionOrigin_XBox360_RightTrigger_Click, + k_EControllerActionOrigin_XBox360_LeftStick_Move, + k_EControllerActionOrigin_XBox360_LeftStick_Click, + k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth, + k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth, + k_EControllerActionOrigin_XBox360_LeftStick_DPadWest, + k_EControllerActionOrigin_XBox360_LeftStick_DPadEast, + k_EControllerActionOrigin_XBox360_RightStick_Move, + k_EControllerActionOrigin_XBox360_RightStick_Click, + k_EControllerActionOrigin_XBox360_RightStick_DPadNorth, + k_EControllerActionOrigin_XBox360_RightStick_DPadSouth, + k_EControllerActionOrigin_XBox360_RightStick_DPadWest, + k_EControllerActionOrigin_XBox360_RightStick_DPadEast, + k_EControllerActionOrigin_XBox360_DPad_North, + k_EControllerActionOrigin_XBox360_DPad_South, + k_EControllerActionOrigin_XBox360_DPad_West, + k_EControllerActionOrigin_XBox360_DPad_East, + + // SteamController V2 + k_EControllerActionOrigin_SteamV2_A, + k_EControllerActionOrigin_SteamV2_B, + k_EControllerActionOrigin_SteamV2_X, + k_EControllerActionOrigin_SteamV2_Y, + k_EControllerActionOrigin_SteamV2_LeftBumper, + k_EControllerActionOrigin_SteamV2_RightBumper, + k_EControllerActionOrigin_SteamV2_LeftGrip, + k_EControllerActionOrigin_SteamV2_RightGrip, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper, + k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure, + k_EControllerActionOrigin_SteamV2_RightBumper_Pressure, + k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure, + k_EControllerActionOrigin_SteamV2_RightGrip_Pressure, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure, + k_EControllerActionOrigin_SteamV2_Start, + k_EControllerActionOrigin_SteamV2_Back, + k_EControllerActionOrigin_SteamV2_LeftPad_Touch, + k_EControllerActionOrigin_SteamV2_LeftPad_Swipe, + k_EControllerActionOrigin_SteamV2_LeftPad_Click, + k_EControllerActionOrigin_SteamV2_LeftPad_Pressure, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast, + k_EControllerActionOrigin_SteamV2_RightPad_Touch, + k_EControllerActionOrigin_SteamV2_RightPad_Swipe, + k_EControllerActionOrigin_SteamV2_RightPad_Click, + k_EControllerActionOrigin_SteamV2_RightPad_Pressure, + k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth, + k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth, + k_EControllerActionOrigin_SteamV2_RightPad_DPadWest, + k_EControllerActionOrigin_SteamV2_RightPad_DPadEast, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Click, + k_EControllerActionOrigin_SteamV2_RightTrigger_Pull, + k_EControllerActionOrigin_SteamV2_RightTrigger_Click, + k_EControllerActionOrigin_SteamV2_LeftStick_Move, + k_EControllerActionOrigin_SteamV2_LeftStick_Click, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamV2_Gyro_Move, + k_EControllerActionOrigin_SteamV2_Gyro_Pitch, + k_EControllerActionOrigin_SteamV2_Gyro_Yaw, + k_EControllerActionOrigin_SteamV2_Gyro_Roll, + + k_EControllerActionOrigin_Count +}; + +enum ESteamControllerLEDFlag +{ + k_ESteamControllerLEDFlag_SetColor, + k_ESteamControllerLEDFlag_RestoreUserDefault +}; + +enum ESteamInputType +{ + k_ESteamInputType_Unknown, + k_ESteamInputType_SteamController, + k_ESteamInputType_XBox360Controller, + k_ESteamInputType_XBoxOneController, + k_ESteamInputType_GenericXInput, + k_ESteamInputType_PS4Controller, +}; + +// ControllerHandle_t is used to refer to a specific controller. +// This handle will consistently identify a controller, even if it is disconnected and re-connected +typedef uint64 ControllerHandle_t; + + +// These handles are used to refer to a specific in-game action or action set +// All action handles should be queried during initialization for performance reasons +typedef uint64 ControllerActionSetHandle_t; +typedef uint64 ControllerDigitalActionHandle_t; +typedef uint64 ControllerAnalogActionHandle_t; + +#pragma pack( push, 1 ) + +struct ControllerAnalogActionData_t +{ + // Type of data coming from this action, this will match what got specified in the action set + EControllerSourceMode eMode; + + // The current state of this action; will be delta updates for mouse actions + float x, y; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct ControllerDigitalActionData_t +{ + // The current state of this action; will be true if currently pressed + bool bState; + + // Whether or not this action is currently available to be bound in the active action set + bool bActive; +}; + +struct ControllerMotionData_t +{ + // Sensor-fused absolute rotation; will drift in heading + float rotQuatX; + float rotQuatY; + float rotQuatZ; + float rotQuatW; + + // Positional acceleration + float posAccelX; + float posAccelY; + float posAccelZ; + + // Angular velocity + float rotVelX; + float rotVelY; + float rotVelZ; +}; + +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Native Steam controller support API +//----------------------------------------------------------------------------- +class ISteamController +{ +public: + + // Init and Shutdown must be called when starting/ending use of this interface + virtual bool Init() = 0; + virtual bool Shutdown() = 0; + + // Synchronize API state with the latest Steam Controller inputs available. This + // is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest + // possible latency, you call this directly before reading controller state. + virtual void RunFrame() = 0; + + // Enumerate currently connected controllers + // handlesOut should point to a STEAM_CONTROLLER_MAX_COUNT sized array of ControllerHandle_t handles + // Returns the number of handles written to handlesOut + virtual int GetConnectedControllers( ControllerHandle_t *handlesOut ) = 0; + + // Invokes the Steam overlay and brings up the binding screen + // Returns false is overlay is disabled / unavailable, or the user is not in Big Picture mode + virtual bool ShowBindingPanel( ControllerHandle_t controllerHandle ) = 0; + + // ACTION SETS + // Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName ) = 0; + + // Reconfigure the controller to use the specified action set (ie 'Menu', 'Walk' or 'Drive') + // This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in + // your state loops, instead of trying to place it in all of your state transitions. + virtual void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle ) = 0; + virtual ControllerActionSetHandle_t GetCurrentActionSet( ControllerHandle_t controllerHandle ) = 0; + + virtual void ActivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle ) = 0; + virtual void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle ) = 0; + virtual int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t *handlesOut ) = 0; + + + // ACTIONS + // Lookup the handle for a digital action. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of the supplied digital game action + virtual ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle ) = 0; + + // Get the origin(s) for a digital action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles + virtual int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin *originsOut ) = 0; + + // Lookup the handle for an analog action. Best to do this once on startup, and store the handles for all future API calls. + virtual ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName ) = 0; + + // Returns the current state of these supplied analog game action + virtual ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle ) = 0; + + // Get the origin(s) for an analog action within an action set. Returns the number of origins supplied in originsOut. Use this to display the appropriate on-screen prompt for the action. + // originsOut should point to a STEAM_CONTROLLER_MAX_ORIGINS sized array of EControllerActionOrigin handles + virtual int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin *originsOut ) = 0; + + virtual void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction ) = 0; + + // Trigger a haptic pulse on a controller + virtual void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec ) = 0; + + // Trigger a pulse with a duty cycle of usDurationMicroSec / usOffMicroSec, unRepeat times. + // nFlags is currently unused and reserved for future use. + virtual void TriggerRepeatedHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags ) = 0; + + // Tigger a vibration event on supported controllers. + virtual void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed ) = 0; + + // Set the controller LED color on supported controllers. + virtual void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags ) = 0; + + // Returns the associated gamepad index for the specified controller, if emulating a gamepad + virtual int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle ) = 0; + + // Returns the associated controller handle for the specified emulated gamepad + virtual ControllerHandle_t GetControllerForGamepadIndex( int nIndex ) = 0; + + // Returns raw motion data from the specified controller + virtual ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle ) = 0; + + // Attempt to display origins of given action in the controller HUD, for the currently active action set + // Returns false is overlay is disabled / unavailable, or the user is not in Big Picture mode + virtual bool ShowDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition ) = 0; + virtual bool ShowAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition ) = 0; + + // Returns a localized string (from Steam's language setting) for the specified origin + virtual const char *GetStringForActionOrigin( EControllerActionOrigin eOrigin ) = 0; + + // Get a local path to art for on-screen glyph for a particular origin + virtual const char *GetGlyphForActionOrigin( EControllerActionOrigin eOrigin ) = 0; + + // Returns the input type for a particular handle + virtual ESteamInputType GetInputTypeForHandle( ControllerHandle_t controllerHandle ) = 0; +}; + +#define STEAMCONTROLLER_INTERFACE_VERSION "SteamController006" + +#endif // ISTEAMCONTROLLER_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamfriends.h b/source/Steamworks_xcode/Steamworks/Include/isteamfriends.h new file mode 100644 index 0000000..c1754c2 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamfriends.h @@ -0,0 +1,639 @@ +//====== Copyright (C) 1996-2008, Valve Corporation, All rights reserved. ===== +// +// Purpose: interface to both friends list data and general information about users +// +//============================================================================= + +#ifndef ISTEAMFRIENDS_H +#define ISTEAMFRIENDS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" +#include "steamclientpublic.h" + + +//----------------------------------------------------------------------------- +// Purpose: set of relationships to other users +//----------------------------------------------------------------------------- +enum EFriendRelationship +{ + k_EFriendRelationshipNone = 0, + k_EFriendRelationshipBlocked = 1, // this doesn't get stored; the user has just done an Ignore on an friendship invite + k_EFriendRelationshipRequestRecipient = 2, + k_EFriendRelationshipFriend = 3, + k_EFriendRelationshipRequestInitiator = 4, + k_EFriendRelationshipIgnored = 5, // this is stored; the user has explicit blocked this other user from comments/chat/etc + k_EFriendRelationshipIgnoredFriend = 6, + k_EFriendRelationshipSuggested_DEPRECATED = 7, // was used by the original implementation of the facebook linking feature, but now unused. + + // keep this updated + k_EFriendRelationshipMax = 8, +}; + +// maximum length of friend group name (not including terminating nul!) +const int k_cchMaxFriendsGroupName = 64; + +// maximum number of groups a single user is allowed +const int k_cFriendsGroupLimit = 100; + +// friends group identifier type +typedef int16 FriendsGroupID_t; + +// invalid friends group identifier constant +const FriendsGroupID_t k_FriendsGroupID_Invalid = -1; + +const int k_cEnumerateFollowersMax = 50; + + +//----------------------------------------------------------------------------- +// Purpose: list of states a friend can be in +//----------------------------------------------------------------------------- +enum EPersonaState +{ + k_EPersonaStateOffline = 0, // friend is not currently logged on + k_EPersonaStateOnline = 1, // friend is logged on + k_EPersonaStateBusy = 2, // user is on, but busy + k_EPersonaStateAway = 3, // auto-away feature + k_EPersonaStateSnooze = 4, // auto-away for a long time + k_EPersonaStateLookingToTrade = 5, // Online, trading + k_EPersonaStateLookingToPlay = 6, // Online, wanting to play + k_EPersonaStateMax, +}; + + +//----------------------------------------------------------------------------- +// Purpose: flags for enumerating friends list, or quickly checking a the relationship between users +//----------------------------------------------------------------------------- +enum EFriendFlags +{ + k_EFriendFlagNone = 0x00, + k_EFriendFlagBlocked = 0x01, + k_EFriendFlagFriendshipRequested = 0x02, + k_EFriendFlagImmediate = 0x04, // "regular" friend + k_EFriendFlagClanMember = 0x08, + k_EFriendFlagOnGameServer = 0x10, + // k_EFriendFlagHasPlayedWith = 0x20, // not currently used + // k_EFriendFlagFriendOfFriend = 0x40, // not currently used + k_EFriendFlagRequestingFriendship = 0x80, + k_EFriendFlagRequestingInfo = 0x100, + k_EFriendFlagIgnored = 0x200, + k_EFriendFlagIgnoredFriend = 0x400, + // k_EFriendFlagSuggested = 0x800, // not used + k_EFriendFlagChatMember = 0x1000, + k_EFriendFlagAll = 0xFFFF, +}; + + +// friend game played information +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif +struct FriendGameInfo_t +{ + CGameID m_gameID; + uint32 m_unGameIP; + uint16 m_usGamePort; + uint16 m_usQueryPort; + CSteamID m_steamIDLobby; +}; +#pragma pack( pop ) + +// maximum number of characters in a user's name. Two flavors; one for UTF-8 and one for UTF-16. +// The UTF-8 version has to be very generous to accomodate characters that get large when encoded +// in UTF-8. +enum +{ + k_cchPersonaNameMax = 128, + k_cwchPersonaNameMax = 32, +}; + +//----------------------------------------------------------------------------- +// Purpose: user restriction flags +//----------------------------------------------------------------------------- +enum EUserRestriction +{ + k_nUserRestrictionNone = 0, // no known chat/content restriction + k_nUserRestrictionUnknown = 1, // we don't know yet (user offline) + k_nUserRestrictionAnyChat = 2, // user is not allowed to (or can't) send/recv any chat + k_nUserRestrictionVoiceChat = 4, // user is not allowed to (or can't) send/recv voice chat + k_nUserRestrictionGroupChat = 8, // user is not allowed to (or can't) send/recv group chat + k_nUserRestrictionRating = 16, // user is too young according to rating in current region + k_nUserRestrictionGameInvites = 32, // user cannot send or recv game invites (e.g. mobile) + k_nUserRestrictionTrading = 64, // user cannot participate in trading (console, mobile) +}; + +//----------------------------------------------------------------------------- +// Purpose: information about user sessions +//----------------------------------------------------------------------------- +struct FriendSessionStateInfo_t +{ + uint32 m_uiOnlineSessionInstances; + uint8 m_uiPublishedToFriendsSessionInstance; +}; + + + +// size limit on chat room or member metadata +const uint32 k_cubChatMetadataMax = 8192; + +// size limits on Rich Presence data +enum { k_cchMaxRichPresenceKeys = 20 }; +enum { k_cchMaxRichPresenceKeyLength = 64 }; +enum { k_cchMaxRichPresenceValueLength = 256 }; + +// These values are passed as parameters to the store +enum EOverlayToStoreFlag +{ + k_EOverlayToStoreFlag_None = 0, + k_EOverlayToStoreFlag_AddToCart = 1, + k_EOverlayToStoreFlag_AddToCartAndShow = 2, +}; + +//----------------------------------------------------------------------------- +// Purpose: interface to accessing information about individual users, +// that can be a friend, in a group, on a game server or in a lobby with the local user +//----------------------------------------------------------------------------- +class ISteamFriends +{ +public: + // returns the local players name - guaranteed to not be NULL. + // this is the same name as on the users community profile page + // this is stored in UTF-8 format + // like all the other interface functions that return a char *, it's important that this pointer is not saved + // off; it will eventually be free'd or re-allocated + virtual const char *GetPersonaName() = 0; + + // Sets the player name, stores it on the server and publishes the changes to all friends who are online. + // Changes take place locally immediately, and a PersonaStateChange_t is posted, presuming success. + // + // The final results are available through the return value SteamAPICall_t, using SetPersonaNameResponse_t. + // + // If the name change fails to happen on the server, then an additional global PersonaStateChange_t will be posted + // to change the name back, in addition to the SetPersonaNameResponse_t callback. + CALL_RESULT( SetPersonaNameResponse_t ) + virtual SteamAPICall_t SetPersonaName( const char *pchPersonaName ) = 0; + + // gets the status of the current user + virtual EPersonaState GetPersonaState() = 0; + + // friend iteration + // takes a set of k_EFriendFlags, and returns the number of users the client knows about who meet that criteria + // then GetFriendByIndex() can then be used to return the id's of each of those users + virtual int GetFriendCount( int iFriendFlags ) = 0; + + // returns the steamID of a user + // iFriend is a index of range [0, GetFriendCount()) + // iFriendsFlags must be the same value as used in GetFriendCount() + // the returned CSteamID can then be used by all the functions below to access details about the user + virtual CSteamID GetFriendByIndex( int iFriend, int iFriendFlags ) = 0; + + // returns a relationship to a user + virtual EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend ) = 0; + + // returns the current status of the specified user + // this will only be known by the local user if steamIDFriend is in their friends list; on the same game server; in a chat room or lobby; or in a small group with the local user + virtual EPersonaState GetFriendPersonaState( CSteamID steamIDFriend ) = 0; + + // returns the name another user - guaranteed to not be NULL. + // same rules as GetFriendPersonaState() apply as to whether or not the user knowns the name of the other user + // note that on first joining a lobby, chat room or game server the local user will not known the name of the other users automatically; that information will arrive asyncronously + // + virtual const char *GetFriendPersonaName( CSteamID steamIDFriend ) = 0; + + // returns true if the friend is actually in a game, and fills in pFriendGameInfo with an extra details + virtual bool GetFriendGamePlayed( CSteamID steamIDFriend, OUT_STRUCT() FriendGameInfo_t *pFriendGameInfo ) = 0; + // accesses old friends names - returns an empty string when their are no more items in the history + virtual const char *GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName ) = 0; + // friends steam level + virtual int GetFriendSteamLevel( CSteamID steamIDFriend ) = 0; + + // Returns nickname the current user has set for the specified player. Returns NULL if the no nickname has been set for that player. + virtual const char *GetPlayerNickname( CSteamID steamIDPlayer ) = 0; + + // friend grouping (tag) apis + // returns the number of friends groups + virtual int GetFriendsGroupCount() = 0; + // returns the friends group ID for the given index (invalid indices return k_FriendsGroupID_Invalid) + virtual FriendsGroupID_t GetFriendsGroupIDByIndex( int iFG ) = 0; + // returns the name for the given friends group (NULL in the case of invalid friends group IDs) + virtual const char *GetFriendsGroupName( FriendsGroupID_t friendsGroupID ) = 0; + // returns the number of members in a given friends group + virtual int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID ) = 0; + // gets up to nMembersCount members of the given friends group, if fewer exist than requested those positions' SteamIDs will be invalid + virtual void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, OUT_ARRAY_CALL(nMembersCount, GetFriendsGroupMembersCount, friendsGroupID ) CSteamID *pOutSteamIDMembers, int nMembersCount ) = 0; + + // returns true if the specified user meets any of the criteria specified in iFriendFlags + // iFriendFlags can be the union (binary or, |) of one or more k_EFriendFlags values + virtual bool HasFriend( CSteamID steamIDFriend, int iFriendFlags ) = 0; + + // clan (group) iteration and access functions + virtual int GetClanCount() = 0; + virtual CSteamID GetClanByIndex( int iClan ) = 0; + virtual const char *GetClanName( CSteamID steamIDClan ) = 0; + virtual const char *GetClanTag( CSteamID steamIDClan ) = 0; + // returns the most recent information we have about what's happening in a clan + virtual bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting ) = 0; + // for clans a user is a member of, they will have reasonably up-to-date information, but for others you'll have to download the info to have the latest + virtual SteamAPICall_t DownloadClanActivityCounts( ARRAY_COUNT(cClansToRequest) CSteamID *psteamIDClans, int cClansToRequest ) = 0; + + // iterators for getting users in a chat room, lobby, game server or clan + // note that large clans that cannot be iterated by the local user + // note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby + // steamIDSource can be the steamID of a group, game server, lobby or chat room + virtual int GetFriendCountFromSource( CSteamID steamIDSource ) = 0; + virtual CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend ) = 0; + + // returns true if the local user can see that steamIDUser is a member or in steamIDSource + virtual bool IsUserInSource( CSteamID steamIDUser, CSteamID steamIDSource ) = 0; + + // User is in a game pressing the talk button (will suppress the microphone for all voice comms from the Steam friends UI) + virtual void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking ) = 0; + + // activates the game overlay, with an optional dialog to open + // valid options are "Friends", "Community", "Players", "Settings", "OfficialGameGroup", "Stats", "Achievements" + virtual void ActivateGameOverlay( const char *pchDialog ) = 0; + + // activates game overlay to a specific place + // valid options are + // "steamid" - opens the overlay web browser to the specified user or groups profile + // "chat" - opens a chat window to the specified user, or joins the group chat + // "jointrade" - opens a window to a Steam Trading session that was started with the ISteamEconomy/StartTrade Web API + // "stats" - opens the overlay web browser to the specified user's stats + // "achievements" - opens the overlay web browser to the specified user's achievements + // "friendadd" - opens the overlay in minimal mode prompting the user to add the target user as a friend + // "friendremove" - opens the overlay in minimal mode prompting the user to remove the target friend + // "friendrequestaccept" - opens the overlay in minimal mode prompting the user to accept an incoming friend invite + // "friendrequestignore" - opens the overlay in minimal mode prompting the user to ignore an incoming friend invite + virtual void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID ) = 0; + + // activates game overlay web browser directly to the specified URL + // full address with protocol type is required, e.g. http://www.steamgames.com/ + virtual void ActivateGameOverlayToWebPage( const char *pchURL ) = 0; + + // activates game overlay to store page for app + virtual void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag ) = 0; + + // Mark a target user as 'played with'. This is a client-side only feature that requires that the calling user is + // in game + virtual void SetPlayedWith( CSteamID steamIDUserPlayedWith ) = 0; + + // activates game overlay to open the invite dialog. Invitations will be sent for the provided lobby. + virtual void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby ) = 0; + + // gets the small (32x32) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + virtual int GetSmallFriendAvatar( CSteamID steamIDFriend ) = 0; + + // gets the medium (64x64) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + virtual int GetMediumFriendAvatar( CSteamID steamIDFriend ) = 0; + + // gets the large (184x184) avatar of the current user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if none set + // returns -1 if this image has yet to be loaded, in this case wait for a AvatarImageLoaded_t callback and then call this again + virtual int GetLargeFriendAvatar( CSteamID steamIDFriend ) = 0; + + // requests information about a user - persona name & avatar + // if bRequireNameOnly is set, then the avatar of a user isn't downloaded + // - it's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them + // if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved + // if returns false, it means that we already have all the details about that user, and functions can be called immediately + virtual bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly ) = 0; + + // requests information about a clan officer list + // when complete, data is returned in ClanOfficerListResponse_t call result + // this makes available the calls below + // you can only ask about clans that a user is a member of + // note that this won't download avatars automatically; if you get an officer, + // and no avatar image is available, call RequestUserInformation( steamID, false ) to download the avatar + CALL_RESULT( ClanOfficerListResponse_t ) + virtual SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan ) = 0; + + // iteration of clan officers - can only be done when a RequestClanOfficerList() call has completed + + // returns the steamID of the clan owner + virtual CSteamID GetClanOwner( CSteamID steamIDClan ) = 0; + // returns the number of officers in a clan (including the owner) + virtual int GetClanOfficerCount( CSteamID steamIDClan ) = 0; + // returns the steamID of a clan officer, by index, of range [0,GetClanOfficerCount) + virtual CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer ) = 0; + // if current user is chat restricted, he can't send or receive any text/voice chat messages. + // the user can't see custom avatars. But the user can be online and send/recv game invites. + // a chat restricted user can't add friends or join any groups. + virtual uint32 GetUserRestrictions() = 0; + + // Rich Presence data is automatically shared between friends who are in the same game + // Each user has a set of Key/Value pairs + // Note the following limits: k_cchMaxRichPresenceKeys, k_cchMaxRichPresenceKeyLength, k_cchMaxRichPresenceValueLength + // There are two magic keys: + // "status" - a UTF-8 string that will show up in the 'view game info' dialog in the Steam friends list + // "connect" - a UTF-8 string that contains the command-line for how a friend can connect to a game + // GetFriendRichPresence() returns an empty string "" if no value is set + // SetRichPresence() to a NULL or an empty string deletes the key + // You can iterate the current set of keys for a friend with GetFriendRichPresenceKeyCount() + // and GetFriendRichPresenceKeyByIndex() (typically only used for debugging) + virtual bool SetRichPresence( const char *pchKey, const char *pchValue ) = 0; + virtual void ClearRichPresence() = 0; + virtual const char *GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey ) = 0; + virtual int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend ) = 0; + virtual const char *GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey ) = 0; + // Requests rich presence for a specific user. + virtual void RequestFriendRichPresence( CSteamID steamIDFriend ) = 0; + + // rich invite support + // if the target accepts the invite, the pchConnectString gets added to the command-line for launching the game + // if the game is already running, a GameRichPresenceJoinRequested_t callback is posted containing the connect string + // invites can only be sent to friends + virtual bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString ) = 0; + + // recently-played-with friends iteration + // this iterates the entire list of users recently played with, across games + // GetFriendCoplayTime() returns as a unix time + virtual int GetCoplayFriendCount() = 0; + virtual CSteamID GetCoplayFriend( int iCoplayFriend ) = 0; + virtual int GetFriendCoplayTime( CSteamID steamIDFriend ) = 0; + virtual AppId_t GetFriendCoplayGame( CSteamID steamIDFriend ) = 0; + + // chat interface for games + // this allows in-game access to group (clan) chats from in the game + // the behavior is somewhat sophisticated, because the user may or may not be already in the group chat from outside the game or in the overlay + // use ActivateGameOverlayToUser( "chat", steamIDClan ) to open the in-game overlay version of the chat + CALL_RESULT( JoinClanChatRoomCompletionResult_t ) + virtual SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan ) = 0; + virtual bool LeaveClanChatRoom( CSteamID steamIDClan ) = 0; + virtual int GetClanChatMemberCount( CSteamID steamIDClan ) = 0; + virtual CSteamID GetChatMemberByIndex( CSteamID steamIDClan, int iUser ) = 0; + virtual bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText ) = 0; + virtual int GetClanChatMessage( CSteamID steamIDClanChat, int iMessage, void *prgchText, int cchTextMax, EChatEntryType *peChatEntryType, OUT_STRUCT() CSteamID *psteamidChatter ) = 0; + virtual bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser ) = 0; + + // interact with the Steam (game overlay / desktop) + virtual bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat ) = 0; + virtual bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat ) = 0; + virtual bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat ) = 0; + + // peer-to-peer chat interception + // this is so you can show P2P chats inline in the game + virtual bool SetListenForFriendsMessages( bool bInterceptEnabled ) = 0; + virtual bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend ) = 0; + virtual int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType ) = 0; + + // following apis + CALL_RESULT( FriendsGetFollowerCount_t ) + virtual SteamAPICall_t GetFollowerCount( CSteamID steamID ) = 0; + CALL_RESULT( FriendsIsFollowing_t ) + virtual SteamAPICall_t IsFollowing( CSteamID steamID ) = 0; + CALL_RESULT( FriendsEnumerateFollowingList_t ) + virtual SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex ) = 0; + + virtual bool IsClanPublic( CSteamID steamIDClan ) = 0; + virtual bool IsClanOfficialGameGroup( CSteamID steamIDClan ) = 0; +}; + +#define STEAMFRIENDS_INTERFACE_VERSION "SteamFriends015" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when a friends' status changes +//----------------------------------------------------------------------------- +struct PersonaStateChange_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 4 }; + + uint64 m_ulSteamID; // steamID of the friend who changed + int m_nChangeFlags; // what's changed +}; + + +// used in PersonaStateChange_t::m_nChangeFlags to describe what's changed about a user +// these flags describe what the client has learned has changed recently, so on startup you'll see a name, avatar & relationship change for every friend +enum EPersonaChange +{ + k_EPersonaChangeName = 0x0001, + k_EPersonaChangeStatus = 0x0002, + k_EPersonaChangeComeOnline = 0x0004, + k_EPersonaChangeGoneOffline = 0x0008, + k_EPersonaChangeGamePlayed = 0x0010, + k_EPersonaChangeGameServer = 0x0020, + k_EPersonaChangeAvatar = 0x0040, + k_EPersonaChangeJoinedSource= 0x0080, + k_EPersonaChangeLeftSource = 0x0100, + k_EPersonaChangeRelationshipChanged = 0x0200, + k_EPersonaChangeNameFirstSet = 0x0400, + k_EPersonaChangeFacebookInfo = 0x0800, + k_EPersonaChangeNickname = 0x1000, + k_EPersonaChangeSteamLevel = 0x2000, +}; + + +//----------------------------------------------------------------------------- +// Purpose: posted when game overlay activates or deactivates +// the game can use this to be pause or resume single player games +//----------------------------------------------------------------------------- +struct GameOverlayActivated_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 31 }; + uint8 m_bActive; // true if it's just been activated, false otherwise +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a different game server from their friends list +// game client should attempt to connect to specified server when this is received +//----------------------------------------------------------------------------- +struct GameServerChangeRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 32 }; + char m_rgchServer[64]; // server address ("127.0.0.1:27015", "tf2.valvesoftware.com") + char m_rgchPassword[64]; // server password, if any +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a lobby from their friends list +// game client should attempt to connect to specified lobby when this is received +//----------------------------------------------------------------------------- +struct GameLobbyJoinRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 33 }; + CSteamID m_steamIDLobby; + + // The friend they did the join via (will be invalid if not directly via a friend) + // + // On PS3, the friend will be invalid if this was triggered by a PSN invite via the XMB, but + // the account type will be console user so you can tell at least that this was from a PSN friend + // rather than a Steam friend. + CSteamID m_steamIDFriend; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when an avatar is loaded in from a previous GetLargeFriendAvatar() call +// if the image wasn't already available +//----------------------------------------------------------------------------- +struct AvatarImageLoaded_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 34 }; + CSteamID m_steamID; // steamid the avatar has been loaded for + int m_iImage; // the image index of the now loaded image + int m_iWide; // width of the loaded image + int m_iTall; // height of the loaded image +}; + + +//----------------------------------------------------------------------------- +// Purpose: marks the return of a request officer list call +//----------------------------------------------------------------------------- +struct ClanOfficerListResponse_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 35 }; + CSteamID m_steamIDClan; + int m_cOfficers; + uint8 m_bSuccess; +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating updated data about friends rich presence information +//----------------------------------------------------------------------------- +struct FriendRichPresenceUpdate_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 36 }; + CSteamID m_steamIDFriend; // friend who's rich presence has changed + AppId_t m_nAppID; // the appID of the game (should always be the current game) +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the user tries to join a game from their friends list +// rich presence will have been set with the "connect" key which is set here +//----------------------------------------------------------------------------- +struct GameRichPresenceJoinRequested_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 37 }; + CSteamID m_steamIDFriend; // the friend they did the join via (will be invalid if not directly via a friend) + char m_rgchConnect[k_cchMaxRichPresenceValueLength]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a chat message has been received for a clan chat the game has joined +//----------------------------------------------------------------------------- +struct GameConnectedClanChatMsg_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 38 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; + int m_iMessageID; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a user has joined a clan chat +//----------------------------------------------------------------------------- +struct GameConnectedChatJoin_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 39 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a user has left the chat we're in +//----------------------------------------------------------------------------- +struct GameConnectedChatLeave_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 40 }; + CSteamID m_steamIDClanChat; + CSteamID m_steamIDUser; + bool m_bKicked; // true if admin kicked + bool m_bDropped; // true if Steam connection dropped +}; + + +//----------------------------------------------------------------------------- +// Purpose: a DownloadClanActivityCounts() call has finished +//----------------------------------------------------------------------------- +struct DownloadClanActivityCountsResult_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 41 }; + bool m_bSuccess; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a JoinClanChatRoom() call has finished +//----------------------------------------------------------------------------- +struct JoinClanChatRoomCompletionResult_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 42 }; + CSteamID m_steamIDClanChat; + EChatRoomEnterResponse m_eChatRoomEnterResponse; +}; + +//----------------------------------------------------------------------------- +// Purpose: a chat message has been received from a user +//----------------------------------------------------------------------------- +struct GameConnectedFriendChatMsg_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 43 }; + CSteamID m_steamIDUser; + int m_iMessageID; +}; + + +struct FriendsGetFollowerCount_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 44 }; + EResult m_eResult; + CSteamID m_steamID; + int m_nCount; +}; + + +struct FriendsIsFollowing_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 45 }; + EResult m_eResult; + CSteamID m_steamID; + bool m_bIsFollowing; +}; + + +struct FriendsEnumerateFollowingList_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 46 }; + EResult m_eResult; + CSteamID m_rgSteamID[ k_cEnumerateFollowersMax ]; + int32 m_nResultsReturned; + int32 m_nTotalResultCount; +}; + +//----------------------------------------------------------------------------- +// Purpose: reports the result of an attempt to change the user's persona name +//----------------------------------------------------------------------------- +struct SetPersonaNameResponse_t +{ + enum { k_iCallback = k_iSteamFriendsCallbacks + 47 }; + + bool m_bSuccess; // true if name change succeeded completely. + bool m_bLocalSuccess; // true if name change was retained locally. (We might not have been able to communicate with Steam) + EResult m_result; // detailed result code +}; + + +#pragma pack( pop ) + +#endif // ISTEAMFRIENDS_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamgamecoordinator.h b/source/Steamworks_xcode/Steamworks/Include/isteamgamecoordinator.h new file mode 100644 index 0000000..5ab0637 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamgamecoordinator.h @@ -0,0 +1,75 @@ +//====== Copyright ©, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to the game coordinator for this application +// +//============================================================================= + +#ifndef ISTEAMGAMECOORDINATOR +#define ISTEAMGAMECOORDINATOR +#ifdef _WIN32 +#pragma once +#endif + +#include "steamtypes.h" +#include "steamclientpublic.h" + + +// list of possible return values from the ISteamGameCoordinator API +enum EGCResults +{ + k_EGCResultOK = 0, + k_EGCResultNoMessage = 1, // There is no message in the queue + k_EGCResultBufferTooSmall = 2, // The buffer is too small for the requested message + k_EGCResultNotLoggedOn = 3, // The client is not logged onto Steam + k_EGCResultInvalidMessage = 4, // Something was wrong with the message being sent with SendMessage +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for sending and receiving messages from the Game Coordinator +// for this application +//----------------------------------------------------------------------------- +class ISteamGameCoordinator +{ +public: + + // sends a message to the Game Coordinator + virtual EGCResults SendMessage( uint32 unMsgType, const void *pubData, uint32 cubData ) = 0; + + // returns true if there is a message waiting from the game coordinator + virtual bool IsMessageAvailable( uint32 *pcubMsgSize ) = 0; + + // fills the provided buffer with the first message in the queue and returns k_EGCResultOK or + // returns k_EGCResultNoMessage if there is no message waiting. pcubMsgSize is filled with the message size. + // If the provided buffer is not large enough to fit the entire message, k_EGCResultBufferTooSmall is returned + // and the message remains at the head of the queue. + virtual EGCResults RetrieveMessage( uint32 *punMsgType, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0; + +}; +#define STEAMGAMECOORDINATOR_INTERFACE_VERSION "SteamGameCoordinator001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +// callback notification - A new message is available for reading from the message queue +struct GCMessageAvailable_t +{ + enum { k_iCallback = k_iSteamGameCoordinatorCallbacks + 1 }; + uint32 m_nMessageSize; +}; + +// callback notification - A message failed to make it to the GC. It may be down temporarily +struct GCMessageFailed_t +{ + enum { k_iCallback = k_iSteamGameCoordinatorCallbacks + 2 }; +}; + +#pragma pack( pop ) + +#endif // ISTEAMGAMECOORDINATOR diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamgameserver.h b/source/Steamworks_xcode/Steamworks/Include/isteamgameserver.h new file mode 100644 index 0000000..e19f1dd --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamgameserver.h @@ -0,0 +1,387 @@ +//====== Copyright (c) 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam for game servers +// +//============================================================================= + +#ifndef ISTEAMGAMESERVER_H +#define ISTEAMGAMESERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +#define MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE ((uint16)-1) + +//----------------------------------------------------------------------------- +// Purpose: Functions for authenticating users via Steam to play on a game server +//----------------------------------------------------------------------------- +class ISteamGameServer +{ +public: + +// +// Basic server data. These properties, if set, must be set before before calling LogOn. They +// may not be changed after logged in. +// + + /// This is called by SteamGameServer_Init, and you will usually not need to call it directly + virtual bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString ) = 0; + + /// Game product identifier. This is currently used by the master server for version checking purposes. + /// It's a required field, but will eventually will go away, and the AppID will be used for this purpose. + virtual void SetProduct( const char *pszProduct ) = 0; + + /// Description of the game. This is a required field and is displayed in the steam server browser....for now. + /// This is a required field, but it will go away eventually, as the data should be determined from the AppID. + virtual void SetGameDescription( const char *pszGameDescription ) = 0; + + /// If your game is a "mod," pass the string that identifies it. The default is an empty string, meaning + /// this application is the original game, not a mod. + /// + /// @see k_cbMaxGameServerGameDir + virtual void SetModDir( const char *pszModDir ) = 0; + + /// Is this is a dedicated server? The default value is false. + virtual void SetDedicatedServer( bool bDedicated ) = 0; + +// +// Login +// + + /// Begin process to login to a persistent game server account + /// + /// You need to register for callbacks to determine the result of this operation. + /// @see SteamServersConnected_t + /// @see SteamServerConnectFailure_t + /// @see SteamServersDisconnected_t + virtual void LogOn( const char *pszToken ) = 0; + + /// Login to a generic, anonymous account. + /// + /// Note: in previous versions of the SDK, this was automatically called within SteamGameServer_Init, + /// but this is no longer the case. + virtual void LogOnAnonymous() = 0; + + /// Begin process of logging game server out of steam + virtual void LogOff() = 0; + + // status functions + virtual bool BLoggedOn() = 0; + virtual bool BSecure() = 0; + virtual CSteamID GetSteamID() = 0; + + /// Returns true if the master server has requested a restart. + /// Only returns true once per request. + virtual bool WasRestartRequested() = 0; + +// +// Server state. These properties may be changed at any time. +// + + /// Max player count that will be reported to server browser and client queries + virtual void SetMaxPlayerCount( int cPlayersMax ) = 0; + + /// Number of bots. Default value is zero + virtual void SetBotPlayerCount( int cBotplayers ) = 0; + + /// Set the name of server as it will appear in the server browser + /// + /// @see k_cbMaxGameServerName + virtual void SetServerName( const char *pszServerName ) = 0; + + /// Set name of map to report in the server browser + /// + /// @see k_cbMaxGameServerName + virtual void SetMapName( const char *pszMapName ) = 0; + + /// Let people know if your server will require a password + virtual void SetPasswordProtected( bool bPasswordProtected ) = 0; + + /// Spectator server. The default value is zero, meaning the service + /// is not used. + virtual void SetSpectatorPort( uint16 unSpectatorPort ) = 0; + + /// Name of the spectator server. (Only used if spectator port is nonzero.) + /// + /// @see k_cbMaxGameServerMapName + virtual void SetSpectatorServerName( const char *pszSpectatorServerName ) = 0; + + /// Call this to clear the whole list of key/values that are sent in rules queries. + virtual void ClearAllKeyValues() = 0; + + /// Call this to add/update a key/value pair. + virtual void SetKeyValue( const char *pKey, const char *pValue ) = 0; + + /// Sets a string defining the "gametags" for this server, this is optional, but if it is set + /// it allows users to filter in the matchmaking/server-browser interfaces based on the value + /// + /// @see k_cbMaxGameServerTags + virtual void SetGameTags( const char *pchGameTags ) = 0; + + /// Sets a string defining the "gamedata" for this server, this is optional, but if it is set + /// it allows users to filter in the matchmaking/server-browser interfaces based on the value + /// don't set this unless it actually changes, its only uploaded to the master once (when + /// acknowledged) + /// + /// @see k_cbMaxGameServerGameData + virtual void SetGameData( const char *pchGameData ) = 0; + + /// Region identifier. This is an optional field, the default value is empty, meaning the "world" region + virtual void SetRegion( const char *pszRegion ) = 0; + +// +// Player list management / authentication +// + + // Handles receiving a new connection from a Steam user. This call will ask the Steam + // servers to validate the users identity, app ownership, and VAC status. If the Steam servers + // are off-line, then it will validate the cached ticket itself which will validate app ownership + // and identity. The AuthBlob here should be acquired on the game client using SteamUser()->InitiateGameConnection() + // and must then be sent up to the game server for authentication. + // + // Return Value: returns true if the users ticket passes basic checks. pSteamIDUser will contain the Steam ID of this user. pSteamIDUser must NOT be NULL + // If the call succeeds then you should expect a GSClientApprove_t or GSClientDeny_t callback which will tell you whether authentication + // for the user has succeeded or failed (the steamid in the callback will match the one returned by this call) + virtual bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser ) = 0; + + // Creates a fake user (ie, a bot) which will be listed as playing on the server, but skips validation. + // + // Return Value: Returns a SteamID for the user to be tracked with, you should call HandleUserDisconnect() + // when this user leaves the server just like you would for a real user. + virtual CSteamID CreateUnauthenticatedUserConnection() = 0; + + // Should be called whenever a user leaves our game server, this lets Steam internally + // track which users are currently on which servers for the purposes of preventing a single + // account being logged into multiple servers, showing who is currently on a server, etc. + virtual void SendUserDisconnect( CSteamID steamIDUser ) = 0; + + // Update the data to be displayed in the server browser and matchmaking interfaces for a user + // currently connected to the server. For regular users you must call this after you receive a + // GSUserValidationSuccess callback. + // + // Return Value: true if successful, false if failure (ie, steamIDUser wasn't for an active player) + virtual bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore ) = 0; + + // New auth system APIs - do not mix with the old auth system APIs. + // ---------------------------------------------------------------- + + // Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ). + // pcbTicket retrieves the length of the actual ticket. + virtual HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket ) = 0; + + // Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused + // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) + virtual EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID ) = 0; + + // Stop tracking started by BeginAuthSession - called when no longer playing game with this entity + virtual void EndAuthSession( CSteamID steamID ) = 0; + + // Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to + virtual void CancelAuthTicket( HAuthTicket hAuthTicket ) = 0; + + // After receiving a user's authentication data, and passing it to SendUserConnectAndAuthenticate, use this function + // to determine if the user owns downloadable content specified by the provided AppID. + virtual EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID ) = 0; + + // Ask if a user in in the specified group, results returns async by GSUserGroupStatus_t + // returns false if we're not connected to the steam servers and thus cannot ask + virtual bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup ) = 0; + + + // these two functions s are deprecated, and will not return results + // they will be removed in a future version of the SDK + virtual void GetGameplayStats( ) = 0; + CALL_RESULT( GSReputation_t ) + virtual SteamAPICall_t GetServerReputation() = 0; + + // Returns the public IP of the server according to Steam, useful when the server is + // behind NAT and you want to advertise its IP in a lobby for other clients to directly + // connect to + virtual uint32 GetPublicIP() = 0; + +// These are in GameSocketShare mode, where instead of ISteamGameServer creating its own +// socket to talk to the master server on, it lets the game use its socket to forward messages +// back and forth. This prevents us from requiring server ops to open up yet another port +// in their firewalls. +// +// the IP address and port should be in host order, i.e 127.0.0.1 == 0x7f000001 + + // These are used when you've elected to multiplex the game server's UDP socket + // rather than having the master server updater use its own sockets. + // + // Source games use this to simplify the job of the server admins, so they + // don't have to open up more ports on their firewalls. + + // Call this when a packet that starts with 0xFFFFFFFF comes in. That means + // it's for us. + virtual bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort ) = 0; + + // AFTER calling HandleIncomingPacket for any packets that came in that frame, call this. + // This gets a packet that the master server updater needs to send out on UDP. + // It returns the length of the packet it wants to send, or 0 if there are no more packets to send. + // Call this each frame until it returns 0. + virtual int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort ) = 0; + +// +// Control heartbeats / advertisement with master server +// + + // Call this as often as you like to tell the master server updater whether or not + // you want it to be active (default: off). + virtual void EnableHeartbeats( bool bActive ) = 0; + + // You usually don't need to modify this. + // Pass -1 to use the default value for iHeartbeatInterval. + // Some mods change this. + virtual void SetHeartbeatInterval( int iHeartbeatInterval ) = 0; + + // Force a heartbeat to steam at the next opportunity + virtual void ForceHeartbeat() = 0; + + // associate this game server with this clan for the purposes of computing player compat + CALL_RESULT( AssociateWithClanResult_t ) + virtual SteamAPICall_t AssociateWithClan( CSteamID steamIDClan ) = 0; + + // ask if any of the current players dont want to play with this new player - or vice versa + CALL_RESULT( ComputeNewPlayerCompatibilityResult_t ) + virtual SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer ) = 0; + +}; + +#define STEAMGAMESERVER_INTERFACE_VERSION "SteamGameServer012" + +// game server flags +const uint32 k_unServerFlagNone = 0x00; +const uint32 k_unServerFlagActive = 0x01; // server has users playing +const uint32 k_unServerFlagSecure = 0x02; // server wants to be secure +const uint32 k_unServerFlagDedicated = 0x04; // server is dedicated +const uint32 k_unServerFlagLinux = 0x08; // linux build +const uint32 k_unServerFlagPassworded = 0x10; // password protected +const uint32 k_unServerFlagPrivate = 0x20; // server shouldn't list on master server and + // won't enforce authentication of users that connect to the server. + // Useful when you run a server where the clients may not + // be connected to the internet but you want them to play (i.e LANs) + + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +// client has been approved to connect to this game server +struct GSClientApprove_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 1 }; + CSteamID m_SteamID; // SteamID of approved player + CSteamID m_OwnerSteamID; // SteamID of original owner for game license +}; + + +// client has been denied to connection to this game server +struct GSClientDeny_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 2 }; + CSteamID m_SteamID; + EDenyReason m_eDenyReason; + char m_rgchOptionalText[128]; +}; + + +// request the game server should kick the user +struct GSClientKick_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 3 }; + CSteamID m_SteamID; + EDenyReason m_eDenyReason; +}; + +// NOTE: callback values 4 and 5 are skipped because they are used for old deprecated callbacks, +// do not reuse them here. + + +// client achievement info +struct GSClientAchievementStatus_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 6 }; + uint64 m_SteamID; + char m_pchAchievement[128]; + bool m_bUnlocked; +}; + +// received when the game server requests to be displayed as secure (VAC protected) +// m_bSecure is true if the game server should display itself as secure to users, false otherwise +struct GSPolicyResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 15 }; + uint8 m_bSecure; +}; + +// GS gameplay stats info +struct GSGameplayStats_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 7 }; + EResult m_eResult; // Result of the call + int32 m_nRank; // Overall rank of the server (0-based) + uint32 m_unTotalConnects; // Total number of clients who have ever connected to the server + uint32 m_unTotalMinutesPlayed; // Total number of minutes ever played on the server +}; + +// send as a reply to RequestUserGroupStatus() +struct GSClientGroupStatus_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 8 }; + CSteamID m_SteamIDUser; + CSteamID m_SteamIDGroup; + bool m_bMember; + bool m_bOfficer; +}; + +// Sent as a reply to GetServerReputation() +struct GSReputation_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 9 }; + EResult m_eResult; // Result of the call; + uint32 m_unReputationScore; // The reputation score for the game server + bool m_bBanned; // True if the server is banned from the Steam + // master servers + + // The following members are only filled out if m_bBanned is true. They will all + // be set to zero otherwise. Master server bans are by IP so it is possible to be + // banned even when the score is good high if there is a bad server on another port. + // This information can be used to determine which server is bad. + + uint32 m_unBannedIP; // The IP of the banned server + uint16 m_usBannedPort; // The port of the banned server + uint64 m_ulBannedGameID; // The game ID the banned server is serving + uint32 m_unBanExpires; // Time the ban expires, expressed in the Unix epoch (seconds since 1/1/1970) +}; + +// Sent as a reply to AssociateWithClan() +struct AssociateWithClanResult_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 10 }; + EResult m_eResult; // Result of the call; +}; + +// Sent as a reply to ComputeNewPlayerCompatibility() +struct ComputeNewPlayerCompatibilityResult_t +{ + enum { k_iCallback = k_iSteamGameServerCallbacks + 11 }; + EResult m_eResult; // Result of the call; + int m_cPlayersThatDontLikeCandidate; + int m_cPlayersThatCandidateDoesntLike; + int m_cClanPlayersThatDontLikeCandidate; + CSteamID m_SteamIDCandidate; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMGAMESERVER_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamgameserverstats.h b/source/Steamworks_xcode/Steamworks/Include/isteamgameserverstats.h new file mode 100644 index 0000000..e7922c9 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamgameserverstats.h @@ -0,0 +1,101 @@ +//====== Copyright © Valve Corporation, All rights reserved. ======= +// +// Purpose: interface for game servers to steam stats and achievements +// +//============================================================================= + +#ifndef ISTEAMGAMESERVERSTATS_H +#define ISTEAMGAMESERVERSTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +//----------------------------------------------------------------------------- +// Purpose: Functions for authenticating users via Steam to play on a game server +//----------------------------------------------------------------------------- +class ISteamGameServerStats +{ +public: + // downloads stats for the user + // returns a GSStatsReceived_t callback when completed + // if the user has no stats, GSStatsReceived_t.m_eResult will be set to k_EResultFail + // these stats will only be auto-updated for clients playing on the server. For other + // users you'll need to call RequestUserStats() again to refresh any data + CALL_RESULT( GSStatsReceived_t ) + virtual SteamAPICall_t RequestUserStats( CSteamID steamIDUser ) = 0; + + // requests stat information for a user, usable after a successful call to RequestUserStats() + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ) = 0; + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData ) = 0; + virtual bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved ) = 0; + + // Set / update stats and achievements. + // Note: These updates will work only on stats game servers are allowed to edit and only for + // game servers that have been declared as officially controlled by the game creators. + // Set the IP range of your official servers on the Steamworks page + virtual bool SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData ) = 0; + virtual bool SetUserStat( CSteamID steamIDUser, const char *pchName, float fData ) = 0; + virtual bool UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength ) = 0; + + virtual bool SetUserAchievement( CSteamID steamIDUser, const char *pchName ) = 0; + virtual bool ClearUserAchievement( CSteamID steamIDUser, const char *pchName ) = 0; + + // Store the current data on the server, will get a GSStatsStored_t callback when set. + // + // If the callback has a result of k_EResultInvalidParam, one or more stats + // uploaded has been rejected, either because they broke constraints + // or were out of date. In this case the server sends back updated values. + // The stats should be re-iterated to keep in sync. + CALL_RESULT( GSStatsStored_t ) + virtual SteamAPICall_t StoreUserStats( CSteamID steamIDUser ) = 0; +}; + +#define STEAMGAMESERVERSTATS_INTERFACE_VERSION "SteamGameServerStats001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when the latests stats and achievements have been received +// from the server +//----------------------------------------------------------------------------- +struct GSStatsReceived_t +{ + enum { k_iCallback = k_iSteamGameServerStatsCallbacks }; + EResult m_eResult; // Success / error fetching the stats + CSteamID m_steamIDUser; // The user for whom the stats are retrieved for +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the user stats for a game +//----------------------------------------------------------------------------- +struct GSStatsStored_t +{ + enum { k_iCallback = k_iSteamGameServerStatsCallbacks + 1 }; + EResult m_eResult; // success / error + CSteamID m_steamIDUser; // The user for whom the stats were stored +}; + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that a user's stats have been unloaded. +// Call RequestUserStats again to access stats for this user +//----------------------------------------------------------------------------- +struct GSStatsUnloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 8 }; + CSteamID m_steamIDUser; // User whose stats have been unloaded +}; + +#pragma pack( pop ) + + +#endif // ISTEAMGAMESERVERSTATS_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamhtmlsurface.h b/source/Steamworks_xcode/Steamworks/Include/isteamhtmlsurface.h new file mode 100644 index 0000000..117599c --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamhtmlsurface.h @@ -0,0 +1,466 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to display html pages in a texture +// +//============================================================================= + +#ifndef ISTEAMHTMLSURFACE_H +#define ISTEAMHTMLSURFACE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +typedef uint32 HHTMLBrowser; +const uint32 INVALID_HTMLBROWSER = 0; + +//----------------------------------------------------------------------------- +// Purpose: Functions for displaying HTML pages and interacting with them +//----------------------------------------------------------------------------- +class ISteamHTMLSurface +{ +public: + virtual ~ISteamHTMLSurface() {} + + // Must call init and shutdown when starting/ending use of the interface + virtual bool Init() = 0; + virtual bool Shutdown() = 0; + + // Create a browser object for display of a html page, when creation is complete the call handle + // will return a HTML_BrowserReady_t callback for the HHTMLBrowser of your new browser. + // The user agent string is a substring to be added to the general user agent string so you can + // identify your client on web servers. + // The userCSS string lets you apply a CSS style sheet to every displayed page, leave null if + // you do not require this functionality. + // + // YOU MUST HAVE IMPLEMENTED HANDLERS FOR HTML_BrowserReady_t, HTML_StartRequest_t, + // HTML_JSAlert_t, HTML_JSConfirm_t, and HTML_FileOpenDialog_t! See the CALLBACKS + // section of this interface (AllowStartRequest, etc) for more details. If you do + // not implement these callback handlers, the browser may appear to hang instead of + // navigating to new pages or triggering javascript popups. + // + CALL_RESULT( HTML_BrowserReady_t ) + virtual SteamAPICall_t CreateBrowser( const char *pchUserAgent, const char *pchUserCSS ) = 0; + + // Call this when you are done with a html surface, this lets us free the resources being used by it + virtual void RemoveBrowser( HHTMLBrowser unBrowserHandle ) = 0; + + // Navigate to this URL, results in a HTML_StartRequest_t as the request commences + virtual void LoadURL( HHTMLBrowser unBrowserHandle, const char *pchURL, const char *pchPostData ) = 0; + + // Tells the surface the size in pixels to display the surface + virtual void SetSize( HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight ) = 0; + + // Stop the load of the current html page + virtual void StopLoad( HHTMLBrowser unBrowserHandle ) = 0; + // Reload (most likely from local cache) the current page + virtual void Reload( HHTMLBrowser unBrowserHandle ) = 0; + // navigate back in the page history + virtual void GoBack( HHTMLBrowser unBrowserHandle ) = 0; + // navigate forward in the page history + virtual void GoForward( HHTMLBrowser unBrowserHandle ) = 0; + + // add this header to any url requests from this browser + virtual void AddHeader( HHTMLBrowser unBrowserHandle, const char *pchKey, const char *pchValue ) = 0; + // run this javascript script in the currently loaded page + virtual void ExecuteJavascript( HHTMLBrowser unBrowserHandle, const char *pchScript ) = 0; + + enum EHTMLMouseButton + { + eHTMLMouseButton_Left = 0, + eHTMLMouseButton_Right = 1, + eHTMLMouseButton_Middle = 2, + }; + + // Mouse click and mouse movement commands + virtual void MouseUp( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + virtual void MouseDown( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + virtual void MouseDoubleClick( HHTMLBrowser unBrowserHandle, EHTMLMouseButton eMouseButton ) = 0; + // x and y are relative to the HTML bounds + virtual void MouseMove( HHTMLBrowser unBrowserHandle, int x, int y ) = 0; + // nDelta is pixels of scroll + virtual void MouseWheel( HHTMLBrowser unBrowserHandle, int32 nDelta ) = 0; + + enum EMouseCursor + { + dc_user = 0, + dc_none, + dc_arrow, + dc_ibeam, + dc_hourglass, + dc_waitarrow, + dc_crosshair, + dc_up, + dc_sizenw, + dc_sizese, + dc_sizene, + dc_sizesw, + dc_sizew, + dc_sizee, + dc_sizen, + dc_sizes, + dc_sizewe, + dc_sizens, + dc_sizeall, + dc_no, + dc_hand, + dc_blank, // don't show any custom cursor, just use your default + dc_middle_pan, + dc_north_pan, + dc_north_east_pan, + dc_east_pan, + dc_south_east_pan, + dc_south_pan, + dc_south_west_pan, + dc_west_pan, + dc_north_west_pan, + dc_alias, + dc_cell, + dc_colresize, + dc_copycur, + dc_verticaltext, + dc_rowresize, + dc_zoomin, + dc_zoomout, + dc_help, + dc_custom, + + dc_last, // custom cursors start from this value and up + }; + + enum EHTMLKeyModifiers + { + k_eHTMLKeyModifier_None = 0, + k_eHTMLKeyModifier_AltDown = 1 << 0, + k_eHTMLKeyModifier_CtrlDown = 1 << 1, + k_eHTMLKeyModifier_ShiftDown = 1 << 2, + }; + + // keyboard interactions, native keycode is the virtual key code value from your OS + virtual void KeyDown( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + virtual void KeyUp( HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + // cUnicodeChar is the unicode character point for this keypress (and potentially multiple chars per press) + virtual void KeyChar( HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, EHTMLKeyModifiers eHTMLKeyModifiers ) = 0; + + // programmatically scroll this many pixels on the page + virtual void SetHorizontalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ) = 0; + virtual void SetVerticalScroll( HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll ) = 0; + + // tell the html control if it has key focus currently, controls showing the I-beam cursor in text controls amongst other things + virtual void SetKeyFocus( HHTMLBrowser unBrowserHandle, bool bHasKeyFocus ) = 0; + + // open the current pages html code in the local editor of choice, used for debugging + virtual void ViewSource( HHTMLBrowser unBrowserHandle ) = 0; + // copy the currently selected text on the html page to the local clipboard + virtual void CopyToClipboard( HHTMLBrowser unBrowserHandle ) = 0; + // paste from the local clipboard to the current html page + virtual void PasteFromClipboard( HHTMLBrowser unBrowserHandle ) = 0; + + // find this string in the browser, if bCurrentlyInFind is true then instead cycle to the next matching element + virtual void Find( HHTMLBrowser unBrowserHandle, const char *pchSearchStr, bool bCurrentlyInFind, bool bReverse ) = 0; + // cancel a currently running find + virtual void StopFind( HHTMLBrowser unBrowserHandle ) = 0; + + // return details about the link at position x,y on the current page + virtual void GetLinkAtPosition( HHTMLBrowser unBrowserHandle, int x, int y ) = 0; + + // set a webcookie for the hostname in question + virtual void SetCookie( const char *pchHostname, const char *pchKey, const char *pchValue, const char *pchPath = "/", RTime32 nExpires = 0, bool bSecure = false, bool bHTTPOnly = false ) = 0; + + // Zoom the current page by flZoom ( from 0.0 to 2.0, so to zoom to 120% use 1.2 ), zooming around point X,Y in the page (use 0,0 if you don't care) + virtual void SetPageScaleFactor( HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY ) = 0; + + // Enable/disable low-resource background mode, where javascript and repaint timers are throttled, resources are + // more aggressively purged from memory, and audio/video elements are paused. When background mode is enabled, + // all HTML5 video and audio objects will execute ".pause()" and gain the property "._steam_background_paused = 1". + // When background mode is disabled, any video or audio objects with that property will resume with ".play()". + virtual void SetBackgroundMode( HHTMLBrowser unBrowserHandle, bool bBackgroundMode ) = 0; + + // Scale the output display space by this factor, this is useful when displaying content on high dpi devices. + // Specifies the ratio between physical and logical pixels. + virtual void SetDPIScalingFactor( HHTMLBrowser unBrowserHandle, float flDPIScaling ) = 0; + + // CALLBACKS + // + // These set of functions are used as responses to callback requests + // + + // You MUST call this in response to a HTML_StartRequest_t callback + // Set bAllowed to true to allow this navigation, false to cancel it and stay + // on the current page. You can use this feature to limit the valid pages + // allowed in your HTML surface. + virtual void AllowStartRequest( HHTMLBrowser unBrowserHandle, bool bAllowed ) = 0; + + // You MUST call this in response to a HTML_JSAlert_t or HTML_JSConfirm_t callback + // Set bResult to true for the OK option of a confirm, use false otherwise + virtual void JSDialogResponse( HHTMLBrowser unBrowserHandle, bool bResult ) = 0; + + // You MUST call this in response to a HTML_FileOpenDialog_t callback + IGNOREATTR() + virtual void FileLoadDialogResponse( HHTMLBrowser unBrowserHandle, const char **pchSelectedFiles ) = 0; +}; + +#define STEAMHTMLSURFACE_INTERFACE_VERSION "STEAMHTMLSURFACE_INTERFACE_VERSION_004" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +//----------------------------------------------------------------------------- +// Purpose: The browser is ready for use +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_BrowserReady_t, k_iSteamHTMLSurfaceCallbacks + 1 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // this browser is now fully created and ready to navigate to pages +END_DEFINE_CALLBACK_1() + + +//----------------------------------------------------------------------------- +// Purpose: the browser has a pending paint +//----------------------------------------------------------------------------- +DEFINE_CALLBACK(HTML_NeedsPaint_t, k_iSteamHTMLSurfaceCallbacks + 2) +CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the browser that needs the paint +CALLBACK_MEMBER(1, const char *, pBGRA ) // a pointer to the B8G8R8A8 data for this surface, valid until SteamAPI_RunCallbacks is next called +CALLBACK_MEMBER(2, uint32, unWide) // the total width of the pBGRA texture +CALLBACK_MEMBER(3, uint32, unTall) // the total height of the pBGRA texture +CALLBACK_MEMBER(4, uint32, unUpdateX) // the offset in X for the damage rect for this update +CALLBACK_MEMBER(5, uint32, unUpdateY) // the offset in Y for the damage rect for this update +CALLBACK_MEMBER(6, uint32, unUpdateWide) // the width of the damage rect for this update +CALLBACK_MEMBER(7, uint32, unUpdateTall) // the height of the damage rect for this update +CALLBACK_MEMBER(8, uint32, unScrollX) // the page scroll the browser was at when this texture was rendered +CALLBACK_MEMBER(9, uint32, unScrollY) // the page scroll the browser was at when this texture was rendered +CALLBACK_MEMBER(10, float, flPageScale) // the page scale factor on this page when rendered +CALLBACK_MEMBER(11, uint32, unPageSerial) // incremented on each new page load, you can use this to reject draws while navigating to new pages +END_DEFINE_CALLBACK_12() + + +//----------------------------------------------------------------------------- +// Purpose: The browser wanted to navigate to a new page +// NOTE - you MUST call AllowStartRequest in response to this callback +//----------------------------------------------------------------------------- +DEFINE_CALLBACK(HTML_StartRequest_t, k_iSteamHTMLSurfaceCallbacks + 3) +CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the handle of the surface navigating +CALLBACK_MEMBER(1, const char *, pchURL) // the url they wish to navigate to +CALLBACK_MEMBER(2, const char *, pchTarget) // the html link target type (i.e _blank, _self, _parent, _top ) +CALLBACK_MEMBER(3, const char *, pchPostData ) // any posted data for the request +CALLBACK_MEMBER(4, bool, bIsRedirect) // true if this was a http/html redirect from the last load request +END_DEFINE_CALLBACK_5() + + +//----------------------------------------------------------------------------- +// Purpose: The browser has been requested to close due to user interaction (usually from a javascript window.close() call) +//----------------------------------------------------------------------------- +DEFINE_CALLBACK(HTML_CloseBrowser_t, k_iSteamHTMLSurfaceCallbacks + 4) +CALLBACK_MEMBER(0, HHTMLBrowser, unBrowserHandle) // the handle of the surface +END_DEFINE_CALLBACK_1() + + +//----------------------------------------------------------------------------- +// Purpose: the browser is navigating to a new url +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_URLChanged_t, k_iSteamHTMLSurfaceCallbacks + 5 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface navigating +CALLBACK_MEMBER( 1, const char *, pchURL ) // the url they wish to navigate to +CALLBACK_MEMBER( 2, const char *, pchPostData ) // any posted data for the request +CALLBACK_MEMBER( 3, bool, bIsRedirect ) // true if this was a http/html redirect from the last load request +CALLBACK_MEMBER( 4, const char *, pchPageTitle ) // the title of the page +CALLBACK_MEMBER( 5, bool, bNewNavigation ) // true if this was from a fresh tab and not a click on an existing page +END_DEFINE_CALLBACK_6() + + +//----------------------------------------------------------------------------- +// Purpose: A page is finished loading +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_FinishedRequest_t, k_iSteamHTMLSurfaceCallbacks + 6 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchURL ) // +CALLBACK_MEMBER( 2, const char *, pchPageTitle ) // +END_DEFINE_CALLBACK_3() + + +//----------------------------------------------------------------------------- +// Purpose: a request to load this url in a new tab +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_OpenLinkInNewTab_t, k_iSteamHTMLSurfaceCallbacks + 7 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchURL ) // +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: the page has a new title now +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_ChangedTitle_t, k_iSteamHTMLSurfaceCallbacks + 8 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchTitle ) // +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: results from a search +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_SearchResults_t, k_iSteamHTMLSurfaceCallbacks + 9 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, uint32, unResults ) // +CALLBACK_MEMBER( 2, uint32, unCurrentMatch ) // +END_DEFINE_CALLBACK_3() + + +//----------------------------------------------------------------------------- +// Purpose: page history status changed on the ability to go backwards and forward +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_CanGoBackAndForward_t, k_iSteamHTMLSurfaceCallbacks + 10 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, bool, bCanGoBack ) // +CALLBACK_MEMBER( 2, bool, bCanGoForward ) // +END_DEFINE_CALLBACK_3() + + +//----------------------------------------------------------------------------- +// Purpose: details on the visibility and size of the horizontal scrollbar +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_HorizontalScroll_t, k_iSteamHTMLSurfaceCallbacks + 11 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, uint32, unScrollMax ) // +CALLBACK_MEMBER( 2, uint32, unScrollCurrent ) // +CALLBACK_MEMBER( 3, float, flPageScale ) // +CALLBACK_MEMBER( 4, bool , bVisible ) // +CALLBACK_MEMBER( 5, uint32, unPageSize ) // +END_DEFINE_CALLBACK_6() + + +//----------------------------------------------------------------------------- +// Purpose: details on the visibility and size of the vertical scrollbar +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_VerticalScroll_t, k_iSteamHTMLSurfaceCallbacks + 12 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, uint32, unScrollMax ) // +CALLBACK_MEMBER( 2, uint32, unScrollCurrent ) // +CALLBACK_MEMBER( 3, float, flPageScale ) // +CALLBACK_MEMBER( 4, bool, bVisible ) // +CALLBACK_MEMBER( 5, uint32, unPageSize ) // +END_DEFINE_CALLBACK_6() + + +//----------------------------------------------------------------------------- +// Purpose: response to GetLinkAtPosition call +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_LinkAtPosition_t, k_iSteamHTMLSurfaceCallbacks + 13 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, uint32, x ) // NOTE - Not currently set +CALLBACK_MEMBER( 2, uint32, y ) // NOTE - Not currently set +CALLBACK_MEMBER( 3, const char *, pchURL ) // +CALLBACK_MEMBER( 4, bool, bInput ) // +CALLBACK_MEMBER( 5, bool, bLiveLink ) // +END_DEFINE_CALLBACK_6() + + + +//----------------------------------------------------------------------------- +// Purpose: show a Javascript alert dialog, call JSDialogResponse +// when the user dismisses this dialog (or right away to ignore it) +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_JSAlert_t, k_iSteamHTMLSurfaceCallbacks + 14 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchMessage ) // +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: show a Javascript confirmation dialog, call JSDialogResponse +// when the user dismisses this dialog (or right away to ignore it) +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_JSConfirm_t, k_iSteamHTMLSurfaceCallbacks + 15 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchMessage ) // +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: when received show a file open dialog +// then call FileLoadDialogResponse with the file(s) the user selected. +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_FileOpenDialog_t, k_iSteamHTMLSurfaceCallbacks + 16 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchTitle ) // +CALLBACK_MEMBER( 2, const char *, pchInitialFile ) // +END_DEFINE_CALLBACK_3() + + +//----------------------------------------------------------------------------- +// Purpose: a new html window has been created +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_NewWindow_t, k_iSteamHTMLSurfaceCallbacks + 21 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the current surface +CALLBACK_MEMBER( 1, const char *, pchURL ) // the page to load +CALLBACK_MEMBER( 2, uint32, unX ) // the x pos into the page to display the popup +CALLBACK_MEMBER( 3, uint32, unY ) // the y pos into the page to display the popup +CALLBACK_MEMBER( 4, uint32, unWide ) // the total width of the pBGRA texture +CALLBACK_MEMBER( 5, uint32, unTall ) // the total height of the pBGRA texture +CALLBACK_MEMBER( 6, HHTMLBrowser, unNewWindow_BrowserHandle ) // the handle of the new window surface +END_DEFINE_CALLBACK_7() + + +//----------------------------------------------------------------------------- +// Purpose: change the cursor to display +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_SetCursor_t, k_iSteamHTMLSurfaceCallbacks + 22 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, uint32, eMouseCursor ) // the EMouseCursor to display +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: informational message from the browser +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_StatusText_t, k_iSteamHTMLSurfaceCallbacks + 23 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: show a tooltip +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_ShowToolTip_t, k_iSteamHTMLSurfaceCallbacks + 24 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: update the text of an existing tooltip +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_UpdateToolTip_t, k_iSteamHTMLSurfaceCallbacks + 25 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +CALLBACK_MEMBER( 1, const char *, pchMsg ) // the EMouseCursor to display +END_DEFINE_CALLBACK_2() + + +//----------------------------------------------------------------------------- +// Purpose: hide the tooltip you are showing +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_HideToolTip_t, k_iSteamHTMLSurfaceCallbacks + 26 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // the handle of the surface +END_DEFINE_CALLBACK_1() + + +//----------------------------------------------------------------------------- +// Purpose: The browser has restarted due to an internal failure, use this new handle value +//----------------------------------------------------------------------------- +DEFINE_CALLBACK( HTML_BrowserRestarted_t, k_iSteamHTMLSurfaceCallbacks + 27 ) +CALLBACK_MEMBER( 0, HHTMLBrowser, unBrowserHandle ) // this is the new browser handle after the restart +CALLBACK_MEMBER( 1, HHTMLBrowser, unOldBrowserHandle ) // the handle for the browser before the restart, if your handle was this then switch to using unBrowserHandle for API calls +END_DEFINE_CALLBACK_2() + + +#pragma pack( pop ) + + +#endif // ISTEAMHTMLSURFACE_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamhttp.h b/source/Steamworks_xcode/Steamworks/Include/isteamhttp.h new file mode 100644 index 0000000..8fab537 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamhttp.h @@ -0,0 +1,210 @@ +//====== Copyright © 1996-2009, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to http client +// +//============================================================================= + +#ifndef ISTEAMHTTP_H +#define ISTEAMHTTP_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" +#include "steamhttpenums.h" + +// Handle to a HTTP Request handle +typedef uint32 HTTPRequestHandle; +#define INVALID_HTTPREQUEST_HANDLE 0 + +typedef uint32 HTTPCookieContainerHandle; +#define INVALID_HTTPCOOKIE_HANDLE 0 + +//----------------------------------------------------------------------------- +// Purpose: interface to http client +//----------------------------------------------------------------------------- +class ISteamHTTP +{ +public: + + // Initializes a new HTTP request, returning a handle to use in further operations on it. Requires + // the method (GET or POST) and the absolute URL for the request. Both http and https are supported, + // so this string must start with http:// or https:// and should look like http://store.steampowered.com/app/250/ + // or such. + virtual HTTPRequestHandle CreateHTTPRequest( EHTTPMethod eHTTPRequestMethod, const char *pchAbsoluteURL ) = 0; + + // Set a context value for the request, which will be returned in the HTTPRequestCompleted_t callback after + // sending the request. This is just so the caller can easily keep track of which callbacks go with which request data. + virtual bool SetHTTPRequestContextValue( HTTPRequestHandle hRequest, uint64 ulContextValue ) = 0; + + // Set a timeout in seconds for the HTTP request, must be called prior to sending the request. Default + // timeout is 60 seconds if you don't call this. Returns false if the handle is invalid, or the request + // has already been sent. + virtual bool SetHTTPRequestNetworkActivityTimeout( HTTPRequestHandle hRequest, uint32 unTimeoutSeconds ) = 0; + + // Set a request header value for the request, must be called prior to sending the request. Will + // return false if the handle is invalid or the request is already sent. + virtual bool SetHTTPRequestHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, const char *pchHeaderValue ) = 0; + + // Set a GET or POST parameter value on the request, which is set will depend on the EHTTPMethod specified + // when creating the request. Must be called prior to sending the request. Will return false if the + // handle is invalid or the request is already sent. + virtual bool SetHTTPRequestGetOrPostParameter( HTTPRequestHandle hRequest, const char *pchParamName, const char *pchParamValue ) = 0; + + // Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on + // asynchronous response via callback. + // + // Note: If the user is in offline mode in Steam, then this will add a only-if-cached cache-control + // header and only do a local cache lookup rather than sending any actual remote request. + virtual bool SendHTTPRequest( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle ) = 0; + + // Sends the HTTP request, will return false on a bad handle, otherwise use SteamCallHandle to wait on + // asynchronous response via callback for completion, and listen for HTTPRequestHeadersReceived_t and + // HTTPRequestDataReceived_t callbacks while streaming. + virtual bool SendHTTPRequestAndStreamResponse( HTTPRequestHandle hRequest, SteamAPICall_t *pCallHandle ) = 0; + + // Defers a request you have sent, the actual HTTP client code may have many requests queued, and this will move + // the specified request to the tail of the queue. Returns false on invalid handle, or if the request is not yet sent. + virtual bool DeferHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Prioritizes a request you have sent, the actual HTTP client code may have many requests queued, and this will move + // the specified request to the head of the queue. Returns false on invalid handle, or if the request is not yet sent. + virtual bool PrioritizeHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Checks if a response header is present in a HTTP response given a handle from HTTPRequestCompleted_t, also + // returns the size of the header value if present so the caller and allocate a correctly sized buffer for + // GetHTTPResponseHeaderValue. + virtual bool GetHTTPResponseHeaderSize( HTTPRequestHandle hRequest, const char *pchHeaderName, uint32 *unResponseHeaderSize ) = 0; + + // Gets header values from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // header is not present or if your buffer is too small to contain it's value. You should first call + // BGetHTTPResponseHeaderSize to check for the presence of the header and to find out the size buffer needed. + virtual bool GetHTTPResponseHeaderValue( HTTPRequestHandle hRequest, const char *pchHeaderName, uint8 *pHeaderValueBuffer, uint32 unBufferSize ) = 0; + + // Gets the size of the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // handle is invalid. + virtual bool GetHTTPResponseBodySize( HTTPRequestHandle hRequest, uint32 *unBodySize ) = 0; + + // Gets the body data from a HTTP response given a handle from HTTPRequestCompleted_t, will return false if the + // handle is invalid or is to a streaming response, or if the provided buffer is not the correct size. Use BGetHTTPResponseBodySize first to find out + // the correct buffer size to use. + virtual bool GetHTTPResponseBodyData( HTTPRequestHandle hRequest, uint8 *pBodyDataBuffer, uint32 unBufferSize ) = 0; + + // Gets the body data from a streaming HTTP response given a handle from HTTPRequestDataReceived_t. Will return false if the + // handle is invalid or is to a non-streaming response (meaning it wasn't sent with SendHTTPRequestAndStreamResponse), or if the buffer size and offset + // do not match the size and offset sent in HTTPRequestDataReceived_t. + virtual bool GetHTTPStreamingResponseBodyData( HTTPRequestHandle hRequest, uint32 cOffset, uint8 *pBodyDataBuffer, uint32 unBufferSize ) = 0; + + // Releases an HTTP response handle, should always be called to free resources after receiving a HTTPRequestCompleted_t + // callback and finishing using the response. + virtual bool ReleaseHTTPRequest( HTTPRequestHandle hRequest ) = 0; + + // Gets progress on downloading the body for the request. This will be zero unless a response header has already been + // received which included a content-length field. For responses that contain no content-length it will report + // zero for the duration of the request as the size is unknown until the connection closes. + virtual bool GetHTTPDownloadProgressPct( HTTPRequestHandle hRequest, float *pflPercentOut ) = 0; + + // Sets the body for an HTTP Post request. Will fail and return false on a GET request, and will fail if POST params + // have already been set for the request. Setting this raw body makes it the only contents for the post, the pchContentType + // parameter will set the content-type header for the request so the server may know how to interpret the body. + virtual bool SetHTTPRequestRawPostBody( HTTPRequestHandle hRequest, const char *pchContentType, uint8 *pubBody, uint32 unBodyLen ) = 0; + + // Creates a cookie container handle which you must later free with ReleaseCookieContainer(). If bAllowResponsesToModify=true + // than any response to your requests using this cookie container may add new cookies which may be transmitted with + // future requests. If bAllowResponsesToModify=false than only cookies you explicitly set will be sent. This API is just for + // during process lifetime, after steam restarts no cookies are persisted and you have no way to access the cookie container across + // repeat executions of your process. + virtual HTTPCookieContainerHandle CreateCookieContainer( bool bAllowResponsesToModify ) = 0; + + // Release a cookie container you are finished using, freeing it's memory + virtual bool ReleaseCookieContainer( HTTPCookieContainerHandle hCookieContainer ) = 0; + + // Adds a cookie to the specified cookie container that will be used with future requests. + virtual bool SetCookie( HTTPCookieContainerHandle hCookieContainer, const char *pchHost, const char *pchUrl, const char *pchCookie ) = 0; + + // Set the cookie container to use for a HTTP request + virtual bool SetHTTPRequestCookieContainer( HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer ) = 0; + + // Set the extra user agent info for a request, this doesn't clobber the normal user agent, it just adds the extra info on the end + virtual bool SetHTTPRequestUserAgentInfo( HTTPRequestHandle hRequest, const char *pchUserAgentInfo ) = 0; + + // Set that https request should require verified SSL certificate via machines certificate trust store + virtual bool SetHTTPRequestRequiresVerifiedCertificate( HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate ) = 0; + + // Set an absolute timeout on the HTTP request, this is just a total time timeout different than the network activity timeout + // which can bump everytime we get more data + virtual bool SetHTTPRequestAbsoluteTimeoutMS( HTTPRequestHandle hRequest, uint32 unMilliseconds ) = 0; + + // Check if the reason the request failed was because we timed it out (rather than some harder failure) + virtual bool GetHTTPRequestWasTimedOut( HTTPRequestHandle hRequest, bool *pbWasTimedOut ) = 0; +}; + +#define STEAMHTTP_INTERFACE_VERSION "STEAMHTTP_INTERFACE_VERSION002" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +struct HTTPRequestCompleted_t +{ + enum { k_iCallback = k_iClientHTTPCallbacks + 1 }; + + // Handle value for the request that has completed. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; + + // This will be true if we actually got any sort of response from the server (even an error). + // It will be false if we failed due to an internal error or client side network failure. + bool m_bRequestSuccessful; + + // Will be the HTTP status code value returned by the server, k_EHTTPStatusCode200OK is the normal + // OK response, if you get something else you probably need to treat it as a failure. + EHTTPStatusCode m_eStatusCode; + + uint32 m_unBodySize; // Same as GetHTTPResponseBodySize() +}; + + +struct HTTPRequestHeadersReceived_t +{ + enum { k_iCallback = k_iClientHTTPCallbacks + 2 }; + + // Handle value for the request that has received headers. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; +}; + +struct HTTPRequestDataReceived_t +{ + enum { k_iCallback = k_iClientHTTPCallbacks + 3 }; + + // Handle value for the request that has received data. + HTTPRequestHandle m_hRequest; + + // Context value that the user defined on the request that this callback is associated with, 0 if + // no context value was set. + uint64 m_ulContextValue; + + + // Offset to provide to GetHTTPStreamingResponseBodyData to get this chunk of data + uint32 m_cOffset; + + // Size to provide to GetHTTPStreamingResponseBodyData to get this chunk of data + uint32 m_cBytesReceived; +}; + + +#pragma pack( pop ) + +#endif // ISTEAMHTTP_H \ No newline at end of file diff --git a/source/Steamworks_xcode/Steamworks/Include/isteaminventory.h b/source/Steamworks_xcode/Steamworks/Include/isteaminventory.h new file mode 100644 index 0000000..85090a2 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteaminventory.h @@ -0,0 +1,429 @@ +//====== Copyright © 1996-2014 Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Inventory +// +//============================================================================= + +#ifndef ISTEAMINVENTORY_H +#define ISTEAMINVENTORY_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +// Every individual instance of an item has a globally-unique ItemInstanceID. +// This ID is unique to the combination of (player, specific item instance) +// and will not be transferred to another player or re-used for another item. +typedef uint64 SteamItemInstanceID_t; + +static const SteamItemInstanceID_t k_SteamItemInstanceIDInvalid = (SteamItemInstanceID_t)~0; + +// Types of items in your game are identified by a 32-bit "item definition number". +// Valid definition numbers are between 1 and 999999999; numbers less than or equal to +// zero are invalid, and numbers greater than or equal to one billion (1x10^9) are +// reserved for internal Steam use. +typedef int32 SteamItemDef_t; + + +enum ESteamItemFlags +{ + // Item status flags - these flags are permanently attached to specific item instances + k_ESteamItemNoTrade = 1 << 0, // This item is account-locked and cannot be traded or given away. + + // Action confirmation flags - these flags are set one time only, as part of a result set + k_ESteamItemRemoved = 1 << 8, // The item has been destroyed, traded away, expired, or otherwise invalidated + k_ESteamItemConsumed = 1 << 9, // The item quantity has been decreased by 1 via ConsumeItem API. + + // All other flag bits are currently reserved for internal Steam use at this time. + // Do not assume anything about the state of other flags which are not defined here. +}; + +struct SteamItemDetails_t +{ + SteamItemInstanceID_t m_itemId; + SteamItemDef_t m_iDefinition; + uint16 m_unQuantity; + uint16 m_unFlags; // see ESteamItemFlags +}; + +typedef int32 SteamInventoryResult_t; + +static const SteamInventoryResult_t k_SteamInventoryResultInvalid = -1; + +typedef uint64 SteamInventoryUpdateHandle_t; +const SteamInventoryUpdateHandle_t k_SteamInventoryUpdateHandleInvalid = 0xffffffffffffffffull; + +//----------------------------------------------------------------------------- +// Purpose: Steam Inventory query and manipulation API +//----------------------------------------------------------------------------- +class ISteamInventory +{ +public: + + // INVENTORY ASYNC RESULT MANAGEMENT + // + // Asynchronous inventory queries always output a result handle which can be used with + // GetResultStatus, GetResultItems, etc. A SteamInventoryResultReady_t callback will + // be triggered when the asynchronous result becomes ready (or fails). + // + + // Find out the status of an asynchronous inventory result handle. Possible values: + // k_EResultPending - still in progress + // k_EResultOK - done, result ready + // k_EResultExpired - done, result ready, maybe out of date (see DeserializeResult) + // k_EResultInvalidParam - ERROR: invalid API call parameters + // k_EResultServiceUnavailable - ERROR: service temporarily down, you may retry later + // k_EResultLimitExceeded - ERROR: operation would exceed per-user inventory limits + // k_EResultFail - ERROR: unknown / generic error + METHOD_DESC(Find out the status of an asynchronous inventory result handle.) + virtual EResult GetResultStatus( SteamInventoryResult_t resultHandle ) = 0; + + // Copies the contents of a result set into a flat array. The specific + // contents of the result set depend on which query which was used. + METHOD_DESC(Copies the contents of a result set into a flat array. The specific contents of the result set depend on which query which was used.) + virtual bool GetResultItems( SteamInventoryResult_t resultHandle, + OUT_ARRAY_COUNT( punOutItemsArraySize,Output array) SteamItemDetails_t *pOutItemsArray, + uint32 *punOutItemsArraySize ) = 0; + + // In combination with GetResultItems, you can use GetResultItemProperty to retrieve + // dynamic string properties for a given item returned in the result set. + // + // Property names are always composed of ASCII letters, numbers, and/or underscores. + // + // Pass a NULL pointer for pchPropertyName to get a comma - separated list of available + // property names. + // + // If pchValueBuffer is NULL, *punValueBufferSize will contain the + // suggested buffer size. Otherwise it will be the number of bytes actually copied + // to pchValueBuffer. If the results do not fit in the given buffer, partial + // results may be copied. + virtual bool GetResultItemProperty( SteamInventoryResult_t resultHandle, + uint32 unItemIndex, + const char *pchPropertyName, + OUT_STRING_COUNT( punValueBufferSizeOut ) char *pchValueBuffer, uint32 *punValueBufferSizeOut ) = 0; + + // Returns the server time at which the result was generated. Compare against + // the value of IClientUtils::GetServerRealTime() to determine age. + METHOD_DESC(Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age.) + virtual uint32 GetResultTimestamp( SteamInventoryResult_t resultHandle ) = 0; + + // Returns true if the result belongs to the target steam ID, false if the + // result does not. This is important when using DeserializeResult, to verify + // that a remote player is not pretending to have a different user's inventory. + METHOD_DESC(Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory.) + virtual bool CheckResultSteamID( SteamInventoryResult_t resultHandle, CSteamID steamIDExpected ) = 0; + + // Destroys a result handle and frees all associated memory. + METHOD_DESC(Destroys a result handle and frees all associated memory.) + virtual void DestroyResult( SteamInventoryResult_t resultHandle ) = 0; + + + // INVENTORY ASYNC QUERY + // + + // Captures the entire state of the current user's Steam inventory. + // You must call DestroyResult on this handle when you are done with it. + // Returns false and sets *pResultHandle to zero if inventory is unavailable. + // Note: calls to this function are subject to rate limits and may return + // cached results if called too frequently. It is suggested that you call + // this function only when you are about to display the user's full inventory, + // or if you expect that the inventory may have changed. + METHOD_DESC(Captures the entire state of the current users Steam inventory.) + virtual bool GetAllItems( SteamInventoryResult_t *pResultHandle ) = 0; + + + // Captures the state of a subset of the current user's Steam inventory, + // identified by an array of item instance IDs. The results from this call + // can be serialized and passed to other players to "prove" that the current + // user owns specific items, without exposing the user's entire inventory. + // For example, you could call GetItemsByID with the IDs of the user's + // currently equipped cosmetic items and serialize this to a buffer, and + // then transmit this buffer to other players upon joining a game. + METHOD_DESC(Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs.) + virtual bool GetItemsByID( SteamInventoryResult_t *pResultHandle, ARRAY_COUNT( unCountInstanceIDs ) const SteamItemInstanceID_t *pInstanceIDs, uint32 unCountInstanceIDs ) = 0; + + + // RESULT SERIALIZATION AND AUTHENTICATION + // + // Serialized result sets contain a short signature which can't be forged + // or replayed across different game sessions. A result set can be serialized + // on the local client, transmitted to other players via your game networking, + // and deserialized by the remote players. This is a secure way of preventing + // hackers from lying about posessing rare/high-value items. + + // Serializes a result set with signature bytes to an output buffer. Pass + // NULL as an output buffer to get the required size via punOutBufferSize. + // The size of a serialized result depends on the number items which are being + // serialized. When securely transmitting items to other players, it is + // recommended to use "GetItemsByID" first to create a minimal result set. + // Results have a built-in timestamp which will be considered "expired" after + // an hour has elapsed. See DeserializeResult for expiration handling. + virtual bool SerializeResult( SteamInventoryResult_t resultHandle, OUT_BUFFER_COUNT(punOutBufferSize) void *pOutBuffer, uint32 *punOutBufferSize ) = 0; + + // Deserializes a result set and verifies the signature bytes. Returns false + // if bRequireFullOnlineVerify is set but Steam is running in Offline mode. + // Otherwise returns true and then delivers error codes via GetResultStatus. + // + // The bRESERVED_MUST_BE_FALSE flag is reserved for future use and should not + // be set to true by your game at this time. + // + // DeserializeResult has a potential soft-failure mode where the handle status + // is set to k_EResultExpired. GetResultItems() still succeeds in this mode. + // The "expired" result could indicate that the data may be out of date - not + // just due to timed expiration (one hour), but also because one of the items + // in the result set may have been traded or consumed since the result set was + // generated. You could compare the timestamp from GetResultTimestamp() to + // ISteamUtils::GetServerRealTime() to determine how old the data is. You could + // simply ignore the "expired" result code and continue as normal, or you + // could challenge the player with expired data to send an updated result set. + virtual bool DeserializeResult( SteamInventoryResult_t *pOutResultHandle, BUFFER_COUNT(punOutBufferSize) const void *pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE = false ) = 0; + + + // INVENTORY ASYNC MODIFICATION + // + + // GenerateItems() creates one or more items and then generates a SteamInventoryCallback_t + // notification with a matching nCallbackContext parameter. This API is only intended + // for prototyping - it is only usable by Steam accounts that belong to the publisher group + // for your game. + // If punArrayQuantity is not NULL, it should be the same length as pArrayItems and should + // describe the quantity of each item to generate. + virtual bool GenerateItems( SteamInventoryResult_t *pResultHandle, ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength ) = 0; + + // GrantPromoItems() checks the list of promotional items for which the user may be eligible + // and grants the items (one time only). On success, the result set will include items which + // were granted, if any. If no items were granted because the user isn't eligible for any + // promotions, this is still considered a success. + METHOD_DESC(GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only).) + virtual bool GrantPromoItems( SteamInventoryResult_t *pResultHandle ) = 0; + + // AddPromoItem() / AddPromoItems() are restricted versions of GrantPromoItems(). Instead of + // scanning for all eligible promotional items, the check is restricted to a single item + // definition or set of item definitions. This can be useful if your game has custom UI for + // showing a specific promo item to the user. + virtual bool AddPromoItem( SteamInventoryResult_t *pResultHandle, SteamItemDef_t itemDef ) = 0; + virtual bool AddPromoItems( SteamInventoryResult_t *pResultHandle, ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, uint32 unArrayLength ) = 0; + + // ConsumeItem() removes items from the inventory, permanently. They cannot be recovered. + // Not for the faint of heart - if your game implements item removal at all, a high-friction + // UI confirmation process is highly recommended. + METHOD_DESC(ConsumeItem() removes items from the inventory permanently.) + virtual bool ConsumeItem( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity ) = 0; + + // ExchangeItems() is an atomic combination of item generation and consumption. + // It can be used to implement crafting recipes or transmutations, or items which unpack + // themselves into other items (e.g., a chest). + // Exchange recipes are defined in the ItemDef, and explicitly list the required item + // types and resulting generated type. + // Exchange recipes are evaluated atomically by the Inventory Service; if the supplied + // components do not match the recipe, or do not contain sufficient quantity, the + // exchange will fail. + virtual bool ExchangeItems( SteamInventoryResult_t *pResultHandle, + ARRAY_COUNT(unArrayGenerateLength) const SteamItemDef_t *pArrayGenerate, ARRAY_COUNT(unArrayGenerateLength) const uint32 *punArrayGenerateQuantity, uint32 unArrayGenerateLength, + ARRAY_COUNT(unArrayDestroyLength) const SteamItemInstanceID_t *pArrayDestroy, ARRAY_COUNT(unArrayDestroyLength) const uint32 *punArrayDestroyQuantity, uint32 unArrayDestroyLength ) = 0; + + + // TransferItemQuantity() is intended for use with items which are "stackable" (can have + // quantity greater than one). It can be used to split a stack into two, or to transfer + // quantity from one stack into another stack of identical items. To split one stack into + // two, pass k_SteamItemInstanceIDInvalid for itemIdDest and a new item will be generated. + virtual bool TransferItemQuantity( SteamInventoryResult_t *pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest ) = 0; + + + // TIMED DROPS AND PLAYTIME CREDIT + // + + // Deprecated. Calling this method is not required for proper playtime accounting. + METHOD_DESC( Deprecated method. Playtime accounting is performed on the Steam servers. ) + virtual void SendItemDropHeartbeat() = 0; + + // Playtime credit must be consumed and turned into item drops by your game. Only item + // definitions which are marked as "playtime item generators" can be spawned. The call + // will return an empty result set if there is not enough playtime credit for a drop. + // Your game should call TriggerItemDrop at an appropriate time for the user to receive + // new items, such as between rounds or while the player is dead. Note that players who + // hack their clients could modify the value of "dropListDefinition", so do not use it + // to directly control rarity. + // See your Steamworks configuration to set playtime drop rates for individual itemdefs. + // The client library will suppress too-frequent calls to this method. + METHOD_DESC(Playtime credit must be consumed and turned into item drops by your game.) + virtual bool TriggerItemDrop( SteamInventoryResult_t *pResultHandle, SteamItemDef_t dropListDefinition ) = 0; + + + // Deprecated. This method is not supported. + virtual bool TradeItems( SteamInventoryResult_t *pResultHandle, CSteamID steamIDTradePartner, + ARRAY_COUNT(nArrayGiveLength) const SteamItemInstanceID_t *pArrayGive, ARRAY_COUNT(nArrayGiveLength) const uint32 *pArrayGiveQuantity, uint32 nArrayGiveLength, + ARRAY_COUNT(nArrayGetLength) const SteamItemInstanceID_t *pArrayGet, ARRAY_COUNT(nArrayGetLength) const uint32 *pArrayGetQuantity, uint32 nArrayGetLength ) = 0; + + + // ITEM DEFINITIONS + // + // Item definitions are a mapping of "definition IDs" (integers between 1 and 1000000) + // to a set of string properties. Some of these properties are required to display items + // on the Steam community web site. Other properties can be defined by applications. + // Use of these functions is optional; there is no reason to call LoadItemDefinitions + // if your game hardcodes the numeric definition IDs (eg, purple face mask = 20, blue + // weapon mod = 55) and does not allow for adding new item types without a client patch. + // + + // LoadItemDefinitions triggers the automatic load and refresh of item definitions. + // Every time new item definitions are available (eg, from the dynamic addition of new + // item types while players are still in-game), a SteamInventoryDefinitionUpdate_t + // callback will be fired. + METHOD_DESC(LoadItemDefinitions triggers the automatic load and refresh of item definitions.) + virtual bool LoadItemDefinitions() = 0; + + // GetItemDefinitionIDs returns the set of all defined item definition IDs (which are + // defined via Steamworks configuration, and not necessarily contiguous integers). + // If pItemDefIDs is null, the call will return true and *punItemDefIDsArraySize will + // contain the total size necessary for a subsequent call. Otherwise, the call will + // return false if and only if there is not enough space in the output array. + virtual bool GetItemDefinitionIDs( + OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs, + DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize ) = 0; + + // GetItemDefinitionProperty returns a string property from a given item definition. + // Note that some properties (for example, "name") may be localized and will depend + // on the current Steam language settings (see ISteamApps::GetCurrentGameLanguage). + // Property names are always composed of ASCII letters, numbers, and/or underscores. + // Pass a NULL pointer for pchPropertyName to get a comma - separated list of available + // property names. If pchValueBuffer is NULL, *punValueBufferSize will contain the + // suggested buffer size. Otherwise it will be the number of bytes actually copied + // to pchValueBuffer. If the results do not fit in the given buffer, partial + // results may be copied. + virtual bool GetItemDefinitionProperty( SteamItemDef_t iDefinition, const char *pchPropertyName, + OUT_STRING_COUNT(punValueBufferSizeOut) char *pchValueBuffer, uint32 *punValueBufferSizeOut ) = 0; + + // Request the list of "eligible" promo items that can be manually granted to the given + // user. These are promo items of type "manual" that won't be granted automatically. + // An example usage of this is an item that becomes available every week. + CALL_RESULT( SteamInventoryEligiblePromoItemDefIDs_t ) + virtual SteamAPICall_t RequestEligiblePromoItemDefinitionsIDs( CSteamID steamID ) = 0; + + // After handling a SteamInventoryEligiblePromoItemDefIDs_t call result, use this + // function to pull out the list of item definition ids that the user can be + // manually granted via the AddPromoItems() call. + virtual bool GetEligiblePromoItemDefinitionIDs( + CSteamID steamID, + OUT_ARRAY_COUNT(punItemDefIDsArraySize,List of item definition IDs) SteamItemDef_t *pItemDefIDs, + DESC(Size of array is passed in and actual size used is returned in this param) uint32 *punItemDefIDsArraySize ) = 0; + + // Starts the purchase process for the given item definitions. The callback SteamInventoryStartPurchaseResult_t + // will be posted if Steam was able to initialize the transaction. + // + // Once the purchase has been authorized and completed by the user, the callback SteamInventoryResultReady_t + // will be posted. + CALL_RESULT( SteamInventoryStartPurchaseResult_t ) + virtual SteamAPICall_t StartPurchase( ARRAY_COUNT(unArrayLength) const SteamItemDef_t *pArrayItemDefs, ARRAY_COUNT(unArrayLength) const uint32 *punArrayQuantity, uint32 unArrayLength ) = 0; + + // Request current prices for all applicable item definitions + CALL_RESULT( SteamInventoryRequestPricesResult_t ) + virtual SteamAPICall_t RequestPrices() = 0; + + // Returns the number of items with prices. Need to call RequestPrices() first. + virtual uint32 GetNumItemsWithPrices() = 0; + + // Returns item definition ids and their prices in the user's local currency. + // Need to call RequestPrices() first. + virtual bool GetItemsWithPrices( ARRAY_COUNT(unArrayLength) OUT_ARRAY_COUNT(pArrayItemDefs, Items with prices) SteamItemDef_t *pArrayItemDefs, + ARRAY_COUNT(unArrayLength) OUT_ARRAY_COUNT(pPrices, List of prices for the given item defs) uint64 *pPrices, + uint32 unArrayLength ) = 0; + + // Retrieves the price for the item definition id + // Returns false if there is no price stored for the item definition. + virtual bool GetItemPrice( SteamItemDef_t iDefinition, uint64 *pPrice ) = 0; + + // Create a request to update properties on items + virtual SteamInventoryUpdateHandle_t StartUpdateProperties() = 0; + // Remove the property on the item + virtual bool RemoveProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName ) = 0; + // Accessor methods to set properties on items + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, const char *pchPropertyValue ) = 0; + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, bool bValue ) = 0; + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, int64 nValue ) = 0; + virtual bool SetProperty( SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char *pchPropertyName, float flValue ) = 0; + // Submit the update request by handle + virtual bool SubmitUpdateProperties( SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle ) = 0; + +}; + +#define STEAMINVENTORY_INTERFACE_VERSION "STEAMINVENTORY_INTERFACE_V002" + + +// SteamInventoryResultReady_t callbacks are fired whenever asynchronous +// results transition from "Pending" to "OK" or an error state. There will +// always be exactly one callback per handle. +struct SteamInventoryResultReady_t +{ + enum { k_iCallback = k_iClientInventoryCallbacks + 0 }; + SteamInventoryResult_t m_handle; + EResult m_result; +}; + + +// SteamInventoryFullUpdate_t callbacks are triggered when GetAllItems +// successfully returns a result which is newer / fresher than the last +// known result. (It will not trigger if the inventory hasn't changed, +// or if results from two overlapping calls are reversed in flight and +// the earlier result is already known to be stale/out-of-date.) +// The normal ResultReady callback will still be triggered immediately +// afterwards; this is an additional notification for your convenience. +struct SteamInventoryFullUpdate_t +{ + enum { k_iCallback = k_iClientInventoryCallbacks + 1 }; + SteamInventoryResult_t m_handle; +}; + + +// A SteamInventoryDefinitionUpdate_t callback is triggered whenever +// item definitions have been updated, which could be in response to +// LoadItemDefinitions() or any other async request which required +// a definition update in order to process results from the server. +struct SteamInventoryDefinitionUpdate_t +{ + enum { k_iCallback = k_iClientInventoryCallbacks + 2 }; +}; + +// Returned +struct SteamInventoryEligiblePromoItemDefIDs_t +{ + enum { k_iCallback = k_iClientInventoryCallbacks + 3 }; + EResult m_result; + CSteamID m_steamID; + int m_numEligiblePromoItemDefs; + bool m_bCachedData; // indicates that the data was retrieved from the cache and not the server +}; + +// Triggered from StartPurchase call +struct SteamInventoryStartPurchaseResult_t +{ + enum { k_iCallback = k_iClientInventoryCallbacks + 4 }; + EResult m_result; + uint64 m_ulOrderID; + uint64 m_ulTransID; +}; + + +// Triggered from RequestPrices +struct SteamInventoryRequestPricesResult_t +{ + enum { k_iCallback = k_iClientInventoryCallbacks + 5 }; + EResult m_result; + char m_rgchCurrency[4]; +}; + +#pragma pack( pop ) + + +#endif // ISTEAMCONTROLLER_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteammasterserverupdater.h b/source/Steamworks_xcode/Steamworks/Include/isteammasterserverupdater.h new file mode 100644 index 0000000..4be0ca5 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteammasterserverupdater.h @@ -0,0 +1 @@ +#error "This file isn't used any more" diff --git a/source/Steamworks_xcode/Steamworks/Include/isteammatchmaking.h b/source/Steamworks_xcode/Steamworks/Include/isteammatchmaking.h new file mode 100644 index 0000000..837d98b --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteammatchmaking.h @@ -0,0 +1,751 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam managing game server/client match making +// +//============================================================================= + +#ifndef ISTEAMMATCHMAKING +#define ISTEAMMATCHMAKING +#ifdef _WIN32 +#pragma once +#endif + +#include "steamtypes.h" +#include "steamclientpublic.h" +#include "matchmakingtypes.h" +#include "isteamclient.h" +#include "isteamfriends.h" + +// lobby type description +enum ELobbyType +{ + k_ELobbyTypePrivate = 0, // only way to join the lobby is to invite to someone else + k_ELobbyTypeFriendsOnly = 1, // shows for friends or invitees, but not in lobby list + k_ELobbyTypePublic = 2, // visible for friends and in lobby list + k_ELobbyTypeInvisible = 3, // returned by search, but not visible to other friends + // useful if you want a user in two lobbies, for example matching groups together + // a user can be in only one regular lobby, and up to two invisible lobbies +}; + +// lobby search filter tools +enum ELobbyComparison +{ + k_ELobbyComparisonEqualToOrLessThan = -2, + k_ELobbyComparisonLessThan = -1, + k_ELobbyComparisonEqual = 0, + k_ELobbyComparisonGreaterThan = 1, + k_ELobbyComparisonEqualToOrGreaterThan = 2, + k_ELobbyComparisonNotEqual = 3, +}; + +// lobby search distance. Lobby results are sorted from closest to farthest. +enum ELobbyDistanceFilter +{ + k_ELobbyDistanceFilterClose, // only lobbies in the same immediate region will be returned + k_ELobbyDistanceFilterDefault, // only lobbies in the same region or near by regions + k_ELobbyDistanceFilterFar, // for games that don't have many latency requirements, will return lobbies about half-way around the globe + k_ELobbyDistanceFilterWorldwide, // no filtering, will match lobbies as far as India to NY (not recommended, expect multiple seconds of latency between the clients) +}; + +// maximum number of characters a lobby metadata key can be +#define k_nMaxLobbyKeyLength 255 + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to favorites +// and to operate on game lobbies. +//----------------------------------------------------------------------------- +class ISteamMatchmaking +{ +public: + // game server favorites storage + // saves basic details about a multiplayer game server locally + + // returns the number of favorites servers the user has stored + virtual int GetFavoriteGameCount() = 0; + + // returns the details of the game server + // iGame is of range [0,GetFavoriteGameCount()) + // *pnIP, *pnConnPort are filled in the with IP:port of the game server + // *punFlags specify whether the game server was stored as an explicit favorite or in the history of connections + // *pRTime32LastPlayedOnServer is filled in the with the Unix time the favorite was added + virtual bool GetFavoriteGame( int iGame, AppId_t *pnAppID, uint32 *pnIP, uint16 *pnConnPort, uint16 *pnQueryPort, uint32 *punFlags, uint32 *pRTime32LastPlayedOnServer ) = 0; + + // adds the game server to the local list; updates the time played of the server if it already exists in the list + virtual int AddFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer ) = 0; + + // removes the game server from the local storage; returns true if one was removed + virtual bool RemoveFavoriteGame( AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags ) = 0; + + /////// + // Game lobby functions + + // Get a list of relevant lobbies + // this is an asynchronous request + // results will be returned by LobbyMatchList_t callback & call result, with the number of lobbies found + // this will never return lobbies that are full + // to add more filter, the filter calls below need to be call before each and every RequestLobbyList() call + // use the CCallResult<> object in steam_api.h to match the SteamAPICall_t call result to a function in an object, e.g. + /* + class CMyLobbyListManager + { + CCallResult m_CallResultLobbyMatchList; + void FindLobbies() + { + // SteamMatchmaking()->AddRequestLobbyListFilter*() functions would be called here, before RequestLobbyList() + SteamAPICall_t hSteamAPICall = SteamMatchmaking()->RequestLobbyList(); + m_CallResultLobbyMatchList.Set( hSteamAPICall, this, &CMyLobbyListManager::OnLobbyMatchList ); + } + + void OnLobbyMatchList( LobbyMatchList_t *pLobbyMatchList, bool bIOFailure ) + { + // lobby list has be retrieved from Steam back-end, use results + } + } + */ + // + CALL_RESULT( LobbyMatchList_t ) + virtual SteamAPICall_t RequestLobbyList() = 0; + // filters for lobbies + // this needs to be called before RequestLobbyList() to take effect + // these are cleared on each call to RequestLobbyList() + virtual void AddRequestLobbyListStringFilter( const char *pchKeyToMatch, const char *pchValueToMatch, ELobbyComparison eComparisonType ) = 0; + // numerical comparison + virtual void AddRequestLobbyListNumericalFilter( const char *pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType ) = 0; + // returns results closest to the specified value. Multiple near filters can be added, with early filters taking precedence + virtual void AddRequestLobbyListNearValueFilter( const char *pchKeyToMatch, int nValueToBeCloseTo ) = 0; + // returns only lobbies with the specified number of slots available + virtual void AddRequestLobbyListFilterSlotsAvailable( int nSlotsAvailable ) = 0; + // sets the distance for which we should search for lobbies (based on users IP address to location map on the Steam backed) + virtual void AddRequestLobbyListDistanceFilter( ELobbyDistanceFilter eLobbyDistanceFilter ) = 0; + // sets how many results to return, the lower the count the faster it is to download the lobby results & details to the client + virtual void AddRequestLobbyListResultCountFilter( int cMaxResults ) = 0; + + virtual void AddRequestLobbyListCompatibleMembersFilter( CSteamID steamIDLobby ) = 0; + + // returns the CSteamID of a lobby, as retrieved by a RequestLobbyList call + // should only be called after a LobbyMatchList_t callback is received + // iLobby is of the range [0, LobbyMatchList_t::m_nLobbiesMatching) + // the returned CSteamID::IsValid() will be false if iLobby is out of range + virtual CSteamID GetLobbyByIndex( int iLobby ) = 0; + + // Create a lobby on the Steam servers. + // If private, then the lobby will not be returned by any RequestLobbyList() call; the CSteamID + // of the lobby will need to be communicated via game channels or via InviteUserToLobby() + // this is an asynchronous request + // results will be returned by LobbyCreated_t callback and call result; lobby is joined & ready to use at this point + // a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) + CALL_RESULT( LobbyCreated_t ) + virtual SteamAPICall_t CreateLobby( ELobbyType eLobbyType, int cMaxMembers ) = 0; + + // Joins an existing lobby + // this is an asynchronous request + // results will be returned by LobbyEnter_t callback & call result, check m_EChatRoomEnterResponse to see if was successful + // lobby metadata is available to use immediately on this call completing + CALL_RESULT( LobbyEnter_t ) + virtual SteamAPICall_t JoinLobby( CSteamID steamIDLobby ) = 0; + + // Leave a lobby; this will take effect immediately on the client side + // other users in the lobby will be notified by a LobbyChatUpdate_t callback + virtual void LeaveLobby( CSteamID steamIDLobby ) = 0; + + // Invite another user to the lobby + // the target user will receive a LobbyInvite_t callback + // will return true if the invite is successfully sent, whether or not the target responds + // returns false if the local user is not connected to the Steam servers + // if the other user clicks the join link, a GameLobbyJoinRequested_t will be posted if the user is in-game, + // or if the game isn't running yet the game will be launched with the parameter +connect_lobby <64-bit lobby id> + virtual bool InviteUserToLobby( CSteamID steamIDLobby, CSteamID steamIDInvitee ) = 0; + + // Lobby iteration, for viewing details of users in a lobby + // only accessible if the lobby user is a member of the specified lobby + // persona information for other lobby members (name, avatar, etc.) will be asynchronously received + // and accessible via ISteamFriends interface + + // returns the number of users in the specified lobby + virtual int GetNumLobbyMembers( CSteamID steamIDLobby ) = 0; + // returns the CSteamID of a user in the lobby + // iMember is of range [0,GetNumLobbyMembers()) + // note that the current user must be in a lobby to retrieve CSteamIDs of other users in that lobby + virtual CSteamID GetLobbyMemberByIndex( CSteamID steamIDLobby, int iMember ) = 0; + + // Get data associated with this lobby + // takes a simple key, and returns the string associated with it + // "" will be returned if no value is set, or if steamIDLobby is invalid + virtual const char *GetLobbyData( CSteamID steamIDLobby, const char *pchKey ) = 0; + // Sets a key/value pair in the lobby metadata + // each user in the lobby will be broadcast this new value, and any new users joining will receive any existing data + // this can be used to set lobby names, map, etc. + // to reset a key, just set it to "" + // other users in the lobby will receive notification of the lobby data change via a LobbyDataUpdate_t callback + virtual bool SetLobbyData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue ) = 0; + + // returns the number of metadata keys set on the specified lobby + virtual int GetLobbyDataCount( CSteamID steamIDLobby ) = 0; + + // returns a lobby metadata key/values pair by index, of range [0, GetLobbyDataCount()) + virtual bool GetLobbyDataByIndex( CSteamID steamIDLobby, int iLobbyData, char *pchKey, int cchKeyBufferSize, char *pchValue, int cchValueBufferSize ) = 0; + + // removes a metadata key from the lobby + virtual bool DeleteLobbyData( CSteamID steamIDLobby, const char *pchKey ) = 0; + + // Gets per-user metadata for someone in this lobby + virtual const char *GetLobbyMemberData( CSteamID steamIDLobby, CSteamID steamIDUser, const char *pchKey ) = 0; + // Sets per-user metadata (for the local user implicitly) + virtual void SetLobbyMemberData( CSteamID steamIDLobby, const char *pchKey, const char *pchValue ) = 0; + + // Broadcasts a chat message to the all the users in the lobby + // users in the lobby (including the local user) will receive a LobbyChatMsg_t callback + // returns true if the message is successfully sent + // pvMsgBody can be binary or text data, up to 4k + // if pvMsgBody is text, cubMsgBody should be strlen( text ) + 1, to include the null terminator + virtual bool SendLobbyChatMsg( CSteamID steamIDLobby, const void *pvMsgBody, int cubMsgBody ) = 0; + // Get a chat message as specified in a LobbyChatMsg_t callback + // iChatID is the LobbyChatMsg_t::m_iChatID value in the callback + // *pSteamIDUser is filled in with the CSteamID of the member + // *pvData is filled in with the message itself + // return value is the number of bytes written into the buffer + virtual int GetLobbyChatEntry( CSteamID steamIDLobby, int iChatID, OUT_STRUCT() CSteamID *pSteamIDUser, void *pvData, int cubData, EChatEntryType *peChatEntryType ) = 0; + + // Refreshes metadata for a lobby you're not necessarily in right now + // you never do this for lobbies you're a member of, only if your + // this will send down all the metadata associated with a lobby + // this is an asynchronous call + // returns false if the local user is not connected to the Steam servers + // results will be returned by a LobbyDataUpdate_t callback + // if the specified lobby doesn't exist, LobbyDataUpdate_t::m_bSuccess will be set to false + virtual bool RequestLobbyData( CSteamID steamIDLobby ) = 0; + + // sets the game server associated with the lobby + // usually at this point, the users will join the specified game server + // either the IP/Port or the steamID of the game server has to be valid, depending on how you want the clients to be able to connect + virtual void SetLobbyGameServer( CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, CSteamID steamIDGameServer ) = 0; + // returns the details of a game server set in a lobby - returns false if there is no game server set, or that lobby doesn't exist + virtual bool GetLobbyGameServer( CSteamID steamIDLobby, uint32 *punGameServerIP, uint16 *punGameServerPort, OUT_STRUCT() CSteamID *psteamIDGameServer ) = 0; + + // set the limit on the # of users who can join the lobby + virtual bool SetLobbyMemberLimit( CSteamID steamIDLobby, int cMaxMembers ) = 0; + // returns the current limit on the # of users who can join the lobby; returns 0 if no limit is defined + virtual int GetLobbyMemberLimit( CSteamID steamIDLobby ) = 0; + + // updates which type of lobby it is + // only lobbies that are k_ELobbyTypePublic or k_ELobbyTypeInvisible, and are set to joinable, will be returned by RequestLobbyList() calls + virtual bool SetLobbyType( CSteamID steamIDLobby, ELobbyType eLobbyType ) = 0; + + // sets whether or not a lobby is joinable - defaults to true for a new lobby + // if set to false, no user can join, even if they are a friend or have been invited + virtual bool SetLobbyJoinable( CSteamID steamIDLobby, bool bLobbyJoinable ) = 0; + + // returns the current lobby owner + // you must be a member of the lobby to access this + // there always one lobby owner - if the current owner leaves, another user will become the owner + // it is possible (bur rare) to join a lobby just as the owner is leaving, thus entering a lobby with self as the owner + virtual CSteamID GetLobbyOwner( CSteamID steamIDLobby ) = 0; + + // changes who the lobby owner is + // you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby + // after completion, the local user will no longer be the owner + virtual bool SetLobbyOwner( CSteamID steamIDLobby, CSteamID steamIDNewOwner ) = 0; + + // link two lobbies for the purposes of checking player compatibility + // you must be the lobby owner of both lobbies + virtual bool SetLinkedLobby( CSteamID steamIDLobby, CSteamID steamIDLobbyDependent ) = 0; + +#ifdef _PS3 + // changes who the lobby owner is + // you must be the lobby owner for this to succeed, and steamIDNewOwner must be in the lobby + // after completion, the local user will no longer be the owner + virtual void CheckForPSNGameBootInvite( unsigned int iGameBootAttributes ) = 0; +#endif + CALL_BACK( LobbyChatUpdate_t ) +}; +#define STEAMMATCHMAKING_INTERFACE_VERSION "SteamMatchMaking009" + + +//----------------------------------------------------------------------------- +// Callback interfaces for server list functions (see ISteamMatchmakingServers below) +// +// The idea here is that your game code implements objects that implement these +// interfaces to receive callback notifications after calling asynchronous functions +// inside the ISteamMatchmakingServers() interface below. +// +// This is different than normal Steam callback handling due to the potentially +// large size of server lists. +//----------------------------------------------------------------------------- + +//----------------------------------------------------------------------------- +// Typedef for handle type you will receive when requesting server list. +//----------------------------------------------------------------------------- +typedef void* HServerListRequest; + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after a server list refresh +// or an individual server update. +// +// Since you get these callbacks after requesting full list refreshes you will +// usually implement this interface inside an object like CServerBrowser. If that +// object is getting destructed you should use ISteamMatchMakingServers()->CancelQuery() +// to cancel any in-progress queries so you don't get a callback into the destructed +// object and crash. +//----------------------------------------------------------------------------- +class ISteamMatchmakingServerListResponse +{ +public: + // Server has responded ok with updated data + virtual void ServerResponded( HServerListRequest hRequest, int iServer ) = 0; + + // Server has failed to respond + virtual void ServerFailedToRespond( HServerListRequest hRequest, int iServer ) = 0; + + // A list refresh you had initiated is now 100% completed + virtual void RefreshComplete( HServerListRequest hRequest, EMatchMakingServerResponse response ) = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after pinging an individual server +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->PingServer() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingPingResponse +{ +public: + // Server has responded successfully and has updated data + virtual void ServerResponded( gameserveritem_t &server ) = 0; + + // Server failed to respond to the ping request + virtual void ServerFailedToRespond() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting details on +// who is playing on a particular server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->PlayerDetails() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingPlayersResponse +{ +public: + // Got data on a new player on the server -- you'll get this callback once per player + // on the server which you have requested player data on. + virtual void AddPlayerToList( const char *pchName, int nScore, float flTimePlayed ) = 0; + + // The server failed to respond to the request for player details + virtual void PlayersFailedToRespond() = 0; + + // The server has finished responding to the player details request + // (ie, you won't get anymore AddPlayerToList callbacks) + virtual void PlayersRefreshComplete() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting rules +// details on a particular server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->ServerRules() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingRulesResponse +{ +public: + // Got data on a rule on the server -- you'll get one of these per rule defined on + // the server you are querying + virtual void RulesResponded( const char *pchRule, const char *pchValue ) = 0; + + // The server failed to respond to the request for rule details + virtual void RulesFailedToRespond() = 0; + + // The server has finished responding to the rule details request + // (ie, you won't get anymore RulesResponded callbacks) + virtual void RulesRefreshComplete() = 0; +}; + + +//----------------------------------------------------------------------------- +// Typedef for handle type you will receive when querying details on an individual server. +//----------------------------------------------------------------------------- +typedef int HServerQuery; +const int HSERVERQUERY_INVALID = 0xffffffff; + +//----------------------------------------------------------------------------- +// Purpose: Functions for match making services for clients to get to game lists and details +//----------------------------------------------------------------------------- +class ISteamMatchmakingServers +{ +public: + // Request a new list of servers of a particular type. These calls each correspond to one of the EMatchMakingType values. + // Each call allocates a new asynchronous request object. + // Request object must be released by calling ReleaseRequest( hServerListRequest ) + virtual HServerListRequest RequestInternetServerList( AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestLANServerList( AppId_t iApp, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestFriendsServerList( AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestFavoritesServerList( AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestHistoryServerList( AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + virtual HServerListRequest RequestSpectatorServerList( AppId_t iApp, ARRAY_COUNT(nFilters) MatchMakingKeyValuePair_t **ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse *pRequestServersResponse ) = 0; + + // Releases the asynchronous request object and cancels any pending query on it if there's a pending query in progress. + // RefreshComplete callback is not posted when request is released. + virtual void ReleaseRequest( HServerListRequest hServerListRequest ) = 0; + + /* the filter operation codes that go in the key part of MatchMakingKeyValuePair_t should be one of these: + + "map" + - Server passes the filter if the server is playing the specified map. + "gamedataand" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains all of the + specified strings. The value field is a comma-delimited list of strings to match. + "gamedataor" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) contains at least one of the + specified strings. The value field is a comma-delimited list of strings to match. + "gamedatanor" + - Server passes the filter if the server's game data (ISteamGameServer::SetGameData) does not contain any + of the specified strings. The value field is a comma-delimited list of strings to check. + "gametagsand" + - Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) contains all + of the specified strings. The value field is a comma-delimited list of strings to check. + "gametagsnor" + - Server passes the filter if the server's game tags (ISteamGameServer::SetGameTags) does not contain any + of the specified strings. The value field is a comma-delimited list of strings to check. + "and" (x1 && x2 && ... && xn) + "or" (x1 || x2 || ... || xn) + "nand" !(x1 && x2 && ... && xn) + "nor" !(x1 || x2 || ... || xn) + - Performs Boolean operation on the following filters. The operand to this filter specifies + the "size" of the Boolean inputs to the operation, in Key/value pairs. (The keyvalue + pairs must immediately follow, i.e. this is a prefix logical operator notation.) + In the simplest case where Boolean expressions are not nested, this is simply + the number of operands. + + For example, to match servers on a particular map or with a particular tag, would would + use these filters. + + ( server.map == "cp_dustbowl" || server.gametags.contains("payload") ) + "or", "2" + "map", "cp_dustbowl" + "gametagsand", "payload" + + If logical inputs are nested, then the operand specifies the size of the entire + "length" of its operands, not the number of immediate children. + + ( server.map == "cp_dustbowl" || ( server.gametags.contains("payload") && !server.gametags.contains("payloadrace") ) ) + "or", "4" + "map", "cp_dustbowl" + "and", "2" + "gametagsand", "payload" + "gametagsnor", "payloadrace" + + Unary NOT can be achieved using either "nand" or "nor" with a single operand. + + "addr" + - Server passes the filter if the server's query address matches the specified IP or IP:port. + "gameaddr" + - Server passes the filter if the server's game address matches the specified IP or IP:port. + + The following filter operations ignore the "value" part of MatchMakingKeyValuePair_t + + "dedicated" + - Server passes the filter if it passed true to SetDedicatedServer. + "secure" + - Server passes the filter if the server is VAC-enabled. + "notfull" + - Server passes the filter if the player count is less than the reported max player count. + "hasplayers" + - Server passes the filter if the player count is greater than zero. + "noplayers" + - Server passes the filter if it doesn't have any players. + "linux" + - Server passes the filter if it's a linux server + */ + + // Get details on a given server in the list, you can get the valid range of index + // values by calling GetServerCount(). You will also receive index values in + // ISteamMatchmakingServerListResponse::ServerResponded() callbacks + virtual gameserveritem_t *GetServerDetails( HServerListRequest hRequest, int iServer ) = 0; + + // Cancel an request which is operation on the given list type. You should call this to cancel + // any in-progress requests before destructing a callback object that may have been passed + // to one of the above list request calls. Not doing so may result in a crash when a callback + // occurs on the destructed object. + // Canceling a query does not release the allocated request handle. + // The request handle must be released using ReleaseRequest( hRequest ) + virtual void CancelQuery( HServerListRequest hRequest ) = 0; + + // Ping every server in your list again but don't update the list of servers + // Query callback installed when the server list was requested will be used + // again to post notifications and RefreshComplete, so the callback must remain + // valid until another RefreshComplete is called on it or the request + // is released with ReleaseRequest( hRequest ) + virtual void RefreshQuery( HServerListRequest hRequest ) = 0; + + // Returns true if the list is currently refreshing its server list + virtual bool IsRefreshing( HServerListRequest hRequest ) = 0; + + // How many servers in the given list, GetServerDetails above takes 0... GetServerCount() - 1 + virtual int GetServerCount( HServerListRequest hRequest ) = 0; + + // Refresh a single server inside of a query (rather than all the servers ) + virtual void RefreshServer( HServerListRequest hRequest, int iServer ) = 0; + + + //----------------------------------------------------------------------------- + // Queries to individual servers directly via IP/Port + //----------------------------------------------------------------------------- + + // Request updated ping time and other details from a single server + virtual HServerQuery PingServer( uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse *pRequestServersResponse ) = 0; + + // Request the list of players currently playing on a server + virtual HServerQuery PlayerDetails( uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse *pRequestServersResponse ) = 0; + + // Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side) + virtual HServerQuery ServerRules( uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse ) = 0; + + // Cancel an outstanding Ping/Players/Rules query from above. You should call this to cancel + // any in-progress requests before destructing a callback object that may have been passed + // to one of the above calls to avoid crashing when callbacks occur. + virtual void CancelServerQuery( HServerQuery hServerQuery ) = 0; +}; +#define STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "SteamMatchMakingServers002" + +// game server flags +const uint32 k_unFavoriteFlagNone = 0x00; +const uint32 k_unFavoriteFlagFavorite = 0x01; // this game favorite entry is for the favorites list +const uint32 k_unFavoriteFlagHistory = 0x02; // this game favorite entry is for the history list + + +//----------------------------------------------------------------------------- +// Purpose: Used in ChatInfo messages - fields specific to a chat member - must fit in a uint32 +//----------------------------------------------------------------------------- +enum EChatMemberStateChange +{ + // Specific to joining / leaving the chatroom + k_EChatMemberStateChangeEntered = 0x0001, // This user has joined or is joining the chat room + k_EChatMemberStateChangeLeft = 0x0002, // This user has left or is leaving the chat room + k_EChatMemberStateChangeDisconnected = 0x0004, // User disconnected without leaving the chat first + k_EChatMemberStateChangeKicked = 0x0008, // User kicked + k_EChatMemberStateChangeBanned = 0x0010, // User kicked and banned +}; + +// returns true of the flags indicate that a user has been removed from the chat +#define BChatMemberStateChangeRemoved( rgfChatMemberStateChangeFlags ) ( rgfChatMemberStateChangeFlags & ( k_EChatMemberStateChangeDisconnected | k_EChatMemberStateChangeLeft | k_EChatMemberStateChangeKicked | k_EChatMemberStateChangeBanned ) ) + + +//----------------------------------------------------------------------------- +// Callbacks for ISteamMatchmaking (which go through the regular Steam callback registration system) +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: a server was added/removed from the favorites list, you should refresh now +//----------------------------------------------------------------------------- +struct FavoritesListChanged_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 2 }; + uint32 m_nIP; // an IP of 0 means reload the whole list, any other value means just one server + uint32 m_nQueryPort; + uint32 m_nConnPort; + uint32 m_nAppID; + uint32 m_nFlags; + bool m_bAdd; // true if this is adding the entry, otherwise it is a remove + AccountID_t m_unAccountId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Someone has invited you to join a Lobby +// normally you don't need to do anything with this, since +// the Steam UI will also display a ' has invited you to the lobby, join?' dialog +// +// if the user outside a game chooses to join, your game will be launched with the parameter "+connect_lobby <64-bit lobby id>", +// or with the callback GameLobbyJoinRequested_t if they're already in-game +//----------------------------------------------------------------------------- +struct LobbyInvite_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 3 }; + + uint64 m_ulSteamIDUser; // Steam ID of the person making the invite + uint64 m_ulSteamIDLobby; // Steam ID of the Lobby + uint64 m_ulGameID; // GameID of the Lobby +}; + + +//----------------------------------------------------------------------------- +// Purpose: Sent on entering a lobby, or on failing to enter +// m_EChatRoomEnterResponse will be set to k_EChatRoomEnterResponseSuccess on success, +// or a higher value on failure (see enum EChatRoomEnterResponse) +//----------------------------------------------------------------------------- +struct LobbyEnter_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 4 }; + + uint64 m_ulSteamIDLobby; // SteamID of the Lobby you have entered + uint32 m_rgfChatPermissions; // Permissions of the current user + bool m_bLocked; // If true, then only invited users may join + uint32 m_EChatRoomEnterResponse; // EChatRoomEnterResponse +}; + + +//----------------------------------------------------------------------------- +// Purpose: The lobby metadata has changed +// if m_ulSteamIDMember is the steamID of a lobby member, use GetLobbyMemberData() to access per-user details +// if m_ulSteamIDMember == m_ulSteamIDLobby, use GetLobbyData() to access lobby metadata +//----------------------------------------------------------------------------- +struct LobbyDataUpdate_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 5 }; + + uint64 m_ulSteamIDLobby; // steamID of the Lobby + uint64 m_ulSteamIDMember; // steamID of the member whose data changed, or the room itself + uint8 m_bSuccess; // true if we lobby data was successfully changed; + // will only be false if RequestLobbyData() was called on a lobby that no longer exists +}; + + +//----------------------------------------------------------------------------- +// Purpose: The lobby chat room state has changed +// this is usually sent when a user has joined or left the lobby +//----------------------------------------------------------------------------- +struct LobbyChatUpdate_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 6 }; + + uint64 m_ulSteamIDLobby; // Lobby ID + uint64 m_ulSteamIDUserChanged; // user who's status in the lobby just changed - can be recipient + uint64 m_ulSteamIDMakingChange; // Chat member who made the change (different from SteamIDUserChange if kicking, muting, etc.) + // for example, if one user kicks another from the lobby, this will be set to the id of the user who initiated the kick + uint32 m_rgfChatMemberStateChange; // bitfield of EChatMemberStateChange values +}; + + +//----------------------------------------------------------------------------- +// Purpose: A chat message for this lobby has been sent +// use GetLobbyChatEntry( m_iChatID ) to retrieve the contents of this message +//----------------------------------------------------------------------------- +struct LobbyChatMsg_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 7 }; + + uint64 m_ulSteamIDLobby; // the lobby id this is in + uint64 m_ulSteamIDUser; // steamID of the user who has sent this message + uint8 m_eChatEntryType; // type of message + uint32 m_iChatID; // index of the chat entry to lookup +}; + + +//----------------------------------------------------------------------------- +// Purpose: A game created a game for all the members of the lobby to join, +// as triggered by a SetLobbyGameServer() +// it's up to the individual clients to take action on this; the usual +// game behavior is to leave the lobby and connect to the specified game server +//----------------------------------------------------------------------------- +struct LobbyGameCreated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 9 }; + + uint64 m_ulSteamIDLobby; // the lobby we were in + uint64 m_ulSteamIDGameServer; // the new game server that has been created or found for the lobby members + uint32 m_unIP; // IP & Port of the game server (if any) + uint16 m_usPort; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Number of matching lobbies found +// iterate the returned lobbies with GetLobbyByIndex(), from values 0 to m_nLobbiesMatching-1 +//----------------------------------------------------------------------------- +struct LobbyMatchList_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 10 }; + uint32 m_nLobbiesMatching; // Number of lobbies that matched search criteria and we have SteamIDs for +}; + + +//----------------------------------------------------------------------------- +// Purpose: posted if a user is forcefully removed from a lobby +// can occur if a user loses connection to Steam +//----------------------------------------------------------------------------- +struct LobbyKicked_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 12 }; + uint64 m_ulSteamIDLobby; // Lobby + uint64 m_ulSteamIDAdmin; // User who kicked you - possibly the ID of the lobby itself + uint8 m_bKickedDueToDisconnect; // true if you were kicked from the lobby due to the user losing connection to Steam (currently always true) +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result of our request to create a Lobby +// m_eResult == k_EResultOK on success +// at this point, the lobby has been joined and is ready for use +// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) +//----------------------------------------------------------------------------- +struct LobbyCreated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 13 }; + + EResult m_eResult; // k_EResultOK - the lobby was successfully created + // k_EResultNoConnection - your Steam client doesn't have a connection to the back-end + // k_EResultTimeout - you the message to the Steam servers, but it didn't respond + // k_EResultFail - the server responded, but with an unknown internal error + // k_EResultAccessDenied - your game isn't set to allow lobbies, or your client does haven't rights to play the game + // k_EResultLimitExceeded - your game client has created too many lobbies + + uint64 m_ulSteamIDLobby; // chat room, zero if failed +}; + +// used by now obsolete RequestFriendsLobbiesResponse_t +// enum { k_iCallback = k_iSteamMatchmakingCallbacks + 14 }; + + +//----------------------------------------------------------------------------- +// Purpose: Result of CheckForPSNGameBootInvite +// m_eResult == k_EResultOK on success +// at this point, the local user may not have finishing joining this lobby; +// game code should wait until the subsequent LobbyEnter_t callback is received +//----------------------------------------------------------------------------- +struct PSNGameBootInviteResult_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 15 }; + + bool m_bGameBootInviteExists; + CSteamID m_steamIDLobby; // Should be valid if m_bGameBootInviteExists == true +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result of our request to create a Lobby +// m_eResult == k_EResultOK on success +// at this point, the lobby has been joined and is ready for use +// a LobbyEnter_t callback will also be received (since the local user is joining their own lobby) +//----------------------------------------------------------------------------- +struct FavoritesListAccountsUpdated_t +{ + enum { k_iCallback = k_iSteamMatchmakingCallbacks + 16 }; + + EResult m_eResult; +}; + +#pragma pack( pop ) + + +#endif // ISTEAMMATCHMAKING diff --git a/source/Steamworks_xcode/Steamworks/Include/isteammusic.h b/source/Steamworks_xcode/Steamworks/Include/isteammusic.h new file mode 100644 index 0000000..779a4c2 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteammusic.h @@ -0,0 +1,67 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMMUSIC_H +#define ISTEAMMUSIC_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +enum AudioPlayback_Status +{ + AudioPlayback_Undefined = 0, + AudioPlayback_Playing = 1, + AudioPlayback_Paused = 2, + AudioPlayback_Idle = 3 +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions to control music playback in the steam client +//----------------------------------------------------------------------------- +class ISteamMusic +{ +public: + virtual bool BIsEnabled() = 0; + virtual bool BIsPlaying() = 0; + + virtual AudioPlayback_Status GetPlaybackStatus() = 0; + + virtual void Play() = 0; + virtual void Pause() = 0; + virtual void PlayPrevious() = 0; + virtual void PlayNext() = 0; + + // volume is between 0.0 and 1.0 + virtual void SetVolume( float flVolume ) = 0; + virtual float GetVolume() = 0; + +}; + +#define STEAMMUSIC_INTERFACE_VERSION "STEAMMUSIC_INTERFACE_VERSION001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +DEFINE_CALLBACK( PlaybackStatusHasChanged_t, k_iSteamMusicCallbacks + 1 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( VolumeHasChanged_t, k_iSteamMusicCallbacks + 2 ) + CALLBACK_MEMBER( 0, float, m_flNewVolume ) +END_DEFINE_CALLBACK_1() + +#pragma pack( pop ) + + +#endif // #define ISTEAMMUSIC_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteammusicremote.h b/source/Steamworks_xcode/Steamworks/Include/isteammusicremote.h new file mode 100644 index 0000000..ea29a7d --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteammusicremote.h @@ -0,0 +1,129 @@ +//============ Copyright (c) Valve Corporation, All rights reserved. ============ + +#ifndef ISTEAMMUSICREMOTE_H +#define ISTEAMMUSICREMOTE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" +#include "isteammusic.h" + +#define k_SteamMusicNameMaxLength 255 +#define k_SteamMusicPNGMaxLength 65535 + + +class ISteamMusicRemote +{ +public: + // Service Definition + virtual bool RegisterSteamMusicRemote( const char *pchName ) = 0; + virtual bool DeregisterSteamMusicRemote() = 0; + virtual bool BIsCurrentMusicRemote() = 0; + virtual bool BActivationSuccess( bool bValue ) = 0; + + virtual bool SetDisplayName( const char *pchDisplayName ) = 0; + virtual bool SetPNGIcon_64x64( void *pvBuffer, uint32 cbBufferLength ) = 0; + + // Abilities for the user interface + virtual bool EnablePlayPrevious(bool bValue) = 0; + virtual bool EnablePlayNext( bool bValue ) = 0; + virtual bool EnableShuffled( bool bValue ) = 0; + virtual bool EnableLooped( bool bValue ) = 0; + virtual bool EnableQueue( bool bValue ) = 0; + virtual bool EnablePlaylists( bool bValue ) = 0; + + // Status + virtual bool UpdatePlaybackStatus( AudioPlayback_Status nStatus ) = 0; + virtual bool UpdateShuffled( bool bValue ) = 0; + virtual bool UpdateLooped( bool bValue ) = 0; + virtual bool UpdateVolume( float flValue ) = 0; // volume is between 0.0 and 1.0 + + // Current Entry + virtual bool CurrentEntryWillChange() = 0; + virtual bool CurrentEntryIsAvailable( bool bAvailable ) = 0; + virtual bool UpdateCurrentEntryText( const char *pchText ) = 0; + virtual bool UpdateCurrentEntryElapsedSeconds( int nValue ) = 0; + virtual bool UpdateCurrentEntryCoverArt( void *pvBuffer, uint32 cbBufferLength ) = 0; + virtual bool CurrentEntryDidChange() = 0; + + // Queue + virtual bool QueueWillChange() = 0; + virtual bool ResetQueueEntries() = 0; + virtual bool SetQueueEntry( int nID, int nPosition, const char *pchEntryText ) = 0; + virtual bool SetCurrentQueueEntry( int nID ) = 0; + virtual bool QueueDidChange() = 0; + + // Playlist + virtual bool PlaylistWillChange() = 0; + virtual bool ResetPlaylistEntries() = 0; + virtual bool SetPlaylistEntry( int nID, int nPosition, const char *pchEntryText ) = 0; + virtual bool SetCurrentPlaylistEntry( int nID ) = 0; + virtual bool PlaylistDidChange() = 0; +}; + +#define STEAMMUSICREMOTE_INTERFACE_VERSION "STEAMMUSICREMOTE_INTERFACE_VERSION001" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +DEFINE_CALLBACK( MusicPlayerRemoteWillActivate_t, k_iSteamMusicRemoteCallbacks + 1) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerRemoteWillDeactivate_t, k_iSteamMusicRemoteCallbacks + 2 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerRemoteToFront_t, k_iSteamMusicRemoteCallbacks + 3 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerWillQuit_t, k_iSteamMusicRemoteCallbacks + 4 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerWantsPlay_t, k_iSteamMusicRemoteCallbacks + 5 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerWantsPause_t, k_iSteamMusicRemoteCallbacks + 6 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerWantsPlayPrevious_t, k_iSteamMusicRemoteCallbacks + 7 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerWantsPlayNext_t, k_iSteamMusicRemoteCallbacks + 8 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( MusicPlayerWantsShuffled_t, k_iSteamMusicRemoteCallbacks + 9 ) + CALLBACK_MEMBER( 0, bool, m_bShuffled ) +END_DEFINE_CALLBACK_1() + +DEFINE_CALLBACK( MusicPlayerWantsLooped_t, k_iSteamMusicRemoteCallbacks + 10 ) + CALLBACK_MEMBER(0, bool, m_bLooped ) +END_DEFINE_CALLBACK_1() + +DEFINE_CALLBACK( MusicPlayerWantsVolume_t, k_iSteamMusicCallbacks + 11 ) + CALLBACK_MEMBER(0, float, m_flNewVolume) +END_DEFINE_CALLBACK_1() + +DEFINE_CALLBACK( MusicPlayerSelectsQueueEntry_t, k_iSteamMusicCallbacks + 12 ) + CALLBACK_MEMBER(0, int, nID ) +END_DEFINE_CALLBACK_1() + +DEFINE_CALLBACK( MusicPlayerSelectsPlaylistEntry_t, k_iSteamMusicCallbacks + 13 ) + CALLBACK_MEMBER(0, int, nID ) +END_DEFINE_CALLBACK_1() + +DEFINE_CALLBACK( MusicPlayerWantsPlayingRepeatStatus_t, k_iSteamMusicRemoteCallbacks + 14 ) + CALLBACK_MEMBER(0, int, m_nPlayingRepeatStatus ) +END_DEFINE_CALLBACK_1() + +#pragma pack( pop ) + + + +#endif // #define ISTEAMMUSICREMOTE_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamnetworking.h b/source/Steamworks_xcode/Steamworks/Include/isteamnetworking.h new file mode 100644 index 0000000..8f70819 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamnetworking.h @@ -0,0 +1,306 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam managing network connections between game clients & servers +// +//============================================================================= + +#ifndef ISTEAMNETWORKING +#define ISTEAMNETWORKING +#ifdef _WIN32 +#pragma once +#endif + +#include "steamtypes.h" +#include "steamclientpublic.h" + + +// list of possible errors returned by SendP2PPacket() API +// these will be posted in the P2PSessionConnectFail_t callback +enum EP2PSessionError +{ + k_EP2PSessionErrorNone = 0, + k_EP2PSessionErrorNotRunningApp = 1, // target is not running the same game + k_EP2PSessionErrorNoRightsToApp = 2, // local user doesn't own the app that is running + k_EP2PSessionErrorDestinationNotLoggedIn = 3, // target user isn't connected to Steam + k_EP2PSessionErrorTimeout = 4, // target isn't responding, perhaps not calling AcceptP2PSessionWithUser() + // corporate firewalls can also block this (NAT traversal is not firewall traversal) + // make sure that UDP ports 3478, 4379, and 4380 are open in an outbound direction + k_EP2PSessionErrorMax = 5 +}; + +// SendP2PPacket() send types +// Typically k_EP2PSendUnreliable is what you want for UDP-like packets, k_EP2PSendReliable for TCP-like packets +enum EP2PSend +{ + // Basic UDP send. Packets can't be bigger than 1200 bytes (your typical MTU size). Can be lost, or arrive out of order (rare). + // The sending API does have some knowledge of the underlying connection, so if there is no NAT-traversal accomplished or + // there is a recognized adjustment happening on the connection, the packet will be batched until the connection is open again. + k_EP2PSendUnreliable = 0, + + // As above, but if the underlying p2p connection isn't yet established the packet will just be thrown away. Using this on the first + // packet sent to a remote host almost guarantees the packet will be dropped. + // This is only really useful for kinds of data that should never buffer up, i.e. voice payload packets + k_EP2PSendUnreliableNoDelay = 1, + + // Reliable message send. Can send up to 1MB of data in a single message. + // Does fragmentation/re-assembly of messages under the hood, as well as a sliding window for efficient sends of large chunks of data. + k_EP2PSendReliable = 2, + + // As above, but applies the Nagle algorithm to the send - sends will accumulate + // until the current MTU size (typically ~1200 bytes, but can change) or ~200ms has passed (Nagle algorithm). + // Useful if you want to send a set of smaller messages but have the coalesced into a single packet + // Since the reliable stream is all ordered, you can do several small message sends with k_EP2PSendReliableWithBuffering and then + // do a normal k_EP2PSendReliable to force all the buffered data to be sent. + k_EP2PSendReliableWithBuffering = 3, + +}; + + +// connection state to a specified user, returned by GetP2PSessionState() +// this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif +struct P2PSessionState_t +{ + uint8 m_bConnectionActive; // true if we've got an active open connection + uint8 m_bConnecting; // true if we're currently trying to establish a connection + uint8 m_eP2PSessionError; // last error recorded (see enum above) + uint8 m_bUsingRelay; // true if it's going through a relay server (TURN) + int32 m_nBytesQueuedForSend; + int32 m_nPacketsQueuedForSend; + uint32 m_nRemoteIP; // potential IP:Port of remote host. Could be TURN server. + uint16 m_nRemotePort; // Only exists for compatibility with older authentication api's +}; +#pragma pack( pop ) + + +// handle to a socket +typedef uint32 SNetSocket_t; // CreateP2PConnectionSocket() +typedef uint32 SNetListenSocket_t; // CreateListenSocket() + +// connection progress indicators, used by CreateP2PConnectionSocket() +enum ESNetSocketState +{ + k_ESNetSocketStateInvalid = 0, + + // communication is valid + k_ESNetSocketStateConnected = 1, + + // states while establishing a connection + k_ESNetSocketStateInitiated = 10, // the connection state machine has started + + // p2p connections + k_ESNetSocketStateLocalCandidatesFound = 11, // we've found our local IP info + k_ESNetSocketStateReceivedRemoteCandidates = 12,// we've received information from the remote machine, via the Steam back-end, about their IP info + + // direct connections + k_ESNetSocketStateChallengeHandshake = 15, // we've received a challenge packet from the server + + // failure states + k_ESNetSocketStateDisconnecting = 21, // the API shut it down, and we're in the process of telling the other end + k_ESNetSocketStateLocalDisconnect = 22, // the API shut it down, and we've completed shutdown + k_ESNetSocketStateTimeoutDuringConnect = 23, // we timed out while trying to creating the connection + k_ESNetSocketStateRemoteEndDisconnected = 24, // the remote end has disconnected from us + k_ESNetSocketStateConnectionBroken = 25, // connection has been broken; either the other end has disappeared or our local network connection has broke + +}; + +// describes how the socket is currently connected +enum ESNetSocketConnectionType +{ + k_ESNetSocketConnectionTypeNotConnected = 0, + k_ESNetSocketConnectionTypeUDP = 1, + k_ESNetSocketConnectionTypeUDPRelay = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for making connections and sending data between clients, +// traversing NAT's where possible +//----------------------------------------------------------------------------- +class ISteamNetworking +{ +public: + //////////////////////////////////////////////////////////////////////////////////////////// + // Session-less connection functions + // automatically establishes NAT-traversing or Relay server connections + + // Sends a P2P packet to the specified user + // UDP-like, unreliable and a max packet size of 1200 bytes + // the first packet send may be delayed as the NAT-traversal code runs + // if we can't get through to the user, an error will be posted via the callback P2PSessionConnectFail_t + // see EP2PSend enum above for the descriptions of the different ways of sending packets + // + // nChannel is a routing number you can use to help route message to different systems - you'll have to call ReadP2PPacket() + // with the same channel number in order to retrieve the data on the other end + // using different channels to talk to the same user will still use the same underlying p2p connection, saving on resources + virtual bool SendP2PPacket( CSteamID steamIDRemote, const void *pubData, uint32 cubData, EP2PSend eP2PSendType, int nChannel = 0 ) = 0; + + // returns true if any data is available for read, and the amount of data that will need to be read + virtual bool IsP2PPacketAvailable( uint32 *pcubMsgSize, int nChannel = 0 ) = 0; + + // reads in a packet that has been sent from another user via SendP2PPacket() + // returns the size of the message and the steamID of the user who sent it in the last two parameters + // if the buffer passed in is too small, the message will be truncated + // this call is not blocking, and will return false if no data is available + virtual bool ReadP2PPacket( void *pubDest, uint32 cubDest, uint32 *pcubMsgSize, CSteamID *psteamIDRemote, int nChannel = 0 ) = 0; + + // AcceptP2PSessionWithUser() should only be called in response to a P2PSessionRequest_t callback + // P2PSessionRequest_t will be posted if another user tries to send you a packet that you haven't talked to yet + // if you don't want to talk to the user, just ignore the request + // if the user continues to send you packets, another P2PSessionRequest_t will be posted periodically + // this may be called multiple times for a single user + // (if you've called SendP2PPacket() on the other user, this implicitly accepts the session request) + virtual bool AcceptP2PSessionWithUser( CSteamID steamIDRemote ) = 0; + + // call CloseP2PSessionWithUser() when you're done talking to a user, will free up resources under-the-hood + // if the remote user tries to send data to you again, another P2PSessionRequest_t callback will be posted + virtual bool CloseP2PSessionWithUser( CSteamID steamIDRemote ) = 0; + + // call CloseP2PChannelWithUser() when you're done talking to a user on a specific channel. Once all channels + // open channels to a user have been closed, the open session to the user will be closed and new data from this + // user will trigger a P2PSessionRequest_t callback + virtual bool CloseP2PChannelWithUser( CSteamID steamIDRemote, int nChannel ) = 0; + + // fills out P2PSessionState_t structure with details about the underlying connection to the user + // should only needed for debugging purposes + // returns false if no connection exists to the specified user + virtual bool GetP2PSessionState( CSteamID steamIDRemote, P2PSessionState_t *pConnectionState ) = 0; + + // Allow P2P connections to fall back to being relayed through the Steam servers if a direct connection + // or NAT-traversal cannot be established. Only applies to connections created after setting this value, + // or to existing connections that need to automatically reconnect after this value is set. + // + // P2P packet relay is allowed by default + virtual bool AllowP2PPacketRelay( bool bAllow ) = 0; + + + //////////////////////////////////////////////////////////////////////////////////////////// + // LISTEN / CONNECT style interface functions + // + // This is an older set of functions designed around the Berkeley TCP sockets model + // it's preferential that you use the above P2P functions, they're more robust + // and these older functions will be removed eventually + // + //////////////////////////////////////////////////////////////////////////////////////////// + + + // creates a socket and listens others to connect + // will trigger a SocketStatusCallback_t callback on another client connecting + // nVirtualP2PPort is the unique ID that the client will connect to, in case you have multiple ports + // this can usually just be 0 unless you want multiple sets of connections + // unIP is the local IP address to bind to + // pass in 0 if you just want the default local IP + // unPort is the port to use + // pass in 0 if you don't want users to be able to connect via IP/Port, but expect to be always peer-to-peer connections only + virtual SNetListenSocket_t CreateListenSocket( int nVirtualP2PPort, uint32 nIP, uint16 nPort, bool bAllowUseOfPacketRelay ) = 0; + + // creates a socket and begin connection to a remote destination + // can connect via a known steamID (client or game server), or directly to an IP + // on success will trigger a SocketStatusCallback_t callback + // on failure or timeout will trigger a SocketStatusCallback_t callback with a failure code in m_eSNetSocketState + virtual SNetSocket_t CreateP2PConnectionSocket( CSteamID steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay ) = 0; + virtual SNetSocket_t CreateConnectionSocket( uint32 nIP, uint16 nPort, int nTimeoutSec ) = 0; + + // disconnects the connection to the socket, if any, and invalidates the handle + // any unread data on the socket will be thrown away + // if bNotifyRemoteEnd is set, socket will not be completely destroyed until the remote end acknowledges the disconnect + virtual bool DestroySocket( SNetSocket_t hSocket, bool bNotifyRemoteEnd ) = 0; + // destroying a listen socket will automatically kill all the regular sockets generated from it + virtual bool DestroyListenSocket( SNetListenSocket_t hSocket, bool bNotifyRemoteEnd ) = 0; + + // sending data + // must be a handle to a connected socket + // data is all sent via UDP, and thus send sizes are limited to 1200 bytes; after this, many routers will start dropping packets + // use the reliable flag with caution; although the resend rate is pretty aggressive, + // it can still cause stalls in receiving data (like TCP) + virtual bool SendDataOnSocket( SNetSocket_t hSocket, void *pubData, uint32 cubData, bool bReliable ) = 0; + + // receiving data + // returns false if there is no data remaining + // fills out *pcubMsgSize with the size of the next message, in bytes + virtual bool IsDataAvailableOnSocket( SNetSocket_t hSocket, uint32 *pcubMsgSize ) = 0; + + // fills in pubDest with the contents of the message + // messages are always complete, of the same size as was sent (i.e. packetized, not streaming) + // if *pcubMsgSize < cubDest, only partial data is written + // returns false if no data is available + virtual bool RetrieveDataFromSocket( SNetSocket_t hSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize ) = 0; + + // checks for data from any socket that has been connected off this listen socket + // returns false if there is no data remaining + // fills out *pcubMsgSize with the size of the next message, in bytes + // fills out *phSocket with the socket that data is available on + virtual bool IsDataAvailable( SNetListenSocket_t hListenSocket, uint32 *pcubMsgSize, SNetSocket_t *phSocket ) = 0; + + // retrieves data from any socket that has been connected off this listen socket + // fills in pubDest with the contents of the message + // messages are always complete, of the same size as was sent (i.e. packetized, not streaming) + // if *pcubMsgSize < cubDest, only partial data is written + // returns false if no data is available + // fills out *phSocket with the socket that data is available on + virtual bool RetrieveData( SNetListenSocket_t hListenSocket, void *pubDest, uint32 cubDest, uint32 *pcubMsgSize, SNetSocket_t *phSocket ) = 0; + + // returns information about the specified socket, filling out the contents of the pointers + virtual bool GetSocketInfo( SNetSocket_t hSocket, CSteamID *pSteamIDRemote, int *peSocketStatus, uint32 *punIPRemote, uint16 *punPortRemote ) = 0; + + // returns which local port the listen socket is bound to + // *pnIP and *pnPort will be 0 if the socket is set to listen for P2P connections only + virtual bool GetListenSocketInfo( SNetListenSocket_t hListenSocket, uint32 *pnIP, uint16 *pnPort ) = 0; + + // returns true to describe how the socket ended up connecting + virtual ESNetSocketConnectionType GetSocketConnectionType( SNetSocket_t hSocket ) = 0; + + // max packet size, in bytes + virtual int GetMaxPacketSize( SNetSocket_t hSocket ) = 0; +}; +#define STEAMNETWORKING_INTERFACE_VERSION "SteamNetworking005" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +// callback notification - a user wants to talk to us over the P2P channel via the SendP2PPacket() API +// in response, a call to AcceptP2PPacketsFromUser() needs to be made, if you want to talk with them +struct P2PSessionRequest_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 2 }; + CSteamID m_steamIDRemote; // user who wants to talk to us +}; + + +// callback notification - packets can't get through to the specified user via the SendP2PPacket() API +// all packets queued packets unsent at this point will be dropped +// further attempts to send will retry making the connection (but will be dropped if we fail again) +struct P2PSessionConnectFail_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 3 }; + CSteamID m_steamIDRemote; // user we were sending packets to + uint8 m_eP2PSessionError; // EP2PSessionError indicating why we're having trouble +}; + + +// callback notification - status of a socket has changed +// used as part of the CreateListenSocket() / CreateP2PConnectionSocket() +struct SocketStatusCallback_t +{ + enum { k_iCallback = k_iSteamNetworkingCallbacks + 1 }; + SNetSocket_t m_hSocket; // the socket used to send/receive data to the remote host + SNetListenSocket_t m_hListenSocket; // this is the server socket that we were listening on; NULL if this was an outgoing connection + CSteamID m_steamIDRemote; // remote steamID we have connected to, if it has one + int m_eSNetSocketState; // socket state, ESNetSocketState +}; + +#pragma pack( pop ) + +#endif // ISTEAMNETWORKING diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamparentalsettings.h b/source/Steamworks_xcode/Steamworks/Include/isteamparentalsettings.h new file mode 100644 index 0000000..1b6ba9f --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamparentalsettings.h @@ -0,0 +1,57 @@ +//====== Copyright � 2013-, Valve Corporation, All rights reserved. ======= +// +// Purpose: Interface to Steam parental settings (Family View) +// +//============================================================================= + +#ifndef ISTEAMPARENTALSETTINGS_H +#define ISTEAMPARENTALSETTINGS_H +#ifdef _WIN32 +#pragma once +#endif + +// Feature types for parental settings +enum EParentalFeature +{ + k_EFeatureInvalid = 0, + k_EFeatureStore = 1, + k_EFeatureCommunity = 2, + k_EFeatureProfile = 3, + k_EFeatureFriends = 4, + k_EFeatureNews = 5, + k_EFeatureTrading = 6, + k_EFeatureSettings = 7, + k_EFeatureConsole = 8, + k_EFeatureBrowser = 9, + k_EFeatureParentalSetup = 10, + k_EFeatureLibrary = 11, + k_EFeatureTest = 12, + k_EFeatureMax +}; + +class ISteamParentalSettings +{ +public: + virtual bool BIsParentalLockEnabled() = 0; + virtual bool BIsParentalLockLocked() = 0; + + virtual bool BIsAppBlocked( AppId_t nAppID ) = 0; + virtual bool BIsAppInBlockList( AppId_t nAppID ) = 0; + + virtual bool BIsFeatureBlocked( EParentalFeature eFeature ) = 0; + virtual bool BIsFeatureInBlockList( EParentalFeature eFeature ) = 0; +}; + +#define STEAMPARENTALSETTINGS_INTERFACE_VERSION "STEAMPARENTALSETTINGS_INTERFACE_VERSION001" + + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamParentalSettingsChanged_t +{ + enum { k_iCallback = k_ISteamParentalSettingsCallbacks + 1 }; +}; + + +#endif // ISTEAMPARENTALSETTINGS_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamps3overlayrenderer.h b/source/Steamworks_xcode/Steamworks/Include/isteamps3overlayrenderer.h new file mode 100644 index 0000000..4e07d4a --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamps3overlayrenderer.h @@ -0,0 +1,91 @@ +//====== Copyright © 1996-2010, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface the game must provide Steam with on PS3 in order for the +// Steam overlay to render. +// +//============================================================================= + +#ifndef ISTEAMPS3OVERLAYRENDERER_H +#define ISTEAMPS3OVERLAYRENDERER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "cell/pad.h" + +//----------------------------------------------------------------------------- +// Purpose: Enum for supported gradient directions +//----------------------------------------------------------------------------- +enum EOverlayGradientDirection +{ + k_EOverlayGradientHorizontal = 1, + k_EOverlayGradientVertical = 2, + k_EOverlayGradientNone = 3, +}; + +// Helpers for fetching individual color components from ARGB packed DWORD colors Steam PS3 overlay renderer uses. +#define STEAM_COLOR_RED( color ) \ + (int)(((color)>>16)&0xff) + +#define STEAM_COLOR_GREEN( color ) \ + (int)(((color)>>8)&0xff) + +#define STEAM_COLOR_BLUE( color ) \ + (int)((color)&0xff) + +#define STEAM_COLOR_ALPHA( color ) \ + (int)(((color)>>24)&0xff) + + +//----------------------------------------------------------------------------- +// Purpose: Interface the game must expose to Steam for rendering +//----------------------------------------------------------------------------- +class ISteamPS3OverlayRenderHost +{ +public: + + // Interface for game engine to implement which Steam requires to render. + + // Draw a textured rect. This may use only part of the texture and will pass texture coords, it will also possibly request a gradient and will specify colors for vertexes. + virtual void DrawTexturedRect( int x0, int y0, int x1, int y1, float u0, float v0, float u1, float v1, int32 iTextureID, DWORD colorStart, DWORD colorEnd, EOverlayGradientDirection eDirection ) = 0; + + // Load a RGBA texture for Steam, or update a previously loaded one. Updates may be partial. You must not evict or remove this texture once Steam has uploaded it. + virtual void LoadOrUpdateTexture( int32 iTextureID, bool bIsFullTexture, int x0, int y0, uint32 uWidth, uint32 uHeight, int32 iBytes, char *pData ) = 0; + + // Delete a texture Steam previously uploaded + virtual void DeleteTexture( int32 iTextureID ) = 0; + + // Delete all previously uploaded textures + virtual void DeleteAllTextures() = 0; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Interface Steam exposes for the game to tell it when to render, etc. +//----------------------------------------------------------------------------- +class ISteamPS3OverlayRender +{ +public: + + // Call once at startup to initialize the Steam overlay and pass it your host interface ptr + virtual bool BHostInitialize( uint32 unScreenWidth, uint32 unScreenHeight, uint32 unRefreshRate, ISteamPS3OverlayRenderHost *pRenderHost, void *CellFontLib ) = 0; + + // Call this once a frame when you are ready for the Steam overlay to render (ie, right before flipping buffers, after all your rendering) + virtual void Render() = 0; + + // Call this everytime you read input on PS3. + // + // If this returns true, then the overlay is active and has consumed the input, your game + // should then ignore all the input until BHandleCellPadData once again returns false, which + // will mean the overlay is deactivated. + virtual bool BHandleCellPadData( const CellPadData &padData ) = 0; + + // Call this if you detect no controllers connected or that the XMB is intercepting input + // + // This is important to clear input state for the overlay, so keys left down during XMB activation + // are not continued to be processed. + virtual bool BResetInputState() = 0; +}; + + +#endif // ISTEAMPS3OVERLAYRENDERER_H \ No newline at end of file diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamremotestorage.h b/source/Steamworks_xcode/Steamworks/Include/isteamremotestorage.h new file mode 100644 index 0000000..3ac2871 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamremotestorage.h @@ -0,0 +1,681 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: public interface to user remote file storage in Steam +// +//============================================================================= + +#ifndef ISTEAMREMOTESTORAGE_H +#define ISTEAMREMOTESTORAGE_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + + +//----------------------------------------------------------------------------- +// Purpose: Defines the largest allowed file size. Cloud files cannot be written +// in a single chunk over 100MB (and cannot be over 200MB total.) +//----------------------------------------------------------------------------- +const uint32 k_unMaxCloudFileChunkSize = 100 * 1024 * 1024; + + +//----------------------------------------------------------------------------- +// Purpose: Structure that contains an array of const char * strings and the number of those strings +//----------------------------------------------------------------------------- +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif +struct SteamParamStringArray_t +{ + const char ** m_ppStrings; + int32 m_nNumStrings; +}; +#pragma pack( pop ) + +// A handle to a piece of user generated content +typedef uint64 UGCHandle_t; +typedef uint64 PublishedFileUpdateHandle_t; +typedef uint64 PublishedFileId_t; +const PublishedFileId_t k_PublishedFileIdInvalid = 0; +const UGCHandle_t k_UGCHandleInvalid = 0xffffffffffffffffull; +const PublishedFileUpdateHandle_t k_PublishedFileUpdateHandleInvalid = 0xffffffffffffffffull; + +// Handle for writing to Steam Cloud +typedef uint64 UGCFileWriteStreamHandle_t; +const UGCFileWriteStreamHandle_t k_UGCFileStreamHandleInvalid = 0xffffffffffffffffull; + +const uint32 k_cchPublishedDocumentTitleMax = 128 + 1; +const uint32 k_cchPublishedDocumentDescriptionMax = 8000; +const uint32 k_cchPublishedDocumentChangeDescriptionMax = 8000; +const uint32 k_unEnumeratePublishedFilesMaxResults = 50; +const uint32 k_cchTagListMax = 1024 + 1; +const uint32 k_cchFilenameMax = 260; +const uint32 k_cchPublishedFileURLMax = 256; + + +enum ERemoteStoragePlatform +{ + k_ERemoteStoragePlatformNone = 0, + k_ERemoteStoragePlatformWindows = (1 << 0), + k_ERemoteStoragePlatformOSX = (1 << 1), + k_ERemoteStoragePlatformPS3 = (1 << 2), + k_ERemoteStoragePlatformLinux = (1 << 3), + k_ERemoteStoragePlatformReserved2 = (1 << 4), + + k_ERemoteStoragePlatformAll = 0xffffffff +}; + +enum ERemoteStoragePublishedFileVisibility +{ + k_ERemoteStoragePublishedFileVisibilityPublic = 0, + k_ERemoteStoragePublishedFileVisibilityFriendsOnly = 1, + k_ERemoteStoragePublishedFileVisibilityPrivate = 2, +}; + + +enum EWorkshopFileType +{ + k_EWorkshopFileTypeFirst = 0, + + k_EWorkshopFileTypeCommunity = 0, // normal Workshop item that can be subscribed to + k_EWorkshopFileTypeMicrotransaction = 1, // Workshop item that is meant to be voted on for the purpose of selling in-game + k_EWorkshopFileTypeCollection = 2, // a collection of Workshop or Greenlight items + k_EWorkshopFileTypeArt = 3, // artwork + k_EWorkshopFileTypeVideo = 4, // external video + k_EWorkshopFileTypeScreenshot = 5, // screenshot + k_EWorkshopFileTypeGame = 6, // Greenlight game entry + k_EWorkshopFileTypeSoftware = 7, // Greenlight software entry + k_EWorkshopFileTypeConcept = 8, // Greenlight concept + k_EWorkshopFileTypeWebGuide = 9, // Steam web guide + k_EWorkshopFileTypeIntegratedGuide = 10, // application integrated guide + k_EWorkshopFileTypeMerch = 11, // Workshop merchandise meant to be voted on for the purpose of being sold + k_EWorkshopFileTypeControllerBinding = 12, // Steam Controller bindings + k_EWorkshopFileTypeSteamworksAccessInvite = 13, // internal + k_EWorkshopFileTypeSteamVideo = 14, // Steam video + k_EWorkshopFileTypeGameManagedItem = 15, // managed completely by the game, not the user, and not shown on the web + + // Update k_EWorkshopFileTypeMax if you add values. + k_EWorkshopFileTypeMax = 16 + +}; + +enum EWorkshopVote +{ + k_EWorkshopVoteUnvoted = 0, + k_EWorkshopVoteFor = 1, + k_EWorkshopVoteAgainst = 2, + k_EWorkshopVoteLater = 3, +}; + +enum EWorkshopFileAction +{ + k_EWorkshopFileActionPlayed = 0, + k_EWorkshopFileActionCompleted = 1, +}; + +enum EWorkshopEnumerationType +{ + k_EWorkshopEnumerationTypeRankedByVote = 0, + k_EWorkshopEnumerationTypeRecent = 1, + k_EWorkshopEnumerationTypeTrending = 2, + k_EWorkshopEnumerationTypeFavoritesOfFriends = 3, + k_EWorkshopEnumerationTypeVotedByFriends = 4, + k_EWorkshopEnumerationTypeContentByFriends = 5, + k_EWorkshopEnumerationTypeRecentFromFollowedUsers = 6, +}; + +enum EWorkshopVideoProvider +{ + k_EWorkshopVideoProviderNone = 0, + k_EWorkshopVideoProviderYoutube = 1 +}; + + +enum EUGCReadAction +{ + // Keeps the file handle open unless the last byte is read. You can use this when reading large files (over 100MB) in sequential chunks. + // If the last byte is read, this will behave the same as k_EUGCRead_Close. Otherwise, it behaves the same as k_EUGCRead_ContinueReading. + // This value maintains the same behavior as before the EUGCReadAction parameter was introduced. + k_EUGCRead_ContinueReadingUntilFinished = 0, + + // Keeps the file handle open. Use this when using UGCRead to seek to different parts of the file. + // When you are done seeking around the file, make a final call with k_EUGCRead_Close to close it. + k_EUGCRead_ContinueReading = 1, + + // Frees the file handle. Use this when you're done reading the content. + // To read the file from Steam again you will need to call UGCDownload again. + k_EUGCRead_Close = 2, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing, reading and writing files stored remotely +// and cached locally +//----------------------------------------------------------------------------- +class ISteamRemoteStorage +{ + public: + // NOTE + // + // Filenames are case-insensitive, and will be converted to lowercase automatically. + // So "foo.bar" and "Foo.bar" are the same file, and if you write "Foo.bar" then + // iterate the files, the filename returned will be "foo.bar". + // + + // file operations + virtual bool FileWrite( const char *pchFile, const void *pvData, int32 cubData ) = 0; + virtual int32 FileRead( const char *pchFile, void *pvData, int32 cubDataToRead ) = 0; + + CALL_RESULT( RemoteStorageFileWriteAsyncComplete_t ) + virtual SteamAPICall_t FileWriteAsync( const char *pchFile, const void *pvData, uint32 cubData ) = 0; + + CALL_RESULT( RemoteStorageFileReadAsyncComplete_t ) + virtual SteamAPICall_t FileReadAsync( const char *pchFile, uint32 nOffset, uint32 cubToRead ) = 0; + virtual bool FileReadAsyncComplete( SteamAPICall_t hReadCall, void *pvBuffer, uint32 cubToRead ) = 0; + + virtual bool FileForget( const char *pchFile ) = 0; + virtual bool FileDelete( const char *pchFile ) = 0; + CALL_RESULT( RemoteStorageFileShareResult_t ) + virtual SteamAPICall_t FileShare( const char *pchFile ) = 0; + virtual bool SetSyncPlatforms( const char *pchFile, ERemoteStoragePlatform eRemoteStoragePlatform ) = 0; + + // file operations that cause network IO + virtual UGCFileWriteStreamHandle_t FileWriteStreamOpen( const char *pchFile ) = 0; + virtual bool FileWriteStreamWriteChunk( UGCFileWriteStreamHandle_t writeHandle, const void *pvData, int32 cubData ) = 0; + virtual bool FileWriteStreamClose( UGCFileWriteStreamHandle_t writeHandle ) = 0; + virtual bool FileWriteStreamCancel( UGCFileWriteStreamHandle_t writeHandle ) = 0; + + // file information + virtual bool FileExists( const char *pchFile ) = 0; + virtual bool FilePersisted( const char *pchFile ) = 0; + virtual int32 GetFileSize( const char *pchFile ) = 0; + virtual int64 GetFileTimestamp( const char *pchFile ) = 0; + virtual ERemoteStoragePlatform GetSyncPlatforms( const char *pchFile ) = 0; + + // iteration + virtual int32 GetFileCount() = 0; + virtual const char *GetFileNameAndSize( int iFile, int32 *pnFileSizeInBytes ) = 0; + + // configuration management + virtual bool GetQuota( uint64 *pnTotalBytes, uint64 *puAvailableBytes ) = 0; + virtual bool IsCloudEnabledForAccount() = 0; + virtual bool IsCloudEnabledForApp() = 0; + virtual void SetCloudEnabledForApp( bool bEnabled ) = 0; + + // user generated content + + // Downloads a UGC file. A priority value of 0 will download the file immediately, + // otherwise it will wait to download the file until all downloads with a lower priority + // value are completed. Downloads with equal priority will occur simultaneously. + CALL_RESULT( RemoteStorageDownloadUGCResult_t ) + virtual SteamAPICall_t UGCDownload( UGCHandle_t hContent, uint32 unPriority ) = 0; + + // Gets the amount of data downloaded so far for a piece of content. pnBytesExpected can be 0 if function returns false + // or if the transfer hasn't started yet, so be careful to check for that before dividing to get a percentage + virtual bool GetUGCDownloadProgress( UGCHandle_t hContent, int32 *pnBytesDownloaded, int32 *pnBytesExpected ) = 0; + + // Gets metadata for a file after it has been downloaded. This is the same metadata given in the RemoteStorageDownloadUGCResult_t call result + virtual bool GetUGCDetails( UGCHandle_t hContent, AppId_t *pnAppID, OUT_STRING() char **ppchName, int32 *pnFileSizeInBytes, OUT_STRUCT() CSteamID *pSteamIDOwner ) = 0; + + // After download, gets the content of the file. + // Small files can be read all at once by calling this function with an offset of 0 and cubDataToRead equal to the size of the file. + // Larger files can be read in chunks to reduce memory usage (since both sides of the IPC client and the game itself must allocate + // enough memory for each chunk). Once the last byte is read, the file is implicitly closed and further calls to UGCRead will fail + // unless UGCDownload is called again. + // For especially large files (anything over 100MB) it is a requirement that the file is read in chunks. + virtual int32 UGCRead( UGCHandle_t hContent, void *pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction ) = 0; + + // Functions to iterate through UGC that has finished downloading but has not yet been read via UGCRead() + virtual int32 GetCachedUGCCount() = 0; + virtual UGCHandle_t GetCachedUGCHandle( int32 iCachedContent ) = 0; + + // The following functions are only necessary on the Playstation 3. On PC & Mac, the Steam client will handle these operations for you + // On Playstation 3, the game controls which files are stored in the cloud, via FilePersist, FileFetch, and FileForget. + +#if defined(_PS3) || defined(_SERVER) + // Connect to Steam and get a list of files in the Cloud - results in a RemoteStorageAppSyncStatusCheck_t callback + virtual void GetFileListFromServer() = 0; + // Indicate this file should be downloaded in the next sync + virtual bool FileFetch( const char *pchFile ) = 0; + // Indicate this file should be persisted in the next sync + virtual bool FilePersist( const char *pchFile ) = 0; + // Pull any requested files down from the Cloud - results in a RemoteStorageAppSyncedClient_t callback + virtual bool SynchronizeToClient() = 0; + // Upload any requested files to the Cloud - results in a RemoteStorageAppSyncedServer_t callback + virtual bool SynchronizeToServer() = 0; + // Reset any fetch/persist/etc requests + virtual bool ResetFileRequestState() = 0; +#endif + + // publishing UGC + CALL_RESULT( RemoteStoragePublishFileProgress_t ) + virtual SteamAPICall_t PublishWorkshopFile( const char *pchFile, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags, EWorkshopFileType eWorkshopFileType ) = 0; + virtual PublishedFileUpdateHandle_t CreatePublishedFileUpdateRequest( PublishedFileId_t unPublishedFileId ) = 0; + virtual bool UpdatePublishedFileFile( PublishedFileUpdateHandle_t updateHandle, const char *pchFile ) = 0; + virtual bool UpdatePublishedFilePreviewFile( PublishedFileUpdateHandle_t updateHandle, const char *pchPreviewFile ) = 0; + virtual bool UpdatePublishedFileTitle( PublishedFileUpdateHandle_t updateHandle, const char *pchTitle ) = 0; + virtual bool UpdatePublishedFileDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchDescription ) = 0; + virtual bool UpdatePublishedFileVisibility( PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility ) = 0; + virtual bool UpdatePublishedFileTags( PublishedFileUpdateHandle_t updateHandle, SteamParamStringArray_t *pTags ) = 0; + CALL_RESULT( RemoteStorageUpdatePublishedFileResult_t ) + virtual SteamAPICall_t CommitPublishedFileUpdate( PublishedFileUpdateHandle_t updateHandle ) = 0; + // Gets published file details for the given publishedfileid. If unMaxSecondsOld is greater than 0, + // cached data may be returned, depending on how long ago it was cached. A value of 0 will force a refresh. + // A value of k_WorkshopForceLoadPublishedFileDetailsFromCache will use cached data if it exists, no matter how old it is. + CALL_RESULT( RemoteStorageGetPublishedFileDetailsResult_t ) + virtual SteamAPICall_t GetPublishedFileDetails( PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld ) = 0; + CALL_RESULT( RemoteStorageDeletePublishedFileResult_t ) + virtual SteamAPICall_t DeletePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + // enumerate the files that the current user published with this app + CALL_RESULT( RemoteStorageEnumerateUserPublishedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserPublishedFiles( uint32 unStartIndex ) = 0; + CALL_RESULT( RemoteStorageSubscribePublishedFileResult_t ) + virtual SteamAPICall_t SubscribePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + CALL_RESULT( RemoteStorageEnumerateUserSubscribedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserSubscribedFiles( uint32 unStartIndex ) = 0; + CALL_RESULT( RemoteStorageUnsubscribePublishedFileResult_t ) + virtual SteamAPICall_t UnsubscribePublishedFile( PublishedFileId_t unPublishedFileId ) = 0; + virtual bool UpdatePublishedFileSetChangeDescription( PublishedFileUpdateHandle_t updateHandle, const char *pchChangeDescription ) = 0; + CALL_RESULT( RemoteStorageGetPublishedItemVoteDetailsResult_t ) + virtual SteamAPICall_t GetPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId ) = 0; + CALL_RESULT( RemoteStorageUpdateUserPublishedItemVoteResult_t ) + virtual SteamAPICall_t UpdateUserPublishedItemVote( PublishedFileId_t unPublishedFileId, bool bVoteUp ) = 0; + CALL_RESULT( RemoteStorageGetPublishedItemVoteDetailsResult_t ) + virtual SteamAPICall_t GetUserPublishedItemVoteDetails( PublishedFileId_t unPublishedFileId ) = 0; + CALL_RESULT( RemoteStorageEnumerateUserPublishedFilesResult_t ) + virtual SteamAPICall_t EnumerateUserSharedWorkshopFiles( CSteamID steamId, uint32 unStartIndex, SteamParamStringArray_t *pRequiredTags, SteamParamStringArray_t *pExcludedTags ) = 0; + CALL_RESULT( RemoteStoragePublishFileProgress_t ) + virtual SteamAPICall_t PublishVideo( EWorkshopVideoProvider eVideoProvider, const char *pchVideoAccount, const char *pchVideoIdentifier, const char *pchPreviewFile, AppId_t nConsumerAppId, const char *pchTitle, const char *pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, SteamParamStringArray_t *pTags ) = 0; + CALL_RESULT( RemoteStorageSetUserPublishedFileActionResult_t ) + virtual SteamAPICall_t SetUserPublishedFileAction( PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction ) = 0; + CALL_RESULT( RemoteStorageEnumeratePublishedFilesByUserActionResult_t ) + virtual SteamAPICall_t EnumeratePublishedFilesByUserAction( EWorkshopFileAction eAction, uint32 unStartIndex ) = 0; + // this method enumerates the public view of workshop files + CALL_RESULT( RemoteStorageEnumerateWorkshopFilesResult_t ) + virtual SteamAPICall_t EnumeratePublishedWorkshopFiles( EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, SteamParamStringArray_t *pTags, SteamParamStringArray_t *pUserTags ) = 0; + + CALL_RESULT( RemoteStorageDownloadUGCResult_t ) + virtual SteamAPICall_t UGCDownloadToLocation( UGCHandle_t hContent, const char *pchLocation, uint32 unPriority ) = 0; +}; + +#define STEAMREMOTESTORAGE_INTERFACE_VERSION "STEAMREMOTESTORAGE_INTERFACE_VERSION014" + + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: sent when the local file cache is fully synced with the server for an app +// That means that an application can be started and has all latest files +//----------------------------------------------------------------------------- +struct RemoteStorageAppSyncedClient_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 1 }; + AppId_t m_nAppID; + EResult m_eResult; + int m_unNumDownloads; +}; + +//----------------------------------------------------------------------------- +// Purpose: sent when the server is fully synced with the local file cache for an app +// That means that we can shutdown Steam and our data is stored on the server +//----------------------------------------------------------------------------- +struct RemoteStorageAppSyncedServer_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 2 }; + AppId_t m_nAppID; + EResult m_eResult; + int m_unNumUploads; +}; + +//----------------------------------------------------------------------------- +// Purpose: Status of up and downloads during a sync session +// +//----------------------------------------------------------------------------- +struct RemoteStorageAppSyncProgress_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 3 }; + char m_rgchCurrentFile[k_cchFilenameMax]; // Current file being transferred + AppId_t m_nAppID; // App this info relates to + uint32 m_uBytesTransferredThisChunk; // Bytes transferred this chunk + double m_dAppPercentComplete; // Percent complete that this app's transfers are + bool m_bUploading; // if false, downloading +}; + +// +// IMPORTANT! k_iClientRemoteStorageCallbacks + 4 is used, see iclientremotestorage.h +// + + +//----------------------------------------------------------------------------- +// Purpose: Sent after we've determined the list of files that are out of sync +// with the server. +//----------------------------------------------------------------------------- +struct RemoteStorageAppSyncStatusCheck_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 5 }; + AppId_t m_nAppID; + EResult m_eResult; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to FileShare() +//----------------------------------------------------------------------------- +struct RemoteStorageFileShareResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 7 }; + EResult m_eResult; // The result of the operation + UGCHandle_t m_hFile; // The handle that can be shared with users and features + char m_rgchFilename[k_cchFilenameMax]; // The name of the file that was shared +}; + + +// k_iClientRemoteStorageCallbacks + 8 is deprecated! Do not reuse + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to PublishFile() +//----------------------------------------------------------------------------- +struct RemoteStoragePublishFileResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 9 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to DeletePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageDeletePublishedFileResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 11 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to EnumerateUserPublishedFiles() +//----------------------------------------------------------------------------- +struct RemoteStorageEnumerateUserPublishedFilesResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 12 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to SubscribePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageSubscribePublishedFileResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 13 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to EnumerateSubscribePublishedFiles() +//----------------------------------------------------------------------------- +struct RemoteStorageEnumerateUserSubscribedFilesResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 14 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + uint32 m_rgRTimeSubscribed[ k_unEnumeratePublishedFilesMaxResults ]; +}; + +#if defined(VALVE_CALLBACK_PACK_SMALL) + VALVE_COMPILE_TIME_ASSERT( sizeof( RemoteStorageEnumerateUserSubscribedFilesResult_t ) == (1 + 1 + 1 + 50 + 100) * 4 ); +#elif defined(VALVE_CALLBACK_PACK_LARGE) + VALVE_COMPILE_TIME_ASSERT( sizeof( RemoteStorageEnumerateUserSubscribedFilesResult_t ) == (1 + 1 + 1 + 50 + 100) * 4 + 4 ); +#else +#warning You must first include isteamclient.h +#endif + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UnsubscribePublishedFile() +//----------------------------------------------------------------------------- +struct RemoteStorageUnsubscribePublishedFileResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 15 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to CommitPublishedFileUpdate() +//----------------------------------------------------------------------------- +struct RemoteStorageUpdatePublishedFileResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 16 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UGCDownload() +//----------------------------------------------------------------------------- +struct RemoteStorageDownloadUGCResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 17 }; + EResult m_eResult; // The result of the operation. + UGCHandle_t m_hFile; // The handle to the file that was attempted to be downloaded. + AppId_t m_nAppID; // ID of the app that created this file. + int32 m_nSizeInBytes; // The size of the file that was downloaded, in bytes. + char m_pchFileName[k_cchFilenameMax]; // The name of the file that was downloaded. + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetPublishedFileDetails() +//----------------------------------------------------------------------------- +struct RemoteStorageGetPublishedFileDetailsResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 18 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + ERemoteStoragePublishedFileVisibility m_eVisibility; + bool m_bBanned; + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_pchFileName[k_cchFilenameMax]; // The name of the primary file + int32 m_nFileSize; // Size of the primary file + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + EWorkshopFileType m_eFileType; // Type of the file + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop +}; + + +struct RemoteStorageEnumerateWorkshopFilesResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 19 }; + EResult m_eResult; + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + float m_rgScore[ k_unEnumeratePublishedFilesMaxResults ]; + AppId_t m_nAppId; + uint32 m_unStartIndex; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of GetPublishedItemVoteDetails +//----------------------------------------------------------------------------- +struct RemoteStorageGetPublishedItemVoteDetailsResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 20 }; + EResult m_eResult; + PublishedFileId_t m_unPublishedFileId; + int32 m_nVotesFor; + int32 m_nVotesAgainst; + int32 m_nReports; + float m_fScore; +}; + + +//----------------------------------------------------------------------------- +// Purpose: User subscribed to a file for the app (from within the app or on the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileSubscribed_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 21 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + +//----------------------------------------------------------------------------- +// Purpose: User unsubscribed from a file for the app (from within the app or on the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileUnsubscribed_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 22 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Published file that a user owns was deleted (from within the app or the web) +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileDeleted_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 23 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to UpdateUserPublishedItemVote() +//----------------------------------------------------------------------------- +struct RemoteStorageUpdateUserPublishedItemVoteResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 24 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetUserPublishedItemVoteDetails() +//----------------------------------------------------------------------------- +struct RemoteStorageUserVoteDetails_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 25 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id + EWorkshopVote m_eVote; // what the user voted +}; + +struct RemoteStorageEnumerateUserSharedWorkshopFilesResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 26 }; + EResult m_eResult; // The result of the operation. + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; +}; + +struct RemoteStorageSetUserPublishedFileActionResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 27 }; + EResult m_eResult; // The result of the operation. + PublishedFileId_t m_nPublishedFileId; // The published file id + EWorkshopFileAction m_eAction; // the action that was attempted +}; + +struct RemoteStorageEnumeratePublishedFilesByUserActionResult_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 28 }; + EResult m_eResult; // The result of the operation. + EWorkshopFileAction m_eAction; // the action that was filtered on + int32 m_nResultsReturned; + int32 m_nTotalResultCount; + PublishedFileId_t m_rgPublishedFileId[ k_unEnumeratePublishedFilesMaxResults ]; + uint32 m_rgRTimeUpdated[ k_unEnumeratePublishedFilesMaxResults ]; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Called periodically while a PublishWorkshopFile is in progress +//----------------------------------------------------------------------------- +struct RemoteStoragePublishFileProgress_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 29 }; + double m_dPercentFile; + bool m_bPreview; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Called when the content for a published file is updated +//----------------------------------------------------------------------------- +struct RemoteStoragePublishedFileUpdated_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 30 }; + PublishedFileId_t m_nPublishedFileId; // The published file id + AppId_t m_nAppID; // ID of the app that will consume this file. + uint64 m_ulUnused; // not used anymore +}; + +//----------------------------------------------------------------------------- +// Purpose: Called when a FileWriteAsync completes +//----------------------------------------------------------------------------- +struct RemoteStorageFileWriteAsyncComplete_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 31 }; + EResult m_eResult; // result +}; + +//----------------------------------------------------------------------------- +// Purpose: Called when a FileReadAsync completes +//----------------------------------------------------------------------------- +struct RemoteStorageFileReadAsyncComplete_t +{ + enum { k_iCallback = k_iClientRemoteStorageCallbacks + 32 }; + SteamAPICall_t m_hFileReadAsync; // call handle of the async read which was made + EResult m_eResult; // result + uint32 m_nOffset; // offset in the file this read was at + uint32 m_cubRead; // amount read - will the <= the amount requested +}; + +#pragma pack( pop ) + + +#endif // ISTEAMREMOTESTORAGE_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamscreenshots.h b/source/Steamworks_xcode/Steamworks/Include/isteamscreenshots.h new file mode 100644 index 0000000..6095705 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamscreenshots.h @@ -0,0 +1,116 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: public interface to user remote file storage in Steam +// +//============================================================================= + +#ifndef ISTEAMSCREENSHOTS_H +#define ISTEAMSCREENSHOTS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +const uint32 k_nScreenshotMaxTaggedUsers = 32; +const uint32 k_nScreenshotMaxTaggedPublishedFiles = 32; +const int k_cubUFSTagTypeMax = 255; +const int k_cubUFSTagValueMax = 255; + +// Required with of a thumbnail provided to AddScreenshotToLibrary. If you do not provide a thumbnail +// one will be generated. +const int k_ScreenshotThumbWidth = 200; + +// Handle is valid for the lifetime of your process and no longer +typedef uint32 ScreenshotHandle; +#define INVALID_SCREENSHOT_HANDLE 0 + +enum EVRScreenshotType +{ + k_EVRScreenshotType_None = 0, + k_EVRScreenshotType_Mono = 1, + k_EVRScreenshotType_Stereo = 2, + k_EVRScreenshotType_MonoCubemap = 3, + k_EVRScreenshotType_MonoPanorama = 4, + k_EVRScreenshotType_StereoPanorama = 5 +}; + +//----------------------------------------------------------------------------- +// Purpose: Functions for adding screenshots to the user's screenshot library +//----------------------------------------------------------------------------- +class ISteamScreenshots +{ +public: + // Writes a screenshot to the user's screenshot library given the raw image data, which must be in RGB format. + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + virtual ScreenshotHandle WriteScreenshot( void *pubRGB, uint32 cubRGB, int nWidth, int nHeight ) = 0; + + // Adds a screenshot to the user's screenshot library from disk. If a thumbnail is provided, it must be 200 pixels wide and the same aspect ratio + // as the screenshot, otherwise a thumbnail will be generated if the user uploads the screenshot. The screenshots must be in either JPEG or TGA format. + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + // JPEG, TGA, and PNG formats are supported. + virtual ScreenshotHandle AddScreenshotToLibrary( const char *pchFilename, const char *pchThumbnailFilename, int nWidth, int nHeight ) = 0; + + // Causes the Steam overlay to take a screenshot. If screenshots are being hooked by the game then a ScreenshotRequested_t callback is sent back to the game instead. + virtual void TriggerScreenshot() = 0; + + // Toggles whether the overlay handles screenshots when the user presses the screenshot hotkey, or the game handles them. If the game is hooking screenshots, + // then the ScreenshotRequested_t callback will be sent if the user presses the hotkey, and the game is expected to call WriteScreenshot or AddScreenshotToLibrary + // in response. + virtual void HookScreenshots( bool bHook ) = 0; + + // Sets metadata about a screenshot's location (for example, the name of the map) + virtual bool SetLocation( ScreenshotHandle hScreenshot, const char *pchLocation ) = 0; + + // Tags a user as being visible in the screenshot + virtual bool TagUser( ScreenshotHandle hScreenshot, CSteamID steamID ) = 0; + + // Tags a published file as being visible in the screenshot + virtual bool TagPublishedFile( ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID ) = 0; + + // Returns true if the app has hooked the screenshot + virtual bool IsScreenshotsHooked() = 0; + + // Adds a VR screenshot to the user's screenshot library from disk in the supported type. + // pchFilename should be the normal 2D image used in the library view + // pchVRFilename should contain the image that matches the correct type + // The return value is a handle that is valid for the duration of the game process and can be used to apply tags. + // JPEG, TGA, and PNG formats are supported. + virtual ScreenshotHandle AddVRScreenshotToLibrary( EVRScreenshotType eType, const char *pchFilename, const char *pchVRFilename ) = 0; +}; + +#define STEAMSCREENSHOTS_INTERFACE_VERSION "STEAMSCREENSHOTS_INTERFACE_VERSION003" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif +//----------------------------------------------------------------------------- +// Purpose: Screenshot successfully written or otherwise added to the library +// and can now be tagged +//----------------------------------------------------------------------------- +struct ScreenshotReady_t +{ + enum { k_iCallback = k_iSteamScreenshotsCallbacks + 1 }; + ScreenshotHandle m_hLocal; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: Screenshot has been requested by the user. Only sent if +// HookScreenshots() has been called, in which case Steam will not take +// the screenshot itself. +//----------------------------------------------------------------------------- +struct ScreenshotRequested_t +{ + enum { k_iCallback = k_iSteamScreenshotsCallbacks + 2 }; +}; + +#pragma pack( pop ) + +#endif // ISTEAMSCREENSHOTS_H + diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamugc.h b/source/Steamworks_xcode/Steamworks/Include/isteamugc.h new file mode 100644 index 0000000..4a7d296 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamugc.h @@ -0,0 +1,545 @@ +//====== Copyright 1996-2013, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to steam ugc +// +//============================================================================= + +#ifndef ISTEAMUGC_H +#define ISTEAMUGC_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + +typedef uint64 UGCQueryHandle_t; +typedef uint64 UGCUpdateHandle_t; + + +const UGCQueryHandle_t k_UGCQueryHandleInvalid = 0xffffffffffffffffull; +const UGCUpdateHandle_t k_UGCUpdateHandleInvalid = 0xffffffffffffffffull; + + +// Matching UGC types for queries +enum EUGCMatchingUGCType +{ + k_EUGCMatchingUGCType_Items = 0, // both mtx items and ready-to-use items + k_EUGCMatchingUGCType_Items_Mtx = 1, + k_EUGCMatchingUGCType_Items_ReadyToUse = 2, + k_EUGCMatchingUGCType_Collections = 3, + k_EUGCMatchingUGCType_Artwork = 4, + k_EUGCMatchingUGCType_Videos = 5, + k_EUGCMatchingUGCType_Screenshots = 6, + k_EUGCMatchingUGCType_AllGuides = 7, // both web guides and integrated guides + k_EUGCMatchingUGCType_WebGuides = 8, + k_EUGCMatchingUGCType_IntegratedGuides = 9, + k_EUGCMatchingUGCType_UsableInGame = 10, // ready-to-use items and integrated guides + k_EUGCMatchingUGCType_ControllerBindings = 11, + k_EUGCMatchingUGCType_GameManagedItems = 12, // game managed items (not managed by users) + k_EUGCMatchingUGCType_All = ~0, // return everything +}; + +// Different lists of published UGC for a user. +// If the current logged in user is different than the specified user, then some options may not be allowed. +enum EUserUGCList +{ + k_EUserUGCList_Published, + k_EUserUGCList_VotedOn, + k_EUserUGCList_VotedUp, + k_EUserUGCList_VotedDown, + k_EUserUGCList_WillVoteLater, + k_EUserUGCList_Favorited, + k_EUserUGCList_Subscribed, + k_EUserUGCList_UsedOrPlayed, + k_EUserUGCList_Followed, +}; + +// Sort order for user published UGC lists (defaults to creation order descending) +enum EUserUGCListSortOrder +{ + k_EUserUGCListSortOrder_CreationOrderDesc, + k_EUserUGCListSortOrder_CreationOrderAsc, + k_EUserUGCListSortOrder_TitleAsc, + k_EUserUGCListSortOrder_LastUpdatedDesc, + k_EUserUGCListSortOrder_SubscriptionDateDesc, + k_EUserUGCListSortOrder_VoteScoreDesc, + k_EUserUGCListSortOrder_ForModeration, +}; + +// Combination of sorting and filtering for queries across all UGC +enum EUGCQuery +{ + k_EUGCQuery_RankedByVote = 0, + k_EUGCQuery_RankedByPublicationDate = 1, + k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate = 2, + k_EUGCQuery_RankedByTrend = 3, + k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate = 4, + k_EUGCQuery_CreatedByFriendsRankedByPublicationDate = 5, + k_EUGCQuery_RankedByNumTimesReported = 6, + k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate = 7, + k_EUGCQuery_NotYetRated = 8, + k_EUGCQuery_RankedByTotalVotesAsc = 9, + k_EUGCQuery_RankedByVotesUp = 10, + k_EUGCQuery_RankedByTextSearch = 11, + k_EUGCQuery_RankedByTotalUniqueSubscriptions = 12, + k_EUGCQuery_RankedByPlaytimeTrend = 13, + k_EUGCQuery_RankedByTotalPlaytime = 14, + k_EUGCQuery_RankedByAveragePlaytimeTrend = 15, + k_EUGCQuery_RankedByLifetimeAveragePlaytime = 16, + k_EUGCQuery_RankedByPlaytimeSessionsTrend = 17, + k_EUGCQuery_RankedByLifetimePlaytimeSessions = 18, +}; + +enum EItemUpdateStatus +{ + k_EItemUpdateStatusInvalid = 0, // The item update handle was invalid, job might be finished, listen too SubmitItemUpdateResult_t + k_EItemUpdateStatusPreparingConfig = 1, // The item update is processing configuration data + k_EItemUpdateStatusPreparingContent = 2, // The item update is reading and processing content files + k_EItemUpdateStatusUploadingContent = 3, // The item update is uploading content changes to Steam + k_EItemUpdateStatusUploadingPreviewFile = 4, // The item update is uploading new preview file image + k_EItemUpdateStatusCommittingChanges = 5 // The item update is committing all changes +}; + +enum EItemState +{ + k_EItemStateNone = 0, // item not tracked on client + k_EItemStateSubscribed = 1, // current user is subscribed to this item. Not just cached. + k_EItemStateLegacyItem = 2, // item was created with ISteamRemoteStorage + k_EItemStateInstalled = 4, // item is installed and usable (but maybe out of date) + k_EItemStateNeedsUpdate = 8, // items needs an update. Either because it's not installed yet or creator updated content + k_EItemStateDownloading = 16, // item update is currently downloading + k_EItemStateDownloadPending = 32, // DownloadItem() was called for this item, content isn't available until DownloadItemResult_t is fired +}; + +enum EItemStatistic +{ + k_EItemStatistic_NumSubscriptions = 0, + k_EItemStatistic_NumFavorites = 1, + k_EItemStatistic_NumFollowers = 2, + k_EItemStatistic_NumUniqueSubscriptions = 3, + k_EItemStatistic_NumUniqueFavorites = 4, + k_EItemStatistic_NumUniqueFollowers = 5, + k_EItemStatistic_NumUniqueWebsiteViews = 6, + k_EItemStatistic_ReportScore = 7, + k_EItemStatistic_NumSecondsPlayed = 8, + k_EItemStatistic_NumPlaytimeSessions = 9, + k_EItemStatistic_NumComments = 10, + k_EItemStatistic_NumSecondsPlayedDuringTimePeriod = 11, + k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod = 12, +}; + +enum EItemPreviewType +{ + k_EItemPreviewType_Image = 0, // standard image file expected (e.g. jpg, png, gif, etc.) + k_EItemPreviewType_YouTubeVideo = 1, // video id is stored + k_EItemPreviewType_Sketchfab = 2, // model id is stored + k_EItemPreviewType_EnvironmentMap_HorizontalCross = 3, // standard image file expected - cube map in the layout + // +---+---+-------+ + // | |Up | | + // +---+---+---+---+ + // | L | F | R | B | + // +---+---+---+---+ + // | |Dn | | + // +---+---+---+---+ + k_EItemPreviewType_EnvironmentMap_LatLong = 4, // standard image file expected + k_EItemPreviewType_ReservedMax = 255, // you can specify your own types above this value +}; + +const uint32 kNumUGCResultsPerPage = 50; +const uint32 k_cchDeveloperMetadataMax = 5000; + +// Details for a single published file/UGC +struct SteamUGCDetails_t +{ + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; // The result of the operation. + EWorkshopFileType m_eFileType; // Type of the file + AppId_t m_nCreatorAppID; // ID of the app that created this file. + AppId_t m_nConsumerAppID; // ID of the app that will consume this file. + char m_rgchTitle[k_cchPublishedDocumentTitleMax]; // title of document + char m_rgchDescription[k_cchPublishedDocumentDescriptionMax]; // description of document + uint64 m_ulSteamIDOwner; // Steam ID of the user who created this content. + uint32 m_rtimeCreated; // time when the published file was created + uint32 m_rtimeUpdated; // time when the published file was last updated + uint32 m_rtimeAddedToUserList; // time when the user added the published file to their list (not always applicable) + ERemoteStoragePublishedFileVisibility m_eVisibility; // visibility + bool m_bBanned; // whether the file was banned + bool m_bAcceptedForUse; // developer has specifically flagged this item as accepted in the Workshop + bool m_bTagsTruncated; // whether the list of tags was too long to be returned in the provided buffer + char m_rgchTags[k_cchTagListMax]; // comma separated list of all tags associated with this file + // file/url information + UGCHandle_t m_hFile; // The handle of the primary file + UGCHandle_t m_hPreviewFile; // The handle of the preview file + char m_pchFileName[k_cchFilenameMax]; // The cloud filename of the primary file + int32 m_nFileSize; // Size of the primary file + int32 m_nPreviewFileSize; // Size of the preview file + char m_rgchURL[k_cchPublishedFileURLMax]; // URL (for a video or a website) + // voting information + uint32 m_unVotesUp; // number of votes up + uint32 m_unVotesDown; // number of votes down + float m_flScore; // calculated score + // collection details + uint32 m_unNumChildren; +}; + +//----------------------------------------------------------------------------- +// Purpose: Steam UGC support API +//----------------------------------------------------------------------------- +class ISteamUGC +{ +public: + + // Query UGC associated with a user. Creator app id or consumer app id must be valid and be set to the current running app. unPage should start at 1. + virtual UGCQueryHandle_t CreateQueryUserUGCRequest( AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) = 0; + + // Query for all matching UGC. Creator app id or consumer app id must be valid and be set to the current running app. unPage should start at 1. + virtual UGCQueryHandle_t CreateQueryAllUGCRequest( EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage ) = 0; + + // Query for the details of the given published file ids (the RequestUGCDetails call is deprecated and replaced with this) + virtual UGCQueryHandle_t CreateQueryUGCDetailsRequest( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + + // Send the query to Steam + CALL_RESULT( SteamUGCQueryCompleted_t ) + virtual SteamAPICall_t SendQueryUGCRequest( UGCQueryHandle_t handle ) = 0; + + // Retrieve an individual result after receiving the callback for querying UGC + virtual bool GetQueryUGCResult( UGCQueryHandle_t handle, uint32 index, SteamUGCDetails_t *pDetails ) = 0; + virtual bool GetQueryUGCPreviewURL( UGCQueryHandle_t handle, uint32 index, OUT_STRING_COUNT(cchURLSize) char *pchURL, uint32 cchURLSize ) = 0; + virtual bool GetQueryUGCMetadata( UGCQueryHandle_t handle, uint32 index, OUT_STRING_COUNT(cchMetadatasize) char *pchMetadata, uint32 cchMetadatasize ) = 0; + virtual bool GetQueryUGCChildren( UGCQueryHandle_t handle, uint32 index, PublishedFileId_t* pvecPublishedFileID, uint32 cMaxEntries ) = 0; + virtual bool GetQueryUGCStatistic( UGCQueryHandle_t handle, uint32 index, EItemStatistic eStatType, uint64 *pStatValue ) = 0; + virtual uint32 GetQueryUGCNumAdditionalPreviews( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCAdditionalPreview( UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, OUT_STRING_COUNT(cchURLSize) char *pchURLOrVideoID, uint32 cchURLSize, OUT_STRING_COUNT(cchURLSize) char *pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType *pPreviewType ) = 0; + virtual uint32 GetQueryUGCNumKeyValueTags( UGCQueryHandle_t handle, uint32 index ) = 0; + virtual bool GetQueryUGCKeyValueTag( UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, OUT_STRING_COUNT(cchKeySize) char *pchKey, uint32 cchKeySize, OUT_STRING_COUNT(cchValueSize) char *pchValue, uint32 cchValueSize ) = 0; + + // Release the request to free up memory, after retrieving results + virtual bool ReleaseQueryUGCRequest( UGCQueryHandle_t handle ) = 0; + + // Options to set for querying UGC + virtual bool AddRequiredTag( UGCQueryHandle_t handle, const char *pTagName ) = 0; + virtual bool AddExcludedTag( UGCQueryHandle_t handle, const char *pTagName ) = 0; + virtual bool SetReturnOnlyIDs( UGCQueryHandle_t handle, bool bReturnOnlyIDs ) = 0; + virtual bool SetReturnKeyValueTags( UGCQueryHandle_t handle, bool bReturnKeyValueTags ) = 0; + virtual bool SetReturnLongDescription( UGCQueryHandle_t handle, bool bReturnLongDescription ) = 0; + virtual bool SetReturnMetadata( UGCQueryHandle_t handle, bool bReturnMetadata ) = 0; + virtual bool SetReturnChildren( UGCQueryHandle_t handle, bool bReturnChildren ) = 0; + virtual bool SetReturnAdditionalPreviews( UGCQueryHandle_t handle, bool bReturnAdditionalPreviews ) = 0; + virtual bool SetReturnTotalOnly( UGCQueryHandle_t handle, bool bReturnTotalOnly ) = 0; + virtual bool SetReturnPlaytimeStats( UGCQueryHandle_t handle, uint32 unDays ) = 0; + virtual bool SetLanguage( UGCQueryHandle_t handle, const char *pchLanguage ) = 0; + virtual bool SetAllowCachedResponse( UGCQueryHandle_t handle, uint32 unMaxAgeSeconds ) = 0; + + // Options only for querying user UGC + virtual bool SetCloudFileNameFilter( UGCQueryHandle_t handle, const char *pMatchCloudFileName ) = 0; + + // Options only for querying all UGC + virtual bool SetMatchAnyTag( UGCQueryHandle_t handle, bool bMatchAnyTag ) = 0; + virtual bool SetSearchText( UGCQueryHandle_t handle, const char *pSearchText ) = 0; + virtual bool SetRankedByTrendDays( UGCQueryHandle_t handle, uint32 unDays ) = 0; + virtual bool AddRequiredKeyValueTag( UGCQueryHandle_t handle, const char *pKey, const char *pValue ) = 0; + + // DEPRECATED - Use CreateQueryUGCDetailsRequest call above instead! + virtual SteamAPICall_t RequestUGCDetails( PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds ) = 0; + + // Steam Workshop Creator API + CALL_RESULT( CreateItemResult_t ) + virtual SteamAPICall_t CreateItem( AppId_t nConsumerAppId, EWorkshopFileType eFileType ) = 0; // create new item for this app with no content attached yet + + virtual UGCUpdateHandle_t StartItemUpdate( AppId_t nConsumerAppId, PublishedFileId_t nPublishedFileID ) = 0; // start an UGC item update. Set changed properties before commiting update with CommitItemUpdate() + + virtual bool SetItemTitle( UGCUpdateHandle_t handle, const char *pchTitle ) = 0; // change the title of an UGC item + virtual bool SetItemDescription( UGCUpdateHandle_t handle, const char *pchDescription ) = 0; // change the description of an UGC item + virtual bool SetItemUpdateLanguage( UGCUpdateHandle_t handle, const char *pchLanguage ) = 0; // specify the language of the title or description that will be set + virtual bool SetItemMetadata( UGCUpdateHandle_t handle, const char *pchMetaData ) = 0; // change the metadata of an UGC item (max = k_cchDeveloperMetadataMax) + virtual bool SetItemVisibility( UGCUpdateHandle_t handle, ERemoteStoragePublishedFileVisibility eVisibility ) = 0; // change the visibility of an UGC item + virtual bool SetItemTags( UGCUpdateHandle_t updateHandle, const SteamParamStringArray_t *pTags ) = 0; // change the tags of an UGC item + virtual bool SetItemContent( UGCUpdateHandle_t handle, const char *pszContentFolder ) = 0; // update item content from this local folder + virtual bool SetItemPreview( UGCUpdateHandle_t handle, const char *pszPreviewFile ) = 0; // change preview image file for this item. pszPreviewFile points to local image file, which must be under 1MB in size + virtual bool RemoveItemKeyValueTags( UGCUpdateHandle_t handle, const char *pchKey ) = 0; // remove any existing key-value tags with the specified key + virtual bool AddItemKeyValueTag( UGCUpdateHandle_t handle, const char *pchKey, const char *pchValue ) = 0; // add new key-value tags for the item. Note that there can be multiple values for a tag. + virtual bool AddItemPreviewFile( UGCUpdateHandle_t handle, const char *pszPreviewFile, EItemPreviewType type ) = 0; // add preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size + virtual bool AddItemPreviewVideo( UGCUpdateHandle_t handle, const char *pszVideoID ) = 0; // add preview video for this item + virtual bool UpdateItemPreviewFile( UGCUpdateHandle_t handle, uint32 index, const char *pszPreviewFile ) = 0; // updates an existing preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size + virtual bool UpdateItemPreviewVideo( UGCUpdateHandle_t handle, uint32 index, const char *pszVideoID ) = 0; // updates an existing preview video for this item + virtual bool RemoveItemPreview( UGCUpdateHandle_t handle, uint32 index ) = 0; // remove a preview by index starting at 0 (previews are sorted) + + CALL_RESULT( SubmitItemUpdateResult_t ) + virtual SteamAPICall_t SubmitItemUpdate( UGCUpdateHandle_t handle, const char *pchChangeNote ) = 0; // commit update process started with StartItemUpdate() + virtual EItemUpdateStatus GetItemUpdateProgress( UGCUpdateHandle_t handle, uint64 *punBytesProcessed, uint64* punBytesTotal ) = 0; + + // Steam Workshop Consumer API + CALL_RESULT( SetUserItemVoteResult_t ) + virtual SteamAPICall_t SetUserItemVote( PublishedFileId_t nPublishedFileID, bool bVoteUp ) = 0; + CALL_RESULT( GetUserItemVoteResult_t ) + virtual SteamAPICall_t GetUserItemVote( PublishedFileId_t nPublishedFileID ) = 0; + CALL_RESULT( UserFavoriteItemsListChanged_t ) + virtual SteamAPICall_t AddItemToFavorites( AppId_t nAppId, PublishedFileId_t nPublishedFileID ) = 0; + CALL_RESULT( UserFavoriteItemsListChanged_t ) + virtual SteamAPICall_t RemoveItemFromFavorites( AppId_t nAppId, PublishedFileId_t nPublishedFileID ) = 0; + CALL_RESULT( RemoteStorageSubscribePublishedFileResult_t ) + virtual SteamAPICall_t SubscribeItem( PublishedFileId_t nPublishedFileID ) = 0; // subscribe to this item, will be installed ASAP + CALL_RESULT( RemoteStorageUnsubscribePublishedFileResult_t ) + virtual SteamAPICall_t UnsubscribeItem( PublishedFileId_t nPublishedFileID ) = 0; // unsubscribe from this item, will be uninstalled after game quits + virtual uint32 GetNumSubscribedItems() = 0; // number of subscribed items + virtual uint32 GetSubscribedItems( PublishedFileId_t* pvecPublishedFileID, uint32 cMaxEntries ) = 0; // all subscribed item PublishFileIDs + + // get EItemState flags about item on this client + virtual uint32 GetItemState( PublishedFileId_t nPublishedFileID ) = 0; + + // get info about currently installed content on disc for items that have k_EItemStateInstalled set + // if k_EItemStateLegacyItem is set, pchFolder contains the path to the legacy file itself (not a folder) + virtual bool GetItemInstallInfo( PublishedFileId_t nPublishedFileID, uint64 *punSizeOnDisk, OUT_STRING_COUNT( cchFolderSize ) char *pchFolder, uint32 cchFolderSize, uint32 *punTimeStamp ) = 0; + + // get info about pending update for items that have k_EItemStateNeedsUpdate set. punBytesTotal will be valid after download started once + virtual bool GetItemDownloadInfo( PublishedFileId_t nPublishedFileID, uint64 *punBytesDownloaded, uint64 *punBytesTotal ) = 0; + + // download new or update already installed item. If function returns true, wait for DownloadItemResult_t. If the item is already installed, + // then files on disk should not be used until callback received. If item is not subscribed to, it will be cached for some time. + // If bHighPriority is set, any other item download will be suspended and this item downloaded ASAP. + virtual bool DownloadItem( PublishedFileId_t nPublishedFileID, bool bHighPriority ) = 0; + + // game servers can set a specific workshop folder before issuing any UGC commands. + // This is helpful if you want to support multiple game servers running out of the same install folder + virtual bool BInitWorkshopForGameServer( DepotId_t unWorkshopDepotID, const char *pszFolder ) = 0; + + // SuspendDownloads( true ) will suspend all workshop downloads until SuspendDownloads( false ) is called or the game ends + virtual void SuspendDownloads( bool bSuspend ) = 0; + + // usage tracking + CALL_RESULT( StartPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StartPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + CALL_RESULT( StopPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StopPlaytimeTracking( PublishedFileId_t *pvecPublishedFileID, uint32 unNumPublishedFileIDs ) = 0; + CALL_RESULT( StopPlaytimeTrackingResult_t ) + virtual SteamAPICall_t StopPlaytimeTrackingForAllItems() = 0; + + // parent-child relationship or dependency management + CALL_RESULT( AddUGCDependencyResult_t ) + virtual SteamAPICall_t AddDependency( PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ) = 0; + CALL_RESULT( RemoveUGCDependencyResult_t ) + virtual SteamAPICall_t RemoveDependency( PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID ) = 0; + + // add/remove app dependence/requirements (usually DLC) + CALL_RESULT( AddAppDependencyResult_t ) + virtual SteamAPICall_t AddAppDependency( PublishedFileId_t nPublishedFileID, AppId_t nAppID ) = 0; + CALL_RESULT( RemoveAppDependencyResult_t ) + virtual SteamAPICall_t RemoveAppDependency( PublishedFileId_t nPublishedFileID, AppId_t nAppID ) = 0; + // request app dependencies. note that whatever callback you register for GetAppDependenciesResult_t may be called multiple times + // until all app dependencies have been returned + CALL_RESULT( GetAppDependenciesResult_t ) + virtual SteamAPICall_t GetAppDependencies( PublishedFileId_t nPublishedFileID ) = 0; + + // delete the item without prompting the user + CALL_RESULT( DeleteItemResult_t ) + virtual SteamAPICall_t DeleteItem( PublishedFileId_t nPublishedFileID ) = 0; +}; + +#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION010" + +//----------------------------------------------------------------------------- +// Purpose: Callback for querying UGC +//----------------------------------------------------------------------------- +struct SteamUGCQueryCompleted_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 1 }; + UGCQueryHandle_t m_handle; + EResult m_eResult; + uint32 m_unNumResultsReturned; + uint32 m_unTotalMatchingResults; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback for requesting details on one piece of UGC +//----------------------------------------------------------------------------- +struct SteamUGCRequestUGCDetailsResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 2 }; + SteamUGCDetails_t m_details; + bool m_bCachedData; // indicates whether this data was retrieved from the local on-disk cache +}; + + +//----------------------------------------------------------------------------- +// Purpose: result for ISteamUGC::CreateItem() +//----------------------------------------------------------------------------- +struct CreateItemResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 3 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; // new item got this UGC PublishFileID + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +}; + + +//----------------------------------------------------------------------------- +// Purpose: result for ISteamUGC::SubmitItemUpdate() +//----------------------------------------------------------------------------- +struct SubmitItemUpdateResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 4 }; + EResult m_eResult; + bool m_bUserNeedsToAcceptWorkshopLegalAgreement; + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: a Workshop item has been installed or updated +//----------------------------------------------------------------------------- +struct ItemInstalled_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 5 }; + AppId_t m_unAppID; + PublishedFileId_t m_nPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of DownloadItem(), existing item files can be accessed again +//----------------------------------------------------------------------------- +struct DownloadItemResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 6 }; + AppId_t m_unAppID; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: result of AddItemToFavorites() or RemoveItemFromFavorites() +//----------------------------------------------------------------------------- +struct UserFavoriteItemsListChanged_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 7 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bWasAddRequest; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to SetUserItemVote() +//----------------------------------------------------------------------------- +struct SetUserItemVoteResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 8 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bVoteUp; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetUserItemVote() +//----------------------------------------------------------------------------- +struct GetUserItemVoteResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 9 }; + PublishedFileId_t m_nPublishedFileId; + EResult m_eResult; + bool m_bVotedUp; + bool m_bVotedDown; + bool m_bVoteSkipped; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to StartPlaytimeTracking() +//----------------------------------------------------------------------------- +struct StartPlaytimeTrackingResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 10 }; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to StopPlaytimeTracking() +//----------------------------------------------------------------------------- +struct StopPlaytimeTrackingResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 11 }; + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to AddDependency +//----------------------------------------------------------------------------- +struct AddUGCDependencyResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 12 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + PublishedFileId_t m_nChildPublishedFileId; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to RemoveDependency +//----------------------------------------------------------------------------- +struct RemoveUGCDependencyResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 13 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + PublishedFileId_t m_nChildPublishedFileId; +}; + + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to AddAppDependency +//----------------------------------------------------------------------------- +struct AddAppDependencyResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 14 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nAppID; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to RemoveAppDependency +//----------------------------------------------------------------------------- +struct RemoveAppDependencyResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 15 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_nAppID; +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to GetAppDependencies. Callback may be called +// multiple times until all app dependencies have been returned. +//----------------------------------------------------------------------------- +struct GetAppDependenciesResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 16 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; + AppId_t m_rgAppIDs[32]; + uint32 m_nNumAppDependencies; // number returned in this struct + uint32 m_nTotalNumAppDependencies; // total found +}; + +//----------------------------------------------------------------------------- +// Purpose: The result of a call to DeleteItem +//----------------------------------------------------------------------------- +struct DeleteItemResult_t +{ + enum { k_iCallback = k_iClientUGCCallbacks + 17 }; + EResult m_eResult; + PublishedFileId_t m_nPublishedFileId; +}; + +#pragma pack( pop ) + +#endif // ISTEAMUGC_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamuser.h b/source/Steamworks_xcode/Steamworks/Include/isteamuser.h new file mode 100644 index 0000000..0ea2bb8 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamuser.h @@ -0,0 +1,369 @@ +//====== Copyright (c) 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to user account information in Steam +// +//============================================================================= + +#ifndef ISTEAMUSER_H +#define ISTEAMUSER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +// structure that contains client callback data +// see callbacks documentation for more details +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif +struct CallbackMsg_t +{ + HSteamUser m_hSteamUser; + int m_iCallback; + uint8 *m_pubParam; + int m_cubParam; +}; +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing and manipulating a steam account +// associated with one client instance +//----------------------------------------------------------------------------- +class ISteamUser +{ +public: + // returns the HSteamUser this interface represents + // this is only used internally by the API, and by a few select interfaces that support multi-user + virtual HSteamUser GetHSteamUser() = 0; + + // returns true if the Steam client current has a live connection to the Steam servers. + // If false, it means there is no active connection due to either a networking issue on the local machine, or the Steam server is down/busy. + // The Steam client will automatically be trying to recreate the connection as often as possible. + virtual bool BLoggedOn() = 0; + + // returns the CSteamID of the account currently logged into the Steam client + // a CSteamID is a unique identifier for an account, and used to differentiate users in all parts of the Steamworks API + virtual CSteamID GetSteamID() = 0; + + // Multiplayer Authentication functions + + // InitiateGameConnection() starts the state machine for authenticating the game client with the game server + // It is the client portion of a three-way handshake between the client, the game server, and the steam servers + // + // Parameters: + // void *pAuthBlob - a pointer to empty memory that will be filled in with the authentication token. + // int cbMaxAuthBlob - the number of bytes of allocated memory in pBlob. Should be at least 2048 bytes. + // CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client + // CGameID gameID - the ID of the current game. For games without mods, this is just CGameID( ) + // uint32 unIPServer, uint16 usPortServer - the IP address of the game server + // bool bSecure - whether or not the client thinks that the game server is reporting itself as secure (i.e. VAC is running) + // + // return value - returns the number of bytes written to pBlob. If the return is 0, then the buffer passed in was too small, and the call has failed + // The contents of pBlob should then be sent to the game server, for it to use to complete the authentication process. + virtual int InitiateGameConnection( void *pAuthBlob, int cbMaxAuthBlob, CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure ) = 0; + + // notify of disconnect + // needs to occur when the game client leaves the specified game server, needs to match with the InitiateGameConnection() call + virtual void TerminateGameConnection( uint32 unIPServer, uint16 usPortServer ) = 0; + + // Legacy functions + + // used by only a few games to track usage events + virtual void TrackAppUsageEvent( CGameID gameID, int eAppUsageEvent, const char *pchExtraInfo = "" ) = 0; + + // get the local storage folder for current Steam account to write application data, e.g. save games, configs etc. + // this will usually be something like "C:\Progam Files\Steam\userdata\\\local" + virtual bool GetUserDataFolder( char *pchBuffer, int cubBuffer ) = 0; + + // Starts voice recording. Once started, use GetVoice() to get the data + virtual void StartVoiceRecording( ) = 0; + + // Stops voice recording. Because people often release push-to-talk keys early, the system will keep recording for + // a little bit after this function is called. GetVoice() should continue to be called until it returns + // k_eVoiceResultNotRecording + virtual void StopVoiceRecording( ) = 0; + + // Determine the size of captured audio data that is available from GetVoice. + // Most applications will only use compressed data and should ignore the other + // parameters, which exist primarily for backwards compatibility. See comments + // below for further explanation of "uncompressed" data. + virtual EVoiceResult GetAvailableVoice( uint32 *pcbCompressed, uint32 *pcbUncompressed_Deprecated = 0, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated = 0 ) = 0; + + // --------------------------------------------------------------------------- + // NOTE: "uncompressed" audio is a deprecated feature and should not be used + // by most applications. It is raw single-channel 16-bit PCM wave data which + // may have been run through preprocessing filters and/or had silence removed, + // so the uncompressed audio could have a shorter duration than you expect. + // There may be no data at all during long periods of silence. Also, fetching + // uncompressed audio will cause GetVoice to discard any leftover compressed + // audio, so you must fetch both types at once. Finally, GetAvailableVoice is + // not precisely accurate when the uncompressed size is requested. So if you + // really need to use uncompressed audio, you should call GetVoice frequently + // with two very large (20kb+) output buffers instead of trying to allocate + // perfectly-sized buffers. But most applications should ignore all of these + // details and simply leave the "uncompressed" parameters as NULL/zero. + // --------------------------------------------------------------------------- + + // Read captured audio data from the microphone buffer. This should be called + // at least once per frame, and preferably every few milliseconds, to keep the + // microphone input delay as low as possible. Most applications will only use + // compressed data and should pass NULL/zero for the "uncompressed" parameters. + // Compressed data can be transmitted by your application and decoded into raw + // using the DecompressVoice function below. + virtual EVoiceResult GetVoice( bool bWantCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, bool bWantUncompressed_Deprecated = false, void *pUncompressedDestBuffer_Deprecated = 0, uint32 cbUncompressedDestBufferSize_Deprecated = 0, uint32 *nUncompressBytesWritten_Deprecated = 0, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated = 0 ) = 0; + + // Decodes the compressed voice data returned by GetVoice. The output data is + // raw single-channel 16-bit PCM audio. The decoder supports any sample rate + // from 11025 to 48000; see GetVoiceOptimalSampleRate() below for details. + // If the output buffer is not large enough, then *nBytesWritten will be set + // to the required buffer size, and k_EVoiceResultBufferTooSmall is returned. + // It is suggested to start with a 20kb buffer and reallocate as necessary. + virtual EVoiceResult DecompressVoice( const void *pCompressed, uint32 cbCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten, uint32 nDesiredSampleRate ) = 0; + + // This returns the native sample rate of the Steam voice decompressor; using + // this sample rate for DecompressVoice will perform the least CPU processing. + // However, the final audio quality will depend on how well the audio device + // (and/or your application's audio output SDK) deals with lower sample rates. + // You may find that you get the best audio output quality when you ignore + // this function and use the native sample rate of your audio output device, + // which is usually 48000 or 44100. + virtual uint32 GetVoiceOptimalSampleRate() = 0; + + // Retrieve ticket to be sent to the entity who wishes to authenticate you. + // pcbTicket retrieves the length of the actual ticket. + virtual HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket ) = 0; + + // Authenticate ticket from entity steamID to be sure it is valid and isnt reused + // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) + virtual EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID ) = 0; + + // Stop tracking started by BeginAuthSession - called when no longer playing game with this entity + virtual void EndAuthSession( CSteamID steamID ) = 0; + + // Cancel auth ticket from GetAuthSessionTicket, called when no longer playing game with the entity you gave the ticket to + virtual void CancelAuthTicket( HAuthTicket hAuthTicket ) = 0; + + // After receiving a user's authentication data, and passing it to BeginAuthSession, use this function + // to determine if the user owns downloadable content specified by the provided AppID. + virtual EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID ) = 0; + + // returns true if this users looks like they are behind a NAT device. Only valid once the user has connected to steam + // (i.e a SteamServersConnected_t has been issued) and may not catch all forms of NAT. + virtual bool BIsBehindNAT() = 0; + + // set data to be replicated to friends so that they can join your game + // CSteamID steamIDGameServer - the steamID of the game server, received from the game server by the client + // uint32 unIPServer, uint16 usPortServer - the IP address of the game server + virtual void AdvertiseGame( CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer ) = 0; + + // Requests a ticket encrypted with an app specific shared key + // pDataToInclude, cbDataToInclude will be encrypted into the ticket + // ( This is asynchronous, you must wait for the ticket to be completed by the server ) + CALL_RESULT( EncryptedAppTicketResponse_t ) + virtual SteamAPICall_t RequestEncryptedAppTicket( void *pDataToInclude, int cbDataToInclude ) = 0; + + // retrieve a finished ticket + virtual bool GetEncryptedAppTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket ) = 0; + + // Trading Card badges data access + // if you only have one set of cards, the series will be 1 + // the user has can have two different badges for a series; the regular (max level 5) and the foil (max level 1) + virtual int GetGameBadgeLevel( int nSeries, bool bFoil ) = 0; + + // gets the Steam Level of the user, as shown on their profile + virtual int GetPlayerSteamLevel() = 0; + + // Requests a URL which authenticates an in-game browser for store check-out, + // and then redirects to the specified URL. As long as the in-game browser + // accepts and handles session cookies, Steam microtransaction checkout pages + // will automatically recognize the user instead of presenting a login page. + // The result of this API call will be a StoreAuthURLResponse_t callback. + // NOTE: The URL has a very short lifetime to prevent history-snooping attacks, + // so you should only call this API when you are about to launch the browser, + // or else immediately navigate to the result URL using a hidden browser window. + // NOTE 2: The resulting authorization cookie has an expiration time of one day, + // so it would be a good idea to request and visit a new auth URL every 12 hours. + CALL_RESULT( StoreAuthURLResponse_t ) + virtual SteamAPICall_t RequestStoreAuthURL( const char *pchRedirectURL ) = 0; + + // gets whether the users phone number is verified + virtual bool BIsPhoneVerified() = 0; + + // gets whether the user has two factor enabled on their account + virtual bool BIsTwoFactorEnabled() = 0; + + // gets whether the users phone number is identifying + virtual bool BIsPhoneIdentifying() = 0; + + // gets whether the users phone number is awaiting (re)verification + virtual bool BIsPhoneRequiringVerification() = 0; + +}; + +#define STEAMUSER_INTERFACE_VERSION "SteamUser019" + + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when a connections to the Steam back-end has been established +// this means the Steam client now has a working connection to the Steam servers +// usually this will have occurred before the game has launched, and should +// only be seen if the user has dropped connection due to a networking issue +// or a Steam server update +//----------------------------------------------------------------------------- +struct SteamServersConnected_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 1 }; +}; + +//----------------------------------------------------------------------------- +// Purpose: called when a connection attempt has failed +// this will occur periodically if the Steam client is not connected, +// and has failed in it's retry to establish a connection +//----------------------------------------------------------------------------- +struct SteamServerConnectFailure_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 2 }; + EResult m_eResult; + bool m_bStillRetrying; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called if the client has lost connection to the Steam servers +// real-time services will be disabled until a matching SteamServersConnected_t has been posted +//----------------------------------------------------------------------------- +struct SteamServersDisconnected_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 3 }; + EResult m_eResult; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Sent by the Steam server to the client telling it to disconnect from the specified game server, +// which it may be in the process of or already connected to. +// The game client should immediately disconnect upon receiving this message. +// This can usually occur if the user doesn't have rights to play on the game server. +//----------------------------------------------------------------------------- +struct ClientGameServerDeny_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 13 }; + + uint32 m_uAppID; + uint32 m_unGameServerIP; + uint16 m_usGameServerPort; + uint16 m_bSecure; + uint32 m_uReason; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when the callback system for this client is in an error state (and has flushed pending callbacks) +// When getting this message the client should disconnect from Steam, reset any stored Steam state and reconnect. +// This usually occurs in the rare event the Steam client has some kind of fatal error. +//----------------------------------------------------------------------------- +struct IPCFailure_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 17 }; + enum EFailureType + { + k_EFailureFlushedCallbackQueue, + k_EFailurePipeFail, + }; + uint8 m_eFailureType; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Signaled whenever licenses change +//----------------------------------------------------------------------------- +struct LicensesUpdated_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 25 }; +}; + + +//----------------------------------------------------------------------------- +// callback for BeginAuthSession +//----------------------------------------------------------------------------- +struct ValidateAuthTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 43 }; + CSteamID m_SteamID; + EAuthSessionResponse m_eAuthSessionResponse; + CSteamID m_OwnerSteamID; // different from m_SteamID if borrowed +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when a user has responded to a microtransaction authorization request +//----------------------------------------------------------------------------- +struct MicroTxnAuthorizationResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 52 }; + + uint32 m_unAppID; // AppID for this microtransaction + uint64 m_ulOrderID; // OrderID provided for the microtransaction + uint8 m_bAuthorized; // if user authorized transaction +}; + + +//----------------------------------------------------------------------------- +// Purpose: Result from RequestEncryptedAppTicket +//----------------------------------------------------------------------------- +struct EncryptedAppTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 54 }; + + EResult m_eResult; +}; + +//----------------------------------------------------------------------------- +// callback for GetAuthSessionTicket +//----------------------------------------------------------------------------- +struct GetAuthSessionTicketResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 63 }; + HAuthTicket m_hAuthTicket; + EResult m_eResult; +}; + + +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to a steam://gamewebcallback/ command +//----------------------------------------------------------------------------- +struct GameWebCallback_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 64 }; + char m_szURL[256]; +}; + +//----------------------------------------------------------------------------- +// Purpose: sent to your game in response to ISteamUser::RequestStoreAuthURL +//----------------------------------------------------------------------------- +struct StoreAuthURLResponse_t +{ + enum { k_iCallback = k_iSteamUserCallbacks + 65 }; + char m_szURL[512]; +}; + + + +#pragma pack( pop ) + +#endif // ISTEAMUSER_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamuserstats.h b/source/Steamworks_xcode/Steamworks/Include/isteamuserstats.h new file mode 100644 index 0000000..29ae38b --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamuserstats.h @@ -0,0 +1,476 @@ +//====== Copyright � 1996-2009, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to stats, achievements, and leaderboards +// +//============================================================================= + +#ifndef ISTEAMUSERSTATS_H +#define ISTEAMUSERSTATS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" +#include "isteamremotestorage.h" + +// size limit on stat or achievement name (UTF-8 encoded) +enum { k_cchStatNameMax = 128 }; + +// maximum number of bytes for a leaderboard name (UTF-8 encoded) +enum { k_cchLeaderboardNameMax = 128 }; + +// maximum number of details int32's storable for a single leaderboard entry +enum { k_cLeaderboardDetailsMax = 64 }; + +// handle to a single leaderboard +typedef uint64 SteamLeaderboard_t; + +// handle to a set of downloaded entries in a leaderboard +typedef uint64 SteamLeaderboardEntries_t; + +// type of data request, when downloading leaderboard entries +enum ELeaderboardDataRequest +{ + k_ELeaderboardDataRequestGlobal = 0, + k_ELeaderboardDataRequestGlobalAroundUser = 1, + k_ELeaderboardDataRequestFriends = 2, + k_ELeaderboardDataRequestUsers = 3 +}; + +// the sort order of a leaderboard +enum ELeaderboardSortMethod +{ + k_ELeaderboardSortMethodNone = 0, + k_ELeaderboardSortMethodAscending = 1, // top-score is lowest number + k_ELeaderboardSortMethodDescending = 2, // top-score is highest number +}; + +// the display type (used by the Steam Community web site) for a leaderboard +enum ELeaderboardDisplayType +{ + k_ELeaderboardDisplayTypeNone = 0, + k_ELeaderboardDisplayTypeNumeric = 1, // simple numerical score + k_ELeaderboardDisplayTypeTimeSeconds = 2, // the score represents a time, in seconds + k_ELeaderboardDisplayTypeTimeMilliSeconds = 3, // the score represents a time, in milliseconds +}; + +enum ELeaderboardUploadScoreMethod +{ + k_ELeaderboardUploadScoreMethodNone = 0, + k_ELeaderboardUploadScoreMethodKeepBest = 1, // Leaderboard will keep user's best score + k_ELeaderboardUploadScoreMethodForceUpdate = 2, // Leaderboard will always replace score with specified +}; + +// a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry() +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +struct LeaderboardEntry_t +{ + CSteamID m_steamIDUser; // user with the entry - use SteamFriends()->GetFriendPersonaName() & SteamFriends()->GetFriendAvatar() to get more info + int32 m_nGlobalRank; // [1..N], where N is the number of users with an entry in the leaderboard + int32 m_nScore; // score as set in the leaderboard + int32 m_cDetails; // number of int32 details available for this entry + UGCHandle_t m_hUGC; // handle for UGC attached to the entry +}; + +#pragma pack( pop ) + + +//----------------------------------------------------------------------------- +// Purpose: Functions for accessing stats, achievements, and leaderboard information +//----------------------------------------------------------------------------- +class ISteamUserStats +{ +public: + // Ask the server to send down this user's data and achievements for this game + CALL_BACK( UserStatsReceived_t ) + virtual bool RequestCurrentStats() = 0; + + // Data accessors + virtual bool GetStat( const char *pchName, int32 *pData ) = 0; + virtual bool GetStat( const char *pchName, float *pData ) = 0; + + // Set / update data + virtual bool SetStat( const char *pchName, int32 nData ) = 0; + virtual bool SetStat( const char *pchName, float fData ) = 0; + virtual bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength ) = 0; + + // Achievement flag accessors + virtual bool GetAchievement( const char *pchName, bool *pbAchieved ) = 0; + virtual bool SetAchievement( const char *pchName ) = 0; + virtual bool ClearAchievement( const char *pchName ) = 0; + + // Get the achievement status, and the time it was unlocked if unlocked. + // If the return value is true, but the unlock time is zero, that means it was unlocked before Steam + // began tracking achievement unlock times (December 2009). Time is seconds since January 1, 1970. + virtual bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime ) = 0; + + // Store the current data on the server, will get a callback when set + // And one callback for every new achievement + // + // If the callback has a result of k_EResultInvalidParam, one or more stats + // uploaded has been rejected, either because they broke constraints + // or were out of date. In this case the server sends back updated values. + // The stats should be re-iterated to keep in sync. + virtual bool StoreStats() = 0; + + // Achievement / GroupAchievement metadata + + // Gets the icon of the achievement, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if none set. + // A return value of 0 may indicate we are still fetching data, and you can wait for the UserAchievementIconFetched_t callback + // which will notify you when the bits are ready. If the callback still returns zero, then there is no image set for the + // specified achievement. + virtual int GetAchievementIcon( const char *pchName ) = 0; + + // Get general attributes for an achievement. Accepts the following keys: + // - "name" and "desc" for retrieving the localized achievement name and description (returned in UTF8) + // - "hidden" for retrieving if an achievement is hidden (returns "0" when not hidden, "1" when hidden) + virtual const char *GetAchievementDisplayAttribute( const char *pchName, const char *pchKey ) = 0; + + // Achievement progress - triggers an AchievementProgress callback, that is all. + // Calling this w/ N out of N progress will NOT set the achievement, the game must still do that. + virtual bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress ) = 0; + + // Used for iterating achievements. In general games should not need these functions because they should have a + // list of existing achievements compiled into them + virtual uint32 GetNumAchievements() = 0; + // Get achievement name iAchievement in [0,GetNumAchievements) + virtual const char *GetAchievementName( uint32 iAchievement ) = 0; + + // Friends stats & achievements + + // downloads stats for the user + // returns a UserStatsReceived_t received when completed + // if the other user has no stats, UserStatsReceived_t.m_eResult will be set to k_EResultFail + // these stats won't be auto-updated; you'll need to call RequestUserStats() again to refresh any data + CALL_RESULT( UserStatsReceived_t ) + virtual SteamAPICall_t RequestUserStats( CSteamID steamIDUser ) = 0; + + // requests stat information for a user, usable after a successful call to RequestUserStats() + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ) = 0; + virtual bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData ) = 0; + virtual bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved ) = 0; + // See notes for GetAchievementAndUnlockTime above + virtual bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime ) = 0; + + // Reset stats + virtual bool ResetAllStats( bool bAchievementsToo ) = 0; + + // Leaderboard functions + + // asks the Steam back-end for a leaderboard by name, and will create it if it's not yet + // This call is asynchronous, with the result returned in LeaderboardFindResult_t + CALL_RESULT(LeaderboardFindResult_t) + virtual SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType ) = 0; + + // as above, but won't create the leaderboard if it's not found + // This call is asynchronous, with the result returned in LeaderboardFindResult_t + CALL_RESULT( LeaderboardFindResult_t ) + virtual SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName ) = 0; + + // returns the name of a leaderboard + virtual const char *GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the total number of entries in a leaderboard, as of the last request + virtual int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the sort method of the leaderboard + virtual ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // returns the display type of the leaderboard + virtual ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard ) = 0; + + // Asks the Steam back-end for a set of rows in the leaderboard. + // This call is asynchronous, with the result returned in LeaderboardScoresDownloaded_t + // LeaderboardScoresDownloaded_t will contain a handle to pull the results from GetDownloadedLeaderboardEntries() (below) + // You can ask for more entries than exist, and it will return as many as do exist. + // k_ELeaderboardDataRequestGlobal requests rows in the leaderboard from the full table, with nRangeStart & nRangeEnd in the range [1, TotalEntries] + // k_ELeaderboardDataRequestGlobalAroundUser requests rows around the current user, nRangeStart being negate + // e.g. DownloadLeaderboardEntries( hLeaderboard, k_ELeaderboardDataRequestGlobalAroundUser, -3, 3 ) will return 7 rows, 3 before the user, 3 after + // k_ELeaderboardDataRequestFriends requests all the rows for friends of the current user + CALL_RESULT( LeaderboardScoresDownloaded_t ) + virtual SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd ) = 0; + // as above, but downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers + // if a user doesn't have a leaderboard entry, they won't be included in the result + // a max of 100 users can be downloaded at a time, with only one outstanding call at a time + METHOD_DESC(Downloads leaderboard entries for an arbitrary set of users - ELeaderboardDataRequest is k_ELeaderboardDataRequestUsers) + CALL_RESULT( LeaderboardScoresDownloaded_t ) + virtual SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard, + ARRAY_COUNT_D(cUsers, Array of users to retrieve) CSteamID *prgUsers, int cUsers ) = 0; + + // Returns data about a single leaderboard entry + // use a for loop from 0 to LeaderboardScoresDownloaded_t::m_cEntryCount to get all the downloaded entries + // e.g. + // void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pLeaderboardScoresDownloaded ) + // { + // for ( int index = 0; index < pLeaderboardScoresDownloaded->m_cEntryCount; index++ ) + // { + // LeaderboardEntry_t leaderboardEntry; + // int32 details[3]; // we know this is how many we've stored previously + // GetDownloadedLeaderboardEntry( pLeaderboardScoresDownloaded->m_hSteamLeaderboardEntries, index, &leaderboardEntry, details, 3 ); + // assert( leaderboardEntry.m_cDetails == 3 ); + // ... + // } + // once you've accessed all the entries, the data will be free'd, and the SteamLeaderboardEntries_t handle will become invalid + virtual bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax ) = 0; + + // Uploads a user score to the Steam back-end. + // This call is asynchronous, with the result returned in LeaderboardScoreUploaded_t + // Details are extra game-defined information regarding how the user got that score + // pScoreDetails points to an array of int32's, cScoreDetailsCount is the number of int32's in the list + CALL_RESULT( LeaderboardScoreUploaded_t ) + virtual SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount ) = 0; + + // Attaches a piece of user generated content the user's entry on a leaderboard. + // hContent is a handle to a piece of user generated content that was shared using ISteamUserRemoteStorage::FileShare(). + // This call is asynchronous, with the result returned in LeaderboardUGCSet_t. + CALL_RESULT( LeaderboardUGCSet_t ) + virtual SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC ) = 0; + + // Retrieves the number of players currently playing your game (online + offline) + // This call is asynchronous, with the result returned in NumberOfCurrentPlayers_t + CALL_RESULT( NumberOfCurrentPlayers_t ) + virtual SteamAPICall_t GetNumberOfCurrentPlayers() = 0; + + // Requests that Steam fetch data on the percentage of players who have received each achievement + // for the game globally. + // This call is asynchronous, with the result returned in GlobalAchievementPercentagesReady_t. + CALL_RESULT( GlobalAchievementPercentagesReady_t ) + virtual SteamAPICall_t RequestGlobalAchievementPercentages() = 0; + + // Get the info on the most achieved achievement for the game, returns an iterator index you can use to fetch + // the next most achieved afterwards. Will return -1 if there is no data on achievement + // percentages (ie, you haven't called RequestGlobalAchievementPercentages and waited on the callback). + virtual int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Get the info on the next most achieved achievement for the game. Call this after GetMostAchievedAchievementInfo or another + // GetNextMostAchievedAchievementInfo call passing the iterator from the previous call. Returns -1 after the last + // achievement has been iterated. + virtual int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved ) = 0; + + // Returns the percentage of users who have achieved the specified achievement. + virtual bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent ) = 0; + + // Requests global stats data, which is available for stats marked as "aggregated". + // This call is asynchronous, with the results returned in GlobalStatsReceived_t. + // nHistoryDays specifies how many days of day-by-day history to retrieve in addition + // to the overall totals. The limit is 60. + CALL_RESULT( GlobalStatsReceived_t ) + virtual SteamAPICall_t RequestGlobalStats( int nHistoryDays ) = 0; + + // Gets the lifetime totals for an aggregated stat + virtual bool GetGlobalStat( const char *pchStatName, int64 *pData ) = 0; + virtual bool GetGlobalStat( const char *pchStatName, double *pData ) = 0; + + // Gets history for an aggregated stat. pData will be filled with daily values, starting with today. + // So when called, pData[0] will be today, pData[1] will be yesterday, and pData[2] will be two days ago, + // etc. cubData is the size in bytes of the pubData buffer. Returns the number of + // elements actually set. + virtual int32 GetGlobalStatHistory( const char *pchStatName, ARRAY_COUNT(cubData) int64 *pData, uint32 cubData ) = 0; + virtual int32 GetGlobalStatHistory( const char *pchStatName, ARRAY_COUNT(cubData) double *pData, uint32 cubData ) = 0; + +#ifdef _PS3 + // Call to kick off installation of the PS3 trophies. This call is asynchronous, and the results will be returned in a PS3TrophiesInstalled_t + // callback. + virtual bool InstallPS3Trophies() = 0; + + // Returns the amount of space required at boot to install trophies. This value can be used when comparing the amount of space needed + // by the game to the available space value passed to the game at boot. The value is set during InstallPS3Trophies(). + virtual uint64 GetTrophySpaceRequiredBeforeInstall() = 0; + + // On PS3, user stats & achievement progress through Steam must be stored with the user's saved game data. + // At startup, before calling RequestCurrentStats(), you must pass the user's stats data to Steam via this method. + // If you do not have any user data, call this function with pvData = NULL and cubData = 0 + virtual bool SetUserStatsData( const void *pvData, uint32 cubData ) = 0; + + // Call to get the user's current stats data. You should retrieve this data after receiving successful UserStatsReceived_t & UserStatsStored_t + // callbacks, and store the data with the user's save game data. You can call this method with pvData = NULL and cubData = 0 to get the required + // buffer size. + virtual bool GetUserStatsData( void *pvData, uint32 cubData, uint32 *pcubWritten ) = 0; +#endif +}; + +#define STEAMUSERSTATS_INTERFACE_VERSION "STEAMUSERSTATS_INTERFACE_VERSION011" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: called when the latests stats and achievements have been received +// from the server +//----------------------------------------------------------------------------- +struct UserStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 1 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // Success / error fetching the stats + CSteamID m_steamIDUser; // The user for whom the stats are retrieved for +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the user stats for a game +//----------------------------------------------------------------------------- +struct UserStatsStored_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 2 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // success / error +}; + + +//----------------------------------------------------------------------------- +// Purpose: result of a request to store the achievements for a game, or an +// "indicate progress" call. If both m_nCurProgress and m_nMaxProgress +// are zero, that means the achievement has been fully unlocked. +//----------------------------------------------------------------------------- +struct UserAchievementStored_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 3 }; + + uint64 m_nGameID; // Game this is for + bool m_bGroupAchievement; // if this is a "group" achievement + char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement + uint32 m_nCurProgress; // current progress towards the achievement + uint32 m_nMaxProgress; // "out of" this many +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result for finding a leaderboard, returned as a result of FindOrCreateLeaderboard() or FindLeaderboard() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardFindResult_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 4 }; + SteamLeaderboard_t m_hSteamLeaderboard; // handle to the leaderboard serarched for, 0 if no leaderboard found + uint8 m_bLeaderboardFound; // 0 if no leaderboard found +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating scores for a leaderboard have been downloaded and are ready to be retrieved, returned as a result of DownloadLeaderboardEntries() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardScoresDownloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 5 }; + SteamLeaderboard_t m_hSteamLeaderboard; + SteamLeaderboardEntries_t m_hSteamLeaderboardEntries; // the handle to pass into GetDownloadedLeaderboardEntries() + int m_cEntryCount; // the number of entries downloaded +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating scores has been uploaded, returned as a result of UploadLeaderboardScore() +// use CCallResult<> to map this async result to a member function +//----------------------------------------------------------------------------- +struct LeaderboardScoreUploaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 6 }; + uint8 m_bSuccess; // 1 if the call was successful + SteamLeaderboard_t m_hSteamLeaderboard; // the leaderboard handle that was + int32 m_nScore; // the score that was attempted to set + uint8 m_bScoreChanged; // true if the score in the leaderboard change, false if the existing score was better + int m_nGlobalRankNew; // the new global rank of the user in this leaderboard + int m_nGlobalRankPrevious; // the previous global rank of the user in this leaderboard; 0 if the user had no existing entry in the leaderboard +}; + +struct NumberOfCurrentPlayers_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 7 }; + uint8 m_bSuccess; // 1 if the call was successful + int32 m_cPlayers; // Number of players currently playing +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that a user's stats have been unloaded. +// Call RequestUserStats again to access stats for this user +//----------------------------------------------------------------------------- +struct UserStatsUnloaded_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 8 }; + CSteamID m_steamIDUser; // User whose stats have been unloaded +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that an achievement icon has been fetched +//----------------------------------------------------------------------------- +struct UserAchievementIconFetched_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 9 }; + + CGameID m_nGameID; // Game this is for + char m_rgchAchievementName[k_cchStatNameMax]; // name of the achievement + bool m_bAchieved; // Is the icon for the achieved or not achieved version? + int m_nIconHandle; // Handle to the image, which can be used in SteamUtils()->GetImageRGBA(), 0 means no image is set for the achievement +}; + + +//----------------------------------------------------------------------------- +// Purpose: Callback indicating that global achievement percentages are fetched +//----------------------------------------------------------------------------- +struct GlobalAchievementPercentagesReady_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 10 }; + + uint64 m_nGameID; // Game this is for + EResult m_eResult; // Result of the operation +}; + + +//----------------------------------------------------------------------------- +// Purpose: call result indicating UGC has been uploaded, returned as a result of SetLeaderboardUGC() +//----------------------------------------------------------------------------- +struct LeaderboardUGCSet_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 11 }; + EResult m_eResult; // The result of the operation + SteamLeaderboard_t m_hSteamLeaderboard; // the leaderboard handle that was +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating that PS3 trophies have been installed +//----------------------------------------------------------------------------- +struct PS3TrophiesInstalled_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game these stats are for + EResult m_eResult; // The result of the operation + uint64 m_ulRequiredDiskSpace; // If m_eResult is k_EResultDiskFull, will contain the amount of space needed to install trophies + +}; + + +//----------------------------------------------------------------------------- +// Purpose: callback indicating global stats have been received. +// Returned as a result of RequestGlobalStats() +//----------------------------------------------------------------------------- +struct GlobalStatsReceived_t +{ + enum { k_iCallback = k_iSteamUserStatsCallbacks + 12 }; + uint64 m_nGameID; // Game global stats were requested for + EResult m_eResult; // The result of the request +}; + +#pragma pack( pop ) + + +#endif // ISTEAMUSER_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamutils.h b/source/Steamworks_xcode/Steamworks/Include/isteamutils.h new file mode 100644 index 0000000..e331fa6 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamutils.h @@ -0,0 +1,264 @@ +//====== Copyright � 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to utility functions in Steam +// +//============================================================================= + +#ifndef ISTEAMUTILS_H +#define ISTEAMUTILS_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + + +// Steam API call failure results +enum ESteamAPICallFailure +{ + k_ESteamAPICallFailureNone = -1, // no failure + k_ESteamAPICallFailureSteamGone = 0, // the local Steam process has gone away + k_ESteamAPICallFailureNetworkFailure = 1, // the network connection to Steam has been broken, or was already broken + // SteamServersDisconnected_t callback will be sent around the same time + // SteamServersConnected_t will be sent when the client is able to talk to the Steam servers again + k_ESteamAPICallFailureInvalidHandle = 2, // the SteamAPICall_t handle passed in no longer exists + k_ESteamAPICallFailureMismatchedCallback = 3,// GetAPICallResult() was called with the wrong callback type for this API call +}; + + +// Input modes for the Big Picture gamepad text entry +enum EGamepadTextInputMode +{ + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1 +}; + + +// Controls number of allowed lines for the Big Picture gamepad text entry +enum EGamepadTextInputLineMode +{ + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1 +}; + + +// function prototype for warning message hook +#if defined( POSIX ) +#define __cdecl +#endif +extern "C" typedef void (__cdecl *SteamAPIWarningMessageHook_t)(int, const char *); + +//----------------------------------------------------------------------------- +// Purpose: interface to user independent utility functions +//----------------------------------------------------------------------------- +class ISteamUtils +{ +public: + // return the number of seconds since the user + virtual uint32 GetSecondsSinceAppActive() = 0; + virtual uint32 GetSecondsSinceComputerActive() = 0; + + // the universe this client is connecting to + virtual EUniverse GetConnectedUniverse() = 0; + + // Steam server time. Number of seconds since January 1, 1970, GMT (i.e unix time) + virtual uint32 GetServerRealTime() = 0; + + // returns the 2 digit ISO 3166-1-alpha-2 format country code this client is running in (as looked up via an IP-to-location database) + // e.g "US" or "UK". + virtual const char *GetIPCountry() = 0; + + // returns true if the image exists, and valid sizes were filled out + virtual bool GetImageSize( int iImage, uint32 *pnWidth, uint32 *pnHeight ) = 0; + + // returns true if the image exists, and the buffer was successfully filled out + // results are returned in RGBA format + // the destination buffer size should be 4 * height * width * sizeof(char) + virtual bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize ) = 0; + + // returns the IP of the reporting server for valve - currently only used in Source engine games + virtual bool GetCSERIPPort( uint32 *unIP, uint16 *usPort ) = 0; + + // return the amount of battery power left in the current system in % [0..100], 255 for being on AC power + virtual uint8 GetCurrentBatteryPower() = 0; + + // returns the appID of the current process + virtual uint32 GetAppID() = 0; + + // Sets the position where the overlay instance for the currently calling game should show notifications. + // This position is per-game and if this function is called from outside of a game context it will do nothing. + virtual void SetOverlayNotificationPosition( ENotificationPosition eNotificationPosition ) = 0; + + // API asynchronous call results + // can be used directly, but more commonly used via the callback dispatch API (see steam_api.h) + virtual bool IsAPICallCompleted( SteamAPICall_t hSteamAPICall, bool *pbFailed ) = 0; + virtual ESteamAPICallFailure GetAPICallFailureReason( SteamAPICall_t hSteamAPICall ) = 0; + virtual bool GetAPICallResult( SteamAPICall_t hSteamAPICall, void *pCallback, int cubCallback, int iCallbackExpected, bool *pbFailed ) = 0; + + // Deprecated. Applications should use SteamAPI_RunCallbacks() instead. Game servers do not need to call this function. + STEAM_PRIVATE_API( virtual void RunFrame() = 0; ) + + // returns the number of IPC calls made since the last time this function was called + // Used for perf debugging so you can understand how many IPC calls your game makes per frame + // Every IPC call is at minimum a thread context switch if not a process one so you want to rate + // control how often you do them. + virtual uint32 GetIPCCallCount() = 0; + + // API warning handling + // 'int' is the severity; 0 for msg, 1 for warning + // 'const char *' is the text of the message + // callbacks will occur directly after the API function is called that generated the warning or message + virtual void SetWarningMessageHook( SteamAPIWarningMessageHook_t pFunction ) = 0; + + // Returns true if the overlay is running & the user can access it. The overlay process could take a few seconds to + // start & hook the game process, so this function will initially return false while the overlay is loading. + virtual bool IsOverlayEnabled() = 0; + + // Normally this call is unneeded if your game has a constantly running frame loop that calls the + // D3D Present API, or OGL SwapBuffers API every frame. + // + // However, if you have a game that only refreshes the screen on an event driven basis then that can break + // the overlay, as it uses your Present/SwapBuffers calls to drive it's internal frame loop and it may also + // need to Present() to the screen any time an even needing a notification happens or when the overlay is + // brought up over the game by a user. You can use this API to ask the overlay if it currently need a present + // in that case, and then you can check for this periodically (roughly 33hz is desirable) and make sure you + // refresh the screen with Present or SwapBuffers to allow the overlay to do it's work. + virtual bool BOverlayNeedsPresent() = 0; + + // Asynchronous call to check if an executable file has been signed using the public key set on the signing tab + // of the partner site, for example to refuse to load modified executable files. + // The result is returned in CheckFileSignature_t. + // k_ECheckFileSignatureNoSignaturesFoundForThisApp - This app has not been configured on the signing tab of the partner site to enable this function. + // k_ECheckFileSignatureNoSignaturesFoundForThisFile - This file is not listed on the signing tab for the partner site. + // k_ECheckFileSignatureFileNotFound - The file does not exist on disk. + // k_ECheckFileSignatureInvalidSignature - The file exists, and the signing tab has been set for this file, but the file is either not signed or the signature does not match. + // k_ECheckFileSignatureValidSignature - The file is signed and the signature is valid. + CALL_RESULT( CheckFileSignature_t ) + virtual SteamAPICall_t CheckFileSignature( const char *szFileName ) = 0; + + // Activates the Big Picture text input dialog which only supports gamepad input + virtual bool ShowGamepadTextInput( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32 unCharMax, const char *pchExistingText ) = 0; + + // Returns previously entered text & length + virtual uint32 GetEnteredGamepadTextLength() = 0; + virtual bool GetEnteredGamepadTextInput( char *pchText, uint32 cchText ) = 0; + + // returns the language the steam client is running in, you probably want ISteamApps::GetCurrentGameLanguage instead, this is for very special usage cases + virtual const char *GetSteamUILanguage() = 0; + + // returns true if Steam itself is running in VR mode + virtual bool IsSteamRunningInVR() = 0; + + // Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition. + virtual void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset ) = 0; + + // returns true if Steam & the Steam Overlay are running in Big Picture mode + // Games much be launched through the Steam client to enable the Big Picture overlay. During development, + // a game can be added as a non-steam game to the developers library to test this feature + virtual bool IsSteamInBigPictureMode() = 0; + + // ask SteamUI to create and render its OpenVR dashboard + virtual void StartVRDashboard() = 0; + + // Returns true if the HMD content will be streamed via Steam In-Home Streaming + virtual bool IsVRHeadsetStreamingEnabled() = 0; + + // Set whether the HMD content will be streamed via Steam In-Home Streaming + // If this is set to true, then the scene in the HMD headset will be streamed, and remote input will not be allowed. + // If this is set to false, then the application window will be streamed instead, and remote input will be allowed. + // The default is true unless "VRHeadsetStreaming" "0" is in the extended appinfo for a game. + // (this is useful for games that have asymmetric multiplayer gameplay) + virtual void SetVRHeadsetStreamingEnabled( bool bEnabled ) = 0; +}; + +#define STEAMUTILS_INTERFACE_VERSION "SteamUtils009" + + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + +//----------------------------------------------------------------------------- +// Purpose: The country of the user changed +//----------------------------------------------------------------------------- +struct IPCountry_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 1 }; +}; + + +//----------------------------------------------------------------------------- +// Purpose: Fired when running on a laptop and less than 10 minutes of battery is left, fires then every minute +//----------------------------------------------------------------------------- +struct LowBatteryPower_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 2 }; + uint8 m_nMinutesBatteryLeft; +}; + + +//----------------------------------------------------------------------------- +// Purpose: called when a SteamAsyncCall_t has completed (or failed) +//----------------------------------------------------------------------------- +struct SteamAPICallCompleted_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 3 }; + SteamAPICall_t m_hAsyncCall; + int m_iCallback; + uint32 m_cubParam; +}; + + +//----------------------------------------------------------------------------- +// called when Steam wants to shutdown +//----------------------------------------------------------------------------- +struct SteamShutdown_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 4 }; +}; + +//----------------------------------------------------------------------------- +// results for CheckFileSignature +//----------------------------------------------------------------------------- +enum ECheckFileSignature +{ + k_ECheckFileSignatureInvalidSignature = 0, + k_ECheckFileSignatureValidSignature = 1, + k_ECheckFileSignatureFileNotFound = 2, + k_ECheckFileSignatureNoSignaturesFoundForThisApp = 3, + k_ECheckFileSignatureNoSignaturesFoundForThisFile = 4, +}; + +//----------------------------------------------------------------------------- +// callback for CheckFileSignature +//----------------------------------------------------------------------------- +struct CheckFileSignature_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 5 }; + ECheckFileSignature m_eCheckFileSignature; +}; + + +// k_iSteamUtilsCallbacks + 13 is taken + + +//----------------------------------------------------------------------------- +// Big Picture gamepad text input has been closed +//----------------------------------------------------------------------------- +struct GamepadTextInputDismissed_t +{ + enum { k_iCallback = k_iSteamUtilsCallbacks + 14 }; + bool m_bSubmitted; // true if user entered & accepted text (Call ISteamUtils::GetEnteredGamepadTextInput() for text), false if canceled input + uint32 m_unSubmittedText; +}; + +// k_iSteamUtilsCallbacks + 15 is taken + +#pragma pack( pop ) + +#endif // ISTEAMUTILS_H diff --git a/source/Steamworks_xcode/Steamworks/Include/isteamvideo.h b/source/Steamworks_xcode/Steamworks/Include/isteamvideo.h new file mode 100644 index 0000000..32eeb59 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/isteamvideo.h @@ -0,0 +1,71 @@ +//====== Copyright © 1996-2014 Valve Corporation, All rights reserved. ======= +// +// Purpose: interface to Steam Video +// +//============================================================================= + +#ifndef ISTEAMVIDEO_H +#define ISTEAMVIDEO_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" + +// callbacks +#if defined( VALVE_CALLBACK_PACK_SMALL ) +#pragma pack( push, 4 ) +#elif defined( VALVE_CALLBACK_PACK_LARGE ) +#pragma pack( push, 8 ) +#else +#error isteamclient.h must be included +#endif + + + + +//----------------------------------------------------------------------------- +// Purpose: Steam Video API +//----------------------------------------------------------------------------- +class ISteamVideo +{ +public: + + // Get a URL suitable for streaming the given Video app ID's video + virtual void GetVideoURL( AppId_t unVideoAppID ) = 0; + + // returns true if user is uploading a live broadcast + virtual bool IsBroadcasting( int *pnNumViewers ) = 0; + + // Get the OPF Details for 360 Video Playback + CALL_BACK( GetOPFSettingsResult_t ) + virtual void GetOPFSettings( AppId_t unVideoAppID ) = 0; + virtual bool GetOPFStringForApp( AppId_t unVideoAppID, char *pchBuffer, int32 *pnBufferSize ) = 0; +}; + +#define STEAMVIDEO_INTERFACE_VERSION "STEAMVIDEO_INTERFACE_V002" + +DEFINE_CALLBACK( BroadcastUploadStart_t, k_iClientVideoCallbacks + 4 ) +END_DEFINE_CALLBACK_0() + +DEFINE_CALLBACK( BroadcastUploadStop_t, k_iClientVideoCallbacks + 5 ) + CALLBACK_MEMBER( 0, EBroadcastUploadResult, m_eResult ) +END_DEFINE_CALLBACK_1() + +DEFINE_CALLBACK( GetVideoURLResult_t, k_iClientVideoCallbacks + 11 ) + CALLBACK_MEMBER( 0, EResult, m_eResult ) + CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID ) + CALLBACK_MEMBER( 2, char, m_rgchURL[256] ) +END_DEFINE_CALLBACK_3() + + +DEFINE_CALLBACK( GetOPFSettingsResult_t, k_iClientVideoCallbacks + 24 ) + CALLBACK_MEMBER( 0, EResult, m_eResult ) + CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID ) +END_DEFINE_CALLBACK_2() + + +#pragma pack( pop ) + + +#endif // ISTEAMVIDEO_H diff --git a/source/Steamworks_xcode/Steamworks/Include/matchmakingtypes.h b/source/Steamworks_xcode/Steamworks/Include/matchmakingtypes.h new file mode 100644 index 0000000..e52cfc6 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/matchmakingtypes.h @@ -0,0 +1,251 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +// $NoKeywords: $ +//============================================================================= + +#ifndef MATCHMAKINGTYPES_H +#define MATCHMAKINGTYPES_H + +#ifdef _WIN32 +#pragma once +#endif + +#ifdef POSIX +#ifndef _snprintf +#define _snprintf snprintf +#endif +#endif + +#include +#include + +// +// Max size (in bytes of UTF-8 data, not in characters) of server fields, including null terminator. +// WARNING: These cannot be changed easily, without breaking clients using old interfaces. +// +const int k_cbMaxGameServerGameDir = 32; +const int k_cbMaxGameServerMapName = 32; +const int k_cbMaxGameServerGameDescription = 64; +const int k_cbMaxGameServerName = 64; +const int k_cbMaxGameServerTags = 128; +const int k_cbMaxGameServerGameData = 2048; + +/// Store key/value pair used in matchmaking queries. +/// +/// Actually, the name Key/Value is a bit misleading. The "key" is better +/// understood as "filter operation code" and the "value" is the operand to this +/// filter operation. The meaning of the operand depends upon the filter. +struct MatchMakingKeyValuePair_t +{ + MatchMakingKeyValuePair_t() { m_szKey[0] = m_szValue[0] = 0; } + MatchMakingKeyValuePair_t( const char *pchKey, const char *pchValue ) + { + strncpy( m_szKey, pchKey, sizeof(m_szKey) ); // this is a public header, use basic c library string funcs only! + m_szKey[ sizeof( m_szKey ) - 1 ] = '\0'; + strncpy( m_szValue, pchValue, sizeof(m_szValue) ); + m_szValue[ sizeof( m_szValue ) - 1 ] = '\0'; + } + char m_szKey[ 256 ]; + char m_szValue[ 256 ]; +}; + + +enum EMatchMakingServerResponse +{ + eServerResponded = 0, + eServerFailedToRespond, + eNoServersListedOnMasterServer // for the Internet query type, returned in response callback if no servers of this type match +}; + +// servernetadr_t is all the addressing info the serverbrowser needs to know about a game server, +// namely: its IP, its connection port, and its query port. +class servernetadr_t +{ +public: + + servernetadr_t() : m_usConnectionPort( 0 ), m_usQueryPort( 0 ), m_unIP( 0 ) {} + + void Init( unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ); +#ifdef NETADR_H + netadr_t GetIPAndQueryPort(); +#endif + + // Access the query port. + uint16 GetQueryPort() const; + void SetQueryPort( uint16 usPort ); + + // Access the connection port. + uint16 GetConnectionPort() const; + void SetConnectionPort( uint16 usPort ); + + // Access the IP + uint32 GetIP() const; + void SetIP( uint32 ); + + // This gets the 'a.b.c.d:port' string with the connection port (instead of the query port). + const char *GetConnectionAddressString() const; + const char *GetQueryAddressString() const; + + // Comparison operators and functions. + bool operator<(const servernetadr_t &netadr) const; + void operator=( const servernetadr_t &that ) + { + m_usConnectionPort = that.m_usConnectionPort; + m_usQueryPort = that.m_usQueryPort; + m_unIP = that.m_unIP; + } + + +private: + const char *ToString( uint32 unIP, uint16 usPort ) const; + uint16 m_usConnectionPort; // (in HOST byte order) + uint16 m_usQueryPort; + uint32 m_unIP; +}; + + +inline void servernetadr_t::Init( unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort ) +{ + m_unIP = ip; + m_usQueryPort = usQueryPort; + m_usConnectionPort = usConnectionPort; +} + +#ifdef NETADR_H +inline netadr_t servernetadr_t::GetIPAndQueryPort() +{ + return netadr_t( m_unIP, m_usQueryPort ); +} +#endif + +inline uint16 servernetadr_t::GetQueryPort() const +{ + return m_usQueryPort; +} + +inline void servernetadr_t::SetQueryPort( uint16 usPort ) +{ + m_usQueryPort = usPort; +} + +inline uint16 servernetadr_t::GetConnectionPort() const +{ + return m_usConnectionPort; +} + +inline void servernetadr_t::SetConnectionPort( uint16 usPort ) +{ + m_usConnectionPort = usPort; +} + +inline uint32 servernetadr_t::GetIP() const +{ + return m_unIP; +} + +inline void servernetadr_t::SetIP( uint32 unIP ) +{ + m_unIP = unIP; +} + +inline const char *servernetadr_t::ToString( uint32 unIP, uint16 usPort ) const +{ + static char s[4][64]; + static int nBuf = 0; + unsigned char *ipByte = (unsigned char *)&unIP; +#ifdef VALVE_BIG_ENDIAN + _snprintf (s[nBuf], sizeof( s[nBuf] ), "%u.%u.%u.%u:%i", (int)(ipByte[0]), (int)(ipByte[1]), (int)(ipByte[2]), (int)(ipByte[3]), usPort ); +#else + _snprintf (s[nBuf], sizeof( s[nBuf] ), "%u.%u.%u.%u:%i", (int)(ipByte[3]), (int)(ipByte[2]), (int)(ipByte[1]), (int)(ipByte[0]), usPort ); +#endif + const char *pchRet = s[nBuf]; + ++nBuf; + nBuf %= ( (sizeof(s)/sizeof(s[0])) ); + return pchRet; +} + +inline const char* servernetadr_t::GetConnectionAddressString() const +{ + return ToString( m_unIP, m_usConnectionPort ); +} + +inline const char* servernetadr_t::GetQueryAddressString() const +{ + return ToString( m_unIP, m_usQueryPort ); +} + +inline bool servernetadr_t::operator<(const servernetadr_t &netadr) const +{ + return ( m_unIP < netadr.m_unIP ) || ( m_unIP == netadr.m_unIP && m_usQueryPort < netadr.m_usQueryPort ); +} + +//----------------------------------------------------------------------------- +// Purpose: Data describing a single server +//----------------------------------------------------------------------------- +class gameserveritem_t +{ +public: + gameserveritem_t(); + + const char* GetName() const; + void SetName( const char *pName ); + +public: + servernetadr_t m_NetAdr; ///< IP/Query Port/Connection Port for this server + int m_nPing; ///< current ping time in milliseconds + bool m_bHadSuccessfulResponse; ///< server has responded successfully in the past + bool m_bDoNotRefresh; ///< server is marked as not responding and should no longer be refreshed + char m_szGameDir[k_cbMaxGameServerGameDir]; ///< current game directory + char m_szMap[k_cbMaxGameServerMapName]; ///< current map + char m_szGameDescription[k_cbMaxGameServerGameDescription]; ///< game description + uint32 m_nAppID; ///< Steam App ID of this server + int m_nPlayers; ///< total number of players currently on the server. INCLUDES BOTS!! + int m_nMaxPlayers; ///< Maximum players that can join this server + int m_nBotPlayers; ///< Number of bots (i.e simulated players) on this server + bool m_bPassword; ///< true if this server needs a password to join + bool m_bSecure; ///< Is this server protected by VAC + uint32 m_ulTimeLastPlayed; ///< time (in unix time) when this server was last played on (for favorite/history servers) + int m_nServerVersion; ///< server version as reported to Steam + +private: + + /// Game server name + char m_szServerName[k_cbMaxGameServerName]; + + // For data added after SteamMatchMaking001 add it here +public: + /// the tags this server exposes + char m_szGameTags[k_cbMaxGameServerTags]; + + /// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam) + CSteamID m_steamID; +}; + + +inline gameserveritem_t::gameserveritem_t() +{ + m_szGameDir[0] = m_szMap[0] = m_szGameDescription[0] = m_szServerName[0] = 0; + m_bHadSuccessfulResponse = m_bDoNotRefresh = m_bPassword = m_bSecure = false; + m_nPing = m_nAppID = m_nPlayers = m_nMaxPlayers = m_nBotPlayers = m_ulTimeLastPlayed = m_nServerVersion = 0; + m_szGameTags[0] = 0; +} + +inline const char* gameserveritem_t::GetName() const +{ + // Use the IP address as the name if nothing is set yet. + if ( m_szServerName[0] == 0 ) + return m_NetAdr.GetConnectionAddressString(); + else + return m_szServerName; +} + +inline void gameserveritem_t::SetName( const char *pName ) +{ + strncpy( m_szServerName, pName, sizeof( m_szServerName ) ); + m_szServerName[ sizeof( m_szServerName ) - 1 ] = '\0'; +} + + +#endif // MATCHMAKINGTYPES_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steam_api.h b/source/Steamworks_xcode/Steamworks/Include/steam_api.h new file mode 100644 index 0000000..010a548 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steam_api.h @@ -0,0 +1,394 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAM_API_H +#define STEAM_API_H +#ifdef _WIN32 +#pragma once +#endif + +#include "isteamclient.h" +#include "isteamuser.h" +#include "isteamfriends.h" +#include "isteamutils.h" +#include "isteammatchmaking.h" +#include "isteamuserstats.h" +#include "isteamapps.h" +#include "isteamnetworking.h" +#include "isteamremotestorage.h" +#include "isteamscreenshots.h" +#include "isteammusic.h" +#include "isteammusicremote.h" +#include "isteamhttp.h" +#include "isteamcontroller.h" +#include "isteamugc.h" +#include "isteamapplist.h" +#include "isteamhtmlsurface.h" +#include "isteaminventory.h" +#include "isteamvideo.h" +#include "isteamparentalsettings.h" + + +// Steam API export macro +#if defined( _WIN32 ) && !defined( _X360 ) + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" __declspec( dllexport ) + #elif defined( STEAM_API_NODLL ) + #define S_API extern "C" + #else + #define S_API extern "C" __declspec( dllimport ) + #endif // STEAM_API_EXPORTS +#elif defined( GNUC ) + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" __attribute__ ((visibility("default"))) + #else + #define S_API extern "C" + #endif // STEAM_API_EXPORTS +#else // !WIN32 + #if defined( STEAM_API_EXPORTS ) + #define S_API extern "C" + #else + #define S_API extern "C" + #endif // STEAM_API_EXPORTS +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// Steam API setup & shutdown +// +// These functions manage loading, initializing and shutdown of the steamclient.dll +// +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + + +// SteamAPI_Init must be called before using any other API functions. If it fails, an +// error message will be output to the debugger (or stderr) with further information. +S_API bool S_CALLTYPE SteamAPI_Init(); + +// SteamAPI_Shutdown should be called during process shutdown if possible. +S_API void S_CALLTYPE SteamAPI_Shutdown(); + +// SteamAPI_RestartAppIfNecessary ensures that your executable was launched through Steam. +// +// Returns true if the current process should terminate. Steam is now re-launching your application. +// +// Returns false if no action needs to be taken. This means that your executable was started through +// the Steam client, or a steam_appid.txt file is present in your game's directory (for development). +// Your current process should continue if false is returned. +// +// NOTE: If you use the Steam DRM wrapper on your primary executable file, this check is unnecessary +// since the DRM wrapper will ensure that your application was launched properly through Steam. +S_API bool S_CALLTYPE SteamAPI_RestartAppIfNecessary( uint32 unOwnAppID ); + +// Many Steam API functions allocate a small amount of thread-local memory for parameter storage. +// SteamAPI_ReleaseCurrentThreadMemory() will free API memory associated with the calling thread. +// This function is also called automatically by SteamAPI_RunCallbacks(), so a single-threaded +// program never needs to explicitly call this function. +S_API void S_CALLTYPE SteamAPI_ReleaseCurrentThreadMemory(); + + +// crash dump recording functions +S_API void S_CALLTYPE SteamAPI_WriteMiniDump( uint32 uStructuredExceptionCode, void* pvExceptionInfo, uint32 uBuildID ); +S_API void S_CALLTYPE SteamAPI_SetMiniDumpComment( const char *pchMsg ); + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// Global accessors for Steamworks C++ APIs. See individual isteam*.h files for details. +// You should not cache the results of these accessors or pass the result pointers across +// modules! Different modules may be compiled against different SDK header versions, and +// the interface pointers could therefore be different across modules. Every line of code +// which calls into a Steamworks API should retrieve the interface from a global accessor. +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#if !defined( STEAM_API_EXPORTS ) +inline ISteamClient *SteamClient(); +inline ISteamUser *SteamUser(); +inline ISteamFriends *SteamFriends(); +inline ISteamUtils *SteamUtils(); +inline ISteamMatchmaking *SteamMatchmaking(); +inline ISteamUserStats *SteamUserStats(); +inline ISteamApps *SteamApps(); +inline ISteamNetworking *SteamNetworking(); +inline ISteamMatchmakingServers *SteamMatchmakingServers(); +inline ISteamRemoteStorage *SteamRemoteStorage(); +inline ISteamScreenshots *SteamScreenshots(); +inline ISteamHTTP *SteamHTTP(); +inline ISteamController *SteamController(); +inline ISteamUGC *SteamUGC(); +inline ISteamAppList *SteamAppList(); +inline ISteamMusic *SteamMusic(); +inline ISteamMusicRemote *SteamMusicRemote(); +inline ISteamHTMLSurface *SteamHTMLSurface(); +inline ISteamInventory *SteamInventory(); +inline ISteamVideo *SteamVideo(); +inline ISteamParentalSettings *SteamParentalSettings(); +#endif // VERSION_SAFE_STEAM_API_INTERFACES + + +// CSteamAPIContext encapsulates the Steamworks API global accessors into +// a single object. This is DEPRECATED and only remains for compatibility. +class CSteamAPIContext +{ +public: + // DEPRECATED - there is no benefit to using this over the global accessors + CSteamAPIContext() { Clear(); } + void Clear(); + bool Init(); + ISteamClient* SteamClient() const { return m_pSteamClient; } + ISteamUser* SteamUser() const { return m_pSteamUser; } + ISteamFriends* SteamFriends() const { return m_pSteamFriends; } + ISteamUtils* SteamUtils() const { return m_pSteamUtils; } + ISteamMatchmaking* SteamMatchmaking() const { return m_pSteamMatchmaking; } + ISteamUserStats* SteamUserStats() const { return m_pSteamUserStats; } + ISteamApps* SteamApps() const { return m_pSteamApps; } + ISteamMatchmakingServers* SteamMatchmakingServers() const { return m_pSteamMatchmakingServers; } + ISteamNetworking* SteamNetworking() const { return m_pSteamNetworking; } + ISteamRemoteStorage* SteamRemoteStorage() const { return m_pSteamRemoteStorage; } + ISteamScreenshots* SteamScreenshots() const { return m_pSteamScreenshots; } + ISteamHTTP* SteamHTTP() const { return m_pSteamHTTP; } + ISteamController* SteamController() const { return m_pController; } + ISteamUGC* SteamUGC() const { return m_pSteamUGC; } + ISteamAppList* SteamAppList() const { return m_pSteamAppList; } + ISteamMusic* SteamMusic() const { return m_pSteamMusic; } + ISteamMusicRemote* SteamMusicRemote() const { return m_pSteamMusicRemote; } + ISteamHTMLSurface* SteamHTMLSurface() const { return m_pSteamHTMLSurface; } + ISteamInventory* SteamInventory() const { return m_pSteamInventory; } + ISteamVideo* SteamVideo() const { return m_pSteamVideo; } + ISteamParentalSettings* SteamParentalSettings() const { return m_pSteamParentalSettings; } + // DEPRECATED - there is no benefit to using this over the global accessors +private: + ISteamClient *m_pSteamClient; + ISteamUser *m_pSteamUser; + ISteamFriends *m_pSteamFriends; + ISteamUtils *m_pSteamUtils; + ISteamMatchmaking *m_pSteamMatchmaking; + ISteamUserStats *m_pSteamUserStats; + ISteamApps *m_pSteamApps; + ISteamMatchmakingServers *m_pSteamMatchmakingServers; + ISteamNetworking *m_pSteamNetworking; + ISteamRemoteStorage *m_pSteamRemoteStorage; + ISteamScreenshots *m_pSteamScreenshots; + ISteamHTTP *m_pSteamHTTP; + ISteamController *m_pController; + ISteamUGC *m_pSteamUGC; + ISteamAppList *m_pSteamAppList; + ISteamMusic *m_pSteamMusic; + ISteamMusicRemote *m_pSteamMusicRemote; + ISteamHTMLSurface *m_pSteamHTMLSurface; + ISteamInventory *m_pSteamInventory; + ISteamVideo *m_pSteamVideo; + ISteamParentalSettings *m_pSteamParentalSettings; +}; + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steam callback and call-result helpers +// +// The following macros and classes are used to register your application for +// callbacks and call-results, which are delivered in a predictable manner. +// +// STEAM_CALLBACK macros are meant for use inside of a C++ class definition. +// They map a Steam notification callback directly to a class member function +// which is automatically prototyped as "void func( callback_type *pParam )". +// +// CCallResult is used with specific Steam APIs that return "result handles". +// The handle can be passed to a CCallResult object's Set function, along with +// an object pointer and member-function pointer. The member function will +// be executed once the results of the Steam API call are available. +// +// CCallback and CCallbackManual classes can be used instead of STEAM_CALLBACK +// macros if you require finer control over registration and unregistration. +// +// Callbacks and call-results are queued automatically and are only +// delivered/executed when your application calls SteamAPI_RunCallbacks(). +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +// SteamAPI_RunCallbacks is safe to call from multiple threads simultaneously, +// but if you choose to do this, callback code could be executed on any thread. +// One alternative is to call SteamAPI_RunCallbacks from the main thread only, +// and call SteamAPI_ReleaseCurrentThreadMemory regularly on other threads. +S_API void S_CALLTYPE SteamAPI_RunCallbacks(); + + +// Declares a callback member function plus a helper member variable which +// registers the callback on object creation and unregisters on destruction. +// The optional fourth 'var' param exists only for backwards-compatibility +// and can be ignored. +#define STEAM_CALLBACK( thisclass, func, .../*callback_type, [deprecated] var*/ ) \ + _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, 4, 3 ), ( /**/, thisclass, func, __VA_ARGS__ ) ) + +// Declares a callback function and a named CCallbackManual variable which +// has Register and Unregister functions instead of automatic registration. +#define STEAM_CALLBACK_MANUAL( thisclass, func, callback_type, var ) \ + CCallbackManual< thisclass, callback_type > var; void func( callback_type *pParam ) + + +// Internal functions used by the utility CCallback objects to receive callbacks +S_API void S_CALLTYPE SteamAPI_RegisterCallback( class CCallbackBase *pCallback, int iCallback ); +S_API void S_CALLTYPE SteamAPI_UnregisterCallback( class CCallbackBase *pCallback ); +// Internal functions used by the utility CCallResult objects to receive async call results +S_API void S_CALLTYPE SteamAPI_RegisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); +S_API void S_CALLTYPE SteamAPI_UnregisterCallResult( class CCallbackBase *pCallback, SteamAPICall_t hAPICall ); + + +//----------------------------------------------------------------------------- +// Purpose: base for callbacks and call results - internal implementation detail +//----------------------------------------------------------------------------- +class CCallbackBase +{ +public: + CCallbackBase() { m_nCallbackFlags = 0; m_iCallback = 0; } + // don't add a virtual destructor because we export this binary interface across dll's + virtual void Run( void *pvParam ) = 0; + virtual void Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) = 0; + int GetICallback() { return m_iCallback; } + virtual int GetCallbackSizeBytes() = 0; + +protected: + enum { k_ECallbackFlagsRegistered = 0x01, k_ECallbackFlagsGameServer = 0x02 }; + uint8 m_nCallbackFlags; + int m_iCallback; + friend class CCallbackMgr; + +private: + CCallbackBase( const CCallbackBase& ); + CCallbackBase& operator=( const CCallbackBase& ); +}; + +//----------------------------------------------------------------------------- +// Purpose: templated base for callbacks - internal implementation detail +//----------------------------------------------------------------------------- +template< int sizeof_P > +class CCallbackImpl : protected CCallbackBase +{ +public: + ~CCallbackImpl() { if ( m_nCallbackFlags & k_ECallbackFlagsRegistered ) SteamAPI_UnregisterCallback( this ); } + void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; } + +protected: + virtual void Run( void *pvParam ) = 0; + virtual void Run( void *pvParam, bool /*bIOFailure*/, SteamAPICall_t /*hSteamAPICall*/ ) { Run( pvParam ); } + virtual int GetCallbackSizeBytes() { return sizeof_P; } +}; + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam async call result to a class member function +// template params: T = local class, P = parameter struct +//----------------------------------------------------------------------------- +template< class T, class P > +class CCallResult : private CCallbackBase +{ +public: + typedef void (T::*func_t)( P*, bool ); + + CCallResult(); + ~CCallResult(); + + void Set( SteamAPICall_t hAPICall, T *p, func_t func ); + bool IsActive() const; + void Cancel(); + + void SetGameserverFlag() { m_nCallbackFlags |= k_ECallbackFlagsGameServer; } +private: + virtual void Run( void *pvParam ); + virtual void Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ); + virtual int GetCallbackSizeBytes() { return sizeof( P ); } + + SteamAPICall_t m_hAPICall; + T *m_pObj; + func_t m_Func; +}; + + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam callback to a class member function +// template params: T = local class, P = parameter struct, +// bGameserver = listen for gameserver callbacks instead of client callbacks +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameserver = false > +class CCallback : public CCallbackImpl< sizeof( P ) > +{ +public: + typedef void (T::*func_t)(P*); + + // NOTE: If you can't provide the correct parameters at construction time, you should + // use the CCallbackManual callback object (STEAM_CALLBACK_MANUAL macro) instead. + CCallback( T *pObj, func_t func ); + + void Register( T *pObj, func_t func ); + void Unregister(); + +protected: + virtual void Run( void *pvParam ); + + T *m_pObj; + func_t m_Func; +}; + + +//----------------------------------------------------------------------------- +// Purpose: subclass of CCallback which allows default-construction in +// an unregistered state; you must call Register manually +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameServer = false > +class CCallbackManual : public CCallback< T, P, bGameServer > +{ +public: + CCallbackManual() : CCallback< T, P, bGameServer >( NULL, NULL ) {} + + // Inherits public Register and Unregister functions from base class +}; + + + +#ifdef _WIN32 +// disable this warning; this pattern need for steam callback registration +#pragma warning( disable: 4355 ) // 'this' : used in base member initializer list +#endif + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steamclient.dll private wrapper functions +// +// The following functions are part of abstracting API access to the steamclient.dll, but should only be used in very specific cases +//----------------------------------------------------------------------------------------------------------------------------------------------------------// + +// SteamAPI_IsSteamRunning() returns true if Steam is currently running +S_API bool S_CALLTYPE SteamAPI_IsSteamRunning(); + +// Pumps out all the steam messages, calling registered callbacks. +// NOT THREADSAFE - do not call from multiple threads simultaneously. +S_API void Steam_RunCallbacks( HSteamPipe hSteamPipe, bool bGameServerCallbacks ); + +// register the callback funcs to use to interact with the steam dll +S_API void Steam_RegisterInterfaceFuncs( void *hModule ); + +// returns the HSteamUser of the last user to dispatch a callback +S_API HSteamUser Steam_GetHSteamUserCurrent(); + +// returns the filename path of the current running Steam process, used if you need to load an explicit steam dll by name. +// DEPRECATED - implementation is Windows only, and the path returned is a UTF-8 string which must be converted to UTF-16 for use with Win32 APIs +S_API const char *SteamAPI_GetSteamInstallPath(); + +// returns the pipe we are communicating to Steam with +S_API HSteamPipe SteamAPI_GetHSteamPipe(); + +// sets whether or not Steam_RunCallbacks() should do a try {} catch (...) {} around calls to issuing callbacks +S_API void SteamAPI_SetTryCatchCallbacks( bool bTryCatchCallbacks ); + +// backwards compat export, passes through to SteamAPI_ variants +S_API HSteamPipe GetHSteamPipe(); +S_API HSteamUser GetHSteamUser(); + + +#if defined( VERSION_SAFE_STEAM_API_INTERFACES ) +// exists only for backwards compat with code written against older SDKs +S_API bool S_CALLTYPE SteamAPI_InitSafe(); +#endif + +#include "steam_api_internal.h" + +#endif // STEAM_API_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steam_api.json b/source/Steamworks_xcode/Steamworks/Include/steam_api.json new file mode 100644 index 0000000..02bc811 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steam_api.json @@ -0,0 +1,8100 @@ +{"typedefs":[{"typedef": "uint8","type": "unsigned char"} +,{"typedef": "uint8","type": "unsigned char"} +,{"typedef": "int8","type": "signed char"} +,{"typedef": "int16","type": "short"} +,{"typedef": "uint16","type": "unsigned short"} +,{"typedef": "int32","type": "int"} +,{"typedef": "uint32","type": "unsigned int"} +,{"typedef": "int64","type": "long long"} +,{"typedef": "uint64","type": "unsigned long long"} +,{"typedef": "lint64","type": "int64"} +,{"typedef": "ulint64","type": "uint64"} +,{"typedef": "intp","type": "long long"} +,{"typedef": "uintp","type": "unsigned long long"} +,{"typedef": "Salt_t","type": "uint8 [8]"} +,{"typedef": "GID_t","type": "uint64"} +,{"typedef": "JobID_t","type": "uint64"} +,{"typedef": "TxnID_t","type": "GID_t"} +,{"typedef": "PackageId_t","type": "uint32"} +,{"typedef": "BundleId_t","type": "uint32"} +,{"typedef": "AppId_t","type": "uint32"} +,{"typedef": "AssetClassId_t","type": "uint64"} +,{"typedef": "PhysicalItemId_t","type": "uint32"} +,{"typedef": "DepotId_t","type": "uint32"} +,{"typedef": "RTime32","type": "uint32"} +,{"typedef": "CellID_t","type": "uint32"} +,{"typedef": "SteamAPICall_t","type": "uint64"} +,{"typedef": "AccountID_t","type": "uint32"} +,{"typedef": "PartnerId_t","type": "uint32"} +,{"typedef": "ManifestId_t","type": "uint64"} +,{"typedef": "SiteId_t","type": "uint64"} +,{"typedef": "HAuthTicket","type": "uint32"} +,{"typedef": "PFNLegacyKeyRegistration","type": "void (*)(const char *, const char *)"} +,{"typedef": "PFNLegacyKeyInstalled","type": "_Bool (*)(void)"} +,{"typedef": "PFNPreMinidumpCallback","type": "void (*)(void *)"} +,{"typedef": "BREAKPAD_HANDLE","type": "void *"} +,{"typedef": "ValvePackingSentinel_t","type": "struct ValvePackingSentinel_t"} +,{"typedef": "compile_time_assert_type","type": "char [1]"} +,{"typedef": "HSteamPipe","type": "int32"} +,{"typedef": "HSteamUser","type": "int32"} +,{"typedef": "SteamAPIWarningMessageHook_t","type": "void (*)(int, const char *) __attribute__((cdecl))"} +,{"typedef": "SteamAPI_CheckCallbackRegistered_t","type": "uint32 (*)(int)"} +,{"typedef": "FriendsGroupID_t","type": "int16"} +,{"typedef": "SteamAPIWarningMessageHook_t","type": "void (*)(int, const char *) __attribute__((cdecl))"} +,{"typedef": "HServerListRequest","type": "void *"} +,{"typedef": "HServerQuery","type": "int"} +,{"typedef": "UGCHandle_t","type": "uint64"} +,{"typedef": "PublishedFileUpdateHandle_t","type": "uint64"} +,{"typedef": "PublishedFileId_t","type": "uint64"} +,{"typedef": "UGCFileWriteStreamHandle_t","type": "uint64"} +,{"typedef": "compile_time_assert_type","type": "char [1]"} +,{"typedef": "SteamLeaderboard_t","type": "uint64"} +,{"typedef": "SteamLeaderboardEntries_t","type": "uint64"} +,{"typedef": "SNetSocket_t","type": "uint32"} +,{"typedef": "SNetListenSocket_t","type": "uint32"} +,{"typedef": "ScreenshotHandle","type": "uint32"} +,{"typedef": "PlaybackStatusHasChanged_t::SteamCallback_t","type": "struct PlaybackStatusHasChanged_t"} +,{"typedef": "VolumeHasChanged_t::SteamCallback_t","type": "struct VolumeHasChanged_t"} +,{"typedef": "MusicPlayerRemoteWillActivate_t::SteamCallback_t","type": "struct MusicPlayerRemoteWillActivate_t"} +,{"typedef": "MusicPlayerRemoteWillDeactivate_t::SteamCallback_t","type": "struct MusicPlayerRemoteWillDeactivate_t"} +,{"typedef": "MusicPlayerRemoteToFront_t::SteamCallback_t","type": "struct MusicPlayerRemoteToFront_t"} +,{"typedef": "MusicPlayerWillQuit_t::SteamCallback_t","type": "struct MusicPlayerWillQuit_t"} +,{"typedef": "MusicPlayerWantsPlay_t::SteamCallback_t","type": "struct MusicPlayerWantsPlay_t"} +,{"typedef": "MusicPlayerWantsPause_t::SteamCallback_t","type": "struct MusicPlayerWantsPause_t"} +,{"typedef": "MusicPlayerWantsPlayPrevious_t::SteamCallback_t","type": "struct MusicPlayerWantsPlayPrevious_t"} +,{"typedef": "MusicPlayerWantsPlayNext_t::SteamCallback_t","type": "struct MusicPlayerWantsPlayNext_t"} +,{"typedef": "MusicPlayerWantsShuffled_t::SteamCallback_t","type": "struct MusicPlayerWantsShuffled_t"} +,{"typedef": "MusicPlayerWantsLooped_t::SteamCallback_t","type": "struct MusicPlayerWantsLooped_t"} +,{"typedef": "MusicPlayerWantsVolume_t::SteamCallback_t","type": "struct MusicPlayerWantsVolume_t"} +,{"typedef": "MusicPlayerSelectsQueueEntry_t::SteamCallback_t","type": "struct MusicPlayerSelectsQueueEntry_t"} +,{"typedef": "MusicPlayerSelectsPlaylistEntry_t::SteamCallback_t","type": "struct MusicPlayerSelectsPlaylistEntry_t"} +,{"typedef": "MusicPlayerWantsPlayingRepeatStatus_t::SteamCallback_t","type": "struct MusicPlayerWantsPlayingRepeatStatus_t"} +,{"typedef": "HTTPRequestHandle","type": "uint32"} +,{"typedef": "HTTPCookieContainerHandle","type": "uint32"} +,{"typedef": "ControllerHandle_t","type": "uint64"} +,{"typedef": "ControllerActionSetHandle_t","type": "uint64"} +,{"typedef": "ControllerDigitalActionHandle_t","type": "uint64"} +,{"typedef": "ControllerAnalogActionHandle_t","type": "uint64"} +,{"typedef": "UGCQueryHandle_t","type": "uint64"} +,{"typedef": "UGCUpdateHandle_t","type": "uint64"} +,{"typedef": "SteamAppInstalled_t::SteamCallback_t","type": "struct SteamAppInstalled_t"} +,{"typedef": "SteamAppUninstalled_t::SteamCallback_t","type": "struct SteamAppUninstalled_t"} +,{"typedef": "HHTMLBrowser","type": "uint32"} +,{"typedef": "HTML_BrowserReady_t::SteamCallback_t","type": "struct HTML_BrowserReady_t"} +,{"typedef": "HTML_NeedsPaint_t::SteamCallback_t","type": "struct HTML_NeedsPaint_t"} +,{"typedef": "HTML_StartRequest_t::SteamCallback_t","type": "struct HTML_StartRequest_t"} +,{"typedef": "HTML_CloseBrowser_t::SteamCallback_t","type": "struct HTML_CloseBrowser_t"} +,{"typedef": "HTML_URLChanged_t::SteamCallback_t","type": "struct HTML_URLChanged_t"} +,{"typedef": "HTML_FinishedRequest_t::SteamCallback_t","type": "struct HTML_FinishedRequest_t"} +,{"typedef": "HTML_OpenLinkInNewTab_t::SteamCallback_t","type": "struct HTML_OpenLinkInNewTab_t"} +,{"typedef": "HTML_ChangedTitle_t::SteamCallback_t","type": "struct HTML_ChangedTitle_t"} +,{"typedef": "HTML_SearchResults_t::SteamCallback_t","type": "struct HTML_SearchResults_t"} +,{"typedef": "HTML_CanGoBackAndForward_t::SteamCallback_t","type": "struct HTML_CanGoBackAndForward_t"} +,{"typedef": "HTML_HorizontalScroll_t::SteamCallback_t","type": "struct HTML_HorizontalScroll_t"} +,{"typedef": "HTML_VerticalScroll_t::SteamCallback_t","type": "struct HTML_VerticalScroll_t"} +,{"typedef": "HTML_LinkAtPosition_t::SteamCallback_t","type": "struct HTML_LinkAtPosition_t"} +,{"typedef": "HTML_JSAlert_t::SteamCallback_t","type": "struct HTML_JSAlert_t"} +,{"typedef": "HTML_JSConfirm_t::SteamCallback_t","type": "struct HTML_JSConfirm_t"} +,{"typedef": "HTML_FileOpenDialog_t::SteamCallback_t","type": "struct HTML_FileOpenDialog_t"} +,{"typedef": "HTML_NewWindow_t::SteamCallback_t","type": "struct HTML_NewWindow_t"} +,{"typedef": "HTML_SetCursor_t::SteamCallback_t","type": "struct HTML_SetCursor_t"} +,{"typedef": "HTML_StatusText_t::SteamCallback_t","type": "struct HTML_StatusText_t"} +,{"typedef": "HTML_ShowToolTip_t::SteamCallback_t","type": "struct HTML_ShowToolTip_t"} +,{"typedef": "HTML_UpdateToolTip_t::SteamCallback_t","type": "struct HTML_UpdateToolTip_t"} +,{"typedef": "HTML_HideToolTip_t::SteamCallback_t","type": "struct HTML_HideToolTip_t"} +,{"typedef": "HTML_BrowserRestarted_t::SteamCallback_t","type": "struct HTML_BrowserRestarted_t"} +,{"typedef": "SteamItemInstanceID_t","type": "uint64"} +,{"typedef": "SteamItemDef_t","type": "int32"} +,{"typedef": "SteamInventoryResult_t","type": "int32"} +,{"typedef": "SteamInventoryUpdateHandle_t","type": "uint64"} +,{"typedef": "BroadcastUploadStart_t::SteamCallback_t","type": "struct BroadcastUploadStart_t"} +,{"typedef": "BroadcastUploadStop_t::SteamCallback_t","type": "struct BroadcastUploadStop_t"} +,{"typedef": "GetVideoURLResult_t::SteamCallback_t","type": "struct GetVideoURLResult_t"} +,{"typedef": "GetOPFSettingsResult_t::SteamCallback_t","type": "struct GetOPFSettingsResult_t"} +,{"typedef": "CCallResult::func_t","type": "void (T::*)(P *, _Bool)"} +,{"typedef": "CCallback::func_t","type": "void (T::*)(P *)"} +], +"enums":[ + {"enumname": "EUniverse","values": [ + {"name": "k_EUniverseInvalid","value": "0"} + ,{"name": "k_EUniversePublic","value": "1"} + ,{"name": "k_EUniverseBeta","value": "2"} + ,{"name": "k_EUniverseInternal","value": "3"} + ,{"name": "k_EUniverseDev","value": "4"} + ,{"name": "k_EUniverseMax","value": "5"} +]} +, {"enumname": "EResult","values": [ + {"name": "k_EResultOK","value": "1"} + ,{"name": "k_EResultFail","value": "2"} + ,{"name": "k_EResultNoConnection","value": "3"} + ,{"name": "k_EResultInvalidPassword","value": "5"} + ,{"name": "k_EResultLoggedInElsewhere","value": "6"} + ,{"name": "k_EResultInvalidProtocolVer","value": "7"} + ,{"name": "k_EResultInvalidParam","value": "8"} + ,{"name": "k_EResultFileNotFound","value": "9"} + ,{"name": "k_EResultBusy","value": "10"} + ,{"name": "k_EResultInvalidState","value": "11"} + ,{"name": "k_EResultInvalidName","value": "12"} + ,{"name": "k_EResultInvalidEmail","value": "13"} + ,{"name": "k_EResultDuplicateName","value": "14"} + ,{"name": "k_EResultAccessDenied","value": "15"} + ,{"name": "k_EResultTimeout","value": "16"} + ,{"name": "k_EResultBanned","value": "17"} + ,{"name": "k_EResultAccountNotFound","value": "18"} + ,{"name": "k_EResultInvalidSteamID","value": "19"} + ,{"name": "k_EResultServiceUnavailable","value": "20"} + ,{"name": "k_EResultNotLoggedOn","value": "21"} + ,{"name": "k_EResultPending","value": "22"} + ,{"name": "k_EResultEncryptionFailure","value": "23"} + ,{"name": "k_EResultInsufficientPrivilege","value": "24"} + ,{"name": "k_EResultLimitExceeded","value": "25"} + ,{"name": "k_EResultRevoked","value": "26"} + ,{"name": "k_EResultExpired","value": "27"} + ,{"name": "k_EResultAlreadyRedeemed","value": "28"} + ,{"name": "k_EResultDuplicateRequest","value": "29"} + ,{"name": "k_EResultAlreadyOwned","value": "30"} + ,{"name": "k_EResultIPNotFound","value": "31"} + ,{"name": "k_EResultPersistFailed","value": "32"} + ,{"name": "k_EResultLockingFailed","value": "33"} + ,{"name": "k_EResultLogonSessionReplaced","value": "34"} + ,{"name": "k_EResultConnectFailed","value": "35"} + ,{"name": "k_EResultHandshakeFailed","value": "36"} + ,{"name": "k_EResultIOFailure","value": "37"} + ,{"name": "k_EResultRemoteDisconnect","value": "38"} + ,{"name": "k_EResultShoppingCartNotFound","value": "39"} + ,{"name": "k_EResultBlocked","value": "40"} + ,{"name": "k_EResultIgnored","value": "41"} + ,{"name": "k_EResultNoMatch","value": "42"} + ,{"name": "k_EResultAccountDisabled","value": "43"} + ,{"name": "k_EResultServiceReadOnly","value": "44"} + ,{"name": "k_EResultAccountNotFeatured","value": "45"} + ,{"name": "k_EResultAdministratorOK","value": "46"} + ,{"name": "k_EResultContentVersion","value": "47"} + ,{"name": "k_EResultTryAnotherCM","value": "48"} + ,{"name": "k_EResultPasswordRequiredToKickSession","value": "49"} + ,{"name": "k_EResultAlreadyLoggedInElsewhere","value": "50"} + ,{"name": "k_EResultSuspended","value": "51"} + ,{"name": "k_EResultCancelled","value": "52"} + ,{"name": "k_EResultDataCorruption","value": "53"} + ,{"name": "k_EResultDiskFull","value": "54"} + ,{"name": "k_EResultRemoteCallFailed","value": "55"} + ,{"name": "k_EResultPasswordUnset","value": "56"} + ,{"name": "k_EResultExternalAccountUnlinked","value": "57"} + ,{"name": "k_EResultPSNTicketInvalid","value": "58"} + ,{"name": "k_EResultExternalAccountAlreadyLinked","value": "59"} + ,{"name": "k_EResultRemoteFileConflict","value": "60"} + ,{"name": "k_EResultIllegalPassword","value": "61"} + ,{"name": "k_EResultSameAsPreviousValue","value": "62"} + ,{"name": "k_EResultAccountLogonDenied","value": "63"} + ,{"name": "k_EResultCannotUseOldPassword","value": "64"} + ,{"name": "k_EResultInvalidLoginAuthCode","value": "65"} + ,{"name": "k_EResultAccountLogonDeniedNoMail","value": "66"} + ,{"name": "k_EResultHardwareNotCapableOfIPT","value": "67"} + ,{"name": "k_EResultIPTInitError","value": "68"} + ,{"name": "k_EResultParentalControlRestricted","value": "69"} + ,{"name": "k_EResultFacebookQueryError","value": "70"} + ,{"name": "k_EResultExpiredLoginAuthCode","value": "71"} + ,{"name": "k_EResultIPLoginRestrictionFailed","value": "72"} + ,{"name": "k_EResultAccountLockedDown","value": "73"} + ,{"name": "k_EResultAccountLogonDeniedVerifiedEmailRequired","value": "74"} + ,{"name": "k_EResultNoMatchingURL","value": "75"} + ,{"name": "k_EResultBadResponse","value": "76"} + ,{"name": "k_EResultRequirePasswordReEntry","value": "77"} + ,{"name": "k_EResultValueOutOfRange","value": "78"} + ,{"name": "k_EResultUnexpectedError","value": "79"} + ,{"name": "k_EResultDisabled","value": "80"} + ,{"name": "k_EResultInvalidCEGSubmission","value": "81"} + ,{"name": "k_EResultRestrictedDevice","value": "82"} + ,{"name": "k_EResultRegionLocked","value": "83"} + ,{"name": "k_EResultRateLimitExceeded","value": "84"} + ,{"name": "k_EResultAccountLoginDeniedNeedTwoFactor","value": "85"} + ,{"name": "k_EResultItemDeleted","value": "86"} + ,{"name": "k_EResultAccountLoginDeniedThrottle","value": "87"} + ,{"name": "k_EResultTwoFactorCodeMismatch","value": "88"} + ,{"name": "k_EResultTwoFactorActivationCodeMismatch","value": "89"} + ,{"name": "k_EResultAccountAssociatedToMultiplePartners","value": "90"} + ,{"name": "k_EResultNotModified","value": "91"} + ,{"name": "k_EResultNoMobileDevice","value": "92"} + ,{"name": "k_EResultTimeNotSynced","value": "93"} + ,{"name": "k_EResultSmsCodeFailed","value": "94"} + ,{"name": "k_EResultAccountLimitExceeded","value": "95"} + ,{"name": "k_EResultAccountActivityLimitExceeded","value": "96"} + ,{"name": "k_EResultPhoneActivityLimitExceeded","value": "97"} + ,{"name": "k_EResultRefundToWallet","value": "98"} + ,{"name": "k_EResultEmailSendFailure","value": "99"} + ,{"name": "k_EResultNotSettled","value": "100"} + ,{"name": "k_EResultNeedCaptcha","value": "101"} + ,{"name": "k_EResultGSLTDenied","value": "102"} + ,{"name": "k_EResultGSOwnerDenied","value": "103"} + ,{"name": "k_EResultInvalidItemType","value": "104"} + ,{"name": "k_EResultIPBanned","value": "105"} + ,{"name": "k_EResultGSLTExpired","value": "106"} + ,{"name": "k_EResultInsufficientFunds","value": "107"} + ,{"name": "k_EResultTooManyPending","value": "108"} + ,{"name": "k_EResultNoSiteLicensesFound","value": "109"} + ,{"name": "k_EResultWGNetworkSendExceeded","value": "110"} + ,{"name": "k_EResultAccountNotFriends","value": "111"} + ,{"name": "k_EResultLimitedUserAccount","value": "112"} +]} +, {"enumname": "EVoiceResult","values": [ + {"name": "k_EVoiceResultOK","value": "0"} + ,{"name": "k_EVoiceResultNotInitialized","value": "1"} + ,{"name": "k_EVoiceResultNotRecording","value": "2"} + ,{"name": "k_EVoiceResultNoData","value": "3"} + ,{"name": "k_EVoiceResultBufferTooSmall","value": "4"} + ,{"name": "k_EVoiceResultDataCorrupted","value": "5"} + ,{"name": "k_EVoiceResultRestricted","value": "6"} + ,{"name": "k_EVoiceResultUnsupportedCodec","value": "7"} + ,{"name": "k_EVoiceResultReceiverOutOfDate","value": "8"} + ,{"name": "k_EVoiceResultReceiverDidNotAnswer","value": "9"} +]} +, {"enumname": "EDenyReason","values": [ + {"name": "k_EDenyInvalid","value": "0"} + ,{"name": "k_EDenyInvalidVersion","value": "1"} + ,{"name": "k_EDenyGeneric","value": "2"} + ,{"name": "k_EDenyNotLoggedOn","value": "3"} + ,{"name": "k_EDenyNoLicense","value": "4"} + ,{"name": "k_EDenyCheater","value": "5"} + ,{"name": "k_EDenyLoggedInElseWhere","value": "6"} + ,{"name": "k_EDenyUnknownText","value": "7"} + ,{"name": "k_EDenyIncompatibleAnticheat","value": "8"} + ,{"name": "k_EDenyMemoryCorruption","value": "9"} + ,{"name": "k_EDenyIncompatibleSoftware","value": "10"} + ,{"name": "k_EDenySteamConnectionLost","value": "11"} + ,{"name": "k_EDenySteamConnectionError","value": "12"} + ,{"name": "k_EDenySteamResponseTimedOut","value": "13"} + ,{"name": "k_EDenySteamValidationStalled","value": "14"} + ,{"name": "k_EDenySteamOwnerLeftGuestUser","value": "15"} +]} +, {"enumname": "EBeginAuthSessionResult","values": [ + {"name": "k_EBeginAuthSessionResultOK","value": "0"} + ,{"name": "k_EBeginAuthSessionResultInvalidTicket","value": "1"} + ,{"name": "k_EBeginAuthSessionResultDuplicateRequest","value": "2"} + ,{"name": "k_EBeginAuthSessionResultInvalidVersion","value": "3"} + ,{"name": "k_EBeginAuthSessionResultGameMismatch","value": "4"} + ,{"name": "k_EBeginAuthSessionResultExpiredTicket","value": "5"} +]} +, {"enumname": "EAuthSessionResponse","values": [ + {"name": "k_EAuthSessionResponseOK","value": "0"} + ,{"name": "k_EAuthSessionResponseUserNotConnectedToSteam","value": "1"} + ,{"name": "k_EAuthSessionResponseNoLicenseOrExpired","value": "2"} + ,{"name": "k_EAuthSessionResponseVACBanned","value": "3"} + ,{"name": "k_EAuthSessionResponseLoggedInElseWhere","value": "4"} + ,{"name": "k_EAuthSessionResponseVACCheckTimedOut","value": "5"} + ,{"name": "k_EAuthSessionResponseAuthTicketCanceled","value": "6"} + ,{"name": "k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed","value": "7"} + ,{"name": "k_EAuthSessionResponseAuthTicketInvalid","value": "8"} + ,{"name": "k_EAuthSessionResponsePublisherIssuedBan","value": "9"} +]} +, {"enumname": "EUserHasLicenseForAppResult","values": [ + {"name": "k_EUserHasLicenseResultHasLicense","value": "0"} + ,{"name": "k_EUserHasLicenseResultDoesNotHaveLicense","value": "1"} + ,{"name": "k_EUserHasLicenseResultNoAuth","value": "2"} +]} +, {"enumname": "EAccountType","values": [ + {"name": "k_EAccountTypeInvalid","value": "0"} + ,{"name": "k_EAccountTypeIndividual","value": "1"} + ,{"name": "k_EAccountTypeMultiseat","value": "2"} + ,{"name": "k_EAccountTypeGameServer","value": "3"} + ,{"name": "k_EAccountTypeAnonGameServer","value": "4"} + ,{"name": "k_EAccountTypePending","value": "5"} + ,{"name": "k_EAccountTypeContentServer","value": "6"} + ,{"name": "k_EAccountTypeClan","value": "7"} + ,{"name": "k_EAccountTypeChat","value": "8"} + ,{"name": "k_EAccountTypeConsoleUser","value": "9"} + ,{"name": "k_EAccountTypeAnonUser","value": "10"} + ,{"name": "k_EAccountTypeMax","value": "11"} +]} +, {"enumname": "EAppReleaseState","values": [ + {"name": "k_EAppReleaseState_Unknown","value": "0"} + ,{"name": "k_EAppReleaseState_Unavailable","value": "1"} + ,{"name": "k_EAppReleaseState_Prerelease","value": "2"} + ,{"name": "k_EAppReleaseState_PreloadOnly","value": "3"} + ,{"name": "k_EAppReleaseState_Released","value": "4"} +]} +, {"enumname": "EAppOwnershipFlags","values": [ + {"name": "k_EAppOwnershipFlags_None","value": "0"} + ,{"name": "k_EAppOwnershipFlags_OwnsLicense","value": "1"} + ,{"name": "k_EAppOwnershipFlags_FreeLicense","value": "2"} + ,{"name": "k_EAppOwnershipFlags_RegionRestricted","value": "4"} + ,{"name": "k_EAppOwnershipFlags_LowViolence","value": "8"} + ,{"name": "k_EAppOwnershipFlags_InvalidPlatform","value": "16"} + ,{"name": "k_EAppOwnershipFlags_SharedLicense","value": "32"} + ,{"name": "k_EAppOwnershipFlags_FreeWeekend","value": "64"} + ,{"name": "k_EAppOwnershipFlags_RetailLicense","value": "128"} + ,{"name": "k_EAppOwnershipFlags_LicenseLocked","value": "256"} + ,{"name": "k_EAppOwnershipFlags_LicensePending","value": "512"} + ,{"name": "k_EAppOwnershipFlags_LicenseExpired","value": "1024"} + ,{"name": "k_EAppOwnershipFlags_LicensePermanent","value": "2048"} + ,{"name": "k_EAppOwnershipFlags_LicenseRecurring","value": "4096"} + ,{"name": "k_EAppOwnershipFlags_LicenseCanceled","value": "8192"} + ,{"name": "k_EAppOwnershipFlags_AutoGrant","value": "16384"} + ,{"name": "k_EAppOwnershipFlags_PendingGift","value": "32768"} + ,{"name": "k_EAppOwnershipFlags_RentalNotActivated","value": "65536"} + ,{"name": "k_EAppOwnershipFlags_Rental","value": "131072"} + ,{"name": "k_EAppOwnershipFlags_SiteLicense","value": "262144"} +]} +, {"enumname": "EAppType","values": [ + {"name": "k_EAppType_Invalid","value": "0"} + ,{"name": "k_EAppType_Game","value": "1"} + ,{"name": "k_EAppType_Application","value": "2"} + ,{"name": "k_EAppType_Tool","value": "4"} + ,{"name": "k_EAppType_Demo","value": "8"} + ,{"name": "k_EAppType_Media_DEPRECATED","value": "16"} + ,{"name": "k_EAppType_DLC","value": "32"} + ,{"name": "k_EAppType_Guide","value": "64"} + ,{"name": "k_EAppType_Driver","value": "128"} + ,{"name": "k_EAppType_Config","value": "256"} + ,{"name": "k_EAppType_Hardware","value": "512"} + ,{"name": "k_EAppType_Franchise","value": "1024"} + ,{"name": "k_EAppType_Video","value": "2048"} + ,{"name": "k_EAppType_Plugin","value": "4096"} + ,{"name": "k_EAppType_Music","value": "8192"} + ,{"name": "k_EAppType_Series","value": "16384"} + ,{"name": "k_EAppType_Comic","value": "32768"} + ,{"name": "k_EAppType_Shortcut","value": "1073741824"} + ,{"name": "k_EAppType_DepotOnly","value": "-2147483648"} +]} +, {"enumname": "ESteamUserStatType","values": [ + {"name": "k_ESteamUserStatTypeINVALID","value": "0"} + ,{"name": "k_ESteamUserStatTypeINT","value": "1"} + ,{"name": "k_ESteamUserStatTypeFLOAT","value": "2"} + ,{"name": "k_ESteamUserStatTypeAVGRATE","value": "3"} + ,{"name": "k_ESteamUserStatTypeACHIEVEMENTS","value": "4"} + ,{"name": "k_ESteamUserStatTypeGROUPACHIEVEMENTS","value": "5"} + ,{"name": "k_ESteamUserStatTypeMAX","value": "6"} +]} +, {"enumname": "EChatEntryType","values": [ + {"name": "k_EChatEntryTypeInvalid","value": "0"} + ,{"name": "k_EChatEntryTypeChatMsg","value": "1"} + ,{"name": "k_EChatEntryTypeTyping","value": "2"} + ,{"name": "k_EChatEntryTypeInviteGame","value": "3"} + ,{"name": "k_EChatEntryTypeEmote","value": "4"} + ,{"name": "k_EChatEntryTypeLeftConversation","value": "6"} + ,{"name": "k_EChatEntryTypeEntered","value": "7"} + ,{"name": "k_EChatEntryTypeWasKicked","value": "8"} + ,{"name": "k_EChatEntryTypeWasBanned","value": "9"} + ,{"name": "k_EChatEntryTypeDisconnected","value": "10"} + ,{"name": "k_EChatEntryTypeHistoricalChat","value": "11"} + ,{"name": "k_EChatEntryTypeLinkBlocked","value": "14"} +]} +, {"enumname": "EChatRoomEnterResponse","values": [ + {"name": "k_EChatRoomEnterResponseSuccess","value": "1"} + ,{"name": "k_EChatRoomEnterResponseDoesntExist","value": "2"} + ,{"name": "k_EChatRoomEnterResponseNotAllowed","value": "3"} + ,{"name": "k_EChatRoomEnterResponseFull","value": "4"} + ,{"name": "k_EChatRoomEnterResponseError","value": "5"} + ,{"name": "k_EChatRoomEnterResponseBanned","value": "6"} + ,{"name": "k_EChatRoomEnterResponseLimited","value": "7"} + ,{"name": "k_EChatRoomEnterResponseClanDisabled","value": "8"} + ,{"name": "k_EChatRoomEnterResponseCommunityBan","value": "9"} + ,{"name": "k_EChatRoomEnterResponseMemberBlockedYou","value": "10"} + ,{"name": "k_EChatRoomEnterResponseYouBlockedMember","value": "11"} + ,{"name": "k_EChatRoomEnterResponseRatelimitExceeded","value": "15"} +]} +, {"enumname": "EChatSteamIDInstanceFlags","values": [ + {"name": "k_EChatAccountInstanceMask","value": "4095"} + ,{"name": "k_EChatInstanceFlagClan","value": "524288"} + ,{"name": "k_EChatInstanceFlagLobby","value": "262144"} + ,{"name": "k_EChatInstanceFlagMMSLobby","value": "131072"} +]} +, {"enumname": "EMarketingMessageFlags","values": [ + {"name": "k_EMarketingMessageFlagsNone","value": "0"} + ,{"name": "k_EMarketingMessageFlagsHighPriority","value": "1"} + ,{"name": "k_EMarketingMessageFlagsPlatformWindows","value": "2"} + ,{"name": "k_EMarketingMessageFlagsPlatformMac","value": "4"} + ,{"name": "k_EMarketingMessageFlagsPlatformLinux","value": "8"} + ,{"name": "k_EMarketingMessageFlagsPlatformRestrictions","value": "14"} +]} +, {"enumname": "ENotificationPosition","values": [ + {"name": "k_EPositionTopLeft","value": "0"} + ,{"name": "k_EPositionTopRight","value": "1"} + ,{"name": "k_EPositionBottomLeft","value": "2"} + ,{"name": "k_EPositionBottomRight","value": "3"} +]} +, {"enumname": "EBroadcastUploadResult","values": [ + {"name": "k_EBroadcastUploadResultNone","value": "0"} + ,{"name": "k_EBroadcastUploadResultOK","value": "1"} + ,{"name": "k_EBroadcastUploadResultInitFailed","value": "2"} + ,{"name": "k_EBroadcastUploadResultFrameFailed","value": "3"} + ,{"name": "k_EBroadcastUploadResultTimeout","value": "4"} + ,{"name": "k_EBroadcastUploadResultBandwidthExceeded","value": "5"} + ,{"name": "k_EBroadcastUploadResultLowFPS","value": "6"} + ,{"name": "k_EBroadcastUploadResultMissingKeyFrames","value": "7"} + ,{"name": "k_EBroadcastUploadResultNoConnection","value": "8"} + ,{"name": "k_EBroadcastUploadResultRelayFailed","value": "9"} + ,{"name": "k_EBroadcastUploadResultSettingsChanged","value": "10"} + ,{"name": "k_EBroadcastUploadResultMissingAudio","value": "11"} + ,{"name": "k_EBroadcastUploadResultTooFarBehind","value": "12"} + ,{"name": "k_EBroadcastUploadResultTranscodeBehind","value": "13"} +]} +, {"enumname": "ELaunchOptionType","values": [ + {"name": "k_ELaunchOptionType_None","value": "0"} + ,{"name": "k_ELaunchOptionType_Default","value": "1"} + ,{"name": "k_ELaunchOptionType_SafeMode","value": "2"} + ,{"name": "k_ELaunchOptionType_Multiplayer","value": "3"} + ,{"name": "k_ELaunchOptionType_Config","value": "4"} + ,{"name": "k_ELaunchOptionType_OpenVR","value": "5"} + ,{"name": "k_ELaunchOptionType_Server","value": "6"} + ,{"name": "k_ELaunchOptionType_Editor","value": "7"} + ,{"name": "k_ELaunchOptionType_Manual","value": "8"} + ,{"name": "k_ELaunchOptionType_Benchmark","value": "9"} + ,{"name": "k_ELaunchOptionType_Option1","value": "10"} + ,{"name": "k_ELaunchOptionType_Option2","value": "11"} + ,{"name": "k_ELaunchOptionType_Option3","value": "12"} + ,{"name": "k_ELaunchOptionType_OculusVR","value": "13"} + ,{"name": "k_ELaunchOptionType_OpenVROverlay","value": "14"} + ,{"name": "k_ELaunchOptionType_OSVR","value": "15"} + ,{"name": "k_ELaunchOptionType_Dialog","value": "1000"} +]} +, {"enumname": "EVRHMDType","values": [ + {"name": "k_eEVRHMDType_None","value": "-1"} + ,{"name": "k_eEVRHMDType_Unknown","value": "0"} + ,{"name": "k_eEVRHMDType_HTC_Dev","value": "1"} + ,{"name": "k_eEVRHMDType_HTC_VivePre","value": "2"} + ,{"name": "k_eEVRHMDType_HTC_Vive","value": "3"} + ,{"name": "k_eEVRHMDType_HTC_Unknown","value": "20"} + ,{"name": "k_eEVRHMDType_Oculus_DK1","value": "21"} + ,{"name": "k_eEVRHMDType_Oculus_DK2","value": "22"} + ,{"name": "k_eEVRHMDType_Oculus_Rift","value": "23"} + ,{"name": "k_eEVRHMDType_Oculus_Unknown","value": "40"} + ,{"name": "k_eEVRHMDType_Acer_Unknown","value": "50"} + ,{"name": "k_eEVRHMDType_Acer_WindowsMR","value": "51"} + ,{"name": "k_eEVRHMDType_Dell_Unknown","value": "60"} + ,{"name": "k_eEVRHMDType_Dell_Visor","value": "61"} + ,{"name": "k_eEVRHMDType_Lenovo_Unknown","value": "70"} + ,{"name": "k_eEVRHMDType_Lenovo_Explorer","value": "71"} + ,{"name": "k_eEVRHMDType_HP_Unknown","value": "80"} + ,{"name": "k_eEVRHMDType_HP_WindowsMR","value": "81"} + ,{"name": "k_eEVRHMDType_Samsung_Unknown","value": "90"} + ,{"name": "k_eEVRHMDType_Samsung_Odyssey","value": "91"} + ,{"name": "k_eEVRHMDType_Unannounced_Unknown","value": "100"} + ,{"name": "k_eEVRHMDType_Unannounced_WindowsMR","value": "101"} +]} +, {"enumname": "CGameID::EGameIDType","values": [ + {"name": "k_EGameIDTypeApp","value": "0"} + ,{"name": "k_EGameIDTypeGameMod","value": "1"} + ,{"name": "k_EGameIDTypeShortcut","value": "2"} + ,{"name": "k_EGameIDTypeP2P","value": "3"} +]} +, {"enumname": "IPCFailure_t::EFailureType","values": [ + {"name": "k_EFailureFlushedCallbackQueue","value": "0"} + ,{"name": "k_EFailurePipeFail","value": "1"} +]} +, {"enumname": "EFriendRelationship","values": [ + {"name": "k_EFriendRelationshipNone","value": "0"} + ,{"name": "k_EFriendRelationshipBlocked","value": "1"} + ,{"name": "k_EFriendRelationshipRequestRecipient","value": "2"} + ,{"name": "k_EFriendRelationshipFriend","value": "3"} + ,{"name": "k_EFriendRelationshipRequestInitiator","value": "4"} + ,{"name": "k_EFriendRelationshipIgnored","value": "5"} + ,{"name": "k_EFriendRelationshipIgnoredFriend","value": "6"} + ,{"name": "k_EFriendRelationshipSuggested_DEPRECATED","value": "7"} + ,{"name": "k_EFriendRelationshipMax","value": "8"} +]} +, {"enumname": "EPersonaState","values": [ + {"name": "k_EPersonaStateOffline","value": "0"} + ,{"name": "k_EPersonaStateOnline","value": "1"} + ,{"name": "k_EPersonaStateBusy","value": "2"} + ,{"name": "k_EPersonaStateAway","value": "3"} + ,{"name": "k_EPersonaStateSnooze","value": "4"} + ,{"name": "k_EPersonaStateLookingToTrade","value": "5"} + ,{"name": "k_EPersonaStateLookingToPlay","value": "6"} + ,{"name": "k_EPersonaStateMax","value": "7"} +]} +, {"enumname": "EFriendFlags","values": [ + {"name": "k_EFriendFlagNone","value": "0"} + ,{"name": "k_EFriendFlagBlocked","value": "1"} + ,{"name": "k_EFriendFlagFriendshipRequested","value": "2"} + ,{"name": "k_EFriendFlagImmediate","value": "4"} + ,{"name": "k_EFriendFlagClanMember","value": "8"} + ,{"name": "k_EFriendFlagOnGameServer","value": "16"} + ,{"name": "k_EFriendFlagRequestingFriendship","value": "128"} + ,{"name": "k_EFriendFlagRequestingInfo","value": "256"} + ,{"name": "k_EFriendFlagIgnored","value": "512"} + ,{"name": "k_EFriendFlagIgnoredFriend","value": "1024"} + ,{"name": "k_EFriendFlagChatMember","value": "4096"} + ,{"name": "k_EFriendFlagAll","value": "65535"} +]} +, {"enumname": "EUserRestriction","values": [ + {"name": "k_nUserRestrictionNone","value": "0"} + ,{"name": "k_nUserRestrictionUnknown","value": "1"} + ,{"name": "k_nUserRestrictionAnyChat","value": "2"} + ,{"name": "k_nUserRestrictionVoiceChat","value": "4"} + ,{"name": "k_nUserRestrictionGroupChat","value": "8"} + ,{"name": "k_nUserRestrictionRating","value": "16"} + ,{"name": "k_nUserRestrictionGameInvites","value": "32"} + ,{"name": "k_nUserRestrictionTrading","value": "64"} +]} +, {"enumname": "EOverlayToStoreFlag","values": [ + {"name": "k_EOverlayToStoreFlag_None","value": "0"} + ,{"name": "k_EOverlayToStoreFlag_AddToCart","value": "1"} + ,{"name": "k_EOverlayToStoreFlag_AddToCartAndShow","value": "2"} +]} +, {"enumname": "EPersonaChange","values": [ + {"name": "k_EPersonaChangeName","value": "1"} + ,{"name": "k_EPersonaChangeStatus","value": "2"} + ,{"name": "k_EPersonaChangeComeOnline","value": "4"} + ,{"name": "k_EPersonaChangeGoneOffline","value": "8"} + ,{"name": "k_EPersonaChangeGamePlayed","value": "16"} + ,{"name": "k_EPersonaChangeGameServer","value": "32"} + ,{"name": "k_EPersonaChangeAvatar","value": "64"} + ,{"name": "k_EPersonaChangeJoinedSource","value": "128"} + ,{"name": "k_EPersonaChangeLeftSource","value": "256"} + ,{"name": "k_EPersonaChangeRelationshipChanged","value": "512"} + ,{"name": "k_EPersonaChangeNameFirstSet","value": "1024"} + ,{"name": "k_EPersonaChangeFacebookInfo","value": "2048"} + ,{"name": "k_EPersonaChangeNickname","value": "4096"} + ,{"name": "k_EPersonaChangeSteamLevel","value": "8192"} +]} +, {"enumname": "ESteamAPICallFailure","values": [ + {"name": "k_ESteamAPICallFailureNone","value": "-1"} + ,{"name": "k_ESteamAPICallFailureSteamGone","value": "0"} + ,{"name": "k_ESteamAPICallFailureNetworkFailure","value": "1"} + ,{"name": "k_ESteamAPICallFailureInvalidHandle","value": "2"} + ,{"name": "k_ESteamAPICallFailureMismatchedCallback","value": "3"} +]} +, {"enumname": "EGamepadTextInputMode","values": [ + {"name": "k_EGamepadTextInputModeNormal","value": "0"} + ,{"name": "k_EGamepadTextInputModePassword","value": "1"} +]} +, {"enumname": "EGamepadTextInputLineMode","values": [ + {"name": "k_EGamepadTextInputLineModeSingleLine","value": "0"} + ,{"name": "k_EGamepadTextInputLineModeMultipleLines","value": "1"} +]} +, {"enumname": "ECheckFileSignature","values": [ + {"name": "k_ECheckFileSignatureInvalidSignature","value": "0"} + ,{"name": "k_ECheckFileSignatureValidSignature","value": "1"} + ,{"name": "k_ECheckFileSignatureFileNotFound","value": "2"} + ,{"name": "k_ECheckFileSignatureNoSignaturesFoundForThisApp","value": "3"} + ,{"name": "k_ECheckFileSignatureNoSignaturesFoundForThisFile","value": "4"} +]} +, {"enumname": "EMatchMakingServerResponse","values": [ + {"name": "eServerResponded","value": "0"} + ,{"name": "eServerFailedToRespond","value": "1"} + ,{"name": "eNoServersListedOnMasterServer","value": "2"} +]} +, {"enumname": "ELobbyType","values": [ + {"name": "k_ELobbyTypePrivate","value": "0"} + ,{"name": "k_ELobbyTypeFriendsOnly","value": "1"} + ,{"name": "k_ELobbyTypePublic","value": "2"} + ,{"name": "k_ELobbyTypeInvisible","value": "3"} +]} +, {"enumname": "ELobbyComparison","values": [ + {"name": "k_ELobbyComparisonEqualToOrLessThan","value": "-2"} + ,{"name": "k_ELobbyComparisonLessThan","value": "-1"} + ,{"name": "k_ELobbyComparisonEqual","value": "0"} + ,{"name": "k_ELobbyComparisonGreaterThan","value": "1"} + ,{"name": "k_ELobbyComparisonEqualToOrGreaterThan","value": "2"} + ,{"name": "k_ELobbyComparisonNotEqual","value": "3"} +]} +, {"enumname": "ELobbyDistanceFilter","values": [ + {"name": "k_ELobbyDistanceFilterClose","value": "0"} + ,{"name": "k_ELobbyDistanceFilterDefault","value": "1"} + ,{"name": "k_ELobbyDistanceFilterFar","value": "2"} + ,{"name": "k_ELobbyDistanceFilterWorldwide","value": "3"} +]} +, {"enumname": "EChatMemberStateChange","values": [ + {"name": "k_EChatMemberStateChangeEntered","value": "1"} + ,{"name": "k_EChatMemberStateChangeLeft","value": "2"} + ,{"name": "k_EChatMemberStateChangeDisconnected","value": "4"} + ,{"name": "k_EChatMemberStateChangeKicked","value": "8"} + ,{"name": "k_EChatMemberStateChangeBanned","value": "16"} +]} +, {"enumname": "ERemoteStoragePlatform","values": [ + {"name": "k_ERemoteStoragePlatformNone","value": "0"} + ,{"name": "k_ERemoteStoragePlatformWindows","value": "1"} + ,{"name": "k_ERemoteStoragePlatformOSX","value": "2"} + ,{"name": "k_ERemoteStoragePlatformPS3","value": "4"} + ,{"name": "k_ERemoteStoragePlatformLinux","value": "8"} + ,{"name": "k_ERemoteStoragePlatformReserved2","value": "16"} + ,{"name": "k_ERemoteStoragePlatformAll","value": "-1"} +]} +, {"enumname": "ERemoteStoragePublishedFileVisibility","values": [ + {"name": "k_ERemoteStoragePublishedFileVisibilityPublic","value": "0"} + ,{"name": "k_ERemoteStoragePublishedFileVisibilityFriendsOnly","value": "1"} + ,{"name": "k_ERemoteStoragePublishedFileVisibilityPrivate","value": "2"} +]} +, {"enumname": "EWorkshopFileType","values": [ + {"name": "k_EWorkshopFileTypeFirst","value": "0"} + ,{"name": "k_EWorkshopFileTypeCommunity","value": "0"} + ,{"name": "k_EWorkshopFileTypeMicrotransaction","value": "1"} + ,{"name": "k_EWorkshopFileTypeCollection","value": "2"} + ,{"name": "k_EWorkshopFileTypeArt","value": "3"} + ,{"name": "k_EWorkshopFileTypeVideo","value": "4"} + ,{"name": "k_EWorkshopFileTypeScreenshot","value": "5"} + ,{"name": "k_EWorkshopFileTypeGame","value": "6"} + ,{"name": "k_EWorkshopFileTypeSoftware","value": "7"} + ,{"name": "k_EWorkshopFileTypeConcept","value": "8"} + ,{"name": "k_EWorkshopFileTypeWebGuide","value": "9"} + ,{"name": "k_EWorkshopFileTypeIntegratedGuide","value": "10"} + ,{"name": "k_EWorkshopFileTypeMerch","value": "11"} + ,{"name": "k_EWorkshopFileTypeControllerBinding","value": "12"} + ,{"name": "k_EWorkshopFileTypeSteamworksAccessInvite","value": "13"} + ,{"name": "k_EWorkshopFileTypeSteamVideo","value": "14"} + ,{"name": "k_EWorkshopFileTypeGameManagedItem","value": "15"} + ,{"name": "k_EWorkshopFileTypeMax","value": "16"} +]} +, {"enumname": "EWorkshopVote","values": [ + {"name": "k_EWorkshopVoteUnvoted","value": "0"} + ,{"name": "k_EWorkshopVoteFor","value": "1"} + ,{"name": "k_EWorkshopVoteAgainst","value": "2"} + ,{"name": "k_EWorkshopVoteLater","value": "3"} +]} +, {"enumname": "EWorkshopFileAction","values": [ + {"name": "k_EWorkshopFileActionPlayed","value": "0"} + ,{"name": "k_EWorkshopFileActionCompleted","value": "1"} +]} +, {"enumname": "EWorkshopEnumerationType","values": [ + {"name": "k_EWorkshopEnumerationTypeRankedByVote","value": "0"} + ,{"name": "k_EWorkshopEnumerationTypeRecent","value": "1"} + ,{"name": "k_EWorkshopEnumerationTypeTrending","value": "2"} + ,{"name": "k_EWorkshopEnumerationTypeFavoritesOfFriends","value": "3"} + ,{"name": "k_EWorkshopEnumerationTypeVotedByFriends","value": "4"} + ,{"name": "k_EWorkshopEnumerationTypeContentByFriends","value": "5"} + ,{"name": "k_EWorkshopEnumerationTypeRecentFromFollowedUsers","value": "6"} +]} +, {"enumname": "EWorkshopVideoProvider","values": [ + {"name": "k_EWorkshopVideoProviderNone","value": "0"} + ,{"name": "k_EWorkshopVideoProviderYoutube","value": "1"} +]} +, {"enumname": "EUGCReadAction","values": [ + {"name": "k_EUGCRead_ContinueReadingUntilFinished","value": "0"} + ,{"name": "k_EUGCRead_ContinueReading","value": "1"} + ,{"name": "k_EUGCRead_Close","value": "2"} +]} +, {"enumname": "ELeaderboardDataRequest","values": [ + {"name": "k_ELeaderboardDataRequestGlobal","value": "0"} + ,{"name": "k_ELeaderboardDataRequestGlobalAroundUser","value": "1"} + ,{"name": "k_ELeaderboardDataRequestFriends","value": "2"} + ,{"name": "k_ELeaderboardDataRequestUsers","value": "3"} +]} +, {"enumname": "ELeaderboardSortMethod","values": [ + {"name": "k_ELeaderboardSortMethodNone","value": "0"} + ,{"name": "k_ELeaderboardSortMethodAscending","value": "1"} + ,{"name": "k_ELeaderboardSortMethodDescending","value": "2"} +]} +, {"enumname": "ELeaderboardDisplayType","values": [ + {"name": "k_ELeaderboardDisplayTypeNone","value": "0"} + ,{"name": "k_ELeaderboardDisplayTypeNumeric","value": "1"} + ,{"name": "k_ELeaderboardDisplayTypeTimeSeconds","value": "2"} + ,{"name": "k_ELeaderboardDisplayTypeTimeMilliSeconds","value": "3"} +]} +, {"enumname": "ELeaderboardUploadScoreMethod","values": [ + {"name": "k_ELeaderboardUploadScoreMethodNone","value": "0"} + ,{"name": "k_ELeaderboardUploadScoreMethodKeepBest","value": "1"} + ,{"name": "k_ELeaderboardUploadScoreMethodForceUpdate","value": "2"} +]} +, {"enumname": "ERegisterActivationCodeResult","values": [ + {"name": "k_ERegisterActivationCodeResultOK","value": "0"} + ,{"name": "k_ERegisterActivationCodeResultFail","value": "1"} + ,{"name": "k_ERegisterActivationCodeResultAlreadyRegistered","value": "2"} + ,{"name": "k_ERegisterActivationCodeResultTimeout","value": "3"} + ,{"name": "k_ERegisterActivationCodeAlreadyOwned","value": "4"} +]} +, {"enumname": "EP2PSessionError","values": [ + {"name": "k_EP2PSessionErrorNone","value": "0"} + ,{"name": "k_EP2PSessionErrorNotRunningApp","value": "1"} + ,{"name": "k_EP2PSessionErrorNoRightsToApp","value": "2"} + ,{"name": "k_EP2PSessionErrorDestinationNotLoggedIn","value": "3"} + ,{"name": "k_EP2PSessionErrorTimeout","value": "4"} + ,{"name": "k_EP2PSessionErrorMax","value": "5"} +]} +, {"enumname": "EP2PSend","values": [ + {"name": "k_EP2PSendUnreliable","value": "0"} + ,{"name": "k_EP2PSendUnreliableNoDelay","value": "1"} + ,{"name": "k_EP2PSendReliable","value": "2"} + ,{"name": "k_EP2PSendReliableWithBuffering","value": "3"} +]} +, {"enumname": "ESNetSocketState","values": [ + {"name": "k_ESNetSocketStateInvalid","value": "0"} + ,{"name": "k_ESNetSocketStateConnected","value": "1"} + ,{"name": "k_ESNetSocketStateInitiated","value": "10"} + ,{"name": "k_ESNetSocketStateLocalCandidatesFound","value": "11"} + ,{"name": "k_ESNetSocketStateReceivedRemoteCandidates","value": "12"} + ,{"name": "k_ESNetSocketStateChallengeHandshake","value": "15"} + ,{"name": "k_ESNetSocketStateDisconnecting","value": "21"} + ,{"name": "k_ESNetSocketStateLocalDisconnect","value": "22"} + ,{"name": "k_ESNetSocketStateTimeoutDuringConnect","value": "23"} + ,{"name": "k_ESNetSocketStateRemoteEndDisconnected","value": "24"} + ,{"name": "k_ESNetSocketStateConnectionBroken","value": "25"} +]} +, {"enumname": "ESNetSocketConnectionType","values": [ + {"name": "k_ESNetSocketConnectionTypeNotConnected","value": "0"} + ,{"name": "k_ESNetSocketConnectionTypeUDP","value": "1"} + ,{"name": "k_ESNetSocketConnectionTypeUDPRelay","value": "2"} +]} +, {"enumname": "EVRScreenshotType","values": [ + {"name": "k_EVRScreenshotType_None","value": "0"} + ,{"name": "k_EVRScreenshotType_Mono","value": "1"} + ,{"name": "k_EVRScreenshotType_Stereo","value": "2"} + ,{"name": "k_EVRScreenshotType_MonoCubemap","value": "3"} + ,{"name": "k_EVRScreenshotType_MonoPanorama","value": "4"} + ,{"name": "k_EVRScreenshotType_StereoPanorama","value": "5"} +]} +, {"enumname": "AudioPlayback_Status","values": [ + {"name": "AudioPlayback_Undefined","value": "0"} + ,{"name": "AudioPlayback_Playing","value": "1"} + ,{"name": "AudioPlayback_Paused","value": "2"} + ,{"name": "AudioPlayback_Idle","value": "3"} +]} +, {"enumname": "EHTTPMethod","values": [ + {"name": "k_EHTTPMethodInvalid","value": "0"} + ,{"name": "k_EHTTPMethodGET","value": "1"} + ,{"name": "k_EHTTPMethodHEAD","value": "2"} + ,{"name": "k_EHTTPMethodPOST","value": "3"} + ,{"name": "k_EHTTPMethodPUT","value": "4"} + ,{"name": "k_EHTTPMethodDELETE","value": "5"} + ,{"name": "k_EHTTPMethodOPTIONS","value": "6"} + ,{"name": "k_EHTTPMethodPATCH","value": "7"} +]} +, {"enumname": "EHTTPStatusCode","values": [ + {"name": "k_EHTTPStatusCodeInvalid","value": "0"} + ,{"name": "k_EHTTPStatusCode100Continue","value": "100"} + ,{"name": "k_EHTTPStatusCode101SwitchingProtocols","value": "101"} + ,{"name": "k_EHTTPStatusCode200OK","value": "200"} + ,{"name": "k_EHTTPStatusCode201Created","value": "201"} + ,{"name": "k_EHTTPStatusCode202Accepted","value": "202"} + ,{"name": "k_EHTTPStatusCode203NonAuthoritative","value": "203"} + ,{"name": "k_EHTTPStatusCode204NoContent","value": "204"} + ,{"name": "k_EHTTPStatusCode205ResetContent","value": "205"} + ,{"name": "k_EHTTPStatusCode206PartialContent","value": "206"} + ,{"name": "k_EHTTPStatusCode300MultipleChoices","value": "300"} + ,{"name": "k_EHTTPStatusCode301MovedPermanently","value": "301"} + ,{"name": "k_EHTTPStatusCode302Found","value": "302"} + ,{"name": "k_EHTTPStatusCode303SeeOther","value": "303"} + ,{"name": "k_EHTTPStatusCode304NotModified","value": "304"} + ,{"name": "k_EHTTPStatusCode305UseProxy","value": "305"} + ,{"name": "k_EHTTPStatusCode307TemporaryRedirect","value": "307"} + ,{"name": "k_EHTTPStatusCode400BadRequest","value": "400"} + ,{"name": "k_EHTTPStatusCode401Unauthorized","value": "401"} + ,{"name": "k_EHTTPStatusCode402PaymentRequired","value": "402"} + ,{"name": "k_EHTTPStatusCode403Forbidden","value": "403"} + ,{"name": "k_EHTTPStatusCode404NotFound","value": "404"} + ,{"name": "k_EHTTPStatusCode405MethodNotAllowed","value": "405"} + ,{"name": "k_EHTTPStatusCode406NotAcceptable","value": "406"} + ,{"name": "k_EHTTPStatusCode407ProxyAuthRequired","value": "407"} + ,{"name": "k_EHTTPStatusCode408RequestTimeout","value": "408"} + ,{"name": "k_EHTTPStatusCode409Conflict","value": "409"} + ,{"name": "k_EHTTPStatusCode410Gone","value": "410"} + ,{"name": "k_EHTTPStatusCode411LengthRequired","value": "411"} + ,{"name": "k_EHTTPStatusCode412PreconditionFailed","value": "412"} + ,{"name": "k_EHTTPStatusCode413RequestEntityTooLarge","value": "413"} + ,{"name": "k_EHTTPStatusCode414RequestURITooLong","value": "414"} + ,{"name": "k_EHTTPStatusCode415UnsupportedMediaType","value": "415"} + ,{"name": "k_EHTTPStatusCode416RequestedRangeNotSatisfiable","value": "416"} + ,{"name": "k_EHTTPStatusCode417ExpectationFailed","value": "417"} + ,{"name": "k_EHTTPStatusCode4xxUnknown","value": "418"} + ,{"name": "k_EHTTPStatusCode429TooManyRequests","value": "429"} + ,{"name": "k_EHTTPStatusCode500InternalServerError","value": "500"} + ,{"name": "k_EHTTPStatusCode501NotImplemented","value": "501"} + ,{"name": "k_EHTTPStatusCode502BadGateway","value": "502"} + ,{"name": "k_EHTTPStatusCode503ServiceUnavailable","value": "503"} + ,{"name": "k_EHTTPStatusCode504GatewayTimeout","value": "504"} + ,{"name": "k_EHTTPStatusCode505HTTPVersionNotSupported","value": "505"} + ,{"name": "k_EHTTPStatusCode5xxUnknown","value": "599"} +]} +, {"enumname": "ESteamControllerPad","values": [ + {"name": "k_ESteamControllerPad_Left","value": "0"} + ,{"name": "k_ESteamControllerPad_Right","value": "1"} +]} +, {"enumname": "EControllerSource","values": [ + {"name": "k_EControllerSource_None","value": "0"} + ,{"name": "k_EControllerSource_LeftTrackpad","value": "1"} + ,{"name": "k_EControllerSource_RightTrackpad","value": "2"} + ,{"name": "k_EControllerSource_Joystick","value": "3"} + ,{"name": "k_EControllerSource_ABXY","value": "4"} + ,{"name": "k_EControllerSource_Switch","value": "5"} + ,{"name": "k_EControllerSource_LeftTrigger","value": "6"} + ,{"name": "k_EControllerSource_RightTrigger","value": "7"} + ,{"name": "k_EControllerSource_Gyro","value": "8"} + ,{"name": "k_EControllerSource_CenterTrackpad","value": "9"} + ,{"name": "k_EControllerSource_RightJoystick","value": "10"} + ,{"name": "k_EControllerSource_DPad","value": "11"} + ,{"name": "k_EControllerSource_Key","value": "12"} + ,{"name": "k_EControllerSource_Mouse","value": "13"} + ,{"name": "k_EControllerSource_Count","value": "14"} +]} +, {"enumname": "EControllerSourceMode","values": [ + {"name": "k_EControllerSourceMode_None","value": "0"} + ,{"name": "k_EControllerSourceMode_Dpad","value": "1"} + ,{"name": "k_EControllerSourceMode_Buttons","value": "2"} + ,{"name": "k_EControllerSourceMode_FourButtons","value": "3"} + ,{"name": "k_EControllerSourceMode_AbsoluteMouse","value": "4"} + ,{"name": "k_EControllerSourceMode_RelativeMouse","value": "5"} + ,{"name": "k_EControllerSourceMode_JoystickMove","value": "6"} + ,{"name": "k_EControllerSourceMode_JoystickMouse","value": "7"} + ,{"name": "k_EControllerSourceMode_JoystickCamera","value": "8"} + ,{"name": "k_EControllerSourceMode_ScrollWheel","value": "9"} + ,{"name": "k_EControllerSourceMode_Trigger","value": "10"} + ,{"name": "k_EControllerSourceMode_TouchMenu","value": "11"} + ,{"name": "k_EControllerSourceMode_MouseJoystick","value": "12"} + ,{"name": "k_EControllerSourceMode_MouseRegion","value": "13"} + ,{"name": "k_EControllerSourceMode_RadialMenu","value": "14"} + ,{"name": "k_EControllerSourceMode_SingleButton","value": "15"} + ,{"name": "k_EControllerSourceMode_Switches","value": "16"} +]} +, {"enumname": "EControllerActionOrigin","values": [ + {"name": "k_EControllerActionOrigin_None","value": "0"} + ,{"name": "k_EControllerActionOrigin_A","value": "1"} + ,{"name": "k_EControllerActionOrigin_B","value": "2"} + ,{"name": "k_EControllerActionOrigin_X","value": "3"} + ,{"name": "k_EControllerActionOrigin_Y","value": "4"} + ,{"name": "k_EControllerActionOrigin_LeftBumper","value": "5"} + ,{"name": "k_EControllerActionOrigin_RightBumper","value": "6"} + ,{"name": "k_EControllerActionOrigin_LeftGrip","value": "7"} + ,{"name": "k_EControllerActionOrigin_RightGrip","value": "8"} + ,{"name": "k_EControllerActionOrigin_Start","value": "9"} + ,{"name": "k_EControllerActionOrigin_Back","value": "10"} + ,{"name": "k_EControllerActionOrigin_LeftPad_Touch","value": "11"} + ,{"name": "k_EControllerActionOrigin_LeftPad_Swipe","value": "12"} + ,{"name": "k_EControllerActionOrigin_LeftPad_Click","value": "13"} + ,{"name": "k_EControllerActionOrigin_LeftPad_DPadNorth","value": "14"} + ,{"name": "k_EControllerActionOrigin_LeftPad_DPadSouth","value": "15"} + ,{"name": "k_EControllerActionOrigin_LeftPad_DPadWest","value": "16"} + ,{"name": "k_EControllerActionOrigin_LeftPad_DPadEast","value": "17"} + ,{"name": "k_EControllerActionOrigin_RightPad_Touch","value": "18"} + ,{"name": "k_EControllerActionOrigin_RightPad_Swipe","value": "19"} + ,{"name": "k_EControllerActionOrigin_RightPad_Click","value": "20"} + ,{"name": "k_EControllerActionOrigin_RightPad_DPadNorth","value": "21"} + ,{"name": "k_EControllerActionOrigin_RightPad_DPadSouth","value": "22"} + ,{"name": "k_EControllerActionOrigin_RightPad_DPadWest","value": "23"} + ,{"name": "k_EControllerActionOrigin_RightPad_DPadEast","value": "24"} + ,{"name": "k_EControllerActionOrigin_LeftTrigger_Pull","value": "25"} + ,{"name": "k_EControllerActionOrigin_LeftTrigger_Click","value": "26"} + ,{"name": "k_EControllerActionOrigin_RightTrigger_Pull","value": "27"} + ,{"name": "k_EControllerActionOrigin_RightTrigger_Click","value": "28"} + ,{"name": "k_EControllerActionOrigin_LeftStick_Move","value": "29"} + ,{"name": "k_EControllerActionOrigin_LeftStick_Click","value": "30"} + ,{"name": "k_EControllerActionOrigin_LeftStick_DPadNorth","value": "31"} + ,{"name": "k_EControllerActionOrigin_LeftStick_DPadSouth","value": "32"} + ,{"name": "k_EControllerActionOrigin_LeftStick_DPadWest","value": "33"} + ,{"name": "k_EControllerActionOrigin_LeftStick_DPadEast","value": "34"} + ,{"name": "k_EControllerActionOrigin_Gyro_Move","value": "35"} + ,{"name": "k_EControllerActionOrigin_Gyro_Pitch","value": "36"} + ,{"name": "k_EControllerActionOrigin_Gyro_Yaw","value": "37"} + ,{"name": "k_EControllerActionOrigin_Gyro_Roll","value": "38"} + ,{"name": "k_EControllerActionOrigin_PS4_X","value": "39"} + ,{"name": "k_EControllerActionOrigin_PS4_Circle","value": "40"} + ,{"name": "k_EControllerActionOrigin_PS4_Triangle","value": "41"} + ,{"name": "k_EControllerActionOrigin_PS4_Square","value": "42"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftBumper","value": "43"} + ,{"name": "k_EControllerActionOrigin_PS4_RightBumper","value": "44"} + ,{"name": "k_EControllerActionOrigin_PS4_Options","value": "45"} + ,{"name": "k_EControllerActionOrigin_PS4_Share","value": "46"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_Touch","value": "47"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_Swipe","value": "48"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_Click","value": "49"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_DPadNorth","value": "50"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_DPadSouth","value": "51"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_DPadWest","value": "52"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftPad_DPadEast","value": "53"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_Touch","value": "54"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_Swipe","value": "55"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_Click","value": "56"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_DPadNorth","value": "57"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_DPadSouth","value": "58"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_DPadWest","value": "59"} + ,{"name": "k_EControllerActionOrigin_PS4_RightPad_DPadEast","value": "60"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_Touch","value": "61"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_Swipe","value": "62"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_Click","value": "63"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_DPadNorth","value": "64"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_DPadSouth","value": "65"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_DPadWest","value": "66"} + ,{"name": "k_EControllerActionOrigin_PS4_CenterPad_DPadEast","value": "67"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftTrigger_Pull","value": "68"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftTrigger_Click","value": "69"} + ,{"name": "k_EControllerActionOrigin_PS4_RightTrigger_Pull","value": "70"} + ,{"name": "k_EControllerActionOrigin_PS4_RightTrigger_Click","value": "71"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftStick_Move","value": "72"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftStick_Click","value": "73"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftStick_DPadNorth","value": "74"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftStick_DPadSouth","value": "75"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftStick_DPadWest","value": "76"} + ,{"name": "k_EControllerActionOrigin_PS4_LeftStick_DPadEast","value": "77"} + ,{"name": "k_EControllerActionOrigin_PS4_RightStick_Move","value": "78"} + ,{"name": "k_EControllerActionOrigin_PS4_RightStick_Click","value": "79"} + ,{"name": "k_EControllerActionOrigin_PS4_RightStick_DPadNorth","value": "80"} + ,{"name": "k_EControllerActionOrigin_PS4_RightStick_DPadSouth","value": "81"} + ,{"name": "k_EControllerActionOrigin_PS4_RightStick_DPadWest","value": "82"} + ,{"name": "k_EControllerActionOrigin_PS4_RightStick_DPadEast","value": "83"} + ,{"name": "k_EControllerActionOrigin_PS4_DPad_North","value": "84"} + ,{"name": "k_EControllerActionOrigin_PS4_DPad_South","value": "85"} + ,{"name": "k_EControllerActionOrigin_PS4_DPad_West","value": "86"} + ,{"name": "k_EControllerActionOrigin_PS4_DPad_East","value": "87"} + ,{"name": "k_EControllerActionOrigin_PS4_Gyro_Move","value": "88"} + ,{"name": "k_EControllerActionOrigin_PS4_Gyro_Pitch","value": "89"} + ,{"name": "k_EControllerActionOrigin_PS4_Gyro_Yaw","value": "90"} + ,{"name": "k_EControllerActionOrigin_PS4_Gyro_Roll","value": "91"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_A","value": "92"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_B","value": "93"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_X","value": "94"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_Y","value": "95"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftBumper","value": "96"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightBumper","value": "97"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_Menu","value": "98"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_View","value": "99"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull","value": "100"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click","value": "101"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull","value": "102"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightTrigger_Click","value": "103"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftStick_Move","value": "104"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftStick_Click","value": "105"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth","value": "106"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth","value": "107"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest","value": "108"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast","value": "109"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightStick_Move","value": "110"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightStick_Click","value": "111"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth","value": "112"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth","value": "113"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest","value": "114"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast","value": "115"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_DPad_North","value": "116"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_DPad_South","value": "117"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_DPad_West","value": "118"} + ,{"name": "k_EControllerActionOrigin_XBoxOne_DPad_East","value": "119"} + ,{"name": "k_EControllerActionOrigin_XBox360_A","value": "120"} + ,{"name": "k_EControllerActionOrigin_XBox360_B","value": "121"} + ,{"name": "k_EControllerActionOrigin_XBox360_X","value": "122"} + ,{"name": "k_EControllerActionOrigin_XBox360_Y","value": "123"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftBumper","value": "124"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightBumper","value": "125"} + ,{"name": "k_EControllerActionOrigin_XBox360_Start","value": "126"} + ,{"name": "k_EControllerActionOrigin_XBox360_Back","value": "127"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftTrigger_Pull","value": "128"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftTrigger_Click","value": "129"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightTrigger_Pull","value": "130"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightTrigger_Click","value": "131"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftStick_Move","value": "132"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftStick_Click","value": "133"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth","value": "134"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth","value": "135"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftStick_DPadWest","value": "136"} + ,{"name": "k_EControllerActionOrigin_XBox360_LeftStick_DPadEast","value": "137"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightStick_Move","value": "138"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightStick_Click","value": "139"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightStick_DPadNorth","value": "140"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightStick_DPadSouth","value": "141"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightStick_DPadWest","value": "142"} + ,{"name": "k_EControllerActionOrigin_XBox360_RightStick_DPadEast","value": "143"} + ,{"name": "k_EControllerActionOrigin_XBox360_DPad_North","value": "144"} + ,{"name": "k_EControllerActionOrigin_XBox360_DPad_South","value": "145"} + ,{"name": "k_EControllerActionOrigin_XBox360_DPad_West","value": "146"} + ,{"name": "k_EControllerActionOrigin_XBox360_DPad_East","value": "147"} + ,{"name": "k_EControllerActionOrigin_SteamV2_A","value": "148"} + ,{"name": "k_EControllerActionOrigin_SteamV2_B","value": "149"} + ,{"name": "k_EControllerActionOrigin_SteamV2_X","value": "150"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Y","value": "151"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftBumper","value": "152"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightBumper","value": "153"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftGrip","value": "154"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightGrip","value": "155"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftGrip_Upper","value": "156"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightGrip_Upper","value": "157"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure","value": "158"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightBumper_Pressure","value": "159"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure","value": "160"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightGrip_Pressure","value": "161"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure","value": "162"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure","value": "163"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Start","value": "164"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Back","value": "165"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_Touch","value": "166"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_Swipe","value": "167"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_Click","value": "168"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_Pressure","value": "169"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth","value": "170"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth","value": "171"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest","value": "172"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast","value": "173"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_Touch","value": "174"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_Swipe","value": "175"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_Click","value": "176"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_Pressure","value": "177"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth","value": "178"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth","value": "179"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_DPadWest","value": "180"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightPad_DPadEast","value": "181"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull","value": "182"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftTrigger_Click","value": "183"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightTrigger_Pull","value": "184"} + ,{"name": "k_EControllerActionOrigin_SteamV2_RightTrigger_Click","value": "185"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftStick_Move","value": "186"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftStick_Click","value": "187"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth","value": "188"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth","value": "189"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest","value": "190"} + ,{"name": "k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast","value": "191"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Gyro_Move","value": "192"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Gyro_Pitch","value": "193"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Gyro_Yaw","value": "194"} + ,{"name": "k_EControllerActionOrigin_SteamV2_Gyro_Roll","value": "195"} + ,{"name": "k_EControllerActionOrigin_Count","value": "196"} +]} +, {"enumname": "ESteamControllerLEDFlag","values": [ + {"name": "k_ESteamControllerLEDFlag_SetColor","value": "0"} + ,{"name": "k_ESteamControllerLEDFlag_RestoreUserDefault","value": "1"} +]} +, {"enumname": "ESteamInputType","values": [ + {"name": "k_ESteamInputType_Unknown","value": "0"} + ,{"name": "k_ESteamInputType_SteamController","value": "1"} + ,{"name": "k_ESteamInputType_XBox360Controller","value": "2"} + ,{"name": "k_ESteamInputType_XBoxOneController","value": "3"} + ,{"name": "k_ESteamInputType_GenericXInput","value": "4"} + ,{"name": "k_ESteamInputType_PS4Controller","value": "5"} +]} +, {"enumname": "EUGCMatchingUGCType","values": [ + {"name": "k_EUGCMatchingUGCType_Items","value": "0"} + ,{"name": "k_EUGCMatchingUGCType_Items_Mtx","value": "1"} + ,{"name": "k_EUGCMatchingUGCType_Items_ReadyToUse","value": "2"} + ,{"name": "k_EUGCMatchingUGCType_Collections","value": "3"} + ,{"name": "k_EUGCMatchingUGCType_Artwork","value": "4"} + ,{"name": "k_EUGCMatchingUGCType_Videos","value": "5"} + ,{"name": "k_EUGCMatchingUGCType_Screenshots","value": "6"} + ,{"name": "k_EUGCMatchingUGCType_AllGuides","value": "7"} + ,{"name": "k_EUGCMatchingUGCType_WebGuides","value": "8"} + ,{"name": "k_EUGCMatchingUGCType_IntegratedGuides","value": "9"} + ,{"name": "k_EUGCMatchingUGCType_UsableInGame","value": "10"} + ,{"name": "k_EUGCMatchingUGCType_ControllerBindings","value": "11"} + ,{"name": "k_EUGCMatchingUGCType_GameManagedItems","value": "12"} + ,{"name": "k_EUGCMatchingUGCType_All","value": "-1"} +]} +, {"enumname": "EUserUGCList","values": [ + {"name": "k_EUserUGCList_Published","value": "0"} + ,{"name": "k_EUserUGCList_VotedOn","value": "1"} + ,{"name": "k_EUserUGCList_VotedUp","value": "2"} + ,{"name": "k_EUserUGCList_VotedDown","value": "3"} + ,{"name": "k_EUserUGCList_WillVoteLater","value": "4"} + ,{"name": "k_EUserUGCList_Favorited","value": "5"} + ,{"name": "k_EUserUGCList_Subscribed","value": "6"} + ,{"name": "k_EUserUGCList_UsedOrPlayed","value": "7"} + ,{"name": "k_EUserUGCList_Followed","value": "8"} +]} +, {"enumname": "EUserUGCListSortOrder","values": [ + {"name": "k_EUserUGCListSortOrder_CreationOrderDesc","value": "0"} + ,{"name": "k_EUserUGCListSortOrder_CreationOrderAsc","value": "1"} + ,{"name": "k_EUserUGCListSortOrder_TitleAsc","value": "2"} + ,{"name": "k_EUserUGCListSortOrder_LastUpdatedDesc","value": "3"} + ,{"name": "k_EUserUGCListSortOrder_SubscriptionDateDesc","value": "4"} + ,{"name": "k_EUserUGCListSortOrder_VoteScoreDesc","value": "5"} + ,{"name": "k_EUserUGCListSortOrder_ForModeration","value": "6"} +]} +, {"enumname": "EUGCQuery","values": [ + {"name": "k_EUGCQuery_RankedByVote","value": "0"} + ,{"name": "k_EUGCQuery_RankedByPublicationDate","value": "1"} + ,{"name": "k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate","value": "2"} + ,{"name": "k_EUGCQuery_RankedByTrend","value": "3"} + ,{"name": "k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate","value": "4"} + ,{"name": "k_EUGCQuery_CreatedByFriendsRankedByPublicationDate","value": "5"} + ,{"name": "k_EUGCQuery_RankedByNumTimesReported","value": "6"} + ,{"name": "k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate","value": "7"} + ,{"name": "k_EUGCQuery_NotYetRated","value": "8"} + ,{"name": "k_EUGCQuery_RankedByTotalVotesAsc","value": "9"} + ,{"name": "k_EUGCQuery_RankedByVotesUp","value": "10"} + ,{"name": "k_EUGCQuery_RankedByTextSearch","value": "11"} + ,{"name": "k_EUGCQuery_RankedByTotalUniqueSubscriptions","value": "12"} + ,{"name": "k_EUGCQuery_RankedByPlaytimeTrend","value": "13"} + ,{"name": "k_EUGCQuery_RankedByTotalPlaytime","value": "14"} + ,{"name": "k_EUGCQuery_RankedByAveragePlaytimeTrend","value": "15"} + ,{"name": "k_EUGCQuery_RankedByLifetimeAveragePlaytime","value": "16"} + ,{"name": "k_EUGCQuery_RankedByPlaytimeSessionsTrend","value": "17"} + ,{"name": "k_EUGCQuery_RankedByLifetimePlaytimeSessions","value": "18"} +]} +, {"enumname": "EItemUpdateStatus","values": [ + {"name": "k_EItemUpdateStatusInvalid","value": "0"} + ,{"name": "k_EItemUpdateStatusPreparingConfig","value": "1"} + ,{"name": "k_EItemUpdateStatusPreparingContent","value": "2"} + ,{"name": "k_EItemUpdateStatusUploadingContent","value": "3"} + ,{"name": "k_EItemUpdateStatusUploadingPreviewFile","value": "4"} + ,{"name": "k_EItemUpdateStatusCommittingChanges","value": "5"} +]} +, {"enumname": "EItemState","values": [ + {"name": "k_EItemStateNone","value": "0"} + ,{"name": "k_EItemStateSubscribed","value": "1"} + ,{"name": "k_EItemStateLegacyItem","value": "2"} + ,{"name": "k_EItemStateInstalled","value": "4"} + ,{"name": "k_EItemStateNeedsUpdate","value": "8"} + ,{"name": "k_EItemStateDownloading","value": "16"} + ,{"name": "k_EItemStateDownloadPending","value": "32"} +]} +, {"enumname": "EItemStatistic","values": [ + {"name": "k_EItemStatistic_NumSubscriptions","value": "0"} + ,{"name": "k_EItemStatistic_NumFavorites","value": "1"} + ,{"name": "k_EItemStatistic_NumFollowers","value": "2"} + ,{"name": "k_EItemStatistic_NumUniqueSubscriptions","value": "3"} + ,{"name": "k_EItemStatistic_NumUniqueFavorites","value": "4"} + ,{"name": "k_EItemStatistic_NumUniqueFollowers","value": "5"} + ,{"name": "k_EItemStatistic_NumUniqueWebsiteViews","value": "6"} + ,{"name": "k_EItemStatistic_ReportScore","value": "7"} + ,{"name": "k_EItemStatistic_NumSecondsPlayed","value": "8"} + ,{"name": "k_EItemStatistic_NumPlaytimeSessions","value": "9"} + ,{"name": "k_EItemStatistic_NumComments","value": "10"} + ,{"name": "k_EItemStatistic_NumSecondsPlayedDuringTimePeriod","value": "11"} + ,{"name": "k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod","value": "12"} +]} +, {"enumname": "EItemPreviewType","values": [ + {"name": "k_EItemPreviewType_Image","value": "0"} + ,{"name": "k_EItemPreviewType_YouTubeVideo","value": "1"} + ,{"name": "k_EItemPreviewType_Sketchfab","value": "2"} + ,{"name": "k_EItemPreviewType_EnvironmentMap_HorizontalCross","value": "3"} + ,{"name": "k_EItemPreviewType_EnvironmentMap_LatLong","value": "4"} + ,{"name": "k_EItemPreviewType_ReservedMax","value": "255"} +]} +, {"enumname": "ISteamHTMLSurface::EHTMLMouseButton","values": [ + {"name": "eHTMLMouseButton_Left","value": "0"} + ,{"name": "eHTMLMouseButton_Right","value": "1"} + ,{"name": "eHTMLMouseButton_Middle","value": "2"} +]} +, {"enumname": "ISteamHTMLSurface::EMouseCursor","values": [ + {"name": "dc_user","value": "0"} + ,{"name": "dc_none","value": "1"} + ,{"name": "dc_arrow","value": "2"} + ,{"name": "dc_ibeam","value": "3"} + ,{"name": "dc_hourglass","value": "4"} + ,{"name": "dc_waitarrow","value": "5"} + ,{"name": "dc_crosshair","value": "6"} + ,{"name": "dc_up","value": "7"} + ,{"name": "dc_sizenw","value": "8"} + ,{"name": "dc_sizese","value": "9"} + ,{"name": "dc_sizene","value": "10"} + ,{"name": "dc_sizesw","value": "11"} + ,{"name": "dc_sizew","value": "12"} + ,{"name": "dc_sizee","value": "13"} + ,{"name": "dc_sizen","value": "14"} + ,{"name": "dc_sizes","value": "15"} + ,{"name": "dc_sizewe","value": "16"} + ,{"name": "dc_sizens","value": "17"} + ,{"name": "dc_sizeall","value": "18"} + ,{"name": "dc_no","value": "19"} + ,{"name": "dc_hand","value": "20"} + ,{"name": "dc_blank","value": "21"} + ,{"name": "dc_middle_pan","value": "22"} + ,{"name": "dc_north_pan","value": "23"} + ,{"name": "dc_north_east_pan","value": "24"} + ,{"name": "dc_east_pan","value": "25"} + ,{"name": "dc_south_east_pan","value": "26"} + ,{"name": "dc_south_pan","value": "27"} + ,{"name": "dc_south_west_pan","value": "28"} + ,{"name": "dc_west_pan","value": "29"} + ,{"name": "dc_north_west_pan","value": "30"} + ,{"name": "dc_alias","value": "31"} + ,{"name": "dc_cell","value": "32"} + ,{"name": "dc_colresize","value": "33"} + ,{"name": "dc_copycur","value": "34"} + ,{"name": "dc_verticaltext","value": "35"} + ,{"name": "dc_rowresize","value": "36"} + ,{"name": "dc_zoomin","value": "37"} + ,{"name": "dc_zoomout","value": "38"} + ,{"name": "dc_help","value": "39"} + ,{"name": "dc_custom","value": "40"} + ,{"name": "dc_last","value": "41"} +]} +, {"enumname": "ISteamHTMLSurface::EHTMLKeyModifiers","values": [ + {"name": "k_eHTMLKeyModifier_None","value": "0"} + ,{"name": "k_eHTMLKeyModifier_AltDown","value": "1"} + ,{"name": "k_eHTMLKeyModifier_CtrlDown","value": "2"} + ,{"name": "k_eHTMLKeyModifier_ShiftDown","value": "4"} +]} +, {"enumname": "ESteamItemFlags","values": [ + {"name": "k_ESteamItemNoTrade","value": "1"} + ,{"name": "k_ESteamItemRemoved","value": "256"} + ,{"name": "k_ESteamItemConsumed","value": "512"} +]} +, {"enumname": "EParentalFeature","values": [ + {"name": "k_EFeatureInvalid","value": "0"} + ,{"name": "k_EFeatureStore","value": "1"} + ,{"name": "k_EFeatureCommunity","value": "2"} + ,{"name": "k_EFeatureProfile","value": "3"} + ,{"name": "k_EFeatureFriends","value": "4"} + ,{"name": "k_EFeatureNews","value": "5"} + ,{"name": "k_EFeatureTrading","value": "6"} + ,{"name": "k_EFeatureSettings","value": "7"} + ,{"name": "k_EFeatureConsole","value": "8"} + ,{"name": "k_EFeatureBrowser","value": "9"} + ,{"name": "k_EFeatureParentalSetup","value": "10"} + ,{"name": "k_EFeatureLibrary","value": "11"} + ,{"name": "k_EFeatureTest","value": "12"} + ,{"name": "k_EFeatureMax","value": "13"} +]} +], +"consts":[{ + "constname": "k_iSteamUserCallbacks","consttype": "int", "constval": "100"} +,{ + "constname": "k_iSteamGameServerCallbacks","consttype": "int", "constval": "200"} +,{ + "constname": "k_iSteamFriendsCallbacks","consttype": "int", "constval": "300"} +,{ + "constname": "k_iSteamBillingCallbacks","consttype": "int", "constval": "400"} +,{ + "constname": "k_iSteamMatchmakingCallbacks","consttype": "int", "constval": "500"} +,{ + "constname": "k_iSteamContentServerCallbacks","consttype": "int", "constval": "600"} +,{ + "constname": "k_iSteamUtilsCallbacks","consttype": "int", "constval": "700"} +,{ + "constname": "k_iClientFriendsCallbacks","consttype": "int", "constval": "800"} +,{ + "constname": "k_iClientUserCallbacks","consttype": "int", "constval": "900"} +,{ + "constname": "k_iSteamAppsCallbacks","consttype": "int", "constval": "1000"} +,{ + "constname": "k_iSteamUserStatsCallbacks","consttype": "int", "constval": "1100"} +,{ + "constname": "k_iSteamNetworkingCallbacks","consttype": "int", "constval": "1200"} +,{ + "constname": "k_iClientRemoteStorageCallbacks","consttype": "int", "constval": "1300"} +,{ + "constname": "k_iClientDepotBuilderCallbacks","consttype": "int", "constval": "1400"} +,{ + "constname": "k_iSteamGameServerItemsCallbacks","consttype": "int", "constval": "1500"} +,{ + "constname": "k_iClientUtilsCallbacks","consttype": "int", "constval": "1600"} +,{ + "constname": "k_iSteamGameCoordinatorCallbacks","consttype": "int", "constval": "1700"} +,{ + "constname": "k_iSteamGameServerStatsCallbacks","consttype": "int", "constval": "1800"} +,{ + "constname": "k_iSteam2AsyncCallbacks","consttype": "int", "constval": "1900"} +,{ + "constname": "k_iSteamGameStatsCallbacks","consttype": "int", "constval": "2000"} +,{ + "constname": "k_iClientHTTPCallbacks","consttype": "int", "constval": "2100"} +,{ + "constname": "k_iClientScreenshotsCallbacks","consttype": "int", "constval": "2200"} +,{ + "constname": "k_iSteamScreenshotsCallbacks","consttype": "int", "constval": "2300"} +,{ + "constname": "k_iClientAudioCallbacks","consttype": "int", "constval": "2400"} +,{ + "constname": "k_iClientUnifiedMessagesCallbacks","consttype": "int", "constval": "2500"} +,{ + "constname": "k_iSteamStreamLauncherCallbacks","consttype": "int", "constval": "2600"} +,{ + "constname": "k_iClientControllerCallbacks","consttype": "int", "constval": "2700"} +,{ + "constname": "k_iSteamControllerCallbacks","consttype": "int", "constval": "2800"} +,{ + "constname": "k_iClientParentalSettingsCallbacks","consttype": "int", "constval": "2900"} +,{ + "constname": "k_iClientDeviceAuthCallbacks","consttype": "int", "constval": "3000"} +,{ + "constname": "k_iClientNetworkDeviceManagerCallbacks","consttype": "int", "constval": "3100"} +,{ + "constname": "k_iClientMusicCallbacks","consttype": "int", "constval": "3200"} +,{ + "constname": "k_iClientRemoteClientManagerCallbacks","consttype": "int", "constval": "3300"} +,{ + "constname": "k_iClientUGCCallbacks","consttype": "int", "constval": "3400"} +,{ + "constname": "k_iSteamStreamClientCallbacks","consttype": "int", "constval": "3500"} +,{ + "constname": "k_IClientProductBuilderCallbacks","consttype": "int", "constval": "3600"} +,{ + "constname": "k_iClientShortcutsCallbacks","consttype": "int", "constval": "3700"} +,{ + "constname": "k_iClientRemoteControlManagerCallbacks","consttype": "int", "constval": "3800"} +,{ + "constname": "k_iSteamAppListCallbacks","consttype": "int", "constval": "3900"} +,{ + "constname": "k_iSteamMusicCallbacks","consttype": "int", "constval": "4000"} +,{ + "constname": "k_iSteamMusicRemoteCallbacks","consttype": "int", "constval": "4100"} +,{ + "constname": "k_iClientVRCallbacks","consttype": "int", "constval": "4200"} +,{ + "constname": "k_iClientGameNotificationCallbacks","consttype": "int", "constval": "4300"} +,{ + "constname": "k_iSteamGameNotificationCallbacks","consttype": "int", "constval": "4400"} +,{ + "constname": "k_iSteamHTMLSurfaceCallbacks","consttype": "int", "constval": "4500"} +,{ + "constname": "k_iClientVideoCallbacks","consttype": "int", "constval": "4600"} +,{ + "constname": "k_iClientInventoryCallbacks","consttype": "int", "constval": "4700"} +,{ + "constname": "k_iClientBluetoothManagerCallbacks","consttype": "int", "constval": "4800"} +,{ + "constname": "k_iClientSharedConnectionCallbacks","consttype": "int", "constval": "4900"} +,{ + "constname": "k_ISteamParentalSettingsCallbacks","consttype": "int", "constval": "5000"} +,{ + "constname": "k_iClientShaderCallbacks","consttype": "int", "constval": "5100"} +,{ + "constname": "k_cchPersonaNameMax","consttype": "int", "constval": "128"} +,{ + "constname": "k_cwchPersonaNameMax","consttype": "int", "constval": "32"} +,{ + "constname": "k_cchMaxRichPresenceKeys","consttype": "int", "constval": "20"} +,{ + "constname": "k_cchMaxRichPresenceKeyLength","consttype": "int", "constval": "64"} +,{ + "constname": "k_cchMaxRichPresenceValueLength","consttype": "int", "constval": "256"} +,{ + "constname": "k_cchStatNameMax","consttype": "int", "constval": "128"} +,{ + "constname": "k_cchLeaderboardNameMax","consttype": "int", "constval": "128"} +,{ + "constname": "k_cLeaderboardDetailsMax","consttype": "int", "constval": "64"} +,{ + "constname": "k_SteamItemInstanceIDInvalid","consttype": "const SteamItemInstanceID_t", "constval": "18446744073709551615"} +,{ + "constname": "k_SteamInventoryResultInvalid","consttype": "const SteamInventoryResult_t", "constval": "-1"} +], +"structs":[{"struct": "CSteamID","fields": [ +{ "fieldname": "m_steamid", "fieldtype": "union SteamID_t"}]} +,{"struct": "CSteamID::SteamID_t","fields": [ +{ "fieldname": "m_comp", "fieldtype": "struct SteamIDComponent_t"}, +{ "fieldname": "m_unAll64Bits", "fieldtype": "uint64"}]} +,{"struct": "CSteamID::SteamID_t::SteamIDComponent_t","fields": [ +{ "fieldname": "m_unAccountID", "fieldtype": "uint32"}, +{ "fieldname": "m_unAccountInstance", "fieldtype": "unsigned int"}, +{ "fieldname": "m_EAccountType", "fieldtype": "unsigned int"}, +{ "fieldname": "m_EUniverse", "fieldtype": "enum EUniverse"}]} +,{"struct": "CGameID::GameID_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "unsigned int"}, +{ "fieldname": "m_nType", "fieldtype": "unsigned int"}, +{ "fieldname": "m_nModID", "fieldtype": "unsigned int"}]} +,{"struct": "CGameID::(anonymous)","fields": [ +{ "fieldname": "m_ulGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_gameID", "fieldtype": "struct CGameID::GameID_t"}]} +,{"struct": "ValvePackingSentinel_t","fields": [ +{ "fieldname": "m_u32", "fieldtype": "uint32"}, +{ "fieldname": "m_u64", "fieldtype": "uint64"}, +{ "fieldname": "m_u16", "fieldtype": "uint16"}, +{ "fieldname": "m_d", "fieldtype": "double"}]} +,{"struct": "CallbackMsg_t","fields": [ +{ "fieldname": "m_hSteamUser", "fieldtype": "HSteamUser"}, +{ "fieldname": "m_iCallback", "fieldtype": "int"}, +{ "fieldname": "m_pubParam", "fieldtype": "uint8 *"}, +{ "fieldname": "m_cubParam", "fieldtype": "int"}]} +,{"struct": "SteamServerConnectFailure_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_bStillRetrying", "fieldtype": "_Bool"}]} +,{"struct": "SteamServersDisconnected_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "ClientGameServerDeny_t","fields": [ +{ "fieldname": "m_uAppID", "fieldtype": "uint32"}, +{ "fieldname": "m_unGameServerIP", "fieldtype": "uint32"}, +{ "fieldname": "m_usGameServerPort", "fieldtype": "uint16"}, +{ "fieldname": "m_bSecure", "fieldtype": "uint16"}, +{ "fieldname": "m_uReason", "fieldtype": "uint32"}]} +,{"struct": "ValidateAuthTicketResponse_t","fields": [ +{ "fieldname": "m_SteamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_eAuthSessionResponse", "fieldtype": "enum EAuthSessionResponse"}, +{ "fieldname": "m_OwnerSteamID", "fieldtype": "class CSteamID"}]} +,{"struct": "MicroTxnAuthorizationResponse_t","fields": [ +{ "fieldname": "m_unAppID", "fieldtype": "uint32"}, +{ "fieldname": "m_ulOrderID", "fieldtype": "uint64"}, +{ "fieldname": "m_bAuthorized", "fieldtype": "uint8"}]} +,{"struct": "EncryptedAppTicketResponse_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "GetAuthSessionTicketResponse_t","fields": [ +{ "fieldname": "m_hAuthTicket", "fieldtype": "HAuthTicket"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "GameWebCallback_t","fields": [ +{ "fieldname": "m_szURL", "fieldtype": "char [256]"}]} +,{"struct": "StoreAuthURLResponse_t","fields": [ +{ "fieldname": "m_szURL", "fieldtype": "char [512]"}]} +,{"struct": "FriendGameInfo_t","fields": [ +{ "fieldname": "m_gameID", "fieldtype": "class CGameID"}, +{ "fieldname": "m_unGameIP", "fieldtype": "uint32"}, +{ "fieldname": "m_usGamePort", "fieldtype": "uint16"}, +{ "fieldname": "m_usQueryPort", "fieldtype": "uint16"}, +{ "fieldname": "m_steamIDLobby", "fieldtype": "class CSteamID"}]} +,{"struct": "FriendSessionStateInfo_t","fields": [ +{ "fieldname": "m_uiOnlineSessionInstances", "fieldtype": "uint32"}, +{ "fieldname": "m_uiPublishedToFriendsSessionInstance", "fieldtype": "uint8"}]} +,{"struct": "PersonaStateChange_t","fields": [ +{ "fieldname": "m_ulSteamID", "fieldtype": "uint64"}, +{ "fieldname": "m_nChangeFlags", "fieldtype": "int"}]} +,{"struct": "GameOverlayActivated_t","fields": [ +{ "fieldname": "m_bActive", "fieldtype": "uint8"}]} +,{"struct": "GameServerChangeRequested_t","fields": [ +{ "fieldname": "m_rgchServer", "fieldtype": "char [64]"}, +{ "fieldname": "m_rgchPassword", "fieldtype": "char [64]"}]} +,{"struct": "GameLobbyJoinRequested_t","fields": [ +{ "fieldname": "m_steamIDLobby", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_steamIDFriend", "fieldtype": "class CSteamID"}]} +,{"struct": "AvatarImageLoaded_t","fields": [ +{ "fieldname": "m_steamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_iImage", "fieldtype": "int"}, +{ "fieldname": "m_iWide", "fieldtype": "int"}, +{ "fieldname": "m_iTall", "fieldtype": "int"}]} +,{"struct": "ClanOfficerListResponse_t","fields": [ +{ "fieldname": "m_steamIDClan", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_cOfficers", "fieldtype": "int"}, +{ "fieldname": "m_bSuccess", "fieldtype": "uint8"}]} +,{"struct": "FriendRichPresenceUpdate_t","fields": [ +{ "fieldname": "m_steamIDFriend", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "GameRichPresenceJoinRequested_t","fields": [ +{ "fieldname": "m_steamIDFriend", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_rgchConnect", "fieldtype": "char [256]"}]} +,{"struct": "GameConnectedClanChatMsg_t","fields": [ +{ "fieldname": "m_steamIDClanChat", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_iMessageID", "fieldtype": "int"}]} +,{"struct": "GameConnectedChatJoin_t","fields": [ +{ "fieldname": "m_steamIDClanChat", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}]} +,{"struct": "GameConnectedChatLeave_t","fields": [ +{ "fieldname": "m_steamIDClanChat", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_bKicked", "fieldtype": "_Bool"}, +{ "fieldname": "m_bDropped", "fieldtype": "_Bool"}]} +,{"struct": "DownloadClanActivityCountsResult_t","fields": [ +{ "fieldname": "m_bSuccess", "fieldtype": "_Bool"}]} +,{"struct": "JoinClanChatRoomCompletionResult_t","fields": [ +{ "fieldname": "m_steamIDClanChat", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_eChatRoomEnterResponse", "fieldtype": "enum EChatRoomEnterResponse"}]} +,{"struct": "GameConnectedFriendChatMsg_t","fields": [ +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_iMessageID", "fieldtype": "int"}]} +,{"struct": "FriendsGetFollowerCount_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_steamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_nCount", "fieldtype": "int"}]} +,{"struct": "FriendsIsFollowing_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_steamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_bIsFollowing", "fieldtype": "_Bool"}]} +,{"struct": "FriendsEnumerateFollowingList_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_rgSteamID", "fieldtype": "class CSteamID [50]"}, +{ "fieldname": "m_nResultsReturned", "fieldtype": "int32"}, +{ "fieldname": "m_nTotalResultCount", "fieldtype": "int32"}]} +,{"struct": "SetPersonaNameResponse_t","fields": [ +{ "fieldname": "m_bSuccess", "fieldtype": "_Bool"}, +{ "fieldname": "m_bLocalSuccess", "fieldtype": "_Bool"}, +{ "fieldname": "m_result", "fieldtype": "enum EResult"}]} +,{"struct": "LowBatteryPower_t","fields": [ +{ "fieldname": "m_nMinutesBatteryLeft", "fieldtype": "uint8"}]} +,{"struct": "SteamAPICallCompleted_t","fields": [ +{ "fieldname": "m_hAsyncCall", "fieldtype": "SteamAPICall_t"}, +{ "fieldname": "m_iCallback", "fieldtype": "int"}, +{ "fieldname": "m_cubParam", "fieldtype": "uint32"}]} +,{"struct": "CheckFileSignature_t","fields": [ +{ "fieldname": "m_eCheckFileSignature", "fieldtype": "enum ECheckFileSignature"}]} +,{"struct": "GamepadTextInputDismissed_t","fields": [ +{ "fieldname": "m_bSubmitted", "fieldtype": "_Bool"}, +{ "fieldname": "m_unSubmittedText", "fieldtype": "uint32"}]} +,{"struct": "MatchMakingKeyValuePair_t","fields": [ +{ "fieldname": "m_szKey", "fieldtype": "char [256]"}, +{ "fieldname": "m_szValue", "fieldtype": "char [256]"}]} +,{"struct": "servernetadr_t","fields": [ +{ "fieldname": "m_usConnectionPort", "fieldtype": "uint16"}, +{ "fieldname": "m_usQueryPort", "fieldtype": "uint16"}, +{ "fieldname": "m_unIP", "fieldtype": "uint32"}]} +,{"struct": "gameserveritem_t","fields": [ +{ "fieldname": "m_NetAdr", "fieldtype": "class servernetadr_t"}, +{ "fieldname": "m_nPing", "fieldtype": "int"}, +{ "fieldname": "m_bHadSuccessfulResponse", "fieldtype": "_Bool"}, +{ "fieldname": "m_bDoNotRefresh", "fieldtype": "_Bool"}, +{ "fieldname": "m_szGameDir", "fieldtype": "char [32]"}, +{ "fieldname": "m_szMap", "fieldtype": "char [32]"}, +{ "fieldname": "m_szGameDescription", "fieldtype": "char [64]"}, +{ "fieldname": "m_nAppID", "fieldtype": "uint32"}, +{ "fieldname": "m_nPlayers", "fieldtype": "int"}, +{ "fieldname": "m_nMaxPlayers", "fieldtype": "int"}, +{ "fieldname": "m_nBotPlayers", "fieldtype": "int"}, +{ "fieldname": "m_bPassword", "fieldtype": "_Bool"}, +{ "fieldname": "m_bSecure", "fieldtype": "_Bool"}, +{ "fieldname": "m_ulTimeLastPlayed", "fieldtype": "uint32"}, +{ "fieldname": "m_nServerVersion", "fieldtype": "int"}, +{ "fieldname": "m_szServerName", "fieldtype": "char [64]"}, +{ "fieldname": "m_szGameTags", "fieldtype": "char [128]"}, +{ "fieldname": "m_steamID", "fieldtype": "class CSteamID"}]} +,{"struct": "FavoritesListChanged_t","fields": [ +{ "fieldname": "m_nIP", "fieldtype": "uint32"}, +{ "fieldname": "m_nQueryPort", "fieldtype": "uint32"}, +{ "fieldname": "m_nConnPort", "fieldtype": "uint32"}, +{ "fieldname": "m_nAppID", "fieldtype": "uint32"}, +{ "fieldname": "m_nFlags", "fieldtype": "uint32"}, +{ "fieldname": "m_bAdd", "fieldtype": "_Bool"}, +{ "fieldname": "m_unAccountId", "fieldtype": "AccountID_t"}]} +,{"struct": "LobbyInvite_t","fields": [ +{ "fieldname": "m_ulSteamIDUser", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_ulGameID", "fieldtype": "uint64"}]} +,{"struct": "LobbyEnter_t","fields": [ +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_rgfChatPermissions", "fieldtype": "uint32"}, +{ "fieldname": "m_bLocked", "fieldtype": "_Bool"}, +{ "fieldname": "m_EChatRoomEnterResponse", "fieldtype": "uint32"}]} +,{"struct": "LobbyDataUpdate_t","fields": [ +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDMember", "fieldtype": "uint64"}, +{ "fieldname": "m_bSuccess", "fieldtype": "uint8"}]} +,{"struct": "LobbyChatUpdate_t","fields": [ +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDUserChanged", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDMakingChange", "fieldtype": "uint64"}, +{ "fieldname": "m_rgfChatMemberStateChange", "fieldtype": "uint32"}]} +,{"struct": "LobbyChatMsg_t","fields": [ +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDUser", "fieldtype": "uint64"}, +{ "fieldname": "m_eChatEntryType", "fieldtype": "uint8"}, +{ "fieldname": "m_iChatID", "fieldtype": "uint32"}]} +,{"struct": "LobbyGameCreated_t","fields": [ +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDGameServer", "fieldtype": "uint64"}, +{ "fieldname": "m_unIP", "fieldtype": "uint32"}, +{ "fieldname": "m_usPort", "fieldtype": "uint16"}]} +,{"struct": "LobbyMatchList_t","fields": [ +{ "fieldname": "m_nLobbiesMatching", "fieldtype": "uint32"}]} +,{"struct": "LobbyKicked_t","fields": [ +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}, +{ "fieldname": "m_ulSteamIDAdmin", "fieldtype": "uint64"}, +{ "fieldname": "m_bKickedDueToDisconnect", "fieldtype": "uint8"}]} +,{"struct": "LobbyCreated_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_ulSteamIDLobby", "fieldtype": "uint64"}]} +,{"struct": "PSNGameBootInviteResult_t","fields": [ +{ "fieldname": "m_bGameBootInviteExists", "fieldtype": "_Bool"}, +{ "fieldname": "m_steamIDLobby", "fieldtype": "class CSteamID"}]} +,{"struct": "FavoritesListAccountsUpdated_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "SteamParamStringArray_t","fields": [ +{ "fieldname": "m_ppStrings", "fieldtype": "const char **"}, +{ "fieldname": "m_nNumStrings", "fieldtype": "int32"}]} +,{"struct": "RemoteStorageAppSyncedClient_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unNumDownloads", "fieldtype": "int"}]} +,{"struct": "RemoteStorageAppSyncedServer_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unNumUploads", "fieldtype": "int"}]} +,{"struct": "RemoteStorageAppSyncProgress_t","fields": [ +{ "fieldname": "m_rgchCurrentFile", "fieldtype": "char [260]"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_uBytesTransferredThisChunk", "fieldtype": "uint32"}, +{ "fieldname": "m_dAppPercentComplete", "fieldtype": "double"}, +{ "fieldname": "m_bUploading", "fieldtype": "_Bool"}]} +,{"struct": "RemoteStorageAppSyncStatusCheck_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "RemoteStorageFileShareResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_hFile", "fieldtype": "UGCHandle_t"}, +{ "fieldname": "m_rgchFilename", "fieldtype": "char [260]"}]} +,{"struct": "RemoteStoragePublishFileResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype": "_Bool"}]} +,{"struct": "RemoteStorageDeletePublishedFileResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "RemoteStorageEnumerateUserPublishedFilesResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nResultsReturned", "fieldtype": "int32"}, +{ "fieldname": "m_nTotalResultCount", "fieldtype": "int32"}, +{ "fieldname": "m_rgPublishedFileId", "fieldtype": "PublishedFileId_t [50]"}]} +,{"struct": "RemoteStorageSubscribePublishedFileResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "RemoteStorageEnumerateUserSubscribedFilesResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nResultsReturned", "fieldtype": "int32"}, +{ "fieldname": "m_nTotalResultCount", "fieldtype": "int32"}, +{ "fieldname": "m_rgPublishedFileId", "fieldtype": "PublishedFileId_t [50]"}, +{ "fieldname": "m_rgRTimeSubscribed", "fieldtype": "uint32 [50]"}]} +,{"struct": "RemoteStorageUnsubscribePublishedFileResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "RemoteStorageUpdatePublishedFileResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype": "_Bool"}]} +,{"struct": "RemoteStorageDownloadUGCResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_hFile", "fieldtype": "UGCHandle_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_nSizeInBytes", "fieldtype": "int32"}, +{ "fieldname": "m_pchFileName", "fieldtype": "char [260]"}, +{ "fieldname": "m_ulSteamIDOwner", "fieldtype": "uint64"}]} +,{"struct": "RemoteStorageGetPublishedFileDetailsResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nCreatorAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_nConsumerAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_rgchTitle", "fieldtype": "char [129]"}, +{ "fieldname": "m_rgchDescription", "fieldtype": "char [8000]"}, +{ "fieldname": "m_hFile", "fieldtype": "UGCHandle_t"}, +{ "fieldname": "m_hPreviewFile", "fieldtype": "UGCHandle_t"}, +{ "fieldname": "m_ulSteamIDOwner", "fieldtype": "uint64"}, +{ "fieldname": "m_rtimeCreated", "fieldtype": "uint32"}, +{ "fieldname": "m_rtimeUpdated", "fieldtype": "uint32"}, +{ "fieldname": "m_eVisibility", "fieldtype": "enum ERemoteStoragePublishedFileVisibility"}, +{ "fieldname": "m_bBanned", "fieldtype": "_Bool"}, +{ "fieldname": "m_rgchTags", "fieldtype": "char [1025]"}, +{ "fieldname": "m_bTagsTruncated", "fieldtype": "_Bool"}, +{ "fieldname": "m_pchFileName", "fieldtype": "char [260]"}, +{ "fieldname": "m_nFileSize", "fieldtype": "int32"}, +{ "fieldname": "m_nPreviewFileSize", "fieldtype": "int32"}, +{ "fieldname": "m_rgchURL", "fieldtype": "char [256]"}, +{ "fieldname": "m_eFileType", "fieldtype": "enum EWorkshopFileType"}, +{ "fieldname": "m_bAcceptedForUse", "fieldtype": "_Bool"}]} +,{"struct": "RemoteStorageEnumerateWorkshopFilesResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nResultsReturned", "fieldtype": "int32"}, +{ "fieldname": "m_nTotalResultCount", "fieldtype": "int32"}, +{ "fieldname": "m_rgPublishedFileId", "fieldtype": "PublishedFileId_t [50]"}, +{ "fieldname": "m_rgScore", "fieldtype": "float [50]"}, +{ "fieldname": "m_nAppId", "fieldtype": "AppId_t"}, +{ "fieldname": "m_unStartIndex", "fieldtype": "uint32"}]} +,{"struct": "RemoteStorageGetPublishedItemVoteDetailsResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nVotesFor", "fieldtype": "int32"}, +{ "fieldname": "m_nVotesAgainst", "fieldtype": "int32"}, +{ "fieldname": "m_nReports", "fieldtype": "int32"}, +{ "fieldname": "m_fScore", "fieldtype": "float"}]} +,{"struct": "RemoteStoragePublishedFileSubscribed_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "RemoteStoragePublishedFileUnsubscribed_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "RemoteStoragePublishedFileDeleted_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "RemoteStorageUpdateUserPublishedItemVoteResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "RemoteStorageUserVoteDetails_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eVote", "fieldtype": "enum EWorkshopVote"}]} +,{"struct": "RemoteStorageEnumerateUserSharedWorkshopFilesResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nResultsReturned", "fieldtype": "int32"}, +{ "fieldname": "m_nTotalResultCount", "fieldtype": "int32"}, +{ "fieldname": "m_rgPublishedFileId", "fieldtype": "PublishedFileId_t [50]"}]} +,{"struct": "RemoteStorageSetUserPublishedFileActionResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eAction", "fieldtype": "enum EWorkshopFileAction"}]} +,{"struct": "RemoteStorageEnumeratePublishedFilesByUserActionResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_eAction", "fieldtype": "enum EWorkshopFileAction"}, +{ "fieldname": "m_nResultsReturned", "fieldtype": "int32"}, +{ "fieldname": "m_nTotalResultCount", "fieldtype": "int32"}, +{ "fieldname": "m_rgPublishedFileId", "fieldtype": "PublishedFileId_t [50]"}, +{ "fieldname": "m_rgRTimeUpdated", "fieldtype": "uint32 [50]"}]} +,{"struct": "RemoteStoragePublishFileProgress_t","fields": [ +{ "fieldname": "m_dPercentFile", "fieldtype": "double"}, +{ "fieldname": "m_bPreview", "fieldtype": "_Bool"}]} +,{"struct": "RemoteStoragePublishedFileUpdated_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_ulUnused", "fieldtype": "uint64"}]} +,{"struct": "RemoteStorageFileWriteAsyncComplete_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "RemoteStorageFileReadAsyncComplete_t","fields": [ +{ "fieldname": "m_hFileReadAsync", "fieldtype": "SteamAPICall_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nOffset", "fieldtype": "uint32"}, +{ "fieldname": "m_cubRead", "fieldtype": "uint32"}]} +,{"struct": "LeaderboardEntry_t","fields": [ +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_nGlobalRank", "fieldtype": "int32"}, +{ "fieldname": "m_nScore", "fieldtype": "int32"}, +{ "fieldname": "m_cDetails", "fieldtype": "int32"}, +{ "fieldname": "m_hUGC", "fieldtype": "UGCHandle_t"}]} +,{"struct": "UserStatsReceived_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}]} +,{"struct": "UserStatsStored_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "UserAchievementStored_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_bGroupAchievement", "fieldtype": "_Bool"}, +{ "fieldname": "m_rgchAchievementName", "fieldtype": "char [128]"}, +{ "fieldname": "m_nCurProgress", "fieldtype": "uint32"}, +{ "fieldname": "m_nMaxProgress", "fieldtype": "uint32"}]} +,{"struct": "LeaderboardFindResult_t","fields": [ +{ "fieldname": "m_hSteamLeaderboard", "fieldtype": "SteamLeaderboard_t"}, +{ "fieldname": "m_bLeaderboardFound", "fieldtype": "uint8"}]} +,{"struct": "LeaderboardScoresDownloaded_t","fields": [ +{ "fieldname": "m_hSteamLeaderboard", "fieldtype": "SteamLeaderboard_t"}, +{ "fieldname": "m_hSteamLeaderboardEntries", "fieldtype": "SteamLeaderboardEntries_t"}, +{ "fieldname": "m_cEntryCount", "fieldtype": "int"}]} +,{"struct": "LeaderboardScoreUploaded_t","fields": [ +{ "fieldname": "m_bSuccess", "fieldtype": "uint8"}, +{ "fieldname": "m_hSteamLeaderboard", "fieldtype": "SteamLeaderboard_t"}, +{ "fieldname": "m_nScore", "fieldtype": "int32"}, +{ "fieldname": "m_bScoreChanged", "fieldtype": "uint8"}, +{ "fieldname": "m_nGlobalRankNew", "fieldtype": "int"}, +{ "fieldname": "m_nGlobalRankPrevious", "fieldtype": "int"}]} +,{"struct": "NumberOfCurrentPlayers_t","fields": [ +{ "fieldname": "m_bSuccess", "fieldtype": "uint8"}, +{ "fieldname": "m_cPlayers", "fieldtype": "int32"}]} +,{"struct": "UserStatsUnloaded_t","fields": [ +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}]} +,{"struct": "UserAchievementIconFetched_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "class CGameID"}, +{ "fieldname": "m_rgchAchievementName", "fieldtype": "char [128]"}, +{ "fieldname": "m_bAchieved", "fieldtype": "_Bool"}, +{ "fieldname": "m_nIconHandle", "fieldtype": "int"}]} +,{"struct": "GlobalAchievementPercentagesReady_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "LeaderboardUGCSet_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_hSteamLeaderboard", "fieldtype": "SteamLeaderboard_t"}]} +,{"struct": "PS3TrophiesInstalled_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_ulRequiredDiskSpace", "fieldtype": "uint64"}]} +,{"struct": "GlobalStatsReceived_t","fields": [ +{ "fieldname": "m_nGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "DlcInstalled_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "RegisterActivationCodeResponse_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum ERegisterActivationCodeResult"}, +{ "fieldname": "m_unPackageRegistered", "fieldtype": "uint32"}]} +,{"struct": "AppProofOfPurchaseKeyResponse_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nAppID", "fieldtype": "uint32"}, +{ "fieldname": "m_cchKeyLength", "fieldtype": "uint32"}, +{ "fieldname": "m_rgchKey", "fieldtype": "char [240]"}]} +,{"struct": "FileDetailsResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_ulFileSize", "fieldtype": "uint64"}, +{ "fieldname": "m_FileSHA", "fieldtype": "uint8 [20]"}, +{ "fieldname": "m_unFlags", "fieldtype": "uint32"}]} +,{"struct": "P2PSessionState_t","fields": [ +{ "fieldname": "m_bConnectionActive", "fieldtype": "uint8"}, +{ "fieldname": "m_bConnecting", "fieldtype": "uint8"}, +{ "fieldname": "m_eP2PSessionError", "fieldtype": "uint8"}, +{ "fieldname": "m_bUsingRelay", "fieldtype": "uint8"}, +{ "fieldname": "m_nBytesQueuedForSend", "fieldtype": "int32"}, +{ "fieldname": "m_nPacketsQueuedForSend", "fieldtype": "int32"}, +{ "fieldname": "m_nRemoteIP", "fieldtype": "uint32"}, +{ "fieldname": "m_nRemotePort", "fieldtype": "uint16"}]} +,{"struct": "P2PSessionRequest_t","fields": [ +{ "fieldname": "m_steamIDRemote", "fieldtype": "class CSteamID"}]} +,{"struct": "P2PSessionConnectFail_t","fields": [ +{ "fieldname": "m_steamIDRemote", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_eP2PSessionError", "fieldtype": "uint8"}]} +,{"struct": "SocketStatusCallback_t","fields": [ +{ "fieldname": "m_hSocket", "fieldtype": "SNetSocket_t"}, +{ "fieldname": "m_hListenSocket", "fieldtype": "SNetListenSocket_t"}, +{ "fieldname": "m_steamIDRemote", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_eSNetSocketState", "fieldtype": "int"}]} +,{"struct": "ScreenshotReady_t","fields": [ +{ "fieldname": "m_hLocal", "fieldtype": "ScreenshotHandle"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "VolumeHasChanged_t","fields": [ +{ "fieldname": "m_flNewVolume", "fieldtype": "float"}]} +,{"struct": "MusicPlayerWantsShuffled_t","fields": [ +{ "fieldname": "m_bShuffled", "fieldtype": "_Bool"}]} +,{"struct": "MusicPlayerWantsLooped_t","fields": [ +{ "fieldname": "m_bLooped", "fieldtype": "_Bool"}]} +,{"struct": "MusicPlayerWantsVolume_t","fields": [ +{ "fieldname": "m_flNewVolume", "fieldtype": "float"}]} +,{"struct": "MusicPlayerSelectsQueueEntry_t","fields": [ +{ "fieldname": "nID", "fieldtype": "int"}]} +,{"struct": "MusicPlayerSelectsPlaylistEntry_t","fields": [ +{ "fieldname": "nID", "fieldtype": "int"}]} +,{"struct": "MusicPlayerWantsPlayingRepeatStatus_t","fields": [ +{ "fieldname": "m_nPlayingRepeatStatus", "fieldtype": "int"}]} +,{"struct": "HTTPRequestCompleted_t","fields": [ +{ "fieldname": "m_hRequest", "fieldtype": "HTTPRequestHandle"}, +{ "fieldname": "m_ulContextValue", "fieldtype": "uint64"}, +{ "fieldname": "m_bRequestSuccessful", "fieldtype": "_Bool"}, +{ "fieldname": "m_eStatusCode", "fieldtype": "enum EHTTPStatusCode"}, +{ "fieldname": "m_unBodySize", "fieldtype": "uint32"}]} +,{"struct": "HTTPRequestHeadersReceived_t","fields": [ +{ "fieldname": "m_hRequest", "fieldtype": "HTTPRequestHandle"}, +{ "fieldname": "m_ulContextValue", "fieldtype": "uint64"}]} +,{"struct": "HTTPRequestDataReceived_t","fields": [ +{ "fieldname": "m_hRequest", "fieldtype": "HTTPRequestHandle"}, +{ "fieldname": "m_ulContextValue", "fieldtype": "uint64"}, +{ "fieldname": "m_cOffset", "fieldtype": "uint32"}, +{ "fieldname": "m_cBytesReceived", "fieldtype": "uint32"}]} +,{"struct": "ControllerAnalogActionData_t","fields": [ +{ "fieldname": "eMode", "fieldtype": "enum EControllerSourceMode"}, +{ "fieldname": "x", "fieldtype": "float"}, +{ "fieldname": "y", "fieldtype": "float"}, +{ "fieldname": "bActive", "fieldtype": "_Bool"}]} +,{"struct": "ControllerDigitalActionData_t","fields": [ +{ "fieldname": "bState", "fieldtype": "_Bool"}, +{ "fieldname": "bActive", "fieldtype": "_Bool"}]} +,{"struct": "ControllerMotionData_t","fields": [ +{ "fieldname": "rotQuatX", "fieldtype": "float"}, +{ "fieldname": "rotQuatY", "fieldtype": "float"}, +{ "fieldname": "rotQuatZ", "fieldtype": "float"}, +{ "fieldname": "rotQuatW", "fieldtype": "float"}, +{ "fieldname": "posAccelX", "fieldtype": "float"}, +{ "fieldname": "posAccelY", "fieldtype": "float"}, +{ "fieldname": "posAccelZ", "fieldtype": "float"}, +{ "fieldname": "rotVelX", "fieldtype": "float"}, +{ "fieldname": "rotVelY", "fieldtype": "float"}, +{ "fieldname": "rotVelZ", "fieldtype": "float"}]} +,{"struct": "SteamUGCDetails_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_eFileType", "fieldtype": "enum EWorkshopFileType"}, +{ "fieldname": "m_nCreatorAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_nConsumerAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_rgchTitle", "fieldtype": "char [129]"}, +{ "fieldname": "m_rgchDescription", "fieldtype": "char [8000]"}, +{ "fieldname": "m_ulSteamIDOwner", "fieldtype": "uint64"}, +{ "fieldname": "m_rtimeCreated", "fieldtype": "uint32"}, +{ "fieldname": "m_rtimeUpdated", "fieldtype": "uint32"}, +{ "fieldname": "m_rtimeAddedToUserList", "fieldtype": "uint32"}, +{ "fieldname": "m_eVisibility", "fieldtype": "enum ERemoteStoragePublishedFileVisibility"}, +{ "fieldname": "m_bBanned", "fieldtype": "_Bool"}, +{ "fieldname": "m_bAcceptedForUse", "fieldtype": "_Bool"}, +{ "fieldname": "m_bTagsTruncated", "fieldtype": "_Bool"}, +{ "fieldname": "m_rgchTags", "fieldtype": "char [1025]"}, +{ "fieldname": "m_hFile", "fieldtype": "UGCHandle_t"}, +{ "fieldname": "m_hPreviewFile", "fieldtype": "UGCHandle_t"}, +{ "fieldname": "m_pchFileName", "fieldtype": "char [260]"}, +{ "fieldname": "m_nFileSize", "fieldtype": "int32"}, +{ "fieldname": "m_nPreviewFileSize", "fieldtype": "int32"}, +{ "fieldname": "m_rgchURL", "fieldtype": "char [256]"}, +{ "fieldname": "m_unVotesUp", "fieldtype": "uint32"}, +{ "fieldname": "m_unVotesDown", "fieldtype": "uint32"}, +{ "fieldname": "m_flScore", "fieldtype": "float"}, +{ "fieldname": "m_unNumChildren", "fieldtype": "uint32"}]} +,{"struct": "SteamUGCQueryCompleted_t","fields": [ +{ "fieldname": "m_handle", "fieldtype": "UGCQueryHandle_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unNumResultsReturned", "fieldtype": "uint32"}, +{ "fieldname": "m_unTotalMatchingResults", "fieldtype": "uint32"}, +{ "fieldname": "m_bCachedData", "fieldtype": "_Bool"}]} +,{"struct": "SteamUGCRequestUGCDetailsResult_t","fields": [ +{ "fieldname": "m_details", "fieldtype": "struct SteamUGCDetails_t"}, +{ "fieldname": "m_bCachedData", "fieldtype": "_Bool"}]} +,{"struct": "CreateItemResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype": "_Bool"}]} +,{"struct": "SubmitItemUpdateResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_bUserNeedsToAcceptWorkshopLegalAgreement", "fieldtype": "_Bool"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "DownloadItemResult_t","fields": [ +{ "fieldname": "m_unAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "UserFavoriteItemsListChanged_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_bWasAddRequest", "fieldtype": "_Bool"}]} +,{"struct": "SetUserItemVoteResult_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_bVoteUp", "fieldtype": "_Bool"}]} +,{"struct": "GetUserItemVoteResult_t","fields": [ +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_bVotedUp", "fieldtype": "_Bool"}, +{ "fieldname": "m_bVotedDown", "fieldtype": "_Bool"}, +{ "fieldname": "m_bVoteSkipped", "fieldtype": "_Bool"}]} +,{"struct": "StartPlaytimeTrackingResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "StopPlaytimeTrackingResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "AddUGCDependencyResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nChildPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "RemoveUGCDependencyResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nChildPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "AddAppDependencyResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "RemoveAppDependencyResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "GetAppDependenciesResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}, +{ "fieldname": "m_rgAppIDs", "fieldtype": "AppId_t [32]"}, +{ "fieldname": "m_nNumAppDependencies", "fieldtype": "uint32"}, +{ "fieldname": "m_nTotalNumAppDependencies", "fieldtype": "uint32"}]} +,{"struct": "DeleteItemResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nPublishedFileId", "fieldtype": "PublishedFileId_t"}]} +,{"struct": "SteamAppInstalled_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "SteamAppUninstalled_t","fields": [ +{ "fieldname": "m_nAppID", "fieldtype": "AppId_t"}]} +,{"struct": "HTML_BrowserReady_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}]} +,{"struct": "HTML_NeedsPaint_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pBGRA", "fieldtype": "const char *"}, +{ "fieldname": "unWide", "fieldtype": "uint32"}, +{ "fieldname": "unTall", "fieldtype": "uint32"}, +{ "fieldname": "unUpdateX", "fieldtype": "uint32"}, +{ "fieldname": "unUpdateY", "fieldtype": "uint32"}, +{ "fieldname": "unUpdateWide", "fieldtype": "uint32"}, +{ "fieldname": "unUpdateTall", "fieldtype": "uint32"}, +{ "fieldname": "unScrollX", "fieldtype": "uint32"}, +{ "fieldname": "unScrollY", "fieldtype": "uint32"}, +{ "fieldname": "flPageScale", "fieldtype": "float"}, +{ "fieldname": "unPageSerial", "fieldtype": "uint32"}]} +,{"struct": "HTML_StartRequest_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchURL", "fieldtype": "const char *"}, +{ "fieldname": "pchTarget", "fieldtype": "const char *"}, +{ "fieldname": "pchPostData", "fieldtype": "const char *"}, +{ "fieldname": "bIsRedirect", "fieldtype": "_Bool"}]} +,{"struct": "HTML_CloseBrowser_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}]} +,{"struct": "HTML_URLChanged_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchURL", "fieldtype": "const char *"}, +{ "fieldname": "pchPostData", "fieldtype": "const char *"}, +{ "fieldname": "bIsRedirect", "fieldtype": "_Bool"}, +{ "fieldname": "pchPageTitle", "fieldtype": "const char *"}, +{ "fieldname": "bNewNavigation", "fieldtype": "_Bool"}]} +,{"struct": "HTML_FinishedRequest_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchURL", "fieldtype": "const char *"}, +{ "fieldname": "pchPageTitle", "fieldtype": "const char *"}]} +,{"struct": "HTML_OpenLinkInNewTab_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchURL", "fieldtype": "const char *"}]} +,{"struct": "HTML_ChangedTitle_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchTitle", "fieldtype": "const char *"}]} +,{"struct": "HTML_SearchResults_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "unResults", "fieldtype": "uint32"}, +{ "fieldname": "unCurrentMatch", "fieldtype": "uint32"}]} +,{"struct": "HTML_CanGoBackAndForward_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "bCanGoBack", "fieldtype": "_Bool"}, +{ "fieldname": "bCanGoForward", "fieldtype": "_Bool"}]} +,{"struct": "HTML_HorizontalScroll_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "unScrollMax", "fieldtype": "uint32"}, +{ "fieldname": "unScrollCurrent", "fieldtype": "uint32"}, +{ "fieldname": "flPageScale", "fieldtype": "float"}, +{ "fieldname": "bVisible", "fieldtype": "_Bool"}, +{ "fieldname": "unPageSize", "fieldtype": "uint32"}]} +,{"struct": "HTML_VerticalScroll_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "unScrollMax", "fieldtype": "uint32"}, +{ "fieldname": "unScrollCurrent", "fieldtype": "uint32"}, +{ "fieldname": "flPageScale", "fieldtype": "float"}, +{ "fieldname": "bVisible", "fieldtype": "_Bool"}, +{ "fieldname": "unPageSize", "fieldtype": "uint32"}]} +,{"struct": "HTML_LinkAtPosition_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "x", "fieldtype": "uint32"}, +{ "fieldname": "y", "fieldtype": "uint32"}, +{ "fieldname": "pchURL", "fieldtype": "const char *"}, +{ "fieldname": "bInput", "fieldtype": "_Bool"}, +{ "fieldname": "bLiveLink", "fieldtype": "_Bool"}]} +,{"struct": "HTML_JSAlert_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchMessage", "fieldtype": "const char *"}]} +,{"struct": "HTML_JSConfirm_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchMessage", "fieldtype": "const char *"}]} +,{"struct": "HTML_FileOpenDialog_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchTitle", "fieldtype": "const char *"}, +{ "fieldname": "pchInitialFile", "fieldtype": "const char *"}]} +,{"struct": "HTML_NewWindow_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchURL", "fieldtype": "const char *"}, +{ "fieldname": "unX", "fieldtype": "uint32"}, +{ "fieldname": "unY", "fieldtype": "uint32"}, +{ "fieldname": "unWide", "fieldtype": "uint32"}, +{ "fieldname": "unTall", "fieldtype": "uint32"}, +{ "fieldname": "unNewWindow_BrowserHandle", "fieldtype": "HHTMLBrowser"}]} +,{"struct": "HTML_SetCursor_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "eMouseCursor", "fieldtype": "uint32"}]} +,{"struct": "HTML_StatusText_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchMsg", "fieldtype": "const char *"}]} +,{"struct": "HTML_ShowToolTip_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchMsg", "fieldtype": "const char *"}]} +,{"struct": "HTML_UpdateToolTip_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "pchMsg", "fieldtype": "const char *"}]} +,{"struct": "HTML_HideToolTip_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}]} +,{"struct": "HTML_BrowserRestarted_t","fields": [ +{ "fieldname": "unBrowserHandle", "fieldtype": "HHTMLBrowser"}, +{ "fieldname": "unOldBrowserHandle", "fieldtype": "HHTMLBrowser"}]} +,{"struct": "SteamItemDetails_t","fields": [ +{ "fieldname": "m_itemId", "fieldtype": "SteamItemInstanceID_t"}, +{ "fieldname": "m_iDefinition", "fieldtype": "SteamItemDef_t"}, +{ "fieldname": "m_unQuantity", "fieldtype": "uint16"}, +{ "fieldname": "m_unFlags", "fieldtype": "uint16"}]} +,{"struct": "SteamInventoryResultReady_t","fields": [ +{ "fieldname": "m_handle", "fieldtype": "SteamInventoryResult_t"}, +{ "fieldname": "m_result", "fieldtype": "enum EResult"}]} +,{"struct": "SteamInventoryFullUpdate_t","fields": [ +{ "fieldname": "m_handle", "fieldtype": "SteamInventoryResult_t"}]} +,{"struct": "SteamInventoryEligiblePromoItemDefIDs_t","fields": [ +{ "fieldname": "m_result", "fieldtype": "enum EResult"}, +{ "fieldname": "m_steamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_numEligiblePromoItemDefs", "fieldtype": "int"}, +{ "fieldname": "m_bCachedData", "fieldtype": "_Bool"}]} +,{"struct": "SteamInventoryStartPurchaseResult_t","fields": [ +{ "fieldname": "m_result", "fieldtype": "enum EResult"}, +{ "fieldname": "m_ulOrderID", "fieldtype": "uint64"}, +{ "fieldname": "m_ulTransID", "fieldtype": "uint64"}]} +,{"struct": "SteamInventoryRequestPricesResult_t","fields": [ +{ "fieldname": "m_result", "fieldtype": "enum EResult"}, +{ "fieldname": "m_rgchCurrency", "fieldtype": "char [4]"}]} +,{"struct": "BroadcastUploadStop_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EBroadcastUploadResult"}]} +,{"struct": "GetVideoURLResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unVideoAppID", "fieldtype": "AppId_t"}, +{ "fieldname": "m_rgchURL", "fieldtype": "char [256]"}]} +,{"struct": "GetOPFSettingsResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unVideoAppID", "fieldtype": "AppId_t"}]} +,{"struct": "CSteamAPIContext","fields": [ +{ "fieldname": "m_pSteamClient", "fieldtype": "class ISteamClient *"}, +{ "fieldname": "m_pSteamUser", "fieldtype": "class ISteamUser *"}, +{ "fieldname": "m_pSteamFriends", "fieldtype": "class ISteamFriends *"}, +{ "fieldname": "m_pSteamUtils", "fieldtype": "class ISteamUtils *"}, +{ "fieldname": "m_pSteamMatchmaking", "fieldtype": "class ISteamMatchmaking *"}, +{ "fieldname": "m_pSteamUserStats", "fieldtype": "class ISteamUserStats *"}, +{ "fieldname": "m_pSteamApps", "fieldtype": "class ISteamApps *"}, +{ "fieldname": "m_pSteamMatchmakingServers", "fieldtype": "class ISteamMatchmakingServers *"}, +{ "fieldname": "m_pSteamNetworking", "fieldtype": "class ISteamNetworking *"}, +{ "fieldname": "m_pSteamRemoteStorage", "fieldtype": "class ISteamRemoteStorage *"}, +{ "fieldname": "m_pSteamScreenshots", "fieldtype": "class ISteamScreenshots *"}, +{ "fieldname": "m_pSteamHTTP", "fieldtype": "class ISteamHTTP *"}, +{ "fieldname": "m_pController", "fieldtype": "class ISteamController *"}, +{ "fieldname": "m_pSteamUGC", "fieldtype": "class ISteamUGC *"}, +{ "fieldname": "m_pSteamAppList", "fieldtype": "class ISteamAppList *"}, +{ "fieldname": "m_pSteamMusic", "fieldtype": "class ISteamMusic *"}, +{ "fieldname": "m_pSteamMusicRemote", "fieldtype": "class ISteamMusicRemote *"}, +{ "fieldname": "m_pSteamHTMLSurface", "fieldtype": "class ISteamHTMLSurface *"}, +{ "fieldname": "m_pSteamInventory", "fieldtype": "class ISteamInventory *"}, +{ "fieldname": "m_pSteamVideo", "fieldtype": "class ISteamVideo *"}, +{ "fieldname": "m_pSteamParentalSettings", "fieldtype": "class ISteamParentalSettings *"}]} +,{"struct": "CCallbackBase","fields": [ +{ "fieldname": "m_nCallbackFlags", "fieldtype": "uint8"}, +{ "fieldname": "m_iCallback", "fieldtype": "int"}]} +,{"struct": "CCallResult","fields": [ +{ "fieldname": "m_hAPICall", "fieldtype": "SteamAPICall_t"}, +{ "fieldname": "m_pObj", "fieldtype": "T *"}, +{ "fieldname": "m_Func", "fieldtype": "func_t"}]} +,{"struct": "CCallback","fields": [ +{ "fieldname": "m_pObj", "fieldtype": "T *"}, +{ "fieldname": "m_Func", "fieldtype": "func_t"}]} +,{"struct": "GSClientApprove_t","fields": [ +{ "fieldname": "m_SteamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_OwnerSteamID", "fieldtype": "class CSteamID"}]} +,{"struct": "GSClientDeny_t","fields": [ +{ "fieldname": "m_SteamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_eDenyReason", "fieldtype": "enum EDenyReason"}, +{ "fieldname": "m_rgchOptionalText", "fieldtype": "char [128]"}]} +,{"struct": "GSClientKick_t","fields": [ +{ "fieldname": "m_SteamID", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_eDenyReason", "fieldtype": "enum EDenyReason"}]} +,{"struct": "GSClientAchievementStatus_t","fields": [ +{ "fieldname": "m_SteamID", "fieldtype": "uint64"}, +{ "fieldname": "m_pchAchievement", "fieldtype": "char [128]"}, +{ "fieldname": "m_bUnlocked", "fieldtype": "_Bool"}]} +,{"struct": "GSPolicyResponse_t","fields": [ +{ "fieldname": "m_bSecure", "fieldtype": "uint8"}]} +,{"struct": "GSGameplayStats_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_nRank", "fieldtype": "int32"}, +{ "fieldname": "m_unTotalConnects", "fieldtype": "uint32"}, +{ "fieldname": "m_unTotalMinutesPlayed", "fieldtype": "uint32"}]} +,{"struct": "GSClientGroupStatus_t","fields": [ +{ "fieldname": "m_SteamIDUser", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_SteamIDGroup", "fieldtype": "class CSteamID"}, +{ "fieldname": "m_bMember", "fieldtype": "_Bool"}, +{ "fieldname": "m_bOfficer", "fieldtype": "_Bool"}]} +,{"struct": "GSReputation_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_unReputationScore", "fieldtype": "uint32"}, +{ "fieldname": "m_bBanned", "fieldtype": "_Bool"}, +{ "fieldname": "m_unBannedIP", "fieldtype": "uint32"}, +{ "fieldname": "m_usBannedPort", "fieldtype": "uint16"}, +{ "fieldname": "m_ulBannedGameID", "fieldtype": "uint64"}, +{ "fieldname": "m_unBanExpires", "fieldtype": "uint32"}]} +,{"struct": "AssociateWithClanResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}]} +,{"struct": "ComputeNewPlayerCompatibilityResult_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_cPlayersThatDontLikeCandidate", "fieldtype": "int"}, +{ "fieldname": "m_cPlayersThatCandidateDoesntLike", "fieldtype": "int"}, +{ "fieldname": "m_cClanPlayersThatDontLikeCandidate", "fieldtype": "int"}, +{ "fieldname": "m_SteamIDCandidate", "fieldtype": "class CSteamID"}]} +,{"struct": "GSStatsReceived_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}]} +,{"struct": "GSStatsStored_t","fields": [ +{ "fieldname": "m_eResult", "fieldtype": "enum EResult"}, +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}]} +,{"struct": "GSStatsUnloaded_t","fields": [ +{ "fieldname": "m_steamIDUser", "fieldtype": "class CSteamID"}]} +], +"methods":[{ + "classname": "ISteamClient", + "methodname": "CreateSteamPipe", + "returntype": "HSteamPipe" +} +,{ + "classname": "ISteamClient", + "methodname": "BReleaseSteamPipe", + "returntype": "bool", + "params": [ +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "ConnectToGlobalUser", + "returntype": "HSteamUser", + "params": [ +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "CreateLocalUser", + "returntype": "HSteamUser", + "params": [ +{ "paramname": "phSteamPipe" ,"paramtype": "HSteamPipe *"}, +{ "paramname": "eAccountType" ,"paramtype": "EAccountType"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "ReleaseUser", + "returntype": "void", + "params": [ +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "hUser" ,"paramtype": "HSteamUser"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamUser", + "returntype": "class ISteamUser *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamGameServer", + "returntype": "class ISteamGameServer *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "SetLocalIPBinding", + "returntype": "void", + "params": [ +{ "paramname": "unIP" ,"paramtype": "uint32"}, +{ "paramname": "usPort" ,"paramtype": "uint16"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamFriends", + "returntype": "class ISteamFriends *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamUtils", + "returntype": "class ISteamUtils *", + "params": [ +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamMatchmaking", + "returntype": "class ISteamMatchmaking *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamMatchmakingServers", + "returntype": "class ISteamMatchmakingServers *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamGenericInterface", + "returntype": "void *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamUserStats", + "returntype": "class ISteamUserStats *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamGameServerStats", + "returntype": "class ISteamGameServerStats *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamApps", + "returntype": "class ISteamApps *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamNetworking", + "returntype": "class ISteamNetworking *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamRemoteStorage", + "returntype": "class ISteamRemoteStorage *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamScreenshots", + "returntype": "class ISteamScreenshots *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetIPCCallCount", + "returntype": "uint32" +} +,{ + "classname": "ISteamClient", + "methodname": "SetWarningMessageHook", + "returntype": "void", + "params": [ +{ "paramname": "pFunction" ,"paramtype": "SteamAPIWarningMessageHook_t"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "BShutdownIfAllPipesClosed", + "returntype": "bool" +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamHTTP", + "returntype": "class ISteamHTTP *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamController", + "returntype": "class ISteamController *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamUGC", + "returntype": "class ISteamUGC *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamAppList", + "returntype": "class ISteamAppList *", + "params": [ +{ "paramname": "hSteamUser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamMusic", + "returntype": "class ISteamMusic *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamMusicRemote", + "returntype": "class ISteamMusicRemote *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamHTMLSurface", + "returntype": "class ISteamHTMLSurface *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamInventory", + "returntype": "class ISteamInventory *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamVideo", + "returntype": "class ISteamVideo *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamClient", + "methodname": "GetISteamParentalSettings", + "returntype": "class ISteamParentalSettings *", + "params": [ +{ "paramname": "hSteamuser" ,"paramtype": "HSteamUser"}, +{ "paramname": "hSteamPipe" ,"paramtype": "HSteamPipe"}, +{ "paramname": "pchVersion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetHSteamUser", + "returntype": "HSteamUser" +} +,{ + "classname": "ISteamUser", + "methodname": "BLoggedOn", + "returntype": "bool" +} +,{ + "classname": "ISteamUser", + "methodname": "GetSteamID", + "returntype": "class CSteamID" +} +,{ + "classname": "ISteamUser", + "methodname": "InitiateGameConnection", + "returntype": "int", + "params": [ +{ "paramname": "pAuthBlob" ,"paramtype": "void *"}, +{ "paramname": "cbMaxAuthBlob" ,"paramtype": "int"}, +{ "paramname": "steamIDGameServer" ,"paramtype": "class CSteamID"}, +{ "paramname": "unIPServer" ,"paramtype": "uint32"}, +{ "paramname": "usPortServer" ,"paramtype": "uint16"}, +{ "paramname": "bSecure" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "TerminateGameConnection", + "returntype": "void", + "params": [ +{ "paramname": "unIPServer" ,"paramtype": "uint32"}, +{ "paramname": "usPortServer" ,"paramtype": "uint16"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "TrackAppUsageEvent", + "returntype": "void", + "params": [ +{ "paramname": "gameID" ,"paramtype": "class CGameID"}, +{ "paramname": "eAppUsageEvent" ,"paramtype": "int"}, +{ "paramname": "pchExtraInfo" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetUserDataFolder", + "returntype": "bool", + "params": [ +{ "paramname": "pchBuffer" ,"paramtype": "char *"}, +{ "paramname": "cubBuffer" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "StartVoiceRecording", + "returntype": "void" +} +,{ + "classname": "ISteamUser", + "methodname": "StopVoiceRecording", + "returntype": "void" +} +,{ + "classname": "ISteamUser", + "methodname": "GetAvailableVoice", + "returntype": "EVoiceResult", + "params": [ +{ "paramname": "pcbCompressed" ,"paramtype": "uint32 *"}, +{ "paramname": "pcbUncompressed_Deprecated" ,"paramtype": "uint32 *"}, +{ "paramname": "nUncompressedVoiceDesiredSampleRate_Deprecated" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetVoice", + "returntype": "EVoiceResult", + "params": [ +{ "paramname": "bWantCompressed" ,"paramtype": "bool"}, +{ "paramname": "pDestBuffer" ,"paramtype": "void *"}, +{ "paramname": "cbDestBufferSize" ,"paramtype": "uint32"}, +{ "paramname": "nBytesWritten" ,"paramtype": "uint32 *"}, +{ "paramname": "bWantUncompressed_Deprecated" ,"paramtype": "bool"}, +{ "paramname": "pUncompressedDestBuffer_Deprecated" ,"paramtype": "void *"}, +{ "paramname": "cbUncompressedDestBufferSize_Deprecated" ,"paramtype": "uint32"}, +{ "paramname": "nUncompressBytesWritten_Deprecated" ,"paramtype": "uint32 *"}, +{ "paramname": "nUncompressedVoiceDesiredSampleRate_Deprecated" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "DecompressVoice", + "returntype": "EVoiceResult", + "params": [ +{ "paramname": "pCompressed" ,"paramtype": "const void *"}, +{ "paramname": "cbCompressed" ,"paramtype": "uint32"}, +{ "paramname": "pDestBuffer" ,"paramtype": "void *"}, +{ "paramname": "cbDestBufferSize" ,"paramtype": "uint32"}, +{ "paramname": "nBytesWritten" ,"paramtype": "uint32 *"}, +{ "paramname": "nDesiredSampleRate" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetVoiceOptimalSampleRate", + "returntype": "uint32" +} +,{ + "classname": "ISteamUser", + "methodname": "GetAuthSessionTicket", + "returntype": "HAuthTicket", + "params": [ +{ "paramname": "pTicket" ,"paramtype": "void *"}, +{ "paramname": "cbMaxTicket" ,"paramtype": "int"}, +{ "paramname": "pcbTicket" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "BeginAuthSession", + "returntype": "EBeginAuthSessionResult", + "params": [ +{ "paramname": "pAuthTicket" ,"paramtype": "const void *"}, +{ "paramname": "cbAuthTicket" ,"paramtype": "int"}, +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "EndAuthSession", + "returntype": "void", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "CancelAuthTicket", + "returntype": "void", + "params": [ +{ "paramname": "hAuthTicket" ,"paramtype": "HAuthTicket"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "UserHasLicenseForApp", + "returntype": "EUserHasLicenseForAppResult", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"}, +{ "paramname": "appID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "BIsBehindNAT", + "returntype": "bool" +} +,{ + "classname": "ISteamUser", + "methodname": "AdvertiseGame", + "returntype": "void", + "params": [ +{ "paramname": "steamIDGameServer" ,"paramtype": "class CSteamID"}, +{ "paramname": "unIPServer" ,"paramtype": "uint32"}, +{ "paramname": "usPortServer" ,"paramtype": "uint16"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "RequestEncryptedAppTicket", "callresult": "EncryptedAppTicketResponse_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pDataToInclude" ,"paramtype": "void *"}, +{ "paramname": "cbDataToInclude" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetEncryptedAppTicket", + "returntype": "bool", + "params": [ +{ "paramname": "pTicket" ,"paramtype": "void *"}, +{ "paramname": "cbMaxTicket" ,"paramtype": "int"}, +{ "paramname": "pcbTicket" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetGameBadgeLevel", + "returntype": "int", + "params": [ +{ "paramname": "nSeries" ,"paramtype": "int"}, +{ "paramname": "bFoil" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "GetPlayerSteamLevel", + "returntype": "int" +} +,{ + "classname": "ISteamUser", + "methodname": "RequestStoreAuthURL", "callresult": "StoreAuthURLResponse_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchRedirectURL" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUser", + "methodname": "BIsPhoneVerified", + "returntype": "bool" +} +,{ + "classname": "ISteamUser", + "methodname": "BIsTwoFactorEnabled", + "returntype": "bool" +} +,{ + "classname": "ISteamUser", + "methodname": "BIsPhoneIdentifying", + "returntype": "bool" +} +,{ + "classname": "ISteamUser", + "methodname": "BIsPhoneRequiringVerification", + "returntype": "bool" +} +,{ + "classname": "ISteamFriends", + "methodname": "GetPersonaName", + "returntype": "const char *" +} +,{ + "classname": "ISteamFriends", + "methodname": "SetPersonaName", "callresult": "SetPersonaNameResponse_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchPersonaName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetPersonaState", + "returntype": "EPersonaState" +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendCount", + "returntype": "int", + "params": [ +{ "paramname": "iFriendFlags" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "iFriend" ,"paramtype": "int"}, +{ "paramname": "iFriendFlags" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendRelationship", + "returntype": "EFriendRelationship", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendPersonaState", + "returntype": "EPersonaState", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendPersonaName", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendGamePlayed", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "pFriendGameInfo" ,"out_struct": " " ,"paramtype": "struct FriendGameInfo_t *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendPersonaNameHistory", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "iPersonaName" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendSteamLevel", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetPlayerNickname", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDPlayer" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendsGroupCount", + "returntype": "int" +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendsGroupIDByIndex", + "returntype": "FriendsGroupID_t", + "params": [ +{ "paramname": "iFG" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendsGroupName", + "returntype": "const char *", + "params": [ +{ "paramname": "friendsGroupID" ,"paramtype": "FriendsGroupID_t"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendsGroupMembersCount", + "returntype": "int", + "params": [ +{ "paramname": "friendsGroupID" ,"paramtype": "FriendsGroupID_t"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendsGroupMembersList", + "returntype": "void", + "params": [ +{ "paramname": "friendsGroupID" ,"paramtype": "FriendsGroupID_t"}, +{ "paramname": "pOutSteamIDMembers" ,"out_array_call": "nMembersCount,GetFriendsGroupMembersCount,friendsGroupID" ,"paramtype": "class CSteamID *"}, +{ "paramname": "nMembersCount" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "HasFriend", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "iFriendFlags" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanCount", + "returntype": "int" +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "iClan" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanName", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanTag", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanActivityCounts", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"}, +{ "paramname": "pnOnline" ,"paramtype": "int *"}, +{ "paramname": "pnInGame" ,"paramtype": "int *"}, +{ "paramname": "pnChatting" ,"paramtype": "int *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "DownloadClanActivityCounts", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "psteamIDClans" ,"array_count": "cClansToRequest" ,"paramtype": "class CSteamID *"}, +{ "paramname": "cClansToRequest" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendCountFromSource", + "returntype": "int", + "params": [ +{ "paramname": "steamIDSource" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendFromSourceByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "steamIDSource" ,"paramtype": "class CSteamID"}, +{ "paramname": "iFriend" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "IsUserInSource", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDSource" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "SetInGameVoiceSpeaking", + "returntype": "void", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "bSpeaking" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ActivateGameOverlay", + "returntype": "void", + "params": [ +{ "paramname": "pchDialog" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ActivateGameOverlayToUser", + "returntype": "void", + "params": [ +{ "paramname": "pchDialog" ,"paramtype": "const char *"}, +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ActivateGameOverlayToWebPage", + "returntype": "void", + "params": [ +{ "paramname": "pchURL" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ActivateGameOverlayToStore", + "returntype": "void", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "eFlag" ,"paramtype": "EOverlayToStoreFlag"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "SetPlayedWith", + "returntype": "void", + "params": [ +{ "paramname": "steamIDUserPlayedWith" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ActivateGameOverlayInviteDialog", + "returntype": "void", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetSmallFriendAvatar", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetMediumFriendAvatar", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetLargeFriendAvatar", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "RequestUserInformation", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "bRequireNameOnly" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "RequestClanOfficerList", "callresult": "ClanOfficerListResponse_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanOwner", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanOfficerCount", + "returntype": "int", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanOfficerByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"}, +{ "paramname": "iOfficer" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetUserRestrictions", + "returntype": "uint32" +} +,{ + "classname": "ISteamFriends", + "methodname": "SetRichPresence", + "returntype": "bool", + "params": [ +{ "paramname": "pchKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ClearRichPresence", + "returntype": "void" +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendRichPresence", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendRichPresenceKeyCount", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendRichPresenceKeyByIndex", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "iKey" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "RequestFriendRichPresence", + "returntype": "void", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "InviteUserToGame", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchConnectString" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetCoplayFriendCount", + "returntype": "int" +} +,{ + "classname": "ISteamFriends", + "methodname": "GetCoplayFriend", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "iCoplayFriend" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendCoplayTime", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendCoplayGame", + "returntype": "AppId_t", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "JoinClanChatRoom", "callresult": "JoinClanChatRoomCompletionResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "LeaveClanChatRoom", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanChatMemberCount", + "returntype": "int", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetChatMemberByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"}, +{ "paramname": "iUser" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "SendClanChatMessage", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClanChat" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchText" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetClanChatMessage", + "returntype": "int", + "params": [ +{ "paramname": "steamIDClanChat" ,"paramtype": "class CSteamID"}, +{ "paramname": "iMessage" ,"paramtype": "int"}, +{ "paramname": "prgchText" ,"paramtype": "void *"}, +{ "paramname": "cchTextMax" ,"paramtype": "int"}, +{ "paramname": "peChatEntryType" ,"paramtype": "EChatEntryType *"}, +{ "paramname": "psteamidChatter" ,"out_struct": " " ,"paramtype": "class CSteamID *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "IsClanChatAdmin", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClanChat" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "IsClanChatWindowOpenInSteam", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClanChat" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "OpenClanChatWindowInSteam", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClanChat" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "CloseClanChatWindowInSteam", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClanChat" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "SetListenForFriendsMessages", + "returntype": "bool", + "params": [ +{ "paramname": "bInterceptEnabled" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "ReplyToFriendMessage", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchMsgToSend" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFriendMessage", + "returntype": "int", + "params": [ +{ "paramname": "steamIDFriend" ,"paramtype": "class CSteamID"}, +{ "paramname": "iMessageID" ,"paramtype": "int"}, +{ "paramname": "pvData" ,"paramtype": "void *"}, +{ "paramname": "cubData" ,"paramtype": "int"}, +{ "paramname": "peChatEntryType" ,"paramtype": "EChatEntryType *"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "GetFollowerCount", "callresult": "FriendsGetFollowerCount_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "IsFollowing", "callresult": "FriendsIsFollowing_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "EnumerateFollowingList", "callresult": "FriendsEnumerateFollowingList_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unStartIndex" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "IsClanPublic", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamFriends", + "methodname": "IsClanOfficialGameGroup", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetSecondsSinceAppActive", + "returntype": "uint32" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetSecondsSinceComputerActive", + "returntype": "uint32" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetConnectedUniverse", + "returntype": "EUniverse" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetServerRealTime", + "returntype": "uint32" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetIPCountry", + "returntype": "const char *" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetImageSize", + "returntype": "bool", + "params": [ +{ "paramname": "iImage" ,"paramtype": "int"}, +{ "paramname": "pnWidth" ,"paramtype": "uint32 *"}, +{ "paramname": "pnHeight" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetImageRGBA", + "returntype": "bool", + "params": [ +{ "paramname": "iImage" ,"paramtype": "int"}, +{ "paramname": "pubDest" ,"paramtype": "uint8 *"}, +{ "paramname": "nDestBufferSize" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetCSERIPPort", + "returntype": "bool", + "params": [ +{ "paramname": "unIP" ,"paramtype": "uint32 *"}, +{ "paramname": "usPort" ,"paramtype": "uint16 *"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetCurrentBatteryPower", + "returntype": "uint8" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetAppID", + "returntype": "uint32" +} +,{ + "classname": "ISteamUtils", + "methodname": "SetOverlayNotificationPosition", + "returntype": "void", + "params": [ +{ "paramname": "eNotificationPosition" ,"paramtype": "ENotificationPosition"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "IsAPICallCompleted", + "returntype": "bool", + "params": [ +{ "paramname": "hSteamAPICall" ,"paramtype": "SteamAPICall_t"}, +{ "paramname": "pbFailed" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetAPICallFailureReason", + "returntype": "ESteamAPICallFailure", + "params": [ +{ "paramname": "hSteamAPICall" ,"paramtype": "SteamAPICall_t"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetAPICallResult", + "returntype": "bool", + "params": [ +{ "paramname": "hSteamAPICall" ,"paramtype": "SteamAPICall_t"}, +{ "paramname": "pCallback" ,"paramtype": "void *"}, +{ "paramname": "cubCallback" ,"paramtype": "int"}, +{ "paramname": "iCallbackExpected" ,"paramtype": "int"}, +{ "paramname": "pbFailed" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetIPCCallCount", + "returntype": "uint32" +} +,{ + "classname": "ISteamUtils", + "methodname": "SetWarningMessageHook", + "returntype": "void", + "params": [ +{ "paramname": "pFunction" ,"paramtype": "SteamAPIWarningMessageHook_t"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "IsOverlayEnabled", + "returntype": "bool" +} +,{ + "classname": "ISteamUtils", + "methodname": "BOverlayNeedsPresent", + "returntype": "bool" +} +,{ + "classname": "ISteamUtils", + "methodname": "CheckFileSignature", "callresult": "CheckFileSignature_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "szFileName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "ShowGamepadTextInput", + "returntype": "bool", + "params": [ +{ "paramname": "eInputMode" ,"paramtype": "EGamepadTextInputMode"}, +{ "paramname": "eLineInputMode" ,"paramtype": "EGamepadTextInputLineMode"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"}, +{ "paramname": "unCharMax" ,"paramtype": "uint32"}, +{ "paramname": "pchExistingText" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetEnteredGamepadTextLength", + "returntype": "uint32" +} +,{ + "classname": "ISteamUtils", + "methodname": "GetEnteredGamepadTextInput", + "returntype": "bool", + "params": [ +{ "paramname": "pchText" ,"paramtype": "char *"}, +{ "paramname": "cchText" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "GetSteamUILanguage", + "returntype": "const char *" +} +,{ + "classname": "ISteamUtils", + "methodname": "IsSteamRunningInVR", + "returntype": "bool" +} +,{ + "classname": "ISteamUtils", + "methodname": "SetOverlayNotificationInset", + "returntype": "void", + "params": [ +{ "paramname": "nHorizontalInset" ,"paramtype": "int"}, +{ "paramname": "nVerticalInset" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUtils", + "methodname": "IsSteamInBigPictureMode", + "returntype": "bool" +} +,{ + "classname": "ISteamUtils", + "methodname": "StartVRDashboard", + "returntype": "void" +} +,{ + "classname": "ISteamUtils", + "methodname": "IsVRHeadsetStreamingEnabled", + "returntype": "bool" +} +,{ + "classname": "ISteamUtils", + "methodname": "SetVRHeadsetStreamingEnabled", + "returntype": "void", + "params": [ +{ "paramname": "bEnabled" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetFavoriteGameCount", + "returntype": "int" +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetFavoriteGame", + "returntype": "bool", + "params": [ +{ "paramname": "iGame" ,"paramtype": "int"}, +{ "paramname": "pnAppID" ,"paramtype": "AppId_t *"}, +{ "paramname": "pnIP" ,"paramtype": "uint32 *"}, +{ "paramname": "pnConnPort" ,"paramtype": "uint16 *"}, +{ "paramname": "pnQueryPort" ,"paramtype": "uint16 *"}, +{ "paramname": "punFlags" ,"paramtype": "uint32 *"}, +{ "paramname": "pRTime32LastPlayedOnServer" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddFavoriteGame", + "returntype": "int", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "nIP" ,"paramtype": "uint32"}, +{ "paramname": "nConnPort" ,"paramtype": "uint16"}, +{ "paramname": "nQueryPort" ,"paramtype": "uint16"}, +{ "paramname": "unFlags" ,"paramtype": "uint32"}, +{ "paramname": "rTime32LastPlayedOnServer" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "RemoveFavoriteGame", + "returntype": "bool", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "nIP" ,"paramtype": "uint32"}, +{ "paramname": "nConnPort" ,"paramtype": "uint16"}, +{ "paramname": "nQueryPort" ,"paramtype": "uint16"}, +{ "paramname": "unFlags" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "RequestLobbyList", "callresult": "LobbyMatchList_t", + "returntype": "SteamAPICall_t" +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListStringFilter", + "returntype": "void", + "params": [ +{ "paramname": "pchKeyToMatch" ,"paramtype": "const char *"}, +{ "paramname": "pchValueToMatch" ,"paramtype": "const char *"}, +{ "paramname": "eComparisonType" ,"paramtype": "ELobbyComparison"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListNumericalFilter", + "returntype": "void", + "params": [ +{ "paramname": "pchKeyToMatch" ,"paramtype": "const char *"}, +{ "paramname": "nValueToMatch" ,"paramtype": "int"}, +{ "paramname": "eComparisonType" ,"paramtype": "ELobbyComparison"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListNearValueFilter", + "returntype": "void", + "params": [ +{ "paramname": "pchKeyToMatch" ,"paramtype": "const char *"}, +{ "paramname": "nValueToBeCloseTo" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListFilterSlotsAvailable", + "returntype": "void", + "params": [ +{ "paramname": "nSlotsAvailable" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListDistanceFilter", + "returntype": "void", + "params": [ +{ "paramname": "eLobbyDistanceFilter" ,"paramtype": "ELobbyDistanceFilter"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListResultCountFilter", + "returntype": "void", + "params": [ +{ "paramname": "cMaxResults" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "AddRequestLobbyListCompatibleMembersFilter", + "returntype": "void", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "iLobby" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "CreateLobby", "callresult": "LobbyCreated_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "eLobbyType" ,"paramtype": "ELobbyType"}, +{ "paramname": "cMaxMembers" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "JoinLobby", "callresult": "LobbyEnter_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "LeaveLobby", + "returntype": "void", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "InviteUserToLobby", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDInvitee" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetNumLobbyMembers", + "returntype": "int", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyMemberByIndex", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "iMember" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyData", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyData", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyDataCount", + "returntype": "int", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyDataByIndex", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "iLobbyData" ,"paramtype": "int"}, +{ "paramname": "pchKey" ,"paramtype": "char *"}, +{ "paramname": "cchKeyBufferSize" ,"paramtype": "int"}, +{ "paramname": "pchValue" ,"paramtype": "char *"}, +{ "paramname": "cchValueBufferSize" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "DeleteLobbyData", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyMemberData", + "returntype": "const char *", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyMemberData", + "returntype": "void", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SendLobbyChatMsg", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "pvMsgBody" ,"paramtype": "const void *"}, +{ "paramname": "cubMsgBody" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyChatEntry", + "returntype": "int", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "iChatID" ,"paramtype": "int"}, +{ "paramname": "pSteamIDUser" ,"out_struct": " " ,"paramtype": "class CSteamID *"}, +{ "paramname": "pvData" ,"paramtype": "void *"}, +{ "paramname": "cubData" ,"paramtype": "int"}, +{ "paramname": "peChatEntryType" ,"paramtype": "EChatEntryType *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "RequestLobbyData", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyGameServer", + "returntype": "void", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "unGameServerIP" ,"paramtype": "uint32"}, +{ "paramname": "unGameServerPort" ,"paramtype": "uint16"}, +{ "paramname": "steamIDGameServer" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyGameServer", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "punGameServerIP" ,"paramtype": "uint32 *"}, +{ "paramname": "punGameServerPort" ,"paramtype": "uint16 *"}, +{ "paramname": "psteamIDGameServer" ,"out_struct": " " ,"paramtype": "class CSteamID *"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyMemberLimit", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "cMaxMembers" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyMemberLimit", + "returntype": "int", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyType", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "eLobbyType" ,"paramtype": "ELobbyType"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyJoinable", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "bLobbyJoinable" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "GetLobbyOwner", + "returntype": "class CSteamID", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLobbyOwner", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDNewOwner" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmaking", + "methodname": "SetLinkedLobby", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDLobby" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDLobbyDependent" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamMatchmakingServerListResponse", + "methodname": "ServerResponded", + "returntype": "void", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"}, +{ "paramname": "iServer" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmakingServerListResponse", + "methodname": "ServerFailedToRespond", + "returntype": "void", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"}, +{ "paramname": "iServer" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmakingServerListResponse", + "methodname": "RefreshComplete", + "returntype": "void", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"}, +{ "paramname": "response" ,"paramtype": "EMatchMakingServerResponse"} + ] +} +,{ + "classname": "ISteamMatchmakingPingResponse", + "methodname": "ServerResponded", + "returntype": "void", + "params": [ +{ "paramname": "server" ,"paramtype": "class gameserveritem_t &"} + ] +} +,{ + "classname": "ISteamMatchmakingPingResponse", + "methodname": "ServerFailedToRespond", + "returntype": "void" +} +,{ + "classname": "ISteamMatchmakingPlayersResponse", + "methodname": "AddPlayerToList", + "returntype": "void", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "nScore" ,"paramtype": "int"}, +{ "paramname": "flTimePlayed" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamMatchmakingPlayersResponse", + "methodname": "PlayersFailedToRespond", + "returntype": "void" +} +,{ + "classname": "ISteamMatchmakingPlayersResponse", + "methodname": "PlayersRefreshComplete", + "returntype": "void" +} +,{ + "classname": "ISteamMatchmakingRulesResponse", + "methodname": "RulesResponded", + "returntype": "void", + "params": [ +{ "paramname": "pchRule" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMatchmakingRulesResponse", + "methodname": "RulesFailedToRespond", + "returntype": "void" +} +,{ + "classname": "ISteamMatchmakingRulesResponse", + "methodname": "RulesRefreshComplete", + "returntype": "void" +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RequestInternetServerList", + "returntype": "HServerListRequest", + "params": [ +{ "paramname": "iApp" ,"paramtype": "AppId_t"}, +{ "paramname": "ppchFilters" ,"array_count": "nFilters" ,"paramtype": "struct MatchMakingKeyValuePair_t **"}, +{ "paramname": "nFilters" ,"paramtype": "uint32"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingServerListResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RequestLANServerList", + "returntype": "HServerListRequest", + "params": [ +{ "paramname": "iApp" ,"paramtype": "AppId_t"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingServerListResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RequestFriendsServerList", + "returntype": "HServerListRequest", + "params": [ +{ "paramname": "iApp" ,"paramtype": "AppId_t"}, +{ "paramname": "ppchFilters" ,"array_count": "nFilters" ,"paramtype": "struct MatchMakingKeyValuePair_t **"}, +{ "paramname": "nFilters" ,"paramtype": "uint32"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingServerListResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RequestFavoritesServerList", + "returntype": "HServerListRequest", + "params": [ +{ "paramname": "iApp" ,"paramtype": "AppId_t"}, +{ "paramname": "ppchFilters" ,"array_count": "nFilters" ,"paramtype": "struct MatchMakingKeyValuePair_t **"}, +{ "paramname": "nFilters" ,"paramtype": "uint32"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingServerListResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RequestHistoryServerList", + "returntype": "HServerListRequest", + "params": [ +{ "paramname": "iApp" ,"paramtype": "AppId_t"}, +{ "paramname": "ppchFilters" ,"array_count": "nFilters" ,"paramtype": "struct MatchMakingKeyValuePair_t **"}, +{ "paramname": "nFilters" ,"paramtype": "uint32"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingServerListResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RequestSpectatorServerList", + "returntype": "HServerListRequest", + "params": [ +{ "paramname": "iApp" ,"paramtype": "AppId_t"}, +{ "paramname": "ppchFilters" ,"array_count": "nFilters" ,"paramtype": "struct MatchMakingKeyValuePair_t **"}, +{ "paramname": "nFilters" ,"paramtype": "uint32"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingServerListResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "ReleaseRequest", + "returntype": "void", + "params": [ +{ "paramname": "hServerListRequest" ,"paramtype": "HServerListRequest"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "GetServerDetails", + "returntype": "class gameserveritem_t *", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"}, +{ "paramname": "iServer" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "CancelQuery", + "returntype": "void", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RefreshQuery", + "returntype": "void", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "IsRefreshing", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "GetServerCount", + "returntype": "int", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "RefreshServer", + "returntype": "void", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HServerListRequest"}, +{ "paramname": "iServer" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "PingServer", + "returntype": "HServerQuery", + "params": [ +{ "paramname": "unIP" ,"paramtype": "uint32"}, +{ "paramname": "usPort" ,"paramtype": "uint16"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingPingResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "PlayerDetails", + "returntype": "HServerQuery", + "params": [ +{ "paramname": "unIP" ,"paramtype": "uint32"}, +{ "paramname": "usPort" ,"paramtype": "uint16"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingPlayersResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "ServerRules", + "returntype": "HServerQuery", + "params": [ +{ "paramname": "unIP" ,"paramtype": "uint32"}, +{ "paramname": "usPort" ,"paramtype": "uint16"}, +{ "paramname": "pRequestServersResponse" ,"paramtype": "class ISteamMatchmakingRulesResponse *"} + ] +} +,{ + "classname": "ISteamMatchmakingServers", + "methodname": "CancelServerQuery", + "returntype": "void", + "params": [ +{ "paramname": "hServerQuery" ,"paramtype": "HServerQuery"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileWrite", + "returntype": "bool", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"}, +{ "paramname": "pvData" ,"paramtype": "const void *"}, +{ "paramname": "cubData" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileRead", + "returntype": "int32", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"}, +{ "paramname": "pvData" ,"paramtype": "void *"}, +{ "paramname": "cubDataToRead" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileWriteAsync", "callresult": "RemoteStorageFileWriteAsyncComplete_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"}, +{ "paramname": "pvData" ,"paramtype": "const void *"}, +{ "paramname": "cubData" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileReadAsync", "callresult": "RemoteStorageFileReadAsyncComplete_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"}, +{ "paramname": "nOffset" ,"paramtype": "uint32"}, +{ "paramname": "cubToRead" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileReadAsyncComplete", + "returntype": "bool", + "params": [ +{ "paramname": "hReadCall" ,"paramtype": "SteamAPICall_t"}, +{ "paramname": "pvBuffer" ,"paramtype": "void *"}, +{ "paramname": "cubToRead" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileForget", + "returntype": "bool", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileDelete", + "returntype": "bool", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileShare", "callresult": "RemoteStorageFileShareResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "SetSyncPlatforms", + "returntype": "bool", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"}, +{ "paramname": "eRemoteStoragePlatform" ,"paramtype": "ERemoteStoragePlatform"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileWriteStreamOpen", + "returntype": "UGCFileWriteStreamHandle_t", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileWriteStreamWriteChunk", + "returntype": "bool", + "params": [ +{ "paramname": "writeHandle" ,"paramtype": "UGCFileWriteStreamHandle_t"}, +{ "paramname": "pvData" ,"paramtype": "const void *"}, +{ "paramname": "cubData" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileWriteStreamClose", + "returntype": "bool", + "params": [ +{ "paramname": "writeHandle" ,"paramtype": "UGCFileWriteStreamHandle_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileWriteStreamCancel", + "returntype": "bool", + "params": [ +{ "paramname": "writeHandle" ,"paramtype": "UGCFileWriteStreamHandle_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FileExists", + "returntype": "bool", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "FilePersisted", + "returntype": "bool", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetFileSize", + "returntype": "int32", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetFileTimestamp", + "returntype": "int64", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetSyncPlatforms", + "returntype": "ERemoteStoragePlatform", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetFileCount", + "returntype": "int32" +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetFileNameAndSize", + "returntype": "const char *", + "params": [ +{ "paramname": "iFile" ,"paramtype": "int"}, +{ "paramname": "pnFileSizeInBytes" ,"paramtype": "int32 *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetQuota", + "returntype": "bool", + "params": [ +{ "paramname": "pnTotalBytes" ,"paramtype": "uint64 *"}, +{ "paramname": "puAvailableBytes" ,"paramtype": "uint64 *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "IsCloudEnabledForAccount", + "returntype": "bool" +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "IsCloudEnabledForApp", + "returntype": "bool" +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "SetCloudEnabledForApp", + "returntype": "void", + "params": [ +{ "paramname": "bEnabled" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UGCDownload", "callresult": "RemoteStorageDownloadUGCResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "hContent" ,"paramtype": "UGCHandle_t"}, +{ "paramname": "unPriority" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetUGCDownloadProgress", + "returntype": "bool", + "params": [ +{ "paramname": "hContent" ,"paramtype": "UGCHandle_t"}, +{ "paramname": "pnBytesDownloaded" ,"paramtype": "int32 *"}, +{ "paramname": "pnBytesExpected" ,"paramtype": "int32 *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetUGCDetails", + "returntype": "bool", + "params": [ +{ "paramname": "hContent" ,"paramtype": "UGCHandle_t"}, +{ "paramname": "pnAppID" ,"paramtype": "AppId_t *"}, +{ "paramname": "ppchName" ,"out_string": " " ,"paramtype": "char **"}, +{ "paramname": "pnFileSizeInBytes" ,"paramtype": "int32 *"}, +{ "paramname": "pSteamIDOwner" ,"out_struct": " " ,"paramtype": "class CSteamID *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UGCRead", + "returntype": "int32", + "params": [ +{ "paramname": "hContent" ,"paramtype": "UGCHandle_t"}, +{ "paramname": "pvData" ,"paramtype": "void *"}, +{ "paramname": "cubDataToRead" ,"paramtype": "int32"}, +{ "paramname": "cOffset" ,"paramtype": "uint32"}, +{ "paramname": "eAction" ,"paramtype": "EUGCReadAction"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetCachedUGCCount", + "returntype": "int32" +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetCachedUGCHandle", + "returntype": "UGCHandle_t", + "params": [ +{ "paramname": "iCachedContent" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "PublishWorkshopFile", "callresult": "RemoteStoragePublishFileProgress_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchFile" ,"paramtype": "const char *"}, +{ "paramname": "pchPreviewFile" ,"paramtype": "const char *"}, +{ "paramname": "nConsumerAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "pchTitle" ,"paramtype": "const char *"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"}, +{ "paramname": "eVisibility" ,"paramtype": "ERemoteStoragePublishedFileVisibility"}, +{ "paramname": "pTags" ,"paramtype": "struct SteamParamStringArray_t *"}, +{ "paramname": "eWorkshopFileType" ,"paramtype": "EWorkshopFileType"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "CreatePublishedFileUpdateRequest", + "returntype": "PublishedFileUpdateHandle_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFileFile", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "pchFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFilePreviewFile", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "pchPreviewFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFileTitle", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "pchTitle" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFileDescription", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFileVisibility", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "eVisibility" ,"paramtype": "ERemoteStoragePublishedFileVisibility"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFileTags", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "pTags" ,"paramtype": "struct SteamParamStringArray_t *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "CommitPublishedFileUpdate", "callresult": "RemoteStorageUpdatePublishedFileResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetPublishedFileDetails", "callresult": "RemoteStorageGetPublishedFileDetailsResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "unMaxSecondsOld" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "DeletePublishedFile", "callresult": "RemoteStorageDeletePublishedFileResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "EnumerateUserPublishedFiles", "callresult": "RemoteStorageEnumerateUserPublishedFilesResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unStartIndex" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "SubscribePublishedFile", "callresult": "RemoteStorageSubscribePublishedFileResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "EnumerateUserSubscribedFiles", "callresult": "RemoteStorageEnumerateUserSubscribedFilesResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unStartIndex" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UnsubscribePublishedFile", "callresult": "RemoteStorageUnsubscribePublishedFileResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdatePublishedFileSetChangeDescription", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "PublishedFileUpdateHandle_t"}, +{ "paramname": "pchChangeDescription" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetPublishedItemVoteDetails", "callresult": "RemoteStorageGetPublishedItemVoteDetailsResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UpdateUserPublishedItemVote", "callresult": "RemoteStorageUpdateUserPublishedItemVoteResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "bVoteUp" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "GetUserPublishedItemVoteDetails", "callresult": "RemoteStorageGetPublishedItemVoteDetailsResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "EnumerateUserSharedWorkshopFiles", "callresult": "RemoteStorageEnumerateUserPublishedFilesResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamId" ,"paramtype": "class CSteamID"}, +{ "paramname": "unStartIndex" ,"paramtype": "uint32"}, +{ "paramname": "pRequiredTags" ,"paramtype": "struct SteamParamStringArray_t *"}, +{ "paramname": "pExcludedTags" ,"paramtype": "struct SteamParamStringArray_t *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "PublishVideo", "callresult": "RemoteStoragePublishFileProgress_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "eVideoProvider" ,"paramtype": "EWorkshopVideoProvider"}, +{ "paramname": "pchVideoAccount" ,"paramtype": "const char *"}, +{ "paramname": "pchVideoIdentifier" ,"paramtype": "const char *"}, +{ "paramname": "pchPreviewFile" ,"paramtype": "const char *"}, +{ "paramname": "nConsumerAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "pchTitle" ,"paramtype": "const char *"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"}, +{ "paramname": "eVisibility" ,"paramtype": "ERemoteStoragePublishedFileVisibility"}, +{ "paramname": "pTags" ,"paramtype": "struct SteamParamStringArray_t *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "SetUserPublishedFileAction", "callresult": "RemoteStorageSetUserPublishedFileActionResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "unPublishedFileId" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "eAction" ,"paramtype": "EWorkshopFileAction"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "EnumeratePublishedFilesByUserAction", "callresult": "RemoteStorageEnumeratePublishedFilesByUserActionResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "eAction" ,"paramtype": "EWorkshopFileAction"}, +{ "paramname": "unStartIndex" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "EnumeratePublishedWorkshopFiles", "callresult": "RemoteStorageEnumerateWorkshopFilesResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "eEnumerationType" ,"paramtype": "EWorkshopEnumerationType"}, +{ "paramname": "unStartIndex" ,"paramtype": "uint32"}, +{ "paramname": "unCount" ,"paramtype": "uint32"}, +{ "paramname": "unDays" ,"paramtype": "uint32"}, +{ "paramname": "pTags" ,"paramtype": "struct SteamParamStringArray_t *"}, +{ "paramname": "pUserTags" ,"paramtype": "struct SteamParamStringArray_t *"} + ] +} +,{ + "classname": "ISteamRemoteStorage", + "methodname": "UGCDownloadToLocation", "callresult": "RemoteStorageDownloadUGCResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "hContent" ,"paramtype": "UGCHandle_t"}, +{ "paramname": "pchLocation" ,"paramtype": "const char *"}, +{ "paramname": "unPriority" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "RequestCurrentStats", "callback": "UserStatsReceived_t", + "returntype": "bool" +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "int32 *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "float *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "SetStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "nData" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "SetStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "fData" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "UpdateAvgRateStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "flCountThisSession" ,"paramtype": "float"}, +{ "paramname": "dSessionLength" ,"paramtype": "double"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "SetAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "ClearAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetAchievementAndUnlockTime", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"}, +{ "paramname": "punUnlockTime" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "StoreStats", + "returntype": "bool" +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetAchievementIcon", + "returntype": "int", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetAchievementDisplayAttribute", + "returntype": "const char *", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "IndicateAchievementProgress", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "nCurProgress" ,"paramtype": "uint32"}, +{ "paramname": "nMaxProgress" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetNumAchievements", + "returntype": "uint32" +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetAchievementName", + "returntype": "const char *", + "params": [ +{ "paramname": "iAchievement" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "RequestUserStats", "callresult": "UserStatsReceived_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetUserStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "int32 *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetUserStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "float *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetUserAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetUserAchievementAndUnlockTime", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"}, +{ "paramname": "punUnlockTime" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "ResetAllStats", + "returntype": "bool", + "params": [ +{ "paramname": "bAchievementsToo" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "FindOrCreateLeaderboard", "callresult": "LeaderboardFindResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchLeaderboardName" ,"paramtype": "const char *"}, +{ "paramname": "eLeaderboardSortMethod" ,"paramtype": "ELeaderboardSortMethod"}, +{ "paramname": "eLeaderboardDisplayType" ,"paramtype": "ELeaderboardDisplayType"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "FindLeaderboard", "callresult": "LeaderboardFindResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchLeaderboardName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetLeaderboardName", + "returntype": "const char *", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetLeaderboardEntryCount", + "returntype": "int", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetLeaderboardSortMethod", + "returntype": "ELeaderboardSortMethod", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetLeaderboardDisplayType", + "returntype": "ELeaderboardDisplayType", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "DownloadLeaderboardEntries", "callresult": "LeaderboardScoresDownloaded_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"}, +{ "paramname": "eLeaderboardDataRequest" ,"paramtype": "ELeaderboardDataRequest"}, +{ "paramname": "nRangeStart" ,"paramtype": "int"}, +{ "paramname": "nRangeEnd" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "DownloadLeaderboardEntriesForUsers", "callresult": "LeaderboardScoresDownloaded_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"}, +{ "paramname": "prgUsers" ,"array_count": "cUsers" ,"desc": "Array of users to retrieve" ,"paramtype": "class CSteamID *"}, +{ "paramname": "cUsers" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetDownloadedLeaderboardEntry", + "returntype": "bool", + "params": [ +{ "paramname": "hSteamLeaderboardEntries" ,"paramtype": "SteamLeaderboardEntries_t"}, +{ "paramname": "index" ,"paramtype": "int"}, +{ "paramname": "pLeaderboardEntry" ,"paramtype": "struct LeaderboardEntry_t *"}, +{ "paramname": "pDetails" ,"paramtype": "int32 *"}, +{ "paramname": "cDetailsMax" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "UploadLeaderboardScore", "callresult": "LeaderboardScoreUploaded_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"}, +{ "paramname": "eLeaderboardUploadScoreMethod" ,"paramtype": "ELeaderboardUploadScoreMethod"}, +{ "paramname": "nScore" ,"paramtype": "int32"}, +{ "paramname": "pScoreDetails" ,"paramtype": "const int32 *"}, +{ "paramname": "cScoreDetailsCount" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "AttachLeaderboardUGC", "callresult": "LeaderboardUGCSet_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "hSteamLeaderboard" ,"paramtype": "SteamLeaderboard_t"}, +{ "paramname": "hUGC" ,"paramtype": "UGCHandle_t"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetNumberOfCurrentPlayers", "callresult": "NumberOfCurrentPlayers_t", + "returntype": "SteamAPICall_t" +} +,{ + "classname": "ISteamUserStats", + "methodname": "RequestGlobalAchievementPercentages", "callresult": "GlobalAchievementPercentagesReady_t", + "returntype": "SteamAPICall_t" +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetMostAchievedAchievementInfo", + "returntype": "int", + "params": [ +{ "paramname": "pchName" ,"paramtype": "char *"}, +{ "paramname": "unNameBufLen" ,"paramtype": "uint32"}, +{ "paramname": "pflPercent" ,"paramtype": "float *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetNextMostAchievedAchievementInfo", + "returntype": "int", + "params": [ +{ "paramname": "iIteratorPrevious" ,"paramtype": "int"}, +{ "paramname": "pchName" ,"paramtype": "char *"}, +{ "paramname": "unNameBufLen" ,"paramtype": "uint32"}, +{ "paramname": "pflPercent" ,"paramtype": "float *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetAchievementAchievedPercent", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pflPercent" ,"paramtype": "float *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "RequestGlobalStats", "callresult": "GlobalStatsReceived_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nHistoryDays" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetGlobalStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchStatName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "int64 *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetGlobalStat", + "returntype": "bool", + "params": [ +{ "paramname": "pchStatName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "double *"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetGlobalStatHistory", + "returntype": "int32", + "params": [ +{ "paramname": "pchStatName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"array_count": "cubData" ,"paramtype": "int64 *"}, +{ "paramname": "cubData" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUserStats", + "methodname": "GetGlobalStatHistory", + "returntype": "int32", + "params": [ +{ "paramname": "pchStatName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"array_count": "cubData" ,"paramtype": "double *"}, +{ "paramname": "cubData" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "BIsSubscribed", + "returntype": "bool" +} +,{ + "classname": "ISteamApps", + "methodname": "BIsLowViolence", + "returntype": "bool" +} +,{ + "classname": "ISteamApps", + "methodname": "BIsCybercafe", + "returntype": "bool" +} +,{ + "classname": "ISteamApps", + "methodname": "BIsVACBanned", + "returntype": "bool" +} +,{ + "classname": "ISteamApps", + "methodname": "GetCurrentGameLanguage", + "returntype": "const char *" +} +,{ + "classname": "ISteamApps", + "methodname": "GetAvailableGameLanguages", + "returntype": "const char *" +} +,{ + "classname": "ISteamApps", + "methodname": "BIsSubscribedApp", + "returntype": "bool", + "params": [ +{ "paramname": "appID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "BIsDlcInstalled", + "returntype": "bool", + "params": [ +{ "paramname": "appID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetEarliestPurchaseUnixTime", + "returntype": "uint32", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "BIsSubscribedFromFreeWeekend", + "returntype": "bool" +} +,{ + "classname": "ISteamApps", + "methodname": "GetDLCCount", + "returntype": "int" +} +,{ + "classname": "ISteamApps", + "methodname": "BGetDLCDataByIndex", + "returntype": "bool", + "params": [ +{ "paramname": "iDLC" ,"paramtype": "int"}, +{ "paramname": "pAppID" ,"paramtype": "AppId_t *"}, +{ "paramname": "pbAvailable" ,"paramtype": "bool *"}, +{ "paramname": "pchName" ,"paramtype": "char *"}, +{ "paramname": "cchNameBufferSize" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "InstallDLC", + "returntype": "void", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "UninstallDLC", + "returntype": "void", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "RequestAppProofOfPurchaseKey", + "returntype": "void", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetCurrentBetaName", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "char *"}, +{ "paramname": "cchNameBufferSize" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "MarkContentCorrupt", + "returntype": "bool", + "params": [ +{ "paramname": "bMissingFilesOnly" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetInstalledDepots", + "returntype": "uint32", + "params": [ +{ "paramname": "appID" ,"paramtype": "AppId_t"}, +{ "paramname": "pvecDepots" ,"paramtype": "DepotId_t *"}, +{ "paramname": "cMaxDepots" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetAppInstallDir", + "returntype": "uint32", + "params": [ +{ "paramname": "appID" ,"paramtype": "AppId_t"}, +{ "paramname": "pchFolder" ,"paramtype": "char *"}, +{ "paramname": "cchFolderBufferSize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "BIsAppInstalled", + "returntype": "bool", + "params": [ +{ "paramname": "appID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetAppOwner", + "returntype": "class CSteamID" +} +,{ + "classname": "ISteamApps", + "methodname": "GetLaunchQueryParam", + "returntype": "const char *", + "params": [ +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetDlcDownloadProgress", + "returntype": "bool", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "punBytesDownloaded" ,"paramtype": "uint64 *"}, +{ "paramname": "punBytesTotal" ,"paramtype": "uint64 *"} + ] +} +,{ + "classname": "ISteamApps", + "methodname": "GetAppBuildId", + "returntype": "int" +} +,{ + "classname": "ISteamApps", + "methodname": "RequestAllProofOfPurchaseKeys", + "returntype": "void" +} +,{ + "classname": "ISteamApps", + "methodname": "GetFileDetails", "callresult": "FileDetailsResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pszFileName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "SendP2PPacket", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDRemote" ,"paramtype": "class CSteamID"}, +{ "paramname": "pubData" ,"paramtype": "const void *"}, +{ "paramname": "cubData" ,"paramtype": "uint32"}, +{ "paramname": "eP2PSendType" ,"paramtype": "EP2PSend"}, +{ "paramname": "nChannel" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "IsP2PPacketAvailable", + "returntype": "bool", + "params": [ +{ "paramname": "pcubMsgSize" ,"paramtype": "uint32 *"}, +{ "paramname": "nChannel" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "ReadP2PPacket", + "returntype": "bool", + "params": [ +{ "paramname": "pubDest" ,"paramtype": "void *"}, +{ "paramname": "cubDest" ,"paramtype": "uint32"}, +{ "paramname": "pcubMsgSize" ,"paramtype": "uint32 *"}, +{ "paramname": "psteamIDRemote" ,"paramtype": "class CSteamID *"}, +{ "paramname": "nChannel" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "AcceptP2PSessionWithUser", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDRemote" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "CloseP2PSessionWithUser", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDRemote" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "CloseP2PChannelWithUser", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDRemote" ,"paramtype": "class CSteamID"}, +{ "paramname": "nChannel" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "GetP2PSessionState", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDRemote" ,"paramtype": "class CSteamID"}, +{ "paramname": "pConnectionState" ,"paramtype": "struct P2PSessionState_t *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "AllowP2PPacketRelay", + "returntype": "bool", + "params": [ +{ "paramname": "bAllow" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "CreateListenSocket", + "returntype": "SNetListenSocket_t", + "params": [ +{ "paramname": "nVirtualP2PPort" ,"paramtype": "int"}, +{ "paramname": "nIP" ,"paramtype": "uint32"}, +{ "paramname": "nPort" ,"paramtype": "uint16"}, +{ "paramname": "bAllowUseOfPacketRelay" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "CreateP2PConnectionSocket", + "returntype": "SNetSocket_t", + "params": [ +{ "paramname": "steamIDTarget" ,"paramtype": "class CSteamID"}, +{ "paramname": "nVirtualPort" ,"paramtype": "int"}, +{ "paramname": "nTimeoutSec" ,"paramtype": "int"}, +{ "paramname": "bAllowUseOfPacketRelay" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "CreateConnectionSocket", + "returntype": "SNetSocket_t", + "params": [ +{ "paramname": "nIP" ,"paramtype": "uint32"}, +{ "paramname": "nPort" ,"paramtype": "uint16"}, +{ "paramname": "nTimeoutSec" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "DestroySocket", + "returntype": "bool", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"}, +{ "paramname": "bNotifyRemoteEnd" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "DestroyListenSocket", + "returntype": "bool", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetListenSocket_t"}, +{ "paramname": "bNotifyRemoteEnd" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "SendDataOnSocket", + "returntype": "bool", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"}, +{ "paramname": "pubData" ,"paramtype": "void *"}, +{ "paramname": "cubData" ,"paramtype": "uint32"}, +{ "paramname": "bReliable" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "IsDataAvailableOnSocket", + "returntype": "bool", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"}, +{ "paramname": "pcubMsgSize" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "RetrieveDataFromSocket", + "returntype": "bool", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"}, +{ "paramname": "pubDest" ,"paramtype": "void *"}, +{ "paramname": "cubDest" ,"paramtype": "uint32"}, +{ "paramname": "pcubMsgSize" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "IsDataAvailable", + "returntype": "bool", + "params": [ +{ "paramname": "hListenSocket" ,"paramtype": "SNetListenSocket_t"}, +{ "paramname": "pcubMsgSize" ,"paramtype": "uint32 *"}, +{ "paramname": "phSocket" ,"paramtype": "SNetSocket_t *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "RetrieveData", + "returntype": "bool", + "params": [ +{ "paramname": "hListenSocket" ,"paramtype": "SNetListenSocket_t"}, +{ "paramname": "pubDest" ,"paramtype": "void *"}, +{ "paramname": "cubDest" ,"paramtype": "uint32"}, +{ "paramname": "pcubMsgSize" ,"paramtype": "uint32 *"}, +{ "paramname": "phSocket" ,"paramtype": "SNetSocket_t *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "GetSocketInfo", + "returntype": "bool", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"}, +{ "paramname": "pSteamIDRemote" ,"paramtype": "class CSteamID *"}, +{ "paramname": "peSocketStatus" ,"paramtype": "int *"}, +{ "paramname": "punIPRemote" ,"paramtype": "uint32 *"}, +{ "paramname": "punPortRemote" ,"paramtype": "uint16 *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "GetListenSocketInfo", + "returntype": "bool", + "params": [ +{ "paramname": "hListenSocket" ,"paramtype": "SNetListenSocket_t"}, +{ "paramname": "pnIP" ,"paramtype": "uint32 *"}, +{ "paramname": "pnPort" ,"paramtype": "uint16 *"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "GetSocketConnectionType", + "returntype": "ESNetSocketConnectionType", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"} + ] +} +,{ + "classname": "ISteamNetworking", + "methodname": "GetMaxPacketSize", + "returntype": "int", + "params": [ +{ "paramname": "hSocket" ,"paramtype": "SNetSocket_t"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "WriteScreenshot", + "returntype": "ScreenshotHandle", + "params": [ +{ "paramname": "pubRGB" ,"paramtype": "void *"}, +{ "paramname": "cubRGB" ,"paramtype": "uint32"}, +{ "paramname": "nWidth" ,"paramtype": "int"}, +{ "paramname": "nHeight" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "AddScreenshotToLibrary", + "returntype": "ScreenshotHandle", + "params": [ +{ "paramname": "pchFilename" ,"paramtype": "const char *"}, +{ "paramname": "pchThumbnailFilename" ,"paramtype": "const char *"}, +{ "paramname": "nWidth" ,"paramtype": "int"}, +{ "paramname": "nHeight" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "TriggerScreenshot", + "returntype": "void" +} +,{ + "classname": "ISteamScreenshots", + "methodname": "HookScreenshots", + "returntype": "void", + "params": [ +{ "paramname": "bHook" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "SetLocation", + "returntype": "bool", + "params": [ +{ "paramname": "hScreenshot" ,"paramtype": "ScreenshotHandle"}, +{ "paramname": "pchLocation" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "TagUser", + "returntype": "bool", + "params": [ +{ "paramname": "hScreenshot" ,"paramtype": "ScreenshotHandle"}, +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "TagPublishedFile", + "returntype": "bool", + "params": [ +{ "paramname": "hScreenshot" ,"paramtype": "ScreenshotHandle"}, +{ "paramname": "unPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamScreenshots", + "methodname": "IsScreenshotsHooked", + "returntype": "bool" +} +,{ + "classname": "ISteamScreenshots", + "methodname": "AddVRScreenshotToLibrary", + "returntype": "ScreenshotHandle", + "params": [ +{ "paramname": "eType" ,"paramtype": "EVRScreenshotType"}, +{ "paramname": "pchFilename" ,"paramtype": "const char *"}, +{ "paramname": "pchVRFilename" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMusic", + "methodname": "BIsEnabled", + "returntype": "bool" +} +,{ + "classname": "ISteamMusic", + "methodname": "BIsPlaying", + "returntype": "bool" +} +,{ + "classname": "ISteamMusic", + "methodname": "GetPlaybackStatus", + "returntype": "AudioPlayback_Status" +} +,{ + "classname": "ISteamMusic", + "methodname": "Play", + "returntype": "void" +} +,{ + "classname": "ISteamMusic", + "methodname": "Pause", + "returntype": "void" +} +,{ + "classname": "ISteamMusic", + "methodname": "PlayPrevious", + "returntype": "void" +} +,{ + "classname": "ISteamMusic", + "methodname": "PlayNext", + "returntype": "void" +} +,{ + "classname": "ISteamMusic", + "methodname": "SetVolume", + "returntype": "void", + "params": [ +{ "paramname": "flVolume" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamMusic", + "methodname": "GetVolume", + "returntype": "float" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "RegisterSteamMusicRemote", + "returntype": "bool", + "params": [ +{ "paramname": "pchName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "DeregisterSteamMusicRemote", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "BIsCurrentMusicRemote", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "BActivationSuccess", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "SetDisplayName", + "returntype": "bool", + "params": [ +{ "paramname": "pchDisplayName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "SetPNGIcon_64x64", + "returntype": "bool", + "params": [ +{ "paramname": "pvBuffer" ,"paramtype": "void *"}, +{ "paramname": "cbBufferLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "EnablePlayPrevious", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "EnablePlayNext", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "EnableShuffled", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "EnableLooped", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "EnableQueue", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "EnablePlaylists", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdatePlaybackStatus", + "returntype": "bool", + "params": [ +{ "paramname": "nStatus" ,"paramtype": "AudioPlayback_Status"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdateShuffled", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdateLooped", + "returntype": "bool", + "params": [ +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdateVolume", + "returntype": "bool", + "params": [ +{ "paramname": "flValue" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "CurrentEntryWillChange", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "CurrentEntryIsAvailable", + "returntype": "bool", + "params": [ +{ "paramname": "bAvailable" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdateCurrentEntryText", + "returntype": "bool", + "params": [ +{ "paramname": "pchText" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdateCurrentEntryElapsedSeconds", + "returntype": "bool", + "params": [ +{ "paramname": "nValue" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "UpdateCurrentEntryCoverArt", + "returntype": "bool", + "params": [ +{ "paramname": "pvBuffer" ,"paramtype": "void *"}, +{ "paramname": "cbBufferLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "CurrentEntryDidChange", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "QueueWillChange", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "ResetQueueEntries", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "SetQueueEntry", + "returntype": "bool", + "params": [ +{ "paramname": "nID" ,"paramtype": "int"}, +{ "paramname": "nPosition" ,"paramtype": "int"}, +{ "paramname": "pchEntryText" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "SetCurrentQueueEntry", + "returntype": "bool", + "params": [ +{ "paramname": "nID" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "QueueDidChange", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "PlaylistWillChange", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "ResetPlaylistEntries", + "returntype": "bool" +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "SetPlaylistEntry", + "returntype": "bool", + "params": [ +{ "paramname": "nID" ,"paramtype": "int"}, +{ "paramname": "nPosition" ,"paramtype": "int"}, +{ "paramname": "pchEntryText" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "SetCurrentPlaylistEntry", + "returntype": "bool", + "params": [ +{ "paramname": "nID" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamMusicRemote", + "methodname": "PlaylistDidChange", + "returntype": "bool" +} +,{ + "classname": "ISteamHTTP", + "methodname": "CreateHTTPRequest", + "returntype": "HTTPRequestHandle", + "params": [ +{ "paramname": "eHTTPRequestMethod" ,"paramtype": "EHTTPMethod"}, +{ "paramname": "pchAbsoluteURL" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestContextValue", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "ulContextValue" ,"paramtype": "uint64"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestNetworkActivityTimeout", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "unTimeoutSeconds" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestHeaderValue", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pchHeaderName" ,"paramtype": "const char *"}, +{ "paramname": "pchHeaderValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestGetOrPostParameter", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pchParamName" ,"paramtype": "const char *"}, +{ "paramname": "pchParamValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SendHTTPRequest", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pCallHandle" ,"paramtype": "SteamAPICall_t *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SendHTTPRequestAndStreamResponse", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pCallHandle" ,"paramtype": "SteamAPICall_t *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "DeferHTTPRequest", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "PrioritizeHTTPRequest", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPResponseHeaderSize", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pchHeaderName" ,"paramtype": "const char *"}, +{ "paramname": "unResponseHeaderSize" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPResponseHeaderValue", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pchHeaderName" ,"paramtype": "const char *"}, +{ "paramname": "pHeaderValueBuffer" ,"paramtype": "uint8 *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPResponseBodySize", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "unBodySize" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPResponseBodyData", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pBodyDataBuffer" ,"paramtype": "uint8 *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPStreamingResponseBodyData", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "cOffset" ,"paramtype": "uint32"}, +{ "paramname": "pBodyDataBuffer" ,"paramtype": "uint8 *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "ReleaseHTTPRequest", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPDownloadProgressPct", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pflPercentOut" ,"paramtype": "float *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestRawPostBody", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pchContentType" ,"paramtype": "const char *"}, +{ "paramname": "pubBody" ,"paramtype": "uint8 *"}, +{ "paramname": "unBodyLen" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "CreateCookieContainer", + "returntype": "HTTPCookieContainerHandle", + "params": [ +{ "paramname": "bAllowResponsesToModify" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "ReleaseCookieContainer", + "returntype": "bool", + "params": [ +{ "paramname": "hCookieContainer" ,"paramtype": "HTTPCookieContainerHandle"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetCookie", + "returntype": "bool", + "params": [ +{ "paramname": "hCookieContainer" ,"paramtype": "HTTPCookieContainerHandle"}, +{ "paramname": "pchHost" ,"paramtype": "const char *"}, +{ "paramname": "pchUrl" ,"paramtype": "const char *"}, +{ "paramname": "pchCookie" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestCookieContainer", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "hCookieContainer" ,"paramtype": "HTTPCookieContainerHandle"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestUserAgentInfo", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pchUserAgentInfo" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestRequiresVerifiedCertificate", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "bRequireVerifiedCertificate" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "SetHTTPRequestAbsoluteTimeoutMS", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "unMilliseconds" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTTP", + "methodname": "GetHTTPRequestWasTimedOut", + "returntype": "bool", + "params": [ +{ "paramname": "hRequest" ,"paramtype": "HTTPRequestHandle"}, +{ "paramname": "pbWasTimedOut" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "Init", + "returntype": "bool" +} +,{ + "classname": "ISteamController", + "methodname": "Shutdown", + "returntype": "bool" +} +,{ + "classname": "ISteamController", + "methodname": "RunFrame", + "returntype": "void" +} +,{ + "classname": "ISteamController", + "methodname": "GetConnectedControllers", + "returntype": "int", + "params": [ +{ "paramname": "handlesOut" ,"paramtype": "ControllerHandle_t *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "ShowBindingPanel", + "returntype": "bool", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetActionSetHandle", + "returntype": "ControllerActionSetHandle_t", + "params": [ +{ "paramname": "pszActionSetName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "ActivateActionSet", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "actionSetHandle" ,"paramtype": "ControllerActionSetHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetCurrentActionSet", + "returntype": "ControllerActionSetHandle_t", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "ActivateActionSetLayer", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "actionSetLayerHandle" ,"paramtype": "ControllerActionSetHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "DeactivateActionSetLayer", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "actionSetLayerHandle" ,"paramtype": "ControllerActionSetHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "DeactivateAllActionSetLayers", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetActiveActionSetLayers", + "returntype": "int", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "handlesOut" ,"paramtype": "ControllerActionSetHandle_t *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetDigitalActionHandle", + "returntype": "ControllerDigitalActionHandle_t", + "params": [ +{ "paramname": "pszActionName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetDigitalActionData", + "returntype": "struct ControllerDigitalActionData_t", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "digitalActionHandle" ,"paramtype": "ControllerDigitalActionHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetDigitalActionOrigins", + "returntype": "int", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "actionSetHandle" ,"paramtype": "ControllerActionSetHandle_t"}, +{ "paramname": "digitalActionHandle" ,"paramtype": "ControllerDigitalActionHandle_t"}, +{ "paramname": "originsOut" ,"paramtype": "EControllerActionOrigin *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetAnalogActionHandle", + "returntype": "ControllerAnalogActionHandle_t", + "params": [ +{ "paramname": "pszActionName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetAnalogActionData", + "returntype": "struct ControllerAnalogActionData_t", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "analogActionHandle" ,"paramtype": "ControllerAnalogActionHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetAnalogActionOrigins", + "returntype": "int", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "actionSetHandle" ,"paramtype": "ControllerActionSetHandle_t"}, +{ "paramname": "analogActionHandle" ,"paramtype": "ControllerAnalogActionHandle_t"}, +{ "paramname": "originsOut" ,"paramtype": "EControllerActionOrigin *"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "StopAnalogActionMomentum", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "eAction" ,"paramtype": "ControllerAnalogActionHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "TriggerHapticPulse", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "eTargetPad" ,"paramtype": "ESteamControllerPad"}, +{ "paramname": "usDurationMicroSec" ,"paramtype": "unsigned short"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "TriggerRepeatedHapticPulse", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "eTargetPad" ,"paramtype": "ESteamControllerPad"}, +{ "paramname": "usDurationMicroSec" ,"paramtype": "unsigned short"}, +{ "paramname": "usOffMicroSec" ,"paramtype": "unsigned short"}, +{ "paramname": "unRepeat" ,"paramtype": "unsigned short"}, +{ "paramname": "nFlags" ,"paramtype": "unsigned int"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "TriggerVibration", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "usLeftSpeed" ,"paramtype": "unsigned short"}, +{ "paramname": "usRightSpeed" ,"paramtype": "unsigned short"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "SetLEDColor", + "returntype": "void", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "nColorR" ,"paramtype": "uint8"}, +{ "paramname": "nColorG" ,"paramtype": "uint8"}, +{ "paramname": "nColorB" ,"paramtype": "uint8"}, +{ "paramname": "nFlags" ,"paramtype": "unsigned int"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetGamepadIndexForController", + "returntype": "int", + "params": [ +{ "paramname": "ulControllerHandle" ,"paramtype": "ControllerHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetControllerForGamepadIndex", + "returntype": "ControllerHandle_t", + "params": [ +{ "paramname": "nIndex" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetMotionData", + "returntype": "struct ControllerMotionData_t", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "ShowDigitalActionOrigins", + "returntype": "bool", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "digitalActionHandle" ,"paramtype": "ControllerDigitalActionHandle_t"}, +{ "paramname": "flScale" ,"paramtype": "float"}, +{ "paramname": "flXPosition" ,"paramtype": "float"}, +{ "paramname": "flYPosition" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "ShowAnalogActionOrigins", + "returntype": "bool", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"}, +{ "paramname": "analogActionHandle" ,"paramtype": "ControllerAnalogActionHandle_t"}, +{ "paramname": "flScale" ,"paramtype": "float"}, +{ "paramname": "flXPosition" ,"paramtype": "float"}, +{ "paramname": "flYPosition" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetStringForActionOrigin", + "returntype": "const char *", + "params": [ +{ "paramname": "eOrigin" ,"paramtype": "EControllerActionOrigin"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetGlyphForActionOrigin", + "returntype": "const char *", + "params": [ +{ "paramname": "eOrigin" ,"paramtype": "EControllerActionOrigin"} + ] +} +,{ + "classname": "ISteamController", + "methodname": "GetInputTypeForHandle", + "returntype": "ESteamInputType", + "params": [ +{ "paramname": "controllerHandle" ,"paramtype": "ControllerHandle_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "CreateQueryUserUGCRequest", + "returntype": "UGCQueryHandle_t", + "params": [ +{ "paramname": "unAccountID" ,"paramtype": "AccountID_t"}, +{ "paramname": "eListType" ,"paramtype": "EUserUGCList"}, +{ "paramname": "eMatchingUGCType" ,"paramtype": "EUGCMatchingUGCType"}, +{ "paramname": "eSortOrder" ,"paramtype": "EUserUGCListSortOrder"}, +{ "paramname": "nCreatorAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "nConsumerAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "unPage" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "CreateQueryAllUGCRequest", + "returntype": "UGCQueryHandle_t", + "params": [ +{ "paramname": "eQueryType" ,"paramtype": "EUGCQuery"}, +{ "paramname": "eMatchingeMatchingUGCTypeFileType" ,"paramtype": "EUGCMatchingUGCType"}, +{ "paramname": "nCreatorAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "nConsumerAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "unPage" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "CreateQueryUGCDetailsRequest", + "returntype": "UGCQueryHandle_t", + "params": [ +{ "paramname": "pvecPublishedFileID" ,"paramtype": "PublishedFileId_t *"}, +{ "paramname": "unNumPublishedFileIDs" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SendQueryUGCRequest", "callresult": "SteamUGCQueryCompleted_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCResult", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "pDetails" ,"paramtype": "struct SteamUGCDetails_t *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCPreviewURL", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "pchURL" ,"out_string_count": "cchURLSize" ,"paramtype": "char *"}, +{ "paramname": "cchURLSize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCMetadata", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "pchMetadata" ,"out_string_count": "cchMetadatasize" ,"paramtype": "char *"}, +{ "paramname": "cchMetadatasize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCChildren", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "pvecPublishedFileID" ,"paramtype": "PublishedFileId_t *"}, +{ "paramname": "cMaxEntries" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCStatistic", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "eStatType" ,"paramtype": "EItemStatistic"}, +{ "paramname": "pStatValue" ,"paramtype": "uint64 *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCNumAdditionalPreviews", + "returntype": "uint32", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCAdditionalPreview", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "previewIndex" ,"paramtype": "uint32"}, +{ "paramname": "pchURLOrVideoID" ,"out_string_count": "cchURLSize" ,"paramtype": "char *"}, +{ "paramname": "cchURLSize" ,"paramtype": "uint32"}, +{ "paramname": "pchOriginalFileName" ,"out_string_count": "cchURLSize" ,"paramtype": "char *"}, +{ "paramname": "cchOriginalFileNameSize" ,"paramtype": "uint32"}, +{ "paramname": "pPreviewType" ,"paramtype": "EItemPreviewType *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCNumKeyValueTags", + "returntype": "uint32", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetQueryUGCKeyValueTag", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "keyValueTagIndex" ,"paramtype": "uint32"}, +{ "paramname": "pchKey" ,"out_string_count": "cchKeySize" ,"paramtype": "char *"}, +{ "paramname": "cchKeySize" ,"paramtype": "uint32"}, +{ "paramname": "pchValue" ,"out_string_count": "cchValueSize" ,"paramtype": "char *"}, +{ "paramname": "cchValueSize" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "ReleaseQueryUGCRequest", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddRequiredTag", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "pTagName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddExcludedTag", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "pTagName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnOnlyIDs", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnOnlyIDs" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnKeyValueTags", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnKeyValueTags" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnLongDescription", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnLongDescription" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnMetadata", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnMetadata" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnChildren", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnChildren" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnAdditionalPreviews", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnAdditionalPreviews" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnTotalOnly", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bReturnTotalOnly" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetReturnPlaytimeStats", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "unDays" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetLanguage", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "pchLanguage" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetAllowCachedResponse", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "unMaxAgeSeconds" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetCloudFileNameFilter", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "pMatchCloudFileName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetMatchAnyTag", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "bMatchAnyTag" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetSearchText", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "pSearchText" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetRankedByTrendDays", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "unDays" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddRequiredKeyValueTag", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCQueryHandle_t"}, +{ "paramname": "pKey" ,"paramtype": "const char *"}, +{ "paramname": "pValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "RequestUGCDetails", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "unMaxAgeSeconds" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "CreateItem", "callresult": "CreateItemResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nConsumerAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "eFileType" ,"paramtype": "EWorkshopFileType"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "StartItemUpdate", + "returntype": "UGCUpdateHandle_t", + "params": [ +{ "paramname": "nConsumerAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemTitle", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchTitle" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemDescription", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchDescription" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemUpdateLanguage", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchLanguage" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemMetadata", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchMetaData" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemVisibility", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "eVisibility" ,"paramtype": "ERemoteStoragePublishedFileVisibility"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemTags", + "returntype": "bool", + "params": [ +{ "paramname": "updateHandle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pTags" ,"paramtype": "const struct SteamParamStringArray_t *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemContent", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pszContentFolder" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetItemPreview", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pszPreviewFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "RemoveItemKeyValueTags", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddItemKeyValueTag", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddItemPreviewFile", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pszPreviewFile" ,"paramtype": "const char *"}, +{ "paramname": "type" ,"paramtype": "EItemPreviewType"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddItemPreviewVideo", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pszVideoID" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "UpdateItemPreviewFile", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "pszPreviewFile" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "UpdateItemPreviewVideo", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"}, +{ "paramname": "pszVideoID" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "RemoveItemPreview", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "index" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SubmitItemUpdate", "callresult": "SubmitItemUpdateResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "pchChangeNote" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetItemUpdateProgress", + "returntype": "EItemUpdateStatus", + "params": [ +{ "paramname": "handle" ,"paramtype": "UGCUpdateHandle_t"}, +{ "paramname": "punBytesProcessed" ,"paramtype": "uint64 *"}, +{ "paramname": "punBytesTotal" ,"paramtype": "uint64 *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SetUserItemVote", "callresult": "SetUserItemVoteResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "bVoteUp" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetUserItemVote", "callresult": "GetUserItemVoteResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddItemToFavorites", "callresult": "UserFavoriteItemsListChanged_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "RemoveItemFromFavorites", "callresult": "UserFavoriteItemsListChanged_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SubscribeItem", "callresult": "RemoteStorageSubscribePublishedFileResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "UnsubscribeItem", "callresult": "RemoteStorageUnsubscribePublishedFileResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetNumSubscribedItems", + "returntype": "uint32" +} +,{ + "classname": "ISteamUGC", + "methodname": "GetSubscribedItems", + "returntype": "uint32", + "params": [ +{ "paramname": "pvecPublishedFileID" ,"paramtype": "PublishedFileId_t *"}, +{ "paramname": "cMaxEntries" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetItemState", + "returntype": "uint32", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetItemInstallInfo", + "returntype": "bool", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "punSizeOnDisk" ,"paramtype": "uint64 *"}, +{ "paramname": "pchFolder" ,"out_string_count": "cchFolderSize" ,"paramtype": "char *"}, +{ "paramname": "cchFolderSize" ,"paramtype": "uint32"}, +{ "paramname": "punTimeStamp" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetItemDownloadInfo", + "returntype": "bool", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "punBytesDownloaded" ,"paramtype": "uint64 *"}, +{ "paramname": "punBytesTotal" ,"paramtype": "uint64 *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "DownloadItem", + "returntype": "bool", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "bHighPriority" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "BInitWorkshopForGameServer", + "returntype": "bool", + "params": [ +{ "paramname": "unWorkshopDepotID" ,"paramtype": "DepotId_t"}, +{ "paramname": "pszFolder" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "SuspendDownloads", + "returntype": "void", + "params": [ +{ "paramname": "bSuspend" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "StartPlaytimeTracking", "callresult": "StartPlaytimeTrackingResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pvecPublishedFileID" ,"paramtype": "PublishedFileId_t *"}, +{ "paramname": "unNumPublishedFileIDs" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "StopPlaytimeTracking", "callresult": "StopPlaytimeTrackingResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pvecPublishedFileID" ,"paramtype": "PublishedFileId_t *"}, +{ "paramname": "unNumPublishedFileIDs" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "StopPlaytimeTrackingForAllItems", "callresult": "StopPlaytimeTrackingResult_t", + "returntype": "SteamAPICall_t" +} +,{ + "classname": "ISteamUGC", + "methodname": "AddDependency", "callresult": "AddUGCDependencyResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nParentPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "nChildPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "RemoveDependency", "callresult": "RemoveUGCDependencyResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nParentPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "nChildPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "AddAppDependency", "callresult": "AddAppDependencyResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "RemoveAppDependency", "callresult": "RemoveAppDependencyResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"}, +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "GetAppDependencies", "callresult": "GetAppDependenciesResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamUGC", + "methodname": "DeleteItem", "callresult": "DeleteItemResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "nPublishedFileID" ,"paramtype": "PublishedFileId_t"} + ] +} +,{ + "classname": "ISteamAppList", + "methodname": "GetNumInstalledApps", + "returntype": "uint32" +} +,{ + "classname": "ISteamAppList", + "methodname": "GetInstalledApps", + "returntype": "uint32", + "params": [ +{ "paramname": "pvecAppID" ,"paramtype": "AppId_t *"}, +{ "paramname": "unMaxAppIDs" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamAppList", + "methodname": "GetAppName", + "returntype": "int", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "pchName" ,"out_string": " " ,"paramtype": "char *"}, +{ "paramname": "cchNameMax" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamAppList", + "methodname": "GetAppInstallDir", + "returntype": "int", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "pchDirectory" ,"paramtype": "char *"}, +{ "paramname": "cchNameMax" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamAppList", + "methodname": "GetAppBuildId", + "returntype": "int", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "DestructISteamHTMLSurface", + "returntype": "void" +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "Init", + "returntype": "bool" +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "Shutdown", + "returntype": "bool" +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "CreateBrowser", "callresult": "HTML_BrowserReady_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pchUserAgent" ,"paramtype": "const char *"}, +{ "paramname": "pchUserCSS" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "RemoveBrowser", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "LoadURL", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "pchURL" ,"paramtype": "const char *"}, +{ "paramname": "pchPostData" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetSize", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "unWidth" ,"paramtype": "uint32"}, +{ "paramname": "unHeight" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "StopLoad", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "Reload", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "GoBack", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "GoForward", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "AddHeader", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "ExecuteJavascript", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "pchScript" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "MouseUp", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "eMouseButton" ,"paramtype": "ISteamHTMLSurface::EHTMLMouseButton"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "MouseDown", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "eMouseButton" ,"paramtype": "ISteamHTMLSurface::EHTMLMouseButton"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "MouseDoubleClick", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "eMouseButton" ,"paramtype": "ISteamHTMLSurface::EHTMLMouseButton"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "MouseMove", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "x" ,"paramtype": "int"}, +{ "paramname": "y" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "MouseWheel", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "nDelta" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "KeyDown", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "nNativeKeyCode" ,"paramtype": "uint32"}, +{ "paramname": "eHTMLKeyModifiers" ,"paramtype": "ISteamHTMLSurface::EHTMLKeyModifiers"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "KeyUp", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "nNativeKeyCode" ,"paramtype": "uint32"}, +{ "paramname": "eHTMLKeyModifiers" ,"paramtype": "ISteamHTMLSurface::EHTMLKeyModifiers"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "KeyChar", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "cUnicodeChar" ,"paramtype": "uint32"}, +{ "paramname": "eHTMLKeyModifiers" ,"paramtype": "ISteamHTMLSurface::EHTMLKeyModifiers"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetHorizontalScroll", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "nAbsolutePixelScroll" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetVerticalScroll", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "nAbsolutePixelScroll" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetKeyFocus", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "bHasKeyFocus" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "ViewSource", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "CopyToClipboard", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "PasteFromClipboard", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "Find", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "pchSearchStr" ,"paramtype": "const char *"}, +{ "paramname": "bCurrentlyInFind" ,"paramtype": "bool"}, +{ "paramname": "bReverse" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "StopFind", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "GetLinkAtPosition", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "x" ,"paramtype": "int"}, +{ "paramname": "y" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetCookie", + "returntype": "void", + "params": [ +{ "paramname": "pchHostname" ,"paramtype": "const char *"}, +{ "paramname": "pchKey" ,"paramtype": "const char *"}, +{ "paramname": "pchValue" ,"paramtype": "const char *"}, +{ "paramname": "pchPath" ,"paramtype": "const char *"}, +{ "paramname": "nExpires" ,"paramtype": "RTime32"}, +{ "paramname": "bSecure" ,"paramtype": "bool"}, +{ "paramname": "bHTTPOnly" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetPageScaleFactor", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "flZoom" ,"paramtype": "float"}, +{ "paramname": "nPointX" ,"paramtype": "int"}, +{ "paramname": "nPointY" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetBackgroundMode", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "bBackgroundMode" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "SetDPIScalingFactor", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "flDPIScaling" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "AllowStartRequest", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "bAllowed" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamHTMLSurface", + "methodname": "JSDialogResponse", + "returntype": "void", + "params": [ +{ "paramname": "unBrowserHandle" ,"paramtype": "HHTMLBrowser"}, +{ "paramname": "bResult" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetResultStatus", "desc": "Find out the status of an asynchronous inventory result handle.", + "returntype": "EResult", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetResultItems", "desc": "Copies the contents of a result set into a flat array. The specific contents of the result set depend on which query which was used.", + "returntype": "bool", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"}, +{ "paramname": "pOutItemsArray" ,"out_array_count": "punOutItemsArraySize" ,"desc": "Output array" ,"paramtype": "struct SteamItemDetails_t *"}, +{ "paramname": "punOutItemsArraySize" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetResultItemProperty", + "returntype": "bool", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"}, +{ "paramname": "unItemIndex" ,"paramtype": "uint32"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"}, +{ "paramname": "pchValueBuffer" ,"out_string_count": "punValueBufferSizeOut" ,"paramtype": "char *"}, +{ "paramname": "punValueBufferSizeOut" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetResultTimestamp", "desc": "Returns the server time at which the result was generated. Compare against the value of IClientUtils::GetServerRealTime() to determine age.", + "returntype": "uint32", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "CheckResultSteamID", "desc": "Returns true if the result belongs to the target steam ID or false if the result does not. This is important when using DeserializeResult to verify that a remote player is not pretending to have a different users inventory.", + "returntype": "bool", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"}, +{ "paramname": "steamIDExpected" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "DestroyResult", "desc": "Destroys a result handle and frees all associated memory.", + "returntype": "void", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetAllItems", "desc": "Captures the entire state of the current users Steam inventory.", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetItemsByID", "desc": "Captures the state of a subset of the current users Steam inventory identified by an array of item instance IDs.", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "pInstanceIDs" ,"array_count": "unCountInstanceIDs" ,"paramtype": "const SteamItemInstanceID_t *"}, +{ "paramname": "unCountInstanceIDs" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SerializeResult", + "returntype": "bool", + "params": [ +{ "paramname": "resultHandle" ,"paramtype": "SteamInventoryResult_t"}, +{ "paramname": "pOutBuffer" ,"out_buffer_count": "punOutBufferSize" ,"paramtype": "void *"}, +{ "paramname": "punOutBufferSize" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "DeserializeResult", + "returntype": "bool", + "params": [ +{ "paramname": "pOutResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "pBuffer" ,"buffer_count": "punOutBufferSize" ,"paramtype": "const void *"}, +{ "paramname": "unBufferSize" ,"paramtype": "uint32"}, +{ "paramname": "bRESERVED_MUST_BE_FALSE" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GenerateItems", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "pArrayItemDefs" ,"array_count": "unArrayLength" ,"paramtype": "const SteamItemDef_t *"}, +{ "paramname": "punArrayQuantity" ,"array_count": "unArrayLength" ,"paramtype": "const uint32 *"}, +{ "paramname": "unArrayLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GrantPromoItems", "desc": "GrantPromoItems() checks the list of promotional items for which the user may be eligible and grants the items (one time only).", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "AddPromoItem", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "itemDef" ,"paramtype": "SteamItemDef_t"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "AddPromoItems", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "pArrayItemDefs" ,"array_count": "unArrayLength" ,"paramtype": "const SteamItemDef_t *"}, +{ "paramname": "unArrayLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "ConsumeItem", "desc": "ConsumeItem() removes items from the inventory permanently.", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "itemConsume" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "unQuantity" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "ExchangeItems", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "pArrayGenerate" ,"array_count": "unArrayGenerateLength" ,"paramtype": "const SteamItemDef_t *"}, +{ "paramname": "punArrayGenerateQuantity" ,"array_count": "unArrayGenerateLength" ,"paramtype": "const uint32 *"}, +{ "paramname": "unArrayGenerateLength" ,"paramtype": "uint32"}, +{ "paramname": "pArrayDestroy" ,"array_count": "unArrayDestroyLength" ,"paramtype": "const SteamItemInstanceID_t *"}, +{ "paramname": "punArrayDestroyQuantity" ,"array_count": "unArrayDestroyLength" ,"paramtype": "const uint32 *"}, +{ "paramname": "unArrayDestroyLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "TransferItemQuantity", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "itemIdSource" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "unQuantity" ,"paramtype": "uint32"}, +{ "paramname": "itemIdDest" ,"paramtype": "SteamItemInstanceID_t"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SendItemDropHeartbeat", "desc": "Deprecated method. Playtime accounting is performed on the Steam servers.", + "returntype": "void" +} +,{ + "classname": "ISteamInventory", + "methodname": "TriggerItemDrop", "desc": "Playtime credit must be consumed and turned into item drops by your game.", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "dropListDefinition" ,"paramtype": "SteamItemDef_t"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "TradeItems", + "returntype": "bool", + "params": [ +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"}, +{ "paramname": "steamIDTradePartner" ,"paramtype": "class CSteamID"}, +{ "paramname": "pArrayGive" ,"array_count": "nArrayGiveLength" ,"paramtype": "const SteamItemInstanceID_t *"}, +{ "paramname": "pArrayGiveQuantity" ,"array_count": "nArrayGiveLength" ,"paramtype": "const uint32 *"}, +{ "paramname": "nArrayGiveLength" ,"paramtype": "uint32"}, +{ "paramname": "pArrayGet" ,"array_count": "nArrayGetLength" ,"paramtype": "const SteamItemInstanceID_t *"}, +{ "paramname": "pArrayGetQuantity" ,"array_count": "nArrayGetLength" ,"paramtype": "const uint32 *"}, +{ "paramname": "nArrayGetLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "LoadItemDefinitions", "desc": "LoadItemDefinitions triggers the automatic load and refresh of item definitions.", + "returntype": "bool" +} +,{ + "classname": "ISteamInventory", + "methodname": "GetItemDefinitionIDs", + "returntype": "bool", + "params": [ +{ "paramname": "pItemDefIDs" ,"out_array_count": "punItemDefIDsArraySize" ,"desc": "List of item definition IDs" ,"paramtype": "SteamItemDef_t *"}, +{ "paramname": "punItemDefIDsArraySize" ,"desc": "Size of array is passed in and actual size used is returned in this param" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetItemDefinitionProperty", + "returntype": "bool", + "params": [ +{ "paramname": "iDefinition" ,"paramtype": "SteamItemDef_t"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"}, +{ "paramname": "pchValueBuffer" ,"out_string_count": "punValueBufferSizeOut" ,"paramtype": "char *"}, +{ "paramname": "punValueBufferSizeOut" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "RequestEligiblePromoItemDefinitionsIDs", "callresult": "SteamInventoryEligiblePromoItemDefIDs_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetEligiblePromoItemDefinitionIDs", + "returntype": "bool", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"}, +{ "paramname": "pItemDefIDs" ,"out_array_count": "punItemDefIDsArraySize" ,"desc": "List of item definition IDs" ,"paramtype": "SteamItemDef_t *"}, +{ "paramname": "punItemDefIDsArraySize" ,"desc": "Size of array is passed in and actual size used is returned in this param" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "StartPurchase", "callresult": "SteamInventoryStartPurchaseResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "pArrayItemDefs" ,"array_count": "unArrayLength" ,"paramtype": "const SteamItemDef_t *"}, +{ "paramname": "punArrayQuantity" ,"array_count": "unArrayLength" ,"paramtype": "const uint32 *"}, +{ "paramname": "unArrayLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "RequestPrices", "callresult": "SteamInventoryRequestPricesResult_t", + "returntype": "SteamAPICall_t" +} +,{ + "classname": "ISteamInventory", + "methodname": "GetNumItemsWithPrices", + "returntype": "uint32" +} +,{ + "classname": "ISteamInventory", + "methodname": "GetItemsWithPrices", + "returntype": "bool", + "params": [ +{ "paramname": "pArrayItemDefs" ,"out_array_count": "pArrayItemDefs" ,"desc": "Items with prices" ,"paramtype": "SteamItemDef_t *"}, +{ "paramname": "pPrices" ,"out_array_count": "pPrices" ,"desc": "List of prices for the given item defs" ,"paramtype": "uint64 *"}, +{ "paramname": "unArrayLength" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "GetItemPrice", + "returntype": "bool", + "params": [ +{ "paramname": "iDefinition" ,"paramtype": "SteamItemDef_t"}, +{ "paramname": "pPrice" ,"paramtype": "uint64 *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "StartUpdateProperties", + "returntype": "SteamInventoryUpdateHandle_t" +} +,{ + "classname": "ISteamInventory", + "methodname": "RemoveProperty", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "SteamInventoryUpdateHandle_t"}, +{ "paramname": "nItemID" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SetProperty", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "SteamInventoryUpdateHandle_t"}, +{ "paramname": "nItemID" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"}, +{ "paramname": "pchPropertyValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SetProperty", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "SteamInventoryUpdateHandle_t"}, +{ "paramname": "nItemID" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"}, +{ "paramname": "bValue" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SetProperty", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "SteamInventoryUpdateHandle_t"}, +{ "paramname": "nItemID" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"}, +{ "paramname": "nValue" ,"paramtype": "int64"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SetProperty", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "SteamInventoryUpdateHandle_t"}, +{ "paramname": "nItemID" ,"paramtype": "SteamItemInstanceID_t"}, +{ "paramname": "pchPropertyName" ,"paramtype": "const char *"}, +{ "paramname": "flValue" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamInventory", + "methodname": "SubmitUpdateProperties", + "returntype": "bool", + "params": [ +{ "paramname": "handle" ,"paramtype": "SteamInventoryUpdateHandle_t"}, +{ "paramname": "pResultHandle" ,"paramtype": "SteamInventoryResult_t *"} + ] +} +,{ + "classname": "ISteamVideo", + "methodname": "GetVideoURL", + "returntype": "void", + "params": [ +{ "paramname": "unVideoAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamVideo", + "methodname": "IsBroadcasting", + "returntype": "bool", + "params": [ +{ "paramname": "pnNumViewers" ,"paramtype": "int *"} + ] +} +,{ + "classname": "ISteamVideo", + "methodname": "GetOPFSettings", "callback": "GetOPFSettingsResult_t", + "returntype": "void", + "params": [ +{ "paramname": "unVideoAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamVideo", + "methodname": "GetOPFStringForApp", + "returntype": "bool", + "params": [ +{ "paramname": "unVideoAppID" ,"paramtype": "AppId_t"}, +{ "paramname": "pchBuffer" ,"paramtype": "char *"}, +{ "paramname": "pnBufferSize" ,"paramtype": "int32 *"} + ] +} +,{ + "classname": "ISteamParentalSettings", + "methodname": "BIsParentalLockEnabled", + "returntype": "bool" +} +,{ + "classname": "ISteamParentalSettings", + "methodname": "BIsParentalLockLocked", + "returntype": "bool" +} +,{ + "classname": "ISteamParentalSettings", + "methodname": "BIsAppBlocked", + "returntype": "bool", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamParentalSettings", + "methodname": "BIsAppInBlockList", + "returntype": "bool", + "params": [ +{ "paramname": "nAppID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamParentalSettings", + "methodname": "BIsFeatureBlocked", + "returntype": "bool", + "params": [ +{ "paramname": "eFeature" ,"paramtype": "EParentalFeature"} + ] +} +,{ + "classname": "ISteamParentalSettings", + "methodname": "BIsFeatureInBlockList", + "returntype": "bool", + "params": [ +{ "paramname": "eFeature" ,"paramtype": "EParentalFeature"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "InitGameServer", + "returntype": "bool", + "params": [ +{ "paramname": "unIP" ,"paramtype": "uint32"}, +{ "paramname": "usGamePort" ,"paramtype": "uint16"}, +{ "paramname": "usQueryPort" ,"paramtype": "uint16"}, +{ "paramname": "unFlags" ,"paramtype": "uint32"}, +{ "paramname": "nGameAppId" ,"paramtype": "AppId_t"}, +{ "paramname": "pchVersionString" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetProduct", + "returntype": "void", + "params": [ +{ "paramname": "pszProduct" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetGameDescription", + "returntype": "void", + "params": [ +{ "paramname": "pszGameDescription" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetModDir", + "returntype": "void", + "params": [ +{ "paramname": "pszModDir" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetDedicatedServer", + "returntype": "void", + "params": [ +{ "paramname": "bDedicated" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "LogOn", + "returntype": "void", + "params": [ +{ "paramname": "pszToken" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "LogOnAnonymous", + "returntype": "void" +} +,{ + "classname": "ISteamGameServer", + "methodname": "LogOff", + "returntype": "void" +} +,{ + "classname": "ISteamGameServer", + "methodname": "BLoggedOn", + "returntype": "bool" +} +,{ + "classname": "ISteamGameServer", + "methodname": "BSecure", + "returntype": "bool" +} +,{ + "classname": "ISteamGameServer", + "methodname": "GetSteamID", + "returntype": "class CSteamID" +} +,{ + "classname": "ISteamGameServer", + "methodname": "WasRestartRequested", + "returntype": "bool" +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetMaxPlayerCount", + "returntype": "void", + "params": [ +{ "paramname": "cPlayersMax" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetBotPlayerCount", + "returntype": "void", + "params": [ +{ "paramname": "cBotplayers" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetServerName", + "returntype": "void", + "params": [ +{ "paramname": "pszServerName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetMapName", + "returntype": "void", + "params": [ +{ "paramname": "pszMapName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetPasswordProtected", + "returntype": "void", + "params": [ +{ "paramname": "bPasswordProtected" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetSpectatorPort", + "returntype": "void", + "params": [ +{ "paramname": "unSpectatorPort" ,"paramtype": "uint16"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetSpectatorServerName", + "returntype": "void", + "params": [ +{ "paramname": "pszSpectatorServerName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "ClearAllKeyValues", + "returntype": "void" +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetKeyValue", + "returntype": "void", + "params": [ +{ "paramname": "pKey" ,"paramtype": "const char *"}, +{ "paramname": "pValue" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetGameTags", + "returntype": "void", + "params": [ +{ "paramname": "pchGameTags" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetGameData", + "returntype": "void", + "params": [ +{ "paramname": "pchGameData" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetRegion", + "returntype": "void", + "params": [ +{ "paramname": "pszRegion" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SendUserConnectAndAuthenticate", + "returntype": "bool", + "params": [ +{ "paramname": "unIPClient" ,"paramtype": "uint32"}, +{ "paramname": "pvAuthBlob" ,"paramtype": "const void *"}, +{ "paramname": "cubAuthBlobSize" ,"paramtype": "uint32"}, +{ "paramname": "pSteamIDUser" ,"paramtype": "class CSteamID *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "CreateUnauthenticatedUserConnection", + "returntype": "class CSteamID" +} +,{ + "classname": "ISteamGameServer", + "methodname": "SendUserDisconnect", + "returntype": "void", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "BUpdateUserData", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchPlayerName" ,"paramtype": "const char *"}, +{ "paramname": "uScore" ,"paramtype": "uint32"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "GetAuthSessionTicket", + "returntype": "HAuthTicket", + "params": [ +{ "paramname": "pTicket" ,"paramtype": "void *"}, +{ "paramname": "cbMaxTicket" ,"paramtype": "int"}, +{ "paramname": "pcbTicket" ,"paramtype": "uint32 *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "BeginAuthSession", + "returntype": "EBeginAuthSessionResult", + "params": [ +{ "paramname": "pAuthTicket" ,"paramtype": "const void *"}, +{ "paramname": "cbAuthTicket" ,"paramtype": "int"}, +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "EndAuthSession", + "returntype": "void", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "CancelAuthTicket", + "returntype": "void", + "params": [ +{ "paramname": "hAuthTicket" ,"paramtype": "HAuthTicket"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "UserHasLicenseForApp", + "returntype": "EUserHasLicenseForAppResult", + "params": [ +{ "paramname": "steamID" ,"paramtype": "class CSteamID"}, +{ "paramname": "appID" ,"paramtype": "AppId_t"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "RequestUserGroupStatus", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "steamIDGroup" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "GetGameplayStats", + "returntype": "void" +} +,{ + "classname": "ISteamGameServer", + "methodname": "GetServerReputation", "callresult": "GSReputation_t", + "returntype": "SteamAPICall_t" +} +,{ + "classname": "ISteamGameServer", + "methodname": "GetPublicIP", + "returntype": "uint32" +} +,{ + "classname": "ISteamGameServer", + "methodname": "HandleIncomingPacket", + "returntype": "bool", + "params": [ +{ "paramname": "pData" ,"paramtype": "const void *"}, +{ "paramname": "cbData" ,"paramtype": "int"}, +{ "paramname": "srcIP" ,"paramtype": "uint32"}, +{ "paramname": "srcPort" ,"paramtype": "uint16"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "GetNextOutgoingPacket", + "returntype": "int", + "params": [ +{ "paramname": "pOut" ,"paramtype": "void *"}, +{ "paramname": "cbMaxOut" ,"paramtype": "int"}, +{ "paramname": "pNetAdr" ,"paramtype": "uint32 *"}, +{ "paramname": "pPort" ,"paramtype": "uint16 *"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "EnableHeartbeats", + "returntype": "void", + "params": [ +{ "paramname": "bActive" ,"paramtype": "bool"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "SetHeartbeatInterval", + "returntype": "void", + "params": [ +{ "paramname": "iHeartbeatInterval" ,"paramtype": "int"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "ForceHeartbeat", + "returntype": "void" +} +,{ + "classname": "ISteamGameServer", + "methodname": "AssociateWithClan", "callresult": "AssociateWithClanResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDClan" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServer", + "methodname": "ComputeNewPlayerCompatibility", "callresult": "ComputeNewPlayerCompatibilityResult_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDNewPlayer" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "RequestUserStats", "callresult": "GSStatsReceived_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "GetUserStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "int32 *"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "GetUserStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pData" ,"paramtype": "float *"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "GetUserAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "pbAchieved" ,"paramtype": "bool *"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "SetUserStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "nData" ,"paramtype": "int32"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "SetUserStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "fData" ,"paramtype": "float"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "UpdateUserAvgRateStat", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"}, +{ "paramname": "flCountThisSession" ,"paramtype": "float"}, +{ "paramname": "dSessionLength" ,"paramtype": "double"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "SetUserAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "ClearUserAchievement", + "returntype": "bool", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"}, +{ "paramname": "pchName" ,"paramtype": "const char *"} + ] +} +,{ + "classname": "ISteamGameServerStats", + "methodname": "StoreUserStats", "callresult": "GSStatsStored_t", + "returntype": "SteamAPICall_t", + "params": [ +{ "paramname": "steamIDUser" ,"paramtype": "class CSteamID"} + ] +} +] +} \ No newline at end of file diff --git a/source/Steamworks_xcode/Steamworks/Include/steam_api_flat.h b/source/Steamworks_xcode/Steamworks/Include/steam_api_flat.h new file mode 100644 index 0000000..45ba7c3 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steam_api_flat.h @@ -0,0 +1,844 @@ +//====== Copyright (c) 1996-2014, Valve Corporation, All rights reserved. ======= +// +// Purpose: Header for flatted SteamAPI. Use this for binding to other languages. +// This file is auto-generated, do not edit it. +// +//============================================================================= + +#ifndef STEAMAPIFLAT_H +#define STEAMAPIFLAT_H +#ifdef _WIN32 +#pragma once +#endif + +#include + + +typedef unsigned char uint8; +typedef unsigned char uint8; +typedef signed char int8; +typedef short int16; +typedef unsigned short uint16; +typedef int int32; +typedef unsigned int uint32; +typedef long long int64; +typedef unsigned long long uint64; +typedef int64 lint64; +typedef uint64 ulint64; +typedef uint8 Salt_t[8]; +typedef uint64 GID_t; +typedef uint64 JobID_t; +typedef GID_t TxnID_t; +typedef uint32 PackageId_t; +typedef uint32 BundleId_t; +typedef uint32 AppId_t; +typedef uint64 AssetClassId_t; +typedef uint32 PhysicalItemId_t; +typedef uint32 DepotId_t; +typedef uint32 RTime32; +typedef uint32 CellID_t; +typedef uint64 SteamAPICall_t; +typedef uint32 AccountID_t; +typedef uint32 PartnerId_t; +typedef uint64 ManifestId_t; +typedef uint64 SiteId_t; +typedef uint32 HAuthTicket; +typedef void * BREAKPAD_HANDLE; +typedef char compile_time_assert_type[1]; +typedef int32 HSteamPipe; +typedef int32 HSteamUser; +typedef int16 FriendsGroupID_t; +typedef void * HServerListRequest; +typedef int HServerQuery; +typedef uint64 UGCHandle_t; +typedef uint64 PublishedFileUpdateHandle_t; +typedef uint64 PublishedFileId_t; +typedef uint64 UGCFileWriteStreamHandle_t; +typedef char compile_time_assert_type[1]; +typedef uint64 SteamLeaderboard_t; +typedef uint64 SteamLeaderboardEntries_t; +typedef uint32 SNetSocket_t; +typedef uint32 SNetListenSocket_t; +typedef uint32 ScreenshotHandle; +typedef uint32 HTTPRequestHandle; +typedef uint32 HTTPCookieContainerHandle; +typedef uint64 ControllerHandle_t; +typedef uint64 ControllerActionSetHandle_t; +typedef uint64 ControllerDigitalActionHandle_t; +typedef uint64 ControllerAnalogActionHandle_t; +typedef uint64 UGCQueryHandle_t; +typedef uint64 UGCUpdateHandle_t; +typedef uint32 HHTMLBrowser; +typedef uint64 SteamItemInstanceID_t; +typedef int32 SteamItemDef_t; +typedef int32 SteamInventoryResult_t; +typedef uint64 SteamInventoryUpdateHandle_t; +// OpenVR Constants +int const_k_iSteamUserCallbacks = 100; +int const_k_iSteamGameServerCallbacks = 200; +int const_k_iSteamFriendsCallbacks = 300; +int const_k_iSteamBillingCallbacks = 400; +int const_k_iSteamMatchmakingCallbacks = 500; +int const_k_iSteamContentServerCallbacks = 600; +int const_k_iSteamUtilsCallbacks = 700; +int const_k_iClientFriendsCallbacks = 800; +int const_k_iClientUserCallbacks = 900; +int const_k_iSteamAppsCallbacks = 1000; +int const_k_iSteamUserStatsCallbacks = 1100; +int const_k_iSteamNetworkingCallbacks = 1200; +int const_k_iClientRemoteStorageCallbacks = 1300; +int const_k_iClientDepotBuilderCallbacks = 1400; +int const_k_iSteamGameServerItemsCallbacks = 1500; +int const_k_iClientUtilsCallbacks = 1600; +int const_k_iSteamGameCoordinatorCallbacks = 1700; +int const_k_iSteamGameServerStatsCallbacks = 1800; +int const_k_iSteam2AsyncCallbacks = 1900; +int const_k_iSteamGameStatsCallbacks = 2000; +int const_k_iClientHTTPCallbacks = 2100; +int const_k_iClientScreenshotsCallbacks = 2200; +int const_k_iSteamScreenshotsCallbacks = 2300; +int const_k_iClientAudioCallbacks = 2400; +int const_k_iClientUnifiedMessagesCallbacks = 2500; +int const_k_iSteamStreamLauncherCallbacks = 2600; +int const_k_iClientControllerCallbacks = 2700; +int const_k_iSteamControllerCallbacks = 2800; +int const_k_iClientParentalSettingsCallbacks = 2900; +int const_k_iClientDeviceAuthCallbacks = 3000; +int const_k_iClientNetworkDeviceManagerCallbacks = 3100; +int const_k_iClientMusicCallbacks = 3200; +int const_k_iClientRemoteClientManagerCallbacks = 3300; +int const_k_iClientUGCCallbacks = 3400; +int const_k_iSteamStreamClientCallbacks = 3500; +int const_k_IClientProductBuilderCallbacks = 3600; +int const_k_iClientShortcutsCallbacks = 3700; +int const_k_iClientRemoteControlManagerCallbacks = 3800; +int const_k_iSteamAppListCallbacks = 3900; +int const_k_iSteamMusicCallbacks = 4000; +int const_k_iSteamMusicRemoteCallbacks = 4100; +int const_k_iClientVRCallbacks = 4200; +int const_k_iClientGameNotificationCallbacks = 4300; +int const_k_iSteamGameNotificationCallbacks = 4400; +int const_k_iSteamHTMLSurfaceCallbacks = 4500; +int const_k_iClientVideoCallbacks = 4600; +int const_k_iClientInventoryCallbacks = 4700; +int const_k_iClientBluetoothManagerCallbacks = 4800; +int const_k_iClientSharedConnectionCallbacks = 4900; +int const_k_ISteamParentalSettingsCallbacks = 5000; +int const_k_iClientShaderCallbacks = 5100; +int const_k_cchPersonaNameMax = 128; +int const_k_cwchPersonaNameMax = 32; +int const_k_cchMaxRichPresenceKeys = 20; +int const_k_cchMaxRichPresenceKeyLength = 64; +int const_k_cchMaxRichPresenceValueLength = 256; +int const_k_cchStatNameMax = 128; +int const_k_cchLeaderboardNameMax = 128; +int const_k_cLeaderboardDetailsMax = 64; +unsigned long const_k_SteamItemInstanceIDInvalid = 0xffffffff; +int const_k_SteamInventoryResultInvalid = -1; + + + +// OpenVR Enums +// OpenVR Structs + + + +S_API HSteamPipe SteamAPI_ISteamClient_CreateSteamPipe(intptr_t instancePtr); +S_API bool SteamAPI_ISteamClient_BReleaseSteamPipe(intptr_t instancePtr, HSteamPipe hSteamPipe); +S_API HSteamUser SteamAPI_ISteamClient_ConnectToGlobalUser(intptr_t instancePtr, HSteamPipe hSteamPipe); +S_API HSteamUser SteamAPI_ISteamClient_CreateLocalUser(intptr_t instancePtr, HSteamPipe * phSteamPipe, EAccountType eAccountType); +S_API void SteamAPI_ISteamClient_ReleaseUser(intptr_t instancePtr, HSteamPipe hSteamPipe, HSteamUser hUser); +S_API class ISteamUser * SteamAPI_ISteamClient_GetISteamUser(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamGameServer * SteamAPI_ISteamClient_GetISteamGameServer(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API void SteamAPI_ISteamClient_SetLocalIPBinding(intptr_t instancePtr, uint32 unIP, uint16 usPort); +S_API class ISteamFriends * SteamAPI_ISteamClient_GetISteamFriends(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamUtils * SteamAPI_ISteamClient_GetISteamUtils(intptr_t instancePtr, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamMatchmaking * SteamAPI_ISteamClient_GetISteamMatchmaking(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamMatchmakingServers * SteamAPI_ISteamClient_GetISteamMatchmakingServers(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API void * SteamAPI_ISteamClient_GetISteamGenericInterface(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamUserStats * SteamAPI_ISteamClient_GetISteamUserStats(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamGameServerStats * SteamAPI_ISteamClient_GetISteamGameServerStats(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamApps * SteamAPI_ISteamClient_GetISteamApps(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamNetworking * SteamAPI_ISteamClient_GetISteamNetworking(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamRemoteStorage * SteamAPI_ISteamClient_GetISteamRemoteStorage(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamScreenshots * SteamAPI_ISteamClient_GetISteamScreenshots(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API uint32 SteamAPI_ISteamClient_GetIPCCallCount(intptr_t instancePtr); +S_API void SteamAPI_ISteamClient_SetWarningMessageHook(intptr_t instancePtr, SteamAPIWarningMessageHook_t pFunction); +S_API bool SteamAPI_ISteamClient_BShutdownIfAllPipesClosed(intptr_t instancePtr); +S_API class ISteamHTTP * SteamAPI_ISteamClient_GetISteamHTTP(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamController * SteamAPI_ISteamClient_GetISteamController(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamUGC * SteamAPI_ISteamClient_GetISteamUGC(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamAppList * SteamAPI_ISteamClient_GetISteamAppList(intptr_t instancePtr, HSteamUser hSteamUser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamMusic * SteamAPI_ISteamClient_GetISteamMusic(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamMusicRemote * SteamAPI_ISteamClient_GetISteamMusicRemote(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamHTMLSurface * SteamAPI_ISteamClient_GetISteamHTMLSurface(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamInventory * SteamAPI_ISteamClient_GetISteamInventory(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamVideo * SteamAPI_ISteamClient_GetISteamVideo(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API class ISteamParentalSettings * SteamAPI_ISteamClient_GetISteamParentalSettings(intptr_t instancePtr, HSteamUser hSteamuser, HSteamPipe hSteamPipe, const char * pchVersion); +S_API HSteamUser SteamAPI_ISteamUser_GetHSteamUser(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUser_BLoggedOn(intptr_t instancePtr); +S_API uint64 SteamAPI_ISteamUser_GetSteamID(intptr_t instancePtr); +S_API int SteamAPI_ISteamUser_InitiateGameConnection(intptr_t instancePtr, void * pAuthBlob, int cbMaxAuthBlob, class CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer, bool bSecure); +S_API void SteamAPI_ISteamUser_TerminateGameConnection(intptr_t instancePtr, uint32 unIPServer, uint16 usPortServer); +S_API void SteamAPI_ISteamUser_TrackAppUsageEvent(intptr_t instancePtr, class CGameID gameID, int eAppUsageEvent, const char * pchExtraInfo); +S_API bool SteamAPI_ISteamUser_GetUserDataFolder(intptr_t instancePtr, char * pchBuffer, int cubBuffer); +S_API void SteamAPI_ISteamUser_StartVoiceRecording(intptr_t instancePtr); +S_API void SteamAPI_ISteamUser_StopVoiceRecording(intptr_t instancePtr); +S_API EVoiceResult SteamAPI_ISteamUser_GetAvailableVoice(intptr_t instancePtr, uint32 * pcbCompressed, uint32 * pcbUncompressed_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated); +S_API EVoiceResult SteamAPI_ISteamUser_GetVoice(intptr_t instancePtr, bool bWantCompressed, void * pDestBuffer, uint32 cbDestBufferSize, uint32 * nBytesWritten, bool bWantUncompressed_Deprecated, void * pUncompressedDestBuffer_Deprecated, uint32 cbUncompressedDestBufferSize_Deprecated, uint32 * nUncompressBytesWritten_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated); +S_API EVoiceResult SteamAPI_ISteamUser_DecompressVoice(intptr_t instancePtr, const void * pCompressed, uint32 cbCompressed, void * pDestBuffer, uint32 cbDestBufferSize, uint32 * nBytesWritten, uint32 nDesiredSampleRate); +S_API uint32 SteamAPI_ISteamUser_GetVoiceOptimalSampleRate(intptr_t instancePtr); +S_API HAuthTicket SteamAPI_ISteamUser_GetAuthSessionTicket(intptr_t instancePtr, void * pTicket, int cbMaxTicket, uint32 * pcbTicket); +S_API EBeginAuthSessionResult SteamAPI_ISteamUser_BeginAuthSession(intptr_t instancePtr, const void * pAuthTicket, int cbAuthTicket, class CSteamID steamID); +S_API void SteamAPI_ISteamUser_EndAuthSession(intptr_t instancePtr, class CSteamID steamID); +S_API void SteamAPI_ISteamUser_CancelAuthTicket(intptr_t instancePtr, HAuthTicket hAuthTicket); +S_API EUserHasLicenseForAppResult SteamAPI_ISteamUser_UserHasLicenseForApp(intptr_t instancePtr, class CSteamID steamID, AppId_t appID); +S_API bool SteamAPI_ISteamUser_BIsBehindNAT(intptr_t instancePtr); +S_API void SteamAPI_ISteamUser_AdvertiseGame(intptr_t instancePtr, class CSteamID steamIDGameServer, uint32 unIPServer, uint16 usPortServer); +S_API SteamAPICall_t SteamAPI_ISteamUser_RequestEncryptedAppTicket(intptr_t instancePtr, void * pDataToInclude, int cbDataToInclude); +S_API bool SteamAPI_ISteamUser_GetEncryptedAppTicket(intptr_t instancePtr, void * pTicket, int cbMaxTicket, uint32 * pcbTicket); +S_API int SteamAPI_ISteamUser_GetGameBadgeLevel(intptr_t instancePtr, int nSeries, bool bFoil); +S_API int SteamAPI_ISteamUser_GetPlayerSteamLevel(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamUser_RequestStoreAuthURL(intptr_t instancePtr, const char * pchRedirectURL); +S_API bool SteamAPI_ISteamUser_BIsPhoneVerified(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUser_BIsTwoFactorEnabled(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUser_BIsPhoneIdentifying(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUser_BIsPhoneRequiringVerification(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamFriends_GetPersonaName(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamFriends_SetPersonaName(intptr_t instancePtr, const char * pchPersonaName); +S_API EPersonaState SteamAPI_ISteamFriends_GetPersonaState(intptr_t instancePtr); +S_API int SteamAPI_ISteamFriends_GetFriendCount(intptr_t instancePtr, int iFriendFlags); +S_API uint64 SteamAPI_ISteamFriends_GetFriendByIndex(intptr_t instancePtr, int iFriend, int iFriendFlags); +S_API EFriendRelationship SteamAPI_ISteamFriends_GetFriendRelationship(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API EPersonaState SteamAPI_ISteamFriends_GetFriendPersonaState(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API const char * SteamAPI_ISteamFriends_GetFriendPersonaName(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API bool SteamAPI_ISteamFriends_GetFriendGamePlayed(intptr_t instancePtr, class CSteamID steamIDFriend, struct FriendGameInfo_t * pFriendGameInfo); +S_API const char * SteamAPI_ISteamFriends_GetFriendPersonaNameHistory(intptr_t instancePtr, class CSteamID steamIDFriend, int iPersonaName); +S_API int SteamAPI_ISteamFriends_GetFriendSteamLevel(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API const char * SteamAPI_ISteamFriends_GetPlayerNickname(intptr_t instancePtr, class CSteamID steamIDPlayer); +S_API int SteamAPI_ISteamFriends_GetFriendsGroupCount(intptr_t instancePtr); +S_API FriendsGroupID_t SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex(intptr_t instancePtr, int iFG); +S_API const char * SteamAPI_ISteamFriends_GetFriendsGroupName(intptr_t instancePtr, FriendsGroupID_t friendsGroupID); +S_API int SteamAPI_ISteamFriends_GetFriendsGroupMembersCount(intptr_t instancePtr, FriendsGroupID_t friendsGroupID); +S_API void SteamAPI_ISteamFriends_GetFriendsGroupMembersList(intptr_t instancePtr, FriendsGroupID_t friendsGroupID, class CSteamID * pOutSteamIDMembers, int nMembersCount); +S_API bool SteamAPI_ISteamFriends_HasFriend(intptr_t instancePtr, class CSteamID steamIDFriend, int iFriendFlags); +S_API int SteamAPI_ISteamFriends_GetClanCount(intptr_t instancePtr); +S_API uint64 SteamAPI_ISteamFriends_GetClanByIndex(intptr_t instancePtr, int iClan); +S_API const char * SteamAPI_ISteamFriends_GetClanName(intptr_t instancePtr, class CSteamID steamIDClan); +S_API const char * SteamAPI_ISteamFriends_GetClanTag(intptr_t instancePtr, class CSteamID steamIDClan); +S_API bool SteamAPI_ISteamFriends_GetClanActivityCounts(intptr_t instancePtr, class CSteamID steamIDClan, int * pnOnline, int * pnInGame, int * pnChatting); +S_API SteamAPICall_t SteamAPI_ISteamFriends_DownloadClanActivityCounts(intptr_t instancePtr, class CSteamID * psteamIDClans, int cClansToRequest); +S_API int SteamAPI_ISteamFriends_GetFriendCountFromSource(intptr_t instancePtr, class CSteamID steamIDSource); +S_API uint64 SteamAPI_ISteamFriends_GetFriendFromSourceByIndex(intptr_t instancePtr, class CSteamID steamIDSource, int iFriend); +S_API bool SteamAPI_ISteamFriends_IsUserInSource(intptr_t instancePtr, class CSteamID steamIDUser, class CSteamID steamIDSource); +S_API void SteamAPI_ISteamFriends_SetInGameVoiceSpeaking(intptr_t instancePtr, class CSteamID steamIDUser, bool bSpeaking); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlay(intptr_t instancePtr, const char * pchDialog); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToUser(intptr_t instancePtr, const char * pchDialog, class CSteamID steamID); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage(intptr_t instancePtr, const char * pchURL); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayToStore(intptr_t instancePtr, AppId_t nAppID, EOverlayToStoreFlag eFlag); +S_API void SteamAPI_ISteamFriends_SetPlayedWith(intptr_t instancePtr, class CSteamID steamIDUserPlayedWith); +S_API void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API int SteamAPI_ISteamFriends_GetSmallFriendAvatar(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API int SteamAPI_ISteamFriends_GetMediumFriendAvatar(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API int SteamAPI_ISteamFriends_GetLargeFriendAvatar(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API bool SteamAPI_ISteamFriends_RequestUserInformation(intptr_t instancePtr, class CSteamID steamIDUser, bool bRequireNameOnly); +S_API SteamAPICall_t SteamAPI_ISteamFriends_RequestClanOfficerList(intptr_t instancePtr, class CSteamID steamIDClan); +S_API uint64 SteamAPI_ISteamFriends_GetClanOwner(intptr_t instancePtr, class CSteamID steamIDClan); +S_API int SteamAPI_ISteamFriends_GetClanOfficerCount(intptr_t instancePtr, class CSteamID steamIDClan); +S_API uint64 SteamAPI_ISteamFriends_GetClanOfficerByIndex(intptr_t instancePtr, class CSteamID steamIDClan, int iOfficer); +S_API uint32 SteamAPI_ISteamFriends_GetUserRestrictions(intptr_t instancePtr); +S_API bool SteamAPI_ISteamFriends_SetRichPresence(intptr_t instancePtr, const char * pchKey, const char * pchValue); +S_API void SteamAPI_ISteamFriends_ClearRichPresence(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamFriends_GetFriendRichPresence(intptr_t instancePtr, class CSteamID steamIDFriend, const char * pchKey); +S_API int SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API const char * SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex(intptr_t instancePtr, class CSteamID steamIDFriend, int iKey); +S_API void SteamAPI_ISteamFriends_RequestFriendRichPresence(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API bool SteamAPI_ISteamFriends_InviteUserToGame(intptr_t instancePtr, class CSteamID steamIDFriend, const char * pchConnectString); +S_API int SteamAPI_ISteamFriends_GetCoplayFriendCount(intptr_t instancePtr); +S_API uint64 SteamAPI_ISteamFriends_GetCoplayFriend(intptr_t instancePtr, int iCoplayFriend); +S_API int SteamAPI_ISteamFriends_GetFriendCoplayTime(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API AppId_t SteamAPI_ISteamFriends_GetFriendCoplayGame(intptr_t instancePtr, class CSteamID steamIDFriend); +S_API SteamAPICall_t SteamAPI_ISteamFriends_JoinClanChatRoom(intptr_t instancePtr, class CSteamID steamIDClan); +S_API bool SteamAPI_ISteamFriends_LeaveClanChatRoom(intptr_t instancePtr, class CSteamID steamIDClan); +S_API int SteamAPI_ISteamFriends_GetClanChatMemberCount(intptr_t instancePtr, class CSteamID steamIDClan); +S_API uint64 SteamAPI_ISteamFriends_GetChatMemberByIndex(intptr_t instancePtr, class CSteamID steamIDClan, int iUser); +S_API bool SteamAPI_ISteamFriends_SendClanChatMessage(intptr_t instancePtr, class CSteamID steamIDClanChat, const char * pchText); +S_API int SteamAPI_ISteamFriends_GetClanChatMessage(intptr_t instancePtr, class CSteamID steamIDClanChat, int iMessage, void * prgchText, int cchTextMax, EChatEntryType * peChatEntryType, class CSteamID * psteamidChatter); +S_API bool SteamAPI_ISteamFriends_IsClanChatAdmin(intptr_t instancePtr, class CSteamID steamIDClanChat, class CSteamID steamIDUser); +S_API bool SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam(intptr_t instancePtr, class CSteamID steamIDClanChat); +S_API bool SteamAPI_ISteamFriends_OpenClanChatWindowInSteam(intptr_t instancePtr, class CSteamID steamIDClanChat); +S_API bool SteamAPI_ISteamFriends_CloseClanChatWindowInSteam(intptr_t instancePtr, class CSteamID steamIDClanChat); +S_API bool SteamAPI_ISteamFriends_SetListenForFriendsMessages(intptr_t instancePtr, bool bInterceptEnabled); +S_API bool SteamAPI_ISteamFriends_ReplyToFriendMessage(intptr_t instancePtr, class CSteamID steamIDFriend, const char * pchMsgToSend); +S_API int SteamAPI_ISteamFriends_GetFriendMessage(intptr_t instancePtr, class CSteamID steamIDFriend, int iMessageID, void * pvData, int cubData, EChatEntryType * peChatEntryType); +S_API SteamAPICall_t SteamAPI_ISteamFriends_GetFollowerCount(intptr_t instancePtr, class CSteamID steamID); +S_API SteamAPICall_t SteamAPI_ISteamFriends_IsFollowing(intptr_t instancePtr, class CSteamID steamID); +S_API SteamAPICall_t SteamAPI_ISteamFriends_EnumerateFollowingList(intptr_t instancePtr, uint32 unStartIndex); +S_API bool SteamAPI_ISteamFriends_IsClanPublic(intptr_t instancePtr, class CSteamID steamIDClan); +S_API bool SteamAPI_ISteamFriends_IsClanOfficialGameGroup(intptr_t instancePtr, class CSteamID steamIDClan); +S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceAppActive(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceComputerActive(intptr_t instancePtr); +S_API EUniverse SteamAPI_ISteamUtils_GetConnectedUniverse(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamUtils_GetServerRealTime(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamUtils_GetIPCountry(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUtils_GetImageSize(intptr_t instancePtr, int iImage, uint32 * pnWidth, uint32 * pnHeight); +S_API bool SteamAPI_ISteamUtils_GetImageRGBA(intptr_t instancePtr, int iImage, uint8 * pubDest, int nDestBufferSize); +S_API bool SteamAPI_ISteamUtils_GetCSERIPPort(intptr_t instancePtr, uint32 * unIP, uint16 * usPort); +S_API uint8 SteamAPI_ISteamUtils_GetCurrentBatteryPower(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamUtils_GetAppID(intptr_t instancePtr); +S_API void SteamAPI_ISteamUtils_SetOverlayNotificationPosition(intptr_t instancePtr, ENotificationPosition eNotificationPosition); +S_API bool SteamAPI_ISteamUtils_IsAPICallCompleted(intptr_t instancePtr, SteamAPICall_t hSteamAPICall, bool * pbFailed); +S_API ESteamAPICallFailure SteamAPI_ISteamUtils_GetAPICallFailureReason(intptr_t instancePtr, SteamAPICall_t hSteamAPICall); +S_API bool SteamAPI_ISteamUtils_GetAPICallResult(intptr_t instancePtr, SteamAPICall_t hSteamAPICall, void * pCallback, int cubCallback, int iCallbackExpected, bool * pbFailed); +S_API uint32 SteamAPI_ISteamUtils_GetIPCCallCount(intptr_t instancePtr); +S_API void SteamAPI_ISteamUtils_SetWarningMessageHook(intptr_t instancePtr, SteamAPIWarningMessageHook_t pFunction); +S_API bool SteamAPI_ISteamUtils_IsOverlayEnabled(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUtils_BOverlayNeedsPresent(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamUtils_CheckFileSignature(intptr_t instancePtr, const char * szFileName); +S_API bool SteamAPI_ISteamUtils_ShowGamepadTextInput(intptr_t instancePtr, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char * pchDescription, uint32 unCharMax, const char * pchExistingText); +S_API uint32 SteamAPI_ISteamUtils_GetEnteredGamepadTextLength(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUtils_GetEnteredGamepadTextInput(intptr_t instancePtr, char * pchText, uint32 cchText); +S_API const char * SteamAPI_ISteamUtils_GetSteamUILanguage(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUtils_IsSteamRunningInVR(intptr_t instancePtr); +S_API void SteamAPI_ISteamUtils_SetOverlayNotificationInset(intptr_t instancePtr, int nHorizontalInset, int nVerticalInset); +S_API bool SteamAPI_ISteamUtils_IsSteamInBigPictureMode(intptr_t instancePtr); +S_API void SteamAPI_ISteamUtils_StartVRDashboard(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled(intptr_t instancePtr); +S_API void SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled(intptr_t instancePtr, bool bEnabled); +S_API int SteamAPI_ISteamMatchmaking_GetFavoriteGameCount(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMatchmaking_GetFavoriteGame(intptr_t instancePtr, int iGame, AppId_t * pnAppID, uint32 * pnIP, uint16 * pnConnPort, uint16 * pnQueryPort, uint32 * punFlags, uint32 * pRTime32LastPlayedOnServer); +S_API int SteamAPI_ISteamMatchmaking_AddFavoriteGame(intptr_t instancePtr, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags, uint32 rTime32LastPlayedOnServer); +S_API bool SteamAPI_ISteamMatchmaking_RemoveFavoriteGame(intptr_t instancePtr, AppId_t nAppID, uint32 nIP, uint16 nConnPort, uint16 nQueryPort, uint32 unFlags); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_RequestLobbyList(intptr_t instancePtr); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter(intptr_t instancePtr, const char * pchKeyToMatch, const char * pchValueToMatch, ELobbyComparison eComparisonType); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter(intptr_t instancePtr, const char * pchKeyToMatch, int nValueToMatch, ELobbyComparison eComparisonType); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter(intptr_t instancePtr, const char * pchKeyToMatch, int nValueToBeCloseTo); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable(intptr_t instancePtr, int nSlotsAvailable); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter(intptr_t instancePtr, ELobbyDistanceFilter eLobbyDistanceFilter); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter(intptr_t instancePtr, int cMaxResults); +S_API void SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API uint64 SteamAPI_ISteamMatchmaking_GetLobbyByIndex(intptr_t instancePtr, int iLobby); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_CreateLobby(intptr_t instancePtr, ELobbyType eLobbyType, int cMaxMembers); +S_API SteamAPICall_t SteamAPI_ISteamMatchmaking_JoinLobby(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API void SteamAPI_ISteamMatchmaking_LeaveLobby(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API bool SteamAPI_ISteamMatchmaking_InviteUserToLobby(intptr_t instancePtr, class CSteamID steamIDLobby, class CSteamID steamIDInvitee); +S_API int SteamAPI_ISteamMatchmaking_GetNumLobbyMembers(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API uint64 SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex(intptr_t instancePtr, class CSteamID steamIDLobby, int iMember); +S_API const char * SteamAPI_ISteamMatchmaking_GetLobbyData(intptr_t instancePtr, class CSteamID steamIDLobby, const char * pchKey); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyData(intptr_t instancePtr, class CSteamID steamIDLobby, const char * pchKey, const char * pchValue); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyDataCount(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API bool SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex(intptr_t instancePtr, class CSteamID steamIDLobby, int iLobbyData, char * pchKey, int cchKeyBufferSize, char * pchValue, int cchValueBufferSize); +S_API bool SteamAPI_ISteamMatchmaking_DeleteLobbyData(intptr_t instancePtr, class CSteamID steamIDLobby, const char * pchKey); +S_API const char * SteamAPI_ISteamMatchmaking_GetLobbyMemberData(intptr_t instancePtr, class CSteamID steamIDLobby, class CSteamID steamIDUser, const char * pchKey); +S_API void SteamAPI_ISteamMatchmaking_SetLobbyMemberData(intptr_t instancePtr, class CSteamID steamIDLobby, const char * pchKey, const char * pchValue); +S_API bool SteamAPI_ISteamMatchmaking_SendLobbyChatMsg(intptr_t instancePtr, class CSteamID steamIDLobby, const void * pvMsgBody, int cubMsgBody); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyChatEntry(intptr_t instancePtr, class CSteamID steamIDLobby, int iChatID, class CSteamID * pSteamIDUser, void * pvData, int cubData, EChatEntryType * peChatEntryType); +S_API bool SteamAPI_ISteamMatchmaking_RequestLobbyData(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API void SteamAPI_ISteamMatchmaking_SetLobbyGameServer(intptr_t instancePtr, class CSteamID steamIDLobby, uint32 unGameServerIP, uint16 unGameServerPort, class CSteamID steamIDGameServer); +S_API bool SteamAPI_ISteamMatchmaking_GetLobbyGameServer(intptr_t instancePtr, class CSteamID steamIDLobby, uint32 * punGameServerIP, uint16 * punGameServerPort, class CSteamID * psteamIDGameServer); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit(intptr_t instancePtr, class CSteamID steamIDLobby, int cMaxMembers); +S_API int SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyType(intptr_t instancePtr, class CSteamID steamIDLobby, ELobbyType eLobbyType); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyJoinable(intptr_t instancePtr, class CSteamID steamIDLobby, bool bLobbyJoinable); +S_API uint64 SteamAPI_ISteamMatchmaking_GetLobbyOwner(intptr_t instancePtr, class CSteamID steamIDLobby); +S_API bool SteamAPI_ISteamMatchmaking_SetLobbyOwner(intptr_t instancePtr, class CSteamID steamIDLobby, class CSteamID steamIDNewOwner); +S_API bool SteamAPI_ISteamMatchmaking_SetLinkedLobby(intptr_t instancePtr, class CSteamID steamIDLobby, class CSteamID steamIDLobbyDependent); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded(intptr_t instancePtr, HServerListRequest hRequest, int iServer); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond(intptr_t instancePtr, HServerListRequest hRequest, int iServer); +S_API void SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete(intptr_t instancePtr, HServerListRequest hRequest, EMatchMakingServerResponse response); +S_API void SteamAPI_ISteamMatchmakingPingResponse_ServerResponded(intptr_t instancePtr, class gameserveritem_t & server); +S_API void SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond(intptr_t instancePtr); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList(intptr_t instancePtr, const char * pchName, int nScore, float flTimePlayed); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond(intptr_t instancePtr); +S_API void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete(intptr_t instancePtr); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded(intptr_t instancePtr, const char * pchRule, const char * pchValue); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond(intptr_t instancePtr); +S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete(intptr_t instancePtr); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestInternetServerList(intptr_t instancePtr, AppId_t iApp, struct MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, class ISteamMatchmakingServerListResponse * pRequestServersResponse); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestLANServerList(intptr_t instancePtr, AppId_t iApp, class ISteamMatchmakingServerListResponse * pRequestServersResponse); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList(intptr_t instancePtr, AppId_t iApp, struct MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, class ISteamMatchmakingServerListResponse * pRequestServersResponse); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList(intptr_t instancePtr, AppId_t iApp, struct MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, class ISteamMatchmakingServerListResponse * pRequestServersResponse); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList(intptr_t instancePtr, AppId_t iApp, struct MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, class ISteamMatchmakingServerListResponse * pRequestServersResponse); +S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList(intptr_t instancePtr, AppId_t iApp, struct MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, class ISteamMatchmakingServerListResponse * pRequestServersResponse); +S_API void SteamAPI_ISteamMatchmakingServers_ReleaseRequest(intptr_t instancePtr, HServerListRequest hServerListRequest); +S_API class gameserveritem_t * SteamAPI_ISteamMatchmakingServers_GetServerDetails(intptr_t instancePtr, HServerListRequest hRequest, int iServer); +S_API void SteamAPI_ISteamMatchmakingServers_CancelQuery(intptr_t instancePtr, HServerListRequest hRequest); +S_API void SteamAPI_ISteamMatchmakingServers_RefreshQuery(intptr_t instancePtr, HServerListRequest hRequest); +S_API bool SteamAPI_ISteamMatchmakingServers_IsRefreshing(intptr_t instancePtr, HServerListRequest hRequest); +S_API int SteamAPI_ISteamMatchmakingServers_GetServerCount(intptr_t instancePtr, HServerListRequest hRequest); +S_API void SteamAPI_ISteamMatchmakingServers_RefreshServer(intptr_t instancePtr, HServerListRequest hRequest, int iServer); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PingServer(intptr_t instancePtr, uint32 unIP, uint16 usPort, class ISteamMatchmakingPingResponse * pRequestServersResponse); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PlayerDetails(intptr_t instancePtr, uint32 unIP, uint16 usPort, class ISteamMatchmakingPlayersResponse * pRequestServersResponse); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_ServerRules(intptr_t instancePtr, uint32 unIP, uint16 usPort, class ISteamMatchmakingRulesResponse * pRequestServersResponse); +S_API void SteamAPI_ISteamMatchmakingServers_CancelServerQuery(intptr_t instancePtr, HServerQuery hServerQuery); +S_API bool SteamAPI_ISteamRemoteStorage_FileWrite(intptr_t instancePtr, const char * pchFile, const void * pvData, int32 cubData); +S_API int32 SteamAPI_ISteamRemoteStorage_FileRead(intptr_t instancePtr, const char * pchFile, void * pvData, int32 cubDataToRead); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileWriteAsync(intptr_t instancePtr, const char * pchFile, const void * pvData, uint32 cubData); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileReadAsync(intptr_t instancePtr, const char * pchFile, uint32 nOffset, uint32 cubToRead); +S_API bool SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete(intptr_t instancePtr, SteamAPICall_t hReadCall, void * pvBuffer, uint32 cubToRead); +S_API bool SteamAPI_ISteamRemoteStorage_FileForget(intptr_t instancePtr, const char * pchFile); +S_API bool SteamAPI_ISteamRemoteStorage_FileDelete(intptr_t instancePtr, const char * pchFile); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_FileShare(intptr_t instancePtr, const char * pchFile); +S_API bool SteamAPI_ISteamRemoteStorage_SetSyncPlatforms(intptr_t instancePtr, const char * pchFile, ERemoteStoragePlatform eRemoteStoragePlatform); +S_API UGCFileWriteStreamHandle_t SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen(intptr_t instancePtr, const char * pchFile); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk(intptr_t instancePtr, UGCFileWriteStreamHandle_t writeHandle, const void * pvData, int32 cubData); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamClose(intptr_t instancePtr, UGCFileWriteStreamHandle_t writeHandle); +S_API bool SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel(intptr_t instancePtr, UGCFileWriteStreamHandle_t writeHandle); +S_API bool SteamAPI_ISteamRemoteStorage_FileExists(intptr_t instancePtr, const char * pchFile); +S_API bool SteamAPI_ISteamRemoteStorage_FilePersisted(intptr_t instancePtr, const char * pchFile); +S_API int32 SteamAPI_ISteamRemoteStorage_GetFileSize(intptr_t instancePtr, const char * pchFile); +S_API int64 SteamAPI_ISteamRemoteStorage_GetFileTimestamp(intptr_t instancePtr, const char * pchFile); +S_API ERemoteStoragePlatform SteamAPI_ISteamRemoteStorage_GetSyncPlatforms(intptr_t instancePtr, const char * pchFile); +S_API int32 SteamAPI_ISteamRemoteStorage_GetFileCount(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamRemoteStorage_GetFileNameAndSize(intptr_t instancePtr, int iFile, int32 * pnFileSizeInBytes); +S_API bool SteamAPI_ISteamRemoteStorage_GetQuota(intptr_t instancePtr, uint64 * pnTotalBytes, uint64 * puAvailableBytes); +S_API bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount(intptr_t instancePtr); +S_API bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp(intptr_t instancePtr); +S_API void SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp(intptr_t instancePtr, bool bEnabled); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UGCDownload(intptr_t instancePtr, UGCHandle_t hContent, uint32 unPriority); +S_API bool SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress(intptr_t instancePtr, UGCHandle_t hContent, int32 * pnBytesDownloaded, int32 * pnBytesExpected); +S_API bool SteamAPI_ISteamRemoteStorage_GetUGCDetails(intptr_t instancePtr, UGCHandle_t hContent, AppId_t * pnAppID, char ** ppchName, int32 * pnFileSizeInBytes, class CSteamID * pSteamIDOwner); +S_API int32 SteamAPI_ISteamRemoteStorage_UGCRead(intptr_t instancePtr, UGCHandle_t hContent, void * pvData, int32 cubDataToRead, uint32 cOffset, EUGCReadAction eAction); +S_API int32 SteamAPI_ISteamRemoteStorage_GetCachedUGCCount(intptr_t instancePtr); +S_API UGCHandle_t SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle(intptr_t instancePtr, int32 iCachedContent); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_PublishWorkshopFile(intptr_t instancePtr, const char * pchFile, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, struct SteamParamStringArray_t * pTags, EWorkshopFileType eWorkshopFileType); +S_API PublishedFileUpdateHandle_t SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest(intptr_t instancePtr, PublishedFileId_t unPublishedFileId); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, const char * pchFile); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, const char * pchPreviewFile); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, const char * pchTitle); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, const char * pchDescription); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, ERemoteStoragePublishedFileVisibility eVisibility); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, struct SteamParamStringArray_t * pTags); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails(intptr_t instancePtr, PublishedFileId_t unPublishedFileId, uint32 unMaxSecondsOld); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_DeletePublishedFile(intptr_t instancePtr, PublishedFileId_t unPublishedFileId); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles(intptr_t instancePtr, uint32 unStartIndex); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_SubscribePublishedFile(intptr_t instancePtr, PublishedFileId_t unPublishedFileId); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles(intptr_t instancePtr, uint32 unStartIndex); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile(intptr_t instancePtr, PublishedFileId_t unPublishedFileId); +S_API bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription(intptr_t instancePtr, PublishedFileUpdateHandle_t updateHandle, const char * pchChangeDescription); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails(intptr_t instancePtr, PublishedFileId_t unPublishedFileId); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote(intptr_t instancePtr, PublishedFileId_t unPublishedFileId, bool bVoteUp); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails(intptr_t instancePtr, PublishedFileId_t unPublishedFileId); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles(intptr_t instancePtr, class CSteamID steamId, uint32 unStartIndex, struct SteamParamStringArray_t * pRequiredTags, struct SteamParamStringArray_t * pExcludedTags); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_PublishVideo(intptr_t instancePtr, EWorkshopVideoProvider eVideoProvider, const char * pchVideoAccount, const char * pchVideoIdentifier, const char * pchPreviewFile, AppId_t nConsumerAppId, const char * pchTitle, const char * pchDescription, ERemoteStoragePublishedFileVisibility eVisibility, struct SteamParamStringArray_t * pTags); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction(intptr_t instancePtr, PublishedFileId_t unPublishedFileId, EWorkshopFileAction eAction); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction(intptr_t instancePtr, EWorkshopFileAction eAction, uint32 unStartIndex); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles(intptr_t instancePtr, EWorkshopEnumerationType eEnumerationType, uint32 unStartIndex, uint32 unCount, uint32 unDays, struct SteamParamStringArray_t * pTags, struct SteamParamStringArray_t * pUserTags); +S_API SteamAPICall_t SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation(intptr_t instancePtr, UGCHandle_t hContent, const char * pchLocation, uint32 unPriority); +S_API bool SteamAPI_ISteamUserStats_RequestCurrentStats(intptr_t instancePtr); +S_API bool SteamAPI_ISteamUserStats_GetStat(intptr_t instancePtr, const char * pchName, int32 * pData); +S_API bool SteamAPI_ISteamUserStats_GetStat0(intptr_t instancePtr, const char * pchName, float * pData); +S_API bool SteamAPI_ISteamUserStats_SetStat(intptr_t instancePtr, const char * pchName, int32 nData); +S_API bool SteamAPI_ISteamUserStats_SetStat0(intptr_t instancePtr, const char * pchName, float fData); +S_API bool SteamAPI_ISteamUserStats_UpdateAvgRateStat(intptr_t instancePtr, const char * pchName, float flCountThisSession, double dSessionLength); +S_API bool SteamAPI_ISteamUserStats_GetAchievement(intptr_t instancePtr, const char * pchName, bool * pbAchieved); +S_API bool SteamAPI_ISteamUserStats_SetAchievement(intptr_t instancePtr, const char * pchName); +S_API bool SteamAPI_ISteamUserStats_ClearAchievement(intptr_t instancePtr, const char * pchName); +S_API bool SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime(intptr_t instancePtr, const char * pchName, bool * pbAchieved, uint32 * punUnlockTime); +S_API bool SteamAPI_ISteamUserStats_StoreStats(intptr_t instancePtr); +S_API int SteamAPI_ISteamUserStats_GetAchievementIcon(intptr_t instancePtr, const char * pchName); +S_API const char * SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute(intptr_t instancePtr, const char * pchName, const char * pchKey); +S_API bool SteamAPI_ISteamUserStats_IndicateAchievementProgress(intptr_t instancePtr, const char * pchName, uint32 nCurProgress, uint32 nMaxProgress); +S_API uint32 SteamAPI_ISteamUserStats_GetNumAchievements(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamUserStats_GetAchievementName(intptr_t instancePtr, uint32 iAchievement); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestUserStats(intptr_t instancePtr, class CSteamID steamIDUser); +S_API bool SteamAPI_ISteamUserStats_GetUserStat(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, int32 * pData); +S_API bool SteamAPI_ISteamUserStats_GetUserStat0(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, float * pData); +S_API bool SteamAPI_ISteamUserStats_GetUserAchievement(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, bool * pbAchieved); +S_API bool SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, bool * pbAchieved, uint32 * punUnlockTime); +S_API bool SteamAPI_ISteamUserStats_ResetAllStats(intptr_t instancePtr, bool bAchievementsToo); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_FindOrCreateLeaderboard(intptr_t instancePtr, const char * pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_FindLeaderboard(intptr_t instancePtr, const char * pchLeaderboardName); +S_API const char * SteamAPI_ISteamUserStats_GetLeaderboardName(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard); +S_API int SteamAPI_ISteamUserStats_GetLeaderboardEntryCount(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard); +S_API ELeaderboardSortMethod SteamAPI_ISteamUserStats_GetLeaderboardSortMethod(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard); +S_API ELeaderboardDisplayType SteamAPI_ISteamUserStats_GetLeaderboardDisplayType(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_DownloadLeaderboardEntries(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard, class CSteamID * prgUsers, int cUsers); +S_API bool SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry(intptr_t instancePtr, SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, struct LeaderboardEntry_t * pLeaderboardEntry, int32 * pDetails, int cDetailsMax); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_UploadLeaderboardScore(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 * pScoreDetails, int cScoreDetailsCount); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_AttachLeaderboardUGC(intptr_t instancePtr, SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages(intptr_t instancePtr); +S_API int SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo(intptr_t instancePtr, char * pchName, uint32 unNameBufLen, float * pflPercent, bool * pbAchieved); +S_API int SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo(intptr_t instancePtr, int iIteratorPrevious, char * pchName, uint32 unNameBufLen, float * pflPercent, bool * pbAchieved); +S_API bool SteamAPI_ISteamUserStats_GetAchievementAchievedPercent(intptr_t instancePtr, const char * pchName, float * pflPercent); +S_API SteamAPICall_t SteamAPI_ISteamUserStats_RequestGlobalStats(intptr_t instancePtr, int nHistoryDays); +S_API bool SteamAPI_ISteamUserStats_GetGlobalStat(intptr_t instancePtr, const char * pchStatName, int64 * pData); +S_API bool SteamAPI_ISteamUserStats_GetGlobalStat0(intptr_t instancePtr, const char * pchStatName, double * pData); +S_API int32 SteamAPI_ISteamUserStats_GetGlobalStatHistory(intptr_t instancePtr, const char * pchStatName, int64 * pData, uint32 cubData); +S_API int32 SteamAPI_ISteamUserStats_GetGlobalStatHistory0(intptr_t instancePtr, const char * pchStatName, double * pData, uint32 cubData); +S_API bool SteamAPI_ISteamApps_BIsSubscribed(intptr_t instancePtr); +S_API bool SteamAPI_ISteamApps_BIsLowViolence(intptr_t instancePtr); +S_API bool SteamAPI_ISteamApps_BIsCybercafe(intptr_t instancePtr); +S_API bool SteamAPI_ISteamApps_BIsVACBanned(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamApps_GetCurrentGameLanguage(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamApps_GetAvailableGameLanguages(intptr_t instancePtr); +S_API bool SteamAPI_ISteamApps_BIsSubscribedApp(intptr_t instancePtr, AppId_t appID); +S_API bool SteamAPI_ISteamApps_BIsDlcInstalled(intptr_t instancePtr, AppId_t appID); +S_API uint32 SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime(intptr_t instancePtr, AppId_t nAppID); +S_API bool SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend(intptr_t instancePtr); +S_API int SteamAPI_ISteamApps_GetDLCCount(intptr_t instancePtr); +S_API bool SteamAPI_ISteamApps_BGetDLCDataByIndex(intptr_t instancePtr, int iDLC, AppId_t * pAppID, bool * pbAvailable, char * pchName, int cchNameBufferSize); +S_API void SteamAPI_ISteamApps_InstallDLC(intptr_t instancePtr, AppId_t nAppID); +S_API void SteamAPI_ISteamApps_UninstallDLC(intptr_t instancePtr, AppId_t nAppID); +S_API void SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey(intptr_t instancePtr, AppId_t nAppID); +S_API bool SteamAPI_ISteamApps_GetCurrentBetaName(intptr_t instancePtr, char * pchName, int cchNameBufferSize); +S_API bool SteamAPI_ISteamApps_MarkContentCorrupt(intptr_t instancePtr, bool bMissingFilesOnly); +S_API uint32 SteamAPI_ISteamApps_GetInstalledDepots(intptr_t instancePtr, AppId_t appID, DepotId_t * pvecDepots, uint32 cMaxDepots); +S_API uint32 SteamAPI_ISteamApps_GetAppInstallDir(intptr_t instancePtr, AppId_t appID, char * pchFolder, uint32 cchFolderBufferSize); +S_API bool SteamAPI_ISteamApps_BIsAppInstalled(intptr_t instancePtr, AppId_t appID); +S_API uint64 SteamAPI_ISteamApps_GetAppOwner(intptr_t instancePtr); +S_API const char * SteamAPI_ISteamApps_GetLaunchQueryParam(intptr_t instancePtr, const char * pchKey); +S_API bool SteamAPI_ISteamApps_GetDlcDownloadProgress(intptr_t instancePtr, AppId_t nAppID, uint64 * punBytesDownloaded, uint64 * punBytesTotal); +S_API int SteamAPI_ISteamApps_GetAppBuildId(intptr_t instancePtr); +S_API void SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamApps_GetFileDetails(intptr_t instancePtr, const char * pszFileName); +S_API bool SteamAPI_ISteamNetworking_SendP2PPacket(intptr_t instancePtr, class CSteamID steamIDRemote, const void * pubData, uint32 cubData, EP2PSend eP2PSendType, int nChannel); +S_API bool SteamAPI_ISteamNetworking_IsP2PPacketAvailable(intptr_t instancePtr, uint32 * pcubMsgSize, int nChannel); +S_API bool SteamAPI_ISteamNetworking_ReadP2PPacket(intptr_t instancePtr, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize, class CSteamID * psteamIDRemote, int nChannel); +S_API bool SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser(intptr_t instancePtr, class CSteamID steamIDRemote); +S_API bool SteamAPI_ISteamNetworking_CloseP2PSessionWithUser(intptr_t instancePtr, class CSteamID steamIDRemote); +S_API bool SteamAPI_ISteamNetworking_CloseP2PChannelWithUser(intptr_t instancePtr, class CSteamID steamIDRemote, int nChannel); +S_API bool SteamAPI_ISteamNetworking_GetP2PSessionState(intptr_t instancePtr, class CSteamID steamIDRemote, struct P2PSessionState_t * pConnectionState); +S_API bool SteamAPI_ISteamNetworking_AllowP2PPacketRelay(intptr_t instancePtr, bool bAllow); +S_API SNetListenSocket_t SteamAPI_ISteamNetworking_CreateListenSocket(intptr_t instancePtr, int nVirtualP2PPort, uint32 nIP, uint16 nPort, bool bAllowUseOfPacketRelay); +S_API SNetSocket_t SteamAPI_ISteamNetworking_CreateP2PConnectionSocket(intptr_t instancePtr, class CSteamID steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay); +S_API SNetSocket_t SteamAPI_ISteamNetworking_CreateConnectionSocket(intptr_t instancePtr, uint32 nIP, uint16 nPort, int nTimeoutSec); +S_API bool SteamAPI_ISteamNetworking_DestroySocket(intptr_t instancePtr, SNetSocket_t hSocket, bool bNotifyRemoteEnd); +S_API bool SteamAPI_ISteamNetworking_DestroyListenSocket(intptr_t instancePtr, SNetListenSocket_t hSocket, bool bNotifyRemoteEnd); +S_API bool SteamAPI_ISteamNetworking_SendDataOnSocket(intptr_t instancePtr, SNetSocket_t hSocket, void * pubData, uint32 cubData, bool bReliable); +S_API bool SteamAPI_ISteamNetworking_IsDataAvailableOnSocket(intptr_t instancePtr, SNetSocket_t hSocket, uint32 * pcubMsgSize); +S_API bool SteamAPI_ISteamNetworking_RetrieveDataFromSocket(intptr_t instancePtr, SNetSocket_t hSocket, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize); +S_API bool SteamAPI_ISteamNetworking_IsDataAvailable(intptr_t instancePtr, SNetListenSocket_t hListenSocket, uint32 * pcubMsgSize, SNetSocket_t * phSocket); +S_API bool SteamAPI_ISteamNetworking_RetrieveData(intptr_t instancePtr, SNetListenSocket_t hListenSocket, void * pubDest, uint32 cubDest, uint32 * pcubMsgSize, SNetSocket_t * phSocket); +S_API bool SteamAPI_ISteamNetworking_GetSocketInfo(intptr_t instancePtr, SNetSocket_t hSocket, class CSteamID * pSteamIDRemote, int * peSocketStatus, uint32 * punIPRemote, uint16 * punPortRemote); +S_API bool SteamAPI_ISteamNetworking_GetListenSocketInfo(intptr_t instancePtr, SNetListenSocket_t hListenSocket, uint32 * pnIP, uint16 * pnPort); +S_API ESNetSocketConnectionType SteamAPI_ISteamNetworking_GetSocketConnectionType(intptr_t instancePtr, SNetSocket_t hSocket); +S_API int SteamAPI_ISteamNetworking_GetMaxPacketSize(intptr_t instancePtr, SNetSocket_t hSocket); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_WriteScreenshot(intptr_t instancePtr, void * pubRGB, uint32 cubRGB, int nWidth, int nHeight); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_AddScreenshotToLibrary(intptr_t instancePtr, const char * pchFilename, const char * pchThumbnailFilename, int nWidth, int nHeight); +S_API void SteamAPI_ISteamScreenshots_TriggerScreenshot(intptr_t instancePtr); +S_API void SteamAPI_ISteamScreenshots_HookScreenshots(intptr_t instancePtr, bool bHook); +S_API bool SteamAPI_ISteamScreenshots_SetLocation(intptr_t instancePtr, ScreenshotHandle hScreenshot, const char * pchLocation); +S_API bool SteamAPI_ISteamScreenshots_TagUser(intptr_t instancePtr, ScreenshotHandle hScreenshot, class CSteamID steamID); +S_API bool SteamAPI_ISteamScreenshots_TagPublishedFile(intptr_t instancePtr, ScreenshotHandle hScreenshot, PublishedFileId_t unPublishedFileID); +S_API bool SteamAPI_ISteamScreenshots_IsScreenshotsHooked(intptr_t instancePtr); +S_API ScreenshotHandle SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary(intptr_t instancePtr, EVRScreenshotType eType, const char * pchFilename, const char * pchVRFilename); +S_API bool SteamAPI_ISteamMusic_BIsEnabled(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusic_BIsPlaying(intptr_t instancePtr); +S_API AudioPlayback_Status SteamAPI_ISteamMusic_GetPlaybackStatus(intptr_t instancePtr); +S_API void SteamAPI_ISteamMusic_Play(intptr_t instancePtr); +S_API void SteamAPI_ISteamMusic_Pause(intptr_t instancePtr); +S_API void SteamAPI_ISteamMusic_PlayPrevious(intptr_t instancePtr); +S_API void SteamAPI_ISteamMusic_PlayNext(intptr_t instancePtr); +S_API void SteamAPI_ISteamMusic_SetVolume(intptr_t instancePtr, float flVolume); +S_API float SteamAPI_ISteamMusic_GetVolume(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote(intptr_t instancePtr, const char * pchName); +S_API bool SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_BActivationSuccess(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_SetDisplayName(intptr_t instancePtr, const char * pchDisplayName); +S_API bool SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64(intptr_t instancePtr, void * pvBuffer, uint32 cbBufferLength); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlayPrevious(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlayNext(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_EnableShuffled(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_EnableLooped(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_EnableQueue(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_EnablePlaylists(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus(intptr_t instancePtr, AudioPlayback_Status nStatus); +S_API bool SteamAPI_ISteamMusicRemote_UpdateShuffled(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_UpdateLooped(intptr_t instancePtr, bool bValue); +S_API bool SteamAPI_ISteamMusicRemote_UpdateVolume(intptr_t instancePtr, float flValue); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryWillChange(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable(intptr_t instancePtr, bool bAvailable); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText(intptr_t instancePtr, const char * pchText); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds(intptr_t instancePtr, int nValue); +S_API bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt(intptr_t instancePtr, void * pvBuffer, uint32 cbBufferLength); +S_API bool SteamAPI_ISteamMusicRemote_CurrentEntryDidChange(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_QueueWillChange(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_ResetQueueEntries(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_SetQueueEntry(intptr_t instancePtr, int nID, int nPosition, const char * pchEntryText); +S_API bool SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry(intptr_t instancePtr, int nID); +S_API bool SteamAPI_ISteamMusicRemote_QueueDidChange(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_PlaylistWillChange(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_ResetPlaylistEntries(intptr_t instancePtr); +S_API bool SteamAPI_ISteamMusicRemote_SetPlaylistEntry(intptr_t instancePtr, int nID, int nPosition, const char * pchEntryText); +S_API bool SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry(intptr_t instancePtr, int nID); +S_API bool SteamAPI_ISteamMusicRemote_PlaylistDidChange(intptr_t instancePtr); +S_API HTTPRequestHandle SteamAPI_ISteamHTTP_CreateHTTPRequest(intptr_t instancePtr, EHTTPMethod eHTTPRequestMethod, const char * pchAbsoluteURL); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestContextValue(intptr_t instancePtr, HTTPRequestHandle hRequest, uint64 ulContextValue); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout(intptr_t instancePtr, HTTPRequestHandle hRequest, uint32 unTimeoutSeconds); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue(intptr_t instancePtr, HTTPRequestHandle hRequest, const char * pchHeaderName, const char * pchHeaderValue); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter(intptr_t instancePtr, HTTPRequestHandle hRequest, const char * pchParamName, const char * pchParamValue); +S_API bool SteamAPI_ISteamHTTP_SendHTTPRequest(intptr_t instancePtr, HTTPRequestHandle hRequest, SteamAPICall_t * pCallHandle); +S_API bool SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse(intptr_t instancePtr, HTTPRequestHandle hRequest, SteamAPICall_t * pCallHandle); +S_API bool SteamAPI_ISteamHTTP_DeferHTTPRequest(intptr_t instancePtr, HTTPRequestHandle hRequest); +S_API bool SteamAPI_ISteamHTTP_PrioritizeHTTPRequest(intptr_t instancePtr, HTTPRequestHandle hRequest); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize(intptr_t instancePtr, HTTPRequestHandle hRequest, const char * pchHeaderName, uint32 * unResponseHeaderSize); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue(intptr_t instancePtr, HTTPRequestHandle hRequest, const char * pchHeaderName, uint8 * pHeaderValueBuffer, uint32 unBufferSize); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseBodySize(intptr_t instancePtr, HTTPRequestHandle hRequest, uint32 * unBodySize); +S_API bool SteamAPI_ISteamHTTP_GetHTTPResponseBodyData(intptr_t instancePtr, HTTPRequestHandle hRequest, uint8 * pBodyDataBuffer, uint32 unBufferSize); +S_API bool SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData(intptr_t instancePtr, HTTPRequestHandle hRequest, uint32 cOffset, uint8 * pBodyDataBuffer, uint32 unBufferSize); +S_API bool SteamAPI_ISteamHTTP_ReleaseHTTPRequest(intptr_t instancePtr, HTTPRequestHandle hRequest); +S_API bool SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct(intptr_t instancePtr, HTTPRequestHandle hRequest, float * pflPercentOut); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody(intptr_t instancePtr, HTTPRequestHandle hRequest, const char * pchContentType, uint8 * pubBody, uint32 unBodyLen); +S_API HTTPCookieContainerHandle SteamAPI_ISteamHTTP_CreateCookieContainer(intptr_t instancePtr, bool bAllowResponsesToModify); +S_API bool SteamAPI_ISteamHTTP_ReleaseCookieContainer(intptr_t instancePtr, HTTPCookieContainerHandle hCookieContainer); +S_API bool SteamAPI_ISteamHTTP_SetCookie(intptr_t instancePtr, HTTPCookieContainerHandle hCookieContainer, const char * pchHost, const char * pchUrl, const char * pchCookie); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer(intptr_t instancePtr, HTTPRequestHandle hRequest, HTTPCookieContainerHandle hCookieContainer); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo(intptr_t instancePtr, HTTPRequestHandle hRequest, const char * pchUserAgentInfo); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate(intptr_t instancePtr, HTTPRequestHandle hRequest, bool bRequireVerifiedCertificate); +S_API bool SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS(intptr_t instancePtr, HTTPRequestHandle hRequest, uint32 unMilliseconds); +S_API bool SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(intptr_t instancePtr, HTTPRequestHandle hRequest, bool * pbWasTimedOut); +S_API bool SteamAPI_ISteamController_Init(intptr_t instancePtr); +S_API bool SteamAPI_ISteamController_Shutdown(intptr_t instancePtr); +S_API void SteamAPI_ISteamController_RunFrame(intptr_t instancePtr); +S_API int SteamAPI_ISteamController_GetConnectedControllers(intptr_t instancePtr, ControllerHandle_t * handlesOut); +S_API bool SteamAPI_ISteamController_ShowBindingPanel(intptr_t instancePtr, ControllerHandle_t controllerHandle); +S_API ControllerActionSetHandle_t SteamAPI_ISteamController_GetActionSetHandle(intptr_t instancePtr, const char * pszActionSetName); +S_API void SteamAPI_ISteamController_ActivateActionSet(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle); +S_API ControllerActionSetHandle_t SteamAPI_ISteamController_GetCurrentActionSet(intptr_t instancePtr, ControllerHandle_t controllerHandle); +S_API void SteamAPI_ISteamController_ActivateActionSetLayer(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle); +S_API void SteamAPI_ISteamController_DeactivateActionSetLayer(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle); +S_API void SteamAPI_ISteamController_DeactivateAllActionSetLayers(intptr_t instancePtr, ControllerHandle_t controllerHandle); +S_API int SteamAPI_ISteamController_GetActiveActionSetLayers(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t * handlesOut); +S_API ControllerDigitalActionHandle_t SteamAPI_ISteamController_GetDigitalActionHandle(intptr_t instancePtr, const char * pszActionName); +S_API struct ControllerDigitalActionData_t SteamAPI_ISteamController_GetDigitalActionData(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle); +S_API int SteamAPI_ISteamController_GetDigitalActionOrigins(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin * originsOut); +S_API ControllerAnalogActionHandle_t SteamAPI_ISteamController_GetAnalogActionHandle(intptr_t instancePtr, const char * pszActionName); +S_API struct ControllerAnalogActionData_t SteamAPI_ISteamController_GetAnalogActionData(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle); +S_API int SteamAPI_ISteamController_GetAnalogActionOrigins(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin * originsOut); +S_API void SteamAPI_ISteamController_StopAnalogActionMomentum(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction); +S_API void SteamAPI_ISteamController_TriggerHapticPulse(intptr_t instancePtr, ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec); +S_API void SteamAPI_ISteamController_TriggerRepeatedHapticPulse(intptr_t instancePtr, ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags); +S_API void SteamAPI_ISteamController_TriggerVibration(intptr_t instancePtr, ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed); +S_API void SteamAPI_ISteamController_SetLEDColor(intptr_t instancePtr, ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags); +S_API int SteamAPI_ISteamController_GetGamepadIndexForController(intptr_t instancePtr, ControllerHandle_t ulControllerHandle); +S_API ControllerHandle_t SteamAPI_ISteamController_GetControllerForGamepadIndex(intptr_t instancePtr, int nIndex); +S_API struct ControllerMotionData_t SteamAPI_ISteamController_GetMotionData(intptr_t instancePtr, ControllerHandle_t controllerHandle); +S_API bool SteamAPI_ISteamController_ShowDigitalActionOrigins(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition); +S_API bool SteamAPI_ISteamController_ShowAnalogActionOrigins(intptr_t instancePtr, ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition); +S_API const char * SteamAPI_ISteamController_GetStringForActionOrigin(intptr_t instancePtr, EControllerActionOrigin eOrigin); +S_API const char * SteamAPI_ISteamController_GetGlyphForActionOrigin(intptr_t instancePtr, EControllerActionOrigin eOrigin); +S_API ESteamInputType SteamAPI_ISteamController_GetInputTypeForHandle(intptr_t instancePtr, ControllerHandle_t controllerHandle); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(intptr_t instancePtr, AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequest(intptr_t instancePtr, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage); +S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest(intptr_t instancePtr, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SendQueryUGCRequest(intptr_t instancePtr, UGCQueryHandle_t handle); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCResult(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, struct SteamUGCDetails_t * pDetails); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCPreviewURL(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, char * pchURL, uint32 cchURLSize); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCMetadata(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, char * pchMetadata, uint32 cchMetadatasize); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCChildren(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, PublishedFileId_t * pvecPublishedFileID, uint32 cMaxEntries); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCStatistic(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, EItemStatistic eStatType, uint64 * pStatValue); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, uint32 previewIndex, char * pchURLOrVideoID, uint32 cchURLSize, char * pchOriginalFileName, uint32 cchOriginalFileNameSize, EItemPreviewType * pPreviewType); +S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index); +S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, char * pchKey, uint32 cchKeySize, char * pchValue, uint32 cchValueSize); +S_API bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(intptr_t instancePtr, UGCQueryHandle_t handle); +S_API bool SteamAPI_ISteamUGC_AddRequiredTag(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pTagName); +S_API bool SteamAPI_ISteamUGC_AddExcludedTag(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pTagName); +S_API bool SteamAPI_ISteamUGC_SetReturnOnlyIDs(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnOnlyIDs); +S_API bool SteamAPI_ISteamUGC_SetReturnKeyValueTags(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnKeyValueTags); +S_API bool SteamAPI_ISteamUGC_SetReturnLongDescription(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnLongDescription); +S_API bool SteamAPI_ISteamUGC_SetReturnMetadata(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnMetadata); +S_API bool SteamAPI_ISteamUGC_SetReturnChildren(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnChildren); +S_API bool SteamAPI_ISteamUGC_SetReturnAdditionalPreviews(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnAdditionalPreviews); +S_API bool SteamAPI_ISteamUGC_SetReturnTotalOnly(intptr_t instancePtr, UGCQueryHandle_t handle, bool bReturnTotalOnly); +S_API bool SteamAPI_ISteamUGC_SetReturnPlaytimeStats(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 unDays); +S_API bool SteamAPI_ISteamUGC_SetLanguage(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pchLanguage); +S_API bool SteamAPI_ISteamUGC_SetAllowCachedResponse(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 unMaxAgeSeconds); +S_API bool SteamAPI_ISteamUGC_SetCloudFileNameFilter(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pMatchCloudFileName); +S_API bool SteamAPI_ISteamUGC_SetMatchAnyTag(intptr_t instancePtr, UGCQueryHandle_t handle, bool bMatchAnyTag); +S_API bool SteamAPI_ISteamUGC_SetSearchText(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pSearchText); +S_API bool SteamAPI_ISteamUGC_SetRankedByTrendDays(intptr_t instancePtr, UGCQueryHandle_t handle, uint32 unDays); +S_API bool SteamAPI_ISteamUGC_AddRequiredKeyValueTag(intptr_t instancePtr, UGCQueryHandle_t handle, const char * pKey, const char * pValue); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RequestUGCDetails(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, uint32 unMaxAgeSeconds); +S_API SteamAPICall_t SteamAPI_ISteamUGC_CreateItem(intptr_t instancePtr, AppId_t nConsumerAppId, EWorkshopFileType eFileType); +S_API UGCUpdateHandle_t SteamAPI_ISteamUGC_StartItemUpdate(intptr_t instancePtr, AppId_t nConsumerAppId, PublishedFileId_t nPublishedFileID); +S_API bool SteamAPI_ISteamUGC_SetItemTitle(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchTitle); +S_API bool SteamAPI_ISteamUGC_SetItemDescription(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchDescription); +S_API bool SteamAPI_ISteamUGC_SetItemUpdateLanguage(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchLanguage); +S_API bool SteamAPI_ISteamUGC_SetItemMetadata(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchMetaData); +S_API bool SteamAPI_ISteamUGC_SetItemVisibility(intptr_t instancePtr, UGCUpdateHandle_t handle, ERemoteStoragePublishedFileVisibility eVisibility); +S_API bool SteamAPI_ISteamUGC_SetItemTags(intptr_t instancePtr, UGCUpdateHandle_t updateHandle, const struct SteamParamStringArray_t * pTags); +S_API bool SteamAPI_ISteamUGC_SetItemContent(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszContentFolder); +S_API bool SteamAPI_ISteamUGC_SetItemPreview(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszPreviewFile); +S_API bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchKey); +S_API bool SteamAPI_ISteamUGC_AddItemKeyValueTag(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchKey, const char * pchValue); +S_API bool SteamAPI_ISteamUGC_AddItemPreviewFile(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszPreviewFile, EItemPreviewType type); +S_API bool SteamAPI_ISteamUGC_AddItemPreviewVideo(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pszVideoID); +S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewFile(intptr_t instancePtr, UGCUpdateHandle_t handle, uint32 index, const char * pszPreviewFile); +S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo(intptr_t instancePtr, UGCUpdateHandle_t handle, uint32 index, const char * pszVideoID); +S_API bool SteamAPI_ISteamUGC_RemoveItemPreview(intptr_t instancePtr, UGCUpdateHandle_t handle, uint32 index); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SubmitItemUpdate(intptr_t instancePtr, UGCUpdateHandle_t handle, const char * pchChangeNote); +S_API EItemUpdateStatus SteamAPI_ISteamUGC_GetItemUpdateProgress(intptr_t instancePtr, UGCUpdateHandle_t handle, uint64 * punBytesProcessed, uint64 * punBytesTotal); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SetUserItemVote(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, bool bVoteUp); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetUserItemVote(intptr_t instancePtr, PublishedFileId_t nPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddItemToFavorites(intptr_t instancePtr, AppId_t nAppId, PublishedFileId_t nPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveItemFromFavorites(intptr_t instancePtr, AppId_t nAppId, PublishedFileId_t nPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_SubscribeItem(intptr_t instancePtr, PublishedFileId_t nPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_UnsubscribeItem(intptr_t instancePtr, PublishedFileId_t nPublishedFileID); +S_API uint32 SteamAPI_ISteamUGC_GetNumSubscribedItems(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamUGC_GetSubscribedItems(intptr_t instancePtr, PublishedFileId_t * pvecPublishedFileID, uint32 cMaxEntries); +S_API uint32 SteamAPI_ISteamUGC_GetItemState(intptr_t instancePtr, PublishedFileId_t nPublishedFileID); +S_API bool SteamAPI_ISteamUGC_GetItemInstallInfo(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, uint64 * punSizeOnDisk, char * pchFolder, uint32 cchFolderSize, uint32 * punTimeStamp); +S_API bool SteamAPI_ISteamUGC_GetItemDownloadInfo(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, uint64 * punBytesDownloaded, uint64 * punBytesTotal); +S_API bool SteamAPI_ISteamUGC_DownloadItem(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, bool bHighPriority); +S_API bool SteamAPI_ISteamUGC_BInitWorkshopForGameServer(intptr_t instancePtr, DepotId_t unWorkshopDepotID, const char * pszFolder); +S_API void SteamAPI_ISteamUGC_SuspendDownloads(intptr_t instancePtr, bool bSuspend); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StartPlaytimeTracking(intptr_t instancePtr, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StopPlaytimeTracking(intptr_t instancePtr, PublishedFileId_t * pvecPublishedFileID, uint32 unNumPublishedFileIDs); +S_API SteamAPICall_t SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddDependency(intptr_t instancePtr, PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveDependency(intptr_t instancePtr, PublishedFileId_t nParentPublishedFileID, PublishedFileId_t nChildPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_AddAppDependency(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, AppId_t nAppID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_RemoveAppDependency(intptr_t instancePtr, PublishedFileId_t nPublishedFileID, AppId_t nAppID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_GetAppDependencies(intptr_t instancePtr, PublishedFileId_t nPublishedFileID); +S_API SteamAPICall_t SteamAPI_ISteamUGC_DeleteItem(intptr_t instancePtr, PublishedFileId_t nPublishedFileID); +S_API uint32 SteamAPI_ISteamAppList_GetNumInstalledApps(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamAppList_GetInstalledApps(intptr_t instancePtr, AppId_t * pvecAppID, uint32 unMaxAppIDs); +S_API int SteamAPI_ISteamAppList_GetAppName(intptr_t instancePtr, AppId_t nAppID, char * pchName, int cchNameMax); +S_API int SteamAPI_ISteamAppList_GetAppInstallDir(intptr_t instancePtr, AppId_t nAppID, char * pchDirectory, int cchNameMax); +S_API int SteamAPI_ISteamAppList_GetAppBuildId(intptr_t instancePtr, AppId_t nAppID); +S_API void SteamAPI_ISteamHTMLSurface_DestructISteamHTMLSurface(intptr_t instancePtr); +S_API bool SteamAPI_ISteamHTMLSurface_Init(intptr_t instancePtr); +S_API bool SteamAPI_ISteamHTMLSurface_Shutdown(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamHTMLSurface_CreateBrowser(intptr_t instancePtr, const char * pchUserAgent, const char * pchUserCSS); +S_API void SteamAPI_ISteamHTMLSurface_RemoveBrowser(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_LoadURL(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, const char * pchURL, const char * pchPostData); +S_API void SteamAPI_ISteamHTMLSurface_SetSize(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, uint32 unWidth, uint32 unHeight); +S_API void SteamAPI_ISteamHTMLSurface_StopLoad(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_Reload(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_GoBack(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_GoForward(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_AddHeader(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, const char * pchKey, const char * pchValue); +S_API void SteamAPI_ISteamHTMLSurface_ExecuteJavascript(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, const char * pchScript); +S_API void SteamAPI_ISteamHTMLSurface_MouseUp(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton); +S_API void SteamAPI_ISteamHTMLSurface_MouseDown(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton); +S_API void SteamAPI_ISteamHTMLSurface_MouseDoubleClick(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, ISteamHTMLSurface::EHTMLMouseButton eMouseButton); +S_API void SteamAPI_ISteamHTMLSurface_MouseMove(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, int x, int y); +S_API void SteamAPI_ISteamHTMLSurface_MouseWheel(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, int32 nDelta); +S_API void SteamAPI_ISteamHTMLSurface_KeyDown(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers); +S_API void SteamAPI_ISteamHTMLSurface_KeyUp(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, uint32 nNativeKeyCode, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers); +S_API void SteamAPI_ISteamHTMLSurface_KeyChar(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, uint32 cUnicodeChar, ISteamHTMLSurface::EHTMLKeyModifiers eHTMLKeyModifiers); +S_API void SteamAPI_ISteamHTMLSurface_SetHorizontalScroll(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll); +S_API void SteamAPI_ISteamHTMLSurface_SetVerticalScroll(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, uint32 nAbsolutePixelScroll); +S_API void SteamAPI_ISteamHTMLSurface_SetKeyFocus(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, bool bHasKeyFocus); +S_API void SteamAPI_ISteamHTMLSurface_ViewSource(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_CopyToClipboard(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_PasteFromClipboard(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_Find(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, const char * pchSearchStr, bool bCurrentlyInFind, bool bReverse); +S_API void SteamAPI_ISteamHTMLSurface_StopFind(intptr_t instancePtr, HHTMLBrowser unBrowserHandle); +S_API void SteamAPI_ISteamHTMLSurface_GetLinkAtPosition(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, int x, int y); +S_API void SteamAPI_ISteamHTMLSurface_SetCookie(intptr_t instancePtr, const char * pchHostname, const char * pchKey, const char * pchValue, const char * pchPath, RTime32 nExpires, bool bSecure, bool bHTTPOnly); +S_API void SteamAPI_ISteamHTMLSurface_SetPageScaleFactor(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, float flZoom, int nPointX, int nPointY); +S_API void SteamAPI_ISteamHTMLSurface_SetBackgroundMode(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, bool bBackgroundMode); +S_API void SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, float flDPIScaling); +S_API void SteamAPI_ISteamHTMLSurface_AllowStartRequest(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, bool bAllowed); +S_API void SteamAPI_ISteamHTMLSurface_JSDialogResponse(intptr_t instancePtr, HHTMLBrowser unBrowserHandle, bool bResult); +S_API EResult SteamAPI_ISteamInventory_GetResultStatus(intptr_t instancePtr, SteamInventoryResult_t resultHandle); +S_API bool SteamAPI_ISteamInventory_GetResultItems(intptr_t instancePtr, SteamInventoryResult_t resultHandle, struct SteamItemDetails_t * pOutItemsArray, uint32 * punOutItemsArraySize); +S_API bool SteamAPI_ISteamInventory_GetResultItemProperty(intptr_t instancePtr, SteamInventoryResult_t resultHandle, uint32 unItemIndex, const char * pchPropertyName, char * pchValueBuffer, uint32 * punValueBufferSizeOut); +S_API uint32 SteamAPI_ISteamInventory_GetResultTimestamp(intptr_t instancePtr, SteamInventoryResult_t resultHandle); +S_API bool SteamAPI_ISteamInventory_CheckResultSteamID(intptr_t instancePtr, SteamInventoryResult_t resultHandle, class CSteamID steamIDExpected); +S_API void SteamAPI_ISteamInventory_DestroyResult(intptr_t instancePtr, SteamInventoryResult_t resultHandle); +S_API bool SteamAPI_ISteamInventory_GetAllItems(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle); +S_API bool SteamAPI_ISteamInventory_GetItemsByID(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, const SteamItemInstanceID_t * pInstanceIDs, uint32 unCountInstanceIDs); +S_API bool SteamAPI_ISteamInventory_SerializeResult(intptr_t instancePtr, SteamInventoryResult_t resultHandle, void * pOutBuffer, uint32 * punOutBufferSize); +S_API bool SteamAPI_ISteamInventory_DeserializeResult(intptr_t instancePtr, SteamInventoryResult_t * pOutResultHandle, const void * pBuffer, uint32 unBufferSize, bool bRESERVED_MUST_BE_FALSE); +S_API bool SteamAPI_ISteamInventory_GenerateItems(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayItemDefs, const uint32 * punArrayQuantity, uint32 unArrayLength); +S_API bool SteamAPI_ISteamInventory_GrantPromoItems(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle); +S_API bool SteamAPI_ISteamInventory_AddPromoItem(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, SteamItemDef_t itemDef); +S_API bool SteamAPI_ISteamInventory_AddPromoItems(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayItemDefs, uint32 unArrayLength); +S_API bool SteamAPI_ISteamInventory_ConsumeItem(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, SteamItemInstanceID_t itemConsume, uint32 unQuantity); +S_API bool SteamAPI_ISteamInventory_ExchangeItems(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, const SteamItemDef_t * pArrayGenerate, const uint32 * punArrayGenerateQuantity, uint32 unArrayGenerateLength, const SteamItemInstanceID_t * pArrayDestroy, const uint32 * punArrayDestroyQuantity, uint32 unArrayDestroyLength); +S_API bool SteamAPI_ISteamInventory_TransferItemQuantity(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, SteamItemInstanceID_t itemIdSource, uint32 unQuantity, SteamItemInstanceID_t itemIdDest); +S_API void SteamAPI_ISteamInventory_SendItemDropHeartbeat(intptr_t instancePtr); +S_API bool SteamAPI_ISteamInventory_TriggerItemDrop(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, SteamItemDef_t dropListDefinition); +S_API bool SteamAPI_ISteamInventory_TradeItems(intptr_t instancePtr, SteamInventoryResult_t * pResultHandle, class CSteamID steamIDTradePartner, const SteamItemInstanceID_t * pArrayGive, const uint32 * pArrayGiveQuantity, uint32 nArrayGiveLength, const SteamItemInstanceID_t * pArrayGet, const uint32 * pArrayGetQuantity, uint32 nArrayGetLength); +S_API bool SteamAPI_ISteamInventory_LoadItemDefinitions(intptr_t instancePtr); +S_API bool SteamAPI_ISteamInventory_GetItemDefinitionIDs(intptr_t instancePtr, SteamItemDef_t * pItemDefIDs, uint32 * punItemDefIDsArraySize); +S_API bool SteamAPI_ISteamInventory_GetItemDefinitionProperty(intptr_t instancePtr, SteamItemDef_t iDefinition, const char * pchPropertyName, char * pchValueBuffer, uint32 * punValueBufferSizeOut); +S_API SteamAPICall_t SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs(intptr_t instancePtr, class CSteamID steamID); +S_API bool SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(intptr_t instancePtr, class CSteamID steamID, SteamItemDef_t * pItemDefIDs, uint32 * punItemDefIDsArraySize); +S_API SteamAPICall_t SteamAPI_ISteamInventory_StartPurchase(intptr_t instancePtr, const SteamItemDef_t * pArrayItemDefs, const uint32 * punArrayQuantity, uint32 unArrayLength); +S_API SteamAPICall_t SteamAPI_ISteamInventory_RequestPrices(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamInventory_GetNumItemsWithPrices(intptr_t instancePtr); +S_API bool SteamAPI_ISteamInventory_GetItemsWithPrices(intptr_t instancePtr, SteamItemDef_t * pArrayItemDefs, uint64 * pPrices, uint32 unArrayLength); +S_API bool SteamAPI_ISteamInventory_GetItemPrice(intptr_t instancePtr, SteamItemDef_t iDefinition, uint64 * pPrice); +S_API SteamInventoryUpdateHandle_t SteamAPI_ISteamInventory_StartUpdateProperties(intptr_t instancePtr); +S_API bool SteamAPI_ISteamInventory_RemoveProperty(intptr_t instancePtr, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName); +S_API bool SteamAPI_ISteamInventory_SetProperty(intptr_t instancePtr, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, const char * pchPropertyValue); +S_API bool SteamAPI_ISteamInventory_SetProperty0(intptr_t instancePtr, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, bool bValue); +S_API bool SteamAPI_ISteamInventory_SetProperty1(intptr_t instancePtr, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, int64 nValue); +S_API bool SteamAPI_ISteamInventory_SetProperty2(intptr_t instancePtr, SteamInventoryUpdateHandle_t handle, SteamItemInstanceID_t nItemID, const char * pchPropertyName, float flValue); +S_API bool SteamAPI_ISteamInventory_SubmitUpdateProperties(intptr_t instancePtr, SteamInventoryUpdateHandle_t handle, SteamInventoryResult_t * pResultHandle); +S_API void SteamAPI_ISteamVideo_GetVideoURL(intptr_t instancePtr, AppId_t unVideoAppID); +S_API bool SteamAPI_ISteamVideo_IsBroadcasting(intptr_t instancePtr, int * pnNumViewers); +S_API void SteamAPI_ISteamVideo_GetOPFSettings(intptr_t instancePtr, AppId_t unVideoAppID); +S_API bool SteamAPI_ISteamVideo_GetOPFStringForApp(intptr_t instancePtr, AppId_t unVideoAppID, char * pchBuffer, int32 * pnBufferSize); +S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(intptr_t instancePtr); +S_API bool SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(intptr_t instancePtr); +S_API bool SteamAPI_ISteamParentalSettings_BIsAppBlocked(intptr_t instancePtr, AppId_t nAppID); +S_API bool SteamAPI_ISteamParentalSettings_BIsAppInBlockList(intptr_t instancePtr, AppId_t nAppID); +S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(intptr_t instancePtr, EParentalFeature eFeature); +S_API bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(intptr_t instancePtr, EParentalFeature eFeature); +S_API bool SteamAPI_ISteamGameServer_InitGameServer(intptr_t instancePtr, uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char * pchVersionString); +S_API void SteamAPI_ISteamGameServer_SetProduct(intptr_t instancePtr, const char * pszProduct); +S_API void SteamAPI_ISteamGameServer_SetGameDescription(intptr_t instancePtr, const char * pszGameDescription); +S_API void SteamAPI_ISteamGameServer_SetModDir(intptr_t instancePtr, const char * pszModDir); +S_API void SteamAPI_ISteamGameServer_SetDedicatedServer(intptr_t instancePtr, bool bDedicated); +S_API void SteamAPI_ISteamGameServer_LogOn(intptr_t instancePtr, const char * pszToken); +S_API void SteamAPI_ISteamGameServer_LogOnAnonymous(intptr_t instancePtr); +S_API void SteamAPI_ISteamGameServer_LogOff(intptr_t instancePtr); +S_API bool SteamAPI_ISteamGameServer_BLoggedOn(intptr_t instancePtr); +S_API bool SteamAPI_ISteamGameServer_BSecure(intptr_t instancePtr); +S_API uint64 SteamAPI_ISteamGameServer_GetSteamID(intptr_t instancePtr); +S_API bool SteamAPI_ISteamGameServer_WasRestartRequested(intptr_t instancePtr); +S_API void SteamAPI_ISteamGameServer_SetMaxPlayerCount(intptr_t instancePtr, int cPlayersMax); +S_API void SteamAPI_ISteamGameServer_SetBotPlayerCount(intptr_t instancePtr, int cBotplayers); +S_API void SteamAPI_ISteamGameServer_SetServerName(intptr_t instancePtr, const char * pszServerName); +S_API void SteamAPI_ISteamGameServer_SetMapName(intptr_t instancePtr, const char * pszMapName); +S_API void SteamAPI_ISteamGameServer_SetPasswordProtected(intptr_t instancePtr, bool bPasswordProtected); +S_API void SteamAPI_ISteamGameServer_SetSpectatorPort(intptr_t instancePtr, uint16 unSpectatorPort); +S_API void SteamAPI_ISteamGameServer_SetSpectatorServerName(intptr_t instancePtr, const char * pszSpectatorServerName); +S_API void SteamAPI_ISteamGameServer_ClearAllKeyValues(intptr_t instancePtr); +S_API void SteamAPI_ISteamGameServer_SetKeyValue(intptr_t instancePtr, const char * pKey, const char * pValue); +S_API void SteamAPI_ISteamGameServer_SetGameTags(intptr_t instancePtr, const char * pchGameTags); +S_API void SteamAPI_ISteamGameServer_SetGameData(intptr_t instancePtr, const char * pchGameData); +S_API void SteamAPI_ISteamGameServer_SetRegion(intptr_t instancePtr, const char * pszRegion); +S_API bool SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate(intptr_t instancePtr, uint32 unIPClient, const void * pvAuthBlob, uint32 cubAuthBlobSize, class CSteamID * pSteamIDUser); +S_API uint64 SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection(intptr_t instancePtr); +S_API void SteamAPI_ISteamGameServer_SendUserDisconnect(intptr_t instancePtr, class CSteamID steamIDUser); +S_API bool SteamAPI_ISteamGameServer_BUpdateUserData(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchPlayerName, uint32 uScore); +S_API HAuthTicket SteamAPI_ISteamGameServer_GetAuthSessionTicket(intptr_t instancePtr, void * pTicket, int cbMaxTicket, uint32 * pcbTicket); +S_API EBeginAuthSessionResult SteamAPI_ISteamGameServer_BeginAuthSession(intptr_t instancePtr, const void * pAuthTicket, int cbAuthTicket, class CSteamID steamID); +S_API void SteamAPI_ISteamGameServer_EndAuthSession(intptr_t instancePtr, class CSteamID steamID); +S_API void SteamAPI_ISteamGameServer_CancelAuthTicket(intptr_t instancePtr, HAuthTicket hAuthTicket); +S_API EUserHasLicenseForAppResult SteamAPI_ISteamGameServer_UserHasLicenseForApp(intptr_t instancePtr, class CSteamID steamID, AppId_t appID); +S_API bool SteamAPI_ISteamGameServer_RequestUserGroupStatus(intptr_t instancePtr, class CSteamID steamIDUser, class CSteamID steamIDGroup); +S_API void SteamAPI_ISteamGameServer_GetGameplayStats(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_GetServerReputation(intptr_t instancePtr); +S_API uint32 SteamAPI_ISteamGameServer_GetPublicIP(intptr_t instancePtr); +S_API bool SteamAPI_ISteamGameServer_HandleIncomingPacket(intptr_t instancePtr, const void * pData, int cbData, uint32 srcIP, uint16 srcPort); +S_API int SteamAPI_ISteamGameServer_GetNextOutgoingPacket(intptr_t instancePtr, void * pOut, int cbMaxOut, uint32 * pNetAdr, uint16 * pPort); +S_API void SteamAPI_ISteamGameServer_EnableHeartbeats(intptr_t instancePtr, bool bActive); +S_API void SteamAPI_ISteamGameServer_SetHeartbeatInterval(intptr_t instancePtr, int iHeartbeatInterval); +S_API void SteamAPI_ISteamGameServer_ForceHeartbeat(intptr_t instancePtr); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_AssociateWithClan(intptr_t instancePtr, class CSteamID steamIDClan); +S_API SteamAPICall_t SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility(intptr_t instancePtr, class CSteamID steamIDNewPlayer); +S_API SteamAPICall_t SteamAPI_ISteamGameServerStats_RequestUserStats(intptr_t instancePtr, class CSteamID steamIDUser); +S_API bool SteamAPI_ISteamGameServerStats_GetUserStat(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, int32 * pData); +S_API bool SteamAPI_ISteamGameServerStats_GetUserStat0(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, float * pData); +S_API bool SteamAPI_ISteamGameServerStats_GetUserAchievement(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, bool * pbAchieved); +S_API bool SteamAPI_ISteamGameServerStats_SetUserStat(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, int32 nData); +S_API bool SteamAPI_ISteamGameServerStats_SetUserStat0(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, float fData); +S_API bool SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName, float flCountThisSession, double dSessionLength); +S_API bool SteamAPI_ISteamGameServerStats_SetUserAchievement(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName); +S_API bool SteamAPI_ISteamGameServerStats_ClearUserAchievement(intptr_t instancePtr, class CSteamID steamIDUser, const char * pchName); +S_API SteamAPICall_t SteamAPI_ISteamGameServerStats_StoreUserStats(intptr_t instancePtr, class CSteamID steamIDUser); +#endif // STEAMAPIFLAT_H + + diff --git a/source/Steamworks_xcode/Steamworks/Include/steam_api_internal.h b/source/Steamworks_xcode/Steamworks/Include/steam_api_internal.h new file mode 100644 index 0000000..f5e5721 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steam_api_internal.h @@ -0,0 +1,328 @@ +//====== Copyright 1996-2015, Valve Corporation, All rights reserved. ======= +// +// Purpose: Internal private Steamworks API declarations and definitions +// +//============================================================================= + +#ifndef STEAM_API_INTERNAL_H +#define STEAM_API_INTERNAL_H + +S_API HSteamUser SteamAPI_GetHSteamUser(); +S_API void * S_CALLTYPE SteamInternal_ContextInit( void *pContextInitData ); +S_API void * S_CALLTYPE SteamInternal_CreateInterface( const char *ver ); + +#if !defined( STEAM_API_EXPORTS ) + +inline void S_CALLTYPE SteamInternal_OnContextInit( void* p ) +{ + ((CSteamAPIContext*)p)->Clear(); + if ( SteamAPI_GetHSteamPipe() ) + ((CSteamAPIContext*)p)->Init(); +} +inline CSteamAPIContext& SteamInternal_ModuleContext() +{ + // SteamInternal_ContextInit takes a base pointer for the equivalent of + // struct { void (*pFn)(void* pCtx); uintp counter; CSteamAPIContext ctx; } + // Do not change layout of 2 + sizeof... or add non-pointer aligned data! + // NOTE: declaring "static CSteamAPIConext" creates a large function + // which queries the initialization status of the object. We know that + // it is pointer-aligned and fully memset with zeros, so just alias a + // static buffer of the appropriate size and call it a CSteamAPIContext. + static void* s_CallbackCounterAndContext[ 2 + sizeof(CSteamAPIContext)/sizeof(void*) ] = { (void*)&SteamInternal_OnContextInit, 0 }; + return *(CSteamAPIContext*)SteamInternal_ContextInit( s_CallbackCounterAndContext ); +} + +inline ISteamClient *SteamClient() { return SteamInternal_ModuleContext().SteamClient(); } +inline ISteamUser *SteamUser() { return SteamInternal_ModuleContext().SteamUser(); } +inline ISteamFriends *SteamFriends() { return SteamInternal_ModuleContext().SteamFriends(); } +inline ISteamUtils *SteamUtils() { return SteamInternal_ModuleContext().SteamUtils(); } +inline ISteamMatchmaking *SteamMatchmaking() { return SteamInternal_ModuleContext().SteamMatchmaking(); } +inline ISteamUserStats *SteamUserStats() { return SteamInternal_ModuleContext().SteamUserStats(); } +inline ISteamApps *SteamApps() { return SteamInternal_ModuleContext().SteamApps(); } +inline ISteamMatchmakingServers *SteamMatchmakingServers() { return SteamInternal_ModuleContext().SteamMatchmakingServers(); } +inline ISteamNetworking *SteamNetworking() { return SteamInternal_ModuleContext().SteamNetworking(); } +inline ISteamRemoteStorage *SteamRemoteStorage() { return SteamInternal_ModuleContext().SteamRemoteStorage(); } +inline ISteamScreenshots *SteamScreenshots() { return SteamInternal_ModuleContext().SteamScreenshots(); } +inline ISteamHTTP *SteamHTTP() { return SteamInternal_ModuleContext().SteamHTTP(); } +inline ISteamController *SteamController() { return SteamInternal_ModuleContext().SteamController(); } +inline ISteamUGC *SteamUGC() { return SteamInternal_ModuleContext().SteamUGC(); } +inline ISteamAppList *SteamAppList() { return SteamInternal_ModuleContext().SteamAppList(); } +inline ISteamMusic *SteamMusic() { return SteamInternal_ModuleContext().SteamMusic(); } +inline ISteamMusicRemote *SteamMusicRemote() { return SteamInternal_ModuleContext().SteamMusicRemote(); } +inline ISteamHTMLSurface *SteamHTMLSurface() { return SteamInternal_ModuleContext().SteamHTMLSurface(); } +inline ISteamInventory *SteamInventory() { return SteamInternal_ModuleContext().SteamInventory(); } +inline ISteamVideo *SteamVideo() { return SteamInternal_ModuleContext().SteamVideo(); } +inline ISteamParentalSettings *SteamParentalSettings() { return SteamInternal_ModuleContext().SteamParentalSettings(); } + +#endif // !defined( STEAM_API_EXPORTS ) + + +inline void CSteamAPIContext::Clear() +{ + m_pSteamClient = NULL; + m_pSteamUser = NULL; + m_pSteamFriends = NULL; + m_pSteamUtils = NULL; + m_pSteamMatchmaking = NULL; + m_pSteamUserStats = NULL; + m_pSteamApps = NULL; + m_pSteamMatchmakingServers = NULL; + m_pSteamNetworking = NULL; + m_pSteamRemoteStorage = NULL; + m_pSteamHTTP = NULL; + m_pSteamScreenshots = NULL; + m_pSteamMusic = NULL; + m_pController = NULL; + m_pSteamUGC = NULL; + m_pSteamAppList = NULL; + m_pSteamMusic = NULL; + m_pSteamMusicRemote = NULL; + m_pSteamHTMLSurface = NULL; + m_pSteamInventory = NULL; + m_pSteamVideo = NULL; + m_pSteamParentalSettings = NULL; +} + + +// This function must be declared inline in the header so the module using steam_api.dll gets the version names they want. +inline bool CSteamAPIContext::Init() +{ + HSteamUser hSteamUser = SteamAPI_GetHSteamUser(); + HSteamPipe hSteamPipe = SteamAPI_GetHSteamPipe(); + if ( !hSteamPipe ) + return false; + + m_pSteamClient = (ISteamClient*) SteamInternal_CreateInterface( STEAMCLIENT_INTERFACE_VERSION ); + if ( !m_pSteamClient ) + return false; + + m_pSteamUser = m_pSteamClient->GetISteamUser( hSteamUser, hSteamPipe, STEAMUSER_INTERFACE_VERSION ); + if ( !m_pSteamUser ) + return false; + + m_pSteamFriends = m_pSteamClient->GetISteamFriends( hSteamUser, hSteamPipe, STEAMFRIENDS_INTERFACE_VERSION ); + if ( !m_pSteamFriends ) + return false; + + m_pSteamUtils = m_pSteamClient->GetISteamUtils( hSteamPipe, STEAMUTILS_INTERFACE_VERSION ); + if ( !m_pSteamUtils ) + return false; + + m_pSteamMatchmaking = m_pSteamClient->GetISteamMatchmaking( hSteamUser, hSteamPipe, STEAMMATCHMAKING_INTERFACE_VERSION ); + if ( !m_pSteamMatchmaking ) + return false; + + m_pSteamMatchmakingServers = m_pSteamClient->GetISteamMatchmakingServers( hSteamUser, hSteamPipe, STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION ); + if ( !m_pSteamMatchmakingServers ) + return false; + + m_pSteamUserStats = m_pSteamClient->GetISteamUserStats( hSteamUser, hSteamPipe, STEAMUSERSTATS_INTERFACE_VERSION ); + if ( !m_pSteamUserStats ) + return false; + + m_pSteamApps = m_pSteamClient->GetISteamApps( hSteamUser, hSteamPipe, STEAMAPPS_INTERFACE_VERSION ); + if ( !m_pSteamApps ) + return false; + + m_pSteamNetworking = m_pSteamClient->GetISteamNetworking( hSteamUser, hSteamPipe, STEAMNETWORKING_INTERFACE_VERSION ); + if ( !m_pSteamNetworking ) + return false; + + m_pSteamRemoteStorage = m_pSteamClient->GetISteamRemoteStorage( hSteamUser, hSteamPipe, STEAMREMOTESTORAGE_INTERFACE_VERSION ); + if ( !m_pSteamRemoteStorage ) + return false; + + m_pSteamScreenshots = m_pSteamClient->GetISteamScreenshots( hSteamUser, hSteamPipe, STEAMSCREENSHOTS_INTERFACE_VERSION ); + if ( !m_pSteamScreenshots ) + return false; + + m_pSteamHTTP = m_pSteamClient->GetISteamHTTP( hSteamUser, hSteamPipe, STEAMHTTP_INTERFACE_VERSION ); + if ( !m_pSteamHTTP ) + return false; + + m_pController = m_pSteamClient->GetISteamController( hSteamUser, hSteamPipe, STEAMCONTROLLER_INTERFACE_VERSION ); + if ( !m_pController ) + return false; + + m_pSteamUGC = m_pSteamClient->GetISteamUGC( hSteamUser, hSteamPipe, STEAMUGC_INTERFACE_VERSION ); + if ( !m_pSteamUGC ) + return false; + + m_pSteamAppList = m_pSteamClient->GetISteamAppList( hSteamUser, hSteamPipe, STEAMAPPLIST_INTERFACE_VERSION ); + if ( !m_pSteamAppList ) + return false; + + m_pSteamMusic = m_pSteamClient->GetISteamMusic( hSteamUser, hSteamPipe, STEAMMUSIC_INTERFACE_VERSION ); + if ( !m_pSteamMusic ) + return false; + + m_pSteamMusicRemote = m_pSteamClient->GetISteamMusicRemote( hSteamUser, hSteamPipe, STEAMMUSICREMOTE_INTERFACE_VERSION ); + if ( !m_pSteamMusicRemote ) + return false; + + m_pSteamHTMLSurface = m_pSteamClient->GetISteamHTMLSurface( hSteamUser, hSteamPipe, STEAMHTMLSURFACE_INTERFACE_VERSION ); + if ( !m_pSteamHTMLSurface ) + return false; + + m_pSteamInventory = m_pSteamClient->GetISteamInventory( hSteamUser, hSteamPipe, STEAMINVENTORY_INTERFACE_VERSION ); + if ( !m_pSteamInventory ) + return false; + + m_pSteamVideo = m_pSteamClient->GetISteamVideo( hSteamUser, hSteamPipe, STEAMVIDEO_INTERFACE_VERSION ); + if ( !m_pSteamVideo ) + return false; + + m_pSteamParentalSettings = m_pSteamClient->GetISteamParentalSettings( hSteamUser, hSteamPipe, STEAMPARENTALSETTINGS_INTERFACE_VERSION ); + if ( !m_pSteamParentalSettings ) + return false; + + return true; +} + + +//----------------------------------------------------------------------------- +// The following macros are implementation details, not intended for public use +//----------------------------------------------------------------------------- +#define _STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) +#define _STEAM_CALLBACK_HELPER( _1, _2, SELECTED, ... ) _STEAM_CALLBACK_##SELECTED +#define _STEAM_CALLBACK_SELECT( X, Y ) _STEAM_CALLBACK_HELPER X Y +#define _STEAM_CALLBACK_3( extra_code, thisclass, func, param ) \ + struct CCallbackInternal_ ## func : private CCallbackImpl< sizeof( param ) > { \ + CCallbackInternal_ ## func () { extra_code SteamAPI_RegisterCallback( this, param::k_iCallback ); } \ + CCallbackInternal_ ## func ( const CCallbackInternal_ ## func & ) { extra_code SteamAPI_RegisterCallback( this, param::k_iCallback ); } \ + CCallbackInternal_ ## func & operator=( const CCallbackInternal_ ## func & ) { return *this; } \ + private: virtual void Run( void *pvParam ) { _STEAM_CALLBACK_AUTO_HOOK( thisclass, func, param ) \ + thisclass *pOuter = reinterpret_cast( reinterpret_cast(this) - offsetof( thisclass, m_steamcallback_ ## func ) ); \ + pOuter->func( reinterpret_cast( pvParam ) ); \ + } \ + } m_steamcallback_ ## func ; void func( param *pParam ) +#define _STEAM_CALLBACK_4( _, thisclass, func, param, var ) \ + CCallback< thisclass, param > var; void func( param *pParam ) + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam async call result to a class member function +// template params: T = local class, P = parameter struct +//----------------------------------------------------------------------------- +template< class T, class P > +inline CCallResult::CCallResult() +{ + m_hAPICall = k_uAPICallInvalid; + m_pObj = NULL; + m_Func = NULL; + m_iCallback = P::k_iCallback; +} + +template< class T, class P > +inline void CCallResult::Set( SteamAPICall_t hAPICall, T *p, func_t func ) +{ + if ( m_hAPICall ) + SteamAPI_UnregisterCallResult( this, m_hAPICall ); + + m_hAPICall = hAPICall; + m_pObj = p; + m_Func = func; + + if ( hAPICall ) + SteamAPI_RegisterCallResult( this, hAPICall ); +} + +template< class T, class P > +inline bool CCallResult::IsActive() const +{ + return (m_hAPICall != k_uAPICallInvalid); +} + +template< class T, class P > +inline void CCallResult::Cancel() +{ + if ( m_hAPICall != k_uAPICallInvalid ) + { + SteamAPI_UnregisterCallResult( this, m_hAPICall ); + m_hAPICall = k_uAPICallInvalid; + } + +} + +template< class T, class P > +inline CCallResult::~CCallResult() +{ + Cancel(); +} + +template< class T, class P > +inline void CCallResult::Run( void *pvParam ) +{ + m_hAPICall = k_uAPICallInvalid; // caller unregisters for us + (m_pObj->*m_Func)((P *)pvParam, false); +} + +template< class T, class P > +inline void CCallResult::Run( void *pvParam, bool bIOFailure, SteamAPICall_t hSteamAPICall ) +{ + if ( hSteamAPICall == m_hAPICall ) + { + m_hAPICall = k_uAPICallInvalid; // caller unregisters for us + (m_pObj->*m_Func)((P *)pvParam, bIOFailure); + } +} + + +//----------------------------------------------------------------------------- +// Purpose: maps a steam callback to a class member function +// template params: T = local class, P = parameter struct, +// bGameserver = listen for gameserver callbacks instead of client callbacks +//----------------------------------------------------------------------------- +template< class T, class P, bool bGameserver > +inline CCallback< T, P, bGameserver >::CCallback( T *pObj, func_t func ) + : m_pObj( NULL ), m_Func( NULL ) +{ + if ( bGameserver ) + { + this->SetGameserverFlag(); + } + Register( pObj, func ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Register( T *pObj, func_t func ) +{ + if ( !pObj || !func ) + return; + + if ( this->m_nCallbackFlags & CCallbackBase::k_ECallbackFlagsRegistered ) + Unregister(); + + m_pObj = pObj; + m_Func = func; + // SteamAPI_RegisterCallback sets k_ECallbackFlagsRegistered + SteamAPI_RegisterCallback( this, P::k_iCallback ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Unregister() +{ + // SteamAPI_UnregisterCallback removes k_ECallbackFlagsRegistered + SteamAPI_UnregisterCallback( this ); +} + +template< class T, class P, bool bGameserver > +inline void CCallback< T, P, bGameserver >::Run( void *pvParam ) +{ + (m_pObj->*m_Func)((P *)pvParam); +} + + +#if defined(USE_BREAKPAD_HANDLER) || defined(STEAM_API_EXPORTS) +// this should be called before the game initialized the steam APIs +// pchDate should be of the format "Mmm dd yyyy" (such as from the __ DATE __ macro ) +// pchTime should be of the format "hh:mm:ss" (such as from the __ TIME __ macro ) +// bFullMemoryDumps (Win32 only) -- writes out a uuid-full.dmp in the client/dumps folder +// pvContext-- can be NULL, will be the void * context passed into m_pfnPreMinidumpCallback +// PFNPreMinidumpCallback m_pfnPreMinidumpCallback -- optional callback which occurs just before a .dmp file is written during a crash. Applications can hook this to allow adding additional information into the .dmp comment stream. +S_API void S_CALLTYPE SteamAPI_UseBreakpadCrashHandler( char const *pchVersion, char const *pchDate, char const *pchTime, bool bFullMemoryDumps, void *pvContext, PFNPreMinidumpCallback m_pfnPreMinidumpCallback ); +S_API void S_CALLTYPE SteamAPI_SetBreakpadAppID( uint32 unAppID ); +#endif + + +#endif // STEAM_API_INTERNAL_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steam_api_interop.cs b/source/Steamworks_xcode/Steamworks/Include/steam_api_interop.cs new file mode 100644 index 0000000..eb8721c --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steam_api_interop.cs @@ -0,0 +1,11339 @@ +//====== Copyright 1996-2016, Valve Corporation, All rights reserved. ======= +// +// Purpose: This file contains C#/managed code bindings for the SteamAPI interfaces +// This file is auto-generated, do not edit it. +// +//============================================================================= + +using System; +using System.Runtime.InteropServices; +using Valve.Steamworks; +using Valve.Interop; + +namespace Valve.Interop +{ + +public class NativeEntrypoints +{ + + +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_CreateSteamPipe")] +internal static extern uint SteamAPI_ISteamClient_CreateSteamPipe(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_BReleaseSteamPipe")] +internal static extern bool SteamAPI_ISteamClient_BReleaseSteamPipe(IntPtr instancePtr, uint hSteamPipe); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_ConnectToGlobalUser")] +internal static extern uint SteamAPI_ISteamClient_ConnectToGlobalUser(IntPtr instancePtr, uint hSteamPipe); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_CreateLocalUser")] +internal static extern uint SteamAPI_ISteamClient_CreateLocalUser(IntPtr instancePtr, ref uint phSteamPipe, uint eAccountType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_ReleaseUser")] +internal static extern void SteamAPI_ISteamClient_ReleaseUser(IntPtr instancePtr, uint hSteamPipe, uint hUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamUser")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamUser(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamGameServer")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamGameServer(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_SetLocalIPBinding")] +internal static extern void SteamAPI_ISteamClient_SetLocalIPBinding(IntPtr instancePtr, uint unIP, char usPort); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamFriends")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamFriends(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamUtils")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamUtils(IntPtr instancePtr, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamMatchmaking")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamMatchmaking(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamMatchmakingServers")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamMatchmakingServers(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamGenericInterface")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamGenericInterface(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamUserStats")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamUserStats(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamGameServerStats")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamGameServerStats(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamApps")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamApps(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamNetworking")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamNetworking(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamRemoteStorage")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamRemoteStorage(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamScreenshots")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamScreenshots(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetIPCCallCount")] +internal static extern uint SteamAPI_ISteamClient_GetIPCCallCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_SetWarningMessageHook")] +internal static extern void SteamAPI_ISteamClient_SetWarningMessageHook(IntPtr instancePtr, IntPtr pFunction); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_BShutdownIfAllPipesClosed")] +internal static extern bool SteamAPI_ISteamClient_BShutdownIfAllPipesClosed(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamHTTP")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamHTTP(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamController")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamController(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamUGC")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamUGC(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamAppList")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamAppList(IntPtr instancePtr, uint hSteamUser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamMusic")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamMusic(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamMusicRemote")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamMusicRemote(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamHTMLSurface")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamHTMLSurface(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamInventory")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamInventory(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamVideo")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamVideo(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamClient_GetISteamParentalSettings")] +internal static extern IntPtr SteamAPI_ISteamClient_GetISteamParentalSettings(IntPtr instancePtr, uint hSteamuser, uint hSteamPipe, string pchVersion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetHSteamUser")] +internal static extern uint SteamAPI_ISteamUser_GetHSteamUser(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BLoggedOn")] +internal static extern bool SteamAPI_ISteamUser_BLoggedOn(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetSteamID")] +internal static extern ulong SteamAPI_ISteamUser_GetSteamID(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_InitiateGameConnection")] +internal static extern int SteamAPI_ISteamUser_InitiateGameConnection(IntPtr instancePtr, IntPtr pAuthBlob, int cbMaxAuthBlob, ulong steamIDGameServer, uint unIPServer, char usPortServer, bool bSecure); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_TerminateGameConnection")] +internal static extern void SteamAPI_ISteamUser_TerminateGameConnection(IntPtr instancePtr, uint unIPServer, char usPortServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_TrackAppUsageEvent")] +internal static extern void SteamAPI_ISteamUser_TrackAppUsageEvent(IntPtr instancePtr, ulong gameID, int eAppUsageEvent, string pchExtraInfo); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetUserDataFolder")] +internal static extern bool SteamAPI_ISteamUser_GetUserDataFolder(IntPtr instancePtr, string pchBuffer, int cubBuffer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_StartVoiceRecording")] +internal static extern void SteamAPI_ISteamUser_StartVoiceRecording(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_StopVoiceRecording")] +internal static extern void SteamAPI_ISteamUser_StopVoiceRecording(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetAvailableVoice")] +internal static extern uint SteamAPI_ISteamUser_GetAvailableVoice(IntPtr instancePtr, ref uint pcbCompressed, ref uint pcbUncompressed_Deprecated, uint nUncompressedVoiceDesiredSampleRate_Deprecated); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetVoice")] +internal static extern uint SteamAPI_ISteamUser_GetVoice(IntPtr instancePtr, bool bWantCompressed, IntPtr pDestBuffer, uint cbDestBufferSize, ref uint nBytesWritten, bool bWantUncompressed_Deprecated, IntPtr pUncompressedDestBuffer_Deprecated, uint cbUncompressedDestBufferSize_Deprecated, ref uint nUncompressBytesWritten_Deprecated, uint nUncompressedVoiceDesiredSampleRate_Deprecated); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_DecompressVoice")] +internal static extern uint SteamAPI_ISteamUser_DecompressVoice(IntPtr instancePtr, IntPtr pCompressed, uint cbCompressed, IntPtr pDestBuffer, uint cbDestBufferSize, ref uint nBytesWritten, uint nDesiredSampleRate); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetVoiceOptimalSampleRate")] +internal static extern uint SteamAPI_ISteamUser_GetVoiceOptimalSampleRate(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetAuthSessionTicket")] +internal static extern uint SteamAPI_ISteamUser_GetAuthSessionTicket(IntPtr instancePtr, IntPtr pTicket, int cbMaxTicket, ref uint pcbTicket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BeginAuthSession")] +internal static extern uint SteamAPI_ISteamUser_BeginAuthSession(IntPtr instancePtr, IntPtr pAuthTicket, int cbAuthTicket, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_EndAuthSession")] +internal static extern void SteamAPI_ISteamUser_EndAuthSession(IntPtr instancePtr, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_CancelAuthTicket")] +internal static extern void SteamAPI_ISteamUser_CancelAuthTicket(IntPtr instancePtr, uint hAuthTicket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_UserHasLicenseForApp")] +internal static extern uint SteamAPI_ISteamUser_UserHasLicenseForApp(IntPtr instancePtr, ulong steamID, uint appID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BIsBehindNAT")] +internal static extern bool SteamAPI_ISteamUser_BIsBehindNAT(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_AdvertiseGame")] +internal static extern void SteamAPI_ISteamUser_AdvertiseGame(IntPtr instancePtr, ulong steamIDGameServer, uint unIPServer, char usPortServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_RequestEncryptedAppTicket")] +internal static extern ulong SteamAPI_ISteamUser_RequestEncryptedAppTicket(IntPtr instancePtr, IntPtr pDataToInclude, int cbDataToInclude); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetEncryptedAppTicket")] +internal static extern bool SteamAPI_ISteamUser_GetEncryptedAppTicket(IntPtr instancePtr, IntPtr pTicket, int cbMaxTicket, ref uint pcbTicket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetGameBadgeLevel")] +internal static extern int SteamAPI_ISteamUser_GetGameBadgeLevel(IntPtr instancePtr, int nSeries, bool bFoil); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_GetPlayerSteamLevel")] +internal static extern int SteamAPI_ISteamUser_GetPlayerSteamLevel(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_RequestStoreAuthURL")] +internal static extern ulong SteamAPI_ISteamUser_RequestStoreAuthURL(IntPtr instancePtr, string pchRedirectURL); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BIsPhoneVerified")] +internal static extern bool SteamAPI_ISteamUser_BIsPhoneVerified(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BIsTwoFactorEnabled")] +internal static extern bool SteamAPI_ISteamUser_BIsTwoFactorEnabled(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BIsPhoneIdentifying")] +internal static extern bool SteamAPI_ISteamUser_BIsPhoneIdentifying(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUser_BIsPhoneRequiringVerification")] +internal static extern bool SteamAPI_ISteamUser_BIsPhoneRequiringVerification(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetPersonaName")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetPersonaName(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SetPersonaName")] +internal static extern ulong SteamAPI_ISteamFriends_SetPersonaName(IntPtr instancePtr, string pchPersonaName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetPersonaState")] +internal static extern uint SteamAPI_ISteamFriends_GetPersonaState(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendCount")] +internal static extern int SteamAPI_ISteamFriends_GetFriendCount(IntPtr instancePtr, int iFriendFlags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendByIndex")] +internal static extern ulong SteamAPI_ISteamFriends_GetFriendByIndex(IntPtr instancePtr, int iFriend, int iFriendFlags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendRelationship")] +internal static extern uint SteamAPI_ISteamFriends_GetFriendRelationship(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendPersonaState")] +internal static extern uint SteamAPI_ISteamFriends_GetFriendPersonaState(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendPersonaName")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetFriendPersonaName(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendGamePlayed")] +internal static extern bool SteamAPI_ISteamFriends_GetFriendGamePlayed(IntPtr instancePtr, ulong steamIDFriend, ref FriendGameInfo_t pFriendGameInfo); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendPersonaNameHistory")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetFriendPersonaNameHistory(IntPtr instancePtr, ulong steamIDFriend, int iPersonaName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendSteamLevel")] +internal static extern int SteamAPI_ISteamFriends_GetFriendSteamLevel(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetPlayerNickname")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetPlayerNickname(IntPtr instancePtr, ulong steamIDPlayer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendsGroupCount")] +internal static extern int SteamAPI_ISteamFriends_GetFriendsGroupCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex")] +internal static extern char SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex(IntPtr instancePtr, int iFG); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendsGroupName")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetFriendsGroupName(IntPtr instancePtr, char friendsGroupID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendsGroupMembersCount")] +internal static extern int SteamAPI_ISteamFriends_GetFriendsGroupMembersCount(IntPtr instancePtr, char friendsGroupID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendsGroupMembersList")] +internal static extern void SteamAPI_ISteamFriends_GetFriendsGroupMembersList(IntPtr instancePtr, char friendsGroupID, [In, Out] CSteamID[] pOutSteamIDMembers, int nMembersCount); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_HasFriend")] +internal static extern bool SteamAPI_ISteamFriends_HasFriend(IntPtr instancePtr, ulong steamIDFriend, int iFriendFlags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanCount")] +internal static extern int SteamAPI_ISteamFriends_GetClanCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanByIndex")] +internal static extern ulong SteamAPI_ISteamFriends_GetClanByIndex(IntPtr instancePtr, int iClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanName")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetClanName(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanTag")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetClanTag(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanActivityCounts")] +internal static extern bool SteamAPI_ISteamFriends_GetClanActivityCounts(IntPtr instancePtr, ulong steamIDClan, ref int pnOnline, ref int pnInGame, ref int pnChatting); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_DownloadClanActivityCounts")] +internal static extern ulong SteamAPI_ISteamFriends_DownloadClanActivityCounts(IntPtr instancePtr, [In, Out] CSteamID[] psteamIDClans, int cClansToRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendCountFromSource")] +internal static extern int SteamAPI_ISteamFriends_GetFriendCountFromSource(IntPtr instancePtr, ulong steamIDSource); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendFromSourceByIndex")] +internal static extern ulong SteamAPI_ISteamFriends_GetFriendFromSourceByIndex(IntPtr instancePtr, ulong steamIDSource, int iFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_IsUserInSource")] +internal static extern bool SteamAPI_ISteamFriends_IsUserInSource(IntPtr instancePtr, ulong steamIDUser, ulong steamIDSource); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SetInGameVoiceSpeaking")] +internal static extern void SteamAPI_ISteamFriends_SetInGameVoiceSpeaking(IntPtr instancePtr, ulong steamIDUser, bool bSpeaking); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ActivateGameOverlay")] +internal static extern void SteamAPI_ISteamFriends_ActivateGameOverlay(IntPtr instancePtr, string pchDialog); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ActivateGameOverlayToUser")] +internal static extern void SteamAPI_ISteamFriends_ActivateGameOverlayToUser(IntPtr instancePtr, string pchDialog, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage")] +internal static extern void SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage(IntPtr instancePtr, string pchURL); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ActivateGameOverlayToStore")] +internal static extern void SteamAPI_ISteamFriends_ActivateGameOverlayToStore(IntPtr instancePtr, uint nAppID, char eFlag); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SetPlayedWith")] +internal static extern void SteamAPI_ISteamFriends_SetPlayedWith(IntPtr instancePtr, ulong steamIDUserPlayedWith); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog")] +internal static extern void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetSmallFriendAvatar")] +internal static extern int SteamAPI_ISteamFriends_GetSmallFriendAvatar(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetMediumFriendAvatar")] +internal static extern int SteamAPI_ISteamFriends_GetMediumFriendAvatar(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetLargeFriendAvatar")] +internal static extern int SteamAPI_ISteamFriends_GetLargeFriendAvatar(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_RequestUserInformation")] +internal static extern bool SteamAPI_ISteamFriends_RequestUserInformation(IntPtr instancePtr, ulong steamIDUser, bool bRequireNameOnly); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_RequestClanOfficerList")] +internal static extern ulong SteamAPI_ISteamFriends_RequestClanOfficerList(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanOwner")] +internal static extern ulong SteamAPI_ISteamFriends_GetClanOwner(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanOfficerCount")] +internal static extern int SteamAPI_ISteamFriends_GetClanOfficerCount(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanOfficerByIndex")] +internal static extern ulong SteamAPI_ISteamFriends_GetClanOfficerByIndex(IntPtr instancePtr, ulong steamIDClan, int iOfficer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetUserRestrictions")] +internal static extern uint SteamAPI_ISteamFriends_GetUserRestrictions(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SetRichPresence")] +internal static extern bool SteamAPI_ISteamFriends_SetRichPresence(IntPtr instancePtr, string pchKey, string pchValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ClearRichPresence")] +internal static extern void SteamAPI_ISteamFriends_ClearRichPresence(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendRichPresence")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetFriendRichPresence(IntPtr instancePtr, ulong steamIDFriend, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount")] +internal static extern int SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex")] +internal static extern IntPtr SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex(IntPtr instancePtr, ulong steamIDFriend, int iKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_RequestFriendRichPresence")] +internal static extern void SteamAPI_ISteamFriends_RequestFriendRichPresence(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_InviteUserToGame")] +internal static extern bool SteamAPI_ISteamFriends_InviteUserToGame(IntPtr instancePtr, ulong steamIDFriend, string pchConnectString); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetCoplayFriendCount")] +internal static extern int SteamAPI_ISteamFriends_GetCoplayFriendCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetCoplayFriend")] +internal static extern ulong SteamAPI_ISteamFriends_GetCoplayFriend(IntPtr instancePtr, int iCoplayFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendCoplayTime")] +internal static extern int SteamAPI_ISteamFriends_GetFriendCoplayTime(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendCoplayGame")] +internal static extern uint SteamAPI_ISteamFriends_GetFriendCoplayGame(IntPtr instancePtr, ulong steamIDFriend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_JoinClanChatRoom")] +internal static extern ulong SteamAPI_ISteamFriends_JoinClanChatRoom(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_LeaveClanChatRoom")] +internal static extern bool SteamAPI_ISteamFriends_LeaveClanChatRoom(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanChatMemberCount")] +internal static extern int SteamAPI_ISteamFriends_GetClanChatMemberCount(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetChatMemberByIndex")] +internal static extern ulong SteamAPI_ISteamFriends_GetChatMemberByIndex(IntPtr instancePtr, ulong steamIDClan, int iUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SendClanChatMessage")] +internal static extern bool SteamAPI_ISteamFriends_SendClanChatMessage(IntPtr instancePtr, ulong steamIDClanChat, string pchText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetClanChatMessage")] +internal static extern int SteamAPI_ISteamFriends_GetClanChatMessage(IntPtr instancePtr, ulong steamIDClanChat, int iMessage, IntPtr prgchText, int cchTextMax, ref uint peChatEntryType, ref CSteamID psteamidChatter); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_IsClanChatAdmin")] +internal static extern bool SteamAPI_ISteamFriends_IsClanChatAdmin(IntPtr instancePtr, ulong steamIDClanChat, ulong steamIDUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam")] +internal static extern bool SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam(IntPtr instancePtr, ulong steamIDClanChat); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_OpenClanChatWindowInSteam")] +internal static extern bool SteamAPI_ISteamFriends_OpenClanChatWindowInSteam(IntPtr instancePtr, ulong steamIDClanChat); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_CloseClanChatWindowInSteam")] +internal static extern bool SteamAPI_ISteamFriends_CloseClanChatWindowInSteam(IntPtr instancePtr, ulong steamIDClanChat); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_SetListenForFriendsMessages")] +internal static extern bool SteamAPI_ISteamFriends_SetListenForFriendsMessages(IntPtr instancePtr, bool bInterceptEnabled); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_ReplyToFriendMessage")] +internal static extern bool SteamAPI_ISteamFriends_ReplyToFriendMessage(IntPtr instancePtr, ulong steamIDFriend, string pchMsgToSend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFriendMessage")] +internal static extern int SteamAPI_ISteamFriends_GetFriendMessage(IntPtr instancePtr, ulong steamIDFriend, int iMessageID, IntPtr pvData, int cubData, ref uint peChatEntryType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_GetFollowerCount")] +internal static extern ulong SteamAPI_ISteamFriends_GetFollowerCount(IntPtr instancePtr, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_IsFollowing")] +internal static extern ulong SteamAPI_ISteamFriends_IsFollowing(IntPtr instancePtr, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_EnumerateFollowingList")] +internal static extern ulong SteamAPI_ISteamFriends_EnumerateFollowingList(IntPtr instancePtr, uint unStartIndex); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_IsClanPublic")] +internal static extern bool SteamAPI_ISteamFriends_IsClanPublic(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamFriends_IsClanOfficialGameGroup")] +internal static extern bool SteamAPI_ISteamFriends_IsClanOfficialGameGroup(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetSecondsSinceAppActive")] +internal static extern uint SteamAPI_ISteamUtils_GetSecondsSinceAppActive(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetSecondsSinceComputerActive")] +internal static extern uint SteamAPI_ISteamUtils_GetSecondsSinceComputerActive(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetConnectedUniverse")] +internal static extern int SteamAPI_ISteamUtils_GetConnectedUniverse(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetServerRealTime")] +internal static extern uint SteamAPI_ISteamUtils_GetServerRealTime(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetIPCountry")] +internal static extern IntPtr SteamAPI_ISteamUtils_GetIPCountry(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetImageSize")] +internal static extern bool SteamAPI_ISteamUtils_GetImageSize(IntPtr instancePtr, int iImage, ref uint pnWidth, ref uint pnHeight); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetImageRGBA")] +internal static extern bool SteamAPI_ISteamUtils_GetImageRGBA(IntPtr instancePtr, int iImage, IntPtr pubDest, int nDestBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetCSERIPPort")] +internal static extern bool SteamAPI_ISteamUtils_GetCSERIPPort(IntPtr instancePtr, ref uint unIP, ref char usPort); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetCurrentBatteryPower")] +internal static extern byte SteamAPI_ISteamUtils_GetCurrentBatteryPower(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetAppID")] +internal static extern uint SteamAPI_ISteamUtils_GetAppID(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_SetOverlayNotificationPosition")] +internal static extern void SteamAPI_ISteamUtils_SetOverlayNotificationPosition(IntPtr instancePtr, uint eNotificationPosition); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_IsAPICallCompleted")] +internal static extern bool SteamAPI_ISteamUtils_IsAPICallCompleted(IntPtr instancePtr, ulong hSteamAPICall, ref bool pbFailed); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetAPICallFailureReason")] +internal static extern int SteamAPI_ISteamUtils_GetAPICallFailureReason(IntPtr instancePtr, ulong hSteamAPICall); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetAPICallResult")] +internal static extern bool SteamAPI_ISteamUtils_GetAPICallResult(IntPtr instancePtr, ulong hSteamAPICall, IntPtr pCallback, int cubCallback, int iCallbackExpected, ref bool pbFailed); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetIPCCallCount")] +internal static extern uint SteamAPI_ISteamUtils_GetIPCCallCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_SetWarningMessageHook")] +internal static extern void SteamAPI_ISteamUtils_SetWarningMessageHook(IntPtr instancePtr, IntPtr pFunction); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_IsOverlayEnabled")] +internal static extern bool SteamAPI_ISteamUtils_IsOverlayEnabled(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_BOverlayNeedsPresent")] +internal static extern bool SteamAPI_ISteamUtils_BOverlayNeedsPresent(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_CheckFileSignature")] +internal static extern ulong SteamAPI_ISteamUtils_CheckFileSignature(IntPtr instancePtr, string szFileName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_ShowGamepadTextInput")] +internal static extern bool SteamAPI_ISteamUtils_ShowGamepadTextInput(IntPtr instancePtr, int eInputMode, int eLineInputMode, string pchDescription, uint unCharMax, string pchExistingText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetEnteredGamepadTextLength")] +internal static extern uint SteamAPI_ISteamUtils_GetEnteredGamepadTextLength(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetEnteredGamepadTextInput")] +internal static extern bool SteamAPI_ISteamUtils_GetEnteredGamepadTextInput(IntPtr instancePtr, string pchText, uint cchText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_GetSteamUILanguage")] +internal static extern IntPtr SteamAPI_ISteamUtils_GetSteamUILanguage(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_IsSteamRunningInVR")] +internal static extern bool SteamAPI_ISteamUtils_IsSteamRunningInVR(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_SetOverlayNotificationInset")] +internal static extern void SteamAPI_ISteamUtils_SetOverlayNotificationInset(IntPtr instancePtr, int nHorizontalInset, int nVerticalInset); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_IsSteamInBigPictureMode")] +internal static extern bool SteamAPI_ISteamUtils_IsSteamInBigPictureMode(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_StartVRDashboard")] +internal static extern void SteamAPI_ISteamUtils_StartVRDashboard(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled")] +internal static extern bool SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled")] +internal static extern void SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled(IntPtr instancePtr, bool bEnabled); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetFavoriteGameCount")] +internal static extern int SteamAPI_ISteamMatchmaking_GetFavoriteGameCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetFavoriteGame")] +internal static extern bool SteamAPI_ISteamMatchmaking_GetFavoriteGame(IntPtr instancePtr, int iGame, ref uint pnAppID, ref uint pnIP, ref char pnConnPort, ref char pnQueryPort, ref uint punFlags, ref uint pRTime32LastPlayedOnServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddFavoriteGame")] +internal static extern int SteamAPI_ISteamMatchmaking_AddFavoriteGame(IntPtr instancePtr, uint nAppID, uint nIP, char nConnPort, char nQueryPort, uint unFlags, uint rTime32LastPlayedOnServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_RemoveFavoriteGame")] +internal static extern bool SteamAPI_ISteamMatchmaking_RemoveFavoriteGame(IntPtr instancePtr, uint nAppID, uint nIP, char nConnPort, char nQueryPort, uint unFlags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_RequestLobbyList")] +internal static extern ulong SteamAPI_ISteamMatchmaking_RequestLobbyList(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter(IntPtr instancePtr, string pchKeyToMatch, string pchValueToMatch, uint eComparisonType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter(IntPtr instancePtr, string pchKeyToMatch, int nValueToMatch, uint eComparisonType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter(IntPtr instancePtr, string pchKeyToMatch, int nValueToBeCloseTo); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable(IntPtr instancePtr, int nSlotsAvailable); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter(IntPtr instancePtr, uint eLobbyDistanceFilter); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter(IntPtr instancePtr, int cMaxResults); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter")] +internal static extern void SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyByIndex")] +internal static extern ulong SteamAPI_ISteamMatchmaking_GetLobbyByIndex(IntPtr instancePtr, int iLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_CreateLobby")] +internal static extern ulong SteamAPI_ISteamMatchmaking_CreateLobby(IntPtr instancePtr, uint eLobbyType, int cMaxMembers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_JoinLobby")] +internal static extern ulong SteamAPI_ISteamMatchmaking_JoinLobby(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_LeaveLobby")] +internal static extern void SteamAPI_ISteamMatchmaking_LeaveLobby(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_InviteUserToLobby")] +internal static extern bool SteamAPI_ISteamMatchmaking_InviteUserToLobby(IntPtr instancePtr, ulong steamIDLobby, ulong steamIDInvitee); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetNumLobbyMembers")] +internal static extern int SteamAPI_ISteamMatchmaking_GetNumLobbyMembers(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex")] +internal static extern ulong SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex(IntPtr instancePtr, ulong steamIDLobby, int iMember); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyData")] +internal static extern IntPtr SteamAPI_ISteamMatchmaking_GetLobbyData(IntPtr instancePtr, ulong steamIDLobby, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyData")] +internal static extern bool SteamAPI_ISteamMatchmaking_SetLobbyData(IntPtr instancePtr, ulong steamIDLobby, string pchKey, string pchValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyDataCount")] +internal static extern int SteamAPI_ISteamMatchmaking_GetLobbyDataCount(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex")] +internal static extern bool SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex(IntPtr instancePtr, ulong steamIDLobby, int iLobbyData, string pchKey, int cchKeyBufferSize, string pchValue, int cchValueBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_DeleteLobbyData")] +internal static extern bool SteamAPI_ISteamMatchmaking_DeleteLobbyData(IntPtr instancePtr, ulong steamIDLobby, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyMemberData")] +internal static extern IntPtr SteamAPI_ISteamMatchmaking_GetLobbyMemberData(IntPtr instancePtr, ulong steamIDLobby, ulong steamIDUser, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyMemberData")] +internal static extern void SteamAPI_ISteamMatchmaking_SetLobbyMemberData(IntPtr instancePtr, ulong steamIDLobby, string pchKey, string pchValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SendLobbyChatMsg")] +internal static extern bool SteamAPI_ISteamMatchmaking_SendLobbyChatMsg(IntPtr instancePtr, ulong steamIDLobby, IntPtr pvMsgBody, int cubMsgBody); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyChatEntry")] +internal static extern int SteamAPI_ISteamMatchmaking_GetLobbyChatEntry(IntPtr instancePtr, ulong steamIDLobby, int iChatID, ref CSteamID pSteamIDUser, IntPtr pvData, int cubData, ref uint peChatEntryType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_RequestLobbyData")] +internal static extern bool SteamAPI_ISteamMatchmaking_RequestLobbyData(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyGameServer")] +internal static extern void SteamAPI_ISteamMatchmaking_SetLobbyGameServer(IntPtr instancePtr, ulong steamIDLobby, uint unGameServerIP, char unGameServerPort, ulong steamIDGameServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyGameServer")] +internal static extern bool SteamAPI_ISteamMatchmaking_GetLobbyGameServer(IntPtr instancePtr, ulong steamIDLobby, ref uint punGameServerIP, ref char punGameServerPort, ref CSteamID psteamIDGameServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit")] +internal static extern bool SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit(IntPtr instancePtr, ulong steamIDLobby, int cMaxMembers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit")] +internal static extern int SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyType")] +internal static extern bool SteamAPI_ISteamMatchmaking_SetLobbyType(IntPtr instancePtr, ulong steamIDLobby, uint eLobbyType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyJoinable")] +internal static extern bool SteamAPI_ISteamMatchmaking_SetLobbyJoinable(IntPtr instancePtr, ulong steamIDLobby, bool bLobbyJoinable); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_GetLobbyOwner")] +internal static extern ulong SteamAPI_ISteamMatchmaking_GetLobbyOwner(IntPtr instancePtr, ulong steamIDLobby); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLobbyOwner")] +internal static extern bool SteamAPI_ISteamMatchmaking_SetLobbyOwner(IntPtr instancePtr, ulong steamIDLobby, ulong steamIDNewOwner); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmaking_SetLinkedLobby")] +internal static extern bool SteamAPI_ISteamMatchmaking_SetLinkedLobby(IntPtr instancePtr, ulong steamIDLobby, ulong steamIDLobbyDependent); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded")] +internal static extern void SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded(IntPtr instancePtr, uint hRequest, int iServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond")] +internal static extern void SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond(IntPtr instancePtr, uint hRequest, int iServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete")] +internal static extern void SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete(IntPtr instancePtr, uint hRequest, uint response); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingPingResponse_ServerResponded")] +internal static extern void SteamAPI_ISteamMatchmakingPingResponse_ServerResponded(IntPtr instancePtr, IntPtr server); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond")] +internal static extern void SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList")] +internal static extern void SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList(IntPtr instancePtr, string pchName, int nScore, float flTimePlayed); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond")] +internal static extern void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete")] +internal static extern void SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded")] +internal static extern void SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded(IntPtr instancePtr, string pchRule, string pchValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond")] +internal static extern void SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete")] +internal static extern void SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RequestInternetServerList")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_RequestInternetServerList(IntPtr instancePtr, uint iApp, [In, Out] IntPtr[] ppchFilters, uint nFilters, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RequestLANServerList")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_RequestLANServerList(IntPtr instancePtr, uint iApp, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList(IntPtr instancePtr, uint iApp, [In, Out] IntPtr[] ppchFilters, uint nFilters, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList(IntPtr instancePtr, uint iApp, [In, Out] IntPtr[] ppchFilters, uint nFilters, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList(IntPtr instancePtr, uint iApp, [In, Out] IntPtr[] ppchFilters, uint nFilters, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList(IntPtr instancePtr, uint iApp, [In, Out] IntPtr[] ppchFilters, uint nFilters, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_ReleaseRequest")] +internal static extern void SteamAPI_ISteamMatchmakingServers_ReleaseRequest(IntPtr instancePtr, uint hServerListRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_GetServerDetails")] +internal static extern IntPtr SteamAPI_ISteamMatchmakingServers_GetServerDetails(IntPtr instancePtr, uint hRequest, int iServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_CancelQuery")] +internal static extern void SteamAPI_ISteamMatchmakingServers_CancelQuery(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RefreshQuery")] +internal static extern void SteamAPI_ISteamMatchmakingServers_RefreshQuery(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_IsRefreshing")] +internal static extern bool SteamAPI_ISteamMatchmakingServers_IsRefreshing(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_GetServerCount")] +internal static extern int SteamAPI_ISteamMatchmakingServers_GetServerCount(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_RefreshServer")] +internal static extern void SteamAPI_ISteamMatchmakingServers_RefreshServer(IntPtr instancePtr, uint hRequest, int iServer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_PingServer")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_PingServer(IntPtr instancePtr, uint unIP, char usPort, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_PlayerDetails")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_PlayerDetails(IntPtr instancePtr, uint unIP, char usPort, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_ServerRules")] +internal static extern uint SteamAPI_ISteamMatchmakingServers_ServerRules(IntPtr instancePtr, uint unIP, char usPort, IntPtr pRequestServersResponse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMatchmakingServers_CancelServerQuery")] +internal static extern void SteamAPI_ISteamMatchmakingServers_CancelServerQuery(IntPtr instancePtr, uint hServerQuery); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileWrite")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileWrite(IntPtr instancePtr, string pchFile, IntPtr pvData, int cubData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileRead")] +internal static extern int SteamAPI_ISteamRemoteStorage_FileRead(IntPtr instancePtr, string pchFile, IntPtr pvData, int cubDataToRead); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileWriteAsync")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_FileWriteAsync(IntPtr instancePtr, string pchFile, IntPtr pvData, uint cubData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileReadAsync")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_FileReadAsync(IntPtr instancePtr, string pchFile, uint nOffset, uint cubToRead); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete(IntPtr instancePtr, ulong hReadCall, IntPtr pvBuffer, uint cubToRead); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileForget")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileForget(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileDelete")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileDelete(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileShare")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_FileShare(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_SetSyncPlatforms")] +internal static extern bool SteamAPI_ISteamRemoteStorage_SetSyncPlatforms(IntPtr instancePtr, string pchFile, uint eRemoteStoragePlatform); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk(IntPtr instancePtr, ulong writeHandle, IntPtr pvData, int cubData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileWriteStreamClose")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileWriteStreamClose(IntPtr instancePtr, ulong writeHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel(IntPtr instancePtr, ulong writeHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FileExists")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FileExists(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_FilePersisted")] +internal static extern bool SteamAPI_ISteamRemoteStorage_FilePersisted(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetFileSize")] +internal static extern int SteamAPI_ISteamRemoteStorage_GetFileSize(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetFileTimestamp")] +internal static extern long SteamAPI_ISteamRemoteStorage_GetFileTimestamp(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetSyncPlatforms")] +internal static extern uint SteamAPI_ISteamRemoteStorage_GetSyncPlatforms(IntPtr instancePtr, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetFileCount")] +internal static extern int SteamAPI_ISteamRemoteStorage_GetFileCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetFileNameAndSize")] +internal static extern IntPtr SteamAPI_ISteamRemoteStorage_GetFileNameAndSize(IntPtr instancePtr, int iFile, ref int pnFileSizeInBytes); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetQuota")] +internal static extern bool SteamAPI_ISteamRemoteStorage_GetQuota(IntPtr instancePtr, ref ulong pnTotalBytes, ref ulong puAvailableBytes); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount")] +internal static extern bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp")] +internal static extern bool SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp")] +internal static extern void SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp(IntPtr instancePtr, bool bEnabled); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UGCDownload")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_UGCDownload(IntPtr instancePtr, ulong hContent, uint unPriority); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress")] +internal static extern bool SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress(IntPtr instancePtr, ulong hContent, ref int pnBytesDownloaded, ref int pnBytesExpected); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetUGCDetails")] +internal static extern bool SteamAPI_ISteamRemoteStorage_GetUGCDetails(IntPtr instancePtr, ulong hContent, ref uint pnAppID, System.Text.StringBuilder ppchName, ref int pnFileSizeInBytes, ref CSteamID pSteamIDOwner); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UGCRead")] +internal static extern int SteamAPI_ISteamRemoteStorage_UGCRead(IntPtr instancePtr, ulong hContent, IntPtr pvData, int cubDataToRead, uint cOffset, uint eAction); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetCachedUGCCount")] +internal static extern int SteamAPI_ISteamRemoteStorage_GetCachedUGCCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle(IntPtr instancePtr, int iCachedContent); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_PublishWorkshopFile")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_PublishWorkshopFile(IntPtr instancePtr, string pchFile, string pchPreviewFile, uint nConsumerAppId, string pchTitle, string pchDescription, uint eVisibility, ref SteamParamStringArray_t pTags, uint eWorkshopFileType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest(IntPtr instancePtr, ulong unPublishedFileId); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile(IntPtr instancePtr, ulong updateHandle, string pchFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile(IntPtr instancePtr, ulong updateHandle, string pchPreviewFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle(IntPtr instancePtr, ulong updateHandle, string pchTitle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription(IntPtr instancePtr, ulong updateHandle, string pchDescription); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility(IntPtr instancePtr, ulong updateHandle, uint eVisibility); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags(IntPtr instancePtr, ulong updateHandle, ref SteamParamStringArray_t pTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate(IntPtr instancePtr, ulong updateHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails(IntPtr instancePtr, ulong unPublishedFileId, uint unMaxSecondsOld); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_DeletePublishedFile")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_DeletePublishedFile(IntPtr instancePtr, ulong unPublishedFileId); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles(IntPtr instancePtr, uint unStartIndex); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_SubscribePublishedFile")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_SubscribePublishedFile(IntPtr instancePtr, ulong unPublishedFileId); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles(IntPtr instancePtr, uint unStartIndex); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile(IntPtr instancePtr, ulong unPublishedFileId); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription")] +internal static extern bool SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription(IntPtr instancePtr, ulong updateHandle, string pchChangeDescription); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails(IntPtr instancePtr, ulong unPublishedFileId); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote(IntPtr instancePtr, ulong unPublishedFileId, bool bVoteUp); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails(IntPtr instancePtr, ulong unPublishedFileId); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles(IntPtr instancePtr, ulong steamId, uint unStartIndex, ref SteamParamStringArray_t pRequiredTags, ref SteamParamStringArray_t pExcludedTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_PublishVideo")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_PublishVideo(IntPtr instancePtr, uint eVideoProvider, string pchVideoAccount, string pchVideoIdentifier, string pchPreviewFile, uint nConsumerAppId, string pchTitle, string pchDescription, uint eVisibility, ref SteamParamStringArray_t pTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction(IntPtr instancePtr, ulong unPublishedFileId, uint eAction); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction(IntPtr instancePtr, uint eAction, uint unStartIndex); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles(IntPtr instancePtr, uint eEnumerationType, uint unStartIndex, uint unCount, uint unDays, ref SteamParamStringArray_t pTags, ref SteamParamStringArray_t pUserTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation")] +internal static extern ulong SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation(IntPtr instancePtr, ulong hContent, string pchLocation, uint unPriority); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_RequestCurrentStats")] +internal static extern bool SteamAPI_ISteamUserStats_RequestCurrentStats(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetStat")] +internal static extern bool SteamAPI_ISteamUserStats_GetStat(IntPtr instancePtr, string pchName, ref int pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetStat0")] +internal static extern bool SteamAPI_ISteamUserStats_GetStat0(IntPtr instancePtr, string pchName, ref float pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_SetStat")] +internal static extern bool SteamAPI_ISteamUserStats_SetStat(IntPtr instancePtr, string pchName, int nData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_SetStat0")] +internal static extern bool SteamAPI_ISteamUserStats_SetStat0(IntPtr instancePtr, string pchName, float fData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_UpdateAvgRateStat")] +internal static extern bool SteamAPI_ISteamUserStats_UpdateAvgRateStat(IntPtr instancePtr, string pchName, float flCountThisSession, double dSessionLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetAchievement")] +internal static extern bool SteamAPI_ISteamUserStats_GetAchievement(IntPtr instancePtr, string pchName, ref bool pbAchieved); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_SetAchievement")] +internal static extern bool SteamAPI_ISteamUserStats_SetAchievement(IntPtr instancePtr, string pchName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_ClearAchievement")] +internal static extern bool SteamAPI_ISteamUserStats_ClearAchievement(IntPtr instancePtr, string pchName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime")] +internal static extern bool SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime(IntPtr instancePtr, string pchName, ref bool pbAchieved, ref uint punUnlockTime); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_StoreStats")] +internal static extern bool SteamAPI_ISteamUserStats_StoreStats(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetAchievementIcon")] +internal static extern int SteamAPI_ISteamUserStats_GetAchievementIcon(IntPtr instancePtr, string pchName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute")] +internal static extern IntPtr SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute(IntPtr instancePtr, string pchName, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_IndicateAchievementProgress")] +internal static extern bool SteamAPI_ISteamUserStats_IndicateAchievementProgress(IntPtr instancePtr, string pchName, uint nCurProgress, uint nMaxProgress); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetNumAchievements")] +internal static extern uint SteamAPI_ISteamUserStats_GetNumAchievements(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetAchievementName")] +internal static extern IntPtr SteamAPI_ISteamUserStats_GetAchievementName(IntPtr instancePtr, uint iAchievement); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_RequestUserStats")] +internal static extern ulong SteamAPI_ISteamUserStats_RequestUserStats(IntPtr instancePtr, ulong steamIDUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetUserStat")] +internal static extern bool SteamAPI_ISteamUserStats_GetUserStat(IntPtr instancePtr, ulong steamIDUser, string pchName, ref int pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetUserStat0")] +internal static extern bool SteamAPI_ISteamUserStats_GetUserStat0(IntPtr instancePtr, ulong steamIDUser, string pchName, ref float pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetUserAchievement")] +internal static extern bool SteamAPI_ISteamUserStats_GetUserAchievement(IntPtr instancePtr, ulong steamIDUser, string pchName, ref bool pbAchieved); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime")] +internal static extern bool SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime(IntPtr instancePtr, ulong steamIDUser, string pchName, ref bool pbAchieved, ref uint punUnlockTime); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_ResetAllStats")] +internal static extern bool SteamAPI_ISteamUserStats_ResetAllStats(IntPtr instancePtr, bool bAchievementsToo); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_FindOrCreateLeaderboard")] +internal static extern ulong SteamAPI_ISteamUserStats_FindOrCreateLeaderboard(IntPtr instancePtr, string pchLeaderboardName, uint eLeaderboardSortMethod, uint eLeaderboardDisplayType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_FindLeaderboard")] +internal static extern ulong SteamAPI_ISteamUserStats_FindLeaderboard(IntPtr instancePtr, string pchLeaderboardName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetLeaderboardName")] +internal static extern IntPtr SteamAPI_ISteamUserStats_GetLeaderboardName(IntPtr instancePtr, ulong hSteamLeaderboard); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetLeaderboardEntryCount")] +internal static extern int SteamAPI_ISteamUserStats_GetLeaderboardEntryCount(IntPtr instancePtr, ulong hSteamLeaderboard); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetLeaderboardSortMethod")] +internal static extern uint SteamAPI_ISteamUserStats_GetLeaderboardSortMethod(IntPtr instancePtr, ulong hSteamLeaderboard); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetLeaderboardDisplayType")] +internal static extern uint SteamAPI_ISteamUserStats_GetLeaderboardDisplayType(IntPtr instancePtr, ulong hSteamLeaderboard); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_DownloadLeaderboardEntries")] +internal static extern ulong SteamAPI_ISteamUserStats_DownloadLeaderboardEntries(IntPtr instancePtr, ulong hSteamLeaderboard, uint eLeaderboardDataRequest, int nRangeStart, int nRangeEnd); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers")] +internal static extern ulong SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers(IntPtr instancePtr, ulong hSteamLeaderboard, [In, Out] CSteamID[] prgUsers, int cUsers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry")] +internal static extern bool SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry(IntPtr instancePtr, ulong hSteamLeaderboardEntries, int index, ref LeaderboardEntry_t pLeaderboardEntry, ref int pDetails, int cDetailsMax); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_UploadLeaderboardScore")] +internal static extern ulong SteamAPI_ISteamUserStats_UploadLeaderboardScore(IntPtr instancePtr, ulong hSteamLeaderboard, uint eLeaderboardUploadScoreMethod, int nScore, ref int pScoreDetails, int cScoreDetailsCount); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_AttachLeaderboardUGC")] +internal static extern ulong SteamAPI_ISteamUserStats_AttachLeaderboardUGC(IntPtr instancePtr, ulong hSteamLeaderboard, ulong hUGC); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers")] +internal static extern ulong SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages")] +internal static extern ulong SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo")] +internal static extern int SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo(IntPtr instancePtr, string pchName, uint unNameBufLen, ref float pflPercent, ref bool pbAchieved); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo")] +internal static extern int SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo(IntPtr instancePtr, int iIteratorPrevious, string pchName, uint unNameBufLen, ref float pflPercent, ref bool pbAchieved); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetAchievementAchievedPercent")] +internal static extern bool SteamAPI_ISteamUserStats_GetAchievementAchievedPercent(IntPtr instancePtr, string pchName, ref float pflPercent); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_RequestGlobalStats")] +internal static extern ulong SteamAPI_ISteamUserStats_RequestGlobalStats(IntPtr instancePtr, int nHistoryDays); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetGlobalStat")] +internal static extern bool SteamAPI_ISteamUserStats_GetGlobalStat(IntPtr instancePtr, string pchStatName, ref long pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetGlobalStat0")] +internal static extern bool SteamAPI_ISteamUserStats_GetGlobalStat0(IntPtr instancePtr, string pchStatName, ref double pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetGlobalStatHistory")] +internal static extern int SteamAPI_ISteamUserStats_GetGlobalStatHistory(IntPtr instancePtr, string pchStatName, [In, Out] long[] pData, uint cubData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUserStats_GetGlobalStatHistory0")] +internal static extern int SteamAPI_ISteamUserStats_GetGlobalStatHistory0(IntPtr instancePtr, string pchStatName, [In, Out] double[] pData, uint cubData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsSubscribed")] +internal static extern bool SteamAPI_ISteamApps_BIsSubscribed(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsLowViolence")] +internal static extern bool SteamAPI_ISteamApps_BIsLowViolence(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsCybercafe")] +internal static extern bool SteamAPI_ISteamApps_BIsCybercafe(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsVACBanned")] +internal static extern bool SteamAPI_ISteamApps_BIsVACBanned(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetCurrentGameLanguage")] +internal static extern IntPtr SteamAPI_ISteamApps_GetCurrentGameLanguage(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetAvailableGameLanguages")] +internal static extern IntPtr SteamAPI_ISteamApps_GetAvailableGameLanguages(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsSubscribedApp")] +internal static extern bool SteamAPI_ISteamApps_BIsSubscribedApp(IntPtr instancePtr, uint appID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsDlcInstalled")] +internal static extern bool SteamAPI_ISteamApps_BIsDlcInstalled(IntPtr instancePtr, uint appID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime")] +internal static extern uint SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend")] +internal static extern bool SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetDLCCount")] +internal static extern int SteamAPI_ISteamApps_GetDLCCount(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BGetDLCDataByIndex")] +internal static extern bool SteamAPI_ISteamApps_BGetDLCDataByIndex(IntPtr instancePtr, int iDLC, ref uint pAppID, ref bool pbAvailable, string pchName, int cchNameBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_InstallDLC")] +internal static extern void SteamAPI_ISteamApps_InstallDLC(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_UninstallDLC")] +internal static extern void SteamAPI_ISteamApps_UninstallDLC(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey")] +internal static extern void SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetCurrentBetaName")] +internal static extern bool SteamAPI_ISteamApps_GetCurrentBetaName(IntPtr instancePtr, string pchName, int cchNameBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_MarkContentCorrupt")] +internal static extern bool SteamAPI_ISteamApps_MarkContentCorrupt(IntPtr instancePtr, bool bMissingFilesOnly); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetInstalledDepots")] +internal static extern uint SteamAPI_ISteamApps_GetInstalledDepots(IntPtr instancePtr, uint appID, ref uint pvecDepots, uint cMaxDepots); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetAppInstallDir")] +internal static extern uint SteamAPI_ISteamApps_GetAppInstallDir(IntPtr instancePtr, uint appID, string pchFolder, uint cchFolderBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_BIsAppInstalled")] +internal static extern bool SteamAPI_ISteamApps_BIsAppInstalled(IntPtr instancePtr, uint appID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetAppOwner")] +internal static extern ulong SteamAPI_ISteamApps_GetAppOwner(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetLaunchQueryParam")] +internal static extern IntPtr SteamAPI_ISteamApps_GetLaunchQueryParam(IntPtr instancePtr, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetDlcDownloadProgress")] +internal static extern bool SteamAPI_ISteamApps_GetDlcDownloadProgress(IntPtr instancePtr, uint nAppID, ref ulong punBytesDownloaded, ref ulong punBytesTotal); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetAppBuildId")] +internal static extern int SteamAPI_ISteamApps_GetAppBuildId(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys")] +internal static extern void SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamApps_GetFileDetails")] +internal static extern ulong SteamAPI_ISteamApps_GetFileDetails(IntPtr instancePtr, string pszFileName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_SendP2PPacket")] +internal static extern bool SteamAPI_ISteamNetworking_SendP2PPacket(IntPtr instancePtr, ulong steamIDRemote, IntPtr pubData, uint cubData, uint eP2PSendType, int nChannel); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_IsP2PPacketAvailable")] +internal static extern bool SteamAPI_ISteamNetworking_IsP2PPacketAvailable(IntPtr instancePtr, ref uint pcubMsgSize, int nChannel); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_ReadP2PPacket")] +internal static extern bool SteamAPI_ISteamNetworking_ReadP2PPacket(IntPtr instancePtr, IntPtr pubDest, uint cubDest, ref uint pcubMsgSize, ref CSteamID psteamIDRemote, int nChannel); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser")] +internal static extern bool SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser(IntPtr instancePtr, ulong steamIDRemote); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_CloseP2PSessionWithUser")] +internal static extern bool SteamAPI_ISteamNetworking_CloseP2PSessionWithUser(IntPtr instancePtr, ulong steamIDRemote); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_CloseP2PChannelWithUser")] +internal static extern bool SteamAPI_ISteamNetworking_CloseP2PChannelWithUser(IntPtr instancePtr, ulong steamIDRemote, int nChannel); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_GetP2PSessionState")] +internal static extern bool SteamAPI_ISteamNetworking_GetP2PSessionState(IntPtr instancePtr, ulong steamIDRemote, ref P2PSessionState_t pConnectionState); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_AllowP2PPacketRelay")] +internal static extern bool SteamAPI_ISteamNetworking_AllowP2PPacketRelay(IntPtr instancePtr, bool bAllow); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_CreateListenSocket")] +internal static extern uint SteamAPI_ISteamNetworking_CreateListenSocket(IntPtr instancePtr, int nVirtualP2PPort, uint nIP, char nPort, bool bAllowUseOfPacketRelay); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_CreateP2PConnectionSocket")] +internal static extern uint SteamAPI_ISteamNetworking_CreateP2PConnectionSocket(IntPtr instancePtr, ulong steamIDTarget, int nVirtualPort, int nTimeoutSec, bool bAllowUseOfPacketRelay); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_CreateConnectionSocket")] +internal static extern uint SteamAPI_ISteamNetworking_CreateConnectionSocket(IntPtr instancePtr, uint nIP, char nPort, int nTimeoutSec); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_DestroySocket")] +internal static extern bool SteamAPI_ISteamNetworking_DestroySocket(IntPtr instancePtr, uint hSocket, bool bNotifyRemoteEnd); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_DestroyListenSocket")] +internal static extern bool SteamAPI_ISteamNetworking_DestroyListenSocket(IntPtr instancePtr, uint hSocket, bool bNotifyRemoteEnd); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_SendDataOnSocket")] +internal static extern bool SteamAPI_ISteamNetworking_SendDataOnSocket(IntPtr instancePtr, uint hSocket, IntPtr pubData, uint cubData, bool bReliable); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_IsDataAvailableOnSocket")] +internal static extern bool SteamAPI_ISteamNetworking_IsDataAvailableOnSocket(IntPtr instancePtr, uint hSocket, ref uint pcubMsgSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_RetrieveDataFromSocket")] +internal static extern bool SteamAPI_ISteamNetworking_RetrieveDataFromSocket(IntPtr instancePtr, uint hSocket, IntPtr pubDest, uint cubDest, ref uint pcubMsgSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_IsDataAvailable")] +internal static extern bool SteamAPI_ISteamNetworking_IsDataAvailable(IntPtr instancePtr, uint hListenSocket, ref uint pcubMsgSize, ref uint phSocket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_RetrieveData")] +internal static extern bool SteamAPI_ISteamNetworking_RetrieveData(IntPtr instancePtr, uint hListenSocket, IntPtr pubDest, uint cubDest, ref uint pcubMsgSize, ref uint phSocket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_GetSocketInfo")] +internal static extern bool SteamAPI_ISteamNetworking_GetSocketInfo(IntPtr instancePtr, uint hSocket, ref CSteamID pSteamIDRemote, ref int peSocketStatus, ref uint punIPRemote, ref char punPortRemote); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_GetListenSocketInfo")] +internal static extern bool SteamAPI_ISteamNetworking_GetListenSocketInfo(IntPtr instancePtr, uint hListenSocket, ref uint pnIP, ref char pnPort); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_GetSocketConnectionType")] +internal static extern uint SteamAPI_ISteamNetworking_GetSocketConnectionType(IntPtr instancePtr, uint hSocket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamNetworking_GetMaxPacketSize")] +internal static extern int SteamAPI_ISteamNetworking_GetMaxPacketSize(IntPtr instancePtr, uint hSocket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_WriteScreenshot")] +internal static extern uint SteamAPI_ISteamScreenshots_WriteScreenshot(IntPtr instancePtr, IntPtr pubRGB, uint cubRGB, int nWidth, int nHeight); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_AddScreenshotToLibrary")] +internal static extern uint SteamAPI_ISteamScreenshots_AddScreenshotToLibrary(IntPtr instancePtr, string pchFilename, string pchThumbnailFilename, int nWidth, int nHeight); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_TriggerScreenshot")] +internal static extern void SteamAPI_ISteamScreenshots_TriggerScreenshot(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_HookScreenshots")] +internal static extern void SteamAPI_ISteamScreenshots_HookScreenshots(IntPtr instancePtr, bool bHook); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_SetLocation")] +internal static extern bool SteamAPI_ISteamScreenshots_SetLocation(IntPtr instancePtr, uint hScreenshot, string pchLocation); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_TagUser")] +internal static extern bool SteamAPI_ISteamScreenshots_TagUser(IntPtr instancePtr, uint hScreenshot, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_TagPublishedFile")] +internal static extern bool SteamAPI_ISteamScreenshots_TagPublishedFile(IntPtr instancePtr, uint hScreenshot, ulong unPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_IsScreenshotsHooked")] +internal static extern bool SteamAPI_ISteamScreenshots_IsScreenshotsHooked(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary")] +internal static extern uint SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary(IntPtr instancePtr, uint eType, string pchFilename, string pchVRFilename); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_BIsEnabled")] +internal static extern bool SteamAPI_ISteamMusic_BIsEnabled(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_BIsPlaying")] +internal static extern bool SteamAPI_ISteamMusic_BIsPlaying(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_GetPlaybackStatus")] +internal static extern int SteamAPI_ISteamMusic_GetPlaybackStatus(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_Play")] +internal static extern void SteamAPI_ISteamMusic_Play(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_Pause")] +internal static extern void SteamAPI_ISteamMusic_Pause(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_PlayPrevious")] +internal static extern void SteamAPI_ISteamMusic_PlayPrevious(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_PlayNext")] +internal static extern void SteamAPI_ISteamMusic_PlayNext(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_SetVolume")] +internal static extern void SteamAPI_ISteamMusic_SetVolume(IntPtr instancePtr, float flVolume); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusic_GetVolume")] +internal static extern float SteamAPI_ISteamMusic_GetVolume(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote")] +internal static extern bool SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote(IntPtr instancePtr, string pchName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote")] +internal static extern bool SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote")] +internal static extern bool SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_BActivationSuccess")] +internal static extern bool SteamAPI_ISteamMusicRemote_BActivationSuccess(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_SetDisplayName")] +internal static extern bool SteamAPI_ISteamMusicRemote_SetDisplayName(IntPtr instancePtr, string pchDisplayName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64")] +internal static extern bool SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64(IntPtr instancePtr, IntPtr pvBuffer, uint cbBufferLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_EnablePlayPrevious")] +internal static extern bool SteamAPI_ISteamMusicRemote_EnablePlayPrevious(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_EnablePlayNext")] +internal static extern bool SteamAPI_ISteamMusicRemote_EnablePlayNext(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_EnableShuffled")] +internal static extern bool SteamAPI_ISteamMusicRemote_EnableShuffled(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_EnableLooped")] +internal static extern bool SteamAPI_ISteamMusicRemote_EnableLooped(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_EnableQueue")] +internal static extern bool SteamAPI_ISteamMusicRemote_EnableQueue(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_EnablePlaylists")] +internal static extern bool SteamAPI_ISteamMusicRemote_EnablePlaylists(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus(IntPtr instancePtr, int nStatus); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdateShuffled")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdateShuffled(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdateLooped")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdateLooped(IntPtr instancePtr, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdateVolume")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdateVolume(IntPtr instancePtr, float flValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_CurrentEntryWillChange")] +internal static extern bool SteamAPI_ISteamMusicRemote_CurrentEntryWillChange(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable")] +internal static extern bool SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable(IntPtr instancePtr, bool bAvailable); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText(IntPtr instancePtr, string pchText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds(IntPtr instancePtr, int nValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt")] +internal static extern bool SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt(IntPtr instancePtr, IntPtr pvBuffer, uint cbBufferLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_CurrentEntryDidChange")] +internal static extern bool SteamAPI_ISteamMusicRemote_CurrentEntryDidChange(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_QueueWillChange")] +internal static extern bool SteamAPI_ISteamMusicRemote_QueueWillChange(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_ResetQueueEntries")] +internal static extern bool SteamAPI_ISteamMusicRemote_ResetQueueEntries(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_SetQueueEntry")] +internal static extern bool SteamAPI_ISteamMusicRemote_SetQueueEntry(IntPtr instancePtr, int nID, int nPosition, string pchEntryText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry")] +internal static extern bool SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry(IntPtr instancePtr, int nID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_QueueDidChange")] +internal static extern bool SteamAPI_ISteamMusicRemote_QueueDidChange(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_PlaylistWillChange")] +internal static extern bool SteamAPI_ISteamMusicRemote_PlaylistWillChange(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_ResetPlaylistEntries")] +internal static extern bool SteamAPI_ISteamMusicRemote_ResetPlaylistEntries(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_SetPlaylistEntry")] +internal static extern bool SteamAPI_ISteamMusicRemote_SetPlaylistEntry(IntPtr instancePtr, int nID, int nPosition, string pchEntryText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry")] +internal static extern bool SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry(IntPtr instancePtr, int nID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamMusicRemote_PlaylistDidChange")] +internal static extern bool SteamAPI_ISteamMusicRemote_PlaylistDidChange(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_CreateHTTPRequest")] +internal static extern uint SteamAPI_ISteamHTTP_CreateHTTPRequest(IntPtr instancePtr, uint eHTTPRequestMethod, string pchAbsoluteURL); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestContextValue")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestContextValue(IntPtr instancePtr, uint hRequest, ulong ulContextValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout(IntPtr instancePtr, uint hRequest, uint unTimeoutSeconds); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue(IntPtr instancePtr, uint hRequest, string pchHeaderName, string pchHeaderValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter(IntPtr instancePtr, uint hRequest, string pchParamName, string pchParamValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SendHTTPRequest")] +internal static extern bool SteamAPI_ISteamHTTP_SendHTTPRequest(IntPtr instancePtr, uint hRequest, ref ulong pCallHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse")] +internal static extern bool SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse(IntPtr instancePtr, uint hRequest, ref ulong pCallHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_DeferHTTPRequest")] +internal static extern bool SteamAPI_ISteamHTTP_DeferHTTPRequest(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_PrioritizeHTTPRequest")] +internal static extern bool SteamAPI_ISteamHTTP_PrioritizeHTTPRequest(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize(IntPtr instancePtr, uint hRequest, string pchHeaderName, ref uint unResponseHeaderSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue(IntPtr instancePtr, uint hRequest, string pchHeaderName, IntPtr pHeaderValueBuffer, uint unBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPResponseBodySize")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPResponseBodySize(IntPtr instancePtr, uint hRequest, ref uint unBodySize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPResponseBodyData")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPResponseBodyData(IntPtr instancePtr, uint hRequest, IntPtr pBodyDataBuffer, uint unBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData(IntPtr instancePtr, uint hRequest, uint cOffset, IntPtr pBodyDataBuffer, uint unBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_ReleaseHTTPRequest")] +internal static extern bool SteamAPI_ISteamHTTP_ReleaseHTTPRequest(IntPtr instancePtr, uint hRequest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct(IntPtr instancePtr, uint hRequest, ref float pflPercentOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody(IntPtr instancePtr, uint hRequest, string pchContentType, IntPtr pubBody, uint unBodyLen); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_CreateCookieContainer")] +internal static extern uint SteamAPI_ISteamHTTP_CreateCookieContainer(IntPtr instancePtr, bool bAllowResponsesToModify); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_ReleaseCookieContainer")] +internal static extern bool SteamAPI_ISteamHTTP_ReleaseCookieContainer(IntPtr instancePtr, uint hCookieContainer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetCookie")] +internal static extern bool SteamAPI_ISteamHTTP_SetCookie(IntPtr instancePtr, uint hCookieContainer, string pchHost, string pchUrl, string pchCookie); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer(IntPtr instancePtr, uint hRequest, uint hCookieContainer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo(IntPtr instancePtr, uint hRequest, string pchUserAgentInfo); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate(IntPtr instancePtr, uint hRequest, bool bRequireVerifiedCertificate); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS")] +internal static extern bool SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS(IntPtr instancePtr, uint hRequest, uint unMilliseconds); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut")] +internal static extern bool SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(IntPtr instancePtr, uint hRequest, ref bool pbWasTimedOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_Init")] +internal static extern bool SteamAPI_ISteamController_Init(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_Shutdown")] +internal static extern bool SteamAPI_ISteamController_Shutdown(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_RunFrame")] +internal static extern void SteamAPI_ISteamController_RunFrame(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetConnectedControllers")] +internal static extern int SteamAPI_ISteamController_GetConnectedControllers(IntPtr instancePtr, ref ulong handlesOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_ShowBindingPanel")] +internal static extern bool SteamAPI_ISteamController_ShowBindingPanel(IntPtr instancePtr, ulong controllerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetActionSetHandle")] +internal static extern ulong SteamAPI_ISteamController_GetActionSetHandle(IntPtr instancePtr, string pszActionSetName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_ActivateActionSet")] +internal static extern void SteamAPI_ISteamController_ActivateActionSet(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetCurrentActionSet")] +internal static extern ulong SteamAPI_ISteamController_GetCurrentActionSet(IntPtr instancePtr, ulong controllerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_ActivateActionSetLayer")] +internal static extern void SteamAPI_ISteamController_ActivateActionSetLayer(IntPtr instancePtr, ulong controllerHandle, ulong actionSetLayerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_DeactivateActionSetLayer")] +internal static extern void SteamAPI_ISteamController_DeactivateActionSetLayer(IntPtr instancePtr, ulong controllerHandle, ulong actionSetLayerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_DeactivateAllActionSetLayers")] +internal static extern void SteamAPI_ISteamController_DeactivateAllActionSetLayers(IntPtr instancePtr, ulong controllerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetActiveActionSetLayers")] +internal static extern int SteamAPI_ISteamController_GetActiveActionSetLayers(IntPtr instancePtr, ulong controllerHandle, ref ulong handlesOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetDigitalActionHandle")] +internal static extern ulong SteamAPI_ISteamController_GetDigitalActionHandle(IntPtr instancePtr, string pszActionName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetDigitalActionData")] +internal static extern ControllerDigitalActionData_t SteamAPI_ISteamController_GetDigitalActionData(IntPtr instancePtr, ulong controllerHandle, ulong digitalActionHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetDigitalActionOrigins")] +internal static extern int SteamAPI_ISteamController_GetDigitalActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle, ulong digitalActionHandle, ref uint originsOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetAnalogActionHandle")] +internal static extern ulong SteamAPI_ISteamController_GetAnalogActionHandle(IntPtr instancePtr, string pszActionName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetAnalogActionData")] +internal static extern ControllerAnalogActionData_t SteamAPI_ISteamController_GetAnalogActionData(IntPtr instancePtr, ulong controllerHandle, ulong analogActionHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetAnalogActionOrigins")] +internal static extern int SteamAPI_ISteamController_GetAnalogActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong actionSetHandle, ulong analogActionHandle, ref uint originsOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_StopAnalogActionMomentum")] +internal static extern void SteamAPI_ISteamController_StopAnalogActionMomentum(IntPtr instancePtr, ulong controllerHandle, ulong eAction); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_TriggerHapticPulse")] +internal static extern void SteamAPI_ISteamController_TriggerHapticPulse(IntPtr instancePtr, ulong controllerHandle, uint eTargetPad, char usDurationMicroSec); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_TriggerRepeatedHapticPulse")] +internal static extern void SteamAPI_ISteamController_TriggerRepeatedHapticPulse(IntPtr instancePtr, ulong controllerHandle, uint eTargetPad, char usDurationMicroSec, char usOffMicroSec, char unRepeat, uint nFlags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_TriggerVibration")] +internal static extern void SteamAPI_ISteamController_TriggerVibration(IntPtr instancePtr, ulong controllerHandle, char usLeftSpeed, char usRightSpeed); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_SetLEDColor")] +internal static extern void SteamAPI_ISteamController_SetLEDColor(IntPtr instancePtr, ulong controllerHandle, byte nColorR, byte nColorG, byte nColorB, uint nFlags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetGamepadIndexForController")] +internal static extern int SteamAPI_ISteamController_GetGamepadIndexForController(IntPtr instancePtr, ulong ulControllerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetControllerForGamepadIndex")] +internal static extern ulong SteamAPI_ISteamController_GetControllerForGamepadIndex(IntPtr instancePtr, int nIndex); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetMotionData")] +internal static extern ControllerMotionData_t SteamAPI_ISteamController_GetMotionData(IntPtr instancePtr, ulong controllerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_ShowDigitalActionOrigins")] +internal static extern bool SteamAPI_ISteamController_ShowDigitalActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong digitalActionHandle, float flScale, float flXPosition, float flYPosition); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_ShowAnalogActionOrigins")] +internal static extern bool SteamAPI_ISteamController_ShowAnalogActionOrigins(IntPtr instancePtr, ulong controllerHandle, ulong analogActionHandle, float flScale, float flXPosition, float flYPosition); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetStringForActionOrigin")] +internal static extern IntPtr SteamAPI_ISteamController_GetStringForActionOrigin(IntPtr instancePtr, uint eOrigin); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetGlyphForActionOrigin")] +internal static extern IntPtr SteamAPI_ISteamController_GetGlyphForActionOrigin(IntPtr instancePtr, uint eOrigin); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamController_GetInputTypeForHandle")] +internal static extern uint SteamAPI_ISteamController_GetInputTypeForHandle(IntPtr instancePtr, ulong controllerHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_CreateQueryUserUGCRequest")] +internal static extern ulong SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(IntPtr instancePtr, uint unAccountID, uint eListType, uint eMatchingUGCType, uint eSortOrder, uint nCreatorAppID, uint nConsumerAppID, uint unPage); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_CreateQueryAllUGCRequest")] +internal static extern ulong SteamAPI_ISteamUGC_CreateQueryAllUGCRequest(IntPtr instancePtr, uint eQueryType, uint eMatchingeMatchingUGCTypeFileType, uint nCreatorAppID, uint nConsumerAppID, uint unPage); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest")] +internal static extern ulong SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest(IntPtr instancePtr, ref ulong pvecPublishedFileID, uint unNumPublishedFileIDs); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SendQueryUGCRequest")] +internal static extern ulong SteamAPI_ISteamUGC_SendQueryUGCRequest(IntPtr instancePtr, ulong handle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCResult")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCResult(IntPtr instancePtr, ulong handle, uint index, ref SteamUGCDetails_t pDetails); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCPreviewURL")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCPreviewURL(IntPtr instancePtr, ulong handle, uint index, System.Text.StringBuilder pchURL, uint cchURLSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCMetadata")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCMetadata(IntPtr instancePtr, ulong handle, uint index, System.Text.StringBuilder pchMetadata, uint cchMetadatasize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCChildren")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCChildren(IntPtr instancePtr, ulong handle, uint index, ref ulong pvecPublishedFileID, uint cMaxEntries); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCStatistic")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCStatistic(IntPtr instancePtr, ulong handle, uint index, uint eStatType, ref ulong pStatValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews")] +internal static extern uint SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews(IntPtr instancePtr, ulong handle, uint index); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(IntPtr instancePtr, ulong handle, uint index, uint previewIndex, System.Text.StringBuilder pchURLOrVideoID, uint cchURLSize, System.Text.StringBuilder pchOriginalFileName, uint cchOriginalFileNameSize, ref uint pPreviewType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags")] +internal static extern uint SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(IntPtr instancePtr, ulong handle, uint index); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag")] +internal static extern bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(IntPtr instancePtr, ulong handle, uint index, uint keyValueTagIndex, System.Text.StringBuilder pchKey, uint cchKeySize, System.Text.StringBuilder pchValue, uint cchValueSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_ReleaseQueryUGCRequest")] +internal static extern bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(IntPtr instancePtr, ulong handle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddRequiredTag")] +internal static extern bool SteamAPI_ISteamUGC_AddRequiredTag(IntPtr instancePtr, ulong handle, string pTagName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddExcludedTag")] +internal static extern bool SteamAPI_ISteamUGC_AddExcludedTag(IntPtr instancePtr, ulong handle, string pTagName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnOnlyIDs")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnOnlyIDs(IntPtr instancePtr, ulong handle, bool bReturnOnlyIDs); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnKeyValueTags")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnKeyValueTags(IntPtr instancePtr, ulong handle, bool bReturnKeyValueTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnLongDescription")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnLongDescription(IntPtr instancePtr, ulong handle, bool bReturnLongDescription); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnMetadata")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnMetadata(IntPtr instancePtr, ulong handle, bool bReturnMetadata); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnChildren")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnChildren(IntPtr instancePtr, ulong handle, bool bReturnChildren); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnAdditionalPreviews")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnAdditionalPreviews(IntPtr instancePtr, ulong handle, bool bReturnAdditionalPreviews); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnTotalOnly")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnTotalOnly(IntPtr instancePtr, ulong handle, bool bReturnTotalOnly); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetReturnPlaytimeStats")] +internal static extern bool SteamAPI_ISteamUGC_SetReturnPlaytimeStats(IntPtr instancePtr, ulong handle, uint unDays); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetLanguage")] +internal static extern bool SteamAPI_ISteamUGC_SetLanguage(IntPtr instancePtr, ulong handle, string pchLanguage); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetAllowCachedResponse")] +internal static extern bool SteamAPI_ISteamUGC_SetAllowCachedResponse(IntPtr instancePtr, ulong handle, uint unMaxAgeSeconds); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetCloudFileNameFilter")] +internal static extern bool SteamAPI_ISteamUGC_SetCloudFileNameFilter(IntPtr instancePtr, ulong handle, string pMatchCloudFileName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetMatchAnyTag")] +internal static extern bool SteamAPI_ISteamUGC_SetMatchAnyTag(IntPtr instancePtr, ulong handle, bool bMatchAnyTag); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetSearchText")] +internal static extern bool SteamAPI_ISteamUGC_SetSearchText(IntPtr instancePtr, ulong handle, string pSearchText); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetRankedByTrendDays")] +internal static extern bool SteamAPI_ISteamUGC_SetRankedByTrendDays(IntPtr instancePtr, ulong handle, uint unDays); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddRequiredKeyValueTag")] +internal static extern bool SteamAPI_ISteamUGC_AddRequiredKeyValueTag(IntPtr instancePtr, ulong handle, string pKey, string pValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RequestUGCDetails")] +internal static extern ulong SteamAPI_ISteamUGC_RequestUGCDetails(IntPtr instancePtr, ulong nPublishedFileID, uint unMaxAgeSeconds); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_CreateItem")] +internal static extern ulong SteamAPI_ISteamUGC_CreateItem(IntPtr instancePtr, uint nConsumerAppId, uint eFileType); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_StartItemUpdate")] +internal static extern ulong SteamAPI_ISteamUGC_StartItemUpdate(IntPtr instancePtr, uint nConsumerAppId, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemTitle")] +internal static extern bool SteamAPI_ISteamUGC_SetItemTitle(IntPtr instancePtr, ulong handle, string pchTitle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemDescription")] +internal static extern bool SteamAPI_ISteamUGC_SetItemDescription(IntPtr instancePtr, ulong handle, string pchDescription); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemUpdateLanguage")] +internal static extern bool SteamAPI_ISteamUGC_SetItemUpdateLanguage(IntPtr instancePtr, ulong handle, string pchLanguage); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemMetadata")] +internal static extern bool SteamAPI_ISteamUGC_SetItemMetadata(IntPtr instancePtr, ulong handle, string pchMetaData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemVisibility")] +internal static extern bool SteamAPI_ISteamUGC_SetItemVisibility(IntPtr instancePtr, ulong handle, uint eVisibility); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemTags")] +internal static extern bool SteamAPI_ISteamUGC_SetItemTags(IntPtr instancePtr, ulong updateHandle, ref SteamParamStringArray_t pTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemContent")] +internal static extern bool SteamAPI_ISteamUGC_SetItemContent(IntPtr instancePtr, ulong handle, string pszContentFolder); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetItemPreview")] +internal static extern bool SteamAPI_ISteamUGC_SetItemPreview(IntPtr instancePtr, ulong handle, string pszPreviewFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveItemKeyValueTags")] +internal static extern bool SteamAPI_ISteamUGC_RemoveItemKeyValueTags(IntPtr instancePtr, ulong handle, string pchKey); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddItemKeyValueTag")] +internal static extern bool SteamAPI_ISteamUGC_AddItemKeyValueTag(IntPtr instancePtr, ulong handle, string pchKey, string pchValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddItemPreviewFile")] +internal static extern bool SteamAPI_ISteamUGC_AddItemPreviewFile(IntPtr instancePtr, ulong handle, string pszPreviewFile, uint type); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddItemPreviewVideo")] +internal static extern bool SteamAPI_ISteamUGC_AddItemPreviewVideo(IntPtr instancePtr, ulong handle, string pszVideoID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_UpdateItemPreviewFile")] +internal static extern bool SteamAPI_ISteamUGC_UpdateItemPreviewFile(IntPtr instancePtr, ulong handle, uint index, string pszPreviewFile); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_UpdateItemPreviewVideo")] +internal static extern bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo(IntPtr instancePtr, ulong handle, uint index, string pszVideoID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveItemPreview")] +internal static extern bool SteamAPI_ISteamUGC_RemoveItemPreview(IntPtr instancePtr, ulong handle, uint index); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SubmitItemUpdate")] +internal static extern ulong SteamAPI_ISteamUGC_SubmitItemUpdate(IntPtr instancePtr, ulong handle, string pchChangeNote); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetItemUpdateProgress")] +internal static extern uint SteamAPI_ISteamUGC_GetItemUpdateProgress(IntPtr instancePtr, ulong handle, ref ulong punBytesProcessed, ref ulong punBytesTotal); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SetUserItemVote")] +internal static extern ulong SteamAPI_ISteamUGC_SetUserItemVote(IntPtr instancePtr, ulong nPublishedFileID, bool bVoteUp); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetUserItemVote")] +internal static extern ulong SteamAPI_ISteamUGC_GetUserItemVote(IntPtr instancePtr, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddItemToFavorites")] +internal static extern ulong SteamAPI_ISteamUGC_AddItemToFavorites(IntPtr instancePtr, uint nAppId, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveItemFromFavorites")] +internal static extern ulong SteamAPI_ISteamUGC_RemoveItemFromFavorites(IntPtr instancePtr, uint nAppId, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SubscribeItem")] +internal static extern ulong SteamAPI_ISteamUGC_SubscribeItem(IntPtr instancePtr, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_UnsubscribeItem")] +internal static extern ulong SteamAPI_ISteamUGC_UnsubscribeItem(IntPtr instancePtr, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetNumSubscribedItems")] +internal static extern uint SteamAPI_ISteamUGC_GetNumSubscribedItems(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetSubscribedItems")] +internal static extern uint SteamAPI_ISteamUGC_GetSubscribedItems(IntPtr instancePtr, ref ulong pvecPublishedFileID, uint cMaxEntries); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetItemState")] +internal static extern uint SteamAPI_ISteamUGC_GetItemState(IntPtr instancePtr, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetItemInstallInfo")] +internal static extern bool SteamAPI_ISteamUGC_GetItemInstallInfo(IntPtr instancePtr, ulong nPublishedFileID, ref ulong punSizeOnDisk, System.Text.StringBuilder pchFolder, uint cchFolderSize, ref uint punTimeStamp); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetItemDownloadInfo")] +internal static extern bool SteamAPI_ISteamUGC_GetItemDownloadInfo(IntPtr instancePtr, ulong nPublishedFileID, ref ulong punBytesDownloaded, ref ulong punBytesTotal); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_DownloadItem")] +internal static extern bool SteamAPI_ISteamUGC_DownloadItem(IntPtr instancePtr, ulong nPublishedFileID, bool bHighPriority); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_BInitWorkshopForGameServer")] +internal static extern bool SteamAPI_ISteamUGC_BInitWorkshopForGameServer(IntPtr instancePtr, uint unWorkshopDepotID, string pszFolder); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_SuspendDownloads")] +internal static extern void SteamAPI_ISteamUGC_SuspendDownloads(IntPtr instancePtr, bool bSuspend); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_StartPlaytimeTracking")] +internal static extern ulong SteamAPI_ISteamUGC_StartPlaytimeTracking(IntPtr instancePtr, ref ulong pvecPublishedFileID, uint unNumPublishedFileIDs); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_StopPlaytimeTracking")] +internal static extern ulong SteamAPI_ISteamUGC_StopPlaytimeTracking(IntPtr instancePtr, ref ulong pvecPublishedFileID, uint unNumPublishedFileIDs); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems")] +internal static extern ulong SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddDependency")] +internal static extern ulong SteamAPI_ISteamUGC_AddDependency(IntPtr instancePtr, ulong nParentPublishedFileID, ulong nChildPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveDependency")] +internal static extern ulong SteamAPI_ISteamUGC_RemoveDependency(IntPtr instancePtr, ulong nParentPublishedFileID, ulong nChildPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_AddAppDependency")] +internal static extern ulong SteamAPI_ISteamUGC_AddAppDependency(IntPtr instancePtr, ulong nPublishedFileID, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_RemoveAppDependency")] +internal static extern ulong SteamAPI_ISteamUGC_RemoveAppDependency(IntPtr instancePtr, ulong nPublishedFileID, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_GetAppDependencies")] +internal static extern ulong SteamAPI_ISteamUGC_GetAppDependencies(IntPtr instancePtr, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamUGC_DeleteItem")] +internal static extern ulong SteamAPI_ISteamUGC_DeleteItem(IntPtr instancePtr, ulong nPublishedFileID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamAppList_GetNumInstalledApps")] +internal static extern uint SteamAPI_ISteamAppList_GetNumInstalledApps(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamAppList_GetInstalledApps")] +internal static extern uint SteamAPI_ISteamAppList_GetInstalledApps(IntPtr instancePtr, ref uint pvecAppID, uint unMaxAppIDs); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamAppList_GetAppName")] +internal static extern int SteamAPI_ISteamAppList_GetAppName(IntPtr instancePtr, uint nAppID, System.Text.StringBuilder pchName, int cchNameMax); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamAppList_GetAppInstallDir")] +internal static extern int SteamAPI_ISteamAppList_GetAppInstallDir(IntPtr instancePtr, uint nAppID, string pchDirectory, int cchNameMax); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamAppList_GetAppBuildId")] +internal static extern int SteamAPI_ISteamAppList_GetAppBuildId(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_DestructISteamHTMLSurface")] +internal static extern void SteamAPI_ISteamHTMLSurface_DestructISteamHTMLSurface(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_Init")] +internal static extern bool SteamAPI_ISteamHTMLSurface_Init(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_Shutdown")] +internal static extern bool SteamAPI_ISteamHTMLSurface_Shutdown(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_CreateBrowser")] +internal static extern ulong SteamAPI_ISteamHTMLSurface_CreateBrowser(IntPtr instancePtr, string pchUserAgent, string pchUserCSS); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_RemoveBrowser")] +internal static extern void SteamAPI_ISteamHTMLSurface_RemoveBrowser(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_LoadURL")] +internal static extern void SteamAPI_ISteamHTMLSurface_LoadURL(IntPtr instancePtr, uint unBrowserHandle, string pchURL, string pchPostData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetSize")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetSize(IntPtr instancePtr, uint unBrowserHandle, uint unWidth, uint unHeight); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_StopLoad")] +internal static extern void SteamAPI_ISteamHTMLSurface_StopLoad(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_Reload")] +internal static extern void SteamAPI_ISteamHTMLSurface_Reload(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_GoBack")] +internal static extern void SteamAPI_ISteamHTMLSurface_GoBack(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_GoForward")] +internal static extern void SteamAPI_ISteamHTMLSurface_GoForward(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_AddHeader")] +internal static extern void SteamAPI_ISteamHTMLSurface_AddHeader(IntPtr instancePtr, uint unBrowserHandle, string pchKey, string pchValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_ExecuteJavascript")] +internal static extern void SteamAPI_ISteamHTMLSurface_ExecuteJavascript(IntPtr instancePtr, uint unBrowserHandle, string pchScript); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_MouseUp")] +internal static extern void SteamAPI_ISteamHTMLSurface_MouseUp(IntPtr instancePtr, uint unBrowserHandle, uint eMouseButton); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_MouseDown")] +internal static extern void SteamAPI_ISteamHTMLSurface_MouseDown(IntPtr instancePtr, uint unBrowserHandle, uint eMouseButton); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_MouseDoubleClick")] +internal static extern void SteamAPI_ISteamHTMLSurface_MouseDoubleClick(IntPtr instancePtr, uint unBrowserHandle, uint eMouseButton); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_MouseMove")] +internal static extern void SteamAPI_ISteamHTMLSurface_MouseMove(IntPtr instancePtr, uint unBrowserHandle, int x, int y); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_MouseWheel")] +internal static extern void SteamAPI_ISteamHTMLSurface_MouseWheel(IntPtr instancePtr, uint unBrowserHandle, int nDelta); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_KeyDown")] +internal static extern void SteamAPI_ISteamHTMLSurface_KeyDown(IntPtr instancePtr, uint unBrowserHandle, uint nNativeKeyCode, uint eHTMLKeyModifiers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_KeyUp")] +internal static extern void SteamAPI_ISteamHTMLSurface_KeyUp(IntPtr instancePtr, uint unBrowserHandle, uint nNativeKeyCode, uint eHTMLKeyModifiers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_KeyChar")] +internal static extern void SteamAPI_ISteamHTMLSurface_KeyChar(IntPtr instancePtr, uint unBrowserHandle, uint cUnicodeChar, uint eHTMLKeyModifiers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetHorizontalScroll")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetHorizontalScroll(IntPtr instancePtr, uint unBrowserHandle, uint nAbsolutePixelScroll); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetVerticalScroll")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetVerticalScroll(IntPtr instancePtr, uint unBrowserHandle, uint nAbsolutePixelScroll); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetKeyFocus")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetKeyFocus(IntPtr instancePtr, uint unBrowserHandle, bool bHasKeyFocus); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_ViewSource")] +internal static extern void SteamAPI_ISteamHTMLSurface_ViewSource(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_CopyToClipboard")] +internal static extern void SteamAPI_ISteamHTMLSurface_CopyToClipboard(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_PasteFromClipboard")] +internal static extern void SteamAPI_ISteamHTMLSurface_PasteFromClipboard(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_Find")] +internal static extern void SteamAPI_ISteamHTMLSurface_Find(IntPtr instancePtr, uint unBrowserHandle, string pchSearchStr, bool bCurrentlyInFind, bool bReverse); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_StopFind")] +internal static extern void SteamAPI_ISteamHTMLSurface_StopFind(IntPtr instancePtr, uint unBrowserHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_GetLinkAtPosition")] +internal static extern void SteamAPI_ISteamHTMLSurface_GetLinkAtPosition(IntPtr instancePtr, uint unBrowserHandle, int x, int y); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetCookie")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetCookie(IntPtr instancePtr, string pchHostname, string pchKey, string pchValue, string pchPath, ulong nExpires, bool bSecure, bool bHTTPOnly); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetPageScaleFactor")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetPageScaleFactor(IntPtr instancePtr, uint unBrowserHandle, float flZoom, int nPointX, int nPointY); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetBackgroundMode")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetBackgroundMode(IntPtr instancePtr, uint unBrowserHandle, bool bBackgroundMode); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor")] +internal static extern void SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(IntPtr instancePtr, uint unBrowserHandle, float flDPIScaling); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_AllowStartRequest")] +internal static extern void SteamAPI_ISteamHTMLSurface_AllowStartRequest(IntPtr instancePtr, uint unBrowserHandle, bool bAllowed); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamHTMLSurface_JSDialogResponse")] +internal static extern void SteamAPI_ISteamHTMLSurface_JSDialogResponse(IntPtr instancePtr, uint unBrowserHandle, bool bResult); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetResultStatus")] +internal static extern uint SteamAPI_ISteamInventory_GetResultStatus(IntPtr instancePtr, int resultHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetResultItems")] +internal static extern bool SteamAPI_ISteamInventory_GetResultItems(IntPtr instancePtr, int resultHandle, [In, Out] SteamItemDetails_t[] pOutItemsArray, ref uint punOutItemsArraySize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetResultItemProperty")] +internal static extern bool SteamAPI_ISteamInventory_GetResultItemProperty(IntPtr instancePtr, int resultHandle, uint unItemIndex, string pchPropertyName, System.Text.StringBuilder pchValueBuffer, ref uint punValueBufferSizeOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetResultTimestamp")] +internal static extern uint SteamAPI_ISteamInventory_GetResultTimestamp(IntPtr instancePtr, int resultHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_CheckResultSteamID")] +internal static extern bool SteamAPI_ISteamInventory_CheckResultSteamID(IntPtr instancePtr, int resultHandle, ulong steamIDExpected); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_DestroyResult")] +internal static extern void SteamAPI_ISteamInventory_DestroyResult(IntPtr instancePtr, int resultHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetAllItems")] +internal static extern bool SteamAPI_ISteamInventory_GetAllItems(IntPtr instancePtr, ref int pResultHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetItemsByID")] +internal static extern bool SteamAPI_ISteamInventory_GetItemsByID(IntPtr instancePtr, ref int pResultHandle, [In, Out] ulong[] pInstanceIDs, uint unCountInstanceIDs); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SerializeResult")] +internal static extern bool SteamAPI_ISteamInventory_SerializeResult(IntPtr instancePtr, int resultHandle, IntPtr pOutBuffer, ref uint punOutBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_DeserializeResult")] +internal static extern bool SteamAPI_ISteamInventory_DeserializeResult(IntPtr instancePtr, ref int pOutResultHandle, IntPtr pBuffer, uint unBufferSize, bool bRESERVED_MUST_BE_FALSE); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GenerateItems")] +internal static extern bool SteamAPI_ISteamInventory_GenerateItems(IntPtr instancePtr, ref int pResultHandle, [In, Out] int[] pArrayItemDefs, [In, Out] uint[] punArrayQuantity, uint unArrayLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GrantPromoItems")] +internal static extern bool SteamAPI_ISteamInventory_GrantPromoItems(IntPtr instancePtr, ref int pResultHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_AddPromoItem")] +internal static extern bool SteamAPI_ISteamInventory_AddPromoItem(IntPtr instancePtr, ref int pResultHandle, int itemDef); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_AddPromoItems")] +internal static extern bool SteamAPI_ISteamInventory_AddPromoItems(IntPtr instancePtr, ref int pResultHandle, [In, Out] int[] pArrayItemDefs, uint unArrayLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_ConsumeItem")] +internal static extern bool SteamAPI_ISteamInventory_ConsumeItem(IntPtr instancePtr, ref int pResultHandle, ulong itemConsume, uint unQuantity); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_ExchangeItems")] +internal static extern bool SteamAPI_ISteamInventory_ExchangeItems(IntPtr instancePtr, ref int pResultHandle, [In, Out] int[] pArrayGenerate, [In, Out] uint[] punArrayGenerateQuantity, uint unArrayGenerateLength, [In, Out] ulong[] pArrayDestroy, [In, Out] uint[] punArrayDestroyQuantity, uint unArrayDestroyLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_TransferItemQuantity")] +internal static extern bool SteamAPI_ISteamInventory_TransferItemQuantity(IntPtr instancePtr, ref int pResultHandle, ulong itemIdSource, uint unQuantity, ulong itemIdDest); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SendItemDropHeartbeat")] +internal static extern void SteamAPI_ISteamInventory_SendItemDropHeartbeat(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_TriggerItemDrop")] +internal static extern bool SteamAPI_ISteamInventory_TriggerItemDrop(IntPtr instancePtr, ref int pResultHandle, int dropListDefinition); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_TradeItems")] +internal static extern bool SteamAPI_ISteamInventory_TradeItems(IntPtr instancePtr, ref int pResultHandle, ulong steamIDTradePartner, [In, Out] ulong[] pArrayGive, [In, Out] uint[] pArrayGiveQuantity, uint nArrayGiveLength, [In, Out] ulong[] pArrayGet, [In, Out] uint[] pArrayGetQuantity, uint nArrayGetLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_LoadItemDefinitions")] +internal static extern bool SteamAPI_ISteamInventory_LoadItemDefinitions(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetItemDefinitionIDs")] +internal static extern bool SteamAPI_ISteamInventory_GetItemDefinitionIDs(IntPtr instancePtr, [In, Out] int[] pItemDefIDs, ref uint punItemDefIDsArraySize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetItemDefinitionProperty")] +internal static extern bool SteamAPI_ISteamInventory_GetItemDefinitionProperty(IntPtr instancePtr, int iDefinition, string pchPropertyName, System.Text.StringBuilder pchValueBuffer, ref uint punValueBufferSizeOut); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs")] +internal static extern ulong SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs(IntPtr instancePtr, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs")] +internal static extern bool SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(IntPtr instancePtr, ulong steamID, [In, Out] int[] pItemDefIDs, ref uint punItemDefIDsArraySize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_StartPurchase")] +internal static extern ulong SteamAPI_ISteamInventory_StartPurchase(IntPtr instancePtr, [In, Out] int[] pArrayItemDefs, [In, Out] uint[] punArrayQuantity, uint unArrayLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_RequestPrices")] +internal static extern ulong SteamAPI_ISteamInventory_RequestPrices(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetNumItemsWithPrices")] +internal static extern uint SteamAPI_ISteamInventory_GetNumItemsWithPrices(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetItemsWithPrices")] +internal static extern bool SteamAPI_ISteamInventory_GetItemsWithPrices(IntPtr instancePtr, [In, Out] int[] pArrayItemDefs, [In, Out] ulong[] pPrices, uint unArrayLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_GetItemPrice")] +internal static extern bool SteamAPI_ISteamInventory_GetItemPrice(IntPtr instancePtr, int iDefinition, ref ulong pPrice); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_StartUpdateProperties")] +internal static extern ulong SteamAPI_ISteamInventory_StartUpdateProperties(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_RemoveProperty")] +internal static extern bool SteamAPI_ISteamInventory_RemoveProperty(IntPtr instancePtr, ulong handle, ulong nItemID, string pchPropertyName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SetProperty")] +internal static extern bool SteamAPI_ISteamInventory_SetProperty(IntPtr instancePtr, ulong handle, ulong nItemID, string pchPropertyName, string pchPropertyValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SetProperty0")] +internal static extern bool SteamAPI_ISteamInventory_SetProperty0(IntPtr instancePtr, ulong handle, ulong nItemID, string pchPropertyName, bool bValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SetProperty1")] +internal static extern bool SteamAPI_ISteamInventory_SetProperty1(IntPtr instancePtr, ulong handle, ulong nItemID, string pchPropertyName, long nValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SetProperty2")] +internal static extern bool SteamAPI_ISteamInventory_SetProperty2(IntPtr instancePtr, ulong handle, ulong nItemID, string pchPropertyName, float flValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamInventory_SubmitUpdateProperties")] +internal static extern bool SteamAPI_ISteamInventory_SubmitUpdateProperties(IntPtr instancePtr, ulong handle, ref int pResultHandle); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamVideo_GetVideoURL")] +internal static extern void SteamAPI_ISteamVideo_GetVideoURL(IntPtr instancePtr, uint unVideoAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamVideo_IsBroadcasting")] +internal static extern bool SteamAPI_ISteamVideo_IsBroadcasting(IntPtr instancePtr, ref int pnNumViewers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamVideo_GetOPFSettings")] +internal static extern void SteamAPI_ISteamVideo_GetOPFSettings(IntPtr instancePtr, uint unVideoAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamVideo_GetOPFStringForApp")] +internal static extern bool SteamAPI_ISteamVideo_GetOPFStringForApp(IntPtr instancePtr, uint unVideoAppID, string pchBuffer, ref int pnBufferSize); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled")] +internal static extern bool SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsParentalLockLocked")] +internal static extern bool SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsAppBlocked")] +internal static extern bool SteamAPI_ISteamParentalSettings_BIsAppBlocked(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsAppInBlockList")] +internal static extern bool SteamAPI_ISteamParentalSettings_BIsAppInBlockList(IntPtr instancePtr, uint nAppID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsFeatureBlocked")] +internal static extern bool SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(IntPtr instancePtr, uint eFeature); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList")] +internal static extern bool SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(IntPtr instancePtr, uint eFeature); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_InitGameServer")] +internal static extern bool SteamAPI_ISteamGameServer_InitGameServer(IntPtr instancePtr, uint unIP, char usGamePort, char usQueryPort, uint unFlags, uint nGameAppId, string pchVersionString); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetProduct")] +internal static extern void SteamAPI_ISteamGameServer_SetProduct(IntPtr instancePtr, string pszProduct); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetGameDescription")] +internal static extern void SteamAPI_ISteamGameServer_SetGameDescription(IntPtr instancePtr, string pszGameDescription); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetModDir")] +internal static extern void SteamAPI_ISteamGameServer_SetModDir(IntPtr instancePtr, string pszModDir); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetDedicatedServer")] +internal static extern void SteamAPI_ISteamGameServer_SetDedicatedServer(IntPtr instancePtr, bool bDedicated); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_LogOn")] +internal static extern void SteamAPI_ISteamGameServer_LogOn(IntPtr instancePtr, string pszToken); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_LogOnAnonymous")] +internal static extern void SteamAPI_ISteamGameServer_LogOnAnonymous(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_LogOff")] +internal static extern void SteamAPI_ISteamGameServer_LogOff(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_BLoggedOn")] +internal static extern bool SteamAPI_ISteamGameServer_BLoggedOn(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_BSecure")] +internal static extern bool SteamAPI_ISteamGameServer_BSecure(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_GetSteamID")] +internal static extern ulong SteamAPI_ISteamGameServer_GetSteamID(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_WasRestartRequested")] +internal static extern bool SteamAPI_ISteamGameServer_WasRestartRequested(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetMaxPlayerCount")] +internal static extern void SteamAPI_ISteamGameServer_SetMaxPlayerCount(IntPtr instancePtr, int cPlayersMax); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetBotPlayerCount")] +internal static extern void SteamAPI_ISteamGameServer_SetBotPlayerCount(IntPtr instancePtr, int cBotplayers); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetServerName")] +internal static extern void SteamAPI_ISteamGameServer_SetServerName(IntPtr instancePtr, string pszServerName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetMapName")] +internal static extern void SteamAPI_ISteamGameServer_SetMapName(IntPtr instancePtr, string pszMapName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetPasswordProtected")] +internal static extern void SteamAPI_ISteamGameServer_SetPasswordProtected(IntPtr instancePtr, bool bPasswordProtected); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetSpectatorPort")] +internal static extern void SteamAPI_ISteamGameServer_SetSpectatorPort(IntPtr instancePtr, char unSpectatorPort); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetSpectatorServerName")] +internal static extern void SteamAPI_ISteamGameServer_SetSpectatorServerName(IntPtr instancePtr, string pszSpectatorServerName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_ClearAllKeyValues")] +internal static extern void SteamAPI_ISteamGameServer_ClearAllKeyValues(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetKeyValue")] +internal static extern void SteamAPI_ISteamGameServer_SetKeyValue(IntPtr instancePtr, string pKey, string pValue); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetGameTags")] +internal static extern void SteamAPI_ISteamGameServer_SetGameTags(IntPtr instancePtr, string pchGameTags); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetGameData")] +internal static extern void SteamAPI_ISteamGameServer_SetGameData(IntPtr instancePtr, string pchGameData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetRegion")] +internal static extern void SteamAPI_ISteamGameServer_SetRegion(IntPtr instancePtr, string pszRegion); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate")] +internal static extern bool SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate(IntPtr instancePtr, uint unIPClient, IntPtr pvAuthBlob, uint cubAuthBlobSize, ref CSteamID pSteamIDUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection")] +internal static extern ulong SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SendUserDisconnect")] +internal static extern void SteamAPI_ISteamGameServer_SendUserDisconnect(IntPtr instancePtr, ulong steamIDUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_BUpdateUserData")] +internal static extern bool SteamAPI_ISteamGameServer_BUpdateUserData(IntPtr instancePtr, ulong steamIDUser, string pchPlayerName, uint uScore); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_GetAuthSessionTicket")] +internal static extern uint SteamAPI_ISteamGameServer_GetAuthSessionTicket(IntPtr instancePtr, IntPtr pTicket, int cbMaxTicket, ref uint pcbTicket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_BeginAuthSession")] +internal static extern uint SteamAPI_ISteamGameServer_BeginAuthSession(IntPtr instancePtr, IntPtr pAuthTicket, int cbAuthTicket, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_EndAuthSession")] +internal static extern void SteamAPI_ISteamGameServer_EndAuthSession(IntPtr instancePtr, ulong steamID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_CancelAuthTicket")] +internal static extern void SteamAPI_ISteamGameServer_CancelAuthTicket(IntPtr instancePtr, uint hAuthTicket); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_UserHasLicenseForApp")] +internal static extern uint SteamAPI_ISteamGameServer_UserHasLicenseForApp(IntPtr instancePtr, ulong steamID, uint appID); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_RequestUserGroupStatus")] +internal static extern bool SteamAPI_ISteamGameServer_RequestUserGroupStatus(IntPtr instancePtr, ulong steamIDUser, ulong steamIDGroup); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_GetGameplayStats")] +internal static extern void SteamAPI_ISteamGameServer_GetGameplayStats(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_GetServerReputation")] +internal static extern ulong SteamAPI_ISteamGameServer_GetServerReputation(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_GetPublicIP")] +internal static extern uint SteamAPI_ISteamGameServer_GetPublicIP(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_HandleIncomingPacket")] +internal static extern bool SteamAPI_ISteamGameServer_HandleIncomingPacket(IntPtr instancePtr, IntPtr pData, int cbData, uint srcIP, char srcPort); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_GetNextOutgoingPacket")] +internal static extern int SteamAPI_ISteamGameServer_GetNextOutgoingPacket(IntPtr instancePtr, IntPtr pOut, int cbMaxOut, ref uint pNetAdr, ref char pPort); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_EnableHeartbeats")] +internal static extern void SteamAPI_ISteamGameServer_EnableHeartbeats(IntPtr instancePtr, bool bActive); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_SetHeartbeatInterval")] +internal static extern void SteamAPI_ISteamGameServer_SetHeartbeatInterval(IntPtr instancePtr, int iHeartbeatInterval); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_ForceHeartbeat")] +internal static extern void SteamAPI_ISteamGameServer_ForceHeartbeat(IntPtr instancePtr); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_AssociateWithClan")] +internal static extern ulong SteamAPI_ISteamGameServer_AssociateWithClan(IntPtr instancePtr, ulong steamIDClan); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility")] +internal static extern ulong SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility(IntPtr instancePtr, ulong steamIDNewPlayer); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_RequestUserStats")] +internal static extern ulong SteamAPI_ISteamGameServerStats_RequestUserStats(IntPtr instancePtr, ulong steamIDUser); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_GetUserStat")] +internal static extern bool SteamAPI_ISteamGameServerStats_GetUserStat(IntPtr instancePtr, ulong steamIDUser, string pchName, ref int pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_GetUserStat0")] +internal static extern bool SteamAPI_ISteamGameServerStats_GetUserStat0(IntPtr instancePtr, ulong steamIDUser, string pchName, ref float pData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_GetUserAchievement")] +internal static extern bool SteamAPI_ISteamGameServerStats_GetUserAchievement(IntPtr instancePtr, ulong steamIDUser, string pchName, ref bool pbAchieved); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_SetUserStat")] +internal static extern bool SteamAPI_ISteamGameServerStats_SetUserStat(IntPtr instancePtr, ulong steamIDUser, string pchName, int nData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_SetUserStat0")] +internal static extern bool SteamAPI_ISteamGameServerStats_SetUserStat0(IntPtr instancePtr, ulong steamIDUser, string pchName, float fData); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat")] +internal static extern bool SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat(IntPtr instancePtr, ulong steamIDUser, string pchName, float flCountThisSession, double dSessionLength); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_SetUserAchievement")] +internal static extern bool SteamAPI_ISteamGameServerStats_SetUserAchievement(IntPtr instancePtr, ulong steamIDUser, string pchName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_ClearUserAchievement")] +internal static extern bool SteamAPI_ISteamGameServerStats_ClearUserAchievement(IntPtr instancePtr, ulong steamIDUser, string pchName); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_ISteamGameServerStats_StoreUserStats")] +internal static extern ulong SteamAPI_ISteamGameServerStats_StoreUserStats(IntPtr instancePtr, ulong steamIDUser); +public delegate void SteamAPI_UserStatsReceived_t_Callback(UserStatsReceived_t pUserStatsReceived_t); +[DllImportAttribute("Steam_api", EntryPoint = "CUserStatsReceived_t_SetCallback")] +public static extern ulong CUserStatsReceived_t_SetCallback(SteamAPI_UserStatsReceived_t_Callback func); +[DllImportAttribute("Steam_api", EntryPoint = "CUserStatsReceived_t_RemoveCallback")] +public static extern ulong CUserStatsReceived_t_RemoveCallback(ulong handle); +public delegate void SteamAPI_GetOPFSettingsResult_t_Callback(GetOPFSettingsResult_t pGetOPFSettingsResult_t); +[DllImportAttribute("Steam_api", EntryPoint = "CGetOPFSettingsResult_t_SetCallback")] +public static extern ulong CGetOPFSettingsResult_t_SetCallback(SteamAPI_GetOPFSettingsResult_t_Callback func); +[DllImportAttribute("Steam_api", EntryPoint = "CGetOPFSettingsResult_t_RemoveCallback")] +public static extern ulong CGetOPFSettingsResult_t_RemoveCallback(ulong handle); +public delegate void SteamAPI_SteamInventoryStartPurchaseResult_t_CallResult(SteamInventoryStartPurchaseResult_t pSteamInventoryStartPurchaseResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryStartPurchaseResult_t_SetCallResult")] +public static extern ulong CSteamInventoryStartPurchaseResult_t_SetCallResult(ulong hAPICall, SteamAPI_SteamInventoryStartPurchaseResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryStartPurchaseResult_t_RemoveCallResult")] +public static extern ulong CSteamInventoryStartPurchaseResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageFileReadAsyncComplete_t_CallResult(RemoteStorageFileReadAsyncComplete_t pRemoteStorageFileReadAsyncComplete_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageFileReadAsyncComplete_t_SetCallResult")] +public static extern ulong CRemoteStorageFileReadAsyncComplete_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageFileReadAsyncComplete_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageFileReadAsyncComplete_t_RemoveCallResult")] +public static extern ulong CRemoteStorageFileReadAsyncComplete_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageGetPublishedItemVoteDetailsResult_t_CallResult(RemoteStorageGetPublishedItemVoteDetailsResult_t pRemoteStorageGetPublishedItemVoteDetailsResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageGetPublishedItemVoteDetailsResult_t_SetCallResult")] +public static extern ulong CRemoteStorageGetPublishedItemVoteDetailsResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageGetPublishedItemVoteDetailsResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageGetPublishedItemVoteDetailsResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageGetPublishedItemVoteDetailsResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_FileDetailsResult_t_CallResult(FileDetailsResult_t pFileDetailsResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CFileDetailsResult_t_SetCallResult")] +public static extern ulong CFileDetailsResult_t_SetCallResult(ulong hAPICall, SteamAPI_FileDetailsResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CFileDetailsResult_t_RemoveCallResult")] +public static extern ulong CFileDetailsResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GSStatsStored_t_CallResult(GSStatsStored_t pGSStatsStored_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGSStatsStored_t_SetCallResult")] +public static extern ulong CGSStatsStored_t_SetCallResult(ulong hAPICall, SteamAPI_GSStatsStored_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGSStatsStored_t_RemoveCallResult")] +public static extern ulong CGSStatsStored_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_StartPlaytimeTrackingResult_t_CallResult(StartPlaytimeTrackingResult_t pStartPlaytimeTrackingResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CStartPlaytimeTrackingResult_t_SetCallResult")] +public static extern ulong CStartPlaytimeTrackingResult_t_SetCallResult(ulong hAPICall, SteamAPI_StartPlaytimeTrackingResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CStartPlaytimeTrackingResult_t_RemoveCallResult")] +public static extern ulong CStartPlaytimeTrackingResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_FriendsGetFollowerCount_t_CallResult(FriendsGetFollowerCount_t pFriendsGetFollowerCount_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CFriendsGetFollowerCount_t_SetCallResult")] +public static extern ulong CFriendsGetFollowerCount_t_SetCallResult(ulong hAPICall, SteamAPI_FriendsGetFollowerCount_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CFriendsGetFollowerCount_t_RemoveCallResult")] +public static extern ulong CFriendsGetFollowerCount_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_FriendsIsFollowing_t_CallResult(FriendsIsFollowing_t pFriendsIsFollowing_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CFriendsIsFollowing_t_SetCallResult")] +public static extern ulong CFriendsIsFollowing_t_SetCallResult(ulong hAPICall, SteamAPI_FriendsIsFollowing_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CFriendsIsFollowing_t_RemoveCallResult")] +public static extern ulong CFriendsIsFollowing_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LobbyMatchList_t_CallResult(LobbyMatchList_t pLobbyMatchList_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLobbyMatchList_t_SetCallResult")] +public static extern ulong CLobbyMatchList_t_SetCallResult(ulong hAPICall, SteamAPI_LobbyMatchList_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLobbyMatchList_t_RemoveCallResult")] +public static extern ulong CLobbyMatchList_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageUpdatePublishedFileResult_t_CallResult(RemoteStorageUpdatePublishedFileResult_t pRemoteStorageUpdatePublishedFileResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageUpdatePublishedFileResult_t_SetCallResult")] +public static extern ulong CRemoteStorageUpdatePublishedFileResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageUpdatePublishedFileResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageUpdatePublishedFileResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageUpdatePublishedFileResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_StoreAuthURLResponse_t_CallResult(StoreAuthURLResponse_t pStoreAuthURLResponse_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CStoreAuthURLResponse_t_SetCallResult")] +public static extern ulong CStoreAuthURLResponse_t_SetCallResult(ulong hAPICall, SteamAPI_StoreAuthURLResponse_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CStoreAuthURLResponse_t_RemoveCallResult")] +public static extern ulong CStoreAuthURLResponse_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LobbyCreated_t_CallResult(LobbyCreated_t pLobbyCreated_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLobbyCreated_t_SetCallResult")] +public static extern ulong CLobbyCreated_t_SetCallResult(ulong hAPICall, SteamAPI_LobbyCreated_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLobbyCreated_t_RemoveCallResult")] +public static extern ulong CLobbyCreated_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageFileWriteAsyncComplete_t_CallResult(RemoteStorageFileWriteAsyncComplete_t pRemoteStorageFileWriteAsyncComplete_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageFileWriteAsyncComplete_t_SetCallResult")] +public static extern ulong CRemoteStorageFileWriteAsyncComplete_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageFileWriteAsyncComplete_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageFileWriteAsyncComplete_t_RemoveCallResult")] +public static extern ulong CRemoteStorageFileWriteAsyncComplete_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageDeletePublishedFileResult_t_CallResult(RemoteStorageDeletePublishedFileResult_t pRemoteStorageDeletePublishedFileResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageDeletePublishedFileResult_t_SetCallResult")] +public static extern ulong CRemoteStorageDeletePublishedFileResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageDeletePublishedFileResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageDeletePublishedFileResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageDeletePublishedFileResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageGetPublishedFileDetailsResult_t_CallResult(RemoteStorageGetPublishedFileDetailsResult_t pRemoteStorageGetPublishedFileDetailsResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageGetPublishedFileDetailsResult_t_SetCallResult")] +public static extern ulong CRemoteStorageGetPublishedFileDetailsResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageGetPublishedFileDetailsResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageGetPublishedFileDetailsResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageGetPublishedFileDetailsResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_AddUGCDependencyResult_t_CallResult(AddUGCDependencyResult_t pAddUGCDependencyResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CAddUGCDependencyResult_t_SetCallResult")] +public static extern ulong CAddUGCDependencyResult_t_SetCallResult(ulong hAPICall, SteamAPI_AddUGCDependencyResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CAddUGCDependencyResult_t_RemoveCallResult")] +public static extern ulong CAddUGCDependencyResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageDownloadUGCResult_t_CallResult(RemoteStorageDownloadUGCResult_t pRemoteStorageDownloadUGCResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageDownloadUGCResult_t_SetCallResult")] +public static extern ulong CRemoteStorageDownloadUGCResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageDownloadUGCResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageDownloadUGCResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageDownloadUGCResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_SteamUGCQueryCompleted_t_CallResult(SteamUGCQueryCompleted_t pSteamUGCQueryCompleted_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamUGCQueryCompleted_t_SetCallResult")] +public static extern ulong CSteamUGCQueryCompleted_t_SetCallResult(ulong hAPICall, SteamAPI_SteamUGCQueryCompleted_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamUGCQueryCompleted_t_RemoveCallResult")] +public static extern ulong CSteamUGCQueryCompleted_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageFileShareResult_t_CallResult(RemoteStorageFileShareResult_t pRemoteStorageFileShareResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageFileShareResult_t_SetCallResult")] +public static extern ulong CRemoteStorageFileShareResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageFileShareResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageFileShareResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageFileShareResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LobbyEnter_t_CallResult(LobbyEnter_t pLobbyEnter_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLobbyEnter_t_SetCallResult")] +public static extern ulong CLobbyEnter_t_SetCallResult(ulong hAPICall, SteamAPI_LobbyEnter_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLobbyEnter_t_RemoveCallResult")] +public static extern ulong CLobbyEnter_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_SubmitItemUpdateResult_t_CallResult(SubmitItemUpdateResult_t pSubmitItemUpdateResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSubmitItemUpdateResult_t_SetCallResult")] +public static extern ulong CSubmitItemUpdateResult_t_SetCallResult(ulong hAPICall, SteamAPI_SubmitItemUpdateResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSubmitItemUpdateResult_t_RemoveCallResult")] +public static extern ulong CSubmitItemUpdateResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_NumberOfCurrentPlayers_t_CallResult(NumberOfCurrentPlayers_t pNumberOfCurrentPlayers_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CNumberOfCurrentPlayers_t_SetCallResult")] +public static extern ulong CNumberOfCurrentPlayers_t_SetCallResult(ulong hAPICall, SteamAPI_NumberOfCurrentPlayers_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CNumberOfCurrentPlayers_t_RemoveCallResult")] +public static extern ulong CNumberOfCurrentPlayers_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GSStatsReceived_t_CallResult(GSStatsReceived_t pGSStatsReceived_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGSStatsReceived_t_SetCallResult")] +public static extern ulong CGSStatsReceived_t_SetCallResult(ulong hAPICall, SteamAPI_GSStatsReceived_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGSStatsReceived_t_RemoveCallResult")] +public static extern ulong CGSStatsReceived_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_HTML_BrowserReady_t_CallResult(HTML_BrowserReady_t pHTML_BrowserReady_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CHTML_BrowserReady_t_SetCallResult")] +public static extern ulong CHTML_BrowserReady_t_SetCallResult(ulong hAPICall, SteamAPI_HTML_BrowserReady_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CHTML_BrowserReady_t_RemoveCallResult")] +public static extern ulong CHTML_BrowserReady_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LeaderboardScoresDownloaded_t_CallResult(LeaderboardScoresDownloaded_t pLeaderboardScoresDownloaded_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardScoresDownloaded_t_SetCallResult")] +public static extern ulong CLeaderboardScoresDownloaded_t_SetCallResult(ulong hAPICall, SteamAPI_LeaderboardScoresDownloaded_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardScoresDownloaded_t_RemoveCallResult")] +public static extern ulong CLeaderboardScoresDownloaded_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageUpdateUserPublishedItemVoteResult_t_CallResult(RemoteStorageUpdateUserPublishedItemVoteResult_t pRemoteStorageUpdateUserPublishedItemVoteResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageUpdateUserPublishedItemVoteResult_t_SetCallResult")] +public static extern ulong CRemoteStorageUpdateUserPublishedItemVoteResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageUpdateUserPublishedItemVoteResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageUpdateUserPublishedItemVoteResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageUpdateUserPublishedItemVoteResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageEnumerateUserSubscribedFilesResult_t_CallResult(RemoteStorageEnumerateUserSubscribedFilesResult_t pRemoteStorageEnumerateUserSubscribedFilesResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateUserSubscribedFilesResult_t_SetCallResult")] +public static extern ulong CRemoteStorageEnumerateUserSubscribedFilesResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageEnumerateUserSubscribedFilesResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateUserSubscribedFilesResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageEnumerateUserSubscribedFilesResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_CreateItemResult_t_CallResult(CreateItemResult_t pCreateItemResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CCreateItemResult_t_SetCallResult")] +public static extern ulong CCreateItemResult_t_SetCallResult(ulong hAPICall, SteamAPI_CreateItemResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CCreateItemResult_t_RemoveCallResult")] +public static extern ulong CCreateItemResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_DeleteItemResult_t_CallResult(DeleteItemResult_t pDeleteItemResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CDeleteItemResult_t_SetCallResult")] +public static extern ulong CDeleteItemResult_t_SetCallResult(ulong hAPICall, SteamAPI_DeleteItemResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CDeleteItemResult_t_RemoveCallResult")] +public static extern ulong CDeleteItemResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_SetUserItemVoteResult_t_CallResult(SetUserItemVoteResult_t pSetUserItemVoteResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSetUserItemVoteResult_t_SetCallResult")] +public static extern ulong CSetUserItemVoteResult_t_SetCallResult(ulong hAPICall, SteamAPI_SetUserItemVoteResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSetUserItemVoteResult_t_RemoveCallResult")] +public static extern ulong CSetUserItemVoteResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_SteamInventoryRequestPricesResult_t_CallResult(SteamInventoryRequestPricesResult_t pSteamInventoryRequestPricesResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryRequestPricesResult_t_SetCallResult")] +public static extern ulong CSteamInventoryRequestPricesResult_t_SetCallResult(ulong hAPICall, SteamAPI_SteamInventoryRequestPricesResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryRequestPricesResult_t_RemoveCallResult")] +public static extern ulong CSteamInventoryRequestPricesResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_ComputeNewPlayerCompatibilityResult_t_CallResult(ComputeNewPlayerCompatibilityResult_t pComputeNewPlayerCompatibilityResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CComputeNewPlayerCompatibilityResult_t_SetCallResult")] +public static extern ulong CComputeNewPlayerCompatibilityResult_t_SetCallResult(ulong hAPICall, SteamAPI_ComputeNewPlayerCompatibilityResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CComputeNewPlayerCompatibilityResult_t_RemoveCallResult")] +public static extern ulong CComputeNewPlayerCompatibilityResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LeaderboardScoreUploaded_t_CallResult(LeaderboardScoreUploaded_t pLeaderboardScoreUploaded_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardScoreUploaded_t_SetCallResult")] +public static extern ulong CLeaderboardScoreUploaded_t_SetCallResult(ulong hAPICall, SteamAPI_LeaderboardScoreUploaded_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardScoreUploaded_t_RemoveCallResult")] +public static extern ulong CLeaderboardScoreUploaded_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GlobalAchievementPercentagesReady_t_CallResult(GlobalAchievementPercentagesReady_t pGlobalAchievementPercentagesReady_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGlobalAchievementPercentagesReady_t_SetCallResult")] +public static extern ulong CGlobalAchievementPercentagesReady_t_SetCallResult(ulong hAPICall, SteamAPI_GlobalAchievementPercentagesReady_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGlobalAchievementPercentagesReady_t_RemoveCallResult")] +public static extern ulong CGlobalAchievementPercentagesReady_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GlobalStatsReceived_t_CallResult(GlobalStatsReceived_t pGlobalStatsReceived_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGlobalStatsReceived_t_SetCallResult")] +public static extern ulong CGlobalStatsReceived_t_SetCallResult(ulong hAPICall, SteamAPI_GlobalStatsReceived_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGlobalStatsReceived_t_RemoveCallResult")] +public static extern ulong CGlobalStatsReceived_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageEnumeratePublishedFilesByUserActionResult_t_CallResult(RemoteStorageEnumeratePublishedFilesByUserActionResult_t pRemoteStorageEnumeratePublishedFilesByUserActionResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_SetCallResult")] +public static extern ulong CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageEnumeratePublishedFilesByUserActionResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_ClanOfficerListResponse_t_CallResult(ClanOfficerListResponse_t pClanOfficerListResponse_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CClanOfficerListResponse_t_SetCallResult")] +public static extern ulong CClanOfficerListResponse_t_SetCallResult(ulong hAPICall, SteamAPI_ClanOfficerListResponse_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CClanOfficerListResponse_t_RemoveCallResult")] +public static extern ulong CClanOfficerListResponse_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStoragePublishFileProgress_t_CallResult(RemoteStoragePublishFileProgress_t pRemoteStoragePublishFileProgress_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStoragePublishFileProgress_t_SetCallResult")] +public static extern ulong CRemoteStoragePublishFileProgress_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStoragePublishFileProgress_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStoragePublishFileProgress_t_RemoveCallResult")] +public static extern ulong CRemoteStoragePublishFileProgress_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageEnumerateWorkshopFilesResult_t_CallResult(RemoteStorageEnumerateWorkshopFilesResult_t pRemoteStorageEnumerateWorkshopFilesResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateWorkshopFilesResult_t_SetCallResult")] +public static extern ulong CRemoteStorageEnumerateWorkshopFilesResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageEnumerateWorkshopFilesResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateWorkshopFilesResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageEnumerateWorkshopFilesResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoveUGCDependencyResult_t_CallResult(RemoveUGCDependencyResult_t pRemoveUGCDependencyResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoveUGCDependencyResult_t_SetCallResult")] +public static extern ulong CRemoveUGCDependencyResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoveUGCDependencyResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoveUGCDependencyResult_t_RemoveCallResult")] +public static extern ulong CRemoveUGCDependencyResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GSReputation_t_CallResult(GSReputation_t pGSReputation_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGSReputation_t_SetCallResult")] +public static extern ulong CGSReputation_t_SetCallResult(ulong hAPICall, SteamAPI_GSReputation_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGSReputation_t_RemoveCallResult")] +public static extern ulong CGSReputation_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_UserFavoriteItemsListChanged_t_CallResult(UserFavoriteItemsListChanged_t pUserFavoriteItemsListChanged_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CUserFavoriteItemsListChanged_t_SetCallResult")] +public static extern ulong CUserFavoriteItemsListChanged_t_SetCallResult(ulong hAPICall, SteamAPI_UserFavoriteItemsListChanged_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CUserFavoriteItemsListChanged_t_RemoveCallResult")] +public static extern ulong CUserFavoriteItemsListChanged_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_AddAppDependencyResult_t_CallResult(AddAppDependencyResult_t pAddAppDependencyResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CAddAppDependencyResult_t_SetCallResult")] +public static extern ulong CAddAppDependencyResult_t_SetCallResult(ulong hAPICall, SteamAPI_AddAppDependencyResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CAddAppDependencyResult_t_RemoveCallResult")] +public static extern ulong CAddAppDependencyResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_EncryptedAppTicketResponse_t_CallResult(EncryptedAppTicketResponse_t pEncryptedAppTicketResponse_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CEncryptedAppTicketResponse_t_SetCallResult")] +public static extern ulong CEncryptedAppTicketResponse_t_SetCallResult(ulong hAPICall, SteamAPI_EncryptedAppTicketResponse_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CEncryptedAppTicketResponse_t_RemoveCallResult")] +public static extern ulong CEncryptedAppTicketResponse_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageSetUserPublishedFileActionResult_t_CallResult(RemoteStorageSetUserPublishedFileActionResult_t pRemoteStorageSetUserPublishedFileActionResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageSetUserPublishedFileActionResult_t_SetCallResult")] +public static extern ulong CRemoteStorageSetUserPublishedFileActionResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageSetUserPublishedFileActionResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageSetUserPublishedFileActionResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageSetUserPublishedFileActionResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_StopPlaytimeTrackingResult_t_CallResult(StopPlaytimeTrackingResult_t pStopPlaytimeTrackingResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CStopPlaytimeTrackingResult_t_SetCallResult")] +public static extern ulong CStopPlaytimeTrackingResult_t_SetCallResult(ulong hAPICall, SteamAPI_StopPlaytimeTrackingResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CStopPlaytimeTrackingResult_t_RemoveCallResult")] +public static extern ulong CStopPlaytimeTrackingResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageEnumerateUserPublishedFilesResult_t_CallResult(RemoteStorageEnumerateUserPublishedFilesResult_t pRemoteStorageEnumerateUserPublishedFilesResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateUserPublishedFilesResult_t_SetCallResult")] +public static extern ulong CRemoteStorageEnumerateUserPublishedFilesResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageEnumerateUserPublishedFilesResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageEnumerateUserPublishedFilesResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageEnumerateUserPublishedFilesResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_FriendsEnumerateFollowingList_t_CallResult(FriendsEnumerateFollowingList_t pFriendsEnumerateFollowingList_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CFriendsEnumerateFollowingList_t_SetCallResult")] +public static extern ulong CFriendsEnumerateFollowingList_t_SetCallResult(ulong hAPICall, SteamAPI_FriendsEnumerateFollowingList_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CFriendsEnumerateFollowingList_t_RemoveCallResult")] +public static extern ulong CFriendsEnumerateFollowingList_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageSubscribePublishedFileResult_t_CallResult(RemoteStorageSubscribePublishedFileResult_t pRemoteStorageSubscribePublishedFileResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageSubscribePublishedFileResult_t_SetCallResult")] +public static extern ulong CRemoteStorageSubscribePublishedFileResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageSubscribePublishedFileResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageSubscribePublishedFileResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageSubscribePublishedFileResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GetUserItemVoteResult_t_CallResult(GetUserItemVoteResult_t pGetUserItemVoteResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGetUserItemVoteResult_t_SetCallResult")] +public static extern ulong CGetUserItemVoteResult_t_SetCallResult(ulong hAPICall, SteamAPI_GetUserItemVoteResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGetUserItemVoteResult_t_RemoveCallResult")] +public static extern ulong CGetUserItemVoteResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_AssociateWithClanResult_t_CallResult(AssociateWithClanResult_t pAssociateWithClanResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CAssociateWithClanResult_t_SetCallResult")] +public static extern ulong CAssociateWithClanResult_t_SetCallResult(ulong hAPICall, SteamAPI_AssociateWithClanResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CAssociateWithClanResult_t_RemoveCallResult")] +public static extern ulong CAssociateWithClanResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LeaderboardUGCSet_t_CallResult(LeaderboardUGCSet_t pLeaderboardUGCSet_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardUGCSet_t_SetCallResult")] +public static extern ulong CLeaderboardUGCSet_t_SetCallResult(ulong hAPICall, SteamAPI_LeaderboardUGCSet_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardUGCSet_t_RemoveCallResult")] +public static extern ulong CLeaderboardUGCSet_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_CheckFileSignature_t_CallResult(CheckFileSignature_t pCheckFileSignature_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CCheckFileSignature_t_SetCallResult")] +public static extern ulong CCheckFileSignature_t_SetCallResult(ulong hAPICall, SteamAPI_CheckFileSignature_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CCheckFileSignature_t_RemoveCallResult")] +public static extern ulong CCheckFileSignature_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_GetAppDependenciesResult_t_CallResult(GetAppDependenciesResult_t pGetAppDependenciesResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CGetAppDependenciesResult_t_SetCallResult")] +public static extern ulong CGetAppDependenciesResult_t_SetCallResult(ulong hAPICall, SteamAPI_GetAppDependenciesResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CGetAppDependenciesResult_t_RemoveCallResult")] +public static extern ulong CGetAppDependenciesResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoteStorageUnsubscribePublishedFileResult_t_CallResult(RemoteStorageUnsubscribePublishedFileResult_t pRemoteStorageUnsubscribePublishedFileResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageUnsubscribePublishedFileResult_t_SetCallResult")] +public static extern ulong CRemoteStorageUnsubscribePublishedFileResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoteStorageUnsubscribePublishedFileResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoteStorageUnsubscribePublishedFileResult_t_RemoveCallResult")] +public static extern ulong CRemoteStorageUnsubscribePublishedFileResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_SetPersonaNameResponse_t_CallResult(SetPersonaNameResponse_t pSetPersonaNameResponse_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSetPersonaNameResponse_t_SetCallResult")] +public static extern ulong CSetPersonaNameResponse_t_SetCallResult(ulong hAPICall, SteamAPI_SetPersonaNameResponse_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSetPersonaNameResponse_t_RemoveCallResult")] +public static extern ulong CSetPersonaNameResponse_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_RemoveAppDependencyResult_t_CallResult(RemoveAppDependencyResult_t pRemoveAppDependencyResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoveAppDependencyResult_t_SetCallResult")] +public static extern ulong CRemoveAppDependencyResult_t_SetCallResult(ulong hAPICall, SteamAPI_RemoveAppDependencyResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CRemoveAppDependencyResult_t_RemoveCallResult")] +public static extern ulong CRemoveAppDependencyResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_UserStatsReceived_t_CallResult(UserStatsReceived_t pUserStatsReceived_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CUserStatsReceived_t_SetCallResult")] +public static extern ulong CUserStatsReceived_t_SetCallResult(ulong hAPICall, SteamAPI_UserStatsReceived_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CUserStatsReceived_t_RemoveCallResult")] +public static extern ulong CUserStatsReceived_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_SteamInventoryEligiblePromoItemDefIDs_t_CallResult(SteamInventoryEligiblePromoItemDefIDs_t pSteamInventoryEligiblePromoItemDefIDs_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryEligiblePromoItemDefIDs_t_SetCallResult")] +public static extern ulong CSteamInventoryEligiblePromoItemDefIDs_t_SetCallResult(ulong hAPICall, SteamAPI_SteamInventoryEligiblePromoItemDefIDs_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CSteamInventoryEligiblePromoItemDefIDs_t_RemoveCallResult")] +public static extern ulong CSteamInventoryEligiblePromoItemDefIDs_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_JoinClanChatRoomCompletionResult_t_CallResult(JoinClanChatRoomCompletionResult_t pJoinClanChatRoomCompletionResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CJoinClanChatRoomCompletionResult_t_SetCallResult")] +public static extern ulong CJoinClanChatRoomCompletionResult_t_SetCallResult(ulong hAPICall, SteamAPI_JoinClanChatRoomCompletionResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CJoinClanChatRoomCompletionResult_t_RemoveCallResult")] +public static extern ulong CJoinClanChatRoomCompletionResult_t_RemoveCallResult(ulong handle); +public delegate void SteamAPI_LeaderboardFindResult_t_CallResult(LeaderboardFindResult_t pLeaderboardFindResult_t, bool bIOFailure); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardFindResult_t_SetCallResult")] +public static extern ulong CLeaderboardFindResult_t_SetCallResult(ulong hAPICall, SteamAPI_LeaderboardFindResult_t_CallResult func); +[DllImportAttribute("Steam_api", EntryPoint = "CLeaderboardFindResult_t_RemoveCallResult")] +public static extern ulong CLeaderboardFindResult_t_RemoveCallResult(ulong handle); + +} + +} + +namespace Valve.Steamworks +{ + + public abstract class ISteamClient + { + public abstract IntPtr GetIntPtr(); + public abstract uint CreateSteamPipe(); + public abstract bool BReleaseSteamPipe(uint hSteamPipe); + public abstract uint ConnectToGlobalUser(uint hSteamPipe); + public abstract uint CreateLocalUser(ref uint phSteamPipe,uint eAccountType); + public abstract void ReleaseUser(uint hSteamPipe,uint hUser); + public abstract ISteamUser GetISteamUser(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamGameServer GetISteamGameServer(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract void SetLocalIPBinding(uint unIP,char usPort); + public abstract ISteamFriends GetISteamFriends(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamUtils GetISteamUtils(uint hSteamPipe,string pchVersion); + public abstract ISteamMatchmaking GetISteamMatchmaking(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamMatchmakingServers GetISteamMatchmakingServers(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract IntPtr GetISteamGenericInterface(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamUserStats GetISteamUserStats(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamGameServerStats GetISteamGameServerStats(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamApps GetISteamApps(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamNetworking GetISteamNetworking(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamRemoteStorage GetISteamRemoteStorage(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamScreenshots GetISteamScreenshots(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract uint GetIPCCallCount(); + public abstract void SetWarningMessageHook(IntPtr pFunction); + public abstract bool BShutdownIfAllPipesClosed(); + public abstract ISteamHTTP GetISteamHTTP(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamController GetISteamController(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamUGC GetISteamUGC(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamAppList GetISteamAppList(uint hSteamUser,uint hSteamPipe,string pchVersion); + public abstract ISteamMusic GetISteamMusic(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamMusicRemote GetISteamMusicRemote(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamHTMLSurface GetISteamHTMLSurface(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamInventory GetISteamInventory(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamVideo GetISteamVideo(uint hSteamuser,uint hSteamPipe,string pchVersion); + public abstract ISteamParentalSettings GetISteamParentalSettings(uint hSteamuser,uint hSteamPipe,string pchVersion); + } + + + public abstract class ISteamUser + { + public abstract IntPtr GetIntPtr(); + public abstract uint GetHSteamUser(); + public abstract bool BLoggedOn(); + public abstract ulong GetSteamID(); + public abstract int InitiateGameConnection(IntPtr pAuthBlob,int cbMaxAuthBlob,ulong steamIDGameServer,uint unIPServer,char usPortServer,bool bSecure); + public abstract void TerminateGameConnection(uint unIPServer,char usPortServer); + public abstract void TrackAppUsageEvent(ulong gameID,int eAppUsageEvent,string pchExtraInfo); + public abstract bool GetUserDataFolder(string pchBuffer,int cubBuffer); + public abstract void StartVoiceRecording(); + public abstract void StopVoiceRecording(); + public abstract uint GetAvailableVoice(ref uint pcbCompressed,ref uint pcbUncompressed_Deprecated,uint nUncompressedVoiceDesiredSampleRate_Deprecated); + public abstract uint GetVoice(bool bWantCompressed,IntPtr pDestBuffer,uint cbDestBufferSize,ref uint nBytesWritten,bool bWantUncompressed_Deprecated,IntPtr pUncompressedDestBuffer_Deprecated,uint cbUncompressedDestBufferSize_Deprecated,ref uint nUncompressBytesWritten_Deprecated,uint nUncompressedVoiceDesiredSampleRate_Deprecated); + public abstract uint DecompressVoice(IntPtr pCompressed,uint cbCompressed,IntPtr pDestBuffer,uint cbDestBufferSize,ref uint nBytesWritten,uint nDesiredSampleRate); + public abstract uint GetVoiceOptimalSampleRate(); + public abstract uint GetAuthSessionTicket(IntPtr pTicket,int cbMaxTicket,ref uint pcbTicket); + public abstract uint BeginAuthSession(IntPtr pAuthTicket,int cbAuthTicket,ulong steamID); + public abstract void EndAuthSession(ulong steamID); + public abstract void CancelAuthTicket(uint hAuthTicket); + public abstract uint UserHasLicenseForApp(ulong steamID,uint appID); + public abstract bool BIsBehindNAT(); + public abstract void AdvertiseGame(ulong steamIDGameServer,uint unIPServer,char usPortServer); + public abstract ulong RequestEncryptedAppTicket(IntPtr pDataToInclude,int cbDataToInclude); + public abstract bool GetEncryptedAppTicket(IntPtr pTicket,int cbMaxTicket,ref uint pcbTicket); + public abstract int GetGameBadgeLevel(int nSeries,bool bFoil); + public abstract int GetPlayerSteamLevel(); + public abstract ulong RequestStoreAuthURL(string pchRedirectURL); + public abstract bool BIsPhoneVerified(); + public abstract bool BIsTwoFactorEnabled(); + public abstract bool BIsPhoneIdentifying(); + public abstract bool BIsPhoneRequiringVerification(); + } + + + public abstract class ISteamFriends + { + public abstract IntPtr GetIntPtr(); + public abstract string GetPersonaName(); + public abstract ulong SetPersonaName(string pchPersonaName); + public abstract uint GetPersonaState(); + public abstract int GetFriendCount(int iFriendFlags); + public abstract ulong GetFriendByIndex(int iFriend,int iFriendFlags); + public abstract uint GetFriendRelationship(ulong steamIDFriend); + public abstract uint GetFriendPersonaState(ulong steamIDFriend); + public abstract string GetFriendPersonaName(ulong steamIDFriend); + public abstract bool GetFriendGamePlayed(ulong steamIDFriend,out FriendGameInfo_t pFriendGameInfo); + public abstract string GetFriendPersonaNameHistory(ulong steamIDFriend,int iPersonaName); + public abstract int GetFriendSteamLevel(ulong steamIDFriend); + public abstract string GetPlayerNickname(ulong steamIDPlayer); + public abstract int GetFriendsGroupCount(); + public abstract char GetFriendsGroupIDByIndex(int iFG); + public abstract string GetFriendsGroupName(char friendsGroupID); + public abstract int GetFriendsGroupMembersCount(char friendsGroupID); + public abstract void GetFriendsGroupMembersList(char friendsGroupID,out CSteamID [] pOutSteamIDMembers); + public abstract bool HasFriend(ulong steamIDFriend,int iFriendFlags); + public abstract int GetClanCount(); + public abstract ulong GetClanByIndex(int iClan); + public abstract string GetClanName(ulong steamIDClan); + public abstract string GetClanTag(ulong steamIDClan); + public abstract bool GetClanActivityCounts(ulong steamIDClan,ref int pnOnline,ref int pnInGame,ref int pnChatting); + public abstract ulong DownloadClanActivityCounts(CSteamID [] psteamIDClans); + public abstract int GetFriendCountFromSource(ulong steamIDSource); + public abstract ulong GetFriendFromSourceByIndex(ulong steamIDSource,int iFriend); + public abstract bool IsUserInSource(ulong steamIDUser,ulong steamIDSource); + public abstract void SetInGameVoiceSpeaking(ulong steamIDUser,bool bSpeaking); + public abstract void ActivateGameOverlay(string pchDialog); + public abstract void ActivateGameOverlayToUser(string pchDialog,ulong steamID); + public abstract void ActivateGameOverlayToWebPage(string pchURL); + public abstract void ActivateGameOverlayToStore(uint nAppID,char eFlag); + public abstract void SetPlayedWith(ulong steamIDUserPlayedWith); + public abstract void ActivateGameOverlayInviteDialog(ulong steamIDLobby); + public abstract int GetSmallFriendAvatar(ulong steamIDFriend); + public abstract int GetMediumFriendAvatar(ulong steamIDFriend); + public abstract int GetLargeFriendAvatar(ulong steamIDFriend); + public abstract bool RequestUserInformation(ulong steamIDUser,bool bRequireNameOnly); + public abstract ulong RequestClanOfficerList(ulong steamIDClan); + public abstract ulong GetClanOwner(ulong steamIDClan); + public abstract int GetClanOfficerCount(ulong steamIDClan); + public abstract ulong GetClanOfficerByIndex(ulong steamIDClan,int iOfficer); + public abstract uint GetUserRestrictions(); + public abstract bool SetRichPresence(string pchKey,string pchValue); + public abstract void ClearRichPresence(); + public abstract string GetFriendRichPresence(ulong steamIDFriend,string pchKey); + public abstract int GetFriendRichPresenceKeyCount(ulong steamIDFriend); + public abstract string GetFriendRichPresenceKeyByIndex(ulong steamIDFriend,int iKey); + public abstract void RequestFriendRichPresence(ulong steamIDFriend); + public abstract bool InviteUserToGame(ulong steamIDFriend,string pchConnectString); + public abstract int GetCoplayFriendCount(); + public abstract ulong GetCoplayFriend(int iCoplayFriend); + public abstract int GetFriendCoplayTime(ulong steamIDFriend); + public abstract uint GetFriendCoplayGame(ulong steamIDFriend); + public abstract ulong JoinClanChatRoom(ulong steamIDClan); + public abstract bool LeaveClanChatRoom(ulong steamIDClan); + public abstract int GetClanChatMemberCount(ulong steamIDClan); + public abstract ulong GetChatMemberByIndex(ulong steamIDClan,int iUser); + public abstract bool SendClanChatMessage(ulong steamIDClanChat,string pchText); + public abstract int GetClanChatMessage(ulong steamIDClanChat,int iMessage,IntPtr prgchText,int cchTextMax,ref uint peChatEntryType,out CSteamID psteamidChatter); + public abstract bool IsClanChatAdmin(ulong steamIDClanChat,ulong steamIDUser); + public abstract bool IsClanChatWindowOpenInSteam(ulong steamIDClanChat); + public abstract bool OpenClanChatWindowInSteam(ulong steamIDClanChat); + public abstract bool CloseClanChatWindowInSteam(ulong steamIDClanChat); + public abstract bool SetListenForFriendsMessages(bool bInterceptEnabled); + public abstract bool ReplyToFriendMessage(ulong steamIDFriend,string pchMsgToSend); + public abstract int GetFriendMessage(ulong steamIDFriend,int iMessageID,IntPtr pvData,int cubData,ref uint peChatEntryType); + public abstract ulong GetFollowerCount(ulong steamID); + public abstract ulong IsFollowing(ulong steamID); + public abstract ulong EnumerateFollowingList(uint unStartIndex); + public abstract bool IsClanPublic(ulong steamIDClan); + public abstract bool IsClanOfficialGameGroup(ulong steamIDClan); + } + + + public abstract class ISteamUtils + { + public abstract IntPtr GetIntPtr(); + public abstract uint GetSecondsSinceAppActive(); + public abstract uint GetSecondsSinceComputerActive(); + public abstract int GetConnectedUniverse(); + public abstract uint GetServerRealTime(); + public abstract string GetIPCountry(); + public abstract bool GetImageSize(int iImage,ref uint pnWidth,ref uint pnHeight); + public abstract bool GetImageRGBA(int iImage,IntPtr pubDest,int nDestBufferSize); + public abstract bool GetCSERIPPort(ref uint unIP,ref char usPort); + public abstract byte GetCurrentBatteryPower(); + public abstract uint GetAppID(); + public abstract void SetOverlayNotificationPosition(uint eNotificationPosition); + public abstract bool IsAPICallCompleted(ulong hSteamAPICall,ref bool pbFailed); + public abstract int GetAPICallFailureReason(ulong hSteamAPICall); + public abstract bool GetAPICallResult(ulong hSteamAPICall,IntPtr pCallback,int cubCallback,int iCallbackExpected,ref bool pbFailed); + public abstract uint GetIPCCallCount(); + public abstract void SetWarningMessageHook(IntPtr pFunction); + public abstract bool IsOverlayEnabled(); + public abstract bool BOverlayNeedsPresent(); + public abstract ulong CheckFileSignature(string szFileName); + public abstract bool ShowGamepadTextInput(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText); + public abstract uint GetEnteredGamepadTextLength(); + public abstract bool GetEnteredGamepadTextInput(string pchText,uint cchText); + public abstract string GetSteamUILanguage(); + public abstract bool IsSteamRunningInVR(); + public abstract void SetOverlayNotificationInset(int nHorizontalInset,int nVerticalInset); + public abstract bool IsSteamInBigPictureMode(); + public abstract void StartVRDashboard(); + public abstract bool IsVRHeadsetStreamingEnabled(); + public abstract void SetVRHeadsetStreamingEnabled(bool bEnabled); + } + + + public abstract class ISteamMatchmaking + { + public abstract IntPtr GetIntPtr(); + public abstract int GetFavoriteGameCount(); + public abstract bool GetFavoriteGame(int iGame,ref uint pnAppID,ref uint pnIP,ref char pnConnPort,ref char pnQueryPort,ref uint punFlags,ref uint pRTime32LastPlayedOnServer); + public abstract int AddFavoriteGame(uint nAppID,uint nIP,char nConnPort,char nQueryPort,uint unFlags,uint rTime32LastPlayedOnServer); + public abstract bool RemoveFavoriteGame(uint nAppID,uint nIP,char nConnPort,char nQueryPort,uint unFlags); + public abstract ulong RequestLobbyList(); + public abstract void AddRequestLobbyListStringFilter(string pchKeyToMatch,string pchValueToMatch,uint eComparisonType); + public abstract void AddRequestLobbyListNumericalFilter(string pchKeyToMatch,int nValueToMatch,uint eComparisonType); + public abstract void AddRequestLobbyListNearValueFilter(string pchKeyToMatch,int nValueToBeCloseTo); + public abstract void AddRequestLobbyListFilterSlotsAvailable(int nSlotsAvailable); + public abstract void AddRequestLobbyListDistanceFilter(uint eLobbyDistanceFilter); + public abstract void AddRequestLobbyListResultCountFilter(int cMaxResults); + public abstract void AddRequestLobbyListCompatibleMembersFilter(ulong steamIDLobby); + public abstract ulong GetLobbyByIndex(int iLobby); + public abstract ulong CreateLobby(uint eLobbyType,int cMaxMembers); + public abstract ulong JoinLobby(ulong steamIDLobby); + public abstract void LeaveLobby(ulong steamIDLobby); + public abstract bool InviteUserToLobby(ulong steamIDLobby,ulong steamIDInvitee); + public abstract int GetNumLobbyMembers(ulong steamIDLobby); + public abstract ulong GetLobbyMemberByIndex(ulong steamIDLobby,int iMember); + public abstract string GetLobbyData(ulong steamIDLobby,string pchKey); + public abstract bool SetLobbyData(ulong steamIDLobby,string pchKey,string pchValue); + public abstract int GetLobbyDataCount(ulong steamIDLobby); + public abstract bool GetLobbyDataByIndex(ulong steamIDLobby,int iLobbyData,string pchKey,int cchKeyBufferSize,string pchValue,int cchValueBufferSize); + public abstract bool DeleteLobbyData(ulong steamIDLobby,string pchKey); + public abstract string GetLobbyMemberData(ulong steamIDLobby,ulong steamIDUser,string pchKey); + public abstract void SetLobbyMemberData(ulong steamIDLobby,string pchKey,string pchValue); + public abstract bool SendLobbyChatMsg(ulong steamIDLobby,IntPtr pvMsgBody,int cubMsgBody); + public abstract int GetLobbyChatEntry(ulong steamIDLobby,int iChatID,out CSteamID pSteamIDUser,IntPtr pvData,int cubData,ref uint peChatEntryType); + public abstract bool RequestLobbyData(ulong steamIDLobby); + public abstract void SetLobbyGameServer(ulong steamIDLobby,uint unGameServerIP,char unGameServerPort,ulong steamIDGameServer); + public abstract bool GetLobbyGameServer(ulong steamIDLobby,ref uint punGameServerIP,ref char punGameServerPort,out CSteamID psteamIDGameServer); + public abstract bool SetLobbyMemberLimit(ulong steamIDLobby,int cMaxMembers); + public abstract int GetLobbyMemberLimit(ulong steamIDLobby); + public abstract bool SetLobbyType(ulong steamIDLobby,uint eLobbyType); + public abstract bool SetLobbyJoinable(ulong steamIDLobby,bool bLobbyJoinable); + public abstract ulong GetLobbyOwner(ulong steamIDLobby); + public abstract bool SetLobbyOwner(ulong steamIDLobby,ulong steamIDNewOwner); + public abstract bool SetLinkedLobby(ulong steamIDLobby,ulong steamIDLobbyDependent); + } + + + public abstract class ISteamMatchmakingServerListResponse + { + public abstract IntPtr GetIntPtr(); + public abstract void ServerResponded(uint hRequest,int iServer); + public abstract void ServerFailedToRespond(uint hRequest,int iServer); + public abstract void RefreshComplete(uint hRequest,uint response); + } + + + public abstract class ISteamMatchmakingPingResponse + { + public abstract IntPtr GetIntPtr(); + public abstract void ServerResponded(IntPtr server); + public abstract void ServerFailedToRespond(); + } + + + public abstract class ISteamMatchmakingPlayersResponse + { + public abstract IntPtr GetIntPtr(); + public abstract void AddPlayerToList(string pchName,int nScore,float flTimePlayed); + public abstract void PlayersFailedToRespond(); + public abstract void PlayersRefreshComplete(); + } + + + public abstract class ISteamMatchmakingRulesResponse + { + public abstract IntPtr GetIntPtr(); + public abstract void RulesResponded(string pchRule,string pchValue); + public abstract void RulesFailedToRespond(); + public abstract void RulesRefreshComplete(); + } + + + public abstract class ISteamMatchmakingServers + { + public abstract IntPtr GetIntPtr(); + public abstract uint RequestInternetServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse); + public abstract uint RequestLANServerList(uint iApp,ISteamMatchmakingServerListResponse pRequestServersResponse); + public abstract uint RequestFriendsServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse); + public abstract uint RequestFavoritesServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse); + public abstract uint RequestHistoryServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse); + public abstract uint RequestSpectatorServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse); + public abstract void ReleaseRequest(uint hServerListRequest); + public abstract gameserveritem_t GetServerDetails(uint hRequest,int iServer); + public abstract void CancelQuery(uint hRequest); + public abstract void RefreshQuery(uint hRequest); + public abstract bool IsRefreshing(uint hRequest); + public abstract int GetServerCount(uint hRequest); + public abstract void RefreshServer(uint hRequest,int iServer); + public abstract uint PingServer(uint unIP,char usPort,ISteamMatchmakingPingResponse pRequestServersResponse); + public abstract uint PlayerDetails(uint unIP,char usPort,ISteamMatchmakingPlayersResponse pRequestServersResponse); + public abstract uint ServerRules(uint unIP,char usPort,ISteamMatchmakingRulesResponse pRequestServersResponse); + public abstract void CancelServerQuery(uint hServerQuery); + } + + + public abstract class ISteamRemoteStorage + { + public abstract IntPtr GetIntPtr(); + public abstract bool FileWrite(string pchFile,IntPtr pvData,int cubData); + public abstract int FileRead(string pchFile,IntPtr pvData,int cubDataToRead); + public abstract ulong FileWriteAsync(string pchFile,IntPtr pvData,uint cubData); + public abstract ulong FileReadAsync(string pchFile,uint nOffset,uint cubToRead); + public abstract bool FileReadAsyncComplete(ulong hReadCall,IntPtr pvBuffer,uint cubToRead); + public abstract bool FileForget(string pchFile); + public abstract bool FileDelete(string pchFile); + public abstract ulong FileShare(string pchFile); + public abstract bool SetSyncPlatforms(string pchFile,uint eRemoteStoragePlatform); + public abstract ulong FileWriteStreamOpen(string pchFile); + public abstract bool FileWriteStreamWriteChunk(ulong writeHandle,IntPtr pvData,int cubData); + public abstract bool FileWriteStreamClose(ulong writeHandle); + public abstract bool FileWriteStreamCancel(ulong writeHandle); + public abstract bool FileExists(string pchFile); + public abstract bool FilePersisted(string pchFile); + public abstract int GetFileSize(string pchFile); + public abstract long GetFileTimestamp(string pchFile); + public abstract uint GetSyncPlatforms(string pchFile); + public abstract int GetFileCount(); + public abstract string GetFileNameAndSize(int iFile,ref int pnFileSizeInBytes); + public abstract bool GetQuota(ref ulong pnTotalBytes,ref ulong puAvailableBytes); + public abstract bool IsCloudEnabledForAccount(); + public abstract bool IsCloudEnabledForApp(); + public abstract void SetCloudEnabledForApp(bool bEnabled); + public abstract ulong UGCDownload(ulong hContent,uint unPriority); + public abstract bool GetUGCDownloadProgress(ulong hContent,ref int pnBytesDownloaded,ref int pnBytesExpected); + public abstract bool GetUGCDetails(ulong hContent,ref uint pnAppID,System.Text.StringBuilder ppchName,ref int pnFileSizeInBytes,out CSteamID pSteamIDOwner); + public abstract int UGCRead(ulong hContent,IntPtr pvData,int cubDataToRead,uint cOffset,uint eAction); + public abstract int GetCachedUGCCount(); + public abstract ulong GetCachedUGCHandle(int iCachedContent); + public abstract ulong PublishWorkshopFile(string pchFile,string pchPreviewFile,uint nConsumerAppId,string pchTitle,string pchDescription,uint eVisibility,ref SteamParamStringArray_t pTags,uint eWorkshopFileType); + public abstract ulong CreatePublishedFileUpdateRequest(ulong unPublishedFileId); + public abstract bool UpdatePublishedFileFile(ulong updateHandle,string pchFile); + public abstract bool UpdatePublishedFilePreviewFile(ulong updateHandle,string pchPreviewFile); + public abstract bool UpdatePublishedFileTitle(ulong updateHandle,string pchTitle); + public abstract bool UpdatePublishedFileDescription(ulong updateHandle,string pchDescription); + public abstract bool UpdatePublishedFileVisibility(ulong updateHandle,uint eVisibility); + public abstract bool UpdatePublishedFileTags(ulong updateHandle,ref SteamParamStringArray_t pTags); + public abstract ulong CommitPublishedFileUpdate(ulong updateHandle); + public abstract ulong GetPublishedFileDetails(ulong unPublishedFileId,uint unMaxSecondsOld); + public abstract ulong DeletePublishedFile(ulong unPublishedFileId); + public abstract ulong EnumerateUserPublishedFiles(uint unStartIndex); + public abstract ulong SubscribePublishedFile(ulong unPublishedFileId); + public abstract ulong EnumerateUserSubscribedFiles(uint unStartIndex); + public abstract ulong UnsubscribePublishedFile(ulong unPublishedFileId); + public abstract bool UpdatePublishedFileSetChangeDescription(ulong updateHandle,string pchChangeDescription); + public abstract ulong GetPublishedItemVoteDetails(ulong unPublishedFileId); + public abstract ulong UpdateUserPublishedItemVote(ulong unPublishedFileId,bool bVoteUp); + public abstract ulong GetUserPublishedItemVoteDetails(ulong unPublishedFileId); + public abstract ulong EnumerateUserSharedWorkshopFiles(ulong steamId,uint unStartIndex,ref SteamParamStringArray_t pRequiredTags,ref SteamParamStringArray_t pExcludedTags); + public abstract ulong PublishVideo(uint eVideoProvider,string pchVideoAccount,string pchVideoIdentifier,string pchPreviewFile,uint nConsumerAppId,string pchTitle,string pchDescription,uint eVisibility,ref SteamParamStringArray_t pTags); + public abstract ulong SetUserPublishedFileAction(ulong unPublishedFileId,uint eAction); + public abstract ulong EnumeratePublishedFilesByUserAction(uint eAction,uint unStartIndex); + public abstract ulong EnumeratePublishedWorkshopFiles(uint eEnumerationType,uint unStartIndex,uint unCount,uint unDays,ref SteamParamStringArray_t pTags,ref SteamParamStringArray_t pUserTags); + public abstract ulong UGCDownloadToLocation(ulong hContent,string pchLocation,uint unPriority); + } + + + public abstract class ISteamUserStats + { + public abstract IntPtr GetIntPtr(); + public abstract bool RequestCurrentStats(); + public abstract bool GetStat(string pchName,ref int pData); + public abstract bool GetStat0(string pchName,ref float pData); + public abstract bool SetStat(string pchName,int nData); + public abstract bool SetStat0(string pchName,float fData); + public abstract bool UpdateAvgRateStat(string pchName,float flCountThisSession,double dSessionLength); + public abstract bool GetAchievement(string pchName,ref bool pbAchieved); + public abstract bool SetAchievement(string pchName); + public abstract bool ClearAchievement(string pchName); + public abstract bool GetAchievementAndUnlockTime(string pchName,ref bool pbAchieved,ref uint punUnlockTime); + public abstract bool StoreStats(); + public abstract int GetAchievementIcon(string pchName); + public abstract string GetAchievementDisplayAttribute(string pchName,string pchKey); + public abstract bool IndicateAchievementProgress(string pchName,uint nCurProgress,uint nMaxProgress); + public abstract uint GetNumAchievements(); + public abstract string GetAchievementName(uint iAchievement); + public abstract ulong RequestUserStats(ulong steamIDUser); + public abstract bool GetUserStat(ulong steamIDUser,string pchName,ref int pData); + public abstract bool GetUserStat0(ulong steamIDUser,string pchName,ref float pData); + public abstract bool GetUserAchievement(ulong steamIDUser,string pchName,ref bool pbAchieved); + public abstract bool GetUserAchievementAndUnlockTime(ulong steamIDUser,string pchName,ref bool pbAchieved,ref uint punUnlockTime); + public abstract bool ResetAllStats(bool bAchievementsToo); + public abstract ulong FindOrCreateLeaderboard(string pchLeaderboardName,uint eLeaderboardSortMethod,uint eLeaderboardDisplayType); + public abstract ulong FindLeaderboard(string pchLeaderboardName); + public abstract string GetLeaderboardName(ulong hSteamLeaderboard); + public abstract int GetLeaderboardEntryCount(ulong hSteamLeaderboard); + public abstract uint GetLeaderboardSortMethod(ulong hSteamLeaderboard); + public abstract uint GetLeaderboardDisplayType(ulong hSteamLeaderboard); + public abstract ulong DownloadLeaderboardEntries(ulong hSteamLeaderboard,uint eLeaderboardDataRequest,int nRangeStart,int nRangeEnd); + public abstract ulong DownloadLeaderboardEntriesForUsers(ulong hSteamLeaderboard,CSteamID [] prgUsers); + public abstract bool GetDownloadedLeaderboardEntry(ulong hSteamLeaderboardEntries,int index,ref LeaderboardEntry_t pLeaderboardEntry,ref int pDetails,int cDetailsMax); + public abstract ulong UploadLeaderboardScore(ulong hSteamLeaderboard,uint eLeaderboardUploadScoreMethod,int nScore,ref int pScoreDetails,int cScoreDetailsCount); + public abstract ulong AttachLeaderboardUGC(ulong hSteamLeaderboard,ulong hUGC); + public abstract ulong GetNumberOfCurrentPlayers(); + public abstract ulong RequestGlobalAchievementPercentages(); + public abstract int GetMostAchievedAchievementInfo(string pchName,uint unNameBufLen,ref float pflPercent,ref bool pbAchieved); + public abstract int GetNextMostAchievedAchievementInfo(int iIteratorPrevious,string pchName,uint unNameBufLen,ref float pflPercent,ref bool pbAchieved); + public abstract bool GetAchievementAchievedPercent(string pchName,ref float pflPercent); + public abstract ulong RequestGlobalStats(int nHistoryDays); + public abstract bool GetGlobalStat(string pchStatName,ref long pData); + public abstract bool GetGlobalStat0(string pchStatName,ref double pData); + public abstract int GetGlobalStatHistory(string pchStatName,long [] pData); + public abstract int GetGlobalStatHistory0(string pchStatName,double [] pData); + } + + + public abstract class ISteamApps + { + public abstract IntPtr GetIntPtr(); + public abstract bool BIsSubscribed(); + public abstract bool BIsLowViolence(); + public abstract bool BIsCybercafe(); + public abstract bool BIsVACBanned(); + public abstract string GetCurrentGameLanguage(); + public abstract string GetAvailableGameLanguages(); + public abstract bool BIsSubscribedApp(uint appID); + public abstract bool BIsDlcInstalled(uint appID); + public abstract uint GetEarliestPurchaseUnixTime(uint nAppID); + public abstract bool BIsSubscribedFromFreeWeekend(); + public abstract int GetDLCCount(); + public abstract bool BGetDLCDataByIndex(int iDLC,ref uint pAppID,ref bool pbAvailable,string pchName,int cchNameBufferSize); + public abstract void InstallDLC(uint nAppID); + public abstract void UninstallDLC(uint nAppID); + public abstract void RequestAppProofOfPurchaseKey(uint nAppID); + public abstract bool GetCurrentBetaName(string pchName,int cchNameBufferSize); + public abstract bool MarkContentCorrupt(bool bMissingFilesOnly); + public abstract uint GetInstalledDepots(uint appID,ref uint pvecDepots,uint cMaxDepots); + public abstract uint GetAppInstallDir(uint appID,string pchFolder,uint cchFolderBufferSize); + public abstract bool BIsAppInstalled(uint appID); + public abstract ulong GetAppOwner(); + public abstract string GetLaunchQueryParam(string pchKey); + public abstract bool GetDlcDownloadProgress(uint nAppID,ref ulong punBytesDownloaded,ref ulong punBytesTotal); + public abstract int GetAppBuildId(); + public abstract void RequestAllProofOfPurchaseKeys(); + public abstract ulong GetFileDetails(string pszFileName); + } + + + public abstract class ISteamNetworking + { + public abstract IntPtr GetIntPtr(); + public abstract bool SendP2PPacket(ulong steamIDRemote,IntPtr pubData,uint cubData,uint eP2PSendType,int nChannel); + public abstract bool IsP2PPacketAvailable(ref uint pcubMsgSize,int nChannel); + public abstract bool ReadP2PPacket(IntPtr pubDest,uint cubDest,ref uint pcubMsgSize,ref CSteamID psteamIDRemote,int nChannel); + public abstract bool AcceptP2PSessionWithUser(ulong steamIDRemote); + public abstract bool CloseP2PSessionWithUser(ulong steamIDRemote); + public abstract bool CloseP2PChannelWithUser(ulong steamIDRemote,int nChannel); + public abstract bool GetP2PSessionState(ulong steamIDRemote,ref P2PSessionState_t pConnectionState); + public abstract bool AllowP2PPacketRelay(bool bAllow); + public abstract uint CreateListenSocket(int nVirtualP2PPort,uint nIP,char nPort,bool bAllowUseOfPacketRelay); + public abstract uint CreateP2PConnectionSocket(ulong steamIDTarget,int nVirtualPort,int nTimeoutSec,bool bAllowUseOfPacketRelay); + public abstract uint CreateConnectionSocket(uint nIP,char nPort,int nTimeoutSec); + public abstract bool DestroySocket(uint hSocket,bool bNotifyRemoteEnd); + public abstract bool DestroyListenSocket(uint hSocket,bool bNotifyRemoteEnd); + public abstract bool SendDataOnSocket(uint hSocket,IntPtr pubData,uint cubData,bool bReliable); + public abstract bool IsDataAvailableOnSocket(uint hSocket,ref uint pcubMsgSize); + public abstract bool RetrieveDataFromSocket(uint hSocket,IntPtr pubDest,uint cubDest,ref uint pcubMsgSize); + public abstract bool IsDataAvailable(uint hListenSocket,ref uint pcubMsgSize,ref uint phSocket); + public abstract bool RetrieveData(uint hListenSocket,IntPtr pubDest,uint cubDest,ref uint pcubMsgSize,ref uint phSocket); + public abstract bool GetSocketInfo(uint hSocket,ref CSteamID pSteamIDRemote,ref int peSocketStatus,ref uint punIPRemote,ref char punPortRemote); + public abstract bool GetListenSocketInfo(uint hListenSocket,ref uint pnIP,ref char pnPort); + public abstract uint GetSocketConnectionType(uint hSocket); + public abstract int GetMaxPacketSize(uint hSocket); + } + + + public abstract class ISteamScreenshots + { + public abstract IntPtr GetIntPtr(); + public abstract uint WriteScreenshot(IntPtr pubRGB,uint cubRGB,int nWidth,int nHeight); + public abstract uint AddScreenshotToLibrary(string pchFilename,string pchThumbnailFilename,int nWidth,int nHeight); + public abstract void TriggerScreenshot(); + public abstract void HookScreenshots(bool bHook); + public abstract bool SetLocation(uint hScreenshot,string pchLocation); + public abstract bool TagUser(uint hScreenshot,ulong steamID); + public abstract bool TagPublishedFile(uint hScreenshot,ulong unPublishedFileID); + public abstract bool IsScreenshotsHooked(); + public abstract uint AddVRScreenshotToLibrary(uint eType,string pchFilename,string pchVRFilename); + } + + + public abstract class ISteamMusic + { + public abstract IntPtr GetIntPtr(); + public abstract bool BIsEnabled(); + public abstract bool BIsPlaying(); + public abstract int GetPlaybackStatus(); + public abstract void Play(); + public abstract void Pause(); + public abstract void PlayPrevious(); + public abstract void PlayNext(); + public abstract void SetVolume(float flVolume); + public abstract float GetVolume(); + } + + + public abstract class ISteamMusicRemote + { + public abstract IntPtr GetIntPtr(); + public abstract bool RegisterSteamMusicRemote(string pchName); + public abstract bool DeregisterSteamMusicRemote(); + public abstract bool BIsCurrentMusicRemote(); + public abstract bool BActivationSuccess(bool bValue); + public abstract bool SetDisplayName(string pchDisplayName); + public abstract bool SetPNGIcon_64x64(IntPtr pvBuffer,uint cbBufferLength); + public abstract bool EnablePlayPrevious(bool bValue); + public abstract bool EnablePlayNext(bool bValue); + public abstract bool EnableShuffled(bool bValue); + public abstract bool EnableLooped(bool bValue); + public abstract bool EnableQueue(bool bValue); + public abstract bool EnablePlaylists(bool bValue); + public abstract bool UpdatePlaybackStatus(int nStatus); + public abstract bool UpdateShuffled(bool bValue); + public abstract bool UpdateLooped(bool bValue); + public abstract bool UpdateVolume(float flValue); + public abstract bool CurrentEntryWillChange(); + public abstract bool CurrentEntryIsAvailable(bool bAvailable); + public abstract bool UpdateCurrentEntryText(string pchText); + public abstract bool UpdateCurrentEntryElapsedSeconds(int nValue); + public abstract bool UpdateCurrentEntryCoverArt(IntPtr pvBuffer,uint cbBufferLength); + public abstract bool CurrentEntryDidChange(); + public abstract bool QueueWillChange(); + public abstract bool ResetQueueEntries(); + public abstract bool SetQueueEntry(int nID,int nPosition,string pchEntryText); + public abstract bool SetCurrentQueueEntry(int nID); + public abstract bool QueueDidChange(); + public abstract bool PlaylistWillChange(); + public abstract bool ResetPlaylistEntries(); + public abstract bool SetPlaylistEntry(int nID,int nPosition,string pchEntryText); + public abstract bool SetCurrentPlaylistEntry(int nID); + public abstract bool PlaylistDidChange(); + } + + + public abstract class ISteamHTTP + { + public abstract IntPtr GetIntPtr(); + public abstract uint CreateHTTPRequest(uint eHTTPRequestMethod,string pchAbsoluteURL); + public abstract bool SetHTTPRequestContextValue(uint hRequest,ulong ulContextValue); + public abstract bool SetHTTPRequestNetworkActivityTimeout(uint hRequest,uint unTimeoutSeconds); + public abstract bool SetHTTPRequestHeaderValue(uint hRequest,string pchHeaderName,string pchHeaderValue); + public abstract bool SetHTTPRequestGetOrPostParameter(uint hRequest,string pchParamName,string pchParamValue); + public abstract bool SendHTTPRequest(uint hRequest,ref ulong pCallHandle); + public abstract bool SendHTTPRequestAndStreamResponse(uint hRequest,ref ulong pCallHandle); + public abstract bool DeferHTTPRequest(uint hRequest); + public abstract bool PrioritizeHTTPRequest(uint hRequest); + public abstract bool GetHTTPResponseHeaderSize(uint hRequest,string pchHeaderName,ref uint unResponseHeaderSize); + public abstract bool GetHTTPResponseHeaderValue(uint hRequest,string pchHeaderName,IntPtr pHeaderValueBuffer,uint unBufferSize); + public abstract bool GetHTTPResponseBodySize(uint hRequest,ref uint unBodySize); + public abstract bool GetHTTPResponseBodyData(uint hRequest,IntPtr pBodyDataBuffer,uint unBufferSize); + public abstract bool GetHTTPStreamingResponseBodyData(uint hRequest,uint cOffset,IntPtr pBodyDataBuffer,uint unBufferSize); + public abstract bool ReleaseHTTPRequest(uint hRequest); + public abstract bool GetHTTPDownloadProgressPct(uint hRequest,ref float pflPercentOut); + public abstract bool SetHTTPRequestRawPostBody(uint hRequest,string pchContentType,IntPtr pubBody,uint unBodyLen); + public abstract uint CreateCookieContainer(bool bAllowResponsesToModify); + public abstract bool ReleaseCookieContainer(uint hCookieContainer); + public abstract bool SetCookie(uint hCookieContainer,string pchHost,string pchUrl,string pchCookie); + public abstract bool SetHTTPRequestCookieContainer(uint hRequest,uint hCookieContainer); + public abstract bool SetHTTPRequestUserAgentInfo(uint hRequest,string pchUserAgentInfo); + public abstract bool SetHTTPRequestRequiresVerifiedCertificate(uint hRequest,bool bRequireVerifiedCertificate); + public abstract bool SetHTTPRequestAbsoluteTimeoutMS(uint hRequest,uint unMilliseconds); + public abstract bool GetHTTPRequestWasTimedOut(uint hRequest,ref bool pbWasTimedOut); + } + + + public abstract class ISteamController + { + public abstract IntPtr GetIntPtr(); + public abstract bool Init(); + public abstract bool Shutdown(); + public abstract void RunFrame(); + public abstract int GetConnectedControllers(ref ulong handlesOut); + public abstract bool ShowBindingPanel(ulong controllerHandle); + public abstract ulong GetActionSetHandle(string pszActionSetName); + public abstract void ActivateActionSet(ulong controllerHandle,ulong actionSetHandle); + public abstract ulong GetCurrentActionSet(ulong controllerHandle); + public abstract void ActivateActionSetLayer(ulong controllerHandle,ulong actionSetLayerHandle); + public abstract void DeactivateActionSetLayer(ulong controllerHandle,ulong actionSetLayerHandle); + public abstract void DeactivateAllActionSetLayers(ulong controllerHandle); + public abstract int GetActiveActionSetLayers(ulong controllerHandle,ref ulong handlesOut); + public abstract ulong GetDigitalActionHandle(string pszActionName); + public abstract ControllerDigitalActionData_t GetDigitalActionData(ulong controllerHandle,ulong digitalActionHandle); + public abstract int GetDigitalActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong digitalActionHandle,ref uint originsOut); + public abstract ulong GetAnalogActionHandle(string pszActionName); + public abstract ControllerAnalogActionData_t GetAnalogActionData(ulong controllerHandle,ulong analogActionHandle); + public abstract int GetAnalogActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong analogActionHandle,ref uint originsOut); + public abstract void StopAnalogActionMomentum(ulong controllerHandle,ulong eAction); + public abstract void TriggerHapticPulse(ulong controllerHandle,uint eTargetPad,char usDurationMicroSec); + public abstract void TriggerRepeatedHapticPulse(ulong controllerHandle,uint eTargetPad,char usDurationMicroSec,char usOffMicroSec,char unRepeat,uint nFlags); + public abstract void TriggerVibration(ulong controllerHandle,char usLeftSpeed,char usRightSpeed); + public abstract void SetLEDColor(ulong controllerHandle,byte nColorR,byte nColorG,byte nColorB,uint nFlags); + public abstract int GetGamepadIndexForController(ulong ulControllerHandle); + public abstract ulong GetControllerForGamepadIndex(int nIndex); + public abstract ControllerMotionData_t GetMotionData(ulong controllerHandle); + public abstract bool ShowDigitalActionOrigins(ulong controllerHandle,ulong digitalActionHandle,float flScale,float flXPosition,float flYPosition); + public abstract bool ShowAnalogActionOrigins(ulong controllerHandle,ulong analogActionHandle,float flScale,float flXPosition,float flYPosition); + public abstract string GetStringForActionOrigin(uint eOrigin); + public abstract string GetGlyphForActionOrigin(uint eOrigin); + public abstract uint GetInputTypeForHandle(ulong controllerHandle); + } + + + public abstract class ISteamUGC + { + public abstract IntPtr GetIntPtr(); + public abstract ulong CreateQueryUserUGCRequest(uint unAccountID,uint eListType,uint eMatchingUGCType,uint eSortOrder,uint nCreatorAppID,uint nConsumerAppID,uint unPage); + public abstract ulong CreateQueryAllUGCRequest(uint eQueryType,uint eMatchingeMatchingUGCTypeFileType,uint nCreatorAppID,uint nConsumerAppID,uint unPage); + public abstract ulong CreateQueryUGCDetailsRequest(ref ulong pvecPublishedFileID,uint unNumPublishedFileIDs); + public abstract ulong SendQueryUGCRequest(ulong handle); + public abstract bool GetQueryUGCResult(ulong handle,uint index,ref SteamUGCDetails_t pDetails); + public abstract bool GetQueryUGCPreviewURL(ulong handle,uint index,out string pchURL); + public abstract bool GetQueryUGCMetadata(ulong handle,uint index,out string pchMetadata); + public abstract bool GetQueryUGCChildren(ulong handle,uint index,ref ulong pvecPublishedFileID,uint cMaxEntries); + public abstract bool GetQueryUGCStatistic(ulong handle,uint index,uint eStatType,ref ulong pStatValue); + public abstract uint GetQueryUGCNumAdditionalPreviews(ulong handle,uint index); + public abstract bool GetQueryUGCAdditionalPreview(ulong handle,uint index,uint previewIndex,out string pchURLOrVideoID,out string pchOriginalFileName,uint cchOriginalFileNameSize,ref uint pPreviewType); + public abstract uint GetQueryUGCNumKeyValueTags(ulong handle,uint index); + public abstract bool GetQueryUGCKeyValueTag(ulong handle,uint index,uint keyValueTagIndex,out string pchKey,out string pchValue); + public abstract bool ReleaseQueryUGCRequest(ulong handle); + public abstract bool AddRequiredTag(ulong handle,string pTagName); + public abstract bool AddExcludedTag(ulong handle,string pTagName); + public abstract bool SetReturnOnlyIDs(ulong handle,bool bReturnOnlyIDs); + public abstract bool SetReturnKeyValueTags(ulong handle,bool bReturnKeyValueTags); + public abstract bool SetReturnLongDescription(ulong handle,bool bReturnLongDescription); + public abstract bool SetReturnMetadata(ulong handle,bool bReturnMetadata); + public abstract bool SetReturnChildren(ulong handle,bool bReturnChildren); + public abstract bool SetReturnAdditionalPreviews(ulong handle,bool bReturnAdditionalPreviews); + public abstract bool SetReturnTotalOnly(ulong handle,bool bReturnTotalOnly); + public abstract bool SetReturnPlaytimeStats(ulong handle,uint unDays); + public abstract bool SetLanguage(ulong handle,string pchLanguage); + public abstract bool SetAllowCachedResponse(ulong handle,uint unMaxAgeSeconds); + public abstract bool SetCloudFileNameFilter(ulong handle,string pMatchCloudFileName); + public abstract bool SetMatchAnyTag(ulong handle,bool bMatchAnyTag); + public abstract bool SetSearchText(ulong handle,string pSearchText); + public abstract bool SetRankedByTrendDays(ulong handle,uint unDays); + public abstract bool AddRequiredKeyValueTag(ulong handle,string pKey,string pValue); + public abstract ulong RequestUGCDetails(ulong nPublishedFileID,uint unMaxAgeSeconds); + public abstract ulong CreateItem(uint nConsumerAppId,uint eFileType); + public abstract ulong StartItemUpdate(uint nConsumerAppId,ulong nPublishedFileID); + public abstract bool SetItemTitle(ulong handle,string pchTitle); + public abstract bool SetItemDescription(ulong handle,string pchDescription); + public abstract bool SetItemUpdateLanguage(ulong handle,string pchLanguage); + public abstract bool SetItemMetadata(ulong handle,string pchMetaData); + public abstract bool SetItemVisibility(ulong handle,uint eVisibility); + public abstract bool SetItemTags(ulong updateHandle,ref SteamParamStringArray_t pTags); + public abstract bool SetItemContent(ulong handle,string pszContentFolder); + public abstract bool SetItemPreview(ulong handle,string pszPreviewFile); + public abstract bool RemoveItemKeyValueTags(ulong handle,string pchKey); + public abstract bool AddItemKeyValueTag(ulong handle,string pchKey,string pchValue); + public abstract bool AddItemPreviewFile(ulong handle,string pszPreviewFile,uint type); + public abstract bool AddItemPreviewVideo(ulong handle,string pszVideoID); + public abstract bool UpdateItemPreviewFile(ulong handle,uint index,string pszPreviewFile); + public abstract bool UpdateItemPreviewVideo(ulong handle,uint index,string pszVideoID); + public abstract bool RemoveItemPreview(ulong handle,uint index); + public abstract ulong SubmitItemUpdate(ulong handle,string pchChangeNote); + public abstract uint GetItemUpdateProgress(ulong handle,ref ulong punBytesProcessed,ref ulong punBytesTotal); + public abstract ulong SetUserItemVote(ulong nPublishedFileID,bool bVoteUp); + public abstract ulong GetUserItemVote(ulong nPublishedFileID); + public abstract ulong AddItemToFavorites(uint nAppId,ulong nPublishedFileID); + public abstract ulong RemoveItemFromFavorites(uint nAppId,ulong nPublishedFileID); + public abstract ulong SubscribeItem(ulong nPublishedFileID); + public abstract ulong UnsubscribeItem(ulong nPublishedFileID); + public abstract uint GetNumSubscribedItems(); + public abstract uint GetSubscribedItems(ref ulong pvecPublishedFileID,uint cMaxEntries); + public abstract uint GetItemState(ulong nPublishedFileID); + public abstract bool GetItemInstallInfo(ulong nPublishedFileID,ref ulong punSizeOnDisk,out string pchFolder,ref uint punTimeStamp); + public abstract bool GetItemDownloadInfo(ulong nPublishedFileID,ref ulong punBytesDownloaded,ref ulong punBytesTotal); + public abstract bool DownloadItem(ulong nPublishedFileID,bool bHighPriority); + public abstract bool BInitWorkshopForGameServer(uint unWorkshopDepotID,string pszFolder); + public abstract void SuspendDownloads(bool bSuspend); + public abstract ulong StartPlaytimeTracking(ref ulong pvecPublishedFileID,uint unNumPublishedFileIDs); + public abstract ulong StopPlaytimeTracking(ref ulong pvecPublishedFileID,uint unNumPublishedFileIDs); + public abstract ulong StopPlaytimeTrackingForAllItems(); + public abstract ulong AddDependency(ulong nParentPublishedFileID,ulong nChildPublishedFileID); + public abstract ulong RemoveDependency(ulong nParentPublishedFileID,ulong nChildPublishedFileID); + public abstract ulong AddAppDependency(ulong nPublishedFileID,uint nAppID); + public abstract ulong RemoveAppDependency(ulong nPublishedFileID,uint nAppID); + public abstract ulong GetAppDependencies(ulong nPublishedFileID); + public abstract ulong DeleteItem(ulong nPublishedFileID); + } + + + public abstract class ISteamAppList + { + public abstract IntPtr GetIntPtr(); + public abstract uint GetNumInstalledApps(); + public abstract uint GetInstalledApps(ref uint pvecAppID,uint unMaxAppIDs); + public abstract int GetAppName(uint nAppID,System.Text.StringBuilder pchName,int cchNameMax); + public abstract int GetAppInstallDir(uint nAppID,string pchDirectory,int cchNameMax); + public abstract int GetAppBuildId(uint nAppID); + } + + + public abstract class ISteamHTMLSurface + { + public abstract IntPtr GetIntPtr(); + public abstract void DestructISteamHTMLSurface(); + public abstract bool Init(); + public abstract bool Shutdown(); + public abstract ulong CreateBrowser(string pchUserAgent,string pchUserCSS); + public abstract void RemoveBrowser(uint unBrowserHandle); + public abstract void LoadURL(uint unBrowserHandle,string pchURL,string pchPostData); + public abstract void SetSize(uint unBrowserHandle,uint unWidth,uint unHeight); + public abstract void StopLoad(uint unBrowserHandle); + public abstract void Reload(uint unBrowserHandle); + public abstract void GoBack(uint unBrowserHandle); + public abstract void GoForward(uint unBrowserHandle); + public abstract void AddHeader(uint unBrowserHandle,string pchKey,string pchValue); + public abstract void ExecuteJavascript(uint unBrowserHandle,string pchScript); + public abstract void MouseUp(uint unBrowserHandle,uint eMouseButton); + public abstract void MouseDown(uint unBrowserHandle,uint eMouseButton); + public abstract void MouseDoubleClick(uint unBrowserHandle,uint eMouseButton); + public abstract void MouseMove(uint unBrowserHandle,int x,int y); + public abstract void MouseWheel(uint unBrowserHandle,int nDelta); + public abstract void KeyDown(uint unBrowserHandle,uint nNativeKeyCode,uint eHTMLKeyModifiers); + public abstract void KeyUp(uint unBrowserHandle,uint nNativeKeyCode,uint eHTMLKeyModifiers); + public abstract void KeyChar(uint unBrowserHandle,uint cUnicodeChar,uint eHTMLKeyModifiers); + public abstract void SetHorizontalScroll(uint unBrowserHandle,uint nAbsolutePixelScroll); + public abstract void SetVerticalScroll(uint unBrowserHandle,uint nAbsolutePixelScroll); + public abstract void SetKeyFocus(uint unBrowserHandle,bool bHasKeyFocus); + public abstract void ViewSource(uint unBrowserHandle); + public abstract void CopyToClipboard(uint unBrowserHandle); + public abstract void PasteFromClipboard(uint unBrowserHandle); + public abstract void Find(uint unBrowserHandle,string pchSearchStr,bool bCurrentlyInFind,bool bReverse); + public abstract void StopFind(uint unBrowserHandle); + public abstract void GetLinkAtPosition(uint unBrowserHandle,int x,int y); + public abstract void SetCookie(string pchHostname,string pchKey,string pchValue,string pchPath,ulong nExpires,bool bSecure,bool bHTTPOnly); + public abstract void SetPageScaleFactor(uint unBrowserHandle,float flZoom,int nPointX,int nPointY); + public abstract void SetBackgroundMode(uint unBrowserHandle,bool bBackgroundMode); + public abstract void SetDPIScalingFactor(uint unBrowserHandle,float flDPIScaling); + public abstract void AllowStartRequest(uint unBrowserHandle,bool bAllowed); + public abstract void JSDialogResponse(uint unBrowserHandle,bool bResult); + } + + + public abstract class ISteamInventory + { + public abstract IntPtr GetIntPtr(); + public abstract uint GetResultStatus(int resultHandle); + public abstract bool GetResultItems(int resultHandle,out SteamItemDetails_t [] pOutItemsArray); + public abstract bool GetResultItemProperty(int resultHandle,uint unItemIndex,string pchPropertyName,out string pchValueBuffer); + public abstract uint GetResultTimestamp(int resultHandle); + public abstract bool CheckResultSteamID(int resultHandle,ulong steamIDExpected); + public abstract void DestroyResult(int resultHandle); + public abstract bool GetAllItems(ref int pResultHandle); + public abstract bool GetItemsByID(ref int pResultHandle,ulong [] pInstanceIDs); + public abstract bool SerializeResult(int resultHandle,IntPtr pOutBuffer,ref uint punOutBufferSize); + public abstract bool DeserializeResult(ref int pOutResultHandle,IntPtr pBuffer,uint unBufferSize,bool bRESERVED_MUST_BE_FALSE); + public abstract bool GenerateItems(ref int pResultHandle,int [] pArrayItemDefs,uint [] punArrayQuantity); + public abstract bool GrantPromoItems(ref int pResultHandle); + public abstract bool AddPromoItem(ref int pResultHandle,int itemDef); + public abstract bool AddPromoItems(ref int pResultHandle,int [] pArrayItemDefs); + public abstract bool ConsumeItem(ref int pResultHandle,ulong itemConsume,uint unQuantity); + public abstract bool ExchangeItems(ref int pResultHandle,int [] pArrayGenerate,uint [] punArrayGenerateQuantity,ulong [] pArrayDestroy,uint [] punArrayDestroyQuantity); + public abstract bool TransferItemQuantity(ref int pResultHandle,ulong itemIdSource,uint unQuantity,ulong itemIdDest); + public abstract void SendItemDropHeartbeat(); + public abstract bool TriggerItemDrop(ref int pResultHandle,int dropListDefinition); + public abstract bool TradeItems(ref int pResultHandle,ulong steamIDTradePartner,ulong [] pArrayGive,uint [] pArrayGiveQuantity,ulong [] pArrayGet,uint [] pArrayGetQuantity); + public abstract bool LoadItemDefinitions(); + public abstract bool GetItemDefinitionIDs(out int [] pItemDefIDs); + public abstract bool GetItemDefinitionProperty(int iDefinition,string pchPropertyName,out string pchValueBuffer); + public abstract ulong RequestEligiblePromoItemDefinitionsIDs(ulong steamID); + public abstract bool GetEligiblePromoItemDefinitionIDs(ulong steamID,out int [] pItemDefIDs); + public abstract ulong StartPurchase(int [] pArrayItemDefs,uint [] punArrayQuantity); + public abstract ulong RequestPrices(); + public abstract uint GetNumItemsWithPrices(); + public abstract bool GetItemsWithPrices(out int [] pArrayItemDefs,out ulong [] pPrices,uint unArrayLength); + public abstract bool GetItemPrice(int iDefinition,ref ulong pPrice); + public abstract ulong StartUpdateProperties(); + public abstract bool RemoveProperty(ulong handle,ulong nItemID,string pchPropertyName); + public abstract bool SetProperty(ulong handle,ulong nItemID,string pchPropertyName,string pchPropertyValue); + public abstract bool SetProperty0(ulong handle,ulong nItemID,string pchPropertyName,bool bValue); + public abstract bool SetProperty1(ulong handle,ulong nItemID,string pchPropertyName,long nValue); + public abstract bool SetProperty2(ulong handle,ulong nItemID,string pchPropertyName,float flValue); + public abstract bool SubmitUpdateProperties(ulong handle,ref int pResultHandle); + } + + + public abstract class ISteamVideo + { + public abstract IntPtr GetIntPtr(); + public abstract void GetVideoURL(uint unVideoAppID); + public abstract bool IsBroadcasting(ref int pnNumViewers); + public abstract void GetOPFSettings(uint unVideoAppID); + public abstract bool GetOPFStringForApp(uint unVideoAppID,string pchBuffer,ref int pnBufferSize); + } + + + public abstract class ISteamParentalSettings + { + public abstract IntPtr GetIntPtr(); + public abstract bool BIsParentalLockEnabled(); + public abstract bool BIsParentalLockLocked(); + public abstract bool BIsAppBlocked(uint nAppID); + public abstract bool BIsAppInBlockList(uint nAppID); + public abstract bool BIsFeatureBlocked(uint eFeature); + public abstract bool BIsFeatureInBlockList(uint eFeature); + } + + + public abstract class ISteamGameServer + { + public abstract IntPtr GetIntPtr(); + public abstract bool InitGameServer(uint unIP,char usGamePort,char usQueryPort,uint unFlags,uint nGameAppId,string pchVersionString); + public abstract void SetProduct(string pszProduct); + public abstract void SetGameDescription(string pszGameDescription); + public abstract void SetModDir(string pszModDir); + public abstract void SetDedicatedServer(bool bDedicated); + public abstract void LogOn(string pszToken); + public abstract void LogOnAnonymous(); + public abstract void LogOff(); + public abstract bool BLoggedOn(); + public abstract bool BSecure(); + public abstract ulong GetSteamID(); + public abstract bool WasRestartRequested(); + public abstract void SetMaxPlayerCount(int cPlayersMax); + public abstract void SetBotPlayerCount(int cBotplayers); + public abstract void SetServerName(string pszServerName); + public abstract void SetMapName(string pszMapName); + public abstract void SetPasswordProtected(bool bPasswordProtected); + public abstract void SetSpectatorPort(char unSpectatorPort); + public abstract void SetSpectatorServerName(string pszSpectatorServerName); + public abstract void ClearAllKeyValues(); + public abstract void SetKeyValue(string pKey,string pValue); + public abstract void SetGameTags(string pchGameTags); + public abstract void SetGameData(string pchGameData); + public abstract void SetRegion(string pszRegion); + public abstract bool SendUserConnectAndAuthenticate(uint unIPClient,IntPtr pvAuthBlob,uint cubAuthBlobSize,ref CSteamID pSteamIDUser); + public abstract ulong CreateUnauthenticatedUserConnection(); + public abstract void SendUserDisconnect(ulong steamIDUser); + public abstract bool BUpdateUserData(ulong steamIDUser,string pchPlayerName,uint uScore); + public abstract uint GetAuthSessionTicket(IntPtr pTicket,int cbMaxTicket,ref uint pcbTicket); + public abstract uint BeginAuthSession(IntPtr pAuthTicket,int cbAuthTicket,ulong steamID); + public abstract void EndAuthSession(ulong steamID); + public abstract void CancelAuthTicket(uint hAuthTicket); + public abstract uint UserHasLicenseForApp(ulong steamID,uint appID); + public abstract bool RequestUserGroupStatus(ulong steamIDUser,ulong steamIDGroup); + public abstract void GetGameplayStats(); + public abstract ulong GetServerReputation(); + public abstract uint GetPublicIP(); + public abstract bool HandleIncomingPacket(IntPtr pData,int cbData,uint srcIP,char srcPort); + public abstract int GetNextOutgoingPacket(IntPtr pOut,int cbMaxOut,ref uint pNetAdr,ref char pPort); + public abstract void EnableHeartbeats(bool bActive); + public abstract void SetHeartbeatInterval(int iHeartbeatInterval); + public abstract void ForceHeartbeat(); + public abstract ulong AssociateWithClan(ulong steamIDClan); + public abstract ulong ComputeNewPlayerCompatibility(ulong steamIDNewPlayer); + } + + + public abstract class ISteamGameServerStats + { + public abstract IntPtr GetIntPtr(); + public abstract ulong RequestUserStats(ulong steamIDUser); + public abstract bool GetUserStat(ulong steamIDUser,string pchName,ref int pData); + public abstract bool GetUserStat0(ulong steamIDUser,string pchName,ref float pData); + public abstract bool GetUserAchievement(ulong steamIDUser,string pchName,ref bool pbAchieved); + public abstract bool SetUserStat(ulong steamIDUser,string pchName,int nData); + public abstract bool SetUserStat0(ulong steamIDUser,string pchName,float fData); + public abstract bool UpdateUserAvgRateStat(ulong steamIDUser,string pchName,float flCountThisSession,double dSessionLength); + public abstract bool SetUserAchievement(ulong steamIDUser,string pchName); + public abstract bool ClearUserAchievement(ulong steamIDUser,string pchName); + public abstract ulong StoreUserStats(ulong steamIDUser); + } + + +public class CSteamClient : ISteamClient +{ +public CSteamClient(IntPtr SteamClient) +{ + m_pSteamClient = SteamClient; +} +IntPtr m_pSteamClient; + +public override IntPtr GetIntPtr() { return m_pSteamClient; } + +private void CheckIfUsable() +{ + if (m_pSteamClient == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint CreateSteamPipe() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamClient_CreateSteamPipe(m_pSteamClient); + return result; +} +public override bool BReleaseSteamPipe(uint hSteamPipe) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamClient_BReleaseSteamPipe(m_pSteamClient,hSteamPipe); + return result; +} +public override uint ConnectToGlobalUser(uint hSteamPipe) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamClient_ConnectToGlobalUser(m_pSteamClient,hSteamPipe); + return result; +} +public override uint CreateLocalUser(ref uint phSteamPipe,uint eAccountType) +{ + CheckIfUsable(); + phSteamPipe = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamClient_CreateLocalUser(m_pSteamClient,ref phSteamPipe,eAccountType); + return result; +} +public override void ReleaseUser(uint hSteamPipe,uint hUser) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamClient_ReleaseUser(m_pSteamClient,hSteamPipe,hUser); +} +public override ISteamUser GetISteamUser(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUser(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamUser) Marshal.PtrToStructure(result, typeof(ISteamUser)); +} +public override ISteamGameServer GetISteamGameServer(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamGameServer(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamGameServer) Marshal.PtrToStructure(result, typeof(ISteamGameServer)); +} +public override void SetLocalIPBinding(uint unIP,char usPort) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamClient_SetLocalIPBinding(m_pSteamClient,unIP,usPort); +} +public override ISteamFriends GetISteamFriends(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamFriends(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamFriends) Marshal.PtrToStructure(result, typeof(ISteamFriends)); +} +public override ISteamUtils GetISteamUtils(uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUtils(m_pSteamClient,hSteamPipe,pchVersion); + return (ISteamUtils) Marshal.PtrToStructure(result, typeof(ISteamUtils)); +} +public override ISteamMatchmaking GetISteamMatchmaking(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMatchmaking(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamMatchmaking) Marshal.PtrToStructure(result, typeof(ISteamMatchmaking)); +} +public override ISteamMatchmakingServers GetISteamMatchmakingServers(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMatchmakingServers(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamMatchmakingServers) Marshal.PtrToStructure(result, typeof(ISteamMatchmakingServers)); +} +public override IntPtr GetISteamGenericInterface(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamGenericInterface(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (IntPtr) Marshal.PtrToStructure(result, typeof(IntPtr)); +} +public override ISteamUserStats GetISteamUserStats(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUserStats(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamUserStats) Marshal.PtrToStructure(result, typeof(ISteamUserStats)); +} +public override ISteamGameServerStats GetISteamGameServerStats(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamGameServerStats(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamGameServerStats) Marshal.PtrToStructure(result, typeof(ISteamGameServerStats)); +} +public override ISteamApps GetISteamApps(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamApps(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamApps) Marshal.PtrToStructure(result, typeof(ISteamApps)); +} +public override ISteamNetworking GetISteamNetworking(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamNetworking(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamNetworking) Marshal.PtrToStructure(result, typeof(ISteamNetworking)); +} +public override ISteamRemoteStorage GetISteamRemoteStorage(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamRemoteStorage(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamRemoteStorage) Marshal.PtrToStructure(result, typeof(ISteamRemoteStorage)); +} +public override ISteamScreenshots GetISteamScreenshots(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamScreenshots(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamScreenshots) Marshal.PtrToStructure(result, typeof(ISteamScreenshots)); +} +public override uint GetIPCCallCount() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamClient_GetIPCCallCount(m_pSteamClient); + return result; +} +public override void SetWarningMessageHook(IntPtr pFunction) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamClient_SetWarningMessageHook(m_pSteamClient,pFunction); +} +public override bool BShutdownIfAllPipesClosed() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamClient_BShutdownIfAllPipesClosed(m_pSteamClient); + return result; +} +public override ISteamHTTP GetISteamHTTP(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamHTTP(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamHTTP) Marshal.PtrToStructure(result, typeof(ISteamHTTP)); +} +public override ISteamController GetISteamController(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamController(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamController) Marshal.PtrToStructure(result, typeof(ISteamController)); +} +public override ISteamUGC GetISteamUGC(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamUGC(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamUGC) Marshal.PtrToStructure(result, typeof(ISteamUGC)); +} +public override ISteamAppList GetISteamAppList(uint hSteamUser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamAppList(m_pSteamClient,hSteamUser,hSteamPipe,pchVersion); + return (ISteamAppList) Marshal.PtrToStructure(result, typeof(ISteamAppList)); +} +public override ISteamMusic GetISteamMusic(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMusic(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamMusic) Marshal.PtrToStructure(result, typeof(ISteamMusic)); +} +public override ISteamMusicRemote GetISteamMusicRemote(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamMusicRemote(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamMusicRemote) Marshal.PtrToStructure(result, typeof(ISteamMusicRemote)); +} +public override ISteamHTMLSurface GetISteamHTMLSurface(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamHTMLSurface(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamHTMLSurface) Marshal.PtrToStructure(result, typeof(ISteamHTMLSurface)); +} +public override ISteamInventory GetISteamInventory(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamInventory(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamInventory) Marshal.PtrToStructure(result, typeof(ISteamInventory)); +} +public override ISteamVideo GetISteamVideo(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamVideo(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamVideo) Marshal.PtrToStructure(result, typeof(ISteamVideo)); +} +public override ISteamParentalSettings GetISteamParentalSettings(uint hSteamuser,uint hSteamPipe,string pchVersion) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamClient_GetISteamParentalSettings(m_pSteamClient,hSteamuser,hSteamPipe,pchVersion); + return (ISteamParentalSettings) Marshal.PtrToStructure(result, typeof(ISteamParentalSettings)); +} +} + + +public class CSteamUser : ISteamUser +{ +public CSteamUser(IntPtr SteamUser) +{ + m_pSteamUser = SteamUser; +} +IntPtr m_pSteamUser; + +public override IntPtr GetIntPtr() { return m_pSteamUser; } + +private void CheckIfUsable() +{ + if (m_pSteamUser == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint GetHSteamUser() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUser_GetHSteamUser(m_pSteamUser); + return result; +} +public override bool BLoggedOn() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_BLoggedOn(m_pSteamUser); + return result; +} +public override ulong GetSteamID() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUser_GetSteamID(m_pSteamUser); + return result; +} +public override int InitiateGameConnection(IntPtr pAuthBlob,int cbMaxAuthBlob,ulong steamIDGameServer,uint unIPServer,char usPortServer,bool bSecure) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUser_InitiateGameConnection(m_pSteamUser,pAuthBlob,cbMaxAuthBlob,steamIDGameServer,unIPServer,usPortServer,bSecure); + return result; +} +public override void TerminateGameConnection(uint unIPServer,char usPortServer) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_TerminateGameConnection(m_pSteamUser,unIPServer,usPortServer); +} +public override void TrackAppUsageEvent(ulong gameID,int eAppUsageEvent,string pchExtraInfo) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_TrackAppUsageEvent(m_pSteamUser,gameID,eAppUsageEvent,pchExtraInfo); +} +public override bool GetUserDataFolder(string pchBuffer,int cubBuffer) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_GetUserDataFolder(m_pSteamUser,pchBuffer,cubBuffer); + return result; +} +public override void StartVoiceRecording() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_StartVoiceRecording(m_pSteamUser); +} +public override void StopVoiceRecording() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_StopVoiceRecording(m_pSteamUser); +} +public override uint GetAvailableVoice(ref uint pcbCompressed,ref uint pcbUncompressed_Deprecated,uint nUncompressedVoiceDesiredSampleRate_Deprecated) +{ + CheckIfUsable(); + pcbCompressed = 0; + pcbUncompressed_Deprecated = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamUser_GetAvailableVoice(m_pSteamUser,ref pcbCompressed,ref pcbUncompressed_Deprecated,nUncompressedVoiceDesiredSampleRate_Deprecated); + return result; +} +public override uint GetVoice(bool bWantCompressed,IntPtr pDestBuffer,uint cbDestBufferSize,ref uint nBytesWritten,bool bWantUncompressed_Deprecated,IntPtr pUncompressedDestBuffer_Deprecated,uint cbUncompressedDestBufferSize_Deprecated,ref uint nUncompressBytesWritten_Deprecated,uint nUncompressedVoiceDesiredSampleRate_Deprecated) +{ + CheckIfUsable(); + nBytesWritten = 0; + nUncompressBytesWritten_Deprecated = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamUser_GetVoice(m_pSteamUser,bWantCompressed,pDestBuffer,cbDestBufferSize,ref nBytesWritten,bWantUncompressed_Deprecated,pUncompressedDestBuffer_Deprecated,cbUncompressedDestBufferSize_Deprecated,ref nUncompressBytesWritten_Deprecated,nUncompressedVoiceDesiredSampleRate_Deprecated); + return result; +} +public override uint DecompressVoice(IntPtr pCompressed,uint cbCompressed,IntPtr pDestBuffer,uint cbDestBufferSize,ref uint nBytesWritten,uint nDesiredSampleRate) +{ + CheckIfUsable(); + nBytesWritten = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamUser_DecompressVoice(m_pSteamUser,pCompressed,cbCompressed,pDestBuffer,cbDestBufferSize,ref nBytesWritten,nDesiredSampleRate); + return result; +} +public override uint GetVoiceOptimalSampleRate() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUser_GetVoiceOptimalSampleRate(m_pSteamUser); + return result; +} +public override uint GetAuthSessionTicket(IntPtr pTicket,int cbMaxTicket,ref uint pcbTicket) +{ + CheckIfUsable(); + pcbTicket = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamUser_GetAuthSessionTicket(m_pSteamUser,pTicket,cbMaxTicket,ref pcbTicket); + return result; +} +public override uint BeginAuthSession(IntPtr pAuthTicket,int cbAuthTicket,ulong steamID) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUser_BeginAuthSession(m_pSteamUser,pAuthTicket,cbAuthTicket,steamID); + return result; +} +public override void EndAuthSession(ulong steamID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_EndAuthSession(m_pSteamUser,steamID); +} +public override void CancelAuthTicket(uint hAuthTicket) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_CancelAuthTicket(m_pSteamUser,hAuthTicket); +} +public override uint UserHasLicenseForApp(ulong steamID,uint appID) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUser_UserHasLicenseForApp(m_pSteamUser,steamID,appID); + return result; +} +public override bool BIsBehindNAT() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_BIsBehindNAT(m_pSteamUser); + return result; +} +public override void AdvertiseGame(ulong steamIDGameServer,uint unIPServer,char usPortServer) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUser_AdvertiseGame(m_pSteamUser,steamIDGameServer,unIPServer,usPortServer); +} +public override ulong RequestEncryptedAppTicket(IntPtr pDataToInclude,int cbDataToInclude) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUser_RequestEncryptedAppTicket(m_pSteamUser,pDataToInclude,cbDataToInclude); + return result; +} +public override bool GetEncryptedAppTicket(IntPtr pTicket,int cbMaxTicket,ref uint pcbTicket) +{ + CheckIfUsable(); + pcbTicket = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUser_GetEncryptedAppTicket(m_pSteamUser,pTicket,cbMaxTicket,ref pcbTicket); + return result; +} +public override int GetGameBadgeLevel(int nSeries,bool bFoil) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUser_GetGameBadgeLevel(m_pSteamUser,nSeries,bFoil); + return result; +} +public override int GetPlayerSteamLevel() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUser_GetPlayerSteamLevel(m_pSteamUser); + return result; +} +public override ulong RequestStoreAuthURL(string pchRedirectURL) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUser_RequestStoreAuthURL(m_pSteamUser,pchRedirectURL); + return result; +} +public override bool BIsPhoneVerified() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_BIsPhoneVerified(m_pSteamUser); + return result; +} +public override bool BIsTwoFactorEnabled() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_BIsTwoFactorEnabled(m_pSteamUser); + return result; +} +public override bool BIsPhoneIdentifying() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_BIsPhoneIdentifying(m_pSteamUser); + return result; +} +public override bool BIsPhoneRequiringVerification() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUser_BIsPhoneRequiringVerification(m_pSteamUser); + return result; +} +} + + +public class CSteamFriends : ISteamFriends +{ +public CSteamFriends(IntPtr SteamFriends) +{ + m_pSteamFriends = SteamFriends; +} +IntPtr m_pSteamFriends; + +public override IntPtr GetIntPtr() { return m_pSteamFriends; } + +private void CheckIfUsable() +{ + if (m_pSteamFriends == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override string GetPersonaName() +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetPersonaName(m_pSteamFriends); + return Marshal.PtrToStringAnsi(result); +} +public override ulong SetPersonaName(string pchPersonaName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_SetPersonaName(m_pSteamFriends,pchPersonaName); + return result; +} +public override uint GetPersonaState() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamFriends_GetPersonaState(m_pSteamFriends); + return result; +} +public override int GetFriendCount(int iFriendFlags) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendCount(m_pSteamFriends,iFriendFlags); + return result; +} +public override ulong GetFriendByIndex(int iFriend,int iFriendFlags) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendByIndex(m_pSteamFriends,iFriend,iFriendFlags); + return result; +} +public override uint GetFriendRelationship(ulong steamIDFriend) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendRelationship(m_pSteamFriends,steamIDFriend); + return result; +} +public override uint GetFriendPersonaState(ulong steamIDFriend) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendPersonaState(m_pSteamFriends,steamIDFriend); + return result; +} +public override string GetFriendPersonaName(ulong steamIDFriend) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendPersonaName(m_pSteamFriends,steamIDFriend); + return Marshal.PtrToStringAnsi(result); +} +public override bool GetFriendGamePlayed(ulong steamIDFriend,out FriendGameInfo_t pFriendGameInfo) +{ + CheckIfUsable(); + pFriendGameInfo = new FriendGameInfo_t(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendGamePlayed(m_pSteamFriends,steamIDFriend,ref pFriendGameInfo); + return result; +} +public override string GetFriendPersonaNameHistory(ulong steamIDFriend,int iPersonaName) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendPersonaNameHistory(m_pSteamFriends,steamIDFriend,iPersonaName); + return Marshal.PtrToStringAnsi(result); +} +public override int GetFriendSteamLevel(ulong steamIDFriend) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendSteamLevel(m_pSteamFriends,steamIDFriend); + return result; +} +public override string GetPlayerNickname(ulong steamIDPlayer) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetPlayerNickname(m_pSteamFriends,steamIDPlayer); + return Marshal.PtrToStringAnsi(result); +} +public override int GetFriendsGroupCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendsGroupCount(m_pSteamFriends); + return result; +} +public override char GetFriendsGroupIDByIndex(int iFG) +{ + CheckIfUsable(); + char result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendsGroupIDByIndex(m_pSteamFriends,iFG); + return result; +} +public override string GetFriendsGroupName(char friendsGroupID) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendsGroupName(m_pSteamFriends,friendsGroupID); + return Marshal.PtrToStringAnsi(result); +} +public override int GetFriendsGroupMembersCount(char friendsGroupID) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendsGroupMembersCount(m_pSteamFriends,friendsGroupID); + return result; +} +public override void GetFriendsGroupMembersList(char friendsGroupID,out CSteamID [] pOutSteamIDMembers) +{ + CheckIfUsable(); + int nMembersCount = GetFriendsGroupMembersCount (friendsGroupID); + pOutSteamIDMembers = new CSteamID[nMembersCount]; + NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendsGroupMembersList(m_pSteamFriends,friendsGroupID,pOutSteamIDMembers,nMembersCount); +} +public override bool HasFriend(ulong steamIDFriend,int iFriendFlags) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_HasFriend(m_pSteamFriends,steamIDFriend,iFriendFlags); + return result; +} +public override int GetClanCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanCount(m_pSteamFriends); + return result; +} +public override ulong GetClanByIndex(int iClan) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanByIndex(m_pSteamFriends,iClan); + return result; +} +public override string GetClanName(ulong steamIDClan) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanName(m_pSteamFriends,steamIDClan); + return Marshal.PtrToStringAnsi(result); +} +public override string GetClanTag(ulong steamIDClan) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanTag(m_pSteamFriends,steamIDClan); + return Marshal.PtrToStringAnsi(result); +} +public override bool GetClanActivityCounts(ulong steamIDClan,ref int pnOnline,ref int pnInGame,ref int pnChatting) +{ + CheckIfUsable(); + pnOnline = 0; + pnInGame = 0; + pnChatting = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanActivityCounts(m_pSteamFriends,steamIDClan,ref pnOnline,ref pnInGame,ref pnChatting); + return result; +} +public override ulong DownloadClanActivityCounts(CSteamID [] psteamIDClans) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_DownloadClanActivityCounts(m_pSteamFriends,psteamIDClans,(int) psteamIDClans.Length); + return result; +} +public override int GetFriendCountFromSource(ulong steamIDSource) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendCountFromSource(m_pSteamFriends,steamIDSource); + return result; +} +public override ulong GetFriendFromSourceByIndex(ulong steamIDSource,int iFriend) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendFromSourceByIndex(m_pSteamFriends,steamIDSource,iFriend); + return result; +} +public override bool IsUserInSource(ulong steamIDUser,ulong steamIDSource) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_IsUserInSource(m_pSteamFriends,steamIDUser,steamIDSource); + return result; +} +public override void SetInGameVoiceSpeaking(ulong steamIDUser,bool bSpeaking) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_SetInGameVoiceSpeaking(m_pSteamFriends,steamIDUser,bSpeaking); +} +public override void ActivateGameOverlay(string pchDialog) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_ActivateGameOverlay(m_pSteamFriends,pchDialog); +} +public override void ActivateGameOverlayToUser(string pchDialog,ulong steamID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_ActivateGameOverlayToUser(m_pSteamFriends,pchDialog,steamID); +} +public override void ActivateGameOverlayToWebPage(string pchURL) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_ActivateGameOverlayToWebPage(m_pSteamFriends,pchURL); +} +public override void ActivateGameOverlayToStore(uint nAppID,char eFlag) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_ActivateGameOverlayToStore(m_pSteamFriends,nAppID,eFlag); +} +public override void SetPlayedWith(ulong steamIDUserPlayedWith) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_SetPlayedWith(m_pSteamFriends,steamIDUserPlayedWith); +} +public override void ActivateGameOverlayInviteDialog(ulong steamIDLobby) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialog(m_pSteamFriends,steamIDLobby); +} +public override int GetSmallFriendAvatar(ulong steamIDFriend) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetSmallFriendAvatar(m_pSteamFriends,steamIDFriend); + return result; +} +public override int GetMediumFriendAvatar(ulong steamIDFriend) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetMediumFriendAvatar(m_pSteamFriends,steamIDFriend); + return result; +} +public override int GetLargeFriendAvatar(ulong steamIDFriend) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetLargeFriendAvatar(m_pSteamFriends,steamIDFriend); + return result; +} +public override bool RequestUserInformation(ulong steamIDUser,bool bRequireNameOnly) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_RequestUserInformation(m_pSteamFriends,steamIDUser,bRequireNameOnly); + return result; +} +public override ulong RequestClanOfficerList(ulong steamIDClan) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_RequestClanOfficerList(m_pSteamFriends,steamIDClan); + return result; +} +public override ulong GetClanOwner(ulong steamIDClan) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanOwner(m_pSteamFriends,steamIDClan); + return result; +} +public override int GetClanOfficerCount(ulong steamIDClan) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanOfficerCount(m_pSteamFriends,steamIDClan); + return result; +} +public override ulong GetClanOfficerByIndex(ulong steamIDClan,int iOfficer) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanOfficerByIndex(m_pSteamFriends,steamIDClan,iOfficer); + return result; +} +public override uint GetUserRestrictions() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamFriends_GetUserRestrictions(m_pSteamFriends); + return result; +} +public override bool SetRichPresence(string pchKey,string pchValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_SetRichPresence(m_pSteamFriends,pchKey,pchValue); + return result; +} +public override void ClearRichPresence() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_ClearRichPresence(m_pSteamFriends); +} +public override string GetFriendRichPresence(ulong steamIDFriend,string pchKey) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendRichPresence(m_pSteamFriends,steamIDFriend,pchKey); + return Marshal.PtrToStringAnsi(result); +} +public override int GetFriendRichPresenceKeyCount(ulong steamIDFriend) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendRichPresenceKeyCount(m_pSteamFriends,steamIDFriend); + return result; +} +public override string GetFriendRichPresenceKeyByIndex(ulong steamIDFriend,int iKey) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendRichPresenceKeyByIndex(m_pSteamFriends,steamIDFriend,iKey); + return Marshal.PtrToStringAnsi(result); +} +public override void RequestFriendRichPresence(ulong steamIDFriend) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamFriends_RequestFriendRichPresence(m_pSteamFriends,steamIDFriend); +} +public override bool InviteUserToGame(ulong steamIDFriend,string pchConnectString) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_InviteUserToGame(m_pSteamFriends,steamIDFriend,pchConnectString); + return result; +} +public override int GetCoplayFriendCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetCoplayFriendCount(m_pSteamFriends); + return result; +} +public override ulong GetCoplayFriend(int iCoplayFriend) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetCoplayFriend(m_pSteamFriends,iCoplayFriend); + return result; +} +public override int GetFriendCoplayTime(ulong steamIDFriend) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendCoplayTime(m_pSteamFriends,steamIDFriend); + return result; +} +public override uint GetFriendCoplayGame(ulong steamIDFriend) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendCoplayGame(m_pSteamFriends,steamIDFriend); + return result; +} +public override ulong JoinClanChatRoom(ulong steamIDClan) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_JoinClanChatRoom(m_pSteamFriends,steamIDClan); + return result; +} +public override bool LeaveClanChatRoom(ulong steamIDClan) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_LeaveClanChatRoom(m_pSteamFriends,steamIDClan); + return result; +} +public override int GetClanChatMemberCount(ulong steamIDClan) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanChatMemberCount(m_pSteamFriends,steamIDClan); + return result; +} +public override ulong GetChatMemberByIndex(ulong steamIDClan,int iUser) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetChatMemberByIndex(m_pSteamFriends,steamIDClan,iUser); + return result; +} +public override bool SendClanChatMessage(ulong steamIDClanChat,string pchText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_SendClanChatMessage(m_pSteamFriends,steamIDClanChat,pchText); + return result; +} +public override int GetClanChatMessage(ulong steamIDClanChat,int iMessage,IntPtr prgchText,int cchTextMax,ref uint peChatEntryType,out CSteamID psteamidChatter) +{ + CheckIfUsable(); + peChatEntryType = 0; + psteamidChatter = new CSteamID(); + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetClanChatMessage(m_pSteamFriends,steamIDClanChat,iMessage,prgchText,cchTextMax,ref peChatEntryType,ref psteamidChatter); + return result; +} +public override bool IsClanChatAdmin(ulong steamIDClanChat,ulong steamIDUser) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_IsClanChatAdmin(m_pSteamFriends,steamIDClanChat,steamIDUser); + return result; +} +public override bool IsClanChatWindowOpenInSteam(ulong steamIDClanChat) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_IsClanChatWindowOpenInSteam(m_pSteamFriends,steamIDClanChat); + return result; +} +public override bool OpenClanChatWindowInSteam(ulong steamIDClanChat) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_OpenClanChatWindowInSteam(m_pSteamFriends,steamIDClanChat); + return result; +} +public override bool CloseClanChatWindowInSteam(ulong steamIDClanChat) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_CloseClanChatWindowInSteam(m_pSteamFriends,steamIDClanChat); + return result; +} +public override bool SetListenForFriendsMessages(bool bInterceptEnabled) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_SetListenForFriendsMessages(m_pSteamFriends,bInterceptEnabled); + return result; +} +public override bool ReplyToFriendMessage(ulong steamIDFriend,string pchMsgToSend) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_ReplyToFriendMessage(m_pSteamFriends,steamIDFriend,pchMsgToSend); + return result; +} +public override int GetFriendMessage(ulong steamIDFriend,int iMessageID,IntPtr pvData,int cubData,ref uint peChatEntryType) +{ + CheckIfUsable(); + peChatEntryType = 0; + int result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFriendMessage(m_pSteamFriends,steamIDFriend,iMessageID,pvData,cubData,ref peChatEntryType); + return result; +} +public override ulong GetFollowerCount(ulong steamID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_GetFollowerCount(m_pSteamFriends,steamID); + return result; +} +public override ulong IsFollowing(ulong steamID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_IsFollowing(m_pSteamFriends,steamID); + return result; +} +public override ulong EnumerateFollowingList(uint unStartIndex) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamFriends_EnumerateFollowingList(m_pSteamFriends,unStartIndex); + return result; +} +public override bool IsClanPublic(ulong steamIDClan) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_IsClanPublic(m_pSteamFriends,steamIDClan); + return result; +} +public override bool IsClanOfficialGameGroup(ulong steamIDClan) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamFriends_IsClanOfficialGameGroup(m_pSteamFriends,steamIDClan); + return result; +} +} + + +public class CSteamUtils : ISteamUtils +{ +public CSteamUtils(IntPtr SteamUtils) +{ + m_pSteamUtils = SteamUtils; +} +IntPtr m_pSteamUtils; + +public override IntPtr GetIntPtr() { return m_pSteamUtils; } + +private void CheckIfUsable() +{ + if (m_pSteamUtils == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint GetSecondsSinceAppActive() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUtils_GetSecondsSinceAppActive(m_pSteamUtils); + return result; +} +public override uint GetSecondsSinceComputerActive() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUtils_GetSecondsSinceComputerActive(m_pSteamUtils); + return result; +} +public override int GetConnectedUniverse() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUtils_GetConnectedUniverse(m_pSteamUtils); + return result; +} +public override uint GetServerRealTime() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUtils_GetServerRealTime(m_pSteamUtils); + return result; +} +public override string GetIPCountry() +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamUtils_GetIPCountry(m_pSteamUtils); + return Marshal.PtrToStringAnsi(result); +} +public override bool GetImageSize(int iImage,ref uint pnWidth,ref uint pnHeight) +{ + CheckIfUsable(); + pnWidth = 0; + pnHeight = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_GetImageSize(m_pSteamUtils,iImage,ref pnWidth,ref pnHeight); + return result; +} +public override bool GetImageRGBA(int iImage,IntPtr pubDest,int nDestBufferSize) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_GetImageRGBA(m_pSteamUtils,iImage,pubDest,nDestBufferSize); + return result; +} +public override bool GetCSERIPPort(ref uint unIP,ref char usPort) +{ + CheckIfUsable(); + unIP = 0; + usPort = (char) 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_GetCSERIPPort(m_pSteamUtils,ref unIP,ref usPort); + return result; +} +public override byte GetCurrentBatteryPower() +{ + CheckIfUsable(); + byte result = NativeEntrypoints.SteamAPI_ISteamUtils_GetCurrentBatteryPower(m_pSteamUtils); + return result; +} +public override uint GetAppID() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUtils_GetAppID(m_pSteamUtils); + return result; +} +public override void SetOverlayNotificationPosition(uint eNotificationPosition) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUtils_SetOverlayNotificationPosition(m_pSteamUtils,eNotificationPosition); +} +public override bool IsAPICallCompleted(ulong hSteamAPICall,ref bool pbFailed) +{ + CheckIfUsable(); + pbFailed = false; + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_IsAPICallCompleted(m_pSteamUtils,hSteamAPICall,ref pbFailed); + return result; +} +public override int GetAPICallFailureReason(ulong hSteamAPICall) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUtils_GetAPICallFailureReason(m_pSteamUtils,hSteamAPICall); + return result; +} +public override bool GetAPICallResult(ulong hSteamAPICall,IntPtr pCallback,int cubCallback,int iCallbackExpected,ref bool pbFailed) +{ + CheckIfUsable(); + pbFailed = false; + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_GetAPICallResult(m_pSteamUtils,hSteamAPICall,pCallback,cubCallback,iCallbackExpected,ref pbFailed); + return result; +} +public override uint GetIPCCallCount() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUtils_GetIPCCallCount(m_pSteamUtils); + return result; +} +public override void SetWarningMessageHook(IntPtr pFunction) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUtils_SetWarningMessageHook(m_pSteamUtils,pFunction); +} +public override bool IsOverlayEnabled() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_IsOverlayEnabled(m_pSteamUtils); + return result; +} +public override bool BOverlayNeedsPresent() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_BOverlayNeedsPresent(m_pSteamUtils); + return result; +} +public override ulong CheckFileSignature(string szFileName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUtils_CheckFileSignature(m_pSteamUtils,szFileName); + return result; +} +public override bool ShowGamepadTextInput(int eInputMode,int eLineInputMode,string pchDescription,uint unCharMax,string pchExistingText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_ShowGamepadTextInput(m_pSteamUtils,eInputMode,eLineInputMode,pchDescription,unCharMax,pchExistingText); + return result; +} +public override uint GetEnteredGamepadTextLength() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUtils_GetEnteredGamepadTextLength(m_pSteamUtils); + return result; +} +public override bool GetEnteredGamepadTextInput(string pchText,uint cchText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_GetEnteredGamepadTextInput(m_pSteamUtils,pchText,cchText); + return result; +} +public override string GetSteamUILanguage() +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamUtils_GetSteamUILanguage(m_pSteamUtils); + return Marshal.PtrToStringAnsi(result); +} +public override bool IsSteamRunningInVR() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_IsSteamRunningInVR(m_pSteamUtils); + return result; +} +public override void SetOverlayNotificationInset(int nHorizontalInset,int nVerticalInset) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUtils_SetOverlayNotificationInset(m_pSteamUtils,nHorizontalInset,nVerticalInset); +} +public override bool IsSteamInBigPictureMode() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_IsSteamInBigPictureMode(m_pSteamUtils); + return result; +} +public override void StartVRDashboard() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUtils_StartVRDashboard(m_pSteamUtils); +} +public override bool IsVRHeadsetStreamingEnabled() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUtils_IsVRHeadsetStreamingEnabled(m_pSteamUtils); + return result; +} +public override void SetVRHeadsetStreamingEnabled(bool bEnabled) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUtils_SetVRHeadsetStreamingEnabled(m_pSteamUtils,bEnabled); +} +} + + +public class CSteamMatchmaking : ISteamMatchmaking +{ +public CSteamMatchmaking(IntPtr SteamMatchmaking) +{ + m_pSteamMatchmaking = SteamMatchmaking; +} +IntPtr m_pSteamMatchmaking; + +public override IntPtr GetIntPtr() { return m_pSteamMatchmaking; } + +private void CheckIfUsable() +{ + if (m_pSteamMatchmaking == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override int GetFavoriteGameCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetFavoriteGameCount(m_pSteamMatchmaking); + return result; +} +public override bool GetFavoriteGame(int iGame,ref uint pnAppID,ref uint pnIP,ref char pnConnPort,ref char pnQueryPort,ref uint punFlags,ref uint pRTime32LastPlayedOnServer) +{ + CheckIfUsable(); + pnAppID = 0; + pnIP = 0; + pnConnPort = (char) 0; + pnQueryPort = (char) 0; + punFlags = 0; + pRTime32LastPlayedOnServer = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetFavoriteGame(m_pSteamMatchmaking,iGame,ref pnAppID,ref pnIP,ref pnConnPort,ref pnQueryPort,ref punFlags,ref pRTime32LastPlayedOnServer); + return result; +} +public override int AddFavoriteGame(uint nAppID,uint nIP,char nConnPort,char nQueryPort,uint unFlags,uint rTime32LastPlayedOnServer) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddFavoriteGame(m_pSteamMatchmaking,nAppID,nIP,nConnPort,nQueryPort,unFlags,rTime32LastPlayedOnServer); + return result; +} +public override bool RemoveFavoriteGame(uint nAppID,uint nIP,char nConnPort,char nQueryPort,uint unFlags) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_RemoveFavoriteGame(m_pSteamMatchmaking,nAppID,nIP,nConnPort,nQueryPort,unFlags); + return result; +} +public override ulong RequestLobbyList() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_RequestLobbyList(m_pSteamMatchmaking); + return result; +} +public override void AddRequestLobbyListStringFilter(string pchKeyToMatch,string pchValueToMatch,uint eComparisonType) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListStringFilter(m_pSteamMatchmaking,pchKeyToMatch,pchValueToMatch,eComparisonType); +} +public override void AddRequestLobbyListNumericalFilter(string pchKeyToMatch,int nValueToMatch,uint eComparisonType) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListNumericalFilter(m_pSteamMatchmaking,pchKeyToMatch,nValueToMatch,eComparisonType); +} +public override void AddRequestLobbyListNearValueFilter(string pchKeyToMatch,int nValueToBeCloseTo) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListNearValueFilter(m_pSteamMatchmaking,pchKeyToMatch,nValueToBeCloseTo); +} +public override void AddRequestLobbyListFilterSlotsAvailable(int nSlotsAvailable) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListFilterSlotsAvailable(m_pSteamMatchmaking,nSlotsAvailable); +} +public override void AddRequestLobbyListDistanceFilter(uint eLobbyDistanceFilter) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListDistanceFilter(m_pSteamMatchmaking,eLobbyDistanceFilter); +} +public override void AddRequestLobbyListResultCountFilter(int cMaxResults) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListResultCountFilter(m_pSteamMatchmaking,cMaxResults); +} +public override void AddRequestLobbyListCompatibleMembersFilter(ulong steamIDLobby) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_AddRequestLobbyListCompatibleMembersFilter(m_pSteamMatchmaking,steamIDLobby); +} +public override ulong GetLobbyByIndex(int iLobby) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyByIndex(m_pSteamMatchmaking,iLobby); + return result; +} +public override ulong CreateLobby(uint eLobbyType,int cMaxMembers) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_CreateLobby(m_pSteamMatchmaking,eLobbyType,cMaxMembers); + return result; +} +public override ulong JoinLobby(ulong steamIDLobby) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_JoinLobby(m_pSteamMatchmaking,steamIDLobby); + return result; +} +public override void LeaveLobby(ulong steamIDLobby) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_LeaveLobby(m_pSteamMatchmaking,steamIDLobby); +} +public override bool InviteUserToLobby(ulong steamIDLobby,ulong steamIDInvitee) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_InviteUserToLobby(m_pSteamMatchmaking,steamIDLobby,steamIDInvitee); + return result; +} +public override int GetNumLobbyMembers(ulong steamIDLobby) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetNumLobbyMembers(m_pSteamMatchmaking,steamIDLobby); + return result; +} +public override ulong GetLobbyMemberByIndex(ulong steamIDLobby,int iMember) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyMemberByIndex(m_pSteamMatchmaking,steamIDLobby,iMember); + return result; +} +public override string GetLobbyData(ulong steamIDLobby,string pchKey) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyData(m_pSteamMatchmaking,steamIDLobby,pchKey); + return Marshal.PtrToStringAnsi(result); +} +public override bool SetLobbyData(ulong steamIDLobby,string pchKey,string pchValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyData(m_pSteamMatchmaking,steamIDLobby,pchKey,pchValue); + return result; +} +public override int GetLobbyDataCount(ulong steamIDLobby) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyDataCount(m_pSteamMatchmaking,steamIDLobby); + return result; +} +public override bool GetLobbyDataByIndex(ulong steamIDLobby,int iLobbyData,string pchKey,int cchKeyBufferSize,string pchValue,int cchValueBufferSize) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyDataByIndex(m_pSteamMatchmaking,steamIDLobby,iLobbyData,pchKey,cchKeyBufferSize,pchValue,cchValueBufferSize); + return result; +} +public override bool DeleteLobbyData(ulong steamIDLobby,string pchKey) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_DeleteLobbyData(m_pSteamMatchmaking,steamIDLobby,pchKey); + return result; +} +public override string GetLobbyMemberData(ulong steamIDLobby,ulong steamIDUser,string pchKey) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyMemberData(m_pSteamMatchmaking,steamIDLobby,steamIDUser,pchKey); + return Marshal.PtrToStringAnsi(result); +} +public override void SetLobbyMemberData(ulong steamIDLobby,string pchKey,string pchValue) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyMemberData(m_pSteamMatchmaking,steamIDLobby,pchKey,pchValue); +} +public override bool SendLobbyChatMsg(ulong steamIDLobby,IntPtr pvMsgBody,int cubMsgBody) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SendLobbyChatMsg(m_pSteamMatchmaking,steamIDLobby,pvMsgBody,cubMsgBody); + return result; +} +public override int GetLobbyChatEntry(ulong steamIDLobby,int iChatID,out CSteamID pSteamIDUser,IntPtr pvData,int cubData,ref uint peChatEntryType) +{ + CheckIfUsable(); + pSteamIDUser = new CSteamID(); + peChatEntryType = 0; + int result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyChatEntry(m_pSteamMatchmaking,steamIDLobby,iChatID,ref pSteamIDUser,pvData,cubData,ref peChatEntryType); + return result; +} +public override bool RequestLobbyData(ulong steamIDLobby) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_RequestLobbyData(m_pSteamMatchmaking,steamIDLobby); + return result; +} +public override void SetLobbyGameServer(ulong steamIDLobby,uint unGameServerIP,char unGameServerPort,ulong steamIDGameServer) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyGameServer(m_pSteamMatchmaking,steamIDLobby,unGameServerIP,unGameServerPort,steamIDGameServer); +} +public override bool GetLobbyGameServer(ulong steamIDLobby,ref uint punGameServerIP,ref char punGameServerPort,out CSteamID psteamIDGameServer) +{ + CheckIfUsable(); + punGameServerIP = 0; + punGameServerPort = (char) 0; + psteamIDGameServer = new CSteamID(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyGameServer(m_pSteamMatchmaking,steamIDLobby,ref punGameServerIP,ref punGameServerPort,ref psteamIDGameServer); + return result; +} +public override bool SetLobbyMemberLimit(ulong steamIDLobby,int cMaxMembers) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyMemberLimit(m_pSteamMatchmaking,steamIDLobby,cMaxMembers); + return result; +} +public override int GetLobbyMemberLimit(ulong steamIDLobby) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyMemberLimit(m_pSteamMatchmaking,steamIDLobby); + return result; +} +public override bool SetLobbyType(ulong steamIDLobby,uint eLobbyType) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyType(m_pSteamMatchmaking,steamIDLobby,eLobbyType); + return result; +} +public override bool SetLobbyJoinable(ulong steamIDLobby,bool bLobbyJoinable) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyJoinable(m_pSteamMatchmaking,steamIDLobby,bLobbyJoinable); + return result; +} +public override ulong GetLobbyOwner(ulong steamIDLobby) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_GetLobbyOwner(m_pSteamMatchmaking,steamIDLobby); + return result; +} +public override bool SetLobbyOwner(ulong steamIDLobby,ulong steamIDNewOwner) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLobbyOwner(m_pSteamMatchmaking,steamIDLobby,steamIDNewOwner); + return result; +} +public override bool SetLinkedLobby(ulong steamIDLobby,ulong steamIDLobbyDependent) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmaking_SetLinkedLobby(m_pSteamMatchmaking,steamIDLobby,steamIDLobbyDependent); + return result; +} +} + + +public class CSteamMatchmakingServerListResponse : ISteamMatchmakingServerListResponse +{ +public CSteamMatchmakingServerListResponse(IntPtr SteamMatchmakingServerListResponse) +{ + m_pSteamMatchmakingServerListResponse = SteamMatchmakingServerListResponse; +} +IntPtr m_pSteamMatchmakingServerListResponse; + +public override IntPtr GetIntPtr() { return m_pSteamMatchmakingServerListResponse; } + +private void CheckIfUsable() +{ + if (m_pSteamMatchmakingServerListResponse == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override void ServerResponded(uint hRequest,int iServer) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServerListResponse_ServerResponded(m_pSteamMatchmakingServerListResponse,hRequest,iServer); +} +public override void ServerFailedToRespond(uint hRequest,int iServer) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServerListResponse_ServerFailedToRespond(m_pSteamMatchmakingServerListResponse,hRequest,iServer); +} +public override void RefreshComplete(uint hRequest,uint response) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServerListResponse_RefreshComplete(m_pSteamMatchmakingServerListResponse,hRequest,response); +} +} + + +public class CSteamMatchmakingPingResponse : ISteamMatchmakingPingResponse +{ +public CSteamMatchmakingPingResponse(IntPtr SteamMatchmakingPingResponse) +{ + m_pSteamMatchmakingPingResponse = SteamMatchmakingPingResponse; +} +IntPtr m_pSteamMatchmakingPingResponse; + +public override IntPtr GetIntPtr() { return m_pSteamMatchmakingPingResponse; } + +private void CheckIfUsable() +{ + if (m_pSteamMatchmakingPingResponse == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override void ServerResponded(IntPtr server) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingPingResponse_ServerResponded(m_pSteamMatchmakingPingResponse,server); +} +public override void ServerFailedToRespond() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingPingResponse_ServerFailedToRespond(m_pSteamMatchmakingPingResponse); +} +} + + +public class CSteamMatchmakingPlayersResponse : ISteamMatchmakingPlayersResponse +{ +public CSteamMatchmakingPlayersResponse(IntPtr SteamMatchmakingPlayersResponse) +{ + m_pSteamMatchmakingPlayersResponse = SteamMatchmakingPlayersResponse; +} +IntPtr m_pSteamMatchmakingPlayersResponse; + +public override IntPtr GetIntPtr() { return m_pSteamMatchmakingPlayersResponse; } + +private void CheckIfUsable() +{ + if (m_pSteamMatchmakingPlayersResponse == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override void AddPlayerToList(string pchName,int nScore,float flTimePlayed) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingPlayersResponse_AddPlayerToList(m_pSteamMatchmakingPlayersResponse,pchName,nScore,flTimePlayed); +} +public override void PlayersFailedToRespond() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingPlayersResponse_PlayersFailedToRespond(m_pSteamMatchmakingPlayersResponse); +} +public override void PlayersRefreshComplete() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingPlayersResponse_PlayersRefreshComplete(m_pSteamMatchmakingPlayersResponse); +} +} + + +public class CSteamMatchmakingRulesResponse : ISteamMatchmakingRulesResponse +{ +public CSteamMatchmakingRulesResponse(IntPtr SteamMatchmakingRulesResponse) +{ + m_pSteamMatchmakingRulesResponse = SteamMatchmakingRulesResponse; +} +IntPtr m_pSteamMatchmakingRulesResponse; + +public override IntPtr GetIntPtr() { return m_pSteamMatchmakingRulesResponse; } + +private void CheckIfUsable() +{ + if (m_pSteamMatchmakingRulesResponse == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override void RulesResponded(string pchRule,string pchValue) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded(m_pSteamMatchmakingRulesResponse,pchRule,pchValue); +} +public override void RulesFailedToRespond() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond(m_pSteamMatchmakingRulesResponse); +} +public override void RulesRefreshComplete() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete(m_pSteamMatchmakingRulesResponse); +} +} + + +public class CSteamMatchmakingServers : ISteamMatchmakingServers +{ +public CSteamMatchmakingServers(IntPtr SteamMatchmakingServers) +{ + m_pSteamMatchmakingServers = SteamMatchmakingServers; +} +IntPtr m_pSteamMatchmakingServers; + +public override IntPtr GetIntPtr() { return m_pSteamMatchmakingServers; } + +private void CheckIfUsable() +{ + if (m_pSteamMatchmakingServers == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint RequestInternetServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestInternetServerList(m_pSteamMatchmakingServers,iApp,ppchFilters,(uint) ppchFilters.Length,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint RequestLANServerList(uint iApp,ISteamMatchmakingServerListResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestLANServerList(m_pSteamMatchmakingServers,iApp,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint RequestFriendsServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList(m_pSteamMatchmakingServers,iApp,ppchFilters,(uint) ppchFilters.Length,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint RequestFavoritesServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestFavoritesServerList(m_pSteamMatchmakingServers,iApp,ppchFilters,(uint) ppchFilters.Length,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint RequestHistoryServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestHistoryServerList(m_pSteamMatchmakingServers,iApp,ppchFilters,(uint) ppchFilters.Length,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint RequestSpectatorServerList(uint iApp,IntPtr [] ppchFilters,ISteamMatchmakingServerListResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RequestSpectatorServerList(m_pSteamMatchmakingServers,iApp,ppchFilters,(uint) ppchFilters.Length,pRequestServersResponse.GetIntPtr()); + return result; +} +public override void ReleaseRequest(uint hServerListRequest) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_ReleaseRequest(m_pSteamMatchmakingServers,hServerListRequest); +} +public override gameserveritem_t GetServerDetails(uint hRequest,int iServer) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_GetServerDetails(m_pSteamMatchmakingServers,hRequest,iServer); + return (gameserveritem_t) Marshal.PtrToStructure(result, typeof(gameserveritem_t)); +} +public override void CancelQuery(uint hRequest) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_CancelQuery(m_pSteamMatchmakingServers,hRequest); +} +public override void RefreshQuery(uint hRequest) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RefreshQuery(m_pSteamMatchmakingServers,hRequest); +} +public override bool IsRefreshing(uint hRequest) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_IsRefreshing(m_pSteamMatchmakingServers,hRequest); + return result; +} +public override int GetServerCount(uint hRequest) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_GetServerCount(m_pSteamMatchmakingServers,hRequest); + return result; +} +public override void RefreshServer(uint hRequest,int iServer) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_RefreshServer(m_pSteamMatchmakingServers,hRequest,iServer); +} +public override uint PingServer(uint unIP,char usPort,ISteamMatchmakingPingResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_PingServer(m_pSteamMatchmakingServers,unIP,usPort,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint PlayerDetails(uint unIP,char usPort,ISteamMatchmakingPlayersResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_PlayerDetails(m_pSteamMatchmakingServers,unIP,usPort,pRequestServersResponse.GetIntPtr()); + return result; +} +public override uint ServerRules(uint unIP,char usPort,ISteamMatchmakingRulesResponse pRequestServersResponse) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_ServerRules(m_pSteamMatchmakingServers,unIP,usPort,pRequestServersResponse.GetIntPtr()); + return result; +} +public override void CancelServerQuery(uint hServerQuery) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMatchmakingServers_CancelServerQuery(m_pSteamMatchmakingServers,hServerQuery); +} +} + + +public class CSteamRemoteStorage : ISteamRemoteStorage +{ +public CSteamRemoteStorage(IntPtr SteamRemoteStorage) +{ + m_pSteamRemoteStorage = SteamRemoteStorage; +} +IntPtr m_pSteamRemoteStorage; + +public override IntPtr GetIntPtr() { return m_pSteamRemoteStorage; } + +private void CheckIfUsable() +{ + if (m_pSteamRemoteStorage == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool FileWrite(string pchFile,IntPtr pvData,int cubData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileWrite(m_pSteamRemoteStorage,pchFile,pvData,cubData); + return result; +} +public override int FileRead(string pchFile,IntPtr pvData,int cubDataToRead) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileRead(m_pSteamRemoteStorage,pchFile,pvData,cubDataToRead); + return result; +} +public override ulong FileWriteAsync(string pchFile,IntPtr pvData,uint cubData) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileWriteAsync(m_pSteamRemoteStorage,pchFile,pvData,cubData); + return result; +} +public override ulong FileReadAsync(string pchFile,uint nOffset,uint cubToRead) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileReadAsync(m_pSteamRemoteStorage,pchFile,nOffset,cubToRead); + return result; +} +public override bool FileReadAsyncComplete(ulong hReadCall,IntPtr pvBuffer,uint cubToRead) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileReadAsyncComplete(m_pSteamRemoteStorage,hReadCall,pvBuffer,cubToRead); + return result; +} +public override bool FileForget(string pchFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileForget(m_pSteamRemoteStorage,pchFile); + return result; +} +public override bool FileDelete(string pchFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileDelete(m_pSteamRemoteStorage,pchFile); + return result; +} +public override ulong FileShare(string pchFile) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileShare(m_pSteamRemoteStorage,pchFile); + return result; +} +public override bool SetSyncPlatforms(string pchFile,uint eRemoteStoragePlatform) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_SetSyncPlatforms(m_pSteamRemoteStorage,pchFile,eRemoteStoragePlatform); + return result; +} +public override ulong FileWriteStreamOpen(string pchFile) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileWriteStreamOpen(m_pSteamRemoteStorage,pchFile); + return result; +} +public override bool FileWriteStreamWriteChunk(ulong writeHandle,IntPtr pvData,int cubData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileWriteStreamWriteChunk(m_pSteamRemoteStorage,writeHandle,pvData,cubData); + return result; +} +public override bool FileWriteStreamClose(ulong writeHandle) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileWriteStreamClose(m_pSteamRemoteStorage,writeHandle); + return result; +} +public override bool FileWriteStreamCancel(ulong writeHandle) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileWriteStreamCancel(m_pSteamRemoteStorage,writeHandle); + return result; +} +public override bool FileExists(string pchFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FileExists(m_pSteamRemoteStorage,pchFile); + return result; +} +public override bool FilePersisted(string pchFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_FilePersisted(m_pSteamRemoteStorage,pchFile); + return result; +} +public override int GetFileSize(string pchFile) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetFileSize(m_pSteamRemoteStorage,pchFile); + return result; +} +public override long GetFileTimestamp(string pchFile) +{ + CheckIfUsable(); + long result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetFileTimestamp(m_pSteamRemoteStorage,pchFile); + return result; +} +public override uint GetSyncPlatforms(string pchFile) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetSyncPlatforms(m_pSteamRemoteStorage,pchFile); + return result; +} +public override int GetFileCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetFileCount(m_pSteamRemoteStorage); + return result; +} +public override string GetFileNameAndSize(int iFile,ref int pnFileSizeInBytes) +{ + CheckIfUsable(); + pnFileSizeInBytes = 0; + IntPtr result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetFileNameAndSize(m_pSteamRemoteStorage,iFile,ref pnFileSizeInBytes); + return Marshal.PtrToStringAnsi(result); +} +public override bool GetQuota(ref ulong pnTotalBytes,ref ulong puAvailableBytes) +{ + CheckIfUsable(); + pnTotalBytes = 0; + puAvailableBytes = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetQuota(m_pSteamRemoteStorage,ref pnTotalBytes,ref puAvailableBytes); + return result; +} +public override bool IsCloudEnabledForAccount() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_IsCloudEnabledForAccount(m_pSteamRemoteStorage); + return result; +} +public override bool IsCloudEnabledForApp() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_IsCloudEnabledForApp(m_pSteamRemoteStorage); + return result; +} +public override void SetCloudEnabledForApp(bool bEnabled) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamRemoteStorage_SetCloudEnabledForApp(m_pSteamRemoteStorage,bEnabled); +} +public override ulong UGCDownload(ulong hContent,uint unPriority) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UGCDownload(m_pSteamRemoteStorage,hContent,unPriority); + return result; +} +public override bool GetUGCDownloadProgress(ulong hContent,ref int pnBytesDownloaded,ref int pnBytesExpected) +{ + CheckIfUsable(); + pnBytesDownloaded = 0; + pnBytesExpected = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetUGCDownloadProgress(m_pSteamRemoteStorage,hContent,ref pnBytesDownloaded,ref pnBytesExpected); + return result; +} +public override bool GetUGCDetails(ulong hContent,ref uint pnAppID,System.Text.StringBuilder ppchName,ref int pnFileSizeInBytes,out CSteamID pSteamIDOwner) +{ + CheckIfUsable(); + pnAppID = 0; + pnFileSizeInBytes = 0; + pSteamIDOwner = new CSteamID(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetUGCDetails(m_pSteamRemoteStorage,hContent,ref pnAppID,ppchName,ref pnFileSizeInBytes,ref pSteamIDOwner); + return result; +} +public override int UGCRead(ulong hContent,IntPtr pvData,int cubDataToRead,uint cOffset,uint eAction) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UGCRead(m_pSteamRemoteStorage,hContent,pvData,cubDataToRead,cOffset,eAction); + return result; +} +public override int GetCachedUGCCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetCachedUGCCount(m_pSteamRemoteStorage); + return result; +} +public override ulong GetCachedUGCHandle(int iCachedContent) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetCachedUGCHandle(m_pSteamRemoteStorage,iCachedContent); + return result; +} +public override ulong PublishWorkshopFile(string pchFile,string pchPreviewFile,uint nConsumerAppId,string pchTitle,string pchDescription,uint eVisibility,ref SteamParamStringArray_t pTags,uint eWorkshopFileType) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_PublishWorkshopFile(m_pSteamRemoteStorage,pchFile,pchPreviewFile,nConsumerAppId,pchTitle,pchDescription,eVisibility,ref pTags,eWorkshopFileType); + return result; +} +public override ulong CreatePublishedFileUpdateRequest(ulong unPublishedFileId) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_CreatePublishedFileUpdateRequest(m_pSteamRemoteStorage,unPublishedFileId); + return result; +} +public override bool UpdatePublishedFileFile(ulong updateHandle,string pchFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFileFile(m_pSteamRemoteStorage,updateHandle,pchFile); + return result; +} +public override bool UpdatePublishedFilePreviewFile(ulong updateHandle,string pchPreviewFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFilePreviewFile(m_pSteamRemoteStorage,updateHandle,pchPreviewFile); + return result; +} +public override bool UpdatePublishedFileTitle(ulong updateHandle,string pchTitle) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTitle(m_pSteamRemoteStorage,updateHandle,pchTitle); + return result; +} +public override bool UpdatePublishedFileDescription(ulong updateHandle,string pchDescription) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFileDescription(m_pSteamRemoteStorage,updateHandle,pchDescription); + return result; +} +public override bool UpdatePublishedFileVisibility(ulong updateHandle,uint eVisibility) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFileVisibility(m_pSteamRemoteStorage,updateHandle,eVisibility); + return result; +} +public override bool UpdatePublishedFileTags(ulong updateHandle,ref SteamParamStringArray_t pTags) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFileTags(m_pSteamRemoteStorage,updateHandle,ref pTags); + return result; +} +public override ulong CommitPublishedFileUpdate(ulong updateHandle) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_CommitPublishedFileUpdate(m_pSteamRemoteStorage,updateHandle); + return result; +} +public override ulong GetPublishedFileDetails(ulong unPublishedFileId,uint unMaxSecondsOld) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetPublishedFileDetails(m_pSteamRemoteStorage,unPublishedFileId,unMaxSecondsOld); + return result; +} +public override ulong DeletePublishedFile(ulong unPublishedFileId) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_DeletePublishedFile(m_pSteamRemoteStorage,unPublishedFileId); + return result; +} +public override ulong EnumerateUserPublishedFiles(uint unStartIndex) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_EnumerateUserPublishedFiles(m_pSteamRemoteStorage,unStartIndex); + return result; +} +public override ulong SubscribePublishedFile(ulong unPublishedFileId) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_SubscribePublishedFile(m_pSteamRemoteStorage,unPublishedFileId); + return result; +} +public override ulong EnumerateUserSubscribedFiles(uint unStartIndex) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_EnumerateUserSubscribedFiles(m_pSteamRemoteStorage,unStartIndex); + return result; +} +public override ulong UnsubscribePublishedFile(ulong unPublishedFileId) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UnsubscribePublishedFile(m_pSteamRemoteStorage,unPublishedFileId); + return result; +} +public override bool UpdatePublishedFileSetChangeDescription(ulong updateHandle,string pchChangeDescription) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdatePublishedFileSetChangeDescription(m_pSteamRemoteStorage,updateHandle,pchChangeDescription); + return result; +} +public override ulong GetPublishedItemVoteDetails(ulong unPublishedFileId) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetPublishedItemVoteDetails(m_pSteamRemoteStorage,unPublishedFileId); + return result; +} +public override ulong UpdateUserPublishedItemVote(ulong unPublishedFileId,bool bVoteUp) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UpdateUserPublishedItemVote(m_pSteamRemoteStorage,unPublishedFileId,bVoteUp); + return result; +} +public override ulong GetUserPublishedItemVoteDetails(ulong unPublishedFileId) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_GetUserPublishedItemVoteDetails(m_pSteamRemoteStorage,unPublishedFileId); + return result; +} +public override ulong EnumerateUserSharedWorkshopFiles(ulong steamId,uint unStartIndex,ref SteamParamStringArray_t pRequiredTags,ref SteamParamStringArray_t pExcludedTags) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_EnumerateUserSharedWorkshopFiles(m_pSteamRemoteStorage,steamId,unStartIndex,ref pRequiredTags,ref pExcludedTags); + return result; +} +public override ulong PublishVideo(uint eVideoProvider,string pchVideoAccount,string pchVideoIdentifier,string pchPreviewFile,uint nConsumerAppId,string pchTitle,string pchDescription,uint eVisibility,ref SteamParamStringArray_t pTags) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_PublishVideo(m_pSteamRemoteStorage,eVideoProvider,pchVideoAccount,pchVideoIdentifier,pchPreviewFile,nConsumerAppId,pchTitle,pchDescription,eVisibility,ref pTags); + return result; +} +public override ulong SetUserPublishedFileAction(ulong unPublishedFileId,uint eAction) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_SetUserPublishedFileAction(m_pSteamRemoteStorage,unPublishedFileId,eAction); + return result; +} +public override ulong EnumeratePublishedFilesByUserAction(uint eAction,uint unStartIndex) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_EnumeratePublishedFilesByUserAction(m_pSteamRemoteStorage,eAction,unStartIndex); + return result; +} +public override ulong EnumeratePublishedWorkshopFiles(uint eEnumerationType,uint unStartIndex,uint unCount,uint unDays,ref SteamParamStringArray_t pTags,ref SteamParamStringArray_t pUserTags) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_EnumeratePublishedWorkshopFiles(m_pSteamRemoteStorage,eEnumerationType,unStartIndex,unCount,unDays,ref pTags,ref pUserTags); + return result; +} +public override ulong UGCDownloadToLocation(ulong hContent,string pchLocation,uint unPriority) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamRemoteStorage_UGCDownloadToLocation(m_pSteamRemoteStorage,hContent,pchLocation,unPriority); + return result; +} +} + + +public class CSteamUserStats : ISteamUserStats +{ +public CSteamUserStats(IntPtr SteamUserStats) +{ + m_pSteamUserStats = SteamUserStats; +} +IntPtr m_pSteamUserStats; + +public override IntPtr GetIntPtr() { return m_pSteamUserStats; } + +private void CheckIfUsable() +{ + if (m_pSteamUserStats == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool RequestCurrentStats() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_RequestCurrentStats(m_pSteamUserStats); + return result; +} +public override bool GetStat(string pchName,ref int pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetStat(m_pSteamUserStats,pchName,ref pData); + return result; +} +public override bool GetStat0(string pchName,ref float pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetStat0(m_pSteamUserStats,pchName,ref pData); + return result; +} +public override bool SetStat(string pchName,int nData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_SetStat(m_pSteamUserStats,pchName,nData); + return result; +} +public override bool SetStat0(string pchName,float fData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_SetStat0(m_pSteamUserStats,pchName,fData); + return result; +} +public override bool UpdateAvgRateStat(string pchName,float flCountThisSession,double dSessionLength) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_UpdateAvgRateStat(m_pSteamUserStats,pchName,flCountThisSession,dSessionLength); + return result; +} +public override bool GetAchievement(string pchName,ref bool pbAchieved) +{ + CheckIfUsable(); + pbAchieved = false; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetAchievement(m_pSteamUserStats,pchName,ref pbAchieved); + return result; +} +public override bool SetAchievement(string pchName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_SetAchievement(m_pSteamUserStats,pchName); + return result; +} +public override bool ClearAchievement(string pchName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_ClearAchievement(m_pSteamUserStats,pchName); + return result; +} +public override bool GetAchievementAndUnlockTime(string pchName,ref bool pbAchieved,ref uint punUnlockTime) +{ + CheckIfUsable(); + pbAchieved = false; + punUnlockTime = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetAchievementAndUnlockTime(m_pSteamUserStats,pchName,ref pbAchieved,ref punUnlockTime); + return result; +} +public override bool StoreStats() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_StoreStats(m_pSteamUserStats); + return result; +} +public override int GetAchievementIcon(string pchName) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetAchievementIcon(m_pSteamUserStats,pchName); + return result; +} +public override string GetAchievementDisplayAttribute(string pchName,string pchKey) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetAchievementDisplayAttribute(m_pSteamUserStats,pchName,pchKey); + return Marshal.PtrToStringAnsi(result); +} +public override bool IndicateAchievementProgress(string pchName,uint nCurProgress,uint nMaxProgress) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_IndicateAchievementProgress(m_pSteamUserStats,pchName,nCurProgress,nMaxProgress); + return result; +} +public override uint GetNumAchievements() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetNumAchievements(m_pSteamUserStats); + return result; +} +public override string GetAchievementName(uint iAchievement) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetAchievementName(m_pSteamUserStats,iAchievement); + return Marshal.PtrToStringAnsi(result); +} +public override ulong RequestUserStats(ulong steamIDUser) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_RequestUserStats(m_pSteamUserStats,steamIDUser); + return result; +} +public override bool GetUserStat(ulong steamIDUser,string pchName,ref int pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetUserStat(m_pSteamUserStats,steamIDUser,pchName,ref pData); + return result; +} +public override bool GetUserStat0(ulong steamIDUser,string pchName,ref float pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetUserStat0(m_pSteamUserStats,steamIDUser,pchName,ref pData); + return result; +} +public override bool GetUserAchievement(ulong steamIDUser,string pchName,ref bool pbAchieved) +{ + CheckIfUsable(); + pbAchieved = false; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetUserAchievement(m_pSteamUserStats,steamIDUser,pchName,ref pbAchieved); + return result; +} +public override bool GetUserAchievementAndUnlockTime(ulong steamIDUser,string pchName,ref bool pbAchieved,ref uint punUnlockTime) +{ + CheckIfUsable(); + pbAchieved = false; + punUnlockTime = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetUserAchievementAndUnlockTime(m_pSteamUserStats,steamIDUser,pchName,ref pbAchieved,ref punUnlockTime); + return result; +} +public override bool ResetAllStats(bool bAchievementsToo) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_ResetAllStats(m_pSteamUserStats,bAchievementsToo); + return result; +} +public override ulong FindOrCreateLeaderboard(string pchLeaderboardName,uint eLeaderboardSortMethod,uint eLeaderboardDisplayType) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_FindOrCreateLeaderboard(m_pSteamUserStats,pchLeaderboardName,eLeaderboardSortMethod,eLeaderboardDisplayType); + return result; +} +public override ulong FindLeaderboard(string pchLeaderboardName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_FindLeaderboard(m_pSteamUserStats,pchLeaderboardName); + return result; +} +public override string GetLeaderboardName(ulong hSteamLeaderboard) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetLeaderboardName(m_pSteamUserStats,hSteamLeaderboard); + return Marshal.PtrToStringAnsi(result); +} +public override int GetLeaderboardEntryCount(ulong hSteamLeaderboard) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetLeaderboardEntryCount(m_pSteamUserStats,hSteamLeaderboard); + return result; +} +public override uint GetLeaderboardSortMethod(ulong hSteamLeaderboard) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetLeaderboardSortMethod(m_pSteamUserStats,hSteamLeaderboard); + return result; +} +public override uint GetLeaderboardDisplayType(ulong hSteamLeaderboard) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetLeaderboardDisplayType(m_pSteamUserStats,hSteamLeaderboard); + return result; +} +public override ulong DownloadLeaderboardEntries(ulong hSteamLeaderboard,uint eLeaderboardDataRequest,int nRangeStart,int nRangeEnd) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_DownloadLeaderboardEntries(m_pSteamUserStats,hSteamLeaderboard,eLeaderboardDataRequest,nRangeStart,nRangeEnd); + return result; +} +public override ulong DownloadLeaderboardEntriesForUsers(ulong hSteamLeaderboard,CSteamID [] prgUsers) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_DownloadLeaderboardEntriesForUsers(m_pSteamUserStats,hSteamLeaderboard,prgUsers,(int) prgUsers.Length); + return result; +} +public override bool GetDownloadedLeaderboardEntry(ulong hSteamLeaderboardEntries,int index,ref LeaderboardEntry_t pLeaderboardEntry,ref int pDetails,int cDetailsMax) +{ + CheckIfUsable(); + pDetails = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetDownloadedLeaderboardEntry(m_pSteamUserStats,hSteamLeaderboardEntries,index,ref pLeaderboardEntry,ref pDetails,cDetailsMax); + return result; +} +public override ulong UploadLeaderboardScore(ulong hSteamLeaderboard,uint eLeaderboardUploadScoreMethod,int nScore,ref int pScoreDetails,int cScoreDetailsCount) +{ + CheckIfUsable(); + pScoreDetails = 0; + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_UploadLeaderboardScore(m_pSteamUserStats,hSteamLeaderboard,eLeaderboardUploadScoreMethod,nScore,ref pScoreDetails,cScoreDetailsCount); + return result; +} +public override ulong AttachLeaderboardUGC(ulong hSteamLeaderboard,ulong hUGC) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_AttachLeaderboardUGC(m_pSteamUserStats,hSteamLeaderboard,hUGC); + return result; +} +public override ulong GetNumberOfCurrentPlayers() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetNumberOfCurrentPlayers(m_pSteamUserStats); + return result; +} +public override ulong RequestGlobalAchievementPercentages() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_RequestGlobalAchievementPercentages(m_pSteamUserStats); + return result; +} +public override int GetMostAchievedAchievementInfo(string pchName,uint unNameBufLen,ref float pflPercent,ref bool pbAchieved) +{ + CheckIfUsable(); + pflPercent = 0; + pbAchieved = false; + int result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetMostAchievedAchievementInfo(m_pSteamUserStats,pchName,unNameBufLen,ref pflPercent,ref pbAchieved); + return result; +} +public override int GetNextMostAchievedAchievementInfo(int iIteratorPrevious,string pchName,uint unNameBufLen,ref float pflPercent,ref bool pbAchieved) +{ + CheckIfUsable(); + pflPercent = 0; + pbAchieved = false; + int result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetNextMostAchievedAchievementInfo(m_pSteamUserStats,iIteratorPrevious,pchName,unNameBufLen,ref pflPercent,ref pbAchieved); + return result; +} +public override bool GetAchievementAchievedPercent(string pchName,ref float pflPercent) +{ + CheckIfUsable(); + pflPercent = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetAchievementAchievedPercent(m_pSteamUserStats,pchName,ref pflPercent); + return result; +} +public override ulong RequestGlobalStats(int nHistoryDays) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUserStats_RequestGlobalStats(m_pSteamUserStats,nHistoryDays); + return result; +} +public override bool GetGlobalStat(string pchStatName,ref long pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetGlobalStat(m_pSteamUserStats,pchStatName,ref pData); + return result; +} +public override bool GetGlobalStat0(string pchStatName,ref double pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetGlobalStat0(m_pSteamUserStats,pchStatName,ref pData); + return result; +} +public override int GetGlobalStatHistory(string pchStatName,long [] pData) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetGlobalStatHistory(m_pSteamUserStats,pchStatName,pData,(uint) pData.Length); + return result; +} +public override int GetGlobalStatHistory0(string pchStatName,double [] pData) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamUserStats_GetGlobalStatHistory0(m_pSteamUserStats,pchStatName,pData,(uint) pData.Length); + return result; +} +} + + +public class CSteamApps : ISteamApps +{ +public CSteamApps(IntPtr SteamApps) +{ + m_pSteamApps = SteamApps; +} +IntPtr m_pSteamApps; + +public override IntPtr GetIntPtr() { return m_pSteamApps; } + +private void CheckIfUsable() +{ + if (m_pSteamApps == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool BIsSubscribed() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsSubscribed(m_pSteamApps); + return result; +} +public override bool BIsLowViolence() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsLowViolence(m_pSteamApps); + return result; +} +public override bool BIsCybercafe() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsCybercafe(m_pSteamApps); + return result; +} +public override bool BIsVACBanned() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsVACBanned(m_pSteamApps); + return result; +} +public override string GetCurrentGameLanguage() +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamApps_GetCurrentGameLanguage(m_pSteamApps); + return Marshal.PtrToStringAnsi(result); +} +public override string GetAvailableGameLanguages() +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamApps_GetAvailableGameLanguages(m_pSteamApps); + return Marshal.PtrToStringAnsi(result); +} +public override bool BIsSubscribedApp(uint appID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsSubscribedApp(m_pSteamApps,appID); + return result; +} +public override bool BIsDlcInstalled(uint appID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsDlcInstalled(m_pSteamApps,appID); + return result; +} +public override uint GetEarliestPurchaseUnixTime(uint nAppID) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamApps_GetEarliestPurchaseUnixTime(m_pSteamApps,nAppID); + return result; +} +public override bool BIsSubscribedFromFreeWeekend() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsSubscribedFromFreeWeekend(m_pSteamApps); + return result; +} +public override int GetDLCCount() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamApps_GetDLCCount(m_pSteamApps); + return result; +} +public override bool BGetDLCDataByIndex(int iDLC,ref uint pAppID,ref bool pbAvailable,string pchName,int cchNameBufferSize) +{ + CheckIfUsable(); + pAppID = 0; + pbAvailable = false; + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BGetDLCDataByIndex(m_pSteamApps,iDLC,ref pAppID,ref pbAvailable,pchName,cchNameBufferSize); + return result; +} +public override void InstallDLC(uint nAppID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamApps_InstallDLC(m_pSteamApps,nAppID); +} +public override void UninstallDLC(uint nAppID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamApps_UninstallDLC(m_pSteamApps,nAppID); +} +public override void RequestAppProofOfPurchaseKey(uint nAppID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamApps_RequestAppProofOfPurchaseKey(m_pSteamApps,nAppID); +} +public override bool GetCurrentBetaName(string pchName,int cchNameBufferSize) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_GetCurrentBetaName(m_pSteamApps,pchName,cchNameBufferSize); + return result; +} +public override bool MarkContentCorrupt(bool bMissingFilesOnly) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_MarkContentCorrupt(m_pSteamApps,bMissingFilesOnly); + return result; +} +public override uint GetInstalledDepots(uint appID,ref uint pvecDepots,uint cMaxDepots) +{ + CheckIfUsable(); + pvecDepots = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamApps_GetInstalledDepots(m_pSteamApps,appID,ref pvecDepots,cMaxDepots); + return result; +} +public override uint GetAppInstallDir(uint appID,string pchFolder,uint cchFolderBufferSize) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamApps_GetAppInstallDir(m_pSteamApps,appID,pchFolder,cchFolderBufferSize); + return result; +} +public override bool BIsAppInstalled(uint appID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamApps_BIsAppInstalled(m_pSteamApps,appID); + return result; +} +public override ulong GetAppOwner() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamApps_GetAppOwner(m_pSteamApps); + return result; +} +public override string GetLaunchQueryParam(string pchKey) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamApps_GetLaunchQueryParam(m_pSteamApps,pchKey); + return Marshal.PtrToStringAnsi(result); +} +public override bool GetDlcDownloadProgress(uint nAppID,ref ulong punBytesDownloaded,ref ulong punBytesTotal) +{ + CheckIfUsable(); + punBytesDownloaded = 0; + punBytesTotal = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamApps_GetDlcDownloadProgress(m_pSteamApps,nAppID,ref punBytesDownloaded,ref punBytesTotal); + return result; +} +public override int GetAppBuildId() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamApps_GetAppBuildId(m_pSteamApps); + return result; +} +public override void RequestAllProofOfPurchaseKeys() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamApps_RequestAllProofOfPurchaseKeys(m_pSteamApps); +} +public override ulong GetFileDetails(string pszFileName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamApps_GetFileDetails(m_pSteamApps,pszFileName); + return result; +} +} + + +public class CSteamNetworking : ISteamNetworking +{ +public CSteamNetworking(IntPtr SteamNetworking) +{ + m_pSteamNetworking = SteamNetworking; +} +IntPtr m_pSteamNetworking; + +public override IntPtr GetIntPtr() { return m_pSteamNetworking; } + +private void CheckIfUsable() +{ + if (m_pSteamNetworking == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool SendP2PPacket(ulong steamIDRemote,IntPtr pubData,uint cubData,uint eP2PSendType,int nChannel) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_SendP2PPacket(m_pSteamNetworking,steamIDRemote,pubData,cubData,eP2PSendType,nChannel); + return result; +} +public override bool IsP2PPacketAvailable(ref uint pcubMsgSize,int nChannel) +{ + CheckIfUsable(); + pcubMsgSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_IsP2PPacketAvailable(m_pSteamNetworking,ref pcubMsgSize,nChannel); + return result; +} +public override bool ReadP2PPacket(IntPtr pubDest,uint cubDest,ref uint pcubMsgSize,ref CSteamID psteamIDRemote,int nChannel) +{ + CheckIfUsable(); + pcubMsgSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_ReadP2PPacket(m_pSteamNetworking,pubDest,cubDest,ref pcubMsgSize,ref psteamIDRemote,nChannel); + return result; +} +public override bool AcceptP2PSessionWithUser(ulong steamIDRemote) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_AcceptP2PSessionWithUser(m_pSteamNetworking,steamIDRemote); + return result; +} +public override bool CloseP2PSessionWithUser(ulong steamIDRemote) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_CloseP2PSessionWithUser(m_pSteamNetworking,steamIDRemote); + return result; +} +public override bool CloseP2PChannelWithUser(ulong steamIDRemote,int nChannel) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_CloseP2PChannelWithUser(m_pSteamNetworking,steamIDRemote,nChannel); + return result; +} +public override bool GetP2PSessionState(ulong steamIDRemote,ref P2PSessionState_t pConnectionState) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_GetP2PSessionState(m_pSteamNetworking,steamIDRemote,ref pConnectionState); + return result; +} +public override bool AllowP2PPacketRelay(bool bAllow) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_AllowP2PPacketRelay(m_pSteamNetworking,bAllow); + return result; +} +public override uint CreateListenSocket(int nVirtualP2PPort,uint nIP,char nPort,bool bAllowUseOfPacketRelay) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamNetworking_CreateListenSocket(m_pSteamNetworking,nVirtualP2PPort,nIP,nPort,bAllowUseOfPacketRelay); + return result; +} +public override uint CreateP2PConnectionSocket(ulong steamIDTarget,int nVirtualPort,int nTimeoutSec,bool bAllowUseOfPacketRelay) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamNetworking_CreateP2PConnectionSocket(m_pSteamNetworking,steamIDTarget,nVirtualPort,nTimeoutSec,bAllowUseOfPacketRelay); + return result; +} +public override uint CreateConnectionSocket(uint nIP,char nPort,int nTimeoutSec) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamNetworking_CreateConnectionSocket(m_pSteamNetworking,nIP,nPort,nTimeoutSec); + return result; +} +public override bool DestroySocket(uint hSocket,bool bNotifyRemoteEnd) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_DestroySocket(m_pSteamNetworking,hSocket,bNotifyRemoteEnd); + return result; +} +public override bool DestroyListenSocket(uint hSocket,bool bNotifyRemoteEnd) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_DestroyListenSocket(m_pSteamNetworking,hSocket,bNotifyRemoteEnd); + return result; +} +public override bool SendDataOnSocket(uint hSocket,IntPtr pubData,uint cubData,bool bReliable) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_SendDataOnSocket(m_pSteamNetworking,hSocket,pubData,cubData,bReliable); + return result; +} +public override bool IsDataAvailableOnSocket(uint hSocket,ref uint pcubMsgSize) +{ + CheckIfUsable(); + pcubMsgSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_IsDataAvailableOnSocket(m_pSteamNetworking,hSocket,ref pcubMsgSize); + return result; +} +public override bool RetrieveDataFromSocket(uint hSocket,IntPtr pubDest,uint cubDest,ref uint pcubMsgSize) +{ + CheckIfUsable(); + pcubMsgSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_RetrieveDataFromSocket(m_pSteamNetworking,hSocket,pubDest,cubDest,ref pcubMsgSize); + return result; +} +public override bool IsDataAvailable(uint hListenSocket,ref uint pcubMsgSize,ref uint phSocket) +{ + CheckIfUsable(); + pcubMsgSize = 0; + phSocket = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_IsDataAvailable(m_pSteamNetworking,hListenSocket,ref pcubMsgSize,ref phSocket); + return result; +} +public override bool RetrieveData(uint hListenSocket,IntPtr pubDest,uint cubDest,ref uint pcubMsgSize,ref uint phSocket) +{ + CheckIfUsable(); + pcubMsgSize = 0; + phSocket = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_RetrieveData(m_pSteamNetworking,hListenSocket,pubDest,cubDest,ref pcubMsgSize,ref phSocket); + return result; +} +public override bool GetSocketInfo(uint hSocket,ref CSteamID pSteamIDRemote,ref int peSocketStatus,ref uint punIPRemote,ref char punPortRemote) +{ + CheckIfUsable(); + peSocketStatus = 0; + punIPRemote = 0; + punPortRemote = (char) 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_GetSocketInfo(m_pSteamNetworking,hSocket,ref pSteamIDRemote,ref peSocketStatus,ref punIPRemote,ref punPortRemote); + return result; +} +public override bool GetListenSocketInfo(uint hListenSocket,ref uint pnIP,ref char pnPort) +{ + CheckIfUsable(); + pnIP = 0; + pnPort = (char) 0; + bool result = NativeEntrypoints.SteamAPI_ISteamNetworking_GetListenSocketInfo(m_pSteamNetworking,hListenSocket,ref pnIP,ref pnPort); + return result; +} +public override uint GetSocketConnectionType(uint hSocket) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamNetworking_GetSocketConnectionType(m_pSteamNetworking,hSocket); + return result; +} +public override int GetMaxPacketSize(uint hSocket) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamNetworking_GetMaxPacketSize(m_pSteamNetworking,hSocket); + return result; +} +} + + +public class CSteamScreenshots : ISteamScreenshots +{ +public CSteamScreenshots(IntPtr SteamScreenshots) +{ + m_pSteamScreenshots = SteamScreenshots; +} +IntPtr m_pSteamScreenshots; + +public override IntPtr GetIntPtr() { return m_pSteamScreenshots; } + +private void CheckIfUsable() +{ + if (m_pSteamScreenshots == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint WriteScreenshot(IntPtr pubRGB,uint cubRGB,int nWidth,int nHeight) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamScreenshots_WriteScreenshot(m_pSteamScreenshots,pubRGB,cubRGB,nWidth,nHeight); + return result; +} +public override uint AddScreenshotToLibrary(string pchFilename,string pchThumbnailFilename,int nWidth,int nHeight) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamScreenshots_AddScreenshotToLibrary(m_pSteamScreenshots,pchFilename,pchThumbnailFilename,nWidth,nHeight); + return result; +} +public override void TriggerScreenshot() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamScreenshots_TriggerScreenshot(m_pSteamScreenshots); +} +public override void HookScreenshots(bool bHook) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamScreenshots_HookScreenshots(m_pSteamScreenshots,bHook); +} +public override bool SetLocation(uint hScreenshot,string pchLocation) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamScreenshots_SetLocation(m_pSteamScreenshots,hScreenshot,pchLocation); + return result; +} +public override bool TagUser(uint hScreenshot,ulong steamID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamScreenshots_TagUser(m_pSteamScreenshots,hScreenshot,steamID); + return result; +} +public override bool TagPublishedFile(uint hScreenshot,ulong unPublishedFileID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamScreenshots_TagPublishedFile(m_pSteamScreenshots,hScreenshot,unPublishedFileID); + return result; +} +public override bool IsScreenshotsHooked() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamScreenshots_IsScreenshotsHooked(m_pSteamScreenshots); + return result; +} +public override uint AddVRScreenshotToLibrary(uint eType,string pchFilename,string pchVRFilename) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamScreenshots_AddVRScreenshotToLibrary(m_pSteamScreenshots,eType,pchFilename,pchVRFilename); + return result; +} +} + + +public class CSteamMusic : ISteamMusic +{ +public CSteamMusic(IntPtr SteamMusic) +{ + m_pSteamMusic = SteamMusic; +} +IntPtr m_pSteamMusic; + +public override IntPtr GetIntPtr() { return m_pSteamMusic; } + +private void CheckIfUsable() +{ + if (m_pSteamMusic == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool BIsEnabled() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusic_BIsEnabled(m_pSteamMusic); + return result; +} +public override bool BIsPlaying() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusic_BIsPlaying(m_pSteamMusic); + return result; +} +public override int GetPlaybackStatus() +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamMusic_GetPlaybackStatus(m_pSteamMusic); + return result; +} +public override void Play() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMusic_Play(m_pSteamMusic); +} +public override void Pause() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMusic_Pause(m_pSteamMusic); +} +public override void PlayPrevious() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMusic_PlayPrevious(m_pSteamMusic); +} +public override void PlayNext() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMusic_PlayNext(m_pSteamMusic); +} +public override void SetVolume(float flVolume) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamMusic_SetVolume(m_pSteamMusic,flVolume); +} +public override float GetVolume() +{ + CheckIfUsable(); + float result = NativeEntrypoints.SteamAPI_ISteamMusic_GetVolume(m_pSteamMusic); + return result; +} +} + + +public class CSteamMusicRemote : ISteamMusicRemote +{ +public CSteamMusicRemote(IntPtr SteamMusicRemote) +{ + m_pSteamMusicRemote = SteamMusicRemote; +} +IntPtr m_pSteamMusicRemote; + +public override IntPtr GetIntPtr() { return m_pSteamMusicRemote; } + +private void CheckIfUsable() +{ + if (m_pSteamMusicRemote == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool RegisterSteamMusicRemote(string pchName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_RegisterSteamMusicRemote(m_pSteamMusicRemote,pchName); + return result; +} +public override bool DeregisterSteamMusicRemote() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_DeregisterSteamMusicRemote(m_pSteamMusicRemote); + return result; +} +public override bool BIsCurrentMusicRemote() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_BIsCurrentMusicRemote(m_pSteamMusicRemote); + return result; +} +public override bool BActivationSuccess(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_BActivationSuccess(m_pSteamMusicRemote,bValue); + return result; +} +public override bool SetDisplayName(string pchDisplayName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_SetDisplayName(m_pSteamMusicRemote,pchDisplayName); + return result; +} +public override bool SetPNGIcon_64x64(IntPtr pvBuffer,uint cbBufferLength) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_SetPNGIcon_64x64(m_pSteamMusicRemote,pvBuffer,cbBufferLength); + return result; +} +public override bool EnablePlayPrevious(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_EnablePlayPrevious(m_pSteamMusicRemote,bValue); + return result; +} +public override bool EnablePlayNext(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_EnablePlayNext(m_pSteamMusicRemote,bValue); + return result; +} +public override bool EnableShuffled(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_EnableShuffled(m_pSteamMusicRemote,bValue); + return result; +} +public override bool EnableLooped(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_EnableLooped(m_pSteamMusicRemote,bValue); + return result; +} +public override bool EnableQueue(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_EnableQueue(m_pSteamMusicRemote,bValue); + return result; +} +public override bool EnablePlaylists(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_EnablePlaylists(m_pSteamMusicRemote,bValue); + return result; +} +public override bool UpdatePlaybackStatus(int nStatus) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdatePlaybackStatus(m_pSteamMusicRemote,nStatus); + return result; +} +public override bool UpdateShuffled(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdateShuffled(m_pSteamMusicRemote,bValue); + return result; +} +public override bool UpdateLooped(bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdateLooped(m_pSteamMusicRemote,bValue); + return result; +} +public override bool UpdateVolume(float flValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdateVolume(m_pSteamMusicRemote,flValue); + return result; +} +public override bool CurrentEntryWillChange() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_CurrentEntryWillChange(m_pSteamMusicRemote); + return result; +} +public override bool CurrentEntryIsAvailable(bool bAvailable) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_CurrentEntryIsAvailable(m_pSteamMusicRemote,bAvailable); + return result; +} +public override bool UpdateCurrentEntryText(string pchText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdateCurrentEntryText(m_pSteamMusicRemote,pchText); + return result; +} +public override bool UpdateCurrentEntryElapsedSeconds(int nValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdateCurrentEntryElapsedSeconds(m_pSteamMusicRemote,nValue); + return result; +} +public override bool UpdateCurrentEntryCoverArt(IntPtr pvBuffer,uint cbBufferLength) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_UpdateCurrentEntryCoverArt(m_pSteamMusicRemote,pvBuffer,cbBufferLength); + return result; +} +public override bool CurrentEntryDidChange() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_CurrentEntryDidChange(m_pSteamMusicRemote); + return result; +} +public override bool QueueWillChange() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_QueueWillChange(m_pSteamMusicRemote); + return result; +} +public override bool ResetQueueEntries() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_ResetQueueEntries(m_pSteamMusicRemote); + return result; +} +public override bool SetQueueEntry(int nID,int nPosition,string pchEntryText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_SetQueueEntry(m_pSteamMusicRemote,nID,nPosition,pchEntryText); + return result; +} +public override bool SetCurrentQueueEntry(int nID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_SetCurrentQueueEntry(m_pSteamMusicRemote,nID); + return result; +} +public override bool QueueDidChange() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_QueueDidChange(m_pSteamMusicRemote); + return result; +} +public override bool PlaylistWillChange() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_PlaylistWillChange(m_pSteamMusicRemote); + return result; +} +public override bool ResetPlaylistEntries() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_ResetPlaylistEntries(m_pSteamMusicRemote); + return result; +} +public override bool SetPlaylistEntry(int nID,int nPosition,string pchEntryText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_SetPlaylistEntry(m_pSteamMusicRemote,nID,nPosition,pchEntryText); + return result; +} +public override bool SetCurrentPlaylistEntry(int nID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_SetCurrentPlaylistEntry(m_pSteamMusicRemote,nID); + return result; +} +public override bool PlaylistDidChange() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamMusicRemote_PlaylistDidChange(m_pSteamMusicRemote); + return result; +} +} + + +public class CSteamHTTP : ISteamHTTP +{ +public CSteamHTTP(IntPtr SteamHTTP) +{ + m_pSteamHTTP = SteamHTTP; +} +IntPtr m_pSteamHTTP; + +public override IntPtr GetIntPtr() { return m_pSteamHTTP; } + +private void CheckIfUsable() +{ + if (m_pSteamHTTP == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint CreateHTTPRequest(uint eHTTPRequestMethod,string pchAbsoluteURL) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamHTTP_CreateHTTPRequest(m_pSteamHTTP,eHTTPRequestMethod,pchAbsoluteURL); + return result; +} +public override bool SetHTTPRequestContextValue(uint hRequest,ulong ulContextValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestContextValue(m_pSteamHTTP,hRequest,ulContextValue); + return result; +} +public override bool SetHTTPRequestNetworkActivityTimeout(uint hRequest,uint unTimeoutSeconds) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestNetworkActivityTimeout(m_pSteamHTTP,hRequest,unTimeoutSeconds); + return result; +} +public override bool SetHTTPRequestHeaderValue(uint hRequest,string pchHeaderName,string pchHeaderValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestHeaderValue(m_pSteamHTTP,hRequest,pchHeaderName,pchHeaderValue); + return result; +} +public override bool SetHTTPRequestGetOrPostParameter(uint hRequest,string pchParamName,string pchParamValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestGetOrPostParameter(m_pSteamHTTP,hRequest,pchParamName,pchParamValue); + return result; +} +public override bool SendHTTPRequest(uint hRequest,ref ulong pCallHandle) +{ + CheckIfUsable(); + pCallHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SendHTTPRequest(m_pSteamHTTP,hRequest,ref pCallHandle); + return result; +} +public override bool SendHTTPRequestAndStreamResponse(uint hRequest,ref ulong pCallHandle) +{ + CheckIfUsable(); + pCallHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SendHTTPRequestAndStreamResponse(m_pSteamHTTP,hRequest,ref pCallHandle); + return result; +} +public override bool DeferHTTPRequest(uint hRequest) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_DeferHTTPRequest(m_pSteamHTTP,hRequest); + return result; +} +public override bool PrioritizeHTTPRequest(uint hRequest) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_PrioritizeHTTPRequest(m_pSteamHTTP,hRequest); + return result; +} +public override bool GetHTTPResponseHeaderSize(uint hRequest,string pchHeaderName,ref uint unResponseHeaderSize) +{ + CheckIfUsable(); + unResponseHeaderSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPResponseHeaderSize(m_pSteamHTTP,hRequest,pchHeaderName,ref unResponseHeaderSize); + return result; +} +public override bool GetHTTPResponseHeaderValue(uint hRequest,string pchHeaderName,IntPtr pHeaderValueBuffer,uint unBufferSize) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPResponseHeaderValue(m_pSteamHTTP,hRequest,pchHeaderName,pHeaderValueBuffer,unBufferSize); + return result; +} +public override bool GetHTTPResponseBodySize(uint hRequest,ref uint unBodySize) +{ + CheckIfUsable(); + unBodySize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPResponseBodySize(m_pSteamHTTP,hRequest,ref unBodySize); + return result; +} +public override bool GetHTTPResponseBodyData(uint hRequest,IntPtr pBodyDataBuffer,uint unBufferSize) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPResponseBodyData(m_pSteamHTTP,hRequest,pBodyDataBuffer,unBufferSize); + return result; +} +public override bool GetHTTPStreamingResponseBodyData(uint hRequest,uint cOffset,IntPtr pBodyDataBuffer,uint unBufferSize) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPStreamingResponseBodyData(m_pSteamHTTP,hRequest,cOffset,pBodyDataBuffer,unBufferSize); + return result; +} +public override bool ReleaseHTTPRequest(uint hRequest) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_ReleaseHTTPRequest(m_pSteamHTTP,hRequest); + return result; +} +public override bool GetHTTPDownloadProgressPct(uint hRequest,ref float pflPercentOut) +{ + CheckIfUsable(); + pflPercentOut = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPDownloadProgressPct(m_pSteamHTTP,hRequest,ref pflPercentOut); + return result; +} +public override bool SetHTTPRequestRawPostBody(uint hRequest,string pchContentType,IntPtr pubBody,uint unBodyLen) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestRawPostBody(m_pSteamHTTP,hRequest,pchContentType,pubBody,unBodyLen); + return result; +} +public override uint CreateCookieContainer(bool bAllowResponsesToModify) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamHTTP_CreateCookieContainer(m_pSteamHTTP,bAllowResponsesToModify); + return result; +} +public override bool ReleaseCookieContainer(uint hCookieContainer) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_ReleaseCookieContainer(m_pSteamHTTP,hCookieContainer); + return result; +} +public override bool SetCookie(uint hCookieContainer,string pchHost,string pchUrl,string pchCookie) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetCookie(m_pSteamHTTP,hCookieContainer,pchHost,pchUrl,pchCookie); + return result; +} +public override bool SetHTTPRequestCookieContainer(uint hRequest,uint hCookieContainer) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestCookieContainer(m_pSteamHTTP,hRequest,hCookieContainer); + return result; +} +public override bool SetHTTPRequestUserAgentInfo(uint hRequest,string pchUserAgentInfo) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestUserAgentInfo(m_pSteamHTTP,hRequest,pchUserAgentInfo); + return result; +} +public override bool SetHTTPRequestRequiresVerifiedCertificate(uint hRequest,bool bRequireVerifiedCertificate) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestRequiresVerifiedCertificate(m_pSteamHTTP,hRequest,bRequireVerifiedCertificate); + return result; +} +public override bool SetHTTPRequestAbsoluteTimeoutMS(uint hRequest,uint unMilliseconds) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_SetHTTPRequestAbsoluteTimeoutMS(m_pSteamHTTP,hRequest,unMilliseconds); + return result; +} +public override bool GetHTTPRequestWasTimedOut(uint hRequest,ref bool pbWasTimedOut) +{ + CheckIfUsable(); + pbWasTimedOut = false; + bool result = NativeEntrypoints.SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut(m_pSteamHTTP,hRequest,ref pbWasTimedOut); + return result; +} +} + + +public class CSteamController : ISteamController +{ +public CSteamController(IntPtr SteamController) +{ + m_pSteamController = SteamController; +} +IntPtr m_pSteamController; + +public override IntPtr GetIntPtr() { return m_pSteamController; } + +private void CheckIfUsable() +{ + if (m_pSteamController == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool Init() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamController_Init(m_pSteamController); + return result; +} +public override bool Shutdown() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamController_Shutdown(m_pSteamController); + return result; +} +public override void RunFrame() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_RunFrame(m_pSteamController); +} +public override int GetConnectedControllers(ref ulong handlesOut) +{ + CheckIfUsable(); + handlesOut = 0; + int result = NativeEntrypoints.SteamAPI_ISteamController_GetConnectedControllers(m_pSteamController,ref handlesOut); + return result; +} +public override bool ShowBindingPanel(ulong controllerHandle) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamController_ShowBindingPanel(m_pSteamController,controllerHandle); + return result; +} +public override ulong GetActionSetHandle(string pszActionSetName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamController_GetActionSetHandle(m_pSteamController,pszActionSetName); + return result; +} +public override void ActivateActionSet(ulong controllerHandle,ulong actionSetHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_ActivateActionSet(m_pSteamController,controllerHandle,actionSetHandle); +} +public override ulong GetCurrentActionSet(ulong controllerHandle) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamController_GetCurrentActionSet(m_pSteamController,controllerHandle); + return result; +} +public override void ActivateActionSetLayer(ulong controllerHandle,ulong actionSetLayerHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_ActivateActionSetLayer(m_pSteamController,controllerHandle,actionSetLayerHandle); +} +public override void DeactivateActionSetLayer(ulong controllerHandle,ulong actionSetLayerHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_DeactivateActionSetLayer(m_pSteamController,controllerHandle,actionSetLayerHandle); +} +public override void DeactivateAllActionSetLayers(ulong controllerHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_DeactivateAllActionSetLayers(m_pSteamController,controllerHandle); +} +public override int GetActiveActionSetLayers(ulong controllerHandle,ref ulong handlesOut) +{ + CheckIfUsable(); + handlesOut = 0; + int result = NativeEntrypoints.SteamAPI_ISteamController_GetActiveActionSetLayers(m_pSteamController,controllerHandle,ref handlesOut); + return result; +} +public override ulong GetDigitalActionHandle(string pszActionName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionHandle(m_pSteamController,pszActionName); + return result; +} +public override ControllerDigitalActionData_t GetDigitalActionData(ulong controllerHandle,ulong digitalActionHandle) +{ + CheckIfUsable(); + ControllerDigitalActionData_t result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionData(m_pSteamController,controllerHandle,digitalActionHandle); + return result; +} +public override int GetDigitalActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong digitalActionHandle,ref uint originsOut) +{ + CheckIfUsable(); + originsOut = 0; + int result = NativeEntrypoints.SteamAPI_ISteamController_GetDigitalActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,digitalActionHandle,ref originsOut); + return result; +} +public override ulong GetAnalogActionHandle(string pszActionName) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionHandle(m_pSteamController,pszActionName); + return result; +} +public override ControllerAnalogActionData_t GetAnalogActionData(ulong controllerHandle,ulong analogActionHandle) +{ + CheckIfUsable(); + ControllerAnalogActionData_t result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionData(m_pSteamController,controllerHandle,analogActionHandle); + return result; +} +public override int GetAnalogActionOrigins(ulong controllerHandle,ulong actionSetHandle,ulong analogActionHandle,ref uint originsOut) +{ + CheckIfUsable(); + originsOut = 0; + int result = NativeEntrypoints.SteamAPI_ISteamController_GetAnalogActionOrigins(m_pSteamController,controllerHandle,actionSetHandle,analogActionHandle,ref originsOut); + return result; +} +public override void StopAnalogActionMomentum(ulong controllerHandle,ulong eAction) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_StopAnalogActionMomentum(m_pSteamController,controllerHandle,eAction); +} +public override void TriggerHapticPulse(ulong controllerHandle,uint eTargetPad,char usDurationMicroSec) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_TriggerHapticPulse(m_pSteamController,controllerHandle,eTargetPad,usDurationMicroSec); +} +public override void TriggerRepeatedHapticPulse(ulong controllerHandle,uint eTargetPad,char usDurationMicroSec,char usOffMicroSec,char unRepeat,uint nFlags) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_TriggerRepeatedHapticPulse(m_pSteamController,controllerHandle,eTargetPad,usDurationMicroSec,usOffMicroSec,unRepeat,nFlags); +} +public override void TriggerVibration(ulong controllerHandle,char usLeftSpeed,char usRightSpeed) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_TriggerVibration(m_pSteamController,controllerHandle,usLeftSpeed,usRightSpeed); +} +public override void SetLEDColor(ulong controllerHandle,byte nColorR,byte nColorG,byte nColorB,uint nFlags) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamController_SetLEDColor(m_pSteamController,controllerHandle,nColorR,nColorG,nColorB,nFlags); +} +public override int GetGamepadIndexForController(ulong ulControllerHandle) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamController_GetGamepadIndexForController(m_pSteamController,ulControllerHandle); + return result; +} +public override ulong GetControllerForGamepadIndex(int nIndex) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamController_GetControllerForGamepadIndex(m_pSteamController,nIndex); + return result; +} +public override ControllerMotionData_t GetMotionData(ulong controllerHandle) +{ + CheckIfUsable(); + ControllerMotionData_t result = NativeEntrypoints.SteamAPI_ISteamController_GetMotionData(m_pSteamController,controllerHandle); + return result; +} +public override bool ShowDigitalActionOrigins(ulong controllerHandle,ulong digitalActionHandle,float flScale,float flXPosition,float flYPosition) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamController_ShowDigitalActionOrigins(m_pSteamController,controllerHandle,digitalActionHandle,flScale,flXPosition,flYPosition); + return result; +} +public override bool ShowAnalogActionOrigins(ulong controllerHandle,ulong analogActionHandle,float flScale,float flXPosition,float flYPosition) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamController_ShowAnalogActionOrigins(m_pSteamController,controllerHandle,analogActionHandle,flScale,flXPosition,flYPosition); + return result; +} +public override string GetStringForActionOrigin(uint eOrigin) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamController_GetStringForActionOrigin(m_pSteamController,eOrigin); + return Marshal.PtrToStringAnsi(result); +} +public override string GetGlyphForActionOrigin(uint eOrigin) +{ + CheckIfUsable(); + IntPtr result = NativeEntrypoints.SteamAPI_ISteamController_GetGlyphForActionOrigin(m_pSteamController,eOrigin); + return Marshal.PtrToStringAnsi(result); +} +public override uint GetInputTypeForHandle(ulong controllerHandle) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamController_GetInputTypeForHandle(m_pSteamController,controllerHandle); + return result; +} +} + + +public class CSteamUGC : ISteamUGC +{ +public CSteamUGC(IntPtr SteamUGC) +{ + m_pSteamUGC = SteamUGC; +} +IntPtr m_pSteamUGC; + +public override IntPtr GetIntPtr() { return m_pSteamUGC; } + +private void CheckIfUsable() +{ + if (m_pSteamUGC == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override ulong CreateQueryUserUGCRequest(uint unAccountID,uint eListType,uint eMatchingUGCType,uint eSortOrder,uint nCreatorAppID,uint nConsumerAppID,uint unPage) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(m_pSteamUGC,unAccountID,eListType,eMatchingUGCType,eSortOrder,nCreatorAppID,nConsumerAppID,unPage); + return result; +} +public override ulong CreateQueryAllUGCRequest(uint eQueryType,uint eMatchingeMatchingUGCTypeFileType,uint nCreatorAppID,uint nConsumerAppID,uint unPage) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_CreateQueryAllUGCRequest(m_pSteamUGC,eQueryType,eMatchingeMatchingUGCTypeFileType,nCreatorAppID,nConsumerAppID,unPage); + return result; +} +public override ulong CreateQueryUGCDetailsRequest(ref ulong pvecPublishedFileID,uint unNumPublishedFileIDs) +{ + CheckIfUsable(); + pvecPublishedFileID = 0; + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_CreateQueryUGCDetailsRequest(m_pSteamUGC,ref pvecPublishedFileID,unNumPublishedFileIDs); + return result; +} +public override ulong SendQueryUGCRequest(ulong handle) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_SendQueryUGCRequest(m_pSteamUGC,handle); + return result; +} +public override bool GetQueryUGCResult(ulong handle,uint index,ref SteamUGCDetails_t pDetails) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCResult(m_pSteamUGC,handle,index,ref pDetails); + return result; +} +public override bool GetQueryUGCPreviewURL(ulong handle,uint index,out string pchURL) +{ + CheckIfUsable(); + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder(2048); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCPreviewURL(m_pSteamUGC,handle,index,pStrBuffer1,2048); + pchURL = pStrBuffer1.ToString(); + return result; +} +public override bool GetQueryUGCMetadata(ulong handle,uint index,out string pchMetadata) +{ + CheckIfUsable(); + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder(2048); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCMetadata(m_pSteamUGC,handle,index,pStrBuffer1,2048); + pchMetadata = pStrBuffer1.ToString(); + return result; +} +public override bool GetQueryUGCChildren(ulong handle,uint index,ref ulong pvecPublishedFileID,uint cMaxEntries) +{ + CheckIfUsable(); + pvecPublishedFileID = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCChildren(m_pSteamUGC,handle,index,ref pvecPublishedFileID,cMaxEntries); + return result; +} +public override bool GetQueryUGCStatistic(ulong handle,uint index,uint eStatType,ref ulong pStatValue) +{ + CheckIfUsable(); + pStatValue = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCStatistic(m_pSteamUGC,handle,index,eStatType,ref pStatValue); + return result; +} +public override uint GetQueryUGCNumAdditionalPreviews(ulong handle,uint index) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCNumAdditionalPreviews(m_pSteamUGC,handle,index); + return result; +} +public override bool GetQueryUGCAdditionalPreview(ulong handle,uint index,uint previewIndex,out string pchURLOrVideoID,out string pchOriginalFileName,uint cchOriginalFileNameSize,ref uint pPreviewType) +{ + CheckIfUsable(); + pPreviewType = 0; + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder(2048); + System.Text.StringBuilder pStrBuffer2 = new System.Text.StringBuilder(2048); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(m_pSteamUGC,handle,index,previewIndex,pStrBuffer1,2048,pStrBuffer2,cchOriginalFileNameSize,ref pPreviewType); + pchURLOrVideoID = pStrBuffer1.ToString(); + pchOriginalFileName = pStrBuffer2.ToString(); + return result; +} +public override uint GetQueryUGCNumKeyValueTags(ulong handle,uint index) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(m_pSteamUGC,handle,index); + return result; +} +public override bool GetQueryUGCKeyValueTag(ulong handle,uint index,uint keyValueTagIndex,out string pchKey,out string pchValue) +{ + CheckIfUsable(); + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder(2048); + System.Text.StringBuilder pStrBuffer2 = new System.Text.StringBuilder(2048); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(m_pSteamUGC,handle,index,keyValueTagIndex,pStrBuffer1,2048,pStrBuffer2,2048); + pchKey = pStrBuffer1.ToString(); + pchValue = pStrBuffer2.ToString(); + return result; +} +public override bool ReleaseQueryUGCRequest(ulong handle) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(m_pSteamUGC,handle); + return result; +} +public override bool AddRequiredTag(ulong handle,string pTagName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_AddRequiredTag(m_pSteamUGC,handle,pTagName); + return result; +} +public override bool AddExcludedTag(ulong handle,string pTagName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_AddExcludedTag(m_pSteamUGC,handle,pTagName); + return result; +} +public override bool SetReturnOnlyIDs(ulong handle,bool bReturnOnlyIDs) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnOnlyIDs(m_pSteamUGC,handle,bReturnOnlyIDs); + return result; +} +public override bool SetReturnKeyValueTags(ulong handle,bool bReturnKeyValueTags) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnKeyValueTags(m_pSteamUGC,handle,bReturnKeyValueTags); + return result; +} +public override bool SetReturnLongDescription(ulong handle,bool bReturnLongDescription) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnLongDescription(m_pSteamUGC,handle,bReturnLongDescription); + return result; +} +public override bool SetReturnMetadata(ulong handle,bool bReturnMetadata) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnMetadata(m_pSteamUGC,handle,bReturnMetadata); + return result; +} +public override bool SetReturnChildren(ulong handle,bool bReturnChildren) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnChildren(m_pSteamUGC,handle,bReturnChildren); + return result; +} +public override bool SetReturnAdditionalPreviews(ulong handle,bool bReturnAdditionalPreviews) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnAdditionalPreviews(m_pSteamUGC,handle,bReturnAdditionalPreviews); + return result; +} +public override bool SetReturnTotalOnly(ulong handle,bool bReturnTotalOnly) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnTotalOnly(m_pSteamUGC,handle,bReturnTotalOnly); + return result; +} +public override bool SetReturnPlaytimeStats(ulong handle,uint unDays) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetReturnPlaytimeStats(m_pSteamUGC,handle,unDays); + return result; +} +public override bool SetLanguage(ulong handle,string pchLanguage) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetLanguage(m_pSteamUGC,handle,pchLanguage); + return result; +} +public override bool SetAllowCachedResponse(ulong handle,uint unMaxAgeSeconds) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetAllowCachedResponse(m_pSteamUGC,handle,unMaxAgeSeconds); + return result; +} +public override bool SetCloudFileNameFilter(ulong handle,string pMatchCloudFileName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetCloudFileNameFilter(m_pSteamUGC,handle,pMatchCloudFileName); + return result; +} +public override bool SetMatchAnyTag(ulong handle,bool bMatchAnyTag) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetMatchAnyTag(m_pSteamUGC,handle,bMatchAnyTag); + return result; +} +public override bool SetSearchText(ulong handle,string pSearchText) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetSearchText(m_pSteamUGC,handle,pSearchText); + return result; +} +public override bool SetRankedByTrendDays(ulong handle,uint unDays) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetRankedByTrendDays(m_pSteamUGC,handle,unDays); + return result; +} +public override bool AddRequiredKeyValueTag(ulong handle,string pKey,string pValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_AddRequiredKeyValueTag(m_pSteamUGC,handle,pKey,pValue); + return result; +} +public override ulong RequestUGCDetails(ulong nPublishedFileID,uint unMaxAgeSeconds) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_RequestUGCDetails(m_pSteamUGC,nPublishedFileID,unMaxAgeSeconds); + return result; +} +public override ulong CreateItem(uint nConsumerAppId,uint eFileType) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_CreateItem(m_pSteamUGC,nConsumerAppId,eFileType); + return result; +} +public override ulong StartItemUpdate(uint nConsumerAppId,ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_StartItemUpdate(m_pSteamUGC,nConsumerAppId,nPublishedFileID); + return result; +} +public override bool SetItemTitle(ulong handle,string pchTitle) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemTitle(m_pSteamUGC,handle,pchTitle); + return result; +} +public override bool SetItemDescription(ulong handle,string pchDescription) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemDescription(m_pSteamUGC,handle,pchDescription); + return result; +} +public override bool SetItemUpdateLanguage(ulong handle,string pchLanguage) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemUpdateLanguage(m_pSteamUGC,handle,pchLanguage); + return result; +} +public override bool SetItemMetadata(ulong handle,string pchMetaData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemMetadata(m_pSteamUGC,handle,pchMetaData); + return result; +} +public override bool SetItemVisibility(ulong handle,uint eVisibility) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemVisibility(m_pSteamUGC,handle,eVisibility); + return result; +} +public override bool SetItemTags(ulong updateHandle,ref SteamParamStringArray_t pTags) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemTags(m_pSteamUGC,updateHandle,ref pTags); + return result; +} +public override bool SetItemContent(ulong handle,string pszContentFolder) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemContent(m_pSteamUGC,handle,pszContentFolder); + return result; +} +public override bool SetItemPreview(ulong handle,string pszPreviewFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_SetItemPreview(m_pSteamUGC,handle,pszPreviewFile); + return result; +} +public override bool RemoveItemKeyValueTags(ulong handle,string pchKey) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_RemoveItemKeyValueTags(m_pSteamUGC,handle,pchKey); + return result; +} +public override bool AddItemKeyValueTag(ulong handle,string pchKey,string pchValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_AddItemKeyValueTag(m_pSteamUGC,handle,pchKey,pchValue); + return result; +} +public override bool AddItemPreviewFile(ulong handle,string pszPreviewFile,uint type) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_AddItemPreviewFile(m_pSteamUGC,handle,pszPreviewFile,type); + return result; +} +public override bool AddItemPreviewVideo(ulong handle,string pszVideoID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_AddItemPreviewVideo(m_pSteamUGC,handle,pszVideoID); + return result; +} +public override bool UpdateItemPreviewFile(ulong handle,uint index,string pszPreviewFile) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_UpdateItemPreviewFile(m_pSteamUGC,handle,index,pszPreviewFile); + return result; +} +public override bool UpdateItemPreviewVideo(ulong handle,uint index,string pszVideoID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_UpdateItemPreviewVideo(m_pSteamUGC,handle,index,pszVideoID); + return result; +} +public override bool RemoveItemPreview(ulong handle,uint index) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_RemoveItemPreview(m_pSteamUGC,handle,index); + return result; +} +public override ulong SubmitItemUpdate(ulong handle,string pchChangeNote) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_SubmitItemUpdate(m_pSteamUGC,handle,pchChangeNote); + return result; +} +public override uint GetItemUpdateProgress(ulong handle,ref ulong punBytesProcessed,ref ulong punBytesTotal) +{ + CheckIfUsable(); + punBytesProcessed = 0; + punBytesTotal = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamUGC_GetItemUpdateProgress(m_pSteamUGC,handle,ref punBytesProcessed,ref punBytesTotal); + return result; +} +public override ulong SetUserItemVote(ulong nPublishedFileID,bool bVoteUp) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_SetUserItemVote(m_pSteamUGC,nPublishedFileID,bVoteUp); + return result; +} +public override ulong GetUserItemVote(ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_GetUserItemVote(m_pSteamUGC,nPublishedFileID); + return result; +} +public override ulong AddItemToFavorites(uint nAppId,ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_AddItemToFavorites(m_pSteamUGC,nAppId,nPublishedFileID); + return result; +} +public override ulong RemoveItemFromFavorites(uint nAppId,ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_RemoveItemFromFavorites(m_pSteamUGC,nAppId,nPublishedFileID); + return result; +} +public override ulong SubscribeItem(ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_SubscribeItem(m_pSteamUGC,nPublishedFileID); + return result; +} +public override ulong UnsubscribeItem(ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_UnsubscribeItem(m_pSteamUGC,nPublishedFileID); + return result; +} +public override uint GetNumSubscribedItems() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUGC_GetNumSubscribedItems(m_pSteamUGC); + return result; +} +public override uint GetSubscribedItems(ref ulong pvecPublishedFileID,uint cMaxEntries) +{ + CheckIfUsable(); + pvecPublishedFileID = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamUGC_GetSubscribedItems(m_pSteamUGC,ref pvecPublishedFileID,cMaxEntries); + return result; +} +public override uint GetItemState(ulong nPublishedFileID) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamUGC_GetItemState(m_pSteamUGC,nPublishedFileID); + return result; +} +public override bool GetItemInstallInfo(ulong nPublishedFileID,ref ulong punSizeOnDisk,out string pchFolder,ref uint punTimeStamp) +{ + CheckIfUsable(); + punSizeOnDisk = 0; + punTimeStamp = 0; + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder(2048); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetItemInstallInfo(m_pSteamUGC,nPublishedFileID,ref punSizeOnDisk,pStrBuffer1,2048,ref punTimeStamp); + pchFolder = pStrBuffer1.ToString(); + return result; +} +public override bool GetItemDownloadInfo(ulong nPublishedFileID,ref ulong punBytesDownloaded,ref ulong punBytesTotal) +{ + CheckIfUsable(); + punBytesDownloaded = 0; + punBytesTotal = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_GetItemDownloadInfo(m_pSteamUGC,nPublishedFileID,ref punBytesDownloaded,ref punBytesTotal); + return result; +} +public override bool DownloadItem(ulong nPublishedFileID,bool bHighPriority) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_DownloadItem(m_pSteamUGC,nPublishedFileID,bHighPriority); + return result; +} +public override bool BInitWorkshopForGameServer(uint unWorkshopDepotID,string pszFolder) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamUGC_BInitWorkshopForGameServer(m_pSteamUGC,unWorkshopDepotID,pszFolder); + return result; +} +public override void SuspendDownloads(bool bSuspend) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamUGC_SuspendDownloads(m_pSteamUGC,bSuspend); +} +public override ulong StartPlaytimeTracking(ref ulong pvecPublishedFileID,uint unNumPublishedFileIDs) +{ + CheckIfUsable(); + pvecPublishedFileID = 0; + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_StartPlaytimeTracking(m_pSteamUGC,ref pvecPublishedFileID,unNumPublishedFileIDs); + return result; +} +public override ulong StopPlaytimeTracking(ref ulong pvecPublishedFileID,uint unNumPublishedFileIDs) +{ + CheckIfUsable(); + pvecPublishedFileID = 0; + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_StopPlaytimeTracking(m_pSteamUGC,ref pvecPublishedFileID,unNumPublishedFileIDs); + return result; +} +public override ulong StopPlaytimeTrackingForAllItems() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_StopPlaytimeTrackingForAllItems(m_pSteamUGC); + return result; +} +public override ulong AddDependency(ulong nParentPublishedFileID,ulong nChildPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_AddDependency(m_pSteamUGC,nParentPublishedFileID,nChildPublishedFileID); + return result; +} +public override ulong RemoveDependency(ulong nParentPublishedFileID,ulong nChildPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_RemoveDependency(m_pSteamUGC,nParentPublishedFileID,nChildPublishedFileID); + return result; +} +public override ulong AddAppDependency(ulong nPublishedFileID,uint nAppID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_AddAppDependency(m_pSteamUGC,nPublishedFileID,nAppID); + return result; +} +public override ulong RemoveAppDependency(ulong nPublishedFileID,uint nAppID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_RemoveAppDependency(m_pSteamUGC,nPublishedFileID,nAppID); + return result; +} +public override ulong GetAppDependencies(ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_GetAppDependencies(m_pSteamUGC,nPublishedFileID); + return result; +} +public override ulong DeleteItem(ulong nPublishedFileID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamUGC_DeleteItem(m_pSteamUGC,nPublishedFileID); + return result; +} +} + + +public class CSteamAppList : ISteamAppList +{ +public CSteamAppList(IntPtr SteamAppList) +{ + m_pSteamAppList = SteamAppList; +} +IntPtr m_pSteamAppList; + +public override IntPtr GetIntPtr() { return m_pSteamAppList; } + +private void CheckIfUsable() +{ + if (m_pSteamAppList == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint GetNumInstalledApps() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamAppList_GetNumInstalledApps(m_pSteamAppList); + return result; +} +public override uint GetInstalledApps(ref uint pvecAppID,uint unMaxAppIDs) +{ + CheckIfUsable(); + pvecAppID = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamAppList_GetInstalledApps(m_pSteamAppList,ref pvecAppID,unMaxAppIDs); + return result; +} +public override int GetAppName(uint nAppID,System.Text.StringBuilder pchName,int cchNameMax) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamAppList_GetAppName(m_pSteamAppList,nAppID,pchName,cchNameMax); + return result; +} +public override int GetAppInstallDir(uint nAppID,string pchDirectory,int cchNameMax) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamAppList_GetAppInstallDir(m_pSteamAppList,nAppID,pchDirectory,cchNameMax); + return result; +} +public override int GetAppBuildId(uint nAppID) +{ + CheckIfUsable(); + int result = NativeEntrypoints.SteamAPI_ISteamAppList_GetAppBuildId(m_pSteamAppList,nAppID); + return result; +} +} + + +public class CSteamHTMLSurface : ISteamHTMLSurface +{ +public CSteamHTMLSurface(IntPtr SteamHTMLSurface) +{ + m_pSteamHTMLSurface = SteamHTMLSurface; +} +IntPtr m_pSteamHTMLSurface; + +public override IntPtr GetIntPtr() { return m_pSteamHTMLSurface; } + +private void CheckIfUsable() +{ + if (m_pSteamHTMLSurface == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override void DestructISteamHTMLSurface() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_DestructISteamHTMLSurface(m_pSteamHTMLSurface); +} +public override bool Init() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTMLSurface_Init(m_pSteamHTMLSurface); + return result; +} +public override bool Shutdown() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamHTMLSurface_Shutdown(m_pSteamHTMLSurface); + return result; +} +public override ulong CreateBrowser(string pchUserAgent,string pchUserCSS) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamHTMLSurface_CreateBrowser(m_pSteamHTMLSurface,pchUserAgent,pchUserCSS); + return result; +} +public override void RemoveBrowser(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_RemoveBrowser(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void LoadURL(uint unBrowserHandle,string pchURL,string pchPostData) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_LoadURL(m_pSteamHTMLSurface,unBrowserHandle,pchURL,pchPostData); +} +public override void SetSize(uint unBrowserHandle,uint unWidth,uint unHeight) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetSize(m_pSteamHTMLSurface,unBrowserHandle,unWidth,unHeight); +} +public override void StopLoad(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_StopLoad(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void Reload(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_Reload(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void GoBack(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_GoBack(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void GoForward(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_GoForward(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void AddHeader(uint unBrowserHandle,string pchKey,string pchValue) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_AddHeader(m_pSteamHTMLSurface,unBrowserHandle,pchKey,pchValue); +} +public override void ExecuteJavascript(uint unBrowserHandle,string pchScript) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_ExecuteJavascript(m_pSteamHTMLSurface,unBrowserHandle,pchScript); +} +public override void MouseUp(uint unBrowserHandle,uint eMouseButton) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_MouseUp(m_pSteamHTMLSurface,unBrowserHandle,eMouseButton); +} +public override void MouseDown(uint unBrowserHandle,uint eMouseButton) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_MouseDown(m_pSteamHTMLSurface,unBrowserHandle,eMouseButton); +} +public override void MouseDoubleClick(uint unBrowserHandle,uint eMouseButton) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_MouseDoubleClick(m_pSteamHTMLSurface,unBrowserHandle,eMouseButton); +} +public override void MouseMove(uint unBrowserHandle,int x,int y) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_MouseMove(m_pSteamHTMLSurface,unBrowserHandle,x,y); +} +public override void MouseWheel(uint unBrowserHandle,int nDelta) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_MouseWheel(m_pSteamHTMLSurface,unBrowserHandle,nDelta); +} +public override void KeyDown(uint unBrowserHandle,uint nNativeKeyCode,uint eHTMLKeyModifiers) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_KeyDown(m_pSteamHTMLSurface,unBrowserHandle,nNativeKeyCode,eHTMLKeyModifiers); +} +public override void KeyUp(uint unBrowserHandle,uint nNativeKeyCode,uint eHTMLKeyModifiers) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_KeyUp(m_pSteamHTMLSurface,unBrowserHandle,nNativeKeyCode,eHTMLKeyModifiers); +} +public override void KeyChar(uint unBrowserHandle,uint cUnicodeChar,uint eHTMLKeyModifiers) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_KeyChar(m_pSteamHTMLSurface,unBrowserHandle,cUnicodeChar,eHTMLKeyModifiers); +} +public override void SetHorizontalScroll(uint unBrowserHandle,uint nAbsolutePixelScroll) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetHorizontalScroll(m_pSteamHTMLSurface,unBrowserHandle,nAbsolutePixelScroll); +} +public override void SetVerticalScroll(uint unBrowserHandle,uint nAbsolutePixelScroll) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetVerticalScroll(m_pSteamHTMLSurface,unBrowserHandle,nAbsolutePixelScroll); +} +public override void SetKeyFocus(uint unBrowserHandle,bool bHasKeyFocus) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetKeyFocus(m_pSteamHTMLSurface,unBrowserHandle,bHasKeyFocus); +} +public override void ViewSource(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_ViewSource(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void CopyToClipboard(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_CopyToClipboard(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void PasteFromClipboard(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_PasteFromClipboard(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void Find(uint unBrowserHandle,string pchSearchStr,bool bCurrentlyInFind,bool bReverse) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_Find(m_pSteamHTMLSurface,unBrowserHandle,pchSearchStr,bCurrentlyInFind,bReverse); +} +public override void StopFind(uint unBrowserHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_StopFind(m_pSteamHTMLSurface,unBrowserHandle); +} +public override void GetLinkAtPosition(uint unBrowserHandle,int x,int y) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_GetLinkAtPosition(m_pSteamHTMLSurface,unBrowserHandle,x,y); +} +public override void SetCookie(string pchHostname,string pchKey,string pchValue,string pchPath,ulong nExpires,bool bSecure,bool bHTTPOnly) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetCookie(m_pSteamHTMLSurface,pchHostname,pchKey,pchValue,pchPath,nExpires,bSecure,bHTTPOnly); +} +public override void SetPageScaleFactor(uint unBrowserHandle,float flZoom,int nPointX,int nPointY) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetPageScaleFactor(m_pSteamHTMLSurface,unBrowserHandle,flZoom,nPointX,nPointY); +} +public override void SetBackgroundMode(uint unBrowserHandle,bool bBackgroundMode) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetBackgroundMode(m_pSteamHTMLSurface,unBrowserHandle,bBackgroundMode); +} +public override void SetDPIScalingFactor(uint unBrowserHandle,float flDPIScaling) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_SetDPIScalingFactor(m_pSteamHTMLSurface,unBrowserHandle,flDPIScaling); +} +public override void AllowStartRequest(uint unBrowserHandle,bool bAllowed) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_AllowStartRequest(m_pSteamHTMLSurface,unBrowserHandle,bAllowed); +} +public override void JSDialogResponse(uint unBrowserHandle,bool bResult) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamHTMLSurface_JSDialogResponse(m_pSteamHTMLSurface,unBrowserHandle,bResult); +} +} + + +public class CSteamInventory : ISteamInventory +{ +public CSteamInventory(IntPtr SteamInventory) +{ + m_pSteamInventory = SteamInventory; +} +IntPtr m_pSteamInventory; + +public override IntPtr GetIntPtr() { return m_pSteamInventory; } + +private void CheckIfUsable() +{ + if (m_pSteamInventory == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override uint GetResultStatus(int resultHandle) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamInventory_GetResultStatus(m_pSteamInventory,resultHandle); + return result; +} +public override bool GetResultItems(int resultHandle,out SteamItemDetails_t [] pOutItemsArray) +{ + CheckIfUsable(); + uint punOutItemsArraySize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetResultItems(m_pSteamInventory,resultHandle,null,ref punOutItemsArraySize); + pOutItemsArray= new SteamItemDetails_t[punOutItemsArraySize]; + result = NativeEntrypoints.SteamAPI_ISteamInventory_GetResultItems(m_pSteamInventory,resultHandle,pOutItemsArray,ref punOutItemsArraySize); + return result; +} +public override bool GetResultItemProperty(int resultHandle,uint unItemIndex,string pchPropertyName,out string pchValueBuffer) +{ + CheckIfUsable(); + uint punValueBufferSizeOut = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetResultItemProperty(m_pSteamInventory,resultHandle,unItemIndex,pchPropertyName,null,ref punValueBufferSizeOut); + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder((int)punValueBufferSizeOut); + result = NativeEntrypoints.SteamAPI_ISteamInventory_GetResultItemProperty(m_pSteamInventory,resultHandle,unItemIndex,pchPropertyName,pStrBuffer1,ref punValueBufferSizeOut); + pchValueBuffer = pStrBuffer1.ToString(); + return result; +} +public override uint GetResultTimestamp(int resultHandle) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamInventory_GetResultTimestamp(m_pSteamInventory,resultHandle); + return result; +} +public override bool CheckResultSteamID(int resultHandle,ulong steamIDExpected) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_CheckResultSteamID(m_pSteamInventory,resultHandle,steamIDExpected); + return result; +} +public override void DestroyResult(int resultHandle) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamInventory_DestroyResult(m_pSteamInventory,resultHandle); +} +public override bool GetAllItems(ref int pResultHandle) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetAllItems(m_pSteamInventory,ref pResultHandle); + return result; +} +public override bool GetItemsByID(ref int pResultHandle,ulong [] pInstanceIDs) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemsByID(m_pSteamInventory,ref pResultHandle,pInstanceIDs,(uint) pInstanceIDs.Length); + return result; +} +public override bool SerializeResult(int resultHandle,IntPtr pOutBuffer,ref uint punOutBufferSize) +{ + CheckIfUsable(); + punOutBufferSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_SerializeResult(m_pSteamInventory,resultHandle,pOutBuffer,ref punOutBufferSize); + return result; +} +public override bool DeserializeResult(ref int pOutResultHandle,IntPtr pBuffer,uint unBufferSize,bool bRESERVED_MUST_BE_FALSE) +{ + CheckIfUsable(); + pOutResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_DeserializeResult(m_pSteamInventory,ref pOutResultHandle,pBuffer,unBufferSize,bRESERVED_MUST_BE_FALSE); + return result; +} +public override bool GenerateItems(ref int pResultHandle,int [] pArrayItemDefs,uint [] punArrayQuantity) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GenerateItems(m_pSteamInventory,ref pResultHandle,pArrayItemDefs,punArrayQuantity,(uint) punArrayQuantity.Length); + return result; +} +public override bool GrantPromoItems(ref int pResultHandle) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GrantPromoItems(m_pSteamInventory,ref pResultHandle); + return result; +} +public override bool AddPromoItem(ref int pResultHandle,int itemDef) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_AddPromoItem(m_pSteamInventory,ref pResultHandle,itemDef); + return result; +} +public override bool AddPromoItems(ref int pResultHandle,int [] pArrayItemDefs) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_AddPromoItems(m_pSteamInventory,ref pResultHandle,pArrayItemDefs,(uint) pArrayItemDefs.Length); + return result; +} +public override bool ConsumeItem(ref int pResultHandle,ulong itemConsume,uint unQuantity) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_ConsumeItem(m_pSteamInventory,ref pResultHandle,itemConsume,unQuantity); + return result; +} +public override bool ExchangeItems(ref int pResultHandle,int [] pArrayGenerate,uint [] punArrayGenerateQuantity,ulong [] pArrayDestroy,uint [] punArrayDestroyQuantity) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_ExchangeItems(m_pSteamInventory,ref pResultHandle,pArrayGenerate,punArrayGenerateQuantity,(uint) punArrayGenerateQuantity.Length,pArrayDestroy,punArrayDestroyQuantity,(uint) punArrayDestroyQuantity.Length); + return result; +} +public override bool TransferItemQuantity(ref int pResultHandle,ulong itemIdSource,uint unQuantity,ulong itemIdDest) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_TransferItemQuantity(m_pSteamInventory,ref pResultHandle,itemIdSource,unQuantity,itemIdDest); + return result; +} +public override void SendItemDropHeartbeat() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamInventory_SendItemDropHeartbeat(m_pSteamInventory); +} +public override bool TriggerItemDrop(ref int pResultHandle,int dropListDefinition) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_TriggerItemDrop(m_pSteamInventory,ref pResultHandle,dropListDefinition); + return result; +} +public override bool TradeItems(ref int pResultHandle,ulong steamIDTradePartner,ulong [] pArrayGive,uint [] pArrayGiveQuantity,ulong [] pArrayGet,uint [] pArrayGetQuantity) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_TradeItems(m_pSteamInventory,ref pResultHandle,steamIDTradePartner,pArrayGive,pArrayGiveQuantity,(uint) pArrayGiveQuantity.Length,pArrayGet,pArrayGetQuantity,(uint) pArrayGetQuantity.Length); + return result; +} +public override bool LoadItemDefinitions() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_LoadItemDefinitions(m_pSteamInventory); + return result; +} +public override bool GetItemDefinitionIDs(out int [] pItemDefIDs) +{ + CheckIfUsable(); + uint punItemDefIDsArraySize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemDefinitionIDs(m_pSteamInventory,null,ref punItemDefIDsArraySize); + pItemDefIDs= new int[punItemDefIDsArraySize]; + result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemDefinitionIDs(m_pSteamInventory,pItemDefIDs,ref punItemDefIDsArraySize); + return result; +} +public override bool GetItemDefinitionProperty(int iDefinition,string pchPropertyName,out string pchValueBuffer) +{ + CheckIfUsable(); + uint punValueBufferSizeOut = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemDefinitionProperty(m_pSteamInventory,iDefinition,pchPropertyName,null,ref punValueBufferSizeOut); + System.Text.StringBuilder pStrBuffer1 = new System.Text.StringBuilder((int)punValueBufferSizeOut); + result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemDefinitionProperty(m_pSteamInventory,iDefinition,pchPropertyName,pStrBuffer1,ref punValueBufferSizeOut); + pchValueBuffer = pStrBuffer1.ToString(); + return result; +} +public override ulong RequestEligiblePromoItemDefinitionsIDs(ulong steamID) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamInventory_RequestEligiblePromoItemDefinitionsIDs(m_pSteamInventory,steamID); + return result; +} +public override bool GetEligiblePromoItemDefinitionIDs(ulong steamID,out int [] pItemDefIDs) +{ + CheckIfUsable(); + uint punItemDefIDsArraySize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(m_pSteamInventory,steamID,null,ref punItemDefIDsArraySize); + pItemDefIDs= new int[punItemDefIDsArraySize]; + result = NativeEntrypoints.SteamAPI_ISteamInventory_GetEligiblePromoItemDefinitionIDs(m_pSteamInventory,steamID,pItemDefIDs,ref punItemDefIDsArraySize); + return result; +} +public override ulong StartPurchase(int [] pArrayItemDefs,uint [] punArrayQuantity) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamInventory_StartPurchase(m_pSteamInventory,pArrayItemDefs,punArrayQuantity,(uint) punArrayQuantity.Length); + return result; +} +public override ulong RequestPrices() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamInventory_RequestPrices(m_pSteamInventory); + return result; +} +public override uint GetNumItemsWithPrices() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamInventory_GetNumItemsWithPrices(m_pSteamInventory); + return result; +} +public override bool GetItemsWithPrices(out int [] pArrayItemDefs,out ulong [] pPrices,uint unArrayLength) +{ + CheckIfUsable(); + pArrayItemDefs = 0; + pPrices = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemsWithPrices(m_pSteamInventory,pArrayItemDefs,null,unArrayLength); + pArrayItemDefs= new int[pArrayItemDefs]; + pPrices= new ulong[pPrices]; + result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemsWithPrices(m_pSteamInventory,pArrayItemDefs,pPrices,unArrayLength); + return result; +} +public override bool GetItemPrice(int iDefinition,ref ulong pPrice) +{ + CheckIfUsable(); + pPrice = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_GetItemPrice(m_pSteamInventory,iDefinition,ref pPrice); + return result; +} +public override ulong StartUpdateProperties() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamInventory_StartUpdateProperties(m_pSteamInventory); + return result; +} +public override bool RemoveProperty(ulong handle,ulong nItemID,string pchPropertyName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_RemoveProperty(m_pSteamInventory,handle,nItemID,pchPropertyName); + return result; +} +public override bool SetProperty(ulong handle,ulong nItemID,string pchPropertyName,string pchPropertyValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_SetProperty(m_pSteamInventory,handle,nItemID,pchPropertyName,pchPropertyValue); + return result; +} +public override bool SetProperty0(ulong handle,ulong nItemID,string pchPropertyName,bool bValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_SetProperty0(m_pSteamInventory,handle,nItemID,pchPropertyName,bValue); + return result; +} +public override bool SetProperty1(ulong handle,ulong nItemID,string pchPropertyName,long nValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_SetProperty1(m_pSteamInventory,handle,nItemID,pchPropertyName,nValue); + return result; +} +public override bool SetProperty2(ulong handle,ulong nItemID,string pchPropertyName,float flValue) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_SetProperty2(m_pSteamInventory,handle,nItemID,pchPropertyName,flValue); + return result; +} +public override bool SubmitUpdateProperties(ulong handle,ref int pResultHandle) +{ + CheckIfUsable(); + pResultHandle = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamInventory_SubmitUpdateProperties(m_pSteamInventory,handle,ref pResultHandle); + return result; +} +} + + +public class CSteamVideo : ISteamVideo +{ +public CSteamVideo(IntPtr SteamVideo) +{ + m_pSteamVideo = SteamVideo; +} +IntPtr m_pSteamVideo; + +public override IntPtr GetIntPtr() { return m_pSteamVideo; } + +private void CheckIfUsable() +{ + if (m_pSteamVideo == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override void GetVideoURL(uint unVideoAppID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamVideo_GetVideoURL(m_pSteamVideo,unVideoAppID); +} +public override bool IsBroadcasting(ref int pnNumViewers) +{ + CheckIfUsable(); + pnNumViewers = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamVideo_IsBroadcasting(m_pSteamVideo,ref pnNumViewers); + return result; +} +public override void GetOPFSettings(uint unVideoAppID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamVideo_GetOPFSettings(m_pSteamVideo,unVideoAppID); +} +public override bool GetOPFStringForApp(uint unVideoAppID,string pchBuffer,ref int pnBufferSize) +{ + CheckIfUsable(); + pnBufferSize = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamVideo_GetOPFStringForApp(m_pSteamVideo,unVideoAppID,pchBuffer,ref pnBufferSize); + return result; +} +} + + +public class CSteamParentalSettings : ISteamParentalSettings +{ +public CSteamParentalSettings(IntPtr SteamParentalSettings) +{ + m_pSteamParentalSettings = SteamParentalSettings; +} +IntPtr m_pSteamParentalSettings; + +public override IntPtr GetIntPtr() { return m_pSteamParentalSettings; } + +private void CheckIfUsable() +{ + if (m_pSteamParentalSettings == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool BIsParentalLockEnabled() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamParentalSettings_BIsParentalLockEnabled(m_pSteamParentalSettings); + return result; +} +public override bool BIsParentalLockLocked() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamParentalSettings_BIsParentalLockLocked(m_pSteamParentalSettings); + return result; +} +public override bool BIsAppBlocked(uint nAppID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamParentalSettings_BIsAppBlocked(m_pSteamParentalSettings,nAppID); + return result; +} +public override bool BIsAppInBlockList(uint nAppID) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamParentalSettings_BIsAppInBlockList(m_pSteamParentalSettings,nAppID); + return result; +} +public override bool BIsFeatureBlocked(uint eFeature) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamParentalSettings_BIsFeatureBlocked(m_pSteamParentalSettings,eFeature); + return result; +} +public override bool BIsFeatureInBlockList(uint eFeature) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamParentalSettings_BIsFeatureInBlockList(m_pSteamParentalSettings,eFeature); + return result; +} +} + + +public class CSteamGameServer : ISteamGameServer +{ +public CSteamGameServer(IntPtr SteamGameServer) +{ + m_pSteamGameServer = SteamGameServer; +} +IntPtr m_pSteamGameServer; + +public override IntPtr GetIntPtr() { return m_pSteamGameServer; } + +private void CheckIfUsable() +{ + if (m_pSteamGameServer == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override bool InitGameServer(uint unIP,char usGamePort,char usQueryPort,uint unFlags,uint nGameAppId,string pchVersionString) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_InitGameServer(m_pSteamGameServer,unIP,usGamePort,usQueryPort,unFlags,nGameAppId,pchVersionString); + return result; +} +public override void SetProduct(string pszProduct) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetProduct(m_pSteamGameServer,pszProduct); +} +public override void SetGameDescription(string pszGameDescription) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetGameDescription(m_pSteamGameServer,pszGameDescription); +} +public override void SetModDir(string pszModDir) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetModDir(m_pSteamGameServer,pszModDir); +} +public override void SetDedicatedServer(bool bDedicated) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetDedicatedServer(m_pSteamGameServer,bDedicated); +} +public override void LogOn(string pszToken) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_LogOn(m_pSteamGameServer,pszToken); +} +public override void LogOnAnonymous() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_LogOnAnonymous(m_pSteamGameServer); +} +public override void LogOff() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_LogOff(m_pSteamGameServer); +} +public override bool BLoggedOn() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_BLoggedOn(m_pSteamGameServer); + return result; +} +public override bool BSecure() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_BSecure(m_pSteamGameServer); + return result; +} +public override ulong GetSteamID() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServer_GetSteamID(m_pSteamGameServer); + return result; +} +public override bool WasRestartRequested() +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_WasRestartRequested(m_pSteamGameServer); + return result; +} +public override void SetMaxPlayerCount(int cPlayersMax) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetMaxPlayerCount(m_pSteamGameServer,cPlayersMax); +} +public override void SetBotPlayerCount(int cBotplayers) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetBotPlayerCount(m_pSteamGameServer,cBotplayers); +} +public override void SetServerName(string pszServerName) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetServerName(m_pSteamGameServer,pszServerName); +} +public override void SetMapName(string pszMapName) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetMapName(m_pSteamGameServer,pszMapName); +} +public override void SetPasswordProtected(bool bPasswordProtected) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetPasswordProtected(m_pSteamGameServer,bPasswordProtected); +} +public override void SetSpectatorPort(char unSpectatorPort) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetSpectatorPort(m_pSteamGameServer,unSpectatorPort); +} +public override void SetSpectatorServerName(string pszSpectatorServerName) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetSpectatorServerName(m_pSteamGameServer,pszSpectatorServerName); +} +public override void ClearAllKeyValues() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_ClearAllKeyValues(m_pSteamGameServer); +} +public override void SetKeyValue(string pKey,string pValue) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetKeyValue(m_pSteamGameServer,pKey,pValue); +} +public override void SetGameTags(string pchGameTags) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetGameTags(m_pSteamGameServer,pchGameTags); +} +public override void SetGameData(string pchGameData) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetGameData(m_pSteamGameServer,pchGameData); +} +public override void SetRegion(string pszRegion) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetRegion(m_pSteamGameServer,pszRegion); +} +public override bool SendUserConnectAndAuthenticate(uint unIPClient,IntPtr pvAuthBlob,uint cubAuthBlobSize,ref CSteamID pSteamIDUser) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_SendUserConnectAndAuthenticate(m_pSteamGameServer,unIPClient,pvAuthBlob,cubAuthBlobSize,ref pSteamIDUser); + return result; +} +public override ulong CreateUnauthenticatedUserConnection() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServer_CreateUnauthenticatedUserConnection(m_pSteamGameServer); + return result; +} +public override void SendUserDisconnect(ulong steamIDUser) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SendUserDisconnect(m_pSteamGameServer,steamIDUser); +} +public override bool BUpdateUserData(ulong steamIDUser,string pchPlayerName,uint uScore) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_BUpdateUserData(m_pSteamGameServer,steamIDUser,pchPlayerName,uScore); + return result; +} +public override uint GetAuthSessionTicket(IntPtr pTicket,int cbMaxTicket,ref uint pcbTicket) +{ + CheckIfUsable(); + pcbTicket = 0; + uint result = NativeEntrypoints.SteamAPI_ISteamGameServer_GetAuthSessionTicket(m_pSteamGameServer,pTicket,cbMaxTicket,ref pcbTicket); + return result; +} +public override uint BeginAuthSession(IntPtr pAuthTicket,int cbAuthTicket,ulong steamID) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamGameServer_BeginAuthSession(m_pSteamGameServer,pAuthTicket,cbAuthTicket,steamID); + return result; +} +public override void EndAuthSession(ulong steamID) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_EndAuthSession(m_pSteamGameServer,steamID); +} +public override void CancelAuthTicket(uint hAuthTicket) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_CancelAuthTicket(m_pSteamGameServer,hAuthTicket); +} +public override uint UserHasLicenseForApp(ulong steamID,uint appID) +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamGameServer_UserHasLicenseForApp(m_pSteamGameServer,steamID,appID); + return result; +} +public override bool RequestUserGroupStatus(ulong steamIDUser,ulong steamIDGroup) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_RequestUserGroupStatus(m_pSteamGameServer,steamIDUser,steamIDGroup); + return result; +} +public override void GetGameplayStats() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_GetGameplayStats(m_pSteamGameServer); +} +public override ulong GetServerReputation() +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServer_GetServerReputation(m_pSteamGameServer); + return result; +} +public override uint GetPublicIP() +{ + CheckIfUsable(); + uint result = NativeEntrypoints.SteamAPI_ISteamGameServer_GetPublicIP(m_pSteamGameServer); + return result; +} +public override bool HandleIncomingPacket(IntPtr pData,int cbData,uint srcIP,char srcPort) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServer_HandleIncomingPacket(m_pSteamGameServer,pData,cbData,srcIP,srcPort); + return result; +} +public override int GetNextOutgoingPacket(IntPtr pOut,int cbMaxOut,ref uint pNetAdr,ref char pPort) +{ + CheckIfUsable(); + pNetAdr = 0; + pPort = (char) 0; + int result = NativeEntrypoints.SteamAPI_ISteamGameServer_GetNextOutgoingPacket(m_pSteamGameServer,pOut,cbMaxOut,ref pNetAdr,ref pPort); + return result; +} +public override void EnableHeartbeats(bool bActive) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_EnableHeartbeats(m_pSteamGameServer,bActive); +} +public override void SetHeartbeatInterval(int iHeartbeatInterval) +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_SetHeartbeatInterval(m_pSteamGameServer,iHeartbeatInterval); +} +public override void ForceHeartbeat() +{ + CheckIfUsable(); + NativeEntrypoints.SteamAPI_ISteamGameServer_ForceHeartbeat(m_pSteamGameServer); +} +public override ulong AssociateWithClan(ulong steamIDClan) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServer_AssociateWithClan(m_pSteamGameServer,steamIDClan); + return result; +} +public override ulong ComputeNewPlayerCompatibility(ulong steamIDNewPlayer) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServer_ComputeNewPlayerCompatibility(m_pSteamGameServer,steamIDNewPlayer); + return result; +} +} + + +public class CSteamGameServerStats : ISteamGameServerStats +{ +public CSteamGameServerStats(IntPtr SteamGameServerStats) +{ + m_pSteamGameServerStats = SteamGameServerStats; +} +IntPtr m_pSteamGameServerStats; + +public override IntPtr GetIntPtr() { return m_pSteamGameServerStats; } + +private void CheckIfUsable() +{ + if (m_pSteamGameServerStats == IntPtr.Zero) + { + throw new Exception("Steam Pointer not configured"); + } +} +public override ulong RequestUserStats(ulong steamIDUser) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_RequestUserStats(m_pSteamGameServerStats,steamIDUser); + return result; +} +public override bool GetUserStat(ulong steamIDUser,string pchName,ref int pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_GetUserStat(m_pSteamGameServerStats,steamIDUser,pchName,ref pData); + return result; +} +public override bool GetUserStat0(ulong steamIDUser,string pchName,ref float pData) +{ + CheckIfUsable(); + pData = 0; + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_GetUserStat0(m_pSteamGameServerStats,steamIDUser,pchName,ref pData); + return result; +} +public override bool GetUserAchievement(ulong steamIDUser,string pchName,ref bool pbAchieved) +{ + CheckIfUsable(); + pbAchieved = false; + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_GetUserAchievement(m_pSteamGameServerStats,steamIDUser,pchName,ref pbAchieved); + return result; +} +public override bool SetUserStat(ulong steamIDUser,string pchName,int nData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_SetUserStat(m_pSteamGameServerStats,steamIDUser,pchName,nData); + return result; +} +public override bool SetUserStat0(ulong steamIDUser,string pchName,float fData) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_SetUserStat0(m_pSteamGameServerStats,steamIDUser,pchName,fData); + return result; +} +public override bool UpdateUserAvgRateStat(ulong steamIDUser,string pchName,float flCountThisSession,double dSessionLength) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_UpdateUserAvgRateStat(m_pSteamGameServerStats,steamIDUser,pchName,flCountThisSession,dSessionLength); + return result; +} +public override bool SetUserAchievement(ulong steamIDUser,string pchName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_SetUserAchievement(m_pSteamGameServerStats,steamIDUser,pchName); + return result; +} +public override bool ClearUserAchievement(ulong steamIDUser,string pchName) +{ + CheckIfUsable(); + bool result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_ClearUserAchievement(m_pSteamGameServerStats,steamIDUser,pchName); + return result; +} +public override ulong StoreUserStats(ulong steamIDUser) +{ + CheckIfUsable(); + ulong result = NativeEntrypoints.SteamAPI_ISteamGameServerStats_StoreUserStats(m_pSteamGameServerStats,steamIDUser); + return result; +} +} + + +public class CUserStatsReceived_t_Callback +{ + public CUserStatsReceived_t_Callback() { } + ~CUserStatsReceived_t_Callback() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CUserStatsReceived_t_RemoveCallback(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(Valve.Interop.NativeEntrypoints.SteamAPI_UserStatsReceived_t_Callback func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CUserStatsReceived_t_RemoveCallback(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CUserStatsReceived_t_SetCallback(func); + } +} +public class CGetOPFSettingsResult_t_Callback +{ + public CGetOPFSettingsResult_t_Callback() { } + ~CGetOPFSettingsResult_t_Callback() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGetOPFSettingsResult_t_RemoveCallback(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(Valve.Interop.NativeEntrypoints.SteamAPI_GetOPFSettingsResult_t_Callback func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGetOPFSettingsResult_t_RemoveCallback(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGetOPFSettingsResult_t_SetCallback(func); + } +} +public class CSteamInventoryStartPurchaseResult_t_CallResult +{ + public CSteamInventoryStartPurchaseResult_t_CallResult() { } + ~CSteamInventoryStartPurchaseResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamInventoryStartPurchaseResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SteamInventoryStartPurchaseResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamInventoryStartPurchaseResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSteamInventoryStartPurchaseResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageFileReadAsyncComplete_t_CallResult +{ + public CRemoteStorageFileReadAsyncComplete_t_CallResult() { } + ~CRemoteStorageFileReadAsyncComplete_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageFileReadAsyncComplete_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageFileReadAsyncComplete_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageFileReadAsyncComplete_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageFileReadAsyncComplete_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageGetPublishedItemVoteDetailsResult_t_CallResult +{ + public CRemoteStorageGetPublishedItemVoteDetailsResult_t_CallResult() { } + ~CRemoteStorageGetPublishedItemVoteDetailsResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageGetPublishedItemVoteDetailsResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageGetPublishedItemVoteDetailsResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageGetPublishedItemVoteDetailsResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageGetPublishedItemVoteDetailsResult_t_SetCallResult(hAPICall, func); + } +} +public class CFileDetailsResult_t_CallResult +{ + public CFileDetailsResult_t_CallResult() { } + ~CFileDetailsResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFileDetailsResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_FileDetailsResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFileDetailsResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CFileDetailsResult_t_SetCallResult(hAPICall, func); + } +} +public class CGSStatsStored_t_CallResult +{ + public CGSStatsStored_t_CallResult() { } + ~CGSStatsStored_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGSStatsStored_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GSStatsStored_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGSStatsStored_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGSStatsStored_t_SetCallResult(hAPICall, func); + } +} +public class CStartPlaytimeTrackingResult_t_CallResult +{ + public CStartPlaytimeTrackingResult_t_CallResult() { } + ~CStartPlaytimeTrackingResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CStartPlaytimeTrackingResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_StartPlaytimeTrackingResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CStartPlaytimeTrackingResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CStartPlaytimeTrackingResult_t_SetCallResult(hAPICall, func); + } +} +public class CFriendsGetFollowerCount_t_CallResult +{ + public CFriendsGetFollowerCount_t_CallResult() { } + ~CFriendsGetFollowerCount_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFriendsGetFollowerCount_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_FriendsGetFollowerCount_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFriendsGetFollowerCount_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CFriendsGetFollowerCount_t_SetCallResult(hAPICall, func); + } +} +public class CFriendsIsFollowing_t_CallResult +{ + public CFriendsIsFollowing_t_CallResult() { } + ~CFriendsIsFollowing_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFriendsIsFollowing_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_FriendsIsFollowing_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFriendsIsFollowing_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CFriendsIsFollowing_t_SetCallResult(hAPICall, func); + } +} +public class CLobbyMatchList_t_CallResult +{ + public CLobbyMatchList_t_CallResult() { } + ~CLobbyMatchList_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLobbyMatchList_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LobbyMatchList_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLobbyMatchList_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLobbyMatchList_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageUpdatePublishedFileResult_t_CallResult +{ + public CRemoteStorageUpdatePublishedFileResult_t_CallResult() { } + ~CRemoteStorageUpdatePublishedFileResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageUpdatePublishedFileResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageUpdatePublishedFileResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageUpdatePublishedFileResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageUpdatePublishedFileResult_t_SetCallResult(hAPICall, func); + } +} +public class CStoreAuthURLResponse_t_CallResult +{ + public CStoreAuthURLResponse_t_CallResult() { } + ~CStoreAuthURLResponse_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CStoreAuthURLResponse_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_StoreAuthURLResponse_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CStoreAuthURLResponse_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CStoreAuthURLResponse_t_SetCallResult(hAPICall, func); + } +} +public class CLobbyCreated_t_CallResult +{ + public CLobbyCreated_t_CallResult() { } + ~CLobbyCreated_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLobbyCreated_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LobbyCreated_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLobbyCreated_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLobbyCreated_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageFileWriteAsyncComplete_t_CallResult +{ + public CRemoteStorageFileWriteAsyncComplete_t_CallResult() { } + ~CRemoteStorageFileWriteAsyncComplete_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageFileWriteAsyncComplete_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageFileWriteAsyncComplete_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageFileWriteAsyncComplete_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageFileWriteAsyncComplete_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageDeletePublishedFileResult_t_CallResult +{ + public CRemoteStorageDeletePublishedFileResult_t_CallResult() { } + ~CRemoteStorageDeletePublishedFileResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageDeletePublishedFileResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageDeletePublishedFileResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageDeletePublishedFileResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageDeletePublishedFileResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageGetPublishedFileDetailsResult_t_CallResult +{ + public CRemoteStorageGetPublishedFileDetailsResult_t_CallResult() { } + ~CRemoteStorageGetPublishedFileDetailsResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageGetPublishedFileDetailsResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageGetPublishedFileDetailsResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageGetPublishedFileDetailsResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageGetPublishedFileDetailsResult_t_SetCallResult(hAPICall, func); + } +} +public class CAddUGCDependencyResult_t_CallResult +{ + public CAddUGCDependencyResult_t_CallResult() { } + ~CAddUGCDependencyResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CAddUGCDependencyResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_AddUGCDependencyResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CAddUGCDependencyResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CAddUGCDependencyResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageDownloadUGCResult_t_CallResult +{ + public CRemoteStorageDownloadUGCResult_t_CallResult() { } + ~CRemoteStorageDownloadUGCResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageDownloadUGCResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageDownloadUGCResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageDownloadUGCResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageDownloadUGCResult_t_SetCallResult(hAPICall, func); + } +} +public class CSteamUGCQueryCompleted_t_CallResult +{ + public CSteamUGCQueryCompleted_t_CallResult() { } + ~CSteamUGCQueryCompleted_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamUGCQueryCompleted_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SteamUGCQueryCompleted_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamUGCQueryCompleted_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSteamUGCQueryCompleted_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageFileShareResult_t_CallResult +{ + public CRemoteStorageFileShareResult_t_CallResult() { } + ~CRemoteStorageFileShareResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageFileShareResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageFileShareResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageFileShareResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageFileShareResult_t_SetCallResult(hAPICall, func); + } +} +public class CLobbyEnter_t_CallResult +{ + public CLobbyEnter_t_CallResult() { } + ~CLobbyEnter_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLobbyEnter_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LobbyEnter_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLobbyEnter_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLobbyEnter_t_SetCallResult(hAPICall, func); + } +} +public class CSubmitItemUpdateResult_t_CallResult +{ + public CSubmitItemUpdateResult_t_CallResult() { } + ~CSubmitItemUpdateResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSubmitItemUpdateResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SubmitItemUpdateResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSubmitItemUpdateResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSubmitItemUpdateResult_t_SetCallResult(hAPICall, func); + } +} +public class CNumberOfCurrentPlayers_t_CallResult +{ + public CNumberOfCurrentPlayers_t_CallResult() { } + ~CNumberOfCurrentPlayers_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CNumberOfCurrentPlayers_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_NumberOfCurrentPlayers_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CNumberOfCurrentPlayers_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CNumberOfCurrentPlayers_t_SetCallResult(hAPICall, func); + } +} +public class CGSStatsReceived_t_CallResult +{ + public CGSStatsReceived_t_CallResult() { } + ~CGSStatsReceived_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGSStatsReceived_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GSStatsReceived_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGSStatsReceived_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGSStatsReceived_t_SetCallResult(hAPICall, func); + } +} +public class CHTML_BrowserReady_t_CallResult +{ + public CHTML_BrowserReady_t_CallResult() { } + ~CHTML_BrowserReady_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CHTML_BrowserReady_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_HTML_BrowserReady_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CHTML_BrowserReady_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CHTML_BrowserReady_t_SetCallResult(hAPICall, func); + } +} +public class CLeaderboardScoresDownloaded_t_CallResult +{ + public CLeaderboardScoresDownloaded_t_CallResult() { } + ~CLeaderboardScoresDownloaded_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardScoresDownloaded_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LeaderboardScoresDownloaded_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardScoresDownloaded_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLeaderboardScoresDownloaded_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageUpdateUserPublishedItemVoteResult_t_CallResult +{ + public CRemoteStorageUpdateUserPublishedItemVoteResult_t_CallResult() { } + ~CRemoteStorageUpdateUserPublishedItemVoteResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageUpdateUserPublishedItemVoteResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageUpdateUserPublishedItemVoteResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageUpdateUserPublishedItemVoteResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageUpdateUserPublishedItemVoteResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageEnumerateUserSubscribedFilesResult_t_CallResult +{ + public CRemoteStorageEnumerateUserSubscribedFilesResult_t_CallResult() { } + ~CRemoteStorageEnumerateUserSubscribedFilesResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateUserSubscribedFilesResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageEnumerateUserSubscribedFilesResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateUserSubscribedFilesResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateUserSubscribedFilesResult_t_SetCallResult(hAPICall, func); + } +} +public class CCreateItemResult_t_CallResult +{ + public CCreateItemResult_t_CallResult() { } + ~CCreateItemResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CCreateItemResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_CreateItemResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CCreateItemResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CCreateItemResult_t_SetCallResult(hAPICall, func); + } +} +public class CDeleteItemResult_t_CallResult +{ + public CDeleteItemResult_t_CallResult() { } + ~CDeleteItemResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CDeleteItemResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_DeleteItemResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CDeleteItemResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CDeleteItemResult_t_SetCallResult(hAPICall, func); + } +} +public class CSetUserItemVoteResult_t_CallResult +{ + public CSetUserItemVoteResult_t_CallResult() { } + ~CSetUserItemVoteResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSetUserItemVoteResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SetUserItemVoteResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSetUserItemVoteResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSetUserItemVoteResult_t_SetCallResult(hAPICall, func); + } +} +public class CSteamInventoryRequestPricesResult_t_CallResult +{ + public CSteamInventoryRequestPricesResult_t_CallResult() { } + ~CSteamInventoryRequestPricesResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamInventoryRequestPricesResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SteamInventoryRequestPricesResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamInventoryRequestPricesResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSteamInventoryRequestPricesResult_t_SetCallResult(hAPICall, func); + } +} +public class CComputeNewPlayerCompatibilityResult_t_CallResult +{ + public CComputeNewPlayerCompatibilityResult_t_CallResult() { } + ~CComputeNewPlayerCompatibilityResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CComputeNewPlayerCompatibilityResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_ComputeNewPlayerCompatibilityResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CComputeNewPlayerCompatibilityResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CComputeNewPlayerCompatibilityResult_t_SetCallResult(hAPICall, func); + } +} +public class CLeaderboardScoreUploaded_t_CallResult +{ + public CLeaderboardScoreUploaded_t_CallResult() { } + ~CLeaderboardScoreUploaded_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardScoreUploaded_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LeaderboardScoreUploaded_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardScoreUploaded_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLeaderboardScoreUploaded_t_SetCallResult(hAPICall, func); + } +} +public class CGlobalAchievementPercentagesReady_t_CallResult +{ + public CGlobalAchievementPercentagesReady_t_CallResult() { } + ~CGlobalAchievementPercentagesReady_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGlobalAchievementPercentagesReady_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GlobalAchievementPercentagesReady_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGlobalAchievementPercentagesReady_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGlobalAchievementPercentagesReady_t_SetCallResult(hAPICall, func); + } +} +public class CGlobalStatsReceived_t_CallResult +{ + public CGlobalStatsReceived_t_CallResult() { } + ~CGlobalStatsReceived_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGlobalStatsReceived_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GlobalStatsReceived_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGlobalStatsReceived_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGlobalStatsReceived_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_CallResult +{ + public CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_CallResult() { } + ~CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageEnumeratePublishedFilesByUserActionResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageEnumeratePublishedFilesByUserActionResult_t_SetCallResult(hAPICall, func); + } +} +public class CClanOfficerListResponse_t_CallResult +{ + public CClanOfficerListResponse_t_CallResult() { } + ~CClanOfficerListResponse_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CClanOfficerListResponse_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_ClanOfficerListResponse_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CClanOfficerListResponse_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CClanOfficerListResponse_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStoragePublishFileProgress_t_CallResult +{ + public CRemoteStoragePublishFileProgress_t_CallResult() { } + ~CRemoteStoragePublishFileProgress_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStoragePublishFileProgress_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStoragePublishFileProgress_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStoragePublishFileProgress_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStoragePublishFileProgress_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageEnumerateWorkshopFilesResult_t_CallResult +{ + public CRemoteStorageEnumerateWorkshopFilesResult_t_CallResult() { } + ~CRemoteStorageEnumerateWorkshopFilesResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateWorkshopFilesResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageEnumerateWorkshopFilesResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateWorkshopFilesResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateWorkshopFilesResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoveUGCDependencyResult_t_CallResult +{ + public CRemoveUGCDependencyResult_t_CallResult() { } + ~CRemoveUGCDependencyResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoveUGCDependencyResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoveUGCDependencyResult_t_SetCallResult(hAPICall, func); + } +} +public class CGSReputation_t_CallResult +{ + public CGSReputation_t_CallResult() { } + ~CGSReputation_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGSReputation_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GSReputation_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGSReputation_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGSReputation_t_SetCallResult(hAPICall, func); + } +} +public class CUserFavoriteItemsListChanged_t_CallResult +{ + public CUserFavoriteItemsListChanged_t_CallResult() { } + ~CUserFavoriteItemsListChanged_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CUserFavoriteItemsListChanged_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_UserFavoriteItemsListChanged_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CUserFavoriteItemsListChanged_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CUserFavoriteItemsListChanged_t_SetCallResult(hAPICall, func); + } +} +public class CAddAppDependencyResult_t_CallResult +{ + public CAddAppDependencyResult_t_CallResult() { } + ~CAddAppDependencyResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CAddAppDependencyResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_AddAppDependencyResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CAddAppDependencyResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CAddAppDependencyResult_t_SetCallResult(hAPICall, func); + } +} +public class CEncryptedAppTicketResponse_t_CallResult +{ + public CEncryptedAppTicketResponse_t_CallResult() { } + ~CEncryptedAppTicketResponse_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CEncryptedAppTicketResponse_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_EncryptedAppTicketResponse_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CEncryptedAppTicketResponse_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CEncryptedAppTicketResponse_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageSetUserPublishedFileActionResult_t_CallResult +{ + public CRemoteStorageSetUserPublishedFileActionResult_t_CallResult() { } + ~CRemoteStorageSetUserPublishedFileActionResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageSetUserPublishedFileActionResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageSetUserPublishedFileActionResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageSetUserPublishedFileActionResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageSetUserPublishedFileActionResult_t_SetCallResult(hAPICall, func); + } +} +public class CStopPlaytimeTrackingResult_t_CallResult +{ + public CStopPlaytimeTrackingResult_t_CallResult() { } + ~CStopPlaytimeTrackingResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CStopPlaytimeTrackingResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_StopPlaytimeTrackingResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CStopPlaytimeTrackingResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CStopPlaytimeTrackingResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageEnumerateUserPublishedFilesResult_t_CallResult +{ + public CRemoteStorageEnumerateUserPublishedFilesResult_t_CallResult() { } + ~CRemoteStorageEnumerateUserPublishedFilesResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateUserPublishedFilesResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageEnumerateUserPublishedFilesResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateUserPublishedFilesResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageEnumerateUserPublishedFilesResult_t_SetCallResult(hAPICall, func); + } +} +public class CFriendsEnumerateFollowingList_t_CallResult +{ + public CFriendsEnumerateFollowingList_t_CallResult() { } + ~CFriendsEnumerateFollowingList_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFriendsEnumerateFollowingList_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_FriendsEnumerateFollowingList_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CFriendsEnumerateFollowingList_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CFriendsEnumerateFollowingList_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageSubscribePublishedFileResult_t_CallResult +{ + public CRemoteStorageSubscribePublishedFileResult_t_CallResult() { } + ~CRemoteStorageSubscribePublishedFileResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageSubscribePublishedFileResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageSubscribePublishedFileResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageSubscribePublishedFileResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageSubscribePublishedFileResult_t_SetCallResult(hAPICall, func); + } +} +public class CGetUserItemVoteResult_t_CallResult +{ + public CGetUserItemVoteResult_t_CallResult() { } + ~CGetUserItemVoteResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGetUserItemVoteResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GetUserItemVoteResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGetUserItemVoteResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGetUserItemVoteResult_t_SetCallResult(hAPICall, func); + } +} +public class CAssociateWithClanResult_t_CallResult +{ + public CAssociateWithClanResult_t_CallResult() { } + ~CAssociateWithClanResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CAssociateWithClanResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_AssociateWithClanResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CAssociateWithClanResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CAssociateWithClanResult_t_SetCallResult(hAPICall, func); + } +} +public class CLeaderboardUGCSet_t_CallResult +{ + public CLeaderboardUGCSet_t_CallResult() { } + ~CLeaderboardUGCSet_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardUGCSet_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LeaderboardUGCSet_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardUGCSet_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLeaderboardUGCSet_t_SetCallResult(hAPICall, func); + } +} +public class CCheckFileSignature_t_CallResult +{ + public CCheckFileSignature_t_CallResult() { } + ~CCheckFileSignature_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CCheckFileSignature_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_CheckFileSignature_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CCheckFileSignature_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CCheckFileSignature_t_SetCallResult(hAPICall, func); + } +} +public class CGetAppDependenciesResult_t_CallResult +{ + public CGetAppDependenciesResult_t_CallResult() { } + ~CGetAppDependenciesResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGetAppDependenciesResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_GetAppDependenciesResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CGetAppDependenciesResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CGetAppDependenciesResult_t_SetCallResult(hAPICall, func); + } +} +public class CRemoteStorageUnsubscribePublishedFileResult_t_CallResult +{ + public CRemoteStorageUnsubscribePublishedFileResult_t_CallResult() { } + ~CRemoteStorageUnsubscribePublishedFileResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageUnsubscribePublishedFileResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoteStorageUnsubscribePublishedFileResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoteStorageUnsubscribePublishedFileResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoteStorageUnsubscribePublishedFileResult_t_SetCallResult(hAPICall, func); + } +} +public class CSetPersonaNameResponse_t_CallResult +{ + public CSetPersonaNameResponse_t_CallResult() { } + ~CSetPersonaNameResponse_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSetPersonaNameResponse_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SetPersonaNameResponse_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSetPersonaNameResponse_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSetPersonaNameResponse_t_SetCallResult(hAPICall, func); + } +} +public class CRemoveAppDependencyResult_t_CallResult +{ + public CRemoveAppDependencyResult_t_CallResult() { } + ~CRemoveAppDependencyResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoveAppDependencyResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_RemoveAppDependencyResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CRemoveAppDependencyResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CRemoveAppDependencyResult_t_SetCallResult(hAPICall, func); + } +} +public class CUserStatsReceived_t_CallResult +{ + public CUserStatsReceived_t_CallResult() { } + ~CUserStatsReceived_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CUserStatsReceived_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_UserStatsReceived_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CUserStatsReceived_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CUserStatsReceived_t_SetCallResult(hAPICall, func); + } +} +public class CSteamInventoryEligiblePromoItemDefIDs_t_CallResult +{ + public CSteamInventoryEligiblePromoItemDefIDs_t_CallResult() { } + ~CSteamInventoryEligiblePromoItemDefIDs_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamInventoryEligiblePromoItemDefIDs_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_SteamInventoryEligiblePromoItemDefIDs_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CSteamInventoryEligiblePromoItemDefIDs_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CSteamInventoryEligiblePromoItemDefIDs_t_SetCallResult(hAPICall, func); + } +} +public class CJoinClanChatRoomCompletionResult_t_CallResult +{ + public CJoinClanChatRoomCompletionResult_t_CallResult() { } + ~CJoinClanChatRoomCompletionResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CJoinClanChatRoomCompletionResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_JoinClanChatRoomCompletionResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CJoinClanChatRoomCompletionResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CJoinClanChatRoomCompletionResult_t_SetCallResult(hAPICall, func); + } +} +public class CLeaderboardFindResult_t_CallResult +{ + public CLeaderboardFindResult_t_CallResult() { } + ~CLeaderboardFindResult_t_CallResult() + { + if(m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardFindResult_t_RemoveCallResult(m_Handle); + } + } + ulong m_Handle = 0; + public void Set(ulong hAPICall, Valve.Interop.NativeEntrypoints.SteamAPI_LeaderboardFindResult_t_CallResult func) + { + if (m_Handle != 0) + { + Valve.Interop.NativeEntrypoints.CLeaderboardFindResult_t_RemoveCallResult(m_Handle); + } + m_Handle = Valve.Interop.NativeEntrypoints.CLeaderboardFindResult_t_SetCallResult(hAPICall, func); + } +} +public class SteamAPIInterop +{ +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_RestartAppIfNecessary")] +internal static extern void SteamAPI_RestartAppIfNecessary(uint unOwnAppID ); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_Init")] +internal static extern void SteamAPI_Init(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_RunCallbacks")] +internal static extern void SteamAPI_RunCallbacks(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_RegisterCallback")] +internal static extern void SteamAPI_RegisterCallback(IntPtr pCallback, int iCallback); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAPI_UnregisterCallback")] +internal static extern void SteamAPI_UnregisterCallback(IntPtr pCallback); +[DllImportAttribute("Steam_api", EntryPoint = "SteamClient")] +internal static extern IntPtr SteamClient(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamUser")] +internal static extern IntPtr SteamUser(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamFriends")] +internal static extern IntPtr SteamFriends(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamUtils")] +internal static extern IntPtr SteamUtils(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMatchmaking")] +internal static extern IntPtr SteamMatchmaking(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMatchmakingServerListResponse")] +internal static extern IntPtr SteamMatchmakingServerListResponse(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMatchmakingPingResponse")] +internal static extern IntPtr SteamMatchmakingPingResponse(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMatchmakingPlayersResponse")] +internal static extern IntPtr SteamMatchmakingPlayersResponse(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMatchmakingRulesResponse")] +internal static extern IntPtr SteamMatchmakingRulesResponse(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMatchmakingServers")] +internal static extern IntPtr SteamMatchmakingServers(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamRemoteStorage")] +internal static extern IntPtr SteamRemoteStorage(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamUserStats")] +internal static extern IntPtr SteamUserStats(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamApps")] +internal static extern IntPtr SteamApps(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamNetworking")] +internal static extern IntPtr SteamNetworking(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamScreenshots")] +internal static extern IntPtr SteamScreenshots(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMusic")] +internal static extern IntPtr SteamMusic(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamMusicRemote")] +internal static extern IntPtr SteamMusicRemote(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamHTTP")] +internal static extern IntPtr SteamHTTP(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamController")] +internal static extern IntPtr SteamController(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamUGC")] +internal static extern IntPtr SteamUGC(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamAppList")] +internal static extern IntPtr SteamAppList(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamHTMLSurface")] +internal static extern IntPtr SteamHTMLSurface(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamInventory")] +internal static extern IntPtr SteamInventory(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamVideo")] +internal static extern IntPtr SteamVideo(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamParentalSettings")] +internal static extern IntPtr SteamParentalSettings(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamGameServer")] +internal static extern IntPtr SteamGameServer(); +[DllImportAttribute("Steam_api", EntryPoint = "SteamGameServerStats")] +internal static extern IntPtr SteamGameServerStats(); +} + + +public enum EUniverse +{ + k_EUniverseInvalid = 0, + k_EUniversePublic = 1, + k_EUniverseBeta = 2, + k_EUniverseInternal = 3, + k_EUniverseDev = 4, + k_EUniverseMax = 5, +} +public enum EResult +{ + k_EResultOK = 1, + k_EResultFail = 2, + k_EResultNoConnection = 3, + k_EResultInvalidPassword = 5, + k_EResultLoggedInElsewhere = 6, + k_EResultInvalidProtocolVer = 7, + k_EResultInvalidParam = 8, + k_EResultFileNotFound = 9, + k_EResultBusy = 10, + k_EResultInvalidState = 11, + k_EResultInvalidName = 12, + k_EResultInvalidEmail = 13, + k_EResultDuplicateName = 14, + k_EResultAccessDenied = 15, + k_EResultTimeout = 16, + k_EResultBanned = 17, + k_EResultAccountNotFound = 18, + k_EResultInvalidSteamID = 19, + k_EResultServiceUnavailable = 20, + k_EResultNotLoggedOn = 21, + k_EResultPending = 22, + k_EResultEncryptionFailure = 23, + k_EResultInsufficientPrivilege = 24, + k_EResultLimitExceeded = 25, + k_EResultRevoked = 26, + k_EResultExpired = 27, + k_EResultAlreadyRedeemed = 28, + k_EResultDuplicateRequest = 29, + k_EResultAlreadyOwned = 30, + k_EResultIPNotFound = 31, + k_EResultPersistFailed = 32, + k_EResultLockingFailed = 33, + k_EResultLogonSessionReplaced = 34, + k_EResultConnectFailed = 35, + k_EResultHandshakeFailed = 36, + k_EResultIOFailure = 37, + k_EResultRemoteDisconnect = 38, + k_EResultShoppingCartNotFound = 39, + k_EResultBlocked = 40, + k_EResultIgnored = 41, + k_EResultNoMatch = 42, + k_EResultAccountDisabled = 43, + k_EResultServiceReadOnly = 44, + k_EResultAccountNotFeatured = 45, + k_EResultAdministratorOK = 46, + k_EResultContentVersion = 47, + k_EResultTryAnotherCM = 48, + k_EResultPasswordRequiredToKickSession = 49, + k_EResultAlreadyLoggedInElsewhere = 50, + k_EResultSuspended = 51, + k_EResultCancelled = 52, + k_EResultDataCorruption = 53, + k_EResultDiskFull = 54, + k_EResultRemoteCallFailed = 55, + k_EResultPasswordUnset = 56, + k_EResultExternalAccountUnlinked = 57, + k_EResultPSNTicketInvalid = 58, + k_EResultExternalAccountAlreadyLinked = 59, + k_EResultRemoteFileConflict = 60, + k_EResultIllegalPassword = 61, + k_EResultSameAsPreviousValue = 62, + k_EResultAccountLogonDenied = 63, + k_EResultCannotUseOldPassword = 64, + k_EResultInvalidLoginAuthCode = 65, + k_EResultAccountLogonDeniedNoMail = 66, + k_EResultHardwareNotCapableOfIPT = 67, + k_EResultIPTInitError = 68, + k_EResultParentalControlRestricted = 69, + k_EResultFacebookQueryError = 70, + k_EResultExpiredLoginAuthCode = 71, + k_EResultIPLoginRestrictionFailed = 72, + k_EResultAccountLockedDown = 73, + k_EResultAccountLogonDeniedVerifiedEmailRequired = 74, + k_EResultNoMatchingURL = 75, + k_EResultBadResponse = 76, + k_EResultRequirePasswordReEntry = 77, + k_EResultValueOutOfRange = 78, + k_EResultUnexpectedError = 79, + k_EResultDisabled = 80, + k_EResultInvalidCEGSubmission = 81, + k_EResultRestrictedDevice = 82, + k_EResultRegionLocked = 83, + k_EResultRateLimitExceeded = 84, + k_EResultAccountLoginDeniedNeedTwoFactor = 85, + k_EResultItemDeleted = 86, + k_EResultAccountLoginDeniedThrottle = 87, + k_EResultTwoFactorCodeMismatch = 88, + k_EResultTwoFactorActivationCodeMismatch = 89, + k_EResultAccountAssociatedToMultiplePartners = 90, + k_EResultNotModified = 91, + k_EResultNoMobileDevice = 92, + k_EResultTimeNotSynced = 93, + k_EResultSmsCodeFailed = 94, + k_EResultAccountLimitExceeded = 95, + k_EResultAccountActivityLimitExceeded = 96, + k_EResultPhoneActivityLimitExceeded = 97, + k_EResultRefundToWallet = 98, + k_EResultEmailSendFailure = 99, + k_EResultNotSettled = 100, + k_EResultNeedCaptcha = 101, + k_EResultGSLTDenied = 102, + k_EResultGSOwnerDenied = 103, + k_EResultInvalidItemType = 104, + k_EResultIPBanned = 105, + k_EResultGSLTExpired = 106, + k_EResultInsufficientFunds = 107, + k_EResultTooManyPending = 108, + k_EResultNoSiteLicensesFound = 109, + k_EResultWGNetworkSendExceeded = 110, + k_EResultAccountNotFriends = 111, + k_EResultLimitedUserAccount = 112, +} +public enum EVoiceResult +{ + k_EVoiceResultOK = 0, + k_EVoiceResultNotInitialized = 1, + k_EVoiceResultNotRecording = 2, + k_EVoiceResultNoData = 3, + k_EVoiceResultBufferTooSmall = 4, + k_EVoiceResultDataCorrupted = 5, + k_EVoiceResultRestricted = 6, + k_EVoiceResultUnsupportedCodec = 7, + k_EVoiceResultReceiverOutOfDate = 8, + k_EVoiceResultReceiverDidNotAnswer = 9, +} +public enum EDenyReason +{ + k_EDenyInvalid = 0, + k_EDenyInvalidVersion = 1, + k_EDenyGeneric = 2, + k_EDenyNotLoggedOn = 3, + k_EDenyNoLicense = 4, + k_EDenyCheater = 5, + k_EDenyLoggedInElseWhere = 6, + k_EDenyUnknownText = 7, + k_EDenyIncompatibleAnticheat = 8, + k_EDenyMemoryCorruption = 9, + k_EDenyIncompatibleSoftware = 10, + k_EDenySteamConnectionLost = 11, + k_EDenySteamConnectionError = 12, + k_EDenySteamResponseTimedOut = 13, + k_EDenySteamValidationStalled = 14, + k_EDenySteamOwnerLeftGuestUser = 15, +} +public enum EBeginAuthSessionResult +{ + k_EBeginAuthSessionResultOK = 0, + k_EBeginAuthSessionResultInvalidTicket = 1, + k_EBeginAuthSessionResultDuplicateRequest = 2, + k_EBeginAuthSessionResultInvalidVersion = 3, + k_EBeginAuthSessionResultGameMismatch = 4, + k_EBeginAuthSessionResultExpiredTicket = 5, +} +public enum EAuthSessionResponse +{ + k_EAuthSessionResponseOK = 0, + k_EAuthSessionResponseUserNotConnectedToSteam = 1, + k_EAuthSessionResponseNoLicenseOrExpired = 2, + k_EAuthSessionResponseVACBanned = 3, + k_EAuthSessionResponseLoggedInElseWhere = 4, + k_EAuthSessionResponseVACCheckTimedOut = 5, + k_EAuthSessionResponseAuthTicketCanceled = 6, + k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, + k_EAuthSessionResponseAuthTicketInvalid = 8, + k_EAuthSessionResponsePublisherIssuedBan = 9, +} +public enum EUserHasLicenseForAppResult +{ + k_EUserHasLicenseResultHasLicense = 0, + k_EUserHasLicenseResultDoesNotHaveLicense = 1, + k_EUserHasLicenseResultNoAuth = 2, +} +public enum EAccountType +{ + k_EAccountTypeInvalid = 0, + k_EAccountTypeIndividual = 1, + k_EAccountTypeMultiseat = 2, + k_EAccountTypeGameServer = 3, + k_EAccountTypeAnonGameServer = 4, + k_EAccountTypePending = 5, + k_EAccountTypeContentServer = 6, + k_EAccountTypeClan = 7, + k_EAccountTypeChat = 8, + k_EAccountTypeConsoleUser = 9, + k_EAccountTypeAnonUser = 10, + k_EAccountTypeMax = 11, +} +public enum EAppReleaseState +{ + k_EAppReleaseState_Unknown = 0, + k_EAppReleaseState_Unavailable = 1, + k_EAppReleaseState_Prerelease = 2, + k_EAppReleaseState_PreloadOnly = 3, + k_EAppReleaseState_Released = 4, +} +public enum EAppOwnershipFlags +{ + k_EAppOwnershipFlags_None = 0, + k_EAppOwnershipFlags_OwnsLicense = 1, + k_EAppOwnershipFlags_FreeLicense = 2, + k_EAppOwnershipFlags_RegionRestricted = 4, + k_EAppOwnershipFlags_LowViolence = 8, + k_EAppOwnershipFlags_InvalidPlatform = 16, + k_EAppOwnershipFlags_SharedLicense = 32, + k_EAppOwnershipFlags_FreeWeekend = 64, + k_EAppOwnershipFlags_RetailLicense = 128, + k_EAppOwnershipFlags_LicenseLocked = 256, + k_EAppOwnershipFlags_LicensePending = 512, + k_EAppOwnershipFlags_LicenseExpired = 1024, + k_EAppOwnershipFlags_LicensePermanent = 2048, + k_EAppOwnershipFlags_LicenseRecurring = 4096, + k_EAppOwnershipFlags_LicenseCanceled = 8192, + k_EAppOwnershipFlags_AutoGrant = 16384, + k_EAppOwnershipFlags_PendingGift = 32768, + k_EAppOwnershipFlags_RentalNotActivated = 65536, + k_EAppOwnershipFlags_Rental = 131072, + k_EAppOwnershipFlags_SiteLicense = 262144, +} +public enum EAppType +{ + k_EAppType_Invalid = 0, + k_EAppType_Game = 1, + k_EAppType_Application = 2, + k_EAppType_Tool = 4, + k_EAppType_Demo = 8, + k_EAppType_Media_DEPRECATED = 16, + k_EAppType_DLC = 32, + k_EAppType_Guide = 64, + k_EAppType_Driver = 128, + k_EAppType_Config = 256, + k_EAppType_Hardware = 512, + k_EAppType_Franchise = 1024, + k_EAppType_Video = 2048, + k_EAppType_Plugin = 4096, + k_EAppType_Music = 8192, + k_EAppType_Series = 16384, + k_EAppType_Comic = 32768, + k_EAppType_Shortcut = 1073741824, + k_EAppType_DepotOnly = -2147483648, +} +public enum ESteamUserStatType +{ + k_ESteamUserStatTypeINVALID = 0, + k_ESteamUserStatTypeINT = 1, + k_ESteamUserStatTypeFLOAT = 2, + k_ESteamUserStatTypeAVGRATE = 3, + k_ESteamUserStatTypeACHIEVEMENTS = 4, + k_ESteamUserStatTypeGROUPACHIEVEMENTS = 5, + k_ESteamUserStatTypeMAX = 6, +} +public enum EChatEntryType +{ + k_EChatEntryTypeInvalid = 0, + k_EChatEntryTypeChatMsg = 1, + k_EChatEntryTypeTyping = 2, + k_EChatEntryTypeInviteGame = 3, + k_EChatEntryTypeEmote = 4, + k_EChatEntryTypeLeftConversation = 6, + k_EChatEntryTypeEntered = 7, + k_EChatEntryTypeWasKicked = 8, + k_EChatEntryTypeWasBanned = 9, + k_EChatEntryTypeDisconnected = 10, + k_EChatEntryTypeHistoricalChat = 11, + k_EChatEntryTypeLinkBlocked = 14, +} +public enum EChatRoomEnterResponse +{ + k_EChatRoomEnterResponseSuccess = 1, + k_EChatRoomEnterResponseDoesntExist = 2, + k_EChatRoomEnterResponseNotAllowed = 3, + k_EChatRoomEnterResponseFull = 4, + k_EChatRoomEnterResponseError = 5, + k_EChatRoomEnterResponseBanned = 6, + k_EChatRoomEnterResponseLimited = 7, + k_EChatRoomEnterResponseClanDisabled = 8, + k_EChatRoomEnterResponseCommunityBan = 9, + k_EChatRoomEnterResponseMemberBlockedYou = 10, + k_EChatRoomEnterResponseYouBlockedMember = 11, + k_EChatRoomEnterResponseRatelimitExceeded = 15, +} +public enum EChatSteamIDInstanceFlags +{ + k_EChatAccountInstanceMask = 4095, + k_EChatInstanceFlagClan = 524288, + k_EChatInstanceFlagLobby = 262144, + k_EChatInstanceFlagMMSLobby = 131072, +} +public enum EMarketingMessageFlags +{ + k_EMarketingMessageFlagsNone = 0, + k_EMarketingMessageFlagsHighPriority = 1, + k_EMarketingMessageFlagsPlatformWindows = 2, + k_EMarketingMessageFlagsPlatformMac = 4, + k_EMarketingMessageFlagsPlatformLinux = 8, + k_EMarketingMessageFlagsPlatformRestrictions = 14, +} +public enum ENotificationPosition +{ + k_EPositionTopLeft = 0, + k_EPositionTopRight = 1, + k_EPositionBottomLeft = 2, + k_EPositionBottomRight = 3, +} +public enum EBroadcastUploadResult +{ + k_EBroadcastUploadResultNone = 0, + k_EBroadcastUploadResultOK = 1, + k_EBroadcastUploadResultInitFailed = 2, + k_EBroadcastUploadResultFrameFailed = 3, + k_EBroadcastUploadResultTimeout = 4, + k_EBroadcastUploadResultBandwidthExceeded = 5, + k_EBroadcastUploadResultLowFPS = 6, + k_EBroadcastUploadResultMissingKeyFrames = 7, + k_EBroadcastUploadResultNoConnection = 8, + k_EBroadcastUploadResultRelayFailed = 9, + k_EBroadcastUploadResultSettingsChanged = 10, + k_EBroadcastUploadResultMissingAudio = 11, + k_EBroadcastUploadResultTooFarBehind = 12, + k_EBroadcastUploadResultTranscodeBehind = 13, +} +public enum ELaunchOptionType +{ + k_ELaunchOptionType_None = 0, + k_ELaunchOptionType_Default = 1, + k_ELaunchOptionType_SafeMode = 2, + k_ELaunchOptionType_Multiplayer = 3, + k_ELaunchOptionType_Config = 4, + k_ELaunchOptionType_OpenVR = 5, + k_ELaunchOptionType_Server = 6, + k_ELaunchOptionType_Editor = 7, + k_ELaunchOptionType_Manual = 8, + k_ELaunchOptionType_Benchmark = 9, + k_ELaunchOptionType_Option1 = 10, + k_ELaunchOptionType_Option2 = 11, + k_ELaunchOptionType_Option3 = 12, + k_ELaunchOptionType_OculusVR = 13, + k_ELaunchOptionType_OpenVROverlay = 14, + k_ELaunchOptionType_OSVR = 15, + k_ELaunchOptionType_Dialog = 1000, +} +public enum EVRHMDType +{ + k_eEVRHMDType_None = -1, + k_eEVRHMDType_Unknown = 0, + k_eEVRHMDType_HTC_Dev = 1, + k_eEVRHMDType_HTC_VivePre = 2, + k_eEVRHMDType_HTC_Vive = 3, + k_eEVRHMDType_HTC_Unknown = 20, + k_eEVRHMDType_Oculus_DK1 = 21, + k_eEVRHMDType_Oculus_DK2 = 22, + k_eEVRHMDType_Oculus_Rift = 23, + k_eEVRHMDType_Oculus_Unknown = 40, + k_eEVRHMDType_Acer_Unknown = 50, + k_eEVRHMDType_Acer_WindowsMR = 51, + k_eEVRHMDType_Dell_Unknown = 60, + k_eEVRHMDType_Dell_Visor = 61, + k_eEVRHMDType_Lenovo_Unknown = 70, + k_eEVRHMDType_Lenovo_Explorer = 71, + k_eEVRHMDType_HP_Unknown = 80, + k_eEVRHMDType_HP_WindowsMR = 81, + k_eEVRHMDType_Samsung_Unknown = 90, + k_eEVRHMDType_Samsung_Odyssey = 91, + k_eEVRHMDType_Unannounced_Unknown = 100, + k_eEVRHMDType_Unannounced_WindowsMR = 101, +} +public enum EFailureType +{ + k_EFailureFlushedCallbackQueue = 0, + k_EFailurePipeFail = 1, +} +public enum EFriendRelationship +{ + k_EFriendRelationshipNone = 0, + k_EFriendRelationshipBlocked = 1, + k_EFriendRelationshipRequestRecipient = 2, + k_EFriendRelationshipFriend = 3, + k_EFriendRelationshipRequestInitiator = 4, + k_EFriendRelationshipIgnored = 5, + k_EFriendRelationshipIgnoredFriend = 6, + k_EFriendRelationshipSuggested_DEPRECATED = 7, + k_EFriendRelationshipMax = 8, +} +public enum EPersonaState +{ + k_EPersonaStateOffline = 0, + k_EPersonaStateOnline = 1, + k_EPersonaStateBusy = 2, + k_EPersonaStateAway = 3, + k_EPersonaStateSnooze = 4, + k_EPersonaStateLookingToTrade = 5, + k_EPersonaStateLookingToPlay = 6, + k_EPersonaStateMax = 7, +} +public enum EFriendFlags +{ + k_EFriendFlagNone = 0, + k_EFriendFlagBlocked = 1, + k_EFriendFlagFriendshipRequested = 2, + k_EFriendFlagImmediate = 4, + k_EFriendFlagClanMember = 8, + k_EFriendFlagOnGameServer = 16, + k_EFriendFlagRequestingFriendship = 128, + k_EFriendFlagRequestingInfo = 256, + k_EFriendFlagIgnored = 512, + k_EFriendFlagIgnoredFriend = 1024, + k_EFriendFlagChatMember = 4096, + k_EFriendFlagAll = 65535, +} +public enum EUserRestriction +{ + k_nUserRestrictionNone = 0, + k_nUserRestrictionUnknown = 1, + k_nUserRestrictionAnyChat = 2, + k_nUserRestrictionVoiceChat = 4, + k_nUserRestrictionGroupChat = 8, + k_nUserRestrictionRating = 16, + k_nUserRestrictionGameInvites = 32, + k_nUserRestrictionTrading = 64, +} +public enum EOverlayToStoreFlag +{ + k_EOverlayToStoreFlag_None = 0, + k_EOverlayToStoreFlag_AddToCart = 1, + k_EOverlayToStoreFlag_AddToCartAndShow = 2, +} +public enum EPersonaChange +{ + k_EPersonaChangeName = 1, + k_EPersonaChangeStatus = 2, + k_EPersonaChangeComeOnline = 4, + k_EPersonaChangeGoneOffline = 8, + k_EPersonaChangeGamePlayed = 16, + k_EPersonaChangeGameServer = 32, + k_EPersonaChangeAvatar = 64, + k_EPersonaChangeJoinedSource = 128, + k_EPersonaChangeLeftSource = 256, + k_EPersonaChangeRelationshipChanged = 512, + k_EPersonaChangeNameFirstSet = 1024, + k_EPersonaChangeFacebookInfo = 2048, + k_EPersonaChangeNickname = 4096, + k_EPersonaChangeSteamLevel = 8192, +} +public enum ESteamAPICallFailure +{ + k_ESteamAPICallFailureNone = -1, + k_ESteamAPICallFailureSteamGone = 0, + k_ESteamAPICallFailureNetworkFailure = 1, + k_ESteamAPICallFailureInvalidHandle = 2, + k_ESteamAPICallFailureMismatchedCallback = 3, +} +public enum EGamepadTextInputMode +{ + k_EGamepadTextInputModeNormal = 0, + k_EGamepadTextInputModePassword = 1, +} +public enum EGamepadTextInputLineMode +{ + k_EGamepadTextInputLineModeSingleLine = 0, + k_EGamepadTextInputLineModeMultipleLines = 1, +} +public enum ECheckFileSignature +{ + k_ECheckFileSignatureInvalidSignature = 0, + k_ECheckFileSignatureValidSignature = 1, + k_ECheckFileSignatureFileNotFound = 2, + k_ECheckFileSignatureNoSignaturesFoundForThisApp = 3, + k_ECheckFileSignatureNoSignaturesFoundForThisFile = 4, +} +public enum EMatchMakingServerResponse +{ + eServerResponded = 0, + eServerFailedToRespond = 1, + eNoServersListedOnMasterServer = 2, +} +public enum ELobbyType +{ + k_ELobbyTypePrivate = 0, + k_ELobbyTypeFriendsOnly = 1, + k_ELobbyTypePublic = 2, + k_ELobbyTypeInvisible = 3, +} +public enum ELobbyComparison +{ + k_ELobbyComparisonEqualToOrLessThan = -2, + k_ELobbyComparisonLessThan = -1, + k_ELobbyComparisonEqual = 0, + k_ELobbyComparisonGreaterThan = 1, + k_ELobbyComparisonEqualToOrGreaterThan = 2, + k_ELobbyComparisonNotEqual = 3, +} +public enum ELobbyDistanceFilter +{ + k_ELobbyDistanceFilterClose = 0, + k_ELobbyDistanceFilterDefault = 1, + k_ELobbyDistanceFilterFar = 2, + k_ELobbyDistanceFilterWorldwide = 3, +} +public enum EChatMemberStateChange +{ + k_EChatMemberStateChangeEntered = 1, + k_EChatMemberStateChangeLeft = 2, + k_EChatMemberStateChangeDisconnected = 4, + k_EChatMemberStateChangeKicked = 8, + k_EChatMemberStateChangeBanned = 16, +} +public enum ERemoteStoragePlatform +{ + k_ERemoteStoragePlatformNone = 0, + k_ERemoteStoragePlatformWindows = 1, + k_ERemoteStoragePlatformOSX = 2, + k_ERemoteStoragePlatformPS3 = 4, + k_ERemoteStoragePlatformLinux = 8, + k_ERemoteStoragePlatformReserved2 = 16, + k_ERemoteStoragePlatformAll = -1, +} +public enum ERemoteStoragePublishedFileVisibility +{ + k_ERemoteStoragePublishedFileVisibilityPublic = 0, + k_ERemoteStoragePublishedFileVisibilityFriendsOnly = 1, + k_ERemoteStoragePublishedFileVisibilityPrivate = 2, +} +public enum EWorkshopFileType +{ + k_EWorkshopFileTypeFirst = 0, + k_EWorkshopFileTypeCommunity = 0, + k_EWorkshopFileTypeMicrotransaction = 1, + k_EWorkshopFileTypeCollection = 2, + k_EWorkshopFileTypeArt = 3, + k_EWorkshopFileTypeVideo = 4, + k_EWorkshopFileTypeScreenshot = 5, + k_EWorkshopFileTypeGame = 6, + k_EWorkshopFileTypeSoftware = 7, + k_EWorkshopFileTypeConcept = 8, + k_EWorkshopFileTypeWebGuide = 9, + k_EWorkshopFileTypeIntegratedGuide = 10, + k_EWorkshopFileTypeMerch = 11, + k_EWorkshopFileTypeControllerBinding = 12, + k_EWorkshopFileTypeSteamworksAccessInvite = 13, + k_EWorkshopFileTypeSteamVideo = 14, + k_EWorkshopFileTypeGameManagedItem = 15, + k_EWorkshopFileTypeMax = 16, +} +public enum EWorkshopVote +{ + k_EWorkshopVoteUnvoted = 0, + k_EWorkshopVoteFor = 1, + k_EWorkshopVoteAgainst = 2, + k_EWorkshopVoteLater = 3, +} +public enum EWorkshopFileAction +{ + k_EWorkshopFileActionPlayed = 0, + k_EWorkshopFileActionCompleted = 1, +} +public enum EWorkshopEnumerationType +{ + k_EWorkshopEnumerationTypeRankedByVote = 0, + k_EWorkshopEnumerationTypeRecent = 1, + k_EWorkshopEnumerationTypeTrending = 2, + k_EWorkshopEnumerationTypeFavoritesOfFriends = 3, + k_EWorkshopEnumerationTypeVotedByFriends = 4, + k_EWorkshopEnumerationTypeContentByFriends = 5, + k_EWorkshopEnumerationTypeRecentFromFollowedUsers = 6, +} +public enum EWorkshopVideoProvider +{ + k_EWorkshopVideoProviderNone = 0, + k_EWorkshopVideoProviderYoutube = 1, +} +public enum EUGCReadAction +{ + k_EUGCRead_ContinueReadingUntilFinished = 0, + k_EUGCRead_ContinueReading = 1, + k_EUGCRead_Close = 2, +} +public enum ELeaderboardDataRequest +{ + k_ELeaderboardDataRequestGlobal = 0, + k_ELeaderboardDataRequestGlobalAroundUser = 1, + k_ELeaderboardDataRequestFriends = 2, + k_ELeaderboardDataRequestUsers = 3, +} +public enum ELeaderboardSortMethod +{ + k_ELeaderboardSortMethodNone = 0, + k_ELeaderboardSortMethodAscending = 1, + k_ELeaderboardSortMethodDescending = 2, +} +public enum ELeaderboardDisplayType +{ + k_ELeaderboardDisplayTypeNone = 0, + k_ELeaderboardDisplayTypeNumeric = 1, + k_ELeaderboardDisplayTypeTimeSeconds = 2, + k_ELeaderboardDisplayTypeTimeMilliSeconds = 3, +} +public enum ELeaderboardUploadScoreMethod +{ + k_ELeaderboardUploadScoreMethodNone = 0, + k_ELeaderboardUploadScoreMethodKeepBest = 1, + k_ELeaderboardUploadScoreMethodForceUpdate = 2, +} +public enum ERegisterActivationCodeResult +{ + k_ERegisterActivationCodeResultOK = 0, + k_ERegisterActivationCodeResultFail = 1, + k_ERegisterActivationCodeResultAlreadyRegistered = 2, + k_ERegisterActivationCodeResultTimeout = 3, + k_ERegisterActivationCodeAlreadyOwned = 4, +} +public enum EP2PSessionError +{ + k_EP2PSessionErrorNone = 0, + k_EP2PSessionErrorNotRunningApp = 1, + k_EP2PSessionErrorNoRightsToApp = 2, + k_EP2PSessionErrorDestinationNotLoggedIn = 3, + k_EP2PSessionErrorTimeout = 4, + k_EP2PSessionErrorMax = 5, +} +public enum EP2PSend +{ + k_EP2PSendUnreliable = 0, + k_EP2PSendUnreliableNoDelay = 1, + k_EP2PSendReliable = 2, + k_EP2PSendReliableWithBuffering = 3, +} +public enum ESNetSocketState +{ + k_ESNetSocketStateInvalid = 0, + k_ESNetSocketStateConnected = 1, + k_ESNetSocketStateInitiated = 10, + k_ESNetSocketStateLocalCandidatesFound = 11, + k_ESNetSocketStateReceivedRemoteCandidates = 12, + k_ESNetSocketStateChallengeHandshake = 15, + k_ESNetSocketStateDisconnecting = 21, + k_ESNetSocketStateLocalDisconnect = 22, + k_ESNetSocketStateTimeoutDuringConnect = 23, + k_ESNetSocketStateRemoteEndDisconnected = 24, + k_ESNetSocketStateConnectionBroken = 25, +} +public enum ESNetSocketConnectionType +{ + k_ESNetSocketConnectionTypeNotConnected = 0, + k_ESNetSocketConnectionTypeUDP = 1, + k_ESNetSocketConnectionTypeUDPRelay = 2, +} +public enum EVRScreenshotType +{ + k_EVRScreenshotType_None = 0, + k_EVRScreenshotType_Mono = 1, + k_EVRScreenshotType_Stereo = 2, + k_EVRScreenshotType_MonoCubemap = 3, + k_EVRScreenshotType_MonoPanorama = 4, + k_EVRScreenshotType_StereoPanorama = 5, +} +public enum AudioPlayback_Status +{ + AudioPlayback_Undefined = 0, + AudioPlayback_Playing = 1, + AudioPlayback_Paused = 2, + AudioPlayback_Idle = 3, +} +public enum EHTTPMethod +{ + k_EHTTPMethodInvalid = 0, + k_EHTTPMethodGET = 1, + k_EHTTPMethodHEAD = 2, + k_EHTTPMethodPOST = 3, + k_EHTTPMethodPUT = 4, + k_EHTTPMethodDELETE = 5, + k_EHTTPMethodOPTIONS = 6, + k_EHTTPMethodPATCH = 7, +} +public enum EHTTPStatusCode +{ + k_EHTTPStatusCodeInvalid = 0, + k_EHTTPStatusCode100Continue = 100, + k_EHTTPStatusCode101SwitchingProtocols = 101, + k_EHTTPStatusCode200OK = 200, + k_EHTTPStatusCode201Created = 201, + k_EHTTPStatusCode202Accepted = 202, + k_EHTTPStatusCode203NonAuthoritative = 203, + k_EHTTPStatusCode204NoContent = 204, + k_EHTTPStatusCode205ResetContent = 205, + k_EHTTPStatusCode206PartialContent = 206, + k_EHTTPStatusCode300MultipleChoices = 300, + k_EHTTPStatusCode301MovedPermanently = 301, + k_EHTTPStatusCode302Found = 302, + k_EHTTPStatusCode303SeeOther = 303, + k_EHTTPStatusCode304NotModified = 304, + k_EHTTPStatusCode305UseProxy = 305, + k_EHTTPStatusCode307TemporaryRedirect = 307, + k_EHTTPStatusCode400BadRequest = 400, + k_EHTTPStatusCode401Unauthorized = 401, + k_EHTTPStatusCode402PaymentRequired = 402, + k_EHTTPStatusCode403Forbidden = 403, + k_EHTTPStatusCode404NotFound = 404, + k_EHTTPStatusCode405MethodNotAllowed = 405, + k_EHTTPStatusCode406NotAcceptable = 406, + k_EHTTPStatusCode407ProxyAuthRequired = 407, + k_EHTTPStatusCode408RequestTimeout = 408, + k_EHTTPStatusCode409Conflict = 409, + k_EHTTPStatusCode410Gone = 410, + k_EHTTPStatusCode411LengthRequired = 411, + k_EHTTPStatusCode412PreconditionFailed = 412, + k_EHTTPStatusCode413RequestEntityTooLarge = 413, + k_EHTTPStatusCode414RequestURITooLong = 414, + k_EHTTPStatusCode415UnsupportedMediaType = 415, + k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416, + k_EHTTPStatusCode417ExpectationFailed = 417, + k_EHTTPStatusCode4xxUnknown = 418, + k_EHTTPStatusCode429TooManyRequests = 429, + k_EHTTPStatusCode500InternalServerError = 500, + k_EHTTPStatusCode501NotImplemented = 501, + k_EHTTPStatusCode502BadGateway = 502, + k_EHTTPStatusCode503ServiceUnavailable = 503, + k_EHTTPStatusCode504GatewayTimeout = 504, + k_EHTTPStatusCode505HTTPVersionNotSupported = 505, + k_EHTTPStatusCode5xxUnknown = 599, +} +public enum ESteamControllerPad +{ + k_ESteamControllerPad_Left = 0, + k_ESteamControllerPad_Right = 1, +} +public enum EControllerSource +{ + k_EControllerSource_None = 0, + k_EControllerSource_LeftTrackpad = 1, + k_EControllerSource_RightTrackpad = 2, + k_EControllerSource_Joystick = 3, + k_EControllerSource_ABXY = 4, + k_EControllerSource_Switch = 5, + k_EControllerSource_LeftTrigger = 6, + k_EControllerSource_RightTrigger = 7, + k_EControllerSource_Gyro = 8, + k_EControllerSource_CenterTrackpad = 9, + k_EControllerSource_RightJoystick = 10, + k_EControllerSource_DPad = 11, + k_EControllerSource_Key = 12, + k_EControllerSource_Mouse = 13, + k_EControllerSource_Count = 14, +} +public enum EControllerSourceMode +{ + k_EControllerSourceMode_None = 0, + k_EControllerSourceMode_Dpad = 1, + k_EControllerSourceMode_Buttons = 2, + k_EControllerSourceMode_FourButtons = 3, + k_EControllerSourceMode_AbsoluteMouse = 4, + k_EControllerSourceMode_RelativeMouse = 5, + k_EControllerSourceMode_JoystickMove = 6, + k_EControllerSourceMode_JoystickMouse = 7, + k_EControllerSourceMode_JoystickCamera = 8, + k_EControllerSourceMode_ScrollWheel = 9, + k_EControllerSourceMode_Trigger = 10, + k_EControllerSourceMode_TouchMenu = 11, + k_EControllerSourceMode_MouseJoystick = 12, + k_EControllerSourceMode_MouseRegion = 13, + k_EControllerSourceMode_RadialMenu = 14, + k_EControllerSourceMode_SingleButton = 15, + k_EControllerSourceMode_Switches = 16, +} +public enum EControllerActionOrigin +{ + k_EControllerActionOrigin_None = 0, + k_EControllerActionOrigin_A = 1, + k_EControllerActionOrigin_B = 2, + k_EControllerActionOrigin_X = 3, + k_EControllerActionOrigin_Y = 4, + k_EControllerActionOrigin_LeftBumper = 5, + k_EControllerActionOrigin_RightBumper = 6, + k_EControllerActionOrigin_LeftGrip = 7, + k_EControllerActionOrigin_RightGrip = 8, + k_EControllerActionOrigin_Start = 9, + k_EControllerActionOrigin_Back = 10, + k_EControllerActionOrigin_LeftPad_Touch = 11, + k_EControllerActionOrigin_LeftPad_Swipe = 12, + k_EControllerActionOrigin_LeftPad_Click = 13, + k_EControllerActionOrigin_LeftPad_DPadNorth = 14, + k_EControllerActionOrigin_LeftPad_DPadSouth = 15, + k_EControllerActionOrigin_LeftPad_DPadWest = 16, + k_EControllerActionOrigin_LeftPad_DPadEast = 17, + k_EControllerActionOrigin_RightPad_Touch = 18, + k_EControllerActionOrigin_RightPad_Swipe = 19, + k_EControllerActionOrigin_RightPad_Click = 20, + k_EControllerActionOrigin_RightPad_DPadNorth = 21, + k_EControllerActionOrigin_RightPad_DPadSouth = 22, + k_EControllerActionOrigin_RightPad_DPadWest = 23, + k_EControllerActionOrigin_RightPad_DPadEast = 24, + k_EControllerActionOrigin_LeftTrigger_Pull = 25, + k_EControllerActionOrigin_LeftTrigger_Click = 26, + k_EControllerActionOrigin_RightTrigger_Pull = 27, + k_EControllerActionOrigin_RightTrigger_Click = 28, + k_EControllerActionOrigin_LeftStick_Move = 29, + k_EControllerActionOrigin_LeftStick_Click = 30, + k_EControllerActionOrigin_LeftStick_DPadNorth = 31, + k_EControllerActionOrigin_LeftStick_DPadSouth = 32, + k_EControllerActionOrigin_LeftStick_DPadWest = 33, + k_EControllerActionOrigin_LeftStick_DPadEast = 34, + k_EControllerActionOrigin_Gyro_Move = 35, + k_EControllerActionOrigin_Gyro_Pitch = 36, + k_EControllerActionOrigin_Gyro_Yaw = 37, + k_EControllerActionOrigin_Gyro_Roll = 38, + k_EControllerActionOrigin_PS4_X = 39, + k_EControllerActionOrigin_PS4_Circle = 40, + k_EControllerActionOrigin_PS4_Triangle = 41, + k_EControllerActionOrigin_PS4_Square = 42, + k_EControllerActionOrigin_PS4_LeftBumper = 43, + k_EControllerActionOrigin_PS4_RightBumper = 44, + k_EControllerActionOrigin_PS4_Options = 45, + k_EControllerActionOrigin_PS4_Share = 46, + k_EControllerActionOrigin_PS4_LeftPad_Touch = 47, + k_EControllerActionOrigin_PS4_LeftPad_Swipe = 48, + k_EControllerActionOrigin_PS4_LeftPad_Click = 49, + k_EControllerActionOrigin_PS4_LeftPad_DPadNorth = 50, + k_EControllerActionOrigin_PS4_LeftPad_DPadSouth = 51, + k_EControllerActionOrigin_PS4_LeftPad_DPadWest = 52, + k_EControllerActionOrigin_PS4_LeftPad_DPadEast = 53, + k_EControllerActionOrigin_PS4_RightPad_Touch = 54, + k_EControllerActionOrigin_PS4_RightPad_Swipe = 55, + k_EControllerActionOrigin_PS4_RightPad_Click = 56, + k_EControllerActionOrigin_PS4_RightPad_DPadNorth = 57, + k_EControllerActionOrigin_PS4_RightPad_DPadSouth = 58, + k_EControllerActionOrigin_PS4_RightPad_DPadWest = 59, + k_EControllerActionOrigin_PS4_RightPad_DPadEast = 60, + k_EControllerActionOrigin_PS4_CenterPad_Touch = 61, + k_EControllerActionOrigin_PS4_CenterPad_Swipe = 62, + k_EControllerActionOrigin_PS4_CenterPad_Click = 63, + k_EControllerActionOrigin_PS4_CenterPad_DPadNorth = 64, + k_EControllerActionOrigin_PS4_CenterPad_DPadSouth = 65, + k_EControllerActionOrigin_PS4_CenterPad_DPadWest = 66, + k_EControllerActionOrigin_PS4_CenterPad_DPadEast = 67, + k_EControllerActionOrigin_PS4_LeftTrigger_Pull = 68, + k_EControllerActionOrigin_PS4_LeftTrigger_Click = 69, + k_EControllerActionOrigin_PS4_RightTrigger_Pull = 70, + k_EControllerActionOrigin_PS4_RightTrigger_Click = 71, + k_EControllerActionOrigin_PS4_LeftStick_Move = 72, + k_EControllerActionOrigin_PS4_LeftStick_Click = 73, + k_EControllerActionOrigin_PS4_LeftStick_DPadNorth = 74, + k_EControllerActionOrigin_PS4_LeftStick_DPadSouth = 75, + k_EControllerActionOrigin_PS4_LeftStick_DPadWest = 76, + k_EControllerActionOrigin_PS4_LeftStick_DPadEast = 77, + k_EControllerActionOrigin_PS4_RightStick_Move = 78, + k_EControllerActionOrigin_PS4_RightStick_Click = 79, + k_EControllerActionOrigin_PS4_RightStick_DPadNorth = 80, + k_EControllerActionOrigin_PS4_RightStick_DPadSouth = 81, + k_EControllerActionOrigin_PS4_RightStick_DPadWest = 82, + k_EControllerActionOrigin_PS4_RightStick_DPadEast = 83, + k_EControllerActionOrigin_PS4_DPad_North = 84, + k_EControllerActionOrigin_PS4_DPad_South = 85, + k_EControllerActionOrigin_PS4_DPad_West = 86, + k_EControllerActionOrigin_PS4_DPad_East = 87, + k_EControllerActionOrigin_PS4_Gyro_Move = 88, + k_EControllerActionOrigin_PS4_Gyro_Pitch = 89, + k_EControllerActionOrigin_PS4_Gyro_Yaw = 90, + k_EControllerActionOrigin_PS4_Gyro_Roll = 91, + k_EControllerActionOrigin_XBoxOne_A = 92, + k_EControllerActionOrigin_XBoxOne_B = 93, + k_EControllerActionOrigin_XBoxOne_X = 94, + k_EControllerActionOrigin_XBoxOne_Y = 95, + k_EControllerActionOrigin_XBoxOne_LeftBumper = 96, + k_EControllerActionOrigin_XBoxOne_RightBumper = 97, + k_EControllerActionOrigin_XBoxOne_Menu = 98, + k_EControllerActionOrigin_XBoxOne_View = 99, + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull = 100, + k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click = 101, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull = 102, + k_EControllerActionOrigin_XBoxOne_RightTrigger_Click = 103, + k_EControllerActionOrigin_XBoxOne_LeftStick_Move = 104, + k_EControllerActionOrigin_XBoxOne_LeftStick_Click = 105, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth = 106, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth = 107, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest = 108, + k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast = 109, + k_EControllerActionOrigin_XBoxOne_RightStick_Move = 110, + k_EControllerActionOrigin_XBoxOne_RightStick_Click = 111, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth = 112, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth = 113, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest = 114, + k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast = 115, + k_EControllerActionOrigin_XBoxOne_DPad_North = 116, + k_EControllerActionOrigin_XBoxOne_DPad_South = 117, + k_EControllerActionOrigin_XBoxOne_DPad_West = 118, + k_EControllerActionOrigin_XBoxOne_DPad_East = 119, + k_EControllerActionOrigin_XBox360_A = 120, + k_EControllerActionOrigin_XBox360_B = 121, + k_EControllerActionOrigin_XBox360_X = 122, + k_EControllerActionOrigin_XBox360_Y = 123, + k_EControllerActionOrigin_XBox360_LeftBumper = 124, + k_EControllerActionOrigin_XBox360_RightBumper = 125, + k_EControllerActionOrigin_XBox360_Start = 126, + k_EControllerActionOrigin_XBox360_Back = 127, + k_EControllerActionOrigin_XBox360_LeftTrigger_Pull = 128, + k_EControllerActionOrigin_XBox360_LeftTrigger_Click = 129, + k_EControllerActionOrigin_XBox360_RightTrigger_Pull = 130, + k_EControllerActionOrigin_XBox360_RightTrigger_Click = 131, + k_EControllerActionOrigin_XBox360_LeftStick_Move = 132, + k_EControllerActionOrigin_XBox360_LeftStick_Click = 133, + k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth = 134, + k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth = 135, + k_EControllerActionOrigin_XBox360_LeftStick_DPadWest = 136, + k_EControllerActionOrigin_XBox360_LeftStick_DPadEast = 137, + k_EControllerActionOrigin_XBox360_RightStick_Move = 138, + k_EControllerActionOrigin_XBox360_RightStick_Click = 139, + k_EControllerActionOrigin_XBox360_RightStick_DPadNorth = 140, + k_EControllerActionOrigin_XBox360_RightStick_DPadSouth = 141, + k_EControllerActionOrigin_XBox360_RightStick_DPadWest = 142, + k_EControllerActionOrigin_XBox360_RightStick_DPadEast = 143, + k_EControllerActionOrigin_XBox360_DPad_North = 144, + k_EControllerActionOrigin_XBox360_DPad_South = 145, + k_EControllerActionOrigin_XBox360_DPad_West = 146, + k_EControllerActionOrigin_XBox360_DPad_East = 147, + k_EControllerActionOrigin_SteamV2_A = 148, + k_EControllerActionOrigin_SteamV2_B = 149, + k_EControllerActionOrigin_SteamV2_X = 150, + k_EControllerActionOrigin_SteamV2_Y = 151, + k_EControllerActionOrigin_SteamV2_LeftBumper = 152, + k_EControllerActionOrigin_SteamV2_RightBumper = 153, + k_EControllerActionOrigin_SteamV2_LeftGrip = 154, + k_EControllerActionOrigin_SteamV2_RightGrip = 155, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper = 156, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper = 157, + k_EControllerActionOrigin_SteamV2_LeftBumper_Pressure = 158, + k_EControllerActionOrigin_SteamV2_RightBumper_Pressure = 159, + k_EControllerActionOrigin_SteamV2_LeftGrip_Pressure = 160, + k_EControllerActionOrigin_SteamV2_RightGrip_Pressure = 161, + k_EControllerActionOrigin_SteamV2_LeftGrip_Upper_Pressure = 162, + k_EControllerActionOrigin_SteamV2_RightGrip_Upper_Pressure = 163, + k_EControllerActionOrigin_SteamV2_Start = 164, + k_EControllerActionOrigin_SteamV2_Back = 165, + k_EControllerActionOrigin_SteamV2_LeftPad_Touch = 166, + k_EControllerActionOrigin_SteamV2_LeftPad_Swipe = 167, + k_EControllerActionOrigin_SteamV2_LeftPad_Click = 168, + k_EControllerActionOrigin_SteamV2_LeftPad_Pressure = 169, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadNorth = 170, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadSouth = 171, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadWest = 172, + k_EControllerActionOrigin_SteamV2_LeftPad_DPadEast = 173, + k_EControllerActionOrigin_SteamV2_RightPad_Touch = 174, + k_EControllerActionOrigin_SteamV2_RightPad_Swipe = 175, + k_EControllerActionOrigin_SteamV2_RightPad_Click = 176, + k_EControllerActionOrigin_SteamV2_RightPad_Pressure = 177, + k_EControllerActionOrigin_SteamV2_RightPad_DPadNorth = 178, + k_EControllerActionOrigin_SteamV2_RightPad_DPadSouth = 179, + k_EControllerActionOrigin_SteamV2_RightPad_DPadWest = 180, + k_EControllerActionOrigin_SteamV2_RightPad_DPadEast = 181, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Pull = 182, + k_EControllerActionOrigin_SteamV2_LeftTrigger_Click = 183, + k_EControllerActionOrigin_SteamV2_RightTrigger_Pull = 184, + k_EControllerActionOrigin_SteamV2_RightTrigger_Click = 185, + k_EControllerActionOrigin_SteamV2_LeftStick_Move = 186, + k_EControllerActionOrigin_SteamV2_LeftStick_Click = 187, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadNorth = 188, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadSouth = 189, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadWest = 190, + k_EControllerActionOrigin_SteamV2_LeftStick_DPadEast = 191, + k_EControllerActionOrigin_SteamV2_Gyro_Move = 192, + k_EControllerActionOrigin_SteamV2_Gyro_Pitch = 193, + k_EControllerActionOrigin_SteamV2_Gyro_Yaw = 194, + k_EControllerActionOrigin_SteamV2_Gyro_Roll = 195, + k_EControllerActionOrigin_Count = 196, +} +public enum ESteamControllerLEDFlag +{ + k_ESteamControllerLEDFlag_SetColor = 0, + k_ESteamControllerLEDFlag_RestoreUserDefault = 1, +} +public enum ESteamInputType +{ + k_ESteamInputType_Unknown = 0, + k_ESteamInputType_SteamController = 1, + k_ESteamInputType_XBox360Controller = 2, + k_ESteamInputType_XBoxOneController = 3, + k_ESteamInputType_GenericXInput = 4, + k_ESteamInputType_PS4Controller = 5, +} +public enum EUGCMatchingUGCType +{ + k_EUGCMatchingUGCType_Items = 0, + k_EUGCMatchingUGCType_Items_Mtx = 1, + k_EUGCMatchingUGCType_Items_ReadyToUse = 2, + k_EUGCMatchingUGCType_Collections = 3, + k_EUGCMatchingUGCType_Artwork = 4, + k_EUGCMatchingUGCType_Videos = 5, + k_EUGCMatchingUGCType_Screenshots = 6, + k_EUGCMatchingUGCType_AllGuides = 7, + k_EUGCMatchingUGCType_WebGuides = 8, + k_EUGCMatchingUGCType_IntegratedGuides = 9, + k_EUGCMatchingUGCType_UsableInGame = 10, + k_EUGCMatchingUGCType_ControllerBindings = 11, + k_EUGCMatchingUGCType_GameManagedItems = 12, + k_EUGCMatchingUGCType_All = -1, +} +public enum EUserUGCList +{ + k_EUserUGCList_Published = 0, + k_EUserUGCList_VotedOn = 1, + k_EUserUGCList_VotedUp = 2, + k_EUserUGCList_VotedDown = 3, + k_EUserUGCList_WillVoteLater = 4, + k_EUserUGCList_Favorited = 5, + k_EUserUGCList_Subscribed = 6, + k_EUserUGCList_UsedOrPlayed = 7, + k_EUserUGCList_Followed = 8, +} +public enum EUserUGCListSortOrder +{ + k_EUserUGCListSortOrder_CreationOrderDesc = 0, + k_EUserUGCListSortOrder_CreationOrderAsc = 1, + k_EUserUGCListSortOrder_TitleAsc = 2, + k_EUserUGCListSortOrder_LastUpdatedDesc = 3, + k_EUserUGCListSortOrder_SubscriptionDateDesc = 4, + k_EUserUGCListSortOrder_VoteScoreDesc = 5, + k_EUserUGCListSortOrder_ForModeration = 6, +} +public enum EUGCQuery +{ + k_EUGCQuery_RankedByVote = 0, + k_EUGCQuery_RankedByPublicationDate = 1, + k_EUGCQuery_AcceptedForGameRankedByAcceptanceDate = 2, + k_EUGCQuery_RankedByTrend = 3, + k_EUGCQuery_FavoritedByFriendsRankedByPublicationDate = 4, + k_EUGCQuery_CreatedByFriendsRankedByPublicationDate = 5, + k_EUGCQuery_RankedByNumTimesReported = 6, + k_EUGCQuery_CreatedByFollowedUsersRankedByPublicationDate = 7, + k_EUGCQuery_NotYetRated = 8, + k_EUGCQuery_RankedByTotalVotesAsc = 9, + k_EUGCQuery_RankedByVotesUp = 10, + k_EUGCQuery_RankedByTextSearch = 11, + k_EUGCQuery_RankedByTotalUniqueSubscriptions = 12, + k_EUGCQuery_RankedByPlaytimeTrend = 13, + k_EUGCQuery_RankedByTotalPlaytime = 14, + k_EUGCQuery_RankedByAveragePlaytimeTrend = 15, + k_EUGCQuery_RankedByLifetimeAveragePlaytime = 16, + k_EUGCQuery_RankedByPlaytimeSessionsTrend = 17, + k_EUGCQuery_RankedByLifetimePlaytimeSessions = 18, +} +public enum EItemUpdateStatus +{ + k_EItemUpdateStatusInvalid = 0, + k_EItemUpdateStatusPreparingConfig = 1, + k_EItemUpdateStatusPreparingContent = 2, + k_EItemUpdateStatusUploadingContent = 3, + k_EItemUpdateStatusUploadingPreviewFile = 4, + k_EItemUpdateStatusCommittingChanges = 5, +} +public enum EItemState +{ + k_EItemStateNone = 0, + k_EItemStateSubscribed = 1, + k_EItemStateLegacyItem = 2, + k_EItemStateInstalled = 4, + k_EItemStateNeedsUpdate = 8, + k_EItemStateDownloading = 16, + k_EItemStateDownloadPending = 32, +} +public enum EItemStatistic +{ + k_EItemStatistic_NumSubscriptions = 0, + k_EItemStatistic_NumFavorites = 1, + k_EItemStatistic_NumFollowers = 2, + k_EItemStatistic_NumUniqueSubscriptions = 3, + k_EItemStatistic_NumUniqueFavorites = 4, + k_EItemStatistic_NumUniqueFollowers = 5, + k_EItemStatistic_NumUniqueWebsiteViews = 6, + k_EItemStatistic_ReportScore = 7, + k_EItemStatistic_NumSecondsPlayed = 8, + k_EItemStatistic_NumPlaytimeSessions = 9, + k_EItemStatistic_NumComments = 10, + k_EItemStatistic_NumSecondsPlayedDuringTimePeriod = 11, + k_EItemStatistic_NumPlaytimeSessionsDuringTimePeriod = 12, +} +public enum EItemPreviewType +{ + k_EItemPreviewType_Image = 0, + k_EItemPreviewType_YouTubeVideo = 1, + k_EItemPreviewType_Sketchfab = 2, + k_EItemPreviewType_EnvironmentMap_HorizontalCross = 3, + k_EItemPreviewType_EnvironmentMap_LatLong = 4, + k_EItemPreviewType_ReservedMax = 255, +} +public enum EHTMLMouseButton +{ + eHTMLMouseButton_Left = 0, + eHTMLMouseButton_Right = 1, + eHTMLMouseButton_Middle = 2, +} +public enum EMouseCursor +{ + dc_user = 0, + dc_none = 1, + dc_arrow = 2, + dc_ibeam = 3, + dc_hourglass = 4, + dc_waitarrow = 5, + dc_crosshair = 6, + dc_up = 7, + dc_sizenw = 8, + dc_sizese = 9, + dc_sizene = 10, + dc_sizesw = 11, + dc_sizew = 12, + dc_sizee = 13, + dc_sizen = 14, + dc_sizes = 15, + dc_sizewe = 16, + dc_sizens = 17, + dc_sizeall = 18, + dc_no = 19, + dc_hand = 20, + dc_blank = 21, + dc_middle_pan = 22, + dc_north_pan = 23, + dc_north_east_pan = 24, + dc_east_pan = 25, + dc_south_east_pan = 26, + dc_south_pan = 27, + dc_south_west_pan = 28, + dc_west_pan = 29, + dc_north_west_pan = 30, + dc_alias = 31, + dc_cell = 32, + dc_colresize = 33, + dc_copycur = 34, + dc_verticaltext = 35, + dc_rowresize = 36, + dc_zoomin = 37, + dc_zoomout = 38, + dc_help = 39, + dc_custom = 40, + dc_last = 41, +} +public enum EHTMLKeyModifiers +{ + k_eHTMLKeyModifier_None = 0, + k_eHTMLKeyModifier_AltDown = 1, + k_eHTMLKeyModifier_CtrlDown = 2, + k_eHTMLKeyModifier_ShiftDown = 4, +} +public enum ESteamItemFlags +{ + k_ESteamItemNoTrade = 1, + k_ESteamItemRemoved = 256, + k_ESteamItemConsumed = 512, +} +public enum EParentalFeature +{ + k_EFeatureInvalid = 0, + k_EFeatureStore = 1, + k_EFeatureCommunity = 2, + k_EFeatureProfile = 3, + k_EFeatureFriends = 4, + k_EFeatureNews = 5, + k_EFeatureTrading = 6, + k_EFeatureSettings = 7, + k_EFeatureConsole = 8, + k_EFeatureBrowser = 9, + k_EFeatureParentalSetup = 10, + k_EFeatureLibrary = 11, + k_EFeatureTest = 12, + k_EFeatureMax = 13, +} +[StructLayout(LayoutKind.Sequential)] public struct CSteamID +{ + public SteamID_t m_steamid; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamID_t +{ + public SteamIDComponent_t m_comp; + public ulong m_unAll64Bits; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamIDComponent_t +{ + public uint m_unAccountID; + public uint m_unAccountInstance; + public uint m_EAccountType; + public EUniverse m_EUniverse; +} +[StructLayout(LayoutKind.Sequential)] public struct GameID_t +{ + public uint m_nAppID; + public uint m_nType; + public uint m_nModID; +} +[StructLayout(LayoutKind.Sequential)] public struct ValvePackingSentinel_t +{ + public uint m_u32; + public ulong m_u64; + public char m_u16; + public double m_d; +} +[StructLayout(LayoutKind.Sequential)] public struct CallbackMsg_t +{ + public uint m_hSteamUser; + public int m_iCallback; + public IntPtr m_pubParam; // uint8 * + public int m_cubParam; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamServerConnectFailure_t +{ + public EResult m_eResult; + [MarshalAs(UnmanagedType.I1)] + public bool m_bStillRetrying; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamServersDisconnected_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct ClientGameServerDeny_t +{ + public uint m_uAppID; + public uint m_unGameServerIP; + public char m_usGameServerPort; + public char m_bSecure; + public uint m_uReason; +} +[StructLayout(LayoutKind.Sequential)] public struct ValidateAuthTicketResponse_t +{ + public ulong m_SteamID; + public EAuthSessionResponse m_eAuthSessionResponse; + public ulong m_OwnerSteamID; +} +[StructLayout(LayoutKind.Sequential)] public struct MicroTxnAuthorizationResponse_t +{ + public uint m_unAppID; + public ulong m_ulOrderID; + public byte m_bAuthorized; +} +[StructLayout(LayoutKind.Sequential)] public struct EncryptedAppTicketResponse_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct GetAuthSessionTicketResponse_t +{ + public uint m_hAuthTicket; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct GameWebCallback_t +{ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_szURL; //char[256] +} +[StructLayout(LayoutKind.Sequential)] public struct StoreAuthURLResponse_t +{ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)] + public string m_szURL; //char[512] +} +[StructLayout(LayoutKind.Sequential)] public struct FriendGameInfo_t +{ + public ulong m_gameID; + public uint m_unGameIP; + public char m_usGamePort; + public char m_usQueryPort; + public ulong m_steamIDLobby; +} +[StructLayout(LayoutKind.Sequential)] public struct FriendSessionStateInfo_t +{ + public uint m_uiOnlineSessionInstances; + public byte m_uiPublishedToFriendsSessionInstance; +} +[StructLayout(LayoutKind.Sequential)] public struct PersonaStateChange_t +{ + public ulong m_ulSteamID; + public int m_nChangeFlags; +} +[StructLayout(LayoutKind.Sequential)] public struct GameOverlayActivated_t +{ + public byte m_bActive; +} +[StructLayout(LayoutKind.Sequential)] public struct GameServerChangeRequested_t +{ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + public string m_rgchServer; //char[64] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + public string m_rgchPassword; //char[64] +} +[StructLayout(LayoutKind.Sequential)] public struct GameLobbyJoinRequested_t +{ + public ulong m_steamIDLobby; + public ulong m_steamIDFriend; +} +[StructLayout(LayoutKind.Sequential)] public struct AvatarImageLoaded_t +{ + public ulong m_steamID; + public int m_iImage; + public int m_iWide; + public int m_iTall; +} +[StructLayout(LayoutKind.Sequential)] public struct ClanOfficerListResponse_t +{ + public ulong m_steamIDClan; + public int m_cOfficers; + public byte m_bSuccess; +} +[StructLayout(LayoutKind.Sequential)] public struct FriendRichPresenceUpdate_t +{ + public ulong m_steamIDFriend; + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct GameRichPresenceJoinRequested_t +{ + public ulong m_steamIDFriend; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_rgchConnect; //char[256] +} +[StructLayout(LayoutKind.Sequential)] public struct GameConnectedClanChatMsg_t +{ + public ulong m_steamIDClanChat; + public ulong m_steamIDUser; + public int m_iMessageID; +} +[StructLayout(LayoutKind.Sequential)] public struct GameConnectedChatJoin_t +{ + public ulong m_steamIDClanChat; + public ulong m_steamIDUser; +} +[StructLayout(LayoutKind.Sequential)] public struct GameConnectedChatLeave_t +{ + public ulong m_steamIDClanChat; + public ulong m_steamIDUser; + [MarshalAs(UnmanagedType.I1)] + public bool m_bKicked; + [MarshalAs(UnmanagedType.I1)] + public bool m_bDropped; +} +[StructLayout(LayoutKind.Sequential)] public struct DownloadClanActivityCountsResult_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool m_bSuccess; +} +[StructLayout(LayoutKind.Sequential)] public struct JoinClanChatRoomCompletionResult_t +{ + public ulong m_steamIDClanChat; + public EChatRoomEnterResponse m_eChatRoomEnterResponse; +} +[StructLayout(LayoutKind.Sequential)] public struct GameConnectedFriendChatMsg_t +{ + public ulong m_steamIDUser; + public int m_iMessageID; +} +[StructLayout(LayoutKind.Sequential)] public struct FriendsGetFollowerCount_t +{ + public EResult m_eResult; + public ulong m_steamID; + public int m_nCount; +} +[StructLayout(LayoutKind.Sequential)] public struct FriendsIsFollowing_t +{ + public EResult m_eResult; + public ulong m_steamID; + [MarshalAs(UnmanagedType.I1)] + public bool m_bIsFollowing; +} +[StructLayout(LayoutKind.Sequential)] public struct FriendsEnumerateFollowingList_t +{ + public EResult m_eResult; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U8)] + public CSteamID[] m_rgSteamID; //CSteamID[50] + public int m_nResultsReturned; + public int m_nTotalResultCount; +} +[StructLayout(LayoutKind.Sequential)] public struct SetPersonaNameResponse_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool m_bSuccess; + [MarshalAs(UnmanagedType.I1)] + public bool m_bLocalSuccess; + public EResult m_result; +} +[StructLayout(LayoutKind.Sequential)] public struct LowBatteryPower_t +{ + public byte m_nMinutesBatteryLeft; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamAPICallCompleted_t +{ + public ulong m_hAsyncCall; + public int m_iCallback; + public uint m_cubParam; +} +[StructLayout(LayoutKind.Sequential)] public struct CheckFileSignature_t +{ + public ECheckFileSignature m_eCheckFileSignature; +} +[StructLayout(LayoutKind.Sequential)] public struct GamepadTextInputDismissed_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool m_bSubmitted; + public uint m_unSubmittedText; +} +[StructLayout(LayoutKind.Sequential)] public struct MatchMakingKeyValuePair_t +{ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_szKey; //char[256] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_szValue; //char[256] +} +[StructLayout(LayoutKind.Sequential)] public struct servernetadr_t +{ + public char m_usConnectionPort; + public char m_usQueryPort; + public uint m_unIP; +} +[StructLayout(LayoutKind.Sequential)] public struct gameserveritem_t +{ + public servernetadr_t m_NetAdr; + public int m_nPing; + [MarshalAs(UnmanagedType.I1)] + public bool m_bHadSuccessfulResponse; + [MarshalAs(UnmanagedType.I1)] + public bool m_bDoNotRefresh; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + public string m_szGameDir; //char[32] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)] + public string m_szMap; //char[32] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + public string m_szGameDescription; //char[64] + public uint m_nAppID; + public int m_nPlayers; + public int m_nMaxPlayers; + public int m_nBotPlayers; + [MarshalAs(UnmanagedType.I1)] + public bool m_bPassword; + [MarshalAs(UnmanagedType.I1)] + public bool m_bSecure; + public uint m_ulTimeLastPlayed; + public int m_nServerVersion; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 64)] + public string m_szServerName; //char[64] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string m_szGameTags; //char[128] + public ulong m_steamID; +} +[StructLayout(LayoutKind.Sequential)] public struct FavoritesListChanged_t +{ + public uint m_nIP; + public uint m_nQueryPort; + public uint m_nConnPort; + public uint m_nAppID; + public uint m_nFlags; + [MarshalAs(UnmanagedType.I1)] + public bool m_bAdd; + public uint m_unAccountId; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyInvite_t +{ + public ulong m_ulSteamIDUser; + public ulong m_ulSteamIDLobby; + public ulong m_ulGameID; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyEnter_t +{ + public ulong m_ulSteamIDLobby; + public uint m_rgfChatPermissions; + [MarshalAs(UnmanagedType.I1)] + public bool m_bLocked; + public uint m_EChatRoomEnterResponse; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyDataUpdate_t +{ + public ulong m_ulSteamIDLobby; + public ulong m_ulSteamIDMember; + public byte m_bSuccess; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyChatUpdate_t +{ + public ulong m_ulSteamIDLobby; + public ulong m_ulSteamIDUserChanged; + public ulong m_ulSteamIDMakingChange; + public uint m_rgfChatMemberStateChange; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyChatMsg_t +{ + public ulong m_ulSteamIDLobby; + public ulong m_ulSteamIDUser; + public byte m_eChatEntryType; + public uint m_iChatID; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyGameCreated_t +{ + public ulong m_ulSteamIDLobby; + public ulong m_ulSteamIDGameServer; + public uint m_unIP; + public char m_usPort; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyMatchList_t +{ + public uint m_nLobbiesMatching; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyKicked_t +{ + public ulong m_ulSteamIDLobby; + public ulong m_ulSteamIDAdmin; + public byte m_bKickedDueToDisconnect; +} +[StructLayout(LayoutKind.Sequential)] public struct LobbyCreated_t +{ + public EResult m_eResult; + public ulong m_ulSteamIDLobby; +} +[StructLayout(LayoutKind.Sequential)] public struct PSNGameBootInviteResult_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool m_bGameBootInviteExists; + public ulong m_steamIDLobby; +} +[StructLayout(LayoutKind.Sequential)] public struct FavoritesListAccountsUpdated_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamParamStringArray_t +{ + public IntPtr m_ppStrings; // const char ** + public int m_nNumStrings; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageAppSyncedClient_t +{ + public uint m_nAppID; + public EResult m_eResult; + public int m_unNumDownloads; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageAppSyncedServer_t +{ + public uint m_nAppID; + public EResult m_eResult; + public int m_unNumUploads; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageAppSyncProgress_t +{ + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string m_rgchCurrentFile; //char[260] + public uint m_nAppID; + public uint m_uBytesTransferredThisChunk; + public double m_dAppPercentComplete; + [MarshalAs(UnmanagedType.I1)] + public bool m_bUploading; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageAppSyncStatusCheck_t +{ + public uint m_nAppID; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageFileShareResult_t +{ + public EResult m_eResult; + public ulong m_hFile; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string m_rgchFilename; //char[260] +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStoragePublishFileResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + [MarshalAs(UnmanagedType.I1)] + public bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageDeletePublishedFileResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageEnumerateUserPublishedFilesResult_t +{ + public EResult m_eResult; + public int m_nResultsReturned; + public int m_nTotalResultCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U8)] + public ulong[] m_rgPublishedFileId; //ulong[50] +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageSubscribePublishedFileResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageEnumerateUserSubscribedFilesResult_t +{ + public EResult m_eResult; + public int m_nResultsReturned; + public int m_nTotalResultCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U8)] + public ulong[] m_rgPublishedFileId; //ulong[50] + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U4)] + public uint[] m_rgRTimeSubscribed; //uint[50] +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageUnsubscribePublishedFileResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageUpdatePublishedFileResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + [MarshalAs(UnmanagedType.I1)] + public bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageDownloadUGCResult_t +{ + public EResult m_eResult; + public ulong m_hFile; + public uint m_nAppID; + public int m_nSizeInBytes; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string m_pchFileName; //char[260] + public ulong m_ulSteamIDOwner; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageGetPublishedFileDetailsResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public uint m_nCreatorAppID; + public uint m_nConsumerAppID; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 129)] + public string m_rgchTitle; //char[129] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8000)] + public string m_rgchDescription; //char[8000] + public ulong m_hFile; + public ulong m_hPreviewFile; + public ulong m_ulSteamIDOwner; + public uint m_rtimeCreated; + public uint m_rtimeUpdated; + public ERemoteStoragePublishedFileVisibility m_eVisibility; + [MarshalAs(UnmanagedType.I1)] + public bool m_bBanned; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1025)] + public string m_rgchTags; //char[1025] + [MarshalAs(UnmanagedType.I1)] + public bool m_bTagsTruncated; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string m_pchFileName; //char[260] + public int m_nFileSize; + public int m_nPreviewFileSize; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_rgchURL; //char[256] + public EWorkshopFileType m_eFileType; + [MarshalAs(UnmanagedType.I1)] + public bool m_bAcceptedForUse; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageEnumerateWorkshopFilesResult_t +{ + public EResult m_eResult; + public int m_nResultsReturned; + public int m_nTotalResultCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U8)] + public ulong[] m_rgPublishedFileId; //ulong[50] + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.R4)] + public float[] m_rgScore; //float[50] + public uint m_nAppId; + public uint m_unStartIndex; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageGetPublishedItemVoteDetailsResult_t +{ + public EResult m_eResult; + public ulong m_unPublishedFileId; + public int m_nVotesFor; + public int m_nVotesAgainst; + public int m_nReports; + public float m_fScore; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStoragePublishedFileSubscribed_t +{ + public ulong m_nPublishedFileId; + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStoragePublishedFileUnsubscribed_t +{ + public ulong m_nPublishedFileId; + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStoragePublishedFileDeleted_t +{ + public ulong m_nPublishedFileId; + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageUpdateUserPublishedItemVoteResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageUserVoteDetails_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public EWorkshopVote m_eVote; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageEnumerateUserSharedWorkshopFilesResult_t +{ + public EResult m_eResult; + public int m_nResultsReturned; + public int m_nTotalResultCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U8)] + public ulong[] m_rgPublishedFileId; //ulong[50] +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageSetUserPublishedFileActionResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public EWorkshopFileAction m_eAction; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageEnumeratePublishedFilesByUserActionResult_t +{ + public EResult m_eResult; + public EWorkshopFileAction m_eAction; + public int m_nResultsReturned; + public int m_nTotalResultCount; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U8)] + public ulong[] m_rgPublishedFileId; //ulong[50] + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 50, ArraySubType = UnmanagedType.U4)] + public uint[] m_rgRTimeUpdated; //uint[50] +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStoragePublishFileProgress_t +{ + public double m_dPercentFile; + [MarshalAs(UnmanagedType.I1)] + public bool m_bPreview; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStoragePublishedFileUpdated_t +{ + public ulong m_nPublishedFileId; + public uint m_nAppID; + public ulong m_ulUnused; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageFileWriteAsyncComplete_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoteStorageFileReadAsyncComplete_t +{ + public ulong m_hFileReadAsync; + public EResult m_eResult; + public uint m_nOffset; + public uint m_cubRead; +} +[StructLayout(LayoutKind.Sequential)] public struct LeaderboardEntry_t +{ + public ulong m_steamIDUser; + public int m_nGlobalRank; + public int m_nScore; + public int m_cDetails; + public ulong m_hUGC; +} +[StructLayout(LayoutKind.Sequential)] public struct UserStatsReceived_t +{ + public ulong m_nGameID; + public EResult m_eResult; + public ulong m_steamIDUser; +} +[StructLayout(LayoutKind.Sequential)] public struct UserStatsStored_t +{ + public ulong m_nGameID; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct UserAchievementStored_t +{ + public ulong m_nGameID; + [MarshalAs(UnmanagedType.I1)] + public bool m_bGroupAchievement; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string m_rgchAchievementName; //char[128] + public uint m_nCurProgress; + public uint m_nMaxProgress; +} +[StructLayout(LayoutKind.Sequential)] public struct LeaderboardFindResult_t +{ + public ulong m_hSteamLeaderboard; + public byte m_bLeaderboardFound; +} +[StructLayout(LayoutKind.Sequential)] public struct LeaderboardScoresDownloaded_t +{ + public ulong m_hSteamLeaderboard; + public ulong m_hSteamLeaderboardEntries; + public int m_cEntryCount; +} +[StructLayout(LayoutKind.Sequential)] public struct LeaderboardScoreUploaded_t +{ + public byte m_bSuccess; + public ulong m_hSteamLeaderboard; + public int m_nScore; + public byte m_bScoreChanged; + public int m_nGlobalRankNew; + public int m_nGlobalRankPrevious; +} +[StructLayout(LayoutKind.Sequential)] public struct NumberOfCurrentPlayers_t +{ + public byte m_bSuccess; + public int m_cPlayers; +} +[StructLayout(LayoutKind.Sequential)] public struct UserStatsUnloaded_t +{ + public ulong m_steamIDUser; +} +[StructLayout(LayoutKind.Sequential)] public struct UserAchievementIconFetched_t +{ + public ulong m_nGameID; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string m_rgchAchievementName; //char[128] + [MarshalAs(UnmanagedType.I1)] + public bool m_bAchieved; + public int m_nIconHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct GlobalAchievementPercentagesReady_t +{ + public ulong m_nGameID; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct LeaderboardUGCSet_t +{ + public EResult m_eResult; + public ulong m_hSteamLeaderboard; +} +[StructLayout(LayoutKind.Sequential)] public struct PS3TrophiesInstalled_t +{ + public ulong m_nGameID; + public EResult m_eResult; + public ulong m_ulRequiredDiskSpace; +} +[StructLayout(LayoutKind.Sequential)] public struct GlobalStatsReceived_t +{ + public ulong m_nGameID; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct DlcInstalled_t +{ + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct RegisterActivationCodeResponse_t +{ + public ERegisterActivationCodeResult m_eResult; + public uint m_unPackageRegistered; +} +[StructLayout(LayoutKind.Sequential)] public struct AppProofOfPurchaseKeyResponse_t +{ + public EResult m_eResult; + public uint m_nAppID; + public uint m_cchKeyLength; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 240)] + public string m_rgchKey; //char[240] +} +[StructLayout(LayoutKind.Sequential)] public struct FileDetailsResult_t +{ + public EResult m_eResult; + public ulong m_ulFileSize; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 20, ArraySubType = UnmanagedType.U1)] + public byte[] m_FileSHA; //byte[20] + public uint m_unFlags; +} +[StructLayout(LayoutKind.Sequential)] public struct P2PSessionState_t +{ + public byte m_bConnectionActive; + public byte m_bConnecting; + public byte m_eP2PSessionError; + public byte m_bUsingRelay; + public int m_nBytesQueuedForSend; + public int m_nPacketsQueuedForSend; + public uint m_nRemoteIP; + public char m_nRemotePort; +} +[StructLayout(LayoutKind.Sequential)] public struct P2PSessionRequest_t +{ + public ulong m_steamIDRemote; +} +[StructLayout(LayoutKind.Sequential)] public struct P2PSessionConnectFail_t +{ + public ulong m_steamIDRemote; + public byte m_eP2PSessionError; +} +[StructLayout(LayoutKind.Sequential)] public struct SocketStatusCallback_t +{ + public uint m_hSocket; + public uint m_hListenSocket; + public ulong m_steamIDRemote; + public int m_eSNetSocketState; +} +[StructLayout(LayoutKind.Sequential)] public struct ScreenshotReady_t +{ + public uint m_hLocal; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public float m_flNewVolume; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool m_bShuffled; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool m_bLooped; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public float m_flNewVolume; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public int nID; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public int nID; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public int m_nPlayingRepeatStatus; +} +[StructLayout(LayoutKind.Sequential)] public struct HTTPRequestCompleted_t +{ + public uint m_hRequest; + public ulong m_ulContextValue; + [MarshalAs(UnmanagedType.I1)] + public bool m_bRequestSuccessful; + public EHTTPStatusCode m_eStatusCode; + public uint m_unBodySize; +} +[StructLayout(LayoutKind.Sequential)] public struct HTTPRequestHeadersReceived_t +{ + public uint m_hRequest; + public ulong m_ulContextValue; +} +[StructLayout(LayoutKind.Sequential)] public struct HTTPRequestDataReceived_t +{ + public uint m_hRequest; + public ulong m_ulContextValue; + public uint m_cOffset; + public uint m_cBytesReceived; +} +[StructLayout(LayoutKind.Sequential)] public struct ControllerAnalogActionData_t +{ + public EControllerSourceMode eMode; + public float x; + public float y; + [MarshalAs(UnmanagedType.I1)] + public bool bActive; +} +[StructLayout(LayoutKind.Sequential)] public struct ControllerDigitalActionData_t +{ + [MarshalAs(UnmanagedType.I1)] + public bool bState; + [MarshalAs(UnmanagedType.I1)] + public bool bActive; +} +[StructLayout(LayoutKind.Sequential)] public struct ControllerMotionData_t +{ + public float rotQuatX; + public float rotQuatY; + public float rotQuatZ; + public float rotQuatW; + public float posAccelX; + public float posAccelY; + public float posAccelZ; + public float rotVelX; + public float rotVelY; + public float rotVelZ; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamUGCDetails_t +{ + public ulong m_nPublishedFileId; + public EResult m_eResult; + public EWorkshopFileType m_eFileType; + public uint m_nCreatorAppID; + public uint m_nConsumerAppID; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 129)] + public string m_rgchTitle; //char[129] + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 8000)] + public string m_rgchDescription; //char[8000] + public ulong m_ulSteamIDOwner; + public uint m_rtimeCreated; + public uint m_rtimeUpdated; + public uint m_rtimeAddedToUserList; + public ERemoteStoragePublishedFileVisibility m_eVisibility; + [MarshalAs(UnmanagedType.I1)] + public bool m_bBanned; + [MarshalAs(UnmanagedType.I1)] + public bool m_bAcceptedForUse; + [MarshalAs(UnmanagedType.I1)] + public bool m_bTagsTruncated; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 1025)] + public string m_rgchTags; //char[1025] + public ulong m_hFile; + public ulong m_hPreviewFile; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string m_pchFileName; //char[260] + public int m_nFileSize; + public int m_nPreviewFileSize; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_rgchURL; //char[256] + public uint m_unVotesUp; + public uint m_unVotesDown; + public float m_flScore; + public uint m_unNumChildren; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamUGCQueryCompleted_t +{ + public ulong m_handle; + public EResult m_eResult; + public uint m_unNumResultsReturned; + public uint m_unTotalMatchingResults; + [MarshalAs(UnmanagedType.I1)] + public bool m_bCachedData; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamUGCRequestUGCDetailsResult_t +{ + public SteamUGCDetails_t m_details; + [MarshalAs(UnmanagedType.I1)] + public bool m_bCachedData; +} +[StructLayout(LayoutKind.Sequential)] public struct CreateItemResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + [MarshalAs(UnmanagedType.I1)] + public bool m_bUserNeedsToAcceptWorkshopLegalAgreement; +} +[StructLayout(LayoutKind.Sequential)] public struct SubmitItemUpdateResult_t +{ + public EResult m_eResult; + [MarshalAs(UnmanagedType.I1)] + public bool m_bUserNeedsToAcceptWorkshopLegalAgreement; + public ulong m_nPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct DownloadItemResult_t +{ + public uint m_unAppID; + public ulong m_nPublishedFileId; + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct UserFavoriteItemsListChanged_t +{ + public ulong m_nPublishedFileId; + public EResult m_eResult; + [MarshalAs(UnmanagedType.I1)] + public bool m_bWasAddRequest; +} +[StructLayout(LayoutKind.Sequential)] public struct SetUserItemVoteResult_t +{ + public ulong m_nPublishedFileId; + public EResult m_eResult; + [MarshalAs(UnmanagedType.I1)] + public bool m_bVoteUp; +} +[StructLayout(LayoutKind.Sequential)] public struct GetUserItemVoteResult_t +{ + public ulong m_nPublishedFileId; + public EResult m_eResult; + [MarshalAs(UnmanagedType.I1)] + public bool m_bVotedUp; + [MarshalAs(UnmanagedType.I1)] + public bool m_bVotedDown; + [MarshalAs(UnmanagedType.I1)] + public bool m_bVoteSkipped; +} +[StructLayout(LayoutKind.Sequential)] public struct StartPlaytimeTrackingResult_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct StopPlaytimeTrackingResult_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct AddUGCDependencyResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public ulong m_nChildPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoveUGCDependencyResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public ulong m_nChildPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct AddAppDependencyResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct RemoveAppDependencyResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct GetAppDependenciesResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32, ArraySubType = UnmanagedType.U4)] + public uint[] m_rgAppIDs; //uint[32] + public uint m_nNumAppDependencies; + public uint m_nTotalNumAppDependencies; +} +[StructLayout(LayoutKind.Sequential)] public struct DeleteItemResult_t +{ + public EResult m_eResult; + public ulong m_nPublishedFileId; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public uint m_nAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_BrowserReady_t +{ + public uint unBrowserHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_NeedsPaint_t +{ + public uint unBrowserHandle; + public IntPtr pBGRA; // const char * + public uint unWide; + public uint unTall; + public uint unUpdateX; + public uint unUpdateY; + public uint unUpdateWide; + public uint unUpdateTall; + public uint unScrollX; + public uint unScrollY; + public float flPageScale; + public uint unPageSerial; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_StartRequest_t +{ + public uint unBrowserHandle; + public IntPtr pchURL; // const char * + public IntPtr pchTarget; // const char * + public IntPtr pchPostData; // const char * + [MarshalAs(UnmanagedType.I1)] + public bool bIsRedirect; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_CloseBrowser_t +{ + public uint unBrowserHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_URLChanged_t +{ + public uint unBrowserHandle; + public IntPtr pchURL; // const char * + public IntPtr pchPostData; // const char * + [MarshalAs(UnmanagedType.I1)] + public bool bIsRedirect; + public IntPtr pchPageTitle; // const char * + [MarshalAs(UnmanagedType.I1)] + public bool bNewNavigation; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_FinishedRequest_t +{ + public uint unBrowserHandle; + public IntPtr pchURL; // const char * + public IntPtr pchPageTitle; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_OpenLinkInNewTab_t +{ + public uint unBrowserHandle; + public IntPtr pchURL; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_ChangedTitle_t +{ + public uint unBrowserHandle; + public IntPtr pchTitle; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_SearchResults_t +{ + public uint unBrowserHandle; + public uint unResults; + public uint unCurrentMatch; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_CanGoBackAndForward_t +{ + public uint unBrowserHandle; + [MarshalAs(UnmanagedType.I1)] + public bool bCanGoBack; + [MarshalAs(UnmanagedType.I1)] + public bool bCanGoForward; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_HorizontalScroll_t +{ + public uint unBrowserHandle; + public uint unScrollMax; + public uint unScrollCurrent; + public float flPageScale; + [MarshalAs(UnmanagedType.I1)] + public bool bVisible; + public uint unPageSize; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_VerticalScroll_t +{ + public uint unBrowserHandle; + public uint unScrollMax; + public uint unScrollCurrent; + public float flPageScale; + [MarshalAs(UnmanagedType.I1)] + public bool bVisible; + public uint unPageSize; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_LinkAtPosition_t +{ + public uint unBrowserHandle; + public uint x; + public uint y; + public IntPtr pchURL; // const char * + [MarshalAs(UnmanagedType.I1)] + public bool bInput; + [MarshalAs(UnmanagedType.I1)] + public bool bLiveLink; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_JSAlert_t +{ + public uint unBrowserHandle; + public IntPtr pchMessage; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_JSConfirm_t +{ + public uint unBrowserHandle; + public IntPtr pchMessage; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_FileOpenDialog_t +{ + public uint unBrowserHandle; + public IntPtr pchTitle; // const char * + public IntPtr pchInitialFile; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_NewWindow_t +{ + public uint unBrowserHandle; + public IntPtr pchURL; // const char * + public uint unX; + public uint unY; + public uint unWide; + public uint unTall; + public uint unNewWindow_BrowserHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_SetCursor_t +{ + public uint unBrowserHandle; + public uint eMouseCursor; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_StatusText_t +{ + public uint unBrowserHandle; + public IntPtr pchMsg; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_ShowToolTip_t +{ + public uint unBrowserHandle; + public IntPtr pchMsg; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_UpdateToolTip_t +{ + public uint unBrowserHandle; + public IntPtr pchMsg; // const char * +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_HideToolTip_t +{ + public uint unBrowserHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct HTML_BrowserRestarted_t +{ + public uint unBrowserHandle; + public uint unOldBrowserHandle; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamItemDetails_t +{ + public ulong m_itemId; + public int m_iDefinition; + public char m_unQuantity; + public char m_unFlags; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamInventoryResultReady_t +{ + public int m_handle; + public EResult m_result; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamInventoryFullUpdate_t +{ + public int m_handle; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamInventoryEligiblePromoItemDefIDs_t +{ + public EResult m_result; + public ulong m_steamID; + public int m_numEligiblePromoItemDefs; + [MarshalAs(UnmanagedType.I1)] + public bool m_bCachedData; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamInventoryStartPurchaseResult_t +{ + public EResult m_result; + public ulong m_ulOrderID; + public ulong m_ulTransID; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamInventoryRequestPricesResult_t +{ + public EResult m_result; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 4)] + public string m_rgchCurrency; //char[4] +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public EBroadcastUploadResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public EResult m_eResult; + public uint m_unVideoAppID; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string m_rgchURL; //char[256] +} +[StructLayout(LayoutKind.Sequential)] public struct SteamCallback_t +{ + public EResult m_eResult; + public uint m_unVideoAppID; +} +[StructLayout(LayoutKind.Sequential)] public struct CSteamAPIContext +{ + public IntPtr m_pSteamClient; // class ISteamClient * + public IntPtr m_pSteamUser; // class ISteamUser * + public IntPtr m_pSteamFriends; // class ISteamFriends * + public IntPtr m_pSteamUtils; // class ISteamUtils * + public IntPtr m_pSteamMatchmaking; // class ISteamMatchmaking * + public IntPtr m_pSteamUserStats; // class ISteamUserStats * + public IntPtr m_pSteamApps; // class ISteamApps * + public IntPtr m_pSteamMatchmakingServers; // class ISteamMatchmakingServers * + public IntPtr m_pSteamNetworking; // class ISteamNetworking * + public IntPtr m_pSteamRemoteStorage; // class ISteamRemoteStorage * + public IntPtr m_pSteamScreenshots; // class ISteamScreenshots * + public IntPtr m_pSteamHTTP; // class ISteamHTTP * + public IntPtr m_pController; // class ISteamController * + public IntPtr m_pSteamUGC; // class ISteamUGC * + public IntPtr m_pSteamAppList; // class ISteamAppList * + public IntPtr m_pSteamMusic; // class ISteamMusic * + public IntPtr m_pSteamMusicRemote; // class ISteamMusicRemote * + public IntPtr m_pSteamHTMLSurface; // class ISteamHTMLSurface * + public IntPtr m_pSteamInventory; // class ISteamInventory * + public IntPtr m_pSteamVideo; // class ISteamVideo * + public IntPtr m_pSteamParentalSettings; // class ISteamParentalSettings * +} +[StructLayout(LayoutKind.Sequential)] public struct CCallbackBase +{ + public byte m_nCallbackFlags; + public int m_iCallback; +} +[StructLayout(LayoutKind.Sequential)] public struct CCallResult +{ + public ulong m_hAPICall; + public IntPtr m_pObj; // T * + public IntPtr m_Func; +} +[StructLayout(LayoutKind.Sequential)] public struct CCallback +{ + public IntPtr m_pObj; // T * + public IntPtr m_Func; +} +[StructLayout(LayoutKind.Sequential)] public struct GSClientApprove_t +{ + public ulong m_SteamID; + public ulong m_OwnerSteamID; +} +[StructLayout(LayoutKind.Sequential)] public struct GSClientDeny_t +{ + public ulong m_SteamID; + public EDenyReason m_eDenyReason; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string m_rgchOptionalText; //char[128] +} +[StructLayout(LayoutKind.Sequential)] public struct GSClientKick_t +{ + public ulong m_SteamID; + public EDenyReason m_eDenyReason; +} +[StructLayout(LayoutKind.Sequential)] public struct GSClientAchievementStatus_t +{ + public ulong m_SteamID; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 128)] + public string m_pchAchievement; //char[128] + [MarshalAs(UnmanagedType.I1)] + public bool m_bUnlocked; +} +[StructLayout(LayoutKind.Sequential)] public struct GSPolicyResponse_t +{ + public byte m_bSecure; +} +[StructLayout(LayoutKind.Sequential)] public struct GSGameplayStats_t +{ + public EResult m_eResult; + public int m_nRank; + public uint m_unTotalConnects; + public uint m_unTotalMinutesPlayed; +} +[StructLayout(LayoutKind.Sequential)] public struct GSClientGroupStatus_t +{ + public ulong m_SteamIDUser; + public ulong m_SteamIDGroup; + [MarshalAs(UnmanagedType.I1)] + public bool m_bMember; + [MarshalAs(UnmanagedType.I1)] + public bool m_bOfficer; +} +[StructLayout(LayoutKind.Sequential)] public struct GSReputation_t +{ + public EResult m_eResult; + public uint m_unReputationScore; + [MarshalAs(UnmanagedType.I1)] + public bool m_bBanned; + public uint m_unBannedIP; + public char m_usBannedPort; + public ulong m_ulBannedGameID; + public uint m_unBanExpires; +} +[StructLayout(LayoutKind.Sequential)] public struct AssociateWithClanResult_t +{ + public EResult m_eResult; +} +[StructLayout(LayoutKind.Sequential)] public struct ComputeNewPlayerCompatibilityResult_t +{ + public EResult m_eResult; + public int m_cPlayersThatDontLikeCandidate; + public int m_cPlayersThatCandidateDoesntLike; + public int m_cClanPlayersThatDontLikeCandidate; + public ulong m_SteamIDCandidate; +} +[StructLayout(LayoutKind.Sequential)] public struct GSStatsReceived_t +{ + public EResult m_eResult; + public ulong m_steamIDUser; +} +[StructLayout(LayoutKind.Sequential)] public struct GSStatsStored_t +{ + public EResult m_eResult; + public ulong m_steamIDUser; +} +[StructLayout(LayoutKind.Sequential)] public struct GSStatsUnloaded_t +{ + public ulong m_steamIDUser; +} + +public class SteamAPI +{ +public static void Init(uint appId) +{ +SteamAPIInterop.SteamAPI_RestartAppIfNecessary (appId); +SteamAPIInterop.SteamAPI_Init (); +} + +public static void RunCallbacks() +{ +SteamAPIInterop.SteamAPI_RunCallbacks (); +} + +public static void RegisterCallback(IntPtr pCallback, int iCallback) +{ +SteamAPIInterop.SteamAPI_RegisterCallback (pCallback, iCallback); +} + +public static void UnregisterCallback(IntPtr pCallback) +{ +SteamAPIInterop.SteamAPI_UnregisterCallback (pCallback); +} + +public const int k_iSteamUserCallbacks = 100; +public const int k_iSteamGameServerCallbacks = 200; +public const int k_iSteamFriendsCallbacks = 300; +public const int k_iSteamBillingCallbacks = 400; +public const int k_iSteamMatchmakingCallbacks = 500; +public const int k_iSteamContentServerCallbacks = 600; +public const int k_iSteamUtilsCallbacks = 700; +public const int k_iClientFriendsCallbacks = 800; +public const int k_iClientUserCallbacks = 900; +public const int k_iSteamAppsCallbacks = 1000; +public const int k_iSteamUserStatsCallbacks = 1100; +public const int k_iSteamNetworkingCallbacks = 1200; +public const int k_iClientRemoteStorageCallbacks = 1300; +public const int k_iClientDepotBuilderCallbacks = 1400; +public const int k_iSteamGameServerItemsCallbacks = 1500; +public const int k_iClientUtilsCallbacks = 1600; +public const int k_iSteamGameCoordinatorCallbacks = 1700; +public const int k_iSteamGameServerStatsCallbacks = 1800; +public const int k_iSteam2AsyncCallbacks = 1900; +public const int k_iSteamGameStatsCallbacks = 2000; +public const int k_iClientHTTPCallbacks = 2100; +public const int k_iClientScreenshotsCallbacks = 2200; +public const int k_iSteamScreenshotsCallbacks = 2300; +public const int k_iClientAudioCallbacks = 2400; +public const int k_iClientUnifiedMessagesCallbacks = 2500; +public const int k_iSteamStreamLauncherCallbacks = 2600; +public const int k_iClientControllerCallbacks = 2700; +public const int k_iSteamControllerCallbacks = 2800; +public const int k_iClientParentalSettingsCallbacks = 2900; +public const int k_iClientDeviceAuthCallbacks = 3000; +public const int k_iClientNetworkDeviceManagerCallbacks = 3100; +public const int k_iClientMusicCallbacks = 3200; +public const int k_iClientRemoteClientManagerCallbacks = 3300; +public const int k_iClientUGCCallbacks = 3400; +public const int k_iSteamStreamClientCallbacks = 3500; +public const int k_IClientProductBuilderCallbacks = 3600; +public const int k_iClientShortcutsCallbacks = 3700; +public const int k_iClientRemoteControlManagerCallbacks = 3800; +public const int k_iSteamAppListCallbacks = 3900; +public const int k_iSteamMusicCallbacks = 4000; +public const int k_iSteamMusicRemoteCallbacks = 4100; +public const int k_iClientVRCallbacks = 4200; +public const int k_iClientGameNotificationCallbacks = 4300; +public const int k_iSteamGameNotificationCallbacks = 4400; +public const int k_iSteamHTMLSurfaceCallbacks = 4500; +public const int k_iClientVideoCallbacks = 4600; +public const int k_iClientInventoryCallbacks = 4700; +public const int k_iClientBluetoothManagerCallbacks = 4800; +public const int k_iClientSharedConnectionCallbacks = 4900; +public const int k_ISteamParentalSettingsCallbacks = 5000; +public const int k_iClientShaderCallbacks = 5100; +public const int k_cchPersonaNameMax = 128; +public const int k_cwchPersonaNameMax = 32; +public const int k_cchMaxRichPresenceKeys = 20; +public const int k_cchMaxRichPresenceKeyLength = 64; +public const int k_cchMaxRichPresenceValueLength = 256; +public const int k_cchStatNameMax = 128; +public const int k_cchLeaderboardNameMax = 128; +public const int k_cLeaderboardDetailsMax = 64; +public const ulong k_SteamItemInstanceIDInvalid = 0xffffffffffffffff; +public const int k_SteamInventoryResultInvalid = -1; +public static ISteamClient SteamClient() +{ +return new CSteamClient(SteamAPIInterop.SteamClient()); +} + +public static ISteamUser SteamUser() +{ +return new CSteamUser(SteamAPIInterop.SteamUser()); +} + +public static ISteamFriends SteamFriends() +{ +return new CSteamFriends(SteamAPIInterop.SteamFriends()); +} + +public static ISteamUtils SteamUtils() +{ +return new CSteamUtils(SteamAPIInterop.SteamUtils()); +} + +public static ISteamMatchmaking SteamMatchmaking() +{ +return new CSteamMatchmaking(SteamAPIInterop.SteamMatchmaking()); +} + +public static ISteamMatchmakingServerListResponse SteamMatchmakingServerListResponse() +{ +return new CSteamMatchmakingServerListResponse(SteamAPIInterop.SteamMatchmakingServerListResponse()); +} + +public static ISteamMatchmakingPingResponse SteamMatchmakingPingResponse() +{ +return new CSteamMatchmakingPingResponse(SteamAPIInterop.SteamMatchmakingPingResponse()); +} + +public static ISteamMatchmakingPlayersResponse SteamMatchmakingPlayersResponse() +{ +return new CSteamMatchmakingPlayersResponse(SteamAPIInterop.SteamMatchmakingPlayersResponse()); +} + +public static ISteamMatchmakingRulesResponse SteamMatchmakingRulesResponse() +{ +return new CSteamMatchmakingRulesResponse(SteamAPIInterop.SteamMatchmakingRulesResponse()); +} + +public static ISteamMatchmakingServers SteamMatchmakingServers() +{ +return new CSteamMatchmakingServers(SteamAPIInterop.SteamMatchmakingServers()); +} + +public static ISteamRemoteStorage SteamRemoteStorage() +{ +return new CSteamRemoteStorage(SteamAPIInterop.SteamRemoteStorage()); +} + +public static ISteamUserStats SteamUserStats() +{ +return new CSteamUserStats(SteamAPIInterop.SteamUserStats()); +} + +public static ISteamApps SteamApps() +{ +return new CSteamApps(SteamAPIInterop.SteamApps()); +} + +public static ISteamNetworking SteamNetworking() +{ +return new CSteamNetworking(SteamAPIInterop.SteamNetworking()); +} + +public static ISteamScreenshots SteamScreenshots() +{ +return new CSteamScreenshots(SteamAPIInterop.SteamScreenshots()); +} + +public static ISteamMusic SteamMusic() +{ +return new CSteamMusic(SteamAPIInterop.SteamMusic()); +} + +public static ISteamMusicRemote SteamMusicRemote() +{ +return new CSteamMusicRemote(SteamAPIInterop.SteamMusicRemote()); +} + +public static ISteamHTTP SteamHTTP() +{ +return new CSteamHTTP(SteamAPIInterop.SteamHTTP()); +} + +public static ISteamController SteamController() +{ +return new CSteamController(SteamAPIInterop.SteamController()); +} + +public static ISteamUGC SteamUGC() +{ +return new CSteamUGC(SteamAPIInterop.SteamUGC()); +} + +public static ISteamAppList SteamAppList() +{ +return new CSteamAppList(SteamAPIInterop.SteamAppList()); +} + +public static ISteamHTMLSurface SteamHTMLSurface() +{ +return new CSteamHTMLSurface(SteamAPIInterop.SteamHTMLSurface()); +} + +public static ISteamInventory SteamInventory() +{ +return new CSteamInventory(SteamAPIInterop.SteamInventory()); +} + +public static ISteamVideo SteamVideo() +{ +return new CSteamVideo(SteamAPIInterop.SteamVideo()); +} + +public static ISteamParentalSettings SteamParentalSettings() +{ +return new CSteamParentalSettings(SteamAPIInterop.SteamParentalSettings()); +} + +public static ISteamGameServer SteamGameServer() +{ +return new CSteamGameServer(SteamAPIInterop.SteamGameServer()); +} + +public static ISteamGameServerStats SteamGameServerStats() +{ +return new CSteamGameServerStats(SteamAPIInterop.SteamGameServerStats()); +} + +} + + + +} + diff --git a/source/Steamworks_xcode/Steamworks/Include/steam_gameserver.h b/source/Steamworks_xcode/Steamworks/Include/steam_gameserver.h new file mode 100644 index 0000000..c6bdd52 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steam_gameserver.h @@ -0,0 +1,243 @@ +//====== Copyright © 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAM_GAMESERVER_H +#define STEAM_GAMESERVER_H +#ifdef _WIN32 +#pragma once +#endif + +#include "steam_api.h" +#include "isteamgameserver.h" +#include "isteamgameserverstats.h" + +enum EServerMode +{ + eServerModeInvalid = 0, // DO NOT USE + eServerModeNoAuthentication = 1, // Don't authenticate user logins and don't list on the server list + eServerModeAuthentication = 2, // Authenticate users, list on the server list, don't run VAC on clients that connect + eServerModeAuthenticationAndSecure = 3, // Authenticate users, list on the server list and VAC protect clients +}; + +// Initialize ISteamGameServer interface object, and set server properties which may not be changed. +// +// After calling this function, you should set any additional server parameters, and then +// call ISteamGameServer::LogOnAnonymous() or ISteamGameServer::LogOn() +// +// - usSteamPort is the local port used to communicate with the steam servers. +// - usGamePort is the port that clients will connect to for gameplay. +// - usQueryPort is the port that will manage server browser related duties and info +// pings from clients. If you pass MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE for usQueryPort, then it +// will use "GameSocketShare" mode, which means that the game is responsible for sending and receiving +// UDP packets for the master server updater. See references to GameSocketShare in isteamgameserver.h. +// - The version string is usually in the form x.x.x.x, and is used by the master server to detect when the +// server is out of date. (Only servers with the latest version will be listed.) + +inline bool SteamGameServer_Init( uint32 unIP, uint16 usSteamPort, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString ); + +S_API void SteamGameServer_Shutdown(); +S_API void SteamGameServer_RunCallbacks(); + +// Most Steam API functions allocate some amount of thread-local memory for +// parameter storage. Calling SteamGameServer_ReleaseCurrentThreadMemory() +// will free all API-related memory associated with the calling thread. +// This memory is released automatically by SteamGameServer_RunCallbacks(), +// so single-threaded servers do not need to explicitly call this function. +inline void SteamGameServer_ReleaseCurrentThreadMemory(); + +S_API bool SteamGameServer_BSecure(); +S_API uint64 SteamGameServer_GetSteamID(); + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// Global accessors for game server C++ APIs. See individual isteam*.h files for details. +// You should not cache the results of these accessors or pass the result pointers across +// modules! Different modules may be compiled against different SDK header versions, and +// the interface pointers could therefore be different across modules. Every line of code +// which calls into a Steamworks API should retrieve the interface from a global accessor. +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#if !defined( STEAM_API_EXPORTS ) +inline ISteamClient *SteamGameServerClient(); +inline ISteamGameServer *SteamGameServer(); +inline ISteamUtils *SteamGameServerUtils(); +inline ISteamNetworking *SteamGameServerNetworking(); +inline ISteamGameServerStats *SteamGameServerStats(); +inline ISteamHTTP *SteamGameServerHTTP(); +inline ISteamInventory *SteamGameServerInventory(); +inline ISteamUGC *SteamGameServerUGC(); +inline ISteamApps *SteamGameServerApps(); +#endif + +class CSteamGameServerAPIContext +{ +public: + CSteamGameServerAPIContext() { Clear(); } + inline void Clear(); + inline bool Init(); + + ISteamClient *SteamClient() const { return m_pSteamClient; } + ISteamGameServer *SteamGameServer() const { return m_pSteamGameServer; } + ISteamUtils *SteamGameServerUtils() const { return m_pSteamGameServerUtils; } + ISteamNetworking *SteamGameServerNetworking() const { return m_pSteamGameServerNetworking; } + ISteamGameServerStats *SteamGameServerStats() const { return m_pSteamGameServerStats; } + ISteamHTTP *SteamHTTP() const { return m_pSteamHTTP; } + ISteamInventory *SteamInventory() const { return m_pSteamInventory; } + ISteamUGC *SteamUGC() const { return m_pSteamUGC; } + ISteamApps *SteamApps() const { return m_pSteamApps; } + +private: + ISteamClient *m_pSteamClient; + ISteamGameServer *m_pSteamGameServer; + ISteamUtils *m_pSteamGameServerUtils; + ISteamNetworking *m_pSteamGameServerNetworking; + ISteamGameServerStats *m_pSteamGameServerStats; + ISteamHTTP *m_pSteamHTTP; + ISteamInventory *m_pSteamInventory; + ISteamUGC *m_pSteamUGC; + ISteamApps *m_pSteamApps; +}; + + +// Older SDKs exported this global pointer, but it is no longer supported. +// You should use SteamGameServerClient() or CSteamGameServerAPIContext to +// safely access the ISteamClient APIs from your game server application. +//S_API ISteamClient *g_pSteamClientGameServer; + +// SteamGameServer_InitSafe has been replaced with SteamGameServer_Init and +// is no longer supported. Use SteamGameServer_Init instead. +//S_API void S_CALLTYPE SteamGameServer_InitSafe(); + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// These macros are similar to the STEAM_CALLBACK_* macros in steam_api.h, but only trigger for gameserver callbacks +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAM_GAMESERVER_CALLBACK( thisclass, func, /*callback_type, [deprecated] var*/... ) \ + _STEAM_CALLBACK_SELECT( ( __VA_ARGS__, GS, 3 ), ( this->SetGameserverFlag();, thisclass, func, __VA_ARGS__ ) ) + +#define STEAM_GAMESERVER_CALLBACK_MANUAL( thisclass, func, callback_type, var ) \ + CCallbackManual< thisclass, callback_type, true > var; void func( callback_type *pParam ) + + +#define _STEAM_CALLBACK_GS( _, thisclass, func, param, var ) \ + CCallback< thisclass, param, true > var; void func( param *pParam ) + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// steamclient.dll private wrapper functions +// +// The following functions are part of abstracting API access to the steamclient.dll, but should only be used in very specific cases +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +S_API HSteamPipe S_CALLTYPE SteamGameServer_GetHSteamPipe(); +S_API HSteamUser S_CALLTYPE SteamGameServer_GetHSteamUser(); +S_API bool S_CALLTYPE SteamInternal_GameServer_Init( uint32 unIP, uint16 usPort, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString ); + + +#if !defined( STEAM_API_EXPORTS ) +inline void S_CALLTYPE SteamGameServerInternal_OnContextInit( void* p ) +{ + ((CSteamGameServerAPIContext*)p)->Clear(); + if ( SteamGameServer_GetHSteamPipe() ) + ((CSteamGameServerAPIContext*)p)->Init(); +} +inline CSteamGameServerAPIContext& SteamGameServerInternal_ModuleContext() +{ + // SteamInternal_ContextInit takes a base pointer for the equivalent of + // struct { void (*pFn)(void* pCtx); uintp counter; CSteamAPIContext ctx; } + // Do not change layout of 2 + sizeof... or add non-pointer aligned data! + // NOTE: declaring "static CSteamAPIConext" creates a large function + // which queries the initialization status of the object. We know that + // it is pointer-aligned and fully memset with zeros, so just alias a + // static buffer of the appropriate size and call it a CSteamAPIContext. + static void* s_CallbackCounterAndContext[2 + sizeof( CSteamGameServerAPIContext ) / sizeof( void* )] = { (void*)&SteamGameServerInternal_OnContextInit, 0 }; + return *(CSteamGameServerAPIContext*)SteamInternal_ContextInit( s_CallbackCounterAndContext ); +} +inline ISteamClient *SteamGameServerClient() { return SteamGameServerInternal_ModuleContext().SteamClient(); } +inline ISteamGameServer *SteamGameServer() { return SteamGameServerInternal_ModuleContext().SteamGameServer(); } +inline ISteamUtils *SteamGameServerUtils() { return SteamGameServerInternal_ModuleContext().SteamGameServerUtils(); } +inline ISteamNetworking *SteamGameServerNetworking() { return SteamGameServerInternal_ModuleContext().SteamGameServerNetworking(); } +inline ISteamGameServerStats *SteamGameServerStats() { return SteamGameServerInternal_ModuleContext().SteamGameServerStats(); } +inline ISteamHTTP *SteamGameServerHTTP() { return SteamGameServerInternal_ModuleContext().SteamHTTP(); } +inline ISteamInventory *SteamGameServerInventory() { return SteamGameServerInternal_ModuleContext().SteamInventory(); } +inline ISteamUGC *SteamGameServerUGC() { return SteamGameServerInternal_ModuleContext().SteamUGC(); } +inline ISteamApps *SteamGameServerApps() { return SteamGameServerInternal_ModuleContext().SteamApps(); } +#endif // !defined( STEAM_API_EXPORTS ) + + +inline void CSteamGameServerAPIContext::Clear() +{ + m_pSteamClient = NULL; + m_pSteamGameServer = NULL; + m_pSteamGameServerUtils = NULL; + m_pSteamGameServerNetworking = NULL; + m_pSteamGameServerStats = NULL; + m_pSteamHTTP = NULL; + m_pSteamInventory = NULL; + m_pSteamUGC = NULL; + m_pSteamApps = NULL; +} + +// This function must be declared inline in the header so the module using steam_api.dll gets the version names they want. +inline bool CSteamGameServerAPIContext::Init() +{ + HSteamUser hSteamUser = SteamGameServer_GetHSteamUser(); + HSteamPipe hSteamPipe = SteamGameServer_GetHSteamPipe(); + if ( !hSteamPipe ) + return false; + + m_pSteamClient = (ISteamClient*) SteamInternal_CreateInterface( STEAMCLIENT_INTERFACE_VERSION ); + if ( !m_pSteamClient ) + return false; + + m_pSteamGameServer = m_pSteamClient->GetISteamGameServer( hSteamUser, hSteamPipe, STEAMGAMESERVER_INTERFACE_VERSION ); + if ( !m_pSteamGameServer ) + return false; + + m_pSteamGameServerUtils = m_pSteamClient->GetISteamUtils( hSteamPipe, STEAMUTILS_INTERFACE_VERSION ); + if ( !m_pSteamGameServerUtils ) + return false; + + m_pSteamGameServerNetworking = m_pSteamClient->GetISteamNetworking( hSteamUser, hSteamPipe, STEAMNETWORKING_INTERFACE_VERSION ); + if ( !m_pSteamGameServerNetworking ) + return false; + + m_pSteamGameServerStats = m_pSteamClient->GetISteamGameServerStats( hSteamUser, hSteamPipe, STEAMGAMESERVERSTATS_INTERFACE_VERSION ); + if ( !m_pSteamGameServerStats ) + return false; + + m_pSteamHTTP = m_pSteamClient->GetISteamHTTP( hSteamUser, hSteamPipe, STEAMHTTP_INTERFACE_VERSION ); + if ( !m_pSteamHTTP ) + return false; + + m_pSteamInventory = m_pSteamClient->GetISteamInventory( hSteamUser, hSteamPipe, STEAMINVENTORY_INTERFACE_VERSION ); + if ( !m_pSteamInventory ) + return false; + + m_pSteamUGC = m_pSteamClient->GetISteamUGC( hSteamUser, hSteamPipe, STEAMUGC_INTERFACE_VERSION ); + if ( !m_pSteamUGC ) + return false; + + m_pSteamApps = m_pSteamClient->GetISteamApps( hSteamUser, hSteamPipe, STEAMAPPS_INTERFACE_VERSION ); + if ( !m_pSteamApps ) + return false; + + return true; +} + + +inline bool SteamGameServer_Init( uint32 unIP, uint16 usSteamPort, uint16 usGamePort, uint16 usQueryPort, EServerMode eServerMode, const char *pchVersionString ) +{ + if ( !SteamInternal_GameServer_Init( unIP, usSteamPort, usGamePort, usQueryPort, eServerMode, pchVersionString ) ) + return false; + + return true; +} + + +inline void SteamGameServer_ReleaseCurrentThreadMemory() +{ + SteamAPI_ReleaseCurrentThreadMemory(); +} + +#endif // STEAM_GAMESERVER_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steamclientpublic.h b/source/Steamworks_xcode/Steamworks/Include/steamclientpublic.h new file mode 100644 index 0000000..7b89ba2 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steamclientpublic.h @@ -0,0 +1,1270 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMCLIENTPUBLIC_H +#define STEAMCLIENTPUBLIC_H +#ifdef _WIN32 +#pragma once +#endif +//lint -save -e1931 -e1927 -e1924 -e613 -e726 + +// This header file defines the interface between the calling application and the code that +// knows how to communicate with the connection manager (CM) from the Steam service + +// This header file is intended to be portable; ideally this 1 header file plus a lib or dll +// is all you need to integrate the client library into some other tree. So please avoid +// including or requiring other header files if possible. This header should only describe the +// interface layer, no need to include anything about the implementation. + +#include "steamtypes.h" +#include "steamuniverse.h" + +// General result codes +enum EResult +{ + k_EResultOK = 1, // success + k_EResultFail = 2, // generic failure + k_EResultNoConnection = 3, // no/failed network connection +// k_EResultNoConnectionRetry = 4, // OBSOLETE - removed + k_EResultInvalidPassword = 5, // password/ticket is invalid + k_EResultLoggedInElsewhere = 6, // same user logged in elsewhere + k_EResultInvalidProtocolVer = 7, // protocol version is incorrect + k_EResultInvalidParam = 8, // a parameter is incorrect + k_EResultFileNotFound = 9, // file was not found + k_EResultBusy = 10, // called method busy - action not taken + k_EResultInvalidState = 11, // called object was in an invalid state + k_EResultInvalidName = 12, // name is invalid + k_EResultInvalidEmail = 13, // email is invalid + k_EResultDuplicateName = 14, // name is not unique + k_EResultAccessDenied = 15, // access is denied + k_EResultTimeout = 16, // operation timed out + k_EResultBanned = 17, // VAC2 banned + k_EResultAccountNotFound = 18, // account not found + k_EResultInvalidSteamID = 19, // steamID is invalid + k_EResultServiceUnavailable = 20, // The requested service is currently unavailable + k_EResultNotLoggedOn = 21, // The user is not logged on + k_EResultPending = 22, // Request is pending (may be in process, or waiting on third party) + k_EResultEncryptionFailure = 23, // Encryption or Decryption failed + k_EResultInsufficientPrivilege = 24, // Insufficient privilege + k_EResultLimitExceeded = 25, // Too much of a good thing + k_EResultRevoked = 26, // Access has been revoked (used for revoked guest passes) + k_EResultExpired = 27, // License/Guest pass the user is trying to access is expired + k_EResultAlreadyRedeemed = 28, // Guest pass has already been redeemed by account, cannot be acked again + k_EResultDuplicateRequest = 29, // The request is a duplicate and the action has already occurred in the past, ignored this time + k_EResultAlreadyOwned = 30, // All the games in this guest pass redemption request are already owned by the user + k_EResultIPNotFound = 31, // IP address not found + k_EResultPersistFailed = 32, // failed to write change to the data store + k_EResultLockingFailed = 33, // failed to acquire access lock for this operation + k_EResultLogonSessionReplaced = 34, + k_EResultConnectFailed = 35, + k_EResultHandshakeFailed = 36, + k_EResultIOFailure = 37, + k_EResultRemoteDisconnect = 38, + k_EResultShoppingCartNotFound = 39, // failed to find the shopping cart requested + k_EResultBlocked = 40, // a user didn't allow it + k_EResultIgnored = 41, // target is ignoring sender + k_EResultNoMatch = 42, // nothing matching the request found + k_EResultAccountDisabled = 43, + k_EResultServiceReadOnly = 44, // this service is not accepting content changes right now + k_EResultAccountNotFeatured = 45, // account doesn't have value, so this feature isn't available + k_EResultAdministratorOK = 46, // allowed to take this action, but only because requester is admin + k_EResultContentVersion = 47, // A Version mismatch in content transmitted within the Steam protocol. + k_EResultTryAnotherCM = 48, // The current CM can't service the user making a request, user should try another. + k_EResultPasswordRequiredToKickSession = 49,// You are already logged in elsewhere, this cached credential login has failed. + k_EResultAlreadyLoggedInElsewhere = 50, // You are already logged in elsewhere, you must wait + k_EResultSuspended = 51, // Long running operation (content download) suspended/paused + k_EResultCancelled = 52, // Operation canceled (typically by user: content download) + k_EResultDataCorruption = 53, // Operation canceled because data is ill formed or unrecoverable + k_EResultDiskFull = 54, // Operation canceled - not enough disk space. + k_EResultRemoteCallFailed = 55, // an remote call or IPC call failed + k_EResultPasswordUnset = 56, // Password could not be verified as it's unset server side + k_EResultExternalAccountUnlinked = 57, // External account (PSN, Facebook...) is not linked to a Steam account + k_EResultPSNTicketInvalid = 58, // PSN ticket was invalid + k_EResultExternalAccountAlreadyLinked = 59, // External account (PSN, Facebook...) is already linked to some other account, must explicitly request to replace/delete the link first + k_EResultRemoteFileConflict = 60, // The sync cannot resume due to a conflict between the local and remote files + k_EResultIllegalPassword = 61, // The requested new password is not legal + k_EResultSameAsPreviousValue = 62, // new value is the same as the old one ( secret question and answer ) + k_EResultAccountLogonDenied = 63, // account login denied due to 2nd factor authentication failure + k_EResultCannotUseOldPassword = 64, // The requested new password is not legal + k_EResultInvalidLoginAuthCode = 65, // account login denied due to auth code invalid + k_EResultAccountLogonDeniedNoMail = 66, // account login denied due to 2nd factor auth failure - and no mail has been sent + k_EResultHardwareNotCapableOfIPT = 67, // + k_EResultIPTInitError = 68, // + k_EResultParentalControlRestricted = 69, // operation failed due to parental control restrictions for current user + k_EResultFacebookQueryError = 70, // Facebook query returned an error + k_EResultExpiredLoginAuthCode = 71, // account login denied due to auth code expired + k_EResultIPLoginRestrictionFailed = 72, + k_EResultAccountLockedDown = 73, + k_EResultAccountLogonDeniedVerifiedEmailRequired = 74, + k_EResultNoMatchingURL = 75, + k_EResultBadResponse = 76, // parse failure, missing field, etc. + k_EResultRequirePasswordReEntry = 77, // The user cannot complete the action until they re-enter their password + k_EResultValueOutOfRange = 78, // the value entered is outside the acceptable range + k_EResultUnexpectedError = 79, // something happened that we didn't expect to ever happen + k_EResultDisabled = 80, // The requested service has been configured to be unavailable + k_EResultInvalidCEGSubmission = 81, // The set of files submitted to the CEG server are not valid ! + k_EResultRestrictedDevice = 82, // The device being used is not allowed to perform this action + k_EResultRegionLocked = 83, // The action could not be complete because it is region restricted + k_EResultRateLimitExceeded = 84, // Temporary rate limit exceeded, try again later, different from k_EResultLimitExceeded which may be permanent + k_EResultAccountLoginDeniedNeedTwoFactor = 85, // Need two-factor code to login + k_EResultItemDeleted = 86, // The thing we're trying to access has been deleted + k_EResultAccountLoginDeniedThrottle = 87, // login attempt failed, try to throttle response to possible attacker + k_EResultTwoFactorCodeMismatch = 88, // two factor code mismatch + k_EResultTwoFactorActivationCodeMismatch = 89, // activation code for two-factor didn't match + k_EResultAccountAssociatedToMultiplePartners = 90, // account has been associated with multiple partners + k_EResultNotModified = 91, // data not modified + k_EResultNoMobileDevice = 92, // the account does not have a mobile device associated with it + k_EResultTimeNotSynced = 93, // the time presented is out of range or tolerance + k_EResultSmsCodeFailed = 94, // SMS code failure (no match, none pending, etc.) + k_EResultAccountLimitExceeded = 95, // Too many accounts access this resource + k_EResultAccountActivityLimitExceeded = 96, // Too many changes to this account + k_EResultPhoneActivityLimitExceeded = 97, // Too many changes to this phone + k_EResultRefundToWallet = 98, // Cannot refund to payment method, must use wallet + k_EResultEmailSendFailure = 99, // Cannot send an email + k_EResultNotSettled = 100, // Can't perform operation till payment has settled + k_EResultNeedCaptcha = 101, // Needs to provide a valid captcha + k_EResultGSLTDenied = 102, // a game server login token owned by this token's owner has been banned + k_EResultGSOwnerDenied = 103, // game server owner is denied for other reason (account lock, community ban, vac ban, missing phone) + k_EResultInvalidItemType = 104, // the type of thing we were requested to act on is invalid + k_EResultIPBanned = 105, // the ip address has been banned from taking this action + k_EResultGSLTExpired = 106, // this token has expired from disuse; can be reset for use + k_EResultInsufficientFunds = 107, // user doesn't have enough wallet funds to complete the action + k_EResultTooManyPending = 108, // There are too many of this thing pending already + k_EResultNoSiteLicensesFound = 109, // No site licenses found + k_EResultWGNetworkSendExceeded = 110, // the WG couldn't send a response because we exceeded max network send size + k_EResultAccountNotFriends = 111, // the user is not mutually friends + k_EResultLimitedUserAccount = 112, // the user is limited +}; + +// Error codes for use with the voice functions +enum EVoiceResult +{ + k_EVoiceResultOK = 0, + k_EVoiceResultNotInitialized = 1, + k_EVoiceResultNotRecording = 2, + k_EVoiceResultNoData = 3, + k_EVoiceResultBufferTooSmall = 4, + k_EVoiceResultDataCorrupted = 5, + k_EVoiceResultRestricted = 6, + k_EVoiceResultUnsupportedCodec = 7, + k_EVoiceResultReceiverOutOfDate = 8, + k_EVoiceResultReceiverDidNotAnswer = 9, + +}; + +// Result codes to GSHandleClientDeny/Kick +enum EDenyReason +{ + k_EDenyInvalid = 0, + k_EDenyInvalidVersion = 1, + k_EDenyGeneric = 2, + k_EDenyNotLoggedOn = 3, + k_EDenyNoLicense = 4, + k_EDenyCheater = 5, + k_EDenyLoggedInElseWhere = 6, + k_EDenyUnknownText = 7, + k_EDenyIncompatibleAnticheat = 8, + k_EDenyMemoryCorruption = 9, + k_EDenyIncompatibleSoftware = 10, + k_EDenySteamConnectionLost = 11, + k_EDenySteamConnectionError = 12, + k_EDenySteamResponseTimedOut = 13, + k_EDenySteamValidationStalled = 14, + k_EDenySteamOwnerLeftGuestUser = 15, +}; + +// return type of GetAuthSessionTicket +typedef uint32 HAuthTicket; +const HAuthTicket k_HAuthTicketInvalid = 0; + +// results from BeginAuthSession +enum EBeginAuthSessionResult +{ + k_EBeginAuthSessionResultOK = 0, // Ticket is valid for this game and this steamID. + k_EBeginAuthSessionResultInvalidTicket = 1, // Ticket is not valid. + k_EBeginAuthSessionResultDuplicateRequest = 2, // A ticket has already been submitted for this steamID + k_EBeginAuthSessionResultInvalidVersion = 3, // Ticket is from an incompatible interface version + k_EBeginAuthSessionResultGameMismatch = 4, // Ticket is not for this game + k_EBeginAuthSessionResultExpiredTicket = 5, // Ticket has expired +}; + +// Callback values for callback ValidateAuthTicketResponse_t which is a response to BeginAuthSession +enum EAuthSessionResponse +{ + k_EAuthSessionResponseOK = 0, // Steam has verified the user is online, the ticket is valid and ticket has not been reused. + k_EAuthSessionResponseUserNotConnectedToSteam = 1, // The user in question is not connected to steam + k_EAuthSessionResponseNoLicenseOrExpired = 2, // The license has expired. + k_EAuthSessionResponseVACBanned = 3, // The user is VAC banned for this game. + k_EAuthSessionResponseLoggedInElseWhere = 4, // The user account has logged in elsewhere and the session containing the game instance has been disconnected. + k_EAuthSessionResponseVACCheckTimedOut = 5, // VAC has been unable to perform anti-cheat checks on this user + k_EAuthSessionResponseAuthTicketCanceled = 6, // The ticket has been canceled by the issuer + k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, // This ticket has already been used, it is not valid. + k_EAuthSessionResponseAuthTicketInvalid = 8, // This ticket is not from a user instance currently connected to steam. + k_EAuthSessionResponsePublisherIssuedBan = 9, // The user is banned for this game. The ban came via the web api and not VAC +}; + +// results from UserHasLicenseForApp +enum EUserHasLicenseForAppResult +{ + k_EUserHasLicenseResultHasLicense = 0, // User has a license for specified app + k_EUserHasLicenseResultDoesNotHaveLicense = 1, // User does not have a license for the specified app + k_EUserHasLicenseResultNoAuth = 2, // User has not been authenticated +}; + + +// Steam account types +enum EAccountType +{ + k_EAccountTypeInvalid = 0, + k_EAccountTypeIndividual = 1, // single user account + k_EAccountTypeMultiseat = 2, // multiseat (e.g. cybercafe) account + k_EAccountTypeGameServer = 3, // game server account + k_EAccountTypeAnonGameServer = 4, // anonymous game server account + k_EAccountTypePending = 5, // pending + k_EAccountTypeContentServer = 6, // content server + k_EAccountTypeClan = 7, + k_EAccountTypeChat = 8, + k_EAccountTypeConsoleUser = 9, // Fake SteamID for local PSN account on PS3 or Live account on 360, etc. + k_EAccountTypeAnonUser = 10, + + // Max of 16 items in this field + k_EAccountTypeMax +}; + + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +enum EAppReleaseState +{ + k_EAppReleaseState_Unknown = 0, // unknown, required appinfo or license info is missing + k_EAppReleaseState_Unavailable = 1, // even if user 'just' owns it, can see game at all + k_EAppReleaseState_Prerelease = 2, // can be purchased and is visible in games list, nothing else. Common appInfo section released + k_EAppReleaseState_PreloadOnly = 3, // owners can preload app, not play it. AppInfo fully released. + k_EAppReleaseState_Released = 4, // owners can download and play app. +}; + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +enum EAppOwnershipFlags +{ + k_EAppOwnershipFlags_None = 0x0000, // unknown + k_EAppOwnershipFlags_OwnsLicense = 0x0001, // owns license for this game + k_EAppOwnershipFlags_FreeLicense = 0x0002, // not paid for game + k_EAppOwnershipFlags_RegionRestricted = 0x0004, // owns app, but not allowed to play in current region + k_EAppOwnershipFlags_LowViolence = 0x0008, // only low violence version + k_EAppOwnershipFlags_InvalidPlatform = 0x0010, // app not supported on current platform + k_EAppOwnershipFlags_SharedLicense = 0x0020, // license was granted by authorized local device + k_EAppOwnershipFlags_FreeWeekend = 0x0040, // owned by a free weekend licenses + k_EAppOwnershipFlags_RetailLicense = 0x0080, // has a retail license for game, (CD-Key etc) + k_EAppOwnershipFlags_LicenseLocked = 0x0100, // shared license is locked (in use) by other user + k_EAppOwnershipFlags_LicensePending = 0x0200, // owns app, but transaction is still pending. Can't install or play + k_EAppOwnershipFlags_LicenseExpired = 0x0400, // doesn't own app anymore since license expired + k_EAppOwnershipFlags_LicensePermanent = 0x0800, // permanent license, not borrowed, or guest or freeweekend etc + k_EAppOwnershipFlags_LicenseRecurring = 0x1000, // Recurring license, user is charged periodically + k_EAppOwnershipFlags_LicenseCanceled = 0x2000, // Mark as canceled, but might be still active if recurring + k_EAppOwnershipFlags_AutoGrant = 0x4000, // Ownership is based on any kind of autogrant license + k_EAppOwnershipFlags_PendingGift = 0x8000, // user has pending gift to redeem + k_EAppOwnershipFlags_RentalNotActivated = 0x10000, // Rental hasn't been activated yet + k_EAppOwnershipFlags_Rental = 0x20000, // Is a rental + k_EAppOwnershipFlags_SiteLicense = 0x40000, // Is from a site license +}; + + +//----------------------------------------------------------------------------- +// Purpose: designed as flags to allow filters masks +// NOTE: If you add to this, please update PackageAppType (SteamConfig) as well as populatePackageAppType +//----------------------------------------------------------------------------- +enum EAppType +{ + k_EAppType_Invalid = 0x000, // unknown / invalid + k_EAppType_Game = 0x001, // playable game, default type + k_EAppType_Application = 0x002, // software application + k_EAppType_Tool = 0x004, // SDKs, editors & dedicated servers + k_EAppType_Demo = 0x008, // game demo + k_EAppType_Media_DEPRECATED = 0x010, // legacy - was used for game trailers, which are now just videos on the web + k_EAppType_DLC = 0x020, // down loadable content + k_EAppType_Guide = 0x040, // game guide, PDF etc + k_EAppType_Driver = 0x080, // hardware driver updater (ATI, Razor etc) + k_EAppType_Config = 0x100, // hidden app used to config Steam features (backpack, sales, etc) + k_EAppType_Hardware = 0x200, // a hardware device (Steam Machine, Steam Controller, Steam Link, etc.) + k_EAppType_Franchise = 0x400, // A hub for collections of multiple apps, eg films, series, games + k_EAppType_Video = 0x800, // A video component of either a Film or TVSeries (may be the feature, an episode, preview, making-of, etc) + k_EAppType_Plugin = 0x1000, // Plug-in types for other Apps + k_EAppType_Music = 0x2000, // Music files + k_EAppType_Series = 0x4000, // Container app for video series + k_EAppType_Comic = 0x8000, // Comic Book + + k_EAppType_Shortcut = 0x40000000, // just a shortcut, client side only + k_EAppType_DepotOnly = 0x80000000, // placeholder since depots and apps share the same namespace +}; + + + +//----------------------------------------------------------------------------- +// types of user game stats fields +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN DATABASE +//----------------------------------------------------------------------------- +enum ESteamUserStatType +{ + k_ESteamUserStatTypeINVALID = 0, + k_ESteamUserStatTypeINT = 1, + k_ESteamUserStatTypeFLOAT = 2, + // Read as FLOAT, set with count / session length + k_ESteamUserStatTypeAVGRATE = 3, + k_ESteamUserStatTypeACHIEVEMENTS = 4, + k_ESteamUserStatTypeGROUPACHIEVEMENTS = 5, + + // max, for sanity checks + k_ESteamUserStatTypeMAX +}; + + +//----------------------------------------------------------------------------- +// Purpose: Chat Entry Types (previously was only friend-to-friend message types) +//----------------------------------------------------------------------------- +enum EChatEntryType +{ + k_EChatEntryTypeInvalid = 0, + k_EChatEntryTypeChatMsg = 1, // Normal text message from another user + k_EChatEntryTypeTyping = 2, // Another user is typing (not used in multi-user chat) + k_EChatEntryTypeInviteGame = 3, // Invite from other user into that users current game + k_EChatEntryTypeEmote = 4, // text emote message (deprecated, should be treated as ChatMsg) + //k_EChatEntryTypeLobbyGameStart = 5, // lobby game is starting (dead - listen for LobbyGameCreated_t callback instead) + k_EChatEntryTypeLeftConversation = 6, // user has left the conversation ( closed chat window ) + // Above are previous FriendMsgType entries, now merged into more generic chat entry types + k_EChatEntryTypeEntered = 7, // user has entered the conversation (used in multi-user chat and group chat) + k_EChatEntryTypeWasKicked = 8, // user was kicked (data: 64-bit steamid of actor performing the kick) + k_EChatEntryTypeWasBanned = 9, // user was banned (data: 64-bit steamid of actor performing the ban) + k_EChatEntryTypeDisconnected = 10, // user disconnected + k_EChatEntryTypeHistoricalChat = 11, // a chat message from user's chat history or offilne message + //k_EChatEntryTypeReserved1 = 12, // No longer used + //k_EChatEntryTypeReserved2 = 13, // No longer used + k_EChatEntryTypeLinkBlocked = 14, // a link was removed by the chat filter. +}; + + +//----------------------------------------------------------------------------- +// Purpose: Chat Room Enter Responses +//----------------------------------------------------------------------------- +enum EChatRoomEnterResponse +{ + k_EChatRoomEnterResponseSuccess = 1, // Success + k_EChatRoomEnterResponseDoesntExist = 2, // Chat doesn't exist (probably closed) + k_EChatRoomEnterResponseNotAllowed = 3, // General Denied - You don't have the permissions needed to join the chat + k_EChatRoomEnterResponseFull = 4, // Chat room has reached its maximum size + k_EChatRoomEnterResponseError = 5, // Unexpected Error + k_EChatRoomEnterResponseBanned = 6, // You are banned from this chat room and may not join + k_EChatRoomEnterResponseLimited = 7, // Joining this chat is not allowed because you are a limited user (no value on account) + k_EChatRoomEnterResponseClanDisabled = 8, // Attempt to join a clan chat when the clan is locked or disabled + k_EChatRoomEnterResponseCommunityBan = 9, // Attempt to join a chat when the user has a community lock on their account + k_EChatRoomEnterResponseMemberBlockedYou = 10, // Join failed - some member in the chat has blocked you from joining + k_EChatRoomEnterResponseYouBlockedMember = 11, // Join failed - you have blocked some member already in the chat + // k_EChatRoomEnterResponseNoRankingDataLobby = 12, // No longer used + // k_EChatRoomEnterResponseNoRankingDataUser = 13, // No longer used + // k_EChatRoomEnterResponseRankOutOfRange = 14, // No longer used + k_EChatRoomEnterResponseRatelimitExceeded = 15, // Join failed - to many join attempts in a very short period of time +}; + + +typedef void (*PFNLegacyKeyRegistration)( const char *pchCDKey, const char *pchInstallPath ); +typedef bool (*PFNLegacyKeyInstalled)(); + +const unsigned int k_unSteamAccountIDMask = 0xFFFFFFFF; +const unsigned int k_unSteamAccountInstanceMask = 0x000FFFFF; +// we allow 3 simultaneous user account instances right now, 1= desktop, 2 = console, 4 = web, 0 = all +const unsigned int k_unSteamUserDesktopInstance = 1; +const unsigned int k_unSteamUserConsoleInstance = 2; +const unsigned int k_unSteamUserWebInstance = 4; + +// Special flags for Chat accounts - they go in the top 8 bits +// of the steam ID's "instance", leaving 12 for the actual instances +enum EChatSteamIDInstanceFlags +{ + k_EChatAccountInstanceMask = 0x00000FFF, // top 8 bits are flags + + k_EChatInstanceFlagClan = ( k_unSteamAccountInstanceMask + 1 ) >> 1, // top bit + k_EChatInstanceFlagLobby = ( k_unSteamAccountInstanceMask + 1 ) >> 2, // next one down, etc + k_EChatInstanceFlagMMSLobby = ( k_unSteamAccountInstanceMask + 1 ) >> 3, // next one down, etc + + // Max of 8 flags +}; + + +//----------------------------------------------------------------------------- +// Purpose: Marketing message flags that change how a client should handle them +//----------------------------------------------------------------------------- +enum EMarketingMessageFlags +{ + k_EMarketingMessageFlagsNone = 0, + k_EMarketingMessageFlagsHighPriority = 1 << 0, + k_EMarketingMessageFlagsPlatformWindows = 1 << 1, + k_EMarketingMessageFlagsPlatformMac = 1 << 2, + k_EMarketingMessageFlagsPlatformLinux = 1 << 3, + + //aggregate flags + k_EMarketingMessageFlagsPlatformRestrictions = + k_EMarketingMessageFlagsPlatformWindows | + k_EMarketingMessageFlagsPlatformMac | + k_EMarketingMessageFlagsPlatformLinux, +}; + + + +//----------------------------------------------------------------------------- +// Purpose: Possible positions to tell the overlay to show notifications in +//----------------------------------------------------------------------------- +enum ENotificationPosition +{ + k_EPositionTopLeft = 0, + k_EPositionTopRight = 1, + k_EPositionBottomLeft = 2, + k_EPositionBottomRight = 3, +}; + + +//----------------------------------------------------------------------------- +// Purpose: Broadcast upload result details +//----------------------------------------------------------------------------- +enum EBroadcastUploadResult +{ + k_EBroadcastUploadResultNone = 0, // broadcast state unknown + k_EBroadcastUploadResultOK = 1, // broadcast was good, no problems + k_EBroadcastUploadResultInitFailed = 2, // broadcast init failed + k_EBroadcastUploadResultFrameFailed = 3, // broadcast frame upload failed + k_EBroadcastUploadResultTimeout = 4, // broadcast upload timed out + k_EBroadcastUploadResultBandwidthExceeded = 5, // broadcast send too much data + k_EBroadcastUploadResultLowFPS = 6, // broadcast FPS too low + k_EBroadcastUploadResultMissingKeyFrames = 7, // broadcast sending not enough key frames + k_EBroadcastUploadResultNoConnection = 8, // broadcast client failed to connect to relay + k_EBroadcastUploadResultRelayFailed = 9, // relay dropped the upload + k_EBroadcastUploadResultSettingsChanged = 10, // the client changed broadcast settings + k_EBroadcastUploadResultMissingAudio = 11, // client failed to send audio data + k_EBroadcastUploadResultTooFarBehind = 12, // clients was too slow uploading + k_EBroadcastUploadResultTranscodeBehind = 13, // server failed to keep up with transcode +}; + + +//----------------------------------------------------------------------------- +// Purpose: codes for well defined launch options +//----------------------------------------------------------------------------- +enum ELaunchOptionType +{ + k_ELaunchOptionType_None = 0, // unknown what launch option does + k_ELaunchOptionType_Default = 1, // runs the game, app, whatever in default mode + k_ELaunchOptionType_SafeMode = 2, // runs the game in safe mode + k_ELaunchOptionType_Multiplayer = 3, // runs the game in multiplayer mode + k_ELaunchOptionType_Config = 4, // runs config tool for this game + k_ELaunchOptionType_OpenVR = 5, // runs game in VR mode using OpenVR + k_ELaunchOptionType_Server = 6, // runs dedicated server for this game + k_ELaunchOptionType_Editor = 7, // runs game editor + k_ELaunchOptionType_Manual = 8, // shows game manual + k_ELaunchOptionType_Benchmark = 9, // runs game benchmark + k_ELaunchOptionType_Option1 = 10, // generic run option, uses description field for game name + k_ELaunchOptionType_Option2 = 11, // generic run option, uses description field for game name + k_ELaunchOptionType_Option3 = 12, // generic run option, uses description field for game name + k_ELaunchOptionType_OculusVR = 13, // runs game in VR mode using the Oculus SDK + k_ELaunchOptionType_OpenVROverlay = 14, // runs an OpenVR dashboard overlay + k_ELaunchOptionType_OSVR = 15, // runs game in VR mode using the OSVR SDK + + + k_ELaunchOptionType_Dialog = 1000, // show launch options dialog +}; + + +//----------------------------------------------------------------------------- +// Purpose: true if this launch option is any of the vr launching types +//----------------------------------------------------------------------------- +static inline bool BIsVRLaunchOptionType( const ELaunchOptionType eType ) +{ + return eType == k_ELaunchOptionType_OpenVR + || eType == k_ELaunchOptionType_OpenVROverlay + || eType == k_ELaunchOptionType_OculusVR + || eType == k_ELaunchOptionType_OSVR; +} + + +//----------------------------------------------------------------------------- +// Purpose: code points for VR HMD vendors and models +// WARNING: DO NOT RENUMBER EXISTING VALUES - STORED IN A DATABASE +//----------------------------------------------------------------------------- +enum EVRHMDType +{ + k_eEVRHMDType_None = -1, // unknown vendor and model + + k_eEVRHMDType_Unknown = 0, // unknown vendor and model + + k_eEVRHMDType_HTC_Dev = 1, // original HTC dev kits + k_eEVRHMDType_HTC_VivePre = 2, // htc vive pre + k_eEVRHMDType_HTC_Vive = 3, // htc vive consumer release + + k_eEVRHMDType_HTC_Unknown = 20, // unknown htc hmd + + k_eEVRHMDType_Oculus_DK1 = 21, // Oculus DK1 + k_eEVRHMDType_Oculus_DK2 = 22, // Oculus DK2 + k_eEVRHMDType_Oculus_Rift = 23, // Oculus rift + + k_eEVRHMDType_Oculus_Unknown = 40, // // Oculus unknown HMD + + k_eEVRHMDType_Acer_Unknown = 50, // Acer unknown HMD + k_eEVRHMDType_Acer_WindowsMR = 51, // Acer QHMD Windows MR headset + + k_eEVRHMDType_Dell_Unknown = 60, // Dell unknown HMD + k_eEVRHMDType_Dell_Visor = 61, // Dell Visor Windows MR headset + + k_eEVRHMDType_Lenovo_Unknown = 70, // Lenovo unknown HMD + k_eEVRHMDType_Lenovo_Explorer = 71, // Lenovo Explorer Windows MR headset + + k_eEVRHMDType_HP_Unknown = 80, // HP unknown HMD + k_eEVRHMDType_HP_WindowsMR = 81, // HP Windows MR headset + + k_eEVRHMDType_Samsung_Unknown = 90, // Samsung unknown HMD + k_eEVRHMDType_Samsung_Odyssey = 91, // Samsung Odyssey Windows MR headset + + k_eEVRHMDType_Unannounced_Unknown = 100, // Unannounced unknown HMD + k_eEVRHMDType_Unannounced_WindowsMR = 101, // Unannounced Windows MR headset + +}; + + +//----------------------------------------------------------------------------- +// Purpose: true if this is from an Oculus HMD +//----------------------------------------------------------------------------- +static inline bool BIsOculusHMD( EVRHMDType eType ) +{ + return eType == k_eEVRHMDType_Oculus_DK1 || eType == k_eEVRHMDType_Oculus_DK2 || eType == k_eEVRHMDType_Oculus_Rift || eType == k_eEVRHMDType_Oculus_Unknown; +} + + +//----------------------------------------------------------------------------- +// Purpose: true if this is from a Windows MR HMD +//----------------------------------------------------------------------------- +static inline bool BIsWindowsMRHeadset( EVRHMDType eType ) +{ + return eType >= k_eEVRHMDType_Acer_WindowsMR && eType <= k_eEVRHMDType_Unannounced_WindowsMR; +} + + +//----------------------------------------------------------------------------- +// Purpose: true if this is from an Vive HMD +//----------------------------------------------------------------------------- +static inline bool BIsViveHMD( EVRHMDType eType ) +{ + return eType == k_eEVRHMDType_HTC_Dev || eType == k_eEVRHMDType_HTC_VivePre || eType == k_eEVRHMDType_HTC_Vive || eType == k_eEVRHMDType_HTC_Unknown; +} + + +#pragma pack( push, 1 ) + +#define CSTEAMID_DEFINED + +// Steam ID structure (64 bits total) +class CSteamID +{ +public: + + //----------------------------------------------------------------------------- + // Purpose: Constructor + //----------------------------------------------------------------------------- + CSteamID() + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeInvalid; + m_steamid.m_comp.m_EUniverse = k_EUniverseInvalid; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + CSteamID( uint32 unAccountID, EUniverse eUniverse, EAccountType eAccountType ) + { + Set( unAccountID, eUniverse, eAccountType ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : unAccountID - 32-bit account ID + // unAccountInstance - instance + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + CSteamID( uint32 unAccountID, unsigned int unAccountInstance, EUniverse eUniverse, EAccountType eAccountType ) + { +#if defined(_SERVER) && defined(Assert) + Assert( ! ( ( k_EAccountTypeIndividual == eAccountType ) && ( unAccountInstance > k_unSteamUserWebInstance ) ) ); // enforce that for individual accounts, instance is always 1 +#endif // _SERVER + InstancedSet( unAccountID, unAccountInstance, eUniverse, eAccountType ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Constructor + // Input : ulSteamID - 64-bit representation of a Steam ID + // Note: Will not accept a uint32 or int32 as input, as that is a probable mistake. + // See the stubbed out overloads in the private: section for more info. + //----------------------------------------------------------------------------- + CSteamID( uint64 ulSteamID ) + { + SetFromUint64( ulSteamID ); + } +#ifdef INT64_DIFFERENT_FROM_INT64_T + CSteamID( uint64_t ulSteamID ) + { + SetFromUint64( (uint64)ulSteamID ); + } +#endif + + + //----------------------------------------------------------------------------- + // Purpose: Sets parameters for steam ID + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + void Set( uint32 unAccountID, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = unAccountID; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + + if ( eAccountType == k_EAccountTypeClan || eAccountType == k_EAccountTypeGameServer ) + { + m_steamid.m_comp.m_unAccountInstance = 0; + } + else + { + // by default we pick the desktop instance + m_steamid.m_comp.m_unAccountInstance = k_unSteamUserDesktopInstance; + } + } + + + //----------------------------------------------------------------------------- + // Purpose: Sets parameters for steam ID + // Input : unAccountID - 32-bit account ID + // eUniverse - Universe this account belongs to + // eAccountType - Type of account + //----------------------------------------------------------------------------- + void InstancedSet( uint32 unAccountID, uint32 unInstance, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = unAccountID; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + m_steamid.m_comp.m_unAccountInstance = unInstance; + } + + + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from its 52 bit parts and universe/type + // Input : ulIdentifier - 52 bits of goodness + //----------------------------------------------------------------------------- + void FullSet( uint64 ulIdentifier, EUniverse eUniverse, EAccountType eAccountType ) + { + m_steamid.m_comp.m_unAccountID = ( ulIdentifier & k_unSteamAccountIDMask ); // account ID is low 32 bits + m_steamid.m_comp.m_unAccountInstance = ( ( ulIdentifier >> 32 ) & k_unSteamAccountInstanceMask ); // account instance is next 20 bits + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_EAccountType = eAccountType; + } + + + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from its 64-bit representation + // Input : ulSteamID - 64-bit representation of a Steam ID + //----------------------------------------------------------------------------- + void SetFromUint64( uint64 ulSteamID ) + { + m_steamid.m_unAll64Bits = ulSteamID; + } + + + //----------------------------------------------------------------------------- + // Purpose: Clear all fields, leaving an invalid ID. + //----------------------------------------------------------------------------- + void Clear() + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeInvalid; + m_steamid.m_comp.m_EUniverse = k_EUniverseInvalid; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + +#if defined( INCLUDED_STEAM2_USERID_STRUCTS ) + //----------------------------------------------------------------------------- + // Purpose: Initializes a steam ID from a Steam2 ID structure + // Input: pTSteamGlobalUserID - Steam2 ID to convert + // eUniverse - universe this ID belongs to + //----------------------------------------------------------------------------- + void SetFromSteam2( TSteamGlobalUserID *pTSteamGlobalUserID, EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits * 2 + + pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits; + m_steamid.m_comp.m_EUniverse = eUniverse; // set the universe + m_steamid.m_comp.m_EAccountType = k_EAccountTypeIndividual; // Steam 2 accounts always map to account type of individual + m_steamid.m_comp.m_unAccountInstance = k_unSteamUserDesktopInstance; // Steam2 only knew desktop instances + } + + //----------------------------------------------------------------------------- + // Purpose: Fills out a Steam2 ID structure + // Input: pTSteamGlobalUserID - Steam2 ID to write to + //----------------------------------------------------------------------------- + void ConvertToSteam2( TSteamGlobalUserID *pTSteamGlobalUserID ) const + { + // only individual accounts have any meaning in Steam 2, only they can be mapped + // Assert( m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual ); + + pTSteamGlobalUserID->m_SteamInstanceID = 0; + pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits = m_steamid.m_comp.m_unAccountID % 2; + pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits = m_steamid.m_comp.m_unAccountID / 2; + } +#endif // defined( INCLUDED_STEAM_COMMON_STEAMCOMMON_H ) + + //----------------------------------------------------------------------------- + // Purpose: Converts steam ID to its 64-bit representation + // Output : 64-bit representation of a Steam ID + //----------------------------------------------------------------------------- + uint64 ConvertToUint64() const + { + return m_steamid.m_unAll64Bits; + } + + + //----------------------------------------------------------------------------- + // Purpose: Converts the static parts of a steam ID to a 64-bit representation. + // For multiseat accounts, all instances of that account will have the + // same static account key, so they can be grouped together by the static + // account key. + // Output : 64-bit static account key + //----------------------------------------------------------------------------- + uint64 GetStaticAccountKey() const + { + // note we do NOT include the account instance (which is a dynamic property) in the static account key + return (uint64) ( ( ( (uint64) m_steamid.m_comp.m_EUniverse ) << 56 ) + ((uint64) m_steamid.m_comp.m_EAccountType << 52 ) + m_steamid.m_comp.m_unAccountID ); + } + + + //----------------------------------------------------------------------------- + // Purpose: create an anonymous game server login to be filled in by the AM + //----------------------------------------------------------------------------- + void CreateBlankAnonLogon( EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeAnonGameServer; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + + //----------------------------------------------------------------------------- + // Purpose: create an anonymous game server login to be filled in by the AM + //----------------------------------------------------------------------------- + void CreateBlankAnonUserLogon( EUniverse eUniverse ) + { + m_steamid.m_comp.m_unAccountID = 0; + m_steamid.m_comp.m_EAccountType = k_EAccountTypeAnonUser; + m_steamid.m_comp.m_EUniverse = eUniverse; + m_steamid.m_comp.m_unAccountInstance = 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous game server login that will be filled in? + //----------------------------------------------------------------------------- + bool BBlankAnonAccount() const + { + return m_steamid.m_comp.m_unAccountID == 0 && BAnonAccount() && m_steamid.m_comp.m_unAccountInstance == 0; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a game server account id? (Either persistent or anonymous) + //----------------------------------------------------------------------------- + bool BGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer || m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a persistent (not anonymous) game server account id? + //----------------------------------------------------------------------------- + bool BPersistentGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous game server account id? + //----------------------------------------------------------------------------- + bool BAnonGameServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a content server account id? + //----------------------------------------------------------------------------- + bool BContentServerAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeContentServer; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this a clan account id? + //----------------------------------------------------------------------------- + bool BClanAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeClan; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this a chat account id? + //----------------------------------------------------------------------------- + bool BChatAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeChat; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a chat account id? + //----------------------------------------------------------------------------- + bool IsLobby() const + { + return ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeChat ) + && ( m_steamid.m_comp.m_unAccountInstance & k_EChatInstanceFlagLobby ); + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this an individual user account id? + //----------------------------------------------------------------------------- + bool BIndividualAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual || m_steamid.m_comp.m_EAccountType == k_EAccountTypeConsoleUser; + } + + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous account? + //----------------------------------------------------------------------------- + bool BAnonAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonUser || m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonGameServer; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this an anonymous user account? ( used to create an account or reset a password ) + //----------------------------------------------------------------------------- + bool BAnonUserAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeAnonUser; + } + + //----------------------------------------------------------------------------- + // Purpose: Is this a faked up Steam ID for a PSN friend account? + //----------------------------------------------------------------------------- + bool BConsoleUserAccount() const + { + return m_steamid.m_comp.m_EAccountType == k_EAccountTypeConsoleUser; + } + + // simple accessors + void SetAccountID( uint32 unAccountID ) { m_steamid.m_comp.m_unAccountID = unAccountID; } + void SetAccountInstance( uint32 unInstance ){ m_steamid.m_comp.m_unAccountInstance = unInstance; } + void ClearIndividualInstance() { if ( BIndividualAccount() ) m_steamid.m_comp.m_unAccountInstance = 0; } + bool HasNoIndividualInstance() const { return BIndividualAccount() && (m_steamid.m_comp.m_unAccountInstance==0); } + AccountID_t GetAccountID() const { return m_steamid.m_comp.m_unAccountID; } + uint32 GetUnAccountInstance() const { return m_steamid.m_comp.m_unAccountInstance; } + EAccountType GetEAccountType() const { return ( EAccountType ) m_steamid.m_comp.m_EAccountType; } + EUniverse GetEUniverse() const { return m_steamid.m_comp.m_EUniverse; } + void SetEUniverse( EUniverse eUniverse ) { m_steamid.m_comp.m_EUniverse = eUniverse; } + bool IsValid() const; + + // this set of functions is hidden, will be moved out of class + explicit CSteamID( const char *pchSteamID, EUniverse eDefaultUniverse = k_EUniverseInvalid ); + const char * Render() const; // renders this steam ID to string + static const char * Render( uint64 ulSteamID ); // static method to render a uint64 representation of a steam ID to a string + + void SetFromString( const char *pchSteamID, EUniverse eDefaultUniverse ); + // SetFromString allows many partially-correct strings, constraining how + // we might be able to change things in the future. + // SetFromStringStrict requires the exact string forms that we support + // and is preferred when the caller knows it's safe to be strict. + // Returns whether the string parsed correctly. + bool SetFromStringStrict( const char *pchSteamID, EUniverse eDefaultUniverse ); + bool SetFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse ); + + inline bool operator==( const CSteamID &val ) const { return m_steamid.m_unAll64Bits == val.m_steamid.m_unAll64Bits; } + inline bool operator!=( const CSteamID &val ) const { return !operator==( val ); } + inline bool operator<( const CSteamID &val ) const { return m_steamid.m_unAll64Bits < val.m_steamid.m_unAll64Bits; } + inline bool operator>( const CSteamID &val ) const { return m_steamid.m_unAll64Bits > val.m_steamid.m_unAll64Bits; } + + // DEBUG function + bool BValidExternalSteamID() const; + +private: + // These are defined here to prevent accidental implicit conversion of a u32AccountID to a CSteamID. + // If you get a compiler error about an ambiguous constructor/function then it may be because you're + // passing a 32-bit int to a function that takes a CSteamID. You should explicitly create the SteamID + // using the correct Universe and account Type/Instance values. + CSteamID( uint32 ); + CSteamID( int32 ); + + // 64 bits total + union SteamID_t + { + struct SteamIDComponent_t + { +#ifdef VALVE_BIG_ENDIAN + EUniverse m_EUniverse : 8; // universe this account belongs to + unsigned int m_EAccountType : 4; // type of account - can't show as EAccountType, due to signed / unsigned difference + unsigned int m_unAccountInstance : 20; // dynamic instance ID + uint32 m_unAccountID : 32; // unique account identifier +#else + uint32 m_unAccountID : 32; // unique account identifier + unsigned int m_unAccountInstance : 20; // dynamic instance ID + unsigned int m_EAccountType : 4; // type of account - can't show as EAccountType, due to signed / unsigned difference + EUniverse m_EUniverse : 8; // universe this account belongs to +#endif + } m_comp; + + uint64 m_unAll64Bits; + } m_steamid; +}; + +inline bool CSteamID::IsValid() const +{ + if ( m_steamid.m_comp.m_EAccountType <= k_EAccountTypeInvalid || m_steamid.m_comp.m_EAccountType >= k_EAccountTypeMax ) + return false; + + if ( m_steamid.m_comp.m_EUniverse <= k_EUniverseInvalid || m_steamid.m_comp.m_EUniverse >= k_EUniverseMax ) + return false; + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 || m_steamid.m_comp.m_unAccountInstance > k_unSteamUserWebInstance ) + return false; + } + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeClan ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 || m_steamid.m_comp.m_unAccountInstance != 0 ) + return false; + } + + if ( m_steamid.m_comp.m_EAccountType == k_EAccountTypeGameServer ) + { + if ( m_steamid.m_comp.m_unAccountID == 0 ) + return false; + // Any limit on instances? We use them for local users and bots + } + return true; +} + +// generic invalid CSteamID +#define k_steamIDNil CSteamID() + +// This steamID comes from a user game connection to an out of date GS that hasnt implemented the protocol +// to provide its steamID +#define k_steamIDOutofDateGS CSteamID( 0, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) +// This steamID comes from a user game connection to an sv_lan GS +#define k_steamIDLanModeGS CSteamID( 0, 0, k_EUniversePublic, k_EAccountTypeInvalid ) +// This steamID can come from a user game connection to a GS that has just booted but hasnt yet even initialized +// its steam3 component and started logging on. +#define k_steamIDNotInitYetGS CSteamID( 1, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) +// This steamID can come from a user game connection to a GS that isn't using the steam authentication system but still +// wants to support the "Join Game" option in the friends list +#define k_steamIDNonSteamGS CSteamID( 2, 0, k_EUniverseInvalid, k_EAccountTypeInvalid ) + + +#ifdef STEAM +// Returns the matching chat steamID, with the default instance of 0 +// If the steamID passed in is already of type k_EAccountTypeChat it will be returned with the same instance +CSteamID ChatIDFromSteamID( const CSteamID &steamID ); +// Returns the matching clan steamID, with the default instance of 0 +// If the steamID passed in is already of type k_EAccountTypeClan it will be returned with the same instance +CSteamID ClanIDFromSteamID( const CSteamID &steamID ); +// Asserts steamID type before conversion +CSteamID ChatIDFromClanID( const CSteamID &steamIDClan ); +// Asserts steamID type before conversion +CSteamID ClanIDFromChatID( const CSteamID &steamIDChat ); + +#endif // _STEAM + + +//----------------------------------------------------------------------------- +// Purpose: encapsulates an appID/modID pair +//----------------------------------------------------------------------------- +class CGameID +{ +public: + + CGameID() + { + m_gameID.m_nType = k_EGameIDTypeApp; + m_gameID.m_nAppID = k_uAppIdInvalid; + m_gameID.m_nModID = 0; + } + + explicit CGameID( uint64 ulGameID ) + { + m_ulGameID = ulGameID; + } +#ifdef INT64_DIFFERENT_FROM_INT64_T + CGameID( uint64_t ulGameID ) + { + m_ulGameID = (uint64)ulGameID; + } +#endif + + explicit CGameID( int32 nAppID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + } + + explicit CGameID( uint32 nAppID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + } + + CGameID( uint32 nAppID, uint32 nModID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + m_gameID.m_nModID = nModID; + m_gameID.m_nType = k_EGameIDTypeGameMod; + } + + // Hidden functions used only by Steam + explicit CGameID( const char *pchGameID ); + const char *Render() const; // render this Game ID to string + static const char *Render( uint64 ulGameID ); // static method to render a uint64 representation of a Game ID to a string + + // must include checksum_crc.h first to get this functionality +#if defined( CHECKSUM_CRC_H ) + CGameID( uint32 nAppID, const char *pchModPath ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = nAppID; + m_gameID.m_nType = k_EGameIDTypeGameMod; + + char rgchModDir[MAX_PATH]; + V_FileBase( pchModPath, rgchModDir, sizeof( rgchModDir ) ); + CRC32_t crc32; + CRC32_Init( &crc32 ); + CRC32_ProcessBuffer( &crc32, rgchModDir, V_strlen( rgchModDir ) ); + CRC32_Final( &crc32 ); + + // set the high-bit on the mod-id + // reduces crc32 to 31bits, but lets us use the modID as a guaranteed unique + // replacement for appID's + m_gameID.m_nModID = crc32 | (0x80000000); + } + + CGameID( const char *pchExePath, const char *pchAppName ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = k_uAppIdInvalid; + m_gameID.m_nType = k_EGameIDTypeShortcut; + + CRC32_t crc32; + CRC32_Init( &crc32 ); + if ( pchExePath ) + CRC32_ProcessBuffer( &crc32, pchExePath, V_strlen( pchExePath ) ); + if ( pchAppName ) + CRC32_ProcessBuffer( &crc32, pchAppName, V_strlen( pchAppName ) ); + CRC32_Final( &crc32 ); + + // set the high-bit on the mod-id + // reduces crc32 to 31bits, but lets us use the modID as a guaranteed unique + // replacement for appID's + m_gameID.m_nModID = crc32 | (0x80000000); + } + +#if defined( VSTFILEID_H ) + + CGameID( VstFileID vstFileID ) + { + m_ulGameID = 0; + m_gameID.m_nAppID = k_uAppIdInvalid; + m_gameID.m_nType = k_EGameIDTypeP2P; + + CRC32_t crc32; + CRC32_Init( &crc32 ); + const char *pchFileId = vstFileID.Render(); + CRC32_ProcessBuffer( &crc32, pchFileId, V_strlen( pchFileId ) ); + CRC32_Final( &crc32 ); + + // set the high-bit on the mod-id + // reduces crc32 to 31bits, but lets us use the modID as a guaranteed unique + // replacement for appID's + m_gameID.m_nModID = crc32 | (0x80000000); + } + +#endif /* VSTFILEID_H */ + +#endif /* CHECKSUM_CRC_H */ + + + uint64 ToUint64() const + { + return m_ulGameID; + } + + uint64 *GetUint64Ptr() + { + return &m_ulGameID; + } + + void Set( uint64 ulGameID ) + { + m_ulGameID = ulGameID; + } + + bool IsMod() const + { + return ( m_gameID.m_nType == k_EGameIDTypeGameMod ); + } + + bool IsShortcut() const + { + return ( m_gameID.m_nType == k_EGameIDTypeShortcut ); + } + + bool IsP2PFile() const + { + return ( m_gameID.m_nType == k_EGameIDTypeP2P ); + } + + bool IsSteamApp() const + { + return ( m_gameID.m_nType == k_EGameIDTypeApp ); + } + + uint32 ModID() const + { + return m_gameID.m_nModID; + } + + uint32 AppID() const + { + return m_gameID.m_nAppID; + } + + bool operator == ( const CGameID &rhs ) const + { + return m_ulGameID == rhs.m_ulGameID; + } + + bool operator != ( const CGameID &rhs ) const + { + return !(*this == rhs); + } + + bool operator < ( const CGameID &rhs ) const + { + return ( m_ulGameID < rhs.m_ulGameID ); + } + + bool IsValid() const + { + // each type has it's own invalid fixed point: + switch( m_gameID.m_nType ) + { + case k_EGameIDTypeApp: + return m_gameID.m_nAppID != k_uAppIdInvalid; + + case k_EGameIDTypeGameMod: + return m_gameID.m_nAppID != k_uAppIdInvalid && m_gameID.m_nModID & 0x80000000; + + case k_EGameIDTypeShortcut: + return (m_gameID.m_nModID & 0x80000000) != 0; + + case k_EGameIDTypeP2P: + return m_gameID.m_nAppID == k_uAppIdInvalid && m_gameID.m_nModID & 0x80000000; + + default: +#if defined(Assert) + Assert(false); +#endif + return false; + } + + } + + void Reset() + { + m_ulGameID = 0; + } + + + +private: + + enum EGameIDType + { + k_EGameIDTypeApp = 0, + k_EGameIDTypeGameMod = 1, + k_EGameIDTypeShortcut = 2, + k_EGameIDTypeP2P = 3, + }; + + struct GameID_t + { +#ifdef VALVE_BIG_ENDIAN + unsigned int m_nModID : 32; + unsigned int m_nType : 8; + unsigned int m_nAppID : 24; +#else + unsigned int m_nAppID : 24; + unsigned int m_nType : 8; + unsigned int m_nModID : 32; +#endif + }; + + union + { + uint64 m_ulGameID; + GameID_t m_gameID; + }; +}; + +#pragma pack( pop ) + +const int k_cchGameExtraInfoMax = 64; + + +//----------------------------------------------------------------------------- +// Constants used for query ports. +//----------------------------------------------------------------------------- + +#define QUERY_PORT_NOT_INITIALIZED 0xFFFF // We haven't asked the GS for this query port's actual value yet. +#define QUERY_PORT_ERROR 0xFFFE // We were unable to get the query port for this server. + + +//----------------------------------------------------------------------------- +// Purpose: Passed as argument to SteamAPI_UseBreakpadCrashHandler to enable optional callback +// just before minidump file is captured after a crash has occurred. (Allows app to append additional comment data to the dump, etc.) +//----------------------------------------------------------------------------- +typedef void (*PFNPreMinidumpCallback)(void *context); + +//----------------------------------------------------------------------------- +// Purpose: Used by ICrashHandler interfaces to reference particular installed crash handlers +//----------------------------------------------------------------------------- +typedef void *BREAKPAD_HANDLE; +#define BREAKPAD_INVALID_HANDLE (BREAKPAD_HANDLE)0 + +#endif // STEAMCLIENTPUBLIC_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steamencryptedappticket.h b/source/Steamworks_xcode/Steamworks/Include/steamencryptedappticket.h new file mode 100644 index 0000000..48c63b4 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steamencryptedappticket.h @@ -0,0 +1,32 @@ +//========= Copyright © 1996-2010, Valve LLC, All rights reserved. ============ +// +// Purpose: utilities to decode/decrypt a ticket from the +// ISteamUser::RequestEncryptedAppTicket, ISteamUser::GetEncryptedAppTicket API +// +// To use: declare CSteamEncryptedAppTicket, then call BDecryptTicket +// if BDecryptTicket returns true, other accessors are valid +// +//============================================================================= + +#include "steam_api.h" + +static const int k_nSteamEncryptedAppTicketSymmetricKeyLen = 32; + + +S_API bool SteamEncryptedAppTicket_BDecryptTicket( const uint8 *rgubTicketEncrypted, uint32 cubTicketEncrypted, + uint8 *rgubTicketDecrypted, uint32 *pcubTicketDecrypted, + const uint8 rgubKey[k_nSteamEncryptedAppTicketSymmetricKeyLen], int cubKey ); + +S_API bool SteamEncryptedAppTicket_BIsTicketForApp( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, AppId_t nAppID ); + +S_API RTime32 SteamEncryptedAppTicket_GetTicketIssueTime( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API void SteamEncryptedAppTicket_GetTicketSteamID( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, CSteamID *psteamID ); + +S_API AppId_t SteamEncryptedAppTicket_GetTicketAppID( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API bool SteamEncryptedAppTicket_BUserOwnsAppInTicket( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, AppId_t nAppID ); + +S_API bool SteamEncryptedAppTicket_BUserIsVacBanned( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted ); + +S_API const uint8 *SteamEncryptedAppTicket_GetUserVariableData( uint8 *rgubTicketDecrypted, uint32 cubTicketDecrypted, uint32 *pcubUserData ); \ No newline at end of file diff --git a/source/Steamworks_xcode/Steamworks/Include/steamhttpenums.h b/source/Steamworks_xcode/Steamworks/Include/steamhttpenums.h new file mode 100644 index 0000000..d95f195 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steamhttpenums.h @@ -0,0 +1,98 @@ +//====== Copyright © 1996-2010, Valve Corporation, All rights reserved. ======= +// +// Purpose: HTTP related enums, stuff that is shared by both clients and servers, and our +// UI projects goes here. +// +//============================================================================= + +#ifndef STEAMHTTPENUMS_H +#define STEAMHTTPENUMS_H +#ifdef _WIN32 +#pragma once +#endif + +// HTTP related types + +// This enum is used in client API methods, do not re-number existing values. +enum EHTTPMethod +{ + k_EHTTPMethodInvalid = 0, + k_EHTTPMethodGET, + k_EHTTPMethodHEAD, + k_EHTTPMethodPOST, + k_EHTTPMethodPUT, + k_EHTTPMethodDELETE, + k_EHTTPMethodOPTIONS, + k_EHTTPMethodPATCH, + + // The remaining HTTP methods are not yet supported, per rfc2616 section 5.1.1 only GET and HEAD are required for + // a compliant general purpose server. We'll likely add more as we find uses for them. + + // k_EHTTPMethodTRACE, + // k_EHTTPMethodCONNECT +}; + + +// HTTP Status codes that the server can send in response to a request, see rfc2616 section 10.3 for descriptions +// of each of these. +enum EHTTPStatusCode +{ + // Invalid status code (this isn't defined in HTTP, used to indicate unset in our code) + k_EHTTPStatusCodeInvalid = 0, + + // Informational codes + k_EHTTPStatusCode100Continue = 100, + k_EHTTPStatusCode101SwitchingProtocols = 101, + + // Success codes + k_EHTTPStatusCode200OK = 200, + k_EHTTPStatusCode201Created = 201, + k_EHTTPStatusCode202Accepted = 202, + k_EHTTPStatusCode203NonAuthoritative = 203, + k_EHTTPStatusCode204NoContent = 204, + k_EHTTPStatusCode205ResetContent = 205, + k_EHTTPStatusCode206PartialContent = 206, + + // Redirection codes + k_EHTTPStatusCode300MultipleChoices = 300, + k_EHTTPStatusCode301MovedPermanently = 301, + k_EHTTPStatusCode302Found = 302, + k_EHTTPStatusCode303SeeOther = 303, + k_EHTTPStatusCode304NotModified = 304, + k_EHTTPStatusCode305UseProxy = 305, + //k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1) + k_EHTTPStatusCode307TemporaryRedirect = 307, + + // Error codes + k_EHTTPStatusCode400BadRequest = 400, + k_EHTTPStatusCode401Unauthorized = 401, // You probably want 403 or something else. 401 implies you're sending a WWW-Authenticate header and the client can sent an Authorization header in response. + k_EHTTPStatusCode402PaymentRequired = 402, // This is reserved for future HTTP specs, not really supported by clients + k_EHTTPStatusCode403Forbidden = 403, + k_EHTTPStatusCode404NotFound = 404, + k_EHTTPStatusCode405MethodNotAllowed = 405, + k_EHTTPStatusCode406NotAcceptable = 406, + k_EHTTPStatusCode407ProxyAuthRequired = 407, + k_EHTTPStatusCode408RequestTimeout = 408, + k_EHTTPStatusCode409Conflict = 409, + k_EHTTPStatusCode410Gone = 410, + k_EHTTPStatusCode411LengthRequired = 411, + k_EHTTPStatusCode412PreconditionFailed = 412, + k_EHTTPStatusCode413RequestEntityTooLarge = 413, + k_EHTTPStatusCode414RequestURITooLong = 414, + k_EHTTPStatusCode415UnsupportedMediaType = 415, + k_EHTTPStatusCode416RequestedRangeNotSatisfiable = 416, + k_EHTTPStatusCode417ExpectationFailed = 417, + k_EHTTPStatusCode4xxUnknown = 418, // 418 is reserved, so we'll use it to mean unknown + k_EHTTPStatusCode429TooManyRequests = 429, + + // Server error codes + k_EHTTPStatusCode500InternalServerError = 500, + k_EHTTPStatusCode501NotImplemented = 501, + k_EHTTPStatusCode502BadGateway = 502, + k_EHTTPStatusCode503ServiceUnavailable = 503, + k_EHTTPStatusCode504GatewayTimeout = 504, + k_EHTTPStatusCode505HTTPVersionNotSupported = 505, + k_EHTTPStatusCode5xxUnknown = 599, +}; + +#endif // STEAMHTTPENUMS_H \ No newline at end of file diff --git a/source/Steamworks_xcode/Steamworks/Include/steamps3params.h b/source/Steamworks_xcode/Steamworks/Include/steamps3params.h new file mode 100644 index 0000000..c0741b4 --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steamps3params.h @@ -0,0 +1,112 @@ +//====== Copyright 1996-2008, Valve Corporation, All rights reserved. ======= +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMPS3PARAMS_H +#define STEAMPS3PARAMS_H +#ifdef _WIN32 +#pragma once +#endif + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// PlayStation 3 initialization parameters +// +// The following structure must be passed to when loading steam_api_ps3.prx +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAM_PS3_PATH_MAX 1055 +#define STEAM_PS3_SERVICE_ID_MAX 32 +#define STEAM_PS3_COMMUNICATION_ID_MAX 10 +#define STEAM_PS3_COMMUNICATION_SIG_MAX 160 +#define STEAM_PS3_LANGUAGE_MAX 64 +#define STEAM_PS3_REGION_CODE_MAX 16 +#define STEAM_PS3_CURRENT_PARAMS_VER 2 +struct SteamPS3Params_t +{ + uint32 m_unVersion; // set to STEAM_PS3_CURRENT_PARAMS_VER + + void *pReserved; + uint32 m_nAppId; // set to your game's appid + + char m_rgchInstallationPath[ STEAM_PS3_PATH_MAX ]; // directory containing latest steam prx's and sdata. Can be read only (BDVD) + char m_rgchSystemCache[ STEAM_PS3_PATH_MAX ]; // temp working cache, not persistent + char m_rgchGameData[ STEAM_PS3_PATH_MAX ]; // persistent game data path for storing user data + char m_rgchNpServiceID[ STEAM_PS3_SERVICE_ID_MAX ]; + char m_rgchNpCommunicationID[ STEAM_PS3_COMMUNICATION_ID_MAX ]; + char m_rgchNpCommunicationSig[ STEAM_PS3_COMMUNICATION_SIG_MAX ]; + + // Language should be one of the following. must be zero terminated + // danish + // dutch + // english + // finnish + // french + // german + // italian + // korean + // norwegian + // polish + // portuguese + // russian + // schinese + // spanish + // swedish + // tchinese + char m_rgchSteamLanguage[ STEAM_PS3_LANGUAGE_MAX ]; + + // region codes are "SCEA", "SCEE", "SCEJ". must be zero terminated + char m_rgchRegionCode[ STEAM_PS3_REGION_CODE_MAX ]; + + // Should be SYS_TTYP3 through SYS_TTYP10, if it's 0 then Steam won't spawn a + // thread to read console input at all. Using this let's you use Steam console commands + // like: profile_on, profile_off, profile_dump, mem_stats, mem_validate. + unsigned int m_cSteamInputTTY; + + struct Ps3netInit_t + { + bool m_bNeedInit; + void *m_pMemory; + int m_nMemorySize; + int m_flags; + } m_sysNetInitInfo; + + struct Ps3jpgInit_t + { + bool m_bNeedInit; + } m_sysJpgInitInfo; + + struct Ps3pngInit_t + { + bool m_bNeedInit; + } m_sysPngInitInfo; + + struct Ps3sysutilUserInfo_t + { + bool m_bNeedInit; + } m_sysSysUtilUserInfo; + + bool m_bIncludeNewsPage; +}; + + +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +// PlayStation 3 memory structure +//----------------------------------------------------------------------------------------------------------------------------------------------------------// +#define STEAMPS3_MALLOC_INUSE 0x53D04A51 +#define STEAMPS3_MALLOC_SYSTEM 0x0D102C48 +#define STEAMPS3_MALLOC_OK 0xFFD04A51 +struct SteamPS3Memory_t +{ + bool m_bSingleAllocation; // If true, Steam will request one 6MB allocation and use the returned memory for all future allocations + // If false, Steam will make call malloc for each allocation + + // required function pointers + void* (*m_pfMalloc)(size_t); + void* (*m_pfRealloc)(void *, size_t); + void (*m_pfFree)(void *); + size_t (*m_pUsable_size)(void*); +}; + + +#endif // STEAMPS3PARAMS_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steamtypes.h b/source/Steamworks_xcode/Steamworks/Include/steamtypes.h new file mode 100644 index 0000000..45c195e --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steamtypes.h @@ -0,0 +1,184 @@ +//========= Copyright © 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMTYPES_H +#define STEAMTYPES_H +#ifdef _WIN32 +#pragma once +#endif + +#define S_CALLTYPE __cdecl + +// Steam-specific types. Defined here so this header file can be included in other code bases. +#ifndef WCHARTYPES_H +typedef unsigned char uint8; +#endif + +#if defined( __GNUC__ ) && !defined(POSIX) + #if __GNUC__ < 4 + #error "Steamworks requires GCC 4.X (4.2 or 4.4 have been tested)" + #endif + #define POSIX 1 +#endif + +#if defined(__x86_64__) || defined(_WIN64) || defined(__aarch64__) +#define X64BITS +#endif + +// Make sure VALVE_BIG_ENDIAN gets set on PS3, may already be set previously in Valve internal code. +#if !defined(VALVE_BIG_ENDIAN) && defined(_PS3) +#define VALVE_BIG_ENDIAN +#endif + +typedef unsigned char uint8; +typedef signed char int8; + +#if defined( _WIN32 ) + +typedef __int16 int16; +typedef unsigned __int16 uint16; +typedef __int32 int32; +typedef unsigned __int32 uint32; +typedef __int64 int64; +typedef unsigned __int64 uint64; + +typedef int64 lint64; +typedef uint64 ulint64; + +#ifdef X64BITS +typedef __int64 intp; // intp is an integer that can accomodate a pointer +typedef unsigned __int64 uintp; // (ie, sizeof(intp) >= sizeof(int) && sizeof(intp) >= sizeof(void *) +#else +typedef __int32 intp; +typedef unsigned __int32 uintp; +#endif + +#else // _WIN32 + +typedef short int16; +typedef unsigned short uint16; +typedef int int32; +typedef unsigned int uint32; +typedef long long int64; +typedef unsigned long long uint64; + +// [u]int64 are actually defined as 'long long' and gcc 64-bit +// doesn't automatically consider them the same as 'long int'. +// Changing the types for [u]int64 is complicated by +// there being many definitions, so we just +// define a 'long int' here and use it in places that would +// otherwise confuse the compiler. +typedef long int lint64; +typedef unsigned long int ulint64; + +#ifdef X64BITS +typedef long long intp; +typedef unsigned long long uintp; +#else +typedef int intp; +typedef unsigned int uintp; +#endif + +#endif // else _WIN32 + +#ifdef API_GEN +# define CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) +#else +# define CLANG_ATTR(ATTR) +#endif + +#define METHOD_DESC(DESC) CLANG_ATTR( "desc:" #DESC ";" ) +#define IGNOREATTR() CLANG_ATTR( "ignore" ) +#define OUT_STRUCT() CLANG_ATTR( "out_struct: ;" ) +#define OUT_STRING() CLANG_ATTR( "out_string: ;" ) +#define OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) +#define OUT_ARRAY_COUNT(COUNTER, DESC) CLANG_ATTR( "out_array_count:" #COUNTER ";desc:" #DESC ) +#define ARRAY_COUNT(COUNTER) CLANG_ATTR( "array_count:" #COUNTER ";" ) +#define ARRAY_COUNT_D(COUNTER, DESC) CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) +#define BUFFER_COUNT(COUNTER) CLANG_ATTR( "buffer_count:" #COUNTER ";" ) +#define OUT_BUFFER_COUNT(COUNTER) CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) +#define OUT_STRING_COUNT(COUNTER) CLANG_ATTR( "out_string_count:" #COUNTER ";" ) +#define DESC(DESC) CLANG_ATTR("desc:" #DESC ";") +#define CALL_RESULT(RESULT_TYPE) CLANG_ATTR("callresult:" #RESULT_TYPE ";") +#define CALL_BACK(RESULT_TYPE) CLANG_ATTR("callback:" #RESULT_TYPE ";") + +const int k_cubSaltSize = 8; +typedef uint8 Salt_t[ k_cubSaltSize ]; + +//----------------------------------------------------------------------------- +// GID (GlobalID) stuff +// This is a globally unique identifier. It's guaranteed to be unique across all +// racks and servers for as long as a given universe persists. +//----------------------------------------------------------------------------- +// NOTE: for GID parsing/rendering and other utils, see gid.h +typedef uint64 GID_t; + +const GID_t k_GIDNil = 0xffffffffffffffffull; + +// For convenience, we define a number of types that are just new names for GIDs +typedef uint64 JobID_t; // Each Job has a unique ID +typedef GID_t TxnID_t; // Each financial transaction has a unique ID + +const GID_t k_TxnIDNil = k_GIDNil; +const GID_t k_TxnIDUnknown = 0; + +const JobID_t k_JobIDNil = 0xffffffffffffffffull; + +// this is baked into client messages and interfaces as an int, +// make sure we never break this. +typedef uint32 PackageId_t; +const PackageId_t k_uPackageIdFreeSub = 0x0; +const PackageId_t k_uPackageIdInvalid = 0xFFFFFFFF; + +typedef uint32 BundleId_t; +const BundleId_t k_uBundleIdInvalid = 0; + +// this is baked into client messages and interfaces as an int, +// make sure we never break this. +typedef uint32 AppId_t; +const AppId_t k_uAppIdInvalid = 0x0; + +typedef uint64 AssetClassId_t; +const AssetClassId_t k_ulAssetClassIdInvalid = 0x0; + +typedef uint32 PhysicalItemId_t; +const PhysicalItemId_t k_uPhysicalItemIdInvalid = 0x0; + + +// this is baked into client messages and interfaces as an int, +// make sure we never break this. AppIds and DepotIDs also presently +// share the same namespace, but since we'd like to change that in the future +// I've defined it seperately here. +typedef uint32 DepotId_t; +const DepotId_t k_uDepotIdInvalid = 0x0; + +// RTime32 +// We use this 32 bit time representing real world time. +// It offers 1 second resolution beginning on January 1, 1970 (Unix time) +typedef uint32 RTime32; + +typedef uint32 CellID_t; +const CellID_t k_uCellIDInvalid = 0xFFFFFFFF; + +// handle to a Steam API call +typedef uint64 SteamAPICall_t; +const SteamAPICall_t k_uAPICallInvalid = 0x0; + +typedef uint32 AccountID_t; + +typedef uint32 PartnerId_t; +const PartnerId_t k_uPartnerIdInvalid = 0; + +// ID for a depot content manifest +typedef uint64 ManifestId_t; +const ManifestId_t k_uManifestIdInvalid = 0; + +// ID for cafe sites +typedef uint64 SiteId_t; +const SiteId_t k_ulSiteIdInvalid = 0; + + +#endif // STEAMTYPES_H diff --git a/source/Steamworks_xcode/Steamworks/Include/steamuniverse.h b/source/Steamworks_xcode/Steamworks/Include/steamuniverse.h new file mode 100644 index 0000000..dd384dc --- /dev/null +++ b/source/Steamworks_xcode/Steamworks/Include/steamuniverse.h @@ -0,0 +1,27 @@ +//========= Copyright � 1996-2008, Valve LLC, All rights reserved. ============ +// +// Purpose: +// +//============================================================================= + +#ifndef STEAMUNIVERSE_H +#define STEAMUNIVERSE_H +#ifdef _WIN32 +#pragma once +#endif + + +// Steam universes. Each universe is a self-contained Steam instance. +enum EUniverse +{ + k_EUniverseInvalid = 0, + k_EUniversePublic = 1, + k_EUniverseBeta = 2, + k_EUniverseInternal = 3, + k_EUniverseDev = 4, + // k_EUniverseRC = 5, // no such universe anymore + k_EUniverseMax +}; + + +#endif // STEAMUNIVERSE_H diff --git a/source/build_linux64.sh b/source/build_linux64.sh new file mode 100644 index 0000000..dcd235f --- /dev/null +++ b/source/build_linux64.sh @@ -0,0 +1,14 @@ +#!/bin/sh +g++ -m64 \ + -std=c++17 \ + json-c-0.9/*.c \ + Steamworks_vs/Steamworks/*.cpp \ + Steamworks_vs/Steamworks/GMLSteam/steam_*.cpp \ + -Wl,-rpath,assets/ -fPIC \ + -Ijson-c-0.9/ \ + -Lsteamworks_sdk/redistributable_bin/linux64 \ + -lsteam_api \ + -Isteamworks_sdk/public/steam \ + -ISteamworks_vs/Steamworks/GMLSteam/ \ + -ISteamworks_vs/Steamworks/ \ + -shared -o Steamworks_gml/extensions/Steamworks/Steamworks.so \ No newline at end of file diff --git a/source/json-c-0.9/3DS/JSON-configM.h b/source/json-c-0.9/3DS/JSON-configM.h new file mode 100644 index 0000000..d970253 --- /dev/null +++ b/source/json-c-0.9/3DS/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRNDUP 0 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +//#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/Android/JSON-configM.h b/source/json-c-0.9/Android/JSON-configM.h new file mode 100644 index 0000000..885a253 --- /dev/null +++ b/source/json-c-0.9/Android/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + + + + + +#endif diff --git a/source/json-c-0.9/JSON-config.h b/source/json-c-0.9/JSON-config.h new file mode 100644 index 0000000..3ec23ac --- /dev/null +++ b/source/json-c-0.9/JSON-config.h @@ -0,0 +1,43 @@ +#ifndef _JSON_CONFIG_H_ +#define _JSON_CONFIG_H_ + +#if defined(WIN_PHONE) +#include "WinPhone/JSON-configM.h" +#elif defined (WIN_CLASSIC) +#include "Win32/JSON-configM.h" +#elif defined (WIN_METRO) +#include "WinMetro/JSON-configM.h" +#elif defined (IPAD) +#include "iPad/JSON-configM.h" +#elif defined(ANDROID_NDK) +#include "Android/JSON-configM.h" +#elif defined(MAC) +#include "Mac/JSON-configM.h" +#elif defined(__psp__) +#include "PSP/JSON-configM.h" +#elif defined(LINUX) || defined(EMSCRIPTEN) +#include "Linux/JSON-configM.h" +#elif defined(TIZEN) +#include "Tizen/JSON-configM.h" +#elif defined(YYPSVITA) +#include "PSVita/JSON-configM.h" +#elif defined(YYPS4) +#include "PS4/JSON-configM.h" +#elif defined(YYPS5) +#include "PS5/JSON-configM.h" +#elif defined(YYPS3) +#include "PS3/JSON-configM.h" +#elif defined(YYSWITCH) +#include "Switch/JSON-configM.h" +#elif defined(YYWIIU) +#include "WiiU/JSON-configM.h" +#elif defined(YY3DS) +#include "3DS/JSON-configM.h" +#elif defined (YYXBOX) +#include "XboxOne/JSON-configM.h" +#endif + + + + +#endif diff --git a/source/json-c-0.9/Linux/JSON-configM.h b/source/json-c-0.9/Linux/JSON-configM.h new file mode 100644 index 0000000..885a253 --- /dev/null +++ b/source/json-c-0.9/Linux/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + + + + + +#endif diff --git a/source/json-c-0.9/Mac/JSON-configM.h b/source/json-c-0.9/Mac/JSON-configM.h new file mode 100644 index 0000000..72b5a23 --- /dev/null +++ b/source/json-c-0.9/Mac/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + + + + + +#endif diff --git a/source/json-c-0.9/PS3/JSON-configM.h b/source/json-c-0.9/PS3/JSON-configM.h new file mode 100644 index 0000000..c80432d --- /dev/null +++ b/source/json-c-0.9/PS3/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +//#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/PS4/JSON-configM.h b/source/json-c-0.9/PS4/JSON-configM.h new file mode 100644 index 0000000..c80432d --- /dev/null +++ b/source/json-c-0.9/PS4/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +//#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/PS5/JSON-configM.h b/source/json-c-0.9/PS5/JSON-configM.h new file mode 100644 index 0000000..c80432d --- /dev/null +++ b/source/json-c-0.9/PS5/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +//#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/PSP/JSON-configM.h b/source/json-c-0.9/PSP/JSON-configM.h new file mode 100644 index 0000000..885a253 --- /dev/null +++ b/source/json-c-0.9/PSP/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + + + + + +#endif diff --git a/source/json-c-0.9/PSVita/JSON-configM.h b/source/json-c-0.9/PSVita/JSON-configM.h new file mode 100644 index 0000000..c80432d --- /dev/null +++ b/source/json-c-0.9/PSVita/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +//#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/Switch/JSON-configM.h b/source/json-c-0.9/Switch/JSON-configM.h new file mode 100644 index 0000000..9458985 --- /dev/null +++ b/source/json-c-0.9/Switch/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/Tizen/JSON-configM.h b/source/json-c-0.9/Tizen/JSON-configM.h new file mode 100644 index 0000000..2baecdb --- /dev/null +++ b/source/json-c-0.9/Tizen/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/WiiU/JSON-configM.h b/source/json-c-0.9/WiiU/JSON-configM.h new file mode 100644 index 0000000..c80432d --- /dev/null +++ b/source/json-c-0.9/WiiU/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +//#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +//#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +//#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +//#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +#define NULL 0 + + + +#endif diff --git a/source/json-c-0.9/Win32/JSON-configM.h b/source/json-c-0.9/Win32/JSON-configM.h new file mode 100644 index 0000000..3568b38 --- /dev/null +++ b/source/json-c-0.9/Win32/JSON-configM.h @@ -0,0 +1,90 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#undef HAVE_STRNCASECMP + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + + + +#endif diff --git a/source/json-c-0.9/WinMetro/JSON-configM.h b/source/json-c-0.9/WinMetro/JSON-configM.h new file mode 100644 index 0000000..3568b38 --- /dev/null +++ b/source/json-c-0.9/WinMetro/JSON-configM.h @@ -0,0 +1,90 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#undef HAVE_STRNCASECMP + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + + + +#endif diff --git a/source/json-c-0.9/WinPhone/JSON-configM.h b/source/json-c-0.9/WinPhone/JSON-configM.h new file mode 100644 index 0000000..3568b38 --- /dev/null +++ b/source/json-c-0.9/WinPhone/JSON-configM.h @@ -0,0 +1,90 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#undef HAVE_STRNCASECMP + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + + + +#endif diff --git a/source/json-c-0.9/XboxOne/JSON-configM.h b/source/json-c-0.9/XboxOne/JSON-configM.h new file mode 100644 index 0000000..57e4555 --- /dev/null +++ b/source/json-c-0.9/XboxOne/JSON-configM.h @@ -0,0 +1,90 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +#include + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#undef HAVE_STRNCASECMP + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +#endif diff --git a/source/json-c-0.9/arraylist.c b/source/json-c-0.9/arraylist.c new file mode 100644 index 0000000..1341fa8 --- /dev/null +++ b/source/json-c-0.9/arraylist.c @@ -0,0 +1,95 @@ +/* + * $Id: arraylist.c,v 1.4 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#include "JSON-config.h" + +#if STDC_HEADERS +# include +# include +#endif /* STDC_HEADERS */ + +#if defined HAVE_STRINGS_H && !defined _STRING_H && !defined __USE_BSD +# include +#endif /* HAVE_STRINGS_H */ + +#include "bits.h" +#include "arraylist.h" +#include "debug.h" + +struct array_list* +array_list_new(array_list_free_fn *free_fn) +{ + struct array_list *arr; + + arr = (struct array_list*)yy_calloc(1, sizeof(struct array_list)); + if(!arr) return NULL; + arr->size = ARRAY_LIST_DEFAULT_SIZE; + arr->length = 0; + arr->free_fn = free_fn; + if(!(arr->array = (void**)yy_calloc(sizeof(void*), arr->size))) { + yy_free(arr); + return NULL; + } + return arr; +} + +extern void +array_list_free(struct array_list *arr) +{ + int i; + for(i = 0; i < arr->length; i++) + if(arr->array[i]) arr->free_fn(arr->array[i]); + yy_free(arr->array); + yy_free(arr); +} + +void* +array_list_get_idx(struct array_list *arr, int i) +{ + if(i >= arr->length) return NULL; + return arr->array[i]; +} + +static int array_list_expand_internal(struct array_list *arr, int max) +{ + void *t; + int new_size; + + if(max < arr->size) return 0; + new_size = json_max(arr->size << 1, max); + if(!(t = yy_realloc(arr->array, new_size*sizeof(void*)))) return -1; + arr->array = (void**)t; + (void)memset(arr->array + arr->size, 0, (new_size-arr->size)*sizeof(void*)); + arr->size = new_size; + return 0; +} + +int +array_list_put_idx(struct array_list *arr, int idx, void *data) +{ + if(array_list_expand_internal(arr, idx)) return -1; + if(arr->array[idx]) arr->free_fn(arr->array[idx]); + arr->array[idx] = data; + if(arr->length <= idx) arr->length = idx + 1; + return 0; +} + +int +array_list_add(struct array_list *arr, void *data) +{ + return array_list_put_idx(arr, arr->length, data); +} + +int +array_list_length(struct array_list *arr) +{ + return arr->length; +} diff --git a/source/json-c-0.9/arraylist.h b/source/json-c-0.9/arraylist.h new file mode 100644 index 0000000..bc85c80 --- /dev/null +++ b/source/json-c-0.9/arraylist.h @@ -0,0 +1,53 @@ +/* + * $Id: arraylist.h,v 1.4 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _arraylist_h_ +#define _arraylist_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define ARRAY_LIST_DEFAULT_SIZE 32 + +typedef void (array_list_free_fn) (void *data); + +struct array_list +{ + void **array; + int length; + int size; + array_list_free_fn *free_fn; +}; + +extern struct array_list* +array_list_new(array_list_free_fn *free_fn); + +extern void +array_list_free(struct array_list *al); + +extern void* +array_list_get_idx(struct array_list *al, int i); + +extern int +array_list_put_idx(struct array_list *al, int i, void *data); + +extern int +array_list_add(struct array_list *al, void *data); + +extern int +array_list_length(struct array_list *al); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/bits.h b/source/json-c-0.9/bits.h new file mode 100644 index 0000000..2615c35 --- /dev/null +++ b/source/json-c-0.9/bits.h @@ -0,0 +1,27 @@ +/* + * $Id: bits.h,v 1.10 2006/01/30 23:07:57 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _bits_h_ +#define _bits_h_ + +#ifndef json_min +#define json_min(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifndef json_max +#define json_max(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#define hexdigit(x) (((x) <= '9') ? (x) - '0' : ((x) & 7) + 9) +#define error_ptr(error) ((void*)error) +#define is_error(ptr) ((unsigned long)(intptr_t)ptr > (unsigned long)-4000L) + +#endif diff --git a/source/json-c-0.9/debug.c b/source/json-c-0.9/debug.c new file mode 100644 index 0000000..3e14482 --- /dev/null +++ b/source/json-c-0.9/debug.c @@ -0,0 +1,98 @@ +/* + * $Id: debug.c,v 1.5 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#include "JSON-config.h" + +#include +#include +#include +#include + +#if HAVE_SYSLOG_H +# include +#endif /* HAVE_SYSLOG_H */ + +#if HAVE_UNISTD_H +# include +#endif /* HAVE_UNISTD_H */ + +#if HAVE_SYS_PARAM_H +#include +#endif /* HAVE_SYS_PARAM_H */ + +#include "debug.h" + +static int _syslog = 0; +static int _debug = 0; + +void mc_set_debug(int debug) { _debug = debug; } +int mc_get_debug(void) { return _debug; } + +extern void mc_set_syslog(int syslog) +{ + _syslog = syslog; +} + +void mc_abort(const char *msg, ...) +{ + va_list ap; + va_start(ap, msg); +#if HAVE_VSYSLOG + if(_syslog) { + vsyslog(LOG_ERR, msg, ap); + } else +#endif + vprintf(msg, ap); + va_end(ap); + exit(1); +} + + +void mc_debug(const char *msg, ...) +{ + va_list ap; + if(_debug) { + va_start(ap, msg); +#if HAVE_VSYSLOG + if(_syslog) { + vsyslog(LOG_DEBUG, msg, ap); + } else +#endif + vprintf(msg, ap); + va_end(ap); + } +} + +void mc_error(const char *msg, ...) +{ + va_list ap; + va_start(ap, msg); +#if HAVE_VSYSLOG + if(_syslog) { + vsyslog(LOG_ERR, msg, ap); + } else +#endif + vfprintf(stderr, msg, ap); + va_end(ap); +} + +void mc_info(const char *msg, ...) +{ + va_list ap; + va_start(ap, msg); +#if HAVE_VSYSLOG + if(_syslog) { + vsyslog(LOG_INFO, msg, ap); + } else +#endif + vfprintf(stderr, msg, ap); + va_end(ap); +} diff --git a/source/json-c-0.9/debug.h b/source/json-c-0.9/debug.h new file mode 100644 index 0000000..4b371e1 --- /dev/null +++ b/source/json-c-0.9/debug.h @@ -0,0 +1,65 @@ +/* + * $Id: debug.h,v 1.5 2006/01/30 23:07:57 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _DEBUG_H_ +#define _DEBUG_H_ + +//#include "../Platform/yy_memory_c.h" + +#include +#include +#include + +#define _CRT_SECURE_NO_WARNINGS + +#define yy_calloc calloc +#define yy_malloc malloc +#define yy_free free +#define yy_strdup strdup +#define yy_realloc realloc + + +#ifdef __cplusplus +extern "C" { +#endif + +extern void mc_set_debug(int debug); +extern int mc_get_debug(void); + +extern void mc_set_syslog(int syslog); +extern void mc_abort(const char *msg, ...); +extern void mc_debug(const char *msg, ...); +extern void mc_error(const char *msg, ...); +extern void mc_info(const char *msg, ...); + +#ifdef MC_MAINTAINER_MODE +#define MC_SET_DEBUG(x) mc_set_debug(x) +#define MC_GET_DEBUG() mc_get_debug() +#define MC_SET_SYSLOG(x) mc_set_syslog(x) +#define MC_ABORT(x, ...) mc_abort(x, ##__VA_ARGS__) +#define MC_DEBUG(x, ...) mc_debug(x, ##__VA_ARGS__) +#define MC_ERROR(x, ...) mc_error(x, ##__VA_ARGS__) +#define MC_INFO(x, ...) mc_info(x, ##__VA_ARGS__) +#else +#define MC_SET_DEBUG(x) if (0) mc_set_debug(x) +#define MC_GET_DEBUG() (0) +#define MC_SET_SYSLOG(x) if (0) mc_set_syslog(x) +#define MC_ABORT(x, ...) if (0) mc_abort(x, ##__VA_ARGS__) +#define MC_DEBUG(x, ...) if (0) mc_debug(x, ##__VA_ARGS__) +#define MC_ERROR(x, ...) if (0) mc_error(x, ##__VA_ARGS__) +#define MC_INFO(x, ...) if (0) mc_info(x, ##__VA_ARGS__) +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/iPad/JSON-configM.h b/source/json-c-0.9/iPad/JSON-configM.h new file mode 100644 index 0000000..885a253 --- /dev/null +++ b/source/json-c-0.9/iPad/JSON-configM.h @@ -0,0 +1,101 @@ +#ifndef _JSON_CONFIGM_H_ +#define _JSON_CONFIGM_H_ + +/* config.h.win32 Generated by configure. */ + +#define PACKAGE_STRING "JSON C Library 0.2" +#define PACKAGE_BUGREPORT "michael@metaparadigm.com" +#define PACKAGE_NAME "JSON C Library" +#define PACKAGE_TARNAME "json-c" +#define PACKAGE_VERSION "0.2" + +/* config.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_INTTYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_LIMITS_H 1 + +/* Define to 1 if your system has a GNU libc compatible `malloc' function, and + to 0 otherwise. */ +#define HAVE_MALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the `open' function. */ +#undef HAVE_OPEN + +/* Define to 1 if your system has a GNU libc compatible `realloc' function, + and to 0 otherwise. */ +#define HAVE_REALLOC 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDINT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strdup' function. */ +#define HAVE_STRNDUP 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STDARG_H 1 + +/* Define to 1 if you have the `strerror' function. */ +#define HAVE_STRERROR 1 + +/* Define to 1 if you have the header file. */ +//#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYSLOG_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_PARAM_H + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to 1 if you have the `vsyslog' function. */ +#undef HAVE_VSYSLOG + +/* Define to 1 if you have the `strncasecmp' function. */ +#define HAVE_STRNCASECMP 1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Define to 1 if you have the `vsnprintf' function. */ +#define HAVE_VSNPRINTF 1 + +/* Define to 1 if you have the `vasprintf' function. */ +#define HAVE_VASPRINTF 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + + + + + +#endif diff --git a/source/json-c-0.9/json-c.h b/source/json-c-0.9/json-c.h new file mode 100644 index 0000000..9cc2a73 --- /dev/null +++ b/source/json-c-0.9/json-c.h @@ -0,0 +1,32 @@ +/* + * $Id: json.h,v 1.6 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _json_h_ +#define _json_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "bits.h" +#include "debug.h" +#include "linkhash.h" +#include "arraylist.h" +#include "json_util.h" +#include "json_object.h" +#include "json_tokener.h" +//#include "../Platform/yy_memory_c.h" + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/json_object.c b/source/json-c-0.9/json_object.c new file mode 100644 index 0000000..7656693 --- /dev/null +++ b/source/json-c-0.9/json_object.c @@ -0,0 +1,554 @@ +/* + * $Id: json_object.c,v 1.17 2006/07/25 03:24:50 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ +#ifndef _CRT_NONSTDC_NO_DEPRECATE +# define _CRT_NONSTDC_NO_DEPRECATE +#endif +#include "JSON-config.h" + +#include +#include +#include +#include +#include + +#include "debug.h" +#include "printbuf.h" +#include "linkhash.h" +#include "arraylist.h" +#include "json_object.h" +#include "json_object_private.h" + +#define _CRT_SECURE_NO_WARNINGS + +#if !defined(HAVE_STRNDUP) + char* strndup(const char* str, size_t n); +#endif /* !HAVE_STRNDUP */ + +#define _CRT_SECURE_NO_WARNINGS + +/* #define REFCOUNT_DEBUG 1 */ + +const char *json_number_chars = "0123456789.+-eE"; +const char *json_hex_chars = "0123456789abcdef"; + +#ifdef REFCOUNT_DEBUG +static const char* json_type_name[] = { + "null", + "boolean", + "double", + "int", + "object", + "array", + "string", +}; +#endif /* REFCOUNT_DEBUG */ + +static void json_object_generic_delete(struct json_object* jso); +static struct json_object* json_object_new(enum json_type o_type); + + +/* ref count debugging */ + +#ifdef REFCOUNT_DEBUG + +static struct lh_table *json_object_table; + +static void json_object_init(void) __attribute__ ((constructor)); +static void json_object_init(void) { + MC_DEBUG("json_object_init: creating object table\n"); + json_object_table = lh_kptr_table_new(128, "json_object_table", NULL); +} + +static void json_object_fini(void) __attribute__ ((destructor)); +static void json_object_fini(void) { + struct lh_entry *ent; + if(MC_GET_DEBUG()) { + if (json_object_table->count) { + MC_DEBUG("json_object_fini: %d referenced objects at exit\n", + json_object_table->count); + lh_foreach(json_object_table, ent) { + struct json_object* obj = (struct json_object*)ent->v; + MC_DEBUG("\t%s:%p\n", json_type_name[obj->o_type], obj); + } + } + } + MC_DEBUG("json_object_fini: freeing object table\n"); + lh_table_free(json_object_table); +} +#endif /* REFCOUNT_DEBUG */ + + +/* string escaping */ + +static int json_escape_str(struct printbuf *pb, char *str) +{ + int pos = 0, start_offset = 0; + unsigned char c; + do { + c = str[pos]; + switch(c) { + case '\0': + break; + case '\b': + case '\n': + case '\r': + case '\t': + case '"': + case '\\': + case '/': + if(pos - start_offset > 0) + printbuf_memappend(pb, str + start_offset, pos - start_offset); + if(c == '\b') printbuf_memappend(pb, "\\b", 2); + else if(c == '\n') printbuf_memappend(pb, "\\n", 2); + else if(c == '\r') printbuf_memappend(pb, "\\r", 2); + else if(c == '\t') printbuf_memappend(pb, "\\t", 2); + else if(c == '"') printbuf_memappend(pb, "\\\"", 2); + else if(c == '\\') printbuf_memappend(pb, "\\\\", 2); + else if(c == '/') printbuf_memappend(pb, "\\/", 2); + start_offset = ++pos; + break; + default: + if(c < ' ') { + if(pos - start_offset > 0) + printbuf_memappend(pb, str + start_offset, pos - start_offset); + sprintbuf(pb, "\\u00%c%c", + json_hex_chars[c >> 4], + json_hex_chars[c & 0xf]); + start_offset = ++pos; + } else pos++; + } + } while(c); + if(pos - start_offset > 0) + printbuf_memappend(pb, str + start_offset, pos - start_offset); + return 0; +} + + +/* reference counting */ + +extern struct json_object* json_object_get(struct json_object *jso) +{ + if(jso) { + jso->_ref_count++; + } + return jso; +} + +extern void json_object_put(struct json_object *jso) +{ + if(jso) { + jso->_ref_count--; + if(!jso->_ref_count) jso->_delete(jso); + } +} + + +/* generic object construction and destruction parts */ + +static void json_object_generic_delete(struct json_object* jso) +{ +#ifdef REFCOUNT_DEBUG + MC_DEBUG("json_object_delete_%s: %p\n", + json_type_name[jso->o_type], jso); + lh_table_delete(json_object_table, jso); +#endif /* REFCOUNT_DEBUG */ + printbuf_free(jso->_pb); + yy_free(jso); +} + +static struct json_object* json_object_new(enum json_type o_type) +{ + struct json_object *jso; + + jso = (struct json_object*)yy_calloc(sizeof(struct json_object), 1); + if(!jso) return NULL; + jso->o_type = o_type; + jso->_ref_count = 1; + jso->_delete = &json_object_generic_delete; +#ifdef REFCOUNT_DEBUG + lh_table_insert(json_object_table, jso, jso); + MC_DEBUG("json_object_new_%s: %p\n", json_type_name[jso->o_type], jso); +#endif /* REFCOUNT_DEBUG */ + return jso; +} + + +/* type checking functions */ + +int json_object_is_type(struct json_object *jso, enum json_type type) +{ + return (jso->o_type == type); +} + +enum json_type json_object_get_type(struct json_object *jso) +{ + return jso->o_type; +} + + +/* json_object_to_json_string */ + +const char* json_object_to_json_string(struct json_object *jso) +{ + if(!jso) return "null"; + if(!jso->_pb) { + if(!(jso->_pb = printbuf_new())) return NULL; + } else { + printbuf_reset(jso->_pb); + } + if(jso->_to_json_string(jso, jso->_pb) < 0) return NULL; + return jso->_pb->buf; +} + + +/* json_object_object */ + +static int json_object_object_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + int i=0; + struct json_object_iter iter; + sprintbuf(pb, "{"); + + /* CAW: scope operator to make ANSI correctness */ + /* CAW: switched to json_object_object_foreachC which uses an iterator struct */ + json_object_object_foreachC(jso, iter) { + if(i) sprintbuf(pb, ","); + sprintbuf(pb, " \""); + json_escape_str(pb, iter.key); + sprintbuf(pb, "\": "); + if(iter.val == NULL) sprintbuf(pb, "null"); + else iter.val->_to_json_string(iter.val, pb); + i++; + } + + return sprintbuf(pb, " }"); +} + +static void json_object_lh_entry_free(struct lh_entry *ent) +{ + yy_free(ent->k); + json_object_put((struct json_object*)ent->v); +} + +static void json_object_object_delete(struct json_object* jso) +{ + lh_table_free(jso->o.c_object); + json_object_generic_delete(jso); +} + +struct json_object* json_object_new_object(void) +{ + struct json_object *jso = json_object_new(json_type_object); + if(!jso) return NULL; + jso->_delete = &json_object_object_delete; + jso->_to_json_string = &json_object_object_to_json_string; + jso->o.c_object = lh_kchar_table_new(JSON_OBJECT_DEF_HASH_ENTRIES, + NULL, &json_object_lh_entry_free); + return jso; +} + +struct lh_table* json_object_get_object(struct json_object *jso) +{ + if(!jso) return NULL; + switch(jso->o_type) { + case json_type_object: + return jso->o.c_object; + default: + return NULL; + } +} + +void json_object_object_add(struct json_object* jso, const char *key, + struct json_object *val) +{ + lh_table_delete(jso->o.c_object, key); + lh_table_insert(jso->o.c_object, yy_strdup(key), val); +} + +struct json_object* json_object_object_get(struct json_object* jso, const char *key) +{ + return (struct json_object*) lh_table_lookup(jso->o.c_object, key); +} + +void json_object_object_del(struct json_object* jso, const char *key) +{ + lh_table_delete(jso->o.c_object, key); +} + + +/* json_object_boolean */ + +static int json_object_boolean_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + if(jso->o.c_boolean) return sprintbuf(pb, "true"); + else return sprintbuf(pb, "false"); +} + +struct json_object* json_object_new_boolean(boolean b) +{ + struct json_object *jso = json_object_new(json_type_boolean); + if(!jso) return NULL; + jso->_to_json_string = &json_object_boolean_to_json_string; + jso->o.c_boolean = b; + return jso; +} + +boolean json_object_get_boolean(struct json_object *jso) +{ + if(!jso) return FALSE; + switch(jso->o_type) { + case json_type_boolean: + return jso->o.c_boolean; + case json_type_int: + return (jso->o.c_int != 0); + case json_type_double: + return (jso->o.c_double != 0); + case json_type_string: + return (strlen(jso->o.c_string) != 0); + default: + return FALSE; + } +} + + +/* json_object_int */ + +static int json_object_int_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + return sprintbuf(pb, "%d", jso->o.c_int); +} + +struct json_object* json_object_new_int(int i) +{ + struct json_object *jso = json_object_new(json_type_int); + if(!jso) return NULL; + jso->_to_json_string = &json_object_int_to_json_string; + jso->o.c_int = i; + return jso; +} + +int json_object_get_int(struct json_object *jso) +{ + int cint; + + if(!jso) return 0; + switch(jso->o_type) { + case json_type_int: + return jso->o.c_int; + case json_type_double: + return (int)jso->o.c_double; + case json_type_boolean: + return jso->o.c_boolean; + case json_type_string: + if(sscanf(jso->o.c_string, "%d", &cint) == 1) return cint; + default: + return 0; + } +} + + +/* json_object_double */ + +static int json_object_double_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + int ret=0; + if (isinf(jso->o.c_double)) { + if (jso->o.c_double < 0) + ret = sprintbuf(pb, "\"-infinity\""); + else + ret = sprintbuf(pb, "\"infinity\""); + } // end if + else + if (isnan(jso->o.c_double)) { + ret = sprintbuf(pb, "\"nan\""); + } // end if + else { + int bpos = pb->bpos; + ret = sprintbuf(pb, "%.32g", jso->o.c_double); + // check for any '.' if not one then add it + int fDot = FALSE; + for (int n = bpos; !fDot && (n < pb->bpos); ++n) { + fDot = (pb->buf[n] == '.'); + } // end for + if (!fDot) sprintbuf(pb, ".0"); + } // end else + return ret; +} + +struct json_object* json_object_new_double(double d) +{ + struct json_object *jso = json_object_new(json_type_double); + if(!jso) return NULL; + jso->_to_json_string = &json_object_double_to_json_string; + jso->o.c_double = d; + return jso; +} + +double json_object_get_double(struct json_object *jso) +{ + double cdouble; + + if(!jso) return 0.0; + switch(jso->o_type) { + case json_type_double: + return jso->o.c_double; + case json_type_int: + return jso->o.c_int; + case json_type_boolean: + return jso->o.c_boolean; + case json_type_string: + if(sscanf(jso->o.c_string, "%lg", &cdouble) == 1) return cdouble; + default: + return 0.0; + } +} + + +/* json_object_string */ + +static int json_object_string_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + sprintbuf(pb, "\""); + json_escape_str(pb, jso->o.c_string); + sprintbuf(pb, "\""); + return 0; +} + +static void json_object_string_delete(struct json_object* jso) +{ + yy_free(jso->o.c_string); + json_object_generic_delete(jso); +} + +static int json_object_null_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + sprintbuf(pb, "null"); + return 0; +} +struct json_object* json_object_new_null( void ) +{ + struct json_object *jso = json_object_new(json_type_null); + if (!jso) return NULL; + jso->_to_json_string = &json_object_null_to_json_string; + return jso; +} + +struct json_object* json_object_new_string(const char *s) +{ + struct json_object *jso = json_object_new(json_type_string); + if(!jso) return NULL; + jso->_delete = &json_object_string_delete; + jso->_to_json_string = &json_object_string_to_json_string; + jso->o.c_string = yy_strdup(s); + return jso; +} + +struct json_object* json_object_new_string_len(const char *s, int len) +{ + struct json_object *jso = json_object_new(json_type_string); + if(!jso) return NULL; + jso->_delete = &json_object_string_delete; + jso->_to_json_string = &json_object_string_to_json_string; + jso->o.c_string = strndup(s, len); + return jso; +} + +const char* json_object_get_string(struct json_object *jso) +{ + if(!jso) return NULL; + switch(jso->o_type) { + case json_type_string: + return jso->o.c_string; + default: + return json_object_to_json_string(jso); + } +} + + +/* json_object_array */ + +static int json_object_array_to_json_string(struct json_object* jso, + struct printbuf *pb) +{ + int i; + sprintbuf(pb, "["); + for(i=0; i < json_object_array_length(jso); i++) { + struct json_object *val; + if(i) { sprintbuf(pb, ", "); } + else { sprintbuf(pb, " "); } + + val = json_object_array_get_idx(jso, i); + if(val == NULL) { sprintbuf(pb, "null"); } + else { val->_to_json_string(val, pb); } + } + return sprintbuf(pb, " ]"); +} + +static void json_object_array_entry_free(void *data) +{ + json_object_put((struct json_object*)data); +} + +static void json_object_array_delete(struct json_object* jso) +{ + array_list_free(jso->o.c_array); + json_object_generic_delete(jso); +} + +struct json_object* json_object_new_array(void) +{ + struct json_object *jso = json_object_new(json_type_array); + if(!jso) return NULL; + jso->_delete = &json_object_array_delete; + jso->_to_json_string = &json_object_array_to_json_string; + jso->o.c_array = array_list_new(&json_object_array_entry_free); + return jso; +} + +struct array_list* json_object_get_array(struct json_object *jso) +{ + if(!jso) return NULL; + switch(jso->o_type) { + case json_type_array: + return jso->o.c_array; + default: + return NULL; + } +} + +int json_object_array_length(struct json_object *jso) +{ + return array_list_length(jso->o.c_array); +} + +int json_object_array_add(struct json_object *jso,struct json_object *val) +{ + return array_list_add(jso->o.c_array, val); +} + +int json_object_array_put_idx(struct json_object *jso, int idx, + struct json_object *val) +{ + return array_list_put_idx(jso->o.c_array, idx, val); +} + +struct json_object* json_object_array_get_idx(struct json_object *jso, + int idx) +{ + return (struct json_object*)array_list_get_idx(jso->o.c_array, idx); +} + diff --git a/source/json-c-0.9/json_object.h b/source/json-c-0.9/json_object.h new file mode 100644 index 0000000..d729167 --- /dev/null +++ b/source/json-c-0.9/json_object.h @@ -0,0 +1,325 @@ +/* + * $Id: json_object.h,v 1.12 2006/01/30 23:07:57 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _json_object_h_ +#define _json_object_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define JSON_OBJECT_DEF_HASH_ENTRIES 16 + +#undef FALSE +#define FALSE ((boolean)0) + +#undef TRUE +#define TRUE ((boolean)1) + +extern const char *json_number_chars; +extern const char *json_hex_chars; + +/* forward structure definitions */ + +#if defined(_GAMING_XBOX) || defined(WIN_CLASSIC) || defined(YYXBOX) || defined(WIN_UAP) +/* Don't conflict with "boolean" type present in GDK SDK (or Windows 10 SDK on Windows)*/ +typedef unsigned char boolean; +#else +typedef int boolean; +#endif +typedef struct printbuf printbuf; +typedef struct lh_table lh_table; +typedef struct array_list array_list; +typedef struct json_object json_object; +typedef struct json_object_iter json_object_iter; +typedef struct json_tokener json_tokener; + +/* supported object types */ + +typedef enum json_type { + json_type_null, + json_type_boolean, + json_type_double, + json_type_int, + json_type_object, + json_type_array, + json_type_string +} json_type; + +/* reference counting functions */ + +/** + * Increment the reference count of json_object + * @param obj the json_object instance + */ +extern struct json_object* json_object_get(struct json_object *obj); + +/** + * Decrement the reference count of json_object and free if it reaches zero + * @param obj the json_object instance + */ +extern void json_object_put(struct json_object *obj); + + +/** + * Check if the json_object is of a given type + * @param obj the json_object instance + * @param type one of: + json_type_boolean, + json_type_double, + json_type_int, + json_type_object, + json_type_array, + json_type_string, + */ +extern int json_object_is_type(struct json_object *obj, enum json_type type); + +/** + * Get the type of the json_object + * @param obj the json_object instance + * @returns type being one of: + json_type_boolean, + json_type_double, + json_type_int, + json_type_object, + json_type_array, + json_type_string, + */ +extern enum json_type json_object_get_type(struct json_object *obj); + + +/** Stringify object to json format + * @param obj the json_object instance + * @returns a string in JSON format + */ +extern const char* json_object_to_json_string(struct json_object *obj); + + +/* object type methods */ + +/** Create a new empty object + * @returns a json_object of type json_type_object + */ +extern struct json_object* json_object_new_object(void); + +/** Get the hashtable of a json_object of type json_type_object + * @param obj the json_object instance + * @returns a linkhash + */ +extern struct lh_table* json_object_get_object(struct json_object *obj); + +/** Add an object field to a json_object of type json_type_object + * + * The reference count will *not* be incremented. This is to make adding + * fields to objects in code more compact. If you want to retain a reference + * to an added object you must wrap the passed object with json_object_get + * + * @param obj the json_object instance + * @param key the object field name (a private copy will be duplicated) + * @param val a json_object or NULL member to associate with the given field + */ +extern void json_object_object_add(struct json_object* obj, const char *key, + struct json_object *val); + +/** Get the json_object associate with a given object field + * @param obj the json_object instance + * @param key the object field name + * @returns the json_object associated with the given field name + */ +extern struct json_object* json_object_object_get(struct json_object* obj, + const char *key); + +/** Delete the given json_object field + * + * The reference count will be decremented for the deleted object + * + * @param obj the json_object instance + * @param key the object field name + */ +extern void json_object_object_del(struct json_object* obj, const char *key); + +/** Iterate through all keys and values of an object + * @param obj the json_object instance + * @param key the local name for the char* key variable defined in the body + * @param val the local name for the json_object* object variable defined in the body + */ +#if defined(__GNUC__) && !defined(__STRICT_ANSI__) && !defined(__psp__) + +# define json_object_object_foreach(obj,key,val) \ + char *key; struct json_object *val; \ + for(struct lh_entry *entry = json_object_get_object(obj)->head; ({ if(entry) { key = (char*)entry->k; val = (struct json_object*)entry->v; } ; entry; }); entry = entry->next ) + +#else /* ANSI C or MSC */ + +# define json_object_object_foreach(obj,key,val) \ + char *key=NULL; struct json_object *val=NULL; struct lh_entry *entry=NULL; \ + for(entry = json_object_get_object(obj)->head; (entry ? (key = (char*)entry->k, val = (struct json_object*)entry->v, entry) : 0); entry = entry->next) + +#endif /* defined(__GNUC__) && !defined(__STRICT_ANSI__) */ + +/** Iterate through all keys and values of an object (ANSI C Safe) + * @param obj the json_object instance + * @param iter the object iterator + */ +#define json_object_object_foreachC(obj,iter) \ + for(iter.entry = json_object_get_object(obj)->head; (iter.entry ? (iter.key = (char*)iter.entry->k, iter.val = (struct json_object*)iter.entry->v, iter.entry) : 0); iter.entry = iter.entry->next) + +/* Array type methods */ + +/** Create a new empty json_object of type json_type_array + * @returns a json_object of type json_type_array + */ +extern struct json_object* json_object_new_array(void); + +/** Get the arraylist of a json_object of type json_type_array + * @param obj the json_object instance + * @returns an arraylist + */ +extern struct array_list* json_object_get_array(struct json_object *obj); + +/** Get the length of a json_object of type json_type_array + * @param obj the json_object instance + * @returns an int + */ +extern int json_object_array_length(struct json_object *obj); + +/** Add an element to the end of a json_object of type json_type_array + * + * The reference count will *not* be incremented. This is to make adding + * fields to objects in code more compact. If you want to retain a reference + * to an added object you must wrap the passed object with json_object_get + * + * @param obj the json_object instance + * @param val the json_object to be added + */ +extern int json_object_array_add(struct json_object *obj, + struct json_object *val); + +/** Insert or replace an element at a specified index in an array (a json_object of type json_type_array) + * + * The reference count will *not* be incremented. This is to make adding + * fields to objects in code more compact. If you want to retain a reference + * to an added object you must wrap the passed object with json_object_get + * + * The reference count of a replaced object will be decremented. + * + * The array size will be automatically be expanded to the size of the + * index if the index is larger than the current size. + * + * @param obj the json_object instance + * @param idx the index to insert the element at + * @param val the json_object to be added + */ +extern int json_object_array_put_idx(struct json_object *obj, int idx, + struct json_object *val); + +/** Get the element at specificed index of the array (a json_object of type json_type_array) + * @param obj the json_object instance + * @param idx the index to get the element at + * @returns the json_object at the specified index (or NULL) + */ +extern struct json_object* json_object_array_get_idx(struct json_object *obj, + int idx); + +/* boolean type methods */ + +/** Create a new empty json_object of type json_type_boolean + * @param b a boolean TRUE or FALSE (0 or 1) + * @returns a json_object of type json_type_boolean + */ +extern struct json_object* json_object_new_boolean(boolean b); + +/** Get the boolean value of a json_object + * + * The type is coerced to a boolean if the passed object is not a boolean. + * integer and double objects will return FALSE if there value is zero + * or TRUE otherwise. If the passed object is a string it will return + * TRUE if it has a non zero length. If any other object type is passed + * TRUE will be returned if the object is not NULL. + * + * @param obj the json_object instance + * @returns a boolean + */ +extern boolean json_object_get_boolean(struct json_object *obj); + + +/* int type methods */ + +/** Create a new empty json_object of type json_type_int + * @param i the integer + * @returns a json_object of type json_type_int + */ +extern struct json_object* json_object_new_int(int i); + +/** Get the int value of a json_object + * + * The type is coerced to a int if the passed object is not a int. + * double objects will return their integer conversion. Strings will be + * parsed as an integer. If no conversion exists then 0 is returned. + * + * @param obj the json_object instance + * @returns an int + */ +extern int json_object_get_int(struct json_object *obj); + + +/* double type methods */ + +/** Create a new empty json_object of type json_type_double + * @param d the double + * @returns a json_object of type json_type_double + */ +extern struct json_object* json_object_new_double(double d); + +/** Get the double value of a json_object + * + * The type is coerced to a double if the passed object is not a double. + * integer objects will return their dboule conversion. Strings will be + * parsed as a double. If no conversion exists then 0.0 is returned. + * + * @param obj the json_object instance + * @returns an double + */ +extern double json_object_get_double(struct json_object *obj); + + +/* string type methods */ + +/** Create a new empty json_object of type json_type_string + * + * A copy of the string is made and the memory is managed by the json_object + * + * @param s the string + * @returns a json_object of type json_type_string + */ +extern struct json_object* json_object_new_string(const char *s); +extern struct json_object* json_object_new_null(); + +extern struct json_object* json_object_new_string_len(const char *s, int len); + +/** Get the string value of a json_object + * + * If the passed object is not of type json_type_string then the JSON + * representation of the object is returned. + * + * The returned string memory is managed by the json_object and will + * be freed when the reference count of the json_object drops to zero. + * + * @param obj the json_object instance + * @returns a string + */ +extern const char* json_object_get_string(struct json_object *obj); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/json_object_private.h b/source/json-c-0.9/json_object_private.h new file mode 100644 index 0000000..9fb4011 --- /dev/null +++ b/source/json-c-0.9/json_object_private.h @@ -0,0 +1,52 @@ +/* + * $Id: json_object_private.h,v 1.4 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _json_object_private_h_ +#define _json_object_private_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void (json_object_delete_fn)(struct json_object *o); +typedef int (json_object_to_json_string_fn)(struct json_object *o, + struct printbuf *pb); + +struct json_object +{ + enum json_type o_type; + json_object_delete_fn *_delete; + json_object_to_json_string_fn *_to_json_string; + int _ref_count; + struct printbuf *_pb; + union data { + boolean c_boolean; + double c_double; + int c_int; + struct lh_table *c_object; + struct array_list *c_array; + char *c_string; + } o; +}; + +/* CAW: added for ANSI C iteration correctness */ +struct json_object_iter +{ + char *key; + struct json_object *val; + struct lh_entry *entry; +}; + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/json_tokener.c b/source/json-c-0.9/json_tokener.c new file mode 100644 index 0000000..21e0368 --- /dev/null +++ b/source/json-c-0.9/json_tokener.c @@ -0,0 +1,687 @@ +/* + * $Id: json_tokener.c,v 1.20 2006/07/25 03:24:50 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + * + * Copyright (c) 2008-2009 Yahoo! Inc. All rights reserved. + * The copyrights to the contents of this file are licensed under the MIT License + * (http://www.opensource.org/licenses/mit-license.php) + */ +#ifndef _CRT_NONSTDC_NO_DEPRECATE +# define _CRT_NONSTDC_NO_DEPRECATE +#endif +#include "JSON-config.h" +//#include "Files/Function/Function_Math.h" + +#include +#include +#include +#include +#include + +#include "bits.h" +#include "debug.h" +#include "printbuf.h" +#include "arraylist.h" +#include "json_object.h" +#include "json_tokener.h" + + + + +#ifdef OS_Windows//#if !HAVE_STRNCASECMP && defined(_MSC_VER) + /* MSC has the version as _strnicmp */ +# define strncasecmp _strnicmp +//#elif !HAVE_STRNCASECMP +//# error You do not have strncasecmp on your system. +#endif /* HAVE_STRNCASECMP */ + + +static const char* json_null_str = "null"; +static const char* json_true_str = "true"; +static const char* json_false_str = "false"; + +const char* json_tokener_errors[] = { + "success", + "continue", + "nesting to deep", + "unexpected end of data", + "unexpected character", + "null expected", + "boolean expected", + "number expected", + "array value separator ',' expected", + "quoted object property name expected", + "object property name separator ':' expected", + "object value separator ',' expected", + "invalid string sequence", + "expected comment", +}; + +int utf8_get_charW(const char *str) +{ + int i = (int)*str; + + if (i & 0x80) + { + if (i & 0x20) + { + if (i & 0x10) + { + //4bytes + i = ((i & 0x07) << 18) + (((*(str + 1)) & 0x3f) << 12) + (((*(str + 2)) & 0x3f) << 6) + ((*(str + 3)) & 0x3f); + } + else + { + // 3 bytes + i = ((i & 0x0F) << 12) + (((*(str + 1)) & 0x3F) << 6) + ((*(str + 2)) & 0x3F); + } + } + else + { // 2 bytes + i = ((i & 0x1F) << 6) + ((*(str + 1)) & 0x3F); + } + } + + return (i); +} + +int utf8_char_sizeW(int i) +{ + if (i >= 128) + { + if (i >= 2048) + { + if (i >= 0x10000) + return 4; + return 3; + } + else + { // 2 bytes + return 2; + } + } + else + { // 1 byte + return 1; + } +} + + +struct json_tokener* json_tokener_new(void) +{ + struct json_tokener *tok; + + tok = (struct json_tokener*)yy_calloc(1, sizeof(struct json_tokener)); + if (!tok) return NULL; + tok->pb = printbuf_new(); + json_tokener_reset(tok); + return tok; +} + +void json_tokener_free(struct json_tokener *tok) +{ + json_tokener_reset(tok); + if(tok) printbuf_free(tok->pb); + yy_free(tok); +} + +static void json_tokener_reset_level(struct json_tokener *tok, int depth) +{ + tok->stack[depth].state = json_tokener_state_eatws; + tok->stack[depth].saved_state = json_tokener_state_start; + json_object_put(tok->stack[depth].current); + tok->stack[depth].current = NULL; + yy_free(tok->stack[depth].obj_field_name); + tok->stack[depth].obj_field_name = NULL; +} + +void json_tokener_reset(struct json_tokener *tok) +{ + int i; + if (!tok) + return; + + for(i = tok->depth; i >= 0; i--) + json_tokener_reset_level(tok, i); + tok->depth = 0; + tok->err = json_tokener_success; +} + +struct json_object* json_tokener_parse(const char *str) +{ + struct json_tokener* tok; + struct json_object* obj; + + tok = json_tokener_new(); + obj = json_tokener_parse_ex(tok, str, -1); + if(tok->err != json_tokener_success) + obj = (struct json_object*)error_ptr(-tok->err); + json_tokener_free(tok); + return obj; +} + + +#if !defined(HAVE_STRNDUP) +/* CAW: compliant version of strndup() */ +char* strndup(const char* str, size_t n) +{ + if(str) { + size_t len = strlen(str); + size_t nn = json_min(len,n); + char* s = (char*)yy_malloc(sizeof(char) * (nn + 1)); + + if(s) { + memcpy(s, str, nn); + s[nn] = '\0'; + } + + return s; + } + + return NULL; +} +#endif + + +#define state tok->stack[tok->depth].state +#define saved_state tok->stack[tok->depth].saved_state +#define current tok->stack[tok->depth].current +#define obj_field_name tok->stack[tok->depth].obj_field_name + +/* Optimization: + * json_tokener_parse_ex() consumed a lot of CPU in its main loop, + * iterating character-by character. A large performance boost is + * achieved by using tighter loops to locally handle units such as + * comments and strings. Loops that handle an entire token within + * their scope also gather entire strings and pass them to + * printbuf_memappend() in a single call, rather than calling + * printbuf_memappend() one char at a time. + * + * POP_CHAR() and ADVANCE_CHAR() macros are used for code that is + * common to both the main loop and the tighter loops. + */ + +/* POP_CHAR(dest, tok) macro: + * Not really a pop()...peeks at the current char and stores it in dest. + * Returns 1 on success, sets tok->err and returns 0 if no more chars. + * Implicit inputs: str, len vars + */ +#define POP_CHAR(dest, tok) \ + (((tok)->char_offset == len) ? \ + (((tok)->depth == 0 && state == json_tokener_state_eatws && saved_state == json_tokener_state_finish) ? \ + (((tok)->err = json_tokener_success), 0) \ + : \ + (((tok)->err = json_tokener_continue), 0) \ + ) : \ + (((dest) = utf8_get_charW(str)), 1) \ + ) + +/* ADVANCE_CHAR() macro: + * Incrementes str & tok->char_offset. + * For convenience of existing conditionals, returns the old value of c (0 on eof) + * Implicit inputs: c var + */ +#define ADVANCE_CHAR(str, tok) \ + ( (str)+=utf8_char_sizeW(utf8_get_charW(str)), ((tok)->char_offset)+=utf8_char_sizeW(utf8_get_charW(str)) , c) + +/* End optimization macro defs */ + + +struct json_object* json_tokener_parse_ex(struct json_tokener *tok, + const char *str, int len) +{ + struct json_object *obj = NULL; + int c = '\1'; + + tok->char_offset = 0; + tok->err = json_tokener_success; + + while (POP_CHAR(c, tok)) { + + redo_char: + switch(state) { + + case json_tokener_state_eatws: + /* Advance until we change state */ + while ((c<128) && isspace(c)) { + if ((!ADVANCE_CHAR(str, tok)) || (!POP_CHAR(c, tok))) + goto out; + } + if(c == '/') { + printbuf_reset(tok->pb); + printbuf_memappend_fast(tok->pb, (const char*)&c, 1); + state = json_tokener_state_comment_start; + } else { + state = saved_state; + goto redo_char; + } + break; + + case json_tokener_state_start: + switch(c) { + case '{': + state = json_tokener_state_eatws; + saved_state = json_tokener_state_object_field_start; + current = json_object_new_object(); + break; + case '[': + state = json_tokener_state_eatws; + saved_state = json_tokener_state_array; + current = json_object_new_array(); + break; + case 'N': + case 'n': + state = json_tokener_state_null; + printbuf_reset(tok->pb); + tok->st_pos = 0; + goto redo_char; + case '"': + case '\'': + state = json_tokener_state_string; + printbuf_reset(tok->pb); + tok->quote_char = c; + break; + case 'T': + case 't': + case 'F': + case 'f': + state = json_tokener_state_boolean; + printbuf_reset(tok->pb); + tok->st_pos = 0; + goto redo_char; +#if defined(__GNUC__) + case '0' ... '9': +#else + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': +#endif + case '-': + state = json_tokener_state_number; + printbuf_reset(tok->pb); + tok->is_double = 0; + goto redo_char; + default: + tok->err = json_tokener_error_parse_unexpected; + goto out; + } + break; + + case json_tokener_state_finish: + if(tok->depth == 0) goto out; + obj = json_object_get(current); + json_tokener_reset_level(tok, tok->depth); + tok->depth--; + goto redo_char; + + case json_tokener_state_null: + printbuf_memappend_fast(tok->pb, (const char*)&c, utf8_char_sizeW(c)); + if(strncasecmp(json_null_str, tok->pb->buf, + json_min(tok->st_pos+1, (int)strlen(json_null_str))) == 0) { + if(tok->st_pos == strlen(json_null_str)) { + current = NULL; + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + goto redo_char; + } + } else { + tok->err = json_tokener_error_parse_null; + goto out; + } + tok->st_pos++; + break; + + case json_tokener_state_comment_start: + if(c == '*') { + state = json_tokener_state_comment; + } else if(c == '/') { + state = json_tokener_state_comment_eol; + } else { + tok->err = json_tokener_error_parse_comment; + goto out; + } + printbuf_memappend_fast(tok->pb, (const char*)&c, 1); + break; + + case json_tokener_state_comment: + { + /* Advance until we change state */ + const char *case_start = str; + while(c != '*') { + if (!ADVANCE_CHAR(str, tok) || !POP_CHAR(c, tok)) { + printbuf_memappend_fast(tok->pb, case_start, (str-case_start)); + goto out; + } + } + printbuf_memappend_fast(tok->pb, case_start, 1+str-case_start); + state = json_tokener_state_comment_end; + } + break; + + case json_tokener_state_comment_eol: + { + /* Advance until we change state */ + const char *case_start = str; + while(c != '\n') { + if (!ADVANCE_CHAR(str, tok) || !POP_CHAR(c, tok)) { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + goto out; + } + } + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + MC_DEBUG("json_tokener_comment: %s\n", tok->pb->buf); + state = json_tokener_state_eatws; + } + break; + + case json_tokener_state_comment_end: + printbuf_memappend_fast(tok->pb, (const char*)&c, 1); + if(c == '/') { + MC_DEBUG("json_tokener_comment: %s\n", tok->pb->buf); + state = json_tokener_state_eatws; + } else { + state = json_tokener_state_comment; + } + break; + + case json_tokener_state_string: + { + /* Advance until we change state */ + const char *case_start = str; + while(1) { + if(c == tok->quote_char) { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + current = json_object_new_string(tok->pb->buf); + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + break; + } else if(c == '\\') { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + saved_state = json_tokener_state_string; + state = json_tokener_state_string_escape; + break; + } + if (!ADVANCE_CHAR(str, tok) || !POP_CHAR(c, tok)) { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + goto out; + } + } + } + break; + + case json_tokener_state_string_escape: + switch(c) { + case '"': + case '\\': + case '/': + printbuf_memappend_fast(tok->pb, (const char*)&c, 1); + state = saved_state; + break; + case 'b': + case 'n': + case 'r': + case 't': + if(c == 'b') printbuf_memappend_fast(tok->pb, "\b", 1); + else if(c == 'n') printbuf_memappend_fast(tok->pb, "\n", 1); + else if(c == 'r') printbuf_memappend_fast(tok->pb, "\r", 1); + else if(c == 't') printbuf_memappend_fast(tok->pb, "\t", 1); + state = saved_state; + break; + case 'u': + tok->ucs_char = 0; + tok->st_pos = 0; + state = json_tokener_state_escape_unicode; + break; + default: + tok->err = json_tokener_error_parse_string; + goto out; + } + break; + + case json_tokener_state_escape_unicode: + /* Note that the following code is inefficient for handling large + * chunks of extended chars, calling printbuf_memappend() once + * for each multi-byte character of input. + * This is a good area for future optimization. + */ + { + /* Advance until we change state */ + while(1) { + if(strchr(json_hex_chars, c)) { + tok->ucs_char += ((unsigned int)hexdigit(c) << ((3-tok->st_pos++)*4)); + if(tok->st_pos == 4) { + unsigned char utf_out[3]; + if (tok->ucs_char < 0x80) { + utf_out[0] = tok->ucs_char; + printbuf_memappend_fast(tok->pb, (char*)utf_out, 1); + } else if (tok->ucs_char < 0x800) { + utf_out[0] = 0xc0 | (tok->ucs_char >> 6); + utf_out[1] = 0x80 | (tok->ucs_char & 0x3f); + printbuf_memappend_fast(tok->pb, (char*)utf_out, 2); + } else { + utf_out[0] = 0xe0 | (tok->ucs_char >> 12); + utf_out[1] = 0x80 | ((tok->ucs_char >> 6) & 0x3f); + utf_out[2] = 0x80 | (tok->ucs_char & 0x3f); + printbuf_memappend_fast(tok->pb, (char*)utf_out, 3); + } + state = saved_state; + break; + } + } else { + tok->err = json_tokener_error_parse_string; + goto out; + } + if (!ADVANCE_CHAR(str, tok) || !POP_CHAR(c, tok)) + goto out; + } + } + break; + + case json_tokener_state_boolean: + printbuf_memappend_fast(tok->pb, (const char*)&c, 1); + if(strncasecmp(json_true_str, tok->pb->buf, + json_min(tok->st_pos+1, (int)strlen(json_true_str))) == 0) { + if(tok->st_pos == strlen(json_true_str)) { + current = json_object_new_boolean(1); + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + goto redo_char; + } + } else if(strncasecmp(json_false_str, tok->pb->buf, + json_min(tok->st_pos+1, (int)strlen(json_false_str))) == 0) { + if(tok->st_pos == strlen(json_false_str)) { + current = json_object_new_boolean(0); + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + goto redo_char; + } + } else { + tok->err = json_tokener_error_parse_boolean; + goto out; + } + tok->st_pos++; + break; + + case json_tokener_state_number: + { + /* Advance until we change state */ + const char *case_start = str; + int case_len=0; + while(c && strchr(json_number_chars, c)) { + ++case_len; + if(c == '.' || c == 'e') tok->is_double = 1; + if (!ADVANCE_CHAR(str, tok) || !POP_CHAR(c, tok)) { + printbuf_memappend_fast(tok->pb, case_start, case_len); + goto out; + } + } + if (case_len>0) + printbuf_memappend_fast(tok->pb, case_start, case_len); + } + { + long long numi; + double numd; + if(!tok->is_double && (sscanf(tok->pb->buf, "%lld", &numi) == 1)) { + unsigned long long top =((unsigned long long)numi & 0xffffffff80000000UL); + if ( (top== 0x0) || (top == 0xffffffff80000000UL)) { + current = json_object_new_int((int)numi); + } else { + current = json_object_new_double((double)numi); + } + } else if(tok->is_double && sscanf(tok->pb->buf, "%lg", &numd) == 1) { + current = json_object_new_double(numd); + } else { + tok->err = json_tokener_error_parse_number; + goto out; + } + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + goto redo_char; + } + break; + + case json_tokener_state_array: + if(c == ']') { + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + } else { + if(tok->depth >= JSON_TOKENER_MAX_DEPTH-1) { + tok->err = json_tokener_error_depth; + goto out; + } + state = json_tokener_state_array_add; + tok->depth++; + json_tokener_reset_level(tok, tok->depth); + goto redo_char; + } + break; + + case json_tokener_state_array_add: + json_object_array_add(current, obj); + saved_state = json_tokener_state_array_sep; + state = json_tokener_state_eatws; + goto redo_char; + + case json_tokener_state_array_sep: + if(c == ']') { + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + } else if(c == ',') { + saved_state = json_tokener_state_array; + state = json_tokener_state_eatws; + } else { + tok->err = json_tokener_error_parse_array; + goto out; + } + break; + + case json_tokener_state_object_field_start: + if(c == '}') { + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + } else if (c == '"' || c == '\'') { + tok->quote_char = c; + printbuf_reset(tok->pb); + state = json_tokener_state_object_field; + } else { + tok->err = json_tokener_error_parse_object_key_name; + goto out; + } + break; + + case json_tokener_state_object_field: + { + /* Advance until we change state */ + const char *case_start = str; + while(1) { + if(c == tok->quote_char) { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + obj_field_name = yy_strdup(tok->pb->buf); + saved_state = json_tokener_state_object_field_end; + state = json_tokener_state_eatws; + break; + } else if(c == '\\') { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + saved_state = json_tokener_state_object_field; + state = json_tokener_state_string_escape; + break; + } + if (!ADVANCE_CHAR(str, tok) || !POP_CHAR(c, tok)) { + printbuf_memappend_fast(tok->pb, case_start, str-case_start); + goto out; + } + } + } + break; + + case json_tokener_state_object_field_end: + if(c == ':') { + saved_state = json_tokener_state_object_value; + state = json_tokener_state_eatws; + } else { + tok->err = json_tokener_error_parse_object_key_sep; + goto out; + } + break; + + case json_tokener_state_object_value: + if(tok->depth >= JSON_TOKENER_MAX_DEPTH-1) { + tok->err = json_tokener_error_depth; + goto out; + } + state = json_tokener_state_object_value_add; + tok->depth++; + json_tokener_reset_level(tok, tok->depth); + goto redo_char; + + case json_tokener_state_object_value_add: + json_object_object_add(current, obj_field_name, obj); + yy_free(obj_field_name); + obj_field_name = NULL; + saved_state = json_tokener_state_object_sep; + state = json_tokener_state_eatws; + goto redo_char; + + case json_tokener_state_object_sep: + if(c == '}') { + saved_state = json_tokener_state_finish; + state = json_tokener_state_eatws; + } else if(c == ',') { + saved_state = json_tokener_state_object_field_start; + state = json_tokener_state_eatws; + } else { + tok->err = json_tokener_error_parse_object_value_sep; + goto out; + } + break; + + } + if (!ADVANCE_CHAR(str, tok)) + goto out; + } /* while(POP_CHAR) */ + + out: + if (!c) { /* We hit an eof char (0) */ + if(state != json_tokener_state_finish && + saved_state != json_tokener_state_finish) + tok->err = json_tokener_error_parse_eof; + } + + if(tok->err == json_tokener_success) return json_object_get(current); + printf("json_tokener_parse_ex: error %s at offset %d\n", + json_tokener_errors[tok->err], tok->char_offset); + return NULL; +} diff --git a/source/json-c-0.9/json_tokener.h b/source/json-c-0.9/json_tokener.h new file mode 100644 index 0000000..d6d9d0c --- /dev/null +++ b/source/json-c-0.9/json_tokener.h @@ -0,0 +1,98 @@ +/* + * $Id: json_tokener.h,v 1.10 2006/07/25 03:24:50 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _json_tokener_h_ +#define _json_tokener_h_ + +#include +#include "json_object.h" + +#ifdef __cplusplus +extern "C" { +#endif + +enum json_tokener_error { + json_tokener_success, + json_tokener_continue, + json_tokener_error_depth, + json_tokener_error_parse_eof, + json_tokener_error_parse_unexpected, + json_tokener_error_parse_null, + json_tokener_error_parse_boolean, + json_tokener_error_parse_number, + json_tokener_error_parse_array, + json_tokener_error_parse_object_key_name, + json_tokener_error_parse_object_key_sep, + json_tokener_error_parse_object_value_sep, + json_tokener_error_parse_string, + json_tokener_error_parse_comment +}; + +enum json_tokener_state { + json_tokener_state_eatws, + json_tokener_state_start, + json_tokener_state_finish, + json_tokener_state_null, + json_tokener_state_comment_start, + json_tokener_state_comment, + json_tokener_state_comment_eol, + json_tokener_state_comment_end, + json_tokener_state_string, + json_tokener_state_string_escape, + json_tokener_state_escape_unicode, + json_tokener_state_boolean, + json_tokener_state_number, + json_tokener_state_array, + json_tokener_state_array_add, + json_tokener_state_array_sep, + json_tokener_state_object_field_start, + json_tokener_state_object_field, + json_tokener_state_object_field_end, + json_tokener_state_object_value, + json_tokener_state_object_value_add, + json_tokener_state_object_sep +}; + +struct json_tokener_srec +{ + enum json_tokener_state state, saved_state; + struct json_object *obj; + struct json_object *current; + char *obj_field_name; +}; + +#define JSON_TOKENER_MAX_DEPTH 128 + +struct json_tokener +{ + char *str; + struct printbuf *pb; + int depth, is_double, st_pos, char_offset; + ptrdiff_t err; + unsigned int ucs_char; + char quote_char; + struct json_tokener_srec stack[JSON_TOKENER_MAX_DEPTH]; +}; + +extern const char* json_tokener_errors[]; + +extern struct json_tokener* json_tokener_new(void); +extern void json_tokener_free(struct json_tokener *tok); +extern void json_tokener_reset(struct json_tokener *tok); +extern struct json_object* json_tokener_parse(const char *str); +extern struct json_object* json_tokener_parse_ex(struct json_tokener *tok, + const char *str, int len); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/json_util.c b/source/json-c-0.9/json_util.c new file mode 100644 index 0000000..0c9977a --- /dev/null +++ b/source/json-c-0.9/json_util.c @@ -0,0 +1,131 @@ +/* + * $Id: json_util.c,v 1.4 2006/01/30 23:07:57 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#include "JSON-config.h" + +#include +#include +#include +#include +#include +#include + +#if HAVE_SYS_TYPES_H +#include +#endif /* HAVE_SYS_TYPES_H */ + +#if HAVE_SYS_STAT_H +#include +#endif /* HAVE_SYS_STAT_H */ + +#if HAVE_FCNTL_H +#include +#endif /* HAVE_FCNTL_H */ + +#if HAVE_UNISTD_H +# include +#endif /* HAVE_UNISTD_H */ + +#ifdef WIN32 +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +# include +#endif /* defined(WIN32) */ + + + +#if !HAVE_OPEN && defined(WIN32) +# define open _open +#endif + + +#include "bits.h" +#include "debug.h" +#include "printbuf.h" +#include "json_object.h" +#include "json_tokener.h" +#include "json_util.h" + +#if 0 +struct json_object* json_object_from_file(char *filename) +{ + struct printbuf *pb; + struct json_object *obj; + char buf[JSON_FILE_BUF_SIZE]; + int fd, ret; + + if((fd = open(filename, O_RDONLY)) < 0) { + MC_ERROR("json_object_from_file: error reading file %s: %s\n", + filename, strerror(errno)); + return (struct json_object*)error_ptr(-1); + } + if(!(pb = printbuf_new())) { + MC_ERROR("json_object_from_file: printbuf_new failed\n"); + return (struct json_object*)error_ptr(-1); + } + while((ret = read(fd, buf, JSON_FILE_BUF_SIZE)) > 0) { + printbuf_memappend(pb, buf, ret); + } + close(fd); + if(ret < 0) { + MC_ABORT("json_object_from_file: error reading file %s: %s\n", + filename, strerror(errno)); + printbuf_free(pb); + return (struct json_object*)error_ptr(-1); + } + obj = json_tokener_parse(pb->buf); + printbuf_free(pb); + return obj; +} + +int json_object_to_file(char *filename, struct json_object *obj) +{ + const char *json_str; + int fd, ret; + unsigned int wpos, wsize; + + if(!obj) { + MC_ERROR("json_object_to_file: object is null\n"); + return -1; + } +#if defined(__psp__) + if((fd = open(filename, O_WRONLY | O_TRUNC | O_CREAT)) < 0) { +#else + if((fd = open(filename, O_WRONLY | O_TRUNC | O_CREAT, 0644)) < 0) { +#endif + MC_ERROR("json_object_to_file: error opening file %s: %s\n", + filename, strerror(errno)); + return -1; + } + + if(!(json_str = json_object_to_json_string(obj))) { return -1; } + + + wsize = (unsigned int)(strlen(json_str) & UINT_MAX); /* CAW: probably unnecessary, but the most 64bit safe */ + wpos = 0; + while(wpos < wsize) { + if((ret = write(fd, json_str + wpos, wsize-wpos)) < 0) { + close(fd); + MC_ERROR("json_object_to_file: error writing file %s: %s\n", + filename, strerror(errno)); + return -1; + } + + /* because of the above check for ret < 0, we can safely cast and add */ + wpos += (unsigned int)ret; + } + + close(fd); + return 0; +} +#endif diff --git a/source/json-c-0.9/json_util.h b/source/json-c-0.9/json_util.h new file mode 100644 index 0000000..6ab0287 --- /dev/null +++ b/source/json-c-0.9/json_util.h @@ -0,0 +1,31 @@ +/* + * $Id: json_util.h,v 1.4 2006/01/30 23:07:57 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _json_util_h_ +#define _json_util_h_ + +#include "json_object.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define JSON_FILE_BUF_SIZE 4096 + +/* utility functions */ +extern struct json_object* json_object_from_file(char *filename); +extern int json_object_to_file(char *filename, struct json_object *obj); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/linkhash.c b/source/json-c-0.9/linkhash.c new file mode 100644 index 0000000..1cf50df --- /dev/null +++ b/source/json-c-0.9/linkhash.c @@ -0,0 +1,219 @@ +/* + * $Id: linkhash.c,v 1.4 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#include +#include +#include +#include +#include +#include + +#include "linkhash.h" +#include "debug.h" + + + +void lh_abort(const char *msg, ...) +{ + va_list ap; + va_start(ap, msg); + vprintf(msg, ap); + va_end(ap); + exit(1); +} + +unsigned long lh_ptr_hash(const void *k) +{ + /* CAW: refactored to be 64bit nice */ + return (unsigned long)((((ptrdiff_t)k * LH_PRIME) >> 4) & ULONG_MAX); +} + +int lh_ptr_equal(const void *k1, const void *k2) +{ + return (k1 == k2); +} + +unsigned long lh_char_hash(const void *k) +{ + unsigned int h = 0; + const char* data = (const char*)k; + + while( *data!=0 ) h = h*129 + (unsigned int)(*data++) + LH_PRIME; + + return h; +} + +int lh_char_equal(const void *k1, const void *k2) +{ + return (strcmp((const char*)k1, (const char*)k2) == 0); +} + +struct lh_table* lh_table_new(int size, const char *name, + lh_entry_free_fn *free_fn, + lh_hash_fn *hash_fn, + lh_equal_fn *equal_fn) +{ + int i; + struct lh_table *t; + + t = (struct lh_table*)yy_calloc(1, sizeof(struct lh_table)); + if(!t) lh_abort("lh_table_new: yy_calloc failed\n"); + t->count = 0; + t->size = size; + t->name = name; + t->table = (struct lh_entry*)yy_calloc(size, sizeof(struct lh_entry)); + if(!t->table) lh_abort("lh_table_new: yy_calloc failed\n"); + t->free_fn = free_fn; + t->hash_fn = hash_fn; + t->equal_fn = equal_fn; + for(i = 0; i < size; i++) t->table[i].k = LH_EMPTY; + return t; +} + +struct lh_table* lh_kchar_table_new(int size, const char *name, + lh_entry_free_fn *free_fn) +{ + return lh_table_new(size, name, free_fn, lh_char_hash, lh_char_equal); +} + +struct lh_table* lh_kptr_table_new(int size, const char *name, + lh_entry_free_fn *free_fn) +{ + return lh_table_new(size, name, free_fn, lh_ptr_hash, lh_ptr_equal); +} + +void lh_table_resize(struct lh_table *t, int new_size) +{ + struct lh_table *new_t; + struct lh_entry *ent; + + new_t = lh_table_new(new_size, t->name, NULL, t->hash_fn, t->equal_fn); + ent = t->head; + while(ent) { + lh_table_insert(new_t, ent->k, ent->v); + ent = ent->next; + } + yy_free(t->table); + t->table = new_t->table; + t->size = new_size; + t->head = new_t->head; + t->tail = new_t->tail; + t->resizes++; + yy_free(new_t); +} + +void lh_table_free(struct lh_table *t) +{ + struct lh_entry *c; + for(c = t->head; c != NULL; c = c->next) { + if(t->free_fn) { + t->free_fn(c); + } + } + yy_free(t->table); + yy_free(t); +} + + +int lh_table_insert(struct lh_table *t, void *k, const void *v) +{ + unsigned long h, n; + + t->inserts++; + if(t->count > t->size * 0.66) lh_table_resize(t, t->size * 2); + + h = t->hash_fn(k); + n = h % t->size; + + while( 1 ) { + if(t->table[n].k == LH_EMPTY || t->table[n].k == LH_FREED) break; + t->collisions++; + if(++n == t->size) n = 0; + } + + t->table[n].k = k; + t->table[n].v = v; + t->count++; + + if(t->head == NULL) { + t->head = t->tail = &t->table[n]; + t->table[n].next = t->table[n].prev = NULL; + } else { + t->tail->next = &t->table[n]; + t->table[n].prev = t->tail; + t->table[n].next = NULL; + t->tail = &t->table[n]; + } + + return 0; +} + + +struct lh_entry* lh_table_lookup_entry(struct lh_table *t, const void *k) +{ + unsigned long h = t->hash_fn(k); + unsigned long n = h % t->size; + + t->lookups++; + while( 1 ) { + if(t->table[n].k == LH_EMPTY) return NULL; + if(t->table[n].k != LH_FREED && + t->equal_fn(t->table[n].k, k)) return &t->table[n]; + if(++n == t->size) n = 0; + } + return NULL; +} + + +const void* lh_table_lookup(struct lh_table *t, const void *k) +{ + struct lh_entry *e = lh_table_lookup_entry(t, k); + if(e) return e->v; + return NULL; +} + + +int lh_table_delete_entry(struct lh_table *t, struct lh_entry *e) +{ + ptrdiff_t n = (ptrdiff_t)(e - t->table); /* CAW: fixed to be 64bit nice, still need the crazy negative case... */ + + /* CAW: this is bad, really bad, maybe stack goes other direction on this machine... */ + if(n < 0) { return -2; } + + if(t->table[n].k == LH_EMPTY || t->table[n].k == LH_FREED) return -1; + t->count--; + if(t->free_fn) t->free_fn(e); + t->table[n].v = NULL; + t->table[n].k = LH_FREED; + if(t->tail == &t->table[n] && t->head == &t->table[n]) { + t->head = t->tail = NULL; + } else if (t->head == &t->table[n]) { + t->head->next->prev = NULL; + t->head = t->head->next; + } else if (t->tail == &t->table[n]) { + t->tail->prev->next = NULL; + t->tail = t->tail->prev; + } else { + t->table[n].prev->next = t->table[n].next; + t->table[n].next->prev = t->table[n].prev; + } + t->table[n].next = t->table[n].prev = NULL; + return 0; +} + + +int lh_table_delete(struct lh_table *t, const void *k) +{ + struct lh_entry *e = lh_table_lookup_entry(t, k); + if(!e) return -1; + return lh_table_delete_entry(t, e); +} + diff --git a/source/json-c-0.9/linkhash.h b/source/json-c-0.9/linkhash.h new file mode 100644 index 0000000..90f219d --- /dev/null +++ b/source/json-c-0.9/linkhash.h @@ -0,0 +1,272 @@ +/* + * $Id: linkhash.h,v 1.6 2006/01/30 23:07:57 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + */ + +#ifndef _linkhash_h_ +#define _linkhash_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * golden prime used in hash functions + */ +#define LH_PRIME 0x9e370001UL + +/** + * sentinel pointer value for empty slots + */ +#define LH_EMPTY (void*)-1 + +/** + * sentinel pointer value for freed slots + */ +#define LH_FREED (void*)-2 + +struct lh_entry; + +/** + * callback function prototypes + */ +typedef void (lh_entry_free_fn) (struct lh_entry *e); +/** + * callback function prototypes + */ +typedef unsigned long (lh_hash_fn) (const void *k); +/** + * callback function prototypes + */ +typedef int (lh_equal_fn) (const void *k1, const void *k2); + +/** + * An entry in the hash table + */ +struct lh_entry { + /** + * The key. + */ + void *k; + /** + * The value. + */ + const void *v; + /** + * The next entry + */ + struct lh_entry *next; + /** + * The previous entry. + */ + struct lh_entry *prev; +}; + + +/** + * The hash table structure. + */ +struct lh_table { + /** + * Size of our hash. + */ + int size; + /** + * Numbers of entries. + */ + int count; + + /** + * Number of collisions. + */ + int collisions; + + /** + * Number of resizes. + */ + int resizes; + + /** + * Number of lookups. + */ + int lookups; + + /** + * Number of inserts. + */ + int inserts; + + /** + * Number of deletes. + */ + int deletes; + + /** + * Name of the hash table. + */ + const char *name; + + /** + * The first entry. + */ + struct lh_entry *head; + + /** + * The last entry. + */ + struct lh_entry *tail; + + struct lh_entry *table; + + /** + * A pointer onto the function responsible for freeing an entry. + */ + lh_entry_free_fn *free_fn; + lh_hash_fn *hash_fn; + lh_equal_fn *equal_fn; +}; + + +/** + * Pre-defined hash and equality functions + */ +extern unsigned long lh_ptr_hash(const void *k); +extern int lh_ptr_equal(const void *k1, const void *k2); + +extern unsigned long lh_char_hash(const void *k); +extern int lh_char_equal(const void *k1, const void *k2); + + +/** + * Convenience list iterator. + */ +#define lh_foreach(table, entry) \ +for(entry = table->head; entry; entry = entry->next) + +/** + * lh_foreach_safe allows calling of deletion routine while iterating. + */ +#define lh_foreach_safe(table, entry, tmp) \ +for(entry = table->head; entry && ((tmp = entry->next) || 1); entry = tmp) + + + +/** + * Create a new linkhash table. + * @param size initial table size. The table is automatically resized + * although this incurs a performance penalty. + * @param name the table name. + * @param free_fn callback function used to free memory for entries + * when lh_table_free or lh_table_delete is called. + * If NULL is provided, then memory for keys and values + * must be freed by the caller. + * @param hash_fn function used to hash keys. 2 standard ones are defined: + * lh_ptr_hash and lh_char_hash for hashing pointer values + * and C strings respectively. + * @param equal_fn comparison function to compare keys. 2 standard ones defined: + * lh_ptr_hash and lh_char_hash for comparing pointer values + * and C strings respectively. + * @return a pointer onto the linkhash table. + */ +extern struct lh_table* lh_table_new(int size, const char *name, + lh_entry_free_fn *free_fn, + lh_hash_fn *hash_fn, + lh_equal_fn *equal_fn); + +/** + * Convenience function to create a new linkhash + * table with char keys. + * @param size initial table size. + * @param name table name. + * @param free_fn callback function used to free memory for entries. + * @return a pointer onto the linkhash table. + */ +extern struct lh_table* lh_kchar_table_new(int size, const char *name, + lh_entry_free_fn *free_fn); + + +/** + * Convenience function to create a new linkhash + * table with ptr keys. + * @param size initial table size. + * @param name table name. + * @param free_fn callback function used to free memory for entries. + * @return a pointer onto the linkhash table. + */ +extern struct lh_table* lh_kptr_table_new(int size, const char *name, + lh_entry_free_fn *free_fn); + + +/** + * Free a linkhash table. + * If a callback free function is provided then it is called for all + * entries in the table. + * @param t table to free. + */ +extern void lh_table_free(struct lh_table *t); + + +/** + * Insert a record into the table. + * @param t the table to insert into. + * @param k a pointer to the key to insert. + * @param v a pointer to the value to insert. + */ +extern int lh_table_insert(struct lh_table *t, void *k, const void *v); + + +/** + * Lookup a record into the table. + * @param t the table to lookup + * @param k a pointer to the key to lookup + * @return a pointer to the record structure of the value or NULL if it does not exist. + */ +extern struct lh_entry* lh_table_lookup_entry(struct lh_table *t, const void *k); + +/** + * Lookup a record into the table + * @param t the table to lookup + * @param k a pointer to the key to lookup + * @return a pointer to the found value or NULL if it does not exist. + */ +extern const void* lh_table_lookup(struct lh_table *t, const void *k); + + +/** + * Delete a record from the table. + * If a callback free function is provided then it is called for the + * for the item being deleted. + * @param t the table to delete from. + * @param e a pointer to the entry to delete. + * @return 0 if the item was deleted. + * @return -1 if it was not found. + */ +extern int lh_table_delete_entry(struct lh_table *t, struct lh_entry *e); + + +/** + * Delete a record from the table. + * If a callback free function is provided then it is called for the + * for the item being deleted. + * @param t the table to delete from. + * @param k a pointer to the key to delete. + * @return 0 if the item was deleted. + * @return -1 if it was not found. + */ +extern int lh_table_delete(struct lh_table *t, const void *k); + + +void lh_abort(const char *msg, ...); +void lh_table_resize(struct lh_table *t, int new_size); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/source/json-c-0.9/printbuf.c b/source/json-c-0.9/printbuf.c new file mode 100644 index 0000000..6f406b9 --- /dev/null +++ b/source/json-c-0.9/printbuf.c @@ -0,0 +1,152 @@ +/* + * $Id: printbuf.c,v 1.5 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + * + * Copyright (c) 2008-2009 Yahoo! Inc. All rights reserved. + * The copyrights to the contents of this file are licensed under the MIT License + * (http://www.opensource.org/licenses/mit-license.php) + */ + +#include + +#include "JSON-config.h" + +#include +#include +#include + +//#if HAVE_STDARG_H +# include +//#else /* !HAVE_STDARG_H */ +//# error Not enough var arg support! +//#endif /* HAVE_STDARG_H */ + +#include "bits.h" +#include "debug.h" +#include "printbuf.h" + +struct printbuf* printbuf_new(void) +{ + struct printbuf *p; + + p = (struct printbuf*)yy_calloc(1, sizeof(struct printbuf)); + if(!p) return NULL; + p->size = 32; + p->bpos = 0; + if(!(p->buf = (char*)yy_malloc(p->size))) { + yy_free(p); + return NULL; + } + return p; +} + + +int printbuf_memappend(struct printbuf *p, const char *buf, int size) +{ + char *t; + if(p->size - p->bpos <= size) { + int new_size = json_max(p->size * 2, p->bpos + size + 8); +#ifdef PRINTBUF_DEBUG + MC_DEBUG("printbuf_memappend: realloc " + "bpos=%d wrsize=%d old_size=%d new_size=%d\n", + p->bpos, size, p->size, new_size); +#endif /* PRINTBUF_DEBUG */ + if(!(t = (char*)yy_realloc(p->buf, new_size))) return -1; + p->size = new_size; + p->buf = t; + } + memcpy(p->buf + p->bpos, buf, size); + p->bpos += size; + p->buf[p->bpos]= '\0'; + return size; +} + + +#ifdef OS_Windows//#if !HAVE_VSNPRINTF && (defined(WIN_CLASSIC) || defined(WIN_PHONE) || defined(WIN_METRO) || defined(YYXBOX)) +# define vsnprintf _vsnprintf +//#elif !HAVE_VSNPRINTF /* !HAVE_VSNPRINTF */ +//# error Need vsnprintf! +#endif /* !HAVE_VSNPRINTF && defined(WIN32) */ + +#ifdef OS_Windows//#if !HAVE_VASPRINTF +/* CAW: compliant version of vasprintf */ +static int vasprintf(char **buf, const char *fmt, va_list ap) +{ +#ifndef WIN32 + static char _T_emptybuffer = '\0'; +#endif /* !defined(WIN32) */ + int chars; + char *b; + + if(!buf) { return -1; } + +#ifdef WIN32 + chars = _vscprintf(fmt, ap)+1; +#else /* !defined(WIN32) */ + /* CAW: RAWR! We have to hope to god here that vsnprintf doesn't overwrite + our buffer like on some 64bit sun systems.... but hey, its time to move on */ + chars = vsnprintf(&_T_emptybuffer, 0, fmt, ap)+1; + if(chars < 0) { chars *= -1; } /* CAW: old glibc versions have this problem */ +#endif /* defined(WIN32) */ + + b = (char*)yy_malloc(sizeof(char)*chars); + if(!b) { return -1; } + + if((chars = vsprintf(b, fmt, ap)) < 0) + { + yy_free(b); + } else { + *buf = b; + } + + return chars; +} +#endif /* !HAVE_VASPRINTF */ + +int sprintbuf(struct printbuf *p, const char *msg, ...) +{ + va_list ap; + char *t; + int size; + char buf[128]; + + /* user stack buffer first */ + va_start(ap, msg); + size = vsnprintf(buf, 128, msg, ap); + va_end(ap); + /* if string is greater than stack buffer, then use dynamic string + with vasprintf. Note: some implementation of vsnprintf return -1 + if output is truncated whereas some return the number of bytes that + would have been written - this code handles both cases. */ + if(size == -1 || size > 127) { + va_start(ap, msg); + if((size = vasprintf(&t, msg, ap)) == -1) { va_end(ap); return -1; } + va_end(ap); + printbuf_memappend(p, t, size); + yy_free(t); + return size; + } else { + printbuf_memappend(p, buf, size); + return size; + } +} + +void printbuf_reset(struct printbuf *p) +{ + p->buf[0] = '\0'; + p->bpos = 0; +} + +void printbuf_free(struct printbuf *p) +{ + if(p) { + yy_free(p->buf); + yy_free(p); + } +} diff --git a/source/json-c-0.9/printbuf.h b/source/json-c-0.9/printbuf.h new file mode 100644 index 0000000..82e1da5 --- /dev/null +++ b/source/json-c-0.9/printbuf.h @@ -0,0 +1,64 @@ +/* + * $Id: printbuf.h,v 1.4 2006/01/26 02:16:28 mclark Exp $ + * + * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd. + * Michael Clark + * + * This library is free software; you can redistribute it and/or modify + * it under the terms of the MIT license. See COPYING for details. + * + * + * Copyright (c) 2008-2009 Yahoo! Inc. All rights reserved. + * The copyrights to the contents of this file are licensed under the MIT License + * (http://www.opensource.org/licenses/mit-license.php) + */ + +#ifndef _printbuf_h_ +#define _printbuf_h_ + +#ifdef __cplusplus +extern "C" { +#endif + +#undef PRINTBUF_DEBUG + +struct printbuf { + char *buf; + int bpos; + int size; +}; + +extern struct printbuf* +printbuf_new(void); + +/* As an optimization, printbuf_memappend is defined as a macro that + * handles copying data if the buffer is large enough; otherwise it + * invokes printbuf_memappend_real() which performs the heavy lifting + * of realloc()ing the buffer and copying data. + */ +extern int +printbuf_memappend(struct printbuf *p, const char *buf, int size); + +#define printbuf_memappend_fast(p, bufptr, bufsize) \ +do { \ + if ((p->size - p->bpos) > bufsize) { \ + memcpy(p->buf + p->bpos, (bufptr), bufsize); \ + p->bpos += (int)(bufsize); \ + p->buf[p->bpos]= '\0'; \ + } else { printbuf_memappend(p, (bufptr), (int)(bufsize)); } \ +} while (0) + +extern int +sprintbuf(struct printbuf *p, const char *msg, ...); + +extern void +printbuf_reset(struct printbuf *p); + +extern void +printbuf_free(struct printbuf *p); + +#ifdef __cplusplus +} +#endif + +#endif From 656ee602b1842a4f92d5af569c142d7b964f80ac Mon Sep 17 00:00:00 2001 From: DiasFranciscoA <85873067+DiasFranciscoA@users.noreply.github.com> Date: Mon, 19 Sep 2022 11:41:58 +0100 Subject: [PATCH 2/3] Updated README.md --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index 0321609..8be5334 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,10 @@ # GMEXT-Steamworks Repository for GameMaker's Steamworks Extension + +This repository was created with the intent of presenting users with the lastest version available of the extension (even previous to marketplace updates) and also provide a way for the community to contribute with bug fixes and feature implementation. + +This extension will work on Windows, macOS and Linux. + +VISUAL STUDIO SOURCE: `source/Steamworks_vs/` + +XCODE SOURCE: `source/Steamworks_xcode/` From f9f03d345628ba736331fd4ca3761ac6e9dec3fd Mon Sep 17 00:00:00 2001 From: DiasFranciscoA <85873067+DiasFranciscoA@users.noreply.github.com> Date: Mon, 19 Sep 2022 13:36:11 +0100 Subject: [PATCH 3/3] Added SDK requirement notes to README.md --- README.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/README.md b/README.md index 8be5334..d4815bb 100644 --- a/README.md +++ b/README.md @@ -8,3 +8,9 @@ This extension will work on Windows, macOS and Linux. VISUAL STUDIO SOURCE: `source/Steamworks_vs/` XCODE SOURCE: `source/Steamworks_xcode/` + +After compilation the exported dll/dylib/so file is automatically copied into the extension folder inside the included GameMaker project folder. + +## Requirements + +In order to compile for Windows/macOS/Linux you are required to [download the Steam SDK v1.53a](https://partner.steamgames.com/dashboard) and place it inside `source/steamworks_sdk/`

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≤rJXIg(J8xAE6_=%Ml4+!?26}xG&Bx8=}YfO zXV{ruSv<|KSA~9L^6amWnb8o1B2n|}Rx@`0=2`9Q+M--=eyLLBHBp-**WDnF$Rku7 z{$RJu$6r9Mh4(N62_^2lpNR=fdwE=rkXrd78g9@^IMRLJB6*@ZjzTPD#C zn=($)Lye7$Y|usw!C>@-!G^tvEfso!iYY#Hd&PZ*H^!*0n#jmLFT4TF-!;chu{>)P zkL0{jyDq4bdT^3}%ZQ6u_p_`>p?zyMmI!^Dl}4}e2+#3fI1nsM37;o$Wq^9k`ssQh zP49kisW-EP=uWW$f0r(&KjOKdHIU}&)bg|~8WT;V#~vF~0mlVfb99c@!{mP)xvg$9 zY$)_U#VQA#{{7?K_LFag6<@|_Yx{|h=j#MNYF)QpCEaG~5LAbI=Nj@qWWrWjY*Y-= zBk3f#+RrtR?%9{jEj<2|ad-wxohji9Vtk|D^ryVQcKibOL%1@d_h`PRJDR>^AA9yc zYGi3nf{rAFm${0EA0)vxYc{fkdg_=lK0pt1P|C^wAwZH}?^D|66ymMh-89|PbQ->Y zVsqDd@^7%4kJrLMNCCNVMb|Jbc`e;bI8LpG>KR*hMt4}JQO8<($zqnOn`y)F?%~Qb z*^{nfVt%KkEgBJ-WK|Pk=J{^=$C2rmemCBzX6F)*J=w&CnWj5$hY$Z<`BB$?=O;9H zT;y}||FwT_+`M0%Hy_l0&Pq7oeetfzJKF@w`O+Y#ywealNl+ETJFmR7FZ@X8G+_DH zo)}@(nGMvI3j_cGZ;7*9T_vBkIXEW1=o;Gd&v=&IsDq7SCIbZ`f?a*;VbhHMx;i9i z#VlE&>*@r|jIW;Y%^=A+<3YA>xWM@#uko4WiL*X*D*7~d-kCV-1jUR(NS~q4_iI%p zT)c$@k@;NVskQcnC2h@(!TOQ6|2%*GMF)#*&XvD(|IL+l&aDbZWn15^w>R)B`1=%w zlP54pah#W2D#?njN?wuj0vs@P`box8{Vwa$5dC~32{Fl+)k$vUjEe;TR}C+l(E-fiWi7imoQIht=;`w(YI@o55EU; z#tw^?T0oqp0Q6;Je)AZDt`el^8-b6({havP)ZN`3E5#LXAg)=rCj{f%OpPxId4O$U z+p0%`-D{7HU0c9wPaUw&w` zVI|4<>}HIcWaeGFdbJ=@*V)Upp}?c6E-uuh=Dk3}px1b|K+9mCB>&B+{H&%U!@YZU z$I4n1Q(i+gNL$JUfS@BI8JEf)CCYVfBtTR!BmC>J))Q1mn>|!>d|vk))Mr9tQk?M{+gt^S;2)_ntt02 z)~-zFFP!k}>J>IBaoG6rhG~|P5#NR(Ssg=B-WQl*`S5HWRQv(UQS9H($`F zSDRAA^3Tz68lI8vN+EAF9o`IioB;qm{aH|5>4vVJ-e*S)2LU_QP)foe*@TA=-^;wM zue{BvS;_HE%Gi}io#f9txPX5%8K+}m_9DE1-Yt(HceAN<0SyVAG}cqABu3ylR35Ts zqKUn{fl7Jzbvfa|V4L#c{;=m`s2IEu&NwB^6B?_VMouM%>B__Mn=YV?RIF8U4vLuu#X14E^Gd!+hy%zP*oyaI(@j+xJBLl2Dt&^IOw=Cmy@UGxT=qK z<;NT#r4vc_tlP?BII}Jc;+h>^>Cayobz^bVJLDd#YX4-Kd}I7J99Uz!_Ug&FEdaw! z2~7`sjoQ9fHheci+qaoGhix+-8*7WnB_)##N=@H?<$I4k&NO4!e^Ep;x2^LhHKf6{ zMP?12cK=1}##Nw4vIBroy;<_-{28CFPgx0N0=4_|O$5cTiGY1h$NEy%n0oqF@)=TN zM-s78!C+b&uk^RhwtnIh-O6G#AywRb!Uw>EakVBluy^%)XTQJxyuz`dB}B({QM{(= z)Vs2>TybpLkinRh8bPbxVWI>;mIHDHGW-;oyo1&i7jIa(Vxs>d10R9fsQPl9i4rhY z+=Vk1wqq5OEVY!rbUc6y4sP|rrASbManGgM4@OMLvB zlOTvq`Ukd7Z8myTobD_BYp#^SC8-&a@iU(vzru%5?y_DJq)%}9xaN7YDd7u7y#3!N z`>vPrMWgr0T@Jh93sb|nMMJ|U>iwYupsFunEBc98YR9afy+&5_U#zB>Qw>d156TRt z08bwwizD&Z-0`v8vytfYi0RW~Km2mxk@DY9qtm7)5EtaLFT{7=8ZOQkFIlkww-tjr zGkAC6VaJ-HX=zuM!J8S{Ep@=23YM!m z#Dh8t{!mU~IE_+Q63ElN_58P@*N_I-jf6w6k^3&b;=Z*2IPR5#@-gl`tpZ`*S zp5!RZfP>HTRN7}-Jx0Xg`@Sii86d$VJtP;6y!(!I5*p>S<&^N;#!!kA;ktdgYMIRy_-uI%sZ4JxIEbDl%c(+A{ z;B8?7Se0-J*eaG*b(b)m*Iugu)4C%l^f|y6Uwlzz;#E|&EM-)^2FeoeuUvzGT59jg zQeJ}ZDTZL1c?P)=GhL!aE=9b1uj4`+iwlGwQPr30UD^REmU8!Tm?w5VfHmdlWl@RQ zN!3t^{y}RlT%P0K7q`-+XZDFr0)({FvsXlboF{2Ltja85?>ORC!GJyTnwU=kt5{1O zY_X)#t&0CDKV(36kV>tZ3TFg?z4cSn2t}Y}#Ms5GB&FiSevu-w2?WS9rW}a=NXW0E z-^Kkq3GIZo(93YGga+@~M-VgNOCn+WQs-p&0R;}x0*G&-K@NNIRWNr~geRYzABi_~NiQO(KXEr`7V}R7* z9>yOmCbQe6Dot-a)<=owEz377*}Zk2YT02r2=x=_dJg2SS(9xsf_~#2hXrxrnLu;1 z;)b-{M%iK@aceYn*R}4)natg#cg+S5Cg}D-5la1Z=Yk5Bz2OA5+MPf|#bSVY7Bxj; z$}XF43NyVXYviT^@Lna1CCwx27@t~{x|87BJV9L2#4+1_-w7pmEWOPR9+`Z{Z+#@( ztv@h0Kg1_3gZ|Si8TaUsvkWeA4~|cue2&_L17n?7X}hlt zai~v_Gfq?$qI=y#5BhLgN`B5G`L=eFE$*-%P5_NE4*MCa-64h|8~TZLm+Rxwwz=Td zin+*4OS|Ivj`BZ{s3mMC&v^fmB=QDHQbPy$x?M_R6r0HFMBJ{4>z+cO>H{MXxl^|v zvOubiFTWBWZPwhS79{76q{|64NtlcuO3>u982WtRuX8TKi`CDOm15wZJMDLqyI{bH z9Oa~N7h>w2n<%|uLw{)~ShioV-}Kf)h{c-DQ#49U2aGEMewukCACzMS&eEQ7iArUZ zp@b5+|1>&d5)-)x<}s$6`#Ub$1)D!}M-2J)sGEa95sbM923`8U;aN2%Pr)>O)28}> znS~=02zh$RsT?W?4<5TtO&`0leA{CT#G^?PMk(J|8etC}^z?MOZ4_TO|=oJUNr0EjiD0GDMW(q4z z9df;_+Y?gdhT;*Aiine3`g{q7geMi%8)&4lVL}tcO^8yj6m+#n0qGe>30G* zPZj8wBJM%G$c8EY5Jkii7XUz=Z(yTDIE3Pv6gAgt`f97&z8-lC5 z8rk`!uy8!!NG@@dbW3d9SXiZP@l1&BXp2=15oq0}>O&~)*lH{Cq&4XcfvvJ|@?sw$ zr1>EZ@^hIlNwB1Z`N);ee_85-3vm_&?7B%&v8gS_HhV2J>R&QCbk(laXJ*;XriL_o zPGXPQEn>$o;TBe0v{7oZ2CLI7DjjH=7>~4Y?b~^*oEmo6^e)+;qNSzX^k#&h+2enF z&{WqcaTxUfTn{l=&gQn&#wdHEuka`D$`{4-1wi~LOTw~}(5~O8mvn)#MoL<`2kfW9 zj>lNGkpvsZg7VeNsm=(KcZKLRYB8;$pKhL`?PU{uo55cjAlPs;jiVQM0{rPHS^9ui z)0fHbFa98~0ni0=@B!9wx$dS2o3MwKTB?+Td{n)Vh z+3AhOY;$lpIMKsRdeZI0Ng0E};mjva4M%a`{2QYx2;xQdVVyx)zd+LEmLKHAaH7|*3nK^-JajB7Rh+`rrSc74tkux zAK=&#$1L&uh?iSJfy~Xqm-I{G-(SUg)cqA{Rm&b9&9S*v_H#EXx1)CDb74vhZaBQl z?dI}*=@Y?ob zH`BC+2RGIp!`qX`<*9e71GcVH zmOqPBT5wI70BmnEgei1`bRd0MhI#rqqX-pC*1MWMdjrPv@1a6JUezBbc9~TMq(#+~ad-M;OI`jevxMX3BCVZu z;|%G=R=|WF3JSjV6`e4Pcz%XeQfoB7bO0qOrL4E6D=yHCPW`p3{cLiXKYYaYXMgMQaLsC`X%Y0PS8%@5Yh=_`er&AGF`L$%!_WCj`vj^`xwCu(MMS5MSXii?J@d`VurMX1&4T^ztF!MU9;b2oDXkFn!i{)f7^Eu}Q|O z-iDI18%NpZqbnAs58vP|d3K!67I0)G=fALMSi-1M?iSk$P1lU5Qnh3|?q!9M^SB~> zZMcg6vcwuun1^%Y@cVUzY#+|~l@cDD^(2@SZCrDNA90#baAm(iaD8ZXYr=L(E{S`o zQ)#W9IE=L*hb|sEN39X&&B>Bj%zsPaVn=ZatZg08PLLky3)|~_^#>Y-L7A9d@v9tu zkXmhb3Ua9>kb=Q`W)=z+$jM^ODjw!PX)SQV!?^ zL48r@KW$G@DxCh4wkh^SyzyOu;2J@?L$m(8N3hU`7wY8)ihc^6Ke>vRBzxQ^RCaVj zquzsm)Fu?Q{6f9L5?Fj#mT^ciSPKYx&_aYrC;0~(R2p6pj?Q!}$!VWM3l@Wprq5im zFd=Aeh4A?(|5v+omZak&qgfhYtKx=k-^}LyY6|c*|K5$9qy_bWGa^PC7~mF`L8#rN_6M-f ztWc3baHA->yYP$Lq!~bV81DMkfjv3jf#Ytvlv^+`ys)BA5s|%-RTc}Njnp^GYBme zVwg{W7JKl66lNuQkhIQ$dnGwx+`>c+My&sCKpW~g)cMmC1xwu}DJjVfG`NWrzwz}P zPTrzLTMBtmeM`vhE>N2uK^r5A<7&yamJPPLa>KTs8f!1**< zX$=IX$x*_=m>-Ownjr1iaGfOE4Jn;(U79lc5lzs<8fo%t!kgME>dEgH;Q8u*f2$2M zH6la1``h(3Qid5gGru$+9(($&#Sxv5A1UPcuihOkZz%MM+OkwBsG=*>YKB4Exn~c^ zJrt$QBs~x${G?qI@5O`N;1%Fgiz0INBQTBnJUk;&nQ1SDku` zEXkR8H%x$K74+EQcjy6(*SOeZQ~b7ThgzI8G&HI;XN6ike*BmahoUin$4sP$4BNW zdU4`^D=nE}DJ>Ope(-GSQIQqX_{|W=Ld3l3fn3ekY?=z$WW>R-8hLjbO27rTk~`YX zJb`Hp6N<-W%wvVzN{yH+ag$gGr~8RaGeqPerc}3Nn#jw*JQ{Y#C$Q^C`6(;>2kiPY zKT8o8_>@z6c4}-fxdME$i5hICXUuv!<#JC$Z}kMScmi$bUaFm&4T=AA3o3>I(7ExP zFP6KFmP&lM2i4^m{m_N=tKI=YAiD{U{%)XIKz6c*1)I1(_mDqeKKN;m#a=jq^e~bi z?f{9%@aq+hqgF6o&i6KZB(+k%1A?N2pf%v|u>cQ&8FugNLs+6+u3lvgqygB-R;jPz z+_&_2w*=+lALPJeahU!tE-TK9qOD*B)vk>c`3exG3*aqLmB_FzDmb@ZCkJ0T(AJf2 z%?|b%!seMJB-Wi7114k!WF$~up}*D|@XdAj(%RC8qd3{PROtuf|Ew-}i=kUiJU^;W z+F^Uxv^LH%$u13taSp}}7W`MdCic*kQ{{8&TjtN=es_S&2|H{DP>iQdZbe6nkuv0- zA-7I#UF*Z z9YAWS3H~*on>%rqloGU{mLjp}oB=b>DURU8V6w~~s-(Vhq{{#K67S#J;dL0aOk1ZW zzc=7gIh3Vv`XADC_$9Z{9c{!g^cZ7@a`2cvjcg1mFu_>db?KJ+1=Xvbql(zh7JZSj|& z>wpH#&&yeK!?08m7-RHX9p39QDng=k9x^@2R9tVyW#oCyhV^egcwmOS>AItMdGxiZ zvj@WpL3|o)J`e8L^h!P$&b1eR1G0{^A6Lv@Qe?J71>VznifimRs|4Usl8{f(@P-sz5E8( zqe3Ho42$r*_t~_(re+ne(qi#SH1FeLFi<1R zc4TG=bKa1XTw!Pd&9aOhp%SxC< z)6a4*83-2uA^DPZ;!^HcZsEnHV+Nypu)tZd*L_P3Zlk>9P{WZJqH%-`)d$$b4vt;! zUvgP-clEyu@m>Ek%$+m~hjZFo*Jq_LEKK7i(g5GrCTT7q35PxC3Cym<4VMc94ed;t zCoU`+Tm&ZaP;D8+IAx|-s8^t=A|eHjoEoG}L)yYg+S&BS!($&Vsr`4^k(!!nqmMgD zFO%o)_VUZxR#wU8KI4N~Xs%*jkV`41B>C_z*2O~Ksb@2VtvNLcXA;c*4%H`1ZuHkr z&;yzj`A$LA3aQcIk-K2LyN&%mMSvlWpz6iNXJtIXbqvDHxxiVxk|(s^Riv2yqljOP zm;ysDxR!XhW*{5liwY*XE4 zJSqJ*MzIesN?!7f>j$4{Z7{W=KrG)6l(xquZ#=Z$Zj z6$6bPK1(;`a|(NmqCBY115ktb806BLQSN8NU@jNWFn0}uXO$-39GPQz%>%w%YXbi{ zI3#z?Qv_6A&O3SP)XxsrYp^ek`NOdVFpNf5b@oS;a7a_qygkU|fDqX$@G$brm`#&Y=!!{~q zA6tN;I4ZmgV7twI;LXg)SVQgqYJ&~iyybFlq0{LJGc@}pAV_yTjrSQJ4rQA>?vQQd7dK{4eOixDpIHTs}PiEoB)Qhq#=OT=4Bm zy{h!x%C%%oKukDrm9P(Iwmwa({7&pn0P`>fT3hDrEg;J{fSC~a`Eqbn^c16qo;9UE zd`JRsJ_D*IGmEdfwz5-Co9K)+wcudGrGiLCryaR$mj2njQOCR_sfYMt1(k;?!7`Xg zdfx=v$tP$PPeYkRb^%ObI1g2Pe^9E}%mv~nfEg0@HT?U7%uy8GcmjvSXpDI59!v=@ zV~qPu^yK=SyxhyhwMMSzM78hBbgdAgpZ)Xne*P3$7RhzYONZ^Pi}e<#*rQ{*RJ2>a0rt1iqKdjO2|AW=p`4Dsr2Bt08`nsSzS`A)F_)g7qN0 z7O0GZ4_df2)uUwZAVB@72{0bY#+}!JXVQr|(8>H+2q=d1ajej4m}uKQYGf`=`6ucm z%<9Jt(G73)z+%p-8L!q2oN!&cA_LgxWorgrs75zZ)QT-agpB#{E+_DvSY$f^?kCCT z!U-slmx~HkcVongqa4Z)e3T{a5P`Fc5L<8@-i?<5d{baLGGBYOZ;3IH@B5tn=BAi@XNyd>Z$M%qmB$#?GN2cK zB9o`a)voh!#* zI*zEbT(U!Iv#uInMhV~kk6{M86Ds!}a!D3B>aDP$G&H%KemFd4JZ8K9|C%c{qJ1sO6ft)Q)u#~?ZXiJMILpAnN2?0Bw6%+Mf zS4M3;adFTh! z*$eJAFHw4c4PyNa8GC4)Vi`OK#~%C=1!q66T4?M4fC?MFPc)KJ>P$c=lptW8|*u#yU5%I`e@%r1Q0DQ8u?Zr z<*yh^!6V_C*5LM=o?HL(`Yj^ej4dxOFCG0XeH%;n_|H(K+oaJRYOi=fDjE@MV3k4I zl+0sKE71(MuDFAbinWdVNddo_-m%~%X8mv6L1?Mgq)}_05@t2%?58^_liaZ4QVccJ z(Xp(lxliZqKQQ<_c3H8c)wVy_4!%7o0yr)Pr0zE&-9AGi2)2(M*)LnRraI#Q+L<8J2gqb2C(WIwMIMAF5kx1H146@8ru`J zRAydY-YpZQx<>=Fy^jHhF!^hf1i}e8g$CFGb2Vna`9c9Twc0&#P-fh-y`;Wjl0HOI zc1~j|)REz%LSw5%)#&VJeHHSdDorSD0jRAEk0cuxvjBv46~%m9xm-B{i!HBvPY+JHpcr=2KS?X zJB!mxukPZy9l!`AYTaxja7BG2varPf}lSErxqhk&slbM=A<#><-cUGNl^kymh;YU%5+?;e5t zY?5F{=8WGpaRHx_-fuKTL7U!LWyy_rXC}-lmU@~$CBVhGTKTKbo6z;Ud$plO9G$xQ z+??HpC3V_E_B8|QzEw91zryn<5XF`vs}t@Xn0abwkpdR60g~lF?rr_fCtqH?XkyBr=C!J}65_sV2l-Ys_hE&sk0%HFtLb#PK492OaXdyv} z2-z(D)H1yCp1?tJa6~)NwwyaH&aVWxEE8QYQNuEy=#>b2()alir^*M}%N?=|$2-$z`7rRaks5RJl-GGbzoMr6{NFnkuWmBs%Fqm1=V#kNh7I58p%}}lAAU;xL`_U z)HCOH(P**#h7o}l4tY{M1{NT%by+^DSM3^++ha5kX!~^O4Ws`04CCx0FzjHjm>83s ztWnep&fOebEZ}oul@l2v5#A}x>w0wqGIoYb1>9=R?rVwx3lk%W6=BIjq>Z;4t~|W{ ziu$Jv64Et#I94wGt6|TEqi?3%LT*(OR zYHFb8FpBAOTK^wYZyguq_jL_lfP^4o5DEf{g|tc-ASD(e2n-E_MGW1NLx?Dd4N8}Q z%utF$O4`Z*DxowYozgk;>@(l{_kLdgw3xWgK6|gV_F90djR83Yy;&njI*}}Aq0mZI ziR28@#nRPN>ea35?_l(Dgn^~o9%WT_+n-(p9bM^#A_9(y%>2C48w7qg4VbYFV8wiZ z0%bC50o2OOZQy+eOnD;veUR^!Af1zgol`qWs~^^S(ygv)=w}v?d~kR3s#j6x)S8!I zJVQ8BAmMv$*54~<<{4P!ZwZA9rC_opFqGLUylQk`dXIs*Z6J=XFer~?jd9>Fg!^(> z{Cv6KKxig2VY?aD1M$sJN}jey35)J_C7nQsCZ5#&-DVOv{x$#b+7&BYZTn~3svRXF z>&Q~y@RW&%2j5?kPLT}7(`alEI#7iBAYnZX*nw+jQ@+3;^HhG(^4cE57IQtlUc6UM zX3-?Orwe?|8T;mN{rl#I=B6;Uwe#Qm=10r1=LXNvPN*hmUv&uT>gt3mSN1T;Z8=L* z^QybJnF{UlTCgU>2Nj+sEgd3*moMXRd*6)eRVqaQWIFxN0 z%NhcENOCy7QRsgsU>Vs<$sHmnZIR~@ia|u~o6y_GQfRy!wc`%Z3{2mxza)(zv@Mf;C0d3c4xs3k{q%0W$vM1Jxz}11OEa!Mh~$r+wRP)1m8?gb{}o zWje`iGpDOR#43z;gW>-o$zx@xacsqZ$10Y3@gA|Ac6{618JItn8K1+(gWK+2Antds zYRV4n<_+#JFg6}yrlR>57^OioO>iRl2_|qZaFRV+GzV^Gm@qA~@F-iOMN0D1*2c4a zzOeOSz5?w|h0c&QZbG7dVsg^EHox3Qya`8fsrqBwmv44VlA|G_Hibwn@s|1IaU%G2 zO!3&_F9h52^8WWS4q^8{^?xOLY{fSTF}todcbl~2o006C934HGvfG8};7RnlxVX5{ zhIMqX$XVl=;QFR!L4UB<%U4;5lUNuDiNO=HTN}9j>qE{th0EhtW z{!sO|#-+0ZW*LC{>RF@W8Gc4OmApQ1qv*HAud}RjdS<-0NMcJ>tCJquyqG8~MdMhJ zi2~(ObG=&E9T6cR52ezmN6xL1!_EZ4YuGw3Rcw5qJadP!+YFMfvfYUi0CFU2n6eg< ziYvh$@Z`bKT`xVd8xHyLg;y0!Z2_n+XfT^FFMjkfGSFQ5ipf1EnU;x4xC+jdv)qp_*!dHY>@Y%@n) zpcNY){3Ef&s3o_3pX8=fj3bsu5T|4se$Y?T$4$Ypwe*?=V94T|Z6z|aq4=?3y-|kY z6$nxX<8=R}5fFb*t{LCsQDst#YhpTaZBV2khvASMg4#mfcs+?2(xrXduFw@M;TPZB zZLHIrmf~Lm`D>#Rwl~nw3IUcr9&0d#wYIelkS`{H0 z^eb>PQ0Ip_TaI5GIvRcICQy1#Fa+h#vSO*dIpLvx!x8Iy%fWbf6~j1Dj%8}oE%&m- zx*okFak~o0WHPs(CKg%(yDK0`POe-TB_l)#3F#3+3@fbm-~p}f(uk9m#aDGgr#7@e zBH^j4xZPlG5pCxU-r>>8H(@NcD2bY!oJ=iY#g@Ezu?Gp6e3&s?B?M(w-GMPf&y^P| zDJh9Kd*;j^FcjuipJG>=Zr*IBZBzgJ3Ly7hA%%6;xD6!~O4;ruFlx$=woy!|9P|HL z;%5b7S98Mh+ULCwN-J|>Kt_w#8j@tK8g+z0ee9O(mm{olXOkM2n4`y&stk$?OPLO(&R3Q;bDKMSUhxTaI|ZE$Qr?P8=^Zks1u` zwU8NVP1?3O!m?rr<`d(ARR~q?K*TlAsijnE;_=!0>mC@Ec~&}QK3HGuQ6Ye+<*|(@ zavhSI*eVsU8Xd08b%h0c>>>!%#2K!Up-;bDmsnX@`P1Lu4`sDVUtW*`wb}pQ2La37 zxpGUeO%92LS7D;?$y0!jX!4h8L0VcZiUDMlumxO)Eskky3_2)b+@iOq=Py|IcZP<= zvnXhFbv3M;AM1_1^@%EWm_96`FdNzp4j_2cii@9H#*W2Y0OEM*0_k%eAbHUJS7iD| zB8@$YolRYUz43glH%5>&#TDjKEOv~Svn;k@h5nXKTSeeA+J^Xr26BMtd`3>PU{52j zAF&5nXAwg6(9SX1hlX#kEFu=ev?K@chnBvLhIWI`h0=eoAnxLU_O`ZXppSDs+MMhQ zU9a={ND3{7oO=Sa4akbpx#|zN<`nT#eZU5zgXA>dpBBc>M zTd~yVIRiy!w(o)p#!&t*^hJo4|6}!WSB5@ii~Ug_xq?l8Ffw%_Y%q0qpddEJW_n<_ z5)-!~P}iC?d47ZL&SH0NWG`%WmGXaw6u;t-5GG@VfV~9iJc&O@SuEl|e%SbmG5`qv zYan@w{0%MMc>e=c1c3%FZ28fq60iXi=REPy_EZvGoAD7dF3P7=8!~*uV)0Dl%Ni2z zSb`H?j9OCc8%hX9e4t)$X)skUv^fl9Ned;S75`Ib8Mw>@phg@PbIa;fSH3@R{Qdd{ z6Y(Gxe0A%CPhGxRPRTt)dY}L^9+m=eG-m8Vs4f46RY?N+X$=2h@pEw(vtAbz6hK~8 znMFg?X)*XC=MDhk$G;p*d4tSzfBkw+DJiKCnnj%oqSt4>YF9@`NDRNmL>9uVJe2X?)~4}m1JjU zCqMb}g1OgX-?okHl?Sm8vZ`%LyEdB#238_@XVqfmR2czJ-Co2TCfB;ceGw%t9AKk($AZ2nCW?9F1~ABZUgO-;>(F+9Ef z6mVsrvF0rbVoIIcPkno@TAu#Q_b~ixMqxRZJQV(O#8aL>>PG*+n?Qt_F=6oCq>}Ks zWkS#zbiIzy^|rRRj}Crg!7f;aZ(cAxs=L^#sXoPq1q(4QgME#&8Y7-3j+{6VFDxXa z%~mN2FG9`mpFgPm1lEwV8zs=FrGNy@!ocn$Srz;?$0@|k?3F?o=8VV$y_XvB6kNS| z^O(|!6M{T`N8z6b??QHTV93%A2vyg3&uOu=2mwZo=)TNlM+s_8N1eh$)G4r@=c~DU zTI@$_E5D$ya3=gdhJ{>q7|PF=F`lo0l{^8+S$iJai0OIHz1JQ6xzLDw$2pO|bE;mr zevaXbjEud?M~*z^Wc*}tRl=C^i4&s|fyk$)dg+5Ka#UATR^Bz&3S4}0T~8wY@q%#} z60&eI?&62xS6`WU+S!Q@M^3S^v7s)&xnT;x-n{JWPmsfgJ>Ab*V_Kxw zK+HRenlUD%x8;>;oUO~q$iTrjmeHLZ*1{3OlU$6&URRaU7IV2wQVv7ZL@Z*OS{yc>PJ*@Y>-Xk%H$8GRS#KzP);tBbOd6KHj3g zBouun4~PRmwk@{gYWfA;t%~KjTU|Qmg_U-AUYzYAn&I&&m5_k7&}!~t3JKlNgR{f^ zp*H=Rc42huS$da8-v9rD`uOo9AtE9|b0_|J1s!v36YtdPbpu$p?av!B`CH|};$jDw zvvc{vk>oo2#!z^1Iry09QqU{rrP)0$RohHL@}Z4!DFh*E#0%Top=%2NCWzlg#&qX0p8&h!{jtl?5m zFJzM7S$mKFH##~>y09OXLknVDh7t?vsf|Uz^gbp#pM-YLJl@t9#+F76tMKwg0U>@rxYU3!=Yv$Oah#T;`i&L*j9WXq`6oa;u7#H(5=!0fnW4doP(WUU_tw z_He57gNe)kyV)6Dz8q}a7k*AMKC@7x4JCW^p>C7Z!^k^ASy4Z1MX#?fBiCflbvlV4>c~d zn+M|+3{NB7#?80G!mfpo0mS*(#~XhQxm~4%V|N%?1&hmDtL34604e@P-frK|ic*lX zDH>Txw;)S!CM)7f^XM|#5Chkxp`zGj=%~2qr?*~MnL4EqOJdw`(>jdGsH3#d(a|9Z z5nD&@p1!I)ybd1|N}yIR(CAs)g{K_Gu@*}FYW`97RI{gGW_ij~RC1SbcuJ5JX~tl8 zqRaNY<=O`-3(v`%YYcn?|#x zoU%i!l#=AJ9ZBhO8r;T7SwGlJUP(%Om^Str22&Ap{% zr3?h7Ux17zhx%aQI(_-=eGW3^BDa0foU}yt1z}oeyk3Kp^56`97J7<^A8-{v!0b;< zKrmY{cK)=wA>7c@?qwF9o}O=7@xM=tJ<4UwYPy)-9W*jgsnmtxj0f#aO%J(lfzSfk zpHNU&n|c(#94Y(rtu>CBI9#61d%Y0=KqN5StJTdD61zg?pM=$}Zu=S56|kr0%F)&ZJzN0_0ViQC5PtFgn%s@#*!>lx_m$kFXvWb_nCEw`XnAt9}m`PvO;0{>IM4LP1LF(-Eqksz1?OnvxT0jrl~}H$I_gAG-`bH52n~c%MCmA`Pjd z0+{PixPi^1=R`KroPf&=%$i8Qr6+&p?AbABwH2RV%03EgblDx*VHGB|LwYxJB71?! z_zjQ|RkgKT5&AHLnskyi#qfiukf>-$YpW3ytyR@U4?j?2S(*y^|aV*ZF1})o?aexc@!`02rO=KYci#8^yACHo0riE) zVJlJb+Q&^L$n6T+*dp+oZU-o*E1(x_;>$Dn$pm8Vg!8fiVq!cw9u%wY&PARf0$*z5yAOa9Qv1XoD%R#&|}hfK#TPZ}EZ`(Ft*Mk#$z{#_1)EADRH;AwWXe(12(fE?8 zEWV_(B1>4e5N1q=J5fnUfAr;gy0EY?4!YE6Xt_@AoD0HIEpENLlA!GS+WfWS?<3}K zZ@xmV%;85lZ}Bnv`1n-te_sCD>;7WO5}Y%xDIPm!2lGR|nORW`z&Jr5IdfOl#qc_x zcqoRdfh%v2)&-Pw1OVoWXf#@C2^%IZN}^Gh96F`i?9hu4LrX^Dg2_W#ppe)9-Q9g^ zsfL9Is)CxD;l|u~xRuIVKaoDKqE-xGHg8-3rwX*`_dC>G6!d7vzvY1%yzF--9jwy` zP}%c8Cw{&N>+cB1AI;N$4imp}fN|$##uyoM@qj@W zB&T!p@O)CipQ}6%Rsxr`#vqpk2}Kvc?YM%o5|FBP(0ExS41GcC&~d>=jPpV*Cj_dAm)dA6m{z)2@Ha zn4a9)cD;Rr)i(!yDYT(Ze+=X0Lk0Qr7n`D%q@*NnxE3-1a1vU$%(@8+A3&J*m1%_D zfdQ5KtSh=HVO6ORR_90wn!m$O#B=5LE>NaJKKFWyNw?4Ll!^|wxhwJ!eO@3uDEFV|m7 z)mgJvbJotUk6vT_i$G4Dlv64IoGjilOLI6-3?`2=i>MCsoO!zX))g+l>3R)Xg1&5j z!FhET05Z%O6+i+We!x=loD+FAZ@zyiK{4+*)M2bjn97+9D=ugO!kI0fMC1`YtNnrdp)UKAC1T!;0CxC{8E1ZFJYB%wVu(pZ|J(mDj+ zZZRlB%#4knacSv-<%E-ylgtj>x4-&HEF^+0PF(^c=j6CunFhg^Bdk-O@!)zYNL>er z82L_?Mx1KisCKk=-Zr(u%Gb=0)Ub?IXrys#m|v@L)SLT zVZ5T@iSgXI^MIh1E)*b_AcU^L3GBRQ9bQA)Y)C1r%h2Zv<8vho>L1nP3zp=?gRInc zk6gAA@5%6rmD!VWa@NQ$8@X&i1sWAuz_3&~t;e*;xJ-xox8kFh?@q*$ihO0ONDA1lt)wof(y2a9OYV;Jo&qnxET}IPppA^ z$llR0mj;M^JbPmOO5NPo4Z-P)%L`5EtxYiE7hBgdD;+g)O2hHxeyv4i2WKMTp}B4l z=fDIiWqY(&zH0gw)KQcE1^M}#{rqdBzo)bTU5+dyJKybsd{d5}GdnT8Uv(KYVrKnY ziHcLVA(AJZQE@N)yZQE2c6K(w(^LMi@62D%W`Vh6XjzN^LQq-i4RhYVZR6PRa3QSG zl*^r0&ym>JVq`?riK*qh92KW=IJ_o4nlyz2DKid-c$GHJcpCw6wiS<;-V-E3TS`k0 zZK1@ww+4{+F)lw?(+d#lo*(V8$fUdJG$lYQWQ1DeNPXaQcJA2ma%5~Q3Y{I(1X&P_ zJ>AEe24$vrDsajl$$_IjT+P4XUZpYzs=VClYSm$}9guA(sCV4On#|`-c#D5Ce!BC2e%QF|6fOmpxZ?PjOO zqc^@e=WVQRG@S(P$$y^)ZWt~M9Q=nD3(P1I#UO7^U4)@8qIt6~(6r8h5R(D43z$*Z zAW)hsr2*U-CF~Vk-s~9KFw~(=9`J%#bu>POcY%Be8nUImeobO=7t4zW0J3_Gw$*Th zN5`NR1ZbERMV5w(CHuzN^miY}Qt!BJW5Iay92L#sE;MR^CV4Sn&+Wa;YQOc>RuFxp zb`x&H{E2bsc#t|+Mos$T78Bm95Kdn1-4yS$=0jZcc@ui3RBU-&U<%M9RxAvl zdGQbLOpn|d_ImAGROQOPKO!v91iK9ZUik**G-E z1;wbr`T-ZwAjc3PlfC@mKWzH0%)Y)%f8xq$L%k7|85zsm+tAQ(2-@mOd;EK3r>U24 zo%*ds-`@_$LI>A>k3BIqPf3<}r0r2R&J-^E?&xp;qa`s+U~nrksMvjz)gSIW6#8-sT8&%Wt#KIF2mu#Vu|r&1{rq2BRC#7R9 zlzERJ&;ZoMzd=}>2S^cRH#?U4#&A=DfS|&+i-%`RZK2BhCDucgm*tOAuqyYomlJt# zu&9a?k17mrF>qMO*vElAuN4&!nZNqx9RL)Brr4i2a^%k-6IvAvVFa)fv8 zJP&s((h&4^#6xrMkoFd6Yvi`fu$zaxq|g*6Qt%}YQ@;8`5B(wKFz?kP=kU_NmB1fU zt+1Cg{;YZ})4xegIwfa?6?-bzNY||=M&SCYTbEKI!nz@*sw7J2FI+CqzFa5WzI~en z`jo3s!|%7it}Ppft4@>(I!**<7`q>uZHUR9j@X_n*odq{saBvuC`02F>e4fkeU0D+XW&XfeixbK*+*6Krz}w zn(&8ulb@tOm2*8RKW406AmXP-MlqosAPb7RdO#801 zF>=k`vid&*`C+HDJ9G2%zY#}`N;VSG4-dcO3TMK^14*>#`)21XQ#_&v-KuwCdVqsQCJs{2Smy1-YO|zYm6K0XK;a;{UJSMxI%tt7?Vd#cB?hrW5fdK z^yO_RD0ISnA~!_n@-%t*J3*9&f_{;QLr@9VKPFgVpOj&(d9-!*2+q55{V304VE)j` zWa_?~$;OA}l3(-NSR>8WqCFL*pvRLxn*mD`@ zF2!FI8_VCuh9W@}K^iG=mBmk7t-1thtfW(*q$9ojQTqB5hrQtPvb@o@UTk9#v__Xm zdxpD!ggJE>;vE z@#&wm!?{WPJsGf62&IXNtYf!f&yKI(A6>j^XZJb0T6Ou0t_5qM*(tc1y2S|eT_t+O z-9$}v?TH^k)A-{)U#lhXW}1i1hiDZDxBQYQJI>{Y$AW*PMYa={pAlcdnQBLg2^w$y z{exL=em`xw2?@v$Vvmf^%^v{4B4iuuN_J{o7P8EuQok>ex6Ma@*U@ z%*#D<$jn*WO6Nuv_4=l!rwd{Gymo!F-C#kL)w${n2!X6uJ#_mFRU7yG24SsnL` zRu8t_#E&z+(8pAp447}d;EDSNlz#w}MJ*4_rze5jmrF7e6cj{qbR?CM2w9x!aiJam z9PS#fwpt27s$3y0v_*u<&jw$P=UoFotq(}9iK6Xb1TE{KYB=b^^E+KfOP~xtr{9)w zuyRgkJi1%ZscpV>=FAxq46PO=U@i0ua_?feR)J;4e9ZQ3bDQ<5o=uuEfoNnd^N8EG zIS*hBCCsM)GFl&0s($4=JGd2lCWl)gjV{6>GH7)`CeUOKkB}N5ncuH)4Tud69N4+| z84A&zCqh{2Unmj3ySh};!0GXtqob6Sxw*MP-+xaotSapD2S9%UB8@0tzg~b$X#Xbj zmA#}*Dj<|2Z%P8UYS?}~2v5@H%byEKvxu%)??!Tn_KuFOO%VGqjng<^bS}mB%Y`Bf zO4XLR`|#-gEZqrr{PE-=+}z@#F3?VI{h&UD0AzUy0ZX0I@no{~JaVV)>$~FMR}Kqz&_pcL8pnG3AqsJ{*}acyi1~hi;|N&!E>3*~s67VZ9E%Hfg2wBQ{pC zXixIXpAGDoxKrs>VpNY1eQnP!G-$BIT*qM+BS3Xp@PHouFLQ19X9zXLH8()9vyw& zuh)<8v2PYhR9>F&IeF5b-9J{w%&^4s``b}?7=50=mgvdze3b8Y&6H3Yxq3xXNLZM1 zTC9(`PvhaY0Sm8TC>0ix!-)6=Wld-|zjH0Xrk2kUon*Y;0noPDsj(hdh*~=E-Hi+P zfqH~{&@_EQuh>lccy&Jo6PMpGu1_Gp zdZZtus&Bx0Fa3C@g~C&~CYrO1TjB_{791x|oEV=d=_y7S0+=|4b#JcPAHIk%Q2g2- zf&5VOi4XRm@vOZfhceMFsjPbL8K%SkXhlk&R3}Jb)Xr1Xc?m{K*5ri77#( zyqAnAC=kgT(Cng~ED;ixMfyHD>3kB7IT!rlK1@c6(3V%+=Vz_cQpMP72h|SMrM0>` zwc{?_QHdJIi8t1Hw%PnX&|h^7OMUN_4(PxMy2Z1k@#@WSxK#na{ubKMGwzs!QH&hd^1+{plUrT!(0lzj_8odJ%cYf{ zm51nw#$7J4|77Q0PhKh+JWLolK(-mn5xbx?j8?vY<8^aN6ZntN@W@LCmNtxL1#`ja zqOU z*8Ezq_WRVWptHPd&QLl~=G~(2p0#`!;RWm5iq2J=mJhC|Fn37;$mZ!bB#7y4=4Eb6 zxKXhdRkf8qduV}Mz#lBjawtAiR*2`U*a@mN${nNqZEy{vHMm8aMHn6wVa3O%8wEEB z9e0J5=hTwFW*a5f)`62A*M&#~3rV{TXPxSh5d)g;$yn=JkLL;DxnjUo_>xWSnu$AS z+b*KG%co3e)-JP?*XBtGU+1bi*DAG28B(JR8MZ{nI@h7Q%*@=}a!2mY`<$ULOMy!> z)%_?h#V!S;1zRa5t(vFdP=B@E%MMDd)LD!9#@1yW+!xrP7sECO+pLhj8ecmIlOp3b z1j4AI=aGipcDM~kUVdJYw23tukS$8Wup11j>3}ko=~6NHU!lV)_(-8=8jYv|3lQ<%9A5C-QL#zI zemrC$L(MEnc5e6fq5KNnzI>8@%VtQJ?q3k4{}V+Y+p0LCsec5Ys9a5X#13T^(*p6mGLKoD$IMhX^%gs!<|5Kx`6ty?YhcW zV3_g>f%MyS_Aq%>8YoLawQgJy*?3b~WH{L{9QC5$eCHaI4OvI-{_ndoIq|Gjh{omn zweoum)Z|#HkVf~sKQ{8zH0w)!KXo&fDup`juUhY`o5)@nM5!NB^tO9r_zGVzcGU5Z z#_8s$ys=qKI_~kY>wU`*kRSwEX=;$+2WT$>a$Xzp6%#1A&f7@Lt-hyYO4PqRIN4OD z9rIGqRt*dA8LkYA{dj&CNH;0|-5^y1ChaSZh5h&DU0Cq8XGggf6EZbvJImUg|3S6F zKA>eCy-RCcRf#sVd(SI4-X0YQBJ>?sRJ1_|pOSk|;G!kcc_Zgaq~(?f6%rIY2~ zuY-x>Ni^K>3XC)55qCm21<#^QYcQ8`P7G-*aPQNO9@=NuSgA(~td}bYO$Y*W@kDC_X(z;8vtJhdz8uq)L zYC~C5;ONNZa!TT0iQ#J_lC6UEZ^>z~E6}!c`<-n4`Ln;lm~{F>Qud>*(D-@4&@t6B z#k|Pq*jX{PogB7QiI39PO=sP=-$U>F47zs)_FYfw+!uAzGB!uBN`z)JwUpYucF#Hw zvnK98X|D#;qZ7DnCN}{gh0Eg09}@`6WQaI8S_|e+HP}<2PpC4 z<`b$4ii+j4+niH^@;O_1Ao~J_0{50`=t)BwgCI>X;IzICjY13;pj>oL_eG7z41*Op z7{6>_d%57_YrgeCEqVITefAps3!%z#rd*-1_{D4?I|I=ZCXyAV7;8j5MIwNEVv85FIyG?X zMvrof?`0nsKriAo<3-3O3%qK+ndkdmgx;I2BN(79K$VNpZH;_7+SS>$hQz6RTaTX~5@YT)&z`N2AcEo5 zcwHd);FOzzoUf7zW>H?jBeF_%Isfb@;gY~^FqEp!b+Ob|bMX#atDAEx7gIY`Dz-FJ z@m+u0^sxXKX^l4`2;LkNNHB|+MfQSX*umM^+e1u2_Smk?J!ENSY?4X1&1<~P;wD5N zAHiZ@y*jM)T5UGiZFcTqTTM;ys!z_&YGe{Wwvsj}s%`}2h+fs2!}`PgWrNG#Z04qw z1X|!TVW`qI3F}XjucnPM%}V^V>8FLK`ZSuWkJ!9&<{Y!Ba28AfYfkX%>XoQ#7F$8x zFY=Vg(oLBJU_#CQa$7`pN>Dp4a#VTCi~j>(($dn@7BA;EcVz%sg&fQfwQ;iK!TtN& zpflNW=OK|fA0}0C=k6s#Iv3!H99XbFN{rIGPof@qBE>tRNFF^ZtME?hxwl^V;arln zbXP!|{@A&$V@7>kwSX2lzp&7L zFeTt>_4m+6LGEu*t`$}Y#cx4U-r<~6i0XGfd<9<*fP|H%S(P7i7$_mcm9*z z^wXy7>+W_nqA=x7D|HDPAk+yWcM`DSLY@IKTY^CABkqYu? zSc`@yqCBiz#otq;FXjE98(oN#j!F3`k9K^s59GozrmC_4pvx`X}O52 znl@HF8U!bYH!|{`Y0LBO-_LIx6hxTLMbsvJHGvuvXGQ)HFw%r zTPax~Oa|I?z^a-C8&h1M$CWv^$=y3w zM7|v4ul~~ zSxGyG+q2sAJ(04K>f?FT^JiH#C;{W5zn_PIWyC$EP9P=C>c$z{?82NR zK3(aTlHD1`Qjl zu<&MDnV3zo4QuAQM~1Qd9@peLYYKPE4;_E%zBT9r(enu*w-?&PR!|25K!K^e;JPE| zAj3#RuSBF{*O7D5zljOy^pU z-m$^zjGXy`$1MZo;rt1Jmkk(~VgARrbJw|W_`~D{S>B>(TI7bxoQ{|j+)c37Fy5If z^ozud3P0B^(V(R(6|nLX)_nl$H6RtY{PP9t@cdCjkDf3HmLsC64KB_E9gF*O>($8N z2!x;Nk~Q zUa$b;J<180gDY|56*C41IYtWdYG`f@iTezvrChJQI%{gSV5)MgZHY#Kj_Ag{inmy> zyTIXZEeX$F$~zch$}My=ucn0ZC!R;~c~V{m=GwSg1X3R|$ohq3wEn{&8Y^3V0t1(` z$c$ZB*r#0Qt`X5?&)-@b2honi9 z)H?)~gHFK_oDcK0=3wl$6wfVA;RLgyMc5d0OWGM9AJ5ET< z2vZaXAvQ)bt;xJFq``_z8Yl=PML_uAdNOpWNuoJ0!ld50m42RU#O#!%Q!>#>7f?P7 zU^T35;DD+4N$a%sE3*;@p4;vh!ibNY-5t8Gojn^-v9$`+paM%0m=(-W>ma5q{3POE z53g@yFjKD#gl@cn&9z@}npwIcn0sMquYo)BLQj8hZ))J$zfTLZDfCY23T{|u8kWqr za%x@UC+#}y^7c!0UDA#@Zy2&RKx>2@vwHvbdZllSicMco(Pu+?-QmAyHpXnkX^z}3 z9X?Ph5dy0gApG)>dH5XSPr8Wob#G{%%Qz{cqmKn+Ho;}ZIt_9f%d>3Mt8H$_?f`o+Fhci6l5$j49`%cmQPE8i6}8}-zT^-2~>%*_31l{o)VMizP|pe0J!n;1GDnO`QY-*5d=lCE1Hoi4OEO1 zP@js>(F(8`2yX&fr-#{$sqoaL?4KbUYF2DVl~W@^R^JEC>+SLW1x?^Kn1_P4 z+SWDjz*Kw?|66^TRKN6Wf~F8aYN)TyYNM!N7`p0udET1Q)7@@|OUT9>$H{wm1b?HA zTw&b;xOKju$raSYcUf3dHwJ+>A4+8Q3<V}zvwjUnc zyY~w^*v`XM`T3K{Q~j5IEWRKN;^`}G#o#VyPYrQ0=VM6rH;@IUW@gL;HUc}vvcfoMgTJTcnttAi~GnGS1`Ury1l zxkvF^E91#hUEL`Fx`ND&4#1vT$O|g-&Kh2_2e^(;1TuC(;lKG z*gjCDm7+l-yzWf|Td+$3iS$)PIb*p3w(Ahv_=c}0ets40Q<_%Cuang*lcYGnt5%#f zEwRF;G1Gviu*QHSdLOtd!K$t77o8(60lzeGdu@Kd@ZC7b5f~n@dXaLdMc*VfQZl@@ ztE&qM<-y#$B*8vM&jeS8=;2P7L|h6=ldwfa(#Jc530I?ic@yCr3z}ky29pS$#WY3!`+%Gd^_F_fqDzX^vl| z0;tLfB6GJRAA!T3a+A(7IKq_r)*@~J;l)tCC+;3hE`)+!?pq75To1G0fM}^8uU&2b z-Zte}E&wNugy#99#u*!VIRxHy!|Wu@aW+3L^T%N3T#e$j1i+P<(F0c{b$zhqd9;#A zsm=S`1AH_3kW%qUYe45mw2w6IA?O0&L2I+{0&~e{odkRPSHSiXTgA-!3Yj0cJ{MI8 zp2=+B*nZ%mD_>2To@@U&rwZ1}!8~z!Xj^zStP#HftDiF8>UN)?R+opWn!w&=hp!m~ zXnj-`I^0-oQ(_T~IMZNR1ZekuBvF49<)$yZxiR)p>KU2G*Ixfi#|xqPz`#IfWKa)< z+6g3d`6`f#uIhyRdo71ALl?@tC0z7YEd~NbA|XZ86XNK;#7|k-F}a>vqBe>L!6b}u zZH8n+1&l5+y>eyp=jSc&rLOM$_QE#4!W$|U9#LO4(OOb}6>bZWGRkVlagAKm!;Mky zN0%G){TtAfzb98{5v?^ygVBOfuE`bj_T!Vp2~Fpv{(omJQC1Zs)v)%Eed*rc3>FLbuP1^^$rtj3&4@h;pcqZ#nrchEQ1DjmgzXW%9qT%&* zp9>j-(P!Vj`n3-slf9B?5SgaDJ-{_^M#|#o)!+AsX>l(^|EWAonR-d;{lB3Y2D7r* zCNsj;N{B&0^QuD(Czg4dr{r&kD*Jh+LZdw!YW&n*LeZwKbQL=#z+_lH3kH_rd;R1( zqV7Kzm@W9`5zT1!HPDJw4V)XZZ~G6Jmac@_@~!i8>T;BQ(JbxYJq8=dCA=FXH#h@i zAf47CX4X;z(tD4IG`e`vQN)~U!^<5voPmmy)BLb-0x3M2wy#|!y`Pb!FB zU>63mKDa_RJ5Y(P#5;^`IYKJ}>V?*X$?4}{+;(RsjVH(zy z5PmR4!@i#X>~0lqn>HQnd-slMRySQNFBQ(bAfwKxbY01pmsRhnpvyr6%vkzv3-*J#PcF zU}Zr3XjEIl-NoS6i#zwrvH}E%{5#bq{$u|xpWFC9KzlC+b z894VHf3!T>3mgSn1V&{7Ko+3L|2H}hIxwrHeSdY4r+9<#O^G$>7scOBR1Mj}!yi1; zYpT_%@m+oP$d}IPVJXW5p@|eYk7qhd;k|ZjG$jP2hu3W^TG`5lJ5aB!WZ`lyTq7e` zt)<2c))kQ519UwLuqNJ+Pj5V;6v!W(m6HFWu#A|FK#6 z-sTA5iq{Cceq@9+Vz@B?WC#8L^L5?pMHdtQ_jsY)*zcGg2QNmBQg4z@#VwOBZ4B3A z%1sFil0mjDdLqg`nG@CQ8;utd1TLA#l+{>*{YtP)ILy1jE|4KOI9jhAu2PWo>20KG zn%;qN{4F-3?Jm3|{&-fV+)a2=shg_6dlG3+Tbl@5^D?b(f=Wr+K3%WfwmijA`V4l$O5UH}4nI-%ic5^CU#KZH z*f!>TqkGGqZ->tn-+7sSDaH$Qt?+0%f!SOMT5*Qhy8ok#9+qZheWcuOD2b4Hs`wJS zkb<@t4+~)IrcAm0R^TIDyMf_Hni_C3&9#*aw|`xU$!+$r!Fqw64UfPLc$l=&k?h<> z4?TLcOEqk>X|Z!t(fH}cZ_TVkhg~INqT)cHn}cWuFezlKhg2lU&>fve1&3BNu2^o_ zge`_bCuii_#8*S2NxxvXeh%i~YQ9bVF3HA^6F-p!LtLW^QN(}t-Se>T z&A5uybu)783w|z@N}q|z{Pmp1#q&jh=Hk4$7BaS3Ou5#|6Q7{0clzITu(Dxawl7Nc zrB*gM$+UJ?uVK*RNi#-{*s{kTT9~*-pIJUn;gnM4H3_SD^lT&RrYBFH(2jxMS)vG^r1~UsTFqSo>DSyUhOeRvttgF^PPit_e6g21%vt#jJ{XPYr{K z-s~qJ_fb|Yz!}JsvIuntq7P23yae=P`Fjqh?&~dyn4PR3Q{MXLpPNrA(8{v24{qnS zjt&N^LvQiTAa+Z7AE!`|m!OJ;_YacF2PbuaNy6SpqRKmYi(H^Uwk#^VmbUCrn_Iis z%BOLqFqDHb*UXmu{CVMGw|}Ej2$DrEZh{XR`RHANE`9$>dHVNR&R_w4{sj-li?SJC*>9)t!>r$|h4U1oC8FSEL~Ef&3l=+;up5AKp_`>AizQe#1EQX^n`tel zYD_tTy|!!fe{3Hc%L{cAghME0ESQaZUXpr@@Xs@%x)l~9OAvY=eDaTC#F+7{4*3)F`vnAB`kvI~rC@8`&jlMU|p9|B@H185(x@ z3^FXZ4VDWH(rn}L2R+|KE*xvrU|E`FlEZ_@$s{Pzek`%>X_@tF-)NP;1r!()oDi7Q z+b|#3a^P{H+?De|1`UE&n%)w0;HN+P7$cFZ$7SNrh6jo`Xf~l|=?vOUwL=ODp4-3o z?of-Wqaw5ZrKM6A`smm>Gv3#LMX$2C@-z3gwl(`zCNJp2xwIUVa(xx^=e_%rSi@N= z54zi3BT&~_YS7?i{ap$RFJDRaI3N<%9WdmwcSaR^b@|Tx>>dr|Tz+h!2$cSPx@qV-cVH9|QI7hQa@Q1t&a9oJ19aX})ayx3izVIezvA$$VJfL$x{Momlo*BUUGJ~!~hW3Pq zv(mi`Gg9G`b>H^9$l_h-+RFh#!{e3mK?U!X{<9cn=fOD2Wld6t%#_;(a&4uG|Ckl| z9Ts?hy=G}UVQxh4bB3Hr|3%4|NS<4O2@WoDbwf*wkR!B&-BEZ&vt665@K&=kZi!sL zV-GF&zs9_r4fa!I=nc{r5&`@fVHl1^EQEFCJ@Qdvr&l~T$&82gfCY}q2)pyU)%3Ps3P7-NXB zGbl^4Z&O2-WF2Flv5e(+KR&XNc2`%X5cYr% z@FU0`7WVmcdnB1ogoqJd#%Ti)mCKirl#l9jZw*tD3>_$*JH2$wtv7c=gZS|C_Al@F zN1j*ilQdb`@^-)TZDLN|%jyHz+c*&YULS_IuE5b414KEbvNv!tBMyOvmPCy_E*8b@ zjuj0hVYa3mg94Ln=O8$X`9_kZH6$zRwCd@rx`)L$QlLdGIgg*bWgBYrBjywc+~0@q z=`!PEVflfiXRvsO-_hXJUz46FdAsXkWQbWJ*PpyqJ_o{n=b=Ts1+kx-<@A!)5zooa z6X3l6aWLEixJn3Sw>s!}Lo#U8(#GZ+*qKfC<*q5c`ec=F59*HP;}3b8+uE3f&`32= zS_bsOw;>O5mlDbCZ|=7cdt-xFno;V%?0M{M_CovM_(W%7SXF- zw`8lq%)mvGZ!X)udua`omqlKJrTfO-6*-5kLFl+uT>>A<3iQo&z>971__oQ!AxWu{ zpDu=%%@@e+75CwtH?31dA%tq$YF|YVKKC41KKf}!Y5O0cf_IpcGyIWZ`l9z50O~;Q zu&S)jmBFOd7FP=5T?~dN^yBwRO&HE9#5ES1sB4;5-tJpn!+^OGUK&eF>BQE-4Igzs{v3-xR@e$7A+Kk)fC!wz;Ne?E-b zDyXb#tL@yI8tNQtZ^aA$xo`XJKV{PKXDui+JWXa${-5$cj1Rc+o!2b-t=Vt!^6_n) z1#1J4@6er9Xq***rTW3)M|3}dB#TJjo)l%(9a5FO7nZ^Fr4PgiU1l$VPRkE1M*>$+ z7YdKsXpw@Y0)N78IOnt$Hp@d{qm6Yn={FY>dF6M<3)_~%?LM<(fCd_DaH85v425MMhlWNU> zXQq%5f8K1zj^&e){wU`1CUbU~8TMIoN8ZV!ckkX^(QZddec_n^;rmif?_y5jUv=ZP z2m9CU*Hj;}u;gtoVIR(NOXcG8*J{1^mdx(tXziDh8I4fP%a>c}z*kvX#!ksvI1T~KWpFy*l#f4IIn%S&vpKvL|0D55Rlmt_3dB9`A); zAfvRXPK-97Tom=SQLtJB2_wxgb9(>}6Y56{*bVX4;poK!0d9Xp0_~Ll$z3+-m>4S1GWOrOEGL$?M;~@Cl{qZGW0xjb3Uy zX=y3vRytrZ6cVJ}e(OD}1)G!-^8OJpn-c3_l0PF@IRJ7e*eK5K$RV3ic7XZDXGFjs z^`woJi0z5!U9tO}8O<1hEv`#cLG>ZNl5Y#vu{Stc97mY(I%*iMc;736-wrR{yKJ_XDFgh&Qwb@&^OWEr>Lh{!5g_WrUIqO0yN&3$*z*b_4kX zfdJltUbjq-+<8t>(GFZ610{m_I|0a3KE3X2wv*~^Z9@Lm;%FU8syGF8PPtwY^lq_g z9eK?OntqRrjWL^hemIiM8&tUdV{cbOe z(KrDVt}h55Wp>90HqgI60`DlSwZ^dq2QbHn!9m3Qen_r^0ZvZJte>)e>on~IJl8|W z&M8lBVJwx%Ye2X}t&BBP;X~`OOC2}8Zfn0EkM^c`=yKM&`tYFD`S?@zBhc0Vm23aRbeLIL=aLyQX?ricEHe;6eg>CooL-ztRR zJ4O!)z*KSvgv2!_&cvHNR5uybqq|D=AFH!OOlvi!1}Mt!M%Vlp8WPzd`!LR7dJ%#I z{Hu-dD5O|Ghc3*5+m{niU0~tq*$wF!e@Q1F92bKxSS)kEU8ZRL?M)&~1aoR#^7F#E zk#Kh@*I)95wmoqy)a9H-N3B&fHSq;r?oB~`klM66TZB}HA)2ikT7)}(r>noDjm<*X z(#8OZU7<^;AQy{;MHzz480H(^^^#6jl$Rg9z99ZW2O9w|D!v16ymnEYT=9JLq;!(t z9JvUA?7`hc?Wp5=0qYRJ zyn&20jYWYV3b;HVS2XM(Mg*!Ix&ld<4b0^twGL{V{~K^xskHY|hgLCHb}Txxvtswa zBmsm})zJtRZ{aX1{k$ya>|hMHZ^P8;LTme!rTy7i7t!SIZAoT z6N1Ylms4O0(eWQ)gFktCLK>}O4t_>|O&*IC*^3lro=+cs8UgcU!Th`%R{R*K2=4mb zzGB>EM&ieBf`Yscx%Lf5q^2ElWCq-f2%Pu+aUzu(#kh@P$%*yk6*>j-1o{d7jp^DK z1)b@kZce!>Hq#&gsg6eG9E-`&G5+hZdJWQ(W&aq<@Wp#Qy(shFYfg5YoG%^FTbN&y z-&^dpH^6j5%;mOk<6vH!MkeBLfM^^6fJv`>+a}Jki5NsVIYlr4FLM@uG-ef-Aphfc zo=r+$^fT5WS(+Cdjn3_(vBc_;YadzHGp1qi#(&fH81J6N-o`g9q8!|1cQrMCF=t7$ z3BdviPPgEj_UZgA2W`C{y~kjKDk16T=(xU!B*!4b9%z`PX`}wOmXS{!G&=n4r@Wz7NE&x zo`g%)Ubt1*a`9ARrzT(6d0y!QMu#TD_EX@sO%Fm!U3ZC)M~~HFs!zAkvb|Gj@P|^_ zJg11=bxlPjCHBB9UQGMQV;FjTwvVOwT8lZ&nhBPLh-wsI=nLnE2|4DZ0i@?M-UMjV z;Y>rq`}gxv?-{}bJ&FGnAy&I!d4hxW_<}Vr*(#i`SWXpv%g>aBB}WgrY120|1Z&h{IVGqE1a| z_!(U>{x7u=qKq)eh{^mlMNHSa!11CkmAG3^>l+P`sa6vxfMSB5dk}#6(TM+t^fCV$NN&Hy#l^jJ{k@pEkfw>VuFONWflW0ENQ2flGuR)1c{AQb=5wXk{T;8b zO~O0f2hO&GX+EI(Li{BYnv5u9ZpkNTT-oVi=>F$hkc5tvlMhiLck$P0gK!3a6<5)v zx6t3&LrI84gEVa8=Jp!-_6ozEryWbxqPf*gxuwv0m4haocG#aYU|*b$_*Mrwi6=Pb z6!;9g|4~vCkSVU0I{o(-$C1;AM+MM0E)rVZgRX}ZI z2H^;VGqh35PzO1FWJK7u{{eog+8BC~T@N5Anz|}!u9o9HrkQ&3CF1cB6=b^(j*&Fc zqUv~ZE?unXpYYT%dFKa-?~$dO$WEl?Yka0^BBo9!=9c+LOL*TM3;Ae)lFX=($$7|b z4P^o8zYsvnxcreb<<5fKn$dB>H3xZYPtmcXNAnR2AV^|cPpU%%mwSYKM9w?bFJ$~v z&wdt5$CdPE)%9~(bJK6_|S=rt!g{bCwh#F9NXwZH!Zmz~h#zyAz= zX<;Su^{AoxmSIv_w9dW{9^;?yB`!!eAl_@pDN=8mB0((W{MGzxBUbtEN?G>PG&vv3 zV-fZ`2rrz*&^b!uUOO8QK0iQOTDGlQz2rC$s9_I>1#$uOdEF|dPDV9GtmZ#?-Zkkg z{CPwGa}Mzf3%cuOI+pDymHi=Vp{}Fa{rc4-VaJcl>gZ+ZO(RrP@Zn|XY(~`P_^Y@A zCoaX+0%Jpr-_GVn;v z>r<_rh~fSnzl+J*EdCIvC>#&N{mMx|6B<=$8-2IjZ#xZV-sIp6mwfVni0#}Ka@UC% z!_Cu%IZypS6@Gpv@i4E{{#~(i$^u#132wHw^)RxJU+)32&FYoY9H7x!KVlzA)Stld z=Bdp}-0DoqQQ~eqZK89>kQo8NP#s|w6b>(7lc6NeItUi4kM{r?X6%PF1YnT4X`-9? zKIR#IV)t|K?4xjDSFU5vKi&Mm^5oU!$Zu1EDLv&Os?(o$NnNb`u8T(nl+Odp z1`g}n_bi5*;4*5qok+T9;0S)OvbU+IgE;{=z3jg^!6af%ihso)hRg2-m2}_@Pl%J@ zdLnPezjCL(p@D`dLlB17;E|L7rvkO{FJ{6NE+!IeJ?@K|pdY>YIuSYm#h`*hJCMe$ zjKlEMxX|;BUD4#S09xl4Wxci42X=$!5T!)W^u7eX_M3OIpU7lK^|EIeh1RkeoMKUv z;O-XJ(tpB0#QYF{kWrbg+VShxBsu+`cFGfd%h@BRPn%XWv(TQM~L* z!r=NRB+FS%wkj53@?MNFolQUH-sa#{Z=A@Y?)H7@AKK7B+9(%_CGfJ4= zNSgd1Ul>9IZF1Fa+GU-6?$n;?_WSZ21i(@tnDuW0Nh$e@n&oV^K5p80a4j}qL}0M7 zKavwOEes+Qta69uQFDeb8+@$cO`mV55AL@uzhOK~%WUOkw4pcw)r^JZOH&=-WI0~i zons%%s07Cn6*HJ+lSq3+nTpdru#Nx9%ki_ZSO41d};t=9xjYq zwDWxPjB&r$I+Oe_9J8|On=+oyM;lC|n~f^+TFeVr;q-4;sdD$&?lt_`ErB@2L9!bWzgZ{PWA3RjkBhH?K{pq2tiD=@ z_G2!(g4hr7j34~y56#)$AcGRbh9Pi1+OuzmqP(3ZKCrB3ln^mIr<@4Fc~IlIgjp6z>t=5pl`n{DpboT7oIn#pwSvO~s& zr{&0ka%V`v8J}LM;nAUKm}bn=FZE4h?!SBn)g6I48!5a~`O+n-dNW3jQ2U#3eajS& zS`1^bqpoCJF|=HO0!2fv$CSKUS9wWrtbt2)aHNgh=%dGNMHTz$0!B@5>Fc`uw&=F; zfJ^3_j5zbaU!;?ACzU0;89gmW*OXEl=(zYb78VhKLmbjY{wEH+Fu=e2)*}2)aeWva zGv5a9EYJ2ki^@}Tjyw?~(CQW0V40%m>1H<&JzbFy#d9+yPOVs?TH7bB*BNGW%8#`O zhH?OK_WgBNL887W>c^uuC_zl*VWqZ@XH}YEVS9n3{sxE|9xqV42m1xKHl-z3>(zEn zE+sCxe@)u9uv@cRzaj1K0nFL&opZ8RaUO0k*dfUUE81g5X@ujLO(7sA4Q9@Jxx!t= zGWlGZPaV~+IO7)1=Z7~Fa0-0q22uU``iKDr+z2z>a(Z$lvM*2ND)%FDM$eBXE zXEC>H;?z#yDwipagkR=cbaSSNoFsP;veiI*JO`Nr%hQPvZv?GJzjkAKn-Sh3G?=nQ z2kAi-XLd&!RD!wSJcgnE#Iw=sZKW<^E64}`CE!|N3F54!;0LI$=Gp@0iYL}r8dMq9 zKMHQ`$TL%4<4+|&h!wui!h%u?i0fUR5*L?|%aNVoKY!Esoj|92b_c`-iF9pu236Im z_SM;R4XYX7w?AS8t_Io-{E?L%xX{pvA^t1RZ{$bIwk(0T_2!6R7`sm9s>yAIW9QGT z2Uc};bp_hYChpQ?&z_=}siH?RdO~{bC&0gN^`Vv}V92fm6~9zZ^4BF~bd<07E}7s) z{lKJgP%i-VbpaMxvWDY-xIZe zN-v0;-!ZxTS8DPTTZEi_1P)Dft)#~e?p%R#ilW?E(-~ZC_4ar4fO;~!$G`Z=Wws{v zr^L3rkTF<7!ICDh24kTDyJi*c0SKx+x%1-sX=QI$(nb-Y<=?}^L{UxJ&V`bEIWc0Z z5WGFqwhFtm!Z>*!gwiXgpr@_pI1&mg=G!3vYVg$rwA^USAaOIZlf~o_!SZ z>>rJoBo7A3?LSkO@h9e4&&&^_V>XhHzG{3tsBW2!4nWM~{dXc2%;5~R4Ok_8(B}^K zmFVi~R&nOUwO8&BHePbgyqS$%Mv8e_CQpciSfLtY2Fx92Q!1eMCxuDIzC>pt{VUf= zpe^iV0u?iWTFkR)o9H5<#WYalS?@95h#`F!!Hom$Mt;ug>#g$3Ksd?Kqof}%YQK4V z<^@mfq{!gUv8miJCctU-XMXvILFx1lO?UeKhd+Gm*&C~6A5n4V139SuQcWG7Yjt!> zz&M`=5!?oFXj{MJ(RlD2T@46H9+EC=YiAd*(+!}zFr8(z5hZpucHZR>G!;L76+Z|b?F|QnRi>AjJ(@d~tuC)req`jJ|MD-dH=l1? zIcVs2SCYGx|M&XG(>ss~s(1xiP`@%=lSwp`!R#9K?Y~uTYMt^oJN!wkn4kjz7CQa> z+m+_N1#gU0e1Fonx-Q~1vfjHJJ5%J9j$}QTy9-PElNoB`+4>h{WnX=t&!upb=t->d zrZNIdU$CtF$dt#6+&!KiqONSl{$v?;JYO#hQbdnpc_WQqM@KbBGhjlA=m;OG^fl?>on{z7#KFKnOK`ldHmG?7X1j zq5W%9mX9A^_J6iNtFFCUTARe-0GYo~lY>-?Lvpbn&~GT}^xxit^qP$N4%@R4 zoj(1@n2TMzzx93AAgA{WD^(7i?CYVqm3wWXmw*)b4*?#P znW;WDn`?dh^n`XAY8WvucgLwcene zZ_{G3)#jiH*eJn-_G0`nXRISvdnU~NiKvxK<$#9z`t^}aiw(GimxI%jJcxnDloM~e z?H~T$KL_DW%*7RC&{RBc^ZJ^1Wou#a0$A0kI`$X;um)IKV?^rVYsnUM)RE$PleiP~ z_HI%@f*EOa-bMv*UhQvobErb(_DB4^fSHZBavZ5;+LHN{5NYbUvBdDS9 zlH=b;mtOj9UJl&?s!_4<#)LWpY-bg_S|0vxpNraBiDEDZw^Vu(q+kp)ACp?S&hp`} z`XN3ULu*FI7}54Vg$kSD;_cE>G{(+rQ0^R`I(fi_3v+&krHF=FADy1m26`s zHT)jNha{8nvA$~8!pYBg>CXy-^1pE}h^PBg@x@58Mpahk>pIJKmCj$g)4S~-&{DEL z>O0@Wn+7{ljz0|VO(C{4H?NF9>lN5fP`m2rIs{bY)sH1`J?%&dS(bV^P-Vb9B_kuV z_R6F!rQR1YNh|;o{Hhy;|5AT$ifg!;s_(to@>vxoIQcjrmQ(A2y+#V)YG+K2-z|Ig z>}!TQ{2T^a%;Mn%4t>d&Woss_Q;Wu%M>gHVjsv(X)i(>rJBT1E%g1G?XFiIFq(=JR z3%+{)?0=KHtiGR)&|TE=!{>sIb`NUQU7`4Z?z`;WwA$JbF5@1PUP=M~5eW zErKU+V_q1GXk|lkOGDdtr`Uk3K zI|Jz?4SAzON`KXi_4u7=qQ4Bg`dI&LCSy;m4Z-*M1I^%s5XI0p?ElJVqnzuc6nJ}b zAo#jn?|2M4oj*TkER*r7#meU=<&>eLej_LwHL?9AZePLTX~MV#gmw#}xpXQR?5}4I zNvUiWYdG5xZ_`W7Ae(y2%=#JqF;(k{9|kj3aF!xXQxYoxRq2Q+($buM3l3JzeqU&B7qYbbDGRtiCsEJ(v>mtMHg^Dz4JfV&yE8qEg)Qu z%GrrJlEdqS+lO;&U-Re2IFf#XKzFTOOEi^!Ia4#+tybv^f79fmjtF6%?0W#sJTAF} zx_|{eJJx0LnC=Q*WIg=LT4{hOKEI7JyNXE35zAeA zC43X?zZG2D4JWb>fgDJ7S@nnQU^gl+#eVVCe#oegco znO{iA=8px==RCG|jTn`M{$wP$XX62P?PR-I4F#)zyh!Z|F1XT{jzRcl!kqZ)BcVO} zQI3XNn$!t^5Q9rt|M+zbI7RL=@GuA_9$+iO=l8A^FfR1IvlC>;ddZw#(U-^taWuC)9bH&b z)#{TBE!~4qR{+VR6mMHc-sIr8tye~A9KDk=y1U8p*zRD_o%PW=?>;leV8s}KsIB6D zv6S4T>Sslo!Rf3&9;LC|<1~sK?MXp>y5=1D59+I44S@nsBmFS}n(445yfRqV zOTKa0PeFcnBE zf5I8FTN|Y1wkNE^QeBQW+upb^e1NRt1hoF*cGyQLT;wb9jlRP#bL{?~HP1zgTLI}A zYyp34)5(9lHC3@Wqb8Mt`uSP=8|EYCK3e{6!G%XF zi`=gQ0WO;3G-Pw<--Dm?y!iArUdym8{8|~R3l;p3s`OsVsEyknGI5w4Mack>?RZr zfg#zWL&opA@p%VJhh8`~E2_$pewn0JVoUGsVzGF?z4m=9@h+U1qj3K3g5X!W&f}B9 zhUzsvUzD+YKce|RB1Yqg1?h6iFnFwPIz>F>bvX6~{SH5*JMx@(pXM&;+Q;9K)8<+l z_|hni9MpYEnxh z$D#)c$?%fQaBkNmqP??Lrp(E!s~XBOCI0O{KX61xG`JYP@cCD1of^4WN*f5R}<$dvr>3kQXv^A!ZU)~kEgg@ABW3v^YHGj+nGmEXe^!Lzx|#7o6EP!GJ7?Hi}mvSg%I62KjooS9+#c8+QS6NL*jQ%%mSpzCeCytS+%ZQ>6 z*=)@+e>~=5xl(i!b!!ThbQeSCKqX8N(^JM={eB0)lX5X)R`kK`;bLGvron5VXsA_s zY}8jB@I!8?DT96QPRhncQ@)%(f1WYmH@m7p0|3?usN3Lh`5t~6URp>YK-De^Yo!&uPVpCi--&nSrd(^f5ax4l~cwIM%u7oL*570e(Riqoia>b;KD>_ zuHr7rM}EA}_g{Eg?m68rnO_FX1puObu-#e5{QG>jwAp`uOa@og^o~6@A(9RrVzHjg zI(tDyW#;;jPL>UJQ4wnmAm1%NqvE@qtq8q*1W6i$Ej_H@kISmuAI@Yj^(UCZTO-)* zZf<^@*1gVC=>kmmX=n@ZAaK|Mz1jA8I~hvSPGu>PJ*4PF!7P?H-*oImsIZ3oGvYe(QLa+9}ChsG#g9AU~a_W&A!A zO2)9_I$*4|K#C}`zXfuSb6}tfZS?p9b{`^{&>9|R=KDP=ptljpe;gEZRm7}ItoN+g zF{)rK)wdL&5y?R(Klm1w-~* zebL(7|GdS^LaJ%<9$?}Wz@oBx4+%k7{a5;4dLEFRQ-6wm}_gDW)x}a>};{R(Bp4}EpHMtk*f(dVuu-QX2IS2$$=y! zv=xyUFOP?|&OXW@XU3CUt5!cj?C5+!0HB&z9?6I3=y`-Dee887Zka9(P_3gA1{5>qT+eK0q`B`T?D}1E+}_$}vUAmI^NY6U%bF zLN)AR#KC!F(Gfzwc%Iky@!qfPQBvd<4rnQ9$Rd0YG4}mbS$HY+QB~~#LfKGbB7_1U zl+YdkR7MghlFc=$>bMp1I=#vsmHfNEf@6`3$omY~5+l=vPhV zwCOXmQ!9yRlJCo&l>mqv4xsu$WpOw|d#NwM1M#nK5#5m)cEf9nq9@+pO1KSOMtRBO zqvX7656(^t-N!8I<04#L%@(~V!k@0dN9WnzEye);!4{5lG<9~DXyQ9#5FRSlcp@Pj z)wXzGM=ToWhFGwux}Z`hidFNRU}Ek;xl=C9-h>uSp_hu!_4o`S=A5&fIhA_yYiMEe z_)Eseas9{{_tNPnW;A2`xE`#*sIaA@xcIN~fzbhyrb3HU9LO8o+FY($#Vx+=Re~*D z#%w43V|!-VA43y@DY40hbhAf(Gk&|I@gRmZK{1fH`T1sef|J`6TKd>AF88|N5XU8> zp^3+q-%ne_CnXgjfUnzkOvi!!`wa~Y42%`Ic#fzrep(|bduwOO08nh%Blz^7t`{t* zi=~Nt=XMxBnp}6350sxVvaE8^^4VM+M+`?7t$*|-wyOS)_y~6wzdyp4ie#TQ<%El2 z^3<(yRs#-=#YpjE#i7qtaA#bc0`o*^M0lV}+l;Kv(sVL^Oyq6pwLUVfU zFW#Xjx?ML;NKRh%W8GRGS1kq*ojD(cofe3r-3xvM5vz!U$QgzWAq3D?Ajb-T5E}@yU1kHODX|0!3Br+cks^}^i3lqmhoH(BTczNP zR2;qy*QIx6qMhB;7x@XNwqbS8?U(XTX>@7b4&43R7nq%gd)yoB?Rz%crxK_4M95{j zWg>E*rIai+aaAy8s`C2PS}VK6*$FnptG0`Pg&}GgaATa==^FXFr^GaLAmZ7*U&N~xDO-E0F`v)K$hboy$Sb#2R>udNWBDuw95y|Zd&7cPEPqCQVt{p8>~#2EHi6#YM`Dc?w@A+iHt6#V(v|eA^oog zOeTVFG0tp_l9oo2y$;BnQX+Mi8HjFRHwaq~U=K8}3G?eK=e2!j9|c3LE{f&OHFnN! zNPVBUNjU)bhtK*I=m5lIVbOX?x#4>I-kriMvEva8uw<@SnL>Uq;H z7`2gXWtNr0xnHAw!}L!zjQG1%4D{rmjniAWxJ_{AWpERDD6o>xQmn@-5z8KP0xt|OfFLJieqk|B%^%R9 z*I_!{6vo*T7I^U-h-%KTrdvbLSljO}hO1X2!wTspxn^TU*`n4i%ljGzr=zndd@Dd( zsmjl~V$xzCa5pMaZS~I?-4O%pq#g!vV9vH-nBeR>T%g^y<{Eqc_l*<}HPK`*>zZw5 zPBlWm{>F>`9i!%mD#O(MI#95-wmrpsK~`cc>!oS|F$oFiTQ5rQ5Um`<_;{HbS1Y;S zam0BGA27;j*8naYFHb}^8?I;?Sx7%DK6d)Q?y3SMB$-L|lN#cQ6ChwXl7d`5Fl#6P zKSTY7qpATdCa1wML-)S{{&`>k47>6kIdWv~IDyqX@+V@S<9`r#Hra)7gBM5ni5;9<8YrGB^R1Yq-hW<)~Mvb^}Mt$}(Mm0iYow+ro;NL{@@{+2%?1N|z&o;CNfUH%Ew@pU2=sM0QMg z(S-r${Mx}Wd5|Gi#~B*Uf;=I}`1N@YL6rH=54%j`vO_nimQ@GGq|5}-huU|kp}8%x zH*mYt;&b@}a)$1=w1OLCVO+5dx78FlAH}KONJ*-{mJBx5Q9pVcCs4ANm6d5*W|j|u zoe`WTL_&%8D}BlAndnJjsep~x{*olWNblYb$kw@T9@#ul>hXE-(qsBmkHZ;Nd3?tt zB3?y=G>A*b7S4qoiYBeb$l`fu?ihPlk2qG;=$*7tfZLr#*QV{Imkkmg14bb-Xjr*ct>Ios4(BT2#%$uSbi(v!)eQ&A4~-Z#A)s3jO%OXl z;kkOZY2nWZ=x>`>dxh;QW{;yuq0l8_w(*v8Z{aobNJrEVPWd&@5=M9s@C4>71HY@1 z>*T>n5_3I2dh&54NW&^u#}XJ^TXS4hJSwWH$&4@Xc%^T}t1?j0CMKF80&Wl7dNJXB zQqOm9&pM3?$n-qNS5i?Ls?R&lmu5jTl%FWk+3OTwudP0GMEHg0=|a7Pd6@6$!=EWR z0687hOBvSa!h8=ryV9LhOyMxV8-`XXb?@#?*-d1G=wC0Pd;8wy$-$k-IjCLpP*S9K zzOH_b>~H`Zm~4d4@0oIrB)WuFU>H-Sdhc*vlGB1mj;u^;jTnHKN2z%8UU2bdUyRU7 zV3JyJGQffZ2p^?nvAt0GK-EN)Ppc|ZbZK$`zej_`rhu0-C%0SN?rziN#%O*e+prxKdygCWsb_$^7hJ8B0HAYSf57n*SljotN`3 zYv^T%GhDKRHp<>JA2!;yR#i7Pi&Z!0qXK*~hYp+Hv&^pT?VYd>EjQoq!!t2u!1f>e zQ)A{{N8vHlh4ly0mJT%Ces(`&5}EY*qd{9_d=-0;@$va_TaOk-Z(C`Z);A0?UhjIOZHRp3{*5cMACoA>Nb9JATI5 z6WvJn^0E(VTe?zL)~jmpBa4w1tAG9*Kl9Spg^1nvX!gKwmU-BTt+1@XWL4F%QHN64 zCY>GPc!SZxbn_3#q@TOwNSwrPq9ee;lEq)Mq6?m+OR%J|iSU=YNncU%NU2BO_qdz! z?09YVy+N;cu$OfQ>8*GHTXZl`&oJwwwx&U7WQj8VqhX7wO;|0XS9})H%m=RiFsC5c zg-Yx6GI-oE-2#_9Qq0^04{JNSQFu=&t~tt@hQlT7ueqxl;lGzg%V!JpTX_{}i+{jz zFO-MK3Q6qV=ba{czWc8J!F5;*GnJhorN!z@>E@f_)W`FV# zPlPo@iCRoc-iZ?n&BwegkL|YA;MK&tn)!LXAG-!PNdLAw*27Dz;e6!2KR#Kn&m`qM zs~gslF*40llX-a7^`6N2!ZS3eNX}MPwPDueT+@Q8Diy>rhbx#UjAzuaQJ$-*Q2kXv zGrYaLXF-WHH`>A9HLwbHG*rn|D;0=D16uh!Ogd}-5oCi|!nyre6+nop5!Le2Dd*I6 zvh7+KVfkmR#rNpkSG=<4(tDmA6Bb_fO9vMK$|6{#+*jS$&XH|;P^5d^?=kFT0!EfW zlAnhNG#*{TBVRNwp5!Gd)yif%64_LnBOT%7V&>?@bOfb9P#?0#0&vWt6?hAS(-Nzt zzWJURI^rcF5#c8c&a`LWh!sBuQd|`&T~R~l?~wZw zUjE4CCkR|l8S^TqNVRQuRfSKpBgm9kQtMMWQ1U1HFwi%h)<&vGCVJ4bZ6k&(GdC>8 zG++*&vi(YpsiIq>#PLn#=;NPBV!PDp?Zpaf2a!nxiMNYF8h#?ID_gge$ECj9N=qaT z&LUaE*sa+u+7kB%rFY3_gg-kxwC;;jZ7~YP;?Q1Q=4i z_u<0uSM$UI==e5nURB9LAJ0~Qr1aiA2aPYnKX&eU&nSb{AQPcmvv>zf#^d%I24KWp z_8%}{&%mYpvN%$b)P5{c!$t>>Du6e3FkP=)2dI1dAdM1P$MVG^v6+(gp48uLe`R*^x!m% zfP(+~%6BYeWDLFB#hc4BlLRXAEi$gj{HOR=>U(JL9lwC;xCK8#T|QR`WDr>Z*VSd9 z!T}LcAwZad>wpt9Qx0biO9r*p!0H(h0R@a0D4vV}`-)ydt1et4n}b_-9tIQTz=};G@I}d@u9a<&1Sk}hTv0s_p+s@Y334>_@AlQ~r$%uDNrLN=1 z)G9haezALgxAx@ur~P5)=y_%uC0UTtbJF{L_?=IVr{OG>BW~m@{mvJ|)9xuMRw=XB zh8GCp)IOAYwQw;;SzR2|i-;i>q1Eie-PPSm)d-hbnBzChK6O@SX%DQ9YEzeC$a@5_ zpqJoXb6uaZMv9|hVDwmzmb|!3vr)q>oug5BcaN~rlCLFqq2_yUTZfhOv0`t~^%WFV zl1mbxiBwQT**~S`qTGLfeaz=9Wn|LK_HzG`_hih@sHiCBdz17UZtm7H>m7`!;%XTy{>sd#xv_6DeV;Sj3RtRmu>QIN~qj&AE1B z;l~}lzWiv?epjf^K#VPa%#^;OYVT*q^f7b3PBUQ`;j54lzPj@5qIzZ7@%P5|dS5p^ zN_E_HRq`T3MGmysm!|}X?=mwnS-P5p{;*bAf6W|jzyC|f0DhGbLRr3ZQ*GkY4%)aM zh?=oUh|TM^Qli#ezS#lXvhyO?f^Wv&k#MstK^HiFU$+XA$FO7XIGlm1C*}ITukS%8 zq7ppaPGGBIXN6>*hHkc>NGz=$ohVQFExs4E*B`LKa`5Cv$~2;xQRPQt73Jh?M%{mb zxn!tr z#)}ktO^PF2nLmVQLH!n#aqt~($@qbjU8UA#WxlsEyDh@ed1kZI< zxv5n^rx>J{@bYT6Z6C*@p18P~pMimd0y~(^M;7+Z+^Wa4S)JCbL(e0VenS;(g5>*x}>Y&l1;f= z=hU%D9kZhqAYt_B;-xHaXgb>04wd6`H*>#k z`F2}kO=-q32mpYZP}ElF3l=bzUs9b;zr5{a9ghi+rhb2ILp_z?cO0HD*LGp^H|&)Y zKf(7-Q_Ij`cXCpa%e5ij?qsrlO-bUE#Guko{MU8wUTo8u!vf7+I;v!%T!N8dg8b#hm319pRqya9jqJ-0g~@ zu_BR@t~qJXqir@lJs`)GC65g`?iPN9LK+n^5})bkCKc{9IBq;Jj;T5mUsY04JXK&# z#dMTq%iWIFOqjr~ea2FD)dGIB@XIdQxs^lZ;>BMKJ>hhvX8e{ZMEojP1_V^Oni5S7 zwt9DL`m4Ye7%BTK-GvKxv-uyy_Nh*Iz3uNGxy<9?K|ucgiS551e)rDORC{h>YV<~U z$)Nv?l6%hECFPE{s(;L~CGQLp!*Y%HB_}7lqW49qrD?L56m#dc?G0R8$|~%0KDvK* z0-=Wxxx1mE($(u#!l$fe+X78}*9}*lunLGS?Ef%tyr-H>CMUEPADG?e59PI3{|}{k z4foTB@4>MKh4;z-84362ti|^w0i5DfvR#1{PXF`!EoT0?k)Qr>RPG2h@ z`aUTLh}k~2Kipt5Gw_~$y~(4+t}6SjWNhT&%SXH#4Z~h~9Wf#G>eqrjtL}4OA0KfL z%_LZqxNrsd`bvO}Pi!EGv@c@*>r}F%DVSc-shShUTTX+KWlhDo>jBT}pmaAX)xOJ$37MC%VB^p@I+`IB_oKy2Zw01$;U5G2 zRos6bJa>NfzQ{UJ#yGkq`T6O-YlvC9%m12j;|mF#Z|EzEF|z?x(H$J8>@U;bI{Oyc z9A@J}3*PHZu@$tE;SFzDEkr7tV#-|k`4FlIaBo!yJ_v6=K>9d*q?O*D3a@J8J>#<> z1Fp&Q#sqYj=|A0zqXVS-30d|w9dX= zB>4AX6z;@t7w^Tu3&&i{s6`!gW|_`UuiwsFJ%Q0{%>!l8#RohFD|_`TpvEi~WbPbL z5+h(w(j7PGYmQ#BCR@!@$%4VqUawr7;(40?GBW+*Jz~XMn}5H=3x&%l{qIq2^R*xL zmFU>2f2o>^&0WU+aoKA2-ngfm{prk@%L)Bz!i1@a$({sy=Jj^)-)b=;dSx0H2L0UbX4h>zse;&3D`N`PE9Vz3X6K4X_$h@44}4Q(N@4)+RYAo5yr=Dz0oHj>!#! z6>j_HGj8-v4NuC+O+smywJ^&^1aC7;zxy5--?4KLcff$!Uikld`tG=18Sh6%#S$HkY5{i={_2cx;}RjdVW}{GIJ8Vb_kdB znCUr=$IG??_5ie%bceg%nJdpZzV}G3s_Yk9_mGnm_IutU9jLv;f80D+*F1~tGu{r%z% zbaj<8PnDkyeK*u$u{&YK)n?KH0OYl_F(e)ao8c40!-RgAJ@RL7Hp$lOy&F39kAP?L za;)&YBl7DA#|Y=K)h7#z&bhG5&B3{gvv`$xWh%$H^JA-1!dCD({~tkseX8s>h5flq zSLJ5uub;w0OPGEBt?bgIN@KzI2*JS&?6wmHSRJWVTe(@9ygA(;A&V_=xG+hpC8Hfq-ybs{%j;hFhg$){7 zg?om?MU`fupKdAmv$lG&1ux)+4WJ)?17dy9Hk#4P^*&0oCOl#3=aY8{qPRU@A8Jlt zwrfC?MnQrvbuP)tze+#2K4U%>aHkeks1i8(zwpvUnmZY;#du?G zYnJ4`*FAVcw&P+~i>NZe39<1>hMNDrIgz({_KxzkzJ-?GHU4ZjeL%E;W@?6fb6i+4 zo8_OqJ)P#O$6Y4XIi$~4Udof&4S=RqwPKwn?L%GLHDih!EajV1$9FLWeJz4&fGYra z1v&#YmY%^~q34>e+321(Q;|t`GdtDyBTDc&K!DRWNV@S0=v#&<{VlE_zVKo8=>ElX ze8sJ~M~%AttdPla5{>P1DZ&M^tz7$%Q*_ZZ1*o)43b_1f9Wn3(*r@^1C$b>_EO=ow z1xAn$bIDaRr0Tq z%*yf8A~F~C$W#s=vt2t)6jG`N&+2CL4p!hzS|-C(1oGH`MuDK0{%hOPcPG>k;R!|E zqauUKiQ+hhstYUunEbX9*~FdZQ@zSG%&{sZpn1Hfe#di-n0P}+O8jB zH+&e==f(B&U0AHPW~Nov-8Q*_-)!Ez_8d_1Tp6gYdgAsYqgr31&y!9kCiM%x$r}Pw zk4ch1Z5Yb%Z0-TqxJ`wwX98giW2Sq+bxZlK%k{hszyM#h=V}Wzf?Sj4x|wU{HuY=e zSG|+8)m(!9dH?Rkl{iuNOS|RjE;fDZacK-Ve_H*5jOM1*$xKi(gu>N#R=%l040tFQ z&?fj*dFR%O=vO6uSOQt6u9pI;8OM3olHjEvRo4A%c=<=aqRPxcI$0j&$wXSbr8oXv zJkDjQvguqKdg~lC;;-?C!bt6PK`&2{VN2-St>$Z;ff>DwXr2AN}E;s{C`^PcPB>CbV#x?dVZF|o;H7atSx>@Y8bye?@SULS*-!7+qBO8hYErvhkOCJf z&G}xLnTjBEVU6|u-EsLd;;HgFpqbn;wlh3vwrNRmc;QbxBi$HgzmTd*S!$#QppFF|B;EKgWdX7cG5QoNQkK4 zTx9Fal~+(9s|K}^)$gA&I4sjv6ASeJdQBUv=mk?ok$fNn$S0W>_M zN_Mx_{q(GO2Y{RNpUGZ@8o^u4tfk=LT%@Ew`m4y9VqC_1lpgOdO}Qk)0IU*JSFwg2 zG?$gaKCVGd_e$t?@vt6}Sb5NAGo=LhWeQU55J;Pph{ROh={;rhx&lWCCp&e^-0jI8;{Gga=4%_#yKw zaI&1Jv#sX=iu$jmx6Vl9LyJqVo!O^*cynm9j}<1(}rrUvV|j z+COud#1;b%R|RMOOy0@}GZOfp$H4YQ+xh%*wU3Aq5=3pBjosBuedmE!LOTF_CcD0u z9!603NO7;CJUq$OQzFOD!eJgc5+^|Mij%wuY|*E<4;37dQ?1`jdR^}79!ROzPnZ9A zOH$H#7Lt;JE=3`+o0@XxeeV&**?Pu;pB4m(NN>~H2ovdCve$W7&NpN-_G3#N*|aOc zUo6!yo8)_(ZfcQxtW5&x+rn35l4xA6X%aZhto9R!k_gxlsSjOnB& zP~5YdBn3H(PF`9_$Nb_oC>7b+ldB$D|2ulD#Z(3F2q=g$>7G~sxA?SYq_po2#*RH6 zmTmbo6PM8D&#LaHAQne6@H@!~&q_at8(YZ0-25q6Fi;Jp!*8D$4`lHxF)XScN#vusyD@FD}Tg>e^el7j?lk)(3!_Ua+BL%%PR!K z*^)~CeJ^mhFTjsN9*cik-7|Kr=B)`Kt*iTrlpLn?3Ez0Us~KFIrPaE-8?kmMAD1>0 ziDZt;*CGke(S468rC?RA3Y>tMRSLTI71xiu0MsH~5(EmPzxEtpb*_F?e`6x8zJSr{ zr=T-c+?GRVt;`y(d{Hi%O%Nb4FF#6Al9qW{UYPz=sxJ2Hw$7l zz~|ftOkOD2YizfejU))UPj>e{F76#H`@AZM_sniFlCZRBa--1wgG}mgH?`7`#_Gp1 zgB#lDCVKgBAoz=k`=opmnD1;=+cjV>;dO=xt43C3WO;+--a(j+)cG=>r}9mm%?1-A zlAgZ|*3%@}3LDW6mvF=6MS%!8O)jTDb_hW%cPE?1*TZDX6(n7Vlu6cFC*$3my z9vkxJ+uS6f@3zWbIxAo9rZXFuS&L=bIokOlUj+f%fOQ_liIQFbZ6?W`VWclLryZD5 zHdSfg*)^uEYl?^RI2auR$$~iGjl(PZQ8|cn_2ov}CAs)#_ad15Xht^A%`A3I?iF=W zk+gpEx}B={uU^w*r)1-B4F&^Oh9s4t7!~qls7bA&K=WTc+iB&YJlC5?^@P+@Y1Wmb zQQ?zdKi=CL@=$(~DQnAyJ;hm0d&ABGP3sp!T6A;*LOGWg?Cw}lw3hn=qNoHSYX-Ht zn^a5BvK{*2XY<5fXTo;in5(?J6#MUSaH}<7cR`*MP7e&tVJXPw*qxm~C3%RHr4n7U z+&!S{7wG5{Sw)qExbrg&-%|M9ISn*xvZRVvl5QR-Xc0J^GCY`W@Pp#f08j#jy*X*J z5sqtLsN`JKh5R}xH;uJw%uu4UqEyu}A}gyB-_?}#qtdX(s`#giCVBfYMThHs63vDR zW#&ldK&TZ4r$_QT?!3Y1^09@L_J&o%Ug!(ENH` ztf7^xunP8Mg~cz&3|-eu(RBkOO#GzS_RvjtSP$9Y)1MGT0c|RhSX!vW0L~a*IMWMu z7a4h|rR!V8ySfu)I#O5PK6AhdFq~bSyt)majtnfs561*Q2Pm!avsWs~@RYH!WIINp#B&F>t%*{*#QwB)3*(aNg(}wPtYHnihOjKN)9z}n ze{-9pyIU#%vd+9yriOVqyDx5*i(e(?mGk6A4@t*7^TH~slP0H3Cf4{k3YFm?sf4KB z$q(5A#|=7Vb0tGURlVJ)!d*Z*m9|n# zr~p~nywYNTmZ?56M1SGezsP6?FE1IXflY$kHuVV#J&}mqcyADWk2E>u$IU?@!LuGT zh)w%+lL?%6Li*T|>CUoI6^URE$O`n>ngxR0WIfR% ze`^h5g2<6i8(TiH$A-98>ZF@Lb^`V~hjOi+q^J3+w~wB_BgI&t>HB2m@sFnwYgq~4 zE9(>0H4sLBB^*EZ7ju<}r_ihCnCuBOx~U^cGM_El&F1A6N{u|DvvAWM)r>w)#YRRg zIe9v}sZ1&f(h)t#pWMEoZN|9vjr;pjW9CI~@@>tv8K10~zqRJ7rfj>Y zfS2b?C|cDllVU91Ol1oj`J|NR_lejjCUAvtjo-N1)i9;2jX=%*+Y2f2JA)|?=(h?T z9<&OaSV{ilT5C7*@)0Ssu^m2ErlL+$Vh|~n*1tFgS#}-%^keywKHJY@JmmuG2y|q8 zX+!$50yMvA1a(tEj!O6Tb_JSP4IKJk{&P6>^>M*&jSJfSUZ)S;W0EUTaY%mfHUMV- z8k}ZQnfL-LRI;17ys%{I8#-GFf0HsuS}HqPJk;q8L&!#z}?ghIlnED^UX~TctLcTmz zjS`+pOpf0Nx}A%&G01n>IP`aRYk=eBk=}}8aMPxZKw#JABcA1VR8{ToS)M}5n(DqW zKv3CM3J3+oCNqW`{H1@Id$R;2ZV^<-aY{Xq8u zafoN@So|5RM|7goM#Lxd4sRKZNiRdHDM$#W)KH&azadK+@SNnh9LG!xhWg=yy0 zZb6;!P6RpH`#yO1Kz%C!s_1V-NiwsiYBAzPGIA21L(+Ry6>dFXvtrj!I5mwu@DTY= zyUyguK50|h5&gL~Ls{GlXU$9O_4c^j^?rC{KcT7a#&6!U<~9gahJm&cOi)}jg^%!A zs%6VDP;sZU<%RULF%2P7ilHr(9LjlK%0kOfE3lDB%|{bNh|lR#FLH$a;Jnjdu=GID zqO^hes1r*7@b$~w&*p*%8LV-Rm6HeS@`-bE&YR`4a+ir--u&L|%(AuSzv+Q$UC<#b zd1t@=`?OqCPPt|X-ui9v_-tiS6rDXYeB*ANVq3AOJGe zy>%{U)%Pg){7l-gSfwh9R8O+~4|yvTB*uSBtW@_qIWuz}hY=nvwmyq>$YQNK|e7FxSP*d0!fOgfg9m~4f)~KF_mJa z9uH5b#V9xar5@io=BbP_|Lim|6j6*cM@jznnM5v`jvI)>>7=b(c>lZ`N-tVW^bTtg z1bYjqD$xv_0Qex_AM#$Xi>OD3w6eo;tlpYkC@2T|nMj2`^6pXV{TWA7KsKB6DWx1E zKCUQc2dDGpriTRFSWJ(I^`#ne{RJLPatwatF!1lEgzJp~`!ZzXt;uh$^TAzqasf(#2lc=DctN-dsfBRKHO zW9|v5HmmIed!M%t14rZ;>joZc_oVQ4dW~Xvfi2yBIOcc`I4qqrUo+VW19P3>Rq>Is z7)4FT-1n0EX04l80sviKZjj}-O&(=Bl5BrMkkd{n^Y*o7RSLA)qZnw>qQWCx8=|$I z18=&0U(kS_d-GIi)|oenbXG>v2rJVk{iW*K+|^YO1n_i{49weV#~d$CpouMS>S@6u zy?ei6n&vnTGb;-69OEpc4i&`Ku0+nW(#)lZrmGlf@OG;H5A>RVm5u$_o+}@5xs-8c zu6za{_|k)%RcZ78L^(9pVx`*%OR#|)7eJOh_mJySJ9)${c=F~AXvn|~Qb2IIj!%ez z@QhoD3OY8J6Bb=%>Cg(N8r1^n>OI zy4o+YsqNuzaCRvZSdi5w>sc3aXmak?avgBVd*loCJHY+Dpfk<`hgC$3i^)_>N|9y7 zh;O23B_b!6O*>&Ls`O;%XSvP50zkAamy97^a_l%H4H-Y^Mm~n`pFPw|tVC}XcuB4- z!SKqgCj;LYHiDryUjw!=EMM-ZqJ8LX9oSTM7Y6Mb;vTRILlR|$8 zWYo)LSoHcTRFWJ0fdX2F9d#kOx_NanI&IT8c-IJ|sqV61T$5$fsYFZ0)NKlz^-AXc zr1EF=nSO>KM451rRBg`9XQ0ws_kI|LFT3}lXxFcx9OFfXP?mRH(4OE&_5v+W_NaKdz&e=$LY$v4uyb>ZGoNe2< z>&u1v$d4fMqc_X|Gd}(2lw4wzBRy8urtr8dAn;D6uT)J8E`b&|@8H#8M)KcBs#n6J zEz2qO$;tb9Z?#jCs=UZJB_(iP080A_mPer~{d)c;~aTd)O+CMI3Wv8y_8BzWigeBF zI2vs?6I|P}DUmO@e19Y2>nlg9cZt-QJ$#Nvw*a1dhBFx?#yF}FMN^BIyM`9zZ2GRT z^|NcUZ$_6+U4e{Ej%&{Wa%apTLu1c|18q{h@LXswghETt>AC9o!GS;X+P@XPyq^$d ze*ogxrf38?r|%i5+8;OIpD;+&PXebwMkeH?tT^1wm0~LJiX)7GVFhiG+f#$Wgtgim z3}Ib(u?4#F35qqAVz3RE?2bZqxHL71Tt+LJQs!U+(ahmgPPdr6&# zx^d89e=5a6-P;W?B z14lA1D~wd;%VZZ06^)Oi0(-?4jSAusVTmXg_45nxWQhILD%t!={1P!)$zfYMICxWf^b;k@dN%u#j5eS1E3cpkl4KvFnl+& zP4)h(B`@Xp)Fj;6lAKb&-txbAMaKG_I+sKTl^SnNAT8Mz>`<;D5@%KFrzE^Ve1XYG z?u|Lgn&Xv5_uFf~_tZ}PBsYwmMu&iVgnJxELL4u55hW)PYKxx; zxa<^K-HDd6)%$+|#J5KCDrqW`3k5VF2=g~)VtPFiJ*jtVSzBeQRU3H0Vze$+_kqis zftqj94N^ea^GCou6!smurf<=UUYsX+du?;Ben1VMk0=naJqdQ|x?&&xt|?jDeRUHE z#{#z3Gox)R-dhxp^V1KfiHs~chXz_tjh&6EC6z#Zn{Cv9T3^6IU2)q#o2CHBCvp&9 z499)JN#GPiTNpR2)_u*@RR&r8bf@+Z24v(&ZDO@=VcvzBHfbo&`UTClL=bnYv$81r zcY^d|nchnp1GRksJFZkNbpE}h)ljh=B*`|t1QL{B327`~=>8ZyEvT z2x-BYP>Gse=S`)Ki^@q*xUUbG?SzIrY3nNl7+NSLsl4pmr6Vp~IlgP=;oq{hZtWi& zk!@SxRkye{Q_OD(86%M7`BX)dyN5^Mdv8y++FSOnvSabg!DeS!JQ@e(YGAw)jFu|| z6I#?hl_DHdoD+Mf%c$oY><4BKZTc2;&UY}=eeaKhM%0ER!YR;@-w)Why3F#XiX*xS zhjCqKK|ajAn8-;z0xv8ptMu=aQ}_hK`ulJbu4eonn;{gRdw#C|=${lcL07Y~H(OF3 zbd^PP;oRkAaBv`gc+tgBK)c@ta9MWToS%raDJgaAwCEdI;AF~Omdj#I_dGL24!73# z%^WC@G?1En3aF+2a6m7NKMBri#XB^d+^abenZ%0~h=l5}UC7~c1cA-l&bzXl_YE?!@eRzg zu`Om02e@o{6)T?I_3{#QjFz!2_rya7dPJ$$!ah6si+ z^vdLR8KkA`qEVVD6jJ(Bq)I{1_A_$mGoR<(z7}a;rY>c{VgEy6AUK%e$LtWy@sf)f z^IH8hkxhatwL!9G@l!Z3Z7h>rVfj~^o9m+zUsTPrDvDEy&OsPE$cTPnPXp(H)pqZ$ z1u*OX!n5sv##p`rp}ZC%P^!rnX+Lf)TuHzUeBNR>{|ssNa|ypKL!nZ1n!_($k;gW0 z6R7izC>0FD$Y6cl!@w4zfBGoKjsKFcvH~yfG&tpVmkP%uFwQjAH_Q?j7=TL!KvO7M-`X0jYO&jnR{s%uNyzb{jAt1tT4{h3U zxF9J#WXJONrz6U#oEtHiS4}uPCn?JfY9Sx5gN}07KG@ro@9Va>r=Xke|5%pDV(S|j z8Y0AmwGMgIszv?`SXPzW*fTld#XflY9ft5GQ4C{psY`J36%6D+8c+}5$Zi}rbNuX8>_!bdV zcZ-auaFE#FEJ;IheI>rFAovdS<6+AV4y88a1$cAt_O4$5cl5g zJ%%!~Vroo=W#xGJ>7n{A^m3`}<5=*RlT_rn8sT4JnzhmDy-!m=vYrC~JK*j~G;PnL z^g2~b$f?7L9ME$@dmJWK|6=8ZpKEW3jqeyY$xDF3OGfooWp1ZIRlC} zNNVP3L$*PntyEsMU@3jMpbRA~hDA=|U!nz{XThKR&zv0}PR=+TQ79V0Gvaox7g=(v zHJ8R;1Co|OyD~;r8^p;k=Gjc8oOI=>^-S-EoKtiMLeO<#(4-X&S2~Sz5J{R|9+H}h z18c&V5;ed#q%zo7_M5V;!kFSHPJe`K`3^J3zJ6SSR(6$n$Cim0X3@@)v+(6sJQo&%W zDy-m?Z$-)j#nxz@>Wt)yS$Iou2$r2qPwo|-c=B0qBFR=87a6{*2xlyR0bGq)*ReKB zH~F;x0d2xZTd>QFzB1QzEY9Isc~4v#&^>^Oz`hU0fhqQ(B_m1wDmH+Up{tV~)- zvJYf~C7qXfUj70HZ+T)yi0OI81t{8nY_fYOBPWn!nwLU;wF!MhLtOoK1NY?2j8>hn zx@QO(*?qvGOQo9nhO86xS6hM4FH5=E_0CVxr5tqUzp}xBjjCcuMXVS@j$=U7 z8dSM0vDXe87E7%Mcm3V18+E&+LM;M~Z(Ii{ zB}*e(I1xL@>4w037~M~YdVwB3VR(j3vu|0)Se`vm#e&YNN^0^T3-CHG-(Br<9pxJ3 zuJ{}VrX)1co1c-@;pH!5z0RtW(a76tP#Y@ayZ+c_K~KAUr+sv;X2a|{XcHrM2Ir!K zL6F&^m`CZANoDrl3B-;7F0Z2mT?m_4!+j5C@JF{nk`RH&QGsXXC<`Gct*1(J3Fo>o zwcmu`8CiyXSI))UsFXhsE1PhS4SI#1FalTFVisdejDcLxEQMQn^1_tPagf{081f++ zoH&4X&7yZ&TJaqkAL-8NPfTDOp>tVl=GNmUjpI(Pe+F*<^J>rdyM_rTGgUea=eE9$ z_;3Lqmrt)yFWB|`Znno9*1FZ$97ptHiE}!JDnMeP4D6t7qftff8ku5RNXa;li*Ol6 zstj&Wz5vVmIRe~xM!cT+mcsC7s95IrRA*8MIiErXMj&@-4DN+!b)ImvJBCWX%*iL) zH+c7W`}y#!BI_Z=`Hby+4wdojs>TnBo@zmA(2>E~#hoHBjrOy*!?6siaBLiXjBD8H z>I*rEvVA*?CAKP<%2KAYO;|r^J+95ugF)SE-UjRI z!u0O`!>;~K?j(i#DiS;Yke3V>%*kC&(#`>M;KoFOzV z)#VGH$_iGa%tYm&$cEussxYhjWY50&A2iwYk@{+G#Jl_A`!D7%J+|~Rr#n#+|Cj5-P|oEuWC+f2YJ6~Vd5MTx5j`&|;C0nEb8+zg z8dUqJ?s>7+vNLeQDWsIES%2lvdw;y{)1mouImXA`Emv9q!`;ziZT_?p{5ke1BWNDY z^TY+?!9_pFqibJ$AG!H(V5_lIesDydFzde_PYw3ove8QONDY@prBFbvNn!?iDf$Q5 zbO8_A?sqCW1_xg-c`0ZrFl6H=-u+nXAnxvZ%w=0&Y`NQwxfj?^(9|LfVWr=gX)p?m zW1m5w+=LQ=Ihe*hJs(bG?(|^8bJUc>5z@=eh8FPyH*?&MY*lx1{~E730^H*1E(XtavF?rz5Mla#k;@cnIb8>rxxn} zCY9j<{D6~VZPG*U{ZD3uH?+=0^2+flTbir)C)YlY;m^`tt<(I5NLTu()6= zzz{?tcFEW@%3RZ3EBbFhP`46J1(%9XbKqI3jr<04^}g#4{+nIyX#)}d1jTo|nY!+) zqG1h1v@BZPG*^-X3LuvT05eePOg5~Fo39)RNLk$;7=-yKK{g@+FJ>Co4l?b6eehO@ zgJZg`GGSfVV*@75=wm~0EG+;|S_xGhXbtyoZCR|DzCWFnctU0Rezf4{*oqq`q-I;g zH0}JgZKo0o&rVshoXN5?uY85qfn$5-V%k_80%dI!#gO&i5jT#s>M?fax#LwjD96Whn{iyKjq9ymO&Cl>GK=5Gy1 z?T2P}o_cgpTWE>Z2B1>%$koWe>dxr?6WICIe2qe`sG`EU0eqx%mJmy{*@c(xscZS(0ZKY7&`lhBMTET<9aG9)9&xr+a{Krtmo2e zVxiE%G0)hLaOSQ?AZ*$`^pJMCJn;z=!%GAsdwozG9v?Vw-Y2I9WP+Z|*2#bD@>`=iHK}YS&V6`ywNZ5xQQI-0AekVt_vtD!kyU zr@!#XalOtiUD5a3dOlYZctmb_0X!>H-_dh-kNPR6I}_s@z@i{1-Fy;{o>B~+KUhOG z1s-E@Gp>G_2OWCdDDF9Wac|9p4LhI^X4@tCtBq(A)-MNqM^5At-pt;RCS4QD-A$B=ncxpzhO^NZ)eiO$Vk?*oG+ zvtFSo{rsQzhw5{`dZiV+=bUuw+U<>eJfFD~91aNL`Mkx|LD?~>fb}=YJt2}8|FZJ> zwddrgBW^KG0scb6Z*$R^e3aSLU5#EM#IMgh4jOPd8ymHu@bk00>IQdVX_kK70$r<5 z#=U$JF+*JSU8k2Yqyn~4m{lM zZ2#fQZ5RH)y)JLQY?<#Ulx)gCA>v2Wq--^iu!lnV8d7dRmXY;)e=9XzhGk5Zy>c5O z9<1d}TDS81*Q(;Njk>U0H&ZO-yJ}7k*B;5h*VahTwtw#r57PmjxEdYgUk~u5F(Gn; zo3<+_BLNBl;j;`*GH!f*b6Vl9_M0x|@~q#Cf*rF+^?QKeCy|RCfv4OlYPWn4-CKvU^ok&7hEOKrqkAkjj&{1=!7i43+*gGXWYqHJlj>x7 zl%Gmc7j}vbO;V2pDs0SzT+V8RPj?5jm>o<-`%7x}F?^gKB?~2}HRykq&*yXUllw*w z#q}lOUBq^Uu2W?lqnSQJetO;XG%-k?Aycqa3g6(gMs#!XaE{aEZV^hFNTG2Fi;eih ziK;DCL+P(#KAoK8KI9({GFcC(&KWr(ZDsUArFCZ#h9?mchne${3{LAVOp(!CHg7l& zsxUsNosLx!Uhe4;~BIm_Cnvbt#r-SmV3`UrQdM~}zF zG1!0}`LKu9JQZdj0k^G1{Jjr0h)Xk(`Ew$N>l%q>1EQ(Bq%;)Z(;dk@>Vc<_ z%~9q_4T(gkYFOAE_58Z&AHZqi>ewZvrN@>rI`G-Xezz-XaQPr;&Kl_A@F_C|ZsaAT z6^(t4jZ`IKV0&_Jx9#vNI=BD49`Zy#)j`4JK&$1#?l`ODY1V5`-~2NjK!dGBomWCv zP8O?j2PuFyXq?&c6XJfg;_yMf$P%PAc|tEmuTG)>e3R%!6;!A^-T7m(^AzH9Pg1Y5 zuY^d{^r+m5-sxGbj#5Prf$>%ImDKaY1Ux%*OFtmwv* zJF3S%HdGg*Vx7wukk9OI6=UEvS_x(}f}L4kK;iKrW~x0#q2Z%FxVyorle+x6J~|P% zoP6)cCEaq*2;COvnPcOhohe=Usdd(rFrV_HmNujj>)Y8yIx+`fruhG+&K>aG(`yQSZ-mJLRzi+mM(jVL3@b;N7b(5+9Z>aeg8Ste6@NtD@w?cS%d175dbL+Mud>0@3`^?3+1Z$Mar{u|R zE_lu+aG<{R_uGNVsPMl}H-IU<H=BfDc2#_A+>o(FRKxL6u%4jlMK->TKpS6F< z(P&Ij`I$yCHD&1OOxadZ_^v?W@UFO;xZgLo0)#LHcs!}TnN1hnSX(?)B&=gwBNiEL zSXMn6#O7yK8y&N(3^g$l&v;r2cNpnC`y$J!^7mi41tsQ(mZ}_Ymxnvkjkx0OR~>3* z#W>|GPW1%(@%Je`o84?Kod4;wHJ=pt2v%c6Hm{lF{1AQe8yYhatzo>*NAy0C1dTi zH_NKMkTNDAu3UqU*FHMo!{P!ABU>GQIlXRvjskk+jAb8#qD5QYT}#a#;VdIf&SlueEbI?~kSh~@ap(WD&u*Lg zF+D<`#Yb^#ohK-~j=^N=E}Ef8fe3wWv1e(_hW8$aNv;ty^=ccJ9m)jJ>!0m?p)QnW zWhwo=ZUtl2sOT>%PaX+priP{^o8vWOdNvBp>?xzeHHMc4t@%Q9!_18aIIx80{!EE; zk_j^0d6w_k3!eS)WcKaK6RqASO$D@;(X$jc#cVb|tv^zya^Hlm#L-X(vk|(Zb8DTL zrD?6S#YPkJt>T;~)&dja1^-*Yyd&wdc+$W5)O%lOBCN*OgJOPG#KtpCi(m6uP{wI= z1`SE^RWylraADc&X0zZkK}K%*C>HSOhlH0rUst~6NcEUc*D>Ls#hvp_b*Q}>+&14|^13v$R?c{NEDb>39d9fOL z7HHYod<#HzQ%-ab!lS#r_aa}{(lmwr6_9%)T;lyU_R0hvss87`f$Z?v@;#k5?ecl^ zKKHW99vVRp+ItcV?TnodQsG@%#}CR9(tY+l4IzU`PX17$Nvu>k#zf1-C|T8A(2B7@ zu*}#gS)e8nY9`GCxoc#8z|$;5r~SOS=|=YAbR~KMX|Czfu1FzZ zdWXeb`dvrG(_m&LC3&<}hC;o$l3YI}!}|Io%tQ$BV?`Ckk~xIK zr;<;-8p|JV1_d9-{b|Jd#nY8aU@hq%G*kPc)71Qqwb>vI60ykcH1S1zsJ5;E4gB< z+T9m*Z@l=E8o>ZC-goIDyHSX*viDLxPSn2(3{2zViRw#S@)CjeEa&wu%BW{nOWkW3 zMTKRFggNmqcG)(6=br3W{w?ebX_t7GZEm+?SsxrVj`_{JCG!ivhCA>zV>SDA15@=x z7*}hoY`aV_Lze%5s`9&~Vwl)+cK{-wH5T_i^OjzVPMCS8>F~oejOy+(K09^otKm+= z$9U}B&_HF<#{q!%sl4$&%Re}0^s$6P@ZF_ReaGIELk7Y|-JQ2T3$I1Me-_1e!m?Aj z1?f^Y#A?%Ln?m>}T2BeSQ}NyX36su4YQp|y7|^8YSAhx2k&Hd$^vfyww?pQl5fui# zv(Xr6k9JYYMEapopyzBZCTyxRf3&E|%bL*juM9*D-Oygzr#T*kJ9Bku63`bTHvA~? zJTBclD4F{w*JLT|V_UQF4@15FWpCpm`#>$Nog*Fnv3l9H0pV2cxsKJUC(^?Hg&K*1 zK1Q1ZS+!lsmqPf&H!yA?e~||#%az(<9w+za%-b<>{`J!8oxMqcRJIE>;m=BmW8N&_a67zL?X2W+oY?M2syR{+@&SeBIZqw0n;{3mx#u8@6wcYJxtrZ zR1XxU8dno6i1LR2^0w$>{?q2#a|D6Q#0B9D<^ED%on~n4QtvF1g^0gCFL~|aHmFju zlw<33cj-}R(_7KtLP>c@?<1=?di#yerY6P*_Y>Y^QJ}SC_jFx$T@d4beP6uXI&@f} z`AsdGITm7~>VG&;DHK&iM8K literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/options/tvos/splash/splash_2x.png b/source/Steamworks_gml/options/tvos/splash/splash_2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1ca99d2f0f2ef992f15b9075ac945d6317a6a4a7 GIT binary patch literal 324513 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%0ALtd#V;2_Kv%%b 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�+8?+ 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/dev/null + +# Call setup method depending on the platform +# NOTE: the setup method can be (:MacOS_copy_dependencies or :Linux_copy_dependencies) +{ # try + ${YYPLATFORM_name}_copy_dependencies 2>/dev/null +} || { # catch + echo "" + echo "#################################### INFORMATION ####################################" + echo "Steam Extension is not available in this target: $YYPLATFORM_name (no setup required)" + echo "#####################################################################################" + echo "" +} + +popd 1>/dev/null + +# exit +exit 0 diff --git a/source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.old.png b/source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.old.png new file mode 100644 index 0000000000000000000000000000000000000000..87fbfea2373a799c8dbab3a11122107fdba68500 GIT binary patch literal 11462 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 tw(Y->hWuYd%73Wme}`fJA6xJk{A9WT`}&ll@;@\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: â–¯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":4,"h":18,"character":32,"shift":4,"offset":0,}, + "33": {"x":165,"y":42,"w":3,"h":18,"character":33,"shift":4,"offset":1,}, + "34": {"x":158,"y":42,"w":5,"h":18,"character":34,"shift":6,"offset":0,}, + "35": {"x":147,"y":42,"w":9,"h":18,"character":35,"shift":9,"offset":0,}, + "36": {"x":136,"y":42,"w":9,"h":18,"character":36,"shift":9,"offset":0,}, + "37": {"x":120,"y":42,"w":14,"h":18,"character":37,"shift":14,"offset":0,}, + "38": {"x":107,"y":42,"w":11,"h":18,"character":38,"shift":11,"offset":0,}, + "39": {"x":102,"y":42,"w":3,"h":18,"character":39,"shift":3,"offset":0,}, + "40": {"x":95,"y":42,"w":5,"h":18,"character":40,"shift":5,"offset":0,}, + "41": {"x":88,"y":42,"w":5,"h":18,"character":41,"shift":5,"offset":0,}, + "42": {"x":170,"y":42,"w":6,"h":18,"character":42,"shift":6,"offset":0,}, + "43": {"x":77,"y":42,"w":9,"h":18,"character":43,"shift":9,"offset":0,}, + "44": {"x":61,"y":42,"w":3,"h":18,"character":44,"shift":4,"offset":1,}, + "45": {"x":54,"y":42,"w":5,"h":18,"character":45,"shift":5,"offset":0,}, + "46": {"x":49,"y":42,"w":3,"h":18,"character":46,"shift":4,"offset":1,}, + "47": {"x":42,"y":42,"w":5,"h":18,"character":47,"shift":4,"offset":0,}, + "48": {"x":31,"y":42,"w":9,"h":18,"character":48,"shift":9,"offset":0,}, + "49": {"x":24,"y":42,"w":5,"h":18,"character":49,"shift":9,"offset":1,}, + "50": {"x":13,"y":42,"w":9,"h":18,"character":50,"shift":9,"offset":0,}, + "51": {"x":2,"y":42,"w":9,"h":18,"character":51,"shift":9,"offset":0,}, + "52": {"x":240,"y":22,"w":9,"h":18,"character":52,"shift":9,"offset":0,}, + "53": {"x":66,"y":42,"w":9,"h":18,"character":53,"shift":9,"offset":0,}, + "54": {"x":178,"y":42,"w":9,"h":18,"character":54,"shift":9,"offset":0,}, + "55": {"x":189,"y":42,"w":9,"h":18,"character":55,"shift":9,"offset":0,}, + "56": {"x":200,"y":42,"w":9,"h":18,"character":56,"shift":9,"offset":0,}, + "57": {"x":186,"y":62,"w":9,"h":18,"character":57,"shift":9,"offset":0,}, + "58": {"x":181,"y":62,"w":3,"h":18,"character":58,"shift":4,"offset":1,}, + "59": {"x":176,"y":62,"w":3,"h":18,"character":59,"shift":4,"offset":1,}, + "60": {"x":165,"y":62,"w":9,"h":18,"character":60,"shift":9,"offset":0,}, + "61": {"x":154,"y":62,"w":9,"h":18,"character":61,"shift":9,"offset":0,}, + "62": {"x":143,"y":62,"w":9,"h":18,"character":62,"shift":9,"offset":0,}, + "63": {"x":132,"y":62,"w":9,"h":18,"character":63,"shift":9,"offset":0,}, + "64": {"x":114,"y":62,"w":16,"h":18,"character":64,"shift":16,"offset":0,}, + "65": {"x":100,"y":62,"w":12,"h":18,"character":65,"shift":11,"offset":-1,}, + "66": {"x":89,"y":62,"w":9,"h":18,"character":66,"shift":11,"offset":1,}, + "67": {"x":76,"y":62,"w":11,"h":18,"character":67,"shift":12,"offset":0,}, + "68": {"x":64,"y":62,"w":10,"h":18,"character":68,"shift":12,"offset":1,}, + "69": {"x":53,"y":62,"w":9,"h":18,"character":69,"shift":11,"offset":1,}, + "70": {"x":42,"y":62,"w":9,"h":18,"character":70,"shift":10,"offset":1,}, + "71": {"x":28,"y":62,"w":12,"h":18,"character":71,"shift":12,"offset":0,}, + "72": {"x":16,"y":62,"w":10,"h":18,"character":72,"shift":12,"offset":1,}, + "73": {"x":11,"y":62,"w":3,"h":18,"character":73,"shift":4,"offset":1,}, + "74": {"x":2,"y":62,"w":7,"h":18,"character":74,"shift":8,"offset":0,}, + "75": {"x":235,"y":42,"w":10,"h":18,"character":75,"shift":11,"offset":1,}, + "76": {"x":225,"y":42,"w":8,"h":18,"character":76,"shift":9,"offset":1,}, + "77": {"x":211,"y":42,"w":12,"h":18,"character":77,"shift":13,"offset":1,}, + "78": {"x":228,"y":22,"w":10,"h":18,"character":78,"shift":12,"offset":1,}, + "79": {"x":214,"y":22,"w":12,"h":18,"character":79,"shift":12,"offset":0,}, + "80": {"x":203,"y":22,"w":9,"h":18,"character":80,"shift":11,"offset":1,}, + "81": {"x":232,"y":2,"w":12,"h":18,"character":81,"shift":12,"offset":0,}, + "82": {"x":213,"y":2,"w":11,"h":18,"character":82,"shift":12,"offset":1,}, + "83": {"x":201,"y":2,"w":10,"h":18,"character":83,"shift":11,"offset":0,}, + "84": {"x":189,"y":2,"w":10,"h":18,"character":84,"shift":10,"offset":0,}, + "85": {"x":177,"y":2,"w":10,"h":18,"character":85,"shift":12,"offset":1,}, + "86": {"x":164,"y":2,"w":11,"h":18,"character":86,"shift":11,"offset":0,}, + "87": {"x":147,"y":2,"w":15,"h":18,"character":87,"shift":15,"offset":0,}, + "88": {"x":134,"y":2,"w":11,"h":18,"character":88,"shift":11,"offset":0,}, + "89": {"x":121,"y":2,"w":11,"h":18,"character":89,"shift":11,"offset":0,}, + "90": {"x":109,"y":2,"w":10,"h":18,"character":90,"shift":10,"offset":0,}, + "91": {"x":226,"y":2,"w":4,"h":18,"character":91,"shift":4,"offset":1,}, + "92": {"x":102,"y":2,"w":5,"h":18,"character":92,"shift":4,"offset":0,}, + "93": {"x":89,"y":2,"w":4,"h":18,"character":93,"shift":4,"offset":0,}, + "94": {"x":79,"y":2,"w":8,"h":18,"character":94,"shift":8,"offset":0,}, + "95": {"x":66,"y":2,"w":11,"h":18,"character":95,"shift":9,"offset":-1,}, + "96": {"x":60,"y":2,"w":4,"h":18,"character":96,"shift":5,"offset":0,}, + "97": {"x":49,"y":2,"w":9,"h":18,"character":97,"shift":9,"offset":0,}, + "98": {"x":39,"y":2,"w":8,"h":18,"character":98,"shift":9,"offset":1,}, + "99": {"x":29,"y":2,"w":8,"h":18,"character":99,"shift":8,"offset":0,}, + "100": {"x":19,"y":2,"w":8,"h":18,"character":100,"shift":9,"offset":0,}, + "101": {"x":8,"y":2,"w":9,"h":18,"character":101,"shift":9,"offset":0,}, + "102": {"x":95,"y":2,"w":5,"h":18,"character":102,"shift":4,"offset":0,}, + "103": {"x":2,"y":22,"w":8,"h":18,"character":103,"shift":9,"offset":0,}, + "104": {"x":97,"y":22,"w":7,"h":18,"character":104,"shift":9,"offset":1,}, + "105": {"x":12,"y":22,"w":2,"h":18,"character":105,"shift":4,"offset":1,}, + "106": {"x":187,"y":22,"w":4,"h":18,"character":106,"shift":4,"offset":-1,}, + "107": {"x":178,"y":22,"w":7,"h":18,"character":107,"shift":8,"offset":1,}, + "108": {"x":174,"y":22,"w":2,"h":18,"character":108,"shift":4,"offset":1,}, + "109": {"x":160,"y":22,"w":12,"h":18,"character":109,"shift":13,"offset":1,}, + "110": {"x":151,"y":22,"w":7,"h":18,"character":110,"shift":9,"offset":1,}, + "111": {"x":140,"y":22,"w":9,"h":18,"character":111,"shift":9,"offset":0,}, + "112": {"x":130,"y":22,"w":8,"h":18,"character":112,"shift":9,"offset":1,}, + "113": {"x":120,"y":22,"w":8,"h":18,"character":113,"shift":9,"offset":0,}, + "114": {"x":113,"y":22,"w":5,"h":18,"character":114,"shift":5,"offset":1,}, + "115": {"x":193,"y":22,"w":8,"h":18,"character":115,"shift":8,"offset":0,}, + "116": {"x":106,"y":22,"w":5,"h":18,"character":116,"shift":4,"offset":0,}, + "117": {"x":88,"y":22,"w":7,"h":18,"character":117,"shift":9,"offset":1,}, + "118": {"x":78,"y":22,"w":8,"h":18,"character":118,"shift":8,"offset":0,}, + "119": {"x":64,"y":22,"w":12,"h":18,"character":119,"shift":12,"offset":0,}, + "120": {"x":54,"y":22,"w":8,"h":18,"character":120,"shift":8,"offset":0,}, + "121": {"x":44,"y":22,"w":8,"h":18,"character":121,"shift":8,"offset":0,}, + "122": {"x":34,"y":22,"w":8,"h":18,"character":122,"shift":8,"offset":0,}, + "123": {"x":27,"y":22,"w":5,"h":18,"character":123,"shift":5,"offset":0,}, + "124": {"x":23,"y":22,"w":2,"h":18,"character":124,"shift":4,"offset":1,}, + "125": {"x":16,"y":22,"w":5,"h":18,"character":125,"shift":5,"offset":0,}, + "126": {"x":197,"y":62,"w":9,"h":18,"character":126,"shift":9,"offset":0,}, + "9647": {"x":208,"y":62,"w":10,"h":18,"character":9647,"shift":16,"offset":3,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-1,}, + {"first":32,"second":902,"amount":-1,}, + {"first":32,"second":913,"amount":-1,}, + {"first":32,"second":916,"amount":-1,}, + {"first":32,"second":923,"amount":-1,}, + {"first":49,"second":49,"amount":-1,}, + {"first":65,"second":32,"amount":-1,}, + {"first":65,"second":84,"amount":-1,}, + {"first":65,"second":86,"amount":-1,}, + {"first":65,"second":89,"amount":-1,}, + {"first":65,"second":160,"amount":-1,}, + {"first":65,"second":8217,"amount":-1,}, + {"first":70,"second":44,"amount":-1,}, + {"first":70,"second":46,"amount":-1,}, + {"first":70,"second":65,"amount":-1,}, + {"first":76,"second":84,"amount":-1,}, + {"first":76,"second":86,"amount":-1,}, + {"first":76,"second":87,"amount":-1,}, + {"first":76,"second":89,"amount":-1,}, + {"first":76,"second":8217,"amount":-1,}, + {"first":80,"second":44,"amount":-1,}, + {"first":80,"second":46,"amount":-1,}, + {"first":80,"second":65,"amount":-1,}, + {"first":84,"second":44,"amount":-1,}, + {"first":84,"second":45,"amount":-1,}, + {"first":84,"second":46,"amount":-1,}, + {"first":84,"second":58,"amount":-1,}, + {"first":84,"second":59,"amount":-1,}, + {"first":84,"second":65,"amount":-1,}, + {"first":84,"second":97,"amount":-1,}, + {"first":84,"second":99,"amount":-1,}, + {"first":84,"second":101,"amount":-1,}, + {"first":84,"second":111,"amount":-1,}, + {"first":84,"second":115,"amount":-1,}, + {"first":84,"second":119,"amount":-1,}, + {"first":84,"second":121,"amount":-1,}, + {"first":84,"second":173,"amount":-1,}, + {"first":84,"second":894,"amount":-1,}, + {"first":86,"second":44,"amount":-1,}, + {"first":86,"second":45,"amount":-1,}, + {"first":86,"second":46,"amount":-1,}, + {"first":86,"second":65,"amount":-1,}, + {"first":86,"second":97,"amount":-1,}, + {"first":86,"second":101,"amount":-1,}, + {"first":86,"second":111,"amount":-1,}, + {"first":86,"second":173,"amount":-1,}, + {"first":87,"second":44,"amount":-1,}, + {"first":87,"second":46,"amount":-1,}, + {"first":89,"second":44,"amount":-1,}, + {"first":89,"second":45,"amount":-1,}, + {"first":89,"second":46,"amount":-1,}, + {"first":89,"second":58,"amount":-1,}, + {"first":89,"second":59,"amount":-1,}, + {"first":89,"second":65,"amount":-1,}, + {"first":89,"second":97,"amount":-1,}, + {"first":89,"second":101,"amount":-1,}, + {"first":89,"second":111,"amount":-1,}, + {"first":89,"second":112,"amount":-1,}, + {"first":89,"second":113,"amount":-1,}, + {"first":89,"second":117,"amount":-1,}, + {"first":89,"second":118,"amount":-1,}, + {"first":89,"second":173,"amount":-1,}, + {"first":89,"second":894,"amount":-1,}, + {"first":114,"second":44,"amount":-1,}, + {"first":114,"second":46,"amount":-1,}, + {"first":118,"second":44,"amount":-1,}, + {"first":118,"second":46,"amount":-1,}, + {"first":119,"second":44,"amount":-1,}, + {"first":119,"second":46,"amount":-1,}, + {"first":121,"second":44,"amount":-1,}, + {"first":121,"second":46,"amount":-1,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoyoAsset/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_Yoyo_20", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.yy b/source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.yy new file mode 100644 index 0000000..f407bd6 --- /dev/null +++ b/source/Steamworks_gml/fonts/font_yoyo_20/Font_Yoyo_20.yy @@ -0,0 +1,228 @@ +{ + "hinting": 0, + "glyphOperations": 0, + "interpreter": 0, + "pointRounding": 0, + "applyKerning": 0, + "fontName": "Arial", + "styleName": "Regular", + "size": 20.0, + "bold": false, + "italic": false, + "charset": 0, + "AntiAlias": 1, + "first": 0, + "last": 0, + "sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: â–¯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "ascender": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":8,"h":31,"character":32,"shift":8,"offset":0,}, + "33": {"x":2,"y":134,"w":4,"h":31,"character":33,"shift":8,"offset":2,}, + "34": {"x":240,"y":101,"w":8,"h":31,"character":34,"shift":10,"offset":1,}, + "35": {"x":223,"y":101,"w":15,"h":31,"character":35,"shift":15,"offset":0,}, + "36": {"x":207,"y":101,"w":14,"h":31,"character":36,"shift":15,"offset":0,}, + "37": {"x":183,"y":101,"w":22,"h":31,"character":37,"shift":24,"offset":1,}, + "38": {"x":164,"y":101,"w":17,"h":31,"character":38,"shift":18,"offset":1,}, + "39": {"x":159,"y":101,"w":3,"h":31,"character":39,"shift":5,"offset":1,}, + "40": {"x":149,"y":101,"w":8,"h":31,"character":40,"shift":9,"offset":1,}, + "41": {"x":139,"y":101,"w":8,"h":31,"character":41,"shift":9,"offset":1,}, + "42": {"x":8,"y":134,"w":10,"h":31,"character":42,"shift":11,"offset":0,}, + "43": {"x":123,"y":101,"w":14,"h":31,"character":43,"shift":16,"offset":1,}, + "44": {"x":102,"y":101,"w":4,"h":31,"character":44,"shift":8,"offset":2,}, + "45": {"x":91,"y":101,"w":9,"h":31,"character":45,"shift":9,"offset":0,}, + "46": {"x":85,"y":101,"w":4,"h":31,"character":46,"shift":8,"offset":2,}, + "47": {"x":75,"y":101,"w":8,"h":31,"character":47,"shift":8,"offset":0,}, + "48": {"x":60,"y":101,"w":13,"h":31,"character":48,"shift":15,"offset":1,}, + "49": {"x":49,"y":101,"w":9,"h":31,"character":49,"shift":15,"offset":2,}, + "50": {"x":33,"y":101,"w":14,"h":31,"character":50,"shift":15,"offset":0,}, + "51": {"x":18,"y":101,"w":13,"h":31,"character":51,"shift":15,"offset":1,}, + "52": {"x":2,"y":101,"w":14,"h":31,"character":52,"shift":15,"offset":0,}, + "53": {"x":108,"y":101,"w":13,"h":31,"character":53,"shift":15,"offset":1,}, + "54": {"x":20,"y":134,"w":13,"h":31,"character":54,"shift":15,"offset":1,}, + "55": {"x":35,"y":134,"w":13,"h":31,"character":55,"shift":15,"offset":1,}, + "56": {"x":50,"y":134,"w":13,"h":31,"character":56,"shift":15,"offset":1,}, + "57": {"x":145,"y":167,"w":13,"h":31,"character":57,"shift":15,"offset":1,}, + "58": {"x":139,"y":167,"w":4,"h":31,"character":58,"shift":8,"offset":2,}, + "59": {"x":133,"y":167,"w":4,"h":31,"character":59,"shift":8,"offset":2,}, + "60": {"x":117,"y":167,"w":14,"h":31,"character":60,"shift":16,"offset":1,}, + "61": {"x":101,"y":167,"w":14,"h":31,"character":61,"shift":16,"offset":1,}, + "62": {"x":85,"y":167,"w":14,"h":31,"character":62,"shift":16,"offset":1,}, + "63": {"x":70,"y":167,"w":13,"h":31,"character":63,"shift":15,"offset":1,}, + "64": {"x":42,"y":167,"w":26,"h":31,"character":64,"shift":27,"offset":1,}, + "65": {"x":20,"y":167,"w":20,"h":31,"character":65,"shift":18,"offset":-1,}, + "66": {"x":2,"y":167,"w":16,"h":31,"character":66,"shift":18,"offset":1,}, + "67": {"x":232,"y":134,"w":18,"h":31,"character":67,"shift":20,"offset":1,}, + "68": {"x":213,"y":134,"w":17,"h":31,"character":68,"shift":20,"offset":2,}, + "69": {"x":196,"y":134,"w":15,"h":31,"character":69,"shift":18,"offset":2,}, + "70": {"x":180,"y":134,"w":14,"h":31,"character":70,"shift":17,"offset":2,}, + "71": {"x":159,"y":134,"w":19,"h":31,"character":71,"shift":21,"offset":1,}, + "72": {"x":141,"y":134,"w":16,"h":31,"character":72,"shift":20,"offset":2,}, + "73": {"x":135,"y":134,"w":4,"h":31,"character":73,"shift":8,"offset":2,}, + "74": {"x":121,"y":134,"w":12,"h":31,"character":74,"shift":14,"offset":0,}, + "75": {"x":102,"y":134,"w":17,"h":31,"character":75,"shift":18,"offset":1,}, + "76": {"x":86,"y":134,"w":14,"h":31,"character":76,"shift":15,"offset":1,}, + "77": {"x":65,"y":134,"w":19,"h":31,"character":77,"shift":22,"offset":2,}, + "78": {"x":237,"y":68,"w":16,"h":31,"character":78,"shift":20,"offset":2,}, + "79": {"x":216,"y":68,"w":19,"h":31,"character":79,"shift":21,"offset":1,}, + "80": {"x":199,"y":68,"w":15,"h":31,"character":80,"shift":18,"offset":2,}, + "81": {"x":105,"y":35,"w":20,"h":31,"character":81,"shift":21,"offset":1,}, + "82": {"x":76,"y":35,"w":18,"h":31,"character":82,"shift":20,"offset":2,}, + "83": {"x":58,"y":35,"w":16,"h":31,"character":83,"shift":18,"offset":1,}, + "84": {"x":40,"y":35,"w":16,"h":31,"character":84,"shift":17,"offset":0,}, + "85": {"x":22,"y":35,"w":16,"h":31,"character":85,"shift":20,"offset":2,}, + "86": {"x":2,"y":35,"w":18,"h":31,"character":86,"shift":18,"offset":0,}, + "87": {"x":218,"y":2,"w":26,"h":31,"character":87,"shift":25,"offset":0,}, + "88": {"x":198,"y":2,"w":18,"h":31,"character":88,"shift":18,"offset":0,}, + "89": {"x":178,"y":2,"w":18,"h":31,"character":89,"shift":18,"offset":0,}, + "90": {"x":160,"y":2,"w":16,"h":31,"character":90,"shift":17,"offset":0,}, + "91": {"x":96,"y":35,"w":7,"h":31,"character":91,"shift":8,"offset":1,}, + "92": {"x":150,"y":2,"w":8,"h":31,"character":92,"shift":8,"offset":0,}, + "93": {"x":131,"y":2,"w":6,"h":31,"character":93,"shift":8,"offset":0,}, + "94": {"x":117,"y":2,"w":12,"h":31,"character":94,"shift":13,"offset":0,}, + "95": {"x":98,"y":2,"w":17,"h":31,"character":95,"shift":15,"offset":-1,}, + "96": {"x":90,"y":2,"w":6,"h":31,"character":96,"shift":9,"offset":1,}, + "97": {"x":74,"y":2,"w":14,"h":31,"character":97,"shift":15,"offset":0,}, + "98": {"x":59,"y":2,"w":13,"h":31,"character":98,"shift":15,"offset":1,}, + "99": {"x":44,"y":2,"w":13,"h":31,"character":99,"shift":14,"offset":1,}, + "100": {"x":28,"y":2,"w":14,"h":31,"character":100,"shift":15,"offset":0,}, + "101": {"x":12,"y":2,"w":14,"h":31,"character":101,"shift":15,"offset":0,}, + "102": {"x":139,"y":2,"w":9,"h":31,"character":102,"shift":8,"offset":0,}, + "103": {"x":127,"y":35,"w":14,"h":31,"character":103,"shift":15,"offset":0,}, + "104": {"x":33,"y":68,"w":13,"h":31,"character":104,"shift":15,"offset":1,}, + "105": {"x":143,"y":35,"w":4,"h":31,"character":105,"shift":6,"offset":1,}, + "106": {"x":175,"y":68,"w":7,"h":31,"character":106,"shift":6,"offset":-2,}, + "107": {"x":160,"y":68,"w":13,"h":31,"character":107,"shift":14,"offset":1,}, + "108": {"x":154,"y":68,"w":4,"h":31,"character":108,"shift":6,"offset":1,}, + "109": {"x":132,"y":68,"w":20,"h":31,"character":109,"shift":22,"offset":1,}, + "110": {"x":117,"y":68,"w":13,"h":31,"character":110,"shift":15,"offset":1,}, + "111": {"x":100,"y":68,"w":15,"h":31,"character":111,"shift":15,"offset":0,}, + "112": {"x":85,"y":68,"w":13,"h":31,"character":112,"shift":15,"offset":1,}, + "113": {"x":69,"y":68,"w":14,"h":31,"character":113,"shift":15,"offset":0,}, + "114": {"x":58,"y":68,"w":9,"h":31,"character":114,"shift":9,"offset":1,}, + "115": {"x":184,"y":68,"w":13,"h":31,"character":115,"shift":14,"offset":0,}, + "116": {"x":48,"y":68,"w":8,"h":31,"character":116,"shift":8,"offset":0,}, + "117": {"x":18,"y":68,"w":13,"h":31,"character":117,"shift":15,"offset":1,}, + "118": {"x":2,"y":68,"w":14,"h":31,"character":118,"shift":14,"offset":0,}, + "119": {"x":223,"y":35,"w":20,"h":31,"character":119,"shift":20,"offset":0,}, + "120": {"x":207,"y":35,"w":14,"h":31,"character":120,"shift":14,"offset":0,}, + "121": {"x":191,"y":35,"w":14,"h":31,"character":121,"shift":14,"offset":0,}, + "122": {"x":176,"y":35,"w":13,"h":31,"character":122,"shift":14,"offset":0,}, + "123": {"x":165,"y":35,"w":9,"h":31,"character":123,"shift":9,"offset":0,}, + "124": {"x":160,"y":35,"w":3,"h":31,"character":124,"shift":7,"offset":2,}, + "125": {"x":149,"y":35,"w":9,"h":31,"character":125,"shift":9,"offset":0,}, + "126": {"x":160,"y":167,"w":14,"h":31,"character":126,"shift":16,"offset":1,}, + "9647": {"x":176,"y":167,"w":16,"h":31,"character":9647,"shift":26,"offset":5,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-1,}, + {"first":32,"second":902,"amount":-1,}, + {"first":32,"second":913,"amount":-1,}, + {"first":32,"second":916,"amount":-1,}, + {"first":32,"second":923,"amount":-1,}, + {"first":49,"second":49,"amount":-2,}, + {"first":65,"second":32,"amount":-1,}, + {"first":65,"second":84,"amount":-2,}, + {"first":65,"second":86,"amount":-2,}, + {"first":65,"second":87,"amount":-1,}, + {"first":65,"second":89,"amount":-2,}, + {"first":65,"second":160,"amount":-1,}, + {"first":65,"second":8217,"amount":-2,}, + {"first":70,"second":44,"amount":-3,}, + {"first":70,"second":46,"amount":-3,}, + {"first":70,"second":65,"amount":-1,}, + {"first":76,"second":32,"amount":-1,}, + {"first":76,"second":84,"amount":-2,}, + {"first":76,"second":86,"amount":-2,}, + {"first":76,"second":87,"amount":-2,}, + {"first":76,"second":89,"amount":-2,}, + {"first":76,"second":121,"amount":-1,}, + {"first":76,"second":160,"amount":-1,}, + {"first":76,"second":8217,"amount":-1,}, + {"first":80,"second":44,"amount":-3,}, + {"first":80,"second":46,"amount":-3,}, + {"first":80,"second":65,"amount":-2,}, + {"first":84,"second":44,"amount":-3,}, + {"first":84,"second":45,"amount":-1,}, + {"first":84,"second":46,"amount":-3,}, + {"first":84,"second":58,"amount":-3,}, + {"first":84,"second":59,"amount":-3,}, + {"first":84,"second":65,"amount":-2,}, + {"first":84,"second":97,"amount":-3,}, + {"first":84,"second":99,"amount":-3,}, + {"first":84,"second":101,"amount":-3,}, + {"first":84,"second":105,"amount":-1,}, + {"first":84,"second":111,"amount":-3,}, + {"first":84,"second":114,"amount":-1,}, + {"first":84,"second":115,"amount":-3,}, + {"first":84,"second":117,"amount":-1,}, + {"first":84,"second":119,"amount":-1,}, + {"first":84,"second":121,"amount":-1,}, + {"first":84,"second":173,"amount":-1,}, + {"first":84,"second":894,"amount":-3,}, + {"first":86,"second":44,"amount":-2,}, + {"first":86,"second":45,"amount":-1,}, + {"first":86,"second":46,"amount":-2,}, + {"first":86,"second":58,"amount":-1,}, + {"first":86,"second":59,"amount":-1,}, + {"first":86,"second":65,"amount":-2,}, + {"first":86,"second":97,"amount":-2,}, + {"first":86,"second":101,"amount":-1,}, + {"first":86,"second":111,"amount":-1,}, + {"first":86,"second":114,"amount":-1,}, + {"first":86,"second":117,"amount":-1,}, + {"first":86,"second":121,"amount":-1,}, + {"first":86,"second":173,"amount":-1,}, + {"first":86,"second":894,"amount":-1,}, + {"first":87,"second":44,"amount":-1,}, + {"first":87,"second":46,"amount":-1,}, + {"first":87,"second":65,"amount":-1,}, + {"first":87,"second":97,"amount":-1,}, + {"first":89,"second":44,"amount":-3,}, + {"first":89,"second":45,"amount":-2,}, + {"first":89,"second":46,"amount":-3,}, + {"first":89,"second":58,"amount":-1,}, + {"first":89,"second":59,"amount":-2,}, + {"first":89,"second":65,"amount":-2,}, + {"first":89,"second":97,"amount":-2,}, + {"first":89,"second":101,"amount":-2,}, + {"first":89,"second":105,"amount":-1,}, + {"first":89,"second":111,"amount":-2,}, + {"first":89,"second":112,"amount":-2,}, + {"first":89,"second":113,"amount":-2,}, + {"first":89,"second":117,"amount":-1,}, + {"first":89,"second":118,"amount":-1,}, + {"first":89,"second":173,"amount":-2,}, + {"first":89,"second":894,"amount":-2,}, + {"first":114,"second":44,"amount":-1,}, + {"first":114,"second":46,"amount":-1,}, + {"first":114,"second":8217,"amount":1,}, + {"first":118,"second":44,"amount":-2,}, + {"first":118,"second":46,"amount":-2,}, + {"first":119,"second":44,"amount":-1,}, + {"first":119,"second":46,"amount":-1,}, + {"first":121,"second":44,"amount":-2,}, + {"first":121,"second":46,"amount":-2,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoYo Extensions Assets/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_YoYo_20", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_20/font_yoyo_20.png b/source/Steamworks_gml/fonts/font_yoyo_20/font_yoyo_20.png new file mode 100644 index 0000000000000000000000000000000000000000..ad570a133e516735aabb250fc367fc30eae085a0 GIT binary patch literal 22257 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 literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_20.png b/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_20.png new file mode 100644 index 0000000000000000000000000000000000000000..87fbfea2373a799c8dbab3a11122107fdba68500 GIT binary patch literal 11462 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 tw(Y->hWuYd%73Wme}`fJA6xJk{A9WT`}&ll@;@\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: â–¯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":4,"h":18,"character":32,"shift":4,"offset":0,}, + "33": {"x":165,"y":42,"w":3,"h":18,"character":33,"shift":4,"offset":1,}, + "34": {"x":158,"y":42,"w":5,"h":18,"character":34,"shift":6,"offset":0,}, + "35": {"x":147,"y":42,"w":9,"h":18,"character":35,"shift":9,"offset":0,}, + "36": {"x":136,"y":42,"w":9,"h":18,"character":36,"shift":9,"offset":0,}, + "37": {"x":120,"y":42,"w":14,"h":18,"character":37,"shift":14,"offset":0,}, + "38": {"x":107,"y":42,"w":11,"h":18,"character":38,"shift":11,"offset":0,}, + "39": {"x":102,"y":42,"w":3,"h":18,"character":39,"shift":3,"offset":0,}, + "40": {"x":95,"y":42,"w":5,"h":18,"character":40,"shift":5,"offset":0,}, + "41": {"x":88,"y":42,"w":5,"h":18,"character":41,"shift":5,"offset":0,}, + "42": {"x":170,"y":42,"w":6,"h":18,"character":42,"shift":6,"offset":0,}, + "43": {"x":77,"y":42,"w":9,"h":18,"character":43,"shift":9,"offset":0,}, + "44": {"x":61,"y":42,"w":3,"h":18,"character":44,"shift":4,"offset":1,}, + "45": {"x":54,"y":42,"w":5,"h":18,"character":45,"shift":5,"offset":0,}, + "46": {"x":49,"y":42,"w":3,"h":18,"character":46,"shift":4,"offset":1,}, + "47": {"x":42,"y":42,"w":5,"h":18,"character":47,"shift":4,"offset":0,}, + "48": {"x":31,"y":42,"w":9,"h":18,"character":48,"shift":9,"offset":0,}, + "49": {"x":24,"y":42,"w":5,"h":18,"character":49,"shift":9,"offset":1,}, + "50": {"x":13,"y":42,"w":9,"h":18,"character":50,"shift":9,"offset":0,}, + "51": {"x":2,"y":42,"w":9,"h":18,"character":51,"shift":9,"offset":0,}, + "52": {"x":240,"y":22,"w":9,"h":18,"character":52,"shift":9,"offset":0,}, + "53": {"x":66,"y":42,"w":9,"h":18,"character":53,"shift":9,"offset":0,}, + "54": {"x":178,"y":42,"w":9,"h":18,"character":54,"shift":9,"offset":0,}, + "55": {"x":189,"y":42,"w":9,"h":18,"character":55,"shift":9,"offset":0,}, + "56": {"x":200,"y":42,"w":9,"h":18,"character":56,"shift":9,"offset":0,}, + "57": {"x":186,"y":62,"w":9,"h":18,"character":57,"shift":9,"offset":0,}, + "58": {"x":181,"y":62,"w":3,"h":18,"character":58,"shift":4,"offset":1,}, + "59": {"x":176,"y":62,"w":3,"h":18,"character":59,"shift":4,"offset":1,}, + "60": {"x":165,"y":62,"w":9,"h":18,"character":60,"shift":9,"offset":0,}, + "61": {"x":154,"y":62,"w":9,"h":18,"character":61,"shift":9,"offset":0,}, + "62": {"x":143,"y":62,"w":9,"h":18,"character":62,"shift":9,"offset":0,}, + "63": {"x":132,"y":62,"w":9,"h":18,"character":63,"shift":9,"offset":0,}, + "64": {"x":114,"y":62,"w":16,"h":18,"character":64,"shift":16,"offset":0,}, + "65": {"x":100,"y":62,"w":12,"h":18,"character":65,"shift":11,"offset":-1,}, + "66": {"x":89,"y":62,"w":9,"h":18,"character":66,"shift":11,"offset":1,}, + "67": {"x":76,"y":62,"w":11,"h":18,"character":67,"shift":12,"offset":0,}, + "68": {"x":64,"y":62,"w":10,"h":18,"character":68,"shift":12,"offset":1,}, + "69": {"x":53,"y":62,"w":9,"h":18,"character":69,"shift":11,"offset":1,}, + "70": {"x":42,"y":62,"w":9,"h":18,"character":70,"shift":10,"offset":1,}, + "71": {"x":28,"y":62,"w":12,"h":18,"character":71,"shift":12,"offset":0,}, + "72": {"x":16,"y":62,"w":10,"h":18,"character":72,"shift":12,"offset":1,}, + "73": {"x":11,"y":62,"w":3,"h":18,"character":73,"shift":4,"offset":1,}, + "74": {"x":2,"y":62,"w":7,"h":18,"character":74,"shift":8,"offset":0,}, + "75": {"x":235,"y":42,"w":10,"h":18,"character":75,"shift":11,"offset":1,}, + "76": {"x":225,"y":42,"w":8,"h":18,"character":76,"shift":9,"offset":1,}, + "77": {"x":211,"y":42,"w":12,"h":18,"character":77,"shift":13,"offset":1,}, + "78": {"x":228,"y":22,"w":10,"h":18,"character":78,"shift":12,"offset":1,}, + "79": {"x":214,"y":22,"w":12,"h":18,"character":79,"shift":12,"offset":0,}, + "80": {"x":203,"y":22,"w":9,"h":18,"character":80,"shift":11,"offset":1,}, + "81": {"x":232,"y":2,"w":12,"h":18,"character":81,"shift":12,"offset":0,}, + "82": {"x":213,"y":2,"w":11,"h":18,"character":82,"shift":12,"offset":1,}, + "83": {"x":201,"y":2,"w":10,"h":18,"character":83,"shift":11,"offset":0,}, + "84": {"x":189,"y":2,"w":10,"h":18,"character":84,"shift":10,"offset":0,}, + "85": {"x":177,"y":2,"w":10,"h":18,"character":85,"shift":12,"offset":1,}, + "86": {"x":164,"y":2,"w":11,"h":18,"character":86,"shift":11,"offset":0,}, + "87": {"x":147,"y":2,"w":15,"h":18,"character":87,"shift":15,"offset":0,}, + "88": {"x":134,"y":2,"w":11,"h":18,"character":88,"shift":11,"offset":0,}, + "89": {"x":121,"y":2,"w":11,"h":18,"character":89,"shift":11,"offset":0,}, + "90": {"x":109,"y":2,"w":10,"h":18,"character":90,"shift":10,"offset":0,}, + "91": {"x":226,"y":2,"w":4,"h":18,"character":91,"shift":4,"offset":1,}, + "92": {"x":102,"y":2,"w":5,"h":18,"character":92,"shift":4,"offset":0,}, + "93": {"x":89,"y":2,"w":4,"h":18,"character":93,"shift":4,"offset":0,}, + "94": {"x":79,"y":2,"w":8,"h":18,"character":94,"shift":8,"offset":0,}, + "95": {"x":66,"y":2,"w":11,"h":18,"character":95,"shift":9,"offset":-1,}, + "96": {"x":60,"y":2,"w":4,"h":18,"character":96,"shift":5,"offset":0,}, + "97": {"x":49,"y":2,"w":9,"h":18,"character":97,"shift":9,"offset":0,}, + "98": {"x":39,"y":2,"w":8,"h":18,"character":98,"shift":9,"offset":1,}, + "99": {"x":29,"y":2,"w":8,"h":18,"character":99,"shift":8,"offset":0,}, + "100": {"x":19,"y":2,"w":8,"h":18,"character":100,"shift":9,"offset":0,}, + "101": {"x":8,"y":2,"w":9,"h":18,"character":101,"shift":9,"offset":0,}, + "102": {"x":95,"y":2,"w":5,"h":18,"character":102,"shift":4,"offset":0,}, + "103": {"x":2,"y":22,"w":8,"h":18,"character":103,"shift":9,"offset":0,}, + "104": {"x":97,"y":22,"w":7,"h":18,"character":104,"shift":9,"offset":1,}, + "105": {"x":12,"y":22,"w":2,"h":18,"character":105,"shift":4,"offset":1,}, + "106": {"x":187,"y":22,"w":4,"h":18,"character":106,"shift":4,"offset":-1,}, + "107": {"x":178,"y":22,"w":7,"h":18,"character":107,"shift":8,"offset":1,}, + "108": {"x":174,"y":22,"w":2,"h":18,"character":108,"shift":4,"offset":1,}, + "109": {"x":160,"y":22,"w":12,"h":18,"character":109,"shift":13,"offset":1,}, + "110": {"x":151,"y":22,"w":7,"h":18,"character":110,"shift":9,"offset":1,}, + "111": {"x":140,"y":22,"w":9,"h":18,"character":111,"shift":9,"offset":0,}, + "112": {"x":130,"y":22,"w":8,"h":18,"character":112,"shift":9,"offset":1,}, + "113": {"x":120,"y":22,"w":8,"h":18,"character":113,"shift":9,"offset":0,}, + "114": {"x":113,"y":22,"w":5,"h":18,"character":114,"shift":5,"offset":1,}, + "115": {"x":193,"y":22,"w":8,"h":18,"character":115,"shift":8,"offset":0,}, + "116": {"x":106,"y":22,"w":5,"h":18,"character":116,"shift":4,"offset":0,}, + "117": {"x":88,"y":22,"w":7,"h":18,"character":117,"shift":9,"offset":1,}, + "118": {"x":78,"y":22,"w":8,"h":18,"character":118,"shift":8,"offset":0,}, + "119": {"x":64,"y":22,"w":12,"h":18,"character":119,"shift":12,"offset":0,}, + "120": {"x":54,"y":22,"w":8,"h":18,"character":120,"shift":8,"offset":0,}, + "121": {"x":44,"y":22,"w":8,"h":18,"character":121,"shift":8,"offset":0,}, + "122": {"x":34,"y":22,"w":8,"h":18,"character":122,"shift":8,"offset":0,}, + "123": {"x":27,"y":22,"w":5,"h":18,"character":123,"shift":5,"offset":0,}, + "124": {"x":23,"y":22,"w":2,"h":18,"character":124,"shift":4,"offset":1,}, + "125": {"x":16,"y":22,"w":5,"h":18,"character":125,"shift":5,"offset":0,}, + "126": {"x":197,"y":62,"w":9,"h":18,"character":126,"shift":9,"offset":0,}, + "9647": {"x":208,"y":62,"w":10,"h":18,"character":9647,"shift":16,"offset":3,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-1,}, + {"first":32,"second":902,"amount":-1,}, + {"first":32,"second":913,"amount":-1,}, + {"first":32,"second":916,"amount":-1,}, + {"first":32,"second":923,"amount":-1,}, + {"first":49,"second":49,"amount":-1,}, + {"first":65,"second":32,"amount":-1,}, + {"first":65,"second":84,"amount":-1,}, + {"first":65,"second":86,"amount":-1,}, + {"first":65,"second":89,"amount":-1,}, + {"first":65,"second":160,"amount":-1,}, + {"first":65,"second":8217,"amount":-1,}, + {"first":70,"second":44,"amount":-1,}, + {"first":70,"second":46,"amount":-1,}, + {"first":70,"second":65,"amount":-1,}, + {"first":76,"second":84,"amount":-1,}, + {"first":76,"second":86,"amount":-1,}, + {"first":76,"second":87,"amount":-1,}, + {"first":76,"second":89,"amount":-1,}, + {"first":76,"second":8217,"amount":-1,}, + {"first":80,"second":44,"amount":-1,}, + {"first":80,"second":46,"amount":-1,}, + {"first":80,"second":65,"amount":-1,}, + {"first":84,"second":44,"amount":-1,}, + {"first":84,"second":45,"amount":-1,}, + {"first":84,"second":46,"amount":-1,}, + {"first":84,"second":58,"amount":-1,}, + {"first":84,"second":59,"amount":-1,}, + {"first":84,"second":65,"amount":-1,}, + {"first":84,"second":97,"amount":-1,}, + {"first":84,"second":99,"amount":-1,}, + {"first":84,"second":101,"amount":-1,}, + {"first":84,"second":111,"amount":-1,}, + {"first":84,"second":115,"amount":-1,}, + {"first":84,"second":119,"amount":-1,}, + {"first":84,"second":121,"amount":-1,}, + {"first":84,"second":173,"amount":-1,}, + {"first":84,"second":894,"amount":-1,}, + {"first":86,"second":44,"amount":-1,}, + {"first":86,"second":45,"amount":-1,}, + {"first":86,"second":46,"amount":-1,}, + {"first":86,"second":65,"amount":-1,}, + {"first":86,"second":97,"amount":-1,}, + {"first":86,"second":101,"amount":-1,}, + {"first":86,"second":111,"amount":-1,}, + {"first":86,"second":173,"amount":-1,}, + {"first":87,"second":44,"amount":-1,}, + {"first":87,"second":46,"amount":-1,}, + {"first":89,"second":44,"amount":-1,}, + {"first":89,"second":45,"amount":-1,}, + {"first":89,"second":46,"amount":-1,}, + {"first":89,"second":58,"amount":-1,}, + {"first":89,"second":59,"amount":-1,}, + {"first":89,"second":65,"amount":-1,}, + {"first":89,"second":97,"amount":-1,}, + {"first":89,"second":101,"amount":-1,}, + {"first":89,"second":111,"amount":-1,}, + {"first":89,"second":112,"amount":-1,}, + {"first":89,"second":113,"amount":-1,}, + {"first":89,"second":117,"amount":-1,}, + {"first":89,"second":118,"amount":-1,}, + {"first":89,"second":173,"amount":-1,}, + {"first":89,"second":894,"amount":-1,}, + {"first":114,"second":44,"amount":-1,}, + {"first":114,"second":46,"amount":-1,}, + {"first":118,"second":44,"amount":-1,}, + {"first":118,"second":46,"amount":-1,}, + {"first":119,"second":44,"amount":-1,}, + {"first":119,"second":46,"amount":-1,}, + {"first":121,"second":44,"amount":-1,}, + {"first":121,"second":46,"amount":-1,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoyoAsset/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_Yoyo_20", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.png b/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.png new file mode 100644 index 0000000000000000000000000000000000000000..fd04968843647580bf756ba79e878860c88e37e3 GIT binary patch literal 61913 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%0DTVVI1|4z?uGMz4g&?Hq+zef`7Bc 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 E0IEcR4gdfE literal 0 HcmV?d00001 diff --git a/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.yy b/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.yy new file mode 100644 index 0000000..1aad473 --- /dev/null +++ b/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.old.yy @@ -0,0 +1,258 @@ +{ + "hinting": 0, + "glyphOperations": 0, + "interpreter": 0, + "pointRounding": 0, + "fontName": "Arial", + "styleName": "Regular", + "size": 50.0, + "bold": false, + "italic": false, + "charset": 0, + "AntiAlias": 1, + "first": 0, + "last": 0, + "sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: â–¯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":19,"h":77,"character":32,"shift":19,"offset":0,}, + "33": {"x":151,"y":160,"w":9,"h":77,"character":33,"shift":19,"offset":5,}, + "34": {"x":131,"y":160,"w":18,"h":77,"character":34,"shift":24,"offset":3,}, + "35": {"x":92,"y":160,"w":37,"h":77,"character":35,"shift":37,"offset":0,}, + "36": {"x":57,"y":160,"w":33,"h":77,"character":36,"shift":37,"offset":2,}, + "37": {"x":2,"y":160,"w":53,"h":77,"character":37,"shift":60,"offset":3,}, + "38": {"x":929,"y":81,"w":42,"h":77,"character":38,"shift":45,"offset":2,}, + "39": {"x":919,"y":81,"w":8,"h":77,"character":39,"shift":13,"offset":2,}, + "40": {"x":901,"y":81,"w":16,"h":77,"character":40,"shift":22,"offset":4,}, + "41": {"x":883,"y":81,"w":16,"h":77,"character":41,"shift":22,"offset":4,}, + "42": {"x":162,"y":160,"w":22,"h":77,"character":42,"shift":26,"offset":2,}, + "43": {"x":848,"y":81,"w":33,"h":77,"character":43,"shift":39,"offset":3,}, + "44": {"x":803,"y":81,"w":8,"h":77,"character":44,"shift":19,"offset":5,}, + "45": {"x":782,"y":81,"w":19,"h":77,"character":45,"shift":22,"offset":2,}, + "46": {"x":773,"y":81,"w":7,"h":77,"character":46,"shift":19,"offset":6,}, + "47": {"x":752,"y":81,"w":19,"h":77,"character":47,"shift":19,"offset":0,}, + "48": {"x":717,"y":81,"w":33,"h":77,"character":48,"shift":37,"offset":2,}, + "49": {"x":697,"y":81,"w":18,"h":77,"character":49,"shift":37,"offset":7,}, + "50": {"x":662,"y":81,"w":33,"h":77,"character":50,"shift":37,"offset":1,}, + "51": {"x":627,"y":81,"w":33,"h":77,"character":51,"shift":37,"offset":2,}, + "52": {"x":590,"y":81,"w":35,"h":77,"character":52,"shift":37,"offset":0,}, + "53": {"x":813,"y":81,"w":33,"h":77,"character":53,"shift":37,"offset":2,}, + "54": {"x":186,"y":160,"w":33,"h":77,"character":54,"shift":37,"offset":2,}, + "55": {"x":221,"y":160,"w":32,"h":77,"character":55,"shift":37,"offset":3,}, + "56": {"x":255,"y":160,"w":33,"h":77,"character":56,"shift":37,"offset":2,}, + "57": {"x":2,"y":239,"w":33,"h":77,"character":57,"shift":37,"offset":2,}, + "58": {"x":1004,"y":160,"w":7,"h":77,"character":58,"shift":19,"offset":6,}, + "59": {"x":994,"y":160,"w":8,"h":77,"character":59,"shift":19,"offset":5,}, + "60": {"x":959,"y":160,"w":33,"h":77,"character":60,"shift":39,"offset":3,}, + "61": {"x":924,"y":160,"w":33,"h":77,"character":61,"shift":39,"offset":3,}, + "62": {"x":889,"y":160,"w":33,"h":77,"character":62,"shift":39,"offset":3,}, + "63": {"x":855,"y":160,"w":32,"h":77,"character":63,"shift":37,"offset":2,}, + "64": {"x":790,"y":160,"w":63,"h":77,"character":64,"shift":68,"offset":3,}, + "65": {"x":742,"y":160,"w":46,"h":77,"character":65,"shift":45,"offset":-1,}, + "66": {"x":702,"y":160,"w":38,"h":77,"character":66,"shift":45,"offset":4,}, + "67": {"x":657,"y":160,"w":43,"h":77,"character":67,"shift":48,"offset":3,}, + "68": {"x":615,"y":160,"w":40,"h":77,"character":68,"shift":48,"offset":5,}, + "69": {"x":576,"y":160,"w":37,"h":77,"character":69,"shift":45,"offset":5,}, + "70": {"x":541,"y":160,"w":33,"h":77,"character":70,"shift":41,"offset":5,}, + "71": {"x":494,"y":160,"w":45,"h":77,"character":71,"shift":52,"offset":3,}, + "72": {"x":454,"y":160,"w":38,"h":77,"character":72,"shift":48,"offset":5,}, + "73": {"x":445,"y":160,"w":7,"h":77,"character":73,"shift":19,"offset":6,}, + "74": {"x":415,"y":160,"w":28,"h":77,"character":74,"shift":34,"offset":1,}, + "75": {"x":372,"y":160,"w":41,"h":77,"character":75,"shift":45,"offset":4,}, + "76": {"x":339,"y":160,"w":31,"h":77,"character":76,"shift":37,"offset":4,}, + "77": {"x":290,"y":160,"w":47,"h":77,"character":77,"shift":56,"offset":4,}, + "78": {"x":550,"y":81,"w":38,"h":77,"character":78,"shift":48,"offset":5,}, + "79": {"x":501,"y":81,"w":47,"h":77,"character":79,"shift":52,"offset":3,}, + "80": {"x":462,"y":81,"w":37,"h":77,"character":80,"shift":45,"offset":5,}, + "81": {"x":772,"y":2,"w":48,"h":77,"character":81,"shift":52,"offset":2,}, + "82": {"x":711,"y":2,"w":43,"h":77,"character":82,"shift":48,"offset":5,}, + "83": {"x":670,"y":2,"w":39,"h":77,"character":83,"shift":45,"offset":3,}, + "84": {"x":629,"y":2,"w":39,"h":77,"character":84,"shift":41,"offset":1,}, + "85": {"x":589,"y":2,"w":38,"h":77,"character":85,"shift":48,"offset":5,}, + "86": {"x":542,"y":2,"w":45,"h":77,"character":86,"shift":45,"offset":0,}, + "87": {"x":477,"y":2,"w":63,"h":77,"character":87,"shift":63,"offset":0,}, + "88": {"x":430,"y":2,"w":45,"h":77,"character":88,"shift":45,"offset":0,}, + "89": {"x":383,"y":2,"w":45,"h":77,"character":89,"shift":45,"offset":0,}, + "90": {"x":342,"y":2,"w":39,"h":77,"character":90,"shift":41,"offset":1,}, + "91": {"x":756,"y":2,"w":14,"h":77,"character":91,"shift":19,"offset":4,}, + "92": {"x":321,"y":2,"w":19,"h":77,"character":92,"shift":19,"offset":0,}, + "93": {"x":282,"y":2,"w":14,"h":77,"character":93,"shift":19,"offset":1,}, + "94": {"x":251,"y":2,"w":29,"h":77,"character":94,"shift":31,"offset":1,}, + "95": {"x":208,"y":2,"w":41,"h":77,"character":95,"shift":37,"offset":-2,}, + "96": {"x":192,"y":2,"w":14,"h":77,"character":96,"shift":22,"offset":2,}, + "97": {"x":157,"y":2,"w":33,"h":77,"character":97,"shift":37,"offset":2,}, + "98": {"x":124,"y":2,"w":31,"h":77,"character":98,"shift":37,"offset":4,}, + "99": {"x":91,"y":2,"w":31,"h":77,"character":99,"shift":34,"offset":2,}, + "100": {"x":58,"y":2,"w":31,"h":77,"character":100,"shift":37,"offset":2,}, + "101": {"x":23,"y":2,"w":33,"h":77,"character":101,"shift":37,"offset":2,}, + "102": {"x":298,"y":2,"w":21,"h":77,"character":102,"shift":19,"offset":0,}, + "103": {"x":822,"y":2,"w":31,"h":77,"character":103,"shift":37,"offset":2,}, + "104": {"x":118,"y":81,"w":29,"h":77,"character":104,"shift":37,"offset":4,}, + "105": {"x":855,"y":2,"w":7,"h":77,"character":105,"shift":15,"offset":4,}, + "106": {"x":414,"y":81,"w":15,"h":77,"character":106,"shift":15,"offset":-4,}, + "107": {"x":382,"y":81,"w":30,"h":77,"character":107,"shift":34,"offset":4,}, + "108": {"x":373,"y":81,"w":7,"h":77,"character":108,"shift":15,"offset":4,}, + "109": {"x":323,"y":81,"w":48,"h":77,"character":109,"shift":56,"offset":4,}, + "110": {"x":292,"y":81,"w":29,"h":77,"character":110,"shift":37,"offset":4,}, + "111": {"x":257,"y":81,"w":33,"h":77,"character":111,"shift":37,"offset":2,}, + "112": {"x":224,"y":81,"w":31,"h":77,"character":112,"shift":37,"offset":4,}, + "113": {"x":191,"y":81,"w":31,"h":77,"character":113,"shift":37,"offset":2,}, + "114": {"x":169,"y":81,"w":20,"h":77,"character":114,"shift":22,"offset":4,}, + "115": {"x":431,"y":81,"w":29,"h":77,"character":115,"shift":34,"offset":2,}, + "116": {"x":149,"y":81,"w":18,"h":77,"character":116,"shift":19,"offset":1,}, + "117": {"x":87,"y":81,"w":29,"h":77,"character":117,"shift":37,"offset":4,}, + "118": {"x":52,"y":81,"w":33,"h":77,"character":118,"shift":34,"offset":0,}, + "119": {"x":2,"y":81,"w":48,"h":77,"character":119,"shift":48,"offset":0,}, + "120": {"x":984,"y":2,"w":34,"h":77,"character":120,"shift":34,"offset":0,}, + "121": {"x":950,"y":2,"w":32,"h":77,"character":121,"shift":34,"offset":1,}, + "122": {"x":916,"y":2,"w":32,"h":77,"character":122,"shift":34,"offset":1,}, + "123": {"x":894,"y":2,"w":20,"h":77,"character":123,"shift":22,"offset":1,}, + "124": {"x":886,"y":2,"w":6,"h":77,"character":124,"shift":17,"offset":6,}, + "125": {"x":864,"y":2,"w":20,"h":77,"character":125,"shift":22,"offset":1,}, + "126": {"x":37,"y":239,"w":35,"h":77,"character":126,"shift":39,"offset":2,}, + "9647": {"x":74,"y":239,"w":39,"h":77,"character":9647,"shift":65,"offset":13,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-4,}, + {"first":32,"second":84,"amount":-1,}, + {"first":32,"second":89,"amount":-1,}, + {"first":32,"second":902,"amount":-4,}, + {"first":32,"second":913,"amount":-4,}, + {"first":32,"second":916,"amount":-4,}, + {"first":32,"second":923,"amount":-4,}, + {"first":32,"second":932,"amount":-1,}, + {"first":32,"second":933,"amount":-1,}, + {"first":32,"second":939,"amount":-1,}, + {"first":49,"second":49,"amount":-5,}, + {"first":65,"second":32,"amount":-4,}, + {"first":65,"second":84,"amount":-5,}, + {"first":65,"second":86,"amount":-5,}, + {"first":65,"second":87,"amount":-2,}, + {"first":65,"second":89,"amount":-5,}, + {"first":65,"second":118,"amount":-1,}, + {"first":65,"second":119,"amount":-1,}, + {"first":65,"second":121,"amount":-1,}, + {"first":65,"second":160,"amount":-4,}, + {"first":65,"second":8217,"amount":-5,}, + {"first":70,"second":44,"amount":-7,}, + {"first":70,"second":46,"amount":-7,}, + {"first":70,"second":65,"amount":-4,}, + {"first":76,"second":32,"amount":-2,}, + {"first":76,"second":84,"amount":-5,}, + {"first":76,"second":86,"amount":-5,}, + {"first":76,"second":87,"amount":-5,}, + {"first":76,"second":89,"amount":-5,}, + {"first":76,"second":121,"amount":-2,}, + {"first":76,"second":160,"amount":-2,}, + {"first":76,"second":8217,"amount":-4,}, + {"first":80,"second":32,"amount":-1,}, + {"first":80,"second":44,"amount":-9,}, + {"first":80,"second":46,"amount":-9,}, + {"first":80,"second":65,"amount":-5,}, + {"first":80,"second":160,"amount":-1,}, + {"first":82,"second":84,"amount":-1,}, + {"first":82,"second":86,"amount":-1,}, + {"first":82,"second":87,"amount":-1,}, + {"first":82,"second":89,"amount":-1,}, + {"first":84,"second":32,"amount":-1,}, + {"first":84,"second":44,"amount":-7,}, + {"first":84,"second":45,"amount":-4,}, + {"first":84,"second":46,"amount":-7,}, + {"first":84,"second":58,"amount":-7,}, + {"first":84,"second":59,"amount":-7,}, + {"first":84,"second":65,"amount":-5,}, + {"first":84,"second":79,"amount":-1,}, + {"first":84,"second":97,"amount":-7,}, + {"first":84,"second":99,"amount":-7,}, + {"first":84,"second":101,"amount":-7,}, + {"first":84,"second":105,"amount":-2,}, + {"first":84,"second":111,"amount":-7,}, + {"first":84,"second":114,"amount":-2,}, + {"first":84,"second":115,"amount":-7,}, + {"first":84,"second":117,"amount":-2,}, + {"first":84,"second":119,"amount":-4,}, + {"first":84,"second":121,"amount":-4,}, + {"first":84,"second":160,"amount":-1,}, + {"first":84,"second":173,"amount":-4,}, + {"first":84,"second":894,"amount":-7,}, + {"first":86,"second":44,"amount":-6,}, + {"first":86,"second":45,"amount":-4,}, + {"first":86,"second":46,"amount":-6,}, + {"first":86,"second":58,"amount":-2,}, + {"first":86,"second":59,"amount":-2,}, + {"first":86,"second":65,"amount":-5,}, + {"first":86,"second":97,"amount":-5,}, + {"first":86,"second":101,"amount":-4,}, + {"first":86,"second":105,"amount":-1,}, + {"first":86,"second":111,"amount":-4,}, + {"first":86,"second":114,"amount":-2,}, + {"first":86,"second":117,"amount":-2,}, + {"first":86,"second":121,"amount":-2,}, + {"first":86,"second":173,"amount":-4,}, + {"first":86,"second":894,"amount":-2,}, + {"first":87,"second":44,"amount":-4,}, + {"first":87,"second":45,"amount":-1,}, + {"first":87,"second":46,"amount":-4,}, + {"first":87,"second":58,"amount":-1,}, + {"first":87,"second":59,"amount":-1,}, + {"first":87,"second":65,"amount":-2,}, + {"first":87,"second":97,"amount":-2,}, + {"first":87,"second":101,"amount":-1,}, + {"first":87,"second":111,"amount":-1,}, + {"first":87,"second":114,"amount":-1,}, + {"first":87,"second":117,"amount":-1,}, + {"first":87,"second":121,"amount":-1,}, + {"first":87,"second":173,"amount":-1,}, + {"first":87,"second":894,"amount":-1,}, + {"first":89,"second":32,"amount":-1,}, + {"first":89,"second":44,"amount":-9,}, + {"first":89,"second":45,"amount":-6,}, + {"first":89,"second":46,"amount":-9,}, + {"first":89,"second":58,"amount":-4,}, + {"first":89,"second":59,"amount":-4,}, + {"first":89,"second":65,"amount":-5,}, + {"first":89,"second":97,"amount":-5,}, + {"first":89,"second":101,"amount":-6,}, + {"first":89,"second":105,"amount":-2,}, + {"first":89,"second":111,"amount":-6,}, + {"first":89,"second":112,"amount":-5,}, + {"first":89,"second":113,"amount":-6,}, + {"first":89,"second":117,"amount":-4,}, + {"first":89,"second":118,"amount":-4,}, + {"first":89,"second":160,"amount":-1,}, + {"first":89,"second":173,"amount":-6,}, + {"first":89,"second":894,"amount":-4,}, + {"first":102,"second":102,"amount":-1,}, + {"first":102,"second":8217,"amount":1,}, + {"first":114,"second":44,"amount":-4,}, + {"first":114,"second":46,"amount":-4,}, + {"first":114,"second":8217,"amount":2,}, + {"first":118,"second":44,"amount":-5,}, + {"first":118,"second":46,"amount":-5,}, + {"first":119,"second":44,"amount":-4,}, + {"first":119,"second":46,"amount":-4,}, + {"first":121,"second":44,"amount":-5,}, + {"first":121,"second":46,"amount":-5,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoyoAsset/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_Yoyo_30", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.yy b/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.yy new file mode 100644 index 0000000..a19b89e --- /dev/null +++ b/source/Steamworks_gml/fonts/font_yoyo_30/Font_Yoyo_30.yy @@ -0,0 +1,259 @@ +{ + "hinting": 0, + "glyphOperations": 0, + "interpreter": 0, + "pointRounding": 0, + "applyKerning": 0, + "fontName": "Arial", + "styleName": "Regular", + "size": 30.0, + "bold": false, + "italic": false, + "charset": 0, + "AntiAlias": 1, + "first": 0, + "last": 0, + "sampleText": "abcdef ABCDEF\n0123456789 .,<>\"'&!?\nthe quick brown fox jumps over the lazy dog\nTHE QUICK BROWN FOX JUMPS OVER THE LAZY DOG\nDefault character: â–¯ (9647)", + "includeTTF": false, + "TTFName": "", + "textureGroupId": { + "name": "Default", + "path": "texturegroups/Default", + }, + "ascenderOffset": 0, + "ascender": 0, + "glyphs": { + "32": {"x":2,"y":2,"w":11,"h":46,"character":32,"shift":11,"offset":0,}, + "33": {"x":367,"y":98,"w":5,"h":46,"character":33,"shift":11,"offset":3,}, + "34": {"x":353,"y":98,"w":12,"h":46,"character":34,"shift":14,"offset":1,}, + "35": {"x":329,"y":98,"w":22,"h":46,"character":35,"shift":22,"offset":0,}, + "36": {"x":307,"y":98,"w":20,"h":46,"character":36,"shift":22,"offset":1,}, + "37": {"x":273,"y":98,"w":32,"h":46,"character":37,"shift":36,"offset":2,}, + "38": {"x":246,"y":98,"w":25,"h":46,"character":38,"shift":27,"offset":1,}, + "39": {"x":239,"y":98,"w":5,"h":46,"character":39,"shift":8,"offset":1,}, + "40": {"x":227,"y":98,"w":10,"h":46,"character":40,"shift":13,"offset":2,}, + "41": {"x":215,"y":98,"w":10,"h":46,"character":41,"shift":13,"offset":2,}, + "42": {"x":374,"y":98,"w":14,"h":46,"character":42,"shift":16,"offset":1,}, + "43": {"x":193,"y":98,"w":20,"h":46,"character":43,"shift":23,"offset":2,}, + "44": {"x":164,"y":98,"w":5,"h":46,"character":44,"shift":11,"offset":3,}, + "45": {"x":150,"y":98,"w":12,"h":46,"character":45,"shift":13,"offset":1,}, + "46": {"x":143,"y":98,"w":5,"h":46,"character":46,"shift":11,"offset":3,}, + "47": {"x":129,"y":98,"w":12,"h":46,"character":47,"shift":11,"offset":0,}, + "48": {"x":107,"y":98,"w":20,"h":46,"character":48,"shift":22,"offset":1,}, + "49": {"x":94,"y":98,"w":11,"h":46,"character":49,"shift":22,"offset":4,}, + "50": {"x":72,"y":98,"w":20,"h":46,"character":50,"shift":22,"offset":1,}, + "51": {"x":50,"y":98,"w":20,"h":46,"character":51,"shift":22,"offset":1,}, + "52": {"x":27,"y":98,"w":21,"h":46,"character":52,"shift":22,"offset":0,}, + "53": {"x":171,"y":98,"w":20,"h":46,"character":53,"shift":22,"offset":1,}, + "54": {"x":390,"y":98,"w":20,"h":46,"character":54,"shift":22,"offset":1,}, + "55": {"x":412,"y":98,"w":20,"h":46,"character":55,"shift":22,"offset":1,}, + "56": {"x":434,"y":98,"w":20,"h":46,"character":56,"shift":22,"offset":1,}, + "57": {"x":405,"y":146,"w":20,"h":46,"character":57,"shift":22,"offset":1,}, + "58": {"x":398,"y":146,"w":5,"h":46,"character":58,"shift":11,"offset":3,}, + "59": {"x":391,"y":146,"w":5,"h":46,"character":59,"shift":11,"offset":3,}, + "60": {"x":369,"y":146,"w":20,"h":46,"character":60,"shift":23,"offset":2,}, + "61": {"x":347,"y":146,"w":20,"h":46,"character":61,"shift":23,"offset":2,}, + "62": {"x":325,"y":146,"w":20,"h":46,"character":62,"shift":23,"offset":2,}, + "63": {"x":303,"y":146,"w":20,"h":46,"character":63,"shift":22,"offset":1,}, + "64": {"x":263,"y":146,"w":38,"h":46,"character":64,"shift":41,"offset":2,}, + "65": {"x":233,"y":146,"w":28,"h":46,"character":65,"shift":27,"offset":-1,}, + "66": {"x":208,"y":146,"w":23,"h":46,"character":66,"shift":27,"offset":2,}, + "67": {"x":180,"y":146,"w":26,"h":46,"character":67,"shift":29,"offset":2,}, + "68": {"x":154,"y":146,"w":24,"h":46,"character":68,"shift":29,"offset":3,}, + "69": {"x":130,"y":146,"w":22,"h":46,"character":69,"shift":27,"offset":3,}, + "70": {"x":108,"y":146,"w":20,"h":46,"character":70,"shift":24,"offset":3,}, + "71": {"x":79,"y":146,"w":27,"h":46,"character":71,"shift":31,"offset":2,}, + "72": {"x":54,"y":146,"w":23,"h":46,"character":72,"shift":29,"offset":3,}, + "73": {"x":47,"y":146,"w":5,"h":46,"character":73,"shift":11,"offset":3,}, + "74": {"x":29,"y":146,"w":16,"h":46,"character":74,"shift":20,"offset":1,}, + "75": {"x":2,"y":146,"w":25,"h":46,"character":75,"shift":27,"offset":2,}, + "76": {"x":487,"y":98,"w":19,"h":46,"character":76,"shift":22,"offset":2,}, + "77": {"x":456,"y":98,"w":29,"h":46,"character":77,"shift":33,"offset":2,}, + "78": {"x":2,"y":98,"w":23,"h":46,"character":78,"shift":29,"offset":3,}, + "79": {"x":479,"y":50,"w":29,"h":46,"character":79,"shift":31,"offset":1,}, + "80": {"x":455,"y":50,"w":22,"h":46,"character":80,"shift":27,"offset":3,}, + "81": {"x":2,"y":50,"w":29,"h":46,"character":81,"shift":31,"offset":1,}, + "82": {"x":448,"y":2,"w":26,"h":46,"character":82,"shift":29,"offset":3,}, + "83": {"x":422,"y":2,"w":24,"h":46,"character":83,"shift":27,"offset":1,}, + "84": {"x":396,"y":2,"w":24,"h":46,"character":84,"shift":24,"offset":0,}, + "85": {"x":371,"y":2,"w":23,"h":46,"character":85,"shift":29,"offset":3,}, + "86": {"x":342,"y":2,"w":27,"h":46,"character":86,"shift":27,"offset":0,}, + "87": {"x":302,"y":2,"w":38,"h":46,"character":87,"shift":38,"offset":0,}, + "88": {"x":273,"y":2,"w":27,"h":46,"character":88,"shift":27,"offset":0,}, + "89": {"x":244,"y":2,"w":27,"h":46,"character":89,"shift":27,"offset":0,}, + "90": {"x":218,"y":2,"w":24,"h":46,"character":90,"shift":24,"offset":0,}, + "91": {"x":476,"y":2,"w":9,"h":46,"character":91,"shift":11,"offset":2,}, + "92": {"x":204,"y":2,"w":12,"h":46,"character":92,"shift":11,"offset":0,}, + "93": {"x":178,"y":2,"w":9,"h":46,"character":93,"shift":11,"offset":0,}, + "94": {"x":159,"y":2,"w":17,"h":46,"character":94,"shift":19,"offset":1,}, + "95": {"x":133,"y":2,"w":24,"h":46,"character":95,"shift":22,"offset":-1,}, + "96": {"x":122,"y":2,"w":9,"h":46,"character":96,"shift":13,"offset":1,}, + "97": {"x":100,"y":2,"w":20,"h":46,"character":97,"shift":22,"offset":1,}, + "98": {"x":79,"y":2,"w":19,"h":46,"character":98,"shift":22,"offset":2,}, + "99": {"x":58,"y":2,"w":19,"h":46,"character":99,"shift":20,"offset":1,}, + "100": {"x":37,"y":2,"w":19,"h":46,"character":100,"shift":22,"offset":1,}, + "101": {"x":15,"y":2,"w":20,"h":46,"character":101,"shift":22,"offset":1,}, + "102": {"x":189,"y":2,"w":13,"h":46,"character":102,"shift":11,"offset":0,}, + "103": {"x":33,"y":50,"w":19,"h":46,"character":103,"shift":22,"offset":1,}, + "104": {"x":235,"y":50,"w":18,"h":46,"character":104,"shift":22,"offset":2,}, + "105": {"x":54,"y":50,"w":5,"h":46,"character":105,"shift":9,"offset":2,}, + "106": {"x":424,"y":50,"w":9,"h":46,"character":106,"shift":9,"offset":-2,}, + "107": {"x":404,"y":50,"w":18,"h":46,"character":107,"shift":20,"offset":2,}, + "108": {"x":397,"y":50,"w":5,"h":46,"character":108,"shift":9,"offset":2,}, + "109": {"x":366,"y":50,"w":29,"h":46,"character":109,"shift":33,"offset":2,}, + "110": {"x":346,"y":50,"w":18,"h":46,"character":110,"shift":22,"offset":2,}, + "111": {"x":324,"y":50,"w":20,"h":46,"character":111,"shift":22,"offset":1,}, + "112": {"x":303,"y":50,"w":19,"h":46,"character":112,"shift":22,"offset":2,}, + "113": {"x":282,"y":50,"w":19,"h":46,"character":113,"shift":22,"offset":1,}, + "114": {"x":268,"y":50,"w":12,"h":46,"character":114,"shift":13,"offset":2,}, + "115": {"x":435,"y":50,"w":18,"h":46,"character":115,"shift":20,"offset":1,}, + "116": {"x":255,"y":50,"w":11,"h":46,"character":116,"shift":11,"offset":0,}, + "117": {"x":215,"y":50,"w":18,"h":46,"character":117,"shift":22,"offset":2,}, + "118": {"x":193,"y":50,"w":20,"h":46,"character":118,"shift":20,"offset":0,}, + "119": {"x":162,"y":50,"w":29,"h":46,"character":119,"shift":29,"offset":0,}, + "120": {"x":140,"y":50,"w":20,"h":46,"character":120,"shift":20,"offset":0,}, + "121": {"x":118,"y":50,"w":20,"h":46,"character":121,"shift":20,"offset":0,}, + "122": {"x":96,"y":50,"w":20,"h":46,"character":122,"shift":20,"offset":0,}, + "123": {"x":82,"y":50,"w":12,"h":46,"character":123,"shift":13,"offset":1,}, + "124": {"x":76,"y":50,"w":4,"h":46,"character":124,"shift":10,"offset":3,}, + "125": {"x":61,"y":50,"w":13,"h":46,"character":125,"shift":13,"offset":0,}, + "126": {"x":427,"y":146,"w":21,"h":46,"character":126,"shift":23,"offset":1,}, + "9647": {"x":450,"y":146,"w":23,"h":46,"character":9647,"shift":39,"offset":8,}, + }, + "kerningPairs": [ + {"first":32,"second":65,"amount":-2,}, + {"first":32,"second":84,"amount":-1,}, + {"first":32,"second":89,"amount":-1,}, + {"first":32,"second":902,"amount":-2,}, + {"first":32,"second":913,"amount":-2,}, + {"first":32,"second":916,"amount":-2,}, + {"first":32,"second":923,"amount":-2,}, + {"first":32,"second":932,"amount":-1,}, + {"first":32,"second":933,"amount":-1,}, + {"first":32,"second":939,"amount":-1,}, + {"first":49,"second":49,"amount":-3,}, + {"first":65,"second":32,"amount":-2,}, + {"first":65,"second":84,"amount":-3,}, + {"first":65,"second":86,"amount":-3,}, + {"first":65,"second":87,"amount":-1,}, + {"first":65,"second":89,"amount":-3,}, + {"first":65,"second":118,"amount":-1,}, + {"first":65,"second":119,"amount":-1,}, + {"first":65,"second":121,"amount":-1,}, + {"first":65,"second":160,"amount":-2,}, + {"first":65,"second":8217,"amount":-3,}, + {"first":70,"second":44,"amount":-4,}, + {"first":70,"second":46,"amount":-4,}, + {"first":70,"second":65,"amount":-2,}, + {"first":76,"second":32,"amount":-1,}, + {"first":76,"second":84,"amount":-3,}, + {"first":76,"second":86,"amount":-3,}, + {"first":76,"second":87,"amount":-3,}, + {"first":76,"second":89,"amount":-3,}, + {"first":76,"second":121,"amount":-1,}, + {"first":76,"second":160,"amount":-1,}, + {"first":76,"second":8217,"amount":-2,}, + {"first":80,"second":32,"amount":-1,}, + {"first":80,"second":44,"amount":-5,}, + {"first":80,"second":46,"amount":-5,}, + {"first":80,"second":65,"amount":-3,}, + {"first":80,"second":160,"amount":-1,}, + {"first":82,"second":84,"amount":-1,}, + {"first":82,"second":86,"amount":-1,}, + {"first":82,"second":87,"amount":-1,}, + {"first":82,"second":89,"amount":-1,}, + {"first":84,"second":32,"amount":-1,}, + {"first":84,"second":44,"amount":-4,}, + {"first":84,"second":45,"amount":-2,}, + {"first":84,"second":46,"amount":-4,}, + {"first":84,"second":58,"amount":-4,}, + {"first":84,"second":59,"amount":-4,}, + {"first":84,"second":65,"amount":-3,}, + {"first":84,"second":79,"amount":-1,}, + {"first":84,"second":97,"amount":-4,}, + {"first":84,"second":99,"amount":-4,}, + {"first":84,"second":101,"amount":-4,}, + {"first":84,"second":105,"amount":-1,}, + {"first":84,"second":111,"amount":-4,}, + {"first":84,"second":114,"amount":-1,}, + {"first":84,"second":115,"amount":-4,}, + {"first":84,"second":117,"amount":-1,}, + {"first":84,"second":119,"amount":-2,}, + {"first":84,"second":121,"amount":-2,}, + {"first":84,"second":160,"amount":-1,}, + {"first":84,"second":173,"amount":-2,}, + {"first":84,"second":894,"amount":-4,}, + {"first":86,"second":44,"amount":-4,}, + {"first":86,"second":45,"amount":-2,}, + {"first":86,"second":46,"amount":-4,}, + {"first":86,"second":58,"amount":-1,}, + {"first":86,"second":59,"amount":-1,}, + {"first":86,"second":65,"amount":-3,}, + {"first":86,"second":97,"amount":-3,}, + {"first":86,"second":101,"amount":-2,}, + {"first":86,"second":105,"amount":-1,}, + {"first":86,"second":111,"amount":-2,}, + {"first":86,"second":114,"amount":-1,}, + {"first":86,"second":117,"amount":-1,}, + {"first":86,"second":121,"amount":-1,}, + {"first":86,"second":173,"amount":-2,}, + {"first":86,"second":894,"amount":-1,}, + {"first":87,"second":44,"amount":-2,}, + {"first":87,"second":45,"amount":-1,}, + {"first":87,"second":46,"amount":-2,}, + {"first":87,"second":58,"amount":-1,}, + {"first":87,"second":59,"amount":-1,}, + {"first":87,"second":65,"amount":-1,}, + {"first":87,"second":97,"amount":-1,}, + {"first":87,"second":101,"amount":-1,}, + {"first":87,"second":111,"amount":-1,}, + {"first":87,"second":114,"amount":-1,}, + {"first":87,"second":117,"amount":-1,}, + {"first":87,"second":173,"amount":-1,}, + {"first":87,"second":894,"amount":-1,}, + {"first":89,"second":32,"amount":-1,}, + {"first":89,"second":44,"amount":-5,}, + {"first":89,"second":45,"amount":-4,}, + {"first":89,"second":46,"amount":-5,}, + {"first":89,"second":58,"amount":-2,}, + {"first":89,"second":59,"amount":-3,}, + {"first":89,"second":65,"amount":-3,}, + {"first":89,"second":97,"amount":-3,}, + {"first":89,"second":101,"amount":-4,}, + {"first":89,"second":105,"amount":-1,}, + {"first":89,"second":111,"amount":-4,}, + {"first":89,"second":112,"amount":-3,}, + {"first":89,"second":113,"amount":-4,}, + {"first":89,"second":117,"amount":-2,}, + {"first":89,"second":118,"amount":-2,}, + {"first":89,"second":160,"amount":-1,}, + {"first":89,"second":173,"amount":-4,}, + {"first":89,"second":894,"amount":-3,}, + {"first":102,"second":102,"amount":-1,}, + {"first":102,"second":8217,"amount":1,}, + {"first":114,"second":44,"amount":-2,}, + {"first":114,"second":46,"amount":-2,}, + {"first":114,"second":8217,"amount":1,}, + {"first":118,"second":44,"amount":-3,}, + {"first":118,"second":46,"amount":-3,}, + {"first":119,"second":44,"amount":-2,}, + {"first":119,"second":46,"amount":-2,}, + {"first":121,"second":44,"amount":-3,}, + {"first":121,"second":46,"amount":-3,}, + ], + "ranges": [ + {"lower":32,"upper":127,}, + {"lower":9647,"upper":9647,}, + ], + "regenerateBitmap": false, + "canGenerateBitmap": true, + "maintainGms1Font": false, + "parent": { + "name": "Font", + "path": "folders/YoYo Extensions Assets/Font.yy", + }, + "resourceVersion": "1.0", + "name": "Font_YoYo_30", + "tags": [], + "resourceType": "GMFont", +} \ No newline at end of file diff --git a/source/Steamworks_gml/fonts/font_yoyo_30/font_yoyo_30.png b/source/Steamworks_gml/fonts/font_yoyo_30/font_yoyo_30.png new file mode 100644 index 0000000000000000000000000000000000000000..ffcaf01f432b088eb55eef86f6c1278b92879320 GIT binary patch literal 33976 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