+
    Þ²…iqu  ã            
       ó¤  € R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIH	t	H
t
 ^ RIHtHtHt ^ RIHtHtHt ^ RIHtHtHtHtHtHtHtHt ^ R	IHt ^ R
IHt ]P@                  PC                  ^ ]P@                  PE                  ]P@                  PE                  ]P@                  PG                  ]$4      4      4      4       ^ RI%H&t&  ! R R4      t'R# )u2   
æœˆæ¬¡ãƒ¬ãƒ�ãƒ¼ãƒˆç”Ÿæˆ�ã‚µãƒ¼ãƒ“ã‚¹ - PDFç”Ÿæˆ�
N)Údatetime)ÚA4)Úmm)ÚgetSampleStyleSheetÚParagraphStyle)Ú	TA_CENTERÚTA_LEFTÚTA_RIGHT)ÚHexColorÚblackÚwhite)ÚSimpleDocTemplateÚ	ParagraphÚSpacerÚImageÚTableÚ
TableStyleÚ	PageBreakÚKeepTogether)Ú
pdfmetrics)ÚTTFont)ÚChartGeneratorc                   ó\  a € ] tR t^t o Rt]! R4      t]! R4      t]! R4      t]! R4      t	]! R4      t
]! R4      t]! R4      tR!V 3R
 lR lltR tR tR"R lt^ª],          R	3R ltV 3R lR ltV 3R lR ltR tR tR tR tR tR tR tR tR#V 3R lR lltR#V 3R lR lltR tV t R	# )$ÚMonthlyReportPDFu$   æœˆæ¬¡ãƒ¬ãƒ�ãƒ¼ãƒˆPDFç”Ÿæˆ�ã‚¯ãƒ©ã‚¹z#2196F3z#4CAF50z#F44336z#FF9800z#9E9E9Ez#F5F5F5z#E3F2FDNc                ó,   <€ V ^8„  d   QhRS[ RS[RS[ /# )é   ÚdataÚchart_generatorÚanalyses)Údictr   )ÚformatÚ__classdict__s   "€ÚGC:\Users\tmash\Documents\claude_code\chat\reports\core\pdf_generator.pyÚ__annotate__ÚMonthlyReportPDF.__annotate__$   s#   ø€ ÷ ñ ™Tð ±Nð ÑUYñ ó    c                óÒ   € Wn         T;'       g    \        4       V n        T;'       g    / V n        . V n        \        4       V n        V P                  4        V P                  4        R # )N)	r   r   Úchartsr   Úelementsr   ÚstylesÚ_setup_fontsÚ_setup_styles)Úselfr   r   r   s   &&&&r"   Ú__init__ÚMonthlyReportPDF.__init__$   sO   € ØŒ	Ø%×9Ð9¬Ó)9ˆŒØ Ÿ˜ BˆŒØˆŒÜ)Ó+ˆŒØ×ÑÔØ×ÑÖr%   c           	     ó  € ^ RI Hp RV n         \        P                  ! V! R4      4       RV n        R#   \
         d     Mi ; i. ROpT F¶  pT^ ,          p\        T4      ^8”  d
   T^,          MRp\        P                  P                  T4      '       g   KN   Te#   \        P                  ! \        RYER7      4       M \        P                  ! \        RT4      4       RT n         R#   \
         d   p Rp?K°  Rp?ii ; i	  R# )u   æ—¥æœ¬èªžãƒ•ã‚©ãƒ³ãƒˆç™»éŒ²)ÚUnicodeCIDFontÚ	HelveticazHeiseiKakuGo-W5NÚJapaneseFont)ÚsubfontIndex))zC:/Windows/Fonts/GOTHIC.TTFN)zC:/Windows/Fonts/MSGOTHIC.TTCé    )zC:/Windows/Fonts/meiryo.ttcr4   )zC:/Windows/Fonts/YuGothR.ttcr4   )z /Library/Fonts/Arial Unicode.ttfN)z3/usr/share/fonts/truetype/fonts-japanese-gothic.ttfN)Úreportlab.pdfbase.cidfontsr0   Ú	font_namer   ÚregisterFontÚ	ExceptionÚlenÚosÚpathÚexistsr   )r,   r0   Ú
font_pathsÚ	font_infoÚ	font_pathÚsubfont_indexÚes   &      r"   r*   ÚMonthlyReportPDF._setup_fonts-   sÚ   € å=à$ˆŒð	Ü×#Ò#¡NÐ3DÓ$EÔFØ.ˆDŒNÙøÜô 	Ùð	úò


ˆ
ó $ˆIØ! !�ˆIÜ,/°	«N¸QÔ,>˜I ažLÀDˆMä�w‰w�~‰~˜i×(Ô(ð
Ø$Ò0ä"×/Ò/´°~ÀyÔ0mÕnô #×/Ò/´°~ÀyÓ0QÔRØ%3�D”NÚøÜ ô Ýûðúó $s"   �#4 ´AÁAÂAC*Ã*D Ã;D c                óˆ  € V P                   P                  \        RV P                  ^^\        ^R7      4       V P                   P                  \        RV P                  ^^V P
                  ^^
R7      4       V P                   P                  \        RV P                  ^^\        ^
^R7      4       V P                   P                  \        RV P                  ^
^\        R7      4       V P                   P                  \        RV P                  ^^
V P                  R	7      4       V P                   P                  \        R
V P                  ^
^\        R7      4       V P                   P                  \        RV P                  ^
^\        RR7      4       V P                   P                  \        RV P                  ^
^\        RR7      4       V P                   P                  \        RV P                  ^	^\        RR7      4       V P                   P                  \        RV P                  ^
^\        \        R7      4       V P                   P                  \        RV P                  ^	^\        \        R4      R7      4       V P                   P                  \        RV P                  ^^
\        \        R4      R7      4       R# )u   ã‚¹ã‚¿ã‚¤ãƒ«è¨­å®šÚJTitle)ÚnameÚfontNameÚfontSizeÚleadingÚ	alignmentÚ
spaceAfterÚ	JHeading1)rE   rF   rG   rH   Ú	textColorÚspaceBeforerJ   Ú	JHeading2ÚJBody)rE   rF   rG   rH   rI   ÚJSmall)rE   rF   rG   rH   rL   ÚJCenterÚ
JTableCellÚCJK)rE   rF   rG   rH   rI   ÚwordWrapÚJTableCellRightÚJTableCellSmallÚJTableHeader)rE   rF   rG   rH   rI   rL   Ú	JAnalysisz#1565C0ÚJAnalysisLabelz#1976D2N)r)   Úaddr   r6   r   ÚPRIMARY_COLORr   r   Ú
GRAY_COLORr	   r   r
   )r,   s   &r"   r+   ÚMonthlyReportPDF._setup_stylesZ   sG  € ð 	�‰�‰œØØ—^‘^ØØÜØô
ô 	ð 	�‰�‰œØØ—^‘^ØØØ×(Ñ(ØØô
ô 	ð 	�‰�‰œØØ—^‘^ØØÜØØô
ô 	ð 	�‰�‰œØØ—^‘^ØØÜô
ô 	ð 	�‰�‰œØØ—^‘^ØØØ—o‘oô
ô 	ð 	�‰�‰œØØ—^‘^ØØÜô
ô 	ð 	�‰�‰œØØ—^‘^ØØÜØô
ô 	ð 	�‰�‰œØ"Ø—^‘^ØØÜØô
ô 	ð 	�‰�‰œØ"Ø—^‘^ØØÜØô
ô 	ð 	�‰�‰œØØ—^‘^ØØÜÜô
ô 	ð 	�‰�‰œØØ—^‘^ØØÜÜ˜yÓ)ô
ô 	ð 	�‰�‰œØ!Ø—^‘^ØØÜÜ˜yÓ)ô
ö 	r%   c                óN   € \        \        V4      V P                  V,          4      # )u*   ãƒ†ãƒ¼ãƒ–ãƒ«ã‚»ãƒ«ç”¨ã�®Paragraphã‚’ç”Ÿæˆ�)r   Ústrr)   )r,   ÚtextÚ
style_names   &&&r"   Ú_pÚMonthlyReportPDF._pÎ   s   € äœ˜T› D§K¡K°
Õ$;Ó<Ð<r%   c                ó  € V'       d&   \         P                  P                  V4      '       g   R# ^ RIHp V! V4      pVP                  4       w  rgWg,          pTp	W˜,          p
V'       d   W£8”  d   Tp
W¨,          p	\        WV
R7      # )u0   ã‚¢ã‚¹ãƒšã‚¯ãƒˆæ¯”ã‚’ç¶­æŒ�ã�—ã�Ÿç”»åƒ�ã‚’ç”Ÿæˆ�N)ÚImageReader)ÚwidthÚheight)r:   r;   r<   Úreportlab.lib.utilsre   ÚgetSizer   )r,   r;   Ú	max_widthÚ
max_heightre   Ú
img_readerÚ	img_widthÚ
img_heightÚaspect_ratiorf   rg   s   &&&&       r"   Ú_imgÚMonthlyReportPDF._imgÒ   sw   € çœ2Ÿ7™7Ÿ>™>¨$×/Ò/Ùõ 	4Ù  Ó&ˆ
Ø *× 2Ñ 2Ó 4Ñˆ	ð !Õ-ˆð ˆØÕ%ˆ÷ ˜&Ô-ØˆFØÕ)ˆEä�T¨vÔ6Ð6r%   c                ó    <€ V ^8„  d   QhRS[ /# )r   Úsection©r_   )r    r!   s   "€r"   r#   r$   ê   s   ø€ ÷ (ñ (©ñ (r%   c                óF  € WP                   9  d   R# V P                   V,          pV'       g   R# \        RV P                  R,          4      p\        VP                  RR4      V P                  R,          4      pV.V..p\	        V^¥\
        ,          .R7      pVP                  \        RRRV P                  3R	RR^\        R
4      3RRRRR.4      4       V P                  P                  \        ^^\
        ,          4      4       V P                  P                  V4       R# )u)   AIåˆ†æž�ã‚³ãƒ¡ãƒ³ãƒˆãƒœãƒƒã‚¯ã‚¹ã‚’è¿½åŠ Nu	   AIåˆ†æž�:rY   Ú
z<br/>rX   ©Ú	colWidthsÚ
BACKGROUNDÚBOXz#90CAF9©r4   r4   ©éÿÿÿÿr}   ©Ú
TOPPADDINGr{   r|   é   ©ÚBOTTOMPADDINGr{   r|   r€   )ÚLEFTPADDINGr{   r|   é
   )ÚRIGHTPADDINGr{   r|   r„   ©ÚVALIGNr{   r|   ÚTOP)r   r   r)   Úreplacer   r   ÚsetStyler   ÚANALYSIS_BG_COLORr
   r(   Úappendr   )r,   rs   ÚcommentÚlabelÚcontentÚbox_dataÚ	box_tables   &&     r"   Ú_add_analysis_boxÚ"MonthlyReportPDF._add_analysis_boxê   sû   € àŸ-™-Ô'Ùà—-‘- Õ(ˆßÙô ˜+ t§{¡{Ð3CÕ'DÓEˆÜ˜GŸO™O¨D°'Ó:¸D¿K¹KÈÕ<TÓUˆð �G˜g˜YÐ'ˆÜ˜(¨s´2­v¨hÔ7ˆ	Ø×Ñœ:Ø˜6 8¨T×-CÑ-CÐDØ�F˜H a¬°)Ó)<Ð=Ø/Ø2Ø1Ø2Ø/ð'
ó ô 	ð 	�‰×ÑœV A q¬¥t›_Ô-Ø�‰×Ñ˜YÖ'r%   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# )r   Úoutput_pathÚreturnrt   )r    r!   s   "€r"   r#   r$     s   ø€ ÷ ñ ¡Cð ©Cñ r%   c           	     ó¾  € \        V\        ^\        ,          ^\        ,          ^\        ,          ^\        ,          R7      pV P                  4        V P	                  4        V P                  4        V P                  4        V P                  4        V P                  4        V P                  4        V P                  4        VP                  V P                  4       V# )u   PDFç”Ÿæˆ�ãƒ¡ã‚¤ãƒ³)ÚpagesizeÚ	topMarginÚbottomMarginÚ
leftMarginÚrightMargin)r   r   r   Ú_add_cover_pageÚ_add_summary_pageÚ_add_usage_overview_pageÚ_add_usage_pattern_pageÚ_add_quality_pageÚ_add_keyword_pageÚ_add_improvement_pageÚ_add_glossary_pageÚbuildr(   )r,   r•   Údocs   && r"   ÚgenerateÚMonthlyReportPDF.generate  s¦   € äØÜØœ•eØœB�Øœ"•uØœ2�ô
ˆð 	×ÑÔØ×ÑÔ Ø×%Ñ%Ô'Ø×$Ñ$Ô&Ø×ÑÔ Ø×ÑÔ Ø×"Ñ"Ô$Ø×ÑÔ!à�	‰	�$—-‘-Ô ØÐr%   c                óî  € V P                   P                  \        ^^P\        ,          4      4       V P                  R,          pRpV P                   P                  \        W P                  R,          4      4       VR,           RVR,           R2pV P                   P                  \        W0P                  R,          4      4       V P                   P                  \        ^^(\        ,          4      4       R	\        P                  ! 4       P                  R
4       2pV P                   P                  \        W@P                  R,          4      4       V P                   P                  \        4       4       R# )u   è¡¨ç´™ãƒšãƒ¼ã‚¸Úperiodu   æœˆæ¬¡é�‹ç”¨ãƒ¬ãƒ�ãƒ¼ãƒˆrD   Úyearu   å¹´Úmonthu   æœˆrK   u   ç”Ÿæˆ�æ—¥æ™‚: u   %Yå¹´%mæœˆ%dæ—¥ %H:%MrQ   N)r(   rŒ   r   r   r   r   r)   r   ÚnowÚstrftimer   )r,   rª   ÚtitleÚsubtitleÚ	generateds   &    r"   r�   Ú MonthlyReportPDF._add_cover_page  s   € à�‰×ÑœV A r¬"¥uÓ-Ô.à—‘˜8Õ$ˆØ*ˆØ�‰×ÑœY u¯k©k¸(Õ.CÓDÔEà˜V•nÐ% S¨°­Ð(9¸Ð=ˆØ�‰×ÑœY x·±¸[Õ1IÓJÔKà�‰×ÑœV A r¬"¥uÓ-Ô.ð %¤X§\¢\£^×%<Ñ%<Ð=TÓ%UÐ$VÐWˆ	Ø�‰×ÑœY y·+±+¸iÕ2HÓIÔJà�‰×ÑœY›[Ö)r%   c                óü  € V P                   P                  \        RV P                  R,          4      4       V P                  R,          pV P                  R,          pV P                  R,          pV P                  R4      V P                  VR,          R R	2R
4      V P                  VR,          R,          4      .V P                  R4      V P                  VR,          R R
4      V P                  R4      .V P                  R4      V P                  VR,           R2R
4      V P                  R4      .V P                  R4      V P                  VR,           R2R
4      V P                  R4      .V P                  R4      V P                  VR,           R2R
4      V P                  R4      .V P                  R4      V P                  VR,           R2R
4      V P                  R4      ..p\        V^<\        ,          ^2\        ,          ^(\        ,          .R7      pVP                  \        RR?R@V P                  3RR?R@RV P                  3RARBRC.4      4       V P                   P                  V4       V P                   P                  \        ^^
\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       RVR ,          R R!VR",           R#VR$,          R R%VR&,          R R'VR(,           R)VR*,          R R+2pV P                   P                  \        W`P                  R,,          4      4       V P                   P                  \        ^^
\        ,          4      4       V P                   P                  \        R-V P                  R,          4      4       V P                  R.R/4      V P                  R0R/4      V P                  R1R/4      V P                  R2R/4      .V P                  R4      V P                  VR3,          R,          R R
4      V P                  VR4,          R,          R R
4      V P                  VR,          R,          4      .V P                  R54      V P                  VR3,          R ,          R R
4      V P                  VR4,          R ,          R R
4      V P                  VR,          R ,          4      .V P                  R64      V P                  VR3,          R7,          R R
4      V P                  VR4,          R7,          R R
4      V P                  VR,          R7,          R8R97      .V P                  R:4      V P                  VR3,          R;,          R R
4      V P                  VR4,          R;,          R R
4      V P                  VR,          R;,          4      .V P                  R<4      V P                  VR3,          R=,          R R
4      V P                  VR4,          R=,          R R
4      V P                  VR,          R=,          R8R97      ..p\        V^-\        ,          ^#\        ,          ^#\        ,          ^#\        ,          .R7      pVP                  \        RR?RDV P                  3RR?R@RV P                  3RERFRC.4      4       V P                   P                  V4       V P                  R4       V P                   P                  \!        4       4       R># )Gu   ãƒšãƒ¼ã‚¸1: ã‚µãƒžãƒªãƒ¼u   1. ã‚µãƒžãƒªãƒ¼rK   ÚsummaryÚ
comparisonÚestimated_savingsõ   ç·�ä¼šè©±æ•°Útotal_conversationsÚ,u   ä»¶rU   Úchangesõ   ãƒ¦ãƒ‹ãƒ¼ã‚¯IPæ•°Ú
unique_ipsÚ õ$   ãƒ¦ãƒ¼ã‚¶ãƒ¼ã�‚ã�Ÿã‚Šå¹³å�‡ä¼šè©±æ•°Úconversations_per_useru   å›žõ   è‡ªå‹•è§£æ±ºçŽ‡Úresolution_rateÚ%õ   æœªè§£æ±ºçŽ‡Úunresolved_rateõ	   æº€è¶³åº¦Úsatisfaction_raterw   ry   ÚGRIDç      à?u   æŽ¨å®šå‰Šæ¸›åŠ¹æžœrN   u&   
        è‡ªå‹•å›žç­”ã�§ã��ã�Ÿè³ªå•�: Úanswered_countu%   ä»¶<br/>
        æŽ¨å®šå‰Šæ¸›æ™‚é–“: Úsaved_hoursu   æ™‚é–“ (Úsaved_minutesu+   åˆ†)<br/>
        æŽ¨å®šå‰Šæ¸›ã‚³ã‚¹ãƒˆ: Â¥Ú
saved_costu9   <br/>
        <font size=8 color="gray">â€» 1ä»¶ã�‚ã�Ÿã‚ŠÚestimated_handle_time_minutesu   åˆ†ã€�æ™‚çµ¦Úhourly_costu   å††ã�§è¨ˆç®—</font>
        rO   õ   å‰�æœˆæ¯”è¼ƒõ   æŒ‡æ¨™rW   u   å‰�æœˆu   å½“æœˆu   å¢—æ¸›ÚpreviousÚcurrentu   å›žç­”ã�§ã��ã�Ÿu   å›žç­”ã�§ã��ã�ªã�‹ã�£ã�ŸÚunanswered_countT)Úinverseu	   ã�„ã�„ã�­Úlikes_countu   ã‚ˆã��ã�ªã�„Údislikes_countNr{   r|   )r   r{   r|   é   )r‚   r{   r|   r×   )r‡   r{   r|   ÚMIDDLE©r}   r4   r~   r�   )r(   rŒ   r   r)   r   rb   Ú_format_change_pr   r   rŠ   r   Ú
LIGHT_GRAYr\   r   r[   r’   r   )	r,   r´   rµ   ÚsavingsÚ	card_dataÚ
card_tableÚsavings_textÚ	comp_dataÚ
comp_tables	   &        r"   rž   Ú"MonthlyReportPDF._add_summary_page2  s�  € à�‰×ÑœYÐ'8¸$¿+¹+ÀkÕ:RÓSÔTà—)‘)˜IÕ&ˆØ—Y‘Y˜|Õ,ˆ
Ø—)‘)Ð/Õ0ˆð �W‰W�^Ó$ d§g¡g°Ð9NÕ1OÐPQÐ0RÐRUÐ.VÐXiÓ&jØ×"Ñ" :¨iÕ#8Ð9NÕ#OÓPðRà�W‰WÐ(Ó)¨4¯7©7°g¸lÕ6KÈAÐ5NÐQbÓ+cÐei×elÑelÐmoÓepÐqØ�W‰WÐ;Ó<¸d¿g¹gÈÐQiÕIjÐHkÐknÐFoð  rCó  ?Dð  FJ÷  FMñ  FMð  NPó  FQð  RØ�W‰WÐ&Ó'¨¯©°GÐ<MÕ4NÐ3OÈqÐ1QÐSdÓ)eÐgk×gnÑgnÐoqÓgrÐsØ�W‰W�^Ó$ d§g¡g°Ð9JÕ1KÐ0LÈAÐ.NÐPaÓ&bÐdh×dkÑdkÐlnÓdoÐpØ�W‰W�[Ó! 4§7¡7¨gÐ6IÕ.JÐ-KÈ1Ð+MÐO`Ó#aÐcg×cjÑcjÐkmÓcnÐoð
ˆ	ô ˜9°´Bµ¸¼2½¸rÄ"½uÐ0EÔFˆ
Ø×ÑœJØ˜6 8¨T¯_©_Ð=Ø�V˜X s¨D¯O©OÐ<Ø/Ø2Ø2ð(
ó ô 	ð 	�‰×Ñ˜ZÔ(Ø�‰×ÑœV A r¬"¥uÓ-Ô.ð 	�‰×ÑœYÐ';¸T¿[¹[ÈÕ=UÓVÔWð&Ø&-Ð.>Õ&?ÀÐ%Bð CØ$ ]Õ3Ð4°H¸WÀ_Õ=UÐVWÐ<Xð Y"Ø")¨,Õ"7¸Ð!:ð ;4Ø4;Ð<[Õ4\Ð3]Ð]iÐjqÐrõ  kAð  BCð  jDð D	ð	ˆð 	�‰×ÑœY |·[±[ÀÕ5IÓJÔKà�‰×ÑœV A r¬"¥uÓ-Ô.ð 	�‰×ÑœY ~°t·{±{À;Õ7OÓPÔQð �W‰W�X˜~Ó.°·±¸À.Ó0QØ�W‰W�X˜~Ó.°·±¸À.Ó0QðSà�W‰W�^Ó$Ø�W‰W˜
 :Õ.Ð/DÕEÀaÐHÐK\Ó]Ø�W‰W˜
 9Õ-Ð.CÕDÀQÐGÐJ[Ó\Ø×"Ñ" :¨iÕ#8Ð9NÕ#OÓPðRð �W‰WÐ&Ó'Ø�W‰W˜
 :Õ.Ð/?Õ@ÀÐCÐFWÓXØ�W‰W˜
 9Õ-Ð.>Õ?ÀÐBÐEVÓWØ×"Ñ" :¨iÕ#8Ð9IÕ#JÓKðMð �W‰WÐ/Ó0Ø�W‰W˜
 :Õ.Ð/AÕBÀ1ÐEÐHYÓZØ�W‰W˜
 9Õ-Ð.@ÕAÀ!ÐDÐGXÓYØ×"Ñ" :¨iÕ#8Ð9KÕ#LÐVZÐ"Ó[ð]ð �W‰W�[Ó!Ø�W‰W˜
 :Õ.¨}Õ=¸aÐ@ÐCTÓUØ�W‰W˜
 9Õ-¨mÕ<¸QÐ?ÐBSÓTØ×"Ñ" :¨iÕ#8¸Õ#GÓHðJð �W‰W�^Ó$Ø�W‰W˜
 :Õ.Ð/?Õ@ÀÐCÐFWÓXØ�W‰W˜
 9Õ-Ð.>Õ?ÀÐBÐEVÓWØ×"Ñ" :¨iÕ#8Ð9IÕ#JÐTXÐ"ÓYð[ð'
ˆ	ô2 ˜9°´Bµ¸¼2½¸rÄ"½uÀbÌÅeÐ0LÔMˆ
Ø×ÑœJØ˜6 7¨D×,>Ñ,>Ð?Ø�V˜X s¨D¯O©OÐ<Ø/Ø2Ø2ð(
ó ô 	ð 	�‰×Ñ˜ZÔ(ð 	×Ñ˜yÔ)à�‰×ÑœY›[Ö)r%   c           	     óÂ  € V P                   P                  \        RV P                  R,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^ª\        ,          R7      pV'       d   V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^Œ\        ,          R7      pV'       d   V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                  R,          pV P                   P                  \        R	V P                  R,          4      4       R
VR,          R RVR,           RVR,           RVR,           R2	pV P                   P                  \        WPP                  R,          4      4       V P                  R4       V P                   P                  \        4       4       R# )u$   ãƒšãƒ¼ã‚¸2: åˆ©ç”¨çŠ¶æ³�ï¼ˆæ¦‚è¦�ï¼‰u   2. åˆ©ç”¨çŠ¶æ³�ï¼ˆæ¦‚è¦�ï¼‰rK   Údaily_stats©rj   rÏ   rN   rµ   Ú	avg_turnsu   ã‚»ãƒƒã‚·ãƒ§ãƒ³çµ±è¨ˆu    
        ç·�ã‚»ãƒƒã‚·ãƒ§ãƒ³æ•°: Útotal_sessionsr¹   u(   <br/>
        å¹³å�‡ä¼šè©±ã‚¿ãƒ¼ãƒ³æ•°: Úaverageu"   <br/>
        æœ€å¤§ã‚¿ãƒ¼ãƒ³æ•°: Úmaxu"   <br/>
        æœ€å°�ã‚¿ãƒ¼ãƒ³æ•°: Úminz	
        rO   Úusage_overviewN)r(   rŒ   r   r)   r'   Úgenerate_daily_chartr   r:   r;   r<   rp   r   r   Úgenerate_comparison_chartr’   r   )r,   Údaily_chartÚimgÚ
comp_chartræ   Ú
turns_texts   &     r"   rŸ   Ú)MonthlyReportPDF._add_usage_overview_pageˆ  s  € à�‰×ÑœYÐ'DÀdÇkÁkÐR]ÕF^Ó_Ô`ð —k‘k×6Ñ6°t·y±yÀÕ7OÓPˆßœ2Ÿ7™7Ÿ>™>¨+×6Ò6Ø—)‘)˜K°3´rµ6�)Ó:ˆCßØ—‘×$Ñ$ SÔ)Ø�‰×ÑœV A q¬¥t›_Ô-ð 	�‰×ÑœY ~°t·{±{À;Õ7OÓPÔQØ—[‘[×:Ñ:¸4¿9¹9À\Õ;RÓSˆ
ßœ"Ÿ'™'Ÿ.™.¨×4Ò4Ø—)‘)˜J°#´bµ&�)Ó9ˆCßØ—‘×$Ñ$ SÔ)Ø�‰×ÑœV A q¬¥t›_Ô-ð —I‘I˜kÕ*ˆ	Ø�‰×ÑœYÐ'>ÀÇÁÈKÕ@XÓYÔZð Ø )Ð*:Õ ;¸AÐ>ð ?#Ø#,¨YÕ#7Ð"8ð 9Ø& uÕ-Ð.ð /Ø& uÕ-Ð.ð /	ð	ˆ
ð 	�‰×ÑœY z·;±;¸wÕ3GÓHÔIð 	×ÑÐ/Ô0à�‰×ÑœY›[Ö)r%   c                ó¢  € V P                   P                  \        RV P                  R,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^ª\        ,          R7      pV'       d   V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^Œ\        ,          R7      pV'       d   V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^ª\        ,          R7      pV'       d   V P                   P                  V4       V P                  R	4       V P                   P                  \!        4       4       R
# )u$   ãƒšãƒ¼ã‚¸3: åˆ©ç”¨ãƒ‘ã‚¿ãƒ¼ãƒ³åˆ†æž�u   3. åˆ©ç”¨ãƒ‘ã‚¿ãƒ¼ãƒ³åˆ†æž�rK   Úhourly_statsrå   Úday_of_week_statsu   æ›œæ—¥Ã—æ™‚é–“å¸¯åˆ†å¸ƒrN   Úhour_by_day_of_weekÚusage_patternN)r(   rŒ   r   r)   r'   Úgenerate_hourly_chartr   r:   r;   r<   rp   r   r   Úgenerate_day_of_week_chartÚgenerate_heatmapr’   r   )r,   Úhourly_chartrï   Ú	dow_chartÚheatmaps   &    r"   r    Ú(MonthlyReportPDF._add_usage_pattern_page­  sÄ  € à�‰×ÑœYÐ'DÀdÇkÁkÐR]ÕF^Ó_Ô`ð —{‘{×8Ñ8¸¿¹À>Õ9RÓSˆßœBŸG™GŸN™N¨<×8Ò8Ø—)‘)˜L°C¼µF�)Ó;ˆCßØ—‘×$Ñ$ SÔ)Ø�‰×ÑœV A q¬¥t›_Ô-ð —K‘K×:Ñ:¸4¿9¹9ÐEXÕ;YÓZˆ	ßœŸ™Ÿ™¨	×2Ò2Ø—)‘)˜I°´Rµ�)Ó8ˆCßØ—‘×$Ñ$ SÔ)Ø�‰×ÑœV A q¬¥t›_Ô-ð 	�‰×ÑœYÐ'@À$Ç+Á+ÈkÕBZÓ[Ô\Ø—+‘+×.Ñ.¨t¯y©yÐ9NÕ/OÓPˆß”r—w‘w—~‘~ g×.Ò.Ø—)‘)˜G¨s´2­v�)Ó6ˆCßØ—‘×$Ñ$ SÔ)ð 	×Ñ˜Ô/à�‰×ÑœY›[Ö)r%   c           
     ón
  € V P                   P                  \        RV P                  R,          4      4       V P                  R,          pV P
                  P                  VR,          VR,          4      pV P
                  P                  VR,          VR,          4      p. pV'       di   \        P                  P                  V4      '       dD   V P                  V^K\        ,          ^K\        ,          R7      pV'       d   VP                  V4       V'       di   \        P                  P                  V4      '       dD   V P                  V^K\        ,          ^K\        ,          R7      pV'       d   VP                  V4       V'       dB   \        V.^U\        ,          ^U\        ,          .R	7      pV P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                   P                  \        R
V P                  R,          4      4       V P
                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^ª\        ,          R7      pV'       d   V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       V P                  R,          pV'       Ed�   \        RV P                  R,          4      \        RV P                  R,          4      ..p	VR,           F»  p
V
R,          p\!        VR4      '       d   VP#                  R4      pV
R,          '       d/   \%        V
R,          4      ^28”  d   V
R,          R,          R,           MV
R,          ;'       g    RpV	P                  V P'                  \)        V4      R4      V P'                  VR4      .4       K½  	  \        V	^\        ,          ^‡\        ,          .R	7      pVP+                  \-        RR#R$V P.                  3RR#R%RV P0                  3R&R'R(.4      4       V P                   P                  V4       M6V P                   P                  \        RV P                  R ,          4      4       V P3                  R!4       V P                   P                  \5        4       4       R"# ))u   ãƒšãƒ¼ã‚¸4: å›žç­”å“�è³ªu   4. å›žç­”å“�è³ªrK   r´   rÉ   rÓ   rÕ   rÖ   )rj   rk   rw   u   ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯æŽ¨ç§»rN   Úfeedback_daily_statsrå   u*   ä½Žè©•ä¾¡ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯ï¼ˆæœ€æ–°ï¼‰Úrecent_dislikedu   æ—¥æ™‚rW   u   è³ªå•�ï¼ˆæŠœç²‹ï¼‰:Né   NÚ	timestampr®   z%m/%d %H:%MÚquestion:Né2   Nz...r½   rV   ry   rÇ   rÈ   u<   ä½Žè©•ä¾¡ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯ã�¯ã�‚ã‚Šã�¾ã�›ã‚“ã�§ã�—ã�Ÿã€‚rO   ÚqualityNr{   rÙ   r|   ©r   r{   r|   é   ©r‚   r{   r|   r  r†   )r(   rŒ   r   r)   r   r'   Úgenerate_resolution_pieÚgenerate_satisfaction_pier:   r;   r<   rp   r   r   r   Úgenerate_feedback_chartÚhasattrr®   r9   rb   r_   rŠ   r   ÚDANGER_COLORr\   r’   r   )r,   r´   Úresolution_pieÚsatisfaction_pieÚpie_rowrï   Ú	pie_tableÚfeedback_chartÚdislikedÚdislike_dataÚdÚtsr  Údislike_tables   &             r"   r¡   Ú"MonthlyReportPDF._add_quality_pageÎ  sÕ  € à�‰×ÑœYÐ'8¸$¿+¹+ÀkÕ:RÓSÔTà—)‘)˜IÕ&ˆð Ÿ™×<Ñ<ØÐ$Õ% wÐ/AÕ'Bó
ˆð  Ÿ;™;×@Ñ@Ø�MÕ" GÐ,<Õ$=ó
Ðð
 ˆßœbŸg™gŸn™n¨^×<Ò<Ø—)‘)˜N°b¼µeÈÌ2Í�)ÓNˆCßØ—‘˜sÔ#ß¤§¡§¡Ð/?× @Ò @Ø—)‘)Ð,¸¼2½È"ÌRÍ%�)ÓPˆCßØ—‘˜sÔ#çÜ˜w˜i°B´rµE¸2¼b½5°>ÔBˆIØ�M‰M× Ñ  Ô+à�‰×ÑœV A q¬¥t›_Ô-ð 	�‰×ÑœYÐ'DÀdÇkÁkÐR]ÕF^Ó_Ô`ØŸ™×<Ñ<¸T¿Y¹YÐG]Õ=^Ó_ˆßœbŸg™gŸn™n¨^×<Ò<Ø—)‘)˜N°c¼"µf�)Ó=ˆCßØ—‘×$Ñ$ SÔ)à�‰×ÑœV A q¬¥t›_Ô-ð 	�‰×ÑœYÐ'SÐUY×U`ÑU`ÐalÕUmÓnÔoØ—9‘9Ð.Õ/ˆßˆ8ä˜( D§K¡K°Õ$?Ó@ÜÐ.°·±¸NÕ0KÓLðð ˆLð ˜b—\�\�Ø�{•^�Ü˜2˜z×*Ò*ØŸ™ ]Ó3�BØ9:¸:¿¼Ì3ÈqÐQ[Í}ÓK]Ð`bÔKb˜1˜Z�=¨Õ-°Ö5ÐijÐkuÕiv×i|Ði|Ðz|�Ø×#Ñ#Ø—G‘GœC ›GÐ%6Ó7Ø—G‘G˜HÐ&7Ó8ð%ö ñ "ô " ,¸2¼b½5À#ÄbÅ&¸/ÔJˆMØ×"Ñ"¤:Ø˜v w°×0AÑ0AÐBØ˜ ¨3°·±Ð@Ø3Ø6Ø3ð/ó $ô ð �M‰M× Ñ  Õ/à�M‰M× Ñ ¤Ð+iÐko×kvÑkvÐw~Õkó  "Aô  Bð 	×Ñ˜yÔ)à�‰×ÑœY›[Ö)r%   c                ó  € V P                   P                  \        RV P                  R,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^Œ\        ,          R7      pV'       d   V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       V P                  P                  V P                  R,          4      pV'       dg   \        P                  P                  V4      '       dB   V P                  V^Œ\        ,          R7      pV'       d   V P                   P                  V4       V P                  R4       V P                   P                  \        4       4       R# )	u!   ãƒšãƒ¼ã‚¸5: ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰åˆ†æž�u   5. ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰åˆ†æž�rK   Úkeywordsrå   u!   æœªè§£æ±ºã�«å¤šã�„ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰rN   Úunresolved_keywordsN)r(   rŒ   r   r)   r'   Úgenerate_keywords_chartr   r:   r;   r<   rp   r   r   Ú"generate_unresolved_keywords_chartr’   r   )r,   Úkeywords_chartrï   Úunresolved_charts   &   r"   r¢   Ú"MonthlyReportPDF._add_keyword_page  sK  € à�‰×ÑœYÐ'AÀ4Ç;Á;È{ÕC[Ó\Ô]ð Ÿ™×<Ñ<¸T¿Y¹YÀzÕ=RÓSˆßœbŸg™gŸn™n¨^×<Ò<Ø—)‘)˜N°c¼"µf�)Ó=ˆCßØ—‘×$Ñ$ SÔ)à�‰×ÑœV A q¬¥t›_Ô-ð 	�‰×ÑœYÐ'JÈDÏKÉKÐXcÕLdÓeÔfØŸ;™;×IÑIÈ$Ï)É)ÐTiÕJjÓkÐß¤§¡§¡Ð/?× @Ò @Ø—)‘)Ð,¸¼B½�)Ó?ˆCßØ—‘×$Ñ$ SÔ)ð 	×Ñ˜zÔ*à�‰×ÑœY›[Ö)r%   c                óô  € V P                   P                  \        RV P                  R,          4      4       V P                   P                  \        RV P                  R,          4      4       V P                  R,          pV'       EdÎ   / pV F,  pVR,          pWB9  d   ^W$&   K  W$;;,          ^,          uu&   K.  	  \        VP                  4       R RR	7      p\        R
V P                  R,          4      \        RV P                  R,          4      ..pVR,           FA  w  r7VP                  V P                  VR4      V P                  \        V4      R4      .4       KC  	  \        V^‘\        ,          ^\        ,          .R7      pVP                  \        RR!R"V P                  3R#RR!R$RV P                  3R%R&R'.4      4       V P                   P                  V4       \        V4      p	V P                   P                  \!        ^^\        ,          4      4       V P                   P                  \        RV	 R2V P                  R,          4      4       M6V P                   P                  \        RV P                  R,          4      4       V P                   P                  \!        ^^
\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       V P                  RR4      V P                  R
R4      V P                  RR4      .V P                  R4      V P                  R4      V P                  R4      .V P                  R4      V P                  R4      V P                  R4      .V P                  R4      V P                  R4      V P                  R4      ..p
\        V
^
\        ,          ^K\        ,          ^K\        ,          .R7      pVP                  \        RR!R"V P"                  3R(RR!R$RV P                  3R)R*R'.4      4       V P                   P                  V4       V P%                  R4       V P                   P                  \'        4       4       R # )+u   ãƒšãƒ¼ã‚¸6: æ”¹å–„æ��æ¡ˆu   6. æ”¹å–„æ��æ¡ˆrK   u$   å›žç­”ã�§ã��ã�ªã�‹ã�£ã�Ÿè³ªå•�ä¸€è¦§rN   Úunanswered_questionsÚuser_messagec                 ó   € V ^,          # )é   © )Úxs   &r"   Ú<lambda>Ú8MonthlyReportPDF._add_improvement_page.<locals>.<lambda>G  s	   € ÈaÐPQÎdr%   T)ÚkeyÚreverseu   è³ªå•�rW   u   å›žæ•°:Né   NrV   rw   ry   rÇ   rÈ   u
   â€» å�ˆè¨ˆu/   ä»¶ã�®æœªå›žç­”è³ªå•�ï¼ˆä¸Šä½�15ä»¶ã‚’è¡¨ç¤ºï¼‰rP   u<   å›žç­”ã�§ã��ã�ªã�‹ã�£ã�Ÿè³ªå•�ã�¯ã�‚ã‚Šã�¾ã�›ã‚“ã�§ã�—ã�Ÿã€‚rO   u$   Q&Aè¿½åŠ å€™è£œï¼ˆæ‰‹å‹•è¨˜å…¥æ¬„ï¼‰zNo.u	   å›žç­”æ¡ˆÚ1r½   Ú2Ú3ÚimprovementNr{   rÙ   )ÚALIGN)r&  r4   )r&  r}   ÚCENTERr|   r  r	  r†   )r2  r{   )r4   r}   r3  )r   r{   r|   r„   )r‚   r{   r|   r„   )r(   rŒ   r   r)   r   ÚsortedÚitemsrb   r_   r   r   rŠ   r   ÚWARNING_COLORr\   r9   r   r[   r’   r   )r,   Ú
unansweredÚunique_questionsÚqr  Úsorted_questionsÚq_dataÚcountÚq_tableÚtotal_unansweredÚ	memo_dataÚ
memo_tables   &           r"   r£   Ú&MonthlyReportPDF._add_improvement_page4  s³  € à�‰×ÑœYÐ'8¸$¿+¹+ÀkÕ:RÓSÔTð 	�‰×ÑœYÐ'MÈtÏ{É{Ð[fÕOgÓhÔiØ—Y‘YÐ5Õ6ˆ
çˆ:à!ÐÛ�Ø˜^Õ,�ØÔ3Ø12Ð$Ó.à$×.°!Õ3Õ.ñ  ô  &Ð&6×&<Ñ&<Ó&>ÁNÐ\`ÔaÐô ˜( D§K¡K°Õ$?Ó@Ü˜( D§K¡K°Õ$?Ó@ðð ˆFð -¨S×1Ð1‘�Ø—‘Ø—G‘G˜AÐ0Ó1Ø—G‘GœC ›JÐ(9Ó:ðö ñ 2ô ˜F¨s´2­v°r¼"µu¨oÔ>ˆGØ×ÑœZØ˜v w°×0BÑ0BÐCØ4Ø˜ ¨3°·±Ð@Ø3Ø6Ø3ð)ó ô ð �M‰M× Ñ  Ô)ä" :›ÐØ�M‰M× Ñ ¤¨¨1¬R­4£Ô1Ø�M‰M× Ñ ¤ØÐ-Ð.Ð.]Ð^Ø—‘˜HÕ%ó"õ ð
 �M‰M× Ñ ¤Ð+iÐko×kvÑkvÐw~Õkó  "Aô  Bà�‰×ÑœV A r¬"¥uÓ-Ô.ð 	�‰×ÑœYÐ'MÈtÏ{É{Ð[fÕOgÓhÔià�W‰W�U˜NÓ+¨T¯W©W°X¸~Ó-NÐPT×PWÑPWÐXcÐesÓPtÐuØ�W‰W�S‹\˜4Ÿ7™7 2›;¨¯©°«Ð4Ø�W‰W�S‹\˜4Ÿ7™7 2›;¨¯©°«Ð4Ø�W‰W�S‹\˜4Ÿ7™7 2›;¨¯©°«Ð4ð	
ˆ	ô ˜9°´Bµ¸¼2½¸rÄ"½uÐ0EÔFˆ
Ø×ÑœJØ˜6 7¨D×,>Ñ,>Ð?Ø0Ø�V˜X s¨D¯O©OÐ<Ø0Ø3Ø/ð(
ó ô 	ð 	�‰×Ñ˜ZÔ(ð 	×Ñ˜}Ô-à�‰×ÑœY›[Ö)r%   c           
     ó&  € V P                   P                  \        RV P                  R,          4      4       . ROp\        RV P                  R,          4      \        RV P                  R,          4      ..pV F8  w  r4VP                  V P	                  VR	4      V P	                  VR	4      .4       K:  	  \        V^(\        ,          ^}\        ,          .R
7      pVP                  \        RRRV P                  3RRRRV P                  3RRR.4      4       V P                   P                  V4       V P                   P                  \        ^^\        ,          4      4       V P                   P                  \        RV P                  R,          4      4       \        RV P                  R,          4      \        RV P                  R,          4      \        RV P                  R,          4      .V P	                  RR	4      V P	                  RR	4      V P	                  RR	4      .V P	                  RR	4      V P	                  RR	4      V P	                  RR	4      .V P	                  RR	4      V P	                  RR	4      V P	                  RR	4      ..p\        V^(\        ,          ^(\        ,          ^U\        ,          .R
7      pVP                  \        RRRV P                  3RRRRV P                  3RRR.4      4       V P                   P                  V4       R# ) u   ãƒšãƒ¼ã‚¸7: æŒ‡æ¨™ã�®è¦‹æ–¹u   7. æŒ‡æ¨™ã�®è¦‹æ–¹rK   rÀ   rÃ   rÅ   rÐ   rW   u   èª¬æ˜ŽrV   rw   ry   rÇ   rÈ   u   ç›®æ¨™å€¤ã�®ç›®å®‰rN   u   ç›®æ¨™u   å‚™è€ƒu	   80%ä»¥ä¸Šu   æ¥­ç•Œæ¨™æº–ã�¯60-70%ç¨‹åº¦u	   90%ä»¥ä¸Šu0   ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯ã�Œã�‚ã‚‹å›žç­”ã�®æº€è¶³åº¦u	   20%ä»¥ä¸‹u   ä½Žã�„ã�»ã�©è‰¯ã�„N))r·   ud   ãƒ¦ãƒ¼ã‚¶ãƒ¼ã�‹ã‚‰ã�®è³ªå•�ã�¨ãƒœãƒƒãƒˆã�‹ã‚‰ã�®å›žç­”ã‚’1ã‚»ãƒƒãƒˆã�¨ã�—ã�¦ã‚«ã‚¦ãƒ³ãƒˆã�—ã�Ÿæ•°ã€‚)r»   uØ   æœŸé–“ä¸­ã�«ã‚¢ã‚¯ã‚»ã‚¹ã�—ã�Ÿç•°ã�ªã‚‹IPã‚¢ãƒ‰ãƒ¬ã‚¹ã�®æ•°ã€‚ãƒ¦ãƒ¼ã‚¶ãƒ¼æ•°ã�®å�‚è€ƒå€¤ã€‚â€»å�Œä¸€çµ„ç¹”ã�‹ã‚‰ã�¯å�Œã�˜IPã�¨ã�ªã‚‹å ´å�ˆã�Œã�‚ã‚Šã€�ãƒ¢ãƒ�ã‚¤ãƒ«ç’°å¢ƒã�§ã�¯IPã�Œå¤‰å‹•ã�™ã‚‹å ´å�ˆã�Œã�‚ã‚Šã�¾ã�™ã€‚)r¾   ui   ç·�ä¼šè©±æ•°ã‚’ãƒ¦ãƒ‹ãƒ¼ã‚¯IPæ•°ã�§å‰²ã�£ã�Ÿå€¤ã€‚1ãƒ¦ãƒ¼ã‚¶ãƒ¼ã�Œå¹³å�‡ä½•å›žä¼šè©±ã�—ã�Ÿã�‹ã�®ç›®å®‰ã€‚)rÀ   uƒ   ç·�ä¼šè©±æ•°ã�®ã�†ã�¡ã€�ãƒœãƒƒãƒˆã�Œé�©åˆ‡ã�ªå›žç­”ã‚’è¿”ã�›ã�Ÿå‰²å�ˆã€‚ã€Œå›žç­”ã�§ã��ã�Ÿæ•° Ã· ç·�ä¼šè©±æ•° Ã— 100ã€�ã�§è¨ˆç®—ã€‚)rÃ   u‰   ç·�ä¼šè©±æ•°ã�®ã�†ã�¡ã€�ãƒœãƒƒãƒˆã�Œå›žç­”ã�§ã��ã�ªã�‹ã�£ã�Ÿå‰²å�ˆã€‚ã€Œå›žç­”ã�§ã��ã�ªã�‹ã�£ã�Ÿæ•° Ã· ç·�ä¼šè©±æ•° Ã— 100ã€�ã�§è¨ˆç®—ã€‚)rÅ   u�   ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯ã‚’å�—ã�‘ã�Ÿå›žç­”ã�®ã�†ã�¡ã€Œã�„ã�„ã�­ã€�ã�®å‰²å�ˆã€‚ã€Œã�„ã�„ã�­æ•° Ã· ç·�ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯æ•° Ã— 100ã€�ã�§è¨ˆç®—ã€‚)u   ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯çŽ‡u?   ç·�ä¼šè©±æ•°ã�®ã�†ã�¡ãƒ•ã‚£ãƒ¼ãƒ‰ãƒ�ãƒƒã‚¯ã�Œä»˜ã�„ã�Ÿå‰²å�ˆã€‚)u   æŽ¨å®šå‰Šæ¸›æ™‚é–“uH   è‡ªå‹•å›žç­”ã�§ã��ã�Ÿè³ªå•�ã‚’äººã�Œå¯¾å¿œã�—ã�Ÿå ´å�ˆã�®æƒ³å®šæ™‚é–“ã€‚)u   æŽ¨å®šå‰Šæ¸›ã‚³ã‚¹ãƒˆu0   æŽ¨å®šå‰Šæ¸›æ™‚é–“ã‚’æ™‚çµ¦æ�›ç®—ã�—ã�Ÿé‡‘é¡�ã€‚)u   ã‚»ãƒƒã‚·ãƒ§ãƒ³u^   ãƒ¦ãƒ¼ã‚¶ãƒ¼ã�®ä¸€é€£ã�®ä¼šè©±ã€‚ãƒ–ãƒ©ã‚¦ã‚¶ã‚’é–‰ã�˜ã‚‹ã�¾ã�§ã‚’1ã‚»ãƒƒã‚·ãƒ§ãƒ³ã�¨ã�™ã‚‹ã€‚)u   ã‚¿ãƒ¼ãƒ³æ•°uC   1ã‚»ãƒƒã‚·ãƒ§ãƒ³å†…ã�®ä¼šè©±ï¼ˆè³ªå•�â†’å›žç­”ï¼‰ã�®å¾€å¾©å›žæ•°ã€‚r{   rÙ   r|   r~   r�   r†   )r(   rŒ   r   r)   rb   r   r   rŠ   r   r[   r\   r   ÚSUCCESS_COLOR)r,   ÚdefinitionsÚglossary_dataÚtermÚdescÚglossary_tableÚtarget_dataÚtarget_tables   &       r"   r¤   Ú#MonthlyReportPDF._add_glossary_page�  s¹  € à�‰×ÑœYÐ';¸T¿[¹[ÈÕ=UÓVÔWò
ˆô �h §¡¨NÕ ;Ó<Ü�h §¡¨NÕ ;Ó<ð
ð ˆó &‰JˆDØ× Ñ Ø—‘˜Ð/Ó0Ø—‘˜Ð/Ó0ð"ö ñ &ô ˜}¸¼B½ÀÄBÅ¸ÔHˆØ×Ñ¤
Ø˜6 7¨D×,>Ñ,>Ð?Ø�V˜X s¨D¯O©OÐ<Ø/Ø2Ø/ð,
ó !ô 	ð 	�‰×Ñ˜^Ô,à�‰×ÑœV A r¬"¥uÓ-Ô.ð 	�‰×ÑœYÐ';¸T¿[¹[ÈÕ=UÓVÔWä�x §¡¨^Õ!<Ó=Ü�x §¡¨^Õ!<Ó=Ü�x §¡¨^Õ!<Ó=ð?ð �W‰WÐ&Ð(9Ó:Ø�W‰W�[Ð"3Ó4Ø�W‰WÐ2Ð4EÓFðHð �W‰W�[Ð"3Ó4Ø�W‰W�[Ð"3Ó4Ø�W‰WÐGÐIZÓ[ð]ð �W‰W�^Ð%6Ó7Ø�W‰W�[Ð"3Ó4Ø�W‰WÐ)Ð+<Ó=ð?ð
ˆô ˜[°R¼µU¸B¼r½EÀ2ÄbÅ5Ð4IÔJˆØ×ÑœjØ˜6 7¨D×,>Ñ,>Ð?Ø�V˜X s¨D¯O©OÐ<Ø/Ø2Ø/ð*
ó ô 	ð 	�‰×Ñ˜\Ö*r%   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# ©r   ÚvaluerÔ   r–   )ÚfloatÚboolr_   )r    r!   s   "€r"   r#   r$   Ã  s"   ø€ ÷ >ñ >¡Eð >±Dð >ÁSñ >r%   c                ót   € V^ 8”  d   RpV'       g   RMRpMV^ 8  d   RpV'       g   RMRpMR# RV RV V R2# )	u-   å¢—æ¸›å€¤ã‚’ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆï¼ˆæ–‡å­—åˆ—ï¼‰Ú+ÚgreenÚredr½   u   Â±0%z<font color='z'>z%</font>r'  )r,   rN  rÔ   ÚsignÚcolors   &&&  r"   Ú_format_changeÚMonthlyReportPDF._format_changeÃ  sH   € à�1Œ9ØˆDß#*‘G°‰EØ�QŒYØˆDß!(‘E¨g‰Eáà˜u˜g R¨ v¨e¨W°HÐ=Ð=r%   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# rM  )rO  rP  r   )r    r!   s   "€r"   r#   r$   Ð  s"   ø€ ÷ ?ñ ?¡eð ?±dð ?Áyñ ?r%   c                ó\   € V P                  W4      p\        W0P                  R,          4      # )u?   å¢—æ¸›å€¤ã‚’ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆï¼ˆParagraphã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆï¼‰rU   )rW  r   r)   )r,   rN  rÔ   Úhtmls   &&& r"   rÚ   Ú!MonthlyReportPDF._format_change_pÐ  s'   € à×"Ñ" 5Ó2ˆÜ˜Ÿ{™{Ð+<Õ=Ó>Ð>r%   )r   r'   r   r(   r6   r)   )NN)rR   )F)!Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r
   r[   rC  r  r6  r\   rÛ   r‹   r-   r*   r+   rb   r   rp   r’   r§   r�   rž   rŸ   r    r¡   r¢   r£   r¤   rW  rÚ   Ú__static_attributes__Ú__classdictcell__)r!   s   @r"   r   r      sÜ   ø‡ € Ù.ñ ˜YÓ'€MÙ˜YÓ'€MÙ˜IÓ&€LÙ˜YÓ'€MÙ˜)Ó$€JÙ˜)Ó$€JÙ  Ó+Ð÷ò ò+òZrôh=ð $' r¥6°dô 7÷0(ð (÷:ð ò0*ò&T*òl#*òJ*òBJ*òX*ò4K*òZ@+÷D>ò >÷?÷ ?ð ?r%   r   )(ra  r:   Úsysr   Úreportlab.lib.pagesizesr   Úreportlab.lib.unitsr   Úreportlab.lib.stylesr   r   Úreportlab.lib.enumsr   r   r	   Úreportlab.lib.colorsr
   r   r   Úreportlab.platypusr   r   r   r   r   r   r   r   Úreportlab.pdfbaser   Úreportlab.pdfbase.ttfontsr   r;   ÚinsertÚdirnameÚabspathÚ__file__Úcore.chartsr   r   r'  r%   r"   Ú<module>rr     s‰   ðñó 
Û 
Ý å &Ý "ß Dß <Ñ <ß 7Ñ 7÷÷ ó õ )Ý ,à ‡�‡���2—7‘7—?‘? 2§7¡7§?¡?°2·7±7·?±?À8Ó3LÓ#MÓNÔ OÝ &÷{
?ó {
?r%   