Files
Dokumenten-Check/dc-backend/target/classes/de/frigosped/dc/service/EvaluationService.class

215 lines
19 KiB
Plaintext
Raw Normal View History

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ax
2026-04-27 14:57:33 +02:00
 java/lang/Object<init>()V
 
java/lang/StringisBlank()Z  )de/frigosped/dc/service/EvaluationServiceLOGLorg/jboss/logging/Logger;#Starte Übersetzung (%d Zeichen)...
 length()I
  org/jboss/logging/Loggerdebugf(Ljava/lang/String;I)V"eDu bist ein professioneller Übersetzer für rechtliche und logistische Dokumente.
Übersetze den folgenden Text ins Deutsche.
Regeln:
- Behalte die Markdown-Formatierung exakt bei
- Fachbegriffe korrekt übersetzen
- Wenn der Text bereits auf Deutsch ist, gib ihn unverändert zurück
- Antworte NUR mit dem übersetzten Text, ohne Kommentar oder Präambel
$%& '(*dev/langchain4j/data/message/SystemMessagefrom@(Ljava/lang/String;)Ldev/langchain4j/data/message/SystemMessage;
2026-06-01 14:21:42 +02:00
*+, '-(dev/langchain4j/data/message/UserMessage>(Ljava/lang/String;)Ldev/langchain4j/data/message/UserMessage; /01 23java/util/Listof6(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/List; 5 67 mainModel.Ldev/langchain4j/model/chat/ChatLanguageModel; 9:; <=,dev/langchain4j/model/chat/ChatLanguageModelgenerate9(Ljava/util/List;)Ldev/langchain4j/model/output/Response; ? @A costTracker.Lde/frigosped/dc/service/AiCostTrackerService;CmainE TRANSLATE
GHI JKjava/lang/LongvalueOf(J)Ljava/lang/Long;
MNO PQ%dev/langchain4j/model/output/Response
tokenUsage+()Ldev/langchain4j/model/output/TokenUsage;
STU VW,de/frigosped/dc/service/AiCostTrackerServicetrackp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Long;Ljava/lang/Long;Ldev/langchain4j/model/output/TokenUsage;)V
MY Z[content()Ljava/lang/Object;]&dev/langchain4j/data/message/AiMessage
\_ `atext()Ljava/lang/String;
c datrim
f ghstripCodeFence&(Ljava/lang/String;)Ljava/lang/String;j```
l mn
startsWith(Ljava/lang/String;)Z
p qrindexOf(I)I
t uv substring(I)Ljava/lang/String;
x ynendsWith
{ u|(II)Ljava/lang/String; /~ 2()Ljava/util/List;<00><02>Du analysierst Transport- und Speditionsdokumente und findest Verweise auf
EXTERNE Dokumente, die per Link erreichbar sind (z. B. AGB, Allgemeine
Geschäftsbedingungen, Verhaltenskodex/Code of Conduct, Vertragsbedingungen,
Sicherheits- oder Compliance-Richtlinien).
Gib NUR Links zurück, die tatsächlich im Text stehen und auf ein solches
Dokument verweisen. Schließe ausdrücklich AUS: Login-/Portalseiten,
Video-Links (z. B. YouTube), Impressum, Datenschutz-Übersichtsseiten,
Hinweisgeber-/Whistleblower-Portale, Social-Media- und reine Startseiten.
Verändere die URLs nicht gib sie exakt so zurück, wie sie im Text stehen.
Antworte AUSSCHLIESSLICH mit einem gültigen JSON-Array von Strings (URLs).
Wenn es keine passenden Links gibt, antworte mit [].<00> <00>hmakeConcatWithConstants<00> REF_EXTRACT
<00> <00>hextractJsonArray <00> <00><00> objectMapper-Lcom/fasterxml/jackson/databind/ObjectMapper;
<00><00><00> <00><00>+com/fasterxml/jackson/databind/ObjectMappergetTypeFactory3()Lcom/fasterxml/jackson/databind/type/TypeFactory;
<00><00><00> <00><00>/com/fasterxml/jackson/databind/type/TypeFactoryconstructCollectionTypeX(Ljava/lang/Class;Ljava/lang/Class;)Lcom/fasterxml/jackson/databind/type/CollectionType;
<00><00> <00><00> readValueO(Ljava/lang/String;Lcom/fasterxml/jackson/databind/JavaType;)Ljava/lang/Object; /<00> <00><00>stream()Ljava/util/stream/Stream;<00> <00><00>test ()Ljava/util/function/Predicate; <00><00><00> <00><00>java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;<00> <00><00>apply()Ljava/util/function/Function; <00><00> <00><00>map8(Ljava/util/function/Function;)Ljava/util/stream/Stream; <00><00> <00><00>distinct
<00><00><00> <00><00>java/util/stream/CollectorstoList()Ljava/util/stream/Collector; <00><00> <00><00>collect0(Ljava/util/stream/Collector;)Ljava/lang/Object;<00>java/lang/Exception<00>*Referenz-URL-Extraktion fehlgeschlagen: %s
<00><00> <00>a
getMessage
<00> <00><00>warnf'(Ljava/lang/String;Ljava/lang/Object;)V<00>Werte Frage %d aus: %s
<00><00><00> <00><00>"de/frigosped/dc/model/OrdsQuestion getQuestionId()Ljava/lang/Long;
<00><00> <00>agetQuestionText
<00> <00><00>
2026-04-27 14:57:33 +02:00
abbreviate'(Ljava/lang/String;I)Ljava/lang/String;
<00> <00>9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
<00> <00>abuildEvaluationSystem
<00> <00><00>buildEvaluationUserJ(Lde/frigosped/dc/model/OrdsQuestion;Ljava/lang/String;)Ljava/lang/String;<00>EVALUATE
<00> <00><00>parseEvaluationResult`(Ljava/lang/String;Lde/frigosped/dc/model/OrdsQuestion;)Lde/frigosped/dc/model/EvaluationResult; /<00> <00> isEmpty <00><00><00> 2<00> java/util/Map()Ljava/util/Map;<00>Batch-Auswertung: %d Frage(n) /<00> <00>size
<00> <00>vbuildBatchSystem
<00> <00><00>buildBatchUser6(Ljava/util/List;Ljava/lang/String;)Ljava/lang/String;
 parseBatchResult4(Ljava/lang/String;Ljava/util/List;)Ljava/util/List;java/util/HashMap
 /  iterator()Ljava/util/Iterator;     java/util/IteratorhasNext   [next&de/frigosped/dc/model/EvaluationResult
<00> <00> put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; <00>J(Lde/frigosped/dc/service/EvaluationService;)Ljava/util/function/Function; <00> computeIfAbsentC(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;!<04>Du bist ein Experte für Transportrecht, AGB-Recht und Vertragsanalyse.
2026-04-27 14:57:33 +02:00
Du prüfst Transport- und Speditionsdokumente gegen einen Fragenkatalog.
Wichtige Suchregel: Suche im Dokument ZUERST nach expliziten, wörtlichen Formulierungen,
die die Anforderung direkt bestätigen oder verneinen. Zitiere immer die stärkste,
direkteste Textstelle. Nutze indirekte oder implizite Belege NUR dann, wenn keine
direkte Formulierung im Dokument existiert.
2026-06-10 14:21:59 +02:00
Antworte AUSSCHLIESSLICH mit einem gültigen JSON-Array kein Text davor oder danach.
Das Array enthält für JEDE Frage genau ein Objekt:
2026-04-27 14:57:33 +02:00
2026-06-10 14:21:59 +02:00
[
{
"question_id": <ID der Frage exakt wie angegeben>,
"answer": "<Antwort auf Deutsch; Zitate aus dem Dokument in Originalsprache mit Übersetzung in Klammern>",
"score": <Erfüllungsgrad 0 bis 100>,
"result_type": "<OK wenn score >= Schwellwert, NOK wenn klar nicht erfüllt, UNKLAR wenn grenzwertig>",
"the_comment": "<Kurzer fachlicher Kommentar auf Deutsch, max. 3 Sätze>"
}
]
2026-04-27 14:57:33 +02:00
2026-06-10 14:21:59 +02:00
Pflicht: Das Array muss GENAU %d Einträge enthalten (einen pro Frage).
Die question_id jedes Eintrags muss exakt der ID der gestellten Frage entsprechen.
2026-04-27 14:57:33 +02:00
#$% J&java/lang/Integer(I)Ljava/lang/Integer;
( )* formatted'([Ljava/lang/Object;)Ljava/lang/String;,java/lang/StringBuilder
+/## Zu prüfendes Dokument
2026-04-27 14:57:33 +02:00
+1 23append-(Ljava/lang/String;)Ljava/lang/StringBuilder;5
2026-04-27 14:57:33 +02:00
2026-06-10 14:21:59 +02:00
---
2026-04-27 14:57:33 +02:00
7## Prüffragen (
+9 2:(I)Ljava/lang/StringBuilder;<
2026-06-10 14:21:59 +02:00
Fragen)
2026-04-27 14:57:33 +02:00
/> ?@get(I)Ljava/lang/Object;B
### Frage D (ID:
+F 2G-(Ljava/lang/Object;)Ljava/lang/StringBuilder;I , Kategorie:
<00>K LagetCategoryNameN)
P
<00>R ST getThreshold()Ljava/lang/Integer;V**Schwellwert:** X9% unterhalb gilt die Anforderung als nicht erfüllt
<00>Z [agetExample0Percent]**Beispiel 0%:**
<00>_ `agetExample100Percentb**Beispiel 100%:** d(---
Antworte jetzt mit dem JSON-Array (f Einträge):
+h iatoString
k lTgetScore
n opsetScore(Ljava/lang/Integer;)V
r sa getAnsweruKeine Antwort erhalten.
w xy setAnswer(Ljava/lang/String;)V
{ |} setQuestionId(Ljava/lang/Long;)V
 <01>a getResultType
<01> <01>nisValidResultType
#<01> <01>intValue
<01> <01><01>deriveResultType((ILjava/lang/Integer;)Ljava/lang/String;
<01> <01>y setResultType<01>%Batch-JSON-Parsing fehlgeschlagen: %s<01>Rohe KI-Antwort: %s
<01> <00><01>java/lang/RuntimeException<00>
<01><01> <01>*(Ljava/lang/String;Ljava/lang/Throwable;)V<01>"java/lang/IllegalArgumentException<01>Leere KI-Antwort
<01><01> y <01> <01><01> JSON_PATTERNLjava/util/regex/Pattern;
<01><01><01> <01><01>java/util/regex/Patternmatcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
<01><01><01> <01> java/util/regex/Matcherfind
<01><01> <01>vgroup
<01> <01>a stripLeading<01>[
<01> <01>r lastIndexOf<01>&Kein JSON-Array in KI-Antwort gefunden
<01>UNKLAR<01>7Automatische Auswertung konnte nicht zugeordnet werden.
<01> <01>y setTheComment<01><03>Du bist ein Experte für Transportrecht, AGB-Recht und Vertragsanalyse.
2026-06-10 14:21:59 +02:00
Du prüfst Transport- und Speditionsdokumente gegen einen Fragenkatalog.
Wichtige Suchregel: Suche im Dokument ZUERST nach expliziten, wörtlichen Formulierungen,
die die Anforderung direkt bestätigen oder verneinen. Zitiere immer die stärkste,
direkteste Textstelle. Nutze indirekte oder implizite Belege NUR dann, wenn keine
direkte Formulierung im Dokument existiert.
2026-06-10 14:21:59 +02:00
Antworte AUSSCHLIESSLICH mit einem gültigen JSON-Objekt kein Text davor oder danach.
Das JSON-Objekt muss folgende Felder enthalten:
{
"answer": "<Deine Antwort auf Deutsch. Zitate aus dem Dokument in Originalsprache angeben und danach in Klammern übersetzen>",
"score": <Zahl 0 bis 100, wie gut das Dokument die Anforderung erfüllt>,
"result_type": "<OK wenn score >= Schwellwert, UNKLAR wenn grenzwertig, NOK wenn klar nicht erfüllt>",
"the_comment": "<Kurzer fachlicher Kommentar auf Deutsch, max. 3 Sätze>"
}
<01>---
2026-06-10 14:21:59 +02:00
<01>## Prüffrage (Kategorie: <01>(**Beispiel: 0% Erfüllung (nicht ok):**
<01>1**Beispiel: 100% Erfüllung (vollständig ok):**
<01>(---
2026-06-10 14:21:59 +02:00
Antworte jetzt mit dem JSON-Objekt:
<01> <01>h extractJson
<00><01> <00><01>7(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;<01>HJSON-Parsing fehlgeschlagen für Frage %d, verwende Fallback. Fehler: %s
<01> <00><00><01>Parsing-Fehler<01>9Automatische Auswertung konnte nicht strukturiert werden.<01>'Kein JSON-Objekt in KI-Antwort gefunden<01>OK
<01> <01><01>equals(Ljava/lang/Object;)Z<01>NOK<00><01>>Keine Batch-Antwort für Frage %d verwende UNKLAR-Fallback<01>'Frage wurde im Batch nicht beantwortet.
<01> <01><01> buildFallback<(Ljava/lang/String;)Lde/frigosped/dc/model/EvaluationResult;
<01> <01><01> getLogger-(Ljava/lang/Class;)Lorg/jboss/logging/Logger;<01>,```(?:json)?\s*([\s\S]*?)```|([{][\s\S]*[}])
<01><01> <01><01>compile.(Ljava/lang/String;I)Ljava/util/regex/Pattern;RuntimeVisibleAnnotationsLjakarta/inject/Inject;Ljakarta/inject/Named;valueCodeLineNumberTableLocalVariableTablethis+Lde/frigosped/dc/service/EvaluationService; translate'(Ljava/lang/String;J)Ljava/lang/String; originalTextLjava/lang/String; projectIdJmessagesLjava/util/List;response'Ldev/langchain4j/model/output/Response;LocalVariableTypeTable<Ljava/util/List<Ldev/langchain4j/data/message/ChatMessage;>;QLdev/langchain4j/model/output/Response<Ldev/langchain4j/data/message/AiMessage;>; StackMapTableMethodParameters firstNewlineItextractReferenceUrls%(Ljava/lang/String;J)Ljava/util/List;jsonurlseLjava/lang/Exception; documentText$Ljava/util/List<Ljava/lang/String;>; Signature9(Ljava/lang/String;J)Ljava/util/List<Ljava/lang/String;>;evaluatea(Lde/frigosped/dc/model/OrdsQuestion;Ljava/lang/String;J)Lde/frigosped/dc/model/EvaluationResult;question$Lde/frigosped/dc/model/OrdsQuestion; systemPrompt
userPromptrawText evaluateBatch4(Ljava/util/List;Ljava/lang/String;J)Ljava/util/Map;r(Lde/frigosped/dc/model/EvaluationResult;q questionsresultsLjava/util/Map;6Ljava/util/List<Lde/frigosped/dc/model/OrdsQuestion;>;:Ljava/util/List<Lde/frigosped/dc/model/EvaluationResult;>;ILjava/util/Map<Ljava/lang/Long;Lde/frigosped/dc/model/EvaluationResult;>;<00>(Ljava/util/List<Lde/frigosped/dc/model/OrdsQuestion;>;Ljava/lang/String;J)Ljava/util/Map<Ljava/lang/Long;Lde/frigosped/dc/model/EvaluationResult;>; questionCountisbLjava/lang/StringBuilder;\(Ljava/util/List<Lde/frigosped/dc/model/OrdsQuestion;>;Ljava/lang/String;)Ljava/lang/String; thresholdLjava/lang/Integer;<00>(Ljava/lang/String;Ljava/util/List<Lde/frigosped/dc/model/OrdsQuestion;>;)Ljava/util/List<Lde/frigosped/dc/model/EvaluationResult;>; candidatemLjava/util/regex/Matcher;startendmessageresultfallbacktypescoresmaxLenlambda$evaluateBatch$1:(Ljava/lang/Long;)Lde/frigosped/dc/model/EvaluationResult;idLjava/lang/Long;lambda$extractReferenceUrls$0u<clinit>
SourceFileEvaluationService.java.Ljakarta/enterprise/context/ApplicationScoped;BootstrapMethodsSE## Dokument

---
Antworte mit dem JSON-Array der relevanten URLs:<01>V
W KnnZ&(Ljava/lang/Object;)Ljava/lang/Object;bh^
_ GHHbBatch-Parsing fehlgeschlagen: df
ghi <00>j$java/lang/invoke/StringConcatFactory<00>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;l
mno pq"java/lang/invoke/LambdaMetafactory metafactory<00>(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; InnerClassest%java/lang/invoke/MethodHandles$Lookupvjava/lang/invoke/MethodHandlesLookup!<01><01>67<01><01><01><01>sC@A<01><01><00><00><01><01><01>/*<2A><01>  <01><00>]+<2B>
+<2B><07> <0A><>+<2B><17>!<21>#+<2B>)<29>.:*<2A>4<04>8:*<2A>>BD <20>F<05>L<>R*<05>X<>\<5C>^<5E>b<>e<>& @ACD M#C(P5QJR4]]] (5
 5(  (5
5(   gh<01><00>B+<2B> <0A>+<2B>bM,i<>k<>+,
<EFBFBD>o><1D> ,`<60>sM,i<>w<>,,<2C>d<>zM,<2C>b<>& [\ ]^_ `(b1c=f*!BB` 6 <07> <01>`<01><01><00>+<2B>
+<2B><07><07>}<7D><12><>#+<2B><00><00>)<29>.:*<2A>4<04>8:*<2A>>B<12> <20>F<05>L<>R*<05>X<>\<5C>^<5E><00>:*<2A><00>*<2A><00><><00>/<08><00><><00><>/:<07><00><00><00><00><00><00><00><00><00><00><00><00><00><><00><00>/<2F>:<05><12><05>Ŷȸ}<7D>"<00><00><00>Ruwx<00>w"<00>/<00>D<00>U<00>_<00>i<00>q<00>}<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>R/n  UHq, <00><00><00><00> "<00>
  /n q,"<00>
 <03><00>/<00>  !<01>4
j<><12>+<2B><00>*+<2B><00>P<>׶<00>*<2A><00>:*+,<2C><00>:<05>#<06>)<29>.:*<2A>4<07>8:*<2A>>B<12>!<21>F<08>L<>R<08>X<>\<5C>^: * +<2B><00><>:<00><00> <00><00><00><00>$<00>&<00>+<00>.<00>3<00>@<00>U<00>b<00>\ jj"#jj N$$F%37
 @*  b& 37
@*  "'(<01> <00>+<2B><00><00><07><12>+<2B><00><00>*+<2B><00><00><00><>#*+,<2C><00><>)<29>.:*<2A>4<05>8:*<2A>>B<12>!<21>F<06>L<>R*<06>X<>\<5C>^+<2B><00>:<07>Y<>:<07>:  <09>
<00>) <09><00>:
2026-06-10 14:21:59 +02:00

<EFBFBD><14>
<EFBFBD>
<EFBFBD>W<><57><EFBFBD>+<2B>:  <09>
<00>% <09><00><00>:
2026-06-10 14:21:59 +02:00

<EFBFBD><00>*<2A><00>W<><57><EFBFBD><08>J<00> <00><00><00>+<00>1<00>6<00>C<00>X<00>j<00>s<00><00><00><00><00><00><00><00><00><00><00><00><00><00><00>f
<00>)*
<00>+#
<00><00>, <00><00> 6<00>
 C<00>  jy- sp<00>.4<00>,/6<00>
C<00> jy-0sp<00>10 <0A>n //M/<00> ,<2C><02> <0B>+ ,2<00>v<01>N <04>Y<1B>"S<>'<27><00>
<00>33<00><00><01><01>!<21>+Y<>-N-.<2E>0W-,<2C>04<>0W-6<>0+<2B><00><00>8;<3B>0W6+<2B><00><00><00>+<04>=<00><00>:-A<>0`<60>8C<>0<05>ζEH<>0<05>J<>0M<>0W-<05>Զ0O<>0W<05>Q<>-U<>0<05>Q<>EW<>0W<05>Y<>$<05>Y<><07>-\<5C>0<05>Y<>0O<>0W<05>^<5E>$<05>^<5E><07>-a<>0<05>^<5E>0O<>0W<30><01><>4-c<>0+<2B><00><00>8e<>0W-<2D>g<>V 
3 A N_m<00><00><00><00><00><00><00><00>  !>N<00>+#6<00>4!!, !56 !,/<05>6+<01>v<00>(<28>(<28> ,7<01><00>*+<2B><00>N*<2A><00>-*<2A><00><><00>/<12><00><><00><>/:6<04><00><00><00><05>=<00>:<06>j<> <03>"<22>m<06>q<> t<>v<06><14>!,<2C><00><00>,<05>=<00>϶ζz<06>~<7E>*<06>~<7E><01><>5,<2C><00><00>,<05>=<00>϶Q<>:*<06>j<><01><07><01><><01><><01><>V<04>N<EFBFBD><01>-<2D>ŶȲ<01>+<2B><01><><01>Y-<2D>ź<01>-<2D><01><><00><00><00>N&')'",1-?.P/`1s2<00>4<00>5<00>6<00>,<00>9<00>:<00>;<00><<00>=\ <00>89?<00>)*%<00>4<00>"<00>- <00>)<00><00>&<00>, "<00>-0<00>,/3
<EFBFBD>%/<01>*%@#<23><14><05>/<00> &,:<00>h<01>+<2B>
+<2B><07><0E><01>Y<01><><01><><EFBFBD><01>+<2B><01>M,<2C><01><>/,<04><01><> ,<04><01><>,<05><01>N-<2D>-<2D><01><01><>k<>-<2D>b<>+[<5B>o>+]<5D><01>6<1D><1D> +`<60>z<><7A><01>Y<01><><01><>& BEF%G;HQKXL`MtO>;;`a<=X'>`?
<EFBFBD><01>D<16>"`<01><01><01>w%<25>Y<><01>M,+<2B>v,<03>"<22>m,<01><><01>,<01><><01>,<2C>ST UVW#X %%@)*@<00>a<01>.İ` <00><00><01>U<00><>+Y<>-N-.<2E>0W-,<2C>0O<>0W-ƶ0W-ȶ0+<2B>J<>0M<>0W-+<2B>Զ0O<>0W+<2B>Q<>-U<>0+<2B>Q<>EW<>0W+<2B>Y<>"+<2B>Y<><07>-ʶ0+<2B>Y<>0O<>0W+<2B>^<5E>"+<2B>^<5E><07>-̶0+<2B>^<5E>0O<>0W-ζ0W-<2D>g<>Fvxy{$|9}HO<01>`<01>d<01>u<01>}<01><00><01><00><01><00><01><00><01><00><01>*<00><00>"#<00><00>56
<03>d+%% "<00><00><01><01><00>*+<2B><01>N*<2A><00>-<12><01><>:<04>j<> <03>"<22>m<04>~<7E>*<04>~<7E><01><>*<04>j<><01>,<2C>Q<><01><><01><04>q<> t<>v<04>N<EFBFBD><01>,<2C><00>-<2D>Ŷز<01>+<2B><01><>Y<><01>:+<2B>
+<2B>b<>ڶv<03>"<22>m<01><><01>ܶ<01><04>bc<00>J<01><01><01>'<01>;<01>P<01>`<01>c<01>d<01>k<01>r<01>u<01><01><00><01><00><01><00><01><00><01><00><01>H]MA*<00>/B*dS<00><00>&<00>"#V<07>'<0F><00><00><>1<00><00><12><00><00> &"<01>h<01>y+<2B>
+<2B><07><0E><01>Y<01><><01><><EFBFBD><01>+<2B><01>M,<2C><01><>),<04><01><> ,<04><01><>,<05><01>N-<2D>-<2D><07>-<2D>b<>+{<7B>o>+}<7D><01>6<1D><1D> +`<60>z<><7A><01>Y޷<01><>2 <01> <01><01><01>%<01>;<01>F<01>K<01>R<01>Z<01>d<01>n<01>>;;yy`[<=R'>Z?
<EFBFBD><01>D<10>"`<01>n<01>d$<01>+<2B><01><><01>+<2B><01><> <01>+<2B><01><><04><03><01>$$C@C<01><01><01>}(,<2C> F<>"M,<2C><01><><01><>,<2C><01>l<><01><><01><><01>
<01><01>$<01> ((D(89
 D8<00><00><01>o+<2B> <0A>+<2B><1C>+<2B>+<1C>z<><01><00>
<01><01> EF J EFGH<01>J<12><01>+<2B><00>*<01><><01><>
<00>
<00>IJ
Kn<01>F*<2A>*<2A><07><04><03><00> L@M<01>8<10><01><><01> <20><01><><01><>"% &%NO<01>PQ2eRkTUXkY[\kY]`eaecr
suw