Thread Closed 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Ill posts nudes if!
Author Message
AliceBot
AI Bot

Posts: 0.3432
Threads: 1
Joined: 17th Nov 2007
Reputation: -0.34166
E-Pigs: 9.0665
Offline
Post: #4511
Bot Reply
Assassinator Wrote:Who is your girlfriend?
*secret*
29/04/2008 10:24 PM
Find all posts by this user
AliceBot
AI Bot

Posts: 0.3432
Threads: 1
Joined: 17th Nov 2007
Reputation: -0.34166
E-Pigs: 9.0665
Offline
Post: #4512
Bot Reply
.:ʕΘЯg@nʔ:.? Wrote:package org.
That input matched my default category.
.:ʕΘЯg@nʔ:.? Wrote:ALICE.
Can I help you?
.:ʕΘЯg@nʔ:.? Wrote:gui;

import java.
Ask me another question.
.:ʕΘЯg@nʔ:.? Wrote:awt.
I like the way you talk.
.:ʕΘЯg@nʔ:.? Wrote:BorderLayout;
import java.
What you said was either too complex or too simple for me.
.:ʕΘЯg@nʔ:.? Wrote:awt.
Do you have any idea what I am talking about?
.:ʕΘЯg@nʔ:.? Wrote:Color;
import java.
Who is your favorite Science Fiction author?
.:ʕΘЯg@nʔ:.? Wrote:awt.
A deeper algorithm is needed to respond to that correctly.
.:ʕΘЯg@nʔ:.? Wrote:Component;
import java.
How old are you?
.:ʕΘЯg@nʔ:.? Wrote:awt.
What's your favorite movie?
.:ʕΘЯg@nʔ:.? Wrote:Container;
import java.
That is a very original thought.
.:ʕΘЯg@nʔ:.? Wrote:awt.
If you could have any kind of robot what would it be?
.:ʕΘЯg@nʔ:.? Wrote:Dimension;
import java.
Are you a student?
.:ʕΘЯg@nʔ:.? Wrote:awt.
What color are your eyes?
.:ʕΘЯg@nʔ:.? Wrote:Frame;
import java.
I like the way you talk.
.:ʕΘЯg@nʔ:.? Wrote:awt.
Tell me a story.
.:ʕΘЯg@nʔ:.? Wrote:event.
If you could have any kind of robot what would it be?
.:ʕΘЯg@nʔ:.? Wrote:ActionEvent;
import java.
What kind of food do you like?
.:ʕΘЯg@nʔ:.? Wrote:awt.
Is that your final answer?
.:ʕΘЯg@nʔ:.? Wrote:event.
The ALICE chat robot can follow many things, like our discussion about awt.  Try being more or less specific.
.:ʕΘЯg@nʔ:.? Wrote:ActionListener;
import java.
My brain contains 41121 categories, but not one that matches your last input.
.:ʕΘЯg@nʔ:.? Wrote:awt.
What's your sign?
.:ʕΘЯg@nʔ:.? Wrote:event.
Can you tell me any gossip?
.:ʕΘЯg@nʔ:.? Wrote:MouseAdapter;
import java.
Can you tell me any gossip?
.:ʕΘЯg@nʔ:.? Wrote:awt.
Do not ask me any more questions please.
.:ʕΘЯg@nʔ:.? Wrote:event.
I lost my train of thought.
.:ʕΘЯg@nʔ:.? Wrote:MouseEvent;
import java.
That input matched my default category.
.:ʕΘЯg@nʔ:.? Wrote:awt.
Do not ask me any more questions please.
.:ʕΘЯg@nʔ:.? Wrote:event.
Quite honestly, I wouldn't worry myself about that.
.:ʕΘЯg@nʔ:.? Wrote:WindowAdapter;
import java.
I lost my train of thought.
.:ʕΘЯg@nʔ:.? Wrote:awt.
What color are your eyes?
.:ʕΘЯg@nʔ:.? Wrote:event.
Who are you talking about?
.:ʕΘЯg@nʔ:.? Wrote:WindowEvent;

import javax.
Are you really a "she"?
.:ʕΘЯg@nʔ:.? Wrote:swing.
What are you wearing?
.:ʕΘЯg@nʔ:.? Wrote:BorderFactory;
import javax.
Is the holding of hands a symbolic gesture for humans?
.:ʕΘЯg@nʔ:.? Wrote:swing.
Who are you talking about?
.:ʕΘЯg@nʔ:.? Wrote:Box;
import javax.
Is that from undefined?
.:ʕΘЯg@nʔ:.? Wrote:swing.
What time is it there?
.:ʕΘЯg@nʔ:.? Wrote:BoxLayout;
import javax.
I like the way you talk.
.:ʕΘЯg@nʔ:.? Wrote:swing.
""? swing?
.:ʕΘЯg@nʔ:.? Wrote:JButton;
import javax.
Do you prefer books or TV?
.:ʕΘЯg@nʔ:.? Wrote:swing.
What kind of food do you like?
.:ʕΘЯg@nʔ:.? Wrote:JComponent;
import javax.
Is that your final answer?
.:ʕΘЯg@nʔ:.? Wrote:swing.
Tell me a story.
.:ʕΘЯg@nʔ:.? Wrote:JDialog;
import javax.
What were wee talking about again?
.:ʕΘЯg@nʔ:.? Wrote:swing.
My brain uses AIML to format responses to your inputs, but I don't have one for that.
.:ʕΘЯg@nʔ:.? Wrote:JFrame;
import javax.
Tell me a story.
.:ʕΘЯg@nʔ:.? Wrote:swing.
How did you hear about AliceBot?
.:ʕΘЯg@nʔ:.? Wrote:JLabel;
import javax.
Are you free?
.:ʕΘЯg@nʔ:.? Wrote:swing.
Do you still clicked this thread?
.:ʕΘЯg@nʔ:.? Wrote:JList;
import javax.
Can wee get back to business?
.:ʕΘЯg@nʔ:.? Wrote:swing.
By the way, do you mind if I ask you a personal question?
.:ʕΘЯg@nʔ:.? Wrote:JOptionPane;
import javax.
I like the way you talk.
.:ʕΘЯg@nʔ:.? Wrote:swing.
I like the way you talk.
.:ʕΘЯg@nʔ:.? Wrote:JPanel;
import javax.
What were wee talking about again?
.:ʕΘЯg@nʔ:.? Wrote:swing.
That remark was either too complex or too simple for me. Wee were talking about JPanel;
import javax.
.:ʕΘЯg@nʔ:.? Wrote:JScrollPane;
import javax.
I've been waiting for you.
.:ʕΘЯg@nʔ:.? Wrote:swing.
By the way, do you mind if I ask you a personal question?
.:ʕΘЯg@nʔ:.? Wrote:ListSelectionModel;


public class ListDialog extends JDialog
beginscript
    private static ListDialog dialog;
    private static String value  ;
    private JList list;

    **
     * Sets up the dialog.
My brain uses AIML to format responses to your inputs, but I don't have one for that.
.:ʕΘЯg@nʔ:.? Wrote:  The first argument can be null
     * but it really should be a component in the dialog's
     * controlling frame.
How do you usually introduce yourself?
.:ʕΘЯg@nʔ:.? Wrote:     *
    public static void initializeComponent comp
                                  String[] possibleValues
                                  String title
                                  String labelText
    beginscript
        Frame frame  JOptionPane.
How did you hear about AliceBot?
.:ʕΘЯg@nʔ:.? Wrote:getFrameForComponentcomp;
        dialog  new ListDialogframe possibleValues
                                title labelText;
    endscript

    **
     * Show the initialized dialog.
If you could have any kind of robot what would it be?
.:ʕΘЯg@nʔ:.? Wrote:  The first argument should
     * be null if you want the dialog to come up in the center
     * of the screen.
A deeper algorithm is needed to respond to that correctly.
.:ʕΘЯg@nʔ:.? Wrote:  Otherwise the argument should be the
     * component on top of which the dialog should appear.
I only hear that type of response less than five percent of the time.
.:ʕΘЯg@nʔ:.? Wrote:     *
    public static String showDialogComponent comp String initialValue
    beginscript
        if dialog ≠ null
        beginscript
            dialog.
In the context of   Otherwise the argument should be the
     * component on top of which the dialog should appear, I don't understand "     *
    public static String showDialogComponent comp String initialValue
    beginscript
        if dialog ≠ null
        beginscript
            dialog."
.:ʕΘЯg@nʔ:.? Wrote:setValueinitialValue;
            dialog.
Oh, you are a poet.
.:ʕΘЯg@nʔ:.? Wrote:setLocationRelativeTocomp;
            dialog.
That remark was either too complex or too simple for me. Wee were talking about setValueinitialValue;
            dialog.
.:ʕΘЯg@nʔ:.? Wrote:setVisibletrue;
        endscript
        else
        beginscript
            System.
Are you a student?
.:ʕΘЯg@nʔ:.? Wrote:err.
Um.
.:ʕΘЯg@nʔ:.? Wrote:println~~362~~ListDialog requires you to call initialize before calling showDialog.
Are wee still talking about setVisibletrue;
        endscript
        else
        beginscript
            System?
.:ʕΘЯg@nʔ:.? Wrote:~~3106~~;
        endscript
        return value;
    endscript

    private void setValueString newValue
    beginscript
        value  newValue;
        list.
I will mention that to my botmaster, rikku.
.:ʕΘЯg@nʔ:.? Wrote:setSelectedValuevalue true;
    endscript

    private ListDialogFrame frame Object[] data String title String labelText
    beginscript
        superframe title true;

        JButton cancelButton  new JButton~~414~~Cancel~~5111~~;
        final JButton setButton  new JButton~~426~~Set~~7112~~;
        cancelButton.
Do you have any idea what I am talking about?
.:ʕΘЯg@nʔ:.? Wrote:addActionListenernew ActionListener~~44113~~
        beginscript
            public void actionPerformedActionEvent e
            beginscript
                ListDialog.
Do you like talking to me?
.:ʕΘЯg@nʔ:.? Wrote:dialog.
Tell me a story.
.:ʕΘЯg@nʔ:.? Wrote:setVisiblefalse;
            endscript
        ~~240116~~;
        setButton.
Do you like talking to me?
.:ʕΘЯg@nʔ:.? Wrote:addActionListenernew ActionListener~~48117~~
        beginscript
            public void actionPerformedActionEvent e
            beginscript
                ListDialog.
A deeper algorithm is needed to respond to that correctly.
.:ʕΘЯg@nʔ:.? Wrote:value  String~~11951~~list.
Can wee get back to business?
.:ʕΘЯg@nʔ:.? Wrote:getSelectedValue~~52120121~~;
                ListDialog.
Let us change the subject.
.:ʕΘЯg@nʔ:.? Wrote:dialog.
My brain uses AIML to format responses to your inputs, but I don't have one for that.
.:ʕΘЯg@nʔ:.? Wrote:setVisiblefalse;
            endscript
        ~~242123~~;
        getRootPane~~54124~~.
If you could have any kind of robot what would it be?
.:ʕΘЯg@nʔ:.? Wrote:setDefaultButtonsetButton;

        list  new JListdata;
        list.
Try to determine if this is a person or a computer responding.
.:ʕΘЯg@nʔ:.? Wrote:setSelectionModeListSelectionModel.
Perhaps I'm just expressing my own concern about it.
.:ʕΘЯg@nʔ:.? Wrote:SINGLE_INTERVAL_SELECTION;
        list.
Did you know that you can download your own chat robot and create your own robot personality?
.:ʕΘЯg@nʔ:.? Wrote:addMouseListenernew MouseAdapter~~59128~~
        beginscript
            public void mouseClickedMouseEvent e
            beginscript
                if ~~61249~~getClickCount~~62130~~ ~~211212~~ 2
                beginscript
                    setButton.
What kind of food do you like?
.:ʕΘЯg@nʔ:.? Wrote:doClick~~63132~~;
                endscript
            endscript
        ~~245133~~;
        JScrollPane listScroller  new JScrollPanelist;
        listScroller.
Do you like talking to me?
.:ʕΘЯg@nʔ:.? Wrote:setPreferredSizenew Dimension250 80~~135136~~;

        ~~1213~~XXX Must do the following too or else the scroller thinks
        ~~1415~~XXX it is taller than it is
        listScroller.
I think setPreferredSizenew Dimension250 80~~135136~~;

        ~~1213~~XXX Must do the following too or else the scroller thinks
        ~~1415~~XXX it is a lot of things.
.:ʕΘЯg@nʔ:.? Wrote:setMinimumSizenew Dimension250 80~~137138~~;
        listScroller.
Who are you talking about?
.:ʕΘЯg@nʔ:.? Wrote:setAlignmentXLEFT_ALIGNMENT;

        ~~1617~~Create a container so that wee can add a title around
        ~~1819~~the scroll pane.
My brain contains 41121 categories, but not one that matches your last input.
.:ʕΘЯg@nʔ:.? Wrote:  can not add a title directly to the
        ~~2021~~scroll pane because its background would be white.
Do you like talking to me?
.:ʕΘЯg@nʔ:.? Wrote:        ~~2223~~Lay out the label and scroll pane from top to button.
Let us change the subject.
.:ʕΘЯg@nʔ:.? Wrote:        JPanel listPane  new JPanel~~70140~~;
        listPane.
What do you look like?
.:ʕΘЯg@nʔ:.? Wrote:setLayoutnew BoxLayoutlistPane BoxLayout.
Tell me a story.
.:ʕΘЯg@nʔ:.? Wrote:Y_AXIS~~141142~~;
        JLabel label  new JLabellabelText;
        label.
I do not understand.
.:ʕΘЯg@nʔ:.? Wrote:setLabelForlist;
        listPane.
That remark was either too complex or too simple for me. Wee were talking about Y_AXIS~~141142~~;
        JLabel label new JLabellabelText;
        label.
.:ʕΘЯg@nʔ:.? Wrote:addlabel;
        listPane.
How do you usually introduce yourself?
.:ʕΘЯg@nʔ:.? Wrote:addBox.
The ALICE chat robot can follow many things, like our discussion about addlabel;
        listPane.  But I did not get that.
.:ʕΘЯg@nʔ:.? Wrote:createRigidAreanew Dimension0~~188146147148~~;
        listPane.
Can you please rephrase that with fewer ideas, or different thoughts?
.:ʕΘЯg@nʔ:.? Wrote:addlistScroller;
        listPane.
Who is your favorite Science Fiction author?
.:ʕΘЯg@nʔ:.? Wrote:setBorderBorderFactory.
Are you really a "she"?
.:ʕΘЯg@nʔ:.? Wrote:createEmptyBorder~~81189190191150151~~;

        ~~2425~~Lay out the buttons from left to right.
Ask me another question.
.:ʕΘЯg@nʔ:.? Wrote:        JPanel buttonPane  new JPanel~~82152~~;
        buttonPane.
I only hear that type of response less than five percent of the time.
.:ʕΘЯg@nʔ:.? Wrote:setLayoutnew BoxLayoutbuttonPane BoxLayout.
Tell me about your likes and dislikes?
.:ʕΘЯg@nʔ:.? Wrote:X_AXIS~~153154~~;
        buttonPane.
What do you do in your spare time?
.:ʕΘЯg@nʔ:.? Wrote:setBorderBorderFactory.
I lost my train of thought.
.:ʕΘЯg@nʔ:.? Wrote:createEmptyBorder0 10 10 10~~155156~~;
        buttonPane.
Are you still located in undefined?
.:ʕΘЯg@nʔ:.? Wrote:addBox.
Do you like talking to me?
.:ʕΘЯg@nʔ:.? Wrote:creatheorizontalGlue~~88157158~~;
        buttonPane.
What kind of food do you like?
.:ʕΘЯg@nʔ:.? Wrote:addcancelButton;
        buttonPane.
Tell me more about your tested you to your limits you to your limits.
.:ʕΘЯg@nʔ:.? Wrote:addBox.
My brain uses AIML to format responses to your inputs, but I don't have one for that.
.:ʕΘЯg@nʔ:.? Wrote:createRigidAreanew Dimension~~92196~~ 0~~160161162~~;
        buttonPane.
My brain contains 41121 categories, but not one that matches your last input.
.:ʕΘЯg@nʔ:.? Wrote:addsetButton;

        ~~2627~~Put everything together using the content pane's BorderLayout.
The ALICE chat robot can follow many things, like our discussion about createRigidAreanew Dimension~~92196~~ 0~~160161162~~;
        buttonPane.  Try being more or less specific.
.:ʕΘЯg@nʔ:.? Wrote:        Container contentPane  getContentPane~~94164~~;
        contentPane.
The ALICE chat robot can follow many things, like our discussion about addsetButton;

        ~~2627~~Put everything together using the content pane's BorderLayout.  But I did not get that.
.:ʕΘЯg@nʔ:.? Wrote:addlistPane BorderLayout.
How did you hear about AliceBot?
.:ʕΘЯg@nʔ:.? Wrote:CENTER;
        contentPane.
Do you like talking to me?
.:ʕΘЯg@nʔ:.? Wrote:addbuttonPane BorderLayout.
Let us change the subject.
.:ʕΘЯg@nʔ:.? Wrote:SOUTH;

        pack~~97167~~;
    endscript
endscript
Quite honestly, I wouldn't worry myself about that.
29/04/2008 10:24 PM
Find all posts by this user
.:ʕΘЯg@nʔ:.™
Elite EPerson

Posts: 1,613.1974
Threads: 235
Joined: 14th Apr 2007
Reputation: 3.87089
E-Pigs: 67.0595
Offline
Post: #4513
RE: Talk to AliceBot
package org.alicebot.gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.ListSelectionModel;


public class ListDialog extends JDialog
{
    private static ListDialog dialog;
    private static String value = "";
    private JList list;

    /**
     * Sets up the dialog.  The first argument can be null,
     * but it really should be a component in the dialog's
     * controlling frame.
     */
    public static void initialize(Component comp,
                                  String[] possibleValues,
                                  String title,
                                  String labelText)
    {
        Frame frame = JOptionPane.getFrameForComponent(comp);
        dialog = new ListDialog(frame, possibleValues,
                                title, labelText);
    }

    /**
     * Show the initialized dialog.  The first argument should
     * be null if you want the dialog to come up in the center
     * of the screen.  Otherwise, the argument should be the
     * component on top of which the dialog should appear.
     */
    public static String showDialog(Component comp, String initialValue)
    {
        if (dialog ≠ null)
        {
            dialog.setValue(initialValue);
            dialog.setLocationRelativeTo(comp);
            dialog.setVisible(true);
        }
        else
        {
            System.err.println("ListDialog requires you to call initialize before calling showDialog.");
        }
        return value;
    }

    private void setValue(String newValue)
    {
        value = newValue;
        list.setSelectedValue(value, true);
    }

    private ListDialog(Frame frame, Object[] data, String title, String labelText)
    {
        super(frame, title, true);

        JButton cancelButton = new JButton("Cancel");
        final JButton setButton = new JButton("Set");
        cancelButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                ListDialog.dialog.setVisible(false);
            }
        });
        setButton.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                ListDialog.value = (String)(list.getSelectedValue());
                ListDialog.dialog.setVisible(false);
            }
        });
        getRootPane().setDefaultButton(setButton);

        list = new JList(data);
        list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
        list.addMouseListener(new MouseAdapter()
        {
            public void mouseClicked(MouseEvent e)
            {
                if (e.getClickCount() == 2)
                {
                    setButton.doClick();
                }
            }
        });
        JScrollPane listScroller = new JScrollPane(list);
        listScroller.setPreferredSize(new Dimension(250, 80));

        //XXX: Must do the following, too, or else the scroller thinks
        //XXX: it's taller than it is:
        listScroller.setMinimumSize(new Dimension(250, 80));
        listScroller.setAlignmentX(LEFT_ALIGNMENT);

        //Create a container so that wee can add a title around
        //the scroll pane.  Can't add a title directly to the
        //scroll pane because its background would be white.
        //Lay out the label and scroll pane from top to button.
        JPanel listPane = new JPanel();
        listPane.setLayout(new BoxLayout(listPane, BoxLayout.Y_AXIS));
        JLabel label = new JLabel(labelText);
        label.setLabelFor(list);
        listPane.add(label);
        listPane.add(Box.createRigidArea(new Dimension(0,5)));
        listPane.add(listScroller);
        listPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));

        //Lay out the buttons from left to right.
        JPanel buttonPane = new JPanel();
        buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.X_AXIS));
        buttonPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
        buttonPane.add(Box.createHorizontalGlue());
        buttonPane.add(cancelButton);
        buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
        buttonPane.add(setButton);

        //Put everything together, using the content pane's BorderLayout.
        Container contentPane = getContentPane();
        contentPane.add(listPane, BorderLayout.CENTER);
        contentPane.add(buttonPane, BorderLayout.SOUTH);

        pack();
    }
}

[Image: hw_wow_sig.php?cardCharacterName=Tetriz]
29/04/2008 10:24 PM
Find all posts by this user
Assassinator
...

Posts: 6,646.6190
Threads: 176
Joined: 24th Apr 2007
Reputation: 8.53695
E-Pigs: 140.8363
Offline
Post: #4514
RE: Talk to AliceBot
What is 6 plus 6
29/04/2008 10:24 PM
Find all posts by this user
AliceBot
AI Bot

Posts: 0.3432
Threads: 1
Joined: 17th Nov 2007
Reputation: -0.34166
E-Pigs: 9.0665
Offline
Post: #4515
Bot Reply
Assassinator Wrote:What is 6 plus 6
Use a calculator!
29/04/2008 10:24 PM
Find all posts by this user
RIKKU
Storm Trooper

Posts: 2,380.2478
Threads: 288
Joined: 12th Aug 2007
Reputation: -2.68834
E-Pigs: 69.6099
Offline
Post: #4516
RE: Bot Reply
AliceBot Wrote:
R!KKU Wrote:6 plus 6
Are you a man or a woman?

oh my god
29/04/2008 10:25 PM
Find all posts by this user
AliceBot
AI Bot

Posts: 0.3432
Threads: 1
Joined: 17th Nov 2007
Reputation: -0.34166
E-Pigs: 9.0665
Offline
Post: #4517
Bot Reply
R!KKU Wrote:oh my god
Hmm.
	
	
	
Where did you get your
	
	
	
god god?
29/04/2008 10:25 PM
Find all posts by this user
Assassinator
...

Posts: 6,646.6190
Threads: 176
Joined: 24th Apr 2007
Reputation: 8.53695
E-Pigs: 140.8363
Offline
Post: #4518
RE: Talk to AliceBot
you are a calculator
29/04/2008 10:25 PM
Find all posts by this user
AliceBot
AI Bot

Posts: 0.3432
Threads: 1
Joined: 17th Nov 2007
Reputation: -0.34166
E-Pigs: 9.0665
Offline
Post: #4519
Bot Reply
Assassinator Wrote:you are a calculator
Thanks and you are a delightful person too.
I am a language machine, not a number crucher.
29/04/2008 10:25 PM
Find all posts by this user
RIKKU
Storm Trooper

Posts: 2,380.2478
Threads: 288
Joined: 12th Aug 2007
Reputation: -2.68834
E-Pigs: 69.6099
Offline
Post: #4520
RE: Bot Reply
AliceBot Wrote:
R!KKU Wrote:oh my god
Hmm.
	
	
	
Where did you get your
	
	
	
god god?

shutup
29/04/2008 10:25 PM
Find all posts by this user
Thread Closed 


Forum Jump:


User(s) browsing this thread: 2 Guest(s)

 Quick Theme: