Index: phpdoc/fr/functions/mssql.xml
diff -u phpdoc/fr/functions/mssql.xml:1.1 phpdoc/fr/functions/mssql.xml:1.2
--- phpdoc/fr/functions/mssql.xml:1.1 Fri Jul 21 03:27:50 2000
+++ phpdoc/fr/functions/mssql.xml Mon Nov 13 02:27:18 2000
@@ -1,615 +1,688 @@
-
- Fonctions Microsoft SQL Server
- MS SQL Serveur
-
-
-
- mssql_close
- Ferme une connexion MS SQL Server.
-
-
- Description
-
- int mssql_close
- int
- link_identifier
-
-
-
- Retourne TRUE en cas de succès, ou FALSE sinon.
-
-
- Mssql_close ferme la connexion à la base MS SQL
- Server, qui était associé à l'identifiant
- link_identifier. Si ce dernier n'est
- pas précisé, la dernière connexion ouverte sera fermée.
-
-
- Notez qu'il n'est pas nécessaire de fermer les connexions non persistantes aux
- bases de données, car elles seront fermées automatiquement à la fin du script.
-
-
- Mssql_close ne peut pas fermer les liens persistants,
- générés par mssql_pconnect.
-
-
- Voir aussi : mssql_connect et
- mssql_pconnect.
-
-
-
-
-
-
- mssql_connect
- Ouvre une connexion à un serveur MS SQL server.
-
-
- Description
-
- int mssql_connect
- string
- servername
-
- string
- username
-
- string
- password
-
-
-
- Retourne un identifiant positif de lien en cas de succès, et FALSE sinon.
-
-
- Mssql_connect établit une connexion à un serveur MS SQL
- server. Le nom du serveur servername
- doit être valide, comme défini dans les fichiers d''interface'.
-
-
- Si un deuxième appel est fait à mssql_connect avec les mêmes
- arguments, un nouveau lien ne sera pas retourné, mais le lien déjà ouvert sera
- retourné.
-
-
- Le lien avec le serveur sera fermé dès la fin du script, ce qui fait qu'on n'est
- pas obligé de fermer explicitement la connexion à la fin du script avec
- mssql_close.
-
-
- Voir aussi mssql_pconnect,
- mssql_close.
-
-
-
-
-
-
- mssql_data_seek
- Déplace le pointeur interne de ligne.
-
-
- Description
-
- int mssql_data_seek
- int result_identifier
- int row_number
-
-
- Retourne TRUE en cas de succès, FALSE en cas d'échec.
-
-
- Mssql_data_seek déplace le pointeur interne de ligne,
- dans le résultat result_identifier, jusqu'à la ligne
- row_number. Le prochain appel à
- mssql_fetch_row retournera cette ligne.
-
-
- Voir aussi : mssql_data_seek.
-
-
-
-
-
-
- mssql_fetch_array
- Lit une ligne dans un tableau.
-
-
- Description
-
- int mssql_fetch_array
- int result
-
-
- Retourne un tableau qui contient les valeurs de la ligne lues, en cas de succès,
- et FALSE en cas d'échec.
-
-
- Mssql_fetch_array est une version améliorée de
- mssql_fetch_row. En plus de stocker les données dans un
- tableau à index numérique, elle les stocke aussi dans un tableau associatif, en
- utilisant les noms de colonnes comme clé.
-
-
- Une chose importante à noter est que mssql_fetch_array n'est
- PAS significativement plus lente que mssql_fetch_row, tandis
- qu'elle apporte un confort apréciable.
-
-
- Pour plus de détails, voyez mssql_fetch_row.
-
-
-
-
-
-
- mssql_fetch_field
- Lit les inforamtions sur le champs.
-
-
- Description
-
- object mssql_fetch_field
- int result
- int
- field_offset
-
-
-
- Retourne un objet contenant les informations sur un champs.
-
-
- Mssql_fetch_field sert à lire des informations spécifiques
- à un champs, dans un résultat de requête. Si l'offset du champs
- field_offset n'est pas précisé,
- le prochain champs sera analysé.
-
-
- Les propriétés de l'objet sont :
-
-
-
-
- name - nom de la colonne. Si la colonne est le résultat d'une fonction, le nom
- de la colonne sera computed#N, oú #N est un numéro de série.
-
-
-
-
- column_source - le nom de la table d'oú la colonne est originaire.
-
-
-
-
- max_length - taille maximale de la colonne
-
-
-
-
- numeric - 1 si la colonne est numérique
-
-
-
- Voir aussi mssql_field_seek.
-
-
-
-
-
-
- mssql_fetch_object
- Retourne une ligne sous la forme d'un objet.
-
-
- Description
-
- int mssql_fetch_object
- int result
-
-
- Retourne un objet dont les propriétés contiennent les valeurs de la ligne, ou
- FALSE si il n'y a plus de ligne.
-
-
- Mssql_fetch_object est similaire à
- mssql_fetch_array, avec un différence : un objet est
- retourné, au lieu d'un tableau. Indirectement, cela signifie que vous ne pouvez
- accéder aux données que par leur nom de champs, et pas par leur offset (les
- nombres sont illégaux comme nom de propriété).
-
-
- En terme de vitesse, cette fonction est identique à
- mssql_fetch_array, quasiment aussi rapide que
- mssql_fetch_row (la différence est non significative).
-
-
- Voir aussi : mssql_fetch_array et
- mssql_fetch_row.
-
-
-
-
-
-
- mssql_fetch_row
- Lit une ligne comme un tableau.
-
-
- Description
-
- array mssql_fetch_row
- int result
-
-
- Retourne un tableau qui contient les valeurs de la ligne à lire, ou bien FALSE si
- il n'y a plus de lignes à lire.
-
-
- Mssql_fetch_row lit une ligne dans le résultat
- result et place les valeurs dans un tableau. Chaque
- valeur est enregistré dans un élément du tableau, et les indices commencent à 0.
-
-
- Les appels suivants à mssql_fetch_row retourneront la ligne
- suivante, ou bien FALSE s'il ne reste plus de lignes.
-
-
- Voir aussi : mssql_fetch_array, mssql_fetch_object,
- mssql_data_seek et mssql_result.
-
-
-
-
-
-
- mssql_field_length
- Lit la longueur d'un champs.
-
-
- Description
-
- int mssql_field_length
- int result
- int
- offset
-
-
-
-
-
-
-
- mssql_field_name
- Lit le nom d'un champs.
-
-
- Description
-
- int mssql_field_name
- int result
- int
- offset
-
-
-
-
-
-
-
- mssql_field_seek
- Fixe l'offset du pointeur de champs.
-
-
- Description
-
- int mssql_field_seek
- int result
- int field_offset
-
-
- Modifie la valeur du pointeur de champs. le prochain appel à
- mssql_fetch_field qui ne précisera pas de numéro de champs,
- le champs fixé par mssql_field_seek sera retournée.
-
-
- Voir aussi : mssql_fetch_field.
-
-
-
-
-
-
- mssql_field_type
- Lit le nom d'un champs.
-
-
- Description
-
- string mssql_field_type
- int result
- int
- offset
-
-
-
-
-
-
-
- mssql_free_result
- Libère la mémoire.
-
-
- Description
-
- int mssql_free_result
- int result
-
-
- mssql_free_result n'a besoin d'être appelé que si on craint
- d'utiliser trop de mémoire durant une opération. Toutes les ressources liées à un
- résultat seront libérés par mssql_free_result.
-
-
-
-
-
-
- mssql_get_last_message
-
- Retourne le dernier message d'erreur du serveur ( min_message_severity?).
-
-
-
- Description
-
- string
- mssql_get_last_message
-
- void
-
-
-
-
-
-
- mssql_min_error_severity
- Fixe le niveau de sévérité des erreurs.
-
-
- Description
-
- void
- mssql_min_error_severity
-
- int severity
-
-
-
-
-
-
- mssql_min_message_severity
- Fixe le niveau de sévérité des messages d'erreurs.
-
-
- Description
-
- void
- mssql_min_message_severity
-
- int severity
-
-
-
-
-
-
- mssql_num_fields
- Retourne le nombre de champs dans un résultat.
-
-
- Description
-
- int mssql_num_fields
- int result
-
-
- Mssql_num_fields retourne le nombre de champs dans un
- résultat.
-
-
- Voir aussi : mssql_query, mssql_fetch_field
- et mssql_num_rows.
-
-
-
-
-
-
- mssql_num_rows
- Retourne le nombre de lignes dans un résultat.
-
-
- Description
-
- int mssql_num_rows
- string result
-
-
- Mssql_num_rows retourne le nombre de lignes dans un
- résultat.
-
-
- Voir aussi : mssql_query et mssql_fetch_row.
-
-
-
-
-
-
- mssql_pconnect
- Ouvre une connexion persistante à un serveur MS SQL.
-
-
- Description
-
- int mssql_pconnect
- string
- servername
-
- string
- username
-
- string
-
-
-
-
- Retourne un identifiant positif de lien MS SQL en cas de succès, et FALSE
- en cas d'erreur.
-
-
- Mssql_pconnect se comporte comme
- mssql_connect mais avec deux différences :
-
-
- Premièrement, lors de la connexion, la fonction va commencer par rechercher un
- lien persistant déjà ouvert avec le même hôte, le même nom d'utilisateur,
- username et le même mot de passe
- password. Si un tel lien est trouvé,
- cet identifiant sera retourné, au lieux d'en ouvrir une autre connexion.
-
-
- Deuxièmement, la connexion au serveur SQL ne sera pas fermée à la fin du script,
- mais restera ouverte, pour d'autres utilisations ultérieures
- (mssql_close ne fermera pas un lien établi avec
- mssql_pconnect).
-
-
- C'est pourquoi ce type de lien est dit 'persistant'.
-
-
-
-
-
-
- mssql_query
- Envoie une requête SQL.
-
-
- Description
-
- int mssql_query
- string query
- int
- link_identifier
-
-
-
- Retourne un identifiant positif de résultat en cas de succès, ou FALSE sinon.
-
-
- Mssql_query envoie la requête au serveur courant, associé à
- l'identifiant link_identifier (ou la
- base par défaut, si il est omis). Si aucun lien n'est ouvert,
- mssql_query essaiera d'en ouvrir une, en appelant
- mssql_connect.
-
-
- Voir aussi : mssql_select_db et mssql_connect.
-
-
-
-
-
-
- mssql_result
- Get result data.
-
-
- Description
-
- int mssql_result
- int result
- int i
- mixed field
-
-
- Retourne la valeur de la colonne, à la ligne donnée, dans le résultat MS SQL,
- ou FALSE en cas d'erreur.
-
-
- Mssql_result retourne le contenu d'une des cellules d'un
- résultat MS SQL. Le nom du champs peut être son nom litéral ou son offet, ou
- encore, le nom de la table + "." + le nom du champs, ou encore la même chose
- avec le nom de la base de données. Si la colonne a été aliasée, utilisez le nom
- de l'alias plutôt que celui de la colonne.
-
-
- Lorsque vous travaillez sur des résultats de grande taille, il vaut mieux
- utiliser les fonctions qui récupèrent toute une ligne (voir ci après). Comme ces
- fonctions lisent toutes les valeurs en une passe, elles sont EXTREMEMENT PLUS
- RAPIDES que mssql_result. De plus, pensez que l'utilisation
- de l'offset numérique est beaucoup plus rapide que l'utilisation du nom de la
- colonne.
-
-
- Alternatives recommandées : mssql_fetch_row,
- mssql_fetch_array et mssql_fetch_object.
-
-
-
-
-
-
- mssql_select_db
- Selectionne la base de données MS SQL.
-
-
- Description
-
- int mssql_select_db
- string database_name
- int
- link_identifier
-
-
-
- Retourne TRUE en cas de succès, et FALSE en cas d'erreur.
-
-
- Mssql_select_db sélectionne la base de données active.
- Si aucun identifiant de connexion n'est fourni, la fonction utilisera la
- dernière connexion ouverte. Si aucune connexion n'a été ouverte, la fonction
- essaiera d'en ouvrir une avec mssql_connect, et de
- l'utiliser.
-
-
- Tous les appels à mssql_query seront fait dans cette base.
-
- Voir aussi : mssql_connect, mssql_pconnect
- et mssql_query.
-
-
-
-
-
-
-
+
+ Fonctions Microsoft SQL Server
+ MS SQL Serveur
+
+
+
+ mssql_close
+ Ferme une connexion MS SQL Server.
+
+
+ Description
+
+
+ int mssql_close
+ int
+ link_identifier
+
+
+
+
+ Retourne TRUE en cas de succès, ou FALSE sinon.
+
+
+ Mssql_close ferme la connexion à
+ la base MS SQL Server, qui était associé à
+ l'identifiant link_identifier.
+ Si ce dernier n'est pas précisé, la dernière
+ connexion ouverte sera fermée.
+
+
+ Notez qu'il n'est pas nécessaire de fermer les connexions
+ non persistantes aux bases de données, car elles seront
+ fermées automatiquement à la fin du script.
+
+
+ Mssql_close ne peut pas fermer les liens persistants,
+ générés par mssql_pconnect.
+
+
+ Voir aussi : mssql_connect et
+ mssql_pconnect.
+
+
+
+
+
+
+ mssql_connect
+ Ouvre une connexion à un serveur MS SQL server.
+
+
+ Description
+
+
+ int mssql_connect
+ string
+ servername
+
+ string
+ username
+
+ string
+ password
+
+
+
+
+ Retourne un identifiant positif de lien en cas de succès, et
+ FALSE sinon.
+
+
+ Mssql_connect établit une connexion
+ à un serveur MS SQL. Le nom du serveur
+ servername
+ doit être valide, comme défini dans les fichiers d'interface.
+
+
+ Si un deuxième appel est fait à
+ mssql_connect avec les mêmes arguments, un
+ nouveau lien ne sera pas retourné, mais le lien
+ déjà ouvert sera retourné.
+
+
+ Le lien avec le serveur sera fermé dès la fin du script,
+ ce qui fait qu'on n'est pas obligé de fermer explicitement la
+ connexion à la fin du script avec mssql_close.
+
+
+ Voir aussi mssql_pconnect,
+ mssql_close.
+
+
+
+
+
+
+ mssql_data_seek
+ Déplace le pointeur interne de ligne.
+
+
+ Description
+
+
+ int mssql_data_seek
+ int result_identifier
+ int row_number
+
+
+
+ Retourne TRUE en cas de succès, FALSE en cas d'échec.
+
+
+ Mssql_data_seek déplace le pointeur
+ interne de ligne, dans le résultat
+ result_identifier, jusqu'à la ligne
+ row_number. Le prochain appel à
+ mssql_fetch_row retournera cette ligne.
+
+
+ Voir aussi : mssql_data_seek.
+
+
+
+
+
+
+ mssql_fetch_array
+ Lit une ligne dans un tableau.
+
+
+ Description
+
+
+ int mssql_fetch_array
+ int result
+
+
+
+ Retourne un tableau qui contient les valeurs de la ligne lues,
+ en cas de succès, et FALSE en cas d'échec.
+
+
+ Mssql_fetch_array est une version
+ améliorée de mssql_fetch_row.
+ En plus de stocker les données dans un tableau à
+ index numérique, elle les stocke aussi dans un tableau associatif,
+ en utilisant les noms de colonnes comme clé.
+
+
+ Une chose importante à noter est que
+ mssql_fetch_array n'est PAS significativement
+ plus lente que mssql_fetch_row, tandis
+ qu'elle apporte un confort apréciable.
+
+
+ Pour plus de détails, voyez mssql_fetch_row.
+
+
+
+
+
+
+ mssql_fetch_field
+ Lit les inforamtions sur le champs.
+
+
+ Description
+
+
+ object mssql_fetch_field
+ int result
+ int
+ field_offset
+
+
+
+
+ Retourne un objet contenant les informations sur un champs.
+
+
+ Mssql_fetch_field sert à lire des
+ informations spécifiques à un champs, dans un
+ résultat de requête. Si l'offset du champs
+ field_offset
+ n'est pas précisé, le prochain champs sera analysé.
+
+
+ Les propriétés de l'objet sont :
+
+
+
+
+ name - nom de la colonne. Si la colonne est le résultat d'une
+ fonction, le nom de la colonne sera computed#N, oú #N est un
+ numéro de série.
+
+
+
+
+ column_source - le nom de la table d'oú la colonne est originaire.
+
+
+
+
+ max_length - taille maximale de la colonne
+
+
+
+
+ numeric - 1 si la colonne est numérique
+
+
+
+ Voir aussi mssql_field_seek.
+
+
+
+
+
+
+ mssql_fetch_object
+ Retourne une ligne sous la forme d'un objet.
+
+
+ Description
+
+ int mssql_fetch_object
+ int result
+
+
+ Retourne un objet dont les propriétés contiennent
+ les valeurs de la ligne, ou FALSE si il n'y a plus de ligne.
+
+
+ Mssql_fetch_object est similaire à
+ mssql_fetch_array, avec un différence :
+ un objet est retourné, au lieu d'un tableau. Indirectement,
+ cela signifie que vous ne pouvez accéder aux données
+ que par leur nom de champs, et pas par leur offset (les
+ nombres sont illégaux comme nom de propriété).
+
+
+ En terme de vitesse, cette fonction est identique à
+ mssql_fetch_array, quasiment aussi rapide que
+ mssql_fetch_row (la différence est
+ non significative).
+
+
+ Voir aussi : mssql_fetch_array et
+ mssql_fetch_row.
+
+
+
+
+
+
+ mssql_fetch_row
+ Lit une ligne comme un tableau.
+
+
+ Description
+
+ array mssql_fetch_row
+ int result
+
+
+ Retourne un tableau qui contient les valeurs de la ligne à
+ lire, ou bien FALSE si il n'y a plus de lignes à lire.
+
+
+ Mssql_fetch_row lit une ligne dans le résultat
+ result et place les valeurs dans un tableau. Chaque
+ valeur est enregistré dans un élément du tableau,
+ et les indices commencent à 0.
+
+
+ Les appels suivants à mssql_fetch_row
+ retourneront la ligne suivante, ou bien FALSE s'il ne reste plus
+ de lignes.
+
+
+ Voir aussi : mssql_fetch_array, mssql_fetch_object,
+ mssql_data_seek et mssql_result.
+
+
+
+
+
+
+ mssql_field_length
+ Lit la longueur d'un champs.
+
+
+ Description
+
+
+ int mssql_field_length
+ int result
+ int
+ offset
+
+
+
+
+
+
+
+
+ mssql_field_name
+ Lit le nom d'un champs.
+
+
+ Description
+
+
+ int mssql_field_name
+ int result
+ int
+ offset
+
+
+
+
+
+
+
+
+ mssql_field_seek
+ Fixe l'offset du pointeur de champs.
+
+
+ Description
+
+
+ int mssql_field_seek
+ int result
+ int field_offset
+
+
+
+ Modifie la valeur du pointeur de champs. le prochain appel à
+ mssql_fetch_field qui ne précisera
+ pas de numéro de champs, le champs fixé par
+ mssql_field_seek sera retournée.
+
+
+ Voir aussi : mssql_fetch_field.
+
+
+
+
+
+
+ mssql_field_type
+ Lit le nom d'un champs.
+
+
+ Description
+
+
+ string mssql_field_type
+ int result
+ int
+ offset
+
+
+
+
+
+
+
+
+ mssql_free_result
+ Libère la mémoire.
+
+
+ Description
+
+
+ int mssql_free_result
+ int result
+
+
+
+ mssql_free_result n'a besoin d'être
+ appelé que si on craint d'utiliser trop de mémoire
+ durant une opération. Toutes les ressources liées
+ à un résultat seront libérés par
+ mssql_free_result.
+
+
+
+
+
+
+ mssql_get_last_message
+
+ Retourne le dernier message d'erreur du serveur ( min_message_severity?).
+
+
+
+ Description
+
+
+ string
+ mssql_get_last_message
+
+ void
+
+
+
+
+
+
+
+ mssql_min_error_severity
+
+ Fixe le niveau de sévérité des erreurs.
+
+
+
+ Description
+
+
+ void
+ mssql_min_error_severity
+
+ int severity
+
+
+
+
+
+
+
+ mssql_min_message_severity
+
+ Fixe le niveau de sévérité des messages d'erreurs.
+
+
+
+ Description
+
+
+ void
+ mssql_min_message_severity
+
+ int severity
+
+
+
+
+
+
+
+ mssql_num_fields
+ Retourne le nombre de champs dans un résultat.
+
+
+ Description
+
+
+ int mssql_num_fields
+ int result
+
+
+
+ Mssql_num_fields retourne le nombre de champs dans un
+ résultat.
+
+
+ Voir aussi : mssql_query,
+ mssql_fetch_field
+ et mssql_num_rows.
+
+
+
+
+
+
+ mssql_num_rows
+ Retourne le nombre de lignes dans un résultat.
+
+
+ Description
+
+
+ int mssql_num_rows
+ string result
+
+
+
+ Mssql_num_rows retourne le nombre de lignes dans un
+ résultat.
+
+
+ Voir aussi : mssql_query et
+ mssql_fetch_row.
+
+
+
+
+
+
+ mssql_pconnect
+
+ Ouvre une connexion persistante à un serveur MS SQL.
+
+
+
+ Description
+
+
+ int mssql_pconnect
+ string
+ servername
+
+ string
+ username
+
+ string
+ password
+
+
+
+
+ Retourne un identifiant positif de lien MS SQL en cas de succès,
+ et FALSE en cas d'erreur.
+
+
+ Mssql_pconnect se comporte comme
+ mssql_connect mais avec deux différences :
+
+
+ Premièrement, lors de la connexion, la fonction va commencer
+ par rechercher un lien persistant déjà ouvert avec le
+ même hôte, le même nom d'utilisateur,
+ username et le même
+ mot de passe password.
+ Si un tel lien est trouvé, cet identifiant sera retourné,
+ au lieux d'en ouvrir une autre connexion.
+
+
+ Deuxièmement, la connexion au serveur SQL ne sera pas
+ fermée à la fin du script, mais restera ouverte,
+ pour d'autres utilisations ultérieures
+ (mssql_close ne fermera pas un lien établi
+ avec mssql_pconnect).
+
+
+ C'est pourquoi ce type de lien est dit 'persistant'.
+
+
+
+
+
+
+ mssql_query
+ Envoie une requête SQL.
+
+
+ Description
+
+
+ int mssql_query
+ string query
+ int
+ link_identifier
+
+
+
+
+ Retourne un identifiant positif de résultat en cas de
+ succès, ou FALSE sinon.
+
+
+ Mssql_query envoie la requête au
+ serveur courant, associé à l'identifiant
+ link_identifier (ou la
+ base par défaut, si il est omis). Si aucun lien n'est ouvert,
+ mssql_query essaiera d'en ouvrir une, en appelant
+ mssql_connect.
+
+
+ Voir aussi : mssql_select_db et
+ mssql_connect.
+
+
+
+
+
+
+ mssql_result
+ Get result data.
+
+
+ Description
+
+ int mssql_result
+ int result
+ int i
+ mixed field
+
+
+ Retourne la valeur de la colonne, à la ligne donnée,
+ dans le résultat MS SQL, ou FALSE en cas d'erreur.
+
+
+ Mssql_result retourne le contenu d'une
+ des cellules d'un résultat MS SQL. Le nom du champs
+ peut être son nom litéral ou son offet, ou
+ encore, le nom de la table + "." + le nom du champs, ou
+ encore la même chose avec le nom de la base de
+ données. Si la colonne a été
+ aliasée, utilisez le nom de l'alias plutôt
+ que celui de la colonne.
+
+
+ Lorsque vous travaillez sur des résultats de grande
+ taille, il vaut mieux utiliser les fonctions qui
+ récupèrent toute une ligne (voir ci après).
+ Comme ces fonctions lisent toutes les valeurs en une passe,
+ elles sont EXTREMEMENT PLUS RAPIDES que mssql_result.
+ De plus, pensez que l'utilisation de l'offset numérique
+ est beaucoup plus rapide que l'utilisation du nom de la colonne.
+
+
+ Alternatives recommandées : mssql_fetch_row,
+ mssql_fetch_array
+ et mssql_fetch_object.
+
+
+
+
+
+
+ mssql_select_db
+ Selectionne la base de données MS SQL.
+
+
+ Description
+
+ int mssql_select_db
+ string database_name
+ int
+ link_identifier
+
+
+
+ Retourne TRUE en cas de succès, et FALSE en cas d'erreur.
+
+
+ Mssql_select_db sélectionne la
+ base de données active. Si aucun identifiant de
+ connexion n'est fourni, la fonction utilisera la dernière
+ connexion ouverte. Si aucune connexion n'a été ouverte,
+ la fonction essaiera d'en ouvrir une avec
+ mssql_connect, et de l'utiliser.
+
+
+ Tous les appels à mssql_query seront
+ faits dans cette base.
+
+
+ Voir aussi : mssql_connect,
+ mssql_pconnect et mssql_query.
+
+
+
+
+
+
+