Tslint: рдорд╛рдВрдЧрдкрддреНрд░ рдирд┐рдпрдо рд╕рдВрд╡рд░реНрджреНрдзрди

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдЕрдЧре░ 2015  ┬╖  37рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: palantir/tslint

ESLint рдХреЗ рд╕рдорд╛рди, рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 2-рд╕реНрдкреЗрд╕ рдпрд╛ 4-рд╕реНрдкреЗрд╕ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

  • [рдПрдХреНрд╕] [true, "spaces", 2]
  • [рдПрдХреНрд╕] [true, "spaces", 4]

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ "detect" рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ (рдЬреИрд╕рд╛ рдХрд┐ #122 рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдЬреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд╢реИрд▓реА рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдФрд░ рд╕реНрдерд┐рд░рддрд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ:

  • [ ] [true, "detect"]
P1 Fixed Enhancement

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@ dimitriy-k #2723 рдЕрднреА рд╡рд┐рд▓рдп рд╣реБрдЖ рд╣реИ, рдпрд╣ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реЛрдЧрд╛ред

рд╕рднреА 37 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

+1

рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреА рд╕рдВрдЦреНрдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП +1ред

+1

рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд┐рднрд╛рдЬреНрдп рд╣реЛ?

{
    theObject.something()
             .more(); // 13 spaces.
}

рдЙрдкрд░реЛрдХреНрдд (рдЕрд╡рдзрд┐ рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░реЗрдВ) рд╡рд┐рдзрд┐ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реЛрдЧреА?

@ рдЧреНрд▓реЗрди -84 рдореБрдЭреЗ рджреЛ рд╕рдВрднрд╛рд╡рдирд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ:

  • рд▓рд╛рдЗрди рджрд░ рд▓рд╛рдЗрди рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рдЬрд╛рдВрдЪ (рдЬрд╣рд╛рдВ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реЛрдЧреА
  • рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреА рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЪреЗрдХ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╕реНрдЯреЗрдЯрдореЗрдВрдЯред рдЪреВрдВрдХрд┐ рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, theObject.something().more() рд╕рднреА рдПрдХ рдХрдерди рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рд╕реНрддрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рдХреЗ рдкрд╛рд╕ рдкреЗрд╢реЗрд╡рд░ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ, рд▓реЗрдХрд┐рди рджреВрд╕рд░рд╛ рд╢рд╛рдпрдж рдпрд╣рд╛рдВ рдкрд╕рдВрдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

:+1:

+1
@JKillian -> рдореИрдВ рд╡рд┐рдХрд▓реНрдк # 2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░реВрдВрдЧрд╛ рдЬрд╣рд╛рдВ рдХрдердиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдирд╣реАрдВред

+1 рд╡рд┐рдХрд▓реНрдк 2, рдХрдерди-рджрд░-рдХрдерди рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛

@ рдЬреЗрдХрд┐рд▓рд┐рдпрди рдзрдиреНрдпрд╡рд╛рджред рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред =)

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛ ред

+1 рд╡рд┐рдХрд▓реНрдк 1

ESLINT рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ http://eslint.org/docs/rules/indent

+9000 рдПрд╕рдПрд╕рдЬреЗ3
рдХреГрдкрдпрд╛, рджреЛрд╕реНрддреЛрдВ, 4-рд╕реНрдкреЗрд╕ рдЗрдВрдбреЗрдВрдЯ рд╡рд┐рдХрд▓реНрдк ASAP рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╢реБрд░реВ рдХрд░ рджреА рд╣реИ рдФрд░ 2-рд╕реНрдкреЗрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЗрдВрдбреЗрдВрдЯ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдмреБрд░рд╛ рд▓рдЧрддрд╛ рд╣реИред рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ 2 рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╡рд╛рд▓реЗ рдХреБрдЫ рдХреЛрдб рдХреЗ рдЗрдВрдбреЗрдВрдЯ рд╕реНрддрд░ рдХреЛ рджреЗрдЦрдирд╛ рд╡рд╛рдХрдИ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ ...

@radarsu рдЖрдк рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП .editorconfig рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛

@radarsu рдЕрднреА рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдирд┐рдпрдо рд╕рд┐рд░реНрдл рдпрд╣ рдкрддрд╛

@JKillian рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдХрд┐рддрдирд╛ рдХрдард┐рди рд╣реЛрдЧрд╛? рдореИрдВ рдЗрдВрдбреЗрдВрдЯ рдЖрдХрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдореИрдВ рдЗрд╕реЗ рд╣реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдпрджрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд╕рд┐рдВрдХ рдирд╣реАрдВ рд╣реИ (рдХреЗрд╡рд▓ рдЕрдЧрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рд╣реИ)ред

рдпрд╣ рдХрд╣рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ - рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рд╣рд╛рд╣рд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдУ!

@mcriss @strike-sbolel рдХреГрдкрдпрд╛ +1 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рдирд╛ рдмрдВрдж рдХрд░реЗрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдкреНрд░рдпрд╛рд╕ рдпрд╣рд╛рдВ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ https://github.com/buzinas/tslint-eslint-rules/issues/74

рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╡рд┐рдЪрд╛рд░ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИ , рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрдб рдХреА рдЕрдиреБрдорддрд┐ рд╣реЛрдЧреА:

{
    theObject.something()
             .more() // 13 spaces.
           .wrong()
                    .moreWrong();
}

рдПрдХ рдЖрджрд░реНрд╢ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╣рдо рдкрд┐рдЫрд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЕрдВрддрд┐рдо рдЕрд╡рдзрд┐ рдХреЗ рдиреАрдЪреЗ рд╕реНрдерд┐рдд "рд▓рд┐рдкрдЯреЗ" рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ (рдпрд╛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ) рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк 1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

{
    theObject.something()
             .more()  // 13 spaces.
             .right() // Must be the same as above now, because the previous line used this indentation mode.
             .moreRight();
}

рдпрд╛:

{
    theObject.something()
        .more() // (4 x 2) spaces.
        .right()
        .moreRight();
}

рдореЗрд░реА рдХреНрд░рд┐рд╕рдорд╕ рддреБрдо рд╕рдм !!!

https://github.com/buzinas/tslint-eslint-rules/blob/master/src/docs/rules/terIndentRule.md

рдХреНрдпрд╛ рд╣рдо рдХреГрдкрдпрд╛ рдПрдХ рдЕрдкрдбреЗрдЯ рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@owais рдЕрднреА рддрдХ рдХреЛрд░ TSLint рдореЗрдВ рдПрдиреНрд╣рд╛рдВрд╕рдореЗрдВрдЯ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╣ рд▓рд┐рдВрдХ рдХрд╕реНрдЯрдо рдирд┐рдпрдореЛрдВ рд╡рд╛рд▓реЗ рдмрд╛рд╣рд░реА рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рд╣реИред

рдУрд╣ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдПрдХ рдФрд░ рд░реЗрдкреЛ рджреЗрдЦ рд░рд╣рд╛ рдерд╛ред :) рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@adidahiya рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рдмрдХрд╛рдпрд╛ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдкреАрдЖрд░ рдЦреЛрд▓рдиреЗ рд▓рд╛рдпрдХ рд╣реИ? рдпрд╛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдХрд╕реНрдЯрдо рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛?

@pudgeball рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдкреАрдЖрд░ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрди рд╣реЛрдЧрд╛ (рдЬреИрд╕рд╛ рдХрд┐ рд▓реЗрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ #2723 рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЯреИрдм рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ -> x рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдФрд░ x рд░рд┐рдХреНрдд рд╕реНрдерд╛рди -> рдЯреИрдм, рд▓реЗрдХрд┐рди x рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ -> y рд░рд┐рдХреНрдд рд╕реНрдерд╛рди

рдЕрднреА рднреА рдЗрдВрдбреЗрдВрдЯ рд╕рд╛рдЗрдЬ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ... рдЕрдиреБрд░реЛрдз 2015 рд╕реЗ рд╣реИ

@ dimitriy-k #2723 рдЕрднреА рд╡рд┐рд▓рдп рд╣реБрдЖ рд╣реИ, рдпрд╣ рдЕрдЧрд▓реА рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣реЛрдЧрд╛ред

рдЗрд╕ рдирд┐рдпрдо рдХреЛ рдХреНрдпрд╛ рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛? рдореИрдВ

@dolanmiu рдпрд╣ рдХреЛрдИ рдирдпрд╛ рдирд┐рдпрдо рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдареАрдХ рд╡реИрд╕реЗ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдореВрд▓ рдореБрджреНрджреЗ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреАрдЖрд░ рдкрд░ рдмрд╕ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред

@adidahiya рдореИрдВ 5.3.2

рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

    "indent": [
      true,
      "spaces",
      4
    ],

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдлрд╛рдЗрд▓ рд╣реИ рдЬреЛ 2 рд╕рднреА 2 рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓рд╛! рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдпрд╛ рдХреЛрдИ рдмрдЧ рд╣реИ?

@dolanmiu рд╣рд╛рдБ, рдЬреЛ рдПрдХ рдирдП рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ # 2723 рдиреЗ рдореЗрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд░реВрдк рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ https://github.com/palantir/tslint/issues/2814 . рджрд╛рдпрд░ рдХрд┐рдпрд╛

рдХреЛрдИ рдЕрдкрдбреЗрдЯреНрд╕?

"indent": [true, "spaces", 4] рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

@ liul85 tslint-eslint-рдирд┐рдпрдореЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ рдФрд░ terIndentRule рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

@leocaseiro рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ред

tslint 5.11.0 . рдореЗрдВ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

"indent": [true, "spaces", 4] рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ...

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

denkomanceski picture denkomanceski  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ypresto picture ypresto  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DanielKucal picture DanielKucal  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

rajinder-yadav picture rajinder-yadav  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ghost picture ghost  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ