BTC USD 77,443.9 Gold USD 4,366.84
Time now: Jun 1, 12:00 AM

EA Decompile latest version...

Dah berjaya buang locking tu. Tunggu master akulascalper letak link downloadnya...
 
Dah dapat mq4 ke belum??
Kalau Ilan1.4 dah banyak kat thread Expert Advisor.Just ubah setting,Pair dan TF guna sahaja.
 
Dah berjaya buang locking tu. Tunggu master akulascalper letak link downloadnya...

X pe minta TT le yg letakkan saya just advise & follow je.
Setakat yg boleh saya bantu rakan-rakan semua.
 
#property copyright "Copyright © 2012, SUPRIYANTO"
#property link "http://www.belajarforexgratis.net"
#property show_inputs

int gi_76 = 1;
bool gi_80 = FALSE;
bool gi_84 = TRUE;

extern double EquityRisk = 2.0;
double gd_100 = 3333.0;
extern double Lots = 0.01;
double gd_116 = 2.0;
extern double TakeProfit = 4.0;
double gd_132 = 0.0;
double gd_140 = 10.0;
double gd_148 = 10.0;
double gd_156 = 5.0;
extern int MaxTrades = 20;
bool gi_168 = FALSE;
double gd_172 = 20000.0;
extern bool UseTrailingStop = FALSE;
bool gi_184 = FALSE;
double gd_188 = 100.0;
extern bool TimeFilter = FALSE;
extern int StartHour = 0;
extern int EndHour = 20;
int ti_0 = 9999;
double gd_212;
double gd_220;
double gd_228;
double gd_236;
double gd_244;
double gd_252;
double gd_260;
double gd_268;
double gd_276;
double gd_284;
bool gi_292;
string gs_296 = "www.belajarforexgratis.net";
int gt_304 = 0;
int gi_308;
int gi_312 = 0;
double gd_316;
int gi_324 = 0;
int gi_328;
double gd_332 = 0.0;
bool gi_340 = FALSE;
bool gi_344 = FALSE;
bool gi_348 = FALSE;
int gi_352;
bool gi_356 = TRUE;
int gi_360 = 0;
int gi_364 = 0;
double gd_368;
double gd_376;

int init() {
gd_284 = MarketInfo(Symbol(), MODE_SPREAD) * Point;
if (IsTesting() == TRUE) f0_5();
if (IsTesting() == FALSE) f0_5();
return (0);
**

int deinit() {
ObjectDelete("Market_Price_Label1");
ObjectDelete("Market_Price_Label2");
ObjectDelete("Market_Price_Label3");
ObjectDelete("Market_Price_Label4");
ObjectDelete("Market_Price_Label5");
ObjectDelete("Market_Price_Label6");
ObjectDelete("Market_Price_Label7");
ObjectDelete("Market_Price_Label8");
ObjectDelete("Market_Price_Label9");
ObjectDelete("Market_Price_Label10");
ObjectDelete("Market_Price_Label11");
ObjectDelete("Market_Price_Label12");
ObjectDelete("Market_Price_Label13");
ObjectDelete("Market_Price_Label14");
ObjectDelete("Market_Price_Label15");
ObjectDelete("Market_Price_Label16");
ObjectDelete("Market_Price_Label17");
ObjectDelete("Market_Price_Label18");
ObjectDelete("Market_Price_Label19");
ObjectDelete("Market_Price_Label20");
ObjectDelete("Market_Price_Label21");
ObjectDelete("Market_Price_Label22");
ObjectDelete("Market_Price_Label23");
ObjectDelete("Market_Price_Label24");
ObjectDelete("Market_Price_Label25");
ObjectDelete("Market_Price_Label26");
ObjectDelete("Market_Price_Label27");
ObjectDelete("Market_Price_Label28");
ObjectDelete("Market_Price_Label29");
ObjectDelete("Market_Price_Label30");
ObjectDelete("Market_Price_Label31");
ObjectDelete("Market_Price_Label32");
ObjectDelete("Market_Price_Label33");
ObjectDelete("Market_Price_Label34");
ObjectDelete("Market_Price_Label35");
return (0);
**

int start() {
string ls_20;
double ld_28;
double ld_36;
double ld_44;
double ld_52;
string ls_60;
string ls_68;
double ld_76;
double ld_84;

ls_60 = "false";
ls_68 = "false";
if (TimeFilter == FALSE || (TimeFilter && (EndHour > StartHour && (Hour() >= StartHour && Hour() <= EndHour)) || (StartHour > EndHour && (!(Hour() >= EndHour && Hour() <= StartHour))))) ls_60 = "true";
if (TimeFilter && (EndHour > StartHour && (!(Hour() >= StartHour && Hour() <= EndHour))) || (StartHour > EndHour && (Hour() >= EndHour && Hour() <= StartHour))) ls_68 = "true";
if (UseTrailingStop) f0_15(gd_140, gd_148, gd_244);
if (gi_184) {
if (TimeCurrent() >= gi_308) {
f0_7();
Print("Closed All due to TimeOut");
**
**
if (gt_304 == Time[0]) return (0);
gt_304 = Time[0];
ld_76 = f0_2();
if (gi_168) {
if (ld_76 < 0.0 && MathAbs(ld_76) > gd_172 / 100.0 * f0_12()) {
f0_7();
Print("Closed All due to Stop Out");
gi_356 = FALSE;
**
**
gi_328 = f0_13();
if (gi_328 == 0) gi_292 = FALSE;
for (gi_324 = OrdersTotal() - 1; gi_324 >= 0; gi_324--) {
OrderSelect(gi_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_BUY) {
gi_344 = TRUE;
gi_348 = FALSE;
ld_28 = OrderLots();
break;
**
**
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_SELL) {
gi_344 = FALSE;
gi_348 = TRUE;
ld_36 = OrderLots();
break;
**
**
**
if (gi_328 > 0 && gi_328 <= MaxTrades) {
RefreshRates();
gd_268 = f0_11();
gd_276 = f0_3();
if (gi_344 && gd_268 - Ask >= gd_156 * Point) gi_340 = TRUE;
if (gi_348 && Bid - gd_276 >= gd_156 * Point) gi_340 = TRUE;
**
if (gi_328 < 1) {
gi_348 = FALSE;
gi_344 = FALSE;
gi_340 = TRUE;
gd_220 = AccountEquity();
**
if (gi_340) {
gd_268 = f0_11();
gd_276 = f0_3();
if (gi_348) {
if (gi_80 || ls_68 == "true") {
f0_6(0, 1);
gd_316 = NormalizeDouble(EquityRisk * ld_36, gd_116);
** else gd_316 = f0_14(OP_SELL);
if (gi_84 && ls_60 == "true") {
gi_312 = gi_328;
if (gd_316 > 0.0) {
RefreshRates();
gi_352 = f0_1(1, gd_316, Bid, gd_100, Ask, 0, 0, gs_296 + "-" + gi_312, ti_0, 0, HotPink);
if (gi_352 < 0) {
Print("Error: ", GetLastError());
return (0);
**
gd_276 = f0_3();
gi_340 = FALSE;
gi_356 = TRUE;
**
**
** else {
if (gi_344) {
if (gi_80 || ls_68 == "true") {
f0_6(1, 0);
gd_316 = NormalizeDouble(EquityRisk * ld_28, gd_116);
** else gd_316 = f0_14(OP_BUY);
if (gi_84 && ls_60 == "true") {
gi_312 = gi_328;
if (gd_316 > 0.0) {
gi_352 = f0_1(0, gd_316, Ask, gd_100, Bid, 0, 0, gs_296 + "-" + gi_312, ti_0, 0, Lime);
if (gi_352 < 0) {
Print("Error: ", GetLastError());
return (0);
**
gd_268 = f0_11();
gi_340 = FALSE;
gi_356 = TRUE;
**
**
**
**
**
if (gi_340 && gi_328 < 1) {
ld_44 = iClose(Symbol(), 0, 2);
ld_52 = iClose(Symbol(), 0, 1);
gd_252 = Bid;
gd_260 = Ask;
if ((!gi_348) && !gi_344 && ls_60 == "true") {
gi_312 = gi_328;
if (ld_44 > ld_52) {
gd_316 = f0_14(OP_SELL);
if (gd_316 > 0.0) {
gi_352 = f0_1(1, gd_316, gd_252, gd_100, gd_252, 0, 0, gs_296 + "-" + gi_312, ti_0, 0, HotPink);
if (gi_352 < 0) {
Print(gd_316, "Error: ", GetLastError());
return (0);
**
gd_268 = f0_11();
gi_356 = TRUE;
**
** else {
gd_316 = f0_14(OP_BUY);
if (gd_316 > 0.0) {
gi_352 = f0_1(0, gd_316, gd_260, gd_100, gd_260, 0, 0, gs_296 + "-" + gi_312, ti_0, 0, Lime);
if (gi_352 < 0) {
Print(gd_316, "Error: ", GetLastError());
return (0);
**
gd_276 = f0_3();
gi_356 = TRUE;
**
**
**
if (gi_352 > 0) gi_308 = TimeCurrent() + 60.0 * (60.0 * gd_188);
gi_340 = FALSE;
**
gi_328 = f0_13();
gd_244 = 0;
ld_84 = 0;
for (gi_324 = OrdersTotal() - 1; gi_324 >= 0; gi_324--) {
OrderSelect(gi_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_BUY || OrderType() == OP_SELL) {
gd_244 += OrderOpenPrice() * OrderLots();
ld_84 += OrderLots();
**
**
**
if (gi_328 > 0) gd_244 = NormalizeDouble(gd_244 / ld_84, Digits);
if (gi_356) {
for (gi_324 = OrdersTotal() - 1; gi_324 >= 0; gi_324--) {
OrderSelect(gi_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_BUY) {
gd_212 = gd_244 + TakeProfit * Point;
gd_228 = gd_212;
gd_332 = gd_244 - gd_132 * Point;
gi_292 = TRUE;
**
**
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_SELL) {
gd_212 = gd_244 - TakeProfit * Point;
gd_236 = gd_212;
gd_332 = gd_244 + gd_132 * Point;
gi_292 = TRUE;
**
**
**
**
if (gi_356) {
if (gi_292 == TRUE) {
for (gi_324 = OrdersTotal() - 1; gi_324 >= 0; gi_324--) {
OrderSelect(gi_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) OrderModify(OrderTicket(), gd_244, OrderStopLoss(), gd_212, 0, Yellow);
gi_356 = FALSE;
**
**
**

return (0);
**

double f0_9(double ad_0) {
return (NormalizeDouble(ad_0, Digits));
**

int f0_6(bool ai_0 = TRUE, bool ai_4 = TRUE) {
int li_8 = 0;
for (int li_12 = OrdersTotal() - 1; li_12 >= 0; li_12--) {
if (OrderSelect(li_12, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_BUY && ai_0) {
RefreshRates();
if (!IsTradeContextBusy()) {
if (!OrderClose(OrderTicket(), OrderLots(), f0_9(Bid), 5, CLR_NONE)) {
Print("Error close BUY " + OrderTicket());
li_8 = -1;
**
** else {
if (gi_360 == iTime(NULL, 0, 0)) return (-2);
gi_360 = iTime(NULL, 0, 0);
Print("Need close BUY " + OrderTicket() + ". Trade Context Busy");
return (-2);
**
**
if (OrderType() == OP_SELL && ai_4) {
RefreshRates();
if (!IsTradeContextBusy()) {
if (!((!OrderClose(OrderTicket(), OrderLots(), f0_9(Ask), 5, CLR_NONE)))) continue;
Print("Error close SELL " + OrderTicket());
li_8 = -1;
continue;
**
if (gi_364 == iTime(NULL, 0, 0)) return (-2);
gi_364 = iTime(NULL, 0, 0);
Print("Need close SELL " + OrderTicket() + ". Trade Context Busy");
return (-2);
**
**
**
**
return (li_8);
**

double f0_14(int ai_0) {
double ld_4;
int li_12;
switch (gi_76) {
case 0:
ld_4 = Lots;
break;
case 1:
ld_4 = NormalizeDouble(Lots * MathPow(EquityRisk, gi_312), gd_116);
break;
case 2:
li_12 = 0;
ld_4 = Lots;
for (int li_20 = OrdersHistoryTotal() - 1; li_20 >= 0; li_20--) {
if (!OrderSelect(li_20, SELECT_BY_POS, MODE_HISTORY)) return (-3);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (li_12 < OrderCloseTime()) {
li_12 = OrderCloseTime();
if (OrderProfit() < 0.0) {
ld_4 = NormalizeDouble(OrderLots() * EquityRisk, gd_116);
continue;
**
ld_4 = Lots;
**
**
**
**
if (AccountFreeMarginCheck(Symbol(), ai_0, ld_4) <= 0.0) return (-1);
if (GetLastError() == 134/* NOT_ENOUGH_MONEY */) return (-2);
return (ld_4);
**

int f0_13() {
int li_0 = 0;
for (int li_4 = OrdersTotal() - 1; li_4 >= 0; li_4--) {
OrderSelect(li_4, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0)
if (OrderType() == OP_SELL || OrderType() == OP_BUY) li_0++;
**
return (li_0);
**

void f0_7() {
for (int li_0 = OrdersTotal() - 1; li_0 >= 0; li_0--) {
OrderSelect(li_0, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() == Symbol()) {
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0) {
if (OrderType() == OP_BUY) OrderClose(OrderTicket(), OrderLots(), Bid, gd_100, Blue);
if (OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), Ask, gd_100, Red);
**
Sleep(1000);
**
**
**

int f0_1(int ai_0, double ad_4, double ad_12, int ai_20, double ad_24, int ai_32, int ai_36, string as_40, int ai_48, int ai_52, color ai_56) {
int li_60 = 0;
int li_64 = 0;
int li_68 = 0;
int li_72 = 100;
switch (ai_0) {
case 2:
for (li_68 = 0; li_68 < li_72; li_68++) {
li_60 = OrderSend(Symbol(), OP_BUYLIMIT, ad_4, ad_12, ai_20, f0_0(ad_24, gd_132), f0_8(ad_12, ai_36), as_40, ai_48, ai_52, ai_56);
li_64 = GetLastError();
if (li_64 == 0/* NO_ERROR */) break;
if (!((li_64 == 4/* SERVER_BUSY */ || li_64 == 137/* BROKER_BUSY */ || li_64 == 146/* TRADE_CONTEXT_BUSY */ || li_64 == 136/* OFF_QUOTES */))) break;
Sleep(1000);
**
break;
case 4:
for (li_68 = 0; li_68 < li_72; li_68++) {
li_60 = OrderSend(Symbol(), OP_BUYSTOP, ad_4, ad_12, ai_20, f0_0(ad_24, gd_132), f0_8(ad_12, ai_36), as_40, ai_48, ai_52, ai_56);
li_64 = GetLastError();
if (li_64 == 0/* NO_ERROR */) break;
if (!((li_64 == 4/* SERVER_BUSY */ || li_64 == 137/* BROKER_BUSY */ || li_64 == 146/* TRADE_CONTEXT_BUSY */ || li_64 == 136/* OFF_QUOTES */))) break;
Sleep(5000);
**
break;
case 0:
for (li_68 = 0; li_68 < li_72; li_68++) {
RefreshRates();
li_60 = OrderSend(Symbol(), OP_BUY, ad_4, Ask, ai_20, f0_0(Bid, gd_132), f0_8(Ask, ai_36), as_40, ai_48, ai_52, ai_56);
li_64 = GetLastError();
if (li_64 == 0/* NO_ERROR */) break;
if (!((li_64 == 4/* SERVER_BUSY */ || li_64 == 137/* BROKER_BUSY */ || li_64 == 146/* TRADE_CONTEXT_BUSY */ || li_64 == 136/* OFF_QUOTES */))) break;
Sleep(5000);
**
break;
case 3:
for (li_68 = 0; li_68 < li_72; li_68++) {
li_60 = OrderSend(Symbol(), OP_SELLLIMIT, ad_4, ad_12, ai_20, f0_4(ad_24, gd_132), f0_10(ad_12, ai_36), as_40, ai_48, ai_52, ai_56);
li_64 = GetLastError();
if (li_64 == 0/* NO_ERROR */) break;
if (!((li_64 == 4/* SERVER_BUSY */ || li_64 == 137/* BROKER_BUSY */ || li_64 == 146/* TRADE_CONTEXT_BUSY */ || li_64 == 136/* OFF_QUOTES */))) break;
Sleep(5000);
**
break;
case 5:
for (li_68 = 0; li_68 < li_72; li_68++) {
li_60 = OrderSend(Symbol(), OP_SELLSTOP, ad_4, ad_12, ai_20, f0_4(ad_24, gd_132), f0_10(ad_12, ai_36), as_40, ai_48, ai_52, ai_56);
li_64 = GetLastError();
if (li_64 == 0/* NO_ERROR */) break;
if (!((li_64 == 4/* SERVER_BUSY */ || li_64 == 137/* BROKER_BUSY */ || li_64 == 146/* TRADE_CONTEXT_BUSY */ || li_64 == 136/* OFF_QUOTES */))) break;
Sleep(5000);
**
break;
case 1:
for (li_68 = 0; li_68 < li_72; li_68++) {
li_60 = OrderSend(Symbol(), OP_SELL, ad_4, Bid, ai_20, f0_4(Ask, gd_132), f0_10(Bid, ai_36), as_40, ai_48, ai_52, ai_56);
li_64 = GetLastError();
if (li_64 == 0/* NO_ERROR */) break;
if (!((li_64 == 4/* SERVER_BUSY */ || li_64 == 137/* BROKER_BUSY */ || li_64 == 146/* TRADE_CONTEXT_BUSY */ || li_64 == 136/* OFF_QUOTES */))) break;
Sleep(5000);
**
**
return (li_60);
**

double f0_0(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
return (ad_0 - ai_8 * Point);
**

double f0_4(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
return (ad_0 + ai_8 * Point);
**

double f0_8(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
return (ad_0 + ai_8 * Point);
**

double f0_10(double ad_0, int ai_8) {
if (ai_8 == 0) return (0);
return (ad_0 - ai_8 * Point);
**

double f0_2() {
double ld_0 = 0;
for (gi_324 = OrdersTotal() - 1; gi_324 >= 0; gi_324--) {
OrderSelect(gi_324, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0)
if (OrderType() == OP_BUY || OrderType() == OP_SELL) ld_0 += OrderProfit();
**
return (ld_0);
**

void f0_15(int ai_0, int ai_4, double ad_8) {
int li_16;
double ld_20;
double ld_28;
if (ai_4 != 0) {
for (int li_36 = OrdersTotal() - 1; li_36 >= 0; li_36--) {
if (OrderSelect(li_36, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() || OrderMagicNumber() == ti_0) {
if (OrderType() == OP_BUY) {
li_16 = NormalizeDouble((Bid - ad_8) / Point, 0);
if (li_16 < ai_0) continue;
ld_20 = OrderStopLoss();
ld_28 = Bid - ai_4 * Point;
if (ld_20 == 0.0 || (ld_20 != 0.0 && ld_28 > ld_20)) OrderModify(OrderTicket(), ad_8, ld_28, OrderTakeProfit(), 0, Aqua);
**
if (OrderType() == OP_SELL) {
li_16 = NormalizeDouble((ad_8 - Ask) / Point, 0);
if (li_16 < ai_0) continue;
ld_20 = OrderStopLoss();
ld_28 = Ask + ai_4 * Point;
if (ld_20 == 0.0 || (ld_20 != 0.0 && ld_28 < ld_20)) OrderModify(OrderTicket(), ad_8, ld_28, OrderTakeProfit(), 0, Red);
**
**
Sleep(1000);
**
**
**
**

double f0_12() {
if (f0_13() == 0) gd_368 = AccountEquity();
if (gd_368 < gd_376) gd_368 = gd_376;
else gd_368 = AccountEquity();
gd_376 = AccountEquity();
return (gd_368);
**

double f0_11() {
double ld_0;
int li_8;
double ld_12 = 0;
int li_20 = 0;
for (int li_24 = OrdersTotal() - 1; li_24 >= 0; li_24--) {
OrderSelect(li_24, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0 && OrderType() == OP_BUY) {
li_8 = OrderTicket();
if (li_8 > li_20) {
ld_0 = OrderOpenPrice();
ld_12 = ld_0;
li_20 = li_8;
**
**
**
return (ld_0);
**

double f0_3() {
double ld_0;
int li_8;
double ld_12 = 0;
int li_20 = 0;
for (int li_24 = OrdersTotal() - 1; li_24 >= 0; li_24--) {
OrderSelect(li_24, SELECT_BY_POS, MODE_TRADES);
if (OrderSymbol() != Symbol() || OrderMagicNumber() != ti_0) continue;
if (OrderSymbol() == Symbol() && OrderMagicNumber() == ti_0 && OrderType() == OP_SELL) {
li_8 = OrderTicket();
if (li_8 > li_20) {
ld_0 = OrderOpenPrice();
ld_12 = ld_0;
li_20 = li_8;
**
**
**
return (ld_0);
**

void f0_5() {
Comment("Supriyanto Scalper 2012 V.2\n", "Suprifx |www.belajarforexgratis.net|=> Robot Forex Gratis <=\n", "Forex Account Server:", AccountServer(),
"\n", "Lots: ", Lots,
"\n", "Symbol: ", Symbol(),
"\n", "Price: ", NormalizeDouble(Bid, 4),
"\n", "Date: ", Month(), "-", Day(), "-", Year(), " Server Time: ", Hour(), ":", Minute(), ":", Seconds(),
"\n");
**
 
Ni setting EA Scalper Sufrifx

Modal Minimal Akun Standart $500

Pairs USDCHF atau USDCAD
TF M1
Lot 0.01
Equity Risk 2
Max trade 20
TP 4

Akun Cent Modal $100 / 10.000 cent

Pairs USDCHF atau USDCAD
TF M1
Lot 0.1
Equity Risk 2
Max trade 20
TP 4

Download mq4 : EA Scalper Sufrifx @ ilan 1.4

jrnw.jpg
 
Last edited:

Latest Posts

Live Forex Chart

Currency
Rates
EUR / USD
1.14869
USD / JPY
157.137
GBP / USD
1.33624
USD / CHF
0.82348
USD / CAD
1.39828
EUR / JPY
180.500
AUD / USD
0.71233
Back
Top
Log in Register