|
|
|
|
|
|
|
|
|
|
|
|
| Résultats de la recherche |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Article LST- Un projet support contenant un ensemble de pages d'erreur spécifiques ainsi qu'une page d'erreur générique, prêtes à l'emploi et réutilisables.
- Les explications sur les paramétrages permettant la personnalisation des pages d'erreur pour vos sites WEBDEV.
|
|
|
|
|
|
|
|
Article LST- Génération de l'exe avec ses spécificités pour publier sur le Store de Microsoft.
- Génération de l'install MSIX.
- Paramétrage sur le portail Microsoft Store.
|
|
|
|
|
|
|
|
Article LST- Une solution technique pour une réglette efficace et performante lorsqu'une zone répétée contient beaucoup d'éléments.
- Un exemple support contenant un modèle de champs réutilisable.
|
|
|
|
|
|
|
|
| Pour écrire un nom de variable dans un code, il existe plusieurs règles de nommage... |
|
|
|
|
|
|
|
| Ajoute une nouvelle case dans la barre de message de la fenêtre en cours. |
|
|
|
|
|
|
|
| Supprime une case de la barre de message de la fenêtre en cours. |
|
|
|
|
|
|
|
| Lors de la description d'une barre de message sous l'éditeur de fenêtres, il est possible de spécifier quel type d'information va afficher chaque case de la barre de messages... |
|
|
|
|
|
|
|
| WINDEV gère par défaut les événements suivants : |
|
|
|
|
|
|
|
| Liste des propriétés associées aux cases des barres de message |
|
|
|
|
|
|
|
| Cette page d'aide présente les différentes manipulations possibles d'une barre de message ... |
|
|
|
|
|
|
|
| Change la position d'un widget présent dans un champ Tableau de bord. |
|
|
|
|
|
|
|
| Change la position d'un widget présent dans un champ Tableau de bord. |
|
|
|
|
|
|
|
| Renvoie la position d'un Widget présent dans un champ Tableau de bord. |
|
|
|
|
|
|
|
| Modifie la configuration d'un champ Tableau de bord (définie sous l'éditeur) avant son premier affichage. |
|
|
|
|
|
|
|
| Modifie la configuration d'un champ Tableau de bord (définie sous l'éditeur) avant son premier affichage. |
|
|
|
|
|
|
|
| Interrompt le traitement de l'événement en cours.
|
|
|
|
|
|
|
|
| Renvoie la position d'un Widget présent dans un champ Tableau de bord. |
|
|
|
|
|
|
|
La propriété VideSiZéro permet de : - Connaître le mode de gestion de la valeur zéro dans un champ.
- Modifier le mode de gestion de la valeur zéro dans un champ.
|
|
|
|
|
|
|
|
| La barre de message d'une fenêtre permet d'afficher plusieurs types d'informations... |
|
|
|
|
|
|
|
| Affiche (ou efface) un message dans la barre de message de la fenêtre ou du navigateur en cours. |
|
|
|
|
|
|
|
| WINDEV, WINDEV Mobile et WEBDEV permettent de manipuler un champ Interrupteur directement par programmation... |
|
|
|
|
|
|
|
| La gestion d'un compte client SaaS permet ... |
|
|
|
|
|
|
|
| Le type docElémentInterrupteur permet de définir toutes les caractéristiques avancées d'un interrupteur utilisable pour la création d'un formulaire. |
|
|
|
|
|
|
|
| Change les dimensions d'un Widget présent dans un champ Tableau de bord. |
|
|
|
|
|
|
|
| L'onglet "Webservices" fournit des informations concernant les Webservices WEBDEV installés sur le poste... |
|
|
|
|
|
|
|
| Les lignes de code modifiées sont immédiatement visibles... |
|
|
|
|
|
|
|
| L'onglet "Webservices" fournit des informations concernant les Webservices WEBDEV installés sur le poste... |
|
|
|
|
|
|
|
| WINDEV, WINDEV Mobile et WEBDEV permettent de manipuler un champ Interrupteur directement par programmation... |
|
|
|
|
|
|
|
| Affiche une valeur dans un champ ou affecte une valeur dans une variable. |
|
|
|
|
|
|
|
| L'onglet "WebSockets" fournit des informations concernant les serveurs de WebSockets WEBDEV installés sur le poste... |
|
|
|
|
|
|
|
| L'onglet "WebSockets" fournit des informations concernant les serveurs de WebSockets WEBDEV installés sur le poste... |
|
|
|
|
|
|
|
| Pour simplifier la saisie du code WLangage sous l'éditeur de code, le mécanisme d'aide à la saisie suivant est proposé ... |
|
|
|
|
|
|
|
| Exécute une fonction présente dans un module Python. |
|
|
|
|
|
|
|
| Un champ Applet Java permet d'intégrer simplement des Applets Java dans vos sites WEBDEV... |
|
|
|
|
|
|
|
| Il est possible de manipuler tous les champs d'un état directement par programmation... |
|
|
|
|
|
|
|
| L'onglet "Sites" fournit des informations concernant les sites WEBDEV dynamiques installés sur le poste... |
|
|
|
|
|
|
|
| Liste des fonctions de gestion des boîtes de dialogue |
|
|
|
|
|
|
|
| Selon le type de programme réalisé, il peut être utile de connaître la correspondance entre les types utilisés en langage C et les types WLangage... |
|
|
|
|
|
|
|
| Le type docElément permet de manipuler chaque élément composant une variable de type docParagraphe. |
|
|
|
|
|
|
|
| Récupère la valeur dans un champ ou récupère la valeur dans une variable. |
|
|
|
|
|
|
|
| Un interrupteur peut correspondre ... |
|
|
|
|
|
|
|
| Lors de l'insertion du CD d'installation sur le poste d'installation, il est possible d'exécuter ou non un "autorun"... |
|
|
|
|
|
|
|
| Lors de la saisie d'instructions composées (telles que "Selon", "Pour" et "Tantque" par exemple), le code est automatiquement indenté afin de mettre en relief les différentes boucles utilisées dans le programme... |
|
|
|
|
|
|
|
| Renvoie la résolution d'un élément spécifique. |
|
|
|
|
|
|
|
| WINDEV, WEBDEV et WINDEV Mobile permettent d'utiliser une programmation événementielle et une programmation orientée objet... |
|
|
|
|
|
|
|
| Liste les drivers des périphériques Twain connectés au poste en cours. |
|
|
|
|
|
|
|
| Pour compatibilité avec les versions précédentes du Connecteur Natif SQL Server (également appelé Accès Natif SQL Server), il est toujours possible de configurer la connexion dans le logiciel WDSQSINS (livré avec le Connecteur Natif SQL Server)... |
|
|
|
|
|
|
|
| Vous souhaitez inclure vos lignes de code dans une condition, une structure, ... |
|
|
|
|
|
|
|
| Une charte de programmation permet de préfixer automatiquement le nom de toutes les variables et de tous les éléments du projet (fenêtre, champ d'un état, classe, ... |
|
|
|
|
|
|
|
| Pour visualiser les statistiques de fréquentation de vos sites grâce à WDStatistics, il est nécessaire d'importer les fichiers journal sur le poste en cours... |
|
|
|
|
|
|
|
| L'enroulé de code permet de simplifier la lecture d'un code en affichant uniquement les commentaires précédant les lignes de code... |
|
|
|
|
|
|
|
| Exécutée sur le poste serveur, cette fonction refuse une demande de connexion sur un socket existant sur le poste serveur. |
|
|
|
|
|
|
|
| Teste l'existence d'un socket. |
|
|
|
|
|
|
|
| L'administrateur du serveur peut définir les paramètres du serveur grâce à l'outil d'administration à distance... |
|
|
|
|
|
|
|
| Change les dimensions d'un Widget présent dans un champ Tableau de bord. |
|
|
|
|
|
|
|
| L'onglet "Sites" fournit des informations concernant les sites WEBDEV dynamiques installés sur le poste... |
|
|
|
|
|
|
|
| L'assistant de création des points d'entrée d'un Webservice REST est lancé ... |
|
|
|
|
|
|
|
| Permet d'établir une connexion sécurisée avec un serveur SSL. |
|
|
|
|
|
|
|
| Recherche un fichier ou un répertoire. |
|
|
|
|
|
|
|
| Ajoute une formule de calcul dans un champ Tableur présent dans une fenêtre. |
|
|
|
|
|
|
|
| Cette page d'aide présente comment ... |
|
|
|
|
|
|
|
| Le type de rubrique "Mot de passe" permet de stocker un mot de passe de façon sécurisée avec salage et hachage... |
|
|
|
|
|
|
|
| Récupère un message envoyé par un autre socket. |
|
|
|
|
|
|
|
| Le type zipParamètreCréationExe permet de définir toutes les informations nécessaires à la création d'une archive auto-extractible sous forme d'un exécutable (.EXE). Ce type de variable est une nouveauté disponible uniquement dans la version Abonnement à partir de WINDEV Suite 2025 Update 3. |
|
|
|
|
|
|
|
| Créé un socket sécurisé selon le protocole SSL. |
|
|
|
|
|
|
|
| Ajoute une formule de calcul dans un champ Tableur présent dans une fenêtre. |
|
|
|
|
|
|
|
| Transfère un fichier ou un répertoire d'un serveur FTP (File Transfer Protocol) sur le poste en cours. Cette fonction est une nouveauté disponible uniquement dans la version Abonnement à partir de WINDEV Suite 2025 Update 2. |
|
|
|
|
|
|
|
| Constantes diverses WEBDEV |
|
|
|
|
|
|
|
| Change le mode de transmission utilisé sur un socket. |
|
|
|
|
|
|
|
| Centre de Gestion de Projets : Gestion des projets (visualisation, création, ...) |
|
|
|
|
|
|
|
| Transfère un fichier d'un serveur FTP (File Transfer Protocol) sur le poste en cours. Cette fonction est une nouveauté disponible uniquement dans la version Abonnement à partir de WINDEV Suite 2025 Update 2. |
|
|
|
|
|
|
|
| Lors de la création d'une page, il est possible d'indiquer une date limite de validité pour cette page... |
|
|
|
|
|
|
|
| L'installation avec prise en charge du Push permet de déployer une application sur tous les postes clients d'un réseau depuis un unique poste d'administration... |
|
|
|
|
|
|
|
| Pour créer un serveur SSL avec la fonction SocketCréeSSL, il faut utiliser un certificat signé contenant une clé privée... |
|
|
|
|
|
|
|
| WINDEV, WEBDEV et WINDEV Mobile permettent de créer et de publier très simplement des composants... |
|
|
|
|
|
|
|
| L'analyse propose deux types de rubriques Unicode ... |
|
|
|
|
|
|
|
| L'éditeur de code met à votre disposition plusieurs outils pour corriger le code saisi ... |
|
|
|
|
|
|
|
| WINDEV, WEBDEV et WINDEV Mobile proposent deux types de masques ... |
|
|
|
|
|
|
|
| Les "captcha" sont des textes biscornus que l'internaute doit déchiffrer et ressaisir dans un site avant de valider un formulaire. |
|
|
|
|
|
|
|
| Ecrit un message destiné à un autre socket. |
|
|
|
|
|
|
|
| La gestion des comptes est accessible dans l'administrateur distant uniquement pour l'administrateur du serveur.
|
|
|
|
|
|
|
|
| Il est possible de copier les champs de l'éditeur de fenêtres ... |
|
|
|
|
|
|
|
La propriété Filtre permet de connaître et de modifier le filtre utilisé pour l'affichage des enregistrements dans : - les champs Table fichier,
- les champs Table hiérarchique fichier,
- les champs Liste fichier,
- les champs Combo fichier,
- les champs Zone répétée fichier.
|
|
|
|
|
|
|
|
| La mise en place d'exigences nécessite les étapes suivantes ... |
|
|
|
|
|
|
|
| Affiche un message en permettant à l'utilisateur de saisir une information. |
|
|
|
|
|
|
|
| Le développement d'un site SaaS est très similaire à celui d'un site WEBDEV traditionnel. Certaines opérations supplémentaires doivent être réalisées ... |
|
|
|
|
|
|
|
| Le type tblrSélection permet de connaître toutes les caractéristiques avancées d'une sélection dans un champ Tableur. |
|
|
|
|
|
|
|
| Pour travailler sur un élément du projet présent dans le gestionnaire de sources, il est nécessaire d'extraire l'élément avant de le modifier... |
|
|
|
|
|
|
|
| Définit et active un filtre de type "Contient" sur un fichier de données, une vue ou une requête. |
|
|
|
|
|
|
|
| La propriété Image permet de connaître et de modifier l'image de fond d'un champ ou d'un bloc. |
|
|
|
|
|
|
|
La propriété Police permet de :- Connaître l'identifiant de la police utilisée dans un champ d'un état, d'une page ou d'une fenêtre.
- Modifier la police utilisée dans un champ d'un état, d'une page ou d'une fenêtre.
|
|
|
|
|
|
|
|
| Plusieurs types de champs peuvent être manipulés dans un état réalisé avec l'éditeur d'états ... |
|
|
|
|
|
|
|
| En langage SQL, une jointure externe permet d'exclure ou d'inclure des enregistrements d'un fichier de données qui ont ou qui n'ont pas de correspondances dans des fichiers liés... |
|
|
|
|
|
|
|
| L'URL Rewriting (ou réécriture d'URL) est une technique permettant d'améliorer le référencement d'un site Web... |
|
|
|
|
|
|
|
| WINDEV, WEBDEV et WINDEV Mobile permettent de gérer la valeur NULL dans les rubriques des fichiers de données HFSQL et pour tous les autres types d'accès (Natif, OLE DB, ... |
|
|
|
|
|
|
|
| Connecte un poste client à un socket Bluetooth spécifique. |
|
|
|
|
|
|
|
| L'appel de code Python est disponible en natif depuis le WLangage... |
|
|
|
|
|
|
|
| Par défaut, le programme d'installation installe tous les fichiers spécifiés sur le poste d'installation... |
|
|
|
|
|
|
|
| Permet au serveur d'obtenir des renseignements sur le socket client en cours. |
|
|
|
|
|
|
|
| Créé un socket utilisant le protocole UDP. |
|
|
|
|
|
|
|
| Définit et active un filtre de type "Contient" sur un fichier de données, une vue ou une requête. |
|
|
|
|
|
|
|
| Exécutée sur le poste serveur, cette fonction permet d'attendre une demande de connexion provenant de sockets clients. |
|
|
|
|
|
|
|
| RGPD : Règlement Général sur la Protection des Données |
|
|
|
|
|
|
|
| Les colonnes permettent d'afficher les informations dans un champ Table... |
|
|
|
|
|
|
|
| Le WLangage permet d'utiliser des fonctions Python en mode natif ... |
|
|
|
|
|
|
|
| Exécutée sur le poste serveur, cette fonction accepte une demande de connexion sur un socket existant sur le poste serveur. |
|
|
|
|
|
|
|
| Les colonnes permettent d'afficher les informations dans un champ Table... |
|
|
|
|
|
|
|
| Créé un socket en utilisant un périphérique Bluetooth. |
|
|
|
|
|
|
|
| Pour compatibilité avec les versions précédentes du Connecteur Natif Oracle (également appelé Accès Natif Oracle), il est toujours possible de configurer la connexion dans le logiciel WDORAINS (livré avec le Connecteurs Natif Oracle)... |
|
|
|
|
|
|
|
| WEBDEV Développement : Configuration du serveur Apache 1.3.x et 2.0.x pour le protocole CGI et pour les sites WEBDEV.
|
|
|
|
|
|
|
|
| Cette page d'aide présente comment gérer une multisélection dans un champ Table. |
|
|
|
|
|
|
|
| La complétion automatique permet une saisie assistée du code WLangage de vos applications... |
|
|
|
|
|
|
|
| WEBDEV Développement : Configuration du serveur Apache 2.4.x pour le protocole CGI et pour les sites WEBDEV. |
|
|
|
|
|
|
|
| WEBDEV permet de développer des applications web en WLangage... |
|
|
|
|
|
|
|
| Découvrez les principales manipulations disponibles sur les fenêtres. |
|
|
|
|
|
|
|
| Administrateur WEBDEV : Configuration du serveur Apache 2.4 pour le protocole CGI et pour les sites WEBDEV. |
|
|
|
|
|
|
|
| WEBDEV développement : Configuration du serveur Apache 1.3.x et 2.0.x pour le protocole CGI et pour les sites WEBDEV. |
|
|
|
|
|
|
|
| WEBDEV offre la possibilité de gérer l'ensemble des styles d'élément WEBDEV utilisés dans un projet... |
|
|
|
|
|
|
|
| L'éditeur de code propose par défaut une coloration des différents éléments du code WLangage. |
|
|
|
|
|
|
|
| Les constantes utilisées par les fonctions de gestion des champs Tableur sont les suivantes : |
|
|
|
|
|
|
|
| Connecte un poste client à un socket donné. |
|
|
|
|
|
|
|
| Administrateur WEBDEV : Configuration du serveur Apache 1.3.x et 2.0.x pour le protocole CGI et pour les sites WEBDEV. |
|
|
|
|
|
|
|
| Pour développer des applications Android avec WINDEV Mobile, il est nécessaire d'installer ... |
|
|
|
|
|
|
|
| Tuto WINDEV Mobile : Déployer une application iOS
10 mn |
|
|
|
|
|
|
|
| Le format RTF (Rich Text Format) permet de coder d'une manière spécifique le texte et les graphiques afin de faciliter leur transfert d'une application à une autre... |
|
|
|
|
|
|
|
| Les paragraphes suivants présentent les remarques générales et les spécificités du Connecteur Natif SAP ASE (également appelé Accès Natif Sybase)... |
|
|
|
|
|
|
|
| Le déploiement In-House proposé par Apple permet de s'affranchir de la plupart des contraintes des deux autres modes (déploiement par l'App Store et déploiement "Ad Hoc") et de distribuer à grande échelle une application sans avoir besoin de référencer à l'avance les périphériques clients... |
|
|
|
|
|
|
|
| La génération d'une application WINDEV Mobile pour Android rassemble tous les éléments du projet (fenêtres, code, etc... |
|
|
|
|
|
|
|
| Kotlin est un langage de programmation utilisable sous Android... |
|
|
|
|
|
|
|
| L'assistant de création du programme d'installation permet de sélectionner le profil de déploiement à utiliser... |
|
|
|
|
|
|
|
| Transfère un fichier d'un serveur FTP (File Transfer Protocol) sur le poste en cours. |
|
|
|
|
|
|
|
| Tous les éditeurs de WINDEV, WEBDEV et WINDEV Mobile permettent de réaliser un zoom sur les différents éléments affichés sous l'éditeur... |
|
|
|
|
|
|
|
| Une variable de type xlsDocument permet de décrire et modifier un document Excel... |
|
|
|
|
|
|
|
| Transfère un fichier ou un répertoire d'un serveur FTP (File Transfer Protocol) sur le poste en cours. |
|
|
|
|
|
|
|
| Les paramètres du site permettent de configurer les options de connexion au site dès son installation... |
|
|
|
|
|
|
|
| L'environnement de WINDEV, WEBDEV, WINDEV Mobile affiche souvent des fenêtres d'avertissement... |
|
|
|
|
|
|
|
| La propriété Jauge permet de connaître et de modifier le champ Jauge utilisé durant le calcul d'un champ Tableau croisé dynamique (fonctions TCDCalculeTout et TCDCalculeMiseAJour). |
|
|
|
|
|
|
|
| Tuto WEBDEV - Groupware utilisateur
Identifier l'utilisateur : le groupware utilisateur - 20 mn |
|
|
|
|
|
|
|
| Le test de l'ensemble du projet permet de simuler le lancement de l'application ... |
|
|
|
|
|
|
|
| Le test de l'ensemble du projet permet de simuler le lancement du site... |
|
|
|
|
|
|
|
| Lorsque le groupware utilisateur est paramétré, la configuration des utilisateurs et des accès est effectuée en exécution, en se connectant avec un compte "superviseur"... |
|
|
|
|
|
|
|
| WINDEV permet de créer des exécutables Linux natifs 64 bits. Leur UI est directement réalisée avec l'éditeur de fenêtres. |
|
|
|
|
|
|
|
| Tuto WINDEV Mobile : Déployer une application Android
10 mn |
|
|
|
|
|
|
|
| Les Abonnements SaaS permettent la mise à disposition d'un Site SaaS pour un compte client... |
|
|
|
|
|
|
|
| WINDEV, WEBDEV et WINDEV Mobile permettent de dialoguer avec l'utilisateur grâce aux boîtes de dialogue... |
|
|
|
|
|
|
|
| L'onglet "Avancé" permet de paramétrer des fonctionnalités avancées au niveau du serveur... |
|
|
|
|
|
|
|
| Les différentes manipulations possibles sur les champs d'une page sont les suivantes ... |
|
|
|
|
|
|
|
| Les caractéristiques d'une page d'aide permettent de définir ... |
|
|
|
|
|
|
|
Il est possible de saisir du code Java : - dans les applications Java générées avec WINDEV.
- dans les applications Android générées avec WINDEV Mobile.
Vous pouvez ainsi créer des procédures globales entièrement en Java. |
|
|
|
|
|
|
|
| Les tableaux de bord logiciels sont des éléments importants d'une application ... |
|
|
|
|
|
|
|
| L'onglet "Avancé" permet de paramétrer des fonctionnalités avancées au niveau du serveur... |
|
|
|
|
|
|
|
| Liste des constantes utilisées par les fonctions système. |
|
|
|
|
|
|
|
| Les fenêtres MDI doivent respecter certaines contraintes spécifiques aux applications MDI... |
|
|
|
|
|
|
|
| Les champs Interrupteur à bascule (également appelé "Interrupteur à curseur") sont désormais courant dans les interfaces... |
|
|
|
|
|
|
|
| Crée une archive auto-extractible sous forme d'un exécutable en 32 bits (.EXE). |
|
|
|
|
|
|
|
| Les principales instructions SQL autorisées dans les requêtes SQL gérées par WINDEV et WEBDEV sont les suivantes ... |
|
|
|
|
|
|
|
| Lors de l'installation d'un site WEBDEV sur un serveur Windows, les renseignements concernant le site sont automatiquement insérés dans la base de registre, à l'entrée suivante ... |
|
|
|
|
|
|
|
| Les différentes manipulations possibles sur les champs d'une fenêtre sont les suivantes ... |
|
|
|
|
|
|
|
| Crée une archive auto-extractible sous forme d'un exécutable en 32 bits (.EXE). |
|
|
|
|
|
|
|
| Une modélisation souple est composée de différents éléments reliés entre eux par des liaisons... |
|
|
|
|
|
|
|
| Nouveautés de WINDEV 28 présentes dans la brochure des Nouveautés 28. |
|
|
|
|
|
|
|
| Pour augmenter la sécurité des postes face aux vers et virus, Windows Vista/7 a mis en place le mécanisme de l'UAC (le contrôle de compte utilisateur). |
|
|
|
|
|
|
|
Configure l'imprimante pour une impression réalisée en WLangage :- soit en ouvrant directement la fenêtre de configuration.
- soit en modifiant directement l'imprimante utilisée pour l'impression en cours.
|
|
|
|
|
|
|
|
| Cette page d'aide présente les spécificités concernant la programmation de l'Accès Natif xBase/FoxPro... |
|
|
|
|
|
|
|
| A partir de la version 2025, WINDEV et WINDEV Mobile proposent le concept de "Palette de couleurs" pour les projets et les fenêtres... |
|
|
|
|
|
|
|
| Le Champ de saisie permet à l'utilisateur de saisir directement une information... |
|
|
|
|
|
|
|
| Cette page d'aide présente les points importants de la fenêtre de description du champ Action Bar ... |
|
|
|
|
|
|
|
| Les principales fonctions SQL pouvant être utilisées sur des requêtes en code SQL sont les suivantes (classées par thème) ... |
|
|
|
|
|
|
|
| Nouveautés de WEBDEV 2025 présentes dans la brochure des Nouveautés 2025. |
|
|
|
|
|
|
|
| Nouveautés de WINDEV/WEBDEV/WINDEV Mobile 2025 présentes dans la brochure des Nouveautés 2025. |
|
|
|
|
|
|
|
| Nouveautés de WINDEV 2025 présentes dans la brochure des Nouveautés 2025. |
|
|
|
|
|
|
|
| Nouveautés de WEBDEV 2026 présentes dans la brochure des Nouveautés 2026. |
|
|
|
|
|
|
|
| Nouveautés de WINDEV/WEBDEV/WINDEV Mobile 28 présentes dans la brochure des Nouveautés 28. |
|
|
|
|
|
|
|
| Valeur des constantes de l'API Windows 32 bits |
|
|
|
|
|
|
|
| Liste des constantes utilisées par les propriétés des fenêtres, états, pages et champs. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|