<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!-- Define an entity for your application if it is not part of KDE CVS --> <!ENTITY kget "<application >KGet</application >"> <!ENTITY kappname "&kget;" ><!-- replace kget here do *not* replace kappname--> <!ENTITY package "kdenetwork"> <!ENTITY % addindex "IGNORE"> <!ENTITY % German "INCLUDE" > ]> <book lang="&language;"> <bookinfo> <title >Das Handbuch zu &kget;</title> <authorgroup> <author ><personname > <firstname >Jonathan</firstname > <othername >E.</othername > <surname >Drews</surname > </personname > &Jonathan.Drews.mail; </author> <othercredit role="translator" ><firstname >Frank</firstname ><surname >Schütte</surname ><affiliation ><address ><email >F.Schuette@t-online.de</email ></address ></affiliation ><contrib >Übersetzung</contrib ></othercredit > </authorgroup> <copyright> <year >2003</year> <holder >Jonathan E. Drews</holder> </copyright> <legalnotice >&FDLNotice;</legalnotice> <date >2005-08-31</date> <releaseinfo >0.8.4</releaseinfo> <!-- Abstract about this handbook --> <abstract> <para >&kget; ist ein einfach zu bedienender Download-Manager für &kde;. </para> </abstract> <keywordset> <keyword >KDE</keyword> <keyword >kdeutils</keyword> <keyword >kget</keyword> <keyword >kppp</keyword> <keyword >herunterladen</keyword> </keywordset> </bookinfo> <chapter id="quickstart"> <title >Schnellstart</title> <para> <orderedlist> <listitem ><para >Starten Sie &kget;.</para ></listitem> <listitem ><para >Ziehen Sie eine Adresse und lassen Sie sie über dem Fenster von &kget; fallen.</para ></listitem> </orderedlist> </para> </chapter> <chapter id="using-kget"> <title >Verwendung von &kget;</title> <sect1 id="kget-features"> <title >Einführung zu &kget;</title> <para >In dieser kurzen Einführung werden einige der Funktionen von &kget; demonstriert. Die unten gezeigten drei Programmpakete sollen heruntergeladen werden. Das mittlere Paket soll zuerst herunter geladen werden, gefolgt vom oberen und zum Schluss das untere Paket. </para> <orderedlist> <listitem> <para >Sie können KGet in den Offline-Modus versetzen. Verwenden Sie dazu den Menüeintrag <menuchoice ><guimenu >Optionen</guimenu ><guimenuitem >Offline-Modus</guimenuitem ></menuchoice >. </para> </listitem> <listitem> <para >Klicken Sie zunächst mit der &LMBn; auf die erste Datei. Halten Sie jetzt die &Ctrl;-Taste gedrückt und klicken Sie auf die untere Datei. Es ergibt sich folgendes Bild: <screenshot> <screeninfo >Bildschirmfoto von KGet</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kget1.png" format="PNG"/> </imageobject> <textobject> <phrase >Einträge, die mit &konqueror; heruntergeladen werden sollen</phrase> </textobject> </mediaobject> </screenshot> </para> </listitem> <listitem ><para >Klicken Sie auf den Knopf <guibutton >Anhalten</guibutton >, um diese Dateien vorerst nicht herunterzuladen. </para ></listitem> <listitem ><para >Klicken Sie jetzt auf die mittlere Datei, um sie hervorzuheben. Dadurch wird gleichzeitig die Hervorhebung des oberen und unteren Eintrags entfernt. <screenshot> <screeninfo >Bildschirmfoto von KGet</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kget2.png" format="PNG"/> </imageobject> <textobject> <phrase >Einträge, die mit &konqueror; heruntergeladen werden sollen</phrase> </textobject> </mediaobject> </screenshot> </para ></listitem> <listitem ><para >Versetzen Sie &kget; nun zurück in den Online-Modus. Heben Sie dazu die Auswahl bei <menuchoice ><guimenu >Optionen</guimenu ><guimenuitem >Offline-Modus</guimenuitem ></menuchoice > auf. &kget; wird nun die mittlere Datei herunterladen. </para ></listitem> <listitem ><para >Klicken Sie auf den oberen Eintrag, halten Sie die &Shift;-Taste gedrückt und klicken Sie auf den unteren Eintrag. Es bietet sich folgendes Bild: <screenshot> <screeninfo >Bildschirmfoto von KGet</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kget3.png" format="PNG"/> </imageobject> <textobject> <phrase >Einträge, die mit &konqueror; heruntergeladen werden sollen</phrase> </textobject> </mediaobject> </screenshot> <note ><para >Durch Halten der &Ctrl;-Taste können einzelne Einträge ausgewählt werden, durch Halten der &Shift;-Taste wird ein Bereich aufeinander folgender Einträge ausgewählt. </para ></note ></para> </listitem> <listitem ><para >Klicken Sie nun auf den Knopf <guiicon >Warteschlange</guiicon > oder wählen Sie im Menü <menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Warteschlange</guimenuitem ></menuchoice > um die beiden markierten Einträge herunterzuladen. </para ></listitem> </orderedlist> </sect1> </chapter> <chapter id="configuration"> <title >Besondere Einstellungen</title> <sect1 id="configuration-auto-disconnect"> <title >Einrichtung der Automatischen Trennung</title> <para >Diese Funktion dient zur automatischen Trennung des Modems nach Fertigstellung eines Transfers. Dazu wird &kget; folgendermaßen konfiguriert: </para> <itemizedlist> <listitem ><para >Wählen Sie <menuchoice ><guimenu >Optionen</guimenu ><guimenuitem >Automat. Trennen</guimenuitem ></menuchoice > <action >zur automatischen Trennung der Modemverbindung.</action > (Dies ist zumeist &kppp;.) Diese Funktion ist nur im Expertenmodus verfügbar.</para> </listitem> <listitem ><para >Benutzer von SUSE-Linux müssen den Befehl <userinput ><command >cinternet <option >-i</option > <parameter >ppp0</parameter > <option >-0</option ></command ></userinput > an Stelle von <userinput ><command >kppp <option >-k</option ></command ></userinput > unter <menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >&kget; einrichten ...</guimenuitem ></menuchoice > <guilabel >Automatisierung</guilabel > verwenden.</para> </listitem> <listitem ><para >Benutzer von Fedora Core müssen <userinput ><command >/usr/sbin/usernetctl <parameter >ppp0</parameter > <option >down</option ></command ></userinput > verwenden.</para> </listitem> <listitem ><para >Benutzer anderer Distributionen sollten die Dokumentation für Ihre Linux-Distribution zu Rate ziehen, um den richtigen Befehl herauszufinden. </para ></listitem> </itemizedlist> </sect1> <sect1 id="configuration-downloading-in-folders"> <title >Herunterladen in festgelegte Ordner</title> <para >Damit <acronym >jpeg</acronym >-Dateien in einen bestimmten Ordner heruntergeladen werden können, muss man folgendermaßen vorgehen: </para> <itemizedlist> <listitem ><para >Wählen Sie im Menü <menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >&kget; einrichten ...</guimenuitem ></menuchoice > und dort den Eintrag <guilabel >Ordner</guilabel >.</para> </listitem> <listitem ><para >Kennzeichnen Sie die gewünschten Dateien durch deren Endungen <filename >.jpg</filename > und <filename >.jpeg</filename >: </para> <screenshot> <screeninfo >Bildschirmfoto von KGet</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kget5.png" format="PNG"/> </imageobject> <textobject> <phrase >Herunterladen in festgelegte Dateien</phrase> </textobject> </mediaobject> </screenshot> </listitem> <listitem> <para >Klicken Sie auf <interface >Anwenden</interface > und <interface >OK</interface >. Wenn Sie jetzt irgendeine Datei mit der Endung <literal role="extension" >.jpeg</literal > herunterladen, wird Sie ohne Nachfrage im Ordner <filename >/home/kdecvs/pics/JPEG</filename > gespeichert.</para> </listitem> </itemizedlist> </sect1> </chapter> <chapter id="commands"> <title >Befehlsreferenz</title> <sect1 id="kapp-mainwindow"> <title >Das Hauptfenster von &kget;</title> <sect2> <title >Das Menü <guimenu >Datei</guimenu ></title> <variablelist> <varlistentry> <term ><menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >O</keycap ></keycombo > </shortcut > <guimenu >Datei</guimenu > <guimenuitem >Öffnen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Öffnet das Transferfenster, in das man Adressen hineinziehen kann. </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut ><keycombo action="simul" >&Ctrl;<keycap > V</keycap ></keycombo ></shortcut ><guimenu >Datei</guimenu ><guimenuitem > Einfügen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Fügt den Inhalt der Zwischenablage in das Transferfenster ein.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Datei</guimenu > <guimenuitem >Transferliste exportieren ...</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Öffnet einen den Dialog „Speichern unter“</action >. Damit ist es möglich, ausgewählte Adressen in eine <literal role="extension" >.kget</literal >-Datei zu speichern. Wenden Sie diese Funktion so an: </para> <itemizedlist> <listitem ><para >Versetzen Sie KGet in den Offline-Modus indem Sie in der Werkzeugleiste auf den Knopf <quote >Offline-Modus</quote > klicken oder im Menü <menuchoice ><guimenu >Optionen</guimenu > <guimenuitem >Offline-Modus</guimenuitem ></menuchoice > wählen. </para ></listitem> <listitem ><para >Ziehen Sie die zu übertragenden Adressen in das &kget;-Fenster. </para ></listitem> <listitem ><para >Wählen Sie den obersten Eintrag der Liste durch Klicken aus. </para ></listitem> <listitem ><para >Halten Sie die <userinput ><keycombo >&Shift;</keycombo ></userinput >-Taste gedrückt und klicken Sie auf die unterste &URL;. Dadurch werden alle Einträge in der Liste ausgewählt. <screenshot> <screeninfo >Bild von KGet beim Speichern in eine Exportdatei</screeninfo> <mediaobject> <imageobject> <imagedata fileref="kget4.png" format="PNG"/> </imageobject> </mediaobject> </screenshot> </para ></listitem> <listitem ><para >Klicken Sie nun auf <menuchoice ><guimenu >Datei</guimenu ><guimenuitem >Transferliste exportieren ...</guimenuitem ></menuchoice > und tragen Sie den gewünschten Namen der <literal role="extension" >.kget</literal >-Datei für die Dateitransfers ein. </para ></listitem> </itemizedlist> <para >Auf diese Weise kann man Einträge für Dateien speichern, die man häufig herunterlädt, wie ⪚ die &kde;-Schnappschüsse. </para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Datei</guimenu > <guimenuitem >Transferliste importieren ...</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Lädt eine <literal role="extension" >.kget</literal >-Datei, die mit Hilfe von <menuchoice ><guimenu >Datei</guimenu > <guimenuitem >Transferliste exportieren ...</guimenuitem ></menuchoice > erzeugt wurde. </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Datei</guimenu > <guimenuitem >Textdatei importieren ...</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Importiert &URL;s, die sich in einer Textdatei befinden.</action > Diese Funktion kann Textdateien und E-Mails nach &URL;s durchsuchen. Sie kann zwischen normalem Text und &URL;s unterscheiden, sofern die &URL; am linken Rand des Dokuments beginnt. &kget; findet solche &URL;s und lädt sie in sein Hauptfenster. <note ><para >Normaler Text wird nur dann ignoriert, wenn man vorher auf das Symbol Expertenmodus klickt. Falls der Expertenmodus nicht verwendet wird, darf der Text nur Adressen enthalten. </para ></note > </para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >Q</keycap ></keycombo > </shortcut > <guimenu >Datei</guimenu > <guimenuitem >Beenden</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Beendet &kget;</action ></para ></listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Das Menü <guimenu >Ansicht</guimenu ></title> <variablelist> <varlistentry> <term ><menuchoice ><guimenu >Ansicht</guimenu ><guimenuitem >Protokoll-Fenster anzeigen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Öffnet ein Protokollfenster, das die bisherigen Ereignisse anzeigt. Damit kann man ⪚ einen längeren Transfer überwachen. Man sieht, ob irgendwelche Pakete übersprungen wurden oder ob ein Zeitlimit überschritten wurde. </action ></para ></listitem> </varlistentry> <!-- <varlistentry> <term ><menuchoice> <guimenu >View</guimenu> </varlistentry > --> </variablelist> </sect2> <sect2> <title >Das Menü <guimenu >Transfer</guimenu ></title> <note ><para >Die Einträge dieses Menüs sind nur dann aktiv (nicht grau), wenn man zuvor einen Transfereintrag durch Klicken mit der <mousebutton >linken</mousebutton > Maustaste ausgewählt hat. </para ></note> <variablelist> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Adresse in die Zwischenablage kopieren</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Kopiert die ausgewählte Zeile in die &kde;-Zwischenablage (&klipper;). </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Individuelles Fenster öffnen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Zeigt den ausgewählten Transfer in einem eigenen Fenster an. </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >An den Anfang stellen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Verschiebt den ausgewählten Eintrag an den Anfang der Transferliste.</action> <note ><para >Die erste &URL; der Liste wird von &kget; zuerst herunter geladen.</para> </note> </para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Ans Ende stellen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Verschiebt den ausgewählten Eintrag an das Ende der Transferliste.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Fortsetzen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Setzt einen Transfer fort, der zuvor unterbrochen wurde. </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Pause</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Hält einen laufenden Transfer an. </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Löschen</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Entfernt den ausgewählten Eintrag aus der Liste im Hauptfenster von &kget;.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Neustart</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Kombiniert die Funktionen Pause und Fortsetzen in einem Knopf.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu > <guimenuitem >Warteschlange</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Der Transfer für die ausgewählten Einträge in &kget; wird gestartet.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu > <guimenuitem >Timer</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Verzögert den Transfer der ausgewählten Einträge um eine Minute. Das ist nützlich, um einen Transfer kurzzeitig zu unterbrechen, beispielsweise um zwischendurch neue E-Mails herunterzuladen oder eine Webseite zu besuchen.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Transfer</guimenu ><guimenuitem >Verzögerung</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Verzögert den Transfer der ausgewählten Einträge auf unbestimmte Zeit.</action> <note ><para ><guimenuitem >Warteschlange</guimenuitem >, <guimenuitem >Timer</guimenuitem > und <guimenuitem >Verzögerung</guimenuitem > schließen sich gegenseitig aus; es kann jeweils nur eine der drei Funktionen gleichzeitig genutzt werden.</para> </note> </para ></listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Das Menü <guimenu >Optionen</guimenu ></title> <variablelist> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu > <guimenuitem >Animation verwenden</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Schaltet die Animationen ein/aus</action >, um &kget;s derzeitigen Status zu symbolisieren.</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu > <guimenuitem >Sound verwenden</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Schaltet Sound ein/aus</action >, um auf Ereignisse aufmerksam zu machen, ⪚ wenn eine Datei zur Transferliste hinzugefügt wurde oder wenn ein Transfer abgeschlossen ist.</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu ><guimenuitem >Expertenmodus</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Schaltet Bestätigungsnachfragen aus.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu > <guimenuitem >Letzten Ordner verwenden</guimenuitem > </menuchoice ></term> <listitem ><para ><action >&kget; ignoriert die aktuellen Ordnereinstellungen und überträgt alle weiteren Transfers in den Ordner des letzten Transfers. </action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu ><guimenuitem >Offline-Modus</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Schaltet &kget; vom Online-Modus (bereit zum Herunterladen) in den Offline-Modus um. Der Offline-Modus wird zum Beispiel verwendet, wenn Sie Adressen in &kget; kopieren möchten, diese aber nicht sofort heruntergeladen werden sollen.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu ><guimenuitem >Automatische Trennung</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Veranlasst &kget;, die Modemverbindung zu trennen.</action > Die Modemverbindung ist üblicherweise &kppp;. Diese Funktion ist nur mit aktiviertem Expertenmodus verfügbar.</para> <para >Weitere Informationen zu dieser Funktion finden Sie unter <xref linkend="configuration-auto-disconnect"/>. </para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu > <guimenuitem >Automatisch beenden</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Beendet &kget; nach dem Ende aller Transfers. Diese Funktion ist nur im Expertenmodus verfügbar.</action ></para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Optionen</guimenu > <guimenuitem >Automat. Einfügen</guimenuitem ></menuchoice ></term> <listitem ><para >Aktiviert das automatische Aufnehmen von Adressen aus der Zwischenablage.</para ></listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Das Menü <guimenu >Einstellungen</guimenu ></title> <variablelist> <varlistentry> <term ><menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >Statusleiste ausblenden</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Blendet die Statusleiste aus</action >. Normalerweise zeigt die Statusleiste Statistiken über die gerade laufenden Transfers an.</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >Zielfeld anzeigen</guimenuitem > </menuchoice ></term> <listitem ><para >Das Zielfeld ist ein Symbol auf der Arbeitsfläche, mit dessen Hilfe &kget; aus- und wieder eingeblendet werden kann. Das ist nützlich, um bei einer gefüllten Arbeitsfläche den Transferstatus von Zeit zu Zeit zu überprüfen.</para ></listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >Kurzbefehle festlegen ...</guimenuitem > </menuchoice ></term> <listitem> <para >Zeigt den &kde;-Dialog zum Einrichten der Kurzbefehle an.</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >Werkzeugleisten einrichten ...</guimenuitem > </menuchoice> </term> <listitem> <para >Zeigt den &kde;-Dialog zum Einrichten der Werkzeugleisten an.</para> </listitem> </varlistentry> <varlistentry> <term> <menuchoice ><guimenu >Einstellungen</guimenu > <guimenuitem >&kget; einrichten ...</guimenuitem > </menuchoice> </term> <listitem> <para >Zeigt den Dialog zum Einrichten von &kget; an.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Das Menü <guimenu >Hilfe</guimenu ></title> &help.menu.documentation; </sect2> </sect1> </chapter> <chapter id="credits"> <title >Danksagungen und Lizenz</title> <para >&kget; </para> <para >Programm Copyright 1998 Matej Moss </para> <para >Mitwirkende: <itemizedlist> <listitem ><para >Patrick Charbonnier <email >pch@freeshell.org</email ></para> </listitem> <listitem ><para >&Carsten.Pfeiffer; &Carsten.Pfeiffer.mail;</para> </listitem> </itemizedlist> </para> <para >Copyright für die Dokumentation © 2003 &Jonathan.Drews; &Jonathan.Drews.mail; </para> <para >Copyright für die Dokumentation © 2007 Rohan B. Dhruva <email >rohandhruva@gmail.com</email ></para> <para >Deutsche Übersetzung Frank Schütte<email >F.Schuette@t-online.de</email ></para > &underFDL; &underGPL; </chapter> <appendix id="installation"> <title >Installation</title> <sect1 id="getting-kapp"> <title >Wie Sie &kget; erhalten</title> &install.intro.documentation; </sect1> <sect1 id="compilation"> <title >Kompilierung und Installation</title> &install.compile.documentation; </sect1> </appendix> &documentation.index; </book> <!-- Local Variables: mode: xml sgml-minimize-attributes:nil sgml-general-insert-case:lower sgml-indent-step:0 sgml-indent-data:nil End: vim:tabstop=2:shiftwidth=2:expandtab -->