
    
3jt                     F   S SK JrJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArA  S SKBJCrCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrKJLrLJMrMJNrNJOrOJPrPJQrQJRrRJSrSJTrTJUrUJVrV  S SKWJXrXJYrYJZrZJ[r[J\r\J]r]J^r^J_r_J`r`  S SKaJbrbJcrcJdrdJere  S SKfJgrgJhrhJiriJjrjJkrkJlrlJmrmJnrnJoroJprpJqrqJrrrJsrsJtrtJuruJvrvJwrwJxrxJyryJzrzJ{r{J|r|J}r}J~r~JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJrJr  S S	KJr  S S
KJr  S SKJr  S SKJrJr  S SKJr  S SKJr  SSKr0 S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S \S S._S!\S!S._S"S#\0_S$\=S%S._S&\S'S._S(\S)S._S*\S+S._S,\S-S._S.\S/S._0 S0\S1S._S2\S3S._S4\S5S._S6\S7S._S8\S9S._S:\S;S._S<\S=S._S>\S?S._S@\SAS._SB\SCS._SD\SES._SF\SGS._SH\SIS._SJ\SKS._SL\SMS._SN\SOS._SP\SQS._E0 SR\SSS._ST\tSUS._SV\hSWS._SX\iSYS._SZ\S[S._S\\S]S._S^\S_S._S`\SaS._Sb\ScS._Sd\SeS._Sf\SgS._Sh\vSiS._Sj\uSkS._Sl\SmS._Sn\SoS._Sp\SqS._SrS#\0_E0 Ss\StS._Su\SvS._Sw\SxS._SyS#\w0_Sz\oS{S._S|\kS}S._S~\lSS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\pSS._S\mSS._S\nSS._S\SS._E0 S\0SS._S\ySS._SS#\g0_S\SS._S\}SS._S\~SS._S\SS._S\SS._S\SS._S\xSS._S\SS._S\SS._S\SS._S\SS._S\SS._S\|SS._S\SS._E0 S\SS._S\zSS._S\SS._S\SS._S\jSS._S\SS._S\SS._S\{SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._E0 S\SS._S\SS._S\XSS._S\ZSS._SS#\[0_S\\SS._S\YSS._S\]SS._S\^SS._S\_SS._S\`SS._S\SS._S\SS._S\SS._S\SS._S\SS._S\SS._E0 S\SS._S\SS._S\SS._S\SS._GS \"GSS._GS\	GSS._GS\
GSS._GS\GSS._GS\9GS	S._GS
\GSS._GS\GSS._GS\GSS._GS\GSS._GS\GSS._GS\GSS._GS\,GSS._GS\+GSS._E0 GS\-GSS._GS\GSS._GS\7GSS._GS\?GS S._GS!S#\b0_GS"S#\c0_GS#S#\d0_GS$S#\e0_GS%S#\.0_GS&\DGS'S._GS(\FGS)S._GS*\EGS+S._GS,\GGS-S._GS.\HGS/S._GS0\VGS1S._GS2\IGS3S._GS4\MGS5S._E0 GS6\JGS7S._GS8\KGS9S._GS:\LGS;S._GS<\NGS=S._GS>\OGS?S._GS@\CGSAS._GSB\SGSCS._GSD\UGSES._GSF\GSGS._GSH\GSIS._GSJ\ GSKS._GSL\!GSLS._GSMS#\P0_GSN\#GSNS._GSO\qGSPS._GSQ\rGSRS._GSS\sGSTS._E0 GSU\$GSVS._GSW\)GSXS._GSY\%GSZS._GS[\&GS\S._GS]\'GS^S._GS_\(GS`S._GSa\*GSbS._GSc\GScS._GSd\GSeS._GSf\GSfS._GSg\GSgS._GSh\GShS._GSi\GSiS._GSj\GSkS._GSl\GSmS._GSn\/GSoS._GSp\1GSqS._E0 GSr\<GSsS._GSt\2GSuS._GSv\4GSwS._GSx\3GSyS._GSz\GS{S._GS|\GS}S._GS~\GSS._GS\5GSS._GS\6GSS._GS\GSS._GS\GSS._GS\GSS._GS\GSS._GS\GSS._GS\8GSS._GS\GSS._GS\GSS._E0 GS\GSS._GS\GSS._GS\GSS._GS\@GSS._GS\GSS._GS\GSS._GS\GSS._GS\GSS._GS\GSS._GS\AGSS._GSS#\Q0_GSS#\R0_GSS#\T0_GS\GSS._GS\GSS._GS\:GSS._GS\;GSS._E\GSS.\GSS.\>GSS.\>GSS.\>GSS.\>GSS.\>GSS.\>GSS.GS.Er S GSKJrJrJrJrJrJrJrJrJrJrJrJr  \GR                  \GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.\GSS.GS.5         S GSGKGJGr  \GR                  GSG\GSS.05        GS GrG\" \5      u  GrGr/ GSQGrGSGrSGSGK	GJ
Gr
  SGSGKGJGr  SGSGKGJGr  G\" G\GS5      (       a  G\GR                   GR"                  GR$                  GR&                  (       du   G\GR                   GR"                  GR)                  G\
GR*                  " GSG\" G\5      GR.                  GR1                  5       GS-  GR3                  5       5      /5        ggg! \ a)  Gr \GR                  " GSG\  3GSGS9   SGr GC GNDSGr GC ff = f! \ a    \GR                  " GSGSGS9   GNGf = f! \ a    \GR4                  " GS5         gf = f(     )ABOOLConstantINTConstantFloatConstantStringConstantStringConstantMultilineScaleBatchPromptScheduleGetLatentsFromBatchIndexedConditioningMultiCombineAppendStringsToListJoinStringsJoinStringMultiCondPassThroughModelPassThroughConditioningSetMaskAndCombineConditioningSetMaskAndCombine3ConditioningSetMaskAndCombine4ConditioningSetMaskAndCombine5
VRAM_DebugSomethingToStringSleepEmptyLatentImagePresetsEmptyLatentImageCustomPresetsWidgetToStringDummyOutFlipSigmasAdjustedCustomSigmasStringToFloatListInjectNoiseToLatentSoundReactiveGenerateNoiseStableZero123_BatchScheduleSV3D_BatchScheduleSuperpromptCameraPoseVisualizerCheckpointPerturbWeightsDifferentialDiffusionAdvancedFluxBlockLoraSelectHunyuanVideoBlockLoraSelectWan21BlockLoraSelectLTX2BlockLoraSelectDiTBlockLoraLoader#CustomControlNetWeightsFluxFromList!SetShakkerLabsUnionControlNetTypeModelSaveKJStyleModelApplyAdvancedAudioConcatenateLeapfusionHunyuanI2VImageNoiseAugmentationVAELoaderKJScheduledCFGGuidanceApplyRifleXRoPE_WanVideoApplyRifleXRoPE_HunuyanVideoTimerNodeKJ!HunyuanVideoEncodeKeyframesToCondLazySwitchKJLatentInpaintTTMSimpleCalculatorKJGetTrackRangeAddNoiseToTrackPathVAEDecodeLoopKJWanImageToVideoSVIProDeprecatedCompileNodeKJVisualizeSigmasKJPreviewLatentNoiseMaskPlaySoundKJ)PlotCoordinatesSplineEditorCreateShapeMaskOnPathCreateShapeImageOnPathCreateTextOnPathCreateGradientFromCoordsGradientToFloatMaskOrImageToWeightWeightScheduleConvertFloatToMaskWeightScheduleExtendFloatToSigmasSigmasToFloatGLIGENTextBoxApplyBatchCoordsCreateInstanceDiffusionTrackingAppendInstanceDiffusionTrackingInterpolateCoordsDrawInstanceDiffusionTrackingPointsEditorCutAndDragOnPath)	BatchCropFromMaskBatchUncropBatchCropFromMaskAdvanced%FilterZeroMasksAndCorrespondingImagesInsertImageBatchByIndexesBatchUncropAdvancedSplitBboxes	BboxToIntBboxVisualize)NormalizedAmplitudeToMaskNormalizedAmplitudeToFloatListOffsetMaskByNormalizedAmplitude#ImageTransformByNormalizedAmplitude)B	ImagePass
ColorMatchColorMatchV2SaveImageWithAlphaImageConcanateImageConcatFromBatchImageGridComposite2x2ImageGridComposite3x3ImageBatchTestPatternImageGrabPILScreencap_mssScreencapStreamWebcamCaptureCV2AddLabelGetImageSizeAndCountGetLatentSizeAndCountImageBatchRepeatInterleavingImageUpscaleWithModelBatchedImageNormalize_Neg1_To_1RemapImageRangeSplitImageChannelsMergeImageChannelsImagePadForOutpaintMaskedImagePadForOutpaintTargetSizeImagePrepForICLoraImageAndMaskPreviewCrossFadeImagesCrossFadeImagesMultiTransitionImagesMultiTransitionImagesInBatchImageBatchJoinWithTransitionShuffleImageBatchGetImageRangeFromBatchRandomImageFromBatchImageBatchExtendWithOverlapGetLatentRangeFromBatchInsertLatentToIndexImageBatchFilterGetImagesFromBatchIndexedInsertImagesToBatchIndexedPadImageBatchInterleavedReplaceImagesInBatchReverseImageBatchImageBatchMultiImageTensorListImageAddMultiImageConcatMultiPreviewAnimationImageResizeKJImageResizeKJv2LoadAndResizeImageLoadImagesFromFolderKJImageGridtoBatchSaveImageKJSaveStringKJFastPreviewFastPreviewBatchImageCropByMaskAndResizeImageCropByMaskImageUncropByMaskImageCropByMaskBatch
ImagePadKJLoadVideosFromFolderEncodeVideoComponentsDecodeAndSaveVideoPreviewImageOrMask)BatchCLIPSegDownloadAndLoadCLIPSegCreateTextMaskColorToMaskCreateFluidMaskCreateAudioMaskCreateGradientMaskCreateFadeMaskCreateFadeMaskAdvancedCreateMagicMaskCreateShapeMaskCreateVoronoiMaskGetMaskSizeAndCountGrowMaskWithBlurMaskBatchMulti
OffsetMask	RoundMask
ResizeMaskRemapMaskRangeSeparateMasksConsolidateMasksKJDrawMaskOnImageBlockifyMask)PathchSageAttentionKJPatchFlashAttentionKJCheckpointLoaderKJDiffusionModelSelectorDiffusionModelLoaderKJModelPatchTorchSettingsPatchModelPatcherOrderTorchCompileModelFluxAdvancedV2TorchCompileModelWanVideoV2TorchCompileModelAdvancedTorchCompileVAETorchCompileControlNetWanVideoTeaCacheKJWanVideoEnhanceAVideoKJLTXVEnhanceAVideoKJWanVideoNAGSkipLayerGuidanceWanVideoCFGZeroStarAndInitGGUFLoaderKJNABLA_AttentionKJStartRecordCUDAMemoryHistoryEndRecordCUDAMemoryHistoryVisualizeCUDAMemoryHistoryModelMemoryUseReportPatchModelMemoryUsageFactorOverrideWanChunkFeedForwardSamplerSelfRefineVideoPiDColorBiasCorrectionIdeogram4OptimizationsKJ)LoraExtractKJLoraReduceRank)ImageTransformKJ)ImageSharpenKJ)HDRPreviewKJ)ModelPreviewOverrideKJGetPreviewOverrideFramesKJ)ContextWindowsVisualizerKJ)Ideogram4PromptBuilderKJ    Nr   zBOOL Constant)classnamer   zINT Constantr   zFloat Constantr   zString Constantr   zString Constant Multiliner
   zConditioning Multi Combiner   r   r   r   r   r   r?   zWan Image To Video SVIPror   zDraw Mask On Imager   z(Down)load CLIPSegr   zBatch CLIPSegr   zBlockify Maskr   zColor To Maskr   zCreate Gradient Maskr   zCreate Text Maskr   zCreate Audio Maskr   zCreate Fade Maskr   zCreate Fade Mask Advancedr   zCreate Fluid Maskr   zCreate Shape Maskr   zCreate Voronoi Maskr   zCreate Magic Maskr   zGet Mask Size & Countr   zGrow Mask With Blurr   zMask Batch Multir   zOffset Maskr   zRemap Mask Ranger   zResize Maskr   z
Round Maskr   zSeparate Masksr   zConsolidate Masksrr   z	Add Labelrf   zColor Matchrg   zColor Match V2r   zImage Tensor Listr   zCross Fade Imagesr   zCross Fade Images Multir   zGet Images From Batch Indexedr   z"Get Image or Mask Range From Batchr   zRandom Image From Batchr   zGet Latent Range From Batchrt   zGet Latent Size & Countrs   zGet Image Size & Countr   zFast Previewr   zFast Preview Batchr   zImage Batch Filterr~   r   zImage Add Multir   z Image Batch Join With Transitionr   zImage Batch Multiru   rm   zImage Batch Test Patternri   zImage Concatenaterj   zImage Concatenate From Batchr   zImage Concatenate Multir   zImage Crop By Maskr   zImage Crop By Mask And Resizer   zImage Crop By Mask Batchr   zImage Uncrop By Maskr   zImage Batch Extend With Overlaprn   zImage Grab PILrk   zImage Grid Composite 2x2rl   zImage Grid Composite 3x3r   zImage Grid To Batchr2   zImage Noise Augmentationrw   zImage Normalize -1 to 1re   r   zImagePad KJr{   zImage Pad For Outpaint Maskedr|   z"Image Pad For Outpaint Target Sizer}   zImage Prep For ICLorar   zResize Image (deprecated)r   zResize Image v2rv   z Image Upscale With Model Batchedr   zInsert Images To Batch IndexedInsertLatentToIndexedzInsert Latent To Indexr   zLoad & Resize Imager   zLoad Images From Folder (KJ)r   zLoad Videos From Folderrz   zMerge Image Channelsr   zPad Image Batch Interleavedr   zPreview Animationrx   zRemap Image Ranger   zReverse Image Batchr   zReplace Images In Batchrh   zSave Image With Alphar   zSave Image KJr   zShuffle Image Batchry   zSplit Image Channelsr   zTransition Images Multir   zTransition Images In Batchr   zEncode Video Componentsr   zDecode And Save Videor   zImage Transform KJr   zIdeogram 4 Prompt Builder KJr   zHDR Preview KJr   zModel Preview Override KJr   zGet Preview Override Frames KJr   zPreview Image Or Maskr   zImage Sharpen KJrX   zBatch Crop From MaskrZ   zBatch Crop From Mask Advancedr[   r\   zInsert Image Batch By IndexesrY   zBatch Uncropr]   zBatch Uncrop Advancedr^   zSplit Bboxesr_   zBbox To Intr`   zBbox Visualizer    zGenerate Noiser   zFlip Sigmas Adjustedr   zInject Noise To Latentr   zCustom Sigmasr   zString to Float Listr   zWidget To Stringr   zSave String KJr   z	Dummy Outr	   zGet Latents From Batch Indexedr   zScale Batch Prompt Scheduler$   zCamera Pose Visualizerr   zAppend Strings To Listr   zJoin Stringsr   zJoin String Multir;   zSimple Calculator KJr   zSomething To Stringr   r   z
VRAM Debugr   zEmpty Latent Image Presetsr   z!Empty Latent Image Custom Presetsr   	ModelPassr.   zModel Save KJr-   z&Set Shakker Labs Union ControlNet Typer/   zStyle Model Apply Advancedr   zDiffusion Model Selectorr9   zLazy Switch KJrA   zVisualize Sigmas KJra   rb   rc   rd   r0   rE   zSpline EditorrG   zCreate Shape Image On PathrF   zCreate Shape Mask On PathrH   zCreate Text On PathrI   zCreate Gradient From CoordsrW   zCut And Drag On PathrJ   zGradient To FloatrN   zWeight Schedule ExtendrK   zMask Or Image To WeightrL   zWeight Schedule ConvertrM   zFloat To MaskrO   zFloat To SigmasrP   zSigmas To FloatrD   zPlot CoordinatesrT   zInterpolate CoordsrV   zPoints Editorr   zSound Reactiver!   zStable Zero123 Batch Scheduler"   zSV3D Batch Scheduler#   rQ   r%   ro   zScreencap mssrp   zScreencap Streamrq   zWebcam Capture CV2r&   zDifferential Diffusion Advancedr+   zDiT Block Lora Loaderr'   zFlux Block Lora Selectr(   zHunyuan Video Block Lora Selectr)   zWan21 Block Lora Selectr*   zLTX2 Block Lora Selectr,   z(Custom ControlNet Weights Flux From Listr   r   zDiffusion Model Loader KJr   r   r   r   r   zPatch Sage Attention KJr   zPatch Flash Attention KJLeapfusionHunyuanI2VPatcherzLeapfusion Hunyuan I2V Patcherr3   zVAELoader KJr>   zVAE Decode Loop KJr4   zScheduled CFG Guidancer6   zApply RifleXRoPE HunuyanVideor5   zApply RifleXRoPE WanVideor   zWanVideo Tea Cache (native)r   z!WanVideo Enhance A Video (native)r   zSkip Layer Guidance WanVideor7   zTimer Node KJr8   z%HunyuanVideo Encode Keyframes To Condr   zCFG Zero Star/Initr   zPiD Color Bias Correctionr   zModel Patch Torch Settingsr   r   zGGUF Loader KJr:   zLatent Inpaint TTMr   zNABLA Attention KJr   r   z"Start Recording CUDAMemory Historyr   z End Recording CUDAMemory Historyr   zVisualize CUDAMemory HistoryrB   zPreview Latent Noise Maskr   zModel Memory Use Report Patchr   z"Model Memory Usage Factor Overrider   zWan ChunkFeedForwardr   zIdeogram4 Optimizations KJr   zSampler SelfRefineVideorC   zPlay Sound KJrR   rS   rU   r   LoraReduceRankKJr   r<   zGet Track Ranger=   zAdd Noise To TrackzContext Windows Visualizer (KJ)zPatch Model Patcher OrderTorchCompileModelFluxAdvancedTorchCompileLTXModelTorchCompileCosmosModelTorchCompileModelHyVideoTorchCompileModelQwenImageTorchCompileModelWanVideo)r   r   r   r   r   r   r   r   )LTXVAddGuideMultiLTXVAddGuidesFromBatchLTXVAudioVideoMaskLTX2_NAGLTXVChunkFeedForwardLTX2SamplingPreviewOverride"LTX2AudioLatentNormalizingSamplingLTXVImgToVideoInplaceKJLTX2AttentionTunerPatch%LTX2MemoryEfficientSageAttentionPatchLTX2LoraLoaderAdvanced)WanVideoMemoryEfficientSageAttentionPatchzLTXV Enhance A Video KJzLTXV Add Guide MultizLTXV Add Guides From BatchzLTXV Audio Video MaskzLTX2 NAGzLTXV Chunk Feed ForwardzLTX2 Sampling Preview Overridez&LTX2 Audio Latent Normalizing SamplingzLTXV Img To Video Inplace KJzLTX2 Attention Tuner Patchz*LTX2 Memory Efficient Sage Attention PatchzLTX2 Lora Loader Advancedz.WanVideo Memory Efficient Sage Attention Patch)r   r   r   r   r   r   r   r   r   r   r   r   r   zRKJNodes: LTXV nodes could not be imported. LTXV nodes will be unavailable. Error: T)exc_info)PatchTritonVAEr   zPatch Triton VAEzWKJNodes: PatchTritonVAE node could not be imported. PatchTritonVAE will be unavailable.c                     0 n0 nU R                  5        H-  u  p4US   X'   UR                  SUS   R                  5      X#'   M/     X4$ )Nr   r   )itemsget__name__)node_confignode_class_mappingsnode_display_name_mappings	node_name	node_infos        E/home/wildlama/comfy/ComfyUI/custom_nodes/ComfyUI-KJNodes/__init__.pygenerate_node_mappingsr	  v  s]    !# + 1 1 3	)27);&09fiPWFXFaFa0b"- !4 ::    )NODE_CLASS_MAPPINGSNODE_DISPLAY_NAME_MAPPINGSWEB_DIRECTORYz./web)web)PromptServer)Pathinstancez/kjweb_asynckjweb_asyncz5KJNodes: failed to register /kjweb_async static route(  nodes.nodesr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   nodes.curve_nodesrD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   nodes.batchcrop_nodesrX   rY   rZ   r[   r\   r]   r^   r_   r`   nodes.audioscheduler_nodesra   rb   rc   rd   nodes.image_nodesre   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   nodes.mask_nodesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   nodes.model_optimization_nodesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   nodes.lora_nodesr   r   nodes.image_transform_noder   nodes.sharpen_nodesr   nodes.hdr_preview_noder   nodes.preview_override_noder   r    nodes.context_windows_visualizerr   nodes.ideogram4_nodesr   loggingNODE_CONFIGnodes.ltxv_nodesr   r   r   r   r   r   r   r   r   r   r   r   update	Exceptionewarningnodes.triton_vaer   r	  r  r  __all__r  aiohttpr  serverr  pathlibr  hasattrr  approuterfrozen
add_routesstatic__file__parentabsoluteas_posix	exception r
  r  <module>r9     s                  *       
                 *      
 
 
 
 
 
 
 
 < 8 / 0 [ H ; ylODy [.Ay }6FG	y
 8IJy )@Jefy *BLh iy $/LVu%vy %0NXx&yy %0NXx&yy %0NXx&yy 1y '<Faby  :NO!y" (>H\]#y$ lOD%y& lOD'y( [/B)y* $6@VW+y, 8JK-y. :MN/y0 8JK1y2 (>Hcd3y4 :MN5y6 :MN7y8 #4>ST9y: :MN;y< %8BYZ=y> "2<QR?y@ 8JKAyB J>CyD 8JKEyF J>GyH 9l;IyJ }6FGKyL $6@STMyP (K8QyR J>SyT l4DEUyV :MNWyX :MNYyZ &:D]^[y\  +DNm!n]y^ (>Hlm_y` &:D]^ayb )@Jghcyd '<F_`eyf &:D\]gyh [.Aiyj "2<PQkyl "2<PQmyn G%89oyp }6GHqyr #.JTv$wsyt :MNuyv #W.J$Kwyx '<F`ayyz 8KL{y| &:Dbc}y~ "2<UVy@ :NOAyB *BLk lCyD &:D^_EyF #4>TUGyH "-HRs#tIyJ l4DEKyL '<F`aMyN '<F`aOyP "2<QRQyR (>HbcSyT *BLe fUyV '9%WyX J>YyZ  +DNm!n[y\ $/LVz%{]y^ $6@WX_y` }6QRayb :KLcyd #.JTv$weyf !,FPp"qgyh ':D\]iyj $6@UVkyl (>Hfgmyn &:D]^oyp $6@VWqyr *BLi jsyt "2<OPuyv :MNwyx #4>STyyz &:D]^{y| $6@WX}y~ [/By@ #4>STAyB $6@VWCyD '<F_`EyF )@JfgGyH '<F_`IyJ $6@WXKyL "2<PQMyN *BLj kOyP l4DEQyR (>HcdSyT !,FPp"qUyV $6@WXWyX 8JKYy\ #4>TU]y^  +DNm!n_y` ,g7\-]ayb  +DNm!ncyd [.Aeyf %8BYZgyh [.Aiyj 9m<kyl }6FGmyp }6FGqyr $6@VWsyt %8BZ[uyv lODwyz #4>TU{y| 8JK}y~ l4DEy@ (K8AyB !,FPp"qCyD *BLi jEyF &:D\]GyH %8BZ[IyJ [.AKyL :MNMyN $6@VWOyP #4>STQyR ug.SyT J=UyV )@JfgWyX $/LVy%zYyZ "2KH[y\ [/B]y^ (3T  _G  *H_y` )@Jfgayb (>Hbccyd l4DEeyf #4>STgyj  '+D!Ekyl %w0N&Omyn &1P'Qoyp *G5X+Yqyr "23syv lODwyx (>Hdeyyz '<Fab{y| "2<QR}y~ *BLi jy@ "2<RSAyB :MNCyD &:D\]EyF %8B[\GyH '<F_`IyJ [/BKyL }6GHMyN }6GHOyP :LMQyR #4>RSSyT lODUyX }6FGYyZ "-HRq#r[y\ $6@UV]y^ [-@_y` $g/L%Mayb *BLf gcyd }oFeyf :LMgyh "2<PQiyj $/LVw%xkyl $6@WXmyn %8BZ[oyp "-HRs#tqyr &:D]^syt %8BZ[uyv *5X  cM  ,Nwyx $6@TUyyz (>Hcd{y| &1PZ{'|}y~ :KLy@ (>H`aAyB "-HRo#pCyD '<F_`EyF '<F`aGyH "-AKk#lIyJ [.AKyL :NOMyN &:D\]OyP #.JTs$tQyR *BLg hSyT $6@]^UyV )@JmnWyX  +DNl!mYyZ [/B[y\ (3T  _F  *G]y^ $6@TU_y` (>Hcdayb )@Jfgcyd [-@eyf l4DEgyh "2<PQiyj #4>RSkyl  +DNi!jmyn #.JTx$yoyp !,FPr"sqyr !,FPn"osyt (>Hcduyv  +DNm!nwyx %0NX|&}yyz %8BXY{y| *BLh i}y~ (>Haby@ [/BAyF &1P'QGyH &1P'QIyJ $g/L%MKyP }oFQyR .:JKSyX }6GHYyZ %8BVW[y` -GPq"r(>Hcd/FPo%p&=G]^)@Jcd*AKe f,CMi"j+BLg!hqyx}    %8B[\#4>TU(>Hde$6@WX"J7&:D]^-HRr#s4V  aI  +J)@Jhi)@Jfg7\  gS  .T(>Hcd;d  o_  2` $~00N<NO ; 3I2U / /
P      
<$$  $$++222	W!!%%00NT(^-B-B-K-K-MP]-],g,g,ijk 3 %?  }OOhijhklw{||}  ~OOmx|}~<  	WUV	Ws>   !A2f/ $g! 9A3h /g6gg!h ?h h h 