JDK-8209113 : Use WeakReference for lastFontStrike for created Fonts
  • Type: Bug
  • Component: client-libs
  • Sub-Component: 2d
  • Affected Version: 8,9,10,11
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: x86_64
  • Submitted: 2018-08-03
  • Updated: 2020-11-30
  • Resolved: 2019-12-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 13 JDK 14 JDK 8 Other
11.0.8-oracleFixed 13.0.4Fixed 14 b27Fixed 8u281Fixed openjdk8u272Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Description
ADDITIONAL SYSTEM INFORMATION :
Tested Fedora 27, with Oracle JDK 10.0.2 and also OpenJDK 1.8.0_171.

A DESCRIPTION OF THE PROBLEM :
When processing many TrueType fonts, the memory use grows significantly beyond the -Xmx setting. This  can be reproduced with the included FontLeak program.

The created font resources use native memory, which explains the growth. However, it seems that the memory is not disposed properly.

The first problem is that the Java2D Disposer that is responsible for clearing the font resources does not start working. This is due to SoftReferences being used in the system, which could potentially be made into weak references via -Dsun.java2d.font.reftype=weak.

There seems to be a bug that causes this not to work, and I found the following to be the cause:

Disposer holds hard reference to FontStrikeDisposer (via 'records' hash table), waiting for a soft reference to FileFontStrike to expire. This reference can be made weak by using '-Dsun.java2d.font.reftype=weak'.
The FontStrikeDisposer holds hard reference to TrueTypeFont (via field 'font2D').
The TrueTypeFont holds a soft reference to FileFontStrike (via field 'lastFontStrike').

The soft references prevent the FileFontStrike from being garbage collected until the system is nearly out of memory. This prevents the disposer from disposing the FontStrikeDisposer, which would also free the indirect hard reference to the TrueTypeFont.

TrueTypeFont holds a hard reference to T2KFontScaler, which is responsible for most of the memory use.
Disposer will not dispose the scaler until a weak reference to the TrueTypeFont expires. Due to the above reference cycle, this will not happen until the soft reference to FileFontStrike expires, which is in contrary to what 'sun.java2d.font.reftype' seems to be intended for.

The included patch to Font2D.java would make the included example program behave a lot better, when combined with -Dsun.java2d.font.reftype=weak.

There also seems to be a problem of the native memory not being freed properly if there is sufficient time (or number of operations) between the creation and disposal of the font resources. The included ScalerLeak program can be used to reproduce this problem. I included this problem in the same bug report as it may complicate the analysis of the FontLeak problem.

Potentially related issues include:
https://bugs.openjdk.java.net/browse/JDK-8173799
https://bugs.openjdk.java.net/browse/JDK-6893655 (should be fixed already, but this problem may be a regression to this old fix)

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
To reproduce, run the included FontLeak.java and ScalerLeak.java programs with the included TTF font file.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Memory use stays close to -Xmx setting.
ACTUAL -
Memory use grows way beyond the -Xmx setting, and will not get freed even after Disposer thread eventually disposes the resources.

---------- BEGIN SOURCE ----------
// FontLeak.java

import java.awt.Font;
import java.awt.FontFormatException;
import java.awt.font.FontRenderContext;
import java.awt.font.LineMetrics;
import java.awt.geom.AffineTransform;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;

// Run with:
//
// java -Djava.awt.headless=true -server -Xmx500m -Dsun.java2d.font.reftype=weak FontLeak
//
// On Fedora 27 with OpenJDK 1.8.0_171, this causes memory use to grow to 2 GB.
// With Oracle JDK 10.0.2, the memory use grows to 5.3 GB instead.
//
// Also 100000 temporary files like '/tmp/+~JF7181253993208936666.tmp' are created.

public class FontLeak
{
  public static void createFont()
  {
    try(InputStream fontStream = new FileInputStream("font.ttf"))
    {
      FontRenderContext frc =
          new FontRenderContext(new AffineTransform(),false,true);

      Font awtFont = Font.createFont(Font.TRUETYPE_FONT,fontStream);

      LineMetrics awtMetrics = awtFont.getLineMetrics("abcdefghijklmnopqrstuvwxyz",frc);
    }
    catch(IOException|FontFormatException e)
    {
      throw new RuntimeException(e); // Should not happen
    }
  }

  public static void showStatistics()
  {
    // Non-native memory usage
    System.out.println("Memory use as reported by JVM: "+Runtime.getRuntime().totalMemory()/1024/1024+ " MiB");
  }

  public static void main(String... args) throws InterruptedException
  {
    for(int a = 0; a < 10; ++a)
    {
      showStatistics();
      for(int b = 0; b < 10000; ++b)
      {
        createFont();
      }
    }
    
    showStatistics();
    
    System.out.println("Sleeping forever. Kill this process manually once done analysing.");
    Thread.sleep(100000000);
  }
}

// ScalerLeak.java

import java.awt.Font;
import java.awt.font.FontRenderContext;
import java.awt.font.LineMetrics;
import java.awt.geom.AffineTransform;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.concurrent.ConcurrentLinkedQueue;

public class ScalerLeak
{
  static boolean disposeEarly = false;

  // Run with:
  //
  // java -Dsun.java2d.debugfonts=false -Djava.awt.headless=true -server -Xmx1500m ScalerLeak
  //
  // Using JDK 1.8.0_131 (Oracle, uses T2KFontScaler):
  //
  // With disposeEarly = true
  //   Virtual memory: 4.4 GiB
  //   Resident memory: 904.3 MiB
  //
  // With disposeEarly = false
  //   Virtual memory: 7.8 GiB
  //   Resident memory: 3.1 GiB
  //
  // The numbers are lower with OpenJDK (uses FreeTypeFontScaler), but the same problem
  // is seen there, too. The same problem is seen in Oracle JDK 10.0.2, too.

  static ConcurrentLinkedQueue<Object> queue = new ConcurrentLinkedQueue<>();

  public static void createFont() throws Throwable
  {
    try(InputStream fontStream = new FileInputStream("font.ttf"))
    {
      FontRenderContext frc =
          new FontRenderContext(new AffineTransform(),false,true);

      Font awtFont = Font.createFont(Font.TRUETYPE_FONT,fontStream);

      LineMetrics awtMetrics = awtFont.getLineMetrics("abcdefghijklmnopqrstuvwxyz",frc);

      Object font2DHandle = getFieldValue(awtFont,"font2DHandle");
      Object ttf = getFieldValue(font2DHandle,"font2D");
      Object scaler = callMethod(ttf,"getScaler");

      if(disposeEarly)
        callMethod(scaler,"dispose");

      queue.add(scaler);
    }
  }

  public static Object callMethod(Object object, String methodName)
    throws Throwable
  {
    Method method = object.getClass().getDeclaredMethod(methodName);
    method.setAccessible(true);
    return method.invoke(object);
  }

  public static Object getFieldValue(Object object, String fieldName)
    throws Throwable
  {
    Field field = object.getClass().getDeclaredField(fieldName);
    field.setAccessible(true);
    return field.get(object);
  }

  public static void showStatistics()
  {
    // Non-native memory usage
    System.out.println("Memory use as reported by JVM: "+Runtime.getRuntime().totalMemory()/1024/1024+ " MiB");
  }

  public static void main(String... args) throws Throwable
  {
    for(int i = 0; i < 100000; ++i)
    {
      if(i%10000 == 0)
      {
        System.out.println(i/10000);
        showStatistics();
      }
      createFont();
    }

    showStatistics();

    System.out.println("Disposing scalers");

    for(Object scaler : queue)
      callMethod(scaler,"dispose");

    System.out.println("Done");

    System.out.println("Sleeping forever. Kill this process manually once done analysing");
    Thread.sleep(100000000);
  }
}

// Sample ttf font in base 64:

AAEAAAAKAIAAAwAgT1MvMhFcfsAAAAEoAAAAYGNtYXApHCz2AAAlFAAAANRnbHlm7/zP8gAAQKAA
AEt+aGVhZOSEGpYAAACsAAAANmhoZWESfg00AAAA5AAAACRobXR4VV8YTAAAAYgAACOMbG9jYbRR
yaQAACXoAAAauG1heHAVABI2AAABCAAAACBuYW1lt6/8zAAAjCAAAAyKcG9zdP8qANcAAJisAAAA
IAABAAAABTMzt5E0618PPPUIGQgAAAAAAKLjPB0AAAAAz3VhJ/r6/P0QAAgkAAEACQABAAAAAAAA
AAEAAAc+/k4AQxAA+vr6ehAAAAEAAAAAAAAAAAAAAAAAAARrAAEAAA1bADMAAwAAAAAAAgAQAC8A
VQAABzwR0gAAAAAAAwPUArwABQAIBZoFMwAAARsFmgUzAAAD0QBmAhIIBQILBwQCAgICAgTgACr/
wAB4QwAAAAkAAAAAVE1DIAAgACAgHQXT/lEBMwc+AbJAAAH///8AAAQmBboAAAAgAAQGAAEAAAAA
AAI5AAACOQAAAqoAuAPLAHAEcwASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOQB1
AqoAcwI5AJMCOf/9BHMAVgRzAKIEcwAzBHMATQRzACYEcwBbAAAAAARzAFcEcwBTAAAAAAKqAMkA
AAAAAAAAAAAAAAAAAAAABOMAagAAAAAFxwAABccAlgXHAGEFxwCUBVYAlQTjAJcAAAAABccAlgI5
AIwEcwAjAAAAAATjAJ0GqgCRBccAmAY5AFkFVgCVBjkAWQXHAJYFVgBKBOMALAXHAJMFVv//B40A
BwAAAAAFVv/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARzAEkE4wCHBHMAVQTjAFQEcwBB
AqoAGATjAFQE4wCSAjkAkwAAAAAEcwCJAjkAkwcdAH4E4wCRBOMAUgTjAIsAAAAAAx0AhwRzADAC
qgAfBOMAjQRzAAsGOQAJAAAAAARzAA4EAAAiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAEc//8AAAAAAQAAIQEAABpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACOQCTAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGW/7oAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5v+6AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEA
/7oIAP+6EAD/uwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABADAAAAA
LAAgAAQADAADAAkAIwA1ADgAOgA/AEYASgBXAFkAaQBwAHcAegCgAK0BMQZAIBMgHf//AAAAAwAJ
ACAALAA3ADoAPwBBAEgATABZAGEAawByAHkAoACtATEGQCATIBz//wAA//r/4//j/+P/4//j/+P/
4//j/+P/4//j/+P/4/9j/2P/pPyw4J7glwABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA2ADYANgA2AI0A3QHEAcQBxAHEAcQBxAHEAcQBxAH8AiMCQgJtAu8D
MAQDBK8FPAX1BfUGUwciByIHTwdPB08HTwdPB8YHxgiDCTcJ1ApJCqgK9gr2C2ALpAvzC/MMIQ1L
DkoOzg82EAMQtRHlEjASoBM9FF4UXhTZFNkU2RTZFNkU2RTZFNkV4BZeFvwXdBh6GPoZ6BpoGrka
uRtPG4UcXxzUHUwdyh3KHjwf3yBvIOMhjSKbIpsjWiQhJCEkISQhJCEkISQhJCEkISQhJCEkISQh
JCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEk
ISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQh
JCEkISQhJCEkISQhJCEkISQhJCEkISQhJCEkISQ+JD4koiUMJQwlDCUMJQwlDCUMJQwlDCUMJQwl
DCUMJQwlDCUMJQwlDCUMJQwlDCUMJQwlDCUMJQwlDCUMJQwlDCUMJQwlDCU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0l
PSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9
JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lPSU9JT0lVyVXJVclVyVXJVclVyVXJVcl
VyVXJVclVyVXJVclVyVXJVclVyVXJVclVyVXJVclVyVXJVclVyVXJVclVyVXJVclVyVXJVclVyVX
JVclVyVXJVclVyVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEl
cSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVx
JXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEl
cSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVx
JXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEl
cSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVx
JXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEl
cSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVx
JXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEl
cSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVx
JXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEl
cSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXElcSVxJXEliyWlJb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8l
vyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/Jb8lvyW/
Jb8lvyW/Jb8lvyW/Jb8AAgEAAAAFAAUAAAMABwBCtAIB/gYHuAI/QBMABQT+AwAKBwT+AQAZCAYF
/gIDvAEmAAkBsAEYABgrEPY8/TxOEPQ8Tf08AD88/TwQ/Dz9PDEwIREhESUhESEBAAQA/CADwPxA
BQD7ACAEwAAAAgC4AAAB6AW6AAUACQB7ugIzAAsCMkArCgVAGR80DwUfBQIFWgg4BgMCAAkGCo8L
AQsZFxoDCSYGCCYHBCYBAyYCBroClAAHApRADAIgATABjwEDARkKC7gBCLMh5qsYKytO9F08TeTk
EO0Q7RDtEO1OEEVlROZdAD88PzxNEP3mXSsxMAFGREZEAQMRIREDAxEhEQEBSQEwSNwBGQF6AugB
WP6o/Rj+hgEZ/ucAAgBwA7EDZQW6AAUACwBrQDSHBYcL9gX2CwQGBQYLZQVlC3YFdgsGAAUDAQYL
CggHBQEABAML9AgIAwAIIBAKLwo/CgMKuAF7QAoDIB8BIAEwAQMBuAKWswylQxgrEPZd7f1d/QA/
PBDtERc5ARESOTkREjk5MTABcnETAzUhFQMzAzUhFQOlNQEyLvQ1ATIuA7EBEfj4/u8BEfj4/u8A
AAIAEv/nBFsF0wAbAB8BYUCHCAQHEkgKSA5YClgOBhgMFwEUFQ0WARQSDRYCEx4MFwITGQkaARQd
CRoCEwAIGwEUAwgbAhMfDBcFEBENFgUQDg0WBg8LDBcGDxwJGgUQBAgbBRAKCRoGDwcIGwYPCRoa
SRsIFBsbCA0WFkkXDBQXFwwPDg4LCwoKBwcGSQUQEREfHxwcBAQFuAKcQF8CFBUVGBgAAUkCExIS
Hh4dHQMCAggWFxcaGhsKDQwMCQgAFBMTEBAPPg0MpxfrFqcNQBgaNA1AJCY0Pw0Bjw2fDQINTiEG
BQUCAT4bCaca6winMBtAG2AbAxtOIKJ8GCsQ9l3k/eQQ9Dw8EDwQ9l1yKyv0/eQQ9DwQPBA8AD88
PBA8PzwQPBA8EjkvPDwQPBA8EDwQ/Tw8EDwQPBD2PBA8EDwQPBA8EP08EDwQPBA8EDyHBS4rfRDE
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
ISQ0ABkEPzwYK04Q9Cs8Tf08AD88PzwxMAFxcV1dMxEhEZMBGQQm+9oAAAH/ugElAZYCNQADABi9
AAMDbgAAAwcAAANysQUBLxD0AD/tMTABIREhAZb+JAHcASUBEAAB/7oBJQTmAjUAAwAYvQADA24A
AAMHAAADcrEFAS8Q9AA/7TEwASERIQTm+tQFLAElARAAAf+6ASUBAAI1AAMAGL0AAwNuAAADBwAA
A3KxBQEvEPQAP+0xMAEhESEBAP66AUYBJQEQAAH/ugElCAACNQADABi9AAMDbgAAAwcAAANysQUB
LxD0AD/tMTABIREhCAD3ughGASUBEAAB/7sBJRAAAjUAAwAYvQADA24AAAMHAAADcrEFAS8Q9AA/
7TEwASERIRAA77sQRQElARAAAAAAAFMD6gAAAAMAAAAAAGoAAAAAAAMAAAABAAoAagAAAAMAAAAC
AAgA6gAAAAMAAAADAFgAzAAAAAMAAAAEABQA3gAAAAMAAAAFABgBJAAAAAMAAAAGABgBPAAAAAMA
AAAHAGIAagAAAAMAAAAIADAADgAAAAMAAAAJAIoBVAAAAAMAAAANAqoB3gABAAAAAAAAADUEiAAB
AAAAAAABAAUEvQABAAAAAAACAAQE/QABAAAAAAADACwE7gABAAAAAAAEAAoE9wABAAAAAAAFAAwF
GgABAAAAAAAGAAwFJgABAAAAAAAHADEEvQABAAAAAAAIABgEjwABAAAAAAAJAEUFMgABAAAAAAAN
AVUFdwADAAEEAwACAA4G2AADAAEEAwAEABoGzAADAAEEBQACAAoG8gADAAEEBQAEABYG5gADAAEE
BgACAAYHCAADAAEEBgAEABIG/AADAAEEBwACAAgHGgADAAEEBwAEABQHDgADAAEECAACAAwHLgAD
AAEECAAEABgHIgADAAEECQAAAGoAAAADAAEECQABAAoAagADAAEECQACAAgA6gADAAEECQADAFgA
zAADAAEECQAEABQA3gADAAEECQAFABgBJAADAAEECQAGABgBPAADAAEECQAHAGIAagADAAEECQAI
ADAADgADAAEECQAJAIoBVAADAAEECQANAqoB3gADAAEECgACAA4HRgADAAEECgAEABoHOgADAAEE
CwACABIHYAADAAEECwAEAB4HVAADAAEEDAACAAgHfgADAAEEDAAEABQHcgADAAEEDgACABAHnAAD
AAEEDgAEABwHkAADAAEEEAACABIHfgADAAEEEAAEAB4HcgADAAEEEwACAAYHuAADAAEEEwAEABIH
rAADAAEEFAACAA4HygADAAEEFAAEABoHvgADAAEEFQACABQH5AADAAEEFQAEACAH2AADAAEEFgAC
AA4IBAADAAEEFgAEABoH+AADAAEEGQACABQIHgADAAEEGQAEACAIEgADAAEEGwACAAoIPgADAAEE
GwAEABYIMgADAAEEHQACAAYHGgADAAEEHQAEABIHDgADAAEEHwACAAoIVAADAAEEHwAEABYISAAD
AAEEJAACAAwIagADAAEEJAAEABgIXgADAAEEKgACAAgIggADAAEEKgAEABQIdgADAAEELQACAAoI
lgADAAEELQAEABYIigADAAEICgACAA4HRgADAAEICgAEABoHOgADAAEIFgACAA4IBAADAAEIFgAE
ABoH+AADAAEMCgACAA4HRgADAAEMCgAEABoHOgADAAEMDAACAAgHfgADAAEMDAAEABQHcgCpACAA
MgAwADEANAAgAFQAaABlACAATQBvAG4AbwB0AHkAcABlACAAQwBvAHIAcABvAHIAYQB0AGkAbwBu
AC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AQQByAGkAYQBsACAA
aQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAAVABoAGUAIABNAG8AbgBvAHQAeQBw
AGUAIABDAG8AcgBwAG8AcgBhAHQAaQBvAG4ALgBNAG8AbgBvAHQAeQBwAGUAOgBBAHIAaQBhAGwA
IABCAG8AbABkADoAVgBlAHIAcwBpAG8AbgAgADUALgAxADYAIAAoAE0AaQBjAHIAbwBzAG8AZgB0
ACkAVgBlAHIAcwBpAG8AbgAgADUALgAyADAAQQByAGkAYQBsAC0AQgBvAGwAZABNAFQATQBvAG4A
bwB0AHkAcABlACAAVAB5AHAAZQAgAEQAcgBhAHcAaQBuAGcAIABPAGYAZgBpAGMAZQAgAC0AIABS
AG8AYgBpAG4AIABOAGkAYwBoAG8AbABhAHMALAAgAFAAYQB0AHIAaQBjAGkAYQAgAFMAYQB1AG4A
ZABlAHIAcwAgADEAOQA4ADIAWQBvAHUAIABtAGEAeQAgAHUAcwBlACAAdABoAGkAcwAgAGYAbwBu
AHQAIAB0AG8AIABkAGkAcwBwAGwAYQB5ACAAYQBuAGQAIABwAHIAaQBuAHQAIABjAG8AbgB0AGUA
bgB0ACAAYQBzACAAcABlAHIAbQBpAHQAdABlAGQAIABiAHkAIAB0AGgAZQAgAGwAaQBjAGUAbgBz
AGUAIAB0AGUAcgBtAHMAIABmAG8AcgAgAHQAaABlACAAcAByAG8AZAB1AGMAdAAgAGkAbgAgAHcA
aABpAGMAaAAgAHQAaABpAHMAIABmAG8AbgB0ACAAaQBzACAAaQBuAGMAbAB1AGQAZQBkAC4AIABZ
AG8AdQAgAG0AYQB5ACAAbwBuAGwAeQAgACgAaQApACAAZQBtAGIAZQBkACAAdABoAGkAcwAgAGYA
bwBuAHQAIABpAG4AIABjAG8AbgB0AGUAbgB0ACAAYQBzACAAcABlAHIAbQBpAHQAdABlAGQAIABi
AHkAIAB0AGgAZQAgAGUAbQBiAGUAZABkAGkAbgBnACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuAHMA
IABpAG4AYwBsAHUAZABlAGQAIABpAG4AIAB0AGgAaQBzACAAZgBvAG4AdAA7ACAAYQBuAGQAIAAo
AGkAaQApACAAdABlAG0AcABvAHIAYQByAGkAbAB5ACAAZABvAHcAbgBsAG8AYQBkACAAdABoAGkA
cwAgAGYAbwBuAHQAIAB0AG8AIABhACAAcAByAGkAbgB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAg
AG8AdQB0AHAAdQB0ACAAZABlAHYAaQBjAGUAIAB0AG8AIABoAGUAbABwACAAcAByAGkAbgB0ACAA
YwBvAG4AdABlAG4AdAAuqSAyMDE0IFRoZSBNb25vdHlwZSBDb3Jwb3JhdGlvbi4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC5BcmlhbCBpcyBhIHRyYWRlbWFyayBvZiBUaGUgTW9ub3R5cGUgQ29ycG9yYXRp
b24uTW9ub3R5cGU6QXJpYWwgQm9sZDpWZXJzaW9uIDUuMTYgKE1pY3Jvc29mdClWZXJzaW9uIDUu
MjBBcmlhbC1Cb2xkTVRNb25vdHlwZSBUeXBlIERyYXdpbmcgT2ZmaWNlIC0gUm9iaW4gTmljaG9s
YXMsIFBhdHJpY2lhIFNhdW5kZXJzIDE5ODJZb3UgbWF5IHVzZSB0aGlzIGZvbnQgdG8gZGlzcGxh
eSBhbmQgcHJpbnQgY29udGVudCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGxpY2Vuc2UgdGVybXMgZm9y
IHRoZSBwcm9kdWN0IGluIHdoaWNoIHRoaXMgZm9udCBpcyBpbmNsdWRlZC4gWW91IG1heSBvbmx5
IChpKSBlbWJlZCB0aGlzIGZvbnQgaW4gY29udGVudCBhcyBwZXJtaXR0ZWQgYnkgdGhlIGVtYmVk
ZGluZyByZXN0cmljdGlvbnMgaW5jbHVkZWQgaW4gdGhpcyBmb250OyBhbmQgKGlpKSB0ZW1wb3Jh
cmlseSBkb3dubG9hZCB0aGlzIGZvbnQgdG8gYSBwcmludGVyIG9yIG90aGVyIG91dHB1dCBkZXZp
Y2UgdG8gaGVscCBwcmludCBjb250ZW50LgBBAHIAaQBhAGwAIABOAGUAZwByAGUAdABhAEEAcgBp
AGEAbAAgAHQAdQENAG4A6QBBAHIAaQBhAGwAIABmAGUAZABBAHIAaQBhAGwAIABGAGUAdAB0AEEA
cgBpAGEAbAAgA4gDvQPEA78DvQOxAEEAcgBpAGEAbAAgAE4AZQBnAHIAaQB0AGEAQQByAGkAYQBs
ACAATABpAGgAYQB2AG8AaQB0AHUAQQByAGkAYQBsACAARwByAGEAcwBzAGUAdAB0AG8AQQByAGkA
YQBsACAARgDpAGwAawD2AHYA6QByAEEAcgBpAGEAbAAgAFYAZQB0AEEAcgBpAGEAbAAgAEgAYQBs
AHYAZgBlAHQAQQByAGkAYQBsACAAUABvAGcAcgB1AGIAaQBvAG4AeQBBAHIAaQBhAGwAIABOAGUA
ZwByAGkAdABvAEEAcgBpAGEAbAAgBB8EPgQ7BEMENgQ4BEAEPQRLBDkAQQByAGkAYQBsACAAVAB1
AQ0AbgDpAEEAcgBpAGEAbAAgAEsAYQBsATEAbgBBAHIAaQBhAGwAIABLAHIAZQBwAGsAbwBBAHIA
aQBhAGwAIAERAOIDIwBtAEEAcgBpAGEAbAAgAEwAbwBkAGkAYQAAAAMAAAAAAAD/JwDXAAAAAAAA
AAAAAAAAAAAAAAAAAAA=

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
The following patch causes the Disposer thread to be triggered better when combined with -Dsun.java2d.font.reftype=weak:

diff -r 3eb4e20b34cb src/share/classes/sun/font/Font2D.java
--- a/src/share/classes/sun/font/Font2D.java	Thu Jul 16 20:01:32 2015 -0700
+++ b/src/share/classes/sun/font/Font2D.java	Thu Aug 02 17:00:29 2018 +0000
@@ -29,7 +29,7 @@
 import java.awt.font.FontRenderContext;
 import java.awt.geom.AffineTransform;
 import java.lang.ref.Reference;
-import java.lang.ref.SoftReference;
+import java.lang.ref.WeakReference;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.Locale;
 
@@ -105,7 +105,7 @@
      * This pre-supposes that a FontStrike is a shareable object, which
      * it should.
      */
-    protected Reference lastFontStrike = new SoftReference(null);
+    protected Reference lastFontStrike = new WeakReference(null);
 
     /*
      * POSSIBLE OPTIMISATION:
@@ -332,7 +332,7 @@
                 strike = (FontStrike)strikeRef.get();
                 if (strike != null) {
                     //strike.lastlookupTime = System.currentTimeMillis();
-                    lastFontStrike = new SoftReference(strike);
+                    lastFontStrike = new WeakReference(strike);
                     StrikeCache.refStrike(strike);
                     return strike;
                 }
@@ -375,7 +375,7 @@
             }
             strikeCache.put(desc, strikeRef);
             //strike.lastlookupTime = System.currentTimeMillis();
-            lastFontStrike = new SoftReference(strike);
+            lastFontStrike = new WeakReference(strike);
             StrikeCache.refStrike(strike);
             return strike;
         }

FREQUENCY : always



Comments
[~sgehwolf] I believe the benefit outweights the risk for this backport, given the related CRs point to real world issues. Also ran jdk_awt test, no new failure from this patch.
21-07-2020

[~zgu] What's your risk assessment for 8u? What other testing has been done?
21-07-2020

Fix request (13u): The original change applies cleanly, the memory leak can be reproduced without the fix, and disappears with the fix.
05-06-2020

8u Fix Request: I would like to backport this patch to 8u. It fixes a memory leak that can be reproduced in 8u. The original patch does not apply cleanly. Code review thread: http://mail.openjdk.java.net/pipermail/jdk8u-dev/2020-March/011427.html (Reviewed) Webrev: http://cr.openjdk.java.net/~zgu/JDK-8209113-8u/webrev.02/
25-03-2020

11u Fix Request: I would like to backport this patch to 11u. It fixes a memory leak that can be reproduced in 11u. The original patch applies cleanly.
20-03-2020

URL: https://hg.openjdk.java.net/jdk/jdk/rev/269d810313dc User: psadhukhan Date: 2019-12-11 06:34:35 +0000
11-12-2019

URL: https://hg.openjdk.java.net/jdk/client/rev/269d810313dc User: prr Date: 2019-12-05 21:24:56 +0000
05-12-2019

These two bugs are related : https://bugs.openjdk.java.net/browse/JDK-6893655 https://bugs.openjdk.java.net/browse/JDK-8173799
25-10-2019

For most applications, the soft reference works fine. Processing an infinite number of unique font files is unusual and there is the simple workaround noted, and the Xmx option is only intended and able to limit Java heap, not overall process memory. It would need some investigation to discover if there is a native leak in a font that has been used. All native font resources are referenced via Java objects, so whilst perhaps one is being missed to be freed, it could also be something else going on.
10-08-2018

Memory usage grows significantly beyond -Xmx setting while processing true type fonts. The value is larger with Oracle JDK when compared to Open JDK versions. When checked this for the reported versions with provided test case (attached) could confirm the issue. Results: ======== Checked this with Oracle JDK versions 8u181, 8u191, 9, 11 ea b25, Open JDK 10, Open JDK 12 ea b05 To verify, run the attached test case with respected JDK version. $ java -Dsun.java2d.debugfonts=false -Djava.awt.headless=true -Dsun.java2d.font.reftype=weak -server -Xmx500m FontLeak Java version: 1.8.0_181 20% done... Memory use as reported by JVM: 238592 KiB Memory use as reported by 'ps': 821736 KiB 40% done... Memory use as reported by JVM: 223232 KiB Memory use as reported by 'ps': 1498740 KiB 60% done... Memory use as reported by JVM: 221184 KiB Memory use as reported by 'ps': 2167228 KiB 80% done... Memory use as reported by JVM: 208896 KiB Memory use as reported by 'ps': 2843036 KiB 100% done... Memory use as reported by JVM: 205824 KiB Memory use as reported by 'ps': 3524384 KiB OpenJDK 12 ea: $ java -Dsun.java2d.debugfonts=false -Djava.awt.headless=true -Dsun.java2d.font.reftype=weak -server -Xmx500m FontLeak Java version: 12-ea 20% done... Memory use as reported by JVM: 258048 KiB Memory use as reported by 'ps': 527384 KiB 40% done... Memory use as reported by JVM: 258048 KiB Memory use as reported by 'ps': 819384 KiB 60% done... Memory use as reported by JVM: 163840 KiB Memory use as reported by 'ps': 1024260 KiB 80% done... Memory use as reported by JVM: 163840 KiB Memory use as reported by 'ps': 1292868 KiB 100% done... Memory use as reported by JVM: 163840 KiB Memory use as reported by 'ps': 1551124 KiB Adding aditional information from submitter: ============================================== The memory use is lower with OpenJDK 12 ea, but it is probably caused by the OpenJDK 'FreetypeFontScaler' being used instead of the older scaler in the Oracle JDK. Both exhibit similar memory overuse patterns. As background information, we ran into this memory use problem when a client reported large memory growth over time, eventually causing the kernel out of memory killer to kill the java process. Our product processes PDF documents which contain embedded fonts, so the number of fonts in our system is limitless. We discovered that even though we do release all references to the fonts properly, the native memory is not correctly disposed by the Java2D Disposer thread due to the bugs I described in the original bug report. Patching the standard library by changing the 'lastFontStrike' reference to weak instead of soft would make '-Dsun.java2d.font.reftype=weak' work correctly and improve the memory usage considerably. The 'ScalerLeak' bug would still remain, however. ===============================================
08-08-2018