لقد تم إعطاؤك وظيفة `linear_search` التي تحتوي على قائمة `l` وعدد صحيح `target`.

يتم استخدام وظيفة "البحث_الخطي" للعثور على فهرس التواجد الأول لـ "الهدف" في القائمة المحددة. تقوم هذه الوظيفة بإجراء بحث خطي في القائمة، بالتكرار خلال كل عنصر، حتى تجد التواجد الأول للهدف أو تصل إلى نهاية القائمة. إذا لم يتم العثور على الهدف في القائمة، ترجع الدالة -1.

تحتاج إلى تنفيذ وظيفة "البحث_الخطي".

توقيع الوظيفة: `def line_search(l: List[int], target: int) -> int:`

**مدخل**
- قائمة `l` من الأعداد الصحيحة الموجبة (1 <= len(l) <= 10^4)
- عدد صحيح `الهدف` (1 <= الهدف <= 100)

**انتاج**
- قم بإرجاع فهرس التواجد الأول لـ "الهدف" في القائمة المحددة "l". إذا لم يتم العثور على الهدف، قم بإرجاع -1.

**أمثلة**
1. `البحث الخطي([4، 3، 6، 9، 2، 1]، 9)` يُرجع `3`
2. `البحث الخطي([4، 3، 6، 9، 2، 1]، 7)` يُرجع `-1`
3. `البحث الخطي([4، 4، 4، 4، 4]، 4)` يُرجع `0`
{"evolved_from": null, "kind": "synthetic", "source": "argilla/DistiCoder-dpo-binarized"}