Difference between revisions of "MOOC:Auto-eval Act12-exercice"
From Livre IPv6
(→Act12 : Exercice) |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[MOOC:Accueil|MOOC]] >[[MOOC:Contenu|Contenu]]>[[MOOC:Quizz|Quizzs]]>Auto-eval Act12-exercice | ||
+ | ---- | ||
+ | __NOTOC__ | ||
+ | = Session 5.1 = | ||
+ | <pre> | ||
+ | <problem> | ||
+ | <script type="loncapa/python"> | ||
+ | import socket | ||
+ | |||
+ | def test_address(expect, answer): | ||
+ | ans = answer.strip() | ||
+ | try: | ||
+ | a = socket.inet_pton(socket.AF_INET6, expect) | ||
+ | b = socket.inet_pton(socket.AF_INET6, ans) | ||
+ | return a == b | ||
+ | except socket.error: | ||
+ | return False | ||
+ | |||
+ | </script> | ||
+ | <p> L'administrateur d'un réseau s'est vu attribué le préfixe <tt>2001:db8:1:a000::/60</tt> pour adresser les machines de son réseau.</p> | ||
+ | <p><b>Note:</b><br/> | ||
+ | Pour la saisie dans les champs réponses ci dessous : Il vous est demandé dans les questions suivantes de donner les adresses <b>sans</b> la longueur de préfixe (<b>sans le '/64'</b> par exemple)<br/> | ||
+ | <tt>2001:db8:1:a000::</tt> <b> saisie Valide</b><br/> | ||
+ | <tt>2001:db8:1:a000::/60</tt> <b>saisie Invalide</b> | ||
+ | </p> | ||
+ | <p>A12E01 : Donnez la première adresse valide dans ce préfixe :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="A12E01"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>A12E02 : Donnez la dernière adresse valide dans ce préfixe :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a00f:ffff:ffff:ffff:ffff"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>A12E03 : Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>A12E04 : Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a00f:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="A12E04"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Explication</p> | ||
+ | <p>Les 60 bits définis dans le préfixe s'arrêtent après le deuxième 0 du mot <tt>a000</tt>. Les bits suivants sont libres. En IPv6, il n'y a pas d'adresses réservées dans un sous-réseau. La première adresse disponible est donc celle avec l'ensemble des derniers 68 bits (128 - 60) à 0 ; la dernière, avec ces 68 bits à 1.</p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | <p>A12E05 : Parmi les adresses suivantes, quelles sont celles qui appartiennent au réseau <b><tt>2001:db8:1:a000::/60</tt></b> ? (2 réponses valides)</p> | ||
+ | <choiceresponse> | ||
+ | <checkboxgroup direction="vertical"> | ||
+ | <choice correct="true"> | ||
+ | a) <tt>2001:db8:1:a004:12ad:5125:ffa3:45e3</tt> | ||
+ | </choice> | ||
+ | <choice correct="true"> | ||
+ | b) <tt>2001:db8:0001:a000:0000::</tt> | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | c) <tt>2001:db8:1:a010:504b:d70c:f78e:8b46</tt> | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | d) <tt>2001:db8:1:a08:1:fe74:060d:3495</tt> | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | e) <tt>2001:db8:1:a00e:1d8d:m00c:bc0:ed54</tt> | ||
+ | </choice> | ||
+ | </checkboxgroup> | ||
+ | </choiceresponse> | ||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Explanation</p> | ||
+ | <p>L'adresse c) n'appartient pas au réseau car le 59e bit est différent. De même, l'adresse d) appartient au préfixe <tt>2001:db8:1:a00::/60</tt> qui est différent. L'adresse e) est invalide.</p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | </problem> | ||
+ | </pre> | ||
+ | |||
+ | = Session 5.0 = | ||
+ | == Découverte == | ||
+ | <pre> | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | == Approfondissement == | ||
+ | <pre> | ||
+ | <problem> | ||
+ | <p>A12Ex01</p> | ||
+ | <script type="loncapa/python"> | ||
+ | import socket | ||
+ | |||
+ | def test_address(expect, ans): | ||
+ | try: | ||
+ | a = socket.inet_pton(socket.AF_INET6, expect) | ||
+ | b = socket.inet_pton(socket.AF_INET6, ans) | ||
+ | return a == b | ||
+ | except socket.error: | ||
+ | return False | ||
+ | |||
+ | </script> | ||
+ | <p> L'administrateur d'un réseau s'est vu attribué le préfixe <tt>2001:db8:1:a000::/60</tt> pour adresser les machines de son réseau.</p> | ||
+ | <p>Donnez la première adresse valide dans ce préfixe :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>Donnez la dernière adresse valide dans ce préfixe :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a00f:ffff:ffff:ffff:ffff"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a00f:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Explication</p> | ||
+ | <p>Les 60 bits définis dans le préfixe s'arrêtent après le deuxième 0 du mot <tt>a000</tt>. Les bits suivants sont libres. En IPv6, il n'y a pas d'adresses réservées dans un sous-réseau. La première adresse disponible est donc celle avec l'ensemble des derniers 68 bits (128 - 60) à 0 ; la dernière, avec ces 68 bits à 1.</p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | <p>A12Ex02</p> | ||
+ | <p>Les stations configurées avec les adresses suivantes appartiennent-elles à ce réseau ? (2 réponses valides)</p> | ||
+ | <choiceresponse> | ||
+ | <checkboxgroup direction="vertical"> | ||
+ | <choice correct="true"> | ||
+ | a) 2001:db8:1:a004:12ad:5125:ffa3:45e3 | ||
+ | </choice> | ||
+ | <choice correct="true"> | ||
+ | b) 2001:db8:0001:a000:0000:: | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | c) 2001:db8:1:a010:504b:d70c:f78e:8b46 | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | d) 2001:db8:1:a08:1:fe74:060d:3495 | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | e) 2001:db8:1:a00e:1d8d:m00c:bc0:ed54 | ||
+ | </choice> | ||
+ | </checkboxgroup> | ||
+ | </choiceresponse> | ||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Explanation</p> | ||
+ | <p>L'adresse c) n'appartient pas au réseau car le 59e bit est différent. De même, l'adresse d) appartient au préfixe <tt>2001:db8:1:a00::/60</tt> qui est différent. L'adresse e) est invalide.</p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | </problem> | ||
+ | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | = Session 3 = | ||
+ | |||
+ | <pre> | ||
+ | <problem> | ||
+ | <p>A12Ex01</p> | ||
+ | <script type="loncapa/python"> | ||
+ | import socket | ||
+ | |||
+ | def test_address(expect, ans): | ||
+ | try: | ||
+ | a = socket.inet_pton(socket.AF_INET6, expect) | ||
+ | b = socket.inet_pton(socket.AF_INET6, ans) | ||
+ | return a == b | ||
+ | except socket.error: | ||
+ | return False | ||
+ | |||
+ | </script> | ||
+ | <p> L'administrateur d'un réseau s'est vu attribué le préfixe <tt>2001:db8:1:a000::/60</tt> pour adresser les machines de son réseau.</p> | ||
+ | <p>Donnez la première adresse valide dans ce préfixe :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>Donnez la dernière adresse valide dans ce préfixe :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a00f:ffff:ffff:ffff:ffff"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <p>Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> | ||
+ | <customresponse cfn="test_address" expect="2001:db8:1:a00f:0000:0000:0000:0000"> | ||
+ | <textline size="40" correct_answer="11" label="Integer #1"/> | ||
+ | <br/> | ||
+ | </customresponse> | ||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Explication</p> | ||
+ | <p>Les 60 bits définis dans le préfixe s'arrêtent après le deuxième 0 du mot <tt>a000</tt>. Les bits suivants sont libres. En IPv6, il n'y a pas d'adresses réservées dans un sous-réseau. La première adresse disponible est donc celle avec l'ensemble des derniers 68 bits (128 - 60) à 0 ; la dernière, avec ces 68 bits à 1.</p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | <p>A12Ex02</p> | ||
+ | <p>Les stations configurées avec les adresses suivantes appartiennent-elles à ce réseau ? (2 réponses valides)</p> | ||
+ | <choiceresponse> | ||
+ | <checkboxgroup direction="vertical"> | ||
+ | <choice correct="true"> | ||
+ | a) 2001:db8:1:a004:12ad:5125:ffa3:45e3 | ||
+ | </choice> | ||
+ | <choice correct="true"> | ||
+ | b) 2001:db8:0001:a000:0000:: | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | c) 2001:db8:1:a010:504b:d70c:f78e:8b46 | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | d) 2001:db8:1:a08:1:fe74:060d:3495 | ||
+ | </choice> | ||
+ | <choice correct="false"> | ||
+ | e) 2001:db8:1:a00e:1d8d:m00c:bc0:ed54 | ||
+ | </choice> | ||
+ | </checkboxgroup> | ||
+ | </choiceresponse> | ||
+ | <solution> | ||
+ | <div class="detailed-solution"> | ||
+ | <p>Explanation</p> | ||
+ | <p>L'adresse c) n'appartient pas au réseau car le 59e bit est différent. De même, l'adresse d) appartient au préfixe <tt>2001:db8:1:a00::/60</tt> qui est différent. L'adresse e) est invalide.</p> | ||
+ | </div> | ||
+ | </solution> | ||
+ | </problem> | ||
+ | </pre> | ||
+ | |||
+ | = Session 2 = | ||
=== Act12 : Exercice === | === Act12 : Exercice === | ||
Latest revision as of 14:11, 10 May 2019
MOOC >Contenu>Quizzs>Auto-eval Act12-exercice
Session 5.1
<problem> <script type="loncapa/python"> import socket def test_address(expect, answer): ans = answer.strip() try: a = socket.inet_pton(socket.AF_INET6, expect) b = socket.inet_pton(socket.AF_INET6, ans) return a == b except socket.error: return False </script> <p> L'administrateur d'un réseau s'est vu attribué le préfixe <tt>2001:db8:1:a000::/60</tt> pour adresser les machines de son réseau.</p> <p><b>Note:</b><br/> Pour la saisie dans les champs réponses ci dessous : Il vous est demandé dans les questions suivantes de donner les adresses <b>sans</b> la longueur de préfixe (<b>sans le '/64'</b> par exemple)<br/> <tt>2001:db8:1:a000::</tt> <b> saisie Valide</b><br/> <tt>2001:db8:1:a000::/60</tt> <b>saisie Invalide</b> </p> <p>A12E01 : Donnez la première adresse valide dans ce préfixe :</p> <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="A12E01"/> <br/> </customresponse> <p>A12E02 : Donnez la dernière adresse valide dans ce préfixe :</p> <customresponse cfn="test_address" expect="2001:db8:1:a00f:ffff:ffff:ffff:ffff"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>A12E03 : Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>A12E04 : Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> <customresponse cfn="test_address" expect="2001:db8:1:a00f:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="A12E04"/> <br/> </customresponse> <solution> <div class="detailed-solution"> <p>Explication</p> <p>Les 60 bits définis dans le préfixe s'arrêtent après le deuxième 0 du mot <tt>a000</tt>. Les bits suivants sont libres. En IPv6, il n'y a pas d'adresses réservées dans un sous-réseau. La première adresse disponible est donc celle avec l'ensemble des derniers 68 bits (128 - 60) à 0 ; la dernière, avec ces 68 bits à 1.</p> </div> </solution> <p>A12E05 : Parmi les adresses suivantes, quelles sont celles qui appartiennent au réseau <b><tt>2001:db8:1:a000::/60</tt></b> ? (2 réponses valides)</p> <choiceresponse> <checkboxgroup direction="vertical"> <choice correct="true"> a) <tt>2001:db8:1:a004:12ad:5125:ffa3:45e3</tt> </choice> <choice correct="true"> b) <tt>2001:db8:0001:a000:0000::</tt> </choice> <choice correct="false"> c) <tt>2001:db8:1:a010:504b:d70c:f78e:8b46</tt> </choice> <choice correct="false"> d) <tt>2001:db8:1:a08:1:fe74:060d:3495</tt> </choice> <choice correct="false"> e) <tt>2001:db8:1:a00e:1d8d:m00c:bc0:ed54</tt> </choice> </checkboxgroup> </choiceresponse> <solution> <div class="detailed-solution"> <p>Explanation</p> <p>L'adresse c) n'appartient pas au réseau car le 59e bit est différent. De même, l'adresse d) appartient au préfixe <tt>2001:db8:1:a00::/60</tt> qui est différent. L'adresse e) est invalide.</p> </div> </solution> </problem>
Session 5.0
Découverte
Approfondissement
<problem> <p>A12Ex01</p> <script type="loncapa/python"> import socket def test_address(expect, ans): try: a = socket.inet_pton(socket.AF_INET6, expect) b = socket.inet_pton(socket.AF_INET6, ans) return a == b except socket.error: return False </script> <p> L'administrateur d'un réseau s'est vu attribué le préfixe <tt>2001:db8:1:a000::/60</tt> pour adresser les machines de son réseau.</p> <p>Donnez la première adresse valide dans ce préfixe :</p> <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>Donnez la dernière adresse valide dans ce préfixe :</p> <customresponse cfn="test_address" expect="2001:db8:1:a00f:ffff:ffff:ffff:ffff"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> <customresponse cfn="test_address" expect="2001:db8:1:a00f:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <solution> <div class="detailed-solution"> <p>Explication</p> <p>Les 60 bits définis dans le préfixe s'arrêtent après le deuxième 0 du mot <tt>a000</tt>. Les bits suivants sont libres. En IPv6, il n'y a pas d'adresses réservées dans un sous-réseau. La première adresse disponible est donc celle avec l'ensemble des derniers 68 bits (128 - 60) à 0 ; la dernière, avec ces 68 bits à 1.</p> </div> </solution> <p>A12Ex02</p> <p>Les stations configurées avec les adresses suivantes appartiennent-elles à ce réseau ? (2 réponses valides)</p> <choiceresponse> <checkboxgroup direction="vertical"> <choice correct="true"> a) 2001:db8:1:a004:12ad:5125:ffa3:45e3 </choice> <choice correct="true"> b) 2001:db8:0001:a000:0000:: </choice> <choice correct="false"> c) 2001:db8:1:a010:504b:d70c:f78e:8b46 </choice> <choice correct="false"> d) 2001:db8:1:a08:1:fe74:060d:3495 </choice> <choice correct="false"> e) 2001:db8:1:a00e:1d8d:m00c:bc0:ed54 </choice> </checkboxgroup> </choiceresponse> <solution> <div class="detailed-solution"> <p>Explanation</p> <p>L'adresse c) n'appartient pas au réseau car le 59e bit est différent. De même, l'adresse d) appartient au préfixe <tt>2001:db8:1:a00::/60</tt> qui est différent. L'adresse e) est invalide.</p> </div> </solution> </problem>
Session 3
<problem> <p>A12Ex01</p> <script type="loncapa/python"> import socket def test_address(expect, ans): try: a = socket.inet_pton(socket.AF_INET6, expect) b = socket.inet_pton(socket.AF_INET6, ans) return a == b except socket.error: return False </script> <p> L'administrateur d'un réseau s'est vu attribué le préfixe <tt>2001:db8:1:a000::/60</tt> pour adresser les machines de son réseau.</p> <p>Donnez la première adresse valide dans ce préfixe :</p> <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>Donnez la dernière adresse valide dans ce préfixe :</p> <customresponse cfn="test_address" expect="2001:db8:1:a00f:ffff:ffff:ffff:ffff"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> <customresponse cfn="test_address" expect="2001:db8:1:a000:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <p>Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :</p> <customresponse cfn="test_address" expect="2001:db8:1:a00f:0000:0000:0000:0000"> <textline size="40" correct_answer="11" label="Integer #1"/> <br/> </customresponse> <solution> <div class="detailed-solution"> <p>Explication</p> <p>Les 60 bits définis dans le préfixe s'arrêtent après le deuxième 0 du mot <tt>a000</tt>. Les bits suivants sont libres. En IPv6, il n'y a pas d'adresses réservées dans un sous-réseau. La première adresse disponible est donc celle avec l'ensemble des derniers 68 bits (128 - 60) à 0 ; la dernière, avec ces 68 bits à 1.</p> </div> </solution> <p>A12Ex02</p> <p>Les stations configurées avec les adresses suivantes appartiennent-elles à ce réseau ? (2 réponses valides)</p> <choiceresponse> <checkboxgroup direction="vertical"> <choice correct="true"> a) 2001:db8:1:a004:12ad:5125:ffa3:45e3 </choice> <choice correct="true"> b) 2001:db8:0001:a000:0000:: </choice> <choice correct="false"> c) 2001:db8:1:a010:504b:d70c:f78e:8b46 </choice> <choice correct="false"> d) 2001:db8:1:a08:1:fe74:060d:3495 </choice> <choice correct="false"> e) 2001:db8:1:a00e:1d8d:m00c:bc0:ed54 </choice> </checkboxgroup> </choiceresponse> <solution> <div class="detailed-solution"> <p>Explanation</p> <p>L'adresse c) n'appartient pas au réseau car le 59e bit est différent. De même, l'adresse d) appartient au préfixe <tt>2001:db8:1:a00::/60</tt> qui est différent. L'adresse e) est invalide.</p> </div> </solution> </problem>
Session 2
Act12 : Exercice
L'administrateur d'un réseau s'est vu attribué le préfixe 2001:db8:1:a000::/60 pour adresser les machines de son réseau.
Donnez la première adresse valide dans ce préfixe :
Donnez la dernière adresse valide dans ce préfixe :
Donnez le premier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :
Donnez le dernier préfixe de largeur 64 bits pouvant être défini à partir de ce préfixe (sans la notation /64) :