TL;DR - ملخص

Uniswap عبارة عن مجموعة من برامج الكمبيوتر التي تعمل على blockchain Ethereum وتسمح بـ "المقايضات" اللامركزية. إنه يعمل بمساعدة وحيدات القرن (كما يظهر شعاره).

على Uniswap، يمكن للمتداولين تداول رموز Ethereum الخاصة بهم دون الحاجة إلى الوثوق بأي شخص بأموالهم. وفي الوقت نفسه، يمكن لأي شخص إقراض العملات المشفرة الخاصة به إلى احتياطيات خاصة تسمى مجمعات السيولة. ومقابل توفير الأموال لهذه الاحتياطيات، سيحصلون على عمولات.

كيف تُحوِّل هذه «الوحيدات السحرية» رمزًا إلى آخر؟ ماذا يلزم لاستخدام Uniswap؟ تابع القراءة.


مقدمة

لقد كانت منصات التداول المركزية حجر الزاوية في سوق العملات الرقمية لسنوات. فهي توفر أوقات تسوية سريعة، وحجم تداول مرتفع، وسيولة تتحسن باستمرار. لكن يتم بناء عالم موازٍ على شكل بروتوكولات «بدون ثقة» (أي لا تعتمد على الثقة في أطراف ثالثة). لا تحتاج منصات التداول اللامركزية (DEX) إلى وسطاء أو جهات حفظ لتسهيل التداول.

بسبب القيود الجوهرية لتقنية البلوكتشين، كان من الصعب جدًا إنشاء DEXs يمكنها منافسة نظيراتها المركزية بشكل ملموس. يمكن لمعظم DEXs أن تتحسن في الأداء وكذلك في تجربة المستخدم.

طرح العديد من المطورين طرقًا جديدة لإنشاء بورصة لامركزية. وكان من أوائلها Uniswap. قد يكون من الصعب فهم طريقة عمل Uniswap مقارنةً بـ DEX أكثر تقليدية. لكننا سنرى قريبًا أن هذا النموذج يحمل بعض الفوائد الجذابة جدًا.

ونتيجة لهذه الابتكار، أصبح Uniswap واحدًا من أنجح المشاريع في حركة التمويل اللامركزي (DeFi).

لنتعرف إذن على ما هو Uniswap وكيف يعمل، وكيف سيمكنك من استبدال التوكنات عبر محفظة Ethereum واحدة فقط.


ما هو Uniswap؟

Uniswap هو بروتوكول تبادل لامركزي تم إنشاؤه على Ethereum. وبشكل أدق، فهو بروتوكول سيولة آلية. لا يتطلب كتاب أوامر أو أي جهة مركزية لتنفيذ الصفقات. يسمح Uniswap للمستخدمين بالتداول دون وسطاء، بدرجة عالية من اللامركزية ومقاومة الرقابة.

Uniswap هو برنامج مفتوح المصدر. يمكنك الاطلاع عليه بنفسك على GitHub الخاص بـ Uniswap.

حسنًا، ولكن كيف تتم العمليات دون كتاب أوامر؟ حسنًا، يعمل يوني سواب (Uniswap) من خلال نموذج يقوم فيه مزودو السيولة بإنشاء احتياطيات سيولة. يوفر هذا النظام آلية لتحديد الأسعار بشكل لامركزي، تقوم في الأساس بتنعيم عمق كتاب الأوامر. سنحلل لاحقًا كيفية عملها بمزيد من التفاصيل. لكن في الوقت الحالي، يكفي أن نعرف أن المستخدمين يمكنهم إجراء عمليات تبادل بين رموز ERC-20، دون الحاجة إلى كتاب أوامر.

بما أنه بروتوكول لامركزي، لا يوجد في Uniswap عملية إدراج. وبشكل مبسّط، يمكن إطلاق أي توكن من نوع ERC-20 طالما توجد احتياطيات سيولة متاحة للمتداولين. ونتيجة لذلك، لا يفرض Uniswap أي عمولة على عملية الإدراج. وبطريقة ما، يعمل بروتوكول Uniswap كنوع من السلع العامة.

تم إنشاء بروتوكول Uniswap بواسطة هايدن آدامز (Hayden Adams) في عام 2018. لكن التقنية الكامنة التي ألهمت تطبيقه تم وصفها في الأصل بواسطة فيتاليك بوتيرين (Vitalik Buterin)، المؤسس المشارك للإيثيريوم.


كيف يعمل Uniswap؟

يتخلى Uniswap عن البنية التقليدية لمنصات التداول الرقمية من حيث إنه لا يعتمد على كتاب أوامر. يعمل بدلًا من ذلك بتصميم يُسمّى «Constant Product Market Maker»، وهو نوع من نموذج يُعرف باسم «Automated Market Maker» (AMM).

إن «automated market makers (AMM)» هي عقود ذكية تحتوي على احتياطيات سيولة (liquidity pools)، يمكن للمتداولين إجراء عملياتهم بداخلها. يتم تمويل هذه الاحتياطيات من قِبل مزودي السيولة. يمكن لأي شخص أن يعمل كمزود سيولة، عبر إيداع قيمة مكافئة من توكنين داخل الاحتياطي. مقابل ذلك، سيدفع المتداولون عمولة إلى الاحتياطي، ثم يتم توزيعها لاحقًا على مزودي السيولة وفقًا لحصتهم في الاحتياطي. هيا إذن لنتعرّف على كيفية عمل كل ذلك بمزيد من التفاصيل.

ينشئ مزودو السيولة سوقًا عن طريق إيداع قيمة مكافئة من توكنين. يمكن أن تكون هذه التوكنات إمّا ETH وتوكن ERC-20، أو توكنين من نوع ERC-20. تتكون الاحتياطيات عادة من عملات مستقرة مثل DAI أو USDC أو USDT، لكن هذا ليس شرطًا إلزاميًا. في المقابل، يحصل مزودو السيولة على «liquidity tokens» (توكنات السيولة) التي تمثل حصتهم من إجمالي احتياطي السيولة. يمكن استرداد توكنات السيولة هذه مقابل حصتهم في الاحتياطي.

لنأخذ مثالًا: احتياطي سيولة ETH/USDT. سنسمي الجزء من الاحتياطي المكوَّن من ETH بـ x، والجزء المكوَّن من USDT سنسميه y. يأخذ Uniswap هاتين الكميتين ويضربهما لحساب إجمالي السيولة في الاحتياطي المعني. سنسمّي هذه المتغير k. الفكرة الأساسية في Uniswap هي أن k يجب أن تبقى ثابتة، ما يعني أن إجمالي سيولة الاحتياطي (pool) سيكون أيضًا دائمًا ثابتًا. بالتالي تكون معادلة إجمالي سيولة الاحتياطي:

x * y = k

فماذا يحدث عندما يرغب شخص ما في إجراء صفقة (trade)؟

لنفترض أن أليس (Alice) تشتري 1 ETH مقابل 300 USDT باستخدام احتياطي السيولة ETH/USDT. عند القيام بذلك، سترتفع حصة USDT من الاحتياطي، بينما ستنخفض حصة ETH. وهذا يعني عمليًا أن سعر ETH سيرتفع. لماذا؟ لأنه ستكون هناك كمية أقل من ETH داخل الاحتياطي بعد الصفقة، ونحن نعلم أن إجمالي السيولة (k) يجب أن يبقى دائمًا ثابتًا. هذه الآلية هي التي تحدد الأسعار. لذا في النهاية، يعتمد السعر الذي يتم دفعه مقابل هذا الـ ETH على مستوى الانزياح بين المتوسط بين x وy.

تجدر الإشارة إلى أن هذا النموذج لا يتوسع بشكل خطي. عمليًا، كلما كانت قيمة الطلب أكبر، كان الانزياح بين x وy أكبر. وهذا يعني أن الأوامر الأكبر تصبح أغلى بشكل أسي من الأوامر الأصغر، ما يؤدي إلى مستويات انزلاق (slippage) متزايدة. كما يعني أيضًا أنه كلما كان احتياطي السيولة أكبر، أصبح من الأسهل معالجة الطلبات الكبيرة. لماذا؟ لأن الانزياح بين x وy سيكون أقل في هذه الحالة.


Uniswap v3

مرت تقنية Uniswap حتى الآن بعدة نسخ. من المرجح أنه إذا كنت قد جرّبت Uniswap من قبل، فالأرجح أنك كنت تستخدم Uniswap v2. لكن دائمًا توجد تحسينات قيد التطوير. هيا إذن لنتعرف على أبرز التحديثات التي سيجلبها Uniswap v3.


كفاءة رأس المال

أحد أكثر التغييرات أهمية في Uniswap v3 يرتبط بكفاءة رأس المال. معظم AMMs غير فعّالة جدًا من حيث رأس المال — أي أن أغلب الأموال الموجودة لديها في أي وقت لا يتم استخدامها. يعود ذلك إلى خاصية كامنة في نموذج x*y=k الذي تمت مناقشته سابقًا. وبعبارة بسيطة، كلما زادت السيولة في الاحتياطي، زادت الأوامر التي يمكن للنظام دعمها ضمن نطاق سعر أوسع.

لكن مزودي السيولة (LPs) في تلك الاحتياطيات، عمليًا، يقدمون السيولة على شكل منحنى أسعار (ضمن نطاق) يمتد من 0 إلى ما لا نهاية. يبقى كل ذلك رأس المال هناك، محجوزًا، تحسبًا للسيناريو الذي تتضاعف فيه قيمة أحد أصول الاحتياطي بمقدار 5 أو 10 أو 100.

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

على سبيل المثال، لدى Uniswap حاليًا حوالي 5 مليارات دولار من السيولة المحبوسة في الإيداع، لكنه لا يعالج سوى حجم تداول يقدر بـ مليار دولار يوميًا تقريبًا. قد تفكر أن هذه ليست طريقة أنيقة جدًا للقيام بالأمور، وبحسب ما يبدو فإن فريق Uniswap يوافقك الرأي. Uniswap v3 يعالج هذه المشكلة.

سيتمكن مزودو السيولة الآن من تحديد نطاقات أسعار مخصصة يمكنهم ضمنها تقديم السيولة. من المفترض أن يؤدي ذلك إلى سيولة أكثر تركيزًا في نطاق السعر الذي يحدث فيه معظم نشاط التداول.

وبشكل ما، يُعد Uniswap v3 طريقة بدائية لإنشاء كتاب أوامر «on-chain» على الإيثيريوم، حيث يمكن لصنّاع السوق (market makers) تحديد تقديم السيولة في نطاقات الأسعار التي يحددونها هم بأنفسهم. وتجدر الإشارة إلى أن هذا التغيير سيُفضل صُنّاع السوق المحترفين، على حساب المشاركين الصغار. تكمن «جمال» AMMs في أن أي شخص يمكنه تقديم السيولة وتشغيل أمواله.

ومع ذلك، مع هذه الطبقة الإضافية من التعقيد، فإن مزودي السيولة «الكسالى» (LPs) سيحققون عمولات تداول أقل بكثير من الجهات المحترفة القادرة على تحسين استراتيجيتها باستمرار. وفي الوقت نفسه، ليس من الصعب تصور إمكانية أن تقدم مجمِّعات مثل yearn.finance لمزودي السيولة من فئة التجزئة طريقة للبقاء، بطريقة ما، منافسين في هذا السياق.


توكنات LP في Uniswap كـ NFTs

الآن نفهم أن كل مركز (position) لمزود السيولة (LP) في Uniswap فريد من نوعه، نظرًا لأن كل مُودِع يمكنه تحديد نطاق أسعار خاص به. وهذا يعني أن مراكز LP في Uniswap لم تعد قابلة للاستبدال (non-fungible). ونتيجة لذلك، يمثَّل كل مركز LP الآن بواسطة توكن غير قابل للاستبدال (NFT).

إحدى مزايا تمثيل مركز LP في Uniswap بتوكن قابل للاستبدال كانت إمكانية استخدامه في أجزاء أخرى من نظام DeFi البيئي. كانت توكنات LP في Uniswap v2 يمكن إيداعها كضمان في Aave أو MakerDAO. لكن هذا لم يعد يحدث في v3، لأن كل مركز فريد من نوعه. ومع ذلك، قد تعوّض خسارة قابلية التركيب (composability) من خلال فئات جديدة من المنتجات المشتقة.


Uniswap على طبقة 2

خلال العام الماضي، ارتفعت أسعار عمولات معاملات الإرسال على الإيثيريوم بشكل كبير. وهذا جعل استخدام Uniswap غير مجدٍ اقتصاديًا بالنسبة لكثير من المستخدمين الصغار.

سيتم تنفيذ Uniswap v3 أيضًا على حل لزيادة قابلية التوسع من طبقة 2 يُسمى Optimistic rollup. إنه شكل ممتاز لتوسيع العقود الذكية دون التنازل عن أمان شبكة الإيثيريوم. ومن المتوقع أن تؤدي هذه الخطوة إلى زيادة ضخمة في القدرة على معالجة المعاملات، بالإضافة إلى عمولات أقل بكثير للمستخدمين.


ما هي «impermanent loss» (الخسارة غير الدائمة)؟

كما ذكرنا، يحصل مزودو السيولة على عمولات مقابل تقديم السيولة ليتمكن المتداولون من إجراء عمليات تبادل بين التوكنات. هل هناك شيء آخر يجب أن ينتبه إليه مزودو السيولة؟ نعم. يوجد تأثير يُسمى impermanent loss (الخسارة غير الدائمة).

لنأخذ مثالًا: تقوم أليس بإيداع 1 ETH و100 USDT في احتياطي Uniswap. وبما أن زوج التوكنات يجب أن يكون لهما قيمة مكافئة، فهذا يعني أن سعر ETH سيكون 100 USDT. في المقابل، يوجد في الاحتياطي إجمالي 10 ETH و1,000 USDT — الجزء المتبقي الذي أضافه مزودو سيولة آخرون غير أليس. وهذا يعني أن حصة أليس تمثل 10% من الاحتياطي. ستكون سيولتنا الإجمالية (k) في هذه الحالة 10,000.

ماذا سيحدث إذا ارتفع سعر ETH إلى 400 USDT؟ تذكر أن إجمالي سيولة الاحتياطي يجب أن يبقى ثابتًا دائمًا. إذا أصبح ETH الآن بقيمة 400 USDT، فهذا يعني أن المتوسط بين كمية ETH وكمية USDT في الاحتياطي سيتغير. في الواقع، سيكون هناك الآن 5 ETH و2,000 USDT في الاحتياطي. لماذا؟ لأن متداولي التحكيم سيقومون بإضافة USDT إلى الاحتياطي وسحب ETH منه، حتى يعكس المتوسط السعر الدقيق. ولهذا السبب من الضروري فهم أن k ثابت.

لذا، تقرر أليس سحب أموالها وتسترد 10% من الـ pool وفقًا لحصتها. نتيجة لذلك، تحصل على 0.5 ETH و200 USDT، بإجمالي 400 USDT. يبدو أنها حققت ربحًا جيدًا. لكن انتظر، ماذا لو لم تكن قد وضعت أموالها في الـ pool؟ عندها كان سيكون لديها 1 ETH و100 USDT، بإجمالي 500 USDT.

في الواقع، كان من الممكن أن تربح أليس أكثر بمجرد الاحتفاظ (HODL) بدلًا من إيداع الأموال في احتياطي Uniswap. في هذه الحالة، تكون «impermanent loss» أساسًا هي تكلفة الفرصة (opportunity cost) لإيداع توكنٍ في احتياطي مشترك يرتفع سعره. أي أنه عند إيداع الأموال في Uniswap بهدف كسب عمولات، قد تفقد أليس فرصًا أخرى.

ضع في اعتبارك أن هذا التأثير يعمل بغض النظر عن اتجاه تغيّر السعر منذ لحظة الإيداع. ماذا يعني ذلك؟ إذا انخفض سعر ETH مقارنةً بلحظة الإيداع، فقد تتضخم الخسائر أيضًا. إذا كنت تريد شرحًا أكثر تقنية، راجع مقال Pintail.

لكن لماذا تُعد الخسارة «غير دائمة»؟ إذا عاد سعر التوكنات المودعة في الاحتياطي المشترك إلى ما كان عليه وقت إيداعها، فإن تأثير الخسارة يُخفَّف. بالإضافة إلى ذلك، بما أن مزودي السيولة يكسبون عمولات، فقد يتم تعويض الخسارة بمرور الوقت. ومع ذلك، يجب أن يكون مزودو السيولة على دراية بذلك قبل تقديم أموالهم إلى احتياطي.


كيف يجنِي Uniswap المال؟

إنه لا يفعل ذلك. Uniswap هو بروتوكول لامركزي مدعوم من Paradigm (صندوق تحوط متخصص في مجال العملات المشفرة). جميع العمولات تُوجَّه إلى مزودي السيولة، ولا يحصل أي من المؤسسين على شيء من العمليات التي تتم عبر البروتوكول.

حاليًا، تبلغ عمولة المعاملات المدفوعة لمزودي السيولة 0,3% لكل صفقة (trade). بشكل افتراضي، تُضاف هذه العمولة إلى احتياطي السيولة، لكن يمكن لمزودي السيولة استبدالها في أي وقت. يتم توزيع العمولات وفقًا لحصة كل مزود سيولة في الـ pool.

يمكن تخصيص جزء من العمولات لتطوير Uniswap في المستقبل. لقد طبّق فريق Uniswap بالفعل نسخة محسّنة من البروتوكول تسمى Uniswap v2.


➟ هل تفكر في بدء رحلتك في عالم العملات الرقمية؟! اشترِ Bitcoin من Binance!


كيفية استخدام Uniswap

Uniswap هو بروتوكول مفتوح المصدر، ما يعني أنه يمكن لأي شخص إنشاء تطبيق واجهة أمامية (frontend) خاص به. لكن الأكثر استخدامًا هو https://app.uniswap.org أو https://uniswap.exchange.

  1. اذهب إلى واجهة Uniswap.

  2. قم بتوصيل محفظتك. يمكنك استخدام MetaMask أو Trust Wallet أو أي محفظة أخرى متوافقة مع Ethereum.

  3. اختر التوكن الذي تريد استبداله.

  4. اختر التوكن الذي تريد الاستبدال إليه.

  5. انقر على Swap (مبادلة).

  6. اعرض معاملة المعاينة في النافذة المنبثقة.

  7. أكّد طلب المعاملة في محفظتك.

  8. انتظر حتى يتم تأكيد المعاملة على بلوكتشين Ethereum. يمكنك متابعة حالتها على https://etherscan.io/.


توكن Uniswap (UNI)

UNI هو التوكن الأصلي (native) لبروتوكول Uniswap، ويمنح حامليه حقوق الحوكمة. وهذا ببساطة يعني أن «حاملي» UNI يمكنهم تحديد التغييرات التي ستُطبَّق على البروتوكول من خلال التصويت. لقد تحدثنا سابقًا عن حقيقة أن البروتوكول يعمل كنوع من السلع العامة. يقوم توكن UNI بتجميع هذه الفكرة.

تم سك 1000 مليون توكن UNI في مرحلة التكوين (genesis). سيتم توزيع 60% منها على أعضاء مجتمع Uniswap الحاليين، بينما سيتم طرح الـ 40% المتبقية لإتاحة أعضاء فريق العمل والمستثمرين والمستشارين، على مدار 4 سنوات.

سيتم تنفيذ جزء من التوزيع للمجتمع عبر «liquidity mining». وهذا يعني توزيع UNI على من يوفّرون السيولة في الاحتياطيات التالية في Uniswap:

  • ETH/USDT

  • ETH/USDC

  • ETH/DAI

  • ETH/WBTC

لكن، من هم أعضاء مجتمع Uniswap؟ أي عنوان على Ethereum تفاعل مع عقود Uniswap. لنرَ كيف يمكنك استرداد/مطالبة توكنات UNI الخاصة بك.


كيفية المطالبة بتوكنات Uniswap (UNI)

إذا كنت قد استخدمت Uniswap، فمن المحتمل أن تتمكن من المطالبة بـ 400 توكن UNI لكل عنوان استخدمت فيه البروتوكول. للمطالبة بتوكناتك:

  1. انتقل إلى https://app.uniswap.org/.

  2. قم بتوصيل المحفظة التي استخدمتها سابقًا مع Uniswap.

  3. انقر على «Claim your UNI tokens» (مطالبة توكنات UNI الخاصة بك).

cómo-reclamar-tokens-uni-de-uniswap

  1. أكّد المعاملة في محفظتك (يمكنك الاطلاع على السعر الحالي للغاز في Gas Tracker الخاص بـ Ethscan).

  2. تهانينا! أنت الآن «حامل» (holder) لـ UNI!

هل تريد التداول باستخدام توكنات UNI الخاصة بك؟ تسهّل Binance عليك ذلك.


➟ انقر هنا لبدء التداول على توكنات UNI في Binance!


كيفية شراء UNI في Binance

لشراء UNI، سيتعين عليك إجراء مبادلة (swap) باستخدام عملة ورقية (fiat) أو عملات مشفرة عبر واجهة exchange في Binance. لا يمكن استخدام بطاقة خصم/ائتمان لشراء UNI مباشرة. فيما يلي الأزواج المتاحة، مما يتيح لك الاختيار بين BNB أو BTC أو BUSD أو USDT أو EUR.


إذا كنت ترغب في الحصول على UNI عبر العملات المشفرة، فيمكنك تحويل التوكنات إلى محفظتك الفورية (spot wallet)، أو شراء كمية محددة منها. يُعد BUSD خيارًا موصى به نظرًا لاستقرار سعره. يمكنك شراء BUSD باستخدام بطاقتك عبر صفحة [شراء العملات المشفرة]. أدخل كمية ما تريد شراؤه ثم انقر على [متابعة] لإكمال تفاصيل بطاقتك.


بمجرد أن تحصل على عملاتك المشفرة، انتقل إلى الـ exchange وحدد زوج UNI الذي تريد التداول به. لنأخذ مثالًا: يمكنك تبديل الأزواج بالنقر على زوج السوق الحالي الموجود في أعلى اليسار.


في شريط البحث اكتب الزوج الذي اخترته. في مثالنا، نحتاج UNI/BUSD.


الآن يمكنك إنشاء أمر لشراء UNI. أسرع طريقة هي من خلال أمر السوق الذي يوفر لك السعر الفوري الحالي. يمكنك أيضًا وضع أمر محدد (limit) أو stop-limit إذا كنت تريد الشراء بسعر محدد أو أفضل.

لإنشاء أمر السوق، انتقل إلى الجزء الأيمن من شاشة الـ exchange وانقر على [Spot]. تأكد من تحديد [Mercado] (السوق) كنوع أمر تحت تبويب [Comprar] (شراء)، واكتب كمية BUSD التي ترغب في شرائها. أخيرًا، انقر على [Comprar UNI] لوضع طلبك.


كيفية بيع UNI في Binance

يُعد بيع UNI عملية مشابهة لعملية الشراء. أولًا، تأكد أن UNI موجود ضمن محفظة Spot الخاصة بك في Binance. إذا لم تقم بإيداع توكناتك، انتقل إلى صفحة [Fiat y Spot] وابحث عن UNI. انقر على [Depositar] للحصول على تعليمات مفصلة حول كيفية تحويل UNI الخاص بك. يمكنك أيضًا قراءة دليلنا حول كيفية الإيداع في Binance إذا كنت بحاجة إلى مزيد من المساعدة.


بعد أن تقوم بإيداع UNI الخاص بك بنجاح، افتح واجهة الـ exchange وحدد زوج UNI الذي تريد التداول به. لنرَ مثالًا: زوج UNI/BTC.


استخدم شريط البحث للعثور على الزوج الذي تريد. في هذه الحالة، انقر على [UNI/BTC].


لبيع UNI بسعر السوق الحالي، انتقل إلى الجزء الأيمن من الشاشة. انقر على [Spot] واختر [Mercado] (السوق) كنوع أمر أسفل تبويب [Vender] (بيع). أدخل كمية UNI التي تريد بيعها ثم انقر على [Vender UNI].


الخلاصة

Uniswap هو بروتوكول تبادل مبتكر تم إنشاؤه على Ethereum. يسمح لأي شخص لديه محفظة Ethereum بتبادل التوكنات دون تدخل أي طرف مركزي.

على الرغم من أنه يعرض بعض القيود، يمكن أن تكون لهذه التقنية بعض التأثيرات المثيرة للاهتمام في المستقبل للتبادل بشكل «بدون ثقة» (دون الحاجة للثقة في أطراف ثالثة). وبمجرد تفعيل حلول قابلية التوسع في Ethereum 2.0 على الشبكة، فمن المحتمل أن يستفيد Uniswap أيضًا منها.