يتم إعطاؤك مقتطف تعليمات برمجية يتضمن تعليقًا حول إنشاء كائن `BIDSPath` أو تحديثه. مهمتك هي كتابة دالة Python التي تنفذ منطق إنشاء أو تحديث كائن `BIDSPath` بناءً على المتطلبات المحددة.

يحتوي كائن `BIDSPath` على الخصائص التالية:
- `الموضوع`: سلسلة تمثل معرف الموضوع.
- `الجلسة`: سلسلة تمثل معرف الجلسة.
- `المهمة`: سلسلة تمثل اسم المهمة.
- `نوع البيانات`: سلسلة تمثل نوع البيانات.
- ``suffix``: سلسلة تمثل لاحقة اسم الملف.

تحتاج إلى كتابة دالة تسمى "create_or_update_bids_path" والتي تأخذ المعلمات التالية:
- `existing_path`: كائن `BIDSPath` اختياري يمثل مسارًا موجودًا. يجب أن تكون هذه الوسيطة افتراضية على "لا شيء".
- `الموضوع`: سلسلة مطلوبة تمثل معرف الموضوع.
- `الجلسة`: سلسلة اختيارية تمثل معرف الجلسة. يجب أن تكون هذه الوسيطة افتراضية إلى سلسلة فارغة.
- `المهمة`: سلسلة اختيارية تمثل اسم المهمة. يجب أن تكون هذه الوسيطة افتراضية إلى سلسلة فارغة.
- `نوع البيانات`: سلسلة اختيارية تمثل نوع البيانات. يجب أن تكون هذه الوسيطة افتراضية إلى سلسلة فارغة.
- `suffix`: سلسلة اختيارية تمثل لاحقة اسم الملف. يجب أن تكون هذه الوسيطة افتراضية إلى سلسلة فارغة.

يجب أن تقوم وظيفة `create_or_update_bids_path` بما يلي:
1. إذا لم يكن "المسار الموجود" هو "لا شيء":
   - قم بتحديث خاصية "الموضوع" الخاصة بـ "المسار_الموجود" بقيمة معلمة "الموضوع".
   - إذا تم توفير معلمة "الجلسة"، قم بتحديث خاصية "الجلسة" الخاصة بـ "المسار_الموجود" بقيمة معلمة "الجلسة".
   - إذا تم توفير معلمة "المهمة"، فقم بتحديث خاصية "المهمة" الخاصة بـ "المسار_الموجود" بقيمة معلمة "المهمة".
   - إذا تم توفير المعلمة "نوع البيانات"، قم بتحديث خاصية "نوع البيانات" الخاصة بـ "المسار_الموجود" بقيمة المعلمة "نوع البيانات".
   - في حالة توفير المعلمة `اللاحقة`، قم بتحديث خاصية `اللاحقة` الخاصة بـ `المسار_الموجود` بقيمة المعلمة `اللاحقة`.
   - قم بإرجاع كائن "المسار_الموجود" المحدث.
2. إذا كان "المسار_الموجود" هو "لا شيء":
   - قم بإنشاء كائن `BIDSPath` جديد باستخدام قيمة معلمة `subject` كخاصية `subject`.
   - استخدم معلمات "الجلسة"، و"المهمة"، و"نوع البيانات"، و"اللاحقة" لتعيين الخصائص المعنية لكائن "BIDSPath" الجديد.
   - قم بإرجاع كائن `BIDSPath` الذي تم إنشاؤه حديثًا.

ملحوظة:
- لم يتم تعريف كائن `BIDSPath` في مقتطف التعليمات البرمجية المحدد، ولكن يجب أن تفترض أنه فئة محددة مسبقًا بالخصائص المذكورة.

اكتب الحل الخاص بك في بايثون وقم بإرجاع كائن "BIDSPath" وفقًا لوصف المشكلة.
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}