YOUPASS - convertir le crédit téléphonique en monnaie ! : Partenaire RealityGaming.fr

Aide Comment utiliser le code Derank MW3 1.24

Skyrroths

Youtube//MomoArmyTeam
Premium
Inscrit
8 Avril 2016
Messages
60
J'aime
4
Points
1 579
Reply from Skyrroths Jeux-vidéo Call of Duty 🎮 Call of Duty 8 : Modern Warfare 3 [MW3] Hacking et modifications [MW3] Question Hacks & Mods : Comment utiliser le code Derank MW3 1.24 #1
Voila j'ai trouver le codage du deranks pour mw3 mais je ne parviens pas a l'utiliser pourtant j'ai essayer beaucoup de codage j'ai tenté en c++ et en c# mais j'aimerais le mettre dans un tool donc le coder en c# si quelqu'un peut m'aider ça serait sympa.

Code:
//All Client Stats DVARs
    Main::Call<null*>(makedvarserverinfo, "pdc", "0");
    Main::Call<null*>(setdvar, "pdc", "0");
    Main::Call<null*>(makedvarserverinfo, "validate_drop_on_fail", "0");
    Main::Call<null*>(setdvar, "validate_drop_on_fail", "0");
    Main::Call<null*>(makedvarserverinfo, "validate_apply_clamps", "0");
    Main::Call<null*>(setdvar, "validate_apply_clamps", "0");
    Main::Call<null*>(makedvarserverinfo, "validate_apply_revert", "0");
    Main::Call<null*>(setdvar, "validate_apply_revert", "0");
    Main::Call<null*>(makedvarserverinfo, "validate_apply_revert_full", "0");
    Main::Call<null*>(setdvar, "validate_apply_revert_full", "0");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_experience", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_experience", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_weaponXP", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_weaponXP", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_kills", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_kills", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_assists", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_assists", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_headshots", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_headshots", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_wins", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_wins", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_losses", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_losses", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_ties", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_ties", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_hits", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_hits", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_misses", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_misses", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "validate_clamp_totalshots", "1342177280");
    Main::Call<null*>(setdvar, "validate_clamp_totalshots", "1342177280");
    Main::Call<null*>(makedvarserverinfo, "dw_leaderboard_write_active", "1");
    Main::Call<null*>(setdvar, "dw_leaderboard_write_active", "1");
    Main::Call<null*>(makedvarserverinfo, "matchdata_active", "1");
    Main::Call<null*>(setdvar, "matchdata_active", "1");

Voila la suite

///////////////////////////////////////////////////Stat Index + Addr/////////////////////////////////////////////////////
enum Addresses {
    //Stats
    SV_SendServerCommand_a = 0x22D2E4,
    SV_GetClientPersistentDataBuffer_a = 0x2246A0,
    MSG_Init_a = 0x1FBC78,
    MSG_WriteByte_a = 0x1FC0F0,
    MSG_WriteLong_a = 0x1FC198,
    MSG_WriteData_a = 0x1FC128,
    MSG_WriteBits_a = 0x1FBEEC,
};
 
enum statIndex {
    Prestige = 3240,
    Experience = 0xA98,
    Score = 0xCB0,
    Wins = 0xd0c,
    Losses = 0xd10,
    Ties = 0xd14,
    Win_Streak = 0xD18,
    Kills = 0xcd8,
    Deaths = 0xCE0,
    Ratio = 0xD08,
    Headshots = 0xCEC,
    Accuracy = 0xd30,
    Assists = 0xce8,
    Kill_Streak = 0xcdc,
    Time_Played1 = 0xCF8,
    Time_Played2 = 0xCFC,
    Add_Classes = 0x2B0F,
    Tokens = 0x2B07,
    DoubleXP = 0x2B5D,
    DoubleWeaponXP = 0x2B65,
    ClassName1 = 0x1058,
    ClassName2 = 0x10BA,
    ClassName3 = 0x111C,
    ClassName4 = 0x117E,
    ClassName5 = 0x11E0,
    ClassName6 = 0x1242,
    ClassName7 = 0x12A4,
    ClassName8 = 0x1306,
    ClassName9 = 0x1368,
    ClassName10 = 0x13CA,
    ClassName11 = 0x142C,
    ClassName12 = 0x148E,
    ClassName13 = 0x14F0,
    ClassName14 = 0x1552,
    ClassName15 = 0x15B4,
    PMClassName1 = 0x1616,
    PMClassName2 = 0x1678,
    PMClassName3 = 0x16DA,
    PMClassName4 = 0x173C,
    PMClassName5 = 0x179E,
 
    GodmodeClass1 = 4235,
    GodmodeClass2 = 4333,
    GodmodeClass3 = 4431,
    GodmodeClass4 = 4529,
    GodmodeClass5 = 4627,
    GodmodeClass6 = 4725,
    GodmodeClass7 = 4823,
    GodmodeClass8 = 4921,
    GodmodeClass9 = 5019,
    GodmodeClass10 = 5117,
    GodmodeClass11 = 5215,
    GodmodeClass12 = 5313,
    GodmodeClass13 = 5411,
    GodmodeClass14 = 5509,
    GodmodeClass15 = 5607,
    PMGodmodeClass1 = 5705,
    PMGodmodeClass2 = 5803,
    PMGodmodeClass3 = 5901,
    PMGodmodeClass4 = 5999,
    PMGodmodeClass5 = 6097,
 
    UnlockAll0 = 0x17DB,
    UnlockAll1 = 0x8E0,
    UnlockAll2 = 0x28CC,
    UnlockAll3 = 0x181E,
};
 
enum PublicClass1 { // Add 0x62 for next Class (max. 20)
    PubPrimary_Weapon = 4144, //7 = ACR
    PubPrimWeap_Attach1 = 4146,
    PubPrimWeap_Attach2 = 4148,
    PubPrimWeap_Attach3 = 4152, //76 = Radar 75 = Störer
    PubPrimWeap_Visier = 4154, // maxValue = 6 // 4 = Best
    PubPrimWeap_Camo = 4150, // 13 = Gold
 
    PubSecondary_Weapon = 4156,
    PubSecWeap_Attach1 = 4158,
    PubSecWeap_Attach2 = 4160,
    PubSecWeap_Attach3 = 4164, //76 = Radar 75 = Störer
    PubSecWeap_Visier = 4166, // maxValue = 6 // 4 = Best
    PubSecWeap_Camo = 4162, // 13 = Gold
 
    PubPrimaryGrenade = 4168,
    PubSecondaryGrenade = 4180,
 
    PubPerk1 = 4170,
    PubPerk2 = 4172,
    PubPerk3 = 4174,
 
    PubDeathstreak = 4204,
 
    PubToggleKillStreak = 4178, // Storm = 94 // Support = 95 // Specialist = 61
};
 
/////////////////////////////////////////////////////All Client Stats/////////////////////////////////////////////////////
 
opd_s SV_SendServerCommandMsg_t = {SV_SendServerCommand_a, TOC};
opd_s SV_GetClientPersistentDataBuffer_t = {SV_GetClientPersistentDataBuffer_a, TOC};
opd_s MSG_Init_t = {MSG_Init_a, TOC};
opd_s MSG_WriteByte_t = {MSG_WriteByte_a, TOC};
opd_s MSG_WriteLong_t = {MSG_WriteLong_a, TOC};
opd_s MSG_WriteData_t = {MSG_WriteData_a, TOC};
opd_s MSG_WriteBits_t = {MSG_WriteBits_a, TOC};
 
int (*SV_GetClientPersistentDataBuffer)(int clientNum) = (int(*)(int))&SV_GetClientPersistentDataBuffer_t;
void (*SV_SendServerCommandMsg)(int clientNum, int type, msg_t* msg) = (void(*)(int, int, msg_t*))&SV_SendServerCommandMsg_t;
void (*MSG_Init)(msg_t* buf, char* data, int length) = (void(*)(msg_t* buf, char* data, int length))&MSG_Init_t;
void (*MSG_WriteByte)(msg_t* msg, int value) = (void(*)(msg_t* msg, int value))&MSG_WriteByte_t;
void (*MSG_WriteLong)(msg_t* msg, int c) = (void(*)(msg_t* msg, int c))&MSG_WriteLong_t;
void (*MSG_WriteData)(msg_t* buf, char* data, int length) = (void(*)(msg_t* buf, char* data, int length))&MSG_WriteData_t;
void (*MSG_WriteBits)(msg_t* msg, int value, int bits) = (void(*)(msg_t* msg, int value, int bits))&MSG_WriteBits_t;
 
void unlockAll_callBack(uint64_t arg);
void derank_callBack(uint64_t arg);
void removeGMC_callBack(uint64_t arg);
 
void SetStatsInt(int clientNum, int statIndex, int value) {
    char* msgBuffer = (char*)malloc(0x400);
    msg_t msg;
 
    MSG_Init(&msg, msgBuffer, 0x400);
    MSG_WriteByte(&msg, 0x47);
    MSG_WriteLong(&msg, statIndex);
    MSG_WriteByte(&msg, sizeof(value));
    MSG_WriteBits(&msg, value, 32);
    SV_SendServerCommandMsg(getClient_t(clientNum), 1, &msg);
    free(msgBuffer);
}
 
void SetStatsBytes(int clientNum, int statIndex, char* value, int size) {
    char* msgBuffer = (char*)malloc(0x400);
    msg_t msg;
 
    MSG_Init(&msg, msgBuffer, 0x400);
    MSG_WriteByte(&msg, 0x47);
    MSG_WriteLong(&msg, statIndex);
    MSG_WriteByte(&msg, size);
    MSG_WriteData(&msg, value, size);
    SV_SendServerCommandMsg(getClient_t(clientNum), 1, &msg);
    free(msgBuffer);
}
 
///////////////////////////////////////////////Unlock All incl Class1 Mod///////////////////////////////////////////////
void GiveUnlockAll(int arg) {
    char bytes[2] = {0x13, 0x02};
    char bytes2[64] = {0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38, 0x1E, 0x38};
    char bytes3[64] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF};
    char bytes4[192] = {0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A};
 
    SetStatsBytes(arg, UnlockAll0, bytes, 2);
 
    for (int i = 0; i < 0x2C4; i += 64) {
        SetStatsBytes(arg, (UnlockAll1 + i), bytes2, 64);
        sleep(20);
        if (i < 0xCF)
            SetStatsBytes(arg, (UnlockAll2 + i), bytes3, 64);
        sleep(55);
    }
    for (int i = 0; i < 0x1064; i += 192) {
        SetStatsBytes(arg, (UnlockAll3 + i), bytes4, 192);
        sleep(50);
    }
 
    SetStatsInt(arg, Prestige, 10);
    SetStatsInt(arg, Experience, 1746200);
    SetStatsInt(arg, Score, 1342177280);
    SetStatsInt(arg, Wins, 1342177280);
    SetStatsInt(arg, Losses, 0);
    SetStatsInt(arg, Ties, 0);
    SetStatsInt(arg, Win_Streak, 1342177280);
    SetStatsInt(arg, Kills, 1342177280);
    SetStatsInt(arg, Deaths, 0);
    SetStatsInt(arg, Ratio, 1342177280);
    SetStatsInt(arg, Headshots, 1342177280);
    SetStatsInt(arg, Accuracy, 1);
    SetStatsInt(arg, Assists, 1342177280);
    SetStatsInt(arg, Kill_Streak, 1342177280);
    SetStatsInt(arg, Time_Played1, 1342177280);
    SetStatsInt(arg, Time_Played2, 1342177280);
    SetStatsInt(arg, Add_Classes, 15);
    SetStatsInt(arg, Tokens, 1342177280);
    SetStatsInt(arg, DoubleXP, 1342177280);
    SetStatsInt(arg, DoubleWeaponXP, 1342177280);
    SetStatsBytes(arg, ClassName1, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName2, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName3, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName4, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName5, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName6, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName7, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName8, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName9, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName10, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName11, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName12, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName13, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, ClassName14, "^201cedricv2^7", 20);
    SetStatsBytes(arg, ClassName15, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, PMClassName1, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, PMClassName2, "^201cedricv2^7", 20);
    SetStatsBytes(arg, PMClassName3, "Vortex^2IW5 ^7By", 20);
    SetStatsBytes(arg, PMClassName4, "^201cedricv2^7", 20);
    SetStatsBytes(arg, PMClassName5, "Vortex^2IW5 ^7By", 20);
 
    //Class 0
    SetStatsInt(arg, PubPrimary_Weapon + (0 * 0x62), 7);
    SetStatsInt(arg, PubPrimWeap_Attach1 + (0 * 0x62), 7);
    SetStatsInt(arg, PubPrimWeap_Attach2 + (0 * 0x62), 76);
    SetStatsInt(arg, PubPrimWeap_Attach3 + (0 * 0x62), 75);
    SetStatsInt(arg, PubPrimWeap_Visier + (0 * 0x62), 4);
    SetStatsInt(arg, PubPrimWeap_Camo + (0 * 0x62), 13);
    SetStatsInt(arg, PubSecondary_Weapon + (0 * 0x62), 7);
    SetStatsInt(arg, PubSecWeap_Attach1 + (0 * 0x62), 7);
    SetStatsInt(arg, PubSecWeap_Attach2 + (0 * 0x62), 7);
    SetStatsInt(arg, PubSecWeap_Attach3 + (0 * 0x62), 76);
    SetStatsInt(arg, PubSecWeap_Visier + (0 * 0x62), 4);
    SetStatsInt(arg, PubSecWeap_Camo + (0 * 0x62), 13);
    SetStatsInt(arg, PubPrimaryGrenade + (0 * 0x62), 7);
    SetStatsInt(arg, PubSecondaryGrenade + (0 * 0x62), 7);
    SetStatsInt(arg, PubPerk1 + (0 * 0x62), 15);
    SetStatsInt(arg, PubPerk2 + (0 * 0x62), 38);
    SetStatsInt(arg, PubPerk3 + (0 * 0x62), 148);
    SetStatsInt(arg, PubDeathstreak + (0 * 0x62), 94);
    SetStatsInt(arg, PubToggleKillStreak + (0 * 0x62), 94);
 
/////////////////////////////////////////////////////Remove Godmodes/////////////////////////////////////////////////////
void RemoveGodmodeClasses(int clientIndex) {
    char nullByte = 0x00;
    for (int i = 0; i < 15; i++) {
        SetStatsBytes(clientIndex, 0x108B + (0x62 * i), &nullByte, 20); //Online Classes
        if (i < 5)
            SetStatsBytes(clientIndex, 0x1649 + (0x62 * i), &nullByte, 20); //Private Match Classes
    }
 

Chris'

Modérateur
Modérateur
Inscrit
3 Juillet 2012
Messages
27 563
J'aime
8 359
Points
16 182
Reply from Chris' Jeux-vidéo Call of Duty 🎮 Call of Duty 8 : Modern Warfare 3 [MW3] Hacking et modifications [MW3] Question Hacks & Mods : Comment utiliser le code Derank MW3 1.24 #2
Salut.
Faut commencer par coder d'abord le RPC pour ensuite pouvoir Call Les fonctions que tu code la ;)
 

Skyrroths

Youtube//MomoArmyTeam
Premium
Inscrit
8 Avril 2016
Messages
60
J'aime
4
Points
1 579
Reply from Skyrroths Jeux-vidéo Call of Duty 🎮 Call of Duty 8 : Modern Warfare 3 [MW3] Hacking et modifications [MW3] Question Hacks & Mods : Comment utiliser le code Derank MW3 1.24 #3
Salut.
Faut commencer par coder d'abord le RPC pour ensuite pouvoir Call Les fonctions que tu code la ;)
Merci de ta réponse c'est gentil je vais tester ça et je te tiens au courant :)

Ca me fait encore des erreurs pour certaines lignes de code , comment faire je comprend pas pourquoi ca fait encore des erreurs :)
 
Dernière édition par un modérateur:

Chris'

Modérateur
Modérateur
Inscrit
3 Juillet 2012
Messages
27 563
J'aime
8 359
Points
16 182
Reply from Chris' Jeux-vidéo Call of Duty 🎮 Call of Duty 8 : Modern Warfare 3 [MW3] Hacking et modifications [MW3] Question Hacks & Mods : Comment utiliser le code Derank MW3 1.24 #4
Merci de ta réponse c'est gentil je vais tester ça et je te tiens au courant :)

Ca me fait encore des erreurs pour certaines lignes de code , comment faire je comprend pas pourquoi ca fait encore des erreurs :)
Bah le soucis c'est que si tu prends un codage sans pour autant le comprendre bah tu y arrivera jamais.
Essaye de trouver quelqu'un qui peut d'assisté par skype ou autre ;)
 

Skyrroths

Youtube//MomoArmyTeam
Premium
Inscrit
8 Avril 2016
Messages
60
J'aime
4
Points
1 579
Reply from Skyrroths Jeux-vidéo Call of Duty 🎮 Call of Duty 8 : Modern Warfare 3 [MW3] Hacking et modifications [MW3] Question Hacks & Mods : Comment utiliser le code Derank MW3 1.24 #5
Bah le soucis c'est que si tu prends un codage sans pour autant le comprendre bah tu y arrivera jamais.
Essaye de trouver quelqu'un qui peut d'assisté par skype ou autre ;)
D'accord merci je comprend le codage mais pas entièrement et c'est vrai qu'il est assez dur à utiliser ;)
 

Chris'

Modérateur
Modérateur
Inscrit
3 Juillet 2012
Messages
27 563
J'aime
8 359
Points
16 182
Reply from Chris' Jeux-vidéo Call of Duty 🎮 Call of Duty 8 : Modern Warfare 3 [MW3] Hacking et modifications [MW3] Question Hacks & Mods : Comment utiliser le code Derank MW3 1.24 #6


Haut