أنت تعمل على لعبة RPG نصية وتحتاج إلى تنفيذ نظام قتالي. يسمح نظام القتال للاعب بأداء إجراءات مختلفة أثناء دوره، مثل الضرب بسلاحه الرئيسي، أو الضرب بسلاحه غير اليدوي، أو تنفيذ ضربة حاسمة.

يتم إعطاؤك مقتطف رمز يمثل قاموسًا يتضمن ثلاثة إجراءات محتملة والطرق المقابلة لها:

```بيثون
{
    "اضرب بسلاح يدك الرئيسي": Action.HitWith(AttackDamageHand.MainHand)،
    "اضرب بسلاحك غير اليدوي": Action.HitWith(AttackDamageHand.OffHand)،
    "(تم توجيه ضربة حاسمة): Action.CriticalStrike
}
```

تحتاج إلى تنفيذ وظيفة `perform_action(action_text: str) -> لا شيء`، والتي تأخذ سلسلة `action_text` كمدخل وتنفذ الإجراء المقابل بناءً على القاموس المحدد. يجب أن تقوم الوظيفة بإخراج الرسالة المناسبة لكل إجراء.

افترض ما يلي:
- تحتوي فئة `Action` على ثلاث طرق: `HitWith(hand: AttackDamageHand)`، و`CriticalStrike()`، و`perform_action(text: str) -> str`.
- يحتوي تعداد `AttackDamageHand' على قيمتين محتملتين: `MainHand` و`OffHand`.
- تأخذ طريقة "perform_action" للفئة "Action" سلسلة كمدخلات وتقوم بإرجاع تمثيل سلسلة للإجراء الذي تم تنفيذه.

اكتب دالة `perform_action(action_text: str) -> لا شيء` تتبع الإرشادات المذكورة أعلاه.

مثال:
```بيثون
بيرفورم_أكشن("اضرب بسلاح يدك الرئيسي")
الإخراج: أنت تضرب بسلاح يدك الرئيسي.

بيرفورم_أكشن("(تم توجيه ضربة حاسمة")
الإخراج: لقد وجهت ضربة حاسمة.
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}