org.apache.activemq.ActiveMQSession.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of activemq-core Show documentation
Show all versions of activemq-core Show documentation
The ActiveMQ Message Broker and Client implementations
???? 1? G? G?
G?
??
? G? G? G??
? G??
? G? G?? G? G??? G? G? G? G? G??
??
??
? G??
?
G??
"? G?
??
??
G?
??
G?
??
?? G??
-? G?
??
??
G?
G? G??
5?
G??
8??
:??
<?
<??
???
A?
A?
G??
E?
E?
E??
G?
I?
E??
M?
E?
??
E?
M?
G?
G?
G???
V??
Y?
G?
Y??
Y?
?
Y???
??
? G?
G?
??
h?
?
G?
? G?
??
-?
?
s
u
?
s
-
?
s
s?
s
??
G?
?
:
s? G
-
-
,
:
?
G
G
??
:! G"N#
G$
,%&'()?*
?+,
?-
./
?0
G1
?2
??3
?4
G?5N67 ?8
?9
G:
;<
?=>
G?
G@
GA
GB ?C
?DE
FG
FH
GI
FJ
GK
sLM
?NO
??P
??Q
??R
??
GS ?T
?U
GV
?W
FX
FYZ
?[
G\]
?^
?_`a
Gb ?cd
?e ?fg
?h
Gi ?j ?kl
?h
?m
-no
pq
pr
ss
t
su
"v
sw
?x
?y
"z
{
?|
?}
~
??
??
?
s?
-?
s
??
?
???
??
??
????
?
??????
??
??????????
;??
?
:?
:/
???
:?
:2
??
:?
:?
:??????
:?
??
:?
??
:?
??
??
??
?
-??????
??
????
-?
? G? G?
-???
Y???
s?
s?
??
s?
s???????
s?
G?
??
G??
???????? DeliveryListener InnerClasses INDIVIDUAL_ACKNOWLEDGE I
ConstantValue MAX_ACK_CONSTANT LOG Lorg/apache/commons/logging/Log; scheduler &Lorg/apache/activemq/thread/Scheduler; connectionExecutor )Ljava/util/concurrent/ThreadPoolExecutor; acknowledgementMode
connection (Lorg/apache/activemq/ActiveMQConnection; info )Lorg/apache/activemq/command/SessionInfo; consumerIdGenerator 0Lorg/apache/activemq/util/LongSequenceGenerator; producerIdGenerator deliveryIdGenerator executor -Lorg/apache/activemq/ActiveMQSessionExecutor; started +Ljava/util/concurrent/atomic/AtomicBoolean; consumers +Ljava/util/concurrent/CopyOnWriteArrayList; Signature ZLjava/util/concurrent/CopyOnWriteArrayList; producers ZLjava/util/concurrent/CopyOnWriteArrayList; closed Z synchronizationRegistered
asyncDispatch sessionAsyncDispatch debug sendMutex Ljava/lang/Object; messageListener Ljavax/jms/MessageListener; stats 4Lorg/apache/activemq/management/JMSSessionStatsImpl; transactionContext (Lorg/apache/activemq/TransactionContext; deliveryListener 6Lorg/apache/activemq/ActiveMQSession$DeliveryListener; transformer (Lorg/apache/activemq/MessageTransformer; blobTransferPolicy -Lorg/apache/activemq/blob/BlobTransferPolicy; lastDeliveredSequenceId J U(Lorg/apache/activemq/ActiveMQConnection;Lorg/apache/activemq/command/SessionId;IZZ)V Code LineNumberTable LocalVariableTable this %Lorg/apache/activemq/ActiveMQSession; sessionId 'Lorg/apache/activemq/command/SessionId; acknowledgeMode
Exceptions T(Lorg/apache/activemq/ActiveMQConnection;Lorg/apache/activemq/command/SessionId;IZ)V setTransactionContext +(Lorg/apache/activemq/TransactionContext;)V getTransactionContext *()Lorg/apache/activemq/TransactionContext; getStats ,()Lorg/apache/activemq/management/StatsImpl; getSessionStats 6()Lorg/apache/activemq/management/JMSSessionStatsImpl; createBytesMessage ()Ljavax/jms/BytesMessage; message 2Lorg/apache/activemq/command/ActiveMQBytesMessage; createMapMessage ()Ljavax/jms/MapMessage; 0Lorg/apache/activemq/command/ActiveMQMapMessage;
createMessage ()Ljavax/jms/Message; -Lorg/apache/activemq/command/ActiveMQMessage; createObjectMessage ()Ljavax/jms/ObjectMessage; 3Lorg/apache/activemq/command/ActiveMQObjectMessage; 1(Ljava/io/Serializable;)Ljavax/jms/ObjectMessage; object Ljava/io/Serializable; createStreamMessage ()Ljavax/jms/StreamMessage; 3Lorg/apache/activemq/command/ActiveMQStreamMessage; createTextMessage ()Ljavax/jms/TextMessage; 1Lorg/apache/activemq/command/ActiveMQTextMessage; +(Ljava/lang/String;)Ljavax/jms/TextMessage; text Ljava/lang/String; createBlobMessage 1(Ljava/net/URL;)Lorg/apache/activemq/BlobMessage; url Ljava/net/URL; 2(Ljava/net/URL;Z)Lorg/apache/activemq/BlobMessage; deletedByBroker 1Lorg/apache/activemq/command/ActiveMQBlobMessage; 1(Ljava/io/File;)Lorg/apache/activemq/BlobMessage; file Ljava/io/File; 8(Ljava/io/InputStream;)Lorg/apache/activemq/BlobMessage; in Ljava/io/InputStream;
getTransacted ()Z getAcknowledgeMode ()I commit ()V rollback close doClose
removeCommand (Lorg/apache/activemq/command/RemoveInfo; clearMessagesInProgress consumer -Lorg/apache/activemq/ActiveMQMessageConsumer; i$ Ljava/util/Iterator; deliverAcks iter LocalVariableTypeTable CLjava/util/Iterator; dispose producer -Lorg/apache/activemq/ActiveMQMessageProducer; e Ljavax/jms/JMSException; CLjava/util/Iterator; configureMessage 0(Lorg/apache/activemq/command/ActiveMQMessage;)V checkClosed recover c getMessageListener ()Ljavax/jms/MessageListener; setMessageListener (Ljavax/jms/MessageListener;)V listener run Ljava/lang/RuntimeException; ack (Lorg/apache/activemq/command/MessageAck; Ljava/lang/Throwable; md -Lorg/apache/activemq/command/MessageDispatch; messageDispatch createProducer 4(Ljavax/jms/Destination;)Ljavax/jms/MessageProducer; customDestination 'Lorg/apache/activemq/CustomDestination; destination Ljavax/jms/Destination; timeSendOut createConsumer 4(Ljavax/jms/Destination;)Ljavax/jms/MessageConsumer; F(Ljavax/jms/Destination;Ljava/lang/String;)Ljavax/jms/MessageConsumer; messageSelector O(Ljavax/jms/Destination;Ljavax/jms/MessageListener;)Ljavax/jms/MessageConsumer; a(Ljavax/jms/Destination;Ljava/lang/String;Ljavax/jms/MessageListener;)Ljavax/jms/MessageConsumer; G(Ljavax/jms/Destination;Ljava/lang/String;Z)Ljavax/jms/MessageConsumer; noLocal b(Ljavax/jms/Destination;Ljava/lang/String;ZLjavax/jms/MessageListener;)Ljavax/jms/MessageConsumer; prefetchPolicy ,Lorg/apache/activemq/ActiveMQPrefetchPolicy; prefetch activemqDestination 1Lorg/apache/activemq/command/ActiveMQDestination; createQueue %(Ljava/lang/String;)Ljavax/jms/Queue; queueName createTopic %(Ljava/lang/String;)Ljavax/jms/Topic; topicName createDurableSubscriber @(Ljavax/jms/Topic;Ljava/lang/String;)Ljavax/jms/TopicSubscriber; topic Ljavax/jms/Topic; name S(Ljavax/jms/Topic;Ljava/lang/String;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; maxPrendingLimit
createBrowser +(Ljavax/jms/Queue;)Ljavax/jms/QueueBrowser; queue Ljavax/jms/Queue; =(Ljavax/jms/Queue;Ljava/lang/String;)Ljavax/jms/QueueBrowser; createTemporaryQueue ()Ljavax/jms/TemporaryQueue; createTemporaryTopic ()Ljavax/jms/TemporaryTopic; createReceiver ,(Ljavax/jms/Queue;)Ljavax/jms/QueueReceiver; >(Ljavax/jms/Queue;Ljava/lang/String;)Ljavax/jms/QueueReceiver; createSender *(Ljavax/jms/Queue;)Ljavax/jms/QueueSender; createSubscriber .(Ljavax/jms/Topic;)Ljavax/jms/TopicSubscriber; A(Ljavax/jms/Topic;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; createPublisher -(Ljavax/jms/Topic;)Ljavax/jms/TopicPublisher; unsubscribe (Ljava/lang/String;)V dispatch 0(Lorg/apache/activemq/command/MessageDispatch;)V Ljava/lang/InterruptedException; acknowledge addConsumer 0(Lorg/apache/activemq/ActiveMQMessageConsumer;)V removeConsumer addProducer 0(Lorg/apache/activemq/ActiveMQMessageProducer;)V removeProducer start stop getSessionId )()Lorg/apache/activemq/command/SessionId; getNextConsumerId *()Lorg/apache/activemq/command/ConsumerId; getNextProducerId *()Lorg/apache/activemq/command/ProducerId; send ?(Lorg/apache/activemq/ActiveMQMessageProducer;Lorg/apache/activemq/command/ActiveMQDestination;Ljavax/jms/Message;IIJLorg/apache/activemq/usage/MemoryUsage;I)V timeStamp size txid +Lorg/apache/activemq/command/TransactionId; sequenceNumber
expiration msg Ljavax/jms/Message; deliveryMode priority
timeToLive producerWindow 'Lorg/apache/activemq/usage/MemoryUsage; sendTimeout doStartTransaction hasUncomsumedMessages isTransacted isClientAcknowledge isAutoAcknowledge isDupsOkAcknowledge isIndividualAcknowledge getDeliveryListener 8()Lorg/apache/activemq/ActiveMQSession$DeliveryListener; setDeliveryListener 9(Lorg/apache/activemq/ActiveMQSession$DeliveryListener;)V getSessionInfo +()Lorg/apache/activemq/command/SessionInfo; asyncSendPacket ((Lorg/apache/activemq/command/Command;)V command %Lorg/apache/activemq/command/Command; syncSendPacket M(Lorg/apache/activemq/command/Command;)Lorg/apache/activemq/command/Response; getNextDeliveryId ()J
redispatch W(Lorg/apache/activemq/ActiveMQDispatcher;Lorg/apache/activemq/MessageDispatchChannel;)V
dispatcher (Lorg/apache/activemq/ActiveMQDispatcher; unconsumedMessages ,Lorg/apache/activemq/MessageDispatchChannel; Ljava/util/List; CLjava/util/Iterator; ?Ljava/util/List; isRunning isAsyncDispatch setAsyncDispatch (Z)V isSessionAsyncDispatch setSessionAsyncDispatch getTransformer *()Lorg/apache/activemq/MessageTransformer;
getConnection *()Lorg/apache/activemq/ActiveMQConnection; setTransformer +(Lorg/apache/activemq/MessageTransformer;)V getBlobTransferPolicy /()Lorg/apache/activemq/blob/BlobTransferPolicy; setBlobTransferPolicy 0(Lorg/apache/activemq/blob/BlobTransferPolicy;)V getUnconsumedMessages ()Ljava/util/List; toString ()Ljava/lang/String; checkMessageListener i setOptimizeAcknowledge value setPrefetchSize ,(Lorg/apache/activemq/command/ConsumerId;I)V id (Lorg/apache/activemq/command/ConsumerId; +(Lorg/apache/activemq/command/ConsumerId;)V isInUse 8(Lorg/apache/activemq/command/ActiveMQTempDestination;)Z 5Lorg/apache/activemq/command/ActiveMQTempDestination; getLastDeliveredSequenceId sendAck +(Lorg/apache/activemq/command/MessageAck;)V ,(Lorg/apache/activemq/command/MessageAck;Z)V lazy getScheduler (()Lorg/apache/activemq/thread/Scheduler; getConnectionExecutor +()Ljava/util/concurrent/ThreadPoolExecutor;
access$000 ((Lorg/apache/activemq/ActiveMQSession;)V x0
access$102 )(Lorg/apache/activemq/ActiveMQSession;Z)Z x1
access$200 M(Lorg/apache/activemq/ActiveMQSession;)Lorg/apache/activemq/thread/Scheduler;
SourceFile ActiveMQSession.javaXYqp???? .org/apache/activemq/util/LongSequenceGeneratorabcbdb )java/util/concurrent/atomic/AtomicBoolean?egh )java/util/concurrent/CopyOnWriteArrayListijmj java/lang/ObjectuvVW???tp]^\Rrpsp 'org/apache/activemq/command/SessionInfo?????X??_` &org/apache/activemq/TransactionContext???? 2org/apache/activemq/management/JMSSessionStatsImpl??yzQRhilmnopq????Z[ +org/apache/activemq/ActiveMQSessionExecutor??ef????,???{| 0org/apache/activemq/command/ActiveMQBytesMessage?? .org/apache/activemq/command/ActiveMQMapMessage +org/apache/activemq/command/ActiveMQMessage 1org/apache/activemq/command/ActiveMQObjectMessage?? 1org/apache/activemq/command/ActiveMQStreamMessage /org/apache/activemq/command/ActiveMQTextMessage?!?? /org/apache/activemq/command/ActiveMQBlobMessage???e 'org/apache/activemq/blob/BlobDownloader?q?? %org/apache/activemq/blob/BlobUploader??????u?!????F??? javax/jms/IllegalStateException Not a transacted session?! java/lang/StringBuilder./?? Transaction Commit :????tut??? Transaction Rollback??op???? %org/apache/activemq/ActiveMQSession$1 ?????????????? ? +org/apache/activemq/ActiveMQMessageConsumer? %org/apache/activemq/ActiveMQSession$2? ??-?
?X? +org/apache/activemq/ActiveMQMessageProducer? javax/jms/JMSException?? The Session is closed This session is transactedwxe?G?J? %org/apache/activemq/ActiveMQSession$3}~ WX!?"#$ java/lang/RuntimeException error dispatching message: %&'( &org/apache/activemq/command/MessageAck?)*+,-.D?/0 %org/apache/activemq/ActiveMQSession$4?1 java/lang/Throwable2 %org/apache/activemq/CustomDestination?34?23567?8 java/lang/String?????????9:; javax/jms/Topic<=?>?01??c??@ ID:AB -org/apache/activemq/command/ActiveMQTempQueue )org/apache/activemq/command/ActiveMQQueue -org/apache/activemq/command/ActiveMQTempTopic )org/apache/activemq/command/ActiveMQTopicCD?H?E?F?G? +org/apache/activemq/ActiveMQTopicSubscriber?H
(org/apache/activemq/ActiveMQQueueBrowser?IJK javax/jms/TemporaryQueue javax/jms/TemporaryTopicL )org/apache/activemq/ActiveMQQueueReceiver?MN 'org/apache/activemq/ActiveMQQueueSender?OPQ *org/apache/activemq/ActiveMQTopicPublisher !R# java/lang/InterruptedExceptionSTUV?%?WXY?Z?[1\]^~_?`X^abcde3)f+ghe &org/apache/activemq/command/ConsumerIdiX?j &org/apache/activemq/command/ProducerIdkl?mn %javax/jms/InvalidDestinationException )Cannot publish to a deleted Destination: oXpqrstu?vwXx?y?zt{e|} %org/apache/activemq/command/MessageId?~.?!????????g?? sending message: ???????????????U?UV??E???s? +org/apache/activemq/command/MessageDispatch??????#?????rs ActiveMQSession {id= ,started=?? } DCannot synchronously receive a message when a MessageListener is set??xe?Xzt?? Exception closing consumer?& Closed consumer on Command??????? #org/apache/activemq/ActiveMQSession??? javax/jms/Session javax/jms/QueueSession javax/jms/TopicSession +org/apache/activemq/management/StatsCapable &org/apache/activemq/ActiveMQDispatcher 4org/apache/activemq/ActiveMQSession$DeliveryListener org/apache/commons/logging/Log isDebugEnabled &org/apache/activemq/ActiveMQConnection getConnectionInfo .()Lorg/apache/activemq/command/ConnectionInfo; %org/apache/activemq/command/SessionId getValue 0(Lorg/apache/activemq/command/ConnectionInfo;J)V +(Lorg/apache/activemq/ActiveMQConnection;)V #(Ljava/util/List;Ljava/util/List;)V getExecutor
addSession isStarted setObject (Ljava/io/Serializable;)V setText setURL (Ljava/net/URL;)V setDeletedByBroker setBlobDownloader ,(Lorg/apache/activemq/blob/BlobDownloader;)V >(Lorg/apache/activemq/blob/BlobTransferPolicy;Ljava/io/File;)V setBlobUploader *(Lorg/apache/activemq/blob/BlobUploader;)V java/io/File getName setName E(Lorg/apache/activemq/blob/BlobTransferPolicy;Ljava/io/InputStream;)V append -(Ljava/lang/Object;)Ljava/lang/StringBuilder; -(Ljava/lang/String;)Ljava/lang/StringBuilder; getTransactionId -()Lorg/apache/activemq/command/TransactionId; (Ljava/lang/Object;)V isInXATransaction addSynchronization 4(Lorg/apache/activemq/transaction/Synchronization;)V createRemoveCommand *()Lorg/apache/activemq/command/RemoveInfo; &org/apache/activemq/command/RemoveInfo setLastDeliveredSequenceId (J)V iterator ()Ljava/util/Iterator; java/util/Iterator hasNext next ()Ljava/lang/Object; inProgressClearRequired U(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/ActiveMQMessageConsumer;)V $org/apache/activemq/thread/Scheduler executeAfterDelay (Ljava/lang/Runnable;J)V getFirstFailureError ()Ljava/io/IOException; setFailureError (Ljava/io/IOException;)V java/lang/Math max (JJ)J clear isInLocalTransaction
removeSession
setConnection setDispatchedBySessionPool
dequeueNoWait /()Lorg/apache/activemq/command/MessageDispatch;
getMessage '()Lorg/apache/activemq/command/Message; isExpired isDuplicate P(Lorg/apache/activemq/ActiveMQDispatcher;Lorg/apache/activemq/command/Message;)Z setAcknowledgeCallback &(Lorg/apache/activemq/util/Callback;)V beforeDelivery ;(Lorg/apache/activemq/ActiveMQSession;Ljavax/jms/Message;)V setDeliverySequenceId javax/jms/MessageListener onMessage (Ljavax/jms/Message;)V error *(Ljava/lang/Object;Ljava/lang/Throwable;)V onClientInternalException (Ljava/lang/Throwable;)V 2(Lorg/apache/activemq/command/MessageDispatch;BI)V #org/apache/activemq/command/Message getMessageId )()Lorg/apache/activemq/command/MessageId; setFirstMessageId *(Lorg/apache/activemq/command/MessageId;)V setTransactionId .(Lorg/apache/activemq/command/TransactionId;)V U(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/MessageDispatch;)V
afterDelivery B(Lorg/apache/activemq/ActiveMQSession;)Ljavax/jms/MessageProducer; getSendTimeout 1org/apache/activemq/ActiveMQMessageTransformation transformDestination J(Ljavax/jms/Destination;)Lorg/apache/activemq/command/ActiveMQDestination; ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ProducerId;Lorg/apache/activemq/command/ActiveMQDestination;I)V U(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;Z)Ljavax/jms/MessageConsumer; getPrefetchPolicy .()Lorg/apache/activemq/ActiveMQPrefetchPolicy; *org/apache/activemq/ActiveMQPrefetchPolicy getTopicPrefetch getQueuePrefetch getMaximumPendingMessageLimit ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;Ljava/lang/String;IIZZZLjavax/jms/MessageListener;)V
startsWith (Ljava/lang/String;)Z g(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; !checkClientIDWasManuallySpecified isOptimizedMessageDispatch getOptimizeDurableTopicPrefetch getDurableTopicPrefetch ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;Ljava/lang/String;IIZZZ)V ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;Z)V createTempDestination 8(Z)Lorg/apache/activemq/command/ActiveMQTempDestination; R(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;)Ljavax/jms/QueueReceiver; ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;IIZ)V >(Lorg/apache/activemq/ActiveMQSession;)Ljavax/jms/QueueSender; Z(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ActiveMQDestination;I)V U(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; A(Lorg/apache/activemq/ActiveMQSession;)Ljavax/jms/TopicPublisher; execute java/lang/Thread
currentThread ()Ljava/lang/Thread; interrupt add (Ljava/lang/Object;)Z isDurableSubscriber onCreateDurableSubscriber
getConsumerId
addDispatcher S(Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/ActiveMQDispatcher;)V removeDispatcher onRemoveDurableSubscriber remove +(Lorg/apache/activemq/ActiveMQDispatcher;)V getProducerInfo ,()Lorg/apache/activemq/command/ProducerInfo; (org/apache/activemq/command/ProducerInfo
getProducerId X(Lorg/apache/activemq/command/ProducerId;Lorg/apache/activemq/ActiveMQMessageProducer;)V +(Lorg/apache/activemq/command/ProducerId;)V set getNextSequenceId +(Lorg/apache/activemq/command/SessionId;J)V /org/apache/activemq/command/ActiveMQDestination isTemporary isDeleted 4(Lorg/apache/activemq/command/ActiveMQDestination;)Z getMessageSequence javax/jms/Message setJMSDestination (Ljavax/jms/Destination;)V setJMSDeliveryMode (I)V getDisableMessageTimestamp java/lang/System currentTimeMillis setJMSTimestamp setJMSExpiration setJMSPriority setJMSRedelivered transformMessage j(Ljavax/jms/Message;Lorg/apache/activemq/ActiveMQConnection;)Lorg/apache/activemq/command/ActiveMQMessage; ,(Lorg/apache/activemq/command/ProducerId;J)V setMessageId setJMSMessageID
setBrokerPath *([Lorg/apache/activemq/command/BrokerId;)V isCopyMessageOnSend copy onSend
setProducerId isTraceEnabled trace isResponseRequired isAlwaysSyncSend isPersistent isUseAsyncSend getSize %org/apache/activemq/usage/MemoryUsage
increaseUsage N(Lorg/apache/activemq/command/Command;I)Lorg/apache/activemq/command/Response; begin *org/apache/activemq/MessageDispatchChannel removeAll java/util/List rollbackDuplicate P(Lorg/apache/activemq/ActiveMQDispatcher;Lorg/apache/activemq/command/Message;)V java/util/Collections reverse (Ljava/util/List;)V executeFirst get (Z)Ljava/lang/StringBuilder; equals warn isSendAcksAsync %org/apache/commons/logging/LogFactory getLog 3(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; !G IJKLM QR S T UR S T VW XY Z[ \R ]^ _` ab cb db ef gh ij k l mj k n op Bqp rp sp tp uv wx yz {| }~ ? ?? ?? k ?? ? ? ?*? *? Y? ? *? Y? ? *? Y? ? *?
Y? ? *?
Y? ? *?
Y? ? *? Y? ? *? ? ? *+? *? *? *? *? Y+? ,? ? ? *? Y+? ? !*? "Y*? *? ? #? $*? *? ? %*+? &? '*+? (? )*+? *? *+? +? ,*? -Y*? .? /+*? 0+? 1? *? 2? ? j ? ? ? ? % ? 1 ? <