يتم إعطاؤك مقتطفًا برمجيًا يمثل جزءًا من تطبيق آلة الحالة المحدودة (FSM) للعبة الهاتف المحمول للتحكم في سلوك الشخصية. تتم كتابة مقتطف التعليمات البرمجية بلغة البرمجة النصية لمحرك اللعبة الحالي.

يعرض مقتطف الكود إنشاء حالة جديدة تسمى "idle_moving" بالمعرف الثابت `PELLET_STATE_IDLE_MOVING`. تمثل هذه الحالة أن الشخصية خاملة وقادرة على الحركة. ضمن تعريف الحالة، يتم إنشاء حدث من النوع `MOB_EV_ON_ENTER`. يتم تشغيل هذا الحدث عندما تدخل الشخصية في حالة "idle_moving".

داخل تعريف الحدث، يوجد استدعاء دالة لـ `gen_mob_fsm::carry_begin_move`. هذه الوظيفة مسؤولة عن بدء حركة الشخصية عندما تدخل حالة "الخمول".

مهمتك هي كتابة دالة تأخذ مقتطف الشفرة كمدخل وتقوم بإرجاع المعلومات التالية:
- اسم الدولة الجاري إنشاؤها
- معرف الدولة
- نوع الحدث الجاري إنشاؤه
- الوظيفة التي يتم استدعاؤها داخل تعريف الحدث

اكتب دالة بالتوقيع التالي:
```
def parse_code(code: str) -> Tuple[str, str, str, str]:
```

**مدخل**
- `code` (1 <= |code| <= 1000): سلسلة تحتوي على مقتطف الشفرة. ومن المضمون أن تكون جيدة الصياغة وأن تتبع البنية الموضحة في مثال مقتطف الشفرة.

**انتاج**
- إرجاع صف يحتوي على أربع سلاسل: `(اسم_الحالة، معرف_الحالة، نوع_الحدث، اسم_الوظيفة)`

**مثال**
```بيثون
code = " }\n}\n\nefc.new_state(\"idle_moving\"، PELLET_STATE_IDLE_MOVING)؛ {\n efc.new_event(MOB_EV_ON_ENTER); {\n efc.run(gen_mob_fsm::carry_begin_move);\n }\ ن}"
parse_code(رمز)
# الإخراج: ("idle_moving"، "PELLET_STATE_IDLE_MOVING"، "MOB_EV_ON_ENTER"، "gen_mob_fsm::carry_begin_move")
```
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}