From 4776779b95c3a3ac262d9f2236193bda84409ce1 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Mon, 30 May 2022 15:53:16 +0000 Subject: [PATCH 001/422] Use fluent assertions Gives a bit more information upon failures PiperOrigin-RevId: 451882968 (cherry picked from commit 9d460023a2842b8b03f563ecfed090149ce73b81) From 22ee071b53109feca1e5e02a68b0e81307b0a793 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 31 May 2022 09:36:18 +0000 Subject: [PATCH 002/422] Move program initialization to texture processor constructor. Once the more advanced GlTextureProcessor interface exists, it will be possible to change the output size of a GlTextureProcessor between frames. To keep the re-configuration based on the frame sizes minimal, things indepedent of the frame size, such as the GlProgram, can be initialized in the constructor. PiperOrigin-RevId: 451997584 (cherry picked from commit 87ab96d352c0ffbf83d514d93193638895b61e5e) --- .../transformer/BitmapOverlayProcessor.java | 47 ++++++------ .../PeriodicVignetteProcessor.java | 42 +++++------ .../demo/transformer/TransformerActivity.java | 9 ++- .../demo/transformer/MediaPipeProcessor.java | 38 ++++------ .../transformer/FrameProcessorChainTest.java | 9 +-- ...atrixTransformationProcessorPixelTest.java | 43 ++++++----- .../transformer/PresentationPixelTest.java | 74 ++++++++----------- .../transformer/ExternalTextureProcessor.java | 34 ++++----- .../transformer/FrameProcessorChain.java | 74 +++++++++++-------- .../androidx/media3/transformer/GlEffect.java | 8 +- .../transformer/GlMatrixTransformation.java | 6 +- .../MatrixTransformationProcessor.java | 47 ++++++------ .../SingleFrameGlTextureProcessor.java | 39 ++++------ .../media3/transformer/TextureInfo.java | 46 ++++++++++++ 14 files changed, 266 insertions(+), 250 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 85a8d59b6d3..67dff8aa956 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -35,7 +35,6 @@ import androidx.media3.transformer.SingleFrameGlTextureProcessor; import java.io.IOException; import java.util.Locale; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * A {@link SingleFrameGlTextureProcessor} that overlays a bitmap with a logo and timer on each @@ -57,16 +56,20 @@ private final Paint paint; private final Bitmap overlayBitmap; + private final Bitmap logoBitmap; private final Canvas overlayCanvas; + private final GlProgram glProgram; private float bitmapScaleX; private float bitmapScaleY; private int bitmapTexId; - private @MonotonicNonNull Size outputSize; - private @MonotonicNonNull Bitmap logoBitmap; - private @MonotonicNonNull GlProgram glProgram; - public BitmapOverlayProcessor() { + /** + * Creates a new instance. + * + * @throws IOException If a problem occurs while reading shader files. + */ + public BitmapOverlayProcessor(Context context) throws IOException { paint = new Paint(); paint.setTextSize(64); paint.setAntiAlias(true); @@ -75,19 +78,6 @@ public BitmapOverlayProcessor() { overlayBitmap = Bitmap.createBitmap(BITMAP_WIDTH_HEIGHT, BITMAP_WIDTH_HEIGHT, Bitmap.Config.ARGB_8888); overlayCanvas = new Canvas(overlayBitmap); - } - - @Override - public void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) - throws IOException { - if (inputWidth > inputHeight) { - bitmapScaleX = inputWidth / (float) inputHeight; - bitmapScaleY = 1f; - } else { - bitmapScaleX = 1f; - bitmapScaleY = inputHeight / (float) inputWidth; - } - outputSize = new Size(inputWidth, inputHeight); try { logoBitmap = @@ -106,19 +96,27 @@ public void initialize(Context context, int inputTexId, int inputWidth, int inpu "aFramePosition", GlUtil.getNormalizedCoordinateBounds(), GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - glProgram.setSamplerTexIdUniform("uTexSampler0", inputTexId, /* texUnitIndex= */ 0); glProgram.setSamplerTexIdUniform("uTexSampler1", bitmapTexId, /* texUnitIndex= */ 1); - glProgram.setFloatUniform("uScaleX", bitmapScaleX); - glProgram.setFloatUniform("uScaleY", bitmapScaleY); } @Override - public Size getOutputSize() { - return checkStateNotNull(outputSize); + public Size configure(int inputWidth, int inputHeight) { + if (inputWidth > inputHeight) { + bitmapScaleX = inputWidth / (float) inputHeight; + bitmapScaleY = 1f; + } else { + bitmapScaleX = 1f; + bitmapScaleY = inputHeight / (float) inputWidth; + } + + glProgram.setFloatUniform("uScaleX", bitmapScaleX); + glProgram.setFloatUniform("uScaleY", bitmapScaleY); + + return new Size(inputWidth, inputHeight); } @Override - public void drawFrame(long presentationTimeUs) throws FrameProcessingException { + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { try { checkStateNotNull(glProgram).use(); @@ -137,6 +135,7 @@ public void drawFrame(long presentationTimeUs) throws FrameProcessingException { flipBitmapVertically(overlayBitmap)); GlUtil.checkGlError(); + glProgram.setSamplerTexIdUniform("uTexSampler0", inputTexId, /* texUnitIndex= */ 0); glProgram.bindAttributesAndUniforms(); // The four-vertex triangle strip forms a quad. GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index 74c1a312946..42aec157e0c 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -16,7 +16,6 @@ package androidx.media3.demo.transformer; import static androidx.media3.common.util.Assertions.checkArgument; -import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; import android.opengl.GLES20; @@ -26,7 +25,6 @@ import androidx.media3.transformer.FrameProcessingException; import androidx.media3.transformer.SingleFrameGlTextureProcessor; import java.io.IOException; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * A {@link SingleFrameGlTextureProcessor} that periodically dims the frames such that pixels are @@ -41,14 +39,9 @@ private static final String FRAGMENT_SHADER_PATH = "fragment_shader_vignette_es2.glsl"; private static final float DIMMING_PERIOD_US = 5_600_000f; - private float centerX; - private float centerY; - private float minInnerRadius; - private float deltaInnerRadius; - private float outerRadius; - - private @MonotonicNonNull Size outputSize; - private @MonotonicNonNull GlProgram glProgram; + private final GlProgram glProgram; + private final float minInnerRadius; + private final float deltaInnerRadius; /** * Creates a new instance. @@ -61,29 +54,27 @@ * *

The parameters are given in normalized texture coordinates from 0 to 1. * + * @param context The {@link Context}. * @param centerX The x-coordinate of the center of the effect. * @param centerY The y-coordinate of the center of the effect. * @param minInnerRadius The lower bound of the radius that is unaffected by the effect. * @param maxInnerRadius The upper bound of the radius that is unaffected by the effect. * @param outerRadius The radius after which all pixels are black. + * @throws IOException If a problem occurs while reading shader files. */ public PeriodicVignetteProcessor( - float centerX, float centerY, float minInnerRadius, float maxInnerRadius, float outerRadius) { + Context context, + float centerX, + float centerY, + float minInnerRadius, + float maxInnerRadius, + float outerRadius) + throws IOException { checkArgument(minInnerRadius <= maxInnerRadius); checkArgument(maxInnerRadius <= outerRadius); - this.centerX = centerX; - this.centerY = centerY; this.minInnerRadius = minInnerRadius; this.deltaInnerRadius = maxInnerRadius - minInnerRadius; - this.outerRadius = outerRadius; - } - - @Override - public void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) - throws IOException { - outputSize = new Size(inputWidth, inputHeight); glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); - glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); glProgram.setFloatsUniform("uCenter", new float[] {centerX, centerY}); glProgram.setFloatsUniform("uOuterRadius", new float[] {outerRadius}); // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. @@ -94,14 +85,15 @@ public void initialize(Context context, int inputTexId, int inputWidth, int inpu } @Override - public Size getOutputSize() { - return checkStateNotNull(outputSize); + public Size configure(int inputWidth, int inputHeight) { + return new Size(inputWidth, inputHeight); } @Override - public void drawFrame(long presentationTimeUs) throws FrameProcessingException { + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { try { - checkStateNotNull(glProgram).use(); + glProgram.use(); + glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); double theta = presentationTimeUs * 2 * Math.PI / DIMMING_PERIOD_US; float innerRadius = minInnerRadius + deltaInnerRadius * (0.5f - 0.5f * (float) Math.cos(theta)); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 594459e3150..178cfc0098b 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; @@ -274,12 +275,13 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) try { Class clazz = Class.forName("androidx.media3.demo.transformer.MediaPipeProcessor"); Constructor constructor = - clazz.getConstructor(String.class, String.class, String.class); + clazz.getConstructor(Context.class, String.class, String.class, String.class); effects.add( - () -> { + (Context context) -> { try { return (SingleFrameGlTextureProcessor) constructor.newInstance( + context, /* graphName= */ "edge_detector_mediapipe_graph.binarypb", /* inputStreamName= */ "input_video", /* outputStreamName= */ "output_video"); @@ -294,8 +296,9 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) } if (selectedEffects[2]) { effects.add( - () -> + (Context context) -> new PeriodicVignetteProcessor( + context, bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_X), bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_Y), /* minInnerRadius= */ bundle.getFloat( diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 8860a2ccc91..65a86666344 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -63,49 +63,36 @@ protected void loadLibrary(String name) { private static final String COPY_VERTEX_SHADER_NAME = "vertex_shader_copy_es2.glsl"; private static final String COPY_FRAGMENT_SHADER_NAME = "shaders/fragment_shader_copy_es2.glsl"; - private final String graphName; - private final String inputStreamName; - private final String outputStreamName; private final ConditionVariable frameProcessorConditionVariable; + private final FrameProcessor frameProcessor; + private final GlProgram glProgram; - private @MonotonicNonNull FrameProcessor frameProcessor; private int inputWidth; private int inputHeight; - private int inputTexId; - private @MonotonicNonNull GlProgram glProgram; private @MonotonicNonNull TextureFrame outputFrame; private @MonotonicNonNull RuntimeException frameProcessorPendingError; /** * Creates a new texture processor that wraps a MediaPipe graph. * + * @param context The {@link Context}. * @param graphName Name of a MediaPipe graph asset to load. * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. + * @throws IOException If a problem occurs while reading shader files or initializing MediaPipe + * resources. */ - public MediaPipeProcessor(String graphName, String inputStreamName, String outputStreamName) { - checkState(LOADER.isAvailable()); - this.graphName = graphName; - this.inputStreamName = inputStreamName; - this.outputStreamName = outputStreamName; - frameProcessorConditionVariable = new ConditionVariable(); - } - - @Override - public void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) + public MediaPipeProcessor( + Context context, String graphName, String inputStreamName, String outputStreamName) throws IOException { - this.inputTexId = inputTexId; - this.inputWidth = inputWidth; - this.inputHeight = inputHeight; - glProgram = new GlProgram(context, COPY_VERTEX_SHADER_NAME, COPY_FRAGMENT_SHADER_NAME); + checkState(LOADER.isAvailable()); + frameProcessorConditionVariable = new ConditionVariable(); AndroidAssetUtil.initializeNativeAssetManager(context); - EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext()); frameProcessor = new FrameProcessor( context, eglManager.getNativeContext(), graphName, inputStreamName, outputStreamName); - // Unblock drawFrame when there is an output frame or an error. frameProcessor.setConsumer( frame -> { @@ -117,15 +104,18 @@ public void initialize(Context context, int inputTexId, int inputWidth, int inpu frameProcessorPendingError = error; frameProcessorConditionVariable.open(); }); + glProgram = new GlProgram(context, COPY_VERTEX_SHADER_NAME, COPY_FRAGMENT_SHADER_NAME); } @Override - public Size getOutputSize() { + public Size configure(int inputWidth, int inputHeight) { + this.inputWidth = inputWidth; + this.inputHeight = inputHeight; return new Size(inputWidth, inputHeight); } @Override - public void drawFrame(long presentationTimeUs) throws FrameProcessingException { + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { frameProcessorConditionVariable.close(); // Pass the input frame to MediaPipe. diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java index 05920f20580..92a0a5395bc 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java @@ -122,7 +122,7 @@ private FrameProcessorChain createFrameProcessorChainWithFakeTextureProcessors( throws FrameProcessingException { ImmutableList.Builder effects = new ImmutableList.Builder<>(); for (Size element : textureProcessorOutputSizes) { - effects.add(() -> new FakeTextureProcessor(element)); + effects.add((Context context) -> new FakeTextureProcessor(element)); } return FrameProcessorChain.create( getApplicationContext(), @@ -144,15 +144,12 @@ private FakeTextureProcessor(Size outputSize) { } @Override - public void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) {} - - @Override - public Size getOutputSize() { + public Size configure(int inputWidth, int inputHeight) { return outputSize; } @Override - public void drawFrame(long presentationTimeNs) {} + public void drawFrame(int inputTexId, long presentationTimeNs) {} @Override public void release() {} diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java index 9a5648274d1..f25c09a16bc 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java @@ -19,6 +19,7 @@ import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; +import android.content.Context; import android.graphics.Bitmap; import android.graphics.Matrix; import android.opengl.EGLContext; @@ -56,9 +57,10 @@ public final class MatrixTransformationProcessorPixelTest { GlUtil.glAssertionsEnabled = true; } + private final Context context = getApplicationContext(); private final EGLDisplay eglDisplay = GlUtil.createEglDisplay(); private final EGLContext eglContext = GlUtil.createEglContext(eglDisplay); - private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationFrameProcessor; private int inputTexId; private int outputTexId; private int width; @@ -80,8 +82,8 @@ public void createTextures() throws IOException { @After public void release() { - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); + if (matrixTransformationFrameProcessor != null) { + matrixTransformationFrameProcessor.release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } @@ -90,12 +92,12 @@ public void release() { public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; Matrix identityMatrix = new Matrix(); - matrixTransformationProcessor = - new MatrixTransformationProcessor((long presentationTimeUs) -> identityMatrix); - matrixTransformationProcessor.initialize(getApplicationContext(), inputTexId, width, height); + matrixTransformationFrameProcessor = + new MatrixTransformationProcessor(context, (long presentationTimeUs) -> identityMatrix); + matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(/* presentationTimeUs= */ 0); + matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -113,12 +115,13 @@ public void drawFrame_translateRight_producesExpectedOutput() throws Exception { String testId = "drawFrame_translateRight"; Matrix translateRightMatrix = new Matrix(); translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); - matrixTransformationProcessor = - new MatrixTransformationProcessor((long presentationTimeUs) -> translateRightMatrix); - matrixTransformationProcessor.initialize(getApplicationContext(), inputTexId, width, height); + matrixTransformationFrameProcessor = + new MatrixTransformationProcessor( + context, /* matrixTransformation= */ (long presentationTimeUs) -> translateRightMatrix); + matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(/* presentationTimeUs= */ 0); + matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -136,12 +139,13 @@ public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { String testId = "drawFrame_scaleNarrow"; Matrix scaleNarrowMatrix = new Matrix(); scaleNarrowMatrix.postScale(.5f, 1.2f); - matrixTransformationProcessor = - new MatrixTransformationProcessor((long presentationTimeUs) -> scaleNarrowMatrix); - matrixTransformationProcessor.initialize(getApplicationContext(), inputTexId, width, height); + matrixTransformationFrameProcessor = + new MatrixTransformationProcessor( + context, /* matrixTransformation= */ (long presentationTimeUs) -> scaleNarrowMatrix); + matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(SCALE_NARROW_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(/* presentationTimeUs= */ 0); + matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -159,12 +163,13 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { String testId = "drawFrame_rotate90"; Matrix rotate90Matrix = new Matrix(); rotate90Matrix.postRotate(/* degrees= */ 90); - matrixTransformationProcessor = - new MatrixTransformationProcessor((long presentationTimeUs) -> rotate90Matrix); - matrixTransformationProcessor.initialize(getApplicationContext(), inputTexId, width, height); + matrixTransformationFrameProcessor = + new MatrixTransformationProcessor( + context, /* matrixTransformation= */ (long presentationTimeUs) -> rotate90Matrix); + matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_90_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(/* presentationTimeUs= */ 0); + matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index 6e34118d040..e4404c06c5d 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -20,6 +20,7 @@ import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; +import android.content.Context; import android.graphics.Bitmap; import android.opengl.EGLContext; import android.opengl.EGLDisplay; @@ -67,6 +68,7 @@ public final class PresentationPixelTest { GlUtil.glAssertionsEnabled = true; } + private final Context context = getApplicationContext(); private final EGLDisplay eglDisplay = GlUtil.createEglDisplay(); private final EGLContext eglContext = GlUtil.createEglContext(eglDisplay); private @MonotonicNonNull SingleFrameGlTextureProcessor presentationTextureProcessor; @@ -97,14 +99,12 @@ public void release() { @Test public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; - presentationTextureProcessor = new Presentation.Builder().build().toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + presentationTextureProcessor = new Presentation.Builder().build().toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -125,14 +125,12 @@ public void drawFrame_cropSmaller_producesExpectedOutput() throws Exception { new Presentation.Builder() .setCrop(/* left= */ -.9f, /* right= */ .1f, /* bottom= */ -1f, /* top= */ .5f) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_SMALLER_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -153,14 +151,12 @@ public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { new Presentation.Builder() .setCrop(/* left= */ -2f, /* right= */ 2f, /* bottom= */ -1f, /* top= */ 2f) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_LARGER_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -182,15 +178,13 @@ public void drawFrame_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput new Presentation.Builder() .setAspectRatio(1f, Presentation.LAYOUT_SCALE_TO_FIT) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_NARROW_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -212,15 +206,13 @@ public void drawFrame_changeAspectRatio_scaleToFit_wide_producesExpectedOutput() new Presentation.Builder() .setAspectRatio(2f, Presentation.LAYOUT_SCALE_TO_FIT) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WIDE_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -242,15 +234,13 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow_producesExpect new Presentation.Builder() .setAspectRatio(1f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_NARROW_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -272,15 +262,13 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_wide_producesExpected new Presentation.Builder() .setAspectRatio(2f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_WIDE_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -302,15 +290,13 @@ public void drawFrame_changeAspectRatio_stretchToFit_narrow_producesExpectedOutp new Presentation.Builder() .setAspectRatio(1f, Presentation.LAYOUT_STRETCH_TO_FIT) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_STRETCH_TO_FIT_NARROW_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); @@ -332,15 +318,13 @@ public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput new Presentation.Builder() .setAspectRatio(2f, Presentation.LAYOUT_STRETCH_TO_FIT) .build() - .toGlTextureProcessor(); - presentationTextureProcessor.initialize( - getApplicationContext(), inputTexId, inputWidth, inputHeight); - Size outputSize = presentationTextureProcessor.getOutputSize(); + .toGlTextureProcessor(context); + Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_STRETCH_TO_FIT_WIDE_PNG_ASSET_PATH); - presentationTextureProcessor.drawFrame(/* presentationTimeUs= */ 0); + presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.getWidth(), outputSize.getHeight()); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java index 8000d738eef..2d68dd63d9f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java @@ -24,7 +24,6 @@ import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import java.io.IOException; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Copies frames from an external texture and applies color transformations for HDR if needed. */ /* package */ class ExternalTextureProcessor implements SingleFrameGlTextureProcessor { @@ -49,22 +48,16 @@ 1.683f, -0.652f, 0.0f, }; - private final boolean enableExperimentalHdrEditing; + private final GlProgram glProgram; - private @MonotonicNonNull Size size; - private @MonotonicNonNull GlProgram glProgram; - - public ExternalTextureProcessor(boolean enableExperimentalHdrEditing) { - this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; - } - - @Override - public void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) + /** + * Creates a new instance. + * + * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. + * @throws IOException If a problem occurs while reading shader files. + */ + public ExternalTextureProcessor(Context context, boolean enableExperimentalHdrEditing) throws IOException { - checkArgument(inputWidth > 0, "inputWidth must be positive"); - checkArgument(inputHeight > 0, "inputHeight must be positive"); - - size = new Size(inputWidth, inputHeight); String vertexShaderFilePath = enableExperimentalHdrEditing ? VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH @@ -74,7 +67,6 @@ public void initialize(Context context, int inputTexId, int inputWidth, int inpu ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); - glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. glProgram.setBufferAttribute( "aFramePosition", @@ -87,8 +79,11 @@ public void initialize(Context context, int inputTexId, int inputWidth, int inpu } @Override - public Size getOutputSize() { - return checkStateNotNull(size); + public Size configure(int inputWidth, int inputHeight) { + checkArgument(inputWidth > 0, "inputWidth must be positive"); + checkArgument(inputHeight > 0, "inputHeight must be positive"); + + return new Size(inputWidth, inputHeight); } /** @@ -104,10 +99,11 @@ public void setTextureTransformMatrix(float[] textureTransformMatrix) { } @Override - public void drawFrame(long presentationTimeUs) throws FrameProcessingException { + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { checkStateNotNull(glProgram); try { glProgram.use(); + glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); glProgram.bindAttributesAndUniforms(); // The four-vertex triangle strip forms a quad. GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index a1688077c7e..9ea96e3a9b3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -171,22 +171,21 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( } ExternalTextureProcessor externalTextureProcessor = - new ExternalTextureProcessor(enableExperimentalHdrEditing); + new ExternalTextureProcessor(context, enableExperimentalHdrEditing); ImmutableList textureProcessors = - getTextureProcessors(externalTextureProcessor, pixelWidthHeightRatio, effects); + getTextureProcessors(context, externalTextureProcessor, pixelWidthHeightRatio, effects); // Initialize texture processors. int inputExternalTexId = GlUtil.createExternalTexture(); - externalTextureProcessor.initialize(context, inputExternalTexId, inputWidth, inputHeight); - - int[] framebuffers = new int[textureProcessors.size() - 1]; - Size inputSize = externalTextureProcessor.getOutputSize(); + Size outputSize = externalTextureProcessor.configure(inputWidth, inputHeight); + ImmutableList.Builder intermediateTextures = new ImmutableList.Builder<>(); for (int i = 1; i < textureProcessors.size(); i++) { - int inputTexId = GlUtil.createTexture(inputSize.getWidth(), inputSize.getHeight()); - framebuffers[i - 1] = GlUtil.createFboForTexture(inputTexId); + int texId = GlUtil.createTexture(outputSize.getWidth(), outputSize.getHeight()); + int fboId = GlUtil.createFboForTexture(texId); + intermediateTextures.add( + new TextureInfo(texId, fboId, outputSize.getWidth(), outputSize.getHeight())); SingleFrameGlTextureProcessor textureProcessor = textureProcessors.get(i); - textureProcessor.initialize(context, inputTexId, inputSize.getWidth(), inputSize.getHeight()); - inputSize = textureProcessor.getOutputSize(); + outputSize = textureProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); } return new FrameProcessorChain( eglDisplay, @@ -194,16 +193,19 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( singleThreadExecutorService, inputExternalTexId, streamOffsetUs, - framebuffers, + intermediateTextures.build(), textureProcessors, + outputSize, listener, enableExperimentalHdrEditing); } private static ImmutableList getTextureProcessors( + Context context, ExternalTextureProcessor externalTextureProcessor, float pixelWidthHeightRatio, - List effects) { + List effects) + throws IOException { ImmutableList.Builder textureProcessors = new ImmutableList.Builder().add(externalTextureProcessor); @@ -233,15 +235,15 @@ private static ImmutableList getTextureProcessors ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty()) { - textureProcessors.add(new MatrixTransformationProcessor(matrixTransformations)); + textureProcessors.add(new MatrixTransformationProcessor(context, matrixTransformations)); matrixTransformationListBuilder = new ImmutableList.Builder<>(); } - textureProcessors.add(effect.toGlTextureProcessor()); + textureProcessors.add(effect.toGlTextureProcessor(context)); } ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty()) { - textureProcessors.add(new MatrixTransformationProcessor(matrixTransformations)); + textureProcessors.add(new MatrixTransformationProcessor(context, matrixTransformations)); } return textureProcessors.build(); @@ -265,11 +267,12 @@ private static ImmutableList getTextureProcessors private final ConcurrentLinkedQueue> futures; /** Number of frames {@linkplain #registerInputFrame() registered} but not fully processed. */ private final AtomicInteger pendingFrameCount; - /** Wraps the {@link #inputSurfaceTexture}. */ private final Surface inputSurface; /** Associated with an OpenGL external texture. */ private final SurfaceTexture inputSurfaceTexture; + /** Identifier of the OpenGL texture associated with the input {@link SurfaceTexture}. */ + private final int inputExternalTexId; /** Transformation matrix associated with the {@link #inputSurfaceTexture}. */ private final float[] textureTransformMatrix; @@ -278,12 +281,15 @@ private static ImmutableList getTextureProcessors * SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} at indices >= 1. */ private final ImmutableList textureProcessors; + /** - * Identifiers of a framebuffer object associated with the intermediate textures that receive - * output from the previous {@link SingleFrameGlTextureProcessor}, and provide input for the - * following {@link SingleFrameGlTextureProcessor}. + * {@link TextureInfo} instances describing the intermediate textures that receive output from the + * previous {@link SingleFrameGlTextureProcessor}, and provide input for the following {@link + * SingleFrameGlTextureProcessor}. */ - private final int[] framebuffers; + private final ImmutableList intermediateTextures; + /** The last texture processor's output {@link Size}. */ + private final Size recommendedOutputSize; private final Listener listener; @@ -318,8 +324,9 @@ private FrameProcessorChain( ExecutorService singleThreadExecutorService, int inputExternalTexId, long streamOffsetUs, - int[] framebuffers, + ImmutableList intermediateTextures, ImmutableList textureProcessors, + Size recommendedOutputSize, Listener listener, boolean enableExperimentalHdrEditing) { checkState(!textureProcessors.isEmpty()); @@ -327,9 +334,11 @@ private FrameProcessorChain( this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.singleThreadExecutorService = singleThreadExecutorService; + this.inputExternalTexId = inputExternalTexId; this.streamOffsetUs = streamOffsetUs; - this.framebuffers = framebuffers; + this.intermediateTextures = intermediateTextures; this.textureProcessors = textureProcessors; + this.recommendedOutputSize = recommendedOutputSize; this.listener = listener; this.stopProcessing = new AtomicBoolean(); this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; @@ -350,7 +359,7 @@ private FrameProcessorChain( * SurfaceView) output surface}. */ public Size getOutputSize() { - return getLast(textureProcessors).getOutputSize(); + return recommendedOutputSize; } /** @@ -493,37 +502,40 @@ private void processFrame() { inputSurfaceTexture.getTransformMatrix(textureTransformMatrix); ((ExternalTextureProcessor) textureProcessors.get(0)) .setTextureTransformMatrix(textureTransformMatrix); + int inputTexId = inputExternalTexId; for (int i = 0; i < textureProcessors.size() - 1; i++) { if (stopProcessing.get()) { return; } - Size intermediateSize = textureProcessors.get(i).getOutputSize(); + TextureInfo outputTexture = intermediateTextures.get(i); GlUtil.focusFramebuffer( eglDisplay, eglContext, outputEglSurface, - framebuffers[i], - intermediateSize.getWidth(), - intermediateSize.getHeight()); + outputTexture.fboId, + outputTexture.width, + outputTexture.height); clearOutputFrame(); - textureProcessors.get(i).drawFrame(presentationTimeUs); + textureProcessors.get(i).drawFrame(inputTexId, presentationTimeUs); + inputTexId = outputTexture.texId; } GlUtil.focusEglSurface(eglDisplay, eglContext, outputEglSurface, outputWidth, outputHeight); clearOutputFrame(); - getLast(textureProcessors).drawFrame(presentationTimeUs); + getLast(textureProcessors).drawFrame(inputTexId, presentationTimeUs); EGLExt.eglPresentationTimeANDROID(eglDisplay, outputEglSurface, inputFrameTimeNs); EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); if (debugSurfaceViewWrapper != null) { - long framePresentationTimeUs = presentationTimeUs; + long finalPresentationTimeUs = presentationTimeUs; + int finalInputTexId = inputTexId; debugSurfaceViewWrapper.maybeRenderToSurfaceView( () -> { clearOutputFrame(); try { - getLast(textureProcessors).drawFrame(framePresentationTimeUs); + getLast(textureProcessors).drawFrame(finalInputTexId, finalPresentationTimeUs); } catch (FrameProcessingException e) { Log.d(TAG, "Error rendering to debug preview", e); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index 854446d6a14..fa64cb780d7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -15,19 +15,21 @@ */ package androidx.media3.transformer; +import android.content.Context; import androidx.media3.common.util.UnstableApi; +import java.io.IOException; /** * Interface for a video frame effect with a {@link SingleFrameGlTextureProcessor} implementation. * *

Implementations contain information specifying the effect and can be {@linkplain - * #toGlTextureProcessor() converted} to a {@link SingleFrameGlTextureProcessor} which applies the - * effect. + * #toGlTextureProcessor(Context) converted} to a {@link SingleFrameGlTextureProcessor} which + * applies the effect. */ @UnstableApi public interface GlEffect { /** Returns a {@link SingleFrameGlTextureProcessor} that applies the effect. */ // TODO(b/227625423): use GlTextureProcessor here once this interface exists. - SingleFrameGlTextureProcessor toGlTextureProcessor(); + SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) throws IOException; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java index c6d8c371040..24bcbbf2c44 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java @@ -15,9 +15,11 @@ */ package androidx.media3.transformer; +import android.content.Context; import android.opengl.Matrix; import android.util.Size; import androidx.media3.common.util.UnstableApi; +import java.io.IOException; /** * Specifies a 4x4 transformation {@link Matrix} to apply in the vertex shader for each frame. @@ -49,7 +51,7 @@ default Size configure(int inputWidth, int inputHeight) { float[] getGlMatrixArray(long presentationTimeUs); @Override - default SingleFrameGlTextureProcessor toGlTextureProcessor() { - return new MatrixTransformationProcessor(this); + default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) throws IOException { + return new MatrixTransformationProcessor(context, this); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index e464b82245a..c8d214fdf42 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -17,7 +17,6 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; import android.opengl.GLES20; @@ -29,7 +28,6 @@ import com.google.common.collect.ImmutableList; import java.io.IOException; import java.util.Arrays; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * Applies a sequence of transformation matrices in the vertex shader, and copies input pixels into @@ -84,37 +82,45 @@ */ private ImmutableList visiblePolygon; - private @MonotonicNonNull Size outputSize; - private @MonotonicNonNull GlProgram glProgram; + private final GlProgram glProgram; /** * Creates a new instance. * + * @param context The {@link Context}. * @param matrixTransformation A {@link MatrixTransformation} that specifies the transformation * matrix to use for each frame. + * @throws IOException If a problem occurs while reading shader files. */ - public MatrixTransformationProcessor(MatrixTransformation matrixTransformation) { - this(ImmutableList.of(matrixTransformation)); + public MatrixTransformationProcessor(Context context, MatrixTransformation matrixTransformation) + throws IOException { + this(context, ImmutableList.of(matrixTransformation)); } /** * Creates a new instance. * + * @param context The {@link Context}. * @param matrixTransformation A {@link GlMatrixTransformation} that specifies the transformation * matrix to use for each frame. + * @throws IOException If a problem occurs while reading shader files. */ - public MatrixTransformationProcessor(GlMatrixTransformation matrixTransformation) { - this(ImmutableList.of(matrixTransformation)); + public MatrixTransformationProcessor(Context context, GlMatrixTransformation matrixTransformation) + throws IOException { + this(context, ImmutableList.of(matrixTransformation)); } /** * Creates a new instance. * + * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to * apply to each frame in order. + * @throws IOException If a problem occurs while reading shader files. */ public MatrixTransformationProcessor( - ImmutableList matrixTransformations) { + Context context, ImmutableList matrixTransformations) + throws IOException { this.matrixTransformations = matrixTransformations; transformationMatrixCache = new float[matrixTransformations.size()][16]; @@ -122,38 +128,33 @@ public MatrixTransformationProcessor( tempResultMatrix = new float[16]; Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); visiblePolygon = NDC_SQUARE; + glProgram = new GlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_PATH); } @Override - public void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) - throws IOException { + public Size configure(int inputWidth, int inputHeight) { checkArgument(inputWidth > 0, "inputWidth must be positive"); checkArgument(inputHeight > 0, "inputHeight must be positive"); - outputSize = new Size(inputWidth, inputHeight); + Size outputSize = new Size(inputWidth, inputHeight); for (int i = 0; i < matrixTransformations.size(); i++) { outputSize = matrixTransformations.get(i).configure(outputSize.getWidth(), outputSize.getHeight()); } - glProgram = new GlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_PATH); - glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); + return outputSize; } @Override - public Size getOutputSize() { - return checkStateNotNull(outputSize); - } - - @Override - public void drawFrame(long presentationTimeUs) throws FrameProcessingException { + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { updateCompositeTransformationMatrixAndVisiblePolygon(presentationTimeUs); if (visiblePolygon.size() < 3) { return; // Need at least three visible vertices for a triangle. } try { - checkStateNotNull(glProgram).use(); + glProgram.use(); + glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); glProgram.setFloatsUniform("uTransformationMatrix", compositeTransformationMatrix); glProgram.setBufferAttribute( "aFramePosition", @@ -170,9 +171,7 @@ public void drawFrame(long presentationTimeUs) throws FrameProcessingException { @Override public void release() { - if (glProgram != null) { - glProgram.delete(); - } + glProgram.delete(); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index 3e0546f7d28..873ebfe1302 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -15,10 +15,8 @@ */ package androidx.media3.transformer; -import android.content.Context; import android.util.Size; import androidx.media3.common.util.UnstableApi; -import java.io.IOException; /** * Manages a GLSL shader program for processing a frame. Implementations generally copy input pixels @@ -27,11 +25,13 @@ *

Methods must be called in the following order: * *

    - *
  1. The constructor, for implementation-specific arguments. - *
  2. {@link #initialize(Context, int, int, int)}, to set up graphics initialization. - *
  3. {@link #drawFrame(long)}, to process one frame. + *
  4. {@link #configure(int, int)}, to configure the frame processor based on the input + * dimensions. + *
  5. {@link #drawFrame(int, long)}, to process one frame. *
  6. {@link #release()}, upon conclusion of processing. *
+ * + *

All methods in this class must be called on the thread that owns the OpenGL context. */ @UnstableApi // TODO(b/227625423): Add GlTextureProcessor interface for async texture processors and make this an @@ -39,42 +39,31 @@ public interface SingleFrameGlTextureProcessor { /** - * Performs all initialization that requires OpenGL, such as, loading and compiling a GLSL shader - * program. + * Configures the texture processor based on the input dimensions. * - *

This method may only be called if there is a current OpenGL context. + *

This method can be called multiple times. * - * @param context The {@link Context}. - * @param inputTexId Identifier of a 2D OpenGL texture. * @param inputWidth The input width, in pixels. * @param inputHeight The input height, in pixels. - * @throws IOException If an error occurs while reading resources. - */ - void initialize(Context context, int inputTexId, int inputWidth, int inputHeight) - throws IOException; - - /** - * Returns the output {@link Size} of frames processed through {@link #drawFrame(long)}. - * - *

This method may only be called after the texture processor has been {@link - * #initialize(Context, int, int, int) initialized}. + * @return The output {@link Size} of frames processed through {@link #drawFrame(int, long)}. */ - Size getOutputSize(); + Size configure(int inputWidth, int inputHeight); /** * Draws one frame. * - *

This method may only be called after the texture processor has been {@link - * #initialize(Context, int, int, int) initialized}. The caller is responsible for focussing the - * correct render target before calling this method. + *

This method may only be called after the texture processor has been {@link #configure(int, + * int) configured}. The caller is responsible for focussing the correct render target before + * calling this method. * *

A minimal implementation should tell OpenGL to use its shader program, bind the shader * program's vertex attributes and uniforms, and issue a drawing command. * + * @param inputTexId Identifier of a 2D OpenGL texture containing the input frame. * @param presentationTimeUs The presentation timestamp of the current frame, in microseconds. * @throws FrameProcessingException If an error occurs while processing or drawing the frame. */ - void drawFrame(long presentationTimeUs) throws FrameProcessingException; + void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException; /** Releases all resources. */ void release(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java new file mode 100644 index 00000000000..f81f99d2c02 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java @@ -0,0 +1,46 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import androidx.media3.common.util.UnstableApi; + +/** Contains information describing an OpenGL texture. */ +@UnstableApi +/* package */ final class TextureInfo { + /** The OpenGL texture identifier. */ + public final int texId; + /** Identifier of a framebuffer object associated with the texture. */ + public final int fboId; + /** The width of the texture, in pixels. */ + public final int width; + /** The height of the texture, in pixels. */ + public final int height; + + /** + * Creates a new instance. + * + * @param texId The OpenGL texture identifier. + * @param fboId Identifier of a framebuffer object associated with the texture. + * @param width The width of the texture, in pixels. + * @param height The height of the texture, in pixels. + */ + public TextureInfo(int texId, int fboId, int width, int height) { + this.texId = texId; + this.fboId = fboId; + this.width = width; + this.height = height; + } +} From 27f23041cf8133c9dee0603b7228de85e270ba8c Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 31 May 2022 17:01:02 +0000 Subject: [PATCH 003/422] Add async error listener to transformer to avoid exception wrapping. This internal listener avoids wrapping the TransformationExceptions in PlaybackExceptions that are handled via the Player.Listener and is also used for FrameProcessingExceptions which already avoided the PlaybackException layer previously. This listener will also be useful in follow-ups for encoder-related TransformationExceptions that are thrown in the SurfaceProvider that will be called on the GL thread. PiperOrigin-RevId: 452074575 (cherry picked from commit 35b5147eb1404698132d9b063c905202c22e31d8) --- .../media3/transformer/Transformer.java | 45 ++++++++++++------- .../transformer/TransformerAudioRenderer.java | 9 +++- .../transformer/TransformerBaseRenderer.java | 44 ++++++------------ .../transformer/TransformerVideoRenderer.java | 17 ++++--- 4 files changed, 62 insertions(+), 53 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 94fa717381d..db03b0e0ee6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -763,7 +763,7 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { encoderFactory, decoderFactory, new FallbackListener(mediaItem, listeners, transformationRequest), - playerListener, + /* asyncErrorListener= */ playerListener, debugViewProvider)) .setMediaSourceFactory(mediaSourceFactory) .setTrackSelector(trackSelector) @@ -877,7 +877,7 @@ private static final class TransformerRenderersFactory implements RenderersFacto private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; private final FallbackListener fallbackListener; - private final FrameProcessorChain.Listener frameProcessorChainListener; + private final AsyncErrorListener asyncErrorListener; private final Transformer.DebugViewProvider debugViewProvider; public TransformerRenderersFactory( @@ -891,7 +891,7 @@ public TransformerRenderersFactory( Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, FallbackListener fallbackListener, - FrameProcessorChain.Listener frameProcessorChainListener, + AsyncErrorListener asyncErrorListener, Transformer.DebugViewProvider debugViewProvider) { this.context = context; this.muxerWrapper = muxerWrapper; @@ -903,7 +903,7 @@ public TransformerRenderersFactory( this.encoderFactory = encoderFactory; this.decoderFactory = decoderFactory; this.fallbackListener = fallbackListener; - this.frameProcessorChainListener = frameProcessorChainListener; + this.asyncErrorListener = asyncErrorListener; this.debugViewProvider = debugViewProvider; mediaClock = new TransformerMediaClock(); } @@ -926,6 +926,7 @@ public Renderer[] createRenderers( transformationRequest, encoderFactory, decoderFactory, + asyncErrorListener, fallbackListener); index++; } @@ -940,8 +941,8 @@ public Renderer[] createRenderers( videoFrameEffects, encoderFactory, decoderFactory, + asyncErrorListener, fallbackListener, - frameProcessorChainListener, debugViewProvider); index++; } @@ -949,8 +950,7 @@ public Renderer[] createRenderers( } } - private final class TransformerPlayerListener - implements Player.Listener, FrameProcessorChain.Listener { + private final class TransformerPlayerListener implements Player.Listener, AsyncErrorListener { private final MediaItem mediaItem; private final MuxerWrapper muxerWrapper; @@ -1001,11 +1001,12 @@ public void onTracksChanged(Tracks tracks) { @Override public void onPlayerError(PlaybackException error) { - @Nullable Throwable cause = error.getCause(); TransformationException transformationException = - cause instanceof TransformationException - ? (TransformationException) cause - : TransformationException.createForPlaybackException(error); + TransformationException.createForPlaybackException(error); + handleTransformationException(transformationException); + } + + private void handleTransformationException(TransformationException transformationException) { if (isCancelling) { // Resources are already being released. listeners.queueEvent( @@ -1057,12 +1058,22 @@ private void handleTransformationEnded(@Nullable TransformationException excepti } @Override - public void onFrameProcessingError(FrameProcessingException exception) { - handler.post( - () -> - handleTransformationEnded( - TransformationException.createForFrameProcessorChain( - exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED))); + public void onTransformationException(TransformationException exception) { + if (Looper.myLooper() == looper) { + handleTransformationException(exception); + } else { + handler.post(() -> handleTransformationException(exception)); + } } } + + /** Listener for exceptions that occur during a transformation. */ + /* package */ interface AsyncErrorListener { + /** + * Called when a {@link TransformationException} occurs. + * + *

Can be called from any thread. + */ + void onTransformationException(TransformationException exception); + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java index 8180b199cd0..b7bad84ae56 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java @@ -42,8 +42,15 @@ public TransformerAudioRenderer( TransformationRequest transformationRequest, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, + Transformer.AsyncErrorListener asyncErrorListener, FallbackListener fallbackListener) { - super(C.TRACK_TYPE_AUDIO, muxerWrapper, mediaClock, transformationRequest, fallbackListener); + super( + C.TRACK_TYPE_AUDIO, + muxerWrapper, + mediaClock, + transformationRequest, + asyncErrorListener, + fallbackListener); this.encoderFactory = encoderFactory; this.decoderFactory = decoderFactory; decoderInputBuffer = diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java index b1da9c5ca3d..4cde06566b1 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java @@ -22,10 +22,8 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; -import androidx.media3.common.PlaybackException; import androidx.media3.decoder.DecoderInputBuffer; import androidx.media3.exoplayer.BaseRenderer; -import androidx.media3.exoplayer.ExoPlaybackException; import androidx.media3.exoplayer.MediaClock; import androidx.media3.exoplayer.RendererCapabilities; import androidx.media3.exoplayer.source.SampleStream.ReadDataResult; @@ -39,11 +37,12 @@ protected final MuxerWrapper muxerWrapper; protected final TransformerMediaClock mediaClock; protected final TransformationRequest transformationRequest; + protected final Transformer.AsyncErrorListener asyncErrorListener; protected final FallbackListener fallbackListener; - protected boolean isRendererStarted; - protected boolean muxerWrapperTrackAdded; - protected boolean muxerWrapperTrackEnded; + private boolean isTransformationRunning; + private boolean muxerWrapperTrackAdded; + private boolean muxerWrapperTrackEnded; protected long streamOffsetUs; protected long streamStartPositionUs; protected @MonotonicNonNull SamplePipeline samplePipeline; @@ -53,11 +52,13 @@ public TransformerBaseRenderer( MuxerWrapper muxerWrapper, TransformerMediaClock mediaClock, TransformationRequest transformationRequest, + Transformer.AsyncErrorListener asyncErrorListener, FallbackListener fallbackListener) { super(trackType); this.muxerWrapper = muxerWrapper; this.mediaClock = mediaClock; this.transformationRequest = transformationRequest; + this.asyncErrorListener = asyncErrorListener; this.fallbackListener = fallbackListener; } @@ -91,17 +92,19 @@ public final boolean isEnded() { } @Override - public final void render(long positionUs, long elapsedRealtimeUs) throws ExoPlaybackException { + public final void render(long positionUs, long elapsedRealtimeUs) { try { - if (!isRendererStarted || isEnded() || !ensureConfigured()) { + if (!isTransformationRunning || isEnded() || !ensureConfigured()) { return; } while (feedMuxerFromPipeline() || samplePipeline.processData() || feedPipelineFromInput()) {} } catch (TransformationException e) { - throw wrapTransformationException(e); + isTransformationRunning = false; + asyncErrorListener.onTransformationException(e); } catch (Muxer.MuxerException e) { - throw wrapTransformationException( + isTransformationRunning = false; + asyncErrorListener.onTransformationException( TransformationException.createForMuxer( e, TransformationException.ERROR_CODE_MUXING_FAILED)); } @@ -122,12 +125,12 @@ protected final void onEnabled(boolean joining, boolean mayRenderStartOfStream) @Override protected final void onStarted() { - isRendererStarted = true; + isTransformationRunning = true; } @Override protected final void onStopped() { - isRendererStarted = false; + isTransformationRunning = false; } @Override @@ -225,23 +228,4 @@ private boolean feedPipelineFromInput() throws TransformationException { return false; } } - - /** - * Returns an {@link ExoPlaybackException} wrapping the {@link TransformationException}. - * - *

This temporary wrapping is needed due to the dependence on ExoPlayer's BaseRenderer. {@link - * Transformer} extracts the {@link TransformationException} from this {@link - * ExoPlaybackException} again. - */ - private ExoPlaybackException wrapTransformationException( - TransformationException transformationException) { - return ExoPlaybackException.createForRenderer( - transformationException, - "Transformer", - getIndex(), - /* rendererFormat= */ null, - C.FORMAT_HANDLED, - /* isRecoverable= */ false, - PlaybackException.ERROR_CODE_UNSPECIFIED); - } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 086f0bfc17c..6ea492fcb94 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -39,7 +39,6 @@ private final ImmutableList effects; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; - private final FrameProcessorChain.Listener frameProcessorChainListener; private final Transformer.DebugViewProvider debugViewProvider; private final DecoderInputBuffer decoderInputBuffer; @@ -54,16 +53,21 @@ public TransformerVideoRenderer( ImmutableList effects, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, + Transformer.AsyncErrorListener asyncErrorListener, FallbackListener fallbackListener, - FrameProcessorChain.Listener frameProcessorChainListener, Transformer.DebugViewProvider debugViewProvider) { - super(C.TRACK_TYPE_VIDEO, muxerWrapper, mediaClock, transformationRequest, fallbackListener); + super( + C.TRACK_TYPE_VIDEO, + muxerWrapper, + mediaClock, + transformationRequest, + asyncErrorListener, + fallbackListener); this.context = context; this.clippingStartsAtKeyFrame = clippingStartsAtKeyFrame; this.effects = effects; this.encoderFactory = encoderFactory; this.decoderFactory = decoderFactory; - this.frameProcessorChainListener = frameProcessorChainListener; this.debugViewProvider = debugViewProvider; decoderInputBuffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); @@ -102,7 +106,10 @@ protected boolean ensureConfigured() throws TransformationException { encoderFactory, muxerWrapper.getSupportedSampleMimeTypes(getTrackType()), fallbackListener, - frameProcessorChainListener, + /* frameProcessorChainListener= */ exception -> + asyncErrorListener.onTransformationException( + TransformationException.createForFrameProcessorChain( + exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)), debugViewProvider); } if (transformationRequest.flattenForSlowMotion) { From f4dfbdbc375d841be693d472df4dd39a8884f695 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Mon, 6 Jun 2022 10:18:26 +0000 Subject: [PATCH 004/422] Add interface for async texture processors. Implementations of this interface will be able to drop or add frames, change timestamps, accept multiple input frames before producing output, and process frames on their own background thread. A default implementation of this interface will be added to SingleFrameGlTextureProcessor in a follow-up. PiperOrigin-RevId: 453159835 (cherry picked from commit 63436390de55741620ab3faccbbc504af24c2686) --- .../transformer/GlTextureProcessor.java | 118 ++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java new file mode 100644 index 00000000000..3aae70d2805 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java @@ -0,0 +1,118 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import androidx.media3.common.util.UnstableApi; + +/** + * Processes frames from one OpenGL 2D texture to another. + * + *

The {@code GlTextureProcessor} consumes input frames it accepts via {@link + * #maybeQueueInputFrame(TextureInfo, long)} and surrenders each texture back to the caller via its + * {@linkplain Listener#onInputFrameProcessed(TextureInfo) listener} once the texture's contents + * have been processed. + * + *

The {@code GlTextureProcessor} produces output frames asynchronously and notifies its owner + * when they are available via its {@linkplain Listener#onOutputFrameAvailable(TextureInfo, long) + * listener}. The {@code GlTextureProcessor} instance's owner must surrender the texture back to the + * {@code GlTextureProcessor} via {@link #releaseOutputFrame(TextureInfo)} when it has finished + * processing it. + * + *

{@code GlTextureProcessor} implementations can choose to produce output frames before + * receiving input frames or process several input frames before producing an output frame. However, + * {@code GlTextureProcessor} implementations cannot assume that they will receive more than one + * input frame at a time, so they must process each input frame they accept even if they cannot + * produce output yet. + * + *

The methods in this interface must be called on the thread that owns the parent OpenGL + * context. If the implementation uses another OpenGL context, e.g., on another thread, it must + * configure it to share data with the context of thread the interface methods are called on. + */ +@UnstableApi +public interface GlTextureProcessor { + + /** + * Listener for frame processing events. + * + *

This listener can be called from any thread. + */ + interface Listener { + /** + * Called when the {@link GlTextureProcessor} has processed an input frame. + * + * @param inputTexture The {@link TextureInfo} that was used to {@linkplain + * #maybeQueueInputFrame(TextureInfo, long) queue} the input frame. + */ + void onInputFrameProcessed(TextureInfo inputTexture); + + /** + * Called when the {@link GlTextureProcessor} has produced an output frame. + * + *

After the listener's owner has processed the output frame, it must call {@link + * #releaseOutputFrame(TextureInfo)}. The output frame should be released as soon as possible, + * as there is no guarantee that the {@link GlTextureProcessor} will produce further output + * frames before this output frame is released. + * + * @param outputTexture A {@link TextureInfo} describing the texture containing the output + * frame. + * @param presentationTimeUs The presentation timestamp of the output frame, in microseconds. + */ + void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs); + + /** Called when the {@link GlTextureProcessor} will not produce further output frames. */ + void onOutputStreamEnded(); + + /** + * Called when an exception occurs during asynchronous frame processing. + * + *

If an error occurred, consuming and producing further frames will not work as expected and + * the {@link GlTextureProcessor} should be released. + */ + void onFrameProcessingError(FrameProcessingException e); + } + + /** Sets the {@link Listener} for frame processing events. */ + void setListener(Listener listener); + + /** + * Processes an input frame if possible. + * + *

If this method returns {@code true} the input frame has been accepted. The {@code + * GlTextureProcessor} owns the accepted frame until it calls {@link + * Listener#onInputFrameProcessed(TextureInfo)}. The caller should not overwrite or release the + * texture before the {@code GlTextureProcessor} has finished processing it. + * + *

If this method returns {@code false}, the input frame could not be accepted and the caller + * should decide whether to drop the frame or try again later. + * + * @param inputTexture A {@link TextureInfo} describing the texture containing the input frame. + * @param presentationTimeUs The presentation timestamp of the input frame, in microseconds. + * @return Whether the frame was accepted. + */ + boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs); + + /** + * Notifies the texture processor that the frame on the given output texture is no longer used and + * can be overwritten. + */ + void releaseOutputFrame(TextureInfo outputTexture); + + /** Notifies the texture processor that no further input frames will become available. */ + void signalEndOfInputStream(); + + /** Releases all resources. */ + void release(); +} From 94e97fe5db33e98222b89d4b140d2251a283f050 Mon Sep 17 00:00:00 2001 From: christosts Date: Mon, 6 Jun 2022 10:42:08 +0000 Subject: [PATCH 005/422] De-flake test in MediaSessionPermissionTest This change makes MediaSessionPermissionTest.removeMediaItems() non-flaky. This is a quick fix though it'd be good to refactor this test file. PiperOrigin-RevId: 453162764 (cherry picked from commit 34ca3bc3c3b52b8dcfc531de76bc0b34f7a89c8c) --- .../session/MediaSessionPermissionTest.java | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPermissionTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPermissionTest.java index 645fc885c96..8d82012e32a 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPermissionTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPermissionTest.java @@ -38,6 +38,7 @@ import android.content.Context; import android.os.Bundle; import android.text.TextUtils; +import androidx.media3.common.MediaItem; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Player; import androidx.media3.common.Rating; @@ -49,6 +50,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.LargeTest; +import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.Collections; @@ -155,10 +157,8 @@ public void addMediaItems() throws Exception { public void removeMediaItems() throws Exception { testOnCommandRequest( COMMAND_CHANGE_MEDIA_ITEMS, - controller -> { - controller.addMediaItems(MediaTestUtils.createMediaItems(/* size= */ 5)); - controller.removeMediaItems(/* fromIndex= */ 0, /* toIndex= */ 1); - }); + /* mediaItems= */ MediaTestUtils.createMediaItems(/* size= */ 5), + controller -> controller.removeMediaItems(/* fromIndex= */ 0, /* toIndex= */ 1)); } @Test @@ -185,7 +185,7 @@ public void setDeviceMuted() throws Exception { public void setRating() throws Exception { String mediaId = "testSetRating"; Rating rating = new StarRating(5, 3.5f); - createSessionWithAvailableCommands( + createSession( createSessionCommandsWith(new SessionCommand(COMMAND_CODE_SESSION_SET_RATING)), Player.Commands.EMPTY); controllerTestRule.createRemoteController(session.getToken()).setRating(mediaId, rating); @@ -205,7 +205,7 @@ public void setRating() throws Exception { public void changingPermissionForSessionCommandWithSetAvailableCommands() throws Exception { String mediaId = "testSetRating"; Rating rating = new StarRating(5, 3.5f); - createSessionWithAvailableCommands( + createSession( createSessionCommandsWith(new SessionCommand(COMMAND_CODE_SESSION_SET_RATING)), Player.Commands.EMPTY); RemoteMediaController controller = @@ -231,7 +231,7 @@ public void changingPermissionForPlayerCommandWithSetAvailableCommands() throws Player.Commands commandsWithoutPlayPause = createPlayerCommandsWithout(playPauseCommand); // Create session with play/pause command. - createSessionWithAvailableCommands(SessionCommands.EMPTY, commandsWithPlayPause); + createSession(SessionCommands.EMPTY, commandsWithPlayPause); // Create player with play/pause command. player.commands = commandsWithPlayPause; player.notifyAvailableCommandsChanged(commandsWithPlayPause); @@ -324,12 +324,19 @@ public ListenableFuture onSetRating( } } - private void createSessionWithAvailableCommands( - SessionCommands sessionCommands, Player.Commands playerCommands) { + private void createSession(SessionCommands sessionCommands, Player.Commands playerCommands) { + createSession(sessionCommands, playerCommands, /* mediaItems= */ ImmutableList.of()); + } + + private void createSession( + SessionCommands sessionCommands, Player.Commands playerCommands, List mediaItems) { player = new MockPlayer.Builder() .setApplicationLooper(threadTestRule.getHandler().getLooper()) .build(); + // Add media items directly on the mock player's list so that the player's interaction state + // does not change. + player.mediaItems.addAll(mediaItems); callback = new MySessionCallback() { @Override @@ -353,16 +360,19 @@ private SessionCommands createSessionCommandsWith(SessionCommand command) { } private void testOnCommandRequest(int commandCode, PermissionTestTask runnable) throws Exception { - createSessionWithAvailableCommands( - SessionCommands.EMPTY, createPlayerCommandsWith(commandCode)); + testOnCommandRequest(commandCode, /* mediaItems= */ ImmutableList.of(), runnable); + } + + private void testOnCommandRequest( + int commandCode, List mediaItems, PermissionTestTask runnable) throws Exception { + createSession(SessionCommands.EMPTY, createPlayerCommandsWith(commandCode), mediaItems); runnable.run(controllerTestRule.createRemoteController(session.getToken())); assertThat(callback.countDownLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(callback.onCommandRequestCalled).isTrue(); assertThat(callback.command).isEqualTo(commandCode); - createSessionWithAvailableCommands( - SessionCommands.EMPTY, createPlayerCommandsWithout(commandCode)); + createSession(SessionCommands.EMPTY, createPlayerCommandsWithout(commandCode), mediaItems); runnable.run(controllerTestRule.createRemoteController(session.getToken())); assertThat(callback.countDownLatch.await(NO_RESPONSE_TIMEOUT_MS, MILLISECONDS)).isFalse(); From a6fc6fac316acaa0a3600db5a5044572b7156783 Mon Sep 17 00:00:00 2001 From: christosts Date: Mon, 6 Jun 2022 11:35:12 +0000 Subject: [PATCH 006/422] Ignore flaky test PiperOrigin-RevId: 453168843 (cherry picked from commit 8d326312fba9ec36264815746c531ea9b28e2c28) --- ...MediaControllerCompatCallbackWithMediaSessionCompatTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionCompatTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionCompatTest.java index 551d03b1092..cc506ad562c 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionCompatTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerCompatCallbackWithMediaSessionCompatTest.java @@ -37,6 +37,7 @@ import org.junit.After; import org.junit.Before; import org.junit.ClassRule; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.rules.RuleChain; @@ -84,6 +85,7 @@ public void cleanUp() throws RemoteException { /** Custom actions in the legacy session used for instance by Android Auto and Wear OS. */ @Test + @Ignore("Flaky, see b/235057692") public void setPlaybackState_withCustomActions_onPlaybackStateCompatChangedCalled() throws Exception { MediaSessionCompat.Token sessionToken = session.getSessionToken(); From dac387827348f21031ce872af492396cc917b3e1 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 8 Jun 2022 09:44:25 +0000 Subject: [PATCH 007/422] Implement default GlTextureProcessor in SingleFrameGlTextureProcessor. SingleFrameGlTextureProcessor is now an abstract class containing a default implementation of the more flexible GlTextureProcessor interface while still exposing the same simple abstract methods for single frame processing it previously did. FrameProcessorChain and GlEffect will be changed to use GlTextureProcessor in follow-ups. PiperOrigin-RevId: 453633000 (cherry picked from commit 457f446114823831b940bf46fb256daa0ea00815) --- .../transformer/BitmapOverlayProcessor.java | 3 +- .../PeriodicVignetteProcessor.java | 3 +- .../demo/transformer/MediaPipeProcessor.java | 3 +- .../androidx/media3/common/util/GlUtil.java | 35 +++++- .../transformer/FrameProcessorChainTest.java | 5 +- .../transformer/ExternalTextureProcessor.java | 3 +- .../transformer/FrameProcessorChain.java | 13 +-- .../MatrixTransformationProcessor.java | 3 +- .../SingleFrameGlTextureProcessor.java | 109 +++++++++++++++--- 9 files changed, 140 insertions(+), 37 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 67dff8aa956..b9c0efac373 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -44,7 +44,7 @@ */ // TODO(b/227625365): Delete this class and use a texture processor from the Transformer library, // once overlaying a bitmap and text is supported in Transformer. -/* package */ final class BitmapOverlayProcessor implements SingleFrameGlTextureProcessor { +/* package */ final class BitmapOverlayProcessor extends SingleFrameGlTextureProcessor { static { GlUtil.glAssertionsEnabled = true; } @@ -147,6 +147,7 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() { + super.release(); if (glProgram != null) { glProgram.delete(); } diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index 42aec157e0c..fb00e5f888c 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -30,7 +30,7 @@ * A {@link SingleFrameGlTextureProcessor} that periodically dims the frames such that pixels are * darker the further they are away from the frame center. */ -/* package */ final class PeriodicVignetteProcessor implements SingleFrameGlTextureProcessor { +/* package */ final class PeriodicVignetteProcessor extends SingleFrameGlTextureProcessor { static { GlUtil.glAssertionsEnabled = true; } @@ -108,6 +108,7 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() { + super.release(); if (glProgram != null) { glProgram.delete(); } diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 65a86666344..7d6ddfae5b3 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -40,7 +40,7 @@ * Runs a MediaPipe graph on input frames. The implementation is currently limited to graphs that * can immediately produce one output frame per input frame. */ -/* package */ final class MediaPipeProcessor implements SingleFrameGlTextureProcessor { +/* package */ final class MediaPipeProcessor extends SingleFrameGlTextureProcessor { private static final LibraryLoader LOADER = new LibraryLoader("mediapipe_jni") { @@ -160,6 +160,7 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() { + super.release(); checkStateNotNull(frameProcessor).close(); } } diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 2cf1fead3eb..485f2db986b 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -343,6 +343,13 @@ public static void assertValidTextureSize(int width, int height) { } } + /** Fills the pixels in the current output render target with (r=0, g=0, b=0, a=0). */ + public static void clearOutputFrame() { + GLES20.glClearColor(/* red= */ 0, /* green= */ 0, /* blue= */ 0, /* alpha= */ 0); + GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); + GlUtil.checkGlError(); + } + /** * Makes the specified {@code eglSurface} the render target, using a viewport of {@code width} by * {@code height} pixels. @@ -369,6 +376,22 @@ public static void focusFramebuffer( Api17.focusRenderTarget(eglDisplay, eglContext, eglSurface, framebuffer, width, height); } + /** + * Makes the specified {@code framebuffer} the render target, using a viewport of {@code width} by + * {@code height} pixels. + * + *

The caller must ensure that there is a current OpenGL context before calling this method. + * + * @param framebuffer The identifier of the framebuffer object to bind as the output render + * target. + * @param width The viewport width, in pixels. + * @param height The viewport height, in pixels. + */ + @RequiresApi(17) + public static void focusFramebufferUsingCurrentContext(int framebuffer, int width, int height) { + Api17.focusFramebufferUsingCurrentContext(framebuffer, width, height); + } + /** * Deletes a GL texture. * @@ -613,14 +636,22 @@ public static void focusRenderTarget( int framebuffer, int width, int height) { + EGL14.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext); + checkEglException("Error making context current"); + focusFramebufferUsingCurrentContext(framebuffer, width, height); + } + + @DoNotInline + public static void focusFramebufferUsingCurrentContext(int framebuffer, int width, int height) { + checkEglException( + !Util.areEqual(EGL14.eglGetCurrentContext(), EGL14.EGL_NO_CONTEXT), "No current context"); + int[] boundFramebuffer = new int[1]; GLES20.glGetIntegerv(GLES20.GL_FRAMEBUFFER_BINDING, boundFramebuffer, /* offset= */ 0); if (boundFramebuffer[0] != framebuffer) { GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, framebuffer); } checkGlError(); - EGL14.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext); - checkEglException("Error making context current"); GLES20.glViewport(/* x= */ 0, /* y= */ 0, width, height); checkGlError(); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java index 92a0a5395bc..5dfe72e5b10 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java @@ -135,7 +135,7 @@ private FrameProcessorChain createFrameProcessorChainWithFakeTextureProcessors( /* enableExperimentalHdrEditing= */ false); } - private static class FakeTextureProcessor implements SingleFrameGlTextureProcessor { + private static class FakeTextureProcessor extends SingleFrameGlTextureProcessor { private final Size outputSize; @@ -150,8 +150,5 @@ public Size configure(int inputWidth, int inputHeight) { @Override public void drawFrame(int inputTexId, long presentationTimeNs) {} - - @Override - public void release() {} } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java index 2d68dd63d9f..823b883668a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java @@ -26,7 +26,7 @@ import java.io.IOException; /** Copies frames from an external texture and applies color transformations for HDR if needed. */ -/* package */ class ExternalTextureProcessor implements SingleFrameGlTextureProcessor { +/* package */ class ExternalTextureProcessor extends SingleFrameGlTextureProcessor { static { GlUtil.glAssertionsEnabled = true; @@ -115,6 +115,7 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() { + super.release(); if (glProgram != null) { glProgram.delete(); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index 9ea96e3a9b3..c4ded83fd9b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -29,7 +29,6 @@ import android.opengl.EGLDisplay; import android.opengl.EGLExt; import android.opengl.EGLSurface; -import android.opengl.GLES20; import android.util.Size; import android.view.Surface; import android.view.SurfaceHolder; @@ -517,12 +516,12 @@ private void processFrame() { outputTexture.fboId, outputTexture.width, outputTexture.height); - clearOutputFrame(); + GlUtil.clearOutputFrame(); textureProcessors.get(i).drawFrame(inputTexId, presentationTimeUs); inputTexId = outputTexture.texId; } GlUtil.focusEglSurface(eglDisplay, eglContext, outputEglSurface, outputWidth, outputHeight); - clearOutputFrame(); + GlUtil.clearOutputFrame(); getLast(textureProcessors).drawFrame(inputTexId, presentationTimeUs); EGLExt.eglPresentationTimeANDROID(eglDisplay, outputEglSurface, inputFrameTimeNs); @@ -533,7 +532,7 @@ private void processFrame() { int finalInputTexId = inputTexId; debugSurfaceViewWrapper.maybeRenderToSurfaceView( () -> { - clearOutputFrame(); + GlUtil.clearOutputFrame(); try { getLast(textureProcessors).drawFrame(finalInputTexId, finalPresentationTimeUs); } catch (FrameProcessingException e) { @@ -553,12 +552,6 @@ private void processFrame() { } } - private static void clearOutputFrame() { - GLES20.glClearColor(/* red= */ 0, /* green= */ 0, /* blue= */ 0, /* alpha= */ 0); - GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); - GlUtil.checkGlError(); - } - /** * Releases the {@link SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} and destroys * the OpenGL context. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index c8d214fdf42..1288ff6ba02 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -41,7 +41,7 @@ */ @UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 -/* package */ final class MatrixTransformationProcessor implements SingleFrameGlTextureProcessor { +/* package */ final class MatrixTransformationProcessor extends SingleFrameGlTextureProcessor { static { GlUtil.glAssertionsEnabled = true; @@ -171,6 +171,7 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() { + super.release(); glProgram.delete(); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index 873ebfe1302..5ec5522ddd3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -16,38 +16,42 @@ package androidx.media3.transformer; import android.util.Size; +import androidx.annotation.CallSuper; +import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; +import org.checkerframework.checker.nullness.qual.EnsuresNonNull; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * Manages a GLSL shader program for processing a frame. Implementations generally copy input pixels * into an output frame, with changes to pixels specific to the implementation. * - *

Methods must be called in the following order: - * - *

    - *
  1. {@link #configure(int, int)}, to configure the frame processor based on the input - * dimensions. - *
  2. {@link #drawFrame(int, long)}, to process one frame. - *
  3. {@link #release()}, upon conclusion of processing. - *
+ *

{@code SingleFrameGlTextureProcessor} implementations must produce exactly one output frame + * per input frame with the same presentation timestamp. For more flexibility, implement {@link + * GlTextureProcessor} directly. * *

All methods in this class must be called on the thread that owns the OpenGL context. */ @UnstableApi -// TODO(b/227625423): Add GlTextureProcessor interface for async texture processors and make this an -// abstract class with a default implementation of GlTextureProcessor methods. -public interface SingleFrameGlTextureProcessor { +public abstract class SingleFrameGlTextureProcessor implements GlTextureProcessor { + + private @MonotonicNonNull Listener listener; + private int inputWidth; + private int inputHeight; + private @MonotonicNonNull TextureInfo outputTexture; + private boolean outputTextureInUse; /** * Configures the texture processor based on the input dimensions. * - *

This method can be called multiple times. + *

This method must be called before {@linkplain #drawFrame(int,long) drawing} the first frame + * and before drawing subsequent frames with different input dimensions. * * @param inputWidth The input width, in pixels. * @param inputHeight The input height, in pixels. * @return The output {@link Size} of frames processed through {@link #drawFrame(int, long)}. */ - Size configure(int inputWidth, int inputHeight); + public abstract Size configure(int inputWidth, int inputHeight); /** * Draws one frame. @@ -63,8 +67,81 @@ public interface SingleFrameGlTextureProcessor { * @param presentationTimeUs The presentation timestamp of the current frame, in microseconds. * @throws FrameProcessingException If an error occurs while processing or drawing the frame. */ - void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException; + public abstract void drawFrame(int inputTexId, long presentationTimeUs) + throws FrameProcessingException; + + @Override + public final void setListener(Listener listener) { + this.listener = listener; + } + + @Override + public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + if (outputTextureInUse) { + return false; + } + + try { + if (outputTexture == null + || inputTexture.width != inputWidth + || inputTexture.height != inputHeight) { + configureOutputTexture(inputTexture.width, inputTexture.height); + } + outputTextureInUse = true; + GlUtil.focusFramebufferUsingCurrentContext( + outputTexture.fboId, outputTexture.width, outputTexture.height); + GlUtil.clearOutputFrame(); + drawFrame(inputTexture.texId, presentationTimeUs); + if (listener != null) { + listener.onInputFrameProcessed(inputTexture); + listener.onOutputFrameAvailable(outputTexture, presentationTimeUs); + } + } catch (FrameProcessingException | RuntimeException e) { + if (listener != null) { + listener.onFrameProcessingError( + e instanceof FrameProcessingException + ? (FrameProcessingException) e + : new FrameProcessingException(e)); + } + } + return true; + } + + @EnsuresNonNull("outputTexture") + private void configureOutputTexture(int inputWidth, int inputHeight) { + this.inputWidth = inputWidth; + this.inputHeight = inputHeight; + Size outputSize = configure(inputWidth, inputHeight); + if (outputTexture == null + || outputSize.getWidth() != outputTexture.width + || outputSize.getHeight() != outputTexture.height) { + if (outputTexture != null) { + GlUtil.deleteTexture(outputTexture.texId); + } + int outputTexId = GlUtil.createTexture(outputSize.getWidth(), outputSize.getHeight()); + int outputFboId = GlUtil.createFboForTexture(outputTexId); + outputTexture = + new TextureInfo(outputTexId, outputFboId, outputSize.getWidth(), outputSize.getHeight()); + } + } + + @Override + public final void releaseOutputFrame(TextureInfo outputTexture) { + outputTextureInUse = false; + } + + @Override + public final void signalEndOfInputStream() { + if (listener != null) { + listener.onOutputStreamEnded(); + } + } - /** Releases all resources. */ - void release(); + @Override + @CallSuper + public void release() { + if (outputTexture != null) { + GlUtil.deleteTexture(outputTexture.texId); + } + } } From 8973efd1998ec21b0524ec16e87dfbb08d96096f Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 8 Jun 2022 09:50:18 +0000 Subject: [PATCH 008/422] Mention alpha for matrix transformation background color. PiperOrigin-RevId: 453633920 (cherry picked from commit cdb80387828c0087d9c9b96c55f303b978847910) --- .../androidx/media3/transformer/GlMatrixTransformation.java | 3 ++- .../java/androidx/media3/transformer/MatrixTransformation.java | 3 ++- .../media3/transformer/MatrixTransformationProcessor.java | 2 +- .../main/java/androidx/media3/transformer/Presentation.java | 2 +- .../androidx/media3/transformer/ScaleToFitTransformation.java | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java index 24bcbbf2c44..b4b91e6087c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java @@ -28,7 +28,8 @@ * axes). Transformed pixels that are moved outside of the normal device coordinate range are * clipped. * - *

Output frame pixels outside of the transformed input frame will be black. + *

Output frame pixels outside of the transformed input frame will be black, with alpha = 0 if + * applicable. */ @UnstableApi public interface GlMatrixTransformation extends GlEffect { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java index 79290dc20dd..2bfd1b49469 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java @@ -25,7 +25,8 @@ * axes). Transformed pixels that are moved outside of the normal device coordinate range are * clipped. * - *

Output frame pixels outside of the transformed input frame will be black. + *

Output frame pixels outside of the transformed input frame will be black, with alpha = 0 if + * applicable. */ @UnstableApi public interface MatrixTransformation extends GlMatrixTransformation { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index 1288ff6ba02..8c40191dd9a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -37,7 +37,7 @@ * Transformed vertices that are moved outside of this range after any of the transformation * matrices are clipped to the NDC range. * - *

The background color of the output frame will be black. + *

The background color of the output frame will be (r=0, g=0, b=0, a=0). */ @UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java index 7823a601ef3..04969bcd25a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java @@ -40,7 +40,7 @@ * *

Cropping or aspect ratio is applied before setting resolution. * - *

The background color of the output frame will be black. + *

The background color of the output frame will be black, with alpha = 0 if applicable. */ @UnstableApi public final class Presentation implements MatrixTransformation { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java index 55eddb6aeca..12fb0857272 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java @@ -32,7 +32,7 @@ *

All input frames' pixels will be preserved and copied into an output frame, potentially * changing the width and height of the frame by scaling dimensions to fit. * - *

The background color of the output frame will be black. + *

The background color of the output frame will be black, with alpha = 0 if applicable. */ @UnstableApi public final class ScaleToFitTransformation implements MatrixTransformation { From 5349312f50ba0cf8d7000d6a70d440940c67ac4e Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 8 Jun 2022 12:51:28 +0000 Subject: [PATCH 009/422] Transformer GL: Split Presentation and Crop. This removes the prior restriction of needing to remember not to crop and set aspect ratio in the same Presentation.Builder, and makes each class a bit more targeted. This is partially made feasible by the past work to merge consecutive MatrixTransformations into a single MatrixTransformationFrameProcessor, which ensures that there's no loss in quality between successive MatrixTransformations. PiperOrigin-RevId: 453660582 (cherry picked from commit c5b881e0899e713a7c632da48f1cd64b1394a221) --- .../crop_then_aspect_ratio.png | Bin 0 -> 186941 bytes .../media3/transformer/CropPixelTest.java | 170 ++++++++++++++++++ .../FrameProcessorChainPixelTest.java | 30 +++- .../transformer/PresentationPixelTest.java | 56 ------ .../androidx/media3/transformer/Crop.java | 100 +++++++++++ .../media3/transformer/Presentation.java | 107 ++--------- .../androidx/media3/transformer/CropTest.java | 62 +++++++ .../media3/transformer/PresentationTest.java | 97 ---------- 8 files changed, 368 insertions(+), 254 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png create mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java create mode 100644 libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png new file mode 100644 index 0000000000000000000000000000000000000000..6813342d46206067162d4cf13c37025688d3ae7a GIT binary patch literal 186941 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͸?Q=^IVIKftn~UM=x% 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 images are taken from an emulator, so tests on different emulators or physical + * devices may fail. To test on other devices, please increase the {@link + * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps + * as recommended in {@link FrameProcessorChainPixelTest}. + */ +@RunWith(AndroidJUnit4.class) +public final class CropPixelTest { + public static final String ORIGINAL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/original.png"; + public static final String CROP_SMALLER_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/crop_smaller.png"; + public static final String CROP_LARGER_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/crop_larger.png"; + + static { + GlUtil.glAssertionsEnabled = true; + } + + private final Context context = getApplicationContext(); + private final EGLDisplay eglDisplay = GlUtil.createEglDisplay(); + private final EGLContext eglContext = GlUtil.createEglContext(eglDisplay); + private @MonotonicNonNull SingleFrameGlTextureProcessor cropTextureProcessor; + private @MonotonicNonNull EGLSurface placeholderEglSurface; + private int inputTexId; + private int outputTexId; + private int inputWidth; + private int inputHeight; + + @Before + public void createTextures() throws IOException { + Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + inputWidth = inputBitmap.getWidth(); + inputHeight = inputBitmap.getHeight(); + placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); + GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); + inputTexId = BitmapTestUtil.createGlTextureFromBitmap(inputBitmap); + } + + @After + public void release() { + if (cropTextureProcessor != null) { + cropTextureProcessor.release(); + } + GlUtil.destroyEglContext(eglDisplay, eglContext); + } + + @Test + public void drawFrame_noEdits_producesExpectedOutput() throws Exception { + String testId = "drawFrame_noEdits"; + cropTextureProcessor = + new Crop(/* left= */ -1, /* right= */ 1, /* bottom= */ -1, /* top= */ 1) + .toGlTextureProcessor(context); + Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + cropTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_cropSmaller_producesExpectedOutput() throws Exception { + String testId = "drawFrame_cropSmaller"; + cropTextureProcessor = + new Crop(/* left= */ -.9f, /* right= */ .1f, /* bottom= */ -1f, /* top= */ .5f) + .toGlTextureProcessor(context); + Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_SMALLER_PNG_ASSET_PATH); + + cropTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { + String testId = "drawFrame_cropLarger"; + cropTextureProcessor = + new Crop(/* left= */ -2f, /* right= */ 2f, /* bottom= */ -1f, /* top= */ 2f) + .toGlTextureProcessor(context); + Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_LARGER_PNG_ASSET_PATH); + + cropTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + private void setupOutputTexture(int outputWidth, int outputHeight) { + outputTexId = GlUtil.createTexture(outputWidth, outputHeight); + int frameBuffer = GlUtil.createFboForTexture(outputTexId); + GlUtil.focusFramebuffer( + eglDisplay, + eglContext, + checkNotNull(placeholderEglSurface), + frameBuffer, + outputWidth, + outputHeight); + } +} diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java index 7786a7d1a1c..91cf57e840e 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java @@ -67,6 +67,8 @@ public final class FrameProcessorChainPixelTest { "media/bitmap/sample_mp4_first_frame/translate_then_rotate.png"; public static final String REQUEST_OUTPUT_HEIGHT_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/request_output_height.png"; + public static final String CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png"; public static final String ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/rotate_45_scale_to_fit.png"; @@ -216,6 +218,28 @@ public void processData_withPresentation_setResolution_producesExpectedOutput() assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + @Test + public void processData_withCropAndPresentation_producesExpectedOutput() throws Exception { + String testId = "processData_withCropAndPresentation"; + setUpAndPrepareFirstFrame( + DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, + new Crop(/* left= */ -.5f, /* right= */ .5f, /* bottom= */ -.5f, /* top= */ .5f), + new Presentation.Builder() + .setAspectRatio(/* aspectRatio= */ .5f, Presentation.LAYOUT_SCALE_TO_FIT) + .build()); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH); + + Bitmap actualBitmap = processFirstFrameAndEnd(); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + @Test public void processData_withScaleToFitTransformation_rotate45_producesExpectedOutput() throws Exception { @@ -242,10 +266,8 @@ public void processData_withScaleToFitTransformation_rotate45_producesExpectedOu throws Exception { String testId = "processData_withManyComposedMatrixTransformations_producesSameOutputAsCombinedTransformation"; - Presentation centerCrop = - new Presentation.Builder() - .setCrop(/* left= */ -0.5f, /* right= */ 0.5f, /* bottom= */ -0.5f, /* top= */ 0.5f) - .build(); + Crop centerCrop = + new Crop(/* left= */ -0.5f, /* right= */ 0.5f, /* bottom= */ -0.5f, /* top= */ 0.5f); ImmutableList.Builder full10StepRotationAndCenterCrop = new ImmutableList.Builder<>(); for (int i = 0; i < 10; i++) { full10StepRotationAndCenterCrop.add(new Rotation(/* degrees= */ 36)); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index e4404c06c5d..9465cd631c6 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -47,10 +47,6 @@ public final class PresentationPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/original.png"; - public static final String CROP_SMALLER_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/crop_smaller.png"; - public static final String CROP_LARGER_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/crop_larger.png"; public static final String ASPECT_RATIO_SCALE_TO_FIT_NARROW_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_narrow.png"; public static final String ASPECT_RATIO_SCALE_TO_FIT_WIDE_PNG_ASSET_PATH = @@ -118,58 +114,6 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } - @Test - public void drawFrame_cropSmaller_producesExpectedOutput() throws Exception { - String testId = "drawFrame_cropSmaller"; - presentationTextureProcessor = - new Presentation.Builder() - .setCrop(/* left= */ -.9f, /* right= */ .1f, /* bottom= */ -1f, /* top= */ .5f) - .build() - .toGlTextureProcessor(context); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); - Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_SMALLER_PNG_ASSET_PATH); - - presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = - BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); - - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( - testId, /* bitmapLabel= */ "actual", actualBitmap); - // TODO(b/207848601): switch to using proper tooling for testing against golden data. - float averagePixelAbsoluteDifference = - BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( - expectedBitmap, actualBitmap, testId); - assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); - } - - @Test - public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { - String testId = "drawFrame_cropSmaller"; - presentationTextureProcessor = - new Presentation.Builder() - .setCrop(/* left= */ -2f, /* right= */ 2f, /* bottom= */ -1f, /* top= */ 2f) - .build() - .toGlTextureProcessor(context); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); - Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_LARGER_PNG_ASSET_PATH); - - presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = - BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); - - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( - testId, /* bitmapLabel= */ "actual", actualBitmap); - // TODO(b/207848601): switch to using proper tooling for testing against golden data. - float averagePixelAbsoluteDifference = - BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( - expectedBitmap, actualBitmap, testId); - assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); - } - @Test public void drawFrame_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput() throws Exception { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java new file mode 100644 index 00000000000..511a5cf8c91 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java @@ -0,0 +1,100 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkStateNotNull; + +import android.graphics.Matrix; +import android.util.Size; +import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.UnstableApi; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + +/** + * Specifies a crop to apply in the vertex shader. + * + *

The background color of the output frame will be black, with alpha = 0 if applicable. + */ +@UnstableApi +public final class Crop implements MatrixTransformation { + + static { + GlUtil.glAssertionsEnabled = true; + } + + private final float left; + private final float right; + private final float bottom; + private final float top; + + private @MonotonicNonNull Matrix transformationMatrix; + + /** + * Crops a smaller (or larger) frame, per normalized device coordinates (NDC), where the input + * frame corresponds to the square ranging from -1 to 1 on the x and y axes. + * + *

{@code left} and {@code bottom} default to -1, and {@code right} and {@code top} default to + * 1, which corresponds to not applying any crop. To crop to a smaller subset of the input frame, + * use values between -1 and 1. To crop to a larger frame, use values below -1 and above 1. + * + * @param left The left edge of the output frame, in NDC. Must be less than {@code right}. + * @param right The right edge of the output frame, in NDC. Must be greater than {@code left}. + * @param bottom The bottom edge of the output frame, in NDC. Must be less than {@code top}. + * @param top The top edge of the output frame, in NDC. Must be greater than {@code bottom}. + */ + public Crop(float left, float right, float bottom, float top) { + checkArgument( + right > left, "right value " + right + " should be greater than left value " + left); + checkArgument( + top > bottom, "top value " + top + " should be greater than bottom value " + bottom); + this.left = left; + this.right = right; + this.bottom = bottom; + this.top = top; + + transformationMatrix = new Matrix(); + } + + @Override + public Size configure(int inputWidth, int inputHeight) { + checkArgument(inputWidth > 0, "inputWidth must be positive"); + checkArgument(inputHeight > 0, "inputHeight must be positive"); + + transformationMatrix = new Matrix(); + if (left == -1f && right == 1f && bottom == -1f && top == 1f) { + // No crop needed. + return new Size(inputWidth, inputHeight); + } + + float scaleX = (right - left) / GlUtil.LENGTH_NDC; + float scaleY = (top - bottom) / GlUtil.LENGTH_NDC; + float centerX = (left + right) / 2; + float centerY = (bottom + top) / 2; + + transformationMatrix.postTranslate(-centerX, -centerY); + transformationMatrix.postScale(1f / scaleX, 1f / scaleY); + + int outputWidth = Math.round(inputWidth * scaleX); + int outputHeight = Math.round(inputHeight * scaleY); + return new Size(outputWidth, outputHeight); + } + + @Override + public Matrix getMatrix(long presentationTimeUs) { + return checkStateNotNull(transformationMatrix, "configure must be called first"); + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java index 04969bcd25a..102af6ac7c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java @@ -16,7 +16,6 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkArgument; -import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static java.lang.annotation.ElementType.TYPE_USE; import static java.lang.annotation.RetentionPolicy.SOURCE; @@ -34,11 +33,11 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; /** - * Controls how a frame is presented with options to set the output resolution, crop the input, and - * choose how to map the input pixels onto the output frame geometry (for example, by stretching the - * input frame to match the specified output frame, or fitting the input frame using letterboxing). + * Controls how a frame is presented with options to set the output resolution and choose how to map + * the input pixels onto the output frame geometry (for example, by stretching the input frame to + * match the specified output frame, or fitting the input frame using letterboxing). * - *

Cropping or aspect ratio is applied before setting resolution. + *

Aspect ratio is applied before setting resolution. * *

The background color of the output frame will be black, with alpha = 0 if applicable. */ @@ -106,21 +105,13 @@ public final class Presentation implements MatrixTransformation { public static final class Builder { // Optional fields. - private int heightPixels; - private float cropLeft; - private float cropRight; - private float cropBottom; - private float cropTop; + private int outputHeight; private float aspectRatio; private @Layout int layout; /** Creates a builder with default values. */ public Builder() { - heightPixels = C.LENGTH_UNSET; - cropLeft = -1f; - cropRight = 1f; - cropBottom = -1f; - cropTop = 1f; + outputHeight = C.LENGTH_UNSET; aspectRatio = C.LENGTH_UNSET; } @@ -138,44 +129,7 @@ public Builder() { * @return This builder. */ public Builder setResolution(int height) { - this.heightPixels = height; - return this; - } - - /** - * Crops a smaller (or larger frame), per normalized device coordinates (NDC), where the input - * frame corresponds to the square ranging from -1 to 1 on the x and y axes. - * - *

{@code left} and {@code bottom} default to -1, and {@code right} and {@code top} default - * to 1, which corresponds to not applying any crop. To crop to a smaller subset of the input - * frame, use values between -1 and 1. To crop to a larger frame, use values below -1 and above - * 1. - * - *

Width and height values set may be rescaled by {@link #setResolution(int)}, which is - * applied after cropping changes. - * - *

Only one of {@code setCrop} or {@link #setAspectRatio(float, int)} can be called for one - * {@link Presentation}. - * - * @param left The left edge of the output frame, in NDC. Must be less than {@code right}. - * @param right The right edge of the output frame, in NDC. Must be greater than {@code left}. - * @param bottom The bottom edge of the output frame, in NDC. Must be less than {@code top}. - * @param top The top edge of the output frame, in NDC. Must be greater than {@code bottom}. - * @return This builder. - */ - public Builder setCrop(float left, float right, float bottom, float top) { - checkArgument( - right > left, "right value " + right + " should be greater than left value " + left); - checkArgument( - top > bottom, "top value " + top + " should be greater than bottom value " + bottom); - checkState( - aspectRatio == C.LENGTH_UNSET, - "setAspectRatio and setCrop cannot be called in the same instance"); - cropLeft = left; - cropRight = right; - cropBottom = bottom; - cropTop = top; - + this.outputHeight = height; return this; } @@ -189,9 +143,6 @@ public Builder setCrop(float left, float right, float bottom, float top) { *

Width and height values set may be rescaled by {@link #setResolution(int)}, which is * applied after aspect ratio changes. * - *

Only one of {@link #setCrop(float, float, float, float)} or {@code setAspectRatio} can be - * called for one {@link Presentation}. - * * @param aspectRatio The aspect ratio (width/height ratio) of the output frame. Must be * positive. * @return This builder. @@ -203,17 +154,13 @@ public Builder setAspectRatio(float aspectRatio, @Layout int layout) { || layout == LAYOUT_SCALE_TO_FIT_WITH_CROP || layout == LAYOUT_STRETCH_TO_FIT, "invalid layout " + layout); - checkState( - cropLeft == -1f && cropRight == 1f && cropBottom == -1f && cropTop == 1f, - "setAspectRatio and setCrop cannot be called in the same instance"); this.aspectRatio = aspectRatio; this.layout = layout; return this; } public Presentation build() { - return new Presentation( - heightPixels, cropLeft, cropRight, cropBottom, cropTop, aspectRatio, layout); + return new Presentation(outputHeight, aspectRatio, layout); } } @@ -222,10 +169,6 @@ public Presentation build() { } private final int requestedHeightPixels; - private final float cropLeft; - private final float cropRight; - private final float cropBottom; - private final float cropTop; private final float requestedAspectRatio; private final @Layout int layout; @@ -234,19 +177,8 @@ public Presentation build() { private @MonotonicNonNull Matrix transformationMatrix; /** Creates a new instance. */ - private Presentation( - int requestedHeightPixels, - float cropLeft, - float cropRight, - float cropBottom, - float cropTop, - float requestedAspectRatio, - @Layout int layout) { + private Presentation(int requestedHeightPixels, float requestedAspectRatio, @Layout int layout) { this.requestedHeightPixels = requestedHeightPixels; - this.cropLeft = cropLeft; - this.cropRight = cropRight; - this.cropBottom = cropBottom; - this.cropTop = cropTop; this.requestedAspectRatio = requestedAspectRatio; this.layout = layout; @@ -264,12 +196,7 @@ public Size configure(int inputWidth, int inputHeight) { outputWidth = inputWidth; outputHeight = inputHeight; - if (cropLeft != -1f || cropRight != 1f || cropBottom != -1f || cropTop != 1f) { - checkState( - requestedAspectRatio == C.LENGTH_UNSET, - "aspect ratio and crop cannot both be set in the same instance"); - applyCrop(); - } else if (requestedAspectRatio != C.LENGTH_UNSET) { + if (requestedAspectRatio != C.LENGTH_UNSET) { applyAspectRatio(); } @@ -286,20 +213,6 @@ public Matrix getMatrix(long presentationTimeUs) { return checkStateNotNull(transformationMatrix, "configure must be called first"); } - @RequiresNonNull("transformationMatrix") - private void applyCrop() { - float scaleX = (cropRight - cropLeft) / GlUtil.LENGTH_NDC; - float scaleY = (cropTop - cropBottom) / GlUtil.LENGTH_NDC; - float centerX = (cropLeft + cropRight) / 2; - float centerY = (cropBottom + cropTop) / 2; - - transformationMatrix.postTranslate(-centerX, -centerY); - transformationMatrix.postScale(1f / scaleX, 1f / scaleY); - - outputWidth = outputWidth * scaleX; - outputHeight = outputHeight * scaleY; - } - @RequiresNonNull("transformationMatrix") private void applyAspectRatio() { float inputAspectRatio = outputWidth / outputHeight; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java new file mode 100644 index 00000000000..f28d947709f --- /dev/null +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java @@ -0,0 +1,62 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static com.google.common.truth.Truth.assertThat; + +import android.util.Size; +import androidx.media3.common.util.GlUtil; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Unit tests for {@link Crop}. + * + *

See {@code CropPixelTest} for pixel tests testing {@link Crop}. + */ +@RunWith(AndroidJUnit4.class) +public final class CropTest { + @Test + public void configure_noEdits_leavesFramesUnchanged() { + int inputWidth = 200; + int inputHeight = 150; + Crop crop = new Crop(/* left= */ -1, /* right= */ 1, /* bottom= */ -1, /* top= */ 1); + + Size outputSize = crop.configure(inputWidth, inputHeight); + + assertThat(outputSize.getWidth()).isEqualTo(inputWidth); + assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + } + + @Test + public void configure_setCrop_changesDimensions() { + int inputWidth = 300; + int inputHeight = 200; + float left = -.5f; + float right = .5f; + float bottom = .5f; + float top = 1f; + Crop crop = new Crop(left, right, bottom, top); + + Size outputSize = crop.configure(inputWidth, inputHeight); + + int expectedPostCropWidth = Math.round(inputWidth * (right - left) / GlUtil.LENGTH_NDC); + int expectedPostCropHeight = Math.round(inputHeight * (top - bottom) / GlUtil.LENGTH_NDC); + assertThat(outputSize.getWidth()).isEqualTo(expectedPostCropWidth); + assertThat(outputSize.getHeight()).isEqualTo(expectedPostCropHeight); + } +} diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java index fd0685a8f70..60f857c059c 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java @@ -16,10 +16,8 @@ package androidx.media3.transformer; import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.assertThrows; import android.util.Size; -import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; @@ -56,75 +54,6 @@ public void configure_setResolution_changesDimensions() { assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); } - @Test - public void configure_setCrop_changesDimensions() { - int inputWidth = 300; - int inputHeight = 200; - float left = -.5f; - float right = .5f; - float bottom = .5f; - float top = 1f; - Presentation presentation = - new Presentation.Builder().setCrop(left, right, bottom, top).build(); - - Size outputSize = presentation.configure(inputWidth, inputHeight); - - int expectedPostCropWidth = Math.round(inputWidth * (right - left) / GlUtil.LENGTH_NDC); - int expectedPostCropHeight = Math.round(inputHeight * (top - bottom) / GlUtil.LENGTH_NDC); - assertThat(outputSize.getWidth()).isEqualTo(expectedPostCropWidth); - assertThat(outputSize.getHeight()).isEqualTo(expectedPostCropHeight); - } - - @Test - public void configure_setCropAndSetResolution_changesDimensions() { - int inputWidth = 300; - int inputHeight = 200; - float left = -.5f; - float right = .5f; - float bottom = .5f; - float top = 1f; - int requestedHeight = 100; - Presentation presentation = - new Presentation.Builder() - .setCrop(left, right, bottom, top) - .setResolution(requestedHeight) - .build(); - - Size outputSize = presentation.configure(inputWidth, inputHeight); - - int expectedPostCropWidth = Math.round(inputWidth * (right - left) / GlUtil.LENGTH_NDC); - int expectedPostCropHeight = Math.round(inputHeight * (top - bottom) / GlUtil.LENGTH_NDC); - assertThat(outputSize.getWidth()) - .isEqualTo( - Math.round((float) requestedHeight * expectedPostCropWidth / expectedPostCropHeight)); - assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); - } - - @Test - public void configure_setResolutionAndCrop_changesDimensions() { - int inputWidth = 300; - int inputHeight = 200; - float left = -.5f; - float right = .5f; - float bottom = .5f; - float top = 1f; - int requestedHeight = 100; - Presentation presentation = - new Presentation.Builder() - .setResolution(requestedHeight) - .setCrop(left, right, bottom, top) - .build(); - - Size outputSize = presentation.configure(inputWidth, inputHeight); - - int expectedPostCropWidth = Math.round(inputWidth * (right - left) / GlUtil.LENGTH_NDC); - int expectedPostCropHeight = Math.round(inputHeight * (top - bottom) / GlUtil.LENGTH_NDC); - assertThat(outputSize.getWidth()) - .isEqualTo( - Math.round((float) requestedHeight * expectedPostCropWidth / expectedPostCropHeight)); - assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); - } - @Test public void configure_setAspectRatio_changesDimensions() { int inputWidth = 300; @@ -158,30 +87,4 @@ public void configure_setAspectRatioAndResolution_changesDimensions() { assertThat(outputSize.getWidth()).isEqualTo(Math.round(aspectRatio * requestedHeight)); assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); } - - @Test - public void configure_setAspectRatioAndCrop_throwsIllegalStateException() { - Presentation.Builder presentationBuilder = - new Presentation.Builder() - .setAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT); - - assertThrows( - IllegalStateException.class, - () -> - presentationBuilder.setCrop( - /* left= */ -.5f, /* right= */ .5f, /* bottom= */ .5f, /* top= */ 1f)); - } - - @Test - public void configure_setCropAndAspectRatio_throwsIllegalStateException() { - Presentation.Builder presentationBuilder = - new Presentation.Builder() - .setCrop(/* left= */ -.5f, /* right= */ .5f, /* bottom= */ .5f, /* top= */ 1f); - - assertThrows( - IllegalStateException.class, - () -> - presentationBuilder.setAspectRatio( - /* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT)); - } } From 780631c14b047dd7f37f44e2c278de3ff91b5146 Mon Sep 17 00:00:00 2001 From: claincly Date: Thu, 9 Jun 2022 15:41:09 +0000 Subject: [PATCH 010/422] Ensure re-encode on performance tests PiperOrigin-RevId: 453933854 (cherry picked from commit 12d775f055faac1b9de2c53fd296c5b1d0f89a32) --- .../media3/transformer/AndroidTestUtil.java | 67 +++++++++++-------- .../RepeatedTranscodeTransformationTest.java | 6 +- .../transformer/mh/TranscodeQualityTest.java | 4 +- .../transformer/mh/TransformationTest.java | 23 +++---- .../mh/analysis/BitrateAnalysisTest.java | 15 +++-- .../EncoderPerformanceAnalysisTest.java | 13 ++-- 6 files changed, 71 insertions(+), 57 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index 6aac30e68c0..0906548e2ad 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -218,33 +218,46 @@ public static void recordTestSkipped(Context context, String testId, String reas writeTestSummaryToFile(context, testId, testJson); } - /** - * A {@link Codec.EncoderFactory} that forces encoding, wrapping {@link DefaultEncoderFactory}. - */ - public static final Codec.EncoderFactory FORCE_ENCODE_ENCODER_FACTORY = - new Codec.EncoderFactory() { - @Override - public Codec createForAudioEncoding(Format format, List allowedMimeTypes) - throws TransformationException { - return Codec.EncoderFactory.DEFAULT.createForAudioEncoding(format, allowedMimeTypes); - } - - @Override - public Codec createForVideoEncoding(Format format, List allowedMimeTypes) - throws TransformationException { - return Codec.EncoderFactory.DEFAULT.createForVideoEncoding(format, allowedMimeTypes); - } - - @Override - public boolean audioNeedsEncoding() { - return true; - } - - @Override - public boolean videoNeedsEncoding() { - return true; - } - }; + /** A customizable forwarding {@link Codec.EncoderFactory} that forces encoding. */ + public static final class ForceEncodeEncoderFactory implements Codec.EncoderFactory { + + private final Codec.EncoderFactory encoderFactory; + + /** Creates an instance that wraps {@link DefaultEncoderFactory}. */ + public ForceEncodeEncoderFactory() { + encoderFactory = Codec.EncoderFactory.DEFAULT; + } + + /** + * Creates an instance that wraps {@link DefaultEncoderFactory} that wraps another {@link + * Codec.EncoderFactory}. + */ + public ForceEncodeEncoderFactory(Codec.EncoderFactory wrappedEncoderFactory) { + this.encoderFactory = wrappedEncoderFactory; + } + + @Override + public Codec createForAudioEncoding(Format format, List allowedMimeTypes) + throws TransformationException { + return encoderFactory.createForAudioEncoding(format, allowedMimeTypes); + } + + @Override + public Codec createForVideoEncoding(Format format, List allowedMimeTypes) + throws TransformationException { + return encoderFactory.createForVideoEncoding(format, allowedMimeTypes); + } + + @Override + public boolean audioNeedsEncoding() { + return true; + } + + @Override + public boolean videoNeedsEncoding() { + return true; + } + } /** * Returns a {@link JSONObject} containing device specific details from {@link Build}, including diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java index e3a12b5b8ca..19b80a8aac3 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java @@ -48,7 +48,7 @@ public void repeatedTranscode_givesConsistentLengthOutput() throws Exception { new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setRotationDegrees(45).build()) - .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) .build()) .build(); @@ -78,7 +78,7 @@ public void repeatedTranscodeNoAudio_givesConsistentLengthOutput() throws Except .setRemoveAudio(true) .setTransformationRequest( new TransformationRequest.Builder().setRotationDegrees(45).build()) - .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) .build()) .build(); @@ -107,7 +107,7 @@ public void repeatedTranscodeNoVideo_givesConsistentLengthOutput() throws Except new Transformer.Builder(context) .setRemoveVideo(true) .setTransformationRequest(new TransformationRequest.Builder().build()) - .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) .build()) .build(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java index 2b381d17fae..9906cf98b19 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java @@ -52,7 +52,7 @@ public void transformWithDecodeEncode_ssimIsGreaterThan90Percent() throws Except new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build()) - .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) .setRemoveAudio(true) .build(); @@ -119,7 +119,7 @@ public void transcodeAvcToAvc320x240_ssimIsGreaterThan90Percent() throws Excepti new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build()) - .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) .setRemoveAudio(true) .build(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java index 8a4bcf2faf6..5a82a7c0cc0 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java @@ -15,7 +15,6 @@ */ package androidx.media3.transformer.mh; -import static androidx.media3.transformer.AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_SEF_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING; @@ -30,6 +29,7 @@ import androidx.media3.common.MediaItem; import androidx.media3.common.util.Util; import androidx.media3.transformer.AndroidTestUtil; +import androidx.media3.transformer.AndroidTestUtil.ForceEncodeEncoderFactory; import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.EncoderSelector; import androidx.media3.transformer.TransformationRequest; @@ -52,9 +52,7 @@ public void transform() throws Exception { String testId = TAG + "_transform"; Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = - new Transformer.Builder(context) - .setEncoderFactory(AndroidTestUtil.FORCE_ENCODE_ENCODER_FACTORY) - .build(); + new Transformer.Builder(context).setEncoderFactory(new ForceEncodeEncoderFactory()).build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) .build() @@ -80,10 +78,11 @@ public void transformToSpecificBitrate() throws Exception { new Transformer.Builder(context) .setRemoveAudio(true) .setEncoderFactory( - new DefaultEncoderFactory( - EncoderSelector.DEFAULT, - new VideoEncoderSettings.Builder().setBitrate(5_000_000).build(), - /* enableFallback= */ true)) + new ForceEncodeEncoderFactory( + /* wrappedEncoderFactory= */ new DefaultEncoderFactory( + EncoderSelector.DEFAULT, + new VideoEncoderSettings.Builder().setBitrate(5_000_000).build(), + /* enableFallback= */ true))) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) @@ -105,7 +104,7 @@ public void transform4K60() throws Exception { } Transformer transformer = - new Transformer.Builder(context).setEncoderFactory(FORCE_ENCODE_ENCODER_FACTORY).build(); + new Transformer.Builder(context).setEncoderFactory(new ForceEncodeEncoderFactory()).build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) .setTimeoutSeconds(180) @@ -126,7 +125,7 @@ public void transform8K24() throws Exception { return; } Transformer transformer = - new Transformer.Builder(context).setEncoderFactory(FORCE_ENCODE_ENCODER_FACTORY).build(); + new Transformer.Builder(context).setEncoderFactory(new ForceEncodeEncoderFactory()).build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) .setTimeoutSeconds(180) @@ -140,7 +139,7 @@ public void transformNoAudio() throws Exception { Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) - .setEncoderFactory(FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new ForceEncodeEncoderFactory()) .setRemoveAudio(true) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) @@ -155,7 +154,7 @@ public void transformNoVideo() throws Exception { Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) - .setEncoderFactory(FORCE_ENCODE_ENCODER_FACTORY) + .setEncoderFactory(new ForceEncodeEncoderFactory()) .setRemoveVideo(true) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java index 8215b74b11c..efd973f5ff6 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java @@ -116,13 +116,14 @@ public void analyzeBitrate() throws Exception { new Transformer.Builder(context) .setRemoveAudio(true) .setEncoderFactory( - new DefaultEncoderFactory( - EncoderSelector.DEFAULT, - new VideoEncoderSettings.Builder() - .setBitrate(bitrate) - .setBitrateMode(bitrateMode) - .build(), - /* enableFallback= */ false)) + new AndroidTestUtil.ForceEncodeEncoderFactory( + /* wrappedEncoderFactory= */ new DefaultEncoderFactory( + EncoderSelector.DEFAULT, + new VideoEncoderSettings.Builder() + .setBitrate(bitrate) + .setBitrateMode(bitrateMode) + .build(), + /* enableFallback= */ false))) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java index 1f379e6653d..0692bc45c5a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java @@ -126,12 +126,13 @@ public void analyzeEncoderPerformance() throws Exception { new Transformer.Builder(context) .setRemoveAudio(true) .setEncoderFactory( - new DefaultEncoderFactory( - EncoderSelector.DEFAULT, - new VideoEncoderSettings.Builder() - .setEncoderPerformanceParameters(operatingRate, priority) - .build(), - /* enableFallback= */ false)) + new AndroidTestUtil.ForceEncodeEncoderFactory( + /* wrappedEncoderFactory= */ new DefaultEncoderFactory( + EncoderSelector.DEFAULT, + new VideoEncoderSettings.Builder() + .setEncoderPerformanceParameters(operatingRate, priority) + .build(), + /* enableFallback= */ false))) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) From 0b08396255d565b1f19c63c2ef8683752af544e4 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Thu, 9 Jun 2022 17:53:39 +0000 Subject: [PATCH 011/422] Make GlUtil.GlException checked and remove flag to disable it. Transformer always enabled glAssertionsEnabled, so there should be no functional change. ExoPlayer previously disabled glAssertionsEnabled, so GlUtil logged GlExceptions instead of throwing them. The GlExceptions are now caught and logged by the callers so that there should also be no functional change overall. This change also replaces EGLSurfaceTexture#GlException with GlUtil#GlException. PiperOrigin-RevId: 453963741 (cherry picked from commit cc1f32d094cc4371d92b3ddab144d8965e1bc1c3) --- .../demo/gl/BitmapOverlayVideoProcessor.java | 29 +++- .../demo/gl/VideoProcessingGLSurfaceView.java | 8 +- .../transformer/BitmapOverlayProcessor.java | 27 ++-- .../PeriodicVignetteProcessor.java | 23 +-- .../demo/transformer/MediaPipeProcessor.java | 16 +- .../media3/common/util/EGLSurfaceTexture.java | 51 +++---- .../media3/common/util/GlProgram.java | 30 ++-- .../androidx/media3/common/util/GlUtil.java | 139 +++++++++--------- .../exoplayer/video/PlaceholderSurface.java | 5 +- .../video/VideoDecoderGLSurfaceView.java | 61 +++++--- .../video/spherical/ProjectionRenderer.java | 49 ++++-- .../video/spherical/SceneRenderer.java | 32 +++- .../media3/transformer/BitmapTestUtil.java | 5 +- .../media3/transformer/CropPixelTest.java | 26 ++-- ...atrixTransformationProcessorPixelTest.java | 18 +-- .../transformer/PresentationPixelTest.java | 26 ++-- .../androidx/media3/transformer/Crop.java | 4 - .../EncoderCompatibilityTransformation.java | 5 - .../transformer/ExternalTextureProcessor.java | 24 +-- .../transformer/FrameProcessingException.java | 20 +++ .../transformer/FrameProcessorChain.java | 27 ++-- .../androidx/media3/transformer/GlEffect.java | 4 +- .../transformer/GlMatrixTransformation.java | 4 +- .../transformer/GlTextureProcessor.java | 8 +- .../MatrixTransformationProcessor.java | 32 ++-- .../media3/transformer/Presentation.java | 5 - .../transformer/ScaleToFitTransformation.java | 4 - .../SingleFrameGlTextureProcessor.java | 12 +- 28 files changed, 397 insertions(+), 297 deletions(-) diff --git a/demos/gl/src/main/java/androidx/media3/demo/gl/BitmapOverlayVideoProcessor.java b/demos/gl/src/main/java/androidx/media3/demo/gl/BitmapOverlayVideoProcessor.java index 735abf4cfa0..793e1fd4939 100644 --- a/demos/gl/src/main/java/androidx/media3/demo/gl/BitmapOverlayVideoProcessor.java +++ b/demos/gl/src/main/java/androidx/media3/demo/gl/BitmapOverlayVideoProcessor.java @@ -29,6 +29,7 @@ import androidx.media3.common.C; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.Log; import java.io.IOException; import java.util.Locale; import javax.microedition.khronos.opengles.GL10; @@ -41,6 +42,7 @@ /* package */ final class BitmapOverlayVideoProcessor implements VideoProcessingGLSurfaceView.VideoProcessor { + private static final String TAG = "BitmapOverlayVP"; private static final int OVERLAY_WIDTH = 512; private static final int OVERLAY_HEIGHT = 256; @@ -85,6 +87,9 @@ public void initialize() { /* fragmentShaderFilePath= */ "bitmap_overlay_video_processor_fragment.glsl"); } catch (IOException e) { throw new IllegalStateException(e); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to initialize the shader program", e); + return; } program.setBufferAttribute( "aFramePosition", @@ -119,7 +124,11 @@ public void draw(int frameTexture, long frameTimestampUs, float[] transformMatri GLES20.glBindTexture(GL10.GL_TEXTURE_2D, textures[0]); GLUtils.texSubImage2D( GL10.GL_TEXTURE_2D, /* level= */ 0, /* xoffset= */ 0, /* yoffset= */ 0, overlayBitmap); - GlUtil.checkGlError(); + try { + GlUtil.checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to populate the texture", e); + } // Run the shader program. GlProgram program = checkNotNull(this.program); @@ -128,16 +137,28 @@ public void draw(int frameTexture, long frameTimestampUs, float[] transformMatri program.setFloatUniform("uScaleX", bitmapScaleX); program.setFloatUniform("uScaleY", bitmapScaleY); program.setFloatsUniform("uTexTransform", transformMatrix); - program.bindAttributesAndUniforms(); + try { + program.bindAttributesAndUniforms(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to update the shader program", e); + } GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); - GlUtil.checkGlError(); + try { + GlUtil.checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to draw a frame", e); + } } @Override public void release() { if (program != null) { - program.delete(); + try { + program.delete(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to delete the shader program", e); + } } } } diff --git a/demos/gl/src/main/java/androidx/media3/demo/gl/VideoProcessingGLSurfaceView.java b/demos/gl/src/main/java/androidx/media3/demo/gl/VideoProcessingGLSurfaceView.java index 9c95122d4b6..c7c0aba58a9 100644 --- a/demos/gl/src/main/java/androidx/media3/demo/gl/VideoProcessingGLSurfaceView.java +++ b/demos/gl/src/main/java/androidx/media3/demo/gl/VideoProcessingGLSurfaceView.java @@ -28,6 +28,7 @@ import androidx.media3.common.Format; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.Log; import androidx.media3.common.util.TimedValueQueue; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.video.VideoFrameMetadataListener; @@ -70,6 +71,7 @@ public interface VideoProcessor { } private static final int EGL_PROTECTED_CONTENT_EXT = 0x32C0; + private static final String TAG = "VPGlSurfaceView"; private final VideoRenderer renderer; private final Handler mainHandler; @@ -239,7 +241,11 @@ public VideoRenderer(VideoProcessor videoProcessor) { @Override public synchronized void onSurfaceCreated(GL10 gl, EGLConfig config) { - texture = GlUtil.createExternalTexture(); + try { + texture = GlUtil.createExternalTexture(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to create an external texture", e); + } surfaceTexture = new SurfaceTexture(texture); surfaceTexture.setOnFrameAvailableListener( surfaceTexture -> { diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index b9c0efac373..7e0b0f5112e 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -45,9 +45,6 @@ // TODO(b/227625365): Delete this class and use a texture processor from the Transformer library, // once overlaying a bitmap and text is supported in Transformer. /* package */ final class BitmapOverlayProcessor extends SingleFrameGlTextureProcessor { - static { - GlUtil.glAssertionsEnabled = true; - } private static final String VERTEX_SHADER_PATH = "vertex_shader_copy_es2.glsl"; private static final String FRAGMENT_SHADER_PATH = "fragment_shader_bitmap_overlay_es2.glsl"; @@ -67,9 +64,9 @@ /** * Creates a new instance. * - * @throws IOException If a problem occurs while reading shader files. + * @throws FrameProcessingException If a problem occurs while reading shader files. */ - public BitmapOverlayProcessor(Context context) throws IOException { + public BitmapOverlayProcessor(Context context) throws FrameProcessingException { paint = new Paint(); paint.setTextSize(64); paint.setAntiAlias(true); @@ -87,10 +84,14 @@ public BitmapOverlayProcessor(Context context) throws IOException { } catch (PackageManager.NameNotFoundException e) { throw new IllegalStateException(e); } - bitmapTexId = GlUtil.createTexture(BITMAP_WIDTH_HEIGHT, BITMAP_WIDTH_HEIGHT); - GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, /* level= */ 0, overlayBitmap, /* border= */ 0); + try { + bitmapTexId = GlUtil.createTexture(BITMAP_WIDTH_HEIGHT, BITMAP_WIDTH_HEIGHT); + GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, /* level= */ 0, overlayBitmap, /* border= */ 0); - glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + } catch (GlUtil.GlException | IOException e) { + throw new FrameProcessingException(e); + } // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. glProgram.setBufferAttribute( "aFramePosition", @@ -141,15 +142,19 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); GlUtil.checkGlError(); } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); + throw new FrameProcessingException(e, presentationTimeUs); } } @Override - public void release() { + public void release() throws FrameProcessingException { super.release(); if (glProgram != null) { - glProgram.delete(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } } } diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index fb00e5f888c..9ae281b37b2 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -31,9 +31,6 @@ * darker the further they are away from the frame center. */ /* package */ final class PeriodicVignetteProcessor extends SingleFrameGlTextureProcessor { - static { - GlUtil.glAssertionsEnabled = true; - } private static final String VERTEX_SHADER_PATH = "vertex_shader_copy_es2.glsl"; private static final String FRAGMENT_SHADER_PATH = "fragment_shader_vignette_es2.glsl"; @@ -60,7 +57,7 @@ * @param minInnerRadius The lower bound of the radius that is unaffected by the effect. * @param maxInnerRadius The upper bound of the radius that is unaffected by the effect. * @param outerRadius The radius after which all pixels are black. - * @throws IOException If a problem occurs while reading shader files. + * @throws FrameProcessingException If a problem occurs while reading shader files. */ public PeriodicVignetteProcessor( Context context, @@ -69,12 +66,16 @@ public PeriodicVignetteProcessor( float minInnerRadius, float maxInnerRadius, float outerRadius) - throws IOException { + throws FrameProcessingException { checkArgument(minInnerRadius <= maxInnerRadius); checkArgument(maxInnerRadius <= outerRadius); this.minInnerRadius = minInnerRadius; this.deltaInnerRadius = maxInnerRadius - minInnerRadius; - glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + try { + glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } glProgram.setFloatsUniform("uCenter", new float[] {centerX, centerY}); glProgram.setFloatsUniform("uOuterRadius", new float[] {outerRadius}); // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. @@ -102,15 +103,19 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce // The four-vertex triangle strip forms a quad. GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); + throw new FrameProcessingException(e, presentationTimeUs); } } @Override - public void release() { + public void release() throws FrameProcessingException { super.release(); if (glProgram != null) { - glProgram.delete(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } } } } diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 7d6ddfae5b3..2ceb8cf12f2 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -79,12 +79,12 @@ protected void loadLibrary(String name) { * @param graphName Name of a MediaPipe graph asset to load. * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. - * @throws IOException If a problem occurs while reading shader files or initializing MediaPipe - * resources. + * @throws FrameProcessingException If a problem occurs while reading shader files or initializing + * MediaPipe resources. */ public MediaPipeProcessor( Context context, String graphName, String inputStreamName, String outputStreamName) - throws IOException { + throws FrameProcessingException { checkState(LOADER.isAvailable()); frameProcessorConditionVariable = new ConditionVariable(); @@ -104,7 +104,11 @@ public MediaPipeProcessor( frameProcessorPendingError = error; frameProcessorConditionVariable.open(); }); - glProgram = new GlProgram(context, COPY_VERTEX_SHADER_NAME, COPY_FRAGMENT_SHADER_NAME); + try { + glProgram = new GlProgram(context, COPY_VERTEX_SHADER_NAME, COPY_FRAGMENT_SHADER_NAME); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } } @Override @@ -152,14 +156,14 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); GlUtil.checkGlError(); } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); + throw new FrameProcessingException(e, presentationTimeUs); } finally { checkStateNotNull(outputFrame).release(); } } @Override - public void release() { + public void release() throws FrameProcessingException { super.release(); checkStateNotNull(frameProcessor).close(); } diff --git a/libraries/common/src/main/java/androidx/media3/common/util/EGLSurfaceTexture.java b/libraries/common/src/main/java/androidx/media3/common/util/EGLSurfaceTexture.java index ee76ed476b2..d764882e2e6 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/EGLSurfaceTexture.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/EGLSurfaceTexture.java @@ -79,13 +79,6 @@ public interface TextureImageListener { private static final int EGL_PROTECTED_CONTENT_EXT = 0x32C0; - /** A runtime exception to be thrown if some EGL operations failed. */ - public static final class GlException extends RuntimeException { - private GlException(String msg) { - super(msg); - } - } - private final Handler handler; private final int[] textureIdHolder; @Nullable private final TextureImageListener callback; @@ -125,7 +118,7 @@ public EGLSurfaceTexture(Handler handler, @Nullable TextureImageListener callbac * * @param secureMode The {@link SecureMode} to be used for EGL surface. */ - public void init(@SecureMode int secureMode) { + public void init(@SecureMode int secureMode) throws GlUtil.GlException { display = getDefaultDisplay(); EGLConfig config = chooseEGLConfig(display); context = createEGLContext(display, config, secureMode); @@ -206,22 +199,18 @@ private void dispatchOnFrameAvailable() { } } - private static EGLDisplay getDefaultDisplay() { + private static EGLDisplay getDefaultDisplay() throws GlUtil.GlException { EGLDisplay display = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY); - if (display == null) { - throw new GlException("eglGetDisplay failed"); - } + GlUtil.checkGlException(display != null, "eglGetDisplay failed"); int[] version = new int[2]; boolean eglInitialized = EGL14.eglInitialize(display, version, /* majorOffset= */ 0, version, /* minorOffset= */ 1); - if (!eglInitialized) { - throw new GlException("eglInitialize failed"); - } + GlUtil.checkGlException(eglInitialized, "eglInitialize failed"); return display; } - private static EGLConfig chooseEGLConfig(EGLDisplay display) { + private static EGLConfig chooseEGLConfig(EGLDisplay display) throws GlUtil.GlException { EGLConfig[] configs = new EGLConfig[1]; int[] numConfigs = new int[1]; boolean success = @@ -234,18 +223,17 @@ private static EGLConfig chooseEGLConfig(EGLDisplay display) { /* config_size= */ 1, numConfigs, /* num_configOffset= */ 0); - if (!success || numConfigs[0] <= 0 || configs[0] == null) { - throw new GlException( - Util.formatInvariant( - /* format= */ "eglChooseConfig failed: success=%b, numConfigs[0]=%d, configs[0]=%s", - success, numConfigs[0], configs[0])); - } + GlUtil.checkGlException( + success && numConfigs[0] > 0 && configs[0] != null, + Util.formatInvariant( + /* format= */ "eglChooseConfig failed: success=%b, numConfigs[0]=%d, configs[0]=%s", + success, numConfigs[0], configs[0])); return configs[0]; } private static EGLContext createEGLContext( - EGLDisplay display, EGLConfig config, @SecureMode int secureMode) { + EGLDisplay display, EGLConfig config, @SecureMode int secureMode) throws GlUtil.GlException { int[] glAttributes; if (secureMode == SECURE_MODE_NONE) { glAttributes = new int[] {EGL14.EGL_CONTEXT_CLIENT_VERSION, 2, EGL14.EGL_NONE}; @@ -262,14 +250,13 @@ private static EGLContext createEGLContext( EGLContext context = EGL14.eglCreateContext( display, config, android.opengl.EGL14.EGL_NO_CONTEXT, glAttributes, 0); - if (context == null) { - throw new GlException("eglCreateContext failed"); - } + GlUtil.checkGlException(context != null, "eglCreateContext failed"); return context; } private static EGLSurface createEGLSurface( - EGLDisplay display, EGLConfig config, EGLContext context, @SecureMode int secureMode) { + EGLDisplay display, EGLConfig config, EGLContext context, @SecureMode int secureMode) + throws GlUtil.GlException { EGLSurface surface; if (secureMode == SECURE_MODE_SURFACELESS_CONTEXT) { surface = EGL14.EGL_NO_SURFACE; @@ -297,20 +284,16 @@ private static EGLSurface createEGLSurface( }; } surface = EGL14.eglCreatePbufferSurface(display, config, pbufferAttributes, /* offset= */ 0); - if (surface == null) { - throw new GlException("eglCreatePbufferSurface failed"); - } + GlUtil.checkGlException(surface != null, "eglCreatePbufferSurface failed"); } boolean eglMadeCurrent = EGL14.eglMakeCurrent(display, /* draw= */ surface, /* read= */ surface, context); - if (!eglMadeCurrent) { - throw new GlException("eglMakeCurrent failed"); - } + GlUtil.checkGlException(eglMadeCurrent, "eglMakeCurrent failed"); return surface; } - private static void generateTextureIds(int[] textureIdHolder) { + private static void generateTextureIds(int[] textureIdHolder) throws GlUtil.GlException { GLES20.glGenTextures(/* n= */ 1, textureIdHolder, /* offset= */ 0); GlUtil.checkGlError(); } diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java b/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java index da410f921ed..63976b776d1 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java @@ -54,7 +54,7 @@ public final class GlProgram { * @throws IOException When failing to read shader files. */ public GlProgram(Context context, String vertexShaderFilePath, String fragmentShaderFilePath) - throws IOException { + throws IOException, GlUtil.GlException { this( GlUtil.loadAsset(context, vertexShaderFilePath), GlUtil.loadAsset(context, fragmentShaderFilePath)); @@ -69,7 +69,7 @@ public GlProgram(Context context, String vertexShaderFilePath, String fragmentSh * @param vertexShaderGlsl The vertex shader program. * @param fragmentShaderGlsl The fragment shader program. */ - public GlProgram(String vertexShaderGlsl, String fragmentShaderGlsl) { + public GlProgram(String vertexShaderGlsl, String fragmentShaderGlsl) throws GlUtil.GlException { programId = GLES20.glCreateProgram(); GlUtil.checkGlError(); @@ -81,10 +81,9 @@ public GlProgram(String vertexShaderGlsl, String fragmentShaderGlsl) { GLES20.glLinkProgram(programId); int[] linkStatus = new int[] {GLES20.GL_FALSE}; GLES20.glGetProgramiv(programId, GLES20.GL_LINK_STATUS, linkStatus, /* offset= */ 0); - if (linkStatus[0] != GLES20.GL_TRUE) { - GlUtil.throwGlException( - "Unable to link shader program: \n" + GLES20.glGetProgramInfoLog(programId)); - } + GlUtil.checkGlException( + linkStatus[0] == GLES20.GL_TRUE, + "Unable to link shader program: \n" + GLES20.glGetProgramInfoLog(programId)); GLES20.glUseProgram(programId); attributeByName = new HashMap<>(); int[] attributeCount = new int[1]; @@ -107,16 +106,15 @@ public GlProgram(String vertexShaderGlsl, String fragmentShaderGlsl) { GlUtil.checkGlError(); } - private static void addShader(int programId, int type, String glsl) { + private static void addShader(int programId, int type, String glsl) throws GlUtil.GlException { int shader = GLES20.glCreateShader(type); GLES20.glShaderSource(shader, glsl); GLES20.glCompileShader(shader); int[] result = new int[] {GLES20.GL_FALSE}; GLES20.glGetShaderiv(shader, GLES20.GL_COMPILE_STATUS, result, /* offset= */ 0); - if (result[0] != GLES20.GL_TRUE) { - GlUtil.throwGlException(GLES20.glGetShaderInfoLog(shader) + ", source: " + glsl); - } + GlUtil.checkGlException( + result[0] == GLES20.GL_TRUE, GLES20.glGetShaderInfoLog(shader) + ", source: " + glsl); GLES20.glAttachShader(programId, shader); GLES20.glDeleteShader(shader); @@ -146,13 +144,13 @@ public int getUniformLocation(String uniformName) { * *

Call this in the rendering loop to switch between different programs. */ - public void use() { + public void use() throws GlUtil.GlException { GLES20.glUseProgram(programId); GlUtil.checkGlError(); } /** Deletes the program. Deleted programs cannot be used again. */ - public void delete() { + public void delete() throws GlUtil.GlException { GLES20.glDeleteProgram(programId); GlUtil.checkGlError(); } @@ -161,7 +159,7 @@ public void delete() { * Returns the location of an {@link Attribute}, which has been enabled as a vertex attribute * array. */ - public int getAttributeArrayLocationAndEnable(String attributeName) { + public int getAttributeArrayLocationAndEnable(String attributeName) throws GlUtil.GlException { int location = getAttributeLocation(attributeName); GLES20.glEnableVertexAttribArray(location); GlUtil.checkGlError(); @@ -196,7 +194,7 @@ public void setFloatsUniform(String name, float[] value) { } /** Binds all attributes and uniforms in the program. */ - public void bindAttributesAndUniforms() { + public void bindAttributesAndUniforms() throws GlUtil.GlException { for (Attribute attribute : attributes) { attribute.bind(); } @@ -277,7 +275,7 @@ public void setBuffer(float[] buffer, int size) { * *

Should be called before each drawing call. */ - public void bind() { + public void bind() throws GlUtil.GlException { Buffer buffer = checkNotNull(this.buffer, "call setBuffer before bind"); GLES20.glBindBuffer(GLES20.GL_ARRAY_BUFFER, /* buffer= */ 0); GLES20.glVertexAttribPointer( @@ -363,7 +361,7 @@ public void setFloats(float[] value) { * *

Should be called before each drawing call. */ - public void bind() { + public void bind() throws GlUtil.GlException { switch (type) { case GLES20.GL_FLOAT: GLES20.glUniform1fv(location, /* count= */ 1, value, /* offset= */ 0); diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 485f2db986b..44f4e648fab 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -43,19 +43,14 @@ @UnstableApi public final class GlUtil { - /** Thrown when an OpenGL error occurs and {@link #glAssertionsEnabled} is {@code true}. */ - public static final class GlException extends RuntimeException { + /** Thrown when an OpenGL error occurs. */ + public static final class GlException extends Exception { /** Creates an instance with the specified error message. */ public GlException(String message) { super(message); } } - // TODO(b/231937416): Consider removing this flag, enabling assertions by default, and making - // GlException checked. - /** Whether to throw a {@link GlException} in case of an OpenGL error. */ - public static boolean glAssertionsEnabled = false; - /** Number of elements in a 3d homogeneous coordinate vector describing a vertex. */ public static final int HOMOGENEOUS_COORDINATE_VECTOR_SIZE = 4; @@ -184,13 +179,13 @@ public static boolean isSurfacelessContextExtensionSupported() { /** Returns an initialized default {@link EGLDisplay}. */ @RequiresApi(17) - public static EGLDisplay createEglDisplay() { + public static EGLDisplay createEglDisplay() throws GlException { return Api17.createEglDisplay(); } /** Returns a new {@link EGLContext} for the specified {@link EGLDisplay}. */ @RequiresApi(17) - public static EGLContext createEglContext(EGLDisplay eglDisplay) { + public static EGLContext createEglContext(EGLDisplay eglDisplay) throws GlException { return Api17.createEglContext(eglDisplay, /* version= */ 2, EGL_CONFIG_ATTRIBUTES_RGBA_8888); } @@ -199,7 +194,8 @@ public static EGLContext createEglContext(EGLDisplay eglDisplay) { * RGBA 1010102 config. */ @RequiresApi(17) - public static EGLContext createEglContextEs3Rgba1010102(EGLDisplay eglDisplay) { + public static EGLContext createEglContextEs3Rgba1010102(EGLDisplay eglDisplay) + throws GlException { return Api17.createEglContext(eglDisplay, /* version= */ 3, EGL_CONFIG_ATTRIBUTES_RGBA_1010102); } @@ -210,7 +206,7 @@ public static EGLContext createEglContextEs3Rgba1010102(EGLDisplay eglDisplay) { * @param surface The surface to wrap; must be a surface, surface texture or surface holder. */ @RequiresApi(17) - public static EGLSurface getEglSurface(EGLDisplay eglDisplay, Object surface) { + public static EGLSurface getEglSurface(EGLDisplay eglDisplay, Object surface) throws GlException { return Api17.getEglSurface( eglDisplay, surface, EGL_CONFIG_ATTRIBUTES_RGBA_8888, EGL_WINDOW_SURFACE_ATTRIBUTES_NONE); } @@ -223,7 +219,8 @@ public static EGLSurface getEglSurface(EGLDisplay eglDisplay, Object surface) { * @param surface The surface to wrap; must be a surface, surface texture or surface holder. */ @RequiresApi(17) - public static EGLSurface getEglSurfaceBt2020Pq(EGLDisplay eglDisplay, Object surface) { + public static EGLSurface getEglSurfaceBt2020Pq(EGLDisplay eglDisplay, Object surface) + throws GlException { return Api17.getEglSurface( eglDisplay, surface, @@ -239,7 +236,8 @@ public static EGLSurface getEglSurfaceBt2020Pq(EGLDisplay eglDisplay, Object sur * @param height The height of the pixel buffer. */ @RequiresApi(17) - private static EGLSurface createPbufferSurface(EGLDisplay eglDisplay, int width, int height) { + private static EGLSurface createPbufferSurface(EGLDisplay eglDisplay, int width, int height) + throws GlException { int[] pbufferAttributes = new int[] { EGL14.EGL_WIDTH, width, @@ -258,7 +256,7 @@ private static EGLSurface createPbufferSurface(EGLDisplay eglDisplay, int width, * @return {@link EGL14#EGL_NO_SURFACE} if supported and a 1x1 pixel buffer surface otherwise. */ @RequiresApi(17) - public static EGLSurface createPlaceholderEglSurface(EGLDisplay eglDisplay) { + public static EGLSurface createPlaceholderEglSurface(EGLDisplay eglDisplay) throws GlException { return isSurfacelessContextExtensionSupported() ? EGL14.EGL_NO_SURFACE : createPbufferSurface(eglDisplay, /* width= */ 1, /* height= */ 1); @@ -271,7 +269,8 @@ public static EGLSurface createPlaceholderEglSurface(EGLDisplay eglDisplay) { * @param eglDisplay The {@link EGLDisplay} to attach the surface to. */ @RequiresApi(17) - public static void focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay eglDisplay) { + public static void focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay eglDisplay) + throws GlException { EGLSurface eglSurface = createPbufferSurface(eglDisplay, /* width= */ 1, /* height= */ 1); focusEglSurface(eglDisplay, eglContext, eglSurface, /* width= */ 1, /* height= */ 1); } @@ -285,7 +284,7 @@ public static void focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay */ @RequiresApi(17) public static void focusPlaceholderEglSurfaceBt2020Pq( - EGLContext eglContext, EGLDisplay eglDisplay) { + EGLContext eglContext, EGLDisplay eglDisplay) throws GlException { int[] pbufferAttributes = new int[] { EGL14.EGL_WIDTH, @@ -303,10 +302,10 @@ public static void focusPlaceholderEglSurfaceBt2020Pq( } /** - * If there is an OpenGl error, logs the error and if {@link #glAssertionsEnabled} is true throws - * a {@link GlException}. + * Logs all OpenGL errors that occurred since this method was last called and throws a {@link + * GlException} for the last error. */ - public static void checkGlError() { + public static void checkGlError() throws GlException { int lastError = GLES20.GL_NO_ERROR; int error; while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) { @@ -314,7 +313,7 @@ public static void checkGlError() { lastError = error; } if (lastError != GLES20.GL_NO_ERROR) { - throwGlException("glError: " + gluErrorString(lastError)); + throw new GlException("glError: " + gluErrorString(lastError)); } } @@ -325,7 +324,7 @@ public static void checkGlError() { * @param height The height for a texture. * @throws GlException If the texture width or height is invalid. */ - public static void assertValidTextureSize(int width, int height) { + public static void assertValidTextureSize(int width, int height) throws GlException { // TODO(b/201293185): Consider handling adjustments for sizes > GL_MAX_TEXTURE_SIZE // (ex. downscaling appropriately) in a texture processor instead of asserting incorrect // values. @@ -336,15 +335,16 @@ public static void assertValidTextureSize(int width, int height) { GLES20.glGetIntegerv(GLES20.GL_MAX_TEXTURE_SIZE, maxTextureSizeBuffer, 0); int maxTextureSize = maxTextureSizeBuffer[0]; if (width < 0 || height < 0) { - throwGlException("width or height is less than 0"); + throw new GlException("width or height is less than 0"); } if (width > maxTextureSize || height > maxTextureSize) { - throwGlException("width or height is greater than GL_MAX_TEXTURE_SIZE " + maxTextureSize); + throw new GlException( + "width or height is greater than GL_MAX_TEXTURE_SIZE " + maxTextureSize); } } /** Fills the pixels in the current output render target with (r=0, g=0, b=0, a=0). */ - public static void clearOutputFrame() { + public static void clearOutputFrame() throws GlException { GLES20.glClearColor(/* red= */ 0, /* green= */ 0, /* blue= */ 0, /* alpha= */ 0); GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); GlUtil.checkGlError(); @@ -356,7 +356,8 @@ public static void clearOutputFrame() { */ @RequiresApi(17) public static void focusEglSurface( - EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface eglSurface, int width, int height) { + EGLDisplay eglDisplay, EGLContext eglContext, EGLSurface eglSurface, int width, int height) + throws GlException { Api17.focusRenderTarget( eglDisplay, eglContext, eglSurface, /* framebuffer= */ 0, width, height); } @@ -372,7 +373,8 @@ public static void focusFramebuffer( EGLSurface eglSurface, int framebuffer, int width, - int height) { + int height) + throws GlException { Api17.focusRenderTarget(eglDisplay, eglContext, eglSurface, framebuffer, width, height); } @@ -388,7 +390,8 @@ public static void focusFramebuffer( * @param height The viewport height, in pixels. */ @RequiresApi(17) - public static void focusFramebufferUsingCurrentContext(int framebuffer, int width, int height) { + public static void focusFramebufferUsingCurrentContext(int framebuffer, int width, int height) + throws GlException { Api17.focusFramebufferUsingCurrentContext(framebuffer, width, height); } @@ -397,7 +400,7 @@ public static void focusFramebufferUsingCurrentContext(int framebuffer, int widt * * @param textureId The ID of the texture to delete. */ - public static void deleteTexture(int textureId) { + public static void deleteTexture(int textureId) throws GlException { GLES20.glDeleteTextures(/* n= */ 1, new int[] {textureId}, /* offset= */ 0); checkGlError(); } @@ -408,7 +411,7 @@ public static void deleteTexture(int textureId) { */ @RequiresApi(17) public static void destroyEglContext( - @Nullable EGLDisplay eglDisplay, @Nullable EGLContext eglContext) { + @Nullable EGLDisplay eglDisplay, @Nullable EGLContext eglContext) throws GlException { Api17.destroyEglContext(eglDisplay, eglContext); } @@ -453,7 +456,7 @@ public static String loadAsset(Context context, String assetPath) throws IOExcep * Creates a GL_TEXTURE_EXTERNAL_OES with default configuration of GL_LINEAR filtering and * GL_CLAMP_TO_EDGE wrapping. */ - public static int createExternalTexture() { + public static int createExternalTexture() throws GlException { int texId = generateTexture(); bindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, texId); return texId; @@ -465,7 +468,7 @@ public static int createExternalTexture() { * @param width of the new texture in pixels * @param height of the new texture in pixels */ - public static int createTexture(int width, int height) { + public static int createTexture(int width, int height) throws GlException { assertValidTextureSize(width, height); int texId = generateTexture(); bindTexture(GLES20.GL_TEXTURE_2D, texId); @@ -485,8 +488,8 @@ public static int createTexture(int width, int height) { } /** Returns a new GL texture identifier. */ - private static int generateTexture() { - checkEglException( + private static int generateTexture() throws GlException { + checkGlException( !Util.areEqual(EGL14.eglGetCurrentContext(), EGL14.EGL_NO_CONTEXT), "No current context"); int[] texId = new int[1]; @@ -504,7 +507,7 @@ private static int generateTexture() { * GLES20#GL_TEXTURE_2D} for a two-dimensional texture or {@link * GLES11Ext#GL_TEXTURE_EXTERNAL_OES} for an external texture. */ - public static void bindTexture(int textureTarget, int texId) { + public static void bindTexture(int textureTarget, int texId) throws GlException { GLES20.glBindTexture(textureTarget, texId); checkGlError(); GLES20.glTexParameteri(textureTarget, GLES20.GL_TEXTURE_MAG_FILTER, GLES20.GL_LINEAR); @@ -522,8 +525,8 @@ public static void bindTexture(int textureTarget, int texId) { * * @param texId The identifier of the texture to attach to the framebuffer. */ - public static int createFboForTexture(int texId) { - checkEglException( + public static int createFboForTexture(int texId) throws GlException { + checkGlException( !Util.areEqual(EGL14.eglGetCurrentContext(), EGL14.EGL_NO_CONTEXT), "No current context"); int[] fboId = new int[1]; @@ -537,23 +540,19 @@ public static int createFboForTexture(int texId) { return fboId[0]; } - /* package */ static void throwGlException(String errorMsg) { - if (glAssertionsEnabled) { - throw new GlException(errorMsg); - } else { - Log.e(TAG, errorMsg); - } - } - - private static void checkEglException(boolean expression, String errorMessage) { + /** + * Throws a {@link GlException} with the given message if {@code expression} evaluates to {@code + * false}. + */ + public static void checkGlException(boolean expression, String errorMessage) throws GlException { if (!expression) { - throwGlException(errorMessage); + throw new GlException(errorMessage); } } - private static void checkEglException(String errorMessage) { + private static void checkEglException(String errorMessage) throws GlException { int error = EGL14.eglGetError(); - checkEglException(error == EGL14.EGL_SUCCESS, errorMessage + ", error code: " + error); + checkGlException(error == EGL14.EGL_SUCCESS, errorMessage + ", error code: " + error); } @RequiresApi(17) @@ -561,24 +560,24 @@ private static final class Api17 { private Api17() {} @DoNotInline - public static EGLDisplay createEglDisplay() { + public static EGLDisplay createEglDisplay() throws GlException { EGLDisplay eglDisplay = EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY); - checkEglException(!eglDisplay.equals(EGL14.EGL_NO_DISPLAY), "No EGL display."); - if (!EGL14.eglInitialize( - eglDisplay, - /* unusedMajor */ new int[1], - /* majorOffset= */ 0, - /* unusedMinor */ new int[1], - /* minorOffset= */ 0)) { - throwGlException("Error in eglInitialize."); - } + checkGlException(!eglDisplay.equals(EGL14.EGL_NO_DISPLAY), "No EGL display."); + checkGlException( + EGL14.eglInitialize( + eglDisplay, + /* unusedMajor */ new int[1], + /* majorOffset= */ 0, + /* unusedMinor */ new int[1], + /* minorOffset= */ 0), + "Error in eglInitialize."); checkGlError(); return eglDisplay; } @DoNotInline public static EGLContext createEglContext( - EGLDisplay eglDisplay, int version, int[] configAttributes) { + EGLDisplay eglDisplay, int version, int[] configAttributes) throws GlException { int[] contextAttributes = {EGL14.EGL_CONTEXT_CLIENT_VERSION, version, EGL14.EGL_NONE}; EGLContext eglContext = EGL14.eglCreateContext( @@ -589,7 +588,7 @@ public static EGLContext createEglContext( /* offset= */ 0); if (eglContext == null) { EGL14.eglTerminate(eglDisplay); - throwGlException( + throw new GlException( "eglCreateContext() failed to create a valid context. The device may not support EGL" + " version " + version); @@ -603,7 +602,8 @@ public static EGLSurface getEglSurface( EGLDisplay eglDisplay, Object surface, int[] configAttributes, - int[] windowSurfaceAttributes) { + int[] windowSurfaceAttributes) + throws GlException { EGLSurface eglSurface = EGL14.eglCreateWindowSurface( eglDisplay, @@ -617,7 +617,7 @@ public static EGLSurface getEglSurface( @DoNotInline public static EGLSurface createEglPbufferSurface( - EGLDisplay eglDisplay, int[] configAttributes, int[] pbufferAttributes) { + EGLDisplay eglDisplay, int[] configAttributes, int[] pbufferAttributes) throws GlException { EGLSurface eglSurface = EGL14.eglCreatePbufferSurface( eglDisplay, @@ -635,15 +635,17 @@ public static void focusRenderTarget( EGLSurface eglSurface, int framebuffer, int width, - int height) { + int height) + throws GlException { EGL14.eglMakeCurrent(eglDisplay, eglSurface, eglSurface, eglContext); checkEglException("Error making context current"); focusFramebufferUsingCurrentContext(framebuffer, width, height); } @DoNotInline - public static void focusFramebufferUsingCurrentContext(int framebuffer, int width, int height) { - checkEglException( + public static void focusFramebufferUsingCurrentContext(int framebuffer, int width, int height) + throws GlException { + checkGlException( !Util.areEqual(EGL14.eglGetCurrentContext(), EGL14.EGL_NO_CONTEXT), "No current context"); int[] boundFramebuffer = new int[1]; @@ -658,7 +660,7 @@ public static void focusFramebufferUsingCurrentContext(int framebuffer, int widt @DoNotInline public static void destroyEglContext( - @Nullable EGLDisplay eglDisplay, @Nullable EGLContext eglContext) { + @Nullable EGLDisplay eglDisplay, @Nullable EGLContext eglContext) throws GlException { if (eglDisplay == null) { return; } @@ -676,7 +678,8 @@ public static void destroyEglContext( } @DoNotInline - private static EGLConfig getEglConfig(EGLDisplay eglDisplay, int[] attributes) { + private static EGLConfig getEglConfig(EGLDisplay eglDisplay, int[] attributes) + throws GlException { EGLConfig[] eglConfigs = new EGLConfig[1]; if (!EGL14.eglChooseConfig( eglDisplay, @@ -687,7 +690,7 @@ private static EGLConfig getEglConfig(EGLDisplay eglDisplay, int[] attributes) { /* config_size= */ 1, /* unusedNumConfig */ new int[1], /* num_configOffset= */ 0)) { - throwGlException("eglChooseConfig failed."); + throw new GlException("eglChooseConfig failed."); } return eglConfigs[0]; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/PlaceholderSurface.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/PlaceholderSurface.java index e9d19554357..5ee73d52f64 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/PlaceholderSurface.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/PlaceholderSurface.java @@ -179,6 +179,9 @@ public boolean handleMessage(Message msg) { } catch (RuntimeException e) { Log.e(TAG, "Failed to initialize placeholder surface", e); initException = e; + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to initialize placeholder surface", e); + initException = new IllegalStateException(e); } catch (Error e) { Log.e(TAG, "Failed to initialize placeholder surface", e); initError = e; @@ -202,7 +205,7 @@ public boolean handleMessage(Message msg) { } } - private void initInternal(@SecureMode int secureMode) { + private void initInternal(@SecureMode int secureMode) throws GlUtil.GlException { Assertions.checkNotNull(eglSurfaceTexture); eglSurfaceTexture.init(secureMode); this.surface = diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoDecoderGLSurfaceView.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoDecoderGLSurfaceView.java index 66e5ad93fba..9ffbf37ae43 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoDecoderGLSurfaceView.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoDecoderGLSurfaceView.java @@ -21,6 +21,7 @@ import android.opengl.GLES20; import android.opengl.GLSurfaceView; import android.util.AttributeSet; +import android.util.Log; import androidx.annotation.Nullable; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.GlProgram; @@ -48,6 +49,8 @@ public final class VideoDecoderGLSurfaceView extends GLSurfaceView implements VideoDecoderOutputBufferRenderer { + private static final String TAG = "VideoDecoderGLSV"; + private final Renderer renderer; /** @@ -172,22 +175,26 @@ public Renderer(GLSurfaceView surfaceView) { @Override public void onSurfaceCreated(GL10 unused, EGLConfig config) { - program = new GlProgram(VERTEX_SHADER, FRAGMENT_SHADER); - int posLocation = program.getAttributeArrayLocationAndEnable("in_pos"); - GLES20.glVertexAttribPointer( - posLocation, - 2, - GLES20.GL_FLOAT, - /* normalized= */ false, - /* stride= */ 0, - TEXTURE_VERTICES); - texLocations[0] = program.getAttributeArrayLocationAndEnable("in_tc_y"); - texLocations[1] = program.getAttributeArrayLocationAndEnable("in_tc_u"); - texLocations[2] = program.getAttributeArrayLocationAndEnable("in_tc_v"); - colorMatrixLocation = program.getUniformLocation("mColorConversion"); - GlUtil.checkGlError(); - setupTextures(); - GlUtil.checkGlError(); + try { + program = new GlProgram(VERTEX_SHADER, FRAGMENT_SHADER); + int posLocation = program.getAttributeArrayLocationAndEnable("in_pos"); + GLES20.glVertexAttribPointer( + posLocation, + 2, + GLES20.GL_FLOAT, + /* normalized= */ false, + /* stride= */ 0, + TEXTURE_VERTICES); + texLocations[0] = program.getAttributeArrayLocationAndEnable("in_tc_y"); + texLocations[1] = program.getAttributeArrayLocationAndEnable("in_tc_u"); + texLocations[2] = program.getAttributeArrayLocationAndEnable("in_tc_v"); + colorMatrixLocation = program.getUniformLocation("mColorConversion"); + GlUtil.checkGlError(); + setupTextures(); + GlUtil.checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to set up the textures and program", e); + } } @Override @@ -284,7 +291,11 @@ public void onDrawFrame(GL10 unused) { GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); - GlUtil.checkGlError(); + try { + GlUtil.checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to draw a frame", e); + } } public void setOutputBuffer(VideoDecoderOutputBuffer outputBuffer) { @@ -300,13 +311,17 @@ public void setOutputBuffer(VideoDecoderOutputBuffer outputBuffer) { @RequiresNonNull("program") private void setupTextures() { - GLES20.glGenTextures(/* n= */ 3, yuvTextures, /* offset= */ 0); - for (int i = 0; i < 3; i++) { - GLES20.glUniform1i(program.getUniformLocation(TEXTURE_UNIFORMS[i]), i); - GLES20.glActiveTexture(GLES20.GL_TEXTURE0 + i); - GlUtil.bindTexture(GLES20.GL_TEXTURE_2D, yuvTextures[i]); + try { + GLES20.glGenTextures(/* n= */ 3, yuvTextures, /* offset= */ 0); + for (int i = 0; i < 3; i++) { + GLES20.glUniform1i(program.getUniformLocation(TEXTURE_UNIFORMS[i]), i); + GLES20.glActiveTexture(GLES20.GL_TEXTURE0 + i); + GlUtil.bindTexture(GLES20.GL_TEXTURE_2D, yuvTextures[i]); + } + GlUtil.checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to set up the textures", e); } - GlUtil.checkGlError(); } } } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionRenderer.java index 2503733f36f..5c808a88900 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionRenderer.java @@ -19,6 +19,7 @@ import android.opengl.GLES11Ext; import android.opengl.GLES20; +import android.util.Log; import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.util.GlProgram; @@ -45,6 +46,8 @@ public static boolean isSupported(Projection projection) { && rightMesh.getSubMesh(0).textureId == Projection.SubMesh.VIDEO_TEXTURE_ID; } + private static final String TAG = "ProjectionRenderer"; + // Basic vertex & fragment shaders to render a mesh with 3D position & 2D texture data. private static final String VERTEX_SHADER = "uniform mat4 uMvpMatrix;\n" @@ -115,12 +118,16 @@ public void setProjection(Projection projection) { /** Initializes of the GL components. */ public void init() { - program = new GlProgram(VERTEX_SHADER, FRAGMENT_SHADER); - mvpMatrixHandle = program.getUniformLocation("uMvpMatrix"); - uTexMatrixHandle = program.getUniformLocation("uTexMatrix"); - positionHandle = program.getAttributeArrayLocationAndEnable("aPosition"); - texCoordsHandle = program.getAttributeArrayLocationAndEnable("aTexCoords"); - textureHandle = program.getUniformLocation("uTexture"); + try { + program = new GlProgram(VERTEX_SHADER, FRAGMENT_SHADER); + mvpMatrixHandle = program.getUniformLocation("uMvpMatrix"); + uTexMatrixHandle = program.getUniformLocation("uTexMatrix"); + positionHandle = program.getAttributeArrayLocationAndEnable("aPosition"); + texCoordsHandle = program.getAttributeArrayLocationAndEnable("aTexCoords"); + textureHandle = program.getUniformLocation("uTexture"); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to initialize the program", e); + } } /** @@ -154,7 +161,11 @@ public void draw(int textureId, float[] mvpMatrix, boolean rightEye) { GLES20.glActiveTexture(GLES20.GL_TEXTURE0); GLES20.glBindTexture(GLES11Ext.GL_TEXTURE_EXTERNAL_OES, textureId); GLES20.glUniform1i(textureHandle, 0); - checkGlError(); + try { + checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to bind uniforms", e); + } // Load position data. GLES20.glVertexAttribPointer( @@ -164,7 +175,11 @@ public void draw(int textureId, float[] mvpMatrix, boolean rightEye) { false, Projection.POSITION_COORDS_PER_VERTEX * C.BYTES_PER_FLOAT, meshData.vertexBuffer); - checkGlError(); + try { + checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to load position data", e); + } // Load texture data. GLES20.glVertexAttribPointer( @@ -174,17 +189,29 @@ public void draw(int textureId, float[] mvpMatrix, boolean rightEye) { false, Projection.TEXTURE_COORDS_PER_VERTEX * C.BYTES_PER_FLOAT, meshData.textureBuffer); - checkGlError(); + try { + checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to load texture data", e); + } // Render. GLES20.glDrawArrays(meshData.drawMode, /* first= */ 0, meshData.vertexCount); - checkGlError(); + try { + checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to render", e); + } } /** Cleans up GL resources. */ public void shutdown() { if (program != null) { - program.delete(); + try { + program.delete(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to delete the shader program", e); + } } } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java index b2828a465e2..5d262acd3e4 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java @@ -26,6 +26,7 @@ import androidx.media3.common.Format; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.Log; import androidx.media3.common.util.TimedValueQueue; import androidx.media3.exoplayer.video.VideoFrameMetadataListener; import java.util.Arrays; @@ -36,6 +37,8 @@ /* package */ final class SceneRenderer implements VideoFrameMetadataListener, CameraMotionListener { + private static final String TAG = "SceneRenderer"; + private final AtomicBoolean frameAvailable; private final AtomicBoolean resetRotationAtNextFrame; private final ProjectionRenderer projectionRenderer; @@ -83,14 +86,19 @@ public void setDefaultStereoMode(@C.StereoMode int stereoMode) { /** Initializes the renderer. */ public SurfaceTexture init() { - // Set the background frame color. This is only visible if the display mesh isn't a full sphere. - GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f); - checkGlError(); + try { + // Set the background frame color. This is only visible if the display mesh isn't a full + // sphere. + GLES20.glClearColor(0.5f, 0.5f, 0.5f, 1.0f); + checkGlError(); - projectionRenderer.init(); - checkGlError(); + projectionRenderer.init(); + checkGlError(); - textureId = GlUtil.createExternalTexture(); + textureId = GlUtil.createExternalTexture(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to initialize the renderer", e); + } surfaceTexture = new SurfaceTexture(textureId); surfaceTexture.setOnFrameAvailableListener(surfaceTexture -> frameAvailable.set(true)); return surfaceTexture; @@ -107,11 +115,19 @@ public void drawFrame(float[] viewProjectionMatrix, boolean rightEye) { // glClear isn't strictly necessary when rendering fully spherical panoramas, but it can improve // performance on tiled renderers by causing the GPU to discard previous data. GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); - checkGlError(); + try { + checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to draw a frame", e); + } if (frameAvailable.compareAndSet(true, false)) { Assertions.checkNotNull(surfaceTexture).updateTexImage(); - checkGlError(); + try { + checkGlError(); + } catch (GlUtil.GlException e) { + Log.e(TAG, "Failed to draw a frame", e); + } if (resetRotationAtNextFrame.compareAndSet(true, false)) { Matrix.setIdentityM(rotationMatrix, 0); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java index fda61200d11..2f38910bd89 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java @@ -186,7 +186,8 @@ public static void maybeSaveTestBitmapToCacheDirectory( * @param height The height of the pixel rectangle to read. * @return A {@link Bitmap} with the framebuffer's values. */ - public static Bitmap createArgb8888BitmapFromCurrentGlFramebuffer(int width, int height) { + public static Bitmap createArgb8888BitmapFromCurrentGlFramebuffer(int width, int height) + throws GlUtil.GlException { ByteBuffer rgba8888Buffer = ByteBuffer.allocateDirect(width * height * 4); GLES20.glReadPixels( 0, 0, width, height, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, rgba8888Buffer); @@ -206,7 +207,7 @@ public static Bitmap createArgb8888BitmapFromCurrentGlFramebuffer(int width, int * @param bitmap A {@link Bitmap}. * @return The identifier of the newly created texture. */ - public static int createGlTextureFromBitmap(Bitmap bitmap) { + public static int createGlTextureFromBitmap(Bitmap bitmap) throws GlUtil.GlException { int texId = GlUtil.createTexture(bitmap.getWidth(), bitmap.getHeight()); // Put the flipped bitmap in the OpenGL texture as the bitmap's positive y-axis points down // while OpenGL's positive y-axis points up. diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java index f4830f1ab1a..b0de6571fb5 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java @@ -52,13 +52,9 @@ public final class CropPixelTest { public static final String CROP_LARGER_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/crop_larger.png"; - static { - GlUtil.glAssertionsEnabled = true; - } - - private final Context context = getApplicationContext(); - private final EGLDisplay eglDisplay = GlUtil.createEglDisplay(); - private final EGLContext eglContext = GlUtil.createEglContext(eglDisplay); + private Context context = getApplicationContext(); + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor cropTextureProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; @@ -67,7 +63,9 @@ public final class CropPixelTest { private int inputHeight; @Before - public void createTextures() throws IOException { + public void createGlObjects() throws IOException, GlUtil.GlException { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); @@ -77,11 +75,13 @@ public void createTextures() throws IOException { } @After - public void release() { + public void release() throws GlUtil.GlException, FrameProcessingException { if (cropTextureProcessor != null) { cropTextureProcessor.release(); } - GlUtil.destroyEglContext(eglDisplay, eglContext); + if (eglContext != null && eglDisplay != null) { + GlUtil.destroyEglContext(eglDisplay, eglContext); + } } @Test @@ -156,12 +156,12 @@ public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } - private void setupOutputTexture(int outputWidth, int outputHeight) { + private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { outputTexId = GlUtil.createTexture(outputWidth, outputHeight); int frameBuffer = GlUtil.createFboForTexture(outputTexId); GlUtil.focusFramebuffer( - eglDisplay, - eglContext, + checkNotNull(eglDisplay), + checkNotNull(eglContext), checkNotNull(placeholderEglSurface), frameBuffer, outputWidth, diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java index f25c09a16bc..3255c093cb5 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java @@ -53,13 +53,9 @@ public final class MatrixTransformationProcessorPixelTest { public static final String ROTATE_90_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/rotate90.png"; - static { - GlUtil.glAssertionsEnabled = true; - } - private final Context context = getApplicationContext(); - private final EGLDisplay eglDisplay = GlUtil.createEglDisplay(); - private final EGLContext eglContext = GlUtil.createEglContext(eglDisplay); + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationFrameProcessor; private int inputTexId; private int outputTexId; @@ -67,7 +63,9 @@ public final class MatrixTransformationProcessorPixelTest { private int height; @Before - public void createTextures() throws IOException { + public void createGlObjects() throws IOException, GlUtil.GlException { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); width = inputBitmap.getWidth(); height = inputBitmap.getHeight(); @@ -81,11 +79,13 @@ public void createTextures() throws IOException { } @After - public void release() { + public void release() throws GlUtil.GlException, FrameProcessingException { if (matrixTransformationFrameProcessor != null) { matrixTransformationFrameProcessor.release(); } - GlUtil.destroyEglContext(eglDisplay, eglContext); + if (eglContext != null && eglDisplay != null) { + GlUtil.destroyEglContext(eglDisplay, eglContext); + } } @Test diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index 9465cd631c6..867aed28ff5 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -60,13 +60,9 @@ public final class PresentationPixelTest { public static final String ASPECT_RATIO_STRETCH_TO_FIT_WIDE_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_wide.png"; - static { - GlUtil.glAssertionsEnabled = true; - } - - private final Context context = getApplicationContext(); - private final EGLDisplay eglDisplay = GlUtil.createEglDisplay(); - private final EGLContext eglContext = GlUtil.createEglContext(eglDisplay); + private Context context = getApplicationContext(); + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor presentationTextureProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; @@ -75,7 +71,9 @@ public final class PresentationPixelTest { private int inputHeight; @Before - public void createTextures() throws IOException { + public void createGlObjects() throws IOException, GlUtil.GlException { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); @@ -85,11 +83,13 @@ public void createTextures() throws IOException { } @After - public void release() { + public void release() throws GlUtil.GlException, FrameProcessingException { if (presentationTextureProcessor != null) { presentationTextureProcessor.release(); } - GlUtil.destroyEglContext(eglDisplay, eglContext); + if (eglContext != null && eglDisplay != null) { + GlUtil.destroyEglContext(eglDisplay, eglContext); + } } @Test @@ -282,12 +282,12 @@ public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } - private void setupOutputTexture(int outputWidth, int outputHeight) { + private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { outputTexId = GlUtil.createTexture(outputWidth, outputHeight); int frameBuffer = GlUtil.createFboForTexture(outputTexId); GlUtil.focusFramebuffer( - eglDisplay, - eglContext, + checkNotNull(eglDisplay), + checkNotNull(eglContext), checkNotNull(placeholderEglSurface), frameBuffer, outputWidth, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java index 511a5cf8c91..20f83f105a0 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java @@ -32,10 +32,6 @@ @UnstableApi public final class Crop implements MatrixTransformation { - static { - GlUtil.glAssertionsEnabled = true; - } - private final float left; private final float right; private final float bottom; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java index d12e1b5f820..05ff98fe0a5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java @@ -23,7 +23,6 @@ import android.util.Size; import androidx.media3.common.C; import androidx.media3.common.Format; -import androidx.media3.common.util.GlUtil; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** @@ -38,10 +37,6 @@ // TODO(b/218488308): Allow reconfiguration of the output size, as encoders may not support the // requested output resolution. - static { - GlUtil.glAssertionsEnabled = true; - } - private int outputRotationDegrees; private @MonotonicNonNull Matrix transformationMatrix; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java index 823b883668a..693f5533bcb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java @@ -28,10 +28,6 @@ /** Copies frames from an external texture and applies color transformations for HDR if needed. */ /* package */ class ExternalTextureProcessor extends SingleFrameGlTextureProcessor { - static { - GlUtil.glAssertionsEnabled = true; - } - private static final String VERTEX_SHADER_TEX_TRANSFORM_PATH = "shaders/vertex_shader_tex_transform_es2.glsl"; private static final String VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH = @@ -54,10 +50,10 @@ * Creates a new instance. * * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. - * @throws IOException If a problem occurs while reading shader files. + * @throws FrameProcessingException If a problem occurs while reading shader files. */ public ExternalTextureProcessor(Context context, boolean enableExperimentalHdrEditing) - throws IOException { + throws FrameProcessingException { String vertexShaderFilePath = enableExperimentalHdrEditing ? VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH @@ -66,7 +62,11 @@ public ExternalTextureProcessor(Context context, boolean enableExperimentalHdrEd enableExperimentalHdrEditing ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; - glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); + try { + glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. glProgram.setBufferAttribute( "aFramePosition", @@ -109,15 +109,19 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); GlUtil.checkGlError(); } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); + throw new FrameProcessingException(e, presentationTimeUs); } } @Override - public void release() { + public void release() throws FrameProcessingException { super.release(); if (glProgram != null) { - glProgram.delete(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } } } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java index 6d413fd38ad..1d1d5d47ed2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java @@ -22,6 +22,26 @@ @UnstableApi public final class FrameProcessingException extends Exception { + /** + * Wraps the given exception in a {@code FrameProcessingException} if it is not already a {@code + * FrameProcessingException} and returns the exception otherwise. + */ + public static FrameProcessingException from(Exception exception) { + return from(exception, /* presentationTimeUs= */ C.TIME_UNSET); + } + + /** + * Wraps the given exception in a {@code FrameProcessingException} with the given timestamp if it + * is not already a {@code FrameProcessingException} and returns the exception otherwise. + */ + public static FrameProcessingException from(Exception exception, long presentationTimeUs) { + if (exception instanceof FrameProcessingException) { + return (FrameProcessingException) exception; + } else { + return new FrameProcessingException(exception, presentationTimeUs); + } + } + /** * The microsecond timestamp of the frame being processed while the exception occurred or {@link * C#TIME_UNSET} if unknown. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index c4ded83fd9b..0b2bea5a346 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -41,7 +41,6 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; -import java.io.IOException; import java.util.List; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; @@ -65,10 +64,6 @@ // TODO(b/227625423): Factor out FrameProcessor interface and rename this class to GlFrameProcessor. /* package */ final class FrameProcessorChain { - static { - GlUtil.glAssertionsEnabled = true; - } - /** * Listener for asynchronous frame processing events. * @@ -150,7 +145,7 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( List effects, boolean enableExperimentalHdrEditing, ExecutorService singleThreadExecutorService) - throws IOException { + throws GlUtil.GlException, FrameProcessingException { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); EGLDisplay eglDisplay = GlUtil.createEglDisplay(); @@ -204,7 +199,7 @@ private static ImmutableList getTextureProcessors ExternalTextureProcessor externalTextureProcessor, float pixelWidthHeightRatio, List effects) - throws IOException { + throws FrameProcessingException { ImmutableList.Builder textureProcessors = new ImmutableList.Builder().add(externalTextureProcessor); @@ -532,22 +527,19 @@ private void processFrame() { int finalInputTexId = inputTexId; debugSurfaceViewWrapper.maybeRenderToSurfaceView( () -> { - GlUtil.clearOutputFrame(); try { + GlUtil.clearOutputFrame(); getLast(textureProcessors).drawFrame(finalInputTexId, finalPresentationTimeUs); - } catch (FrameProcessingException e) { + } catch (GlUtil.GlException | FrameProcessingException e) { Log.d(TAG, "Error rendering to debug preview", e); } }); } checkState(pendingFrameCount.getAndDecrement() > 0); - } catch (FrameProcessingException | RuntimeException e) { + } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { if (!stopProcessing.getAndSet(true)) { - listener.onFrameProcessingError( - e instanceof FrameProcessingException - ? (FrameProcessingException) e - : new FrameProcessingException(e, presentationTimeUs)); + listener.onFrameProcessingError(FrameProcessingException.from(e, presentationTimeUs)); } } } @@ -565,8 +557,8 @@ private void releaseTextureProcessorsAndDestroyGlContext() { textureProcessors.get(i).release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); - } catch (RuntimeException e) { - listener.onFrameProcessingError(new FrameProcessingException(e)); + } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { + listener.onFrameProcessingError(FrameProcessingException.from(e)); } } @@ -600,7 +592,8 @@ public SurfaceViewWrapper(SurfaceView surfaceView) { * otherwise. */ @WorkerThread - public synchronized void maybeRenderToSurfaceView(Runnable renderRunnable) { + public synchronized void maybeRenderToSurfaceView(Runnable renderRunnable) + throws GlUtil.GlException { if (surface == null) { return; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index fa64cb780d7..10a587a0268 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -17,7 +17,6 @@ import android.content.Context; import androidx.media3.common.util.UnstableApi; -import java.io.IOException; /** * Interface for a video frame effect with a {@link SingleFrameGlTextureProcessor} implementation. @@ -31,5 +30,6 @@ public interface GlEffect { /** Returns a {@link SingleFrameGlTextureProcessor} that applies the effect. */ // TODO(b/227625423): use GlTextureProcessor here once this interface exists. - SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) throws IOException; + SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) + throws FrameProcessingException; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java index b4b91e6087c..0ecdc482473 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java @@ -19,7 +19,6 @@ import android.opengl.Matrix; import android.util.Size; import androidx.media3.common.util.UnstableApi; -import java.io.IOException; /** * Specifies a 4x4 transformation {@link Matrix} to apply in the vertex shader for each frame. @@ -52,7 +51,8 @@ default Size configure(int inputWidth, int inputHeight) { float[] getGlMatrixArray(long presentationTimeUs); @Override - default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) throws IOException { + default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) + throws FrameProcessingException { return new MatrixTransformationProcessor(context, this); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java index 3aae70d2805..6021ed1be4f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java @@ -113,6 +113,10 @@ interface Listener { /** Notifies the texture processor that no further input frames will become available. */ void signalEndOfInputStream(); - /** Releases all resources. */ - void release(); + /** + * Releases all resources. + * + * @throws FrameProcessingException If an error occurs while releasing resources. + */ + void release() throws FrameProcessingException; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index 8c40191dd9a..542f79c45e6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -43,10 +43,6 @@ @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 /* package */ final class MatrixTransformationProcessor extends SingleFrameGlTextureProcessor { - static { - GlUtil.glAssertionsEnabled = true; - } - private static final String VERTEX_SHADER_TRANSFORMATION_PATH = "shaders/vertex_shader_transformation_es2.glsl"; private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_copy_es2.glsl"; @@ -90,10 +86,10 @@ * @param context The {@link Context}. * @param matrixTransformation A {@link MatrixTransformation} that specifies the transformation * matrix to use for each frame. - * @throws IOException If a problem occurs while reading shader files. + * @throws FrameProcessingException If a problem occurs while reading shader files. */ public MatrixTransformationProcessor(Context context, MatrixTransformation matrixTransformation) - throws IOException { + throws FrameProcessingException { this(context, ImmutableList.of(matrixTransformation)); } @@ -103,10 +99,10 @@ public MatrixTransformationProcessor(Context context, MatrixTransformation matri * @param context The {@link Context}. * @param matrixTransformation A {@link GlMatrixTransformation} that specifies the transformation * matrix to use for each frame. - * @throws IOException If a problem occurs while reading shader files. + * @throws FrameProcessingException If a problem occurs while reading shader files. */ public MatrixTransformationProcessor(Context context, GlMatrixTransformation matrixTransformation) - throws IOException { + throws FrameProcessingException { this(context, ImmutableList.of(matrixTransformation)); } @@ -116,11 +112,11 @@ public MatrixTransformationProcessor(Context context, GlMatrixTransformation mat * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to * apply to each frame in order. - * @throws IOException If a problem occurs while reading shader files. + * @throws FrameProcessingException If a problem occurs while reading shader files. */ public MatrixTransformationProcessor( Context context, ImmutableList matrixTransformations) - throws IOException { + throws FrameProcessingException { this.matrixTransformations = matrixTransformations; transformationMatrixCache = new float[matrixTransformations.size()][16]; @@ -128,7 +124,11 @@ public MatrixTransformationProcessor( tempResultMatrix = new float[16]; Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); visiblePolygon = NDC_SQUARE; - glProgram = new GlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_PATH); + try { + glProgram = new GlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_PATH); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } } @Override @@ -170,9 +170,15 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce } @Override - public void release() { + public void release() throws FrameProcessingException { super.release(); - glProgram.delete(); + if (glProgram != null) { + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + } } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java index 102af6ac7c5..167e83bf0f2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java @@ -24,7 +24,6 @@ import android.util.Size; import androidx.annotation.IntDef; import androidx.media3.common.C; -import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -164,10 +163,6 @@ public Presentation build() { } } - static { - GlUtil.glAssertionsEnabled = true; - } - private final int requestedHeightPixels; private final float requestedAspectRatio; private final @Layout int layout; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java index 12fb0857272..cf69a25896e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java @@ -85,10 +85,6 @@ public ScaleToFitTransformation build() { } } - static { - GlUtil.glAssertionsEnabled = true; - } - private final Matrix transformationMatrix; private @MonotonicNonNull Matrix adjustedTransformationMatrix; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index 5ec5522ddd3..84f05c815ba 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -96,7 +96,7 @@ public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long present listener.onInputFrameProcessed(inputTexture); listener.onOutputFrameAvailable(outputTexture, presentationTimeUs); } - } catch (FrameProcessingException | RuntimeException e) { + } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { if (listener != null) { listener.onFrameProcessingError( e instanceof FrameProcessingException @@ -108,7 +108,7 @@ public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long present } @EnsuresNonNull("outputTexture") - private void configureOutputTexture(int inputWidth, int inputHeight) { + private void configureOutputTexture(int inputWidth, int inputHeight) throws GlUtil.GlException { this.inputWidth = inputWidth; this.inputHeight = inputHeight; Size outputSize = configure(inputWidth, inputHeight); @@ -139,9 +139,13 @@ public final void signalEndOfInputStream() { @Override @CallSuper - public void release() { + public void release() throws FrameProcessingException { if (outputTexture != null) { - GlUtil.deleteTexture(outputTexture.texId); + try { + GlUtil.deleteTexture(outputTexture.texId); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } } } } From 56f234ea757f1befdd6e2f0f8acf5e3413bbdf52 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Thu, 9 Jun 2022 18:22:39 +0000 Subject: [PATCH 012/422] Check targetSdkVersion for frame dropping workaround. Based on https://developer.android.com/reference/android/media/MediaCodec#using-an-output-surface, frame dropping behaviour depends on the target SDK version. After this change transformer will only use MediaFormat#KEY_ALLOW_FRAME_DROP if both the target and system SDK version are at least 29 and default to its pre 29 behaviour where each decoder output frame must be processed before a new one is rendered to prevent frame dropping otherwise. Also remove deprecated Transformer.Builder constructor without a context and the context setter. PiperOrigin-RevId: 453971097 (cherry picked from commit a105d033a7d44b8c3afb0e8134ad65f624caf256) --- RELEASENOTES.md | 2 + .../demo/transformer/TransformerActivity.java | 1 + .../media3/transformer/AndroidTestUtil.java | 4 +- .../transformer/TransformerEndToEndTest.java | 6 ++- .../RepeatedTranscodeTransformationTest.java | 6 +-- .../transformer/mh/TranscodeQualityTest.java | 4 +- .../transformer/mh/TransformationTest.java | 17 ++++++--- .../mh/analysis/BitrateAnalysisTest.java | 1 + .../EncoderPerformanceAnalysisTest.java | 1 + .../androidx/media3/transformer/Codec.java | 6 --- .../media3/transformer/DefaultCodec.java | 26 +++++++++---- .../transformer/DefaultDecoderFactory.java | 30 ++++++++++++--- .../transformer/DefaultEncoderFactory.java | 22 ++++++++--- .../media3/transformer/Transformer.java | 38 +++---------------- .../DefaultEncoderFactoryTest.java | 12 ++++-- .../transformer/TransformerBuilderTest.java | 5 --- .../transformer/TransformerEndToEndTest.java | 3 +- 17 files changed, 104 insertions(+), 80 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 70e9bcdf25e..b6b36b0567e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -266,6 +266,8 @@ This release corresponds to the `DEFAULT_TRACK_SELECTOR_PARAMETERS_WITHOUT_CONTEXT` otherwise. * Remove constructor `DefaultTrackSelector(ExoTrackSelection.Factory)`. Use `DefaultTrackSelector(Context, ExoTrackSelection.Factory)` instead. + * Remove `Transformer.Builder.setContext`. The `Context` should be passed + to the `Transformer.Builder` constructor instead. ### 1.0.0-alpha03 (2022-03-14) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 178cfc0098b..842769f13fc 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -260,6 +260,7 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) .setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO)) .setEncoderFactory( new DefaultEncoderFactory( + /* context= */ this, EncoderSelector.DEFAULT, /* enableFallback= */ bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK))); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index 0906548e2ad..ea0c4985224 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -224,8 +224,8 @@ public static final class ForceEncodeEncoderFactory implements Codec.EncoderFact private final Codec.EncoderFactory encoderFactory; /** Creates an instance that wraps {@link DefaultEncoderFactory}. */ - public ForceEncodeEncoderFactory() { - encoderFactory = Codec.EncoderFactory.DEFAULT; + public ForceEncodeEncoderFactory(Context context) { + encoderFactory = new DefaultEncoderFactory(context); } /** diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index c7844fd9e1a..1b6af6de707 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -42,7 +42,8 @@ public void videoEditing_completesWithConsistentFrameCount() throws Exception { .setTransformationRequest( new TransformationRequest.Builder().setResolution(480).build()) .setEncoderFactory( - new DefaultEncoderFactory(EncoderSelector.DEFAULT, /* enableFallback= */ false)) + new DefaultEncoderFactory( + context, EncoderSelector.DEFAULT, /* enableFallback= */ false)) .build(); // Result of the following command: // ffprobe -count_frames -select_streams v:0 -show_entries stream=nb_read_frames sample.mp4 @@ -67,7 +68,8 @@ public void videoOnly_completesWithConsistentDuration() throws Exception { .setTransformationRequest( new TransformationRequest.Builder().setResolution(480).build()) .setEncoderFactory( - new DefaultEncoderFactory(EncoderSelector.DEFAULT, /* enableFallback= */ false)) + new DefaultEncoderFactory( + context, EncoderSelector.DEFAULT, /* enableFallback= */ false)) .build(); long expectedDurationMs = 967; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java index 19b80a8aac3..0c275ad1efd 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/RepeatedTranscodeTransformationTest.java @@ -48,7 +48,7 @@ public void repeatedTranscode_givesConsistentLengthOutput() throws Exception { new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setRotationDegrees(45).build()) - .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .build()) .build(); @@ -78,7 +78,7 @@ public void repeatedTranscodeNoAudio_givesConsistentLengthOutput() throws Except .setRemoveAudio(true) .setTransformationRequest( new TransformationRequest.Builder().setRotationDegrees(45).build()) - .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .build()) .build(); @@ -107,7 +107,7 @@ public void repeatedTranscodeNoVideo_givesConsistentLengthOutput() throws Except new Transformer.Builder(context) .setRemoveVideo(true) .setTransformationRequest(new TransformationRequest.Builder().build()) - .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .build()) .build(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java index 9906cf98b19..ba8f173695a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java @@ -52,7 +52,7 @@ public void transformWithDecodeEncode_ssimIsGreaterThan90Percent() throws Except new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build()) - .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .setRemoveAudio(true) .build(); @@ -119,7 +119,7 @@ public void transcodeAvcToAvc320x240_ssimIsGreaterThan90Percent() throws Excepti new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build()) - .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory()) + .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) .setRemoveAudio(true) .build(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java index 5a82a7c0cc0..045961c1a1e 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java @@ -52,7 +52,9 @@ public void transform() throws Exception { String testId = TAG + "_transform"; Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = - new Transformer.Builder(context).setEncoderFactory(new ForceEncodeEncoderFactory()).build(); + new Transformer.Builder(context) + .setEncoderFactory(new ForceEncodeEncoderFactory(context)) + .build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) .build() @@ -80,6 +82,7 @@ public void transformToSpecificBitrate() throws Exception { .setEncoderFactory( new ForceEncodeEncoderFactory( /* wrappedEncoderFactory= */ new DefaultEncoderFactory( + context, EncoderSelector.DEFAULT, new VideoEncoderSettings.Builder().setBitrate(5_000_000).build(), /* enableFallback= */ true))) @@ -104,7 +107,9 @@ public void transform4K60() throws Exception { } Transformer transformer = - new Transformer.Builder(context).setEncoderFactory(new ForceEncodeEncoderFactory()).build(); + new Transformer.Builder(context) + .setEncoderFactory(new ForceEncodeEncoderFactory(context)) + .build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) .setTimeoutSeconds(180) @@ -125,7 +130,9 @@ public void transform8K24() throws Exception { return; } Transformer transformer = - new Transformer.Builder(context).setEncoderFactory(new ForceEncodeEncoderFactory()).build(); + new Transformer.Builder(context) + .setEncoderFactory(new ForceEncodeEncoderFactory(context)) + .build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) .setTimeoutSeconds(180) @@ -139,7 +146,7 @@ public void transformNoAudio() throws Exception { Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) - .setEncoderFactory(new ForceEncodeEncoderFactory()) + .setEncoderFactory(new ForceEncodeEncoderFactory(context)) .setRemoveAudio(true) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) @@ -154,7 +161,7 @@ public void transformNoVideo() throws Exception { Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) - .setEncoderFactory(new ForceEncodeEncoderFactory()) + .setEncoderFactory(new ForceEncodeEncoderFactory(context)) .setRemoveVideo(true) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java index efd973f5ff6..45e4cb60d6f 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java @@ -118,6 +118,7 @@ public void analyzeBitrate() throws Exception { .setEncoderFactory( new AndroidTestUtil.ForceEncodeEncoderFactory( /* wrappedEncoderFactory= */ new DefaultEncoderFactory( + context, EncoderSelector.DEFAULT, new VideoEncoderSettings.Builder() .setBitrate(bitrate) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java index 0692bc45c5a..f2e28184fc3 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java @@ -128,6 +128,7 @@ public void analyzeEncoderPerformance() throws Exception { .setEncoderFactory( new AndroidTestUtil.ForceEncodeEncoderFactory( /* wrappedEncoderFactory= */ new DefaultEncoderFactory( + context, EncoderSelector.DEFAULT, new VideoEncoderSettings.Builder() .setEncoderPerformanceParameters(operatingRate, priority) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java index d345aa63d68..d33157a683a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Codec.java @@ -41,9 +41,6 @@ public interface Codec { /** A factory for {@linkplain Codec decoder} instances. */ interface DecoderFactory { - /** A default {@code DecoderFactory} implementation. */ - DecoderFactory DEFAULT = new DefaultDecoderFactory(); - /** * Returns a {@link Codec} for audio decoding. * @@ -72,9 +69,6 @@ Codec createForVideoDecoding( /** A factory for {@linkplain Codec encoder} instances. */ interface EncoderFactory { - /** A default {@code EncoderFactory} implementation. */ - EncoderFactory DEFAULT = new DefaultEncoderFactory(); - /** * Returns a {@link Codec} for audio encoding. * diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 5c723705b8a..07475aa410b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -21,6 +21,7 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.common.util.Util.SDK_INT; +import android.content.Context; import android.media.MediaCodec; import android.media.MediaCodec.BufferInfo; import android.media.MediaFormat; @@ -54,6 +55,8 @@ public final class DefaultCodec implements Codec { private final MediaCodec mediaCodec; @Nullable private final Surface inputSurface; + private final boolean decoderNeedsFrameDroppingWorkaround; + private @MonotonicNonNull Format outputFormat; @Nullable private ByteBuffer outputBuffer; @@ -65,6 +68,7 @@ public final class DefaultCodec implements Codec { /** * Creates a {@code DefaultCodec}. * + * @param context The {@link Context}. * @param configurationFormat The {@link Format} to configure the {@code DefaultCodec}. See {@link * #getConfigurationFormat()}. The {@link Format#sampleMimeType sampleMimeType} must not be * {@code null}. @@ -75,6 +79,7 @@ public final class DefaultCodec implements Codec { * @param outputSurface The output {@link Surface} if the {@link MediaCodec} outputs to a surface. */ public DefaultCodec( + Context context, Format configurationFormat, MediaFormat configurationMediaFormat, String mediaCodecName, @@ -110,6 +115,7 @@ public DefaultCodec( } this.mediaCodec = mediaCodec; this.inputSurface = inputSurface; + decoderNeedsFrameDroppingWorkaround = decoderNeedsFrameDroppingWorkaround(context); } @Override @@ -124,15 +130,12 @@ public Surface getInputSurface() { @Override public int getMaxPendingFrameCount() { - if (SDK_INT < 29) { - // Prior to API 29, decoders may drop frames to keep their output surface from growing out of - // bounds. From API 29, the {@link MediaFormat#KEY_ALLOW_FRAME_DROP} key prevents frame - // dropping even when the surface is full. Frame dropping is never desired, so allow a maximum - // of one frame to be pending at a time. + if (decoderNeedsFrameDroppingWorkaround) { + // Allow a maximum of one frame to be pending at a time to prevent frame dropping. // TODO(b/226330223): Investigate increasing this limit. return 1; } - if (Ascii.toUpperCase(mediaCodec.getCodecInfo().getCanonicalName()).startsWith("OMX.")) { + if (Ascii.toUpperCase(getName()).startsWith("OMX.")) { // Some OMX decoders don't correctly track their number of output buffers available, and get // stuck if too many frames are rendered without being processed, so limit the number of // pending frames to avoid getting stuck. This value is experimentally determined. See also @@ -261,7 +264,7 @@ public void release() { * {@inheritDoc} * *

This name is of the actual codec, which may not be the same as the {@code mediaCodecName} - * passed to {@link #DefaultCodec(Format, MediaFormat, String, boolean, Surface)}. + * passed to {@link #DefaultCodec(Context, Format, MediaFormat, String, boolean, Surface)}. * * @see MediaCodec#getCanonicalName() */ @@ -424,4 +427,13 @@ private static void startCodec(MediaCodec codec) { codec.start(); TraceUtil.endSection(); } + + private static boolean decoderNeedsFrameDroppingWorkaround(Context context) { + // Prior to API 29, decoders may drop frames to keep their output surface from growing out of + // bounds. From API 29, if the app targets API 29 or later, the {@link + // MediaFormat#KEY_ALLOW_FRAME_DROP} key prevents frame dropping even when the surface is full. + // Frame dropping is never desired, so a workaround is needed for older API levels. + return SDK_INT < 29 + || context.getApplicationContext().getApplicationInfo().targetSdkVersion < 29; + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java index 7b525416a32..dcdcd6b927c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java @@ -19,6 +19,8 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Util.SDK_INT; +import android.annotation.SuppressLint; +import android.content.Context; import android.media.MediaFormat; import android.view.Surface; import androidx.annotation.Nullable; @@ -30,6 +32,18 @@ /** A default implementation of {@link Codec.DecoderFactory}. */ /* package */ final class DefaultDecoderFactory implements Codec.DecoderFactory { + private final Context context; + + private final boolean decoderSupportsKeyAllowFrameDrop; + + public DefaultDecoderFactory(Context context) { + this.context = context; + + decoderSupportsKeyAllowFrameDrop = + SDK_INT >= 29 + && context.getApplicationContext().getApplicationInfo().targetSdkVersion >= 29; + } + @Override public Codec createForAudioDecoding(Format format) throws TransformationException { MediaFormat mediaFormat = @@ -45,9 +59,15 @@ public Codec createForAudioDecoding(Format format) throws TransformationExceptio throw createTransformationException(format); } return new DefaultCodec( - format, mediaFormat, mediaCodecName, /* isDecoder= */ true, /* outputSurface= */ null); + context, + format, + mediaFormat, + mediaCodecName, + /* isDecoder= */ true, + /* outputSurface= */ null); } + @SuppressLint("InlinedApi") @Override public Codec createForVideoDecoding( Format format, Surface outputSurface, boolean enableRequestSdrToneMapping) @@ -59,9 +79,9 @@ public Codec createForVideoDecoding( MediaFormatUtil.maybeSetInteger( mediaFormat, MediaFormat.KEY_MAX_INPUT_SIZE, format.maxInputSize); MediaFormatUtil.setCsdBuffers(mediaFormat, format.initializationData); - if (SDK_INT >= 29) { - // On API levels over 29, Transformer decodes as many frames as possible in one render - // cycle. This key ensures no frame dropping when the decoder's output surface is full. + if (decoderSupportsKeyAllowFrameDrop) { + // This key ensures no frame dropping when the decoder's output surface is full. This allows + // transformer to decode as many frames as possible in one render cycle. mediaFormat.setInteger(MediaFormat.KEY_ALLOW_FRAME_DROP, 0); } if (SDK_INT >= 31 && enableRequestSdrToneMapping) { @@ -75,7 +95,7 @@ public Codec createForVideoDecoding( throw createTransformationException(format); } return new DefaultCodec( - format, mediaFormat, mediaCodecName, /* isDecoder= */ true, outputSurface); + context, format, mediaFormat, mediaCodecName, /* isDecoder= */ true, outputSurface); } @RequiresNonNull("#1.sampleMimeType") diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index ff638e8eb8b..4303463b18f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -24,6 +24,7 @@ import static java.lang.Math.abs; import static java.lang.Math.floor; +import android.content.Context; import android.media.MediaCodecInfo; import android.media.MediaFormat; import android.util.Pair; @@ -46,6 +47,7 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory { private static final int DEFAULT_FRAME_RATE = 30; private static final String TAG = "DefaultEncoderFactory"; + private final Context context; private final EncoderSelector videoEncoderSelector; private final VideoEncoderSettings requestedVideoEncoderSettings; private final boolean enableFallback; @@ -54,13 +56,14 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory { * Creates a new instance using the {@link EncoderSelector#DEFAULT default encoder selector}, a * default {@link VideoEncoderSettings}, and with format fallback enabled. */ - public DefaultEncoderFactory() { - this(EncoderSelector.DEFAULT, /* enableFallback= */ true); + public DefaultEncoderFactory(Context context) { + this(context, EncoderSelector.DEFAULT, /* enableFallback= */ true); } /** Creates a new instance using a default {@link VideoEncoderSettings}. */ - public DefaultEncoderFactory(EncoderSelector videoEncoderSelector, boolean enableFallback) { - this(videoEncoderSelector, VideoEncoderSettings.DEFAULT, enableFallback); + public DefaultEncoderFactory( + Context context, EncoderSelector videoEncoderSelector, boolean enableFallback) { + this(context, videoEncoderSelector, VideoEncoderSettings.DEFAULT, enableFallback); } /** @@ -81,14 +84,17 @@ public DefaultEncoderFactory(EncoderSelector videoEncoderSelector, boolean enabl * and {@link VideoEncoderSettings#level} can cause codec configuration failure. Setting an * unsupported {@link VideoEncoderSettings#bitrateMode} may cause encoder instantiation failure. * + * @param context The {@link Context}. * @param videoEncoderSelector The {@link EncoderSelector}. * @param requestedVideoEncoderSettings The {@link VideoEncoderSettings}. * @param enableFallback Whether to enable fallback. */ public DefaultEncoderFactory( + Context context, EncoderSelector videoEncoderSelector, VideoEncoderSettings requestedVideoEncoderSettings, boolean enableFallback) { + this.context = context; this.videoEncoderSelector = videoEncoderSelector; this.requestedVideoEncoderSettings = requestedVideoEncoderSettings; this.enableFallback = enableFallback; @@ -120,7 +126,12 @@ public Codec createForAudioEncoding(Format format, List allowedMimeTypes throw createTransformationException(format); } return new DefaultCodec( - format, mediaFormat, mediaCodecName, /* isDecoder= */ false, /* outputSurface= */ null); + context, + format, + mediaFormat, + mediaCodecName, + /* isDecoder= */ false, + /* outputSurface= */ null); } @Override @@ -210,6 +221,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes } return new DefaultCodec( + context, format, mediaFormat, encoderInfo.getName(), diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index db03b0e0ee6..e8af343ce73 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -94,9 +94,7 @@ public final class Transformer { public static final class Builder { // Mandatory field. - // TODO(huangdarwin): Update @MonotonicNonNull to final after deprecated {@link - // #setContext(Context)} is removed. - private @MonotonicNonNull Context context; + private final Context context; // Optional fields. private MediaSource.@MonotonicNonNull Factory mediaSourceFactory; @@ -113,23 +111,6 @@ public static final class Builder { private Codec.EncoderFactory encoderFactory; private Codec.DecoderFactory decoderFactory; - /** - * @deprecated Use {@link #Builder(Context)} instead. - */ - @Deprecated - public Builder() { - muxerFactory = new FrameworkMuxer.Factory(); - looper = Util.getCurrentOrMainLooper(); - clock = Clock.DEFAULT; - listeners = new ListenerSet<>(looper, clock, (listener, flags) -> {}); - encoderFactory = Codec.EncoderFactory.DEFAULT; - decoderFactory = Codec.DecoderFactory.DEFAULT; - debugViewProvider = DebugViewProvider.NONE; - containerMimeType = MimeTypes.VIDEO_MP4; - transformationRequest = new TransformationRequest.Builder().build(); - videoFrameEffects = ImmutableList.of(); - } - /** * Creates a builder with default values. * @@ -141,8 +122,8 @@ public Builder(Context context) { looper = Util.getCurrentOrMainLooper(); clock = Clock.DEFAULT; listeners = new ListenerSet<>(looper, clock, (listener, flags) -> {}); - encoderFactory = Codec.EncoderFactory.DEFAULT; - decoderFactory = Codec.DecoderFactory.DEFAULT; + encoderFactory = new DefaultEncoderFactory(this.context); + decoderFactory = new DefaultDecoderFactory(this.context); debugViewProvider = DebugViewProvider.NONE; containerMimeType = MimeTypes.VIDEO_MP4; transformationRequest = new TransformationRequest.Builder().build(); @@ -167,15 +148,6 @@ private Builder(Transformer transformer) { this.clock = transformer.clock; } - /** - * @deprecated Use {@link #Builder(Context)} instead. - */ - @Deprecated - public Builder setContext(Context context) { - this.context = context.getApplicationContext(); - return this; - } - /** * Sets the {@link TransformationRequest} which configures the editing and transcoding options. * @@ -344,7 +316,7 @@ public Builder setLooper(Looper looper) { /** * Sets the {@link Codec.EncoderFactory} that will be used by the transformer. * - *

The default value is {@link Codec.EncoderFactory#DEFAULT}. + *

The default value is a {@link DefaultEncoderFactory} instance. * * @param encoderFactory The {@link Codec.EncoderFactory} instance. * @return This builder. @@ -357,7 +329,7 @@ public Builder setEncoderFactory(Codec.EncoderFactory encoderFactory) { /** * Sets the {@link Codec.DecoderFactory} that will be used by the transformer. * - *

The default value is {@link Codec.DecoderFactory#DEFAULT}. + *

The default value is a {@link DefaultDecoderFactory} instance. * * @param decoderFactory The {@link Codec.DecoderFactory} instance. * @return This builder. diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java index 4078e3eeb41..6272ff90362 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java @@ -16,9 +16,11 @@ package androidx.media3.transformer; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; +import android.content.Context; import android.media.MediaCodecInfo; import android.media.MediaFormat; import androidx.media3.common.Format; @@ -34,6 +36,7 @@ /** Unit test for {@link DefaultEncoderFactory}. */ @RunWith(AndroidJUnit4.class) public class DefaultEncoderFactoryTest { + private final Context context = getApplicationContext(); @Before public void setUp() { @@ -65,7 +68,7 @@ public void createForVideoEncoding_withFallbackOnAndSupportedInputFormat_configu throws Exception { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H264, 1920, 1080, 30); Format actualVideoFormat = - new DefaultEncoderFactory() + new DefaultEncoderFactory(context) .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)) @@ -83,7 +86,7 @@ public void createForVideoEncoding_withFallbackOnAndUnsupportedMimeType_configur throws Exception { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H265, 1920, 1080, 30); Format actualVideoFormat = - new DefaultEncoderFactory() + new DefaultEncoderFactory(context) .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)) @@ -101,7 +104,7 @@ public void createForVideoEncoding_withFallbackOnAndUnsupportedResolution_config throws Exception { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H264, 3840, 2160, 60); Format actualVideoFormat = - new DefaultEncoderFactory() + new DefaultEncoderFactory(context) .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)) @@ -119,7 +122,7 @@ public void createForVideoEncoding_withNoSupportedEncoder_throws() { assertThrows( TransformationException.class, () -> - new DefaultEncoderFactory() + new DefaultEncoderFactory(context) .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H265))); @@ -136,6 +139,7 @@ public void createForVideoEncoding_withNoAvailableEncoderFromEncoderSelector_thr TransformationException.class, () -> new DefaultEncoderFactory( + context, /* videoEncoderSelector= */ mimeType -> ImmutableList.of(), /* enableFallback= */ true) .createForVideoEncoding( diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java index 8513d46d2b8..9d492e38e7d 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java @@ -38,11 +38,6 @@ public void setOutputMimeType_unsupportedMimeType_throws() { () -> new Transformer.Builder(context).setOutputMimeType(MimeTypes.VIDEO_UNKNOWN).build()); } - @Test - public void build_withoutContext_throws() { - assertThrows(NullPointerException.class, () -> new Transformer.Builder().build()); - } - @Test public void build_removeAudioAndVideo_throws() { Context context = ApplicationProvider.getApplicationContext(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index ebd9a0287b2..33952703730 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -750,7 +750,8 @@ private Transformer.Builder createTransformerBuilder(boolean enableFallback) { return new Transformer.Builder(context) .setClock(clock) .setMuxerFactory(new TestMuxerFactory()) - .setEncoderFactory(new DefaultEncoderFactory(EncoderSelector.DEFAULT, enableFallback)); + .setEncoderFactory( + new DefaultEncoderFactory(context, EncoderSelector.DEFAULT, enableFallback)); } private static void createEncodersAndDecoders() { From 0a42c702ca75e703c28ec1676303ebf49d714fa8 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 10 Jun 2022 11:03:38 +0000 Subject: [PATCH 013/422] Combine all native GL errors in a GlException instead of logging. The native GL errors are in an arbitrary order according to https://www.khronos.org/registry/OpenGL-Refpages/es2.0/xhtml/glGetError.xml This means any of them could contain the most useful message so it's better to use all for the GlException's message rather than picking the last message and logging all others. PiperOrigin-RevId: 454130460 (cherry picked from commit d6a6b44715c15be8348b4a30664254e57d79036a) --- .../androidx/media3/common/util/GlUtil.java | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 44f4e648fab..adbb780e7a7 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -302,18 +302,22 @@ public static void focusPlaceholderEglSurfaceBt2020Pq( } /** - * Logs all OpenGL errors that occurred since this method was last called and throws a {@link - * GlException} for the last error. + * Collects all OpenGL errors that occurred since this method was last called and throws a {@link + * GlException} with the combined error message. */ public static void checkGlError() throws GlException { - int lastError = GLES20.GL_NO_ERROR; + StringBuilder errorMessageBuilder = new StringBuilder(); + boolean foundError = false; int error; while ((error = GLES20.glGetError()) != GLES20.GL_NO_ERROR) { - Log.e(TAG, "glError: " + gluErrorString(error)); - lastError = error; + if (foundError) { + errorMessageBuilder.append('\n'); + } + errorMessageBuilder.append("glError: ").append(gluErrorString(error)); + foundError = true; } - if (lastError != GLES20.GL_NO_ERROR) { - throw new GlException("glError: " + gluErrorString(lastError)); + if (foundError) { + throw new GlException(errorMessageBuilder.toString()); } } From 2396887234e36c30a90ffa07d52e2773bd80485c Mon Sep 17 00:00:00 2001 From: ibaker Date: Fri, 10 Jun 2022 14:32:54 +0000 Subject: [PATCH 014/422] Remove ExoPlayerTest.PlayerStateGrabber It's no longer needed PiperOrigin-RevId: 454161070 (cherry picked from commit 8c63ba6fdbfcf632538acbfb6737f227923e54bf) --- .../media3/exoplayer/ExoPlayerTest.java | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index 7c1382bba9d..1e0b0338ba9 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -3900,13 +3900,19 @@ public void audioFocusDenied() throws Exception { ShadowAudioManager shadowAudioManager = shadowOf(context.getSystemService(AudioManager.class)); shadowAudioManager.setNextFocusRequestResponse(AudioManager.AUDIOFOCUS_REQUEST_FAILED); - PlayerStateGrabber playerStateGrabber = new PlayerStateGrabber(); + AtomicBoolean playWhenReady = new AtomicBoolean(); ActionSchedule actionSchedule = new ActionSchedule.Builder(TAG) .setAudioAttributes(AudioAttributes.DEFAULT, /* handleAudioFocus= */ true) .play() .waitForPlaybackState(Player.STATE_READY) - .executeRunnable(playerStateGrabber) + .executeRunnable( + new PlayerRunnable() { + @Override + public void run(ExoPlayer player) { + playWhenReady.set(player.getPlayWhenReady()); + } + }) .build(); AtomicBoolean seenPlaybackSuppression = new AtomicBoolean(); Player.Listener listener = @@ -3924,7 +3930,7 @@ public void onPlaybackSuppressionReasonChanged( .start() .blockUntilActionScheduleFinished(TIMEOUT_MS); - assertThat(playerStateGrabber.playWhenReady).isFalse(); + assertThat(playWhenReady.get()).isFalse(); assertThat(seenPlaybackSuppression.get()).isFalse(); } @@ -12240,19 +12246,6 @@ public void handleMessage(ExoPlayer player, int messageType, @Nullable Object me } } - private static final class PlayerStateGrabber extends PlayerRunnable { - - public boolean playWhenReady; - public @Player.State int playbackState; - @Nullable public Timeline timeline; - - @Override - public void run(ExoPlayer player) { - playWhenReady = player.getPlayWhenReady(); - playbackState = player.getPlaybackState(); - timeline = player.getCurrentTimeline(); - } - } /** * Provides a wrapper for a {@link Runnable} which does collect playback states and window counts. * Can be used with {@link ActionSchedule.Builder#executeRunnable(Runnable)} to verify that a From 2d5238d82b0caf5fa3d68b184248b1d8d58fe40e Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 13 Jun 2022 11:37:38 +0000 Subject: [PATCH 015/422] Update compileSdkVersion to 33 PiperOrigin-RevId: 454573995 (cherry picked from commit 33caabbc4422a81efbc8e04bc9994ee870ea2d13) --- constants.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/constants.gradle b/constants.gradle index b72c48b65c3..abc8995faee 100644 --- a/constants.gradle +++ b/constants.gradle @@ -19,7 +19,7 @@ project.ext { // Upgrading this requires [Internal ref: b/193254928] to be fixed, or some // additional robolectric config. targetSdkVersion = 30 - compileSdkVersion = 32 + compileSdkVersion = 33 dexmakerVersion = '2.28.1' junitVersion = '4.13.2' // Use the same Guava version as the Android repo: From 84e772ada8dc0874837d88c760176129b5fab9e1 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 13 Jun 2022 12:34:43 +0000 Subject: [PATCH 016/422] Suppress an ExtendsObjects violation to support enabling this as a compile-time error. More information: go/lsc-extends-object PiperOrigin-RevId: 454582570 (cherry picked from commit ab56f865ea076ac3cc9eb1ad5aff6000136caf80) --- .../common/src/main/java/androidx/media3/common/util/Util.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index 7ea6c3d1f86..16652c3bc79 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -2604,6 +2604,7 @@ public static long getNowUnixTimeMs(long elapsedRealtimeEpochOffsetMs) { * @param newFromIndex The new from index. */ @UnstableApi + @SuppressWarnings("ExtendsObject") // See go/lsc-extends-object public static void moveItems( List items, int fromIndex, int toIndex, int newFromIndex) { ArrayDeque removedItems = new ArrayDeque<>(); From f5f95a8f4020470525335400fdca7fb80209795c Mon Sep 17 00:00:00 2001 From: hmzh Date: Wed, 15 Jun 2022 12:42:05 +0000 Subject: [PATCH 017/422] Implement seeking to the start of a MIDI file - Fixed MidiExtractor state issues which caused seeking to behave unexpectedly. Ensures the extractor is now always in the file loading state after returning RESULT_END_OF_INPUT. - Fixed an infinite loop in MidiExtractor caused by the file data array having an initial size of 0. The extractor attempted to increase the capacity of the array by using this size of 0 in it's calculations. PiperOrigin-RevId: 455107511 (cherry picked from commit 84c43f855fd60f96b5f415dc316c1333cfdec704) --- .../extractordumps/midi/Twinkle.mid.0.dump | 355 ++++++++++++++++++ .../midi/Twinkle.mid.unknown_length.dump | 355 ++++++++++++++++++ .../src/test/assets/media/midi/Twinkle.mid | Bin 0 -> 162 bytes 3 files changed, 710 insertions(+) create mode 100644 libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump create mode 100644 libraries/test_data/src/test/assets/media/midi/Twinkle.mid diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump new file mode 100644 index 00000000000..9bbb94438ce --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump @@ -0,0 +1,355 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 0: + total output bytes = 264 + sample count = 86 + format 0: + sampleMimeType = audio/midi + sample 0: + time = 0 + flags = 1 + data = length 7, hash C95FA520 + sample 1: + time = 0 + flags = 1 + data = length 5, hash 1CF3DA7 + sample 2: + time = 0 + flags = 1 + data = length 3, hash FFFED75B + sample 3: + time = 2108 + flags = 1 + data = length 3, hash FFFED448 + sample 4: + time = 2148 + flags = 1 + data = length 3, hash FFFE9730 + sample 5: + time = 2276 + flags = 1 + data = length 3, hash FFFED733 + sample 6: + time = 4384 + flags = 1 + data = length 3, hash FFFECFEF + sample 7: + time = 4384 + flags = 1 + data = length 3, hash FFFECF7F + sample 8: + time = 4384 + flags = 1 + data = length 3, hash FFFED751 + sample 9: + time = 6492 + flags = 1 + data = length 3, hash FFFED312 + sample 10: + time = 6522 + flags = 1 + data = length 3, hash FFFE9730 + sample 11: + time = 6650 + flags = 1 + data = length 3, hash FFFED733 + sample 12: + time = 8758 + flags = 1 + data = length 3, hash FFFECFEF + sample 13: + time = 8758 + flags = 1 + data = length 3, hash FFFECF7F + sample 14: + time = 8758 + flags = 1 + data = length 3, hash FFFED839 + sample 15: + time = 10873 + flags = 1 + data = length 3, hash FFFED4E3 + sample 16: + time = 10918 + flags = 1 + data = length 3, hash FFFE9730 + sample 17: + time = 11046 + flags = 1 + data = length 3, hash FFFED80C + sample 18: + time = 13161 + flags = 1 + data = length 3, hash FFFECFEF + sample 19: + time = 13161 + flags = 1 + data = length 3, hash FFFECF7F + sample 20: + time = 13161 + flags = 1 + data = length 3, hash FFFED83E + sample 21: + time = 15276 + flags = 1 + data = length 3, hash FFFED57E + sample 22: + time = 15326 + flags = 1 + data = length 3, hash FFFE9730 + sample 23: + time = 15454 + flags = 1 + data = length 3, hash FFFED80C + sample 24: + time = 17569 + flags = 1 + data = length 3, hash FFFECFEF + sample 25: + time = 17569 + flags = 1 + data = length 3, hash FFFECF7F + sample 26: + time = 17569 + flags = 1 + data = length 3, hash FFFED877 + sample 27: + time = 19686 + flags = 1 + data = length 3, hash FFFED4E3 + sample 28: + time = 19731 + flags = 1 + data = length 3, hash FFFE9730 + sample 29: + time = 19859 + flags = 1 + data = length 3, hash FFFED84A + sample 30: + time = 21976 + flags = 1 + data = length 3, hash FFFECFEF + sample 31: + time = 21976 + flags = 1 + data = length 3, hash FFFECF7F + sample 32: + time = 21976 + flags = 1 + data = length 3, hash FFFED87C + sample 33: + time = 24093 + flags = 1 + data = length 3, hash FFFED57E + sample 34: + time = 24143 + flags = 1 + data = length 3, hash FFFE9730 + sample 35: + time = 24271 + flags = 1 + data = length 3, hash FFFED84A + sample 36: + time = 26388 + flags = 1 + data = length 3, hash FFFECFEF + sample 37: + time = 26388 + flags = 1 + data = length 3, hash FFFECF7F + sample 38: + time = 26388 + flags = 1 + data = length 3, hash FFFED82F + sample 39: + time = 28503 + flags = 1 + data = length 3, hash FFFED3AE + sample 40: + time = 28538 + flags = 1 + data = length 3, hash FFFE9AF1 + sample 41: + time = 28794 + flags = 1 + data = length 3, hash FFFED80C + sample 42: + time = 30909 + flags = 1 + data = length 3, hash FFFECFEF + sample 43: + time = 30909 + flags = 1 + data = length 3, hash FFFECF7F + sample 44: + time = 30909 + flags = 1 + data = length 3, hash FFFED800 + sample 45: + time = 33022 + flags = 1 + data = length 3, hash FFFED57E + sample 46: + time = 33072 + flags = 1 + data = length 3, hash FFFE9730 + sample 47: + time = 33200 + flags = 1 + data = length 3, hash FFFED7CE + sample 48: + time = 35313 + flags = 1 + data = length 3, hash FFFECFEF + sample 49: + time = 35313 + flags = 1 + data = length 3, hash FFFECF7F + sample 50: + time = 35313 + flags = 1 + data = length 3, hash FFFED7FB + sample 51: + time = 37426 + flags = 1 + data = length 3, hash FFFED4E3 + sample 52: + time = 37471 + flags = 1 + data = length 3, hash FFFE9730 + sample 53: + time = 37599 + flags = 1 + data = length 3, hash FFFED7CE + sample 54: + time = 39712 + flags = 1 + data = length 3, hash FFFECFEF + sample 55: + time = 39712 + flags = 1 + data = length 3, hash FFFECF7F + sample 56: + time = 39712 + flags = 1 + data = length 3, hash FFFED7E1 + sample 57: + time = 41824 + flags = 1 + data = length 3, hash FFFED63D + sample 58: + time = 41874 + flags = 1 + data = length 3, hash FFFED73F + sample 59: + time = 41938 + flags = 1 + data = length 3, hash FFFED7AF + sample 60: + time = 44050 + flags = 1 + data = length 3, hash FFFED02F + sample 61: + time = 44050 + flags = 1 + data = length 3, hash FFFED73F + sample 62: + time = 44114 + flags = 1 + data = length 3, hash FFFED7D7 + sample 63: + time = 46226 + flags = 1 + data = length 3, hash FFFED507 + sample 64: + time = 46266 + flags = 1 + data = length 3, hash FFFED73F + sample 65: + time = 46330 + flags = 1 + data = length 3, hash FFFED7AF + sample 66: + time = 48442 + flags = 1 + data = length 3, hash FFFED02F + sample 67: + time = 48442 + flags = 1 + data = length 3, hash FFFED73F + sample 68: + time = 48506 + flags = 1 + data = length 3, hash FFFED79E + sample 69: + time = 50616 + flags = 1 + data = length 3, hash FFFED5A2 + sample 70: + time = 50661 + flags = 1 + data = length 3, hash FFFED73F + sample 71: + time = 50725 + flags = 1 + data = length 3, hash FFFED771 + sample 72: + time = 52835 + flags = 1 + data = length 3, hash FFFED02F + sample 73: + time = 52835 + flags = 1 + data = length 3, hash FFFED73F + sample 74: + time = 52899 + flags = 1 + data = length 3, hash FFFED7A3 + sample 75: + time = 55009 + flags = 1 + data = length 3, hash FFFED63D + sample 76: + time = 55059 + flags = 1 + data = length 3, hash FFFED73F + sample 77: + time = 55123 + flags = 1 + data = length 3, hash FFFED771 + sample 78: + time = 57233 + flags = 1 + data = length 3, hash FFFED02F + sample 79: + time = 57233 + flags = 1 + data = length 3, hash FFFED73F + sample 80: + time = 57297 + flags = 1 + data = length 3, hash FFFED751 + sample 81: + time = 59405 + flags = 1 + data = length 3, hash FFFED313 + sample 82: + time = 59435 + flags = 1 + data = length 3, hash FFFE9AF1 + sample 83: + time = 59691 + flags = 1 + data = length 3, hash FFFED733 + sample 84: + time = 61799 + flags = 1 + data = length 3, hash FFFECFEF + sample 85: + time = 61799 + flags = 1 + data = length 3, hash FFFECFEE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump new file mode 100644 index 00000000000..9bbb94438ce --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump @@ -0,0 +1,355 @@ +seekMap: + isSeekable = false + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=0]] +numberOfTracks = 1 +track 0: + total output bytes = 264 + sample count = 86 + format 0: + sampleMimeType = audio/midi + sample 0: + time = 0 + flags = 1 + data = length 7, hash C95FA520 + sample 1: + time = 0 + flags = 1 + data = length 5, hash 1CF3DA7 + sample 2: + time = 0 + flags = 1 + data = length 3, hash FFFED75B + sample 3: + time = 2108 + flags = 1 + data = length 3, hash FFFED448 + sample 4: + time = 2148 + flags = 1 + data = length 3, hash FFFE9730 + sample 5: + time = 2276 + flags = 1 + data = length 3, hash FFFED733 + sample 6: + time = 4384 + flags = 1 + data = length 3, hash FFFECFEF + sample 7: + time = 4384 + flags = 1 + data = length 3, hash FFFECF7F + sample 8: + time = 4384 + flags = 1 + data = length 3, hash FFFED751 + sample 9: + time = 6492 + flags = 1 + data = length 3, hash FFFED312 + sample 10: + time = 6522 + flags = 1 + data = length 3, hash FFFE9730 + sample 11: + time = 6650 + flags = 1 + data = length 3, hash FFFED733 + sample 12: + time = 8758 + flags = 1 + data = length 3, hash FFFECFEF + sample 13: + time = 8758 + flags = 1 + data = length 3, hash FFFECF7F + sample 14: + time = 8758 + flags = 1 + data = length 3, hash FFFED839 + sample 15: + time = 10873 + flags = 1 + data = length 3, hash FFFED4E3 + sample 16: + time = 10918 + flags = 1 + data = length 3, hash FFFE9730 + sample 17: + time = 11046 + flags = 1 + data = length 3, hash FFFED80C + sample 18: + time = 13161 + flags = 1 + data = length 3, hash FFFECFEF + sample 19: + time = 13161 + flags = 1 + data = length 3, hash FFFECF7F + sample 20: + time = 13161 + flags = 1 + data = length 3, hash FFFED83E + sample 21: + time = 15276 + flags = 1 + data = length 3, hash FFFED57E + sample 22: + time = 15326 + flags = 1 + data = length 3, hash FFFE9730 + sample 23: + time = 15454 + flags = 1 + data = length 3, hash FFFED80C + sample 24: + time = 17569 + flags = 1 + data = length 3, hash FFFECFEF + sample 25: + time = 17569 + flags = 1 + data = length 3, hash FFFECF7F + sample 26: + time = 17569 + flags = 1 + data = length 3, hash FFFED877 + sample 27: + time = 19686 + flags = 1 + data = length 3, hash FFFED4E3 + sample 28: + time = 19731 + flags = 1 + data = length 3, hash FFFE9730 + sample 29: + time = 19859 + flags = 1 + data = length 3, hash FFFED84A + sample 30: + time = 21976 + flags = 1 + data = length 3, hash FFFECFEF + sample 31: + time = 21976 + flags = 1 + data = length 3, hash FFFECF7F + sample 32: + time = 21976 + flags = 1 + data = length 3, hash FFFED87C + sample 33: + time = 24093 + flags = 1 + data = length 3, hash FFFED57E + sample 34: + time = 24143 + flags = 1 + data = length 3, hash FFFE9730 + sample 35: + time = 24271 + flags = 1 + data = length 3, hash FFFED84A + sample 36: + time = 26388 + flags = 1 + data = length 3, hash FFFECFEF + sample 37: + time = 26388 + flags = 1 + data = length 3, hash FFFECF7F + sample 38: + time = 26388 + flags = 1 + data = length 3, hash FFFED82F + sample 39: + time = 28503 + flags = 1 + data = length 3, hash FFFED3AE + sample 40: + time = 28538 + flags = 1 + data = length 3, hash FFFE9AF1 + sample 41: + time = 28794 + flags = 1 + data = length 3, hash FFFED80C + sample 42: + time = 30909 + flags = 1 + data = length 3, hash FFFECFEF + sample 43: + time = 30909 + flags = 1 + data = length 3, hash FFFECF7F + sample 44: + time = 30909 + flags = 1 + data = length 3, hash FFFED800 + sample 45: + time = 33022 + flags = 1 + data = length 3, hash FFFED57E + sample 46: + time = 33072 + flags = 1 + data = length 3, hash FFFE9730 + sample 47: + time = 33200 + flags = 1 + data = length 3, hash FFFED7CE + sample 48: + time = 35313 + flags = 1 + data = length 3, hash FFFECFEF + sample 49: + time = 35313 + flags = 1 + data = length 3, hash FFFECF7F + sample 50: + time = 35313 + flags = 1 + data = length 3, hash FFFED7FB + sample 51: + time = 37426 + flags = 1 + data = length 3, hash FFFED4E3 + sample 52: + time = 37471 + flags = 1 + data = length 3, hash FFFE9730 + sample 53: + time = 37599 + flags = 1 + data = length 3, hash FFFED7CE + sample 54: + time = 39712 + flags = 1 + data = length 3, hash FFFECFEF + sample 55: + time = 39712 + flags = 1 + data = length 3, hash FFFECF7F + sample 56: + time = 39712 + flags = 1 + data = length 3, hash FFFED7E1 + sample 57: + time = 41824 + flags = 1 + data = length 3, hash FFFED63D + sample 58: + time = 41874 + flags = 1 + data = length 3, hash FFFED73F + sample 59: + time = 41938 + flags = 1 + data = length 3, hash FFFED7AF + sample 60: + time = 44050 + flags = 1 + data = length 3, hash FFFED02F + sample 61: + time = 44050 + flags = 1 + data = length 3, hash FFFED73F + sample 62: + time = 44114 + flags = 1 + data = length 3, hash FFFED7D7 + sample 63: + time = 46226 + flags = 1 + data = length 3, hash FFFED507 + sample 64: + time = 46266 + flags = 1 + data = length 3, hash FFFED73F + sample 65: + time = 46330 + flags = 1 + data = length 3, hash FFFED7AF + sample 66: + time = 48442 + flags = 1 + data = length 3, hash FFFED02F + sample 67: + time = 48442 + flags = 1 + data = length 3, hash FFFED73F + sample 68: + time = 48506 + flags = 1 + data = length 3, hash FFFED79E + sample 69: + time = 50616 + flags = 1 + data = length 3, hash FFFED5A2 + sample 70: + time = 50661 + flags = 1 + data = length 3, hash FFFED73F + sample 71: + time = 50725 + flags = 1 + data = length 3, hash FFFED771 + sample 72: + time = 52835 + flags = 1 + data = length 3, hash FFFED02F + sample 73: + time = 52835 + flags = 1 + data = length 3, hash FFFED73F + sample 74: + time = 52899 + flags = 1 + data = length 3, hash FFFED7A3 + sample 75: + time = 55009 + flags = 1 + data = length 3, hash FFFED63D + sample 76: + time = 55059 + flags = 1 + data = length 3, hash FFFED73F + sample 77: + time = 55123 + flags = 1 + data = length 3, hash FFFED771 + sample 78: + time = 57233 + flags = 1 + data = length 3, hash FFFED02F + sample 79: + time = 57233 + flags = 1 + data = length 3, hash FFFED73F + sample 80: + time = 57297 + flags = 1 + data = length 3, hash FFFED751 + sample 81: + time = 59405 + flags = 1 + data = length 3, hash FFFED313 + sample 82: + time = 59435 + flags = 1 + data = length 3, hash FFFE9AF1 + sample 83: + time = 59691 + flags = 1 + data = length 3, hash FFFED733 + sample 84: + time = 61799 + flags = 1 + data = length 3, hash FFFECFEF + sample 85: + time = 61799 + flags = 1 + data = length 3, hash FFFECFEE +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/midi/Twinkle.mid b/libraries/test_data/src/test/assets/media/midi/Twinkle.mid new file mode 100644 index 0000000000000000000000000000000000000000..8c25f4fbaecf0357b2ceac07e82178d35a11684f GIT binary patch literal 162 zcmeYb$w*;fU|<7cMurC8kfLlLtB2u#1Pcq30SCkXNG2eEf{jKakN`2{pbTeSAj26b z;%o$ExPnAnfg-LT5fH;!xe21i5hUUW6mbNp0Wlnm940t00I>#yw$pW(U Date: Wed, 15 Jun 2022 13:14:56 +0000 Subject: [PATCH 018/422] Use FrameProcessorChain#SurfaceProvider for encoder compat transform. This change adds a SurfaceProvider interface which is necessary to allow for texture processors whose output size becomes available asynchronously in follow-ups. VTSP's implementation of this interface wraps the encoder and provides its input surface together with the output frame width, height, and orientation as used for encoder configuration. The FrameProcessorChain converts the output frames to the provided orientation and resolution using a ScaleToFitTransformation and Presentation replacing EncoderCompatibilityTransformation. PiperOrigin-RevId: 455112598 (cherry picked from commit ea7f1ca1e32f19131cec690c6934d82c81a2d6d0) --- .../rotate45_then_scale2w.png | Bin 0 -> 1139704 bytes .../FrameProcessorChainPixelTest.java | 93 +++++-- .../transformer/FrameProcessorChainTest.java | 154 ----------- .../transformer/TransformerEndToEndTest.java | 69 ++++- .../EncoderCompatibilityTransformation.java | 82 ------ .../transformer/FrameProcessorChain.java | 261 ++++++++++-------- .../MatrixTransformationProcessor.java | 12 +- .../media3/transformer/MatrixUtils.java | 21 ++ .../media3/transformer/SurfaceInfo.java | 70 +++++ .../transformer/TransformerVideoRenderer.java | 5 +- .../VideoTranscodingSamplePipeline.java | 233 ++++++++++++---- ...ncoderCompatibilityTransformationTest.java | 80 ------ .../transformer/VideoEncoderWrapperTest.java | 146 ++++++++++ 13 files changed, 702 insertions(+), 524 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/rotate45_then_scale2w.png delete mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java delete mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java delete mode 100644 libraries/transformer/src/test/java/androidx/media3/transformer/EncoderCompatibilityTransformationTest.java create mode 100644 libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/rotate45_then_scale2w.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/rotate45_then_scale2w.png new file mode 100644 index 0000000000000000000000000000000000000000..b68ddf2035ee3dd0ac8a2d73a372c5c8161fe991 GIT binary patch literal 1139704 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

r9Ki{FJ-dIV_hXYN@D@2e8&-z}+$(ztTv!(Q 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 i-9z~;6>{I0gn6}gai9k|5 z%c`kXb%&N8kS+oX3Lr}(2AQ?GzK&H?#0fA8?20L(%2~2=@)e|jwi0_#Uy-7^Cv1sM z$c13qw(eTfjL9M}Iqdsk@5d>bIiKZ{9bZv|;M;Q`v*DzsMRwd-6J#kyKUUva$0-kW z#yHfIQ(Hk|Qrs0iGH1Dbkau@5y=ktmb@HCWW^!-(wy|NOO{yZ9JVHK#gekb-N1MZq zUF&)B{^i;WuE{LANUWhzB{B*6Qlht^ZOj~WVMpkf@4cd+cd;G zxIwj+;Jx)tJ)$uQS_;b;D=fb>d~$I6d~Gq#g1zK^iNn?cN~_z2(qLlpa&!E7w#Y7+ zT10qvgCl>JAb-(tzY=(NM*^s41C76(_y41P{!bvy2}QmK<3)tNvY6h~GE?7h3+E5Y zIW;!A)sskt2&{e;ZZG%%MQ#sWOc{4G(}OZ1-)Tr&0#on6760>e3z_s7uWbhM81i9m z5V~dKVily&@knycNq0;n&tIIRFm~ChBPo|hcrx!a^N5}%cA^@KJp$)NznBG17lx6O zd!mzp51=V=8*qtp;cH}0dDKDuM4|QTUg6`3U**%kR>iy53bQ*rE&-uKva*LEOgPKB z&Lq2>2S_7WZOytP{|C5(`W%8(Rl_Br0iSx_5l@JLd?s0)^=D~WQfGaG08M!9l3BMzDd^@_h6$@Jfp1Bb*io5Px7e}zPB zj)J^J_Nn`yOhrr^ZkwrEJ!JVUtZ&hw=_Xc2gVMI$?Kcy7gkjCFF{DGb%rxVzsI7vf zqyEfg{}ByGFP4I({*WUx6Ajxc60e_hYr@v1+St|#93(xX7hP`oJ2D2u#O6aVYz3h$ z4u~&A9=PENU@v#$aI_uH-|o(K&3Fp*M~0PXl1*{L&F!&VnMJpht&wRyHlPEA@ z?-(H%M5U%!8`jTzqZxksZizx3NP7>G5tFLzna@$AQ+5&){lu8XK>ViEAs||bDj|Ig z9MUKwu}4Nm4wnu~%$y2K68Q@w0^m9KvxhKAOLhGQz%caJ_inJ~dj zv8OdKB*OjJVTa37Mn&U@C=^c7{^Nahg0*S82}E+*{iR@wdaO?oicLQVT7F23^4gg7 znD<@N0$Sn6^YA*HLvX(~-Rr&rsVe(-8FD}n`oZm%DsY&CrDtWnsxwibo_nJS1DPd}AjeR~S8510{em0W0)r7AcDwat%bIDOvkjj+Wy z1V=#LCW$+0-Vih}5;;(w1rgjUR?0qhhgF&xrD${L7NbVIqgwyPn0gZ77+1WitieoV zp9{0=MIyZDTHh$X?y!KAJPo~k_i_7@5HMww7-APdsFCM-Un{8$-fqZY&gOBI*_M1S z&rZYdonbX1VAmrL#Xglm8Yx{-n!amYrjE*VHdFD~jCE_Y znQ^?*yg8!Y(^KO|tA%B_j;qWiR-k%jN^Q9jP;cmT8KoVD!lL77P&?ym! z7G`NNMBm^HCcw@7nV})E8nhmV3Bc}^4_ckYsI7Ko&%WhW$`_P2wDu~{+M|mSaH4Jx zH65~D9gX7HLJ_sZvl%#OkWpf}^X#otK!C>eO#Kl2K@9qLQP=I1Dl(Ud#9gLrbUw!3S-nPPsh+yk_YZ-9dhI>qk03K#$km0MIp$ zoZnw9$X^=+e);x^IW&7dcAWJ_? z>TqpX9r*Q;O29%`e9<;h{gm%ql^*#5yjJ$mqd0ig&ErEtn;F}t3F$T!DkmTcE&dSX zhuU%?X#q@q-iR!6d|zIx>DjmjXq)d;{?~{KFsZTlWx+8zjElrp+8nf6v8LV zp0ZeE-1QS(F?CX~HT@JGo{3{THDU_z9laR)*m!YCe$ams}Fg! zwW18aI%FZ1_m3)4RrU6TM@=L=OwY)$uB!!ss4?@>K*OwE#m&yNA;tE~l>uY>ExG}( z>7IdbeMl>_*WS}N4thUkQ7hPpHq=)AZGVxUH{PT)?9%h{C&>U}qffYdyI}Rl4>~22 z%IL(i#-t=Ync`UZ_x$h!YDTC$3A_w~>12OmGv3L|J&*zmf8Km2)VoRzm)0&1m^z=x zy{4jJ!K{o7+nQPK++S#63*Hd5&mJU9G*%x3mrQk+cX@TeB{J`lkjw z>Wb!-r2)dS)GVwQ4`DFekp@^g6T2Ncp}gIFl(kmdjmKYp6X)&$6yC<77qfNM(!LG)9(`9twhm@Gm2l|iY+ylx6)5cHyiVDXgwx2q0||FYJ@rd zY$V2;gC@-5C6_5HIaU;=w}?;?xzNjOvT}a46%@ym3!C+PTuYL@ed*D_@$1$r@RZ4J zt3+&i32?v1e?QC&qK87e{Q|F_NA<}_Hu@rNZx^i8Xo-bg7Fj%dVP?{eQ5i?L1@Y8s zR{3vnVbS%y)Ccyte5$%XX$yD0{}cPZYI6uzbhvP-wZYNl_#A=1ix|G-|d1Rjy@p8zs@$J4LaussOiOX9N#+H5z74!ZKf(zdr z!0_AZfd_T(*9640Q9yDbFFn-vL)Pt9pCtT{G@(Y+V2C}+Nr)67Li4@We<0()1qBofz4i2?!0uIz&R&!0)dcu8s3W12w zqkf2}b6Uo4KfyJ>S3Z_))d^5r1#W-w&eS-L-p47`G^lAvXWcZV>>>wG$HI$nykNOv;JH2dz_xbN$*fnDjZO2za-e7exV zGWI5vuEJ3=Zg86D@UDr@(w@kwH9Pci;{$x5O6Jm8-++=5iqzt;a=K@n5BUm3`(MHo zcBs1C@{fLI$`5=hC)-xOskD8U*c(ieRtWxp0`xE%#8owKb<1csGyFdeynZFW`}S?A zk!GpUl%JpZw9t1*`X*lv`IDUNc^zNfNJaNjr|SE+{?r+hs#NCmW2&czJ>JWjDL=aJ z`9RQSWaZAqBxY9Gzu+cE5ZruPH_@d08xHhpj&0P^m&xZ0Lpk$q`-<_F5_ zYjTzTG9jQug?(4Y747LtX`(czQh3C|IC0thLqVY9Zqwdss}Wbh%3O`Sj2Vc88Q$?>8MB&{>CEJoKy`X52<7wGeV4XVJqtox$-n-H)2b&|V1ru)UL`(Mq0Q*kCb zmcoC701o#5T4^o8|Feij{^#fy?ROr4U76PQgKkQ;3~8%Sej?MJ==Q12oi)|TJlIzs zXU!=L8HsU0U80VHSGrGd#S7-X^reU;qgZ5aCBm)nH(=n#MB`^yek;KJs1!tA$ETx@ z;o^f|zw)QaRk_WWP1h$SN3I}AX>gM&d1;8_31Og2C>CL0)_Paqqd#eAYD9K-@=yj{ zH?}v%O7a^%lM4YF7pp8xb8nG>YmXJv%lDxeg0~#2N0&?VleSidayP$gqDg?i=8@C4 zpYN7WGm`0!qa3awLmT*;MYbvFS!@3^Yyhfp>E?&d;Xq&3G7xN^P=jZr>6gFywobv& z(5`qeM7ESnRc2JkogC>2Ay^CSj%Q&nw&fHTasef}F0T%V@f^_;)brr0$Pd;aEeRW?H^ra+;dv%lgz*=-Hr5E?~`IsJatybEFM=1h4s zBUu?Q@g@P|^DHCtGlZh6T4Fxh;p-2{KpEhgtvLR>i7`GgD|!@Jg0uB?BD){*xrevj z9$I;n?<|8gA2|_TrEr5-Dymde(MK_bU@D>v_EL#Vjd7c`gRDNe%4dzc7Q~T@C}{J( z*uKDj?*PidLmUllx?YR-ONdLxCqwshx>7*6RV%gfsndm2n9wNK4I$V2N76log%nzN0Kh6nWU-Ui|Ar;V^R{e@`6W2~YQJ7a-=3KVj z6eRvS$}2CUGFv{rDG}r4Tdt?)_3~=mdgSaMNJk#>1aX(yPHvwNPHcZUB^Iu=I87v- zGRY^0*nAxS+HI%%%7o{djVv15**SI3UO&B+I&>h%cV~wt?VsO)KkD!Q2#h? zhXvwFRC+-yL>bd7nr3M!kMBaggsLRP4YsZqG# zy+84{CB^{lpt-`71fDE--L&J-95DF%al*#yyvM1{d3QdPwGV$Tq+?F1PG+r~veK2lE|~6>X~^c(O2c^o*~x z%_Lj9Sk%D0S7=cu?b7DW?ChbqHE80)Ima!#>edz0vGLerbsV}?b_4lPYng!IBI>UkCYkD3lI|m#7y8pkEx~9lzSLO zVzk3&Hpsbf{V~e5@6rxU|BIm2#!WLz^>`Ugr&$sC9U*I9>j;Lwxa)e&IQ`z(o09o+ zV4IF-A_4Brn?>{qR06a_xm~wdSNnKpb^P;`s=z_H?)O(*TQetaTV8y8k)v!TJ8*^Z)7Hr^&ugiMA~qd>kcQW*t0`dC_EgwS3VUD~xRoCg>W(GQhILQuJ96q@(_w?4wUgVIf2ZyS+5S-yq(S2i^8pZrZ zY@L9KL7A{!x5soOIRrL^i>ZBFXU^CUHKqcce`cuzOC+g*61Xa}<4(lcFu+9~hXK|M4#L_#TW6$SFrwn!)J`53?rQ%~9QDb#%tsze*~x|*BbST|px)hq?b5@jSO ze;w_l%bz^kwxx0}7Au@Nn;wEwcT*Ius ze1EW(yP4xpz7xJXd!egaZd~bTQ0v9jPednecQabhPK1Zby4nAgCq@X3w17U!1U+x8 zVYT#$6>?VFB(yhsRP+nzFR@wIC^ zJ$gZd+mE9wwUuH?H$v@wkTA8Al>xgEF58cMXF=F;ys|@hVECbx6P4;o79Ds%eqcZ% zf*?>10}H8vo?cy^23d#c+{>HDVgCLVb{(9NjDwKBn-+rQ;Ot+zcFf!z?BfZocCa#s zu${8nGK+H9yS&r3#4%Vtuif`_dmLlyU{=Lm;2L{OB~;nBiqEBnVi@Wt$`&}1)UmY| zXJcwh9EXhSFMXeTZ^6TErIYF5gJ#Wnw{Yz_+$%6zWWa?_P|i!R7L)ayOT!Plj<>HG zftLLZdMWnR19Jj5J4J4?e*xvOC@+KFw#KEOVCv5u86AeCS4f*vHcXpvPZ1NT3$ky4VP&Y_Os zyKsT_d7nS{cf}N3@F5ahXaib!vlPos8*)<%2iTY-td)EvV)F9!r-?owNVG$lKJbbf zjeajSMDfHtZ<6SP{ky<10DWcxvNV^{Q3up~ZZ=?eEWWX&3#hHx%Vlkf-^?ctd{K=~ z9k_}0X?OId6c8aTWSDH!R!2cGcE<%VmnQ9HLo9CMuh=1CS*z4lLK6gmF!S@11#6nEKFRs8k_+DeBCj|lWzc~60t_y?VD(LDI0 z*GFUgf~wOuF6j(c^&4MAu@fzyF|R=h{!kAFz~-75z$)o^Q0SDN%n>@UPM8ISgYZHw ze{=uK4$%Zgn*DtRa(op$>KVBuH^VLv*C5zH57dd#n8*Xd-2zS-2&br>$Ormd=J8*ad|k6_5rsSG#dy4=P|X8x+YRCZv=XWUixutENWsnoaiw)pF2D z{B~p0$72L^Rut~ac<~a{W+y8Fl|Kj~Aw=PHPf*U>X?X&5iy?=gnJKoDk%@;rF)<4d z)sP8jBt>x1_*@4I{eelJVe^G8*Tp0jo5h;3C&?*Rl*R3(G2-x42C1KEx91 zg41ozdM^VR`@am+<*V+ekUaMx%O)Yc%d0ZUdzJ7>ejc{RDf2znbLk?>fkLQvn>(t$ z?+}C7s;H{iNH=ouFJ}I!4S_97xiN|^n%aFfF3lUjg%jPJS5-SQGp?Ar$a z|C<@CtKKx{yNRW{eXm4m>Y4x50<^0#UexDA{uLGHRj})#ah7dfYvwPUaf*!HEs~j_ z7`a%&=Grnqv7MVM$c|J*WQq=Pw!a~NCCxbHG$z9jI~ih3Ld4J`-s|zI=BKyu3!0a$4UmWS1wU zXmd(RLBpKH&dvp`ZCgS*Dxc^jB6P>1d)=x~6M3xgo4ado;0TsU&$PBZQ3PChxV3e3 zgfpH2^toN(kCE7KYNU#bkF8jV`|-|ptzr*RGH?2y5!Il4d$NKwaXLtGsZGpbvkhY2 z@;ldc}Q@ff1`r-X^7jBJC)Q%hnv zcz=kxY2M>{lT(cvLH$+t3lt%Iw8!jO33eGu=r_ZqC#tKuat>6}M~d&wazT_%nX&Jn zx$RByX>I!FVL64adtbV{H^2_Vuc}!poD#h%Mezvc|C$8Oz}!JBTU?(>1yk3)6B^t- zGV`5mvoG{K7E-^^4oOSfz&0nN8H{p6@H@-a%85(Ap(7r%tvz3~1#@?h+DC!qtB2Tj z62^4cHL0wvlk_GhfQyC_u85Z!ZjQ34*UHyu8hd2hXL$5l&A`drR~fqGaEJDhnWuY^ z-g#N>eUrYJU_OvKor%zEEk<2Znm5>>0>Zz&zUE(tdKvs3h=zJ+)?7X(mM_s*>a-1a zg7884*b)zLr$HWdol4VRjn5kAf4jetdrF8y4b=X*xvr5BV$Z+k0RA#cWr{A=pgsU- z4F`MVWMsMk5aQnrjOH$kWG`Y}a_m~LkzuqUk%5Y}p*^sXQ~Zjtc01&~eP-TrNzxWd zW#Nlm%m?0>GTxp&aM19iC(34mhILRs`?t1%c6Q;A9G)EF4sA<8I%jyiZmXPVOaIai z{Sv`A={hq@j!d|d)|eN` zE_f&lh_*w+-!o89J~||z49qeMlFT@nC4*ug9(j=b2qn*q&%-i za-GCTTU_2#k1yH8Ny_KK!)11U;*jCe^I5_d1i3cbHv5Ko&4@TCDx&%6pr8&3&1K;V zz|pAC)II^fNpS;!XlY|YOP z=E3iOh3FXbjiDu0rA|~D}4c}tCG zzfv9V9IRMEE!W0cZ1tOL{{C)_*l4Mz1W~V?6Kkj^+8j{;HdD~W z%Qf6w_iuy&bxq@#S#&{Wert>uuSj;Q;8_eP+vRC*?R`CIGvvTN>!*{%GkI=(Wy$noGkb*tZ$jc-al`Zifp%6Cy% z2Yv1tn5ok@W?3tg=UMyNyL0m@v3kJ=&(8XM;3w8tkv$bJV$PUPP{4nlfg()10g<|gZsk;`CH@rO{QBXz?WE}Di>SvU*ZtKzoV(R-girF z3TCPTQlz7Ss0KNcMn1 zBomju_JF6VGH7i~4_0D^mDS>h_}f>W4efP$=Icx^-#d$vjdk>DtzJCo3Y$cTADa0L zOB9PAAb3d^VF*&;dvN*+LD&<8y;mQeNV4*!;~nG*;t_R@H_7rR6_RKMxs|a}XeU~^ zeU6YjI&y!0sCVV1BWIq76*VsOUCErk%50?43{a&Ok}4_kU>f3c*-*HV62)XOt`y1N z;X!ZavR1}9fekM@P56 zhq=?`rQH%+L_}f@Un>YJTJM28^{ah8d}bYXbV{TI_uJNneWRl;lWSSf=Isp97(lT5 z)2_Tod6-dyuhG%!P{G6}2#Nn}o)0gA@IwWU-Q#I88$!68of|ot4lfr*4*?rBqMExB zC4|Tj77{6^gz;s^fc)tjRr`)-U7xBlD!hbb5J5P%WeLWlXHeF^;ssX2@uok9$UW{) ziy3+h8CIaGXwb)Q8=WJyA|6vRAxtIbN<6iCWk$apwV)JwW*0>l=n>L8&@CAf`kNGTTf* zM!pTl=2wXgG2gXp|Jdpvm^;4^M9t+lZ0Vq0RnB+V8BKT5lyxmN|J{#j+A@F!N6@TqWJ8lW z3UY`xm9BVF^J>=Ew8rL7GV7vZ0xyl3RtTV1WQH78ElGp26w|eRqjAIo&2g4BE5w{> zBtSHk-t<_Gnb;_*(Yck)-k12QYpFRWZt$Ya^Z4y4ViVHzB`$a;35MV|vs`br@>+qD zZCp>L!33N`TpYfK(3Yi+H(d?rwNcgpnm~iV9Xme|)1%9cpD+3Xag!~YJHwj<0+z~| zG8qr5*^uk5w!STGQ=gGY!mK{B?>S7pLs&fO>E-IHWyyhKiH!kHW~rvN34Beb*)Ex5 ziM82H#l<<%Ds?ZdS6UAF{}7b&?0l&hr&Yn7?9B$k>Fg3^VDkZc#7-^Vm?0e~23GfT(J=M5vNT_@mr2It%kWlmq|B%z3xZ4DO3orXMSxzw8wa z-g%vkEMto@PaAy;0Q4fBXU9GWsYU??NIS`YyBgrPw`}*mH*kBRUds>${AY>P79xh$ z*I&bKD~+}wKkd})NR|^+l<=Cxs}WF8H1-Mix0_7ELE<&MWMfsoo%o96c7ABWbkCWW z>vwp;*s2SE7S!O_qVg!dh^aS+f1&^&Tg5>x=(niuS6YF*-utW3_S>xczYFr0A@VnC zOV{Z8SwNLotXuKp|M(&?wl4bw?t$5qiS!>!fW zXyKNb%(~8FoS2DO*LXJ^A$p-qwoff~v4T4W*tYe0AH_#9?A+25HTvKO$QB7UUXC|* zgfOD{9OhZre}ah?T$>&VV=3xeIJJ4c4}E-v!l)8sXyv&XZ|<0|h^@&8%ZEL-&;fzn z`yCRdd460!5ZkMI4DKm77U&;2E#u_`&W^rRzQ zcCX7xcG#{+yHveUm={MR(3ZsDUkwR`5~!D5AN2G5IgfrVhg@JMnS+oO@{zj>yYo zo1hMth$BGE(JDtzZ`ONSV(hwo3_bJQ8*c`{*ZTNdg^Gs!Rq22Yke3?9{8{Tc7d9&b zy-gU7M7nrFm4AWUggUo=f}L7?aR59MLF3t~R)4O0Z+5^!H+SlNZIB(|2omXfpGR_Z zc;_$Ma!>Zhwumb_$gR~>2C-FKURBCtU`Il0~x5KXk7z*C~KoWknB76m6iiFYD${ikg?-nJTLzmY7 zF7+8ZZ^3qwwX;79idf2bE0A32VgOQ@y5oW)qqNFQ<>iFcP(Q{%OvI=wMUTXmKs%Mc zsX&>}qe0}5#2?=Eb`Ep##l9ar->5!ZEyJ(4%G~cWK^HfEE0=>w(@UH*-kEcIVj~p` z0uukJ^%4j{DnWtd|CIUf#0T*>q~3T{KfS^TwV&AE;+NLqX)7luSioAQWaDSh z-@Qd${Exr`pKo!+tY|yNw+OuTXu0`0)aZH2b9OF}Lr;_w-2tycUAhNP05@xo=v+Q4 zP-!u~;jip+K;wvyzI+gko-h9NK%>bcibt26eb5cW?Px}4yL~AmC)aUwBwU!l4U7t@ z#q}FhL?7Ojs&ZM&r&cjhkLf5;;A==acfFH+xZQ?a|1y3(eiwYkdm_tu09ppRbX-E? zKpWY^P-166qfvTjX0BLq;UZ{RIUEN{b7mSmFmw>9RcNrVC%xOZiUc&ObwtOj+rMwK zPUM6h^g{-JG+ZJC+GBiz-$az(-u^j)`QN1>l+CwmL2&y={ByFey(Ixj09$v z>{>)y9QNs6loxO~a*!)ZK2t8OHV9||bnN}%7hhdjur!Vr1$N^$lp1gI;}>gq&QVQ{ zKFTw2d9^)}T1_p}fvdBAV|>>Ot+hU1{B5WGB3GaHYx>Yd(Ub5|wWa%&=D@4=+qA%Y z!Ta|1yR`dFg3*?u2w&v?xw>Yt`lI(6+HdEUZubw`Zl_G|-RC6J#AO(+3Zjo1AcvQ{ zG$`~+$fI7z7dI;H4y@e-RbLLYm(66}CTdY-N3%~3T0E&(i~f!SaXN_71Lo_Uc!lmRU>G*m8cd7s6PW8`79-e&1Wslu0Lw($+dP#` z`#OfD8TF)RkPe@H6-&ABtS=}avDr%g)58zs19J7T-t#)^1U!lM^-Z z;AfZVdLM9h4hE11z-@}hyP zZYM``S_m&ds?k2_z3-|Mx_{auEdrvv?l1Fb83ZX`tDsrInJE%&{bP>aTHlX*cH%&b z6U58pEpjt?R_SCKU;8Vcsz#}MmL@F|DaXDu(|&-kTEzP1sC(yhm(A@N2D}B(N?Q7G}2Rh+marje}w; zZOa6!ZzyTp%3z4w7x2WY4d2%%v_y_rQDS2+6&%3d9^=E(6(@bR->-ZYo>H5&TcWyE zrP97*qiuxmdQ*;eu+hQZ4QOq7x6ucie^b6VcKDe70WRZ(nO!Jf7xqmo>V>ZYlaCvV z&u`Cn(d?9CMY48A->(wONAaxrm~~%3-6tC7*$J^~$&8@URUr~}m`jU}X|dG+I_E7p zZ9#VaVGAw_gR_LzV`1jz6NXJeRWWU;(c`2N{F36%;$mS_0oRRV{A7VW*eEq2jxtw) z5Pg*H*G^wbF-Yu#Vm{qpj|(T>4^xWrc>r(;E9VyEztv0y@IIe*YQuOuA8NqP>`Th@ zBLtFT9-p&>aiM*96wb7qKq7w(Y6}vg?wG0*S6G)3gLz2C8GQSr@3VJ0GOOUcsZ#x8Ge|H%_?QsX#?`iyKQEd!D$!JU zwD1@-oJoQ}2F%waCP(N1d-lzWfU+q_>=Te=_s!gS8W;|7{mpt8e|2pCdj03B%%EUg z7L_&r?v93pwymRSrOT2H)iFRVJe+5lYIm5%X0t`2 zTb*hB()|r{%4wkGI=FZ#R#I43m31Yi4{`HwI?ht z?tN9&4Ttu@pgYUsHa6JV{nZ zGNSTb2WPY*L&H|e?P|Ra?y);69`|g@F=IPCs(zL8UE@|q;brV!d*$!Y?UTlF_@(Ks ze3fW^t6-!Zc~!t)AALHLH=^(6U-itA5hm)Ax@!dKawVd71$G>HR0uL-!1E7gI2x0iV#asOxQ)gEeR z`sSqCTz(;+sm1Qbu{Xi;Cj7kZHvE35by0cA7}2(v8vS2;(dfrTpUsSeo2mBz-la_^ z#E}5u;QT=!lXv_1vmq4Irl8V?#6B^8MnR&4!sNnV`jzWTI8UPndUrIE(Zg#`mNCZp z50aEvHl{nv(J_tg}CiO#&mpQ@fK}Y>)(UrN{dYm@dEdDk!vpK&3K+GHWagzek z$$Q!uyN$bws_8Fc#n64k!?h_d;C(FcO)Tz%<^&lZJq25F@uadv2|H`yJX#ETtA7x1 zBl>NBtL;Vcjd{kLvMx48Rqn+AHh z#d>qHkhL5xe*xYP^k%Xx`X|*8_F!)7ar@W{%B2Uz*BQpu!$e+>8%ld9S@G96Zr|(%8f{#36oR^*PsAmiWTcvL$_#qd+IR)=`dlb)fB3)#$d{? z$te%RkdE@ycAuZ+Z&U`=jmO=c>`lT1*<1*@1Yr;SxCWJpnw%V}Auk8!fzQoUDqM zASXF{)pM*mE${TIU`V? zovCEj7ziQk`TDUMD77FU-@8@wnmS5FNJ&9C+nzAB7bQmYX+$HZhjp9}^sC-KF+=856&9z|4$y z?V$RCWC9xQFBi0#&E91$M`+!ECvfyB#L{x3+cr{ZyFSQWZCznwWT5AD#a2?@$FA$Y z!W?Pkf8dUa!b{t5n#FLpKx`0T82?#BRgiVOofo<8?x4^py{!wLn#CLs>&i((;>39s0CNtY z@U-&sq6%37*}TZ*)7ahJU0q%V$;dS8YUC92q-$|V%B3xzoX{H@Hv5<>;sW5WV!#a9 z)Cm;g;$l6Akd5NrcWo#@yy`CA14Kj(A5Cxdp0n?awpK9~ed-K;nvY0?=-d7If>dDp z=!9!^Rn70t-*WFJmp&8%{W?RqJaI>R`aa;7L6(o)bJ-C`@Uke2V@ed|kYDwCm=VTu zUY1iS&bwK8g%79Mi4TH(meJRAWEFaO*I#vW%*e81o)2L%?Uf+x0yl;}_eZbRoptcZ zgDbLjb9Lnh(DRL-wIia^Mvk~N1fyKidM`JhrpX>U4$3nuNjx{vd8cfSXtTmm%X0p9 zzP#6kby>tjJ0oNoLzl&>=fgG)!~Ho*jkw{yz9M9tDwt#CVb|lb3Gxj+EwxDe$MNy> z?46-Ork}Tw0f0nE2v|d6F-`*7=xTrm>$5^3KMn?6buPxcbGO1UlqM?;mtJ8_uvwe z0MlQ-XQ5ug0+CwiP{chW0F22HsV9o97`$Xxz} zS030@yJ}N7yEZim%TiT%B+1*N@EMDV1LXc6TM;Zqr?lv3&)R5OJgAEOLi$*t`yVdM^llDI-b1&Klh2DsS;1_dJijz`uq1{T^!52% zulsrK_c;#W3*VT7bML**wSJ3KAWx;=diTep{(^<33JW5_PcgNu98^8Vh4lN@a!Qf= zrhIz?l^=-**ud5)&4iJv_W?rX+{!{P;A^q$@PgmyTmdeZ{?Yx1zP`X)vnzT@CrfN` zC7kI%m5dN>AjWU2doKnjLXchk4im0*yS3-z z8w53X@r|g7qNbU(sngu)4BVEg={ll$Xwwyixn&z(OMXY^^~hqeysfZeY~~~*6DKjT za9~vx2>Q(WSc?sLQ?^OEOks}ozdlsiVv75@9UhM}r8Qvszg~cg3t&m1&d=t&tZ^n= zhQgj)_l~(wT$1dqFMRaDyYSkS$~kx5JSGD{MopeOT6gG<%HGl(q1v3%Y6r3xbN&Tf zq_0D}h(X}$T-1Bbs&*}`QTTg{+Y_nE=vTqBqwZ<}y7JbK?V zEtS%Iwlt#rO`VVCPR&apx+kGJS6PSiK)!Y5rUVut?+17(+$kfC0L=-Ii}?8X{^LeL zrTT%H46G?PY0`%1UcA5o`TF^J?#+|7KzBhX%tLm3fb7RRB{0fMt6T9%m_g_Hi+3t^ zs>+o;fh1o9^Yr;-0s|A$ro8|ACH*3v4MB-ysThB{*Yd~oD>%`9IMMfK^gZjH*N})` zT9!&!-B-9z56yrGzRl+$F7N_QzsYbW!rKD(f~CvWq>Jy>)q+^9Y3+9ww%JD*^;k2iZS)7QRBj=D1zdZVn* z{in$p=O4Sd>HuJYHfIaSWWef2Ozgi9nV7f@L!%F~oD~HNykT0iY65jW3mZ9*s6n*# zn5(UeS_{DFY@6KNh2BNOjtfKX?k-AJ_5f9- zolwz;k?57iVl8PYSy18hTHkp5C{*e&MgD!OrzMI4J6|1@Mf`skyP-JtsNPFL;DLw>XAi$vjE5W76DJW{z zho>1l_aaT|%%v_a!mloJ!8eR|o1%Aw4Vi%IYJ_JL7Oxx3~$KZfa#5$)dkA`3JI2lsO?kEOUe^yhlao2yvZoD$bUIw(Gpi zb6RJbO_*$dFD7efe*ObtCd+>I*NH@cISMZIBD^ei({+pEv1n@pY;aZi$PGzeD&Bgc z3+f~;`*==z zSW`X)+Zb8dUV?%kXfMKJm)CmG|4tylzRrH3(u{eqW`1{KaQ1^Q_IYb*KLUYuX8hP%Tlg==ufT~vrOZE@H_x&q!-5M#Dy1eJ1$<%d1|pet|7E>Cjl zg4Wn=H$_D57$hD&w%9kFEA6?NgLXcz!F>x(Hdb!r4>GxdRu^;j@)r`7_5miC{o8BS z#h`Pm|Gx9Utg4B4rN^bt39QV$&IkybhF`=!GHLui(Ee^w+aBXGmZ@+U8&P$V<&_Uv zp&N`GBAeGeWD2hUu7l^i!Oyx*cOyJ6FhGByR6r*;SWAlindsW!v6)3yYr^E;d({n! zaM8oOE=q~9(J9Z6*PTa!&%SFu)#Sq*T|R6~<1+kr@H+t~+1Pd4{`)4@>GZiaqRhB` z?61IfGo6wo|15}{2U6m@iXP;=V;*)G#)K)E8AA1CXUP_t0!tMNGl9owDAMn_Qq!SU z=cmZ3ol0$}MZkdqMugt_A?GB==9$UE(u3JL<$ zSTH8weI;I-)i;{d#CKi#{_PvOZ`K)1kKBfR34R-BwR~F%6>}s9oIJkLc23l1)OOZ( znmcmrV9c{)Vk*dwIuPVu<)?rD;1lWxFNL%IEFP%gsNM|DLRV-GP$RLPOQMw|g)PQ( zTldy-U36rvQn<`snq8dk8h5yAk4ZC}rfDlJW`27&JAaKjkSe7;>-VXSjKBJ&(J6Q} zCGza-27hRjzf=^5#C-R;h^?i+DD2f79)F4!@-_;SZ zoeyw;p7CY>;+-LF7k~L(1bM=5Nwf)xO7}&~iz&v=HjPKyn^{`dm|qQCU01t!S+vr{ zPbq|m52Y(;vwnJKkZJIoCLzA;c1_z}HSFXA#@BYEAOO&unUGo7uS3h=-%a-OQ zl6)IWSofSYf+-6oi<8c&G&EwR}=mC406 zsHK#DKe%U*2m4GKzGihzU}3Hw5JE^bnk=Gz##2I6RCnaatna9`LcBrS!yNujgw_DB zK*>l06GV}%qj=&OX@WmTM@%BKZt_(Wt8P$~fi_Y0S`9TWKeA3~iq@B&_>2t{yw*G5 zXdx8*Y*L=W-{*h{4iT_@%B}RgpyH;+XRP-g{uq>I^Te;QBtkom%K=nkcLI7;BSsV^C;f{M>aESecGi|-(7}MbFcZwdrf<{ViK?^1ivPC5<4}Dl1QY%Oa%W1nw!JE|O z(WPAmihO&#!Scx;tp_o*cty2p>uLm@s(X>XdT2FqQ7C>0$tf$dx6$xIVMlzD4>^JE z{kf3&G|&8UFn6hPQa0kSNuj@fttIqd?@t>}#3mYb(<-{out%0mU!k9bpBvve*`G%FK`(#(|tHCyMI_ z1Jpy4wqg`$@oi7UjOl=kJ~03VXU(n1BVz7HR&_p!$mrFhC7Y|ZU%s$ZyvNZVt<*md zFA{w^xq4i3>!fj@Xe=1H3ys49;>Kc25*na@3?wqQcpjTs2A|Q_tOQa^7r+RPZ(N`% zA5M$MXdi%j#cW$G*ETR56hMyw79)OHGq{VPhP3!m#!neHYFOB`)hLl`I4~0WbPybx z)jlOd@(HnB)L1={Zw1T>bjuYypCVtwX3749)B(*PHfM`BK3+CYD+qt{<9^Qu3E~ZZ z!#ngud=wwY^OV~!0F8Uf)h~)#1)m;nf!bX=h2f&rg9zI|9~qRY3(7JK~+o%{>T zTY2Zt_H(un)T1ymqyFZ0(|2S+zN$jCH9)Ta>Pvz1vWhtLWv9M8TtCMC?qi+{`r2I4 zr~oVpr*!Qw`&?n(`KioeD#-A{XJu{UhZrF{IKZOIcaN#_@Nd<{UqD5dzU@{*3fWxJ zls?BS{+*)U`A#u%{D?&f(pN$RUR@(X0KMQ`0K#GoNX-o}0%{Q|$El!ON3y@Nfc$O~F5gh>~p;Fy~j*06E;ge)~`WCGXaxy7GSKifzD|zbuc> zhCl$vF5$*QQ_{^!5A~ibD3bU`bRA(EKIZ*bFHOo?g2P?vz(qFX;BjnjJ-c*!`y|j0 z*1t;xDojcm=KQ#``)BwRYP%qC|u2u3_ng%6%DTkDf_2g(qAEovQ7aU+Z>l z|M7)cCW(H4WfzUCl)PMq!ZL_avg7mi1276MnV_(Owz_n&g;(20`tUkJ>qeO@MC z6Y`Q65&egb+jTb^11n`*g*Mwf?{V_wNZZkGkLuggNW94&30yPIZY1ZWm5U0FsxmpR zYnJW>2J0);AoWO%dygrS8TQn)C~+bj{Os~7kRGnhM<(Ai%N0eC`)|hbn$vJ>ov-;u zSmV0h1fLqFoUhtkjEB|IJ{-vcZ@=i6D96-63PB)p?DaI|^5wD8MKA39`~S>Ws1UE8 z&zrZ9H-!H?Rp%#?La2As4v~I;e6&JoVgf#xrH!V!&AEU&1;s>%r0a(6E88+x^Vz#_ zVFEe1xW~khtj3hVjU0_}YOglQRuUQ(?b+j6U$x?gsm?7ttW=r0+-4sY`T4;THn#T> z*RTr%QV+}*9FOpvhZoH?Fuwwc83rws=GDu8^B-i&`Q2+>UM60zq22PUoxcxbNdDc9 zY59whk-I2otC2b6SX(9}qt2q92JWsYFPNVHjy09Kxa~n|L znsNwkTjAjDjXA5Vli;s zbf7vl6AWP_t59v;Srx+?FPHHgbxIu6XZ81YyxWpi-E z|FDeS4Mzq2UYYdl-O>~I=s($tK7Ie;L0^v~p_+$7+B+d)q%#iJ8;Y_*yV(}*ruVPi z7%R@aPj?}py6)$n#2NI1lx4>O;`Dwz-%@0lw54@F1hx`vb?=&TepZy@>-8Kv-!vFuBC)0@1B7h(rO zDB^1J0XsN7SK~Ki+r$IC##FXBr{ku9x0T$_r;0o^=kIYW{#HJfZM!r|9+*)Kb&GW( z#}Q|GirRX>kvBp}o=r_iSoI>>^Y>00Ma5u6i{Bkbjb%`bQ=t+vevpqbQ)sdM6xZ>} zWI}iQj7(8QvjYa1F@8)j;Hkdy{$h1s@p?n)R)nqn4nn`pFs|lK?i3iY`!d@O-}cI5 zo9tYOX!X&63?-D6u$rT^r(sOV27{C)_u{o6$_m-N`a+lC=c2QJTiV}02wE+9Tylas zkpR)Jzt_iq{uMV`5he$MJOq0OJa^9ER^rA?UHeN0mA~1xaB?~w6QbpbRR9aD_wvX4t{yiXrwF-%}YX_ zfgop@&1#Kp4>uc%70Ove@eX&j+xVx*+5ECZn`9GfZOhfz{zRc~s_VeynZrq(%vaP==_K3R+cJuZ{kyvYYzh~kS$E69<1r<~c0mw@bYW}k%^&=m>0sf} zvBRBW<&|m=U$3x+hDVmd^uT8m$by5cIevjsxJSxwcMj>PcEN8vW#qp{^%0~3^VWaX zekx@QN<;>7h77Y^7@40h-Z6T(Z-5~5ezb7JdNj&gBzr1wlN1EGK#7DCLHZRA%dUvN zpU_z=eV#gU{dD&EHm5D0Xup~~Q}MKIl3Tq7R?dKaptt#=&1OV~s?xGLLg(0w`GdV! zj=Ii`%!CuVKIDqugHX`wR@Wv}oQ(3ej0PRftTF2h{ zGJsW9%psJWZjeR;w3DnE{ferluRYLk zH4|6DU*>%0IwjgnFUg+$_8FN!8J)DNZ;%$F!WcnM6 zJ8c6c@tRJuq9y786u#Fue5X!EsdtU*-t;r^4qv=q(^bxA=Mxw2*8x-M^n2E4W21HE z@5KgIfqUQb%>-~!T>fvgh@W&2I5UzzIuQ#z+0)hBA_NtFJGXMjfqw3;X0X1-2OM?h z{|<=jQ2UA9gCwgcQl^KsSQ!zJ^iF`KYj**R1=M*6*>qv;dO(%LAiu^;*niPEcMt4& z*>pX;%NaD=@zPY2)HsRrAg5r&E7` z_c>Z99bq%u#5Y}nX-fUA)3<$jbm$v@?72zhyZ#C1VlwbkrgY%YNIq}cwB^|{U9Ta$ z1^i_b&rPxWxU$UR&z(Ao^Vb;2h+lcWBbmVCbmx*SSg8n1NM=RULsLQ+8 zX{!aJ#*|Q_NLs1(4?XbOb6F+B*f#-PP1Xu*noTz_k)}4H&bMSim8S^xe;3bF!(MJK z(x?A2VUC?~h$T8yy;a%MIaceqtNji$8iuQ+@6TV}lT7_g?KK8P56!B1vX0DQyks`H zm!xeT-XRJmeK}jzP`piee?lD4ktbX3_&4%vYitD%ZX28is9rvhdA0m+PNBC z%l@d`!bYObU%Q)e z=lQ(zc$|W9h635l{t?w~7p*|Y;J4s@*Rk4I)dpyu(NFvLmi*mnq#obM-x-;i*&*1T$x0j+@elBN5=!+$;rgO^psYVh3L|Aw$THH)+-{sSY0;ZQM(}e^ zSN^jPLOst$rIMB}T`*)Oa`U{D(Qw~SE3rEXg4#$=e`ctZG*gn|$`m2G{A6c<=Gm?+ zt|Puic=16!kO%uS!9JY1V0ASozLiH6d{8XYvMp3t;gXGhzP-ky13|j zp!bD=?H6MFbn(x%BFj%IgMPLNskW{}UP@@GnCb+3&Vw^Sk}oH3zCfx+1)qd#32Hs8 zbxpnzIT{SN>s7O3FXMI2w9|%MkP-wC7}@> z*MSPiw7qBTaS#4jIPXS9o;0ys!Bk*WopPCmKwx_O9NiGIxc1@OtNnUY;hYI&P6WJ~hvduly)eml)t09)qC4 zi{F|Re*@8im2}!U-+na62(jYVcr4CJJLl%j6f3$YjjhKpR=rIn3T9jnz8Zul$k@16>KAcNpctWA_jpD6Y z8P3H-;LKMAd(ERGDpPZq;!>iaKRyon;=fHYJUThZKgzKq|2;+7;A)d33=7Lu3O}g_a`WjqeB^&LD{A{uI?;jb04bnF;LH*Jy zy7-_tk4R-&m*YkJYR174`cPj!5fxK&02B(t{Z@h*&iC7+!@r+au&i~~NBw}GOS_L4kD5DbQ zAmL0>1<2nUO{-vcM3_zWzll~L<_N41d&N|VFBw(Z99S&6C_&X_kp!4X#Ooe89_y|O z@0ZJLmXyqAU<;PwD-Oj&tkhA@fKtNpMBDfnrE5}=A|V{~+x}7}u2=E!4=Ozx2!~l^ z{dvzFe67B!7}Nv;Q&5o+MWoLVST4N2n`X{*cuoK~&nTy+f(?%pR-87jKJD@E9>n&@ z>%4a9ZYY3QO0?Gw;x%oBiV|E{(j%LjEWboB41wQxaZXeOVf}%>N{;%=+hoySB^ZS# zC-KBPcymzjE)IT#*35Y)bH8G=uQMl81+E5hf}0{&Lg*yYtF_1ek4mNS<9)_u-$~Qe zg12IYdY-|sq??WhfV~?4;GJ!G1N<&f$xYGdTt~GL2@Rnt0$vYZxJOQ0$sx(ES>A=Y zdU0=eBhwzFWUa>eVC(U;)k|2`Ztvu2QdV@$0QNHc=uz&V@wjyc&^dz@K0iNw4mz|7 z3%N0|zPqfwJBD2@0VN30urs0=wUw^H3U}nS>IB7)=KrG=|Ihf1a$D)VvA8>J?mW#0 znmfSn1ZO4&305r_#@q~k(u%Y-oV13Kz6aU-U3;CT3ST)+=)_8-gUJ0#-vvG=5O^w$ zqXZn1vi;Dw-`>_D+BMz;3s%u^YZVvM*P3R7tg%j194wPh-(1i*1jwo}hS(e<2kB7q zmn<}9_x23Kf}4T;LF;LZ6C60eZZm|O7wB`8BZzAf8}SFI9aiiDLZZ@o9Tcut|HB85 zqu`zBdebi+fnHH1Ks4Rs4rjmpm@SC{A$Afjsm>TqO;eIQZY`_+nRyK~%PIa08B|Xa z#hJov-{9hQ5zO>Hhv`}BJnr^*j445o8HCf80ZBKqFhGhmhm%9|2ijXQ+3`s4x%>6i zXI!<0irgH@9Of|ECaB1`W>06KEd(V$!IL8NwnK-nV;Q;KO*`(LNAJn=(zN!lHrOj3 zY8~AF32DY^De(Nj`(G~r{Pek0H8ByH_wq!Hl0bz1Ec0J`$KK!U0WD%LHVDg0uT#Pl z;D_Fn(3(ByfM?)t@Eg{xDLdmhf|Gj#;2Wt%V+l&aQF}b`!ZzHPFUbWPr`-?@(_EPI z2$TjfRCi5|TPHy{{O7Lp@v;!xDXGI8mDj3?0DgpcGL={l)4ld+NVQ7GN(_kc#AM)G zXehqrHK^!#Iusdy_Epedrbw{v8Q6+)8zuXotLGQ#%(%+nePFSip8Qa+M3bx}WKXxt|zWadY#D zJi@5u^!nKU=2U+kZ-w42QRQDK0^Yiht-wbP);<%f+g11yKDok2xmvOw=gR72u{nje zN{X$k;;{9{jh;7f$4EZzLZF9Hfw{H(%OcK7EKMu(A=DS8*w5-O*iAFt+LNjV&iC?$ z2P98ZO3_y@dKeCz-UJFLg(4aitz>`H-9-GS7;>r6y!h*fcNgLlgx5Y+XRH+ZEOE$1T?R9Yntih!q*q-mkL z9TLB?w|z5oW3|^zu&`=-KSa-VA-MNo=KI;(ET-YDU1caZgQ$~Tb4nbakv3>$ft%=u zS|I4q(3}aCjd#J>X{UI2&-eLj{8ifF5JvnIsDbf0rV0AxF4gI5`G^_}k?->#woZ(SF#8rg`1R6Cv4w zG-gU#BNqA6P_+unGI?ypQW7}ROZKVP(1-#4cY^-nfUh%b0|?I+DRDUHao)BcqaS-x zD4WJfZ_MUb@4+>5WStQSWqQvtG|t83%;O!5^6Dxm`&YU1!VKHs!m}@AGlbfL{D0=$ z<9-5c(aLH+KaMYFMs;W0V&5{H60=={@cL)-%IT#H*lj(biW-{y41Y; zSJmte!z)s3Uub(y-&x24M+iu$8}QSv>~{L0p(BBHiPwF9bL2KpvuB(x2Lm;R_v}E$ zR#z!@IX39MY#h$7*Upc4)}8FHZVjJ@)_W|*8?MT4^w+*=%P}AMBgu1wVsNHqe&>jt z`2H-#^?pTt56?2_(P%I%p*KdstAm}zu3M+ip9CY*^^d8aw%C%lvXVRwnO#WZZs+o@ zmSmTj;MB+O1j}yZh7b!RC?U%JPZDH&$v{Pwy?0U9yf*i)r6#)`71>^#B&~f9f06hc^YHBh@<23C43^ZmU&m6fAX}P2FJAfc3F!vs2 z3RP?{jDHO+=iT&F3ALA|JSPwAG< znB`XTLVc|!dPL%qjbQ_efV^61Og{nmiU0Wej#KxT%JNdOnP>A^Bo5))#b3H#Pksab zNer}c10$rk5*`#c5tJqxsSZ78OqP*V=+O_kpdZy2J=CdP89;Yko_nIpOzicELh^3b zslg&BnU5CLhpRW|m>J3tco48qSifc|M~fTMZ&ZKh8L&gPdKNI`M_U%-N7?n+*CRip z#}QoY_|N45ox=Tv!l521+HU>xiOxy|k3eK~#s_`hlL{5W)#J3=3OZyKojh(TPnSLs zpnYP@kdYWD+Lbj6?{6}Ox}tD7T2e)PY5x8jY(SxB&+qZ;kN^<)m*?rFx=-Y|=T(ER zFof^6M4gj)$y;eh%%^1ELWmaUzpjQNhLxctI0vDKd1U5Nn1Gs9Kl)Oy>N6Ez zEm5a8m*u-surQw~^lk#@!v5>@*x86=Yp2~JU**;f&5KwMEw5v?#eME2H^UH%oyz8b zPQ!hAtj+_8n9iN;+QK-Z&c}(9w{4aMaz&yAgM}oyk+|*_k~aI$r4OdRj2zs`hI+=(S_Zz-f+@(Z_b%Yf{HP(acaBdVhJ^F}B0Z zL;a|?T6+dU(kASxuQUnM*6WD*UuoPLwb4-Y;e2bQ9Su(@QY^g3{Dkc#yP#-5oc>4_ z9y7@%4QHGUi|B-;J^ODdaXq#lJHbBW-Fwp;yHldSC~?9z3m9{zuI<3X}Whr0>!uns_VlULjJciB4oWW@&}#KMCbdcLyQ9p zIDhruHA_`UL}*y3y!qq<5fKB?GuAB_uYU@OEyVF~s-7c_*TVg^=!0}!8RM`V*aw|?6#?)q z8iApBt86ZOFD~kBEtx-0qlD!kS-_h_QR0Ot7GgGl8Fr_{3+de92*~Xs{!VX0b zo@P)ru|k=Lx!VtR_oZyMv9=SBv$nEEyD%1VB(m`@)~>Y3NwTc&UWVcmut$s2^$rQt zg;3(Dv8e|Ltx@Ijn$11{DqidKh?6Fq8B7nZ{j=$0FQ(&%?Va`F)NA#y({ef>A+**AXf?{WTc`7-wa zbsKcBw*HSrZKZ@7mxS;w@YrSptTw?b-=$_56IGN>0E5{0d&NsbHU7vU*C+;Se~j_p zP=pEoX^M?5$mXfkmvC*{L>emi*Sl9B=vn}aO)nmnWb^EW$$Eo7;&72}vT7@B!p8s%D(m;tW?7#$ee++W2Fpx6yknrmp z@%#f7L4v7s8HhsP()mj7_k;HE!rPMy|AUV6!<`APygU|%wJkn9FMVdpyaqHL8cWf` zw)c6*-vqB~hGF@USar|^gjZ3aagk!T?E}d5-2#xe40tCYM)8yZ1ij<}9b)_-;IoDx z#c%qa(6owI^9UvfVOU8LJQ{Gra0A&)Syxdy1zDk|fBLMe)P*!70{bHM;#{qot5j&KVfOtLdQ;2=!>bY zP|EKQMbT?dioyMjtxGer$7z%0Xa18RtP}&4J6s8i22;O7|492zD3F)|ycZHG3xbW>wv)vC5tPz94T?O~ zqd$n}xpbtQh`Y8kCqt+-mA5pSUNWGBN`BWq`HjF2+fN5Ud-N8~g5KfnIG8!11p``d z>$PsnU0-OZH95HdLzF{CZ;y!FZ?IjLv#|E#ald<)5sh^Jdyxk2)P;gH?(LWXX&6wW z+Y37z*sBfU3NjOeX6mxOSKGTh&qdWf`VkfRo?MLHKBKEUu1CCAKC-s^Zt}#K-8vtk zhd~_?P(I#Fd}{5M)|l}rV*8xTd95%S8u6VW(g#?w_Go-f2g()?m1C7C=8vxpzsJb1 zG^IUV&%pX(1D;s_41&I@0oB6X6rKsN>{2I;bp8%Yx^*Cn2#Z$ktJCCZ2^v~I3X|>p z*qu$!a^0FRbq+1}_lAWnttAgf=h}|UxL&cy>3k(bh z7BCq27|SyC2f+Q3obRvnenyKG9;{s^=K618x9ef2Odp2maN+ww?S9*e*GjO{*$WH; z7N&_{D?SMPx$V6(0hr^+ocNq%loSU66Oh|18@i;Kj7$?SYok=_vS12KMZ%a#5gEKty9+vAz{SRbDxygi*p+CiHNl@r%oRFJ) z{1NVAN>(h{>z7Y{fl?Ng8OUfum2ks!>=b7v#2aUjv?K40-#*HG7O;%lq6q{?IJ}=>+TQ^&l!Q&Zy;~dP^GdXXwucova?$v{_mU@7fstxF z@D46*uJxdns3*2nt1JG;VN`6-;IWFtEaz`Nbr6r&H#Ld-;VNx4S`F0^=TlWCrL`6B z$Q3P&jcON+<`FG+%Lwn@0Yn<<84Pzk`3uNr9XrUpHThTS+TWAJ9T6EhW)Tgo%>DvS zc{MrEQsUAi?MmqYjrd@YXfr~sX6+_{rT!of4{s#Gkk8b)gfTo@8JzUu+p|rOY!uqc z8909-*i|g~&?fq=5+t|0+h^WhD&HPbD4|?v;lxD#D2Z{YzAMpaZY9@2D%VcpO}=MG z)8Ij>rV8rFXeNj<;uPx2Ui5(;_=G>_;~K4Pc{d;G*kDPluX`9gZnnsOo}Ga*!Y zU85`tAI#XiyO|G^g`WJ!eCBHj+O}d*fW~b06X1g?B{yVx$nXX{k>lsUddzC}JC}D8 z9)Yv)6&s=QqnryapRSAfs+Q9uotDdgdjEhc=|Iq`P)1I*-PfGz$5S~Q&EGbJ$!s(k z|AC;wA*nXmBeb$6Ytlce{BLYg_pGlxTaA{d0$7TN0SDm?HSAqZi{`SqU~_zSvOm$d^2Rec(Pu&uUzy|}FO zps1E?gS67Ryg>R#R)i69bP6|VdOMK@R$fNB>5L}r;&)7q@4~effatmA z{-~4jPvFbZnDipIF?%l}GC22* zlj8qXIQ|>VE^WbAXYRpQ&0VKK&0R+swYB8@i!@8jUwYn3FCm@amE_C~738Z`{bS@X z@mD=~{hyhy$#-8Ija+D>_;w?_CaYujr(R7Z+SVCYFrUg5;!ZYK!E~bBjPiK)a&Rw> zeDMzG0QT3UisZ6SpVCB&LReG|J_0(JTBQzv)35MVI- z#ubA-yr2<8=LaY!rK<=3^+lbpz`#yU+sUeSERrwd+2Z?YM*3;0%8tXta0i|;5@|e0 zBxp$ZfDGuSD(%)gTeQ`Iw=9Bil5xg8;%zONm&cn~hsbdp0?@yrV{t|#Tob98x7N73 zY+F3MJn*{G-5s-^PI8&?NAf?VOZ!brq|I65PCMcmyILID$xQ+OF4r|6v&*ZF`(dOT zzN_$Kn;~bt(HKv{o$~L~gi`sV88%8mMSp%mei9pq#n$R6;;o+Zig%iqk$lu+em!jj z^Ov`T<>@__wT?0yO+=-d6gq43ar7(&It)&L=YAHZT~PH(W&2o)_wAS-H={c^js~K7 zdDbbF#EGZP8UE3Lw>65IaUko_Tl4W;Ou?m*no9~L<#iDhx2_MjqzN^ZDS47BRzvP; zda(A~g-i}qr8O`q(-@^AzpAKY6j&B`NL9kB>=9wNtXTESc2S8C<1enuaWD|4^foC7 z`HJvwi+*p=jxj*|(wnD0#?qObZD;G6o8mPRe9^*be0Wp-X7M7cW^RCKa*$e;7+9?| z?%}_4A-^M3o@&e+f4@1cn1nfQm z24~!Oq0UY9$@Q*bw!T_0z^+@O8A;<(XoFE6bRJVcfOC5=T62eiv~hrq`E_Hr7#T2* z0T=G)gNgGQf29Pjwql|Pb@}|Y|0*g?x-MTpG1DfV$Nd&9mp}D>)>=QI1!@Yte*EpB zE6C_^`>;9nIN*uG6A&OMuAhI3B;8d<$7~eXbf=P{wi*ambw>0C^wY7z%UlZ5ZvtIv zo{oV1n5}0$uNy55n>3d|$|v30{4mDcQ>^2SVnl8AMSxw0`7^|YaI;Bft!VSpo{Zk; zz;fs?bYrs$GjjR*2*Tv3iX4-7B!yH#T{TZH$xrDMvxGa9cl);jzovY?Hu}2xS|bIv zLaDbJ?Q(3?y4qpW3y0g7yPO0grtJZ-A~vK|b;WNv++wA6(eTTBtxo%>*3;%eV((}V zW)NythXW=ML4a-&`A`lpDLxSDEwr3ApIi#_sn7k$_qf|GK_HvVyC~-@g2S@sD3^}treD~RlOJTc zxh_1v6!s?+sCv?CwY(;XZh4)(+6V2c0^Ao1j07Sz1W0#Wn18as-T#7uk9X;Ujs7T9_%_sbRB1i!mwR)g1E-c_~B48ZYtMs7W!kCRLhDVPamC+_4Wi@U2Jaa z5^UdBYt`aQf1P`xMQuWolJVI-=2_ZyF5fMrmKRlc^-a*jXdWr=%vwdcKao_%6SiJj z!?+5>d*USXYUNXBtY=xPM-~KXlt$eRZaLEXI}@Zod`zdTvgtn1J1W@BEl=ZT*?TlZ zqsyG`^lH(?rpTkrgXPEe6;Y&6AA(es`VXbc{*;5))Rhr*d4RKZf2Tpuvc3!_!Svy% zCs6amFo*yeObG`@1vAs(G`NZB&ZT`rLjudK#}8lj#yAxO;Yb5S&PUDGaKb}?D8Cqd z7kqtEp#<2N{V;O@^5Yr~JDOi!;$6BS=MekEJ>3CjVvMY&kw`88P)XFlxcz_xxkGlZ z^fx7;sYzShnjtgmgN;e+TIxYQ^C}sMAMhj3R~1GZ>k-Tvu2J=Nr4p1Rjtub|Zxfq7 z*bD2e)DMz-D1sLlhgc>~8^8aRU4n1^2XrZIJ)kAgY1 zXUG@I87`S0g&ldWitZ}*Qy$k79pR{?C`FYlPjXGoU>NA8L%}8aUnGBCY4Lwzc)UDL z!53XwC}B|~Zih`B;ki<04xfnN8hhjFDVxHajDxcmnrA%_BnuuqE@S9sPI`rk>=PX- zzGif3X(~~f;s@ZAx_lz@8rY^fFU@~?3z-3jxoRY9WK$iAY>djNq%M~-g6n&Bp39%!!G!C!(ZP?dfO~@!9Wxc)9lX)W!d-p8+#jRlBZZbNkxzJCM*SRm0!^WtsY06ZkSuosS|#E zPVq{)NZ5=CR`?nOuAMifh=x*U;R&-EKNbD%)hS~uwlCFQgT|muvOx+*OYGYEbbsGJ zI!yB1zC*2D_;2q{^B?So*0v~Yp6_N0H#t>Wc|q1s-h$YcYjuwnZ`FB#^xq~hXqiXK zrY>U^lnD0S*BumLytRDDDnWJwg2RcGrjVUrkRi-*4d~68u)$FlASfZf?9^QGGks`c zD#BnYLJx#RdY!wE2eLiXg_J&IY!p~n=n(lj=P_8J?Z!e}i_&{uy;VG-5mRlWd=J{4 zJq`hLOiU$ z2k_b`|2MEH|AVbzJid~^Q{|ubDWB6v3QtkqB_VQu_!y?&E?& z?CNB#wQh4H*Qg`oP}MqJ5Qs3Aax`TW%-quQTt>=K0`V>@4ZZO9g*4y*Ji)E|)FXXy zJYswrK2f1=2PqQjXt7j$a&SFeyJhLsF2+leS24KI`rG$e&D8D7QnXHPmjsg$DDf*e zNPtKD4V~jVm-CEw@ql*?>l1a;Aq%vh4!X)cnR-^lM6_f4@?5YCe{s;(k;SfY$!R># zL4U07%J}}!FZM^({v_b>s41ye&$Zpl=hW{Njd}1`Xj^;%AMwx5YDE0}PsLW6qwW8{Q4?8y4y-$2`#bzF5ttK|NTL>{J&lRlCRt_7`NNNrZ019^4s;ChikQ;3~Ym> zaAgmJzGFz3)pGOXk1~%?o78S<2b{@v8CfG|hPfWkX>k27LKw27w;sXRKL*WYk&%ji z#cdEe$o|OE*`nsSe5=l}lzPPe_vYFhcW-(%@0Qo?{|9~Ro z%ufmV_nK}D5=1+u;7x0CR%;J)Pl~0H353GIou^>WgWKS|yaETgm1tK-_;b?&tJT#* zDxkJqsVC@QrFUWoa7{TSax?8@5?W~@6}MBI#uW7+F2=N2}mb1mSbw z2M^oRk5G=)J^bpn2QWJbEnDRi^jkCagkt5aGYNuAWc(2skvv2!YRe`ot z`wVK$fiyLOR2&|`VWN}{YQzs3+f_!tx2e&I;$Ebv>i05x>@bC88~8eLd;fn-y>(dA z57_oSx=Xr2Is^ns87-qr1(XJ*ySqyy1q38UgGhHX8bMlV7(KdSgAwn3_xn80asTuE z4|eQ;UAy8uKc|gxJu{!J;UdLh1fIKrzA!^CY~$@0!jBtW$$eq2#o`rjE^ApR+rwVc zDR+35@cp8=(b1$zN|d_x>w(B3 z@F(iXzfGGohL6LKfwp!8)mxzCI&4<;dnU;$AvcmA_WHnBg{H;&^0PYO&`|Pyoq@9< z6Nq3}>_Z5(?#*_=FullnAb0Wx4f-6Ck8%7sG7g|zHSGl)a`R+@^Q*`~&n+a{q$EHLAC3e69hhq3(6!Y{uSKMQ5>+vGUQ(Hjj|+5+{XM_1+IarXkq z8_gCAgTYLpB>4VWLD!x83KwlT zAydqmd)-utvo68Mzo7Tfr$`v1()OVec$GVwUw3G#0c z&%~zQUQKbe5EulQ;k#t4)qR<#-ylljDumn7IoxWkWpoQQr8%>hw8p{O5o=Btks@w* zdD`DxeuRuNON_9hczEKiW%Dxux+JHUzskn^xSKL4^rr{CGXAtZ(RR+1rw4MtOMLbmw%nAxLnBN<{kDI^-)6NKY)vNE`MD_N|klMrriWQ&1v zS)15U-YLo!o`Oi4r#@P-YX`0=JNE`G8LqF{a_4w6kUC+|l&5KT#kmQ_&m zJ=DBDEW9nwgJcf%ZGYJ3HpMFJLm*@SVRp>aK zuf$|%GmGmlFrPCZ$9(m_>=tWuROlnC~xP4-pA1d$(fyh;6kUA|{={uK7@k;GE&Zyvz;5ZpXX9+bRFl zO|FnuK0nzeP>vmm(p7JlG3!sr9k^z=Rz}Uf|F;|CP%4XDeyEsavS4VTf?wkt&FxFa z0d-3n*Zw(E(H+<)%xgc+;WXK2uLGqmZ9BzJGP_g>I5^DXf$au71SjNu{u;I`G}Kg6 zzZTA2)bK(`tbm?kYVwkkxK6W%q~;=F&qnDi;~hwFX?~h7QB8JT33p%c^@JOkqV^If zV#VU4j1iZNNu2*rFu5`=aDDHbt@EJ)yg4x$k_ddXAMt8cO-ATMk)oMcY~--!yXl=Y+go(+ox=$JA6n3|jaV~;!y5DaxdD$EM@vN! zJ2s{!Y)j(77reRrFTmv=p3b<$X-_4Tj+}8^s=a5}0wNK=A!)<~m~+sbZDn(3OrB)Q zR$qhm;Yh6!c-Jd)cH?zY2gGeLV^r2a%W&5DeqVhI*|gZa75PC@{(yfGkc4?*SwQcOU zmfpJ7h)*gWa_>ogXbMQ-1 zEcnZ-Iw!U9f@lqW^f-r6Cw!{TUvF5K~`3;q&^J9!5B_V#8R zQesF7X*pBp1qaI-s7z+4)_S91ung=JRPqofXGCC#`Ubr@#UeSqtNHXGZ;0Vs4A_>F zafN)D3{7XLI7>@O&dZ1IiyoBw8B_EHnCj)59+w+adgk($pa&(|AqT%A?Vm8kvkpt3Lmnpg; z5nBkYkc7k+jHY;l#@N=C_li*jo7GZy8R!-4V0d6V@sy5EDE%0r?Xy%){mK9=;~}%w z(j9g`u2AERkp$fV*&O4mQ9YaWjc5t5iSVh;T|Eoe$~`tup8>?NdkeecF9c^R?W>CP zH08D~yJ_l8?5+{Mpk;Dy4?bDqsDiQcN9M>arwE0=*bQjx3XiNoI7g{xaYnx>LYu$L z-b$aT9n%sE_?Lor z&5g;DevQeV8?Q5AKGXcdx`Ah@*{vQcdB!ip?bgmJ=^$I{BR7wEqp0)YH2QwJ&Kg0# zqg21A@SA0g{7)D(hbFdD&A_Qfomt7efE~)t$0oBuzMd=f*7GBe%yIa_k8_@sy3kSG zq&(Lc}yzxYOJk zFpo~e#hC9Us`w6~if;nUW#eF+KJ(;Mk|d(Bdz^;%UTyLX$HY<}=RWJ7jn@FPSnxK; zYQl`~J{`bW;0wkK6%?@H6;!|eA+C;xN)I&n7O-=rHm`6S*!OBOJe{lZdd7tx*!Kd?1f=XalJr*;59BIM2`YKy5K<~-xo5ar~c9U=OLrMiR{(pwQsvE>w_H6De zLAvRf$=crN%jXRq-eT(5sRb7AzYU7zHg0#GL<1i#zs5?ua}Acyp&TqDKd>=j{>Cbu zkQ#2hiNqk`SHD!>&YWBFqh?w?znL&f&rh;D(yfXMB2+ruYc#CSAKpGh`kDyjGQH5` zfOQm`H86cg_f3*>g3O|ymE0GffAiPc_R%Bw-L%3qceu6=JbMGtSmPvA+D8jK+5?%M z2KMBfgj8^NyFcTe6y(q6d*9Y&kHo2IF>cWxz9Xwkv_Ed^&YkZOcUa3VX3~>0(`3SG zGfXwefL*Hg-F{yX?o{t$X_>jLV-oM?ymve*tA1+j?qUojDd^E(8b&}ge)lEk)+%_MRN5BG=$1n#3T2ia=x=k;pHxy$3W&(j@_ z?4#_w&COy-S$Wp~0{q-vO=Z{gJdV3OO|*oZq8hxNC-+~tpSYoxUX8!k4bgAh-ZP2w z!zjeGI3RLg^sqjp3#Oq3>PnMAXX~)1znP}J=kMG1vA-S(vyiFU3v!P%FJRg_D@Dlc zJ+mS;cAVRpm&m0{cA=L8k8A7qgM#`V#&gHfh%x^oND18JV4&}Jc?Qo~t?9`{Tim{s z!S$tH9lpIg)0Ong_26LDu32EE+2ZHNO2Xe&qw`U+ButNUhaZ)%5;n$+iq!2i=-pS^ zz&=B#ZNlSUu3e(x$Xt(cP=P>(dAS8<{L_L|d(<%07PwAA76gT(DB6eqIeFmCjsBR{ z%eB{r{00jh?nI>c)L%IgleAG76gK`2;$u(zolZtur`nHIwI8nytE31cuo<1@hHwJX zs-sya18Z4uFX-iz!&BDi7uX1XuVavV*8C*=*j4qbN|rZ;jCVy|e2$(RlYmGRE!mXXvgV+t!NMZ8l0h#8pvvK(IabpGpRqWfuA< z!ee=}o4Xs*aM}w;cg(xglokRb8S+;S0)EiFlV|h{KUdaXn_9-cb!O6-=U|cv<&1QoeHP4mfcd( zN}4Bd{bz&(m!(G^I7<84FI0c(RVPf(RjRkB3SzsuMhNg+t(xd{p+O9^dOl5+{t_>y zX9Tv4eVOr>`p)%E0b>iexN~4fmPel&|5RIhaRFS?90>HU3CS~)`XS8VVEboebf+3~ zWzKc@@VQ!QXt3A|UipvUzW};-6!dDt7t_D}IIsW&ynhqTcrcf~h}8b!M7eMDFs(q# z+>NQ&sBjE}>Z2lEd@GdrO5f0nvHg8a_bDqtgYMA6LMqE#ILlHht5Ekvqz+Z5OyU%2 zvL?oCqfo;2ln>Iute>x@JDPqHD4CzsB0`%QDK_lqDbf=~L@`gRoDbq)jVlrACX|NYk5ah5= zarm``Yx6PXJGpA$q=8;uU}vl6pg(|lauRV}_hqS!p@2VTY~%2OP0&vUtUtSR4DQl8 z1Zrg{AnwMt9oIPz!2H%jB8Sv}r#Sp9WEV!m0{^zC?d&i=cO_*R-|-HbOk8|1BCEz# z!W%lt*h0WmhOkgBZvotsPblWcK>~`)3f&zE)+0`{v4n3Ci7@mZB=}q6*`UR{`GI|3 zlEAIl?o;&8$!)0^Tu6qm7-l3?8^gkkf|6&kC5;CXt?)i=ITu*>(l=z}!t5#RL&A)1 zo!AkbM>f-Pw5Ynu;!gsM`_vJtZpmR_4ri%)DhjN#n3aT{=qs^1QE>N zUNa&%+9t+~c`|p|;^oHH-GU1PS^9N4bwG(0OZ;PAjkAN5NOXS4s!e)mx4VV2$JmE< zyIN9!p~nOKD<0i?XUywAgvgBmd2&VUA33I8;cLF`{UqG$Y1tcy^f+vC33WkO%2{~H@pb9k{+kz#M}sQ5ixM8UB+p89v!7jPLZR`4cPa86z< z!q9Ajh~CB;LM_l^_?hBYq2-imP`}w0U*L|~S3x&3%j5%*KYpeQ)BH9`Sf{~$2qIduBVW45(`*k#d#6%%}YC}_F6cn4nWL_SEeiZFC(A$d^ zeA58lhyanGL_6ky##x@o}5etGj#R`}vsr-d;M-oa!5<^i~k} z52r@?ZMQGQ9FzFen3|r0wcMGTzMySh)F>?MPK1ped ziy!0Lt=qy~=d;mqv|!zXL=<}Bk0Twn8VV4Q{*!b;y$%f zjH2IBAk}Do4&aBj{h1os4L~0}FLM6*@M*@S@81v%(hXQ>Q06|Io@C5czZ9;KC6oIC z2rrWt4*})j5E#gSO9l?tg}1l-u&(aTvMF+m_^#%o`6~IqY2Up1ONz=4!7t`#m3TrS zvPp!CD`)P%ufFbov&h)CP8RX2C^^?N#i7}Lu4QKSJY{F|7~C~H2N-I$&&pGepj6aS7;0RSG6HB;lday zm=2=s)@-$*G;{{*wPkkxn)8?wX!7Qg{82~#SSnQrt2E^<3k-r)@85qgWQn|Sd*H2r z-~Az-ryfiHuSWK6UBv#o6{Vwz@+V(LS;~~r1i3uy*j6IkO{!4In_73EG%>?2$Mt2b zi33`@K;~B_s^3SchZizslPD8TFIrW0@ECup%Lxhgh<&2HuK8%b#Y!Grip>-<%9?sj7$R`Sg;?UouET#Id6I?^)UI-+vDsrK6t%DRP#%M_l z3!2>k-Msc)Y-{+yfF9!uLpFe9o&8KWpLBtLw7r5bYIb}Re*~hwJ&CbLjm< zOHV@+j!b@FqzTW;ckE#=Nd0{f;OaA^QGNF<))l4riuC#}Vn4v*1J^%wLN8tbkpDe} z1SLtJsHwwv6KyPxu%GfZ8STxR9Mhk3fxgXX4RAZ4BgyvGy}O{&U%}#zIChy;BO4Fr zB12X1yt-?sBVu%&?Q2Sknhif&XgSPpTe)5y_F%%&opF>Uf)K`3U6FpS`kE2c z4a91`?9Oz04KurQY!#*<#|kEAR3qr09(!r6CS_|%Cv{(th5EHzL&5pt`I)e!eQx|4PT_kY ztc;!k{9u8MHs6g42>>%s2>ElCW@BAV3kLxvl zQhJe^L&cYX2fWS6e=(%NE6ULz!Il~Su`rnpTM0N*ttpPN?v$llA({#pZ)nUv<&&FBooiu? z`$hG&d=bA6>C8k2-7_}!-AkY}@{dTX_XGA#wQ2u9lv(y+SM$iMEADoUA$5`P_!Iu3 zm|PKntAh|=q|R2n&mts;BIpoKjZsE7yuFISk&u;!Y)qrlvV!ADh)K>7dzf5hC}p*o zdE3#{HQf?-xi<=PN!fW3CAfZFvo=I+7C<@gvf8(HeVF-2GPGtzy)Vf+_`tA^jGsh% z!+xKtZ`PQBwi#7SGyf~5HJCzpgGgx%M0p^;tPsHXS&iXIafl&)Ksyb~ah|TpE#blS zkE9>I(&x8=4o~Gw^^u0@=?7mquRa-4Y+ewGp-Il1$>jOE1I+01Ec8FPE%;hQ~AhFO7ZvXAKy4o;0-2OKxFS#w9QlI_{VOt2G) zF0RAE%dv>R zN-}Li{f?DAnEPBO#koMXJ+rI8!Ud~CQhgSVv(XNI$+mPKufN(G;lB6S{?chan2?Nd z>hG^9AsM3td8;l4Z?1`V6_LRn-Xxd7#fvRcH_lxgpTY_&b@Vw7>IW=!Ep^kSc%g+u z^`_=ErsnTaxoZymhjiEVLxsHKc$B*X`1_7-0=1P51P31gD7kuoJY3EKD= z=#fY)yCKs5s|C>cj!vn*EYsO+-&wSL{pT;7J^YX&&MVu5YnUEQ>5^aXGAvSd_GxueA+q~omCC#{%le1ie~*1(Px!3Q)9=&!i409lna@;R{eDWgn4=}? zG{z10-t5$$hs2xrZ8G?{Vtg#4xNZ|9yG0za8M=Fwr!Z(-FQJCWQX@{x%|U<+jAmOm zrIE07o8ai>KCZ>vl6*#Q4;_LVSsy`AZ*(-F@I6NR;A1bK)lJWiC5g{72(z?N37H$Js$_ zYg9R@<@Qu1?skPBohKn?VRZ}kkDi?+M@4X0%{sE;hdGsv>na>oW3;aZ`biSU!ayqQF`0u{ZZR~0iXx0lztOy;lERZwb9s7c0#8*o z&MWSzGZ6rjv*G1qaV;5I6wJ_l`0QK6kDPzCF8Y%iGo8%}xGEb52cR5RE#4P64mdZj z^JpGCZmzTwk>|FD4kgF1|cFa&kFl^MLPFG&0zF>?m({6XtiAUbuZS4 z(Qj_5lv&QRTkU@aGUnd^<$WkGk?-qaFI=>YZqg<5YC?7IT2Xh0nCSjxFu014u%S?`wdU6$fz=#n#g~2G2pxP=eoloA8P!CUL|xK zpr}!;F2$0xMe*zy91%?N9qQoI!ufTK5pcG6f#pCgD<~L37@Ha-IJ1BIuG`pe(S7e! z4J~jW8yt~xQYLwEHITg03$(wrILR?HbZMW2+0D|*LxKkXwjj;oWP{d=0Nkn%>awRF zxU^ehmI=!DWP19lI}nefNLMx-{;^Jy`g!~@?WZU*1cIzx%}cdQbNV-9vLNO~^z#G& z0`YK^oj8B$T(yOP_)$8Yf*=Q=J_}QC7$_*hCKu$6We70S7|dj&0Wty5lTTYxk=J#{ z;pZ2H5C29G*=h#;pN*M~U$p(B6J367)LnG;K$J+J6CiTy6O180OfPB2Rl_{HZ>;2< zvC`6bx;7EGrYXIW1^p}B6vsF#sJL^PHPZ5S7{NVwVVtAl61Ue6|9OiM`uuuqZ3Vuh z*m|2~4HXI*!HF`ZUYC>#jXhpz?ndJ)TL;>6&f~B0$Thd{OLJ>7ZO=$UbiL2OA@0BUe&SApBBi!uKrspgwDy<|iI@ub?u(F? zt}Of~d^>ydKOYiUoJcJtXUv*DMr2X%2s~j`;z$!#KL#P-P9fHylaI+!nKTJL<{0c8i%**+F(1bpDsDf} z(>oIdyN|w?Jgx1_TATdq!-$$9Q13PD^uDZTI6@p6xkt&X!mkvDqDr3SqBQLN!%3_a z&kB=6F()SHeeV%uC?erBZ&dT?bn^=quf~F|uAr69Ae_%l5bK8CTU1M(lvHP0JA64rv-&F7$4xrIMqQ+eg z>=WJCVO3%jl0eoym5(!Z6#o+Th26vai0QDdMnj)v=KaGKtzr%uu6HnWm->K1m~Im) zC<$u)1#+bjZu*K_Xk^&W&S2&}kScP6R~i?EF^oq&oifSSUU~1|+pTSz7j;{h$)NdJ zKIN{lce>jFg6>}~h{t*~-ML2Av8MYWxXTLTDnIl5erW0Sb&hRC#AxZH#5=~Gv2lWp zJKlYS#;(=nR)<_i^=mG&L&X!S1WaoAeT6iDF@PU&nwUsTA{P<4HBXgs5+ixucU>jY zl3ll%evti}l3Nde;hMT7WfvL)Biy=PcYe-|b(JgY0+C$o$CdP7yFeQg=z5$5jq$jQ z^AZ6}Utf69bL-F%MMI5_i>e(c>V?`>_qKeNiP7cWAKV(cbycd=*pYToVBzb^$)RvB zxM*oni9d8Gv8eu`2L$l(!@rlq9scgN_w>XZ;@}uoQ5o{He@ChxL0c2;KPbxQLmj7? z!3C1Qe$*e$yJN7_VfqR`msjV7{So7lmDjNp)x2~5Qb%IpS`0rQTqgBlpx1X(d?5_u zHc+;r{#2IkTVKeb_2%b!)5~4|bnJZmV7AuXyqFL&s6-cu3aVD}u;_Eg@W~<=|BC!e zRLxiC_NgqrmU!>n`Q~uuoutKUaxe=R2ZA;U#&M0h6b|e06mAH%xV{=y8##P-iT&TqR@is+4%r@lkTH0=I{h2WIw<&Kq7T-Fs-Zst2=~qN2aTl-=I*4< zm2=?3>BenkL*?&ecYLw=;vRe<<^|M#GD~46iW>2>v1|8x`%7Wky>AYp<@_ z`3D#*H8Hw--p1a1pB`Y?$ktvq0WK@QD!XuKkG%J{*nZGzq&`ycho(wNQD*8fPy9BE zA@yleL}nY)2B;b`*)n>Sykb9feRB054mof~24gv;&IFe!0HPvunW^5RN+X}~GIY52 zF>j5aTEF}-DuJ%2oR^WKyCQxvc2e-w6K}v(&E=CVper(uWVBF8_aMlHwM3>j>eibj zXFLg6y@Hu%_rfL5rsH86o=xZT_%TwJhcJbh&H|F@W^+PL<%nC6PEjv#Ge#^KcoejJrN8?OQL zalQYR`qmo!n$4;(_~#7?sv2U#Eo#J=AF^jqdt9XzXR6jdLRY4I#rBX(qU-?hfH=|i zR_ME$(nzWedJB*ElKI<6p#_QFs4c<75>W#+?N0YwOq^4{E{jcII~e`+_dpP)o%P)Z z7U5PfIA?wO0g3pXv<4wD3!>!GPSl~~(9+gAM|m*9ktj|A3cbJS*flr2tAIiN!ztq0 zI-=Cci5*ztpY{*^*8@i7%}wpcV|iSQ&_EQBL8{lfVVW544WN7N&8k)6J9koh=14as z%!gU2Vqt8#7@KpVKOJ<*ib1wb6)=r(FLOgKW!4qlU)C!G73MCV_K_+wK9$Mdc?da7 zvO{geZdq$y+kF)?+#1O`L|%B&}{?MP)hVG@m`GC`ud8Jbz#m$}mYC`W^WasX$PQ68K7 z!hMP9CuW^NT~OMX{?A0GafE3bQr!1HJ)cBMh610*SVvDQ`M012rZD`p!HYN-qHPU_ zm6rzpev8I>_StyCRSwkm;pm!V&+)zWRYrm#OC?)Q;#5@y z)_1R}qBW{#+?f79Ao+QIcXJR3*j$lS>b4ci$_h?-+%$S~xk!j_JbYCAF42^rD+)n|8ALT~+_B8M~ zcxfV~0*n}j$h$03ht70z{RGkJV&`vf`-q2N^6eE&dvvlj!tekLs^X^hEOL2&XzBY} zGrG_+yj|+i;TnD*xF$7}OU5j~akZUw9@?qj_~3zkrrY&^8g~50VM$)!wF%S7n?-W+ zHjl~X`hQcK-Xi~0#<0D4K@*bhSi=r=rNRDm?evPI^&%)2HlJO;WHERk@8>7kcB7mr zBjUm_oI1(!0bI^-7XU&FwD4b(pS>O(V_YMEs{1F1x4P(A1nAhc1#Tcb_Wk@+gCIlc z^ht_x2D2{iH&sU>PkBZYrDJZ=D=+IP+>&mv-fY}Z4iudRxCBkXe-?Ri0T6ornz#OZ z_QOg@*G*(k_2KlZ1gsPBaVn?f6U_Ap(q7$mi)Frmzn1TY<3H+c;QUNW{1>xk?*F-+ zzAflWPj@E%-rHW$c4opN2Ixy5`N6bqoAQh%R%hG!pOV6eB3K3G?STW`pU zetsh>OKz~(8p4{_4Zh{Ibs6^4V2-9p95z|@!@ot=9pNq{*dUm~N#TE?0ybP^tq9$Y zoWGRUNfMjoU-vamb)j&X=b}h{JlVO^Lf*QTmcF%mWs`aCv1j$%wUyMZ-nB^&55S|- zQwv?e#vt|N7sPArs*r`{g^S2h{>Yg!{i%DM?>CAD7DuUf(EBU=N3_a%Z;ke{ubNdM zn=G`=?;8%^r*}Fek&4+F2Ujm|UYkps&cbsg+8~UGa7$Itey1 z`k8vyF2eL(ch__Olh;gdu>}m&AKps%MI;=MvLu=H#|HlNMDGNyc;M}^;dLQ5{^2~A z3br%n#<}_+WOg7KW?9ZyOtM!im!TA}mr!b^ZRSd55cyn_F6$YSn#LR?R zg<>9F(`n8tpmE3HhsrHC&n-Uxg!Vz7`xh3~SGADw5ASu<_HBXLL=zK}|NX1@q|{A& zkkSuFJocOC+T~}csQyY4~UhIN< zb%#cnsf_^0lzC(2<1T2*xnUcV5l8ODM}_k{n@TPL_7AMXd`;T|y$V*0pZg6EJtfg| z-6Cnv9bqwwB<~a!`pxsftyLgd!sLh5eS*W*(_qIFMeNoIa(J*7gLudM})Q|c5@2^NA z+f}dhgVB?xp2d&uKs4H!Cv@XJH+#?^JlGPf%pD5S6rgsbD0H^%61J07byc2ONm^*y zcN-|53Qt`*FMkCV)it`8Ns$=nZ=3=^zh~c1l{a69^I4@3i`B;#K1QJYPvTlK<$zfd z|5+_y+5t=PmvsZd+K(p|UbQh@hd2_g-AVtksphJ(5s+Mzh=OXtSxk<#ZUs8*{sg%0 zMH}@e;pUS|%l9gO_AHs>oi4hQNc11pUoS7;I?g#biqog5S@iI-0&>KO z+Ph=kp?`go@PNVik`yac5Add7{^Zp#H+fKv0p~M;H=80UkCA>Z*ndDEi!X&!^?Yw| zC2-b@e5%4_14tgz?-T)*H0U2g>pc8@vCsT^BK%92UgCM;?dYGhILQ|8Y#)!&>zw~e z|JwKy%47k&aF^1QW`y8;56;hh4-u~n(TC15&18_cf?WNtaouNikAFWFc$AL8ww`BA zu2Ap8ZtrM;Rei`4yZT%<89TbA5Z?#y=Vsl(qT<5t4Yz6Vt$f+t9VSD=a-QQ2Gmq1^ zZyrX@zYOB1O&YdsA71|R0u=;4FB5I^aMb)esQR}H_pO#0^& zXl8G=@NPP`;WyRM6WeQF+YYZSaFP$w6BHz&oDoDa!Mx?&ERWZFT}ZLr^Q)V6X)JdNn4$=@kcqUHnbjZ^jgZ0XnUoGgUI`Ib=3qjSe!5D}0T4$mI5^4A%!*EXY zU=aQDJ}5oIl`A>fNoVoN9#HTux2Zt2zJ+p^JwDtK{K>$>gKsqhtEEP`!=}?!96oy) z&qy*_W%)s*ALs04bemVagJ1C-sQRAgDmZQmPHc4jf3}XOme9Kh#SPk+4}rIY!1&%i zKO_4rPJ@l9diB{!5%O)!#f^Ix}F5_H*J@57VL37&Jg)~?wwym^2Qa6 zeRx6=B%9c+z4zCJ*}Dk2|I}jZdABu6I z`tV(!bS?Uq4rByQ9F!{(! z9ty~{q~!0TfFc=%f1W#PteTigPN9DjIqZ5v=g#Ln6!U(Ogpuz{JbRqrh=iLu($_Yh zEu)zlMIMO0k}CxSW>Jomj7TQ_34CQKG${!Yjq=britXao#F8=n(fVk#M*BSUS%BPDvRPg(Pj~p+uCA;Xw;0F?$YTX=}xEql)zE{3qYm=}p@Opri z-L=F317X#a7U_)erb-<+br^gBk6fBMk$Q-Wica1u>`L~ zxU$(&Y}1sK?xEt_&?ek2dBDe`PfGZ{GitZpU-iZ_IRDDnWY&RzZoNBs3d;*f~ z`72(n)f;+o5?u>E)Dw{=n{uvnmQWm}bnyl{n+4M)_uUnhxlr0nGBo#^Q9(ct<8d!B z5Z~MzES#1}>?Hk=%J<=LCqGC+`8#0rw&#xIZ^zelH_=Zt3=ryOg9=6kcGZv2GJSUA z6Q$QNKLv5uzap@<_$rm%r8y2W1Y&S*RGU2pxHJ`!L^T~6+u6=$^I@yf&O@wb@bIS7 z{J)*|zK{O~k7t;8m)9OW(gT?e(U?bUPHo2Es)8iX2?`%w8oR$jnX3#DIC63fVM(WW z3c1J3pk4dRY_X?vMAXK%wV$%>Awo| zS!A=>I?tPh?IYWu86`jO`|eJO0dEIvE7?=|d!Q6w&dD=&$A@vXm!LLoJ&~7^VG|=K-k5pLZef`yGOS7 z7$1ZJm=>9j8Tc2Z%hR&AqRdwz;(wPYtMJ!i$fa8EC??B3naR1zuGcr1k|PdXf|0+T zHbZXbL(WVSr{InMyOX3Yq&5pYzkE6xd%EHiG-XGJ+Da`9UVlcEfMINB3Fp7jCXCw= zBMWH^esT);E3`A2Y(o8lFqX#sVzn|7ac%v?t05V)nt16p7~Aod*($afHa#)ZcWD6- z`)z=c@&+`cK)&B2|1Kp46CIU3&4b>3asb6iTH$K-5aW(<+I95nbDAm)rbfRFzms4A zTRiWF4M=Cmc76kl!ag(pNSjNgN1!pFm#E>ESti0ad+xVNMG_bb@1d(_$Y9*mU z)T_kLA5Mcw%#cg-XG;z>8{2!BC|;Ez7@RG5O8?3!Mr+^Evp64n6Yokv0hefn4|PKO zYvyJT$wgzk%B2p9eVy|*kv8Zri!_erE6!GodH9as?`T*VnH>1~NJ@?s2c2NREYaRZ z(_96eg)(WKlR;--WLvTpGt+7WZCl!vp(%Znr7Ke+lNjKCB~Q84iLSCt*(N(k*Xl(p zW3J^tO`U_0VuB~+!pL2EvQlLC-hpsp*Ic{8hLs(EBjTVkY)a{!p0V@PJ?jE8B3FBF zfs}{4kkVsG)#5W%rL?>ChkS5Wq_-Qub}=W%KvOk_TI9&z&Vy+;Rw3Hp(AUpCRHnjo zBA;$ArP6rcQ6OA7Sp%0$G9OqM&9E1W(QM)tfP1)iiZgqBWN1aE5;ow^Z*`VOxTmfp zFmJUOzt8gA`e=o)xe-2nRKV-n*uYu>PG+2K@+ z0s?79G&@Y+FiIT=_Mvs8>yhe39DE<+K(RJ;-xIi)K40aI`aAt>L7FqlbT-5K6o$d$ zf2Ojfa4>?`r$k@q53c}~(NRRnnHaSCU1H}2oJa3!OQ(O<(f$~e?2*lxFLJ-1x$+Wk>gD*)!QpppSp#dp zkjF0`?8BP*%v~2pOziyPx`M@X9{X^cW1G-5oTVbmVYEPsFhNYzHKCJ1`+3RCb(8<) zCZO9Gv-{Y4i?M+I#Lqa0z$4z7tg1+F-h@Y#@cnLZ1p_qL@y5D43U1FM^5}HhW8Qn! z-H#j8c54qh(LebK!b)NCvFZUb*>Q_ZdvKi( z-ApQbGiX3SJThbRcBu#a4ccK%JKOCs8t6u*=l#cQHJ@6!a!iO}pP8KPENUAWus6DE zI49fst3UV(-|#if4j0wu52&-XWt;H=(BM6a^=V(J&lluUfEN7OE-?)zCYqV_XG*cq zqgmoeO4!QlGQ}tEIJ@oW9ZjiQ9ckchYuC(K#SRSVYJ=cSR4{NKFoe0TxpO>>(Um)T`g7+^r7-Z0E2{v6LQql!8CY)Wv7vy`D-I9BRyr{Eal?-;vz%H~rbd|sK zlnX>(1!JCe{!T^bMw}HA35O|CEa%|8O^pr7G2=ztx2{+OvliaO0=&f-cSNo!>+Y|x zGACfnU1PnZVm0#qk;kaBDdwc29E2q~sYmGd^D8{WKFZy^^~Ea#-VXw;q>K#FruF#;C30!!t>ZwEOx-svAzx2>t{74CG}^@E1Pe>PKM}9( zGI4gP{Id6+6w&%2it0w<*@afwn*c(8i6*2Q>CgSI==Aj~lhmT~V21yz1@Mx{4tWWR zaTEU#gLT-Df*~%%?GEC#4eX~q#sIDl;4v_MS{Lp?j-)6~Lm6u2btFSYy+1^>R$+zR zYWy*n(GD9_{js4Yl?aM?_WXUwXYj3mpM%rYTyBP&PRb*^;blyDJ>0Pi6KQGCu0n{u zQdca37uN_A{U+Oz?4e#JE|;dTB<5px1rE(?;a^XD^RjVWy18vk!ZHhQD^DpB|OC_Z$`C+d^kfS=ReGVqBH+yuW93y;>S+q zL!vQoje)n_E7T$0T^M78`Q@K^f}g`T-KT(T-kDa6oP*QJ`K(k@AFe~t*|N{k$c`$u z-9@7wINS)@X1X=|P7Zw05u>hcH4$%i7^-rX9-g4R4DJML)DRHNU|B-sFfkh+Aixa$ z8ryXdN%*op#wrTtXT5Ch00_z+$Id<;Vo+0JhdU5`gdhjaz^M>rZdIdRl$q#BRuzP1mbK*DE74U_9_u)O|; zNni|#G?I|mc}=O!C)83GqfiNo8Yqa%VnDuEsp98Dhq42Fs6~r-$OR`Vl47dqh5kPU zP+&P!j)8?Ijh$@1)}Gq`XPKJQ?Fi#9g0q9X-&T};%0TdY_mDLmu-!Kw(z)L+#i5bY?IRsJ2Z!Zj)8r*~mY#eTp$5xCRdYd8#JW{m^D3?6n8wFZFa zgH^_UFN=?B4@^3}mRc}rH|+o*_9js-71ab z3xTPb+TR{Nf9k#(dRviqB!2*$jVMD~pRL3h8jHN>3)F2piSE({y2Y)~7LXrr0Cqag zw@z6}*43~1s=^PS>U>cw8-%*yWB&Y|BtAzj%xDn``>735NQ~p z0)m2oG@}`!(h^@{q=0nS7%eDL0)iqfAt2o`Qc_wO-Q6`}BYxNSexCdJowIXx&i>r4 zy+7~IE7jIL{9VPpp9a7WB4HsLr=27Q#IrLssJoXqEOcSP!~gNQS^j=m)hC-Vm232N zN_1^p9}L&`p3Q=R1A-<-Ww7xniM%o9vu#xyOf&mZ;)qNqUnFa=8AvmOz-FJQ?%j%F z>*}xCD6zyxO@;HG&LnSA!tsP@SRy1X4T9=P8PbQHqvoD7{uzFBH_xTQFzeB?)Uu*S ze=vB(f7w63pjgk{Jc_Pt%ZWb=bBUQ5hwamEeu)O2kh#d{4!lbe#!W8FohCtw^E&5R zs+q(qCFBBmQzY}AxV=)>(1~iSi(_FGy7i{Jt`#eId!dQET?jmB3i9jgn1AX&eKz=C zO^<#4^Z#X{gLdj}7b6&;Cp!(IDbMUyDei(KuObcePY&2aTt2q8e8o6e3uW6`Ph^X8 zWd2}aILrY-hZ6f=(SPyNWHtQkE*p!-{9`uC1>3T=Mk0Qq&=dd@>u7=3N-lpg%rgFy zad`OBZHY$Z^ODDFO3gp9 z%vs+JmdA6RTb|$qIo|)T6fH@;JMkNoPZ24{~&kB(zGL|Az{_Z_CS18I+)jG$Nt zjANhUKMU%b&M?HdaBs*rh-PVG!VX-2(=^i5=tBLalK%A_>!v(IU zUvp=rCh-&t3lGC+33jY&yOss|_++c+Da+1$A^I-T#t9jmroT_qW4Q`2b_kRfp{z~c{X-{P z;MA@0CgD7yE`_s)q9sLVOzPW2XaAGvJnDFxCAK^Rdcyw7YRYeGMID$OTzw$!q4PpR zjB(xmV)vf3M13F&W*!>OTW;#&=I#3ta(f87IIBa&paHWE6-1^Bd&(LCX8)Ye?)BQ9 z?dPVQBs7ks>1MN$ez3M3d&N34NWbUp5E2W(`h|~X5&K4n-T8u}*^|sRV!5-Yvwr(w z^=>=#pS>tNDMq}olXECywx(k8Hf^n-hl}rxeB}8Ue#G_lpe0GS)VgZ%`G!8Pk=+0T zQ4od*OaUVV6sqTc5%}HRF|@hGbK0uu+y|lRk=~r~%?F=}!9f@2>A#VUg)-mQ)WPPy zx4#F5yLCUoWhgD*xZyTdnUlFKWrfThCNZqDw8&M=cVcp&oV3UJ=m+DhldNqUTu)yy z1<@2#;6_)pkhjR{g(Q3h?6Akla&n4HLK&MN_cf+6 z7-b4?tr;i2q06*fY)&g!@e3ZmxTBeUZCM`#yCiPdh&u1FBYdip!zb=zT|0AOrdFw~ zlihOt*3PFjJIJfJ*A+=N{*;BMUb^c~G~gt%ruwX7uARheZm_xXcOXaE6g|1H(D}AT zd64@enXpJPtJ>o|csU#GO_yzAZ6IA%fAct8o-d+e<=%t_tRR%`)Z$5?FAqXGYaLdr zZU8qG3}V~;M{rlXsU#@%vGua{j1mYHe{;NZyCr)!`(PW^{XbmFzk~{9(uX#2RlbcI zL##HE+S`Khq2^laO9B+9B#4NFLmq#@_k$rjX9tB!2S~Y_fxD&mI~tnq8BV1xPjjJ4 z@v6Q1q3D$%@mcVaS^*W;K*aFgGj14{tV+=Gz!F{XQ1OSk!b6H^HPyxO*4J(5)d5y* z`p-P!LLu9e0Sq@TG^^)h0hLmICzKNxn{UiCX+mFgcz=EILnnxatqz<2O3p!;L zcy&4}D0VD>bK$HPC+J-<0A~eLEwd~So(!HMIUQCHqzh4XzOH^gada;>cGNDP)5XQ=MO%ks-TG?xF zvr%LY^@L5No!uetwzzf0+_9!)z0Gy#^z>m?V?2Jr($;x!9yx}C=n|~RiQM=4k7Ik4NJ2T(BLbg3adLj%~aGK`xLGnj7C9v^j403hZ6@h%oPTRKdmws}Yo& zLW&1UJvCiWA_*xf0)d4Gj=*+2_!g(hOJzy79dTECKZ>vAcy)N5F$<^G?$bzuLv?O zM~K~4x?lZ?rnO@ZTrJIsAS6EHn+rJ|PzPOHQQgx!oJk{YxScJ91M}^Crs-jS6*}_? z2=423b@v+d68bQ-GAQKce0u2-2vH*Ek6|tK`NT7cNZ=Q&-vF^~of`RddM@E8Cerj# zNmu=U1^q>ZHDhZ%(;zf%&~QY^u969Id*z0>Nue0U_j}cOiim+*ED=O7`?eAjpI`5{APD-)a9fIT1hV=FGKDhL^8*=CI zFqF=8^^iO#Gx}nLJJu$;KcTr)DI-pq*rt)Z=@Xi#Ih&cKaI?*_aI+1$NrG(#Nab4o zpZeN9e1E%`%2cHsJ(z63(-ElL>0*`s-PuV6jKfB~pK) zESn`-EBr^2*HQ?C?+qQcU8pIrs3gMgli%|Wdq7?r+eZ-ma&@A;XY52zM?&kJ6G>5O zFx4NjGOp$ii+*k6`s&zWQwQR$Fx#875TuogE4*Su22R-qXu@mSzir7XJ&#N}pwTmp zMA;v9@06{`A@&@6w`LZ)so+6unv|KT+@8iO7tW*ncw=`Q(SRB)a7e-y@ zx>`BCtK$7BR~{-IH(It>LFafweR#<`SzCFWe=71UB}Fc&2R$=XzO|Z*Jrc&1o&*yP zS#UYds9VHN*6_r!;BzKws}r<7Sjppt#}mUzHo2Xb)*l+&wrzFIM-rndh#VPL%-Xq* zFYWUPe>PpluabuZ(n$)}q3+;zG(gaVjg7gDvwiLKeRAxQDThtagyuW0!9Fv zwTD4JBi8Bs@KWPhcpP{#eA(YJ$^`yZ_4`I>lkS@L+o!(f7bYXw&nDSPpIA;2O5n>6 zaprg2D4fWTuyWyVRv{+qv)%S$AD??^Nvv}cD6%~W7vg`MKYV$`1>%K-=W)NI=Y7Fe zk;O|&mlJG`)xZxry$w$SBn>U#6Q^2Z;Gj4eWG*NukkVP0V&2#R{;3pSYimw^WE8WN zlZ^zUY)o?nUKH$vd+hJn6hpCU(uxHAI?_rU_N5|}bQc`Giu8c)g%}6KWv)}qq5@ff zfT(WbjE1n8x&vU2%>dYh3+nRW{KY5>kRgQ(&%C zFp@K;=pPU%&eJ+v^0!^30+bkK64qTY1v9^!?@G!Kmg&i*bBWt9zCFPbk!r3tLypa?WLJt{;cTx{|$&ZX>RmND#n-TWrU1;9ZxV?K!sG zozh#s(UK(iE3nOh)|4%*{kIFnCvz@OihKlG z&rQOixUzEj6PdXuqb|JC8y-z|^Uj;@q@QEG-(u@3A!;72I@)xF{dhL7Ewvw)7xDv^ zlj7GgVJ#2N&h!m|KDUZOEmF3;G9j;uYqivhZfr7j2YU_wM+$vNCqF0I-5+J~6AXGJ z_E7S5$c4K1SJL8EKG?qo^;-3!g($aQ&U_|voEI$t3zsu4$PGate*()BbU4oV@5a*j2lt6 zo*&8hxMk+t@07Gc7#F-$W@GV8{B)M1_hc&ff=hC2%`n$egEHXNk=x!IFjv0O?7P8R z#kdPKrv8M)#G9*g2>y%By2=Aai^i8on(E^3%_O*2Uo(lL;zP*>nTPa8T90$R?|iX5 zdAIfBz&e8})~)?U2L#QCy$yI2EGPhkTC~`{58(X)=Og@kzWMRQh#oJFU8c?F_Gady z-KRC$0PaUfwci>8+>IQ?Sb%@uo_F+~{%w=Jv|}3m4gkF8K2>ic6v4YEu&B8rmLy`$ zYr8q35zXFm3`QJ5mN!Q7Dfq6Bawwvl5ilafWkMBtt6NEt5w-l~pH`y6uFTh*>F?0D zH48b+wIL`j(6X`;C2>&zcjAr>c;_1l+u0)_yF2;AB=Qf!M|uQ=Hxgx~&>ADomelzz z5l`AAKW#2>#%l_V5RkX2NG;Y7_CF_HTse6y5j5#dgGb2N)-A(hE5qbVC}=F@`a#yL z^G~NIzJuN$_zAY>Ov*%j5KZuhj68Q9F|Z`_fpTvG8@NG4@0@rPX*2p+}e|w#%55jXGFqAkTo)rz!hob=F6R+>3k@ zL)lUp+ay&h@8?;V`op{!Sy?%T1~S4x|T)?Ttm9qE9f)Jv}`VP-y$n zd!jQZv41~9@tA{&!?n9)84{`mUWG%q(Btg7dfO|XKG0$(?|-l+#dC33^wLf;)O)61 ze6N&EOB6Lz@3lcmd3LUC0CaO}9Cfp}EMm|>QE0P3w#Z0LPrr!RP1`sY`cSq@jf3_Q z*JR;(*NDVzxyYyiC|q<2&$WA^O;FW@teqco?^5dUtJVCxEPN1Ixs_dM?N$J>N}$u8$nxd0hU%l!40a8js|xP(01USpFQ z@Y2@>p-&{z4=rwZ{WE)J63C}j${^`;sWa_9OxK~dC)1b0*D7_F@W2&g_;sh;&3I-J zN#I)3K#mrAU9~D;}22FU;uil}A$aRMiQyrdN*8z^Yy2H&SCBQ{zG45C~8|eUkxqITSj%2|{{1L6|FCH(C zdP`WdddQI_Y~MJ`T!Zh`ihY<7w>#%Z&oomZGM>p;&8j1k>$<;uTqQavxbn#smogkb z+|;L+;(B`c<+^`x&GY+C?B3JHoA7;?a;&X*Ul}Qor*5=QCfyjxM;1@+e6a5-j2V{v zvwL{bV}X(pDI-`B^Y$H6VsM&}WP7)rWvHGTNuY8s$JP_dm$SwOx zRT_c?)aAjZXe)mIZ>8eC7Z-QfAyB}@p@QDx4zbD3CA_n>PD^3|4mcZRX`v)6to51> z$DRHDwumJTh+Jn=04riPYmL9vK1N=&q_|zI<6mv+F7yaqb;7%OpeKB@zU%mf=jR;C z_E-h{LPqnHT`tvEuF2U|4Oe`?m%n(j7FBj&3d(e#%lIeD=a#&Gsda$@l)1ppu9;@W zsn-1?$ageV z;DS}t93}pR-M+243fW@kus#9m<)bdP-zD1K%OWGUbdY;Zi8i^6a4{c~zmYPr?$}<< zrxQU|>Ic$->M2uYct;ogJf04t=kFr^)+G|^lb50J4zZ2)Av0fc%?+5q(wi{x-^uS{nLK7S9(7k zp5+oCIw%<~(evdps+bo8tu))V3-mIzG7{7>xVH^Z-Z@=4MOv?uzoe1z$5H#o-OnBY z#}`HJ`mZ1pCXl>&|lD2WgKSDJia)CkNq1{Ba- zjBR0nH{&E5H^}kFLB>|1Z>TGXK4f2wu5@+3Czm-?vO7?32#h(1*Hnh~O0>;+Jdxh* zm}&?dC%T`O=}U5dCs`bnw>GeL(kgnKa=6cKLXb6jEGfik!0r(JQD%SJrQS>K-n=w} zfT`W#r;_UgUjW`5tB4Bx3dcq%;ORGdcBnL{Gm`j8ozH0UI9=_<04lQ`4nuS%v{kO*kg8louhm+?->ne&NF0 zVXdFC^$GXPd3j8fBShm2DbECs}>yACs4`k3(a)4=Z>P zGT3|LJ)uXBHWyUmNVT9AarxC4;cJTEr`y`1P-oxMjb{Ph-X)1iC6}#7IGCV5A7}KO zJWHSxu8qv+U1FI2LI+{!yYq$^_D`?gsZu|2pc2ep77BnQs9O<(AaHRA>UxQDW>iJja~&znB`#X zI76T26!z0?A~Unh%^%ebWDx`ENgzq{1JErk`U?N=4tGFthf1pl#=9{A#*x#TCnXHe z&L!5@fzg#X+dET&R=f-zt@a8ES zB~Jn=I~X7~`AAbP4t`YwZ-+szJtmuwY|)K)jg*_xg{5HZ{I(M1Z+%c2Pe2=Tgc?ug zD%VFhn2OSu42&@I|23u*y*98^)+zyS`{9+6Is7$*8%ppad>G85wA=vSAEpl$EP|_2 z`fedfK?ukB5!%b^Fu9dm=1=?>sA9wWzghtSYk9{T7kI9qTI*w8_-8=?Y@?HOUwbgX zOzgcj&FPFjZ9IHAeEeT60Jpe{E!bOOieAfp1K!Ew3m3cY#l2R|_8V4lZh5ENNr8@b z>h-j8< zV6Ol(5JH!`^{yL3edl4_o=ca9Wx#Hcj}K->*+2Z$#PjwoZzaxl|3LL+>ux=FN}qfB z+z^J!U?N$^F7w52egmaPM)UjD>nZPLx#l$gT1(FE^liRMds1#?gDF^yOK)-iF5@F7 zVwRe&IGmDhqe};nO!BXj4M)5xfVaY8(qfyKu)m}OHZesdT1kW-0E63R+*~;CDJ!wf z*@oj_b~U8By!JWqCjWQk2Y|SU`iUak(>=1n=dG?&x$~XrfS0#<@Zw3DkpkKWJ*VT; z*#||Z%m3X6MH6BF*#}cvPiNqlzyI9_O_<&P_`(+U$w4HxE(CiQXbpt!rMlRXB zrq?Zx?y|x~vc|he$qy~mOS6JK4yn{i+9~-^_QV^E{e)v6Tn7zL93D5Q8^prSxx=_|{-qIwLt5w(G19uO{ z+GKmiUl1EET3?yn;{e&jcILS^fAGCL^|;5*$BK9Dh;Mjj8F%J465PQgWk?Y!XMMv) zsSIXl(Bv9+nU`we?t<@p5BDSL2c6TIE4*Bnw>Qj6*dBbn)VIVr?|bcab%;S9VF8@) z#@J1On%)An8DBkL|hBrha5#Te+in!u@<-xJA7M=0wcOz!EI7t>m^n| zAZGP#bDvjXU+uM4OAu?qcEI3*gW#CYmD)nHRk$cPP;yI_Y;S+UZ)utiB)vVpO7c?zx$a`n0Sb`M4=$DV+Do@#AS5I zYAg^A8~R7<{gMI6IHaFeh0{pxbv^|5E|6@N+lr~z?qM@Y5VbkY^-HF1d%_7Qig_61 z?%1$zsMe19gW;Rg;0*4a&lQ8z@JGsWnL1Na-_zM``;G{kvV^)%f-P-x$)xtV@Ohd9 zpR}P{G6tBY=juK8_E~>m<67bQdCx&FefAnBK$HnD0+qin_M6t@g{#=abTr&TpK(;6Xo<#^>56Z*);~Klq)%795LYbnC zKLmOcw72}~1Rj$NAHOCwb%{-LG8P>KdKny8Gc%SiR_S_r{=-`I9npNv521cSs`($x zr-OBmjKpKMlz{khYm}p6+IZ<~Zw65ENdcGJ@*uzuavjLa`;8rv>td{@0s!7!H#cDV zXyyoN30c`+#xAJ$#8mU$OG})9JPDM?5uyCrPCoZ1kU>Si$U(R3hSDMhy4#tuI)Fv9 z$|%=KT0E0fB=c)>qV>TYArFF`I(0rZJ}v!wfY{LOX+uyMi2(F+?jcE|E!EH z>(Ps>oh(40vIF{C<@aS6-9qF;u#<)I@mGNZ2+_vRuq2Pv9ezv6(1k7r3xA20tW?%B z=1@J_m1t`<+4F&PFoFj1EPI~mQt9iXpx8_sAd02u^oP&F1I8h79V)E&R>+?#vC|BX z)r|4*2cLlSeGBtu^3UP|nonNWLb$J?Cu<~SttwZcIHNY!){VY|^&J74OK(yP{R{Sj zx`EIvXglgL93n!+dqVT+6ukQcFSAT(!3oF$lbhoo7+W0&p)me2F;g>jucAwRKt8E8 zFBwBLse|Ln95#QxFTav6U3v?XFPV(pJI~F=RG%j>R1s6IRjqw&&eY102%MBF__^V+ zX1hj%Y|>m22Rev^V`Mb@pUnz(B6Kk{=K7!CPG){e{j9o5v8ugt{Z^{seW2s5pZ3m9 zs*EnKNt1#2P{rotddU2}z_5*-a{JXO7>mFy4&{CIT0C|4yOt~$wpma*y_p5*KGmj; z{wjVQYvlRTNjV$;=XMtZ@gVOBsIBJjcz;0{Y{3lc+IZam@r>bZ(|yuA0*22maR5oEe3qRSIqwPmUGiKg0{yYS-1 z%BYmmmfLlfh0Ew54D5E@^!ZToyFFO^ooB#M>We`fjCrD0s5$X;uvdbQYAl zUl1AwOpM!#MjfYmE-0To|3?`HZCpC6@jYVk^Rtaaq6S2(CoGeKYUOeqH+6~MOgnKu zY?tKeqT&|Uf@q%}e3@tB!q2RHgMYn!&peh{r@t$LMj%eZ9)zHn-Xog9Fg4bO(GvFm z!o$3U*u0*)aURenrTW)S7qIo9`RW=1fJtVZqf2+?`GCZf!FS|XV@Gj{ulY(dZ;6%1 zMa2~1*m25X`kJ(U=v}rqx~2JVeAgR4f&cStfu)wpMiK+$V-bfu%Pw( z1FeD^DX~2QT>@7jC*Bxm!SBjO@mKp7rXSi0V%~%teH;`Y3xKPl@i z-l0(AqFT&dFc}WVuB8K|ihb&w%T{Img7Ao8$+#|$)>)>ul$DiWwS&hX$lnEiLB2Uk z_W-I++~wI+P4h*FoSf|m@!nHR%j#whX2kFKT6Vp2{kfN4gOk+KD&ycV#?MzdtH7sw zt;!k=ceeQQPiuo$Xtjek%X5?NlP7Jb|9tOR2n1ykN~Mw@Oc%24nSqGOH&qJbqGkl< zO$B6Jhi)KwTa)zF|&CC`_6qjb!}V^PwVx08}x>Irb&Dn!h?tPy_sc> zhi}P-?=f!wdJaOVrAh#yneSJGdNaQYDyjoAnKexV=6!}Q2DEFh9?N}f6R$DNcOLe} zUw^fCYk$9?({h9xOjN+}g2dK-rTbCS;l>C9%5C5m(dk7i_NOC%t)Nl5h_cP+0e!t5gYr~h_ z(s>8ix{<=a!*}YbFKiBMCsoM;Yo8u&Q!`IEBC!UJSz>6RfGk_R0@A zHuM8F4);rI67y;nLU^~H+|i8i-~xU#({Pd?!xhDyxw=Iuo7Gdcl=&1xE@xZHZ^0xX z$PQH#br+KKuyHA^n23=Y{u%iS?-9&L+&^}kl`OIrVxb+uc`pNJM;oC+f*;!$jw9Z0 z_Ar00W9ImsP`y!PB8ce0~fdAaero>e+zh zvv;I`Ee3EA>!_EUm1Y0)2T+AFGB(l|^uPdO5jv!y2`1Uy+glkD8Mbt}WnQ%ebJiT8 zrkvfp-9H$>kxaKs3%3EyXZ`#V(*Nd`D4=WYX7pj3_Wy{!ircGI85gxnqklDH-ZW*| zGL=;Ug6?PCZGNNGA_+B+l>Z{MhzEVrG|vi|lk*`glb8D3BEcSdt+l<$=%-dTT+kQz8Z75Wd!9OD?-JC&x zZTM&2{O~`jeD~uVnP3I0iv*7tQNv4Y?yD5$oUUI>HZ09Y>X5sF$*8{zI{yqQ0qWx_ z)o89ZO^Ut2XR~s6VXum8a(xHH0I4JHh6*S2zTp&CXWN?y$tKqDA} zju?)}GOq^03R@-+J&Y=WihuQuxiTO zDK^z5lzUyl%LYc|0fMB)43?IK!;#*m&;;)qfWRL--=(gQ;YJjk+3GKYGLOz>i8fa* ze^7nzhV`@eVV?B)bAmE?sCN+%xk&}ch*yViDs701x}RIXZt1W)?shYf0Na1pT2V4~ zxSW+C8zJ4uWPz3N-H00aIVpP`H_(S0!pEu!zDkSp<`SoTsNxoz_m-?Q@4M`U`*$}NQz!mxuU|DmT_{*rpN z2(>kJs4nw|OPd*xSezCb_a?SzJz}8Ah+WMi3Cttx9*6aGs3xQL?4j&YR|+NH?0;I| z>-x$xJGcgQNci(`pC)TI1^;)bZUw$to^J_gJ^Hn9H70j^$#8%~qJKMczL-s_OIoG@ zzZ0|7C1(+P1pcjK_7eZl$Ouf##1#;{#?vf%-$w(AI@}<-mttOGX0H@6_jFfY53*m_ zmz*Mc`gBDrw&S{6?+z}*3G{Mwf*?zD(IV^5^E~_7X;4>M!hE5DRnwBre79pf-6EHN zBKYa%xj+T8}@>e ze&Al|Tw|Djjk|nEj;vcake}6HdCX(%8~neHoXLt+Q_KHe z=`SuA@$hW4bIeLkCwG(ITaV}N{3AL;Z(5K$oCIn#W13rIp-;Nh)I2dUuitGPiV;+i z$3qVUlz zdiGotVY(`&63eg#i6}^dSUj)VQds%4?&4fxus%7fv8Cp%Ln@C~w3F^purqp2RNvml zO7L?0?BV!lKxq`YP&(4XjjvI*#!9$f7cHQI2rpPk+DCRw-z<>_keW*TA_C;c6cHSO zn*K%uMY#vh)r`QdquBeiqkTGKG#%BHZtl~^_wf<(#nyeeU%k)J&{8L*p7-`}Y4aVp6uG?AGy5gj>~aGq~MEe z4}Q7p!)=~j;vcg3dAjJ{|4*p1~D8=Tnu@J(u$ z@2R9#S|X=(_kkqxtp2o3;d!i+yK~sYJ383}rPFv0FGgE2huRxC5>u!U48UHEX68Xb z5ozLOOQ)v~H8eEb09oR{PUWTCNFc*Dcfos8IkI+3E0sI&JcS=|!43H(cy(-h6xVu4 zh*-YVoI2jcYktHD^pRyB{^p@N42cV54Xje}K*o;qXu4i3f09sWychAs0|7g^n zc4{2$biRkVuMIrLsf>~|2TggeaRFc6XnRVZ&(k|YUyFMB((?*9HwRLQiKpUjE#Z4X%QF_pV zQ6#@`KWL@`bCu5c2Bxf=63WSiF5F!E&Nf`Kpb(sKhmy0inf@B*fqu3i`27^-LLb$e z`27CN727E@+P1orM$VHAP-;aFw`*eP4no6H4KFD5;-8)>X{!f^fRdZYO&Yl zBm1>gu62DPZs~@j4qlE(+>wM1tKvVq9B(lTf@fRS zBF?MA0|fN!*0Lon_dk%TI4IK@B8LYd-q0mL)jG+7GR>$MgQ09jnn7Pk5Dna(Ka);n zbgzE|x0JW4Y&rUG-BOONUA#oU_<~GZeZLP)`iSevp#!AW-31E*P)v~ zb{0|`BWZ#LlFpBvzYKnJ>tW<)wOl-S2yLZIT#);7 zSbrB3?!te!`XKLb_Nj>BW%#pP^8Ny$wQHg*|KfurV|2OO#2M+U1NjXoRd-76|mG!+EQg21XQu#+4+X+UqN_h7qdj0X4HU%?GXKeT;Bx5=61)OqUW zVG#!s>-h_8&EBC=qT0Ccr*i%qKdlYE^rNYV_LufAB}J~Suv0A;f;a7RLB~Ni(YNcv zw}8453#coPGNFG-0!89o{;RKSq@HUDIQM|xl%cMY8D0`Vg?)EbZ&aoG1qVNC8mB*$ zit_V@P_NA@rkEH+ob}t~DxHUIgmk(|1q+(k<)0)f$(6tjOINlp5-7r1BzK8qln6Ha zp;Ws)O(;1u@+>wX?PKRD(hBxTjHA)r*T_FC8+4kF+GR>z;dhVH5d9|ff@#CbrtV(u z2EmmY%ez4Nn7M=QH4g4`kY?uOn`p4ax2=fV6sF}*>GF)xmF9wDq)W_S<*47c(k+l_ ze~>&PjhlEt`btHl#mbrjf)`k@d*m=}R?49qSM+GKj&=@9KDfoC(WL7c5Ku@}np=2E z;~C*t@sB#)Wao`pOl6T)*?r|v5VclI_%_{FjHE^^r5nOC3J7lj_U$4A>Uip+;B7L| zSHy*suVyTpp3z(|I~}4qq$$jH?vXpTO9)KXyE)UPy0M%-CiGx6DT^D=Qxgql*HpwS zqH@=6jq!RGW>=B_Y-K{ieOHD_($!OAV{z2Ra8AK%XNyPWvC#S>snUtxb2+YSZ(Rw9 zFC<~YlFHQbt_TYj@q=?eKRDIC&gByr`}s?16#W@Lq%9!rN9hB8YS_bk^b?D2@4CHtw&PSInT8LUPD*k z3j!*3nGPUx6PvHFz(1%-B2dgc@D@D9f9hllBE0IPtx^{XCgdaS^^b6Oq53rs?f*p^ zNc=6+DeJfY%HgP$=nPR2n#7Is)ouRepvU*G`m}VM3T2}5`$}@*)WSY|mv}-bPg)^1d&4cDa8vf6BTmjI*6w7HDebH4(Fry(-97nUZe4n1bKBmI5EhhTGgtPl_Q;`?Fl_sHw+ zQkql*N`vj-ycYW7$PTkk2g)oiiQxEv09Df?M7pQ4^_ZA>UVA^`ow`C~ zsT(F@ex}gWbJ{iCmb8G?*KAFEsS5BiktlibQcb)&3u^{5OsW# zzn`mQ<@)hk`mdM(_K*X0werB=FPY(AC%CNkoS$FPq{Et$=WYscFO=yUWIDtROgc15 z4{)uoC7@xL_SNH1yh`r}kHk~tdKMNQzPUV5*Q6Rb_w4h|EX0Z?P_d{UgY47Me#7SL z%r+ZDb#wdea*k@xm$9$wfgPW~!{_k25t|^kom>GUMF-7Ey}}R2nE_pdqM!*yg~Dfg z3vY2&Miv!WB!Mq>%k&K&8yM=WqEsRp$Ff>;c)>=B3}~jC#vOhuhU6k8w1c#B*gTTl zFjbaMWs^S|PX*0V4v)+cO>hlsJVEcBQU=!d&TJlI;kM@+4?q{NR?mZzTeRTq^2ROp zUvT*LDDGzUhw^4x2;%>e(w^Mk4_u#jK^#THuQmixzUL>MaB~XnH(;BIZ`$GF^go6@ zQa8fsZVY5UTo2Rdc+X6da6{mv55f8zo#Dj`yurikRNHLTU0 zIN$nS{U8$an{H{<3&irg`}r@djQI4cr;A4qDMMJiN1hhc1jlso;9b7%G9YL*CA*+X zO3=QvPYRWdMbG@s$Ex%u-bw>0zN~HHUEB_LQn!9kvrJVgH}F=wDLH{RHyw%?c=<#2 z8kMRf+r0y0SCnjm{rO8MOD%3E9s{9~1C5F;BSgMNpLvUz6-jw(ew`u0#&hq^2JJWj zaL11CTC%~>@j%()U}kefZl|uJ_+#rORO3Oi;<)F;;)0j#G=OEEZ~FU~Jdu3=GmPme zwX87c{P6hL!5m8@4t3jjpYmbLKEjvM6+4Z-tMPI{f|l9$wVf8dD!p!8sl%QOKZv59 zd*f-+vq{G05NYR$)$A3@=*nts>VLEO-waQ%_M}e=7B>yMA6$!pAZ>&MB%~Z-I??ys zyC%7HKS5aUa>uM4+P&-x`oN~})N(#OdLfh)*_hzd+eUc$Xm5+)Ww@(|+n;>`GHMpK&rRQp_UmMui*xX1(cO*o%FLhw1 z&MmAcCC&OIw?8Tzd=nv^hWsq-Wx|q7@LGTC{M~iX6B;|4@T<@N8{Y7R+6DM<(Cdjb zGD%(jrN(D$RESB|N|U=x;dk-?(fgM&za3s{Bfgi$mGf}34Y++e{Mn)Xesbv%?kxl9 zj;bnE65Bt$8;NoLM71pPFV^y73)(&8AQ``@CA`D;OIPs{V(%Z{&a~%NDn&5H2C z5W;7NZ2c>uAuESL?Ds5O@A8Pwvdoh_g)4*H;tP$~i7-tM-Z0Wbefq%%U z2hB))=mb&PUs9*Kc6YB3fLp7Ij5|6WM$nc8uD_bS-Xycjzx$^M4Ow66VT6Q8MKivdy%urSI27MPLhJgPyA-SG#i&y zjWx4xE~hOxC!2?|?K7EQtmO{WEebgJjC_BYDIO~%?VfuVMxUsh!*Fh}M+A6k8&i?Q zBR%+BW~P3#+Dm)8CjO^pBv+j7CYb_q3qhl@=W-Q^M7ZQ{OSHR@6*Dgx>Ws<%R@aqC z-q#5i`N?zuSo~_vC6_ZdrnhW=yixKl-ZK_}Iy>Kzn4OV#5JhibD*uzrdt7O&A60WdHWw9AO z!vLcH6!$c;n0Wff1*$)PKo-^oF-8hVDAk57yFFn0-JH#NJiLbEMr)%?pW`~n2R!2i z!n;ek@E-(GuhpN0%OK#O3*I6bzWYBpUM1pum;(g|%en&n=EmbbTf*=`o6cd*E%HrL zJ=iP8owW{C->H((S{6GewxgDb$!fNB;z-|{TuA%qC`}Z}Ytvk3=EAplx|*(6n~Xsx z02*7?ijzegGzG;Rw4OYf4>)Jn&=|5{J0~rA3y1=`*$2_*^u1_|Y@=E3U%+g>&lpS5 z>@AZ=X+_dg6q`{%Nqhe?ESCrNLxxrpBoP^dYZ*{8c<$A$X3pqGlxLB;Lq+)$-G-Swyp>6f!hzPDu;DWWZgTAF7dEbc94Z`09ee#Hhbgb@^3%E~Z4JJbHn^&u zur>YQ(JT{D*o=?AZS*47{zp?YpwFfjHSsPUgOwnWcd&V2&t8Ds{Nz znScKSvPGZcN99MGHBgH1JXGjjrmUlkKzP@!d^q8KfBjvayZn*Hh;qcyGV=Co)|0A= z^t5>kzpV;8;ATKVzAF0`aK$e;8rm`MbTg++`8Y9!B=dztq`QT?+$Gvw5WvuC>=IHt zaC!OQ+qZ4&d5fJ?tzx(kELRNdp%_Ev2X3d~(CcaGD8tw1OlRzpNAK4p*p+6t(Vq8%2+43 zRqU6;+qg~hC!mytISp>}^M(+S2qg1sDWc=-=flf*@B4-W!G5_EQ~GU|?++9&f9Eib zq{gZ@cU%iF`7H}G`jpeaB^N$aCvfQho0qS(m(E#3!o>O~z2U>2i`(1Cgv674v4z8f zzo^lx=nrtgUz1eiVL9nWe*NgJeS@14?<}2@_2B0ZM~UF;HGZJPL;SKvfh~!J_V3KN zUA3%k5GiXEd+GVUw^!lcsSstEv?0H&k)36^2m&aR6Xt<^o<|d9=7Fv%C{R=2bU1`; z@ZI_SB07@8F&tnHVIm+soXlf6i?Kr#l6WjLSLurNedJ9 zKG4$tOByAPke;EJts1IYX-GAxM+h<+4t-&Xe$x6HOYArl*`W*tE;gm+2t;JU1*GI_ z2U85||LV%ww$4eztBmju$PlRXM7+3{oUy+FU*Iw% z@6x^W*qS|cVO_$px4D$&X7+uMJm_;y;%=qQo3;&q>fL+J32$s!5YU~S?i*M8+Cg!0 z@bq+DZ>D02uG0fs0Uf&|c0M!+EuQ(xB$sQKn$bw)7UVNSml*hK;N*;OTL9vFv4bZz zVf@nuT3Staw9=9E8JB5!JivvsA5`baD=GE%CQ$i>hQ9CL#Q#Ez%Y9Ayj5By%NKdL+ zQs8df?8?E3L7jJEN9}h2Hvuwbux|>LYEwdHrnKi0J24@G6=yUk-4CrVAUgRihM!NO z*0sPB5Z4_ky6hbN*9qwFD(T|&FBH1~#MQV4krOt#L|ny|vzikkxI#Jdh>ZrkRUt@KV_9U{ zX+B~7tod;q1t@=g{Bi&O1TH1~WX}Okd8(WnF&6!BtNY?40g>pJ8vsyY8&M2>yQ^J@ z)Nj=eX8b&FSW0>C@yWG0{K+v1O! zW}zQySm(9tbMsjNp1?RBO)bkmi`)BrYbqg^Z`5~~ZI%OmAQd**bvC7IJvqsmVq5D( zv$caJza{&Q7~f8rh(cU0yFmjZLMIuA00hr3eAy4ib}!soR9@K?fA^r~!slEH&`3Tf zFrExTESfm3wCp>l9OG2v;ld}a=d7+pLwHP=qmk=@1arUI*-h>j-5;2hXz6~_+>Ju< z;F2R?2iN2b3=G!Z2WG7S7A~?-_|5itR;DeCbCTquE&qJb~ z5Skw&#oOG%W?KM-57n8Xg2(s6b~+m2T7WCZo(@x{BB`SV-ZdRko%F*uLBS6R9t%}g zwbycJj#2(=!uFg7UuKHKf6qJg4yvO3SXJMWjeFv2$l4(R*Gq)qA_ZWDu0&g^;58QA zc41BOx!cB{+PrF6jP4&u@;-i1z3ZCihns!!xvUJZy_ENs8%mkqChU!{#yn=GH|Ij%?) zQ~~EX;sRawCu?SQgIP;yn_PH8va!Fu06oJT%pw^IPe~S`%?E{0nFhhEEQI^Y|Y^iH_rRdu4m7 zRVpU;SSk~aN$fWXo@<%)TjBLJ<-d4jXtiWz#-wUl$3S)UOP+l6^iG&|_uhOXDG?TpyloeW@=5pUV?X{P(}1Ml zxD`NKbmMdW(ZCqLE@01kJMN!dx|NX$o$pzIo>voZN6CVCYI{};(a{X@_HS^?3YJ8!8vFuPU`*nAoX=Xj3+qQ?u= zw6xg1bW?pOfqVb?Wv`aHuQtX}RjlEW;L=x$U0l$QV0f|JE>dRAN>{$2m~|t8Zh9*` zHT&0jM=-69wS+Ugg9Xahp~6}0E5kV7MLBMMODaJkuVa67Zf< ztaK+Qf}bX1conTiahpjg-v`#~(vvt|#$nzhpCJDO7Yu!#W(dKZ{A7@V59tFx#=EqW z_uIuAn-R0qegoxecG2M1_3e1lAA!wg29V{|nU}iEdtZBl(xUL;OI#fsS8(c}w zX@8H_*!O7}iuyV0NAuQIvJ0Y*Cnj^{6;%6ijZePFTY~%o@hLQMK?BX2B12NmVVHk` zig6>df7&~dhxsc&_3~RmW1u7TS*o#(gY^jLgm)V-j5w|17J%LlJoTSTnujAuV*jM5 z%a=?uCDxsc&=sX>ub)pTvgUedY51P~^sLjl#8C;1dg|;m-vt5LPL&!Y1Gr3jaKZPd zbZo`E-JUt;fIz1r60Vs$QZyfo$JS0UkXoUGsdD>r6aE%&5<+-#8KCujikO&3_@oQS zt;yL9qs{;m^H^h+8*u*%caadz21db;;8teGL7rhgN?Hs3T>AV+uiS(c&EdN;p^*$Y zIPdhr#+F;fVwPQwr14RLOQ_vYexyTxA>)imCY=T|xDjPpK@uD2GUe^GMx|$b1s)_a3$f$suVs2yonnq;H6O)WP59e&0P=>TJ_RL_Ol zP!}x07jdl;MnpyfCyrM?X9V!_GeRw2u}KWmIj=RphSksuCgQqHIN$p(BwpIUc>a;7 z`-sj7>&FP+Ab(9-V}w3CJ>k` z@85gLF!!D2#vQOl9YxXX&F3TOP(A#YVgKG&l)N?~aLA8$X6sN-37rtRo)~G7pB6Hd zmS7l}73#JRUhEOLL@}?iL>)UxF30HNV}jd@+`V%14@MHg=|@LR?b&@*40F%)z5w5m z?GppC@xW{Zm|$En=8&4|N%gW%bpC3F7n3uOTs8V1HjWBUG(LeRNu4Dpl#<^694B`c1d#1McH~&{o}rB=O1R`TQ67m`C97IVcMsW6qq0ESfyI z^7JXYG9L@V6#l9tp&q9C8oT$Y)Cnr7W&Cp-Q+=zfUTAS20`kLSmUXJ(eaf1=F=3Dgr{U)O>XFpsd~0b@g9NoXRR zg{li0dB}n@AV#7{I=(0W*+6b02A0D;aCFu^C54)PekBgW+6c8suB> zAAQqt(QG3uSt3Vo5q&;}N$bts>K{96v4OmO2*jVGT}55y&5+)L%s-;L8c3zsvfV=t zQq#xuZURkrN9beBT9|wUnCjag1P9ddxqA*@Ov2{=^KM{ez1LdemgRh65`7!29akHs z1{`M^nwqRP*RW_*fzKUX8b^Ve<>Muz{}4MX2Xu29{?JqQQP~X6jB(bkzU)!oo;tu# z!Zch;Y6Pf$%@alM*GHF3Gqp(yRAb1QEFlod@RM}ZX6`qddu71RD2Xp)eCVrLJqF0( zBz2+K+yR|5Y3EV@70kBmj`~qmJ0S71=2U0!e>@rhpbXwe4DdUNx>P zyX*SyQ}c_I)MSYcxS!baqk=^J$Nelqpu5h2!s}aRzLPTP{5jpfM72xgzaC{?r2J!x@wo zS5C;azvNZD+?#}1)U?NcZuD{f{k-H*b|-)#tye4Yeg1?A)lZtxykOD7Op@SG37ZeV zf?UwrlFY}m7)X<9aFJs}o2y-BRPR&SKA-bm0+@8kO8sq?v*SRg20+zJZwDw1%hX%y z2O;HVr9E}hAP+9D3_|sDIz0f#(Ot`(cJ5Z;#@ zg^8538p%2icAB9k-N()a6S-D}cgwmX-_ItuInFei*LynjZ_AtsJI>$4j`OQLv5FQ> z>#|BF1?$cQGP8bFdX>O-CcTJKPJEYV5OmL(-QerLgT~y7g!4i>0q5F0r-%r*+BLy5 zvxjJDA?C9%nH+!X{aHRN%G^t+UO-=(u~F#^Drx#}7<;9Mo6*cEEcn4M+l++|vCyoP zSJ=+Z%qqEhDd410h1-afXZ$x8tqy(wlvknf<_*~BbbA;7%5>HvP>gS8!V&xaFa-5$ zw)%Gg6|j(pbN+mq5l2vH>^(#&9?&raB@M=b?O4B>%vpb;a%?4n)I=C-heZL7)9>o~Ryn39@3%x-dXD*OJT^_wtW=0wWS;s!@lnWE zfX>1!hvb;6lm;JZxE1*EG0CuYCQeTszlNBJ|){`>LjktVM-@9BD(Ks(mT z!G~9|c;Tvw*vcONpKmD6y?>v z`*U76UmSzq{y#QG7aVwxi1LZJQNnD5aTIyI0Ng(;>%F`rVpmb^-`!PMYKWCoTYkfc zA4=ihuD;H4cFWkq+1V~B>M|q4il=K}YL^$3u^-dlaM9d3??u zehVY5^4h_$Xc~&3!WEVlojyr;Y9D=jsyHpX56eQ>XE4eL8)n#+2HTG`rfOf15cOhA zsSM{mgn+Jg83?9WDzEo&B{8jEx80!#u{T0Q5!}tl`%-}VdtFMzWMS=Ns9q31{-$Ie zmGU;7C@-m*jjG~2<00S;eb*fJDuqqN-fio==e?Rnj)lmi%Z+WO-NSYxCBLDv6S*OF zmdDxMV5vHX`W~S=PM5Sg;gU`2gWCOyim7uI*-gf`B36ejPc79fOe6}%%;et6oZ}_Z zUUkGt7G$pCPnCOWF0iwO0$SXnjFHPEjOh*GuY`#znAOIA?vjhqyU7EAgS)#zxbw*| zW{YqXAv|UQcWz)_e!T?HT&htTV1!}FyIMH~E3H_-7Yq@2(3}29Dsk|&3ub4U#v6!c zEetsdF{DcSiF^LLV-t)yrpx&$gl87uvzDngmL-wB9f>dKi1~|=y;nuU)q!+0!h%n; ziN-wUw`a=Yrym-!=GAz;*l8e8B-`O}ksB(gqq%uQkskP<|F~)MoZj@y&A?cCw5-aN z5l$2^?Inxb1z=}ew4(?j`%nbk%FPg2lb?T7@?QnnL+18fl|*rw)cNfNGep4SpKAlJ zS4rrd*OtRxs_8Ybew^Uly*}Ls9M?8S!2!#Wh$R)+yhBD7v|f7D%GN#@(u#*kY0`F{ z-CAO+LA$8M+FgogZztcF5nyZ)v8eP%T3Z|oxK^w^^v2PLl)(p=p!=c2MNq*AAHPl8 za1=iClEDV^Bg8WHErXQ((Z09QB&Q*xj$=mh2eDd!i?G!0oPD-Q>Bv2Dqg{2d=&_}9Qo zQgC&Rg_8C0vTb#wA?;!TnV}cszJ9X)|7rnpzuDn|qam8?Wuc*ZlR@*=N{&i3cyt2> zQxLldf&D~M+}+QgjrNh5C7%DctS6T9xW_|YG0*8J4PJnIJtoTXWGTv0i8d`Mqa0Af zo;J%ty4_`JPH-{;4`{Vo`BTVy8y}tDI(Q-^2R}?L)hrdls^{^te8LTDOAdG>-Yc+d z8_Y!#T$2Fr{?*(h{P!7t>G7Ws|KaUSuk2z4lC4FA;3M?VAmgzM8u!3G+1SJh^9Sr4pl4wW`Gxbjig;+`29fA zFZ4-1u)Xu!eo3`Qt$p=W081FJoI(_UJmtvlX)e3vDh#$m&p-2>1z+qzT4q2Ca;njw zew0XT0)ku8Q{Xy~>EDk&y^7Jdlo-G#$xS9QHa0=Qrg>~dtt0^dk@*b3TkcoC2t*lJ zRyyyfk!`1x>>M1W$j3_!gP}9<1J7t&>WNcrliKoYM!~1&gkOZa!@^!V!U)S zAqEO#OLo_PhaXE)R|Ej~<>OVYD-n#_X%`cjQ*JB9VQrq|TVzq^F!>qkQ1vtKlyV3p zAHl=Lb!7y=bsZ8&T5D+*aDyBI?qVLd1bW>c-D%)f$ zs#fIiK`~?n2r^=n$G-_^^l7hoRV2sM{qsdg^W~>;t66kBTr5yI_k@UKH1HO5ow>fg z#a7dM%Q)i2?sgPU8UI$i=E29qH)nS_9%KZk%7QDy=Ag_hM4r)1>zNp+GEgTD-kW^mO&6l}ogjSk_D*TAa#}y^yub2lQ)JH`-g-OnSSWmQw zqeSX-`g#EEvYZuDG8RuO@KW|gUe0G%aLX8_epD)H+*e%oX^Gt^eUVC_%1q&3fD58$ zekG+f&s0foAUeT-yX7>Rg_}(Lw5jr3XL-cRM^1`}*w6(Me~GdY`l;&cD=~N)gxvg^ zs~T+*er4Hqz6kA~yu)_BbAyJ{f9_XU!`>=kuBQ* zvQ2hCi!_9=Gc(hxk!m%au1I6Hen5Lhp`k?3;7dMS96Qq(lWLAS<$GPj+2W(62dA^exdg`;bZ&ib zB8X(y=wQ!ezqEdhca<^fb;_N2NO3Fvy0V6Ahb^|I&*4mBaN8U4?|`T7&fuJaIB>*G z515o-DJV7#AF3gEeGe7Nwq!8<7%{jlHa6%*i-&n|ar4O|aOT%mxWf7=ytlLeL_STt z6#h*U0am;k_sSalHcATKnj3!_VHXEQ0jKZs#eY#bc9A2)MWJnwT0ln!QW;kOY47se zd-}KC!f7p=;UXzmHAX>)mS0w*xgGIP8+Pg?obuzxgXL}g_DC;4$Ajkcue`v4U)%Fv zyH9&C2Fu&)26<{IMb^I!snDL&CoQawFFh0p6ef~`+unbxACL57lWFLX@H(a9<-=zR zX%$ILoe@E{X8Jv@oYy?ZS_&^Z@W&}C)FdCi6uI?oJu$qcVTENban-$i4@$T>c0Gfq zP34}4FOr}-l(NM^%X`SrX01<(>cdgD=sN%BfOXDJ$@CU$Js)GeLTg!3aj^N*f6G=( z*>07^1amoW&}S7DxVWlMda;Z3-Tq6CvIQ8@h+n&er{7gd8ofO=J6kI3-l;YqD;yaf z2U1NUTe%s2Lt}3KMsV5{zkVYV5IcZ(`*IfCU}623i})hW>s=Cy{0`onl0`GEOfe9< zB6ag*~pvzMx?LvmrLGTcT*2*pTj)EKW6+w3uQopLJ zG2Qwnsm3qjPRpXW?GN&SL+%D}DV^`;A6Q-0Zm(+#x&5TIiT%ip?p&SL3{ukr%T?4Q zv7$px@vRvpZTAL}vTG^1-e~HD9(^uf#b*@!Llso1r>U|XT>sJVr;J}{B&7t`t^}{R z_R1vNywT6W^$~Y44Nsy_hMwP#OzerfT|`bYrtzBqw+o=u$9IcOPjKntnkHq47hi2}_W8n(P&*Qi~;t}q| z{&$J_GiYi!UjVP$q(JCz+I`cuB?!B;|JE^#;sv(_>UWRViMmKFdn|+qQooBijQ&Ehv zq@R7}kaS>F6y6{GA(;ml8!O1K(_p6II{XdNnD?dK_c)<*OA6wGn>ww5y3_#2sUQ{k z5h$*B0q9~VACc!OUUuj|;PNmZJ?ZV1v&1EXrL^-ihKu3fT4pYVE639F}(Pk%Q2u^XRvXk%T!n@7{YZHF!xvjZiDNW}>gT!07q)(1*~7 zn}GkW1J*S;n7zAGIxtdcec%R*_6-b-@7P!S8P%naFJl{dZa3vnBKH|PrN{bsaz8Eg z`i*+He%$X){+MZEulW+YM)!G-qQjyk_7S!k5A+nVKFjRVZ5qJIwT82m{S9ON)XuP~ z#qWT(czRp$Yf{fOS0_zsW4x#(U3FKWt(qlPP*>V0)_ zVvKfH`NQS28an{^11Vz!^@p5~Y2VHw{)NB7em9-m2{sDhA5k?K%sdEB1Bd}>KLk1` zh&gTg$(A8UP&T)t+0vfh{+bXLrIjANzj0be2X=PaI=9=GCYK-;ZcLv8psOZ+U+i0h zPSjNY^+ftQp1c)3j08r&FUp@ZMp@L%+6+3yIm zf(7O6b8$w8eb94@dCF1wLm6nk=$DkL`dMFWn$P4-!cb0c6-Lzw_qZMv!dsw|IZ4 znK}IRQ`N;--6O=wXjsKDQh-`CY{_^4psle_>D4;$s=epR8IRG0?O(vlnRJ%PfVhg< z_`q~ri?d1#t~Nc{C7&JG*G_fhgsZS{42JVkzg zz{z=g8Y`w7MWWlwL9j+lX}SI~gkaxvZ3$a(jPNE01d4DxH;u6-Dm|YvHb9K3qdlGNvq-20C_Nc9C%#6jL%(F|whCG>|2cMraRctd47M1#K{^WY zF0Y?QU^|=+yGDy0^Ri3qN1mm5bKSX~sX53AmYTd1p}9=dq2r)X09aU;K7*%aNsy+= zJ~6kvQPe)^5{oF=*&cB8KBhsj%Qny!CJ&NFHvd zZwf;{S4JO52mhP!!kL1LDugR@7=q7s@Nl7G)pi5;hd)NNJbwd}kASNl^@qeQRMVf@ z=<~JtX|N24XpVO+o222{1lDtbMnsoz3b}py)mIe1yv>xRR1qwJZA_#Mri6rr0t12n1^n}etUxAh(!Ac~vPXI1m>tb42M&YP9Hh{`&n*!|>a zKAV)*2VEl=(8+$@*x>n%J03XXmcX%Ss)Ic8Lkv6C9{?6&T8BNF41%rG{@I>m5W1VO zd5QgX4nZ-fh(g3Cb-t?%t9C8Bw0X1pqhz4C&G=JYPNe6i%yWQ4*){cs!s@oE|04tk z(I3}VIV#TK2B41iUb`g6$0O>=QMk=SEGx&ZJlpJxEv0r2^shT=1}8{KUxL#2h`h9i z5AM85y9?#9xgLW*!($;C3uXW2Ub~PlHQ;pMb|Pndw}}-anlOvo9o6Rz9Fw$5kC5MZ z4}GNUt~PQ#Rxt9$2R;N*d7T5GTOCT=Br-Z{uf5)AWH-rW6R%sFT6g)^+AS}RvTOos zyF{txP_cf0dXd|W!8o>5z8OyoV2&33V{KI>)Gmd{` z+&>Ml_rH*H-(wD7BS44v`-Uy>^vRmt`WA6FM3aPxa`e7X3KNZFrS{zUbAN=a0d+pW zW;bT|Iebi>Dl z05tG4Qsxa^m)_Si!2Q+NsQ{axomP5@CB;0PHfBjT{CXa(a@C>L`W$b^OpdVXMP=@` zb=5O#@%i!}%yK@f#N-=iTjbl{F5FvxWxmZX%-?XX?R(Qc@M@;`FwEAr(ia4ZM}XM! zOTYYFtCw%JhFyb`lKUSl0cLi`n6cR^-ahR(<6n!r3b}_9;P~8Zi`Sl~nJ2cpE5L1z zvu=EYb`DYByRjW)TkXFlC_Zyd({NpZ83M{j6@o%IdFC^M^nGWQPVna%Ojsyl67$n5 z%eKfd4GxB1+^l1b5Z&PKJVU<+_64~%3t6nv#KXRPA?853FPA>yCBBXMbDHRGcN{z4 zDgH1QPX3s6Q7q@Qx}DV$lB&orDMZ=l%DR!x!yb(_=K?g~`T7IRxgI!ToU@i$w!mP2 zDXqyb*-}c4sZ8>+H%c6am=B(eGX#w+*WyNN5==GUS`|S-j}sjlH&zI)+Eynu(H{ee zjt>o)+POm|wq!!t(`?2&x1TyZq^d(F37$|97Y$upczZNHP8m3-QK}|ed>?d`3cOQ6-a)bLxU(SwB1tw8W^t5;;A-Thh(3C;RnVJ+0zSz+Bj zyl7MYidta^*z=mcB~wlfWzhZeIiBQ&J4sBe7!l_rhm4%m?+H% z!`Dkc%H$dI=NW&?GscOeC16&T@Th6JEF2v~!Jny+WxiuW3_jmkqW4-ZIaKsqN+pUt zuS(u~1^8-eX)$|FIPQ;cPItv_?GtKiTaPPf*(eXV05Z-KGd!0+NDNncxe{}xD*&I} zzfbHcW9U=*FqWL(D780MfpYup*tYaj{YBlur8FijLdy)uh?Ql-q0ynLvG2`tGu#*3 z!Eidmd;Kni@0={K8rP0wV_ELOa4))h`@N{6?~L;=`%=5AXrqLR!(!V$-WVd`XTuoph3gsNs8w**Wjl`9vAtQ)|s(K-@}%vKc} zdwHpk*bsSdF^jdIVEgcarR;5>mG~uS^wL?ik>JwxR-zh&NP&nuV#BhQKBPDcATZVN zv7FxhSmqRQaf^U-8k9rzifwph@-e&R!COJ%V>?@0M;x~IdK3j&)>H+hB|oU?p=mh? z7SK|ksOwPYUs!OBq&;5|MUq z$Ut2%Xt`1qgTNByH5Igb6(E}H6_QQX_73wxH>;mW;Cp7~fhwVk%)hH0*S~$jccC}Q zkvIPX^CPePzwG>H!}=c;|JBsgWIHZ3E#meRdbjDe7K+WiWM_G{I7FT1Begj?urPf@ zF*?BPCFd{>FN1#Qx*-R_h3m%$ z{@j=Ev3!RnX4(yRd>kuo(KTDVt~Ak;|6X$P6Q5JojI~lx9GzsiyvtV?VN~jGGQm37 zUqWVR`rdJ4@HCpwHrM@nHQNapq(;7Ghv;5wsaOW*tQpJ<1DQ5V{;g;7x}-p~8=p6- zZW`Im%gg7LdVex3+X`xU@jQZvq|wegG;a<6s-;>Bc`HUgh=Xb>tiTS)AcP$^`_<+z zOilA9|K%B%xqlLJB>nL+IT?rgaV8%zD{CJc(OeI*KQESeg0S{42qG<`D~Lz`-lt+$ z?O9w@ko`eJU+NwlL$}8V4x-N|UVE|);(ehZxa?WF2hjEj%E#CX%d3In zA1SP+Y<$nczZ_!GvS#;Fxz>pyX$vteG`F{!!ruY@Y;BgJ;{#15Dn3YHFq7BM!3!+P z6L3k9>l&46JDuo?#)x)NRj((lFchp!ncrL6yv_6iWIWPfnJmqPu4sqwR^97*C_iYZ zH4-tLl+tGD#|vap7h<&>LMC^|;9-o+I)@wn1|0GjOOVdg5LA1Eq#EiAw_c-3?ciBy z4zkCiVe>k@rGEm;dG>=vdBaDDPovkAHmzCafiAIPcW;Am0MJ;BV1UV214@er-aW-% zzi_t+26U;deYw0B>mSJRpwVFB#jYbWh#B3Or4x9^1AGITq}hZqmgv5cOoZUA2a11n zx}vmE;#5L@Cy!1<(A9AG>g+!`=7NPk ztzcut8^cfE3AWB9qQ+gwTLNRxU%Bkt`uu$J;*70Rph)^%wLm?tvEzagR#O}n1cpEs zrenLqHJRzB23;NjeB(=1a}ov^)n2rhbI0nD8RSLJ)ESafjk4fg=8E|6-4 zuk#`QYSY48-tD)(sC0sE${3jy7=`q4&_cIESv) zZK#f0XuVxRK&$$43)K_WJQJQVI~Q#Lc&&D#>f25bBl3y3-=gXYKvlBZRf*&jGe`!L z)@wa*&kEI5XHU&SI}slvFq7FF7-N6yuKloX8t^?;F07DqXL)hzF7P`+^A})FG|eT* zIlP!Wi+R=p7UmK0%j0T8e*GDAk<0FT#~=Ak`=kqcJzT%uS_TR>dLGIe(oKt;1l$6Y zuP54box;f*^t~*aNx}a)CaRv%01D7*CmN54&rl?``rsyn(tC+1GJ;&a&XJ2ztg7pT zH}X+ElamiW+9hAS=7@4+bx}23Z|V2-A1s@8eG2s3{_|SfAR&;XwSbt(^44;unfw#E z3i6Ma`5zftrvkKgu+uc1Q~NKkg#oHihFw+jrGyo%0XOPW@x!`_hpK&cVNUqw>uJU! z@zsCG10R=mJjp08+AcX)iOpWjWx+g2wdzFd4NR~6`c}G_BQETosD*;$j@HCQ|NrlkRXN=4)rE$`e?hT_ z>z7sQH)Ah+?(~QKJW^IYnOz`~Pe-)thVibxmHofQIihOX^iRCF)ap{Ynlh1Ss)KitdyAahDeA5&H4alC#u_F_#CUb z2x@HTz7bkS6Z(c}0yR0?{R@59JQGm7+^GB~{Z0v%-Wqepds6xUj=MCQ9G*3q4x>dbM~53Uyh zS^ujA$QQBTJDFrTx}4N0B;!=m<5JOykeX&boVTLEku!nhX#`2KP47zsv}XG+!?8&e zzw-zFnP(oEHhEu~7?fPk)X3mo$eM9+5 z89~e>pd#wm+-E+paRS;^hN6?3GD@bS{XbWV60=-;j?-5^MvR{9jU^S@;Sw@AMsgvX2e%v}oi>rW0Q}G9r8qy= z`7p`7?|T~v4SN%p_h0Q7qlFN?&j3&^_n_bCFp2WkAncdweeUDN=_6}T7hriE-3jab zPBYj`vzG* zbAa*8E@2H1(^`Exy?GE2TkRwHdGdG~5>AWD-swp#<-u_%FvnMrKOYSR^5jd~%?Yc* zD(5{!>2WvOUm2lRqmM&Z348}Ll{wBJpl4Ch5AWrFd z^A|on%)GrV5>|->#U&>{mffcecf&7t@R@QUaYrUWEu<%`iUH!-Sfy*lMrohKr_+e&^`%P_Mx(*&T|au+-{9 z?*eNzX{5$@=QbwD~Rn@ z9e>%l;9&o{ziB)1YnJdDlBti>s3^4wZ`eOJyn<=YD$}6*O*?*}cZ89pYtcuK?ZLZR z|D$g64JIX8mZgZ98}q=m1)V;_zyI#0dlZUaThSHC5r_*^pHEeEA$GRGU-%RH_CzKp z5_QwmetFJ0=yt7?F9EoGn}+jj12vQ z@Db+r&wJ5e{IylRN{c&Oum5(@mK-BS#^<-$mO0h9mY_^7KNst1aChD3Sjhf@y1mu! zbpjfiqCR%Wa#g@ooM$iKJMv5K)5_QjzY?7?xB}i;_StFi?ZKJUT-eNO^I#y*8{jaa zqnAb=b>Eq7Vw(ZM{M(3ED73&_v3DW=6r~?vpAW*3a_sVm> zJ{=wrzYHl%AvB?d?8}TNP&DQKnF)iKB($k;KVN5x${l%F#tj?(vTLpM9)ZGz-)skA zoBF&Tw;}iZup6s`3N-{K&MwOr9nvp9ZAwYo6e29@FF)b6*w6T$i`*Rr7ol1#iE$r3kHi1mpV+7xdzH z>MZ+w+4t2{%{O!%FN(t)Io`27`uk9-7j}2MB-eR1dHe1E=z0o(s|1(-7s?BjHm*lt zt?ouA?p&}c&$n){LD7Vk>?B`p}h$A+gnm3 z55>NW6i-nkbmDxpQ`SwbmGL82Xy-hs2TqZyUi@LcyrAxOHeJoHL&RsQ?MA+HS|rk` zSZXqM_+u+jF!Z2kd3=h8LSXCUu)`AO&IbQ(a5MQOcDSEK>SdbqUDFT!C6Q>3);6iv zTNf@4@(@0F!*JG$iJek6mkZkdo>~^0^QO;~)P0s2TE{&m+3OT}gQx7n@%K8OFm18y zpmUmU->38EufKE4%K6OrBVOqM^XYM-=?U@!idToZcTK|ad#(&`rfLC@!@GA3@?n8d z^`oJwB^_=6YNq*@sUnddPzA1*mj`6?N=P)J&VO*Fw1ZY1C~yR$f76aCn%h zo{L&|HXu3qFSDB)ZW7@P|4nK&kNGXa-q|moPdJU!c&%97y7J5jTb5Se8(1g}mwAq3 ziCJF{y_IEl%l-YooHw?d9bhkK4f=1eat6UL4@GEL%Fl%ATsyGQJJOf!G* z#bQ&?^@;C-mxIyh)}Z=YJL47Nfz7+I(X`tQ7klw)M`{^H#RX-=T*26+$PyQ{p&MMJ zQ+5h`ad@oz&HBavN7Z|H!`X&iyo0DwB08gl5WPq5o#-WcCwlJ;GonTpL^p(l=)IdE zYIH&bVf5a69cSL}oNuk~`~$OQo;B;a@9Wxo|Mr!M;f0IoqZB6DfMMe}#j=-5o)>9H zSb`+DXo%LrV=@OrI-*6|Q^F)HvEp~@j@`@2pTrK0#P?Ka-K#j22~J0e7{X4-eYbRD ztP|YAgqeH{MK?Wj&_z0qwU6GXoF)y}_$-#-7@yifvveK-6BG)vSec*KLinq_(|#ZwxoSP|83U9cM%DR zZeJlx12RE~=JoqG;j#vXWw{urq$hBcsMdr#6izLS6gnI@p8ABNu~b;?GNa+?d(z%d zjAey?2RpST=Os*`nqYSmTv$eX@0V!d0&es$FwlN$tvjY8jEail3hfgtj8TU!7Vo(& zn)?5xB#3&^^yg$MqW0YFx1S@A;2*c=zo}AC+q2?w8i|l=QPipGY)};A4~>h(`NdK& z=lxLMho=nLx)j3TJMQni@x-`MyZtHg#0$7#yv^qvW$yZ}zpTX%;n|8ml)t^moE4XQ z^a9@)gp@4VZemFWh`4)i`1!tcNd_u={h+*X&<&f^I}4t#MmcvFTr!cGTttgElmO@F z>I64lhE(CnopcZvjFUF?Q`o4{8}Z}-8k|tx2CU0p$zWB5=jp^Zx&TD*7(mK)?uNb6 z5M)-3{XL#Y;hQ;^GgS8C<1|s~NO#J^qrOzJb`2-gPY6Bw&FD$%4KbP*H%hcT?-!1G z*rXj`zV<Dy}I^aX)9Az9hBr>d0*W4T_gC>HLW`(|U(r{i28mGs!bs zE2uN-G8}B-1~PMR+}dobBl;=XQaU`dclRrHL#qQ?9TR4Q78>zpn85f8_U(f_z>@Ka zB&g2dh`5GmO9=cwOl0;AvcP{0r?p#4@+CLYzWPa z{V(;qk9Y`p+Dk_MLIuZoo+3@Vu+RQK;=|R2o*b(7ZVP-N{?zXQMu`YM&tO(nlPs=f zK1g0Cl?XoG6039rvy3mwEPdjv-}HGmSY7O z?OIe~o#8STUWljerV2IAMs$`so*)V+_+j!FTeq{JqKG0xlDnJUn0K_Hm%Cez!b9 zm3DcT9X`40@f+tOl%lb%K5MPYsD8u|At$a z(HRxpc-MIXFENET1WFT0NJDFoe6Al z+_sZ!7aMm3C;jq;>uGv@CO$T>qooMg-G49VpdtNqu+??kBpz%5`10|ML#dP&TyUew zSjm2*^T!IQDiBkb#!49#60hX0?NX&7;D6@Un2a;{&_E|+afBO_i_u*xKOhF;wCeeY zQLciFEXLxb?74VFgki`Dm<;6GH*v0EJY(n{2i|)FT{K}Bgd95n`VUr-dOEMM-*o5= zzJ6l#FEF+s#h{OsP|^9ZqGA&hDt0ixt7KP<%`OMnzl~Mx$&$Ys?Njlvrv2GUaWL1w zn6dGlI9RzSJR3msan;-G7$<3ncB|VS5Q=3A0CB6XN)k$$;Wl(xrwN?NoR z{RXI#Dd__K30v-47x}_eZLGQDNW!@Cx{Db&bNUv*wZ5!bT6A`=RS8*Hiy~n!RX0D{h|-MQ00rpc$n?-0E$PiOZxM=eiS(x4~0@o~*M6P~F67uN-{_xtjkh7_n+ zV&S17V7}P@+&iiVdL>C>mHeIgqi%OeH7`^Mzm;zEPS`AN!Y(MA+q|p$^)^6%OnHMH&O^w6yS^Rq znynO{vs;^n2J^?X>{QZl;!eK{^` zXl5)6A40p`c=&~W^DmTX-`ZTb$tM;xMHY2GYPs45G9>rx_IpnE4Dn)<(ktV7{mMP_ z8pRa1zRw4qZ)*4Pd_D^k1Arn0(Gk^xc&+d5m^SyPH^1G@CZSrLquxS;2-cl(9wsu6 z!QZY2Z+JVtEgDa71P)<$^RyNSYzDj_i|3^%`0z|>D-_ii<-(0ooXx|g6LX28$l**C zxKIErHvu3z-y_aDtM zIxJ}V+Dne!w$n|P=&&Uw9qfv3$3LH3w^c_GqUgp^GdN#S2XGFQFBC`Zwv<=r;w7=fK+ z)PT3Oep}4{pIHUB^nYd*>8E6=r~VcM=sYvrNR{Z0g+p+h_gJ{#6XStDKY5{pl{(;} zC${)-W0uP9Z}_MZ72`*KEF~RZQZky4pionl_D!7Ck%zoju9Hcv7yx{@5eKz@=i}jL zh?J#U7}L)FJ7ChPA(9vR66zEbL_(gTw6eJS?)6B}cd69DL(EvY;X|65*osM$xW&W7 zbot*M91}<$$uquhL*cvpO2-Ynn$vebw`i?fk_!uCDA}&G+Ja zV-H8*Kef(mFVJ~MoKk}INHQ+Zj5OgPEp_=?-3w!duUIb>V)`EG@^@Lz?Py3cg;hNG z;r7AVJmNM1E32ikSmgWOa^G;Ab&JbAP=?>aCC>k54>zGQQnYrADe98%3^^b5Y1_r6 z6Q5tUoqhn;R?O{m(8Z_ufKHG^p224?LJ?neBR>d5=*l3Pjd%==ILT29Ei!}21^4f0 z5&gHg0qbxiM_o&IzB|nZ+xpA_NRY{agMNI19SL=p#RqD)< z8al~%;a`gqe~uOzX1Ytp!N z(pfFiLlOZflgo+5fHH(#6q!-4R5PSQs(2DlJFq}2ue!3%8fxEcQjBIxz@S_CVjf4q zZs?=Ez9)pQcN!Nf;4+$FOxc3*g6Ao`*h)nCrSdq*WmDF!F|USq^C0TX^JUyQJKOwo6qFJo6+v@xzSeMu^CUW zx<45lp3h;e=$*L{LYY!YHa6^?9k&YT_Mio}Dn4!T;hXK|J6xE(Zgkz5QknZz|DBX-aIR4YopCPuT|eu8G7;gObidxfl~&lBx$&2a8pLVy}epk8DK; zQXk}a+QmeqfdI21*^mo&0MfYoi`UXO>!D{5y=w4=*FVTT`oAXVPzJ@7JL7gCcKwCtJ0MZ-F(WB9mGa`p`BrAl`heE)~*A1w6wc0A_M5*QML60bI9Q2BLK zkYS+XIE?<%kcM-Sz&XIqV@Z%VuGYAwZtn|kxuW@XmU=jivH*})bIPBVoBNAV6;JJQ zo^4ys>VwTk)Wn0T5HfEG7vjRdn}mifH7P&84)q9kA+uhX$r2*@*XaduCNmZ>Gcb!?arQe@zBmX3?k=q{;N%8&&`sLmdXBohjatu;*M9F2Ob{#=U zL84P_>i+Lu!X}SK_~3T9qfRYmzEv+52-Gd;a?Z5s~(d+IwM$}1zZWqPqC#YnS zn0h+$^JcQZiQVS6^#zLTN+@%OyRW2B)&WscD!~)Wk1{9U!QSz^{_Kj7|OcqY; zJ`x({DER$4SqFDAV3RPq4VTr` zvvfo<({05auGg5Kp< zeT&E@X9;x6!uo=-%WsbdR|bpZMJONg@qDX4O?OFHqi*u{o^eWK%@brW17t^}@ zVYsHP8_OSZ*JEc&$5PYCN9tM&H&lTzU-nFvI!l&1HT`Le`$5+{DpP%_!E)u{oV-@W z0Vt6f4&wYIV^>N4Vqm`1)tvYJ^KBxU3N`Bm^-00^H9y!ZDnPgU2;}*K)$@&Nom^wa>pu>@}&wuCW<3i;;UgV89JcG74>aE)wA+YHj# zYtNVn{vd_tYjD}ODeEQ@Q&Zo2u&Gb0XZ7V@m+ z7h(hACbxwF{eu>t-o>-!rMGs$fVdqWs|H0M{YNd({}EKDYtiFV+5XpWR=-ssgig4iD=w$gC9?`#xx?gSsTqCLYBYS(9)XQ)zqenyg^p9Mx|_7- zcC;z?Q6WP-KD<9Q+G^XDCZ;>uN^5JIr`Q?;rim8$ailDMtTb?m5yRtA0MxC0I4>(_ zXo+yOB8oc^qUN(Gy)B__Vootiq5}GGQd2%P``x_et6+|#o&tV#VZ*Q=;{BeaX~g!X z($d?t;uUQXH|0Sh_I2-_N~m9K{cj&fCaSA*CH=OdEycPJ>P%|v=NkSaupY837C;gzP&ml1=1Kjr^H?dWjKXs_T930 zGCxU)`790ZefZShzcmbT*$;Q&{^2l!Gxq3ZuvHh*!>smLuqE>p^xlb(kv1r+PFNeU zinW(V9|wWi7(8`j9sez5y??(;AOqBb0LFk9e!>iLWEZ1KJd?~dWCs>!@+6Ia;ZzfTb^y&sk0BN6q)&l+W^FYJQOvfCo@!NHG0^;^B zlQ~TR8!^R>54rm+bb9hwsJFoAe?BR)J;2sEpviai@k0Zl&nRki+Gt;OoYao&qbg-Pta1#yABcBOBO1HlZcm_$-U zk2Pq`qn;a* zKU4oGb(3IeyXYR{u&Vlq-NEn~YzcIASvf;^rV+7jn?MNXSE&G1Ul##j z?A3|}3z-A4o4q`71mV}g23#=Py)NQ`7`DTTl-=`sk5EGZ!YC*v31NPBVI;MA_d4_q z!WMJ_F&nOG$Ag?F5lpY&OOCtD!{4aVkz$Ws5Q_S<5|M8F)9y%|f<5YpT`C;TV-*aB zIF??^GsN)Iy0;uc;$RE?Oyv&-{}=;J5X^9PQ9Jd78&@m&O86{OxJ z!G4}Lt;=uF8lj)q_AV1EwUNY6wLl$Z01V1#x^ghDY!<^*f@rdPdA6KLCr28PnUpO3 z=-J^RfQZwsX1(!x?j+jo--}w?^-AWX+MSKDfqBNZpeP6RcnEZ@0obdOvi@ zwzyfF#+)}i2O)Q_d7;prXr_&v1?AEGc0!_fX3qD2{mDl(;%A$Cn=f}CQe9*@9iqkN zPdXC1MCuhZBL)AM1g1pC=lU-V9L!LEvLbzrX6d+|@<5BvWtWoZKrY|$&O4SheE*{l zCT7|HdI4U|_q~anXxu`_Ax=ubewW2gXBwH}AQ)F3%q#G>yqIwwW7B471&wck*IbGF z7p>ANrCP}l{G0ql|5@rL#qS>^pT0@4eM}KaKMQB!&s#-&PQUs+;D(~4)2l%RwR|rI zUhjjTYJHNJ2OM9t#xkMgMII`^2`nef;Y(b^wiA#r?SoJo^Tu9buVssiSEz)!V+pHa z^sQ>rJh8v>UdqN`EykKrgs)R=I#ufIHYMRTr7m_&#bxue6DJ18cDx%3I+27$Qdw2y z&)gzJVqCm`LwH7 z-X&EEtNRP&`Aw%d=Fstx%fJ$D4oOmW%T(|y4T&|9a;SbVoXGn&jJ2BJ<*%r(N4S93 z%Go|yBP`+ZQ~={`S&#zqCV*aA&_g)$4{nM(h2)(mO^gX(Ap2#(u4~Mpkm8C<3s-w} z1Ro1E%%Oqm11i3EE?QoW-q7pc5oJqXrI|!ovk^O2%^?GVHGP6;nA`r>RBD3Sk1N>* zo55{-gXnLo7aRXJ=ZgHvZU1=iW63C|>!VrZemj3yeH|0zTb(Jki;)w00m? zj@+X7m!R6d zpCqolJZ~k`!OZ!N75EXQS;fac_s!=C=`vYIhK2V(qN6^%0+md<#9Q>ou*ICwa@2^b zc8ln>p)Ni*FxdR9Z|(XE7D2*mfFakNFix#M@U^y^ZATP^DMrj5OpA__>}{mPoH_NF zHHZaC_k2YhdFK`US9bFx@HS?vM7rcm*0}-_JB9Nz&H3;#%oNzqvrVd(shR zyb)`+%#(Ss(t^lrK4b!bh(#<=z`gnG$C}byXGuW{`uds`IroF&B7R6GSi$4>;iblJ z?oboN1kcqRbN-jMgtg8$aJpRwgc}{4E=I)}~dxgSOp(IgSsPa_$=|$dwZA@N>BVZ5S#)fs25;ZepR~p1EhC#1iU{a2&cN5&Mmfy&%a7(VKV&? z3|iq+*bI=igO3N5NnW{!QT~e7(GP(#wLo>|rM%<6qM@AO9i8=)7B1U_`=`SGB;D1l zntsVTpi(4)fB{%0lj`o8zT=g1ZvIhR@Cm5{_fpYezU0*rALZ-F8Rwvx!I+&lSn84w z=JcU%75c(g1TB~XH#>NVewnv4dASan^K)Dze?^fOz{&*=O}8UipUN6c{LKN>?Odb)E*WRF>aId(8nqkM1D7~;2`op(O0oP&HeMpq@h=~~ zz&8qJ;k$1k5A9S$^DcrGeYv#QWC{6Veph_wpQ6NFbtFLN7Wt8*~ z|E!H<$RV9^=h7voiM9~(vQ9P}fD-fD(1YG-4+$$J;!ypNwgsy_4et6Z+=&f9O!`GApX4QD=FZ^9d{-CX|cS#RBXhz5Bl89vZYl zd3x+BHF!IZDU?eXaQ#k#6BYEX0QdDi;spqE{9CR*y&9w5Pb4_})!OlhXQ07Lwz{^4 z4h5azR##U~sy~?CCZVDuQOQur{@G2cBl_=wfvtl!ZGG&OO$PQ>9FR%W`W=-hF+-Ud zr1EX1XUa6lu71W+t5GjG*|VVIlf=@Z8W|@HX!D2}EJ>ulhWIx3KDZ{0RJ?QjLxX~& zaZ;eZ5nZjZ$C^&dVpVd@RCS)(5*?hZcs9es0 zOKcGZNB1>IR5d92!2xdM4~ZG-pCxO~C3s&!ws81I`N)Sb*A07{le1;V3_HvxqP(0> zJhyj-0EJoP^%%Em{a8otDlXFOh4duNQRDfwp>Ga@U&~eNFa9#eKgZXnz zF9N$Zee+#x>cMo^BtQ0eF+XZ|-X=wQ`E?x)q~k%BA29?s1CY!uX{4+lV|G(qrh+EK z^^eP#iV>LHW+mQ%4XFN)q)^EPa48N*wwU|u9T@*Sg!OR$nD72-c{_dtos-6-R3TI3 z8E2XW1C7&PjMDw_;B%zE=$B#t4U219;in|bi`%E`Ikwa6Op4<)8t5|wCObebRgv92 zSr_gd20jq*>_YBN^m@AjGQK@#p)=bd=liU)%70I3O6oOid zWfxXE&t%9dMlRe8of-UndYVNbd!b0Jr^Tn+UijT2^dRy7Kbr*P!5+>=5VwzrCy%F_ zc*I=~obKJZI|Q~de>wmoElO4@NPEdD@`<2lFu^+dxraHUNGl`YD{r8HK)L4_mP3vo zcSyXn&*`rZ?-Q`(2`9fA1RKT?+`fPi6 zGR1$$D&vzuKY!#CcAtu#CXj@4AOh%x5q>s;ROr1O-43r^;CxIOjR1Yx86U(qJ?P z+UlADE3s@vJ0JH|>e7nu`dEoWofgU~=B zxdV*SMI`gvLR}hw$JsndGq@Be)#G%mt02i&UV0@{Q0h!%tG?PQ3uwx&beEcr-5R4H zrQM&l7*NLj{D6yd6Q1^-HGDCCd+HjCMk4cdygL?Aa~h-18Wb-8fcu+CGVwq5@os;y|TzyiukfstAG zsMz#MKQHRUdCzkVuwnp4EW5Y-jb;@$pX(8gX|MJQ3;J~H8a?kD{mbqp#Nrvng3*9Q zd1htTnu4b%AwzF%l6GoT#$9BYFx`Wj6#)t_VADm&Q2Sj@z==0k1LZi7gb@57h$V*P z9uV9%VL#W*p*GC)QGY`){+%Mrz(xOvFq&Qlzw*7y-|FWcho+u`J0=6Uv*7Kq~!lWl1~#vV9gMPS+s}_BR?LFUzh{?^)8YPzYUs zfT`e^kP=bjA9SuBf4a$5)bc9O$cjIE<=_B_+H(x(hflC8VY6(OWVj?z<@>CVdw!WR zAkSBLAxK88SL}|`0yxafETWh)O*tu^R~lA$lAe*<5deXIntK=fY0I}K!pl+f$IAM6 zkd>vuZKkBzv@9^HxUL8idRDdlW*QXhkDvK6X_#5kwDFOtx`w|d)qL)D6A>i=^y1tC z2l-<>7_Y;me< zS)qI2l>C(xc)b>sgn@o>2@gGN6&^I7NZi3r9_O(auQVY1M~R`nv+tFtcL(`9zgAF6 ziLkvuonHr41KWDp@IL~e*S~VHQTZObu|$5L~7&o1X~yB_+7Mq?FfMWn=q`NLP`lv&_T2|>D=)xq`oH% zj_!vx3d5Drn^9-U<=_;nyfG|Ebsiv>{n|UiN=iSr*49ZYvL?_Vrz6w#`drQnPBLga z#MA7Nin-|qd(L|Bj%RLr5anWTq%gWkI$v4DxY&Hmy6TBV{JH4ctw;iT|O?dKY zBZ!5FJR5TfZY#XS$K1IGL>31P_)8D|2-_6oZMQE*y>>B?L~E|8dd@(oqI&YUq#($r-t-EfmAx}jXxrYSP1o3yLC zLSo?HTnwB7=9qdm*o7*pW$X{vt!4@b7c)jMYbRd3b1z9ebdcK+4?WO9ODVEy`S5CG=VL@kuUzVU)K4L;gJ58@HT~y*MN3;sPbd%OzN}HoIXQ7%^9PiJP^BiC6nEs zB+3&!9Z~06nzwnjt!Xi_kX4+}Z#|yU5UpeZbWoqdYd$^LD>x$cDqJ=3?Na8{u5nUY zr3Tgajm*M<;BvP%v(kmF$Naz@n(>%kD8Jn|YR@V!rZWkF`|kk!EmMdx05m z1VAd*bt*XMv+(@jri?_SU*WzODsETZpbWUF-();nwGrKwFgH)G%onL5>41RPG_A?# zHgOKB6Ts_>q%u+jqgOto=gNehc56m9{n;m~+5UUmEKH4`e2`I)X2p)BuNgQXzr_80 z7nCycU!_Y9mVtT1%G`%$O@heOD8@1`FU^=MUj+t-jGXL^23)aHKH6r}IOS9BTr!s5 ziW1|7jMKQrE>nKAfdmkoQLJ$)qka1zy*bo~<2nAd+SFAjq4{mm1U02TgIciMqH$-~ zCAzS1jaQJ=U_)}j>e<7bXIKy#%g_D~NwIX8S?l4=J&xSz{@5zbeshh%kpUeAJuZL99c6Y*;%g0`lbJM>9>z`Lz4 z*U-Z=VEfh-6_~Ah4Rktse6<0)6 z6mv|HSY@4}`Rspu)U;31%{!>w`7IE|WN-06+<93iWKwNRx^r4|fe6ak%_Kvk=jSoi zmkQk<>L&7=!lYvQdt0>b9NRt*6i@p_15M3_nBS(v9MJ8$Bfl<*tZ*5w2cZA^`tTpt zNn0wYUJ7a)RD4NgffKx|bo5k?epCMwO@YYUDW)iojQfxIF3uYsC4wEgn3L=?8u#tT ziDOPTD+x&!D8>k)2$3Y(dW~KXcdFz2e63$QEW40125-JnR^l`FxNWMT{$Bj!!}IR~ zkKdl1*z?%1{do(uN9K4``M9E>ho*nWySmR{W}4R*c`yZzF#7iFU?8nn!TBLATb=j6&VSEW_N95V4(iVD z>UyOgD9kR#O~r@SQf_I;Yc3Npxf&pcH9o$?ntmbPfFhH9nko3 zJotDrbeB5AoF67lut$Kco%7@+ERqA)3~&U8?Vx%%7I6cv&KDv;p#xzB5@EXqvgbKz#}Ny#W6WfzuHbFU zl}Ld%K0lF%J;zvBCeUo_Awz~fptKyRFbDyzIxkD zuEjm!73P(MYOT++{kODa-LVX*lDEgt`Sr|i31t+wHE=sQsr`9)$YlX<>lw-9scW?? zbQ9-gRg6RH?WT8f$(~Kwyn(V%J!Im`Oo@RQ8?s1t;W%wHzZm)l5$iQ@uXDC6J$W^gr@oY;kweGd^`%NZtzh;c?S8|rEP9h11~^ zsWgzAJFHel9Zu`CQ$e)0i-9)@>6Tx(r7HF~3Id$wz9L!Zl5-bKHxe$?KT9LMm~2^x z3Mt#tyaARQnez7{kOaUdk$bweRI1wXJ1xLSi`#xr@*-DGd(ZDTS}4BYA91M`mqpj5 z7uaTW+3o3rIwqy5?1yyQ$x!-eHtJnBZ4Of~b!BEt1)fGjpWU<-Dps?b)vKeiA=`@@ zV@%L}$htw?5E5Y#X$QeH(e~=osmLsyY`kb^N@u{$mHQ&smkMT?ZWQT23VFly5D!Mu z+}x}uPpOywbv5m5YwM|)t2sT}eBK%Si09$4ymoX%7{B=vWhk@cA#d&I>UV&GBHzpz zia^I?#`;>+0L(W{(I3^+oyO3^-6)?1S_;s*H&)EBw?Q;~zBHdxQpOVKHKCGUwZ}bc#`q{}Zdk_dbj^M! zJnL)42uYml0ru8m#9F(>yLI#go1#`~F~xDHBv(Ym8!a8J(pEV9d{9tKX-|bYB zuU6O@NhJz`(*VB8ZEc60@kHtv?NCDYWnm47>@K-o2eBq7V)L#AyW7w#`Me%G>*Xiu z2eU7h>6!F|-G*mqzbwt?D*k9o#*{(19oRF3JGVzrk&NLH55gsSC-~a6k!Tk}0z^-_ z%CR%6`s4W&JQZUl8LKei^A1z*;e-1vH~Yi3 zr7_aw;mYD$m$tk4n~Qvqs=@#|ljK)2_6t&x+anJj@n1bNceNV#{Hq`!fPYMwaI(Ck z00yS+cxyx16l#XJp9e6`MzH|sxPhWR}v?U zUKTMH@*7Be9>%z1m0r+d^iSByE{-m%hxMs75kcZHgxwcXH=tT^Uxk%6oklJOQvhru z!kT)&Bs{xR(3_^T2_LOVUSeS6eeu9~6ZO`(o&y;Hm8gk{y!}&tJ z)86YI6=Rhqp|&N$uu)xBt=<>7ifMiIl+G|6V9?a3f(6?$LixnJE0UZiJ9m{SuITRc zshb}h@2Mq1u(YWdB(#4qLW}Oj_K81D-9*iSk~KpaPLQ9o1aF@_hDjBX$z!p~^Ry?u>L7hjeNFV-b&))pea2vusk>V|;S;)5 zJ{rw-8(b*^Dvqx5$%TT_Q?}Y)s#7X8Sukd0W>QZrX-BoYdgEb|A@yHRZXPGPSZozX zAwe312IsbQ=ii$YA7b^_g;FGW56D#g>L&ANjyIQcKj$UXhay@ts=Ksd=sNat+dFOOjfLA^z>$ zXn94K7^ z@wOLLwelU83^2D2Mf179vkSKIi3vWarcTVdPfxdh$EDj#S@dcAuz#BidEU-L7CLqz zfh5r%0kO*UG0MQU)JMh1kY+BS)w0WWp|bL4j5X!#rZHJm+zH{;=eB)tl`TvIH^@Rs zsER$L{H&c#z?whXCQL}y0CjhC2)x^PNkQSz+9`q3UqmUpH~WEF)f1;1zc33zeG`Q} zmRBzK=K?SH$lN_VP~NW<rh3l^Ea7He;2X;8XGO&^g?@sUCk5A>ua0iA&GhCCze>iHGm2cJ)?w##D6O?P*}98 zfUG?}%C~?@EC0zQJEA{Y_v#qA$L{>$tX?Vrx|mYV8h4;8VI__Y56tt+f$G+yukGIE zvM2^tN3u(hcb8VZkU~tNM@-n?_HV;Q0SLzsh5&`6@ANLofie1B16R&>ZG#z^2w=PP zbXfm!op&&N#7~<7w%&H*VP+W4KoFq2%e#EodKq*FKEIM`Ea=$nAX*72J;R$04nA&c ztt3it!TKwi1Q+qZlhm>^YHabQ?-tf?;j4)I>wZy?G>>ufCzs$$2ms_~UR>@>6iE*_ z`DP<`|Dy}_S5`hW6or58$UEUpWE5VlW(UxLh$=~XbV9r7hOC%gfYIuGUB7JNh z344i{w{$9y3bhMB*)`Dt#8C8sotyf+4J>)%2!C#D9 zwbFTR>ZO}LTKOVK#ZxqEGt=h85KDVyDb>7o5*yOK?v$X|O5tUM;hODrU{T&wpG(d1 zt6_OTEK*dKApEocDgBLFYE<-bvb5y`H-3=*$+vs?^NdiJ?c0$Jr|;SGdMAASC`i2IXAo8KehC zSM0wL5r->CW`8V09|GtzX&?vF4_Cq?$>-}3K*lHHAi%soMu&NClS}I*b*EX8Iai$- z*U8ou0SwtchdjTWYYhsC=y#54ZnFA}^D%PQH@c$21%MS0Kood?MOb4A@3Co%^ut%e z>x(;=sFOguJUqzY(!V8|m>Mti3R?UoTb zOer|!v>pyx%bJa5dcWTWVYUfVn*MRu$2Uu%_p6)c4}B`?A@-FAKG;p1aNK%TMrhR} zmE&IuvIV^eAeDWETgmW94*@MWVHOIymOhZZm@JD8Q>1y5V#z&k1Ad2)(CzH^GZ0Ph zkIeo?Gez+Z+v``XJNQ`pcMjVi-?1#?-{&j8_tUr11XeaylPcwNHS&UARH;H_y(Bif zB?TreB6+VuM3XV(gM%$^^#=4dxR2qo0j4R$5g87W!@75kLO3b%ONO9prp(xXd*`WV z#4#1#os7STZn>qol~(isLcDnzJUF6g2mQ9aim;Bg{-Sh;XGqaZMZ~*H-Lo;(u9!iW znRmsV=jUzHK4xQM^CxK6So|p?Hg3v$2 zUw(+_h>1!bzutOl0Sk_rtFc_atS}5jh5g;#QEz`vtEwnItU1HX8>9ntb^h}0hcsLk zG~QiHF}y>E>3Dgmmo=5)7IP`<(U%DH59xj;0~XB6%ZA8r*lEh2AI3k?v-uf;RZ8cwMdTK&!F8<$^YQUjQgcP!mF8q|B2)$stTY068(15h2;`) z@CNezOT2*VfSpQ30VmJL3tZUKqh)U?6dbK3eNTFRE-+z9xlK64$o~r*6sZ+TFLH;o zv=;1ioYJX_{Bb1%zS|(&=mmhpz)kAxuq5o0-7A%xgrU8#yQ!;KVKvESv&i9Xr9bDA zn;FJe$H^D}Ddj-pH;QpKjSrIR-!kEJ0i*+mt#6M#2P@Sfy@CbnKp4Ce0P7-rOg-iQ z`KM?7*huQ#qj>f5{2dhI8YQz@SaMoC{95?k=Vx+NG%B@r^#5@6mO*W{VYhaIyR^7V zi*znM<{&yz7w2@YNqU^HPguSXReNP>c*OknW}thk zzcG`nLR@>_R)hxnf%96LN0??ZtrBkCX)KlYXX|v#T{Q(ZxOC5|unnSOMHHDF`}$H_%<K%ETLa4pYu_dtVwAE({+`eYGMC(O->~UQ zW&UR_SZt~&F=(c0@QdlBrPHWZ97VL}=F(t9m2nZBUL_eVqAQDxluPNfF{u%f4rPxrj zff@MwZN6Sq1p&}WCrUYsiU|{xCzNUMr`9|Em7Y+sW+qQ2v6(NXqGf=gcxne6EXUVYCub0Y1oM{b=^U9X$-Ldm6!VGbI25*{J2@#K3scCn!Cl8c};^3TfIo`c_+3 zCjL=Hbb^uA7?W$s_o`{zKIDzzcQ~kEF08X9l@x@n{!>lrw&H8B593LTgnC}P;boL; zeRC<$4Ex8Qzc&7aXE0IMk6TQ-^S|4Zf|bM%1pr~uHb1Erv6BH1qQJ18`Z^AI=vCsw z6ycu>VOJ7rKAOfOJCw_V2(WM_PGZ`V&^f_IZd&4yP}Mfk<0oFiF6^84CmN@mJSGYp zB1!Ga_;1QFZ_=ItafF8p1t(`~3b= zk92yE zVkj(sMlsi{{7hU_6HvhrfNO{DW*<%3c_&13>gePTBk8<7>WqUv{)6^TSH3eC-D?q- z=$RhD7H#|U_o!6u;$iW_%HU)hr_nk>>`Wa&bvQe%Uu|e<{nJxQE7o(fBPaSTH3A$W zUS|wX-@v)wuQ?~A%1LURpC1t>ombZTee_4(aNatTDNAckUmMZOrGqw}Yq&9VgUU}y z8)(z0Up~HMZ0uOS>QJ|eFcrTyNS8sH`+;|>Mb{of&<~>8Gd+GqNQG=i9{2PK&2Zjy z*?}7YCsrx7Mj~+b^N9PCVbW-{ak@bxARvH<$dw&pB^{vPtdP&V{yjMFibDzKM8uH=?d5Q@61+lV>ZB%I2;1KM=P8du&V+t4_ zzrPk43VnmFvw?hnv-H-8bHLCVHFBkdc%kSc%CYG<_1?nMEb2KJgH6gkGhQapjv^u9 ztkNJE9v2P-J&QEEIyVIVbh|Y5ux@@omvwVNc!$z8|Ka3}K@4RyB^&3qf}OVGPg^ znr@A6cr~)`eI!h1ST62FeC@NjPs}x?`mOP8T`iF>?XERB@=lD#VyC%}^eOX-8k7}4 zi~L3boW?0SB3_=ZFoiFCLXZN0e6etROnw?$+zGtsABV0yFB*gM|9@&y4=+)mV+;-U z{&MBSZFZ&Dv?)vHpa9zpE3G_~u$)*$o`)==M@SCi0?!4ne|r@06SsQuV!#9mM@MgI zyX(_{V5HK(Xq}x{Ug1Zr%{R5y5a8Tr8_kzE0XrlYT=#B77uNm+2mF&z+3k-xJ^YWk z8HFsIjLVPsmc}vj+N(S_7?pCqF^5fwba>iM_89BR%#S6lSj#J8|tT z%I}gh;(pFIoM9MtbW@IO>1Iej4FS(J_Q@nIA19r*sSM@|mTM**1e}_#w*JX9O8Zyh zUeW}+D5rsotY2%ouP6mN3NJ3r-lo)ZC_6iG4lFLGFIiZatIj(g`cNmsY>)!^OSFi`_oPQ{W z;Vb}T`)dVyP52?I$1nV<$kLa5-N?!yk-_E6wzd2id*nCk7#gBZORzM3i9jPiKNUHH zua+k>gbuH{j0*n}+v>%zk#@NvZ8HWd$ps+;mi7FTY2EJ!7p%On@JL@T&CM%NzkS{7 zjB+ezu8$WN*)Em+q1Dd9qq|@J0#bk?o9qZ=qfnY8p03v{aAawWo>KvdfjL|9xeF>T zpYgmuhV(D&O>OVT94!}ipT%Xp{!!1dYF2EC7G?s@ zP+HzkN(g;Q3jqJf1H71_NH9ZrJb10=U$&&Nxd|9EksywT64Co*zGiZ{{ijK&@+^l~ReQV?h@Bw$m4_z^*+hD2cn)*5&1^D@3Eg0glSF*ZmRb zO#@1A7=>W#n&_WA+=oWMXR}HhbfHqPNmcyl9uE`)q)2#Z@e&DeVB~{kZ_9XZcMKZs zMqphfJ=QnAQklrpJ_82n>=eCKEkPUO;ioid)ZaXNK9$(&i{87t*EQa_Is?a@y)4yk z9UtS2*VJ&^GPQ_`3`|$ru86N}6~&AHRY2TCJ0odc7n`UE9jJcM?tFI_QL1Fxy12eo z`d`pbgB)w%gre3)(Kj*k6L4Z9yUG}1M098sIpOfu%rqD=#`998*s&p7;bfmYW*Wdh zg7@}Z4UCKeA|^bjNk)iI&uIT!LF|}?{#QKdSf^j}U*vhUX{*K$6QLB1P)G!UqbLW90z-MTCn`YrHA| zQtt+z#=lJ)-U9>fG=UxRg-e7t%ao6l82sftLWS>XUX{@B>&5OQRH+O?tAP0 zD^JKmG}>=FTEqU8+gF)ptjjB?KrtJKA{pmvMII5m3}sMJOBg_AYF;` z2ArKghSjDK-kCiJN?zSRBj92`WS1$X{muUniZMNVRPjR}LXR5=ymZFDKCiz@5cMs8 zUn1XLJ3@ODDgy*}_{7dAwB$?2fr@yEFx^lv#PIe zsPpkcO~M)l@j1g zR@IWRVfWheyyfR3tYFJ1$)ABrPjNVLASPf*{aFP!PBE(=g_rvCBWC&d7FXO*nAfVU zegyP~Tq|>orRJExUq@~XT42Sy?e@Gx+QA z9w2Y1v;PMV7EOHmU+DI0Lr&U>EZ<>Cp!<1#^w{4oUHbhljeRbyeJ+jN-~JP(y+R5B zy$w>~K~j7T`l6ehLN0n?JQ^-a0jA0hWR~CR+?^PFzW~UG8r6j@7#l>ZD7V6rS0ZhS zV$OFWilhOA#k=ty*8z!CVy3IJ@+EK5P(`y(M+V3)<0vHMI;Rx0c3nglJCLj`S$Jgf ziNqKJu3n2En2dbW3X@op{lRylEd6xUo>^4o*|Ur^-c&^w~^mU1}e)oqzH9BTz2x&EHp$&_Zzx-4EhcE83AEN zFO_5-4%sh=edOP0XS6two9P~?_@_r(U?X)&5+)%a8knb;T-?Co#@Js@7Q3uCfU}Ap@7YR$O z6|?{niR)d*@yX3nep$$F881mO_@DvUqd<{5_ygY)hLAp)02-y~d5DsTjQrok{3j$i zzs1^7V7J{+-hkTC@jm72E8&i@&SH#p%6E=$wg!;y=&tGq)Hv|XoRM#aes9s?UFWJc zpEz~ANiqk5%!y9af(h@!hB-(6-9#B3$^b!@1zv#RJk-AI6luB&g&b4x3=`~OscNtH9L8R^C7~MS*`%iotc@nCHa4RZyF+dGz%+z$Aq!sgpH;aDc5AC!+#qYhP;7EL z{=PTp=;RkUm=4RulDU~XUoxH6SybZ>HS3O?5=eqpewA3gIKFW|jv*@(N?6lYe|S(XOc>4Erzr7^*!U!kKYm$r7^5= z?Lh+UC{{_Bgz6|00|tRPu?l8FJ7wl~<^&zWWOpAbF3CPW_DacW0_(nKwTsFBD`TW= zLp<7^<;kZo$ukfZ)>WVkQ!VyDToUxBqDtx7kb-xfM=30BjOgGS0jQkcZ)rxJDsC)v zNjCDr3a3SLH%H7^ex35@BAG_-0Ssb{Q_H}wA2U7Xe#>-zjPtrqu*r|wB+ zkbt#ENBV{7;AwV{LudGB`y+e3Uj*8z?G);v)d+Ow%Ak0)@4Oc2;E#R)yE=D;Vkr4| z*DA?LgS3{XiC@>Zn}94*;uw1kAvBKKN!}0XC1_!epVMCzRNzh+7MS&aZ|xn?t#x*FjYlB3;eALsjb(>uS68;`)8D#8_e3Kc zm-UsY3Vz4fSea7S+0R=qQ?;ZzbK;FyORBySLJo@V$xt!&kgRqk5-$+dR4{$3pqg3w z%CH>EM*eFn*FFqK(8bsyluR6y{#Ufa!NrhZp-L^A01#m`0CK z$d_$3(%d;eAph$A@ye0acLtb=1=yq_1;5*=9}mo=a(o)3C%PP;Ggb1bYSy783v?_N z+4LH=z`J3vNPd_Vm#LL}jhn$j`g_nNbX5dh8AZXdiDVD7kHPt8b=prdr3d_M*bep7 z#|K^s+fJeiB_rP@loKUX11ChVtB>eu^tjMFa9XSV8 zCSiWGer56#V3Nd7{`~4GBN6!yQP|V;+c|zhnF3K;`C`K)KBZ?E9ARQl8n`|*`86(D z3e8;P{xiigNX`kkYQ_5+WnBxqRB zJ@z+^w6cW)Uoa8Ws6#|Lpq4xDA1Gun6*1Ib?9SREB5w$v+s4BKMVjusUlkx-o0wzI zbw(#N`s%-V9Z}mT>im(v}@^$3dxou1Sa8)B!&uQZ5&i1%K#)YcpyF*(4s2dkl+xNNPYr=28%jcyQD@js?_U)L4 z8I9w92qAC5dywy@ECxr??q$jS-=3hJr?}_~#_dp(BRX^>#8c39mRCk@M&qvccm-Wj2EOPL#783jKm;unDDg1cKYJV79 zFH73Z7o-Ic$6cGgw|&y~qooaW+{aj@a2JalsHH?*8!@&>oFlJmi=Ajgy6eA;uDwoH zNR7J*ZrDn%IzZIm%GZ!uSl^W`)1<&y9eBg;7b;)&4mQOrS@Q%@znEiZo$W zyHC=s%IFy&)7HV=%Z{fiSW~z3IIn+Qc*MGFmmr8Y{4L6dpVYUpq5gcV1IP@IP|aKU z2|fh!!;W$A1tLz=YT**%{euGvddxyWO`=h^0CCUR6T|)%!J0=;zhnna!$*-liB(EJ zNHZ`tk6z2Xa|IaIbH&v3!4jWLCoC+UgonO1dH9XMM^a_jz;|wkzjU+Y*>4z-;yj_1)I3sE+ongU^YI-c zs(5;k*Vdq0RuV4=%8xgKEQFxPb(aL$lsGN?UE(^90csG(DcE%=)#(~3j6Vq7x$KL8Xz^X;&Wi2kj8CJ2XFxbF5Bm~wzgllriD=^rEqq= zKS_Ayl!Uh9y&j}UM_%6$6v%@_^7h=Q9gonIqADKcQY(&425BbIUF}X6_W)2D=fYR< z{^OFgdwirM_eO?UF41*i4llzlFI|4ijS<i4eb?Hz|gfKwkvlS=Z>a8%=pgW^PB? zNDdr+33WD%Mg67*b93f%l*J#MhL8Gom1>bx~@m^_Eclo&UAh*++Z9h$eyLd3x=;jcF*`X3O?rwv5&EWUJx4 z9DtS_kyHa+cSK5*G}usRyQ3nZ)@9;8$WXlfb&CUxcNsp~-JGrSpI(+-ZGLb@>NM1vVZhq_;NJiPNFkgSo2+5C$@wqU9Hr*g5vfVXKxPydip;`qa@~eFE6jI)m3T| z{7;Ak-k0UVa^|wKxUCR+6UfYd2$f{toNjRUMQF#c{+F)>M{K+*JMn@1AvKK%(`%2e z#1r{k)_Vx-9_Hldd|E_?q?k73v5jPRI`YpEyKCMz?nlYQ_?Z*HSlm8*oz46)_JXrH z+FKt2)wtAp9c_c1O5N%I?U+QEIY5^ofD*eAa729IJn9|L!$a6@|pgC zs?=TetN^7;fF@9lw&2LpFGkQ#c3jb*)Z@pIIVS_|Oeabb!U$qjRs$TxuCy6o-*1(jwpnw-t#=H z4R+RDno>yKPC~L3_B27Xna_zoZ;tiaylK(TaS2ep|4NDPR1AqEe5^EJ2A5KO^8RDx zaF#ahEg^3&^Z0&8nDoQ~5$}6-4*D2>IBf(lPQ=@Wzen?Y zc~Tg82MPBBzqZ&8O;3dT?irr-(MeoJ>=f2W{EQ<;9-EYd^XVSdQ%_(MEAL&7s zkTn0tIsV;rWIBK!uNOroJI+EKOO*2UrTlDV zv`iR;HW>)CQ);JR0g*d`sER>4#s_N6L5`>ZRk;8r?C$0{rzO9lRYXmHDu#=L*d-P64M>(`Aw-Lj+l_H+__o zJI8qaVTjqu9^IC@tYUJsG{AJh0eQX=KtV<->DljPLURBCge_~`n5QcsmSG}}BF<}z zDkX7*4|dC@^^5Df8#IomYwNcgc>TOz>=7RFjy?oS`@a$Yq$#+Z;;zUCbBuebsmB9R zl4*k&`FaQgNKkGEs$QY0=T^}=dw7xb(BiEfO|9HWnqbdKKZgl;C-YA|N$51{m8PL8afEnTUaSc`Gr&e4MSvgz4qof`$+A4>O zn>|e*XMp8;j;6X~+8X!9-?Sexe+vSsK9L7tFafWMT?j$aSY5iZ=+~?%5NSDTqbsk(mdZ~fwVBjnJn@Nk97IV*7tBb4iZ1S#Hjdr=I~ue zRegL~z4A^A3|dcpyGKBsf2c|LQS!i>%ptr3Z{Cb`vy3!yjp6ro9ayqlO}@48c&zwz zpduC#M|LDb6^!sJoEx!|AfQp~i&#s~_q%U#ah|DX695`SU1v|VvM|0ebTLw}as!-W zc#V5-0Iy`nbphf7m?rkKt{k9|=YZfb@o&~v|LPi0G*+4sjikalLv!IuDT}UiAMIraaB*)*U^$z%d#D~CViBZcIiZZ`@1wZ7 z$C;m>zq=pzk6T{;im>UlwTX}+nuQDyA!MAZgI_ML2GiGQi_uws zIVgv=`B%RX_QG%wRY66bDkhpRuo{GBpIZI-(giIo+i=n+9OL`Nj@ z3=9nsKF{?NggB2l|9v{-Yz5MJr@Le*){DjLeg+TF-*S@En$}g=@~XsERCLh^Vh224 zw2kawMTet)9zj5ESt}5K!MpUD;3SsZV=3s)smzfclqP_4CQtfWnpsoVJ?6*PaO68I zF&=+5CJ=i-tyk5!+C^KtacZd`B|^FP=y-*XD0F=&I0APOP5gJ--|l|;-XWx{Kvu#l z&a)=inRh2xQiYF>SOnw_Ts`dqLAhaR=G0QGfq6Ux#@uRa%mMg5tMBIfnj^GjtJ>q)&QeEQiM>J}vG&}w+a4aC+i;}wj&~=~6S~9k&(Tgj zyl4qz>*!$hTZa65>YZtLDJbVwR!LMM7n%c4^|TA; zL3+Gs_zHaJf{`rHLKlqB-|Grt`X=9|>v9s}iuWLJ)A2y?*&jSAEaD-d4^QPAC zsFUo|RZRfI6I^62YMw$m)8E{Z_sBGmyhV+=7TDJVr&K~y^XSf2LmwzFGl>=4m~ZWIhlu`^U`Zq{n7at^G`;;WoHm=W z8R_P|K3mii&MN+b!);3jJQpSYEPt}He+D^;ejDEdXn2FHW!U{)lyb>Qw*NiGyjyj) z34;Biu5q)OWR1m@A&+o!t}w(DV(bWtavV}HtF$I6fT$fh=IGwvmrCM<-Ha(t17=s2 z^-Y0fUzSaOH~vQze@|k!!q7Ulia)qf}k-B`c}$+-c6X<_#=%b10K)vJT)dAiPvL-uZ+_rE~KQf zZEmTIQVamFLBpJ>qmR?I4cJu}Vy9DcJ-MdvNp=Z}QB4`MuC@&aU^Gi|X{e`Nx^L!lz=wM0=nq}ct;`(ktUcJXuG3ijWO2SFi?t7)|2@0JEb+@f;X$~=wH+T}b1=gOwJ?`V33Qqhk~}J5X;Pcj*O=qkt_gE}8yIgjH(Kyg zk9=d;*(I*<7O?ZFCf^CdQyz-kOyr)JFB7im%!uDtvNr>qBAydYOMg6pe|pNqzcv+> z`sz;Y^N*E>3rR{_KgAEDD{ZgnQi~S9cO;M%;V44i4L#D66-OVz8w)d6=ktocA_eg% zJOcd74K-C5?*vD$hRN_*cyyQqaEPB&@9)f8{&K14`G1RxF_l1>f_!8+U&L6u8rb(h z;Ku$BpL-hfTaq5&Qbjr>2WzZ?MdFo4G8irmSUG<}gtLEvBd-|NaUZ${dHwhT99J%u z^E3b^eHvY3Ev+u?L127K4CAhk1nbCzit@>k>(7e%HXoH|fVp5(-L|?=@UXBy3d2w|t`yDSm(aW$Lv^h`sTw*t#+}MYzu*mpM|Ztr z?k4*UclH7)va zB*^Q4y}4DLloav}pNMme_`%UXZZIHMdQ`Bqhozjn*NUj1X>v&-uNNY&;y0+$_`8*7xx;5y zRP%_JJ1%Khm|5dNca^j0Nz)3IZb#{ z!KK8S0L?FTL?M-fU6TwWfCa#I@GBOy>!B!yBwSpS`cPClNp+V+lbNK1F!iWU-|F~G znxyn-aRWlbA!V_QNN=un)R|JT3Z17Y-papEU<&1p!`L?>`t_Kub)~2X+uDctxTbhZ zOMRwFnEjn1ePW?My74TA0wB^8A0_5yqo<}Dke3Na5W60FOFdLbNH-d2BYb)Buhg%~ z?_+4Bv;&H??1`Q=ky@78m4(}3eHhX7aPM?d`L#gKF7N@BZZntlBXI~&OpBnx(rERlBKD_jp)GuZ>4 zc>gfQK0Iw{Y%(@Kr_FFQI2VMgG@TIpQASV8{-EpE0IDJ!38Bd_e%q<7o zU!pc8Fk!5L^l$FLn~Dbust~*a4S>JTO9ry|Y?m{~t|Gt7wx3uc%=vSdYN^(}_0K!8 zZxNZm^M9$zzuMGqu+#XvGh-^MP;jDhjDkIm+;u2U5gkAvGz`h?y7pdm^*LkYhr{PF z8j1loDx~v@RN{HUbwE@aV8~Biem}~)!%rzU2XOwDPHAyW1|U8pfxdoq=!bUUj8xHz zG_i->Y82o@A5-&S7~sp{vmTV`nf;TYX2;KcObM>Ht@XL~saN0^eX9WsMNF!ZN`%kP z9i<=V3+oOiT8Y@X+_>;4j;;MUgjDS8{gM-^96rcl(0qiv&LAe|(a;;^wTVvh-|5yG zaZ8Jy=!t5eoF2LH$ShwS>qWVB=4&;6Gr>z|iN7-sftz_I7A&nZk~?1ee=PGVae@Fr zIKLK6I}zCL25X9}TQs`%stNx0nfw9wOLEcOo?o)w@kU#j((*aKV29Vf>Ew%*Tju@3 zfhZBjMqn>MPdB<=H~$a>zmA@7zVS71jOU_wConj6#|2Xc<;;i6x9h&;3=O|86%coo zTn)TuDIF48*tf>c}O2{=I zzlv(AFvd%%T-Mm7RcJ_8`z4`#HJ?d9yP`Elp=yiONeY0zF2+Y*A1O~p{&fF_J4yp` z?}C+CarqrUD^uM$Da?LEj1MZLdXCm;~DS0jU&Ilo}|N2D{3~DYL+l-wOV|L~XV)OZpLk=>f;51=GOKorygrZv~t+ zc~b1xx5x&()LTma7dQWWk>qKYqpO5-PBq@|RQl%Wum#3qFzj&=_1idsB zN4$&*02U$0_cK`%uIN$qLCSHM)97%!1hF|8)O3YOm07C_L-(8_ndlI|sL<^JZ-o4B zDfbey$?HxBlxtaisFJ1icGCKoH zajAWkPSHii`~Ii8J)o$b#Dc7{vFAHD^eAg@VFhaH>KSg>+|zi4!J+Can^sOwq&NMS z5BuB$`wZ>aQ)HpLK#$$DN^GJ77-ETA_XiSW?-zA4i{*K?R=8{z)ZGdr3j@Nz@lPJ{ zPh+MFUt1u7p2&Y3;-7EDM_HDcxa80%dprJ;CBT3yvtI~&>pT}Fg8(Ejf-@f_?qpu9 zOqW3qoi#u{@%?5_Em^dA6mKiZVn2;UJ6Y7sQ?J!WfQkHt3O5ESh5SS1-Pg~D)_q^l z7U+>wQ1ZVe!C1cn9$uN?CI3A@1LUEDl08GLWZIQyzv;2nwW7$LNlBj2t36=$_T@5o zR}JUcMCYCs$A1hZLPM?fntirNHjN@*XNr;87g2JL>K<7-4pjHutiXK}Hgko9_ZP*t z<_DoJ*hVsRZGrX!J%?Hf$GdVSR2F7|tkJ-M-WqHG~S?}1>xfN`Ay=je$)5Tx@y&}OLGWxVLQhTSLB ze8nrKYF%8kXi26lv5Ul^E5>U-R<*QaaKCMX>MXx(SQO-K%D@Lw0OUzLB-OJA;Dov! zO(%|NF6@QgBGqVc_cd1_sXUX;Xf8^hv)=p&eR>P0@l;DDX`82&Ujf|3z&&?WWuPm} z{wG8*%{XINM~h!2k3JOggOeyYkPiL0O)P9J-$r=}JLdyg7)?_%SFF^ufHmy>ABX4@ zhv1u8zM9&+A{$bhmqs*`Pv>i9h{}h03`s~|VPB!WBprh9{oV-tgmtzC>3Mn*L%=J{ zLD!dW=Z@R~tK_c(5kN!d{C&FRy`&@n?gYlxSaUo!g8;xi4t!+c4;S(5M)J)_<9dRn+d6t@dr`CC11GRngB` zxz)zmDh|s>;<4#Dg_K;PwzD<|2DfAOSq?bL$lo97wO#ef^L!Uj+xz6ryq}ADt`p)U z7QpyWa(_-m@D^Gc)a2YYuyg1!nvgUS=h9C$LE3t~B4p0X@h49()?9zNY=m`Zz=uYZ zH|OTD7bJ)l1Lp!jEg`xnEKEl8zuuunKL1G?i~j}~&D>?Y9eo)T$VUR~5;;fPWb@!-GMpC8iA{{s{SHN8uiVXc&SX*-` zpqqE4W$md5tG}0E+ZuJhMA(YfyqE+{-E+J=Hr3qeA}wY?ig$~IKCj{NTTeN_2i0Q7 z+Y6r@(YO~SVYGc;AAqsp)XJlm?7f?TBTw3})?cB=^@eM8Nn>$=u|ax`>fA+Wj40Qq zd2XKy_eyt%#J>i3d#+#m_H4yfX0vRxw3RQOu9su7#nL#TUi&BoL$x>JylJXU(>W%( zK6Vufbrs@|w}S_22hhlS1&d zc0PN6wB1(x>CgZ92!8A?n*Z?vm~zj} zs)!4`@|QKqnZVa%zoRl$c_&#q%TMo}D%reIC(SgGFT+L%Q0pdhP`S<3Wx0-3L=)S! zF5}vuqxTNlWDnW7nItG9{yueC9I)dpB|sJ_s7~79Yta{nm6C!Z@nL5W_>q=Qb$?&x zO5s?|g*OIY7FqYF#Ku&B$3wg5O_z%xd__u~hCFmG$}k7u;flUA3A*{tejWLR=;Vz! zH8!Jh;pqaf=1<8)tLy#2$ANv~k6QOLR~w)o(pI6Dd$~KJm==XZeTTvA!hLaO?sMpV z()Ufj(C%zX+@yW2QcARF?)!`0+SakdWN5QGJCnaMap9sPF@M}~Xzn?JH`DQWJ#U(` zrwO!p*Y_VH5CydkKrWI>Ij3baSw$IuXct}+cip&S!hKeaI~y-nsnrIx9lQC(F@=Ec zyW=)$56|X>mDL`yV8n6&;qUpc8k5)|_hvF!CH`N{z_+%()m5=DQ}wVg^>`T09$Bz! zH=Zqy-L#n$T1{jw+yIZ9rN6q^2WAGUdH6Ask&A0!>6^qH;yO@etC?gRzghHoR7Lor2)WKa{?#bk=fICnsb$^S5Wh)3H*oMGq-;m(tXY7$afWOj6JZ3 zWv#ms;w^nhhE~X4LhDiw%|Xncpq>V`?bqLNtj6tl_AGPX`pgKE+-qLW`dZ-jPIXXy z!6JtJW@yf)y}632egi2aK8uW>!}1)Kl$YoK{5w8hj8@cawhKa~B!GNpfV%EV*tNH? zNAM@5RQ!IBCJ|>%I^NCpM>Hnd1)~+VOr2~Z{?e!|(F@}%{D$w@%-j2m?qy!mG?msf z;iIvVMOIz+ue#>n;e-0g*wcVr&2~$Gbz2GojnOS2-&xc}#T159ahDDsfs~gy()f_* zrYI!o1n~sajwMXfMzcjdORK*7eE=|CEy8~pygJ~_eVrk>-97oiR^K#P#Y?_xBiS3J zPuS8vb^WilPB&swCJWWmo5PUJNb!&MWfxfg31VF35UmJ?rb)XqT9Ed|@5oiocKo z3&SCR{pC}S{Xg&A5U9YTx-)6xV;J=09VouRhQlKhws-<=6ksybtJt& zb&T=z;P4}KoTmT?v}oDk{BkS){D9LhE{zr(vUA8bh`&k$hbWwd?bm;361Wh;UDtfX z-+7ogk{=Pc*S|Q@HoEY-92CVS=rw4)JVF=&EyY+P>q?u8Fdq)t_5h%wTg5g_*YB+* z4lrJNSIKb5wCrjGIqi@8^1E1tm{~p30gm1D{ovD7KNv4b_iQ|HO`Hhua^r&9&(e_6k zH@I0fbaSSMy$8rx<5W2$Mg{^ncAeegr&mP1?8JVZ^>+%TdOP?RKmYSJUENYkDsB%S zYjf#*?f%&6ll>bAVomY+H|jrf_4!|^*7J98DJg^1b_JmhI?Q)?Yw&HS7b0&^Au!8} zw4hr0`^NTy>SD%6sKamp9@&Om1`WJOC$XO_1DUODgh zvg&`Q=Km6W+ofBIopAR56d;a+ULw)+r`=i!_(10ab3PrfXa{gc61zd|ZTdXk9Sumi z7T<>mq+*fMfAPcCR7{jusSGKn|LV)#ZWovMyQp4uCUVRTTp#4Hx0YoBfW%OkHqt}8 z7q^lMP?D=ZXfcM^`T-f!HJ#YAdx01CkOJz{+pZxzU*9Fdk8%jd%*!96ec0FUS>DB2 zjwIThaU>7O#~s${Jqlin395bovzL+n%PL9xrQzV998?-FnpfN(qN4mh41QpW%v;jY14V$NLnw0al(J7FG$e z8?aKnz^sjX+YK1^IBNt}n)sa$D|q86z;wUv?9|!cGkRTarpM6Oyivc<26ulK>o|y% z4~jqZfe0VDi%4{X963MMbzmT#pM@KMe@0~h?Zy{d5F()Wa$!XKG$_Co<4MQBYafk3 zMXanGJ2x7cBU)b?^-ak{Q$O|pI+AMkJol5FCqIVK7&apl_7T{84poA6FC3ArF$Taz zd%UYBBCa@3SnH|9Yl`yqFeMVd8|9Eqm|}d`oACY-YJKUq$q66=CJ?8*HVHo}L`B9D5RdTlWNat_QmA-+k>K8loW z&0{eJcQpiHhXmL{He3_o!gs1ckC@;mOg3|oAkrN+^+pwCd18LAz{G5<7z3U1^f;z&Y}YFWn;G)7ucYoKs~Fm{#}TS0 zPD|0`Q+aY=4A~Cpy?_b#;giHwlHGco{Nb0*mH7Z+YSnq))(4`J56E{6PUHAwYye~2 z>reD<9cu6(^sco5fn7!DKzKm*N>{%FS+8x7f{(yHwI`M&6D`Vf%yhtGP7US_$`; z>eT&PUpxLRy0b)Nb3iwmP{SN+?;kG{FGs-HMhdzygFIAgANoWC2ZwjJ0@SFGteso+ zyVdvKU0@u_*7V>6s2L)Y?>ugcUSL00+Tg=tA4=}3A4R^evy;2O-%H6s<%`<_OB)~U zxpX9LD^KZN$Dgle__+8JxcSeZWMi)4>5idchHiN0e%Co`o#$EW`v=Sqd-lGrPp-or+gw!Jo<^#}3cTcx z%Gdzc=P~7${sQhY5f5){unXjT*Vf8@A4n{r&>q*>qjgM7G35PPNOg#F7NARHz5u-Y z?UhF_2pCXc;`z`AkHIMLc-1x?iG?hBR(`;7BTO{aTB&7l*EKPjkd4rvSG|nG(pfW% zCpLT%D4NRR%D)yonRpR-sv^DV{`gO*#5^cK|6r3ud2|HrnVcs7D#yO>%^~H+%M8Dj zq99)r*$OoNWu^<9yYVv#XzZ%tSB@^jfxm-7(GI$&PfDVK#ljdR7d|pO{rbw^v#mUo z_om=u$}^cUdEbI$%Xcys*>e4CoY%IHb+gZ1hE zdIi*O4}Zztovl7@i?-jvdB0)7Ua|*c%X2c^>W~9=2wJTob=w8&&{W`4v&{eA7A4r0 zznAxT|Abzk!0KVf7%y84N(W=P$v}#w`0+t+eS5H1z@eg8*1aHezIvM)dd3d4=ruIo zm^b@6n4HdxTDYS8$6xJB1LP(?E*-8C>>)ihUQF*q-m2FXDv}%NyulSX+A9*$r;|yH zC2BoOg?fH)$P5s~YE~ux*{=r4ZSo$k2g^FGO(6`opd}3ha&Rc~-w&CTUJ9!~1I|z1 zzx(;_N2}WoID{Y-^t1g;-geuBb*5wLkIBAwGjq!#+b>KnOJGmQ>3Bk#-nPvn2TmwYLYggjr)+ z)Hu-84?A&H$*TNz^MOASP@P1%Oj38JCivmPj8yl znd#NzcbSRv{-{iQ9=&WuOb8YH12z#$9iKwl=>S^?sNz`DmwD`U8G}MwU%FTX&yoS; z6%i4r;tzEgNgKL*(P%mO`U~sQhYz4ekH#f7gR5U{aw9+gxCUX%nfp~GKOfb`3aP=G z9K_wFAtnybqg?=-nDJAdnck29^sz@L#4@N z#dPO<3b1sb+v>ZgAy|oQ#=MpmIEQpg7JT@i2<+|WxAb8L>#g0l`+_V< zJIBR7Y?M5I0LTtB$!{CU7=eq4FTV#$Y!5^ZbV%Zfg3s^h@2dJ;T6$3c7V212@|yoJ zIO?IGr7UH?9bH}O^@QTr#U=5@TdAPVuqy(Nf5zC z35dPBHLy{?MZ!@mArdEwo21c{k#<2tBb07 ztU`6j9hUg9jx~5jjLbI0tEBrmWR|BHKFOHm7O#aMo*u`7ANG$HpWy3cLGAx9sFbM= z4Su{af1GZ=K0=^qW1}Y<5rfGBX{~XMUM<{@CA74~2G0)dcgsu_pc*1?u%HuJq@+KV z)RhxHiqgUv*+9bwahrgi5XV$2vvU&wvHil5$$|Zes=|gu_ z9Tg|O*-}SG>J5+~2nVqIwB3s$bLgt~3HAb(DhO4+S!r+n9C}Q>1b$WNnvAQvmCHkkOrQdFG{o>&F_0!`zUTfeT;awn>EEwF_*=>Fg zmhJFlxaQ4RI~lvd$38*7WIfrIYPanl7{o@bVSoQ>`SQNiwfAp>Rq6*|rI$s;{0@uC*xw@WTXd^Gya-rI1Ybo3vI6`Qe~=V7 zy~Q4aS)L-k(9$Hb9~I%CkDAexM~~d}{z~~i_EALK#r&Hw!qRZUbmrz9B2)B-En}?Y zWRi$*jT4{drtv&=)<*WnV{>rpnfrpC`v}H>@==&PfO|Is6WhJG#j+*w>ynTQB z<3Pgej?naXKk8-UwZ^BYApefG_JM0$B+k#5qtP66W3`;JY3Pd?y03^MI%H*HJHLZt zLzUaz^i`^;aW80`5L&b|L{xOU;nwpwbNVulLIK#7(rg8Mum5*vCOf_0%BP3;80Q}& zy6(l7?ak@H-n1@rR$;@KE*EV2jrnJ-mc&f}o0z-bDQUz~8&~u(aNNE|VprQ48m{jI zW~~7s(|+O8(=_qYu-kpkrMC87yI;LV=E31EtLygANBr5#SGi%*1A>?F{5=n4beKZ? zUS8HHWD=6GZo+W2!Ok$(N`Y;8fR|UK%d=)d#;$goIMDG+b=I2-GqTZnLWm%?)|iXp zdMhR2_S|&g*~T@U_w4?8%q9*1+hSb0zq4y zE7p9VLks?M&}Y-gqpI%W#dS8>8=RoqDd@)byrAx4Mg+X)vB$q2h3Q!U;%yxR7q1{;gyrUj=TVdme5g)OJgyua-LuDyb_-lBy9ZUy8{ z#pv?a_TrvUa?W!104d$Va@WS?{^4qP*o}!q4*O2dl+3$?9Vw5(fVQ+Ejq=r!1p)3I zN5Ici5oxGSz7P7^Sw`A`50H<|S3m3}u{qy{7Idq2!rBjjB#B`9GQN!JT5|E3bCJXk z#6${{0%U+E+CE$xr=0NBrgLM!>K|GbqKQ9w2B@kqF@`+r(9nIq%6Mv{cgnsQk<#B8 zq+XSI?sFVylr$~T*kt;M-|+10WqckxacmgfKie+LgQ3DyX&*`wV*XZuZZ>J8dwA{2 z%5Rx3cxHW!ZDk2}C1>4NX-j=Ar@Jy!PD z5g%pCS_hL@cG8TaBi_Ihc4lkcbLgwJW_k|D7Fr+5($CVqg*(iP8tUcP*_If z)naY#`FU~}7OefQ;QW8C7G)YK^w;r48l7i`5ZDdq#H*ZutY80Jy8s>D1X|^Y#($9W zwaEPDI2~eryVJ~IS6%_M`Z0T1>w;TO&HxNN{oG#YmG_Z`FVfB6Fi^&!r`zYY$4{XL zH{uM}aAQk*q4|N-xpdW7$`3{cD&Y84dXu)@VJMp~3-vKRfzUA2|(?bqbzNizg7NGOQmcMr*bdZQSFR-S_P_} zK(G7)Tg*nL%>ET~aox*QBWG+5?(C_Xm_dUy#p#ldm`tLX@=jF-Q)~Y_!sR2$YnPZlNv;oJMHrbgd8XVoFT0Xa zt3BZr3V!nUiA1TkFvengJ;Ey}c~9=Apw`}j;SpHr*O#2a1f`~-@@_7GxdMKay+gWK zg}3a;BLwaj=RFH#C11{G17hqmc35l5U4-Sopiu zsYIf87BHX_>5Q+umixs+SlvApz=_jA**4G4EXdct14=Z-m$%Au{V6|%&IoPL#t-AN zd}+<_lJRRjC`#mH&RU50#}8}tPf1Qzq?mn}YjU`j)NRj-rAedHRD_5tg0yqCk{|@$qele7r}S=igH9X2Sx@_@%>o~acwdyA#VP!vAHo^SR^)v za)s&&1HH0GKtue-u1nO@+(x@^O1Zt zO~1?K7mKv~>KQ~eIq%hgS?LVK<<$WbFDN5DuKrWF{@0Tbbj$I0>H0)b-Tpwactl|l zA&mL(%ig%!2o*(_n;;(Ua@j*A)fqZYoPQz%RKmtzz2Z~6yeGTdY2|6f3cVr?4Od_D z$I;X5;Y%EE0YX0Bt+{8g177ExG2-TjrbKd}QN;BIty(vjgu1$*)}Ch5NZ3Iw0t>&b zdt8;b$5DSh>R8bK}|P=r~mEa~EVagM3P5+RR5Uj!{Vnt8@_8eU6;hM`PW}GJhV}wo@pX>J}{f zHYW<#KX?Uh-q66ZIaNmh*8vR(iaJGb<9SD#^ak1huQzp;6p|o}6A;ki9QlY1N!XbG z_+E#4(Si_)rGKd*OWDFH+4pRL)I9UJf8vHckau==5CFUV&}N#zQCd|}yh(p6gAPG- z!ryEPCvSQ`oi%xp_T?HDRLc40&}~eee*LRG?;lpLS5-Txs)I6C=SmKhgx6+IFue2w z^_Fa((xWJNW$11`A|%O2M{SC`?BY3dVEQDJHo{WCybj&x&x$pHl#jHIEcAokF!Q>E zsF~*}`sBRXOw0=EO#g10YchPSx-%W+z_-|r2)p^nq`p%#=bl-~ z3QerRL;I!m>U=3$tVHDA^Zu@R`gDdN0Q-&C%6X%p2SX^RX)tD83vN(OnR&fy zQi8@B12VTo=iWDn=&U2PH+;hkP|WdSzX^DJ&q@Z| zY4CoF98P~}vvI@l?$tScm$^dehim%7ONXx~r@fl3;2_X(Fxqh=^2%p@9A<)c^vsw` zuI~rNW+pZCKGgm0n8G~hgxoCnj0OP<3?D%}(YG82V^FWzwe{3FTL9-!uS;W1492Gx zl@?>mCKIdLkF_QdiEhpV zblHnc;EU%9{=}_=zQi4!CCOBn1mW+tQef$4LOL3vL&b(F0z7ueZ(jssqqo2WeP-+S z*>@7$88|Rkg|;4Fvq%X6bJERdz)ijWS8?z*30wp7^af>ELu1E%pANhXG3p!t6*oeE zz0emi9ykGU4QEhti)BA&7Z~9Hn4_JN(;u?d^BP3d{Ud5JAt=S(>It%Z^Y+bafb!58 ztDgyevie&&jsD1-kc7ho%frMs?<4Y2nq-2d7|35xKtOUXCqiSfOwEA1y4rPZJQZ0P3B{(hE_jah30fC5g@d)NYmmWbeX0EV>< zpQDg!AHufhp_DL7c7>hje%QG>eESwnI~qlATE`~GCXBt%lyP#OoBe{Nn|sn_P=_^! zvyzZ8PtN(u*TgJ1%yaHD3MQ2FGDS!F5?OPF{tc+cIQg|>jy+|g6#b|(cJN8u+JSm zV~-mQb4H1VEU|~bn{-XyEiCekB5n*qg1L4FR6<9ke*|l~Q&IP!%Hk%#cw<0pO%aby zG2RgDx>x~-r=s`UQR~G$QG{V5-mv3-p?!%%F-N7aD$ ztVhg!38#46%rFmDh^yf_R~}LC1A=YjWK+wNgO?5sIr5EZZz-_2u$rR4?vHtu%F1}k zjqERTX#EGlE+CoiLEWTo;l6Df-AX&0 z%fIi`P?gNt3@Ll>I$5oHdB<_Hp7?VoJ>ZRjXZeyxEbLv=CBAs5@1yJ2V11MMgfV z;4dXd_F_v!{m1qXa$YQi;(r*abGpL2siUma>PyFoy!5~YU$p>_?&uf3SgxONjdt0- ze0IX8+3r%?Zj(tj#JzYY-@IEpe;H#{9mK3bw)kbw7iowUuUGCR(@)+Ff50Dkb;mjJ z{;lBa$`Jpv0}TijBRXTuR$3RwDBW8N`bjL~G9G$kZNEx~tI}f)eqwbVvef3EDMzVM zT%>mvk-Jjlbbj*V6S+B#5VR>rKV93Dc;U(NCci&^YBHx0zrO4XiM@6*ef_W)DW3e8 zr=OdM4S>phy|uE_)A2)cf=~lk8NG3)-~kqi2u?mV&Wk zXwjfsvU}DeiJ#yw+?VeGod{69eom~|BA^P2kIRh=j>cgXSyij@FG0{AclCs zE#IjlXNk?GK-f?Mps*&+-Pp-=84aYqb)fYVkbOR!Ku(IrCx7+(@W`Y3d^i<&-_R#4 zu2p%(#=1T#^h>ual3JBZCVtTW1YdUrj4QU<&SOL#&Wq&3CnE z<)`}USO;a$&HbjxB7Re9x1g;-9Eq@avkO664vF0g+YuS%$tB38N}O5gitE&{h9#G2t=u%#z=Tlgy80z0 z+(X>lvP_tDL~$3CutLB$V-eWU_pt$Y<%%L^*EDV|yBoF|7RI^Iq4^4#i+K`$2I!)< zx6x(?$$mRiPvHMGFi7pd_r6FYby!h8dNrSqCd&qU^S)I;AnrTI9%EzOYzFqwlw5eC zX7>&}JF(C3$UM_Ue^bB@$jz6iC0}dqNRl00q5D$j?%(s1ecK^{blMI~6o}(b*r7QV zyW(4!({0tHWX+w8)$BqfKruUOR1>GY(^hqW+|M!s-yQ!)OSgK0Z|+h0xvCn6=Wh7E zSeJFD1@)92`YXQ1i1BMyzfb{2zNPWVG+=Aon%oe5Xq^0JD6M5+fJ*p`=V%B%3k~U? z*WNz?$e;XctOIO3ez~*}z(9u4EoahwAeAJcSy@D9h$*^1Ns(_(U(P=n>YaQ~RF^E~ zLt5t@i{M%(`0|iCvk{oBL%*s`Rm`=>-`nOVCEL&B)^HEb)=2=m3V4?9{0ZQBka^|W z3^Q>(x&E5FVP?9bM7XYOzK>Y5A*AwbjoKj&oK|Lq#G9r z8W#zdd63eG1n^pxWZJ;>E21+4_2K%I2mUkb2_3)Sty>e8JNUn#n3K@Xy#uTLGQ-uV zfW7lAqN?u5Vr#hc9~eiQW4<|9EAR#S>DQ2K+)ueY!q6OOGxQD1_}x)h47Ij>=6*aE zNZN}kqmHLMF+bQLD!N@AB+X#5qPSRoXn7Iv&yO)GAON1FSZ^nEEY?t-FK~G3S+=W zJUS$qj=6c5 z$g6B_gWZ4K4{r4`Gpd*uIk6&7FD>5Uo>(d6Gbjjuw+LH1>Q4k(0IWM_3Qh=2&Oebr z2(k(E`v8CU2o`8J67dw73mNRPQWOQzv+mBXM=vz4#cBPwu+{ffe{xNsvfS=}@Hhu( z;4b46XZ*vW&shCSj&#{a7ju~tqJs#O4t1N5{Q$DnUJSl9qLpJd4N%hK5Zc)@qVd`x zG}~m2d!GFbYkeo+5B)d3kM>DDa<7c`826ZQy(;3x5()W5^bcN3=)>8DR_zZaWOu_~ zT(vb#!%C)y+g(-mFSX(~Fdx6Kdz75woS#7;1d%BQ4uJL`M_d&4&mk*KwXCs^eH*kiU zRp%NZ?g6uWXLE~*D$BvHE6{P{bFuc2d}3IGX+4!+-=gU6KW%N@pMQ1piDB2o&F4A4 zHE#6hO7pLz_<(POlCW}q@{vA17M=6<7aN-xPQ(#Z2`7ksJMZy|NlSY^4nlm({ggfH zN$_`sG4*hQoufE0PShfVJfbZ;P-qStA(Y*LPIjeQ4e;~EE;iA5?Fk?UMMt=4&|ikK z5=5?%}lBGW?=ZFlFaF(7#ak1_a3iCmu?Tdnb5=&$5 zS}%|7X9Spk?!10VqGEyPUt1D>{azUR{=|nOOWK7!L-3jwP3Se6dO?>6h#3B8>Dp29 z@`RW*|6K#E&tHfP(bfQ{XJFB}M|%rVlF9~EmnftqFn()fT3e;+5QTX%34%s?#>$6x zko$`H9-P5WJ7x`h8i~hZ7TDlIUP6|1Tb@`3AOffs)QHxFu>ZV81FT3FFP!CT(V+cOw z4+^@%OXLSXjEGv;orfv@_HkGMDq(8lvsL>19rwlu6X`I;R-WNI5paFla9tywOv(;( z?pZY8V?4T(#@rdNC!ksF5Lqu0C54kCq-jkueQ>g??=r3K2s-OK6<7TNF%Z%bFrovS zmT>#X>5tToL@QBrk`Npvk#=yN4SM{++if&btPZ40%=(A_=!BLl#7V+qMevsd*+*=n zStGu_mt*NK5cvzDRH<@70>QREQysIJu0=bf4A0L}1llEbN{`N{7=PM56+FCnkZD_; z@d}Uy!1(C|u;=BsOR-eoWJh8RGFm&b-=iO%HOVT`JP&`QpKx#OE4vZm*%6XpiGx>Z zSY$7l+??OiYntc8?~!T(R;jL^i~$VBW`<%LA-p+G?1Qm?Gh~uXX%@c-W)ZA?+A-M+ zasAz&CxvV{ibT1x${&qh)c)Iva_^&R3O~igzCf~@zxbh6QXNB$rr*|lUxF>~=Rha( z=Pxrn$JD&HBmroy^V8MDY=x~PDEO0XARoZI9Kepzakej+ZW@m&rwKZ|-wenr3-&eX zWDs)qOH%!8oQo3`R2myO^RwSaD7fizsTxWOfHq4q>-;Tg&VfJf!>{GvkG@nMGtp)V z);iE;s;@)uBG!SZ0t2FIjr^A3>UwjH@iB zlmC4WgGJ_#r)f{;<`2V9>ptzb_h;>;!OwBjc5uI{$4heMW#fI(R6a|65uR-GUwztl z4$RG8r_e|LS2?e`OZACoRW3aDpMMig$$|G@x9Ek6c*@9;-W(=%GDeI}T7<9yc>VxI znGRi$AM<0aH7rE**5CSfvP)fzjPmEA+U$;pLM)4!mGnfc^JHuQv%c{O{k~|;>T<7p z1nd89?v2YAEU3*W9+B8;MZTRLv}{d(Dt|?wq)yIsDbJ-9KL#gh#{cH~)dhRGJa_Ps z0K^td_E4z7^($eh^tvnQA~~0u#Pp&<-wo2_XPbyt^JXWjvYqE@ZpjirIIjr}*w=0G z5Pk!bttBgoe~#(3jOp{c`eZ~j7~q+Z#?apJF%Yz9)|sw6hssX4HvJ<2AfnP?oa#Uk zaL)2IrFXwftB@O0!Y(p5=+IAylN9I^zU*D^*vbAu^$99IYU9E#A>j~E$AhjZ@}<$V zyG|3b<3bsNmqkqBfZC*64nosHs#I4cQG%rZ%9(#1)hvo1`uDA&G4{~J^fg)_)(hlg zzw}2}6x*n+*Jsz$;9(!|+2D*t2n%DPsXqzS8A*+?tnpB}(@M3ZQXVQAsn&=AEf{q1 zS^Z946o0~h<~I$oQ`BivbzDKm^*2S$(b|icklY4`Pkco$+_r`rIM7%^wlZGAFhJzv-|1W2znV78tsIofL0KNUW$|#@AD}`jVlJN-lPn zm-i}z$)UR-sFU$hVmldFHh#(8zX?30C+>^DsC`ivEmCK6r-HU{E%6d>G9bIWMC3k! z4E9Yy;Ha4P?sGljJ6w-`oK2&sH3feim6AmUsn)Wd_bjxKPLTj^4gCtwj&g5*ZF+J0 z+N-GA`!PVWhFezL0HsTzR#VvXEmKZC!!H~#W(pRElC@~n$E+{#cZ+v4S zj1SEdo5Ll1Z*W*Z*;FnfSNx^?6PdW)4tvcIuH1-pDw^Z>FHXpS&uJw( zo(qjUi}+MOywk?yTOr`it+Ix6Y3V+?`_S4R6xrw~hvLU#_!4lCih1vBD1AAU&Ya>+ zqrBb(7>|DIk|hmhIQwZO9e?R5IK0ZA5xjk+*LdQ|(hgT}xvc^O#MZU%PfDj^eVUF( z&~%7u`b;zAdP<(}?YCee>HJ-|RHxzJJvpY%6FdB4s#g}2g}guz(aTs1K+Js zz{tP`U)9!rq^$tf7A=1tScxHP5=18i_YC~kDwu<_ld&OPq*{%#AkET&BIZg52~UYY z)4v9yJn0os2DDO%dP0WGT-pw{GMd?v_mQ?T7`j0g;>o9Y4mykNo{m~jE~*>9FAO{5r8d9(W7G1DO8_{`)Hm zyxm=xfA&wv<6K$rhdTzbWOTdf&M?aIbg@wf&W$#x^^G!$`$=Anh!LT-{q*z`ePe@_R38zUPp$sWQV}z#aFAy zKQ*nN38t$!5BOd@_ohYkRmfP!wzD$p>vEOeIxgA2Z6lg%SPVl8?Yw#VakkaSR@^aUOG(OOIDwLgyHMH|b$Q8Zw zqE*xTZvU>&q82U7n-6y%mR44*S`Nk~`#vwCq=WP=rVIou9czgSB53o*h*njP@S&T{ zf;vM`r^0XLf|y}O3CxfHfSFt_35bun!*0#A^UM~1V}-b*rAR(JuoX)K72V~M&bCq*lJRQE^5f!TiyV7Rs2hPOKRO zZws&9xLJh&O(M0RhjXiN@JlZM%?(%@Bhp$}93b1Tn<5lBg<(_tM?gqI7rWL4N?N;a+`{ z)ycvZXH9a8+V00DRT=NcjyDs3sUfPy)tkhBn`vt{R3@;i@MaHW;FjpbB=)&n_v5G_ zhP8_!e+H@JUcTlqhP8-i9h3?uw^P7?1<-0p;f_4O2SZL@5i>3d0N>5v8MvoTHwkNJ z^x#dS&y0DDH`~;w1}YQi;3L9(asnAT4pHtZN?<_6g@o@4YG=BSMB&C-DpJ@VA!dcb z=SG9GacBsfCp4y`pR{d5euUP00RRWT_#Mh?G{z+0QHD+tT+#Goc-J>b zJBI{kz95(BM1tz9<}rD;=!^bH-bqsXjIJjco2t}%Q(=hU_{%%@R1*B?&qbbBsj=BX zvvih*uvVknko7gof$n!$t72fpT7=t%TfC(+$cc+WI}8;=;q=K^C#-+@0TX3B69Z4+ z<%y*LgJe4-6B=!6 z8u*uZI*n80_(sL~>=Bn`u3u(vJf5yb!`-G1SRknMJD)jk$-^uEj%Qk~iei?C^?Q2! zm_8mdW4_8O{5fSX$IHh>7m@4JVcyzRL}%{FeJ`F+3_#`6b4+ncg-|@F!b#2QzndEg z=WW>^I_jfb(AP8rs%2ISY6XzrcZOUA`vK~fkD~g$i9Ezv-^C&^~b#2 zElGT`^gKk*qrZa$&UgvDj&y8}fu@6vqiqe%TLt9tB_31Wd{uMZW$jy> z^6RYucx@N}mqF12l)7ePTvxlzNb-p2AFS;@$KO&E^o^GD5gCCDq?>WH# z1O1V`JwGsix`jTRJw2K~9-x3A*Qbpo`vlxa!)9olCe2xVVR_Oa@AkTOK*4`c z(n{*UqjWig91|N7Qhr%rSV?x<&!0~!46-H)v}(=9G}(Uq_WYZD63N3R=$YUSl=UV> zreidYnK`6EMJgr%NXRT`--ocZqum-bbD6H1(}g2CLcF1#=J=JPUO6!i?Zz%)RbWBsi!j z&jw7@8?Uqi8Z>pMP>{oD1UQa^yp+-vw^>8uD-+MHruu zPz=*8pb{V9xMSw69d@&u4@dtc4+%FvJjbt6o%OM3L=LQfO{Ye7FrL+GSOqY>WxBPS zVNL?~pYmJfX=Vryd{CH<_F-WMy~Z?&+UB0(uuZszp;0+>e6O^1A}6Q~!g-kMX?H$n zwar3#YFHvzBEF0Qu&moiSjw*W$@tlBqpZNXP7{sV=tx^)C;*Gp8GUP9jU<~L*I4!~ zpBPl&0wyE(>8-+2)f*F9O99rI4#!sjTC>9zx*&AdHw}rZ>Ra`;C8ZtftK-Th~bI3|4j~di{cQvg>z*qpR_~c z`>s%b0>`zlFeoms!hTP?7~nejw=^N6Fs0%?;V2uz9qk_}Bh-^H>^a(>fflk*(eNcW z_Nxj2cav{zyADeH0VB0apWekEAvO+g=0?8vFyEpk;Vapf7a4cDEv%O6uPGhPNBDb@ z4E$#B<4crA^g5ABL-z$Ef|yEI5++wYphD6j$l(qu`BcRmR)ELh&X1?Ie$-ej6E4mJ zC>;d!)#g<0kK}jT(wD49+jHx@`oeFsOwNgqj)TSPHEXf&rV6@39pe>66;MPy8Wp5O zC{2MtCLxeN*vdan{X#wD0`~TA*gr1iSY$G|QOn;bwK}}rA5n|AMDk=CKGQh(zghsj zwoUZw-AJGfesfTGuSXpG7MBm@LU?90>x5F7&4Doqcm;{Sa#cExtI_=hsE*AZCJ~yV z+^x0VfL2Se2j5B;4ds?{iaG8s7M3F6sH$&IM5BMZ5if?ZFuMCnkGM2ufl^bvr))C6 zan)O6RI?K5Os^tpk3P@2{QlFvYVmuqlPU!eT2~eJ$4;(~LJn3}4xn9f{tONibz3P| zM4ZH!-=i5B9n{-No+Ej{-8N&L^7N+}&!ZCJ?LyTKrV->%KLL~`RB9z#n9)Vw_e=n* z>8r0`6+JNsypG7`N1Al~3!-lcbcF?TL_1k-G|SUqx~YO##lX>VAFHPv4Mf3Nf&{oZ zXO$eHGyI`f=FLc!=dKt=2irkgvF8d13b_7sT8IVc<|`#`UZ1)GrR$-bgYS(OJE$sb z()P8;jlr!UYGXoqTlLfa?}PU)?c16cDuIP(X-acc|Nlk*rdvnrLMT^4mG*rkkv0Qu z$CZ-TU#W0$z-i=<5ADVm>0Xa#8o405Md`DDCy6alReM~)u>hH90h4*7$&hJ@9sPvY z6Pp1?or3U;MWRx4eRpA(=6EfY{pa<-=b>@CM|UCA0Fcd`fruw zZQ7B4c%#Mf*QOrW9?Y){+_>Zmq56iw{Q#KWgT|_W>8_p?lQHRuPRSA@&7C%KYAvOOPy%2eN)B4++Ev^#yq)T3TDAf8!4q%;Tkz5KOER zumJ4IWj1&;SeD((=+n-&Cuj_e(P1GREdyV>jRh5VReQsxwl#5Ug(t}<_w|*v3DCt| z&7y(Mr)3TRf@#%`Y()fkHwn6#=`y3bw1g}d8Of;^b4P9{rRpf#9FO>%aN%uA%(1^_F5Ux$B6_XaLEnc_}U{d%}SK~kIZq6ND?{dIEE*HkP?pm@!(kCNM_alR-) z<#Pm~qt`2d!ReaOpk|pAsRl`S0l)3wd&@zt&D5Qy?fWm!{_!iXW?M?Nb!xqVMXwkT z)D4EIPP@^)5R&%K%kD12Jm;^IB{kJq8PInvK2c6G$Q|v_JlQQ-;H|Sbsa)`9T}XmZ zCmykbgcG-#jnvG z?C9XPaJw?mGp3o@1%qfzB)=R#R1set=QX`_Hy-CiSQeh8IUXZ4044rz_u>KFd`S>g zg}4`|ym`Vd5dSAD;31&uC6EdnMjL4CgM2#gW0Mo5UX*xQ{+IL>OA-eFy5xSMoEx+| zaV3pHgk}+)a>(p*8SN>65>-S#09ka(5!yt)s~&c#!pzK?TZ+N zg*p0J6Sh?;H=Cn#dJX23gg&D>U;?ihLSUQvPrP!$JXF@J*Hg^nS+d0*8PH#Mb#pEK znG#8rdth(kRWI1x^K}-Qf|@i})s8ErS?<(MkzM zh_?%226%@%iJ~rg%Qjf|@)6xin?FO_sd}*B0ADP8E%v={Rcfuh6*0f5T9-&G3$A3jPlOBT3ZW{x*=}h)BY! zyEicN^zD`5_qJ`&8Qk&5M51!k2dK*|9_HkmDyX2F+8J85!AkUH!3=xA|Mc>z<$boP zPf38L`8yAn@(3S#F}>mLNcfV$p4fZWlY1YO87-N&yYbmoB=-030x19ZdB;wU>Td)q zAixB8ZG~;>WI3>X=C|(13!U8x0wCjb@N@{i&>RqVzqv%V(pOx(pSVDN6Z5f>itn_-Y@}wwu@Ug!H}n4a_sbaSh|U&q`7uyz z+>-wV3Fzi!$z`V(epV*4)CZoTlOI2BCt}Pv+Kt$Pl&_*5a^BDs(TZmMx(uMKcp+f< z?B%1`cU3)JL#0FrZ2?t3FhE$`kM6~RbGhC<3>8tDtrs}$d)isHpsIq`c32{Ter)Mm z6f|K(7dl$#|8ln6!}u(LZB8}%qTkP(f?W39t-=3{kO=bHn{9u*kiFY^T5i9eZNHt~ z3D$f1yq{I$xtBji$H_)VaP6qfkSRf&t=qYGR0()bw9BBPn<@w{+@)qnA1(0I$ewN2 zJsEb-f2-g*@S#3e8h>Z}4Q(6y7h+}nl&)h;TZUh}YZxU*#9Y|L2c9O#>Ii?+^0sA(Pa0tKc8Tx9k7qs_Y;xmVP`IyZg{Wm4~5-Z zhvL!9*nxg#@jgZWK#;)LM1X{&LHJnT-xY%Vpnb(v&u#MsITKKf!GJL{{kKs5tdtEF z1jb}KIz1qtKed}(rQkDCle+b&sIT-vQ(+K<|2f27fXN@}^uFGiG~}g72w9AXE}^p; z_Pxp_-#kMUyEI$CFQFk$i||b8l9%fjY8@QWPs$7EU>^(F6!ByrE>$>TQcaw2&M%0R z;Q{Mq+Lws33y3N~xgh3U86_3kLk4})8(ixxYFsHy7B|g@f2G+OkAsKpB2?e#F9&GR zV7dZdckJvl_#u^sa|iC;(SN%IwQ`~QQ<2nJdAb@i#E1{>m2b!mA_R^annd{Qb$sAr z2TqP^Z>=Sn*)abqZ^umXByolF%*>+d0#bRw)z+iy9?C)9JdJ{8XAk&<&wo(Dg4}kk z)5ii=OVZwT@#y=N)9AFkig5h4ulv*S>P4Y9ot(`peCN|33WdRrtsPtr1#(tv9{OFC zNs@4J1ZJ9ifMP=6YBy+*op((dCqHWxWP)}rq^q+Xd}^aAl)1x&i3SuKhLPI?R4XNF z6V^S?uJQT3TycF4rD=^;`llbES8PDP9TFjarMBr@8v_S(+gF<(KM?~zsQAxKt?|AK zyY)5l+py{4_af)J&!mK zgnv4L_*4h-+Mq>UG;odepOx@2K8syNhsAK`8W&23Po#2m_#M7AK1rf@Pf>D4ab%(& z+chC%FOfez31=eQU~#A8{c?aqG?K$KI0a5Er&9uZI{qNB7W&!Vsv@OQ_0U$z603mf zl!!6cca;1Sl~IjvWMuSTOwmePaDq#FEuS$}qtVnVLJ8?X6{y(PPGOp?W4g200C5#dzM=OYQcZr0eGy;;+ zDBZD<2|&PWL)DCThbY>qJ2cCuL)82g z>T$niuj+ZP6U(L78_NuRk6|zm0Qc=WSLAO1*aR9V7^{r>`R7lH65i^&;T%C`ll3#_nboR{CbSy=p+seON%r$~S~ zi{&Yl_dz#AkzW@!H9aVy?gM)#MXSH3FFAbn!&08#^4O`iw?CuOvdMmFQB2hK-a{fw z$|_S@$!^(}Y=Y{xqdUR4W8#izZ8}fb?43dt?9rl^d6LLV>~|dvUgqh>em>^`WY&#k z;Wl{3&c$OA&{K|wNK!888||RLv3gx<-obMrk%ByJ5!k_3j*{$4x3CH1&!>U z1nNXDwQqDXe}lJIEG|#>C*j^ld)}NezdQ@gz@rmX$E( zsb&xZymAQuwi$U}+>>mx&$R<#V9y?gI3;GTV;MGyXmy%J(LcAyZUeh=G)NX zF9icZKQ2uPs#9gZosYKl-v?0ef7DPne&Fy}iXGOIga*S+{H7ZmSl@kNPdZ>o&18L& zjIZMDb=c+oCe6Tdf zTg9w=Pa@>$Ml9rL{G=_zoB=#Q(!7O26A=*6mT;c*9*02&mh9@#eV^~}cj_MtD$Og| zXXpYrgcM@dVoI1}NQuX1xJ(8q)3)eE1I-f7o}(B{xB-rs+%|`}N{avPm_UZ>$R^Ll z{`z&Zz@LXMTylbDUK>saqK+1q?xT{n(j;CYIG(F`TE?eZJprLdF89h2$_NzB|`7u^28-F)OMg)WW^S_$`0(j49h4us!{|f6aEts?zn9kV89Re*KDP>^k zXD^QBjk>a}x!L=7bS-xrVis{QUiYM&pKDg1{S0?=H%z(}*kO~h%-2v0XU1^C1bV+= zz{f(vVac}8#Lx8&Q634wN_rUh`%j7WE1+z*8k8nYwPIYfz}_PjWI1CL_xRzR_;bEG*(jTfIAmuQ{`bt1es9P zMCDz~3=dFzSW3cY@@YE$buhx2?#=3S<8NA6M3TdVWWbdU!mRM(t!hqq?>X z_{~ZRj5NbY0>b`8Uzwf*>Sl zGG8X_1gt832X4K;&N@ErWUtR}%k5TOz8AyhucIX&^oP?rPH|Nn6QF-Oh4xDl;YPgV zZlY@^&RL5vgL&_>$gl+^vHnBEm|@5zp7q(?8tp!_X_b3L=N={YBqwGch(|~nP#n_v zL;)8=s7B@pT(}Li^km~E{2=l1uM=S;tAMkF=D4RoRkY{P%8Qw@C zp?c@$`*sSUuJ^QBn}r==RJIa=PptW9>fZ*ypE4L)nfC*l#y%&$%LB70Wn*eSh{${r zOFp~&)uOTUq4%eblyA>hiiRC*L_tgWK~aZmv1F(pjVphf{Kp1Xmk;pWup>MFd8AlZ4X;I~vYe6C9QC+?$tx_Qy*m%sN0-O|b?gN; z$@jAC0L&Ve`-pfEo3{xkCB8Ru^7G# zr~!hpOpd>=U-F+|-K=BYhkGCJd`rIJ#5`y0bD&|^`V=+bR(8`eC8af~-XMUr+D|p* zEK~z6E0(-`_GE-2$++hkZ*21z7z(40z2^czm&|y9%bGMyJjz0^Um=3YO%j2V-^8-} za@b$FfR&JY>J2dJrg+%Dh1`)v`58p6L|MIcy65mQb&Qj_0 z3I4#QBUNNbATPG- zXn#m8l`AT7_xyTxsCCry^gBQIloLW!-Xc3DIz#m?{E)YjD<@fRY)CJrw_Xt##9Yq^ zx;@VmF->H4e=_9c{kE;l3}1%X7VG-ybON1@my=g08kVZd;drr4lKA(p?h{>>p;X*t zQE{{+nQJ)>J3PNLM-s$qhF<%4*Zy1dj%=F5D`^s6Fld#f6tkW3*lyyalk~zs3RpMe z{9qgm#0^dd9QS%AGWZm)9~1i6zsZLTRZIFho-|25Wsj~rweknu0ic4~{_qCRr6lZS z@zYygU*V>tDd6pGUZ@0@He*%P=57W-#Zzqy+Wf-FGiIFCy@%3^tp<#X_PMQw`=FbY zU+9ug&ohLuidKr2u>c-7;4bgoNdd19KazAzU)|s?e%wd~9&fbd&Uw_>XQ-}6JV>^Z zubnAf(asy!p%g*a3RtWlCGPBr?R& zt*H-pH5D_9Gc>?z@p{zR{{L|5;7l5+WtwNOchqn%?Ka-yMbN70|*k0}Y<4toX zm{2~TiA2JEGdI)nS{1!NXwX=mr<|YZK2}E$Mvfa515%jj=ja|ZcwNq*U9BRtkI$ib z{!+}WaVf=+)&$6a`~Cvc+G|3HqN;K8ZGY>-eAeUo*>w5iE@$$6?f-QA?8?%&qtOrB z!w>s@H#YcbXy?;42c;Cm~Sh8E}`J|IFzr#a;vxZj_|M4OY z!U_oV$)cGh^?@+-;Gy7j7VBxYN+MIn;*dUnus>NTE;cTPH8}`KMa+swcEMDo153X1 zP|D(Hi)LtJ87!O-I4R6YZ|J~OVJ1}zwmcMm79w2nU;g_0|lhvE(_57!N za_a4OzQ<(B3G2~akvW#ZL27eB5`9U-i!bxbSKmsc8GLRJ8Q)Awyu{+7ukdW^ERTeRe5AFgZ|=G)uE zU(4~vMP890rr%xu=<>N%h}JO0b$&UuBS0Ey?tRQ}N5iS9&z zanBYBWIGmck4OM1Xb#WbvHPFv(ih*1Ja86M9qGB;{?I08x#qh2&Qhjx=QLTC&X6}i zCeh+IFZ40WB{_>_cXS}Y+rf9O^~)t4s*13p1g=&77e%=K#qX_gH67oarpS~cmh}z~ z{42`G8LlF77q_IgBer90{C*n8I%~^Dm8D4rTjtZ!yXDe6%+lf;LB(ZqjU+W7-oE%= z1IH$K<<~g`Gnv)jDlu0_u-$0cl+eCe6yW=v%y%n z{v;Z8EaZ}3{2UV(mn$gz;Ai2D$S2m;`85q~@rb)G5y~XELya5!!Rbv|DQ%mbX=O*F z1TBC-n82lJKg!>}5l$r4EaT4wr6*Fl)%J>~1Z ze2T1rTXXQOKH~L{u>9QnQi<5Rwwx@MCdB|x!gaUDY|Q0;pYIWo5>=S81l;fM&5V zt~9|LOd-Xp7CzkJPpLMRc?(1Cc1b=dhdK&IWbXWFP9rBp{GXFs#u7sfqG^XpwY3mj zJ6o97;KnRcDCySZs%^m8nTx=Oa5zl`njhxl5;Q-rZ~MY*VRn{kh=LQBxJlbW;{rqH zBE?h9GIZ>VNv|a?3vmiZg28-VzF*KxJE*O}e;HyBa@HA`_y zgw-0AuNYwW34Ordf(&tUjnr@s4G&ium81Em>l;nb<`+Sg){=CRjU9KYnaiv97?~16 zX#{2E$mPKcnuUdhW&2u%X^-u{wEw*ErS_H!fr8%vgIz_-N`~bhPkO{1ur;DnnL*im z8cj<}_2}-}1GB;M*{j4{MBb`FYuV-V_!#@N&kh3E$=I8IhCt}WMax6=xs{8ocSm*aiYH8u>!7+jNXjsQ#|c7MJWfwjU}eiz z-t@`LT=&K|)xPQpr44e(I=I2FYkgvh1VyfTQ_cyPf~11#tYIHs6_y{}^?R^gSO{ z^m8o?^t1i}e{<9YznKGEcU@`Y} zKjds;Cs6zch3_Wc`pX|N=HN~-VQ5O6^ETY}{IZio0NY3Uv%>XmG0mS62Stz|NHV;6 z`4PhCyj;>^L8kkPfB++@YclE~dAIy&4_~*jy*wQpifP%a zM<*QhEVw2|pLK2&3h0DF2t0~2YMIA+NYe$@Ho2l8q4>gIt$I0zoRme@(Z<_4gv-BFk2Qe15?y62moA`oU6$sLqJ{J<#HFf zKGQx9MF$3)3qjpnMVVr7WVlk>^jd|kk^LG<_*SWlp$<0(w0iR8RQgGJzGR?F{tK&H zBySMe#4>K=mE-y{fl^yP$%jbx=zM%efAOe`A2ESqLnIPV=fINt7YveVvS4R{as&2x z+Q+Ak?dE+cSm|Uk!cHP7!xBO74*YY7Inq1wg9E<&-lR?1xE+>HaAp!8DO#7O_12aV zz!K}TjIth57m9s7H!b8XeFKfZbE2UacP@bB6#Xr3={-zyN6zi!#JdlRhIHTVM7f)Q zW8#3SvtzER9|-rqSk?NJ)dhWk-Tj7@C3aQ&?>DMRbvFjRUQybeWYmi3@Fb!?vrVaV zXeE+x65!@>CoAxqPPvRR&w{em*P##q;)rGoY>c4sa8`B8FN2zjTlo>te;yBI*?#=;hf8hhpkK^PdgJn9`vu4tJk)LC zJ1+DDvDG4+YrdY%fr3Kod!agl+E&(LQ6jp_viBa-S2M1(jc{c|-waY~U$)_F6%y(m z%#UJ)+03c(anG7xjz5In#Ve8SRo93NLCHq;ey)t>ie;0SekmN@56e_sz!jzKHF0Hpw{1Gbkfs z8<_fvJ+<3ICj9&Bc$`bk@RuLNQ&qJOyP6kG=Xamuub!dofiTO=->s>wRq5RL2w@Lo zywtO9yW-ZfA;H6|#fz7dQk8RlDTifU7MSV9H_0H+p=+Z4Ju!Dp@#;yxOB)@tzKfl! z#j93)0CL`Zx!UBU{!u|zk??rw1w-W(@3|NlW4WnGnE`&_p4RuNCOr9B%LUVT2iSd6- zJ%%Rrm#W8>B%dlf<{sY={l-wVJqIQa_bQF1~#aWOWjVh#FZO{%~tf zM*dpjkBUEe5Aat;-k@j&ZjZv7fw67~zmaH|EDKXeyK2?pcc2`y+pJs!=W8$Kc(V&- zI`+GZdLtb%5z&&ppR`tF&O73Q=9e|>NbSqB6Pcm8l}f9LSIdgc9azRi$yKZ8MFHJK zsrjIjO--P%AnD{8mP2Cjmli!xBeX7axgm=TK)m+T0Gqu;`b5nmo>tFk*C0F|^A2sMOyt^Y%Ql)b-PVOY}t! zPcn|6r1ZYmQuc}L3wAj7;}pXuUnG}X@2tLEEin@t2998mG`jh@>w1kjF@hJV)0)1z zrak*n);?l4>PBl{R(`S{K8y}b+^TQ#2`X!qL-PKU0pJin&z`S2w!?QOkRccf22xPa zlzwD4Kyp=nDwnkfs1t444Me>;dD&BwD#Ap^Ta)L#l(u!?)`a~G+?M~q zr%QOu^M+~zf*acqvih_2jTWSL-ZOei_;{1@Qy`?A9e4x=N5~N3_L$BBpt3$O&Iv3 zr+lK8C0+;%(dUFE*W>m3qNvEd)7m$NiY`o*^`d(XF8*-!l1QUQ<=uQ+`Of+iTNv}D zh^{)%FHmumd3Wn-$crYY}^1mqId5%(W1oj$O zO@DfVO&0{>_gA%e3l{4B*WVI1Zj7SMJ;K`@+v8x}S`^X~nf1ok<(UQ`2Kd!J*x(U^tY@McX_LYIZex>Gbw47(*Q1urZTh5PvWFKa(0 zNq3w5I!$=9#9Li6ZN9uGj@i)d6a5{MHP7`)1cY8!V6r>pabTT3B%DK;fNFEO5d_JO z+oTSiBn_1P_Y=N3&*$R|JgEG)EQ}pv24eW&91OAt!nK+Lnx$ALFBpuU{ii4GOcZZ^HILd6KY{wb|>;Q;;kz={xhM>IIlKy{-&OoO#nQ27B?wpTx}pSM{E zR|5d!zkQb3UQ;$meKLNB%Va~b<#~i6a&mI|KIt94mqr7(7{8`a53=gnxjQi@hU#lrMP`?HH^+*M8oVMkq$EGq$||>M_0nd zKj;^S^JMduV9DiLMeIyv9bL^IB)_Xe>I|F(Up#(r!0Mimng z6gslQ+iru5V3s6{rT#9Fd3gM8X}FNL$=~*s+1Z(e^!5y`oEacXO4^sLa02q~q4f*E z_`|J6K72vTr_<9Opk^cm<`JF>-g}r){>aLvwIT}N3QJiX#(OO^eJUX~#GSn5>Kjpl zT&?X)6vM{cb^{S%1dl3}C2QMN) z#fp-lqRZVkKbGWx+QDT%%E1U>(>Jz2jN(vO>nh8A7&aL$7*Mwabd+Yj5 zNfRy-(XM1;L=8ZUd?e|jt0+<3TU|^^y1z-&4E9z!Iz1|nTC??1^D7SD zLvcQRBek3_QA6b=vC&^V1kSvf)>gG_iVR7qPCShcX;m(Kr5LT~v+?k^>^y_I&|7g5SDO$w3&R$Ht4iqHu{`d3V>D$=n}Wr)e4&Z#H;( zhgv6MdoKsae(vRClTE1VDO&HV3R6F+YAx{1+VllOiotwec~wIP8Uhsu_OJ{?62>hO zW!;#zf4=+%SrE0~P|>8du82Yu2^^0{g%}H_&SSL^LSE9fO1dt8CQy}}3n#~=laodd zxM6MG_A)N+PgEmVEZFfvX3zY0z`;1NBn3Y)dPq_`ss8a~&)cJu+Z|m{*xW`E-4}y` zANK@*1dIw<)k{bRd2r$y@%>Z)(DPT!y4UM*IaM3HvkZEMwtChX;$Y_usD8$MnqEoR zzK_sQ0|TrR^Vj{IxI`oOYl;JIaxJ6FTu##6gEd8U1D;6a#4#VoWHNX7kMdyFllx!Y zT+4>Jz0wUF^9G49SgbM=L&vl2B+0|c!>jo@$WuB0^%Ew6W=X6Me-r+^9|~)KGLi{2 zitvZd(frE{OpA3bWD(HOV+1JzR_)HU_-|hmN{m~^h}|tlt2^+{^}@_1g3&S$ozDz223&_Y4{`r_ zIcU#!W?H_aU1rSZ%p5pufK7=X!tEPv7Jo5u4gJGA!|W6H`o}c~J`Wf0`Ul-ST+u|7 zZukzmQ1oO3q(}H=IX7ALTRc@MHsMSyiLQSFEagch&8j-QeMEWckTE*xyqW;lMtTP9 zsp(9c9pA|{WLFsqmDtSaOdOSD$G9PjN#0Z5NORxF_1^f@r$QtCYB;cTI(3ET(>oqM z`RL~qRI)GUn3M$~Vel>+h$VA^e8%Rd+6U5Qxo88(L8$m8zuvb2*(&x|$AWY^OyLmyr(Haxm(lOxzHE@G3cJBOmd4;DmCZY|rtp(F*Di20d=Wx$c@2 zK7P3IlE}YW#mMq~pgR1>eqL^5+OoLZ>vQzk$(>M50y?Q_yPRFsw@+~a=DsUPCc&=P zid5Zg-)ZTM!&vUWk6EdjiazDO zD)LK8Y$QSmPjhPqto5EWvQF+bUY_m~{?;$f8sHO6YVR!26WTnhxRk*3Cqm$cl<|E) z`#aWa?eGC;o^jfR0>Wq1=%9|460Au0XT~J;SJGI%)*NZ4@9HTXl-~a-h?znDPvBG@ z%mM&^8)dzD3(R|O*)!jHR)cc&gjw)jVG$2TasOO=P8T9F_erL2S!&G17F9Tn`i3e% zT24*su88<|r!r4&Xtlw%?Nc&5f`_|#vyT?Xn)IVnV#|t=kq&mg&3mf)Gg>bcMv-1? zkXfbC-(7A7Ha_c1+jr_4yc5PMWL1kr?!3I0pzGZ^m!<&2JNe#jdjS1Y9_4<^nNRy% z#(S`!@joY{VPzquR%`q2G#y+h@P*$@v&2S3#e z1oa}z`#zCinycSUDI z8>e4M3WWqyHV1kC86*%j=~gcqgYP58RaO z#sSYtZ?lE@NS(xi!NBo|K&2`*fkwX@fi5Yp$T}=AWSN4q z8M5c;UWe%H#G0#n3oVGy>LJu!L_&U=XM~~DK~jaW(eB0rOnI&`otAvb8P{3wWGv>c z+5nOKDg!?g)Gp^K)jpnfGx5|$-XTLM3iR@_%w@9d_L8^wvPJM*Iyl1eoA1-(MRSif zy{xtxR!W*B&qNwIP;1t!4;<59rFMmnUHp!w=*Jt!B*3;9!1{LSrmeJ}$YiK;ayc)6Mi<$Q9wFmOr< z6yEnOzbA>Qkw}@VROv0Gc#ZjkeftH^51!pDvl!wWY%CUTG^8kKE|{*`WN`jyHt?sGPYw$Bhs5cS6^=i)H3F5?y6*ycAcL>UTLWw zJR-0#zlA*iTGnU$%5{2_F5y=EaT797@JCZ2J#v8`{A{j}id$c&MLO|MoAt^Rf^jou z9n>%8CMBi1F0-_@zls-4*Babk!k*4K^xyI6zoftYS&DkYr5t*1fpBu2q@?TPG~~ZE z#pn^d!Ww$-V+5dIy*7TjmG;QCHtIl3gC_vm$+egGkS zF4u?nYp`V6&@4A?*9N(o$+xM{JzoxWck)}rI7{|Aa?doge z{8lXiLU#c07OFt^tM=<2*-Oe5B4+_VTT-c#;qD|St@CxQiE~B8{R)wgKbLIaN!zkUmyou z+=N-XK`vEEeO|;=Y=_|Sr0CyI8nh~_j5Af{^=~l_LnJGi^=xxsC~=(aHK^Q$Pp5v> z-MLi1#~)$!$*6tlq48a{o1h$Y_^0Q7m!ND`tLMeh!y5Ab9=%usZey;CkN)4m0=D?l za``Tf{_%(&cAo1e>Y+KMsU_Q5&X}hv8PUd%17W9qyvc-J&|xq4Pgl3-QAzm#mH5M& zq1fZY-RBeL#5C!U`e2OQuIVdL*WJDDSDDYFI03eN{J*naH1(-~D)`3UI%kD^j)A)T zqvv1uj3Nfb3>-f_R|5nGo(d52f?>`wUCVJ|*XJ*ztj!6YHgDg-ara-SlrXD?0|*(# z_y5GzUJmA4{i;j{N6f707K0R&+J4Ukc)t8@emgWsR<@s0w7H=3YJy7iaw+Q}Z=rFw z>0EjP>}T$$5*4N%U{;kgh8b}sEz<6J+uxiY{yld?s%o~(_@ArjCHz+SuEo0k=FW`~ zV_6oLVGg54A)8YMxS#g28~b01gQKt0cf~;rRW5EPm%m+U8`O(+?U#qt^VQ_*l;7}) z1^I-%J6yCj>J7y(N4h8JOA8q2e$Ll0ATi217r!7VvReO@SUDW$x3+z$l||xUULJG) zLfSfA?V>Mo4#%heUF5hb7fLG+ns9Z4@E`;d3OKwj60u{A32_2N{Mz|8@wA#GmJBjj z3FU-6Kp)a(jbI&G05@bosVx;(cjV~O*T1JdPSu3$2!`=Jy%t}Tnj$tOKNKPL^U84A z3<2O~2>fqTjP>7%P?uwwCJVuAqnk`hnUgr3n$aVgB?BezNeYG*FA8v8g+2$-7ofhE zw6FzCx=rB9d$|x6oOr6HtxdZbCCt<)_`YH@^S;V;<-Ga4!nK zTRd9rjbpt&)~8?HJz;K!Uf{uyYx}kVQ$7fBFxVB3OheROAr&Em>li|HD>ucrI+|hW zyPXP*KT1LI^};eyWiGbGNaen-rg+Ny@-g9nGnV)m`3UK`?9oG*@b!&e&f`wroPIRVgjl zj+8dYs#uyFapm6ObLT~$U0(C*a&Y`4qV!-2B~V9@Z_lXFAS<8HbThAASJvMrMfrB- zw(-7E*yZtXD{@sFbq@N|y}*5U)nNX2=Yge8*0OKr;(21yHZzx83rl~d-H?$?)*<&9 zs_iA3A9lWAD_ESz4O(j=j!;jrsp2~&VYecxPpog)ny$UYc9Vvv(29WPuj8B{{E7EoT zLZy-!5~{#!!vFO{r5HM~xP<0ww+yOf_3QaO+@}V9>)Uck-reDQ@HV=g06*Zb$h70w@eE1u{+=Ua(J;J|oL!s&fYwAE#J`E+jk6;{gE}lq?g$`$% zNbvU8RcN-iy~~A;v0|n%I6cF7MgMVd_7ep2|7ih8&x5+Ft;&y2Hw2B0xhp@p>2mp? zs{y!wW4Q7_44A<4gSd?gV5$&Q_aPveGRE>8?RCYMVeI|1BB;%M`j(b%(igq5r;eCr z#_2W49dokDaL8Z4R8sC&&eS=U!*ELWVjGW__+@uGs{CO*+vWw@X@8%}5_l_sPs*%h z`3rkUlw)0QtGTDHp8kb@CP2wlJYq-|Z=tW7^UG8y=6(gC!TROwaBA^A^sN-1C`h6h z^sJUc6f%+|u9cPHZvO)Q>oy4-H14G#I>oZf8Th@?@AMp{p43BYb?1P#!OWLXL7f3D zt2y?wA;Ws6==)lQ#ybL@a(Z(Y@f7z1cawsrZzx9HBM;Z0#&GjX$k={K*@(VI%WX2I zg4+(;c&GQ0ymqTh0C|zI>t@IBs*0=^(9_53Wn1^=Qo%T6z!?U7}-~G_q8HU zNntGxPbF92rRM)=d8|ETlEHtX$3XvF6Y}CA4vwYSjNKn8VOa(*_~%x#zjA(NYZhqI%1!scRjvv1x~;nEAZEo#nei_W_jr$p%dIkIl=>6eJ? z&arXw^^NN9SF9Il1&A(R9+InONp%)vK?BjLkXgsKlkB#2`UVCD|AhtFEdv?Av#l~D zu028h3>0?Ulg^x%#&eN+q`!VxOTY7*$@ZeQKpish0ZrzTesM=(^}_`m!S{SQ3ywn; z;ttrwiovvwjhLlTY12rom=JYa2cCfm@84LS)h)r5SbPal}zb}Xxm^dSDJ znjpq9rDSeQflX!}fomhArTo(mn}t^}4!`I#*?GoAF??$((DLaU#&yxF1ayG(*@sEm zt5Q|GXy?E2epjI5!AB#|EuXeC%aaEihE9mT!$vZ4vs!P;TPWD;YYt1Ry%W^`M3q- z+pQQ5fA>}eOlBW>45&RF~8b}uu3&%Z2@4+#8-6UPIdQk_dA_d7klx>h;6?n z{&Q_Uo2sRbBIv~457wjdfXX|YM)860byl%z{EI3i4?Y8nB6=59FyC(r7TpRZNt>J|#JQa22{)_UC1 zQM8}>$o#n%?Ivp8RnlLa9A4N=IJPiNYa@qI>h*6*LXBPYs^b9FiWt{jV2Vx_!z<5s zAf2zK&R)|Gd{LxFC0{vMyG|X9ny?gr)we}823uQ;<6GqqD8Fm8@U@c-glr#w(&O>p zJ>(7RZ7~~qbQzZpr@Hnmt)Y9Zr&{!Em8yL&z?z=e{whr-9n|pBkfj@Ro&S|5T?@Kc zP5&}zM)yI#FxBU}6vXJ#8eJBR@#I8G*rOGb!S)H-`W6s#et1nJi9L~krCgw45M)VLC=GJmLq-Z;%`AK?EHg(8eBNz4WE;Z*U^vv0j zLPh)oj2WSajRBdkdg&6!(W=xP*ZDYnQRD_5q;hU(o`}Rz^Cq18d-K73Og&?>UnZ$7q zIz`hxtfAq)xVmLRGnbM}&Kfn&JR)0djG;m0v7g*=J@*LZpId4sriPC+qk9cOLZF$_+*=L z>rI`gfE|90XM|%cOfLG@k*SJ`DnL|?IECWJgyL=oM%X0(t|8NV%WO>^H*8z^%>7KV z3FXAgXMfZHirDq)=J8{t9=~PwlOvDNr_@OEgaFLKMtg*N8f|{&OWLM+0V#`Lp$vGV z+^<7WET!0ZMH1q^-}>H$Y9#JDrMe?agN)>jbLLn}^!xU;Um#cmcN#o7Hpb_w115kp z^L}Syzk0@=w{E)SGZCvH-#wjKclMnf;O_-~z2e7uL%C!HjIEVx9bq|=tzC1@Pv#?T zE#b~Q zd`ks-)6nlrDWmK+pTxq{jMZW;Y$a!~ka|d^Y<6sCF;lk%tDg{Ez9B4hu%(tjvJ8VF zuH1l1?SU8?HIsS~OTvZK-H2<5QPEFrL$Iskio=T_q)y+XBhli;08PGs_ms z-~7}4H_y*RK2U&G1Pw#OwynAmDRgbavl&dCKB4lh;5^CqcSpGqQB`+`)H7HM{VGYL zTyP`?8mb&*>4=FKGt!Ya(6m%1*XG>0;;Z-~_bs`10M0Z==?z!V`r0XA6i7trqXhQLH=Jb^O4>YR+}qYa zBucgz`UJz)h~FcXgZ6P=;)e$O<#i1YhoTu|6Pp-${q(10qtWirQ zt8doZcOYKpZgA}VWE^9JLh8j)@spQZ2k7!TtmAWQq;n=vqY$jR8clH*i8hdogbWC(i79$I@vPqX_ zlU>#tXN#KV>B$A?cv6ekU|M6?tjriwDX?JKiqPaTv0pr?`m7rTfTz--16N=D%A{yI z>dGXK%A&mRKsBUU0%37fw^c|}KWWt?ITwGa)OlT^{GD60CwibtBp|;&wqOLwI;AP# z8p}nYWGdM8(D$d1u6@GO3RYfk>sc!end6Q_M;CBE?b_g_&q~Qb12;KLj0qyG)e78q zBp`Q7?#G;+9p%A)swI3)?J8ID>MQ$*#XkkROkb&cWeJ6sP~h)w7SoEbdN!;w!^F|I zZ7yBg#cMqWnkJNflP^-zXtvyyeyEyWz1rmPIW{_FaII>b-#^3S{=5?nK~VL(I?ICk z_93o@{%0#@agI8A+>Z9WUqkz+iF}Vo>GQ*L{WqP$ls~G!QXEcSaZ~lC0U*h2OrplN zP<<&v=I_fT>KBuioaRL}&@PyFxx(oRWnGe2O^X{=-*pMteY6bhIL)n2<3Af0Hugq& zbY7Ki7YAt?rW>U{c`8O_vE3gg9>l}L4ED$89oN83$4DCLb&`#bJm@t2$#*$x!lB#M z>(x6n(j~JvQn2Rn3_!_CD0}YB73eT-?oXZoQU?*;%>KluiX&XgInObRbeW0z9;e^c z^-|g7=Zobxh?kDCpMoM_eQNc=T?d_oz9>d&*Nb6;`>*GgCA`^+_iCBkaf&KU6WMG- zwZM&n2LX%W4;%?OPv+eF@n>h9y5!*IGmpG-Y@pnnxSTnH#I$SEiQqON;%Fkus1Ol0QD z>WP^^xC^lt+0S{l;HPrm@PO;bx9I==J<+4T-)$%N@l8S2ioF-kkz`|8H+o}!vOB4K z&X{e;F~T2&cG-=90#;xk=g6WYUPlDW`OFVOS|XD4P3Don;C-dNJ6t2|Zq&cgj>>=p zP(5x~F)4q%4E$vfvpFJC$L99XyhS0~NGe~b--VPXCwI8c!}B{G>wA|OSx zYpRn85g?g{}0hRk=03U%12r5;%i`XY_BS^G<7K>{hCAwVlQ;NF>C|2Cv-Q5XNic65<#U;2yaCW|b z?X~}XmgFeO^*+~p=A2{PW1ss-v(ON4uv(i|Lifgi!}!xei^w;~(!)2mRKz94JhIPv zanVT42X7;K42S7gxVXsji%{4`zP5?%ep{JNs!<<_Cg>iY6HPHV@vTtD+qf#1%DG3L zIC5PXsa}0I#hAeR#1syxu$xvX(E$-+4m@;M}2RS)^DHRVqA;jy*9MO5v4T`Heun(I3FZ7J-{IPB0L4w2T-SD zfC78Oiw3gRj_m<{k2$!vyz>Y-B!E0e*aa7mj_C(Wy4t^!kDWfP zjw=7hMh&qa{+;0xh8e7v^Tlfu^BevZiSLF*g&75vO7J5o3)Z0ED+?v0ugS{LoxADB zArGkkXsedLK{oL3%xmRd<=RH$oAO@j(QfMM4~&VH?=Yy|@vRcT@Sn$zC+G&JKmvoY z5TA^RD!pXuQP))l_7Uqg9eQ@Hv0~pzbk z^li&A&;wRZ7^nZYQ<*&smw0}Wc)gZ*+X#3Boxg0F$QIE=6AiW@-Wzfq*T88tnJk_`u^<*~TDvHzaqO^R>9ZTa0of@(x6Vz% zi|^S_Mst2nmJj`ez!s#-L{=g?G~GZFj@dD=pC%$sB&w^E5citn3^;82Zbkyi$=*x$ zvZ}F|3S#rPS{Gn|vw(oSBTiyck8T}ERK=vfkd~{I9MzRpKu&KTSN`5sJW;RD-<1%^ z?Ct?B0MY=_{uZos6x>^&`3-6PGWKQwjDSHf$j&6w=g|a509(wU3H_23q-zhr>Pezu zMTO-d!n}J%g88tOeJ5NlHCz;LydA(R8AI(|K!Q3s>2Vj4aj#bpSmK3{`fZ!~^5zUe|%@K>(u_Y5|$Ml73pq)HPe}#&)kr9M{ z4G$$m4SyAg5zKg?qh41q^;qR&Jw_;d__ph6Ay9MNN7*#ccgCC`=#m*!D7tRs9i>*# z&AjA+f29$n)T;rIg;m^yVzt3)1+R1TaOa*f!$}=poI?D*x)MZRnMz$q@Jn|ac}i>k z+T)I4UjvhbtC-S4=ev)3=B_5_yR37pYTx#(5$pGXf^jPXL@v4!DO6oD3{Wz$V_eOP z++Zi*foaTjUF~%rPt`d+uPpSd4iOtL*x!L~AW<}#n--&$*XPSfKIon~UWC`$8uF1= zV!V8ebzJ2+%g0_od>$?wH*RGfbINE#0dUWiPraRxHg{`tA^oUw)VP@}axR5MI`g0r z(t=MqK4Kg{I*Tl}RQH#FpDT&?QRNs(i4KwUMQ~l6jwDCe%5ZoD-i<&}{U`%PKxtq4 z&~EZi8BGsr_QWue^`@GrgO1dp+{MIMZ;*;_Ny(Rdw7ldYW{KWY6vXx76TceA{))Ag zJod+$p9(QK$qT%Dwwu2k3by%ds}d2&-1OjS=(!jWHkv4B$QUbKCVrRs)mIBoWxUI= znElXrtuN2>)Is@B3uZ9#ln;%u;|7OVn82Hh20aVJTQx>Qg(1^?AEu_jFuiZ&-~$;v zd}z4H!FpbmL3~+G|f?nKT;m5(2h3@X5*G;a?#*I?kA<_|c@$N&PR;$c6 z395BT+73yOaB17q-Q`x~tv+#EZyJ$t$@g&LkV#59xt!D*wON^<()I$a?VY8yLlID> zap636JBulD^74vo$(!mRy?mu%x|8V0V+!QVxO{k$iL}&M@F;Hnuo9PR{`BSmLvFi1 zUkBcSFZ)rb^TizdBl@T}yx57Y+uK2dRf~17u0{^zfl33G1ciM|tsnzdUz6q}W5t7` zwcwFUKiG*<0eHARLrTPr*L1DT#?TXvEcagB*nymF2768wMf!n~GgCR4syeN#fse7a zJ=m*MX(Mb=4`r>1D2(#sFg z@|Nt@Zc5qEes{-LP1{gE9Y#HOd8$ds6Wrsc!22%RdG~SuTcJ$kU42P+xPMLa3{6Vz zOlf;zw?<^X)%E^DIVGP*vV5Y;;7r<~BBCN^DR&pf z$=lwGvhWPI8~oM(5r{?h@IAgld*8wXub3rX521muF2!eq<|iB;O;X&spMm5?_O?l< z#JEc#4-@u?lEO&0atW#z)i;I-vWUaZi$8KS?v2IU9WsXpf*shM>H|XY^+4xXYCZLw zAWoDC9IxD_U=STiV&}*>^ZtpSmJWF1Wq@)) zqehDyPL)sG6C-J2mA@(?{OANsV`ukasK)r|(IEM>OSy~s(uy!r;Ews7#D;@o^NU?| zp2Wc89b@MyI)o&xz1{EU-7|c^Ot9ZXvLI#znZLlh-&P^>SJ;b-ZS6fh{gYV~-2o5e zoW|XMuB~B>3nXu6a+1HZHZI8IoEve-r{z~)e?Y{tnh`=8WlS{3pJ+M%2nFH0fp{Lm z!@#g_z~C{>RFuX>=EM|nLmQ>160=VXizO!tcNX5qY3wsHy)=W;H<~2aqc!}jZ!YsJfB+Jg!UE0t? zs_^Lopg4%_-8;Lxq~B8GUCm40ne%DyQMjY%1)dJ8AkjTVrsSVq(#P)#Q4V`_0F$L- z{BgWC$$-CiMMmotL(7sSwoxy2Iwm(>Cy~GiLh@tUNiJ3#HB3Z$uzj&aM2OC5QT%Y* z3gjqY=9c@5&xB_MGpHPIVw{2&HC^Sl7d3ss-1R9yQL^XT$S~wRE`bXnBU0F0OQn7C z8xq1s)Q9ZMoRX=cSU-$S<-C0`UVp!;h5S6)XQV{K`8>%)NKk^*KNrV|shvVfk6O|% z(izJr9A%~HS)QGFSfYx^Jxgyg8w&A08>0!Gv?xnJub&)p`I#+JNyb@^DSaFmaI;%w zKdOp_@i15(YeyTCA4_Q->-^*>+jUqw8eWnpeRoHQEC9JNW!pDi;Ii@{gkyU znD8*D64Q^kuWWe&&4J-fC2sJJ^u_4wSHnCb&fA;CjoAR>c`fL0Za@X=2H1CDj?z-> z#Ay1TXyrtLFgLgQu)y_aO>Tif&pnE6-7OO<3D>_FH7Pt_exKa3YJ#?n+}jt7$dw+D zuD|TS`wTc?U_u&`xq= zfW_|#;2$o8{2>rn8SyZ(R@kk-clqHR*65{UP5GsLc$;fj-ro_wnLp_|gt~ z)ln5zX$RycR){SaIUOJw9LxO?p9~NwvqM4iC;xZ3AxdW-%YqT3r8c2bR zNXG@C_r2}7k(5f=GWbZTaO_aqcJ+1zBVUr4{vAr?f}^%Odx8#ZJ~BtHdS-igvzLg0Hd8<%Af?jd(rdrP<0kE#M%&d8Np3 z%|u4)ezm&ArNb`^!ne=b)6(az^DkYHjXGqs_&CuBpyqI_=$0&;BNx0s+H zl|zgmE%ejm`F)%@1JRpfsi&25&Tm#crwWGe!# z6~e!N>+<;{eRw0&qYWGIE309&RBci3fdpefTog69R*^YEQ{KU3F@1#TldKA1FZ+;t zZL4c%y!5h7!5X&Hq)u_dz7NM5GK2X-ndqp0i!!pIG!R$$?p+Ih6a^Q=A8d|lv0E|2 z(n`dPV!uAeRTN{MH7UH5ipc`}051E5OT52(&~nFnZ~wBHWgaM$XudTDb@+&$_-mP` zK8%_t%G<*$2Dz1pipT{?v0}`qty%Q0e?~z1;d?hjna|05HfjDP8E3Sd@o91j_)N8J z^js>XMoE7cc~j(&u25V_D;pQUk-UF-MlGFVCRtoY(zUpi94vYUwOS@om~}oI?T6)yi>NVPU)f6*@0q(yoEpzX zXnd0miXu%A9k30Vx70h|{~aLz?|h1h+0@)GjGQZ0|X*aIW#5uMJ6`Y7t+p>6|s49sE&xP5?G^>U$VOf^|1r*$Nvtutz5Z7THOv zE)n>vYY!jscTp6ZVXn#c3sjd9!ji7y!Pr9OL@o zM*TAR{ankVeZ}ERD-S?uD*X_ziU%Bp>F@l!bD4rGj61F?dB%mwI_K13b)ybwlG-g& zBV5yJfmTzZz$~7tr^JG7ZLsyl_TxS|r%BHr>pcH39EoS*fF0Q8pIJRO-QhMk9Jp%Ba36&OrX^N<2kflFUo^{@4^`BUQo| zvH5TODc&euZsYu~7-AtRt(s$HDS8x@PYkC+7bfucCwT`H1gGje%8Si2RXMJD>~y$w zwr1sST`_>3tSmeBG-cRVJb1*;XGx2j>J#k8QBhC*%A0udGet)-#$-f{U$EALGg^@N z%8L`|D1FMUL*$xCNTZ5JONhJ%Ja!j z2b4PF{sI#PoVz8j5{;%Q^i2WXWd568E6mozy}Ax%MTbo!b+6#J^YgdYHzCW-r=$Pf zy?}Th*EU|(B%T-F9@PULS9@PR29{(0C5?}Bl=nS{B@rq|dy-A-QYC0<{8|_U`+t9v zg}dU0@XXkubbM53R+sXn7}j^&RrDrhYjBkLui}V;M`GOw(YXvJ4a84w|1Cbmq^@C? z;6=g-5RT;brm151=ii(%c;zuAKf65+Xdt?No|ur0 z39*jbM93`dpN1ZE)s9T3@si1LP>#-kVi|C^Rr++-eHO%}1orNzxN%j6qaQ`uKKggM z7$=X9S}YBC{eWM6&!A^02d~UkdqX`~B#JSR`Lk@-Yr3zO{G>HHJy|ZR;=`((Hh|Zx zKXcTo(tfb1XoF5`4y-~g#a>N)u3U9Gq!Hx4mL&ZOM8DZs*wR&a`fi<>^5ElWH1s#% zqDr24nk2|?6S!X;^tO-GIsYNGF4ue&B-OTDxZ%KP_iow;&X0RjbaT1Dpw{{2k=&u7 zuLyRiw@)ZVxyZ4F?8vKS`mP~h=eDmQQlvieZDiBX8SW)0T$XBhEeR=Tcd{p_>psx@D$#XHZ4Uj6KbT&~ zD3i%)Qa)3{UX2;og%g@wraRjW$B$XTz1fKCe{G3^d}@W5INued!|%NhFUVovz{ypjvuD(L*-#wlVg(O!5w``#$x6IVJo+-qpALXiKhOO-l!c7SJp>cnR>8 z{Rl?h8V9RKSA7unBqE{aKgEuyTGu_7d9WEFjBg2o#D`BDxoPbYc54TwDj=2Z`q0(u z^RlBLU0~6Uj`=k^AkO}w5iQyLa^j7XXy`X4#LfJGDQieEU==}-0iToVT-zvjt+Qh( zHH+3=8W`bYKlP~$``(+&X6mmspL7KqkQ>uz!7d5=UEHLrcrYO$AmcPw2Qfa zKFI$#&KV3$!dF)rIqGViJUqe%VSQE>d2^DYD?Apk9qGo?Z+t?{&#T z_M&Do#xe)xY1h1XArDQ>o7j=UW5>S;o{IKb1ZcUq7E>0hFe)YXX4YQ48B3b(dAJso z8aq0Rb?~5KIN7uORS-r>b zH=nGVn&mE=wyV%Rgsez)S}qS$6-vU++`=)xgX4cU!$B8s3f>F6f?KSwNEbP2WcP)y z4fF^bRBu)Rtc=I_wv+JO=9M0Qc1bNV1YWuVI?d!M5jNQZbYEdB{I7ijU#Ti?5EgA! zec}8~_3eg9!^J=6h|$S|6*WKD&a0r^r^Sq5p`{@jffenJNS2&a5ex<&%Wb~^Q`Yl*t4 zFCK8K;9)|H&j31*11e&}2+R1guz$I6l*~hYv8JlBs_G~^DFbh-6ouDS5E>zrQC8Wx zEGB9^GM40g*_E}r=h|fQ(qi&d*9+YUIQI;ESna){@Obp59NL`>%9vN=HY0`4v~n6c zkWcBk6Dw1JOkB)oFJWmGz^jGXfTz8xhOn;H;1gK=O|$?Nr*LwUE<%}YImWAfn8`+^ zV=QVrmeV~#<8*1jUv@`a^9H@Cu{>?Axp3f4$u9-b)=?Gx=34n7VvsRL6~wg2e(%~G zN!HH~zCMx?$lUosglr^59bVF?iUq{0xPA6f4aa}dm!L5&qSwCp4zD*@+DmoxwBkMxvA-eH~`XEO7db|z(4>qmd*RY zT$;(2@<@cr;x9VCPOmN#*DWP6yB?$mo02?qk;@8CW#vgK#GO=9379kIrw`-3Z__L&fM1D~K3KE%A>N&f)y#DXz$pgb2tH&u;#eGim> zdIoJJisYb-h#rNIpAvI1XX!C+CUSv&KfTlCvv6%DvHjfE)%TF$ zIO?6jsI-G8IL~uXh{^MyiHH9v?X z?th67&g<=SfUTH5A}OGT@&lH*P}2(_ctxQ~E+1}8lZxY`zyBQi%k>fGN~eAZ)4B1* zcZ!B_!#xiI5_dt2i_Q;oLSPv2VRFKhOzKCFRYdln!)GsLy-K_^Tu@tWC2tjEz|nw7 zt>>J2O1+5UNK4ao0P6CaIiY@6)DN7O`0lXF>Tuf_!z(1!N-}Nj4(o z>t9_WAIKDykB*aXQJUOKz4$(H=J`;mVs+?CeIX@E`&4mokEr-{hCzTzZ&WA1f5qhC zud9RC`svlPPg1gIEO1VO)y0ZB5o7S&r}zD_OeYSSX*n|V$^V}T+p%tPF1~tzle0f{ zAjqb^?&u&-{Uv8VJWoP2<6}V2hm^W>ijAKcB8TDTJnesGfEJ8EoQcs8RyH9KxFEf5 zG2|(EWFD%taif2U=O|{@PMpyXWHdRY)wAQ09F!fi^w&)9p)yhmu9hxuOO_HcBag8R z91Sx`E z3H|NN`y8Y#V#x*a;vuBA6sVnVLOzzsb3osq#({oWuiz7%P+s;}TkQJF1qT=TNzNGg z!m<_dry3I8`+pR^S3Z}cXB3;@?nLX&PVd+zkRbS-_69+S@@mnay9?DLHZxPLjvHG2aTWwf!g6@ub*u}MqyFAxaH6CH*D=0-2kdhS~4 zw$>kvvMH&HisXNPZK{5d)w^n*4!Fxx2?;^U^bC)ecS7#vnhh!B%CaRcI6<9g%< zWtHLq9GvRaByt55-l5jvsu%jiD(wMeeNf>6u-m9)G|!YO0ZrKlGao7^g zZ(FyQJynhikpDdps@87G(n1$})rOk}=LBph5(;GHPhr|_n06y* zd|Vl(Hdoa1CN^#H+92R^Shd9QWAu972Z%%S14ux*Pcow}@ILGlAwI?(GnxJlR{{MJ zC+ewz$TvDnaS{@1_e^^;EbNHtK7 zn`^#>v5AjVZrUJ~uPsX@gTRTaYlVd1otoJ0+FofYpq;qbh>ljA)3U5kP^KJGbI()4X zcx8;;wUt}M9wCAyHC2-eJ@%hnRlaWf^lC}{&nYld-6FVjeE5;S)8j*0GheOY4Bn@^ z4?8$xR}R_`yQ3Y*j;71@CO>%hHSqpqnfiI~Nuu+%4~q1uO|oazEz4ofzEjol0|>hA z+j|Ss7_4r<=CkL|se+RH$i$kV)&&!A=9DPW30$!<_%y*j2e4c*)wxoFHLd*B#7%d- ztGX0@lRCgEGnXOC!ZP%kc63SVDd1Xr-=$nKb!iky#!Y~Z#Pf0p9egIm%(J5u|go$1tw>(=HSn z;jChe{8)g3P+88Ho)*$-{|oZNK8qw_@O@UHj@TMw{GV*bA05kcI!B1LKhAd$HI-h9 zgNsp+4bw;&tE-9KBh3nEZgc7WEO>+9+df|;5?pB0W=c||9`;A3ZB$VtS_o(yO{AJb zQ+aOT9l0f438T1gqr;B^j3R*#$$UfeEsP@K%m)GDpYp*HX!&t}WvJcXWm<*aUb5bw zecb#O3q$!J6rQH5kR_kZ5yT=xZh2J*klsF z?NUgDBqeEyKHRf%aB{+sOS~`whr<1F@9RfVuM1LLU5XPAc>MKKA46k%t{eO!&Y$^x z0j7WJ9g$5bP)YH)Gf8@m2@?}&_Jv(}%?tU1=>s`ROS%b9h$n5+A37 zQiL1(M_5>;DRevrM@&m_r10>ih$>@z6nn zJ0Js&wuHm=SM{DK)`&RD!S!BB8fGvF2GVXnGUyl6@=gKkVgBXn^33PaKqC}F2G2k< z;D&BjWgx*j_2ZbTr#)Zy&RpG6!c0%<3uoeKNGm-UWySSmeH=W=HU(Lst(G5*oSbm< zUE1#e`;O9p(tkJ7dJ6QCGDg?JLFFGN&Cx1%5N*c!1iU}S@PN&d<#Bm&m&yD~iYSOG zG3yDndbKpdf>xgIQBjrQ^vb&%4*k!A)cf>ea|uJXmmC+!3UDX@JWM_OrT$EaShnlU z@C=%dd%hw;e~I_7{MX}}C@2svBZrr{&t2mMH1ZJ}<$1i)C8S7140%+WBk37V?4@c% zqtc)Xc2Is`%rL-7lk)5JaM9L>>eN3$HUwlJ<~!1m%>Vs9`Sds zaO{15s4Mu%pDIo^3Z9matUS#Ph1_iZ@$Y%t`cBcQd()2oi<+C+x96gor}s(h=h`<3 zGT+T@$g98DW#{H@oq>E&X*XdWO0UNoGAc2@pZ{G|4wK3vxVNX4$zfg(1Es{shZRE|MlJpv+^h1MQE*zVqj1OOYwVH0pvL8W z|9Z}6a1g?{3(>G*(ilZN8%Z-v=<*advLb*8L5lg0;1fxX5ph zwt>Ap#@5vupQGq)CHHTE^$EA5<#PMRJOz9`U~sHi=B{m!s8QvmR7)>hQ}2hU{?XxF zuO5y*#zTr4D&E{6e}r|yzO+Uk(2?4h!7NneJ`4fl9}1>l)~M+6UdYlX=5%gs8Mw`+ zkbf3MQC=76@>_9IWxTj%vLuX+=VZJ#l5Uk$8u%pC)z=F* zjMN%Omhm{#YKSE7JxOcN&nsL@99w29HrYGkF>qE1Uc|tHyCFrEp^oVjMP`$+>6bP^ zF`|F0b_vQ#1zEB_g7eP6=kbuz&I6ewh#`(aqc>0#?SMm7bW}-R;#j%hv9a6C6LM%MP*V-q6@jalNhony2G#wOY)+ zZ#|l!Y5!u@B^zecYwc~n74JpyII)s5*-1XipsZ}U987NB>xU1rU;5ircVZvNq= z6cVGBCjPhDN`xCuur8NMBE^JogM1?s7jS?l%v7h2hE?zj4g+j;ybADF4n`!ZC9Ec5 z!DzH+mlV{8`cU_nOpeEsKaN3adNn3-ZnJrk0v%vLWXbwY_Ll3% zR~iCoxO6E#C|cL2_Sg}!&fc0J?X@yLkg;_E{L1_eg(zhsi=ITxlkb_iZRF;|(4-V+ z+E~qa`S_FVC%iryYATunPcqRv(l*^CL*vcC@iec;T{Noo-ncRte0vT8?gzk}_x~+z zyF8~Zr$C+;DV{yQs;Xd|zBm8pU1sX7(K&0c=X+Kvu}4yvi5q_P6x&}yQBj@_mmfYm zf;%CWH0WD2>4Y68Z#qNv3NBef6Z6LQZr!WAAppy@Rh@I@rTI)_76qq$2IH_(7xJhz z&RU&_(VHczh?m%~f~kO|A(c1r`QJ}q>!@T`sqM6f>fLXWMxGY5WI*7)23_dv{PRj{ zO0Nt8E;_DBsk`=+-}%cg_FW;u=g;JGeGb&>Ywlt)nrGH28np*+hp!2J0TG8j@L$z1 z^IZ4#3R)g}WBd6Q1=Yr~fMt{;LyN=bGQZy&JeA$fXH;15ZEy}3e&^M(hh%sfp7BqP zhdowuVEF0ks8n9#_iCp#r61keuueb(yXvM+%J{{+UYZfP(zNFYvgY=>Ylkh#Ms&lc zGqT?9lmPrN+H2K0Vzs%v1q%@DJsY`hP7QgcR8`xMydp%fkOYt5Z@aQfL#^s?B}?U0 zWlG9E7s|%DlgKGt=raq!fbd)e7tf6zQGl#?#7(57PKev(?hclQzOcwO)5^`0*UTzp|d{U z)LcGub0*hjGOJSC{{|?#0Mu~WSixqd+H`Pu?)D3IHH&tX)Onj{Yp&f-XI<^C0kO9; zcd-x38*f3R3y_1bpz^0GcPzp821_fZ^4k<)=p$`y z;`6eTOMnW4X20b>?uCNxA6j?ZlNMc3--s~+Fh{yIUb{q>G-t8* zhW+2PugbdooZdKBH;8is%{z=V;q!GK<`?aNt}_zll*)ko2fa()Q9DoKBh;iVo;;YQ z9^jcX)=(pMN>m)2biy{tC@BWwyp00Ozn1T!)(&d~-B|#iG~aZ<%sc8efy^#~jZ=iU zA5%uFpZy&N16^(#HbyZxXL;ryr% zL(V0+{3y4LKul@LqD@Iw1JNfrorBm=D7zhIh$Tn4Q(A8mhP%8+Re+Nj(umEg<@w=; zns??z;e-Rn;YN=mh$dy!K>RX$C|{d_b8^m*=zUB1;shMQ0`b|=i($mGl|6X|VYPdm zSb6)3NWw2yQ0@WHV*i4h8f9t#O~h0OcJz&dQvz*oxEN$jpu;Lbd&xc@6URKn+H znR=d5dK*gI#pc#9?1anC@ol%5wxl|BuwN@+wqmjHk%r;v>KgnIpt$g0`&BHzU~0iF zP9P6K`jn!|`cp6wA&)xI_y1}E@+C|?Ra+^5L#{jYPiXC)O>d(9)QTgxpIK}7Yy7CLEp0TU)jk-+F zfnD1%w*aC&=C3?8x;X|uo*dK$f@huQ5?KVH{j1@#{9Ld+=VfM+QscWqU@?8wa8LGP z`2$mY`m1sPv;7&XMA|hI_j@O8u7nAh&&cqoPUF6Cys>=X20}PQBi^MjLy^eecdL2ls1zwbsU(=zwAh&nM&?gn$jeb59yI zr)31Z^rr_Jva0Bj8RIqyx3WQ8L zF^$2m_EM6&#$8`|WvA0213oi#+T$In7O?!V!{Y_pALqtD?$m>gR*aL=30BlSH#(wj zFB2}(BJ^s$7BqLEQYkFHWpFA!+rH{d-~DrBJjEw(+Z_g-%fsx9 z)E`LsmL0ommn`#duQT3*icXg25xUKzVHbg=9|DX($3^ z+OGV(J@cW1*g2w1e8mAjg5GMBD@a#lV2(fAD8F@qO%7!^#?9TDy}*InABSZKeJBcX zaNraUIM^-*aL*1B0Bv|~q@GKtG-0ciD|UC6l}E1YkXf{v(Q%hL%6mr)+1OqoD*_%uG&%)G@A)G=)ddLW@a{v5 z8&C@m*wi?b8^c;6ba49SJ<9P!6W9CKIo(MBxWQB>p4ag@vD~k}*Ll5L zc7N0eoEZq}Iil<1?>4UKZU~AC)I3#GYozMU<`m0#AF;pH~4%t@>hT$@9!rh z-3o!Sj?qMY9!GIrck9;QUTaW#I0HJ7uKwTZV&Cb^gX7nG#kTPf;}1rL6pWG@0`Y=> zeo+c5aF(UyZI6q<-AN~x(ZH$0Z<(BbdcIxtPWDf?pSKo6pp2eGd($K$FjlN#(L;5LA zH{-QQmzT)aPkjsi{upWA;87^_?ZN#qBCXCdlz^v%*%(AOL_^yIubZ0*FNu1P2~?Ab z=Tg8d`iV_${`X2bsF+b&FEW3&3Ic!K$+)>DR8-Gyp!;432Q{P$eM1hz;If){L=J^W zKLM>QIaJp7XA+^_FN48|iXaOU_rkD5*2(hl5|^{$UKc?XCM>uJ*RPS!XW2p%bINnU zIV7Sh*HdO@yJRPzqr;`rjYUgQ1qI{qFm|*hlh)?H)IEXbuZX{wAB3mW0+BZEhXgMs z^IkYFXTl}=)n8xFFYmYLpYI(5e~yo{-Mj!Ntzb~W4?tuH1ad#tWrEZMn5E0)={PKIB8%_h)o+dT^6K4Kad>@ud@h<``&2l*K`JS2-okUZRK%NR;Xo6NT zcUjA+LMH&;`xU-Xp2)1gm~YZ9Su~;h74h1JVLccgukd|7=7pJG0$I8*v1u@+sSR$# z^miL(w4~KSdzm|nqWK@vxaXvpP8QLkO!3YH@GGraMFz;X07)6~f3JbHI38Z z8Dm8LDu|?Y0$-@EYn8@FAlWg`1M*E9NKRo^FoV&Z#O8={R-G#eOEmbYnV>nf{p4t;p@`AC; zhEjifdev#uBmWlj`=0lEo+EzUR{wyP|K_i3ccv?V zg=l9h9*&=V)E78RfFz~zW9F-3aKyg;)kG}(q?2~`D|2wz2P+_Bb`@Db{&h0yXjP_n zuKfzKlo(Q`5q)?*6cMZ&&wlr0EKqk)h%k#kf1OM8LFPL-pHX;H6L0tR)JK~YViH)A zxbp*LT%Oo}MAeJKD3Z+)A&HLzFvam%cJ4N8t0sUNhf9hkoAJnVO2EsOIX0sRW#dU1 z)`cKj`kbz6j8_R~HBzdl?FgAUeOqt*M<%H{63$plkxhogX*T&!^GMi6{eU&8JvNoO!jIhZxVg?Uus+UL93n&7}6WLtDe#i$tE<(o04_`!_zRGadr(xA?vjJ2snt*1dRY1vj3(~J4iLZm zUG|jsL(Ni*HzfCQysX&}zoTqh3|ux*;wSc@{lTN`oae2?Lfc&_)@${eRoVNk9@vv7 z4ltQa(7jsy?aE6=b@#7-bYTlJNBuOLHFdn_uYCPx#^)+d^vL!pEm}hGB_(ZGg;Q&U zti9*0@!3l<1v{I%&hAZk7lg04cbwXbu|CI&tz?N3oW$!EMBcG?Uh`-TF{R;RdfWgL z?6O^>fzf59Y|XKqJA1K(!aQ~|*?9t8+FpH6>!3_{E^V8*#eE&`MvjJx7E-tCx6x`9BBt3niWtqG&Io z4O3IsI)CsJbgram+Z;6D1qKU3%tf;CFSe4b123%4-|nH*;@(#X|4KRK{(oggMCkw9 zb#!gKz*Ol^t53N(=J_#F_*RutsL_3Jl)E=YQ1UIA=aH`E3m(jme@2!Zf~wfKdnl=? z871?wZ(5VM-TfQi_p?n;=!sUi`qzBX`zU{+n#kR-$Qb5R1DZz~d*YMjn# zxqUc|h$L%o-Q(baQUf%eV!lde+|3~MFA6g(w$R2x??#i##^6^4z#iw;h${XeA*ORW zy3ZNYlD1;4_EAgjq{tX@yO^0wH_WsHIh&a*4E}GA#*xbrLDk)p*XFf(uEvMWcoqx1G`_Ww@K!27}tT7;F&_5PW z^haMqxOXF_YDkmk`XFcE9>x6;_*r!Q;b`&l)#MfF^$Pq(sjJS}uqMZ+8t&+~lef9M zOStwO>vLZ%HNpMX(f1H*aIQJ2XZs3jUzLXBg-~q1q+X54PbM3o;fMfj$$}~0Yg0k_ z%Q=GnFxYJM8}D78jpw6KQT$V}Z9Ge#N}O<~QMC;3uC)02XZuf}eBe)KN^YBWrXqFm zi5iv_#O&!x6j1GPqHaVhk-3-x04{J6%+p)d4%kd3Y|{I6n5i}cn)Yk}W=JjL=_ z{sw9xc`IpQ04NN_z9Sq;cif(j+C2Eo7xz>j=K3tgrJUyGfn&QYD6AJbdP*tNkh)GV zI#Z6c;4V&zZUjRIVos!YGYkAb;n2IH*NlI%S9sZdM~^pYr~{u*n`LqLkrUvciW-Bl zxAbu!fqB_uNYqHZuc$H3F22QG?Pu6y%yLmK92VeKXiZ=nsm2~JQ_TjVltARrZXoJ$B4^*~C=pAs-@6M^6}dUBBs|B@7Mlk)p`PphB*V)IH~9!|Y6iuLgeSs34TT?V z-*AJQEW(Ud!e?84VS{TvDQB!F)Am@BCtmTCkbEe@Ymu@~4D6hUpbgGP{*o-JBH)yu zb{-!PPIJta-Wq)Mnh|a5u!e$86GQs#@%_j0??ZeDK=)79^2Cqz6h4>(KwQ+-fbf8W zhU2!SAO81B`fS|>of0`dqJQ-%1wQMHY3*ROdOnyp*%*d<=I zFopQA6>|kfypzJScUi+FMcva%+7o>=Tr!#m+4w(;~_a0q=^0`U>z_&J&JuowAqsv%~aX(Ms_6^U*X3<%Aoh_s~;2 zBI2L(=!*b4xl;4FWFN$9@fgPsxMREhwta?-P%F0Zx7kH4rfk{cIJhE>9ZLizzvZtS z1BV!hzvjjG#5@*F#4bX1OIRK)k%?%5`{hkInbXLwdcoHv-5&Hx3QZN=5Bq5S{rwir zI26@igi+LXQG+CZd42SO3dpK#&)6D~Faz&{jCusIe(@O24ScZmR!Jgb{`8n8dpl^6 zHQhgBCY12z$8n-v!u@-iCeSZC+iOs~ySjjQUN%J*r{`HQ{z~6As}zMSC(m0%ZsF%3 z2}A4ZfRB=7len!z`@aq>{Dea#>mf;DrtRVZE9-d||F}TW-Yt?wnELZu-{e?irPO&13zsxDHUI8^`4h5NYin$*0Tvj_(zqI%Dr;kV&hmVwXFzlr|!d_R{u6=Gv z!0%3WSK|#2zOYIgv!~;*U0$#w`w8+Y82NxNnxS{==OWK|vPU6#QGv(2-`fJKc5HP1 z?nB!WIQP|SJ~>XpF3W1Vx8>K)`gNxkeI>^siKa^hAL`|0H6Fz^vlfCCr>W|3_`kIP z_9#H901{3>F-p{gUgo*y(lX_`qdxO}TXF29-|25nAo|_T=lRx*pRF=|8F^ECv2LjD8nQ@gujrGj z@pFk}z0)$OKd=_9CA?{TB&4ORzdXGIpOjbfRDQwGGBMd0H@7TmCn@n%^LF3W&rBjp zeYt<|c=pV-G1%vo6CiT}h&LS5Tp-(Y4N%z&?F(*--NzymYy2l z^%`^tta@vDus9oP(>nSaMYy{-_$nKS_A-u3^oDCz{s#ydHB0Xxw3#mSZm~)GMch4+ zCjhPVV~*>8&vSud6J#g(!_f3qLawMm5}~q#%$RV&)K`4IZ|$SVwjWc^x9@tzj>;Ef z!GwaXwCg=6GoKni2FP|2+Fan!XX7EfhZ+${dt+KK2@4s0VUpem%6a$jjcH9*tPkMt zfj~zS7I3i7`d^3%>S;BCAdzIt^}6!r`in|M0uV9{?f) z3JhdzQ*16RFiPsw^Uk?G!Y?prB%q5^eYld1P#Ld!X z6rJnu+@&n4pj8)+Qu`}O_0Xe3IO8$1!rI|W(1i4K^*g!yxIvqGgFBZve1wZP$@ki? zLFK6}W7VkQIzEr$QuDlWX4eRbVi%u9*kGYxG#3Tj8B5C>Wu9O^$Av(X|j$&>h@hm@XjvapC8CU=M$jaLZc08JJ##oo`5p)D9 zeDbysB{}^a0@GATip(RGK^Z@?g85H5?AQaxIuZx67?JT}9(2s1SKk;$_=Upgd4bDa zh)dfWL1@^6`V+Mn7~=s-mI*&dxd*0pPH8^&x|AxLy*WBcXjAnh9ox?Zs0?M1V+W8e zp;%lc#O}O_5Ep_>4`BhT#742cDOH_$s`~wEV}3NJxlE{WJ{aim@DBLT&CbaBrB_~c zgxb>5(ywO2E@<4?LXq1!{9y$nee;x1zt1tTiFj0X)Kwd@~$7+ z=b6noKVh$#m_ii9yBK|Ypd?q&BGgN=JMO)he)Fa^@DlSSYHkb1?TB>xgjB9Fw|YW1 z(_HSXTZF7N9rY#N!F)QI(kR-eIezak9Bob=iz&)J(m&*=x^PJfN9@6&=YHisyFDzq zi$8~q`8*Nd5e|rK>ju;WF-)iSn-b~j=!b&neRl0eF3sa)b{n7fn$9J7Wl}OSZqpaN z8Xq$M!EXIf+X`+=o|3IzJx-d0pr@AzXj<9`XM;^43nxLQg31?>2ZmK6$$!$7Eq#=n z_&i(7fnHQJKYi{AMi8^liMLzs7hbrcXkD8r;m6F`;b!7cKEZRriEx=lse-0v>5OX* zj?W(E*mG^A#4v=ZT~A}`1@Sgr=Edy*-1hR)<|r-#S`%Gy-+GeB^CkhFnQH@Jw0s1u{R@& z@poc_x5uY9XKS2a6+^I!DlXSK;y=45!?09{$xnU-$jso&I97hM;z(16+5=KK`l) z7acS#n)sxq-yvOl%OR{E$;qxoFZ`?fTq(@NA$&#fHPnPiNPfcoAm>z27Hcb{6W}yt zO@L-I?I%U+$THYzFzFMtJVx4Sf_t_vx?Muir9>6`Ptu}?f2Lg6c?CnUbn=rQSe0am z9@^+t+z*9#ubI>zsk@E90}JWpfLq$qF_RH5!z^-@6;ywdopaoL?$1OMS(FMv=Qm^v z$xtubj1xm?Qy|Mw^B-O15zY>iLLT^?c=A?|bYQpCL-npMH0~;!Qo$omqJz9vkai zd|fobWE?(srJms4Tb$uah)jgd9LfCrR!oMf59|~XdD#C*42W~0jPmh9ev#fVRzPM% zEOu9i`_l=tNF)gf!m;DMt!R}`7VD_LbbQUc`g{#kw3NWKo*h$KQQcrD_itDlvI8@_ z5nCRbAXlZeQ0z9AEn==E+8-lcoA?$fE>b<1ajSk&OxhM_gNG?DCLA&Woa{PDi{$|y zO!E^|&qw`Qv6M3J&gbXZ>Lrdt-TqXK_r;#taU6y=plO7dipNV*jWz2|3>H>VG4iUG z%REf0u8*7%Fa35n^E9g2+UTW{aDcqtqSucrk*465ruu)g z(o7S}rf2hqF50}V%Bu$XymEGBYr6oiSr-Hl@FR{D^x#DM!72o)>(#eed)iWIcTp+{#3h!S%4 z(t%v)&@AEEZ_I$m00?i>CiV}-c;)3fz3^G9g0K=@b!CxO1U2_GSqbBPTNsMXbjht+ zmmn7Msq7LPiW-{7g#dUBQ+s@dD|L+CzeHfS>3K4_J81nghJvcsEOq|v(bKkDF(g^k zJfdufrBY$+??a8!$AkyeIXjw@Jfz_?pT_+ltmW$GkyGnN(3ZCRgF1PgT_MeQ(62OV z?ai(y_qz)mZzs5$y!#-8AUYHZ-Z^^GHUl7Xp?s@!F3Tz)G9}!xfB^4mRIh11 z-F;qo8yR{Z!}qJ?DQG7q1W{0nNv~tvvs7JZd~aL8#%gJ_np=GO1Ms=TjRRRwRalfE z>vtY*!I5Rgvw4d_Z~wgq{zovo5l?3S;XCT@Kzu0+tO7w6e5{^Z5h$rXtoQo3o5NcLtIQ=3XyV@XKhTcT6ocHT z;J5>4xPU!hLI9rHt_8(JPlQ-q`r8h0#lE_;$8n` zl2?V`$_-hurF|`I^Zru#%uV6}POTktVJP~NCDHVhlWZ50oC3pWXH6)1f9=+ zx$&KBeh4%svPHerYk);r^?CV+<}J~jM)NdI1s@8(i`Ot|Yn%K*Y|x@j8p@XZjzJI7 z$G82!^wBr$9P|5glu=4i6SWB3R?SL}o;{ptjJ&1kqn@$3tbbER+eO(L?eUS3@Y;Vbkw^8;tx2C<+}e%6*(9KWZ$OI)MDaS3 zo&i!6A<&8RVxmjgk+n4gwpydWk$&h<>vWFT2{L^%C)r@F;K z{(YFl9VVUl)+j-dgMy|lQ$6dhR}O{aWyId)YuOY$ZCv7o0Y2Kjvao9mTs;m?KYT9u zmi&I&+ERHmnPSP#fEZ-3S^F8+G;V+_<8FQDT2QW@A?q7uJBQ=R=+UPvCADo1D87_` zo%N&(i}Q*+r3dflF~Zbw>UAsCg)1VUNi9KEB-s{Ci)K4)@Lib^^cIkO)0VRH<+5xS zDf`MsG@p_xUd%kuw%}&4P7-FZk|x`FT5j*?6;KmTOHn?*zl35_sw96^#TJ6cO!Et< zil~AaK>W{;e%t9ID6F^P2~*UnKa1E#YWHs@w4cag1-JXoS!dO+H35 ztsdo|wyQyuP?& zBK}VZSF-*cPi4X;lA1?4+#X4+n}G zT|l3IzcS?P^`#fL{dIjS+D`1udvKa9=Km!k=)8|~)*do_;HA{`wa2;owrBFA>$mBn zvTt^QyW&DD?h%u?^wM4QHCal978e+m=-&esa%rLOO`ttzG(&G~-#TBoZWu2%i&ORE zCnuAj;A!`@dNL#ZxXd()e3rq`ue*S?F9s00rJVysAUE zH_>Yd73VSTV2N-d{nZkbxo#3ZAg7o3<(PW3|`oOj=n!*a3Vb z(iofM3ub&TM{;C(Sx=P^XPYEov;F&FLFBE8b47;K^wwp?Z;fX!z2vm0c1q++n6lGR zrn&fwKK5~ZT`QbS4Y}B&-dgOBw!glhch%G+ePoN8qx`qh94z9t)_I=kHbI$9>&&loUg(Ja^U&xB=;bE;xWXJPQSR z0a6Y$oy<2QoYuJ+9WQwPQ^T?m>V+A+oYJKoK}3)|8~6~zAZ&wT)Wi(#>{~Z)H;x1R z(0eun)aN-q26XTl7O(a%+j%RsT%^9&O!V&KkrLZ)bUS)T8tjvUgs!mBL@hoVzkl;@ zE76wTUHDDPp_+ch(bs9;G>NNZENB*ohqN>HOf}cpiS%rabkP;W3B z>5vmxce#OhLX-4s#pxb7{GIav?tZ2?$l@C~>vEytnfQWogkh+X%p>5bmYC_Dfex+I zHg~1g6&I+dGD3MP(?It6!{yA?%FJ*(4ci zBE!$G;774t@g*!rlukUr-x4$=?WysFvKItOcFyNoPV(Ad&?1dvlIN&MJIj-Q?^28d z(jK9!vp+FIahZE8wxFKx0+80f^wT;keCA>5@a%ms#rw7Fc9D{hoUJ-ZGe{|vU%qv` z?8QLIjd&0!djvx{;W-VQYbo48WJBjI&g~j0MYNPl$nZ^9aB*~cFhs0?@$(qUbZ96} z8+$tkOxN%%x4MxqnwwihN1tEJvUuHXD4)S^S{vtiat-e11f+5ql-cX6t)7AsV%-NG zk+eeqab^}j)QvrE==kLT;f3Cyc;kr^=r99Tz42-Y^_@0YaP+<46@R5~^E2r|quJm7 z7wiSxiuAwpN| z02%;LQgkBnlkAoeoP>zRu@Wst8c|cjQ`SUVmiDI4FiSp|4l_x&ZBkmx=$f-2Q}9~A z$d=e$?DKisQPU>X_-Ov~Zqiu1ZTJGKb9KhSf!v?e_^$O8AI04@6Zod&Zi#38(rdwPLW3CxwsEyY@U)Q_{ z;A%qcPNo_Z=6xFNyeA0?yb}qP`;O;Ax&F;Qjk|sr!KuHNvOnQ4T`Oy7sDs?JQQF5y zi#h)Kjs5FZyId2VO7A-#XO&S1Tt~D<>1Th(VJ#SCZg~GKsUlP@0Fi zTx!fmYz4Uj6P10IbtID_If55nKN{4kjVwC^bk0APRd4f^@H1M<cEG1N&u7j{Q3WR~5~^QZq~Dpl+T7i#Et%B4z;Jn*-D~ zYUU5GUA4S!;l7@|-oL)w-M+r$1^YOk7&j{#q&Z`5H~+7O2}_t7e_rNzt}%GMUc0+( zKf`RlgDFn0Z*C&MM)@-}6oO2|4yN{h#}-<$0Q(aTox&Q+GP1uEbPf}p8@;EgBE(V< zGGT6%om(@Z;L^pWSz_8+EvXkrFEETCP(i;NVb0fWssO(Q40%SxzvcLBRr#*-PhC6@ z-h~QaO}|6S^0ZO1%?@Qfeeh2)?jfXti0}(kJpWP4o{75{8JcSK{d-ztkv@rFV`Y&Q zvM#r?;t(IQ=kK$UH<-0Q>?Em$z<)I`xrrF~CSM1Zf_Sd_nDph+_;U_sto_K4rEl68 zjjA5EPv{aAH%nSiwDH~h*ui^*{<|q%B;al(lz;Eg!GU`*-qs+?uhr*WSY-C{;i8<| z`U5MQL!}ds|bLHLB8%{#%hWn@0EA-_M znbX!`2AQIAtOM(c%g@j69?s~p3AT|~kKcpyDr;v|mK`_kn_(MPv|$XKduJr?vWxiu za}&3u-62LHWM{+k!Cyv08OF(W222O<0MB}-$%8bR$|-NxCoJ@Dh=~YP@_0?tjibMP ziWZErGA$%xC_x972YFl!z2|EBOuCwgaPMfb3LjRN9%{F&uBXT3iWNOmmvy+v3HG4+ z&jgj-sXy5nop;vysD?_nLojpG~Dy+dy>wj z&8IC}2{Aik!X7@?&YYVifVlRZA|7r|(s)Es;#(D=PnWatPD3^p3`{It}k+RX%>_@MK% zr5sx0ui&L3{Kvp$Bp^C-h*I`j*@`YdO!M;#1DYOYS8|+3?(Pigy;?JnR$Z?0{%s2T zxE$_<5i+PRmNG^efQO<|#o2_gIX$sgj(B02)pvWd74j|$8p!{xw-xx;FECV{il?0L zg!Ix2)p##b=_Xo3EQnq|b0p^L#Vka&=tWs{pVzcNR1-{utp<4Z8=U2rr5fn`c8avl zB6_wX9bkFthtLez_7|(`M-Y#gqZseE_qw9ucA^B(#MW=VEmBc8l!EaKiVJnNR(c`t z-TvFSS`~UQ>evd7wts#3pLuEbi*57@c6L0ej@D*32Z%?|WxQ%eMfAi$#^8PQ06<*L zF?>zp_d}Lta$EC9M5jlbHA2SUapN{?$jlwtLt;L}RmOjNYxc6%?8k?*wF@iI(O1ID zqrK`FvCD2emWsxV$x+BXLSRbyiv}rYfW5z6=>XcvwGeGo?Yi>_`T9#el_%+X`CFb zC`wR1EFxF1${y!?ypEhA$b5{LGDlr!$sSKHIWddi4fLnOIL7CU9Y z-NZby2bU0ftnQXa3;F7L4N=bXq2WEzFl&UYj8YQHYjlJ=|DNnRoL z8QCkLl(ep#;MSoQc~70sq>hg{3cx%+9;n#BkjjM7D`B;4#g>85s;S>r-#m<1aD8I| zw7noS>qRR{82;BmzFGKLzo2VVb>exIN0C9r`}3b54!W)xx4mP?uhr`Xn6-j*&!=nl zUFlk7GvTa*)cYOAl~6>WqQ!&@TU4~B#bjYC{207KG$MU8-HLsM-#8a>{XaS`VlVu3 zYiL+DgrB_iFd^J7EGor{qI{iE)D#|S01f!0UfKeHr{I$nwCYTAUzH7p&|SN7;06#m z(!}_RT;^K7AA?R6cFIe$RL&o2Rof&m#&iAgm$zKbXdS@;UUx$w0_zg5JGee)?N8LN zd$+F_b`a+y-_s)26@>f$>D|I5(~b1Cr~9@0qSvc=pIdXEn>|PkI(Cr0%5x#bc~0wb zwXi}(x`iAl#ZwtG?^^@GUF`hmV+vG$;f zW6km{qnY|thz4XzXK>0te>py^7?)n)4@U3#FPcU*>^B#Rx!Kix(M0pD^~V9CEXs8zuC!l0ke0KVp3qGv@{7x@3vKP)Z9W z>$TrS;kRb}jb|dR{r`6@d9kJ?)M)R&KgV~v& z@o_yI2{CCW@SlJ_`lfFM<#f5#zw-5hV`F<8iNX)zKqF@YI0G#C2)=$YX?fN3iE4j7 zYVY#LUF{#u%n!82tkC$T>2NG2J7iklbT4MgY%h$hy&V!mKkHla&n z6vwW-zmh-BYpG5_wfCk)63XDS@Tji-0WqH0{m47#rcC5<75*m}cm5oX$tAbmRH-lK zAnQe=o*%_qpXXaZ3rFDX^_Gr2BDwnbSlgL#K1TT`)ifPtL zUN7e=L3%UK%tWeE;locDrmJ7}NEj3~q?P`p)rDd;g2%8nND{M<_zp>#bnhs@Rae|} z)LWFPTD$S18$Ga3!937OiioIcA0gd2K9%@caUehV1GVnn*^E#-hq3K=f|7>86SjT2ZCp~pXdn2( zE_zmAG;|4PgU<7!DdI){f#A{yLcdjfMY#?&3Z@XduKB!ekuJicf{Yr+)DhcDo67Ei z-&e0(G2DYiR3)sv^|UIs{5+&-f68J23^{vRbQ1NtLZgP<0jb110+h3T!W<|Z938_% zii+I#u5gs1qpGZQfE%a?-7SNSp>|F_Mg|$}{OwH)CyJ57rz=DgF}pt`i+^%`t#C`M zJoj8oF+-`ZhQzNdih*A2H6BcIPdw0OTiN;^|3>U6ZCif7yn>N|TZ>eBIcpHhyxR9ci$N1n-F{}VNm8TcD;^xG-#`P(*@S$+|5!UE({7rfIXL-@!sgaTv-qknv^`ossN{JfDi?`Fsum#cXP5WmDD->ejDHj@R8hJkHdNY@Lf8;s|LzYIBQwDgDqf zbw_75xv?qaceZ_`%Q=*G94DBOdc%u^RGgErLz%Jq!FJA6cOjo|OS?cdV$1h}_n)AO z))|>un{d4eVL=2A`hbUymW8^{&;NL=9)TorntKF4D9;XdveBG~nGkW9nNaKq@OTI) ze|L%E8rpEe0Qw^DQ~Is-Uy%*)Krf(QX(Jb2WVFVj&9Y}8d|7r_0e>tx>)6mhu)l^3 zf65~q7ozZYIxzXx3%g0lnqLr}Z9D3y|E%0JEdQ%o{0XOb{DECBMB+c=P2SSFK0{Aj z{f$V&!5^|L`+G{e9;_(v`z0lVvy>JZfVCOCv#OG}=P5VyAdoa@9wi_N%Ks_E@SC!$ z;m3~=4n&z!aXaV=yYJ%Rs9lqqqw|YR49#>l59`~ye$F8eww;L_NB5Z{+m*Bod^8(8 zP*#?dYCl$==AM^Kw(s`A8qOYGpfimKp6}aP!g$K{vD_?lM^eT(C@V8k4t4%`DDUwf z3Vu$?umh*EJw-RryY+F%oq*3>_DlWi^X=>QxX+zjgQ7&@0r7y_|2C0dL*l{fkBiyQ zjcddv4OurJ=8%QKe#m^DWxWNA0$~jCd5Pb1e^}onAr)O~a9`Cjg$l^sAp7%$V{}+c24nQ~WG1L0``ILb)HI57=2ABRBLLqQ(Kup} zrs&-$E0Jl$SEVK)P&Rt3q)0A0l19_}f8D6~enQ!0b*||-Nspx(Q`>#BVHJ%=CfG)O zpC?t?_SSL(D-;Dt3Imy|7yDcYOnP5Jc97Y_zsR!llv%{b2e814n?)DelpHxy`{477K*|YXvNFJ2VR!#_I9u__jUcCLc z+8UmHpKAC1FVNyGw)F(S0$_FB+!?N%wb9-F{7(E1*4~Heb6f9j|0*sHexcCROtv7W zp(yXb^Zx;Jv1sN?yT)iX>L?}QINO{iaesMIg|k|WYvQF5p#W$>n6cVvY}Zh!%7XafRh^+v=4z2OFr2&p7cwHws&;>7LJN<&H~PO;m|~Eosnc z?_lDJbne>KVX~dPC60zdv9qnPL8ttkd(=WNj}@F&`1~#D?6HD3N3vU`p@cu5Hi?IU+DwiIO=lA>&^ z&?IJxF-&@5Wds4{`ETf)$DAx6)Le)`*>WgPH%=Mrot~@G2{Qu4T)m0ZCr0P}4vNwA7;ctmsTU)ENpTYH#oYuBvVf0^Hn zZd{3;?qIk=KS+4&Dgwt3Wl+I2)kVq-O6p;V(!HT1&D5tqZ-B{z$jWXBHO%ox@fSO( zrpHyUGkR53oYvA+m+?ER!%vX0zOVL_H573pk)dquq{$`xzfHv2WM6k-Jc$Cv6rKJ< znWoLQscr~jGIE-q9z=M70kUF_0~9+<>w;55`G{|z6m#FpJ4Q%_7{)EOI5+R7i`*9> zVb_yfP1o8uQ?8U!(|%0dcHUo1+shxob*)07W7fbq$rzOmfK)H)h-g~a^`l{vZtD#$ z_Bt&4bmW0cYbPiFvTf;QNWMk#k%8)g0tB1XRNhJfqjYF`P;1Zm>_|jZ!r*g#)vO4! zJgR6IH}yB+{qCF-yzeOK>|hmwEl5(@jG|Epe~)~xFiF4|r_Po>Hr=Bo&27t4HbP-TFX3513Dz-G!Z zfAc}Sc_uFF{rohM5w`*NV%b_Lqtzm=(1ri;7d;ju$7Xn^a2BI<_AR5F+~9PU_dmGq zG#yV!L0RtbSKp)np9SO^BT4t3)`yv>!lQpz&`<7~Um$F6dtY?=-hpGCNJE?7rM>!lsGojWr zw?wM1jEc;su~D9c01OK$M2342-d_?0bwGiDSXxexMeR-}R*&^qUr5BlO&-FnE9nEU z`Rmd$k5Nb$;XobrjC8X*(nu2;A~*_!KrWBSOnS#rEBoWqv!FNHr|k!T5~!{0k_q>B z?OXB2Bj+(UHsfiiG{{i?vcF4MK#8i(KSWlz$0!o;?e&TSa_9egCh=Uk_B!r!4|iSe zAVdG(gM7g+wDUgF^w~3b3ir8hmUzW%zee?$nIi z);s08>HM|XB4Q`Do#vA9d}DQ?Xv)YCNIQfetzx!Xx(WfBg3GOj(u==i1S1zfBNW-i|IRbBjf+XQW!sTi6_6cvkU7Pwu-exp>lj$W8E zCexOgaFtz|TuKIu^Zmrb+v~xZIAi@`{leSP3}xiQGj54prcWJGq1}^C{mY;?V~*QdGlZpxOB`KGA?2#`g3A z2?`b)G=K)cVY-P!gzt**ZQdmIsG>)~nati|7sYg`ExrV_^c}e(VS8Gjz8it+1W(z#MV76zdB9Qh=MRx8w$XN0 zWI-|3z*VbjCsjnsaQuB-L{vCwP%lQK6XY0*_TJu9EZ8xw;10tB5=-CYGSXV_4=BL@EcYDL;XO6&g% z+JpdQ5JQXrhEVi~@W`bYoTZJkdql`6XB+B|edic=oV{xVr(FuL3zd6%uDr3zbw|1E zBV_W=ZN>^og7AV&$%L6svUp&!3o3-R;0v8Z_$! zzClj4@zzF!>mb)h<(4`Wa2Ij=7|RXL?|8T)&9yvxx_9!rn)F_7_o2q66749}tOR`& z6cX-gc01jCI>zcRrA7Z;&=d!tMwpv}G%}8nhws5+4)SKbQ(s3thbinV6|)KIJjR)a zckXWuO?3Y$xUxk?f|2QooXb;DNb>)0768RP1vq*Xf>9MTWFM6{L$dM`w_l~h^7AQ< zY-XF9FM#x;9kJjH%y24ChL1HU=EokZwDg<}nnn7tO={$N~rOXLD%kpH62;{?hRzIeP(|?C}E> zAol9yMe>#6F8|y{@aJC5at6oiOPu{8p*4h0-JVRd@ce!v3E=Prt zj2ez({k8F*wNj@f*2I-tN6I4I41rKg;EDw~;6;CNa9(z#>R&eEkuZ>xJ9uL$03Ll| zN?xQZ0Ow}8lOY@{9j+T!POr(XxocM*b6xQ*c_GZagfgxS6Q58?SvtAc29O1g|Bm_R}(LDC5g`#*O^;}NkhyS-?yE_;Zqh!#mT$F z={xCSqkCSz5A)*2r3>W%)h8Sxw-&tLWaeE5VXNnp_)$?&_HabjRy<)wRtCHT^$|i% zy>+*b#>mJh2z zJceo8qKIquShV&<4jJ=8@KB|cDoJm}pCTbi86X8hGEuSj0QjcSTui$b-F%UifN!Ut zc>JvYFH-aK0Z5K~b23xM43MQ!VYx}4u?rAv@`iyuNz&z4hks;$Tx`7xq9 zL=eOOeUpZgqvezv!?;(8x0+7Es8PE4+}LuKs4|_1lFm08l)%Y@1k*7->|AT|NhdjC zyO$4pOOp178VF`|U1(bK4itaLGf{hToW4I^M!y~h``l5#PQStj6Ys;@U)mkgU%ux5 zzxu>8t^C^aKcDOImu8=PiKoX?uiNH!Y`_+$VY5h|ZL>@}3_g6!$rEG*T06a>1L5ci ze5k_hrr9_Rxk`Wr*;}VSxzPsg%z+c}1-c?lb~CG8zgkL_FxA?5($YyMXjW_M7j_`T zM4Xg+T)zzhN>9_BdTII6N9^YqNk}jFG3D5hm(3qJW6WS3rT&qA8Otbb{U=@LqlPM~ko{}BV}q9{0OP!o(oVa+B+ucNHPkMciUU6&OY? zauTv!OMw)tBU0xKlBqH=;U=teMQFwe7U7xp1&aIoJ9qj%z~ z89CF5@dXF*kMFMwL-?)G%XN*G!#%b*(@&qNv~1L7ZoLJ zPl1QF-;9EY+B0D!Agikj-}t`3;4siLtT~vB2IUi%<`JKS#m5Dbp?}Ba3wn&!3^9{# z2DAhu$B2$duepTMFba2SohQsGX~XJp%KKUKTcNm-W_&2CEFiawjBUz}ud9^I!R%O8 z5e%j=`tvT|sRs`>D^5TkLrN6nL2ZZeL%44>k^x9k*6We^`@CCZ1gBD_^W>w{^XDZ=h<( z+;})K^PcC0Ykym@iE2+{K; zY2`KLZ~Efh75D2;rZL))e;z1r2P!EJD;1b$Mty_Y-nOIw-VCPhQjjx}tOmQGbSB9O_5 z`g~rRdH*SXt>CaRmpEB7xFA=Ilr zaz9IPQD2CbChOlUP=@hGry&R9BS}r%q%5--@<~~I(!%4T;53S8s*gQZWyWHsS;fTT z{071TN~0N@P70?hq?trC?ZLO_&MH2KlR<6sj4n7VurYAG{@JBcv5G1Q#S%nkW6=gwkDGl%5nMbyXq)3L zC#8qSIy@jGj73G?E9Vz%1sZ%_#i_)-LQvtzti>90_*&M-d0zM1e|pQUPN$X$X+x)T`EX6DwQ)}HK?T*7tcw$`azt!{;* z%v3ErROVTyj2OjEQd?27f5;6Cd-E);YB$Or+!(hwj)ach7XkfAQ+Kbwo!v*{w|H*6 zZ7O&ocUi*v^*xjCU7rK|Rb8(g&bVI~OQE%G+a5jV_3djm9phV2U;Ubkfy|2;E#}kf zajQ=Bk3koPoAQO^c&&N{nMf$GkN=7L*Qc=djtTp1H(c2%G{oW89>fr&C(S-m5Q9Z0 z6qWO*-a7a^9$RPnm!RJ#y#ZTzT29kNT_elsX7$fg75ks}H>;^y>MKO_Kh(0t!8i2( z{ut}EeGi|bdT>=u$@$UJkT4yESy#En*NO?P+?9xc44t+L8JWyH{+_GBkDQcr{^Ya3aS^VygE-&@;pR&Pjis8>)6U+dz?UwN40#Xp!^fq>oT ze@X|PkL@TZc?`}423hAP6X(E9*Op)L0;2bTwDRj1eKbQ%^IdnlaQ4=Sj$LAa9bOCW{vneZ6Y8MRLfo(xwPX)gu<^1e1$m# zI>`=cjcjn%v#B#yC(C+UPRM%1CAjn4T}pmX`t+^ggu-{Bm8N8pDx@*#jt=Bvo~fEKd+`>Wq_m9p`HKPbn+4jkV6^(p04brt0=1!J)1 zosx00<7y1eDHa7AcI(8UNERAWv?F%5uuCRR*)4r%*bG4qyr`su$Tl%Jc~rf-mz8t35MkNaLPG6^55hq`@}yaL`H zsi*J967wJFX0J@WA$_8m_TJYN%GusfYM(QK29IZq*KLW%ewrr})=R&w^N?gsO#+5w zLj7!p7WaFMc}>l`;~kb3FPF&DBf>&Uhi94%&B6xGV0z++5X25po{H% zO$IBf3XoS|xTb!|Rekw;=>oRcx0CKaD=Mn%P@_fOyp@CVrLS zbNzy-om@itLjw7d?eAb99~(s!ndAUzH{Eke0*YHEDQ6FDPQU`vk+7o*l&mLidM`g~ zAfknl30k}%X;Z?LcqU=mmvV;nTN%AsAM~B=q}qt}>Niei>2rm*lsMzh3Utug&D1{z zTrViO4%SRP!h36&DkqJx`W_qPo6cv3+ZZv_v9g)?WOm(k zm3!x{e5r@kKVw<94|owq$B`ua`4B&euUiyJ! ztClRYTAvz%$q@%eTj~>SF9+@%Q2Up>>Xl0wF&?Q*hMijT6|5$RwVBl1_m~9K|bpv{hN}?#&jj#M!G&4m>a4ngqz1MRV<@V{SKM5QGp3SKt z#B$uA?AxWwU9Z0N^cQZVwty#DuTNiwwKOCLBZMwxL@`db`cuwHC%iVnyC z=g}UxT=B5*aLiUnf;ih)_~AAws&(V3d;p>zb)Kg-dBB&gmsL5JQF$8qfOlpKZ9`MA z-u0woWqRscam0SQ(wR9_`f*$?F>&)OQq&45yB!p}-{A)s&{xX(xyXs#>TBb+S5UiT z*V=0FQXD6_+D-PJfbGU1U!iRRh-c;fHhd>6 zU{*j?Wb)0uIu1sve%Zn+O2ig4yqo^N3mH6CO2Llv-&wk0-(e)Wej(L{i+ZoCixy)i z`f1IMLRPDv)4 z20Plh3R%xkSM-nHa>OI!{U4^z!9A`vYWFiqW3{o-*lKL2vCT$}Z5s_6+h~l&$s~EF@bnqIL~R2=f*$zh#z<(kH{2Xzjg zdZImt)2Oca-LuTICfKVL8^RX^a;f9X9dCNP6m(73@$h7e785?4v_0e>qNpFtL1i6X zsGfFjpHlmmcB?)qNlE+899lr#o`#8hWp>RbbSW&#cjqHT`Mer`-9tJimxj~hX%6!( zs@gNXp=ouO-6+9?Q%CM^k`~L6a(Hs1-{^0L$5qLpj z)dqLHUi#vadp--^xoxcRz3F<#`M7R=A72FB$Jnn^L?Dt@NeL3ND6;Qs1AIfjV=s=) zQdDP79yG8we`;Zq?pUIfQ^i1?;J-Z@-hOPqI0Jd72JMGz; zl;MWuvsC84`)z9j#mp1YnNg!pPOJ&zr0l~REeYWSC|6iOOw3JDD4ifKhK;gzS{7t2 z?YT2~(}PxDFrI6>IZ zC4Db1w1q~i(hZJWv7hJQlBv2~M6b&jTT2wW6R+l)niDb(2I|X1y02wz6Zw<7;&{x_ zV+~M>pZZeg6V*yL)BHa72hdn06U%S2x+se=V7_uG#Tg&=%jN=~oiwZoy@O<4vdkM{8DpmcG){EArjZ35OyXnyWsJ-(hd&Vw%m60MN$v}R zW=2+(@L0q?lA`R@JxgVD(P}h*O7tPst$nv8v7rU7dh6arVjWzP!RN(gctYoACfdO}4yE#1(spYTgHnH{8~{htlraW+3*bBzd5xrr73 zI|T(_j|M&Nw>cmSSHxU>{jK9?{LY*o$0N)K zbYE7RMYtSjiMH_{m1^MVZU+N@Bcib}dxN6qNKpc`(TpfyonUFmRbib_cR&d>-bbSb z3Rh4iBryEiS`Qq6!oAt^KE|r|>YvY&p!PpU2PtlqCl+8{;$b(E8M6W(D1yhTF%xiC zt=&Nm*;o9~H&BYnCSmD1A!bjzkN9xvS>_3KC1Hhs2vNf9pAvtb^B9_(S+|)?+Q(g1ejZeCyJV`%Sq$`F?x)Zu_ggq<8N2+-!_Bxd>l7%ga=G}x~B)o@q8705eltykk|=) znTT<*VOURr!H7i2{JNX!S|?WDypr!o147s)pM#C5z2#MU^Y{tNve>U zPHz`G2$H>Yvt{3li1Z!hk}zv6cN~y>8Fb~~_jKdZ6$Lqbkw^2SYe53GN9>Zn|_Oh!p1qXSf7`<2eLz>~Vjp3W=Y9d)y30yG$hc!2K^0cAI5;+WTTl7Lq40ErvkESyrba6X)~i ziZWp^HOfP}Z)#CkAa{4%tE;@!d#i2)B(j&DQZ)EBu)x@)n(seQ$m&Dbqh~Xl({XZQ zmhAtQliH%qs+;M){P5@5$-u6nI#QVDU$Ofh8ae!=r{V)VW7xbLtT`iD?RZ7yFbF^> zE-!xgXYtO0U*%i(M7{qp5M$;J3y$Ny=oW4;j1yf|AoqBDbpeUXp2j|+#~;#^?G;Ro zlyu~B0l>%0=6vAH8cO@sMLRpgQEZ!f4z)v#bS_B(F+->HhRl}_SpSX%>UpeRFB(YO zzh0ZX*BhRyz>KwM_qw^jzL(vn=MV^Z*XMrOqD9akIDHxo5(vQT=txEyuh4mHD!lML zZJ@czzRP}=YieA;FP#joZkMARv^por&=s>%d3*pK@Q*)lH~Wa9N7*fFQWSR*ySc^UU!c3GOzO2Wm40 z;Df0#BQt@Z$U`D8Ndjd!9?EG zU&Dthx`sQUBRAphXS=Br>GZGO3Z)I&N+FwgVw-Xp$u|_`8jX zXtQ)eOz!dHz_@+_@V9J%5A8Elzah-O3&lr$taqx@i{HY-R76Xi(494#=-Ny2IBtgQ zZdfc59+pRqst!VCJqND1x9+YWfAu0ak)l=!f)--DZH`5qHCN3kgU26;&HHXkVf(wkcN-(G-TUcm3~op2!k%Om0;cSsq9G^YM& zvyiSd#{O;J{`KU-=PtEtpZM|o>l8v-^ zC=pgSN6M7DdWR>>zU+8SXa~kveE!}(P&ddO+tSjZR@lMz79;ux5b*cBs-W8QeF8Ds z=qGv#Gj8(&8XPQ9es0s~y2?+Oak11`T4T0hU_`Fq^hCJvhHQE!q2;$)a(Z3puEtf^X z+lcUR3lt1vd7eO3NvfXT=xt20kJ85+gk1T-VY5Uy45PpXs9&jBW(G8QHHt)G3IN|( zHXQp*@gdJIy>^9KwDZk@%{lPkHMdV9{C1Y@Jhx(L7S>+sNo?M;^kJ|`O6+=~CY&Sk zvkytG_$LzvHRXQo!87?D7%9b^ zncv5^ba?)0mv;J?L~L}8&!MW=;E)RUtLdlmfPp@+2i5>~;gV>wu~|qjdXG7n%FOB_ z5T@L50^;@y>v}#xyX+--wX3O49^|11%? zOla%zH84guX1)v)7b5aQ$JKhNe<_@GTdISXX6d~sBL2-7&E(n{Kst8g2!-w;A!P$I z2LSyzO}wMB{SA_J64h8Vx6X6gOv6!oFsy<%C7^Inxsf8yWey5w6t#ONU*Drg&J*WJQoV8O?gv9v87U<#OXVZDtzubvjXm*woEEI9 z=G4jkw<%Chb{&0DF@NwW$kscF8>7+DN&gQLj;B?`7rw~^rsj5pZ}e^oWEv~+W5 zy@c+e%9ReOO+*f7IB-YHm_E9aU*Cei?mDybCOa?&<7EX?vt;q6>)2j3N{kZ`mO5xmSmd)V8mf4JW@&tEdl?*hul1ZLM^@)F47@~lG8G|8|f)lx#y z9$#$)*%1_Xx~Xw&Z};1=rUV>R*2l!IZ5Ud z0&LK~I#}U5{cr@4N#X=8@9_$C0XrIk4?v)@)!s*-KyXOv)MxjI6Blf zC+`I__q@F~FPfj!e7u(iw}AyvKWVNrCih@Bn;DQM4%n*=ARiJAGlV!t=|!BJKj0`l zF?B%YA{NK=$DLARvh0tCH1*1X?8z^hjc?6u!JGgeZ?7S90S=pStK4;2<(j6ucHfEn z$$GJ~O4-;4{CDWBWCEbCI~?S9-F~-{2yG)Bg0oLLAxQctdC_1$f4Km=nx44p2!r(n zuzB63&al3_!`ybZLQCdzSPL6wDzC=2Po#FfZg8B<)kv%z7w)#@q<|;3I=k&FcaLoc zc4C0OZRNTEu&tAi)vjzNT%=+l>Xw8vDcPk+uTziaXux_kn*x^_zi!}E!QU~iyr=87QBTo z-#Z&sj)BMBHnAch8sm@|xYc0R1h*o_M1#+0pg-vW%&1C0&{*qXR|_QXkqusLggjYU z;2I|HOL$wo1xDe?D3E~w`-uWvBS$cdKi_-HSO36TLOXiEZ<0Q-c~n{N8Q&-E8LMFW zXqJJMRh9!oj~5X{RG(AI=xOB#m%$$x4@ZJq|F7KUqWhjfEHiihPvF=4uBYUhx8r7rsBRx$PaPD!nUmn{Xgux- zWH%v18*06ua_1*@^tBBTB6#OP$0g7aVaQ<`&p5{|knXf{Ym=^B22gZA^V{J0A@NNQ6da24v|rfQSaMJmi4iOr;mIUuk?~tQVY{ zbfo0{_Ow;+LkKl)O8ChKqG7ZJj?%e0t1*mn;6((=P7=5aNnnw~m4Uuea7PI_yT|RQ zVqkLi9ezcxW2OoRJEL&7w3(5~Z`qw?u2boWM(oS9ngAXTemacC6b4>=(*VfRhQ&aZ=(_fz&; zm!6$LIQ|ZwAWzsF0q;o7npoUtXb5K}deQ&{dx&@t$*PE#Br&9Cv;3lkpH&3Z@OXq) zG0RxX#X%ZQrC1B0b!_1`#EY&EZB_CLuPvn)$Ui(|T4qAHAfMqmFn&{`O-28QxtI?4 zfpDtu>wN-&hmztBmYR&Q?{UtWhNi-TLlk9c;)zTp&YL#>#Jku6It(NQRwnwLHTR2_ zfx@uLrt%)coCHJY$$CT&3cjB{jJBa!IBYy5$czZZ$1b*5?_4a^H?f)MH_OEk4@Uir z6?0H<{$N<)77_e+q*_O8Mb1wv28eOzRGOVJ!mKKP?;=F8yi4V8hn^O&E31Z%io zO!JEw^rb*b9vT3>$AnWeS<2ROH0y|Lw;uaTB7n@2lkz_EXpp5g%b$dB zCl$1#;DByuqV3H3UH!1uEE8Hvv^i6{%8xr)I#So@D={YjhE!M=Dr6Q7> zv;!mA>b*EN+v6+dQ2@&1ALVYKJyOQHvFB`a!{vKtWF04eQ27bN4QycHy z$9^Hc{rgd3Z0Q~~@#F9C<76gOjuNQHOYc9hY@>wiJL-9H@9vNHh^ew>jhx>!9w=3e z^bE`&E2)-eN%(z2YF>LZ9Xy`^atM93bLo4ps+Hf{mV< zPn7G|Td;~m&t&5l^cqJ8bJESkF?)7L97mEEV1t*xK+~X{3pHXUE zjG`y?&B3?VoVlvh7AfQ>_PV*dDtif6aTg=NFmo(`$QpGs2IymZeMTeUWyx=H5{P!U zR!_KO&+Fg#L{IQH0wmlx_!J9M98dDNqYx3PzKo9(P(2 zN+Itkq54vQQ)7vGdw~X94s9@2i>uNjOaFwaC1JvoK>9yrv ze!l`zE6Pt6pYs7Te&`T;Eegh3S|1=9Y}4v-fsz(q(%da(6A}!`x`7@WNaJmtC{qUj zkoo&r@SFkjc!%)JIP2 znl}ebQj`3Gzkc+m&NAb5s)WdNNVd9nZ(?*LOj^Ijy9Y=lD@fWiMH1gej2FT$Teg-3 zbIQeR)tp61c;=bmm_a3nxUiG;7La;K0mCqaeEGGOH@G@JNFti5U}O4a(juqC+#E7bR<6UN9F#>GOt;mBib?f6-QJD{|Y^vwJ0@s-X@Y z^VK$4Z|iSWw*z_HUWOjqO7*mDRM&ocxr-TZA`aAEfos zao%!?P|qcv1Aog1d|l^BIwkt!`xwvSF$Mmt$+wz9RUKf$T0c?VV`rQS)VYI)g%Re)UiDn7ei)uD4 z=;;147b^1`v{1dt!rSy#bM{TXnB=uhCV1|&DyhT}m6VFMJDqZk6Xu6LupV2~+}y$X z$y0cNaBvfCk?R+v$*kycKP=1deUB&ja!OfUqsX1jjw=9}{6x&5_#HbNZ+0+nXNOXM z{@j6!8%hm7691_TG;z@8oie?3sak3LUMI**y0OnQsT&Yr8l`?Cst)uT0wUdkr^FDT zrc6dy0z#+dzVf^=gsGwTr+dpOQyQFnK{NA}A}-UM%JJNirG0A5Cz-=A1j6tdL45%z zKTmtqLK#GFEhPDGL!sSIX->n3>p0HiJ1xM9cq#;BbpKYyD=?A%ttENOwEtxOCfQ_g z!$$au^#oIDF>IeUuCqU(;|MC~wT&=5=cc|kWA;q-UquWvE^0h(nYAal*9};zMxS41%$s&&d;cI)xk!+1Zu(qjw zM>toH|0vPTDBzBd=q@i?t)ZW?f$+-2VgmBpv7H-mnSw2UxOe)qFsmLClF6P^{M>up zOlT~ajG<2)J6rt{s%thPUrkJ}@7a1K+gtoXz6&&zhHTS`iv}Td!Lx8}Wr_ad{O`nZUQ*GupZ#Ru&xXYNr(=$j;$zP?| zay~b0$%jCJ?t{!Da@kUBw4Ua%1}?$_2$F#~pvDW;7rYPL!uzz5Z5qjH~K?8wlPRGBFiZ^4nNhJe*qP2(6e^)jOKg6 z9jB{C!~6;z9p9?$d;)VgP z8+)}~JVhUqpT@028!g`a;U}}*F-iw@K;PW(*0LXN5n2$a`f$HUsI0+P#$$2}9Z%x1 zks*MO$!*}PA6rm>!K0VC3oThp@FC7{PZJfgZ+P$2j!TXMuVR`73SL%27#Y>A?*Uuc zxNgF3Artk`xZvWP7z|7e6X zp+Zulht^K8OIRyaEQUy*+o67-PqJhMW8-|ja1KY(Gr%_2ODo4axWQXotYMW;gkHb? znm>t%AvuDHWBen>qR2(k9i0Wtf{Z&5Okj0->nMXjOD`s`Z+4;;8Asn9nh8}-z*>a< zhb?(tEZ1U5qyr08Tf_$&OgS?=A`vD0by zF3>q@W%E%IP}@7=QWgITE7)azc8RJD&Aof=<~att&jur*@3}$e(Evkt_+=4=iRsH0 z%o08_-tML9`SKA9@HP;K!B3RQ;oE(LkM2< zW=xx8j|-hE)-;^YvsDtUtONyk<_F)%s6W|BbL!+1 z#q%!9GK|TX2s0ttq@Rox=Z?bdL5rHBME=uA3G0_eB@#yjFvA%*0nzbD2uQytpd>## zC=WHz3X<_l2H}d1%Nk|Mv^NRdW=yYV#zH#i7?jz+mymm{-BjhMYn)7mBJ0Y6S+Zq? z5;X_IoZDk}FKh;8c{67k*Iy1O*wv=zk0Gs=5TCX?3eRiVjX4J3pLF((qar{xeSq@=fEpjb!t1%!e&puiTn zhI!UE@y}oKWrt(F+u>eauAwl`A~SypZ26lNAw$3|2yNeWGidBr|D}*2_tSEr4w|?% z?=tQe0zrdlD3}h(R-ho12j^>k+`o=ger|w_%aF)4vwD67!0P0fvAAU8fBmlL4gc+oLZb>m^AA6> z8-(EP=DYUl^;or~RMix#p7Ae&L=MpigbIVrN|9dG+Xa>GaWZfE3!Rp0G;Up_a;l$+ z=-CeM8XHB$(W~iHDW%R-EbR{J=FBwF>gW%eUV#0hWN5ZX! z^bdG!bE93HhIyrt(nkJi-muxYM5H?k=5l2&TBh++BqZ}CXY!dV83+??hN%*$76(Lg z$1aqVmeHJm?^RXIduWoY-Ppy22%WEt|&vB#&HxnHM;nWMQ_*N#_-!gA3 z7wM=qPd;(Y&B*_`K68C=X1QR?y@0Vz-b*6e^MAQaW+}}xqmkv z0P6W@eWSXRnD?d;u=8s7RtNS+|kK(p)0Hd1qvSRT%WHTaLj-{%2PUH%T`&xU)tBd(L)qy)YjSAtr z&qD9)EXBsj>b={0VBcnIZo!g5`>L%2Y8TYS-Jx$aTZw$7*s@Er_Z4!*bLTY zFdYwP%_-@cPBEiqfy4wP{jiVhZL0{nnE*-HXrW^-m$v{v-03*z8B!BcH>S&6-;c?6 zh;r#|1F~#=ak2jYbW8szh#%kEFJ7-}e0CNW+?%m5_WI(j|5O}AE9(S{7m#7uUDA<> zg?b*nYzXLK34?(+I5^z&>;m#VEt5CVmKv!mqznvXVY}JGK;QlRniEJc&zCorAB25k zhRE%iPCcTsW(=3l-m=95!+y#}xIDMvt8h_J@;U6Vs1qIOQ*#dj&;6o7utrLkl0Qoo z6iYFl74(wg3gIP_r*;UvSWLB^M2r=xl8e93Ax4k;XbE&x97<9iwEZ}Vt$z~Ci{|uK z&tIhoeg+}3NhoR2&*4g3nFZB}0rb#5FZSyKo`be8sa%5&B)KYx?w|jhHEGlt+@}1i z^_NB8D)UIZ{(dI9JRXJ?d$%IW@>K;#^C_uuD3EEH<%HVn5TlJeCoTf#vfgM5#*%ET zq-+Yq^IW1FXEOVZn>2jZuRvO><3s#uEng9#_2d^HL}WMWg|3Lqvh~e#e#F%fD^LMz zIk^K@s&1lU?MrCzH0}vI;#2U5H&qe#rUX01nn4Gna6mMLvs#5HmIKTJ$Q2wJqSsPTAh+O> zn4C6*2nqLmGs`ML&6-F{Ie@JHxru97$Jyg~Z#!v`y~iMX^HTfC1B{7TgkNE0()yY| zYv}*BxYS$>%M@?l7Un&UnZ-KdE=s;_=iZ6H(%5psEZ=kE`Ersc(n15TRh#!ICp#ou z5L*%jDgas(ku!JLw3@F;fyGUhv%KrDR=*bAo~mY~0hNC@9?$OHwFpNz_^g*K zeoP<~XP1174I5JTr4xf{6~!jl+nB2^5A8TtzE7}58Kc=9+Q-tuYGYIs&lA`r(rrDv zgPMqQC(QF4ow@)%+ChsC{O<6(^8E<8|0LK2MF!uGV%=9a!XM1WcgbX#CIw60 zoTtu6|ED7rqmR6Goa`XbC6;zc!>5fczQMilN=WWlIe9y66cTodB3F6I!(k*Imp^v8 zv3^rvyp$T9G$e3)>sz`$3wZqTKp**YIqEuMzAV7aHb%r!u>XYhWYcjjnye~%fF|D^ z5rX~I8<>uk1FV@O*Njf=;xqDHhJ@C{d2;&v=xzV)hPd3>y|_x$Zeeh}Z7`z@ylN#I z&8WiS=+1#&F}{HZ#hPq5UWif-Rta3rKddIS`U=GX1Yeq7xoL^Dy8d8@&24R?D{j27 zh4lh&IyRR}b2p`gUS(fz3n8=Ke%Y*21brb$#f5teW%fsiBQe-^B8|2b31?v%!}prU zZpG-<0e?Oo*1P{D%3{r{<|1g;GTO$_OJX64G3qlX#s}VTjSIg1PNf9 zD0PJ!PoX7%hjwrEB@e7ZvY9vkp7n{Bs+(tb!UR`&>jf2MsLB4qe@E`;Ed4Xj{6+n3 zI<|Rn^|8G_`cMB261z2gquz;7lH0w0c<K&8P8 z`-kS0dU?w$q-!wwQR#V``ONbw%GYb9&j#aFuD5!?GU4iLzf*D2cW;&Vl=;ehq@!O* zP~K7Qn^1>{a6Gy372IL%r6~-?fdDBM63b6X)QHzdO>fGD49|fV*$lutjT4na_UW_y3e)VI9YlnaN5jIB%f;v<+E0?;Qh3=Byed55(WZy0Qc z@nkjdXcaWAQ!iE}2=*EkyvovokWFheot8NTWD(aWY9(Lhp_3Tg0+Z0gK!e-kJe-JWnT!~vi@p-WT3of z_^CU)*`D=LLgM=m*7#q#Clkp+qxG9COhc)u+xd1G4*dErwCR@UN`@1sVNYhmbbv9Y zfFXoT1bz3O>E5~6!{?q_$qP<>=;&Vqs60W0=@1y8{D?r?41z@6MHSWT+scshV6%bTuVlL1^A~ukwZ& zfBt9R3j5Gf@%+hOuOd(H)!qp=Zv;w0@cOg8dcSUtwb`%LoOXTX*=V@MoB7-wbQKj$ zn5}n$BT*|6bAo{-#8d}@EgkOioAHiro^tt%R8qb&v6+ zgc8?QvhxD8*|m+u)+eWn9v4(7KV=*1L%E{zIC?Ss&2Qmj-1RD(eHy)?Qq>Egf)*N8 zmp=-Hq9oMNDuM9*O8Ql2Wo4^bXnL5D^Ci<-lAI$I?{al}B`CXRY!Ds+zwG$em6g(_ zztOgFgGppY{G!0^#ycCKijm`oAbiXg&A8lP)A7Ae4p7X1Nu-HVJWXZ`28$jKj}XU0 z$CeiHMUwbwlkbX-&!f59dli$AM?%ir;IYJWdpL-sB$LLGb$+rarDsUOI*tL~&3#+@ zZk+N4TF9aE-BRfmlH6D^458xS$;&NQXlWo5lF^!!$~3683+!0IF!7 z1MY`8<4qIM*MFSY5z1YCor2MMnLJ%z7Oj8b*5HfH!Gt+ zTH|fgNU!AUO91W^*w+i?msnaWS}Y_gCX~!8k5(EzRvhILBp59}@tg(Kfk_y_9rZ7d zrMFU97LG*os}W7}R~2=(#>z}1JAJMz3|c_vU3HSAY>j93ie|H>(2KM9gTz>1G0Ozd z!PJ@}Q>{RrM%bt#^V$dhH=$_`A?|1vt33O}ES~Iy!eW@QOI*npmrX#}xN=lt#>si3 zV8kf|9c>&kIN`s%pmfz_8sJ#`CTB+6|2?i7CowvFYIEDN40g%xFU579{OHQUYGn;~ zdUA)^2C33LjsxCwnZniOT@-&n#(7{1%30GWHfMR?Vlxd%P{^!zA#xI^dC9T8X1mxPn|~>+J1q4=M6EJST|>9=w|E0h^J&S!+cbt3+_RcLwXdrI1pb@V$_D)e zfXkW2-yL+Hw*iptxdFK3t#OrST8VT-gwlH?O>VW)*1vv__z_=JEP11YSt0 zQ!uZydXLw-L%@H-ZtZKh;lg=)Q6|9m6W|<=doI69a%}QGG^S1cRY}!=O8drlu@LEY zz9SyZHym_9$IFv}(>W>|`HC4Zbv7t)X-TtQo%p#9Tc`P?J<4rV%EKquJ~F-yNSfHG zmF>uIjx}N9lNj_=;`!y`vf~q;7+)}N8gU8+S)zw7#Lg*rmtDv>hNtKvHSjVf`#$wn5&YmJjMG1BWKa)1 z_K$z@{*yB%=}Ni|6Rpqvr=ZZIGjTs@I>jf!wG|!-zxWsOpGi+040v(a zM~RkAEbZ7%?$c#Iv;$ISLm->H$!Kw5Fv8@qL2qz&VzR+^_*JhjOSr6G%IKA)PAQ!&g2RXST~V`r5hjH;aI#gJkH40jLmC$S`d z+WS}jENkezYp}U?mYNUziTA5#aftWFZq}1fCqzd4`tmV);r}vuA#k}~$|d(83~6xx zQxZS(#e<$>?0rs}{dU|zZ}eT)6(6VfrMiLn$}GytBa4%15URDL9Y$?PDJwZG*&kr9 zg091&XUm8WuH(}t)an0)@orV4UeJpm7Z9i} zEoOt$y!XP7{fqR>6vzkVeBh}G<*($FDH^j0z~-A5sxGE=km24*m?5&A?LBwfD_M#;{Q)qb{>)rsU_61hLxU(l(bEHyl@P(=LUirWJ;ORi zU5y)Ff2wP9^7ph$Fx4mLa4}4Zz7@p5JW{G8en&HX`++^hk3Z7!Ei5bLu9l!jmt|Mn zwqVzPH6u}jz8g`gUjZ^>XGO+lvl1>)sIa}!2emO7E7kZw&CI0G2>kYPQFxG>UUVhm z~-E_>f^1KvVX-BcF+AtrsCo@UddBF^@FwMM=q&KT^W1-1;gTVe4c- zavz!=l!42onE#UZ$c@ktN)0AqDk`QG?Cj_xRz$nSnS;h6OpOvr?C#f&J8hfH+3TkL z_aZ4w&46tIC;+_u;xl~|(#d;Xb69FggQ0&lb@IEe%qIJjeN-D>oyXB{oCNmc+j~tM z(wX6lO{-RE!T@f|oDFLCZ}52F;jP?xd-W@p^L8JnRXJ+8J80PZ%0rEzuG$K|SIc^V z_+N1R&;wzh&d9~DN>}l4D?G0mXc2PcKvp(oX}ac z7O^fyobqG^=;R<{2D}4HC=6pc=(g%X(Hd2bDmQfW&sUfyUVQ?IGw!-7#(ct6bPU+(&wa~v`lLkMuad)`4I|t*g9wE-0LOz$n_L=k8 z0KvMN-%xGJmj;{{ga)fD<(%NMHj_+b9x~(`Pyv1DL516R7?z$VawoY!qm%DjJL$~p z{b=CE%zKNvX;Q041mf+WrP314y=e*-4ydula&QS(eY3wszB@ohKCtqwJ0QD~{rx*& z@YicfWQRT)I9H4hTA%c*v1`(O$^*^iBGeQ{+&65yv(tPT)#DL^e^hv5Jtn_BZ5Dt( z_|gj660AH%J9LK|u~h$Z<$f(RjYE&lP=A{Noma~3qKy=K*K}GwivoS7u40HEe-eo< zj%Y(aW}KXHMTL_wj>Az+TxB`K?EV4>&K52hWBnO3v~agZ+tdXJBIVQPA*ftg6|! z#mvk1S0(&F-AXG}Gc(8U=fC|n0KSH}0g7Gr3JD~;`x6tO2K~+B;YJ@bjQRVobTu+4 zE-@Wvf_7$Wmp&Y4w%2P}T_;y>t>#_62Y;KHz)X#AIX^z2%@n@9wRJLWziaWwLu)N# zoURw;l`7wf?fe9=sVI8Yhm)YffhWfyqpDQzs~01qzsAB}5$sXnH%AWn%1XE-2T_p2 ziww@#c6@TyayZ73N}Q38c>fFv058+21p#&>ryQo$7u)zm1+%?+*~e!Mp+D5yKn&V9 zNxTr<7oj3#25W&(!^>Q)_{ZfVy^e;Nf=sI+ysZ&*@f>0-eH>VGD!)Bm>mGN98j#tK zvB^LA{AIPL15?rG-Ubzp$;J-%CC%v7CS52JNhtMSK{nMi^}YT~EvS4)R`i25r0a1AYk%Z@_^5EzEELlU)w`EW0g<%QlL-Z|{sAef> zu~;|m*5=^;rcJp?yF0A*TEfG`R!-)g8isVo9PBLWt0iV${)N^GxBvn{#u>3$==g?R z4nJ|3~KZbn-Eu+0{8?S{@|i6&X31v682ZyY>}>$7GI<>b9KKam-8f)7PI6 zO5cy1gX2#zNPvk)xJj+QLodE)1;|Dzwe6ib+iC#AiRI2Gyu3+%PM1T{a0&{SM0i=1 zX0wdGVpr2!y3ooYJJi}pSorDUuTamGQZ%f%P(KNSdKiL&qn~moFiLLlN@u4-S%oO) zA3{ZLy;|?@oHffjZ0&TTt~r@idFKOWbUqu>4su~)r*s`4eEQdx)8%g5xB600*z~GP z{dAEM)ziu$x6Ttxm)o|X$N#-ru*skq$k+~(f4=zktTP<5%{@0>ZM&z08IP?(i?4x# zEEWLuY(r#vXz651p&+dn{1g?GI!$JL3RA}A34aQh5>wVgdMtWy<+Co^Fw>qpYy#*3 z1Ozj6Lk$We^ysN#f_`t4{>iXW2)ChV#jUmK#P^9*&86H zTckBWF4PvVw=I|fS)nf#q25)FFdB==w-}Z(R*~B3#Z~;M5@uZ7cJ5wr25;O%<4>h> z=D@k(U%`}4Q8hiAu`s61M$i(mOe60jjHWyC=5|A*On1jvIexdux%|Gdib9<|7R-h_ z$HyEH<&^_>MEDw0J~R*s$UT&^j3T|b2-#|6*D>JD_SE~mCXRyFZqcZ@jG9lZ1Xc*5 zegM{j+8G|?L)~@5(-_kSZ10HKy~`r!us&OGvLNC5mJ07wL%R~?$qdw8OuP38E&0XM zeAil^v&^2OkD~RDPj`bW`;Wic&qZgA=q9EvDHkRC4!N=VtfpSIPcD*L> ziaPM=1L`2Vft?B5M3jE?LWu?(q^YLUSu7_WuBuCw?<532?WbS53 zhMxDwt1;aZX@}z7-V8HJ4{7z$`fg0a$g0mOYd4i8vSSvK4));S+>Yj9^Yd!A{fMJ7 zuyJYaN0lNBLx2-5h0NpjiOxahL_4am{cUNYuR6f<2QE)`tj8T>8_pKoMj@FD$^Iei zHe&D`C@@}QZzeWa`~w@vicG3UVS)-^d!o`8{?egz@9}A8?Ec;K?`kwl!ajDKq%mdl z--&}^-Vcr%xDPBZy@T&`vtc8H#~J|?<^Vc_yX{iI!)>-2fDl1g3cg$5`oz&ssx~|n zm3%$708Y?olzbYyb45`B$F;Kr5b*<@mmVN^m6bxX#S-gryNdwvZcd>%GXIy$h{Pgnc2*R(Jd@t~9S_x@p zo8HPf95jPXL%2f9vdSe1BZ>DcK8=|d&2{G!)w`7TXiEnR-Z`EUF_F9k68g5pw1)I6z z#SM|47jVAxxtnOV5l`{SrQ{geTof>{Ye&@_&dr>#r!k_v_EljWk1}G)Q*~NOyOKNOyNCE!`j>-O@0O zAf3|P-8FPP^M2O)uFs!v-#?t|Txak7+N4hq<(I%T+Zg4bvu|-K-s!w&lclRR=lzXo zdq?44fC1;+tg*`gpU;jQp+P#v%eA_4WyA>+w0%5ny{esNo`{fr(#|zI{_IwuSyVy; zvd?kAVhiSsKR=nXiwg`A5dtGd2)B0r?b{4CBU@$8iSTmh%81{NhLzL>*sSef5zBmo z`;#;4(;vzzRc0KxF-53d72%J` zN^Dd#n2sr_8DI}bA+qeG1dd_}3+0dV=VEr+m~xr5j)G-^DNIix06}wX>M5s z2|n2`OJ)b1Yz}W9a5uJd7DeWBVXmqDMG@@wfMEEEny3-Zx#Osme0l)7lr&tUcY*b_ zlq0WnJzp^mC%Xsg%yFS1Zf$eGe3U3_67P4JRvaUGDnaYZ3x1papOo_hyZx0L+-AJX zCwh-hFs1nMkz|_NR(AsfD=Bu1LSktmV19EFoBsx$b+o^nvwIX9(~cAv1>%gd7GSZz z=GjM_FGVe#23>Q9rT6WYmc=YDjSP!opPJNQQJtK6RlW>>Rvs6nCS}!r+KhoRN@Kwj z_pt5d59QmRx7Y4~CmFHFYq1_!1ok}ff5u|B4DjQu$%{=lbouSn3tT~QZ%A~nZ7XR| z@6u*iMbJ|%abw+Utk!@Fm|`!FMi3O!N73=-;CUa(#O87KN$ae>Es? z5Jn%!Vo{1=rm(<+e;r<=0%P^Kt`hfx0*A@pm#<6*jqc>sQg$_KaK9p{G~%QNSRBZg zvj>s~uMt}#l6$U(`eY_SHAgSKdme<%4*YU%{tgp^))^Wr?C)7QJ3;St(572dBc#b6 zb zS8sKWc&80D*_ax`Q#z^7IGI>i?T7hMEeyrCp_uFe6@~Q~P|{~U=#KYMW`RW1fB1XU zl!ANB4n!1dBS7Dc@5ojPxj%$Pq<`*3xW7IIx06qn&WD*tDJ8AnhWxN@h;M9CdD`CY z#+j#$seJlM^=_ECzi0KgfGFv(qtLhGu@0*Md!|uTN5&%OQ|S-yiX3%Umd(FjFSeWT zh<9VwW%1_4>@GI`GPFPT-;R7nq=%dQ))NhsNT?SJ#uASLULS_TemC@zWZ>A&|8@&8 zPb>(Q!>O5#vG3Ww1Bcg~yF6S__xA$Jk2xk{yiM*;Xyf;}(u5CDCqNib!XF=tBY+PZ zt5N`Y1_{Ij?#CZSk8V1j-IwuZJ2Bk)?_3JU%bD{SS-7h^&4zn7Ku%U)Xmt&{W>B5Y z^sIB}Gr0oj3%LY&%sC7gzTuvY0(?16H0R}XFAivX4~&k!P7oq(*u^;#_OzUIPX)sN zMtLXs1onKh-)q+rau^!2v^SkNTX%48f#eD-oem9}M^mgW!Y0SS{jg1<;I@H3h@oK?-ti8E** z0I;r&3l`~2kY#Iqa5$aq&^xNtc?moXQTdX)gGWC<=5JwFcIO#!zSJn0=@$FZt=c80 zPsj*(FtjdbF_6YLxX%|AxS<-w$r=m{FDAQ`(2kGKkP*iefWet)Q_dPjGsf|ZDQhpU zjtJsQVL&_yc~qj82w$0l$vfH=UN>8Uva0OagW5C$%@rbXRa`vo$n47AqQfHavuNr3e{m;Ca$1kL4z=f;UsL$4DVR z{x%{(!O!!L)Nkr0MIA^#5E9h^7l*1m=S}eUbO6ysWBCAWfT+VjUmp;gQj8GWA8q4l z2d2UfO_$zZ48Zo&{R!9$S@8@E!}Q-wwRqmzruTM+ZL%>k$)o7}Y!J?nKe}W$8QNq; z*Wt?3YWKuY2_?Dt4B)rr>hBVwsVj4XKr=Cp^KRz&juN((VuAyj-{UQf2EkNYyTl=@ zrAJ)^sy3;y6oo&Qzf*h94#u^pJr+Oc8ZG&pa5tEvWNoF)wVjyXd{ey*^A%#K?f2At z5)nvX?CzV+|EJoqw`&_HU^6-$?j}Dtdho+{L9O>Xr;nHwq6o(xBKR%vlaYzHLgINk z>}AVZXEDqo$bN!OT1dQ4wW2LE-qA+X5h@mSway(-2oPPk2fZZM`QT)uEk4ba!(rUC&8I3bJJtv4hlv#iH1yB={XBikVEEuH)5#WpX#9y zo896_>6xc;?9Um?2EWae#E$Ona;gbTua190F>{vc4SQ zd4oT`>@Oeqy@{3xIuBvuS@MPP`FPufI}WWKN)CRwLJxdVV(MvCa#9~o-#-^rne!#- zz?vbO+~+=z4fq`xL;-jv z;(wtku|t8iHN+g=$D^uu1GdRGBi5!+8?(C*9^Sbhh&>cG%fo=^U~SNgY@iKhrrKsnotORdP7^-%Mp>vJMG45COfW+Hp_nE!P7r+Q zK6O#^$8Pmfc=OS{|3~A&)k<&8r7V-2j$hFJRYF8{#BkbQ3~P1lV7R}>?O|}3e%Rku z5WCFweMNWa75g-H2r^?YktuU zv^MB^KIpn7a9`-{rqT}Ezlr#bcL?7hF4RE-#~8oo-vJ)8Di{9=nuSIAN~|odB3rqR zs0My!Fpy!xkt~s|G4D*^*p?JJ!#CzSJfPfR>2f)W!K2KYvCq|hjcP-HrY_bhQFab> zR{}f^$w=HvOM012nG1!5u3&r&55Nvsx+vRdI^S6xH1(id!Cv~rs$<$Tv$!I>6o$yoUHk!su#!t>GJaILW zAE5~XY+t36bY17_TI575hw>8ju-H|N!*3@G=h}gy%brsTV@eHF-T^~sXb!o5~}Di z#U{?5UXdOHx}mK(ysH?8gWI9Y?|OOTg|EZThjV)`u5d;W*moP(y6yz>ukM)}K*AmK zu`tws&D-4?gO*O(F5O{G@l0Ct7uK9cQ_*Gnt=!gLu97}QVduZ9!LKzx@zLd)r3#GQ zN^<=$$iBN8Ne$t-ZMuB(=u#LQ`o&7>U&PH!yifhYblr3B`tX)#=8#+)hqsKbF|G=f zR6NO`&bA>liJ|`azATuau2fu{orvvA^om}gTri-OCgm)4`XP3HV7^t9!X2K?vCjJAKQP{>x&nZyf*p9 zXr)m*xSWnsp=H>>>jHud$3P1U%|#_pe6tt9f~l1Gfsc%NfzKR)&pJV2`}u+2uP>un zJ-n|jsMq{%h`aCaMTFb^gTcqbJB0g)fANT8M)>~1HJ9KYD=-BS=4A~YB>jtN)kL+t zS%>o1Q}&4Nyr^D(G88cxuJse6^hb8Kq!_9aB1%Ab_71J}*uT$Y9QSOg7*kOIn#%1%k6GEwV(Yj6=LL9S z*s&1K3d$hAmrtRcsktp22>`EgSFweQW+9WRgPV{0k`+|sidrh^K7A9rhOH$Rmec&0o_d7YU=G5|qgevuPVaaazDg)q;)ZT7 zL?yV;0mZ1{-8I9DIHT6CBa|6FaB|x^z@+v3$w4IOcKSO<7Y9zC{=D5i>wEA#A3hPI z(%1gN>aR0=Za>iyv>~)S)v-32&P2X1Es3{B*W-|-+2bT?ct_-$St00ZUci%P`A`Mv zM_~0`(VU~34q!cd{B3r*W4j3Y_4a{JIi#lFj+XoB^m@+wyqeyKPV-TIEM_(k+tc`~ zo|KatF>MYE60bk-Nn%wLR#LsW6&y37fP6zPTzpm*+|VFHyh?_2xkA78#G0s%My(!` zJBFQGsYvr2lw==`GE=@bgdn2CB`cX#!N-f4?w5zJx^KMnSClWCLO4c-H~F%oW>gQV zRO4qF1*T*QAOwgRcC*xzA>#P{W(BrWd&nL^9fzvc)@Z2T|e5 zR>Opl0WA?iGL;w^EG`xQQrn(OZZqTW%EzM$NkuH7aDPtW2)hU7U08j6)8C>2KL*Jq zk7zmP*$2svgi=GsvQ1rm68Nh=xT50t4Do08hK|;x>t(=GLIB^4I3q5jJEH;eeujo* zG~pM|1;LNw^eiJMFXEr(rKJvjkYh1Cbw_A;g5Dt*FYH4)SzPaTU}GK%Ds2q?Y%|N& zKgc>>np~^EOAZXB7y!q0J2xEW)^;}^mcMZ#GlbaG2jbFW$96vsVZSB3?ZcMU*QoA? zY|0m$|8!Qe|3!ELvD9I8tiLoXmDcG%PiG`XZS9N&+16bsdDRj#vE^#7=2Z*iL}cxb z)$h10Fp|704x=bwK7zm_NkjL_$}?M+$bZUj3mv~QesULO(`iXT2itld{QJv=%no2F zoxt{uMY=w`kJeRpyn2->e>6UO?G~!U5!K)6Cy9_a&zMl-D%>mMsk^@GB-Ci&(18?g zA4V5aI{Q#lF#Rko7%p&vCcw`y6m1J{+&&C$%t`9QpjOQvf<_FDY~SCWGbe+`>$J7y zd6xD`5LJ_h@;(hd74opOZQWaA2OQ5ZOz`4&VW1KykV02RxJW#8Yc+?ZnEJ8R{3Fje z4(qE2wdH2pyGpb_QRzeT@4Sr8wStOy3hFhfqq;}rSdTy9{q>)1xWTj1dS3?81V{r) z!X1e%jabp!0SDRpAOSYcd@Yw;K^$*nqYgs(0`)A_M!4^^V?zIWTmRsz(Eg)efpH&z zF*uMENQdz0XV4_s0+Quo9RfUIl-snkH|cmp&Y5V}T}?%kc4XjR+7E78rwaL^Zjq32 zX^&I=^iC;jX=!PH(7$*7(~*S5^Jz+V!hWphcP5+b%s4ZB<5Zi*ZvBa%ju(n^(HH!4 z$McJ6KBvpQX|L8cp^e`x-j`Rj;OAYoZ6eVJgl(Gde^Wth#^AprM78X<9~{@fy~o`F zafQeAzX*!WkksinK8*viTR?!y$Q71ZP6&z*&jW@}E5{DuWk0^)MKgbTk(u0m?7$o<`T3O4_bh-ydjaGb zTbqwIINX*_>rTp!VfKLpa7)V|I6CFcy5I{5;3`3)0m^Dwr+Og%k|iQ-R_M$p+H$Nh zTh}z^frfU6Dpgj4gn+Zd3Ej_$D(LL-_G*(2u0=4dFWm~E{Ze714C905T%)$4Z|LR- z4O%j7T*S}EQ=;d}-37#G7c6nTD+N?Dfr_W)fg8ln)(EUi_rH<5CWJN7pBf;7J^?(_ zJj<486|aE=p92dfUmj7oQhfnOdgIUCxlY{zv6VaQa}8?gIB~U~S({Yw)IS-pDm zW3z~Mlz6FJb{HAf{=v0X3iEX)orA*iaGXwq01RqcPDL@33#AFdcn7JY-VzSoqycd% z1S&;Y20uDPObw)V<^E3ts4Ol@xt?}BSPxtG zya4MC@V(%UT^q?z+l^MS&!U)G^2CGV#j$Y$$^oNY?AYCwi;xcmK!<`D7xj(6CjFzy zKh+inDoidx+72SgTKbg9Hp}NQ?(nMA7AQog-}qy<;0xbVpMpDQ`}IQyX+dN}ITLgN zaPRIwQi=*ojxC(t5tpK3^sjCPcRviNT$H|Difz%0J#w5mo{IyF4Z9!%Y$luOqOZ8d zXSM9^0ll!sGtQAr!QW7BpGfk z6}#lW_Pb*C+ns5i>+;`sxQP?NG@jynD{f<7x6TEF6W|k_jFK9|h26;y5V8H&n2V1k z%I+Fi_$d-vySn<0=g~Ga&V{AIKYe0+nN05_RoV2c`!JVh7GrzNk?1Aqb8 z+Y7AKY^MR~GiT*8y0vRUB0nfsj|(RRUpPE`mS8+x%d3J{Uwg4f{|=j+AA{4)I>PCr z@cHl?cD7n~7$Np%`Le|z)dlrW-baDmFeKl?xo2y8dk?x0!%tIiZY0E`)^Ga&Vhewo zilUzD?aTF)3ip5^)m1Yfe|JKy+_op#XP5gqO%+RGNqaTfW)D{yN<*!fFaV;*{!rO| z$zx%pcW2%_ZfV4fA`7v#E>8JZVko|a4>dwngmkhRJ0YX^F09P{Q6v2P_q|^<_|HNR zQrhR1v>m_qq^w3VvgC;{(Kk`G|KD`sIjCuL+P3eqbwd|;Pe=xBtnoDEAyaQ$w=~`_ zjN&QAIv)NRWZTcml_=Xec6Wrj_~<(mc;1vJhmEvMF?PffkHSA$;vG+vXeDi|@N^Pv z<=LeMV*X`!NC=Ny~S(&Pl8e-2pz(nXQ?qKzjB_IX0S)E(Da~NnYXj`muwqs|A|94g$Z%+{!LEawA&*bjKlay`nKv6a0<)j>VU6igDz&g zik9|XexUK!{ApDInpcE2;5blrv?hJUu-L~)xzgp<&7=?6DP$3_`(lJRnv;eY)eH3U z+M3c6zWEl#1J@?rG5MbQy?PW+wXQPm&vLA`4v~uXk~_mz(cgf15GlfZV87(8vgfK_=x)+r-#) zuB6ocxy}Nbad-E!2*Omt0jqiQfIz0@6izON>H%$P&jb-W)7Hx92aUK!jFg&_4$Bpu zhTdP%O)dC{SCID_T@5@GD!4Tb5X;4mvxzGQ`hMO73cay)PFh={;da}TGWk8L|M``O z{e8%}OS>u+Pt$6x?=kpvn7M=0%xZv28B4niZdS!6mQBLqsRa{A=Z`(>{|+&DnmQ&2uio zjUEvfe9osq@%KAY{H!tF;Yz5os0!o!jAgIhUXbkh+N5abfPlC_Vu+%vxuHc=OGiwcNbYEdmsQ^V4G{2uV>+U?e0=Gevv$6I?|v zZyM=tw#1+jXL}{tUS3lbB}$+OPNJN)7%&E3++-Y38*xqdzPN_%yjFqO?ShxUS<|6l zRIk58!dHr8#GoYSjt?Krgt0FBK_7ufcVeUu!&yMj2sBq@J~`}&d7k!yC{U5Af)V@) z#nj~hEIm$iEm4y{eEiHx`NlslM7E2}%_(C#u!76?yfXC=7&uFkh91m@ z?2|)t@+I*LuDkLA@fZ0@%RK3R*N54s_Ou`Gyz}-44C5rXCom+M1$B`#_(c6wyHiOE zW+eJyxBl(Zv5$`DG{VyjHMm(RKsRc7if}2ypDAR6Q4a{l4TNk|jq=j-^% zrdD_5YC-%fj7g15n^Fwo`+GL4)b;ty0GWH_IzMlgr;3JVz`vr7Tq@@4&lCz+{U5$R z0sOjE*Y^mLyth3z@^8CC=8_{LJg6wC0N{6m!y#dtUMyblx*sJ0f-Fpe4|>UQhKid) ziHl2C5Rn!5jcE@jV&s$Bn!4q44kbMC@M(Wnzzh>0z5~bkIAmDy1mVO; z7eI59liKhMAD*tmOuv}ux`k+waeJWaIMw03m# zj*Vfib@~)h+`|PsVNkn|O{*cG@KW3}W!cl!T)iOQ_wN#Hh0KgDH^liHz8N&}8dR5c zGw87GUx#lJ3K$<3)}}IB1pH*ZR(FVv{N!DA^`cio4}VReH&HsNXLnT=3wDNatC& zZI?E`whTaHh+4tmewg-r+d=+o6)QOs!lT+4Fc1)gumTzs6kWID{#69`E3P!A>&wRt zy0J#|hvJ#k$;Ni@h`I97VorTc41YI21+C)aDsW(1uCu7z=<66AHY7YBmUc3NSv2IZ zOK^eYP!Qv0dLi&2#Edhg!W+Kk|eEp8xhEs?s%W z17|qYkyT|5I(F=g4cX%IN`3k+RpIZIuPZ3~+c`(w>aVxzS}LK0s_6&#-i*KFzg{bb z*TBlYln7aUoJp;wlGCNck*827T~#geRA@(QeWa^SqJAcD)KSAsJtT_1@5Z-`bMf(GyY8>ha?CgQ%|k-;N!pJmoBgykG?)YZC%DEA3q z8_e^q&u4?m#KlOI$&?S13EyiXgRyd>)euNCXp7a<*An&3pD-R=XRd#YebjuR7--7rRL2fb#MO#_ z$6MX5r$jF98|re50=y;ppWYkFA#e z=x~i~lOMqUK`IsC~L~dB4(2u^eXvjZHJ|yGKmQRD$E* zO|+2;h@0k@*T6x^b&Z7EkrPk-{L?>ar%H-%$Mr|s5|#r zk`emfWx2h*A65!F83!LfP!ul7PvO!jwBhU*)w>zZDu;4xWz3Op&2py2H!84gq6}nu z6Z3`S7YRTX=YS@y%n^=0V|g)XbZt3fiJ&9qO=nd5LXzmoJCWPzaI*uge+E4Z+VZ{P zZ=-ONT)XC_K1sma&XKb4E$F1?4%7>ha@nZ)%8IFO{I{t^n+|bw<9#;khXv&sy3AVK zpUgQYJd)LL$kBR zV!!wWl6_W9F-Gxfxti9Sq|Oxk0J4GeRwQwh?&9D~XK&IsnYtpktRSG?I@)n#?OADl z>uI_U7WJ!9o@vcS)4{_Tzl6h zFpo(%-9y&1Nq;(botSt(J;VEVP!RR(e~Ox>MW=&iBHXDAQdR{~gSPD^Ph96bM*6oE*J4dYuz@#GYLA9N1^R z$YYblG%3emqz$Tgg!M`?f0_rVtDusM^09n5{lfjw-k7K;PQauC@V8ctHS=^>GQNP! z-&_$&8Q*Jto^Msr@J#`!T{*R2e+;hm-bk()91`7O7&IeeKfN>8%!QEvnpwPGrt`O8 zVL%F4-8AI}R3+#;tg(re*8i|i;W_V4cu4xmwngxf;q?D z?z^CxR^YjpT1sx3JyA`mDdOPPFsdZ2hu30@PUSevr`JC9-=& zYX3REboy7o>4bt-jAdubceC6X4D{~W`ELu`Jr=06C?7jkylSH1^x4o;?9Ds^zPU28 zPB$S1rY`MjVW(k)jV^C!k(jbvtFH~k=FwK!eoJI+REtbEVwr7%*NmtF)$>)ajT@l@ zE1SM{oauMK8S(9O2#-_dA6-JhfS+R?4nnyCsuqvPY$}Ijm@qXFFU}t^H*$;u#x?%* z$mIs~V|PQ%&;Fj*r~&cJ!R1AApp+^Gfal;%PzsMJ?jI>uRb_--045#h35a?eF09cRP%<$lfv&{sK1tYCkF<3daB(0C^^*>*dG0!Ga|XZ2D3y?6u4Q z>C$O66^RzyVG;a`!fG;K zMe)jl8*elp7Gj5W%g*ZC{DL)u!T))Ao_hE9+JCBPEwVP&Bb`l=^D;~Y+W8gu+lBJ0NBv|ABdy}zY@NyxPXj!T zaCprjV+Tqge2%h}7&Z5?K;d~vpe{!|*W+ez?`8D%C4w@!`n;V~b6a?P&5cfTcfG`q zW|6QYa{ez^7J{@8`S2W0ZI7HET9K}vg#iPjyORYJyw873Ui&Ct#NO`SE<0cu+Wfck zk0U*%Suu`%})l9nkNn&Ozf6Nm93}o6t0nAhP(%VyA|C3WOs&CF@q?ak#6H8qxFiJ$ z9^1UJMc#B6YbcpvLKoX=;sM(mW;dfks`Ip3zf#XGl9ww+xn4R!%N8$6RwHDHLH?qQ zOe>W!Hcs{$7C{V7P4HJqvu!#_vV8~QDwu6gsy-eXS$dI#ld^ZCLorqn&jRtiss-g# zAP;hVc*`&1_Nk$raFTGQ2_CY>lWtx>__c>5E9u_>3Ej{{F(HL>uNMaNT ziuB;}wX?y23ePAtBB9kosZ9ogV*$Zp&$qXP`Cz}OmfH2L)zb4ihD0s-Bxva|(ha;+{h(+2>=N;Qt}wjr zLjU`7;>m*s^9PKv#WlPyKbUP)JFzmS<|G1rbar>->ESQ>@P5tN{bw-{!Y1md`SqOI zmeKCsJnkykBv}fA*2$rGFe0;P%KZY=sPD8vnSJhw_;@>l8`8>J%`g?eCAu+A3r@z) zBlX<)yLu*g?(M|s4#mmNFW9Ih8C{RXQI~Hi7&6LNi^5{>lt@Nm>cHJ3Z(n!8azp8? z+Hmqy|5a;3Jsbf$FAaypXdVHLgeB{~CXUH#CVBhH6jHHm!6O#qeMQ_??O3`thI06T znCB#a0kDdC<7E7+klib|7+-+tjE~nH<-yypcN-^rVAt|h+kRU;O*3U{3Q1|{Ib#Fta?I0|nG@Zid449SK`K zt8EjlpAum*{Ud@}MvEadYAXBa_3O|~U5IlLb?Hk-ok~KKGXMd*;nF}DwLuwg|Afq&%P29zOw zMLRhbZdn10PKbKYWtQ4Cc(isJx>I@2fVT}rcmZHtN!INi%Z#WH1P?L$^V#ET>n_K~ zLVfy)lu2VE?7&#EeVKdRz(q;OysOF|r8$ZM3k{~1WuIqR3!vX%L^D`Bjz;rs<;MUyPc&E;pR08IE{5}z*xbC~r z*gK8%gEA6WG6&WTR`>7izmA6_(;wwwz%iTIJ*sTYkIXc?yegZ(Vw@@ z?Cu7?O2msg_3)3MAWs4{x#7PqDx0kBkj|e@@JgPkP?Au2qE70Z(B@Z*=2Hf%Ts`Rh z+itLYn(-HPub^M*Z+z`*iOuFY=9LlsvlefuCK@XOqLgk-KL`fnP1wTnmb)YA|2^JseLaj6yzlmx+jDI zuRb3_y&)oCUwSO)MxLd8ouqnLy2WCSqvC$uxy8+wA|X zAZF%HKLNL1S`;y{i3PXBLN7EAg~86k`eK+uj~Uhx^2Q%iEdG-ZCf=Hza43sJ7P`GF ziQX^^u+pY7>|f1|#1=($zWiOKOW5C8jB5s&)633BP_165+0|W!U&dbEE(y>3ao2Uz z?Yng>18tU}cCUs03oTmWpVzY`5V_c8F+L@oxP~rSx;lZb5Q0f2Rt*9orgTorGTWE` z&kK;hcT-FX6I+5^e!PR^ekS1nah0@VRXc{$AaJ;;dyv7S61U?Ri4~C2#dfq^2@{`o zjC9_Uu{+z5<q9?^@;n)eSBMZoDCxAwIg0u89d(_a%78!CtzjZ4ehxprxHCrc9r<&NU}|AS%dX;K!}0t^M=V6}d;CVoAse`2^B8TJ}y?kdKIwmn^vgNvhd?RYG3gXg5z= zbO=@V+&1{_5wRzhEhxgh=4wiOTEy!ZYIgBHv`AfWnc*AdSb_QIU5(|~x|jlXz-eQC zQ4~0)HvJKgRyBVzggumVd2(9;m`;}zOvLdsFxvI5j-Sas0?}W_;vFhxp2XV!~$PrnKr$9 ziW2bzt=(B7P0cYKV$_`~4N@2p{!&ZxSYNX+P>CWVg;d^^jFXsic<-{;89rd9o2j!F ze7YtXtqgat7&jGCI~7L>?`-y83Y1R7;ty+p@bmu(A+s}{9r<>N!(?AT!nZUoMWQ8* zzdC63Vk(lv>=Er6y(^Qz%d#NuQATg;P{yzxw-zjI_OH$&^(sTJi-PcB9>CYv`coXj zQaXRC*{!b8{d?8oNh7CWroH!P^#LjX=+X`Q6vtvJ|?q}<63ShJYxZy-fplp2oSg%Xxivpqf zrD617;#cedb7Du48v^2YZJoWN?W1LUBXOM?*Ojsc$zd$TO7X7RiM5M)T>2q(@6D_? zT1WZwtjVzGM@Qa^3*^RJ#RJl~!r9JbP_43vHr$2H^RNzZpUCRMWVP4J1{3<}kW6a^ zKwH!uSCgeu$uI9F;}zl49_f8GzgyOMxtk~|LgN&M<}xB{?@6pUo1p0tU9_pXnw~0} z0Ae|82T+1+9gp&tZBr5Kl1kHVsRIUEu$hA`*rD_H6p?E1Z>xv3;fYgkm$oSyAtuhzh2JnryGsu4YpS_v4?*Nm$zf2FoX;ZQsCz7!2J%a zcNlhb2mVm~;woEu@g%7EQSz32WlmY>FV>dS8nF-DuwmSl!UlF9`zqLEF0^%>sqTnB zbYil5g<*G&ug9;s*7UD2n9bpKS4%|xV@sRM%jt;Lm-DV~73Y}Fi9K$eT|u6e1a|In zD=l4y9peYIW+Ei|d{r`ex!22C`B^J+OyTV(=G|JqoK4}Hl2{sQ(KC6%9p~i`g$hb( zj-x2}^_nCWJAujG%+&f_!fHH+SwCH^)%AY#w&3#1F3xRv&SI;#gU%;zu3H6p29MeT1fhm|2RaY_e!qY_BG1}A-MMV`}Qhq zn?<xuAK~saev&SJ3oSvbktbnDVnc`Fq`vRmp2$0kR&Qx1`hf~KDCH>>K&5atI zAP4k2q4t`uGCn7}C@yG!2#4);KE{7-5e&W<_BT{zq!ZBJg*GFtD!B@&U-s)mVi;*v z+3d!KV}&bAg%B;|_!nkHFj!-Pr(7oqlF{x7+dg0}ohgf0xFOY(NhdPAC-1M96uY6w z<2_2ifV5VDV6)oW&{=SdpA1G=w}$>r=U}6GGBDO$V+4pwFX}uF?2t5vX*(zEeKwIi z(4c?9H4ut2z6p2+*yO6nfH1#^R^g3p(JXy?_>ws&pL`X|(&y8o8Ux(pz@u^C06vhD>Izw1ex%{Xq@p+HF2G;x6yY44w&{NP$ ze)si$&}-NKmsHW^{XW1_B0e5ZU(Or6aYzTb3ZP}w z%%Pu()n5FhSp&5f_GZxIpry~MIE|w1aZTvbBTg+uMtq_Q0Haep`idC6FO4O1Uqubj zQC5eBMeOo~`K$TUd#&Lu`Ppt)!X3!BH(~TRK^@g2Djk06D%-_vGf4ajBM1Xjz@263 zR7DXCXb3d%DA8g_yYqn6CY>K7eSeA0f{qX5t;!lm3{eO7*ZmcJpZ%=d0!2j-4mvD@ zTQ!T^Z2BXV<&-k4hgr-#$LE+CNC2Q)&5FZA`@d7|8+Qu4qNII}$JBeGJOv<5MI06} zw#n&J?&`u42CT{fgR!9Lgx5fBOlQVH-t~I#2K%3ztEk6W+ySk>*C8C`#}LT{fHknP z4$iUOn(Esh_bgB1e$>j4hdq#8QAYVPX}^}_i2MuTL5ILgb73LLkE&c{<%+!W!&Ykl z>qcH-pQSII@RVLLx@FiWYt5W<*CG>mL0+;wFa2 z=BuIwQDAhmEPl4*rp$j(k=qxZcH>~HRrc?=&U$sDTxVxzkQ|N)dRW&k%@Krod$ohK z^W{**#mz0u>YpklFTFYttbu|^Ob|b)2X2e)){ixFN~mt3MPMjjtsC`cC+=yGD*{nuj(MeGo>dk{)cjZkr{BLt3wbefB0?XY4 z2LUt?Fb_Oj)#w3WhyAUI9W%(F^MbIz@$!O*mJ|LEwXP~0u{^}jYGu-kvC{_yzIBD^qr>L&TUTP{YF4sFnhUX2C%1y7T$-WsK3MwiA&v@ zd+jry7$(010^ul8w|`X>rP>u9S1HHkkaoB9%|5q~J-=(Gr$kAgYvAPzpbKBI+O-p% zu%GhLh{JB(Gl75KpDKH0RT~q*&t_rJuXA-WrjZ{qP8>@MUuxC2$-jN({de;$+DA<_ zI)2vjXZpB;KB#jPzy`3X8VT+2K-|Ye5)tQ7N)C@AkAySc_!T5KM`)LD>8PwOw&`$G zn1EhD_Uf-2WUsFp9%LuR$?JL&;n-dJA~`GKG5G8=B(9G zA%eZTWw9&6#dmkL{ec}9BF|&68apqi^(}Ydkm!rcSsr6$Awv~B&+TxRIvxQnD)1nt zZh$PIajgg;uj)Tt?MoP)3I)N6RK})XenjP`3|DF6bgFw^LzJ=oG~veFu+XJfd2+gf z0i`c2wBbhzpCm7eJ-h!5Re;vW9PB>+eh~X>@`0S`mG}^EUW>An6B3bQu1ixuLJ4>V zlmMmp9*NAc>+LynMtm3@_P>AQaoIJmW`iFEq1#M0m@0=$(LQGq4?;~p5$)yqpef_B zFMOJ!a-RP{E8zS?T_V&Qthen8C{MT?KKjNrP@)!cy+T?zr5Am@V>!RSq&AXI_yfW;=2a+rN zp}UYf`3C55{X|g4%u)Mrf;JY$@Ad+XO5FL!@jHjPeIURML~gU>en@UHKt%D>3A9U3 zz9jPhb#)$8yGGij^0;!aZLY?p5&(C#xX;D;UXyL+x35w|%!iVL>JC=31DIh8@|*N> ztB=RH%a_*p{?@NP7eV!RaL`QKUv_@e+B^8nfW#5ZDq3zlkwx{mX%C}S&}UM?dG`sh zwHNs>m%oACGV4%XJ#jbO3QrHfls&~c#!O3%BWX-h?v_yHQA6X>jD2qTdp*qL8r2Gw9k1q{>s?ek1#Dw? z!|DNE{MH}Fy}pAr~ygR$fH-_|NpIzjz1T>JbO^d#ng+7fi96LdQN_U~zbD+^L8 zk|6Eu^57+Q127>r2;n!k(K zqSpt^2lH!?;AUQ`t|?SFBljA)4@|du4u6Bv%(b)VS}#(C1}_V(USPmWqsRS&qE%sp z6>`{vcG=)~!xpQKKG>O5u5_?bR@8b+-_hs5uj#yRsL(V77f-L0>g zy-x2xk?8a}L-i#sr)N`+Kh+mvqC9-KiLvT^#F)+h%KrB$9hWcYjr?YE{=gm(EEg+w zE!VGi$-m6w*5Lk^|McQ6&?Tzo7?CU}=khSSg`XTo?1^vnxx?zPjq0>?pHawo>iDp? zjbYg{skCrPc=H0M1G3`NIJ8y!!83tx*$KA+Ahtc$elr4DqD}%5cJndO4OmalS?nBu zddoPW4SV{5yrl&K`}Q9AK1HWt-b^X(Rap%~79GF?}jXXl=OSBvC za{9`ECV{q$FRT#7q4q^z)DfUm{9=ed!5d%j-E2aHDXFraf}s5mX-dR5tmDWib*~BY zdde#LuoLxy? zb}aHeo*9O-HiW44Ms0LLxZWtS0}U|SFfNLP__+^2dz!8}Ht~ep+e!4b8z+5j!|)#| zukz0s;^9r_Kf6;KZMwVDV2tu|W8_$q?N1QgC4M=o3*p|`m0tS<>4!H-XW{n4 z-FG)Tt;7Gcb_X(_IF^;FfmDP3M%=BDSNk;nwN2 z-#7uO!Nx_oa|({xXJInk!t0p)Yts3?yKnR9;`6HQox*mgixI_m(d5#w4{dvjtK#00 z&Bb-qSN<5nEGMIOA1}Bb4E6Tmm=~3ryM*@g5zz*Ga7hVj&_Y*RHR3`0gkXTyhAckc zq^tfOIAV=O8sQK3MHxnpsDr6eMGKj*ie@0fP!6V`f%vKeQ5F~qXO2{<#X;AZu*inzq zBXaF#*YC;6*fSh0?0D(l(aORPQ}jrEmYauWshNWIOGV*-#itz(+SBI^+6{&1pY7OY z^5UyK5)A`3lIO$(v2mWSay`yaOuxn39vmWVMK75>b0MoyJGgWcd3UXtCr{NXXY-zS3}teo<0j)X9G7x3lNasv^;tsIEp(sRZtDh|>vc zY_pd3;t@urRETyO*6?o3+8PCNI7ZybylL*_Za!e*&4{>YmA=KNtSlI?M=B;4GU3b< zLTyE#@HsY8Pc_=lE%fG#Kib@EE0_ zc0bU*)oz5Rt&qNsl35@9bNbViRkwK#u9+&azT=WfAL*!HCDRUyuQyjgJ#-pcSLx@d zJtaq$(j4j#>#d%GP^2Wkd(Xd}bVZ=*4{sWH@Xwk4U30qQzG=RPC}uGB^3}(3Z2=Odlq~%5a``zP@WH?N@xYxccqLex7yW3JCLAObSZC>Y>y=$GyofUweq)L8};7IDz;SCZeDp?bx>dE~b4aFhcX~)jV5434t zI!Y3CqZSP2@eVNaxoTWC_83xi^OTl;MPv{a3;Lijq1hR|EE~OEX{kBvw&UX$7JQk? zWNFR^Fv^45uFQs>QfWoTH3#;|Z&RayYq3YI^&h-_wt0~|-&EV&9M=GgQA4bi`rn*_ z#vG$axptSRu~ND-F=+#t^QRv}MW@L7cOmCJ6=3gi zl5pKP_Yq;_+X#qOPz&YrYtrjFZxPFOAm~M`p=9)CicbFoBeR!e*B`-+y6K+^g#_J= ztTq$LA7WZjc5eP)aX4T_+)x{0g%Vr1T92YDa4%b8lp;<2NDSVY=c9XoS-5AoT->ck zY*I!N!!7&QW%+)i++)`O{nq7kWK;34K^&}|Si+Izpoba6u#RHNW?_yS-MvSg;*e|? zF~36yy*%MKy0}DpI2i7(zu`yX4i7L68OL{_mmK5Q8u$mzCH~Hyd8AM*#b9H%KtiiO zfZB;vaHhP@93v9HuOsk&h5%pxLT>q=sEb0!uKMSkdXhi-H4>J-@zjZV8h=D- z$KtNU9PuTu1w(;|xMcj9Yk&_{L?z8#HpKVvbyYM|3X14Zdc5D6!l~zXjkHU@<{x}y3g7`JUi$SH}Rp)V0?)X*$o)Ia>biLUdzv;r4txs4d?wc;qn80NoDKTAg6aw{18WFEnOPB>*iD6q zu69Y@QS&Yyz{oGE66?cTtNg9{2>3j}Y)fshQ&`5}cxZg3JChT;oSQ&}Q#sUM3srmq zeFCSxCs(~`bXr2SSa{?uXgU_|=i3{5)vIshKzk~v`{rEr^)k_fZbmpy=CDJi?$tM} zF+mu_7!FSFp}kYp+ibN)6OR7eiO%5jcXnJG6Eg_Sq#ju#V6}pYEq)2y9EWl1=I+G< z_U8LR>lOEZ6L)w()a=~9uhKgFR2JYXZu$Bg(tunZm{_&cIHzTrP9-S8qaHNb$s%^WCK9x7+dn0Ji51N0JVgj6Npj# zvL4qf?_JanbNbSBO!%lYRdwv&pX=q3MW#XIY42xy8}WYr-T58fdV`kJJN`#6)lKTr zu*AjUluIqAlfZ#Of8HY2S7L1kmb|`HD{%8m(ePblKeU>LT&w}Z}9yufJiORv_*@8%zUc~9G6<8GW z841Rha$xLB&=VNN%^v_@`7OaPdx1ut8(Jfsg{ZF0{J?eF;HxHZ`u4w@CqfkIs!Go< zB#06DeEoEk#kDYpqVp@8p8S>C>;2r-#wJbM84-YYPxNpEZy#8+lVCB^yf6cbxAx zM|(HvqrcWhcmN`F!8q$d-43R?tcZdST0VM)mrj0up<1;DI}4RsZHuTKrkj=AYTM-c zOOdUIDvM&*GTd~1)-YeuNz;Os7zFI%w&?CTgr*zU3V$|+e~o2pPvPc6;TlFSE*NJA zc}*h!)H#q8xM4(yYxI23UBsFIAEaG0jW+eXC^1kRcdKaPr4JjR%M?#T__%A7f08sMgQoj%?d> z=FC*!csLi-*-3F>AOD|o`vrAHSoOW9;^ z!T)AtO3Lqv$rChkm)4vuvHH#J$)vFr`}xm42kf$jS*GZH{kMRpv7cAN0XLtY+r3X( zy`RDXw^^Ut@x+74|Cx>Pe*OO>GviIfm^Q!e@6zq{=9)jHbb-3$xvxzoi>62M% zmpkQfcSd<4J}nGeR>3u+E0Ras76q!_zr};ffG@U>u>`fN{Z2`I^x2e{?1jA{uQYA_tvJ63OrCSJw9m6mPM2OwDW zb?wOT^vkhc+_6gb(9Nh_7n>5loT(}5U=@6Nrl`rawsIf662Fde*-AQTowRD8+9Bdt zgh;K}%J|tpjY)zmk(Z{Ca}J)l@-%;c&OF_&Q~X2LT~!%c+kcD-I#cabP+_KMzjk%{ z+FLp`Z3S!fJkX9|ZuhRd@aN?F;c2cIo#egdZ_0;BA00n#|JOiE0q?bs%EmM0b0#=fqQjg z23;zcY@NKMQNw5bKQ92j;m1w-wX-l7+rixJ9l2EdiS5zKJv;dqp*3rLgq9V&F_)R{rG66(N5&zq z$6nD4d9aVlViQpr&BhU4Zk%5@R-##L_lm$VS~qI4|@7B;8CU~o=5&U2t(5}z1qVV&iPLX zfpA?t%k@tf!^(%EIidY;)!#OpE6a7fId|d<4U%YR_>@(v`PKq7OfmGf#42*gDGYBj z8yw1wUQuUyi*OiCKRz-CNu51(9DUjb&d-VL?Jw#W=vC8M;)))#!s`~MGbeEyg6fRU zG!ezatv}JC_h+p0ha9y0bdiwU~IlvmT4=%KY{)AtE>OXGB694y=~goOBY; z`G;GVl5ldY_jLY#?71g;+Zz@hDg|Fnn*n-ihR2=4E1mk6qhW+rHnAP$%X0!9zT``A z4ObIQw&%*bpNdKI1^6{$69n@3=XhNR_?>40ul_;iyI?K4O&$n_Ci;JMdf&|sG)S|p zY`r4T#VOKg(J5s@JJYMb2|C0G5W3s&+utMg(SO;fV%~0bGFpTmZ1zBSqlMWR*@Fkf zrqGfVq76kyV^}_61qqPl&{1lkoRW&U`>V$Md&s?(nU)r;U}e`#I1^4soE7W+2C$;6Ud&+qQOCp#ZcXU7-sz%4B9RKp07))ZCirA?24 z7ZlX0X>nng@6_Q55eF)8#lD7uZ1AuWeGnq2Zp~mhcwPI>Xkl`aaihmCIx9;Tso4t9 z^BZYn=e%s`<_GA=0u4Znv}JQ?h<})#+naq-M2>PiS8=|EF-B`UJ@hPo|6(%7>qiA; zu;+|;R)6bT_if{(4N+jH`%%`8=(0L}yt4Tp@xI0L`jsy8ncwMVTri3x%r1ZCDaF!U z>4D+j*Zt0n>B%-&0#2Xp?y>82&NVVILAL3I3z=x+)?X|jaKXgQKBv&j5tY!#6PAJB z9sGX@>B~PCvmQ{{6B&seiUJqMtJE8^Fi4*ne-NIpt33mX5UQ&B zG{`GQ{z=awUM^w4KQf}}O$BJ39E=@qFH-oW#dnhRk8eMC+BypGCCq{X|GJ+?dv|Eu z7&rHf&QhN1@}8x5N6f_(AZ+_~{tz6?02612i#&t)%je?O)*uzZ!=?mcYwqUF$f&sm z?{b9hu)L{|kACqRrf6T>oI%&Z`FwCuC=oFX0tP}YMI)gnjjNhcAT>}Fp47#ipQsHq zIbt=~&Szxhr?sd;bY8<<=3ZsAeyNt!(;}#T*JG0}^jeY<;{Lt=U#7?5cZxj5Tew^B z>w5OD8xI~At4wRcRcB?Gy|HP*pclTG-G9yLJP7HaB#;QvxYsHs72Jv;M420Kcm9bF zkw8=`+x_j7%nIUTPdDK0KHwSV^9|fSaPA=Nv*n{Goc@1tpgc0a{Yu04$=d(owT-pD z`<0*hG={kyXii9KjLt;Hg@PZDbcXZZ;p>Oz! zz+o5Ie1~4}u4+tyCmN)r+LuERW^j3X$v;9aSd;w-bBE>jP<-K)W*IdH^yx6^K=uJllyWa<+@8_ z9DN{}`cxS{76)x@m6w~P`8^f=&)IXUU6&G2dkAen-69?6ceoK(zObdzDB$!oSyr`N z4>{q8iWP`?!K)8z&$~7O3ycp*5S%e*R{_r7=t4>7PALHx9V&}T^r84{P>S3d0e zjt&laeL|HK48;4p#&SFOM-8m!;4e@$`7E)k4vXj{lEDwmkyATreXU~H?xA7j>-+7K zLg_jjW;hm9{nA)9$q3I#5Wdn?Y0ELlB^+u1@i%%v`okHdMw$S4hu`8uvmU7{Hbzua z3AY1~%ZkTD!bl((Z=N38v-fCj0bq@45lA4hxr#iJ6*kaF4WZ{7(?h#XIvfjst{}w} zyOiR(ofAP`U>Q&-W%f7I8m{#moQ;W|Qmajsq_80K->rj?i4-X}5?rQMr)V}4AE7Bk zr?fBq)A{NE}d1BrT1b*R7kFnGl zJ@~C$TNMX7U~aoTw8nlZ;zg5 z#fy_EIRYhftJrA^gOyUOwYs*(yLGU-2YlB6Zl^*q)r5t6zn z65qcmAZ(7^Pw}Tu4>>-?ZSA3SWQP|TL@;Z|#zMu(REs*?Oy_da@z;asXZ~v-k1?@e z+l4F%YTqFnfh>)0BAUWjXFxX%#nXZTxRN^!=FYEnD3|da5 zLF-UIqd$0d#SLpfp}1z_u8oG+R%$5yj)_`EW+KQ@8 z_Qvo`&io^<_ta7Bukj)81VF#^;;Bx!PJQ6b{kt+R{dL_S;!(zhzfptQEruB!3v*k#ps8|0-y^+8=hM#$ zbglww`Xqoi$C3DJum@mmK=;2^K9BUKkKL_p&$SuGdg4@*kk+WAZ@q@90-VGzKi7~J zAa|#@Z?2!&E9lvskDk0M$ir5|yyqEHPk*b0t>^PeoVC9ZF9-!}urL00A=~TwD$L35 z=u_LqB5e6W8^yxDI?vI8lW%>gcBfz(HQQpZaXwA+HK%~ru;}S!2&Ad*s(NT*6d7-i zNcypf_rfYtk}y)Nxv0Tdoq5d@6ecQwS@pgD@+6#htzB3J+}^9YIZmjb)^NSROCUJ; zH2S2hKhV$)!Eag09jbH|?-FTjTvoL{|1VZ+YE#-x*q~Gg?7Yh^I-@lZ z$89@Qf1YP5z9BakNlIm((kLdzQ_#`Vlb3*WT+L zdM8hmmU^As`wXX83VHBMGu8-p`PX{h9zZ(?`9<#@W7`Okn+`=mxfs-&v9eGh;YkKf z0G**T(CP3EY-1s^>)U`!Yj(wDUS0%rine-_+F}3(buB#TJJLF_FV$NN#(S>S6yn|z z-t8*tU01R1q^AK(ubDeW++sl3l8_C7YZcbNgI<{nPvE*hwIg#R>m=3wrnSf*o?2ir zPKuFe!4$(r_1R_d*gOOS#!W?WsWH=eI`?Y#wPc5M(m^v#Tur=MZ=DYnTA*oHXGQa>~>-JHH30H(kj|W{m z=Dt}ptJ}9+Nl=j-bsEGli?Oi_B&%;?^I!9x7eRom6|1X@l@|IU-fdO=)2a+B_ajj#$R_S#;XNV94{oMhT=|;1)1pKmA=dS z8NG8o~S_Wrc_@2YU2^f|Nv9&qyPP9H20|NJ99Hr7CW zJwQ=$ID)T}(Ma5uUqMCF_tv=A`Lji2Ml86LGEW#-rP*h6u-iKWW(=l-i2!{|2Zli9 z)c7^}jMi{l^T{A7JlT)9a{}9&6;HBXaBBSxus_W-68hHHi8i`@!q++>Enu#w77itq z)VjTi9UjR8J3c%ba|Klm_g!s>;}5TF^#rmJW+0wglv1Il7Ka}zxj8otZM|ibwD*R* zfkv;)W8%hdLQ=x&&TB%g*MA;}kN-VgdGEuVxJ9BECV1rbx0292+4|>BTjF!+e%vhk zdn;_*Kfd<(2gaTA*d5)?yvd)lNOfbw!%myUH-OJokekt4ftN+`LjB|E%uar8q3`yk zeY~TS0N>pvH6xeHz7onKl56Ekn5ZvpEhgWgcv=~3;HWA|ZI_lB2pK3%uH&i=#wUq6 z?t(*ZHM-X`*%fbtlBLu$aS#H=w;MHK@MM9{4c&=u5Da|eET;yf?K39fE%1)xXBxAC z;wXj0^cV-h-U<9N5|wkuMq|!fInH)cLXDzdZ2z5mS3371X+U=-ebDxJ~uC+*~;b?lEp144pMy_bd zraKvZYhds_dff>0*)=nEHLr?ZZ+HyGcQ2cAl|+aC=_D|Da(p!<>Kh%FIMqW!j_TGw zymSWA1d^m(O#=F~l{Hev^y1zM??j*11jPB79RYcs_TVNzug)5maNl<)hAga3Kn+ry>*zShTSfaft@OPyqDMVG%A zvF91|F}r;kYV?|YT;Vp7XAs1I$G69&(*Zk%)3+a?cFH^;(v4O+w+4qj1_>?Jh(cBL zdq0#5zPkZ{0ri=BAhv!APC;jO=Jz}G>4qv&h_nU8k*~$y1wJ!|dumQ+UPtNShWQaq zVXx=xJf04YL0h1pkisgPa2W305;LuoRtwBCRdf_)zgmI$_ z$og4D+gNut0v5<>Al3-ikNVt8>z_ttVz+)+WI|_l0=RBt(0xaAM$s>l{wKboD!8lK z(GF5j97O=dN)M7m@~g%grxnB;dJpzmSH;1H_J-*OaYDPwr zo%6atk5i5Tq)-X)_dXX{$0V}G6jBVzqek(AUOm0T=mOL8_OPh%TRL|<}C1c)}aPM=iql-r$%Et@A)7?428Ms2Yo7EK@tKU92 zz>X>Ippqh&N(cR;26L2fn(T?!kfvSxWe{NrPd3O=_T4Xm}mX$RshlbwT z2yyk~u;Xn`Cq$To)8o)A-my6}? zv}Cstt=u~u6jzIX!LwyE6%+9;kAV$eLl66(B474p#<6kLjTD|;&YSS2x zOD!e-WNU=j*SgL=1qdPUwlT)IeW$ylW7=-cj#}zCqm%cKqy4P8ZnG@K3Al-hlx8K-apX8qy51PL}dYQG(U5YVJ zj1ToDX9)u?e}k-fgsiFg+STSCXw8j%MO<5FN@T$zBk|Kap910rUMze;pu!D8U3=c~ z5AUukkFiixc+YyOCnj^j3_qxytF9a^1W%gl&OfdpODt645!jG zEaBHq>z)>pn0(4bqL+#$1FVE3=cELs*BsBS<;(iDa~4Gkdk6cg(#>Zk|GNQ_?Q^h= zaAO@fv5Zs%cyi}g=;*yrO=_+~)w8L+<*mJD(|L#f-nXANEg?jBaVW=3W>dLWdlT+6 zO?Stx`Te?FdB{|ipE$NpGOZ%d2bMrfvS&HfO)>Xx^ZO?2)A$FXr;jjm%6x;e&N$>WE+lkkIDNeg)eP@Z!F`d zx|G;D^6o$}RjzOt?vY=;@ap5mCHI^LP_@=aNVpT9g^VBABkm;mWd)zUjAgx^f zNnDV{mQ-jmnJqAqs4Ja=O+*gceRdC_{PdUxCMkZH;^G1stc(8McEpT7N91-M-_~2< z#`i1&V>l~Cn{w2pe#QOsIo6vcPul7CgLF5Ty8rOn`1*Jyd*zGK0%LbETJZc~GS_|& z%fo(wPp9?XbR0bVXp-1S^3zaq!q=5;<#fXrgY#y1?l0I?Lv=qPs2V5a`00(GMmTyX zJ8)#oyY+s~^v}2V@-)6OueP$sUY{wa|JE*Wbnp6yU=@ny*$`Z<0T}0L_=5Yt9sF%p z+Vgq`>ftpfY=$#G>1rZ{PvNy2@W@e^kB4{V0P!>D}s;7cd7Ytrf9`r^!e9ZPdv;G zlBeDi(4R(LM-S9#Cot47d>1Wz0FCLIcT=OQK?>R$rSYqcsvvC=eB# zV!YV*vpoD9LYrGQ#YGosu+-IrFxMo~hTfe3;Ku@P4^wo0cgZ0rT z>ACJWzdd=6Uw1)?8XyI=sR&$u1D7ok=~Ko|koL7|h)sbP|J?bsvRp#Oe>V*lRqZoM zL-O^qsr5O*+&zV_+>w!G0ya1iAvMr57&E!^ZrPYJt6BODF@CcS4NEo)-S5Y)H>}|E zgRu~!wiXn)hh)0Sd$8+d8>zh0YZ%6snXFH9rsAE{o2gE+MR^sbM+FqS!Ads_1u)#C z1vy-95Dae1F%v(1Yy~`bJNV!JFFo9u`hUB3gzFUKruZnPHPlS$u_gRgQ8ZXIvA&Y}G0bi-1Vv|^ zq<}8pS@*TNJ_E;h?~}wT_f$CKTdu81-8Z0%mP~IgMZ~ujhUhxSx4WzRt3B5$ez-XJ zFi}2yZfW*gfjaNtT}`1@lvj8X-7|s~QqJ!?f35cf%u@!Ky*JuPa`=ZJP6;j(+y(MNggYG?pG@j<9+MpxPMy?!}?cH9hnF^HiY zuQH-$g2#e-arKKA{S9p+@LZnDkpUT0cV3(@k?@WQwx<#C*G86RZ-=2pO=o-cb`!&B zEBkv%qvm)q#&rD1FPx{qK89wh5Y`Z8&%G#^rhj+jXEvZ_Y+Z^EtJy)kf~Z396f{u@ z)v*xcRyZ0a3bT%{At7$O6Ba_F^#*}B3r?ZW9<-J(4UKT!k6s~%oWj@b#g>pp=#BBE zP}GtTn-<+zXwvXh`AjGwXJ|k)?52}54|FhGq*KrE9S!A_H3wC=1L_%)CoCAnyX`b* ztLXo9b=U>8EJ!V>qP>T%-X^ak@8uCu#_11T1}ge3Xfy!%Q?dj~C4h0VFH!eM<+dt5 zPJgc&OU@vbyKum$J~%3f>Gbd7#(bOf#IWt#1N*xB2}h!6A_iJo6|y~*5Q&4Rh!M6R zqj}feuedQ-AX)%{q@TK8XZqiTSDh2Q)KNGIJd2Sqdbw>mkDMC7l*P z_3gNsvF;bXFvC5Yx8~;80dDAe_`btu?&q+vl^FX=t@~MrYb(5?WJp0xwUl&L+}GcT zlm6%eYj#i{R74~aG7~bqsdXihW@pr?^8IaByen5uySUg=&EEzG&^4yhKPvWB4J%Vn zbc&LQ(EgtnpkTib!+0`gZmf-;$@B37`oEe3A-`AX(r4lNM~iPsl(OE-r564YW@Z)| zZf?^PxwSv_nI4!OBR!&&J=Lz%WY7@(QR-2Ae}hQdm(i3%Q1<9?v`jsCVJtco zde7LtmzoC(nlDFMKK+!?`Q*9@tMiLoLU&EJ!_>{q%Ays8wx-4apk486s61QIRmTw}ydenUN!@^un?O&nb7;_>+WQx=yU*i+T~y!W%e@Ww60W`H z^vbqz(Egth`4c?P9>_Z#IJMF2V}g2}tL->Cw(WhcP$JE8Eguic1?f5x*ZL zQ@#Od8&w%E1>Glvpi44uuhC1z){}V`#n#9^mERcVOQkyX#91Vd$pS zN$eUNOYdiq;5HujFder0f zip|Z<4W{2UP$v(}pd58DT`y)!EopHD>cnpU`}8KYL3%(Qa$NE~n7F@(k}W)Rmx>jd z7FP1FeQdmW&~X;f9q872;~V#TxWghkAOS>t$e;5u-{&ReDhbfb5kLj3_ef8#zfsZ%)d@xWWNEVN% zGNnX=Kp93%L6Dz03N6HtntS|?;*msHv-_h)A)eMMZhRANip}O;kZU($J(Q4ztwTMK3qdr{*&G@qMsnD{W#SGiZ>3rjJ5vAmP&vjLn%F(Gw_a)X%j74` z`LxK#NDLL*0q;=(;M$Kko;@zP*qtjQ^t(usRO##)wPe&fIw9?rpdjgZW)L1KA44%{ zPlGPT!OQ=wE{py^3gEj|O}KZ8NhmMz(r)Ax`Q5%|y&Q$(O7g zPxE0%{qQ)vVED?ly5c!)bWOb!M#yePe$BLu>r+KLU~_KrgSTGc;R*#@9n`} z85mc;+98c_nJ?g={r4viT#+yt!pYbov~o)?Jvm@6KC#AzT(C?Gnm8^cqqMO$$G%-= zW0IEuak6s)(65`vejYD}JV`k*Z0VrdiPtP&jMZWA5=CFD6zG_uq^^7N-A;TFLlMtx zXl*GH!h!*jdmssq}pdh5iQM?+(B8Bxw^96fkoVwm@8- zTWSackNR){5v&xDPZr=SBFE)RH1e%iq@inwcZ0Rj)3ct?s zAwE{{mF&{e!a!!)E-64W&Cpm z-G}cNYXZj5EypjL30Bd#h615zh>o4Y89%m(HMMcA_tHQa*pxiADt3q&G~lWsD?XP< zU6j&Ea0bTAzld^56lcZ4(1K!$qK-^viT%%Ci47Y++n(*IW;E`dH7= zvNmg|7w#r6P5w&{vr%ym;Extjd$ThAqV5KH-&nk%qd4LZLnK^tShQNZ`hrm8{;l`B z^R{*=tm3;7Bw{+C=b_tLc=eF9+WIHq$`x9MgXS<48TvrI8k)#%2dikXPk+6<-M2N} zOn}*W6jj{=Z%m;go4&c0xaUKfc{pdD%Uk??NBOSZsueCn(jPaws z6J*x0ZS=A5CO~oy15y1qUE%;K!5$6c0AVR=`T zF=M=loN{W-rNd}>1FxWs%*U=Cq(14Zy&2v_>li~u%2&q_$zxL6A*7l-;em@2c$`i~ z-_78R>w|lnw>xkRVl4y2<~D%Ebnd=w)wYfx8rC-l@Wdd9r(EJq=e<~U`s3LdEdvRz zpc6mcRk-$ayunC+e%dEfDc2S!$5+_eaMsU@ik;#%P;J-o2Z^nGT!ex~fYws=Q(`m9 zsoizl>lA!bY0F^puY83$tjyYd-I`VP)lk6viKLT01XuH0lbwB%c-C&vanFm(N$&M^ zOOHhQsi8A>^ycbI^1HZJ9v5i|=6bV$olm$6#7E;u!xUOyj2EBDckHuApGa7tIEb5) zpJrwNZLtJ#1D5(g48!6=Kl9gW;h|7xA7ZtW(^1@#i}FMAt99AUeeY)JrgUyJa;0hy z$UbSelU8SZNADgy^k*&*0DdbpxvO^q!QR0E+|ESb1COzQ%?Up6H|Ga4t^Df`M$KP!yzs4sD=v3-mMX#y z-j{TBbSK2m4-ad`K&C6h^6h=dzwpQ`^F&Inoee+v_A&D>nO;1#f0dmrEhwSf2{(ay zTqxQb)Os&Hv-cjKhie6=EMF%lUwsxo`_|UXJs0D0Ybv=tce9Kjvk&_KD@)J`F1X%6 zYC{8qt(8WbuBRg?ut&{QptEPly%7u0=&{1Q-Tg&-X1;w-AxRTY1CmE!E@qdK)>V82 zQ0?`dMF|5OcSed^m4boAMRv?ha`@AyI^qN*59nIN-VXo0gaPlDbD#GARbp zKJW0N*+2jlm7g>8Nhl3W_FUkZ_KY;c-Y-f+bdepk7+aWXe%Z!~hE@Tig*@2%QfK$X6(qqE*0!hkJUFC6)wK;X>X& zSAVxF{ri*urA^LRi7j$c}+~n!ksf)-}RCX&Z&vq zDn6;lhLMiGo4ue*Pwh+S;$v!lZ08dsWJKoQ;}1%9>Q#77Y06!h+)X|#RrA7RH+>$z zQ~y6FQ)A196@4dd3~IG0m+_3WCM2?zdKl$a=i2kv3wWGy%Dlt(d@Uq&i%Sfo?1YI&1h|UY$BqMs>)otEBUN_7e5|Lsvto?khd1#{4iV}Dx;Ya(yUcGef$#| zYuwCvTZO_7c3G!{qqZbll=8>pn4WY~HRugp80~t8uLG+O6zbzFjBKoL^1IoYy zqM^l%K$q0rpSa@x;A7alt>k#)h>QR8awi0(E_))ydbePv!rH<~L>V8!v-MSh6r!W1 zGIu;%O+Q7d|1RT1@V5$56W6Yly_SSDrFC5tjW6lnGHExL^WutM=aYRD(N~!Fcquh7 zC-1V~70n}(N0_t8lPK|MC0UXM1tfXxpG?@)(%w{TH~@yt)GAzydFW7ZKg_6@kB65F z%VazCnkV=Dl==0w#`KyBj5X>DsM&%Y6-CpA7~S~Cxeuu6_nFG0D=%$ea^sM2UL#{Y zxFQcPej!9Fo@U|cpSmRnW=0~>Ig?F_EY#?=cA($5C`~Bv`j+=J3Eemx=fK~(;SaY= z4$^b=;w)t)Q#6a_2q(JWcPj9z#=Q z#x>~=|3!<)8Dh0M;(Y(Mz{k8sZPysV_iL_j&&EQbl{LLr+=%c1@A5$!{PB?;HoAVF zwmPtWb8&BYLjFQJ;SAdHMASY=5E)p~;ui?$8K5Q+9#~ii<*SiVGiJ>E0j?~U`J|8! z38Sn%(J6&kj`%~?$1qi~0msw&NQ@>(j=p|V#*v)ha^X&DI<7arg zt?F+T=yNDH$nD0|CutMCMz2%nSDaEl8>hA?grKM+{2AkSU{>J!$V)0h(eg`Jhfh&B z4==Y7P>?F%f6;L>Y|=}2_pWx%Upl=8@6r-boE3dPoT>q1?LvDZ{7JZ$-d4qWJ)>}G zZo~F&`Ob0P*KV;cEtk*AzioX+Cg7X9eSo*lRzw2*WZXC75lMp1E1N@v8^|csiY0%T zn^ajOLQE@ceSGCKNKTk6g-eYwlyzeSAW1KRUoXB9olP=mP)I_7Pf!M`8?PBNkYBs<(y0R(68)_|FMwCoL*;}h z*?G0Mr;X3u)qTx(D=oF=q|dyiwmxooi3biEzgxBCP#?a(2)H;9u->UhibM(In!lph z1q#k`ZJh$2R>k=8sP|IC)3SBmFJ3QS-+%vFU6lKFJb>A_-~2Ety<{37aP{yC@E!7* zR1|6X{B>PdKZ2D3kI#DoRE;;rty{6LTaRm7wsZ3G3Ot<7`ya)#tLx7UZ7;jmrdQ-d zHCl%n2&jDHfD5u-ylVj~PCN)B_9`<5V|r#CfhWM6xg)0y`Z{IutLG^#_n^9nDM~kJ zsGI!`Q!`)?5j8k_#39K*>sX^uy?Ru=2fG2c=@B<`Z}9YC0Y<(bb%+*etmW=(bpfBi zG(C)mSKWUXD9a?2Mv{sIw$n+hKm~1a7thmvN=a_>y6xAu}$Dm}>oa)rwzMR zWplf+RUag919ewz;X1a9MOI&C_!44GX3x2TY}6k7R^U9div$aT(G=zgo7{TC#4+W9 z6W@+eLDRjD3t^P%Z}fT^xp{nPMXW01afX5klyGsVBLoTWAnL+fBEHLMh?fc4uliO% z3#N7_Rju||(sFW_0yAJ?*+^tA8IbKjcGX4&j?sH?+fgQ8i1)r|d+-0_=_}i!;KFrh z=uYXOK|;EuyOBnaZjkP-K~PeVXbF9clvo`@rKHN z2N<{FW%#s?ni$QeVjz@lOs0&0ox_4_y#rmXk|$dW4NF%72~CoPNq5dXu+Q#?HAt>) z-^}028l@xyl_#`{dCd@0Iq0L4m6DL8=XSBGX*09oxvJM#O9y@xtUTp37RJv3HG?)~ zkECi@k8t5-3shCR%J^lcrK$>S=qOY-DY)Ss6A%*hu{VZygS zr@sSKew5I|6T;4ItIA0!k-Z^}aCH*y_;B1d=TB?fju!_pW5H`oZ3^PKbtzHG40Fv- z#v0Q4m|fkRv*hn^%P$&Ws>Je{R)xUv&9SB#R>Q_hrdDB%I|dx%PB{j@u6l(lflp;I z+F1wA_iJz=$i@Fqb^u22S;F-Dj>Ef7f3G?^x30pfzrWcp`n_D7dtKh0+r6Awi}eeu zZnZ$DO>QtwQ04ghj&LRMfo0B;&6Qfq_PXCXTPC)ER zhYSC(t{PQ6B|+&@KPOQEJw0?K9AosWCR49!O{sk1-1dpj49Y;Q7XbmiPSt@ugfHqF z8gSWkKPyT+5%!Nl#3NObe}>K2D6yu9o61-;58;9&pX^K1vI`q`L-Mf3KoN9g7s_v2 z_EVK-Ps?8o;i>Az4i(Lt*Gf}_gt@!ihr%r2U5t9|6zkvE@b44G$vmW}dU2Nx(2|`Nu0n`B} z-AQ(WoXx!8NtIf3lmU%B?HH9Ao(+3_Yc<-S4SY9dGIFnd$}+vB=v4LC@yAIy}PjHFme_gqd#2o@Oe@ei#83s zo5`ArTu0z5VGXQ#`gF0z*{@wy)=#0BcV9sPwChJx&S!A24Vc#k`%xWEaol}e<*VZ}9I!BgtqTD#5SyqG} znt)tG2JmN>X_PX0=QsgcL>6CUeq<=QXFIu3;1!+@%ueLk9B#6Zw5-@M><__FEQjUDxJjAWZc7)3~%nHR|8 z4rpsiOGIZWqHC7ABVvhI87)#ebe5d_HG+mUwQuAW(a=Oh*R8#0OV(LE8fa%r#KpWI z=UuLZ-Wnt82A?$Xcw3%2+QgP~qoMh49c_gxx7W>H$8PkmrFYpRseWN{Y~htxCBxa} zzCt@x#_wFN_V2YRwRMXdSChuaNBM(t*{fC!;Y3CP8j_nkM^dniB>LFS88A%Jt)*j* z%*4eoh@0`Ki%$hPc$ByCeust=b2&|_C%75A!e9R=WjjTN2mcDF@m}`jFC{9~E($2` zf+4i|&(0o(<(X;bLM8X^Qxg{UWMKvCR=qgO1^|=+d`XnF#KM5sOnv3t3Rg^G=ZV4( zGsnYrkST11nz#VLQQ`D4vaWyf?X&5YelQ297OqB(K-_TD;SKNe&y0}V@`?G|xsHG9 zA4&lMhXVr1+^d@-Y}&%KVpDs6cPb8^YBbBrj{c)oMP~Pgj)xd&<6N zu27`M@8?8*Sij+M+sj)<6A92_wE%_iqvS@yk|?(?ta z6h7jVGW$L7gg{GmFaO<=V-xYm6{yOY`?PyX3ss$_S_+^$R&Kb-eHHMa@vcizjIV0! zAX@{BEgR#EWmjJujm%*9`G!??k^2ev2sz9Yhf;IX!xkA?attzPqxW0v6WUfL_irv& zU=la;yUsOHE5Y#_y;|WqDfAK@K(?$unH;K#sW|_#oZA3;1fL_Sx3qN=m@>gkhej|( zI6^tsiC=*}TgNpNY zaP|4Gs?gFY`P6Y`tw|Z*10P%w3Q{g?l?DUAqGXVfU@$(?{rq*ShU~=$ZR1bW1C)6A zH3$Gm%v#CjRkx32k>K#fqV;l{B4NPK8;MqO+?iL8agXu>1kt{@_6!=?-EJlf<$JAp z{*d#xD_yI!+P}`=z`y-*Nefya;L#Nz>J~K(-eiO; z%1l{0uR7$K+yLdsjNN1#2hYhCh|x;Rr?P`URZ?`MnX@LR54Q-&St#guDs)tP3=nWZ z^sy#1o)}Mmt~iZ4o!MVA$g4^DqOFj(>S~(>g011Wa0m6lu_h=-rlJ=v-uGB8x?AnI zFaUk`0I!R(JEH2}hG(X^P#?)CSN^H6QO5%@5vfQR4sHs`+d_zNk6#`oz!ezQ%X;^0 zu1Jdu$52W>q_Behh#%ut0KL)nZ5DTCBa69i7MQ>x`k)+`s92XdhB1RUHk9>CI>WP> z8>C=pL-=8vT z(FFWON!F4mb*f}vH%6UM#TAlN$Wj@S64lv?Rmw4AnI~-3~iW;3^Ym?WJdgNmf;)2kfh}?_(6>FT|vnB4z|sAZid> zvmesNJ97FnZD=Pcok@mE0GGw`zPAq~Q_N+Y>jf-H>JJOP zVZ#FZ2>VDQ+@V4;R+oQx#nix6UYL-2j_TBx(1>>sIZ4~$VB(&$t*9z$SA_mgUg<$; zSqZc~#X|~+X=7RV^jk@JfUcny5zybKaee>Cd7X!yD0WyNPT~x2<`6Y56&-I`5h5Cl z+}6<%>UcRK>AKG*^7ibU#ec(a2JnM>Lx&2W#9MfkH_8;wgbs=I=4kTbE>zOeEY$Dy z(5U}Vn?wLV!QJSW$dD6r$swIx_bj`Gau@!T!_w6dHlOjI^-xz zX_~a)R>TDeLxg_U6xC>Na<__RA)(IM%=`R)0>PTqiUFe=UPrKk|EBzhn$ z(>W24oUL{&^Ud9>6Fhd~uDPmkJ) zT?+m7l{XEVS4}FPnNqZOPRj#JJ9%QIfI4aQ%-pBmH8gUgGS5CwhIR z$-ZMXwJbTh#MAtZfU>SqzjIGJn$QrI8$)MMD?jSQ<3I~# zjRGBOiWN$Gz26IoqjzJnC-P*h)--XfiRW|Z41lGj!FKS=pjX(YzFLX`+s{8X{4em{ zJ-@$*8w~AorI2^`dMtsFK-gRQWI*WCqbSvE>nTO$mkmuPPlGa=99Aa)U@^;IR9)(J zLgBCQCOdv4{fZIaf&;&q7cRk+SD$GH2YKug<$qQgv$MG-&OM&%zC>n$0Kr%L_&~u; z`dx!XFM*M4=+;mviZ>yF{K`Cklg^Jo+y*6&=Q)(cSHj{?T;Dv8{9(ac$aH^CjbquQ#|$F)g9P*lQ%tsm4DigZedJO zR<8mjYa~A1{KES8sBUjw=yKiQd}Z^G*OjRPhRK_6Xi3gZ1nC!JQ`dPjpNekt{ZnM< z%<}pd2^Mn$O}NH1U(1ATi)=m;@Jprw3CrZq9L|$HOR#DSo=YjL8d8K1&?4IKND-NH^KfEQ0t+ zO`MX~;c#Zl!Rei$T43tvO(y=?!K>yx@~<00V9t-!si6M;DKN&xzJO= zI4=O5!;@8WuN-ASsA|_Ws_5gMIc!rTg*tAS#o$X)g??pV4xSkOGLW}RkTcW%%?^9#|!b`1xyzNw|s(woO%07M~dn6Q3IG_stWc#GWT~}SaqM#_qjzw24 zXm~2_u&=UDZ}G!~ZWpSj(s&ONl3R)Q@!e1w2ZFzK&vnm(J6LkRSSm>BH}>v@y2Z=& zk&NsC65OjfW%BEyJ}odUJGTQ5{jMs2H~At*a3Wv6b^M4zyXqt<(-DN!)2@Mwae2Wt z2!X?1NE_UcWC7`iX!z`K4Kj_7!v&jrD7eGmm^KHntVcL?l|wEdAVZ#0#v;*MlJp0E6MG(UQFKE4)GzE`ZX;g8V1M+OM(x2=04te|(VxTJ-DR@Q<)m6Ih)m z3}rChfdy-gnJO?@d|yQEPITwTaPH&3Ygu#nJ1sYPDYWSqQBe_P5$=UTWdz9S;RM7D z6_`XYk0%{2ic=eO~k3$u-~d?c4Ke|_+Kk)acj(%8hm++i47 zqke3)#rCNTV_RsDW^&m2*7Zk@vb%5omSEr<=~{Rf*60qG8+1n!__Ry8J8Jxj_MA!9 zM?8Hm!saDp;Lx-bQz)A^$rPt^9wp;9@>;w%vGVZ{BUFZzv1aM|EG{^r?>!me(B2?eu{`=F}}|RlZOi8lx`}^KW6U(%IaLT6br8w z?1=bct5!@qhTRVp!$dzYYERZ2E|SKJrHTvK6rO)}==3z~;f{K0x&OSPGb`g;_=&8Q)inSEsItEX!KEPYFxu*nEx2=qHf++4 zahLQ0H}0u6nPTCF@Ii?e%W&?q=D|K9#Xh>HVt;;K^}w@L3n6cfUMD;o)-w;vS4Xgc71)lrQ&siNE9XXT}F9R6jdoaJ~b|rMGIfM~L z92yLhq=;2^El>35il_et(5%gWTiCD;syb8p8LdB;*G+`*&nqvhJ~y|J%*#>CUU5_h z3O845EtKlcT(NiNyrH>r_%|I&sjmmvJn;$;A)L~wzVMV|8{HHU-warse_pc{&Ik-Y zP&n>{lPVoOE)r=Fah8URyh;8Rv5Y^Ahx6BIK(okus|rHJ2OjMa0# zWgU?ERXj#-oJKCzZW_(ycVbRN1#_WE;H(*yD55c}rm_J)Gm2tmIz+la$$R;f*jG(n z^VU-o_<#q_B!GMzXR6!eQJCwtMBRcAfG6t;!gDk)r1+@mzjK1Ad{dDJxFpj{f^H45 zUGaoI$_}`gf?_3Tps=V>1ui*qEc_B0H!ZkaWbJ9aP?bX9U#~`<)Wx)OKTjOlg4JWw zkE+B-lAAEUq_8m(|HnKMZgV5JyD(Iz%?*=`16#2s&d4z|;f7veA1GBabo?!q#6%#H zW)&A`q_7|)x#<(V8@IxX0ne9-*>MkuyYssCB9A>eggH%@RCf-AK$bbW4*y7daveaY z^QrqgbV~1#KcfQ-ckFDDomC3Ro{TgAvAf~p{ATUbi~WR!D|FdzzWg!x*%{+>(k57( zrL3Y8X@`Iqt8Og5hwn^-0DrzsyVv|3Zk8S;hp?qnhyI{w4)F<=_Qr)Zi8RX zSr2?vMq-&XOyd(x659HTH5pv>7)vY2eeov(xb|)X(l2V9&j13wstXuVK}z(ma~&2k zWg15jJg>P@XM#7JW++nHpKkj!8Z^bOLwC2q`l_yVC4x+AHinOVnaMLI`l9XjK77(S zX#@EC`QR>L$x_VGdy=gc=xE}w!m!YC*TLJ~l&0^el8d{io1dgA<7kU-fd@XxreZ?1 z!%1q+kw%sSI+9B4{nk}t)_aaL=+y&H`{z_! znoREr>#6a2kXcZ9b?JetBij^Fc2%BFiOg30yEX&}&)Yhyq{)Lzn2T4$ z_70w**v2{(+h~N7`7l|0!+gnp>Yic?g@!N=d^%U#3BjgqYA3I*u6FkE_&(l`=)Xzp z3^|toLnBWg;Yy_WV43D5ekN2U<38yI<@`a@xa(9s1P05DnzhP%21cpRQ+uE zPTF;b;G*3xmQ>8)lhDTHXxk|swFGJ1=_9oWr^8OsafJD#`~o#DIPEQg9fYNkO}Ra9 zJwfd8F1_f;rb6DY2S3*Z;BU(c1!Seo;vLLznyT(Y0Cmy(6ZD=QshR|N1o|`@>EWk$ zI_<>P1Dy$}AZA)`Pj{-~)$N@(VbZ3_N*|>YczEe$a2rx@zUx=Jse`^KbTLDREtQ72 zXY<=C<0QxGvM?6QCXu+4CtRI#Wu~Jg&`u@pHqW^?`kp!BC5d-UID{wzr2+LskyL`g zineu+{qu3YvdnU{)J%|l;5&dcoyn>=ovV<-JN1ab@+(c(Z*kH_ArJ`>;+SkOO*o*0 zZZhMODLO|j<6*yqM$wvQM&0`mpv8q$cp4VE;~jE`4-A!u>DY8?x?m-~a%yU(heE%l zcCbyS8GnIbQI^#;UJnoZZZ8w}MmtwmlE>_D9Y-G^1;{8S%E9ClUs>Ud9yPYp$`*Z; zkt^?)p%(6inIaV|875RJ10zzPb#!^~7)-tvHi7Ii7cb3(B+!xuq~=8E6EHI?U-iM> zyeIyFyK7b0_8A*0FrAJKG>k^+>g^ayqZYT-wl-RjqW|kP*BXJvG*aXRXjM7XwX7rV zQR#`IgAgUY03&ux6RL-HIE!^@zDak;v=-01x-f#Ij_-M}i_|UY6Pyu>5!wB9j1azE z;|)7#uVB-KO?$SZ8yFk!_Ky;^w5;Vr{XSiX8o%CHKfKgWUe@QnysPPY!Grx?O$Ipb zT8QP&1~B2o6O z^dW=1`@2Hb{A`Us%s#d*xs6JFh_4`)LYSkI}ORy@g_ zuiutjFVeLVSK(_d?>`lp-+140l35Xzb{<2kJbodt0)<*8x?u_E$EYbJRhi-Z<7 z%_kX_;e!Pei%%Pe$^|szg}ny2kXfQ+5@%8Va+d1V+&jt&;@ey!&hk-u`=yK$b^x$>HKfI8uTBgE3s`Rvv$Yin>-nw2UGD~_Q z?q&r4fSv{+jJR_qvoCbAu5-#k9y!Vli6QCS;23GB2{kN(vVKK=ZgVSZ5yf8$&Y!vJ za`OdNK|L+@y!rOR1h=XASjD6&4imz|^zTleAKP*MTjsIkZ_Z`5+M8k8$^d0y57w6z^4e?tN@3)4LdQ z|3Q-rNN}Q=-K*}5O*0~NV;zD!kBjsyi1y=SDV@4#@Jhpb5~S5PVP{`Enbz`lP*Ras zCnb5cN_gpEH>~a^%>0XF(XWBFp7CY|p^mnvYBSl_mk6~Itja|fza8Ou=K-KQbXK!d z;}C7iy5THd&dC$%gC@T)u{^^IMw*Ub2EtfoVXQ9M>Dxyn_5j&mgI5E|I%RGe z>P+&COPlUNIewI%U4VwV6i2#`^dLNn4=XukB56&9W)N&N@ znx$MLbI;_4Kca<+2a3N}NGPMN5Lmb!G{S5)K}ea49LC9{V7g`$&tAhgj;mFQa!VY0;z>*nQdCuy~19pBce`4>v$;_~7FjEunv`sU<43tOO(4wH^KK zAvi!HPIwS2sTQBK&L|>@nI?P>mr3a-sSMc`XYra~f4<5`->AJ0F&N_Prt!Jgt?^ zv?@KF5s0Hg+2a@FUTXc6w9!jrkRTXmZyg_&fnnlMm!z7p5Wxk8^0T*euJ6vDHp5cP z3A$cRKAd4A?|;bnrvFS~-p8dt7lA{vJGJ}tga@+(!*&1j+w7U2$BG!(WvTfM_KANr zx;Ot;MD$T77G9jLWXR*D|Br(G4S|wcsLTfz`VEXgniQ0PU|oolAY%?~o=pdh1Ry3` zaJNJD2ptH#0*ywa;cXB~^>uuLrERr%G+zdU1rpbid^~zKl2}QIED!s;KruQK6_~2= zHNu|2JSpHiN_FX8nX}+v=ozSSz1Bc1BHKCTYqIO@I!KpGqlD<_uC~O?Eh}z8eGHY8 znzDk^Pl??Ut-_LNpQR4)(<0jmm=Y*@o#rf zU>FzaV*ZXee0*q+Ez{_IuK(Azu+N{KLN`4F%1`$4)Ky$-Yxu zi2}M3YApUtBd@j)-kw;`Ho}@na35j@3&DipbX99=Le1w}s!aMROcYS&d*Fp_pjS{U zG(Do1{?2Ri)+X!373)DR$>ZBq#68^P#%%SyaV_j%ft@OTR;;~7a zQB*=TnP~RPV%EVWh}Y znYKOEzobZ068MGrq4+k$ybq6XSqzj9rKhhfng|HCp3K=kIYDb*$4X5Vf<=nWOj3uv z`9<%BkHY-?Rv|F;qdVtFkK*5&Py8SZwNgM=-mz4Otd{2Up*`-yH|c~#2i1L7d4#Tf zsM`PnlpszzT-{ww30`QN`#|P|V9Nv|j40AUl9=MP58T5|e)RA3$%ry94=ZxiNV_zfv_)bQxDbh2Q(a_Po<1s zzxP)s(bO}oKTMbs!(vj{p}lc56$%YsYJ}xZVr=EYZP+JjhC<_VOk*46m)M36BDB?` z4eR7wYDF=Vm`r+MP^lvVq0{t5%)+mN{yy7|Z1rnG z0<&pTcj{@et@SlcBX81aSU4|Uw-R4N7Zky}g`5}BId%h_&`V{aSpW)l!fgiw?qQka z2r#q)NR4C00+;ah$xI2D%}pB~z`lC#u%Ej{yW&XI&b|k~#TY`Tv@BD=7n2-)y%=;2 z+tvR)9R3^qAM2XF&i{(#Hh)M4y_5z$VZTNFd+C0r{C6bw`224+uQDRnpL#f#E<|^5%p#l`8J}AgFlfBTk7?Bq^@~SL9WOj&{@r((rF*Y3b;AC*zuO zL*mMHkS0bM6OP|26xQ#R){d13<Zu92Kd6)gp6QbfkGS|w zc@tdchWh--YB5D>nSDnK9OaNF-KGhB6;^8TQ9`A0NJ;bvSS$_?Wg^c5QiE51Yw?uo zsalg6-%k(yylAgFe!3kKPdW`c`AQyx)Dm$F6{(bL<@vZTYfuu$eQ8`dM zBmeA|wRker>}Ay>>(}q+(;>a8?b|H)fk1BLWPyBDkuX=@5Bqh(tva`%bMzy{A#(#^ znkUV3BVUA5i8+~X;}Zp_RRVDwTtu)IkjT0Tf>;mwjih<=V&!RWY!Fn5;C6&**?^;5 z@b>9Gtcu3$uQRueWiVk9q4cThRg{|RO3~y*1b#LeH-?+7UQVig91}t&s!Yz zj7Z4FTg6N-|TN#i7U{ChD@ z#^NTv=~UYZbCleJ)=dCib(ovc!p?19HdhV_H`R3vtT&uFiQ8hPoUEc($p>7bOxH|= zj7*x_f1G-z5pfoLA3}qehN2)Ceux33(MZZ}5*8QH8V()=LtFYG>TiV05n&*>} zmi|GwWjg+4lXAKxuHCsMlJ+6pj=~cK9^%u-WKD6tQ==nLecE! z-W&jTVlqK-@MQG#z#lqhsszruoXoV9^k6VAl(CR9%7q&a7ey(~_nA$OL4P<&R&ykf zS?ZYdCUrr22Z;E)rc7?HcOf2y966xm!%^Cm=;=JzA-=Azv2BB0kHU1x6zU! z6NlD6`m&Ng0NO((oe=JbkYKN!f~1q1-V+dtLjr3@@`6#RKCejsDd~t{X2aE2qZ?%% z{wER?r9RD;RS16fT)%@NZ@%dh}tiP~!$S)XZubP#8`z zlAl0mW8m;DfJSVi-}ooLz{*PghKsE4ROyf_VN-c@Qp}Lbx!hn%B^*kIrya@^n66!D zo_v`dmhV}nO7&KXWR^gXQmJP%OB4-V+v}$DvX*^M#6sAUjHj%f5mNYLfLQh6%TE2Rlbr;X8+L3K{P zOVxWD)t8|tLu&oN4=a)D*!pu^N|KF%3_)zI}5diI^IGSS-(u&Kfx3VY%u} zP6Q9(@2iMYUT#3bub&#PMiq0JS2COQSCL5{{~5F|va0=UNFt%wFlsH{V2Jvaob~xF z(g2O}`^oCXY3s%nNmI>obJOCtIKY6VVR7eC68Fjq(mH&W7qPFvmz{YPf)ts%EqaKT zi2q_QQ{H4|^{~86Z~X+lx@l$5x#)V#)h@t)-kE-*?N?0#^##&pW3h!?vT&LIusxVC zcoMd@SEO!9~X0^d4* z(q@SCyK@LUnD`<=IEV7dpwsuXY%hqu%E-Pxt-W&W#yhQW4{V-9OZH8d8w_uYx>}1} zgH!j!N!T&Fvb2|+DY_bi7ckBL1vWn@Hmy`)_7Dj;hnS*OK&nO^nuq+SWd%R~94c&j z{y4!q&P$7{y zy;0zDV8!miT+E>OqEEDW?6?)AC0;(la4|}?G!=l!oTB9JIxqAG&smsaUaaBkh&lNz zLc)jOA1j2#XO#)7qAX3+r(fP;rUc~agmP)S9X{$CT(EIsgfwtgAu0xqW+8)Ox$lr8 zAkAVR&Gu9QlZeW}ta$H=vqGOhvl+6wwNV)|Wfh4TyTqe78XZr=Fc;beAD7yGj+=6^ z0I`B=5&p

;x7n8++dQYxktD$ziBptSmZ(!X3#aMZegzbsZIO{wyZHVzrSz(?`^# zuH-juO^kA4Ulq!}H-VGHc=;Fb

<5D)zLE9r)Co`-TEj&A$+){IB5dV;k(F74#6> z{qGePqM)JGrQ5r|$XZ2xBE@?j0{@`VKmNQ}4Rw^7mBQ>jj9ho}EX1BY!#EPMCjJPH zAGhaYDbLrGGR21RFq3-j@iut$XU_avEn-{V{9De#R4nz<>@L7S-K~znBv6>E#&|`r zs(65*=sFkHkso(j+n?>P4B1uN3R03YO_l4nIPYE?YU*5Ok~Cc+IhXttB#HsO{&

Vlzl5(lEbK4sg`cjTKMs`}6;y-Wrp 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%0A{p+2#Ui%^2vr(Ym~x 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 z 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%0D4dglGUj!6VDg`$yVk?g(W-6pU$N0I4>b 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

F); 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%0AWQeH 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�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

Nqu!K`!uHv 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 x{muvbsJ|&D=s``Er2IESkcNN$8ZRb$`(1(); private @MonotonicNonNull FrameProcessorChain frameProcessorChain; - private @MonotonicNonNull ImageReader outputImageReader; + private volatile @MonotonicNonNull ImageReader outputImageReader; private @MonotonicNonNull MediaFormat mediaFormat; @After @@ -260,6 +262,30 @@ public void processData_withScaleToFitTransformation_rotate45_producesExpectedOu assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + @Test + public void processData_withTwoWrappedScaleToFitTransformations_producesExpectedOutput() + throws Exception { + String testId = "processData_withTwoWrappedScaleToFitTransformations"; + setUpAndPrepareFirstFrame( + DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, + new GlEffectWrapper(new ScaleToFitTransformation.Builder().setRotationDegrees(45).build()), + new GlEffectWrapper( + new ScaleToFitTransformation.Builder() + .setScale(/* scaleX= */ 2, /* scaleY= */ 1) + .build())); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_THEN_SCALE_PNG_ASSET_PATH); + + Bitmap actualBitmap = processFirstFrameAndEnd(); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + @Test public void processData_withManyComposedMatrixTransformations_producesSameOutputAsCombinedTransformation() @@ -325,27 +351,27 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, List { + outputImageReader = + ImageReader.newInstance( + requestedWidth, + requestedHeight, + PixelFormat.RGBA_8888, + /* maxImages= */ 1); + return new SurfaceInfo( + outputImageReader.getSurface(), requestedWidth, requestedHeight); + }, + Transformer.DebugViewProvider.NONE, + /* enableExperimentalHdrEditing= */ false)); frameProcessorChain.registerInputFrame(); // Queue the first video frame from the extractor. @@ -437,4 +463,27 @@ public Matrix getMatrix(long presentationTimeUs) { return checkStateNotNull(adjustedTransformationMatrix); } } + + /** + * Wraps a {@link GlEffect} to prevent the {@link FrameProcessorChain} from detecting its class + * and optimizing it. + * + *

This ensures that {@link FrameProcessorChain} uses a separate {@link GlTextureProcessor} for + * the wrapped {@link GlEffect} rather than merging it with preceding or subsequent {@link + * GlEffect} instances and applying them in one combined {@link GlTextureProcessor}. + */ + private static final class GlEffectWrapper implements GlEffect { + + private final GlEffect effect; + + public GlEffectWrapper(GlEffect effect) { + this.effect = effect; + } + + @Override + public SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) + throws FrameProcessingException { + return effect.toGlTextureProcessor(context); + } + } } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java deleted file mode 100644 index 5dfe72e5b10..00000000000 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainTest.java +++ /dev/null @@ -1,154 +0,0 @@ -/* - * Copyright 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.transformer; - -import static androidx.test.core.app.ApplicationProvider.getApplicationContext; -import static com.google.common.truth.Truth.assertThat; - -import android.content.Context; -import android.util.Size; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.common.collect.ImmutableList; -import java.util.List; -import java.util.concurrent.atomic.AtomicReference; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** - * Tests for creating and configuring a {@link FrameProcessorChain}. - * - *

See {@link FrameProcessorChainPixelTest} for data processing tests. - */ -@RunWith(AndroidJUnit4.class) -public final class FrameProcessorChainTest { - private final AtomicReference frameProcessingException = - new AtomicReference<>(); - - @Test - public void getOutputSize_noOperation_returnsInputSize() throws Exception { - Size inputSize = new Size(200, 100); - FrameProcessorChain frameProcessorChain = - createFrameProcessorChainWithFakeTextureProcessors( - /* pixelWidthHeightRatio= */ 1f, - inputSize, - /* textureProcessorOutputSizes= */ ImmutableList.of()); - - Size outputSize = frameProcessorChain.getOutputSize(); - - assertThat(outputSize).isEqualTo(inputSize); - assertThat(frameProcessingException.get()).isNull(); - } - - @Test - public void getOutputSize_withWidePixels_returnsWiderOutputSize() throws Exception { - Size inputSize = new Size(200, 100); - FrameProcessorChain frameProcessorChain = - createFrameProcessorChainWithFakeTextureProcessors( - /* pixelWidthHeightRatio= */ 2f, - inputSize, - /* textureProcessorOutputSizes= */ ImmutableList.of()); - - Size outputSize = frameProcessorChain.getOutputSize(); - - assertThat(outputSize).isEqualTo(new Size(400, 100)); - assertThat(frameProcessingException.get()).isNull(); - } - - @Test - public void getOutputSize_withTallPixels_returnsTallerOutputSize() throws Exception { - Size inputSize = new Size(200, 100); - FrameProcessorChain frameProcessorChain = - createFrameProcessorChainWithFakeTextureProcessors( - /* pixelWidthHeightRatio= */ .5f, - inputSize, - /* textureProcessorOutputSizes= */ ImmutableList.of()); - - Size outputSize = frameProcessorChain.getOutputSize(); - - assertThat(outputSize).isEqualTo(new Size(200, 200)); - assertThat(frameProcessingException.get()).isNull(); - } - - @Test - public void getOutputSize_withOneTextureProcessor_returnsItsOutputSize() throws Exception { - Size inputSize = new Size(200, 100); - Size textureProcessorOutputSize = new Size(300, 250); - FrameProcessorChain frameProcessorChain = - createFrameProcessorChainWithFakeTextureProcessors( - /* pixelWidthHeightRatio= */ 1f, - inputSize, - /* textureProcessorOutputSizes= */ ImmutableList.of(textureProcessorOutputSize)); - - Size frameProcessorChainOutputSize = frameProcessorChain.getOutputSize(); - - assertThat(frameProcessorChainOutputSize).isEqualTo(textureProcessorOutputSize); - assertThat(frameProcessingException.get()).isNull(); - } - - @Test - public void getOutputSize_withThreeTextureProcessors_returnsLastOutputSize() throws Exception { - Size inputSize = new Size(200, 100); - Size outputSize1 = new Size(300, 250); - Size outputSize2 = new Size(400, 244); - Size outputSize3 = new Size(150, 160); - FrameProcessorChain frameProcessorChain = - createFrameProcessorChainWithFakeTextureProcessors( - /* pixelWidthHeightRatio= */ 1f, - inputSize, - /* textureProcessorOutputSizes= */ ImmutableList.of( - outputSize1, outputSize2, outputSize3)); - - Size frameProcessorChainOutputSize = frameProcessorChain.getOutputSize(); - - assertThat(frameProcessorChainOutputSize).isEqualTo(outputSize3); - assertThat(frameProcessingException.get()).isNull(); - } - - private FrameProcessorChain createFrameProcessorChainWithFakeTextureProcessors( - float pixelWidthHeightRatio, Size inputSize, List textureProcessorOutputSizes) - throws FrameProcessingException { - ImmutableList.Builder effects = new ImmutableList.Builder<>(); - for (Size element : textureProcessorOutputSizes) { - effects.add((Context context) -> new FakeTextureProcessor(element)); - } - return FrameProcessorChain.create( - getApplicationContext(), - /* listener= */ this.frameProcessingException::set, - pixelWidthHeightRatio, - inputSize.getWidth(), - inputSize.getHeight(), - /* streamOffsetUs= */ 0L, - effects.build(), - /* enableExperimentalHdrEditing= */ false); - } - - private static class FakeTextureProcessor extends SingleFrameGlTextureProcessor { - - private final Size outputSize; - - private FakeTextureProcessor(Size outputSize) { - this.outputSize = outputSize; - } - - @Override - public Size configure(int inputWidth, int inputHeight) { - return outputSize; - } - - @Override - public void drawFrame(int inputTexId, long presentationTimeNs) {} - } -} diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index 1b6af6de707..f7aeb0ca91a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -18,12 +18,15 @@ import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_URI_STRING; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_WITH_INCREASING_TIMESTAMPS_320W_240H_15S_URI_STRING; import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assert.assertThrows; import android.content.Context; import android.net.Uri; +import androidx.media3.common.Format; import androidx.media3.common.MediaItem; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; @@ -34,9 +37,10 @@ @RunWith(AndroidJUnit4.class) public class TransformerEndToEndTest { + private final Context context = ApplicationProvider.getApplicationContext(); + @Test public void videoEditing_completesWithConsistentFrameCount() throws Exception { - Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) .setTransformationRequest( @@ -61,7 +65,6 @@ public void videoEditing_completesWithConsistentFrameCount() throws Exception { @Test public void videoOnly_completesWithConsistentDuration() throws Exception { - Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context) .setRemoveAudio(true) @@ -85,7 +88,6 @@ public void videoOnly_completesWithConsistentDuration() throws Exception { @Test public void clippedMedia_completesWithClippedDuration() throws Exception { - Context context = ApplicationProvider.getApplicationContext(); Transformer transformer = new Transformer.Builder(context).build(); long clippingStartMs = 10_000; long clippingEndMs = 11_000; @@ -106,4 +108,65 @@ public void clippedMedia_completesWithClippedDuration() throws Exception { assertThat(result.transformationResult.durationMs).isAtMost(clippingEndMs - clippingStartMs); } + + @Test + public void videoEncoderFormatUnsupported_completesWithError() { + Transformer transformer = + new Transformer.Builder(context) + .setEncoderFactory(new VideoUnsupportedEncoderFactory(context)) + .setRemoveAudio(true) + .build(); + + TransformationException exception = + assertThrows( + TransformationException.class, + () -> + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run( + /* testId= */ "videoEncoderFormatUnsupported_completesWithError", + MediaItem.fromUri(Uri.parse(MP4_ASSET_URI_STRING)))); + + assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class); + assertThat(exception.errorCode) + .isEqualTo(TransformationException.ERROR_CODE_ENCODER_INIT_FAILED); + assertThat(exception).hasMessageThat().contains("video"); + } + + private static final class VideoUnsupportedEncoderFactory implements Codec.EncoderFactory { + + private final Codec.EncoderFactory encoderFactory; + + public VideoUnsupportedEncoderFactory(Context context) { + encoderFactory = new DefaultEncoderFactory(context); + } + + @Override + public Codec createForAudioEncoding(Format format, List allowedMimeTypes) + throws TransformationException { + return encoderFactory.createForAudioEncoding(format, allowedMimeTypes); + } + + @Override + public Codec createForVideoEncoding(Format format, List allowedMimeTypes) + throws TransformationException { + throw TransformationException.createForCodec( + new IllegalArgumentException(), + /* isVideo= */ true, + /* isDecoder= */ false, + format, + /* mediaCodecName= */ null, + TransformationException.ERROR_CODE_ENCODER_INIT_FAILED); + } + + @Override + public boolean audioNeedsEncoding() { + return false; + } + + @Override + public boolean videoNeedsEncoding() { + return true; + } + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java deleted file mode 100644 index 05ff98fe0a5..00000000000 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderCompatibilityTransformation.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.transformer; - -import static androidx.media3.common.util.Assertions.checkArgument; -import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.common.util.Assertions.checkStateNotNull; - -import android.graphics.Matrix; -import android.util.Size; -import androidx.media3.common.C; -import androidx.media3.common.Format; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; - -/** - * Specifies a {@link Format#rotationDegrees} to apply to each frame for encoder compatibility, if - * needed. - * - *

Encoders commonly support higher maximum widths than maximum heights. This may rotate the - * decoded frame before encoding, so the encoded frame's width >= height, and set {@link - * Format#rotationDegrees} to ensure the frame is displayed in the correct orientation. - */ -/* package */ class EncoderCompatibilityTransformation implements MatrixTransformation { - // TODO(b/218488308): Allow reconfiguration of the output size, as encoders may not support the - // requested output resolution. - - private int outputRotationDegrees; - private @MonotonicNonNull Matrix transformationMatrix; - - /** Creates a new instance. */ - public EncoderCompatibilityTransformation() { - outputRotationDegrees = C.LENGTH_UNSET; - } - - @Override - public Size configure(int inputWidth, int inputHeight) { - checkArgument(inputWidth > 0, "inputWidth must be positive"); - checkArgument(inputHeight > 0, "inputHeight must be positive"); - - transformationMatrix = new Matrix(); - if (inputHeight > inputWidth) { - outputRotationDegrees = 90; - transformationMatrix.postRotate(outputRotationDegrees); - return new Size(inputHeight, inputWidth); - } else { - outputRotationDegrees = 0; - return new Size(inputWidth, inputHeight); - } - } - - @Override - public Matrix getMatrix(long presentationTimeUs) { - return checkStateNotNull(transformationMatrix, "configure must be called first"); - } - - /** - * Returns {@link Format#rotationDegrees} for the output frame. - * - *

Return values may be {@code 0} or {@code 90} degrees. - * - *

Should only be called after {@linkplain #configure(int, int) configuration}. - */ - public int getOutputRotationDegrees() { - checkState( - outputRotationDegrees != C.LENGTH_UNSET, - "configure must be called before getOutputRotationDegrees"); - return outputRotationDegrees; - } -} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index 0b2bea5a346..63421d6d659 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -18,7 +18,6 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.common.util.Assertions.checkStateNotNull; import static com.google.common.collect.Iterables.getLast; import static java.util.concurrent.TimeUnit.MILLISECONDS; @@ -40,6 +39,7 @@ import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; +import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.concurrent.ConcurrentLinkedQueue; @@ -58,8 +58,9 @@ * and is processed on a background thread as it becomes available. All input frames should be * {@linkplain #registerInputFrame() registered} before they are rendered to the input surface. * {@link #getPendingFrameCount()} can be used to check whether there are frames that have not been - * fully processed yet. Output is written to its {@linkplain #setOutputSurface(Surface, int, int, - * SurfaceView) output surface}. + * fully processed yet. Output is written to the provided {@linkplain #create(Context, Listener, + * float, int, int, long, List, SurfaceInfo.Provider, Transformer.DebugViewProvider, boolean) output + * surface}. */ // TODO(b/227625423): Factor out FrameProcessor interface and rename this class to GlFrameProcessor. /* package */ final class FrameProcessorChain { @@ -84,11 +85,18 @@ public interface Listener { * @param inputWidth The input frame width, in pixels. * @param inputHeight The input frame height, in pixels. * @param effects The {@link GlEffect GlEffects} to apply to each frame. + * @param outputSurfaceProvider A {@link SurfaceInfo.Provider} managing the output {@link + * Surface}. + * @param debugViewProvider A {@link Transformer.DebugViewProvider}. * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. - * @return A new instance. + * @return A new instance or {@code null}, if no output surface was provided. * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while * creating and configuring the OpenGL components. */ + // TODO(b/227625423): Remove @Nullable here and allow the output surface to be @Nullable until + // the output surface is requested when the output size becomes available asynchronously + // via the final GlTextureProcessor. + @Nullable public static FrameProcessorChain create( Context context, Listener listener, @@ -97,6 +105,8 @@ public static FrameProcessorChain create( int inputHeight, long streamOffsetUs, List effects, + SurfaceInfo.Provider outputSurfaceProvider, + Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { checkArgument(inputWidth > 0, "inputWidth must be positive"); @@ -104,21 +114,25 @@ public static FrameProcessorChain create( ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); + Future> frameProcessorChainFuture = + singleThreadExecutorService.submit( + () -> + Optional.fromNullable( + createOpenGlObjectsAndFrameProcessorChain( + context, + listener, + pixelWidthHeightRatio, + inputWidth, + inputHeight, + streamOffsetUs, + effects, + outputSurfaceProvider, + debugViewProvider, + enableExperimentalHdrEditing, + singleThreadExecutorService))); + try { - return singleThreadExecutorService - .submit( - () -> - createOpenGlObjectsAndFrameProcessorChain( - context, - listener, - pixelWidthHeightRatio, - inputWidth, - inputHeight, - streamOffsetUs, - effects, - enableExperimentalHdrEditing, - singleThreadExecutorService)) - .get(); + return frameProcessorChainFuture.get().orNull(); } catch (ExecutionException e) { throw new FrameProcessingException(e); } catch (InterruptedException e) { @@ -135,6 +149,7 @@ public static FrameProcessorChain create( *

This method must be executed using the {@code singleThreadExecutorService}. */ @WorkerThread + @Nullable private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( Context context, Listener listener, @@ -143,6 +158,8 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( int inputHeight, long streamOffsetUs, List effects, + SurfaceInfo.Provider outputSurfaceProvider, + Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing, ExecutorService singleThreadExecutorService) throws GlUtil.GlException, FrameProcessingException { @@ -164,45 +181,6 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); } - ExternalTextureProcessor externalTextureProcessor = - new ExternalTextureProcessor(context, enableExperimentalHdrEditing); - ImmutableList textureProcessors = - getTextureProcessors(context, externalTextureProcessor, pixelWidthHeightRatio, effects); - - // Initialize texture processors. - int inputExternalTexId = GlUtil.createExternalTexture(); - Size outputSize = externalTextureProcessor.configure(inputWidth, inputHeight); - ImmutableList.Builder intermediateTextures = new ImmutableList.Builder<>(); - for (int i = 1; i < textureProcessors.size(); i++) { - int texId = GlUtil.createTexture(outputSize.getWidth(), outputSize.getHeight()); - int fboId = GlUtil.createFboForTexture(texId); - intermediateTextures.add( - new TextureInfo(texId, fboId, outputSize.getWidth(), outputSize.getHeight())); - SingleFrameGlTextureProcessor textureProcessor = textureProcessors.get(i); - outputSize = textureProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); - } - return new FrameProcessorChain( - eglDisplay, - eglContext, - singleThreadExecutorService, - inputExternalTexId, - streamOffsetUs, - intermediateTextures.build(), - textureProcessors, - outputSize, - listener, - enableExperimentalHdrEditing); - } - - private static ImmutableList getTextureProcessors( - Context context, - ExternalTextureProcessor externalTextureProcessor, - float pixelWidthHeightRatio, - List effects) - throws FrameProcessingException { - ImmutableList.Builder textureProcessors = - new ImmutableList.Builder().add(externalTextureProcessor); - ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder<>(); // Scale to expand the frame to apply the pixelWidthHeightRatio. @@ -218,6 +196,14 @@ private static ImmutableList getTextureProcessors .build()); } + ExternalTextureProcessor externalTextureProcessor = + new ExternalTextureProcessor(context, enableExperimentalHdrEditing); + int inputExternalTexId = GlUtil.createExternalTexture(); + Size outputSize = externalTextureProcessor.configure(inputWidth, inputHeight); + ImmutableList.Builder intermediateTextures = new ImmutableList.Builder<>(); + ImmutableList.Builder textureProcessors = + new ImmutableList.Builder().add(externalTextureProcessor); + // Combine consecutive GlMatrixTransformations into a single SingleFrameGlTextureProcessor and // convert all other GlEffects to SingleFrameGlTextureProcessors. for (int i = 0; i < effects.size(); i++) { @@ -226,21 +212,100 @@ private static ImmutableList getTextureProcessors matrixTransformationListBuilder.add((GlMatrixTransformation) effect); continue; } + ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty()) { - textureProcessors.add(new MatrixTransformationProcessor(context, matrixTransformations)); + MatrixTransformationProcessor matrixTransformationProcessor = + new MatrixTransformationProcessor(context, matrixTransformations); + intermediateTextures.add(createTexture(outputSize.getWidth(), outputSize.getHeight())); + outputSize = + matrixTransformationProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); + textureProcessors.add(matrixTransformationProcessor); matrixTransformationListBuilder = new ImmutableList.Builder<>(); } - textureProcessors.add(effect.toGlTextureProcessor(context)); + intermediateTextures.add(createTexture(outputSize.getWidth(), outputSize.getHeight())); + SingleFrameGlTextureProcessor textureProcessor = effect.toGlTextureProcessor(context); + outputSize = textureProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); + textureProcessors.add(textureProcessor); } + + // TODO(b/227625423): Request the output surface during processing when the output size becomes + // available asynchronously via the final GlTextureProcessor instead of requesting it here. + // This will also avoid needing to return null here when no surface is provided. + Size requestedOutputSize = + MatrixUtils.configureAndGetOutputSize( + outputSize.getWidth(), outputSize.getHeight(), matrixTransformationListBuilder.build()); + @Nullable + SurfaceInfo outputSurfaceInfo = + outputSurfaceProvider.getSurfaceInfo( + requestedOutputSize.getWidth(), requestedOutputSize.getHeight()); + if (outputSurfaceInfo == null) { + Log.d(TAG, "No output surface provided."); + return null; + } + + if (outputSurfaceInfo.orientationDegrees != 0) { + matrixTransformationListBuilder.add( + new ScaleToFitTransformation.Builder() + .setRotationDegrees(outputSurfaceInfo.orientationDegrees) + .build()); + } + if (outputSurfaceInfo.width != outputSize.getWidth() + || outputSurfaceInfo.height != outputSize.getHeight()) { + matrixTransformationListBuilder.add( + new Presentation.Builder() + .setAspectRatio( + outputSurfaceInfo.width / (float) outputSurfaceInfo.height, + Presentation.LAYOUT_SCALE_TO_FIT) + .setResolution(outputSurfaceInfo.height) + .build()); + } + + // Convert final list of matrix transformations (including additional transformations for the + // output surface) to a SingleFrameGlTextureProcessors. ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty()) { - textureProcessors.add(new MatrixTransformationProcessor(context, matrixTransformations)); + intermediateTextures.add(createTexture(outputSize.getWidth(), outputSize.getHeight())); + MatrixTransformationProcessor matrixTransformationProcessor = + new MatrixTransformationProcessor(context, matrixTransformations); + outputSize = + matrixTransformationProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); + checkState(outputSize.getWidth() == outputSurfaceInfo.width); + checkState(outputSize.getHeight() == outputSurfaceInfo.height); + textureProcessors.add(matrixTransformationProcessor); } - return textureProcessors.build(); + EGLSurface outputEglSurface; + if (enableExperimentalHdrEditing) { + // TODO(b/227624622): Don't assume BT.2020 PQ input/output. + outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurfaceInfo.surface); + } else { + outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); + } + return new FrameProcessorChain( + eglDisplay, + eglContext, + singleThreadExecutorService, + inputExternalTexId, + streamOffsetUs, + intermediateTextures.build(), + textureProcessors.build(), + outputSurfaceInfo.width, + outputSurfaceInfo.height, + outputEglSurface, + listener, + debugViewProvider.getDebugPreviewSurfaceView( + outputSurfaceInfo.width, outputSurfaceInfo.height), + enableExperimentalHdrEditing); + } + + private static TextureInfo createTexture(int outputWidth, int outputHeight) + throws GlUtil.GlException { + int texId = GlUtil.createTexture(outputWidth, outputHeight); + int fboId = GlUtil.createFboForTexture(texId); + return new TextureInfo(texId, fboId, outputWidth, outputHeight); } private static final String TAG = "FrameProcessorChain"; @@ -282,8 +347,6 @@ private static ImmutableList getTextureProcessors * SingleFrameGlTextureProcessor}. */ private final ImmutableList intermediateTextures; - /** The last texture processor's output {@link Size}. */ - private final Size recommendedOutputSize; private final Listener listener; @@ -293,15 +356,13 @@ private static ImmutableList getTextureProcessors */ private final AtomicBoolean stopProcessing; - private int outputWidth; - private int outputHeight; - private @MonotonicNonNull Surface outputSurface; - + private final int outputWidth; + private final int outputHeight; /** * Wraps the output {@link Surface} that is populated with the output of the final {@link * SingleFrameGlTextureProcessor} for each frame. */ - private @MonotonicNonNull EGLSurface outputEglSurface; + private final EGLSurface outputEglSurface; /** * Wraps a debug {@link SurfaceView} that is populated with the output of the final {@link * SingleFrameGlTextureProcessor} for each frame. @@ -320,8 +381,11 @@ private FrameProcessorChain( long streamOffsetUs, ImmutableList intermediateTextures, ImmutableList textureProcessors, - Size recommendedOutputSize, + int outputWidth, + int outputHeight, + EGLSurface outputEglSurface, Listener listener, + @Nullable SurfaceView debugSurfaceView, boolean enableExperimentalHdrEditing) { checkState(!textureProcessors.isEmpty()); @@ -332,7 +396,9 @@ private FrameProcessorChain( this.streamOffsetUs = streamOffsetUs; this.intermediateTextures = intermediateTextures; this.textureProcessors = textureProcessors; - this.recommendedOutputSize = recommendedOutputSize; + this.outputWidth = outputWidth; + this.outputHeight = outputHeight; + this.outputEglSurface = outputEglSurface; this.listener = listener; this.stopProcessing = new AtomicBoolean(); this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; @@ -342,47 +408,14 @@ private FrameProcessorChain( inputSurfaceTexture = new SurfaceTexture(inputExternalTexId); inputSurface = new Surface(inputSurfaceTexture); textureTransformMatrix = new float[16]; - outputWidth = C.LENGTH_UNSET; - outputHeight = C.LENGTH_UNSET; - } - - /** - * Returns the recommended output size. - * - *

This is the recommended size to use for the {@linkplain #setOutputSurface(Surface, int, int, - * SurfaceView) output surface}. - */ - public Size getOutputSize() { - return recommendedOutputSize; - } - - /** - * Sets the output {@link Surface}. - * - *

The recommended output size is given by {@link #getOutputSize()}. Setting a different output - * size may cause poor quality or distortion. - * - * @param outputSurface The output {@link Surface}. - * @param outputWidth The output width, in pixels. - * @param outputHeight The output height, in pixels. - * @param debugSurfaceView Optional debug {@link SurfaceView} to show output. - */ - public void setOutputSurface( - Surface outputSurface, - int outputWidth, - int outputHeight, - @Nullable SurfaceView debugSurfaceView) { - // TODO(b/218488308): Don't override output size for encoder fallback. Instead allow the final - // SingleFrameGlTextureProcessor to be re-configured or append another - // SingleFrameGlTextureProcessor. - this.outputSurface = outputSurface; - this.outputWidth = outputWidth; - this.outputHeight = outputHeight; - if (debugSurfaceView != null) { debugSurfaceViewWrapper = new SurfaceViewWrapper(debugSurfaceView); } + } + /** Returns the input {@link Surface}. */ + public Surface getInputSurface() { + // TODO(b/227625423): Allow input surface to be recreated for input size change. inputSurfaceTexture.setOnFrameAvailableListener( surfaceTexture -> { if (stopProcessing.get()) { @@ -398,10 +431,6 @@ public void setOutputSurface( } } }); - } - - /** Returns the input {@link Surface}. */ - public Surface getInputSurface() { return inputSurface; } @@ -479,16 +508,6 @@ private void processFrame() { try { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); - if (outputEglSurface == null) { - checkStateNotNull(outputSurface); - if (enableExperimentalHdrEditing) { - // TODO(b/227624622): Don't assume BT.2020 PQ input/output. - outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurface); - } else { - outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurface); - } - } - inputSurfaceTexture.updateTexImage(); long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); // Correct for the stream offset so processors see original media presentation timestamps. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index 542f79c45e6..9f551f0a3b4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -15,7 +15,6 @@ */ package androidx.media3.transformer; -import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; @@ -133,16 +132,7 @@ public MatrixTransformationProcessor( @Override public Size configure(int inputWidth, int inputHeight) { - checkArgument(inputWidth > 0, "inputWidth must be positive"); - checkArgument(inputHeight > 0, "inputHeight must be positive"); - - Size outputSize = new Size(inputWidth, inputHeight); - for (int i = 0; i < matrixTransformations.size(); i++) { - outputSize = - matrixTransformations.get(i).configure(outputSize.getWidth(), outputSize.getHeight()); - } - - return outputSize; + return MatrixUtils.configureAndGetOutputSize(inputWidth, inputHeight, matrixTransformations); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java index 206d7cf16da..5a48570e535 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import android.opengl.Matrix; +import android.util.Size; import com.google.common.collect.ImmutableList; import java.util.Arrays; @@ -217,6 +218,26 @@ public static ImmutableList transformPoints( return transformedPoints.build(); } + /** + * Returns the output frame {@link Size} after applying the given list of {@link + * GlMatrixTransformation GlMatrixTransformations} to an input frame with the given size. + */ + public static Size configureAndGetOutputSize( + int inputWidth, + int inputHeight, + ImmutableList matrixTransformations) { + checkArgument(inputWidth > 0, "inputWidth must be positive"); + checkArgument(inputHeight > 0, "inputHeight must be positive"); + + Size outputSize = new Size(inputWidth, inputHeight); + for (int i = 0; i < matrixTransformations.size(); i++) { + outputSize = + matrixTransformations.get(i).configure(outputSize.getWidth(), outputSize.getHeight()); + } + + return outputSize; + } + /** Class only contains static methods. */ private MatrixUtils() {} } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java new file mode 100644 index 00000000000..09bc8010586 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java @@ -0,0 +1,70 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkArgument; + +import android.view.Surface; +import androidx.annotation.Nullable; + +/** Immutable value class for a {@link Surface} and supporting information. */ +/* package */ final class SurfaceInfo { + + /** The {@link Surface}. */ + public final Surface surface; + /** The width of frames rendered to the {@link #surface}, in pixels. */ + public final int width; + /** The height of frames rendered to the {@link #surface}, in pixels. */ + public final int height; + /** + * A counter-clockwise rotation to apply to frames before rendering them to the {@link #surface}. + * + *

Must be 0, 90, 180, or 270 degrees. Default is 0. + */ + public final int orientationDegrees; + + /** Creates a new instance. */ + public SurfaceInfo(Surface surface, int width, int height) { + this(surface, width, height, /* orientationDegrees= */ 0); + } + + /** Creates a new instance. */ + public SurfaceInfo(Surface surface, int width, int height, int orientationDegrees) { + checkArgument( + orientationDegrees == 0 + || orientationDegrees == 90 + || orientationDegrees == 180 + || orientationDegrees == 270, + "orientationDegrees must be 0, 90, 180, or 270"); + this.surface = surface; + this.width = width; + this.height = height; + this.orientationDegrees = orientationDegrees; + } + + /** A provider for a {@link SurfaceInfo} instance. */ + public interface Provider { + /** + * Provides a {@linkplain SurfaceInfo surface} for the requested dimensions. + * + *

The dimensions given in the provided {@link SurfaceInfo} may differ from the requested + * dimensions. It is up to the caller to transform frames from the requested dimensions to the + * provided dimensions before rendering them to the {@link SurfaceInfo#surface}. + */ + @Nullable + SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight); + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 6ea492fcb94..b97b14c57ed 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -106,10 +106,7 @@ protected boolean ensureConfigured() throws TransformationException { encoderFactory, muxerWrapper.getSupportedSampleMimeTypes(getTrackType()), fallbackListener, - /* frameProcessorChainListener= */ exception -> - asyncErrorListener.onTransformationException( - TransformationException.createForFrameProcessorChain( - exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)), + asyncErrorListener, debugViewProvider); } if (transformationRequest.flattenForSlowMotion) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 83ea0880262..32d5c628aae 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -17,25 +17,29 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; import android.media.MediaCodec; -import android.util.Size; +import android.view.Surface; import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import com.google.common.collect.ImmutableList; +import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.atomic.AtomicReference; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.dataflow.qual.Pure; /** * Pipeline to decode video samples, apply transformations on the raw samples, and re-encode them. */ /* package */ final class VideoTranscodingSamplePipeline implements SamplePipeline { - private final int outputRotationDegrees; private final int maxPendingFrameCount; private final DecoderInputBuffer decoderInputBuffer; @@ -44,7 +48,7 @@ private final FrameProcessorChain frameProcessorChain; - private final Codec encoder; + private final EncoderWrapper encoderWrapper; private final DecoderInputBuffer encoderOutputBuffer; private boolean signaledEndOfStreamToEncoder; @@ -59,7 +63,7 @@ public VideoTranscodingSamplePipeline( Codec.EncoderFactory encoderFactory, List allowedOutputMimeTypes, FallbackListener fallbackListener, - FrameProcessorChain.Listener frameProcessorChainListener, + Transformer.AsyncErrorListener asyncErrorListener, Transformer.DebugViewProvider debugViewProvider) throws TransformationException { decoderInputBuffer = @@ -89,54 +93,45 @@ public VideoTranscodingSamplePipeline( effectsListBuilder.add( new Presentation.Builder().setResolution(transformationRequest.outputHeight).build()); } - EncoderCompatibilityTransformation encoderCompatibilityTransformation = - new EncoderCompatibilityTransformation(); - effectsListBuilder.add(encoderCompatibilityTransformation); + + AtomicReference encoderInitializationException = + new AtomicReference<>(); + encoderWrapper = + new EncoderWrapper( + encoderFactory, + inputFormat, + allowedOutputMimeTypes, + transformationRequest, + fallbackListener, + encoderInitializationException); + + @Nullable FrameProcessorChain frameProcessorChain; try { frameProcessorChain = FrameProcessorChain.create( context, - frameProcessorChainListener, + /* listener= */ exception -> + asyncErrorListener.onTransformationException( + TransformationException.createForFrameProcessorChain( + exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)), inputFormat.pixelWidthHeightRatio, /* inputWidth= */ decodedWidth, /* inputHeight= */ decodedHeight, streamOffsetUs, effectsListBuilder.build(), + /* outputSurfaceProvider= */ encoderWrapper, + debugViewProvider, transformationRequest.enableHdrEditing); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessorChain( e, TransformationException.ERROR_CODE_GL_INIT_FAILED); } - Size requestedEncoderSize = frameProcessorChain.getOutputSize(); - outputRotationDegrees = encoderCompatibilityTransformation.getOutputRotationDegrees(); - - Format requestedEncoderFormat = - new Format.Builder() - .setWidth(requestedEncoderSize.getWidth()) - .setHeight(requestedEncoderSize.getHeight()) - .setRotationDegrees(0) - .setFrameRate(inputFormat.frameRate) - .setSampleMimeType( - transformationRequest.videoMimeType != null - ? transformationRequest.videoMimeType - : inputFormat.sampleMimeType) - .build(); - - encoder = encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); - Format encoderSupportedFormat = encoder.getConfigurationFormat(); - fallbackListener.onTransformationRequestFinalized( - createFallbackTransformationRequest( - transformationRequest, - /* hasOutputFormatRotation= */ outputRotationDegrees == 0, - requestedEncoderFormat, - encoderSupportedFormat)); - frameProcessorChain.setOutputSurface( - /* outputSurface= */ encoder.getInputSurface(), - /* outputWidth= */ encoderSupportedFormat.width, - /* outputHeight= */ encoderSupportedFormat.height, - debugViewProvider.getDebugPreviewSurfaceView( - encoderSupportedFormat.width, encoderSupportedFormat.height)); + if (frameProcessorChain == null) { + // Failed to create FrameProcessorChain because the encoder could not provide a surface. + throw checkStateNotNull(encoderInitializationException.get()); + } + this.frameProcessorChain = frameProcessorChain; decoder = decoderFactory.createForVideoDecoding( @@ -164,7 +159,7 @@ public void queueInputBuffer() throws TransformationException { public boolean processData() throws TransformationException { if (frameProcessorChain.isEnded()) { if (!signaledEndOfStreamToEncoder) { - encoder.signalEndOfInputStream(); + encoderWrapper.signalEndOfInputStream(); signaledEndOfStreamToEncoder = true; } return false; @@ -187,20 +182,17 @@ public boolean processData() throws TransformationException { @Override @Nullable public Format getOutputFormat() throws TransformationException { - @Nullable Format format = encoder.getOutputFormat(); - return format == null - ? null - : format.buildUpon().setRotationDegrees(outputRotationDegrees).build(); + return encoderWrapper.getOutputFormat(); } @Override @Nullable public DecoderInputBuffer getOutputBuffer() throws TransformationException { - encoderOutputBuffer.data = encoder.getOutputBuffer(); + encoderOutputBuffer.data = encoderWrapper.getOutputBuffer(); if (encoderOutputBuffer.data == null) { return null; } - MediaCodec.BufferInfo bufferInfo = checkNotNull(encoder.getOutputBufferInfo()); + MediaCodec.BufferInfo bufferInfo = checkNotNull(encoderWrapper.getOutputBufferInfo()); encoderOutputBuffer.timeUs = bufferInfo.presentationTimeUs; encoderOutputBuffer.setFlags(bufferInfo.flags); return encoderOutputBuffer; @@ -208,19 +200,19 @@ public DecoderInputBuffer getOutputBuffer() throws TransformationException { @Override public void releaseOutputBuffer() throws TransformationException { - encoder.releaseOutputBuffer(/* render= */ false); + encoderWrapper.releaseOutputBuffer(/* render= */ false); } @Override public boolean isEnded() { - return encoder.isEnded(); + return encoderWrapper.isEnded(); } @Override public void release() { frameProcessorChain.release(); decoder.release(); - encoder.release(); + encoderWrapper.release(); } /** @@ -292,4 +284,151 @@ private boolean isDecodeOnlyBuffer(long presentationTimeUs) { } return false; } + + /** + * Wraps an {@linkplain Codec encoder} and provides its input {@link Surface}. + * + *

The encoder is created once the {@link Surface} is {@linkplain #getSurfaceInfo(int, int) + * requested}. If it is {@linkplain #getSurfaceInfo(int, int) requested} again with different + * dimensions, the same encoder is used and the provided dimensions stay fixed. + */ + @VisibleForTesting + /* package */ static final class EncoderWrapper implements SurfaceInfo.Provider { + + private final Codec.EncoderFactory encoderFactory; + private final Format inputFormat; + private final List allowedOutputMimeTypes; + private final TransformationRequest transformationRequest; + private final FallbackListener fallbackListener; + private final AtomicReference encoderInitializationException; + + private @MonotonicNonNull SurfaceInfo encoderSurfaceInfo; + + private volatile @MonotonicNonNull Codec encoder; + private volatile int outputRotationDegrees; + private volatile boolean releaseEncoder; + + public EncoderWrapper( + Codec.EncoderFactory encoderFactory, + Format inputFormat, + List allowedOutputMimeTypes, + TransformationRequest transformationRequest, + FallbackListener fallbackListener, + AtomicReference encoderInitializationException) { + + this.encoderFactory = encoderFactory; + this.inputFormat = inputFormat; + this.allowedOutputMimeTypes = allowedOutputMimeTypes; + this.transformationRequest = transformationRequest; + this.fallbackListener = fallbackListener; + this.encoderInitializationException = encoderInitializationException; + } + + @Override + @Nullable + public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) { + if (releaseEncoder) { + return null; + } + if (encoderSurfaceInfo != null) { + return encoderSurfaceInfo; + } + + // Encoders commonly support higher maximum widths than maximum heights. This may rotate the + // frame before encoding, so the encoded frame's width >= height, and sets + // rotationDegrees in the output Format to ensure the frame is displayed in the correct + // orientation. + boolean flipOrientation = requestedWidth < requestedHeight; + if (flipOrientation) { + int temp = requestedWidth; + requestedWidth = requestedHeight; + requestedHeight = temp; + outputRotationDegrees = 90; + } + + Format requestedEncoderFormat = + new Format.Builder() + .setWidth(requestedWidth) + .setHeight(requestedHeight) + .setRotationDegrees(0) + .setFrameRate(inputFormat.frameRate) + .setSampleMimeType( + transformationRequest.videoMimeType != null + ? transformationRequest.videoMimeType + : inputFormat.sampleMimeType) + .build(); + + try { + encoder = + encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); + } catch (TransformationException e) { + encoderInitializationException.set(e); + return null; + } + Format encoderSupportedFormat = encoder.getConfigurationFormat(); + fallbackListener.onTransformationRequestFinalized( + createFallbackTransformationRequest( + transformationRequest, + /* hasOutputFormatRotation= */ flipOrientation, + requestedEncoderFormat, + encoderSupportedFormat)); + + encoderSurfaceInfo = + new SurfaceInfo( + encoder.getInputSurface(), + encoderSupportedFormat.width, + encoderSupportedFormat.height, + outputRotationDegrees); + + if (releaseEncoder) { + encoder.release(); + } + return encoderSurfaceInfo; + } + + public void signalEndOfInputStream() throws TransformationException { + if (encoder != null) { + encoder.signalEndOfInputStream(); + } + } + + @Nullable + public Format getOutputFormat() throws TransformationException { + if (encoder == null) { + return null; + } + @Nullable Format outputFormat = encoder.getOutputFormat(); + if (outputFormat != null && outputRotationDegrees != 0) { + outputFormat = outputFormat.buildUpon().setRotationDegrees(outputRotationDegrees).build(); + } + return outputFormat; + } + + @Nullable + public ByteBuffer getOutputBuffer() throws TransformationException { + return encoder != null ? encoder.getOutputBuffer() : null; + } + + @Nullable + public MediaCodec.BufferInfo getOutputBufferInfo() throws TransformationException { + return encoder != null ? encoder.getOutputBufferInfo() : null; + } + + public void releaseOutputBuffer(boolean render) throws TransformationException { + if (encoder != null) { + encoder.releaseOutputBuffer(render); + } + } + + public boolean isEnded() { + return encoder != null && encoder.isEnded(); + } + + public void release() { + if (encoder != null) { + encoder.release(); + } + releaseEncoder = true; + } + } } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/EncoderCompatibilityTransformationTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/EncoderCompatibilityTransformationTest.java deleted file mode 100644 index 3eb95008d16..00000000000 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/EncoderCompatibilityTransformationTest.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package androidx.media3.transformer; - -import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.assertThrows; - -import android.util.Size; -import androidx.test.ext.junit.runners.AndroidJUnit4; -import org.junit.Test; -import org.junit.runner.RunWith; - -/** Unit tests for {@link EncoderCompatibilityTransformation}. */ -@RunWith(AndroidJUnit4.class) -public final class EncoderCompatibilityTransformationTest { - @Test - public void configure_noEditsLandscape_leavesOrientationUnchanged() { - int inputWidth = 200; - int inputHeight = 150; - EncoderCompatibilityTransformation encoderCompatibilityTransformation = - new EncoderCompatibilityTransformation(); - - Size outputSize = encoderCompatibilityTransformation.configure(inputWidth, inputHeight); - - assertThat(encoderCompatibilityTransformation.getOutputRotationDegrees()).isEqualTo(0); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); - } - - @Test - public void configure_noEditsSquare_leavesOrientationUnchanged() { - int inputWidth = 150; - int inputHeight = 150; - EncoderCompatibilityTransformation encoderCompatibilityTransformation = - new EncoderCompatibilityTransformation(); - - Size outputSize = encoderCompatibilityTransformation.configure(inputWidth, inputHeight); - - assertThat(encoderCompatibilityTransformation.getOutputRotationDegrees()).isEqualTo(0); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); - } - - @Test - public void configure_noEditsPortrait_flipsOrientation() { - int inputWidth = 150; - int inputHeight = 200; - EncoderCompatibilityTransformation encoderCompatibilityTransformation = - new EncoderCompatibilityTransformation(); - - Size outputSize = encoderCompatibilityTransformation.configure(inputWidth, inputHeight); - - assertThat(encoderCompatibilityTransformation.getOutputRotationDegrees()).isEqualTo(90); - assertThat(outputSize.getWidth()).isEqualTo(inputHeight); - assertThat(outputSize.getHeight()).isEqualTo(inputWidth); - } - - @Test - public void getOutputRotationDegreesBeforeConfigure_throwsIllegalStateException() { - EncoderCompatibilityTransformation encoderCompatibilityTransformation = - new EncoderCompatibilityTransformation(); - - // configure not called before getOutputRotationDegrees. - assertThrows( - IllegalStateException.class, encoderCompatibilityTransformation::getOutputRotationDegrees); - } -} diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java new file mode 100644 index 00000000000..e7e7c5e4f64 --- /dev/null +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java @@ -0,0 +1,146 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import android.net.Uri; +import android.os.Looper; +import androidx.media3.common.C; +import androidx.media3.common.Format; +import androidx.media3.common.MediaItem; +import androidx.media3.common.util.Clock; +import androidx.media3.common.util.ListenerSet; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableList; +import java.util.List; +import java.util.concurrent.atomic.AtomicReference; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Unit tests for {@link VideoTranscodingSamplePipeline.EncoderWrapper}. */ +@RunWith(AndroidJUnit4.class) +public final class VideoEncoderWrapperTest { + private final TransformationRequest emptyTransformationRequest = + new TransformationRequest.Builder().build(); + private final FakeVideoEncoderFactory fakeEncoderFactory = new FakeVideoEncoderFactory(); + private final FallbackListener fallbackListener = + new FallbackListener( + MediaItem.fromUri(Uri.EMPTY), + new ListenerSet<>(Looper.myLooper(), Clock.DEFAULT, (listener, flags) -> {}), + emptyTransformationRequest); + private final VideoTranscodingSamplePipeline.EncoderWrapper encoderWrapper = + new VideoTranscodingSamplePipeline.EncoderWrapper( + fakeEncoderFactory, + /* inputFormat= */ new Format.Builder().build(), + /* allowedOutputMimeTypes= */ ImmutableList.of(), + emptyTransformationRequest, + fallbackListener, + new AtomicReference<>()); + + @Before + public void registerTrack() { + fallbackListener.registerTrack(); + } + + @Test + public void getSurfaceInfo_landscape_leavesOrientationUnchanged() { + int inputWidth = 200; + int inputHeight = 150; + + SurfaceInfo surfaceInfo = encoderWrapper.getSurfaceInfo(inputWidth, inputHeight); + + assertThat(surfaceInfo.orientationDegrees).isEqualTo(0); + assertThat(surfaceInfo.width).isEqualTo(inputWidth); + assertThat(surfaceInfo.height).isEqualTo(inputHeight); + } + + @Test + public void getSurfaceInfo_square_leavesOrientationUnchanged() { + int inputWidth = 150; + int inputHeight = 150; + + SurfaceInfo surfaceInfo = encoderWrapper.getSurfaceInfo(inputWidth, inputHeight); + + assertThat(surfaceInfo.orientationDegrees).isEqualTo(0); + assertThat(surfaceInfo.width).isEqualTo(inputWidth); + assertThat(surfaceInfo.height).isEqualTo(inputHeight); + } + + @Test + public void getSurfaceInfo_portrait_flipsOrientation() { + int inputWidth = 150; + int inputHeight = 200; + + SurfaceInfo surfaceInfo = encoderWrapper.getSurfaceInfo(inputWidth, inputHeight); + + assertThat(surfaceInfo.orientationDegrees).isEqualTo(90); + assertThat(surfaceInfo.width).isEqualTo(inputHeight); + assertThat(surfaceInfo.height).isEqualTo(inputWidth); + } + + @Test + public void getSurfaceInfo_withEncoderFallback_usesFallbackResolution() { + int inputWidth = 200; + int inputHeight = 150; + int fallbackWidth = 100; + int fallbackHeight = 75; + fakeEncoderFactory.setFallbackResolution(fallbackWidth, fallbackHeight); + + SurfaceInfo surfaceInfo = encoderWrapper.getSurfaceInfo(inputWidth, inputHeight); + + assertThat(surfaceInfo.orientationDegrees).isEqualTo(0); + assertThat(surfaceInfo.width).isEqualTo(fallbackWidth); + assertThat(surfaceInfo.height).isEqualTo(fallbackHeight); + } + + private static class FakeVideoEncoderFactory implements Codec.EncoderFactory { + + private int fallbackWidth; + private int fallbackHeight; + + public FakeVideoEncoderFactory() { + fallbackWidth = C.LENGTH_UNSET; + fallbackHeight = C.LENGTH_UNSET; + } + + public void setFallbackResolution(int fallbackWidth, int fallbackHeight) { + this.fallbackWidth = fallbackWidth; + this.fallbackHeight = fallbackHeight; + } + + @Override + public Codec createForAudioEncoding(Format format, List allowedMimeTypes) { + throw new UnsupportedOperationException(); + } + + @Override + public Codec createForVideoEncoding(Format format, List allowedMimeTypes) { + Codec mockEncoder = mock(Codec.class); + if (fallbackWidth != C.LENGTH_UNSET) { + format = format.buildUpon().setWidth(fallbackWidth).build(); + } + if (fallbackHeight != C.LENGTH_UNSET) { + format = format.buildUpon().setHeight(fallbackHeight).build(); + } + when(mockEncoder.getConfigurationFormat()).thenReturn(format); + return mockEncoder; + } + } +} From 8c465a78602f9429be4e17157c3043ef23c3d059 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 15 Jun 2022 13:27:35 +0000 Subject: [PATCH 019/422] Replace FrameProcessorChain#isEnded with listener method. PiperOrigin-RevId: 455114693 (cherry picked from commit fdfca880195da2ca5e5d0ef002feb8144009384c) --- .../FrameProcessorChainPixelTest.java | 17 ++++++-- .../transformer/FrameProcessorChain.java | 40 ++++++++++++++----- .../VideoTranscodingSamplePipeline.java | 26 +++++++----- 3 files changed, 59 insertions(+), 24 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java index 7cec1d5a6a9..0820049cb9c 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java @@ -89,9 +89,10 @@ public final class FrameProcessorChainPixelTest { private final AtomicReference frameProcessingException = new AtomicReference<>(); + private @MonotonicNonNull MediaFormat mediaFormat; private @MonotonicNonNull FrameProcessorChain frameProcessorChain; private volatile @MonotonicNonNull ImageReader outputImageReader; - private @MonotonicNonNull MediaFormat mediaFormat; + private volatile boolean frameProcessingEnded; @After public void release() { @@ -354,7 +355,17 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, ListThis listener is only called from the {@link FrameProcessorChain}'s background thread. */ public interface Listener { - /** Called when an exception occurs during asynchronous frame processing. */ + /** + * Called when an exception occurs during asynchronous frame processing. + * + *

If an error occurred, consuming and producing further frames will not work as expected and + * the {@link FrameProcessorChain} should be released. + */ void onFrameProcessingError(FrameProcessingException exception); + + /** Called after the frame processor has produced its final output frame. */ + void onFrameProcessingEnded(); } /** @@ -454,22 +462,24 @@ public int getPendingFrameCount() { return pendingFrameCount.get(); } - /** Informs the {@code FrameProcessorChain} that no further input frames should be accepted. */ + /** + * Informs the {@code FrameProcessorChain} that no further input frames should be accepted. + * + * @throws IllegalStateException If called more than once. + */ public void signalEndOfInputStream() { + checkState(!inputStreamEnded); inputStreamEnded = true; - } - - /** Returns whether all frames have been processed. */ - public boolean isEnded() { - return inputStreamEnded && getPendingFrameCount() == 0; + futures.add(singleThreadExecutorService.submit(this::signalEndOfOutputStream)); } /** * Releases all resources. * - *

If the frame processor chain is released before it has {@linkplain #isEnded() ended}, it - * will attempt to cancel processing any input frames that have already become available. Input - * frames that become available after release are ignored. + *

If the frame processor chain is released before it has {@linkplain + * Listener#onFrameProcessingEnded() ended}, it will attempt to cancel processing any input frames + * that have already become available. Input frames that become available after release are + * ignored. * *

This method blocks until all OpenGL resources are released or releasing times out. */ @@ -563,6 +573,16 @@ private void processFrame() { } } + /** Calls {@link Listener#onFrameProcessingEnded()} once no more frames are pending. */ + @WorkerThread + private void signalEndOfOutputStream() { + if (getPendingFrameCount() == 0) { + listener.onFrameProcessingEnded(); + } else { + futures.add(singleThreadExecutorService.submit(this::signalEndOfOutputStream)); + } + } + /** * Releases the {@link SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} and destroys * the OpenGL context. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 32d5c628aae..6c05da6c514 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -51,8 +51,6 @@ private final EncoderWrapper encoderWrapper; private final DecoderInputBuffer encoderOutputBuffer; - private boolean signaledEndOfStreamToEncoder; - public VideoTranscodingSamplePipeline( Context context, Format inputFormat, @@ -110,10 +108,23 @@ public VideoTranscodingSamplePipeline( frameProcessorChain = FrameProcessorChain.create( context, - /* listener= */ exception -> + new FrameProcessorChain.Listener() { + @Override + public void onFrameProcessingError(FrameProcessingException exception) { asyncErrorListener.onTransformationException( TransformationException.createForFrameProcessorChain( - exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)), + exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)); + } + + @Override + public void onFrameProcessingEnded() { + try { + encoderWrapper.signalEndOfInputStream(); + } catch (TransformationException exception) { + asyncErrorListener.onTransformationException(exception); + } + } + }, inputFormat.pixelWidthHeightRatio, /* inputWidth= */ decodedWidth, /* inputHeight= */ decodedHeight, @@ -157,13 +168,6 @@ public void queueInputBuffer() throws TransformationException { @Override public boolean processData() throws TransformationException { - if (frameProcessorChain.isEnded()) { - if (!signaledEndOfStreamToEncoder) { - encoderWrapper.signalEndOfInputStream(); - signaledEndOfStreamToEncoder = true; - } - return false; - } if (decoder.isEnded()) { return false; } From 8c748485d2c28a1bda6bad94a53bf44651969420 Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 15 Jun 2022 15:00:47 +0000 Subject: [PATCH 020/422] Don't export broadcast receivers that don't require it Issue: google/ExoPlayer#10287 PiperOrigin-RevId: 455131138 (cherry picked from commit 691b392b246522fb664cdb1ce196e16c3449926c) --- .../common/util/NetworkTypeObserver.java | 2 +- .../androidx/media3/common/util/Util.java | 50 +++++++++++++++++++ .../exoplayer/AudioBecomingNoisyManager.java | 5 +- .../media3/exoplayer/StreamVolumeManager.java | 2 +- .../exoplayer/audio/AudioCapabilities.java | 4 +- .../audio/AudioCapabilitiesReceiver.java | 6 +-- .../exoplayer/scheduler/Requirements.java | 8 +-- .../scheduler/RequirementsWatcher.java | 2 +- 8 files changed, 64 insertions(+), 15 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java b/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java index c6421efd613..4e97ab796c5 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java @@ -94,7 +94,7 @@ private NetworkTypeObserver(Context context) { networkType = C.NETWORK_TYPE_UNKNOWN; IntentFilter filter = new IntentFilter(); filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION); - context.registerReceiver(/* receiver= */ new Receiver(), filter); + Util.registerReceiverNotExported(context, new Receiver(), filter); } /** diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index 16652c3bc79..ce6bec8d3ae 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -34,9 +34,11 @@ import android.annotation.SuppressLint; import android.app.Activity; import android.app.UiModeManager; +import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.content.IntentFilter; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManager.NameNotFoundException; @@ -189,6 +191,54 @@ public static byte[] toByteArray(InputStream inputStream) throws IOException { return outputStream.toByteArray(); } + /** + * Registers a {@link BroadcastReceiver} that's not intended to receive broadcasts from other + * apps. This will be enforced by specifying {@link Context#RECEIVER_NOT_EXPORTED} if {@link + * #SDK_INT} is 33 or above. + * + * @param context The context on which {@link Context#registerReceiver} will be called. + * @param receiver The {@link BroadcastReceiver} to register. This value may be null. + * @param filter Selects the Intent broadcasts to be received. + * @return The first sticky intent found that matches {@code filter}, or null if there are none. + */ + @UnstableApi + @Nullable + public static Intent registerReceiverNotExported( + Context context, @Nullable BroadcastReceiver receiver, IntentFilter filter) { + if (SDK_INT < 33) { + return context.registerReceiver(receiver, filter); + } else { + return context.registerReceiver(receiver, filter, Context.RECEIVER_NOT_EXPORTED); + } + } + + /** + * Registers a {@link BroadcastReceiver} that's not intended to receive broadcasts from other + * apps. This will be enforced by specifying {@link Context#RECEIVER_NOT_EXPORTED} if {@link + * #SDK_INT} is 33 or above. + * + * @param context The context on which {@link Context#registerReceiver} will be called. + * @param receiver The {@link BroadcastReceiver} to register. This value may be null. + * @param filter Selects the Intent broadcasts to be received. + * @param handler Handler identifying the thread that will receive the Intent. + * @return The first sticky intent found that matches {@code filter}, or null if there are none. + */ + @UnstableApi + @Nullable + public static Intent registerReceiverNotExported( + Context context, BroadcastReceiver receiver, IntentFilter filter, Handler handler) { + if (SDK_INT < 33) { + return context.registerReceiver(receiver, filter, /* broadcastPermission= */ null, handler); + } else { + return context.registerReceiver( + receiver, + filter, + /* broadcastPermission= */ null, + handler, + Context.RECEIVER_NOT_EXPORTED); + } + } + /** * Calls {@link Context#startForegroundService(Intent)} if {@link #SDK_INT} is 26 or higher, or * {@link Context#startService(Intent)} otherwise. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioBecomingNoisyManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioBecomingNoisyManager.java index 04fd1482bd8..625c6090b6b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioBecomingNoisyManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioBecomingNoisyManager.java @@ -21,6 +21,7 @@ import android.content.IntentFilter; import android.media.AudioManager; import android.os.Handler; +import androidx.media3.common.util.Util; /* package */ final class AudioBecomingNoisyManager { @@ -46,8 +47,8 @@ public AudioBecomingNoisyManager(Context context, Handler eventHandler, EventLis */ public void setEnabled(boolean enabled) { if (enabled && !receiverRegistered) { - context.registerReceiver( - receiver, new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY)); + Util.registerReceiverNotExported( + context, receiver, new IntentFilter(AudioManager.ACTION_AUDIO_BECOMING_NOISY)); receiverRegistered = true; } else if (!enabled && receiverRegistered) { context.unregisterReceiver(receiver); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java index c5a82301549..1fc7dc48287 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java @@ -75,7 +75,7 @@ public StreamVolumeManager(Context context, Handler eventHandler, Listener liste VolumeChangeReceiver receiver = new VolumeChangeReceiver(); IntentFilter filter = new IntentFilter(VOLUME_CHANGED_ACTION); try { - applicationContext.registerReceiver(receiver, filter); + Util.registerReceiverNotExported(applicationContext, receiver, filter); this.receiver = receiver; } catch (RuntimeException e) { Log.w(TAG, "Error registering stream volume receiver", e); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilities.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilities.java index 9888db45a6d..6cb10f07311 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilities.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilities.java @@ -88,8 +88,8 @@ public final class AudioCapabilities { @SuppressWarnings("InlinedApi") public static AudioCapabilities getCapabilities(Context context) { Intent intent = - context.registerReceiver( - /* receiver= */ null, new IntentFilter(AudioManager.ACTION_HDMI_AUDIO_PLUG)); + Util.registerReceiverNotExported( + context, /* receiver= */ null, new IntentFilter(AudioManager.ACTION_HDMI_AUDIO_PLUG)); return getCapabilities(context, intent); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver.java index 241e914ff0d..1cfef2accc9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioCapabilitiesReceiver.java @@ -90,12 +90,10 @@ public AudioCapabilities register() { if (externalSurroundSoundSettingObserver != null) { externalSurroundSoundSettingObserver.register(); } - Intent stickyIntent = null; + @Nullable Intent stickyIntent = null; if (receiver != null) { IntentFilter intentFilter = new IntentFilter(AudioManager.ACTION_HDMI_AUDIO_PLUG); - stickyIntent = - context.registerReceiver( - receiver, intentFilter, /* broadcastPermission= */ null, handler); + stickyIntent = Util.registerReceiverNotExported(context, receiver, intentFilter, handler); } audioCapabilities = AudioCapabilities.getCapabilities(context, stickyIntent); return audioCapabilities; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java index 53ad113710b..ab87aa361cb 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java @@ -184,8 +184,8 @@ public boolean checkRequirements(Context context) { private boolean isDeviceCharging(Context context) { @Nullable Intent batteryStatus = - context.registerReceiver( - /* receiver= */ null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); + Util.registerReceiverNotExported( + context, /* receiver= */ null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); if (batteryStatus == null) { return false; } @@ -203,8 +203,8 @@ private boolean isDeviceIdle(Context context) { } private boolean isStorageNotLow(Context context) { - return context.registerReceiver( - /* receiver= */ null, new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW)) + return Util.registerReceiverNotExported( + context, /* receiver= */ null, new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW)) == null; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java index c7ae614e05c..541224221c9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java @@ -111,7 +111,7 @@ public RequirementsWatcher(Context context, Listener listener, Requirements requ filter.addAction(Intent.ACTION_DEVICE_STORAGE_OK); } receiver = new DeviceStatusChangeReceiver(); - context.registerReceiver(receiver, filter, null, handler); + Util.registerReceiverNotExported(context, receiver, filter, handler); return notMetRequirements; } From c16e5ac47c2559a0a202dba8b943233d5df82387 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Thu, 16 Jun 2022 10:41:23 +0000 Subject: [PATCH 021/422] Wrap processor chain executor service for better exception handling. The wrapper * catches exceptions for each task and notifies the listener (this will be used more in follow-ups when processFrame is split into lots of listeners and callbacks), * removes finished tasks from the queue and signals any exceptions that occurred to the listener each time a new task is executed. PiperOrigin-RevId: 455345184 (cherry picked from commit ee847d92c50c8d2929da287e1103110149d78170) --- .../transformer/FrameProcessingTask.java | 27 ++++ .../FrameProcessingTaskExecutor.java | 123 ++++++++++++++++++ .../transformer/FrameProcessorChain.java | 118 ++++++----------- 3 files changed, 191 insertions(+), 77 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java new file mode 100644 index 00000000000..e5e12dc14ce --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java @@ -0,0 +1,27 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import androidx.media3.common.util.GlUtil; + +/** + * Interface for tasks that may throw a {@link GlUtil.GlException} or {@link + * FrameProcessingException}. + */ +/* package */ interface FrameProcessingTask { + /** Runs the task. */ + void run() throws FrameProcessingException, GlUtil.GlException; +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java new file mode 100644 index 00000000000..d228494831a --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java @@ -0,0 +1,123 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static java.util.concurrent.TimeUnit.MILLISECONDS; + +import androidx.media3.common.util.GlUtil; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.RejectedExecutionException; +import java.util.concurrent.atomic.AtomicBoolean; + +/** + * Wrapper around a single thread {@link ExecutorService} for executing {@link FrameProcessingTask} + * instances. + * + *

The wrapper handles calling {@link + * FrameProcessorChain.Listener#onFrameProcessingError(FrameProcessingException)} for errors that + * occur during these tasks. + */ +/* package */ final class FrameProcessingTaskExecutor { + + private final ExecutorService singleThreadExecutorService; + private final FrameProcessorChain.Listener listener; + private final ConcurrentLinkedQueue> futures; + private final AtomicBoolean shouldCancelTasks; + + /** Creates a new instance. */ + public FrameProcessingTaskExecutor( + ExecutorService singleThreadExecutorService, FrameProcessorChain.Listener listener) { + this.singleThreadExecutorService = singleThreadExecutorService; + this.listener = listener; + + futures = new ConcurrentLinkedQueue<>(); + shouldCancelTasks = new AtomicBoolean(); + } + + /** + * Submits the given {@link FrameProcessingTask} to be executed after any pending tasks have + * completed. + */ + public void submit(FrameProcessingTask task) { + if (shouldCancelTasks.get()) { + return; + } + try { + futures.add(submitTask(task)); + } catch (RejectedExecutionException e) { + if (!shouldCancelTasks.getAndSet(true)) { + listener.onFrameProcessingError(new FrameProcessingException(e)); + } + } + } + + /** + * Cancels remaining tasks, runs the given release task, and shuts down the background thread. + * + * @param releaseTask A {@link FrameProcessingTask} to execute before shutting down the background + * thread. + * @param releaseWaitTimeMs How long to wait for the release task to terminate, in milliseconds. + * @throws InterruptedException If interrupted while releasing resources. + */ + public void release(FrameProcessingTask releaseTask, long releaseWaitTimeMs) + throws InterruptedException { + shouldCancelTasks.getAndSet(true); + while (!futures.isEmpty()) { + futures.remove().cancel(/* mayInterruptIfRunning= */ false); + } + Future releaseFuture = submitTask(releaseTask); + singleThreadExecutorService.shutdown(); + try { + if (!singleThreadExecutorService.awaitTermination(releaseWaitTimeMs, MILLISECONDS)) { + listener.onFrameProcessingError(new FrameProcessingException("Release timed out")); + } + releaseFuture.get(); + } catch (ExecutionException e) { + listener.onFrameProcessingError(new FrameProcessingException(e)); + } + } + + private Future submitTask(FrameProcessingTask glTask) { + return singleThreadExecutorService.submit( + () -> { + try { + glTask.run(); + removeFinishedFutures(); + } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { + listener.onFrameProcessingError(FrameProcessingException.from(e)); + } + }); + } + + private void removeFinishedFutures() { + while (!futures.isEmpty()) { + if (!futures.element().isDone()) { + return; + } + try { + futures.remove().get(); + } catch (ExecutionException e) { + listener.onFrameProcessingError(new FrameProcessingException(e)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + listener.onFrameProcessingError(new FrameProcessingException(e)); + } + } + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index 2167da97449..510160e3f12 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -16,10 +16,8 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkArgument; -import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static com.google.common.collect.Iterables.getLast; -import static java.util.concurrent.TimeUnit.MILLISECONDS; import android.content.Context; import android.graphics.SurfaceTexture; @@ -42,11 +40,9 @@ import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; -import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -323,15 +319,12 @@ private static TextureInfo createTexture(int outputWidth, int outputHeight) private final boolean enableExperimentalHdrEditing; private final EGLDisplay eglDisplay; private final EGLContext eglContext; - /** Some OpenGL commands may block, so all OpenGL commands are run on a background thread. */ - private final ExecutorService singleThreadExecutorService; + private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; /** * Offset compared to original media presentation time that has been added to incoming frame * timestamps, in microseconds. */ private final long streamOffsetUs; - /** Futures corresponding to the executor service's pending tasks. */ - private final ConcurrentLinkedQueue> futures; /** Number of frames {@linkplain #registerInputFrame() registered} but not fully processed. */ private final AtomicInteger pendingFrameCount; /** Wraps the {@link #inputSurfaceTexture}. */ @@ -399,7 +392,6 @@ private FrameProcessorChain( this.eglDisplay = eglDisplay; this.eglContext = eglContext; - this.singleThreadExecutorService = singleThreadExecutorService; this.inputExternalTexId = inputExternalTexId; this.streamOffsetUs = streamOffsetUs; this.intermediateTextures = intermediateTextures; @@ -411,7 +403,8 @@ private FrameProcessorChain( this.stopProcessing = new AtomicBoolean(); this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; - futures = new ConcurrentLinkedQueue<>(); + frameProcessingTaskExecutor = + new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); pendingFrameCount = new AtomicInteger(); inputSurfaceTexture = new SurfaceTexture(inputExternalTexId); inputSurface = new Surface(inputSurfaceTexture); @@ -425,20 +418,7 @@ private FrameProcessorChain( public Surface getInputSurface() { // TODO(b/227625423): Allow input surface to be recreated for input size change. inputSurfaceTexture.setOnFrameAvailableListener( - surfaceTexture -> { - if (stopProcessing.get()) { - // Frames can still become available after a transformation is cancelled but they can be - // ignored. - return; - } - try { - futures.add(singleThreadExecutorService.submit(this::processFrame)); - } catch (RejectedExecutionException e) { - if (!stopProcessing.get()) { - throw e; - } - } - }); + surfaceTexture -> frameProcessingTaskExecutor.submit(this::processFrame)); return inputSurface; } @@ -470,7 +450,7 @@ public int getPendingFrameCount() { public void signalEndOfInputStream() { checkState(!inputStreamEnded); inputStreamEnded = true; - futures.add(singleThreadExecutorService.submit(this::signalEndOfOutputStream)); + frameProcessingTaskExecutor.submit(this::signalEndOfOutputStream); } /** @@ -485,19 +465,13 @@ public void signalEndOfInputStream() { */ public void release() { stopProcessing.set(true); - while (!futures.isEmpty()) { - checkNotNull(futures.poll()).cancel(/* mayInterruptIfRunning= */ false); - } - futures.add( - singleThreadExecutorService.submit(this::releaseTextureProcessorsAndDestroyGlContext)); - singleThreadExecutorService.shutdown(); try { - if (!singleThreadExecutorService.awaitTermination(RELEASE_WAIT_TIME_MS, MILLISECONDS)) { - Log.d(TAG, "Failed to release FrameProcessorChain"); - } - } catch (InterruptedException e) { - Log.d(TAG, "FrameProcessorChain release was interrupted", e); + frameProcessingTaskExecutor.release( + /* releaseTask= */ this::releaseTextureProcessorsAndDestroyGlContext, + RELEASE_WAIT_TIME_MS); + } catch (InterruptedException unexpected) { Thread.currentThread().interrupt(); + throw new IllegalStateException(unexpected); } inputSurfaceTexture.release(); inputSurface.release(); @@ -509,24 +483,19 @@ public void release() { *

This method must be called on the {@linkplain #THREAD_NAME background thread}. */ @WorkerThread - private void processFrame() { - if (stopProcessing.get()) { - return; - } - - long presentationTimeUs = C.TIME_UNSET; - try { - checkState(Thread.currentThread().getName().equals(THREAD_NAME)); + private void processFrame() throws FrameProcessingException { + checkState(Thread.currentThread().getName().equals(THREAD_NAME)); - inputSurfaceTexture.updateTexImage(); - long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); - // Correct for the stream offset so processors see original media presentation timestamps. - presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; - inputSurfaceTexture.getTransformMatrix(textureTransformMatrix); - ((ExternalTextureProcessor) textureProcessors.get(0)) - .setTextureTransformMatrix(textureTransformMatrix); - int inputTexId = inputExternalTexId; + inputSurfaceTexture.updateTexImage(); + long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); + // Correct for the stream offset so processors see original media presentation timestamps. + long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; + inputSurfaceTexture.getTransformMatrix(textureTransformMatrix); + ((ExternalTextureProcessor) textureProcessors.get(0)) + .setTextureTransformMatrix(textureTransformMatrix); + int inputTexId = inputExternalTexId; + try { for (int i = 0; i < textureProcessors.size() - 1; i++) { if (stopProcessing.get()) { return; @@ -550,27 +519,25 @@ private void processFrame() { EGLExt.eglPresentationTimeANDROID(eglDisplay, outputEglSurface, inputFrameTimeNs); EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e, presentationTimeUs); + } + try { if (debugSurfaceViewWrapper != null) { long finalPresentationTimeUs = presentationTimeUs; int finalInputTexId = inputTexId; debugSurfaceViewWrapper.maybeRenderToSurfaceView( () -> { - try { - GlUtil.clearOutputFrame(); - getLast(textureProcessors).drawFrame(finalInputTexId, finalPresentationTimeUs); - } catch (GlUtil.GlException | FrameProcessingException e) { - Log.d(TAG, "Error rendering to debug preview", e); - } + GlUtil.clearOutputFrame(); + getLast(textureProcessors).drawFrame(finalInputTexId, finalPresentationTimeUs); }); } - - checkState(pendingFrameCount.getAndDecrement() > 0); - } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { - if (!stopProcessing.getAndSet(true)) { - listener.onFrameProcessingError(FrameProcessingException.from(e, presentationTimeUs)); - } + } catch (FrameProcessingException | GlUtil.GlException e) { + Log.d(TAG, "Error rendering to debug preview", e); } + + checkState(pendingFrameCount.getAndDecrement() > 0); } /** Calls {@link Listener#onFrameProcessingEnded()} once no more frames are pending. */ @@ -579,7 +546,7 @@ private void signalEndOfOutputStream() { if (getPendingFrameCount() == 0) { listener.onFrameProcessingEnded(); } else { - futures.add(singleThreadExecutorService.submit(this::signalEndOfOutputStream)); + frameProcessingTaskExecutor.submit(this::signalEndOfOutputStream); } } @@ -590,15 +557,12 @@ private void signalEndOfOutputStream() { *

This method must be called on the {@linkplain #THREAD_NAME background thread}. */ @WorkerThread - private void releaseTextureProcessorsAndDestroyGlContext() { - try { - for (int i = 0; i < textureProcessors.size(); i++) { - textureProcessors.get(i).release(); - } - GlUtil.destroyEglContext(eglDisplay, eglContext); - } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { - listener.onFrameProcessingError(FrameProcessingException.from(e)); + private void releaseTextureProcessorsAndDestroyGlContext() + throws GlUtil.GlException, FrameProcessingException { + for (int i = 0; i < textureProcessors.size(); i++) { + textureProcessors.get(i).release(); } + GlUtil.destroyEglContext(eglDisplay, eglContext); } /** @@ -627,12 +591,12 @@ public SurfaceViewWrapper(SurfaceView surfaceView) { /** * Focuses the wrapped surface view's surface as an {@link EGLSurface}, renders using {@code - * renderRunnable} and swaps buffers, if the view's holder has a valid surface. Does nothing + * renderingTask} and swaps buffers, if the view's holder has a valid surface. Does nothing * otherwise. */ @WorkerThread - public synchronized void maybeRenderToSurfaceView(Runnable renderRunnable) - throws GlUtil.GlException { + public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingTask) + throws GlUtil.GlException, FrameProcessingException { if (surface == null) { return; } @@ -646,7 +610,7 @@ public synchronized void maybeRenderToSurfaceView(Runnable renderRunnable) } EGLSurface eglSurface = this.eglSurface; GlUtil.focusEglSurface(eglDisplay, eglContext, eglSurface, width, height); - renderRunnable.run(); + renderingTask.run(); EGL14.eglSwapBuffers(eglDisplay, eglSurface); } From 73b57d3c77ede96032ad1a2075c9ddb0601e65f4 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 17 Jun 2022 16:57:46 +0100 Subject: [PATCH 022/422] Implement chaining GlTextureProcessor.Listener. In follow-ups the FrameProcessorChain will set an instance of this listener for each GlTextureProcessor to chain it with its previous and next GlTextureProcesssor. PiperOrigin-RevId: 455628942 (cherry picked from commit 981baae7095ef34c548df600bfbea1f7765dbb9e) --- .../ChainingGlTextureProcessorListener.java | 106 ++++++++++++ .../transformer/FrameProcessorChain.java | 5 +- ...hainingGlTextureProcessorListenerTest.java | 163 ++++++++++++++++++ 3 files changed, 272 insertions(+), 2 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java create mode 100644 libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java new file mode 100644 index 00000000000..3017107b2fe --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java @@ -0,0 +1,106 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import android.util.Pair; +import androidx.annotation.Nullable; +import java.util.ArrayDeque; +import java.util.Queue; + +/** + * A {@link GlTextureProcessor.Listener} that connects the {@link GlTextureProcessor} it is + * {@linkplain GlTextureProcessor#setListener(GlTextureProcessor.Listener) set} on to a previous and + * next {@link GlTextureProcessor}. + */ +/* package */ final class ChainingGlTextureProcessorListener + implements GlTextureProcessor.Listener { + + @Nullable private final GlTextureProcessor previousGlTextureProcessor; + @Nullable private final GlTextureProcessor nextGlTextureProcessor; + private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; + private final FrameProcessorChain.Listener frameProcessorChainListener; + private final Queue> pendingFrames; + + /** + * Creates a new instance. + * + * @param previousGlTextureProcessor The {@link GlTextureProcessor} that comes before the {@link + * GlTextureProcessor} this listener is set on or {@code null} if not applicable. + * @param nextGlTextureProcessor The {@link GlTextureProcessor} that comes after the {@link + * GlTextureProcessor} this listener is set on or {@code null} if not applicable. + * @param frameProcessingTaskExecutor The {@link FrameProcessingTaskExecutor} that is used for + * OpenGL calls. All calls to the previous/next {@link GlTextureProcessor} will be executed by + * the {@link FrameProcessingTaskExecutor}. The caller is responsible for releasing the {@link + * FrameProcessingTaskExecutor}. + * @param frameProcessorChainListener The {@link FrameProcessorChain.Listener} to forward + * exceptions to. + */ + public ChainingGlTextureProcessorListener( + @Nullable GlTextureProcessor previousGlTextureProcessor, + @Nullable GlTextureProcessor nextGlTextureProcessor, + FrameProcessingTaskExecutor frameProcessingTaskExecutor, + FrameProcessorChain.Listener frameProcessorChainListener) { + this.previousGlTextureProcessor = previousGlTextureProcessor; + this.nextGlTextureProcessor = nextGlTextureProcessor; + this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; + this.frameProcessorChainListener = frameProcessorChainListener; + pendingFrames = new ArrayDeque<>(); + } + + @Override + public void onInputFrameProcessed(TextureInfo inputTexture) { + if (previousGlTextureProcessor != null) { + GlTextureProcessor nonNullPreviousGlTextureProcessor = previousGlTextureProcessor; + frameProcessingTaskExecutor.submit( + () -> nonNullPreviousGlTextureProcessor.releaseOutputFrame(inputTexture)); + } + } + + @Override + public void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs) { + if (nextGlTextureProcessor != null) { + GlTextureProcessor nonNullNextGlTextureProcessor = nextGlTextureProcessor; + frameProcessingTaskExecutor.submit( + () -> { + pendingFrames.add(new Pair<>(outputTexture, presentationTimeUs)); + processFrameNowOrLater(nonNullNextGlTextureProcessor); + }); + } + } + + private void processFrameNowOrLater(GlTextureProcessor nextGlTextureProcessor) { + Pair pendingFrame = pendingFrames.element(); + TextureInfo outputTexture = pendingFrame.first; + long presentationTimeUs = pendingFrame.second; + if (nextGlTextureProcessor.maybeQueueInputFrame(outputTexture, presentationTimeUs)) { + pendingFrames.remove(); + } else { + frameProcessingTaskExecutor.submit(() -> processFrameNowOrLater(nextGlTextureProcessor)); + } + } + + @Override + public void onOutputStreamEnded() { + if (nextGlTextureProcessor != null) { + frameProcessingTaskExecutor.submit(nextGlTextureProcessor::signalEndOfInputStream); + } + } + + @Override + public void onFrameProcessingError(FrameProcessingException e) { + frameProcessorChainListener.onFrameProcessingError(e); + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index 510160e3f12..f86eda288c4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -146,11 +146,12 @@ public static FrameProcessorChain create( } /** - * Creates the OpenGL textures and framebuffers, initializes the {@link + * Creates the OpenGL context, surfaces, textures, and framebuffers, initializes the {@link * SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} corresponding to the {@link * GlEffect GlEffects}, and returns a new {@code FrameProcessorChain}. * - *

This method must be executed using the {@code singleThreadExecutorService}. + *

This method must be executed using the {@code singleThreadExecutorService}, as all later + * OpenGL commands will be called on that thread. */ @WorkerThread @Nullable diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java new file mode 100644 index 00000000000..9c74cb93066 --- /dev/null +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java @@ -0,0 +1,163 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; + +import androidx.media3.common.util.Util; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Tests for {@link ChainingGlTextureProcessorListener}. */ +@RunWith(AndroidJUnit4.class) +public final class ChainingGlTextureProcessorListenerTest { + private static final long EXECUTOR_WAIT_TIME_MS = 100; + + private final FrameProcessorChain.Listener mockFrameProcessorChainListener = + mock(FrameProcessorChain.Listener.class); + private final FrameProcessingTaskExecutor frameProcessingTaskExecutor = + new FrameProcessingTaskExecutor( + Util.newSingleThreadExecutor("Test"), mockFrameProcessorChainListener); + private final GlTextureProcessor mockPreviousGlTextureProcessor = mock(GlTextureProcessor.class); + private final FakeGlTextureProcessor fakeNextGlTextureProcessor = + spy(new FakeGlTextureProcessor()); + private final ChainingGlTextureProcessorListener chainingGlTextureProcessorListener = + new ChainingGlTextureProcessorListener( + mockPreviousGlTextureProcessor, + fakeNextGlTextureProcessor, + frameProcessingTaskExecutor, + mockFrameProcessorChainListener); + + @After + public void release() throws InterruptedException { + frameProcessingTaskExecutor.release(/* releaseTask= */ () -> {}, EXECUTOR_WAIT_TIME_MS); + } + + @Test + public void onFrameProcessingError_callsListener() { + FrameProcessingException exception = new FrameProcessingException("message"); + + chainingGlTextureProcessorListener.onFrameProcessingError(exception); + + verify(mockFrameProcessorChainListener, times(1)).onFrameProcessingError(exception); + } + + @Test + public void onInputFrameProcessed_surrendersFrameToPreviousGlTextureProcessor() + throws InterruptedException { + TextureInfo texture = + new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); + + chainingGlTextureProcessorListener.onInputFrameProcessed(texture); + Thread.sleep(EXECUTOR_WAIT_TIME_MS); + + verify(mockPreviousGlTextureProcessor, times(1)).releaseOutputFrame(texture); + } + + @Test + public void onOutputFrameAvailable_passesFrameToNextGlTextureProcessor() + throws InterruptedException { + TextureInfo texture = + new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); + long presentationTimeUs = 123; + + chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); + Thread.sleep(EXECUTOR_WAIT_TIME_MS); + + verify(fakeNextGlTextureProcessor, times(1)).maybeQueueInputFrame(texture, presentationTimeUs); + } + + @Test + public void onOutputFrameAvailable_nextGlTextureProcessorRejectsFrame_triesAgain() + throws InterruptedException { + TextureInfo texture = + new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); + long presentationTimeUs = 123; + fakeNextGlTextureProcessor.rejectNextFrame(); + + chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); + Thread.sleep(EXECUTOR_WAIT_TIME_MS); + + verify(fakeNextGlTextureProcessor, times(2)).maybeQueueInputFrame(texture, presentationTimeUs); + } + + @Test + public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBeforeSecond() + throws InterruptedException { + TextureInfo firstTexture = + new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); + long firstPresentationTimeUs = 123; + TextureInfo secondTexture = + new TextureInfo(/* texId= */ 2, /* fboId= */ 2, /* width= */ 100, /* height= */ 100); + long secondPresentationTimeUs = 567; + fakeNextGlTextureProcessor.rejectNextFrame(); + + chainingGlTextureProcessorListener.onOutputFrameAvailable( + firstTexture, firstPresentationTimeUs); + chainingGlTextureProcessorListener.onOutputFrameAvailable( + secondTexture, secondPresentationTimeUs); + Thread.sleep(EXECUTOR_WAIT_TIME_MS); + + verify(fakeNextGlTextureProcessor, times(2)) + .maybeQueueInputFrame(firstTexture, firstPresentationTimeUs); + verify(fakeNextGlTextureProcessor, times(1)) + .maybeQueueInputFrame(secondTexture, secondPresentationTimeUs); + } + + @Test + public void onOutputStreamEnded_signalsInputStreamEndedToNextGlTextureProcessor() + throws InterruptedException { + chainingGlTextureProcessorListener.onOutputStreamEnded(); + Thread.sleep(EXECUTOR_WAIT_TIME_MS); + + verify(fakeNextGlTextureProcessor, times(1)).signalEndOfInputStream(); + } + + private static class FakeGlTextureProcessor implements GlTextureProcessor { + + private volatile boolean rejectNextFrame; + + public void rejectNextFrame() { + rejectNextFrame = true; + } + + @Override + public void setListener(Listener listener) { + throw new UnsupportedOperationException(); + } + + @Override + public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + boolean acceptFrame = !rejectNextFrame; + rejectNextFrame = false; + return acceptFrame; + } + + @Override + public void releaseOutputFrame(TextureInfo outputTexture) {} + + @Override + public void signalEndOfInputStream() {} + + @Override + public void release() {} + } +} From fab04c45f19e83f5d46ffe36747a9fc541b657c7 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Mon, 20 Jun 2022 13:50:16 +0100 Subject: [PATCH 023/422] Add option to disable debug preview. This is useful for testing Transformer in the same way as it is used in tests and to see only the real transformation time. PiperOrigin-RevId: 456058466 (cherry picked from commit 931562c24380ff8bd1f8fad6b2c0bb3581dc65e5) --- .../media3/demo/transformer/ConfigurationActivity.java | 9 +++++++++ .../media3/demo/transformer/TransformerActivity.java | 5 ++++- .../src/main/res/layout/configuration_activity.xml | 10 ++++++++++ demos/transformer/src/main/res/values/strings.xml | 1 + 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 026f3960917..227c517cc16 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -59,6 +59,7 @@ public final class ConfigurationActivity extends AppCompatActivity { public static final String TRIM_START_MS = "trim_start_ms"; public static final String TRIM_END_MS = "trim_end_ms"; public static final String ENABLE_FALLBACK = "enable_fallback"; + public static final String ENABLE_DEBUG_PREVIEW = "enable_debug_preview"; public static final String ENABLE_REQUEST_SDR_TONE_MAPPING = "enable_request_sdr_tone_mapping"; public static final String ENABLE_HDR_EDITING = "enable_hdr_editing"; public static final String DEMO_EFFECTS_SELECTIONS = "demo_effects_selections"; @@ -120,6 +121,7 @@ public final class ConfigurationActivity extends AppCompatActivity { private @MonotonicNonNull Spinner rotateSpinner; private @MonotonicNonNull CheckBox trimCheckBox; private @MonotonicNonNull CheckBox enableFallbackCheckBox; + private @MonotonicNonNull CheckBox enableDebugPreviewCheckBox; private @MonotonicNonNull CheckBox enableRequestSdrToneMappingCheckBox; private @MonotonicNonNull CheckBox enableHdrEditingCheckBox; private @MonotonicNonNull Button selectDemoEffectsButton; @@ -200,6 +202,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { trimEndMs = C.TIME_UNSET; enableFallbackCheckBox = findViewById(R.id.enable_fallback_checkbox); + enableDebugPreviewCheckBox = findViewById(R.id.enable_debug_preview_checkbox); enableRequestSdrToneMappingCheckBox = findViewById(R.id.request_sdr_tone_mapping_checkbox); enableRequestSdrToneMappingCheckBox.setEnabled(isRequestSdrToneMappingSupported()); findViewById(R.id.request_sdr_tone_mapping).setEnabled(isRequestSdrToneMappingSupported()); @@ -237,6 +240,7 @@ protected void onNewIntent(Intent intent) { "rotateSpinner", "trimCheckBox", "enableFallbackCheckBox", + "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", "enableHdrEditingCheckBox", "demoEffectsSelections" @@ -275,6 +279,7 @@ private void startTransformation(View view) { bundle.putLong(TRIM_END_MS, trimEndMs); } bundle.putBoolean(ENABLE_FALLBACK, enableFallbackCheckBox.isChecked()); + bundle.putBoolean(ENABLE_DEBUG_PREVIEW, enableDebugPreviewCheckBox.isChecked()); bundle.putBoolean( ENABLE_REQUEST_SDR_TONE_MAPPING, enableRequestSdrToneMappingCheckBox.isChecked()); bundle.putBoolean(ENABLE_HDR_EDITING, enableHdrEditingCheckBox.isChecked()); @@ -377,6 +382,7 @@ private void selectDemoEffect(DialogInterface dialog, int which, boolean isCheck "resolutionHeightSpinner", "scaleSpinner", "rotateSpinner", + "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", "enableHdrEditingCheckBox", "selectDemoEffectsButton" @@ -397,6 +403,7 @@ private void onRemoveAudio(View view) { "resolutionHeightSpinner", "scaleSpinner", "rotateSpinner", + "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", "enableHdrEditingCheckBox", "selectDemoEffectsButton" @@ -416,6 +423,7 @@ private void onRemoveVideo(View view) { "resolutionHeightSpinner", "scaleSpinner", "rotateSpinner", + "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", "enableHdrEditingCheckBox", "selectDemoEffectsButton" @@ -426,6 +434,7 @@ private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoE resolutionHeightSpinner.setEnabled(isVideoEnabled); scaleSpinner.setEnabled(isVideoEnabled); rotateSpinner.setEnabled(isVideoEnabled); + enableDebugPreviewCheckBox.setEnabled(isVideoEnabled); enableRequestSdrToneMappingCheckBox.setEnabled( isRequestSdrToneMappingSupported() && isVideoEnabled); enableHdrEditingCheckBox.setEnabled(isVideoEnabled); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 842769f13fc..57370ff7612 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -319,6 +319,10 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) } transformerBuilder.setVideoFrameEffects(effects.build()); } + + if (bundle.getBoolean(ConfigurationActivity.ENABLE_DEBUG_PREVIEW)) { + transformerBuilder.setDebugViewProvider(new DemoDebugViewProvider()); + } } return transformerBuilder .addListener( @@ -335,7 +339,6 @@ public void onTransformationError( TransformerActivity.this.onTransformationError(exception); } }) - .setDebugViewProvider(new DemoDebugViewProvider()) .build(); } diff --git a/demos/transformer/src/main/res/layout/configuration_activity.xml b/demos/transformer/src/main/res/layout/configuration_activity.xml index 2879d6a637a..eeab077caa5 100644 --- a/demos/transformer/src/main/res/layout/configuration_activity.xml +++ b/demos/transformer/src/main/res/layout/configuration_activity.xml @@ -179,6 +179,16 @@ android:layout_gravity="right" android:checked="true"/> + + + + diff --git a/demos/transformer/src/main/res/values/strings.xml b/demos/transformer/src/main/res/values/strings.xml index 50ac310080e..69b68cded8f 100644 --- a/demos/transformer/src/main/res/values/strings.xml +++ b/demos/transformer/src/main/res/values/strings.xml @@ -27,6 +27,7 @@ Scale video Rotate video (degrees) Enable fallback + Enable debug preview Trim Request SDR tone-mapping (API 31+) [Experimental] HDR editing From 4773fc68737de89091c9f2c4f2b40fc3ee6acf39 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 20 Jun 2022 14:26:12 +0100 Subject: [PATCH 024/422] FrameProcessor: Use factories instead of a builder for Presentation. PiperOrigin-RevId: 456064021 (cherry picked from commit f5d8800d51def6304db9c1f5a8f5ea3f6e3c69a6) --- .../FrameProcessorChainPixelTest.java | 17 +-- .../transformer/PresentationPixelTest.java | 30 ++-- .../transformer/FrameProcessorChain.java | 8 +- .../media3/transformer/Presentation.java | 144 +++++++++--------- .../VideoTranscodingSamplePipeline.java | 3 +- .../media3/transformer/PresentationTest.java | 27 ++-- 6 files changed, 109 insertions(+), 120 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java index 0820049cb9c..263714eca31 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java @@ -204,10 +204,10 @@ public void processData_withScaleToFitAndMatrixTransformation_producesExpectedOu } @Test - public void processData_withPresentation_setResolution_producesExpectedOutput() throws Exception { - String testId = "processData_withPresentation_setResolution"; - setUpAndPrepareFirstFrame( - DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, new Presentation.Builder().setResolution(480).build()); + public void processData_withPresentation_createForHeight_producesExpectedOutput() + throws Exception { + String testId = "processData_withPresentation_createForHeight"; + setUpAndPrepareFirstFrame(DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, Presentation.createForHeight(480)); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(REQUEST_OUTPUT_HEIGHT_PNG_ASSET_PATH); Bitmap actualBitmap = processFirstFrameAndEnd(); @@ -222,14 +222,13 @@ public void processData_withPresentation_setResolution_producesExpectedOutput() } @Test - public void processData_withCropAndPresentation_producesExpectedOutput() throws Exception { - String testId = "processData_withCropAndPresentation"; + public void processData_withCropThenPresentation_producesExpectedOutput() throws Exception { + String testId = "processData_withCropThenPresentation"; setUpAndPrepareFirstFrame( DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, new Crop(/* left= */ -.5f, /* right= */ .5f, /* bottom= */ -.5f, /* top= */ .5f), - new Presentation.Builder() - .setAspectRatio(/* aspectRatio= */ .5f, Presentation.LAYOUT_SCALE_TO_FIT) - .build()); + Presentation.createForAspectRatio( + /* aspectRatio= */ .5f, Presentation.LAYOUT_SCALE_TO_FIT)); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH); Bitmap actualBitmap = processFirstFrameAndEnd(); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index 867aed28ff5..53bbbea9eec 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -26,6 +26,7 @@ import android.opengl.EGLDisplay; import android.opengl.EGLSurface; import android.util.Size; +import androidx.media3.common.C; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.IOException; @@ -95,7 +96,8 @@ public void release() throws GlUtil.GlException, FrameProcessingException { @Test public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; - presentationTextureProcessor = new Presentation.Builder().build().toGlTextureProcessor(context); + presentationTextureProcessor = + Presentation.createForHeight(C.LENGTH_UNSET).toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -119,9 +121,7 @@ public void drawFrame_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput throws Exception { String testId = "drawFrame_changeAspectRatio_scaleToFit_narrow"; presentationTextureProcessor = - new Presentation.Builder() - .setAspectRatio(1f, Presentation.LAYOUT_SCALE_TO_FIT) - .build() + Presentation.createForAspectRatio(/* aspectRatio= */ 1f, Presentation.LAYOUT_SCALE_TO_FIT) .toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); @@ -147,9 +147,7 @@ public void drawFrame_changeAspectRatio_scaleToFit_wide_producesExpectedOutput() throws Exception { String testId = "drawFrame_changeAspectRatio_scaleToFit_wide"; presentationTextureProcessor = - new Presentation.Builder() - .setAspectRatio(2f, Presentation.LAYOUT_SCALE_TO_FIT) - .build() + Presentation.createForAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT) .toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); @@ -175,9 +173,8 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow_producesExpect throws Exception { String testId = "drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow"; presentationTextureProcessor = - new Presentation.Builder() - .setAspectRatio(1f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) - .build() + Presentation.createForAspectRatio( + /* aspectRatio= */ 1f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) .toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); @@ -203,9 +200,8 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_wide_producesExpected throws Exception { String testId = "drawFrame_changeAspectRatio_scaleToFitWithCrop_wide"; presentationTextureProcessor = - new Presentation.Builder() - .setAspectRatio(2f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) - .build() + Presentation.createForAspectRatio( + /* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) .toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); @@ -231,9 +227,7 @@ public void drawFrame_changeAspectRatio_stretchToFit_narrow_producesExpectedOutp throws Exception { String testId = "drawFrame_changeAspectRatio_stretchToFit_narrow"; presentationTextureProcessor = - new Presentation.Builder() - .setAspectRatio(1f, Presentation.LAYOUT_STRETCH_TO_FIT) - .build() + Presentation.createForAspectRatio(/* aspectRatio= */ 1f, Presentation.LAYOUT_STRETCH_TO_FIT) .toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); @@ -259,9 +253,7 @@ public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput throws Exception { String testId = "drawFrame_changeAspectRatio_stretchToFit_wide"; presentationTextureProcessor = - new Presentation.Builder() - .setAspectRatio(2f, Presentation.LAYOUT_STRETCH_TO_FIT) - .build() + Presentation.createForAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_STRETCH_TO_FIT) .toGlTextureProcessor(context); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index f86eda288c4..8476dadabbc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -259,12 +259,8 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( if (outputSurfaceInfo.width != outputSize.getWidth() || outputSurfaceInfo.height != outputSize.getHeight()) { matrixTransformationListBuilder.add( - new Presentation.Builder() - .setAspectRatio( - outputSurfaceInfo.width / (float) outputSurfaceInfo.height, - Presentation.LAYOUT_SCALE_TO_FIT) - .setResolution(outputSurfaceInfo.height) - .build()); + Presentation.createForWidthAndHeight( + outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); } // Convert final list of matrix transformations (including additional transformations for the diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java index 167e83bf0f2..077740aa813 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java @@ -36,8 +36,6 @@ * the input pixels onto the output frame geometry (for example, by stretching the input frame to * match the specified output frame, or fitting the input frame using letterboxing). * - *

Aspect ratio is applied before setting resolution. - * *

The background color of the output frame will be black, with alpha = 0 if applicable. */ @UnstableApi @@ -49,8 +47,7 @@ public final class Presentation implements MatrixTransformation { *

One of {@link #LAYOUT_SCALE_TO_FIT}, {@link #LAYOUT_SCALE_TO_FIT_WITH_CROP}, or {@link * #LAYOUT_STRETCH_TO_FIT}. * - *

May scale either width or height, leaving the other output dimension equal to its input, - * unless {@link Builder#setResolution(int)} rescales width and height. + *

May scale either width or height, leaving the other output dimension equal to its input. */ @Documented @Retention(SOURCE) @@ -100,81 +97,82 @@ public final class Presentation implements MatrixTransformation { */ public static final int LAYOUT_STRETCH_TO_FIT = 2; - /** A builder for {@link Presentation} instances. */ - public static final class Builder { - - // Optional fields. - private int outputHeight; - private float aspectRatio; - private @Layout int layout; + private static final float ASPECT_RATIO_UNSET = -1f; - /** Creates a builder with default values. */ - public Builder() { - outputHeight = C.LENGTH_UNSET; - aspectRatio = C.LENGTH_UNSET; - } + private static void checkLayout(@Layout int layout) { + checkArgument( + layout == LAYOUT_SCALE_TO_FIT + || layout == LAYOUT_SCALE_TO_FIT_WITH_CROP + || layout == LAYOUT_STRETCH_TO_FIT, + "invalid layout " + layout); + } - /** - * Sets the output resolution using the output height. - * - *

The default value, {@link C#LENGTH_UNSET}, corresponds to using the same height as the - * input. Output width of the displayed frame will scale to preserve the frame's aspect ratio - * after other transformations. - * - *

For example, a 1920x1440 frame can be scaled to 640x480 by calling {@code - * setResolution(480)}. - * - * @param height The output height of the displayed frame, in pixels. - * @return This builder. - */ - public Builder setResolution(int height) { - this.outputHeight = height; - return this; - } + /** + * Creates a new {@link Presentation} instance. + * + *

The output frame will have the given aspect ratio (width/height ratio). Width or height will + * be resized to conform to this {@code aspectRatio}, given a {@link Layout}. + * + * @param aspectRatio The aspect ratio (width/height ratio) of the output frame. Must be positive. + * @param layout The layout of the output frame. + */ + public static Presentation createForAspectRatio(float aspectRatio, @Layout int layout) { + checkArgument( + aspectRatio == C.LENGTH_UNSET || aspectRatio > 0, + "aspect ratio " + aspectRatio + " must be positive or unset"); + checkLayout(layout); + return new Presentation( + /* width= */ C.LENGTH_UNSET, /* height= */ C.LENGTH_UNSET, aspectRatio, layout); + } - /** - * Sets the aspect ratio (width/height ratio) for the output frame. - * - *

Resizes a frame's width or height to conform to an {@code aspectRatio}, given a {@link - * Layout}. {@code aspectRatio} defaults to {@link C#LENGTH_UNSET}, which corresponds to the - * same aspect ratio as the input frame. {@code layout} defaults to {@link #LAYOUT_SCALE_TO_FIT} - * - *

Width and height values set may be rescaled by {@link #setResolution(int)}, which is - * applied after aspect ratio changes. - * - * @param aspectRatio The aspect ratio (width/height ratio) of the output frame. Must be - * positive. - * @return This builder. - */ - public Builder setAspectRatio(float aspectRatio, @Layout int layout) { - checkArgument(aspectRatio > 0, "aspect ratio " + aspectRatio + " must be positive"); - checkArgument( - layout == LAYOUT_SCALE_TO_FIT - || layout == LAYOUT_SCALE_TO_FIT_WITH_CROP - || layout == LAYOUT_STRETCH_TO_FIT, - "invalid layout " + layout); - this.aspectRatio = aspectRatio; - this.layout = layout; - return this; - } + /** + * Creates a new {@link Presentation} instance. + * + *

The output frame will have the given height. Width will scale to preserve the input aspect + * ratio. + * + * @param height The height of the output frame, in pixels. + */ + public static Presentation createForHeight(int height) { + return new Presentation( + /* width= */ C.LENGTH_UNSET, height, ASPECT_RATIO_UNSET, LAYOUT_SCALE_TO_FIT); + } - public Presentation build() { - return new Presentation(outputHeight, aspectRatio, layout); - } + /** + * Creates a new {@link Presentation} instance. + * + *

The output frame will have the given width and height, given a {@link Layout}. + * + *

Width and height must be positive integers representing the output frame's width and height. + * + * @param width The width of the output frame, in pixels. + * @param height The height of the output frame, in pixels. + * @param layout The layout of the output frame. + */ + public static Presentation createForWidthAndHeight(int width, int height, @Layout int layout) { + checkArgument(width > 0, "width " + width + " must be positive"); + checkArgument(height > 0, "height " + height + " must be positive"); + checkLayout(layout); + return new Presentation(width, height, ASPECT_RATIO_UNSET, layout); } + private final int requestedWidthPixels; private final int requestedHeightPixels; - private final float requestedAspectRatio; + private float requestedAspectRatio; private final @Layout int layout; private float outputWidth; private float outputHeight; private @MonotonicNonNull Matrix transformationMatrix; - /** Creates a new instance. */ - private Presentation(int requestedHeightPixels, float requestedAspectRatio, @Layout int layout) { - this.requestedHeightPixels = requestedHeightPixels; - this.requestedAspectRatio = requestedAspectRatio; + private Presentation(int width, int height, float aspectRatio, @Layout int layout) { + checkArgument( + (aspectRatio == C.LENGTH_UNSET) || (width == C.LENGTH_UNSET), + "width and aspect ratio should not both be set"); + + this.requestedWidthPixels = width; + this.requestedHeightPixels = height; + this.requestedAspectRatio = aspectRatio; this.layout = layout; outputWidth = C.LENGTH_UNSET; @@ -191,13 +189,21 @@ public Size configure(int inputWidth, int inputHeight) { outputWidth = inputWidth; outputHeight = inputHeight; + if ((requestedWidthPixels != C.LENGTH_UNSET) && (requestedHeightPixels != C.LENGTH_UNSET)) { + requestedAspectRatio = (float) requestedWidthPixels / requestedHeightPixels; + } + if (requestedAspectRatio != C.LENGTH_UNSET) { applyAspectRatio(); } - // Scale width and height to desired requestedHeightPixels, preserving aspect ratio. - if (requestedHeightPixels != C.LENGTH_UNSET && requestedHeightPixels != outputHeight) { - outputWidth = requestedHeightPixels * outputWidth / outputHeight; + // Scale output width and height to requested values. + if (requestedHeightPixels != C.LENGTH_UNSET) { + if (requestedWidthPixels != C.LENGTH_UNSET) { + outputWidth = requestedWidthPixels; + } else { + outputWidth = requestedHeightPixels * outputWidth / outputHeight; + } outputHeight = requestedHeightPixels; } return new Size(Math.round(outputWidth), Math.round(outputHeight)); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 6c05da6c514..2a7a9aa37cc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -88,8 +88,7 @@ public VideoTranscodingSamplePipeline( .build()); } if (transformationRequest.outputHeight != C.LENGTH_UNSET) { - effectsListBuilder.add( - new Presentation.Builder().setResolution(transformationRequest.outputHeight).build()); + effectsListBuilder.add(Presentation.createForHeight(transformationRequest.outputHeight)); } AtomicReference encoderInitializationException = diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java index 60f857c059c..6631ab3cef4 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import android.util.Size; +import androidx.media3.common.C; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; @@ -33,7 +34,7 @@ public final class PresentationTest { public void configure_noEdits_leavesFramesUnchanged() { int inputWidth = 200; int inputHeight = 150; - Presentation presentation = new Presentation.Builder().build(); + Presentation presentation = Presentation.createForHeight(C.LENGTH_UNSET); Size outputSize = presentation.configure(inputWidth, inputHeight); @@ -42,11 +43,11 @@ public void configure_noEdits_leavesFramesUnchanged() { } @Test - public void configure_setResolution_changesDimensions() { + public void configure_createForHeight_changesDimensions() { int inputWidth = 200; int inputHeight = 150; int requestedHeight = 300; - Presentation presentation = new Presentation.Builder().setResolution(requestedHeight).build(); + Presentation presentation = Presentation.createForHeight(requestedHeight); Size outputSize = presentation.configure(inputWidth, inputHeight); @@ -55,14 +56,12 @@ public void configure_setResolution_changesDimensions() { } @Test - public void configure_setAspectRatio_changesDimensions() { + public void configure_createForAspectRatio_changesDimensions() { int inputWidth = 300; int inputHeight = 200; float aspectRatio = 2f; Presentation presentation = - new Presentation.Builder() - .setAspectRatio(aspectRatio, Presentation.LAYOUT_SCALE_TO_FIT) - .build(); + Presentation.createForAspectRatio(aspectRatio, Presentation.LAYOUT_SCALE_TO_FIT); Size outputSize = presentation.configure(inputWidth, inputHeight); @@ -71,20 +70,18 @@ public void configure_setAspectRatio_changesDimensions() { } @Test - public void configure_setAspectRatioAndResolution_changesDimensions() { + public void configure_createForWidthAndHeight_changesDimensions() { int inputWidth = 300; int inputHeight = 200; - float aspectRatio = 2f; - int requestedHeight = 100; + int requestedWidth = 100; + int requestedHeight = 300; Presentation presentation = - new Presentation.Builder() - .setAspectRatio(aspectRatio, Presentation.LAYOUT_SCALE_TO_FIT) - .setResolution(requestedHeight) - .build(); + Presentation.createForWidthAndHeight( + requestedWidth, requestedHeight, Presentation.LAYOUT_SCALE_TO_FIT); Size outputSize = presentation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(Math.round(aspectRatio * requestedHeight)); + assertThat(outputSize.getWidth()).isEqualTo(requestedWidth); assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); } } From 0007a47365396063f18e25c5b5590b233329d92b Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 22 Jun 2022 12:03:41 +0100 Subject: [PATCH 025/422] Support chaining async GlTextureProcessors in FrameProcessorChain. After this change, FrameProcessorChain chains any GlTextureProcessors instead of only SingleFrameGlTextureProcessors. The GlTextureProcessors are chained in a bidirectional manner using ChainingGlTextureProcessorListener to feed input and output related events forward and release events backwards. PiperOrigin-RevId: 456478414 (cherry picked from commit 555ab97e34d6586d38a9979bc0595a4818b7ecb8) --- .../demo/transformer/TransformerActivity.java | 21 + ...lMatrixTransformationProcessorWrapper.java | 342 +++++++++++ .../transformer/FrameProcessorChain.java | 553 +++++++----------- .../SingleFrameGlTextureProcessor.java | 10 + .../VideoTranscodingSamplePipeline.java | 23 +- .../transformer/VideoEncoderWrapperTest.java | 3 +- 6 files changed, 582 insertions(+), 370 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 57370ff7612..2c0b38fbf94 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -17,6 +17,7 @@ import static android.Manifest.permission.READ_EXTERNAL_STORAGE; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; import android.app.Activity; import android.content.Context; @@ -420,9 +421,28 @@ private void showToast(@StringRes int messageResource) { private final class DemoDebugViewProvider implements Transformer.DebugViewProvider { + private @MonotonicNonNull SurfaceView surfaceView; + private int width; + private int height; + + public DemoDebugViewProvider() { + width = C.LENGTH_UNSET; + height = C.LENGTH_UNSET; + } + @Nullable @Override public SurfaceView getDebugPreviewSurfaceView(int width, int height) { + checkState( + surfaceView == null || (this.width == width && this.height == height), + "Transformer should not change the output size mid-transformation."); + if (surfaceView != null) { + return surfaceView; + } + + this.width = width; + this.height = height; + // Update the UI on the main thread and wait for the output surface to be available. CountDownLatch surfaceCreatedCountDownLatch = new CountDownLatch(1); SurfaceView surfaceView = new SurfaceView(/* context= */ TransformerActivity.this); @@ -459,6 +479,7 @@ public void surfaceDestroyed(SurfaceHolder surfaceHolder) { Thread.currentThread().interrupt(); return null; } + this.surfaceView = surfaceView; return surfaceView; } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java new file mode 100644 index 00000000000..e582af33091 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -0,0 +1,342 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkState; + +import android.content.Context; +import android.opengl.EGL14; +import android.opengl.EGLContext; +import android.opengl.EGLDisplay; +import android.opengl.EGLExt; +import android.opengl.EGLSurface; +import android.util.Size; +import android.view.Surface; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import androidx.annotation.GuardedBy; +import androidx.annotation.Nullable; +import androidx.annotation.WorkerThread; +import androidx.media3.common.C; +import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.Log; +import com.google.common.collect.ImmutableList; +import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + +/** + * Wrapper around a {@link GlTextureProcessor} that writes to the provided output surface and + * optional debug surface view. + * + *

The wrapped {@link GlTextureProcessor} applies the {@link GlMatrixTransformation} instances + * passed to the constructor, followed by any transformations needed to convert the frames to the + * dimensions specified by the provided {@link SurfaceInfo}. + * + *

This wrapper is used for the final {@link GlTextureProcessor} instance in the chain of {@link + * GlTextureProcessor} instances used by {@link FrameProcessorChain}. + */ +/* package */ final class FinalMatrixTransformationProcessorWrapper implements GlTextureProcessor { + + private static final String TAG = "FinalProcessorWrapper"; + + private final Context context; + private final ImmutableList matrixTransformations; + private final EGLDisplay eglDisplay; + private final EGLContext eglContext; + private final SurfaceInfo.Provider outputSurfaceProvider; + private final long streamOffsetUs; + private final Transformer.DebugViewProvider debugViewProvider; + private final FrameProcessorChain.Listener frameProcessorChainListener; + private final boolean enableExperimentalHdrEditing; + + private int inputWidth; + private int inputHeight; + @Nullable private MatrixTransformationProcessor matrixTransformationProcessor; + @Nullable private SurfaceInfo outputSurfaceInfo; + @Nullable private EGLSurface outputEglSurface; + @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; + private @MonotonicNonNull Listener listener; + + public FinalMatrixTransformationProcessorWrapper( + Context context, + EGLDisplay eglDisplay, + EGLContext eglContext, + ImmutableList matrixTransformations, + SurfaceInfo.Provider outputSurfaceProvider, + long streamOffsetUs, + FrameProcessorChain.Listener listener, + Transformer.DebugViewProvider debugViewProvider, + boolean enableExperimentalHdrEditing) { + this.context = context; + this.matrixTransformations = matrixTransformations; + this.eglDisplay = eglDisplay; + this.eglContext = eglContext; + this.outputSurfaceProvider = outputSurfaceProvider; + this.streamOffsetUs = streamOffsetUs; + this.debugViewProvider = debugViewProvider; + this.frameProcessorChainListener = listener; + this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; + } + + /** + * {@inheritDoc} + * + *

The {@code FinalMatrixTransformationProcessorWrapper} will only call {@link + * Listener#onInputFrameProcessed(TextureInfo)}. Other events are handled via the {@link + * FrameProcessorChain.Listener} passed to the constructor. + */ + @Override + public void setListener(Listener listener) { + this.listener = listener; + } + + @Override + public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + try { + if (!ensureConfigured(inputTexture.width, inputTexture.height)) { + return false; + } + + EGLSurface outputEglSurface = this.outputEglSurface; + SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; + MatrixTransformationProcessor matrixTransformationProcessor = + this.matrixTransformationProcessor; + + GlUtil.focusEglSurface( + eglDisplay, + eglContext, + outputEglSurface, + outputSurfaceInfo.width, + outputSurfaceInfo.height); + GlUtil.clearOutputFrame(); + matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + EGLExt.eglPresentationTimeANDROID( + eglDisplay, + outputEglSurface, + /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUs) * 1000); + EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); + } catch (FrameProcessingException | GlUtil.GlException e) { + frameProcessorChainListener.onFrameProcessingError( + FrameProcessingException.from(e, presentationTimeUs)); + } + + if (debugSurfaceViewWrapper != null && matrixTransformationProcessor != null) { + MatrixTransformationProcessor matrixTransformationProcessor = + this.matrixTransformationProcessor; + try { + debugSurfaceViewWrapper.maybeRenderToSurfaceView( + () -> { + GlUtil.clearOutputFrame(); + matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + }); + } catch (FrameProcessingException | GlUtil.GlException e) { + Log.d(TAG, "Error rendering to debug preview", e); + } + } + if (listener != null) { + listener.onInputFrameProcessed(inputTexture); + } + return true; + } + + @EnsuresNonNullIf( + expression = {"outputSurfaceInfo", "outputEglSurface", "matrixTransformationProcessor"}, + result = true) + private boolean ensureConfigured(int inputWidth, int inputHeight) + throws FrameProcessingException, GlUtil.GlException { + if (inputWidth == this.inputWidth + && inputHeight == this.inputHeight + && outputSurfaceInfo != null + && outputEglSurface != null + && matrixTransformationProcessor != null) { + return true; + } + + this.inputWidth = inputWidth; + this.inputHeight = inputHeight; + Size requestedOutputSize = + MatrixUtils.configureAndGetOutputSize(inputWidth, inputHeight, matrixTransformations); + @Nullable + SurfaceInfo outputSurfaceInfo = + outputSurfaceProvider.getSurfaceInfo( + requestedOutputSize.getWidth(), requestedOutputSize.getHeight()); + if (outputSurfaceInfo == null) { + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.release(); + matrixTransformationProcessor = null; + } + outputEglSurface = null; + return false; + } + if (outputSurfaceInfo == this.outputSurfaceInfo + && outputEglSurface != null + && matrixTransformationProcessor != null) { + return true; + } + + EGLSurface outputEglSurface; + if (enableExperimentalHdrEditing) { + // TODO(b/227624622): Don't assume BT.2020 PQ input/output. + outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurfaceInfo.surface); + } else { + outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); + } + + @Nullable + SurfaceView debugSurfaceView = + debugViewProvider.getDebugPreviewSurfaceView( + outputSurfaceInfo.width, outputSurfaceInfo.height); + if (debugSurfaceView != null) { + debugSurfaceViewWrapper = + new SurfaceViewWrapper( + eglDisplay, eglContext, enableExperimentalHdrEditing, debugSurfaceView); + } + + matrixTransformationProcessor = + createMatrixTransformationProcessorForOutputSurface(requestedOutputSize, outputSurfaceInfo); + + this.outputSurfaceInfo = outputSurfaceInfo; + this.outputEglSurface = outputEglSurface; + return true; + } + + private MatrixTransformationProcessor createMatrixTransformationProcessorForOutputSurface( + Size requestedOutputSize, SurfaceInfo outputSurfaceInfo) throws FrameProcessingException { + ImmutableList.Builder matrixTransformationListBuilder = + new ImmutableList.Builder().addAll(matrixTransformations); + if (outputSurfaceInfo.orientationDegrees != 0) { + matrixTransformationListBuilder.add( + new ScaleToFitTransformation.Builder() + .setRotationDegrees(outputSurfaceInfo.orientationDegrees) + .build()); + } + if (outputSurfaceInfo.width != requestedOutputSize.getWidth() + || outputSurfaceInfo.height != requestedOutputSize.getHeight()) { + matrixTransformationListBuilder.add( + Presentation.createForWidthAndHeight( + outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); + } + + MatrixTransformationProcessor matrixTransformationProcessor = + new MatrixTransformationProcessor(context, matrixTransformationListBuilder.build()); + Size outputSize = matrixTransformationProcessor.configure(inputWidth, inputHeight); + checkState(outputSize.getWidth() == outputSurfaceInfo.width); + checkState(outputSize.getHeight() == outputSurfaceInfo.height); + return matrixTransformationProcessor; + } + + @Override + public void releaseOutputFrame(TextureInfo outputTexture) { + throw new UnsupportedOperationException( + "The final texture processor writes to a surface so there is no texture to release"); + } + + @Override + public void signalEndOfInputStream() { + frameProcessorChainListener.onFrameProcessingEnded(); + } + + @Override + @WorkerThread + public void release() throws FrameProcessingException { + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.release(); + } + } + + /** + * Wrapper around a {@link SurfaceView} that keeps track of whether the output surface is valid, + * and makes rendering a no-op if not. + */ + private static final class SurfaceViewWrapper implements SurfaceHolder.Callback { + private final EGLDisplay eglDisplay; + private final EGLContext eglContext; + private final boolean enableExperimentalHdrEditing; + + @GuardedBy("this") + @Nullable + private Surface surface; + + @GuardedBy("this") + @Nullable + private EGLSurface eglSurface; + + private int width; + private int height; + + public SurfaceViewWrapper( + EGLDisplay eglDisplay, + EGLContext eglContext, + boolean enableExperimentalHdrEditing, + SurfaceView surfaceView) { + this.eglDisplay = eglDisplay; + this.eglContext = eglContext; + this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; + surfaceView.getHolder().addCallback(this); + surface = surfaceView.getHolder().getSurface(); + width = surfaceView.getWidth(); + height = surfaceView.getHeight(); + } + + /** + * Focuses the wrapped surface view's surface as an {@link EGLSurface}, renders using {@code + * renderingTask} and swaps buffers, if the view's holder has a valid surface. Does nothing + * otherwise. + */ + @WorkerThread + public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingTask) + throws GlUtil.GlException, FrameProcessingException { + if (surface == null) { + return; + } + + if (eglSurface == null) { + if (enableExperimentalHdrEditing) { + eglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, surface); + } else { + eglSurface = GlUtil.getEglSurface(eglDisplay, surface); + } + } + EGLSurface eglSurface = this.eglSurface; + GlUtil.focusEglSurface(eglDisplay, eglContext, eglSurface, width, height); + renderingTask.run(); + EGL14.eglSwapBuffers(eglDisplay, eglSurface); + } + + @Override + public void surfaceCreated(SurfaceHolder holder) {} + + @Override + public synchronized void surfaceChanged( + SurfaceHolder holder, int format, int width, int height) { + this.width = width; + this.height = height; + Surface newSurface = holder.getSurface(); + if (surface == null || !surface.equals(newSurface)) { + surface = newSurface; + eglSurface = null; + } + } + + @Override + public synchronized void surfaceDestroyed(SurfaceHolder holder) { + surface = null; + eglSurface = null; + width = C.LENGTH_UNSET; + height = C.LENGTH_UNSET; + } + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java index 8476dadabbc..3ebc57741d3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java @@ -17,35 +17,24 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; -import static com.google.common.collect.Iterables.getLast; import android.content.Context; import android.graphics.SurfaceTexture; import android.opengl.EGL14; import android.opengl.EGLContext; import android.opengl.EGLDisplay; -import android.opengl.EGLExt; -import android.opengl.EGLSurface; -import android.util.Size; import android.view.Surface; -import android.view.SurfaceHolder; -import android.view.SurfaceView; -import androidx.annotation.GuardedBy; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import androidx.media3.common.C; import androidx.media3.common.util.GlUtil; -import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; -import com.google.common.base.Optional; import com.google.common.collect.ImmutableList; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * {@code FrameProcessorChain} applies changes to individual video frames. @@ -53,10 +42,10 @@ *

Input becomes available on its {@linkplain #getInputSurface() input surface} asynchronously * and is processed on a background thread as it becomes available. All input frames should be * {@linkplain #registerInputFrame() registered} before they are rendered to the input surface. - * {@link #getPendingFrameCount()} can be used to check whether there are frames that have not been - * fully processed yet. Output is written to the provided {@linkplain #create(Context, Listener, - * float, int, int, long, List, SurfaceInfo.Provider, Transformer.DebugViewProvider, boolean) output - * surface}. + * {@link #getPendingInputFrameCount()} can be used to check whether there are frames that have not + * been fully processed yet. Output is written to the provided {@linkplain #create(Context, + * Listener, float, int, int, long, List, SurfaceInfo.Provider, Transformer.DebugViewProvider, + * boolean) output surface}. */ // TODO(b/227625423): Factor out FrameProcessor interface and rename this class to GlFrameProcessor. /* package */ final class FrameProcessorChain { @@ -93,17 +82,13 @@ public interface Listener { * Surface}. * @param debugViewProvider A {@link Transformer.DebugViewProvider}. * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. - * @return A new instance or {@code null}, if no output surface was provided. + * @return A new instance. * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while * creating and configuring the OpenGL components. */ - // TODO(b/227625423): Remove @Nullable here and allow the output surface to be @Nullable until - // the output surface is requested when the output size becomes available asynchronously - // via the final GlTextureProcessor. - @Nullable public static FrameProcessorChain create( Context context, - Listener listener, + FrameProcessorChain.Listener listener, float pixelWidthHeightRatio, int inputWidth, int inputHeight, @@ -118,25 +103,24 @@ public static FrameProcessorChain create( ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); - Future> frameProcessorChainFuture = + Future frameProcessorChainFuture = singleThreadExecutorService.submit( () -> - Optional.fromNullable( - createOpenGlObjectsAndFrameProcessorChain( - context, - listener, - pixelWidthHeightRatio, - inputWidth, - inputHeight, - streamOffsetUs, - effects, - outputSurfaceProvider, - debugViewProvider, - enableExperimentalHdrEditing, - singleThreadExecutorService))); + createOpenGlObjectsAndFrameProcessorChain( + context, + listener, + pixelWidthHeightRatio, + inputWidth, + inputHeight, + streamOffsetUs, + effects, + outputSurfaceProvider, + debugViewProvider, + enableExperimentalHdrEditing, + singleThreadExecutorService)); try { - return frameProcessorChainFuture.get().orNull(); + return frameProcessorChainFuture.get(); } catch (ExecutionException e) { throw new FrameProcessingException(e); } catch (InterruptedException e) { @@ -146,18 +130,17 @@ public static FrameProcessorChain create( } /** - * Creates the OpenGL context, surfaces, textures, and framebuffers, initializes the {@link - * SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} corresponding to the {@link - * GlEffect GlEffects}, and returns a new {@code FrameProcessorChain}. + * Creates the OpenGL context, surfaces, textures, and framebuffers, initializes {@link + * GlTextureProcessor} instances corresponding to the {@link GlEffect} instances, and returns a + * new {@code FrameProcessorChain}. * - *

This method must be executed using the {@code singleThreadExecutorService}, as all later - * OpenGL commands will be called on that thread. + *

This method must be executed using the {@code singleThreadExecutorService}, as later OpenGL + * commands will be called on that thread. */ @WorkerThread - @Nullable private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( Context context, - Listener listener, + FrameProcessorChain.Listener listener, float pixelWidthHeightRatio, int inputWidth, int inputHeight, @@ -188,132 +171,151 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder<>(); - // Scale to expand the frame to apply the pixelWidthHeightRatio. - if (pixelWidthHeightRatio > 1f) { - matrixTransformationListBuilder.add( - new ScaleToFitTransformation.Builder() - .setScale(/* scaleX= */ pixelWidthHeightRatio, /* scaleY= */ 1f) - .build()); - } else if (pixelWidthHeightRatio < 1f) { + if (pixelWidthHeightRatio != 1f) { matrixTransformationListBuilder.add( - new ScaleToFitTransformation.Builder() - .setScale(/* scaleX= */ 1f, /* scaleY= */ 1f / pixelWidthHeightRatio) - .build()); + createPixelWidthHeightRatioTransformation(pixelWidthHeightRatio)); } + ImmutableList textureProcessors = + getGlTextureProcessorsForGlEffects( + context, + effects, + eglDisplay, + eglContext, + matrixTransformationListBuilder, + outputSurfaceProvider, + streamOffsetUs, + listener, + debugViewProvider, + enableExperimentalHdrEditing); + ExternalTextureProcessor externalTextureProcessor = new ExternalTextureProcessor(context, enableExperimentalHdrEditing); - int inputExternalTexId = GlUtil.createExternalTexture(); - Size outputSize = externalTextureProcessor.configure(inputWidth, inputHeight); - ImmutableList.Builder intermediateTextures = new ImmutableList.Builder<>(); - ImmutableList.Builder textureProcessors = - new ImmutableList.Builder().add(externalTextureProcessor); - - // Combine consecutive GlMatrixTransformations into a single SingleFrameGlTextureProcessor and - // convert all other GlEffects to SingleFrameGlTextureProcessors. + FrameProcessingTaskExecutor frameProcessingTaskExecutor = + new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); + chainTextureProcessorsWithListeners( + externalTextureProcessor, textureProcessors, frameProcessingTaskExecutor, listener); + + return new FrameProcessorChain( + eglDisplay, + eglContext, + frameProcessingTaskExecutor, + streamOffsetUs, + /* inputExternalTexture= */ new TextureInfo( + GlUtil.createExternalTexture(), /* fboId= */ C.INDEX_UNSET, inputWidth, inputHeight), + externalTextureProcessor, + textureProcessors); + } + + /** + * Returns a new {@link GlMatrixTransformation} to expand or shrink the frame based on the {@code + * pixelWidthHeightRatio}. + * + *

If {@code pixelWidthHeightRatio} is 1, this method returns an identity transformation that + * can be ignored. + */ + private static GlMatrixTransformation createPixelWidthHeightRatioTransformation( + float pixelWidthHeightRatio) { + if (pixelWidthHeightRatio > 1f) { + return new ScaleToFitTransformation.Builder() + .setScale(/* scaleX= */ pixelWidthHeightRatio, /* scaleY= */ 1f) + .build(); + } else { + return new ScaleToFitTransformation.Builder() + .setScale(/* scaleX= */ 1f, /* scaleY= */ 1f / pixelWidthHeightRatio) + .build(); + } + } + + /** + * Combines consecutive {@link GlMatrixTransformation} instances into a single {@link + * MatrixTransformationProcessor} and converts all other {@link GlEffect} instances to separate + * {@link GlTextureProcessor} instances. + * + *

The final {@link GlTextureProcessor} is wrapped in a {@link + * FinalMatrixTransformationProcessorWrapper} so that it can write directly to the {@linkplain + * SurfaceInfo.Provider provided output surface}. + */ + private static ImmutableList getGlTextureProcessorsForGlEffects( + Context context, + List effects, + EGLDisplay eglDisplay, + EGLContext eglContext, + ImmutableList.Builder matrixTransformationListBuilder, + SurfaceInfo.Provider outputSurfaceProvider, + long streamOffsetUs, + FrameProcessorChain.Listener listener, + Transformer.DebugViewProvider debugViewProvider, + boolean enableExperimentalHdrEditing) + throws FrameProcessingException { + ImmutableList.Builder textureProcessorListBuilder = + new ImmutableList.Builder<>(); for (int i = 0; i < effects.size(); i++) { GlEffect effect = effects.get(i); if (effect instanceof GlMatrixTransformation) { matrixTransformationListBuilder.add((GlMatrixTransformation) effect); continue; } - ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty()) { - MatrixTransformationProcessor matrixTransformationProcessor = - new MatrixTransformationProcessor(context, matrixTransformations); - intermediateTextures.add(createTexture(outputSize.getWidth(), outputSize.getHeight())); - outputSize = - matrixTransformationProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); - textureProcessors.add(matrixTransformationProcessor); + textureProcessorListBuilder.add( + new MatrixTransformationProcessor(context, matrixTransformations)); matrixTransformationListBuilder = new ImmutableList.Builder<>(); } - intermediateTextures.add(createTexture(outputSize.getWidth(), outputSize.getHeight())); - SingleFrameGlTextureProcessor textureProcessor = effect.toGlTextureProcessor(context); - outputSize = textureProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); - textureProcessors.add(textureProcessor); - } - - // TODO(b/227625423): Request the output surface during processing when the output size becomes - // available asynchronously via the final GlTextureProcessor instead of requesting it here. - // This will also avoid needing to return null here when no surface is provided. - Size requestedOutputSize = - MatrixUtils.configureAndGetOutputSize( - outputSize.getWidth(), outputSize.getHeight(), matrixTransformationListBuilder.build()); - @Nullable - SurfaceInfo outputSurfaceInfo = - outputSurfaceProvider.getSurfaceInfo( - requestedOutputSize.getWidth(), requestedOutputSize.getHeight()); - if (outputSurfaceInfo == null) { - Log.d(TAG, "No output surface provided."); - return null; - } - - if (outputSurfaceInfo.orientationDegrees != 0) { - matrixTransformationListBuilder.add( - new ScaleToFitTransformation.Builder() - .setRotationDegrees(outputSurfaceInfo.orientationDegrees) - .build()); - } - if (outputSurfaceInfo.width != outputSize.getWidth() - || outputSurfaceInfo.height != outputSize.getHeight()) { - matrixTransformationListBuilder.add( - Presentation.createForWidthAndHeight( - outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); - } - - // Convert final list of matrix transformations (including additional transformations for the - // output surface) to a SingleFrameGlTextureProcessors. - ImmutableList matrixTransformations = - matrixTransformationListBuilder.build(); - if (!matrixTransformations.isEmpty()) { - intermediateTextures.add(createTexture(outputSize.getWidth(), outputSize.getHeight())); - MatrixTransformationProcessor matrixTransformationProcessor = - new MatrixTransformationProcessor(context, matrixTransformations); - outputSize = - matrixTransformationProcessor.configure(outputSize.getWidth(), outputSize.getHeight()); - checkState(outputSize.getWidth() == outputSurfaceInfo.width); - checkState(outputSize.getHeight() == outputSurfaceInfo.height); - textureProcessors.add(matrixTransformationProcessor); - } - - EGLSurface outputEglSurface; - if (enableExperimentalHdrEditing) { - // TODO(b/227624622): Don't assume BT.2020 PQ input/output. - outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurfaceInfo.surface); - } else { - outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); + textureProcessorListBuilder.add(effect.toGlTextureProcessor(context)); } - return new FrameProcessorChain( - eglDisplay, - eglContext, - singleThreadExecutorService, - inputExternalTexId, - streamOffsetUs, - intermediateTextures.build(), - textureProcessors.build(), - outputSurfaceInfo.width, - outputSurfaceInfo.height, - outputEglSurface, - listener, - debugViewProvider.getDebugPreviewSurfaceView( - outputSurfaceInfo.width, outputSurfaceInfo.height), - enableExperimentalHdrEditing); + textureProcessorListBuilder.add( + new FinalMatrixTransformationProcessorWrapper( + context, + eglDisplay, + eglContext, + matrixTransformationListBuilder.build(), + outputSurfaceProvider, + streamOffsetUs, + listener, + debugViewProvider, + enableExperimentalHdrEditing)); + return textureProcessorListBuilder.build(); } - private static TextureInfo createTexture(int outputWidth, int outputHeight) - throws GlUtil.GlException { - int texId = GlUtil.createTexture(outputWidth, outputHeight); - int fboId = GlUtil.createFboForTexture(texId); - return new TextureInfo(texId, fboId, outputWidth, outputHeight); + /** + * Chains the given {@link GlTextureProcessor} instances using {@link + * ChainingGlTextureProcessorListener} instances. + * + *

The {@link ExternalTextureProcessor} is the first processor in the chain. + */ + private static void chainTextureProcessorsWithListeners( + ExternalTextureProcessor externalTextureProcessor, + ImmutableList textureProcessors, + FrameProcessingTaskExecutor frameProcessingTaskExecutor, + FrameProcessorChain.Listener listener) { + externalTextureProcessor.setListener( + new ChainingGlTextureProcessorListener( + /* previousGlTextureProcessor= */ null, + textureProcessors.get(0), + frameProcessingTaskExecutor, + listener)); + GlTextureProcessor previousGlTextureProcessor = externalTextureProcessor; + for (int i = 0; i < textureProcessors.size(); i++) { + GlTextureProcessor glTextureProcessor = textureProcessors.get(i); + @Nullable + GlTextureProcessor nextGlTextureProcessor = + i + 1 < textureProcessors.size() ? textureProcessors.get(i + 1) : null; + glTextureProcessor.setListener( + new ChainingGlTextureProcessorListener( + previousGlTextureProcessor, + nextGlTextureProcessor, + frameProcessingTaskExecutor, + listener)); + previousGlTextureProcessor = glTextureProcessor; + } } private static final String TAG = "FrameProcessorChain"; private static final String THREAD_NAME = "Transformer:FrameProcessorChain"; private static final long RELEASE_WAIT_TIME_MS = 100; - private final boolean enableExperimentalHdrEditing; private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; @@ -322,100 +324,52 @@ private static TextureInfo createTexture(int outputWidth, int outputHeight) * timestamps, in microseconds. */ private final long streamOffsetUs; - /** Number of frames {@linkplain #registerInputFrame() registered} but not fully processed. */ - private final AtomicInteger pendingFrameCount; - /** Wraps the {@link #inputSurfaceTexture}. */ - private final Surface inputSurface; - /** Associated with an OpenGL external texture. */ - private final SurfaceTexture inputSurfaceTexture; - /** Identifier of the OpenGL texture associated with the input {@link SurfaceTexture}. */ - private final int inputExternalTexId; - /** Transformation matrix associated with the {@link #inputSurfaceTexture}. */ - private final float[] textureTransformMatrix; - /** - * Contains an {@link ExternalTextureProcessor} at the 0th index and optionally other {@link - * SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} at indices >= 1. + * Number of frames {@linkplain #registerInputFrame() registered} but not processed off the {@link + * #inputSurfaceTexture} yet. */ - private final ImmutableList textureProcessors; - - /** - * {@link TextureInfo} instances describing the intermediate textures that receive output from the - * previous {@link SingleFrameGlTextureProcessor}, and provide input for the following {@link - * SingleFrameGlTextureProcessor}. - */ - private final ImmutableList intermediateTextures; - - private final Listener listener; - - /** - * Prevents further frame processing tasks from being scheduled or executed after {@link - * #release()} is called or an exception occurred. - */ - private final AtomicBoolean stopProcessing; + private final AtomicInteger pendingInputFrameCount; + /** Associated with an OpenGL external texture. */ + private final SurfaceTexture inputSurfaceTexture; + /** Wraps the {@link #inputSurfaceTexture}. */ + private final Surface inputSurface; - private final int outputWidth; - private final int outputHeight; - /** - * Wraps the output {@link Surface} that is populated with the output of the final {@link - * SingleFrameGlTextureProcessor} for each frame. - */ - private final EGLSurface outputEglSurface; - /** - * Wraps a debug {@link SurfaceView} that is populated with the output of the final {@link - * SingleFrameGlTextureProcessor} for each frame. - */ - private @MonotonicNonNull SurfaceViewWrapper debugSurfaceViewWrapper; + private final float[] inputSurfaceTextureTransformMatrix; + private final TextureInfo inputExternalTexture; + private final ExternalTextureProcessor inputExternalTextureProcessor; + private final ImmutableList textureProcessors; private boolean inputStreamEnded; - // TODO(b/227625423): accept GlTextureProcessors instead of SingleFrameGlTextureProcessors once - // this interface exists. private FrameProcessorChain( EGLDisplay eglDisplay, EGLContext eglContext, - ExecutorService singleThreadExecutorService, - int inputExternalTexId, + FrameProcessingTaskExecutor frameProcessingTaskExecutor, long streamOffsetUs, - ImmutableList intermediateTextures, - ImmutableList textureProcessors, - int outputWidth, - int outputHeight, - EGLSurface outputEglSurface, - Listener listener, - @Nullable SurfaceView debugSurfaceView, - boolean enableExperimentalHdrEditing) { + TextureInfo inputExternalTexture, + ExternalTextureProcessor inputExternalTextureProcessor, + ImmutableList textureProcessors) { checkState(!textureProcessors.isEmpty()); this.eglDisplay = eglDisplay; this.eglContext = eglContext; - this.inputExternalTexId = inputExternalTexId; + this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; this.streamOffsetUs = streamOffsetUs; - this.intermediateTextures = intermediateTextures; + this.inputExternalTexture = inputExternalTexture; + this.inputExternalTextureProcessor = inputExternalTextureProcessor; this.textureProcessors = textureProcessors; - this.outputWidth = outputWidth; - this.outputHeight = outputHeight; - this.outputEglSurface = outputEglSurface; - this.listener = listener; - this.stopProcessing = new AtomicBoolean(); - this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; - - frameProcessingTaskExecutor = - new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); - pendingFrameCount = new AtomicInteger(); - inputSurfaceTexture = new SurfaceTexture(inputExternalTexId); + + pendingInputFrameCount = new AtomicInteger(); + inputSurfaceTexture = new SurfaceTexture(inputExternalTexture.texId); inputSurface = new Surface(inputSurfaceTexture); - textureTransformMatrix = new float[16]; - if (debugSurfaceView != null) { - debugSurfaceViewWrapper = new SurfaceViewWrapper(debugSurfaceView); - } + inputSurfaceTextureTransformMatrix = new float[16]; } /** Returns the input {@link Surface}. */ public Surface getInputSurface() { // TODO(b/227625423): Allow input surface to be recreated for input size change. inputSurfaceTexture.setOnFrameAvailableListener( - surfaceTexture -> frameProcessingTaskExecutor.submit(this::processFrame)); + surfaceTexture -> frameProcessingTaskExecutor.submit(this::processInputFrame)); return inputSurface; } @@ -428,15 +382,15 @@ public Surface getInputSurface() { */ public void registerInputFrame() { checkState(!inputStreamEnded); - pendingFrameCount.incrementAndGet(); + pendingInputFrameCount.incrementAndGet(); } /** * Returns the number of input frames that have been {@linkplain #registerInputFrame() registered} - * but not completely processed yet. + * but not processed off the {@linkplain #getInputSurface() input surface} yet. */ - public int getPendingFrameCount() { - return pendingFrameCount.get(); + public int getPendingInputFrameCount() { + return pendingInputFrameCount.get(); } /** @@ -447,7 +401,7 @@ public int getPendingFrameCount() { public void signalEndOfInputStream() { checkState(!inputStreamEnded); inputStreamEnded = true; - frameProcessingTaskExecutor.submit(this::signalEndOfOutputStream); + frameProcessingTaskExecutor.submit(this::processEndOfInputStream); } /** @@ -461,7 +415,6 @@ public void signalEndOfInputStream() { *

This method blocks until all OpenGL resources are released or releasing times out. */ public void release() { - stopProcessing.set(true); try { frameProcessingTaskExecutor.release( /* releaseTask= */ this::releaseTextureProcessorsAndDestroyGlContext, @@ -475,163 +428,61 @@ public void release() { } /** - * Processes an input frame. + * Processes an input frame from the {@linkplain #getInputSurface() external input surface + * texture}. * *

This method must be called on the {@linkplain #THREAD_NAME background thread}. */ @WorkerThread - private void processFrame() throws FrameProcessingException { + private void processInputFrame() { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); + if (!inputExternalTextureProcessor.acceptsInputFrame()) { + frameProcessingTaskExecutor.submit(this::processInputFrame); // Try again later. + return; + } inputSurfaceTexture.updateTexImage(); long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); // Correct for the stream offset so processors see original media presentation timestamps. long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; - inputSurfaceTexture.getTransformMatrix(textureTransformMatrix); - ((ExternalTextureProcessor) textureProcessors.get(0)) - .setTextureTransformMatrix(textureTransformMatrix); - int inputTexId = inputExternalTexId; - - try { - for (int i = 0; i < textureProcessors.size() - 1; i++) { - if (stopProcessing.get()) { - return; - } - - TextureInfo outputTexture = intermediateTextures.get(i); - GlUtil.focusFramebuffer( - eglDisplay, - eglContext, - outputEglSurface, - outputTexture.fboId, - outputTexture.width, - outputTexture.height); - GlUtil.clearOutputFrame(); - textureProcessors.get(i).drawFrame(inputTexId, presentationTimeUs); - inputTexId = outputTexture.texId; - } - GlUtil.focusEglSurface(eglDisplay, eglContext, outputEglSurface, outputWidth, outputHeight); - GlUtil.clearOutputFrame(); - getLast(textureProcessors).drawFrame(inputTexId, presentationTimeUs); - - EGLExt.eglPresentationTimeANDROID(eglDisplay, outputEglSurface, inputFrameTimeNs); - EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e, presentationTimeUs); - } - - try { - if (debugSurfaceViewWrapper != null) { - long finalPresentationTimeUs = presentationTimeUs; - int finalInputTexId = inputTexId; - debugSurfaceViewWrapper.maybeRenderToSurfaceView( - () -> { - GlUtil.clearOutputFrame(); - getLast(textureProcessors).drawFrame(finalInputTexId, finalPresentationTimeUs); - }); - } - } catch (FrameProcessingException | GlUtil.GlException e) { - Log.d(TAG, "Error rendering to debug preview", e); - } - - checkState(pendingFrameCount.getAndDecrement() > 0); + inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); + inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); + checkState( + inputExternalTextureProcessor.maybeQueueInputFrame( + inputExternalTexture, presentationTimeUs)); + checkState(pendingInputFrameCount.getAndDecrement() > 0); + // After the inputExternalTextureProcessor has produced an output frame, it is processed + // asynchronously by the texture processors chained after it. } - /** Calls {@link Listener#onFrameProcessingEnded()} once no more frames are pending. */ + /** + * Propagates the end-of-stream signal through the texture processors once no more input frames + * are pending. + * + *

This method must be called on the {@linkplain #THREAD_NAME background thread}. + */ @WorkerThread - private void signalEndOfOutputStream() { - if (getPendingFrameCount() == 0) { - listener.onFrameProcessingEnded(); + private void processEndOfInputStream() { + if (getPendingInputFrameCount() == 0) { + // Propagates the end of stream signal through the chained texture processors. + inputExternalTextureProcessor.signalEndOfInputStream(); } else { - frameProcessingTaskExecutor.submit(this::signalEndOfOutputStream); + frameProcessingTaskExecutor.submit(this::processEndOfInputStream); } } /** - * Releases the {@link SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors} and destroys - * the OpenGL context. + * Releases the {@link GlTextureProcessor} instances and destroys the OpenGL context. * *

This method must be called on the {@linkplain #THREAD_NAME background thread}. */ @WorkerThread private void releaseTextureProcessorsAndDestroyGlContext() throws GlUtil.GlException, FrameProcessingException { + inputExternalTextureProcessor.release(); for (int i = 0; i < textureProcessors.size(); i++) { textureProcessors.get(i).release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } - - /** - * Wrapper around a {@link SurfaceView} that keeps track of whether the output surface is valid, - * and makes rendering a no-op if not. - */ - private final class SurfaceViewWrapper implements SurfaceHolder.Callback { - - @GuardedBy("this") - @Nullable - private Surface surface; - - @GuardedBy("this") - @Nullable - private EGLSurface eglSurface; - - private int width; - private int height; - - public SurfaceViewWrapper(SurfaceView surfaceView) { - surfaceView.getHolder().addCallback(this); - surface = surfaceView.getHolder().getSurface(); - width = surfaceView.getWidth(); - height = surfaceView.getHeight(); - } - - /** - * Focuses the wrapped surface view's surface as an {@link EGLSurface}, renders using {@code - * renderingTask} and swaps buffers, if the view's holder has a valid surface. Does nothing - * otherwise. - */ - @WorkerThread - public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingTask) - throws GlUtil.GlException, FrameProcessingException { - if (surface == null) { - return; - } - - if (eglSurface == null) { - if (enableExperimentalHdrEditing) { - eglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, surface); - } else { - eglSurface = GlUtil.getEglSurface(eglDisplay, surface); - } - } - EGLSurface eglSurface = this.eglSurface; - GlUtil.focusEglSurface(eglDisplay, eglContext, eglSurface, width, height); - renderingTask.run(); - EGL14.eglSwapBuffers(eglDisplay, eglSurface); - } - - @Override - public void surfaceCreated(SurfaceHolder holder) {} - - @Override - public synchronized void surfaceChanged( - SurfaceHolder holder, int format, int width, int height) { - this.width = width; - this.height = height; - Surface newSurface = holder.getSurface(); - if (surface == null || !surface.equals(newSurface)) { - surface = newSurface; - eglSurface = null; - } - } - - @Override - public synchronized void surfaceDestroyed(SurfaceHolder holder) { - surface = null; - eglSurface = null; - width = C.LENGTH_UNSET; - height = C.LENGTH_UNSET; - } - } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index 84f05c815ba..b767f973a5c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -75,6 +75,16 @@ public final void setListener(Listener listener) { this.listener = listener; } + /** + * Returns whether the {@code SingleFrameGlTextureProcessor} can accept an input frame. + * + *

If this method returns {@code true}, the next call to {@link #maybeQueueInputFrame( + * TextureInfo, long)} will also return {@code true}. + */ + public boolean acceptsInputFrame() { + return !outputTextureInUse; + } + @Override public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { if (outputTextureInUse) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 2a7a9aa37cc..3bdb16f73e1 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -17,7 +17,6 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; import android.media.MediaCodec; @@ -32,7 +31,6 @@ import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.List; -import java.util.concurrent.atomic.AtomicReference; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.dataflow.qual.Pure; @@ -91,8 +89,6 @@ public VideoTranscodingSamplePipeline( effectsListBuilder.add(Presentation.createForHeight(transformationRequest.outputHeight)); } - AtomicReference encoderInitializationException = - new AtomicReference<>(); encoderWrapper = new EncoderWrapper( encoderFactory, @@ -100,9 +96,8 @@ public VideoTranscodingSamplePipeline( allowedOutputMimeTypes, transformationRequest, fallbackListener, - encoderInitializationException); + asyncErrorListener); - @Nullable FrameProcessorChain frameProcessorChain; try { frameProcessorChain = FrameProcessorChain.create( @@ -137,12 +132,6 @@ public void onFrameProcessingEnded() { e, TransformationException.ERROR_CODE_GL_INIT_FAILED); } - if (frameProcessorChain == null) { - // Failed to create FrameProcessorChain because the encoder could not provide a surface. - throw checkStateNotNull(encoderInitializationException.get()); - } - this.frameProcessorChain = frameProcessorChain; - decoder = decoderFactory.createForVideoDecoding( inputFormat, @@ -266,7 +255,7 @@ private boolean maybeProcessDecoderOutput() throws TransformationException { } if (maxPendingFrameCount != Codec.UNLIMITED_PENDING_FRAME_COUNT - && frameProcessorChain.getPendingFrameCount() == maxPendingFrameCount) { + && frameProcessorChain.getPendingInputFrameCount() == maxPendingFrameCount) { return false; } @@ -303,7 +292,7 @@ private boolean isDecodeOnlyBuffer(long presentationTimeUs) { private final List allowedOutputMimeTypes; private final TransformationRequest transformationRequest; private final FallbackListener fallbackListener; - private final AtomicReference encoderInitializationException; + private final Transformer.AsyncErrorListener asyncErrorListener; private @MonotonicNonNull SurfaceInfo encoderSurfaceInfo; @@ -317,14 +306,14 @@ public EncoderWrapper( List allowedOutputMimeTypes, TransformationRequest transformationRequest, FallbackListener fallbackListener, - AtomicReference encoderInitializationException) { + Transformer.AsyncErrorListener asyncErrorListener) { this.encoderFactory = encoderFactory; this.inputFormat = inputFormat; this.allowedOutputMimeTypes = allowedOutputMimeTypes; this.transformationRequest = transformationRequest; this.fallbackListener = fallbackListener; - this.encoderInitializationException = encoderInitializationException; + this.asyncErrorListener = asyncErrorListener; } @Override @@ -365,7 +354,7 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) { encoder = encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); } catch (TransformationException e) { - encoderInitializationException.set(e); + asyncErrorListener.onTransformationException(e); return null; } Format encoderSupportedFormat = encoder.getConfigurationFormat(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java index e7e7c5e4f64..ac86e370dd2 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java @@ -29,7 +29,6 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.concurrent.atomic.AtomicReference; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -52,7 +51,7 @@ public final class VideoEncoderWrapperTest { /* allowedOutputMimeTypes= */ ImmutableList.of(), emptyTransformationRequest, fallbackListener, - new AtomicReference<>()); + mock(Transformer.AsyncErrorListener.class)); @Before public void registerTrack() { From 26ee3d32b2eb8cef7a19e227d863f79b6b57a7b6 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 22 Jun 2022 17:16:54 +0100 Subject: [PATCH 026/422] Use GlTextureProcessor to avoid redundant copy in MediaPipeProcessor. After this change GlEffects can use any GlTextureProcessor not just SingleFrameGlTextureProcessor. MediaPipeProcessor now implements GlTextureProcessor directly which allows it to reuse MediaPipe's output texture for its output texture and avoids an extra copy shader step. PiperOrigin-RevId: 456530718 (cherry picked from commit 69ab79418ef21033ca25cebdf5a5e80752818ab5) --- .../demo/transformer/TransformerActivity.java | 4 +- .../demo/transformer/MediaPipeProcessor.java | 157 +++++++++--------- .../FrameProcessorChainPixelTest.java | 2 +- ...lMatrixTransformationProcessorWrapper.java | 3 + .../androidx/media3/transformer/GlEffect.java | 10 +- .../media3/transformer/TextureInfo.java | 2 +- 6 files changed, 92 insertions(+), 86 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 2c0b38fbf94..0c41d8c1f46 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -44,8 +44,8 @@ import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.EncoderSelector; import androidx.media3.transformer.GlEffect; +import androidx.media3.transformer.GlTextureProcessor; import androidx.media3.transformer.ProgressHolder; -import androidx.media3.transformer.SingleFrameGlTextureProcessor; import androidx.media3.transformer.TransformationException; import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.TransformationResult; @@ -281,7 +281,7 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) effects.add( (Context context) -> { try { - return (SingleFrameGlTextureProcessor) + return (GlTextureProcessor) constructor.newInstance( context, /* graphName= */ "edge_detector_mediapipe_graph.binarypb", diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 2ceb8cf12f2..3fcd65e9fa3 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -20,27 +20,24 @@ import android.content.Context; import android.opengl.EGL14; -import android.opengl.GLES20; -import android.util.Size; -import androidx.media3.common.util.ConditionVariable; -import androidx.media3.common.util.GlProgram; -import androidx.media3.common.util.GlUtil; +import android.os.Build; +import androidx.annotation.ChecksSdkIntAtLeast; +import androidx.annotation.Nullable; +import androidx.media3.common.C; import androidx.media3.common.util.LibraryLoader; +import androidx.media3.common.util.Util; import androidx.media3.transformer.FrameProcessingException; -import androidx.media3.transformer.SingleFrameGlTextureProcessor; +import androidx.media3.transformer.GlTextureProcessor; +import androidx.media3.transformer.TextureInfo; import com.google.mediapipe.components.FrameProcessor; -import com.google.mediapipe.framework.AndroidAssetUtil; import com.google.mediapipe.framework.AppTextureFrame; import com.google.mediapipe.framework.TextureFrame; import com.google.mediapipe.glutil.EglManager; -import java.io.IOException; +import java.util.concurrent.ConcurrentHashMap; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; -/** - * Runs a MediaPipe graph on input frames. The implementation is currently limited to graphs that - * can immediately produce one output frame per input frame. - */ -/* package */ final class MediaPipeProcessor extends SingleFrameGlTextureProcessor { +/** Runs a MediaPipe graph on input frames. */ +/* package */ final class MediaPipeProcessor implements GlTextureProcessor { private static final LibraryLoader LOADER = new LibraryLoader("mediapipe_jni") { @@ -60,17 +57,14 @@ protected void loadLibrary(String name) { } } - private static final String COPY_VERTEX_SHADER_NAME = "vertex_shader_copy_es2.glsl"; - private static final String COPY_FRAGMENT_SHADER_NAME = "shaders/fragment_shader_copy_es2.glsl"; - - private final ConditionVariable frameProcessorConditionVariable; private final FrameProcessor frameProcessor; - private final GlProgram glProgram; - - private int inputWidth; - private int inputHeight; - private @MonotonicNonNull TextureFrame outputFrame; - private @MonotonicNonNull RuntimeException frameProcessorPendingError; + private volatile GlTextureProcessor.@MonotonicNonNull Listener listener; + private volatile boolean acceptedFrame; + // Only available from API 23 and above. + @Nullable private final ConcurrentHashMap outputFrames; + // Used instead for API 21 and 22. + @Nullable private volatile TextureInfo outputTexture; + @Nullable private volatile TextureFrame outputFrame; /** * Creates a new texture processor that wraps a MediaPipe graph. @@ -79,92 +73,103 @@ protected void loadLibrary(String name) { * @param graphName Name of a MediaPipe graph asset to load. * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. - * @throws FrameProcessingException If a problem occurs while reading shader files or initializing - * MediaPipe resources. */ + @SuppressWarnings("AndroidConcurrentHashMap") // Only used on API >= 23. public MediaPipeProcessor( - Context context, String graphName, String inputStreamName, String outputStreamName) - throws FrameProcessingException { + Context context, String graphName, String inputStreamName, String outputStreamName) { checkState(LOADER.isAvailable()); - - frameProcessorConditionVariable = new ConditionVariable(); - AndroidAssetUtil.initializeNativeAssetManager(context); EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext()); frameProcessor = new FrameProcessor( context, eglManager.getNativeContext(), graphName, inputStreamName, outputStreamName); - // Unblock drawFrame when there is an output frame or an error. + outputFrames = areMultipleOutputFramesSupported() ? new ConcurrentHashMap<>() : null; frameProcessor.setConsumer( frame -> { - outputFrame = frame; - frameProcessorConditionVariable.open(); + TextureInfo texture = + new TextureInfo( + frame.getTextureName(), + /* fboId= */ C.INDEX_UNSET, + frame.getWidth(), + frame.getHeight()); + if (areMultipleOutputFramesSupported()) { + checkStateNotNull(outputFrames).put(texture, frame); + } else { + outputFrame = frame; + outputTexture = texture; + } + if (listener != null) { + listener.onOutputFrameAvailable(texture, frame.getTimestamp()); + } }); frameProcessor.setAsynchronousErrorListener( error -> { - frameProcessorPendingError = error; - frameProcessorConditionVariable.open(); + if (listener != null) { + listener.onFrameProcessingError(new FrameProcessingException(error)); + } }); - try { - glProgram = new GlProgram(context, COPY_VERTEX_SHADER_NAME, COPY_FRAGMENT_SHADER_NAME); - } catch (IOException | GlUtil.GlException e) { - throw new FrameProcessingException(e); - } + frameProcessor.setOnWillAddFrameListener((long timestamp) -> acceptedFrame = true); } @Override - public Size configure(int inputWidth, int inputHeight) { - this.inputWidth = inputWidth; - this.inputHeight = inputHeight; - return new Size(inputWidth, inputHeight); + public void setListener(GlTextureProcessor.Listener listener) { + this.listener = listener; } @Override - public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { - frameProcessorConditionVariable.close(); + public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + if (!areMultipleOutputFramesSupported() && outputTexture != null) { + return false; + } - // Pass the input frame to MediaPipe. - AppTextureFrame appTextureFrame = new AppTextureFrame(inputTexId, inputWidth, inputHeight); + acceptedFrame = false; + AppTextureFrame appTextureFrame = + new AppTextureFrame(inputTexture.texId, inputTexture.width, inputTexture.height); appTextureFrame.setTimestamp(presentationTimeUs); checkStateNotNull(frameProcessor).onNewFrame(appTextureFrame); - - // Wait for output to be passed to the consumer. try { - frameProcessorConditionVariable.block(); + appTextureFrame.waitUntilReleasedWithGpuSync(); } catch (InterruptedException e) { - // Propagate the interrupted flag so the next blocking operation will throw. - // TODO(b/230469581): The next processor that runs will not have valid input due to returning - // early here. This could be fixed by checking for interruption in the outer loop that runs - // through the texture processors. Thread.currentThread().interrupt(); - return; + if (listener != null) { + listener.onFrameProcessingError(new FrameProcessingException(e)); + } } - - if (frameProcessorPendingError != null) { - throw new FrameProcessingException(frameProcessorPendingError); + if (listener != null) { + listener.onInputFrameProcessed(inputTexture); } + return acceptedFrame; + } - // Copy from MediaPipe's output texture to the current output. - try { - checkStateNotNull(glProgram).use(); - glProgram.setSamplerTexIdUniform( - "uTexSampler", checkStateNotNull(outputFrame).getTextureName(), /* texUnitIndex= */ 0); - glProgram.setBufferAttribute( - "aFramePosition", - GlUtil.getNormalizedCoordinateBounds(), - GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - glProgram.bindAttributesAndUniforms(); - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); - GlUtil.checkGlError(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e, presentationTimeUs); - } finally { + @Override + public void releaseOutputFrame(TextureInfo outputTexture) { + if (areMultipleOutputFramesSupported()) { + checkStateNotNull(checkStateNotNull(outputFrames).get(outputTexture)).release(); + } else { + checkState(Util.areEqual(outputTexture, this.outputTexture)); + this.outputTexture = null; checkStateNotNull(outputFrame).release(); + outputFrame = null; } } @Override - public void release() throws FrameProcessingException { - super.release(); + public void release() { checkStateNotNull(frameProcessor).close(); } + + @Override + public final void signalEndOfInputStream() { + frameProcessor.waitUntilIdle(); + if (listener != null) { + listener.onOutputStreamEnded(); + } + } + + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.M) + private static boolean areMultipleOutputFramesSupported() { + // Android devices running Lollipop (API 21/22) have a bug in ConcurrentHashMap that can result + // in lost updates, so we only allow one output frame to be pending at a time to avoid using + // ConcurrentHashMap. + return Util.SDK_INT >= 23; + } } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java index 263714eca31..880c36bdf35 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java @@ -491,7 +491,7 @@ public GlEffectWrapper(GlEffect effect) { } @Override - public SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) + public GlTextureProcessor toGlTextureProcessor(Context context) throws FrameProcessingException { return effect.toGlTextureProcessor(context); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index e582af33091..84040ab6e1e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -23,6 +23,7 @@ import android.opengl.EGLDisplay; import android.opengl.EGLExt; import android.opengl.EGLSurface; +import android.opengl.GLES20; import android.util.Size; import android.view.Surface; import android.view.SurfaceHolder; @@ -314,6 +315,8 @@ public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingT GlUtil.focusEglSurface(eglDisplay, eglContext, eglSurface, width, height); renderingTask.run(); EGL14.eglSwapBuffers(eglDisplay, eglSurface); + // Prevents white flashing on the debug SurfaceView when frames are rendered too fast. + GLES20.glFinish(); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index 10a587a0268..0d4b77a388b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -19,17 +19,15 @@ import androidx.media3.common.util.UnstableApi; /** - * Interface for a video frame effect with a {@link SingleFrameGlTextureProcessor} implementation. + * Interface for a video frame effect with a {@link GlTextureProcessor} implementation. * *

Implementations contain information specifying the effect and can be {@linkplain - * #toGlTextureProcessor(Context) converted} to a {@link SingleFrameGlTextureProcessor} which - * applies the effect. + * #toGlTextureProcessor(Context) converted} to a {@link GlTextureProcessor} which applies the + * effect. */ @UnstableApi public interface GlEffect { /** Returns a {@link SingleFrameGlTextureProcessor} that applies the effect. */ - // TODO(b/227625423): use GlTextureProcessor here once this interface exists. - SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) - throws FrameProcessingException; + GlTextureProcessor toGlTextureProcessor(Context context) throws FrameProcessingException; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java index f81f99d2c02..9e96c8e923c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java @@ -19,7 +19,7 @@ /** Contains information describing an OpenGL texture. */ @UnstableApi -/* package */ final class TextureInfo { +public final class TextureInfo { /** The OpenGL texture identifier. */ public final int texId; /** Identifier of a framebuffer object associated with the texture. */ From 49f4c9342d87e964c7a8a40112d54882f20fe681 Mon Sep 17 00:00:00 2001 From: rohks Date: Wed, 22 Jun 2022 17:19:55 +0100 Subject: [PATCH 027/422] Add timestamp to `CueGroup` `TextRenderer` is updated to output `CueGroup`, which contains the presentation time of the cues, in microseconds. PiperOrigin-RevId: 456531399 (cherry picked from commit 74d61bbffb834cdb50d003a8de66af0e094ef702) --- .../java/androidx/media3/cast/CastPlayer.java | 4 +- .../androidx/media3/common/text/CueGroup.java | 21 +- .../media3/common/text/CueGroupTest.java | 2 +- .../media3/exoplayer/ExoPlayerImpl.java | 6 +- .../media3/exoplayer/text/TextRenderer.java | 57 +- .../e2etest/PlaylistPlaybackTest.java | 47 ++ .../media3/session/MediaController.java | 6 +- .../session/MediaControllerImplLegacy.java | 6 +- .../androidx/media3/session/PlayerInfo.java | 8 +- .../playlists/playlist_with_subtitles.dump | 723 ++++++++++++++++++ .../assets/playbackdumps/webvtt/typical.dump | 5 + .../session/MediaControllerListenerTest.java | 10 +- .../session/MediaSessionProviderService.java | 4 +- .../androidx/media3/session/MockPlayer.java | 4 +- .../utils/robolectric/PlaybackOutput.java | 24 +- 15 files changed, 885 insertions(+), 42 deletions(-) create mode 100644 libraries/test_data/src/test/assets/playbackdumps/playlists/playlist_with_subtitles.dump diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index acdd0fe8c72..d7de97abdd0 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -113,6 +113,8 @@ public final class CastPlayer extends BasePlayer { private static final long PROGRESS_REPORT_PERIOD_MS = 1000; private static final long[] EMPTY_TRACK_ID_ARRAY = new long[0]; + private static final CueGroup EMPTY_CUE_GROUP = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); private final CastContext castContext; private final MediaItemConverter mediaItemConverter; @@ -726,7 +728,7 @@ public VideoSize getVideoSize() { /** This method is not supported and returns an empty {@link CueGroup}. */ @Override public CueGroup getCurrentCues() { - return CueGroup.EMPTY; + return EMPTY_CUE_GROUP; } /** This method is not supported and always returns {@link DeviceInfo#UNKNOWN}. */ diff --git a/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java b/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java index 9a26d0ec266..3d1f1bec209 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java @@ -22,6 +22,7 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.Bundleable; +import androidx.media3.common.Timeline; import androidx.media3.common.util.BundleableUtil; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; @@ -34,10 +35,6 @@ /** Class to represent the state of active {@link Cue Cues} at a particular time. */ public final class CueGroup implements Bundleable { - - /** Empty {@link CueGroup}. */ - @UnstableApi public static final CueGroup EMPTY = new CueGroup(ImmutableList.of()); - /** * The cues in this group. * @@ -47,11 +44,18 @@ public final class CueGroup implements Bundleable { *

This list may be empty if the group represents a state with no cues. */ public final ImmutableList cues; + /** + * The presentation time of the {@link #cues}, in microseconds. + * + *

This time is an offset from the start of the current {@link Timeline.Period} + */ + @UnstableApi public final long presentationTimeUs; /** Creates a CueGroup. */ @UnstableApi - public CueGroup(List cues) { + public CueGroup(List cues, long presentationTimeUs) { this.cues = ImmutableList.copyOf(cues); + this.presentationTimeUs = presentationTimeUs; } // Bundleable implementation. @@ -59,10 +63,11 @@ public CueGroup(List cues) { @Documented @Retention(RetentionPolicy.SOURCE) @Target(TYPE_USE) - @IntDef({FIELD_CUES}) + @IntDef({FIELD_CUES, FIELD_PRESENTATION_TIME_US}) private @interface FieldNumber {} private static final int FIELD_CUES = 0; + private static final int FIELD_PRESENTATION_TIME_US = 1; @UnstableApi @Override @@ -70,6 +75,7 @@ public Bundle toBundle() { Bundle bundle = new Bundle(); bundle.putParcelableArrayList( keyForField(FIELD_CUES), BundleableUtil.toBundleArrayList(filterOutBitmapCues(cues))); + bundle.putLong(keyForField(FIELD_PRESENTATION_TIME_US), presentationTimeUs); return bundle; } @@ -81,7 +87,8 @@ private static final CueGroup fromBundle(Bundle bundle) { cueBundles == null ? ImmutableList.of() : BundleableUtil.fromBundleList(Cue.CREATOR, cueBundles); - return new CueGroup(cues); + long presentationTimeUs = bundle.getLong(keyForField(FIELD_PRESENTATION_TIME_US)); + return new CueGroup(cues, presentationTimeUs); } private static String keyForField(@FieldNumber int field) { diff --git a/libraries/common/src/test/java/androidx/media3/common/text/CueGroupTest.java b/libraries/common/src/test/java/androidx/media3/common/text/CueGroupTest.java index 6a8f4d6e9c2..03d898f3fad 100644 --- a/libraries/common/src/test/java/androidx/media3/common/text/CueGroupTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/text/CueGroupTest.java @@ -37,7 +37,7 @@ public void bundleAndUnBundleCueGroup() { Cue bitmapCue = new Cue.Builder().setBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888)).build(); ImmutableList cues = ImmutableList.of(textCue, bitmapCue); - CueGroup cueGroup = new CueGroup(cues); + CueGroup cueGroup = new CueGroup(cues, /* presentationTimeUs= */ 1_230_000); Parcel parcel = Parcel.obtain(); try { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index 76731b4e1c4..e95c465e9dc 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -355,7 +355,7 @@ public ExoPlayerImpl(ExoPlayer.Builder builder, @Nullable Player wrappingPlayer) } else { audioSessionId = Util.generateAudioSessionIdV21(applicationContext); } - currentCueGroup = CueGroup.EMPTY; + currentCueGroup = new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); throwsWhenUsingWrongThread = true; addListener(analyticsCollector); @@ -942,7 +942,7 @@ public void stop(boolean reset) { verifyApplicationThread(); audioFocusManager.updateAudioFocus(getPlayWhenReady(), Player.STATE_IDLE); stopInternal(reset, /* error= */ null); - currentCueGroup = CueGroup.EMPTY; + currentCueGroup = new CueGroup(ImmutableList.of(), playbackInfo.positionUs); } @Override @@ -996,7 +996,7 @@ public void release() { checkNotNull(priorityTaskManager).remove(C.PRIORITY_PLAYBACK); isPriorityTaskManagerRegistered = false; } - currentCueGroup = CueGroup.EMPTY; + currentCueGroup = new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); playerReleased = true; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java index 506a69a8427..2ddbd5908bd 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java @@ -42,12 +42,13 @@ import androidx.media3.extractor.text.SubtitleDecoderException; import androidx.media3.extractor.text.SubtitleInputBuffer; import androidx.media3.extractor.text.SubtitleOutputBuffer; +import com.google.common.collect.ImmutableList; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import java.util.Collections; -import java.util.List; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; +import org.checkerframework.dataflow.qual.SideEffectFree; /** * A renderer for text. @@ -103,6 +104,8 @@ public final class TextRenderer extends BaseRenderer implements Callback { @Nullable private SubtitleOutputBuffer nextSubtitle; private int nextSubtitleEventIndex; private long finalStreamEndPositionUs; + private long outputStreamOffsetUs; + private long lastRendererPositionUs; /** * @param output The output. @@ -134,6 +137,8 @@ public TextRenderer( this.decoderFactory = decoderFactory; formatHolder = new FormatHolder(); finalStreamEndPositionUs = C.TIME_UNSET; + outputStreamOffsetUs = C.TIME_UNSET; + lastRendererPositionUs = C.TIME_UNSET; } @Override @@ -170,6 +175,7 @@ public void setFinalStreamEndPositionUs(long streamEndPositionUs) { @Override protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) { + outputStreamOffsetUs = offsetUs; streamFormat = formats[0]; if (decoder != null) { decoderReplacementState = REPLACEMENT_STATE_SIGNAL_END_OF_STREAM; @@ -180,6 +186,7 @@ protected void onStreamChanged(Format[] formats, long startPositionUs, long offs @Override protected void onPositionReset(long positionUs, boolean joining) { + lastRendererPositionUs = positionUs; clearOutput(); inputStreamEnded = false; outputStreamEnded = false; @@ -194,6 +201,7 @@ protected void onPositionReset(long positionUs, boolean joining) { @Override public void render(long positionUs, long elapsedRealtimeUs) { + lastRendererPositionUs = positionUs; if (isCurrentStreamFinal() && finalStreamEndPositionUs != C.TIME_UNSET && positionUs >= finalStreamEndPositionUs) { @@ -257,7 +265,9 @@ public void render(long positionUs, long elapsedRealtimeUs) { // If textRendererNeedsUpdate then subtitle must be non-null. checkNotNull(subtitle); // textRendererNeedsUpdate is set and we're playing. Update the renderer. - updateOutput(subtitle.getCues(positionUs)); + long presentationTimeUs = getPresentationTimeUs(getCurrentEventTimeUs(positionUs)); + CueGroup cueGroup = new CueGroup(subtitle.getCues(positionUs), presentationTimeUs); + updateOutput(cueGroup); } if (decoderReplacementState == REPLACEMENT_STATE_WAIT_END_OF_STREAM) { @@ -315,6 +325,8 @@ protected void onDisabled() { streamFormat = null; finalStreamEndPositionUs = C.TIME_UNSET; clearOutput(); + outputStreamOffsetUs = C.TIME_UNSET; + lastRendererPositionUs = C.TIME_UNSET; releaseDecoder(); } @@ -370,33 +382,33 @@ private long getNextEventTime() { : subtitle.getEventTime(nextSubtitleEventIndex); } - private void updateOutput(List cues) { + private void updateOutput(CueGroup cueGroup) { if (outputHandler != null) { - outputHandler.obtainMessage(MSG_UPDATE_OUTPUT, cues).sendToTarget(); + outputHandler.obtainMessage(MSG_UPDATE_OUTPUT, cueGroup).sendToTarget(); } else { - invokeUpdateOutputInternal(cues); + invokeUpdateOutputInternal(cueGroup); } } private void clearOutput() { - updateOutput(Collections.emptyList()); + updateOutput(new CueGroup(ImmutableList.of(), getPresentationTimeUs(lastRendererPositionUs))); } - @SuppressWarnings("unchecked") @Override public boolean handleMessage(Message msg) { switch (msg.what) { case MSG_UPDATE_OUTPUT: - invokeUpdateOutputInternal((List) msg.obj); + invokeUpdateOutputInternal((CueGroup) msg.obj); return true; default: throw new IllegalStateException(); } } - private void invokeUpdateOutputInternal(List cues) { - output.onCues(cues); - output.onCues(new CueGroup(cues)); + @SuppressWarnings("deprecation") // We need to call both onCues method for backward compatibility. + private void invokeUpdateOutputInternal(CueGroup cueGroup) { + output.onCues(cueGroup.cues); + output.onCues(cueGroup); } /** @@ -410,4 +422,25 @@ private void handleDecoderError(SubtitleDecoderException e) { clearOutput(); replaceDecoder(); } + + @RequiresNonNull("subtitle") + @SideEffectFree + private long getCurrentEventTimeUs(long positionUs) { + int nextEventTimeIndex = subtitle.getNextEventTimeIndex(positionUs); + if (nextEventTimeIndex == 0) { + return subtitle.timeUs; + } + + return nextEventTimeIndex == C.INDEX_UNSET + ? subtitle.getEventTime(subtitle.getEventTimeCount() - 1) + : subtitle.getEventTime(nextEventTimeIndex - 1); + } + + @SideEffectFree + private long getPresentationTimeUs(long positionUs) { + checkState(positionUs != C.TIME_UNSET); + checkState(outputStreamOffsetUs != C.TIME_UNSET); + + return positionUs - outputStreamOffsetUs; + } } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/PlaylistPlaybackTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/PlaylistPlaybackTest.java index 1987a556dc6..d4de66ad9e9 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/PlaylistPlaybackTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/e2etest/PlaylistPlaybackTest.java @@ -16,9 +16,16 @@ package androidx.media3.exoplayer.e2etest; import android.content.Context; +import android.graphics.SurfaceTexture; +import android.net.Uri; +import android.view.Surface; +import androidx.media3.common.C; import androidx.media3.common.MediaItem; +import androidx.media3.common.MimeTypes; import androidx.media3.common.Player; import androidx.media3.exoplayer.ExoPlayer; +import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; +import androidx.media3.exoplayer.source.MediaSource; import androidx.media3.test.utils.CapturingRenderersFactory; import androidx.media3.test.utils.DumpFileAsserts; import androidx.media3.test.utils.FakeClock; @@ -27,6 +34,7 @@ import androidx.media3.test.utils.robolectric.TestPlayerRunHelper; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableList; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @@ -82,4 +90,43 @@ public void test_bypassOffThenOn() throws Exception { DumpFileAsserts.assertOutput( applicationContext, playbackOutput, "playbackdumps/playlists/bypass-off-then-on.dump"); } + + @Test + public void test_subtitle() throws Exception { + Context applicationContext = ApplicationProvider.getApplicationContext(); + CapturingRenderersFactory capturingRenderersFactory = + new CapturingRenderersFactory(applicationContext); + MediaSource.Factory mediaSourceFactory = + new DefaultMediaSourceFactory(applicationContext) + .experimentalUseProgressiveMediaSourceForSubtitles(true); + ExoPlayer player = + new ExoPlayer.Builder(applicationContext, capturingRenderersFactory) + .setClock(new FakeClock(/* isAutoAdvancing= */ true)) + .setMediaSourceFactory(mediaSourceFactory) + .build(); + player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1))); + PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory); + + player.addMediaItem(MediaItem.fromUri("asset:///media/mp4/preroll-5s.mp4")); + MediaItem mediaItemWithSubtitle = + new MediaItem.Builder() + .setUri("asset:///media/mp4/preroll-5s.mp4") + .setSubtitleConfigurations( + ImmutableList.of( + new MediaItem.SubtitleConfiguration.Builder( + Uri.parse("asset:///media/webvtt/typical")) + .setMimeType(MimeTypes.TEXT_VTT) + .setLanguage("en") + .setSelectionFlags(C.SELECTION_FLAG_DEFAULT) + .build())) + .build(); + player.addMediaItem(mediaItemWithSubtitle); + player.prepare(); + player.play(); + TestPlayerRunHelper.runUntilPlaybackState(player, Player.STATE_ENDED); + player.release(); + + DumpFileAsserts.assertOutput( + applicationContext, playbackOutput, "playbackdumps/playlists/playlist_with_subtitles.dump"); + } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index e47fc022536..a3a140c7724 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -56,6 +56,7 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.List; @@ -164,6 +165,9 @@ public class MediaController implements Player { "MediaController method is called from a wrong thread." + " See javadoc of MediaController for details."; + private static final CueGroup EMPTY_CUE_GROUP = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); + /** A builder for {@link MediaController}. */ public static final class Builder { @@ -1576,7 +1580,7 @@ public void clearVideoTextureView(@Nullable TextureView textureView) { @Override public CueGroup getCurrentCues() { verifyApplicationThread(); - return isConnected() ? impl.getCurrentCues() : CueGroup.EMPTY; + return isConnected() ? impl.getCurrentCues() : EMPTY_CUE_GROUP; } @Override diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 6a2dc56c1f0..04006c7e53e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -105,6 +105,8 @@ private static final long AGGREGATES_CALLBACKS_WITHIN_TIMEOUT_MS = 500L; private static final int VOLUME_FLAGS = AudioManager.FLAG_SHOW_UI; + private static final CueGroup EMPTY_CUE_GROUP = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); /* package */ final Context context; /* package */ final MediaController instance; @@ -1016,7 +1018,7 @@ public void clearVideoTextureView(@Nullable TextureView textureView) { @Override public CueGroup getCurrentCues() { Log.w(TAG, "Session doesn't support getting Cue"); - return CueGroup.EMPTY; + return EMPTY_CUE_GROUP; } @Override @@ -2086,7 +2088,7 @@ private static ControllerInfo createControllerInfo( /* playlistMetadata= */ playlistMetadata, /* volume= */ 1.0f, /* audioAttributes= */ audioAttributes, - /* cueGroup= */ CueGroup.EMPTY, + /* cueGroup= */ EMPTY_CUE_GROUP, /* deviceInfo= */ deviceInfo, /* deviceVolume= */ deviceVolume, /* deviceMuted= */ deviceMuted, diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index f6bd408b7a6..6b886bb5682 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -45,6 +45,7 @@ import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Assertions; +import com.google.common.collect.ImmutableList; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -56,6 +57,9 @@ */ /* package */ class PlayerInfo implements Bundleable { + private static final CueGroup EMPTY_CUE_GROUP = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); + public static class Builder { @Nullable private PlaybackException playerError; @@ -332,7 +336,7 @@ public PlayerInfo build() { MediaMetadata.EMPTY, /* volume= */ 1f, AudioAttributes.DEFAULT, - /* cueGroup = */ CueGroup.EMPTY, + /* cueGroup = */ EMPTY_CUE_GROUP, DeviceInfo.UNKNOWN, /* deviceVolume= */ 0, /* deviceMuted= */ false, @@ -846,7 +850,7 @@ private static PlayerInfo fromBundle(Bundle bundle) { : AudioAttributes.CREATOR.fromBundle(audioAttributesBundle); @Nullable Bundle cueGroupBundle = bundle.getBundle(keyForField(FIELD_CUE_GROUP)); CueGroup cueGroup = - cueGroupBundle == null ? CueGroup.EMPTY : CueGroup.CREATOR.fromBundle(cueGroupBundle); + cueGroupBundle == null ? EMPTY_CUE_GROUP : CueGroup.CREATOR.fromBundle(cueGroupBundle); @Nullable Bundle deviceInfoBundle = bundle.getBundle(keyForField(FIELD_DEVICE_INFO)); DeviceInfo deviceInfo = deviceInfoBundle == null diff --git a/libraries/test_data/src/test/assets/playbackdumps/playlists/playlist_with_subtitles.dump b/libraries/test_data/src/test/assets/playbackdumps/playlists/playlist_with_subtitles.dump new file mode 100644 index 00000000000..718fd4bd430 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/playlists/playlist_with_subtitles.dump @@ -0,0 +1,723 @@ +MediaCodecAdapter (exotest.audio.aac): + buffers.length = 436 + buffers[0] = length 21, hash D57A2CCC + buffers[1] = length 4, hash EE9DF + buffers[2] = length 4, hash EE9DF + buffers[3] = length 4, hash EE9DF + buffers[4] = length 4, hash EE9DF + buffers[5] = length 4, hash EE9DF + buffers[6] = length 4, hash EE9DF + buffers[7] = length 4, hash EE9DF + buffers[8] = length 4, hash EE9DF + buffers[9] = length 4, hash EE9DF + buffers[10] = length 4, hash EE9DF + buffers[11] = length 4, hash EE9DF + buffers[12] = length 4, hash EE9DF + buffers[13] = length 4, hash EE9DF + buffers[14] = length 4, hash EE9DF + buffers[15] = length 4, hash EE9DF + buffers[16] = length 4, hash EE9DF + buffers[17] = length 4, hash EE9DF + buffers[18] = length 4, hash EE9DF + buffers[19] = length 4, hash EE9DF + buffers[20] = length 4, hash EE9DF + buffers[21] = length 4, hash EE9DF + buffers[22] = length 4, hash EE9DF + buffers[23] = length 4, hash EE9DF + buffers[24] = length 4, hash EE9DF + buffers[25] = length 4, hash EE9DF + buffers[26] = length 4, hash EE9DF + buffers[27] = length 4, hash EE9DF + buffers[28] = length 4, hash EE9DF + buffers[29] = length 4, hash EE9DF + buffers[30] = length 4, hash EE9DF + buffers[31] = length 4, hash EE9DF + buffers[32] = length 4, hash EE9DF + buffers[33] = length 4, hash EE9DF + buffers[34] = length 4, hash EE9DF + buffers[35] = length 4, hash EE9DF + buffers[36] = length 4, hash EE9DF + buffers[37] = length 4, hash EE9DF + buffers[38] = length 4, hash EE9DF + buffers[39] = length 4, hash EE9DF + buffers[40] = length 4, hash EE9DF + buffers[41] = length 4, hash EE9DF + buffers[42] = length 4, hash EE9DF + buffers[43] = length 4, hash EE9DF + buffers[44] = length 4, hash EE9DF + buffers[45] = length 4, hash EE9DF + buffers[46] = length 4, hash EE9DF + buffers[47] = length 4, hash EE9DF + buffers[48] = length 4, hash EE9DF + buffers[49] = length 4, hash EE9DF + buffers[50] = length 4, hash EE9DF + buffers[51] = length 4, hash EE9DF + buffers[52] = length 4, hash EE9DF + buffers[53] = length 4, hash EE9DF + buffers[54] = length 4, hash EE9DF + buffers[55] = length 4, hash EE9DF + buffers[56] = length 4, hash EE9DF + buffers[57] = length 4, hash EE9DF + buffers[58] = length 4, hash EE9DF + buffers[59] = length 4, hash EE9DF + buffers[60] = length 4, hash EE9DF + buffers[61] = length 4, hash EE9DF + buffers[62] = length 4, hash EE9DF + buffers[63] = length 4, hash EE9DF + buffers[64] = length 4, hash EE9DF + buffers[65] = length 4, hash EE9DF + buffers[66] = length 4, hash EE9DF + buffers[67] = length 4, hash EE9DF + buffers[68] = length 4, hash EE9DF + buffers[69] = length 4, hash EE9DF + buffers[70] = length 4, hash EE9DF + buffers[71] = length 4, hash EE9DF + buffers[72] = length 4, hash EE9DF + buffers[73] = length 4, hash EE9DF + buffers[74] = length 4, hash EE9DF + buffers[75] = length 4, hash EE9DF + buffers[76] = length 4, hash EE9DF + buffers[77] = length 4, hash EE9DF + buffers[78] = length 4, hash EE9DF + buffers[79] = length 4, hash EE9DF + buffers[80] = length 4, hash EE9DF + buffers[81] = length 4, hash EE9DF + buffers[82] = length 4, hash EE9DF + buffers[83] = length 4, hash EE9DF + buffers[84] = length 4, hash EE9DF + buffers[85] = length 4, hash EE9DF + buffers[86] = length 4, hash EE9DF + buffers[87] = length 4, hash EE9DF + buffers[88] = length 4, hash EE9DF + buffers[89] = length 4, hash EE9DF + buffers[90] = length 4, hash EE9DF + buffers[91] = length 4, hash EE9DF + buffers[92] = length 4, hash EE9DF + buffers[93] = length 4, hash EE9DF + buffers[94] = length 4, hash EE9DF + buffers[95] = length 4, hash EE9DF + buffers[96] = length 4, hash EE9DF + buffers[97] = length 4, hash EE9DF + buffers[98] = length 4, hash EE9DF + buffers[99] = length 4, hash EE9DF + buffers[100] = length 4, hash EE9DF + buffers[101] = length 4, hash EE9DF + buffers[102] = length 4, hash EE9DF + buffers[103] = length 4, hash EE9DF + buffers[104] = length 4, hash EE9DF + buffers[105] = length 4, hash EE9DF + buffers[106] = length 4, hash EE9DF + buffers[107] = length 4, hash EE9DF + buffers[108] = length 4, hash EE9DF + buffers[109] = length 4, hash EE9DF + buffers[110] = length 4, hash EE9DF + buffers[111] = length 4, hash EE9DF + buffers[112] = length 4, hash EE9DF + buffers[113] = length 4, hash EE9DF + buffers[114] = length 4, hash EE9DF + buffers[115] = length 4, hash EE9DF + buffers[116] = length 4, hash EE9DF + buffers[117] = length 4, hash EE9DF + buffers[118] = length 4, hash EE9DF + buffers[119] = length 4, hash EE9DF + buffers[120] = length 4, hash EE9DF + buffers[121] = length 4, hash EE9DF + buffers[122] = length 4, hash EE9DF + buffers[123] = length 4, hash EE9DF + buffers[124] = length 4, hash EE9DF + buffers[125] = length 4, hash EE9DF + buffers[126] = length 4, hash EE9DF + buffers[127] = length 4, hash EE9DF + buffers[128] = length 4, hash EE9DF + buffers[129] = length 4, hash EE9DF + buffers[130] = length 4, hash EE9DF + buffers[131] = length 4, hash EE9DF + buffers[132] = length 4, hash EE9DF + buffers[133] = length 4, hash EE9DF + buffers[134] = length 4, hash EE9DF + buffers[135] = length 4, hash EE9DF + buffers[136] = length 4, hash EE9DF + buffers[137] = length 4, hash EE9DF + buffers[138] = length 4, hash EE9DF + buffers[139] = length 4, hash EE9DF + buffers[140] = length 4, hash EE9DF + buffers[141] = length 4, hash EE9DF + buffers[142] = length 4, hash EE9DF + buffers[143] = length 4, hash EE9DF + buffers[144] = length 4, hash EE9DF + buffers[145] = length 4, hash EE9DF + buffers[146] = length 4, hash EE9DF + buffers[147] = length 4, hash EE9DF + buffers[148] = length 4, hash EE9DF + buffers[149] = length 4, hash EE9DF + buffers[150] = length 4, hash EE9DF + buffers[151] = length 4, hash EE9DF + buffers[152] = length 4, hash EE9DF + buffers[153] = length 4, hash EE9DF + buffers[154] = length 4, hash EE9DF + buffers[155] = length 4, hash EE9DF + buffers[156] = length 4, hash EE9DF + buffers[157] = length 4, hash EE9DF + buffers[158] = length 4, hash EE9DF + buffers[159] = length 4, hash EE9DF + buffers[160] = length 4, hash EE9DF + buffers[161] = length 4, hash EE9DF + buffers[162] = length 4, hash EE9DF + buffers[163] = length 4, hash EE9DF + buffers[164] = length 4, hash EE9DF + buffers[165] = length 4, hash EE9DF + buffers[166] = length 4, hash EE9DF + buffers[167] = length 4, hash EE9DF + buffers[168] = length 4, hash EE9DF + buffers[169] = length 4, hash EE9DF + buffers[170] = length 4, hash EE9DF + buffers[171] = length 4, hash EE9DF + buffers[172] = length 4, hash EE9DF + buffers[173] = length 4, hash EE9DF + buffers[174] = length 4, hash EE9DF + buffers[175] = length 4, hash EE9DF + buffers[176] = length 4, hash EE9DF + buffers[177] = length 4, hash EE9DF + buffers[178] = length 4, hash EE9DF + buffers[179] = length 4, hash EE9DF + buffers[180] = length 4, hash EE9DF + buffers[181] = length 4, hash EE9DF + buffers[182] = length 4, hash EE9DF + buffers[183] = length 4, hash EE9DF + buffers[184] = length 4, hash EE9DF + buffers[185] = length 4, hash EE9DF + buffers[186] = length 4, hash EE9DF + buffers[187] = length 4, hash EE9DF + buffers[188] = length 4, hash EE9DF + buffers[189] = length 4, hash EE9DF + buffers[190] = length 4, hash EE9DF + buffers[191] = length 4, hash EE9DF + buffers[192] = length 4, hash EE9DF + buffers[193] = length 4, hash EE9DF + buffers[194] = length 4, hash EE9DF + buffers[195] = length 4, hash EE9DF + buffers[196] = length 4, hash EE9DF + buffers[197] = length 4, hash EE9DF + buffers[198] = length 4, hash EE9DF + buffers[199] = length 4, hash EE9DF + buffers[200] = length 4, hash EE9DF + buffers[201] = length 4, hash EE9DF + buffers[202] = length 4, hash EE9DF + buffers[203] = length 4, hash EE9DF + buffers[204] = length 4, hash EE9DF + buffers[205] = length 4, hash EE9DF + buffers[206] = length 4, hash EE9DF + buffers[207] = length 4, hash EE9DF + buffers[208] = length 4, hash EE9DF + buffers[209] = length 4, hash EE9DF + buffers[210] = length 4, hash EE9DF + buffers[211] = length 4, hash EE9DF + buffers[212] = length 4, hash EE9DF + buffers[213] = length 4, hash EE9DF + buffers[214] = length 4, hash EE9DF + buffers[215] = length 4, hash EE9DF + buffers[216] = length 4, hash EE9DF + buffers[217] = length 0, hash 1 + buffers[218] = length 21, hash D57A2CCC + buffers[219] = length 4, hash EE9DF + buffers[220] = length 4, hash EE9DF + buffers[221] = length 4, hash EE9DF + buffers[222] = length 4, hash EE9DF + buffers[223] = length 4, hash EE9DF + buffers[224] = length 4, hash EE9DF + buffers[225] = length 4, hash EE9DF + buffers[226] = length 4, hash EE9DF + buffers[227] = length 4, hash EE9DF + buffers[228] = length 4, hash EE9DF + buffers[229] = length 4, hash EE9DF + buffers[230] = length 4, hash EE9DF + buffers[231] = length 4, hash EE9DF + buffers[232] = length 4, hash EE9DF + buffers[233] = length 4, hash EE9DF + buffers[234] = length 4, hash EE9DF + buffers[235] = length 4, hash EE9DF + buffers[236] = length 4, hash EE9DF + buffers[237] = length 4, hash EE9DF + buffers[238] = length 4, hash EE9DF + buffers[239] = length 4, hash EE9DF + buffers[240] = length 4, hash EE9DF + buffers[241] = length 4, hash EE9DF + buffers[242] = length 4, hash EE9DF + buffers[243] = length 4, hash EE9DF + buffers[244] = length 4, hash EE9DF + buffers[245] = length 4, hash EE9DF + buffers[246] = length 4, hash EE9DF + buffers[247] = length 4, hash EE9DF + buffers[248] = length 4, hash EE9DF + buffers[249] = length 4, hash EE9DF + buffers[250] = length 4, hash EE9DF + buffers[251] = length 4, hash EE9DF + buffers[252] = length 4, hash EE9DF + buffers[253] = length 4, hash EE9DF + buffers[254] = length 4, hash EE9DF + buffers[255] = length 4, hash EE9DF + buffers[256] = length 4, hash EE9DF + buffers[257] = length 4, hash EE9DF + buffers[258] = length 4, hash EE9DF + buffers[259] = length 4, hash EE9DF + buffers[260] = length 4, hash EE9DF + buffers[261] = length 4, hash EE9DF + buffers[262] = length 4, hash EE9DF + buffers[263] = length 4, hash EE9DF + buffers[264] = length 4, hash EE9DF + buffers[265] = length 4, hash EE9DF + buffers[266] = length 4, hash EE9DF + buffers[267] = length 4, hash EE9DF + buffers[268] = length 4, hash EE9DF + buffers[269] = length 4, hash EE9DF + buffers[270] = length 4, hash EE9DF + buffers[271] = length 4, hash EE9DF + buffers[272] = length 4, hash EE9DF + buffers[273] = length 4, hash EE9DF + buffers[274] = length 4, hash EE9DF + buffers[275] = length 4, hash EE9DF + buffers[276] = length 4, hash EE9DF + buffers[277] = length 4, hash EE9DF + buffers[278] = length 4, hash EE9DF + buffers[279] = length 4, hash EE9DF + buffers[280] = length 4, hash EE9DF + buffers[281] = length 4, hash EE9DF + buffers[282] = length 4, hash EE9DF + buffers[283] = length 4, hash EE9DF + buffers[284] = length 4, hash EE9DF + buffers[285] = length 4, hash EE9DF + buffers[286] = length 4, hash EE9DF + buffers[287] = length 4, hash EE9DF + buffers[288] = length 4, hash EE9DF + buffers[289] = length 4, hash EE9DF + buffers[290] = length 4, hash EE9DF + buffers[291] = length 4, hash EE9DF + buffers[292] = length 4, hash EE9DF + buffers[293] = length 4, hash EE9DF + buffers[294] = length 4, hash EE9DF + buffers[295] = length 4, hash EE9DF + buffers[296] = length 4, hash EE9DF + buffers[297] = length 4, hash EE9DF + buffers[298] = length 4, hash EE9DF + buffers[299] = length 4, hash EE9DF + buffers[300] = length 4, hash EE9DF + buffers[301] = length 4, hash EE9DF + buffers[302] = length 4, hash EE9DF + buffers[303] = length 4, hash EE9DF + buffers[304] = length 4, hash EE9DF + buffers[305] = length 4, hash EE9DF + buffers[306] = length 4, hash EE9DF + buffers[307] = length 4, hash EE9DF + buffers[308] = length 4, hash EE9DF + buffers[309] = length 4, hash EE9DF + buffers[310] = length 4, hash EE9DF + buffers[311] = length 4, hash EE9DF + buffers[312] = length 4, hash EE9DF + buffers[313] = length 4, hash EE9DF + buffers[314] = length 4, hash EE9DF + buffers[315] = length 4, hash EE9DF + buffers[316] = length 4, hash EE9DF + buffers[317] = length 4, hash EE9DF + buffers[318] = length 4, hash EE9DF + buffers[319] = length 4, hash EE9DF + buffers[320] = length 4, hash EE9DF + buffers[321] = length 4, hash EE9DF + buffers[322] = length 4, hash EE9DF + buffers[323] = length 4, hash EE9DF + buffers[324] = length 4, hash EE9DF + buffers[325] = length 4, hash EE9DF + buffers[326] = length 4, hash EE9DF + buffers[327] = length 4, hash EE9DF + buffers[328] = length 4, hash EE9DF + buffers[329] = length 4, hash EE9DF + buffers[330] = length 4, hash EE9DF + buffers[331] = length 4, hash EE9DF + buffers[332] = length 4, hash EE9DF + buffers[333] = length 4, hash EE9DF + buffers[334] = length 4, hash EE9DF + buffers[335] = length 4, hash EE9DF + buffers[336] = length 4, hash EE9DF + buffers[337] = length 4, hash EE9DF + buffers[338] = length 4, hash EE9DF + buffers[339] = length 4, hash EE9DF + buffers[340] = length 4, hash EE9DF + buffers[341] = length 4, hash EE9DF + buffers[342] = length 4, hash EE9DF + buffers[343] = length 4, hash EE9DF + buffers[344] = length 4, hash EE9DF + buffers[345] = length 4, hash EE9DF + buffers[346] = length 4, hash EE9DF + buffers[347] = length 4, hash EE9DF + buffers[348] = length 4, hash EE9DF + buffers[349] = length 4, hash EE9DF + buffers[350] = length 4, hash EE9DF + buffers[351] = length 4, hash EE9DF + buffers[352] = length 4, hash EE9DF + buffers[353] = length 4, hash EE9DF + buffers[354] = length 4, hash EE9DF + buffers[355] = length 4, hash EE9DF + buffers[356] = length 4, hash EE9DF + buffers[357] = length 4, hash EE9DF + buffers[358] = length 4, hash EE9DF + buffers[359] = length 4, hash EE9DF + buffers[360] = length 4, hash EE9DF + buffers[361] = length 4, hash EE9DF + buffers[362] = length 4, hash EE9DF + buffers[363] = length 4, hash EE9DF + buffers[364] = length 4, hash EE9DF + buffers[365] = length 4, hash EE9DF + buffers[366] = length 4, hash EE9DF + buffers[367] = length 4, hash EE9DF + buffers[368] = length 4, hash EE9DF + buffers[369] = length 4, hash EE9DF + buffers[370] = length 4, hash EE9DF + buffers[371] = length 4, hash EE9DF + buffers[372] = length 4, hash EE9DF + buffers[373] = length 4, hash EE9DF + buffers[374] = length 4, hash EE9DF + buffers[375] = length 4, hash EE9DF + buffers[376] = length 4, hash EE9DF + buffers[377] = length 4, hash EE9DF + buffers[378] = length 4, hash EE9DF + buffers[379] = length 4, hash EE9DF + buffers[380] = length 4, hash EE9DF + buffers[381] = length 4, hash EE9DF + buffers[382] = length 4, hash EE9DF + buffers[383] = length 4, hash EE9DF + buffers[384] = length 4, hash EE9DF + buffers[385] = length 4, hash EE9DF + buffers[386] = length 4, hash EE9DF + buffers[387] = length 4, hash EE9DF + buffers[388] = length 4, hash EE9DF + buffers[389] = length 4, hash EE9DF + buffers[390] = length 4, hash EE9DF + buffers[391] = length 4, hash EE9DF + buffers[392] = length 4, hash EE9DF + buffers[393] = length 4, hash EE9DF + buffers[394] = length 4, hash EE9DF + buffers[395] = length 4, hash EE9DF + buffers[396] = length 4, hash EE9DF + buffers[397] = length 4, hash EE9DF + buffers[398] = length 4, hash EE9DF + buffers[399] = length 4, hash EE9DF + buffers[400] = length 4, hash EE9DF + buffers[401] = length 4, hash EE9DF + buffers[402] = length 4, hash EE9DF + buffers[403] = length 4, hash EE9DF + buffers[404] = length 4, hash EE9DF + buffers[405] = length 4, hash EE9DF + buffers[406] = length 4, hash EE9DF + buffers[407] = length 4, hash EE9DF + buffers[408] = length 4, hash EE9DF + buffers[409] = length 4, hash EE9DF + buffers[410] = length 4, hash EE9DF + buffers[411] = length 4, hash EE9DF + buffers[412] = length 4, hash EE9DF + buffers[413] = length 4, hash EE9DF + buffers[414] = length 4, hash EE9DF + buffers[415] = length 4, hash EE9DF + buffers[416] = length 4, hash EE9DF + buffers[417] = length 4, hash EE9DF + buffers[418] = length 4, hash EE9DF + buffers[419] = length 4, hash EE9DF + buffers[420] = length 4, hash EE9DF + buffers[421] = length 4, hash EE9DF + buffers[422] = length 4, hash EE9DF + buffers[423] = length 4, hash EE9DF + buffers[424] = length 4, hash EE9DF + buffers[425] = length 4, hash EE9DF + buffers[426] = length 4, hash EE9DF + buffers[427] = length 4, hash EE9DF + buffers[428] = length 4, hash EE9DF + buffers[429] = length 4, hash EE9DF + buffers[430] = length 4, hash EE9DF + buffers[431] = length 4, hash EE9DF + buffers[432] = length 4, hash EE9DF + buffers[433] = length 4, hash EE9DF + buffers[434] = length 4, hash EE9DF + buffers[435] = length 0, hash 1 +MediaCodecAdapter (exotest.video.avc): + buffers.length = 251 + buffers[0] = length 5245, hash C090A41E + buffers[1] = length 63, hash 5141C80D + buffers[2] = length 22, hash A32E59A1 + buffers[3] = length 20, hash A09DEAB8 + buffers[4] = length 18, hash B64DA059 + buffers[5] = length 28, hash FC8EF2BB + buffers[6] = length 22, hash BF8A4A9F + buffers[7] = length 18, hash D163DF61 + buffers[8] = length 18, hash FD82E95 + buffers[9] = length 28, hash 44A16E72 + buffers[10] = length 22, hash 31C06057 + buffers[11] = length 18, hash DC93CC9D + buffers[12] = length 18, hash 1B081BD1 + buffers[13] = length 28, hash 2700AF + buffers[14] = length 22, hash 6D292D94 + buffers[15] = length 18, hash D646C05A + buffers[16] = length 18, hash 14BB0F8E + buffers[17] = length 28, hash 5DE2C2B + buffers[18] = length 22, hash 57E81CD0 + buffers[19] = length 18, hash E176AD96 + buffers[20] = length 18, hash 1FEAFCCA + buffers[21] = length 28, hash C163BE68 + buffers[22] = length 22, hash B0C92D0B + buffers[23] = length 18, hash 3B013BD2 + buffers[24] = length 18, hash 79758B06 + buffers[25] = length 28, hash F72EB1A3 + buffers[26] = length 22, hash 9B881C48 + buffers[27] = length 18, hash 4631290E + buffers[28] = length 18, hash 84A57842 + buffers[29] = length 28, hash E1FCF000 + buffers[30] = length 22, hash 359D2D82 + buffers[31] = length 18, hash 62DE0FC9 + buffers[32] = length 18, hash A1525EFD + buffers[33] = length 28, hash 5350E8FA + buffers[34] = length 22, hash EE2060DF + buffers[35] = length 18, hash 77D95125 + buffers[36] = length 18, hash B64DA059 + buffers[37] = length 28, hash ED67B37 + buffers[38] = length 22, hash 4701711B + buffers[39] = length 18, hash D163DF61 + buffers[40] = length 18, hash FD82E95 + buffers[41] = length 28, hash 44A16E72 + buffers[42] = length 22, hash 31C06057 + buffers[43] = length 18, hash DC93CC9D + buffers[44] = length 18, hash 1B081BD1 + buffers[45] = length 28, hash 2700AF + buffers[46] = length 22, hash 6D292D94 + buffers[47] = length 18, hash D646C05A + buffers[48] = length 18, hash 14BB0F8E + buffers[49] = length 28, hash 5DE2C2B + buffers[50] = length 22, hash 57E81CD0 + buffers[51] = length 18, hash E176AD96 + buffers[52] = length 18, hash 1FEAFCCA + buffers[53] = length 28, hash C163BE68 + buffers[54] = length 22, hash B0C92D0B + buffers[55] = length 18, hash 3B013BD2 + buffers[56] = length 18, hash 79758B06 + buffers[57] = length 28, hash F72EB1A3 + buffers[58] = length 22, hash 9B881C48 + buffers[59] = length 18, hash 4631290E + buffers[60] = length 18, hash 84A57842 + buffers[61] = length 28, hash E1FCF000 + buffers[62] = length 22, hash 359D2D82 + buffers[63] = length 18, hash 62DE0FC9 + buffers[64] = length 18, hash A1525EFD + buffers[65] = length 28, hash 5350E8FA + buffers[66] = length 22, hash EE2060DF + buffers[67] = length 18, hash 77D95125 + buffers[68] = length 18, hash B64DA059 + buffers[69] = length 28, hash ED67B37 + buffers[70] = length 22, hash 4701711B + buffers[71] = length 18, hash D163DF61 + buffers[72] = length 18, hash FD82E95 + buffers[73] = length 28, hash 44A16E72 + buffers[74] = length 22, hash 31C06057 + buffers[75] = length 18, hash DC93CC9D + buffers[76] = length 18, hash 1B081BD1 + buffers[77] = length 28, hash 2700AF + buffers[78] = length 22, hash 6D292D94 + buffers[79] = length 18, hash D646C05A + buffers[80] = length 18, hash 14BB0F8E + buffers[81] = length 28, hash 5DE2C2B + buffers[82] = length 22, hash 57E81CD0 + buffers[83] = length 18, hash E176AD96 + buffers[84] = length 18, hash 1FEAFCCA + buffers[85] = length 28, hash C163BE68 + buffers[86] = length 22, hash B0C92D0B + buffers[87] = length 18, hash 3B013BD2 + buffers[88] = length 18, hash 79758B06 + buffers[89] = length 28, hash F72EB1A3 + buffers[90] = length 22, hash 9B881C48 + buffers[91] = length 18, hash 4631290E + buffers[92] = length 18, hash 84A57842 + buffers[93] = length 33, hash AF5CF49E + buffers[94] = length 22, hash 359D2D82 + buffers[95] = length 18, hash 62DE0FC9 + buffers[96] = length 18, hash A1525EFD + buffers[97] = length 33, hash F4C6DE46 + buffers[98] = length 22, hash EE2060DF + buffers[99] = length 18, hash 77D95125 + buffers[100] = length 18, hash B64DA059 + buffers[101] = length 28, hash ED67B37 + buffers[102] = length 22, hash 4701711B + buffers[103] = length 18, hash D163DF61 + buffers[104] = length 18, hash FD82E95 + buffers[105] = length 28, hash 44A16E72 + buffers[106] = length 22, hash 31C06057 + buffers[107] = length 18, hash DC93CC9D + buffers[108] = length 18, hash 1B081BD1 + buffers[109] = length 28, hash 2700AF + buffers[110] = length 22, hash 6D292D94 + buffers[111] = length 18, hash D646C05A + buffers[112] = length 18, hash 14BB0F8E + buffers[113] = length 27, hash 5292D9E + buffers[114] = length 22, hash 57E81CD0 + buffers[115] = length 18, hash E176AD96 + buffers[116] = length 18, hash 1FEAFCCA + buffers[117] = length 26, hash B0CAA4C9 + buffers[118] = length 22, hash B0C92D0B + buffers[119] = length 18, hash 3B013BD2 + buffers[120] = length 18, hash 79758B06 + buffers[121] = length 26, hash C63A1445 + buffers[122] = length 22, hash 9B881C48 + buffers[123] = length 18, hash 4631290E + buffers[124] = length 18, hash 84A57842 + buffers[125] = length 5245, hash C090A41E + buffers[126] = length 63, hash 5141C80D + buffers[127] = length 22, hash A32E59A1 + buffers[128] = length 20, hash A09DEAB8 + buffers[129] = length 18, hash B64DA059 + buffers[130] = length 28, hash FC8EF2BB + buffers[131] = length 22, hash BF8A4A9F + buffers[132] = length 18, hash D163DF61 + buffers[133] = length 18, hash FD82E95 + buffers[134] = length 28, hash 44A16E72 + buffers[135] = length 22, hash 31C06057 + buffers[136] = length 18, hash DC93CC9D + buffers[137] = length 18, hash 1B081BD1 + buffers[138] = length 28, hash 2700AF + buffers[139] = length 22, hash 6D292D94 + buffers[140] = length 18, hash D646C05A + buffers[141] = length 18, hash 14BB0F8E + buffers[142] = length 28, hash 5DE2C2B + buffers[143] = length 22, hash 57E81CD0 + buffers[144] = length 18, hash E176AD96 + buffers[145] = length 18, hash 1FEAFCCA + buffers[146] = length 28, hash C163BE68 + buffers[147] = length 22, hash B0C92D0B + buffers[148] = length 18, hash 3B013BD2 + buffers[149] = length 18, hash 79758B06 + buffers[150] = length 28, hash F72EB1A3 + buffers[151] = length 22, hash 9B881C48 + buffers[152] = length 18, hash 4631290E + buffers[153] = length 18, hash 84A57842 + buffers[154] = length 28, hash E1FCF000 + buffers[155] = length 22, hash 359D2D82 + buffers[156] = length 18, hash 62DE0FC9 + buffers[157] = length 18, hash A1525EFD + buffers[158] = length 28, hash 5350E8FA + buffers[159] = length 22, hash EE2060DF + buffers[160] = length 18, hash 77D95125 + buffers[161] = length 18, hash B64DA059 + buffers[162] = length 28, hash ED67B37 + buffers[163] = length 22, hash 4701711B + buffers[164] = length 18, hash D163DF61 + buffers[165] = length 18, hash FD82E95 + buffers[166] = length 28, hash 44A16E72 + buffers[167] = length 22, hash 31C06057 + buffers[168] = length 18, hash DC93CC9D + buffers[169] = length 18, hash 1B081BD1 + buffers[170] = length 28, hash 2700AF + buffers[171] = length 22, hash 6D292D94 + buffers[172] = length 18, hash D646C05A + buffers[173] = length 18, hash 14BB0F8E + buffers[174] = length 28, hash 5DE2C2B + buffers[175] = length 22, hash 57E81CD0 + buffers[176] = length 18, hash E176AD96 + buffers[177] = length 18, hash 1FEAFCCA + buffers[178] = length 28, hash C163BE68 + buffers[179] = length 22, hash B0C92D0B + buffers[180] = length 18, hash 3B013BD2 + buffers[181] = length 18, hash 79758B06 + buffers[182] = length 28, hash F72EB1A3 + buffers[183] = length 22, hash 9B881C48 + buffers[184] = length 18, hash 4631290E + buffers[185] = length 18, hash 84A57842 + buffers[186] = length 28, hash E1FCF000 + buffers[187] = length 22, hash 359D2D82 + buffers[188] = length 18, hash 62DE0FC9 + buffers[189] = length 18, hash A1525EFD + buffers[190] = length 28, hash 5350E8FA + buffers[191] = length 22, hash EE2060DF + buffers[192] = length 18, hash 77D95125 + buffers[193] = length 18, hash B64DA059 + buffers[194] = length 28, hash ED67B37 + buffers[195] = length 22, hash 4701711B + buffers[196] = length 18, hash D163DF61 + buffers[197] = length 18, hash FD82E95 + buffers[198] = length 28, hash 44A16E72 + buffers[199] = length 22, hash 31C06057 + buffers[200] = length 18, hash DC93CC9D + buffers[201] = length 18, hash 1B081BD1 + buffers[202] = length 28, hash 2700AF + buffers[203] = length 22, hash 6D292D94 + buffers[204] = length 18, hash D646C05A + buffers[205] = length 18, hash 14BB0F8E + buffers[206] = length 28, hash 5DE2C2B + buffers[207] = length 22, hash 57E81CD0 + buffers[208] = length 18, hash E176AD96 + buffers[209] = length 18, hash 1FEAFCCA + buffers[210] = length 28, hash C163BE68 + buffers[211] = length 22, hash B0C92D0B + buffers[212] = length 18, hash 3B013BD2 + buffers[213] = length 18, hash 79758B06 + buffers[214] = length 28, hash F72EB1A3 + buffers[215] = length 22, hash 9B881C48 + buffers[216] = length 18, hash 4631290E + buffers[217] = length 18, hash 84A57842 + buffers[218] = length 33, hash AF5CF49E + buffers[219] = length 22, hash 359D2D82 + buffers[220] = length 18, hash 62DE0FC9 + buffers[221] = length 18, hash A1525EFD + buffers[222] = length 33, hash F4C6DE46 + buffers[223] = length 22, hash EE2060DF + buffers[224] = length 18, hash 77D95125 + buffers[225] = length 18, hash B64DA059 + buffers[226] = length 28, hash ED67B37 + buffers[227] = length 22, hash 4701711B + buffers[228] = length 18, hash D163DF61 + buffers[229] = length 18, hash FD82E95 + buffers[230] = length 28, hash 44A16E72 + buffers[231] = length 22, hash 31C06057 + buffers[232] = length 18, hash DC93CC9D + buffers[233] = length 18, hash 1B081BD1 + buffers[234] = length 28, hash 2700AF + buffers[235] = length 22, hash 6D292D94 + buffers[236] = length 18, hash D646C05A + buffers[237] = length 18, hash 14BB0F8E + buffers[238] = length 27, hash 5292D9E + buffers[239] = length 22, hash 57E81CD0 + buffers[240] = length 18, hash E176AD96 + buffers[241] = length 18, hash 1FEAFCCA + buffers[242] = length 26, hash B0CAA4C9 + buffers[243] = length 22, hash B0C92D0B + buffers[244] = length 18, hash 3B013BD2 + buffers[245] = length 18, hash 79758B06 + buffers[246] = length 26, hash C63A1445 + buffers[247] = length 22, hash 9B881C48 + buffers[248] = length 18, hash 4631290E + buffers[249] = length 18, hash 84A57842 + buffers[250] = length 0, hash 1 +TextOutput: + Subtitle[0]: + presentationTimeUs = 0 + Cues = [] + Subtitle[1]: + presentationTimeUs = 0 + Cue[0]: + text = This is the first subtitle. + textAlignment = ALIGN_CENTER + line = -1.0 + lineType = 1 + lineAnchor = 0 + position = 0.5 + positionAnchor = 1 + size = 1.0 + Subtitle[2]: + presentationTimeUs = 1234000 + Cues = [] + Subtitle[3]: + presentationTimeUs = 2345000 + Cue[0]: + text = This is the second subtitle. + textAlignment = ALIGN_CENTER + line = -1.0 + lineType = 1 + lineAnchor = 0 + position = 0.5 + positionAnchor = 1 + size = 1.0 + Subtitle[4]: + presentationTimeUs = 3456000 + Cues = [] diff --git a/libraries/test_data/src/test/assets/playbackdumps/webvtt/typical.dump b/libraries/test_data/src/test/assets/playbackdumps/webvtt/typical.dump index db4b4047c59..bc1e7b954af 100644 --- a/libraries/test_data/src/test/assets/playbackdumps/webvtt/typical.dump +++ b/libraries/test_data/src/test/assets/playbackdumps/webvtt/typical.dump @@ -348,8 +348,10 @@ MediaCodecAdapter (exotest.video.avc): buffers[125] = length 0, hash 1 TextOutput: Subtitle[0]: + presentationTimeUs = 0 Cues = [] Subtitle[1]: + presentationTimeUs = 0 Cue[0]: text = This is the first subtitle. textAlignment = ALIGN_CENTER @@ -360,8 +362,10 @@ TextOutput: positionAnchor = 1 size = 1.0 Subtitle[2]: + presentationTimeUs = 1234000 Cues = [] Subtitle[3]: + presentationTimeUs = 2345000 Cue[0]: text = This is the second subtitle. textAlignment = ALIGN_CENTER @@ -372,4 +376,5 @@ TextOutput: positionAnchor = 1 size = 1.0 Subtitle[4]: + presentationTimeUs = 3456000 Cues = [] diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index 2cfaf781b62..b84b90a9a67 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -1920,7 +1920,7 @@ public void getCurrentCues_afterConnected() throws Exception { Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder() - .setCurrentCues(new CueGroup(testCues)) + .setCurrentCues(new CueGroup(testCues, /* presentationTimeUs= */ 1_230_000)) .build(); remoteSession.setPlayer(playerConfig); @@ -1938,7 +1938,7 @@ public void onCues_emptyList_whenCommandUnavailable() throws Exception { Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder() - .setCurrentCues(new CueGroup(testCues)) + .setCurrentCues(new CueGroup(testCues, /* presentationTimeUs= */ 1_230_000)) .build(); remoteSession.setPlayer(playerConfig); @@ -1991,7 +1991,7 @@ public void onCues(CueGroup cueGroup) { Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder() - .setCurrentCues(new CueGroup(testCues)) + .setCurrentCues(new CueGroup(testCues, /* presentationTimeUs= */ 1_230_000)) .build(); remoteSession.setPlayer(playerConfig); @@ -2021,7 +2021,9 @@ public void onCues(CueGroup cueGroup) { }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); - remoteSession.getMockPlayer().notifyCuesChanged(new CueGroup(testCues)); + remoteSession + .getMockPlayer() + .notifyCuesChanged(new CueGroup(testCues, /* presentationTimeUs= */ 1_230_000)); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(cuesFromParam).isEqualTo(testCues); diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index 6bf44ca49ff..fa4605cfaae 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -105,6 +105,8 @@ public class MediaSessionProviderService extends Service { private static final String TAG = "MSProviderService"; + private static final CueGroup EMPTY_CUE_GROUP = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); private Map sessionMap = new HashMap<>(); private RemoteMediaSessionStub sessionBinder; @@ -327,7 +329,7 @@ private Player createMockPlayer(Bundle config) { } Bundle cueGroupBundle = config.getBundle(KEY_CURRENT_CUE_GROUP); player.cueGroup = - cueGroupBundle == null ? CueGroup.EMPTY : CueGroup.CREATOR.fromBundle(cueGroupBundle); + cueGroupBundle == null ? EMPTY_CUE_GROUP : CueGroup.CREATOR.fromBundle(cueGroupBundle); @Nullable Bundle deviceInfoBundle = config.getBundle(KEY_DEVICE_INFO); if (deviceInfoBundle != null) { player.deviceInfo = DeviceInfo.CREATOR.fromBundle(deviceInfoBundle); diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index d9a9258b650..ee26b18e33e 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -196,6 +196,8 @@ public class MockPlayer implements Player { private final ArraySet listeners = new ArraySet<>(); private final ImmutableMap<@Method Integer, ConditionVariable> conditionVariables = createMethodConditionVariables(); + private static final CueGroup EMPTY_CUE_GROUP = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); @Nullable PlaybackException playerError; public AudioAttributes audioAttributes; @@ -276,7 +278,7 @@ private MockPlayer(Builder builder) { repeatMode = Player.REPEAT_MODE_OFF; videoSize = VideoSize.UNKNOWN; volume = 1.0f; - cueGroup = CueGroup.EMPTY; + cueGroup = EMPTY_CUE_GROUP; deviceInfo = DeviceInfo.UNKNOWN; seekPositionMs = C.TIME_UNSET; seekMediaItemIndex = C.INDEX_UNSET; diff --git a/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java b/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java index 947ab7d82c6..8fc015fc9c8 100644 --- a/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java +++ b/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java @@ -15,6 +15,8 @@ */ package androidx.media3.test.utils.robolectric; +import static java.lang.Math.max; + import android.graphics.Bitmap; import androidx.annotation.Nullable; import androidx.media3.common.Metadata; @@ -56,7 +58,7 @@ public final class PlaybackOutput implements Dumper.Dumpable { private final CapturingRenderersFactory capturingRenderersFactory; private final List metadatas; - private final List> subtitles; + private final List subtitles; private final List> subtitlesFromDeprecatedTextOutput; private PlaybackOutput(ExoPlayer player, CapturingRenderersFactory capturingRenderersFactory) { @@ -65,8 +67,8 @@ private PlaybackOutput(ExoPlayer player, CapturingRenderersFactory capturingRend metadatas = Collections.synchronizedList(new ArrayList<>()); subtitles = Collections.synchronizedList(new ArrayList<>()); subtitlesFromDeprecatedTextOutput = Collections.synchronizedList(new ArrayList<>()); - // TODO: Consider passing playback position into MetadataOutput and TextOutput. Calling - // player.getCurrentPosition() inside onMetadata/Cues will likely be non-deterministic + // TODO: Consider passing playback position into MetadataOutput. Calling + // player.getCurrentPosition() inside onMetadata will likely be non-deterministic // because renderer-thread != playback-thread. player.addListener( new Player.Listener() { @@ -82,7 +84,7 @@ public void onCues(List cues) { @Override public void onCues(CueGroup cueGroup) { - subtitles.add(cueGroup.cues); + subtitles.add(cueGroup); } }); } @@ -154,9 +156,9 @@ private static String getEntryAsString(Metadata.Entry entry) { } private void dumpSubtitles(Dumper dumper) { - if (!subtitles.equals(subtitlesFromDeprecatedTextOutput)) { + if (subtitles.size() != subtitlesFromDeprecatedTextOutput.size()) { throw new IllegalStateException( - "Expected subtitles to be equal from both implementations of onCues method."); + "Expected subtitles to be of equal length from both implementations of onCues method."); } if (subtitles.isEmpty()) { @@ -165,7 +167,15 @@ private void dumpSubtitles(Dumper dumper) { dumper.startBlock("TextOutput"); for (int i = 0; i < subtitles.size(); i++) { dumper.startBlock("Subtitle[" + i + "]"); - List subtitle = subtitles.get(i); + // TODO: Solving https://github.com/google/ExoPlayer/issues/9672 will allow us to remove this + // hack of forcing presentationTimeUs to be >= 0. + dumper.add("presentationTimeUs", max(0, subtitles.get(i).presentationTimeUs)); + ImmutableList subtitle = subtitles.get(i).cues; + if (!subtitle.equals(subtitlesFromDeprecatedTextOutput.get(i))) { + throw new IllegalStateException( + "Expected subtitle to be equal from both implementations of onCues method for index " + + i); + } if (subtitle.isEmpty()) { dumper.add("Cues", ImmutableList.of()); } From 90c904b08965678081f0525739b22419faa9d9b1 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Thu, 23 Jun 2022 11:37:19 +0100 Subject: [PATCH 028/422] Add a Builder for DefaultEncoderFactory. PiperOrigin-RevId: 456728032 (cherry picked from commit 352967f65661296ff5551138fd6346fce0c52a3f) --- .../demo/transformer/TransformerActivity.java | 8 +- .../media3/transformer/AndroidTestUtil.java | 2 +- .../transformer/TransformerEndToEndTest.java | 8 +- .../transformer/mh/TransformationTest.java | 10 +- .../mh/analysis/BitrateAnalysisTest.java | 17 ++- .../EncoderPerformanceAnalysisTest.java | 15 ++- .../transformer/DefaultEncoderFactory.java | 109 ++++++++++++++---- .../media3/transformer/Transformer.java | 2 +- .../DefaultEncoderFactoryTest.java | 19 +-- .../transformer/TransformerEndToEndTest.java | 2 +- 10 files changed, 124 insertions(+), 68 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 0c41d8c1f46..3e969ff938b 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -42,7 +42,6 @@ import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.util.DebugTextViewHelper; import androidx.media3.transformer.DefaultEncoderFactory; -import androidx.media3.transformer.EncoderSelector; import androidx.media3.transformer.GlEffect; import androidx.media3.transformer.GlTextureProcessor; import androidx.media3.transformer.ProgressHolder; @@ -260,10 +259,9 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) .setRemoveAudio(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_AUDIO)) .setRemoveVideo(bundle.getBoolean(ConfigurationActivity.SHOULD_REMOVE_VIDEO)) .setEncoderFactory( - new DefaultEncoderFactory( - /* context= */ this, - EncoderSelector.DEFAULT, - /* enableFallback= */ bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK))); + new DefaultEncoderFactory.Builder(this.getApplicationContext()) + .setEnableFallback(bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK)) + .build()); ImmutableList.Builder effects = new ImmutableList.Builder<>(); @Nullable diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index ea0c4985224..9e6c3faf673 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -225,7 +225,7 @@ public static final class ForceEncodeEncoderFactory implements Codec.EncoderFact /** Creates an instance that wraps {@link DefaultEncoderFactory}. */ public ForceEncodeEncoderFactory(Context context) { - encoderFactory = new DefaultEncoderFactory(context); + encoderFactory = new DefaultEncoderFactory.Builder(context).build(); } /** diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index f7aeb0ca91a..c7e3cb47666 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -46,8 +46,7 @@ public void videoEditing_completesWithConsistentFrameCount() throws Exception { .setTransformationRequest( new TransformationRequest.Builder().setResolution(480).build()) .setEncoderFactory( - new DefaultEncoderFactory( - context, EncoderSelector.DEFAULT, /* enableFallback= */ false)) + new DefaultEncoderFactory.Builder(context).setEnableFallback(false).build()) .build(); // Result of the following command: // ffprobe -count_frames -select_streams v:0 -show_entries stream=nb_read_frames sample.mp4 @@ -71,8 +70,7 @@ public void videoOnly_completesWithConsistentDuration() throws Exception { .setTransformationRequest( new TransformationRequest.Builder().setResolution(480).build()) .setEncoderFactory( - new DefaultEncoderFactory( - context, EncoderSelector.DEFAULT, /* enableFallback= */ false)) + new DefaultEncoderFactory.Builder(context).setEnableFallback(false).build()) .build(); long expectedDurationMs = 967; @@ -138,7 +136,7 @@ private static final class VideoUnsupportedEncoderFactory implements Codec.Encod private final Codec.EncoderFactory encoderFactory; public VideoUnsupportedEncoderFactory(Context context) { - encoderFactory = new DefaultEncoderFactory(context); + encoderFactory = new DefaultEncoderFactory.Builder(context).build(); } @Override diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java index 045961c1a1e..edfd6101abf 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java @@ -31,7 +31,6 @@ import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.AndroidTestUtil.ForceEncodeEncoderFactory; import androidx.media3.transformer.DefaultEncoderFactory; -import androidx.media3.transformer.EncoderSelector; import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; @@ -81,11 +80,10 @@ public void transformToSpecificBitrate() throws Exception { .setRemoveAudio(true) .setEncoderFactory( new ForceEncodeEncoderFactory( - /* wrappedEncoderFactory= */ new DefaultEncoderFactory( - context, - EncoderSelector.DEFAULT, - new VideoEncoderSettings.Builder().setBitrate(5_000_000).build(), - /* enableFallback= */ true))) + /* wrappedEncoderFactory= */ new DefaultEncoderFactory.Builder(context) + .setRequestedVideoEncoderSettings( + new VideoEncoderSettings.Builder().setBitrate(5_000_000).build()) + .build())) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) .setMaybeCalculateSsim(true) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java index 45e4cb60d6f..1b8837f1371 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java @@ -24,7 +24,6 @@ import androidx.media3.common.util.Assertions; import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.DefaultEncoderFactory; -import androidx.media3.transformer.EncoderSelector; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.VideoEncoderSettings; @@ -117,14 +116,14 @@ public void analyzeBitrate() throws Exception { .setRemoveAudio(true) .setEncoderFactory( new AndroidTestUtil.ForceEncodeEncoderFactory( - /* wrappedEncoderFactory= */ new DefaultEncoderFactory( - context, - EncoderSelector.DEFAULT, - new VideoEncoderSettings.Builder() - .setBitrate(bitrate) - .setBitrateMode(bitrateMode) - .build(), - /* enableFallback= */ false))) + /* wrappedEncoderFactory= */ new DefaultEncoderFactory.Builder(context) + .setRequestedVideoEncoderSettings( + new VideoEncoderSettings.Builder() + .setBitrate(bitrate) + .setBitrateMode(bitrateMode) + .build()) + .setEnableFallback(false) + .build())) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java index f2e28184fc3..1ef1566c1d8 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java @@ -26,7 +26,6 @@ import androidx.media3.common.util.Util; import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.DefaultEncoderFactory; -import androidx.media3.transformer.EncoderSelector; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.VideoEncoderSettings; @@ -127,13 +126,13 @@ public void analyzeEncoderPerformance() throws Exception { .setRemoveAudio(true) .setEncoderFactory( new AndroidTestUtil.ForceEncodeEncoderFactory( - /* wrappedEncoderFactory= */ new DefaultEncoderFactory( - context, - EncoderSelector.DEFAULT, - new VideoEncoderSettings.Builder() - .setEncoderPerformanceParameters(operatingRate, priority) - .build(), - /* enableFallback= */ false))) + /* wrappedEncoderFactory= */ new DefaultEncoderFactory.Builder(context) + .setRequestedVideoEncoderSettings( + new VideoEncoderSettings.Builder() + .setEncoderPerformanceParameters(operatingRate, priority) + .build()) + .setEnableFallback(false) + .build())) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 4303463b18f..fda367d6f05 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -47,48 +47,109 @@ public final class DefaultEncoderFactory implements Codec.EncoderFactory { private static final int DEFAULT_FRAME_RATE = 30; private static final String TAG = "DefaultEncoderFactory"; + /** A builder for {@link DefaultEncoderFactory} instances. */ + public static final class Builder { + private final Context context; + + @Nullable private EncoderSelector encoderSelector; + @Nullable private VideoEncoderSettings requestedVideoEncoderSettings; + private boolean enableFallback; + + /** Creates a new {@link Builder}. */ + public Builder(Context context) { + this.context = context; + this.enableFallback = true; + } + + /** + * Sets the video {@link EncoderSelector}. + * + *

The default value is {@link EncoderSelector#DEFAULT}. + */ + public Builder setVideoEncoderSelector(EncoderSelector encoderSelector) { + this.encoderSelector = encoderSelector; + return this; + } + + /** + * Sets the requested {@link VideoEncoderSettings}. + * + *

Values in {@code requestedVideoEncoderSettings} could be adjusted to improve encoding + * quality and/or reduce failures. Specifically, {@link VideoEncoderSettings#profile} and {@link + * VideoEncoderSettings#level} are ignored for {@link MimeTypes#VIDEO_H264}. Consider + * implementing {@link Codec.EncoderFactory} if such adjustments are unwanted. + * + *

{@code requestedVideoEncoderSettings} should be handled with care because there is no + * fallback support for it. For example, using incompatible {@link VideoEncoderSettings#profile} + * and {@link VideoEncoderSettings#level} can cause codec configuration failure. Setting an + * unsupported {@link VideoEncoderSettings#bitrateMode} may cause encoder instantiation failure. + * + *

The default value is {@link VideoEncoderSettings#DEFAULT}. + */ + public Builder setRequestedVideoEncoderSettings( + VideoEncoderSettings requestedVideoEncoderSettings) { + this.requestedVideoEncoderSettings = requestedVideoEncoderSettings; + return this; + } + + /** + * Sets whether the encoder can fallback. + * + *

With format fallback enabled, when the requested {@link Format} is not supported, {@code + * DefaultEncoderFactory} finds a format that is supported by the device and configures the + * {@link Codec} with it. The fallback process may change the requested {@link + * Format#sampleMimeType MIME type}, resolution, {@link Format#bitrate bitrate}, {@link + * Format#codecs profile/level} etc. + * + *

The default value is {@code true}. + */ + public Builder setEnableFallback(boolean enableFallback) { + this.enableFallback = enableFallback; + return this; + } + + /** Creates an instance of {@link DefaultEncoderFactory}, using defaults if values are unset. */ + @SuppressWarnings("deprecation") + public DefaultEncoderFactory build() { + if (encoderSelector == null) { + encoderSelector = EncoderSelector.DEFAULT; + } + if (requestedVideoEncoderSettings == null) { + requestedVideoEncoderSettings = VideoEncoderSettings.DEFAULT; + } + return new DefaultEncoderFactory( + context, encoderSelector, requestedVideoEncoderSettings, enableFallback); + } + } + private final Context context; private final EncoderSelector videoEncoderSelector; private final VideoEncoderSettings requestedVideoEncoderSettings; private final boolean enableFallback; /** - * Creates a new instance using the {@link EncoderSelector#DEFAULT default encoder selector}, a - * default {@link VideoEncoderSettings}, and with format fallback enabled. + * @deprecated Use {@link Builder} instead. */ + @Deprecated + @SuppressWarnings("deprecation") public DefaultEncoderFactory(Context context) { this(context, EncoderSelector.DEFAULT, /* enableFallback= */ true); } - /** Creates a new instance using a default {@link VideoEncoderSettings}. */ + /** + * @deprecated Use {@link Builder} instead. + */ + @Deprecated + @SuppressWarnings("deprecation") public DefaultEncoderFactory( Context context, EncoderSelector videoEncoderSelector, boolean enableFallback) { this(context, videoEncoderSelector, VideoEncoderSettings.DEFAULT, enableFallback); } /** - * Creates a new instance. - * - *

With format fallback enabled, when the requested {@link Format} is not supported, {@code - * DefaultEncoderFactory} finds a format that is supported by the device and configures the {@link - * Codec} with it. The fallback process may change the requested {@link Format#sampleMimeType MIME - * type}, resolution, {@link Format#bitrate bitrate}, {@link Format#codecs profile/level} etc. - * - *

Values in {@code requestedVideoEncoderSettings} could be adjusted to improve encoding - * quality and/or reduce failures. Specifically, {@link VideoEncoderSettings#profile} and {@link - * VideoEncoderSettings#level} are ignored for {@link MimeTypes#VIDEO_H264}. Consider implementing - * {@link Codec.EncoderFactory} if such adjustments are unwanted. - * - *

{@code requestedVideoEncoderSettings} should be handled with care because there is no - * fallback support for it. For example, using incompatible {@link VideoEncoderSettings#profile} - * and {@link VideoEncoderSettings#level} can cause codec configuration failure. Setting an - * unsupported {@link VideoEncoderSettings#bitrateMode} may cause encoder instantiation failure. - * - * @param context The {@link Context}. - * @param videoEncoderSelector The {@link EncoderSelector}. - * @param requestedVideoEncoderSettings The {@link VideoEncoderSettings}. - * @param enableFallback Whether to enable fallback. + * @deprecated Use {@link Builder} instead. */ + @Deprecated public DefaultEncoderFactory( Context context, EncoderSelector videoEncoderSelector, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index e8af343ce73..433b777a751 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -122,7 +122,7 @@ public Builder(Context context) { looper = Util.getCurrentOrMainLooper(); clock = Clock.DEFAULT; listeners = new ListenerSet<>(looper, clock, (listener, flags) -> {}); - encoderFactory = new DefaultEncoderFactory(this.context); + encoderFactory = new DefaultEncoderFactory.Builder(this.context).build(); decoderFactory = new DefaultDecoderFactory(this.context); debugViewProvider = DebugViewProvider.NONE; containerMimeType = MimeTypes.VIDEO_MP4; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java index 6272ff90362..0896c7f4275 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java @@ -68,7 +68,8 @@ public void createForVideoEncoding_withFallbackOnAndSupportedInputFormat_configu throws Exception { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H264, 1920, 1080, 30); Format actualVideoFormat = - new DefaultEncoderFactory(context) + new DefaultEncoderFactory.Builder(context) + .build() .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)) @@ -86,7 +87,8 @@ public void createForVideoEncoding_withFallbackOnAndUnsupportedMimeType_configur throws Exception { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H265, 1920, 1080, 30); Format actualVideoFormat = - new DefaultEncoderFactory(context) + new DefaultEncoderFactory.Builder(context) + .build() .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)) @@ -104,7 +106,8 @@ public void createForVideoEncoding_withFallbackOnAndUnsupportedResolution_config throws Exception { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H264, 3840, 2160, 60); Format actualVideoFormat = - new DefaultEncoderFactory(context) + new DefaultEncoderFactory.Builder(context) + .build() .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)) @@ -122,7 +125,8 @@ public void createForVideoEncoding_withNoSupportedEncoder_throws() { assertThrows( TransformationException.class, () -> - new DefaultEncoderFactory(context) + new DefaultEncoderFactory.Builder(context) + .build() .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H265))); @@ -138,10 +142,9 @@ public void createForVideoEncoding_withNoAvailableEncoderFromEncoderSelector_thr assertThrows( TransformationException.class, () -> - new DefaultEncoderFactory( - context, - /* videoEncoderSelector= */ mimeType -> ImmutableList.of(), - /* enableFallback= */ true) + new DefaultEncoderFactory.Builder(context) + .setVideoEncoderSelector(mimeType -> ImmutableList.of()) + .build() .createForVideoEncoding( requestedVideoFormat, /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264))); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index 33952703730..5f883b5b882 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -751,7 +751,7 @@ private Transformer.Builder createTransformerBuilder(boolean enableFallback) { .setClock(clock) .setMuxerFactory(new TestMuxerFactory()) .setEncoderFactory( - new DefaultEncoderFactory(context, EncoderSelector.DEFAULT, enableFallback)); + new DefaultEncoderFactory.Builder(context).setEnableFallback(enableFallback).build()); } private static void createEncodersAndDecoders() { From 498123da683dc91b46971459d23fe881291726bb Mon Sep 17 00:00:00 2001 From: hschlueter Date: Thu, 23 Jun 2022 13:13:56 +0100 Subject: [PATCH 029/422] Rename FrameProcessorChain to GlEffectsFrameProcessor. This change is just renaming. There is no functional change intended. The FrameProcessor interface will be created in a follow-up. PiperOrigin-RevId: 456741628 (cherry picked from commit 709224fb1ed3a1dab1433a5dc7fbb33a04eecaae) --- .../media3/transformer/BitmapTestUtil.java | 2 +- .../media3/transformer/CropPixelTest.java | 2 +- ... => GlEffectsFrameProcessorPixelTest.java} | 48 +++++++++--------- ...atrixTransformationProcessorPixelTest.java | 2 +- .../transformer/PresentationPixelTest.java | 2 +- .../ChainingGlTextureProcessorListener.java | 10 ++-- ...lMatrixTransformationProcessorWrapper.java | 14 +++--- .../FrameProcessingTaskExecutor.java | 8 +-- ...hain.java => GlEffectsFrameProcessor.java} | 49 ++++++++++--------- .../transformer/TransformationException.java | 8 +-- .../VideoTranscodingSamplePipeline.java | 22 ++++----- ...hainingGlTextureProcessorListenerTest.java | 10 ++-- 12 files changed, 91 insertions(+), 86 deletions(-) rename libraries/transformer/src/androidTest/java/androidx/media3/transformer/{FrameProcessorChainPixelTest.java => GlEffectsFrameProcessorPixelTest.java} (93%) rename libraries/transformer/src/main/java/androidx/media3/transformer/{FrameProcessorChain.java => GlEffectsFrameProcessor.java} (92%) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java index 2f38910bd89..585fe0ef2fe 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java @@ -39,7 +39,7 @@ import java.nio.ByteBuffer; /** - * Utilities for instrumentation tests for the {@link FrameProcessorChain} and {@link + * Utilities for instrumentation tests for the {@link GlEffectsFrameProcessor} and {@link * SingleFrameGlTextureProcessor SingleFrameGlTextureProcessors}. */ public class BitmapTestUtil { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java index b0de6571fb5..fe85fb8d882 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java @@ -41,7 +41,7 @@ *

Expected images are taken from an emulator, so tests on different emulators or physical * devices may fail. To test on other devices, please increase the {@link * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps - * as recommended in {@link FrameProcessorChainPixelTest}. + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. */ @RunWith(AndroidJUnit4.class) public final class CropPixelTest { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java similarity index 93% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java rename to libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 880c36bdf35..4cc38115bba 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/FrameProcessorChainPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -46,7 +46,7 @@ import org.junit.runner.RunWith; /** - * Pixel test for frame processing via {@link FrameProcessorChain}. + * Pixel test for frame processing via {@link GlEffectsFrameProcessor}. * *

Expected images are taken from an emulator, so tests on different emulators or physical * devices may fail. To test on other devices, please increase the {@link @@ -54,7 +54,7 @@ * bitmaps. */ @RunWith(AndroidJUnit4.class) -public final class FrameProcessorChainPixelTest { +public final class GlEffectsFrameProcessorPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/original.png"; public static final String SCALE_WIDE_PNG_ASSET_PATH = @@ -79,8 +79,9 @@ public final class FrameProcessorChainPixelTest { /** Timeout for dequeueing buffers from the codec, in microseconds. */ private static final int DEQUEUE_TIMEOUT_US = 5_000_000; /** - * Time to wait for the decoded frame to populate the {@link FrameProcessorChain}'s input surface - * and the {@link FrameProcessorChain} to finish processing the frame, in milliseconds. + * Time to wait for the decoded frame to populate the {@link GlEffectsFrameProcessor} instance's + * input surface and the {@link GlEffectsFrameProcessor} to finish processing the frame, in + * milliseconds. */ private static final int FRAME_PROCESSING_WAIT_MS = 5000; /** The ratio of width over height, for each pixel in a frame. */ @@ -90,14 +91,14 @@ public final class FrameProcessorChainPixelTest { new AtomicReference<>(); private @MonotonicNonNull MediaFormat mediaFormat; - private @MonotonicNonNull FrameProcessorChain frameProcessorChain; + private @MonotonicNonNull GlEffectsFrameProcessor glEffectsFrameProcessor; private volatile @MonotonicNonNull ImageReader outputImageReader; private volatile boolean frameProcessingEnded; @After public void release() { - if (frameProcessorChain != null) { - frameProcessorChain.release(); + if (glEffectsFrameProcessor != null) { + glEffectsFrameProcessor.release(); } } @@ -321,8 +322,8 @@ public void processData_withTwoWrappedScaleToFitTransformations_producesExpected /** * Set up and prepare the first frame from an input video, as well as relevant test - * infrastructure. The frame will be sent towards the {@link FrameProcessorChain}, and may be - * accessed on the {@link FrameProcessorChain}'s output {@code outputImageReader}. + * infrastructure. The frame will be sent towards the {@link GlEffectsFrameProcessor}, and output + * may be accessed on the {@code outputImageReader}. * * @param pixelWidthHeightRatio The ratio of width over height for each pixel. * @param effects The {@link GlEffect GlEffects} to apply to the input frame. @@ -350,11 +351,11 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, ListThis ensures that {@link FrameProcessorChain} uses a separate {@link GlTextureProcessor} for - * the wrapped {@link GlEffect} rather than merging it with preceding or subsequent {@link + *

This ensures that {@link GlEffectsFrameProcessor} uses a separate {@link GlTextureProcessor} + * for the wrapped {@link GlEffect} rather than merging it with preceding or subsequent {@link * GlEffect} instances and applying them in one combined {@link GlTextureProcessor}. */ private static final class GlEffectWrapper implements GlEffect { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java index 3255c093cb5..971403d5ae3 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java @@ -40,7 +40,7 @@ *

Expected images are taken from an emulator, so tests on different emulators or physical * devices may fail. To test on other devices, please increase the {@link * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps - * as recommended in {@link FrameProcessorChainPixelTest}. + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. */ @RunWith(AndroidJUnit4.class) public final class MatrixTransformationProcessorPixelTest { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index 53bbbea9eec..e0a0facc6b1 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -42,7 +42,7 @@ *

Expected images are taken from an emulator, so tests on different emulators or physical * devices may fail. To test on other devices, please increase the {@link * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps - * as recommended in {@link FrameProcessorChainPixelTest}. + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. */ @RunWith(AndroidJUnit4.class) public final class PresentationPixelTest { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java index 3017107b2fe..b4d3b43bdfc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java @@ -31,7 +31,7 @@ @Nullable private final GlTextureProcessor previousGlTextureProcessor; @Nullable private final GlTextureProcessor nextGlTextureProcessor; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; - private final FrameProcessorChain.Listener frameProcessorChainListener; + private final GlEffectsFrameProcessor.Listener frameProcessorListener; private final Queue> pendingFrames; /** @@ -45,18 +45,18 @@ * OpenGL calls. All calls to the previous/next {@link GlTextureProcessor} will be executed by * the {@link FrameProcessingTaskExecutor}. The caller is responsible for releasing the {@link * FrameProcessingTaskExecutor}. - * @param frameProcessorChainListener The {@link FrameProcessorChain.Listener} to forward + * @param frameProcessorListener The {@link GlEffectsFrameProcessor.Listener} to forward * exceptions to. */ public ChainingGlTextureProcessorListener( @Nullable GlTextureProcessor previousGlTextureProcessor, @Nullable GlTextureProcessor nextGlTextureProcessor, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - FrameProcessorChain.Listener frameProcessorChainListener) { + GlEffectsFrameProcessor.Listener frameProcessorListener) { this.previousGlTextureProcessor = previousGlTextureProcessor; this.nextGlTextureProcessor = nextGlTextureProcessor; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; - this.frameProcessorChainListener = frameProcessorChainListener; + this.frameProcessorListener = frameProcessorListener; pendingFrames = new ArrayDeque<>(); } @@ -101,6 +101,6 @@ public void onOutputStreamEnded() { @Override public void onFrameProcessingError(FrameProcessingException e) { - frameProcessorChainListener.onFrameProcessingError(e); + frameProcessorListener.onFrameProcessingError(e); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 84040ab6e1e..e9364953987 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -47,7 +47,7 @@ * dimensions specified by the provided {@link SurfaceInfo}. * *

This wrapper is used for the final {@link GlTextureProcessor} instance in the chain of {@link - * GlTextureProcessor} instances used by {@link FrameProcessorChain}. + * GlTextureProcessor} instances used by {@link GlEffectsFrameProcessor}. */ /* package */ final class FinalMatrixTransformationProcessorWrapper implements GlTextureProcessor { @@ -60,7 +60,7 @@ private final SurfaceInfo.Provider outputSurfaceProvider; private final long streamOffsetUs; private final Transformer.DebugViewProvider debugViewProvider; - private final FrameProcessorChain.Listener frameProcessorChainListener; + private final GlEffectsFrameProcessor.Listener frameProcessorListener; private final boolean enableExperimentalHdrEditing; private int inputWidth; @@ -78,7 +78,7 @@ public FinalMatrixTransformationProcessorWrapper( ImmutableList matrixTransformations, SurfaceInfo.Provider outputSurfaceProvider, long streamOffsetUs, - FrameProcessorChain.Listener listener, + GlEffectsFrameProcessor.Listener frameProcessorListener, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) { this.context = context; @@ -88,7 +88,7 @@ public FinalMatrixTransformationProcessorWrapper( this.outputSurfaceProvider = outputSurfaceProvider; this.streamOffsetUs = streamOffsetUs; this.debugViewProvider = debugViewProvider; - this.frameProcessorChainListener = listener; + this.frameProcessorListener = frameProcessorListener; this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; } @@ -97,7 +97,7 @@ public FinalMatrixTransformationProcessorWrapper( * *

The {@code FinalMatrixTransformationProcessorWrapper} will only call {@link * Listener#onInputFrameProcessed(TextureInfo)}. Other events are handled via the {@link - * FrameProcessorChain.Listener} passed to the constructor. + * GlEffectsFrameProcessor.Listener} passed to the constructor. */ @Override public void setListener(Listener listener) { @@ -130,7 +130,7 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUs) * 1000); EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); } catch (FrameProcessingException | GlUtil.GlException e) { - frameProcessorChainListener.onFrameProcessingError( + frameProcessorListener.onFrameProcessingError( FrameProcessingException.from(e, presentationTimeUs)); } @@ -247,7 +247,7 @@ public void releaseOutputFrame(TextureInfo outputTexture) { @Override public void signalEndOfInputStream() { - frameProcessorChainListener.onFrameProcessingEnded(); + frameProcessorListener.onFrameProcessingEnded(); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java index d228494831a..7f3399532c0 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java @@ -30,19 +30,19 @@ * instances. * *

The wrapper handles calling {@link - * FrameProcessorChain.Listener#onFrameProcessingError(FrameProcessingException)} for errors that - * occur during these tasks. + * GlEffectsFrameProcessor.Listener#onFrameProcessingError(FrameProcessingException)} for errors + * that occur during these tasks. */ /* package */ final class FrameProcessingTaskExecutor { private final ExecutorService singleThreadExecutorService; - private final FrameProcessorChain.Listener listener; + private final GlEffectsFrameProcessor.Listener listener; private final ConcurrentLinkedQueue> futures; private final AtomicBoolean shouldCancelTasks; /** Creates a new instance. */ public FrameProcessingTaskExecutor( - ExecutorService singleThreadExecutorService, FrameProcessorChain.Listener listener) { + ExecutorService singleThreadExecutorService, GlEffectsFrameProcessor.Listener listener) { this.singleThreadExecutorService = singleThreadExecutorService; this.listener = listener; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java similarity index 92% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java rename to libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 3ebc57741d3..38917b99b58 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessorChain.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -37,7 +37,7 @@ import java.util.concurrent.atomic.AtomicInteger; /** - * {@code FrameProcessorChain} applies changes to individual video frames. + * {@code GlEffectsFrameProcessor} applies changes to individual video frames. * *

Input becomes available on its {@linkplain #getInputSurface() input surface} asynchronously * and is processed on a background thread as it becomes available. All input frames should be @@ -47,20 +47,21 @@ * Listener, float, int, int, long, List, SurfaceInfo.Provider, Transformer.DebugViewProvider, * boolean) output surface}. */ -// TODO(b/227625423): Factor out FrameProcessor interface and rename this class to GlFrameProcessor. -/* package */ final class FrameProcessorChain { +// TODO(b/227625423): Factor out FrameProcessor interface +/* package */ final class GlEffectsFrameProcessor { /** * Listener for asynchronous frame processing events. * - *

This listener is only called from the {@link FrameProcessorChain}'s background thread. + *

This listener is only called from the {@link GlEffectsFrameProcessor} instance's background + * thread. */ public interface Listener { /** * Called when an exception occurs during asynchronous frame processing. * *

If an error occurred, consuming and producing further frames will not work as expected and - * the {@link FrameProcessorChain} should be released. + * the {@link GlEffectsFrameProcessor} should be released. */ void onFrameProcessingError(FrameProcessingException exception); @@ -86,9 +87,9 @@ public interface Listener { * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while * creating and configuring the OpenGL components. */ - public static FrameProcessorChain create( + public static GlEffectsFrameProcessor create( Context context, - FrameProcessorChain.Listener listener, + GlEffectsFrameProcessor.Listener listener, float pixelWidthHeightRatio, int inputWidth, int inputHeight, @@ -103,10 +104,10 @@ public static FrameProcessorChain create( ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); - Future frameProcessorChainFuture = + Future glFrameProcessorFuture = singleThreadExecutorService.submit( () -> - createOpenGlObjectsAndFrameProcessorChain( + createOpenGlObjectsAndFrameProcessor( context, listener, pixelWidthHeightRatio, @@ -120,7 +121,7 @@ public static FrameProcessorChain create( singleThreadExecutorService)); try { - return frameProcessorChainFuture.get(); + return glFrameProcessorFuture.get(); } catch (ExecutionException e) { throw new FrameProcessingException(e); } catch (InterruptedException e) { @@ -132,15 +133,15 @@ public static FrameProcessorChain create( /** * Creates the OpenGL context, surfaces, textures, and framebuffers, initializes {@link * GlTextureProcessor} instances corresponding to the {@link GlEffect} instances, and returns a - * new {@code FrameProcessorChain}. + * new {@code GlEffectsFrameProcessor}. * *

This method must be executed using the {@code singleThreadExecutorService}, as later OpenGL * commands will be called on that thread. */ @WorkerThread - private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( + private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( Context context, - FrameProcessorChain.Listener listener, + GlEffectsFrameProcessor.Listener listener, float pixelWidthHeightRatio, int inputWidth, int inputHeight, @@ -196,7 +197,7 @@ private static FrameProcessorChain createOpenGlObjectsAndFrameProcessorChain( chainTextureProcessorsWithListeners( externalTextureProcessor, textureProcessors, frameProcessingTaskExecutor, listener); - return new FrameProcessorChain( + return new GlEffectsFrameProcessor( eglDisplay, eglContext, frameProcessingTaskExecutor, @@ -244,7 +245,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe ImmutableList.Builder matrixTransformationListBuilder, SurfaceInfo.Provider outputSurfaceProvider, long streamOffsetUs, - FrameProcessorChain.Listener listener, + GlEffectsFrameProcessor.Listener listener, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { @@ -289,7 +290,7 @@ private static void chainTextureProcessorsWithListeners( ExternalTextureProcessor externalTextureProcessor, ImmutableList textureProcessors, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - FrameProcessorChain.Listener listener) { + GlEffectsFrameProcessor.Listener listener) { externalTextureProcessor.setListener( new ChainingGlTextureProcessorListener( /* previousGlTextureProcessor= */ null, @@ -312,8 +313,8 @@ private static void chainTextureProcessorsWithListeners( } } - private static final String TAG = "FrameProcessorChain"; - private static final String THREAD_NAME = "Transformer:FrameProcessorChain"; + private static final String TAG = "GlEffectsFrameProcessor"; + private static final String THREAD_NAME = "Transformer:GlEffectsFrameProcessor"; private static final long RELEASE_WAIT_TIME_MS = 100; private final EGLDisplay eglDisplay; @@ -341,7 +342,7 @@ private static void chainTextureProcessorsWithListeners( private boolean inputStreamEnded; - private FrameProcessorChain( + private GlEffectsFrameProcessor( EGLDisplay eglDisplay, EGLContext eglContext, FrameProcessingTaskExecutor frameProcessingTaskExecutor, @@ -374,9 +375,9 @@ public Surface getInputSurface() { } /** - * Informs the {@code FrameProcessorChain} that a frame will be queued to its input surface. + * Informs the {@code GlEffectsFrameProcessor} that a frame will be queued to its input surface. * - *

Must be called before rendering a frame to the frame processor chain's input surface. + *

Must be called before rendering a frame to the frame processor's input surface. * * @throws IllegalStateException If called after {@link #signalEndOfInputStream()}. */ @@ -394,7 +395,7 @@ public int getPendingInputFrameCount() { } /** - * Informs the {@code FrameProcessorChain} that no further input frames should be accepted. + * Informs the {@code GlEffectsFrameProcessor} that no further input frames should be accepted. * * @throws IllegalStateException If called more than once. */ @@ -407,12 +408,12 @@ public void signalEndOfInputStream() { /** * Releases all resources. * - *

If the frame processor chain is released before it has {@linkplain + *

If the frame processor is released before it has {@linkplain * Listener#onFrameProcessingEnded() ended}, it will attempt to cancel processing any input frames * that have already become available. Input frames that become available after release are * ignored. * - *

This method blocks until all OpenGL resources are released or releasing times out. + *

This method blocks until all resources are released or releasing times out. */ public void release() { try { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index aad804edec4..803ab0d53fa 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -274,15 +274,15 @@ public static TransformationException createForAudioProcessor( } /** - * Creates an instance for a {@link FrameProcessorChain} related exception. + * Creates an instance for a {@link GlEffectsFrameProcessor} related exception. * * @param cause The cause of the failure. * @param errorCode See {@link #errorCode}. * @return The created instance. */ - /* package */ static TransformationException createForFrameProcessorChain( - Throwable cause, int errorCode) { - return new TransformationException("FrameProcessorChain error", cause, errorCode); + /* package */ static TransformationException createForFrameProcessingException( + FrameProcessingException cause, int errorCode) { + return new TransformationException("Frame processing error", cause, errorCode); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 3bdb16f73e1..99703bc8c19 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -44,7 +44,7 @@ private final Codec decoder; private final ArrayList decodeOnlyPresentationTimestamps; - private final FrameProcessorChain frameProcessorChain; + private final GlEffectsFrameProcessor frameProcessor; private final EncoderWrapper encoderWrapper; private final DecoderInputBuffer encoderOutputBuffer; @@ -99,14 +99,14 @@ public VideoTranscodingSamplePipeline( asyncErrorListener); try { - frameProcessorChain = - FrameProcessorChain.create( + frameProcessor = + GlEffectsFrameProcessor.create( context, - new FrameProcessorChain.Listener() { + new GlEffectsFrameProcessor.Listener() { @Override public void onFrameProcessingError(FrameProcessingException exception) { asyncErrorListener.onTransformationException( - TransformationException.createForFrameProcessorChain( + TransformationException.createForFrameProcessingException( exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)); } @@ -128,14 +128,14 @@ public void onFrameProcessingEnded() { debugViewProvider, transformationRequest.enableHdrEditing); } catch (FrameProcessingException e) { - throw TransformationException.createForFrameProcessorChain( + throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_GL_INIT_FAILED); } decoder = decoderFactory.createForVideoDecoding( inputFormat, - frameProcessorChain.getInputSurface(), + frameProcessor.getInputSurface(), transformationRequest.enableRequestSdrToneMapping); maxPendingFrameCount = decoder.getMaxPendingFrameCount(); } @@ -165,7 +165,7 @@ public boolean processData() throws TransformationException { processedData = true; } if (decoder.isEnded()) { - frameProcessorChain.signalEndOfInputStream(); + frameProcessor.signalEndOfInputStream(); } // If the decoder produced output, signal that it may be possible to process data again. return processedData; @@ -202,7 +202,7 @@ public boolean isEnded() { @Override public void release() { - frameProcessorChain.release(); + frameProcessor.release(); decoder.release(); encoderWrapper.release(); } @@ -255,11 +255,11 @@ private boolean maybeProcessDecoderOutput() throws TransformationException { } if (maxPendingFrameCount != Codec.UNLIMITED_PENDING_FRAME_COUNT - && frameProcessorChain.getPendingInputFrameCount() == maxPendingFrameCount) { + && frameProcessor.getPendingInputFrameCount() == maxPendingFrameCount) { return false; } - frameProcessorChain.registerInputFrame(); + frameProcessor.registerInputFrame(); decoder.releaseOutputBuffer(/* render= */ true); return true; } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java index 9c74cb93066..39bbf1b3d40 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java @@ -31,11 +31,11 @@ public final class ChainingGlTextureProcessorListenerTest { private static final long EXECUTOR_WAIT_TIME_MS = 100; - private final FrameProcessorChain.Listener mockFrameProcessorChainListener = - mock(FrameProcessorChain.Listener.class); + private final GlEffectsFrameProcessor.Listener mockframeProcessorListener = + mock(GlEffectsFrameProcessor.Listener.class); private final FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor( - Util.newSingleThreadExecutor("Test"), mockFrameProcessorChainListener); + Util.newSingleThreadExecutor("Test"), mockframeProcessorListener); private final GlTextureProcessor mockPreviousGlTextureProcessor = mock(GlTextureProcessor.class); private final FakeGlTextureProcessor fakeNextGlTextureProcessor = spy(new FakeGlTextureProcessor()); @@ -44,7 +44,7 @@ public final class ChainingGlTextureProcessorListenerTest { mockPreviousGlTextureProcessor, fakeNextGlTextureProcessor, frameProcessingTaskExecutor, - mockFrameProcessorChainListener); + mockframeProcessorListener); @After public void release() throws InterruptedException { @@ -57,7 +57,7 @@ public void onFrameProcessingError_callsListener() { chainingGlTextureProcessorListener.onFrameProcessingError(exception); - verify(mockFrameProcessorChainListener, times(1)).onFrameProcessingError(exception); + verify(mockframeProcessorListener, times(1)).onFrameProcessingError(exception); } @Test From 4fc36bafdde568a2b3b04ba627c39491c113696b Mon Sep 17 00:00:00 2001 From: hschlueter Date: Thu, 23 Jun 2022 15:44:02 +0100 Subject: [PATCH 030/422] Disable flaky transformer emulator test on API 31. videoEncoderFormatUnsupported_completesWithError() has recently been flaky on API 31 emulators on presubmit because a different exception than the expected exception is thrown. This disables it on those emulators to reduce testing noise until the underlying problem is investigated and resolved. PiperOrigin-RevId: 456765512 (cherry picked from commit 938d3c2e5b6f016f7075a3d2d162d37c1951d825) --- .../media3/transformer/TransformerEndToEndTest.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index c7e3cb47666..0fe29914799 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -24,6 +24,7 @@ import android.net.Uri; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; +import androidx.media3.common.util.Util; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.util.List; @@ -109,6 +110,11 @@ public void clippedMedia_completesWithClippedDuration() throws Exception { @Test public void videoEncoderFormatUnsupported_completesWithError() { + // TODO(b/236943611): Re-enable this test after investigating flakiness. + if (Util.SDK_INT == 31) { + return; + } + Transformer transformer = new Transformer.Builder(context) .setEncoderFactory(new VideoUnsupportedEncoderFactory(context)) From 71f3ebb79c214a59de60825a4febd454143ee22c Mon Sep 17 00:00:00 2001 From: hschlueter Date: Thu, 23 Jun 2022 19:00:01 +0100 Subject: [PATCH 031/422] Extract FrameProcessor interface from GlEffectsFrameProcessor. PiperOrigin-RevId: 456814150 (cherry picked from commit f3893c146d5e4521b84af45551ea5fda4d9c66bd) --- .../GlEffectsFrameProcessorPixelTest.java | 2 +- .../ChainingGlTextureProcessorListener.java | 7 +- ...lMatrixTransformationProcessorWrapper.java | 8 +- .../FrameProcessingTaskExecutor.java | 8 +- .../media3/transformer/FrameProcessor.java | 77 +++++++++++++++++++ .../transformer/GlEffectsFrameProcessor.java | 75 ++++-------------- .../VideoTranscodingSamplePipeline.java | 4 +- ...hainingGlTextureProcessorListenerTest.java | 4 +- 8 files changed, 107 insertions(+), 78 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 4cc38115bba..e77ae2dfa28 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -355,7 +355,7 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, List> pendingFrames; /** @@ -45,14 +45,13 @@ * OpenGL calls. All calls to the previous/next {@link GlTextureProcessor} will be executed by * the {@link FrameProcessingTaskExecutor}. The caller is responsible for releasing the {@link * FrameProcessingTaskExecutor}. - * @param frameProcessorListener The {@link GlEffectsFrameProcessor.Listener} to forward - * exceptions to. + * @param frameProcessorListener The {@link FrameProcessor.Listener} to forward exceptions to. */ public ChainingGlTextureProcessorListener( @Nullable GlTextureProcessor previousGlTextureProcessor, @Nullable GlTextureProcessor nextGlTextureProcessor, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - GlEffectsFrameProcessor.Listener frameProcessorListener) { + FrameProcessor.Listener frameProcessorListener) { this.previousGlTextureProcessor = previousGlTextureProcessor; this.nextGlTextureProcessor = nextGlTextureProcessor; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index e9364953987..996fce157b8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -47,7 +47,7 @@ * dimensions specified by the provided {@link SurfaceInfo}. * *

This wrapper is used for the final {@link GlTextureProcessor} instance in the chain of {@link - * GlTextureProcessor} instances used by {@link GlEffectsFrameProcessor}. + * GlTextureProcessor} instances used by {@link FrameProcessor}. */ /* package */ final class FinalMatrixTransformationProcessorWrapper implements GlTextureProcessor { @@ -60,7 +60,7 @@ private final SurfaceInfo.Provider outputSurfaceProvider; private final long streamOffsetUs; private final Transformer.DebugViewProvider debugViewProvider; - private final GlEffectsFrameProcessor.Listener frameProcessorListener; + private final FrameProcessor.Listener frameProcessorListener; private final boolean enableExperimentalHdrEditing; private int inputWidth; @@ -78,7 +78,7 @@ public FinalMatrixTransformationProcessorWrapper( ImmutableList matrixTransformations, SurfaceInfo.Provider outputSurfaceProvider, long streamOffsetUs, - GlEffectsFrameProcessor.Listener frameProcessorListener, + FrameProcessor.Listener frameProcessorListener, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) { this.context = context; @@ -97,7 +97,7 @@ public FinalMatrixTransformationProcessorWrapper( * *

The {@code FinalMatrixTransformationProcessorWrapper} will only call {@link * Listener#onInputFrameProcessed(TextureInfo)}. Other events are handled via the {@link - * GlEffectsFrameProcessor.Listener} passed to the constructor. + * FrameProcessor.Listener} passed to the constructor. */ @Override public void setListener(Listener listener) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java index 7f3399532c0..86e03bd132f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java @@ -30,19 +30,19 @@ * instances. * *

The wrapper handles calling {@link - * GlEffectsFrameProcessor.Listener#onFrameProcessingError(FrameProcessingException)} for errors - * that occur during these tasks. + * FrameProcessor.Listener#onFrameProcessingError(FrameProcessingException)} for errors that occur + * during these tasks. */ /* package */ final class FrameProcessingTaskExecutor { private final ExecutorService singleThreadExecutorService; - private final GlEffectsFrameProcessor.Listener listener; + private final FrameProcessor.Listener listener; private final ConcurrentLinkedQueue> futures; private final AtomicBoolean shouldCancelTasks; /** Creates a new instance. */ public FrameProcessingTaskExecutor( - ExecutorService singleThreadExecutorService, GlEffectsFrameProcessor.Listener listener) { + ExecutorService singleThreadExecutorService, FrameProcessor.Listener listener) { this.singleThreadExecutorService = singleThreadExecutorService; this.listener = listener; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java new file mode 100644 index 00000000000..a4338cd6a27 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java @@ -0,0 +1,77 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import android.view.Surface; + +/** Interface for a frame processor that applies changes to individual video frames. */ +/* package */ interface FrameProcessor { + /** + * Listener for asynchronous frame processing events. + * + *

All listener methods must be called from the same thread. + */ + interface Listener { + + /** + * Called when an exception occurs during asynchronous frame processing. + * + *

If an error occurred, consuming and producing further frames will not work as expected and + * the {@link FrameProcessor} should be released. + */ + void onFrameProcessingError(FrameProcessingException exception); + + /** Called after the {@link FrameProcessor} has produced its final output frame. */ + void onFrameProcessingEnded(); + } + + /** Returns the input {@link Surface}. */ + Surface getInputSurface(); + + /** + * Informs the {@code FrameProcessor} that a frame will be queued to its input surface. + * + *

Must be called before rendering a frame to the frame processor's input surface. + * + * @throws IllegalStateException If called after {@link #signalEndOfInputStream()}. + */ + void registerInputFrame(); + + /** + * Returns the number of input frames that have been {@linkplain #registerInputFrame() registered} + * but not processed off the {@linkplain #getInputSurface() input surface} yet. + */ + int getPendingInputFrameCount(); + + /** + * Informs the {@code FrameProcessor} that no further input frames should be accepted. + * + * @throws IllegalStateException If called more than once. + */ + void signalEndOfInputStream(); + + /** + * Releases all resources. + * + *

If the frame processor is released before it has {@linkplain + * Listener#onFrameProcessingEnded() ended}, it will attempt to cancel processing any input frames + * that have already become available. Input frames that become available after release are + * ignored. + * + *

This method blocks until all resources are released or releasing times out. + */ + void release(); +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 38917b99b58..fc73daeb362 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -37,37 +37,12 @@ import java.util.concurrent.atomic.AtomicInteger; /** - * {@code GlEffectsFrameProcessor} applies changes to individual video frames. - * - *

Input becomes available on its {@linkplain #getInputSurface() input surface} asynchronously - * and is processed on a background thread as it becomes available. All input frames should be - * {@linkplain #registerInputFrame() registered} before they are rendered to the input surface. - * {@link #getPendingInputFrameCount()} can be used to check whether there are frames that have not - * been fully processed yet. Output is written to the provided {@linkplain #create(Context, - * Listener, float, int, int, long, List, SurfaceInfo.Provider, Transformer.DebugViewProvider, - * boolean) output surface}. + * A {@link FrameProcessor} implementation that applies {@link GlEffect} instances using OpenGL on a + * background thread. */ -// TODO(b/227625423): Factor out FrameProcessor interface -/* package */ final class GlEffectsFrameProcessor { - - /** - * Listener for asynchronous frame processing events. - * - *

This listener is only called from the {@link GlEffectsFrameProcessor} instance's background - * thread. - */ - public interface Listener { - /** - * Called when an exception occurs during asynchronous frame processing. - * - *

If an error occurred, consuming and producing further frames will not work as expected and - * the {@link GlEffectsFrameProcessor} should be released. - */ - void onFrameProcessingError(FrameProcessingException exception); - - /** Called after the frame processor has produced its final output frame. */ - void onFrameProcessingEnded(); - } +/* package */ final class GlEffectsFrameProcessor implements FrameProcessor { + // TODO(b/227625423): Replace factory method with setters once output surface and effects can be + // replaced. /** * Creates a new instance. @@ -89,7 +64,7 @@ public interface Listener { */ public static GlEffectsFrameProcessor create( Context context, - GlEffectsFrameProcessor.Listener listener, + FrameProcessor.Listener listener, float pixelWidthHeightRatio, int inputWidth, int inputHeight, @@ -141,7 +116,7 @@ public static GlEffectsFrameProcessor create( @WorkerThread private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( Context context, - GlEffectsFrameProcessor.Listener listener, + FrameProcessor.Listener listener, float pixelWidthHeightRatio, int inputWidth, int inputHeight, @@ -245,7 +220,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe ImmutableList.Builder matrixTransformationListBuilder, SurfaceInfo.Provider outputSurfaceProvider, long streamOffsetUs, - GlEffectsFrameProcessor.Listener listener, + FrameProcessor.Listener listener, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { @@ -290,7 +265,7 @@ private static void chainTextureProcessorsWithListeners( ExternalTextureProcessor externalTextureProcessor, ImmutableList textureProcessors, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - GlEffectsFrameProcessor.Listener listener) { + FrameProcessor.Listener listener) { externalTextureProcessor.setListener( new ChainingGlTextureProcessorListener( /* previousGlTextureProcessor= */ null, @@ -366,7 +341,7 @@ private GlEffectsFrameProcessor( inputSurfaceTextureTransformMatrix = new float[16]; } - /** Returns the input {@link Surface}. */ + @Override public Surface getInputSurface() { // TODO(b/227625423): Allow input surface to be recreated for input size change. inputSurfaceTexture.setOnFrameAvailableListener( @@ -374,47 +349,25 @@ public Surface getInputSurface() { return inputSurface; } - /** - * Informs the {@code GlEffectsFrameProcessor} that a frame will be queued to its input surface. - * - *

Must be called before rendering a frame to the frame processor's input surface. - * - * @throws IllegalStateException If called after {@link #signalEndOfInputStream()}. - */ + @Override public void registerInputFrame() { checkState(!inputStreamEnded); pendingInputFrameCount.incrementAndGet(); } - /** - * Returns the number of input frames that have been {@linkplain #registerInputFrame() registered} - * but not processed off the {@linkplain #getInputSurface() input surface} yet. - */ + @Override public int getPendingInputFrameCount() { return pendingInputFrameCount.get(); } - /** - * Informs the {@code GlEffectsFrameProcessor} that no further input frames should be accepted. - * - * @throws IllegalStateException If called more than once. - */ + @Override public void signalEndOfInputStream() { checkState(!inputStreamEnded); inputStreamEnded = true; frameProcessingTaskExecutor.submit(this::processEndOfInputStream); } - /** - * Releases all resources. - * - *

If the frame processor is released before it has {@linkplain - * Listener#onFrameProcessingEnded() ended}, it will attempt to cancel processing any input frames - * that have already become available. Input frames that become available after release are - * ignored. - * - *

This method blocks until all resources are released or releasing times out. - */ + @Override public void release() { try { frameProcessingTaskExecutor.release( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 99703bc8c19..aab980b4a51 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -44,7 +44,7 @@ private final Codec decoder; private final ArrayList decodeOnlyPresentationTimestamps; - private final GlEffectsFrameProcessor frameProcessor; + private final FrameProcessor frameProcessor; private final EncoderWrapper encoderWrapper; private final DecoderInputBuffer encoderOutputBuffer; @@ -102,7 +102,7 @@ public VideoTranscodingSamplePipeline( frameProcessor = GlEffectsFrameProcessor.create( context, - new GlEffectsFrameProcessor.Listener() { + new FrameProcessor.Listener() { @Override public void onFrameProcessingError(FrameProcessingException exception) { asyncErrorListener.onTransformationException( diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java index 39bbf1b3d40..c48ca303bf7 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java @@ -31,8 +31,8 @@ public final class ChainingGlTextureProcessorListenerTest { private static final long EXECUTOR_WAIT_TIME_MS = 100; - private final GlEffectsFrameProcessor.Listener mockframeProcessorListener = - mock(GlEffectsFrameProcessor.Listener.class); + private final FrameProcessor.Listener mockframeProcessorListener = + mock(FrameProcessor.Listener.class); private final FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor( Util.newSingleThreadExecutor("Test"), mockframeProcessorListener); From 928036523a3b36f338c670e399ce57eec338aab9 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 24 Jun 2022 16:31:31 +0100 Subject: [PATCH 032/422] Allow FrameProcessor input surface size changes. This will be useful for downgrading to a lower resolution during a slow preview and for processing slide-shows once sequential multi-asset editing is supported. PiperOrigin-RevId: 457017255 (cherry picked from commit 30c52c58f0772e43ca4e4639120d95f41ea8a9b5) --- .../GlEffectsFrameProcessorPixelTest.java | 3 +- .../media3/transformer/FrameInfo.java | 37 ++++++++++++ .../media3/transformer/FrameProcessor.java | 11 +++- .../transformer/GlEffectsFrameProcessor.java | 58 +++++++++---------- .../VideoTranscodingSamplePipeline.java | 3 +- 5 files changed, 78 insertions(+), 34 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index e77ae2dfa28..910e724981f 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -367,8 +367,6 @@ public void onFrameProcessingEnded() { } }, pixelWidthHeightRatio, - inputWidth, - inputHeight, /* streamOffsetUs= */ 0L, effects, /* outputSurfaceProvider= */ (requestedWidth, requestedHeight) -> { @@ -383,6 +381,7 @@ public void onFrameProcessingEnded() { }, Transformer.DebugViewProvider.NONE, /* enableExperimentalHdrEditing= */ false)); + glEffectsFrameProcessor.setInputFrameInfo(new FrameInfo(inputWidth, inputHeight)); glEffectsFrameProcessor.registerInputFrame(); // Queue the first video frame from the extractor. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java new file mode 100644 index 00000000000..0b0af7821ba --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java @@ -0,0 +1,37 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkArgument; + +/** Value class specifying information about a decoded video frame. */ +/* package */ class FrameInfo { + /** The width of the frame, in pixels. */ + public final int width; + /** The height of the frame, in pixels. */ + public final int height; + + // TODO(b/227625423): Add pixelWidthHeightRatio. + // TODO(b/227624622): Add color space information for HDR. + + public FrameInfo(int width, int height) { + checkArgument(width > 0, "width must be positive, but is: " + width); + checkArgument(height > 0, "height must be positive, but is: " + height); + + this.width = width; + this.height = height; + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java index a4338cd6a27..db0a3bec7b8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java @@ -41,12 +41,21 @@ interface Listener { /** Returns the input {@link Surface}. */ Surface getInputSurface(); + /** + * Sets information about the input frames. + * + *

The new input information is applied from the next frame {@linkplain #registerInputFrame() + * registered} onwards. + */ + void setInputFrameInfo(FrameInfo inputFrameInfo); + /** * Informs the {@code FrameProcessor} that a frame will be queued to its input surface. * *

Must be called before rendering a frame to the frame processor's input surface. * - * @throws IllegalStateException If called after {@link #signalEndOfInputStream()}. + * @throws IllegalStateException If called after {@link #signalEndOfInputStream()} or before + * {@link #setInputFrameInfo(FrameInfo)}. */ void registerInputFrame(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index fc73daeb362..75b9b80d253 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -15,8 +15,8 @@ */ package androidx.media3.transformer; -import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; +import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; import android.graphics.SurfaceTexture; @@ -31,10 +31,11 @@ import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import java.util.List; +import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; -import java.util.concurrent.atomic.AtomicInteger; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * A {@link FrameProcessor} implementation that applies {@link GlEffect} instances using OpenGL on a @@ -51,8 +52,6 @@ * @param listener A {@link Listener}. * @param pixelWidthHeightRatio The ratio of width over height for each pixel. Pixels are expanded * by this ratio so that the output frame's pixels have a ratio of 1. - * @param inputWidth The input frame width, in pixels. - * @param inputHeight The input frame height, in pixels. * @param effects The {@link GlEffect GlEffects} to apply to each frame. * @param outputSurfaceProvider A {@link SurfaceInfo.Provider} managing the output {@link * Surface}. @@ -66,16 +65,12 @@ public static GlEffectsFrameProcessor create( Context context, FrameProcessor.Listener listener, float pixelWidthHeightRatio, - int inputWidth, - int inputHeight, long streamOffsetUs, List effects, SurfaceInfo.Provider outputSurfaceProvider, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { - checkArgument(inputWidth > 0, "inputWidth must be positive"); - checkArgument(inputHeight > 0, "inputHeight must be positive"); ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); @@ -86,8 +81,6 @@ public static GlEffectsFrameProcessor create( context, listener, pixelWidthHeightRatio, - inputWidth, - inputHeight, streamOffsetUs, effects, outputSurfaceProvider, @@ -118,8 +111,6 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( Context context, FrameProcessor.Listener listener, float pixelWidthHeightRatio, - int inputWidth, - int inputHeight, long streamOffsetUs, List effects, SurfaceInfo.Provider outputSurfaceProvider, @@ -177,8 +168,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( eglContext, frameProcessingTaskExecutor, streamOffsetUs, - /* inputExternalTexture= */ new TextureInfo( - GlUtil.createExternalTexture(), /* fboId= */ C.INDEX_UNSET, inputWidth, inputHeight), + /* inputExternalTextureId= */ GlUtil.createExternalTexture(), externalTextureProcessor, textureProcessors); } @@ -300,21 +290,19 @@ private static void chainTextureProcessorsWithListeners( * timestamps, in microseconds. */ private final long streamOffsetUs; - /** - * Number of frames {@linkplain #registerInputFrame() registered} but not processed off the {@link - * #inputSurfaceTexture} yet. - */ - private final AtomicInteger pendingInputFrameCount; + /** Associated with an OpenGL external texture. */ private final SurfaceTexture inputSurfaceTexture; /** Wraps the {@link #inputSurfaceTexture}. */ private final Surface inputSurface; private final float[] inputSurfaceTextureTransformMatrix; - private final TextureInfo inputExternalTexture; + private final int inputExternalTextureId; private final ExternalTextureProcessor inputExternalTextureProcessor; private final ImmutableList textureProcessors; + private final ConcurrentLinkedQueue pendingInputFrames; + private @MonotonicNonNull FrameInfo nextInputFrameInfo; private boolean inputStreamEnded; private GlEffectsFrameProcessor( @@ -322,7 +310,7 @@ private GlEffectsFrameProcessor( EGLContext eglContext, FrameProcessingTaskExecutor frameProcessingTaskExecutor, long streamOffsetUs, - TextureInfo inputExternalTexture, + int inputExternalTextureId, ExternalTextureProcessor inputExternalTextureProcessor, ImmutableList textureProcessors) { checkState(!textureProcessors.isEmpty()); @@ -331,33 +319,40 @@ private GlEffectsFrameProcessor( this.eglContext = eglContext; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; this.streamOffsetUs = streamOffsetUs; - this.inputExternalTexture = inputExternalTexture; + this.inputExternalTextureId = inputExternalTextureId; this.inputExternalTextureProcessor = inputExternalTextureProcessor; this.textureProcessors = textureProcessors; - pendingInputFrameCount = new AtomicInteger(); - inputSurfaceTexture = new SurfaceTexture(inputExternalTexture.texId); + inputSurfaceTexture = new SurfaceTexture(inputExternalTextureId); inputSurface = new Surface(inputSurfaceTexture); inputSurfaceTextureTransformMatrix = new float[16]; + pendingInputFrames = new ConcurrentLinkedQueue<>(); } @Override public Surface getInputSurface() { - // TODO(b/227625423): Allow input surface to be recreated for input size change. inputSurfaceTexture.setOnFrameAvailableListener( surfaceTexture -> frameProcessingTaskExecutor.submit(this::processInputFrame)); return inputSurface; } + @Override + public void setInputFrameInfo(FrameInfo inputFrameInfo) { + nextInputFrameInfo = inputFrameInfo; + } + @Override public void registerInputFrame() { checkState(!inputStreamEnded); - pendingInputFrameCount.incrementAndGet(); + checkStateNotNull( + nextInputFrameInfo, "setInputFrameInfo must be called before registering input frames"); + + pendingInputFrames.add(nextInputFrameInfo); } @Override public int getPendingInputFrameCount() { - return pendingInputFrameCount.get(); + return pendingInputFrames.size(); } @Override @@ -401,10 +396,15 @@ private void processInputFrame() { long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); + FrameInfo inputFrameInfo = pendingInputFrames.remove(); checkState( inputExternalTextureProcessor.maybeQueueInputFrame( - inputExternalTexture, presentationTimeUs)); - checkState(pendingInputFrameCount.getAndDecrement() > 0); + new TextureInfo( + inputExternalTextureId, + /* fboId= */ C.INDEX_UNSET, + inputFrameInfo.width, + inputFrameInfo.height), + presentationTimeUs)); // After the inputExternalTextureProcessor has produced an output frame, it is processed // asynchronously by the texture processors chained after it. } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index aab980b4a51..5454e35147c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -120,8 +120,6 @@ public void onFrameProcessingEnded() { } }, inputFormat.pixelWidthHeightRatio, - /* inputWidth= */ decodedWidth, - /* inputHeight= */ decodedHeight, streamOffsetUs, effectsListBuilder.build(), /* outputSurfaceProvider= */ encoderWrapper, @@ -131,6 +129,7 @@ public void onFrameProcessingEnded() { throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_GL_INIT_FAILED); } + frameProcessor.setInputFrameInfo(new FrameInfo(decodedWidth, decodedHeight)); decoder = decoderFactory.createForVideoDecoding( From 864230fd1109a7b76a937c2f7cd9b8215645eda5 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 24 Jun 2022 17:04:45 +0100 Subject: [PATCH 033/422] Rename setVideoFrameEffects to setVideoEffects. PiperOrigin-RevId: 457023382 (cherry picked from commit 4819b28587c41e75c716ba3fa84fa84a8934c78e) --- .../demo/transformer/TransformerActivity.java | 2 +- .../media3/transformer/Transformer.java | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 3e969ff938b..2532d7fc7fe 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -316,7 +316,7 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) if (selectedEffects[5]) { effects.add(MatrixTransformationFactory.createZoomInTransition()); } - transformerBuilder.setVideoFrameEffects(effects.build()); + transformerBuilder.setVideoEffects(effects.build()); } if (bundle.getBoolean(ConfigurationActivity.ENABLE_DEBUG_PREVIEW)) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 433b777a751..7c3036437f2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -103,7 +103,7 @@ public static final class Builder { private boolean removeVideo; private String containerMimeType; private TransformationRequest transformationRequest; - private ImmutableList videoFrameEffects; + private ImmutableList videoEffects; private ListenerSet listeners; private DebugViewProvider debugViewProvider; private Looper looper; @@ -127,7 +127,7 @@ public Builder(Context context) { debugViewProvider = DebugViewProvider.NONE; containerMimeType = MimeTypes.VIDEO_MP4; transformationRequest = new TransformationRequest.Builder().build(); - videoFrameEffects = ImmutableList.of(); + videoEffects = ImmutableList.of(); } /** Creates a builder with the values of the provided {@link Transformer}. */ @@ -139,7 +139,7 @@ private Builder(Transformer transformer) { this.removeVideo = transformer.removeVideo; this.containerMimeType = transformer.containerMimeType; this.transformationRequest = transformer.transformationRequest; - this.videoFrameEffects = transformer.videoFrameEffects; + this.videoEffects = transformer.videoEffects; this.listeners = transformer.listeners; this.looper = transformer.looper; this.encoderFactory = transformer.encoderFactory; @@ -176,8 +176,8 @@ public Builder setTransformationRequest(TransformationRequest transformationRequ * @param effects The {@linkplain GlEffect effects} to apply to each video frame. * @return This builder. */ - public Builder setVideoFrameEffects(List effects) { - this.videoFrameEffects = ImmutableList.copyOf(effects); + public Builder setVideoEffects(List effects) { + this.videoEffects = ImmutableList.copyOf(effects); return this; } @@ -422,7 +422,7 @@ public Transformer build() { removeVideo, containerMimeType, transformationRequest, - videoFrameEffects, + videoEffects, listeners, looper, clock, @@ -546,7 +546,7 @@ public interface DebugViewProvider { private final boolean removeVideo; private final String containerMimeType; private final TransformationRequest transformationRequest; - private final ImmutableList videoFrameEffects; + private final ImmutableList videoEffects; private final Looper looper; private final Clock clock; private final Transformer.DebugViewProvider debugViewProvider; @@ -567,7 +567,7 @@ private Transformer( boolean removeVideo, String containerMimeType, TransformationRequest transformationRequest, - ImmutableList videoFrameEffects, + ImmutableList videoEffects, ListenerSet listeners, Looper looper, Clock clock, @@ -582,7 +582,7 @@ private Transformer( this.removeVideo = removeVideo; this.containerMimeType = containerMimeType; this.transformationRequest = transformationRequest; - this.videoFrameEffects = videoFrameEffects; + this.videoEffects = videoEffects; this.listeners = listeners; this.looper = looper; this.clock = clock; @@ -731,7 +731,7 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { removeVideo, transformationRequest, mediaItem.clippingConfiguration.startsAtKeyFrame, - videoFrameEffects, + videoEffects, encoderFactory, decoderFactory, new FallbackListener(mediaItem, listeners, transformationRequest), @@ -845,7 +845,7 @@ private static final class TransformerRenderersFactory implements RenderersFacto private final boolean removeVideo; private final TransformationRequest transformationRequest; private final boolean clippingStartsAtKeyFrame; - private final ImmutableList videoFrameEffects; + private final ImmutableList videoEffects; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; private final FallbackListener fallbackListener; @@ -859,7 +859,7 @@ public TransformerRenderersFactory( boolean removeVideo, TransformationRequest transformationRequest, boolean clippingStartsAtKeyFrame, - ImmutableList videoFrameEffects, + ImmutableList videoEffects, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, FallbackListener fallbackListener, @@ -871,7 +871,7 @@ public TransformerRenderersFactory( this.removeVideo = removeVideo; this.transformationRequest = transformationRequest; this.clippingStartsAtKeyFrame = clippingStartsAtKeyFrame; - this.videoFrameEffects = videoFrameEffects; + this.videoEffects = videoEffects; this.encoderFactory = encoderFactory; this.decoderFactory = decoderFactory; this.fallbackListener = fallbackListener; @@ -910,7 +910,7 @@ public Renderer[] createRenderers( mediaClock, transformationRequest, clippingStartsAtKeyFrame, - videoFrameEffects, + videoEffects, encoderFactory, decoderFactory, asyncErrorListener, From 87d91ed19e8b0d6bc5f7444042c2c7e50d3c0c8f Mon Sep 17 00:00:00 2001 From: rohks Date: Mon, 27 Jun 2022 11:31:10 +0000 Subject: [PATCH 034/422] Add timestamp to `Metadata` `MetadataRenderer` is updated to output `Metadata` with its presentation time, in microseconds. PiperOrigin-RevId: 457444718 (cherry picked from commit b2831d8559713b757feb3f15a2c828db0e5ecd7c) --- .../java/androidx/media3/common/Metadata.java | 43 ++++++++++++++++--- .../androidx/media3/common/text/CueGroup.java | 2 +- .../androidx/media3/common/MetadataTest.java | 5 ++- .../exoplayer/metadata/MetadataRenderer.java | 26 +++++++---- .../test/assets/playbackdumps/dash/emsg.dump | 3 ++ .../playbackdumps/ts/sample_ait.ts.dump | 3 ++ .../playbackdumps/ts/sample_scte35.ts.dump | 3 ++ .../ts/sample_with_id3.adts.dump | 2 + .../utils/robolectric/PlaybackOutput.java | 1 + 9 files changed, 73 insertions(+), 15 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/Metadata.java b/libraries/common/src/main/java/androidx/media3/common/Metadata.java index 1af08378f7e..eadf456c18e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Metadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/Metadata.java @@ -20,6 +20,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.common.primitives.Longs; import java.util.Arrays; import java.util.List; @@ -61,11 +62,28 @@ default void populateMediaMetadata(MediaMetadata.Builder builder) {} } private final Entry[] entries; + /** + * The presentation time of the metadata, in microseconds. + * + *

This time is an offset from the start of the current {@link Timeline.Period}. + * + *

This time is {@link C#TIME_UNSET} when not known or undefined. + */ + public final long presentationTimeUs; /** * @param entries The metadata entries. */ public Metadata(Entry... entries) { + this(/* presentationTimeUs= */ C.TIME_UNSET, entries); + } + + /** + * @param presentationTimeUs The presentation time for the metadata entries. + * @param entries The metadata entries. + */ + public Metadata(long presentationTimeUs, Entry... entries) { + this.presentationTimeUs = presentationTimeUs; this.entries = entries; } @@ -73,7 +91,15 @@ public Metadata(Entry... entries) { * @param entries The metadata entries. */ public Metadata(List entries) { - this.entries = entries.toArray(new Entry[0]); + this(entries.toArray(new Entry[0])); + } + + /** + * @param presentationTimeUs The presentation time for the metadata entries. + * @param entries The metadata entries. + */ + public Metadata(long presentationTimeUs, List entries) { + this(presentationTimeUs, entries.toArray(new Entry[0])); } /* package */ Metadata(Parcel in) { @@ -81,6 +107,7 @@ public Metadata(List entries) { for (int i = 0; i < entries.length; i++) { entries[i] = in.readParcelable(Entry.class.getClassLoader()); } + presentationTimeUs = in.readLong(); } /** Returns the number of metadata entries. */ @@ -123,7 +150,8 @@ public Metadata copyWithAppendedEntries(Entry... entriesToAppend) { if (entriesToAppend.length == 0) { return this; } - return new Metadata(Util.nullSafeArrayConcatenation(entries, entriesToAppend)); + return new Metadata( + presentationTimeUs, Util.nullSafeArrayConcatenation(entries, entriesToAppend)); } @Override @@ -135,17 +163,21 @@ public boolean equals(@Nullable Object obj) { return false; } Metadata other = (Metadata) obj; - return Arrays.equals(entries, other.entries); + return Arrays.equals(entries, other.entries) && presentationTimeUs == other.presentationTimeUs; } @Override public int hashCode() { - return Arrays.hashCode(entries); + int result = Arrays.hashCode(entries); + result = 31 * result + Longs.hashCode(presentationTimeUs); + return result; } @Override public String toString() { - return "entries=" + Arrays.toString(entries); + return "entries=" + + Arrays.toString(entries) + + (presentationTimeUs == C.TIME_UNSET ? "" : ", presentationTimeUs=" + presentationTimeUs); } // Parcelable implementation. @@ -161,6 +193,7 @@ public void writeToParcel(Parcel dest, int flags) { for (Entry entry : entries) { dest.writeParcelable(entry, 0); } + dest.writeLong(presentationTimeUs); } public static final Parcelable.Creator CREATOR = diff --git a/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java b/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java index 3d1f1bec209..67e58eb065b 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java @@ -47,7 +47,7 @@ public final class CueGroup implements Bundleable { /** * The presentation time of the {@link #cues}, in microseconds. * - *

This time is an offset from the start of the current {@link Timeline.Period} + *

This time is an offset from the start of the current {@link Timeline.Period}. */ @UnstableApi public final long presentationTimeUs; diff --git a/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java b/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java index 31ad83244ad..0aa869aaad1 100644 --- a/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/MetadataTest.java @@ -30,7 +30,10 @@ public class MetadataTest { @Test public void parcelable() { Metadata metadataToParcel = - new Metadata(new FakeMetadataEntry("id1"), new FakeMetadataEntry("id2")); + new Metadata( + /* presentationTimeUs= */ 1_230_000, + new FakeMetadataEntry("id1"), + new FakeMetadataEntry("id2")); Parcel parcel = Parcel.obtain(); metadataToParcel.writeToParcel(parcel, 0); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java index 4aca3b8164c..0c7b16f8f34 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java @@ -15,6 +15,7 @@ */ package androidx.media3.exoplayer.metadata; +import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Util.castNonNull; import android.os.Handler; @@ -36,6 +37,7 @@ import androidx.media3.extractor.metadata.MetadataInputBuffer; import java.util.ArrayList; import java.util.List; +import org.checkerframework.dataflow.qual.SideEffectFree; /** A renderer for metadata. */ @UnstableApi @@ -53,8 +55,8 @@ public final class MetadataRenderer extends BaseRenderer implements Callback { private boolean inputStreamEnded; private boolean outputStreamEnded; private long subsampleOffsetUs; - private long pendingMetadataTimestampUs; @Nullable private Metadata pendingMetadata; + private long outputStreamOffsetUs; /** * @param output The output. @@ -85,7 +87,7 @@ public MetadataRenderer( outputLooper == null ? null : Util.createHandler(outputLooper, /* callback= */ this); this.decoderFactory = Assertions.checkNotNull(decoderFactory); buffer = new MetadataInputBuffer(); - pendingMetadataTimestampUs = C.TIME_UNSET; + outputStreamOffsetUs = C.TIME_UNSET; } @Override @@ -106,12 +108,12 @@ public String getName() { @Override protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) { decoder = decoderFactory.createDecoder(formats[0]); + outputStreamOffsetUs = offsetUs; } @Override protected void onPositionReset(long positionUs, boolean joining) { pendingMetadata = null; - pendingMetadataTimestampUs = C.TIME_UNSET; inputStreamEnded = false; outputStreamEnded = false; } @@ -158,8 +160,8 @@ private void decodeWrappedMetadata(Metadata metadata, List decod @Override protected void onDisabled() { pendingMetadata = null; - pendingMetadataTimestampUs = C.TIME_UNSET; decoder = null; + outputStreamOffsetUs = C.TIME_UNSET; } @Override @@ -200,9 +202,9 @@ private void readMetadata() { List entries = new ArrayList<>(metadata.length()); decodeWrappedMetadata(metadata, entries); if (!entries.isEmpty()) { - Metadata expandedMetadata = new Metadata(entries); + Metadata expandedMetadata = + new Metadata(getPresentationTimeUs(buffer.timeUs), entries); pendingMetadata = expandedMetadata; - pendingMetadataTimestampUs = buffer.timeUs; } } } @@ -214,10 +216,10 @@ private void readMetadata() { private boolean outputMetadata(long positionUs) { boolean didOutput = false; - if (pendingMetadata != null && pendingMetadataTimestampUs <= positionUs) { + if (pendingMetadata != null + && pendingMetadata.presentationTimeUs <= getPresentationTimeUs(positionUs)) { invokeRenderer(pendingMetadata); pendingMetadata = null; - pendingMetadataTimestampUs = C.TIME_UNSET; didOutput = true; } if (inputStreamEnded && pendingMetadata == null) { @@ -237,4 +239,12 @@ private void invokeRenderer(Metadata metadata) { private void invokeRendererInternal(Metadata metadata) { output.onMetadata(metadata); } + + @SideEffectFree + private long getPresentationTimeUs(long positionUs) { + checkState(positionUs != C.TIME_UNSET); + checkState(outputStreamOffsetUs != C.TIME_UNSET); + + return positionUs - outputStreamOffsetUs; + } } diff --git a/libraries/test_data/src/test/assets/playbackdumps/dash/emsg.dump b/libraries/test_data/src/test/assets/playbackdumps/dash/emsg.dump index 4a3c7b2e0ec..2bc2f0c2b9c 100644 --- a/libraries/test_data/src/test/assets/playbackdumps/dash/emsg.dump +++ b/libraries/test_data/src/test/assets/playbackdumps/dash/emsg.dump @@ -94,8 +94,11 @@ MediaCodecAdapter (exotest.audio.aac): buffers[91] = length 0, hash 1 MetadataOutput: Metadata[0]: + presentationTimeUs = 100000 entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=0, durationMs=1000, value=1 Metadata[1]: + presentationTimeUs = 100000 entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=1, durationMs=1000, value=1 Metadata[2]: + presentationTimeUs = 1000000 entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=2, durationMs=1000, value=1 diff --git a/libraries/test_data/src/test/assets/playbackdumps/ts/sample_ait.ts.dump b/libraries/test_data/src/test/assets/playbackdumps/ts/sample_ait.ts.dump index 75a33b8c240..c94ca1b2c6a 100644 --- a/libraries/test_data/src/test/assets/playbackdumps/ts/sample_ait.ts.dump +++ b/libraries/test_data/src/test/assets/playbackdumps/ts/sample_ait.ts.dump @@ -22,11 +22,14 @@ MediaCodecAdapter (exotest.audio.eac3): buffers[19] = length 0, hash 1 MetadataOutput: Metadata[0]: + presentationTimeUs = 0 entry[0] = Ait(controlCode=1,url=http://static-cdn.arte.tv/redbutton/index_fr.html) entry[1] = Ait(controlCode=2,url=http://www.arte.tv/hbbtvv2/index.html?lang=fr_FR&page=PLUS7) Metadata[1]: + presentationTimeUs = 192000 entry[0] = Ait(controlCode=1,url=http://static-cdn.arte.tv/redbutton/index_fr.html) entry[1] = Ait(controlCode=2,url=http://www.arte.tv/hbbtvv2/index.html?lang=fr_FR&page=PLUS7) Metadata[2]: + presentationTimeUs = 384000 entry[0] = Ait(controlCode=1,url=http://static-cdn.arte.tv/redbutton/index_fr.html) entry[1] = Ait(controlCode=2,url=http://www.arte.tv/hbbtvv2/index.html?lang=fr_FR&page=PLUS7) diff --git a/libraries/test_data/src/test/assets/playbackdumps/ts/sample_scte35.ts.dump b/libraries/test_data/src/test/assets/playbackdumps/ts/sample_scte35.ts.dump index d57c3ed9df8..03a95ad04ab 100644 --- a/libraries/test_data/src/test/assets/playbackdumps/ts/sample_scte35.ts.dump +++ b/libraries/test_data/src/test/assets/playbackdumps/ts/sample_scte35.ts.dump @@ -12,8 +12,11 @@ MediaCodecAdapter (exotest.video.mpeg2): buffers[2] = length 0, hash 1 MetadataOutput: Metadata[0]: + presentationTimeUs = 33366 entry[0] = SCTE-35 splice command: type=SpliceInsertCommand Metadata[1]: + presentationTimeUs = 33366 entry[0] = SCTE-35 splice command: type=SpliceInsertCommand Metadata[2]: + presentationTimeUs = 33366 entry[0] = SCTE-35 splice command: type=SpliceInsertCommand diff --git a/libraries/test_data/src/test/assets/playbackdumps/ts/sample_with_id3.adts.dump b/libraries/test_data/src/test/assets/playbackdumps/ts/sample_with_id3.adts.dump index 0434d23c38a..f272f7f348d 100644 --- a/libraries/test_data/src/test/assets/playbackdumps/ts/sample_with_id3.adts.dump +++ b/libraries/test_data/src/test/assets/playbackdumps/ts/sample_with_id3.adts.dump @@ -147,7 +147,9 @@ MediaCodecAdapter (exotest.audio.aac): buffers[144] = length 0, hash 1 MetadataOutput: Metadata[0]: + presentationTimeUs = 0 entry[0] = APIC: mimeType=image/jpeg, description=Hello World Metadata[1]: + presentationTimeUs = 23219 entry[0] = COMM: language=eng, description=description entry[1] = APIC: mimeType=image/jpeg, description=Hello World diff --git a/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java b/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java index 8fc015fc9c8..f5f1bfb8ece 100644 --- a/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java +++ b/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/PlaybackOutput.java @@ -122,6 +122,7 @@ private void dumpMetadata(Dumper dumper) { for (int i = 0; i < metadatas.size(); i++) { dumper.startBlock("Metadata[" + i + "]"); Metadata metadata = metadatas.get(i); + dumper.add("presentationTimeUs", metadata.presentationTimeUs); for (int j = 0; j < metadata.length(); j++) { dumper.add("entry[" + j + "]", getEntryAsString(metadata.get(j))); } From c250d2d791ce25075b7f872fcbd903901771ea7d Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 28 Jun 2022 11:22:45 +0000 Subject: [PATCH 035/422] Allow changing input pixelWidthHeightRatio for GlEffectsFrameProcessor. pixelWidthHeightRatio is now passed to setInputFrameInfo instead of the factory. PiperOrigin-RevId: 457696703 (cherry picked from commit b7b5f20e592bee772772eb1b009c7f5a96077520) --- .../GlEffectsFrameProcessorPixelTest.java | 4 +- .../media3/transformer/FrameInfo.java | 6 +- .../media3/transformer/FrameProcessor.java | 3 + .../transformer/GlEffectsFrameProcessor.java | 59 ++++++++----------- .../VideoTranscodingSamplePipeline.java | 4 +- 5 files changed, 35 insertions(+), 41 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 910e724981f..d5e4f7c96e0 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -366,7 +366,6 @@ public void onFrameProcessingEnded() { frameProcessingEnded = true; } }, - pixelWidthHeightRatio, /* streamOffsetUs= */ 0L, effects, /* outputSurfaceProvider= */ (requestedWidth, requestedHeight) -> { @@ -381,7 +380,8 @@ public void onFrameProcessingEnded() { }, Transformer.DebugViewProvider.NONE, /* enableExperimentalHdrEditing= */ false)); - glEffectsFrameProcessor.setInputFrameInfo(new FrameInfo(inputWidth, inputHeight)); + glEffectsFrameProcessor.setInputFrameInfo( + new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio)); glEffectsFrameProcessor.registerInputFrame(); // Queue the first video frame from the extractor. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java index 0b0af7821ba..8975f933839 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java @@ -23,15 +23,17 @@ public final int width; /** The height of the frame, in pixels. */ public final int height; + /** The ratio of width over height for each pixel. */ + public final float pixelWidthHeightRatio; - // TODO(b/227625423): Add pixelWidthHeightRatio. // TODO(b/227624622): Add color space information for HDR. - public FrameInfo(int width, int height) { + public FrameInfo(int width, int height, float pixelWidthHeightRatio) { checkArgument(width > 0, "width must be positive, but is: " + width); checkArgument(height > 0, "height must be positive, but is: " + height); this.width = width; this.height = height; + this.pixelWidthHeightRatio = pixelWidthHeightRatio; } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java index db0a3bec7b8..17c60e801d3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java @@ -46,6 +46,9 @@ interface Listener { * *

The new input information is applied from the next frame {@linkplain #registerInputFrame() * registered} onwards. + * + *

Pixels are expanded using the {@link FrameInfo#pixelWidthHeightRatio} so that the output + * frames' pixels have a ratio of 1. */ void setInputFrameInfo(FrameInfo inputFrameInfo); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 75b9b80d253..9823b57153c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -50,8 +50,6 @@ * * @param context A {@link Context}. * @param listener A {@link Listener}. - * @param pixelWidthHeightRatio The ratio of width over height for each pixel. Pixels are expanded - * by this ratio so that the output frame's pixels have a ratio of 1. * @param effects The {@link GlEffect GlEffects} to apply to each frame. * @param outputSurfaceProvider A {@link SurfaceInfo.Provider} managing the output {@link * Surface}. @@ -64,7 +62,6 @@ public static GlEffectsFrameProcessor create( Context context, FrameProcessor.Listener listener, - float pixelWidthHeightRatio, long streamOffsetUs, List effects, SurfaceInfo.Provider outputSurfaceProvider, @@ -80,7 +77,6 @@ public static GlEffectsFrameProcessor create( createOpenGlObjectsAndFrameProcessor( context, listener, - pixelWidthHeightRatio, streamOffsetUs, effects, outputSurfaceProvider, @@ -110,7 +106,6 @@ public static GlEffectsFrameProcessor create( private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( Context context, FrameProcessor.Listener listener, - float pixelWidthHeightRatio, long streamOffsetUs, List effects, SurfaceInfo.Provider outputSurfaceProvider, @@ -136,20 +131,12 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); } - ImmutableList.Builder matrixTransformationListBuilder = - new ImmutableList.Builder<>(); - if (pixelWidthHeightRatio != 1f) { - matrixTransformationListBuilder.add( - createPixelWidthHeightRatioTransformation(pixelWidthHeightRatio)); - } - ImmutableList textureProcessors = getGlTextureProcessorsForGlEffects( context, effects, eglDisplay, eglContext, - matrixTransformationListBuilder, outputSurfaceProvider, streamOffsetUs, listener, @@ -173,26 +160,6 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( textureProcessors); } - /** - * Returns a new {@link GlMatrixTransformation} to expand or shrink the frame based on the {@code - * pixelWidthHeightRatio}. - * - *

If {@code pixelWidthHeightRatio} is 1, this method returns an identity transformation that - * can be ignored. - */ - private static GlMatrixTransformation createPixelWidthHeightRatioTransformation( - float pixelWidthHeightRatio) { - if (pixelWidthHeightRatio > 1f) { - return new ScaleToFitTransformation.Builder() - .setScale(/* scaleX= */ pixelWidthHeightRatio, /* scaleY= */ 1f) - .build(); - } else { - return new ScaleToFitTransformation.Builder() - .setScale(/* scaleX= */ 1f, /* scaleY= */ 1f / pixelWidthHeightRatio) - .build(); - } - } - /** * Combines consecutive {@link GlMatrixTransformation} instances into a single {@link * MatrixTransformationProcessor} and converts all other {@link GlEffect} instances to separate @@ -207,7 +174,6 @@ private static ImmutableList getGlTextureProcessorsForGlEffe List effects, EGLDisplay eglDisplay, EGLContext eglContext, - ImmutableList.Builder matrixTransformationListBuilder, SurfaceInfo.Provider outputSurfaceProvider, long streamOffsetUs, FrameProcessor.Listener listener, @@ -216,6 +182,8 @@ private static ImmutableList getGlTextureProcessorsForGlEffe throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = new ImmutableList.Builder<>(); + ImmutableList.Builder matrixTransformationListBuilder = + new ImmutableList.Builder<>(); for (int i = 0; i < effects.size(); i++) { GlEffect effect = effects.get(i); if (effect instanceof GlMatrixTransformation) { @@ -396,7 +364,7 @@ private void processInputFrame() { long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); - FrameInfo inputFrameInfo = pendingInputFrames.remove(); + FrameInfo inputFrameInfo = adjustForPixelWidthHeightRatio(pendingInputFrames.remove()); checkState( inputExternalTextureProcessor.maybeQueueInputFrame( new TextureInfo( @@ -409,6 +377,27 @@ private void processInputFrame() { // asynchronously by the texture processors chained after it. } + /** + * Expands or shrinks the frame based on the {@link FrameInfo#pixelWidthHeightRatio} and returns a + * new {@link FrameInfo} instance with scaled dimensions and {@link + * FrameInfo#pixelWidthHeightRatio} 1. + */ + private FrameInfo adjustForPixelWidthHeightRatio(FrameInfo frameInfo) { + if (frameInfo.pixelWidthHeightRatio > 1f) { + return new FrameInfo( + (int) (frameInfo.width * frameInfo.pixelWidthHeightRatio), + frameInfo.height, + /* pixelWidthHeightRatio= */ 1); + } else if (frameInfo.pixelWidthHeightRatio < 1f) { + return new FrameInfo( + frameInfo.width, + (int) (frameInfo.height / frameInfo.pixelWidthHeightRatio), + /* pixelWidthHeightRatio= */ 1); + } else { + return frameInfo; + } + } + /** * Propagates the end-of-stream signal through the texture processors once no more input frames * are pending. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 5454e35147c..4304f3483ac 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -119,7 +119,6 @@ public void onFrameProcessingEnded() { } } }, - inputFormat.pixelWidthHeightRatio, streamOffsetUs, effectsListBuilder.build(), /* outputSurfaceProvider= */ encoderWrapper, @@ -129,7 +128,8 @@ public void onFrameProcessingEnded() { throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_GL_INIT_FAILED); } - frameProcessor.setInputFrameInfo(new FrameInfo(decodedWidth, decodedHeight)); + frameProcessor.setInputFrameInfo( + new FrameInfo(decodedWidth, decodedHeight, inputFormat.pixelWidthHeightRatio)); decoder = decoderFactory.createForVideoDecoding( From 129cfb6eeb9415f78944b6094318f55d1fb275d7 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 29 Jun 2022 10:28:54 +0000 Subject: [PATCH 036/422] Fix outputHeight pass-through condition. The outputHeight in the TransformationRequest is the height of the frame as it would be displayed (i.e., after applying any rotation specified in the format). So pass-through should only be used if the requested outputHeight matches the input format's height after applying the rotation. PiperOrigin-RevId: 457934867 (cherry picked from commit 87beb273e464d291423ccb4129c83f36195343f1) --- .../media3/transformer/TransformerVideoRenderer.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index b97b14c57ed..03902a400d3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -148,8 +148,11 @@ private boolean shouldPassthrough(Format inputFormat) { if (transformationRequest.scaleY != 1f) { return false; } + // The decoder rotates encoded frames for display by inputFormat.rotationDegrees. + int decodedHeight = + (inputFormat.rotationDegrees % 180 == 0) ? inputFormat.height : inputFormat.width; if (transformationRequest.outputHeight != C.LENGTH_UNSET - && transformationRequest.outputHeight != inputFormat.height) { + && transformationRequest.outputHeight != decodedHeight) { return false; } if (!effects.isEmpty()) { From 5ac982b9d0e08a33a1b4140bd7285b9d638a5e02 Mon Sep 17 00:00:00 2001 From: rohks Date: Wed, 29 Jun 2022 14:47:12 +0000 Subject: [PATCH 037/422] Make `MetadataRenderer` configurable to output metadata early. PiperOrigin-RevId: 457974611 (cherry picked from commit 621617f98103f67082e47bf585460d90c00ea32f) --- RELEASENOTES.md | 47 +++------- .../exoplayer/metadata/MetadataRenderer.java | 39 +++++++- .../metadata/MetadataRendererTest.java | 94 +++++++++++++++++-- .../dash/e2etest/DashPlaybackTest.java | 70 ++++++++++++++ .../dash/metadata_from_early_output.dump | 10 ++ .../dash/metadata_from_timely_output.dump | 7 ++ 6 files changed, 223 insertions(+), 44 deletions(-) create mode 100644 libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_early_output.dump create mode 100644 libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_timely_output.dump diff --git a/RELEASENOTES.md b/RELEASENOTES.md index b6b36b0567e..e0a6694d68f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,47 +1,26 @@ Release notes -### 1.0.0-beta02 (2022-07-21) - -This release corresponds to the -[ExoPlayer 2.18.1 release](https://github.com/google/ExoPlayer/releases/tag/r2.18.1). +### Unreleased changes * Core library: * Ensure that changing the `ShuffleOrder` with `ExoPlayer.setShuffleOrder` results in a call to `Player.Listener#onTimelineChanged` with `reason=Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED` ([#9889](https://github.com/google/ExoPlayer/issues/9889)). - * For progressive media, only include selected tracks in buffered position - ([#10361](https://github.com/google/ExoPlayer/issues/10361)). - * Allow custom logger for all ExoPlayer log output - ([#9752](https://github.com/google/ExoPlayer/issues/9752)). - * Fix implementation of `setDataSourceFactory` in - `DefaultMediaSourceFactory`, which was non-functional in some cases - ([#116](https://github.com/androidx/media/issues/116)). * Extractors: + * Add support for AVI + ([#2092](https://github.com/google/ExoPlayer/issues/2092)). * Fix parsing of H265 short term reference picture sets ([#10316](https://github.com/google/ExoPlayer/issues/10316)). - * Fix parsing of bitrates from `esds` boxes - ([#10381](https://github.com/google/ExoPlayer/issues/10381)). -* DASH: - * Parse ClearKey license URL from manifests - ([#10246](https://github.com/google/ExoPlayer/issues/10246)). -* UI: - * Ensure TalkBack announces the currently active speed option in the - playback controls menu - ([#10298](https://github.com/google/ExoPlayer/issues/10298)). +* Metadata: + * `MetadataRenderer` can now be configured to render metadata as soon as + they are available. Create an instance with + `MetadataRenderer(MetadataOutput, Looper, + MetadataDecoderFactory, boolean)` to specify whether the renderer will + output metadata early or in sync with the player position. * RTSP: - * Add VP8 fragmented packet handling - ([#110](https://github.com/androidx/media/pull/110)). -* Leanback extension: - * Listen to `playWhenReady` changes in `LeanbackAdapter` - ([10420](https://github.com/google/ExoPlayer/issues/10420)). -* Cast: - * Use the `MediaItem` that has been passed to the playlist methods as - `Window.mediaItem` in `CastTimeline` - ([#25](https://github.com/androidx/media/issues/25), - [#8212](https://github.com/google/ExoPlayer/issues/8212)). - * Support `Player.getMetadata()` and `Listener.onMediaMetadataChanged()` - with `CastPlayer` ([#25](https://github.com/androidx/media/issues/25)). + * Add RTP reader for H263 + ([#63](https://github.com/androidx/media/pull/63)). ### 1.0.0-beta01 (2022-06-16) @@ -136,8 +115,6 @@ This release corresponds to the * Remove `RawCcExtractor`, which was only used to handle a Google-internal subtitle format. * Extractors: - * Add support for AVI - ([#2092](https://github.com/google/ExoPlayer/issues/2092)). * Matroska: Parse `DiscardPadding` for Opus tracks. * MP4: Parse bitrates from `esds` boxes. * Ogg: Allow duplicate Opus ID and comment headers @@ -187,8 +164,6 @@ This release corresponds to the of `DefaultCompositeSequenceableLoaderFactory` can be passed explicitly if required. * RTSP: - * Add RTP reader for H263 - ([#63](https://github.com/androidx/media/pull/63)). * Add RTP reader for MPEG4 ([#35](https://github.com/androidx/media/pull/35)). * Add RTP reader for HEVC diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java index 0c7b16f8f34..edaa2d0c5ce 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java @@ -39,7 +39,12 @@ import java.util.List; import org.checkerframework.dataflow.qual.SideEffectFree; -/** A renderer for metadata. */ +/** + * A renderer for metadata. + * + *

The renderer can be configured to render metadata as soon as they are available using {@link + * #MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, boolean)}. + */ @UnstableApi public final class MetadataRenderer extends BaseRenderer implements Callback { @@ -50,6 +55,7 @@ public final class MetadataRenderer extends BaseRenderer implements Callback { private final MetadataOutput output; @Nullable private final Handler outputHandler; private final MetadataInputBuffer buffer; + private final boolean outputMetadataEarly; @Nullable private MetadataDecoder decoder; private boolean inputStreamEnded; @@ -59,6 +65,9 @@ public final class MetadataRenderer extends BaseRenderer implements Callback { private long outputStreamOffsetUs; /** + * Creates an instance that uses {@link MetadataDecoderFactory#DEFAULT} to create {@link + * MetadataDecoder} instances. + * * @param output The output. * @param outputLooper The looper associated with the thread on which the output should be called. * If the output makes use of standard Android UI components, then this should normally be the @@ -71,6 +80,8 @@ public MetadataRenderer(MetadataOutput output, @Nullable Looper outputLooper) { } /** + * Creates an instance. + * * @param output The output. * @param outputLooper The looper associated with the thread on which the output should be called. * If the output makes use of standard Android UI components, then this should normally be the @@ -81,11 +92,34 @@ public MetadataRenderer(MetadataOutput output, @Nullable Looper outputLooper) { */ public MetadataRenderer( MetadataOutput output, @Nullable Looper outputLooper, MetadataDecoderFactory decoderFactory) { + this(output, outputLooper, decoderFactory, /* outputMetadataEarly= */ false); + } + + /** + * Creates an instance. + * + * @param output The output. + * @param outputLooper The looper associated with the thread on which the output should be called. + * If the output makes use of standard Android UI components, then this should normally be the + * looper associated with the application's main thread, which can be obtained using {@link + * android.app.Activity#getMainLooper()}. Null may be passed if the output should be called + * directly on the player's internal rendering thread. + * @param decoderFactory A factory from which to obtain {@link MetadataDecoder} instances. + * @param outputMetadataEarly Whether the renderer outputs metadata early. When {@code true}, + * {@link #render} will output metadata as soon as they are available to the renderer, + * otherwise {@link #render} will output metadata in sync with the rendering position. + */ + public MetadataRenderer( + MetadataOutput output, + @Nullable Looper outputLooper, + MetadataDecoderFactory decoderFactory, + boolean outputMetadataEarly) { super(C.TRACK_TYPE_METADATA); this.output = Assertions.checkNotNull(output); this.outputHandler = outputLooper == null ? null : Util.createHandler(outputLooper, /* callback= */ this); this.decoderFactory = Assertions.checkNotNull(decoderFactory); + this.outputMetadataEarly = outputMetadataEarly; buffer = new MetadataInputBuffer(); outputStreamOffsetUs = C.TIME_UNSET; } @@ -217,7 +251,8 @@ private void readMetadata() { private boolean outputMetadata(long positionUs) { boolean didOutput = false; if (pendingMetadata != null - && pendingMetadata.presentationTimeUs <= getPresentationTimeUs(positionUs)) { + && (outputMetadataEarly + || pendingMetadata.presentationTimeUs <= getPresentationTimeUs(positionUs))) { invokeRenderer(pendingMetadata); pendingMetadata = null; didOutput = true; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java index 3e772749240..f4d5b34c6e8 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java @@ -145,16 +145,87 @@ public void decodeMetadata_skipsMalformedWrappedMetadata() throws Exception { assertThat(metadata).isEmpty(); } + @Test + public void renderMetadata_withTimelyOutput() throws Exception { + EventMessage emsg = + new EventMessage( + "urn:test-scheme-id", + /* value= */ "", + /* durationMs= */ 1, + /* id= */ 0, + "Test data".getBytes(UTF_8)); + byte[] encodedEmsg = eventMessageEncoder.encode(emsg); + List metadata = new ArrayList<>(); + MetadataRenderer renderer = + new MetadataRenderer(/* output= */ metadata::add, /* outputLooper= */ null); + FakeSampleStream fakeSampleStream = + createFakeSampleStream( + ImmutableList.of( + sample(/* timeUs= */ 100_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + sample(/* timeUs= */ 1_000_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + END_OF_STREAM_ITEM)); + fakeSampleStream.writeData(/* startPositionUs= */ 0); + renderer.replaceStream( + new Format[] {EMSG_FORMAT}, + fakeSampleStream, + /* startPositionUs= */ 0L, + /* offsetUs= */ 0L); + + // Call render() twice, the first call is to read the format and the second call will read the + // metadata. + renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0); + renderer.render(/* positionUs= */ 500_000, /* elapsedRealtimeUs= */ 0); + + assertThat(metadata).hasSize(1); + assertThat(metadata.get(0).presentationTimeUs).isEqualTo(100_000); + } + + @Test + public void renderMetadata_withEarlyOutput() throws Exception { + EventMessage emsg = + new EventMessage( + "urn:test-scheme-id", + /* value= */ "", + /* durationMs= */ 1, + /* id= */ 0, + "Test data".getBytes(UTF_8)); + byte[] encodedEmsg = eventMessageEncoder.encode(emsg); + List metadata = new ArrayList<>(); + MetadataRenderer renderer = + new MetadataRenderer( + /* output= */ metadata::add, + /* outputLooper= */ null, + MetadataDecoderFactory.DEFAULT, + /* outputMetadataEarly= */ true); + FakeSampleStream fakeSampleStream = + createFakeSampleStream( + ImmutableList.of( + sample(/* timeUs= */ 100_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + sample(/* timeUs= */ 1_000_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + END_OF_STREAM_ITEM)); + fakeSampleStream.writeData(/* startPositionUs= */ 0); + renderer.replaceStream( + new Format[] {EMSG_FORMAT}, + fakeSampleStream, + /* startPositionUs= */ 0L, + /* offsetUs= */ 0L); + + // Call render() twice, the first call is to read the format and the second call will read the + // metadata. + renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0); + renderer.render(/* positionUs= */ 500_000, /* elapsedRealtimeUs= */ 0); + + // The renderer outputs metadata early. + assertThat(metadata).hasSize(2); + assertThat(metadata.get(0).presentationTimeUs).isEqualTo(100_000); + assertThat(metadata.get(1).presentationTimeUs).isEqualTo(1_000_000); + } + private static List runRenderer(byte[] input) throws ExoPlaybackException { List metadata = new ArrayList<>(); MetadataRenderer renderer = new MetadataRenderer(metadata::add, /* outputLooper= */ null); FakeSampleStream fakeSampleStream = - new FakeSampleStream( - new DefaultAllocator(/* trimOnReset= */ true, /* individualAllocationSize= */ 1024), - /* mediaSourceEventDispatcher= */ null, - DrmSessionManager.DRM_UNSUPPORTED, - new DrmSessionEventListener.EventDispatcher(), - EMSG_FORMAT, + createFakeSampleStream( ImmutableList.of( sample(/* timeUs= */ 0, C.BUFFER_FLAG_KEY_FRAME, input), END_OF_STREAM_ITEM)); fakeSampleStream.writeData(/* startPositionUs= */ 0); @@ -169,6 +240,17 @@ private static List runRenderer(byte[] input) throws ExoPlaybackExcept return Collections.unmodifiableList(metadata); } + private static FakeSampleStream createFakeSampleStream( + ImmutableList samples) { + return new FakeSampleStream( + new DefaultAllocator(/* trimOnReset= */ true, /* individualAllocationSize= */ 1024), + /* mediaSourceEventDispatcher= */ null, + DrmSessionManager.DRM_UNSUPPORTED, + new DrmSessionEventListener.EventDispatcher(), + EMSG_FORMAT, + samples); + } + /** * Builds an ID3v2 tag containing a single 'user defined text information frame' (id='TXXX') with * {@code description} and {@code value}. diff --git a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java index 762eefc28fb..ce9d2cc7792 100644 --- a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java +++ b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/e2etest/DashPlaybackTest.java @@ -23,6 +23,10 @@ import androidx.media3.common.MediaItem; import androidx.media3.common.Player; import androidx.media3.exoplayer.ExoPlayer; +import androidx.media3.exoplayer.Renderer; +import androidx.media3.exoplayer.RenderersFactory; +import androidx.media3.exoplayer.metadata.MetadataDecoderFactory; +import androidx.media3.exoplayer.metadata.MetadataRenderer; import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; import androidx.media3.test.utils.CapturingRenderersFactory; import androidx.media3.test.utils.DumpFileAsserts; @@ -96,4 +100,70 @@ public void emsgNearToPeriodBoundary() throws Exception { DumpFileAsserts.assertOutput( applicationContext, playbackOutput, "playbackdumps/dash/emsg.dump"); } + + @Test + public void renderMetadata_withTimelyOutput() throws Exception { + Context applicationContext = ApplicationProvider.getApplicationContext(); + RenderersFactory renderersFactory = + (eventHandler, + videoRendererEventListener, + audioRendererEventListener, + textRendererOutput, + metadataRendererOutput) -> + new Renderer[] {new MetadataRenderer(metadataRendererOutput, eventHandler.getLooper())}; + ExoPlayer player = + new ExoPlayer.Builder(applicationContext, renderersFactory) + .setClock(new FakeClock(/* isAutoAdvancing= */ true)) + .build(); + player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1))); + CapturingRenderersFactory capturingRenderersFactory = + new CapturingRenderersFactory(applicationContext); + PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory); + + player.setMediaItem(MediaItem.fromUri("asset:///media/dash/emsg/sample.mpd")); + player.prepare(); + player.play(); + TestPlayerRunHelper.playUntilPosition(player, /* mediaItemIndex= */ 0, /* positionMs= */ 500); + player.release(); + + // Ensure output contains metadata up to the playback position. + DumpFileAsserts.assertOutput( + applicationContext, playbackOutput, "playbackdumps/dash/metadata_from_timely_output.dump"); + } + + @Test + public void renderMetadata_withEarlyOutput() throws Exception { + Context applicationContext = ApplicationProvider.getApplicationContext(); + RenderersFactory renderersFactory = + (eventHandler, + videoRendererEventListener, + audioRendererEventListener, + textRendererOutput, + metadataRendererOutput) -> + new Renderer[] { + new MetadataRenderer( + metadataRendererOutput, + eventHandler.getLooper(), + MetadataDecoderFactory.DEFAULT, + /* outputMetadataEarly= */ true) + }; + ExoPlayer player = + new ExoPlayer.Builder(applicationContext, renderersFactory) + .setClock(new FakeClock(/* isAutoAdvancing= */ true)) + .build(); + player.setVideoSurface(new Surface(new SurfaceTexture(/* texName= */ 1))); + CapturingRenderersFactory capturingRenderersFactory = + new CapturingRenderersFactory(applicationContext); + PlaybackOutput playbackOutput = PlaybackOutput.register(player, capturingRenderersFactory); + + player.setMediaItem(MediaItem.fromUri("asset:///media/dash/emsg/sample.mpd")); + player.prepare(); + player.play(); + TestPlayerRunHelper.playUntilPosition(player, /* mediaItemIndex= */ 0, /* positionMs= */ 500); + player.release(); + + // Ensure output contains all metadata irrespective of the playback position. + DumpFileAsserts.assertOutput( + applicationContext, playbackOutput, "playbackdumps/dash/metadata_from_early_output.dump"); + } } diff --git a/libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_early_output.dump b/libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_early_output.dump new file mode 100644 index 00000000000..e8261bd2df1 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_early_output.dump @@ -0,0 +1,10 @@ +MetadataOutput: + Metadata[0]: + presentationTimeUs = 100000 + entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=0, durationMs=1000, value=1 + Metadata[1]: + presentationTimeUs = 100000 + entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=1, durationMs=1000, value=1 + Metadata[2]: + presentationTimeUs = 1000000 + entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=2, durationMs=1000, value=1 diff --git a/libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_timely_output.dump b/libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_timely_output.dump new file mode 100644 index 00000000000..ebbd67120a9 --- /dev/null +++ b/libraries/test_data/src/test/assets/playbackdumps/dash/metadata_from_timely_output.dump @@ -0,0 +1,7 @@ +MetadataOutput: + Metadata[0]: + presentationTimeUs = 100000 + entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=0, durationMs=1000, value=1 + Metadata[1]: + presentationTimeUs = 100000 + entry[0] = EMSG: scheme=urn:mpeg:dash:event:callback:2015, id=1, durationMs=1000, value=1 From 1a1c6e94bb712b80acad4399773662b93ee7d8b4 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 29 Jun 2022 17:27:05 +0000 Subject: [PATCH 038/422] FrameProcessor: Replace SurfaceInfo.Provider with setter. The FinalMatrixTransformationProcessorWrapper ensures that the surface is only replaced when it is not being rendered to and vice versa. PiperOrigin-RevId: 458007639 (cherry picked from commit 234015cb952fbdaf274f1fa9005ddc0d2b4ba17a) --- .../GlEffectsFrameProcessorPixelTest.java | 20 +-- ...lMatrixTransformationProcessorWrapper.java | 156 ++++++++++-------- .../media3/transformer/FrameProcessor.java | 26 +++ .../transformer/GlEffectsFrameProcessor.java | 114 +++++++------ .../media3/transformer/SurfaceInfo.java | 33 ++-- .../VideoTranscodingSamplePipeline.java | 34 ++-- .../transformer/VideoEncoderWrapperTest.java | 12 +- 7 files changed, 235 insertions(+), 160 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index d5e4f7c96e0..06512ca0e91 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -356,6 +356,16 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, List { - outputImageReader = - ImageReader.newInstance( - requestedWidth, - requestedHeight, - PixelFormat.RGBA_8888, - /* maxImages= */ 1); - return new SurfaceInfo( - outputImageReader.getSurface(), requestedWidth, requestedHeight); - }, Transformer.DebugViewProvider.NONE, /* enableExperimentalHdrEditing= */ false)); glEffectsFrameProcessor.setInputFrameInfo( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 996fce157b8..a927c5ce3c2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -34,6 +34,7 @@ import androidx.media3.common.C; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -57,7 +58,6 @@ private final ImmutableList matrixTransformations; private final EGLDisplay eglDisplay; private final EGLContext eglContext; - private final SurfaceInfo.Provider outputSurfaceProvider; private final long streamOffsetUs; private final Transformer.DebugViewProvider debugViewProvider; private final FrameProcessor.Listener frameProcessorListener; @@ -66,17 +66,23 @@ private int inputWidth; private int inputHeight; @Nullable private MatrixTransformationProcessor matrixTransformationProcessor; - @Nullable private SurfaceInfo outputSurfaceInfo; - @Nullable private EGLSurface outputEglSurface; @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; private @MonotonicNonNull Listener listener; + private @MonotonicNonNull Size outputSizeBeforeSurfaceTransformation; + + @GuardedBy("this") + @Nullable + private SurfaceInfo outputSurfaceInfo; + + @GuardedBy("this") + @Nullable + private EGLSurface outputEglSurface; public FinalMatrixTransformationProcessorWrapper( Context context, EGLDisplay eglDisplay, EGLContext eglContext, ImmutableList matrixTransformations, - SurfaceInfo.Provider outputSurfaceProvider, long streamOffsetUs, FrameProcessor.Listener frameProcessorListener, Transformer.DebugViewProvider debugViewProvider, @@ -85,7 +91,6 @@ public FinalMatrixTransformationProcessorWrapper( this.matrixTransformations = matrixTransformations; this.eglDisplay = eglDisplay; this.eglContext = eglContext; - this.outputSurfaceProvider = outputSurfaceProvider; this.streamOffsetUs = streamOffsetUs; this.debugViewProvider = debugViewProvider; this.frameProcessorListener = frameProcessorListener; @@ -107,28 +112,30 @@ public void setListener(Listener listener) { @Override public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { try { - if (!ensureConfigured(inputTexture.width, inputTexture.height)) { - return false; - } - - EGLSurface outputEglSurface = this.outputEglSurface; - SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; - MatrixTransformationProcessor matrixTransformationProcessor = - this.matrixTransformationProcessor; + synchronized (this) { + if (!ensureConfigured(inputTexture.width, inputTexture.height)) { + return false; + } - GlUtil.focusEglSurface( - eglDisplay, - eglContext, - outputEglSurface, - outputSurfaceInfo.width, - outputSurfaceInfo.height); - GlUtil.clearOutputFrame(); - matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); - EGLExt.eglPresentationTimeANDROID( - eglDisplay, - outputEglSurface, - /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUs) * 1000); - EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); + EGLSurface outputEglSurface = this.outputEglSurface; + SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; + MatrixTransformationProcessor matrixTransformationProcessor = + this.matrixTransformationProcessor; + + GlUtil.focusEglSurface( + eglDisplay, + eglContext, + outputEglSurface, + outputSurfaceInfo.width, + outputSurfaceInfo.height); + GlUtil.clearOutputFrame(); + matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + EGLExt.eglPresentationTimeANDROID( + eglDisplay, + outputEglSurface, + /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUs) * 1000); + EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); + } } catch (FrameProcessingException | GlUtil.GlException e) { frameProcessorListener.onFrameProcessingError( FrameProcessingException.from(e, presentationTimeUs)); @@ -156,24 +163,25 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT @EnsuresNonNullIf( expression = {"outputSurfaceInfo", "outputEglSurface", "matrixTransformationProcessor"}, result = true) - private boolean ensureConfigured(int inputWidth, int inputHeight) + private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) throws FrameProcessingException, GlUtil.GlException { - if (inputWidth == this.inputWidth - && inputHeight == this.inputHeight - && outputSurfaceInfo != null - && outputEglSurface != null - && matrixTransformationProcessor != null) { - return true; + + if (this.inputWidth != inputWidth + || this.inputHeight != inputHeight + || this.outputSizeBeforeSurfaceTransformation == null) { + this.inputWidth = inputWidth; + this.inputHeight = inputHeight; + Size outputSizeBeforeSurfaceTransformation = + MatrixUtils.configureAndGetOutputSize(inputWidth, inputHeight, matrixTransformations); + if (!Util.areEqual( + this.outputSizeBeforeSurfaceTransformation, outputSizeBeforeSurfaceTransformation)) { + this.outputSizeBeforeSurfaceTransformation = outputSizeBeforeSurfaceTransformation; + frameProcessorListener.onOutputSizeChanged( + outputSizeBeforeSurfaceTransformation.getWidth(), + outputSizeBeforeSurfaceTransformation.getHeight()); + } } - this.inputWidth = inputWidth; - this.inputHeight = inputHeight; - Size requestedOutputSize = - MatrixUtils.configureAndGetOutputSize(inputWidth, inputHeight, matrixTransformations); - @Nullable - SurfaceInfo outputSurfaceInfo = - outputSurfaceProvider.getSurfaceInfo( - requestedOutputSize.getWidth(), requestedOutputSize.getHeight()); if (outputSurfaceInfo == null) { if (matrixTransformationProcessor != null) { matrixTransformationProcessor.release(); @@ -182,32 +190,36 @@ private boolean ensureConfigured(int inputWidth, int inputHeight) outputEglSurface = null; return false; } - if (outputSurfaceInfo == this.outputSurfaceInfo - && outputEglSurface != null - && matrixTransformationProcessor != null) { - return true; - } - EGLSurface outputEglSurface; - if (enableExperimentalHdrEditing) { - // TODO(b/227624622): Don't assume BT.2020 PQ input/output. - outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurfaceInfo.surface); - } else { - outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); - } + SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; + @Nullable EGLSurface outputEglSurface = this.outputEglSurface; + if (outputEglSurface == null) { // This means that outputSurfaceInfo changed. + if (enableExperimentalHdrEditing) { + // TODO(b/227624622): Don't assume BT.2020 PQ input/output. + outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurfaceInfo.surface); + } else { + outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); + } - @Nullable - SurfaceView debugSurfaceView = - debugViewProvider.getDebugPreviewSurfaceView( - outputSurfaceInfo.width, outputSurfaceInfo.height); - if (debugSurfaceView != null) { - debugSurfaceViewWrapper = - new SurfaceViewWrapper( - eglDisplay, eglContext, enableExperimentalHdrEditing, debugSurfaceView); + @Nullable + SurfaceView debugSurfaceView = + debugViewProvider.getDebugPreviewSurfaceView( + outputSurfaceInfo.width, outputSurfaceInfo.height); + if (debugSurfaceView != null) { + debugSurfaceViewWrapper = + new SurfaceViewWrapper( + eglDisplay, eglContext, enableExperimentalHdrEditing, debugSurfaceView); + } + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.release(); + matrixTransformationProcessor = null; + } } - matrixTransformationProcessor = - createMatrixTransformationProcessorForOutputSurface(requestedOutputSize, outputSurfaceInfo); + if (matrixTransformationProcessor == null) { + matrixTransformationProcessor = + createMatrixTransformationProcessorForOutputSurface(outputSurfaceInfo); + } this.outputSurfaceInfo = outputSurfaceInfo; this.outputEglSurface = outputEglSurface; @@ -215,7 +227,7 @@ private boolean ensureConfigured(int inputWidth, int inputHeight) } private MatrixTransformationProcessor createMatrixTransformationProcessorForOutputSurface( - Size requestedOutputSize, SurfaceInfo outputSurfaceInfo) throws FrameProcessingException { + SurfaceInfo outputSurfaceInfo) throws FrameProcessingException { ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder().addAll(matrixTransformations); if (outputSurfaceInfo.orientationDegrees != 0) { @@ -224,12 +236,9 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp .setRotationDegrees(outputSurfaceInfo.orientationDegrees) .build()); } - if (outputSurfaceInfo.width != requestedOutputSize.getWidth() - || outputSurfaceInfo.height != requestedOutputSize.getHeight()) { - matrixTransformationListBuilder.add( - Presentation.createForWidthAndHeight( - outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); - } + matrixTransformationListBuilder.add( + Presentation.createForWidthAndHeight( + outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); MatrixTransformationProcessor matrixTransformationProcessor = new MatrixTransformationProcessor(context, matrixTransformationListBuilder.build()); @@ -258,6 +267,13 @@ public void release() throws FrameProcessingException { } } + public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { + if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { + this.outputSurfaceInfo = outputSurfaceInfo; + this.outputEglSurface = null; + } + } + /** * Wrapper around a {@link SurfaceView} that keeps track of whether the output surface is valid, * and makes rendering a no-op if not. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java index 17c60e801d3..01802199d18 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java @@ -16,6 +16,7 @@ package androidx.media3.transformer; import android.view.Surface; +import androidx.annotation.Nullable; /** Interface for a frame processor that applies changes to individual video frames. */ /* package */ interface FrameProcessor { @@ -26,6 +27,14 @@ */ interface Listener { + /** + * Called when the output size after applying the final effect changes. + * + *

The output size after applying the final effect can differ from the size specified using + * {@link #setOutputSurfaceInfo(SurfaceInfo)}. + */ + void onOutputSizeChanged(int width, int height); + /** * Called when an exception occurs during asynchronous frame processing. * @@ -68,6 +77,23 @@ interface Listener { */ int getPendingInputFrameCount(); + /** + * Sets the output surface and supporting information. + * + *

The new output {@link SurfaceInfo} is applied from the next output frame rendered onwards. + * If the output {@link SurfaceInfo} is {@code null}, the {@code FrameProcessor} will stop + * rendering and resume rendering pending frames once a non-null {@link SurfaceInfo} is set. + * + *

If the dimensions given in {@link SurfaceInfo} do not match the {@linkplain + * Listener#onOutputSizeChanged(int,int) output size after applying the final effect} the frames + * are resized before rendering to the surface and letter/pillar-boxing is applied. + * + *

The caller is responsible for tracking the lifecycle of the {@link SurfaceInfo#surface} + * including calling this method with a new surface if it is destroyed. When this method returns, + * the previous output surface is no longer being used and can safely be released by the caller. + */ + void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo); + /** * Informs the {@code FrameProcessor} that no further input frames should be accepted. * diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 9823b57153c..af27f46a9f1 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -23,6 +23,7 @@ import android.opengl.EGL14; import android.opengl.EGLContext; import android.opengl.EGLDisplay; +import android.util.Pair; import android.view.Surface; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; @@ -51,8 +52,6 @@ * @param context A {@link Context}. * @param listener A {@link Listener}. * @param effects The {@link GlEffect GlEffects} to apply to each frame. - * @param outputSurfaceProvider A {@link SurfaceInfo.Provider} managing the output {@link - * Surface}. * @param debugViewProvider A {@link Transformer.DebugViewProvider}. * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. * @return A new instance. @@ -64,7 +63,6 @@ public static GlEffectsFrameProcessor create( FrameProcessor.Listener listener, long streamOffsetUs, List effects, - SurfaceInfo.Provider outputSurfaceProvider, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { @@ -79,7 +77,6 @@ public static GlEffectsFrameProcessor create( listener, streamOffsetUs, effects, - outputSurfaceProvider, debugViewProvider, enableExperimentalHdrEditing, singleThreadExecutorService)); @@ -108,7 +105,6 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( FrameProcessor.Listener listener, long streamOffsetUs, List effects, - SurfaceInfo.Provider outputSurfaceProvider, Transformer.DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing, ExecutorService singleThreadExecutorService) @@ -131,24 +127,31 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); } - ImmutableList textureProcessors = - getGlTextureProcessorsForGlEffects( - context, - effects, - eglDisplay, - eglContext, - outputSurfaceProvider, - streamOffsetUs, - listener, - debugViewProvider, - enableExperimentalHdrEditing); + Pair, FinalMatrixTransformationProcessorWrapper> + textureProcessors = + getGlTextureProcessorsForGlEffects( + context, + effects, + eglDisplay, + eglContext, + streamOffsetUs, + listener, + debugViewProvider, + enableExperimentalHdrEditing); + ImmutableList intermediateTextureProcessors = textureProcessors.first; + FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper = + textureProcessors.second; ExternalTextureProcessor externalTextureProcessor = new ExternalTextureProcessor(context, enableExperimentalHdrEditing); FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); chainTextureProcessorsWithListeners( - externalTextureProcessor, textureProcessors, frameProcessingTaskExecutor, listener); + externalTextureProcessor, + intermediateTextureProcessors, + finalTextureProcessorWrapper, + frameProcessingTaskExecutor, + listener); return new GlEffectsFrameProcessor( eglDisplay, @@ -157,7 +160,8 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( streamOffsetUs, /* inputExternalTextureId= */ GlUtil.createExternalTexture(), externalTextureProcessor, - textureProcessors); + intermediateTextureProcessors, + finalTextureProcessorWrapper); } /** @@ -165,21 +169,21 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( * MatrixTransformationProcessor} and converts all other {@link GlEffect} instances to separate * {@link GlTextureProcessor} instances. * - *

The final {@link GlTextureProcessor} is wrapped in a {@link - * FinalMatrixTransformationProcessorWrapper} so that it can write directly to the {@linkplain - * SurfaceInfo.Provider provided output surface}. + * @return A {@link Pair} containing a list of {@link GlTextureProcessor} instances to apply in + * the given order and a {@link FinalMatrixTransformationProcessorWrapper} to apply after + * them. */ - private static ImmutableList getGlTextureProcessorsForGlEffects( - Context context, - List effects, - EGLDisplay eglDisplay, - EGLContext eglContext, - SurfaceInfo.Provider outputSurfaceProvider, - long streamOffsetUs, - FrameProcessor.Listener listener, - Transformer.DebugViewProvider debugViewProvider, - boolean enableExperimentalHdrEditing) - throws FrameProcessingException { + private static Pair, FinalMatrixTransformationProcessorWrapper> + getGlTextureProcessorsForGlEffects( + Context context, + List effects, + EGLDisplay eglDisplay, + EGLContext eglContext, + long streamOffsetUs, + FrameProcessor.Listener listener, + Transformer.DebugViewProvider debugViewProvider, + boolean enableExperimentalHdrEditing) + throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = new ImmutableList.Builder<>(); ImmutableList.Builder matrixTransformationListBuilder = @@ -199,18 +203,17 @@ private static ImmutableList getGlTextureProcessorsForGlEffe } textureProcessorListBuilder.add(effect.toGlTextureProcessor(context)); } - textureProcessorListBuilder.add( + return Pair.create( + textureProcessorListBuilder.build(), new FinalMatrixTransformationProcessorWrapper( context, eglDisplay, eglContext, matrixTransformationListBuilder.build(), - outputSurfaceProvider, streamOffsetUs, listener, debugViewProvider, enableExperimentalHdrEditing)); - return textureProcessorListBuilder.build(); } /** @@ -221,21 +224,26 @@ private static ImmutableList getGlTextureProcessorsForGlEffe */ private static void chainTextureProcessorsWithListeners( ExternalTextureProcessor externalTextureProcessor, - ImmutableList textureProcessors, + ImmutableList intermediateTextureProcessors, + FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper, FrameProcessingTaskExecutor frameProcessingTaskExecutor, FrameProcessor.Listener listener) { externalTextureProcessor.setListener( new ChainingGlTextureProcessorListener( /* previousGlTextureProcessor= */ null, - textureProcessors.get(0), + /* nextGlTextureProcessor= */ intermediateTextureProcessors.size() > 0 + ? intermediateTextureProcessors.get(0) + : finalTextureProcessorWrapper, frameProcessingTaskExecutor, listener)); GlTextureProcessor previousGlTextureProcessor = externalTextureProcessor; - for (int i = 0; i < textureProcessors.size(); i++) { - GlTextureProcessor glTextureProcessor = textureProcessors.get(i); + for (int i = 0; i < intermediateTextureProcessors.size(); i++) { + GlTextureProcessor glTextureProcessor = intermediateTextureProcessors.get(i); @Nullable GlTextureProcessor nextGlTextureProcessor = - i + 1 < textureProcessors.size() ? textureProcessors.get(i + 1) : null; + i + 1 < intermediateTextureProcessors.size() + ? intermediateTextureProcessors.get(i + 1) + : finalTextureProcessorWrapper; glTextureProcessor.setListener( new ChainingGlTextureProcessorListener( previousGlTextureProcessor, @@ -244,6 +252,12 @@ private static void chainTextureProcessorsWithListeners( listener)); previousGlTextureProcessor = glTextureProcessor; } + finalTextureProcessorWrapper.setListener( + new ChainingGlTextureProcessorListener( + previousGlTextureProcessor, + /* nextGlTextureProcessor= */ null, + frameProcessingTaskExecutor, + listener)); } private static final String TAG = "GlEffectsFrameProcessor"; @@ -267,7 +281,8 @@ private static void chainTextureProcessorsWithListeners( private final float[] inputSurfaceTextureTransformMatrix; private final int inputExternalTextureId; private final ExternalTextureProcessor inputExternalTextureProcessor; - private final ImmutableList textureProcessors; + private final ImmutableList intermediateTextureProcessors; + private final FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper; private final ConcurrentLinkedQueue pendingInputFrames; private @MonotonicNonNull FrameInfo nextInputFrameInfo; @@ -280,8 +295,8 @@ private GlEffectsFrameProcessor( long streamOffsetUs, int inputExternalTextureId, ExternalTextureProcessor inputExternalTextureProcessor, - ImmutableList textureProcessors) { - checkState(!textureProcessors.isEmpty()); + ImmutableList intermediateTextureProcessors, + FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper) { this.eglDisplay = eglDisplay; this.eglContext = eglContext; @@ -289,7 +304,8 @@ private GlEffectsFrameProcessor( this.streamOffsetUs = streamOffsetUs; this.inputExternalTextureId = inputExternalTextureId; this.inputExternalTextureProcessor = inputExternalTextureProcessor; - this.textureProcessors = textureProcessors; + this.intermediateTextureProcessors = intermediateTextureProcessors; + this.finalTextureProcessorWrapper = finalTextureProcessorWrapper; inputSurfaceTexture = new SurfaceTexture(inputExternalTextureId); inputSurface = new Surface(inputSurfaceTexture); @@ -323,6 +339,11 @@ public int getPendingInputFrameCount() { return pendingInputFrames.size(); } + @Override + public void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { + finalTextureProcessorWrapper.setOutputSurfaceInfo(outputSurfaceInfo); + } + @Override public void signalEndOfInputStream() { checkState(!inputStreamEnded); @@ -423,9 +444,10 @@ private void processEndOfInputStream() { private void releaseTextureProcessorsAndDestroyGlContext() throws GlUtil.GlException, FrameProcessingException { inputExternalTextureProcessor.release(); - for (int i = 0; i < textureProcessors.size(); i++) { - textureProcessors.get(i).release(); + for (int i = 0; i < intermediateTextureProcessors.size(); i++) { + intermediateTextureProcessors.get(i).release(); } + finalTextureProcessorWrapper.release(); GlUtil.destroyEglContext(eglDisplay, eglContext); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java index 09bc8010586..217dd8c75c9 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java @@ -55,16 +55,27 @@ public SurfaceInfo(Surface surface, int width, int height, int orientationDegree this.orientationDegrees = orientationDegrees; } - /** A provider for a {@link SurfaceInfo} instance. */ - public interface Provider { - /** - * Provides a {@linkplain SurfaceInfo surface} for the requested dimensions. - * - *

The dimensions given in the provided {@link SurfaceInfo} may differ from the requested - * dimensions. It is up to the caller to transform frames from the requested dimensions to the - * provided dimensions before rendering them to the {@link SurfaceInfo#surface}. - */ - @Nullable - SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight); + @Override + public boolean equals(@Nullable Object o) { + if (this == o) { + return true; + } + if (!(o instanceof SurfaceInfo)) { + return false; + } + SurfaceInfo that = (SurfaceInfo) o; + return width == that.width + && height == that.height + && orientationDegrees == that.orientationDegrees + && surface.equals(that.surface); + } + + @Override + public int hashCode() { + int result = surface.hashCode(); + result = 31 * result + width; + result = 31 * result + height; + result = 31 * result + orientationDegrees; + return result; } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 4304f3483ac..44301842fbb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -95,14 +95,23 @@ public VideoTranscodingSamplePipeline( inputFormat, allowedOutputMimeTypes, transformationRequest, - fallbackListener, - asyncErrorListener); + fallbackListener); try { frameProcessor = GlEffectsFrameProcessor.create( context, new FrameProcessor.Listener() { + @Override + public void onOutputSizeChanged(int width, int height) { + try { + checkNotNull(frameProcessor) + .setOutputSurfaceInfo(encoderWrapper.getSurfaceInfo(width, height)); + } catch (TransformationException exception) { + asyncErrorListener.onTransformationException(exception); + } + } + @Override public void onFrameProcessingError(FrameProcessingException exception) { asyncErrorListener.onTransformationException( @@ -121,7 +130,6 @@ public void onFrameProcessingEnded() { }, streamOffsetUs, effectsListBuilder.build(), - /* outputSurfaceProvider= */ encoderWrapper, debugViewProvider, transformationRequest.enableHdrEditing); } catch (FrameProcessingException e) { @@ -284,14 +292,13 @@ private boolean isDecodeOnlyBuffer(long presentationTimeUs) { * dimensions, the same encoder is used and the provided dimensions stay fixed. */ @VisibleForTesting - /* package */ static final class EncoderWrapper implements SurfaceInfo.Provider { + /* package */ static final class EncoderWrapper { private final Codec.EncoderFactory encoderFactory; private final Format inputFormat; private final List allowedOutputMimeTypes; private final TransformationRequest transformationRequest; private final FallbackListener fallbackListener; - private final Transformer.AsyncErrorListener asyncErrorListener; private @MonotonicNonNull SurfaceInfo encoderSurfaceInfo; @@ -304,20 +311,18 @@ public EncoderWrapper( Format inputFormat, List allowedOutputMimeTypes, TransformationRequest transformationRequest, - FallbackListener fallbackListener, - Transformer.AsyncErrorListener asyncErrorListener) { + FallbackListener fallbackListener) { this.encoderFactory = encoderFactory; this.inputFormat = inputFormat; this.allowedOutputMimeTypes = allowedOutputMimeTypes; this.transformationRequest = transformationRequest; this.fallbackListener = fallbackListener; - this.asyncErrorListener = asyncErrorListener; } - @Override @Nullable - public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) { + public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) + throws TransformationException { if (releaseEncoder) { return null; } @@ -349,13 +354,8 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) { : inputFormat.sampleMimeType) .build(); - try { - encoder = - encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); - } catch (TransformationException e) { - asyncErrorListener.onTransformationException(e); - return null; - } + encoder = + encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); Format encoderSupportedFormat = encoder.getConfigurationFormat(); fallbackListener.onTransformationRequestFinalized( createFallbackTransformationRequest( diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java index ac86e370dd2..1b8b8b4502b 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java @@ -50,8 +50,7 @@ public final class VideoEncoderWrapperTest { /* inputFormat= */ new Format.Builder().build(), /* allowedOutputMimeTypes= */ ImmutableList.of(), emptyTransformationRequest, - fallbackListener, - mock(Transformer.AsyncErrorListener.class)); + fallbackListener); @Before public void registerTrack() { @@ -59,7 +58,7 @@ public void registerTrack() { } @Test - public void getSurfaceInfo_landscape_leavesOrientationUnchanged() { + public void getSurfaceInfo_landscape_leavesOrientationUnchanged() throws Exception { int inputWidth = 200; int inputHeight = 150; @@ -71,7 +70,7 @@ public void getSurfaceInfo_landscape_leavesOrientationUnchanged() { } @Test - public void getSurfaceInfo_square_leavesOrientationUnchanged() { + public void getSurfaceInfo_square_leavesOrientationUnchanged() throws Exception { int inputWidth = 150; int inputHeight = 150; @@ -83,7 +82,7 @@ public void getSurfaceInfo_square_leavesOrientationUnchanged() { } @Test - public void getSurfaceInfo_portrait_flipsOrientation() { + public void getSurfaceInfo_portrait_flipsOrientation() throws Exception { int inputWidth = 150; int inputHeight = 200; @@ -95,7 +94,8 @@ public void getSurfaceInfo_portrait_flipsOrientation() { } @Test - public void getSurfaceInfo_withEncoderFallback_usesFallbackResolution() { + public void getSurfaceInfo_withEncoderFallback_usesFallbackResolution() + throws TransformationException { int inputWidth = 200; int inputHeight = 150; int fallbackWidth = 100; From d48507a2d140bd0aa0f44989e01df7f42495b7f1 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 29 Jun 2022 17:56:53 +0000 Subject: [PATCH 039/422] Move DebugViewProvider out of Transformer class. The GlEffectsFrameProcessor that will be part of the effects module uses the DebugViewProvider. So it does not make sense for it to be an inner interface of Transformer. PiperOrigin-RevId: 458014932 (cherry picked from commit cd0e5b99de9577ff1af0da15a9ea6c9041f38361) --- .../demo/transformer/TransformerActivity.java | 3 +- .../GlEffectsFrameProcessorPixelTest.java | 2 +- .../media3/transformer/DebugViewProvider.java | 37 +++++++++++++++++++ ...lMatrixTransformationProcessorWrapper.java | 4 +- .../transformer/GlEffectsFrameProcessor.java | 8 ++-- .../media3/transformer/Transformer.java | 25 ++----------- .../transformer/TransformerVideoRenderer.java | 4 +- .../VideoTranscodingSamplePipeline.java | 2 +- 8 files changed, 53 insertions(+), 32 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 2532d7fc7fe..50d7de6323b 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -41,6 +41,7 @@ import androidx.media3.common.util.Util; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.util.DebugTextViewHelper; +import androidx.media3.transformer.DebugViewProvider; import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.GlEffect; import androidx.media3.transformer.GlTextureProcessor; @@ -417,7 +418,7 @@ private void showToast(@StringRes int messageResource) { Toast.makeText(getApplicationContext(), getString(messageResource), Toast.LENGTH_LONG).show(); } - private final class DemoDebugViewProvider implements Transformer.DebugViewProvider { + private final class DemoDebugViewProvider implements DebugViewProvider { private @MonotonicNonNull SurfaceView surfaceView; private int width; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 06512ca0e91..c6c9f6fc56c 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -378,7 +378,7 @@ public void onFrameProcessingEnded() { }, /* streamOffsetUs= */ 0L, effects, - Transformer.DebugViewProvider.NONE, + DebugViewProvider.NONE, /* enableExperimentalHdrEditing= */ false)); glEffectsFrameProcessor.setInputFrameInfo( new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio)); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java new file mode 100644 index 00000000000..9ef2ecb4fbf --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java @@ -0,0 +1,37 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import android.view.SurfaceView; +import androidx.annotation.Nullable; +import androidx.media3.common.util.UnstableApi; + +/** Provider for views to show diagnostic information during a transformation, for debugging. */ +@UnstableApi +public interface DebugViewProvider { + + /** Debug view provider that doesn't show any debug info. */ + DebugViewProvider NONE = (int width, int height) -> null; + + /** + * Returns a new surface view to show a preview of transformer output with the given width/height + * in pixels, or {@code null} if no debug information should be shown. + * + *

This method may be called on an arbitrary thread. + */ + @Nullable + SurfaceView getDebugPreviewSurfaceView(int width, int height); +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index a927c5ce3c2..44b890d9038 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -59,7 +59,7 @@ private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final long streamOffsetUs; - private final Transformer.DebugViewProvider debugViewProvider; + private final DebugViewProvider debugViewProvider; private final FrameProcessor.Listener frameProcessorListener; private final boolean enableExperimentalHdrEditing; @@ -85,7 +85,7 @@ public FinalMatrixTransformationProcessorWrapper( ImmutableList matrixTransformations, long streamOffsetUs, FrameProcessor.Listener frameProcessorListener, - Transformer.DebugViewProvider debugViewProvider, + DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) { this.context = context; this.matrixTransformations = matrixTransformations; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index af27f46a9f1..ce418d82810 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -52,7 +52,7 @@ * @param context A {@link Context}. * @param listener A {@link Listener}. * @param effects The {@link GlEffect GlEffects} to apply to each frame. - * @param debugViewProvider A {@link Transformer.DebugViewProvider}. + * @param debugViewProvider A {@link DebugViewProvider}. * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. * @return A new instance. * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while @@ -63,7 +63,7 @@ public static GlEffectsFrameProcessor create( FrameProcessor.Listener listener, long streamOffsetUs, List effects, - Transformer.DebugViewProvider debugViewProvider, + DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { @@ -105,7 +105,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( FrameProcessor.Listener listener, long streamOffsetUs, List effects, - Transformer.DebugViewProvider debugViewProvider, + DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing, ExecutorService singleThreadExecutorService) throws GlUtil.GlException, FrameProcessingException { @@ -181,7 +181,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( EGLContext eglContext, long streamOffsetUs, FrameProcessor.Listener listener, - Transformer.DebugViewProvider debugViewProvider, + DebugViewProvider debugViewProvider, boolean enableExperimentalHdrEditing) throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 7c3036437f2..8332cbc4c58 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -29,7 +29,6 @@ import android.os.Handler; import android.os.Looper; import android.os.ParcelFileDescriptor; -import android.view.SurfaceView; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -495,22 +494,6 @@ default void onFallbackApplied( TransformationRequest fallbackTransformationRequest) {} } - /** Provider for views to show diagnostic information during transformation, for debugging. */ - public interface DebugViewProvider { - - /** Debug view provider that doesn't show any debug info. */ - DebugViewProvider NONE = (int width, int height) -> null; - - /** - * Returns a new surface view to show a preview of transformer output with the given - * width/height in pixels, or {@code null} if no debug information should be shown. - * - *

This method may be called on an arbitrary thread. - */ - @Nullable - SurfaceView getDebugPreviewSurfaceView(int width, int height); - } - /** * Progress state. One of {@link #PROGRESS_STATE_WAITING_FOR_AVAILABILITY}, {@link * #PROGRESS_STATE_AVAILABLE}, {@link #PROGRESS_STATE_UNAVAILABLE}, {@link @@ -549,7 +532,7 @@ public interface DebugViewProvider { private final ImmutableList videoEffects; private final Looper looper; private final Clock clock; - private final Transformer.DebugViewProvider debugViewProvider; + private final DebugViewProvider debugViewProvider; private final ListenerSet listeners; @VisibleForTesting /* package */ final Codec.DecoderFactory decoderFactory; @VisibleForTesting /* package */ final Codec.EncoderFactory encoderFactory; @@ -573,7 +556,7 @@ private Transformer( Clock clock, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, - Transformer.DebugViewProvider debugViewProvider) { + DebugViewProvider debugViewProvider) { checkState(!removeAudio || !removeVideo, "Audio and video cannot both be removed."); this.context = context; this.mediaSourceFactory = mediaSourceFactory; @@ -850,7 +833,7 @@ private static final class TransformerRenderersFactory implements RenderersFacto private final Codec.DecoderFactory decoderFactory; private final FallbackListener fallbackListener; private final AsyncErrorListener asyncErrorListener; - private final Transformer.DebugViewProvider debugViewProvider; + private final DebugViewProvider debugViewProvider; public TransformerRenderersFactory( Context context, @@ -864,7 +847,7 @@ public TransformerRenderersFactory( Codec.DecoderFactory decoderFactory, FallbackListener fallbackListener, AsyncErrorListener asyncErrorListener, - Transformer.DebugViewProvider debugViewProvider) { + DebugViewProvider debugViewProvider) { this.context = context; this.muxerWrapper = muxerWrapper; this.removeAudio = removeAudio; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 03902a400d3..a9ae8307b23 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -39,7 +39,7 @@ private final ImmutableList effects; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; - private final Transformer.DebugViewProvider debugViewProvider; + private final DebugViewProvider debugViewProvider; private final DecoderInputBuffer decoderInputBuffer; private @MonotonicNonNull SefSlowMotionFlattener sefSlowMotionFlattener; @@ -55,7 +55,7 @@ public TransformerVideoRenderer( Codec.DecoderFactory decoderFactory, Transformer.AsyncErrorListener asyncErrorListener, FallbackListener fallbackListener, - Transformer.DebugViewProvider debugViewProvider) { + DebugViewProvider debugViewProvider) { super( C.TRACK_TYPE_VIDEO, muxerWrapper, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 44301842fbb..2bd33116565 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -60,7 +60,7 @@ public VideoTranscodingSamplePipeline( List allowedOutputMimeTypes, FallbackListener fallbackListener, Transformer.AsyncErrorListener asyncErrorListener, - Transformer.DebugViewProvider debugViewProvider) + DebugViewProvider debugViewProvider) throws TransformationException { decoderInputBuffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); From 39d04cf2accb9f433b4c8b0ac75f947f6f02a1ab Mon Sep 17 00:00:00 2001 From: rohks Date: Thu, 30 Jun 2022 19:10:22 +0000 Subject: [PATCH 040/422] Fix formatting in release notes. PiperOrigin-RevId: 458283415 (cherry picked from commit c0359cad927bc83e567c39a6107b17028d6cb7c1) --- RELEASENOTES.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index e0a6694d68f..90cd7722ac2 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -15,9 +15,13 @@ * Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with - `MetadataRenderer(MetadataOutput, Looper, - MetadataDecoderFactory, boolean)` to specify whether the renderer will - output metadata early or in sync with the player position. + `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, + boolean)` to specify whether the renderer will output metadata early or + in sync with the player position. +* UI: + * Ensure TalkBack announces the currently active speed option in the + playback controls menu + ([#10298](https://github.com/google/ExoPlayer/issues/10298)). * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). From 8b0fe168214ffea4145a4a2cb634512714c3b1e2 Mon Sep 17 00:00:00 2001 From: hmzh Date: Fri, 1 Jul 2022 10:18:50 +0000 Subject: [PATCH 041/422] Fix MIDI command timestamp calculations and synthesization duration. - Improve variable naming to include time units for clarity - Fix existing timestamp calculations to respect time units as well as track tempo (default values for now) - Ensure the synthesizer produces PCM for the correct amount of time (including gaps between commands). PiperOrigin-RevId: 458428243 (cherry picked from commit da0a208b89a7914dae577900c990b0f36c23df14) --- .../extractordumps/midi/Twinkle.mid.0.dump | 364 ++++++++++-------- .../midi/Twinkle.mid.unknown_length.dump | 364 ++++++++++-------- 2 files changed, 404 insertions(+), 324 deletions(-) diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump index 9bbb94438ce..449498d92f0 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump @@ -4,8 +4,8 @@ seekMap: getPosition(0) = [[timeUs=0, position=0]] numberOfTracks = 1 track 0: - total output bytes = 264 - sample count = 86 + total output bytes = 96 + sample count = 96 format 0: sampleMimeType = audio/midi sample 0: @@ -21,335 +21,375 @@ track 0: flags = 1 data = length 3, hash FFFED75B sample 3: - time = 2108 + time = 100000 flags = 1 - data = length 3, hash FFFED448 + data = length 0, hash 1 sample 4: - time = 2148 + time = 200000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 5: - time = 2276 + time = 300000 flags = 1 - data = length 3, hash FFFED733 + data = length 0, hash 1 sample 6: - time = 4384 + time = 400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 7: - time = 4384 + time = 500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED733 sample 8: - time = 4384 + time = 500000 flags = 1 data = length 3, hash FFFED751 sample 9: - time = 6492 + time = 600000 flags = 1 - data = length 3, hash FFFED312 + data = length 0, hash 1 sample 10: - time = 6522 + time = 700000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 11: - time = 6650 + time = 800000 flags = 1 - data = length 3, hash FFFED733 + data = length 0, hash 1 sample 12: - time = 8758 + time = 900000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 13: - time = 8758 + time = 1000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED733 sample 14: - time = 8758 + time = 1000000 flags = 1 data = length 3, hash FFFED839 sample 15: - time = 10873 + time = 1100000 flags = 1 - data = length 3, hash FFFED4E3 + data = length 0, hash 1 sample 16: - time = 10918 + time = 1200000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 17: - time = 11046 + time = 1300000 flags = 1 - data = length 3, hash FFFED80C + data = length 0, hash 1 sample 18: - time = 13161 + time = 1400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 19: - time = 13161 + time = 1500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED80C sample 20: - time = 13161 + time = 1500000 flags = 1 data = length 3, hash FFFED83E sample 21: - time = 15276 + time = 1600000 flags = 1 - data = length 3, hash FFFED57E + data = length 0, hash 1 sample 22: - time = 15326 + time = 1700000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 23: - time = 15454 + time = 1800000 flags = 1 - data = length 3, hash FFFED80C + data = length 0, hash 1 sample 24: - time = 17569 + time = 1900000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 25: - time = 17569 + time = 2000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED80C sample 26: - time = 17569 + time = 2000000 flags = 1 data = length 3, hash FFFED877 sample 27: - time = 19686 + time = 2100000 flags = 1 - data = length 3, hash FFFED4E3 + data = length 0, hash 1 sample 28: - time = 19731 + time = 2200000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 29: - time = 19859 + time = 2300000 flags = 1 - data = length 3, hash FFFED84A + data = length 0, hash 1 sample 30: - time = 21976 + time = 2400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 31: - time = 21976 + time = 2500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED84A sample 32: - time = 21976 + time = 2500000 flags = 1 data = length 3, hash FFFED87C sample 33: - time = 24093 + time = 2600000 flags = 1 - data = length 3, hash FFFED57E + data = length 0, hash 1 sample 34: - time = 24143 + time = 2700000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 35: - time = 24271 + time = 2800000 flags = 1 - data = length 3, hash FFFED84A + data = length 0, hash 1 sample 36: - time = 26388 + time = 2900000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 37: - time = 26388 + time = 3000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED84A sample 38: - time = 26388 + time = 3000000 flags = 1 data = length 3, hash FFFED82F sample 39: - time = 28503 + time = 3100000 flags = 1 - data = length 3, hash FFFED3AE + data = length 0, hash 1 sample 40: - time = 28538 + time = 3200000 flags = 1 - data = length 3, hash FFFE9AF1 + data = length 0, hash 1 sample 41: - time = 28794 + time = 3300000 flags = 1 - data = length 3, hash FFFED80C + data = length 0, hash 1 sample 42: - time = 30909 + time = 3400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 43: - time = 30909 + time = 3500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 0, hash 1 sample 44: - time = 30909 + time = 3600000 flags = 1 - data = length 3, hash FFFED800 + data = length 0, hash 1 sample 45: - time = 33022 + time = 3700000 flags = 1 - data = length 3, hash FFFED57E + data = length 0, hash 1 sample 46: - time = 33072 + time = 3800000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 47: - time = 33200 + time = 3900000 flags = 1 - data = length 3, hash FFFED7CE + data = length 0, hash 1 sample 48: - time = 35313 + time = 4000000 flags = 1 - data = length 3, hash FFFECFEF + data = length 3, hash FFFED80C sample 49: - time = 35313 + time = 4000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED800 sample 50: - time = 35313 + time = 4100000 flags = 1 - data = length 3, hash FFFED7FB + data = length 0, hash 1 sample 51: - time = 37426 + time = 4200000 flags = 1 - data = length 3, hash FFFED4E3 + data = length 0, hash 1 sample 52: - time = 37471 + time = 4300000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 53: - time = 37599 + time = 4400000 flags = 1 - data = length 3, hash FFFED7CE + data = length 0, hash 1 sample 54: - time = 39712 + time = 4500000 flags = 1 - data = length 3, hash FFFECFEF + data = length 3, hash FFFED7CE sample 55: - time = 39712 + time = 4500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED7FB sample 56: - time = 39712 + time = 4600000 flags = 1 - data = length 3, hash FFFED7E1 + data = length 0, hash 1 sample 57: - time = 41824 + time = 4700000 flags = 1 - data = length 3, hash FFFED63D + data = length 0, hash 1 sample 58: - time = 41874 + time = 4800000 flags = 1 - data = length 3, hash FFFED73F + data = length 0, hash 1 sample 59: - time = 41938 + time = 4900000 flags = 1 - data = length 3, hash FFFED7AF + data = length 0, hash 1 sample 60: - time = 44050 + time = 5000000 flags = 1 - data = length 3, hash FFFED02F + data = length 3, hash FFFED7CE sample 61: - time = 44050 + time = 5000000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7E1 sample 62: - time = 44114 + time = 5100000 flags = 1 - data = length 3, hash FFFED7D7 + data = length 0, hash 1 sample 63: - time = 46226 + time = 5200000 flags = 1 - data = length 3, hash FFFED507 + data = length 0, hash 1 sample 64: - time = 46266 + time = 5250000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7AF sample 65: - time = 46330 + time = 5350000 flags = 1 - data = length 3, hash FFFED7AF + data = length 0, hash 1 sample 66: - time = 48442 + time = 5450000 flags = 1 - data = length 3, hash FFFED02F + data = length 0, hash 1 sample 67: - time = 48442 + time = 5500000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7D7 sample 68: - time = 48506 + time = 5600000 flags = 1 - data = length 3, hash FFFED79E + data = length 0, hash 1 sample 69: - time = 50616 + time = 5700000 flags = 1 - data = length 3, hash FFFED5A2 + data = length 0, hash 1 sample 70: - time = 50661 + time = 5750000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7AF sample 71: - time = 50725 + time = 5850000 flags = 1 - data = length 3, hash FFFED771 + data = length 0, hash 1 sample 72: - time = 52835 + time = 5950000 flags = 1 - data = length 3, hash FFFED02F + data = length 0, hash 1 sample 73: - time = 52835 + time = 6000000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED79E sample 74: - time = 52899 + time = 6100000 flags = 1 - data = length 3, hash FFFED7A3 + data = length 0, hash 1 sample 75: - time = 55009 + time = 6200000 flags = 1 - data = length 3, hash FFFED63D + data = length 0, hash 1 sample 76: - time = 55059 + time = 6250000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED771 sample 77: - time = 55123 + time = 6350000 flags = 1 - data = length 3, hash FFFED771 + data = length 0, hash 1 sample 78: - time = 57233 + time = 6450000 flags = 1 - data = length 3, hash FFFED02F + data = length 0, hash 1 sample 79: - time = 57233 + time = 6500000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7A3 sample 80: - time = 57297 + time = 6600000 flags = 1 - data = length 3, hash FFFED751 + data = length 0, hash 1 sample 81: - time = 59405 + time = 6700000 flags = 1 - data = length 3, hash FFFED313 + data = length 0, hash 1 sample 82: - time = 59435 + time = 6750000 flags = 1 - data = length 3, hash FFFE9AF1 + data = length 3, hash FFFED771 sample 83: - time = 59691 + time = 6850000 flags = 1 - data = length 3, hash FFFED733 + data = length 0, hash 1 sample 84: - time = 61799 + time = 6950000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 85: - time = 61799 + time = 7000000 + flags = 1 + data = length 3, hash FFFED751 + sample 86: + time = 7100000 + flags = 1 + data = length 0, hash 1 + sample 87: + time = 7200000 + flags = 1 + data = length 0, hash 1 + sample 88: + time = 7300000 + flags = 1 + data = length 0, hash 1 + sample 89: + time = 7400000 + flags = 1 + data = length 0, hash 1 + sample 90: + time = 7500000 flags = 1 - data = length 3, hash FFFECFEE + data = length 0, hash 1 + sample 91: + time = 7600000 + flags = 1 + data = length 0, hash 1 + sample 92: + time = 7700000 + flags = 1 + data = length 0, hash 1 + sample 93: + time = 7800000 + flags = 1 + data = length 0, hash 1 + sample 94: + time = 7900000 + flags = 1 + data = length 0, hash 1 + sample 95: + time = 8000000 + flags = 1 + data = length 3, hash FFFED733 tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump index 9bbb94438ce..449498d92f0 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump @@ -4,8 +4,8 @@ seekMap: getPosition(0) = [[timeUs=0, position=0]] numberOfTracks = 1 track 0: - total output bytes = 264 - sample count = 86 + total output bytes = 96 + sample count = 96 format 0: sampleMimeType = audio/midi sample 0: @@ -21,335 +21,375 @@ track 0: flags = 1 data = length 3, hash FFFED75B sample 3: - time = 2108 + time = 100000 flags = 1 - data = length 3, hash FFFED448 + data = length 0, hash 1 sample 4: - time = 2148 + time = 200000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 5: - time = 2276 + time = 300000 flags = 1 - data = length 3, hash FFFED733 + data = length 0, hash 1 sample 6: - time = 4384 + time = 400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 7: - time = 4384 + time = 500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED733 sample 8: - time = 4384 + time = 500000 flags = 1 data = length 3, hash FFFED751 sample 9: - time = 6492 + time = 600000 flags = 1 - data = length 3, hash FFFED312 + data = length 0, hash 1 sample 10: - time = 6522 + time = 700000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 11: - time = 6650 + time = 800000 flags = 1 - data = length 3, hash FFFED733 + data = length 0, hash 1 sample 12: - time = 8758 + time = 900000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 13: - time = 8758 + time = 1000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED733 sample 14: - time = 8758 + time = 1000000 flags = 1 data = length 3, hash FFFED839 sample 15: - time = 10873 + time = 1100000 flags = 1 - data = length 3, hash FFFED4E3 + data = length 0, hash 1 sample 16: - time = 10918 + time = 1200000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 17: - time = 11046 + time = 1300000 flags = 1 - data = length 3, hash FFFED80C + data = length 0, hash 1 sample 18: - time = 13161 + time = 1400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 19: - time = 13161 + time = 1500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED80C sample 20: - time = 13161 + time = 1500000 flags = 1 data = length 3, hash FFFED83E sample 21: - time = 15276 + time = 1600000 flags = 1 - data = length 3, hash FFFED57E + data = length 0, hash 1 sample 22: - time = 15326 + time = 1700000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 23: - time = 15454 + time = 1800000 flags = 1 - data = length 3, hash FFFED80C + data = length 0, hash 1 sample 24: - time = 17569 + time = 1900000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 25: - time = 17569 + time = 2000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED80C sample 26: - time = 17569 + time = 2000000 flags = 1 data = length 3, hash FFFED877 sample 27: - time = 19686 + time = 2100000 flags = 1 - data = length 3, hash FFFED4E3 + data = length 0, hash 1 sample 28: - time = 19731 + time = 2200000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 29: - time = 19859 + time = 2300000 flags = 1 - data = length 3, hash FFFED84A + data = length 0, hash 1 sample 30: - time = 21976 + time = 2400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 31: - time = 21976 + time = 2500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED84A sample 32: - time = 21976 + time = 2500000 flags = 1 data = length 3, hash FFFED87C sample 33: - time = 24093 + time = 2600000 flags = 1 - data = length 3, hash FFFED57E + data = length 0, hash 1 sample 34: - time = 24143 + time = 2700000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 35: - time = 24271 + time = 2800000 flags = 1 - data = length 3, hash FFFED84A + data = length 0, hash 1 sample 36: - time = 26388 + time = 2900000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 37: - time = 26388 + time = 3000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED84A sample 38: - time = 26388 + time = 3000000 flags = 1 data = length 3, hash FFFED82F sample 39: - time = 28503 + time = 3100000 flags = 1 - data = length 3, hash FFFED3AE + data = length 0, hash 1 sample 40: - time = 28538 + time = 3200000 flags = 1 - data = length 3, hash FFFE9AF1 + data = length 0, hash 1 sample 41: - time = 28794 + time = 3300000 flags = 1 - data = length 3, hash FFFED80C + data = length 0, hash 1 sample 42: - time = 30909 + time = 3400000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 43: - time = 30909 + time = 3500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 0, hash 1 sample 44: - time = 30909 + time = 3600000 flags = 1 - data = length 3, hash FFFED800 + data = length 0, hash 1 sample 45: - time = 33022 + time = 3700000 flags = 1 - data = length 3, hash FFFED57E + data = length 0, hash 1 sample 46: - time = 33072 + time = 3800000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 47: - time = 33200 + time = 3900000 flags = 1 - data = length 3, hash FFFED7CE + data = length 0, hash 1 sample 48: - time = 35313 + time = 4000000 flags = 1 - data = length 3, hash FFFECFEF + data = length 3, hash FFFED80C sample 49: - time = 35313 + time = 4000000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED800 sample 50: - time = 35313 + time = 4100000 flags = 1 - data = length 3, hash FFFED7FB + data = length 0, hash 1 sample 51: - time = 37426 + time = 4200000 flags = 1 - data = length 3, hash FFFED4E3 + data = length 0, hash 1 sample 52: - time = 37471 + time = 4300000 flags = 1 - data = length 3, hash FFFE9730 + data = length 0, hash 1 sample 53: - time = 37599 + time = 4400000 flags = 1 - data = length 3, hash FFFED7CE + data = length 0, hash 1 sample 54: - time = 39712 + time = 4500000 flags = 1 - data = length 3, hash FFFECFEF + data = length 3, hash FFFED7CE sample 55: - time = 39712 + time = 4500000 flags = 1 - data = length 3, hash FFFECF7F + data = length 3, hash FFFED7FB sample 56: - time = 39712 + time = 4600000 flags = 1 - data = length 3, hash FFFED7E1 + data = length 0, hash 1 sample 57: - time = 41824 + time = 4700000 flags = 1 - data = length 3, hash FFFED63D + data = length 0, hash 1 sample 58: - time = 41874 + time = 4800000 flags = 1 - data = length 3, hash FFFED73F + data = length 0, hash 1 sample 59: - time = 41938 + time = 4900000 flags = 1 - data = length 3, hash FFFED7AF + data = length 0, hash 1 sample 60: - time = 44050 + time = 5000000 flags = 1 - data = length 3, hash FFFED02F + data = length 3, hash FFFED7CE sample 61: - time = 44050 + time = 5000000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7E1 sample 62: - time = 44114 + time = 5100000 flags = 1 - data = length 3, hash FFFED7D7 + data = length 0, hash 1 sample 63: - time = 46226 + time = 5200000 flags = 1 - data = length 3, hash FFFED507 + data = length 0, hash 1 sample 64: - time = 46266 + time = 5250000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7AF sample 65: - time = 46330 + time = 5350000 flags = 1 - data = length 3, hash FFFED7AF + data = length 0, hash 1 sample 66: - time = 48442 + time = 5450000 flags = 1 - data = length 3, hash FFFED02F + data = length 0, hash 1 sample 67: - time = 48442 + time = 5500000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7D7 sample 68: - time = 48506 + time = 5600000 flags = 1 - data = length 3, hash FFFED79E + data = length 0, hash 1 sample 69: - time = 50616 + time = 5700000 flags = 1 - data = length 3, hash FFFED5A2 + data = length 0, hash 1 sample 70: - time = 50661 + time = 5750000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7AF sample 71: - time = 50725 + time = 5850000 flags = 1 - data = length 3, hash FFFED771 + data = length 0, hash 1 sample 72: - time = 52835 + time = 5950000 flags = 1 - data = length 3, hash FFFED02F + data = length 0, hash 1 sample 73: - time = 52835 + time = 6000000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED79E sample 74: - time = 52899 + time = 6100000 flags = 1 - data = length 3, hash FFFED7A3 + data = length 0, hash 1 sample 75: - time = 55009 + time = 6200000 flags = 1 - data = length 3, hash FFFED63D + data = length 0, hash 1 sample 76: - time = 55059 + time = 6250000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED771 sample 77: - time = 55123 + time = 6350000 flags = 1 - data = length 3, hash FFFED771 + data = length 0, hash 1 sample 78: - time = 57233 + time = 6450000 flags = 1 - data = length 3, hash FFFED02F + data = length 0, hash 1 sample 79: - time = 57233 + time = 6500000 flags = 1 - data = length 3, hash FFFED73F + data = length 3, hash FFFED7A3 sample 80: - time = 57297 + time = 6600000 flags = 1 - data = length 3, hash FFFED751 + data = length 0, hash 1 sample 81: - time = 59405 + time = 6700000 flags = 1 - data = length 3, hash FFFED313 + data = length 0, hash 1 sample 82: - time = 59435 + time = 6750000 flags = 1 - data = length 3, hash FFFE9AF1 + data = length 3, hash FFFED771 sample 83: - time = 59691 + time = 6850000 flags = 1 - data = length 3, hash FFFED733 + data = length 0, hash 1 sample 84: - time = 61799 + time = 6950000 flags = 1 - data = length 3, hash FFFECFEF + data = length 0, hash 1 sample 85: - time = 61799 + time = 7000000 + flags = 1 + data = length 3, hash FFFED751 + sample 86: + time = 7100000 + flags = 1 + data = length 0, hash 1 + sample 87: + time = 7200000 + flags = 1 + data = length 0, hash 1 + sample 88: + time = 7300000 + flags = 1 + data = length 0, hash 1 + sample 89: + time = 7400000 + flags = 1 + data = length 0, hash 1 + sample 90: + time = 7500000 flags = 1 - data = length 3, hash FFFECFEE + data = length 0, hash 1 + sample 91: + time = 7600000 + flags = 1 + data = length 0, hash 1 + sample 92: + time = 7700000 + flags = 1 + data = length 0, hash 1 + sample 93: + time = 7800000 + flags = 1 + data = length 0, hash 1 + sample 94: + time = 7900000 + flags = 1 + data = length 0, hash 1 + sample 95: + time = 8000000 + flags = 1 + data = length 3, hash FFFED733 tracksEnded = true From f2b4701e929408b51fd0c650ea4ff0ed9ce4a32d Mon Sep 17 00:00:00 2001 From: claincly Date: Fri, 1 Jul 2022 11:06:12 +0000 Subject: [PATCH 042/422] Round the frame rate in MediaFormat Although MediaCodec claims supporting float frame rate, encoder init failed on API21 Nexus 5. Since it's just a performance hint to the codec, it's OK to generalize it to other API versions. PiperOrigin-RevId: 458434650 (cherry picked from commit 1f47fa832c6228a5545d8a15c9c09fe76c17dfc5) --- .../androidx/media3/transformer/DefaultEncoderFactory.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index fda367d6f05..c3048f4368b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -23,6 +23,7 @@ import static androidx.media3.common.util.Util.SDK_INT; import static java.lang.Math.abs; import static java.lang.Math.floor; +import static java.lang.Math.round; import android.content.Context; import android.media.MediaCodecInfo; @@ -231,7 +232,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes String mimeType = checkNotNull(format.sampleMimeType); MediaFormat mediaFormat = MediaFormat.createVideoFormat(mimeType, format.width, format.height); - mediaFormat.setFloat(MediaFormat.KEY_FRAME_RATE, format.frameRate); + mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, round(format.frameRate)); mediaFormat.setInteger( MediaFormat.KEY_BIT_RATE, supportedVideoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE From e0752a3a7af29d7b6b655769add4e4bdffee16d6 Mon Sep 17 00:00:00 2001 From: claincly Date: Fri, 1 Jul 2022 14:58:47 +0000 Subject: [PATCH 043/422] Find only REGULAR_CODECS in EncoderUtil. We used "ALL_COOECS" previously, and it is not necessary because "ALL_CODECS" additionally the codecs that support tunneling/secure decoding, which there is no use case in Transformer. PiperOrigin-RevId: 458470278 (cherry picked from commit 3df4f3eb19aaa3486d2b3f8153be9167bd31027d) --- .../main/java/androidx/media3/transformer/EncoderUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java index a312d8e75a6..9b267f4e648 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java @@ -236,7 +236,7 @@ public static int findHighestSupportedEncodingLevel( */ @Nullable public static String findCodecForFormat(MediaFormat format, boolean isDecoder) { - MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.ALL_CODECS); + MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.REGULAR_CODECS); // Format must not include KEY_FRAME_RATE on API21. // https://developer.android.com/reference/android/media/MediaCodecList#findDecoderForFormat(android.media.MediaFormat) @Nullable String frameRate = null; @@ -352,7 +352,7 @@ private static ImmutableListMultimap populateEncoderInfo ImmutableListMultimap.Builder encoderInfosBuilder = new ImmutableListMultimap.Builder<>(); - MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.ALL_CODECS); + MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.REGULAR_CODECS); MediaCodecInfo[] allCodecInfos = mediaCodecList.getCodecInfos(); for (MediaCodecInfo mediaCodecInfo : allCodecInfos) { From 379ecd198f2aac76b3e382eeac44af033ff74f3e Mon Sep 17 00:00:00 2001 From: claincly Date: Fri, 1 Jul 2022 16:05:39 +0000 Subject: [PATCH 044/422] Fix error in frame rate handling. The old getString() will throw because FRAME_RATE can only be float or int. PiperOrigin-RevId: 458481251 (cherry picked from commit deea5c927a61da5a84c534b485ad8a249d10cbd6) --- .../java/androidx/media3/transformer/EncoderUtil.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java index 9b267f4e648..1123d398939 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java @@ -239,9 +239,14 @@ public static String findCodecForFormat(MediaFormat format, boolean isDecoder) { MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.REGULAR_CODECS); // Format must not include KEY_FRAME_RATE on API21. // https://developer.android.com/reference/android/media/MediaCodecList#findDecoderForFormat(android.media.MediaFormat) - @Nullable String frameRate = null; + float frameRate = Format.NO_VALUE; if (Util.SDK_INT == 21 && format.containsKey(MediaFormat.KEY_FRAME_RATE)) { - frameRate = format.getString(MediaFormat.KEY_FRAME_RATE); + try { + frameRate = format.getFloat(MediaFormat.KEY_FRAME_RATE); + } catch (ClassCastException e) { + frameRate = format.getInteger(MediaFormat.KEY_FRAME_RATE); + } + // Clears the frame rate field. format.setString(MediaFormat.KEY_FRAME_RATE, null); } @@ -251,7 +256,7 @@ public static String findCodecForFormat(MediaFormat format, boolean isDecoder) { : mediaCodecList.findEncoderForFormat(format); if (Util.SDK_INT == 21) { - MediaFormatUtil.maybeSetString(format, MediaFormat.KEY_FRAME_RATE, frameRate); + MediaFormatUtil.maybeSetInteger(format, MediaFormat.KEY_FRAME_RATE, round(frameRate)); } return mediaCodecName; } From 28cf112e01d3a3aaad10534c6a3ae4635131158d Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Fri, 1 Jul 2022 16:57:43 +0000 Subject: [PATCH 045/422] HDR: Configure GL shaders and encoder. Configure the GL shaders and encoder to take in HDR metadata. This mostly just consists of passing the Format.colorInfo through the VideoTranscodingSamplePipeline down to the encoder, rather than passing the PQ-ness down to the GL step. Due to b/237674316, this will remove HDR10+ support temporarily to introduce support for HLG10. Manually tested to confirm that HLG10 operations that don't affect color display correctly after this CL with "HDR editing" in the demo checked, and continue to display incorrectly (as before this CL) without the option unchecked. PiperOrigin-RevId: 458490810 (cherry picked from commit a0870a42be5336b313f79f596e94411563e14720) --- .../androidx/media3/common/util/GlUtil.java | 18 +++++-------- .../transformer/DefaultEncoderFactory.java | 2 ++ .../transformer/ExternalTextureProcessor.java | 15 ++++------- ...lMatrixTransformationProcessorWrapper.java | 27 ++++++++----------- .../transformer/GlEffectsFrameProcessor.java | 23 ++++++++-------- .../VideoTranscodingSamplePipeline.java | 13 ++++++++- 6 files changed, 48 insertions(+), 50 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index adbb780e7a7..1d623ef416a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -66,12 +66,8 @@ public GlException(String message) { // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_gl_colorspace.txt private static final int EGL_GL_COLORSPACE_KHR = 0x309D; - // https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_gl_colorspace_bt2020_linear.txt - private static final int EGL_GL_COLORSPACE_BT2020_PQ_EXT = 0x3340; private static final int[] EGL_WINDOW_SURFACE_ATTRIBUTES_NONE = new int[] {EGL14.EGL_NONE}; - private static final int[] EGL_WINDOW_SURFACE_ATTRIBUTES_BT2020_PQ = - new int[] {EGL_GL_COLORSPACE_KHR, EGL_GL_COLORSPACE_BT2020_PQ_EXT, EGL14.EGL_NONE}; private static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_8888 = new int[] { EGL14.EGL_RENDERABLE_TYPE, EGL14.EGL_OPENGL_ES2_BIT, @@ -213,19 +209,19 @@ public static EGLSurface getEglSurface(EGLDisplay eglDisplay, Object surface) th /** * Returns a new {@link EGLSurface} wrapping the specified {@code surface}, for HDR rendering with - * Rec. 2020 color primaries and using the PQ transfer function. + * Rec. 2020 color primaries. * * @param eglDisplay The {@link EGLDisplay} to attach the surface to. * @param surface The surface to wrap; must be a surface, surface texture or surface holder. */ @RequiresApi(17) - public static EGLSurface getEglSurfaceBt2020Pq(EGLDisplay eglDisplay, Object surface) + public static EGLSurface getEglSurfaceBt2020(EGLDisplay eglDisplay, Object surface) throws GlException { return Api17.getEglSurface( eglDisplay, surface, EGL_CONFIG_ATTRIBUTES_RGBA_1010102, - EGL_WINDOW_SURFACE_ATTRIBUTES_BT2020_PQ); + EGL_WINDOW_SURFACE_ATTRIBUTES_NONE); } /** @@ -277,22 +273,22 @@ public static void focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay /** * Creates and focuses a new {@link EGLSurface} wrapping a 1x1 pixel buffer, for HDR rendering - * with Rec. 2020 color primaries and using the PQ transfer function. + * with Rec. 2020 color primaries. * * @param eglContext The {@link EGLContext} to make current. * @param eglDisplay The {@link EGLDisplay} to attach the surface to. */ @RequiresApi(17) - public static void focusPlaceholderEglSurfaceBt2020Pq( - EGLContext eglContext, EGLDisplay eglDisplay) throws GlException { + public static void focusPlaceholderEglSurfaceBt2020(EGLContext eglContext, EGLDisplay eglDisplay) + throws GlException { int[] pbufferAttributes = new int[] { EGL14.EGL_WIDTH, /* width= */ 1, EGL14.EGL_HEIGHT, /* height= */ 1, + // TODO(b/227624622): Figure out if we can remove the EGL_GL_COLORSPACE_KHR item. EGL_GL_COLORSPACE_KHR, - EGL_GL_COLORSPACE_BT2020_PQ_EXT, EGL14.EGL_NONE }; EGLSurface eglSurface = diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index c3048f4368b..df4bcb1393f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -34,6 +34,7 @@ import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Log; +import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; @@ -254,6 +255,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes adjustMediaFormatForH264EncoderSettings(mediaFormat, encoderInfo); } + MediaFormatUtil.maybeSetColorInfo(mediaFormat, format.colorInfo); mediaFormat.setInteger( MediaFormat.KEY_COLOR_FORMAT, supportedVideoEncoderSettings.colorProfile); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java index 693f5533bcb..a2f96ef63fc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java @@ -49,19 +49,14 @@ /** * Creates a new instance. * - * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. + * @param useHdr Whether to process the input as an HDR signal. * @throws FrameProcessingException If a problem occurs while reading shader files. */ - public ExternalTextureProcessor(Context context, boolean enableExperimentalHdrEditing) - throws FrameProcessingException { + public ExternalTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { String vertexShaderFilePath = - enableExperimentalHdrEditing - ? VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH - : VERTEX_SHADER_TEX_TRANSFORM_PATH; + useHdr ? VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH : VERTEX_SHADER_TEX_TRANSFORM_PATH; String fragmentShaderFilePath = - enableExperimentalHdrEditing - ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH - : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; try { glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); } catch (IOException | GlUtil.GlException e) { @@ -72,7 +67,7 @@ public ExternalTextureProcessor(Context context, boolean enableExperimentalHdrEd "aFramePosition", GlUtil.getNormalizedCoordinateBounds(), GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - if (enableExperimentalHdrEditing) { + if (useHdr) { // In HDR editing mode the decoder output is sampled in YUV. glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 44b890d9038..1be2c7ea985 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -61,7 +61,7 @@ private final long streamOffsetUs; private final DebugViewProvider debugViewProvider; private final FrameProcessor.Listener frameProcessorListener; - private final boolean enableExperimentalHdrEditing; + private final boolean useHdr; private int inputWidth; private int inputHeight; @@ -86,7 +86,7 @@ public FinalMatrixTransformationProcessorWrapper( long streamOffsetUs, FrameProcessor.Listener frameProcessorListener, DebugViewProvider debugViewProvider, - boolean enableExperimentalHdrEditing) { + boolean useHdr) { this.context = context; this.matrixTransformations = matrixTransformations; this.eglDisplay = eglDisplay; @@ -94,7 +94,7 @@ public FinalMatrixTransformationProcessorWrapper( this.streamOffsetUs = streamOffsetUs; this.debugViewProvider = debugViewProvider; this.frameProcessorListener = frameProcessorListener; - this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; + this.useHdr = useHdr; } /** @@ -194,9 +194,8 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; @Nullable EGLSurface outputEglSurface = this.outputEglSurface; if (outputEglSurface == null) { // This means that outputSurfaceInfo changed. - if (enableExperimentalHdrEditing) { - // TODO(b/227624622): Don't assume BT.2020 PQ input/output. - outputEglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, outputSurfaceInfo.surface); + if (useHdr) { + outputEglSurface = GlUtil.getEglSurfaceBt2020(eglDisplay, outputSurfaceInfo.surface); } else { outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); } @@ -207,8 +206,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) outputSurfaceInfo.width, outputSurfaceInfo.height); if (debugSurfaceView != null) { debugSurfaceViewWrapper = - new SurfaceViewWrapper( - eglDisplay, eglContext, enableExperimentalHdrEditing, debugSurfaceView); + new SurfaceViewWrapper(eglDisplay, eglContext, useHdr, debugSurfaceView); } if (matrixTransformationProcessor != null) { matrixTransformationProcessor.release(); @@ -281,7 +279,7 @@ public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfac private static final class SurfaceViewWrapper implements SurfaceHolder.Callback { private final EGLDisplay eglDisplay; private final EGLContext eglContext; - private final boolean enableExperimentalHdrEditing; + private final boolean useHdr; @GuardedBy("this") @Nullable @@ -295,13 +293,10 @@ private static final class SurfaceViewWrapper implements SurfaceHolder.Callback private int height; public SurfaceViewWrapper( - EGLDisplay eglDisplay, - EGLContext eglContext, - boolean enableExperimentalHdrEditing, - SurfaceView surfaceView) { + EGLDisplay eglDisplay, EGLContext eglContext, boolean useHdr, SurfaceView surfaceView) { this.eglDisplay = eglDisplay; this.eglContext = eglContext; - this.enableExperimentalHdrEditing = enableExperimentalHdrEditing; + this.useHdr = useHdr; surfaceView.getHolder().addCallback(this); surface = surfaceView.getHolder().getSurface(); width = surfaceView.getWidth(); @@ -321,8 +316,8 @@ public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingT } if (eglSurface == null) { - if (enableExperimentalHdrEditing) { - eglSurface = GlUtil.getEglSurfaceBt2020Pq(eglDisplay, surface); + if (useHdr) { + eglSurface = GlUtil.getEglSurfaceBt2020(eglDisplay, surface); } else { eglSurface = GlUtil.getEglSurface(eglDisplay, surface); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index ce418d82810..d01d690c6ec 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -53,7 +53,7 @@ * @param listener A {@link Listener}. * @param effects The {@link GlEffect GlEffects} to apply to each frame. * @param debugViewProvider A {@link DebugViewProvider}. - * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. + * @param useHdr Whether to process the input as an HDR signal. * @return A new instance. * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while * creating and configuring the OpenGL components. @@ -64,7 +64,7 @@ public static GlEffectsFrameProcessor create( long streamOffsetUs, List effects, DebugViewProvider debugViewProvider, - boolean enableExperimentalHdrEditing) + boolean useHdr) throws FrameProcessingException { ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); @@ -78,7 +78,7 @@ public static GlEffectsFrameProcessor create( streamOffsetUs, effects, debugViewProvider, - enableExperimentalHdrEditing, + useHdr, singleThreadExecutorService)); try { @@ -106,23 +106,22 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( long streamOffsetUs, List effects, DebugViewProvider debugViewProvider, - boolean enableExperimentalHdrEditing, + boolean useHdr, ExecutorService singleThreadExecutorService) throws GlUtil.GlException, FrameProcessingException { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); EGLDisplay eglDisplay = GlUtil.createEglDisplay(); EGLContext eglContext = - enableExperimentalHdrEditing + useHdr ? GlUtil.createEglContextEs3Rgba1010102(eglDisplay) : GlUtil.createEglContext(eglDisplay); if (GlUtil.isSurfacelessContextExtensionSupported()) { GlUtil.focusEglSurface( eglDisplay, eglContext, EGL14.EGL_NO_SURFACE, /* width= */ 1, /* height= */ 1); - } else if (enableExperimentalHdrEditing) { - // TODO(b/227624622): Don't assume BT.2020 PQ input/output. - GlUtil.focusPlaceholderEglSurfaceBt2020Pq(eglContext, eglDisplay); + } else if (useHdr) { + GlUtil.focusPlaceholderEglSurfaceBt2020(eglContext, eglDisplay); } else { GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); } @@ -137,13 +136,13 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( streamOffsetUs, listener, debugViewProvider, - enableExperimentalHdrEditing); + useHdr); ImmutableList intermediateTextureProcessors = textureProcessors.first; FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper = textureProcessors.second; ExternalTextureProcessor externalTextureProcessor = - new ExternalTextureProcessor(context, enableExperimentalHdrEditing); + new ExternalTextureProcessor(context, useHdr); FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); chainTextureProcessorsWithListeners( @@ -182,7 +181,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( long streamOffsetUs, FrameProcessor.Listener listener, DebugViewProvider debugViewProvider, - boolean enableExperimentalHdrEditing) + boolean useHdr) throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = new ImmutableList.Builder<>(); @@ -213,7 +212,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( streamOffsetUs, listener, debugViewProvider, - enableExperimentalHdrEditing)); + useHdr)); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 2bd33116565..5e1b6ddd125 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -24,6 +24,7 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; @@ -97,6 +98,10 @@ public VideoTranscodingSamplePipeline( transformationRequest, fallbackListener); + // TODO(b/237674316): While HLG10 is correctly reported, HDR10 currently will be incorrectly + // processed as SDR, because the inputFormat.colorInfo reports the wrong value. + boolean useHdr = transformationRequest.enableHdrEditing && isHdr(inputFormat.colorInfo); + try { frameProcessor = GlEffectsFrameProcessor.create( @@ -131,7 +136,7 @@ public void onFrameProcessingEnded() { streamOffsetUs, effectsListBuilder.build(), debugViewProvider, - transformationRequest.enableHdrEditing); + useHdr); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_GL_INIT_FAILED); @@ -147,6 +152,11 @@ public void onFrameProcessingEnded() { maxPendingFrameCount = decoder.getMaxPendingFrameCount(); } + /** Whether this is a supported HDR format. */ + private static boolean isHdr(@Nullable ColorInfo colorInfo) { + return colorInfo != null && colorInfo.colorTransfer != C.COLOR_TRANSFER_SDR; + } + @Override @Nullable public DecoderInputBuffer dequeueInputBuffer() throws TransformationException { @@ -352,6 +362,7 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) transformationRequest.videoMimeType != null ? transformationRequest.videoMimeType : inputFormat.sampleMimeType) + .setColorInfo(inputFormat.colorInfo) .build(); encoder = From 3bdecf2ac90ef03f6274dabb39cbaa86ba20fb32 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 1 Jul 2022 18:34:02 +0000 Subject: [PATCH 046/422] Fallback to SDR if encoder doesn't support HDR (HLG only). If the input is HDR (HLG), check encoder capabilities for HDR support and request tone-mapping to SDR during decoder configuration otherwise. Capabilities are only checked for API 31 and above, as HDR editing is not supported before. As the encoder capabilities check needs to happen before selecting the encoder to use (as this may depend on the resolution output by the effects chain), the EncoderWrapper checks all candidate encoders for the MIME type for HDR capabilities and only requests fallback to SDR if none of them support it. When the actual encoder is selected, the wrapper checks that it matches one of the encoders is checked capabilities for. PiperOrigin-RevId: 458511599 (cherry picked from commit 9c8dcb402b45620174ae6be2d943ff8f32e4da14) --- .../androidx/media3/common/ColorInfo.java | 7 ++ .../media3/transformer/FallbackListener.java | 9 ++ .../VideoTranscodingSamplePipeline.java | 97 ++++++++++++++++--- 3 files changed, 102 insertions(+), 11 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index 829262bb88b..6477706932d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -31,6 +31,13 @@ /** Stores color info. */ @UnstableApi public final class ColorInfo implements Bundleable { + /** Standard Dynamic Range (SDR). */ + public static final ColorInfo SDR = + new ColorInfo( + C.COLOR_SPACE_BT709, + C.COLOR_RANGE_LIMITED, + C.COLOR_TRANSFER_SDR, + /* hdrStaticInfo= */ null); /** * Returns the {@link C.ColorSpace} corresponding to the given ISO color primary code, as per diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java index 4bcf1c30b66..b3271472d97 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java @@ -91,6 +91,15 @@ public void onTransformationRequestFinalized(TransformationRequest transformatio if (transformationRequest.outputHeight != originalTransformationRequest.outputHeight) { fallbackRequestBuilder.setResolution(transformationRequest.outputHeight); } + if (transformationRequest.enableHdrEditing != originalTransformationRequest.enableHdrEditing) { + fallbackRequestBuilder.experimental_setEnableHdrEditing( + transformationRequest.enableHdrEditing); + } + if (transformationRequest.enableRequestSdrToneMapping + != originalTransformationRequest.enableRequestSdrToneMapping) { + fallbackRequestBuilder.setEnableRequestSdrToneMapping( + transformationRequest.enableRequestSdrToneMapping); + } fallbackTransformationRequest = fallbackRequestBuilder.build(); if (trackCount == 0 && !originalTransformationRequest.equals(fallbackTransformationRequest)) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 5e1b6ddd125..ad943b297cb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -17,20 +17,25 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; import android.media.MediaCodec; +import android.media.MediaCodecInfo; import android.view.Surface; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import com.google.common.collect.ImmutableList; import java.nio.ByteBuffer; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.dataflow.qual.Pure; @@ -39,6 +44,8 @@ * Pipeline to decode video samples, apply transformations on the raw samples, and re-encode them. */ /* package */ final class VideoTranscodingSamplePipeline implements SamplePipeline { + private static final String TAG = "VideoTranscodingSP"; + private final int maxPendingFrameCount; private final DecoderInputBuffer decoderInputBuffer; @@ -98,9 +105,17 @@ public VideoTranscodingSamplePipeline( transformationRequest, fallbackListener); + boolean enableRequestSdrToneMapping = transformationRequest.enableRequestSdrToneMapping; // TODO(b/237674316): While HLG10 is correctly reported, HDR10 currently will be incorrectly - // processed as SDR, because the inputFormat.colorInfo reports the wrong value. + // processed as SDR, because the inputFormat.colorInfo reports the wrong value. boolean useHdr = transformationRequest.enableHdrEditing && isHdr(inputFormat.colorInfo); + if (useHdr && !encoderWrapper.supportsHdr()) { + // TODO(b/236316454): Also check whether GlEffectsFrameProcessor supports HDR, i.e., whether + // EXT_YUV_target is supported. + useHdr = false; + enableRequestSdrToneMapping = true; + encoderWrapper.signalFallbackToSdr(); + } try { frameProcessor = @@ -146,9 +161,9 @@ public void onFrameProcessingEnded() { decoder = decoderFactory.createForVideoDecoding( - inputFormat, - frameProcessor.getInputSurface(), - transformationRequest.enableRequestSdrToneMapping); + inputFormat, frameProcessor.getInputSurface(), enableRequestSdrToneMapping); + // TODO(b/236316454): Check in the decoder output format whether tone-mapping was actually + // applied and throw an exception if not. maxPendingFrameCount = decoder.getMaxPendingFrameCount(); } @@ -232,23 +247,33 @@ public void release() { * processing, with {@link Format#rotationDegrees} of 90 added to the output format. * @param requestedFormat The requested format. * @param supportedFormat A format supported by the device. + * @param fallbackToSdr Whether HDR editing was requested via the TransformationRequest or + * inferred from the input and tone-mapping to SDR was used instead due to lack of encoder + * capabilities. */ @Pure private static TransformationRequest createFallbackTransformationRequest( TransformationRequest transformationRequest, boolean hasOutputFormatRotation, Format requestedFormat, - Format supportedFormat) { + Format supportedFormat, + boolean fallbackToSdr) { // TODO(b/210591626): Also update bitrate etc. once encoder configuration and fallback are - // implemented. - if (Util.areEqual(requestedFormat.sampleMimeType, supportedFormat.sampleMimeType) + // implemented. + if (!fallbackToSdr + && Util.areEqual(requestedFormat.sampleMimeType, supportedFormat.sampleMimeType) && (hasOutputFormatRotation ? requestedFormat.width == supportedFormat.width : requestedFormat.height == supportedFormat.height)) { return transformationRequest; } - return transformationRequest - .buildUpon() + TransformationRequest.Builder transformationRequestBuilder = transformationRequest.buildUpon(); + if (fallbackToSdr) { + transformationRequestBuilder + .setEnableRequestSdrToneMapping(true) + .experimental_setEnableHdrEditing(false); + } + return transformationRequestBuilder .setVideoMimeType(supportedFormat.sampleMimeType) .setResolution(hasOutputFormatRotation ? requestedFormat.width : requestedFormat.height) .build(); @@ -309,12 +334,14 @@ private boolean isDecodeOnlyBuffer(long presentationTimeUs) { private final List allowedOutputMimeTypes; private final TransformationRequest transformationRequest; private final FallbackListener fallbackListener; + private final HashSet hdrMediaCodecNames; private @MonotonicNonNull SurfaceInfo encoderSurfaceInfo; private volatile @MonotonicNonNull Codec encoder; private volatile int outputRotationDegrees; private volatile boolean releaseEncoder; + private boolean fallbackToSdr; public EncoderWrapper( Codec.EncoderFactory encoderFactory, @@ -328,6 +355,8 @@ public EncoderWrapper( this.allowedOutputMimeTypes = allowedOutputMimeTypes; this.transformationRequest = transformationRequest; this.fallbackListener = fallbackListener; + + hdrMediaCodecNames = new HashSet<>(); } @Nullable @@ -362,18 +391,27 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) transformationRequest.videoMimeType != null ? transformationRequest.videoMimeType : inputFormat.sampleMimeType) - .setColorInfo(inputFormat.colorInfo) + .setColorInfo(fallbackToSdr ? ColorInfo.SDR : inputFormat.colorInfo) .build(); encoder = encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); + if (!hdrMediaCodecNames.isEmpty() && !hdrMediaCodecNames.contains(encoder.getName())) { + Log.d( + TAG, + "Selected encoder " + + encoder.getName() + + " does not report sufficient HDR capabilities"); + } + Format encoderSupportedFormat = encoder.getConfigurationFormat(); fallbackListener.onTransformationRequestFinalized( createFallbackTransformationRequest( transformationRequest, /* hasOutputFormatRotation= */ flipOrientation, requestedEncoderFormat, - encoderSupportedFormat)); + encoderSupportedFormat, + fallbackToSdr)); encoderSurfaceInfo = new SurfaceInfo( @@ -432,5 +470,42 @@ public void release() { } releaseEncoder = true; } + + /** + * Checks whether at least one MediaCodec encoder on the device has sufficient capabilities to + * encode HDR (only checks support for HLG at this time). + */ + public boolean supportsHdr() { + if (Util.SDK_INT < 31) { + return false; + } + + // The only output MIME type that Transformer currently supports that can be used with HDR + // is H265/HEVC. So we assume that the EncoderFactory will pick this if HDR is requested. + String mimeType = MimeTypes.VIDEO_H265; + + List mediaCodecInfos = EncoderSelector.DEFAULT.selectEncoderInfos(mimeType); + for (int i = 0; i < mediaCodecInfos.size(); i++) { + MediaCodecInfo mediaCodecInfo = mediaCodecInfos.get(i); + if (EncoderUtil.isFeatureSupported( + mediaCodecInfo, mimeType, MediaCodecInfo.CodecCapabilities.FEATURE_HdrEditing)) { + for (MediaCodecInfo.CodecProfileLevel capabilities : + mediaCodecInfo.getCapabilitiesForType(MimeTypes.VIDEO_H265).profileLevels) { + // TODO(b/227624622): What profile to check depends on the HDR format. Once other + // formats besides HLG are supported, check the corresponding profiles here. + if (capabilities.profile == MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10) { + return hdrMediaCodecNames.add(mediaCodecInfo.getCanonicalName()); + } + } + } + } + return !hdrMediaCodecNames.isEmpty(); + } + + public void signalFallbackToSdr() { + checkState(encoder == null, "Fallback to SDR is only allowed before encoder initialization"); + fallbackToSdr = true; + hdrMediaCodecNames.clear(); + } } } From ebf1ae49b73fb7ab0e89bf6fe1e18d10a8942116 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 4 Jul 2022 17:32:27 +0000 Subject: [PATCH 047/422] Implement device based encoder bitrate mapping. This feature is disabled by default for now. PiperOrigin-RevId: 458932471 (cherry picked from commit 7d2eb7601947570245dcd2ff86b7dcf1c8393d40) --- .../transformer/DefaultEncoderFactory.java | 70 +- .../DeviceMappedEncoderBitrateProvider.java | 1835 +++++++++++++++++ .../transformer/EncoderBitrateProvider.java | 36 + 3 files changed, 1930 insertions(+), 11 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index df4bcb1393f..d6ba06c05c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -56,6 +56,7 @@ public static final class Builder { @Nullable private EncoderSelector encoderSelector; @Nullable private VideoEncoderSettings requestedVideoEncoderSettings; private boolean enableFallback; + private boolean automaticQualityAdjustment; /** Creates a new {@link Builder}. */ public Builder(Context context) { @@ -76,10 +77,18 @@ public Builder setVideoEncoderSelector(EncoderSelector encoderSelector) { /** * Sets the requested {@link VideoEncoderSettings}. * - *

Values in {@code requestedVideoEncoderSettings} could be adjusted to improve encoding - * quality and/or reduce failures. Specifically, {@link VideoEncoderSettings#profile} and {@link - * VideoEncoderSettings#level} are ignored for {@link MimeTypes#VIDEO_H264}. Consider - * implementing {@link Codec.EncoderFactory} if such adjustments are unwanted. + *

Values in {@code requestedVideoEncoderSettings} may be ignored to improve encoding quality + * and/or reduce failures. + * + *

+ * + *

Consider implementing {@link Codec.EncoderFactory} if such adjustments are unwanted. * *

{@code requestedVideoEncoderSettings} should be handled with care because there is no * fallback support for it. For example, using incompatible {@link VideoEncoderSettings#profile} @@ -110,8 +119,19 @@ public Builder setEnableFallback(boolean enableFallback) { return this; } + /** + * Sets whether to use automatic quality adjustment. + * + *

With this enabled, encoders are configured to output high quality video. + * + *

Default value is {@code false}. + */ + public Builder setAutomaticQualityAdjustment(boolean automaticQualityAdjustment) { + this.automaticQualityAdjustment = automaticQualityAdjustment; + return this; + } + /** Creates an instance of {@link DefaultEncoderFactory}, using defaults if values are unset. */ - @SuppressWarnings("deprecation") public DefaultEncoderFactory build() { if (encoderSelector == null) { encoderSelector = EncoderSelector.DEFAULT; @@ -120,7 +140,11 @@ public DefaultEncoderFactory build() { requestedVideoEncoderSettings = VideoEncoderSettings.DEFAULT; } return new DefaultEncoderFactory( - context, encoderSelector, requestedVideoEncoderSettings, enableFallback); + context, + encoderSelector, + requestedVideoEncoderSettings, + enableFallback, + automaticQualityAdjustment); } } @@ -128,6 +152,7 @@ public DefaultEncoderFactory build() { private final EncoderSelector videoEncoderSelector; private final VideoEncoderSettings requestedVideoEncoderSettings; private final boolean enableFallback; + private final boolean automaticQualityAdjustment; /** * @deprecated Use {@link Builder} instead. @@ -157,10 +182,25 @@ public DefaultEncoderFactory( EncoderSelector videoEncoderSelector, VideoEncoderSettings requestedVideoEncoderSettings, boolean enableFallback) { + this( + context, + videoEncoderSelector, + requestedVideoEncoderSettings, + enableFallback, + /* automaticQualityAdjustment= */ false); + } + + private DefaultEncoderFactory( + Context context, + EncoderSelector videoEncoderSelector, + VideoEncoderSettings requestedVideoEncoderSettings, + boolean enableFallback, + boolean automaticQualityAdjustment) { this.context = context; this.videoEncoderSelector = videoEncoderSelector; this.requestedVideoEncoderSettings = requestedVideoEncoderSettings; this.enableFallback = enableFallback; + this.automaticQualityAdjustment = automaticQualityAdjustment; } @Override @@ -234,12 +274,20 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes String mimeType = checkNotNull(format.sampleMimeType); MediaFormat mediaFormat = MediaFormat.createVideoFormat(mimeType, format.width, format.height); mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, round(format.frameRate)); - mediaFormat.setInteger( - MediaFormat.KEY_BIT_RATE, - supportedVideoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE - ? supportedVideoEncoderSettings.bitrate - : getSuggestedBitrate(format.width, format.height, format.frameRate)); + int bitrate; + if (automaticQualityAdjustment) { + bitrate = + new DeviceMappedEncoderBitrateProvider() + .getBitrate( + encoderInfo.getName(), format.width, format.height, round(format.frameRate)); + } else if (supportedVideoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE) { + bitrate = supportedVideoEncoderSettings.bitrate; + } else { + bitrate = getSuggestedBitrate(format.width, format.height, format.frameRate); + } + + mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); mediaFormat.setInteger(MediaFormat.KEY_BITRATE_MODE, supportedVideoEncoderSettings.bitrateMode); if (supportedVideoEncoderSettings.profile != VideoEncoderSettings.NO_VALUE diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java new file mode 100644 index 00000000000..d40aa86e635 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java @@ -0,0 +1,1835 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import android.os.Build; +import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; + +/** Provides encoder bitrates that should target 0.95 SSIM or higher, accounting for device used. */ +@UnstableApi +public class DeviceMappedEncoderBitrateProvider implements EncoderBitrateProvider { + + @Override + public int getBitrate(String encoderName, int width, int height, int frameRate) { + double bitrateMultiplier = + getBitrateMultiplierFromMapping( + encoderName, Util.SDK_INT, Build.MODEL, "" + width + "x" + height, frameRate); + return (int) (width * height * frameRate * bitrateMultiplier); + } + + private static double getBitrateMultiplierFromMapping( + String encoderName, + int deviceSdkVersion, + String deviceModel, + String resolution, + int framerate) { + switch (encoderName) { + case "OMX.Exynos.AVC.Encoder": + switch (deviceSdkVersion) { + case 24: + switch (deviceModel) { + case "SM-G920V": + return 0.245; + case "SM-G935F": + return 0.2625; + case "SM-G570M": + case "SM-J710MN": + default: + return 0.37188; + } + case 26: + switch (deviceModel) { + case "SM-A520F": + case "SM-J600G": + return 0.3325; + case "SM-G930F": + return 0.20125; + case "SM-G935F": + switch (resolution) { + case "1920x1080": + return 0.1225; + case "1280x720": + default: + return 0.315; + } + case "SM-G950F": + return 0.2975; + case "SM-G955F": + switch (resolution) { + case "640x480": + return 0.245; + case "1920x1080": + switch (framerate) { + case 60: + return 0.14; + case 30: + default: + return 0.175; + } + case "3840x2160": + return 0.0914; + case "1280x720": + default: + return 0.2975; + } + case "SM-G960F": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.1575; + case 60: + default: + return 0.175; + } + case "1280x720": + default: + return 0.35; + } + case "SM-A750GN": + default: + return 0.35; + } + case 27: + switch (deviceModel) { + case "SM-G610F": + case "SM-J260F": + return 0.3325; + case "SM-J260G": + switch (resolution) { + case "640x480": + return 0.41563; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.4375; + } + case "1280x720": + default: + return 0.525; + } + case "SM-M205F": + switch (resolution) { + case "640x480": + return 0.41563; + case "1920x1080": + switch (framerate) { + case 60: + return 0.28; + case 30: + default: + return 0.315; + } + case "1280x720": + default: + return 0.56875; + } + default: + return 0.56875; + } + case 28: + switch (deviceModel) { + case "SM-A105FN": + switch (resolution) { + case "640x480": + return 0.41563; + case "1920x1080": + return 0.35; + case "1280x720": + default: + return 0.7; + } + case "SM-G950F": + switch (resolution) { + case "1280x720": + return 0.1925; + case "1920x1080": + switch (framerate) { + case 60: + return 0.175; + case 30: + default: + return 0.21; + } + case "640x480": + default: + return 0.245; + } + case "SM-G955F": + return 0.1925; + case "SM-G965F": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + return 0.11375; + case "1280x720": + default: + return 0.39375; + } + case "SM-G965N": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + return 0.175; + case "3840x2160": + return 0.08269; + case "1280x720": + default: + return 0.39375; + } + case "SM-J701F": + return 0.3325; + case "SM-N960F": + case "SM-N960N": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 60: + return 0.175; + case 30: + default: + return 0.1925; + } + case "1280x720": + default: + return 0.39375; + } + default: + return 0.7; + } + case 29: + switch (deviceModel) { + case "SM-A105FN": + switch (resolution) { + case "640x480": + return 0.4375; + case "1280x720": + return 0.7; + case "1920x1080": + switch (framerate) { + case 30: + return 1.05; + case 60: + default: + return 1.4; + } + default: + return 1.4; + } + case "SM-G977N": + switch (resolution) { + case "1280x720": + return 0.4375; + case "1920x1080": + default: + return 0.7; + } + case "SM-N970F": + return 0.245; + default: + return 1.4; + } + case 30: + switch (deviceModel) { + case "SM-A127F": + case "SM-A217F": + return 0.35; + case "SM-A505F": + case "SM-A515F": + case "SM-A515U1": + case "SM-M315F": + return 0.1925; + case "SM-A102U1": + case "SM-A105F": + case "SM-A202F": + case "SM-A205F": + case "SM-A307GN": + case "SM-A405FN": + default: + return 0.37188; + } + case 31: + return 0.245; + default: + return 1.4; + } + case "OMX.Exynos.HEVC.Encoder": + switch (deviceSdkVersion) { + case 28: + switch (deviceModel) { + case "SM-G965N": + return 0.0525; + case "SM-G950F": + default: + return 0.07; + } + case 26: + default: + return 0.07; + } + case "OMX.IMG.TOPAZ.VIDEO.Encoder": + switch (deviceModel) { + case "ANE-LX1": + case "ANE-LX2": + switch (resolution) { + case "1280x720": + return 0.245; + case "1920x1080": + switch (framerate) { + case 60: + return 0.1925; + case 30: + default: + return 0.2625; + } + case "3840x2160": + return 0.23208; + case "640x480": + default: + return 0.28; + } + case "FIG-LX1": + return 0.245; + default: + return 0.28; + } + case "OMX.MTK.VIDEO.ENCODER.AVC": + switch (deviceSdkVersion) { + case 22: + return 0.245; + case 23: + switch (deviceModel) { + case "LG-K430": + return 0.28; + case "Redmi Note 4": + return 0.35; + case "SM-G532F": + return 0.39375; + case "SM-G532G": + switch (resolution) { + case "1280x720": + return 0.39375; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.525; + } + default: + return 0.525; + } + default: + return 0.525; + } + case 24: + switch (deviceModel) { + case "Moto C": + return 0.2625; + case "LG-M250": + default: + return 0.28; + } + case 27: + switch (deviceModel) { + case "CPH1920": + return 0.2625; + case "Infinix X650": + switch (resolution) { + case "640x480": + return 0.28; + case "1280x720": + default: + return 0.4375; + } + case "Nokia 1": + switch (resolution) { + case "1280x720": + return 0.21; + case "640x480": + default: + return 0.2975; + } + case "Redmi 6A": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 60: + return 0.14875; + case 30: + default: + return 0.175; + } + case "640x480": + default: + return 0.315; + } + default: + return 0.4375; + } + case 28: + switch (deviceModel) { + case "CPH2015": + case "CPH2083": + case "RMX1941": + case "Redmi 6A": + default: + return 0.2625; + } + case 29: + switch (deviceModel) { + case "CPH2179": + case "Infinix X688B": + case "LM-K500": + case "LM-Q730": + case "M2006C3LG": + case "SM-A013M": + case "SM-A215U1": + case "TECNO KE5": + return 0.28; + case "k61v1_basic_ref": + switch (resolution) { + case "640x480": + return 0.35; + case "1280x720": + return 0.525; + case "1920x1080": + default: + return 0.7; + } + default: + return 0.7; + } + case 30: + switch (deviceModel) { + case "M1908C3JGG": + case "SM-A325F": + return 0.2625; + case "SM-A037U": + case "SM-A107F": + case "SM-A107M": + case "SM-A125F": + case "W-K610-TVM": + case "vivo 1904": + return 0.28; + case "wembley_2GB_full": + switch (resolution) { + case "640x480": + return 0.35; + case "1280x720": + return 0.525; + case "1920x1080": + default: + return 0.7; + } + default: + return 0.7; + } + default: + return 0.7; + } + case "OMX.hisi.video.encoder.avc": + switch (deviceSdkVersion) { + case 24: + switch (resolution) { + case "640x480": + return 0.525; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.245; + } + case "1280x720": + default: + return 0.56875; + } + case 27: + switch (deviceModel) { + case "CLT-L29": + case "EML-AL00": + return 0.1925; + case "COR-L29": + switch (resolution) { + case "1280x720": + return 0.1925; + case "1920x1080": + switch (framerate) { + case 60: + return 0.13125; + case 30: + default: + return 0.14; + } + case "640x480": + default: + return 0.245; + } + default: + return 0.245; + } + case 28: + switch (deviceModel) { + case "HMA-L29": + return 0.175; + case "COL-L29": + default: + return 0.21; + } + default: + return 0.56875; + } + case "OMX.qcom.video.encoder.avc": + switch (deviceSdkVersion) { + case 23: + switch (deviceModel) { + case "LG-AS110": + switch (resolution) { + case "1280x720": + return 0.39375; + case "1920x1080": + return 0.35; + case "640x480": + default: + return 0.48125; + } + case "Moto G (4)": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 60: + return 0.3325; + case 30: + default: + return 0.35; + } + case "1280x720": + default: + return 0.4375; + } + case "Moto G Play": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 60: + return 0.3325; + case 30: + default: + return 0.35; + } + case "1280x720": + default: + return 0.37188; + } + case "MotoG3": + return 0.37188; + case "Nexus 5": + switch (resolution) { + case "640x480": + return 0.3325; + case "1920x1080": + switch (framerate) { + case 60: + return 0.28; + case 30: + default: + return 0.35; + } + case "1280x720": + default: + return 0.48125; + } + case "Nexus 6P": + switch (resolution) { + case "640x480": + return 0.3325; + case "1920x1080": + switch (framerate) { + case 30: + return 0.35; + case 60: + default: + return 0.39375; + } + case "1280x720": + default: + return 0.6125; + } + case "SM-G900F": + return 0.35; + case "vivo 1610": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 60: + return 0.315; + case 30: + default: + return 0.4375; + } + case "1280x720": + default: + return 0.54688; + } + default: + return 0.6125; + } + case 24: + switch (deviceModel) { + case "Moto G (5)": + return 0.39375; + case "Nexus 6P": + switch (resolution) { + case "640x480": + return 0.3325; + case "1920x1080": + switch (framerate) { + case 30: + return 0.35; + case 60: + default: + return 0.39375; + } + case "3840x2160": + return 0.20891; + default: + return 0.39375; + } + case "SM-G935V": + return 0.3325; + case "XT1650": + switch (framerate) { + case 60: + return 0.39375; + case 30: + default: + return 0.48125; + } + default: + return 0.48125; + } + case 25: + switch (deviceModel) { + case "CPH1801": + case "ONEPLUS A5000": + case "Redmi 5 Plus": + case "SM-J510FN": + return 0.35; + case "G8142": + case "Pixel": + case "Pixel XL": + switch (resolution) { + case "1280x720": + return 0.39375; + case "1920x1080": + switch (framerate) { + case 30: + return 0.48125; + case 60: + default: + return 0.525; + } + default: + return 0.525; + } + case "LM-X210(G)": + case "Redmi 4A": + case "Redmi 4X": + case "Redmi 5A": + return 0.39375; + case "PH-1": + switch (framerate) { + case 60: + return 0.39375; + case 30: + default: + return 0.48125; + } + default: + return 0.525; + } + case 26: + switch (deviceModel) { + case "F8331": + switch (resolution) { + case "640x480": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + case "3840x2160": + return 0.08704; + default: + return 0.245; + } + case "F8332": + case "Pixel": + case "SM-G935T": + case "SO-01J": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.28; + } + case "1280x720": + default: + return 0.28; + } + case "G8342": + case "MI 5s": + case "SAMSUNG-SM-G930A": + switch (resolution) { + case "640x480": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + default: + return 0.245; + } + case "G8441": + case "Pixel 2": + switch (resolution) { + case "640x480": + return 0.2275; + case "1280x720": + case "1920x1080": + default: + return 0.28; + } + case "H8314": + case "LG-H932": + switch (resolution) { + case "1920x1080": + return 0.21; + case "640x480": + default: + return 0.2275; + } + case "H8324": + switch (framerate) { + case 30: + return 0.18375; + case 60: + default: + return 0.21; + } + case "HTC 10": + case "SM-G930V": + case "SM-G955W": + case "moto g(6)": + return 0.2275; + case "HTC U11 plus": + switch (resolution) { + case "640x480": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.28; + } + case "1280x720": + default: + return 0.28; + } + case "MI 5s Plus": + switch (resolution) { + case "640x480": + case "1280x720": + default: + return 0.2275; + } + case "Mi MIX 2": + case "ONEPLUS A3003": + case "SAMSUNG-SM-G930AZ": + case "SM-G892U": + case "SM-G935R4": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + case "Nokia 8 Sirocco": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + case "1280x720": + default: + return 0.28; + } + case "SAMSUNG-SM-G891A": + switch (resolution) { + case "1280x720": + case "1920x1080": + default: + return 0.28; + } + case "SM-A9200": + case "SM-A920F": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + case "640x480": + default: + return 0.28; + } + case "SM-G8850": + switch (resolution) { + case "640x480": + return 0.28; + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + case "1280x720": + default: + return 0.35; + } + case "SM-G885S": + switch (resolution) { + case "640x480": + return 0.28; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.28; + } + case "1280x720": + default: + return 0.35; + } + case "SM-G892A": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + default: + return 0.245; + } + case "SM-G950U1": + case "SM-G955U": + case "SM-N950U": + switch (resolution) { + case "640x480": + case "1920x1080": + default: + return 0.21; + } + case "SM-G955U1": + switch (resolution) { + case "640x480": + return 0.21; + case "1280x720": + return 0.2625; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.28; + } + default: + return 0.28; + } + case "SM-G960U1": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 30: + return 0.18375; + case 60: + default: + return 0.21; + } + case "3840x2160": + return 0.09575; + case "1280x720": + default: + return 0.35; + } + case "SM-G9650": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.18375; + case 60: + default: + return 0.21; + } + case "640x480": + default: + return 0.21; + } + case "SM-G965U1": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 30: + return 0.18375; + case 60: + default: + return 0.21; + } + case "3840x2160": + return 0.09575; + case "1280x720": + default: + return 0.2275; + } + case "SOV33": + switch (resolution) { + case "640x480": + return 0.2275; + case "3840x2160": + return 0.08704; + case "1280x720": + case "1920x1080": + default: + return 0.28; + } + case "moto e5 play": + switch (resolution) { + case "640x480": + return 0.39375; + case "1920x1080": + return 0.35; + case "1280x720": + default: + return 0.48125; + } + default: + return 0.48125; + } + case 27: + switch (deviceModel) { + case "ASUS_X00TD": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.28; + case 60: + default: + return 0.4375; + } + case "1280x720": + default: + return 0.45937; + } + case "DUB-LX1": + return 0.2275; + case "F-01L": + switch (resolution) { + case "640x480": + return 0.315; + case "1280x720": + return 0.48125; + case "1920x1080": + switch (framerate) { + case 30: + return 0.28; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "Lenovo TB-8504F": + case "moto e5 play": + switch (resolution) { + case "640x480": + return 0.39375; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.35; + } + case "1280x720": + default: + return 0.48125; + } + case "Moto Z3 Play": + switch (resolution) { + case "640x480": + return 0.315; + case "1920x1080": + default: + return 0.7; + } + case "Nokia 2.1": + switch (resolution) { + case "640x480": + return 0.39375; + case "1920x1080": + return 0.35; + case "1280x720": + default: + return 0.48125; + } + case "Pixel 2": + switch (resolution) { + case "640x480": + case "1920x1080": + default: + return 0.21; + } + case "Pixel 2 XL": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 60: + return 0.21; + case 30: + default: + return 0.245; + } + default: + return 0.245; + } + case "Redmi 5 Plus": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 60: + return 0.245; + case 30: + default: + return 0.28; + } + case "3840x2160": + return 0.17409; + case "640x480": + default: + return 0.315; + } + case "Redmi Note 5": + switch (framerate) { + case 60: + return 0.245; + case 30: + default: + return 0.28; + } + case "SM-J260MU": + return 0.3325; + case "SM-J727V": + switch (resolution) { + case "1920x1080": + return 0.21; + case "640x480": + default: + return 0.28; + } + case "SM-N960U1": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 30: + return 0.18375; + case 60: + default: + return 0.21; + } + case "1280x720": + default: + return 0.35; + } + case "TC77": + switch (resolution) { + case "640x480": + return 0.39375; + case "1280x720": + return 0.6125; + case "1920x1080": + switch (framerate) { + case 30: + return 0.28; + case 60: + default: + return 0.7; + } + case "3840x2160": + return 0.1915; + default: + return 0.7; + } + case "vivo 1805": + switch (resolution) { + case "640x480": + case "1920x1080": + return 0.21; + case "1280x720": + default: + return 0.35; + } + default: + return 0.7; + } + case 28: + switch (deviceModel) { + case "801SO": + case "H9493": + switch (resolution) { + case "1920x1080": + return 0.21; + case "1280x720": + default: + return 0.35; + } + case "ASUS_X00TD": + switch (resolution) { + case "1280x720": + return 0.4375; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "H8216": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.35; + case 60: + default: + return 0.525; + } + case "1280x720": + default: + return 0.525; + } + case "H8266": + switch (resolution) { + case "1920x1080": + return 0.35; + case "1280x720": + default: + return 0.525; + } + case "H8416": + switch (resolution) { + case "1920x1080": + return 0.35; + case "1280x720": + default: + return 0.39375; + } + case "LM-Q910": + case "Pixel 2 XL": + case "SM-T837V": + switch (resolution) { + case "640x480": + return 0.21; + case "1280x720": + return 0.35; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "LM-V405": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.175; + case 60: + default: + return 0.21; + } + case "1280x720": + default: + return 0.35; + } + case "MI 8 Pro": + case "SC-02K": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.175; + case 60: + default: + return 0.21; + } + case "640x480": + default: + return 0.21; + } + case "MI MAX 3": + switch (resolution) { + case "640x480": + return 0.28; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "Mi A1": + switch (resolution) { + case "1280x720": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.28; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "Nokia 7.2": + case "Redmi Note 6 Pro": + switch (resolution) { + case "640x480": + return 0.28; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + case "3840x2160": + return 0.1915; + default: + return 0.7; + } + case "Nokia 9": + switch (framerate) { + case 30: + return 0.175; + case 60: + default: + return 0.21; + } + case "ONEPLUS A5010": + switch (resolution) { + case "640x480": + return 0.21; + case "1280x720": + default: + return 0.2275; + } + case "ONEPLUS A6013": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.175; + } + case "1280x720": + default: + return 0.35; + } + case "Pixel 3": + switch (resolution) { + case "1920x1080": + switch (framerate) { + case 30: + return 0.175; + case 60: + default: + return 0.21; + } + case "3840x2160": + return 0.09575; + case "640x480": + default: + return 0.21; + } + case "Pixel 3a": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + case "SC-03K": + switch (resolution) { + case "640x480": + case "1920x1080": + return 0.21; + case "1280x720": + default: + return 0.35; + } + case "SH-01L": + switch (resolution) { + case "640x480": + return 0.315; + case "1920x1080": + switch (framerate) { + case 30: + return 0.28; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "SH-03K": + switch (resolution) { + case "1280x720": + return 0.525; + case "1920x1080": + switch (framerate) { + case 60: + return 0.7; + case 30: + default: + return 1.05; + } + default: + return 1.05; + } + case "SHV39": + switch (resolution) { + case "640x480": + return 0.2625; + case "1280x720": + return 0.37188; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "SM-J415F": + case "SM-J415FN": + case "U693CL": + return 0.3325; + case "SM-N950U1": + return 0.2275; + case "SM-T720": + switch (resolution) { + case "640x480": + return 0.21; + case "1920x1080": + switch (framerate) { + case 30: + return 0.18375; + case 60: + default: + return 0.21; + } + case "1280x720": + default: + return 0.35; + } + case "SM-T827V": + switch (resolution) { + case "640x480": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "moto g(7) plus": + switch (resolution) { + case "640x480": + return 0.315; + case "1920x1080": + switch (framerate) { + case 30: + return 0.28; + case 60: + default: + return 0.7; + } + case "3840x2160": + return 0.20891; + default: + return 0.7; + } + default: + return 1.05; + } + case 29: + switch (deviceModel) { + case "CPH1931": + case "Redmi Note 9 Pro": + return 0.2275; + case "Pixel 2 XL": + switch (resolution) { + case "640x480": + return 0.315; + case "1280x720": + return 0.48125; + case "1920x1080": + default: + return 0.7; + } + case "Pixel XL": + case "SM-G960U1": + return 0.2625; + case "Redmi 8": + return 0.35; + case "SM-G981U1": + switch (resolution) { + case "1280x720": + return 0.35; + case "1920x1080": + switch (framerate) { + case 30: + return 0.2275; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "SM-N9750": + return 0.21; + case "moto g(7)": + case "moto g(7) play": + return 0.315; + default: + return 0.7; + } + case 30: + switch (deviceModel) { + case "CPH2127": + case "M2101K7AG": + case "Redmi Note 8": + case "Redmi Note 9S": + case "SM-A715F": + return 0.2275; + case "SM-A207F": + case "SM-M115F": + case "SM-S115DL": + return 0.315; + case "SM-F916U1": + switch (resolution) { + case "640x480": + return 0.175; + case "1920x1080": + switch (framerate) { + case 30: + return 0.2275; + case 60: + default: + return 0.35; + } + case "1280x720": + default: + return 0.35; + } + case "SM-N986U": + return 0.1925; + case "Nokia 1.4": + case "SM-A015M": + default: + return 0.35; + } + case 31: + switch (deviceModel) { + case "SM-G975U1": + case "SM-N975U1": + default: + return 0.21; + } + case 32: + switch (resolution) { + case "640x480": + return 0.14; + case "1920x1080": + switch (framerate) { + case 30: + return 0.2275; + case 60: + default: + return 0.35; + } + case "1280x720": + default: + return 0.35; + } + default: + return 1.05; + } + case "OMX.qcom.video.encoder.hevc": + switch (deviceSdkVersion) { + case 26: + switch (deviceModel) { + case "F8331": + case "MI 5s": + return 0.105; + case "SM-G885S": + default: + return 0.1575; + } + case 27: + return 0.1575; + case 28: + switch (deviceModel) { + case "Nokia 7.2": + return 0.1575; + case "moto g(7) plus": + default: + return 0.35; + } + default: + return 0.35; + } + case "c2.exynos.h264.encoder": + switch (deviceSdkVersion) { + case 31: + switch (resolution) { + case "1280x720": + return 0.245; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case 32: + switch (deviceModel) { + case "Pixel 6": + switch (resolution) { + case "640x480": + return 0.28; + case "1280x720": + return 0.245; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "Pixel 6 Pro": + switch (resolution) { + case "1280x720": + return 0.245; + case "1920x1080": + switch (framerate) { + case 30: + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + default: + return 0.7; + } + case 33: + return 0.245; + default: + return 0.7; + } + case "c2.qti.avc.encoder": + switch (deviceSdkVersion) { + case 29: + switch (deviceModel) { + case "Pixel 3": + switch (resolution) { + case "640x480": + return 0.21; + case "1280x720": + return 0.245; + case "1920x1080": + default: + return 0.7; + } + case "Pixel 4": + switch (resolution) { + case "640x480": + case "1280x720": + return 0.1925; + case "1920x1080": + switch (framerate) { + case 30: + return 0.21; + case 60: + default: + return 1.4; + } + case "3840x2160": + return 0.08704; + default: + return 1.4; + } + default: + return 1.4; + } + case 30: + switch (deviceModel) { + case "Pixel 4": + switch (resolution) { + case "1280x720": + return 0.21; + case "1920x1080": + default: + return 0.35; + } + case "Pixel 4 XL": + return 0.21; + case "Pixel 5": + switch (resolution) { + case "640x480": + return 0.20125; + case "1280x720": + return 0.2275; + case "1920x1080": + default: + return 0.28; + } + case "Pixel 5a": + switch (resolution) { + case "1280x720": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.21; + case 60: + default: + return 0.28; + } + default: + return 0.28; + } + case "SM-F711U1": + switch (resolution) { + case "640x480": + return 0.21; + case "1280x720": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.245; + case 60: + default: + return 0.7; + } + default: + return 0.7; + } + case "SM-F926U1": + switch (resolution) { + case "640x480": + return 0.21; + case "1280x720": + return 0.2275; + case "1920x1080": + default: + return 0.7; + } + case "SM-G991U1": + return 0.2275; + default: + return 0.7; + } + case 31: + switch (deviceModel) { + case "Pixel 3": + case "Pixel 3 XL": + case "Pixel 3a": + case "Pixel 3a XL": + return 0.245; + case "Pixel 4": + return 0.20563; + case "Pixel 4a": + case "SM-G991U1": + return 0.21; + case "Pixel 4a (5G)": + case "Pixel 5a": + case "SM-F711U1": + case "SM-F926U1": + case "SM-G998U1": + return 0.2275; + case "Pixel 5": + switch (resolution) { + case "1280x720": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.21; + case 60: + default: + return 0.28; + } + default: + return 0.28; + } + case "SM-A528B": + return 0.20125; + case "SM-S908U1": + return 0.14; + default: + return 0.28; + } + case 32: + switch (deviceModel) { + case "Pixel 4": + return 0.21; + case "Pixel 5": + switch (resolution) { + case "1280x720": + return 0.2275; + case "1920x1080": + switch (framerate) { + case 30: + return 0.21; + case 60: + default: + return 0.28; + } + default: + return 0.28; + } + default: + return 0.28; + } + default: + return 1.4; + } + case "c2.qti.hevc.encoder": + switch (deviceModel) { + case "Pixel 4": + return 0.0875; + case "Pixel 3": + default: + return 0.105; + } + default: + return 1.4; + } + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java new file mode 100644 index 00000000000..02205aeb3b7 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java @@ -0,0 +1,36 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import android.media.MediaCodecInfo; +import androidx.media3.common.util.UnstableApi; + +/** Provides bitrates for encoders to use as a target. */ +@UnstableApi +public interface EncoderBitrateProvider { + + /** + * Returns a recommended bitrate that the encoder should target. + * + * @param encoderName The name of the encoder, see {@link MediaCodecInfo#getName()} + * @param width The output width of the video after encoding. + * @param height The output height of the video after encoding. + * @param frameRate The expected output frame rate of the video after encoding. + * @return The bitrate the encoder should target. + */ + int getBitrate(String encoderName, int width, int height, int frameRate); +} From 5ab53d3dc1f11fc159ec43c40ed906ec3613b172 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 5 Jul 2022 18:47:29 +0000 Subject: [PATCH 048/422] HDR: Remove unused EGL_GL_COLORSPACE_KHR attribute. PiperOrigin-RevId: 459106221 (cherry picked from commit 1869855c90f67e8735f3a58361e36db2c421f838) --- .../androidx/media3/common/util/GlUtil.java | 45 +++++++------------ ...lMatrixTransformationProcessorWrapper.java | 4 +- .../transformer/GlEffectsFrameProcessor.java | 2 +- 3 files changed, 20 insertions(+), 31 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 1d623ef416a..aa6abcad39d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -64,9 +64,6 @@ public GlException(String message) { // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_surfaceless_context.txt private static final String EXTENSION_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context"; - // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_gl_colorspace.txt - private static final int EGL_GL_COLORSPACE_KHR = 0x309D; - private static final int[] EGL_WINDOW_SURFACE_ATTRIBUTES_NONE = new int[] {EGL14.EGL_NONE}; private static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_8888 = new int[] { @@ -208,14 +205,13 @@ public static EGLSurface getEglSurface(EGLDisplay eglDisplay, Object surface) th } /** - * Returns a new {@link EGLSurface} wrapping the specified {@code surface}, for HDR rendering with - * Rec. 2020 color primaries. + * Returns a new RGBA 1010102 {@link EGLSurface} wrapping the specified {@code surface}. * * @param eglDisplay The {@link EGLDisplay} to attach the surface to. * @param surface The surface to wrap; must be a surface, surface texture or surface holder. */ @RequiresApi(17) - public static EGLSurface getEglSurfaceBt2020(EGLDisplay eglDisplay, Object surface) + public static EGLSurface getEglSurfaceRgba1010102(EGLDisplay eglDisplay, Object surface) throws GlException { return Api17.getEglSurface( eglDisplay, @@ -230,18 +226,19 @@ public static EGLSurface getEglSurfaceBt2020(EGLDisplay eglDisplay, Object surfa * @param eglDisplay The {@link EGLDisplay} to attach the surface to. * @param width The width of the pixel buffer. * @param height The height of the pixel buffer. + * @param configAttributes EGL configuration attributes. Valid arguments include {@link + * #EGL_CONFIG_ATTRIBUTES_RGBA_8888} and {@link #EGL_CONFIG_ATTRIBUTES_RGBA_1010102}. */ @RequiresApi(17) - private static EGLSurface createPbufferSurface(EGLDisplay eglDisplay, int width, int height) - throws GlException { + private static EGLSurface createPbufferSurface( + EGLDisplay eglDisplay, int width, int height, int[] configAttributes) throws GlException { int[] pbufferAttributes = new int[] { EGL14.EGL_WIDTH, width, EGL14.EGL_HEIGHT, height, EGL14.EGL_NONE }; - return Api17.createEglPbufferSurface( - eglDisplay, EGL_CONFIG_ATTRIBUTES_RGBA_8888, pbufferAttributes); + return Api17.createEglPbufferSurface(eglDisplay, configAttributes, pbufferAttributes); } /** @@ -255,7 +252,8 @@ private static EGLSurface createPbufferSurface(EGLDisplay eglDisplay, int width, public static EGLSurface createPlaceholderEglSurface(EGLDisplay eglDisplay) throws GlException { return isSurfacelessContextExtensionSupported() ? EGL14.EGL_NO_SURFACE - : createPbufferSurface(eglDisplay, /* width= */ 1, /* height= */ 1); + : createPbufferSurface( + eglDisplay, /* width= */ 1, /* height= */ 1, EGL_CONFIG_ATTRIBUTES_RGBA_8888); } /** @@ -267,33 +265,24 @@ public static EGLSurface createPlaceholderEglSurface(EGLDisplay eglDisplay) thro @RequiresApi(17) public static void focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay eglDisplay) throws GlException { - EGLSurface eglSurface = createPbufferSurface(eglDisplay, /* width= */ 1, /* height= */ 1); + EGLSurface eglSurface = + createPbufferSurface( + eglDisplay, /* width= */ 1, /* height= */ 1, EGL_CONFIG_ATTRIBUTES_RGBA_8888); focusEglSurface(eglDisplay, eglContext, eglSurface, /* width= */ 1, /* height= */ 1); } /** - * Creates and focuses a new {@link EGLSurface} wrapping a 1x1 pixel buffer, for HDR rendering - * with Rec. 2020 color primaries. + * Creates and focuses a new RGBA 1010102 {@link EGLSurface} wrapping a 1x1 pixel buffer. * * @param eglContext The {@link EGLContext} to make current. * @param eglDisplay The {@link EGLDisplay} to attach the surface to. */ @RequiresApi(17) - public static void focusPlaceholderEglSurfaceBt2020(EGLContext eglContext, EGLDisplay eglDisplay) - throws GlException { - int[] pbufferAttributes = - new int[] { - EGL14.EGL_WIDTH, - /* width= */ 1, - EGL14.EGL_HEIGHT, - /* height= */ 1, - // TODO(b/227624622): Figure out if we can remove the EGL_GL_COLORSPACE_KHR item. - EGL_GL_COLORSPACE_KHR, - EGL14.EGL_NONE - }; + public static void focusPlaceholderEglSurfaceRgba1010102( + EGLContext eglContext, EGLDisplay eglDisplay) throws GlException { EGLSurface eglSurface = - Api17.createEglPbufferSurface( - eglDisplay, EGL_CONFIG_ATTRIBUTES_RGBA_1010102, pbufferAttributes); + createPbufferSurface( + eglDisplay, /* width= */ 1, /* height= */ 1, EGL_CONFIG_ATTRIBUTES_RGBA_1010102); focusEglSurface(eglDisplay, eglContext, eglSurface, /* width= */ 1, /* height= */ 1); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 1be2c7ea985..fc91bb3dc56 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -195,7 +195,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) @Nullable EGLSurface outputEglSurface = this.outputEglSurface; if (outputEglSurface == null) { // This means that outputSurfaceInfo changed. if (useHdr) { - outputEglSurface = GlUtil.getEglSurfaceBt2020(eglDisplay, outputSurfaceInfo.surface); + outputEglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, outputSurfaceInfo.surface); } else { outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); } @@ -317,7 +317,7 @@ public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingT if (eglSurface == null) { if (useHdr) { - eglSurface = GlUtil.getEglSurfaceBt2020(eglDisplay, surface); + eglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, surface); } else { eglSurface = GlUtil.getEglSurface(eglDisplay, surface); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index d01d690c6ec..a951a9bc2c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -121,7 +121,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( GlUtil.focusEglSurface( eglDisplay, eglContext, EGL14.EGL_NO_SURFACE, /* width= */ 1, /* height= */ 1); } else if (useHdr) { - GlUtil.focusPlaceholderEglSurfaceBt2020(eglContext, eglDisplay); + GlUtil.focusPlaceholderEglSurfaceRgba1010102(eglContext, eglDisplay); } else { GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); } From c1996085895449b4f95b19d44555af74321cf169 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 6 Jul 2022 10:25:30 +0000 Subject: [PATCH 049/422] HDR: Throw error if attempting HDR editing under API 31. HDR editing is not supported under API 31 PiperOrigin-RevId: 459211106 (cherry picked from commit ab7747d9533c0ed1c5d096743741607b0e08c609) --- .../main/java/androidx/media3/common/ColorInfo.java | 5 +++++ .../media3/transformer/TransformationException.java | 4 ++++ .../media3/transformer/TransformerVideoRenderer.java | 11 +++++++++++ .../transformer/VideoTranscodingSamplePipeline.java | 8 ++------ 4 files changed, 22 insertions(+), 6 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index 6477706932d..71b15c053f4 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -83,6 +83,11 @@ public final class ColorInfo implements Bundleable { } } + /** Returns whether the {@code ColorInfo} uses an HDR {@link C.ColorTransfer}. */ + public static boolean isHdr(@Nullable ColorInfo colorInfo) { + return colorInfo != null && colorInfo.colorTransfer != C.COLOR_TRANSFER_SDR; + } + /** * The color space of the video. Valid values are {@link C#COLOR_SPACE_BT601}, {@link * C#COLOR_SPACE_BT709}, {@link C#COLOR_SPACE_BT2020} or {@link Format#NO_VALUE} if unknown. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index 803ab0d53fa..d5fb4d0819c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -69,6 +69,7 @@ public final class TransformationException extends Exception { ERROR_CODE_ENCODER_INIT_FAILED, ERROR_CODE_ENCODING_FAILED, ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED, + ERROR_CODE_HDR_EDITING_UNSUPPORTED, ERROR_CODE_GL_INIT_FAILED, ERROR_CODE_GL_PROCESSING_FAILED, ERROR_CODE_MUXING_FAILED, @@ -151,6 +152,8 @@ public final class TransformationException extends Exception { * Codec.DecoderFactory encoders} available. */ public static final int ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED = 4003; + /** Caused by the encoder not supporting HDR formats. */ + public static final int ERROR_CODE_HDR_EDITING_UNSUPPORTED = 4004; // Video editing errors (5xxx). @@ -181,6 +184,7 @@ public final class TransformationException extends Exception { .put("ERROR_CODE_ENCODER_INIT_FAILED", ERROR_CODE_ENCODER_INIT_FAILED) .put("ERROR_CODE_ENCODING_FAILED", ERROR_CODE_ENCODING_FAILED) .put("ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED", ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED) + .put("ERROR_CODE_HDR_EDITING_UNSUPPORTED", ERROR_CODE_HDR_EDITING_UNSUPPORTED) .put("ERROR_CODE_GL_INIT_FAILED", ERROR_CODE_GL_INIT_FAILED) .put("ERROR_CODE_GL_PROCESSING_FAILED", ERROR_CODE_GL_PROCESSING_FAILED) .put("ERROR_CODE_MUXING_FAILED", ERROR_CODE_MUXING_FAILED) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index a9ae8307b23..b52ea8e0541 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -17,10 +17,12 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Util.SDK_INT; import static androidx.media3.exoplayer.source.SampleStream.FLAG_REQUIRE_FORMAT; import android.content.Context; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.decoder.DecoderInputBuffer; import androidx.media3.exoplayer.FormatHolder; @@ -91,6 +93,15 @@ protected boolean ensureConfigured() throws TransformationException { return false; } Format inputFormat = checkNotNull(formatHolder.format); + if (SDK_INT < 31 && ColorInfo.isHdr(inputFormat.colorInfo)) { + throw TransformationException.createForCodec( + new IllegalArgumentException("HDR editing not supported under API 31."), + /* isVideo= */ true, + /* isDecoder= */ false, + inputFormat, + /* mediaCodecName= */ null, + TransformationException.ERROR_CODE_HDR_EDITING_UNSUPPORTED); + } if (shouldPassthrough(inputFormat)) { samplePipeline = new PassthroughSamplePipeline(inputFormat, transformationRequest, fallbackListener); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index ad943b297cb..8ad1a1ba8c8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -108,7 +108,8 @@ public VideoTranscodingSamplePipeline( boolean enableRequestSdrToneMapping = transformationRequest.enableRequestSdrToneMapping; // TODO(b/237674316): While HLG10 is correctly reported, HDR10 currently will be incorrectly // processed as SDR, because the inputFormat.colorInfo reports the wrong value. - boolean useHdr = transformationRequest.enableHdrEditing && isHdr(inputFormat.colorInfo); + boolean useHdr = + transformationRequest.enableHdrEditing && ColorInfo.isHdr(inputFormat.colorInfo); if (useHdr && !encoderWrapper.supportsHdr()) { // TODO(b/236316454): Also check whether GlEffectsFrameProcessor supports HDR, i.e., whether // EXT_YUV_target is supported. @@ -167,11 +168,6 @@ public void onFrameProcessingEnded() { maxPendingFrameCount = decoder.getMaxPendingFrameCount(); } - /** Whether this is a supported HDR format. */ - private static boolean isHdr(@Nullable ColorInfo colorInfo) { - return colorInfo != null && colorInfo.colorTransfer != C.COLOR_TRANSFER_SDR; - } - @Override @Nullable public DecoderInputBuffer dequeueInputBuffer() throws TransformationException { From bde5f9e30deb98602455cd61de87ee3802ea0187 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 6 Jul 2022 18:11:11 +0000 Subject: [PATCH 050/422] HDR: Remove ColorInfo.SDR constant The SDR constant also specified a color space and range, in addition to C.COLOR_TRANSFER_SDR. However, it turns out that SDR videos may use different color space and range values, so following prior ExoPlayer conventions to have `null` mean "generic SDR" is preferable here. PiperOrigin-RevId: 459296746 (cherry picked from commit 7078ce312d3650ef70dcd8ed236af88dc07b5333) --- .../src/main/java/androidx/media3/common/ColorInfo.java | 8 -------- .../transformer/VideoTranscodingSamplePipeline.java | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index 71b15c053f4..7021acfff05 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -31,14 +31,6 @@ /** Stores color info. */ @UnstableApi public final class ColorInfo implements Bundleable { - /** Standard Dynamic Range (SDR). */ - public static final ColorInfo SDR = - new ColorInfo( - C.COLOR_SPACE_BT709, - C.COLOR_RANGE_LIMITED, - C.COLOR_TRANSFER_SDR, - /* hdrStaticInfo= */ null); - /** * Returns the {@link C.ColorSpace} corresponding to the given ISO color primary code, as per * table A.7.21.1 in Rec. ITU-T T.832 (03/2009), or {@link Format#NO_VALUE} if no mapping can be diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 8ad1a1ba8c8..8b3ebe6bb2f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -387,7 +387,7 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) transformationRequest.videoMimeType != null ? transformationRequest.videoMimeType : inputFormat.sampleMimeType) - .setColorInfo(fallbackToSdr ? ColorInfo.SDR : inputFormat.colorInfo) + .setColorInfo(fallbackToSdr ? null : inputFormat.colorInfo) .build(); encoder = From 65d653c577d02cfb4863dcb1845f9bbed73fce6d Mon Sep 17 00:00:00 2001 From: samrobinson Date: Thu, 7 Jul 2022 12:54:02 +0000 Subject: [PATCH 051/422] Move Encoder quality API to VideoEncoderSettings. Some other minor nits and adjustments to the API logic. PiperOrigin-RevId: 459490431 (cherry picked from commit 91f1777741149ecf67759da8eb68828e1d92624b) --- .../transformer/DefaultEncoderFactory.java | 96 +++++++------------ .../DeviceMappedEncoderBitrateProvider.java | 8 +- .../transformer/EncoderBitrateProvider.java | 4 +- .../media3/transformer/EncoderSelector.java | 6 +- .../transformer/VideoEncoderSettings.java | 62 ++++++++---- 5 files changed, 88 insertions(+), 88 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index d6ba06c05c5..b609b1c023c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -56,7 +56,6 @@ public static final class Builder { @Nullable private EncoderSelector encoderSelector; @Nullable private VideoEncoderSettings requestedVideoEncoderSettings; private boolean enableFallback; - private boolean automaticQualityAdjustment; /** Creates a new {@link Builder}. */ public Builder(Context context) { @@ -80,15 +79,9 @@ public Builder setVideoEncoderSelector(EncoderSelector encoderSelector) { *

Values in {@code requestedVideoEncoderSettings} may be ignored to improve encoding quality * and/or reduce failures. * - *

    - *
  • {@link VideoEncoderSettings#bitrate} is ignored if {@link - * Builder#setAutomaticQualityAdjustment(boolean)} is enabled and {@link - * VideoEncoderSettings#bitrateMode} is VBR. - *
  • {@link VideoEncoderSettings#profile} and {@link VideoEncoderSettings#level} are ignored - * for {@link MimeTypes#VIDEO_H264} - *
- * - *

Consider implementing {@link Codec.EncoderFactory} if such adjustments are unwanted. + *

{@link VideoEncoderSettings#profile} and {@link VideoEncoderSettings#level} are ignored + * for {@link MimeTypes#VIDEO_H264}. Consider implementing {@link Codec.EncoderFactory} if such + * adjustments are unwanted. * *

{@code requestedVideoEncoderSettings} should be handled with care because there is no * fallback support for it. For example, using incompatible {@link VideoEncoderSettings#profile} @@ -119,19 +112,8 @@ public Builder setEnableFallback(boolean enableFallback) { return this; } - /** - * Sets whether to use automatic quality adjustment. - * - *

With this enabled, encoders are configured to output high quality video. - * - *

Default value is {@code false}. - */ - public Builder setAutomaticQualityAdjustment(boolean automaticQualityAdjustment) { - this.automaticQualityAdjustment = automaticQualityAdjustment; - return this; - } - /** Creates an instance of {@link DefaultEncoderFactory}, using defaults if values are unset. */ + @SuppressWarnings("deprecation") public DefaultEncoderFactory build() { if (encoderSelector == null) { encoderSelector = EncoderSelector.DEFAULT; @@ -140,11 +122,7 @@ public DefaultEncoderFactory build() { requestedVideoEncoderSettings = VideoEncoderSettings.DEFAULT; } return new DefaultEncoderFactory( - context, - encoderSelector, - requestedVideoEncoderSettings, - enableFallback, - automaticQualityAdjustment); + context, encoderSelector, requestedVideoEncoderSettings, enableFallback); } } @@ -152,7 +130,6 @@ public DefaultEncoderFactory build() { private final EncoderSelector videoEncoderSelector; private final VideoEncoderSettings requestedVideoEncoderSettings; private final boolean enableFallback; - private final boolean automaticQualityAdjustment; /** * @deprecated Use {@link Builder} instead. @@ -182,25 +159,10 @@ public DefaultEncoderFactory( EncoderSelector videoEncoderSelector, VideoEncoderSettings requestedVideoEncoderSettings, boolean enableFallback) { - this( - context, - videoEncoderSelector, - requestedVideoEncoderSettings, - enableFallback, - /* automaticQualityAdjustment= */ false); - } - - private DefaultEncoderFactory( - Context context, - EncoderSelector videoEncoderSelector, - VideoEncoderSettings requestedVideoEncoderSettings, - boolean enableFallback, - boolean automaticQualityAdjustment) { this.context = context; this.videoEncoderSelector = videoEncoderSelector; this.requestedVideoEncoderSettings = requestedVideoEncoderSettings; this.enableFallback = enableFallback; - this.automaticQualityAdjustment = automaticQualityAdjustment; } @Override @@ -276,11 +238,11 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, round(format.frameRate)); int bitrate; - if (automaticQualityAdjustment) { + + if (supportedVideoEncoderSettings.enableHighQualityTargeting) { bitrate = new DeviceMappedEncoderBitrateProvider() - .getBitrate( - encoderInfo.getName(), format.width, format.height, round(format.frameRate)); + .getBitrate(encoderInfo.getName(), format.width, format.height, format.frameRate); } else if (supportedVideoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE) { bitrate = supportedVideoEncoderSettings.bitrate; } else { @@ -367,46 +329,54 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( return null; } - List encodersForMimeType = encoderSelector.selectEncoderInfos(mimeType); - if (encodersForMimeType.isEmpty()) { + ImmutableList filteredEncoderInfos = + encoderSelector.selectEncoderInfos(mimeType); + if (filteredEncoderInfos.isEmpty()) { return null; } + if (!enableFallback) { return new VideoEncoderQueryResult( - encodersForMimeType.get(0), requestedFormat, videoEncoderSettings); + filteredEncoderInfos.get(0), requestedFormat, videoEncoderSettings); } - ImmutableList filteredEncoders = + filteredEncoderInfos = filterEncodersByResolution( - encodersForMimeType, mimeType, requestedFormat.width, requestedFormat.height); - if (filteredEncoders.isEmpty()) { + filteredEncoderInfos, mimeType, requestedFormat.width, requestedFormat.height); + if (filteredEncoderInfos.isEmpty()) { return null; } // The supported resolution is the same for all remaining encoders. Size finalResolution = checkNotNull( EncoderUtil.getSupportedResolution( - filteredEncoders.get(0), mimeType, requestedFormat.width, requestedFormat.height)); + filteredEncoderInfos.get(0), + mimeType, + requestedFormat.width, + requestedFormat.height)); int requestedBitrate = videoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE ? videoEncoderSettings.bitrate : getSuggestedBitrate( finalResolution.getWidth(), finalResolution.getHeight(), requestedFormat.frameRate); - filteredEncoders = filterEncodersByBitrate(filteredEncoders, mimeType, requestedBitrate); - if (filteredEncoders.isEmpty()) { + + filteredEncoderInfos = + filterEncodersByBitrate(filteredEncoderInfos, mimeType, requestedBitrate); + if (filteredEncoderInfos.isEmpty()) { return null; } - filteredEncoders = - filterEncodersByBitrateMode(filteredEncoders, mimeType, videoEncoderSettings.bitrateMode); - if (filteredEncoders.isEmpty()) { + filteredEncoderInfos = + filterEncodersByBitrateMode( + filteredEncoderInfos, mimeType, videoEncoderSettings.bitrateMode); + if (filteredEncoderInfos.isEmpty()) { return null; } - MediaCodecInfo pickedEncoder = filteredEncoders.get(0); + MediaCodecInfo pickedEncoderInfo = filteredEncoderInfos.get(0); int closestSupportedBitrate = - EncoderUtil.getSupportedBitrateRange(pickedEncoder, mimeType).clamp(requestedBitrate); + EncoderUtil.getSupportedBitrateRange(pickedEncoderInfo, mimeType).clamp(requestedBitrate); VideoEncoderSettings.Builder supportedEncodingSettingBuilder = videoEncoderSettings.buildUpon().setBitrate(closestSupportedBitrate); @@ -414,7 +384,7 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( || videoEncoderSettings.level == VideoEncoderSettings.NO_VALUE || videoEncoderSettings.level > EncoderUtil.findHighestSupportedEncodingLevel( - pickedEncoder, mimeType, videoEncoderSettings.profile)) { + pickedEncoderInfo, mimeType, videoEncoderSettings.profile)) { supportedEncodingSettingBuilder.setEncodingProfileLevel( VideoEncoderSettings.NO_VALUE, VideoEncoderSettings.NO_VALUE); } @@ -428,7 +398,7 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( .setAverageBitrate(closestSupportedBitrate) .build(); return new VideoEncoderQueryResult( - pickedEncoder, supportedEncoderFormat, supportedEncodingSettingBuilder.build()); + pickedEncoderInfo, supportedEncoderFormat, supportedEncodingSettingBuilder.build()); } /** Returns a list of encoders that support the requested resolution most closely. */ @@ -642,7 +612,7 @@ private static boolean mimeTypeIsSupported( * */ private static int getSuggestedBitrate(int width, int height, float frameRate) { - // TODO(b/210591626) Implement bitrate estimation. + // TODO(b/210591626) Refactor into a BitrateProvider. // Assume medium motion factor. // 1080p60 -> 16.6Mbps, 720p30 -> 3.7Mbps. return (int) (width * height * frameRate * 0.07 * 2); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java index d40aa86e635..ec38576bff5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java @@ -25,10 +25,14 @@ public class DeviceMappedEncoderBitrateProvider implements EncoderBitrateProvider { @Override - public int getBitrate(String encoderName, int width, int height, int frameRate) { + public int getBitrate(String encoderName, int width, int height, float frameRate) { double bitrateMultiplier = getBitrateMultiplierFromMapping( - encoderName, Util.SDK_INT, Build.MODEL, "" + width + "x" + height, frameRate); + encoderName, + Util.SDK_INT, + Build.MODEL, + "" + width + "x" + height, + Math.round(frameRate)); return (int) (width * height * frameRate * bitrateMultiplier); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java index 02205aeb3b7..59eed209c4d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderBitrateProvider.java @@ -26,11 +26,11 @@ public interface EncoderBitrateProvider { /** * Returns a recommended bitrate that the encoder should target. * - * @param encoderName The name of the encoder, see {@link MediaCodecInfo#getName()} + * @param encoderName The name of the encoder, see {@link MediaCodecInfo#getName()}. * @param width The output width of the video after encoding. * @param height The output height of the video after encoding. * @param frameRate The expected output frame rate of the video after encoding. * @return The bitrate the encoder should target. */ - int getBitrate(String encoderName, int width, int height, int frameRate); + int getBitrate(String encoderName, int width, int height, float frameRate); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderSelector.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderSelector.java index c68719a1a4e..0f1c7b445df 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderSelector.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderSelector.java @@ -20,7 +20,7 @@ import android.media.MediaCodecInfo; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.UnstableApi; -import java.util.List; +import com.google.common.collect.ImmutableList; /** Selector of {@link MediaCodec} encoder instances. */ @UnstableApi @@ -37,8 +37,8 @@ public interface EncoderSelector { * order. * * @param mimeType The {@linkplain MimeTypes MIME type} for which an encoder is required. - * @return An unmodifiable list of {@linkplain MediaCodecInfo encoders} that support the {@code + * @return An immutable list of {@linkplain MediaCodecInfo encoders} that support the {@code * mimeType}. The list may be empty. */ - List selectEncoderInfos(String mimeType); + ImmutableList selectEncoderInfos(String mimeType); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java index 90db319e173..7c043878fd2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java @@ -16,7 +16,10 @@ package androidx.media3.transformer; +import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CBR; +import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkState; import static java.lang.annotation.ElementType.TYPE_USE; import android.annotation.SuppressLint; @@ -48,14 +51,11 @@ public final class VideoEncoderSettings { public static final VideoEncoderSettings DEFAULT = new Builder().build(); /** - * The allowed values for {@code bitrateMode}, one of + * The allowed values for {@code bitrateMode}. * *

    - *
  • Constant quality: {@link MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_CQ}. *
  • Variable bitrate: {@link MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_VBR}. *
  • Constant bitrate: {@link MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_CBR}. - *
  • Constant bitrate with frame drops: {@link - * MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_CBR_FD}, available from API31. *
*/ @SuppressLint("InlinedApi") @@ -63,10 +63,8 @@ public final class VideoEncoderSettings { @Retention(RetentionPolicy.SOURCE) @Target(TYPE_USE) @IntDef({ - MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CQ, - MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR, - MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CBR, - MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CBR_FD + BITRATE_MODE_VBR, + BITRATE_MODE_CBR, }) public @interface BitrateMode {} @@ -80,11 +78,12 @@ public static final class Builder { private float iFrameIntervalSeconds; private int operatingRate; private int priority; + private boolean enableHighQualityTargeting; /** Creates a new instance. */ public Builder() { this.bitrate = NO_VALUE; - this.bitrateMode = MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; + this.bitrateMode = BITRATE_MODE_VBR; this.profile = NO_VALUE; this.level = NO_VALUE; this.colorProfile = DEFAULT_COLOR_PROFILE; @@ -102,11 +101,14 @@ private Builder(VideoEncoderSettings videoEncoderSettings) { this.iFrameIntervalSeconds = videoEncoderSettings.iFrameIntervalSeconds; this.operatingRate = videoEncoderSettings.operatingRate; this.priority = videoEncoderSettings.priority; + this.enableHighQualityTargeting = videoEncoderSettings.enableHighQualityTargeting; } /** * Sets {@link VideoEncoderSettings#bitrate}. The default value is {@link #NO_VALUE}. * + *

Can not be set if enabling {@link #setEnableHighQualityTargeting(boolean)}. + * * @param bitrate The {@link VideoEncoderSettings#bitrate}. * @return This builder. */ @@ -119,16 +121,13 @@ public Builder setBitrate(int bitrate) { * Sets {@link VideoEncoderSettings#bitrateMode}. The default value is {@code * MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR}. * - *

Only {@link MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_VBR} and {@link - * MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_CBR} are allowed. + *

Value must be in {@link BitrateMode}. * * @param bitrateMode The {@link VideoEncoderSettings#bitrateMode}. * @return This builder. */ public Builder setBitrateMode(@BitrateMode int bitrateMode) { - checkArgument( - bitrateMode == MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR - || bitrateMode == MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CBR); + checkArgument(bitrateMode == BITRATE_MODE_VBR || bitrateMode == BITRATE_MODE_CBR); this.bitrateMode = bitrateMode; return this; } @@ -194,8 +193,28 @@ public Builder setEncoderPerformanceParameters(int operatingRate, int priority) return this; } + /** + * Sets whether to enable automatic adjustment of the bitrate to target a high quality encoding. + * + *

Default value is {@code false}. + * + *

Requires {@link android.media.MediaCodecInfo.EncoderCapabilities#BITRATE_MODE_VBR}. + * + *

Can not be enabled alongside setting a custom bitrate with {@link #setBitrate(int)}. + */ + public Builder setEnableHighQualityTargeting(boolean enableHighQualityTargeting) { + this.enableHighQualityTargeting = enableHighQualityTargeting; + return this; + } + /** Builds the instance. */ public VideoEncoderSettings build() { + checkState( + !enableHighQualityTargeting || bitrate == NO_VALUE, + "Bitrate can not be set if enabling high quality targeting."); + checkState( + !enableHighQualityTargeting || bitrateMode == BITRATE_MODE_VBR, + "Bitrate mode must be VBR if enabling high quality targeting."); return new VideoEncoderSettings( bitrate, bitrateMode, @@ -204,13 +223,14 @@ public VideoEncoderSettings build() { colorProfile, iFrameIntervalSeconds, operatingRate, - priority); + priority, + enableHighQualityTargeting); } } /** The encoding bitrate. */ public final int bitrate; - /** One of {@linkplain BitrateMode the allowed modes}. */ + /** One of {@linkplain BitrateMode}. */ public final @BitrateMode int bitrateMode; /** The encoding profile. */ public final int profile; @@ -224,6 +244,8 @@ public VideoEncoderSettings build() { public final int operatingRate; /** The encoder {@link MediaFormat#KEY_PRIORITY priority}. */ public final int priority; + /** Whether the encoder should automatically set the bitrate to target a high quality encoding. */ + public final boolean enableHighQualityTargeting; private VideoEncoderSettings( int bitrate, @@ -233,7 +255,8 @@ private VideoEncoderSettings( int colorProfile, float iFrameIntervalSeconds, int operatingRate, - int priority) { + int priority, + boolean enableHighQualityTargeting) { this.bitrate = bitrate; this.bitrateMode = bitrateMode; this.profile = profile; @@ -242,6 +265,7 @@ private VideoEncoderSettings( this.iFrameIntervalSeconds = iFrameIntervalSeconds; this.operatingRate = operatingRate; this.priority = priority; + this.enableHighQualityTargeting = enableHighQualityTargeting; } /** @@ -267,7 +291,8 @@ public boolean equals(@Nullable Object o) { && colorProfile == that.colorProfile && iFrameIntervalSeconds == that.iFrameIntervalSeconds && operatingRate == that.operatingRate - && priority == that.priority; + && priority == that.priority + && enableHighQualityTargeting == that.enableHighQualityTargeting; } @Override @@ -281,6 +306,7 @@ public int hashCode() { result = 31 * result + Float.floatToIntBits(iFrameIntervalSeconds); result = 31 * result + operatingRate; result = 31 * result + priority; + result = 31 * result + (enableHighQualityTargeting ? 1 : 0); return result; } } From 627f26adefdead9b27489125ff3238dd23b31a9c Mon Sep 17 00:00:00 2001 From: claincly Date: Mon, 11 Jul 2022 17:01:33 +0000 Subject: [PATCH 052/422] Apply priority/operating rate settings for video encoding. - Added setter to disable this feature. - Added accompanying tests. - Plan to run tests on the same set of settings on H265. PiperOrigin-RevId: 460238673 (cherry picked from commit 18f4068c06a27ceedce8ee951b3832235a96f75e) --- .../media3/transformer/DefaultCodec.java | 6 +++ .../transformer/DefaultEncoderFactory.java | 45 +++++++++++++++---- .../transformer/VideoEncoderSettings.java | 3 +- .../DefaultEncoderFactoryTest.java | 43 ++++++++++++++++-- 4 files changed, 85 insertions(+), 12 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 07475aa410b..300939527ea 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -27,6 +27,7 @@ import android.media.MediaFormat; import android.view.Surface; import androidx.annotation.Nullable; +import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; @@ -277,6 +278,11 @@ public String getName() { return mediaCodec.getName(); } + @VisibleForTesting + /* package */ MediaFormat getConfigurationMediaFormat() { + return configurationMediaFormat; + } + /** * Attempts to dequeue an output buffer if there is no output buffer pending. Does nothing * otherwise. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index b609b1c023c..60918c952c3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -20,7 +20,6 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; -import static androidx.media3.common.util.Util.SDK_INT; import static java.lang.Math.abs; import static java.lang.Math.floor; import static java.lang.Math.round; @@ -47,6 +46,9 @@ @UnstableApi public final class DefaultEncoderFactory implements Codec.EncoderFactory { private static final int DEFAULT_FRAME_RATE = 30; + /** Best effort, or as-fast-as-possible priority setting for {@link MediaFormat#KEY_PRIORITY}. */ + private static final int PRIORITY_BEST_EFFORT = 1; + private static final String TAG = "DefaultEncoderFactory"; /** A builder for {@link DefaultEncoderFactory} instances. */ @@ -254,7 +256,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes if (supportedVideoEncoderSettings.profile != VideoEncoderSettings.NO_VALUE && supportedVideoEncoderSettings.level != VideoEncoderSettings.NO_VALUE - && SDK_INT >= 23) { + && Util.SDK_INT >= 23) { // Set profile and level at the same time to maximize compatibility, or the encoder will pick // the values. mediaFormat.setInteger(MediaFormat.KEY_PROFILE, supportedVideoEncoderSettings.profile); @@ -285,12 +287,17 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes if (Util.SDK_INT >= 23) { // Setting operating rate and priority is supported from API 23. - if (supportedVideoEncoderSettings.operatingRate != VideoEncoderSettings.NO_VALUE) { - mediaFormat.setInteger( - MediaFormat.KEY_OPERATING_RATE, supportedVideoEncoderSettings.operatingRate); - } - if (supportedVideoEncoderSettings.priority != VideoEncoderSettings.NO_VALUE) { - mediaFormat.setInteger(MediaFormat.KEY_PRIORITY, supportedVideoEncoderSettings.priority); + if (supportedVideoEncoderSettings.operatingRate == VideoEncoderSettings.NO_VALUE + && supportedVideoEncoderSettings.priority == VideoEncoderSettings.NO_VALUE) { + adjustMediaFormatForEncoderPerformanceSettings(mediaFormat); + } else { + if (supportedVideoEncoderSettings.operatingRate != VideoEncoderSettings.NO_VALUE) { + mediaFormat.setInteger( + MediaFormat.KEY_OPERATING_RATE, supportedVideoEncoderSettings.operatingRate); + } + if (supportedVideoEncoderSettings.priority != VideoEncoderSettings.NO_VALUE) { + mediaFormat.setInteger(MediaFormat.KEY_PRIORITY, supportedVideoEncoderSettings.priority); + } } } @@ -462,6 +469,28 @@ public VideoEncoderQueryResult( } } + /** + * Applies empirical {@link MediaFormat#KEY_PRIORITY} and {@link MediaFormat#KEY_OPERATING_RATE} + * settings for better encoder performance. + * + *

The adjustment is applied in-place to {@code mediaFormat}. + */ + private static void adjustMediaFormatForEncoderPerformanceSettings(MediaFormat mediaFormat) { + // TODO(b/213477153) Verify priority/operating rate settings work for non-AVC codecs. + if (Util.SDK_INT < 25) { + // Not setting priority and operating rate achieves better encoding performance. + return; + } + + mediaFormat.setInteger(MediaFormat.KEY_PRIORITY, PRIORITY_BEST_EFFORT); + + if (Util.SDK_INT == 26) { + mediaFormat.setInteger(MediaFormat.KEY_OPERATING_RATE, DEFAULT_FRAME_RATE); + } else { + mediaFormat.setInteger(MediaFormat.KEY_OPERATING_RATE, Integer.MAX_VALUE); + } + } + /** * Applying suggested profile/level settings from * https://developer.android.com/guide/topics/media/sharing-video#b-frames_and_encoding_profiles diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java index 7c043878fd2..536e9fdb1c3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java @@ -180,7 +180,8 @@ public Builder setiFrameIntervalSeconds(float iFrameIntervalSeconds) { } /** - * Sets encoding operating rate and priority. The default values are {@link #NO_VALUE}. + * Sets encoding operating rate and priority. The default values are {@link #NO_VALUE}, which is + * treated as configuring the encoder for maximum throughput. * * @param operatingRate The {@link MediaFormat#KEY_OPERATING_RATE operating rate}. * @param priority The {@link MediaFormat#KEY_PRIORITY priority}. diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java index 0896c7f4275..48aa570c0f8 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/DefaultEncoderFactoryTest.java @@ -30,6 +30,7 @@ import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; +import org.robolectric.annotation.Config; import org.robolectric.shadows.MediaCodecInfoBuilder; import org.robolectric.shadows.ShadowMediaCodecList; @@ -40,6 +41,10 @@ public class DefaultEncoderFactoryTest { @Before public void setUp() { + createShadowH264Encoder(); + } + + private static void createShadowH264Encoder() { MediaFormat avcFormat = new MediaFormat(); avcFormat.setString(MediaFormat.KEY_MIME, MediaFormat.MIMETYPE_VIDEO_AVC); MediaCodecInfo.CodecProfileLevel profileLevel = new MediaCodecInfo.CodecProfileLevel(); @@ -48,17 +53,26 @@ public void setUp() { // blocks will be left for encoding height 1088. profileLevel.level = MediaCodecInfo.CodecProfileLevel.AVCLevel4; + createShadowVideoEncoder(avcFormat, profileLevel, "test.transformer.avc.encoder"); + } + + private static void createShadowVideoEncoder( + MediaFormat supportedFormat, + MediaCodecInfo.CodecProfileLevel supportedProfileLevel, + String name) { + // ShadowMediaCodecList is static. The added encoders will be visible for every test. ShadowMediaCodecList.addCodec( MediaCodecInfoBuilder.newBuilder() - .setName("test.transformer.avc.encoder") + .setName(name) .setIsEncoder(true) .setCapabilities( MediaCodecInfoBuilder.CodecCapabilitiesBuilder.newBuilder() - .setMediaFormat(avcFormat) + .setMediaFormat(supportedFormat) .setIsEncoder(true) .setColorFormats( new int[] {MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Flexible}) - .setProfileLevels(new MediaCodecInfo.CodecProfileLevel[] {profileLevel}) + .setProfileLevels( + new MediaCodecInfo.CodecProfileLevel[] {supportedProfileLevel}) .build()) .build()); } @@ -117,6 +131,29 @@ public void createForVideoEncoding_withFallbackOnAndUnsupportedResolution_config assertThat(actualVideoFormat.height).isEqualTo(1080); } + @Config(sdk = 29) + @Test + public void + createForVideoEncoding_withH264Encoding_configuresEncoderWithCorrectPerformanceSettings() + throws Exception { + Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H264, 1920, 1080, 30); + Codec videoEncoder = + new DefaultEncoderFactory.Builder(context) + .build() + .createForVideoEncoding( + requestedVideoFormat, + /* allowedMimeTypes= */ ImmutableList.of(MimeTypes.VIDEO_H264)); + + assertThat(videoEncoder).isInstanceOf(DefaultCodec.class); + MediaFormat configurationMediaFormat = + ((DefaultCodec) videoEncoder).getConfigurationMediaFormat(); + assertThat(configurationMediaFormat.containsKey(MediaFormat.KEY_PRIORITY)).isTrue(); + assertThat(configurationMediaFormat.getInteger(MediaFormat.KEY_PRIORITY)).isEqualTo(1); + assertThat(configurationMediaFormat.containsKey(MediaFormat.KEY_OPERATING_RATE)).isTrue(); + assertThat(configurationMediaFormat.getInteger(MediaFormat.KEY_OPERATING_RATE)) + .isEqualTo(Integer.MAX_VALUE); + } + @Test public void createForVideoEncoding_withNoSupportedEncoder_throws() { Format requestedVideoFormat = createVideoFormat(MimeTypes.VIDEO_H264, 1920, 1080, 30); From 04ca9a2d383b93901fe81bddc5ec4c196aeaaff8 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Mon, 11 Jul 2022 17:04:11 +0000 Subject: [PATCH 053/422] Merge MatrixTransformationProcessor and ExternalTextureProcessor. This saves an intermediate texture copy step for use-cases where matrix transformations are the first or only effects in the chain. PiperOrigin-RevId: 460239403 (cherry picked from commit 7dc54efdb9c751aff14660fca38889ba2007e4d5) --- .../vertex_shader_tex_transform_es2.glsl | 27 --- .../vertex_shader_transformation_es2.glsl | 8 +- ... => vertex_shader_transformation_es3.glsl} | 14 +- .../transformer/ExternalTextureProcessor.java | 104 +-------- ...lMatrixTransformationProcessorWrapper.java | 29 ++- .../transformer/GlEffectsFrameProcessor.java | 202 +++++++++--------- .../MatrixTransformationProcessor.java | 73 ++++++- .../SingleFrameGlTextureProcessor.java | 10 - 8 files changed, 212 insertions(+), 255 deletions(-) delete mode 100644 libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es2.glsl rename libraries/transformer/src/main/assets/shaders/{vertex_shader_tex_transform_es3.glsl => vertex_shader_transformation_es3.glsl} (66%) diff --git a/libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es2.glsl b/libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es2.glsl deleted file mode 100644 index 20f3058ce2d..00000000000 --- a/libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es2.glsl +++ /dev/null @@ -1,27 +0,0 @@ -#version 100 -// Copyright 2022 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ES 2 vertex shader that applies an external surface texture's 4 * 4 texture -// transformation matrix to convert the texture coordinates to the sampling -// locations. - -attribute vec4 aFramePosition; -uniform mat4 uTexTransform; -varying vec2 vTexSamplingCoord; -void main() { - gl_Position = aFramePosition; - vec4 texturePosition = vec4(aFramePosition.x * 0.5 + 0.5, aFramePosition.y * 0.5 + 0.5, 0.0, 1.0); - vTexSamplingCoord = (uTexTransform * texturePosition).xy; -} diff --git a/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es2.glsl b/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es2.glsl index 2491e3d2a22..06164bad5e6 100644 --- a/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es2.glsl +++ b/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es2.glsl @@ -13,13 +13,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -// ES 2 vertex shader that applies the 4 * 4 transformation matrix -// uTransformationMatrix. +// ES 2 vertex shader that applies the 4 * 4 transformation matrices +// uTransformationMatrix and the uTexTransformationMatrix. attribute vec4 aFramePosition; uniform mat4 uTransformationMatrix; +uniform mat4 uTexTransformationMatrix; varying vec2 vTexSamplingCoord; void main() { gl_Position = uTransformationMatrix * aFramePosition; - vTexSamplingCoord = vec2(aFramePosition.x * 0.5 + 0.5, aFramePosition.y * 0.5 + 0.5); + vec4 texturePosition = vec4(aFramePosition.x * 0.5 + 0.5, aFramePosition.y * 0.5 + 0.5, 0.0, 1.0); + vTexSamplingCoord = (uTexTransformationMatrix * texturePosition).xy; } diff --git a/libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es3.glsl b/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es3.glsl similarity index 66% rename from libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es3.glsl rename to libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es3.glsl index f732294c901..c99b31112e8 100644 --- a/libraries/transformer/src/main/assets/shaders/vertex_shader_tex_transform_es3.glsl +++ b/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es3.glsl @@ -1,5 +1,5 @@ #version 300 es -// Copyright 2022 The Android Open Source Project +// Copyright 2021 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -13,15 +13,15 @@ // See the License for the specific language governing permissions and // limitations under the License. -// ES 3 vertex shader that applies an external surface texture's 4 * 4 texture -// transformation matrix to convert the texture coordinates to the sampling -// locations. +// ES 3 vertex shader that applies the 4 * 4 transformation matrices +// uTransformationMatrix and the uTexTransformationMatrix. in vec4 aFramePosition; -uniform mat4 uTexTransform; +uniform mat4 uTransformationMatrix; +uniform mat4 uTexTransformationMatrix; out vec2 vTexSamplingCoord; void main() { - gl_Position = aFramePosition; + gl_Position = uTransformationMatrix * aFramePosition; vec4 texturePosition = vec4(aFramePosition.x * 0.5 + 0.5, aFramePosition.y * 0.5 + 0.5, 0.0, 1.0); - vTexSamplingCoord = (uTexTransform * texturePosition).xy; + vTexSamplingCoord = (uTexTransformationMatrix * texturePosition).xy; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java index a2f96ef63fc..f31c7682ad8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java @@ -15,71 +15,13 @@ */ package androidx.media3.transformer; -import static androidx.media3.common.util.Assertions.checkArgument; -import static androidx.media3.common.util.Assertions.checkStateNotNull; - -import android.content.Context; -import android.opengl.GLES20; -import android.util.Size; -import androidx.media3.common.util.GlProgram; -import androidx.media3.common.util.GlUtil; -import java.io.IOException; - -/** Copies frames from an external texture and applies color transformations for HDR if needed. */ -/* package */ class ExternalTextureProcessor extends SingleFrameGlTextureProcessor { - - private static final String VERTEX_SHADER_TEX_TRANSFORM_PATH = - "shaders/vertex_shader_tex_transform_es2.glsl"; - private static final String VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH = - "shaders/vertex_shader_tex_transform_es3.glsl"; - private static final String FRAGMENT_SHADER_COPY_EXTERNAL_PATH = - "shaders/fragment_shader_copy_external_es2.glsl"; - private static final String FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH = - "shaders/fragment_shader_copy_external_yuv_es3.glsl"; - // Color transform coefficients from - // https://cs.android.com/android/platform/superproject/+/master:frameworks/av/media/libstagefright/colorconversion/ColorConverter.cpp;l=668-670;drc=487adf977a50cac3929eba15fad0d0f461c7ff0f. - private static final float[] MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM = { - 1.168f, 1.168f, 1.168f, - 0.0f, -0.188f, 2.148f, - 1.683f, -0.652f, 0.0f, - }; - - private final GlProgram glProgram; - - /** - * Creates a new instance. - * - * @param useHdr Whether to process the input as an HDR signal. - * @throws FrameProcessingException If a problem occurs while reading shader files. - */ - public ExternalTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - String vertexShaderFilePath = - useHdr ? VERTEX_SHADER_TEX_TRANSFORM_ES3_PATH : VERTEX_SHADER_TEX_TRANSFORM_PATH; - String fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; - try { - glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); - } catch (IOException | GlUtil.GlException e) { - throw new FrameProcessingException(e); - } - // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. - glProgram.setBufferAttribute( - "aFramePosition", - GlUtil.getNormalizedCoordinateBounds(), - GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - if (useHdr) { - // In HDR editing mode the decoder output is sampled in YUV. - glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); - } - } - - @Override - public Size configure(int inputWidth, int inputHeight) { - checkArgument(inputWidth > 0, "inputWidth must be positive"); - checkArgument(inputHeight > 0, "inputHeight must be positive"); - - return new Size(inputWidth, inputHeight); - } +/** + * Interface for a {@link GlTextureProcessor} that samples from an external texture. + * + *

Use {@link #setTextureTransformMatrix(float[])} to provide the texture's transformation + * matrix. + */ +/* package */ interface ExternalTextureProcessor extends GlTextureProcessor { /** * Sets the texture transform matrix for converting an external surface texture's coordinates to @@ -88,35 +30,5 @@ public Size configure(int inputWidth, int inputHeight) { * @param textureTransformMatrix The external surface texture's {@linkplain * android.graphics.SurfaceTexture#getTransformMatrix(float[]) transform matrix}. */ - public void setTextureTransformMatrix(float[] textureTransformMatrix) { - checkStateNotNull(glProgram); - glProgram.setFloatsUniform("uTexTransform", textureTransformMatrix); - } - - @Override - public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { - checkStateNotNull(glProgram); - try { - glProgram.use(); - glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); - glProgram.bindAttributesAndUniforms(); - // The four-vertex triangle strip forms a quad. - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); - GlUtil.checkGlError(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e, presentationTimeUs); - } - } - - @Override - public void release() throws FrameProcessingException { - super.release(); - if (glProgram != null) { - try { - glProgram.delete(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); - } - } - } + void setTextureTransformMatrix(float[] textureTransformMatrix); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index fc91bb3dc56..29bcb3c34dc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -24,6 +24,7 @@ import android.opengl.EGLExt; import android.opengl.EGLSurface; import android.opengl.GLES20; +import android.opengl.Matrix; import android.util.Size; import android.view.Surface; import android.view.SurfaceHolder; @@ -50,7 +51,8 @@ *

This wrapper is used for the final {@link GlTextureProcessor} instance in the chain of {@link * GlTextureProcessor} instances used by {@link FrameProcessor}. */ -/* package */ final class FinalMatrixTransformationProcessorWrapper implements GlTextureProcessor { +/* package */ final class FinalMatrixTransformationProcessorWrapper + implements GlTextureProcessor, ExternalTextureProcessor { private static final String TAG = "FinalProcessorWrapper"; @@ -61,7 +63,9 @@ private final long streamOffsetUs; private final DebugViewProvider debugViewProvider; private final FrameProcessor.Listener frameProcessorListener; + private final boolean sampleFromExternalTexture; private final boolean useHdr; + private final float[] textureTransformMatrix; private int inputWidth; private int inputHeight; @@ -86,6 +90,7 @@ public FinalMatrixTransformationProcessorWrapper( long streamOffsetUs, FrameProcessor.Listener frameProcessorListener, DebugViewProvider debugViewProvider, + boolean sampleFromExternalTexture, boolean useHdr) { this.context = context; this.matrixTransformations = matrixTransformations; @@ -94,7 +99,11 @@ public FinalMatrixTransformationProcessorWrapper( this.streamOffsetUs = streamOffsetUs; this.debugViewProvider = debugViewProvider; this.frameProcessorListener = frameProcessorListener; + this.sampleFromExternalTexture = sampleFromExternalTexture; this.useHdr = useHdr; + + textureTransformMatrix = new float[16]; + Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); } /** @@ -239,7 +248,9 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); MatrixTransformationProcessor matrixTransformationProcessor = - new MatrixTransformationProcessor(context, matrixTransformationListBuilder.build()); + new MatrixTransformationProcessor( + context, matrixTransformationListBuilder.build(), sampleFromExternalTexture, useHdr); + matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); Size outputSize = matrixTransformationProcessor.configure(inputWidth, inputHeight); checkState(outputSize.getWidth() == outputSurfaceInfo.width); checkState(outputSize.getHeight() == outputSurfaceInfo.height); @@ -265,6 +276,20 @@ public void release() throws FrameProcessingException { } } + @Override + public void setTextureTransformMatrix(float[] textureTransformMatrix) { + System.arraycopy( + /* src= */ textureTransformMatrix, + /* srcPos= */ 0, + /* dest= */ this.textureTransformMatrix, + /* destPost= */ 0, + /* length= */ textureTransformMatrix.length); + + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); + } + } + public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { this.outputSurfaceInfo = outputSurfaceInfo; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index a951a9bc2c5..3856a6bdee1 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -17,13 +17,13 @@ import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static com.google.common.collect.Iterables.getLast; import android.content.Context; import android.graphics.SurfaceTexture; import android.opengl.EGL14; import android.opengl.EGLContext; import android.opengl.EGLDisplay; -import android.util.Pair; import android.view.Surface; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; @@ -126,31 +126,19 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); } - Pair, FinalMatrixTransformationProcessorWrapper> - textureProcessors = - getGlTextureProcessorsForGlEffects( - context, - effects, - eglDisplay, - eglContext, - streamOffsetUs, - listener, - debugViewProvider, - useHdr); - ImmutableList intermediateTextureProcessors = textureProcessors.first; - FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper = - textureProcessors.second; - - ExternalTextureProcessor externalTextureProcessor = - new ExternalTextureProcessor(context, useHdr); + ImmutableList textureProcessors = + getGlTextureProcessorsForGlEffects( + context, + effects, + eglDisplay, + eglContext, + streamOffsetUs, + listener, + debugViewProvider, + useHdr); FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); - chainTextureProcessorsWithListeners( - externalTextureProcessor, - intermediateTextureProcessors, - finalTextureProcessorWrapper, - frameProcessingTaskExecutor, - listener); + chainTextureProcessorsWithListeners(textureProcessors, frameProcessingTaskExecutor, listener); return new GlEffectsFrameProcessor( eglDisplay, @@ -158,9 +146,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( frameProcessingTaskExecutor, streamOffsetUs, /* inputExternalTextureId= */ GlUtil.createExternalTexture(), - externalTextureProcessor, - intermediateTextureProcessors, - finalTextureProcessorWrapper); + textureProcessors); } /** @@ -168,25 +154,25 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( * MatrixTransformationProcessor} and converts all other {@link GlEffect} instances to separate * {@link GlTextureProcessor} instances. * - * @return A {@link Pair} containing a list of {@link GlTextureProcessor} instances to apply in - * the given order and a {@link FinalMatrixTransformationProcessorWrapper} to apply after - * them. + * @return A non-empty list of {@link GlTextureProcessor} instances to apply in the given order. + * The first is an {@link ExternalTextureProcessor} and the last is a {@link + * FinalMatrixTransformationProcessorWrapper}. */ - private static Pair, FinalMatrixTransformationProcessorWrapper> - getGlTextureProcessorsForGlEffects( - Context context, - List effects, - EGLDisplay eglDisplay, - EGLContext eglContext, - long streamOffsetUs, - FrameProcessor.Listener listener, - DebugViewProvider debugViewProvider, - boolean useHdr) - throws FrameProcessingException { + private static ImmutableList getGlTextureProcessorsForGlEffects( + Context context, + List effects, + EGLDisplay eglDisplay, + EGLContext eglContext, + long streamOffsetUs, + FrameProcessor.Listener listener, + DebugViewProvider debugViewProvider, + boolean useHdr) + throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = new ImmutableList.Builder<>(); ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder<>(); + boolean sampleFromExternalTexture = true; for (int i = 0; i < effects.size(); i++) { GlEffect effect = effects.get(i); if (effect instanceof GlMatrixTransformation) { @@ -195,15 +181,16 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( } ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); - if (!matrixTransformations.isEmpty()) { + if (!matrixTransformations.isEmpty() || sampleFromExternalTexture) { textureProcessorListBuilder.add( - new MatrixTransformationProcessor(context, matrixTransformations)); + new MatrixTransformationProcessor( + context, matrixTransformations, sampleFromExternalTexture, useHdr)); matrixTransformationListBuilder = new ImmutableList.Builder<>(); + sampleFromExternalTexture = false; } textureProcessorListBuilder.add(effect.toGlTextureProcessor(context)); } - return Pair.create( - textureProcessorListBuilder.build(), + textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( context, eglDisplay, @@ -212,51 +199,35 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( streamOffsetUs, listener, debugViewProvider, + sampleFromExternalTexture, useHdr)); + return textureProcessorListBuilder.build(); } /** * Chains the given {@link GlTextureProcessor} instances using {@link * ChainingGlTextureProcessorListener} instances. - * - *

The {@link ExternalTextureProcessor} is the first processor in the chain. */ private static void chainTextureProcessorsWithListeners( - ExternalTextureProcessor externalTextureProcessor, - ImmutableList intermediateTextureProcessors, - FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper, + ImmutableList textureProcessors, FrameProcessingTaskExecutor frameProcessingTaskExecutor, FrameProcessor.Listener listener) { - externalTextureProcessor.setListener( - new ChainingGlTextureProcessorListener( - /* previousGlTextureProcessor= */ null, - /* nextGlTextureProcessor= */ intermediateTextureProcessors.size() > 0 - ? intermediateTextureProcessors.get(0) - : finalTextureProcessorWrapper, - frameProcessingTaskExecutor, - listener)); - GlTextureProcessor previousGlTextureProcessor = externalTextureProcessor; - for (int i = 0; i < intermediateTextureProcessors.size(); i++) { - GlTextureProcessor glTextureProcessor = intermediateTextureProcessors.get(i); + for (int i = 0; i < textureProcessors.size(); i++) { + @Nullable + GlTextureProcessor previousGlTextureProcessor = + i - 1 >= 0 ? textureProcessors.get(i - 1) : null; @Nullable GlTextureProcessor nextGlTextureProcessor = - i + 1 < intermediateTextureProcessors.size() - ? intermediateTextureProcessors.get(i + 1) - : finalTextureProcessorWrapper; - glTextureProcessor.setListener( - new ChainingGlTextureProcessorListener( - previousGlTextureProcessor, - nextGlTextureProcessor, - frameProcessingTaskExecutor, - listener)); - previousGlTextureProcessor = glTextureProcessor; + i + 1 < textureProcessors.size() ? textureProcessors.get(i + 1) : null; + textureProcessors + .get(i) + .setListener( + new ChainingGlTextureProcessorListener( + previousGlTextureProcessor, + nextGlTextureProcessor, + frameProcessingTaskExecutor, + listener)); } - finalTextureProcessorWrapper.setListener( - new ChainingGlTextureProcessorListener( - previousGlTextureProcessor, - /* nextGlTextureProcessor= */ null, - frameProcessingTaskExecutor, - listener)); } private static final String TAG = "GlEffectsFrameProcessor"; @@ -280,11 +251,15 @@ private static void chainTextureProcessorsWithListeners( private final float[] inputSurfaceTextureTransformMatrix; private final int inputExternalTextureId; private final ExternalTextureProcessor inputExternalTextureProcessor; - private final ImmutableList intermediateTextureProcessors; private final FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper; + private final ImmutableList allTextureProcessors; private final ConcurrentLinkedQueue pendingInputFrames; + // Fields accessed on the thread used by the GlEffectsFrameProcessor's caller. private @MonotonicNonNull FrameInfo nextInputFrameInfo; + + // Fields accessed on the frameProcessingTaskExecutor's thread. + private boolean inputTextureInUse; private boolean inputStreamEnded; private GlEffectsFrameProcessor( @@ -293,18 +268,21 @@ private GlEffectsFrameProcessor( FrameProcessingTaskExecutor frameProcessingTaskExecutor, long streamOffsetUs, int inputExternalTextureId, - ExternalTextureProcessor inputExternalTextureProcessor, - ImmutableList intermediateTextureProcessors, - FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper) { + ImmutableList textureProcessors) { this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; this.streamOffsetUs = streamOffsetUs; this.inputExternalTextureId = inputExternalTextureId; - this.inputExternalTextureProcessor = inputExternalTextureProcessor; - this.intermediateTextureProcessors = intermediateTextureProcessors; - this.finalTextureProcessorWrapper = finalTextureProcessorWrapper; + + checkState(!textureProcessors.isEmpty()); + checkState(textureProcessors.get(0) instanceof ExternalTextureProcessor); + checkState(getLast(textureProcessors) instanceof FinalMatrixTransformationProcessorWrapper); + inputExternalTextureProcessor = (ExternalTextureProcessor) textureProcessors.get(0); + finalTextureProcessorWrapper = + (FinalMatrixTransformationProcessorWrapper) getLast(textureProcessors); + allTextureProcessors = textureProcessors; inputSurfaceTexture = new SurfaceTexture(inputExternalTextureId); inputSurface = new Surface(inputSurfaceTexture); @@ -321,7 +299,7 @@ public Surface getInputSurface() { @Override public void setInputFrameInfo(FrameInfo inputFrameInfo) { - nextInputFrameInfo = inputFrameInfo; + nextInputFrameInfo = adjustForPixelWidthHeightRatio(inputFrameInfo); } @Override @@ -365,36 +343,54 @@ public void release() { } /** - * Processes an input frame from the {@linkplain #getInputSurface() external input surface - * texture}. + * Processes an input frame from the {@link #inputSurfaceTexture}. * *

This method must be called on the {@linkplain #THREAD_NAME background thread}. */ @WorkerThread private void processInputFrame() { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); - if (!inputExternalTextureProcessor.acceptsInputFrame()) { + if (inputTextureInUse) { frameProcessingTaskExecutor.submit(this::processInputFrame); // Try again later. return; } + inputTextureInUse = true; inputSurfaceTexture.updateTexImage(); + inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); + queueInputFrameToTextureProcessors(); + } + + /** + * Queues the input frame to the first texture processor until it is accepted. + * + *

This method must be called on the {@linkplain #THREAD_NAME background thread}. + */ + @WorkerThread + private void queueInputFrameToTextureProcessors() { + checkState(Thread.currentThread().getName().equals(THREAD_NAME)); + checkState(inputTextureInUse); + long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); // Correct for the stream offset so processors see original media presentation timestamps. long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; - inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); - FrameInfo inputFrameInfo = adjustForPixelWidthHeightRatio(pendingInputFrames.remove()); - checkState( - inputExternalTextureProcessor.maybeQueueInputFrame( - new TextureInfo( - inputExternalTextureId, - /* fboId= */ C.INDEX_UNSET, - inputFrameInfo.width, - inputFrameInfo.height), - presentationTimeUs)); - // After the inputExternalTextureProcessor has produced an output frame, it is processed - // asynchronously by the texture processors chained after it. + FrameInfo inputFrameInfo = checkStateNotNull(pendingInputFrames.peek()); + if (inputExternalTextureProcessor.maybeQueueInputFrame( + new TextureInfo( + inputExternalTextureId, + /* fboId= */ C.INDEX_UNSET, + inputFrameInfo.width, + inputFrameInfo.height), + presentationTimeUs)) { + inputTextureInUse = false; + pendingInputFrames.remove(); + // After the externalTextureProcessor has produced an output frame, it is processed + // asynchronously by the texture processors chained after it. + } else { + // Try again later. + frameProcessingTaskExecutor.submit(this::queueInputFrameToTextureProcessors); + } } /** @@ -442,11 +438,9 @@ private void processEndOfInputStream() { @WorkerThread private void releaseTextureProcessorsAndDestroyGlContext() throws GlUtil.GlException, FrameProcessingException { - inputExternalTextureProcessor.release(); - for (int i = 0; i < intermediateTextureProcessors.size(); i++) { - intermediateTextureProcessors.get(i).release(); + for (int i = 0; i < allTextureProcessors.size(); i++) { + allTextureProcessors.get(i).release(); } - finalTextureProcessorWrapper.release(); GlUtil.destroyEglContext(eglDisplay, eglContext); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index 9f551f0a3b4..c85bf100f10 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -37,20 +37,36 @@ * matrices are clipped to the NDC range. * *

The background color of the output frame will be (r=0, g=0, b=0, a=0). + * + *

Can copy frames from an external texture and apply color transformations for HDR if needed. */ @UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 -/* package */ final class MatrixTransformationProcessor extends SingleFrameGlTextureProcessor { +/* package */ final class MatrixTransformationProcessor extends SingleFrameGlTextureProcessor + implements ExternalTextureProcessor { private static final String VERTEX_SHADER_TRANSFORMATION_PATH = "shaders/vertex_shader_transformation_es2.glsl"; - private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_copy_es2.glsl"; + private static final String VERTEX_SHADER_TRANSFORMATION_ES3_PATH = + "shaders/vertex_shader_transformation_es3.glsl"; + private static final String FRAGMENT_SHADER_COPY_PATH = "shaders/fragment_shader_copy_es2.glsl"; + private static final String FRAGMENT_SHADER_COPY_EXTERNAL_PATH = + "shaders/fragment_shader_copy_external_es2.glsl"; + private static final String FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH = + "shaders/fragment_shader_copy_external_yuv_es3.glsl"; private static final ImmutableList NDC_SQUARE = ImmutableList.of( new float[] {-1, -1, 0, 1}, new float[] {-1, 1, 0, 1}, new float[] {1, 1, 0, 1}, new float[] {1, -1, 0, 1}); + // Color transform coefficients from + // https://cs.android.com/android/platform/superproject/+/master:frameworks/av/media/libstagefright/colorconversion/ColorConverter.cpp;l=668-670;drc=487adf977a50cac3929eba15fad0d0f461c7ff0f. + private static final float[] MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM = { + 1.168f, 1.168f, 1.168f, + 0.0f, -0.188f, 2.148f, + 1.683f, -0.652f, 0.0f, + }; /** The {@link MatrixTransformation MatrixTransformations} to apply. */ private final ImmutableList matrixTransformations; @@ -89,7 +105,11 @@ */ public MatrixTransformationProcessor(Context context, MatrixTransformation matrixTransformation) throws FrameProcessingException { - this(context, ImmutableList.of(matrixTransformation)); + this( + context, + ImmutableList.of(matrixTransformation), + /* sampleFromExternalTexture= */ false, + /* enableExperimentalHdrEditing= */ false); } /** @@ -102,7 +122,11 @@ public MatrixTransformationProcessor(Context context, MatrixTransformation matri */ public MatrixTransformationProcessor(Context context, GlMatrixTransformation matrixTransformation) throws FrameProcessingException { - this(context, ImmutableList.of(matrixTransformation)); + this( + context, + ImmutableList.of(matrixTransformation), + /* sampleFromExternalTexture= */ false, + /* enableExperimentalHdrEditing= */ false); } /** @@ -111,10 +135,17 @@ public MatrixTransformationProcessor(Context context, GlMatrixTransformation mat * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to * apply to each frame in order. + * @param sampleFromExternalTexture Whether the input will be provided using an external texture. + * If {@code true}, the caller should use {@link #setTextureTransformMatrix(float[])} to + * provide the transformation matrix associated with the external texture. + * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. * @throws FrameProcessingException If a problem occurs while reading shader files. */ public MatrixTransformationProcessor( - Context context, ImmutableList matrixTransformations) + Context context, + ImmutableList matrixTransformations, + boolean sampleFromExternalTexture, + boolean enableExperimentalHdrEditing) throws FrameProcessingException { this.matrixTransformations = matrixTransformations; @@ -123,11 +154,41 @@ public MatrixTransformationProcessor( tempResultMatrix = new float[16]; Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); visiblePolygon = NDC_SQUARE; + + String vertexShaderFilePath; + String fragmentShaderFilePath; + if (sampleFromExternalTexture) { + vertexShaderFilePath = + enableExperimentalHdrEditing + ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH + : VERTEX_SHADER_TRANSFORMATION_PATH; + fragmentShaderFilePath = + enableExperimentalHdrEditing + ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH + : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + } else { + vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; + fragmentShaderFilePath = FRAGMENT_SHADER_COPY_PATH; + } + try { - glProgram = new GlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_PATH); + glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); } catch (IOException | GlUtil.GlException e) { throw new FrameProcessingException(e); } + + if (enableExperimentalHdrEditing && sampleFromExternalTexture) { + // In HDR editing mode the decoder output is sampled in YUV. + glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); + } + float[] identityMatrix = new float[16]; + Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); + } + + @Override + public void setTextureTransformMatrix(float[] textureTransformMatrix) { + glProgram.setFloatsUniform("uTexTransformationMatrix", textureTransformMatrix); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index b767f973a5c..84f05c815ba 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -75,16 +75,6 @@ public final void setListener(Listener listener) { this.listener = listener; } - /** - * Returns whether the {@code SingleFrameGlTextureProcessor} can accept an input frame. - * - *

If this method returns {@code true}, the next call to {@link #maybeQueueInputFrame( - * TextureInfo, long)} will also return {@code true}. - */ - public boolean acceptsInputFrame() { - return !outputTextureInUse; - } - @Override public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { if (outputTextureInUse) { From fa08d8e2193f1aac9fd940a87d177a8dc18e8d32 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 12 Jul 2022 11:04:05 +0000 Subject: [PATCH 054/422] HDR: Check whether EXT_YUV_target extension is supported. This extension is needed for editing HDR input with OpenGL, as the ExternalTextureProcessor samples raw YUV values from the external texture for HDR and converts them to RGB itself rather than relying on the OpenGL driver to do this automatically as for SDR. PiperOrigin-RevId: 460424154 (cherry picked from commit a5ff4ef17f78b64735d82c6b16f0b69af5a570a3) --- .../androidx/media3/common/util/GlUtil.java | 37 +++++++++++++++++++ .../transformer/GlEffectsFrameProcessor.java | 3 +- .../MatrixTransformationProcessor.java | 27 ++++++++------ .../VideoTranscodingSamplePipeline.java | 5 ++- 4 files changed, 57 insertions(+), 15 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index aa6abcad39d..1c488a2459c 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -63,6 +63,8 @@ public GlException(String message) { private static final String EXTENSION_PROTECTED_CONTENT = "EGL_EXT_protected_content"; // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_surfaceless_context.txt private static final String EXTENSION_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context"; + // https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt + private static final String EXTENSION_YUV_TARGET = "GL_EXT_YUV_target"; private static final int[] EGL_WINDOW_SURFACE_ATTRIBUTES_NONE = new int[] {EGL14.EGL_NONE}; private static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_8888 = @@ -170,6 +172,41 @@ public static boolean isSurfacelessContextExtensionSupported() { return eglExtensions != null && eglExtensions.contains(EXTENSION_SURFACELESS_CONTEXT); } + /** + * Returns whether the {@value #EXTENSION_YUV_TARGET} extension is supported. + * + *

This extension allows sampling raw YUV values from an external texture, which is required + * for HDR. + */ + public static boolean isYuvTargetExtensionSupported() { + if (Util.SDK_INT < 17) { + return false; + } + + @Nullable String glExtensions; + if (Util.areEqual(EGL14.eglGetCurrentContext(), EGL14.EGL_NO_CONTEXT)) { + // Create a placeholder context and make it current to allow calling GLES20.glGetString(). + try { + EGLDisplay eglDisplay = createEglDisplay(); + EGLContext eglContext = createEglContext(eglDisplay); + if (GlUtil.isSurfacelessContextExtensionSupported()) { + focusEglSurface( + eglDisplay, eglContext, EGL14.EGL_NO_SURFACE, /* width= */ 1, /* height= */ 1); + } else { + focusPlaceholderEglSurface(eglContext, eglDisplay); + } + glExtensions = GLES20.glGetString(GLES20.GL_EXTENSIONS); + destroyEglContext(eglDisplay, eglContext); + } catch (GlException e) { + return false; + } + } else { + glExtensions = GLES20.glGetString(GLES20.GL_EXTENSIONS); + } + + return glExtensions != null && glExtensions.contains(EXTENSION_YUV_TARGET); + } + /** Returns an initialized default {@link EGLDisplay}. */ @RequiresApi(17) public static EGLDisplay createEglDisplay() throws GlException { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 3856a6bdee1..46e4c298edb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -53,7 +53,8 @@ * @param listener A {@link Listener}. * @param effects The {@link GlEffect GlEffects} to apply to each frame. * @param debugViewProvider A {@link DebugViewProvider}. - * @param useHdr Whether to process the input as an HDR signal. + * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code + * EXT_YUV_target} OpenGL extension. * @return A new instance. * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while * creating and configuring the OpenGL components. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index c85bf100f10..7379cdf9748 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -109,7 +109,7 @@ public MatrixTransformationProcessor(Context context, MatrixTransformation matri context, ImmutableList.of(matrixTransformation), /* sampleFromExternalTexture= */ false, - /* enableExperimentalHdrEditing= */ false); + /* useHdr= */ false); } /** @@ -126,7 +126,7 @@ public MatrixTransformationProcessor(Context context, GlMatrixTransformation mat context, ImmutableList.of(matrixTransformation), /* sampleFromExternalTexture= */ false, - /* enableExperimentalHdrEditing= */ false); + /* useHdr= */ false); } /** @@ -138,15 +138,22 @@ public MatrixTransformationProcessor(Context context, GlMatrixTransformation mat * @param sampleFromExternalTexture Whether the input will be provided using an external texture. * If {@code true}, the caller should use {@link #setTextureTransformMatrix(float[])} to * provide the transformation matrix associated with the external texture. - * @param enableExperimentalHdrEditing Whether to attempt to process the input as an HDR signal. - * @throws FrameProcessingException If a problem occurs while reading shader files. + * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code + * EXT_YUV_target} OpenGL extension. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. */ public MatrixTransformationProcessor( Context context, ImmutableList matrixTransformations, boolean sampleFromExternalTexture, - boolean enableExperimentalHdrEditing) + boolean useHdr) throws FrameProcessingException { + if (sampleFromExternalTexture && useHdr && !GlUtil.isYuvTargetExtensionSupported()) { + throw new FrameProcessingException( + "The EXT_YUV_target extension is required for HDR editing."); + } + this.matrixTransformations = matrixTransformations; transformationMatrixCache = new float[matrixTransformations.size()][16]; @@ -159,13 +166,9 @@ public MatrixTransformationProcessor( String fragmentShaderFilePath; if (sampleFromExternalTexture) { vertexShaderFilePath = - enableExperimentalHdrEditing - ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH - : VERTEX_SHADER_TRANSFORMATION_PATH; + useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = - enableExperimentalHdrEditing - ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH - : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; } else { vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = FRAGMENT_SHADER_COPY_PATH; @@ -177,7 +180,7 @@ public MatrixTransformationProcessor( throw new FrameProcessingException(e); } - if (enableExperimentalHdrEditing && sampleFromExternalTexture) { + if (useHdr && sampleFromExternalTexture) { // In HDR editing mode the decoder output is sampled in YUV. glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 8b3ebe6bb2f..0c97b1268f6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -111,8 +111,6 @@ public VideoTranscodingSamplePipeline( boolean useHdr = transformationRequest.enableHdrEditing && ColorInfo.isHdr(inputFormat.colorInfo); if (useHdr && !encoderWrapper.supportsHdr()) { - // TODO(b/236316454): Also check whether GlEffectsFrameProcessor supports HDR, i.e., whether - // EXT_YUV_target is supported. useHdr = false; enableRequestSdrToneMapping = true; encoderWrapper.signalFallbackToSdr(); @@ -152,6 +150,9 @@ public void onFrameProcessingEnded() { streamOffsetUs, effectsListBuilder.build(), debugViewProvider, + // HDR is only used if the MediaCodec encoder supports FEATURE_HdrEditing. This + // implies that the OpenGL EXT_YUV_target extension is supported and hence the + // GlEffectsFrameProcessor also supports HDR. useHdr); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( From 2ea90e7abd156e86f2213e81fb882d45f20fecda Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 12 Jul 2022 11:09:46 +0000 Subject: [PATCH 055/422] Set ColorInfo in decoder configuration format. Pass the color info and HDR static metadata when configuring the decoder using MediaFormatUtil.maybeSetColorInfo. PiperOrigin-RevId: 460424985 (cherry picked from commit 66e12299881b4edbfa60d1fe717a9b6016fac2a5) --- .../java/androidx/media3/transformer/DefaultDecoderFactory.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java index dcdcd6b927c..277f00e2613 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java @@ -79,6 +79,7 @@ public Codec createForVideoDecoding( MediaFormatUtil.maybeSetInteger( mediaFormat, MediaFormat.KEY_MAX_INPUT_SIZE, format.maxInputSize); MediaFormatUtil.setCsdBuffers(mediaFormat, format.initializationData); + MediaFormatUtil.maybeSetColorInfo(mediaFormat, format.colorInfo); if (decoderSupportsKeyAllowFrameDrop) { // This key ensures no frame dropping when the decoder's output surface is full. This allows // transformer to decode as many frames as possible in one render cycle. From 414be2ef5b195136ebdfc6bc28d0e2db67edb89b Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 12 Jul 2022 14:41:02 +0000 Subject: [PATCH 056/422] Verified encoding performance, removing TODO. PiperOrigin-RevId: 460459378 (cherry picked from commit 776c8a5544357bed1c92399f3ab47fc245c0b878) --- .../java/androidx/media3/transformer/DefaultEncoderFactory.java | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 60918c952c3..38288d28724 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -476,7 +476,6 @@ public VideoEncoderQueryResult( *

The adjustment is applied in-place to {@code mediaFormat}. */ private static void adjustMediaFormatForEncoderPerformanceSettings(MediaFormat mediaFormat) { - // TODO(b/213477153) Verify priority/operating rate settings work for non-AVC codecs. if (Util.SDK_INT < 25) { // Not setting priority and operating rate achieves better encoding performance. return; From 570208d5765503e00fc3389bc17dd56e90abb64a Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 12 Jul 2022 15:54:18 +0000 Subject: [PATCH 057/422] Fix DefaultAudioSinkTest flakiness. Some calls to handleBuffer return false while a previous flush is still handled in the background. Fix this by either asserting the method returns true if we don't expect any delay, or calling it repeatedly until it returns true (within a timeout). PiperOrigin-RevId: 460474419 (cherry picked from commit 223922fb11f9af7510364f212939f1af65c3b5af) --- .../exoplayer/audio/DefaultAudioSinkTest.java | 163 +++++++++++++----- 1 file changed, 119 insertions(+), 44 deletions(-) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioSinkTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioSinkTest.java index 4b36260424a..753434c7aa1 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioSinkTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioSinkTest.java @@ -29,6 +29,7 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.util.Arrays; +import java.util.concurrent.TimeoutException; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -38,6 +39,9 @@ /** Unit tests for {@link DefaultAudioSink}. */ @RunWith(AndroidJUnit4.class) public final class DefaultAudioSinkTest { + + private static final long TIMEOUT_MS = 10_000; + private static final int CHANNEL_COUNT_MONO = 1; private static final int CHANNEL_COUNT_STEREO = 2; private static final int BYTES_PER_FRAME_16_BIT = 2; @@ -74,28 +78,44 @@ public void handlesSpecializedAudioProcessorArray() { @Test public void handlesBufferAfterReset() throws Exception { configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); // After reset and re-configure we can successfully queue more input. defaultAudioSink.reset(); configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + retryUntilTrue( + () -> + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)); } @Test public void handlesBufferAfterReset_withPlaybackSpeed() throws Exception { defaultAudioSink.setPlaybackParameters(new PlaybackParameters(/* speed= */ 1.5f)); configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); // After reset and re-configure we can successfully queue more input. defaultAudioSink.reset(); configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + retryUntilTrue( + () -> + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)); assertThat(defaultAudioSink.getPlaybackParameters()) .isEqualTo(new PlaybackParameters(/* speed= */ 1.5f)); } @@ -103,28 +123,44 @@ public void handlesBufferAfterReset_withPlaybackSpeed() throws Exception { @Test public void handlesBufferAfterReset_withFormatChange() throws Exception { configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); // After reset and re-configure we can successfully queue more input. defaultAudioSink.reset(); configureDefaultAudioSink(CHANNEL_COUNT_MONO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + retryUntilTrue( + () -> + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)); } @Test public void handlesBufferAfterReset_withFormatChangeAndPlaybackSpeed() throws Exception { defaultAudioSink.setPlaybackParameters(new PlaybackParameters(/* speed= */ 1.5f)); configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); // After reset and re-configure we can successfully queue more input. defaultAudioSink.reset(); configureDefaultAudioSink(CHANNEL_COUNT_MONO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + retryUntilTrue( + () -> + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)); assertThat(defaultAudioSink.getPlaybackParameters()) .isEqualTo(new PlaybackParameters(/* speed= */ 1.5f)); } @@ -135,8 +171,12 @@ public void trimsStartFrames() throws Exception { CHANNEL_COUNT_STEREO, /* trimStartFrames= */ TRIM_100_MS_FRAME_COUNT, /* trimEndFrames= */ 0); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); assertThat(arrayAudioBufferSink.output) .hasLength( @@ -151,8 +191,12 @@ public void trimsEndFrames() throws Exception { CHANNEL_COUNT_STEREO, /* trimStartFrames= */ 0, /* trimEndFrames= */ TRIM_10_MS_FRAME_COUNT); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); assertThat(arrayAudioBufferSink.output) .hasLength( @@ -167,8 +211,12 @@ public void trimsStartAndEndFrames() throws Exception { CHANNEL_COUNT_STEREO, /* trimStartFrames= */ TRIM_100_MS_FRAME_COUNT, /* trimEndFrames= */ TRIM_10_MS_FRAME_COUNT); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); assertThat(arrayAudioBufferSink.output) .hasLength( @@ -180,19 +228,23 @@ public void trimsStartAndEndFrames() throws Exception { @Test public void getCurrentPosition_returnsPositionFromFirstBuffer() throws Exception { configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), - /* presentationTimeUs= */ 5 * C.MICROS_PER_SECOND, - /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 5 * C.MICROS_PER_SECOND, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); assertThat(defaultAudioSink.getCurrentPositionUs(/* sourceEnded= */ false)) .isEqualTo(5 * C.MICROS_PER_SECOND); defaultAudioSink.reset(); configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), - /* presentationTimeUs= */ 8 * C.MICROS_PER_SECOND, - /* encodedAccessUnitCount= */ 1); + retryUntilTrue( + () -> + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 8 * C.MICROS_PER_SECOND, + /* encodedAccessUnitCount= */ 1)); assertThat(defaultAudioSink.getCurrentPositionUs(/* sourceEnded= */ false)) .isEqualTo(8 * C.MICROS_PER_SECOND); } @@ -269,24 +321,32 @@ public void handlesBufferAfterExperimentalFlush() throws Exception { // This is demonstrating that no Exceptions are thrown as a result of handling a buffer after an // experimental flush. configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), /* presentationTimeUs= */ 0, /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 0, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); // After the experimental flush we can successfully queue more input. defaultAudioSink.experimentalFlushWithoutAudioTrackRelease(); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), - /* presentationTimeUs= */ 5_000, - /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 5_000, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); } @Test public void getCurrentPosition_returnsUnset_afterExperimentalFlush() throws Exception { configureDefaultAudioSink(CHANNEL_COUNT_STEREO); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), - /* presentationTimeUs= */ 5 * C.MICROS_PER_SECOND, - /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 5 * C.MICROS_PER_SECOND, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); defaultAudioSink.experimentalFlushWithoutAudioTrackRelease(); assertThat(defaultAudioSink.getCurrentPositionUs(/* sourceEnded= */ false)) .isEqualTo(CURRENT_POSITION_NOT_SET); @@ -310,10 +370,12 @@ public void setPlaybackParameters_doesNothingWhenTunnelingIsEnabled() throws Exc defaultAudioSink.enableTunnelingV21(); defaultAudioSink.setPlaybackParameters(new PlaybackParameters(2)); configureDefaultAudioSink(/* channelCount= */ 2); - defaultAudioSink.handleBuffer( - createDefaultSilenceBuffer(), - /* presentationTimeUs= */ 5 * C.MICROS_PER_SECOND, - /* encodedAccessUnitCount= */ 1); + assertThat( + defaultAudioSink.handleBuffer( + createDefaultSilenceBuffer(), + /* presentationTimeUs= */ 5 * C.MICROS_PER_SECOND, + /* encodedAccessUnitCount= */ 1)) + .isTrue(); assertThat(defaultAudioSink.getPlaybackParameters().speed).isEqualTo(1); } @@ -343,6 +405,19 @@ private static ByteBuffer createDefaultSilenceBuffer() { .order(ByteOrder.nativeOrder()); } + private interface ThrowingBooleanMethod { + boolean run() throws Exception; + } + + private static void retryUntilTrue(ThrowingBooleanMethod booleanMethod) throws Exception { + long timeoutTimeMs = System.currentTimeMillis() + TIMEOUT_MS; + while (!booleanMethod.run()) { + if (System.currentTimeMillis() >= timeoutTimeMs) { + throw new TimeoutException(); + } + } + } + private static final class ArrayAudioBufferSink implements TeeAudioProcessor.AudioBufferSink { private byte[] output; From 95fcaf0742b75cabc3431655bb6fa98bfea3e954 Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 12 Jul 2022 16:31:38 +0000 Subject: [PATCH 058/422] Add method to check if tunneling is enabled. Issue: google/ExoPlayer#2518 PiperOrigin-RevId: 460482615 (cherry picked from commit 549496f1fa308fc229f539823573610bc0d06871) --- RELEASENOTES.md | 20 +++++++++++++++++++ .../androidx/media3/exoplayer/ExoPlayer.java | 10 ++++++++++ .../media3/exoplayer/ExoPlayerImpl.java | 11 ++++++++++ .../media3/exoplayer/SimpleExoPlayer.java | 6 ++++++ .../media3/test/utils/StubExoPlayer.java | 5 +++++ 5 files changed, 52 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 90cd7722ac2..7460ba50751 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -7,17 +7,27 @@ results in a call to `Player.Listener#onTimelineChanged` with `reason=Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED` ([#9889](https://github.com/google/ExoPlayer/issues/9889)). + * For progressive media, only include selected tracks in buffered position + ([#10361](https://github.com/google/ExoPlayer/issues/10361)). + * Add `ExoPlayer.isTunnelingEnabled` to check if tunneling is enabled for + the currently selected tracks + ([#2518](https://github.com/google/ExoPlayer/issues/2518)). * Extractors: * Add support for AVI ([#2092](https://github.com/google/ExoPlayer/issues/2092)). * Fix parsing of H265 short term reference picture sets ([#10316](https://github.com/google/ExoPlayer/issues/10316)). + * Fix parsing of bitrates from `esds` boxes + ([#10381](https://github.com/google/ExoPlayer/issues/10381)). * Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, boolean)` to specify whether the renderer will output metadata early or in sync with the player position. +* DASH: + * Parse ClearKey license URL from manifests + ([#10246](https://github.com/google/ExoPlayer/issues/10246)). * UI: * Ensure TalkBack announces the currently active speed option in the playback controls menu @@ -25,6 +35,16 @@ * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). +* Leanback extension: + * Listen to `playWhenReady` changes in `LeanbackAdapter` + ([10420](https://github.com/google/ExoPlayer/issues/10420)). +* Cast: + * Use the `MediaItem` that has been passed to the playlist methods as + `Window.mediaItem` in `CastTimeline` + ([#25](https://github.com/androidx/media/issues/25), + [#8212](https://github.com/google/ExoPlayer/issues/8212)). + * Support `Player.getMetadata()` and `Listener.onMediaMetadataChanged()` + with `CastPlayer` ([#25](https://github.com/androidx/media/issues/25)). ### 1.0.0-beta01 (2022-06-16) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java index 1efe41836c7..422fc783e4c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java @@ -1696,4 +1696,14 @@ void setVideoChangeFrameRateStrategy( */ @UnstableApi boolean experimentalIsSleepingForOffload(); + + /** + * Returns whether tunneling is enabled for + * the currently selected tracks. + * + * @see Player.Listener#onTracksChanged(Tracks) + */ + @UnstableApi + boolean isTunnelingEnabled(); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index e95c465e9dc..2327f53c34d 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -1682,6 +1682,17 @@ public void setDeviceMuted(boolean muted) { streamVolumeManager.setMuted(muted); } + @Override + public boolean isTunnelingEnabled() { + verifyApplicationThread(); + for (RendererConfiguration config : playbackInfo.trackSelectorResult.rendererConfigurations) { + if (config.tunneling) { + return true; + } + } + return false; + } + /* package */ void setThrowsWhenUsingWrongThread(boolean throwsWhenUsingWrongThread) { this.throwsWhenUsingWrongThread = throwsWhenUsingWrongThread; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java index 3dfd26d19be..233fd18eede 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java @@ -1258,6 +1258,12 @@ public void setDeviceMuted(boolean muted) { player.setDeviceMuted(muted); } + @Override + public boolean isTunnelingEnabled() { + blockUntilConstructorFinished(); + return player.isTunnelingEnabled(); + } + /* package */ void setThrowsWhenUsingWrongThread(boolean throwsWhenUsingWrongThread) { blockUntilConstructorFinished(); player.setThrowsWhenUsingWrongThread(throwsWhenUsingWrongThread); diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java index 28840d6ae00..0838b7e4ee0 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubExoPlayer.java @@ -412,4 +412,9 @@ public void experimentalSetOffloadSchedulingEnabled(boolean offloadSchedulingEna public boolean experimentalIsSleepingForOffload() { throw new UnsupportedOperationException(); } + + @Override + public boolean isTunnelingEnabled() { + throw new UnsupportedOperationException(); + } } From 396b55a3411c4ff6489d233167599381801d0e65 Mon Sep 17 00:00:00 2001 From: rohks Date: Tue, 12 Jul 2022 16:53:03 +0000 Subject: [PATCH 059/422] Ignore reserved bit in parsing NAL unit type `HevcConfig.parse` misreads reserved bit to determine NAL unit type. This is currently meant to be always set to 0, but could be given some kind of meaning in a future revision. Issue: google/ExoPlayer#10366 PiperOrigin-RevId: 460487613 (cherry picked from commit 704aa2531adac1a73cc284baa1a2f5e22f0c2a0b) --- .../androidx/media3/extractor/HevcConfig.java | 5 +- .../media3/extractor/HevcConfigTest.java | 90 +++++++++++++++++++ 2 files changed, 93 insertions(+), 2 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java b/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java index ae22774b474..cbe14e9b167 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/HevcConfig.java @@ -46,7 +46,7 @@ public static HevcConfig parse(ParsableByteArray data) throws ParserException { int csdLength = 0; int csdStartPosition = data.getPosition(); for (int i = 0; i < numberOfArrays; i++) { - data.skipBytes(1); // completeness (1), nal_unit_type (7) + data.skipBytes(1); // completeness (1), reserved (1), nal_unit_type (6) int numberOfNalUnits = data.readUnsignedShort(); for (int j = 0; j < numberOfNalUnits; j++) { int nalUnitLength = data.readUnsignedShort(); @@ -64,7 +64,8 @@ public static HevcConfig parse(ParsableByteArray data) throws ParserException { float pixelWidthHeightRatio = 1; @Nullable String codecs = null; for (int i = 0; i < numberOfArrays; i++) { - int nalUnitType = data.readUnsignedByte() & 0x7F; // completeness (1), nal_unit_type (7) + int nalUnitType = + data.readUnsignedByte() & 0x3F; // completeness (1), reserved (1), nal_unit_type (6) int numberOfNalUnits = data.readUnsignedShort(); for (int j = 0; j < numberOfNalUnits; j++) { int nalUnitLength = data.readUnsignedShort(); diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/HevcConfigTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/HevcConfigTest.java index cdcd7d8dd4b..4068658a8bc 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/HevcConfigTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/HevcConfigTest.java @@ -162,6 +162,86 @@ public final class HevcConfigTest { 64 }; + private static final byte[] HVCC_BOX_PAYLOAD_WITH_SET_RESERVED_BIT = + new byte[] { + // Header + 1, + 1, + 96, + 0, + 0, + 0, + -80, + 0, + 0, + 0, + 0, + 0, + -103, + -16, + 0, + -4, + -4, + -8, + -8, + 0, + 0, + 15, + + // Number of arrays + 1, + + // NAL unit type = SPS (Ignoring reserved bit) + // completeness (1), reserved (1), nal_unit_type (6) + 97, + // Number of NAL units + 0, + 1, + // NAL unit length + 0, + 39, + // NAL unit + 66, + 1, + 1, + 1, + 96, + 0, + 0, + 3, + 0, + -80, + 0, + 0, + 3, + 0, + 0, + 3, + 0, + -103, + -96, + 1, + -32, + 32, + 2, + 32, + 124, + 78, + 90, + -18, + 76, + -110, + -22, + 86, + 10, + 12, + 12, + 5, + -38, + 20, + 37 + }; + @Test public void parseHevcDecoderConfigurationRecord() throws Exception { ParsableByteArray data = new ParsableByteArray(HVCC_BOX_PAYLOAD); @@ -170,4 +250,14 @@ public void parseHevcDecoderConfigurationRecord() throws Exception { assertThat(hevcConfig.codecs).isEqualTo("hvc1.1.6.L153.B0"); assertThat(hevcConfig.nalUnitLengthFieldLength).isEqualTo(4); } + + /** https://github.com/google/ExoPlayer/issues/10366 */ + @Test + public void parseHevcDecoderConfigurationRecord_ignoresReservedBit() throws Exception { + ParsableByteArray data = new ParsableByteArray(HVCC_BOX_PAYLOAD_WITH_SET_RESERVED_BIT); + HevcConfig hevcConfig = HevcConfig.parse(data); + + assertThat(hevcConfig.codecs).isEqualTo("hvc1.1.6.L153.B0"); + assertThat(hevcConfig.nalUnitLengthFieldLength).isEqualTo(4); + } } From 4655b7b8f70dacbe9e3a0a2b3bb1a86f0f47ad2d Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 12 Jul 2022 17:43:55 +0000 Subject: [PATCH 060/422] Fix a mis-match in encoder priority. PiperOrigin-RevId: 460500666 (cherry picked from commit e56219f1f6ba4d3d3b7e579ba48c6a661761ee3f) --- .../mh/analysis/EncoderPerformanceAnalysisTest.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java index 1ef1566c1d8..475d491f924 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderPerformanceAnalysisTest.java @@ -44,10 +44,12 @@ @RunWith(Parameterized.class) public class EncoderPerformanceAnalysisTest { - /** A non-realtime {@link MediaFormat#KEY_PRIORITY encoder priority}. */ - private static final int MEDIA_CODEC_PRIORITY_NON_REALTIME = 0; - /** A realtime {@link MediaFormat#KEY_PRIORITY encoder priority}. */ - private static final int MEDIA_CODEC_PRIORITY_REALTIME = 1; + /** A realtime {@linkplain MediaFormat#KEY_PRIORITY encoder priority}. */ + private static final int MEDIA_CODEC_PRIORITY_REALTIME = 0; + /** + * A non-realtime (as fast as possible) {@linkplain MediaFormat#KEY_PRIORITY encoder priority}. + */ + private static final int MEDIA_CODEC_PRIORITY_NON_REALTIME = 1; private static final ImmutableList INPUT_FILES = ImmutableList.of( From 8f79af815535971f4623e82fdcddd60e12e1a56a Mon Sep 17 00:00:00 2001 From: claincly Date: Wed, 13 Jul 2022 09:27:06 +0000 Subject: [PATCH 061/422] Fix two typos in RtpVp8Reader and test PiperOrigin-RevId: 460662425 (cherry picked from commit 40fd3ffa6c3ea058e58e59b533fcaadb377c94d2) --- .../androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java | 2 +- .../media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java index 31bc245f8e7..46354e3ae13 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java @@ -36,7 +36,7 @@ /* package */ final class RtpVp8Reader implements RtpPayloadReader { private static final String TAG = "RtpVP8Reader"; - /** VP9 uses a 90 KHz media clock (RFC7741 Section 4.1). */ + /** VP8 uses a 90 KHz media clock (RFC7741 Section 4.1). */ private static final long MEDIA_CLOCK_FREQUENCY = 90_000; private final RtpPayloadFormat payloadFormat; diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java index 61f80c6c2de..73ffe05fc51 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java @@ -39,7 +39,7 @@ @RunWith(AndroidJUnit4.class) public final class RtpVp8ReaderTest { - /** VP9 uses a 90 KHz media clock (RFC7741 Section 4.1). */ + /** VP8 uses a 90 KHz media clock (RFC7741 Section 4.1). */ private static final long MEDIA_CLOCK_FREQUENCY = 90_000; private static final byte[] PARTITION_1 = getBytesFromHexString("000102030405060708090A0B0C0D0E"); @@ -61,7 +61,7 @@ public final class RtpVp8ReaderTest { new RtpPacket.Builder() .setTimestamp(PARTITION_1_RTP_TIMESTAMP) .setSequenceNumber(40290) - .setMarker(false) + .setMarker(true) .setPayloadData(Bytes.concat(getBytesFromHexString("00"), PARTITION_1_FRAGMENT_2)) .build(); From 9ae0f6c5c170415a71bc472bb86fe7890e011eed Mon Sep 17 00:00:00 2001 From: samrobinson Date: Wed, 13 Jul 2022 12:16:59 +0000 Subject: [PATCH 062/422] Clarify format is supported by encoder. #cleanup #minor-release PiperOrigin-RevId: 460688226 (cherry picked from commit a88426ae58dc2ce31e1c4c0b7838f5e464107dcd) --- .../transformer/DefaultEncoderFactory.java | 30 ++++++++++++------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 38288d28724..8427f2cb4a4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -231,24 +231,34 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes } MediaCodecInfo encoderInfo = encoderAndClosestFormatSupport.encoder; - format = encoderAndClosestFormatSupport.supportedFormat; + Format encoderSupportedFormat = encoderAndClosestFormatSupport.supportedFormat; VideoEncoderSettings supportedVideoEncoderSettings = encoderAndClosestFormatSupport.supportedEncoderSettings; - String mimeType = checkNotNull(format.sampleMimeType); - MediaFormat mediaFormat = MediaFormat.createVideoFormat(mimeType, format.width, format.height); - mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, round(format.frameRate)); + String mimeType = checkNotNull(encoderSupportedFormat.sampleMimeType); + MediaFormat mediaFormat = + MediaFormat.createVideoFormat( + mimeType, encoderSupportedFormat.width, encoderSupportedFormat.height); + mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, round(encoderSupportedFormat.frameRate)); int bitrate; if (supportedVideoEncoderSettings.enableHighQualityTargeting) { bitrate = new DeviceMappedEncoderBitrateProvider() - .getBitrate(encoderInfo.getName(), format.width, format.height, format.frameRate); + .getBitrate( + encoderInfo.getName(), + encoderSupportedFormat.width, + encoderSupportedFormat.height, + encoderSupportedFormat.frameRate); } else if (supportedVideoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE) { bitrate = supportedVideoEncoderSettings.bitrate; } else { - bitrate = getSuggestedBitrate(format.width, format.height, format.frameRate); + bitrate = + getSuggestedBitrate( + encoderSupportedFormat.width, + encoderSupportedFormat.height, + encoderSupportedFormat.frameRate); } mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); @@ -267,7 +277,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes adjustMediaFormatForH264EncoderSettings(mediaFormat, encoderInfo); } - MediaFormatUtil.maybeSetColorInfo(mediaFormat, format.colorInfo); + MediaFormatUtil.maybeSetColorInfo(mediaFormat, encoderSupportedFormat.colorInfo); mediaFormat.setInteger( MediaFormat.KEY_COLOR_FORMAT, supportedVideoEncoderSettings.colorProfile); @@ -303,7 +313,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes return new DefaultCodec( context, - format, + encoderSupportedFormat, mediaFormat, encoderInfo.getName(), /* isDecoder= */ false, @@ -396,7 +406,7 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( VideoEncoderSettings.NO_VALUE, VideoEncoderSettings.NO_VALUE); } - Format supportedEncoderFormat = + Format encoderSupportedFormat = requestedFormat .buildUpon() .setSampleMimeType(mimeType) @@ -405,7 +415,7 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( .setAverageBitrate(closestSupportedBitrate) .build(); return new VideoEncoderQueryResult( - pickedEncoderInfo, supportedEncoderFormat, supportedEncodingSettingBuilder.build()); + pickedEncoderInfo, encoderSupportedFormat, supportedEncodingSettingBuilder.build()); } /** Returns a list of encoders that support the requested resolution most closely. */ From 00aea7519b6fffc41e2db245f638b8ca01db0dc3 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Wed, 13 Jul 2022 12:48:02 +0000 Subject: [PATCH 063/422] Fix assertion error when using high quality targeting API. Add test that verifies SSIM with API enabled. #minor-release PiperOrigin-RevId: 460692420 (cherry picked from commit f903869eb880508812c0dc2e1a8b01ecf0597f45) --- .../transformer/mh/TranscodeQualityTest.java | 15 ++++-- .../transformer/DefaultEncoderFactory.java | 46 +++++++++++-------- 2 files changed, 38 insertions(+), 23 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java index ba8f173695a..1568f9002de 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java @@ -23,10 +23,12 @@ import androidx.media3.common.MediaItem; import androidx.media3.common.MimeTypes; import androidx.media3.transformer.AndroidTestUtil; +import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.TransformationTestResult; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; +import androidx.media3.transformer.VideoEncoderSettings; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -36,9 +38,10 @@ @RunWith(AndroidJUnit4.class) public final class TranscodeQualityTest { @Test - public void transformWithDecodeEncode_ssimIsGreaterThan90Percent() throws Exception { + public void transformHighQualityTargetingAvcToAvc1920x1080_ssimIsGreaterThan95Percent() + throws Exception { Context context = ApplicationProvider.getApplicationContext(); - String testId = "transformWithDecodeEncode_ssim"; + String testId = "transformHighQualityTargetingAvcToAvc1920x1080_ssim"; if (AndroidTestUtil.skipAndLogIfInsufficientCodecSupport( context, @@ -52,7 +55,13 @@ public void transformWithDecodeEncode_ssimIsGreaterThan90Percent() throws Except new Transformer.Builder(context) .setTransformationRequest( new TransformationRequest.Builder().setVideoMimeType(MimeTypes.VIDEO_H264).build()) - .setEncoderFactory(new AndroidTestUtil.ForceEncodeEncoderFactory(context)) + .setEncoderFactory( + new DefaultEncoderFactory.Builder(context) + .setRequestedVideoEncoderSettings( + new VideoEncoderSettings.Builder() + .setEnableHighQualityTargeting(true) + .build()) + .build()) .setRemoveAudio(true) .build(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 8427f2cb4a4..51d4d15782b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -241,27 +241,27 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes mimeType, encoderSupportedFormat.width, encoderSupportedFormat.height); mediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, round(encoderSupportedFormat.frameRate)); - int bitrate; - if (supportedVideoEncoderSettings.enableHighQualityTargeting) { - bitrate = + int bitrate = new DeviceMappedEncoderBitrateProvider() .getBitrate( encoderInfo.getName(), encoderSupportedFormat.width, encoderSupportedFormat.height, encoderSupportedFormat.frameRate); - } else if (supportedVideoEncoderSettings.bitrate != VideoEncoderSettings.NO_VALUE) { - bitrate = supportedVideoEncoderSettings.bitrate; - } else { - bitrate = + encoderSupportedFormat = + encoderSupportedFormat.buildUpon().setAverageBitrate(bitrate).build(); + } else if (encoderSupportedFormat.bitrate == Format.NO_VALUE) { + int bitrate = getSuggestedBitrate( encoderSupportedFormat.width, encoderSupportedFormat.height, encoderSupportedFormat.frameRate); + encoderSupportedFormat = + encoderSupportedFormat.buildUpon().setAverageBitrate(bitrate).build(); } - mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, bitrate); + mediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, encoderSupportedFormat.averageBitrate); mediaFormat.setInteger(MediaFormat.KEY_BITRATE_MODE, supportedVideoEncoderSettings.bitrateMode); if (supportedVideoEncoderSettings.profile != VideoEncoderSettings.NO_VALUE @@ -391,11 +391,23 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( return null; } + // TODO(b/238094555): Check encoder supports bitrate targeted by high quality. MediaCodecInfo pickedEncoderInfo = filteredEncoderInfos.get(0); int closestSupportedBitrate = EncoderUtil.getSupportedBitrateRange(pickedEncoderInfo, mimeType).clamp(requestedBitrate); - VideoEncoderSettings.Builder supportedEncodingSettingBuilder = - videoEncoderSettings.buildUpon().setBitrate(closestSupportedBitrate); + + VideoEncoderSettings.Builder supportedEncodingSettingBuilder = videoEncoderSettings.buildUpon(); + Format.Builder encoderSupportedFormatBuilder = + requestedFormat + .buildUpon() + .setSampleMimeType(mimeType) + .setWidth(finalResolution.getWidth()) + .setHeight(finalResolution.getHeight()); + + if (!videoEncoderSettings.enableHighQualityTargeting) { + supportedEncodingSettingBuilder.setBitrate(closestSupportedBitrate); + encoderSupportedFormatBuilder.setAverageBitrate(closestSupportedBitrate); + } if (videoEncoderSettings.profile == VideoEncoderSettings.NO_VALUE || videoEncoderSettings.level == VideoEncoderSettings.NO_VALUE @@ -406,16 +418,10 @@ private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( VideoEncoderSettings.NO_VALUE, VideoEncoderSettings.NO_VALUE); } - Format encoderSupportedFormat = - requestedFormat - .buildUpon() - .setSampleMimeType(mimeType) - .setWidth(finalResolution.getWidth()) - .setHeight(finalResolution.getHeight()) - .setAverageBitrate(closestSupportedBitrate) - .build(); return new VideoEncoderQueryResult( - pickedEncoderInfo, encoderSupportedFormat, supportedEncodingSettingBuilder.build()); + pickedEncoderInfo, + encoderSupportedFormatBuilder.build(), + supportedEncodingSettingBuilder.build()); } /** Returns a list of encoders that support the requested resolution most closely. */ @@ -650,7 +656,7 @@ private static boolean mimeTypeIsSupported( * */ private static int getSuggestedBitrate(int width, int height, float frameRate) { - // TODO(b/210591626) Refactor into a BitrateProvider. + // TODO(b/238094555) Refactor into a BitrateProvider. // Assume medium motion factor. // 1080p60 -> 16.6Mbps, 720p30 -> 3.7Mbps. return (int) (width * height * frameRate * 0.07 * 2); From 45f1473dcd7dcb81b83d0e799c13e8837029e9e1 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 13 Jul 2022 13:24:04 +0000 Subject: [PATCH 064/422] Use SingleThreadExecutor to release AudioTracks We currently start a simple Thread to release AudioTracks asynchronously. If many AudioTracks are released at the same time, this may lead to OOM situations because we attempt to create multiple new threads. This can be improved by using a shared SingleThreadExecutor. In the simple case of one simmultaneous release, it's exactly the same behavior as before: create a thread and release it as soon as it's done. For multiple simultanous releases we get the advantage of sharing a single thread to avoid creating more than one at the same time. Issue: google/ExoPlayer#10057 PiperOrigin-RevId: 460698942 (cherry picked from commit 9a616c0cee447b7bd809c0dfc4c9d864fc9fee56) --- RELEASENOTES.md | 7 +++ .../exoplayer/audio/DefaultAudioSink.java | 58 ++++++++++++++----- 2 files changed, 50 insertions(+), 15 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 7460ba50751..97aed03d91e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -12,6 +12,11 @@ * Add `ExoPlayer.isTunnelingEnabled` to check if tunneling is enabled for the currently selected tracks ([#2518](https://github.com/google/ExoPlayer/issues/2518)). + * Allow custom logger for all ExoPlayer log output + ([#9752](https://github.com/google/ExoPlayer/issues/9752)). + * Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid + OutOfMemory errors when releasing multiple players at the same time + ([#10057](https://github.com/google/ExoPlayer/issues/10057)). * Extractors: * Add support for AVI ([#2092](https://github.com/google/ExoPlayer/issues/2092)). @@ -35,6 +40,8 @@ * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). + * Add VP8 fragmented packet handling + ([#110](https://github.com/androidx/media/pull/110)). * Leanback extension: * Listen to `playWhenReady` changes in `LeanbackAdapter` ([10420](https://github.com/google/ExoPlayer/issues/10420)). diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index b53d79c47ea..1704ed3ba3c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -33,6 +33,7 @@ import android.os.SystemClock; import android.util.Pair; import androidx.annotation.DoNotInline; +import androidx.annotation.GuardedBy; import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -66,6 +67,7 @@ import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Collections; +import java.util.concurrent.ExecutorService; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.checker.nullness.qual.RequiresNonNull; @@ -472,6 +474,15 @@ public DefaultAudioSink build() { */ public static boolean failOnSpuriousAudioTimestamp = false; + private static final Object releaseExecutorLock = new Object(); + + @GuardedBy("releaseExecutorLock") + @Nullable + private static ExecutorService releaseExecutor; + + @GuardedBy("releaseExecutorLock") + private static int pendingReleaseCount; + private final AudioCapabilities audioCapabilities; private final AudioProcessorChain audioProcessorChain; private final boolean enableFloatOutput; @@ -1424,9 +1435,6 @@ public void flush() { if (isOffloadedPlayback(audioTrack)) { checkNotNull(offloadStreamEventCallbackV29).unregister(audioTrack); } - // AudioTrack.release can take some time, so we call it on a background thread. - final AudioTrack toRelease = audioTrack; - audioTrack = null; if (Util.SDK_INT < 21 && !externalAudioSessionIdProvided) { // Prior to API level 21, audio sessions are not kept alive once there are no components // associated with them. If we generated the session ID internally, the only component @@ -1440,18 +1448,8 @@ public void flush() { pendingConfiguration = null; } audioTrackPositionTracker.reset(); - releasingConditionVariable.close(); - new Thread("ExoPlayer:AudioTrackReleaseThread") { - @Override - public void run() { - try { - toRelease.flush(); - toRelease.release(); - } finally { - releasingConditionVariable.open(); - } - } - }.start(); + releaseAudioTrackAsync(audioTrack, releasingConditionVariable); + audioTrack = null; } writeExceptionPendingExceptionHolder.clear(); initializationExceptionPendingExceptionHolder.clear(); @@ -1862,6 +1860,36 @@ private void playPendingData() { } } + private static void releaseAudioTrackAsync( + AudioTrack audioTrack, ConditionVariable releasedConditionVariable) { + // AudioTrack.release can take some time, so we call it on a background thread. The background + // thread is shared statically to avoid creating many threads when multiple players are released + // at the same time. + releasedConditionVariable.close(); + synchronized (releaseExecutorLock) { + if (releaseExecutor == null) { + releaseExecutor = Util.newSingleThreadExecutor("ExoPlayer:AudioTrackReleaseThread"); + } + pendingReleaseCount++; + releaseExecutor.execute( + () -> { + try { + audioTrack.flush(); + audioTrack.release(); + } finally { + releasedConditionVariable.open(); + synchronized (releaseExecutorLock) { + pendingReleaseCount--; + if (pendingReleaseCount == 0) { + releaseExecutor.shutdown(); + releaseExecutor = null; + } + } + } + }); + } + } + @RequiresApi(29) private final class StreamEventCallbackV29 { private final Handler handler; From 4e92c4260a0df0432ee4fe03f24f1c324ae814cb Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 13 Jul 2022 17:20:33 +0000 Subject: [PATCH 065/422] Use COLOR_Format32bitABGR2101010 for HDR encoder configuration. Also remove VideoEncoderSettings.colorProfile as there are no concrete use cases for customizing this and it clashes with picking the color format automatically based on SDR vs. HDR. PiperOrigin-RevId: 460746987 (cherry picked from commit 7954eeb3c2fa274d9343cbf51963a3cccf3270c7) --- .../transformer/DefaultEncoderFactory.java | 16 +++++++++-- .../transformer/VideoEncoderSettings.java | 28 ------------------- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 51d4d15782b..b41e4e99ea3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -30,6 +30,7 @@ import android.util.Pair; import android.util.Size; import androidx.annotation.Nullable; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Log; @@ -278,8 +279,19 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes } MediaFormatUtil.maybeSetColorInfo(mediaFormat, encoderSupportedFormat.colorInfo); - mediaFormat.setInteger( - MediaFormat.KEY_COLOR_FORMAT, supportedVideoEncoderSettings.colorProfile); + if (Util.SDK_INT >= 31 && ColorInfo.isHdr(format.colorInfo)) { + if (EncoderUtil.getSupportedColorFormats(encoderInfo, mimeType) + .contains(MediaCodecInfo.CodecCapabilities.COLOR_Format32bitABGR2101010)) { + mediaFormat.setInteger( + MediaFormat.KEY_COLOR_FORMAT, + MediaCodecInfo.CodecCapabilities.COLOR_Format32bitABGR2101010); + } else { + throw createTransformationException(format); + } + } else { + mediaFormat.setInteger( + MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface); + } if (Util.SDK_INT >= 25) { mediaFormat.setFloat( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java index 536e9fdb1c3..d8c42784d1d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java @@ -41,9 +41,6 @@ public final class VideoEncoderSettings { /** A value for various fields to indicate that the field's value is unknown or not applicable. */ public static final int NO_VALUE = Format.NO_VALUE; - /** The default encoding color profile. */ - public static final int DEFAULT_COLOR_PROFILE = - MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface; /** The default I-frame interval in seconds. */ public static final float DEFAULT_I_FRAME_INTERVAL_SECONDS = 1.0f; @@ -74,7 +71,6 @@ public static final class Builder { private @BitrateMode int bitrateMode; private int profile; private int level; - private int colorProfile; private float iFrameIntervalSeconds; private int operatingRate; private int priority; @@ -86,7 +82,6 @@ public Builder() { this.bitrateMode = BITRATE_MODE_VBR; this.profile = NO_VALUE; this.level = NO_VALUE; - this.colorProfile = DEFAULT_COLOR_PROFILE; this.iFrameIntervalSeconds = DEFAULT_I_FRAME_INTERVAL_SECONDS; this.operatingRate = NO_VALUE; this.priority = NO_VALUE; @@ -97,7 +92,6 @@ private Builder(VideoEncoderSettings videoEncoderSettings) { this.bitrateMode = videoEncoderSettings.bitrateMode; this.profile = videoEncoderSettings.profile; this.level = videoEncoderSettings.level; - this.colorProfile = videoEncoderSettings.colorProfile; this.iFrameIntervalSeconds = videoEncoderSettings.iFrameIntervalSeconds; this.operatingRate = videoEncoderSettings.operatingRate; this.priority = videoEncoderSettings.priority; @@ -152,21 +146,6 @@ public Builder setEncodingProfileLevel(int encodingProfile, int encodingLevel) { return this; } - /** - * Sets {@link VideoEncoderSettings#colorProfile}. The default value is {@link - * #DEFAULT_COLOR_PROFILE}. - * - *

The value must be one of the {@code COLOR_*} constants defined in {@link - * MediaCodecInfo.CodecCapabilities}. - * - * @param colorProfile The {@link VideoEncoderSettings#colorProfile}. - * @return This builder. - */ - public Builder setColorProfile(int colorProfile) { - this.colorProfile = colorProfile; - return this; - } - /** * Sets {@link VideoEncoderSettings#iFrameIntervalSeconds}. The default value is {@link * #DEFAULT_I_FRAME_INTERVAL_SECONDS}. @@ -221,7 +200,6 @@ public VideoEncoderSettings build() { bitrateMode, profile, level, - colorProfile, iFrameIntervalSeconds, operatingRate, priority, @@ -237,8 +215,6 @@ public VideoEncoderSettings build() { public final int profile; /** The encoding level. */ public final int level; - /** The encoding color profile. */ - public final int colorProfile; /** The encoding I-Frame interval in seconds. */ public final float iFrameIntervalSeconds; /** The encoder {@link MediaFormat#KEY_OPERATING_RATE operating rate}. */ @@ -253,7 +229,6 @@ private VideoEncoderSettings( int bitrateMode, int profile, int level, - int colorProfile, float iFrameIntervalSeconds, int operatingRate, int priority, @@ -262,7 +237,6 @@ private VideoEncoderSettings( this.bitrateMode = bitrateMode; this.profile = profile; this.level = level; - this.colorProfile = colorProfile; this.iFrameIntervalSeconds = iFrameIntervalSeconds; this.operatingRate = operatingRate; this.priority = priority; @@ -289,7 +263,6 @@ public boolean equals(@Nullable Object o) { && bitrateMode == that.bitrateMode && profile == that.profile && level == that.level - && colorProfile == that.colorProfile && iFrameIntervalSeconds == that.iFrameIntervalSeconds && operatingRate == that.operatingRate && priority == that.priority @@ -303,7 +276,6 @@ public int hashCode() { result = 31 * result + bitrateMode; result = 31 * result + profile; result = 31 * result + level; - result = 31 * result + colorProfile; result = 31 * result + Float.floatToIntBits(iFrameIntervalSeconds); result = 31 * result + operatingRate; result = 31 * result + priority; From ac2a5e56b000505340944d33611111a4e6f93d1b Mon Sep 17 00:00:00 2001 From: samrobinson Date: Thu, 14 Jul 2022 12:27:05 +0000 Subject: [PATCH 066/422] Add additional video files. These are providing more variety and complexity. All files are okay to be public. PiperOrigin-RevId: 460935247 (cherry picked from commit b87fa45fea56a50b5c035c7ca18eaf19697e60bf) --- .../media3/transformer/AndroidTestUtil.java | 170 ++++++++++++++++-- .../mh/analysis/BitrateAnalysisTest.java | 45 ++++- 2 files changed, 188 insertions(+), 27 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index 9e6c3faf673..bddf874a405 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -15,6 +15,8 @@ */ package androidx.media3.transformer; +import static androidx.media3.common.MimeTypes.VIDEO_H264; +import static androidx.media3.common.MimeTypes.VIDEO_H265; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; @@ -39,11 +41,12 @@ public final class AndroidTestUtil { private static final String TAG = "AndroidTestUtil"; - // TODO(b/228865104): Add device capability based test skipping. + // Format values are sourced from `mediainfo` command. + public static final String MP4_ASSET_URI_STRING = "asset:///media/mp4/sample.mp4"; public static final Format MP4_ASSET_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1080) .setHeight(720) .setFrameRate(29.97f) @@ -53,7 +56,7 @@ public final class AndroidTestUtil { "asset:///media/mp4/sample_with_increasing_timestamps.mp4"; public static final Format MP4_ASSET_WITH_INCREASING_TIMESTAMPS_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1920) .setHeight(1080) .setFrameRate(30.00f) @@ -65,7 +68,7 @@ public final class AndroidTestUtil { public static final Format MP4_ASSET_WITH_INCREASING_TIMESTAMPS_320W_240H_15S_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(320) .setHeight(240) .setFrameRate(30.00f) @@ -75,7 +78,7 @@ public final class AndroidTestUtil { "asset:///media/mp4/sample_sef_slow_motion.mp4"; public static final Format MP4_ASSET_SEF_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(320) .setHeight(240) .setFrameRate(30.472f) @@ -85,7 +88,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/android-screens-10s.mp4"; public static final Format MP4_REMOTE_10_SECONDS_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1280) .setHeight(720) .setFrameRate(29.97f) @@ -97,7 +100,7 @@ public final class AndroidTestUtil { public static final Format MP4_REMOTE_H264_MP3_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1280) .setHeight(720) .setFrameRate(29.97f) @@ -107,7 +110,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/portrait_4k60.mp4"; public static final Format MP4_REMOTE_4K60_PORTRAIT_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(3840) .setHeight(2160) .setFrameRate(57.39f) @@ -128,7 +131,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/1280w_720h_highmotion.mp4"; public static final Format MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1280) .setHeight(720) .setAverageBitrate(8_939_000) @@ -139,7 +142,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/1440w_1440h_highmotion.mp4"; public static final Format MP4_REMOTE_1440W_1440H_5_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1440) .setHeight(1440) .setAverageBitrate(17_000_000) @@ -150,7 +153,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/1920w_1080h_highmotion.mp4"; public static final Format MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1920) .setHeight(1080) .setAverageBitrate(17_100_000) @@ -161,7 +164,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/3840w_2160h_highmotion.mp4"; public static final Format MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(3840) .setHeight(2160) .setAverageBitrate(48_300_000) @@ -172,7 +175,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/1280w_720h_30s_highmotion.mp4"; public static final Format MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1280) .setHeight(720) .setAverageBitrate(9_962_000) @@ -183,7 +186,7 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/1920w_1080h_30s_highmotion.mp4"; public static final Format MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(1920) .setHeight(1080) .setAverageBitrate(15_000_000) @@ -194,13 +197,122 @@ public final class AndroidTestUtil { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/3840w_2160h_32s_highmotion.mp4"; public static final Format MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION_FORMAT = new Format.Builder() - .setSampleMimeType(MimeTypes.VIDEO_H264) + .setSampleMimeType(VIDEO_H264) .setWidth(3840) .setHeight(2160) .setAverageBitrate(47_800_000) .setFrameRate(28.414f) .build(); + public static final String MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/SonyXperiaXZ3_640w_480h_31s_roof.mp4"; + public static final Format MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(640) + .setHeight(480) + .setAverageBitrate(3_578_000) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_1280w_720h_30s_roof.mp4"; + public static final Format MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(1280) + .setHeight(720) + .setAverageBitrate(8_966_000) + .setFrameRate(29.763f) + .build(); + + public static final String MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_1280w_720h_32s_roof.mp4"; + public static final Format MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(1280) + .setHeight(720) + .setAverageBitrate(14_100_000) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_1440W_1440H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/SsS20Ultra5G_1440hw_31s_roof.mp4"; + public static final Format MP4_REMOTE_1440W_1440H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(1440) + .setHeight(1440) + .setAverageBitrate(16_300_000) + .setFrameRate(25.931f) + .build(); + + public static final String MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_1920w_1080h_60fr_30s_roof.mp4"; + public static final Format MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(1920) + .setHeight(1080) + .setAverageBitrate(20_000_000) + .setFrameRate(59.94f) + .build(); + + public static final String MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_1920w_1080h_60fps_30s_roof.mp4"; + public static final Format MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(1920) + .setHeight(1080) + .setAverageBitrate(20_100_000) + .setFrameRate(61.069f) + .build(); + + public static final String MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/SsS20Ultra5G_2400w_1080h_34s_roof.mp4"; + public static final Format MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H265) + .setWidth(2400) + .setHeight(1080) + .setAverageBitrate(29_500_000) + .setFrameRate(27.472f) + .build(); + + public static final String MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_3840w_2160h_30s_roof.mp4"; + public static final Format MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(3840) + .setHeight(2160) + .setAverageBitrate(49_800_000) + .setFrameRate(29.802f) + .build(); + + public static final String MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_3840w_2160h_30s_roof.mp4"; + public static final Format MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(3840) + .setHeight(2160) + .setAverageBitrate(42_100_000) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/SsS20Ultra5G_7680w_4320h_31s_roof.mp4"; + public static final Format MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H265) + .setWidth(7680) + .setHeight(4320) + .setAverageBitrate(79_900_000) + .setFrameRate(23.163f) + .build(); /** * Log in logcat and in an analysis file that this test was skipped. * @@ -379,20 +491,40 @@ public static Format getFormatForTestFile(String uri) { return MP4_REMOTE_H264_MP3_FORMAT; case MP4_REMOTE_4K60_PORTRAIT_URI_STRING: return MP4_REMOTE_4K60_PORTRAIT_FORMAT; + case MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3: + return MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3_FORMAT; case MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION: return MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION_FORMAT; + case MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION: + return MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION_FORMAT; + case MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2: + return MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2_FORMAT; + case MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9: + return MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9_FORMAT; case MP4_REMOTE_1440W_1440H_5_SECOND_HIGHMOTION: return MP4_REMOTE_1440W_1440H_5_SECOND_HIGHMOTION_FORMAT; + case MP4_REMOTE_1440W_1440H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G: + return MP4_REMOTE_1440W_1440H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G_FORMAT; case MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION: return MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION_FORMAT; - case MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION: - return MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION_FORMAT; - case MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION: - return MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION_FORMAT; case MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION: return MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION_FORMAT; + case MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2: + return MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2_FORMAT; + case MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9: + return MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9_FORMAT; + case MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G: + return MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G_FORMAT; + case MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION: + return MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION_FORMAT; case MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION: return MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION_FORMAT; + case MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2: + return MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2_FORMAT; + case MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9: + return MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9_FORMAT; + case MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G: + return MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G_FORMAT; default: throw new IllegalArgumentException("The format for the given uri is not found."); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java index 1b8837f1371..bfe17ca98b2 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java @@ -17,6 +17,24 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CBR; import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1440W_1440H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1440W_1440H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.skipAndLogIfInsufficientCodecSupport; import android.content.Context; import android.net.Uri; @@ -47,13 +65,24 @@ public class BitrateAnalysisTest { private static final ImmutableList INPUT_FILES = ImmutableList.of( - AndroidTestUtil.MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION, - AndroidTestUtil.MP4_REMOTE_1440W_1440H_5_SECOND_HIGHMOTION, - AndroidTestUtil.MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION, - AndroidTestUtil.MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION, - AndroidTestUtil.MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION, - AndroidTestUtil.MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION, - AndroidTestUtil.MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION); + MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3, + MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION, + MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION, + MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2, + MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9, + MP4_REMOTE_1440W_1440H_5_SECOND_HIGHMOTION, + MP4_REMOTE_1440W_1440H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G, + MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION, + MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION, + MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2, + MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9, + MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G, + MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION, + MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION, + MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2, + MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9, + MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G); + private static final ImmutableList INPUT_BITRATE_MODES = ImmutableList.of(BITRATE_MODE_VBR, BITRATE_MODE_CBR); @@ -100,7 +129,7 @@ public void analyzeBitrate() throws Exception { } Context context = ApplicationProvider.getApplicationContext(); - if (AndroidTestUtil.skipAndLogIfInsufficientCodecSupport( + if (skipAndLogIfInsufficientCodecSupport( context, testId, /* decodingFormat= */ AndroidTestUtil.getFormatForTestFile(fileUri), From 6eb30ce23365024951a71a7bbd26f30aca48fd87 Mon Sep 17 00:00:00 2001 From: olly Date: Fri, 15 Jul 2022 10:34:53 +0000 Subject: [PATCH 067/422] Add TODOs for registerReceiver calls without flag PiperOrigin-RevId: 461165173 (cherry picked from commit 9271572e950230a24da69a6ec5838dd838ea672d) --- .../src/main/java/androidx/media3/session/MediaSessionImpl.java | 1 + .../main/java/androidx/media3/ui/PlayerNotificationManager.java | 1 + 2 files changed, 2 insertions(+) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index 6fce21470f3..6f720629fe1 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -210,6 +210,7 @@ public MediaSessionImpl( broadcastReceiver = new MediaButtonReceiver(); IntentFilter filter = new IntentFilter(Intent.ACTION_MEDIA_BUTTON); filter.addDataScheme(castNonNull(sessionUri.getScheme())); + // TODO(b/197817693): Explicitly indicate whether the receiver should be exported. context.registerReceiver(broadcastReceiver, filter); } else { // Has MediaSessionService to revive playback after it's dead. diff --git a/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java b/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java index f5c5009c2ee..9502581c05e 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/PlayerNotificationManager.java @@ -1164,6 +1164,7 @@ private void startOrUpdateNotification(Player player, @Nullable Bitmap bitmap) { Notification notification = builder.build(); notificationManager.notify(notificationId, notification); if (!isNotificationStarted) { + // TODO(b/197817693): Explicitly indicate whether the receiver should be exported. context.registerReceiver(notificationBroadcastReceiver, intentFilter); } if (notificationListener != null) { From c4e64c3d0d32275e1f1cb46882170d62c97c6954 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 18 Jul 2022 08:51:54 +0000 Subject: [PATCH 068/422] Update demo HDR10 video URL The old URL doesn't correctly signal the HDR10 color info in the container. The new URL signals ST2084 (PQ) transfer function and BT.2020 color space as expected. PiperOrigin-RevId: 461560107 (cherry picked from commit 794e366b3661e9dfec01abcbd4598a26bec9e235) --- .../androidx/media3/demo/transformer/ConfigurationActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 227c517cc16..d7ee8a7e895 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -80,7 +80,7 @@ public final class ConfigurationActivity extends AppCompatActivity { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/portrait_rotated_avc_aac.mp4", "https://storage.googleapis.com/exoplayer-test-media-1/mp4/slow-motion/slowMotion_stopwatch_240fps_long.mp4", "https://storage.googleapis.com/exoplayer-test-media-1/gen/screens/dash-vod-single-segment/manifest-baseline.mpd", - "https://storage.googleapis.com/exoplayer-test-media-1/mp4/samsung-hdr-hdr10.mp4", + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/samsung-s21-hdr-hdr10.mp4", }; private static final String[] URI_DESCRIPTIONS = { // same order as INPUT_URIS "720p H264 video and AAC audio", From 04fa2fda2a1769651a60eef429964ae9b6bff086 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 18 Jul 2022 10:09:35 +0000 Subject: [PATCH 069/422] Make minor fixes to HDR handling - Update profile selection logic to pick an HDR-compatible profile when doing HDR editing on H.264/AVC videos. - Handle doing the capabilities check for all MIME types that support HDR (not just H.265/HEVC). - Fix a bug where we would pass an HDR input color format to the encoder when using tone-mapping. - Tweak how `EncoderWrapper` works so decisions at made at construction time. Manually tested cases: - Transformation of an SDR video. - Transformation of an HDR video to AVC (which triggers fallback/tone-mapping on a device that doesn't support HDR editing for AVC). - Transformation of an HDR video with HDR editing. PiperOrigin-RevId: 461572973 (cherry picked from commit 604ab7fcdaa759025536feb673a3abb93196a829) --- .../transformer/DefaultEncoderFactory.java | 13 +- .../media3/transformer/EncoderUtil.java | 80 +++++++++++++ .../VideoTranscodingSamplePipeline.java | 113 +++++++----------- .../transformer/VideoEncoderWrapperTest.java | 3 +- 4 files changed, 136 insertions(+), 73 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index b41e4e99ea3..a1df6d69343 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -275,7 +275,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes } if (mimeType.equals(MimeTypes.VIDEO_H264)) { - adjustMediaFormatForH264EncoderSettings(mediaFormat, encoderInfo); + adjustMediaFormatForH264EncoderSettings(format.colorInfo, encoderInfo, mediaFormat); } MediaFormatUtil.maybeSetColorInfo(mediaFormat, encoderSupportedFormat.colorInfo); @@ -525,12 +525,21 @@ private static void adjustMediaFormatForEncoderPerformanceSettings(MediaFormat m *

The adjustment is applied in-place to {@code mediaFormat}. */ private static void adjustMediaFormatForH264EncoderSettings( - MediaFormat mediaFormat, MediaCodecInfo encoderInfo) { + @Nullable ColorInfo colorInfo, MediaCodecInfo encoderInfo, MediaFormat mediaFormat) { // TODO(b/210593256): Remove overriding profile/level (before API 29) after switching to in-app // muxing. String mimeType = MimeTypes.VIDEO_H264; if (Util.SDK_INT >= 29) { int expectedEncodingProfile = MediaCodecInfo.CodecProfileLevel.AVCProfileHigh; + if (colorInfo != null) { + int colorTransfer = colorInfo.colorTransfer; + ImmutableList codecProfiles = + EncoderUtil.getCodecProfilesForHdrFormat(mimeType, colorTransfer); + if (!codecProfiles.isEmpty()) { + // Default to the most compatible profile, which is first in the list. + expectedEncodingProfile = codecProfiles.get(0); + } + } int supportedEncodingLevel = EncoderUtil.findHighestSupportedEncodingLevel( encoderInfo, mimeType, expectedEncodingProfile); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java index 1123d398939..aceb651236d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java @@ -31,6 +31,9 @@ import androidx.annotation.DoNotInline; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; +import androidx.media3.common.C; +import androidx.media3.common.C.ColorTransfer; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.MediaFormatUtil; @@ -67,6 +70,83 @@ public static ImmutableSet getSupportedVideoMimeTypes() { return checkNotNull(MIME_TYPE_TO_ENCODERS.get()).keySet(); } + /** + * Returns the names of encoders that support HDR editing for the given format, or an empty list + * if the format is unknown or not supported for HDR encoding. + */ + public static ImmutableList getSupportedEncoderNamesForHdrEditing( + String mimeType, @Nullable ColorInfo colorInfo) { + if (Util.SDK_INT < 31 || colorInfo == null) { + return ImmutableList.of(); + } + + @ColorTransfer int colorTransfer = colorInfo.colorTransfer; + ImmutableList profiles = getCodecProfilesForHdrFormat(mimeType, colorTransfer); + ImmutableList.Builder resultBuilder = ImmutableList.builder(); + ImmutableList mediaCodecInfos = + EncoderSelector.DEFAULT.selectEncoderInfos(mimeType); + for (int i = 0; i < mediaCodecInfos.size(); i++) { + MediaCodecInfo mediaCodecInfo = mediaCodecInfos.get(i); + if (mediaCodecInfo.isAlias() + || !EncoderUtil.isFeatureSupported( + mediaCodecInfo, mimeType, MediaCodecInfo.CodecCapabilities.FEATURE_HdrEditing)) { + continue; + } + for (MediaCodecInfo.CodecProfileLevel codecProfileLevel : + mediaCodecInfo.getCapabilitiesForType(mimeType).profileLevels) { + if (profiles.contains(codecProfileLevel.profile)) { + resultBuilder.add(mediaCodecInfo.getName()); + } + } + } + return resultBuilder.build(); + } + + /** + * Returns the {@linkplain MediaCodecInfo.CodecProfileLevel#profile profile} constants that can be + * used to encode the given HDR format, if supported by the device (this method does not check + * device capabilities). If multiple profiles are returned, they are ordered by expected level of + * compatibility, with the most widely compatible profile first. + */ + @SuppressWarnings("InlinedApi") // Safe use of inlined constants from newer API versions. + public static ImmutableList getCodecProfilesForHdrFormat( + String mimeType, @ColorTransfer int colorTransfer) { + // TODO(b/239174610): Add a way to determine profiles for DV and HDR10+. + switch (mimeType) { + case MimeTypes.VIDEO_VP9: + if (colorTransfer == C.COLOR_TRANSFER_HLG || colorTransfer == C.COLOR_TRANSFER_ST2084) { + // Profiles support both HLG and PQ. + return ImmutableList.of( + MediaCodecInfo.CodecProfileLevel.VP9Profile2HDR, + MediaCodecInfo.CodecProfileLevel.VP9Profile3HDR); + } + break; + case MimeTypes.VIDEO_H264: + if (colorTransfer == C.COLOR_TRANSFER_HLG) { + return ImmutableList.of(MediaCodecInfo.CodecProfileLevel.AVCProfileHigh10); + } + break; + case MimeTypes.VIDEO_H265: + if (colorTransfer == C.COLOR_TRANSFER_HLG) { + return ImmutableList.of(MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10); + } else if (colorTransfer == C.COLOR_TRANSFER_ST2084) { + return ImmutableList.of(MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10HDR10); + } + break; + case MimeTypes.VIDEO_AV1: + if (colorTransfer == C.COLOR_TRANSFER_HLG) { + return ImmutableList.of(MediaCodecInfo.CodecProfileLevel.AV1ProfileMain10); + } else if (colorTransfer == C.COLOR_TRANSFER_ST2084) { + return ImmutableList.of(MediaCodecInfo.CodecProfileLevel.AV1ProfileMain10HDR10); + } + break; + default: + break; + } + // There are no profiles defined for the HDR format, or it's invalid. + return ImmutableList.of(); + } + /** Returns whether the {@linkplain MediaCodecInfo encoder} supports the given resolution. */ public static boolean isSizeSupported( MediaCodecInfo encoderInfo, String mimeType, int width, int height) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 0c97b1268f6..3eb54168c91 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -17,25 +17,20 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; import android.media.MediaCodec; -import android.media.MediaCodecInfo; import android.view.Surface; import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; -import androidx.media3.common.MimeTypes; -import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import com.google.common.collect.ImmutableList; import java.nio.ByteBuffer; import java.util.ArrayList; -import java.util.HashSet; import java.util.List; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.checkerframework.dataflow.qual.Pure; @@ -105,17 +100,6 @@ public VideoTranscodingSamplePipeline( transformationRequest, fallbackListener); - boolean enableRequestSdrToneMapping = transformationRequest.enableRequestSdrToneMapping; - // TODO(b/237674316): While HLG10 is correctly reported, HDR10 currently will be incorrectly - // processed as SDR, because the inputFormat.colorInfo reports the wrong value. - boolean useHdr = - transformationRequest.enableHdrEditing && ColorInfo.isHdr(inputFormat.colorInfo); - if (useHdr && !encoderWrapper.supportsHdr()) { - useHdr = false; - enableRequestSdrToneMapping = true; - encoderWrapper.signalFallbackToSdr(); - } - try { frameProcessor = GlEffectsFrameProcessor.create( @@ -153,7 +137,7 @@ public void onFrameProcessingEnded() { // HDR is only used if the MediaCodec encoder supports FEATURE_HdrEditing. This // implies that the OpenGL EXT_YUV_target extension is supported and hence the // GlEffectsFrameProcessor also supports HDR. - useHdr); + /* useHdr= */ encoderWrapper.isHdrEditingEnabled()); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_GL_INIT_FAILED); @@ -161,9 +145,11 @@ public void onFrameProcessingEnded() { frameProcessor.setInputFrameInfo( new FrameInfo(decodedWidth, decodedHeight, inputFormat.pixelWidthHeightRatio)); + boolean isToneMappingRequired = + ColorInfo.isHdr(inputFormat.colorInfo) && !encoderWrapper.isHdrEditingEnabled(); decoder = decoderFactory.createForVideoDecoding( - inputFormat, frameProcessor.getInputSurface(), enableRequestSdrToneMapping); + inputFormat, frameProcessor.getInputSurface(), isToneMappingRequired); // TODO(b/236316454): Check in the decoder output format whether tone-mapping was actually // applied and throw an exception if not. maxPendingFrameCount = decoder.getMaxPendingFrameCount(); @@ -331,14 +317,14 @@ private boolean isDecodeOnlyBuffer(long presentationTimeUs) { private final List allowedOutputMimeTypes; private final TransformationRequest transformationRequest; private final FallbackListener fallbackListener; - private final HashSet hdrMediaCodecNames; + private final String requestedOutputMimeType; + private final ImmutableList supportedEncoderNamesForHdrEditing; private @MonotonicNonNull SurfaceInfo encoderSurfaceInfo; private volatile @MonotonicNonNull Codec encoder; private volatile int outputRotationDegrees; private volatile boolean releaseEncoder; - private boolean fallbackToSdr; public EncoderWrapper( Codec.EncoderFactory encoderFactory, @@ -346,14 +332,26 @@ public EncoderWrapper( List allowedOutputMimeTypes, TransformationRequest transformationRequest, FallbackListener fallbackListener) { - this.encoderFactory = encoderFactory; this.inputFormat = inputFormat; this.allowedOutputMimeTypes = allowedOutputMimeTypes; this.transformationRequest = transformationRequest; this.fallbackListener = fallbackListener; - hdrMediaCodecNames = new HashSet<>(); + requestedOutputMimeType = + transformationRequest.videoMimeType != null + ? transformationRequest.videoMimeType + : checkNotNull(inputFormat.sampleMimeType); + supportedEncoderNamesForHdrEditing = + EncoderUtil.getSupportedEncoderNamesForHdrEditing( + requestedOutputMimeType, inputFormat.colorInfo); + } + + /** Returns whether the wrapped encoder is expecting HDR input for the HDR editing use case. */ + public boolean isHdrEditingEnabled() { + return transformationRequest.enableHdrEditing + && !transformationRequest.enableRequestSdrToneMapping + && !supportedEncoderNamesForHdrEditing.isEmpty(); } @Nullable @@ -378,37 +376,39 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) outputRotationDegrees = 90; } + boolean isInputToneMapped = ColorInfo.isHdr(inputFormat.colorInfo) && !isHdrEditingEnabled(); Format requestedEncoderFormat = new Format.Builder() .setWidth(requestedWidth) .setHeight(requestedHeight) .setRotationDegrees(0) .setFrameRate(inputFormat.frameRate) - .setSampleMimeType( - transformationRequest.videoMimeType != null - ? transformationRequest.videoMimeType - : inputFormat.sampleMimeType) - .setColorInfo(fallbackToSdr ? null : inputFormat.colorInfo) + .setSampleMimeType(requestedOutputMimeType) + .setColorInfo(isInputToneMapped ? null : inputFormat.colorInfo) .build(); encoder = encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); - if (!hdrMediaCodecNames.isEmpty() && !hdrMediaCodecNames.contains(encoder.getName())) { - Log.d( - TAG, - "Selected encoder " - + encoder.getName() - + " does not report sufficient HDR capabilities"); - } Format encoderSupportedFormat = encoder.getConfigurationFormat(); + if (isHdrEditingEnabled()) { + if (!requestedOutputMimeType.equals(encoderSupportedFormat.sampleMimeType)) { + throw createEncodingException( + new IllegalStateException("MIME type fallback unsupported with HDR editing"), + encoderSupportedFormat); + } else if (!supportedEncoderNamesForHdrEditing.contains(encoder.getName())) { + throw createEncodingException( + new IllegalStateException("Selected encoder doesn't support HDR editing"), + encoderSupportedFormat); + } + } fallbackListener.onTransformationRequestFinalized( createFallbackTransformationRequest( transformationRequest, /* hasOutputFormatRotation= */ flipOrientation, requestedEncoderFormat, encoderSupportedFormat, - fallbackToSdr)); + isInputToneMapped)); encoderSurfaceInfo = new SurfaceInfo( @@ -468,41 +468,14 @@ public void release() { releaseEncoder = true; } - /** - * Checks whether at least one MediaCodec encoder on the device has sufficient capabilities to - * encode HDR (only checks support for HLG at this time). - */ - public boolean supportsHdr() { - if (Util.SDK_INT < 31) { - return false; - } - - // The only output MIME type that Transformer currently supports that can be used with HDR - // is H265/HEVC. So we assume that the EncoderFactory will pick this if HDR is requested. - String mimeType = MimeTypes.VIDEO_H265; - - List mediaCodecInfos = EncoderSelector.DEFAULT.selectEncoderInfos(mimeType); - for (int i = 0; i < mediaCodecInfos.size(); i++) { - MediaCodecInfo mediaCodecInfo = mediaCodecInfos.get(i); - if (EncoderUtil.isFeatureSupported( - mediaCodecInfo, mimeType, MediaCodecInfo.CodecCapabilities.FEATURE_HdrEditing)) { - for (MediaCodecInfo.CodecProfileLevel capabilities : - mediaCodecInfo.getCapabilitiesForType(MimeTypes.VIDEO_H265).profileLevels) { - // TODO(b/227624622): What profile to check depends on the HDR format. Once other - // formats besides HLG are supported, check the corresponding profiles here. - if (capabilities.profile == MediaCodecInfo.CodecProfileLevel.HEVCProfileMain10) { - return hdrMediaCodecNames.add(mediaCodecInfo.getCanonicalName()); - } - } - } - } - return !hdrMediaCodecNames.isEmpty(); - } - - public void signalFallbackToSdr() { - checkState(encoder == null, "Fallback to SDR is only allowed before encoder initialization"); - fallbackToSdr = true; - hdrMediaCodecNames.clear(); + private TransformationException createEncodingException(Exception cause, Format format) { + return TransformationException.createForCodec( + cause, + /* isVideo= */ true, + /* isDecoder= */ false, + format, + checkNotNull(encoder).getName(), + TransformationException.ERROR_CODE_ENCODING_FAILED); } } } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java index 1b8b8b4502b..4f546b88af9 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java @@ -24,6 +24,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; +import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Clock; import androidx.media3.common.util.ListenerSet; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -47,7 +48,7 @@ public final class VideoEncoderWrapperTest { private final VideoTranscodingSamplePipeline.EncoderWrapper encoderWrapper = new VideoTranscodingSamplePipeline.EncoderWrapper( fakeEncoderFactory, - /* inputFormat= */ new Format.Builder().build(), + /* inputFormat= */ new Format.Builder().setSampleMimeType(MimeTypes.VIDEO_H265).build(), /* allowedOutputMimeTypes= */ ImmutableList.of(), emptyTransformationRequest, fallbackListener); From db25954dfd9db2819441bfbbadfce7dc0d336f04 Mon Sep 17 00:00:00 2001 From: bachinger Date: Mon, 18 Jul 2022 10:36:01 +0000 Subject: [PATCH 070/422] Use the current overrides of the player as preset Issue: google/ExoPlayer#10429 PiperOrigin-RevId: 461577039 (cherry picked from commit 5c2aabca660e7618ebe410d8ab7de95acc76ee1a) --- RELEASENOTES.md | 3 +++ .../androidx/media3/ui/TrackSelectionDialogBuilder.java | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 97aed03d91e..2419e6797aa 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -37,6 +37,9 @@ * Ensure TalkBack announces the currently active speed option in the playback controls menu ([#10298](https://github.com/google/ExoPlayer/issues/10298)). + * Use current overrides of the player as preset in + `TrackSelectionDialogBuilder` + ([#10429](https://github.com/google/ExoPlayer/issues/10429)). * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). diff --git a/libraries/ui/src/main/java/androidx/media3/ui/TrackSelectionDialogBuilder.java b/libraries/ui/src/main/java/androidx/media3/ui/TrackSelectionDialogBuilder.java index 11cf8424ec4..6cacef3ceb7 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/TrackSelectionDialogBuilder.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/TrackSelectionDialogBuilder.java @@ -67,7 +67,7 @@ public interface DialogCallback { private boolean showDisableOption; @Nullable private TrackNameProvider trackNameProvider; private boolean isDisabled; - private Map overrides; + private ImmutableMap overrides; @Nullable private Comparator trackFormatComparator; /** @@ -87,7 +87,7 @@ public TrackSelectionDialogBuilder( this.title = title; this.trackGroups = ImmutableList.copyOf(trackGroups); this.callback = callback; - overrides = Collections.emptyMap(); + overrides = ImmutableMap.of(); } /** @@ -110,7 +110,7 @@ public TrackSelectionDialogBuilder( trackGroups.add(trackGroup); } } - overrides = Collections.emptyMap(); + overrides = player.getTrackSelectionParameters().overrides; callback = (isDisabled, overrides) -> { TrackSelectionParameters.Builder parametersBuilder = @@ -171,7 +171,7 @@ public TrackSelectionDialogBuilder setOverride(@Nullable TrackSelectionOverride */ public TrackSelectionDialogBuilder setOverrides( Map overrides) { - this.overrides = overrides; + this.overrides = ImmutableMap.copyOf(overrides); return this; } From 24bfe3a5e0787fb94c59db7e89b37f19d57cd78c Mon Sep 17 00:00:00 2001 From: bachinger Date: Mon, 18 Jul 2022 10:47:57 +0000 Subject: [PATCH 071/422] Implement getCurrentTracks in MediaController After this change the current tracks are sent to the controller as part of `PlayerInfo` and call `Listener.onTracksChanged()` in case of a change in tracks. PiperOrigin-RevId: 461578695 (cherry picked from commit 9a895cd18f020a4f9df24c142406e91507a76605) --- .../media3/session/MediaController.java | 5 +- .../session/MediaControllerImplBase.java | 11 +++++ .../session/MediaControllerImplLegacy.java | 7 +++ .../androidx/media3/session/MediaSession.java | 3 ++ .../media3/session/MediaSessionImpl.java | 24 +++++++-- .../androidx/media3/session/PlayerInfo.java | 27 +++++++++- .../media3/session/PlayerWrapper.java | 1 + .../session/common/IRemoteMediaSession.aidl | 1 + .../test/session/common/CommonConstants.java | 1 + .../session/MediaControllerListenerTest.java | 49 +++++++++++++++++++ .../media3/session/MediaControllerTest.java | 23 +++++++++ .../session/MediaSessionProviderService.java | 18 +++++++ .../androidx/media3/session/MockPlayer.java | 36 ++++++++------ .../media3/session/RemoteMediaSession.java | 11 +++++ 14 files changed, 198 insertions(+), 19 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index a3a140c7724..7b474770a31 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -1677,7 +1677,8 @@ public MediaMetadata getMediaMetadata() { @Override public Tracks getCurrentTracks() { - return Tracks.EMPTY; // TODO(b/178486745) + verifyApplicationThread(); + return isConnected() ? impl.getCurrentTracks() : Tracks.EMPTY; } @Override @@ -2010,6 +2011,8 @@ interface MediaControllerImpl { Commands getAvailableCommands(); + Tracks getCurrentTracks(); + TrackSelectionParameters getTrackSelectionParameters(); void setTrackSelectionParameters(TrackSelectionParameters parameters); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index d9d804c1e65..4434e2f2b45 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -57,6 +57,7 @@ import static androidx.media3.common.Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED; import static androidx.media3.common.Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED; import static androidx.media3.common.Player.EVENT_TIMELINE_CHANGED; +import static androidx.media3.common.Player.EVENT_TRACKS_CHANGED; import static androidx.media3.common.Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED; import static androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED; import static androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_REPEAT; @@ -132,6 +133,7 @@ import androidx.media3.common.Timeline.RemotableTimeline; import androidx.media3.common.Timeline.Window; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.BundleableUtil; @@ -1766,6 +1768,11 @@ public Commands getAvailableCommands() { return intersectedPlayerCommands; } + @Override + public Tracks getCurrentTracks() { + return playerInfo.currentTracks; + } + @Override public TrackSelectionParameters getTrackSelectionParameters() { return playerInfo.trackSelectionParameters; @@ -2388,6 +2395,10 @@ void onPlayerInfoChanged( listener.onMediaItemTransition( currentMediaItem, playerInfo.mediaItemTransitionReason)); } + if (!Util.areEqual(oldPlayerInfo.currentTracks, newPlayerInfo.currentTracks)) { + listeners.queueEvent( + EVENT_TRACKS_CHANGED, listener -> listener.onTracksChanged(newPlayerInfo.currentTracks)); + } if (!Util.areEqual(oldPlayerInfo.playbackParameters, playerInfo.playbackParameters)) { listeners.queueEvent( EVENT_PLAYBACK_PARAMETERS_CHANGED, diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 04006c7e53e..893c6ecd929 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -83,6 +83,7 @@ import androidx.media3.common.Timeline; import androidx.media3.common.Timeline.Window; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Clock; @@ -1184,6 +1185,11 @@ public Commands getAvailableCommands() { return controllerInfo.availablePlayerCommands; } + @Override + public Tracks getCurrentTracks() { + return Tracks.EMPTY; + } + @Override public TrackSelectionParameters getTrackSelectionParameters() { return TrackSelectionParameters.DEFAULT_WITHOUT_CONTEXT; @@ -2102,6 +2108,7 @@ private static ControllerInfo createControllerInfo( seekBackIncrementMs, seekForwardIncrementMs, /* maxSeekToPreviousPositionMs= */ 0L, + /* currentTracks= */ Tracks.EMPTY, /* parameters= */ TrackSelectionParameters.DEFAULT_WITHOUT_CONTEXT); return new ControllerInfo( diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index d1702983282..12e188ef091 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -51,6 +51,7 @@ import androidx.media3.common.Rating; import androidx.media3.common.Timeline; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -1123,6 +1124,8 @@ default void onIsPlayingChanged(int seq, boolean isPlaying) throws RemoteExcepti default void onIsLoadingChanged(int seq, boolean isLoading) throws RemoteException {} + default void onTracksChanged(int seq, Tracks tracks) throws RemoteException {} + default void onTrackSelectionParametersChanged(int seq, TrackSelectionParameters parameters) throws RemoteException {} diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index 6f720629fe1..c1924412e6e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -61,6 +61,7 @@ import androidx.media3.common.Rating; import androidx.media3.common.Timeline; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Log; @@ -401,13 +402,13 @@ private void dispatchOnPlayerInfoChanged(PlayerInfo playerInfo, boolean excludeT .onPlayerInfoChanged( seq, playerInfo, - !sessionStub + /* excludeMediaItems= */ !sessionStub .getConnectedControllersManager() .isPlayerCommandAvailable(controller, Player.COMMAND_GET_TIMELINE), - !sessionStub + /* excludeMediaItemsMetadata= */ !sessionStub .getConnectedControllersManager() .isPlayerCommandAvailable(controller, Player.COMMAND_GET_MEDIA_ITEMS_METADATA), - !sessionStub + /* excludeCues= */ !sessionStub .getConnectedControllersManager() .isPlayerCommandAvailable(controller, Player.COMMAND_GET_TEXT), excludeTimeline); @@ -1087,6 +1088,23 @@ public void onAvailableCommandsChanged(Player.Commands availableCommands) { (callback, seq) -> callback.onDeviceInfoChanged(seq, session.playerInfo.deviceInfo)); } + @Override + public void onTracksChanged(Tracks tracks) { + @Nullable MediaSessionImpl session = getSession(); + if (session == null) { + return; + } + session.verifyApplicationThread(); + @Nullable PlayerWrapper player = this.player.get(); + if (player == null) { + return; + } + session.playerInfo = session.playerInfo.copyWithCurrentTracks(tracks); + session.onPlayerInfoChangedHandler.sendPlayerInfoChangedMessage(/* excludeTimeline= */ true); + session.dispatchRemoteControllerTaskWithoutReturn( + (callback, seq) -> callback.onTracksChanged(seq, tracks)); + } + @Override public void onTrackSelectionParametersChanged(TrackSelectionParameters parameters) { @Nullable MediaSessionImpl session = getSession(); diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index 6b886bb5682..6be5b3e5b75 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -42,6 +42,7 @@ import androidx.media3.common.Timeline; import androidx.media3.common.Timeline.Window; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Assertions; @@ -90,6 +91,7 @@ public static class Builder { private long seekBackIncrementMs; private long seekForwardIncrementMs; private long maxSeekToPreviousPositionMs; + private Tracks currentTracks; private TrackSelectionParameters trackSelectionParameters; public Builder(PlayerInfo playerInfo) { @@ -121,6 +123,7 @@ public Builder(PlayerInfo playerInfo) { seekBackIncrementMs = playerInfo.seekBackIncrementMs; seekForwardIncrementMs = playerInfo.seekForwardIncrementMs; maxSeekToPreviousPositionMs = playerInfo.maxSeekToPreviousPositionMs; + currentTracks = playerInfo.currentTracks; trackSelectionParameters = playerInfo.trackSelectionParameters; } @@ -267,6 +270,11 @@ public Builder setMaxSeekToPreviousPositionMs(long maxSeekToPreviousPositionMs) return this; } + public Builder setCurrentTracks(Tracks tracks) { + currentTracks = tracks; + return this; + } + public Builder setTrackSelectionParameters(TrackSelectionParameters parameters) { trackSelectionParameters = parameters; return this; @@ -305,6 +313,7 @@ public PlayerInfo build() { seekBackIncrementMs, seekForwardIncrementMs, maxSeekToPreviousPositionMs, + currentTracks, trackSelectionParameters); } } @@ -350,6 +359,7 @@ public PlayerInfo build() { /* seekBackIncrementMs= */ 0, /* seekForwardIncrementMs= */ 0, /* maxSeekToPreviousPositionMs= */ 0, + /* currentTracks= */ Tracks.EMPTY, TrackSelectionParameters.DEFAULT_WITHOUT_CONTEXT); @Nullable public final PlaybackException playerError; @@ -408,6 +418,8 @@ public PlayerInfo build() { public final long maxSeekToPreviousPositionMs; + public final Tracks currentTracks; + public final TrackSelectionParameters trackSelectionParameters; @CheckResult @@ -578,6 +590,10 @@ public PlayerInfo copyWithMaxSeekToPreviousPositionMs(long maxSeekToPreviousPosi return new Builder(this).setMaxSeekToPreviousPositionMs(maxSeekToPreviousPositionMs).build(); } + public PlayerInfo copyWithCurrentTracks(Tracks tracks) { + return new Builder(this).setCurrentTracks(tracks).build(); + } + @CheckResult public PlayerInfo copyWithTrackSelectionParameters(TrackSelectionParameters parameters) { return new Builder(this).setTrackSelectionParameters(parameters).build(); @@ -612,6 +628,7 @@ public PlayerInfo( long seekBackIncrementMs, long seekForwardIncrementMs, long maxSeekToPreviousPositionMs, + Tracks currentTracks, TrackSelectionParameters parameters) { this.playerError = playerError; this.mediaItemTransitionReason = mediaItemTransitionReason; @@ -641,6 +658,7 @@ public PlayerInfo( this.seekBackIncrementMs = seekBackIncrementMs; this.seekForwardIncrementMs = seekForwardIncrementMs; this.maxSeekToPreviousPositionMs = maxSeekToPreviousPositionMs; + this.currentTracks = currentTracks; this.trackSelectionParameters = parameters; } @@ -696,6 +714,7 @@ private boolean isPlaying( FIELD_SEEK_FORWARD_INCREMENT_MS, FIELD_MAX_SEEK_TO_PREVIOUS_POSITION_MS, FIELD_TRACK_SELECTION_PARAMETERS, + FIELD_CURRENT_TRACKS, }) private @interface FieldNumber {} @@ -728,7 +747,8 @@ private boolean isPlaying( private static final int FIELD_SEEK_FORWARD_INCREMENT_MS = 27; private static final int FIELD_MAX_SEEK_TO_PREVIOUS_POSITION_MS = 28; private static final int FIELD_TRACK_SELECTION_PARAMETERS = 29; - // Next field key = 30 + private static final int FIELD_CURRENT_TRACKS = 30; + // Next field key = 31 public Bundle toBundle( boolean excludeMediaItems, @@ -774,6 +794,7 @@ public Bundle toBundle( bundle.putLong(keyForField(FIELD_SEEK_FORWARD_INCREMENT_MS), seekForwardIncrementMs); bundle.putLong( keyForField(FIELD_MAX_SEEK_TO_PREVIOUS_POSITION_MS), maxSeekToPreviousPositionMs); + bundle.putBundle(keyForField(FIELD_CURRENT_TRACKS), currentTracks.toBundle()); bundle.putBundle( keyForField(FIELD_TRACK_SELECTION_PARAMETERS), trackSelectionParameters.toBundle()); @@ -886,6 +907,9 @@ private static PlayerInfo fromBundle(Bundle bundle) { bundle.getLong(keyForField(FIELD_SEEK_FORWARD_INCREMENT_MS), /* defaultValue= */ 0); long maxSeekToPreviousPosition = bundle.getLong(keyForField(FIELD_MAX_SEEK_TO_PREVIOUS_POSITION_MS), /* defaultValue= */ 0); + Bundle currentTracksBundle = bundle.getBundle(keyForField(FIELD_CURRENT_TRACKS)); + Tracks currentTracks = + currentTracksBundle == null ? Tracks.EMPTY : Tracks.CREATOR.fromBundle(currentTracksBundle); @Nullable Bundle trackSelectionParametersBundle = bundle.getBundle(keyForField(FIELD_TRACK_SELECTION_PARAMETERS)); @@ -922,6 +946,7 @@ private static PlayerInfo fromBundle(Bundle bundle) { seekBackIncrementMs, seekForwardIncrementMs, maxSeekToPreviousPosition, + currentTracks, trackSelectionParameters); } diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerWrapper.java b/libraries/session/src/main/java/androidx/media3/session/PlayerWrapper.java index d1f25b41cd8..793fdd1136f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerWrapper.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerWrapper.java @@ -951,6 +951,7 @@ public PlayerInfo createPlayerInfoForBundling() { getSeekBackIncrement(), getSeekForwardIncrement(), getMaxSeekToPreviousPosition(), + getCurrentTracks(), getTrackSelectionParameters()); } diff --git a/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl b/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl index 4711fa62b1b..008bcc25452 100644 --- a/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl +++ b/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl @@ -85,4 +85,5 @@ interface IRemoteMediaSession { void notifyRenderedFirstFrame(String sessionId); void notifyMaxSeekToPreviousPositionChanged(String sessionid, long maxSeekToPreviousPositionMs); void notifyTrackSelectionParametersChanged(String sessionId, in Bundle parameters); + void notifyTracksChanged(String sessionId, in Bundle tracks); } diff --git a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/CommonConstants.java b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/CommonConstants.java index 32607324715..64a92bd2a89 100644 --- a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/CommonConstants.java +++ b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/CommonConstants.java @@ -103,6 +103,7 @@ public class CommonConstants { public static final String KEY_MEDIA_METADATA = "mediaMetadata"; public static final String KEY_MAX_SEEK_TO_PREVIOUS_POSITION_MS = "maxSeekToPreviousPositionMs"; public static final String KEY_TRACK_SELECTION_PARAMETERS = "trackSelectionParameters"; + public static final String KEY_CURRENT_TRACKS = "currentTracks"; // SessionCompat arguments public static final String KEY_SESSION_COMPAT_TOKEN = "sessionCompatToken"; diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index b84b90a9a67..904f4a8bc40 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -50,6 +50,7 @@ import androidx.media3.common.C; import androidx.media3.common.DeviceInfo; import androidx.media3.common.FlagSet; +import androidx.media3.common.Format; import androidx.media3.common.MediaItem; import androidx.media3.common.MediaMetadata; import androidx.media3.common.PlaybackException; @@ -62,7 +63,9 @@ import androidx.media3.common.Player.RepeatMode; import androidx.media3.common.Player.State; import androidx.media3.common.Timeline; +import androidx.media3.common.TrackGroup; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.Cue; import androidx.media3.common.text.CueGroup; @@ -829,6 +832,52 @@ public void onTrackSelectionParametersChanged(TrackSelectionParameters parameter assertThat(parametersFromGetterRef.get()).isEqualTo(parameters); } + @Test + public void onTracksChanged() throws Exception { + RemoteMediaSession.RemoteMockPlayer player = remoteSession.getMockPlayer(); + ImmutableList trackGroups = + ImmutableList.of( + new Tracks.Group( + new TrackGroup(new Format.Builder().setChannelCount(2).build()), + /* adaptiveSupported= */ false, + /* trackSupport= */ new int[1], + /* trackSelected= */ new boolean[1]), + new Tracks.Group( + new TrackGroup(new Format.Builder().setHeight(1024).build()), + /* adaptiveSupported= */ false, + /* trackSupport= */ new int[1], + /* trackSelected= */ new boolean[1])); + Tracks currentTracks = new Tracks(trackGroups); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + AtomicReference changedCurrentTracksFromParamRef = new AtomicReference<>(); + AtomicReference changedCurrentTracksFromGetterRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(1); + Player.Listener listener = + new Player.Listener() { + @Override + public void onTracksChanged(Tracks currentTracks) { + changedCurrentTracksFromParamRef.set(currentTracks); + changedCurrentTracksFromGetterRef.set(controller.getCurrentTracks()); + latch.countDown(); + } + }; + AtomicReference initialCurrentTracksRef = new AtomicReference<>(); + threadTestRule + .getHandler() + .postAndSync( + () -> { + initialCurrentTracksRef.set(controller.getCurrentTracks()); + controller.addListener(listener); + }); + + player.notifyTracksChanged(currentTracks); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(initialCurrentTracksRef.get()).isEqualTo(Tracks.EMPTY); + assertThat(changedCurrentTracksFromParamRef.get()).isEqualTo(currentTracks); + assertThat(changedCurrentTracksFromGetterRef.get()).isEqualTo(currentTracks); + } + /** This also tests {@link MediaController#getShuffleModeEnabled()}. */ @Test public void onShuffleModeEnabledChanged() throws Exception { diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java index 63ea9ad1c9b..07cbfff83ec 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java @@ -35,6 +35,7 @@ import android.os.RemoteException; import androidx.media3.common.AudioAttributes; import androidx.media3.common.C; +import androidx.media3.common.Format; import androidx.media3.common.HeartRating; import androidx.media3.common.IllegalSeekPositionException; import androidx.media3.common.MediaItem; @@ -47,7 +48,9 @@ import androidx.media3.common.Rating; import androidx.media3.common.StarRating; import androidx.media3.common.Timeline; +import androidx.media3.common.TrackGroup; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.util.Util; import androidx.media3.test.session.common.HandlerThreadTestRule; @@ -283,6 +286,22 @@ public void gettersAfterConnected() throws Exception { long seekBackIncrementMs = 1_000; long seekForwardIncrementMs = 2_000; long maxSeekToPreviousPositionMs = 300; + ImmutableList trackGroups = + new ImmutableList.Builder() + .add( + new Tracks.Group( + new TrackGroup(new Format.Builder().setChannelCount(2).build()), + /* adaptiveSupported= */ false, + /* trackSupport= */ new int[1], + /* trackSelected= */ new boolean[1])) + .add( + new Tracks.Group( + new TrackGroup(new Format.Builder().setHeight(1024).build()), + /* adaptiveSupported= */ false, + /* trackSupport= */ new int[1], + /* trackSelected= */ new boolean[1])) + .build(); + Tracks currentTracks = new Tracks(trackGroups); TrackSelectionParameters trackSelectionParameters = TrackSelectionParameters.DEFAULT_WITHOUT_CONTEXT.buildUpon().setMaxVideoSizeSd().build(); Timeline timeline = MediaTestUtils.createTimeline(5); @@ -316,6 +335,7 @@ public void gettersAfterConnected() throws Exception { .setSeekForwardIncrement(seekForwardIncrementMs) .setMaxSeekToPreviousPositionMs(maxSeekToPreviousPositionMs) .setTrackSelectionParameters(trackSelectionParameters) + .setCurrentTracks(currentTracks) .setTimeline(timeline) .setCurrentMediaItemIndex(currentMediaItemIndex) .build(); @@ -347,6 +367,7 @@ public void gettersAfterConnected() throws Exception { AtomicLong seekBackIncrementRef = new AtomicLong(); AtomicLong seekForwardIncrementRef = new AtomicLong(); AtomicLong maxSeekToPreviousPositionMsRef = new AtomicLong(); + AtomicReference currentTracksRef = new AtomicReference<>(); AtomicReference trackSelectionParametersRef = new AtomicReference<>(); AtomicReference timelineRef = new AtomicReference<>(); AtomicInteger currentMediaItemIndexRef = new AtomicInteger(); @@ -379,6 +400,7 @@ public void gettersAfterConnected() throws Exception { seekBackIncrementRef.set(controller.getSeekBackIncrement()); seekForwardIncrementRef.set(controller.getSeekForwardIncrement()); maxSeekToPreviousPositionMsRef.set(controller.getMaxSeekToPreviousPosition()); + currentTracksRef.set(controller.getCurrentTracks()); trackSelectionParametersRef.set(controller.getTrackSelectionParameters()); timelineRef.set(controller.getCurrentTimeline()); currentMediaItemIndexRef.set(controller.getCurrentMediaItemIndex()); @@ -409,6 +431,7 @@ public void gettersAfterConnected() throws Exception { assertThat(seekForwardIncrementRef.get()).isEqualTo(seekForwardIncrementMs); assertThat(maxSeekToPreviousPositionMsRef.get()).isEqualTo(maxSeekToPreviousPositionMs); assertThat(trackSelectionParametersRef.get()).isEqualTo(trackSelectionParameters); + assertThat(currentTracksRef.get()).isEqualTo(currentTracks); assertTimelineMediaItemsEquals(timelineRef.get(), timeline); assertThat(currentMediaItemIndexRef.get()).isEqualTo(currentMediaItemIndex); assertThat(currentMediaItemRef.get()).isEqualTo(currentMediaItem); diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index fa4605cfaae..9336008501b 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -29,6 +29,7 @@ import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_MEDIA_ITEM_INDEX; import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_PERIOD_INDEX; import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_POSITION; +import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_TRACKS; import static androidx.media3.test.session.common.CommonConstants.KEY_DEVICE_INFO; import static androidx.media3.test.session.common.CommonConstants.KEY_DEVICE_MUTED; import static androidx.media3.test.session.common.CommonConstants.KEY_DEVICE_VOLUME; @@ -79,6 +80,7 @@ import androidx.media3.common.Player.PositionInfo; import androidx.media3.common.Timeline; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Log; @@ -355,6 +357,10 @@ private Player createMockPlayer(Bundle config) { } player.maxSeekToPreviousPositionMs = config.getLong(KEY_MAX_SEEK_TO_PREVIOUS_POSITION_MS, player.maxSeekToPreviousPositionMs); + @Nullable Bundle currentTracksBundle = config.getBundle(KEY_CURRENT_TRACKS); + if (currentTracksBundle != null) { + player.currentTracks = Tracks.CREATOR.fromBundle(currentTracksBundle); + } @Nullable Bundle trackSelectionParametersBundle = config.getBundle(KEY_TRACK_SELECTION_PARAMETERS); if (trackSelectionParametersBundle != null) { @@ -1004,5 +1010,17 @@ public void notifyTrackSelectionParametersChanged(String sessionId, Bundle param player.notifyTrackSelectionParametersChanged(); }); } + + @Override + public void notifyTracksChanged(String sessionId, Bundle tracksBundle) throws RemoteException { + Tracks tracks = Tracks.CREATOR.fromBundle(tracksBundle); + runOnHandler( + () -> { + MediaSession session = sessionMap.get(sessionId); + MockPlayer player = (MockPlayer) session.getPlayer(); + player.currentTracks = tracks; + player.notifyTracksChanged(); + }); + } } } diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index ee26b18e33e..e08b20c5956 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -251,6 +251,7 @@ public class MockPlayer implements Player { public long seekForwardIncrementMs; public long maxSeekToPreviousPositionMs; public TrackSelectionParameters trackSelectionParameters; + public Tracks currentTracks; private MockPlayer(Builder builder) { changePlayerStateWithTransportControl = builder.changePlayerStateWithTransportControl; @@ -299,6 +300,7 @@ private MockPlayer(Builder builder) { commands = new Player.Commands.Builder().addAllCommands().build(); + currentTracks = Tracks.EMPTY; trackSelectionParameters = TrackSelectionParameters.DEFAULT_WITHOUT_CONTEXT; } @@ -1177,6 +1179,22 @@ public void clearVideoTextureView(@Nullable TextureView textureView) { } } + @Override + public Tracks getCurrentTracks() { + return currentTracks; + } + + @Override + public TrackSelectionParameters getTrackSelectionParameters() { + return trackSelectionParameters; + } + + @Override + public void setTrackSelectionParameters(TrackSelectionParameters parameters) { + trackSelectionParameters = parameters; + checkNotNull(conditionVariables.get(METHOD_SET_TRACK_SELECTION_PARAMETERS)).open(); + } + public boolean surfaceExists() { return surface != null; } @@ -1225,20 +1243,10 @@ public void notifyTrackSelectionParametersChanged() { } } - @Override - public Tracks getCurrentTracks() { - throw new UnsupportedOperationException(); - } - - @Override - public TrackSelectionParameters getTrackSelectionParameters() { - return trackSelectionParameters; - } - - @Override - public void setTrackSelectionParameters(TrackSelectionParameters parameters) { - trackSelectionParameters = parameters; - checkNotNull(conditionVariables.get(METHOD_SET_TRACK_SELECTION_PARAMETERS)).open(); + public void notifyTracksChanged() { + for (Listener listener : listeners) { + listener.onTracksChanged(currentTracks); + } } @Override diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java index 9d22d6df392..45da31105f6 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java @@ -29,6 +29,7 @@ import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_MEDIA_ITEM_INDEX; import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_PERIOD_INDEX; import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_POSITION; +import static androidx.media3.test.session.common.CommonConstants.KEY_CURRENT_TRACKS; import static androidx.media3.test.session.common.CommonConstants.KEY_DEVICE_INFO; import static androidx.media3.test.session.common.CommonConstants.KEY_DEVICE_MUTED; import static androidx.media3.test.session.common.CommonConstants.KEY_DEVICE_VOLUME; @@ -77,6 +78,7 @@ import androidx.media3.common.Player.PositionInfo; import androidx.media3.common.Timeline; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Log; @@ -421,6 +423,10 @@ public void notifyTrackSelectionParametersChanged(TrackSelectionParameters param throws RemoteException { binder.notifyTrackSelectionParametersChanged(sessionId, parameters.toBundle()); } + + public void notifyTracksChanged(Tracks tracks) throws RemoteException { + binder.notifyTracksChanged(sessionId, tracks.toBundle()); + } } //////////////////////////////////////////////////////////////////////////////// @@ -687,6 +693,11 @@ public MockPlayerConfigBuilder setTrackSelectionParameters( return this; } + public MockPlayerConfigBuilder setCurrentTracks(Tracks tracks) { + bundle.putBundle(KEY_CURRENT_TRACKS, tracks.toBundle()); + return this; + } + public Bundle build() { return bundle; } From add44470cf59574769f16ee234d4aed354cbbc2d Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 18 Jul 2022 11:20:31 +0000 Subject: [PATCH 072/422] HDR: Throw when unexpected color transfer encountered. This may happen when a containers' color transfer incorrectly does not match the video's color transfer. An example of a file with such a mismatch is the current Transformer demo HDR10 sample file. Manually tested by confirming that no errors are emitted for SDR and HLG sample files, and that errors are emitted for our incorrect HDR10 sample file. PiperOrigin-RevId: 461583532 (cherry picked from commit 9f7a159bc4c8a82653fdbb6d62e4f79b020cff06) --- .../mp4/hdr10-video-with-sdr-container.mp4 | Bin 0 -> 2688739 bytes .../media3/transformer/AndroidTestUtil.java | 3 + .../mh/SetHdrEditingTransformationTest.java | 63 ++++++++++++++++++ .../media3/transformer/DefaultCodec.java | 46 +++++++++++-- .../VideoTranscodingSamplePipeline.java | 2 - 5 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/mp4/hdr10-video-with-sdr-container.mp4 create mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java diff --git a/libraries/test_data/src/test/assets/media/mp4/hdr10-video-with-sdr-container.mp4 b/libraries/test_data/src/test/assets/media/mp4/hdr10-video-with-sdr-container.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..16481526a2b4b507dde5f6d5fa92a976c934f420 GIT binary patch literal 2688739 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 z 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 z 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�RXg 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%0D1{dYo3pCq}~Q+)}Mz{HDMz}Bp-Kno*# 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%0A=CZEJ9c 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%0DSXaEhKwrLZu=r|RsL z7yNGv-ei)6SHu#Ao&4jDwwfPQw)>fu)X?g;%M&~48KF;F#;OlgW513sQ>wNSt&W|_ zmK2G|=Ws~c6hbf~2!O8;-AI_W?00ekai7tR%IfqYKP%*IcSj2K>y_IO63Q!d2ST+LZv*YggK~SI$BPc%3JZ6Lb!hT&WHF7JOfs>c?8@8#8N6+(Ref)t&0m$dwa zS^X$=HnyGaS1Wn*RIBUpDdGX%KJDkPRzG�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 A^h1W$1BC*S;w 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≦y-uV0EXlbS4@T1mf`bD>51ilxoY@1% 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 z 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

    # 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

      %4m|(U?p5dOW;pUCs^ZF)QN~Z$ZzIfI#uL_Ru1V z__=qif?hJc;?2A9^Du{v+GAy1SD((R7?eF-krj7s(@rWizP&zO9UZ$m&zb$t8?=UO zLN%c7rz^>E=f$+lvCD7yX`AXa4;Nt*eE_rxpm8&x&gxn2%k3ke&z11XP?FyL@j8;I zF!j9WbNk~(lOj_q~4PCS4a7+#iYdmRnvyI=A8jEG}QJwXac!}Nz zAL9*9p>)FNjFCWi==7k=Du-M81G|852XGzqfoCmw+~u<-->*86`P~r8Bx1D2)M3D- zqE1km9{bifU_~698WTBqYGV4tR)Gv$2m|x_F+;fS_dc{{yg0%oOu-OyeDU&V5T@~} zNtPqJKn&EI{Kgiy!}Ocv`-P6_q2Bd|pk^OvpLtu|V~zpk<0T&qN@uLgdVBEOwYV{X zrP9JdM21iPP>J=h2<{mZ)Q^m?)3Y0K2=?}|MIBMMVnLuJJ=@!Lb2}bwu!f8=_m;$N zhE+SQlP|qU{$Z{ovXh>H^rvmqpPgn+cY}n#_7u4T4mIVYhK~zbU3bDcdk;3FOf%tV zPq?+4;AWhYL>_F;1cV0}@<;|&(&T4R6`geUt?iBMQY>x3Vqvvx^PLvZRqJ_O7QZ@f znM{+Kl0?-Ip#{-t=c9?+nH&$@5BoKf-fLm1fe29ycUul~-`bswnJ77fXogoZ&+!XOK@G zzOOE2@>AO|>$z1syVZmC{X08P0V2sWm_ezQ$u|5FCezLHY<`iNj#V{d#Fcbf!Fgee zojU{VayFE1DBAr%WsSv|x-FMv_5wcS7*Sm)DN7Ed2{bL^PT68PYwxqj^y8-nZTict zB&z|4%=}4pO37wI^}vR(z%p6pSE)DA`GDN;QzNY{**UgpKK3lla3K@V;1BN{)G9Iu zYA>H(f#goB$WTBcdZTvw>@nce_9XY_pM40~hW>$HR?CN8ggpIf`$VnpcKWXAmJ<(C zs67I(ZhTcb{zogpU03LMsnd0yDulwu3!ik^qCN zd6IS)fl8F%{nXnMuT9tL=?7sf(3?S>t?k2tH1jx;j5|tr<2^5d1T4;#I z<3-x#i2moKh%>nlwO@*@IK4jS9X)=^r}j3c(eI*zJU?Tn!4o}`d(2dSecF4bR;Vx; z6qjt@U->I5S!N0uh+%Q>g%<8jlF)f5WR9%LPWnRGFRthesT6G8!s9kXGK!YGk?2aN zh+EJvvNqv|{&Ze{)E`o+?8jVJC0eP<%z^YK1xoiszss)DHXpUI{CK}%u}6w;&P@{j zg}a*{Y|!2#dXH?!f*1k*l(z)F8pLSh25I}k9nbAJ2FW3=8l|Ap)=(L4<*pU56u}V* z^cH`FF%^>s{{4s-KHM-=L^G!}=fC&NxN=)&6#~-_#Bl>5Mk#Btw=pm2ukeyWd(uZ& zq%mR+TtW~jZLG(8mnMeU4xb;I_fvu*f9~n*q#%1JMa6}8@xeU~6m&I341z&|+ic%t zj?Bu#kWYAH#>J39gw$b-dje=xgIWJ1Vx9h%j|DbyFDwvoW6z(bx}~^Ue!K6%UA-Ag zt4%9aCO7a6Uc~x&jB@cbzWc&!hUU6a_0aH4fEqpmxl8{p^eDn`A{i66SacEYX9JPk ziV2H9Z(-hA?#sYAok>d4bDLXfD;Vd|{9IIpayr@O9=5$MchNKCY53^Z( zkfew$(38Ox!z>*|v0Rbgkg@4-e5n z?pC!vyG39dAbUa~B2NpjN?2)6Le2Ibda#P0Vbz!~KRf+-Rr*9T$s<32HDXx8s}b^C zz`pGN6FU}j5}sHpwZG2j4V;14AXcmyn^{Nu9~Uyxw7;>QO{aO!#n&F~(v4)6Z7G=B z?mBv4QUKjs3xAmLeCDZ3V5=o%c<0a5mA9iIOMD6aNw`$#l)5?jyIOZUg%FtovKgkD zWrhutNF`$piSym}L)7&FQ&rtJD=JpGc(Fl);5q^DlK`SDz_4teHn0@>f~?o5_jH`- zipi+h9tQH8E+=U}S3kCcW#vd?IjmIPqRz_?Yz)`fR4!sJe@zf__>f5=j;*YWuf5(m zTT9evGTtS67lkH+NO?%`DM&xv-G{AGAyeXHSMkptP^tCudv-KQ!bUEVA@DcKzm+$S z^wx8j#%%dV5NqWL!f-b&KA$ux;;@1fn0W5Z%n2)XU_%hU-t!|(lu0R>a*)0vCkH`l z9iXUF2!Lz!^rb6+FeZZ)2L<+rnrSC?nRl}#nxyrIu(*jN)00R#>WN@04vfT!kj_Ls z{z0W|BZS9Ps+*dNj0R3Q(UBGPvNneX8`ts8ZrI@k!b^hp4O=~lcfAKv>_^;v+c=30 z{_uH!7~!I+ae(g}UEbq@chF8>(MG)@BWr;K6=EqAQCJ%*EH6)H4m#(tpJ_Q5*pu9r z2DDDFRWRW}%2|8nm7ZxIUgNkv{;WEC7oWOa#(J7>{$R{pt1ZSmrcuW*SJ@s^*8jFI z@&J2Sxb}Jm?vFuKg6$9hrf%vVEVug;<;WYPp#Uq*&5#BWIgdGqf@v_AKe`m}Y8jKY z-Ft<{56nN54#Q{G3)>a+<<7(u<;T)n7{Mx$SL3$u6*jUUwKyxB**^?>8MIxO(a2nA znA(*g{l2j=TJ#vSifv~@70P43CB6EuZ%65w%*rm&Ma~Cd{FdXh;%IKu(&-hETLi%n zStE93OYItKop0m5!IDlhIlc#9P(vC z;!RUH>-Cc{-xD_34JIwW6COgh`A{5vFb5yy<;|WU8(4RnunTYPwV>(kucTn>I&y%5 z5v7QA^wGRdH%DN~M)kBc8)kl{+)monA%2iVjSwCW>tX@n^YD?6tbNy*=XP-T%>a05 zH;}4{qKijb6ceo4l@}_49I4WGZ2`d<8mcT59W3c0U6sFj5rT}+&cGFY_M{h%l2fCN zd@4gR!E@qo;blWuab-$uf@WJoeGe>Zb-BR8;o#j$XN(J?O1lz$WfZ~7GAHk|OE#ts zMYEpQe4ZOtf|y7^PVa))&FBi9He~bUj%Tyy`ARMxoX4GkGnE_JP`O6$8{GXZk zHeOSaJwd@fUsy+E34;vG-tcOJMHchNuxJ1Yzd%NBu(YX!(ni292qoFe`2Qqb6mE+R zd=N)vmgvETsi&UGQ-&cII7n_G58peA1|(@X~r9>pSXXtUxwARM8Pn?Z6R;FA8ux z8$V(=mY$Y&L^_wFL}yya{B`pY9tkYXilSuc>X+0|W9n)vv)&!Tr!kpi^c4CLeQ3j9 z>1+OF#O`S1s04fVmF1aQ;q&PzF6qemY$4#FE7di~;d9lYMee!|?YB#8%Y)^V{C8uS z6x|wGr!g8v-{jY~K0*l5Tr48F=I94L_9fTk>Yq*rj5RMLZ8#ZK922K{Y&JvsdM42G zNu05y!V0vdU#Fq>>#J=V7xVU~U4_cN&NM?)@-2TEPP^6Wz*peX#Vzd`89=$N2gl?Fc#rlEIof{iJSxHNx3S6-<$xC zUNjVt!0>2L0vkhLfQk>X_7;Q*e^#p1-seh@d%(+)&$*7m?=b27fmHr7_mSv=QVd%d zX_N!L9#Z=u0t@jIGt&7i-WhC62x2|E5A_4)Mn}&eZsvU6&ub+T0eEFd;;`{o5+_vTp2lG0A(gAHc!x$bqgRY0r zFL;Y1Xxp1;{i#c1aec|sv`G)5T=3SwOeC^T>M~-Z=Wm2V%!TT>M%KEzs%`K~7rbBA z(>rB<6yOH)>>Owox(wg;0P2uqISN@u3_;3ZFjaV7jEYb}A^=cJKC6j_|HK6|aZj=c7gka=h*n7&*2jsa#hsHK zn?9yL8LslnKAl-u^Z@JK&KfSSr-9ZxtkM89=%QSoFN%%^Q{07Yv2K)s$7Q?|aGuGG zE{~~u-<}tW&N!bb@E%)>3cT;Kl{g z!bh1jp`szFtMl6OxVS4Q1uSDJru97YUf0dXhBLQsks^%DpwwSE>vYUpNc{GpF9vsM zo*ggFgfXu2L;nTCt{yB*S|`@MUP+d#Fq6K^HSkzKTJ1o{M%Vu4s?!Gf$r@^EVCBDi zV)q4F(@&<@Cw`(Xk6#tSq#~Z83tAZIQI>=T7rZZe5{*_i zm)jl{L;iP44EwCXGZG-&2Zc7)998>s_p5eyGy7LuQ|{*iKuCd}8w%G9f#SJ%Yt z(xWVfRz@tewpzF~?I6Rv^3h55(adC~Irx75d>7Er$N=dFt3_JGOG5uF4zH&H$A^1S z&LmOpgd5lfJ@);WRF-tC_(WBotR2+eN|BmiL?cU;7mZ(I7y?Q0FT(pc68>lY65KxI z@KP8M&PGcW9dG?GdoS1M^OvzIYweaMNo7JuDD+1yjx5(GVW@G>d+jocXh2FNvuiTu zFQDL)1$}X<^>qGcKHyyLdR1{oEhHm@r-O#?Kry!ip2MRVPv$Cuh?*G5L@@NbHSeI* zp$DXyeR12N_Ia}1i$qQ9p{5&hMRU5tc4Li4?87;MssM0rB z#CFm6m1HhSj`}~|Zq}5Z{3K7K>dRcmcPw(%UQRVKPBJu2EHyC;BB>=`l3k7nHsBSA zF^h(i&J)5C;88kUE^&nv`Mv@?9c$tC^HdUz1d56IHJ=MozAuc8aVZt;WAjR^o)$bH z(QbmeDL7_+2r1xEvPi?#uz>2xN+l3r+PUC`$DPk{gYh{#C28mE)lw60C{aE>6okbJ ztWxZELF?cU=}DSeMlPjN=@=kt`{y|1r6eB576Kx+zPMYg?F01i2vXxkJT`j(2n=Z< zuwQRNFI_1z2IQw%*H>AUelJjnm>|KVh6cR+bpvEjW3yIB83Z-M{TNqJ?uK*&0)GA6 z>6+?K^C|M>)Mgp!TS661ZL6b6KliZgOC`Aj{IoIBft z&4`}O1Ccm)2AK-i1ZiOD`mL0EAH{+&s%s2J@_@tFE}28ank0{&Sbg`X`hZjbHL9IL zMNj+K>d##Hqi|O$&Cou@;1D~Z>8z9T!~91lyRG(lmv1PDyr1g91%@b3Q>dmiJZTfA zM+u`Nk2=t4EB04e>N-Usv?-?+l-0n$UuJ1t*m2Yp69RWRC1ns)f1Q4|Bn+334A&|W zNZtI=4;924+-!NK^u5nK*YksI7r|A_jTlp*T1W;-!j#?bwcFl4PG*))GAplg>-u)| zedb0q{O24PDM2wnbU%{gKEmWJF1Uy_Tm?fT5U9Qq-VnJwAP+()NG=aC!|Y&4qUTa) z!S7(VoW5xWE=$KBLwsd7tP7>8D)l$+p{%(eOaQ3B-zC=`yX}&VOD9H@HM7%cVq{3f}hXF;QT+MkkvSzCCm&xz7k2w;rnbTh~ zB@gETC8dpA2u?gHxQA6Ul}F&&MNBLKHy-{3QLBxFi8|e!gdOmflWg#%AZ!BWy&0zK@;hEjXwIicf4E`OX5>IA162?O`f_K zadA8r>IOpzamDZlY_M1NRQO}PY*!fkCuO?uAa0N5W6#!#+?;06p2cDo(!UJUA<)yL zaU1jV-^0;AXBvoUgx3BsvKl3~G7LGyIf2~J4{p55Kfz%8XMM@H=oi2k4TnFo-jL>a z*;zkc-@h;u*26-R+Mq*qRY;i$B=o){<4f8}y-EDh29T{-zt@oFWd6DxP8J5sI!&n* z1@nQSf~!!}9)NF=0d(AGQiT)U-@@^1G6 z?1$SyaTRC!Itemy3 z60B@PP_QEkG2V@OE|*NqoZlcLQVdo?G_?``rltHwz$pY7@EHi?E*DlFL;+!&;kPUn zJnF70LZX>7zbwJsBaYRNzDoheu)nhMAJaBS=?Q70HwiZ4scf2$>_^GXTJ~S2HZp)z z>lx=6i8W(HfwxbSV8T&eL!;melPU*Rl4fkk{_kQqr@5sPZP(raT+8@$aif5)Cz!p- z;G?bx_X=v*f9c!tp(zWa_der}%E#&)JhMYps_z8Q1GEy^(+)Ga?h;L*sYB^{Yz&Ic zED|Zs`tU;QZ|wkcK^yQRq)XVn^uKle%FcWfn(CnMedcH9XMpV|)qMXd(FE=>85Ctd zuXEFxf-N~!oP|bro^Lex6=eV zXgX}cxmPs>7n=2K*x@4QvE#FyA&^Ny(T!K%7A@8ufAL%bJz2dI(TYL{1rEW&PMjd+ zV~r|oCeUsqIE88TTz$dZ!q5~0`G({A;5(KVQK$H@tCMZJ;UZ2Q*S`!_t-9)?`j!(* zU(#iSPq%VA`Rr{~w6y7f-xE8aumO1tBS2yKguJgkE7kf;+0F(I<9N-}Bx3oyQZ`UE z?r>I>JSu4`zu~W)+uc;QNtq$)Jxef(h^D-B`Q?ac^l)KPT~X+5{^fq~lRnbc(}5!8 zX=sP2f$EVsLFfCw;%~=|V2FZB8jAam4c`PzuC%NFkJC*tN70sQ|1x^3Ym90vu|Dpt zsb`lG%D1(!<^fpfY1AaYQw_rq?QOJEe1BoNWrR0_43^8vabh`bWxi!omk2S^i<75M z=RP7ylaAF63Sx$E=NzOjljvT0KCzUHqW#?fp(;5geObT{-d=LhSaP$e+$?f}Ng?xJ z$}!lM*P2ZeK0SP2q}(`LW-7rwyaXk6ug7dLqkGwqH{PxmL?Qc|cr;TUl%jBOc6Z4I zor{5OYOLx}JT*)hJAMJ!l>RZ*+}tLJKmT18SgGXJLk^3H*_PN`2=7mT+AT4Bh^O-I zVlB>!Ht|C8zNA|?G(*O8a}1a9V2MihGVrrrP{An>#(8vrCgr~79Z$iCN+zZm+Tj4d z8;8cS^mgA2vjHg25BW0p(8coc$IrOUg9gjyp`6@4p|338S=?F@Nh$m&-i|KCH>*fo=Oyg~e|9?cG|sdkttskT?X}cGst} zR!uA|-=z2iqKD)vh$GjHsaC3ng$4y3`Oq(W-Og?4fbu>6jY z(MZ@)hs`;7TtL@}oO3?@LJi?FFDXsw$g8hld`q#~M1T?JeH2GNA4*TqTEIa2!xDVn z3Uen)j=M^%TdbJm<4PpA9{mOXGE7lVX7Q@nw?Agz6l1okH&=Cdv-8!aH};N{!Wy3? z`i>%F<=R#03zOVQ0}!zMF+MXuAeIX|&`W~4umX>0LRo-A2*2FnTD8SKGVBL`-9)HL z51L+dALOq?;DZJ^IV#zbAdS`AtmxaA2m>I&hCo0gUW{!a7)>W!^gs)2D$iI65{OB4 z^(G9&43g)M?vFTY6bpvjCBYnVuucxEl(VXpGE;%yy3g>PM-(^|3R^39hziqNbp+*z zpseHbZ^Hmb(xHoSkL%J(?tZ3*R)^94Y4akaO0Csw*r31?y}Yecy>xsG6ooc@i&Edk z(p*$e=M1ync-_f|3FZ#s-RDSn4zK%xnt6^ zWNns&zu7oQs+E|!Hj+FU1bM+i&Z1Q(Cj}EkQCY){klwTu7SaTrR$!IS1;-dQ*cwsk zZ^Legg3kel1snQJ_Tw!;i=#jobcIn~a(h>6-R~GO5{zTLG|HiX8TegPrz3b*C(U=( zF7giqUe+FtGNqA>)me#t^GB~1x6ayJ9`Cj}tT)m)s!rK$U({MW8<7zR-ZBS)Aff-H z>*(%kS)x$$WUc#KqXBO8o&Go7gW1Qk#QO4McL28FWbp|^cm_pm=kcJ>q149@z{Xk@ zAaTZTj9;Th%N8bs=%xAgcmg9IrZvFerOXZli1Wd9!tnNF0b1Y%UsXzJAq9C~`t~8} zL>28#mnIDGY!~NP6J*30M(RrgXIc=nx6mf5eAXwpLlBq>j(`8mCh>AQ%vk{X9r-mM z+Iew)dUh;^0wclk|C|X44IJ+4>xcH?6ky=Zanu0D@DN7S(4flGss<0Ic~0Qv-YShp z=BzBf>H?`9LZCEtj&htx(X$^V5dYY=3u=}L4rbP#pP;$4*SM@PIb$4PL< zCrd*y5wg!Tc=oXPEVm;`ayQYJ79Pj)9qqLb@vnF@;fHR9N}Q6!qu(PEjrOEiBqPDY zS;jj$DoJBBrOGM>NOeCtSpE~ZQb1?$UvINAzd!$e<7vEm7|A18i@IFk7I+U+#;~dp zkun@|0s@D683&M!%%^^=RST9~q)D0n`!&4QZf8u>4dVh1(b4JI#)#FnEiL+u|p&Lob|>jfs_{2y$P1TlYB&> zB?TknwD~_E$AdYs(BP^B!&R?KGN;65$fbP2W?jN!Y3o6@oCkx3R&CQ|WhTDXE>sN1_jO>PX_CT07l9dUI0Yvs5r zu1IsyV$4qJ;66Pt-QMDfV33ocixNg65ilEn zec#@t%mC+`-9M(hdkCyULvGk=@-i>y5tfO&C6fQdx-1Or6cl?)B4t~C<-0srWBwI` z&tZ^0c*P30hAh@|f1QZCJ5QmPsiaxgG_g4z?O%ZLCtQArM`4%#$7hrzTBbbhudSo{ z7nsy3&^r|@#>QjvFehBL3%;77BmA8PBe&LO1#@`KzlIkxkJ$6O6m-8~n=$iZ)cP89 zBwjor;ZeYZS>rxuLYgD>P#vb~6}I?wQSLLA3gH&pigmZmcXwtiic*%SV*)W1W7Lvhm=wW+ySPDKRa^rr}a*Y%wSl z@OJ;^DJ7JL2Dp2=tDPI!x&xym>Mm)eI+fAL0CD#MPd)}zLB5>hmt|U8Z!=H6dmAy` z^vFn)cn*Ig30xLGEy$jYJmSZxSCBi-2;-K_=TGjXyH5r;FyPsGI3c3&_JYUHl6lBz zs6Upby8CWPVw(F$c;NOgT3;k+d?zd#xD7Bo>68>X%j8W&c&TUx8kEcv%YH9LLobRYsN&5Qn-o4!~9rFYk zat^Iw;ED)P7jOt{O~x%q(Nb)?)-td(;yGOpjk!$wMWP&5rOBBu?7#C#1l`=!_#0XZ z4M&CrhfULGLiw}+?iz4tl7utX8=0ULQ7B|QGqNpJ?7UYij->B@;OIT~ym)1TX(lOc zT9kRrocc|WO9HOzg72weDLPyN?H~by-{7^LxazL|>C;G6iO7Vmqi}NHD%Ez6xETqo z%3|9X;^A{9DfVKbaO@?2Tytgr)(ngQ*Vz67AVaj_pN!_@G4?Rp{{)2ElLoO5yfXnH z&yCxLk0?M>om@8&nR7^GnG(J-k9_(_|04h`NfXshvOnJu%_e-n$0=bL{cc9L&CHZi&JBQ z99&&GZ=d{E1|J4!n^n3^;JD#ChFZcDXsL+C6JYU*w`3ZS>R_lV6Cp!6tm|PMxfhl$ zf1?P40yxB$9j0Q8v8e{ZQ_Zu)p257$lqFezJrtU&edeskSxw>~P^@-g#%c*Us4g}D zG+bGxT%HDLSX(76cl6l7iWT0Q!gqe2we&jpDU?V+cHnhCpdkyF?7>!;3&<)CN59+y z!~a7^o-WkEqIh9C5Nph9lF}3cW>o8v#A}SFo)huv3JmV4(af=Xt3VdW2KDIqj|v`b zjw?e7oL@!gF2POG@;w;mQQnhN;sthqyZ?oRqH7H98p=pmw~9*bj$_qPI>l!PIw>Zk zj<*_~H3vtCALMnGw%$Aw457tZ);S;tIQ(rk^9fMk32Imq7niCf*HYlo08kF>b8dD$ zBbgcRe7!bGY6d4&dh2sKE)bAY8WZ;dHqnu+(feEPS4U8Snt4YQ0+ zaHo;vNo*`&D7jgBWAetyo;Wq^)7GF7z)M5y{??&x(M#W+y3Yi`sdZ-b>dowp;D?6! zDOJv2mJPW-U5#NlKnDNmfGAuyRN946PBQ$_63U0``Ri{t`&5pkhP0*yuTN8Ia^mTr z|FVfyNx|!M5~2&6ixgw6gWrMFvR+VY{0rowq?b~;HsttzjwP}E%GvHZum^I&Koby0 zxdW+4{O|XrQvH2JY4#$hN>Cs*!40n;gF+?qN=P}QI+>%shdXhMqTgcr&yBV(X=1rjcj?*i-yz1uZ z+HwFNB>K3ZE4OdY|Gsaz&OlxdFzSM<+|B;r&G-c$3 zZ!VMvL8&;`ite34&VGNkgyUWYtKqV03lujx{_?K%Y-uuD#_h{qj(*E4n9QCBTN8pcHlYSLDwC$eA*fwq8 z@)1VZo`Wx{Z_Kt?a;ZUAqdZxV!rpiI!^puh$Qo+pN0lO&IM9SLX1|>nRmQ#cku_?C zbiXq1=1Q`mS}G3PS7*;U2`Svfx2R18J4lTekq=>(3Gv?|K=ot-Yvqskb}o zFddV=#l{NMAl~!MTQK1ER|di8{WlZXg3N-uYWL6t0AAc=CO3oBn)=I}tWz?EiWM=m zP&V3G{`_$as%Rm)-H;#7rp;z(K1Jp(s;V{*W!Xfh9fSa9Ow_sU-y<1cPLIuJycZG- zaEN3iXQ2bXvc8tXM{lO&4=@rH?@R|ju}u92GQZ2QEa0MB{{5Qch0!dq1OA56tZ(Z*Le%*^1Ec=m$-Fy~#ysVl4823osi zy74Up>@rC-`u~e5Qz2+^r#mLmq=~xQB?*kcHFH$zz{OK-urM*i1+n+PH^C-WG_+*_ z4pw5wkCnVrOK{9Lak_zUK_JYT6N3Sze0ff{LB$R4wW4#3URIdT7T^`hJnvBI^r|s` ze|AYq`bM*MD8f>gdP5zV>0^wc!oa3FI|YR{{~EGJq1P&k0IktZ1$35m7WtPXWyU9x z^I*33#VvY4B*#iZ<=&4M6Z=GF!8!mofaE&dC?Kh1SAhEy4voj^3)7DEP!fvy6rsH( zab|hVmAch9^4zIpIA>I#6b#Lcjz>~`C(f6aAe8I(VdV+bEvmE0V;I~dFJ#91$OTt# z>g5Vs>Omuxhg6x6fBBIfjNBXxeG`8kMA-saI6o|At#n95@P~sE>di) z_vmqNh-nT98}{$Kd2p{h?~dGjJYS_N$(8N5OA$@~D4~_c3)^+7TT5EdTO8%(C3%;HPw6CWX+Fe1*ha8)Nu}84A^0 z0rtpG8LP}aO7mImZ9y@;$zSGlY>^U!P8e!Mn1-=IFwU+r@rbeZh>P;Fji;xrLjjbh z_pUFjHgdHi&m;?!vgV%srS~ADW&Jsp_sEz;EUt&}D+GjOLfpA(vsN`g`1zQGPG5U` zO@10-+x@27=1u9r$UlaU%8gEUx==rA&=`c>Gp-|xF0Jk|pT9Uh)U%$1Ucs4`Yf#mM zpodWsh;I>8^w)+tj7p>G2t#=FqDtkq&P~&#$FAUp@U&9-uvG(q;7BvCG%T{@n{|4z-D_?;vvgj$tfsMZ^aY z;xCxnw}TlZiEG~DiRX(UgJ7}^#M{6hP8!H`v(*8y~boUII!_6lr|Cn3d z1Srcst*S?*+lPW}eA)A*w?UnqVK&ce!7h2HSDQhs0Ur5lNT@@7l!IkE zp_oewZm$<3yqO59rB55e{kd(~usV&|dPLOZKKB14Vy9fQ-C< z>@zWeUJ=AHPLuvDU!&Bg0$RZTFiFP*v)QneY!*W53s;>FjP6&)s?NByxu+U1;`7vn zwGE&n#_i_(maW%AL3K5<8$pgyTKPs}nayCAh}`Y)x^}l^u%1~+Hg_U+OPlPkdO4m2 zG%jvfuKfes7XJbRs|CzcPT=Pafs9jf4!!-%OqLD)$wLxyyYbGPrv4gi zj0!I%K8T&M&XhACiTDt60%v0Vi8{@N3F*dtw>{1k?-}@1C@``m52QnLSqKRt?-JJq z5C24sq~Op zqZVr~yvpN?16PL^F*n&ToBBT&jvWC(ew+zC=&NB8=}lml0UUJVhgzG|?5h<|Whv0G ztaNeHODR|B+d)FGhD+}r44w*{b+seGPXzZ-f?K^G7G+BT6}lBEvCTNt_(zOYO!A))OH2kSf>io7;Y8f`z`wMdTKOo=1k4cvX5=PP?uxgq7Y3v@F2NuJ_Yuc|M1*ZEw*&a=g z>Z$I@D__=nsf|drh%wOt{UXIgKaSTSS`d3YZnJU8DHfz_H6&0RG;XPrXTOf$nzA&P zZwi9}jK&HdGCU6l|1vVdcd<`+Mfnpoh#HBdK+SNaXTXn*sxPP;Q%{8$e(++}R>FS0 z%%a1chX?7JQ7n)Ue^nr)3+t^JOwE&}aq;^2XLD#doWZTbwZrk^P6+tQ`Lhoit$t7! z^+XfnUS&&Z(|sC}ddWnR_OiC3(nW1~0*z16($23&e@O0jS=b9fN)2e5=l!cV$mewE zwa&$NkneIHsaxyYQlnAM?KKJ6p~@%Ff0LW)LyeEQ_?{Y8>fKBm*0cA4o1&R8TCF1%!?+Tvvzlw1lkVBYr;HgB(Z@Pr;e>&6 z6377C*jo?~uO^n2M|1?O14+pbEIZ#S)A4WO^4%hsUJ+Ga<()vmS`U3Xg;RFIR2}AT z>~=>0)DBMHJ4(U_UJ00sP{xCIGp!}i?Q^sdnmu<0A6*;DiOw~yLd zEkrQDli@go?jcW$n2m%S&3(SIU0)qan#YztlL{JRg-Gy{ROf+J4vic>h^%c=2OO2# zB4<^c-E8NI7B}@%&Ucox;x_|Uf=z&?&=ElsU=g1IQwJCkBrQ$^#sIaKBKY=Q48J(Bd7WLycG0Q=?CzQLepUeJ|uvE@;;Px#%nW^C! z{XakFO7TW*xK6jwmJ(c2I4XK6EN*eL^c_fHBt}R3BQ;?f+Ur9S(~5jR+TR^zLWx;^ zbXsHEgVT8qSyQH@I7X|d$fKcFva~lOy3#wyE{7}HPYtc;`Gm);$z%^iyg99qFQj@c zRnrjQNRFJ760a=t>B-tJ-2H9^l5rm`gsa^7`{nGc#E{RADhT)$d9UGC0DewA^&yKL zgx2J@;dN-0qD^NqT8H=c-Vd;>BUbO{dp%Lbyal(=#1Jq(R~%h4(8+IZ4mbK*7Y`>u$ zh>@Dpjb6?GGu@F%ftUJ}uMsK-N34D)9vgL*Yl>Qi8&oVnYN!(1an6c30ZIR~hi{h0 zxSZD}{q~*+y8kf4;yv!=(6cnq9GzW~H=AFb%cF{8&gGejj#_r6;aP@*$HT-U9}E`l zX=?&WoKS*uTsFREit-Ta@%f}f3`*mX`C=q^KZ_<(QL=UVx2znp5W!5dx+R4?B4Kkm znA1QIv2>#RL0`v@cdyFosX3mLwV*!#J_{2_*UiPwPAPhQySov(?6-W4fnC|Ze25QwAv`3v@qnDYgj%$-JmI*4-lW-zAWtH7*YnU=FX;_kk4|#-xHN(V4wwN|{96 zt--kpp$!0HpI|D1)dSFuB?V+GR^EG7d}U6TQ8O=>^nroFT8N<717!U8Oz@_h6j2}Z zXhP8RVycxA=xOK6qGftux(Q43ZiX|2J~au_rFJ7kc9GfsK?Fw0!7?tfSn#>`)kYDe zXQlqtwxsb{=C*gXcuE#U*<@CAXe$Q;6YdduZ1tq*o?H0h8ECRh8`eNtL9j;QTIhbu z%W5&mBp>X2xqDAuc1#F^2s;iSb7f;*WeoMwIqLLD^&;I3OGzfn5cEBecznt zz@bSXSDPj1UKbP5nZA$ei4NcyCP&*Q@gAY$w46Ah*X%uY7Gz| zn*0QWBdYL}PQ61)Iv42?C{;tC_GX^ELtgQ|HX;jJ;8vIPMBF%7y1D4ouRLKk)k23c zsW(4BCfExpMK))tmtMm*1UK}11X-ZiqVc?U8b0vLCI=A+Mg7$SkgUxqx?F{)0IZuy z{;T?>#)=uDwvLam!V#17LJLOJ{Vm7MqZa|$N!oBN=`(n5-N*mujm;+VLBFjd&HM-k>K0bSXM-d5jSqr#r+|HFO0Mvm-CYgPv+^cLYpb{PamQU zJ)8^qFZA#odq$A?4S^-D9cr@P;?LiD2ARbSAo&lPR?fv*o#$j49wO0~pP zNy;xrvUg=~R`-X>;|S353yE*wVkhs8su%WmSx}1y;Xvy z5X^*=8H|^l1UIs6qM9!Z6S!ahugheDI8QyVz6-W6YUmpKY@Ca zQTqcx;CT+|N!Pgg*!LkBiOWdAIr*C%XMg_e*~_lRr;UOwk*sDN=7IuP(1YlUYv64y z-MEzYGlpij5X2`Y`S0d=LVNwR)~L6yZuM{x|C}Xy^=6sW=&%p_$@G*T;e9TklUk8{ znOMDo%f;BBe=`mKl)LYHKKl+G_~+^lTxXK%bAa`nLAl&PYL67$R26D-tb@My@zABUj!N9K*<#p`{X%oH zrW!3~pvOmTBEgD?e>!S|5ge1{q7|9g1?jU(hnS3}nQ2PUkfmKinH)+F^d!9zi{y%HlHdt!4lNaT&f~Gd~TUgW~tKK6UcX@{%#q;Gt>Q71*W6s}xKZ29%AEq!I_0=h@_ zDZ}i=rM{cbgT=VOFh@b4cfj<<9vo`}(OStXOpUakSlo-41?5;^pNb6oSjH7DVBj+UKSGBEEUYrO{ehJ9}$Z} zZ?om1HS-htXIM8tdb4h69LKQcSPfNW0wSPGt_Ig~fqHB=j9Aev~a0FTi8&-Al-Vykm zCsk*8dg-z+Z&GtuUNO&39uLR}ETp`S?o2{(AbaCX{;IHkFq4M%Cu|y&&bS$DUn|6? zI25r`B1&E;C5aTRPlgxt5iMA2;A5#IQGz5cIq)=ba3s-ieJHOwPS5_*-zc?-n)>qv z@2Sh~GB5Td==ZSas=qqxWd+f*xYW%!Oxset75J&I7vqPA%?}>+cE>Hv7OS>lK_8cjI2hF*fZo+p%+o`_5B1 zGPyF}>6$0HCVBxCk9`uur?OBTcVkS$Wg82^7ow_T)p}%oru%Utb+np5(u+<5hz{3;tCUb%aed!{e-@riAeqj%SbPS}?3emJu*j@LJj#TGmq8kT zR1Y%1Iq3QI($+I(sQYi*Zy>Q;lGL8FO9Ek9maijZ3s0$b1W3XmTz*oHL<+x-f*(`$ z9J=!P(^T}s&C4%N#@;xvQn+gEZF?VHWfJ9+1^EG-7KmwBtW*Oi&A68}F9@k-CLCc5{zsnFUTTh2x&RJI{1UR-f{Y z;hnr(H@57Nq>n}(iT)-xl=8H2vX~9W6oU8T-n4Wat$PFA>SC$z>9%GDn0Z4|*|*G! z*#$bl`IB{xk2OD;L*CSChUO!rfZBw08_LEULmbx4>pLy88xyW+b-kfv1~ohSrKiBL zPu-5*cEk^V@Um`HPf^8C7?AtYvi%uWW_yrZE|>##XtK}(7Buo!mVQ_*23r-k!XIu+ z7s0NB0?%+^DYLxj z=}(H2<)33W+hpqvxkXZn-)Bn~MRv^_i61AH$>Dy|WHDe4#+k7EM}60pM)gUpR2G6W zU2Y?xT8|`2MjqaV02^yRADgSx73kE5ljpNr7%5M%jg*6pOmG&wv?>hG|U z1?8M%@<|i1Vh>{|)gX9JE?AT;nnB1>;W_uI0UA_a^>4mA>1L8GtYM?u=5&eo#?(&S zGe_fF8*i=CpqP46ZC=|tu(a13DKJ$yqU-!d{rw@kG+o?Yb41V6hi!v07XqZSY}SQc zmkLrD0-Z0-c7e?{$uAwg5htDr2qFdZz+aqqVGmpo58=bbY^+_P5A#Q; z&5W_6-qeo~Wh6L80{jDSbtN%-U%{L!68HMd+w5sk$U)RR{4=j^`bdD_KQzPvp#0lB zel(#?GHP9KiC&kc1C(K((s{M$-LOS_r6?0|{p+h0bC5#(!**@E7TVnD9>oVaP`gq2 zwt0*f984bX`VaW5?a?oD)eRlJ-OV5S91jcFa%g;5)E~?uTSIo|5NlYJSm4YfulpaI z!7e1NtS5(6+g_!5#PnBwB*~o#w^7fF$<%2;w-c`~CD>^DNSLP~EYSXJ8mlizYz3Xf0*({w1SOej`JW<6d8HlZcvO$5AZC=yblW0ccywW< zs9w;_FxN(XiWRcw1B#!H*hqgCKPAMB8<)Yi)59pp!`gPmo0%Gtmfi;LMw#{ zU^;hN0Vp^0Av~9OC}yH$yjRMtJbt;Qj+kw^qJrO`o#klvPkx1r&+*8ApsN@J@csNi zRLv`B`DA*Kp;nY0yGK&^9L}&%8J)y-z2&0(HNLz@@Dwm?0CxcHI!^iNYr9^SG`5%a z`t^rdPmBPZHA)R(l_S{x#S8N>4y~RRzeg5Lz4)srOdTAI4Bih&gX;d`;|5dk%u!&kolk_LhX_}PM3>sArr7+lJmlQ-=+7+AH){7S>i7zP8y-^4r!R79thC@a=%05^CR8 zmu|aUl%6wkt-(~sQ+sCpw`KcgWZVgjqA~g)y^HA)tdjkvZ@F)9&mY@&bTRTPopAAS zvG9?Wz9^t8UXX|Jhq(J5f;SKi<_GnGFO+XuCKN~VDVc?Di{w?6#@ z4QF$MG+`=mlQ*M(b%Y9@9Dqe*{b*wafmzqCPud!{75*xLUo~|!+*1U|Jf?^t$$6?X z9kxR;dhI_d5Ikk3Dytxr--ejo7c%wQ{;G>r9l-hv!OuFF15|sqb((C|luRqf#XD-f zD4A-KGOEgdzetngv7%0^rL^>#%kt^Zh_(jaR7r<@BZ+6}6t59@CM|h@65vw4&^%#! zj{fqE1V@JBBXh;3JhuqA5~KQEyz8u3W=(t=|hTd{kRSqOA@V4;@ZI{*FfdSQB z;5aB+r{rab&!lp0kT_Rv7LqZ=JcbY8#15kLp3r2dlJ!h`&>1!0AXH_y8=m|A&(}|P ziIvQq(yICZNe(Id6oYi0yTUmfYEEhMSCCYXX5+Bv&};Xnp*G5KNtq!E*4)=s=*>r;lt?AA9&}IXQ66d6|B?YW?=_3+pD*hmElwp z>_HV$qn?XuGlm6{DT`sSc8oPCZqR^{!Uu0#{gYw%cqb|vVvk|2GV5B+ryJcW5fLG< z%E=MX=SvrH&nNZcTI>j-`c_!0M&9{wr=R@CEmCNVY`vBtZ0r2rdf4eAX`~lMWNXvu ztqN1hmxbjMu0WS1stX3rKw^ zYM0Aj(TdsMshXupTzrGfY4}W!Uv6__q9it{=Cnb`lQNX~hyZQ~Wd4SN2VCyCmG|FL z9dVZ6&7}f-uT-zlBt`H%?^{nMUJmm=$f1w0oq0lm2X&^-B zJ%N5&7g)M^+E=-wJGD?FV%`urTD(*}Tl2MrPGaTb$c-o-b(Ue!$GNjYQ^RMun>nvB z9@M((5J9Ux_kx3f;{VcmxF|D#qvXtdXTY?`_el{t zIrZ7$DCq+e^d>pF{hQLkJ!gKT`0NwAt=&cCtvNnbwM9zy5pkVtsj^^pOhK6H&_W4d z%-aq{!4^_#xhm__U}623$)Ppb%+hGOLV z>fr8OguBuHZz5APRQ*=5JPzL8#;Nm6P!*LiXWaI&PGAXrWQ8(^`PjyI?|4qg0qei> zx1$WVy+aD*bqg+6py-Oe&QpQYD`^z{`RI5MFOO#j`BeeGmsq@qKyd^Z!L7w+N&L$= zHgg+r@VTZvfiKBMOTW+b9#8&@r0ule+jHb-Yd#8z0X8QnNim+y{Ww{~UYK{sk=9q& zy@(!0nBo2>ST*j3Kdk~i$ucgi+_v{!7CTaAG*kcv zplJSL88V)xnw^*M;ghPJQ;=q3i>jPC2NF!Krfl@+YC8-@_hQl08kI zQp&?J_dBdZmzGlSl*s_d38ZNAAM*Yigi#})RsMfCYuW^;Y~Ks}8n3lY*z4Gh1mV!% zk+}4gjJeBkN6+7q247WJEv2ST7lRexokPbPt+4aok>duFvFOsq$rpEo6RkNhC zQVD#m6E#q2H7_~A@pqs{AmTsUPFq3Jx+PLR0{5+TIrh!9Lk=qiEf3biqSy25t!Kk4 zkpm^n?#~obSHu@<^$1rf{j`Y6%p_q4&+=(p$Nw~JjIgLO;xBmZ-q3t}@nBt-9S%G= zt@Fq7mWJt(Wo6KXT`_Iwr*+Wtyb6<4`CF&lTsbSh^gjrkvdJB`V#Sb(Z`8nHXZqnLV}w04AQ8gp@ipoZNHX6US}v9W^TIbgQW0NZ ztXAl>k88kr)g9rkv-m!NE#Ix$1Hb#yngZy3w2oX^h@V7O9FEQ{s<4iDuP&5*^jn5A0kJ4{8-Dblxvrmikdd^};N zDkJ%WKGIo(y|YLv&-e6LIY;G_m_BR4F|O5|pEZHo0nkq=NyG7o6b-YQ()v2pYodS7 z27fsw0bqyE$ICN)nbQdPF6I%-=F*+y7S=Kk%U~qCNX?>oZ=2&Wyd7}m4kEot2pkp= z{vI=?Hg4yCB2psinN^nPM}9BLzcow$ro?gx|=x+B+gMP zWMmN8mEG#*hlk9ecZT=|>vt!?X-qH#*%NQ(t>Ru`8bP}NLI-&FDH<*{!pxwxDs1xz zU0%n(vG9hYwX^SvOuyaRLMC|Ba612pal0rc^iS&co1h)z{)2ySF~$D7fG*sDQc7zN zwioh;ZG;RWz9EF&Uw=?I-Jl!jmxm(=!{`oJ7J(EPMsa#EM9`ZNwfja^zV5La#ERHt z!%Ib-K}z6``Dg&7AwHiaIp-&Lh!LxC2$j@*4o())X$>Njhu1y#gac0d%+({*!D{7cCcV0^)N9m! zgbW=xq%ga^OfVTo0v>nI0pW5O=FR__vVj*osuch-z&;u(5GP9XvHUc8Y6y;Im(Q;*H33mQDNwdN_p}gKcMTvntV1YHuybP=*wg+qRb+9A^kJkekr0Ee+*7(^e4h6^5UWD1fEP zS)?%>p`R;Rc-kg&%$u}BYaZ^3wvAlWkg)yD;l+>?9&VD0rXMs^S_8I^f=me1L*2K= z(tnWzvowyA=~qT!spxdf{zYk3pPV#nV}RXi7sUrA&XT-|6e+^ZDE(uAIx%AKmw-M= zOmGR}3#4T+q3`nIogF$*CA@{%*)$LQ6urelr93LuQheE0q>fj)&OWGGVzm4Y@UJCd zGqV*UBP^wqUl=#lnXIrzH6A%}fVg{Z()npb;Fqq2>^uM^twGNApJZ4hy?pz0wrGMU zB}#(=faM_KMY#!+*AbWpA$16=_DtakydH%Nl;u4{VA@!f@|8ieMD?xL&tx9m-Zb$$ z1e^;^vVFT-E=FlfO0as__TIIwBS`Jl$*KU!TXWzeN!*(cA~vH~b3;`^3niH?SF*N@ zf;}AfWHM(GXHXqXZ1%J6!!e7hR5KuNkHs7*#j|(@O9~DRKchCz(Z&Z4A|q;x>W6I< zLJdIDa78g?WNT+6^EhR*kYixA5LTSS96|h}G)q^TB0Vx_thwviy*vm@U55PHN; ziJ{z{iv0IyK^UONXr%ZuwX+hA$rD)UWLa~}c2)W;F`H!f!dAwI2$Ubd^dS zf;E>aVgYB*r*_aKSq&Nxl@OHY)&>vp{e=19M$eOtym$`-d`QU>ugs@xi%E&qS3d(h zB|Z4K7fFV@MSdD8X+S7q}+nRPmo9ddXXh;kKD@tU7>lWedqjtPPdEBPnpfP++V6t8{$fdwSqf1q%DwY|49hcyMf`8$?EjegFU->%(&XzuFR(sg zpLQ%@TSFZ^Nit)YypaoCK}c0 z1cxG;0zo~O3`KnJNaa#$7j<#`5q&pVj0Xtj{s*J_Yxu0gmk1zxlV;PKfrEB0a^Zz) z%!T4I4Z(quxHe;2yuZ)apH9(o?QI-cfV#7{2WJO(w`+fGKVxu1aM&ZEw^i1hs6>N6 zb&W|W&q@oDdyTs)CP{BQ&^Y?^Inb1YRrpdsTgG}FAd-;v#_NVw`MSD^MB``TKtYD3 zl1Bj}?zJMK2S#zR3Wu1&j}ADA!2(b4000TAtq~6bVhQXoYvYP}UF6;BNyQ4OL_(*J z8Cc~Es%D#XSH}(3iQ4llfqxOf6|!`SdABw(e#aZv_tty% z&!%Hm@9rzt^%6wl2(#CtGZ{Krr{eDz;uxe3Z{_U4>+!X-l#DpLSpurY@!xN16cls# zYM%j0S%)cADiu(H3=#|Cb}&J$%M`t@{~ybK56X(@N2@J^M_$z@%4yvNfo`)@T5Ct* zm(1Q-0{vtVD{A5#A7SwDk@|Zd=g)=n7ddjTz#3HzS$dUL!C`yM(}AQ3-)oE{`{#`n z;MDG>h0e#}y5lM;@{u&;e; zSG8Snxa!jCE`XI$9O4y2ZgT@)U|j%>D(wfnyS_>J{IQ?+9WzFy%YDl|_zzUU?nApR zb9_gRp4F|h)+=lmq~u+$xrw&YQRWnG^vq%B;hS^{8ug={*Q~IHU!W!NFXgaoE)M2k zyereDERJ&a*vnZaF`@$vL?5pvyJFL(Y>?=~gnu-saEFC3QnN&egW8OTq~ErR)WFP@>nlsEA*|KJs@4K$8*fwBYG3>880VnM1+OuD0Zq6NJgp`h7X;fp!g&V2# zc6zZ*VZzjtUu_U!)S|R2+gaBUNQB`)000t|NIMpW%5bLo={VO4-Q!L(S65I9s~#rw zn}L#JK&}Y~Z@7|87;SBZx#iY8>-m}HUBExRHLS;6xo4XweCGHnu28HCvhck7M>>4z zh!%QyEa7U&HqIFB7TUFHckSEXKJ(PWkvDDb<e zGh}L{0Mr>i>~w~5KFqpacRb)6IU0l)wN07Xs#1VFU_JOBX%0YCr@ zfO;@HBp|W_5hMrz04SQUPy_tP10j$nidbJ#(03B}fFl^1umM1T6eOuq--$AIsPBDq zsX%}L0Qc?!0nl&e2=9PzxT^1xoqIj^Vn~N87qFN~n!FskBbf}pda%ZN9F0|C?z&Z7 zJv+<4yO|VNDBR_JKegR9Iuym6kuzXv^w=zEn9r}g*-RMk6Pd4hL(xyFk`|GtYn1eo zy*iC*P0Z7eyLbx}nnHk^fJ&%R|5Cg=%YjqBGrEi-TvvGn)k2J>%&L7Lm^gDWJ!%m> z{bZv@8n)DSx9}+ddaz`PQ;^g0cv0|vnx2%oskE~tVf3uJIhcO5%t*C9xZ7{8M8P3M zd{n|K$3Itr3?8~(gM)<0V$QyIs~yGd$(|A5EnA>F-0fPV3cNB!P<^>ERny^}u7e@5 zdhS8LV`iaYepfOb2GLcB!Z_3IcgK34ethioChyEW7)S%1mBkPgw|f39DHPN>D3>%? znBiG<f)(496^$R4j{^dJy91)A&_H5!%Icxqm1%;``KWcn>*u-F-1D*FgI^|_bebGK>Dn>~l>K-oW#h z;$FU#`yB$cY^BsJv48MPNLPl^12uRe(exNE2vN7nQI7^sG9T$LW;Xq`x0a3yNBYBU zH7H%;m5x`cF7IYg@^86zyqYr7sJ?q3(DdyQo{@Fq_*C6FcI z*UJs_@o4K3Xj6H*vC*DCH3ev;hZugT(iWfA^DY1imO-QtRxpK>VH<2q_y){U*K zc51s;Z9%bRVqSPAv8lh3sEI(d1QX+(^_Q_6?#uf-g$8MvW+*flEY;+NP@_17O|Kwh zic<;%p>TIf((kxzcg5EWAf=(Y7$tALzz+*5UHBzmYLWi$a4#*nO)%TnC4$siC5jEW z(MX=b83FFhw~-+NqY0LUI9&n5uzC^b59S8Vx+VeNd@^&HC~V2;`JjCE)uoxj7~{MA;asS}wfIQjZKjsqdA@EYaE*z^3yH*$-i_NW^ zHgD1Xn~k8n0RKzWAp@~EuL~6e5#5PT@N%vFvbE{xjCf2qaVVslv&r^n_^|)}-IbdtMw`f1N;sB?mLxHGR^^O#lNnRnXYSQRCVv~Pj_ybL ztJ~Ti|J66+fpY~mD_ zGPp;4z-eO?(V3df2kFDt#=v#;Y;AidL-oJF#5gN{OV?5-c}${UmaxpuYRGuS$d!)| zKg&*fYdj#G&;ih(IOP4adZv!DOHBdjp9!*Lfy0BhEl2$7(4_FU zX(x#9Go^hF)?zJX=t30q!sDe4KqJzlQ-s9yq%NGqllMP&J8B% zu9N;qE3L4vf?HScY7I>f#dU4=cTbGJrB57A5YBBd9CPNe>=(k(|Y=FA;VFms+`I>1vcy{csi}gEt8YNwTVrRGS z+Sj~!ZSx}t1|jB!9&;cQogzd?0Pl=kA9@>s$pA{mLIYX2rxvvfL*ZqGY!8KLh-DF7 zHJc^P(Qa97lkHlS*9P~N32F(9E*rnja+?hdNjjcrSBfE7-bzvp&%B4p|)+yhz~ZluptLjyxl zI;0R=f}CgLNv>5?@NY`5ocy~_G%~nGagupTFwMs=N@5Cyi8C+IXMf>!*{-z9w4+Ny z^ZW+2xt}0P4#r3cjX3C3wLW%_*=L!c7H9T4BG!BUW(8v8!@xz?JW0wM1W3(%bKeMHki%x0I=`Dq2-c=j%59kYQl$y?_bcS<6}* zZ<#e$ldY6|@O^MR+!NO9NAI=QWM$Ljshf-ie&WOXm@gNzWln!PMg8OKCxjpVPAmna zc6y3ZUr48UJ4YH|PkBFfwttZo!L8NYrg7H<7oyEiWPL6vJ=p2AKdn*)h&f}v4<4;3 z0`bN2sFoTyvUF;ohQ~7>)xp)^0?S$SJ3xFnd}Dq%qOye>waL*X)2YBZ66pYy_x`lZ zx@I1N1FCCfmQ=+Y&P81}*Ac;*FuH4QNdLOgtYP*Z{}(QXo9Y3^LTu+;Gj~pM^*FjF z`z+^_L3tNARgk=U6!Cz2Ah@)2b^5Ym%!N=lY~~&>%u}@IdwqLrI{I`S_ZRX_Zjb50mhmXy??n1lEql7FPdOsM@+w`s zvZ57CNCXelIg*~})`@2}8rzR0Voj68Nn41?gs>HBTcia8(^VuwQ9@Zi!C(&d1t z*pmsDVAopfVXZtRJXPf4IN}|74Ja4?y%8huwa{?kw3gdZtlUpQ4j&! zd_jQNsDbxElJy8OEB$i4?$5c&FDHyr-D*j>G#28rsa*K`?Da*i0+1KJbRG|u{O%!b zs#k;;dHxRXjCRAy(w3+97YmwRifoN|sx-V1;N~@HfL*IvVkCuN>9qLNm(F4$;Mn8hx|Z`nU;VuxkV>gl-A5Q8oU*zITl)J6Z!H#yGlO zWTxix(bG61hHu$j;%1~{=m~#Hs7XT7WierFE-NZ#{f0aq+c;vh5YKM-Bg@a??$G}4 zGUgDjHq^oK(DIRaWyAXY7P#@aPUa|;)m^C4snUjz0eaF&O5#2t+-Cz(y?mpa-n{-C z(+f->)<}c$5-FqhGHM)4>QBI`#nXbRmA4Lf685kL;mVt$f`yGikpu(@!$sV#EEL2! zpxVs+O)iig3pMZeNvO>;&?)~wlPnQaJ-3+Dbd}+8|)w+9*+X!9kZeVsR1eQ3O%sL8bKIXbcfR>JG_? z>8*=#t-6r&yWZa!#?Vg**uJn!Gkr10>)CWAwcOmiqbd_f-=5-KXfa2wCqZe(*`n`-t<6cTi=}Mmear)S$7ME*6f*i>WBR-Wb#MDj zMy*fSa{Y=-Jr;fqzOVOR+=tq;X&a9;srbVp$}*oP3|f#4f%ZWc@jYj64@T{W@Fs7` z`hVncNhtxES&N;$z7ASPvQj>`iGe=3R<0>UcCbW6tq%S;DhxJmU-50M*kZ!Hn_<>` zL7gwtu6KU4d{EW7jHHMnlY`{=b>tG2w`rFx7ZdBu=c&bzq{S^Q5fG-WfBPgGUiF7AcPZ5Y?a>P z9Rk<3JMZ2RN*@`J<#Y-7o(Zih%L1fKOF!!DEB#5ak^cUKob!d2F+#El9V7pB4r=^1wg<$Ww!8kU{LM4 zmLVU*1HNlh11tmMltl0$L5D0P2fv8rEldO$Bs4HLkiY-s(aBC=1uGN6zN7EU)V< zFL;W+mt74Dm;N4tYtjWGDY!y8@k{{7R5<6di8Y+xd}rer9RpB5-xE?=2~Q6=x}(Dh zhQ8pj2K7^jt-A}4(SdhLK|*8)3{lNiDmVPY0b)8$Tn;x+Lf!BaU$M$($cs_bqYu@s z|1Ab<_JVbl4=L!>YJ)X{?NT%AqA$M6?c!XrS1Hj@|B$sF zx+3i0WgSv|JS27HY>NXpS!+6G3888o7I`QF5q%?9eLVsc0d;MM zCFRU-D1Y$HoXXP!sFpLN5+`j9nIsA=LB7`+tCJwI$xr1D<~1dHCVa5KR7FY?1YOk> z+ST5tLAA`5BbmM?CwUdalY0sYDslepHMUp4(Kry4Wmo%kfbCtjq{8Ml67iO zt+(~HD12gZCr!i0{SBpVJL7H zy~}EkK}&4k-*Zd3Ho@dzp|vh#JUm9sF!BZg=EA5WXKj0bjXgVP!0YNoec+y2TN7C! zS;jkUZpUCu$9SSgC?mEm=S~`%IHg7Uy$TKG@$VO5gOB|E+Pq}^V~~^HM9WXP}Du%iZcwMf5bQxv_A5HLVr&aNjus$ z%rvS#WG0==vx#(1H;AF61gIp>BZd4-*;oP*Tt_+iB;~ZWxAc$HGF^D}zQa9rWWPtBXDxM;>=wG$wuQr%A=R@De;OS3WJ1fGi0r85(%1KyS z*4#TdEe^O*Bwljk-j-TnGLZE`mlLmTML-39d+i(*80zSuM5+QjlQ|Q?^(R8CUTIXo zT1Cg9-6<6)l<_K=NGdEs;ZD3Q8JoI^GC2g2ORUxwA8bH8htmBaH+P6LCq&8Y>69i_ znY!CrNPH&SqG0$7S9u8Ht%66AEO1Fv2B%JK@@jas+P;MXV3wQD&xCY*9y~ej+sSw| zfV9Tq%&^O~Wd1LHt%?6CCW;G^W3coXtL|=+R4k6foj&D1tY+M~FIpA?JGBn!*?&(E z=7E7xEqp%IW`xXg)vGtMyAi?3VH`>am2I#KwxwLJMCfCI=T*e)$-%bMl8WxU%+G9j z*~?~XfTJl23CztQsuibxt+?XT_O05S5{0&mnJP!{%obtgm^4#A8 zg`oA)VbKDStjw8I{MWTIJWDrMraL7L*VPbAxoEd9$Y;)|(QX{XZnmo37!M8MGNU|HvI9RGyhi@fnD?ty$)5E)jY5x15qs0#s@hEs+wO( zZT4#K%l5!gtx1TT(3VP*|CDaaLvU+es2&De!9ROKR(LDm!yQ^=4m(GuzEAHCVsc8y z5#%W7e+du0R$?UCdvoF)w4e2)J#K)(7ffR&n8X4pa_7^7r|7rC;X|ZcPyh*8h@&7O zZBxrm^VX|SrF>7nft6Q^jzaC4Sw+Mm>Jh$$C`9ttU8zdN$J1a_{5C0pSpSeVacOcv zOE-p%K%TLl?uLQXbQa3GLbjze!!qb`;dWl7d%kVCqTPsSTa$00^ld3X>Iiw+ch9%* zLvH}zs3g4(diY>kxd7c2PAv5LED{i|emA?GC{|BPDjsHJeU&H~QFSN~X9M%XHV5-CsA*V?krea_FP zHl5*}>zf9pcMj#6G_V(GMLO|SqeZ!T1>WJFIyrl;Y?a1?#)d_WejLR_If6_eF1Q@s zjMX#R8_hi%Vvw<$Y8yF+dzJhugqnxmuX&|p>b%tGzCBCty%Aco8%JP^%Qa{S7ccdC zNh+*6OQGtol(`NiqBMbK&R~R`@rAfH#>$oiJ??9*(w&XkMeBa<9rGs?w(SZhqD7c| zRswTAY%IFiK|UZbmH&d@s9ggA7;clsQ<_7j1!cq>o_XTcWh~~@sQNG(Wd?(8EY*qvGHAP}kKmC(O%#<`g!p@kh5EfBFF$81->9|a+ z|HRobak<^qsJnUHn8i}2Nh{_I1tVLCu00k^nr;d-zM8eH}ANX@wPp-}_-{IO?YuSV9WTq_~NLn-CQaS|_<7 zbP&P(EdZh`{-%9mgAo%lf5XFY8a|XJ_fX8bs`O2=4}N#qV!F%Dgzj}>5iK?OPg82c z-w_n>YAxJ7&9C0|w?Bi3w{9FQ$UI6KtK*npGU|+}_4jn7ncqR5fa+M(~H40g1=Omm3I+ zIJtqvSf=>Nv85nDwW+h=mp+(l+`4%XO3}yk(vSH%te3=_U+MNYFPaWbkRrr*JgRV- zKF|33!Y_*HPQ_<(00KI!=}l+XE50`lp6N!5et|Sth3IW}{qa=HnlR7WMrz0`3knQ$ zU-#N;ztQ4N{U85#BeDCU4ew`#wkBJRxh9aNoh+0$`@ znYv8@y*!)C)=Tbm@7I0v|IsT=Xhpvoh`H>);AotCz+Ml{lz~S%bOy_C1(Uf}{|*A# zM~HJE1n6{tb(gq1GnG^V_$YBq(LovGL>}P_KD7huadqL&$EQ$KH1<9Q+jajC))Xf2 z44F0pr)xx_cB0@Q$Z)6mWKax|dQyGP+9XR5audk3ijLow>LOjfbG~Sz?p@!X;omx! zC~b-PWvWX{62xM3d(Gt*{0^;M?|K%mnudO}LlL80ueb8r@B~e&sW2Y^HA$d=MA1>-H00fsKtU9}ZWt9&l5k5~MDK9hc@daHk9XYLYn96G^VCk2u*zHs@; zP@@P-_X$U0E7m-erx1$|N1jQm9g);jFUa7_ZzKg7^SUmRg-PH&)U{)%*uqlo#8_lv zG56-8q4nDJD+Zp8BeyqvEq+_*px@p*UHv+o5Mf;TDW2N8ozF$ItT4*-M`xN_%3M`j3SNDho$ z`gG%lu8KJ){WZrAfC%FMGTiUy-^bPU8WlY=2Qa##&sqO^WqE=&eX)8Lza@CfhSUCz zA_%bv>LiAm(wkZ5fYyM@E-1eP6k4#-D(`UL3n1P`po5EpFF4Bs?LPk4ku6u8j<+L5 z&UF#99^Gwg?9~;fXNnVB<`%`0u=zD|2G&nhxNqY%ih#Bn&*q?|%Q0*3M4Gz~X z`eFflPYx`!RIsL&EjDnO0uvB%2UyFyBhyJLJRO7c!v=0L+cB|sR}km__^w0=E&!n2 z^|9BWk{@2u^UKFm(5#-TTAm3Co2$Lo@JsbwaW>=BUBU_PU0&TF6mw2B_g$hLak+51 z0R0fy&tNglSCH|C7vx`JY34l-)oQ`Y(9UV+My#1jzN6kF_dic1dMR80Z(#lB`VQ`)x4ZUb0Pe>4;Lu-gXD8vDN z3{m&7$Kieyfo52c>=`Bd8P9m0vpM?aP_Fj#A*4+;rd1^$%A-D@r|&V)T+zOdum8F) z7C;wML$^&a0x0>v*vwC~wYe}Av#p~O7eZMa*zevm+*1Wus0dI~bY^W{O!I;b+jXpn zJ@q6LEO87q^+mBx;YRCODCaD7K`N!WS1#2%pidj)QA@}*jtHQl8Qa!=G#xiD=0Cs^ zOf6WL(J`vRm34GC5FOUFvSk=sAU=_i{}; z5=UF!z}Usd%S{$8t8M-hmLL-#S0198R1d}Lx_L-b52kep8J{ewvIIRcHw;!4y}nt+ zb!g>Htt#RD1lv73*1A{8=k8&FEWwIoe$F_G4SUB@S7{2LPB(pgGO0j9@}?ui$2}(# z_`QZH4R3nSnvq{WVZW~tJqS<#ma=#qnnQxfXkX^i?QS~T&&*HqGro~k2a0nuuhT_T#*6@$XY41KS zUGrn$i}F}nTBrqQ2L|B`phq>4gN?W$SowXC>@im#RCbnjNnCJ0`+oX9v0Kbkv+nQz z`$oracqH?8R%#Puu8Vs9^;HCGF2(i(VApog)3G0x6}tMr+sWG_2RO;kv*@1?YOI*v zd(Ix4h$ZepacjC|HHi$>T<1PeGthODmF|F-=xE;bZ29a=UVFdLX?SBA;{_uQDq6iX zkocj_CTY9R5<`i*#~{h982}eJoc7J#N|*7nKWZFz0T(?^a~gaPQ{=;1q69%>%#D6@ zS+BRgvz^=x=ASCfm+E_bR*NGd50dI<-&WGRCk|ix8rtFgul^zeXk-m5#G6EW&6V_Q zEoz-vo-i4}9_m1rc@35sW_qsONu$|WOoA77<`U6KB=U>GlvzUXzQsxX)AcQHHN*(0x(!C8? zj`=p0BzIYjhKXDcgb~s~1HfLmzwfgOygo}G-$|sov2DRwRb_0L0krYeOAxg_^hSvrfJIVMK>5clg0I zOJz)rgygvssGQQCMQ8}tGlpqa`-jC}Q00mo4%#Wtr}m9#`L!7vEn)@wnOfEV?ppuA zfm;S{CCT5L+>V_mCfM85*nI@yz12d8PHV9a^Y-#=WFZRg$YL$CZ>BX zgDz~IEQ3qlStq299NDhBed?Y2Z81ALgv5*O8ys<4f8_XP$ngof+k8gztA@)9<)CIj*0+>!nO_!5*F$RGW9pUV?`e9Yv zZ?6;lek>mRivPN)dRqK^`3Lv|PAJ&mvRB~sgj*2sqyQ~o@UsV2DcidlkU^M~l(GIk zBo%(%Q7~X8GNfZ!&6R^ib6EjyA!)NzG8A(OydxxmRv6rP%pRwid%c6%%$aBakwDf+ zZHgx#^a_`s)<4^RZ=W7PshdO0f{4m)drFs*X!NInTWWz+o}{J^IlLdQ>!%ftbp;6Z zus@jCQ)G1ptnRlwK7TQIt9?KRrps)RZvJL4yh*txlBI%PgY+^X;KFGO8JwzXbW*ha zBW|z&IY7q03MgwWCvFGY`dK{JEUrOy8YAd<|ktP&!K@f8mA*x~Un7aW7 z?txW~tofMJ*ibhLfx$$M2`?^yaViFX{Ik-6hDOH!w2-KpjAhkp~r4>{#+-U@~{m0+dU`>&I`;sww%aGXR`<7fCn^7^`MEKw55lqXeR`~An_E)P8Q}C%qNTW_eLDy zY*-@>VlLmcKlmAyBOCA>m1Y3)eUxOc-@*U@fber53XQ=I^eiQenm*49LS8Yoc5)1Q5|DAenIiZi*UdJRg3 znA-qmt`S7|NVXMy0WHahqo9ulS4Nm7XucN#=7V*2pQ)E;_CWRSKj=$e9C6=jbPq3> zZR_c8D3Yt8j_}AB62~z>bW)j~Hjm5YEn)W*{Xj>4Em*cPSN`{mYf}P}O62obY!dRz zOT0`H0#XN0+IV3wjG$zyCLS)44xOhnTVe$Nm7b$PI&QllS{xu>eC&oCO`Of=jc}?f z$gE-*1jU_)&VigRauae{sM)$X2ksQ5Nn|`@zdxO6II6Xr)A%^?NI$EL?^3(^5<}GNwKQ4#)sG|@ZLDPJBOF`LRqGM8T=m+?3~FS7nE9*>eD&V zY+oB$qMWn5qG3`yFLjQb*)l&Zk)mDz(4om5UK%SiFChtBd^sUs9QpZmyNL1j&1K4> zWdcL(rlu3YaW4sXNj44Ry_SuSErEFEQH^BuU~X#waEVa>Ze8AFv7F)vUq(oy^V@20 zsTpy@O=+sXP#~PuR(} zTJ;phtR0k&tEG=>!+-~O0`3i7$@{dreUIG(TI3jsQg!S^v!B2ks57Pyv0n1fjl>-! zwU54Ka^j4sJ^BvP`ELG}bCp1cVTRaTnnzH% z=dz>7j97yvf15{m z36}NG8uq0RD@uYfrmW8fDQ~POHrzTUrg~Em=^Per7{Fds7t3VvaI!L>*lL#3=VsC- zdggg^9qu&7hF=o>K&_%N@n_wVSoZa_6b@W~^|wLZeVGd`-ZUJ9iz=o}0MMP~2m)Q( z2)0o@oS`OC_J{e!#CWTzC;4;fGp=Ka5TA{u*a35ZO7Z2LrU_P^+O#ci2kL2SL%-fI z@bZjtpF^Ah_vh@yKJ3V2Hf02^pTddWuVFik3k;)zpUZDqZ=t3a?5!z<9seoQ{dL=T z!Wf9Gw%;C+SJ=GKJXKid-3w`al5xlE^`(SXrWE0EDky~8xsO~wRW^$~M@+xPo17sn znk`2K7K!KP+F9PX;aL9fY9}*Id|xVKui|qRCP0cyjq%S~lV_e6&7}=>e+kGb==%zN zfDE(}$>mt^A}oE%|H3XFs z^|#7v5XSBM0!bLRB!xavou{Y87!@C<7eDoH(ro@1&}Vmw`RT9{iZkTbJDBz7=i$cW z=$ZAPO?^_co|)JtPaXIJt~PpKm!rO>f(r>0YNL)&IjJXIY`?i!OUQ|XF7h<{oeKMx z|9KsoPMNjOV4?`@v$*1?lWyH*uF12(qe?M4|i#2G_2GEi=@dRvzQzmCG)ph&UStju@r@E-uw#04vI zZ$mNYwFo+g4RN9~Y3c|;crgjY9qW|8C0xbrLK2g=^!+NkzZ%}1ZdIJ31w8UrjQDE$ zsDc%GkHbdrkz1h>j#J=niNsio*MTPJYncf3>UkM1ll}E?HcOA!G;c`^g1A4MOPk=f zgpUtMpjW+{Q$TuJXl5Uq-#5SXTPCTGX^9vf^LU-hYXL+czw~0xnYu{6w3oHc)VuE`V{8 zhXP%VfI`#Pz;+86BtT2AYjY`KZkx=`VEWKcb(d0#J~i&`62GQVkW4@a1TV6#jRc51 z@zZ2^xvfQJ^Eu;I(In}VFnpP0*C;R|AJwye)zrd30XOFB&#l~r)~p^Rv4GZ4zO$a6Vy6*gSp0^yUX({SR_E z8P>6a2kx>f3Tp-+IVD>&zo&^3qSXGl6-7kdXquWp?Mp?EzM7KV-@7>0aq7OJrq)C3cRBth;VGG6LDJ;+`_X_=Ia zpk5#htaeqXwvCKs3$pq(C(LpYhOCqHk?_-_= zKI8i^vC|0?Itr{e>_D+AH+SYINw4hZ!4zW8f8rG3VP@UJ-S-%yB!GxO$x)3)6SP^I zhHF^iP&_6kF_&fYt{Vj5*a4Vg<=-pcQlyY2Y1ej??Jdy}rtJU|Y@?Llx{vG{VHT$twjRs$LOaqI-IMqTxezD?VyaW`p+$cxkn9IqAl-azI;c}-`!)FnG#3fc+nR0L zSf~URA+l9zhl>e*8f>Mpcso_ll&NT*Sro|SmD*in#~$pA@dWYJhUx#5`#c*fLUwb!2X+*rTpEf4Xn-uR9($?xI&m1MZIkTm& zD1+>JwTMw23n7??>`dVQ!6C`*&}fJW-FIF>LC7T^j|pNX0#AGQ&%!v0a6mV^5m)n{ zNaCKoRVKHW1i)akM8zwhn*NdBkIIIjx=#1o`+~2Q^SboTjNMYqNwJCY=SoFpLAS8} zZJih2N~|z-;W+f%z=40_v|=nn4`WXdak?{q@El>A=!^Q3iewsd$j_04%Q263BOuJ$ z&T_eWx3HeX7955DcHi@2>C&SMkugg?mU8WG$Igg-PcyTo5Z9j(4LDa7|ERRHA2VtyK89yk>K@z45W_0O<#|*ifkip7wg&i8Q#gJQt1Yv- zQ-!%5lm`?&BV1G zZ&Y?R^^!yNUG^DaiG~We`PsrYQRm*nFb-L2tJ;FC%t5QlXW0NhaPt0$_bpiG9IE3c zA}};|Foi(VY7dg(5VR1^FaExd5sTX|j}n#CdZR6yN6M8_YnYp8u&wAa*Zd@kdqq;% zp-itxG~9udId{ABU}j6z#b$65Ri=HOp&k;Zs7^egrzQdkk~j`Q$ma#bt@RA zwwL24q|2ri*NE;Do3Xfb^~i}Sh;VLHh@A=3f?q$N(5G1eurl;k;~E6ZqX1{iiz`mi zik)2%cLvaoZ_B;t2iN!a_{@JJb0B~I;(QC?pD>cta1{}JLwe5>cLPd8M*pDyE>6SR zEKu<(Vbv|NzyX(o5RAiOMP~Wet)|h%VK1yZQyAJkL~NzA-$>hjutLwo?UXrM9&9c` zZIv=Y+KqviDLxPfFqRs!6;Qz<6q@c{a+nYflXBvO!dxsSTj$qNzxPZRvn6^8u84h? zKWp>R(Lbkswl`PSWdHo*jy8YR>>8fk$LGV&mf4WIorov;KN=i+45CLZ6MX!`#wPn) z4_8p(O0^1QyuOxq3cJKi>&*2lbAidxlLCsF2D_?<-n7i_QXS&9$8d`z*IEh(E3q-)NU`nS{Ppw1Sf|(+Ibt%9$CR{mtz#Xid%>U zJO{8#8u5|k`zJbfb^fg1Zjx0L*L;hZ(BO-dT6)c6#W?jr!|2~&6gbR21+@ihwrdQ+2GC< zbSuRm8W{$-r7zPPl1&IlfF)vFo*i{hJa@+t@pl(8@%G^zdj&4JK(XqD{azpEyNa4< z@PyPY$=s2pcOt6l1xU-@6hBPZGe*YfynQF(2-3_4NGJIC6TYDQt7Gf!pC5Mvv5|mv zO~sR+6r?|T^iml0sxc16uG`%?3|UyO|8U;^!qeG^gwnMn5iv)}Nh}r+%=pR)h!Qg7RC|bxUpY- zhHZUlbReErHg6=!N@1<$r5umgKKd6VUHmhc6Y}fuFC9$;UZJ^!G>f{m$(dacxiaE1 zB7bA>fw35gIt@p$1_1l!Pb5YI55ck5&A7WY3t+(GK;JSDxg4XDx|ET$RDys9STXcLm33ovU;R7 zRKdq|d}Y`q=?t7c)3~Sn+5e&wzx!y0K%^)9Jm#2LTT3NTE*?8j<3^M$@^x0`yj*<9 zG!nvl&5cabjhN1wS0#bM6-APlVK({xM*RU2r!uO~#cb>Ik*Ih(kQ|w8`EJzVXAfr; zFBfq>-QD?6XY^7hy-+!vQvfes9oW+gf^FggQZ`vdUntLT7+?q0cxePJx8F#LhHOOa>#ljW zQQK992YGivEl0Md;Qy+#`L1e}I$8jQ4a6Y&wKIA$4@MihY{DEV?$&y5lk7G@D^#dW z1UBl^ouf;qX#F-*!3K_H2GgPUAvep7Ld$H9#D#bKUK51M+czfWmoJT&Bri6;UF1g+ zrCNWj?W=$S$=2AX{{G!5?@WM($DZxq*sD^y`#W)*xQ|gUT^lKSL7j{=5Gn=vCH28tu{hpnSO)sZ=wm5B@$xY$nC`^{>y@K%F`&1c^(h z`|bUv-vQYJ5ZH@iHhZ6hEVc7d`|r*Ss6=XTJAMx`OX6*UH9t6ImYk%mu5dNhBCQg`lBKiaSEXQZ?kLU-m6qj7PX+@1KLN-YYa4?%Yo7IBC#y;lKHQ%Rra zjLJOnImZ#yKh=m$_LJunNxi2KbyW6GJ@-w7U!~`R3f_9hm>(RfBvp+&Ph0UR<0!t? z{sT@DK7}bORI$Q@NYkY1?z<`Bs7=2q;sp&QIK%=obY)~M9;BKMx<&dxS+7J2U|8mBG+`BHq7H&-=Qecj9^j_4o#9!QA z!puDfL@5x(#<>mYp;2f>Yrg%wP$JI+98JY3X_O|4E1-XMe}@YS4>?Wt`Dry`#)^zH z;*m!(zoBf_?JYUU|d34`taB;_{b^tYF{9_~{WZ{f*N(rL4!Uz$n^M&H8}?bsb9*%Q`!I0ygPHA6do z;X2mUFt$B{$T2?$`nN$(gi-L}8n&H|aRFSadj8BAolmVBvS>bWvAA+=Oy z7aj)lyHmSfshRYfQvTlT6Jo1=T&3KBB+F@VM%=y)aFmzxhD0|-{eg920q}#6V&5YR zYSq~Izrg&3VbXDCxTh9=#W-AHI_#xoGMXgQ>id%D$C@k$!t zpPw|tW+`kttFf7?jUMyV(5-x<<$7Y>a(>A)>zyFb+;Du{Je^yJ@;I-uHv}yRs>tx7 z-94XY8x41{Dc>BjfBccMgYCw!T{h^l7JG3;!+90-oUnu+Lure8T5DOnrZW%e!+uGm z6#SG4d6d(Jbgacq^TwmIDotU7cuMkb*9f{yzk?UJsEANgZRZbw|3hS6SV2hLddvFx zQ0B#Pc{r#p@7#AtApC}nE8aD1wfQ^p7L`r`c6_*^wuK(`GL8+g$y^JUgP94l-EL4G zar!csdZ(=Hff3N_*|sVf=2t_yyp2aNsK*oZ5MHhCjGaDE@rL(>P2sKgV0Ci#jd@HdE6eY=t9G1Vd?4{PD=#)*zr`=JVFJx( z6Q&z^4~T&zN3^RCgLnOTM}}JLq(ldO9j+JS?4ueI#_jEEK#}e#R{SsKZXpLG>2OJb z8HuhonNgb8!+~&zzV_CsHf%nl&?MX>r$J8oYHK^DFPuCjA-b}ME*Aa8AH})jFhQk| zm7q48v8i|Os^+K#1V)%sG5;rH2F8fB@$e$R=xGN!X{57-27EIALJ_M%T;do zyE$4xd-F1qE)P>t5lMfhVhN<+ib!u@-n+RkcK-es1o|PS0fvX}Q#;_T**Lw$2}Vdg zrN)!ZqM+N-p>8n*FWT>WeGvNld{tDVJU+srMI7=e#kcI*YR0qllE%!MuT6izREl~K zqZgyRH0oGHA{FD1>Kr;2?ngbRF*vphj7StC)V!N~l@Vc5JZacihM}Hy+_z!IUi5|T z>;C6`)dXVyn4Ai%jvfu{hx^koB5Pl8nc?C~h>cLA`{>u`c_*NRe8C@63mrF9?zi;Y z6L;6B;MvhT6ZibRI*+L(QFFe%l{SBz6|;Kc)pBzF87rFy@cni72EydH@J2CHJOTA5 z9lap&rbXl!rgGE$yq1Sg0^X-Rdia{}@a^Pl&ADYoDC$hG^KK%3ktyd#%#HLgIA+y* zT7#PXDyrzv9b?)$P`q=+yR()m#}hw9s+USlaYxGj&W=_5fa&h8A&#|efMdg2 zt8G7#z!NbIp&QvuTkCfs$O%ziSr$I{nOffB-f$b^NpvW{ro`1N4^g=b3FB!}VtIYRsV< z{_M1dlwbPISjx)DZ?t*wf~{~K0;s1Tny3q+0@NwCy(D>EI7NneoaW4*73b2L9f-eR|i{;j>TgiuGTi?L>(P}eCgLDa- zJLdn%o(LGiCs___s}d|{IdHWx;73#rKd5`Y*k-Lu27$@Zev}kfPtJ8NtFAJVe3mX> zlX13gH&-yVz)MDxqoaC6fSp0*wq0|*IfyN%$LgAHEMhxXtMMz>rGjDL3`e94=_zcE zs-$7Wxw}Bqk$UI2BGgoogs1tskUiF`GF}Q*88DRr1Gwi1i)-avXqR_tayHiX#1&Vt zk3a>zD4TF@^F!a>){_G+sg5FUCCU#SsxbG<=j|gJzF~BOuz&e?mPP+PC#u+Q`@QVf z`GCuJ+)f*k=wh9iC5+IE!}*(F7waH=p=U~KrXbM4pUFsR#mjJ<24M^4u9s8EYA5M9uBA~4` zt&nI%U<4m0&?eWT}-SI}XVMTntJ62BW6O;g?NBZkrfH&`%mUJMOw8z&; z?bVwfTh!w-fUYB%^Pl}rRT48367(SH%T@Ruu4f*EcB# zCm@~A{Xw%#qCY$qRpWP5u**OLiO%y-dFw|$N8S)(LxQPyiX-S~OPItpN8P=+1kd=} z$h|zhP^0}ZB2@FMu`?$50VpM!J44Fm=w`NrEX&Qix1foGj1{^v>DF;{9}k<9<hHwLoLyMa?Y>(4F&*CP)ED1R7{-=s5^+FRMg}V&}jW^iUXk zhJhKT8Qw>Nz!WuLKloE+KD1t`F5WNm%ZsD+&K}dnY;;lbI?@!GmBZ`Z;A@la^6O0Hh$Eqw!I8!h{bfNX;;ryuP*Iq^l8q8 z0J+;GA$EFyPl&Q_$J!d2Y|stG^L1r{0qUrv%IKC)70Ze#Z|ht=T_cNWbnhWXHueZ1coKIo!oOplE=V+q*cOy25((-^AdB^n_z~F z&-ouCAq90-YPqiTx7EF4HKvY&1Dbpii#6+er-l~U?NSFh;IMIsJ64b9>>Ur}=zA=` zYwH$jbty8-G{hI-dp&|sYyEhJZSP5EQT)dPtb92|#yvM=3Qn`;u}-{~*`u#L;>xKM z;!ZP;EOl3}r?&!6XN$7@L)=OfPE=0hb~PwBFcpB>N-Hx1PqQcDWhpfn%E@8cW6Hn! zLEuO&U5)`A2Wk7w3AkZhlT_G~$PJ3Jhx4`Iz}i)sWPP)hBY1MJ{}C7L^E3Aebc3QH z?Olp7K04Y>Bp3Xj$&$1@zB?l{N&l}d=zuf~5<%VOAacD`J?*&=H&~;6^)yUm->b4@ z8$>Qm%0p~3{@~{53VBx9f*g6XZtgGd!vo)ruSdBrC-|MmTCSZ`^3Ym?F;|_rF<3F* zSm&Y-ZOn{$Fv@i4>&=xRz1`2LvH1Kc=dOOz+RU&Fzl^C0{uJCV-nb+sk9oT@u`7E% zMsf~7v?Z28BW>s-UNEyw(LAc3choX;#l3jz;w2`C1Um4R_mj6}K`_ikh`^#P&-c`R zP#L$47ai-`J^ld}lD7-Xam*eL6dE}Zl<>359uF4PjB+Ov;+Q3B8Kzlg8n^JM- zrJ|ZxBKY)reJ1-|{U_&&Q1xY5yjUcV&i%kWQaP!hQ(>=(AuYclzJqzhI@X9^rhjk2&)wBJ)}e=l%lf)5p9 ze(sVZ=H4G>UXu$+5pkgMF50MnQ;|@1AKB}%v%|1e>q`}mxPXhqYu+^vh zZba{?-SZ!ta%Cz`!}(cV_2FmPrwj@?3o5XJ%zvtv;rGHqPSrjt*8inaPU{R)HSmqA zv<(O*BBcuBH?OiVo$Z~oT;L85^ZJ!On0nOs{~a_#RGea9%x^trDV^$I zpHP9pcjD&S1K_w)Lj+@CxzH(z0h2UE_@ekGeL7l+$SQqC#et-Sd63heX*_OEZ`u^z zm<~pM4z^jLny1Q(!Gvl|Oi1c?f0T^uomK9>8;G+NlDAbgDy8m!P$C{8YZ7LL8S_C( zIp#jZ(*pfd2yq(-Ry32vQHpr8ja(VTD`ptF6o@0m;$Sm`g*AL9Si^y`;9r_AGNNbhe;iDsZ&itJ=tQ@PR@O;WtYEj5zgRr@#rBC}g( zRgrgSDOkt<4J&yne-ER+*CaujRallq1Dulsh|p`&t{(E-ra?g52y_vk2G`icP(i{p zR|T~-BxeUF;FKTaZ?q%XKOc3NpZOlD+5062G8iwPORO)4AL+Z{BI1a}DrA*0Ba) zTtcw4Z*P8H-ZoyiS>dY5c)uTGT0#9_#Yts*8K5;0rayfqJYWh{VjsG*R zGTSrF*kkt^KjncCg1RC6-88EHj9*;Zl&Wr^R~X{=ccTC#4vE&?Mify#7}w}GGDW&n!^J}*0)WXlSevY6E*R^b+l(x znhK!<``c^SlsXTxzLKwxCSr%fCooK9V4cMg^!~4>-sg^bjrz?+oVaq$;)?wsz&-MW z2~;)4Vh}zMDc#$H3r6wT$ikhg3&Qs+ z$_YULSN<6&{X+2mBry{eXci}~ZES0(*LnoEkH%0k$7V@w288?7xa z>Bk_~xk3Avd)*F%e@|j0Ltgo4#?q7&BF3Y?+vyOu*mf3dBw=HadgMfv=9brRHJ73s zAmU=4$22a7nyjxS382o*+=IoP?^HlX4lRuV8L8)Cyjrzbs2zIXox?sm5n^f`T$;X~ zR~)csfH_1CBok{mNp$0>Q%l{JxsYGSyL^&ek^(oRCsO?nDQda;`Ox;m5{_0NFOK)< z)r~K#uGSp27}ZUr=JWZ$gSw+&i~H;sD(65PM2T!zj=dG-E#}HVXm9Nw6uY51Y=hFY z!@N7f3s7s$wQs@Zbf(|agxE{_r;?CD6->2z7PFSeR(rC^PlblTbVyl+3IgjK95Amc zxhGomBuJ`)_<5Tl8v&O`%1lyf%^@PWSCPZf3vWS;eMGwuWHXqYbQ;<#ccp!S z*4n*RAiZevZ00UMYegQB(Dqb)M7^gFHbpD0uEx9*g8*$ZStRHO|7V4;;*e`Q@zKpi zAsE}ug7AFa;jj#E$Z>tdKjJ{#6c1c#Co>+RcvfNyvDha?`0TF{H9KD3Re8$z#0*RTosm0at=qmRjy(`G*{tlCGr7ona+Qe zC3U9t*rSBiF02%@1Ppt2Ru)P$99)!u9s0hDKsuBt4GZEOHTRBaNieOcGU^T%-#+3& zUhlE!Xz;OgmL0b8@;&lw5c2}1gjur-QP#xF-J2oOtz$}v+x zI?i}b=8^nF2Ftrum5bS?e`|4BFH217S2jF=*I8HW!-Poz7Qw%F&+!&?`gx+Z2r{P~ z+kL6^qzav6Sn{n(=^WJzbCiJ-!a`77FxzcDo8^W6H&vS4skF)Sg2^vz1q247fim>> z>1jz9?v(|O;%o1#rp+7f^?~^y%|g_iP?Tk}GU$Dksdjr<8Fu^VuOTbjGhl(<@{_~Y znZd`OD!cn<-X5ISlhH=g`j#q_Rn?JbYX=b+n**zCx4BqnL6xOO&87mCFNXI70MXI> za%B%9``yGm7mN6wy$lL_e_f@P)P~v50Dk?ALbU$kS(hyXVygg_ALoC5aUTd-=IPmh z{?we!%*YAovum6F$Jd#GB#^|FkZ4ZaFVGy};*U{3S~JhHu;mG;bB>8WMha9k8Vj`N zKSkDhOqR<^hPJfEY4SUzFNyU!i+PHQy}Yfy=Qc*4(Im)rHGN`Jx!Z-nTC@u_d(d~j z-3ULnELe;z!W_1T0ki_)w52<~oz8^z$64a`Q9;#eJBhH^5ploiJyfd`ReWp@(gkok z)&7-c#?5E8qs24u{&ZlnUxQ3i6!jB3(E+@#fRpzNco6z9(#)RF_&IHuhS}BGU{S_- z09^}_buL||z1G(46Ie!+>~4N)H;>iDj&c=Vw{n4=jx2A6v-i|4^srecs{NSc zveOWPW=vps))B)?X1t$5X=M_=l|;lRw=CEdgllQ#UuP3!3wSJ}d7E@f#?9Ij>-ENy zu9PNn3($z1A)m`0uoiGkF4OPCc%*w1(^7QJ295xVhN7n8}f4o637vb zNqs^Xh}GZLyp+Rt%6*qkkLLVb8Cy907aQYemOo(jn!2wHNlsj0Qk6pst*4kpGaa;7 z5vqoVV>1B@Wm}+nb+#Yna;C(+*ufJ~*XtKc9hVQt-^Yb_mFt**L^)L+dXpVVp(p-g zO)>*o5)s{9qSY3(fl(c)M^t`tut%3;TY??&y;t4;2~7iv?CSVlJ9y+AEGR zqLhhVGBuoPy!<6#cvAXpK||%+?pD<>qWK&G6mvf}2HW!zz)dr)x~sgoxn-Yk!S=%B zt+umiXVY|PA)y~5)L@(#?Cb@mQEpKJ&N&Ta?sEyp_!f5ivTN2=*<$?^1J04Ld6JV{ zN#%qa%Rwnf$I;n`xmdP7SAwa?Hw%D*X~+t+Cw=1510L<4|Gwqb@slEj|I{0YC-b17J(Ijt09$Fni(wM8mO7c||B`}Kwr#HD+2>4iMmIAl@l!DUgVJ@UK=J(H4;LC5iPU`C|CKmJ z5O0qK@IVxL+wDGr0DNCp?>bu)*4{BMNkq^b3aUtmtlZYJMx8wiI!q|vru)iR$cu3P z4^>Nfy5MHcr#faVjz2&G=60f=;31QS4fwE;KZM-Drsi_np$UpLAXF?=49G`A055%? zso6$Y2z%gt;k!*5v^9cHk5U3(n>0_5aUf-|ltvYsd|^Zql(0wN%O(7>Lp*n>agxt5 z77rZ4eWf2uPJ(kqy3qh!hUZx&&{tQDY;2^2Ru7?;o4K88e;#zyeoF}NVAgmX%yFE( zVkWHKv*zceCU9{+HbZ~Jq%i~%3}*Qw?a8Bxj>!kzhBon~;a(Yb#)&hm zK=-@iz|AcwtcSWTKQk|JIJ3!;vHS4m|M~KjV`@$$gvCW;9pwGcMt2!_nX&_*a(|QS zP9V(~J0xoIrar9i9?j!!0B8XP{~PPnkYGAuE$3;hl{j0+s^+3e6SvokxtXkwvU-1W zGC70*LAXTX=aWnf<)v`96ezUm^{>!372xos9FX7A7ZW`l@%BW2VtEAN8)03;#XmOk z2Foe6m;Dvj|NsAo0Qjdw6sX@>^XR2}miryYrj1E*2zWpAlM%wwrA~1d_b3&-XAny6 z6mEQEug&y^`?Z9i&^vG!i6nI$JR6s)MfOzPoex{>X&TCkw@qz=S*R2x!s?9t>b1go z*YQ4ua^q7b;m>btrX;Jvy%&6}gfxe>U6E@C`@|vP0?^lnSrWqCX$;*a3m5`42TqkI z*8UiU^G{2Dh5h@0&D)L>*TsugoX->gOaj}w0UBO%SVUA}0~Z$+=6##{f2G)uL1lbh zh85MIDk5h%5ins+678}3fuOv7NF2XbWTSd`Gw>=Pm*7{A14rA0JMb~WJuF3N8}@-B zn!xJK4Ak%+xuAbBYO-|Y`E4>uwq>EHDgF9*@6-R`(=*J7C5|!)-;hAf@w^b?<8-jQ zpId*}EZ{lSw;s~f;jLckEbHB6sUX75e06>VDrXbsXb3oruBA>A9G%l5SQ6c?0{akE z!nPQ0S#@r)2=N& zj2r(;ZQUM|7^tq^osaND^A5Yk?L_8*1|6=NX`zWTQqfBeC4|U;&?1zfIE`-swVt0h z)$osD8Xr5Y6tsPmK#NSlnN+ij-|>#N4{!u?wJ7*HQ(b#CE7~Rh20)Bfea4#}?#Z*3 z4pAGh`T=0h*9RF5qeRt?>Z^%S1v#{&0CnbZkPu8_1wI@IYE zJo#d2TUxFP&Q0(_q2ws%BiA(dLeT#2X^`dJ-W(251U&Eu(Jwg!sF{}yN!C}3bllo$ zf}3&S&BM_oHz57?5x17E=-cUu82!hH!;jI;v)PC62{ISkOR>d1q^m{nP`ZqaM3p z;8Isk2`T^=DvkE_@&H0btgV>B{<01_%zCe}OgYv-WxAE58eC@-?SmobJcOJ6JxL(@ zf^}M+cf|?;e|ICfTw6sohi0;ssx9Az9A7W?%ZHtF|ISHs(Y~k<9;bG~^1t6#Xj)F= z(g@`qeQYZe(OeC~wk=Rrum(QWeO$cNF&h_ml+Uf+l$3!_=)>DhWNV~V?DBRMcyUt2 zO&ZLxmIi7wPl0-J;8ah22S_ajNiwr5vV69eE+72~k~H10`g=)CegppkH~sHbp!^Vf zzr@=2y7E+E;KF;IMO8C^46fCg$q>^R!gprk`%JyT+>|ppOdfK6p2JV-ma+B&So(hNV0uM?{cBqN<*7~~1hxUI%?~a&_y-KC z;OmCC(wh<8%n@}Kt&ulfPLfx6pw@-JEP9q_3Ur%KP4w093!R8jav>Y!nV*g=xRw4> z1-t=BT9}9O2g+-zipB{hm)1#cE-bY_Iq2QoZ&5W+SW4{C+Nf{T$n;H`Kl6*_idR>mgneCRQI70 z&50KE>LN#^Z=hkVFeFu;{#ObhCW`YsFAY5JD&6IXcND-;x09u4n`mF z$|?VRj9ab?dt^ne0hW^U2!OIhgJoH|4Z)p`m(@LQ14+IIJtCQNp?hbIz+}3zxC8*1~L}t{2rF` zYjr=AYM+5&@B6_QVt)PqM{!RVmZU4e)JJ7CAOkf78j4Jerf>B1+61M?Jq;7O%K%QX zbwnXcl=m8o&U$Z&reIgXw^ZfIMrW6@cs*@jXK%kr{MboCngqI&N<#;rw+On}*VXsT z5?4*ul0i3EfQC6xo9m~%;WgpJm@eKA--jh-;b2sP~uT{@?-x;&6m!g zt_z6A!mU^#sCUqR71{b}FbAY1N)R@C6b4tluYPN$&S0!n~WfWc~#_De}u8_Z!G zv<|-HnT-FNrZYjvRp(-bS3n66N$X4B<&x+m&{=7jk^Z#wzZsoWDNe&Ksc!2V=(L`Yl|OUR=%=RT>~eI*#CYNZ+3MsD=Aqpk(*nVB5pd%DSF*}94l~2~#u4HMYRd?G(gCB{&kZgJ*00=;G zNW{5vQ#J8PWOV%uxFZ31c|x_lU9=1Oy~aSrW;n(q@tzjx?qHP$t=YSRLb&TCW3daM zF8!TuE@Q+Vpj>0LUx2}|@RLl4O@Tp*y6RL*XhL(RvI)cILh$Zk&ee@4-Mt>x$O$?Y zyRi`n!uH0VC|g4^#h(ri2JYE&3^)i=Ac9+J#60X8ImhfkMkVe&^9hgfmH64z*|x~? zick_eI1&vkUN4GR7!&kqDq#F79CoGnpp=QcLoTWjp+|jP&5DX8R%i!iZnQJ;b{r-6 z2#KF&>i=v(!dOeV8A(Fk;TR19?G@AArVu!X(2JLQK3ZZg%NZn9w8l_B;TwYP(^(u0 zvO=2(10$=5)}+9xdIYLz`j-Al-Q@`o0UkG>fqwEtY6G~JR_EAv9h2tafP*p$%BDD0 zrdL#3imbU4G)bz@I$D7P%?iABEIb3x+bNQ9_~@YmbJ;T-<#KW+*e5Zm6V9Sv>Y2cM zkPb`L-%c$aZY;`m9%u{cJ4dy?nOW;WVzf_0xFm#+KwwE#$Rs_g|n67(*3=E)2Dks$Ov1f;$@7-vz+=*a>r7i)kZ0DXRt0A3R13+c4jF_C2KLp-Gsz(0Hm^*yc94?Gk^$ zCW8W1YhLFp^|9rBKne0S;=^<#vew>#eA6@$90fr$wpH0tpup~x^h`Kst(+Rd=|S?Q z(BrVvqsfV$IWk-W^mE}y&izJpK0v3ulNQS+H{bQMcCy*og*J~5NS+diS-JBw%y~y( z9G3lhUm^l5*dmsZ^o98w+5kI1#J{drg$h4)k3|j~i8%PR*9;jc4-n2y8c;bP!0^fy z_9X|?7P&x$rXZB^sJKjlIsXJl1;LeVn`Dtk^k0h3w`}lZe`g$=r*NkaHY$Ig6eV&t zDN_V8WdeL-guUT!h95B!JNF?v@fjvFO=9i4aOj$RzG1odu@2RX?}`>}1A>xV~%V<||PE>q_>2~RFsaBl%}H(m!Mxb=x;;(NS#ab_L&zWajg1i8|6 z>w(a6YD5ERXwb)@=YEw;w>n#&7k-VS^Gxg*IZ(9W?Le7jbo8?bF$TVYg`1bIVybJd zBz%+iiZ1H}7P>)NT@`fjI-W+=WU>py=|j5lifwquP&ujY0AR*E_F#7gRH(SzZ+JdW z>A1^Uc?@}pP%tYL+u~$ZqS)aqijXkWtqw@Rv$WhZ*nL^+%8FhE$~<6y={SMGf|KX* z(*(QHnBuzZUpS9q#!)0kwA0(;sf921M5VOqcx!F>^ zO>z-$nJfE{RTu>VZaRpIJ`o`K`p;GTS`FM@5Yul4)@rXcei@7L(ZO(8JpH08jBj#^rU825M>R+w50U{4BnKAgzm+Epz+FVL#9=ZO) zNIc2!z>W%lSDtd$PrUkelRQBx9?LRh$Mc)2SRMU7wWw-pAT$ zNwN<&XZ;M7(J#wQj0#AP+(JHTdL;tl&88xE0)*BdDPb!9NY(96YIdrLPDuTKG=Yui zd;Dlog>nQ6WqW9GM!TWUfV%BqTdNZ2fu_89mnJ{-fT1&iQAZk zYv{gFiZ3No;~(=$O$G;uoSl8)89aX8yhUrX%P=T8kRhE@HM9&w{YB5G&NAe#MPx`| z$}oJ%)t)3p8sWEF7K@d&`QL@Wl`yC&E}=)tvXA(6=X!VZvrK32>tQCfDY?pqRobtM zHda5R=Hwao4k8s7;2A0*XLG)O9*WB>^05(?BqMIzRcKy^-5OWS@!Mgb`4K4^OJUe5 zc4riMQ8y|;;tsVL-V-qq@;+ebIF zrEu-Q^ZmOgn0Chp$^ym1Qy*nC`;&wLsou=C&g5Q&+FQB{3%}^5NpUS~`)e#>Sj)cS z`6|r>U0F8>{y~0|SV&hMmP$)rkDl0)jd}U_X#{ka_EWy!gS1d3&6W<%z)ZN~GVnut zE-X@}-uaLD3xVD(NoNS(S}ba9bx|^$+pO8$xGFUtiqwjglL$W~73-7PC-b0fFudZS zk+Iqx@*&Y|Yc9_N9d&=|18or8ap(C%%yOy5J?m?cf;H(6K@`utbx%TEe$fz_Erbq2 z>U+6mY>me37P>)I&ZRC_JF$?mX_cet$c9Ol!}W|cGOQxrQ#VWuUkG5eG5YV=kx@WL zY+7bfX}z}?hL4e>+}7>yi!r_1W2e+R{1?hf3f}wL$xWaBuv0=pzF$zv{m>8h6nCpu zzkOu|;4_Elz}rQo(&FbeU@edidrJ)Qcd#0o;ZtI)fHx~rO;s^R?p=G@*IPMKw<#2Gu9Oov@!r}vww38bJ!d9bJHYfJi*_BXjs z-qdj|uS!S8b!TF)Wy>}0WIAeOk!JI}%&acyZ;JCz3>@;;MLum&gXlL#wgd}Y5;9$Q%vxEuY4dS0(Uu^*HzT|w^Qv(NS57!Os%BczIfV<0najf_s z21YD|IE+8u#ewb3uFV?iKhU6*#`<>I4cfcyon;2m=KI+?NUA{AXmLkQAK?Ia;cmma z4L7~pn;A+gpsQOIcjFAXEdKtL%H-EC?&XAWp2D0Ht~V`Fl*5Pf-Sb+&wH*U1_Xw}N zK}|!t>1q+r6MmHT2Qn(%*u`77Yw3&S;J^kETHor`k*h z%;4C$d=a8ilo-7~aN+{;w%p*vMhY600LTRj$6rEfI<_p!ml%g5Fa^WVQ+T^!r#b8? zEwen^vg(6Nx$2W`-jSK9bZdg$55Y#Yp6z{RuTR!Pt2hzU7>FLluSlr@j|G=<-2RQf zP|5bQpSBD*Q|XGf_(0vnTSmRgCkl%(pBWiF=6`4=OO8&)T&=N(Lc}zkyupR?wIiqm zHJL4S(zDu8$D2kDu?~1#@IGNEzMw__s`2rt<^cCgw9aZXYUz2Q;7%AS9A>^`Bua*&1FO7M=ejcVoz z(=YTzho=Aaj{NBE$BAm-GlXb@hQ+EnszKK5ix2e0^Wf9MVZM7nrSQ)ows;kd_^%B2 z`D(O}XF~3iGnQln?Qm$;K1Zz@G_OjOcoT#h9G8?3(O$EpwtEXW$WCV?eHA;(pS33S<9cXRyD&AW3)wF`bK`7Qm0*l7B38XxJY38o42_ z=W^`o%pLN|`+K12OWiZioO8NujNnI+JV!V*iL9{=B*fj{RdBAXBZP>&@6S@6cqXU) zp+uZ*cl;T(T)JZ3FaWtXQzRM54z;ntMe(zu*C9d#Q+mtrwt`b9r@S49chI0yVcUuN z+B*$!0Kj*GCkZSYFFj4j^>%D03<0-;U8MXoJ8&veO;ulzx$*8{Nd{;6nnK@aQ^?WR zR}X;s<}8cA$K0c)G1W?m27I~84?P?z%r!7zwG3_wSMN4}*LG|Q>0+=b*6VjU@VKzL zIM9Wv7Gu|?De87=vcvN|Lw{7FoSRxu1jm`i%zEeV%Np>26QlKZ(2N$|ykosC^rI*3 ze+4Z0p-hOQ0wLbAopBPPw;#lB`AGeGM#N9eYIrfb1LhNNxTincfV&HZ#KzLn_{Nc`heE>W5?Ap3F&uxV@w zyu0qy#NPp7G3aP;akIzKbr0aqQST^#5L#kXAIcWP;d;7q4i>07$0V}w3er4o(UTg0 zV63N7`BLp{&~+0}E4Dy_niqTBBS^W~Z1uM1E5oNf?13b$a&ZQe_kG~ivibsu_N6TU znituPcz^c9>GpOmNSy!Thw#h`-^Sqffijh<*^a%-jCIWx7^SYN#7y?vG{Z6*v3<3=w9H9GdaBl$_QQJ%E;q-;& zKwmHdQupwAA_LSD;l|NW`MYotw>yP;lPg)*a5yJnQ@oG$a{DFcIIGHRGUzG$>(?%h zX3{PZ#t_g?__Diba1=7l%c)N~8WK9*xzo59b@yv2GgDk;hc9vF`A<4IEMf9h2AnJj zX^7p~*xY$LZ^2yB=y4n_MGXOCMM6}-V zX)pw8u+X}B8EC!jVaTXr{|T=;tCH< z=I(|syzN?maLD;4-N@AJKlw@BVZ@|dqT zvti9Z(Mj9bPO?)$>3Are7Mbe1jlSIB-3=%6{m40i82~z3SI3eV+8E&ZTOXr-XP3Xw zEvO|DN`i7EH?fA9ua*~0Z5C-|kSKSBJEs?BkcdPxKGtdD*=u_>jb_BYDpG`7Z!dNb zc~lf5Aup-YwSUOpvM*ywDaU}Mxiv%EymN7i{)@jdD?ANv$v*GuZ&o6aa{)K+;%N~c+0tBLh^7%m zFYwFP$;z#4gcpg(=Dj{BmC`T95kNXU(vmpk)kNh{}hI~-YMo>fnp}cnBA`m9$1_C8M%qmUzTp} z7&!$*`B0-aV(QTDa?CKJyVZb-7_cv`)TJwjYp(CtzYw3@oyx-d^y?LdPS25L=vw>e zxPjlHBJ@^YrnUjLSwdH&K%iL9!}zsv9a*10YZHl#Lc2n=td5vOFiv!_gkO{{}?d?oaI4=P&Y zPA@zGM$%n*T{)DXyggm`!DXI!$Oq?`kg+m<_TsoAxCzP!EngND-YatX(Y$CnKBi*_ z-B-yG=eXD9eiXc&_VU@-KANFG*?mtEWhRsIEXYYR;X2g>0!6U}m)gq9gn3_Aauu(5 z0|M}`Q1>BSfuyb$O*+RS7lg6iBZ#myiD;5#ABusux$QZAtRa#Nky)n<72YL6X=>(& zUCmef%)zAPf~`2aLby5>X&Hv0NrzMat7OB1?a_FQK1@+PCD&os$4$#e70LYx12z+` zO>#CLK>MTi4 z``nz4LKvCtCl(CLGR+%pDJ07>uMvj0+Q zpwy{}cR(rFM$qy#q)K)V2P0v@jidPPxgygSRI`w#af@oubvQqsy^$dHvv2<9Kqj-4 z6nF=`gvn7U#000w`-M*c@O-H<{H1+F^6`~2fZiJ=mnTlT=0MK>Xc+IrR7Z2;k5)3+ z$LA*tE~$@cSg5s|cCS`oWqr$Q*i=)Mz3Z;rQcrJz%=ysB>9dL>?7wr4u1gH9P_5Mx zffh_uTJlDrTGf)BgQpqnSRC5gtPjyzu2!zDTIj~t`LI2l28 z%fp(Pv^roJkowZhy)SzLa&=1iXM_xGMz;+S&!L8nJ?=y#=~LlLD4jg+zPii7wT))0 z!3a`)*Wc7GxvNI63;Mp&TOQG(epsW(p7uk1v)r|X_#>j9O&)dW_=^R}VJ23@W+2ox zR#_D7gOxY$8P-Wau&I_~t(>1wuWbdWd9OIM>b`hseb(Tt<{v~B>R5uS;WdE*aW3{t z|IZ5)B=C3rZ7C@p#mn4Mi1`&jpK9cLk+UPK#PO_#JBOsS75&snzNZ013*4m`r%)K7 z#9myoF3v$9A6MZ>-IYADcQF9473f*i%Ny=MvpY>O=WlNyv$<0Ovmk)S^MEhNr_qt{ z`xJhXUk;s4>~5Pkbt1~u{sQ8FuBz-Pk&5R)f8GPT9rurZPM4giw_zyBMO$%Rr*ep7 zD+au&W^z%SWCZV>P34P8YWHABhsZE@2_s;x(J z-38wSm%Q9l#}zVx<6IraRGIU{nUXvZ_tRNDWPIUxG;|3VuSqu00pvC*2NVIeTz-me zdhv(oouYC5P!KA`I|Sytw=!m3kLvD2M0xF%#q1=k~5mwko zW}I$q^7$M7H;k$}{)l`{J;QV&HeQYQr3SPO?-ND|D`r}xxrD3B<~5C-Ws9>P4eMc7 z+(TKOsdGGlRg3v1o4}R#q>l(_^W;KH(y_7`Q4a~$1A2og%qEsJXXkS@(!fU%vcJoe z*%?$Z|9r@`Q1&{>oYAE^gdkv;%=?Cp|92%as6Qfp9i+4)_TFIG!8gXyw8vNA)K|?U zCy)`rRmH}kI_Yx*-9EKOCjh|k8CEr^YkhK}_{-S3v>IS@BK?Hq022&t5#KsPOY>#j zvR8iN8~EU7g2;skvsi!AJW`~iZAfv z0%>W;8_Q<^A9#i2cX6jy2E|Uh&?qGcu5c>tDr}^XzdyJP**BS#nW^e%4#EFn%Tx0DA9a|I_ zcrOoP6Y_v+uP|qk>Xq?BAGVZ*J&Se$eldrvlf)ar%~=)%DB3 zP$O~Ac+N~NCECTO#d1C3(WNG8EY}9W*lfM(LhYYKHvEgrn8Ll7hOV8s!99I{e;4Vj zCCzSn&GC%_%Bx7x5h1bV?!?!F%;mbSisY?iOK6HjbL`if{;!(_G}gTZWeI>}eo29_ z{}i?DXP_g|y^b^*VS%?jwh;QwJxqnNPoF7akqK3(D+K6%gS%aj4}rs@{27)FxpXEymnq7m9iDE+Q8W0!v!H zGRY$;5o?+Ty!hokN_|C6bCc?gNp_W}EBuHevT^E^p>d($rNb5?(a!-l=ehf{zB!78 z2C4EhOFvYH43f>Q_O;+kmcWXmHJamz92Ko1^VM}O-j7b;J6g~zMLp~`9Fl*^59C?; z%5L7~?F)m?kobKxweLL*!Xl%H7c)hPy& zn8;!0_eGOD8ZbK?MNXJ;h^S-=yezD`u%ubXLalx_B3Njl8gNk%BzjzOH0*rB-s!?C z5RprSM2&bR(C9z&+yCKF$GyLD2UMW#UYT%|F?~ur=q-T}yi%O33@bjjA)zH)?gHkv zBOOIQ5%AUXTw^2g@meiVnqQ)&R#F8I*K?n1i!0fs6^M0~_Tulc7lTX7ZLV?(BR4bB zuAo=Pl4F{0BI-VFBoT)}Zn1BZUcOcHUBAaDPSAH*$4#eJAF~5anC>)iAddRy=61I7(2l1ZuUbjGol?&ozoRtL^7yBa5+ z?s8l~y9qH?o0D#D9y*c96qO#)o%FBODBLo=t?$%;ZSVhaomp`BVIQaJ?8%>6mXOvd zU&>+-nf?uw7`wbh^E3-ALYaf%b75?uAnbAb!qliC<$LOvGPhkB5-Bl*0O|m{MMwB@ zc)wOIi3$EZ5^>jyYLi&-AQ%kQz!jXi_;2qF*@v?8W&%Z>TL%VKLmkwZ61RUz1rfZz zc!_=i$-`$nY1%~y4~C1(Z81XYZNkmoY_=huW1up^mTU1%e8{c%rBjRVtWtbM*6+L< z+Wff<$7zP~O}oNeoA47r>lFI>qhKMEqvLy#1wAh$?7iyimrpI*L_rZ! zc_)MeRR-Aph-N5-+9t&7=!WT{5J{ptyR+1nR5mFxZQh=P+o=Eis*3C#Em|fR9OM4$ z&*kf%%h5$!^>itovhiRX93_FkG_E-+uMj{FXgY)$811nh{$`R&=)8yZ>RP6Ewvc6Z zAc#r>k?G7&&)BFacqeRK0$eRGie`8gyLl}%e4e$@;aZ~=bHVj1f5tzIP4$g>3_UGW z15kD(i0}T~Y`_Bqok>{(1HSWd;}~f`f!U8kW?$RzQ1tgb#>NBfc{yX-g)unlv8gi3$ymX7_$sKmqAJzzRxt!75}XgDPu&jv0%gT{cy}$dp-qhBr6e?NSJ_ z!s$G4;?v2f^ppWgvc%%sD&0Ws)y0nzeR=)Zd19#%ZX`6j&ZW1g^M^0~10SK@*I?W1 z|nf6-QVhBvZ@}t;8uOpG*aOxl2|u8{r`s3 zcUg1{77}%|Gx#|uC+=MHS@2N&vUJaCA(ymeXTg+Ykwk)%wRiW-1g_^_qK1c_3Dv7j z8Wd?n;I?|lQc&dqjIR?1c-wY=9Vp7IlD*P#>Kcp4TEWkGe#pZp$i{WeBgn{hY0?{u z#>?#w%cAASeRo%OcOB`(w?coaWxv*=VgQZC ze=#r!aG5oxWTxQ6XvSxU(o+C1Dog8R;nf%J zc?^zTLS1&|a?g-E+6|@lLy#fhtlhbgK)+oGcP=ZR`w`mQR`ma78J+Q zQc)$SSYe`N?6(JX2A0WWdWWXq?Qfi>;G@r>)E~c|dkN$P#5{Ikg|d0-t^z;HN-H`wH_8D&_ZN6%roNMq)z%MxSlT?THE+;b4*IzF zZvlw3QGnpRgNImOVrg!PNd5CK=D$x>2_e)*ssFMo0FM3^k2p_Rw#4?;-CR~b8&QUG z3Q^RlxFB5*TmX`*)&P?Ic(-tb_?CS?x8@!*RD%pta{$7g$gW$q%^bB-b`YBOnF9tx z@xC6vUMQ+Z==ghw=fbh5TbDZqKI zWs@lp#~-s!c3X)eg%`eI>8lNiQF-{zgh#&6og z-R&GB$4j^fz?wNfZU1I?m-GHR5GL}_K72+O4ZMGk5B=?bVoaO2M}Ms@((o>fNx{_w zx+Z6au)8#WS(xyEbW_2CiuT=7cZ#HaZNB+$U@xDqsJV<}W;WL*3k>2+r^ZP}ESZaEWZCq{fbn+of6%8)%5{ z-O(Ns)zX!fuX3qgMpddMvmg%7RS*8ny+P<1(mzk#r|+6kv>! z6vBW4XBLkzc&7zdhJMRT;!s{F5XFmZULi?~K`-4t9us8zn@bQx{s~K_?2p5Rk+gAt z(OI51mZy`_rIrkQr1)5JpxNug{d`*o{P^^bG2Z z9?`u+uT@CyE+xVjTEr+d7`QdOgT!JeCAPOBnJ@DEz9hw1Gc$FE8|_uC*koH!YL(Y{ z@g(e49WVpbR%D`7Q1j(~`!M&Dv$s@MDaSYoZo#?Sot^RY(0b&Lq^JJ&nf7q>#Ik#H z4sWovZ+ND%cogkzZ#+>ae12oRh3+pZFniXES((ERB%=Rb9{G6Q=$_ki4*R6Mf>c1k zGad^^2Wpz7d4B3d(5ApLav;~?)G(kht7$wBz=V(4g%Ru`AKUnfRj9xIV*M0l7oJ+; z!|htRhh*H$GUO9^@~y_P`-R%$?DIe`Fre#@(${Zl z;R4}q3Os2bI{}nrlZp**L)0qF22ObrP+XsQEMe;)^Fc2@VLYM)hPda^m

      aUPC3b zeq�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

      w^eezTn7MO8%>iy<$=G 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

      Z}2xmhu9Or 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%0DX#iZ9aCO@p>wQ?$ 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

      T8jh_M_)9%r>KD#BsD`oKO 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

      YV?(%If%HQ&S2rLDm6IxB1jB)k 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

      MsHs9Ag{bUuEYjp)m>C7X1j3+0_*bH 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

      0KX<=3%2rg5TO&)DNt6jmyL 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

      6A~(6i-05dX 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

    • $$__iyb1^K*z-!PF7X$H@i8eCzi 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 + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run( + /* testId= */ "videoDecoderUnexpectedColorInfo_completesWithError", + MediaItem.fromUri( + Uri.parse(MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER)))); + assertThat(exception).hasCauseThat().isInstanceOf(IllegalStateException.class); + assertThat(exception.errorCode).isEqualTo(TransformationException.ERROR_CODE_DECODING_FAILED); + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 300939527ea..c70d28d5506 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -29,6 +29,7 @@ import androidx.annotation.Nullable; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.TraceUtil; @@ -53,6 +54,9 @@ public final class DefaultCodec implements Codec { private final MediaFormat configurationMediaFormat; private final Format configurationFormat; + /** The expected {@link ColorInfo} output from the codec. */ + @Nullable private final ColorInfo configuredOutputColor; + private final MediaCodec mediaCodec; @Nullable private final Surface inputSurface; @@ -115,6 +119,12 @@ public DefaultCodec( e, configurationMediaFormat, isVideo, isDecoder, mediaCodecName); } this.mediaCodec = mediaCodec; + boolean toneMapRequested = + SDK_INT >= 31 + && isDecoder + && (configurationMediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER_REQUEST, 0) + == MediaFormat.COLOR_TRANSFER_SDR_VIDEO); + configuredOutputColor = toneMapRequested ? null : configurationFormat.colorInfo; this.inputSurface = inputSurface; decoderNeedsFrameDroppingWorkaround = decoderNeedsFrameDroppingWorkaround(context); } @@ -308,6 +318,18 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo if (outputBufferIndex < 0) { if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { outputFormat = getFormat(mediaCodec.getOutputFormat()); + if (!isColorTransferEqual(configuredOutputColor, outputFormat.colorInfo)) { + // TODO(b/237674316): These exceptions throw when the container ColorInfo doesn't match + // the video ColorInfo. Instead of throwing when seeing unexpected ColorInfos, consider + // reconfiguring downstream components (ex. FrameProcessor and encoder) when different + // ColorInfo values are output. + throw createTransformationException( + new IllegalStateException( + "Codec output color format does not match configured color format. Configured: " + + configurationFormat.colorInfo + + ". Actual: " + + outputFormat.colorInfo)); + } } return false; } @@ -344,12 +366,21 @@ private TransformationException createTransformationException(Exception cause) { isVideo, isDecoder, configurationMediaFormat, - mediaCodec.getName(), + getName(), isDecoder ? TransformationException.ERROR_CODE_DECODING_FAILED : TransformationException.ERROR_CODE_ENCODING_FAILED); } + private static boolean isColorTransferEqual( + @Nullable ColorInfo colorInfo1, @Nullable ColorInfo colorInfo2) { + @C.ColorTransfer + int transfer1 = (colorInfo1 != null) ? colorInfo1.colorTransfer : C.COLOR_TRANSFER_SDR; + @C.ColorTransfer + int transfer2 = (colorInfo2 != null) ? colorInfo2.colorTransfer : C.COLOR_TRANSFER_SDR; + return transfer1 == transfer2; + } + private static TransformationException createInitializationTransformationException( Exception cause, MediaFormat mediaFormat, @@ -396,13 +427,20 @@ private static Format getFormat(MediaFormat mediaFormat) { } String mimeType = mediaFormat.getString(MediaFormat.KEY_MIME); Format.Builder formatBuilder = - new Format.Builder() - .setSampleMimeType(mediaFormat.getString(MediaFormat.KEY_MIME)) - .setInitializationData(csdBuffers.build()); + new Format.Builder().setSampleMimeType(mimeType).setInitializationData(csdBuffers.build()); if (MimeTypes.isVideo(mimeType)) { formatBuilder .setWidth(mediaFormat.getInteger(MediaFormat.KEY_WIDTH)) .setHeight(mediaFormat.getInteger(MediaFormat.KEY_HEIGHT)); + if (SDK_INT >= 24) { + // TODO(b/227624622): Set hdrStaticInfo accordingly using KEY_HDR_STATIC_INFO. + formatBuilder.setColorInfo( + new ColorInfo( + mediaFormat.getInteger(MediaFormat.KEY_COLOR_STANDARD), + mediaFormat.getInteger(MediaFormat.KEY_COLOR_RANGE), + mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER), + /* hdrStaticInfo= */ null)); + } } else if (MimeTypes.isAudio(mimeType)) { // TODO(b/178685617): Only set the PCM encoding for audio/raw, once we have a way to // simulate more realistic codec input/output formats in tests. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 3eb54168c91..89831de8a42 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -150,8 +150,6 @@ public void onFrameProcessingEnded() { decoder = decoderFactory.createForVideoDecoding( inputFormat, frameProcessor.getInputSurface(), isToneMappingRequired); - // TODO(b/236316454): Check in the decoder output format whether tone-mapping was actually - // applied and throw an exception if not. maxPendingFrameCount = decoder.getMaxPendingFrameCount(); } From 54cdec461458dd3a75b237aefbd4c88f52c8a1c0 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 18 Jul 2022 14:21:17 +0000 Subject: [PATCH 073/422] HDR: Use FP16 color representation for texture processors. * Introduced `useHdr` for `GlEffect#toGlTextureProcessor`, so `TextureProcessor` implementations can decide how to handle HDR. * Creating FP16 color textures for HDR input. Tested via manual testing, adding a no-op GlEffectWrapper to the transformation to force use of intermediate textures, adding a linear ramp to the fragment shader, and trying to ascertain that there's a real reduction in posterization when switching from 4-bit to 8-bit unsigned bytes, and again from 8-bit unsigned bytes to 16-bit floating point. PiperOrigin-RevId: 461613117 (cherry picked from commit ba9c9bb96471a9589d391ae498ebb0c194a5b41e) --- .../transformer/BitmapOverlayProcessor.java | 14 ++++++- .../PeriodicVignetteProcessor.java | 5 +++ .../demo/transformer/TransformerActivity.java | 9 +++-- .../demo/transformer/MediaPipeProcessor.java | 11 +++++- .../androidx/media3/common/util/GlUtil.java | 39 ++++++++++++++++--- .../media3/transformer/BitmapTestUtil.java | 6 ++- .../media3/transformer/CropPixelTest.java | 10 +++-- .../GlEffectsFrameProcessorPixelTest.java | 9 +++-- ...atrixTransformationProcessorPixelTest.java | 21 +++++++--- .../transformer/PresentationPixelTest.java | 19 +++++---- ...lMatrixTransformationProcessorWrapper.java | 2 + .../androidx/media3/transformer/GlEffect.java | 15 +++++-- .../transformer/GlEffectsFrameProcessor.java | 2 +- .../transformer/GlMatrixTransformation.java | 4 +- .../MatrixTransformationProcessor.java | 15 +++++-- .../SingleFrameGlTextureProcessor.java | 13 ++++++- 16 files changed, 149 insertions(+), 45 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 7e0b0f5112e..0cfed24aeca 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -15,6 +15,7 @@ */ package androidx.media3.demo.transformer; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; @@ -64,9 +65,14 @@ /** * Creates a new instance. * + * @param context The {@link Context}. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @throws FrameProcessingException If a problem occurs while reading shader files. */ - public BitmapOverlayProcessor(Context context) throws FrameProcessingException { + public BitmapOverlayProcessor(Context context, boolean useHdr) throws FrameProcessingException { + super(useHdr); + checkArgument(!useHdr, "BitmapOverlayProcessor does not support HDR colors."); paint = new Paint(); paint.setTextSize(64); paint.setAntiAlias(true); @@ -85,7 +91,11 @@ public BitmapOverlayProcessor(Context context) throws FrameProcessingException { throw new IllegalStateException(e); } try { - bitmapTexId = GlUtil.createTexture(BITMAP_WIDTH_HEIGHT, BITMAP_WIDTH_HEIGHT); + bitmapTexId = + GlUtil.createTexture( + BITMAP_WIDTH_HEIGHT, + BITMAP_WIDTH_HEIGHT, + /* useHighPrecisionColorComponents= */ false); GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, /* level= */ 0, overlayBitmap, /* border= */ 0); glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index 9ae281b37b2..941feb3d8ff 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -52,6 +52,8 @@ *

      The parameters are given in normalized texture coordinates from 0 to 1. * * @param context The {@link Context}. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param centerX The x-coordinate of the center of the effect. * @param centerY The y-coordinate of the center of the effect. * @param minInnerRadius The lower bound of the radius that is unaffected by the effect. @@ -61,12 +63,15 @@ */ public PeriodicVignetteProcessor( Context context, + boolean useHdr, float centerX, float centerY, float minInnerRadius, float maxInnerRadius, float outerRadius) throws FrameProcessingException { + super(useHdr); + checkArgument(!useHdr, "PeriodicVignetteProcessor does not support HDR color spaces."); checkArgument(minInnerRadius <= maxInnerRadius); checkArgument(maxInnerRadius <= outerRadius); this.minInnerRadius = minInnerRadius; diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 50d7de6323b..a8c1671573e 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -276,13 +276,15 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) try { Class clazz = Class.forName("androidx.media3.demo.transformer.MediaPipeProcessor"); Constructor constructor = - clazz.getConstructor(Context.class, String.class, String.class, String.class); + clazz.getConstructor( + Context.class, Boolean.class, String.class, String.class, String.class); effects.add( - (Context context) -> { + (Context context, boolean useHdr) -> { try { return (GlTextureProcessor) constructor.newInstance( context, + useHdr, /* graphName= */ "edge_detector_mediapipe_graph.binarypb", /* inputStreamName= */ "input_video", /* outputStreamName= */ "output_video"); @@ -297,9 +299,10 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) } if (selectedEffects[2]) { effects.add( - (Context context) -> + (Context context, boolean useHdr) -> new PeriodicVignetteProcessor( context, + useHdr, bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_X), bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_Y), /* minInnerRadius= */ bundle.getFloat( diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 3fcd65e9fa3..4a0390b1d2f 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -15,6 +15,7 @@ */ package androidx.media3.demo.transformer; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; @@ -70,14 +71,22 @@ protected void loadLibrary(String name) { * Creates a new texture processor that wraps a MediaPipe graph. * * @param context The {@link Context}. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param graphName Name of a MediaPipe graph asset to load. * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. */ @SuppressWarnings("AndroidConcurrentHashMap") // Only used on API >= 23. public MediaPipeProcessor( - Context context, String graphName, String inputStreamName, String outputStreamName) { + Context context, + boolean useHdr, + String graphName, + String inputStreamName, + String outputStreamName) { checkState(LOADER.isAvailable()); + // TODO(b/227624622): Confirm whether MediaPipeProcessor could support HDR colors. + checkArgument(!useHdr, "MediaPipeProcessor does not support HDR colors."); EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext()); frameProcessor = new FrameProcessor( diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 1c488a2459c..c89dc8e94ca 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -16,6 +16,7 @@ package androidx.media3.common.util; import static android.opengl.GLU.gluErrorString; +import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; import android.content.pm.PackageManager; @@ -26,6 +27,7 @@ import android.opengl.EGLSurface; import android.opengl.GLES11Ext; import android.opengl.GLES20; +import android.opengl.GLES30; import androidx.annotation.DoNotInline; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -489,12 +491,37 @@ public static int createExternalTexture() throws GlException { } /** - * Returns the texture identifier for a newly-allocated texture with the specified dimensions. + * Allocates a new RGBA texture with the specified dimensions and color component precision. * - * @param width of the new texture in pixels - * @param height of the new texture in pixels + * @param width The width of the new texture in pixels. + * @param height The height of the new texture in pixels. + * @param useHighPrecisionColorComponents If {@code false}, uses 8-bit unsigned bytes. If {@code + * true}, use 16-bit (half-precision) floating-point. + * @throws GlException If the texture allocation fails. + * @return The texture identifier for the newly-allocated texture. */ - public static int createTexture(int width, int height) throws GlException { + public static int createTexture(int width, int height, boolean useHighPrecisionColorComponents) + throws GlException { + // TODO(227624622): Implement a pixel test that confirms 16f has less posterization. + if (useHighPrecisionColorComponents) { + checkState(Util.SDK_INT >= 18, "GLES30 extensions are not supported below API 18."); + return createTexture(width, height, GLES30.GL_RGBA16F, GLES30.GL_HALF_FLOAT); + } + return createTexture(width, height, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE); + } + + /** + * Allocates a new RGBA texture with the specified dimensions and color component precision. + * + * @param width The width of the new texture in pixels. + * @param height The height of the new texture in pixels. + * @param internalFormat The number of color components in the texture, as well as their format. + * @param type The data type of the pixel data. + * @throws GlException If the texture allocation fails. + * @return The texture identifier for the newly-allocated texture. + */ + private static int createTexture(int width, int height, int internalFormat, int type) + throws GlException { assertValidTextureSize(width, height); int texId = generateTexture(); bindTexture(GLES20.GL_TEXTURE_2D, texId); @@ -502,12 +529,12 @@ public static int createTexture(int width, int height) throws GlException { GLES20.glTexImage2D( GLES20.GL_TEXTURE_2D, /* level= */ 0, - GLES20.GL_RGBA, + internalFormat, width, height, /* border= */ 0, GLES20.GL_RGBA, - GLES20.GL_UNSIGNED_BYTE, + type, byteBuffer); checkGlError(); return texId; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java index 585fe0ef2fe..f8c2b441bd7 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java @@ -189,6 +189,7 @@ public static void maybeSaveTestBitmapToCacheDirectory( public static Bitmap createArgb8888BitmapFromCurrentGlFramebuffer(int width, int height) throws GlUtil.GlException { ByteBuffer rgba8888Buffer = ByteBuffer.allocateDirect(width * height * 4); + // TODO(b/227624622): Add support for reading HDR bitmaps. GLES20.glReadPixels( 0, 0, width, height, GLES20.GL_RGBA, GLES20.GL_UNSIGNED_BYTE, rgba8888Buffer); GlUtil.checkGlError(); @@ -208,7 +209,10 @@ public static Bitmap createArgb8888BitmapFromCurrentGlFramebuffer(int width, int * @return The identifier of the newly created texture. */ public static int createGlTextureFromBitmap(Bitmap bitmap) throws GlUtil.GlException { - int texId = GlUtil.createTexture(bitmap.getWidth(), bitmap.getHeight()); + // TODO(b/227624622): Add support for reading HDR bitmaps. + int texId = + GlUtil.createTexture( + bitmap.getWidth(), bitmap.getHeight(), /* useHighPrecisionColorComponents= */ false); // Put the flipped bitmap in the OpenGL texture as the bitmap's positive y-axis points down // while OpenGL's positive y-axis points up. GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, 0, flipBitmapVertically(bitmap), 0); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java index fe85fb8d882..00eb13a0495 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java @@ -89,7 +89,7 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; cropTextureProcessor = new Crop(/* left= */ -1, /* right= */ 1, /* bottom= */ -1, /* top= */ 1) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -113,7 +113,7 @@ public void drawFrame_cropSmaller_producesExpectedOutput() throws Exception { String testId = "drawFrame_cropSmaller"; cropTextureProcessor = new Crop(/* left= */ -.9f, /* right= */ .1f, /* bottom= */ -1f, /* top= */ .5f) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_SMALLER_PNG_ASSET_PATH); @@ -137,7 +137,7 @@ public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { String testId = "drawFrame_cropLarger"; cropTextureProcessor = new Crop(/* left= */ -2f, /* right= */ 2f, /* bottom= */ -1f, /* top= */ 2f) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_LARGER_PNG_ASSET_PATH); @@ -157,7 +157,9 @@ public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { } private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { - outputTexId = GlUtil.createTexture(outputWidth, outputHeight); + outputTexId = + GlUtil.createTexture( + outputWidth, outputHeight, /* useHighPrecisionColorComponents= */ false); int frameBuffer = GlUtil.createFboForTexture(outputTexId); GlUtil.focusFramebuffer( checkNotNull(eglDisplay), diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index c6c9f6fc56c..28faa35dff2 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -320,6 +320,9 @@ public void processData_withTwoWrappedScaleToFitTransformations_producesExpected assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + // TODO(b/227624622): Add a test for HDR input after BitmapTestUtil can read HDR bitmaps, using + // GlEffectWrapper to ensure usage of intermediate textures. + /** * Set up and prepare the first frame from an input video, as well as relevant test * infrastructure. The frame will be sent towards the {@link GlEffectsFrameProcessor}, and output @@ -379,7 +382,7 @@ public void onFrameProcessingEnded() { /* streamOffsetUs= */ 0L, effects, DebugViewProvider.NONE, - /* enableExperimentalHdrEditing= */ false)); + /* useHdr= */ false)); glEffectsFrameProcessor.setInputFrameInfo( new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio)); glEffectsFrameProcessor.registerInputFrame(); @@ -494,9 +497,9 @@ public GlEffectWrapper(GlEffect effect) { } @Override - public GlTextureProcessor toGlTextureProcessor(Context context) + public GlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return effect.toGlTextureProcessor(context); + return effect.toGlTextureProcessor(context, useHdr); } } } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java index 971403d5ae3..86f7c09729f 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java @@ -72,7 +72,7 @@ public void createGlObjects() throws IOException, GlUtil.GlException { EGLSurface placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, width, height); inputTexId = BitmapTestUtil.createGlTextureFromBitmap(inputBitmap); - outputTexId = GlUtil.createTexture(width, height); + outputTexId = GlUtil.createTexture(width, height, /* useHighPrecisionColorComponents= */ false); int frameBuffer = GlUtil.createFboForTexture(outputTexId); GlUtil.focusFramebuffer( eglDisplay, eglContext, placeholderEglSurface, frameBuffer, width, height); @@ -93,7 +93,10 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; Matrix identityMatrix = new Matrix(); matrixTransformationFrameProcessor = - new MatrixTransformationProcessor(context, (long presentationTimeUs) -> identityMatrix); + new MatrixTransformationProcessor( + context, + /* useHdr= */ false, + /* matrixTransformation= */ (long presentationTimeUs) -> identityMatrix); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -117,7 +120,9 @@ public void drawFrame_translateRight_producesExpectedOutput() throws Exception { translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); matrixTransformationFrameProcessor = new MatrixTransformationProcessor( - context, /* matrixTransformation= */ (long presentationTimeUs) -> translateRightMatrix); + context, + /* useHdr= */ false, + /* matrixTransformation= */ (long presentationTimeUs) -> translateRightMatrix); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); @@ -141,7 +146,9 @@ public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { scaleNarrowMatrix.postScale(.5f, 1.2f); matrixTransformationFrameProcessor = new MatrixTransformationProcessor( - context, /* matrixTransformation= */ (long presentationTimeUs) -> scaleNarrowMatrix); + context, + /* useHdr= */ false, + /* matrixTransformation= */ (long presentationTimeUs) -> scaleNarrowMatrix); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(SCALE_NARROW_PNG_ASSET_PATH); @@ -165,7 +172,9 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { rotate90Matrix.postRotate(/* degrees= */ 90); matrixTransformationFrameProcessor = new MatrixTransformationProcessor( - context, /* matrixTransformation= */ (long presentationTimeUs) -> rotate90Matrix); + context, + /* useHdr= */ false, + /* matrixTransformation= */ (long presentationTimeUs) -> rotate90Matrix); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_90_PNG_ASSET_PATH); @@ -181,4 +190,6 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { expectedBitmap, actualBitmap, testId); assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + + // TODO(b/227624622): Add a test for HDR input after BitmapTestUtil can read HDR bitmaps. } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index e0a0facc6b1..727d82b00a7 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -97,7 +97,8 @@ public void release() throws GlUtil.GlException, FrameProcessingException { public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; presentationTextureProcessor = - Presentation.createForHeight(C.LENGTH_UNSET).toGlTextureProcessor(context); + Presentation.createForHeight(C.LENGTH_UNSET) + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -122,7 +123,7 @@ public void drawFrame_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput String testId = "drawFrame_changeAspectRatio_scaleToFit_narrow"; presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 1f, Presentation.LAYOUT_SCALE_TO_FIT) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = @@ -148,7 +149,7 @@ public void drawFrame_changeAspectRatio_scaleToFit_wide_producesExpectedOutput() String testId = "drawFrame_changeAspectRatio_scaleToFit_wide"; presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = @@ -175,7 +176,7 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow_producesExpect presentationTextureProcessor = Presentation.createForAspectRatio( /* aspectRatio= */ 1f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = @@ -202,7 +203,7 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_wide_producesExpected presentationTextureProcessor = Presentation.createForAspectRatio( /* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = @@ -228,7 +229,7 @@ public void drawFrame_changeAspectRatio_stretchToFit_narrow_producesExpectedOutp String testId = "drawFrame_changeAspectRatio_stretchToFit_narrow"; presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 1f, Presentation.LAYOUT_STRETCH_TO_FIT) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = @@ -254,7 +255,7 @@ public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput String testId = "drawFrame_changeAspectRatio_stretchToFit_wide"; presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_STRETCH_TO_FIT) - .toGlTextureProcessor(context); + .toGlTextureProcessor(context, /* useHdr= */ false); Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); Bitmap expectedBitmap = @@ -275,7 +276,9 @@ public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput } private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { - outputTexId = GlUtil.createTexture(outputWidth, outputHeight); + outputTexId = + GlUtil.createTexture( + outputWidth, outputHeight, /* useHighPrecisionColorComponents= */ false); int frameBuffer = GlUtil.createFboForTexture(outputTexId); GlUtil.focusFramebuffer( checkNotNull(eglDisplay), diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 29bcb3c34dc..9aeca9d85ec 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -82,6 +82,8 @@ @Nullable private EGLSurface outputEglSurface; + // TODO(b/227624622): Instead of inputting useHdr, input ColorInfo to handle HLG and PQ + // differently. public FinalMatrixTransformationProcessorWrapper( Context context, EGLDisplay eglDisplay, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index 0d4b77a388b..8c4463551c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -22,12 +22,19 @@ * Interface for a video frame effect with a {@link GlTextureProcessor} implementation. * *

      Implementations contain information specifying the effect and can be {@linkplain - * #toGlTextureProcessor(Context) converted} to a {@link GlTextureProcessor} which applies the - * effect. + * #toGlTextureProcessor(Context, boolean) converted} to a {@link GlTextureProcessor} which applies + * the effect. */ @UnstableApi public interface GlEffect { - /** Returns a {@link SingleFrameGlTextureProcessor} that applies the effect. */ - GlTextureProcessor toGlTextureProcessor(Context context) throws FrameProcessingException; + /** + * Returns a {@link SingleFrameGlTextureProcessor} that applies the effect. + * + * @param context A {@link Context}. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + */ + GlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) + throws FrameProcessingException; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 46e4c298edb..3450de3ef24 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -189,7 +189,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } - textureProcessorListBuilder.add(effect.toGlTextureProcessor(context)); + textureProcessorListBuilder.add(effect.toGlTextureProcessor(context, useHdr)); } textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java index 0ecdc482473..fb4758612ce 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java @@ -51,8 +51,8 @@ default Size configure(int inputWidth, int inputHeight) { float[] getGlMatrixArray(long presentationTimeUs); @Override - default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context) + default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return new MatrixTransformationProcessor(context, this); + return new MatrixTransformationProcessor(context, useHdr, /* matrixTransformation= */ this); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index 7379cdf9748..cd4cd25b621 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -99,34 +99,40 @@ * Creates a new instance. * * @param context The {@link Context}. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param matrixTransformation A {@link MatrixTransformation} that specifies the transformation * matrix to use for each frame. * @throws FrameProcessingException If a problem occurs while reading shader files. */ - public MatrixTransformationProcessor(Context context, MatrixTransformation matrixTransformation) + public MatrixTransformationProcessor( + Context context, boolean useHdr, MatrixTransformation matrixTransformation) throws FrameProcessingException { this( context, ImmutableList.of(matrixTransformation), /* sampleFromExternalTexture= */ false, - /* useHdr= */ false); + useHdr); } /** * Creates a new instance. * * @param context The {@link Context}. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param matrixTransformation A {@link GlMatrixTransformation} that specifies the transformation * matrix to use for each frame. * @throws FrameProcessingException If a problem occurs while reading shader files. */ - public MatrixTransformationProcessor(Context context, GlMatrixTransformation matrixTransformation) + public MatrixTransformationProcessor( + Context context, boolean useHdr, GlMatrixTransformation matrixTransformation) throws FrameProcessingException { this( context, ImmutableList.of(matrixTransformation), /* sampleFromExternalTexture= */ false, - /* useHdr= */ false); + useHdr); } /** @@ -149,6 +155,7 @@ public MatrixTransformationProcessor( boolean sampleFromExternalTexture, boolean useHdr) throws FrameProcessingException { + super(useHdr); if (sampleFromExternalTexture && useHdr && !GlUtil.isYuvTargetExtensionSupported()) { throw new FrameProcessingException( "The EXT_YUV_target extension is required for HDR editing."); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index 84f05c815ba..c5c3be3bb76 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -40,6 +40,17 @@ public abstract class SingleFrameGlTextureProcessor implements GlTextureProcesso private int inputHeight; private @MonotonicNonNull TextureInfo outputTexture; private boolean outputTextureInUse; + private final boolean useHdr; + + /** + * Creates a {@code SingleFrameGlTextureProcessor} instance. + * + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + */ + public SingleFrameGlTextureProcessor(boolean useHdr) { + this.useHdr = useHdr; + } /** * Configures the texture processor based on the input dimensions. @@ -118,7 +129,7 @@ private void configureOutputTexture(int inputWidth, int inputHeight) throws GlUt if (outputTexture != null) { GlUtil.deleteTexture(outputTexture.texId); } - int outputTexId = GlUtil.createTexture(outputSize.getWidth(), outputSize.getHeight()); + int outputTexId = GlUtil.createTexture(outputSize.getWidth(), outputSize.getHeight(), useHdr); int outputFboId = GlUtil.createFboForTexture(outputTexId); outputTexture = new TextureInfo(outputTexId, outputFboId, outputSize.getWidth(), outputSize.getHeight()); From 481205a88f95b6deba04b721c9bb9a09749d6c0a Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 19 Jul 2022 08:59:30 +0000 Subject: [PATCH 074/422] Use Futures for MediaSession command queue instead of Runnables Some commands may be asynchronous and subsequent commands need to wait for them to complete before running. This change updates the queue to use (and listen to) Futures instead of calling Runnables directly. The commands are currently still added as Runanbles though, so this change is a no-op. Also moves the permission check in MediaSessionImpl to before queueing the command because the permission should be check at the time of calling the method. When executing the comamnds in the queue, we need to be careful to avoid recursion in the same thread (which happens when both the Future is immediate and running on the correct thread already). To avoid recursion, we detect this case and loop the commands instead. Issue: androidx/media#85 PiperOrigin-RevId: 461827264 (cherry picked from commit dee80788e4fc5e82739ae014a5d2759b77f03daa) --- .../session/ConnectedControllersManager.java | 74 ++++++++++++++++--- .../media3/session/MediaSessionStub.java | 66 ++++++++--------- 2 files changed, 91 insertions(+), 49 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java b/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java index 8e557953d2f..01f2c9a3e0e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java @@ -24,8 +24,12 @@ import androidx.media3.common.Player; import androidx.media3.session.MediaSession.ControllerInfo; import com.google.common.collect.ImmutableList; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; import java.util.ArrayDeque; import java.util.Deque; +import java.util.concurrent.atomic.AtomicBoolean; import org.checkerframework.checker.nullness.qual.NonNull; /** @@ -39,6 +43,17 @@ */ /* package */ final class ConnectedControllersManager { + /** An asynchronous controller command function. */ + public interface AsyncCommand { + + /** + * Runs the asynchronous command. + * + * @return A {@link ListenableFuture} to listen for the command completion. + */ + ListenableFuture run(); + } + private final Object lock; @GuardedBy("lock") @@ -213,34 +228,69 @@ public ControllerInfo getController(T controllerKey) { } public void addToCommandQueue(ControllerInfo controllerInfo, Runnable commandRunnable) { - @Nullable ConnectedControllerRecord info; synchronized (lock) { - info = controllerRecords.get(controllerInfo); - } - if (info != null) { - info.commandQueue.add(commandRunnable); + @Nullable ConnectedControllerRecord info = controllerRecords.get(controllerInfo); + if (info != null) { + info.commandQueue.add( + () -> { + commandRunnable.run(); + return Futures.immediateVoidFuture(); + }); + } } } - public Deque getAndClearCommandQueue(ControllerInfo controllerInfo) { - Deque commandQueue = new ArrayDeque<>(); + public void flushCommandQueue(ControllerInfo controllerInfo) { synchronized (lock) { @Nullable ConnectedControllerRecord info = controllerRecords.get(controllerInfo); - if (info != null) { - commandQueue.addAll(info.commandQueue); - info.commandQueue.clear(); + if (info == null || info.commandQueueIsFlushing || info.commandQueue.isEmpty()) { + return; } + info.commandQueueIsFlushing = true; + flushCommandQueue(info); + } + } + + @GuardedBy("lock") + private void flushCommandQueue(ConnectedControllerRecord info) { + AtomicBoolean continueRunning = new AtomicBoolean(true); + while (continueRunning.get()) { + continueRunning.set(false); + @Nullable AsyncCommand asyncCommand = info.commandQueue.poll(); + if (asyncCommand == null) { + info.commandQueueIsFlushing = false; + return; + } + AtomicBoolean commandExecuting = new AtomicBoolean(true); + postOrRun( + sessionImpl.getApplicationHandler(), + () -> + asyncCommand + .run() + .addListener( + () -> { + synchronized (lock) { + if (!commandExecuting.get()) { + flushCommandQueue(info); + } else { + continueRunning.set(true); + } + } + }, + MoreExecutors.directExecutor())); + commandExecuting.set(false); } - return commandQueue; } private static final class ConnectedControllerRecord { public final T controllerKey; public final SequencedFutureManager sequencedFutureManager; + public final Deque commandQueue; + public SessionCommands sessionCommands; public Player.Commands playerCommands; - public Deque commandQueue; + public boolean commandQueueIsFlushing; public ConnectedControllerRecord( T controllerKey, diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index 1b5e554298c..d1606270c7f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -81,7 +81,6 @@ import com.google.common.util.concurrent.MoreExecutors; import java.lang.ref.WeakReference; import java.util.Collections; -import java.util.Deque; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -225,17 +224,34 @@ private void dispatchSessionTaskWithPlayerComman if (controller == null) { return; } - if (command == COMMAND_SET_VIDEO_SURFACE) { - postOrRun( - sessionImpl.getApplicationHandler(), - getSessionTaskWithPlayerCommandRunnable( - controller, seq, command, sessionImpl, task, postTask)); - } else { - connectedControllersManager.addToCommandQueue( - controller, - getSessionTaskWithPlayerCommandRunnable( - controller, seq, command, sessionImpl, task, postTask)); - } + postOrRun( + sessionImpl.getApplicationHandler(), + () -> { + if (!connectedControllersManager.isPlayerCommandAvailable(controller, command)) { + sendSessionResult( + sessionImpl, + controller, + seq, + new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); + return; + } + @SessionResult.Code + int resultCode = sessionImpl.onPlayerCommandRequestOnHandler(controller, command); + if (resultCode != SessionResult.RESULT_SUCCESS) { + // Don't run rejected command. + sendSessionResult(sessionImpl, controller, seq, new SessionResult(resultCode)); + return; + } + if (command == COMMAND_SET_VIDEO_SURFACE) { + getSessionTaskWithPlayerCommandRunnable(controller, seq, sessionImpl, task, postTask) + .run(); + } else { + connectedControllersManager.addToCommandQueue( + controller, + getSessionTaskWithPlayerCommandRunnable( + controller, seq, sessionImpl, task, postTask)); + } + }); } finally { Binder.restoreCallingIdentity(token); } @@ -244,26 +260,10 @@ private void dispatchSessionTaskWithPlayerComman private Runnable getSessionTaskWithPlayerCommandRunnable( ControllerInfo controller, int seq, - @Player.Command int command, K sessionImpl, SessionTask task, PostSessionTask postTask) { return () -> { - if (!connectedControllersManager.isPlayerCommandAvailable(controller, command)) { - sendSessionResult( - sessionImpl, - controller, - seq, - new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); - return; - } - @SessionResult.Code - int resultCode = sessionImpl.onPlayerCommandRequestOnHandler(controller, command); - if (resultCode != SessionResult.RESULT_SUCCESS) { - // Don't run rejected command. - sendSessionResult(sessionImpl, controller, seq, new SessionResult(resultCode)); - return; - } T result = task.run(sessionImpl, controller); postTask.run(sessionImpl, controller, seq, result); }; @@ -1450,17 +1450,9 @@ public void flushCommandQueue(@Nullable IMediaController caller) { } ControllerInfo controllerInfo = connectedControllersManager.getController(caller.asBinder()); if (controllerInfo != null) { - Deque queue = connectedControllersManager.getAndClearCommandQueue(controllerInfo); postOrRun( sessionImpl.getApplicationHandler(), - () -> { - while (!queue.isEmpty()) { - Runnable runnable = queue.poll(); - if (runnable != null) { - runnable.run(); - } - } - }); + () -> connectedControllersManager.flushCommandQueue(controllerInfo)); } } finally { Binder.restoreCallingIdentity(token); From c37c6812d6cfb825874fba2dd105fd8d035a110e Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 19 Jul 2022 09:16:55 +0000 Subject: [PATCH 075/422] Remove unused argument PiperOrigin-RevId: 461830378 (cherry picked from commit e8b5aad3d703ef99b0d03957f16c704b05b7883c) --- .../java/androidx/media3/session/MediaSessionImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index c1924412e6e..de75f0bd720 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -413,7 +413,7 @@ private void dispatchOnPlayerInfoChanged(PlayerInfo playerInfo, boolean excludeT .isPlayerCommandAvailable(controller, Player.COMMAND_GET_TEXT), excludeTimeline); } catch (DeadObjectException e) { - onDeadObjectException(controller, e); + onDeadObjectException(controller); } catch (RemoteException e) { // Currently it's TransactionTooLargeException or DeadSystemException. // We'd better to leave log for those cases because @@ -598,7 +598,7 @@ protected void dispatchRemoteControllerTaskWithoutReturn( task.run(cb, seq); } } catch (DeadObjectException e) { - onDeadObjectException(controller, e); + onDeadObjectException(controller); } catch (RemoteException e) { // Currently it's TransactionTooLargeException or DeadSystemException. // We'd better to leave log for those cases because @@ -635,7 +635,7 @@ private ListenableFuture dispatchRemoteControllerTask( } return future; } catch (DeadObjectException e) { - onDeadObjectException(controller, e); + onDeadObjectException(controller); return Futures.immediateFuture(new SessionResult(RESULT_ERROR_SESSION_DISCONNECTED)); } catch (RemoteException e) { // Currently it's TransactionTooLargeException or DeadSystemException. @@ -649,7 +649,7 @@ private ListenableFuture dispatchRemoteControllerTask( } /** Removes controller. Call this when DeadObjectException is happened with binder call. */ - private void onDeadObjectException(ControllerInfo controller, DeadObjectException e) { + private void onDeadObjectException(ControllerInfo controller) { // Note: Only removing from MediaSessionStub and ignoring (legacy) stubs would be fine for // now. Because calls to the legacy stubs doesn't throw DeadObjectException. sessionStub.getConnectedControllersManager().removeController(controller); From d5e0c7597a37557c915bc061cb97cbad5bea0b3b Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 19 Jul 2022 11:05:40 +0000 Subject: [PATCH 076/422] Add fail-fast null checks to the stable Player API This will help developers self-diagnose issues like Issue: google/ExoPlayer#10392 where the NPE occurs far from the original null value because a field gets assigned to null. This change aims to ensure that every stable method on Player, ExoPlayer and ExoPlayer.Builder that takes a non-null type will fail with an NPE before returning. #minor-release PiperOrigin-RevId: 461846580 (cherry picked from commit e1fde5d530a43b64f6e0603843ccafe7692e8453) --- .../androidx/media3/common/BasePlayer.java | 12 ++++----- .../androidx/media3/exoplayer/ExoPlayer.java | 25 ++++++++++++++++--- .../media3/exoplayer/ExoPlayerImpl.java | 8 +++--- 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java index fc5a96c96ed..9069f061bb1 100644 --- a/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java @@ -21,7 +21,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; -import java.util.Collections; +import com.google.common.collect.ImmutableList; import java.util.List; /** Abstract base {@link Player} which implements common implementation independent methods. */ @@ -36,17 +36,17 @@ protected BasePlayer() { @Override public final void setMediaItem(MediaItem mediaItem) { - setMediaItems(Collections.singletonList(mediaItem)); + setMediaItems(ImmutableList.of(mediaItem)); } @Override public final void setMediaItem(MediaItem mediaItem, long startPositionMs) { - setMediaItems(Collections.singletonList(mediaItem), /* startWindowIndex= */ 0, startPositionMs); + setMediaItems(ImmutableList.of(mediaItem), /* startIndex= */ 0, startPositionMs); } @Override public final void setMediaItem(MediaItem mediaItem, boolean resetPosition) { - setMediaItems(Collections.singletonList(mediaItem), resetPosition); + setMediaItems(ImmutableList.of(mediaItem), resetPosition); } @Override @@ -56,12 +56,12 @@ public final void setMediaItems(List mediaItems) { @Override public final void addMediaItem(int index, MediaItem mediaItem) { - addMediaItems(index, Collections.singletonList(mediaItem)); + addMediaItems(index, ImmutableList.of(mediaItem)); } @Override public final void addMediaItem(MediaItem mediaItem) { - addMediaItems(Collections.singletonList(mediaItem)); + addMediaItems(ImmutableList.of(mediaItem)); } @Override diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java index 422fc783e4c..939e808870c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer; import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; @@ -542,6 +543,7 @@ public Builder(Context context, RenderersFactory renderersFactory) { context, () -> renderersFactory, () -> new DefaultMediaSourceFactory(context, new DefaultExtractorsFactory())); + checkNotNull(renderersFactory); } /** @@ -560,6 +562,7 @@ public Builder(Context context, RenderersFactory renderersFactory) { @UnstableApi public Builder(Context context, MediaSource.Factory mediaSourceFactory) { this(context, () -> new DefaultRenderersFactory(context), () -> mediaSourceFactory); + checkNotNull(mediaSourceFactory); } /** @@ -583,6 +586,8 @@ public Builder( RenderersFactory renderersFactory, MediaSource.Factory mediaSourceFactory) { this(context, () -> renderersFactory, () -> mediaSourceFactory); + checkNotNull(renderersFactory); + checkNotNull(mediaSourceFactory); } /** @@ -617,6 +622,11 @@ public Builder( () -> loadControl, () -> bandwidthMeter, (clock) -> analyticsCollector); + checkNotNull(renderersFactory); + checkNotNull(mediaSourceFactory); + checkNotNull(trackSelector); + checkNotNull(bandwidthMeter); + checkNotNull(analyticsCollector); } private Builder( @@ -641,7 +651,7 @@ private Builder( Supplier loadControlSupplier, Supplier bandwidthMeterSupplier, Function analyticsCollectorFunction) { - this.context = context; + this.context = checkNotNull(context); this.renderersFactorySupplier = renderersFactorySupplier; this.mediaSourceFactorySupplier = mediaSourceFactorySupplier; this.trackSelectorSupplier = trackSelectorSupplier; @@ -690,6 +700,7 @@ public Builder experimentalSetForegroundModeTimeoutMs(long timeoutMs) { @UnstableApi public Builder setRenderersFactory(RenderersFactory renderersFactory) { checkState(!buildCalled); + checkNotNull(renderersFactory); this.renderersFactorySupplier = () -> renderersFactory; return this; } @@ -703,6 +714,7 @@ public Builder setRenderersFactory(RenderersFactory renderersFactory) { */ public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { checkState(!buildCalled); + checkNotNull(mediaSourceFactory); this.mediaSourceFactorySupplier = () -> mediaSourceFactory; return this; } @@ -717,6 +729,7 @@ public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { @UnstableApi public Builder setTrackSelector(TrackSelector trackSelector) { checkState(!buildCalled); + checkNotNull(trackSelector); this.trackSelectorSupplier = () -> trackSelector; return this; } @@ -731,6 +744,7 @@ public Builder setTrackSelector(TrackSelector trackSelector) { @UnstableApi public Builder setLoadControl(LoadControl loadControl) { checkState(!buildCalled); + checkNotNull(loadControl); this.loadControlSupplier = () -> loadControl; return this; } @@ -745,6 +759,7 @@ public Builder setLoadControl(LoadControl loadControl) { @UnstableApi public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { checkState(!buildCalled); + checkNotNull(bandwidthMeter); this.bandwidthMeterSupplier = () -> bandwidthMeter; return this; } @@ -760,6 +775,7 @@ public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { @UnstableApi public Builder setLooper(Looper looper) { checkState(!buildCalled); + checkNotNull(looper); this.looper = looper; return this; } @@ -774,6 +790,7 @@ public Builder setLooper(Looper looper) { @UnstableApi public Builder setAnalyticsCollector(AnalyticsCollector analyticsCollector) { checkState(!buildCalled); + checkNotNull(analyticsCollector); this.analyticsCollectorFunction = (clock) -> analyticsCollector; return this; } @@ -809,7 +826,7 @@ public Builder setPriorityTaskManager(@Nullable PriorityTaskManager priorityTask */ public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) { checkState(!buildCalled); - this.audioAttributes = audioAttributes; + this.audioAttributes = checkNotNull(audioAttributes); this.handleAudioFocus = handleAudioFocus; return this; } @@ -935,7 +952,7 @@ public Builder setUseLazyPreparation(boolean useLazyPreparation) { @UnstableApi public Builder setSeekParameters(SeekParameters seekParameters) { checkState(!buildCalled); - this.seekParameters = seekParameters; + this.seekParameters = checkNotNull(seekParameters); return this; } @@ -1037,7 +1054,7 @@ public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { @UnstableApi public Builder setLivePlaybackSpeedControl(LivePlaybackSpeedControl livePlaybackSpeedControl) { checkState(!buildCalled); - this.livePlaybackSpeedControl = livePlaybackSpeedControl; + this.livePlaybackSpeedControl = checkNotNull(livePlaybackSpeedControl); return this; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index 2327f53c34d..1ad8dc0cb64 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -1484,14 +1484,13 @@ public AnalyticsCollector getAnalyticsCollector() { @Override public void addAnalyticsListener(AnalyticsListener listener) { // Don't verify application thread. We allow calls to this method from any thread. - checkNotNull(listener); - analyticsCollector.addListener(listener); + analyticsCollector.addListener(checkNotNull(listener)); } @Override public void removeAnalyticsListener(AnalyticsListener listener) { // Don't verify application thread. We allow calls to this method from any thread. - analyticsCollector.removeListener(listener); + analyticsCollector.removeListener(checkNotNull(listener)); } @Override @@ -1602,8 +1601,7 @@ public CueGroup getCurrentCues() { @Override public void addListener(Listener listener) { // Don't verify application thread. We allow calls to this method from any thread. - checkNotNull(listener); - listeners.add(listener); + listeners.add(checkNotNull(listener)); } @Override From 82e1eda4172664db21d292256a99f389813e4687 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 19 Jul 2022 13:00:02 +0000 Subject: [PATCH 077/422] Only apply a MediaFormat-generated ColorInfo if it's valid. Otherwise, invalid ColorInfo instances generated using faulty MediaFormat#getInteger values could cause exceptions. Confirmed that b/239435670 reproduces without this CL, and does not reproduce with this CL. PiperOrigin-RevId: 461862191 (cherry picked from commit 87198fe7f8df62a4b9087bc7f2c3cda237f789b2) --- .../media3/transformer/DefaultCodec.java | 42 ++++++++++++++----- 1 file changed, 32 insertions(+), 10 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index c70d28d5506..7366bc71c22 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -431,16 +431,8 @@ private static Format getFormat(MediaFormat mediaFormat) { if (MimeTypes.isVideo(mimeType)) { formatBuilder .setWidth(mediaFormat.getInteger(MediaFormat.KEY_WIDTH)) - .setHeight(mediaFormat.getInteger(MediaFormat.KEY_HEIGHT)); - if (SDK_INT >= 24) { - // TODO(b/227624622): Set hdrStaticInfo accordingly using KEY_HDR_STATIC_INFO. - formatBuilder.setColorInfo( - new ColorInfo( - mediaFormat.getInteger(MediaFormat.KEY_COLOR_STANDARD), - mediaFormat.getInteger(MediaFormat.KEY_COLOR_RANGE), - mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER), - /* hdrStaticInfo= */ null)); - } + .setHeight(mediaFormat.getInteger(MediaFormat.KEY_HEIGHT)) + .setColorInfo(getColorInfo(mediaFormat)); } else if (MimeTypes.isAudio(mimeType)) { // TODO(b/178685617): Only set the PCM encoding for audio/raw, once we have a way to // simulate more realistic codec input/output formats in tests. @@ -480,4 +472,34 @@ private static boolean decoderNeedsFrameDroppingWorkaround(Context context) { return SDK_INT < 29 || context.getApplicationContext().getApplicationInfo().targetSdkVersion < 29; } + + @Nullable + private static ColorInfo getColorInfo(MediaFormat mediaFormat) { + if (SDK_INT < 29) { + return null; + } + // TODO(b/227624622): Set hdrStaticInfo accordingly using KEY_HDR_STATIC_INFO. + int colorSpace = mediaFormat.getInteger(MediaFormat.KEY_COLOR_STANDARD, Format.NO_VALUE); + int colorRange = mediaFormat.getInteger(MediaFormat.KEY_COLOR_RANGE, Format.NO_VALUE); + int colorTransfer = mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER, Format.NO_VALUE); + if (colorSpace != C.COLOR_SPACE_BT709 + && colorSpace != C.COLOR_SPACE_BT601 + && colorSpace != C.COLOR_SPACE_BT2020 + && colorSpace != Format.NO_VALUE) { + return null; + } + if (colorRange != C.COLOR_RANGE_LIMITED + && colorRange != C.COLOR_RANGE_FULL + && colorRange != Format.NO_VALUE) { + return null; + } + if (colorTransfer != C.COLOR_TRANSFER_SDR + && colorTransfer != C.COLOR_TRANSFER_ST2084 + && colorTransfer != C.COLOR_TRANSFER_HLG + && colorTransfer != Format.NO_VALUE) { + return null; + } + + return new ColorInfo(colorSpace, colorRange, colorTransfer, /* hdrStaticInfo= */ null); + } } From 8dbf6f9f0dce6f96b73af9687c983d35f7c91cdd Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 19 Jul 2022 15:25:58 +0000 Subject: [PATCH 078/422] Don't include case statement if it falls through to default. PiperOrigin-RevId: 461888238 (cherry picked from commit 21016eaadfde74ba0e1e6acacc8f187cb4555974) --- .../DeviceMappedEncoderBitrateProvider.java | 249 +----------------- 1 file changed, 14 insertions(+), 235 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java index ec38576bff5..b2446acf708 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DeviceMappedEncoderBitrateProvider.java @@ -51,8 +51,6 @@ private static double getBitrateMultiplierFromMapping( return 0.245; case "SM-G935F": return 0.2625; - case "SM-G570M": - case "SM-J710MN": default: return 0.37188; } @@ -67,7 +65,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1920x1080": return 0.1225; - case "1280x720": default: return 0.315; } @@ -81,13 +78,11 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.14; - case 30: default: return 0.175; } case "3840x2160": return 0.0914; - case "1280x720": default: return 0.2975; } @@ -97,15 +92,12 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.1575; - case 60: default: return 0.175; } - case "1280x720": default: return 0.35; } - case "SM-A750GN": default: return 0.35; } @@ -119,13 +111,7 @@ private static double getBitrateMultiplierFromMapping( case "640x480": return 0.41563; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.4375; - } - case "1280x720": + return 0.4375; default: return 0.525; } @@ -137,11 +123,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.28; - case 30: default: return 0.315; } - case "1280x720": default: return 0.56875; } @@ -156,7 +140,6 @@ private static double getBitrateMultiplierFromMapping( return 0.41563; case "1920x1080": return 0.35; - case "1280x720": default: return 0.7; } @@ -168,11 +151,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.175; - case 30: default: return 0.21; } - case "640x480": default: return 0.245; } @@ -184,7 +165,6 @@ private static double getBitrateMultiplierFromMapping( return 0.21; case "1920x1080": return 0.11375; - case "1280x720": default: return 0.39375; } @@ -196,7 +176,6 @@ private static double getBitrateMultiplierFromMapping( return 0.175; case "3840x2160": return 0.08269; - case "1280x720": default: return 0.39375; } @@ -211,11 +190,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.175; - case 30: default: return 0.1925; } - case "1280x720": default: return 0.39375; } @@ -234,7 +211,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 1.05; - case 60: default: return 1.4; } @@ -245,7 +221,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1280x720": return 0.4375; - case "1920x1080": default: return 0.7; } @@ -264,12 +239,6 @@ private static double getBitrateMultiplierFromMapping( case "SM-A515U1": case "SM-M315F": return 0.1925; - case "SM-A102U1": - case "SM-A105F": - case "SM-A202F": - case "SM-A205F": - case "SM-A307GN": - case "SM-A405FN": default: return 0.37188; } @@ -284,11 +253,9 @@ private static double getBitrateMultiplierFromMapping( switch (deviceModel) { case "SM-G965N": return 0.0525; - case "SM-G950F": default: return 0.07; } - case 26: default: return 0.07; } @@ -303,13 +270,11 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.1925; - case 30: default: return 0.2625; } case "3840x2160": return 0.23208; - case "640x480": default: return 0.28; } @@ -335,12 +300,7 @@ private static double getBitrateMultiplierFromMapping( case "1280x720": return 0.39375; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.525; - } + return 0.525; default: return 0.525; } @@ -351,7 +311,6 @@ private static double getBitrateMultiplierFromMapping( switch (deviceModel) { case "Moto C": return 0.2625; - case "LG-M250": default: return 0.28; } @@ -363,7 +322,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "640x480": return 0.28; - case "1280x720": default: return 0.4375; } @@ -371,7 +329,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1280x720": return 0.21; - case "640x480": default: return 0.2975; } @@ -381,11 +338,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.14875; - case 30: default: return 0.175; } - case "640x480": default: return 0.315; } @@ -393,14 +348,7 @@ private static double getBitrateMultiplierFromMapping( return 0.4375; } case 28: - switch (deviceModel) { - case "CPH2015": - case "CPH2083": - case "RMX1941": - case "Redmi 6A": - default: - return 0.2625; - } + return 0.2625; case 29: switch (deviceModel) { case "CPH2179": @@ -418,7 +366,6 @@ private static double getBitrateMultiplierFromMapping( return 0.35; case "1280x720": return 0.525; - case "1920x1080": default: return 0.7; } @@ -443,7 +390,6 @@ private static double getBitrateMultiplierFromMapping( return 0.35; case "1280x720": return 0.525; - case "1920x1080": default: return 0.7; } @@ -460,13 +406,7 @@ private static double getBitrateMultiplierFromMapping( case "640x480": return 0.525; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.245; - } - case "1280x720": + return 0.245; default: return 0.56875; } @@ -483,11 +423,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.13125; - case 30: default: return 0.14; } - case "640x480": default: return 0.245; } @@ -498,7 +436,6 @@ private static double getBitrateMultiplierFromMapping( switch (deviceModel) { case "HMA-L29": return 0.175; - case "COL-L29": default: return 0.21; } @@ -515,7 +452,6 @@ private static double getBitrateMultiplierFromMapping( return 0.39375; case "1920x1080": return 0.35; - case "640x480": default: return 0.48125; } @@ -525,11 +461,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.3325; - case 30: default: return 0.35; } - case "1280x720": default: return 0.4375; } @@ -539,11 +473,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.3325; - case 30: default: return 0.35; } - case "1280x720": default: return 0.37188; } @@ -557,11 +489,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.28; - case 30: default: return 0.35; } - case "1280x720": default: return 0.48125; } @@ -573,11 +503,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.35; - case 60: default: return 0.39375; } - case "1280x720": default: return 0.6125; } @@ -589,11 +517,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.315; - case 30: default: return 0.4375; } - case "1280x720": default: return 0.54688; } @@ -612,7 +538,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.35; - case 60: default: return 0.39375; } @@ -627,7 +552,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.39375; - case 30: default: return 0.48125; } @@ -651,7 +575,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.48125; - case 60: default: return 0.525; } @@ -667,7 +590,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.39375; - case 30: default: return 0.48125; } @@ -684,7 +606,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } @@ -702,11 +623,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.28; } - case "1280x720": default: return 0.28; } @@ -720,7 +639,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } @@ -732,8 +650,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "640x480": return 0.2275; - case "1280x720": - case "1920x1080": default: return 0.28; } @@ -742,7 +658,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1920x1080": return 0.21; - case "640x480": default: return 0.2275; } @@ -750,7 +665,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.18375; - case 60: default: return 0.21; } @@ -767,21 +681,14 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.28; } - case "1280x720": default: return 0.28; } case "MI 5s Plus": - switch (resolution) { - case "640x480": - case "1280x720": - default: - return 0.2275; - } + return 0.2275; case "Mi MIX 2": case "ONEPLUS A3003": case "SAMSUNG-SM-G930AZ": @@ -790,7 +697,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } @@ -802,21 +708,14 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } - case "1280x720": default: return 0.28; } case "SAMSUNG-SM-G891A": - switch (resolution) { - case "1280x720": - case "1920x1080": - default: - return 0.28; - } + return 0.28; case "SM-A9200": case "SM-A920F": switch (resolution) { @@ -824,11 +723,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } - case "640x480": default: return 0.28; } @@ -840,11 +737,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } - case "1280x720": default: return 0.35; } @@ -856,11 +751,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.28; } - case "1280x720": default: return 0.35; } @@ -872,7 +765,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } @@ -882,12 +774,7 @@ private static double getBitrateMultiplierFromMapping( case "SM-G950U1": case "SM-G955U": case "SM-N950U": - switch (resolution) { - case "640x480": - case "1920x1080": - default: - return 0.21; - } + return 0.21; case "SM-G955U1": switch (resolution) { case "640x480": @@ -898,7 +785,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.28; } @@ -913,13 +799,11 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.18375; - case 60: default: return 0.21; } case "3840x2160": return 0.09575; - case "1280x720": default: return 0.35; } @@ -929,11 +813,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.18375; - case 60: default: return 0.21; } - case "640x480": default: return 0.21; } @@ -945,13 +827,11 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.18375; - case 60: default: return 0.21; } case "3840x2160": return 0.09575; - case "1280x720": default: return 0.2275; } @@ -961,8 +841,6 @@ private static double getBitrateMultiplierFromMapping( return 0.2275; case "3840x2160": return 0.08704; - case "1280x720": - case "1920x1080": default: return 0.28; } @@ -972,7 +850,6 @@ private static double getBitrateMultiplierFromMapping( return 0.39375; case "1920x1080": return 0.35; - case "1280x720": default: return 0.48125; } @@ -987,11 +864,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.28; - case 60: default: return 0.4375; } - case "1280x720": default: return 0.45937; } @@ -1007,7 +882,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.28; - case 60: default: return 0.7; } @@ -1020,13 +894,7 @@ private static double getBitrateMultiplierFromMapping( case "640x480": return 0.39375; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.35; - } - case "1280x720": + return 0.35; default: return 0.48125; } @@ -1034,7 +902,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "640x480": return 0.315; - case "1920x1080": default: return 0.7; } @@ -1044,17 +911,11 @@ private static double getBitrateMultiplierFromMapping( return 0.39375; case "1920x1080": return 0.35; - case "1280x720": default: return 0.48125; } case "Pixel 2": - switch (resolution) { - case "640x480": - case "1920x1080": - default: - return 0.21; - } + return 0.21; case "Pixel 2 XL": switch (resolution) { case "640x480": @@ -1063,7 +924,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.21; - case 30: default: return 0.245; } @@ -1076,13 +936,11 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.245; - case 30: default: return 0.28; } case "3840x2160": return 0.17409; - case "640x480": default: return 0.315; } @@ -1090,7 +948,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.245; - case 30: default: return 0.28; } @@ -1100,7 +957,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1920x1080": return 0.21; - case "640x480": default: return 0.28; } @@ -1112,11 +968,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.18375; - case 60: default: return 0.21; } - case "1280x720": default: return 0.35; } @@ -1130,7 +984,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.28; - case 60: default: return 0.7; } @@ -1144,7 +997,6 @@ private static double getBitrateMultiplierFromMapping( case "640x480": case "1920x1080": return 0.21; - case "1280x720": default: return 0.35; } @@ -1158,7 +1010,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1920x1080": return 0.21; - case "1280x720": default: return 0.35; } @@ -1170,7 +1021,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1183,11 +1033,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.35; - case 60: default: return 0.525; } - case "1280x720": default: return 0.525; } @@ -1195,7 +1043,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1920x1080": return 0.35; - case "1280x720": default: return 0.525; } @@ -1203,7 +1050,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1920x1080": return 0.35; - case "1280x720": default: return 0.39375; } @@ -1219,7 +1065,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1232,11 +1077,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.175; - case 60: default: return 0.21; } - case "1280x720": default: return 0.35; } @@ -1247,11 +1090,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.175; - case 60: default: return 0.21; } - case "640x480": default: return 0.21; } @@ -1263,7 +1104,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1278,7 +1118,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.28; - case 60: default: return 0.7; } @@ -1294,7 +1133,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1307,7 +1145,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.175; - case 60: default: return 0.21; } @@ -1315,7 +1152,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "640x480": return 0.21; - case "1280x720": default: return 0.2275; } @@ -1324,13 +1160,7 @@ private static double getBitrateMultiplierFromMapping( case "640x480": return 0.21; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.175; - } - case "1280x720": + return 0.175; default: return 0.35; } @@ -1340,13 +1170,11 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.175; - case 60: default: return 0.21; } case "3840x2160": return 0.09575; - case "640x480": default: return 0.21; } @@ -1354,7 +1182,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1363,7 +1190,6 @@ private static double getBitrateMultiplierFromMapping( case "640x480": case "1920x1080": return 0.21; - case "1280x720": default: return 0.35; } @@ -1375,7 +1201,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.28; - case 60: default: return 0.7; } @@ -1390,7 +1215,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 60: return 0.7; - case 30: default: return 1.05; } @@ -1407,7 +1231,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1428,11 +1251,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.18375; - case 60: default: return 0.21; } - case "1280x720": default: return 0.35; } @@ -1444,7 +1265,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1459,7 +1279,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.28; - case 60: default: return 0.7; } @@ -1482,7 +1301,6 @@ private static double getBitrateMultiplierFromMapping( return 0.315; case "1280x720": return 0.48125; - case "1920x1080": default: return 0.7; } @@ -1499,7 +1317,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.2275; - case 60: default: return 0.7; } @@ -1534,28 +1351,19 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.2275; - case 60: default: return 0.35; } - case "1280x720": default: return 0.35; } case "SM-N986U": return 0.1925; - case "Nokia 1.4": - case "SM-A015M": default: return 0.35; } case 31: - switch (deviceModel) { - case "SM-G975U1": - case "SM-N975U1": - default: - return 0.21; - } + return 0.21; case 32: switch (resolution) { case "640x480": @@ -1564,11 +1372,9 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.2275; - case 60: default: return 0.35; } - case "1280x720": default: return 0.35; } @@ -1582,7 +1388,6 @@ private static double getBitrateMultiplierFromMapping( case "F8331": case "MI 5s": return 0.105; - case "SM-G885S": default: return 0.1575; } @@ -1592,7 +1397,6 @@ private static double getBitrateMultiplierFromMapping( switch (deviceModel) { case "Nokia 7.2": return 0.1575; - case "moto g(7) plus": default: return 0.35; } @@ -1606,12 +1410,7 @@ private static double getBitrateMultiplierFromMapping( case "1280x720": return 0.245; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.7; - } + return 0.7; default: return 0.7; } @@ -1624,12 +1423,7 @@ private static double getBitrateMultiplierFromMapping( case "1280x720": return 0.245; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.7; - } + return 0.7; default: return 0.7; } @@ -1638,12 +1432,7 @@ private static double getBitrateMultiplierFromMapping( case "1280x720": return 0.245; case "1920x1080": - switch (framerate) { - case 30: - case 60: - default: - return 0.7; - } + return 0.7; default: return 0.7; } @@ -1665,7 +1454,6 @@ private static double getBitrateMultiplierFromMapping( return 0.21; case "1280x720": return 0.245; - case "1920x1080": default: return 0.7; } @@ -1678,7 +1466,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.21; - case 60: default: return 1.4; } @@ -1696,7 +1483,6 @@ private static double getBitrateMultiplierFromMapping( switch (resolution) { case "1280x720": return 0.21; - case "1920x1080": default: return 0.35; } @@ -1708,7 +1494,6 @@ private static double getBitrateMultiplierFromMapping( return 0.20125; case "1280x720": return 0.2275; - case "1920x1080": default: return 0.28; } @@ -1720,7 +1505,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.21; - case 60: default: return 0.28; } @@ -1737,7 +1521,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.245; - case 60: default: return 0.7; } @@ -1750,7 +1533,6 @@ private static double getBitrateMultiplierFromMapping( return 0.21; case "1280x720": return 0.2275; - case "1920x1080": default: return 0.7; } @@ -1785,7 +1567,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.21; - case 60: default: return 0.28; } @@ -1811,7 +1592,6 @@ private static double getBitrateMultiplierFromMapping( switch (framerate) { case 30: return 0.21; - case 60: default: return 0.28; } @@ -1828,7 +1608,6 @@ private static double getBitrateMultiplierFromMapping( switch (deviceModel) { case "Pixel 4": return 0.0875; - case "Pixel 3": default: return 0.105; } From 1622b579740f7f7d4d293e7555ade58f34c0e503 Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 19 Jul 2022 15:32:38 +0000 Subject: [PATCH 079/422] Remove okhttp related proguard rules Issue: androidx/media#10310 #minor-release PiperOrigin-RevId: 461889651 (cherry picked from commit 5adf708b43971c3c56df5f1db7c44cef0e58bb3d) --- libraries/datasource_okhttp/proguard-rules.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/libraries/datasource_okhttp/proguard-rules.txt b/libraries/datasource_okhttp/proguard-rules.txt index 50d774a5093..5df7040ee67 100644 --- a/libraries/datasource_okhttp/proguard-rules.txt +++ b/libraries/datasource_okhttp/proguard-rules.txt @@ -1,8 +1,6 @@ # Proguard rules specific to the OkHttp extension. # Options specified by https://github.com/square/okhttp/blob/master/README.md --dontwarn okhttp3.** -dontwarn okio.** -dontwarn javax.annotation.** -dontwarn org.conscrypt.** --keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase From a1fc19d3c53dade6832e3cdc26e8c88e3d2b38b2 Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 19 Jul 2022 15:39:27 +0000 Subject: [PATCH 080/422] Exclude tracks if COMMAND_GET_TRACKS is not available Issue: androidx/media#102 #minor-release PiperOrigin-RevId: 461891031 (cherry picked from commit 5bf9e2fb31d9cc1dea5152e63f738b8d03fcacb3) --- .../media3/session/ConnectionState.java | 4 +- .../session/MediaControllerImplBase.java | 4 +- .../androidx/media3/session/MediaSession.java | 3 +- .../media3/session/MediaSessionImpl.java | 5 +- .../media3/session/MediaSessionStub.java | 9 +- .../androidx/media3/session/PlayerInfo.java | 10 +- .../session/common/MediaSessionConstants.java | 2 + .../session/MediaControllerListenerTest.java | 97 +++++++++++++++++++ .../session/MediaSessionProviderService.java | 40 +++++++- 9 files changed, 160 insertions(+), 14 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java index 84faddd1ce0..6752a386c31 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java @@ -121,7 +121,9 @@ public Bundle toBundle() { || !playerCommandsFromSession.contains(Player.COMMAND_GET_MEDIA_ITEMS_METADATA), /* excludeCues= */ !playerCommandsFromPlayer.contains(Player.COMMAND_GET_TEXT) || !playerCommandsFromSession.contains(Player.COMMAND_GET_TEXT), - /* excludeTimeline= */ false)); + /* excludeTimeline= */ false, + /* excludeTracks= */ !playerCommandsFromPlayer.contains(Player.COMMAND_GET_TRACKS) + || !playerCommandsFromSession.contains(Player.COMMAND_GET_TRACKS))); return bundle; } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index 4434e2f2b45..e27d40cd5c9 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -2395,9 +2395,9 @@ void onPlayerInfoChanged( listener.onMediaItemTransition( currentMediaItem, playerInfo.mediaItemTransitionReason)); } - if (!Util.areEqual(oldPlayerInfo.currentTracks, newPlayerInfo.currentTracks)) { + if (!Util.areEqual(oldPlayerInfo.currentTracks, playerInfo.currentTracks)) { listeners.queueEvent( - EVENT_TRACKS_CHANGED, listener -> listener.onTracksChanged(newPlayerInfo.currentTracks)); + EVENT_TRACKS_CHANGED, listener -> listener.onTracksChanged(playerInfo.currentTracks)); } if (!Util.areEqual(oldPlayerInfo.playbackParameters, playerInfo.playbackParameters)) { listeners.queueEvent( diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index 12e188ef091..ddca5663bfa 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -1070,7 +1070,8 @@ default void onPlayerInfoChanged( boolean excludeMediaItems, boolean excludeMediaItemsMetadata, boolean excludeCues, - boolean excludeTimeline) + boolean excludeTimeline, + boolean excludeTracks) throws RemoteException {} default void onPeriodicSessionPositionInfoChanged( diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index de75f0bd720..d147f47791d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -411,7 +411,10 @@ private void dispatchOnPlayerInfoChanged(PlayerInfo playerInfo, boolean excludeT /* excludeCues= */ !sessionStub .getConnectedControllersManager() .isPlayerCommandAvailable(controller, Player.COMMAND_GET_TEXT), - excludeTimeline); + excludeTimeline, + /* excludeTracks= */ !sessionStub + .getConnectedControllersManager() + .isPlayerCommandAvailable(controller, Player.COMMAND_GET_TRACKS)); } catch (DeadObjectException e) { onDeadObjectException(controller); } catch (RemoteException e) { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index d1606270c7f..56bb1a5f623 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -1710,12 +1710,17 @@ public void onPlayerInfoChanged( boolean excludeMediaItems, boolean excludeMediaItemsMetadata, boolean excludeCues, - boolean excludeTimeline) + boolean excludeTimeline, + boolean excludeTracks) throws RemoteException { iController.onPlayerInfoChanged( seq, playerInfo.toBundle( - excludeMediaItems, excludeMediaItemsMetadata, excludeCues, excludeTimeline), + excludeMediaItems, + excludeMediaItemsMetadata, + excludeCues, + excludeTimeline, + excludeTracks), /* isTimelineExcluded= */ excludeTimeline); } diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index 6be5b3e5b75..f128a1ff0de 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -754,7 +754,8 @@ public Bundle toBundle( boolean excludeMediaItems, boolean excludeMediaItemsMetadata, boolean excludeCues, - boolean excludeTimeline) { + boolean excludeTimeline, + boolean excludeTracks) { Bundle bundle = new Bundle(); if (playerError != null) { bundle.putBundle(keyForField(FIELD_PLAYBACK_ERROR), playerError.toBundle()); @@ -794,7 +795,9 @@ public Bundle toBundle( bundle.putLong(keyForField(FIELD_SEEK_FORWARD_INCREMENT_MS), seekForwardIncrementMs); bundle.putLong( keyForField(FIELD_MAX_SEEK_TO_PREVIOUS_POSITION_MS), maxSeekToPreviousPositionMs); - bundle.putBundle(keyForField(FIELD_CURRENT_TRACKS), currentTracks.toBundle()); + if (!excludeTracks) { + bundle.putBundle(keyForField(FIELD_CURRENT_TRACKS), currentTracks.toBundle()); + } bundle.putBundle( keyForField(FIELD_TRACK_SELECTION_PARAMETERS), trackSelectionParameters.toBundle()); @@ -807,7 +810,8 @@ public Bundle toBundle() { /* excludeMediaItems= */ false, /* excludeMediaItemsMetadata= */ false, /* excludeCues= */ false, - /* excludeTimeline= */ false); + /* excludeTimeline= */ false, + /* excludeTracks= */ false); } /** Object that can restore {@link PlayerInfo} from a {@link Bundle}. */ diff --git a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/MediaSessionConstants.java b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/MediaSessionConstants.java index bd08f997ca1..8b15263feaa 100644 --- a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/MediaSessionConstants.java +++ b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/MediaSessionConstants.java @@ -26,10 +26,12 @@ public class MediaSessionConstants { public static final String TEST_WITH_CUSTOM_COMMANDS = "testWithCustomCommands"; public static final String TEST_CONTROLLER_LISTENER_SESSION_REJECTS = "connection_sessionRejects"; public static final String TEST_IS_SESSION_COMMAND_AVAILABLE = "testIsSessionCommandAvailable"; + public static final String TEST_COMMAND_GET_TRACKS = "testCommandGetTracksUnavailable"; // Bundle keys public static final String KEY_AVAILABLE_SESSION_COMMANDS = "availableSessionCommands"; public static final String KEY_CONTROLLER = "controllerKey"; + public static final String KEY_COMMAND_GET_TASKS_UNAVAILABLE = "commandGetTasksUnavailable"; private MediaSessionConstants() {} } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index 904f4a8bc40..c3e9f6c058f 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -29,7 +29,9 @@ import static androidx.media3.test.session.common.CommonConstants.DEFAULT_TEST_NAME; import static androidx.media3.test.session.common.CommonConstants.MOCK_MEDIA3_LIBRARY_SERVICE; import static androidx.media3.test.session.common.CommonConstants.MOCK_MEDIA3_SESSION_SERVICE; +import static androidx.media3.test.session.common.MediaSessionConstants.KEY_COMMAND_GET_TASKS_UNAVAILABLE; import static androidx.media3.test.session.common.MediaSessionConstants.KEY_CONTROLLER; +import static androidx.media3.test.session.common.MediaSessionConstants.TEST_COMMAND_GET_TRACKS; import static androidx.media3.test.session.common.MediaSessionConstants.TEST_CONTROLLER_LISTENER_SESSION_REJECTS; import static androidx.media3.test.session.common.MediaSessionConstants.TEST_WITH_CUSTOM_COMMANDS; import static androidx.media3.test.session.common.TestUtils.LONG_TIMEOUT_MS; @@ -878,6 +880,101 @@ public void onTracksChanged(Tracks currentTracks) { assertThat(changedCurrentTracksFromGetterRef.get()).isEqualTo(currentTracks); } + @Test + public void getCurrentTracks_commandGetTracksUnavailable_currentTracksEmpty() throws Exception { + RemoteMediaSession remoteSession = createRemoteMediaSession(TEST_COMMAND_GET_TRACKS); + RemoteMediaSession.RemoteMockPlayer player = remoteSession.getMockPlayer(); + CountDownLatch latch = new CountDownLatch(2); + // A controller with the COMMAND_GET_TRACKS unavailable. + Bundle connectionHints = new Bundle(); + connectionHints.putBoolean(KEY_COMMAND_GET_TASKS_UNAVAILABLE, true); + MediaController controller = + controllerTestRule.createController( + remoteSession.getToken(), connectionHints, /* listener= */ null); + List capturedCurrentTracks = new ArrayList<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onEvents(Player player, Player.Events events) { + capturedCurrentTracks.add(controller.getCurrentTracks()); + latch.countDown(); + } + }; + // A controller with the COMMAND_GET_TRACKS available. + MediaController controllerWithCommandAvailable = + controllerTestRule.createController(remoteSession.getToken()); + AtomicReference capturedCurrentTracksWithCommandAvailable = new AtomicReference<>(); + Player.Listener listenerWithCommandAvailable = + new Player.Listener() { + @Override + public void onEvents(Player player, Player.Events events) { + capturedCurrentTracksWithCommandAvailable.set(player.getCurrentTracks()); + latch.countDown(); + } + }; + AtomicReference initialCurrentTracks = new AtomicReference<>(); + AtomicReference initialCurrentTracksWithCommandAvailable = new AtomicReference<>(); + threadTestRule + .getHandler() + .postAndSync( + () -> { + initialCurrentTracks.set(controller.getCurrentTracks()); + initialCurrentTracksWithCommandAvailable.set( + controllerWithCommandAvailable.getCurrentTracks()); + controller.addListener(listener); + controllerWithCommandAvailable.addListener(listenerWithCommandAvailable); + }); + + player.notifyIsLoadingChanged(true); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(initialCurrentTracks.get()).isEqualTo(Tracks.EMPTY); + assertThat(capturedCurrentTracks).containsExactly(Tracks.EMPTY); + assertThat(initialCurrentTracksWithCommandAvailable.get().getGroups()).hasSize(1); + assertThat(capturedCurrentTracksWithCommandAvailable.get().getGroups()).hasSize(1); + } + + @Test + public void getCurrentTracks_commandGetTracksBecomesUnavailable_tracksResetToEmpty() + throws Exception { + RemoteMediaSession remoteSession = createRemoteMediaSession(TEST_COMMAND_GET_TRACKS); + RemoteMediaSession.RemoteMockPlayer player = remoteSession.getMockPlayer(); + CountDownLatch latch = new CountDownLatch(2); + // A controller with the COMMAND_GET_TRACKS available. + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + List capturedCurrentTracks = new ArrayList<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onAvailableCommandsChanged(Commands availableCommands) { + capturedCurrentTracks.add(controller.getCurrentTracks()); + latch.countDown(); + } + + @Override + public void onTracksChanged(Tracks tracks) { + // The track change as a result of the available command change is notified second. + capturedCurrentTracks.add(controller.getCurrentTracks()); + latch.countDown(); + } + }; + AtomicReference availableCommands = new AtomicReference<>(); + threadTestRule + .getHandler() + .postAndSync( + () -> { + availableCommands.set(controller.getAvailableCommands()); + controller.addListener(listener); + }); + + player.notifyAvailableCommandsChanged( + availableCommands.get().buildUpon().remove(Player.COMMAND_GET_TRACKS).build()); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(capturedCurrentTracks.get(0).getGroups()).hasSize(1); + assertThat(capturedCurrentTracks.get(1)).isEqualTo(Tracks.EMPTY); + } + /** This also tests {@link MediaController#getShuffleModeEnabled()}. */ @Test public void onShuffleModeEnabledChanged() throws Exception { diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index 9336008501b..ee5be83e477 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -15,6 +15,7 @@ */ package androidx.media3.session; +import static androidx.media3.common.Player.COMMAND_GET_TRACKS; import static androidx.media3.test.session.common.CommonConstants.ACTION_MEDIA3_SESSION; import static androidx.media3.test.session.common.CommonConstants.KEY_AUDIO_ATTRIBUTES; import static androidx.media3.test.session.common.CommonConstants.KEY_BUFFERED_PERCENTAGE; @@ -55,7 +56,9 @@ import static androidx.media3.test.session.common.CommonConstants.KEY_VIDEO_SIZE; import static androidx.media3.test.session.common.CommonConstants.KEY_VOLUME; import static androidx.media3.test.session.common.MediaSessionConstants.KEY_AVAILABLE_SESSION_COMMANDS; +import static androidx.media3.test.session.common.MediaSessionConstants.KEY_COMMAND_GET_TASKS_UNAVAILABLE; import static androidx.media3.test.session.common.MediaSessionConstants.KEY_CONTROLLER; +import static androidx.media3.test.session.common.MediaSessionConstants.TEST_COMMAND_GET_TRACKS; import static androidx.media3.test.session.common.MediaSessionConstants.TEST_CONTROLLER_LISTENER_SESSION_REJECTS; import static androidx.media3.test.session.common.MediaSessionConstants.TEST_GET_SESSION_ACTIVITY; import static androidx.media3.test.session.common.MediaSessionConstants.TEST_IS_SESSION_COMMAND_AVAILABLE; @@ -71,6 +74,7 @@ import androidx.media3.common.AudioAttributes; import androidx.media3.common.C; import androidx.media3.common.DeviceInfo; +import androidx.media3.common.Format; import androidx.media3.common.MediaItem; import androidx.media3.common.MediaMetadata; import androidx.media3.common.PlaybackException; @@ -79,6 +83,7 @@ import androidx.media3.common.Player.DiscontinuityReason; import androidx.media3.common.Player.PositionInfo; import androidx.media3.common.Timeline; +import androidx.media3.common.TrackGroup; import androidx.media3.common.TrackSelectionParameters; import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; @@ -159,11 +164,10 @@ private V runOnHandler(Callable callable) throws RemoteException { @Override public void create(String sessionId, Bundle tokenExtras) throws RemoteException { + MockPlayer mockPlayer = + new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build(); MediaSession.Builder builder = - new MediaSession.Builder( - MediaSessionProviderService.this, - new MockPlayer.Builder().setApplicationLooper(handler.getLooper()).build()) - .setId(sessionId); + new MediaSession.Builder(MediaSessionProviderService.this, mockPlayer).setId(sessionId); if (tokenExtras != null) { builder.setExtras(tokenExtras); @@ -229,6 +233,34 @@ public MediaSession.ConnectionResult onConnect( }); break; } + case TEST_COMMAND_GET_TRACKS: + { + ImmutableList trackGroups = + ImmutableList.of( + new Tracks.Group( + new TrackGroup(new Format.Builder().setChannelCount(2).build()), + /* adaptiveSupported= */ false, + /* trackSupport= */ new int[1], + /* trackSelected= */ new boolean[1])); + mockPlayer.currentTracks = new Tracks(trackGroups); + builder.setCallback( + new MediaSession.Callback() { + @Override + public MediaSession.ConnectionResult onConnect( + MediaSession session, ControllerInfo controller) { + Player.Commands.Builder commandBuilder = + new Player.Commands.Builder().addAllCommands(); + if (controller + .getConnectionHints() + .getBoolean(KEY_COMMAND_GET_TASKS_UNAVAILABLE, /* defaultValue= */ false)) { + commandBuilder.remove(COMMAND_GET_TRACKS); + } + return MediaSession.ConnectionResult.accept( + SessionCommands.EMPTY, commandBuilder.build()); + } + }); + break; + } default: // fall out } From 053f68ae46b93dd3e12abb3e2cc40bf9e06740db Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 19 Jul 2022 16:04:45 +0000 Subject: [PATCH 081/422] Add Util helper methods to work with Futures This adds two methods that are helpful when working with Futures. One is a version of postOrRun that can indicate completion by a Future and the other is a simplified version of Guava's Futures.transformAsync (which can't be used as it's in Beta). PiperOrigin-RevId: 461896598 (cherry picked from commit f9eec0c0e88db28c758be5e738e9c82291f090bd) --- .../androidx/media3/common/util/Util.java | 95 +++++++ .../androidx/media3/common/util/UtilTest.java | 254 ++++++++++++++++++ 2 files changed, 349 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index ce6bec8d3ae..018e1a475af 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -80,6 +80,11 @@ import androidx.media3.common.Player.Commands; import com.google.common.base.Ascii; import com.google.common.base.Charsets; +import com.google.common.util.concurrent.AsyncFunction; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.common.util.concurrent.SettableFuture; import java.io.ByteArrayOutputStream; import java.io.Closeable; import java.io.File; @@ -102,6 +107,8 @@ import java.util.NoSuchElementException; import java.util.TimeZone; import java.util.UUID; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.regex.Matcher; @@ -624,6 +631,94 @@ public static boolean postOrRun(Handler handler, Runnable runnable) { } } + /** + * Posts the {@link Runnable} if the calling thread differs with the {@link Looper} of the {@link + * Handler}. Otherwise, runs the {@link Runnable} directly. Also returns a {@link + * ListenableFuture} for when the {@link Runnable} has run. + * + * @param handler The handler to which the {@link Runnable} will be posted. + * @param runnable The runnable to either post or run. + * @param successValue The value to set in the {@link ListenableFuture} once the runnable + * completes. + * @param The type of {@code successValue}. + * @return A {@link ListenableFuture} for when the {@link Runnable} has run. + */ + @UnstableApi + public static ListenableFuture postOrRunWithCompletion( + Handler handler, Runnable runnable, T successValue) { + SettableFuture outputFuture = SettableFuture.create(); + postOrRun( + handler, + () -> { + try { + if (outputFuture.isCancelled()) { + return; + } + runnable.run(); + outputFuture.set(successValue); + } catch (Throwable e) { + outputFuture.setException(e); + } + }); + return outputFuture; + } + + /** + * Asynchronously transforms the result of a {@link ListenableFuture}. + * + *

      The transformation function is called using a {@linkplain MoreExecutors#directExecutor() + * direct executor}. + * + *

      The returned Future attempts to keep its cancellation state in sync with that of the input + * future and that of the future returned by the transform function. That is, if the returned + * Future is cancelled, it will attempt to cancel the other two, and if either of the other two is + * cancelled, the returned Future will also be cancelled. All forwarded cancellations will not + * attempt to interrupt. + * + * @param future The input {@link ListenableFuture}. + * @param transformFunction The function transforming the result of the input future. + * @param The result type of the input future. + * @param The result type of the transformation function. + * @return A {@link ListenableFuture} for the transformed result. + */ + @UnstableApi + public static ListenableFuture transformFutureAsync( + ListenableFuture future, AsyncFunction transformFunction) { + // This is a simplified copy of Guava's Futures.transformAsync. + SettableFuture outputFuture = SettableFuture.create(); + outputFuture.addListener( + () -> { + if (outputFuture.isCancelled()) { + future.cancel(/* mayInterruptIfRunning= */ false); + } + }, + MoreExecutors.directExecutor()); + future.addListener( + () -> { + U inputFutureResult; + try { + inputFutureResult = Futures.getDone(future); + } catch (CancellationException cancellationException) { + outputFuture.cancel(/* mayInterruptIfRunning= */ false); + return; + } catch (ExecutionException exception) { + @Nullable Throwable cause = exception.getCause(); + outputFuture.setException(cause == null ? exception : cause); + return; + } catch (RuntimeException | Error error) { + outputFuture.setException(error); + return; + } + try { + outputFuture.setFuture(transformFunction.apply(inputFutureResult)); + } catch (Throwable exception) { + outputFuture.setException(exception); + } + }, + MoreExecutors.directExecutor()); + return outputFuture; + } + /** * Returns the {@link Looper} associated with the current thread, or the {@link Looper} of the * application's main thread if the current thread doesn't have a {@link Looper}. diff --git a/libraries/common/src/test/java/androidx/media3/common/util/UtilTest.java b/libraries/common/src/test/java/androidx/media3/common/util/UtilTest.java index 1db8dca85a2..b91c4f51529 100644 --- a/libraries/common/src/test/java/androidx/media3/common/util/UtilTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/util/UtilTest.java @@ -28,10 +28,16 @@ import static androidx.media3.common.util.Util.unescapeFileName; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.never; +import static org.mockito.Mockito.verify; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.net.Uri; +import android.os.Handler; +import android.os.HandlerThread; +import android.os.Looper; import android.text.SpannableString; import android.text.Spanned; import android.text.style.StrikethroughSpan; @@ -41,6 +47,9 @@ import androidx.media3.test.utils.TestUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.io.ByteStreams; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.SettableFuture; import java.io.ByteArrayInputStream; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -49,16 +58,21 @@ import java.util.Formatter; import java.util.NoSuchElementException; import java.util.Random; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.atomic.AtomicReference; import java.util.zip.Deflater; import java.util.zip.GZIPInputStream; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.annotation.Config; +import org.robolectric.shadows.ShadowLooper; /** Unit tests for {@link Util}. */ @RunWith(AndroidJUnit4.class) public class UtilTest { + private static final int TIMEOUT_MS = 10000; + @Test public void addWithOverflowDefault_withoutOverFlow_returnsSum() { long res = Util.addWithOverflowDefault(5, 10, /* overflowResult= */ 0); @@ -1238,6 +1252,246 @@ public void getErrorCodeFromPlatformDiagnosticsInfo_withInvalidInput_returnsZero .isEqualTo(0); } + @Test + public void postOrRun_withMatchingThread_runsInline() { + Runnable mockRunnable = mock(Runnable.class); + + Util.postOrRun(new Handler(Looper.myLooper()), mockRunnable); + + verify(mockRunnable).run(); + } + + @Test + public void postOrRun_fromDifferentThread_posts() throws Exception { + Runnable mockRunnable = mock(Runnable.class); + HandlerThread handlerThread = new HandlerThread("TestThread"); + handlerThread.start(); + Handler handler = new Handler(handlerThread.getLooper()); + + ConditionVariable postedCondition = new ConditionVariable(); + handler.post( + () -> { + Util.postOrRun(new Handler(Looper.getMainLooper()), mockRunnable); + postedCondition.open(); + }); + postedCondition.block(TIMEOUT_MS); + handlerThread.quit(); + + verify(mockRunnable, never()).run(); + + ShadowLooper.idleMainLooper(); + verify(mockRunnable).run(); + } + + @Test + public void postOrRunWithCompletion_withMatchingThread_runsInline() throws Exception { + Runnable mockRunnable = mock(Runnable.class); + Object expectedResult = new Object(); + + ListenableFuture future = + Util.postOrRunWithCompletion(new Handler(Looper.myLooper()), mockRunnable, expectedResult); + + assertThat(future.isDone()).isTrue(); + assertThat(future.get()).isEqualTo(expectedResult); + verify(mockRunnable).run(); + } + + @Test + public void postOrRunWithCompletion_withException_hasException() throws Exception { + Object expectedResult = new Object(); + + ListenableFuture future = + Util.postOrRunWithCompletion( + new Handler(Looper.myLooper()), + () -> { + throw new IllegalStateException(); + }, + expectedResult); + + assertThat(future.isDone()).isTrue(); + ExecutionException executionException = assertThrows(ExecutionException.class, future::get); + assertThat(executionException).hasCauseThat().isInstanceOf(IllegalStateException.class); + } + + @Test + public void postOrRunWithCompletion_fromDifferentThread_posts() throws Exception { + Runnable mockRunnable = mock(Runnable.class); + Object expectedResult = new Object(); + HandlerThread handlerThread = new HandlerThread("TestThread"); + handlerThread.start(); + Handler handler = new Handler(handlerThread.getLooper()); + + ConditionVariable postedCondition = new ConditionVariable(); + AtomicReference> futureReference = new AtomicReference<>(); + handler.post( + () -> { + futureReference.set( + Util.postOrRunWithCompletion( + new Handler(Looper.getMainLooper()), mockRunnable, expectedResult)); + postedCondition.open(); + }); + postedCondition.block(TIMEOUT_MS); + handlerThread.quit(); + + ListenableFuture future = futureReference.get(); + verify(mockRunnable, never()).run(); + assertThat(future.isDone()).isFalse(); + + ShadowLooper.idleMainLooper(); + assertThat(future.isDone()).isTrue(); + assertThat(future.get()).isEqualTo(expectedResult); + verify(mockRunnable).run(); + } + + @Test + public void postOrRunWithCompletion_withCancel_isNeverRun() throws Exception { + Runnable mockRunnable = mock(Runnable.class); + Object expectedResult = new Object(); + HandlerThread handlerThread = new HandlerThread("TestThread"); + handlerThread.start(); + Handler handler = new Handler(handlerThread.getLooper()); + + ConditionVariable postedCondition = new ConditionVariable(); + AtomicReference> futureReference = new AtomicReference<>(); + handler.post( + () -> { + futureReference.set( + Util.postOrRunWithCompletion( + new Handler(Looper.getMainLooper()), mockRunnable, expectedResult)); + postedCondition.open(); + }); + postedCondition.block(TIMEOUT_MS); + handlerThread.quit(); + ListenableFuture future = futureReference.get(); + future.cancel(/* mayInterruptIfRunning= */ false); + + ShadowLooper.idleMainLooper(); + verify(mockRunnable, never()).run(); + } + + @Test + public void transformFutureAsync_withCancelledInput_isCancelled() { + SettableFuture inputFuture = SettableFuture.create(); + inputFuture.cancel(/* mayInterruptIfRunning= */ false); + + ListenableFuture outputFuture = + Util.transformFutureAsync(inputFuture, input -> Futures.immediateFuture(new Object())); + + assertThat(outputFuture.isCancelled()).isTrue(); + } + + @Test + public void transformFutureAsync_withExceptionInput_hasException() { + SettableFuture inputFuture = SettableFuture.create(); + Exception expectedException = new Exception(); + inputFuture.setException(expectedException); + + ListenableFuture outputFuture = + Util.transformFutureAsync(inputFuture, input -> Futures.immediateFuture(new Object())); + + assertThat(outputFuture.isDone()).isTrue(); + ExecutionException executionException = + assertThrows(ExecutionException.class, outputFuture::get); + assertThat(executionException).hasCauseThat().isEqualTo(expectedException); + } + + @Test + public void transformFutureAsync_withCancelledTransform_isCancelled() { + SettableFuture inputFuture = SettableFuture.create(); + SettableFuture transformFuture = SettableFuture.create(); + + ListenableFuture outputFuture = + Util.transformFutureAsync(inputFuture, input -> transformFuture); + assertThat(outputFuture.isDone()).isFalse(); + inputFuture.set(new Object()); + assertThat(outputFuture.isDone()).isFalse(); + transformFuture.cancel(/* mayInterruptIfRunning= */ false); + + assertThat(outputFuture.isCancelled()).isTrue(); + } + + @Test + public void transformFutureAsync_withExceptionInTransformFunction_hasException() { + SettableFuture inputFuture = SettableFuture.create(); + Exception expectedException = new Exception(); + + ListenableFuture outputFuture = + Util.transformFutureAsync( + inputFuture, + input -> { + throw expectedException; + }); + assertThat(outputFuture.isDone()).isFalse(); + inputFuture.set(new Object()); + + assertThat(outputFuture.isDone()).isTrue(); + ExecutionException executionException = + assertThrows(ExecutionException.class, outputFuture::get); + assertThat(executionException).hasCauseThat().isEqualTo(expectedException); + } + + @Test + public void transformFutureAsync_withExceptionDuringTransform_hasException() { + SettableFuture inputFuture = SettableFuture.create(); + Exception expectedException = new Exception(); + + ListenableFuture outputFuture = + Util.transformFutureAsync( + inputFuture, input -> Futures.immediateFailedFuture(expectedException)); + assertThat(outputFuture.isDone()).isFalse(); + inputFuture.set(new Object()); + + assertThat(outputFuture.isDone()).isTrue(); + ExecutionException executionException = + assertThrows(ExecutionException.class, outputFuture::get); + assertThat(executionException).hasCauseThat().isEqualTo(expectedException); + } + + @Test + public void transformFutureAsync_cancelDuringInput_inputIsCancelled() { + SettableFuture inputFuture = SettableFuture.create(); + + ListenableFuture outputFuture = + Util.transformFutureAsync(inputFuture, input -> Futures.immediateFuture(new Object())); + assertThat(outputFuture.isDone()).isFalse(); + outputFuture.cancel(/* mayInterruptIfRunning= */ true); + + assertThat(inputFuture.isCancelled()).isTrue(); + } + + @Test + public void transformFutureAsync_cancelDuringTransform_transformIsCancelled() { + SettableFuture inputFuture = SettableFuture.create(); + SettableFuture transformFuture = SettableFuture.create(); + + ListenableFuture outputFuture = + Util.transformFutureAsync(inputFuture, input -> transformFuture); + assertThat(outputFuture.isDone()).isFalse(); + inputFuture.set(new Object()); + assertThat(outputFuture.isDone()).isFalse(); + outputFuture.cancel(/* mayInterruptIfRunning= */ true); + + assertThat(transformFuture.isCancelled()).isTrue(); + } + + @Test + public void transformFutureAsync_withSuccessfulTransform_returnsTransformedResult() + throws Exception { + SettableFuture inputFuture = SettableFuture.create(); + SettableFuture transformFuture = SettableFuture.create(); + Object expectedOutput = new Object(); + + ListenableFuture outputFuture = + Util.transformFutureAsync(inputFuture, input -> transformFuture); + assertThat(outputFuture.isDone()).isFalse(); + inputFuture.set(new Object()); + assertThat(outputFuture.isDone()).isFalse(); + transformFuture.set(expectedOutput); + + assertThat(outputFuture.isDone()).isTrue(); + assertThat(outputFuture.get()).isEqualTo(expectedOutput); + } + private static void assertEscapeUnescapeFileName(String fileName, String escapedFileName) { assertThat(escapeFileName(fileName)).isEqualTo(escapedFileName); assertThat(unescapeFileName(escapedFileName)).isEqualTo(fileName); From 4cbbbc89c146207f7c3b454b3b3032b2984abc4e Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 19 Jul 2022 16:29:20 +0000 Subject: [PATCH 082/422] Add @code tags to DefaultDataSource javadoc #minor-release PiperOrigin-RevId: 461902089 (cherry picked from commit ac300c4a00c9e3bbe5cbc8d0fdd9f1c38f918888) --- .../media3/datasource/DefaultDataSource.java | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java index cc179e2d55b..962db5a8849 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java @@ -33,25 +33,27 @@ * A {@link DataSource} that supports multiple URI schemes. The supported schemes are: * *
        - *
      • file: For fetching data from a local file (e.g. file:///path/to/media/media.mp4, or just - * /path/to/media/media.mp4 because the implementation assumes that a URI without a scheme is - * a local file URI). - *
      • asset: For fetching data from an asset in the application's apk (e.g. asset:///media.mp4). - *
      • rawresource: For fetching data from a raw resource in the application's apk (e.g. - * rawresource:///resourceId, where rawResourceId is the integer identifier of the raw - * resource). - *
      • android.resource: For fetching data in the application's apk (e.g. - * android.resource:///resourceId or android.resource://resourceType/resourceName). See {@link - * RawResourceDataSource} for more information about the URI form. - *
      • content: For fetching data from a content URI (e.g. content://authority/path/123). - *
      • rtmp: For fetching data over RTMP. Only supported if the project using ExoPlayer has an - * explicit dependency on ExoPlayer's RTMP extension. - *
      • data: For parsing data inlined in the URI as defined in RFC 2397. - *
      • udp: For fetching data over UDP (e.g. udp://something.com/media). - *
      • http(s): For fetching data over HTTP and HTTPS (e.g. https://www.something.com/media.mp4), - * if constructed using {@link #DefaultDataSource(Context, String, boolean)}, or any other - * schemes supported by a base data source if constructed using {@link - * #DefaultDataSource(Context, DataSource)}. + *
      • {@code file}: For fetching data from a local file (e.g. {@code + * file:///path/to/media/media.mp4}, or just {@code /path/to/media/media.mp4} because the + * implementation assumes that a URI without a scheme is a local file URI). + *
      • {@code asset}: For fetching data from an asset in the application's APK (e.g. {@code + * asset:///media.mp4}). + *
      • {@code rawresource}: For fetching data from a raw resource in the application's APK (e.g. + * {@code rawresource:///resourceId}, where {@code rawResourceId} is the integer identifier of + * the raw resource). + *
      • {@code android.resource}: For fetching data in the application's APK (e.g. {@code + * android.resource:///resourceId} or {@code android.resource://resourceType/resourceName}). + * See {@link RawResourceDataSource} for more information about the URI form. + *
      • {@code content}: For fetching data from a content URI (e.g. {@code + * content://authority/path/123}). + *
      • {@code rtmp}: For fetching data over RTMP. Only supported if the project using ExoPlayer + * has an explicit dependency on ExoPlayer's RTMP extension. + *
      • {@code data}: For parsing data inlined in the URI as defined in RFC 2397. + *
      • {@code udp}: For fetching data over UDP (e.g. {@code udp://something.com/media}). + *
      • {@code http(s)}: For fetching data over HTTP and HTTPS (e.g. {@code + * https://www.something.com/media.mp4}), if constructed using {@link + * #DefaultDataSource(Context, String, boolean)}, or any other schemes supported by a base + * data source if constructed using {@link #DefaultDataSource(Context, DataSource)}. *
      */ public final class DefaultDataSource implements DataSource { From d84662e5cefa468f164a95f22f97138883710834 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 20 Jul 2022 08:56:08 +0000 Subject: [PATCH 083/422] Properly chain commands in MediaSessionStub The commands currently use a task and a postTask that are chained together manually. In some cases, e.g. when adding MediaItems, the postTask is already a chain of commands in itself. To allow using the entire command handling as a single task (for simplified queueing), we can change the implementation to always create a single task. If multiple subtasks need to be chained together, we can do that by wrapping the method calls. In case a task is asynchronous, we can also use Futures to chain them together. Overall, this is just a refactoring and changes no logic. Issue: androidx/media#85 PiperOrigin-RevId: 462085724 (cherry picked from commit 45f1f5b37858ce937164be568a598dbb84bf654b) --- .../media3/session/MediaSessionStub.java | 617 ++++++------------ 1 file changed, 197 insertions(+), 420 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index 56bb1a5f623..5a8892df1da 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -41,6 +41,8 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.common.util.Util.postOrRun; +import static androidx.media3.common.util.Util.postOrRunWithCompletion; +import static androidx.media3.common.util.Util.transformFutureAsync; import static androidx.media3.session.SessionCommand.COMMAND_CODE_CUSTOM; import static androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_GET_CHILDREN; import static androidx.media3.session.SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM; @@ -69,6 +71,7 @@ import androidx.media3.common.Rating; import androidx.media3.common.TrackSelectionParameters; import androidx.media3.common.util.BundleableUtil; +import androidx.media3.common.util.Consumer; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import androidx.media3.session.MediaLibraryService.LibraryParams; @@ -115,13 +118,7 @@ public ConnectedControllersManager getConnectedControllersManager() { return connectedControllersManager; } - private static void sendSessionResult( - K sessionImpl, ControllerInfo controller, int seq, @SessionResult.Code int resultCode) { - sendSessionResult(sessionImpl, controller, seq, new SessionResult(resultCode)); - } - - private static void sendSessionResult( - K sessionImpl, ControllerInfo controller, int seq, SessionResult result) { + private static void sendSessionResult(ControllerInfo controller, int seq, SessionResult result) { try { checkStateNotNull(controller.getControllerCb()).onSessionResult(seq, result); } catch (RemoteException e) { @@ -129,51 +126,52 @@ private static void sendSessionResult( } } - private static void sendSessionResultWhenReady( - K sessionImpl, ControllerInfo controller, int seq, ListenableFuture future) { - future.addListener( - () -> { - SessionResult result; - try { - result = checkNotNull(future.get(), "SessionResult must not be null"); - } catch (CancellationException unused) { - result = new SessionResult(SessionResult.RESULT_INFO_SKIPPED); - } catch (ExecutionException | InterruptedException unused) { - result = new SessionResult(SessionResult.RESULT_ERROR_UNKNOWN); - } - sendSessionResult(sessionImpl, controller, seq, result); - }, - MoreExecutors.directExecutor()); + private static SessionTask sendSessionResultSuccess( + Consumer task) { + return (sessionImpl, controller, sequence) -> { + task.accept(sessionImpl.getPlayerWrapper()); + sendSessionResult(controller, sequence, new SessionResult(SessionResult.RESULT_SUCCESS)); + return null; + }; } - private static void handleMediaItemsWhenReady( - K sessionImpl, - ControllerInfo controller, - int seq, - ListenableFuture> future, - MediaItemPlayerTask mediaItemPlayerTask) { - future.addListener( - () -> { - SessionResult result; - try { - List mediaItems = - checkNotNull(future.get(), "MediaItem list must not be null"); - postOrRun( - sessionImpl.getApplicationHandler(), - () -> mediaItemPlayerTask.run(sessionImpl.getPlayerWrapper(), mediaItems)); - result = new SessionResult(SessionResult.RESULT_SUCCESS); - } catch (CancellationException unused) { - result = new SessionResult(SessionResult.RESULT_INFO_SKIPPED); - } catch (ExecutionException | InterruptedException exception) { - result = - new SessionResult( - exception.getCause() instanceof UnsupportedOperationException - ? SessionResult.RESULT_ERROR_NOT_SUPPORTED - : SessionResult.RESULT_ERROR_UNKNOWN); - } - sendSessionResult(sessionImpl, controller, seq, result); - }, - MoreExecutors.directExecutor()); + private static SessionTask sendSessionResultWhenReady( + SessionTask, K> task) { + return (sessionImpl, controller, sequence) -> { + ListenableFuture future = task.run(sessionImpl, controller, sequence); + future.addListener( + () -> { + SessionResult result; + try { + result = checkNotNull(future.get(), "SessionResult must not be null"); + } catch (CancellationException unused) { + result = new SessionResult(SessionResult.RESULT_INFO_SKIPPED); + } catch (ExecutionException | InterruptedException exception) { + result = + new SessionResult( + exception.getCause() instanceof UnsupportedOperationException + ? SessionResult.RESULT_ERROR_NOT_SUPPORTED + : SessionResult.RESULT_ERROR_UNKNOWN); + } + sendSessionResult(controller, sequence, result); + }, + MoreExecutors.directExecutor()); + return null; + }; + } + + private static + SessionTask, K> handleMediaItemsWhenReady( + SessionTask>, K> mediaItemsTask, + MediaItemPlayerTask mediaItemPlayerTask) { + return (sessionImpl, controller, sequence) -> + transformFutureAsync( + mediaItemsTask.run(sessionImpl, controller, sequence), + mediaItems -> + postOrRunWithCompletion( + sessionImpl.getApplicationHandler(), + () -> mediaItemPlayerTask.run(sessionImpl.getPlayerWrapper(), mediaItems), + new SessionResult(SessionResult.RESULT_SUCCESS))); } private static void sendLibraryResult( @@ -185,32 +183,30 @@ private static void sendLibraryResult( } } - private static void sendLibraryResultWhenReady( - K sessionImpl, - ControllerInfo controller, - int seq, - ListenableFuture> future) { - future.addListener( - () -> { - LibraryResult result; - try { - result = checkNotNull(future.get(), "LibraryResult must not be null"); - } catch (CancellationException unused) { - result = LibraryResult.ofError(LibraryResult.RESULT_INFO_SKIPPED); - } catch (ExecutionException | InterruptedException unused) { - result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN); - } - sendLibraryResult(controller, seq, result); - }, - MoreExecutors.directExecutor()); + private static + SessionTask sendLibraryResultWhenReady( + SessionTask>, K> task) { + return (sessionImpl, controller, sequence) -> { + ListenableFuture> future = task.run(sessionImpl, controller, sequence); + future.addListener( + () -> { + LibraryResult result; + try { + result = checkNotNull(future.get(), "LibraryResult must not be null"); + } catch (CancellationException unused) { + result = LibraryResult.ofError(LibraryResult.RESULT_INFO_SKIPPED); + } catch (ExecutionException | InterruptedException unused) { + result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN); + } + sendLibraryResult(controller, sequence, result); + }, + MoreExecutors.directExecutor()); + return null; + }; } - private void dispatchSessionTaskWithPlayerCommand( - IMediaController caller, - int seq, - @Player.Command int command, - SessionTask task, - PostSessionTask postTask) { + private void dispatchSessionTaskWithPlayerCommand( + IMediaController caller, int seq, @Player.Command int command, SessionTask task) { long token = Binder.clearCallingIdentity(); try { @SuppressWarnings({"unchecked", "cast.unsafe"}) @@ -229,27 +225,21 @@ private void dispatchSessionTaskWithPlayerComman () -> { if (!connectedControllersManager.isPlayerCommandAvailable(controller, command)) { sendSessionResult( - sessionImpl, - controller, - seq, - new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); + controller, seq, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); return; } @SessionResult.Code int resultCode = sessionImpl.onPlayerCommandRequestOnHandler(controller, command); if (resultCode != SessionResult.RESULT_SUCCESS) { // Don't run rejected command. - sendSessionResult(sessionImpl, controller, seq, new SessionResult(resultCode)); + sendSessionResult(controller, seq, new SessionResult(resultCode)); return; } if (command == COMMAND_SET_VIDEO_SURFACE) { - getSessionTaskWithPlayerCommandRunnable(controller, seq, sessionImpl, task, postTask) - .run(); + task.run(sessionImpl, controller, seq); } else { connectedControllersManager.addToCommandQueue( - controller, - getSessionTaskWithPlayerCommandRunnable( - controller, seq, sessionImpl, task, postTask)); + controller, () -> task.run(sessionImpl, controller, seq)); } }); } finally { @@ -257,55 +247,23 @@ private void dispatchSessionTaskWithPlayerComman } } - private Runnable getSessionTaskWithPlayerCommandRunnable( - ControllerInfo controller, - int seq, - K sessionImpl, - SessionTask task, - PostSessionTask postTask) { - return () -> { - T result = task.run(sessionImpl, controller); - postTask.run(sessionImpl, controller, seq, result); - }; - } - - private void dispatchSessionTaskWithLibrarySessionCommand( - IMediaController caller, - int seq, - @CommandCode int commandCode, - SessionTask task, - PostSessionTask postTask) { - dispatchSessionTaskWithSessionCommandInternal( - caller, seq, /* sessionCommand= */ null, commandCode, task, postTask); - } - - private void dispatchSessionTaskWithSessionCommand( - IMediaController caller, - int seq, - @CommandCode int commandCode, - SessionTask task, - PostSessionTask postTask) { - dispatchSessionTaskWithSessionCommandInternal( - caller, seq, /* sessionCommand= */ null, commandCode, task, postTask); + private void dispatchSessionTaskWithSessionCommand( + IMediaController caller, int seq, @CommandCode int commandCode, SessionTask task) { + dispatchSessionTaskWithSessionCommand( + caller, seq, /* sessionCommand= */ null, commandCode, task); } - private void dispatchSessionTaskWithSessionCommand( - IMediaController caller, - int seq, - SessionCommand sessionCommand, - SessionTask task, - PostSessionTask postTask) { - dispatchSessionTaskWithSessionCommandInternal( - caller, seq, sessionCommand, COMMAND_CODE_CUSTOM, task, postTask); + private void dispatchSessionTaskWithSessionCommand( + IMediaController caller, int seq, SessionCommand sessionCommand, SessionTask task) { + dispatchSessionTaskWithSessionCommand(caller, seq, sessionCommand, COMMAND_CODE_CUSTOM, task); } - private void dispatchSessionTaskWithSessionCommandInternal( + private void dispatchSessionTaskWithSessionCommand( IMediaController caller, int seq, @Nullable SessionCommand sessionCommand, @CommandCode int commandCode, - SessionTask task, - PostSessionTask postTask) { + SessionTask task) { long token = Binder.clearCallingIdentity(); try { @SuppressWarnings({"unchecked", "cast.unsafe"}) @@ -329,7 +287,6 @@ private void dispatchSessionTaskWithSessionComma if (!connectedControllersManager.isSessionCommandAvailable( controller, sessionCommand)) { sendSessionResult( - sessionImpl, controller, seq, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); @@ -338,15 +295,13 @@ private void dispatchSessionTaskWithSessionComma } else { if (!connectedControllersManager.isSessionCommandAvailable(controller, commandCode)) { sendSessionResult( - sessionImpl, controller, seq, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); return; } } - T result = task.run(sessionImpl, controller); - postTask.run(sessionImpl, controller, seq, result); + task.run(sessionImpl, controller, seq); }); } finally { Binder.restoreCallingIdentity(token); @@ -526,14 +481,7 @@ public void stop(@Nullable IMediaController caller, int seq) throws RemoteExcept return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_STOP, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().stop(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_STOP, sendSessionResultSuccess(Player::stop)); } @Override @@ -582,14 +530,7 @@ public void play(@Nullable IMediaController caller, int seq) throws RuntimeExcep return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_PLAY_PAUSE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().play(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::play)); } @Override @@ -598,14 +539,7 @@ public void pause(@Nullable IMediaController caller, int seq) throws RuntimeExce return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_PLAY_PAUSE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().pause(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::pause)); } @Override @@ -614,14 +548,7 @@ public void prepare(@Nullable IMediaController caller, int seq) throws RuntimeEx return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_PREPARE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().prepare(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_PREPARE, sendSessionResultSuccess(Player::prepare)); } @Override @@ -633,11 +560,7 @@ public void seekToDefaultPosition(IMediaController caller, int seq) { caller, seq, COMMAND_SEEK_TO_DEFAULT_POSITION, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekToDefaultPosition(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(Player::seekToDefaultPosition)); } @Override @@ -650,11 +573,7 @@ public void seekToDefaultPositionWithMediaItemIndex( caller, seq, COMMAND_SEEK_TO_MEDIA_ITEM, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekToDefaultPosition(mediaItemIndex); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.seekToDefaultPosition(mediaItemIndex))); } @Override @@ -667,11 +586,7 @@ public void seekTo(@Nullable IMediaController caller, int seq, long positionMs) caller, seq, COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekTo(positionMs); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.seekTo(positionMs))); } @Override @@ -685,11 +600,7 @@ public void seekToWithMediaItemIndex( caller, seq, COMMAND_SEEK_TO_MEDIA_ITEM, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekTo(mediaItemIndex, positionMs); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.seekTo(mediaItemIndex, positionMs))); } @Override @@ -698,14 +609,7 @@ public void seekBack(IMediaController caller, int seq) { return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_SEEK_BACK, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekBack(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_SEEK_BACK, sendSessionResultSuccess(Player::seekBack)); } @Override @@ -714,14 +618,7 @@ public void seekForward(IMediaController caller, int seq) { return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_SEEK_FORWARD, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekForward(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_SEEK_FORWARD, sendSessionResultSuccess(Player::seekForward)); } @Override @@ -744,9 +641,9 @@ public void onCustomCommand( caller, seq, command, - (sessionImpl, controller) -> - sessionImpl.onCustomCommandOnHandler(controller, command, args), - MediaSessionStub::sendSessionResultWhenReady); + sendSessionResultWhenReady( + (sessionImpl, controller, sequence) -> + sessionImpl.onCustomCommandOnHandler(controller, command, args))); } @Override @@ -770,8 +667,9 @@ public void setRatingWithMediaId( caller, seq, COMMAND_CODE_SESSION_SET_RATING, - (sessionImpl, controller) -> sessionImpl.onSetRatingOnHandler(controller, mediaId, rating), - MediaSessionStub::sendSessionResultWhenReady); + sendSessionResultWhenReady( + (sessionImpl, controller, sequence) -> + sessionImpl.onSetRatingOnHandler(controller, mediaId, rating))); } @Override @@ -790,8 +688,9 @@ public void setRating(@Nullable IMediaController caller, int seq, @Nullable Bund caller, seq, COMMAND_CODE_SESSION_SET_RATING, - (sessionImpl, controller) -> sessionImpl.onSetRatingOnHandler(controller, rating), - MediaSessionStub::sendSessionResultWhenReady); + sendSessionResultWhenReady( + (sessionImpl, controller, sequence) -> + sessionImpl.onSetRatingOnHandler(controller, rating))); } @Override @@ -803,11 +702,7 @@ public void setPlaybackSpeed(@Nullable IMediaController caller, int seq, float s caller, seq, COMMAND_SET_SPEED_AND_PITCH, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setPlaybackSpeed(speed); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setPlaybackSpeed(speed))); } @Override @@ -822,11 +717,7 @@ public void setPlaybackParameters( caller, seq, COMMAND_SET_SPEED_AND_PITCH, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setPlaybackParameters(playbackParameters); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setPlaybackParameters(playbackParameters))); } @Override @@ -846,11 +737,11 @@ public void setMediaItem( caller, seq, COMMAND_SET_MEDIA_ITEM, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, controller, sequence, future, Player::setMediaItems)); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), + Player::setMediaItems))); } @Override @@ -873,16 +764,12 @@ public void setMediaItemWithStartPosition( caller, seq, COMMAND_SET_MEDIA_ITEM, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, - controller, - sequence, - future, + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), (player, mediaItems) -> - player.setMediaItems(mediaItems, /* startIndex= */ 0, startPositionMs))); + player.setMediaItems(mediaItems, /* startIndex= */ 0, startPositionMs)))); } @Override @@ -905,15 +792,11 @@ public void setMediaItemWithResetPosition( caller, seq, COMMAND_SET_MEDIA_ITEM, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, - controller, - sequence, - future, - (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition))); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), + (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition)))); } @Override @@ -936,11 +819,11 @@ public void setMediaItems( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, controller, sequence, future, Player::setMediaItems)); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), + Player::setMediaItems))); } @Override @@ -965,15 +848,11 @@ public void setMediaItemsWithResetPosition( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, - controller, - sequence, - future, - (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition))); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), + (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition)))); } @Override @@ -999,16 +878,12 @@ public void setMediaItemsWithStartIndex( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, - controller, - sequence, - future, + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), (player, mediaItems) -> - player.setMediaItems(mediaItems, startIndex, startPositionMs))); + player.setMediaItems(mediaItems, startIndex, startPositionMs)))); } @Override @@ -1028,11 +903,7 @@ public void setPlaylistMetadata( caller, seq, COMMAND_SET_MEDIA_ITEMS_METADATA, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setPlaylistMetadata(playlistMetadata); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata))); } @Override @@ -1051,11 +922,11 @@ public void addMediaItem(@Nullable IMediaController caller, int seq, Bundle medi caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, controller, sequence, future, Player::addMediaItems)); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), + Player::addMediaItems))); } @Override @@ -1075,15 +946,11 @@ public void addMediaItemWithIndex( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> - sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, - controller, - sequence, - future, - (player, mediaItems) -> player.addMediaItems(index, mediaItems))); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), + (player, mediaItems) -> player.addMediaItems(index, mediaItems)))); } @Override @@ -1105,10 +972,11 @@ public void addMediaItems( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, controller, sequence, future, Player::addMediaItems)); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), + Player::addMediaItems))); } @Override @@ -1133,14 +1001,11 @@ public void addMediaItemsWithIndex( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), - (sessionImpl, controller, sequence, future) -> + sendSessionResultWhenReady( handleMediaItemsWhenReady( - sessionImpl, - controller, - sequence, - future, - (player, items) -> player.addMediaItems(index, items))); + (sessionImpl, controller, sequence) -> + sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), + (player, items) -> player.addMediaItems(index, items)))); } @Override @@ -1152,11 +1017,7 @@ public void removeMediaItem(@Nullable IMediaController caller, int seq, int inde caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().removeMediaItem(index); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.removeMediaItem(index))); } @Override @@ -1169,11 +1030,7 @@ public void removeMediaItems( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().removeMediaItems(fromIndex, toIndex); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.removeMediaItems(fromIndex, toIndex))); } @Override @@ -1182,14 +1039,7 @@ public void clearMediaItems(@Nullable IMediaController caller, int seq) { return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().clearMediaItems(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(Player::clearMediaItems)); } @Override @@ -1202,11 +1052,7 @@ public void moveMediaItem( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().moveMediaItem(currentIndex, newIndex); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.moveMediaItem(currentIndex, newIndex))); } @Override @@ -1219,11 +1065,7 @@ public void moveMediaItems( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().moveMediaItems(fromIndex, toIndex, newIndex); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.moveMediaItems(fromIndex, toIndex, newIndex))); } @Override @@ -1235,11 +1077,7 @@ public void seekToPreviousMediaItem(@Nullable IMediaController caller, int seq) caller, seq, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekToPreviousMediaItem(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(Player::seekToPreviousMediaItem)); } @Override @@ -1251,11 +1089,7 @@ public void seekToNextMediaItem(@Nullable IMediaController caller, int seq) { caller, seq, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekToNextMediaItem(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(Player::seekToNextMediaItem)); } @Override @@ -1264,14 +1098,7 @@ public void seekToPrevious(@Nullable IMediaController caller, int seq) { return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_SEEK_TO_PREVIOUS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekToPrevious(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_SEEK_TO_PREVIOUS, sendSessionResultSuccess(Player::seekToPrevious)); } @Override @@ -1280,14 +1107,7 @@ public void seekToNext(@Nullable IMediaController caller, int seq) { return; } dispatchSessionTaskWithPlayerCommand( - caller, - seq, - COMMAND_SEEK_TO_NEXT, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().seekToNext(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + caller, seq, COMMAND_SEEK_TO_NEXT, sendSessionResultSuccess(Player::seekToNext)); } @Override @@ -1300,11 +1120,7 @@ public void setRepeatMode( caller, seq, COMMAND_SET_REPEAT_MODE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setRepeatMode(repeatMode); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setRepeatMode(repeatMode))); } @Override @@ -1317,11 +1133,7 @@ public void setShuffleModeEnabled( caller, seq, COMMAND_SET_SHUFFLE_MODE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setShuffleModeEnabled(shuffleModeEnabled); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setShuffleModeEnabled(shuffleModeEnabled))); } @Override @@ -1334,11 +1146,7 @@ public void setVideoSurface( caller, seq, COMMAND_SET_VIDEO_SURFACE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setVideoSurface(surface); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setVideoSurface(surface))); } @Override @@ -1350,11 +1158,7 @@ public void setVolume(@Nullable IMediaController caller, int seq, float volume) caller, seq, COMMAND_SET_VOLUME, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setVolume(volume); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setVolume(volume))); } @Override @@ -1366,11 +1170,7 @@ public void setDeviceVolume(@Nullable IMediaController caller, int seq, int volu caller, seq, COMMAND_SET_DEVICE_VOLUME, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setDeviceVolume(volume); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setDeviceVolume(volume))); } @Override @@ -1382,11 +1182,7 @@ public void increaseDeviceVolume(@Nullable IMediaController caller, int seq) { caller, seq, COMMAND_ADJUST_DEVICE_VOLUME, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().increaseDeviceVolume(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(Player::increaseDeviceVolume)); } @Override @@ -1398,11 +1194,7 @@ public void decreaseDeviceVolume(@Nullable IMediaController caller, int seq) { caller, seq, COMMAND_ADJUST_DEVICE_VOLUME, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().decreaseDeviceVolume(); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(Player::decreaseDeviceVolume)); } @Override @@ -1414,11 +1206,7 @@ public void setDeviceMuted(@Nullable IMediaController caller, int seq, boolean m caller, seq, COMMAND_SET_DEVICE_VOLUME, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setDeviceMuted(muted); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setDeviceMuted(muted))); } @Override @@ -1430,11 +1218,7 @@ public void setPlayWhenReady(@Nullable IMediaController caller, int seq, boolean caller, seq, COMMAND_PLAY_PAUSE, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setPlayWhenReady(playWhenReady); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess(player -> player.setPlayWhenReady(playWhenReady))); } @Override @@ -1478,11 +1262,8 @@ public void setTrackSelectionParameters( caller, seq, COMMAND_SET_TRACK_SELECTION_PARAMETERS, - (sessionImpl, controller) -> { - sessionImpl.getPlayerWrapper().setTrackSelectionParameters(trackSelectionParameters); - return SessionResult.RESULT_SUCCESS; - }, - MediaSessionStub::sendSessionResult); + sendSessionResultSuccess( + player -> player.setTrackSelectionParameters(trackSelectionParameters))); } ////////////////////////////////////////////////////////////////////////////////////////////// @@ -1499,13 +1280,13 @@ public void getLibraryRoot( @Nullable LibraryParams libraryParams = libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT, - (librarySessionImpl, controller) -> - librarySessionImpl.onGetLibraryRootOnHandler(controller, libraryParams), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onGetLibraryRootOnHandler(controller, libraryParams))); } @Override @@ -1518,13 +1299,13 @@ public void getItem(@Nullable IMediaController caller, int seq, @Nullable String Log.w(TAG, "getItem(): Ignoring empty mediaId"); return; } - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_GET_ITEM, - (librarySessionImpl, controller) -> - librarySessionImpl.onGetItemOnHandler(controller, mediaId), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onGetItemOnHandler(controller, mediaId))); } @Override @@ -1554,14 +1335,14 @@ public void getChildren( @Nullable LibraryParams libraryParams = libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_GET_CHILDREN, - (librarySessionImpl, controller) -> - librarySessionImpl.onGetChildrenOnHandler( - controller, parentId, page, pageSize, libraryParams), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onGetChildrenOnHandler( + controller, parentId, page, pageSize, libraryParams))); } @Override @@ -1580,13 +1361,13 @@ public void search( @Nullable LibraryParams libraryParams = libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_SEARCH, - (librarySessionImpl, controller) -> - librarySessionImpl.onSearchOnHandler(controller, query, libraryParams), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onSearchOnHandler(controller, query, libraryParams))); } @Override @@ -1615,14 +1396,14 @@ public void getSearchResult( @Nullable LibraryParams libraryParams = libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT, - (librarySessionImpl, controller) -> - librarySessionImpl.onGetSearchResultOnHandler( - controller, query, page, pageSize, libraryParams), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onGetSearchResultOnHandler( + controller, query, page, pageSize, libraryParams))); } @Override @@ -1641,13 +1422,13 @@ public void subscribe( @Nullable LibraryParams libraryParams = libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_SUBSCRIBE, - (librarySessionImpl, controller) -> - librarySessionImpl.onSubscribeOnHandler(controller, parentId, libraryParams), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onSubscribeOnHandler(controller, parentId, libraryParams))); } @Override @@ -1659,22 +1440,18 @@ public void unsubscribe(@Nullable IMediaController caller, int seq, String paren Log.w(TAG, "unsubscribe(): Ignoring empty parentId"); return; } - dispatchSessionTaskWithLibrarySessionCommand( + dispatchSessionTaskWithSessionCommand( caller, seq, COMMAND_CODE_LIBRARY_UNSUBSCRIBE, - (librarySessionImpl, controller) -> - librarySessionImpl.onUnsubscribeOnHandler(controller, parentId), - MediaSessionStub::sendLibraryResultWhenReady); + sendLibraryResultWhenReady( + (librarySessionImpl, controller, sequence) -> + librarySessionImpl.onUnsubscribeOnHandler(controller, parentId))); } /** Common interface for code snippets to handle all incoming commands from the controller. */ private interface SessionTask { - T run(K sessionImpl, ControllerInfo controller); - } - - private interface PostSessionTask { - void run(K sessionImpl, ControllerInfo controller, int seq, T result); + T run(K sessionImpl, ControllerInfo controller, int seq); } private interface MediaItemPlayerTask { From eb823a9ab7298c8131c8cbb3c4ff9833f94e0ba4 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 20 Jul 2022 10:34:22 +0000 Subject: [PATCH 084/422] Run MediaSessionStub commands in order Some commands are run asynchronously and subsequent commands need to wait until the previous one finished. This can be supported by returning a Future for each command and using the existing command execution logic to wait for each Future to complete. As some MediaSessionStub code is now executed delayed to when it was originally created, we also need to check if the session is not released before triggering any actions or sending result codes. Issue: androidx/media#85 PiperOrigin-RevId: 462101136 (cherry picked from commit 7cb7636ed954f0737aaac2f9cf556715a2ee9b37) --- RELEASENOTES.md | 38 ++- .../session/ConnectedControllersManager.java | 9 +- .../media3/session/MediaSessionStub.java | 251 +++++++++++------- .../common/IRemoteMediaController.aidl | 1 + .../session/MediaSessionPlayerTest.java | 33 ++- .../MediaControllerProviderService.java | 20 ++ .../media3/session/RemoteMediaController.java | 10 + 7 files changed, 242 insertions(+), 120 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2419e6797aa..9d6aa87817a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -2,6 +2,29 @@ ### Unreleased changes +* Core library: + * Add `ExoPlayer.isTunnelingEnabled` to check if tunneling is enabled for + the currently selected tracks + ([#2518](https://github.com/google/ExoPlayer/issues/2518)). + * Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid + OutOfMemory errors when releasing multiple players at the same time + ([#10057](https://github.com/google/ExoPlayer/issues/10057)). +* Metadata: + * `MetadataRenderer` can now be configured to render metadata as soon as + they are available. Create an instance with + `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, + boolean)` to specify whether the renderer will output metadata early or + in sync with the player position. +* Session: + * Ensure commands are always executed in the correct order even if some + require asynchronous resolution + ([#85](https://github.com/androidx/media/issues/85)). + +### 1.0.0-beta02 (2022-07-15) + +This release corresponds to the +[ExoPlayer 2.18.1 release](https://github.com/google/ExoPlayer/releases/tag/r2.18.1). + * Core library: * Ensure that changing the `ShuffleOrder` with `ExoPlayer.setShuffleOrder` results in a call to `Player.Listener#onTimelineChanged` with @@ -9,14 +32,11 @@ ([#9889](https://github.com/google/ExoPlayer/issues/9889)). * For progressive media, only include selected tracks in buffered position ([#10361](https://github.com/google/ExoPlayer/issues/10361)). - * Add `ExoPlayer.isTunnelingEnabled` to check if tunneling is enabled for - the currently selected tracks - ([#2518](https://github.com/google/ExoPlayer/issues/2518)). * Allow custom logger for all ExoPlayer log output ([#9752](https://github.com/google/ExoPlayer/issues/9752)). - * Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid - OutOfMemory errors when releasing multiple players at the same time - ([#10057](https://github.com/google/ExoPlayer/issues/10057)). + * Fix implementation of `setDataSourceFactory` in + `DefaultMediaSourceFactory`, which was non-functional in some cases + ([#116](https://github.com/androidx/media/issues/116)). * Extractors: * Add support for AVI ([#2092](https://github.com/google/ExoPlayer/issues/2092)). @@ -24,12 +44,6 @@ ([#10316](https://github.com/google/ExoPlayer/issues/10316)). * Fix parsing of bitrates from `esds` boxes ([#10381](https://github.com/google/ExoPlayer/issues/10381)). -* Metadata: - * `MetadataRenderer` can now be configured to render metadata as soon as - they are available. Create an instance with - `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, - boolean)` to specify whether the renderer will output metadata early or - in sync with the player position. * DASH: * Parse ClearKey license URL from manifests ([#10246](https://github.com/google/ExoPlayer/issues/10246)). diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java b/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java index 01f2c9a3e0e..64b069effb0 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectedControllersManager.java @@ -24,7 +24,6 @@ import androidx.media3.common.Player; import androidx.media3.session.MediaSession.ControllerInfo; import com.google.common.collect.ImmutableList; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import java.util.ArrayDeque; @@ -227,15 +226,11 @@ public ControllerInfo getController(T controllerKey) { } } - public void addToCommandQueue(ControllerInfo controllerInfo, Runnable commandRunnable) { + public void addToCommandQueue(ControllerInfo controllerInfo, AsyncCommand asyncCommand) { synchronized (lock) { @Nullable ConnectedControllerRecord info = controllerRecords.get(controllerInfo); if (info != null) { - info.commandQueue.add( - () -> { - commandRunnable.run(); - return Futures.immediateVoidFuture(); - }); + info.commandQueue.add(asyncCommand); } } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index 5a8892df1da..d895208b0b8 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -80,8 +80,10 @@ import androidx.media3.session.MediaSession.ControllerInfo; import androidx.media3.session.SessionCommand.CommandCode; import com.google.common.collect.ImmutableList; +import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; +import com.google.common.util.concurrent.SettableFuture; import java.lang.ref.WeakReference; import java.util.Collections; import java.util.HashSet; @@ -126,52 +128,66 @@ private static void sendSessionResult(ControllerInfo controller, int seq, Sessio } } - private static SessionTask sendSessionResultSuccess( - Consumer task) { + private static + SessionTask, K> sendSessionResultSuccess( + Consumer task) { return (sessionImpl, controller, sequence) -> { + if (sessionImpl.isReleased()) { + return Futures.immediateVoidFuture(); + } task.accept(sessionImpl.getPlayerWrapper()); sendSessionResult(controller, sequence, new SessionResult(SessionResult.RESULT_SUCCESS)); - return null; + return Futures.immediateVoidFuture(); }; } - private static SessionTask sendSessionResultWhenReady( - SessionTask, K> task) { - return (sessionImpl, controller, sequence) -> { - ListenableFuture future = task.run(sessionImpl, controller, sequence); - future.addListener( - () -> { - SessionResult result; - try { - result = checkNotNull(future.get(), "SessionResult must not be null"); - } catch (CancellationException unused) { - result = new SessionResult(SessionResult.RESULT_INFO_SKIPPED); - } catch (ExecutionException | InterruptedException exception) { - result = - new SessionResult( - exception.getCause() instanceof UnsupportedOperationException - ? SessionResult.RESULT_ERROR_NOT_SUPPORTED - : SessionResult.RESULT_ERROR_UNKNOWN); - } - sendSessionResult(controller, sequence, result); - }, - MoreExecutors.directExecutor()); - return null; - }; + private static + SessionTask, K> sendSessionResultWhenReady( + SessionTask, K> task) { + return (sessionImpl, controller, sequence) -> + handleSessionTaskWhenReady( + sessionImpl, + controller, + sequence, + task, + future -> { + SessionResult result; + try { + result = checkNotNull(future.get(), "SessionResult must not be null"); + } catch (CancellationException unused) { + result = new SessionResult(SessionResult.RESULT_INFO_SKIPPED); + } catch (ExecutionException | InterruptedException exception) { + result = + new SessionResult( + exception.getCause() instanceof UnsupportedOperationException + ? SessionResult.RESULT_ERROR_NOT_SUPPORTED + : SessionResult.RESULT_ERROR_UNKNOWN); + } + sendSessionResult(controller, sequence, result); + }); } private static SessionTask, K> handleMediaItemsWhenReady( SessionTask>, K> mediaItemsTask, MediaItemPlayerTask mediaItemPlayerTask) { - return (sessionImpl, controller, sequence) -> - transformFutureAsync( - mediaItemsTask.run(sessionImpl, controller, sequence), - mediaItems -> - postOrRunWithCompletion( - sessionImpl.getApplicationHandler(), - () -> mediaItemPlayerTask.run(sessionImpl.getPlayerWrapper(), mediaItems), - new SessionResult(SessionResult.RESULT_SUCCESS))); + return (sessionImpl, controller, sequence) -> { + if (sessionImpl.isReleased()) { + return Futures.immediateFuture( + new SessionResult(SessionResult.RESULT_ERROR_SESSION_DISCONNECTED)); + } + return transformFutureAsync( + mediaItemsTask.run(sessionImpl, controller, sequence), + mediaItems -> + postOrRunWithCompletion( + sessionImpl.getApplicationHandler(), + () -> { + if (!sessionImpl.isReleased()) { + mediaItemPlayerTask.run(sessionImpl.getPlayerWrapper(), mediaItems); + } + }, + new SessionResult(SessionResult.RESULT_SUCCESS))); + }; } private static void sendLibraryResult( @@ -184,29 +200,32 @@ private static void sendLibraryResult( } private static - SessionTask sendLibraryResultWhenReady( + SessionTask, K> sendLibraryResultWhenReady( SessionTask>, K> task) { - return (sessionImpl, controller, sequence) -> { - ListenableFuture> future = task.run(sessionImpl, controller, sequence); - future.addListener( - () -> { - LibraryResult result; - try { - result = checkNotNull(future.get(), "LibraryResult must not be null"); - } catch (CancellationException unused) { - result = LibraryResult.ofError(LibraryResult.RESULT_INFO_SKIPPED); - } catch (ExecutionException | InterruptedException unused) { - result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN); - } - sendLibraryResult(controller, sequence, result); - }, - MoreExecutors.directExecutor()); - return null; - }; + return (sessionImpl, controller, sequence) -> + handleSessionTaskWhenReady( + sessionImpl, + controller, + sequence, + task, + future -> { + LibraryResult result; + try { + result = checkNotNull(future.get(), "LibraryResult must not be null"); + } catch (CancellationException unused) { + result = LibraryResult.ofError(LibraryResult.RESULT_INFO_SKIPPED); + } catch (ExecutionException | InterruptedException unused) { + result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN); + } + sendLibraryResult(controller, sequence, result); + }); } - private void dispatchSessionTaskWithPlayerCommand( - IMediaController caller, int seq, @Player.Command int command, SessionTask task) { + private void queueSessionTaskWithPlayerCommand( + IMediaController caller, + int seq, + @Player.Command int command, + SessionTask, K> task) { long token = Binder.clearCallingIdentity(); try { @SuppressWarnings({"unchecked", "cast.unsafe"}) @@ -248,13 +267,19 @@ private void dispatchSessionTaskWithPlayerCommand( } private void dispatchSessionTaskWithSessionCommand( - IMediaController caller, int seq, @CommandCode int commandCode, SessionTask task) { + IMediaController caller, + int seq, + @CommandCode int commandCode, + SessionTask, K> task) { dispatchSessionTaskWithSessionCommand( caller, seq, /* sessionCommand= */ null, commandCode, task); } private void dispatchSessionTaskWithSessionCommand( - IMediaController caller, int seq, SessionCommand sessionCommand, SessionTask task) { + IMediaController caller, + int seq, + SessionCommand sessionCommand, + SessionTask, K> task) { dispatchSessionTaskWithSessionCommand(caller, seq, sessionCommand, COMMAND_CODE_CUSTOM, task); } @@ -263,7 +288,7 @@ private void dispatchSessionTaskWithSessionCommand( int seq, @Nullable SessionCommand sessionCommand, @CommandCode int commandCode, - SessionTask task) { + SessionTask, K> task) { long token = Binder.clearCallingIdentity(); try { @SuppressWarnings({"unchecked", "cast.unsafe"}) @@ -308,6 +333,34 @@ private void dispatchSessionTaskWithSessionCommand( } } + private static ListenableFuture handleSessionTaskWhenReady( + K sessionImpl, + ControllerInfo controller, + int sequence, + SessionTask, K> task, + Consumer> futureResultHandler) { + if (sessionImpl.isReleased()) { + return Futures.immediateVoidFuture(); + } + ListenableFuture future = task.run(sessionImpl, controller, sequence); + SettableFuture outputFuture = SettableFuture.create(); + future.addListener( + () -> { + if (sessionImpl.isReleased()) { + outputFuture.set(null); + return; + } + try { + futureResultHandler.accept(future); + outputFuture.set(null); + } catch (Throwable error) { + outputFuture.setException(error); + } + }, + MoreExecutors.directExecutor()); + return outputFuture; + } + public void connect( IMediaController caller, int controllerVersion, @@ -480,7 +533,7 @@ public void stop(@Nullable IMediaController caller, int seq) throws RemoteExcept if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_STOP, sendSessionResultSuccess(Player::stop)); } @@ -529,7 +582,7 @@ public void play(@Nullable IMediaController caller, int seq) throws RuntimeExcep if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::play)); } @@ -538,7 +591,7 @@ public void pause(@Nullable IMediaController caller, int seq) throws RuntimeExce if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::pause)); } @@ -547,7 +600,7 @@ public void prepare(@Nullable IMediaController caller, int seq) throws RuntimeEx if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_PREPARE, sendSessionResultSuccess(Player::prepare)); } @@ -556,7 +609,7 @@ public void seekToDefaultPosition(IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_DEFAULT_POSITION, @@ -569,7 +622,7 @@ public void seekToDefaultPositionWithMediaItemIndex( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_MEDIA_ITEM, @@ -582,7 +635,7 @@ public void seekTo(@Nullable IMediaController caller, int seq, long positionMs) if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, @@ -596,7 +649,7 @@ public void seekToWithMediaItemIndex( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_MEDIA_ITEM, @@ -608,7 +661,7 @@ public void seekBack(IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_BACK, sendSessionResultSuccess(Player::seekBack)); } @@ -617,7 +670,7 @@ public void seekForward(IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_FORWARD, sendSessionResultSuccess(Player::seekForward)); } @@ -698,7 +751,7 @@ public void setPlaybackSpeed(@Nullable IMediaController caller, int seq, float s if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_SPEED_AND_PITCH, @@ -713,7 +766,7 @@ public void setPlaybackParameters( } PlaybackParameters playbackParameters = PlaybackParameters.CREATOR.fromBundle(playbackParametersBundle); - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_SPEED_AND_PITCH, @@ -733,7 +786,7 @@ public void setMediaItem( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_MEDIA_ITEM, @@ -760,7 +813,7 @@ public void setMediaItemWithStartPosition( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_MEDIA_ITEM, @@ -788,7 +841,7 @@ public void setMediaItemWithResetPosition( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_MEDIA_ITEM, @@ -815,7 +868,7 @@ public void setMediaItems( return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -844,7 +897,7 @@ public void setMediaItemsWithResetPosition( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -874,7 +927,7 @@ public void setMediaItemsWithStartIndex( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -899,7 +952,7 @@ public void setPlaylistMetadata( Log.w(TAG, "Ignoring malformed Bundle for MediaMetadata", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_MEDIA_ITEMS_METADATA, @@ -918,7 +971,7 @@ public void addMediaItem(@Nullable IMediaController caller, int seq, Bundle medi Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -942,7 +995,7 @@ public void addMediaItemWithIndex( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -968,7 +1021,7 @@ public void addMediaItems( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -997,7 +1050,7 @@ public void addMediaItemsWithIndex( Log.w(TAG, "Ignoring malformed Bundle for MediaItem", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -1013,7 +1066,7 @@ public void removeMediaItem(@Nullable IMediaController caller, int seq, int inde if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -1026,7 +1079,7 @@ public void removeMediaItems( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -1038,7 +1091,7 @@ public void clearMediaItems(@Nullable IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(Player::clearMediaItems)); } @@ -1048,7 +1101,7 @@ public void moveMediaItem( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -1061,7 +1114,7 @@ public void moveMediaItems( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, @@ -1073,7 +1126,7 @@ public void seekToPreviousMediaItem(@Nullable IMediaController caller, int seq) if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, @@ -1085,7 +1138,7 @@ public void seekToNextMediaItem(@Nullable IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, @@ -1097,7 +1150,7 @@ public void seekToPrevious(@Nullable IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_PREVIOUS, sendSessionResultSuccess(Player::seekToPrevious)); } @@ -1106,7 +1159,7 @@ public void seekToNext(@Nullable IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SEEK_TO_NEXT, sendSessionResultSuccess(Player::seekToNext)); } @@ -1116,7 +1169,7 @@ public void setRepeatMode( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_REPEAT_MODE, @@ -1129,7 +1182,7 @@ public void setShuffleModeEnabled( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_SHUFFLE_MODE, @@ -1142,7 +1195,7 @@ public void setVideoSurface( if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_VIDEO_SURFACE, @@ -1154,7 +1207,7 @@ public void setVolume(@Nullable IMediaController caller, int seq, float volume) if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_VOLUME, @@ -1166,7 +1219,7 @@ public void setDeviceVolume(@Nullable IMediaController caller, int seq, int volu if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_DEVICE_VOLUME, @@ -1178,7 +1231,7 @@ public void increaseDeviceVolume(@Nullable IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_ADJUST_DEVICE_VOLUME, @@ -1190,7 +1243,7 @@ public void decreaseDeviceVolume(@Nullable IMediaController caller, int seq) { if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_ADJUST_DEVICE_VOLUME, @@ -1202,7 +1255,7 @@ public void setDeviceMuted(@Nullable IMediaController caller, int seq, boolean m if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_DEVICE_VOLUME, @@ -1214,7 +1267,7 @@ public void setPlayWhenReady(@Nullable IMediaController caller, int seq, boolean if (caller == null) { return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_PLAY_PAUSE, @@ -1258,7 +1311,7 @@ public void setTrackSelectionParameters( Log.w(TAG, "Ignoring malformed Bundle for TrackSelectionParameters", e); return; } - dispatchSessionTaskWithPlayerCommand( + queueSessionTaskWithPlayerCommand( caller, seq, COMMAND_SET_TRACK_SELECTION_PARAMETERS, diff --git a/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaController.aidl b/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaController.aidl index 0f611d7be59..5380bc1215b 100644 --- a/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaController.aidl +++ b/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaController.aidl @@ -81,6 +81,7 @@ interface IRemoteMediaController { void release(String controllerId); void stop(String controllerId); void setTrackSelectionParameters(String controllerId, in Bundle parameters); + void setMediaItemsPreparePlayAddItemsSeek(String controllerId, in List initialMediaItems, in List addedMediaItems, int seekIndex); // MediaBrowser methods Bundle getLibraryRoot(String controllerId, in Bundle libraryParams); diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPlayerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPlayerTest.java index 1d5e92344f1..076643c2a28 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPlayerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionPlayerTest.java @@ -19,19 +19,21 @@ import static androidx.media3.test.session.common.TestUtils.TIMEOUT_MS; import static com.google.common.truth.Truth.assertThat; +import android.os.Handler; +import android.os.HandlerThread; import androidx.media3.common.DeviceInfo; import androidx.media3.common.MediaItem; import androidx.media3.common.MediaMetadata; import androidx.media3.common.PlaybackParameters; import androidx.media3.common.Player; import androidx.media3.common.TrackSelectionParameters; +import androidx.media3.common.util.Util; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.MainLooperTestRule; import androidx.media3.test.session.common.TestUtils; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.LargeTest; -import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.List; import org.junit.After; @@ -58,6 +60,7 @@ public class MediaSessionPlayerTest { private MediaSession session; private MockPlayer player; private RemoteMediaController controller; + private HandlerThread asyncHandlerThread; @Before public void setUp() throws Exception { @@ -66,6 +69,9 @@ public void setUp() throws Exception { .setApplicationLooper(threadTestRule.getHandler().getLooper()) .setMediaItems(/* itemCount= */ 5) .build(); + asyncHandlerThread = new HandlerThread("AsyncHandlerThread"); + asyncHandlerThread.start(); + Handler asyncHandler = new Handler(asyncHandlerThread.getLooper()); session = new MediaSession.Builder(ApplicationProvider.getApplicationContext(), player) .setCallback( @@ -84,7 +90,9 @@ public ListenableFuture> onAddMediaItems( MediaSession mediaSession, MediaSession.ControllerInfo controller, List mediaItems) { - return Futures.immediateFuture(mediaItems); + // Send empty message and return mediaItems once done to simulate asynchronous + // media item resolution. + return Util.postOrRunWithCompletion(asyncHandler, () -> {}, mediaItems); } }) .build(); @@ -97,6 +105,7 @@ public ListenableFuture> onAddMediaItems( public void tearDown() throws Exception { controller.release(); session.release(); + asyncHandlerThread.quit(); } @Test @@ -544,6 +553,26 @@ public void setTrackSelectionParameters() throws Exception { assertThat(player.trackSelectionParameters).isEqualTo(trackSelectionParameters); } + @Test + public void mixedAsyncAndSyncCommands_calledInCorrectOrder() throws Exception { + List initialItems = MediaTestUtils.createMediaItems(/* size= */ 2); + List addedItems = MediaTestUtils.createMediaItems(/* size= */ 3); + + controller.setMediaItemsPreparePlayAddItemsSeek(initialItems, addedItems, /* seekIndex= */ 3); + player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS); + boolean setMediaItemsCalledBeforePrepare = + player.hasMethodBeenCalled(MockPlayer.METHOD_SET_MEDIA_ITEMS); + player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_WITH_MEDIA_ITEM_INDEX, TIMEOUT_MS); + boolean addMediaItemsCalledBeforeSeek = + player.hasMethodBeenCalled(MockPlayer.METHOD_ADD_MEDIA_ITEMS); + + assertThat(setMediaItemsCalledBeforePrepare).isTrue(); + assertThat(addMediaItemsCalledBeforeSeek).isTrue(); + assertThat(player.hasMethodBeenCalled(MockPlayer.METHOD_PLAY)).isTrue(); + assertThat(player.mediaItems).hasSize(5); + assertThat(player.seekMediaItemIndex).isEqualTo(3); + } + private void changePlaybackTypeToRemote() throws Exception { threadTestRule .getHandler() diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaControllerProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaControllerProviderService.java index 7d263e9c71b..dffcada3d38 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaControllerProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaControllerProviderService.java @@ -659,6 +659,26 @@ public void setTrackSelectionParameters(String controllerId, Bundle parameters) }); } + @Override + public void setMediaItemsPreparePlayAddItemsSeek( + String controllerId, + List initialMediaItems, + List addedMediaItems, + int seekIndex) + throws RemoteException { + runOnHandler( + () -> { + MediaController controller = mediaControllerMap.get(controllerId); + controller.setMediaItems( + BundleableUtil.fromBundleList(MediaItem.CREATOR, initialMediaItems)); + controller.prepare(); + controller.play(); + controller.addMediaItems( + BundleableUtil.fromBundleList(MediaItem.CREATOR, addedMediaItems)); + controller.seekTo(seekIndex, /* positionMs= */ 0); + }); + } + //////////////////////////////////////////////////////////////////////////////// // MediaBrowser methods //////////////////////////////////////////////////////////////////////////////// diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaController.java b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaController.java index 6b0449ce251..bf354f1f8df 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaController.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaController.java @@ -292,6 +292,16 @@ public void setTrackSelectionParameters(TrackSelectionParameters parameters) binder.setTrackSelectionParameters(controllerId, parameters.toBundle()); } + public void setMediaItemsPreparePlayAddItemsSeek( + List initialMediaItems, List addedMediaItems, int seekIndex) + throws RemoteException { + binder.setMediaItemsPreparePlayAddItemsSeek( + controllerId, + BundleableUtil.toBundleList(initialMediaItems), + BundleableUtil.toBundleList(addedMediaItems), + seekIndex); + } + //////////////////////////////////////////////////////////////////////////////// // Non-public methods //////////////////////////////////////////////////////////////////////////////// From 62a2d76d00a05afdca68b8410bae395c39fa37cd Mon Sep 17 00:00:00 2001 From: christosts Date: Wed, 20 Jul 2022 11:41:30 +0000 Subject: [PATCH 085/422] Make DefaultMediaNotificationProvider more configurable Add a Builder to constructor DefaultMediaNotificationProvider. The Builder can also set the provider's: - notification ID - notification channel ID - notification channel name The change adds an API for apps to set the small icon in notifications. #minor-release Issue: androidx/media#104 PiperOrigin-RevId: 462111536 (cherry picked from commit 436ff6d86a4b8de5324d3b3b08bb655b75ca6632) --- RELEASENOTES.md | 6 + libraries/session/build.gradle | 1 + .../DefaultMediaNotificationProvider.java | 182 +++++++++++++++--- .../media3/session/MediaSessionService.java | 3 +- .../DefaultMediaNotificationProviderTest.java | 123 +++++++++++- 5 files changed, 281 insertions(+), 34 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 9d6aa87817a..0a2d83b7422 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -19,6 +19,12 @@ * Ensure commands are always executed in the correct order even if some require asynchronous resolution ([#85](https://github.com/androidx/media/issues/85)). + * Add `DefaultNotificationProvider.Builder` to build + `DefaultNotificationProvider` instances. The builder can configure the + notification ID, the notification channel ID and the notification + channel name used by the provider. Also, add method + `DefaultNotificationProvider.setSmallIcon(int)` to set the notifications + small icon ([#104](https://github.com/androidx/media/issues/104)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/session/build.gradle b/libraries/session/build.gradle index 114a98bed6b..ec89bc41dfa 100644 --- a/libraries/session/build.gradle +++ b/libraries/session/build.gradle @@ -32,6 +32,7 @@ android { } dependencies { api project(modulePrefix + 'lib-common') + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion implementation 'androidx.collection:collection:' + androidxCollectionVersion diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 0059a9d99af..4b588cfda7c 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -36,7 +36,9 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; +import androidx.annotation.StringRes; import androidx.core.app.NotificationCompat; import androidx.core.graphics.drawable.IconCompat; import androidx.media.app.NotificationCompat.MediaStyle; @@ -51,6 +53,7 @@ import com.google.common.util.concurrent.FutureCallback; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -89,12 +92,115 @@ *
    • {@code media3_notification_seek_to_previous} - The previous icon. *
    • {@code media3_notification_seek_to_next} - The next icon. *
    • {@code media3_notification_small_icon} - The {@link - * NotificationCompat.Builder#setSmallIcon(int) small icon}. + * NotificationCompat.Builder#setSmallIcon(int) small icon}. A different icon can be set with + * {@link #setSmallIcon(int)}. + * + * + *

      String resources

      + * + * String resources used can be overridden by resources with the same names defined the application. + * These are: + * + *
        + *
      • {@code media3_controls_play_description} - The description of the play icon. + *
      • {@code media3_controls_pause_description} - The description of the pause icon. + *
      • {@code media3_controls_seek_to_previous_description} - The description of the + * previous icon. + *
      • {@code media3_controls_seek_to_next_description} - The description of the next icon. + *
      • {@code default_notification_channel_name} The name of the {@link + * NotificationChannel} on which created notifications are posted. A different string resource + * can be set when constructing the provider with {@link + * DefaultMediaNotificationProvider.Builder#setChannelName(int)}. *
      */ @UnstableApi public class DefaultMediaNotificationProvider implements MediaNotification.Provider { + /** A builder for {@link DefaultMediaNotificationProvider} instances. */ + public static final class Builder { + private final Context context; + private int notificationId; + private String channelId; + @StringRes private int channelNameResourceId; + private BitmapLoader bitmapLoader; + private boolean built; + + /** + * Creates a builder. + * + * @param context Any {@link Context}. + */ + public Builder(Context context) { + this.context = context; + notificationId = DEFAULT_NOTIFICATION_ID; + channelId = DEFAULT_CHANNEL_ID; + channelNameResourceId = DEFAULT_CHANNEL_NAME_RESOURCE_ID; + bitmapLoader = new SimpleBitmapLoader(); + } + + /** + * Sets the {@link MediaNotification#notificationId} used for the created notifications. By + * default this is set to {@link #DEFAULT_NOTIFICATION_ID}. + * + * @param notificationId The notification ID. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setNotificationId(int notificationId) { + this.notificationId = notificationId; + return this; + } + + /** + * Sets the ID of the {@link NotificationChannel} on which created notifications are posted on. + * By default this is set to {@link #DEFAULT_CHANNEL_ID}. + * + * @param channelId The channel ID. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setChannelId(String channelId) { + this.channelId = channelId; + return this; + } + + /** + * Sets the name of the {@link NotificationChannel} on which created notifications are posted + * on. By default this is set to {@link #DEFAULT_CHANNEL_NAME_RESOURCE_ID}. + * + * @param channelNameResourceId The string resource ID with the channel name. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setChannelName(@StringRes int channelNameResourceId) { + this.channelNameResourceId = channelNameResourceId; + return this; + } + + /** + * Sets the {@link BitmapLoader} used load artwork. By default, a {@link SimpleBitmapLoader} + * will be used. + * + * @param bitmapLoader The bitmap loader. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setBitmapLoader(BitmapLoader bitmapLoader) { + this.bitmapLoader = bitmapLoader; + return this; + } + + /** + * Builds the {@link DefaultMediaNotificationProvider}. The method can be called at most once. + */ + public DefaultMediaNotificationProvider build() { + checkState(!built); + DefaultMediaNotificationProvider provider = new DefaultMediaNotificationProvider(this); + built = true; + return provider; + } + } + /** * An extras key that can be used to define the index of a {@link CommandButton} in {@linkplain * Notification.MediaStyle#setShowActionsInCompactView(int...) compact view}. @@ -102,12 +208,27 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi public static final String COMMAND_KEY_COMPACT_VIEW_INDEX = "androidx.media3.session.command.COMPACT_VIEW_INDEX"; + /** The default ID used for the {@link MediaNotification#notificationId}. */ + public static final int DEFAULT_NOTIFICATION_ID = 1001; + /** + * The default ID used for the {@link NotificationChannel} on which created notifications are + * posted on. + */ + public static final String DEFAULT_CHANNEL_ID = "default_channel_id"; + /** + * The default name used for the {@link NotificationChannel} on which created notifications are + * posted on. + */ + @StringRes + public static final int DEFAULT_CHANNEL_NAME_RESOURCE_ID = + R.string.default_notification_channel_name; + private static final String TAG = "NotificationProvider"; - private static final int NOTIFICATION_ID = 1001; - private static final String NOTIFICATION_CHANNEL_ID = "default_channel_id"; - private static final String NOTIFICATION_CHANNEL_NAME = "Now playing"; private final Context context; + private final int notificationId; + private final String channelId; + @StringRes private final int channelNameResourceId; private final NotificationManager notificationManager; private final BitmapLoader bitmapLoader; // Cache the last loaded bitmap to avoid reloading the bitmap again, particularly useful when @@ -116,24 +237,25 @@ public class DefaultMediaNotificationProvider implements MediaNotification.Provi private final Handler mainHandler; private OnBitmapLoadedFutureCallback pendingOnBitmapLoadedFutureCallback; - - /** Creates an instance that uses a {@link SimpleBitmapLoader} for loading artwork images. */ - public DefaultMediaNotificationProvider(Context context) { - this(context, new SimpleBitmapLoader()); - } - - /** Creates an instance that uses the {@code bitmapLoader} for loading artwork images. */ - public DefaultMediaNotificationProvider(Context context, BitmapLoader bitmapLoader) { - this.context = context.getApplicationContext(); - this.bitmapLoader = bitmapLoader; - lastLoadedBitmapInfo = new LoadedBitmapInfo(); - mainHandler = new Handler(Looper.getMainLooper()); + @DrawableRes private int smallIconResourceId; + + private DefaultMediaNotificationProvider(Builder builder) { + this.context = builder.context; + this.notificationId = builder.notificationId; + this.channelId = builder.channelId; + this.channelNameResourceId = builder.channelNameResourceId; + this.bitmapLoader = builder.bitmapLoader; notificationManager = checkStateNotNull( (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)); + lastLoadedBitmapInfo = new LoadedBitmapInfo(); + mainHandler = new Handler(Looper.getMainLooper()); pendingOnBitmapLoadedFutureCallback = new OnBitmapLoadedFutureCallback(bitmap -> {}); + smallIconResourceId = R.drawable.media3_notification_small_icon; } + // MediaNotification.Provider implementation + @Override public final MediaNotification createNotification( MediaSession mediaSession, @@ -143,8 +265,7 @@ public final MediaNotification createNotification( ensureNotificationChannel(); Player player = mediaSession.getPlayer(); - NotificationCompat.Builder builder = - new NotificationCompat.Builder(context, NOTIFICATION_CHANNEL_ID); + NotificationCompat.Builder builder = new NotificationCompat.Builder(context, channelId); MediaStyle mediaStyle = new MediaStyle(); int[] compactViewIndices = @@ -173,7 +294,7 @@ public final MediaNotification createNotification( bitmap -> { builder.setLargeIcon(bitmap); onNotificationChangedCallback.onNotificationChanged( - new MediaNotification(NOTIFICATION_ID, builder.build())); + new MediaNotification(notificationId, builder.build())); }), // This callback must be executed on the next looper iteration, after this method has // returned a media notification. @@ -200,12 +321,12 @@ public final MediaNotification createNotification( .setDeleteIntent( actionFactory.createMediaActionPendingIntent(mediaSession, COMMAND_STOP)) .setOnlyAlertOnce(true) - .setSmallIcon(R.drawable.media3_notification_small_icon) + .setSmallIcon(smallIconResourceId) .setStyle(mediaStyle) .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setOngoing(false) .build(); - return new MediaNotification(NOTIFICATION_ID, notification); + return new MediaNotification(notificationId, notification); } @Override @@ -214,6 +335,18 @@ public final boolean handleCustomCommand(MediaSession session, String action, Bu return false; } + // Other methods + + /** + * Sets the small icon of the notification which is also shown in the system status bar. + * + * @see NotificationCompat.Builder#setSmallIcon(int) + * @param smallIconResourceId The resource id of the small icon. + */ + public final void setSmallIcon(@DrawableRes int smallIconResourceId) { + this.smallIconResourceId = smallIconResourceId; + } + /** * Returns the ordered list of {@linkplain CommandButton command buttons} to be used to build the * notification. @@ -367,13 +500,14 @@ protected int[] addNotificationActions( } private void ensureNotificationChannel() { - if (Util.SDK_INT < 26 - || notificationManager.getNotificationChannel(NOTIFICATION_CHANNEL_ID) != null) { + if (Util.SDK_INT < 26 || notificationManager.getNotificationChannel(channelId) != null) { return; } NotificationChannel channel = new NotificationChannel( - NOTIFICATION_CHANNEL_ID, NOTIFICATION_CHANNEL_NAME, NotificationManager.IMPORTANCE_LOW); + channelId, + context.getString(channelNameResourceId), + NotificationManager.IMPORTANCE_LOW); notificationManager.createNotificationChannel(channel); } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java index 680c8834b90..c5ac3fbddca 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java @@ -433,7 +433,8 @@ private MediaNotificationManager getMediaNotificationManager() { synchronized (lock) { if (mediaNotificationManager == null) { if (mediaNotificationProvider == null) { - mediaNotificationProvider = new DefaultMediaNotificationProvider(getApplicationContext()); + mediaNotificationProvider = + new DefaultMediaNotificationProvider.Builder(getApplicationContext()).build(); } mediaNotificationManager = new MediaNotificationManager( diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index 4cca95092b6..b6555098a72 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -24,10 +24,14 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; +import android.app.NotificationChannel; +import android.app.NotificationManager; +import android.content.Context; import android.net.Uri; import android.os.Bundle; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; +import androidx.media3.common.MediaMetadata; import androidx.media3.common.Player; import androidx.media3.common.Player.Commands; import androidx.test.core.app.ApplicationProvider; @@ -40,6 +44,8 @@ import org.mockito.InOrder; import org.mockito.Mockito; import org.robolectric.Robolectric; +import org.robolectric.Shadows; +import org.robolectric.shadows.ShadowNotificationManager; /** Tests for {@link DefaultMediaNotificationProvider}. */ @RunWith(AndroidJUnit4.class) @@ -48,7 +54,8 @@ public class DefaultMediaNotificationProviderTest { @Test public void getMediaButtons_playWhenReadyTrueOrFalse_correctPlayPauseResources() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); Commands commands = new Commands.Builder().addAllCommands().build(); List mediaButtonsWhenPlaying = @@ -73,7 +80,8 @@ public void getMediaButtons_playWhenReadyTrueOrFalse_correctPlayPauseResources() @Test public void getMediaButtons_allCommandsAvailable_createsPauseSkipNextSkipPreviousButtons() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); Commands commands = new Commands.Builder().addAllCommands().build(); SessionCommand customSessionCommand = new SessionCommand("", Bundle.EMPTY); CommandButton customCommandButton = @@ -98,7 +106,8 @@ public void getMediaButtons_allCommandsAvailable_createsPauseSkipNextSkipPreviou @Test public void getMediaButtons_noPlayerCommandsAvailable_onlyCustomLayoutButtons() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); Commands commands = new Commands.Builder().build(); SessionCommand customSessionCommand = new SessionCommand("action1", Bundle.EMPTY); CommandButton customCommandButton = @@ -118,7 +127,8 @@ public void getMediaButtons_noPlayerCommandsAvailable_onlyCustomLayoutButtons() @Test public void addNotificationActions_customCompactViewDeclarations_correctCompactViewIndices() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); NotificationCompat.Builder mockNotificationBuilder = mock(NotificationCompat.Builder.class); MediaNotification.ActionFactory mockActionFactory = mock(MediaNotification.ActionFactory.class); MediaSession mockMediaSession = mock(MediaSession.class); @@ -185,7 +195,8 @@ public void addNotificationActions_customCompactViewDeclarations_correctCompactV @Test public void addNotificationActions_playPauseCommandNoCustomDeclaration_playPauseInCompactView() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); NotificationCompat.Builder mockNotificationBuilder = mock(NotificationCompat.Builder.class); MediaNotification.ActionFactory mockActionFactory = mock(MediaNotification.ActionFactory.class); MediaSession mockMediaSession = mock(MediaSession.class); @@ -230,7 +241,8 @@ public void addNotificationActions_playPauseCommandNoCustomDeclaration_playPause public void addNotificationActions_noPlayPauseCommandNoCustomDeclaration_emptyCompactViewIndices() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); NotificationCompat.Builder mockNotificationBuilder = mock(NotificationCompat.Builder.class); MediaNotification.ActionFactory mockActionFactory = mock(MediaNotification.ActionFactory.class); MediaSession mockMediaSession = mock(MediaSession.class); @@ -259,7 +271,8 @@ public void addNotificationActions_playPauseCommandNoCustomDeclaration_playPause @Test public void addNotificationActions_outOfBoundsCompactViewIndices_ignored() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); NotificationCompat.Builder mockNotificationBuilder = mock(NotificationCompat.Builder.class); MediaNotification.ActionFactory mockActionFactory = mock(MediaNotification.ActionFactory.class); MediaSession mockMediaSession = mock(MediaSession.class); @@ -304,7 +317,8 @@ public void addNotificationActions_outOfBoundsCompactViewIndices_ignored() { @Test public void addNotificationActions_unsetLeadingArrayFields_cropped() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); NotificationCompat.Builder mockNotificationBuilder = mock(NotificationCompat.Builder.class); MediaNotification.ActionFactory mockActionFactory = mock(MediaNotification.ActionFactory.class); MediaSession mockMediaSession = mock(MediaSession.class); @@ -337,7 +351,8 @@ public void addNotificationActions_unsetLeadingArrayFields_cropped() { @Test public void addNotificationActions_correctNotificationActionAttributes() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = - new DefaultMediaNotificationProvider(ApplicationProvider.getApplicationContext()); + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .build(); NotificationCompat.Builder mockNotificationBuilder = mock(NotificationCompat.Builder.class); DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); @@ -374,6 +389,96 @@ public void addNotificationActions_correctNotificationActionAttributes() { assertThat(actions.get(0).getExtras().size()).isEqualTo(0); } + @Test + public void provider_withCustomIds_notificationsUseCustomIds() { + Context context = ApplicationProvider.getApplicationContext(); + DefaultMediaNotificationProvider defaultMediaNotificationProvider = + new DefaultMediaNotificationProvider.Builder(context) + .setNotificationId(/* notificationId= */ 2) + .setChannelId(/* channelId= */ "customChannelId") + .setChannelName(/* channelNameResourceId= */ R.string.media3_controls_play_description) + .build(); + MediaSession mockMediaSession = createMockMediaSessionForNotification(); + DefaultActionFactory defaultActionFactory = + new DefaultActionFactory(Robolectric.setupService(TestService.class)); + + MediaNotification notification = + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + ImmutableList.of(), + defaultActionFactory, + mock(MediaNotification.Provider.Callback.class)); + + assertThat(notification.notificationId).isEqualTo(2); + assertThat(notification.notification.getChannelId()).isEqualTo("customChannelId"); + ShadowNotificationManager shadowNotificationManager = + Shadows.shadowOf( + (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)); + assertHasNotificationChannel( + shadowNotificationManager.getNotificationChannels(), + /* channelId= */ "customChannelId", + /* channelName= */ context.getString(R.string.media3_controls_play_description)); + } + + @Test + public void setCustomSmallIcon_notificationUsesCustomSmallIcon() { + Context context = ApplicationProvider.getApplicationContext(); + DefaultMediaNotificationProvider defaultMediaNotificationProvider = + new DefaultMediaNotificationProvider.Builder(context).build(); + DefaultActionFactory defaultActionFactory = + new DefaultActionFactory(Robolectric.setupService(TestService.class)); + MediaSession mockMediaSession = createMockMediaSessionForNotification(); + + MediaNotification notification = + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + ImmutableList.of(), + defaultActionFactory, + mock(MediaNotification.Provider.Callback.class)); + // Change the small icon. + defaultMediaNotificationProvider.setSmallIcon(R.drawable.media3_icon_circular_play); + MediaNotification notificationWithSmallIcon = + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + ImmutableList.of(), + defaultActionFactory, + mock(MediaNotification.Provider.Callback.class)); + + assertThat(notification.notification.getSmallIcon().getResId()) + .isEqualTo(R.drawable.media3_notification_small_icon); + assertThat(notificationWithSmallIcon.notification.getSmallIcon().getResId()) + .isEqualTo(R.drawable.media3_icon_circular_play); + } + + private static void assertHasNotificationChannel( + List notificationChannels, String channelId, String channelName) { + boolean found = false; + for (int i = 0; i < notificationChannels.size(); i++) { + NotificationChannel notificationChannel = (NotificationChannel) notificationChannels.get(i); + found = + notificationChannel.getId().equals(channelId) + // NotificationChannel.getName() is CharSequence. Use String#contentEquals instead + // because CharSequence.equals() has undefined behavior. + && channelName.contentEquals(notificationChannel.getName()); + if (found) { + break; + } + } + assertThat(found).isTrue(); + } + + private static MediaSession createMockMediaSessionForNotification() { + Player mockPlayer = mock(Player.class); + when(mockPlayer.getAvailableCommands()).thenReturn(Commands.EMPTY); + when(mockPlayer.getMediaMetadata()).thenReturn(MediaMetadata.EMPTY); + MediaSession mockMediaSession = mock(MediaSession.class); + when(mockMediaSession.getPlayer()).thenReturn(mockPlayer); + MediaSessionImpl mockMediaSessionImpl = mock(MediaSessionImpl.class); + when(mockMediaSession.getImpl()).thenReturn(mockMediaSessionImpl); + when(mockMediaSessionImpl.getUri()).thenReturn(Uri.parse("http://example.com")); + return mockMediaSession; + } + /** A test service for unit tests. */ private static final class TestService extends MediaLibraryService { @Nullable From 33c5aa7a88347e970b6f26f0b4c9550c7792f5fd Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 20 Jul 2022 13:47:47 +0000 Subject: [PATCH 086/422] Rename seq to sequenceNumber in MediaSessionStub "seq" is not a well-defined abbreviation and the value is also an integer, so sequenceNumber is better than just sequence. PiperOrigin-RevId: 462129581 (cherry picked from commit 4a4a74edffe39fbb745513a42235a523da7bb185) --- .../media3/session/MediaSessionStub.java | 410 ++++++++++-------- 1 file changed, 225 insertions(+), 185 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index d895208b0b8..1f40a89885c 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -120,9 +120,10 @@ public ConnectedControllersManager getConnectedControllersManager() { return connectedControllersManager; } - private static void sendSessionResult(ControllerInfo controller, int seq, SessionResult result) { + private static void sendSessionResult( + ControllerInfo controller, int sequenceNumber, SessionResult result) { try { - checkStateNotNull(controller.getControllerCb()).onSessionResult(seq, result); + checkStateNotNull(controller.getControllerCb()).onSessionResult(sequenceNumber, result); } catch (RemoteException e) { Log.w(TAG, "Failed to send result to controller " + controller, e); } @@ -131,12 +132,13 @@ private static void sendSessionResult(ControllerInfo controller, int seq, Sessio private static SessionTask, K> sendSessionResultSuccess( Consumer task) { - return (sessionImpl, controller, sequence) -> { + return (sessionImpl, controller, sequenceNumber) -> { if (sessionImpl.isReleased()) { return Futures.immediateVoidFuture(); } task.accept(sessionImpl.getPlayerWrapper()); - sendSessionResult(controller, sequence, new SessionResult(SessionResult.RESULT_SUCCESS)); + sendSessionResult( + controller, sequenceNumber, new SessionResult(SessionResult.RESULT_SUCCESS)); return Futures.immediateVoidFuture(); }; } @@ -144,11 +146,11 @@ SessionTask, K> sendSessionResultSuccess( private static SessionTask, K> sendSessionResultWhenReady( SessionTask, K> task) { - return (sessionImpl, controller, sequence) -> + return (sessionImpl, controller, sequenceNumber) -> handleSessionTaskWhenReady( sessionImpl, controller, - sequence, + sequenceNumber, task, future -> { SessionResult result; @@ -163,7 +165,7 @@ SessionTask, K> sendSessionResultWhenReady( ? SessionResult.RESULT_ERROR_NOT_SUPPORTED : SessionResult.RESULT_ERROR_UNKNOWN); } - sendSessionResult(controller, sequence, result); + sendSessionResult(controller, sequenceNumber, result); }); } @@ -171,13 +173,13 @@ SessionTask, K> sendSessionResultWhenReady( SessionTask, K> handleMediaItemsWhenReady( SessionTask>, K> mediaItemsTask, MediaItemPlayerTask mediaItemPlayerTask) { - return (sessionImpl, controller, sequence) -> { + return (sessionImpl, controller, sequenceNumber) -> { if (sessionImpl.isReleased()) { return Futures.immediateFuture( new SessionResult(SessionResult.RESULT_ERROR_SESSION_DISCONNECTED)); } return transformFutureAsync( - mediaItemsTask.run(sessionImpl, controller, sequence), + mediaItemsTask.run(sessionImpl, controller, sequenceNumber), mediaItems -> postOrRunWithCompletion( sessionImpl.getApplicationHandler(), @@ -191,9 +193,9 @@ SessionTask, K> handleMediaItemsWhenReady( } private static void sendLibraryResult( - ControllerInfo controller, int seq, LibraryResult result) { + ControllerInfo controller, int sequenceNumber, LibraryResult result) { try { - checkStateNotNull(controller.getControllerCb()).onLibraryResult(seq, result); + checkStateNotNull(controller.getControllerCb()).onLibraryResult(sequenceNumber, result); } catch (RemoteException e) { Log.w(TAG, "Failed to send result to browser " + controller, e); } @@ -202,11 +204,11 @@ private static void sendLibraryResult( private static SessionTask, K> sendLibraryResultWhenReady( SessionTask>, K> task) { - return (sessionImpl, controller, sequence) -> + return (sessionImpl, controller, sequenceNumber) -> handleSessionTaskWhenReady( sessionImpl, controller, - sequence, + sequenceNumber, task, future -> { LibraryResult result; @@ -217,13 +219,13 @@ SessionTask, K> sendLibraryResultWhenReady( } catch (ExecutionException | InterruptedException unused) { result = LibraryResult.ofError(LibraryResult.RESULT_ERROR_UNKNOWN); } - sendLibraryResult(controller, sequence, result); + sendLibraryResult(controller, sequenceNumber, result); }); } private void queueSessionTaskWithPlayerCommand( IMediaController caller, - int seq, + int sequenceNumber, @Player.Command int command, SessionTask, K> task) { long token = Binder.clearCallingIdentity(); @@ -244,21 +246,23 @@ private void queueSessionTaskWithPlayerCommand( () -> { if (!connectedControllersManager.isPlayerCommandAvailable(controller, command)) { sendSessionResult( - controller, seq, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); + controller, + sequenceNumber, + new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); return; } @SessionResult.Code int resultCode = sessionImpl.onPlayerCommandRequestOnHandler(controller, command); if (resultCode != SessionResult.RESULT_SUCCESS) { // Don't run rejected command. - sendSessionResult(controller, seq, new SessionResult(resultCode)); + sendSessionResult(controller, sequenceNumber, new SessionResult(resultCode)); return; } if (command == COMMAND_SET_VIDEO_SURFACE) { - task.run(sessionImpl, controller, seq); + task.run(sessionImpl, controller, sequenceNumber); } else { connectedControllersManager.addToCommandQueue( - controller, () -> task.run(sessionImpl, controller, seq)); + controller, () -> task.run(sessionImpl, controller, sequenceNumber)); } }); } finally { @@ -268,24 +272,25 @@ private void queueSessionTaskWithPlayerCommand( private void dispatchSessionTaskWithSessionCommand( IMediaController caller, - int seq, + int sequenceNumber, @CommandCode int commandCode, SessionTask, K> task) { dispatchSessionTaskWithSessionCommand( - caller, seq, /* sessionCommand= */ null, commandCode, task); + caller, sequenceNumber, /* sessionCommand= */ null, commandCode, task); } private void dispatchSessionTaskWithSessionCommand( IMediaController caller, - int seq, + int sequenceNumber, SessionCommand sessionCommand, SessionTask, K> task) { - dispatchSessionTaskWithSessionCommand(caller, seq, sessionCommand, COMMAND_CODE_CUSTOM, task); + dispatchSessionTaskWithSessionCommand( + caller, sequenceNumber, sessionCommand, COMMAND_CODE_CUSTOM, task); } private void dispatchSessionTaskWithSessionCommand( IMediaController caller, - int seq, + int sequenceNumber, @Nullable SessionCommand sessionCommand, @CommandCode int commandCode, SessionTask, K> task) { @@ -313,7 +318,7 @@ private void dispatchSessionTaskWithSessionCommand( controller, sessionCommand)) { sendSessionResult( controller, - seq, + sequenceNumber, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); return; } @@ -321,12 +326,12 @@ private void dispatchSessionTaskWithSessionCommand( if (!connectedControllersManager.isSessionCommandAvailable(controller, commandCode)) { sendSessionResult( controller, - seq, + sequenceNumber, new SessionResult(SessionResult.RESULT_ERROR_PERMISSION_DENIED)); return; } } - task.run(sessionImpl, controller, seq); + task.run(sessionImpl, controller, sequenceNumber); }); } finally { Binder.restoreCallingIdentity(token); @@ -336,13 +341,13 @@ private void dispatchSessionTaskWithSessionCommand( private static ListenableFuture handleSessionTaskWhenReady( K sessionImpl, ControllerInfo controller, - int sequence, + int sequenceNumber, SessionTask, K> task, Consumer> futureResultHandler) { if (sessionImpl.isReleased()) { return Futures.immediateVoidFuture(); } - ListenableFuture future = task.run(sessionImpl, controller, sequence); + ListenableFuture future = task.run(sessionImpl, controller, sequenceNumber); SettableFuture outputFuture = SettableFuture.create(); future.addListener( () -> { @@ -503,7 +508,9 @@ public void release() { @Override public void connect( - @Nullable IMediaController caller, int seq, @Nullable Bundle connectionRequestBundle) + @Nullable IMediaController caller, + int sequenceNumber, + @Nullable Bundle connectionRequestBundle) throws RuntimeException { if (caller == null || connectionRequestBundle == null) { return; @@ -529,16 +536,17 @@ public void connect( } @Override - public void stop(@Nullable IMediaController caller, int seq) throws RemoteException { + public void stop(@Nullable IMediaController caller, int sequenceNumber) throws RemoteException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_STOP, sendSessionResultSuccess(Player::stop)); + caller, sequenceNumber, COMMAND_STOP, sendSessionResultSuccess(Player::stop)); } @Override - public void release(@Nullable IMediaController caller, int seq) throws RemoteException { + public void release(@Nullable IMediaController caller, int sequenceNumber) + throws RemoteException { if (caller == null) { return; } @@ -552,7 +560,7 @@ public void release(@Nullable IMediaController caller, int seq) throws RemoteExc @Override public void onControllerResult( - @Nullable IMediaController caller, int seq, @Nullable Bundle sessionResultBundle) { + @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle sessionResultBundle) { if (caller == null || sessionResultBundle == null) { return; } @@ -571,113 +579,117 @@ public void onControllerResult( if (manager == null) { return; } - manager.setFutureResult(seq, result); + manager.setFutureResult(sequenceNumber, result); } finally { Binder.restoreCallingIdentity(token); } } @Override - public void play(@Nullable IMediaController caller, int seq) throws RuntimeException { + public void play(@Nullable IMediaController caller, int sequenceNumber) throws RuntimeException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::play)); + caller, sequenceNumber, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::play)); } @Override - public void pause(@Nullable IMediaController caller, int seq) throws RuntimeException { + public void pause(@Nullable IMediaController caller, int sequenceNumber) throws RuntimeException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::pause)); + caller, sequenceNumber, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(Player::pause)); } @Override - public void prepare(@Nullable IMediaController caller, int seq) throws RuntimeException { + public void prepare(@Nullable IMediaController caller, int sequenceNumber) + throws RuntimeException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_PREPARE, sendSessionResultSuccess(Player::prepare)); + caller, sequenceNumber, COMMAND_PREPARE, sendSessionResultSuccess(Player::prepare)); } @Override - public void seekToDefaultPosition(IMediaController caller, int seq) { + public void seekToDefaultPosition(IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SEEK_TO_DEFAULT_POSITION, sendSessionResultSuccess(Player::seekToDefaultPosition)); } @Override public void seekToDefaultPositionWithMediaItemIndex( - IMediaController caller, int seq, int mediaItemIndex) throws RemoteException { + IMediaController caller, int sequenceNumber, int mediaItemIndex) throws RemoteException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SEEK_TO_MEDIA_ITEM, sendSessionResultSuccess(player -> player.seekToDefaultPosition(mediaItemIndex))); } @Override - public void seekTo(@Nullable IMediaController caller, int seq, long positionMs) + public void seekTo(@Nullable IMediaController caller, int sequenceNumber, long positionMs) throws RuntimeException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SEEK_IN_CURRENT_MEDIA_ITEM, sendSessionResultSuccess(player -> player.seekTo(positionMs))); } @Override public void seekToWithMediaItemIndex( - IMediaController caller, int seq, int mediaItemIndex, long positionMs) + IMediaController caller, int sequenceNumber, int mediaItemIndex, long positionMs) throws RemoteException { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SEEK_TO_MEDIA_ITEM, sendSessionResultSuccess(player -> player.seekTo(mediaItemIndex, positionMs))); } @Override - public void seekBack(IMediaController caller, int seq) { + public void seekBack(IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_SEEK_BACK, sendSessionResultSuccess(Player::seekBack)); + caller, sequenceNumber, COMMAND_SEEK_BACK, sendSessionResultSuccess(Player::seekBack)); } @Override - public void seekForward(IMediaController caller, int seq) { + public void seekForward(IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_SEEK_FORWARD, sendSessionResultSuccess(Player::seekForward)); + caller, + sequenceNumber, + COMMAND_SEEK_FORWARD, + sendSessionResultSuccess(Player::seekForward)); } @Override public void onCustomCommand( @Nullable IMediaController caller, - int seq, + int sequenceNumber, @Nullable Bundle commandBundle, @Nullable Bundle args) { if (caller == null || commandBundle == null || args == null) { @@ -692,16 +704,19 @@ public void onCustomCommand( } dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, command, sendSessionResultWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onCustomCommandOnHandler(controller, command, args))); } @Override public void setRatingWithMediaId( - @Nullable IMediaController caller, int seq, String mediaId, @Nullable Bundle ratingBundle) { + @Nullable IMediaController caller, + int sequenceNumber, + String mediaId, + @Nullable Bundle ratingBundle) { if (caller == null || ratingBundle == null) { return; } @@ -718,15 +733,16 @@ public void setRatingWithMediaId( } dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_SESSION_SET_RATING, sendSessionResultWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onSetRatingOnHandler(controller, mediaId, rating))); } @Override - public void setRating(@Nullable IMediaController caller, int seq, @Nullable Bundle ratingBundle) { + public void setRating( + @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle ratingBundle) { if (caller == null || ratingBundle == null) { return; } @@ -739,28 +755,28 @@ public void setRating(@Nullable IMediaController caller, int seq, @Nullable Bund } dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_SESSION_SET_RATING, sendSessionResultWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onSetRatingOnHandler(controller, rating))); } @Override - public void setPlaybackSpeed(@Nullable IMediaController caller, int seq, float speed) { + public void setPlaybackSpeed(@Nullable IMediaController caller, int sequenceNumber, float speed) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_SPEED_AND_PITCH, sendSessionResultSuccess(player -> player.setPlaybackSpeed(speed))); } @Override public void setPlaybackParameters( - @Nullable IMediaController caller, int seq, Bundle playbackParametersBundle) { + @Nullable IMediaController caller, int sequenceNumber, Bundle playbackParametersBundle) { if (caller == null || playbackParametersBundle == null) { return; } @@ -768,14 +784,14 @@ public void setPlaybackParameters( PlaybackParameters.CREATOR.fromBundle(playbackParametersBundle); queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_SPEED_AND_PITCH, sendSessionResultSuccess(player -> player.setPlaybackParameters(playbackParameters))); } @Override public void setMediaItem( - @Nullable IMediaController caller, int seq, @Nullable Bundle mediaItemBundle) { + @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle mediaItemBundle) { if (caller == null || mediaItemBundle == null) { return; } @@ -788,11 +804,11 @@ public void setMediaItem( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_MEDIA_ITEM, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), Player::setMediaItems))); } @@ -800,7 +816,7 @@ public void setMediaItem( @Override public void setMediaItemWithStartPosition( @Nullable IMediaController caller, - int seq, + int sequenceNumber, @Nullable Bundle mediaItemBundle, long startPositionMs) { if (caller == null || mediaItemBundle == null) { @@ -815,11 +831,11 @@ public void setMediaItemWithStartPosition( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_MEDIA_ITEM, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), (player, mediaItems) -> player.setMediaItems(mediaItems, /* startIndex= */ 0, startPositionMs)))); @@ -828,7 +844,7 @@ public void setMediaItemWithStartPosition( @Override public void setMediaItemWithResetPosition( @Nullable IMediaController caller, - int seq, + int sequenceNumber, @Nullable Bundle mediaItemBundle, boolean resetPosition) { if (caller == null || mediaItemBundle == null) { @@ -843,18 +859,20 @@ public void setMediaItemWithResetPosition( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_MEDIA_ITEM, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition)))); } @Override public void setMediaItems( - @Nullable IMediaController caller, int seq, @Nullable IBinder mediaItemsRetriever) { + @Nullable IMediaController caller, + int sequenceNumber, + @Nullable IBinder mediaItemsRetriever) { if (caller == null || mediaItemsRetriever == null) { return; } @@ -870,11 +888,11 @@ public void setMediaItems( queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), Player::setMediaItems))); } @@ -882,7 +900,7 @@ public void setMediaItems( @Override public void setMediaItemsWithResetPosition( @Nullable IMediaController caller, - int seq, + int sequenceNumber, @Nullable IBinder mediaItemsRetriever, boolean resetPosition) { if (caller == null || mediaItemsRetriever == null) { @@ -899,11 +917,11 @@ public void setMediaItemsWithResetPosition( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), (player, mediaItems) -> player.setMediaItems(mediaItems, resetPosition)))); } @@ -911,7 +929,7 @@ public void setMediaItemsWithResetPosition( @Override public void setMediaItemsWithStartIndex( @Nullable IMediaController caller, - int seq, + int sequenceNumber, @Nullable IBinder mediaItemsRetriever, int startIndex, long startPositionMs) { @@ -929,11 +947,11 @@ public void setMediaItemsWithStartIndex( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItemList), (player, mediaItems) -> player.setMediaItems(mediaItems, startIndex, startPositionMs)))); @@ -941,7 +959,9 @@ public void setMediaItemsWithStartIndex( @Override public void setPlaylistMetadata( - @Nullable IMediaController caller, int seq, @Nullable Bundle playlistMetadataBundle) { + @Nullable IMediaController caller, + int sequenceNumber, + @Nullable Bundle playlistMetadataBundle) { if (caller == null || playlistMetadataBundle == null) { return; } @@ -954,13 +974,14 @@ public void setPlaylistMetadata( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_MEDIA_ITEMS_METADATA, sendSessionResultSuccess(player -> player.setPlaylistMetadata(playlistMetadata))); } @Override - public void addMediaItem(@Nullable IMediaController caller, int seq, Bundle mediaItemBundle) { + public void addMediaItem( + @Nullable IMediaController caller, int sequenceNumber, Bundle mediaItemBundle) { if (caller == null || mediaItemBundle == null) { return; } @@ -973,18 +994,18 @@ public void addMediaItem(@Nullable IMediaController caller, int seq, Bundle medi } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), Player::addMediaItems))); } @Override public void addMediaItemWithIndex( - @Nullable IMediaController caller, int seq, int index, Bundle mediaItemBundle) { + @Nullable IMediaController caller, int sequenceNumber, int index, Bundle mediaItemBundle) { if (caller == null || mediaItemBundle == null) { return; } @@ -997,18 +1018,20 @@ public void addMediaItemWithIndex( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, ImmutableList.of(mediaItem)), (player, mediaItems) -> player.addMediaItems(index, mediaItems)))); } @Override public void addMediaItems( - @Nullable IMediaController caller, int seq, @Nullable IBinder mediaItemsRetriever) { + @Nullable IMediaController caller, + int sequenceNumber, + @Nullable IBinder mediaItemsRetriever) { if (caller == null || mediaItemsRetriever == null) { return; } @@ -1023,11 +1046,11 @@ public void addMediaItems( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), Player::addMediaItems))); } @@ -1035,7 +1058,7 @@ public void addMediaItems( @Override public void addMediaItemsWithIndex( @Nullable IMediaController caller, - int seq, + int sequenceNumber, int index, @Nullable IBinder mediaItemsRetriever) { if (caller == null || mediaItemsRetriever == null) { @@ -1052,224 +1075,235 @@ public void addMediaItemsWithIndex( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultWhenReady( handleMediaItemsWhenReady( - (sessionImpl, controller, sequence) -> + (sessionImpl, controller, sequenceNum) -> sessionImpl.onAddMediaItemsOnHandler(controller, mediaItems), (player, items) -> player.addMediaItems(index, items)))); } @Override - public void removeMediaItem(@Nullable IMediaController caller, int seq, int index) { + public void removeMediaItem(@Nullable IMediaController caller, int sequenceNumber, int index) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(player -> player.removeMediaItem(index))); } @Override public void removeMediaItems( - @Nullable IMediaController caller, int seq, int fromIndex, int toIndex) { + @Nullable IMediaController caller, int sequenceNumber, int fromIndex, int toIndex) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(player -> player.removeMediaItems(fromIndex, toIndex))); } @Override - public void clearMediaItems(@Nullable IMediaController caller, int seq) { + public void clearMediaItems(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(Player::clearMediaItems)); + caller, + sequenceNumber, + COMMAND_CHANGE_MEDIA_ITEMS, + sendSessionResultSuccess(Player::clearMediaItems)); } @Override public void moveMediaItem( - @Nullable IMediaController caller, int seq, int currentIndex, int newIndex) { + @Nullable IMediaController caller, int sequenceNumber, int currentIndex, int newIndex) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(player -> player.moveMediaItem(currentIndex, newIndex))); } @Override public void moveMediaItems( - @Nullable IMediaController caller, int seq, int fromIndex, int toIndex, int newIndex) { + @Nullable IMediaController caller, + int sequenceNumber, + int fromIndex, + int toIndex, + int newIndex) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_CHANGE_MEDIA_ITEMS, sendSessionResultSuccess(player -> player.moveMediaItems(fromIndex, toIndex, newIndex))); } @Override - public void seekToPreviousMediaItem(@Nullable IMediaController caller, int seq) { + public void seekToPreviousMediaItem(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM, sendSessionResultSuccess(Player::seekToPreviousMediaItem)); } @Override - public void seekToNextMediaItem(@Nullable IMediaController caller, int seq) { + public void seekToNextMediaItem(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, sendSessionResultSuccess(Player::seekToNextMediaItem)); } @Override - public void seekToPrevious(@Nullable IMediaController caller, int seq) { + public void seekToPrevious(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_SEEK_TO_PREVIOUS, sendSessionResultSuccess(Player::seekToPrevious)); + caller, + sequenceNumber, + COMMAND_SEEK_TO_PREVIOUS, + sendSessionResultSuccess(Player::seekToPrevious)); } @Override - public void seekToNext(@Nullable IMediaController caller, int seq) { + public void seekToNext(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( - caller, seq, COMMAND_SEEK_TO_NEXT, sendSessionResultSuccess(Player::seekToNext)); + caller, sequenceNumber, COMMAND_SEEK_TO_NEXT, sendSessionResultSuccess(Player::seekToNext)); } @Override public void setRepeatMode( - @Nullable IMediaController caller, int seq, @Player.RepeatMode int repeatMode) { + @Nullable IMediaController caller, int sequenceNumber, @Player.RepeatMode int repeatMode) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_REPEAT_MODE, sendSessionResultSuccess(player -> player.setRepeatMode(repeatMode))); } @Override public void setShuffleModeEnabled( - @Nullable IMediaController caller, int seq, boolean shuffleModeEnabled) { + @Nullable IMediaController caller, int sequenceNumber, boolean shuffleModeEnabled) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_SHUFFLE_MODE, sendSessionResultSuccess(player -> player.setShuffleModeEnabled(shuffleModeEnabled))); } @Override public void setVideoSurface( - @Nullable IMediaController caller, int seq, @Nullable Surface surface) { + @Nullable IMediaController caller, int sequenceNumber, @Nullable Surface surface) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_VIDEO_SURFACE, sendSessionResultSuccess(player -> player.setVideoSurface(surface))); } @Override - public void setVolume(@Nullable IMediaController caller, int seq, float volume) { + public void setVolume(@Nullable IMediaController caller, int sequenceNumber, float volume) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_VOLUME, sendSessionResultSuccess(player -> player.setVolume(volume))); } @Override - public void setDeviceVolume(@Nullable IMediaController caller, int seq, int volume) { + public void setDeviceVolume(@Nullable IMediaController caller, int sequenceNumber, int volume) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_DEVICE_VOLUME, sendSessionResultSuccess(player -> player.setDeviceVolume(volume))); } @Override - public void increaseDeviceVolume(@Nullable IMediaController caller, int seq) { + public void increaseDeviceVolume(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_ADJUST_DEVICE_VOLUME, sendSessionResultSuccess(Player::increaseDeviceVolume)); } @Override - public void decreaseDeviceVolume(@Nullable IMediaController caller, int seq) { + public void decreaseDeviceVolume(@Nullable IMediaController caller, int sequenceNumber) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_ADJUST_DEVICE_VOLUME, sendSessionResultSuccess(Player::decreaseDeviceVolume)); } @Override - public void setDeviceMuted(@Nullable IMediaController caller, int seq, boolean muted) { + public void setDeviceMuted(@Nullable IMediaController caller, int sequenceNumber, boolean muted) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_DEVICE_VOLUME, sendSessionResultSuccess(player -> player.setDeviceMuted(muted))); } @Override - public void setPlayWhenReady(@Nullable IMediaController caller, int seq, boolean playWhenReady) { + public void setPlayWhenReady( + @Nullable IMediaController caller, int sequenceNumber, boolean playWhenReady) { if (caller == null) { return; } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_PLAY_PAUSE, sendSessionResultSuccess(player -> player.setPlayWhenReady(playWhenReady))); } @@ -1298,7 +1332,7 @@ public void flushCommandQueue(@Nullable IMediaController caller) { @Override public void setTrackSelectionParameters( - @Nullable IMediaController caller, int seq, Bundle trackSelectionParametersBundle) + @Nullable IMediaController caller, int sequenceNumber, Bundle trackSelectionParametersBundle) throws RemoteException { if (caller == null) { return; @@ -1313,7 +1347,7 @@ public void setTrackSelectionParameters( } queueSessionTaskWithPlayerCommand( caller, - seq, + sequenceNumber, COMMAND_SET_TRACK_SELECTION_PARAMETERS, sendSessionResultSuccess( player -> player.setTrackSelectionParameters(trackSelectionParameters))); @@ -1325,7 +1359,7 @@ public void setTrackSelectionParameters( @Override public void getLibraryRoot( - @Nullable IMediaController caller, int seq, @Nullable Bundle libraryParamsBundle) + @Nullable IMediaController caller, int sequenceNumber, @Nullable Bundle libraryParamsBundle) throws RuntimeException { if (caller == null) { return; @@ -1335,15 +1369,16 @@ public void getLibraryRoot( libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onGetLibraryRootOnHandler(controller, libraryParams))); } @Override - public void getItem(@Nullable IMediaController caller, int seq, @Nullable String mediaId) + public void getItem( + @Nullable IMediaController caller, int sequenceNumber, @Nullable String mediaId) throws RuntimeException { if (caller == null) { return; @@ -1354,17 +1389,17 @@ public void getItem(@Nullable IMediaController caller, int seq, @Nullable String } dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_GET_ITEM, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onGetItemOnHandler(controller, mediaId))); } @Override public void getChildren( @Nullable IMediaController caller, - int seq, + int sequenceNumber, String parentId, int page, int pageSize, @@ -1390,10 +1425,10 @@ public void getChildren( libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_GET_CHILDREN, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onGetChildrenOnHandler( controller, parentId, page, pageSize, libraryParams))); } @@ -1401,7 +1436,7 @@ public void getChildren( @Override public void search( @Nullable IMediaController caller, - int seq, + int sequenceNumber, String query, @Nullable Bundle libraryParamsBundle) { if (caller == null) { @@ -1416,17 +1451,17 @@ public void search( libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_SEARCH, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onSearchOnHandler(controller, query, libraryParams))); } @Override public void getSearchResult( @Nullable IMediaController caller, - int seq, + int sequenceNumber, String query, int page, int pageSize, @@ -1451,10 +1486,10 @@ public void getSearchResult( libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onGetSearchResultOnHandler( controller, query, page, pageSize, libraryParams))); } @@ -1462,7 +1497,7 @@ public void getSearchResult( @Override public void subscribe( @Nullable IMediaController caller, - int seq, + int sequenceNumber, String parentId, @Nullable Bundle libraryParamsBundle) { if (caller == null) { @@ -1477,15 +1512,15 @@ public void subscribe( libraryParamsBundle == null ? null : LibraryParams.CREATOR.fromBundle(libraryParamsBundle); dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_SUBSCRIBE, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onSubscribeOnHandler(controller, parentId, libraryParams))); } @Override - public void unsubscribe(@Nullable IMediaController caller, int seq, String parentId) { + public void unsubscribe(@Nullable IMediaController caller, int sequenceNumber, String parentId) { if (caller == null) { return; } @@ -1495,16 +1530,16 @@ public void unsubscribe(@Nullable IMediaController caller, int seq, String paren } dispatchSessionTaskWithSessionCommand( caller, - seq, + sequenceNumber, COMMAND_CODE_LIBRARY_UNSUBSCRIBE, sendLibraryResultWhenReady( - (librarySessionImpl, controller, sequence) -> + (librarySessionImpl, controller, sequenceNum) -> librarySessionImpl.onUnsubscribeOnHandler(controller, parentId))); } /** Common interface for code snippets to handle all incoming commands from the controller. */ private interface SessionTask { - T run(K sessionImpl, ControllerInfo controller, int seq); + T run(K sessionImpl, ControllerInfo controller, int sequenceNumber); } private interface MediaItemPlayerTask { @@ -1524,18 +1559,19 @@ public IBinder getCallbackBinder() { } @Override - public void onSessionResult(int seq, SessionResult result) throws RemoteException { - iController.onSessionResult(seq, result.toBundle()); + public void onSessionResult(int sequenceNumber, SessionResult result) throws RemoteException { + iController.onSessionResult(sequenceNumber, result.toBundle()); } @Override - public void onLibraryResult(int seq, LibraryResult result) throws RemoteException { - iController.onLibraryResult(seq, result.toBundle()); + public void onLibraryResult(int sequenceNumber, LibraryResult result) + throws RemoteException { + iController.onLibraryResult(sequenceNumber, result.toBundle()); } @Override public void onPlayerInfoChanged( - int seq, + int sequenceNumber, PlayerInfo playerInfo, boolean excludeMediaItems, boolean excludeMediaItemsMetadata, @@ -1544,7 +1580,7 @@ public void onPlayerInfoChanged( boolean excludeTracks) throws RemoteException { iController.onPlayerInfoChanged( - seq, + sequenceNumber, playerInfo.toBundle( excludeMediaItems, excludeMediaItemsMetadata, @@ -1555,67 +1591,71 @@ public void onPlayerInfoChanged( } @Override - public void setCustomLayout(int seq, List layout) throws RemoteException { - iController.onSetCustomLayout(seq, BundleableUtil.toBundleList(layout)); + public void setCustomLayout(int sequenceNumber, List layout) + throws RemoteException { + iController.onSetCustomLayout(sequenceNumber, BundleableUtil.toBundleList(layout)); } @Override public void onAvailableCommandsChangedFromSession( - int seq, SessionCommands sessionCommands, Player.Commands playerCommands) + int sequenceNumber, SessionCommands sessionCommands, Player.Commands playerCommands) throws RemoteException { iController.onAvailableCommandsChangedFromSession( - seq, sessionCommands.toBundle(), playerCommands.toBundle()); + sequenceNumber, sessionCommands.toBundle(), playerCommands.toBundle()); } @Override - public void onAvailableCommandsChangedFromPlayer(int seq, Player.Commands availableCommands) - throws RemoteException { - iController.onAvailableCommandsChangedFromPlayer(seq, availableCommands.toBundle()); + public void onAvailableCommandsChangedFromPlayer( + int sequenceNumber, Player.Commands availableCommands) throws RemoteException { + iController.onAvailableCommandsChangedFromPlayer( + sequenceNumber, availableCommands.toBundle()); } @Override - public void sendCustomCommand(int seq, SessionCommand command, Bundle args) + public void sendCustomCommand(int sequenceNumber, SessionCommand command, Bundle args) throws RemoteException { - iController.onCustomCommand(seq, command.toBundle(), args); + iController.onCustomCommand(sequenceNumber, command.toBundle(), args); } @SuppressWarnings("nullness:argument") // params can be null. @Override public void onChildrenChanged( - int seq, String parentId, int itemCount, @Nullable LibraryParams params) + int sequenceNumber, String parentId, int itemCount, @Nullable LibraryParams params) throws RemoteException { iController.onChildrenChanged( - seq, parentId, itemCount, params == null ? null : params.toBundle()); + sequenceNumber, parentId, itemCount, params == null ? null : params.toBundle()); } @SuppressWarnings("nullness:argument") // params can be null. @Override public void onSearchResultChanged( - int seq, String query, int itemCount, @Nullable LibraryParams params) + int sequenceNumber, String query, int itemCount, @Nullable LibraryParams params) throws RemoteException { iController.onSearchResultChanged( - seq, query, itemCount, params == null ? null : params.toBundle()); + sequenceNumber, query, itemCount, params == null ? null : params.toBundle()); } @Override - public void onDisconnected(int seq) throws RemoteException { - iController.onDisconnected(seq); + public void onDisconnected(int sequenceNumber) throws RemoteException { + iController.onDisconnected(sequenceNumber); } @Override public void onPeriodicSessionPositionInfoChanged( - int seq, SessionPositionInfo sessionPositionInfo) throws RemoteException { - iController.onPeriodicSessionPositionInfoChanged(seq, sessionPositionInfo.toBundle()); + int sequenceNumber, SessionPositionInfo sessionPositionInfo) throws RemoteException { + iController.onPeriodicSessionPositionInfoChanged( + sequenceNumber, sessionPositionInfo.toBundle()); } @Override - public void onRenderedFirstFrame(int seq) throws RemoteException { - iController.onRenderedFirstFrame(seq); + public void onRenderedFirstFrame(int sequenceNumber) throws RemoteException { + iController.onRenderedFirstFrame(sequenceNumber); } @Override - public void onSessionExtrasChanged(int seq, Bundle sessionExtras) throws RemoteException { - iController.onExtrasChanged(seq, sessionExtras); + public void onSessionExtrasChanged(int sequenceNumber, Bundle sessionExtras) + throws RemoteException { + iController.onExtrasChanged(sequenceNumber, sessionExtras); } @Override From e959af40f126513f64502182e468ecad2033fce3 Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 20 Jul 2022 21:38:10 +0000 Subject: [PATCH 087/422] Add ContrastProcessor for contrast adjustments. PiperOrigin-RevId: 462232813 (cherry picked from commit 714edc93be549f93194ad0a1d7e187c32b49d1e8) --- .../transformer/ConfigurationActivity.java | 1 + .../demo/transformer/TransformerActivity.java | 5 + .../{sample_mp4_first_frame => }/README.md | 4 +- .../exoplayer_logo/maximum_contrast.png | Bin 0 -> 5825 bytes .../media/bitmap/exoplayer_logo/original.png | Bin 0 -> 15323 bytes .../media3/transformer/BitmapTestUtil.java | 12 + .../ContrastProcessorPixelTest.java | 251 ++++++++++++++++++ .../shaders/fragment_shader_contrast_es2.glsl | 33 +++ .../androidx/media3/transformer/Contrast.java | 47 ++++ .../media3/transformer/ContrastProcessor.java | 78 ++++++ 10 files changed, 428 insertions(+), 3 deletions(-) rename libraries/test_data/src/test/assets/media/bitmap/{sample_mp4_first_frame => }/README.md (87%) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/maximum_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/original.png create mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java create mode 100644 libraries/transformer/src/main/assets/shaders/fragment_shader_contrast_es2.glsl create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index d7ee8a7e895..3f21bcdcfb7 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -104,6 +104,7 @@ public final class ConfigurationActivity extends AppCompatActivity { "3D spin", "Overlay logo & timer", "Zoom in start", + "Increase contrast" }; private static final int PERIODIC_VIGNETTE_INDEX = 2; private static final String SAME_AS_INPUT_OPTION = "same as input"; diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index a8c1671573e..bd622f7dd06 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -41,6 +41,7 @@ import androidx.media3.common.util.Util; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.util.DebugTextViewHelper; +import androidx.media3.transformer.Contrast; import androidx.media3.transformer.DebugViewProvider; import androidx.media3.transformer.DefaultEncoderFactory; import androidx.media3.transformer.GlEffect; @@ -320,6 +321,10 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) if (selectedEffects[5]) { effects.add(MatrixTransformationFactory.createZoomInTransition()); } + if (selectedEffects[6]) { + // TODO(b/238630175): Add slider for contrast adjustments. + effects.add(new Contrast(0.75f)); + } transformerBuilder.setVideoEffects(effects.build()); } diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/README.md b/libraries/test_data/src/test/assets/media/bitmap/README.md similarity index 87% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/README.md rename to libraries/test_data/src/test/assets/media/bitmap/README.md index 78edfebd867..56589d3400a 100644 --- a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/README.md +++ b/libraries/test_data/src/test/assets/media/bitmap/README.md @@ -1,6 +1,4 @@ -Expected first frame of -[sample.mp4](https://github.com/androidx/media/blob/main/libraries/test_data/src/test/assets/media/mp4/sample.mp4) -after a +Expected first frame after a [Transformer](https://github.com/androidx/media/tree/main/libraries/transformer) transformation. Used to validate that frame operations produce expected output in diff --git a/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/maximum_contrast.png b/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/maximum_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae6837371c2682a664b8355fc6fea92807a4d8f GIT binary patch literal 5825 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 A00000 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/original.png b/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/original.png new file mode 100644 index 0000000000000000000000000000000000000000..b149114b41418c0bafaeca1c88a6046bf5b01538 GIT binary patch literal 15323 zcmeHug;QJ4_crcUDDK`up->=5&|+;VR>6W>pb*@OyA&^_zy~c-XmLx>;O-s>5Zv8D zpuo%b?|6TAX6Me`IlJ@h*?Z1&R!)qLmO42J6A2a;7WvyZDj%@0aA5x{M7WPNCCX{4 zk1t}EH-_$5SZtmDE7(rsp7M{CRyyxLsXjbB%Cbnf9b$=8qflW6HWq5J@V5d+ zE+;tVNkzs zt7LPe_dfySfF|BdtJi+Mx9~@3O8o%TX7!J&Zd)^(BY?t`zRRZvasvKqEiz&U)N<)? z0Dhd~sSq2Soa}^+>)JFe5O)1%`JX7O9~kHRf!4R<&s)o~yv+V#>((-C=+7NT_pR{$ z+K#cyUdmky$yl0wF{%Bb6v@$n*=5t9D`@q+FHNw0x>U*V(gMF9vX5p_OG;eUd;ZG& zz&4wv8S(*od3597OggB1lCZ6E1eHgEY_Lw(z&7NF`CN=$rqKqv33k3PXg_=^Z}5AI z0E}Y3{WILEYXG=_8o>|WF3z#jG|g$7ZOo5@{llVaO5v;>QnvN+Am_U7NC9`}q@U!i zMcn6yoGQiRo%yf4mD$hBSqGnByeNOtoHIa{R(%|*9Cz&SKZ8|MnPjPi<9aB zANxKmQfq8Kc~3ozofFm}`V@(i+9;_yE$iSa5!s-Boly4d*{#a(jZ|Vci)6N(#Ns?XiuW;K%%nlJzVG)ki|JX9nuoNv`7~) z=H*4z>>NKD16k*8izrB+g#nco?HBvD1HmRYt@yTpQ?^&AqbNu)|I(H8aV?DM27bdQ ze_5&!Z4ZaU$<6uYOxokgEpF{4&-XI-`vX-EB7Q#a`AGWu@99t(fX;boi_XK*80Mu;YcluFLMyuGwVoxA(UneGIJI&szCQ0Bwa^(A)Y|8=drmAjBE#?1x>y#t(dFL^ zOgw^K5kcR})2Bf+)XoKfIy0*bH@i*g{#T=>e(RW`N)coRp0l0_z=)C-#VA3=gBuuPlwYiMt$L~1i8@c|C#TZ%9w@46Vhc%Bq z>5H1WF>%@dJKPHJodqr{FUk*DMlDUFS2m_u=~5f_lU+Xhjox@ss<&dEQd9@lBt^!| zXI+x@mF9zc!XOwgdUZM2L=>_c2GimT*wk82IBDCPJpLwbJW_$)MiwX`@lj4lQO*%{ zo1>YP+U1Z}C_uhZB?4*jw{e?#ceS3)HY!T^uA;B2{-AM&IKC(H!@h-=lw-l|tuqQ< zZxJhg$hvzuR=-ocZmb?+vZ!T`bZC6oA6oBgM*AH$Wd_fkiNiqpx@7M*>)D>a zZxJye9euW`jipqsv_Lr-l-Hs!`d)*M(B$u76Z?Z(v6C+9csQ!L>B5hes@ydx0Dj2v zCB5D>Gcdu3@Y*%W9l4Np>7nIF{tVhSHV6ZrW{Id(wt4-iH>nsoS{L7%UTa1`;<^MF z!3_-z;DjEdf-VfAVG27g^y?FMY3O5=+}%|!d1;Aqa|2G_22$-i=f&h)->pgeQO%|k zfjc?~Lk#oQ*4BRTYiN*KSk0mjirmPFAzO zMU-25VAh$okr<*&gZ-ZQA`{Uo7$I$w7BR=e%Uy-R#x!;76h9VsU?EuK=4z6f z^A4T+*+oWaM>wywDn4x+ly{rizQm(OuTZkyfNvI6dBA7cY}B@MyGBof+@Kr3QL{Pf zc{0C7;hn3^kPYH>6S_ToeO`5l3|=r9@LVwuTa}P5rAcyuoEN_Gj^!}9NlzGpQA}FA zq8yV?s9wZKc4gu03OI5*PQ!+qv~xYQ4kptbAwdD~r7k+%CWY2_E?2#~S(F%sf!^gdUq;$#>d0i7_tkpeu2G;vbs7mL4XjmP|SJKe6NY z4O6V~q)2&`Ueo4t(MOjkA^=)gy1(&ipPt`^@*4kBWx#VT!g;xu;6TQ_jX}O^P|<&6 z#_mbg#G*~4+zaW?XmIv>jwp8KoLgTY$zw-q|EY#J6yYoc?aOqly3P-dUTq_TW5wGx za*(XM)V~Ah+0TxLa;UK#&i!$;)?{k5g!(^cG}HbN_G1x3$&?I?KjY5vkAQ)F`lJ_~ zB%|6?CvvrSN-l?}1l(Ve4y#=eIH6aJ3`TVL5YDzwD!lYqGkv!9JHpP1Qyr6C?y}Oq zMZ}MLG8X?hIc z8=>*d<9NwSgk7JiZy?RiL4?XbP33O@|Mtxbz@$jT0DmQZu$^O>(g;;K$TMo4*JplE zK4Il5Fvo0Y?Ym)`N8&TbFr;@ObP!qCP)~6(MHsN}Eodwhz_I}~|C_+uwTH^~rnJ%+ z4h#4DWRbbZRmoJ8VUuiLYQ555{CP{5d>F8XzC7G`ShGmq^$6ue1l4;#s4n$>y=;M# z+fKNxLv^{JmP+1IPPpYZiI)1=Ix#<2mg(ie-g_|?eRR<3zLrtoXqDkQj#(E2KfTAU zx1lwZ>Mq?MIP`g0<^Hs??dbTy*Z-krGHkme9hB@lp$b2wc1`fy^(M6w@*@*MCDb^U zGTCkdFad_l7{IG9)+WE_LNl<$&L5q2&2$-it1D9RlI?k~SFg;fO&!2_7N$GQwVKZ* zqReAjXq3D1oY3LYGx~DX=!B?u@u$yY{{%>*pwClZ90O^NX-yN$xB*cYO z2js=uZ=ph9yGKs>e#h}>&tJ$3YZwNsanuJ4doKOD3wkJO{p+kt%=7CRNs?^=z0GUs zKf@+*nW?z!sm|L?qqiT7GTU;sPrh(Kcc={(r26JBYQLJ?m@rmudZA`usUD>?(%v+S zObJ5uYOqO1kCl`_rN$!{V~QMFZtq2}R3#7GmBu4N2h4eqTvpqN%72D)=9dcGTEI;0 z8~U#vxrlGULUsGCi(YRZd%<~~zu-w~G}e>7)C|!|3#88n*H@+7K)dSCj{PN{wTO@X z4qDEo8u&quc(0i8wNaB9)TaGDEl{7^@fYjy2u!uylg-TQGr&HxGXBvZbmQOriy5&) zP?vw5&jOo1vN}>Z^KB>6Oe6G-zM_>-ZP5E z;_#;p+!Mgs=@ceh-4iz!YJ6iY`4jQu-Xz85O_Sa9Ff7$Z@R$M^#SWZ%0)6l8BF|Zc zm#0$SvD-_5s-VoOR-=S9KC>J;IOz9pcI#AylXC%Iq^LS$tdJe;e7^}EW-BZ1guAAS z^5ushwriiYpXb3nIo@(Y2b{%f=QNpWPHKpK!39C^;}8Bq^|=X1o;o?HUzM~+V83sj z#6{r>mA_Xs%xQW#vw|f7cK#OsHnJ*pGMb-$NQ=(AgisqDbc!&Pf1M~>%2mXR?RnQ; zo?_sAz}E;JZpx~vZF~%mc&R|P>?UwcuX&2}h}{gZU~ZCHqUl;&+7o$?CS9Z3pVkYr z@s3g>7T+Btg-QlZBLDUjyh3R)vc6&|xIAKK&u;VN2z#fPJ}#4HvGa?!r2e<(!DMB> zN!H_}R7s+aIJ{d+DTiTL2~=FEGMOrLq>6f3_;h@Glh;IWt%l3Ev4*%;NwN9gua8@9xJ674G~MOBAyq z`gh$m&K+FYxSvP=lM73-ll&e80BZd0*uA8KJ+h$)$CjEs;eii@Iqq# zPB8#vKJ68;x<@#IAWpO&DPe{`s#Qb5@THyuEhG~on*R)v40<8+pZqfq!X+GnNLE!K+YIG86N$&n1X16$ib$fTISvxmS-fN~m`!n&VX%+Dfi<~9B_^b8K-i#AU zN&YE*cVWE<@*&3pjW$vxs3L;9fjpE3g<*F`U!SLJ1H+yJX5qJ(6iF3XJt(i2DmzD= zZe109B5PkdT9lu;6h6y$s+{*2>EaWCcs7=Ayzm@`;O=+($zLZ|*0tLhdLKx5n3u5%vPM|l zUczwonmZiFu&S*!tf})OwJh|kiv$DSF!M2g4|u7}mm0#qwh&n%^iIVstgTE|Hv=eX zC)VeO4eM{O4N#g4WX0v~_wLGB?@^GmqRA0j;-u zTx@1#)ERbpUP9;y=G78d$-#fA4+LrCvxoJ@8>Z1EvS=7i^m(evvMcW2vL5{sCZ)^C%oCeiK;;t^IT9~8Kt-U;KC z_mhToi9dAu13?U@E#vpq$Jk@BZiFro&g^1DNf_2xZcp&*wzV{S}btp(IEcS?6>#&MT2n zmRvhyE@vQSXnU|N$mzs81VeXZoovFSzwix zB4q!Xfx%n=;6y^|EB}qcPXzDd#ewW#u$|~yi*o>Dr>H=-00-EPtnwnT*!gZ$d7(u& za?v(4yYA&b^bn;R^5}Q=2g7y(gC18m!oSo??BVK&5v-Ljk>}VJ?A@|ez50k)PJ1#* zErkG`4B$&Qca{B7{y0NO;~Xh+{-~+d?_v^KAQVGfI`v&){+EX4wTC*>ojWa`AQl(d zZ-yS0lc;Dlexmi;4y+UuEH6p4~u z1pMDSs)cRv>ETUzkZ0K|D^k+9-b5cwX!ksmMFv`oab{Bi^7meK&zFrbahxCW3`KU3 zAm`uVZC_RI2ngV4#1Vd)pq=88A!qe4PHmasTypzi_2OKq3>Fz?8}q!ocHU8F^Bz!o zK;rcq$I1y*A>jfRa!iICm%Sr$`<`P>ku)9bbVTBh_?>LqJ@71R4`x6wPxi`WrP(1+ zbdY1_EYD-8Goxgrsb$-%z03;eU_t8SDjdR+#N~*~rX5H@`sQ_FSQR*YTAi zrm({b#Ez`%NNQd&b%z_}-si;u1;2vvk%lNJHFntutV7a0n|bX?cqdh6H%YhDi&dle z%maSx?h^M{VLdN-xa@3oJSXlZz=%y*Oix?l$gpgrDIMdLWq&Bj?w(UEbhhvGUwfi8 zUm5rPPS}7V6-DC@sfg#w;@o_0i1O{Ti^R=fX^8cI`&Jh1_s51s`c+f3h_uI$iuPBu zY9D(zm8_~-nei+UfDj#GCZ$d@I-sw)RR=Q(>Ni$pWeXLm;#CI4SrRC%p08#L-{d4L zv`a20Vh(Y@j_a2YkH z;~V*R!!4T)aiTE>jTL6E>P6+bQ;R)+xPXg}H_X>>X5WRcJ}hjr7-lFI*6>=6;+ys` zzv%8UIkd@K&TtnEBXFV(E|uCCBzmH2=^fUeU4AGWx0p+w^TS2k7BU+lg!1)l=BYnM ztvllM6PqjIH-3rZwXg%SWHVLN@)-(gfE`F%B`q17$s7)9dtOr+*q3e!6^=%Xd_(=| zNOw+q`6LOtZsv{?OhIsp%~f6f+x)Nm);9(Ao=;lAs**pa#<|tQ;2g z!h3mE;mzHNKB(IvWry;A1tbwEhMDdbF3r=7$Q(-rKVV3=eV&92i<{0eKAnGu_E!%j z?sUoePGFV$Zbf5EduB(~H3i4YI{q#=joFi&VmRn2V_(EGUA0-o=oT9m)jq=

      ;;jhp&ZXiVh62 ziYit}p^~m&A3?`CGC_Vaj$##LPAK?Y_4QYLe`E)zM)0@ngsk+7KQa8{`Ckzd+ZTN` z2E-sj&alZ~EZdb_M24inkkA&v{z(45jo75OTS?T~)!}y0&|;#JYDh}@Qzq>Hl!@H_ zD@H4Ra{No_KCCw-UCh1EnNsb>?~yp;s`EsW1tNhfE4SO6%-;pr?(8k6B_++JDdi87 z&#z-?p%%Zqjk+@!cc~* zrg_7cm1(?$I|QGt1z#u<&~5X$TEJMWI%lWCMg83<9R;<@-UlUS-Wjh7i-4=hAPJ0` zn}-8=BP~^9u!N)UJ)tNAF%Iq%4FP|<05|2a3A$PiVb&??*e?=vw&n*vC+s`_R>b0- zR|_$xtA`a+HpRQzVri3ZUmkk@OEW~@zD6m*&MnxnRjCQyE55bB=ORtzR3?5pkx!$f zfmlf_X>}fsl+zcNsXmv9+p=w?<6HE+x)L9xGmsdCMIO7^RLETw1n)Mu82l?HjEL-@ z3(L9L5SaDF^Ruu9Ibfooqtea0tneqjnL8BvO@_N(*aX_dG5-4!NBDz_z{L=aXVesN z)P;(@QM2XbBcd@8(#+w%R{y3Gg8^0ZGQQ2_O%kdOkm_Ti%p=<=n1_~yV~j*U%o-Zz z{Y#_mUXwNH^$UL>UX)kxn%K2cmr_}IjDdXITE!~%!(MSFEUxblOOL-+57nr}RGP<6 z#giZDWzL4{wh^&c=Ui!lNJ-zY?DruY!@DlH4-Oyg`E4)y%cb3Q8T=Xc%QLyJ2F3Jv zGOESby9MyRoe*JG!zxmZKz+fU5t5l_TEKrL*mJkC5f6$>cuXdx0N>S=>oT#gy48P0Eo^B`1X zL0WMrQH^daRiwvsdU6oXZx50<5S9KenZ0 z;~_r8?)kqKq}Ks3)bjXjy^>_VSCVCs1@kGL%4^1GD7+Y3i_>k87&Ca9E$*`8Ad(1` zbs!IOL9)JP%lsBzL?m0sQ=Wx|#Z3Lby8uEJuKWHJwPlH!HnSRSQc<8dy!Uy}8U)}t zwK>qxICJdxW%Zhklp^tVjNzt@%`6y(C$eQ|sSbkCn<%tafkWfx$DN2`%&j2@Xe01` z0$%6hHP*&P3?R@{&z|>lvQ+VJaKl@F`c8^+4NYe2?~8%rtCumjEhld7!W2B15pHBT zRA2prUMoXOE~gsZO>ZEnILXxz+=w?&(XV24Z|Lr__F6jMlj@0D zBA@FC&gWpwPHHsyYkUAjjQeUG`I~K22fdoqt=50NDVH#@p#nXka~Q8usM|a{iH(jZ z)bzebm>_M+L~;Gn-=d4XAM`3r{_9NZ+s1(OY6+Zd=dA&KYDfMy!pC68Iw`e?w^bhr za);@g;qg85(3zu!_)bdAa@$}cYBq%Cc8Bo0@U+;!w6TKYn;@%{4T3U9rpEJZnpo#6 z0?!!TNxSvDNQ!Qeac1Cl{*#D2$;S-}`UL=2(p;9H-vQt5gXUO|8B51UFY`+w1N?0A zPl!k`ZQS1cpfT`|B0~l%Zjm*S-HdFx3RM7#s)??!cOdgN&8jz_v-7qhlk{#W?2~{n^-co(KDKR`Jd6(zWM})#@!~H1-fX-7{8&0 zSpUr=GpnI3DJm@h9LyzU2QpVMb{03lr2{@#_!0lpT8heTvw2PhrfP{1K7>Q2|3kkw z(`&2Uj=&dbf7bEbqbNN+{DL=CF<%J91Qw6Q?!IhY-22aQ2$qn%q~1=l7?rg6W@^;Q zmT(axO}5Yy^_mLS$I>MkMuPlk(X`SeldH2~ySkEOJG;q~5eP)3)}oJ(1AQ}?83=S# zsfH!av>Nh>xdnJ9Hn4W2_~F^SX;K@F_h&T9E8J^Ik7GPK9LNv* z>CP^+OOR;I?|OT2etOF9ES^Zrp|`ef|%-;v9=p&aIha=jUn;9vdaNAxOBgHt3tafw!K`l&G%Y=>ajD3O#(M-a= zHw_`?+znz_8siQkP3jD8)K7KtX?uE6xA{%`||EY9{*JBS||8iXyE ziJR2tcKiG2+nU21zo7Y|t;9-%;wRD_3!O;J5hLpDmPJ9XPQNu%gC$F*ilm7f1ur(g zV3#dNT@&ck+C|Tl0przgmr%CJj@8

      WC4-g{7?ZW*8$~>Oz&Te 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 I*XE)B4-Aw)zW@LL literal 0 HcmV?d00001 diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java index f8c2b441bd7..05c4e59e6d9 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java @@ -37,6 +37,7 @@ import java.io.IOException; import java.io.InputStream; import java.nio.ByteBuffer; +import java.util.Arrays; /** * Utilities for instrumentation tests for the {@link GlEffectsFrameProcessor} and {@link @@ -102,6 +103,17 @@ public static Bitmap createArgb8888BitmapFromRgba8888Image(Image image) { return Bitmap.createBitmap(colors, width, height, Bitmap.Config.ARGB_8888); } + /** + * Returns a solid {@link Bitmap} with every pixel having the same color. + * + * @param color An RGBA color created by {@link Color}. + */ + public static Bitmap createArgb8888BitmapWithSolidColor(int width, int height, int color) { + int[] colors = new int[width * height]; + Arrays.fill(colors, color); + return Bitmap.createBitmap(colors, width, height, Bitmap.Config.ARGB_8888); + } + /** * Returns the average difference between the expected and actual bitmaps, calculated using the * maximum difference across all color channels for each pixel, then divided by the total number diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java new file mode 100644 index 00000000000..c03075fc311 --- /dev/null +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java @@ -0,0 +1,251 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; +import static com.google.common.truth.Truth.assertThat; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Color; +import android.opengl.EGLContext; +import android.opengl.EGLDisplay; +import android.opengl.EGLSurface; +import android.util.Size; +import androidx.media3.common.util.GlUtil; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Pixel test for contrast adjustment via {@link ContrastProcessor}. + * + *

      Expected images are taken from an emulator, so tests on different emulators or physical + * devices may fail. To test on other devices, please increase the {@link + * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. + */ +@RunWith(AndroidJUnit4.class) +public class ContrastProcessorPixelTest { + private static final String EXOPLAYER_LOGO_PNG_ASSET_PATH = + "media/bitmap/exoplayer_logo/original.png"; + // TODO(b/239005261): Migrate png to an emulator generated picture. + private static final String MAXIMUM_CONTRAST_PNG_ASSET_PATH = + "media/bitmap/exoplayer_logo/maximum_contrast.png"; + + // OpenGL uses floats in [0, 1] and maps 0.5f to 128 = 256 / 2. + private static final int OPENGL_NEUTRAL_RGB_VALUE = 128; + + private final Context context = getApplicationContext(); + + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; + private @MonotonicNonNull EGLSurface placeholderEglSurface; + private @MonotonicNonNull SingleFrameGlTextureProcessor contrastProcessor; + private int inputTexId; + private int outputTexId; + private int inputWidth; + private int inputHeight; + + @Before + public void createGlObjects() throws Exception { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); + + Bitmap inputBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + inputWidth = inputBitmap.getWidth(); + inputHeight = inputBitmap.getHeight(); + + placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); + GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); + inputTexId = BitmapTestUtil.createGlTextureFromBitmap(inputBitmap); + } + + @After + public void release() throws GlUtil.GlException, FrameProcessingException { + if (contrastProcessor != null) { + contrastProcessor.release(); + } + GlUtil.destroyEglContext(eglDisplay, eglContext); + } + + @Test + public void drawFrame_noContrastChange_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_noContrastChange"; + contrastProcessor = + new Contrast(/* contrast= */ 0.0f).toGlTextureProcessor(context, /* useHdr= */ false); + Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + + contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_minimumContrast_producesAllGrayFrame() throws Exception { + String testId = "drawFrame_minimumContrast"; + contrastProcessor = + new Contrast(/* contrast= */ -1.0f).toGlTextureProcessor(context, /* useHdr= */ false); + Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap expectedBitmap = + BitmapTestUtil.createArgb8888BitmapWithSolidColor( + inputWidth, + inputHeight, + Color.rgb( + OPENGL_NEUTRAL_RGB_VALUE, OPENGL_NEUTRAL_RGB_VALUE, OPENGL_NEUTRAL_RGB_VALUE)); + + contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_decreaseContrast_decreasesPixelsGreaterEqual128IncreasesBelow() + throws Exception { + String testId = "drawFrame_decreaseContrast"; + contrastProcessor = + new Contrast(/* contrast= */ -0.75f).toGlTextureProcessor(context, /* useHdr= */ false); + Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap originalBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + + contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + assertIncreasedOrDecreasedContrast(originalBitmap, actualBitmap, /* increased= */ false); + } + + @Test + public void drawFrame_increaseContrast_increasesPixelsGreaterEqual128DecreasesBelow() + throws Exception { + String testId = "drawFrame_increaseContrast"; + contrastProcessor = + new Contrast(/* contrast= */ 0.75f).toGlTextureProcessor(context, /* useHdr= */ false); + Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap originalBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + + contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + assertIncreasedOrDecreasedContrast(originalBitmap, actualBitmap, /* increased= */ true); + } + + @Test + public void drawFrame_maximumContrast_pixelEither0or255() throws Exception { + String testId = "drawFrame_maximumContrast"; + contrastProcessor = + new Contrast(/* contrast= */ 1.0f).toGlTextureProcessor(context, /* useHdr= */ false); + Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(MAXIMUM_CONTRAST_PNG_ASSET_PATH); + + contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.getWidth(), outputSize.getHeight()); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + private static void assertIncreasedOrDecreasedContrast( + Bitmap originalBitmap, Bitmap actualBitmap, boolean increased) { + + for (int y = 0; y < actualBitmap.getHeight(); y++) { + for (int x = 0; x < actualBitmap.getWidth(); x++) { + int originalColor = originalBitmap.getPixel(x, y); + int actualColor = actualBitmap.getPixel(x, y); + + int redDifference = Color.red(actualColor) - Color.red(originalColor); + int greenDifference = Color.green(actualColor) - Color.green(originalColor); + int blueDifference = Color.blue(actualColor) - Color.blue(originalColor); + + // If the contrast increases, all pixels with a value greater or equal to + // OPENGL_NEUTRAL_RGB_VALUE must increase (diff is greater or equal to 0) and all pixels + // below OPENGL_NEUTRAL_RGB_VALUE must decrease (diff is smaller or equal to 0). + // If the contrast decreases, all pixels with a value greater or equal to + // OPENGL_NEUTRAL_RGB_VALUE must decrease (diff is smaller or equal to 0) and all pixels + // below OPENGL_NEUTRAL_RGB_VALUE must increase (diff is greater or equal to 0). + // The interval limits 0 and 255 stay unchanged for either contrast in- or decrease. + + if (Color.red(originalColor) >= OPENGL_NEUTRAL_RGB_VALUE) { + assertThat(increased ? redDifference : -redDifference).isAtLeast(0); + } else { + assertThat(increased ? redDifference : -redDifference).isAtMost(0); + } + + if (Color.green(originalColor) >= OPENGL_NEUTRAL_RGB_VALUE) { + assertThat(increased ? greenDifference : -greenDifference).isAtLeast(0); + } else { + assertThat(increased ? greenDifference : -greenDifference).isAtMost(0); + } + + if (Color.blue(originalColor) >= OPENGL_NEUTRAL_RGB_VALUE) { + assertThat(increased ? blueDifference : -blueDifference).isAtLeast(0); + } else { + assertThat(increased ? blueDifference : -blueDifference).isAtMost(0); + } + } + } + } + + private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { + outputTexId = + GlUtil.createTexture( + outputWidth, outputHeight, /* useHighPrecisionColorComponents= */ false); + int frameBuffer = GlUtil.createFboForTexture(outputTexId); + GlUtil.focusFramebuffer( + checkNotNull(eglDisplay), + checkNotNull(eglContext), + checkNotNull(placeholderEglSurface), + frameBuffer, + outputWidth, + outputHeight); + } +} diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_contrast_es2.glsl b/libraries/transformer/src/main/assets/shaders/fragment_shader_contrast_es2.glsl new file mode 100644 index 00000000000..6420451d857 --- /dev/null +++ b/libraries/transformer/src/main/assets/shaders/fragment_shader_contrast_es2.glsl @@ -0,0 +1,33 @@ +#version 100 +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ES 2 fragment shader that samples from a (non-external) texture with +// uTexSampler, copying from this texture to the current output +// while adjusting contrast based on uContrastFactor. + +precision mediump float; +uniform sampler2D uTexSampler; +uniform float uContrastFactor; +varying vec2 vTexSamplingCoord; + +void main() { + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); + + gl_FragColor = vec4( + clamp(uContrastFactor * (inputColor.r - 0.5) + 0.5, 0.0, 1.0), + clamp(uContrastFactor * (inputColor.g - 0.5) + 0.5, 0.0, 1.0), + clamp(uContrastFactor * (inputColor.b - 0.5) + 0.5, 0.0, 1.0), + inputColor.a); +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java new file mode 100644 index 00000000000..06db7a3a3a8 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java @@ -0,0 +1,47 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkArgument; + +import android.content.Context; +import androidx.media3.common.util.UnstableApi; + +/** A {@link GlEffect} to control the contrast of video frames. */ +@UnstableApi +public class Contrast implements GlEffect { + + /** Adjusts the contrast of video frames in the interval [-1, 1]. */ + public final float contrast; + + /** + * Creates a new instance for the given contrast value. + * + *

      Contrast values range from -1 (all gray pixels) to 1 (maximum difference of colors). 0 means + * to add no contrast and leaves the frames unchanged. + */ + public Contrast(float contrast) { + checkArgument(-1 <= contrast && contrast <= 1, "Contrast needs to be in the interval [-1, 1]."); + this.contrast = contrast; + } + + @Override + public SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) + throws FrameProcessingException { + return new ContrastProcessor(context, this, useHdr); + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java new file mode 100644 index 00000000000..44c9b89cacf --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java @@ -0,0 +1,78 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import android.content.Context; +import android.opengl.GLES20; +import android.opengl.Matrix; +import android.util.Size; +import androidx.media3.common.util.GlProgram; +import androidx.media3.common.util.GlUtil; +import java.io.IOException; + +/** Contrast processor to apply a {@link Contrast} to each frame. */ +/* package */ final class ContrastProcessor extends SingleFrameGlTextureProcessor { + private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; + private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_contrast_es2.glsl"; + + private final GlProgram glProgram; + private final float contrastFactor; + + public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHdr) + throws FrameProcessingException { + super(useHdr); + // Use 1.0001f to avoid division by zero issues. + contrastFactor = (1 + contrastEffect.contrast) / (1.0001f - contrastEffect.contrast); + + try { + glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + + // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. + glProgram.setBufferAttribute( + "aFramePosition", + GlUtil.getNormalizedCoordinateBounds(), + GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); + + float[] identityMatrix = new float[16]; + Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); + glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); + } + + @Override + public Size configure(int inputWidth, int inputHeight) { + return new Size(inputWidth, inputHeight); + } + + @Override + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { + try { + glProgram.use(); + glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); + glProgram.setFloatUniform("uContrastFactor", contrastFactor); + glProgram.bindAttributesAndUniforms(); + + // The four-vertex triangle strip forms a quad. + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e, presentationTimeUs); + } + } +} From 06d3c07a1cb1aacac550b0df0a29c8113f9ef81c Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 21 Jul 2022 00:24:41 +0000 Subject: [PATCH 088/422] HDR: Implement HLG EOTF and OETF. This allows us to use BT.2020 RGB linear for intermediate shaders, which also allows us to re-enable PeriodicVignetteProcessor, which should work properly in linear color-spaces. Manually tested by adding a GlEffectsWrapper, and confirming that HLG HDR editing still looks correct. PiperOrigin-RevId: 462265821 (cherry picked from commit 2f977eeec93be5cc71fda57f80362c1bc639c041) --- .../transformer/BitmapOverlayProcessor.java | 2 +- .../PeriodicVignetteProcessor.java | 3 +- .../demo/transformer/MediaPipeProcessor.java | 2 +- ...fragment_shader_copy_external_yuv_es3.glsl | 58 +++++++++++++++---- .../shaders/fragment_shader_hlg_eotf_es3.glsl | 55 ++++++++++++++++++ ...lMatrixTransformationProcessorWrapper.java | 6 +- .../androidx/media3/transformer/GlEffect.java | 6 +- .../transformer/GlEffectsFrameProcessor.java | 6 +- .../MatrixTransformationProcessor.java | 30 ++++++++-- .../SingleFrameGlTextureProcessor.java | 2 +- 10 files changed, 146 insertions(+), 24 deletions(-) create mode 100644 libraries/transformer/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 0cfed24aeca..3bad2334eb1 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -67,7 +67,7 @@ * * @param context The {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @throws FrameProcessingException If a problem occurs while reading shader files. */ public BitmapOverlayProcessor(Context context, boolean useHdr) throws FrameProcessingException { diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index 941feb3d8ff..53fa4d716dc 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -53,7 +53,7 @@ * * @param context The {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param centerX The x-coordinate of the center of the effect. * @param centerY The y-coordinate of the center of the effect. * @param minInnerRadius The lower bound of the radius that is unaffected by the effect. @@ -71,7 +71,6 @@ public PeriodicVignetteProcessor( float outerRadius) throws FrameProcessingException { super(useHdr); - checkArgument(!useHdr, "PeriodicVignetteProcessor does not support HDR color spaces."); checkArgument(minInnerRadius <= maxInnerRadius); checkArgument(maxInnerRadius <= outerRadius); this.minInnerRadius = minInnerRadius; diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 4a0390b1d2f..538e377c56e 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -72,7 +72,7 @@ protected void loadLibrary(String name) { * * @param context The {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param graphName Name of a MediaPipe graph asset to load. * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl index 12f59e3c058..9460a4db17d 100644 --- a/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl +++ b/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl @@ -13,24 +13,62 @@ // See the License for the specific language governing permissions and // limitations under the License. -// ES 3 fragment shader that samples from an external texture with uTexSampler, -// copying from this texture to the current output while applying the specified -// color transform uColorTransform, which should be a YUV to RGB conversion -// matrix. The sampler uses the using the EXT_YUV_target extension: -// https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt. +// ES 3 fragment shader that: +// 1. samples HLG BT.2020 YUV from an external texture with uTexSampler, where +// the sampler uses the EXT_YUV_target extension specified at +// https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt, +// 2. Applies a YUV to RGB conversion using the specified color transform +// uColorTransform, yielding HLG BT.2020 RGB, +// 3. If uApplyHlgOetf is 1, outputs HLG BT.2020 RGB. If 0, outputs +// linear BT.2020 RGB for intermediate shaders by applying the HLG OETF. +// 4. Copies this converted texture color to the current output. #extension GL_OES_EGL_image_external : require #extension GL_EXT_YUV_target : require precision mediump float; uniform __samplerExternal2DY2YEXT uTexSampler; +// YUV to RGB conversion matrix. uniform mat3 uColorTransform; +uniform float uApplyHlgOetf; in vec2 vTexSamplingCoord; out vec4 outColor; + +// TODO(b/227624622): Consider using mediump to save precision, if it won't lead +// to noticeable quantization errors. + +// HLG OETF for one channel. +highp float hlgOetfSingleChannel(highp float hlgChannel) { + // Specification: + // https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_HLG + // Reference implementation: + // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=529-543;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa + const highp float a = 0.17883277; + const highp float b = 0.28466892; + const highp float c = 0.55991073; + + return hlgChannel <= 1.0 / 12.0 ? sqrt(3.0 * hlgChannel) : + a * log(12.0 * hlgChannel - b) + c; +} + + // BT.2100-0 HLG OETF. Converts nonlinear relative display light to linear + // signal values, both normalized to [0, 1]. +highp vec4 hlgOetf(highp vec4 hlgColor) { + return vec4( + hlgOetfSingleChannel(hlgColor.r), + hlgOetfSingleChannel(hlgColor.g), + hlgOetfSingleChannel(hlgColor.b), + hlgColor.a + ); +} + +/** Convert YUV to RGBA. */ +vec4 yuvToRgba(vec3 yuv) { + vec3 yuvOffset = vec3(yuv.x - 0.0625, yuv.y - 0.5, yuv.z - 0.5); + return vec4(uColorTransform * yuvOffset, 1.0); +} + void main() { vec3 srcYuv = texture(uTexSampler, vTexSamplingCoord).xyz; - vec3 yuvOffset; - yuvOffset.x = srcYuv.r - 0.0625; - yuvOffset.y = srcYuv.g - 0.5; - yuvOffset.z = srcYuv.b - 0.5; - outColor = vec4(uColorTransform * yuvOffset, 1.0); + outColor = yuvToRgba(srcYuv); + outColor = (uApplyHlgOetf == 1.0) ? hlgOetf(outColor) : outColor; } diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl b/libraries/transformer/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl new file mode 100644 index 00000000000..247d9e948e7 --- /dev/null +++ b/libraries/transformer/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl @@ -0,0 +1,55 @@ +#version 300 es +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ES 3 fragment shader that: +// 1. samples linear BT.2020 RGB from a (non-external) texture with uTexSampler, +// 2. applies the HLG OETF to yield HLG BT.2020 RGB, and +// 3. copies this converted texture color to the current output. + +precision mediump float; +uniform sampler2D uTexSampler; +in vec2 vTexSamplingCoord; +out vec4 outColor; +uniform mat3 uColorTransform; + +// TODO(b/227624622): Consider using mediump to save precision, if it won't lead +// to noticeable quantization. +// HLG OETF for one channel. +highp float hlgEotfSingleChannel(highp float linearChannel) { + // Specification: + // https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_HLG + // Reference implementation: + // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=265-279;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa + const highp float a = 0.17883277; + const highp float b = 0.28466892; + const highp float c = 0.55991073; + return linearChannel <= 0.5 ? linearChannel * linearChannel / 3.0 : + (b + exp((linearChannel - c) / a)) / 12.0; +} + +// BT.2100-0 HLG EOTF. Converts nonlinear signal values to linear relative +// display light, both normalized to [0,1]. +highp vec4 hlgEotf(highp vec4 linearColor) { + return vec4( + hlgEotfSingleChannel(linearColor.r), + hlgEotfSingleChannel(linearColor.g), + hlgEotfSingleChannel(linearColor.b), + linearColor.a + ); +} + +void main() { + outColor = hlgEotf(texture(uTexSampler, vTexSamplingCoord)); +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 9aeca9d85ec..3a844df7a2e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -251,7 +251,11 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp MatrixTransformationProcessor matrixTransformationProcessor = new MatrixTransformationProcessor( - context, matrixTransformationListBuilder.build(), sampleFromExternalTexture, useHdr); + context, + matrixTransformationListBuilder.build(), + sampleFromExternalTexture, + useHdr, + /* outputOpticalColors= */ true); matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); Size outputSize = matrixTransformationProcessor.configure(inputWidth, inputHeight); checkState(outputSize.getWidth() == outputSurfaceInfo.width); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index 8c4463551c5..dde2b52012c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -33,8 +33,12 @@ public interface GlEffect { * * @param context A {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. */ + // TODO(b/227624622): PQ input files will actually have the incorrect HLG OETF applied, so that + // the intermediate color space will be PQ with the HLG OETF applied. This means intermediate + // GlEffects affecting color will look incorrect on PQ input. Fix this by implementing proper PQ + // OETF / EOTF support. GlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 3450de3ef24..eed56123ab6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -185,7 +185,11 @@ private static ImmutableList getGlTextureProcessorsForGlEffe if (!matrixTransformations.isEmpty() || sampleFromExternalTexture) { textureProcessorListBuilder.add( new MatrixTransformationProcessor( - context, matrixTransformations, sampleFromExternalTexture, useHdr)); + context, + matrixTransformations, + sampleFromExternalTexture, + useHdr, + /* outputOpticalColors= */ false)); matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index cd4cd25b621..197f091d2c0 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -50,6 +50,8 @@ private static final String VERTEX_SHADER_TRANSFORMATION_ES3_PATH = "shaders/vertex_shader_transformation_es3.glsl"; private static final String FRAGMENT_SHADER_COPY_PATH = "shaders/fragment_shader_copy_es2.glsl"; + private static final String FRAGMENT_SHADER_HLG_EOTF_ES3_PATH = + "shaders/fragment_shader_hlg_eotf_es3.glsl"; private static final String FRAGMENT_SHADER_COPY_EXTERNAL_PATH = "shaders/fragment_shader_copy_external_es2.glsl"; private static final String FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH = @@ -100,7 +102,7 @@ * * @param context The {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param matrixTransformation A {@link MatrixTransformation} that specifies the transformation * matrix to use for each frame. * @throws FrameProcessingException If a problem occurs while reading shader files. @@ -112,7 +114,8 @@ public MatrixTransformationProcessor( context, ImmutableList.of(matrixTransformation), /* sampleFromExternalTexture= */ false, - useHdr); + useHdr, + /* outputOpticalColors= */ false); } /** @@ -120,7 +123,7 @@ public MatrixTransformationProcessor( * * @param context The {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param matrixTransformation A {@link GlMatrixTransformation} that specifies the transformation * matrix to use for each frame. * @throws FrameProcessingException If a problem occurs while reading shader files. @@ -132,7 +135,8 @@ public MatrixTransformationProcessor( context, ImmutableList.of(matrixTransformation), /* sampleFromExternalTexture= */ false, - useHdr); + useHdr, + /* outputOpticalColors= */ false); } /** @@ -146,6 +150,9 @@ public MatrixTransformationProcessor( * provide the transformation matrix associated with the external texture. * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code * EXT_YUV_target} OpenGL extension. + * @param outputOpticalColors If {@code true} and {@code useHdr} is also {@code true}, outputs a + * non-linear optical, or display light colors, possibly by applying the EOTF (Electro-optical + * transfer function). Otherwise, outputs linear electrical colors. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ @@ -153,12 +160,13 @@ public MatrixTransformationProcessor( Context context, ImmutableList matrixTransformations, boolean sampleFromExternalTexture, - boolean useHdr) + boolean useHdr, + boolean outputOpticalColors) throws FrameProcessingException { super(useHdr); if (sampleFromExternalTexture && useHdr && !GlUtil.isYuvTargetExtensionSupported()) { throw new FrameProcessingException( - "The EXT_YUV_target extension is required for HDR editing."); + "The EXT_YUV_target extension is required for HDR editing input."); } this.matrixTransformations = matrixTransformations; @@ -176,6 +184,11 @@ public MatrixTransformationProcessor( useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + } else if (outputOpticalColors) { + vertexShaderFilePath = + useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; + fragmentShaderFilePath = + useHdr ? FRAGMENT_SHADER_HLG_EOTF_ES3_PATH : FRAGMENT_SHADER_COPY_PATH; } else { vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = FRAGMENT_SHADER_COPY_PATH; @@ -190,6 +203,11 @@ public MatrixTransformationProcessor( if (useHdr && sampleFromExternalTexture) { // In HDR editing mode the decoder output is sampled in YUV. glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); + // TODO(b/227624622): Implement PQ, and use an @IntDef to select between HLG, PQ, and no + // transfer function. + // Applying the OETF will output a linear signal. Not applying the OETF will output an optical + // signal. + glProgram.setFloatUniform("uApplyHlgOetf", outputOpticalColors ? 0.0f : 1.0f); } float[] identityMatrix = new float[16]; Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index c5c3be3bb76..4b2624c8f8e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -46,7 +46,7 @@ public abstract class SingleFrameGlTextureProcessor implements GlTextureProcesso * Creates a {@code SingleFrameGlTextureProcessor} instance. * * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in HLG/PQ RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. */ public SingleFrameGlTextureProcessor(boolean useHdr) { this.useHdr = useHdr; From 0667c74dc542ee0159e014ca3d2dc152350699b2 Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 21 Jul 2022 09:20:33 +0000 Subject: [PATCH 089/422] Slightly disentangle `MediaBrowser/Controller(Impl)Base/Legacy` These constructors are currently very intertwined, passing `this` references from the constructor of one to the constructor of another before the first constructor is complete (and so the `this` reference isn't really valid yet). This change uses checker framework `@UnderInitialization` and `@NotOnlyInitialized` annotations to make it more clear that the references are not available yet. For the one 'direct' access needed in the second constructor (calling `getApplicationLooper()`) we now pass the `applicationLooper` directly alongside (to avoid needing to dereference the reference 'too early'). This change also ensures that where a class hierarchy has a 'dependent' class hierarchy, the 'subclass' instance is always used (by both subclass and superclass) without casting or manually hiding the superclass field, by defining an overridable `getFoo()` method instead and always using it. #minor-release PiperOrigin-RevId: 462335043 (cherry picked from commit 287c757944720c6804e8f1cc074e28134f7da528) --- .../androidx/media3/session/MediaBrowser.java | 46 +++-- .../media3/session/MediaBrowserImplBase.java | 26 ++- .../session/MediaBrowserImplLegacy.java | 48 ++++-- .../media3/session/MediaController.java | 25 +-- .../session/MediaControllerImplBase.java | 91 ++++++---- .../session/MediaControllerImplLegacy.java | 162 ++++++++++-------- .../media3/session/MediaControllerStub.java | 5 +- 7 files changed, 241 insertions(+), 162 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java b/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java index 2c679ab0d94..fa8724db05d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java @@ -38,6 +38,9 @@ import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import java.util.concurrent.Executor; +import org.checkerframework.checker.initialization.qual.NotOnlyInitialized; +import org.checkerframework.checker.initialization.qual.UnderInitialization; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * Browses media content offered by a {@link MediaLibraryService} in addition to the {@link @@ -45,12 +48,6 @@ */ public final class MediaBrowser extends MediaController { - private static final String WRONG_THREAD_ERROR_MESSAGE = - "MediaBrowser method is called from a wrong thread." - + " See javadoc of MediaController for details."; - - private final MediaBrowserImpl impl; - /** A builder for {@link MediaBrowser}. */ public static final class Builder { @@ -201,6 +198,12 @@ default void onSearchResultChanged( @Nullable LibraryParams params) {} } + private static final String WRONG_THREAD_ERROR_MESSAGE = + "MediaBrowser method is called from a wrong thread." + + " See javadoc of MediaController for details."; + + @NotOnlyInitialized private @MonotonicNonNull MediaBrowserImpl impl; + /** Creates an instance from the {@link SessionToken}. */ /* package */ MediaBrowser( Context context, @@ -210,17 +213,24 @@ default void onSearchResultChanged( Looper applicationLooper, ConnectionCallback connectionCallback) { super(context, token, connectionHints, listener, applicationLooper, connectionCallback); - this.impl = (MediaBrowserImpl) super.impl; } @Override - /* package */ MediaBrowserImpl createImpl( - Context context, MediaController thisRef, SessionToken token, Bundle connectionHints) { + /* package */ @UnderInitialization + MediaBrowserImpl createImpl( + @UnderInitialization MediaBrowser this, + Context context, + SessionToken token, + Bundle connectionHints, + Looper applicationLooper) { + MediaBrowserImpl impl; if (token.isLegacySession()) { - return new MediaBrowserImplLegacy(context, (MediaBrowser) thisRef, token); + impl = new MediaBrowserImplLegacy(context, this, token, applicationLooper); } else { - return new MediaBrowserImplBase(context, thisRef, token, connectionHints); + impl = new MediaBrowserImplBase(context, this, token, connectionHints, applicationLooper); } + this.impl = impl; + return impl; } /** @@ -234,7 +244,7 @@ default void onSearchResultChanged( public ListenableFuture> getLibraryRoot(@Nullable LibraryParams params) { verifyApplicationThread(); if (isConnected()) { - return impl.getLibraryRoot(params); + return checkNotNull(impl).getLibraryRoot(params); } return createDisconnectedFuture(); } @@ -254,7 +264,7 @@ public ListenableFuture> subscribe( verifyApplicationThread(); checkNotEmpty(parentId, "parentId must not be empty"); if (isConnected()) { - return impl.subscribe(parentId, params); + return checkNotNull(impl).subscribe(parentId, params); } return createDisconnectedFuture(); } @@ -273,7 +283,7 @@ public ListenableFuture> unsubscribe(String parentId) { verifyApplicationThread(); checkNotEmpty(parentId, "parentId must not be empty"); if (isConnected()) { - return impl.unsubscribe(parentId); + return checkNotNull(impl).unsubscribe(parentId); } return createDisconnectedFuture(); } @@ -299,7 +309,7 @@ public ListenableFuture>> getChildren( checkArgument(page >= 0, "page must not be negative"); checkArgument(pageSize >= 1, "pageSize must not be less than 1"); if (isConnected()) { - return impl.getChildren(parentId, page, pageSize, params); + return checkNotNull(impl).getChildren(parentId, page, pageSize, params); } return createDisconnectedFuture(); } @@ -316,7 +326,7 @@ public ListenableFuture> getItem(String mediaId) { verifyApplicationThread(); checkNotEmpty(mediaId, "mediaId must not be empty"); if (isConnected()) { - return impl.getItem(mediaId); + return checkNotNull(impl).getItem(mediaId); } return createDisconnectedFuture(); } @@ -338,7 +348,7 @@ public ListenableFuture> search( verifyApplicationThread(); checkNotEmpty(query, "query must not be empty"); if (isConnected()) { - return impl.search(query, params); + return checkNotNull(impl).search(query, params); } return createDisconnectedFuture(); } @@ -365,7 +375,7 @@ public ListenableFuture>> getSearchResult checkArgument(page >= 0, "page must not be negative"); checkArgument(pageSize >= 1, "pageSize must not be less than 1"); if (isConnected()) { - return impl.getSearchResult(query, page, pageSize, params); + return checkNotNull(impl).getSearchResult(query, page, pageSize, params); } return createDisconnectedFuture(); } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplBase.java index f5ca3540f83..441e71c7a7a 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplBase.java @@ -28,6 +28,7 @@ import android.content.Context; import android.os.Bundle; +import android.os.Looper; import android.os.RemoteException; import androidx.annotation.Nullable; import androidx.media3.common.MediaItem; @@ -37,18 +38,27 @@ import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import org.checkerframework.checker.initialization.qual.UnderInitialization; /** Base implementation of MediaBrowser. */ /* package */ class MediaBrowserImplBase extends MediaControllerImplBase implements MediaBrowser.MediaBrowserImpl { + private final MediaBrowser instance; + MediaBrowserImplBase( - Context context, MediaController instance, SessionToken token, Bundle connectionHints) { - super(context, instance, token, connectionHints); + Context context, + @UnderInitialization MediaBrowser instance, + SessionToken token, + Bundle connectionHints, + Looper applicationLooper) { + super(context, instance, token, connectionHints, applicationLooper); + this.instance = instance; } - MediaBrowser getMediaBrowser() { - return (MediaBrowser) instance; + @Override + /* package */ MediaBrowser getInstance() { + return instance; } @Override @@ -157,10 +167,10 @@ void notifySearchResultChanged( if (!isConnected()) { return; } - getMediaBrowser() + getInstance() .notifyBrowserListener( listener -> - listener.onSearchResultChanged(getMediaBrowser(), query, itemCount, libraryParams)); + listener.onSearchResultChanged(getInstance(), query, itemCount, libraryParams)); } void notifyChildrenChanged( @@ -168,10 +178,10 @@ void notifyChildrenChanged( if (!isConnected()) { return; } - getMediaBrowser() + getInstance() .notifyBrowserListener( listener -> - listener.onChildrenChanged(getMediaBrowser(), parentId, itemCount, libraryParams)); + listener.onChildrenChanged(getInstance(), parentId, itemCount, libraryParams)); } private ListenableFuture> dispatchRemoteLibrarySessionTask( diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplLegacy.java index b5e758846eb..742c31e8797 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaBrowserImplLegacy.java @@ -22,6 +22,7 @@ import android.content.Context; import android.os.Bundle; +import android.os.Looper; import android.support.v4.media.MediaBrowserCompat; import android.support.v4.media.MediaBrowserCompat.ItemCallback; import android.support.v4.media.MediaBrowserCompat.SubscriptionCallback; @@ -38,6 +39,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import org.checkerframework.checker.initialization.qual.UnderInitialization; /** Implementation of MediaBrowser with the {@link MediaBrowserCompat} for legacy support. */ /* package */ class MediaBrowserImplLegacy extends MediaControllerImplLegacy @@ -49,12 +51,20 @@ private final HashMap> subscribeCallbacks = new HashMap<>(); - MediaBrowserImplLegacy(Context context, MediaBrowser instance, SessionToken token) { - super(context, instance, token); + private final MediaBrowser instance; + + MediaBrowserImplLegacy( + Context context, + @UnderInitialization MediaBrowser instance, + SessionToken token, + Looper applicationLooper) { + super(context, instance, token, applicationLooper); + this.instance = instance; } - MediaBrowser getMediaBrowser() { - return (MediaBrowser) instance; + @Override + /* package*/ MediaBrowser getInstance() { + return instance; } @Override @@ -78,7 +88,8 @@ public SessionCommands getAvailableSessionCommands() { @Override public ListenableFuture> getLibraryRoot(@Nullable LibraryParams params) { - if (!instance.isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT)) { + if (!getInstance() + .isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_LIBRARY_ROOT)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } SettableFuture> result = SettableFuture.create(); @@ -103,7 +114,7 @@ public ListenableFuture> getLibraryRoot(@Nullable Libra @Override public ListenableFuture> subscribe( String parentId, @Nullable LibraryParams params) { - if (!instance.isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_SUBSCRIBE)) { + if (!getInstance().isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_SUBSCRIBE)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } MediaBrowserCompat browserCompat = getBrowserCompat(); @@ -124,7 +135,7 @@ public ListenableFuture> subscribe( @Override public ListenableFuture> unsubscribe(String parentId) { - if (!instance.isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_UNSUBSCRIBE)) { + if (!getInstance().isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_UNSUBSCRIBE)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } MediaBrowserCompat browserCompat = getBrowserCompat(); @@ -148,7 +159,8 @@ public ListenableFuture> unsubscribe(String parentId) { @Override public ListenableFuture>> getChildren( String parentId, int page, int pageSize, @Nullable LibraryParams params) { - if (!instance.isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_CHILDREN)) { + if (!getInstance() + .isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_CHILDREN)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } MediaBrowserCompat browserCompat = getBrowserCompat(); @@ -164,7 +176,7 @@ public ListenableFuture>> getChildren( @Override public ListenableFuture> getItem(String mediaId) { - if (!instance.isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM)) { + if (!getInstance().isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_ITEM)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } MediaBrowserCompat browserCompat = getBrowserCompat(); @@ -196,7 +208,7 @@ public void onError(String itemId) { @Override public ListenableFuture> search( String query, @Nullable LibraryParams params) { - if (!instance.isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_SEARCH)) { + if (!getInstance().isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_SEARCH)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } MediaBrowserCompat browserCompat = getBrowserCompat(); @@ -210,7 +222,7 @@ public ListenableFuture> search( @Override public void onSearchResult( String query, Bundle extras, List items) { - getMediaBrowser() + getInstance() .notifyBrowserListener( listener -> { // Set extra null here, because 'extra' have different meanings between old @@ -218,20 +230,20 @@ public void onSearchResult( // - Old API: Extra/Option specified with search(). // - New API: Extra from MediaLibraryService to MediaBrowser // TODO(b/193193565): Cache search result for later getSearchResult() calls. - listener.onSearchResultChanged(getMediaBrowser(), query, items.size(), null); + listener.onSearchResultChanged(getInstance(), query, items.size(), null); }); } @Override public void onError(String query, Bundle extras) { - getMediaBrowser() + getInstance() .notifyBrowserListener( listener -> { // Set extra null here, because 'extra' have different meanings between old // API and new API as follows. // - Old API: Extra/Option specified with search(). // - New API: Extra from MediaLibraryService to MediaBrowser - listener.onSearchResultChanged(getMediaBrowser(), query, 0, null); + listener.onSearchResultChanged(getInstance(), query, 0, null); }); } }); @@ -242,8 +254,8 @@ public void onError(String query, Bundle extras) { @Override public ListenableFuture>> getSearchResult( String query, int page, int pageSize, @Nullable LibraryParams params) { - if (!instance.isSessionCommandAvailable( - SessionCommand.COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT)) { + if (!getInstance() + .isSessionCommandAvailable(SessionCommand.COMMAND_CODE_LIBRARY_GET_SEARCH_RESULT)) { return Futures.immediateFuture(LibraryResult.ofError(RESULT_ERROR_PERMISSION_DENIED)); } MediaBrowserCompat browserCompat = getBrowserCompat(); @@ -401,11 +413,11 @@ private void onChildrenLoadedInternal( LibraryParams params = MediaUtils.convertToLibraryParams( context, browserCompat.getNotifyChildrenChangedOptions()); - getMediaBrowser() + getInstance() .notifyBrowserListener( listener -> { // TODO(b/193193565): Cache children result for later getChildren() calls. - listener.onChildrenChanged(getMediaBrowser(), parentId, itemCount, params); + listener.onChildrenChanged(getInstance(), parentId, itemCount, params); }); future.set(LibraryResult.ofVoid()); } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index 7b474770a31..7e51ee2d17d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -64,7 +64,8 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Executor; import java.util.concurrent.Future; -import org.checkerframework.checker.initialization.qual.Initialized; +import org.checkerframework.checker.initialization.qual.NotOnlyInitialized; +import org.checkerframework.checker.initialization.qual.UnderInitialization; /** * A controller that interacts with a {@link MediaSession}, a {@link MediaSessionService} hosting a @@ -375,7 +376,7 @@ default void onExtrasChanged(MediaController controller, Bundle extras) {} private boolean released; - /* package */ final MediaControllerImpl impl; + @NotOnlyInitialized private final MediaControllerImpl impl; /* package */ final Listener listener; @@ -407,19 +408,21 @@ default void onExtrasChanged(MediaController controller, Bundle extras) {} applicationHandler = new Handler(applicationLooper); this.connectionCallback = connectionCallback; - @SuppressWarnings("nullness:assignment") - @Initialized - MediaController thisRef = this; - impl = thisRef.createImpl(context, thisRef, token, connectionHints); + impl = createImpl(context, token, connectionHints, applicationLooper); impl.connect(); } - /* package */ MediaControllerImpl createImpl( - Context context, MediaController thisRef, SessionToken token, Bundle connectionHints) { + /* package */ @UnderInitialization + MediaControllerImpl createImpl( + @UnderInitialization MediaController this, + Context context, + SessionToken token, + Bundle connectionHints, + Looper applicationLooper) { if (token.isLegacySession()) { - return new MediaControllerImplLegacy(context, thisRef, token); + return new MediaControllerImplLegacy(context, this, token, applicationLooper); } else { - return new MediaControllerImplBase(context, thisRef, token, connectionHints); + return new MediaControllerImplBase(context, this, token, connectionHints, applicationLooper); } } @@ -1805,7 +1808,7 @@ private void verifyApplicationThread() { interface MediaControllerImpl { - void connect(); + void connect(@UnderInitialization MediaControllerImpl this); void addListener(Player.Listener listener); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index e27d40cd5c9..46652a4036a 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -154,6 +154,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import java.util.concurrent.TimeoutException; +import org.checkerframework.checker.initialization.qual.UnderInitialization; import org.checkerframework.checker.nullness.qual.NonNull; @SuppressWarnings("FutureReturnValueIgnored") // TODO(b/138091975): Not to ignore if feasible @@ -161,7 +162,7 @@ public static final String TAG = "MCImplBase"; - protected final MediaController instance; + private final MediaController instance; protected final SequencedFutureManager sequencedFutureManager; protected final MediaControllerStub controllerStub; @@ -192,7 +193,11 @@ private long lastSetPlayWhenReadyCalledTimeMs; public MediaControllerImplBase( - Context context, MediaController instance, SessionToken token, Bundle connectionHints) { + Context context, + @UnderInitialization MediaController instance, + SessionToken token, + Bundle connectionHints, + Looper applicationLooper) { // Initialize default values. playerInfo = PlayerInfo.DEFAULT; sessionCommands = SessionCommands.EMPTY; @@ -201,9 +206,9 @@ public MediaControllerImplBase( intersectedPlayerCommands = Commands.EMPTY; listeners = new ListenerSet<>( - instance.getApplicationLooper(), + applicationLooper, Clock.DEFAULT, - (listener, flags) -> listener.onEvents(instance, new Events(flags))); + (listener, flags) -> listener.onEvents(getInstance(), new Events(flags))); // Initialize members this.instance = instance; @@ -216,21 +221,26 @@ public MediaControllerImplBase( this.connectionHints = connectionHints; deathRecipient = () -> - MediaControllerImplBase.this.instance.runOnApplicationLooper( - MediaControllerImplBase.this.instance::release); + MediaControllerImplBase.this + .getInstance() + .runOnApplicationLooper(MediaControllerImplBase.this.getInstance()::release); surfaceCallback = new SurfaceCallback(); serviceConnection = (this.token.getType() == TYPE_SESSION) ? null : new SessionServiceConnection(connectionHints); - flushCommandQueueHandler = new FlushCommandQueueHandler(instance.getApplicationLooper()); + flushCommandQueueHandler = new FlushCommandQueueHandler(applicationLooper); lastReturnedContentPositionMs = C.TIME_UNSET; lastSetPlayWhenReadyCalledTimeMs = C.TIME_UNSET; } + /* package*/ MediaController getInstance() { + return instance; + } + @Override - public void connect() { + public void connect(@UnderInitialization MediaControllerImplBase this) { boolean connectionRequested; if (this.token.getType() == TYPE_SESSION) { // Session @@ -241,7 +251,7 @@ public void connect() { connectionRequested = requestConnectToService(); } if (!connectionRequested) { - this.instance.runOnApplicationLooper(MediaControllerImplBase.this.instance::release); + getInstance().runOnApplicationLooper(getInstance()::release); } } @@ -640,8 +650,8 @@ public long getCurrentPosition() { return playerInfo.sessionPositionInfo.positionInfo.positionMs; } long elapsedTimeMs = - (instance.getTimeDiffMs() != C.TIME_UNSET) - ? instance.getTimeDiffMs() + (getInstance().getTimeDiffMs() != C.TIME_UNSET) + ? getInstance().getTimeDiffMs() : SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs; long estimatedPositionMs = playerInfo.sessionPositionInfo.positionInfo.positionMs @@ -694,8 +704,8 @@ public long getContentPosition() { } long elapsedTimeMs = - (instance.getTimeDiffMs() != C.TIME_UNSET) - ? instance.getTimeDiffMs() + (getInstance().getTimeDiffMs() != C.TIME_UNSET) + ? getInstance().getTimeDiffMs() : SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs; long estimatedPositionMs = playerInfo.sessionPositionInfo.positionInfo.contentPositionMs @@ -2289,7 +2299,7 @@ void onConnected(ConnectionState result) { TAG, "Cannot be notified about the connection result many times." + " Probably a bug or malicious app."); - instance.release(); + getInstance().release(); return; } iSession = result.sessionBinder; @@ -2304,7 +2314,7 @@ void onConnected(ConnectionState result) { // so can be used without worrying about deadlock. result.sessionBinder.asBinder().linkToDeath(deathRecipient, 0); } catch (RemoteException e) { - instance.release(); + getInstance().release(); return; } connectedToken = @@ -2315,7 +2325,7 @@ void onConnected(ConnectionState result) { token.getPackageName(), result.sessionBinder, result.tokenExtras); - instance.notifyAccepted(); + getInstance().notifyAccepted(); } private void sendControllerResult(int seq, SessionResult result) { @@ -2350,14 +2360,15 @@ void onCustomCommand(int seq, SessionCommand command, Bundle args) { if (!isConnected()) { return; } - instance.notifyControllerListener( - listener -> { - ListenableFuture future = - checkNotNull( - listener.onCustomCommand(instance, command, args), - "ControllerCallback#onCustomCommand() must not return null"); - sendControllerResultWhenReady(seq, future); - }); + getInstance() + .notifyControllerListener( + listener -> { + ListenableFuture future = + checkNotNull( + listener.onCustomCommand(getInstance(), command, args), + "ControllerCallback#onCustomCommand() must not return null"); + sendControllerResultWhenReady(seq, future); + }); } @SuppressWarnings("deprecation") // Implementing and calling deprecated listener method. @@ -2558,8 +2569,10 @@ void onAvailableCommandsChangedFromSession( listener -> listener.onAvailableCommandsChanged(intersectedPlayerCommands)); } if (sessionCommandsChanged) { - instance.notifyControllerListener( - listener -> listener.onAvailableSessionCommandsChanged(instance, sessionCommands)); + getInstance() + .notifyControllerListener( + listener -> + listener.onAvailableSessionCommandsChanged(getInstance(), sessionCommands)); } } @@ -2596,21 +2609,23 @@ void onSetCustomLayout(int seq, List layout) { validatedCustomLayout.add(button); } } - instance.notifyControllerListener( - listener -> { - ListenableFuture future = - checkNotNull( - listener.onSetCustomLayout(instance, validatedCustomLayout), - "MediaController.Listener#onSetCustomLayout() must not return null"); - sendControllerResultWhenReady(seq, future); - }); + getInstance() + .notifyControllerListener( + listener -> { + ListenableFuture future = + checkNotNull( + listener.onSetCustomLayout(getInstance(), validatedCustomLayout), + "MediaController.Listener#onSetCustomLayout() must not return null"); + sendControllerResultWhenReady(seq, future); + }); } public void onExtrasChanged(Bundle extras) { if (!isConnected()) { return; } - instance.notifyControllerListener(listener -> listener.onExtrasChanged(instance, extras)); + getInstance() + .notifyControllerListener(listener -> listener.onExtrasChanged(getInstance(), extras)); } public void onRenderedFirstFrame() { @@ -2961,7 +2976,7 @@ public void onServiceConnected(ComponentName name, IBinder service) { Log.w(TAG, "Service " + name + " has died prematurely"); } finally { if (!connectionRequested) { - instance.runOnApplicationLooper(instance::release); + getInstance().runOnApplicationLooper(getInstance()::release); } } } @@ -2972,7 +2987,7 @@ public void onServiceDisconnected(ComponentName name) { // rebind, but we'd better to release() here. Otherwise ControllerCallback#onConnected() // would be called multiple times, and the controller would be connected to the // different session everytime. - instance.runOnApplicationLooper(instance::release); + getInstance().runOnApplicationLooper(getInstance()::release); } @Override @@ -2980,7 +2995,7 @@ public void onBindingDied(ComponentName name) { // Permanent lose of the binding because of the service package update or removed. // This SessionServiceRecord will be removed accordingly, but forget session binder here // for sure. - instance.runOnApplicationLooper(instance::release); + getInstance().runOnApplicationLooper(getInstance()::release); } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 893c6ecd929..25489f65277 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -46,6 +46,7 @@ import android.media.AudioManager; import android.os.Bundle; import android.os.Handler; +import android.os.Looper; import android.os.ResultReceiver; import android.os.SystemClock; import android.support.v4.media.MediaBrowserCompat; @@ -98,6 +99,7 @@ import java.util.Collections; import java.util.List; import java.util.concurrent.Future; +import org.checkerframework.checker.initialization.qual.UnderInitialization; import org.checkerframework.checker.nullness.compatqual.NullableType; /* package */ class MediaControllerImplLegacy implements MediaController.MediaControllerImpl { @@ -110,7 +112,7 @@ new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); /* package */ final Context context; - /* package */ final MediaController instance; + private final MediaController instance; private final SessionToken token; private final ListenerSet listeners; @@ -124,26 +126,34 @@ private LegacyPlayerInfo pendingLegacyPlayerInfo; private ControllerInfo controllerInfo; - public MediaControllerImplLegacy(Context context, MediaController instance, SessionToken token) { + public MediaControllerImplLegacy( + Context context, + @UnderInitialization MediaController instance, + SessionToken token, + Looper applicationLooper) { // Initialize default values. legacyPlayerInfo = new LegacyPlayerInfo(); pendingLegacyPlayerInfo = new LegacyPlayerInfo(); controllerInfo = new ControllerInfo(); listeners = new ListenerSet<>( - instance.getApplicationLooper(), + applicationLooper, Clock.DEFAULT, - (listener, flags) -> listener.onEvents(instance, new Events(flags))); + (listener, flags) -> listener.onEvents(getInstance(), new Events(flags))); // Initialize members. this.context = context; this.instance = instance; - controllerCompatCallback = new ControllerCompatCallback(); + controllerCompatCallback = new ControllerCompatCallback(applicationLooper); this.token = token; } + /* package */ MediaController getInstance() { + return instance; + } + @Override - public void connect() { + public void connect(@UnderInitialization MediaControllerImplLegacy this) { if (this.token.getType() == SessionToken.TYPE_SESSION) { connectToSession((MediaSessionCompat.Token) checkStateNotNull(this.token.getBinder())); } else { @@ -590,7 +600,7 @@ public ListenableFuture sendCustomCommand(SessionCommand command, } SettableFuture result = SettableFuture.create(); ResultReceiver cb = - new ResultReceiver(instance.applicationHandler) { + new ResultReceiver(getInstance().applicationHandler) { @Override protected void onReceiveResult(int resultCode, Bundle resultData) { result.set( @@ -1233,36 +1243,43 @@ void onConnectedNotLocked() { } private void connectToSession(MediaSessionCompat.Token sessionCompatToken) { - instance.runOnApplicationLooper( - () -> { - controllerCompat = new MediaControllerCompat(context, sessionCompatToken); - // Note: registerCallback() will invoke MediaControllerCompat.Callback#onSessionReady() - // if the controller is already ready. - controllerCompat.registerCallback(controllerCompatCallback, instance.applicationHandler); - }); + getInstance() + .runOnApplicationLooper( + () -> { + controllerCompat = new MediaControllerCompat(context, sessionCompatToken); + // Note: registerCallback() will invoke + // MediaControllerCompat.Callback#onSessionReady() + // if the controller is already ready. + controllerCompat.registerCallback( + controllerCompatCallback, getInstance().applicationHandler); + }); // Post a runnable to prevent callbacks from being called by onConnectedNotLocked() // before the constructor returns (b/196941334). - instance.applicationHandler.post( - () -> { - if (!controllerCompat.isSessionReady()) { - // If the session not ready here, then call onConnectedNotLocked() immediately. The - // session may be a framework MediaSession and we cannot know whether it can be ready - // later. - onConnectedNotLocked(); - } - }); + getInstance() + .applicationHandler + .post( + () -> { + if (!controllerCompat.isSessionReady()) { + // If the session not ready here, then call onConnectedNotLocked() immediately. The + // session may be a framework MediaSession and we cannot know whether it can be + // ready + // later. + onConnectedNotLocked(); + } + }); } private void connectToService() { - instance.runOnApplicationLooper( - () -> { - // BrowserCompat can only be used on the thread that it's created. - // Create it on the application looper to respect that. - browserCompat = - new MediaBrowserCompat( - context, token.getComponentName(), new ConnectionCallback(), null); - browserCompat.connect(); - }); + getInstance() + .runOnApplicationLooper( + () -> { + // BrowserCompat can only be used on the thread that it's created. + // Create it on the application looper to respect that. + browserCompat = + new MediaBrowserCompat( + context, token.getComponentName(), new ConnectionCallback(), null); + browserCompat.connect(); + }); } private boolean isPrepared() { @@ -1365,14 +1382,14 @@ private void handleNewLegacyParameters( controllerCompat.getFlags(), controllerCompat.isSessionReady(), controllerCompat.getRatingType(), - instance.getTimeDiffMs()); + getInstance().getTimeDiffMs()); Pair<@NullableType Integer, @NullableType Integer> reasons = calculateDiscontinuityAndTransitionReason( legacyPlayerInfo, controllerInfo, newLegacyPlayerInfo, newControllerInfo, - instance.getTimeDiffMs()); + getInstance().getTimeDiffMs()); updateControllerInfo( notifyConnected, newLegacyPlayerInfo, @@ -1412,11 +1429,13 @@ private void updateControllerInfo( controllerInfo = newControllerInfo; if (notifyConnected) { - instance.notifyAccepted(); + getInstance().notifyAccepted(); if (!oldControllerInfo.customLayout.equals(newControllerInfo.customLayout)) { - instance.notifyControllerListener( - listener -> - ignoreFuture(listener.onSetCustomLayout(instance, newControllerInfo.customLayout))); + getInstance() + .notifyControllerListener( + listener -> + ignoreFuture( + listener.onSetCustomLayout(getInstance(), newControllerInfo.customLayout))); } return; } @@ -1537,15 +1556,18 @@ private void updateControllerInfo( } if (!oldControllerInfo.availableSessionCommands.equals( newControllerInfo.availableSessionCommands)) { - instance.notifyControllerListener( - listener -> - listener.onAvailableSessionCommandsChanged( - instance, newControllerInfo.availableSessionCommands)); + getInstance() + .notifyControllerListener( + listener -> + listener.onAvailableSessionCommandsChanged( + getInstance(), newControllerInfo.availableSessionCommands)); } if (!oldControllerInfo.customLayout.equals(newControllerInfo.customLayout)) { - instance.notifyControllerListener( - listener -> - ignoreFuture(listener.onSetCustomLayout(instance, newControllerInfo.customLayout))); + getInstance() + .notifyControllerListener( + listener -> + ignoreFuture( + listener.onSetCustomLayout(getInstance(), newControllerInfo.customLayout))); } listeners.flushEvents(); } @@ -1566,12 +1588,12 @@ public void onConnected() { @Override public void onConnectionSuspended() { - instance.release(); + getInstance().release(); } @Override public void onConnectionFailed() { - instance.release(); + getInstance().release(); } } @@ -1581,10 +1603,10 @@ private final class ControllerCompatCallback extends MediaControllerCompat.Callb private final Handler pendingChangesHandler; - public ControllerCompatCallback() { + public ControllerCompatCallback(Looper applicationLooper) { pendingChangesHandler = new Handler( - instance.applicationHandler.getLooper(), + applicationLooper, (msg) -> { if (msg.what == MSG_HANDLE_PENDING_UPDATES) { handleNewLegacyParameters(/* notifyConnected= */ false, pendingLegacyPlayerInfo); @@ -1620,16 +1642,19 @@ public void onSessionReady() { @Override public void onSessionDestroyed() { - instance.release(); + getInstance().release(); } @Override public void onSessionEvent(String event, Bundle extras) { - instance.notifyControllerListener( - listener -> - ignoreFuture( - listener.onCustomCommand( - instance, new SessionCommand(event, /* extras= */ Bundle.EMPTY), extras))); + getInstance() + .notifyControllerListener( + listener -> + ignoreFuture( + listener.onCustomCommand( + getInstance(), + new SessionCommand(event, /* extras= */ Bundle.EMPTY), + extras))); } @Override @@ -1661,7 +1686,8 @@ public void onQueueTitleChanged(CharSequence title) { @Override public void onExtrasChanged(Bundle extras) { - instance.notifyControllerListener(listener -> listener.onExtrasChanged(instance, extras)); + getInstance() + .notifyControllerListener(listener -> listener.onExtrasChanged(getInstance(), extras)); } @Override @@ -1672,17 +1698,19 @@ public void onAudioInfoChanged(MediaControllerCompat.PlaybackInfo newPlaybackInf @Override public void onCaptioningEnabledChanged(boolean enabled) { - instance.notifyControllerListener( - listener -> { - Bundle args = new Bundle(); - args.putBoolean(ARGUMENT_CAPTIONING_ENABLED, enabled); - ignoreFuture( - listener.onCustomCommand( - instance, - new SessionCommand( - SESSION_COMMAND_ON_CAPTIONING_ENABLED_CHANGED, /* extras= */ Bundle.EMPTY), - args)); - }); + getInstance() + .notifyControllerListener( + listener -> { + Bundle args = new Bundle(); + args.putBoolean(ARGUMENT_CAPTIONING_ENABLED, enabled); + ignoreFuture( + listener.onCustomCommand( + getInstance(), + new SessionCommand( + SESSION_COMMAND_ON_CAPTIONING_ENABLED_CHANGED, + /* extras= */ Bundle.EMPTY), + args)); + }); } @Override diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java index 9d86ac05be7..1e27fd8e65a 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java @@ -87,7 +87,8 @@ public void onConnected(int seq, Bundle connectionResultBundle) { @Override public void onDisconnected(int seq) { dispatchControllerTaskOnHandler( - controller -> controller.instance.runOnApplicationLooper(controller.instance::release)); + controller -> + controller.getInstance().runOnApplicationLooper(controller.getInstance()::release)); } @Override @@ -268,7 +269,7 @@ private void dispatchControllerTaskOnHandler if (controller == null) { return; } - Handler handler = controller.instance.applicationHandler; + Handler handler = controller.getInstance().applicationHandler; postOrRun( handler, () -> { From 29246fb1b243f664017e46ebba4807d0298a38ac Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 21 Jul 2022 10:10:22 +0000 Subject: [PATCH 090/422] Ensure pending commands are still sent in MediaController.release() We currently clear all pending messages, including the one that flushes pending commands to the MediaSession. To ensure all commands that have been called before controller.release() are still sent, we can manually trigger the flush message from the release call. Related to handling the final flush because disconnecting the controller, MediaSessionStub didn't post the removal of the controller to the session thread, creating a race condition between removing the controller and actually handling the flush. Issue: androidx/media#99 PiperOrigin-RevId: 462342860 (cherry picked from commit ee209690cb54fc800cf3a213f5075c9aaf51463c) --- RELEASENOTES.md | 2 + .../session/MediaControllerImplBase.java | 43 ++++++++++++------- .../media3/session/MediaSessionStub.java | 8 +++- .../MediaSessionAndControllerTest.java | 23 ++++++++++ 4 files changed, 60 insertions(+), 16 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0a2d83b7422..590bf23c0eb 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -25,6 +25,8 @@ channel name used by the provider. Also, add method `DefaultNotificationProvider.setSmallIcon(int)` to set the notifications small icon ([#104](https://github.com/androidx/media/issues/104)). + * Ensure commands sent before `MediaController.release()` are not dropped + ([#99](https://github.com/androidx/media/issues/99)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index 46652a4036a..df7d2e5b008 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -320,7 +320,7 @@ public void release() { serviceConnection = null; } connectedToken = null; - flushCommandQueueHandler.removeCallbacksAndMessages(/* token= */ null); + flushCommandQueueHandler.release(); this.iSession = null; controllerStub.destroy(); if (iSession != null) { @@ -3070,30 +3070,43 @@ public void onSurfaceTextureUpdated(SurfaceTexture surface) { } } - private class FlushCommandQueueHandler extends Handler { + private class FlushCommandQueueHandler { private static final int MSG_FLUSH_COMMAND_QUEUE = 1; + private final Handler handler; + public FlushCommandQueueHandler(Looper looper) { - super(looper); + handler = new Handler(looper, /* callback= */ this::handleMessage); } - @Override - public void handleMessage(Message msg) { + public void sendFlushCommandQueueMessage() { + if (iSession != null && !handler.hasMessages(MSG_FLUSH_COMMAND_QUEUE)) { + // Send message to notify the end of the transaction. It will be handled when the current + // looper iteration is over. + handler.sendEmptyMessage(MSG_FLUSH_COMMAND_QUEUE); + } + } + + public void release() { + if (handler.hasMessages(MSG_FLUSH_COMMAND_QUEUE)) { + flushCommandQueue(); + } + handler.removeCallbacksAndMessages(/* token= */ null); + } + + private boolean handleMessage(Message msg) { if (msg.what == MSG_FLUSH_COMMAND_QUEUE) { - try { - iSession.flushCommandQueue(controllerStub); - } catch (RemoteException e) { - Log.w(TAG, "Error in sending flushCommandQueue"); - } + flushCommandQueue(); } + return true; } - public void sendFlushCommandQueueMessage() { - if (iSession != null && !hasMessages(MSG_FLUSH_COMMAND_QUEUE)) { - // Send message to notify the end of the transaction. It will be handled when the current - // looper iteration is over. - sendEmptyMessage(MSG_FLUSH_COMMAND_QUEUE); + private void flushCommandQueue() { + try { + iSession.flushCommandQueue(controllerStub); + } catch (RemoteException e) { + Log.w(TAG, "Error in sending flushCommandQueue"); } } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index 1f40a89885c..4915c09de52 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -552,7 +552,13 @@ public void release(@Nullable IMediaController caller, int sequenceNumber) } long token = Binder.clearCallingIdentity(); try { - connectedControllersManager.removeController(caller.asBinder()); + @Nullable MediaSessionImpl sessionImpl = this.sessionImpl.get(); + if (sessionImpl == null || sessionImpl.isReleased()) { + return; + } + postOrRun( + sessionImpl.getApplicationHandler(), + () -> connectedControllersManager.removeController(caller.asBinder())); } finally { Binder.restoreCallingIdentity(token); } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionAndControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionAndControllerTest.java index a31ea620392..c4def47aad8 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionAndControllerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionAndControllerTest.java @@ -225,4 +225,27 @@ public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playWhenReadyRef.get()).isEqualTo(testPlayWhenReady); } + + @Test + public void commandBeforeControllerRelease_handledBySession() throws Exception { + MockPlayer player = + new MockPlayer.Builder().setApplicationLooper(Looper.getMainLooper()).build(); + MediaSession session = + sessionTestRule.ensureReleaseAfterTest( + new MediaSession.Builder(context, player).setId(TAG).build()); + MediaController controller = controllerTestRule.createController(session.getToken()); + + threadTestRule + .getHandler() + .postAndSync( + () -> { + controller.prepare(); + controller.play(); + controller.release(); + }); + + // Assert these methods are called without timing out. + player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS); + player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); + } } From f4e39246762d67736aa9fe5146cbf1e36167fec0 Mon Sep 17 00:00:00 2001 From: olly Date: Thu, 21 Jul 2022 14:03:54 +0000 Subject: [PATCH 091/422] Expand setOutputSurface workaround to more FireOS devices Issue: google/ExoPlayer#10454 PiperOrigin-RevId: 462375294 (cherry picked from commit 649b70f935ab688428cf69f01605f9902ca822ee) --- .../video/MediaCodecVideoRenderer.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java index 6c091844a4a..cbdd31e52b5 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java @@ -1763,6 +1763,21 @@ private static boolean evaluateDeviceNeedsSetOutputSurfaceWorkaround() { // https://github.com/google/ExoPlayer/issues/4468#issuecomment-459291645. return true; } + switch (Util.MODEL) { + // Workaround for some Fire OS devices. + case "AFTA": + case "AFTN": + case "AFTR": + case "AFTEU011": + case "AFTEU014": + case "AFTEUFF014": + case "AFTJMST12": + case "AFTKMST12": + case "AFTSO001": + return true; + default: + break; // Do nothing. + } if (Util.SDK_INT <= 26) { // In general, devices running API level 27 or later should be unaffected unless observed // otherwise. Enable the workaround on a per-device basis. Works around: @@ -1929,8 +1944,6 @@ private static boolean evaluateDeviceNeedsSetOutputSurfaceWorkaround() { break; // Do nothing. } switch (Util.MODEL) { - case "AFTA": - case "AFTN": case "JSN-L21": return true; default: From 878279425b51bd9194edb8a4bcd19fc2c541c12d Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 21 Jul 2022 15:24:07 +0000 Subject: [PATCH 092/422] Annotate methods that always return `this` with `@CanIgnoreReturnValue` It's always safe to ignore the result of these methods, because the caller already has a reference to the returned value. PiperOrigin-RevId: 462388947 (cherry picked from commit 2deb435625c7569cb0bd250848adaa846884dc50) --- .../androidx/media3/common/AdOverlayInfo.java | 2 + .../media3/common/AudioAttributes.java | 6 + .../java/androidx/media3/common/FlagSet.java | 8 ++ .../java/androidx/media3/common/Format.java | 32 +++++ .../androidx/media3/common/MediaItem.java | 73 ++++++++++++ .../androidx/media3/common/MediaMetadata.java | 37 ++++++ .../java/androidx/media3/common/Player.java | 9 ++ .../java/androidx/media3/common/Timeline.java | 4 + .../common/TrackSelectionParameters.java | 34 ++++++ .../java/androidx/media3/common/text/Cue.java | 16 +++ .../common/util/SystemHandlerWrapper.java | 2 + .../androidx/media3/datasource/DataSpec.java | 12 ++ .../media3/datasource/DefaultDataSource.java | 2 + .../datasource/DefaultHttpDataSource.java | 9 ++ .../media3/datasource/FileDataSource.java | 2 + .../media3/datasource/HttpDataSource.java | 2 + .../datasource/cache/CacheDataSink.java | 4 + .../datasource/cache/CacheDataSource.java | 10 ++ .../cache/ContentMetadataMutations.java | 6 + libraries/datasource_cronet/build.gradle | 1 + .../datasource/cronet/CronetDataSource.java | 12 ++ libraries/datasource_okhttp/build.gradle | 1 + .../datasource/okhttp/OkHttpDataSource.java | 6 + libraries/datasource_rtmp/build.gradle | 1 + .../datasource/rtmp/RtmpDataSource.java | 2 + .../DefaultLivePlaybackSpeedControl.java | 8 ++ .../media3/exoplayer/DefaultLoadControl.java | 6 + .../exoplayer/DefaultRenderersFactory.java | 11 ++ .../androidx/media3/exoplayer/ExoPlayer.java | 26 ++++ .../media3/exoplayer/ExoPlayerImpl.java | 5 + .../media3/exoplayer/PlayerMessage.java | 10 ++ .../media3/exoplayer/SimpleExoPlayer.java | 24 ++++ .../exoplayer/audio/DefaultAudioSink.java | 8 ++ .../DefaultAudioTrackBufferSizeProvider.java | 7 ++ .../drm/DefaultDrmSessionManager.java | 8 ++ .../DefaultMediaCodecAdapterFactory.java | 3 + .../exoplayer/offline/DownloadRequest.java | 6 + .../source/DefaultMediaSourceFactory.java | 15 +++ .../source/ProgressiveMediaSource.java | 4 + .../exoplayer/source/SilenceMediaSource.java | 3 + .../source/SingleSampleMediaSource.java | 5 + .../trackselection/DefaultTrackSelector.java | 112 ++++++++++++++++++ .../upstream/DefaultBandwidthMeter.java | 7 ++ .../media3/exoplayer/ExoPlayerTest.java | 2 + libraries/exoplayer_dash/build.gradle | 1 + .../exoplayer/dash/DashMediaSource.java | 6 + libraries/exoplayer_hls/build.gradle | 1 + .../media3/exoplayer/hls/HlsMediaSource.java | 11 ++ libraries/exoplayer_ima/build.gradle | 1 + .../media3/exoplayer/ima/ImaAdsLoader.java | 17 +++ .../ImaServerSideAdInsertionMediaSource.java | 8 ++ .../ImaServerSideAdInsertionUriBuilder.java | 13 ++ libraries/exoplayer_rtsp/build.gradle | 1 + .../exoplayer/rtsp/MediaDescription.java | 6 + .../media3/exoplayer/rtsp/RtpPacket.java | 9 ++ .../media3/exoplayer/rtsp/RtspHeaders.java | 4 + .../exoplayer/rtsp/RtspMediaSource.java | 6 + .../exoplayer/rtsp/SessionDescription.java | 13 ++ .../exoplayer_smoothstreaming/build.gradle | 1 + .../smoothstreaming/SsMediaSource.java | 6 + libraries/extractor/build.gradle | 1 + .../extractor/DefaultExtractorsFactory.java | 13 ++ .../media3/extractor/text/ttml/TtmlStyle.java | 21 ++++ .../extractor/text/webvtt/WebvttCssStyle.java | 12 ++ .../media3/session/CommandButton.java | 7 ++ .../androidx/media3/session/MediaBrowser.java | 4 + .../media3/session/MediaController.java | 4 + .../media3/session/MediaLibraryService.java | 5 + .../session/MediaStyleNotificationHelper.java | 4 + .../androidx/media3/session/PlayerInfo.java | 31 +++++ .../media3/session/SessionCommands.java | 14 ++- .../playback/gts/DashTestRunner.java | 10 ++ .../androidx/media3/session/MockPlayer.java | 4 + .../media3/session/RemoteMediaSession.java | 39 ++++++ .../media3/test/utils/ActionSchedule.java | 45 +++++++ .../media3/test/utils/CacheAsserts.java | 5 + .../test/utils/DataSourceContractTest.java | 5 + .../media3/test/utils/DownloadBuilder.java | 16 +++ .../androidx/media3/test/utils/Dumper.java | 8 ++ .../test/utils/ExoPlayerTestRunner.java | 24 ++++ .../media3/test/utils/ExtractorAsserts.java | 3 + .../media3/test/utils/FakeDataSet.java | 6 + .../media3/test/utils/FakeDataSource.java | 3 + .../media3/test/utils/FakeExoMediaDrm.java | 5 + .../media3/test/utils/FakeExtractorInput.java | 5 + .../test/utils/TestExoPlayerBuilder.java | 12 ++ .../test/utils/WebServerDispatcher.java | 6 + .../transformer/TransformationTestResult.java | 5 + .../TransformerAndroidTestRunner.java | 5 + .../transformer/DefaultEncoderFactory.java | 4 + .../transformer/ScaleToFitTransformation.java | 3 + .../transformer/TransformationRequest.java | 9 ++ .../transformer/TransformationResult.java | 6 + .../media3/transformer/Transformer.java | 18 +++ .../transformer/VideoEncoderSettings.java | 7 ++ 95 files changed, 1033 insertions(+), 3 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java b/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java index 40d367aee97..e411912a9b0 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/AdOverlayInfo.java @@ -25,6 +25,7 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -77,6 +78,7 @@ public Builder(View view, @Purpose int purpose) { * * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setDetailedReason(@Nullable String detailedReason) { this.detailedReason = detailedReason; return this; diff --git a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java index b962fdc89ab..11a8ef15bd0 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java +++ b/libraries/common/src/main/java/androidx/media3/common/AudioAttributes.java @@ -24,6 +24,7 @@ import androidx.annotation.RequiresApi; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -94,30 +95,35 @@ public Builder() { } /** See {@link android.media.AudioAttributes.Builder#setContentType(int)} */ + @CanIgnoreReturnValue public Builder setContentType(@C.AudioContentType int contentType) { this.contentType = contentType; return this; } /** See {@link android.media.AudioAttributes.Builder#setFlags(int)} */ + @CanIgnoreReturnValue public Builder setFlags(@C.AudioFlags int flags) { this.flags = flags; return this; } /** See {@link android.media.AudioAttributes.Builder#setUsage(int)} */ + @CanIgnoreReturnValue public Builder setUsage(@C.AudioUsage int usage) { this.usage = usage; return this; } /** See {@link android.media.AudioAttributes.Builder#setAllowedCapturePolicy(int)}. */ + @CanIgnoreReturnValue public Builder setAllowedCapturePolicy(@C.AudioAllowedCapturePolicy int allowedCapturePolicy) { this.allowedCapturePolicy = allowedCapturePolicy; return this; } /** See {@link android.media.AudioAttributes.Builder#setSpatializationBehavior(int)}. */ + @CanIgnoreReturnValue public Builder setSpatializationBehavior(@C.SpatializationBehavior int spatializationBehavior) { this.spatializationBehavior = spatializationBehavior; return this; diff --git a/libraries/common/src/main/java/androidx/media3/common/FlagSet.java b/libraries/common/src/main/java/androidx/media3/common/FlagSet.java index 4d9b908432d..e67e4a6402a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FlagSet.java +++ b/libraries/common/src/main/java/androidx/media3/common/FlagSet.java @@ -22,6 +22,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** * A set of integer flags. @@ -53,6 +54,7 @@ public Builder() { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder add(int flag) { checkState(!buildCalled); flags.append(flag, /* value= */ true); @@ -67,6 +69,7 @@ public Builder add(int flag) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addIf(int flag, boolean condition) { if (condition) { return add(flag); @@ -81,6 +84,7 @@ public Builder addIf(int flag, boolean condition) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addAll(int... flags) { for (int flag : flags) { add(flag); @@ -95,6 +99,7 @@ public Builder addAll(int... flags) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addAll(FlagSet flags) { for (int i = 0; i < flags.size(); i++) { add(flags.get(i)); @@ -109,6 +114,7 @@ public Builder addAll(FlagSet flags) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder remove(int flag) { checkState(!buildCalled); flags.delete(flag); @@ -123,6 +129,7 @@ public Builder remove(int flag) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder removeIf(int flag, boolean condition) { if (condition) { return remove(flag); @@ -137,6 +144,7 @@ public Builder removeIf(int flag, boolean condition) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder removeAll(int... flags) { for (int flag : flags) { remove(flag); diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index b24b0430092..b90881e6369 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -24,6 +24,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Joiner; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -248,6 +249,7 @@ private Builder(Format format) { * @param id The {@link Format#id}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setId(@Nullable String id) { this.id = id; return this; @@ -260,6 +262,7 @@ public Builder setId(@Nullable String id) { * @param id The {@link Format#id}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setId(int id) { this.id = Integer.toString(id); return this; @@ -271,6 +274,7 @@ public Builder setId(int id) { * @param label The {@link Format#label}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setLabel(@Nullable String label) { this.label = label; return this; @@ -282,6 +286,7 @@ public Builder setLabel(@Nullable String label) { * @param language The {@link Format#language}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setLanguage(@Nullable String language) { this.language = language; return this; @@ -293,6 +298,7 @@ public Builder setLanguage(@Nullable String language) { * @param selectionFlags The {@link Format#selectionFlags}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setSelectionFlags(@C.SelectionFlags int selectionFlags) { this.selectionFlags = selectionFlags; return this; @@ -304,6 +310,7 @@ public Builder setSelectionFlags(@C.SelectionFlags int selectionFlags) { * @param roleFlags The {@link Format#roleFlags}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setRoleFlags(@C.RoleFlags int roleFlags) { this.roleFlags = roleFlags; return this; @@ -315,6 +322,7 @@ public Builder setRoleFlags(@C.RoleFlags int roleFlags) { * @param averageBitrate The {@link Format#averageBitrate}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setAverageBitrate(int averageBitrate) { this.averageBitrate = averageBitrate; return this; @@ -326,6 +334,7 @@ public Builder setAverageBitrate(int averageBitrate) { * @param peakBitrate The {@link Format#peakBitrate}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setPeakBitrate(int peakBitrate) { this.peakBitrate = peakBitrate; return this; @@ -337,6 +346,7 @@ public Builder setPeakBitrate(int peakBitrate) { * @param codecs The {@link Format#codecs}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setCodecs(@Nullable String codecs) { this.codecs = codecs; return this; @@ -348,6 +358,7 @@ public Builder setCodecs(@Nullable String codecs) { * @param metadata The {@link Format#metadata}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setMetadata(@Nullable Metadata metadata) { this.metadata = metadata; return this; @@ -361,6 +372,7 @@ public Builder setMetadata(@Nullable Metadata metadata) { * @param containerMimeType The {@link Format#containerMimeType}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setContainerMimeType(@Nullable String containerMimeType) { this.containerMimeType = containerMimeType; return this; @@ -374,6 +386,7 @@ public Builder setContainerMimeType(@Nullable String containerMimeType) { * @param sampleMimeType {@link Format#sampleMimeType}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setSampleMimeType(@Nullable String sampleMimeType) { this.sampleMimeType = sampleMimeType; return this; @@ -385,6 +398,7 @@ public Builder setSampleMimeType(@Nullable String sampleMimeType) { * @param maxInputSize The {@link Format#maxInputSize}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setMaxInputSize(int maxInputSize) { this.maxInputSize = maxInputSize; return this; @@ -396,6 +410,7 @@ public Builder setMaxInputSize(int maxInputSize) { * @param initializationData The {@link Format#initializationData}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setInitializationData(@Nullable List initializationData) { this.initializationData = initializationData; return this; @@ -407,6 +422,7 @@ public Builder setInitializationData(@Nullable List initializationData) * @param drmInitData The {@link Format#drmInitData}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setDrmInitData(@Nullable DrmInitData drmInitData) { this.drmInitData = drmInitData; return this; @@ -418,6 +434,7 @@ public Builder setDrmInitData(@Nullable DrmInitData drmInitData) { * @param subsampleOffsetUs The {@link Format#subsampleOffsetUs}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setSubsampleOffsetUs(long subsampleOffsetUs) { this.subsampleOffsetUs = subsampleOffsetUs; return this; @@ -431,6 +448,7 @@ public Builder setSubsampleOffsetUs(long subsampleOffsetUs) { * @param width The {@link Format#width}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setWidth(int width) { this.width = width; return this; @@ -442,6 +460,7 @@ public Builder setWidth(int width) { * @param height The {@link Format#height}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setHeight(int height) { this.height = height; return this; @@ -453,6 +472,7 @@ public Builder setHeight(int height) { * @param frameRate The {@link Format#frameRate}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setFrameRate(float frameRate) { this.frameRate = frameRate; return this; @@ -464,6 +484,7 @@ public Builder setFrameRate(float frameRate) { * @param rotationDegrees The {@link Format#rotationDegrees}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setRotationDegrees(int rotationDegrees) { this.rotationDegrees = rotationDegrees; return this; @@ -475,6 +496,7 @@ public Builder setRotationDegrees(int rotationDegrees) { * @param pixelWidthHeightRatio The {@link Format#pixelWidthHeightRatio}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setPixelWidthHeightRatio(float pixelWidthHeightRatio) { this.pixelWidthHeightRatio = pixelWidthHeightRatio; return this; @@ -486,6 +508,7 @@ public Builder setPixelWidthHeightRatio(float pixelWidthHeightRatio) { * @param projectionData The {@link Format#projectionData}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setProjectionData(@Nullable byte[] projectionData) { this.projectionData = projectionData; return this; @@ -497,6 +520,7 @@ public Builder setProjectionData(@Nullable byte[] projectionData) { * @param stereoMode The {@link Format#stereoMode}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setStereoMode(@C.StereoMode int stereoMode) { this.stereoMode = stereoMode; return this; @@ -508,6 +532,7 @@ public Builder setStereoMode(@C.StereoMode int stereoMode) { * @param colorInfo The {@link Format#colorInfo}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setColorInfo(@Nullable ColorInfo colorInfo) { this.colorInfo = colorInfo; return this; @@ -521,6 +546,7 @@ public Builder setColorInfo(@Nullable ColorInfo colorInfo) { * @param channelCount The {@link Format#channelCount}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setChannelCount(int channelCount) { this.channelCount = channelCount; return this; @@ -532,6 +558,7 @@ public Builder setChannelCount(int channelCount) { * @param sampleRate The {@link Format#sampleRate}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setSampleRate(int sampleRate) { this.sampleRate = sampleRate; return this; @@ -543,6 +570,7 @@ public Builder setSampleRate(int sampleRate) { * @param pcmEncoding The {@link Format#pcmEncoding}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setPcmEncoding(@C.PcmEncoding int pcmEncoding) { this.pcmEncoding = pcmEncoding; return this; @@ -554,6 +582,7 @@ public Builder setPcmEncoding(@C.PcmEncoding int pcmEncoding) { * @param encoderDelay The {@link Format#encoderDelay}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setEncoderDelay(int encoderDelay) { this.encoderDelay = encoderDelay; return this; @@ -565,6 +594,7 @@ public Builder setEncoderDelay(int encoderDelay) { * @param encoderPadding The {@link Format#encoderPadding}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setEncoderPadding(int encoderPadding) { this.encoderPadding = encoderPadding; return this; @@ -578,6 +608,7 @@ public Builder setEncoderPadding(int encoderPadding) { * @param accessibilityChannel The {@link Format#accessibilityChannel}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setAccessibilityChannel(int accessibilityChannel) { this.accessibilityChannel = accessibilityChannel; return this; @@ -591,6 +622,7 @@ public Builder setAccessibilityChannel(int accessibilityChannel) { * @param cryptoType The {@link C.CryptoType}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setCryptoType(@C.CryptoType int cryptoType) { this.cryptoType = cryptoType; return this; diff --git a/libraries/common/src/main/java/androidx/media3/common/MediaItem.java b/libraries/common/src/main/java/androidx/media3/common/MediaItem.java index 8d85132c19d..a039251e84b 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MediaItem.java +++ b/libraries/common/src/main/java/androidx/media3/common/MediaItem.java @@ -29,6 +29,7 @@ import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import com.google.errorprone.annotations.InlineMe; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -126,6 +127,7 @@ private Builder(MediaItem mediaItem) { * *

      By default {@link #DEFAULT_MEDIA_ID} is used. */ + @CanIgnoreReturnValue public Builder setMediaId(String mediaId) { this.mediaId = checkNotNull(mediaId); return this; @@ -138,6 +140,7 @@ public Builder setMediaId(String mediaId) { * during {@link #build()} and no other {@code Builder} methods that would populate {@link * MediaItem#localConfiguration} should be called. */ + @CanIgnoreReturnValue public Builder setUri(@Nullable String uri) { return setUri(uri == null ? null : Uri.parse(uri)); } @@ -149,6 +152,7 @@ public Builder setUri(@Nullable String uri) { * during {@link #build()} and no other {@code Builder} methods that would populate {@link * MediaItem#localConfiguration} should be called. */ + @CanIgnoreReturnValue public Builder setUri(@Nullable Uri uri) { this.uri = uri; return this; @@ -163,12 +167,14 @@ public Builder setUri(@Nullable Uri uri) { * * @param mimeType The MIME type. */ + @CanIgnoreReturnValue public Builder setMimeType(@Nullable String mimeType) { this.mimeType = mimeType; return this; } /** Sets the {@link ClippingConfiguration}, defaults to {@link ClippingConfiguration#UNSET}. */ + @CanIgnoreReturnValue public Builder setClippingConfiguration(ClippingConfiguration clippingConfiguration) { this.clippingConfiguration = clippingConfiguration.buildUpon(); return this; @@ -178,6 +184,7 @@ public Builder setClippingConfiguration(ClippingConfiguration clippingConfigurat * @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link * ClippingConfiguration.Builder#setStartPositionMs(long)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setClipStartPositionMs(@IntRange(from = 0) long startPositionMs) { @@ -189,6 +196,7 @@ public Builder setClipStartPositionMs(@IntRange(from = 0) long startPositionMs) * @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link * ClippingConfiguration.Builder#setEndPositionMs(long)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setClipEndPositionMs(long endPositionMs) { @@ -200,6 +208,7 @@ public Builder setClipEndPositionMs(long endPositionMs) { * @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link * ClippingConfiguration.Builder#setRelativeToLiveWindow(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setClipRelativeToLiveWindow(boolean relativeToLiveWindow) { @@ -211,6 +220,7 @@ public Builder setClipRelativeToLiveWindow(boolean relativeToLiveWindow) { * @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link * ClippingConfiguration.Builder#setRelativeToDefaultPosition(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setClipRelativeToDefaultPosition(boolean relativeToDefaultPosition) { @@ -222,6 +232,7 @@ public Builder setClipRelativeToDefaultPosition(boolean relativeToDefaultPositio * @deprecated Use {@link #setClippingConfiguration(ClippingConfiguration)} and {@link * ClippingConfiguration.Builder#setStartsAtKeyFrame(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setClipStartsAtKeyFrame(boolean startsAtKeyFrame) { @@ -230,6 +241,7 @@ public Builder setClipStartsAtKeyFrame(boolean startsAtKeyFrame) { } /** Sets the optional DRM configuration. */ + @CanIgnoreReturnValue public Builder setDrmConfiguration(@Nullable DrmConfiguration drmConfiguration) { this.drmConfiguration = drmConfiguration != null ? drmConfiguration.buildUpon() : new DrmConfiguration.Builder(); @@ -240,6 +252,7 @@ public Builder setDrmConfiguration(@Nullable DrmConfiguration drmConfiguration) * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setLicenseUri(Uri)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmLicenseUri(@Nullable Uri licenseUri) { @@ -251,6 +264,7 @@ public Builder setDrmLicenseUri(@Nullable Uri licenseUri) { * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setLicenseUri(String)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmLicenseUri(@Nullable String licenseUri) { @@ -264,6 +278,7 @@ public Builder setDrmLicenseUri(@Nullable String licenseUri) { * DrmConfiguration.Builder#setLicenseRequestHeaders(Map)} doesn't accept null, use an empty * map to clear the headers. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmLicenseRequestHeaders( @@ -277,6 +292,7 @@ public Builder setDrmLicenseRequestHeaders( * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and pass the {@code uuid} to * {@link DrmConfiguration.Builder#Builder(UUID)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmUuid(@Nullable UUID uuid) { @@ -288,6 +304,7 @@ public Builder setDrmUuid(@Nullable UUID uuid) { * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setMultiSession(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmMultiSession(boolean multiSession) { @@ -299,6 +316,7 @@ public Builder setDrmMultiSession(boolean multiSession) { * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setForceDefaultLicenseUri(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmForceDefaultLicenseUri(boolean forceDefaultLicenseUri) { @@ -310,6 +328,7 @@ public Builder setDrmForceDefaultLicenseUri(boolean forceDefaultLicenseUri) { * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setPlayClearContentWithoutKey(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmPlayClearContentWithoutKey(boolean playClearContentWithoutKey) { @@ -321,6 +340,7 @@ public Builder setDrmPlayClearContentWithoutKey(boolean playClearContentWithoutK * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setForceSessionsForAudioAndVideoTracks(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmSessionForClearPeriods(boolean sessionForClearPeriods) { @@ -334,6 +354,7 @@ public Builder setDrmSessionForClearPeriods(boolean sessionForClearPeriods) { * DrmConfiguration.Builder#setForcedSessionTrackTypes(List)} doesn't accept null, use an * empty list to clear the contents. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmSessionForClearTypes( @@ -347,6 +368,7 @@ public Builder setDrmSessionForClearTypes( * @deprecated Use {@link #setDrmConfiguration(DrmConfiguration)} and {@link * DrmConfiguration.Builder#setKeySetId(byte[])} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setDrmKeySetId(@Nullable byte[] keySetId) { @@ -363,6 +385,7 @@ public Builder setDrmKeySetId(@Nullable byte[] keySetId) { *

      If {@link #setUri} is passed a non-null {@code uri}, the stream keys are used to create a * {@link LocalConfiguration} object. Otherwise they will be ignored. */ + @CanIgnoreReturnValue @UnstableApi public Builder setStreamKeys(@Nullable List streamKeys) { this.streamKeys = @@ -377,6 +400,7 @@ public Builder setStreamKeys(@Nullable List streamKeys) { * *

      This method should only be called if {@link #setUri} is passed a non-null value. */ + @CanIgnoreReturnValue @UnstableApi public Builder setCustomCacheKey(@Nullable String customCacheKey) { this.customCacheKey = customCacheKey; @@ -388,6 +412,7 @@ public Builder setCustomCacheKey(@Nullable String customCacheKey) { * #setSubtitleConfigurations(List)} doesn't accept null, use an empty list to clear the * contents. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setSubtitles(@Nullable List subtitles) { @@ -401,6 +426,7 @@ public Builder setSubtitles(@Nullable List subtitles) { * *

      This method should only be called if {@link #setUri} is passed a non-null value. */ + @CanIgnoreReturnValue public Builder setSubtitleConfigurations(List subtitleConfigurations) { this.subtitleConfigurations = ImmutableList.copyOf(subtitleConfigurations); return this; @@ -411,6 +437,7 @@ public Builder setSubtitleConfigurations(List subtitleCon * *

      This method should only be called if {@link #setUri} is passed a non-null value. */ + @CanIgnoreReturnValue public Builder setAdsConfiguration(@Nullable AdsConfiguration adsConfiguration) { this.adsConfiguration = adsConfiguration; return this; @@ -421,6 +448,7 @@ public Builder setAdsConfiguration(@Nullable AdsConfiguration adsConfiguration) * with {@link Uri#parse(String)} and pass the result to {@link * AdsConfiguration.Builder#Builder(Uri)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setAdTagUri(@Nullable String adTagUri) { @@ -431,6 +459,7 @@ public Builder setAdTagUri(@Nullable String adTagUri) { * @deprecated Use {@link #setAdsConfiguration(AdsConfiguration)} and pass the {@code adTagUri} * to {@link AdsConfiguration.Builder#Builder(Uri)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setAdTagUri(@Nullable Uri adTagUri) { @@ -442,6 +471,7 @@ public Builder setAdTagUri(@Nullable Uri adTagUri) { * {@link AdsConfiguration.Builder#Builder(Uri)} and the {@code adsId} to {@link * AdsConfiguration.Builder#setAdsId(Object)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setAdTagUri(@Nullable Uri adTagUri, @Nullable Object adsId) { @@ -451,6 +481,7 @@ public Builder setAdTagUri(@Nullable Uri adTagUri, @Nullable Object adsId) { } /** Sets the {@link LiveConfiguration}. Defaults to {@link LiveConfiguration#UNSET}. */ + @CanIgnoreReturnValue public Builder setLiveConfiguration(LiveConfiguration liveConfiguration) { this.liveConfiguration = liveConfiguration.buildUpon(); return this; @@ -460,6 +491,7 @@ public Builder setLiveConfiguration(LiveConfiguration liveConfiguration) { * @deprecated Use {@link #setLiveConfiguration(LiveConfiguration)} and {@link * LiveConfiguration.Builder#setTargetOffsetMs(long)}. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setLiveTargetOffsetMs(long liveTargetOffsetMs) { @@ -471,6 +503,7 @@ public Builder setLiveTargetOffsetMs(long liveTargetOffsetMs) { * @deprecated Use {@link #setLiveConfiguration(LiveConfiguration)} and {@link * LiveConfiguration.Builder#setMinOffsetMs(long)}. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setLiveMinOffsetMs(long liveMinOffsetMs) { @@ -482,6 +515,7 @@ public Builder setLiveMinOffsetMs(long liveMinOffsetMs) { * @deprecated Use {@link #setLiveConfiguration(LiveConfiguration)} and {@link * LiveConfiguration.Builder#setMaxOffsetMs(long)}. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setLiveMaxOffsetMs(long liveMaxOffsetMs) { @@ -493,6 +527,7 @@ public Builder setLiveMaxOffsetMs(long liveMaxOffsetMs) { * @deprecated Use {@link #setLiveConfiguration(LiveConfiguration)} and {@link * LiveConfiguration.Builder#setMinPlaybackSpeed(float)}. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setLiveMinPlaybackSpeed(float minPlaybackSpeed) { @@ -504,6 +539,7 @@ public Builder setLiveMinPlaybackSpeed(float minPlaybackSpeed) { * @deprecated Use {@link #setLiveConfiguration(LiveConfiguration)} and {@link * LiveConfiguration.Builder#setMaxPlaybackSpeed(float)}. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setLiveMaxPlaybackSpeed(float maxPlaybackSpeed) { @@ -518,18 +554,21 @@ public Builder setLiveMaxPlaybackSpeed(float maxPlaybackSpeed) { * *

      This method should only be called if {@link #setUri} is passed a non-null value. */ + @CanIgnoreReturnValue public Builder setTag(@Nullable Object tag) { this.tag = tag; return this; } /** Sets the media metadata. */ + @CanIgnoreReturnValue public Builder setMediaMetadata(MediaMetadata mediaMetadata) { this.mediaMetadata = mediaMetadata; return this; } /** Sets the request metadata. */ + @CanIgnoreReturnValue public Builder setRequestMetadata(RequestMetadata requestMetadata) { this.requestMetadata = requestMetadata; return this; @@ -613,6 +652,7 @@ private Builder(DrmConfiguration drmConfiguration) { } /** Sets the {@link UUID} of the protection scheme. */ + @CanIgnoreReturnValue public Builder setScheme(UUID scheme) { this.scheme = scheme; return this; @@ -622,6 +662,7 @@ public Builder setScheme(UUID scheme) { * @deprecated This only exists to support the deprecated {@link * MediaItem.Builder#setDrmUuid(UUID)}. */ + @CanIgnoreReturnValue @Deprecated private Builder setNullableScheme(@Nullable UUID scheme) { this.scheme = scheme; @@ -629,24 +670,28 @@ private Builder setNullableScheme(@Nullable UUID scheme) { } /** Sets the optional default DRM license server URI. */ + @CanIgnoreReturnValue public Builder setLicenseUri(@Nullable Uri licenseUri) { this.licenseUri = licenseUri; return this; } /** Sets the optional default DRM license server URI. */ + @CanIgnoreReturnValue public Builder setLicenseUri(@Nullable String licenseUri) { this.licenseUri = licenseUri == null ? null : Uri.parse(licenseUri); return this; } /** Sets the optional request headers attached to DRM license requests. */ + @CanIgnoreReturnValue public Builder setLicenseRequestHeaders(Map licenseRequestHeaders) { this.licenseRequestHeaders = ImmutableMap.copyOf(licenseRequestHeaders); return this; } /** Sets whether multi session is enabled. */ + @CanIgnoreReturnValue public Builder setMultiSession(boolean multiSession) { this.multiSession = multiSession; return this; @@ -656,6 +701,7 @@ public Builder setMultiSession(boolean multiSession) { * Sets whether to always use the default DRM license server URI even if the media specifies * its own DRM license server URI. */ + @CanIgnoreReturnValue public Builder setForceDefaultLicenseUri(boolean forceDefaultLicenseUri) { this.forceDefaultLicenseUri = forceDefaultLicenseUri; return this; @@ -665,6 +711,7 @@ public Builder setForceDefaultLicenseUri(boolean forceDefaultLicenseUri) { * Sets whether clear samples within protected content should be played when keys for the * encrypted part of the content have yet to be loaded. */ + @CanIgnoreReturnValue public Builder setPlayClearContentWithoutKey(boolean playClearContentWithoutKey) { this.playClearContentWithoutKey = playClearContentWithoutKey; return this; @@ -673,6 +720,7 @@ public Builder setPlayClearContentWithoutKey(boolean playClearContentWithoutKey) /** * @deprecated Use {@link #setForceSessionsForAudioAndVideoTracks(boolean)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated @InlineMe( @@ -690,6 +738,7 @@ public Builder forceSessionsForAudioAndVideoTracks( *

      This method overrides what has been set by previously calling {@link * #setForcedSessionTrackTypes(List)}. */ + @CanIgnoreReturnValue public Builder setForceSessionsForAudioAndVideoTracks( boolean forceSessionsForAudioAndVideoTracks) { this.setForcedSessionTrackTypes( @@ -709,6 +758,7 @@ public Builder setForceSessionsForAudioAndVideoTracks( *

      This method overrides what has been set by previously calling {@link * #setForceSessionsForAudioAndVideoTracks(boolean)}. */ + @CanIgnoreReturnValue public Builder setForcedSessionTrackTypes( List<@C.TrackType Integer> forcedSessionTrackTypes) { this.forcedSessionTrackTypes = ImmutableList.copyOf(forcedSessionTrackTypes); @@ -722,6 +772,7 @@ public Builder setForcedSessionTrackTypes( * release an existing offline license (see {@code DefaultDrmSessionManager#setMode(int * mode,byte[] offlineLicenseKeySetId)}). */ + @CanIgnoreReturnValue public Builder setKeySetId(@Nullable byte[] keySetId) { this.keySetId = keySetId != null ? Arrays.copyOf(keySetId, keySetId.length) : null; return this; @@ -864,6 +915,7 @@ public Builder(Uri adTagUri) { } /** Sets the ad tag URI to load. */ + @CanIgnoreReturnValue public Builder setAdTagUri(Uri adTagUri) { this.adTagUri = adTagUri; return this; @@ -875,6 +927,7 @@ public Builder setAdTagUri(Uri adTagUri) { *

      See details on {@link AdsConfiguration#adsId} for how the ads identifier is used and how * it's calculated if not explicitly set. */ + @CanIgnoreReturnValue public Builder setAdsId(@Nullable Object adsId) { this.adsId = adsId; return this; @@ -1093,6 +1146,7 @@ private Builder(LiveConfiguration liveConfiguration) { * *

      Defaults to {@link C#TIME_UNSET}, indicating the media-defined default will be used. */ + @CanIgnoreReturnValue public Builder setTargetOffsetMs(long targetOffsetMs) { this.targetOffsetMs = targetOffsetMs; return this; @@ -1105,6 +1159,7 @@ public Builder setTargetOffsetMs(long targetOffsetMs) { * *

      Defaults to {@link C#TIME_UNSET}, indicating the media-defined default will be used. */ + @CanIgnoreReturnValue public Builder setMinOffsetMs(long minOffsetMs) { this.minOffsetMs = minOffsetMs; return this; @@ -1117,6 +1172,7 @@ public Builder setMinOffsetMs(long minOffsetMs) { * *

      Defaults to {@link C#TIME_UNSET}, indicating the media-defined default will be used. */ + @CanIgnoreReturnValue public Builder setMaxOffsetMs(long maxOffsetMs) { this.maxOffsetMs = maxOffsetMs; return this; @@ -1127,6 +1183,7 @@ public Builder setMaxOffsetMs(long maxOffsetMs) { * *

      Defaults to {@link C#RATE_UNSET}, indicating the media-defined default will be used. */ + @CanIgnoreReturnValue public Builder setMinPlaybackSpeed(float minPlaybackSpeed) { this.minPlaybackSpeed = minPlaybackSpeed; return this; @@ -1137,6 +1194,7 @@ public Builder setMinPlaybackSpeed(float minPlaybackSpeed) { * *

      Defaults to {@link C#RATE_UNSET}, indicating the media-defined default will be used. */ + @CanIgnoreReturnValue public Builder setMaxPlaybackSpeed(float maxPlaybackSpeed) { this.maxPlaybackSpeed = maxPlaybackSpeed; return this; @@ -1329,42 +1387,49 @@ private Builder(SubtitleConfiguration subtitleConfiguration) { } /** Sets the {@link Uri} to the subtitle file. */ + @CanIgnoreReturnValue public Builder setUri(Uri uri) { this.uri = uri; return this; } /** Sets the MIME type. */ + @CanIgnoreReturnValue public Builder setMimeType(@Nullable String mimeType) { this.mimeType = mimeType; return this; } /** Sets the optional language of the subtitle file. */ + @CanIgnoreReturnValue public Builder setLanguage(@Nullable String language) { this.language = language; return this; } /** Sets the flags used for track selection. */ + @CanIgnoreReturnValue public Builder setSelectionFlags(@C.SelectionFlags int selectionFlags) { this.selectionFlags = selectionFlags; return this; } /** Sets the role flags. These are used for track selection. */ + @CanIgnoreReturnValue public Builder setRoleFlags(@C.RoleFlags int roleFlags) { this.roleFlags = roleFlags; return this; } /** Sets the optional label for this subtitle track. */ + @CanIgnoreReturnValue public Builder setLabel(@Nullable String label) { this.label = label; return this; } /** Sets the optional ID for this subtitle track. */ + @CanIgnoreReturnValue public Builder setId(@Nullable String id) { this.id = id; return this; @@ -1541,6 +1606,7 @@ private Builder(ClippingConfiguration clippingConfiguration) { * Sets the optional start position in milliseconds which must be a value larger than or equal * to zero (Default: 0). */ + @CanIgnoreReturnValue public Builder setStartPositionMs(@IntRange(from = 0) long startPositionMs) { Assertions.checkArgument(startPositionMs >= 0); this.startPositionMs = startPositionMs; @@ -1552,6 +1618,7 @@ public Builder setStartPositionMs(@IntRange(from = 0) long startPositionMs) { * to zero, or {@link C#TIME_END_OF_SOURCE} to end when playback reaches the end of media * (Default: {@link C#TIME_END_OF_SOURCE}). */ + @CanIgnoreReturnValue public Builder setEndPositionMs(long endPositionMs) { Assertions.checkArgument(endPositionMs == C.TIME_END_OF_SOURCE || endPositionMs >= 0); this.endPositionMs = endPositionMs; @@ -1563,6 +1630,7 @@ public Builder setEndPositionMs(long endPositionMs) { * {@code false}, live streams end when playback reaches the end position in live window seen * when the media is first loaded (Default: {@code false}). */ + @CanIgnoreReturnValue public Builder setRelativeToLiveWindow(boolean relativeToLiveWindow) { this.relativeToLiveWindow = relativeToLiveWindow; return this; @@ -1572,6 +1640,7 @@ public Builder setRelativeToLiveWindow(boolean relativeToLiveWindow) { * Sets whether the start position and the end position are relative to the default position * in the window (Default: {@code false}). */ + @CanIgnoreReturnValue public Builder setRelativeToDefaultPosition(boolean relativeToDefaultPosition) { this.relativeToDefaultPosition = relativeToDefaultPosition; return this; @@ -1581,6 +1650,7 @@ public Builder setRelativeToDefaultPosition(boolean relativeToDefaultPosition) { * Sets whether the start point is guaranteed to be a key frame. If {@code false}, the * playback transition into the clip may not be seamless (Default: {@code false}). */ + @CanIgnoreReturnValue public Builder setStartsAtKeyFrame(boolean startsAtKeyFrame) { this.startsAtKeyFrame = startsAtKeyFrame; return this; @@ -1770,18 +1840,21 @@ private Builder(RequestMetadata requestMetadata) { } /** Sets the URI of the requested media, or null if not known or applicable. */ + @CanIgnoreReturnValue public Builder setMediaUri(@Nullable Uri mediaUri) { this.mediaUri = mediaUri; return this; } /** Sets the search query for the requested media, or null if not applicable. */ + @CanIgnoreReturnValue public Builder setSearchQuery(@Nullable String searchQuery) { this.searchQuery = searchQuery; return this; } /** Sets optional extras {@link Bundle}. */ + @CanIgnoreReturnValue public Builder setExtras(@Nullable Bundle extras) { this.extras = extras; return this; diff --git a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java index e32584785e4..05d37b29de6 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java @@ -29,6 +29,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Objects; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -114,30 +115,35 @@ private Builder(MediaMetadata mediaMetadata) { } /** Sets the title. */ + @CanIgnoreReturnValue public Builder setTitle(@Nullable CharSequence title) { this.title = title; return this; } /** Sets the artist. */ + @CanIgnoreReturnValue public Builder setArtist(@Nullable CharSequence artist) { this.artist = artist; return this; } /** Sets the album title. */ + @CanIgnoreReturnValue public Builder setAlbumTitle(@Nullable CharSequence albumTitle) { this.albumTitle = albumTitle; return this; } /** Sets the album artist. */ + @CanIgnoreReturnValue public Builder setAlbumArtist(@Nullable CharSequence albumArtist) { this.albumArtist = albumArtist; return this; } /** Sets the display title. */ + @CanIgnoreReturnValue public Builder setDisplayTitle(@Nullable CharSequence displayTitle) { this.displayTitle = displayTitle; return this; @@ -148,24 +154,28 @@ public Builder setDisplayTitle(@Nullable CharSequence displayTitle) { * *

      This is the secondary title of the media, unrelated to closed captions. */ + @CanIgnoreReturnValue public Builder setSubtitle(@Nullable CharSequence subtitle) { this.subtitle = subtitle; return this; } /** Sets the description. */ + @CanIgnoreReturnValue public Builder setDescription(@Nullable CharSequence description) { this.description = description; return this; } /** Sets the user {@link Rating}. */ + @CanIgnoreReturnValue public Builder setUserRating(@Nullable Rating userRating) { this.userRating = userRating; return this; } /** Sets the overall {@link Rating}. */ + @CanIgnoreReturnValue public Builder setOverallRating(@Nullable Rating overallRating) { this.overallRating = overallRating; return this; @@ -175,6 +185,7 @@ public Builder setOverallRating(@Nullable Rating overallRating) { * @deprecated Use {@link #setArtworkData(byte[] data, Integer pictureType)} or {@link * #maybeSetArtworkData(byte[] data, int pictureType)}, providing a {@link PictureType}. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setArtworkData(@Nullable byte[] artworkData) { @@ -185,6 +196,7 @@ public Builder setArtworkData(@Nullable byte[] artworkData) { * Sets the artwork data as a compressed byte array with an associated {@link PictureType * artworkDataType}. */ + @CanIgnoreReturnValue public Builder setArtworkData( @Nullable byte[] artworkData, @Nullable @PictureType Integer artworkDataType) { this.artworkData = artworkData == null ? null : artworkData.clone(); @@ -200,6 +212,7 @@ public Builder setArtworkData( *

      Use {@link #setArtworkData(byte[], Integer)} to set the artwork data without checking the * {@link PictureType}. */ + @CanIgnoreReturnValue public Builder maybeSetArtworkData(byte[] artworkData, @PictureType int artworkDataType) { if (this.artworkData == null || Util.areEqual(artworkDataType, PICTURE_TYPE_FRONT_COVER) @@ -211,30 +224,35 @@ public Builder maybeSetArtworkData(byte[] artworkData, @PictureType int artworkD } /** Sets the artwork {@link Uri}. */ + @CanIgnoreReturnValue public Builder setArtworkUri(@Nullable Uri artworkUri) { this.artworkUri = artworkUri; return this; } /** Sets the track number. */ + @CanIgnoreReturnValue public Builder setTrackNumber(@Nullable Integer trackNumber) { this.trackNumber = trackNumber; return this; } /** Sets the total number of tracks. */ + @CanIgnoreReturnValue public Builder setTotalTrackCount(@Nullable Integer totalTrackCount) { this.totalTrackCount = totalTrackCount; return this; } /** Sets the {@link FolderType}. */ + @CanIgnoreReturnValue public Builder setFolderType(@Nullable @FolderType Integer folderType) { this.folderType = folderType; return this; } /** Sets whether the media is playable. */ + @CanIgnoreReturnValue public Builder setIsPlayable(@Nullable Boolean isPlayable) { this.isPlayable = isPlayable; return this; @@ -243,6 +261,7 @@ public Builder setIsPlayable(@Nullable Boolean isPlayable) { /** * @deprecated Use {@link #setRecordingYear(Integer)} instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Builder setYear(@Nullable Integer year) { @@ -250,6 +269,7 @@ public Builder setYear(@Nullable Integer year) { } /** Sets the year of the recording date. */ + @CanIgnoreReturnValue public Builder setRecordingYear(@Nullable Integer recordingYear) { this.recordingYear = recordingYear; return this; @@ -260,6 +280,7 @@ public Builder setRecordingYear(@Nullable Integer recordingYear) { * *

      Value should be between 1 and 12. */ + @CanIgnoreReturnValue public Builder setRecordingMonth( @Nullable @IntRange(from = 1, to = 12) Integer recordingMonth) { this.recordingMonth = recordingMonth; @@ -271,12 +292,14 @@ public Builder setRecordingMonth( * *

      Value should be between 1 and 31. */ + @CanIgnoreReturnValue public Builder setRecordingDay(@Nullable @IntRange(from = 1, to = 31) Integer recordingDay) { this.recordingDay = recordingDay; return this; } /** Sets the year of the release date. */ + @CanIgnoreReturnValue public Builder setReleaseYear(@Nullable Integer releaseYear) { this.releaseYear = releaseYear; return this; @@ -287,6 +310,7 @@ public Builder setReleaseYear(@Nullable Integer releaseYear) { * *

      Value should be between 1 and 12. */ + @CanIgnoreReturnValue public Builder setReleaseMonth(@Nullable @IntRange(from = 1, to = 12) Integer releaseMonth) { this.releaseMonth = releaseMonth; return this; @@ -297,60 +321,70 @@ public Builder setReleaseMonth(@Nullable @IntRange(from = 1, to = 12) Integer re * *

      Value should be between 1 and 31. */ + @CanIgnoreReturnValue public Builder setReleaseDay(@Nullable @IntRange(from = 1, to = 31) Integer releaseDay) { this.releaseDay = releaseDay; return this; } /** Sets the writer. */ + @CanIgnoreReturnValue public Builder setWriter(@Nullable CharSequence writer) { this.writer = writer; return this; } /** Sets the composer. */ + @CanIgnoreReturnValue public Builder setComposer(@Nullable CharSequence composer) { this.composer = composer; return this; } /** Sets the conductor. */ + @CanIgnoreReturnValue public Builder setConductor(@Nullable CharSequence conductor) { this.conductor = conductor; return this; } /** Sets the disc number. */ + @CanIgnoreReturnValue public Builder setDiscNumber(@Nullable Integer discNumber) { this.discNumber = discNumber; return this; } /** Sets the total number of discs. */ + @CanIgnoreReturnValue public Builder setTotalDiscCount(@Nullable Integer totalDiscCount) { this.totalDiscCount = totalDiscCount; return this; } /** Sets the genre. */ + @CanIgnoreReturnValue public Builder setGenre(@Nullable CharSequence genre) { this.genre = genre; return this; } /** Sets the compilation. */ + @CanIgnoreReturnValue public Builder setCompilation(@Nullable CharSequence compilation) { this.compilation = compilation; return this; } /** Sets the name of the station streaming the media. */ + @CanIgnoreReturnValue public Builder setStation(@Nullable CharSequence station) { this.station = station; return this; } /** Sets the extras {@link Bundle}. */ + @CanIgnoreReturnValue public Builder setExtras(@Nullable Bundle extras) { this.extras = extras; return this; @@ -365,6 +399,7 @@ public Builder setExtras(@Nullable Bundle extras) { *

      In the event that multiple {@link Metadata.Entry} objects within the {@link Metadata} * relate to the same {@link MediaMetadata} field, then the last one will be used. */ + @CanIgnoreReturnValue @UnstableApi public Builder populateFromMetadata(Metadata metadata) { for (int i = 0; i < metadata.length(); i++) { @@ -384,6 +419,7 @@ public Builder populateFromMetadata(Metadata metadata) { *

      In the event that multiple {@link Metadata.Entry} objects within any of the {@link * Metadata} relate to the same {@link MediaMetadata} field, then the last one will be used. */ + @CanIgnoreReturnValue @UnstableApi public Builder populateFromMetadata(List metadataList) { for (int i = 0; i < metadataList.size(); i++) { @@ -397,6 +433,7 @@ public Builder populateFromMetadata(List metadataList) { } /** Populates all the fields from {@code mediaMetadata}, provided they are non-null. */ + @CanIgnoreReturnValue @UnstableApi public Builder populate(@Nullable MediaMetadata mediaMetadata) { if (mediaMetadata == null) { diff --git a/libraries/common/src/main/java/androidx/media3/common/Player.java b/libraries/common/src/main/java/androidx/media3/common/Player.java index 4f2834b1ef2..65fbcda652e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Player.java +++ b/libraries/common/src/main/java/androidx/media3/common/Player.java @@ -36,6 +36,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Objects; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -406,6 +407,7 @@ private Builder(Commands commands) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder add(@Command int command) { flagsBuilder.add(command); return this; @@ -419,6 +421,7 @@ public Builder add(@Command int command) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addIf(@Command int command, boolean condition) { flagsBuilder.addIf(command, condition); return this; @@ -431,6 +434,7 @@ public Builder addIf(@Command int command, boolean condition) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addAll(@Command int... commands) { flagsBuilder.addAll(commands); return this; @@ -443,6 +447,7 @@ public Builder addAll(@Command int... commands) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addAll(Commands commands) { flagsBuilder.addAll(commands.flags); return this; @@ -454,6 +459,7 @@ public Builder addAll(Commands commands) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder addAllCommands() { flagsBuilder.addAll(SUPPORTED_COMMANDS); return this; @@ -466,6 +472,7 @@ public Builder addAllCommands() { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder remove(@Command int command) { flagsBuilder.remove(command); return this; @@ -479,6 +486,7 @@ public Builder remove(@Command int command) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder removeIf(@Command int command, boolean condition) { flagsBuilder.removeIf(command, condition); return this; @@ -491,6 +499,7 @@ public Builder removeIf(@Command int command, boolean condition) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder removeAll(@Command int... commands) { flagsBuilder.removeAll(commands); return this; diff --git a/libraries/common/src/main/java/androidx/media3/common/Timeline.java b/libraries/common/src/main/java/androidx/media3/common/Timeline.java index 14b04065f50..43dc1aed117 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Timeline.java +++ b/libraries/common/src/main/java/androidx/media3/common/Timeline.java @@ -34,6 +34,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import com.google.errorprone.annotations.InlineMe; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -261,6 +262,7 @@ public Window() { } /** Sets the data held by this window. */ + @CanIgnoreReturnValue @UnstableApi @SuppressWarnings("deprecation") public Window set( @@ -626,6 +628,7 @@ public Period() { * period is not within the window. * @return This period, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Period set( @Nullable Object id, @@ -662,6 +665,7 @@ public Period set( * information has yet to be loaded. * @return This period, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Period set( @Nullable Object id, diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java index b7fe8176e3d..1c2f7a633a7 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackSelectionParameters.java @@ -33,6 +33,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.primitives.Ints; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; @@ -306,6 +307,7 @@ private void init(@UnknownInitialization Builder this, TrackSelectionParameters } /** Overrides the value of the builder with the value of {@link TrackSelectionParameters}. */ + @CanIgnoreReturnValue @UnstableApi protected Builder set(TrackSelectionParameters parameters) { init(parameters); @@ -319,6 +321,7 @@ protected Builder set(TrackSelectionParameters parameters) { * * @return This builder. */ + @CanIgnoreReturnValue public Builder setMaxVideoSizeSd() { return setMaxVideoSize(1279, 719); } @@ -328,6 +331,7 @@ public Builder setMaxVideoSizeSd() { * * @return This builder. */ + @CanIgnoreReturnValue public Builder clearVideoSizeConstraints() { return setMaxVideoSize(Integer.MAX_VALUE, Integer.MAX_VALUE); } @@ -339,6 +343,7 @@ public Builder clearVideoSizeConstraints() { * @param maxVideoHeight Maximum allowed video height in pixels. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMaxVideoSize(int maxVideoWidth, int maxVideoHeight) { this.maxVideoWidth = maxVideoWidth; this.maxVideoHeight = maxVideoHeight; @@ -351,6 +356,7 @@ public Builder setMaxVideoSize(int maxVideoWidth, int maxVideoHeight) { * @param maxVideoFrameRate Maximum allowed video frame rate in hertz. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMaxVideoFrameRate(int maxVideoFrameRate) { this.maxVideoFrameRate = maxVideoFrameRate; return this; @@ -362,6 +368,7 @@ public Builder setMaxVideoFrameRate(int maxVideoFrameRate) { * @param maxVideoBitrate Maximum allowed video bitrate in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMaxVideoBitrate(int maxVideoBitrate) { this.maxVideoBitrate = maxVideoBitrate; return this; @@ -374,6 +381,7 @@ public Builder setMaxVideoBitrate(int maxVideoBitrate) { * @param minVideoHeight Minimum allowed video height in pixels. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMinVideoSize(int minVideoWidth, int minVideoHeight) { this.minVideoWidth = minVideoWidth; this.minVideoHeight = minVideoHeight; @@ -386,6 +394,7 @@ public Builder setMinVideoSize(int minVideoWidth, int minVideoHeight) { * @param minVideoFrameRate Minimum allowed video frame rate in hertz. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMinVideoFrameRate(int minVideoFrameRate) { this.minVideoFrameRate = minVideoFrameRate; return this; @@ -397,6 +406,7 @@ public Builder setMinVideoFrameRate(int minVideoFrameRate) { * @param minVideoBitrate Minimum allowed video bitrate in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMinVideoBitrate(int minVideoBitrate) { this.minVideoBitrate = minVideoBitrate; return this; @@ -411,6 +421,7 @@ public Builder setMinVideoBitrate(int minVideoBitrate) { * playback. * @return This builder. */ + @CanIgnoreReturnValue public Builder setViewportSizeToPhysicalDisplaySize( Context context, boolean viewportOrientationMayChange) { // Assume the viewport is fullscreen. @@ -424,6 +435,7 @@ public Builder setViewportSizeToPhysicalDisplaySize( * * @return This builder. */ + @CanIgnoreReturnValue public Builder clearViewportSizeConstraints() { return setViewportSize(Integer.MAX_VALUE, Integer.MAX_VALUE, true); } @@ -438,6 +450,7 @@ public Builder clearViewportSizeConstraints() { * playback. * @return This builder. */ + @CanIgnoreReturnValue public Builder setViewportSize( int viewportWidth, int viewportHeight, boolean viewportOrientationMayChange) { this.viewportWidth = viewportWidth; @@ -464,6 +477,7 @@ public Builder setPreferredVideoMimeType(@Nullable String mimeType) { * empty list for no preference. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredVideoMimeTypes(String... mimeTypes) { preferredVideoMimeTypes = ImmutableList.copyOf(mimeTypes); return this; @@ -475,6 +489,7 @@ public Builder setPreferredVideoMimeTypes(String... mimeTypes) { * @param preferredVideoRoleFlags Preferred video role flags. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredVideoRoleFlags(@C.RoleFlags int preferredVideoRoleFlags) { this.preferredVideoRoleFlags = preferredVideoRoleFlags; return this; @@ -503,6 +518,7 @@ public Builder setPreferredAudioLanguage(@Nullable String preferredAudioLanguage * there's no default. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredAudioLanguages(String... preferredAudioLanguages) { this.preferredAudioLanguages = normalizeLanguageCodes(preferredAudioLanguages); return this; @@ -514,6 +530,7 @@ public Builder setPreferredAudioLanguages(String... preferredAudioLanguages) { * @param preferredAudioRoleFlags Preferred audio role flags. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredAudioRoleFlags(@C.RoleFlags int preferredAudioRoleFlags) { this.preferredAudioRoleFlags = preferredAudioRoleFlags; return this; @@ -525,6 +542,7 @@ public Builder setPreferredAudioRoleFlags(@C.RoleFlags int preferredAudioRoleFla * @param maxAudioChannelCount Maximum allowed audio channel count. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMaxAudioChannelCount(int maxAudioChannelCount) { this.maxAudioChannelCount = maxAudioChannelCount; return this; @@ -536,6 +554,7 @@ public Builder setMaxAudioChannelCount(int maxAudioChannelCount) { * @param maxAudioBitrate Maximum allowed audio bitrate in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMaxAudioBitrate(int maxAudioBitrate) { this.maxAudioBitrate = maxAudioBitrate; return this; @@ -559,6 +578,7 @@ public Builder setPreferredAudioMimeType(@Nullable String mimeType) { * empty list for no preference. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredAudioMimeTypes(String... mimeTypes) { preferredAudioMimeTypes = ImmutableList.copyOf(mimeTypes); return this; @@ -575,6 +595,7 @@ public Builder setPreferredAudioMimeTypes(String... mimeTypes) { * @param context A {@link Context}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings( Context context) { if (Util.SDK_INT >= 19) { @@ -604,6 +625,7 @@ public Builder setPreferredTextLanguage(@Nullable String preferredTextLanguage) * track otherwise. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredTextLanguages(String... preferredTextLanguages) { this.preferredTextLanguages = normalizeLanguageCodes(preferredTextLanguages); return this; @@ -615,6 +637,7 @@ public Builder setPreferredTextLanguages(String... preferredTextLanguages) { * @param preferredTextRoleFlags Preferred text role flags. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPreferredTextRoleFlags(@C.RoleFlags int preferredTextRoleFlags) { this.preferredTextRoleFlags = preferredTextRoleFlags; return this; @@ -627,6 +650,7 @@ public Builder setPreferredTextRoleFlags(@C.RoleFlags int preferredTextRoleFlags * text track selections. * @return This builder. */ + @CanIgnoreReturnValue public Builder setIgnoredTextSelectionFlags(@C.SelectionFlags int ignoredTextSelectionFlags) { this.ignoredTextSelectionFlags = ignoredTextSelectionFlags; return this; @@ -641,6 +665,7 @@ public Builder setIgnoredTextSelectionFlags(@C.SelectionFlags int ignoredTextSel * be selected if no preferred language track is available. * @return This builder. */ + @CanIgnoreReturnValue public Builder setSelectUndeterminedTextLanguage(boolean selectUndeterminedTextLanguage) { this.selectUndeterminedTextLanguage = selectUndeterminedTextLanguage; return this; @@ -656,6 +681,7 @@ public Builder setSelectUndeterminedTextLanguage(boolean selectUndeterminedTextL * video tracks. * @return This builder. */ + @CanIgnoreReturnValue public Builder setForceLowestBitrate(boolean forceLowestBitrate) { this.forceLowestBitrate = forceLowestBitrate; return this; @@ -669,18 +695,21 @@ public Builder setForceLowestBitrate(boolean forceLowestBitrate) { * and video tracks. * @return This builder. */ + @CanIgnoreReturnValue public Builder setForceHighestSupportedBitrate(boolean forceHighestSupportedBitrate) { this.forceHighestSupportedBitrate = forceHighestSupportedBitrate; return this; } /** Adds an override, replacing any override for the same {@link TrackGroup}. */ + @CanIgnoreReturnValue public Builder addOverride(TrackSelectionOverride override) { overrides.put(override.mediaTrackGroup, override); return this; } /** Sets an override, replacing all existing overrides with the same track type. */ + @CanIgnoreReturnValue public Builder setOverrideForType(TrackSelectionOverride override) { clearOverridesOfType(override.getType()); overrides.put(override.mediaTrackGroup, override); @@ -688,12 +717,14 @@ public Builder setOverrideForType(TrackSelectionOverride override) { } /** Removes the override for the provided media {@link TrackGroup}, if there is one. */ + @CanIgnoreReturnValue public Builder clearOverride(TrackGroup mediaTrackGroup) { overrides.remove(mediaTrackGroup); return this; } /** Removes all overrides of the provided track type. */ + @CanIgnoreReturnValue public Builder clearOverridesOfType(@C.TrackType int trackType) { Iterator it = overrides.values().iterator(); while (it.hasNext()) { @@ -706,6 +737,7 @@ public Builder clearOverridesOfType(@C.TrackType int trackType) { } /** Removes all overrides. */ + @CanIgnoreReturnValue public Builder clearOverrides() { overrides.clear(); return this; @@ -719,6 +751,7 @@ public Builder clearOverrides() { * @return This builder. * @deprecated Use {@link #setTrackTypeDisabled(int, boolean)}. */ + @CanIgnoreReturnValue @Deprecated @UnstableApi public Builder setDisabledTrackTypes(Set<@C.TrackType Integer> disabledTrackTypes) { @@ -735,6 +768,7 @@ public Builder setDisabledTrackTypes(Set<@C.TrackType Integer> disabledTrackType * @param disabled Whether the track type should be disabled. * @return This builder. */ + @CanIgnoreReturnValue public Builder setTrackTypeDisabled(@C.TrackType int trackType, boolean disabled) { if (disabled) { disabledTrackTypes.add(trackType); diff --git a/libraries/common/src/main/java/androidx/media3/common/text/Cue.java b/libraries/common/src/main/java/androidx/media3/common/text/Cue.java index 6b9d9ded28b..475a29f9d3e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/Cue.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/Cue.java @@ -36,6 +36,7 @@ import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import com.google.common.base.Objects; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -628,6 +629,7 @@ private Builder(Cue cue) { * * @see Cue#text */ + @CanIgnoreReturnValue public Builder setText(CharSequence text) { this.text = text; return this; @@ -649,6 +651,7 @@ public CharSequence getText() { * * @see Cue#bitmap */ + @CanIgnoreReturnValue public Builder setBitmap(Bitmap bitmap) { this.bitmap = bitmap; return this; @@ -672,6 +675,7 @@ public Bitmap getBitmap() { * * @see Cue#textAlignment */ + @CanIgnoreReturnValue public Builder setTextAlignment(@Nullable Layout.Alignment textAlignment) { this.textAlignment = textAlignment; return this; @@ -695,6 +699,7 @@ public Alignment getTextAlignment() { * * @see Cue#multiRowAlignment */ + @CanIgnoreReturnValue public Builder setMultiRowAlignment(@Nullable Layout.Alignment multiRowAlignment) { this.multiRowAlignment = multiRowAlignment; return this; @@ -707,6 +712,7 @@ public Builder setMultiRowAlignment(@Nullable Layout.Alignment multiRowAlignment * @see Cue#line * @see Cue#lineType */ + @CanIgnoreReturnValue public Builder setLine(float line, @LineType int lineType) { this.line = line; this.lineType = lineType; @@ -739,6 +745,7 @@ public float getLine() { * * @see Cue#lineAnchor */ + @CanIgnoreReturnValue public Builder setLineAnchor(@AnchorType int lineAnchor) { this.lineAnchor = lineAnchor; return this; @@ -760,6 +767,7 @@ public Builder setLineAnchor(@AnchorType int lineAnchor) { * * @see Cue#position */ + @CanIgnoreReturnValue public Builder setPosition(float position) { this.position = position; return this; @@ -781,6 +789,7 @@ public float getPosition() { * * @see Cue#positionAnchor */ + @CanIgnoreReturnValue public Builder setPositionAnchor(@AnchorType int positionAnchor) { this.positionAnchor = positionAnchor; return this; @@ -802,6 +811,7 @@ public Builder setPositionAnchor(@AnchorType int positionAnchor) { * @see Cue#textSize * @see Cue#textSizeType */ + @CanIgnoreReturnValue public Builder setTextSize(float textSize, @TextSizeType int textSizeType) { this.textSize = textSize; this.textSizeType = textSizeType; @@ -834,6 +844,7 @@ public float getTextSize() { * * @see Cue#size */ + @CanIgnoreReturnValue public Builder setSize(float size) { this.size = size; return this; @@ -855,6 +866,7 @@ public float getSize() { * * @see Cue#bitmapHeight */ + @CanIgnoreReturnValue public Builder setBitmapHeight(float bitmapHeight) { this.bitmapHeight = bitmapHeight; return this; @@ -878,6 +890,7 @@ public float getBitmapHeight() { * @see Cue#windowColor * @see Cue#windowColorSet */ + @CanIgnoreReturnValue public Builder setWindowColor(@ColorInt int windowColor) { this.windowColor = windowColor; this.windowColorSet = true; @@ -885,6 +898,7 @@ public Builder setWindowColor(@ColorInt int windowColor) { } /** Sets {@link Cue#windowColorSet} to false. */ + @CanIgnoreReturnValue public Builder clearWindowColor() { this.windowColorSet = false; return this; @@ -915,12 +929,14 @@ public int getWindowColor() { * * @see Cue#verticalType */ + @CanIgnoreReturnValue public Builder setVerticalType(@VerticalType int verticalType) { this.verticalType = verticalType; return this; } /** Sets the shear angle for this Cue. */ + @CanIgnoreReturnValue public Builder setShearDegrees(float shearDegrees) { this.shearDegrees = shearDegrees; return this; diff --git a/libraries/common/src/main/java/androidx/media3/common/util/SystemHandlerWrapper.java b/libraries/common/src/main/java/androidx/media3/common/util/SystemHandlerWrapper.java index 7cd4f00a162..9c240878543 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/SystemHandlerWrapper.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/SystemHandlerWrapper.java @@ -21,6 +21,7 @@ import android.os.Looper; import androidx.annotation.GuardedBy; import androidx.annotation.Nullable; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.List; @@ -136,6 +137,7 @@ private static final class SystemMessage implements Message { @Nullable private android.os.Message message; @Nullable private SystemHandlerWrapper handler; + @CanIgnoreReturnValue public SystemMessage setMessage(android.os.Message message, SystemHandlerWrapper handler) { this.message = message; this.handler = handler; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java index 646b5f274a4..bbaf39f0f90 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java @@ -24,6 +24,7 @@ import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -89,6 +90,7 @@ private Builder(DataSpec dataSpec) { * @param uriString The {@link DataSpec#uri}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setUri(String uriString) { this.uri = Uri.parse(uriString); return this; @@ -100,6 +102,7 @@ public Builder setUri(String uriString) { * @param uri The {@link DataSpec#uri}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setUri(Uri uri) { this.uri = uri; return this; @@ -111,6 +114,7 @@ public Builder setUri(Uri uri) { * @param uriPositionOffset The {@link DataSpec#uriPositionOffset}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setUriPositionOffset(long uriPositionOffset) { this.uriPositionOffset = uriPositionOffset; return this; @@ -122,6 +126,7 @@ public Builder setUriPositionOffset(long uriPositionOffset) { * @param httpMethod The {@link DataSpec#httpMethod}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setHttpMethod(@HttpMethod int httpMethod) { this.httpMethod = httpMethod; return this; @@ -133,6 +138,7 @@ public Builder setHttpMethod(@HttpMethod int httpMethod) { * @param httpBody The {@link DataSpec#httpBody}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setHttpBody(@Nullable byte[] httpBody) { this.httpBody = httpBody; return this; @@ -148,6 +154,7 @@ public Builder setHttpBody(@Nullable byte[] httpBody) { * @param httpRequestHeaders The {@link DataSpec#httpRequestHeaders}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setHttpRequestHeaders(Map httpRequestHeaders) { this.httpRequestHeaders = httpRequestHeaders; return this; @@ -159,6 +166,7 @@ public Builder setHttpRequestHeaders(Map httpRequestHeaders) { * @param position The {@link DataSpec#position}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setPosition(long position) { this.position = position; return this; @@ -170,6 +178,7 @@ public Builder setPosition(long position) { * @param length The {@link DataSpec#length}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setLength(long length) { this.length = length; return this; @@ -181,6 +190,7 @@ public Builder setLength(long length) { * @param key The {@link DataSpec#key}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setKey(@Nullable String key) { this.key = key; return this; @@ -192,6 +202,7 @@ public Builder setKey(@Nullable String key) { * @param flags The {@link DataSpec#flags}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setFlags(@Flags int flags) { this.flags = flags; return this; @@ -203,6 +214,7 @@ public Builder setFlags(@Flags int flags) { * @param customData The {@link DataSpec#customData}. * @return The builder. */ + @CanIgnoreReturnValue public Builder setCustomData(@Nullable Object customData) { this.customData = customData; return this; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java index 962db5a8849..8a5e9d7df02 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultDataSource.java @@ -23,6 +23,7 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -99,6 +100,7 @@ public Factory(Context context, DataSource.Factory baseDataSourceFactory) { * @param transferListener The listener that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setTransferListener(@Nullable TransferListener transferListener) { this.transferListener = transferListener; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java index 59d8d4a40f1..e29963f8ed6 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DefaultHttpDataSource.java @@ -34,6 +34,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Sets; import com.google.common.net.HttpHeaders; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.io.InputStream; import java.io.InterruptedIOException; @@ -82,6 +83,7 @@ public Factory() { readTimeoutMs = DEFAULT_READ_TIMEOUT_MILLIS; } + @CanIgnoreReturnValue @UnstableApi @Override public final Factory setDefaultRequestProperties(Map defaultRequestProperties) { @@ -99,6 +101,7 @@ public final Factory setDefaultRequestProperties(Map defaultRequ * agent of the underlying platform. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setUserAgent(@Nullable String userAgent) { this.userAgent = userAgent; @@ -113,6 +116,7 @@ public Factory setUserAgent(@Nullable String userAgent) { * @param connectTimeoutMs The connect timeout, in milliseconds, that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setConnectTimeoutMs(int connectTimeoutMs) { this.connectTimeoutMs = connectTimeoutMs; @@ -127,6 +131,7 @@ public Factory setConnectTimeoutMs(int connectTimeoutMs) { * @param readTimeoutMs The connect timeout, in milliseconds, that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setReadTimeoutMs(int readTimeoutMs) { this.readTimeoutMs = readTimeoutMs; @@ -141,6 +146,7 @@ public Factory setReadTimeoutMs(int readTimeoutMs) { * @param allowCrossProtocolRedirects Whether to allow cross protocol redirects. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setAllowCrossProtocolRedirects(boolean allowCrossProtocolRedirects) { this.allowCrossProtocolRedirects = allowCrossProtocolRedirects; @@ -158,6 +164,7 @@ public Factory setAllowCrossProtocolRedirects(boolean allowCrossProtocolRedirect * predicate that was previously set. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setContentTypePredicate(@Nullable Predicate contentTypePredicate) { this.contentTypePredicate = contentTypePredicate; @@ -174,6 +181,7 @@ public Factory setContentTypePredicate(@Nullable Predicate contentTypePr * @param transferListener The listener that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setTransferListener(@Nullable TransferListener transferListener) { this.transferListener = transferListener; @@ -184,6 +192,7 @@ public Factory setTransferListener(@Nullable TransferListener transferListener) * Sets whether we should keep the POST method and body when we have HTTP 302 redirects for a * POST request. */ + @CanIgnoreReturnValue @UnstableApi public Factory setKeepPostFor302Redirects(boolean keepPostFor302Redirects) { this.keepPostFor302Redirects = keepPostFor302Redirects; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/FileDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/FileDataSource.java index 555651f86e0..2bbfa5eab2f 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/FileDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/FileDataSource.java @@ -30,6 +30,7 @@ import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; @@ -82,6 +83,7 @@ public static final class Factory implements DataSource.Factory { * @param listener The {@link TransferListener}. * @return This factory. */ + @CanIgnoreReturnValue public Factory setListener(@Nullable TransferListener listener) { this.listener = listener; return this; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java index 4f755b6ed14..cf17e7c070d 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java @@ -25,6 +25,7 @@ import androidx.media3.common.util.Util; import com.google.common.base.Ascii; import com.google.common.base.Predicate; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.io.InterruptedIOException; import java.lang.annotation.Documented; @@ -157,6 +158,7 @@ public final HttpDataSource createDataSource() { return createDataSourceInternal(defaultRequestProperties); } + @CanIgnoreReturnValue @Override public final Factory setDefaultRequestProperties(Map defaultRequestProperties) { this.defaultRequestProperties.clearAndSet(defaultRequestProperties); diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSink.java b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSink.java index c4995f82c01..d87fcfdacc5 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSink.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSink.java @@ -28,6 +28,7 @@ import androidx.media3.datasource.DataSink; import androidx.media3.datasource.DataSpec; import androidx.media3.datasource.cache.Cache.CacheException; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -65,6 +66,7 @@ public Factory() { * @param cache The cache to which data will be written. * @return This factory. */ + @CanIgnoreReturnValue public Factory setCache(Cache cache) { this.cache = cache; return this; @@ -83,6 +85,7 @@ public Factory setCache(Cache cache) { * fragmentation. * @return This factory. */ + @CanIgnoreReturnValue public Factory setFragmentSize(long fragmentSize) { this.fragmentSize = fragmentSize; return this; @@ -97,6 +100,7 @@ public Factory setFragmentSize(long fragmentSize) { * @param bufferSize The buffer size in bytes. * @return This factory. */ + @CanIgnoreReturnValue public Factory setBufferSize(int bufferSize) { this.bufferSize = bufferSize; return this; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java index 66bb73e4ad4..f0c8788c1f5 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java @@ -42,6 +42,7 @@ import androidx.media3.datasource.TeeDataSource; import androidx.media3.datasource.TransferListener; import androidx.media3.datasource.cache.Cache.CacheException; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.io.InterruptedIOException; import java.lang.annotation.Documented; @@ -88,6 +89,7 @@ public Factory() { * @param cache The cache that will be used. * @return This factory. */ + @CanIgnoreReturnValue public Factory setCache(Cache cache) { this.cache = cache; return this; @@ -111,6 +113,7 @@ public Cache getCache() { * @param cacheReadDataSourceFactory The {@link DataSource.Factory} for reading from the cache. * @return This factory. */ + @CanIgnoreReturnValue public Factory setCacheReadDataSourceFactory(DataSource.Factory cacheReadDataSourceFactory) { this.cacheReadDataSourceFactory = cacheReadDataSourceFactory; return this; @@ -126,6 +129,7 @@ public Factory setCacheReadDataSourceFactory(DataSource.Factory cacheReadDataSou * DataSinks} for writing data to the cache, or {@code null} to disable writing. * @return This factory. */ + @CanIgnoreReturnValue public Factory setCacheWriteDataSinkFactory( @Nullable DataSink.Factory cacheWriteDataSinkFactory) { this.cacheWriteDataSinkFactory = cacheWriteDataSinkFactory; @@ -141,6 +145,7 @@ public Factory setCacheWriteDataSinkFactory( * @param cacheKeyFactory The {@link CacheKeyFactory}. * @return This factory. */ + @CanIgnoreReturnValue public Factory setCacheKeyFactory(CacheKeyFactory cacheKeyFactory) { this.cacheKeyFactory = cacheKeyFactory; return this; @@ -162,6 +167,7 @@ public CacheKeyFactory getCacheKeyFactory() { * cache, or {@code null} to cause failure in the case of a cache miss. * @return This factory. */ + @CanIgnoreReturnValue public Factory setUpstreamDataSourceFactory( @Nullable DataSource.Factory upstreamDataSourceFactory) { this.upstreamDataSourceFactory = upstreamDataSourceFactory; @@ -186,6 +192,7 @@ public Factory setUpstreamDataSourceFactory( * @param upstreamPriorityTaskManager The upstream {@link PriorityTaskManager}. * @return This factory. */ + @CanIgnoreReturnValue public Factory setUpstreamPriorityTaskManager( @Nullable PriorityTaskManager upstreamPriorityTaskManager) { this.upstreamPriorityTaskManager = upstreamPriorityTaskManager; @@ -210,6 +217,7 @@ public PriorityTaskManager getUpstreamPriorityTaskManager() { * @param upstreamPriority The priority to use when requesting data from upstream. * @return This factory. */ + @CanIgnoreReturnValue public Factory setUpstreamPriority(int upstreamPriority) { this.upstreamPriority = upstreamPriority; return this; @@ -223,6 +231,7 @@ public Factory setUpstreamPriority(int upstreamPriority) { * @param flags The {@link CacheDataSource.Flags}. * @return This factory. */ + @CanIgnoreReturnValue public Factory setFlags(@CacheDataSource.Flags int flags) { this.flags = flags; return this; @@ -236,6 +245,7 @@ public Factory setFlags(@CacheDataSource.Flags int flags) { * @param eventListener The {@link EventListener}. * @return This factory. */ + @CanIgnoreReturnValue public Factory setEventListener(@Nullable EventListener eventListener) { this.eventListener = eventListener; return this; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ContentMetadataMutations.java b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ContentMetadataMutations.java index ddb6ef9aa74..73c782819f2 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ContentMetadataMutations.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/ContentMetadataMutations.java @@ -20,6 +20,7 @@ import androidx.media3.common.C; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -81,6 +82,7 @@ public ContentMetadataMutations() { * @param value The value to be set. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ContentMetadataMutations set(String name, String value) { return checkAndSet(name, value); } @@ -92,6 +94,7 @@ public ContentMetadataMutations set(String name, String value) { * @param value The value to be set. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ContentMetadataMutations set(String name, long value) { return checkAndSet(name, value); } @@ -103,6 +106,7 @@ public ContentMetadataMutations set(String name, long value) { * @param value The value to be set. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ContentMetadataMutations set(String name, byte[] value) { return checkAndSet(name, Arrays.copyOf(value, value.length)); } @@ -113,6 +117,7 @@ public ContentMetadataMutations set(String name, byte[] value) { * @param name The name of the metadata value. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ContentMetadataMutations remove(String name) { removedValues.add(name); editedValues.remove(name); @@ -137,6 +142,7 @@ public Map getEditedValues() { return Collections.unmodifiableMap(hashMap); } + @CanIgnoreReturnValue private ContentMetadataMutations checkAndSet(String name, Object value) { editedValues.put(Assertions.checkNotNull(name), Assertions.checkNotNull(value)); removedValues.remove(name); diff --git a/libraries/datasource_cronet/build.gradle b/libraries/datasource_cronet/build.gradle index 2f7633d2d98..79b8389f576 100644 --- a/libraries/datasource_cronet/build.gradle +++ b/libraries/datasource_cronet/build.gradle @@ -24,6 +24,7 @@ dependencies { implementation project(modulePrefix + 'lib-common') implementation project(modulePrefix + 'lib-datasource') implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion androidTestImplementation 'androidx.test:rules:' + androidxTestRulesVersion diff --git a/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java b/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java index 056ece7591a..e5d93dab8fe 100644 --- a/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java +++ b/libraries/datasource_cronet/src/main/java/androidx/media3/datasource/cronet/CronetDataSource.java @@ -42,6 +42,7 @@ import com.google.common.base.Predicate; import com.google.common.net.HttpHeaders; import com.google.common.primitives.Longs; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.io.InterruptedIOException; import java.net.SocketTimeoutException; @@ -142,6 +143,7 @@ public Factory(CronetEngineWrapper cronetEngineWrapper, Executor executor) { readTimeoutMs = DEFAULT_READ_TIMEOUT_MILLIS; } + @CanIgnoreReturnValue @UnstableApi @Override public final Factory setDefaultRequestProperties(Map defaultRequestProperties) { @@ -162,6 +164,7 @@ public final Factory setDefaultRequestProperties(Map defaultRequ * agent of the underlying {@link CronetEngine}. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setUserAgent(@Nullable String userAgent) { this.userAgent = userAgent; @@ -181,6 +184,7 @@ public Factory setUserAgent(@Nullable String userAgent) { * UrlRequest.Builder#REQUEST_PRIORITY_*} constants. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setRequestPriority(int requestPriority) { this.requestPriority = requestPriority; @@ -195,6 +199,7 @@ public Factory setRequestPriority(int requestPriority) { * @param connectTimeoutMs The connect timeout, in milliseconds, that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setConnectionTimeoutMs(int connectTimeoutMs) { this.connectTimeoutMs = connectTimeoutMs; @@ -212,6 +217,7 @@ public Factory setConnectionTimeoutMs(int connectTimeoutMs) { * @param resetTimeoutOnRedirects Whether the connect timeout is reset when a redirect occurs. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setResetTimeoutOnRedirects(boolean resetTimeoutOnRedirects) { this.resetTimeoutOnRedirects = resetTimeoutOnRedirects; @@ -228,6 +234,7 @@ public Factory setResetTimeoutOnRedirects(boolean resetTimeoutOnRedirects) { * to the redirect url in the "Cookie" header. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setHandleSetCookieRequests(boolean handleSetCookieRequests) { this.handleSetCookieRequests = handleSetCookieRequests; @@ -242,6 +249,7 @@ public Factory setHandleSetCookieRequests(boolean handleSetCookieRequests) { * @param readTimeoutMs The connect timeout, in milliseconds, that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setReadTimeoutMs(int readTimeoutMs) { this.readTimeoutMs = readTimeoutMs; @@ -261,6 +269,7 @@ public Factory setReadTimeoutMs(int readTimeoutMs) { * predicate that was previously set. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setContentTypePredicate(@Nullable Predicate contentTypePredicate) { this.contentTypePredicate = contentTypePredicate; @@ -274,6 +283,7 @@ public Factory setContentTypePredicate(@Nullable Predicate contentTypePr * Sets whether we should keep the POST method and body when we have HTTP 302 redirects for a * POST request. */ + @CanIgnoreReturnValue @UnstableApi public Factory setKeepPostFor302Redirects(boolean keepPostFor302Redirects) { this.keepPostFor302Redirects = keepPostFor302Redirects; @@ -293,6 +303,7 @@ public Factory setKeepPostFor302Redirects(boolean keepPostFor302Redirects) { * @param transferListener The listener that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setTransferListener(@Nullable TransferListener transferListener) { this.transferListener = transferListener; @@ -313,6 +324,7 @@ public Factory setTransferListener(@Nullable TransferListener transferListener) * @deprecated Do not use {@link CronetDataSource} or its factory in cases where a suitable * {@link CronetEngine} is not available. Use the fallback factory directly in such cases. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public Factory setFallbackFactory(@Nullable HttpDataSource.Factory fallbackFactory) { diff --git a/libraries/datasource_okhttp/build.gradle b/libraries/datasource_okhttp/build.gradle index 2f67805d169..4eb8e6a69d9 100644 --- a/libraries/datasource_okhttp/build.gradle +++ b/libraries/datasource_okhttp/build.gradle @@ -19,6 +19,7 @@ dependencies { implementation project(modulePrefix + 'lib-common') implementation project(modulePrefix + 'lib-datasource') implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion testImplementation project(modulePrefix + 'test-utils') diff --git a/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java b/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java index aaa3fe87663..0ae8d58c07a 100644 --- a/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java +++ b/libraries/datasource_okhttp/src/main/java/androidx/media3/datasource/okhttp/OkHttpDataSource.java @@ -40,6 +40,7 @@ import com.google.common.base.Predicate; import com.google.common.net.HttpHeaders; import com.google.common.util.concurrent.SettableFuture; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.io.InputStream; import java.io.InterruptedIOException; @@ -94,6 +95,7 @@ public Factory(Call.Factory callFactory) { defaultRequestProperties = new RequestProperties(); } + @CanIgnoreReturnValue @UnstableApi @Override public final Factory setDefaultRequestProperties(Map defaultRequestProperties) { @@ -111,6 +113,7 @@ public final Factory setDefaultRequestProperties(Map defaultRequ * agent of the underlying {@link OkHttpClient}. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setUserAgent(@Nullable String userAgent) { this.userAgent = userAgent; @@ -125,6 +128,7 @@ public Factory setUserAgent(@Nullable String userAgent) { * @param cacheControl The cache control that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setCacheControl(@Nullable CacheControl cacheControl) { this.cacheControl = cacheControl; @@ -142,6 +146,7 @@ public Factory setCacheControl(@Nullable CacheControl cacheControl) { * predicate that was previously set. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setContentTypePredicate(@Nullable Predicate contentTypePredicate) { this.contentTypePredicate = contentTypePredicate; @@ -158,6 +163,7 @@ public Factory setContentTypePredicate(@Nullable Predicate contentTypePr * @param transferListener The listener that will be used. * @return This factory. */ + @CanIgnoreReturnValue @UnstableApi public Factory setTransferListener(@Nullable TransferListener transferListener) { this.transferListener = transferListener; diff --git a/libraries/datasource_rtmp/build.gradle b/libraries/datasource_rtmp/build.gradle index c00413dff10..5bd1725cdac 100644 --- a/libraries/datasource_rtmp/build.gradle +++ b/libraries/datasource_rtmp/build.gradle @@ -18,6 +18,7 @@ dependencies { implementation project(modulePrefix + 'lib-datasource') implementation 'io.antmedia:rtmp-client:3.2.0' implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion testImplementation project(modulePrefix + 'lib-exoplayer') testImplementation project(modulePrefix + 'test-utils') diff --git a/libraries/datasource_rtmp/src/main/java/androidx/media3/datasource/rtmp/RtmpDataSource.java b/libraries/datasource_rtmp/src/main/java/androidx/media3/datasource/rtmp/RtmpDataSource.java index 7145e760f0b..0659969e250 100644 --- a/libraries/datasource_rtmp/src/main/java/androidx/media3/datasource/rtmp/RtmpDataSource.java +++ b/libraries/datasource_rtmp/src/main/java/androidx/media3/datasource/rtmp/RtmpDataSource.java @@ -26,6 +26,7 @@ import androidx.media3.datasource.DataSource; import androidx.media3.datasource.DataSpec; import androidx.media3.datasource.TransferListener; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import io.antmedia.rtmp_client.RtmpClient; import io.antmedia.rtmp_client.RtmpClient.RtmpIOException; import java.io.IOException; @@ -53,6 +54,7 @@ public static final class Factory implements DataSource.Factory { * @param transferListener The listener that will be used. * @return This factory. */ + @CanIgnoreReturnValue public Factory setTransferListener(@Nullable TransferListener transferListener) { this.transferListener = transferListener; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.java index 0de033fc9d4..8eeceb08c6e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLivePlaybackSpeedControl.java @@ -25,6 +25,7 @@ import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** * A {@link LivePlaybackSpeedControl} that adjusts the playback speed using a proportional @@ -125,6 +126,7 @@ public Builder() { * @param fallbackMinPlaybackSpeed The fallback minimum factor by which playback can be sped up. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setFallbackMinPlaybackSpeed(float fallbackMinPlaybackSpeed) { Assertions.checkArgument(0 < fallbackMinPlaybackSpeed && fallbackMinPlaybackSpeed <= 1f); this.fallbackMinPlaybackSpeed = fallbackMinPlaybackSpeed; @@ -140,6 +142,7 @@ public Builder setFallbackMinPlaybackSpeed(float fallbackMinPlaybackSpeed) { * @param fallbackMaxPlaybackSpeed The fallback maximum factor by which playback can be sped up. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setFallbackMaxPlaybackSpeed(float fallbackMaxPlaybackSpeed) { Assertions.checkArgument(fallbackMaxPlaybackSpeed >= 1f); this.fallbackMaxPlaybackSpeed = fallbackMaxPlaybackSpeed; @@ -155,6 +158,7 @@ public Builder setFallbackMaxPlaybackSpeed(float fallbackMaxPlaybackSpeed) { * milliseconds. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setMinUpdateIntervalMs(long minUpdateIntervalMs) { Assertions.checkArgument(minUpdateIntervalMs > 0); this.minUpdateIntervalMs = minUpdateIntervalMs; @@ -173,6 +177,7 @@ public Builder setMinUpdateIntervalMs(long minUpdateIntervalMs) { * speed. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setProportionalControlFactor(float proportionalControlFactor) { Assertions.checkArgument(proportionalControlFactor > 0); this.proportionalControlFactorUs = proportionalControlFactor / C.MICROS_PER_SECOND; @@ -189,6 +194,7 @@ public Builder setProportionalControlFactor(float proportionalControlFactor) { * used, in milliseconds. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setMaxLiveOffsetErrorMsForUnitSpeed(long maxLiveOffsetErrorMsForUnitSpeed) { Assertions.checkArgument(maxLiveOffsetErrorMsForUnitSpeed > 0); this.maxLiveOffsetErrorUsForUnitSpeed = Util.msToUs(maxLiveOffsetErrorMsForUnitSpeed); @@ -203,6 +209,7 @@ public Builder setMaxLiveOffsetErrorMsForUnitSpeed(long maxLiveOffsetErrorMsForU * when the player is rebuffering, in milliseconds * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setTargetLiveOffsetIncrementOnRebufferMs( long targetLiveOffsetIncrementOnRebufferMs) { Assertions.checkArgument(targetLiveOffsetIncrementOnRebufferMs >= 0); @@ -225,6 +232,7 @@ public Builder setTargetLiveOffsetIncrementOnRebufferMs( * @param minPossibleLiveOffsetSmoothingFactor The smoothing factor. Must be ≥ 0 and < 1. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public Builder setMinPossibleLiveOffsetSmoothingFactor( float minPossibleLiveOffsetSmoothingFactor) { Assertions.checkArgument( diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLoadControl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLoadControl.java index 196d26098d2..2077c1ee335 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLoadControl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultLoadControl.java @@ -29,6 +29,7 @@ import androidx.media3.exoplayer.trackselection.ExoTrackSelection; import androidx.media3.exoplayer.upstream.Allocator; import androidx.media3.exoplayer.upstream.DefaultAllocator; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** The default {@link LoadControl} implementation. */ @UnstableApi @@ -133,6 +134,7 @@ public Builder() { * @return This builder, for convenience. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setAllocator(DefaultAllocator allocator) { checkState(!buildCalled); this.allocator = allocator; @@ -154,6 +156,7 @@ public Builder setAllocator(DefaultAllocator allocator) { * @return This builder, for convenience. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setBufferDurationsMs( int minBufferMs, int maxBufferMs, @@ -185,6 +188,7 @@ public Builder setBufferDurationsMs( * @return This builder, for convenience. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setTargetBufferBytes(int targetBufferBytes) { checkState(!buildCalled); this.targetBufferBytes = targetBufferBytes; @@ -200,6 +204,7 @@ public Builder setTargetBufferBytes(int targetBufferBytes) { * @return This builder, for convenience. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setPrioritizeTimeOverSizeThresholds(boolean prioritizeTimeOverSizeThresholds) { checkState(!buildCalled); this.prioritizeTimeOverSizeThresholds = prioritizeTimeOverSizeThresholds; @@ -216,6 +221,7 @@ public Builder setPrioritizeTimeOverSizeThresholds(boolean prioritizeTimeOverSiz * @return This builder, for convenience. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setBackBuffer(int backBufferDurationMs, boolean retainBackBufferFromKeyframe) { checkState(!buildCalled); assertGreaterOrEqual(backBufferDurationMs, 0, "backBufferDurationMs", "0"); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java index 46e80d2e9fe..429e0c2f75a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java @@ -42,6 +42,7 @@ import androidx.media3.exoplayer.video.MediaCodecVideoRenderer; import androidx.media3.exoplayer.video.VideoRendererEventListener; import androidx.media3.exoplayer.video.spherical.CameraMotionRenderer; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -124,6 +125,7 @@ public DefaultRenderersFactory(Context context) { * @param extensionRendererMode The extension renderer mode. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setExtensionRendererMode( @ExtensionRendererMode int extensionRendererMode) { this.extensionRendererMode = extensionRendererMode; @@ -139,6 +141,7 @@ public DefaultRenderersFactory setExtensionRendererMode( * * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory forceEnableMediaCodecAsynchronousQueueing() { codecAdapterFactory.forceEnableAsynchronous(); return this; @@ -151,6 +154,7 @@ public DefaultRenderersFactory forceEnableMediaCodecAsynchronousQueueing() { * * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory forceDisableMediaCodecAsynchronousQueueing() { codecAdapterFactory.forceDisableAsynchronous(); return this; @@ -165,6 +169,7 @@ public DefaultRenderersFactory forceDisableMediaCodecAsynchronousQueueing() { * queueing. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled( boolean enabled) { codecAdapterFactory.experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled(enabled); @@ -179,6 +184,7 @@ public DefaultRenderersFactory experimentalSetSynchronizeCodecInteractionsWithQu * initialization fails. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setEnableDecoderFallback(boolean enableDecoderFallback) { this.enableDecoderFallback = enableDecoderFallback; return this; @@ -192,6 +198,7 @@ public DefaultRenderersFactory setEnableDecoderFallback(boolean enableDecoderFal * @param mediaCodecSelector The {@link MediaCodecSelector}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setMediaCodecSelector(MediaCodecSelector mediaCodecSelector) { this.mediaCodecSelector = mediaCodecSelector; return this; @@ -208,6 +215,7 @@ public DefaultRenderersFactory setMediaCodecSelector(MediaCodecSelector mediaCod * @param enableFloatOutput Whether to enable use of floating point audio output, if available. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setEnableAudioFloatOutput(boolean enableFloatOutput) { this.enableFloatOutput = enableFloatOutput; return this; @@ -230,6 +238,7 @@ public DefaultRenderersFactory setEnableAudioFloatOutput(boolean enableFloatOutp * available. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setEnableAudioOffload(boolean enableOffload) { this.enableOffload = enableOffload; return this; @@ -253,6 +262,7 @@ public DefaultRenderersFactory setEnableAudioOffload(boolean enableOffload) { * android.media.AudioTrack#setPlaybackParams(PlaybackParams)}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setEnableAudioTrackPlaybackParams( boolean enableAudioTrackPlaybackParams) { this.enableAudioTrackPlaybackParams = enableAudioTrackPlaybackParams; @@ -269,6 +279,7 @@ public DefaultRenderersFactory setEnableAudioTrackPlaybackParams( * seamlessly join an ongoing playback, in milliseconds. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultRenderersFactory setAllowedVideoJoiningTimeMs(long allowedVideoJoiningTimeMs) { this.allowedVideoJoiningTimeMs = allowedVideoJoiningTimeMs; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java index 939e808870c..de32120a389 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java @@ -70,6 +70,7 @@ import androidx.media3.extractor.ExtractorsFactory; import com.google.common.base.Function; import com.google.common.base.Supplier; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.List; /** @@ -683,6 +684,7 @@ private Builder( * * @param timeoutMs The time limit in milliseconds. */ + @CanIgnoreReturnValue @UnstableApi public Builder experimentalSetForegroundModeTimeoutMs(long timeoutMs) { checkState(!buildCalled); @@ -697,6 +699,7 @@ public Builder experimentalSetForegroundModeTimeoutMs(long timeoutMs) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setRenderersFactory(RenderersFactory renderersFactory) { checkState(!buildCalled); @@ -712,6 +715,7 @@ public Builder setRenderersFactory(RenderersFactory renderersFactory) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { checkState(!buildCalled); checkNotNull(mediaSourceFactory); @@ -726,6 +730,7 @@ public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setTrackSelector(TrackSelector trackSelector) { checkState(!buildCalled); @@ -741,6 +746,7 @@ public Builder setTrackSelector(TrackSelector trackSelector) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setLoadControl(LoadControl loadControl) { checkState(!buildCalled); @@ -756,6 +762,7 @@ public Builder setLoadControl(LoadControl loadControl) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { checkState(!buildCalled); @@ -772,6 +779,7 @@ public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setLooper(Looper looper) { checkState(!buildCalled); @@ -787,6 +795,7 @@ public Builder setLooper(Looper looper) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setAnalyticsCollector(AnalyticsCollector analyticsCollector) { checkState(!buildCalled); @@ -804,6 +813,7 @@ public Builder setAnalyticsCollector(AnalyticsCollector analyticsCollector) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setPriorityTaskManager(@Nullable PriorityTaskManager priorityTaskManager) { checkState(!buildCalled); @@ -824,6 +834,7 @@ public Builder setPriorityTaskManager(@Nullable PriorityTaskManager priorityTask * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) { checkState(!buildCalled); this.audioAttributes = checkNotNull(audioAttributes); @@ -848,6 +859,7 @@ public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handl * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setWakeMode(@C.WakeMode int wakeMode) { checkState(!buildCalled); this.wakeMode = wakeMode; @@ -865,6 +877,7 @@ public Builder setWakeMode(@C.WakeMode int wakeMode) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue public Builder setHandleAudioBecomingNoisy(boolean handleAudioBecomingNoisy) { checkState(!buildCalled); this.handleAudioBecomingNoisy = handleAudioBecomingNoisy; @@ -878,6 +891,7 @@ public Builder setHandleAudioBecomingNoisy(boolean handleAudioBecomingNoisy) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setSkipSilenceEnabled(boolean skipSilenceEnabled) { checkState(!buildCalled); @@ -895,6 +909,7 @@ public Builder setSkipSilenceEnabled(boolean skipSilenceEnabled) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setVideoScalingMode(@C.VideoScalingMode int videoScalingMode) { checkState(!buildCalled); @@ -916,6 +931,7 @@ public Builder setVideoScalingMode(@C.VideoScalingMode int videoScalingMode) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setVideoChangeFrameRateStrategy( @C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy) { @@ -935,6 +951,7 @@ public Builder setVideoChangeFrameRateStrategy( * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setUseLazyPreparation(boolean useLazyPreparation) { checkState(!buildCalled); @@ -949,6 +966,7 @@ public Builder setUseLazyPreparation(boolean useLazyPreparation) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setSeekParameters(SeekParameters seekParameters) { checkState(!buildCalled); @@ -964,6 +982,7 @@ public Builder setSeekParameters(SeekParameters seekParameters) { * @throws IllegalArgumentException If {@code seekBackIncrementMs} is non-positive. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setSeekBackIncrementMs(@IntRange(from = 1) long seekBackIncrementMs) { checkArgument(seekBackIncrementMs > 0); @@ -980,6 +999,7 @@ public Builder setSeekBackIncrementMs(@IntRange(from = 1) long seekBackIncrement * @throws IllegalArgumentException If {@code seekForwardIncrementMs} is non-positive. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setSeekForwardIncrementMs(@IntRange(from = 1) long seekForwardIncrementMs) { checkArgument(seekForwardIncrementMs > 0); @@ -999,6 +1019,7 @@ public Builder setSeekForwardIncrementMs(@IntRange(from = 1) long seekForwardInc * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setReleaseTimeoutMs(long releaseTimeoutMs) { checkState(!buildCalled); @@ -1017,6 +1038,7 @@ public Builder setReleaseTimeoutMs(long releaseTimeoutMs) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setDetachSurfaceTimeoutMs(long detachSurfaceTimeoutMs) { checkState(!buildCalled); @@ -1036,6 +1058,7 @@ public Builder setDetachSurfaceTimeoutMs(long detachSurfaceTimeoutMs) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { checkState(!buildCalled); @@ -1051,6 +1074,7 @@ public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setLivePlaybackSpeedControl(LivePlaybackSpeedControl livePlaybackSpeedControl) { checkState(!buildCalled); @@ -1073,6 +1097,7 @@ public Builder setLivePlaybackSpeedControl(LivePlaybackSpeedControl livePlayback * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi public Builder setUsePlatformDiagnostics(boolean usePlatformDiagnostics) { checkState(!buildCalled); @@ -1088,6 +1113,7 @@ public Builder setUsePlatformDiagnostics(boolean usePlatformDiagnostics) { * @return This builder. * @throws IllegalStateException If {@link #build()} has already been called. */ + @CanIgnoreReturnValue @UnstableApi @VisibleForTesting public Builder setClock(Clock clock) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index 1ad8dc0cb64..95df21be23e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -105,6 +105,7 @@ import androidx.media3.exoplayer.video.spherical.CameraMotionListener; import androidx.media3.exoplayer.video.spherical.SphericalGLSurfaceView; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -397,6 +398,7 @@ public ExoPlayerImpl(ExoPlayer.Builder builder, @Nullable Player wrappingPlayer) } } + @CanIgnoreReturnValue @SuppressWarnings("deprecation") // Returning deprecated class. @Override @Deprecated @@ -405,6 +407,7 @@ public AudioComponent getAudioComponent() { return this; } + @CanIgnoreReturnValue @SuppressWarnings("deprecation") // Returning deprecated class. @Override @Deprecated @@ -413,6 +416,7 @@ public VideoComponent getVideoComponent() { return this; } + @CanIgnoreReturnValue @SuppressWarnings("deprecation") // Returning deprecated class. @Override @Deprecated @@ -421,6 +425,7 @@ public TextComponent getTextComponent() { return this; } + @CanIgnoreReturnValue @SuppressWarnings("deprecation") // Returning deprecated class. @Override @Deprecated diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlayerMessage.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlayerMessage.java index 328416025a8..1bd590368d2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlayerMessage.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlayerMessage.java @@ -27,6 +27,7 @@ import androidx.media3.common.util.Clock; import androidx.media3.common.util.UnstableApi; import androidx.media3.exoplayer.Renderer.MessageType; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.concurrent.TimeoutException; /** @@ -125,6 +126,7 @@ public Target getTarget() { * @return This message. * @throws IllegalStateException If {@link #send()} has already been called. */ + @CanIgnoreReturnValue public PlayerMessage setType(int messageType) { Assertions.checkState(!isSent); this.type = messageType; @@ -143,6 +145,7 @@ public int getType() { * @return This message. * @throws IllegalStateException If {@link #send()} has already been called. */ + @CanIgnoreReturnValue public PlayerMessage setPayload(@Nullable Object payload) { Assertions.checkState(!isSent); this.payload = payload; @@ -158,6 +161,7 @@ public Object getPayload() { /** * @deprecated Use {@link #setLooper(Looper)} instead. */ + @CanIgnoreReturnValue @Deprecated public PlayerMessage setHandler(Handler handler) { return setLooper(handler.getLooper()); @@ -170,6 +174,7 @@ public PlayerMessage setHandler(Handler handler) { * @return This message. * @throws IllegalStateException If {@link #send()} has already been called. */ + @CanIgnoreReturnValue public PlayerMessage setLooper(Looper looper) { Assertions.checkState(!isSent); this.looper = looper; @@ -200,6 +205,7 @@ public long getPositionMs() { * @return This message. * @throws IllegalStateException If {@link #send()} has already been called. */ + @CanIgnoreReturnValue public PlayerMessage setPosition(long positionMs) { Assertions.checkState(!isSent); this.positionMs = positionMs; @@ -218,6 +224,7 @@ public PlayerMessage setPosition(long positionMs) { * empty and the provided media item index is not within the bounds of the timeline. * @throws IllegalStateException If {@link #send()} has already been called. */ + @CanIgnoreReturnValue public PlayerMessage setPosition(int mediaItemIndex, long positionMs) { Assertions.checkState(!isSent); Assertions.checkArgument(positionMs != C.TIME_UNSET); @@ -244,6 +251,7 @@ public int getMediaItemIndex() { * @return This message. * @throws IllegalStateException If {@link #send()} has already been called. */ + @CanIgnoreReturnValue public PlayerMessage setDeleteAfterDelivery(boolean deleteAfterDelivery) { Assertions.checkState(!isSent); this.deleteAfterDelivery = deleteAfterDelivery; @@ -262,6 +270,7 @@ public boolean getDeleteAfterDelivery() { * @return This message. * @throws IllegalStateException If this message has already been sent. */ + @CanIgnoreReturnValue public PlayerMessage send() { Assertions.checkState(!isSent); if (positionMs == C.TIME_UNSET) { @@ -278,6 +287,7 @@ public PlayerMessage send() { * @return This message. * @throws IllegalStateException If this method is called before {@link #send()}. */ + @CanIgnoreReturnValue public synchronized PlayerMessage cancel() { Assertions.checkState(isSent); isCanceled = true; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java index 233fd18eede..3d9f7e5f537 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java @@ -55,6 +55,7 @@ import androidx.media3.exoplayer.video.VideoFrameMetadataListener; import androidx.media3.exoplayer.video.spherical.CameraMotionListener; import androidx.media3.extractor.ExtractorsFactory; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.List; /** @@ -146,6 +147,7 @@ public Builder( * @deprecated Use {@link ExoPlayer.Builder#experimentalSetForegroundModeTimeoutMs(long)} * instead. */ + @CanIgnoreReturnValue @Deprecated public Builder experimentalSetForegroundModeTimeoutMs(long timeoutMs) { wrappedBuilder.experimentalSetForegroundModeTimeoutMs(timeoutMs); @@ -155,6 +157,7 @@ public Builder experimentalSetForegroundModeTimeoutMs(long timeoutMs) { /** * @deprecated Use {@link ExoPlayer.Builder#setTrackSelector(TrackSelector)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setTrackSelector(TrackSelector trackSelector) { wrappedBuilder.setTrackSelector(trackSelector); @@ -164,6 +167,7 @@ public Builder setTrackSelector(TrackSelector trackSelector) { /** * @deprecated Use {@link ExoPlayer.Builder#setMediaSourceFactory(MediaSource.Factory)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { wrappedBuilder.setMediaSourceFactory(mediaSourceFactory); @@ -173,6 +177,7 @@ public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { /** * @deprecated Use {@link ExoPlayer.Builder#setLoadControl(LoadControl)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setLoadControl(LoadControl loadControl) { wrappedBuilder.setLoadControl(loadControl); @@ -182,6 +187,7 @@ public Builder setLoadControl(LoadControl loadControl) { /** * @deprecated Use {@link ExoPlayer.Builder#setBandwidthMeter(BandwidthMeter)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { wrappedBuilder.setBandwidthMeter(bandwidthMeter); @@ -191,6 +197,7 @@ public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { /** * @deprecated Use {@link ExoPlayer.Builder#setLooper(Looper)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setLooper(Looper looper) { wrappedBuilder.setLooper(looper); @@ -200,6 +207,7 @@ public Builder setLooper(Looper looper) { /** * @deprecated Use {@link ExoPlayer.Builder#setAnalyticsCollector(AnalyticsCollector)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setAnalyticsCollector(AnalyticsCollector analyticsCollector) { wrappedBuilder.setAnalyticsCollector(analyticsCollector); @@ -210,6 +218,7 @@ public Builder setAnalyticsCollector(AnalyticsCollector analyticsCollector) { * @deprecated Use {@link ExoPlayer.Builder#setPriorityTaskManager(PriorityTaskManager)} * instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setPriorityTaskManager(@Nullable PriorityTaskManager priorityTaskManager) { wrappedBuilder.setPriorityTaskManager(priorityTaskManager); @@ -220,6 +229,7 @@ public Builder setPriorityTaskManager(@Nullable PriorityTaskManager priorityTask * @deprecated Use {@link ExoPlayer.Builder#setAudioAttributes(AudioAttributes, boolean)} * instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) { wrappedBuilder.setAudioAttributes(audioAttributes, handleAudioFocus); @@ -229,6 +239,7 @@ public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handl /** * @deprecated Use {@link ExoPlayer.Builder#setWakeMode(int)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setWakeMode(@C.WakeMode int wakeMode) { wrappedBuilder.setWakeMode(wakeMode); @@ -238,6 +249,7 @@ public Builder setWakeMode(@C.WakeMode int wakeMode) { /** * @deprecated Use {@link ExoPlayer.Builder#setHandleAudioBecomingNoisy(boolean)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setHandleAudioBecomingNoisy(boolean handleAudioBecomingNoisy) { wrappedBuilder.setHandleAudioBecomingNoisy(handleAudioBecomingNoisy); @@ -247,6 +259,7 @@ public Builder setHandleAudioBecomingNoisy(boolean handleAudioBecomingNoisy) { /** * @deprecated Use {@link ExoPlayer.Builder#setSkipSilenceEnabled(boolean)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setSkipSilenceEnabled(boolean skipSilenceEnabled) { wrappedBuilder.setSkipSilenceEnabled(skipSilenceEnabled); @@ -256,6 +269,7 @@ public Builder setSkipSilenceEnabled(boolean skipSilenceEnabled) { /** * @deprecated Use {@link ExoPlayer.Builder#setVideoScalingMode(int)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setVideoScalingMode(@C.VideoScalingMode int videoScalingMode) { wrappedBuilder.setVideoScalingMode(videoScalingMode); @@ -265,6 +279,7 @@ public Builder setVideoScalingMode(@C.VideoScalingMode int videoScalingMode) { /** * @deprecated Use {@link ExoPlayer.Builder#setVideoChangeFrameRateStrategy(int)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setVideoChangeFrameRateStrategy( @C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy) { @@ -275,6 +290,7 @@ public Builder setVideoChangeFrameRateStrategy( /** * @deprecated Use {@link ExoPlayer.Builder#setUseLazyPreparation(boolean)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setUseLazyPreparation(boolean useLazyPreparation) { wrappedBuilder.setUseLazyPreparation(useLazyPreparation); @@ -284,6 +300,7 @@ public Builder setUseLazyPreparation(boolean useLazyPreparation) { /** * @deprecated Use {@link ExoPlayer.Builder#setSeekParameters(SeekParameters)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setSeekParameters(SeekParameters seekParameters) { wrappedBuilder.setSeekParameters(seekParameters); @@ -293,6 +310,7 @@ public Builder setSeekParameters(SeekParameters seekParameters) { /** * @deprecated Use {@link ExoPlayer.Builder#setSeekBackIncrementMs(long)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setSeekBackIncrementMs(@IntRange(from = 1) long seekBackIncrementMs) { wrappedBuilder.setSeekBackIncrementMs(seekBackIncrementMs); @@ -302,6 +320,7 @@ public Builder setSeekBackIncrementMs(@IntRange(from = 1) long seekBackIncrement /** * @deprecated Use {@link ExoPlayer.Builder#setSeekForwardIncrementMs(long)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setSeekForwardIncrementMs(@IntRange(from = 1) long seekForwardIncrementMs) { wrappedBuilder.setSeekForwardIncrementMs(seekForwardIncrementMs); @@ -311,6 +330,7 @@ public Builder setSeekForwardIncrementMs(@IntRange(from = 1) long seekForwardInc /** * @deprecated Use {@link ExoPlayer.Builder#setReleaseTimeoutMs(long)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setReleaseTimeoutMs(long releaseTimeoutMs) { wrappedBuilder.setReleaseTimeoutMs(releaseTimeoutMs); @@ -320,6 +340,7 @@ public Builder setReleaseTimeoutMs(long releaseTimeoutMs) { /** * @deprecated Use {@link ExoPlayer.Builder#setDetachSurfaceTimeoutMs(long)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setDetachSurfaceTimeoutMs(long detachSurfaceTimeoutMs) { wrappedBuilder.setDetachSurfaceTimeoutMs(detachSurfaceTimeoutMs); @@ -329,6 +350,7 @@ public Builder setDetachSurfaceTimeoutMs(long detachSurfaceTimeoutMs) { /** * @deprecated Use {@link ExoPlayer.Builder#setPauseAtEndOfMediaItems(boolean)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { wrappedBuilder.setPauseAtEndOfMediaItems(pauseAtEndOfMediaItems); @@ -339,6 +361,7 @@ public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { * @deprecated Use {@link * ExoPlayer.Builder#setLivePlaybackSpeedControl(LivePlaybackSpeedControl)} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setLivePlaybackSpeedControl(LivePlaybackSpeedControl livePlaybackSpeedControl) { wrappedBuilder.setLivePlaybackSpeedControl(livePlaybackSpeedControl); @@ -348,6 +371,7 @@ public Builder setLivePlaybackSpeedControl(LivePlaybackSpeedControl livePlayback /** * @deprecated Use {@link ExoPlayer.Builder#setClock(Clock)} instead. */ + @CanIgnoreReturnValue @Deprecated @VisibleForTesting public Builder setClock(Clock clock) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index 1704ed3ba3c..c3bb029d389 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -56,6 +56,7 @@ import androidx.media3.extractor.Ac4Util; import androidx.media3.extractor.DtsUtil; import androidx.media3.extractor.MpegAudioUtil; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import com.google.errorprone.annotations.InlineMe; import com.google.errorprone.annotations.InlineMeValidationDisabled; import java.lang.annotation.Documented; @@ -286,6 +287,7 @@ public Builder() { * *

      Default is {@link AudioCapabilities#DEFAULT_AUDIO_CAPABILITIES}. */ + @CanIgnoreReturnValue public Builder setAudioCapabilities(AudioCapabilities audioCapabilities) { checkNotNull(audioCapabilities); this.audioCapabilities = audioCapabilities; @@ -299,6 +301,7 @@ public Builder setAudioCapabilities(AudioCapabilities audioCapabilities) { * *

      The default value is an empty array. */ + @CanIgnoreReturnValue public Builder setAudioProcessors(AudioProcessor[] audioProcessors) { checkNotNull(audioProcessors); return setAudioProcessorChain(new DefaultAudioProcessorChain(audioProcessors)); @@ -311,6 +314,7 @@ public Builder setAudioProcessors(AudioProcessor[] audioProcessors) { * *

      By default, no processing will be applied. */ + @CanIgnoreReturnValue public Builder setAudioProcessorChain(AudioProcessorChain audioProcessorChain) { checkNotNull(audioProcessorChain); this.audioProcessorChain = audioProcessorChain; @@ -325,6 +329,7 @@ public Builder setAudioProcessorChain(AudioProcessorChain audioProcessorChain) { * *

      The default value is {@code false}. */ + @CanIgnoreReturnValue public Builder setEnableFloatOutput(boolean enableFloatOutput) { this.enableFloatOutput = enableFloatOutput; return this; @@ -338,6 +343,7 @@ public Builder setEnableFloatOutput(boolean enableFloatOutput) { * *

      The default value is {@code false}. */ + @CanIgnoreReturnValue public Builder setEnableAudioTrackPlaybackParams(boolean enableAudioTrackPlaybackParams) { this.enableAudioTrackPlaybackParams = enableAudioTrackPlaybackParams; return this; @@ -353,6 +359,7 @@ public Builder setEnableAudioTrackPlaybackParams(boolean enableAudioTrackPlaybac * *

      The default value is {@link #OFFLOAD_MODE_DISABLED}. */ + @CanIgnoreReturnValue public Builder setOffloadMode(@OffloadMode int offloadMode) { this.offloadMode = offloadMode; return this; @@ -364,6 +371,7 @@ public Builder setOffloadMode(@OffloadMode int offloadMode) { * *

      The default value is {@link AudioTrackBufferSizeProvider#DEFAULT}. */ + @CanIgnoreReturnValue public Builder setAudioTrackBufferSizeProvider( AudioTrackBufferSizeProvider audioTrackBufferSizeProvider) { this.audioTrackBufferSizeProvider = audioTrackBufferSizeProvider; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider.java index 5083d92896f..62c72a57227 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProvider.java @@ -32,6 +32,7 @@ import androidx.media3.extractor.Ac4Util; import androidx.media3.extractor.DtsUtil; import androidx.media3.extractor.MpegAudioUtil; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** Provide the buffer size to use when creating an {@link AudioTrack}. */ @UnstableApi @@ -78,6 +79,7 @@ public Builder() { * Sets the minimum length for PCM {@link AudioTrack} buffers, in microseconds. Default is * {@value #MIN_PCM_BUFFER_DURATION_US}. */ + @CanIgnoreReturnValue public Builder setMinPcmBufferDurationUs(int minPcmBufferDurationUs) { this.minPcmBufferDurationUs = minPcmBufferDurationUs; return this; @@ -87,6 +89,7 @@ public Builder setMinPcmBufferDurationUs(int minPcmBufferDurationUs) { * Sets the maximum length for PCM {@link AudioTrack} buffers, in microseconds. Default is * {@value #MAX_PCM_BUFFER_DURATION_US}. */ + @CanIgnoreReturnValue public Builder setMaxPcmBufferDurationUs(int maxPcmBufferDurationUs) { this.maxPcmBufferDurationUs = maxPcmBufferDurationUs; return this; @@ -96,6 +99,7 @@ public Builder setMaxPcmBufferDurationUs(int maxPcmBufferDurationUs) { * Sets the multiplication factor to apply to the minimum buffer size requested. Default is * {@value #PCM_BUFFER_MULTIPLICATION_FACTOR}. */ + @CanIgnoreReturnValue public Builder setPcmBufferMultiplicationFactor(int pcmBufferMultiplicationFactor) { this.pcmBufferMultiplicationFactor = pcmBufferMultiplicationFactor; return this; @@ -105,6 +109,7 @@ public Builder setPcmBufferMultiplicationFactor(int pcmBufferMultiplicationFacto * Sets the length for passthrough {@link AudioTrack} buffers, in microseconds. Default is * {@value #PASSTHROUGH_BUFFER_DURATION_US}. */ + @CanIgnoreReturnValue public Builder setPassthroughBufferDurationUs(int passthroughBufferDurationUs) { this.passthroughBufferDurationUs = passthroughBufferDurationUs; return this; @@ -114,6 +119,7 @@ public Builder setPassthroughBufferDurationUs(int passthroughBufferDurationUs) { * The length for offload {@link AudioTrack} buffers, in microseconds. Default is {@value * #OFFLOAD_BUFFER_DURATION_US}. */ + @CanIgnoreReturnValue public Builder setOffloadBufferDurationUs(int offloadBufferDurationUs) { this.offloadBufferDurationUs = offloadBufferDurationUs; return this; @@ -123,6 +129,7 @@ public Builder setOffloadBufferDurationUs(int offloadBufferDurationUs) { * Sets the multiplication factor to apply to the passthrough buffer for AC3 to avoid underruns * on some devices (e.g., Broadcom 7271). Default is {@value #AC3_BUFFER_MULTIPLICATION_FACTOR}. */ + @CanIgnoreReturnValue public Builder setAc3BufferMultiplicationFactor(int ac3BufferMultiplicationFactor) { this.ac3BufferMultiplicationFactor = ac3BufferMultiplicationFactor; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java index adcb450e28a..9a345ffff73 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java @@ -47,6 +47,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -121,6 +122,7 @@ public Builder() { * @param keyRequestParameters A map with parameters. * @return This builder. */ + @CanIgnoreReturnValue public Builder setKeyRequestParameters(@Nullable Map keyRequestParameters) { this.keyRequestParameters.clear(); if (keyRequestParameters != null) { @@ -136,6 +138,7 @@ public Builder setKeyRequestParameters(@Nullable Map keyRequestP * @param exoMediaDrmProvider The {@link ExoMediaDrm.Provider}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setUuidAndExoMediaDrmProvider( UUID uuid, ExoMediaDrm.Provider exoMediaDrmProvider) { this.uuid = checkNotNull(uuid); @@ -153,6 +156,7 @@ public Builder setUuidAndExoMediaDrmProvider( * sessions. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMultiSession(boolean multiSession) { this.multiSession = multiSession; return this; @@ -172,6 +176,7 @@ public Builder setMultiSession(boolean multiSession) { * @throws IllegalArgumentException If {@code useDrmSessionsForClearContentTrackTypes} contains * track types other than {@link C#TRACK_TYPE_AUDIO} and {@link C#TRACK_TYPE_VIDEO}. */ + @CanIgnoreReturnValue public Builder setUseDrmSessionsForClearContent( @C.TrackType int... useDrmSessionsForClearContentTrackTypes) { for (@C.TrackType int trackType : useDrmSessionsForClearContentTrackTypes) { @@ -190,6 +195,7 @@ public Builder setUseDrmSessionsForClearContent( * played when keys for the encrypted part of the content have yet to be loaded. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPlayClearSamplesWithoutKeys(boolean playClearSamplesWithoutKeys) { this.playClearSamplesWithoutKeys = playClearSamplesWithoutKeys; return this; @@ -201,6 +207,7 @@ public Builder setPlayClearSamplesWithoutKeys(boolean playClearSamplesWithoutKey * @param loadErrorHandlingPolicy A {@link LoadErrorHandlingPolicy}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) { this.loadErrorHandlingPolicy = checkNotNull(loadErrorHandlingPolicy); return this; @@ -221,6 +228,7 @@ public Builder setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandl * in milliseconds. Must be > 0 or {@link C#TIME_UNSET} to disable keep-alive. * @return This builder. */ + @CanIgnoreReturnValue public Builder setSessionKeepaliveMs(long sessionKeepaliveMs) { checkArgument(sessionKeepaliveMs > 0 || sessionKeepaliveMs == C.TIME_UNSET); this.sessionKeepaliveMs = sessionKeepaliveMs; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java index d5de1d0bdd7..0bca3b7140e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java @@ -22,6 +22,7 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -66,6 +67,7 @@ public DefaultMediaCodecAdapterFactory() { * * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultMediaCodecAdapterFactory forceEnableAsynchronous() { asynchronousMode = MODE_ENABLED; return this; @@ -76,6 +78,7 @@ public DefaultMediaCodecAdapterFactory forceEnableAsynchronous() { * * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultMediaCodecAdapterFactory forceDisableAsynchronous() { asynchronousMode = MODE_DISABLED; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadRequest.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadRequest.java index d89552363bf..487b998d0ab 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadRequest.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadRequest.java @@ -28,6 +28,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -58,30 +59,35 @@ public Builder(String id, Uri uri) { } /** Sets the {@link DownloadRequest#mimeType}. */ + @CanIgnoreReturnValue public Builder setMimeType(@Nullable String mimeType) { this.mimeType = mimeType; return this; } /** Sets the {@link DownloadRequest#streamKeys}. */ + @CanIgnoreReturnValue public Builder setStreamKeys(@Nullable List streamKeys) { this.streamKeys = streamKeys; return this; } /** Sets the {@link DownloadRequest#keySetId}. */ + @CanIgnoreReturnValue public Builder setKeySetId(@Nullable byte[] keySetId) { this.keySetId = keySetId; return this; } /** Sets the {@link DownloadRequest#customCacheKey}. */ + @CanIgnoreReturnValue public Builder setCustomCacheKey(@Nullable String customCacheKey) { this.customCacheKey = customCacheKey; return this; } /** Sets the {@link DownloadRequest#data}. */ + @CanIgnoreReturnValue public Builder setData(@Nullable byte[] data) { this.data = data; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java index 6a55a3a13e7..291fbbe340a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java @@ -51,6 +51,7 @@ import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import com.google.common.primitives.Ints; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.HashMap; import java.util.HashSet; @@ -195,6 +196,7 @@ public DefaultMediaSourceFactory( * should be used for subtitles instead of {@link SingleSampleMediaSource}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory experimentalUseProgressiveMediaSourceForSubtitles( boolean useProgressiveMediaSourceForSubtitles) { @@ -214,6 +216,7 @@ public DefaultMediaSourceFactory experimentalUseProgressiveMediaSourceForSubtitl * @deprecated Use {@link #setLocalAdInsertionComponents(AdsLoader.Provider, AdViewProvider)} * instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public DefaultMediaSourceFactory setAdsLoaderProvider( @@ -233,6 +236,7 @@ public DefaultMediaSourceFactory setAdsLoaderProvider( * @deprecated Use {@link #setLocalAdInsertionComponents(AdsLoader.Provider, AdViewProvider)} * instead. */ + @CanIgnoreReturnValue @UnstableApi @Deprecated public DefaultMediaSourceFactory setAdViewProvider(@Nullable AdViewProvider adViewProvider) { @@ -251,6 +255,7 @@ public DefaultMediaSourceFactory setAdViewProvider(@Nullable AdViewProvider adVi * @param adViewProvider A provider for information about views for the ad playback UI. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultMediaSourceFactory setLocalAdInsertionComponents( AdsLoader.Provider adsLoaderProvider, AdViewProvider adViewProvider) { this.adsLoaderProvider = checkNotNull(adsLoaderProvider); @@ -267,6 +272,7 @@ public DefaultMediaSourceFactory setLocalAdInsertionComponents( * * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultMediaSourceFactory clearLocalAdInsertionComponents() { this.adsLoaderProvider = null; this.adViewProvider = null; @@ -280,6 +286,7 @@ public DefaultMediaSourceFactory clearLocalAdInsertionComponents() { * @param dataSourceFactory The {@link DataSource.Factory}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public DefaultMediaSourceFactory setDataSourceFactory(DataSource.Factory dataSourceFactory) { this.dataSourceFactory = dataSourceFactory; delegateFactoryLoader.setDataSourceFactory(dataSourceFactory); @@ -296,6 +303,7 @@ public DefaultMediaSourceFactory setDataSourceFactory(DataSource.Factory dataSou * content, or {@code null} to remove a previously set {@link MediaSource.Factory}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory setServerSideAdInsertionMediaSourceFactory( @Nullable MediaSource.Factory serverSideAdInsertionMediaSourceFactory) { @@ -310,6 +318,7 @@ public DefaultMediaSourceFactory setServerSideAdInsertionMediaSourceFactory( * use the media-defined default. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory setLiveTargetOffsetMs(long liveTargetOffsetMs) { this.liveTargetOffsetMs = liveTargetOffsetMs; @@ -323,6 +332,7 @@ public DefaultMediaSourceFactory setLiveTargetOffsetMs(long liveTargetOffsetMs) * C#TIME_UNSET} to use the media-defined default. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory setLiveMinOffsetMs(long liveMinOffsetMs) { this.liveMinOffsetMs = liveMinOffsetMs; @@ -336,6 +346,7 @@ public DefaultMediaSourceFactory setLiveMinOffsetMs(long liveMinOffsetMs) { * C#TIME_UNSET} to use the media-defined default. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory setLiveMaxOffsetMs(long liveMaxOffsetMs) { this.liveMaxOffsetMs = liveMaxOffsetMs; @@ -349,6 +360,7 @@ public DefaultMediaSourceFactory setLiveMaxOffsetMs(long liveMaxOffsetMs) { * C#RATE_UNSET} to use the media-defined default. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory setLiveMinSpeed(float minSpeed) { this.liveMinSpeed = minSpeed; @@ -362,12 +374,14 @@ public DefaultMediaSourceFactory setLiveMinSpeed(float minSpeed) { * C#RATE_UNSET} to use the media-defined default. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public DefaultMediaSourceFactory setLiveMaxSpeed(float maxSpeed) { this.liveMaxSpeed = maxSpeed; return this; } + @CanIgnoreReturnValue @UnstableApi @Override public DefaultMediaSourceFactory setDrmSessionManagerProvider( @@ -381,6 +395,7 @@ public DefaultMediaSourceFactory setDrmSessionManagerProvider( return this; } + @CanIgnoreReturnValue @UnstableApi @Override public DefaultMediaSourceFactory setLoadErrorHandlingPolicy( diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaSource.java index 807e336e8dc..aef2e708a93 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaSource.java @@ -35,6 +35,7 @@ import androidx.media3.extractor.DefaultExtractorsFactory; import androidx.media3.extractor.Extractor; import androidx.media3.extractor.ExtractorsFactory; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** * Provides one period that loads data from a {@link Uri} and extracted using an {@link Extractor}. @@ -155,6 +156,7 @@ public Factory( this.continueLoadingCheckIntervalBytes = continueLoadingCheckIntervalBytes; } + @CanIgnoreReturnValue @Override public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) { this.loadErrorHandlingPolicy = @@ -176,11 +178,13 @@ public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandl * MediaPeriod.Callback#onContinueLoadingRequested(SequenceableLoader)}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setContinueLoadingCheckIntervalBytes(int continueLoadingCheckIntervalBytes) { this.continueLoadingCheckIntervalBytes = continueLoadingCheckIntervalBytes; return this; } + @CanIgnoreReturnValue @Override public Factory setDrmSessionManagerProvider( DrmSessionManagerProvider drmSessionManagerProvider) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java index 18d52dfa091..dc69afa713e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java @@ -35,6 +35,7 @@ import androidx.media3.exoplayer.SeekParameters; import androidx.media3.exoplayer.trackselection.ExoTrackSelection; import androidx.media3.exoplayer.upstream.Allocator; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import org.checkerframework.checker.nullness.compatqual.NullableType; @@ -54,6 +55,7 @@ public static final class Factory { * @param durationUs The duration of silent audio to output, in microseconds. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setDurationUs(@IntRange(from = 1) long durationUs) { this.durationUs = durationUs; return this; @@ -66,6 +68,7 @@ public Factory setDurationUs(@IntRange(from = 1) long durationUs) { * @param tag A tag for the media source. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setTag(@Nullable Object tag) { this.tag = tag; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SingleSampleMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SingleSampleMediaSource.java index 5c0cb861c40..47b56554521 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SingleSampleMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SingleSampleMediaSource.java @@ -32,6 +32,7 @@ import androidx.media3.exoplayer.upstream.DefaultLoadErrorHandlingPolicy; import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** * Loads data at a given {@link Uri} as a single sample belonging to a single {@link MediaPeriod}. @@ -68,6 +69,7 @@ public Factory(DataSource.Factory dataSourceFactory) { * @param tag A tag for the media source. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setTag(@Nullable Object tag) { this.tag = tag; return this; @@ -79,6 +81,7 @@ public Factory setTag(@Nullable Object tag) { * #createMediaSource(MediaItem.SubtitleConfiguration, long)}). {@code trackId} will only be * used if {@link MediaItem.SubtitleConfiguration#id} is {@code null}. */ + @CanIgnoreReturnValue @Deprecated public Factory setTrackId(@Nullable String trackId) { this.trackId = trackId; @@ -92,6 +95,7 @@ public Factory setTrackId(@Nullable String trackId) { * @param loadErrorHandlingPolicy A {@link LoadErrorHandlingPolicy}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setLoadErrorHandlingPolicy( @Nullable LoadErrorHandlingPolicy loadErrorHandlingPolicy) { this.loadErrorHandlingPolicy = @@ -110,6 +114,7 @@ public Factory setLoadErrorHandlingPolicy( * normally by {@link SampleStream#maybeThrowError()}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setTreatLoadErrorsAsEndOfStream(boolean treatLoadErrorsAsEndOfStream) { this.treatLoadErrorsAsEndOfStream = treatLoadErrorsAsEndOfStream; return this; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java index e0020888e6d..c4ea5ca2a8d 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java @@ -66,6 +66,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Ordering; import com.google.common.primitives.Ints; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -145,6 +146,7 @@ public ParametersBuilder(Context context) { delegate = new Parameters.Builder(context); } + @CanIgnoreReturnValue @Override protected ParametersBuilder set(TrackSelectionParameters parameters) { delegate.set(parameters); @@ -153,18 +155,21 @@ protected ParametersBuilder set(TrackSelectionParameters parameters) { // Video + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMaxVideoSizeSd() { delegate.setMaxVideoSizeSd(); return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder clearVideoSizeConstraints() { delegate.clearVideoSizeConstraints(); return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMaxVideoSize( int maxVideoWidth, int maxVideoHeight) { @@ -172,18 +177,21 @@ public DefaultTrackSelector.ParametersBuilder setMaxVideoSize( return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMaxVideoFrameRate(int maxVideoFrameRate) { delegate.setMaxVideoFrameRate(maxVideoFrameRate); return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMaxVideoBitrate(int maxVideoBitrate) { delegate.setMaxVideoBitrate(maxVideoBitrate); return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMinVideoSize( int minVideoWidth, int minVideoHeight) { @@ -191,12 +199,14 @@ public DefaultTrackSelector.ParametersBuilder setMinVideoSize( return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMinVideoFrameRate(int minVideoFrameRate) { delegate.setMinVideoFrameRate(minVideoFrameRate); return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setMinVideoBitrate(int minVideoBitrate) { delegate.setMinVideoBitrate(minVideoBitrate); @@ -211,6 +221,7 @@ public DefaultTrackSelector.ParametersBuilder setMinVideoBitrate(int minVideoBit * selection can be made otherwise. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setExceedVideoConstraintsIfNecessary( boolean exceedVideoConstraintsIfNecessary) { delegate.setExceedVideoConstraintsIfNecessary(exceedVideoConstraintsIfNecessary); @@ -228,6 +239,7 @@ public ParametersBuilder setExceedVideoConstraintsIfNecessary( * containing mixed MIME types. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowVideoMixedMimeTypeAdaptiveness( boolean allowVideoMixedMimeTypeAdaptiveness) { delegate.setAllowVideoMixedMimeTypeAdaptiveness(allowVideoMixedMimeTypeAdaptiveness); @@ -242,6 +254,7 @@ public ParametersBuilder setAllowVideoMixedMimeTypeAdaptiveness( * adaptation may not be completely seamless. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowVideoNonSeamlessAdaptiveness( boolean allowVideoNonSeamlessAdaptiveness) { delegate.setAllowVideoNonSeamlessAdaptiveness(allowVideoNonSeamlessAdaptiveness); @@ -257,6 +270,7 @@ public ParametersBuilder setAllowVideoNonSeamlessAdaptiveness( * with mixed levels of decoder and hardware acceleration support. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowVideoMixedDecoderSupportAdaptiveness( boolean allowVideoMixedDecoderSupportAdaptiveness) { delegate.setAllowVideoMixedDecoderSupportAdaptiveness( @@ -264,6 +278,7 @@ public ParametersBuilder setAllowVideoMixedDecoderSupportAdaptiveness( return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setViewportSizeToPhysicalDisplaySize( Context context, boolean viewportOrientationMayChange) { @@ -271,12 +286,14 @@ public ParametersBuilder setViewportSizeToPhysicalDisplaySize( return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder clearViewportSizeConstraints() { delegate.clearViewportSizeConstraints(); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setViewportSize( int viewportWidth, int viewportHeight, boolean viewportOrientationMayChange) { @@ -284,18 +301,21 @@ public ParametersBuilder setViewportSize( return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredVideoMimeType(@Nullable String mimeType) { delegate.setPreferredVideoMimeType(mimeType); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredVideoMimeTypes(String... mimeTypes) { delegate.setPreferredVideoMimeTypes(mimeTypes); return this; } + @CanIgnoreReturnValue @Override public DefaultTrackSelector.ParametersBuilder setPreferredVideoRoleFlags( @RoleFlags int preferredVideoRoleFlags) { @@ -305,30 +325,35 @@ public DefaultTrackSelector.ParametersBuilder setPreferredVideoRoleFlags( // Audio + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredAudioLanguage(@Nullable String preferredAudioLanguage) { delegate.setPreferredAudioLanguage(preferredAudioLanguage); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredAudioLanguages(String... preferredAudioLanguages) { delegate.setPreferredAudioLanguages(preferredAudioLanguages); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredAudioRoleFlags(@C.RoleFlags int preferredAudioRoleFlags) { delegate.setPreferredAudioRoleFlags(preferredAudioRoleFlags); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setMaxAudioChannelCount(int maxAudioChannelCount) { delegate.setMaxAudioChannelCount(maxAudioChannelCount); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setMaxAudioBitrate(int maxAudioBitrate) { delegate.setMaxAudioBitrate(maxAudioBitrate); @@ -343,6 +368,7 @@ public ParametersBuilder setMaxAudioBitrate(int maxAudioBitrate) { * selection can be made otherwise. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setExceedAudioConstraintsIfNecessary( boolean exceedAudioConstraintsIfNecessary) { delegate.setExceedAudioConstraintsIfNecessary(exceedAudioConstraintsIfNecessary); @@ -358,6 +384,7 @@ public ParametersBuilder setExceedAudioConstraintsIfNecessary( * containing mixed MIME types. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowAudioMixedMimeTypeAdaptiveness( boolean allowAudioMixedMimeTypeAdaptiveness) { delegate.setAllowAudioMixedMimeTypeAdaptiveness(allowAudioMixedMimeTypeAdaptiveness); @@ -373,6 +400,7 @@ public ParametersBuilder setAllowAudioMixedMimeTypeAdaptiveness( * containing mixed sample rates. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowAudioMixedSampleRateAdaptiveness( boolean allowAudioMixedSampleRateAdaptiveness) { delegate.setAllowAudioMixedSampleRateAdaptiveness(allowAudioMixedSampleRateAdaptiveness); @@ -388,6 +416,7 @@ public ParametersBuilder setAllowAudioMixedSampleRateAdaptiveness( * containing mixed channel counts. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowAudioMixedChannelCountAdaptiveness( boolean allowAudioMixedChannelCountAdaptiveness) { delegate.setAllowAudioMixedChannelCountAdaptiveness(allowAudioMixedChannelCountAdaptiveness); @@ -403,6 +432,7 @@ public ParametersBuilder setAllowAudioMixedChannelCountAdaptiveness( * with mixed levels of decoder and hardware acceleration support. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowAudioMixedDecoderSupportAdaptiveness( boolean allowAudioMixedDecoderSupportAdaptiveness) { delegate.setAllowAudioMixedDecoderSupportAdaptiveness( @@ -410,12 +440,14 @@ public ParametersBuilder setAllowAudioMixedDecoderSupportAdaptiveness( return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredAudioMimeType(@Nullable String mimeType) { delegate.setPreferredAudioMimeType(mimeType); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredAudioMimeTypes(String... mimeTypes) { delegate.setPreferredAudioMimeTypes(mimeTypes); @@ -424,6 +456,7 @@ public ParametersBuilder setPreferredAudioMimeTypes(String... mimeTypes) { // Text + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings( Context context) { @@ -431,24 +464,28 @@ public ParametersBuilder setPreferredTextLanguageAndRoleFlagsToCaptioningManager return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredTextLanguage(@Nullable String preferredTextLanguage) { delegate.setPreferredTextLanguage(preferredTextLanguage); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredTextLanguages(String... preferredTextLanguages) { delegate.setPreferredTextLanguages(preferredTextLanguages); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setPreferredTextRoleFlags(@C.RoleFlags int preferredTextRoleFlags) { delegate.setPreferredTextRoleFlags(preferredTextRoleFlags); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setIgnoredTextSelectionFlags( @C.SelectionFlags int ignoredTextSelectionFlags) { @@ -456,6 +493,7 @@ public ParametersBuilder setIgnoredTextSelectionFlags( return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setSelectUndeterminedTextLanguage( boolean selectUndeterminedTextLanguage) { @@ -466,6 +504,7 @@ public ParametersBuilder setSelectUndeterminedTextLanguage( /** * @deprecated Use {@link #setIgnoredTextSelectionFlags}. */ + @CanIgnoreReturnValue @Deprecated public ParametersBuilder setDisabledTextTrackSelectionFlags( @C.SelectionFlags int disabledTextTrackSelectionFlags) { @@ -475,42 +514,49 @@ public ParametersBuilder setDisabledTextTrackSelectionFlags( // General + @CanIgnoreReturnValue @Override public ParametersBuilder setForceLowestBitrate(boolean forceLowestBitrate) { delegate.setForceLowestBitrate(forceLowestBitrate); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setForceHighestSupportedBitrate(boolean forceHighestSupportedBitrate) { delegate.setForceHighestSupportedBitrate(forceHighestSupportedBitrate); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder addOverride(TrackSelectionOverride override) { delegate.addOverride(override); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder clearOverride(TrackGroup trackGroup) { delegate.clearOverride(trackGroup); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setOverrideForType(TrackSelectionOverride override) { delegate.setOverrideForType(override); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder clearOverridesOfType(@C.TrackType int trackType) { delegate.clearOverridesOfType(trackType); return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder clearOverrides() { delegate.clearOverrides(); @@ -520,6 +566,7 @@ public ParametersBuilder clearOverrides() { /** * @deprecated Use {@link #setTrackTypeDisabled(int, boolean)}. */ + @CanIgnoreReturnValue @Override @Deprecated @SuppressWarnings("deprecation") @@ -528,6 +575,7 @@ public ParametersBuilder setDisabledTrackTypes(Set<@C.TrackType Integer> disable return this; } + @CanIgnoreReturnValue @Override public ParametersBuilder setTrackTypeDisabled(@C.TrackType int trackType, boolean disabled) { delegate.setTrackTypeDisabled(trackType, disabled); @@ -546,6 +594,7 @@ public ParametersBuilder setTrackTypeDisabled(@C.TrackType int trackType, boolea * selection can be made otherwise. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setExceedRendererCapabilitiesIfNecessary( boolean exceedRendererCapabilitiesIfNecessary) { delegate.setExceedRendererCapabilitiesIfNecessary(exceedRendererCapabilitiesIfNecessary); @@ -566,6 +615,7 @@ public ParametersBuilder setExceedRendererCapabilitiesIfNecessary( * @param tunnelingEnabled Whether to enable tunneling if possible. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setTunnelingEnabled(boolean tunnelingEnabled) { delegate.setTunnelingEnabled(tunnelingEnabled); return this; @@ -577,6 +627,7 @@ public ParametersBuilder setTunnelingEnabled(boolean tunnelingEnabled) { * @param allowMultipleAdaptiveSelections Whether multiple adaptive selections are allowed. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setAllowMultipleAdaptiveSelections( boolean allowMultipleAdaptiveSelections) { delegate.setAllowMultipleAdaptiveSelections(allowMultipleAdaptiveSelections); @@ -593,6 +644,7 @@ public ParametersBuilder setAllowMultipleAdaptiveSelections( * @param disabled Whether the renderer is disabled. * @return This builder. */ + @CanIgnoreReturnValue public ParametersBuilder setRendererDisabled(int rendererIndex, boolean disabled) { delegate.setRendererDisabled(rendererIndex, disabled); return this; @@ -622,6 +674,7 @@ public ParametersBuilder setRendererDisabled(int rendererIndex, boolean disabled * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#addOverride(TrackSelectionOverride)}. */ + @CanIgnoreReturnValue @Deprecated public ParametersBuilder setSelectionOverride( int rendererIndex, TrackGroupArray groups, @Nullable SelectionOverride override) { @@ -637,6 +690,7 @@ public ParametersBuilder setSelectionOverride( * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#clearOverride(TrackGroup)}. */ + @CanIgnoreReturnValue @Deprecated public ParametersBuilder clearSelectionOverride(int rendererIndex, TrackGroupArray groups) { delegate.clearSelectionOverride(rendererIndex, groups); @@ -650,6 +704,7 @@ public ParametersBuilder clearSelectionOverride(int rendererIndex, TrackGroupArr * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#clearOverridesOfType(int)}. */ + @CanIgnoreReturnValue @Deprecated public ParametersBuilder clearSelectionOverrides(int rendererIndex) { delegate.clearSelectionOverrides(rendererIndex); @@ -662,6 +717,7 @@ public ParametersBuilder clearSelectionOverrides(int rendererIndex) { * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#clearOverrides()}. */ + @CanIgnoreReturnValue @Deprecated public ParametersBuilder clearSelectionOverrides() { delegate.clearSelectionOverrides(); @@ -836,6 +892,7 @@ private Builder(Bundle bundle) { Parameters.keyForField(Parameters.FIELD_RENDERER_DISABLED_INDICES))); } + @CanIgnoreReturnValue @Override protected Builder set(TrackSelectionParameters parameters) { super.set(parameters); @@ -844,48 +901,56 @@ protected Builder set(TrackSelectionParameters parameters) { // Video + @CanIgnoreReturnValue @Override public Builder setMaxVideoSizeSd() { super.setMaxVideoSizeSd(); return this; } + @CanIgnoreReturnValue @Override public Builder clearVideoSizeConstraints() { super.clearVideoSizeConstraints(); return this; } + @CanIgnoreReturnValue @Override public Builder setMaxVideoSize(int maxVideoWidth, int maxVideoHeight) { super.setMaxVideoSize(maxVideoWidth, maxVideoHeight); return this; } + @CanIgnoreReturnValue @Override public Builder setMaxVideoFrameRate(int maxVideoFrameRate) { super.setMaxVideoFrameRate(maxVideoFrameRate); return this; } + @CanIgnoreReturnValue @Override public Builder setMaxVideoBitrate(int maxVideoBitrate) { super.setMaxVideoBitrate(maxVideoBitrate); return this; } + @CanIgnoreReturnValue @Override public Builder setMinVideoSize(int minVideoWidth, int minVideoHeight) { super.setMinVideoSize(minVideoWidth, minVideoHeight); return this; } + @CanIgnoreReturnValue @Override public Builder setMinVideoFrameRate(int minVideoFrameRate) { super.setMinVideoFrameRate(minVideoFrameRate); return this; } + @CanIgnoreReturnValue @Override public Builder setMinVideoBitrate(int minVideoBitrate) { super.setMinVideoBitrate(minVideoBitrate); @@ -900,6 +965,7 @@ public Builder setMinVideoBitrate(int minVideoBitrate) { * selection can be made otherwise. * @return This builder. */ + @CanIgnoreReturnValue public Builder setExceedVideoConstraintsIfNecessary( boolean exceedVideoConstraintsIfNecessary) { this.exceedVideoConstraintsIfNecessary = exceedVideoConstraintsIfNecessary; @@ -917,6 +983,7 @@ public Builder setExceedVideoConstraintsIfNecessary( * containing mixed MIME types. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowVideoMixedMimeTypeAdaptiveness( boolean allowVideoMixedMimeTypeAdaptiveness) { this.allowVideoMixedMimeTypeAdaptiveness = allowVideoMixedMimeTypeAdaptiveness; @@ -931,6 +998,7 @@ public Builder setAllowVideoMixedMimeTypeAdaptiveness( * adaptation may not be completely seamless. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowVideoNonSeamlessAdaptiveness( boolean allowVideoNonSeamlessAdaptiveness) { this.allowVideoNonSeamlessAdaptiveness = allowVideoNonSeamlessAdaptiveness; @@ -946,12 +1014,14 @@ public Builder setAllowVideoNonSeamlessAdaptiveness( * with mixed levels of decoder and hardware acceleration support. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowVideoMixedDecoderSupportAdaptiveness( boolean allowVideoMixedDecoderSupportAdaptiveness) { this.allowVideoMixedDecoderSupportAdaptiveness = allowVideoMixedDecoderSupportAdaptiveness; return this; } + @CanIgnoreReturnValue @Override public Builder setViewportSizeToPhysicalDisplaySize( Context context, boolean viewportOrientationMayChange) { @@ -959,12 +1029,14 @@ public Builder setViewportSizeToPhysicalDisplaySize( return this; } + @CanIgnoreReturnValue @Override public Builder clearViewportSizeConstraints() { super.clearViewportSizeConstraints(); return this; } + @CanIgnoreReturnValue @Override public Builder setViewportSize( int viewportWidth, int viewportHeight, boolean viewportOrientationMayChange) { @@ -972,18 +1044,21 @@ public Builder setViewportSize( return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredVideoMimeType(@Nullable String mimeType) { super.setPreferredVideoMimeType(mimeType); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredVideoMimeTypes(String... mimeTypes) { super.setPreferredVideoMimeTypes(mimeTypes); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredVideoRoleFlags(@RoleFlags int preferredVideoRoleFlags) { super.setPreferredVideoRoleFlags(preferredVideoRoleFlags); @@ -992,30 +1067,35 @@ public Builder setPreferredVideoRoleFlags(@RoleFlags int preferredVideoRoleFlags // Audio + @CanIgnoreReturnValue @Override public Builder setPreferredAudioLanguage(@Nullable String preferredAudioLanguage) { super.setPreferredAudioLanguage(preferredAudioLanguage); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredAudioLanguages(String... preferredAudioLanguages) { super.setPreferredAudioLanguages(preferredAudioLanguages); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredAudioRoleFlags(@C.RoleFlags int preferredAudioRoleFlags) { super.setPreferredAudioRoleFlags(preferredAudioRoleFlags); return this; } + @CanIgnoreReturnValue @Override public Builder setMaxAudioChannelCount(int maxAudioChannelCount) { super.setMaxAudioChannelCount(maxAudioChannelCount); return this; } + @CanIgnoreReturnValue @Override public Builder setMaxAudioBitrate(int maxAudioBitrate) { super.setMaxAudioBitrate(maxAudioBitrate); @@ -1030,6 +1110,7 @@ public Builder setMaxAudioBitrate(int maxAudioBitrate) { * selection can be made otherwise. * @return This builder. */ + @CanIgnoreReturnValue public Builder setExceedAudioConstraintsIfNecessary( boolean exceedAudioConstraintsIfNecessary) { this.exceedAudioConstraintsIfNecessary = exceedAudioConstraintsIfNecessary; @@ -1045,6 +1126,7 @@ public Builder setExceedAudioConstraintsIfNecessary( * containing mixed MIME types. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowAudioMixedMimeTypeAdaptiveness( boolean allowAudioMixedMimeTypeAdaptiveness) { this.allowAudioMixedMimeTypeAdaptiveness = allowAudioMixedMimeTypeAdaptiveness; @@ -1060,6 +1142,7 @@ public Builder setAllowAudioMixedMimeTypeAdaptiveness( * containing mixed sample rates. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowAudioMixedSampleRateAdaptiveness( boolean allowAudioMixedSampleRateAdaptiveness) { this.allowAudioMixedSampleRateAdaptiveness = allowAudioMixedSampleRateAdaptiveness; @@ -1075,6 +1158,7 @@ public Builder setAllowAudioMixedSampleRateAdaptiveness( * containing mixed channel counts. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowAudioMixedChannelCountAdaptiveness( boolean allowAudioMixedChannelCountAdaptiveness) { this.allowAudioMixedChannelCountAdaptiveness = allowAudioMixedChannelCountAdaptiveness; @@ -1090,18 +1174,21 @@ public Builder setAllowAudioMixedChannelCountAdaptiveness( * with mixed levels of decoder and hardware acceleration support. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowAudioMixedDecoderSupportAdaptiveness( boolean allowAudioMixedDecoderSupportAdaptiveness) { this.allowAudioMixedDecoderSupportAdaptiveness = allowAudioMixedDecoderSupportAdaptiveness; return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredAudioMimeType(@Nullable String mimeType) { super.setPreferredAudioMimeType(mimeType); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredAudioMimeTypes(String... mimeTypes) { super.setPreferredAudioMimeTypes(mimeTypes); @@ -1133,6 +1220,7 @@ public Builder setPreferredAudioMimeTypes(String... mimeTypes) { * DefaultTrackSelector#DefaultTrackSelector(TrackSelectionParameters, * ExoTrackSelection.Factory)} constructor. */ + @CanIgnoreReturnValue public Builder setConstrainAudioChannelCountToDeviceCapabilities(boolean enabled) { constrainAudioChannelCountToDeviceCapabilities = enabled; return this; @@ -1140,6 +1228,7 @@ public Builder setConstrainAudioChannelCountToDeviceCapabilities(boolean enabled // Text + @CanIgnoreReturnValue @Override public Builder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings( Context context) { @@ -1147,30 +1236,35 @@ public Builder setPreferredTextLanguageAndRoleFlagsToCaptioningManagerSettings( return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredTextLanguage(@Nullable String preferredTextLanguage) { super.setPreferredTextLanguage(preferredTextLanguage); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredTextLanguages(String... preferredTextLanguages) { super.setPreferredTextLanguages(preferredTextLanguages); return this; } + @CanIgnoreReturnValue @Override public Builder setPreferredTextRoleFlags(@C.RoleFlags int preferredTextRoleFlags) { super.setPreferredTextRoleFlags(preferredTextRoleFlags); return this; } + @CanIgnoreReturnValue @Override public Builder setIgnoredTextSelectionFlags(@C.SelectionFlags int ignoredTextSelectionFlags) { super.setIgnoredTextSelectionFlags(ignoredTextSelectionFlags); return this; } + @CanIgnoreReturnValue @Override public Builder setSelectUndeterminedTextLanguage(boolean selectUndeterminedTextLanguage) { super.setSelectUndeterminedTextLanguage(selectUndeterminedTextLanguage); @@ -1180,6 +1274,7 @@ public Builder setSelectUndeterminedTextLanguage(boolean selectUndeterminedTextL /** * @deprecated Use {@link #setIgnoredTextSelectionFlags}. */ + @CanIgnoreReturnValue @Deprecated public Builder setDisabledTextTrackSelectionFlags( @C.SelectionFlags int disabledTextTrackSelectionFlags) { @@ -1188,42 +1283,49 @@ public Builder setDisabledTextTrackSelectionFlags( // General + @CanIgnoreReturnValue @Override public Builder setForceLowestBitrate(boolean forceLowestBitrate) { super.setForceLowestBitrate(forceLowestBitrate); return this; } + @CanIgnoreReturnValue @Override public Builder setForceHighestSupportedBitrate(boolean forceHighestSupportedBitrate) { super.setForceHighestSupportedBitrate(forceHighestSupportedBitrate); return this; } + @CanIgnoreReturnValue @Override public Builder addOverride(TrackSelectionOverride override) { super.addOverride(override); return this; } + @CanIgnoreReturnValue @Override public Builder clearOverride(TrackGroup trackGroup) { super.clearOverride(trackGroup); return this; } + @CanIgnoreReturnValue @Override public Builder setOverrideForType(TrackSelectionOverride override) { super.setOverrideForType(override); return this; } + @CanIgnoreReturnValue @Override public Builder clearOverridesOfType(@C.TrackType int trackType) { super.clearOverridesOfType(trackType); return this; } + @CanIgnoreReturnValue @Override public Builder clearOverrides() { super.clearOverrides(); @@ -1233,6 +1335,7 @@ public Builder clearOverrides() { /** * @deprecated Use {@link #setTrackTypeDisabled(int, boolean)}. */ + @CanIgnoreReturnValue @Override @Deprecated @SuppressWarnings("deprecation") @@ -1241,6 +1344,7 @@ public Builder setDisabledTrackTypes(Set<@C.TrackType Integer> disabledTrackType return this; } + @CanIgnoreReturnValue @Override public Builder setTrackTypeDisabled(@C.TrackType int trackType, boolean disabled) { super.setTrackTypeDisabled(trackType, disabled); @@ -1259,6 +1363,7 @@ public Builder setTrackTypeDisabled(@C.TrackType int trackType, boolean disabled * no selection can be made otherwise. * @return This builder. */ + @CanIgnoreReturnValue public Builder setExceedRendererCapabilitiesIfNecessary( boolean exceedRendererCapabilitiesIfNecessary) { this.exceedRendererCapabilitiesIfNecessary = exceedRendererCapabilitiesIfNecessary; @@ -1279,6 +1384,7 @@ public Builder setExceedRendererCapabilitiesIfNecessary( * @param tunnelingEnabled Whether to enable tunneling if possible. * @return This builder. */ + @CanIgnoreReturnValue public Builder setTunnelingEnabled(boolean tunnelingEnabled) { this.tunnelingEnabled = tunnelingEnabled; return this; @@ -1290,6 +1396,7 @@ public Builder setTunnelingEnabled(boolean tunnelingEnabled) { * @param allowMultipleAdaptiveSelections Whether multiple adaptive selections are allowed. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAllowMultipleAdaptiveSelections(boolean allowMultipleAdaptiveSelections) { this.allowMultipleAdaptiveSelections = allowMultipleAdaptiveSelections; return this; @@ -1305,6 +1412,7 @@ public Builder setAllowMultipleAdaptiveSelections(boolean allowMultipleAdaptiveS * @param disabled Whether the renderer is disabled. * @return This builder. */ + @CanIgnoreReturnValue public Builder setRendererDisabled(int rendererIndex, boolean disabled) { if (rendererDisabledFlags.get(rendererIndex) == disabled) { // The disabled flag is unchanged. @@ -1344,6 +1452,7 @@ public Builder setRendererDisabled(int rendererIndex, boolean disabled) { * @deprecated Use {@link * TrackSelectionParameters.Builder#addOverride(TrackSelectionOverride)}. */ + @CanIgnoreReturnValue @Deprecated public Builder setSelectionOverride( int rendererIndex, TrackGroupArray groups, @Nullable SelectionOverride override) { @@ -1369,6 +1478,7 @@ public Builder setSelectionOverride( * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#clearOverride(TrackGroup)}. */ + @CanIgnoreReturnValue @Deprecated public Builder clearSelectionOverride(int rendererIndex, TrackGroupArray groups) { Map overrides = @@ -1391,6 +1501,7 @@ public Builder clearSelectionOverride(int rendererIndex, TrackGroupArray groups) * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#clearOverridesOfType(int)}. */ + @CanIgnoreReturnValue @Deprecated public Builder clearSelectionOverrides(int rendererIndex) { Map overrides = @@ -1409,6 +1520,7 @@ public Builder clearSelectionOverrides(int rendererIndex) { * @return This builder. * @deprecated Use {@link TrackSelectionParameters.Builder#clearOverrides()}. */ + @CanIgnoreReturnValue @Deprecated public Builder clearSelectionOverrides() { if (selectionOverrides.size() == 0) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java index 0c9352f0033..04f73c76ee1 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java @@ -31,6 +31,7 @@ import com.google.common.base.Ascii; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.HashMap; import java.util.Map; @@ -141,6 +142,7 @@ public Builder(Context context) { * @param slidingWindowMaxWeight The maximum weight for the sliding window. * @return This builder. */ + @CanIgnoreReturnValue public Builder setSlidingWindowMaxWeight(int slidingWindowMaxWeight) { this.slidingWindowMaxWeight = slidingWindowMaxWeight; return this; @@ -153,6 +155,7 @@ public Builder setSlidingWindowMaxWeight(int slidingWindowMaxWeight) { * @param initialBitrateEstimate The initial bitrate estimate in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setInitialBitrateEstimate(long initialBitrateEstimate) { for (Integer networkType : initialBitrateEstimates.keySet()) { setInitialBitrateEstimate(networkType, initialBitrateEstimate); @@ -168,6 +171,7 @@ public Builder setInitialBitrateEstimate(long initialBitrateEstimate) { * @param initialBitrateEstimate The initial bitrate estimate in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setInitialBitrateEstimate( @C.NetworkType int networkType, long initialBitrateEstimate) { initialBitrateEstimates.put(networkType, initialBitrateEstimate); @@ -182,6 +186,7 @@ public Builder setInitialBitrateEstimate( * estimates should be used. * @return This builder. */ + @CanIgnoreReturnValue public Builder setInitialBitrateEstimate(String countryCode) { initialBitrateEstimates = getInitialBitrateEstimatesForCountry(Ascii.toUpperCase(countryCode)); @@ -195,6 +200,7 @@ public Builder setInitialBitrateEstimate(String countryCode) { * @param clock The clock used to estimate bandwidth from data transfers. * @return This builder. */ + @CanIgnoreReturnValue public Builder setClock(Clock clock) { this.clock = clock; return this; @@ -206,6 +212,7 @@ public Builder setClock(Clock clock) { * @param resetOnNetworkTypeChange Whether to reset if the network type changes. * @return This builder. */ + @CanIgnoreReturnValue public Builder setResetOnNetworkTypeChange(boolean resetOnNetworkTypeChange) { this.resetOnNetworkTypeChange = resetOnNetworkTypeChange; return this; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index 1e0b0338ba9..328dc7caf28 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -165,6 +165,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import com.google.common.collect.Range; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -12193,6 +12194,7 @@ public void wakeup() { } /** Call {@link Renderer.WakeupListener#onSleep()} on the next {@link #render(long, long)} */ + @CanIgnoreReturnValue public FakeSleepRenderer sleepOnNextRender() { sleepOnNextRender.set(true); return this; diff --git a/libraries/exoplayer_dash/build.gradle b/libraries/exoplayer_dash/build.gradle index 69bfa22a631..61965c2851e 100644 --- a/libraries/exoplayer_dash/build.gradle +++ b/libraries/exoplayer_dash/build.gradle @@ -25,6 +25,7 @@ android { dependencies { implementation project(modulePrefix + 'lib-exoplayer') + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java index 7abde693ba5..c7706612b42 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaSource.java @@ -77,6 +77,7 @@ import androidx.media3.exoplayer.util.SntpClient; import com.google.common.base.Charsets; import com.google.common.math.LongMath; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -158,6 +159,7 @@ public Factory( compositeSequenceableLoaderFactory = new DefaultCompositeSequenceableLoaderFactory(); } + @CanIgnoreReturnValue @Override public Factory setDrmSessionManagerProvider( DrmSessionManagerProvider drmSessionManagerProvider) { @@ -170,6 +172,7 @@ public Factory setDrmSessionManagerProvider( return this; } + @CanIgnoreReturnValue @Override public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) { this.loadErrorHandlingPolicy = @@ -190,6 +193,7 @@ public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandl * @param fallbackTargetLiveOffsetMs The fallback live target offset in milliseconds. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setFallbackTargetLiveOffsetMs(long fallbackTargetLiveOffsetMs) { this.fallbackTargetLiveOffsetMs = fallbackTargetLiveOffsetMs; return this; @@ -201,6 +205,7 @@ public Factory setFallbackTargetLiveOffsetMs(long fallbackTargetLiveOffsetMs) { * @param manifestParser A parser for loaded manifest data. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setManifestParser( @Nullable ParsingLoadable.Parser manifestParser) { this.manifestParser = manifestParser; @@ -217,6 +222,7 @@ public Factory setManifestParser( * audio etc...). * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setCompositeSequenceableLoaderFactory( CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory) { this.compositeSequenceableLoaderFactory = diff --git a/libraries/exoplayer_hls/build.gradle b/libraries/exoplayer_hls/build.gradle index a9dcd052ab2..fde8db9e4a6 100644 --- a/libraries/exoplayer_hls/build.gradle +++ b/libraries/exoplayer_hls/build.gradle @@ -25,6 +25,7 @@ android { dependencies { implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java index 0cc5663a035..26c34e64a5b 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsMediaSource.java @@ -56,6 +56,7 @@ import androidx.media3.exoplayer.upstream.DefaultLoadErrorHandlingPolicy; import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy; import androidx.media3.extractor.Extractor; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -171,12 +172,14 @@ public Factory(HlsDataSourceFactory hlsDataSourceFactory) { * segments. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setExtractorFactory(@Nullable HlsExtractorFactory extractorFactory) { this.extractorFactory = extractorFactory != null ? extractorFactory : HlsExtractorFactory.DEFAULT; return this; } + @CanIgnoreReturnValue @Override public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) { this.loadErrorHandlingPolicy = @@ -194,6 +197,7 @@ public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandl * @param playlistParserFactory An {@link HlsPlaylistParserFactory}. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setPlaylistParserFactory(HlsPlaylistParserFactory playlistParserFactory) { this.playlistParserFactory = checkNotNull( @@ -210,6 +214,7 @@ public Factory setPlaylistParserFactory(HlsPlaylistParserFactory playlistParserF * @param playlistTrackerFactory A factory for {@link HlsPlaylistTracker} instances. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setPlaylistTrackerFactory(HlsPlaylistTracker.Factory playlistTrackerFactory) { this.playlistTrackerFactory = checkNotNull( @@ -229,6 +234,7 @@ public Factory setPlaylistTrackerFactory(HlsPlaylistTracker.Factory playlistTrac * audio etc...). * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setCompositeSequenceableLoaderFactory( CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory) { this.compositeSequenceableLoaderFactory = @@ -248,6 +254,7 @@ public Factory setCompositeSequenceableLoaderFactory( * @param allowChunklessPreparation Whether chunkless preparation is allowed. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setAllowChunklessPreparation(boolean allowChunklessPreparation) { this.allowChunklessPreparation = allowChunklessPreparation; return this; @@ -272,6 +279,7 @@ public Factory setAllowChunklessPreparation(boolean allowChunklessPreparation) { * @param metadataType The type of metadata to extract. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setMetadataType(@MetadataType int metadataType) { this.metadataType = metadataType; return this; @@ -286,11 +294,13 @@ public Factory setMetadataType(@MetadataType int metadataType) { * @param useSessionKeys Whether to use #EXT-X-SESSION-KEY tags. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setUseSessionKeys(boolean useSessionKeys) { this.useSessionKeys = useSessionKeys; return this; } + @CanIgnoreReturnValue @Override public Factory setDrmSessionManagerProvider( DrmSessionManagerProvider drmSessionManagerProvider) { @@ -311,6 +321,7 @@ public Factory setDrmSessionManagerProvider( * the time since the Unix epoch, in milliseconds. * @return This factory, for convenience. */ + @CanIgnoreReturnValue @VisibleForTesting /* package */ Factory setElapsedRealTimeOffsetMs(long elapsedRealTimeOffsetMs) { this.elapsedRealTimeOffsetMs = elapsedRealTimeOffsetMs; diff --git a/libraries/exoplayer_ima/build.gradle b/libraries/exoplayer_ima/build.gradle index 70397d8c5cf..314e01ce9b3 100644 --- a/libraries/exoplayer_ima/build.gradle +++ b/libraries/exoplayer_ima/build.gradle @@ -28,6 +28,7 @@ dependencies { api 'com.google.ads.interactivemedia.v3:interactivemedia:3.26.0' implementation project(modulePrefix + 'lib-exoplayer') implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion androidTestImplementation project(modulePrefix + 'test-utils') diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaAdsLoader.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaAdsLoader.java index b4637f248db..f90654a2902 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaAdsLoader.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaAdsLoader.java @@ -56,6 +56,7 @@ import com.google.ads.interactivemedia.v3.api.player.VideoAdPlayer; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; @@ -152,6 +153,7 @@ public Builder(Context context) { * @param imaSdkSettings The {@link ImaSdkSettings}. * @return This builder, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Builder setImaSdkSettings(ImaSdkSettings imaSdkSettings) { this.imaSdkSettings = checkNotNull(imaSdkSettings); @@ -166,6 +168,7 @@ public Builder setImaSdkSettings(ImaSdkSettings imaSdkSettings) { * @param adErrorListener The ad error listener. * @return This builder, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Builder setAdErrorListener(AdErrorListener adErrorListener) { this.adErrorListener = checkNotNull(adErrorListener); @@ -179,6 +182,7 @@ public Builder setAdErrorListener(AdErrorListener adErrorListener) { * @param adEventListener The ad event listener. * @return This builder, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Builder setAdEventListener(AdEventListener adEventListener) { this.adEventListener = checkNotNull(adEventListener); @@ -195,6 +199,7 @@ public Builder setAdEventListener(AdEventListener adEventListener) { * @return This builder, for convenience. * @see com.google.ads.interactivemedia.v3.api.player.VideoAdPlayer.VideoAdPlayerCallback */ + @CanIgnoreReturnValue @UnstableApi public Builder setVideoAdPlayerCallback( VideoAdPlayer.VideoAdPlayerCallback videoAdPlayerCallback) { @@ -209,6 +214,7 @@ public Builder setVideoAdPlayerCallback( * @return This builder, for convenience. * @see AdsRenderingSettings#setUiElements(Set) */ + @CanIgnoreReturnValue @UnstableApi public Builder setAdUiElements(Set adUiElements) { this.adUiElements = ImmutableSet.copyOf(checkNotNull(adUiElements)); @@ -222,6 +228,7 @@ public Builder setAdUiElements(Set adUiElements) { * @return This builder, for convenience. * @see AdDisplayContainer#setCompanionSlots(Collection) */ + @CanIgnoreReturnValue @UnstableApi public Builder setCompanionAdSlots(Collection companionAdSlots) { this.companionAdSlots = ImmutableList.copyOf(checkNotNull(companionAdSlots)); @@ -240,6 +247,7 @@ public Builder setCompanionAdSlots(Collection companionAdSlots) * @return This builder, for convenience. * @see AdsRenderingSettings#setMimeTypes(List) */ + @CanIgnoreReturnValue @UnstableApi public Builder setAdMediaMimeTypes(List adMediaMimeTypes) { this.adMediaMimeTypes = ImmutableList.copyOf(checkNotNull(adMediaMimeTypes)); @@ -255,6 +263,7 @@ public Builder setAdMediaMimeTypes(List adMediaMimeTypes) { * @return This builder, for convenience. * @see AdsRequest#setContinuousPlayback(boolean) */ + @CanIgnoreReturnValue @UnstableApi public Builder setEnableContinuousPlayback(boolean enableContinuousPlayback) { this.enableContinuousPlayback = enableContinuousPlayback; @@ -274,6 +283,7 @@ public Builder setEnableContinuousPlayback(boolean enableContinuousPlayback) { * C#TIME_UNSET} for no timeout. * @return This builder, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Builder setAdPreloadTimeoutMs(long adPreloadTimeoutMs) { checkArgument(adPreloadTimeoutMs == C.TIME_UNSET || adPreloadTimeoutMs > 0); @@ -288,6 +298,7 @@ public Builder setAdPreloadTimeoutMs(long adPreloadTimeoutMs) { * @return This builder, for convenience. * @see AdsRequest#setVastLoadTimeout(float) */ + @CanIgnoreReturnValue @UnstableApi public Builder setVastLoadTimeoutMs(@IntRange(from = 1) int vastLoadTimeoutMs) { checkArgument(vastLoadTimeoutMs > 0); @@ -302,6 +313,7 @@ public Builder setVastLoadTimeoutMs(@IntRange(from = 1) int vastLoadTimeoutMs) { * @return This builder, for convenience. * @see AdsRenderingSettings#setLoadVideoTimeout(int) */ + @CanIgnoreReturnValue @UnstableApi public Builder setMediaLoadTimeoutMs(@IntRange(from = 1) int mediaLoadTimeoutMs) { checkArgument(mediaLoadTimeoutMs > 0); @@ -316,6 +328,7 @@ public Builder setMediaLoadTimeoutMs(@IntRange(from = 1) int mediaLoadTimeoutMs) * @return This builder, for convenience. * @see AdsRenderingSettings#setBitrateKbps(int) */ + @CanIgnoreReturnValue @UnstableApi public Builder setMaxMediaBitrate(@IntRange(from = 1) int bitrate) { checkArgument(bitrate > 0); @@ -332,6 +345,7 @@ public Builder setMaxMediaBitrate(@IntRange(from = 1) int bitrate) { * @return This builder, for convenience. * @see AdsRenderingSettings#setFocusSkipButtonWhenAvailable(boolean) */ + @CanIgnoreReturnValue @UnstableApi public Builder setFocusSkipButtonWhenAvailable(boolean focusSkipButtonWhenAvailable) { this.focusSkipButtonWhenAvailable = focusSkipButtonWhenAvailable; @@ -348,6 +362,7 @@ public Builder setFocusSkipButtonWhenAvailable(boolean focusSkipButtonWhenAvaila * beginning playback. * @return This builder, for convenience. */ + @CanIgnoreReturnValue @UnstableApi public Builder setPlayAdBeforeStartPosition(boolean playAdBeforeStartPosition) { this.playAdBeforeStartPosition = playAdBeforeStartPosition; @@ -364,12 +379,14 @@ public Builder setPlayAdBeforeStartPosition(boolean playAdBeforeStartPosition) { * @return This builder, for convenience. * @see ImaSdkSettings#setDebugMode(boolean) */ + @CanIgnoreReturnValue @UnstableApi public Builder setDebugModeEnabled(boolean debugModeEnabled) { this.debugModeEnabled = debugModeEnabled; return this; } + @CanIgnoreReturnValue @VisibleForTesting /* package */ Builder setImaFactory(ImaUtil.ImaFactory imaFactory) { this.imaFactory = checkNotNull(imaFactory); diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java index e7d261c2208..1f410a2e36a 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java @@ -93,6 +93,7 @@ import com.google.ads.interactivemedia.v3.api.player.VideoStreamPlayer; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -134,6 +135,7 @@ public Factory(AdsLoader adsLoader, MediaSource.Factory contentMediaSourceFactor this.contentMediaSourceFactory = contentMediaSourceFactory; } + @CanIgnoreReturnValue @Override public MediaSource.Factory setLoadErrorHandlingPolicy( LoadErrorHandlingPolicy loadErrorHandlingPolicy) { @@ -141,6 +143,7 @@ public MediaSource.Factory setLoadErrorHandlingPolicy( return this; } + @CanIgnoreReturnValue @Override public MediaSource.Factory setDrmSessionManagerProvider( DrmSessionManagerProvider drmSessionManagerProvider) { @@ -215,6 +218,7 @@ public Builder(Context context, AdViewProvider adViewProvider) { * @param imaSdkSettings The {@link ImaSdkSettings}. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public AdsLoader.Builder setImaSdkSettings(ImaSdkSettings imaSdkSettings) { this.imaSdkSettings = imaSdkSettings; return this; @@ -227,6 +231,7 @@ public AdsLoader.Builder setImaSdkSettings(ImaSdkSettings imaSdkSettings) { * @param adEventListener The ad event listener. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public AdsLoader.Builder setAdEventListener(AdEventListener adEventListener) { this.adEventListener = adEventListener; return this; @@ -239,6 +244,7 @@ public AdsLoader.Builder setAdEventListener(AdEventListener adEventListener) { * @param adErrorListener The {@link AdErrorEvent.AdErrorListener}. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public AdsLoader.Builder setAdErrorListener(AdErrorEvent.AdErrorListener adErrorListener) { this.adErrorListener = adErrorListener; return this; @@ -251,6 +257,7 @@ public AdsLoader.Builder setAdErrorListener(AdErrorEvent.AdErrorListener adError * @return This builder, for convenience. * @see AdDisplayContainer#setCompanionSlots(Collection) */ + @CanIgnoreReturnValue public AdsLoader.Builder setCompanionAdSlots(Collection companionAdSlots) { this.companionAdSlots = ImmutableList.copyOf(companionAdSlots); return this; @@ -264,6 +271,7 @@ public AdsLoader.Builder setCompanionAdSlots(Collection compani * @param state The state to resume with. * @return This builder, for convenience. */ + @CanIgnoreReturnValue public AdsLoader.Builder setAdsLoaderState(State state) { this.state = state; return this; diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionUriBuilder.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionUriBuilder.java index e6664e73610..6a20ed5b5b1 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionUriBuilder.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionUriBuilder.java @@ -29,6 +29,7 @@ import com.google.ads.interactivemedia.v3.api.StreamRequest; import com.google.ads.interactivemedia.v3.api.StreamRequest.StreamFormat; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.HashMap; import java.util.Map; @@ -85,6 +86,7 @@ public ImaServerSideAdInsertionUriBuilder() { * @param adsId The ads identifier. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setAdsId(String adsId) { this.adsId = adsId; return this; @@ -96,6 +98,7 @@ public ImaServerSideAdInsertionUriBuilder setAdsId(String adsId) { * @param assetKey Live stream asset key. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setAssetKey(@Nullable String assetKey) { this.assetKey = assetKey; return this; @@ -109,6 +112,7 @@ public ImaServerSideAdInsertionUriBuilder setAssetKey(@Nullable String assetKey) * @param authToken Live stream authorization token. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setAuthToken(@Nullable String authToken) { this.authToken = authToken; return this; @@ -120,6 +124,7 @@ public ImaServerSideAdInsertionUriBuilder setAuthToken(@Nullable String authToke * @param contentSourceId VOD stream content source id. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setContentSourceId(@Nullable String contentSourceId) { this.contentSourceId = contentSourceId; return this; @@ -131,6 +136,7 @@ public ImaServerSideAdInsertionUriBuilder setContentSourceId(@Nullable String co * @param videoId VOD stream video id. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setVideoId(@Nullable String videoId) { this.videoId = videoId; return this; @@ -142,6 +148,7 @@ public ImaServerSideAdInsertionUriBuilder setVideoId(@Nullable String videoId) { * @param format {@link C#TYPE_DASH} or {@link C#TYPE_HLS}. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setFormat(@ContentType int format) { checkArgument(format == C.CONTENT_TYPE_DASH || format == C.CONTENT_TYPE_HLS); this.format = format; @@ -156,6 +163,7 @@ public ImaServerSideAdInsertionUriBuilder setFormat(@ContentType int format) { * @param apiKey Stream api key. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setApiKey(@Nullable String apiKey) { this.apiKey = apiKey; return this; @@ -169,6 +177,7 @@ public ImaServerSideAdInsertionUriBuilder setApiKey(@Nullable String apiKey) { * @param streamActivityMonitorId ID for debugging the stream with the stream activity monitor. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setStreamActivityMonitorId( @Nullable String streamActivityMonitorId) { this.streamActivityMonitorId = streamActivityMonitorId; @@ -187,6 +196,7 @@ public ImaServerSideAdInsertionUriBuilder setStreamActivityMonitorId( * @param adTagParameters A map of extra parameters to pass to the ad server. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setAdTagParameters( Map adTagParameters) { this.adTagParameters = ImmutableMap.copyOf(adTagParameters); @@ -200,6 +210,7 @@ public ImaServerSideAdInsertionUriBuilder setAdTagParameters( * @param manifestSuffix Stream manifest's suffix. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setManifestSuffix(@Nullable String manifestSuffix) { this.manifestSuffix = manifestSuffix; return this; @@ -213,6 +224,7 @@ public ImaServerSideAdInsertionUriBuilder setManifestSuffix(@Nullable String man * @param contentUrl Deep link to the content's screen. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setContentUrl(@Nullable String contentUrl) { this.contentUrl = contentUrl; return this; @@ -226,6 +238,7 @@ public ImaServerSideAdInsertionUriBuilder setContentUrl(@Nullable String content * @param loadVideoTimeoutMs The timeout after which to give up resolving the video URI. * @return This instance, for convenience. */ + @CanIgnoreReturnValue public ImaServerSideAdInsertionUriBuilder setLoadVideoTimeoutMs(int loadVideoTimeoutMs) { this.loadVideoTimeoutMs = loadVideoTimeoutMs; return this; diff --git a/libraries/exoplayer_rtsp/build.gradle b/libraries/exoplayer_rtsp/build.gradle index 4bb58e0f85c..0d53ded1d0d 100644 --- a/libraries/exoplayer_rtsp/build.gradle +++ b/libraries/exoplayer_rtsp/build.gradle @@ -25,6 +25,7 @@ android { dependencies { implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java index c3bffe8db6d..26d8078721e 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/MediaDescription.java @@ -30,6 +30,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -149,6 +150,7 @@ public Builder(String mediaType, int port, String transportProtocol, int payload * @param mediaTitle The assigned media title. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMediaTitle(String mediaTitle) { this.mediaTitle = mediaTitle; return this; @@ -160,6 +162,7 @@ public Builder setMediaTitle(String mediaTitle) { * @param connection The connection parameter. * @return This builder. */ + @CanIgnoreReturnValue public Builder setConnection(String connection) { this.connection = connection; return this; @@ -171,6 +174,7 @@ public Builder setConnection(String connection) { * @param bitrate The estimated bitrate measured in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setBitrate(int bitrate) { this.bitrate = bitrate; return this; @@ -182,6 +186,7 @@ public Builder setBitrate(int bitrate) { * @param key The encryption parameter. * @return This builder. */ + @CanIgnoreReturnValue public Builder setKey(String key) { this.key = key; return this; @@ -196,6 +201,7 @@ public Builder setKey(String key) { * @param attributeValue The value of the attribute, or "" if the attribute bears no value. * @return This builder. */ + @CanIgnoreReturnValue public Builder addAttribute(String attributeName, String attributeValue) { attributes.put(attributeName, attributeValue); return this; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPacket.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPacket.java index a2811a89213..6df3023b37f 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPacket.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPacket.java @@ -25,6 +25,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.math.IntMath; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -71,24 +72,28 @@ public static final class Builder { private byte[] payloadData = EMPTY; /** Sets the {@link RtpPacket#padding}. The default is false. */ + @CanIgnoreReturnValue public Builder setPadding(boolean padding) { this.padding = padding; return this; } /** Sets {@link RtpPacket#marker}. The default is false. */ + @CanIgnoreReturnValue public Builder setMarker(boolean marker) { this.marker = marker; return this; } /** Sets {@link RtpPacket#payloadType}. The default is 0. */ + @CanIgnoreReturnValue public Builder setPayloadType(byte payloadType) { this.payloadType = payloadType; return this; } /** Sets {@link RtpPacket#sequenceNumber}. The default is 0. */ + @CanIgnoreReturnValue public Builder setSequenceNumber(int sequenceNumber) { checkArgument(sequenceNumber >= MIN_SEQUENCE_NUMBER && sequenceNumber <= MAX_SEQUENCE_NUMBER); this.sequenceNumber = sequenceNumber & 0xFFFF; @@ -96,18 +101,21 @@ public Builder setSequenceNumber(int sequenceNumber) { } /** Sets {@link RtpPacket#timestamp}. The default is 0. */ + @CanIgnoreReturnValue public Builder setTimestamp(long timestamp) { this.timestamp = timestamp; return this; } /** Sets {@link RtpPacket#ssrc}. The default is 0. */ + @CanIgnoreReturnValue public Builder setSsrc(int ssrc) { this.ssrc = ssrc; return this; } /** Sets {@link RtpPacket#csrc}. The default is an empty byte array. */ + @CanIgnoreReturnValue public Builder setCsrc(byte[] csrc) { checkNotNull(csrc); this.csrc = csrc; @@ -115,6 +123,7 @@ public Builder setCsrc(byte[] csrc) { } /** Sets {@link RtpPacket#payloadData}. The default is an empty byte array. */ + @CanIgnoreReturnValue public Builder setPayloadData(byte[] payloadData) { checkNotNull(payloadData); this.payloadData = payloadData; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java index edcf04fe1fd..0a6d7b9d689 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspHeaders.java @@ -23,6 +23,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.Iterables; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.List; import java.util.Map; @@ -115,6 +116,7 @@ private Builder(ImmutableListMultimap.Builder namesAndValuesBuil * @param headerValue The value of the header. * @return This builder. */ + @CanIgnoreReturnValue public Builder add(String headerName, String headerValue) { namesAndValuesBuilder.put(convertToStandardHeaderName(headerName.trim()), headerValue.trim()); return this; @@ -127,6 +129,7 @@ public Builder add(String headerName, String headerValue) { * <headerValue> * @return This builder. */ + @CanIgnoreReturnValue public Builder addAll(List headers) { for (int i = 0; i < headers.size(); i++) { String[] header = Util.splitAtFirst(headers.get(i), ":\\s?"); @@ -144,6 +147,7 @@ public Builder addAll(List headers) { * header values. * @return This builder. */ + @CanIgnoreReturnValue public Builder addAll(Map headers) { for (Map.Entry header : headers.entrySet()) { add(header.getKey(), header.getValue()); diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaSource.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaSource.java index 3aa2d7f090b..f0e5877a12c 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaSource.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaSource.java @@ -39,6 +39,7 @@ import androidx.media3.exoplayer.source.SinglePeriodTimeline; import androidx.media3.exoplayer.upstream.Allocator; import androidx.media3.exoplayer.upstream.LoadErrorHandlingPolicy; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import javax.net.SocketFactory; @@ -89,6 +90,7 @@ public Factory() { * @param forceUseRtpTcp Whether force to use TCP for streaming. * @return This Factory, for convenience. */ + @CanIgnoreReturnValue public Factory setForceUseRtpTcp(boolean forceUseRtpTcp) { this.forceUseRtpTcp = forceUseRtpTcp; return this; @@ -100,6 +102,7 @@ public Factory setForceUseRtpTcp(boolean forceUseRtpTcp) { * @param userAgent The user agent. * @return This Factory, for convenience. */ + @CanIgnoreReturnValue public Factory setUserAgent(String userAgent) { this.userAgent = userAgent; return this; @@ -112,6 +115,7 @@ public Factory setUserAgent(String userAgent) { * @param socketFactory A socket factory. * @return This Factory, for convenience. */ + @CanIgnoreReturnValue public Factory setSocketFactory(SocketFactory socketFactory) { this.socketFactory = socketFactory; return this; @@ -126,6 +130,7 @@ public Factory setSocketFactory(SocketFactory socketFactory) { * @param debugLoggingEnabled Whether to log RTSP messages. * @return This Factory, for convenience. */ + @CanIgnoreReturnValue public Factory setDebugLoggingEnabled(boolean debugLoggingEnabled) { this.debugLoggingEnabled = debugLoggingEnabled; return this; @@ -140,6 +145,7 @@ public Factory setDebugLoggingEnabled(boolean debugLoggingEnabled) { * @param timeoutMs The timeout measured in milliseconds. * @return This Factory, for convenience. */ + @CanIgnoreReturnValue public Factory setTimeoutMs(@IntRange(from = 1) long timeoutMs) { checkArgument(timeoutMs > 0); this.timeoutMs = timeoutMs; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java index 5ed534fa909..f7fc7ae5fa5 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/SessionDescription.java @@ -25,6 +25,7 @@ import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.HashMap; /** @@ -66,6 +67,7 @@ public Builder() { * @param sessionName The {@link SessionDescription#sessionName}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setSessionName(String sessionName) { this.sessionName = sessionName; return this; @@ -77,6 +79,7 @@ public Builder setSessionName(String sessionName) { * @param sessionInfo The {@link SessionDescription#sessionInfo}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setSessionInfo(String sessionInfo) { this.sessionInfo = sessionInfo; return this; @@ -88,6 +91,7 @@ public Builder setSessionInfo(String sessionInfo) { * @param uri The {@link SessionDescription#uri}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setUri(Uri uri) { this.uri = uri; return this; @@ -101,6 +105,7 @@ public Builder setUri(Uri uri) { * @param origin The {@link SessionDescription#origin}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setOrigin(String origin) { this.origin = origin; return this; @@ -112,6 +117,7 @@ public Builder setOrigin(String origin) { * @param connection The {@link SessionDescription#connection}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setConnection(String connection) { this.connection = connection; return this; @@ -123,6 +129,7 @@ public Builder setConnection(String connection) { * @param bitrate The {@link SessionDescription#bitrate} in bits per second. * @return This builder. */ + @CanIgnoreReturnValue public Builder setBitrate(int bitrate) { this.bitrate = bitrate; return this; @@ -136,6 +143,7 @@ public Builder setBitrate(int bitrate) { * @param timing The {@link SessionDescription#timing}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setTiming(String timing) { this.timing = timing; return this; @@ -147,6 +155,7 @@ public Builder setTiming(String timing) { * @param key The {@link SessionDescription#key}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setKey(String key) { this.key = key; return this; @@ -158,6 +167,7 @@ public Builder setKey(String key) { * @param emailAddress The {@link SessionDescription#emailAddress}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setEmailAddress(String emailAddress) { this.emailAddress = emailAddress; return this; @@ -169,6 +179,7 @@ public Builder setEmailAddress(String emailAddress) { * @param phoneNumber The {@link SessionDescription#phoneNumber}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; return this; @@ -181,6 +192,7 @@ public Builder setPhoneNumber(String phoneNumber) { * @param attributeValue The value of the attribute. * @return This builder. */ + @CanIgnoreReturnValue public Builder addAttribute(String attributeName, String attributeValue) { attributes.put(attributeName, attributeValue); return this; @@ -192,6 +204,7 @@ public Builder addAttribute(String attributeName, String attributeValue) { * @param mediaDescription The {@link MediaDescription}. * @return This builder. */ + @CanIgnoreReturnValue public Builder addMediaDescription(MediaDescription mediaDescription) { mediaDescriptionListBuilder.add(mediaDescription); return this; diff --git a/libraries/exoplayer_smoothstreaming/build.gradle b/libraries/exoplayer_smoothstreaming/build.gradle index 4b145ec6b3c..8ac10f28354 100644 --- a/libraries/exoplayer_smoothstreaming/build.gradle +++ b/libraries/exoplayer_smoothstreaming/build.gradle @@ -25,6 +25,7 @@ android { dependencies { implementation project(modulePrefix + 'lib-exoplayer') + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion diff --git a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java index b8231da9b1c..1186cfc350d 100644 --- a/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java +++ b/libraries/exoplayer_smoothstreaming/src/main/java/androidx/media3/exoplayer/smoothstreaming/SsMediaSource.java @@ -64,6 +64,7 @@ import androidx.media3.exoplayer.upstream.LoaderErrorThrower; import androidx.media3.exoplayer.upstream.ParsingLoadable; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -136,6 +137,7 @@ public Factory( compositeSequenceableLoaderFactory = new DefaultCompositeSequenceableLoaderFactory(); } + @CanIgnoreReturnValue @Override public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandlingPolicy) { this.loadErrorHandlingPolicy = @@ -156,6 +158,7 @@ public Factory setLoadErrorHandlingPolicy(LoadErrorHandlingPolicy loadErrorHandl * default start position should precede the end of the live window. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setLivePresentationDelayMs(long livePresentationDelayMs) { this.livePresentationDelayMs = livePresentationDelayMs; return this; @@ -167,6 +170,7 @@ public Factory setLivePresentationDelayMs(long livePresentationDelayMs) { * @param manifestParser A parser for loaded manifest data. * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setManifestParser( @Nullable ParsingLoadable.Parser manifestParser) { this.manifestParser = manifestParser; @@ -182,6 +186,7 @@ public Factory setManifestParser( * audio etc.). * @return This factory, for convenience. */ + @CanIgnoreReturnValue public Factory setCompositeSequenceableLoaderFactory( CompositeSequenceableLoaderFactory compositeSequenceableLoaderFactory) { this.compositeSequenceableLoaderFactory = @@ -193,6 +198,7 @@ public Factory setCompositeSequenceableLoaderFactory( return this; } + @CanIgnoreReturnValue @Override public Factory setDrmSessionManagerProvider( DrmSessionManagerProvider drmSessionManagerProvider) { diff --git a/libraries/extractor/build.gradle b/libraries/extractor/build.gradle index 0864cd6c2f2..6cd3a81b28e 100644 --- a/libraries/extractor/build.gradle +++ b/libraries/extractor/build.gradle @@ -28,6 +28,7 @@ dependencies { implementation project(modulePrefix + 'lib-common') // TODO(b/203752187): Remove this dependency. implementation project(modulePrefix + 'lib-decoder') + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java b/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java index eff4e7c0fea..0b4e9da76d8 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java @@ -44,6 +44,7 @@ import androidx.media3.extractor.ts.TsExtractor; import androidx.media3.extractor.ts.TsPayloadReader; import androidx.media3.extractor.wav.WavExtractor; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; @@ -145,6 +146,7 @@ public DefaultExtractorsFactory() { * assumption should be enabled for all extractors that support it. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setConstantBitrateSeekingEnabled( boolean constantBitrateSeekingEnabled) { this.constantBitrateSeekingEnabled = constantBitrateSeekingEnabled; @@ -169,6 +171,7 @@ public synchronized DefaultExtractorsFactory setConstantBitrateSeekingEnabled( * duration is unknown. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setConstantBitrateSeekingAlwaysEnabled( boolean constantBitrateSeekingAlwaysEnabled) { this.constantBitrateSeekingAlwaysEnabled = constantBitrateSeekingAlwaysEnabled; @@ -182,6 +185,7 @@ public synchronized DefaultExtractorsFactory setConstantBitrateSeekingAlwaysEnab * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setAdtsExtractorFlags( @AdtsExtractor.Flags int flags) { this.adtsFlags = flags; @@ -195,6 +199,7 @@ public synchronized DefaultExtractorsFactory setAdtsExtractorFlags( * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setAmrExtractorFlags(@AmrExtractor.Flags int flags) { this.amrFlags = flags; return this; @@ -209,6 +214,7 @@ public synchronized DefaultExtractorsFactory setAmrExtractorFlags(@AmrExtractor. * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setFlacExtractorFlags( @FlacExtractor.Flags int flags) { this.flacFlags = flags; @@ -222,6 +228,7 @@ public synchronized DefaultExtractorsFactory setFlacExtractorFlags( * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setMatroskaExtractorFlags( @MatroskaExtractor.Flags int flags) { this.matroskaFlags = flags; @@ -235,6 +242,7 @@ public synchronized DefaultExtractorsFactory setMatroskaExtractorFlags( * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setMp4ExtractorFlags(@Mp4Extractor.Flags int flags) { this.mp4Flags = flags; return this; @@ -247,6 +255,7 @@ public synchronized DefaultExtractorsFactory setMp4ExtractorFlags(@Mp4Extractor. * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setFragmentedMp4ExtractorFlags( @FragmentedMp4Extractor.Flags int flags) { this.fragmentedMp4Flags = flags; @@ -260,6 +269,7 @@ public synchronized DefaultExtractorsFactory setFragmentedMp4ExtractorFlags( * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setMp3ExtractorFlags(@Mp3Extractor.Flags int flags) { mp3Flags = flags; return this; @@ -272,6 +282,7 @@ public synchronized DefaultExtractorsFactory setMp3ExtractorFlags(@Mp3Extractor. * @param mode The mode to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setTsExtractorMode(@TsExtractor.Mode int mode) { tsMode = mode; return this; @@ -285,6 +296,7 @@ public synchronized DefaultExtractorsFactory setTsExtractorMode(@TsExtractor.Mod * @param flags The flags to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setTsExtractorFlags( @DefaultTsPayloadReaderFactory.Flags int flags) { tsFlags = flags; @@ -299,6 +311,7 @@ public synchronized DefaultExtractorsFactory setTsExtractorFlags( * @param timestampSearchBytes The number of search bytes to use. * @return The factory, for convenience. */ + @CanIgnoreReturnValue public synchronized DefaultExtractorsFactory setTsExtractorTimestampSearchBytes( int timestampSearchBytes) { tsTimestampSearchBytes = timestampSearchBytes; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java index b706154a0f5..1cb59ae2116 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java @@ -22,6 +22,7 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.text.TextAnnotation; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -125,6 +126,7 @@ public boolean isLinethrough() { return linethrough == ON; } + @CanIgnoreReturnValue public TtmlStyle setLinethrough(boolean linethrough) { this.linethrough = linethrough ? ON : OFF; return this; @@ -134,16 +136,19 @@ public boolean isUnderline() { return underline == ON; } + @CanIgnoreReturnValue public TtmlStyle setUnderline(boolean underline) { this.underline = underline ? ON : OFF; return this; } + @CanIgnoreReturnValue public TtmlStyle setBold(boolean bold) { this.bold = bold ? ON : OFF; return this; } + @CanIgnoreReturnValue public TtmlStyle setItalic(boolean italic) { this.italic = italic ? ON : OFF; return this; @@ -154,6 +159,7 @@ public String getFontFamily() { return fontFamily; } + @CanIgnoreReturnValue public TtmlStyle setFontFamily(@Nullable String fontFamily) { this.fontFamily = fontFamily; return this; @@ -166,6 +172,7 @@ public int getFontColor() { return fontColor; } + @CanIgnoreReturnValue public TtmlStyle setFontColor(int fontColor) { this.fontColor = fontColor; hasFontColor = true; @@ -183,6 +190,7 @@ public int getBackgroundColor() { return backgroundColor; } + @CanIgnoreReturnValue public TtmlStyle setBackgroundColor(int backgroundColor) { this.backgroundColor = backgroundColor; hasBackgroundColor = true; @@ -193,6 +201,7 @@ public boolean hasBackgroundColor() { return hasBackgroundColor; } + @CanIgnoreReturnValue public TtmlStyle setShearPercentage(float shearPercentage) { this.shearPercentage = shearPercentage; return this; @@ -208,6 +217,7 @@ public float getShearPercentage() { * * @param ancestor the referential style to inherit from */ + @CanIgnoreReturnValue public TtmlStyle chain(@Nullable TtmlStyle ancestor) { return inherit(ancestor, true); } @@ -219,10 +229,12 @@ public TtmlStyle chain(@Nullable TtmlStyle ancestor) { * * @param ancestor the ancestor style to inherit from */ + @CanIgnoreReturnValue public TtmlStyle inherit(@Nullable TtmlStyle ancestor) { return inherit(ancestor, false); } + @CanIgnoreReturnValue private TtmlStyle inherit(@Nullable TtmlStyle ancestor, boolean chaining) { if (ancestor != null) { if (!hasFontColor && ancestor.hasFontColor) { @@ -276,6 +288,7 @@ private TtmlStyle inherit(@Nullable TtmlStyle ancestor, boolean chaining) { return this; } + @CanIgnoreReturnValue public TtmlStyle setId(@Nullable String id) { this.id = id; return this; @@ -286,6 +299,7 @@ public String getId() { return id; } + @CanIgnoreReturnValue public TtmlStyle setRubyType(@RubyType int rubyType) { this.rubyType = rubyType; return this; @@ -295,6 +309,7 @@ public TtmlStyle setRubyType(@RubyType int rubyType) { return rubyType; } + @CanIgnoreReturnValue public TtmlStyle setRubyPosition(@TextAnnotation.Position int position) { this.rubyPosition = position; return this; @@ -309,6 +324,7 @@ public Layout.Alignment getTextAlign() { return textAlign; } + @CanIgnoreReturnValue public TtmlStyle setTextAlign(@Nullable Layout.Alignment textAlign) { this.textAlign = textAlign; return this; @@ -319,6 +335,7 @@ public Layout.Alignment getMultiRowAlign() { return multiRowAlign; } + @CanIgnoreReturnValue public TtmlStyle setMultiRowAlign(@Nullable Layout.Alignment multiRowAlign) { this.multiRowAlign = multiRowAlign; return this; @@ -329,6 +346,7 @@ public boolean getTextCombine() { return textCombine == ON; } + @CanIgnoreReturnValue public TtmlStyle setTextCombine(boolean combine) { this.textCombine = combine ? ON : OFF; return this; @@ -339,16 +357,19 @@ public TextEmphasis getTextEmphasis() { return textEmphasis; } + @CanIgnoreReturnValue public TtmlStyle setTextEmphasis(@Nullable TextEmphasis textEmphasis) { this.textEmphasis = textEmphasis; return this; } + @CanIgnoreReturnValue public TtmlStyle setFontSize(float fontSize) { this.fontSize = fontSize; return this; } + @CanIgnoreReturnValue public TtmlStyle setFontSizeUnit(int fontSizeUnit) { this.fontSizeUnit = fontSizeUnit; return this; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java index 77713c16727..623f8fd057c 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java @@ -25,6 +25,7 @@ import androidx.media3.common.text.TextAnnotation; import androidx.media3.common.util.UnstableApi; import com.google.common.base.Ascii; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -197,6 +198,7 @@ public boolean isLinethrough() { return linethrough == ON; } + @CanIgnoreReturnValue public WebvttCssStyle setLinethrough(boolean linethrough) { this.linethrough = linethrough ? ON : OFF; return this; @@ -206,16 +208,19 @@ public boolean isUnderline() { return underline == ON; } + @CanIgnoreReturnValue public WebvttCssStyle setUnderline(boolean underline) { this.underline = underline ? ON : OFF; return this; } + @CanIgnoreReturnValue public WebvttCssStyle setBold(boolean bold) { this.bold = bold ? ON : OFF; return this; } + @CanIgnoreReturnValue public WebvttCssStyle setItalic(boolean italic) { this.italic = italic ? ON : OFF; return this; @@ -226,6 +231,7 @@ public String getFontFamily() { return fontFamily; } + @CanIgnoreReturnValue public WebvttCssStyle setFontFamily(@Nullable String fontFamily) { this.fontFamily = fontFamily == null ? null : Ascii.toLowerCase(fontFamily); return this; @@ -238,6 +244,7 @@ public int getFontColor() { return fontColor; } + @CanIgnoreReturnValue public WebvttCssStyle setFontColor(int color) { this.fontColor = color; hasFontColor = true; @@ -255,6 +262,7 @@ public int getBackgroundColor() { return backgroundColor; } + @CanIgnoreReturnValue public WebvttCssStyle setBackgroundColor(int backgroundColor) { this.backgroundColor = backgroundColor; hasBackgroundColor = true; @@ -265,11 +273,13 @@ public boolean hasBackgroundColor() { return hasBackgroundColor; } + @CanIgnoreReturnValue public WebvttCssStyle setFontSize(float fontSize) { this.fontSize = fontSize; return this; } + @CanIgnoreReturnValue public WebvttCssStyle setFontSizeUnit(@FontSizeUnit int unit) { this.fontSizeUnit = unit; return this; @@ -283,6 +293,7 @@ public float getFontSize() { return fontSize; } + @CanIgnoreReturnValue public WebvttCssStyle setRubyPosition(@TextAnnotation.Position int rubyPosition) { this.rubyPosition = rubyPosition; return this; @@ -292,6 +303,7 @@ public WebvttCssStyle setRubyPosition(@TextAnnotation.Position int rubyPosition) return rubyPosition; } + @CanIgnoreReturnValue public WebvttCssStyle setCombineUpright(boolean enabled) { this.combineUpright = enabled; return this; diff --git a/libraries/session/src/main/java/androidx/media3/session/CommandButton.java b/libraries/session/src/main/java/androidx/media3/session/CommandButton.java index 8ac74eba5ba..b8632b76175 100644 --- a/libraries/session/src/main/java/androidx/media3/session/CommandButton.java +++ b/libraries/session/src/main/java/androidx/media3/session/CommandButton.java @@ -26,6 +26,7 @@ import androidx.media3.common.Bundleable; import androidx.media3.common.Player; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -65,6 +66,7 @@ public Builder() { * @param sessionCommand The session command. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder setSessionCommand(SessionCommand sessionCommand) { checkNotNull(sessionCommand, "sessionCommand should not be null."); checkArgument( @@ -83,6 +85,7 @@ public Builder setSessionCommand(SessionCommand sessionCommand) { * @param playerCommand The player command. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder setPlayerCommand(@Player.Command int playerCommand) { checkArgument( sessionCommand == null, @@ -102,6 +105,7 @@ public Builder setPlayerCommand(@Player.Command int playerCommand) { * @param resId The resource id of an icon. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder setIconResId(@DrawableRes int resId) { iconResId = resId; return this; @@ -113,6 +117,7 @@ public Builder setIconResId(@DrawableRes int resId) { * @param displayName The display name. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder setDisplayName(CharSequence displayName) { this.displayName = displayName; return this; @@ -124,6 +129,7 @@ public Builder setDisplayName(CharSequence displayName) { * @param enabled Whether the button is enabled. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder setEnabled(boolean enabled) { this.enabled = enabled; return this; @@ -135,6 +141,7 @@ public Builder setEnabled(boolean enabled) { * @param extras The extra {@link Bundle}. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder setExtras(Bundle extras) { this.extras = new Bundle(extras); return this; diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java b/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java index fa8724db05d..2ee3be9c966 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaBrowser.java @@ -37,6 +37,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.concurrent.Executor; import org.checkerframework.checker.initialization.qual.NotOnlyInitialized; import org.checkerframework.checker.initialization.qual.UnderInitialization; @@ -87,6 +88,7 @@ public Builder(Context context, SessionToken token) { * @param connectionHints A bundle containing the connection hints. * @return The builder to allow chaining. */ + @CanIgnoreReturnValue public Builder setConnectionHints(Bundle connectionHints) { this.connectionHints = new Bundle(checkNotNull(connectionHints)); return this; @@ -98,6 +100,7 @@ public Builder setConnectionHints(Bundle connectionHints) { * @param listener The listener. * @return The builder to allow chaining. */ + @CanIgnoreReturnValue public Builder setListener(Listener listener) { this.listener = checkNotNull(listener); return this; @@ -112,6 +115,7 @@ public Builder setListener(Listener listener) { * @param looper The looper. * @return The builder to allow chaining. */ + @CanIgnoreReturnValue public Builder setApplicationLooper(Looper looper) { applicationLooper = checkNotNull(looper); return this; diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index 7e51ee2d17d..235ca6553f9 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -59,6 +59,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.List; import java.util.concurrent.CancellationException; import java.util.concurrent.ExecutionException; @@ -222,6 +223,7 @@ public Builder(Context context, SessionToken token) { * @param connectionHints A bundle containing the connection hints. * @return The builder to allow chaining. */ + @CanIgnoreReturnValue public Builder setConnectionHints(Bundle connectionHints) { this.connectionHints = new Bundle(checkNotNull(connectionHints)); return this; @@ -233,6 +235,7 @@ public Builder setConnectionHints(Bundle connectionHints) { * @param listener The listener. * @return The builder to allow chaining. */ + @CanIgnoreReturnValue public Builder setListener(Listener listener) { this.listener = checkNotNull(listener); return this; @@ -247,6 +250,7 @@ public Builder setListener(Listener listener) { * @param looper The looper. * @return The builder to allow chaining. */ + @CanIgnoreReturnValue public Builder setApplicationLooper(Looper looper) { applicationLooper = checkNotNull(looper); return this; diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java index 8533019b1d8..233bc2a5b25 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java @@ -39,6 +39,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -592,24 +593,28 @@ public Builder() { } /** Sets whether the media items are recently played. */ + @CanIgnoreReturnValue public Builder setRecent(boolean recent) { this.recent = recent; return this; } /** Sets whether the media items can be played without an internet connection. */ + @CanIgnoreReturnValue public Builder setOffline(boolean offline) { this.offline = offline; return this; } /** Sets whether the media items are suggested. */ + @CanIgnoreReturnValue public Builder setSuggested(boolean suggested) { this.suggested = suggested; return this; } /** Set an extra {@link Bundle}. */ + @CanIgnoreReturnValue @UnstableApi public Builder setExtras(Bundle extras) { this.extras = checkNotNull(extras); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java b/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java index 082c0e36dcb..b15df339195 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaStyleNotificationHelper.java @@ -30,6 +30,7 @@ import androidx.core.app.NotificationBuilderWithBuilderAccessor; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.checkerframework.checker.nullness.compatqual.NullableType; /** @@ -124,6 +125,7 @@ public MediaStyle(MediaSession session) { * * @param actions the indices of the actions to show in the compact notification view */ + @CanIgnoreReturnValue public MediaStyle setShowActionsInCompactView(int... actions) { actionsToShowInCompact = actions; return this; @@ -153,6 +155,7 @@ public MediaStyle setShowActionsInCompactView(int... actions) { * * @param show whether to show a cancel button */ + @CanIgnoreReturnValue public MediaStyle setShowCancelButton(boolean show) { if (Build.VERSION.SDK_INT < 21) { showCancelButton = show; @@ -166,6 +169,7 @@ public MediaStyle setShowCancelButton(boolean show) { * * @param pendingIntent the intent to be sent when the cancel button is pressed */ + @CanIgnoreReturnValue public MediaStyle setCancelButtonIntent(PendingIntent pendingIntent) { cancelButtonIntent = pendingIntent; return this; diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index f128a1ff0de..655bf5634c3 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -47,6 +47,7 @@ import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Assertions; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -127,154 +128,184 @@ public Builder(PlayerInfo playerInfo) { trackSelectionParameters = playerInfo.trackSelectionParameters; } + @CanIgnoreReturnValue public Builder setPlayerError(@Nullable PlaybackException playerError) { this.playerError = playerError; return this; } + @CanIgnoreReturnValue public Builder setMediaItemTransitionReason( @Player.MediaItemTransitionReason int mediaItemTransitionReason) { this.mediaItemTransitionReason = mediaItemTransitionReason; return this; } + @CanIgnoreReturnValue public Builder setSessionPositionInfo(SessionPositionInfo sessionPositionInfo) { this.sessionPositionInfo = sessionPositionInfo; return this; } + @CanIgnoreReturnValue public Builder setOldPositionInfo(PositionInfo oldPositionInfo) { this.oldPositionInfo = oldPositionInfo; return this; } + @CanIgnoreReturnValue public Builder setNewPositionInfo(PositionInfo newPositionInfo) { this.newPositionInfo = newPositionInfo; return this; } + @CanIgnoreReturnValue public Builder setDiscontinuityReason(@Player.DiscontinuityReason int discontinuityReason) { this.discontinuityReason = discontinuityReason; return this; } + @CanIgnoreReturnValue public Builder setPlaybackParameters(PlaybackParameters playbackParameters) { this.playbackParameters = playbackParameters; return this; } + @CanIgnoreReturnValue public Builder setRepeatMode(@Player.RepeatMode int repeatMode) { this.repeatMode = repeatMode; return this; } + @CanIgnoreReturnValue public Builder setShuffleModeEnabled(boolean shuffleModeEnabled) { this.shuffleModeEnabled = shuffleModeEnabled; return this; } + @CanIgnoreReturnValue public Builder setTimeline(Timeline timeline) { this.timeline = timeline; return this; } + @CanIgnoreReturnValue public Builder setVideoSize(VideoSize videoSize) { this.videoSize = videoSize; return this; } + @CanIgnoreReturnValue public Builder setPlaylistMetadata(MediaMetadata playlistMetadata) { this.playlistMetadata = playlistMetadata; return this; } + @CanIgnoreReturnValue public Builder setVolume(@FloatRange(from = 0, to = 1) float volume) { this.volume = volume; return this; } + @CanIgnoreReturnValue public Builder setAudioAttributes(AudioAttributes audioAttributes) { this.audioAttributes = audioAttributes; return this; } + @CanIgnoreReturnValue public Builder setCues(CueGroup cueGroup) { this.cueGroup = cueGroup; return this; } + @CanIgnoreReturnValue public Builder setDeviceInfo(DeviceInfo deviceInfo) { this.deviceInfo = deviceInfo; return this; } + @CanIgnoreReturnValue public Builder setDeviceVolume(int deviceVolume) { this.deviceVolume = deviceVolume; return this; } + @CanIgnoreReturnValue public Builder setDeviceMuted(boolean deviceMuted) { this.deviceMuted = deviceMuted; return this; } + @CanIgnoreReturnValue public Builder setPlayWhenReady(boolean playWhenReady) { this.playWhenReady = playWhenReady; return this; } + @CanIgnoreReturnValue public Builder setPlayWhenReadyChangedReason( @Player.PlayWhenReadyChangeReason int playWhenReadyChangedReason) { this.playWhenReadyChangedReason = playWhenReadyChangedReason; return this; } + @CanIgnoreReturnValue public Builder setIsPlaying(boolean isPlaying) { this.isPlaying = isPlaying; return this; } + @CanIgnoreReturnValue public Builder setIsLoading(boolean isLoading) { this.isLoading = isLoading; return this; } + @CanIgnoreReturnValue public Builder setPlaybackSuppressionReason( @PlaybackSuppressionReason int playbackSuppressionReason) { this.playbackSuppressionReason = playbackSuppressionReason; return this; } + @CanIgnoreReturnValue public Builder setPlaybackState(@State int playbackState) { this.playbackState = playbackState; return this; } + @CanIgnoreReturnValue public Builder setMediaMetadata(MediaMetadata mediaMetadata) { this.mediaMetadata = mediaMetadata; return this; } + @CanIgnoreReturnValue public Builder setSeekBackIncrement(long seekBackIncrementMs) { this.seekBackIncrementMs = seekBackIncrementMs; return this; } + @CanIgnoreReturnValue public Builder setSeekForwardIncrement(long seekForwardIncrementMs) { this.seekForwardIncrementMs = seekForwardIncrementMs; return this; } + @CanIgnoreReturnValue public Builder setMaxSeekToPreviousPositionMs(long maxSeekToPreviousPositionMs) { this.maxSeekToPreviousPositionMs = maxSeekToPreviousPositionMs; return this; } + @CanIgnoreReturnValue public Builder setCurrentTracks(Tracks tracks) { currentTracks = tracks; return this; } + @CanIgnoreReturnValue public Builder setTrackSelectionParameters(TrackSelectionParameters parameters) { trackSelectionParameters = parameters; return this; diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java b/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java index fa9b6dabea6..d255bfa9706 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionCommands.java @@ -29,6 +29,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.session.SessionCommand.CommandCode; import com.google.common.collect.ImmutableSet; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -65,6 +66,7 @@ private Builder(SessionCommands sessionCommands) { * @param command A command to add. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder add(SessionCommand command) { commands.add(checkNotNull(command)); return this; @@ -77,6 +79,7 @@ public Builder add(SessionCommand command) { * @param commandCode A command code to build command and add. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder add(@CommandCode int commandCode) { checkArgument(commandCode != COMMAND_CODE_CUSTOM); commands.add(new SessionCommand(commandCode)); @@ -89,6 +92,7 @@ public Builder add(@CommandCode int commandCode) { * @param command A command to find. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder remove(SessionCommand command) { commands.remove(checkNotNull(command)); return this; @@ -101,6 +105,7 @@ public Builder remove(SessionCommand command) { * @param commandCode A command code to find. * @return This builder for chaining. */ + @CanIgnoreReturnValue public Builder remove(@CommandCode int commandCode) { checkArgument(commandCode != COMMAND_CODE_CUSTOM); for (SessionCommand command : commands) { @@ -117,7 +122,8 @@ public Builder remove(@CommandCode int commandCode) { * * @return This builder for chaining. */ - /* package */ Builder addAllSessionCommands() { + /* package */ @CanIgnoreReturnValue + Builder addAllSessionCommands() { addCommandCodes(SessionCommand.SESSION_COMMANDS); return this; } @@ -127,7 +133,8 @@ public Builder remove(@CommandCode int commandCode) { * * @return This builder for chaining. */ - /* package */ Builder addAllLibraryCommands() { + /* package */ @CanIgnoreReturnValue + Builder addAllLibraryCommands() { addCommandCodes(SessionCommand.LIBRARY_COMMANDS); return this; } @@ -137,7 +144,8 @@ public Builder remove(@CommandCode int commandCode) { * * @return This builder for chaining. */ - /* package */ Builder addAllPredefinedCommands() { + /* package */ @CanIgnoreReturnValue + Builder addAllPredefinedCommands() { addAllSessionCommands(); addAllLibraryCommands(); return this; diff --git a/libraries/test_exoplayer_playback/src/androidTest/java/androidx/media3/test/exoplayer/playback/gts/DashTestRunner.java b/libraries/test_exoplayer_playback/src/androidTest/java/androidx/media3/test/exoplayer/playback/gts/DashTestRunner.java index 16429406d3e..6daa3658534 100644 --- a/libraries/test_exoplayer_playback/src/androidTest/java/androidx/media3/test/exoplayer/playback/gts/DashTestRunner.java +++ b/libraries/test_exoplayer_playback/src/androidTest/java/androidx/media3/test/exoplayer/playback/gts/DashTestRunner.java @@ -59,6 +59,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.platform.app.InstrumentationRegistry; import com.google.common.primitives.Ints; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -128,16 +129,19 @@ public DashTestRunner(@Size(max = 23) String tag, HostActivity activity) { this.activity = activity; } + @CanIgnoreReturnValue public DashTestRunner setStreamName(String streamName) { this.streamName = streamName; return this; } + @CanIgnoreReturnValue public DashTestRunner setFullPlaybackNoSeeking(boolean fullPlaybackNoSeeking) { this.fullPlaybackNoSeeking = fullPlaybackNoSeeking; return this; } + @CanIgnoreReturnValue public DashTestRunner setCanIncludeAdditionalVideoFormats( boolean canIncludeAdditionalVideoFormats) { this.canIncludeAdditionalVideoFormats = @@ -145,27 +149,32 @@ public DashTestRunner setCanIncludeAdditionalVideoFormats( return this; } + @CanIgnoreReturnValue public DashTestRunner setActionSchedule(ActionSchedule actionSchedule) { this.actionSchedule = actionSchedule; return this; } + @CanIgnoreReturnValue public DashTestRunner setOfflineLicenseKeySetId(byte[] offlineLicenseKeySetId) { this.offlineLicenseKeySetId = offlineLicenseKeySetId; return this; } + @CanIgnoreReturnValue public DashTestRunner setAudioVideoFormats(String audioFormat, String... videoFormats) { this.audioFormat = audioFormat; this.videoFormats = videoFormats; return this; } + @CanIgnoreReturnValue public DashTestRunner setManifestUrl(String manifestUrl) { this.manifestUrl = manifestUrl; return this; } + @CanIgnoreReturnValue public DashTestRunner setWidevineInfo(String mimeType, boolean videoIdRequiredInLicenseUrl) { this.useL1Widevine = isL1WidevineAvailable(mimeType); this.widevineLicenseUrl = @@ -173,6 +182,7 @@ public DashTestRunner setWidevineInfo(String mimeType, boolean videoIdRequiredIn return this; } + @CanIgnoreReturnValue public DashTestRunner setDataSourceFactory(DataSource.Factory dataSourceFactory) { this.dataSourceFactory = dataSourceFactory; return this; diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index e08b20c5956..db40129a996 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -44,6 +44,7 @@ import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -1329,17 +1330,20 @@ public Builder() { applicationLooper = Util.getCurrentOrMainLooper(); } + @CanIgnoreReturnValue public Builder setChangePlayerStateWithTransportControl( boolean changePlayerStateWithTransportControl) { this.changePlayerStateWithTransportControl = changePlayerStateWithTransportControl; return this; } + @CanIgnoreReturnValue public Builder setApplicationLooper(Looper applicationLooper) { this.applicationLooper = applicationLooper; return this; } + @CanIgnoreReturnValue public Builder setMediaItems(int itemCount) { this.itemCount = itemCount; return this; diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java index 45da31105f6..4589a192fe3 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java @@ -85,6 +85,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.test.session.common.IRemoteMediaSession; import androidx.media3.test.session.common.TestUtils; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; @@ -503,6 +504,7 @@ public MockPlayerConfigBuilder() { bundle = new Bundle(); } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setPlayerError(@Nullable PlaybackException playerError) { if (playerError != null) { bundle.putBundle(KEY_PLAYER_ERROR, playerError.toBundle()); @@ -510,189 +512,226 @@ public MockPlayerConfigBuilder setPlayerError(@Nullable PlaybackException player return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setDuration(long duration) { bundle.putLong(KEY_DURATION, duration); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentPosition(long pos) { bundle.putLong(KEY_CURRENT_POSITION, pos); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setBufferedPosition(long buffPos) { bundle.putLong(KEY_BUFFERED_POSITION, buffPos); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setBufferedPercentage(int bufferedPercentage) { bundle.putInt(KEY_BUFFERED_PERCENTAGE, bufferedPercentage); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setTotalBufferedDuration(long totalBufferedDuration) { bundle.putLong(KEY_TOTAL_BUFFERED_DURATION, totalBufferedDuration); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentLiveOffset(long currentLiveOffset) { bundle.putLong(KEY_CURRENT_LIVE_OFFSET, currentLiveOffset); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setContentDuration(long contentDuration) { bundle.putLong(KEY_CONTENT_DURATION, contentDuration); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setContentPosition(long contentPosition) { bundle.putLong(KEY_CONTENT_POSITION, contentPosition); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setContentBufferedPosition(long contentBufferedPosition) { bundle.putLong(KEY_CONTENT_BUFFERED_POSITION, contentBufferedPosition); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setIsPlayingAd(boolean isPlayingAd) { bundle.putBoolean(KEY_IS_PLAYING_AD, isPlayingAd); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentAdGroupIndex(int currentAdGroupIndex) { bundle.putInt(KEY_CURRENT_AD_GROUP_INDEX, currentAdGroupIndex); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentAdIndexInAdGroup(int currentAdIndexInAdGroup) { bundle.putInt(KEY_CURRENT_AD_INDEX_IN_AD_GROUP, currentAdIndexInAdGroup); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setPlaybackParameters(PlaybackParameters playbackParameters) { bundle.putBundle(KEY_PLAYBACK_PARAMETERS, playbackParameters.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setAudioAttributes(AudioAttributes audioAttributes) { bundle.putBundle(KEY_AUDIO_ATTRIBUTES, audioAttributes.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setTimeline(Timeline timeline) { bundle.putBundle(KEY_TIMELINE, timeline.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentMediaItemIndex(int index) { bundle.putInt(KEY_CURRENT_MEDIA_ITEM_INDEX, index); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentPeriodIndex(int index) { bundle.putInt(KEY_CURRENT_PERIOD_INDEX, index); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setPlaylistMetadata(MediaMetadata playlistMetadata) { bundle.putBundle(KEY_PLAYLIST_METADATA, playlistMetadata.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setVideoSize(VideoSize videoSize) { bundle.putBundle(KEY_VIDEO_SIZE, videoSize.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setVolume(float volume) { bundle.putFloat(KEY_VOLUME, volume); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentCues(CueGroup cueGroup) { bundle.putBundle(KEY_CURRENT_CUE_GROUP, cueGroup.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setDeviceInfo(DeviceInfo deviceInfo) { bundle.putBundle(KEY_DEVICE_INFO, deviceInfo.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setDeviceVolume(int volume) { bundle.putInt(KEY_DEVICE_VOLUME, volume); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setDeviceMuted(boolean muted) { bundle.putBoolean(KEY_DEVICE_MUTED, muted); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setPlayWhenReady(boolean playWhenReady) { bundle.putBoolean(KEY_PLAY_WHEN_READY, playWhenReady); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setPlaybackSuppressionReason( @Player.PlaybackSuppressionReason int playbackSuppressionReason) { bundle.putInt(KEY_PLAYBACK_SUPPRESSION_REASON, playbackSuppressionReason); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setPlaybackState(@Player.State int state) { bundle.putInt(KEY_PLAYBACK_STATE, state); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setIsPlaying(boolean isPlaying) { bundle.putBoolean(KEY_IS_PLAYING, isPlaying); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setIsLoading(boolean isLoading) { bundle.putBoolean(KEY_IS_LOADING, isLoading); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setRepeatMode(@Player.RepeatMode int repeatMode) { bundle.putInt(KEY_REPEAT_MODE, repeatMode); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setShuffleModeEnabled(boolean shuffleModeEnabled) { bundle.putBoolean(KEY_SHUFFLE_MODE_ENABLED, shuffleModeEnabled); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setSeekBackIncrement(long seekBackIncrementMs) { bundle.putLong(KEY_SEEK_BACK_INCREMENT_MS, seekBackIncrementMs); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setSeekForwardIncrement(long seekForwardIncrementMs) { bundle.putLong(KEY_SEEK_FORWARD_INCREMENT_MS, seekForwardIncrementMs); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setMediaMetadata(MediaMetadata mediaMetadata) { bundle.putBundle(KEY_MEDIA_METADATA, mediaMetadata.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setMaxSeekToPreviousPositionMs( long maxSeekToPreviousPositionMs) { bundle.putLong(KEY_MAX_SEEK_TO_PREVIOUS_POSITION_MS, maxSeekToPreviousPositionMs); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setTrackSelectionParameters( TrackSelectionParameters parameters) { bundle.putBundle(KEY_TRACK_SELECTION_PARAMETERS, parameters.toBundle()); return this; } + @CanIgnoreReturnValue public MockPlayerConfigBuilder setCurrentTracks(Tracks tracks) { bundle.putBundle(KEY_CURRENT_TRACKS, tracks.toBundle()); return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ActionSchedule.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ActionSchedule.java index fb4402d60d6..66611b6ac12 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ActionSchedule.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ActionSchedule.java @@ -57,6 +57,7 @@ import androidx.media3.test.utils.Action.WaitForPlaybackState; import androidx.media3.test.utils.Action.WaitForPositionDiscontinuity; import androidx.media3.test.utils.Action.WaitForTimelineChanged; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Schedules a sequence of {@link Action}s for execution during a test. */ @@ -129,6 +130,7 @@ public Builder(String tag) { * @param delayMs The delay in milliseconds. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder delay(long delayMs) { currentDelayMs += delayMs; return this; @@ -140,6 +142,7 @@ public Builder delay(long delayMs) { * @param action The action to schedule. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder apply(Action action) { return appendActionNode(new ActionNode(action, currentDelayMs)); } @@ -151,6 +154,7 @@ public Builder apply(Action action) { * @param intervalMs The interval between each repetition in milliseconds. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder repeat(Action action, long intervalMs) { return appendActionNode(new ActionNode(action, currentDelayMs, intervalMs)); } @@ -161,6 +165,7 @@ public Builder repeat(Action action, long intervalMs) { * @param positionMs The seek position. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder seek(long positionMs) { return apply(new Seek(tag, positionMs)); } @@ -172,6 +177,7 @@ public Builder seek(long positionMs) { * @param positionMs The seek position. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder seek(int mediaItemIndex, long positionMs) { return apply( new Seek(tag, mediaItemIndex, positionMs, /* catchIllegalSeekException= */ false)); @@ -185,6 +191,7 @@ public Builder seek(int mediaItemIndex, long positionMs) { * @param catchIllegalSeekException Whether an illegal seek position should be caught or not. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder seek(int mediaItemIndex, long positionMs, boolean catchIllegalSeekException) { return apply(new Seek(tag, mediaItemIndex, positionMs, catchIllegalSeekException)); } @@ -208,6 +215,7 @@ public Builder seekAndWait(long positionMs) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForPendingPlayerCommands() { return apply(new WaitForPendingPlayerCommands(tag)); } @@ -219,6 +227,7 @@ public Builder waitForPendingPlayerCommands() { * @return The builder, for convenience. * @see Player#setPlaybackParameters(PlaybackParameters) */ + @CanIgnoreReturnValue public Builder setPlaybackParameters(PlaybackParameters playbackParameters) { return apply(new SetPlaybackParameters(tag, playbackParameters)); } @@ -228,6 +237,7 @@ public Builder setPlaybackParameters(PlaybackParameters playbackParameters) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder stop() { return apply(new Stop(tag)); } @@ -238,6 +248,7 @@ public Builder stop() { * @param reset Whether the player should be reset. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder stop(boolean reset) { return apply(new Stop(tag, reset)); } @@ -247,6 +258,7 @@ public Builder stop(boolean reset) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder play() { return apply(new SetPlayWhenReady(tag, true)); } @@ -259,6 +271,7 @@ public Builder play() { * @param positionMs The position in that media item at which the player should be paused again. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder playUntilPosition(int mediaItemIndex, long positionMs) { return apply(new PlayUntilPosition(tag, mediaItemIndex, positionMs)); } @@ -270,6 +283,7 @@ public Builder playUntilPosition(int mediaItemIndex, long positionMs) { * @param mediaItemIndex The media item index at which the player should be paused again. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder playUntilStartOfMediaItem(int mediaItemIndex) { return apply(new PlayUntilPosition(tag, mediaItemIndex, /* positionMs= */ 0)); } @@ -279,6 +293,7 @@ public Builder playUntilStartOfMediaItem(int mediaItemIndex) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder pause() { return apply(new SetPlayWhenReady(tag, false)); } @@ -288,6 +303,7 @@ public Builder pause() { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder enableRenderer(int index) { return apply(new SetRendererDisabled(tag, index, false)); } @@ -297,6 +313,7 @@ public Builder enableRenderer(int index) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder disableRenderer(int index) { return apply(new SetRendererDisabled(tag, index, true)); } @@ -306,6 +323,7 @@ public Builder disableRenderer(int index) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder clearVideoSurface() { return apply(new ClearVideoSurface(tag)); } @@ -315,6 +333,7 @@ public Builder clearVideoSurface() { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setVideoSurface() { return apply(new SetVideoSurface(tag)); } @@ -324,6 +343,7 @@ public Builder setVideoSurface() { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handleAudioFocus) { return apply(new SetAudioAttributes(tag, audioAttributes, handleAudioFocus)); } @@ -339,6 +359,7 @@ public Builder setAudioAttributes(AudioAttributes audioAttributes, boolean handl * parameter is ignored. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setMediaSources(int mediaItemIndex, long positionMs, MediaSource... sources) { return apply(new Action.SetMediaItems(tag, mediaItemIndex, positionMs, sources)); } @@ -349,6 +370,7 @@ public Builder setMediaSources(int mediaItemIndex, long positionMs, MediaSource. * @param resetPosition Whether the playback position should be reset. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setMediaSources(boolean resetPosition, MediaSource... sources) { return apply(new Action.SetMediaItemsResetPosition(tag, resetPosition, sources)); } @@ -359,6 +381,7 @@ public Builder setMediaSources(boolean resetPosition, MediaSource... sources) { * @param mediaSources The media sources to add. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setMediaSources(MediaSource... mediaSources) { return apply( new Action.SetMediaItems( @@ -373,6 +396,7 @@ public Builder setMediaSources(MediaSource... mediaSources) { * @param mediaSources The media sources to add. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder addMediaSources(MediaSource... mediaSources) { return apply(new Action.AddMediaItems(tag, mediaSources)); } @@ -384,6 +408,7 @@ public Builder addMediaSources(MediaSource... mediaSources) { * @param newIndex The index after the item has been moved. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder moveMediaItem(int currentIndex, int newIndex) { return apply(new Action.MoveMediaItem(tag, currentIndex, newIndex)); } @@ -394,6 +419,7 @@ public Builder moveMediaItem(int currentIndex, int newIndex) { * @param index The index of the media item to be removed. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder removeMediaItem(int index) { return apply(new Action.RemoveMediaItem(tag, index)); } @@ -405,6 +431,7 @@ public Builder removeMediaItem(int index) { * @param toIndex The end of the range of media items to be removed (exclusive). * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder removeMediaItems(int fromIndex, int toIndex) { return apply(new Action.RemoveMediaItems(tag, fromIndex, toIndex)); } @@ -414,6 +441,7 @@ public Builder removeMediaItems(int fromIndex, int toIndex) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder prepare() { return apply(new Action.Prepare(tag)); } @@ -423,6 +451,7 @@ public Builder prepare() { * * @return The builder. for convenience, */ + @CanIgnoreReturnValue public Builder clearMediaItems() { return apply(new Action.ClearMediaItems(tag)); } @@ -432,6 +461,7 @@ public Builder clearMediaItems() { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setRepeatMode(@Player.RepeatMode int repeatMode) { return apply(new SetRepeatMode(tag, repeatMode)); } @@ -442,6 +472,7 @@ public Builder setRepeatMode(@Player.RepeatMode int repeatMode) { * @param shuffleOrder The shuffle order. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setShuffleOrder(ShuffleOrder shuffleOrder) { return apply(new SetShuffleOrder(tag, shuffleOrder)); } @@ -451,6 +482,7 @@ public Builder setShuffleOrder(ShuffleOrder shuffleOrder) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder setShuffleModeEnabled(boolean shuffleModeEnabled) { return apply(new SetShuffleModeEnabled(tag, shuffleModeEnabled)); } @@ -462,6 +494,7 @@ public Builder setShuffleModeEnabled(boolean shuffleModeEnabled) { * in milliseconds. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder sendMessage(Target target, long positionMs) { return apply(new SendMessages(tag, target, positionMs)); } @@ -474,6 +507,7 @@ public Builder sendMessage(Target target, long positionMs) { * @param positionMs The position at which the message should be sent, in milliseconds. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder sendMessage(Target target, int mediaItemIndex, long positionMs) { return apply( new SendMessages( @@ -489,6 +523,7 @@ public Builder sendMessage(Target target, int mediaItemIndex, long positionMs) { * @param deleteAfterDelivery Whether the message will be deleted after delivery. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder sendMessage( Target target, int mediaItemIndex, long positionMs, boolean deleteAfterDelivery) { return apply(new SendMessages(tag, target, mediaItemIndex, positionMs, deleteAfterDelivery)); @@ -499,6 +534,7 @@ public Builder sendMessage( * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForTimelineChanged() { return apply(new WaitForTimelineChanged(tag)); } @@ -510,6 +546,7 @@ public Builder waitForTimelineChanged() { * @param expectedReason The expected reason of the timeline change. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForTimelineChanged( Timeline expectedTimeline, @Player.TimelineChangeReason int expectedReason) { return apply(new WaitForTimelineChanged(tag, expectedTimeline, expectedReason)); @@ -520,6 +557,7 @@ public Builder waitForTimelineChanged( * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForPositionDiscontinuity() { return apply(new WaitForPositionDiscontinuity(tag)); } @@ -530,6 +568,7 @@ public Builder waitForPositionDiscontinuity() { * @param targetPlayWhenReady The target playWhenReady value. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForPlayWhenReady(boolean targetPlayWhenReady) { return apply(new WaitForPlayWhenReady(tag, targetPlayWhenReady)); } @@ -540,6 +579,7 @@ public Builder waitForPlayWhenReady(boolean targetPlayWhenReady) { * @param targetPlaybackState The target playback state. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForPlaybackState(@Player.State int targetPlaybackState) { return apply(new WaitForPlaybackState(tag, targetPlaybackState)); } @@ -550,6 +590,7 @@ public Builder waitForPlaybackState(@Player.State int targetPlaybackState) { * @param targetIsLoading The target value of {@code player.isLoading()}. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForIsLoading(boolean targetIsLoading) { return apply(new WaitForIsLoading(tag, targetIsLoading)); } @@ -560,6 +601,7 @@ public Builder waitForIsLoading(boolean targetIsLoading) { * @param playerTarget The target to observe. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder waitForMessage(PlayerTarget playerTarget) { return apply(new WaitForMessage(tag, playerTarget)); } @@ -569,6 +611,7 @@ public Builder waitForMessage(PlayerTarget playerTarget) { * * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder executeRunnable(Runnable runnable) { return apply(new ExecuteRunnable(tag, runnable)); } @@ -579,6 +622,7 @@ public Builder executeRunnable(Runnable runnable) { * @param exception The exception to throw. * @return The builder, for convenience. */ + @CanIgnoreReturnValue public Builder throwPlaybackException(ExoPlaybackException exception) { return apply(new ThrowPlaybackException(tag, exception)); } @@ -590,6 +634,7 @@ public ActionSchedule build() { return new ActionSchedule(rootNode, callbackAction); } + @CanIgnoreReturnValue private Builder appendActionNode(ActionNode actionNode) { previousNode.setNext(actionNode); previousNode = actionNode; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/CacheAsserts.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/CacheAsserts.java index b7bf6bcc470..3f20d466ed2 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/CacheAsserts.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/CacheAsserts.java @@ -30,6 +30,7 @@ import androidx.media3.datasource.cache.Cache; import androidx.media3.datasource.cache.CacheDataSource; import androidx.media3.test.utils.FakeDataSet.FakeData; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; @@ -52,6 +53,7 @@ public RequestSet(FakeDataSet fakeDataSet) { } } + @CanIgnoreReturnValue public RequestSet subset(String... uriStrings) { dataSpecs = new DataSpec[uriStrings.length]; for (int i = 0; i < dataSpecs.length; i++) { @@ -60,6 +62,7 @@ public RequestSet subset(String... uriStrings) { return this; } + @CanIgnoreReturnValue public RequestSet subset(Uri... uris) { dataSpecs = new DataSpec[uris.length]; for (int i = 0; i < dataSpecs.length; i++) { @@ -68,6 +71,7 @@ public RequestSet subset(Uri... uris) { return this; } + @CanIgnoreReturnValue public RequestSet subset(DataSpec... dataSpecs) { this.dataSpecs = dataSpecs; return this; @@ -85,6 +89,7 @@ public DataSpec getDataSpec(int i) { return dataSpecs[i]; } + @CanIgnoreReturnValue public RequestSet useBoundedDataSpecFor(String uriString) { FakeData data = Assertions.checkStateNotNull(fakeDataSet.getData(uriString)); for (int i = 0; i < dataSpecs.length; i++) { diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DataSourceContractTest.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DataSourceContractTest.java index a7e50c97e23..74fa27a0f32 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DataSourceContractTest.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DataSourceContractTest.java @@ -43,6 +43,7 @@ import androidx.media3.datasource.TransferListener; import com.google.common.base.Ascii; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -664,17 +665,20 @@ public static final class Builder { /** * Sets a human-readable name for this resource which will be shown in test failure messages. */ + @CanIgnoreReturnValue public Builder setName(String name) { this.name = name; return this; } /** Sets the URI where this resource is located. */ + @CanIgnoreReturnValue public Builder setUri(String uri) { return setUri(Uri.parse(uri)); } /** Sets the URI where this resource is located. */ + @CanIgnoreReturnValue public Builder setUri(Uri uri) { this.uri = uri; return this; @@ -685,6 +689,7 @@ public Builder setUri(Uri uri) { * *

      Must be at least 5 bytes. */ + @CanIgnoreReturnValue public Builder setExpectedBytes(byte[] expectedBytes) { checkArgument(expectedBytes.length >= 5); this.expectedBytes = expectedBytes; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java index b330c947864..9230f7e4c97 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java @@ -23,6 +23,7 @@ import androidx.media3.exoplayer.offline.Download; import androidx.media3.exoplayer.offline.DownloadProgress; import androidx.media3.exoplayer.offline.DownloadRequest; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -111,6 +112,7 @@ private DownloadBuilder( /** * @see DownloadRequest#uri */ + @CanIgnoreReturnValue public DownloadBuilder setUri(String uri) { this.uri = Uri.parse(uri); return this; @@ -119,6 +121,7 @@ public DownloadBuilder setUri(String uri) { /** * @see DownloadRequest#uri */ + @CanIgnoreReturnValue public DownloadBuilder setUri(Uri uri) { this.uri = uri; return this; @@ -127,6 +130,7 @@ public DownloadBuilder setUri(Uri uri) { /** * @see DownloadRequest#mimeType */ + @CanIgnoreReturnValue public DownloadBuilder setMimeType(String mimeType) { this.mimeType = mimeType; return this; @@ -135,6 +139,7 @@ public DownloadBuilder setMimeType(String mimeType) { /** * @see DownloadRequest#keySetId */ + @CanIgnoreReturnValue public DownloadBuilder setKeySetId(byte[] keySetId) { this.keySetId = keySetId; return this; @@ -143,6 +148,7 @@ public DownloadBuilder setKeySetId(byte[] keySetId) { /** * @see DownloadRequest#customCacheKey */ + @CanIgnoreReturnValue public DownloadBuilder setCacheKey(@Nullable String cacheKey) { this.cacheKey = cacheKey; return this; @@ -151,6 +157,7 @@ public DownloadBuilder setCacheKey(@Nullable String cacheKey) { /** * @see Download#state */ + @CanIgnoreReturnValue public DownloadBuilder setState(@Download.State int state) { this.state = state; return this; @@ -159,6 +166,7 @@ public DownloadBuilder setState(@Download.State int state) { /** * @see DownloadProgress#percentDownloaded */ + @CanIgnoreReturnValue public DownloadBuilder setPercentDownloaded(float percentDownloaded) { progress.percentDownloaded = percentDownloaded; return this; @@ -167,6 +175,7 @@ public DownloadBuilder setPercentDownloaded(float percentDownloaded) { /** * @see DownloadProgress#bytesDownloaded */ + @CanIgnoreReturnValue public DownloadBuilder setBytesDownloaded(long bytesDownloaded) { progress.bytesDownloaded = bytesDownloaded; return this; @@ -175,6 +184,7 @@ public DownloadBuilder setBytesDownloaded(long bytesDownloaded) { /** * @see Download#contentLength */ + @CanIgnoreReturnValue public DownloadBuilder setContentLength(long contentLength) { this.contentLength = contentLength; return this; @@ -183,6 +193,7 @@ public DownloadBuilder setContentLength(long contentLength) { /** * @see Download#failureReason */ + @CanIgnoreReturnValue public DownloadBuilder setFailureReason(int failureReason) { this.failureReason = failureReason; return this; @@ -191,6 +202,7 @@ public DownloadBuilder setFailureReason(int failureReason) { /** * @see Download#stopReason */ + @CanIgnoreReturnValue public DownloadBuilder setStopReason(int stopReason) { this.stopReason = stopReason; return this; @@ -199,6 +211,7 @@ public DownloadBuilder setStopReason(int stopReason) { /** * @see Download#startTimeMs */ + @CanIgnoreReturnValue public DownloadBuilder setStartTimeMs(long startTimeMs) { this.startTimeMs = startTimeMs; return this; @@ -207,6 +220,7 @@ public DownloadBuilder setStartTimeMs(long startTimeMs) { /** * @see Download#updateTimeMs */ + @CanIgnoreReturnValue public DownloadBuilder setUpdateTimeMs(long updateTimeMs) { this.updateTimeMs = updateTimeMs; return this; @@ -215,6 +229,7 @@ public DownloadBuilder setUpdateTimeMs(long updateTimeMs) { /** * @see DownloadRequest#streamKeys */ + @CanIgnoreReturnValue public DownloadBuilder setStreamKeys(StreamKey... streamKeys) { this.streamKeys = Arrays.asList(streamKeys); return this; @@ -223,6 +238,7 @@ public DownloadBuilder setStreamKeys(StreamKey... streamKeys) { /** * @see DownloadRequest#data */ + @CanIgnoreReturnValue public DownloadBuilder setCustomMetadata(byte[] customMetadata) { this.customMetadata = customMetadata; return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/Dumper.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/Dumper.java index e919596a3b2..0e6b9bf8c92 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/Dumper.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/Dumper.java @@ -18,6 +18,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.Arrays; import java.util.Locale; @@ -44,15 +45,18 @@ public Dumper() { sb = new StringBuilder(); } + @CanIgnoreReturnValue public Dumper add(String field, @Nullable Object value) { return addString(field + " = " + value + '\n'); } + @CanIgnoreReturnValue public Dumper add(Dumpable object) { object.dump(this); return this; } + @CanIgnoreReturnValue public Dumper add(String field, @Nullable byte[] value) { String string = String.format( @@ -64,16 +68,19 @@ public Dumper add(String field, @Nullable byte[] value) { return addString(string); } + @CanIgnoreReturnValue public Dumper addTime(String field, long time) { return add(field, time == C.TIME_UNSET ? "UNSET TIME" : time); } + @CanIgnoreReturnValue public Dumper startBlock(String name) { addString(name + ":\n"); indent += INDENT_SIZE_IN_SPACES; return this; } + @CanIgnoreReturnValue public Dumper endBlock() { indent -= INDENT_SIZE_IN_SPACES; return this; @@ -84,6 +91,7 @@ public String toString() { return sb.toString(); } + @CanIgnoreReturnValue private Dumper addString(String string) { for (int i = 0; i < indent; i++) { sb.append(' '); diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExoPlayerTestRunner.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExoPlayerTestRunner.java index 0cb7b4d9353..fd7844e210c 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExoPlayerTestRunner.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExoPlayerTestRunner.java @@ -44,6 +44,7 @@ import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; import androidx.media3.exoplayer.upstream.BandwidthMeter; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -111,6 +112,7 @@ public Builder(Context context) { * runner. * @return This builder. */ + @CanIgnoreReturnValue public Builder setTimeline(Timeline timeline) { assertThat(mediaSources).isEmpty(); assertFalse(skipSettingMediaSources); @@ -126,6 +128,7 @@ public Builder setTimeline(Timeline timeline) { * @param manifest A manifest to be used by a {@link FakeMediaSource} in the test runner. * @return This builder. */ + @CanIgnoreReturnValue public Builder setManifest(Object manifest) { assertThat(mediaSources).isEmpty(); assertFalse(skipSettingMediaSources); @@ -140,6 +143,7 @@ public Builder setManifest(Object manifest) { * @param positionMs The position in milliseconds to seek to. * @return This builder. */ + @CanIgnoreReturnValue public Builder initialSeek(int mediaItemIndex, long positionMs) { this.initialMediaItemIndex = mediaItemIndex; this.initialPositionMs = positionMs; @@ -156,6 +160,7 @@ public Builder initialSeek(int mediaItemIndex, long positionMs) { * @param mediaSources The {@link MediaSource}s to be used by the test runner. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMediaSources(MediaSource... mediaSources) { assertThat(timeline).isNull(); assertThat(manifest).isNull(); @@ -173,6 +178,7 @@ public Builder setMediaSources(MediaSource... mediaSources) { * @param supportedFormats A list of supported {@link Format}s. * @return This builder. */ + @CanIgnoreReturnValue public Builder setSupportedFormats(Format... supportedFormats) { this.supportedFormats = supportedFormats; return this; @@ -185,6 +191,7 @@ public Builder setSupportedFormats(Format... supportedFormats) { * * @return This builder. */ + @CanIgnoreReturnValue public Builder skipSettingMediaSources() { assertThat(timeline).isNull(); assertThat(manifest).isNull(); @@ -197,6 +204,7 @@ public Builder skipSettingMediaSources() { * @see TestExoPlayerBuilder#setUseLazyPreparation(boolean) * @return This builder. */ + @CanIgnoreReturnValue public Builder setUseLazyPreparation(boolean useLazyPreparation) { testPlayerBuilder.setUseLazyPreparation(useLazyPreparation); return this; @@ -208,6 +216,7 @@ public Builder setUseLazyPreparation(boolean useLazyPreparation) { * @param pauseAtEndOfMediaItems Whether to pause at the end of media items. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { this.pauseAtEndOfMediaItems = pauseAtEndOfMediaItems; return this; @@ -217,6 +226,7 @@ public Builder setPauseAtEndOfMediaItems(boolean pauseAtEndOfMediaItems) { * @see TestExoPlayerBuilder#setTrackSelector(DefaultTrackSelector) * @return This builder. */ + @CanIgnoreReturnValue public Builder setTrackSelector(DefaultTrackSelector trackSelector) { testPlayerBuilder.setTrackSelector(trackSelector); return this; @@ -226,6 +236,7 @@ public Builder setTrackSelector(DefaultTrackSelector trackSelector) { * @see TestExoPlayerBuilder#setLoadControl(LoadControl) * @return This builder. */ + @CanIgnoreReturnValue public Builder setLoadControl(LoadControl loadControl) { testPlayerBuilder.setLoadControl(loadControl); return this; @@ -235,6 +246,7 @@ public Builder setLoadControl(LoadControl loadControl) { * @see TestExoPlayerBuilder#setBandwidthMeter(BandwidthMeter) * @return This builder. */ + @CanIgnoreReturnValue public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { this.testPlayerBuilder.setBandwidthMeter(bandwidthMeter); return this; @@ -244,6 +256,7 @@ public Builder setBandwidthMeter(BandwidthMeter bandwidthMeter) { * @see TestExoPlayerBuilder#setRenderers(Renderer...) * @return This builder. */ + @CanIgnoreReturnValue public Builder setRenderers(Renderer... renderers) { testPlayerBuilder.setRenderers(renderers); return this; @@ -253,6 +266,7 @@ public Builder setRenderers(Renderer... renderers) { * @see TestExoPlayerBuilder#setRenderersFactory(RenderersFactory) * @return This builder. */ + @CanIgnoreReturnValue public Builder setRenderersFactory(RenderersFactory renderersFactory) { testPlayerBuilder.setRenderersFactory(renderersFactory); return this; @@ -262,6 +276,7 @@ public Builder setRenderersFactory(RenderersFactory renderersFactory) { * @see TestExoPlayerBuilder#setClock(Clock) * @return This builder. */ + @CanIgnoreReturnValue public Builder setClock(Clock clock) { testPlayerBuilder.setClock(clock); return this; @@ -274,6 +289,7 @@ public Builder setClock(Clock clock) { * @param actionSchedule An {@link ActionSchedule} to be used by the test runner. * @return This builder. */ + @CanIgnoreReturnValue public Builder setActionSchedule(ActionSchedule actionSchedule) { this.actionSchedule = actionSchedule; return this; @@ -285,6 +301,7 @@ public Builder setActionSchedule(ActionSchedule actionSchedule) { * @param surface The {@link Surface} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public Builder setVideoSurface(Surface surface) { this.surface = surface; return this; @@ -297,6 +314,7 @@ public Builder setVideoSurface(Surface surface) { * to player events. * @return This builder. */ + @CanIgnoreReturnValue public Builder setPlayerListener(Player.Listener playerListener) { this.playerListener = playerListener; return this; @@ -308,6 +326,7 @@ public Builder setPlayerListener(Player.Listener playerListener) { * @param analyticsListener An {@link AnalyticsListener} to be registered. * @return This builder. */ + @CanIgnoreReturnValue public Builder setAnalyticsListener(AnalyticsListener analyticsListener) { this.analyticsListener = analyticsListener; return this; @@ -322,6 +341,7 @@ public Builder setAnalyticsListener(AnalyticsListener analyticsListener) { * or idle state. * @return This builder. */ + @CanIgnoreReturnValue public Builder setExpectedPlayerEndedCount(int expectedPlayerEndedCount) { this.expectedPlayerEndedCount = expectedPlayerEndedCount; return this; @@ -431,6 +451,7 @@ private ExoPlayerTestRunner( * * @return This test runner. */ + @CanIgnoreReturnValue public ExoPlayerTestRunner start() { return start(/* doPrepare= */ true); } @@ -442,6 +463,7 @@ public ExoPlayerTestRunner start() { * @param doPrepare Whether the player should be prepared. * @return This test runner. */ + @CanIgnoreReturnValue public ExoPlayerTestRunner start(boolean doPrepare) { handler.post( () -> { @@ -496,6 +518,7 @@ public ExoPlayerTestRunner start(boolean doPrepare) { * @return This test runner. * @throws Exception If any exception occurred during playback, release, or due to a timeout. */ + @CanIgnoreReturnValue public ExoPlayerTestRunner blockUntilEnded(long timeoutMs) throws Exception { clock.onThreadBlocked(); if (!endedCountDownLatch.await(timeoutMs, MILLISECONDS)) { @@ -518,6 +541,7 @@ public ExoPlayerTestRunner blockUntilEnded(long timeoutMs) throws Exception { * @throws TimeoutException If the action schedule did not finish within the specified timeout. * @throws InterruptedException If the test thread gets interrupted while waiting. */ + @CanIgnoreReturnValue public ExoPlayerTestRunner blockUntilActionScheduleFinished(long timeoutMs) throws TimeoutException, InterruptedException { clock.onThreadBlocked(); diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java index 78ba466ed8d..3aeb6965da3 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java @@ -33,6 +33,7 @@ import androidx.test.core.app.ApplicationProvider; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -147,11 +148,13 @@ public static class Builder { private @MonotonicNonNull String dumpFilesPrefix; private boolean deduplicateConsecutiveFormats; + @CanIgnoreReturnValue public Builder setDumpFilesPrefix(String dumpFilesPrefix) { this.dumpFilesPrefix = dumpFilesPrefix; return this; } + @CanIgnoreReturnValue public Builder setDeduplicateConsecutiveFormats(boolean deduplicateConsecutiveFormats) { this.deduplicateConsecutiveFormats = deduplicateConsecutiveFormats; return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSet.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSet.java index a5253e0ca23..7d9e156d343 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSet.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSet.java @@ -21,6 +21,7 @@ import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.datasource.DataSpec; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.ArrayList; @@ -154,12 +155,14 @@ public FakeDataSet endData() { * the {@link DataSpec#length} of the argument, including the case where the length is equal to * {@link C#LENGTH_UNSET}. */ + @CanIgnoreReturnValue public FakeData setSimulateUnknownLength(boolean simulateUnknownLength) { this.simulateUnknownLength = simulateUnknownLength; return this; } /** Appends to the underlying data. */ + @CanIgnoreReturnValue public FakeData appendReadData(byte[] data) { Assertions.checkState(data.length > 0); segments.add(new Segment(data, getLastSegment())); @@ -170,6 +173,7 @@ public FakeData appendReadData(byte[] data) { * Appends a data segment of the specified length. No actual data is available and the {@link * FakeDataSource} will perform no copy operations when this data is read. */ + @CanIgnoreReturnValue public FakeData appendReadData(int length) { Assertions.checkState(length > 0); segments.add(new Segment(length, getLastSegment())); @@ -177,12 +181,14 @@ public FakeData appendReadData(int length) { } /** Appends an error in the underlying data. */ + @CanIgnoreReturnValue public FakeData appendReadError(IOException exception) { segments.add(new Segment(exception, getLastSegment())); return this; } /** Appends an action. */ + @CanIgnoreReturnValue public FakeData appendReadAction(Runnable action) { segments.add(new Segment(action, getLastSegment())); return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSource.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSource.java index bf02faac481..4c31ba93206 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSource.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeDataSource.java @@ -31,6 +31,7 @@ import androidx.media3.datasource.DataSpec; import androidx.media3.test.utils.FakeDataSet.FakeData; import androidx.media3.test.utils.FakeDataSet.FakeData.Segment; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.util.ArrayList; @@ -51,11 +52,13 @@ public Factory() { fakeDataSet = new FakeDataSet(); } + @CanIgnoreReturnValue public final Factory setFakeDataSet(FakeDataSet fakeDataSet) { this.fakeDataSet = fakeDataSet; return this; } + @CanIgnoreReturnValue public final Factory setIsNetwork(boolean isNetwork) { this.isNetwork = isNetwork; return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java index f7eb8d69781..600a6f95243 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java @@ -40,6 +40,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.primitives.Bytes; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -85,6 +86,7 @@ public Builder() { * *

      Defaults to true. */ + @CanIgnoreReturnValue public Builder setEnforceValidKeyResponses(boolean enforceValidKeyResponses) { this.enforceValidKeyResponses = enforceValidKeyResponses; return this; @@ -100,6 +102,7 @@ public Builder setEnforceValidKeyResponses(boolean enforceValidKeyResponses) { * *

      Defaults to 0 (i.e. device is already provisioned). */ + @CanIgnoreReturnValue public Builder setProvisionsRequired(int provisionsRequired) { this.provisionsRequired = provisionsRequired; return this; @@ -110,6 +113,7 @@ public Builder setProvisionsRequired(int provisionsRequired) { * {@link #getKeyRequest(byte[], List, int, HashMap)} instead of the default behaviour of * throwing from {@link #openSession()}. */ + @CanIgnoreReturnValue public Builder throwNotProvisionedExceptionFromGetKeyRequest() { this.throwNotProvisionedExceptionFromGetKeyRequest = true; return this; @@ -123,6 +127,7 @@ public Builder throwNotProvisionedExceptionFromGetKeyRequest() { * *

      Defaults to {@link Integer#MAX_VALUE}. */ + @CanIgnoreReturnValue public Builder setMaxConcurrentSessions(int maxConcurrentSessions) { this.maxConcurrentSessions = maxConcurrentSessions; return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExtractorInput.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExtractorInput.java index deec6c1c221..9ffb3116cc0 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExtractorInput.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExtractorInput.java @@ -23,6 +23,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.extractor.ExtractorInput; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.EOFException; import java.io.IOException; @@ -293,21 +294,25 @@ public Builder() { data = Util.EMPTY_BYTE_ARRAY; } + @CanIgnoreReturnValue public Builder setData(byte[] data) { this.data = data; return this; } + @CanIgnoreReturnValue public Builder setSimulateUnknownLength(boolean simulateUnknownLength) { this.simulateUnknownLength = simulateUnknownLength; return this; } + @CanIgnoreReturnValue public Builder setSimulatePartialReads(boolean simulatePartialReads) { this.simulatePartialReads = simulatePartialReads; return this; } + @CanIgnoreReturnValue public Builder setSimulateIOErrors(boolean simulateIOErrors) { this.simulateIOErrors = simulateIOErrors; return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestExoPlayerBuilder.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestExoPlayerBuilder.java index ef866067fc8..f5e02695bf9 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestExoPlayerBuilder.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/TestExoPlayerBuilder.java @@ -34,6 +34,7 @@ import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; import androidx.media3.exoplayer.upstream.BandwidthMeter; import androidx.media3.exoplayer.upstream.DefaultBandwidthMeter; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** A builder of {@link ExoPlayer} instances for testing. */ @@ -73,6 +74,7 @@ public TestExoPlayerBuilder(Context context) { * @param useLazyPreparation Whether to use lazy preparation. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setUseLazyPreparation(boolean useLazyPreparation) { this.useLazyPreparation = useLazyPreparation; return this; @@ -90,6 +92,7 @@ public boolean getUseLazyPreparation() { * @param trackSelector The {@link DefaultTrackSelector} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setTrackSelector(DefaultTrackSelector trackSelector) { Assertions.checkNotNull(trackSelector); this.trackSelector = trackSelector; @@ -108,6 +111,7 @@ public DefaultTrackSelector getTrackSelector() { * @param loadControl The {@link LoadControl} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setLoadControl(LoadControl loadControl) { this.loadControl = loadControl; return this; @@ -125,6 +129,7 @@ public LoadControl getLoadControl() { * @param bandwidthMeter The {@link BandwidthMeter} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setBandwidthMeter(BandwidthMeter bandwidthMeter) { Assertions.checkNotNull(bandwidthMeter); this.bandwidthMeter = bandwidthMeter; @@ -144,6 +149,7 @@ public BandwidthMeter getBandwidthMeter() { * @param renderers A list of {@link Renderer}s to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setRenderers(Renderer... renderers) { assertThat(renderersFactory).isNull(); this.renderers = renderers; @@ -169,6 +175,7 @@ public Renderer[] getRenderers() { * @param renderersFactory A {@link RenderersFactory} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setRenderersFactory(RenderersFactory renderersFactory) { assertThat(renderers).isNull(); this.renderersFactory = renderersFactory; @@ -191,6 +198,7 @@ public RenderersFactory getRenderersFactory() { * @param clock A {@link Clock} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setClock(Clock clock) { assertThat(clock).isNotNull(); this.clock = clock; @@ -208,6 +216,7 @@ public Clock getClock() { * @param looper The {@link Looper} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setLooper(Looper looper) { this.looper = looper; return this; @@ -237,6 +246,7 @@ public MediaSource.Factory getMediaSourceFactory() { * @param mediaSourceFactory The {@link MediaSource.Factory} to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { this.mediaSourceFactory = mediaSourceFactory; return this; @@ -248,6 +258,7 @@ public TestExoPlayerBuilder setMediaSourceFactory(MediaSource.Factory mediaSourc * @param seekBackIncrementMs The seek back increment to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setSeekBackIncrementMs(long seekBackIncrementMs) { this.seekBackIncrementMs = seekBackIncrementMs; return this; @@ -264,6 +275,7 @@ public long getSeekBackIncrementMs() { * @param seekForwardIncrementMs The seek forward increment to be used by the player. * @return This builder. */ + @CanIgnoreReturnValue public TestExoPlayerBuilder setSeekForwardIncrementMs(long seekForwardIncrementMs) { this.seekForwardIncrementMs = seekForwardIncrementMs; return this; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java index 7471b075fb0..5deda72c858 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java @@ -33,6 +33,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Maps; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -120,6 +121,7 @@ private Builder(Resource resource) { * * @return this builder, for convenience. */ + @CanIgnoreReturnValue public Builder setPath(String path) { this.path = path.startsWith("/") ? path : "/" + path; return this; @@ -130,6 +132,7 @@ public Builder setPath(String path) { * * @return this builder, for convenience. */ + @CanIgnoreReturnValue public Builder setData(byte[] data) { this.data = data; return this; @@ -140,6 +143,7 @@ public Builder setData(byte[] data) { * * @return this builder, for convenience. */ + @CanIgnoreReturnValue public Builder supportsRangeRequests(boolean supportsRangeRequests) { this.supportsRangeRequests = supportsRangeRequests; return this; @@ -153,6 +157,7 @@ public Builder supportsRangeRequests(boolean supportsRangeRequests) { * * @return this builder, for convenience. */ + @CanIgnoreReturnValue public Builder resolvesToUnknownLength(boolean resolvesToUnknownLength) { this.resolvesToUnknownLength = resolvesToUnknownLength; return this; @@ -164,6 +169,7 @@ public Builder resolvesToUnknownLength(boolean resolvesToUnknownLength) { * * @return this builder, for convenience. */ + @CanIgnoreReturnValue public Builder setGzipSupport(@GzipSupport int gzipSupport) { this.gzipSupport = gzipSupport; return this; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformationTestResult.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformationTestResult.java index c2bd3241e22..79d1148ac6e 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformationTestResult.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformationTestResult.java @@ -17,6 +17,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.json.JSONException; import org.json.JSONObject; @@ -49,6 +50,7 @@ public Builder(TransformationResult transformationResult) { * @param filePath The path. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setFilePath(@Nullable String filePath) { this.filePath = filePath; return this; @@ -63,6 +65,7 @@ public Builder setFilePath(@Nullable String filePath) { * @param elapsedTimeMs The time, in ms. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setElapsedTimeMs(long elapsedTimeMs) { this.elapsedTimeMs = elapsedTimeMs; return this; @@ -76,6 +79,7 @@ public Builder setElapsedTimeMs(long elapsedTimeMs) { * @param ssim The structural similarity index. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setSsim(double ssim) { this.ssim = ssim; return this; @@ -89,6 +93,7 @@ public Builder setSsim(double ssim) { * @param analysisException The {@link Exception} thrown during analysis. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setAnalysisException(@Nullable Exception analysisException) { this.analysisException = analysisException; return this; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java index 1742c4edc9d..e5a173c86bb 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java @@ -28,6 +28,7 @@ import androidx.media3.common.util.Util; import androidx.test.platform.app.InstrumentationRegistry; import com.google.common.base.Ascii; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.File; import java.io.IOException; import java.util.List; @@ -77,6 +78,7 @@ public Builder(Context context, Transformer transformer) { * @param timeoutSeconds The timeout. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setTimeoutSeconds(int timeoutSeconds) { this.timeoutSeconds = timeoutSeconds; return this; @@ -96,6 +98,7 @@ public Builder setTimeoutSeconds(int timeoutSeconds) { * @param maybeCalculateSsim Whether to try to calculate SSIM. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setMaybeCalculateSsim(boolean maybeCalculateSsim) { this.maybeCalculateSsim = maybeCalculateSsim; return this; @@ -115,6 +118,7 @@ public Builder setMaybeCalculateSsim(boolean maybeCalculateSsim) { * @param suppressAnalysisExceptions Whether to suppress analysis exceptions. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setSuppressAnalysisExceptions(boolean suppressAnalysisExceptions) { this.suppressAnalysisExceptions = suppressAnalysisExceptions; return this; @@ -130,6 +134,7 @@ public Builder setSuppressAnalysisExceptions(boolean suppressAnalysisExceptions) * @param inputValues A {@link Map} of values to be written to the transformation summary. * @return This {@link Builder}. */ + @CanIgnoreReturnValue public Builder setInputValues(@Nullable Map inputValues) { this.inputValues = inputValues; return this; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index a1df6d69343..e9ec7c0a276 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -38,6 +38,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.util.ArrayList; import java.util.List; import org.checkerframework.checker.nullness.qual.RequiresNonNull; @@ -71,6 +72,7 @@ public Builder(Context context) { * *

      The default value is {@link EncoderSelector#DEFAULT}. */ + @CanIgnoreReturnValue public Builder setVideoEncoderSelector(EncoderSelector encoderSelector) { this.encoderSelector = encoderSelector; return this; @@ -93,6 +95,7 @@ public Builder setVideoEncoderSelector(EncoderSelector encoderSelector) { * *

      The default value is {@link VideoEncoderSettings#DEFAULT}. */ + @CanIgnoreReturnValue public Builder setRequestedVideoEncoderSettings( VideoEncoderSettings requestedVideoEncoderSettings) { this.requestedVideoEncoderSettings = requestedVideoEncoderSettings; @@ -110,6 +113,7 @@ public Builder setRequestedVideoEncoderSettings( * *

      The default value is {@code true}. */ + @CanIgnoreReturnValue public Builder setEnableFallback(boolean enableFallback) { this.enableFallback = enableFallback; return this; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java index cf69a25896e..4f586630edd 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java @@ -24,6 +24,7 @@ import android.util.Size; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** @@ -61,6 +62,7 @@ public Builder() { * @param scaleY The multiplier by which the frame will scale vertically, along the y-axis. * @return This builder. */ + @CanIgnoreReturnValue public Builder setScale(float scaleX, float scaleY) { this.scaleX = scaleX; this.scaleY = scaleY; @@ -75,6 +77,7 @@ public Builder setScale(float scaleX, float scaleY) { * @param rotationDegrees The counterclockwise rotation, in degrees. * @return This builder. */ + @CanIgnoreReturnValue public Builder setRotationDegrees(float rotationDegrees) { this.rotationDegrees = rotationDegrees; return this; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java index 0d114287e17..bfd86e55353 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java @@ -25,6 +25,7 @@ import androidx.media3.common.util.Util; import androidx.media3.exoplayer.source.MediaSource; import androidx.media3.extractor.mp4.Mp4Extractor; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** A media transformation request. */ @UnstableApi @@ -96,6 +97,7 @@ private Builder(TransformationRequest transformationRequest) { * @param flattenForSlowMotion Whether to flatten for slow motion. * @return This builder. */ + @CanIgnoreReturnValue public Builder setFlattenForSlowMotion(boolean flattenForSlowMotion) { this.flattenForSlowMotion = flattenForSlowMotion; return this; @@ -112,6 +114,7 @@ public Builder setFlattenForSlowMotion(boolean flattenForSlowMotion) { * @param scaleY The multiplier by which the frame will scale vertically, along the y-axis. * @return This builder. */ + @CanIgnoreReturnValue public Builder setScale(float scaleX, float scaleY) { this.scaleX = scaleX; this.scaleY = scaleY; @@ -130,6 +133,7 @@ public Builder setScale(float scaleX, float scaleY) { * @param rotationDegrees The counterclockwise rotation, in degrees. * @return This builder. */ + @CanIgnoreReturnValue public Builder setRotationDegrees(float rotationDegrees) { this.rotationDegrees = rotationDegrees; return this; @@ -150,6 +154,7 @@ public Builder setRotationDegrees(float rotationDegrees) { * @param outputHeight The output height of the displayed video, in pixels. * @return This builder. */ + @CanIgnoreReturnValue public Builder setResolution(int outputHeight) { this.outputHeight = outputHeight; return this; @@ -173,6 +178,7 @@ public Builder setResolution(int outputHeight) { * @throws IllegalArgumentException If the {@code videoMimeType} is non-null but not a video * {@linkplain MimeTypes MIME type}. */ + @CanIgnoreReturnValue public Builder setVideoMimeType(@Nullable String videoMimeType) { checkArgument( videoMimeType == null || MimeTypes.isVideo(videoMimeType), @@ -198,6 +204,7 @@ public Builder setVideoMimeType(@Nullable String videoMimeType) { * @throws IllegalArgumentException If the {@code audioMimeType} is non-null but not an audio * {@linkplain MimeTypes MIME type}. */ + @CanIgnoreReturnValue public Builder setAudioMimeType(@Nullable String audioMimeType) { checkArgument( audioMimeType == null || MimeTypes.isAudio(audioMimeType), @@ -217,6 +224,7 @@ public Builder setAudioMimeType(@Nullable String audioMimeType) { * @param enableRequestSdrToneMapping Whether to request tone-mapping down to SDR. * @return This builder. */ + @CanIgnoreReturnValue public Builder setEnableRequestSdrToneMapping(boolean enableRequestSdrToneMapping) { this.enableRequestSdrToneMapping = enableRequestSdrToneMapping; return this; @@ -235,6 +243,7 @@ public Builder setEnableRequestSdrToneMapping(boolean enableRequestSdrToneMappin * dynamic range (HDR) signal. * @return This builder. */ + @CanIgnoreReturnValue public Builder experimental_setEnableHdrEditing(boolean enableHdrEditing) { this.enableHdrEditing = enableHdrEditing; return this; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationResult.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationResult.java index 7aba68e647b..c13b63edf67 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationResult.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationResult.java @@ -20,6 +20,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; /** Information about the result of a successful transformation. */ @UnstableApi @@ -45,6 +46,7 @@ public Builder() { * *

      Input must be positive or {@link C#TIME_UNSET}. */ + @CanIgnoreReturnValue public Builder setDurationMs(long durationMs) { checkArgument(durationMs > 0 || durationMs == C.TIME_UNSET); this.durationMs = durationMs; @@ -56,6 +58,7 @@ public Builder setDurationMs(long durationMs) { * *

      Input must be positive or {@link C#LENGTH_UNSET}. */ + @CanIgnoreReturnValue public Builder setFileSizeBytes(long fileSizeBytes) { checkArgument(fileSizeBytes > 0 || fileSizeBytes == C.LENGTH_UNSET); this.fileSizeBytes = fileSizeBytes; @@ -67,6 +70,7 @@ public Builder setFileSizeBytes(long fileSizeBytes) { * *

      Input must be positive or {@link C#RATE_UNSET_INT}. */ + @CanIgnoreReturnValue public Builder setAverageAudioBitrate(int averageAudioBitrate) { checkArgument(averageAudioBitrate > 0 || averageAudioBitrate == C.RATE_UNSET_INT); this.averageAudioBitrate = averageAudioBitrate; @@ -78,6 +82,7 @@ public Builder setAverageAudioBitrate(int averageAudioBitrate) { * *

      Input must be positive or {@link C#RATE_UNSET_INT}. */ + @CanIgnoreReturnValue public Builder setAverageVideoBitrate(int averageVideoBitrate) { checkArgument(averageVideoBitrate > 0 || averageVideoBitrate == C.RATE_UNSET_INT); this.averageVideoBitrate = averageVideoBitrate; @@ -89,6 +94,7 @@ public Builder setAverageVideoBitrate(int averageVideoBitrate) { * *

      Input must be positive or {@code 0}. */ + @CanIgnoreReturnValue public Builder setVideoFrameCount(int videoFrameCount) { checkArgument(videoFrameCount >= 0); this.videoFrameCount = videoFrameCount; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 8332cbc4c58..0016bf35919 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -59,6 +59,7 @@ import androidx.media3.extractor.DefaultExtractorsFactory; import androidx.media3.extractor.mp4.Mp4Extractor; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.annotation.Documented; @@ -157,6 +158,7 @@ private Builder(Transformer transformer) { * @param transformationRequest The {@link TransformationRequest}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setTransformationRequest(TransformationRequest transformationRequest) { this.transformationRequest = transformationRequest; return this; @@ -175,6 +177,7 @@ public Builder setTransformationRequest(TransformationRequest transformationRequ * @param effects The {@linkplain GlEffect effects} to apply to each video frame. * @return This builder. */ + @CanIgnoreReturnValue public Builder setVideoEffects(List effects) { this.videoEffects = ImmutableList.copyOf(effects); return this; @@ -189,6 +192,7 @@ public Builder setVideoEffects(List effects) { * @param mediaSourceFactory A {@link MediaSource.Factory}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { this.mediaSourceFactory = mediaSourceFactory; return this; @@ -205,6 +209,7 @@ public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { * @param removeAudio Whether to remove the audio. * @return This builder. */ + @CanIgnoreReturnValue public Builder setRemoveAudio(boolean removeAudio) { this.removeAudio = removeAudio; return this; @@ -221,6 +226,7 @@ public Builder setRemoveAudio(boolean removeAudio) { * @param removeVideo Whether to remove the video. * @return This builder. */ + @CanIgnoreReturnValue public Builder setRemoveVideo(boolean removeVideo) { this.removeVideo = removeVideo; return this; @@ -230,6 +236,7 @@ public Builder setRemoveVideo(boolean removeVideo) { * @deprecated Use {@link TransformationRequest.Builder#setFlattenForSlowMotion(boolean)} * instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setFlattenForSlowMotion(boolean flattenForSlowMotion) { transformationRequest = @@ -241,6 +248,7 @@ public Builder setFlattenForSlowMotion(boolean flattenForSlowMotion) { * @deprecated This feature will be removed in a following release and the MIME type of the * output will always be MP4. */ + @CanIgnoreReturnValue @Deprecated public Builder setOutputMimeType(String outputMimeType) { this.containerMimeType = outputMimeType; @@ -251,6 +259,7 @@ public Builder setOutputMimeType(String outputMimeType) { * @deprecated Use {@link #addListener(Listener)}, {@link #removeListener(Listener)} or {@link * #removeAllListeners()} instead. */ + @CanIgnoreReturnValue @Deprecated public Builder setListener(Transformer.Listener listener) { this.listeners.clear(); @@ -266,6 +275,7 @@ public Builder setListener(Transformer.Listener listener) { * @param listener A {@link Transformer.Listener}. * @return This builder. */ + @CanIgnoreReturnValue public Builder addListener(Transformer.Listener listener) { this.listeners.add(listener); return this; @@ -279,6 +289,7 @@ public Builder addListener(Transformer.Listener listener) { * @param listener A {@link Transformer.Listener}. * @return This builder. */ + @CanIgnoreReturnValue public Builder removeListener(Transformer.Listener listener) { this.listeners.remove(listener); return this; @@ -291,6 +302,7 @@ public Builder removeListener(Transformer.Listener listener) { * * @return This builder. */ + @CanIgnoreReturnValue public Builder removeAllListeners() { this.listeners.clear(); return this; @@ -306,6 +318,7 @@ public Builder removeAllListeners() { * @param looper A {@link Looper}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setLooper(Looper looper) { this.looper = looper; this.listeners = listeners.copy(looper, (listener, flags) -> {}); @@ -320,6 +333,7 @@ public Builder setLooper(Looper looper) { * @param encoderFactory The {@link Codec.EncoderFactory} instance. * @return This builder. */ + @CanIgnoreReturnValue public Builder setEncoderFactory(Codec.EncoderFactory encoderFactory) { this.encoderFactory = encoderFactory; return this; @@ -333,6 +347,7 @@ public Builder setEncoderFactory(Codec.EncoderFactory encoderFactory) { * @param decoderFactory The {@link Codec.DecoderFactory} instance. * @return This builder. */ + @CanIgnoreReturnValue public Builder setDecoderFactory(Codec.DecoderFactory decoderFactory) { this.decoderFactory = decoderFactory; return this; @@ -350,6 +365,7 @@ public Builder setDecoderFactory(Codec.DecoderFactory decoderFactory) { * @param debugViewProvider Provider for debug views. * @return This builder. */ + @CanIgnoreReturnValue public Builder setDebugViewProvider(DebugViewProvider debugViewProvider) { this.debugViewProvider = debugViewProvider; return this; @@ -363,6 +379,7 @@ public Builder setDebugViewProvider(DebugViewProvider debugViewProvider) { * @param clock The {@link Clock} instance. * @return This builder. */ + @CanIgnoreReturnValue @VisibleForTesting /* package */ Builder setClock(Clock clock) { this.clock = clock; @@ -378,6 +395,7 @@ public Builder setDebugViewProvider(DebugViewProvider debugViewProvider) { * @param muxerFactory A {@link Muxer.Factory}. * @return This builder. */ + @CanIgnoreReturnValue @VisibleForTesting /* package */ Builder setMuxerFactory(Muxer.Factory muxerFactory) { this.muxerFactory = muxerFactory; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java index d8c42784d1d..c41ee71a062 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoEncoderSettings.java @@ -30,6 +30,7 @@ import androidx.annotation.VisibleForTesting; import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -106,6 +107,7 @@ private Builder(VideoEncoderSettings videoEncoderSettings) { * @param bitrate The {@link VideoEncoderSettings#bitrate}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setBitrate(int bitrate) { this.bitrate = bitrate; return this; @@ -120,6 +122,7 @@ public Builder setBitrate(int bitrate) { * @param bitrateMode The {@link VideoEncoderSettings#bitrateMode}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setBitrateMode(@BitrateMode int bitrateMode) { checkArgument(bitrateMode == BITRATE_MODE_VBR || bitrateMode == BITRATE_MODE_CBR); this.bitrateMode = bitrateMode; @@ -140,6 +143,7 @@ public Builder setBitrateMode(@BitrateMode int bitrateMode) { * @param encodingLevel The {@link VideoEncoderSettings#level}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setEncodingProfileLevel(int encodingProfile, int encodingLevel) { this.profile = encodingProfile; this.level = encodingLevel; @@ -153,6 +157,7 @@ public Builder setEncodingProfileLevel(int encodingProfile, int encodingLevel) { * @param iFrameIntervalSeconds The {@link VideoEncoderSettings#iFrameIntervalSeconds}. * @return This builder. */ + @CanIgnoreReturnValue public Builder setiFrameIntervalSeconds(float iFrameIntervalSeconds) { this.iFrameIntervalSeconds = iFrameIntervalSeconds; return this; @@ -166,6 +171,7 @@ public Builder setiFrameIntervalSeconds(float iFrameIntervalSeconds) { * @param priority The {@link MediaFormat#KEY_PRIORITY priority}. * @return This builder. */ + @CanIgnoreReturnValue @VisibleForTesting public Builder setEncoderPerformanceParameters(int operatingRate, int priority) { this.operatingRate = operatingRate; @@ -182,6 +188,7 @@ public Builder setEncoderPerformanceParameters(int operatingRate, int priority) * *

      Can not be enabled alongside setting a custom bitrate with {@link #setBitrate(int)}. */ + @CanIgnoreReturnValue public Builder setEnableHighQualityTargeting(boolean enableHighQualityTargeting) { this.enableHighQualityTargeting = enableHighQualityTargeting; return this; From 9cf85c5574593e34541cbe772f2951427fe8ffc6 Mon Sep 17 00:00:00 2001 From: bachinger Date: Thu, 21 Jul 2022 15:34:46 +0000 Subject: [PATCH 093/422] Enable subtitle selection in session demo app Issue: androidx/media#102 #minor-release PiperOrigin-RevId: 462391045 (cherry picked from commit 7fa3f99304b3cfbfaf35acd2017eb71db68faafa) --- demos/session/src/main/assets/catalog.json | 19 +++++++++-- .../media3/demo/session/MediaItemTree.kt | 34 +++++++++++++++---- .../media3/demo/session/PlayerActivity.kt | 6 ++++ 3 files changed, 50 insertions(+), 9 deletions(-) diff --git a/demos/session/src/main/assets/catalog.json b/demos/session/src/main/assets/catalog.json index 9a20485f1c9..e336999b1d9 100644 --- a/demos/session/src/main/assets/catalog.json +++ b/demos/session/src/main/assets/catalog.json @@ -13,10 +13,25 @@ "id": "video_02", "title": "TTML Netflix Japanese examples (IMSC1.1)", "source": "https://storage.googleapis.com/exoplayer-test-media-1/gen-3/screens/dash-vod-single-segment/video-avc-baseline-480.mp4", - "subtitle_uri": "https://storage.googleapis.com/exoplayer-test-media-1/ttml/netflix_japanese_ttml.xml", "album": "Video with subtitle", - "artist": "Netflix", + "artist": "Subtitles", "genre": "Video", + "image": "https://cdn.pixabay.com/photo/2014/10/09/13/14/video-481821_960_720.png", + "subtitles": [ + { + "subtitle_uri": "https://storage.googleapis.com/exoplayer-test-media-1/ttml/netflix_japanese_ttml.xml", + "subtitle_mime_type": "application/ttml+xml", + "subtitle_lang": "ja" + } + ] + }, + { + "id": "video_03", + "title": "MPEG-4 Timed Text", + "album": "Video with subtitle", + "artist": "Subtitles", + "genre": "Video", + "source": "https://storage.googleapis.com/exoplayer-test-media-1/mp4/dizzy-with-tx3g.mp4", "image": "https://cdn.pixabay.com/photo/2014/10/09/13/14/video-481821_960_720.png" }, { diff --git a/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt b/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt index 01eebe92bac..44457e7ae92 100644 --- a/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt +++ b/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt @@ -18,6 +18,7 @@ package androidx.media3.demo.session import android.content.res.AssetManager import android.net.Uri import androidx.media3.common.MediaItem +import androidx.media3.common.MediaItem.SubtitleConfiguration import androidx.media3.common.MediaMetadata import androidx.media3.common.MediaMetadata.FOLDER_TYPE_MIXED import androidx.media3.common.MediaMetadata.FOLDER_TYPE_NONE @@ -65,13 +66,13 @@ object MediaItemTree { mediaId: String, isPlayable: Boolean, @MediaMetadata.FolderType folderType: Int, + subtitleConfigurations: List = mutableListOf(), album: String? = null, artist: String? = null, genre: String? = null, sourceUri: Uri? = null, - imageUri: Uri? = null, + imageUri: Uri? = null ): MediaItem { - // TODO(b/194280027): add artwork val metadata = MediaMetadata.Builder() .setAlbumTitle(album) @@ -82,8 +83,10 @@ object MediaItemTree { .setIsPlayable(isPlayable) .setArtworkUri(imageUri) .build() + return MediaItem.Builder() .setMediaId(mediaId) + .setSubtitleConfigurations(subtitleConfigurations) .setMediaMetadata(metadata) .setUri(sourceUri) .build() @@ -156,6 +159,19 @@ object MediaItemTree { val title = mediaObject.getString("title") val artist = mediaObject.getString("artist") val genre = mediaObject.getString("genre") + val subtitleConfigurations: MutableList = mutableListOf() + if (mediaObject.has("subtitles")) { + val subtitlesJson = mediaObject.getJSONArray("subtitles") + for (i in 0 until subtitlesJson.length()) { + val subtitleObject = subtitlesJson.getJSONObject(i) + subtitleConfigurations.add( + SubtitleConfiguration.Builder(Uri.parse(subtitleObject.getString("subtitle_uri"))) + .setMimeType(subtitleObject.getString("subtitle_mime_type")) + .setLanguage(subtitleObject.getString("subtitle_lang")) + .build() + ) + } + } val sourceUri = Uri.parse(mediaObject.getString("source")) val imageUri = Uri.parse(mediaObject.getString("image")) // key of such items in tree @@ -170,12 +186,13 @@ object MediaItemTree { title = title, mediaId = idInTree, isPlayable = true, + folderType = FOLDER_TYPE_NONE, + subtitleConfigurations, album = album, artist = artist, genre = genre, sourceUri = sourceUri, - imageUri = imageUri, - folderType = FOLDER_TYPE_NONE + imageUri = imageUri ) ) @@ -188,7 +205,8 @@ object MediaItemTree { title = album, mediaId = albumFolderIdInTree, isPlayable = true, - folderType = FOLDER_TYPE_PLAYLISTS + folderType = FOLDER_TYPE_PLAYLISTS, + subtitleConfigurations ) ) treeNodes[ALBUM_ID]!!.addChild(albumFolderIdInTree) @@ -203,7 +221,8 @@ object MediaItemTree { title = artist, mediaId = artistFolderIdInTree, isPlayable = true, - folderType = FOLDER_TYPE_PLAYLISTS + folderType = FOLDER_TYPE_PLAYLISTS, + subtitleConfigurations ) ) treeNodes[ARTIST_ID]!!.addChild(artistFolderIdInTree) @@ -218,7 +237,8 @@ object MediaItemTree { title = genre, mediaId = genreFolderIdInTree, isPlayable = true, - folderType = FOLDER_TYPE_PLAYLISTS + folderType = FOLDER_TYPE_PLAYLISTS, + subtitleConfigurations ) ) treeNodes[GENRE_ID]!!.addChild(genreFolderIdInTree) diff --git a/demos/session/src/main/java/androidx/media3/demo/session/PlayerActivity.kt b/demos/session/src/main/java/androidx/media3/demo/session/PlayerActivity.kt index 18eb9c05e2f..99305948578 100644 --- a/demos/session/src/main/java/androidx/media3/demo/session/PlayerActivity.kt +++ b/demos/session/src/main/java/androidx/media3/demo/session/PlayerActivity.kt @@ -29,9 +29,11 @@ import android.widget.ListView import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.core.content.ContextCompat +import androidx.media3.common.C.TRACK_TYPE_TEXT import androidx.media3.common.MediaItem import androidx.media3.common.MediaMetadata import androidx.media3.common.Player +import androidx.media3.common.Tracks import androidx.media3.session.MediaController import androidx.media3.session.SessionToken import androidx.media3.ui.PlayerView @@ -147,6 +149,10 @@ class PlayerActivity : AppCompatActivity() { override fun onRepeatModeChanged(repeatMode: Int) { updateRepeatSwitchUI(repeatMode) } + + override fun onTracksChanged(tracks: Tracks) { + playerView.setShowSubtitleButton(tracks.isTypeSupported(TRACK_TYPE_TEXT)) + } } ) } From c77d701e3dc4c92a2cfb8944abd19f4692829ea3 Mon Sep 17 00:00:00 2001 From: rohks Date: Thu, 21 Jul 2022 15:38:38 +0000 Subject: [PATCH 094/422] Move release notes for Issue: google/ExoPlayer#10429 to unreleased changes #minor-release PiperOrigin-RevId: 462391856 (cherry picked from commit 5c41b5a2709d9ea084a4e5802e12020820e4d817) --- RELEASENOTES.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 590bf23c0eb..fe5506f0852 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -27,6 +27,10 @@ small icon ([#104](https://github.com/androidx/media/issues/104)). * Ensure commands sent before `MediaController.release()` are not dropped ([#99](https://github.com/androidx/media/issues/99)). +* UI: + * Use current overrides of the player as preset in + `TrackSelectionDialogBuilder` + ([#10429](https://github.com/google/ExoPlayer/issues/10429)). ### 1.0.0-beta02 (2022-07-15) @@ -59,9 +63,6 @@ This release corresponds to the * Ensure TalkBack announces the currently active speed option in the playback controls menu ([#10298](https://github.com/google/ExoPlayer/issues/10298)). - * Use current overrides of the player as preset in - `TrackSelectionDialogBuilder` - ([#10429](https://github.com/google/ExoPlayer/issues/10429)). * RTSP: * Add RTP reader for H263 ([#63](https://github.com/androidx/media/pull/63)). From 5880fdd515170badebab95bd8118f060f164e814 Mon Sep 17 00:00:00 2001 From: rohks Date: Thu, 21 Jul 2022 15:56:10 +0000 Subject: [PATCH 095/422] Refactor unreleased changes in RELEASENOTES.md #minor-release PiperOrigin-RevId: 462395554 (cherry picked from commit 2312c185af22ab5f035538209a8b1acd4193dd4d) --- RELEASENOTES.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index fe5506f0852..a2abb2739fa 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -9,12 +9,15 @@ * Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid OutOfMemory errors when releasing multiple players at the same time ([#10057](https://github.com/google/ExoPlayer/issues/10057)). -* Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, boolean)` to specify whether the renderer will output metadata early or in sync with the player position. +* UI: + * Use current overrides of the player as preset in + `TrackSelectionDialogBuilder` + ([#10429](https://github.com/google/ExoPlayer/issues/10429)). * Session: * Ensure commands are always executed in the correct order even if some require asynchronous resolution @@ -27,10 +30,6 @@ small icon ([#104](https://github.com/androidx/media/issues/104)). * Ensure commands sent before `MediaController.release()` are not dropped ([#99](https://github.com/androidx/media/issues/99)). -* UI: - * Use current overrides of the player as preset in - `TrackSelectionDialogBuilder` - ([#10429](https://github.com/google/ExoPlayer/issues/10429)). ### 1.0.0-beta02 (2022-07-15) From faf1f35feb84bcd6d19909a5ba6dcd8cd748b63a Mon Sep 17 00:00:00 2001 From: christosts Date: Fri, 22 Jul 2022 09:05:10 +0000 Subject: [PATCH 096/422] DefaultMediaNotificationProvider: limit requests to load same bitmap The DefaultMediaNotificationProvider caches the last loaded artwork bitmap so that the bitmap isn't loaded again when the notification is updated, e.g., the player is transiting from playing to paused. However, loading bitmap requests for bitmaps that are already being loaded are not suppressed. For example, if the notification is updated while the artwork is still downloading, the same artwork might be downloaded multiple times. This change suppresses a bitmap load request if the same artwork is still being loaded, to avoid additional artwork downloads. #minor-release PiperOrigin-RevId: 462572221 (cherry picked from commit dd2c16bc459af50c126b9666d3134595ba58e4cb) --- .../DefaultMediaNotificationProvider.java | 110 ++++++++++-------- .../DefaultMediaNotificationProviderTest.java | 68 ++++++++++- 2 files changed, 124 insertions(+), 54 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 4b588cfda7c..372a576683e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -25,7 +25,6 @@ import static androidx.media3.common.Player.COMMAND_STOP; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; -import static androidx.media3.common.util.Util.castNonNull; import android.app.Notification; import android.app.NotificationChannel; @@ -45,7 +44,6 @@ import androidx.media3.common.C; import androidx.media3.common.MediaMetadata; import androidx.media3.common.Player; -import androidx.media3.common.util.Consumer; import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -58,6 +56,7 @@ import java.util.Arrays; import java.util.List; import java.util.concurrent.ExecutionException; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * The default {@link MediaNotification.Provider}. @@ -231,12 +230,12 @@ public DefaultMediaNotificationProvider build() { @StringRes private final int channelNameResourceId; private final NotificationManager notificationManager; private final BitmapLoader bitmapLoader; - // Cache the last loaded bitmap to avoid reloading the bitmap again, particularly useful when - // showing a notification for the same item (e.g. when switching from playing to paused). - private final LoadedBitmapInfo lastLoadedBitmapInfo; + // Cache the last bitmap load request to avoid reloading the bitmap again, particularly useful + // when showing a notification for the same item (e.g. when switching from playing to paused). + private final BitmapLoadRequest lastBitmapLoadRequest; private final Handler mainHandler; - private OnBitmapLoadedFutureCallback pendingOnBitmapLoadedFutureCallback; + private @MonotonicNonNull OnBitmapLoadedFutureCallback pendingOnBitmapLoadedFutureCallback; @DrawableRes private int smallIconResourceId; private DefaultMediaNotificationProvider(Builder builder) { @@ -248,9 +247,8 @@ private DefaultMediaNotificationProvider(Builder builder) { notificationManager = checkStateNotNull( (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)); - lastLoadedBitmapInfo = new LoadedBitmapInfo(); + lastBitmapLoadRequest = new BitmapLoadRequest(); mainHandler = new Handler(Looper.getMainLooper()); - pendingOnBitmapLoadedFutureCallback = new OnBitmapLoadedFutureCallback(bitmap -> {}); smallIconResourceId = R.drawable.media3_notification_small_icon; } @@ -281,6 +279,9 @@ public final MediaNotification createNotification( builder.setContentTitle(metadata.title).setContentText(metadata.artist); @Nullable ListenableFuture bitmapFuture = loadArtworkBitmap(metadata); if (bitmapFuture != null) { + if (pendingOnBitmapLoadedFutureCallback != null) { + pendingOnBitmapLoadedFutureCallback.discardIfPending(); + } if (bitmapFuture.isDone()) { try { builder.setLargeIcon(Futures.getDone(bitmapFuture)); @@ -288,14 +289,12 @@ public final MediaNotification createNotification( Log.w(TAG, "Failed to load bitmap", e); } } else { + pendingOnBitmapLoadedFutureCallback = + new OnBitmapLoadedFutureCallback( + notificationId, builder, onNotificationChangedCallback); Futures.addCallback( bitmapFuture, - new OnBitmapLoadedFutureCallback( - bitmap -> { - builder.setLargeIcon(bitmap); - onNotificationChangedCallback.onNotificationChanged( - new MediaNotification(notificationId, builder.build())); - }), + pendingOnBitmapLoadedFutureCallback, // This callback must be executed on the next looper iteration, after this method has // returned a media notification. mainHandler::post); @@ -517,32 +516,19 @@ private void ensureNotificationChannel() { */ @Nullable private ListenableFuture loadArtworkBitmap(MediaMetadata metadata) { - if (lastLoadedBitmapInfo.matches(metadata.artworkData) - || lastLoadedBitmapInfo.matches(metadata.artworkUri)) { - return Futures.immediateFuture(lastLoadedBitmapInfo.getBitmap()); - } - - ListenableFuture future; - Consumer onBitmapLoaded; - if (metadata.artworkData != null) { + @Nullable ListenableFuture future; + if (lastBitmapLoadRequest.matches(metadata.artworkData) + || lastBitmapLoadRequest.matches(metadata.artworkUri)) { + future = lastBitmapLoadRequest.getFuture(); + } else if (metadata.artworkData != null) { future = bitmapLoader.decodeBitmap(metadata.artworkData); - onBitmapLoaded = - bitmap -> lastLoadedBitmapInfo.setBitmapInfo(castNonNull(metadata.artworkData), bitmap); + lastBitmapLoadRequest.setBitmapFuture(metadata.artworkData, future); } else if (metadata.artworkUri != null) { future = bitmapLoader.loadBitmap(metadata.artworkUri); - onBitmapLoaded = - bitmap -> lastLoadedBitmapInfo.setBitmapInfo(castNonNull(metadata.artworkUri), bitmap); + lastBitmapLoadRequest.setBitmapFuture(metadata.artworkUri, future); } else { - return null; + future = null; } - - pendingOnBitmapLoadedFutureCallback.discardIfPending(); - pendingOnBitmapLoadedFutureCallback = new OnBitmapLoadedFutureCallback(onBitmapLoaded); - Futures.addCallback( - future, - pendingOnBitmapLoadedFutureCallback, - // It's ok to run this immediately to update the last loaded bitmap. - runnable -> Util.postOrRun(mainHandler, runnable)); return future; } @@ -560,13 +546,19 @@ private static long getPlaybackStartTimeEpochMs(Player player) { } private static class OnBitmapLoadedFutureCallback implements FutureCallback { - - private final Consumer consumer; + private final int notificationId; + private final NotificationCompat.Builder builder; + private final Callback onNotificationChangedCallback; private boolean discarded; - private OnBitmapLoadedFutureCallback(Consumer consumer) { - this.consumer = consumer; + public OnBitmapLoadedFutureCallback( + int notificationId, + NotificationCompat.Builder builder, + Callback onNotificationChangedCallback) { + this.notificationId = notificationId; + this.builder = builder; + this.onNotificationChangedCallback = onNotificationChangedCallback; } public void discardIfPending() { @@ -576,7 +568,9 @@ public void discardIfPending() { @Override public void onSuccess(Bitmap result) { if (!discarded) { - consumer.accept(result); + builder.setLargeIcon(result); + onNotificationChangedCallback.onNotificationChanged( + new MediaNotification(notificationId, builder.build())); } } @@ -589,35 +583,51 @@ public void onFailure(Throwable t) { } /** - * Caches the last loaded bitmap. The key to identify a bitmap is either a byte array, if the - * bitmap is loaded from compressed data, or a URI, if the bitmap was loaded from a URI. + * Stores the result of a bitmap load request. Requests are identified either by a byte array, if + * the bitmap is loaded from compressed data, or a URI, if the bitmap was loaded from a URI. */ - private static class LoadedBitmapInfo { + private static class BitmapLoadRequest { @Nullable private byte[] data; @Nullable private Uri uri; - @Nullable private Bitmap bitmap; + @Nullable private ListenableFuture bitmapFuture; + /** Whether the bitmap load request was performed for {@code data}. */ public boolean matches(@Nullable byte[] data) { return this.data != null && data != null && Arrays.equals(this.data, data); } + /** Whether the bitmap load request was performed for {@code uri}. */ public boolean matches(@Nullable Uri uri) { return this.uri != null && this.uri.equals(uri); } - public Bitmap getBitmap() { - return checkStateNotNull(bitmap); + /** + * Returns the future that set for the bitmap load request. + * + * @see #setBitmapFuture(Uri, ListenableFuture) + * @see #setBitmapFuture(byte[], ListenableFuture) + */ + public ListenableFuture getFuture() { + return checkStateNotNull(bitmapFuture); } - public void setBitmapInfo(byte[] data, Bitmap bitmap) { + /** + * Sets the future result of requesting to {@linkplain BitmapLoader#decodeBitmap(byte[]) decode} + * a bitmap from {@code data}. + */ + public void setBitmapFuture(byte[] data, ListenableFuture bitmapFuture) { this.data = data; - this.bitmap = bitmap; + this.bitmapFuture = bitmapFuture; this.uri = null; } - public void setBitmapInfo(Uri uri, Bitmap bitmap) { + /** + * Sets the future result of requesting {@linkplain BitmapLoader#loadBitmap(Uri) load} a bitmap + * from {@code uri}. + */ + public void setBitmapFuture(Uri uri, ListenableFuture bitmapFuture) { this.uri = uri; - this.bitmap = bitmap; + this.bitmapFuture = bitmapFuture; this.data = null; } } diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index b6555098a72..b3b33ff6100 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -21,14 +21,18 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoInteractions; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; +import static org.robolectric.Shadows.shadowOf; import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.Context; +import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; +import android.os.Looper; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; import androidx.media3.common.MediaMetadata; @@ -37,6 +41,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; +import com.google.common.util.concurrent.SettableFuture; import java.util.List; import org.junit.Test; import org.junit.runner.RunWith; @@ -45,6 +50,7 @@ import org.mockito.Mockito; import org.robolectric.Robolectric; import org.robolectric.Shadows; +import org.robolectric.shadows.ShadowLooper; import org.robolectric.shadows.ShadowNotificationManager; /** Tests for {@link DefaultMediaNotificationProvider}. */ @@ -389,6 +395,60 @@ public void addNotificationActions_correctNotificationActionAttributes() { assertThat(actions.get(0).getExtras().size()).isEqualTo(0); } + /** + * Tests that the {@link DefaultMediaNotificationProvider} will not request to load the same + * artwork bitmap again, if the same bitmap has been requested already. + */ + @Test + public void requestsSameBitmap_withPendingRequest_oneRequestOnly() { + // We will advance the main looper manually in the test. + shadowOf(Looper.getMainLooper()).pause(); + // Create a MediaSession whose player returns non-null media metadata so that the + // notification provider will request to load artwork bitmaps. + MediaSession mockMediaSession = + createMockMediaSessionForNotification( + new MediaMetadata.Builder() + .setArtworkUri(Uri.parse("http://example.test/image.jpg")) + .build()); + DefaultActionFactory defaultActionFactory = + new DefaultActionFactory(Robolectric.setupService(TestService.class)); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + SettableFuture bitmapFuture = SettableFuture.create(); + when(mockBitmapLoader.loadBitmap(any())).thenReturn(bitmapFuture); + DefaultMediaNotificationProvider defaultMediaNotificationProvider = + new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) + .setBitmapLoader(mockBitmapLoader) + .build(); + + // Ask the notification provider to create a notification twice. Use separate callback instances + // for each notification so that we can distinguish for which notification we received a + // callback. + MediaNotification.Provider.Callback mockOnNotificationChangedCallback1 = + mock(MediaNotification.Provider.Callback.class); + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + /* customLayout= */ ImmutableList.of(), + defaultActionFactory, + mockOnNotificationChangedCallback1); + ShadowLooper.idleMainLooper(); + verify(mockBitmapLoader).loadBitmap(Uri.parse("http://example.test/image.jpg")); + verifyNoInteractions(mockOnNotificationChangedCallback1); + MediaNotification.Provider.Callback mockOnNotificationChangedCallback2 = + mock(MediaNotification.Provider.Callback.class); + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + /* customLayout= */ ImmutableList.of(), + defaultActionFactory, + mockOnNotificationChangedCallback2); + // The bitmap has arrived. + bitmapFuture.set(Bitmap.createBitmap(/* width= */ 8, /* height= */ 8, Bitmap.Config.RGB_565)); + ShadowLooper.idleMainLooper(); + + verifyNoMoreInteractions(mockBitmapLoader); + verify(mockOnNotificationChangedCallback2).onNotificationChanged(any()); + verifyNoInteractions(mockOnNotificationChangedCallback1); + } + @Test public void provider_withCustomIds_notificationsUseCustomIds() { Context context = ApplicationProvider.getApplicationContext(); @@ -398,7 +458,7 @@ public void provider_withCustomIds_notificationsUseCustomIds() { .setChannelId(/* channelId= */ "customChannelId") .setChannelName(/* channelNameResourceId= */ R.string.media3_controls_play_description) .build(); - MediaSession mockMediaSession = createMockMediaSessionForNotification(); + MediaSession mockMediaSession = createMockMediaSessionForNotification(MediaMetadata.EMPTY); DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); @@ -427,7 +487,7 @@ public void setCustomSmallIcon_notificationUsesCustomSmallIcon() { new DefaultMediaNotificationProvider.Builder(context).build(); DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); - MediaSession mockMediaSession = createMockMediaSessionForNotification(); + MediaSession mockMediaSession = createMockMediaSessionForNotification(MediaMetadata.EMPTY); MediaNotification notification = defaultMediaNotificationProvider.createNotification( @@ -467,10 +527,10 @@ private static void assertHasNotificationChannel( assertThat(found).isTrue(); } - private static MediaSession createMockMediaSessionForNotification() { + private static MediaSession createMockMediaSessionForNotification(MediaMetadata mediaMetadata) { Player mockPlayer = mock(Player.class); when(mockPlayer.getAvailableCommands()).thenReturn(Commands.EMPTY); - when(mockPlayer.getMediaMetadata()).thenReturn(MediaMetadata.EMPTY); + when(mockPlayer.getMediaMetadata()).thenReturn(mediaMetadata); MediaSession mockMediaSession = mock(MediaSession.class); when(mockMediaSession.getPlayer()).thenReturn(mockPlayer); MediaSessionImpl mockMediaSessionImpl = mock(MediaSessionImpl.class); From 9eeb4bc272439923c9cec3a5d0e06e2e1fc90d37 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 22 Jul 2022 22:18:55 +0000 Subject: [PATCH 097/422] Allow stream offset passed to GlEffectsFrameProcessor to change. This is needed for applying effects to a playlist. The effects are applied based on the presentation time of the frame in its corresponding media item and the offset is added back before encoding. Each time the offset changes, end of input stream is signalled to the texture processors. This is needed because the texture processors can expect monotonically increasing timestamp within the same input stream but when the offset changes, the timstamps jump back to 0. PiperOrigin-RevId: 462714966 (cherry picked from commit 30e5bc9837e2423cd2bb426c5797211e0f6ad76b) --- .../demo/transformer/MediaPipeProcessor.java | 6 +- .../GlEffectsFrameProcessorPixelTest.java | 5 +- .../ChainingGlTextureProcessorListener.java | 4 +- ...lMatrixTransformationProcessorWrapper.java | 30 +++++++-- .../media3/transformer/FrameInfo.java | 20 +++++- .../media3/transformer/FrameProcessor.java | 9 ++- .../transformer/GlEffectsFrameProcessor.java | 61 +++++++++---------- .../transformer/GlTextureProcessor.java | 18 ++++-- .../SingleFrameGlTextureProcessor.java | 4 +- .../VideoTranscodingSamplePipeline.java | 6 +- ...hainingGlTextureProcessorListenerTest.java | 6 +- 11 files changed, 108 insertions(+), 61 deletions(-) diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 538e377c56e..48e2764daf0 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -133,6 +133,8 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT acceptedFrame = false; AppTextureFrame appTextureFrame = new AppTextureFrame(inputTexture.texId, inputTexture.width, inputTexture.height); + // TODO(b/238302213): Handle timestamps restarting from 0 when applying effects to a playlist. + // MediaPipe will fail if the timestamps are not monotonically increasing. appTextureFrame.setTimestamp(presentationTimeUs); checkStateNotNull(frameProcessor).onNewFrame(appTextureFrame); try { @@ -167,10 +169,10 @@ public void release() { } @Override - public final void signalEndOfInputStream() { + public final void signalEndOfCurrentInputStream() { frameProcessor.waitUntilIdle(); if (listener != null) { - listener.onOutputStreamEnded(); + listener.onCurrentOutputStreamEnded(); } } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 28faa35dff2..8298a7c5cb0 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -379,12 +379,11 @@ public void onFrameProcessingEnded() { frameProcessingEnded = true; } }, - /* streamOffsetUs= */ 0L, effects, DebugViewProvider.NONE, /* useHdr= */ false)); glEffectsFrameProcessor.setInputFrameInfo( - new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio)); + new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio, /* streamOffsetUs= */ 0)); glEffectsFrameProcessor.registerInputFrame(); // Queue the first video frame from the extractor. @@ -435,7 +434,7 @@ public void onFrameProcessingEnded() { } private Bitmap processFirstFrameAndEnd() throws InterruptedException { - checkNotNull(glEffectsFrameProcessor).signalEndOfInputStream(); + checkNotNull(glEffectsFrameProcessor).signalEndOfInput(); Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingEnded).isTrue(); assertThat(frameProcessingException.get()).isNull(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java index db4120ea363..da2ace4caeb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java @@ -92,9 +92,9 @@ private void processFrameNowOrLater(GlTextureProcessor nextGlTextureProcessor) { } @Override - public void onOutputStreamEnded() { + public void onCurrentOutputStreamEnded() { if (nextGlTextureProcessor != null) { - frameProcessingTaskExecutor.submit(nextGlTextureProcessor::signalEndOfInputStream); + frameProcessingTaskExecutor.submit(nextGlTextureProcessor::signalEndOfCurrentInputStream); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 3a844df7a2e..1c862ed4f29 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -37,6 +37,8 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; +import java.util.ArrayDeque; +import java.util.Queue; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -60,12 +62,12 @@ private final ImmutableList matrixTransformations; private final EGLDisplay eglDisplay; private final EGLContext eglContext; - private final long streamOffsetUs; private final DebugViewProvider debugViewProvider; private final FrameProcessor.Listener frameProcessorListener; private final boolean sampleFromExternalTexture; private final boolean useHdr; private final float[] textureTransformMatrix; + private final Queue streamOffsetUsQueue; private int inputWidth; private int inputHeight; @@ -89,7 +91,6 @@ public FinalMatrixTransformationProcessorWrapper( EGLDisplay eglDisplay, EGLContext eglContext, ImmutableList matrixTransformations, - long streamOffsetUs, FrameProcessor.Listener frameProcessorListener, DebugViewProvider debugViewProvider, boolean sampleFromExternalTexture, @@ -98,7 +99,6 @@ public FinalMatrixTransformationProcessorWrapper( this.matrixTransformations = matrixTransformations; this.eglDisplay = eglDisplay; this.eglContext = eglContext; - this.streamOffsetUs = streamOffsetUs; this.debugViewProvider = debugViewProvider; this.frameProcessorListener = frameProcessorListener; this.sampleFromExternalTexture = sampleFromExternalTexture; @@ -106,6 +106,7 @@ public FinalMatrixTransformationProcessorWrapper( textureTransformMatrix = new float[16]; Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); + streamOffsetUsQueue = new ArrayDeque<>(); } /** @@ -122,6 +123,8 @@ public void setListener(Listener listener) { @Override public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + checkState(!streamOffsetUsQueue.isEmpty(), "No input stream specified."); + try { synchronized (this) { if (!ensureConfigured(inputTexture.width, inputTexture.height)) { @@ -144,7 +147,7 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT EGLExt.eglPresentationTimeANDROID( eglDisplay, outputEglSurface, - /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUs) * 1000); + /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUsQueue.element()) * 1000); EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); } } catch (FrameProcessingException | GlUtil.GlException e) { @@ -270,8 +273,13 @@ public void releaseOutputFrame(TextureInfo outputTexture) { } @Override - public void signalEndOfInputStream() { - frameProcessorListener.onFrameProcessingEnded(); + public void signalEndOfCurrentInputStream() { + checkState(!streamOffsetUsQueue.isEmpty(), "No input stream to end."); + + streamOffsetUsQueue.remove(); + if (streamOffsetUsQueue.isEmpty()) { + frameProcessorListener.onFrameProcessingEnded(); + } } @Override @@ -296,6 +304,16 @@ public void setTextureTransformMatrix(float[] textureTransformMatrix) { } } + /** + * Signals that there will be another input stream after all previously appended input streams + * have {@linkplain #signalEndOfCurrentInputStream() ended}. + * + * @param streamOffsetUs The presentation timestamp offset, in microseconds. + */ + public void appendStream(long streamOffsetUs) { + streamOffsetUsQueue.add(streamOffsetUs); + } + public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { this.outputSurfaceInfo = outputSurfaceInfo; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java index 8975f933839..d35c12fa0c4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java @@ -25,15 +25,33 @@ public final int height; /** The ratio of width over height for each pixel. */ public final float pixelWidthHeightRatio; + /** + * An offset in microseconds that is part of the input timestamps and should be ignored for + * processing but added back to the output timestamps. + * + *

      The offset stays constant within a stream but changes in between streams to ensure that + * frame timestamps are always monotonically increasing. + */ + public final long streamOffsetUs; // TODO(b/227624622): Add color space information for HDR. - public FrameInfo(int width, int height, float pixelWidthHeightRatio) { + /** + * Creates a new instance. + * + * @param width The width of the frame, in pixels. + * @param height The height of the frame, in pixels. + * @param pixelWidthHeightRatio The ratio of width over height for each pixel. + * @param streamOffsetUs An offset in microseconds that is part of the input timestamps and should + * be ignored for processing but added back to the output timestamps. + */ + public FrameInfo(int width, int height, float pixelWidthHeightRatio, long streamOffsetUs) { checkArgument(width > 0, "width must be positive, but is: " + width); checkArgument(height > 0, "height must be positive, but is: " + height); this.width = width; this.height = height; this.pixelWidthHeightRatio = pixelWidthHeightRatio; + this.streamOffsetUs = streamOffsetUs; } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java index 01802199d18..45c1835def7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java @@ -58,6 +58,9 @@ interface Listener { * *

      Pixels are expanded using the {@link FrameInfo#pixelWidthHeightRatio} so that the output * frames' pixels have a ratio of 1. + * + *

      The caller should update {@link FrameInfo#streamOffsetUs} when switching input streams to + * ensure that frame timestamps are always monotonically increasing. */ void setInputFrameInfo(FrameInfo inputFrameInfo); @@ -66,8 +69,8 @@ interface Listener { * *

      Must be called before rendering a frame to the frame processor's input surface. * - * @throws IllegalStateException If called after {@link #signalEndOfInputStream()} or before - * {@link #setInputFrameInfo(FrameInfo)}. + * @throws IllegalStateException If called after {@link #signalEndOfInput()} or before {@link + * #setInputFrameInfo(FrameInfo)}. */ void registerInputFrame(); @@ -99,7 +102,7 @@ interface Listener { * * @throws IllegalStateException If called more than once. */ - void signalEndOfInputStream(); + void signalEndOfInput(); /** * Releases all resources. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index eed56123ab6..c3f582291cd 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -62,7 +62,6 @@ public static GlEffectsFrameProcessor create( Context context, FrameProcessor.Listener listener, - long streamOffsetUs, List effects, DebugViewProvider debugViewProvider, boolean useHdr) @@ -76,7 +75,6 @@ public static GlEffectsFrameProcessor create( createOpenGlObjectsAndFrameProcessor( context, listener, - streamOffsetUs, effects, debugViewProvider, useHdr, @@ -104,7 +102,6 @@ public static GlEffectsFrameProcessor create( private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( Context context, FrameProcessor.Listener listener, - long streamOffsetUs, List effects, DebugViewProvider debugViewProvider, boolean useHdr, @@ -129,14 +126,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( ImmutableList textureProcessors = getGlTextureProcessorsForGlEffects( - context, - effects, - eglDisplay, - eglContext, - streamOffsetUs, - listener, - debugViewProvider, - useHdr); + context, effects, eglDisplay, eglContext, listener, debugViewProvider, useHdr); FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); chainTextureProcessorsWithListeners(textureProcessors, frameProcessingTaskExecutor, listener); @@ -145,7 +135,6 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( eglDisplay, eglContext, frameProcessingTaskExecutor, - streamOffsetUs, /* inputExternalTextureId= */ GlUtil.createExternalTexture(), textureProcessors); } @@ -164,7 +153,6 @@ private static ImmutableList getGlTextureProcessorsForGlEffe List effects, EGLDisplay eglDisplay, EGLContext eglContext, - long streamOffsetUs, FrameProcessor.Listener listener, DebugViewProvider debugViewProvider, boolean useHdr) @@ -201,7 +189,6 @@ private static ImmutableList getGlTextureProcessorsForGlEffe eglDisplay, eglContext, matrixTransformationListBuilder.build(), - streamOffsetUs, listener, debugViewProvider, sampleFromExternalTexture, @@ -242,11 +229,6 @@ private static void chainTextureProcessorsWithListeners( private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; - /** - * Offset compared to original media presentation time that has been added to incoming frame - * timestamps, in microseconds. - */ - private final long streamOffsetUs; /** Associated with an OpenGL external texture. */ private final SurfaceTexture inputSurfaceTexture; @@ -266,19 +248,22 @@ private static void chainTextureProcessorsWithListeners( // Fields accessed on the frameProcessingTaskExecutor's thread. private boolean inputTextureInUse; private boolean inputStreamEnded; + /** + * Offset compared to original media presentation time that has been added to incoming frame + * timestamps, in microseconds. + */ + private long previousStreamOffsetUs; private GlEffectsFrameProcessor( EGLDisplay eglDisplay, EGLContext eglContext, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - long streamOffsetUs, int inputExternalTextureId, ImmutableList textureProcessors) { this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; - this.streamOffsetUs = streamOffsetUs; this.inputExternalTextureId = inputExternalTextureId; checkState(!textureProcessors.isEmpty()); @@ -293,6 +278,7 @@ private GlEffectsFrameProcessor( inputSurface = new Surface(inputSurfaceTexture); inputSurfaceTextureTransformMatrix = new float[16]; pendingInputFrames = new ConcurrentLinkedQueue<>(); + previousStreamOffsetUs = C.TIME_UNSET; } @Override @@ -327,7 +313,7 @@ public void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { } @Override - public void signalEndOfInputStream() { + public void signalEndOfInput() { checkState(!inputStreamEnded); inputStreamEnded = true; frameProcessingTaskExecutor.submit(this::processEndOfInputStream); @@ -363,7 +349,19 @@ private void processInputFrame() { inputTextureInUse = true; inputSurfaceTexture.updateTexImage(); inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); - queueInputFrameToTextureProcessors(); + inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); + long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); + long streamOffsetUs = checkStateNotNull(pendingInputFrames.peek()).streamOffsetUs; + if (streamOffsetUs != previousStreamOffsetUs) { + if (previousStreamOffsetUs != C.TIME_UNSET) { + inputExternalTextureProcessor.signalEndOfCurrentInputStream(); + } + finalTextureProcessorWrapper.appendStream(streamOffsetUs); + previousStreamOffsetUs = streamOffsetUs; + } + // Correct for the stream offset so processors see original media presentation timestamps. + long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; + queueInputFrameToTextureProcessors(presentationTimeUs); } /** @@ -372,14 +370,10 @@ private void processInputFrame() { *

      This method must be called on the {@linkplain #THREAD_NAME background thread}. */ @WorkerThread - private void queueInputFrameToTextureProcessors() { + private void queueInputFrameToTextureProcessors(long presentationTimeUs) { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); checkState(inputTextureInUse); - long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); - // Correct for the stream offset so processors see original media presentation timestamps. - long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; - inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); FrameInfo inputFrameInfo = checkStateNotNull(pendingInputFrames.peek()); if (inputExternalTextureProcessor.maybeQueueInputFrame( new TextureInfo( @@ -394,7 +388,8 @@ private void queueInputFrameToTextureProcessors() { // asynchronously by the texture processors chained after it. } else { // Try again later. - frameProcessingTaskExecutor.submit(this::queueInputFrameToTextureProcessors); + frameProcessingTaskExecutor.submit( + () -> queueInputFrameToTextureProcessors(presentationTimeUs)); } } @@ -408,12 +403,14 @@ private FrameInfo adjustForPixelWidthHeightRatio(FrameInfo frameInfo) { return new FrameInfo( (int) (frameInfo.width * frameInfo.pixelWidthHeightRatio), frameInfo.height, - /* pixelWidthHeightRatio= */ 1); + /* pixelWidthHeightRatio= */ 1, + frameInfo.streamOffsetUs); } else if (frameInfo.pixelWidthHeightRatio < 1f) { return new FrameInfo( frameInfo.width, (int) (frameInfo.height / frameInfo.pixelWidthHeightRatio), - /* pixelWidthHeightRatio= */ 1); + /* pixelWidthHeightRatio= */ 1, + frameInfo.streamOffsetUs); } else { return frameInfo; } @@ -429,7 +426,7 @@ private FrameInfo adjustForPixelWidthHeightRatio(FrameInfo frameInfo) { private void processEndOfInputStream() { if (getPendingInputFrameCount() == 0) { // Propagates the end of stream signal through the chained texture processors. - inputExternalTextureProcessor.signalEndOfInputStream(); + inputExternalTextureProcessor.signalEndOfCurrentInputStream(); } else { frameProcessingTaskExecutor.submit(this::processEndOfInputStream); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java index 6021ed1be4f..55cba646bd8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java @@ -72,8 +72,11 @@ interface Listener { */ void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs); - /** Called when the {@link GlTextureProcessor} will not produce further output frames. */ - void onOutputStreamEnded(); + /** + * Called when the {@link GlTextureProcessor} will not produce further output frames belonging + * to the current output stream. + */ + void onCurrentOutputStreamEnded(); /** * Called when an exception occurs during asynchronous frame processing. @@ -110,8 +113,15 @@ interface Listener { */ void releaseOutputFrame(TextureInfo outputTexture); - /** Notifies the texture processor that no further input frames will become available. */ - void signalEndOfInputStream(); + /** + * Notifies the {@code GlTextureProcessor} that no further input frames belonging to the current + * input stream will be queued. + * + *

      Input frames that are queued after this method is called belong to a different input stream, + * so presentation timestamps may reset to start from a smaller presentation timestamp than the + * last frame of the previous input stream. + */ + void signalEndOfCurrentInputStream(); /** * Releases all resources. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index 4b2624c8f8e..ae3f3953e26 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -142,9 +142,9 @@ public final void releaseOutputFrame(TextureInfo outputTexture) { } @Override - public final void signalEndOfInputStream() { + public final void signalEndOfCurrentInputStream() { if (listener != null) { - listener.onOutputStreamEnded(); + listener.onCurrentOutputStreamEnded(); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 89831de8a42..4f2344c1af8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -131,7 +131,6 @@ public void onFrameProcessingEnded() { } } }, - streamOffsetUs, effectsListBuilder.build(), debugViewProvider, // HDR is only used if the MediaCodec encoder supports FEATURE_HdrEditing. This @@ -143,7 +142,8 @@ public void onFrameProcessingEnded() { e, TransformationException.ERROR_CODE_GL_INIT_FAILED); } frameProcessor.setInputFrameInfo( - new FrameInfo(decodedWidth, decodedHeight, inputFormat.pixelWidthHeightRatio)); + new FrameInfo( + decodedWidth, decodedHeight, inputFormat.pixelWidthHeightRatio, streamOffsetUs)); boolean isToneMappingRequired = ColorInfo.isHdr(inputFormat.colorInfo) && !encoderWrapper.isHdrEditingEnabled(); @@ -178,7 +178,7 @@ public boolean processData() throws TransformationException { processedData = true; } if (decoder.isEnded()) { - frameProcessor.signalEndOfInputStream(); + frameProcessor.signalEndOfInput(); } // If the decoder produced output, signal that it may be possible to process data again. return processedData; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java index c48ca303bf7..5f141cd0ae3 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java @@ -125,10 +125,10 @@ public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBefore @Test public void onOutputStreamEnded_signalsInputStreamEndedToNextGlTextureProcessor() throws InterruptedException { - chainingGlTextureProcessorListener.onOutputStreamEnded(); + chainingGlTextureProcessorListener.onCurrentOutputStreamEnded(); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeNextGlTextureProcessor, times(1)).signalEndOfInputStream(); + verify(fakeNextGlTextureProcessor, times(1)).signalEndOfCurrentInputStream(); } private static class FakeGlTextureProcessor implements GlTextureProcessor { @@ -155,7 +155,7 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT public void releaseOutputFrame(TextureInfo outputTexture) {} @Override - public void signalEndOfInputStream() {} + public void signalEndOfCurrentInputStream() {} @Override public void release() {} From b4172b34900cef944b70f7181297c5888c0f2d1b Mon Sep 17 00:00:00 2001 From: bachinger Date: Mon, 25 Jul 2022 12:29:44 +0000 Subject: [PATCH 098/422] Exclude Metadata from Format when bundling from TrackGroup #minor-release PiperOrigin-RevId: 463062454 (cherry picked from commit 8ce3d4dc729f53c3f44649ae790d7f6b3a63d5da) --- .../java/androidx/media3/common/Format.java | 17 +++++++++++++---- .../java/androidx/media3/common/TrackGroup.java | 9 ++++++--- .../java/androidx/media3/common/FormatTest.java | 12 +++++++++++- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index b90881e6369..bb712e24723 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -1547,6 +1547,15 @@ public static String toLogString(@Nullable Format format) { @UnstableApi @Override public Bundle toBundle() { + return toBundle(/* excludeMetadata= */ false); + } + + /** + * Returns a {@link Bundle} representing the information stored in this object. If {@code + * excludeMetadata} is true, {@linkplain Format#metadata metadata} is excluded. + */ + @UnstableApi + public Bundle toBundle(boolean excludeMetadata) { Bundle bundle = new Bundle(); bundle.putString(keyForField(FIELD_ID), id); bundle.putString(keyForField(FIELD_LABEL), label); @@ -1556,10 +1565,10 @@ public Bundle toBundle() { bundle.putInt(keyForField(FIELD_AVERAGE_BITRATE), averageBitrate); bundle.putInt(keyForField(FIELD_PEAK_BITRATE), peakBitrate); bundle.putString(keyForField(FIELD_CODECS), codecs); - // Metadata is currently not Bundleable because Metadata.Entry is an Interface, - // which would be difficult to unbundle in a backward compatible way. - // The entries are additionally of limited usefulness to remote processes. - bundle.putParcelable(keyForField(FIELD_METADATA), metadata); + if (!excludeMetadata) { + // TODO (internal ref: b/239701618) + bundle.putParcelable(keyForField(FIELD_METADATA), metadata); + } // Container specific. bundle.putString(keyForField(FIELD_CONTAINER_MIME_TYPE), containerMimeType); // Sample specific. diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java b/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java index 6cb679368a4..ce934111d56 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java @@ -26,11 +26,11 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Lists; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -179,8 +179,11 @@ public boolean equals(@Nullable Object obj) { @Override public Bundle toBundle() { Bundle bundle = new Bundle(); - bundle.putParcelableArrayList( - keyForField(FIELD_FORMATS), BundleableUtil.toBundleArrayList(Lists.newArrayList(formats))); + ArrayList arrayList = new ArrayList<>(formats.length); + for (Format format : formats) { + arrayList.add(format.toBundle(/* excludeMetadata= */ true)); + } + bundle.putParcelableArrayList(keyForField(FIELD_FORMATS), arrayList); bundle.putString(keyForField(FIELD_ID), id); return bundle; } diff --git a/libraries/common/src/test/java/androidx/media3/common/FormatTest.java b/libraries/common/src/test/java/androidx/media3/common/FormatTest.java index 6e184def744..ab656935ff6 100644 --- a/libraries/common/src/test/java/androidx/media3/common/FormatTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/FormatTest.java @@ -20,6 +20,7 @@ import static androidx.media3.common.MimeTypes.VIDEO_WEBM; import static com.google.common.truth.Truth.assertThat; +import android.os.Bundle; import androidx.media3.test.utils.FakeMetadataEntry; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.util.ArrayList; @@ -46,6 +47,16 @@ public void roundTripViaBundle_ofParameters_yieldsEqualInstance() { assertThat(formatFromBundle).isEqualTo(formatToBundle); } + @Test + public void roundTripViaBundle_excludeMetadata_hasMetadataExcluded() { + Format format = createTestFormat(); + + Bundle bundleWithMetadataExcluded = format.toBundle(/* excludeMetadata= */ true); + + Format formatWithMetadataExcluded = Format.CREATOR.fromBundle(bundleWithMetadataExcluded); + assertThat(formatWithMetadataExcluded).isEqualTo(format.buildUpon().setMetadata(null).build()); + } + private static Format createTestFormat() { byte[] initData1 = new byte[] {1, 2, 3}; byte[] initData2 = new byte[] {4, 5, 6}; @@ -60,7 +71,6 @@ private static Format createTestFormat() { DrmInitData drmInitData = new DrmInitData(drmData1, drmData2); byte[] projectionData = new byte[] {1, 2, 3}; - Metadata metadata = new Metadata(new FakeMetadataEntry("id1"), new FakeMetadataEntry("id2")); ColorInfo colorInfo = From c4ce6b7511990e21b4e37a2099d4f5df3e309739 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 8 Aug 2022 08:01:44 +0000 Subject: [PATCH 099/422] Merge pull request #119 from ittiam-systems:rtp_h263_test_and_fix PiperOrigin-RevId: 463146426 (cherry picked from commit e54d2f56584d2f62d9bc26edf057408a9be84228) --- RELEASENOTES.md | 3 + .../exoplayer/rtsp/reader/RtpH263Reader.java | 66 ++++-- .../rtsp/reader/RtpH263ReaderTest.java | 222 ++++++++++++++++++ 3 files changed, 274 insertions(+), 17 deletions(-) create mode 100644 libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a2abb2739fa..271c68aa7e8 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -30,6 +30,9 @@ small icon ([#104](https://github.com/androidx/media/issues/104)). * Ensure commands sent before `MediaController.release()` are not dropped ([#99](https://github.com/androidx/media/issues/99)). +* RTSP: + * Add H263 fragmented packet handling + ([#119](https://github.com/androidx/media/pull/119)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java index 4aedc65aad8..1c62d7ab5e2 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java @@ -15,6 +15,8 @@ */ package androidx.media3.exoplayer.rtsp.reader; +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; import androidx.media3.common.C; @@ -61,6 +63,12 @@ private boolean isKeyFrame; private boolean isOutputFormatSet; private long startTimeOffsetUs; + private long fragmentedSampleTimeUs; + /** + * Whether the first packet of a H263 frame is received, it mark the start of a H263 partition. A + * H263 frame can be split into multiple RTP packets. + */ + private boolean gotFirstPacketOfH263Frame; /** Creates an instance. */ public RtpH263Reader(RtpPayloadFormat payloadFormat) { @@ -76,7 +84,10 @@ public void createTracks(ExtractorOutput extractorOutput, int trackId) { } @Override - public void onReceivingFirstPacket(long timestamp, int sequenceNumber) {} + public void onReceivingFirstPacket(long timestamp, int sequenceNumber) { + checkState(firstReceivedTimestamp == C.TIME_UNSET); + firstReceivedTimestamp = timestamp; + } @Override public void consume( @@ -103,6 +114,12 @@ public void consume( } if (pBitIsSet) { + if (gotFirstPacketOfH263Frame && fragmentedSampleSizeBytes > 0) { + // Received new H263 fragment, output data of previous fragment to decoder. + outputSampleMetadataForFragmentedPackets(); + } + gotFirstPacketOfH263Frame = true; + int payloadStartCode = data.peekUnsignedByte() & 0xFC; // Packets that begin with a Picture Start Code(100000). Refer RFC4629 Section 6.1. if (payloadStartCode < PICTURE_START_CODE) { @@ -113,10 +130,10 @@ public void consume( data.getData()[currentPosition] = 0; data.getData()[currentPosition + 1] = 0; data.setPosition(currentPosition); - } else { + } else if (gotFirstPacketOfH263Frame) { // Check that this packet is in the sequence of the previous packet. int expectedSequenceNumber = RtpPacket.getNextSequenceNumber(previousSequenceNumber); - if (sequenceNumber != expectedSequenceNumber) { + if (sequenceNumber < expectedSequenceNumber) { Log.w( TAG, Util.formatInvariant( @@ -125,6 +142,12 @@ public void consume( expectedSequenceNumber, sequenceNumber)); return; } + } else { + Log.w( + TAG, + "First payload octet of the H263 packet is not the beginning of a new H263 partition," + + " Dropping current packet."); + return; } if (fragmentedSampleSizeBytes == 0) { @@ -141,20 +164,10 @@ public void consume( // Write the video sample. trackOutput.sampleData(data, fragmentSize); fragmentedSampleSizeBytes += fragmentSize; + fragmentedSampleTimeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); if (rtpMarker) { - if (firstReceivedTimestamp == C.TIME_UNSET) { - firstReceivedTimestamp = timestamp; - } - long timeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); - trackOutput.sampleMetadata( - timeUs, - isKeyFrame ? C.BUFFER_FLAG_KEY_FRAME : 0, - fragmentedSampleSizeBytes, - /* offset= */ 0, - /* cryptoData= */ null); - fragmentedSampleSizeBytes = 0; - isKeyFrame = false; + outputSampleMetadataForFragmentedPackets(); } previousSequenceNumber = sequenceNumber; } @@ -167,8 +180,8 @@ public void seek(long nextRtpTimestamp, long timeUs) { } /** - * Parses and set VOP Coding type and resolution. The {@link ParsableByteArray#position} is - * preserved. + * Parses and set VOP Coding type and resolution. The {@linkplain ParsableByteArray#getPosition() + * position} is preserved. */ private void parseVopHeader(ParsableByteArray data, boolean gotResolution) { // Picture Segment Packets (RFC4629 Section 6.1). @@ -211,6 +224,25 @@ private void parseVopHeader(ParsableByteArray data, boolean gotResolution) { isKeyFrame = false; } + /** + * Outputs sample metadata of the received fragmented packets. + * + *

      Call this method only after receiving an end of a H263 partition. + */ + private void outputSampleMetadataForFragmentedPackets() { + checkNotNull(trackOutput) + .sampleMetadata( + fragmentedSampleTimeUs, + isKeyFrame ? C.BUFFER_FLAG_KEY_FRAME : 0, + fragmentedSampleSizeBytes, + /* offset= */ 0, + /* cryptoData= */ null); + fragmentedSampleSizeBytes = 0; + fragmentedSampleTimeUs = C.TIME_UNSET; + isKeyFrame = false; + gotFirstPacketOfH263Frame = false; + } + private static long toSampleUs( long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { return startTimeOffsetUs diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java new file mode 100644 index 00000000000..4c1f4efde06 --- /dev/null +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java @@ -0,0 +1,222 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.exoplayer.rtsp.reader; + +import static androidx.media3.common.util.Util.getBytesFromHexString; +import static com.google.common.truth.Truth.assertThat; + +import androidx.media3.common.C; +import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.Util; +import androidx.media3.exoplayer.rtsp.RtpPacket; +import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; +import androidx.media3.test.utils.FakeExtractorOutput; +import androidx.media3.test.utils.FakeTrackOutput; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableMap; +import com.google.common.primitives.Bytes; +import java.util.Arrays; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Unit test for {@link RtpH263Reader}. */ +@RunWith(AndroidJUnit4.class) +public final class RtpH263ReaderTest { + + private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + + private static final byte[] FRAME_1_FRAGMENT_1_DATA = + getBytesFromHexString("80020c0419b7b7d9591f03023e0c37b"); + private static final long PARTITION_1_RTP_TIMESTAMP = 2599168056L; + private static final RtpPacket PACKET_FRAME_1_FRAGMENT_1 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_1_RTP_TIMESTAMP) + .setSequenceNumber(40289) + .setMarker(false) + .setPayloadData( + Bytes.concat( + /*payload header */ getBytesFromHexString("0400"), FRAME_1_FRAGMENT_1_DATA)) + .build(); + private static final byte[] FRAME_1_FRAGMENT_2_DATA = + getBytesFromHexString("03140e0e77d5e83021a0c37"); + private static final RtpPacket PACKET_FRAME_1_FRAGMENT_2 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_1_RTP_TIMESTAMP) + .setSequenceNumber(40290) + .setMarker(true) + .setPayloadData( + Bytes.concat( + /*payload header */ getBytesFromHexString("0000"), FRAME_1_FRAGMENT_2_DATA)) + .build(); + // Needs to add 0000 to byte stream, refer to RFC4629 Section 6.1.1. + private static final byte[] FRAME_1_DATA = + Bytes.concat(getBytesFromHexString("0000"), FRAME_1_FRAGMENT_1_DATA, FRAME_1_FRAGMENT_2_DATA); + + private static final byte[] FRAME_2_FRAGMENT_1_DATA = + getBytesFromHexString("800a0e023ffffffffffffffffff"); + private static final long PARTITION_2_RTP_TIMESTAMP = 2599168344L; + private static final RtpPacket PACKET_FRAME_2_FRAGMENT_1 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_2_RTP_TIMESTAMP) + .setSequenceNumber(40291) + .setMarker(false) + .setPayloadData( + Bytes.concat( + /*payload header */ getBytesFromHexString("0400"), FRAME_2_FRAGMENT_1_DATA)) + .build(); + private static final byte[] FRAME_2_FRAGMENT_2_DATA = + getBytesFromHexString("830df80c501839dfccdbdbecac"); + private static final RtpPacket PACKET_FRAME_2_FRAGMENT_2 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_2_RTP_TIMESTAMP) + .setSequenceNumber(40292) + .setMarker(true) + .setPayloadData( + Bytes.concat( + /*payload header */ getBytesFromHexString("0000"), FRAME_2_FRAGMENT_2_DATA)) + .build(); + private static final byte[] FRAME_2_DATA = + Bytes.concat(getBytesFromHexString("0000"), FRAME_2_FRAGMENT_1_DATA, FRAME_2_FRAGMENT_2_DATA); + + private static final long PARTITION_2_PRESENTATION_TIMESTAMP_US = + Util.scaleLargeTimestamp( + (PARTITION_2_RTP_TIMESTAMP - PARTITION_1_RTP_TIMESTAMP), + /* multiplier= */ C.MICROS_PER_SECOND, + /* divisor= */ MEDIA_CLOCK_FREQUENCY); + + private static final RtpPayloadFormat H263_FORMAT = + new RtpPayloadFormat( + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_H263) + .setWidth(352) + .setHeight(288) + .build(), + /* rtpPayloadType= */ 96, + /* clockRate= */ (int) MEDIA_CLOCK_FREQUENCY, + /* fmtpParameters= */ ImmutableMap.of()); + + private FakeExtractorOutput extractorOutput; + + @Before + public void setUp() { + extractorOutput = new FakeExtractorOutput(); + } + + @Test + public void consume_validPackets() { + RtpH263Reader h263Reader = new RtpH263Reader(H263_FORMAT); + h263Reader.createTracks(extractorOutput, /* trackId= */ 0); + h263Reader.onReceivingFirstPacket( + PACKET_FRAME_1_FRAGMENT_1.timestamp, PACKET_FRAME_1_FRAGMENT_1.sequenceNumber); + consume(h263Reader, PACKET_FRAME_1_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_1_FRAGMENT_2); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(FRAME_1_DATA); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + @Test + public void consume_fragmentedFrameMissingFirstFragment() { + RtpH263Reader h263Reader = new RtpH263Reader(H263_FORMAT); + h263Reader.createTracks(extractorOutput, /* trackId= */ 0); + h263Reader.onReceivingFirstPacket( + PACKET_FRAME_1_FRAGMENT_1.timestamp, PACKET_FRAME_1_FRAGMENT_1.sequenceNumber); + consume(h263Reader, PACKET_FRAME_1_FRAGMENT_2); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(1); + assertThat(trackOutput.getSampleData(0)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + @Test + public void consume_fragmentedFrameMissingBoundaryFragment() { + RtpH263Reader h263Reader = new RtpH263Reader(H263_FORMAT); + h263Reader.createTracks(extractorOutput, /* trackId= */ 0); + h263Reader.onReceivingFirstPacket( + PACKET_FRAME_1_FRAGMENT_1.timestamp, PACKET_FRAME_1_FRAGMENT_1.sequenceNumber); + consume(h263Reader, PACKET_FRAME_1_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)) + .isEqualTo(Bytes.concat(getBytesFromHexString("0000"), FRAME_1_FRAGMENT_1_DATA)); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + @Test + public void consume_outOfOrderPackets() { + RtpH263Reader h263Reader = new RtpH263Reader(H263_FORMAT); + h263Reader.createTracks(extractorOutput, /* trackId= */ 0); + h263Reader.onReceivingFirstPacket( + PACKET_FRAME_1_FRAGMENT_1.timestamp, PACKET_FRAME_1_FRAGMENT_1.sequenceNumber); + consume(h263Reader, PACKET_FRAME_1_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_1); + consume(h263Reader, PACKET_FRAME_1_FRAGMENT_2); + consume(h263Reader, PACKET_FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)) + .isEqualTo(Bytes.concat(getBytesFromHexString("0000"), FRAME_1_FRAGMENT_1_DATA)); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + private static void consume(RtpH263Reader h263Reader, RtpPacket rtpPacket) { + rtpPacket = copyPacket(rtpPacket); + h263Reader.consume( + new ParsableByteArray(rtpPacket.payloadData), + rtpPacket.timestamp, + rtpPacket.sequenceNumber, + rtpPacket.marker); + } + + private static RtpPacket copyPacket(RtpPacket packet) { + RtpPacket.Builder builder = + new RtpPacket.Builder() + .setPadding(packet.padding) + .setMarker(packet.marker) + .setPayloadType(packet.payloadType) + .setSequenceNumber(packet.sequenceNumber) + .setTimestamp(packet.timestamp) + .setSsrc(packet.ssrc); + + if (packet.csrc.length > 0) { + builder.setCsrc(Arrays.copyOf(packet.csrc, packet.csrc.length)); + } + if (packet.payloadData.length > 0) { + builder.setPayloadData(Arrays.copyOf(packet.payloadData, packet.payloadData.length)); + } + return builder.build(); + } +} From 7b969e8df02687b9bc679a23972d3e58af14b55c Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 25 Jul 2022 20:28:20 +0000 Subject: [PATCH 100/422] DASH: Parse and use EventStream.presentationTimeOffset Issue: google/ExoPlayer#10460 #minor-release PiperOrigin-RevId: 463163839 (cherry picked from commit 3786b64217a5044ed505c2e3939f07bece0605a6) --- RELEASENOTES.md | 3 +++ .../dash/manifest/DashManifestParser.java | 9 +++++-- .../dash/manifest/DashManifestParserTest.java | 26 ++++++++++++------- .../assets/media/mpd/sample_mpd_event_stream | 3 +++ 4 files changed, 30 insertions(+), 11 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 271c68aa7e8..1b23282c614 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -14,6 +14,9 @@ `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, boolean)` to specify whether the renderer will output metadata early or in sync with the player position. +* DASH: + * Parse `EventStream.presentationTimeOffset` from manifests + ([#10460](https://github.com/google/ExoPlayer/issues/10460)). * UI: * Use current overrides of the player as preset in `TrackSelectionDialogBuilder` diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java index 6c4e9bee10b..c5006ad7b73 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java @@ -1105,13 +1105,15 @@ protected EventStream parseEventStream(XmlPullParser xpp) String schemeIdUri = parseString(xpp, "schemeIdUri", ""); String value = parseString(xpp, "value", ""); long timescale = parseLong(xpp, "timescale", 1); + long presentationTimeOffset = parseLong(xpp, "presentationTimeOffset", 0); List> eventMessages = new ArrayList<>(); ByteArrayOutputStream scratchOutputStream = new ByteArrayOutputStream(512); do { xpp.next(); if (XmlPullParserUtil.isStartTag(xpp, "Event")) { Pair event = - parseEvent(xpp, schemeIdUri, value, timescale, scratchOutputStream); + parseEvent( + xpp, schemeIdUri, value, timescale, presentationTimeOffset, scratchOutputStream); eventMessages.add(event); } else { maybeSkipTag(xpp); @@ -1144,6 +1146,7 @@ protected EventStream buildEventStream( * @param schemeIdUri The schemeIdUri of the parent EventStream. * @param value The schemeIdUri of the parent EventStream. * @param timescale The timescale of the parent EventStream. + * @param presentationTimeOffset The unscaled presentation time offset of the parent EventStream. * @param scratchOutputStream A {@link ByteArrayOutputStream} that is used when parsing event * objects. * @return A pair containing the node's presentation timestamp in microseconds and the parsed @@ -1156,6 +1159,7 @@ protected Pair parseEvent( String schemeIdUri, String value, long timescale, + long presentationTimeOffset, ByteArrayOutputStream scratchOutputStream) throws IOException, XmlPullParserException { long id = parseLong(xpp, "id", 0); @@ -1163,7 +1167,8 @@ protected Pair parseEvent( long presentationTime = parseLong(xpp, "presentationTime", 0); long durationMs = Util.scaleLargeTimestamp(duration, C.MILLIS_PER_SECOND, timescale); long presentationTimesUs = - Util.scaleLargeTimestamp(presentationTime, C.MICROS_PER_SECOND, timescale); + Util.scaleLargeTimestamp( + presentationTime - presentationTimeOffset, C.MICROS_PER_SECOND, timescale); String messageData = parseString(xpp, "messageData", null); byte[] eventObject = parseEventObject(xpp, scratchOutputStream); return Pair.create( diff --git a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/manifest/DashManifestParserTest.java b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/manifest/DashManifestParserTest.java index 76193227696..04d53b1841b 100644 --- a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/manifest/DashManifestParserTest.java +++ b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/manifest/DashManifestParserTest.java @@ -139,7 +139,7 @@ public void parseMediaPresentationDescription_eventStream() throws IOException { ApplicationProvider.getApplicationContext(), SAMPLE_MPD_EVENT_STREAM)); Period period = manifest.getPeriod(0); - assertThat(period.eventStreams).hasSize(3); + assertThat(period.eventStreams).hasSize(4); // assert text-only event stream EventStream eventStream1 = period.eventStreams.get(0); @@ -150,10 +150,18 @@ public void parseMediaPresentationDescription_eventStream() throws IOException { assertThat(eventStream1.events[0]).isEqualTo(expectedEvent1); assertThat(eventStream1.presentationTimesUs[0]).isEqualTo(0); - // assert CData-structured event stream + // assert event stream with presentationTimeOffset EventStream eventStream2 = period.eventStreams.get(1); assertThat(eventStream2.events.length).isEqualTo(1); EventMessage expectedEvent2 = + new EventMessage("urn:uuid:with-pto", "pto-4s", 10000, 0, "pt=1s".getBytes(Charsets.UTF_8)); + assertThat(eventStream2.events[0]).isEqualTo(expectedEvent2); + assertThat(eventStream2.presentationTimesUs[0]).isEqualTo(1000000); + + // assert CData-structured event stream + EventStream eventStream3 = period.eventStreams.get(2); + assertThat(eventStream3.events.length).isEqualTo(1); + EventMessage expectedEvent3 = new EventMessage( "urn:dvb:iptv:cpm:2014", "", @@ -173,13 +181,13 @@ public void parseMediaPresentationDescription_eventStream() throws IOException { + " \n" + " ]]>")); - assertThat(eventStream2.events[0]).isEqualTo(expectedEvent2); - assertThat(eventStream2.presentationTimesUs[0]).isEqualTo(300000000); + assertThat(eventStream3.events[0]).isEqualTo(expectedEvent3); + assertThat(eventStream3.presentationTimesUs[0]).isEqualTo(300000000); // assert xml-structured event stream - EventStream eventStream3 = period.eventStreams.get(2); - assertThat(eventStream3.events.length).isEqualTo(1); - EventMessage expectedEvent3 = + EventStream eventStream4 = period.eventStreams.get(3); + assertThat(eventStream4.events.length).isEqualTo(1); + EventMessage expectedEvent4 = new EventMessage( "urn:scte:scte35:2014:xml+bin", "", @@ -191,8 +199,8 @@ public void parseMediaPresentationDescription_eventStream() throws IOException { + " /DAIAAAAAAAAAAAQAAZ/I0VniQAQAgBDVUVJQAAAAH+cAAAAAA==\n" + " \n" + " ")); - assertThat(eventStream3.events[0]).isEqualTo(expectedEvent3); - assertThat(eventStream3.presentationTimesUs[0]).isEqualTo(1000000000); + assertThat(eventStream4.events[0]).isEqualTo(expectedEvent4); + assertThat(eventStream4.presentationTimesUs[0]).isEqualTo(1000000000); } @Test diff --git a/libraries/test_data/src/test/assets/media/mpd/sample_mpd_event_stream b/libraries/test_data/src/test/assets/media/mpd/sample_mpd_event_stream index 15e3e07b89a..8ad7ed4cd06 100644 --- a/libraries/test_data/src/test/assets/media/mpd/sample_mpd_event_stream +++ b/libraries/test_data/src/test/assets/media/mpd/sample_mpd_event_stream @@ -4,6 +4,9 @@ + + + From bb7db5a13cd1bfede302d87eb1c36578bfb1e53f Mon Sep 17 00:00:00 2001 From: hschlueter Date: Mon, 25 Jul 2022 22:38:28 +0000 Subject: [PATCH 101/422] Only recreate output EGLSurface when Surface changed. PiperOrigin-RevId: 463193768 (cherry picked from commit 5db7778ca322676a6e6445c473184dc1055d4c22) --- ...lMatrixTransformationProcessorWrapper.java | 28 ++++++++++++++----- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 1c862ed4f29..ad1b61bf2f5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -75,6 +75,9 @@ @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; private @MonotonicNonNull Listener listener; private @MonotonicNonNull Size outputSizeBeforeSurfaceTransformation; + private @MonotonicNonNull SurfaceView debugSurfaceView; + + private volatile boolean outputSizeOrRotationChanged; @GuardedBy("this") @Nullable @@ -207,7 +210,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; @Nullable EGLSurface outputEglSurface = this.outputEglSurface; - if (outputEglSurface == null) { // This means that outputSurfaceInfo changed. + if (outputEglSurface == null) { if (useHdr) { outputEglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, outputSurfaceInfo.surface); } else { @@ -218,16 +221,17 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) SurfaceView debugSurfaceView = debugViewProvider.getDebugPreviewSurfaceView( outputSurfaceInfo.width, outputSurfaceInfo.height); - if (debugSurfaceView != null) { + if (debugSurfaceView != null && !Util.areEqual(this.debugSurfaceView, debugSurfaceView)) { debugSurfaceViewWrapper = new SurfaceViewWrapper(eglDisplay, eglContext, useHdr, debugSurfaceView); } - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); - matrixTransformationProcessor = null; - } } + if (matrixTransformationProcessor != null && outputSizeOrRotationChanged) { + matrixTransformationProcessor.release(); + matrixTransformationProcessor = null; + outputSizeOrRotationChanged = false; + } if (matrixTransformationProcessor == null) { matrixTransformationProcessor = createMatrixTransformationProcessorForOutputSurface(outputSurfaceInfo); @@ -316,8 +320,18 @@ public void appendStream(long streamOffsetUs) { public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { + if (outputSurfaceInfo != null + && this.outputSurfaceInfo != null + && !this.outputSurfaceInfo.surface.equals(outputSurfaceInfo.surface)) { + this.outputEglSurface = null; + } + outputSizeOrRotationChanged = + this.outputSurfaceInfo == null + || outputSurfaceInfo == null + || this.outputSurfaceInfo.width != outputSurfaceInfo.width + || this.outputSurfaceInfo.height != outputSurfaceInfo.height + || this.outputSurfaceInfo.orientationDegrees != outputSurfaceInfo.orientationDegrees; this.outputSurfaceInfo = outputSurfaceInfo; - this.outputEglSurface = null; } } From 4001e699a1546efb5c47942bab32a54e61bb000a Mon Sep 17 00:00:00 2001 From: hschlueter Date: Mon, 25 Jul 2022 23:39:59 +0000 Subject: [PATCH 102/422] Replace Size with Pair in effects. Size requires API 21. Using Pair instead will allow effects to be used from API 18 during previewing once they are moved out of transformer. PiperOrigin-RevId: 463206474 (cherry picked from commit 4adf19939839baa3eaf018fef0d1b58049fd3b91) --- .../transformer/BitmapOverlayProcessor.java | 6 +-- .../PeriodicVignetteProcessor.java | 6 +-- .../ContrastProcessorPixelTest.java | 32 ++++++------ .../media3/transformer/CropPixelTest.java | 20 ++++---- .../GlEffectsFrameProcessorPixelTest.java | 6 +-- .../transformer/PresentationPixelTest.java | 51 +++++++++++-------- .../media3/transformer/ContrastProcessor.java | 6 +-- .../androidx/media3/transformer/Crop.java | 8 +-- ...lMatrixTransformationProcessorWrapper.java | 17 ++++--- .../transformer/GlMatrixTransformation.java | 8 +-- .../MatrixTransformationProcessor.java | 4 +- .../media3/transformer/MatrixUtils.java | 13 +++-- .../media3/transformer/Presentation.java | 6 +-- .../transformer/ScaleToFitTransformation.java | 8 +-- .../SingleFrameGlTextureProcessor.java | 16 +++--- .../androidx/media3/transformer/CropTest.java | 14 ++--- .../media3/transformer/PresentationTest.java | 26 +++++----- .../ScaleToFitTransformationTest.java | 38 +++++++------- 18 files changed, 146 insertions(+), 139 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 3bad2334eb1..e26561d08dc 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -28,7 +28,7 @@ import android.graphics.drawable.BitmapDrawable; import android.opengl.GLES20; import android.opengl.GLUtils; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.C; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; @@ -111,7 +111,7 @@ public BitmapOverlayProcessor(Context context, boolean useHdr) throws FrameProce } @Override - public Size configure(int inputWidth, int inputHeight) { + public Pair configure(int inputWidth, int inputHeight) { if (inputWidth > inputHeight) { bitmapScaleX = inputWidth / (float) inputHeight; bitmapScaleY = 1f; @@ -123,7 +123,7 @@ public Size configure(int inputWidth, int inputHeight) { glProgram.setFloatUniform("uScaleX", bitmapScaleX); glProgram.setFloatUniform("uScaleY", bitmapScaleY); - return new Size(inputWidth, inputHeight); + return Pair.create(inputWidth, inputHeight); } @Override diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index 53fa4d716dc..3fc62ef18bd 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -19,7 +19,7 @@ import android.content.Context; import android.opengl.GLES20; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import androidx.media3.transformer.FrameProcessingException; @@ -90,8 +90,8 @@ public PeriodicVignetteProcessor( } @Override - public Size configure(int inputWidth, int inputHeight) { - return new Size(inputWidth, inputHeight); + public Pair configure(int inputWidth, int inputHeight) { + return Pair.create(inputWidth, inputHeight); } @Override diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java index c03075fc311..1c9bc56aff3 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java @@ -27,7 +27,7 @@ import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.opengl.EGLSurface; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -93,14 +93,14 @@ public void drawFrame_noContrastChange_leavesFrameUnchanged() throws Exception { String testId = "drawFrame_noContrastChange"; contrastProcessor = new Contrast(/* contrast= */ 0.0f).toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); float averagePixelAbsoluteDifference = @@ -114,8 +114,8 @@ public void drawFrame_minimumContrast_producesAllGrayFrame() throws Exception { String testId = "drawFrame_minimumContrast"; contrastProcessor = new Contrast(/* contrast= */ -1.0f).toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( inputWidth, @@ -126,7 +126,7 @@ public void drawFrame_minimumContrast_producesAllGrayFrame() throws Exception { contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); float averagePixelAbsoluteDifference = @@ -141,14 +141,14 @@ public void drawFrame_decreaseContrast_decreasesPixelsGreaterEqual128IncreasesBe String testId = "drawFrame_decreaseContrast"; contrastProcessor = new Contrast(/* contrast= */ -0.75f).toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap originalBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); assertIncreasedOrDecreasedContrast(originalBitmap, actualBitmap, /* increased= */ false); @@ -160,14 +160,14 @@ public void drawFrame_increaseContrast_increasesPixelsGreaterEqual128DecreasesBe String testId = "drawFrame_increaseContrast"; contrastProcessor = new Contrast(/* contrast= */ 0.75f).toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap originalBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); assertIncreasedOrDecreasedContrast(originalBitmap, actualBitmap, /* increased= */ true); @@ -178,14 +178,14 @@ public void drawFrame_maximumContrast_pixelEither0or255() throws Exception { String testId = "drawFrame_maximumContrast"; contrastProcessor = new Contrast(/* contrast= */ 1.0f).toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = contrastProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(MAXIMUM_CONTRAST_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); float averagePixelAbsoluteDifference = diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java index 00eb13a0495..4a1293fa3f6 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java @@ -25,7 +25,7 @@ import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.opengl.EGLSurface; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.IOException; @@ -90,14 +90,14 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { cropTextureProcessor = new Crop(/* left= */ -1, /* right= */ 1, /* bottom= */ -1, /* top= */ 1) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); cropTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -114,14 +114,14 @@ public void drawFrame_cropSmaller_producesExpectedOutput() throws Exception { cropTextureProcessor = new Crop(/* left= */ -.9f, /* right= */ .1f, /* bottom= */ -1f, /* top= */ .5f) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_SMALLER_PNG_ASSET_PATH); cropTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -138,14 +138,14 @@ public void drawFrame_cropLarger_producesExpectedOutput() throws Exception { cropTextureProcessor = new Crop(/* left= */ -2f, /* right= */ 2f, /* bottom= */ -1f, /* top= */ 2f) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = cropTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(CROP_LARGER_PNG_ASSET_PATH); cropTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 8298a7c5cb0..4dd20603c80 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -32,7 +32,7 @@ import android.media.MediaCodec; import android.media.MediaExtractor; import android.media.MediaFormat; -import android.util.Size; +import android.util.Pair; import androidx.annotation.Nullable; import androidx.media3.common.MimeTypes; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -463,14 +463,14 @@ public Rotation(float degrees) { } @Override - public Size configure(int inputWidth, int inputHeight) { + public Pair configure(int inputWidth, int inputHeight) { adjustedTransformationMatrix = new Matrix(); adjustedTransformationMatrix.postRotate(degrees); float inputAspectRatio = (float) inputWidth / inputHeight; adjustedTransformationMatrix.preScale(/* sx= */ inputAspectRatio, /* sy= */ 1f); adjustedTransformationMatrix.postScale(/* sx= */ 1f / inputAspectRatio, /* sy= */ 1f); - return new Size(inputWidth, inputHeight); + return Pair.create(inputWidth, inputHeight); } @Override diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index 727d82b00a7..d6d6bce3e12 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -25,7 +25,7 @@ import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.opengl.EGLSurface; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.C; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -99,14 +99,15 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { presentationTextureProcessor = Presentation.createForHeight(C.LENGTH_UNSET) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -124,15 +125,16 @@ public void drawFrame_changeAspectRatio_scaleToFit_narrow_producesExpectedOutput presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 1f, Presentation.LAYOUT_SCALE_TO_FIT) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_NARROW_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -150,15 +152,16 @@ public void drawFrame_changeAspectRatio_scaleToFit_wide_producesExpectedOutput() presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WIDE_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -177,15 +180,16 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_narrow_producesExpect Presentation.createForAspectRatio( /* aspectRatio= */ 1f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_NARROW_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -204,15 +208,16 @@ public void drawFrame_changeAspectRatio_scaleToFitWithCrop_wide_producesExpected Presentation.createForAspectRatio( /* aspectRatio= */ 2f, Presentation.LAYOUT_SCALE_TO_FIT_WITH_CROP) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_WIDE_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -230,15 +235,16 @@ public void drawFrame_changeAspectRatio_stretchToFit_narrow_producesExpectedOutp presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 1f, Presentation.LAYOUT_STRETCH_TO_FIT) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_STRETCH_TO_FIT_NARROW_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); @@ -256,15 +262,16 @@ public void drawFrame_changeAspectRatio_stretchToFit_wide_producesExpectedOutput presentationTextureProcessor = Presentation.createForAspectRatio(/* aspectRatio= */ 2f, Presentation.LAYOUT_STRETCH_TO_FIT) .toGlTextureProcessor(context, /* useHdr= */ false); - Size outputSize = presentationTextureProcessor.configure(inputWidth, inputHeight); - setupOutputTexture(outputSize.getWidth(), outputSize.getHeight()); + Pair outputSize = + presentationTextureProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ASPECT_RATIO_STRETCH_TO_FIT_WIDE_PNG_ASSET_PATH); presentationTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.getWidth(), outputSize.getHeight()); + outputSize.first, outputSize.second); BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( testId, /* bitmapLabel= */ "actual", actualBitmap); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java index 44c9b89cacf..9f58371dc97 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java @@ -19,7 +19,7 @@ import android.content.Context; import android.opengl.GLES20; import android.opengl.Matrix; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import java.io.IOException; @@ -57,8 +57,8 @@ public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHd } @Override - public Size configure(int inputWidth, int inputHeight) { - return new Size(inputWidth, inputHeight); + public Pair configure(int inputWidth, int inputHeight) { + return Pair.create(inputWidth, inputHeight); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java index 20f83f105a0..2318d873979 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java @@ -19,7 +19,7 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.graphics.Matrix; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -66,14 +66,14 @@ public Crop(float left, float right, float bottom, float top) { } @Override - public Size configure(int inputWidth, int inputHeight) { + public Pair configure(int inputWidth, int inputHeight) { checkArgument(inputWidth > 0, "inputWidth must be positive"); checkArgument(inputHeight > 0, "inputHeight must be positive"); transformationMatrix = new Matrix(); if (left == -1f && right == 1f && bottom == -1f && top == 1f) { // No crop needed. - return new Size(inputWidth, inputHeight); + return Pair.create(inputWidth, inputHeight); } float scaleX = (right - left) / GlUtil.LENGTH_NDC; @@ -86,7 +86,7 @@ public Size configure(int inputWidth, int inputHeight) { int outputWidth = Math.round(inputWidth * scaleX); int outputHeight = Math.round(inputHeight * scaleY); - return new Size(outputWidth, outputHeight); + return Pair.create(outputWidth, outputHeight); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index ad1b61bf2f5..6bf77cb7957 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -25,7 +25,7 @@ import android.opengl.EGLSurface; import android.opengl.GLES20; import android.opengl.Matrix; -import android.util.Size; +import android.util.Pair; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; @@ -74,7 +74,7 @@ @Nullable private MatrixTransformationProcessor matrixTransformationProcessor; @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; private @MonotonicNonNull Listener listener; - private @MonotonicNonNull Size outputSizeBeforeSurfaceTransformation; + private @MonotonicNonNull Pair outputSizeBeforeSurfaceTransformation; private @MonotonicNonNull SurfaceView debugSurfaceView; private volatile boolean outputSizeOrRotationChanged; @@ -188,14 +188,14 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) || this.outputSizeBeforeSurfaceTransformation == null) { this.inputWidth = inputWidth; this.inputHeight = inputHeight; - Size outputSizeBeforeSurfaceTransformation = + Pair outputSizeBeforeSurfaceTransformation = MatrixUtils.configureAndGetOutputSize(inputWidth, inputHeight, matrixTransformations); if (!Util.areEqual( this.outputSizeBeforeSurfaceTransformation, outputSizeBeforeSurfaceTransformation)) { this.outputSizeBeforeSurfaceTransformation = outputSizeBeforeSurfaceTransformation; frameProcessorListener.onOutputSizeChanged( - outputSizeBeforeSurfaceTransformation.getWidth(), - outputSizeBeforeSurfaceTransformation.getHeight()); + outputSizeBeforeSurfaceTransformation.first, + outputSizeBeforeSurfaceTransformation.second); } } @@ -264,9 +264,10 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp useHdr, /* outputOpticalColors= */ true); matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); - Size outputSize = matrixTransformationProcessor.configure(inputWidth, inputHeight); - checkState(outputSize.getWidth() == outputSurfaceInfo.width); - checkState(outputSize.getHeight() == outputSurfaceInfo.height); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); + checkState(outputSize.first == outputSurfaceInfo.width); + checkState(outputSize.second == outputSurfaceInfo.height); return matrixTransformationProcessor; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java index fb4758612ce..9bf6dcc201b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java @@ -17,7 +17,7 @@ import android.content.Context; import android.opengl.Matrix; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.UnstableApi; /** @@ -39,10 +39,10 @@ public interface GlMatrixTransformation extends GlEffect { * * @param inputWidth The input frame width, in pixels. * @param inputHeight The input frame height, in pixels. - * @return The output frame {@link Size}, in pixels. + * @return The output frame width and height, in pixels. */ - default Size configure(int inputWidth, int inputHeight) { - return new Size(inputWidth, inputHeight); + default Pair configure(int inputWidth, int inputHeight) { + return Pair.create(inputWidth, inputHeight); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index 197f091d2c0..de182e25ccf 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -20,7 +20,7 @@ import android.content.Context; import android.opengl.GLES20; import android.opengl.Matrix; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; @@ -220,7 +220,7 @@ public void setTextureTransformMatrix(float[] textureTransformMatrix) { } @Override - public Size configure(int inputWidth, int inputHeight) { + public Pair configure(int inputWidth, int inputHeight) { return MatrixUtils.configureAndGetOutputSize(inputWidth, inputHeight, matrixTransformations); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java index 5a48570e535..5a4ac664b4a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java @@ -18,7 +18,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import android.opengl.Matrix; -import android.util.Size; +import android.util.Pair; import com.google.common.collect.ImmutableList; import java.util.Arrays; @@ -219,20 +219,19 @@ public static ImmutableList transformPoints( } /** - * Returns the output frame {@link Size} after applying the given list of {@link - * GlMatrixTransformation GlMatrixTransformations} to an input frame with the given size. + * Returns the output frame size after applying the given list of {@link GlMatrixTransformation + * GlMatrixTransformations} to an input frame with the given size. */ - public static Size configureAndGetOutputSize( + public static Pair configureAndGetOutputSize( int inputWidth, int inputHeight, ImmutableList matrixTransformations) { checkArgument(inputWidth > 0, "inputWidth must be positive"); checkArgument(inputHeight > 0, "inputHeight must be positive"); - Size outputSize = new Size(inputWidth, inputHeight); + Pair outputSize = Pair.create(inputWidth, inputHeight); for (int i = 0; i < matrixTransformations.size(); i++) { - outputSize = - matrixTransformations.get(i).configure(outputSize.getWidth(), outputSize.getHeight()); + outputSize = matrixTransformations.get(i).configure(outputSize.first, outputSize.second); } return outputSize; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java index 077740aa813..98fbed9cb13 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java @@ -21,7 +21,7 @@ import static java.lang.annotation.RetentionPolicy.SOURCE; import android.graphics.Matrix; -import android.util.Size; +import android.util.Pair; import androidx.annotation.IntDef; import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; @@ -181,7 +181,7 @@ private Presentation(int width, int height, float aspectRatio, @Layout int layou } @Override - public Size configure(int inputWidth, int inputHeight) { + public Pair configure(int inputWidth, int inputHeight) { checkArgument(inputWidth > 0, "inputWidth must be positive"); checkArgument(inputHeight > 0, "inputHeight must be positive"); @@ -206,7 +206,7 @@ public Size configure(int inputWidth, int inputHeight) { } outputHeight = requestedHeightPixels; } - return new Size(Math.round(outputWidth), Math.round(outputHeight)); + return Pair.create(Math.round(outputWidth), Math.round(outputHeight)); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java index 4f586630edd..bef17470727 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java @@ -21,7 +21,7 @@ import static java.lang.Math.min; import android.graphics.Matrix; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import com.google.errorprone.annotations.CanIgnoreReturnValue; @@ -105,14 +105,14 @@ private ScaleToFitTransformation(float scaleX, float scaleY, float rotationDegre } @Override - public Size configure(int inputWidth, int inputHeight) { + public Pair configure(int inputWidth, int inputHeight) { checkArgument(inputWidth > 0, "inputWidth must be positive"); checkArgument(inputHeight > 0, "inputHeight must be positive"); adjustedTransformationMatrix = new Matrix(transformationMatrix); if (transformationMatrix.isIdentity()) { - return new Size(inputWidth, inputHeight); + return Pair.create(inputWidth, inputHeight); } float inputAspectRatio = (float) inputWidth / inputHeight; @@ -141,7 +141,7 @@ public Size configure(int inputWidth, int inputHeight) { float scaleX = (maxX - minX) / GlUtil.LENGTH_NDC; float scaleY = (maxY - minY) / GlUtil.LENGTH_NDC; adjustedTransformationMatrix.postScale(1f / scaleX, 1f / scaleY); - return new Size(Math.round(inputWidth * scaleX), Math.round(inputHeight * scaleY)); + return Pair.create(Math.round(inputWidth * scaleX), Math.round(inputHeight * scaleY)); } @Override diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index ae3f3953e26..b07f7be3c60 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -15,7 +15,7 @@ */ package androidx.media3.transformer; -import android.util.Size; +import android.util.Pair; import androidx.annotation.CallSuper; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; @@ -60,9 +60,9 @@ public SingleFrameGlTextureProcessor(boolean useHdr) { * * @param inputWidth The input width, in pixels. * @param inputHeight The input height, in pixels. - * @return The output {@link Size} of frames processed through {@link #drawFrame(int, long)}. + * @return The output width and height of frames processed through {@link #drawFrame(int, long)}. */ - public abstract Size configure(int inputWidth, int inputHeight); + public abstract Pair configure(int inputWidth, int inputHeight); /** * Draws one frame. @@ -122,17 +122,17 @@ public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long present private void configureOutputTexture(int inputWidth, int inputHeight) throws GlUtil.GlException { this.inputWidth = inputWidth; this.inputHeight = inputHeight; - Size outputSize = configure(inputWidth, inputHeight); + Pair outputSize = configure(inputWidth, inputHeight); if (outputTexture == null - || outputSize.getWidth() != outputTexture.width - || outputSize.getHeight() != outputTexture.height) { + || outputSize.first != outputTexture.width + || outputSize.second != outputTexture.height) { if (outputTexture != null) { GlUtil.deleteTexture(outputTexture.texId); } - int outputTexId = GlUtil.createTexture(outputSize.getWidth(), outputSize.getHeight(), useHdr); + int outputTexId = GlUtil.createTexture(outputSize.first, outputSize.second, useHdr); int outputFboId = GlUtil.createFboForTexture(outputTexId); outputTexture = - new TextureInfo(outputTexId, outputFboId, outputSize.getWidth(), outputSize.getHeight()); + new TextureInfo(outputTexId, outputFboId, outputSize.first, outputSize.second); } } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java index f28d947709f..3f09142775e 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java @@ -17,7 +17,7 @@ import static com.google.common.truth.Truth.assertThat; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -36,10 +36,10 @@ public void configure_noEdits_leavesFramesUnchanged() { int inputHeight = 150; Crop crop = new Crop(/* left= */ -1, /* right= */ 1, /* bottom= */ -1, /* top= */ 1); - Size outputSize = crop.configure(inputWidth, inputHeight); + Pair outputSize = crop.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + assertThat(outputSize.first).isEqualTo(inputWidth); + assertThat(outputSize.second).isEqualTo(inputHeight); } @Test @@ -52,11 +52,11 @@ public void configure_setCrop_changesDimensions() { float top = 1f; Crop crop = new Crop(left, right, bottom, top); - Size outputSize = crop.configure(inputWidth, inputHeight); + Pair outputSize = crop.configure(inputWidth, inputHeight); int expectedPostCropWidth = Math.round(inputWidth * (right - left) / GlUtil.LENGTH_NDC); int expectedPostCropHeight = Math.round(inputHeight * (top - bottom) / GlUtil.LENGTH_NDC); - assertThat(outputSize.getWidth()).isEqualTo(expectedPostCropWidth); - assertThat(outputSize.getHeight()).isEqualTo(expectedPostCropHeight); + assertThat(outputSize.first).isEqualTo(expectedPostCropWidth); + assertThat(outputSize.second).isEqualTo(expectedPostCropHeight); } } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java index 6631ab3cef4..80df57767a8 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java @@ -17,7 +17,7 @@ import static com.google.common.truth.Truth.assertThat; -import android.util.Size; +import android.util.Pair; import androidx.media3.common.C; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; @@ -36,10 +36,10 @@ public void configure_noEdits_leavesFramesUnchanged() { int inputHeight = 150; Presentation presentation = Presentation.createForHeight(C.LENGTH_UNSET); - Size outputSize = presentation.configure(inputWidth, inputHeight); + Pair outputSize = presentation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + assertThat(outputSize.first).isEqualTo(inputWidth); + assertThat(outputSize.second).isEqualTo(inputHeight); } @Test @@ -49,10 +49,10 @@ public void configure_createForHeight_changesDimensions() { int requestedHeight = 300; Presentation presentation = Presentation.createForHeight(requestedHeight); - Size outputSize = presentation.configure(inputWidth, inputHeight); + Pair outputSize = presentation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(requestedHeight * inputWidth / inputHeight); - assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); + assertThat(outputSize.first).isEqualTo(requestedHeight * inputWidth / inputHeight); + assertThat(outputSize.second).isEqualTo(requestedHeight); } @Test @@ -63,10 +63,10 @@ public void configure_createForAspectRatio_changesDimensions() { Presentation presentation = Presentation.createForAspectRatio(aspectRatio, Presentation.LAYOUT_SCALE_TO_FIT); - Size outputSize = presentation.configure(inputWidth, inputHeight); + Pair outputSize = presentation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(Math.round(aspectRatio * inputHeight)); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + assertThat(outputSize.first).isEqualTo(Math.round(aspectRatio * inputHeight)); + assertThat(outputSize.second).isEqualTo(inputHeight); } @Test @@ -79,9 +79,9 @@ public void configure_createForWidthAndHeight_changesDimensions() { Presentation.createForWidthAndHeight( requestedWidth, requestedHeight, Presentation.LAYOUT_SCALE_TO_FIT); - Size outputSize = presentation.configure(inputWidth, inputHeight); + Pair outputSize = presentation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(requestedWidth); - assertThat(outputSize.getHeight()).isEqualTo(requestedHeight); + assertThat(outputSize.first).isEqualTo(requestedWidth); + assertThat(outputSize.second).isEqualTo(requestedHeight); } } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java index e7172731a00..d122ba3dfef 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java @@ -17,7 +17,7 @@ import static com.google.common.truth.Truth.assertThat; -import android.util.Size; +import android.util.Pair; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; @@ -38,10 +38,10 @@ public void configure_noEdits_leavesFramesUnchanged() { ScaleToFitTransformation scaleToFitTransformation = new ScaleToFitTransformation.Builder().build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); + Pair outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + assertThat(outputSize.first).isEqualTo(inputWidth); + assertThat(outputSize.second).isEqualTo(inputHeight); } @Test @@ -53,10 +53,10 @@ public void configure_scaleNarrow_decreasesWidth() { .setScale(/* scaleX= */ .5f, /* scaleY= */ 1f) .build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); + Pair outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(Math.round(inputWidth * .5f)); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + assertThat(outputSize.first).isEqualTo(Math.round(inputWidth * .5f)); + assertThat(outputSize.second).isEqualTo(inputHeight); } @Test @@ -66,10 +66,10 @@ public void configure_scaleWide_increasesWidth() { ScaleToFitTransformation scaleToFitTransformation = new ScaleToFitTransformation.Builder().setScale(/* scaleX= */ 2f, /* scaleY= */ 1f).build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); + Pair outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth * 2); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight); + assertThat(outputSize.first).isEqualTo(inputWidth * 2); + assertThat(outputSize.second).isEqualTo(inputHeight); } @Test @@ -79,10 +79,10 @@ public void configure_scaleTall_increasesHeight() { ScaleToFitTransformation scaleToFitTransformation = new ScaleToFitTransformation.Builder().setScale(/* scaleX= */ 1f, /* scaleY= */ 2f).build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); + Pair outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(inputWidth); - assertThat(outputSize.getHeight()).isEqualTo(inputHeight * 2); + assertThat(outputSize.first).isEqualTo(inputWidth); + assertThat(outputSize.second).isEqualTo(inputHeight * 2); } @Test @@ -92,10 +92,10 @@ public void configure_rotate90_swapsDimensions() { ScaleToFitTransformation scaleToFitTransformation = new ScaleToFitTransformation.Builder().setRotationDegrees(90).build(); - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); + Pair outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(inputHeight); - assertThat(outputSize.getHeight()).isEqualTo(inputWidth); + assertThat(outputSize.first).isEqualTo(inputHeight); + assertThat(outputSize.second).isEqualTo(inputWidth); } @Test @@ -106,9 +106,9 @@ public void configure_rotate45_changesDimensions() { new ScaleToFitTransformation.Builder().setRotationDegrees(45).build(); long expectedOutputWidthHeight = 247; - Size outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); + Pair outputSize = scaleToFitTransformation.configure(inputWidth, inputHeight); - assertThat(outputSize.getWidth()).isEqualTo(expectedOutputWidthHeight); - assertThat(outputSize.getHeight()).isEqualTo(expectedOutputWidthHeight); + assertThat(outputSize.first).isEqualTo(expectedOutputWidthHeight); + assertThat(outputSize.second).isEqualTo(expectedOutputWidthHeight); } } From 4a8953811611273c67591b3377e3e2af26b5f2cd Mon Sep 17 00:00:00 2001 From: olly Date: Tue, 26 Jul 2022 12:49:34 +0000 Subject: [PATCH 103/422] DownloadService: Attempt to clarify the static map PiperOrigin-RevId: 463315188 (cherry picked from commit ac8d80a044dce4d5897730433b8f6417b0209b7a) --- .../media3/exoplayer/offline/DownloadService.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java index e17fa4a6fcb..e7fdf2dd468 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadService.java @@ -171,9 +171,11 @@ public abstract class DownloadService extends Service { private static final String TAG = "DownloadService"; - // Keep a DownloadManagerHelper for each DownloadService as long as the process is running. The - // helper is needed to restart the DownloadService when there's no scheduler. Even when there is a - // scheduler, the DownloadManagerHelper is typically able to restart the DownloadService faster. + // Maps each concrete DownloadService subclass to a single DownloadManagerHelper instance. This + // ensures getDownloadManager is only called once per subclass, even if a new instance of the + // service is created. The DownloadManagerHelper wrapper also takes care of restarting the service + // when there's no scheduler, and is often able to restart the service faster than the scheduler + // even when there is one. private static final HashMap, DownloadManagerHelper> downloadManagerHelpers = new HashMap<>(); @@ -711,8 +713,11 @@ public final IBinder onBind(Intent intent) { } /** - * Returns a {@link DownloadManager} to be used to downloaded content. Called only once in the - * life cycle of the process. + * Returns a {@link DownloadManager} to be used to downloaded content. For each concrete download + * service subclass, this is called once in the lifecycle of the process when {@link #onCreate} is + * called on the first instance of the service. If the service is destroyed and a new instance is + * created later, the new instance will use the previously returned {@link DownloadManager} + * without this method being called again. */ protected abstract DownloadManager getDownloadManager(); From 3739e12b5d380f0effd99ca151b63d885bcfae5d Mon Sep 17 00:00:00 2001 From: christosts Date: Tue, 26 Jul 2022 13:23:36 +0000 Subject: [PATCH 104/422] ExtractorAsserts: add comments on method arguments PiperOrigin-RevId: 463320634 (cherry picked from commit 3aa5f259a54e6308a25616b090a931db263ded59) --- .../media3/test/utils/ExtractorAsserts.java | 90 +++++++++++++++++-- 1 file changed, 81 insertions(+), 9 deletions(-) diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java index 3aeb6965da3..3ed82c380a9 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/ExtractorAsserts.java @@ -244,23 +244,95 @@ public static void assertAllBehaviors( Context context = ApplicationProvider.getApplicationContext(); byte[] fileData = TestUtil.getByteArray(context, file); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, false, false, false); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ false, + /* simulateUnknownLength= */ false, + /* simulatePartialReads= */ false); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, false, false, true); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ false, + /* simulateUnknownLength= */ false, + /* simulatePartialReads= */ true); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, false, true, false); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ false, + /* simulateUnknownLength= */ true, + /* simulatePartialReads= */ false); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, false, true, true); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ false, + /* simulateUnknownLength= */ true, + /* simulatePartialReads= */ true); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, true, false, false); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ true, + /* simulateUnknownLength= */ false, + /* simulatePartialReads= */ false); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, true, false, true); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ true, + /* simulateUnknownLength= */ false, + /* simulatePartialReads= */ true); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, true, true, false); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ true, + /* simulateUnknownLength= */ true, + /* simulatePartialReads= */ false); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, true, true, true, true); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ true, + /* simulateIOErrors= */ true, + /* simulateUnknownLength= */ true, + /* simulatePartialReads= */ true); assertOutput( - factory.create(), dumpFilesPrefix, fileData, context, false, false, false, false, false); + factory.create(), + dumpFilesPrefix, + fileData, + context, + /* deduplicateConsecutiveFormats= */ false, + /* sniffFirst= */ false, + /* simulateIOErrors= */ false, + /* simulateUnknownLength= */ false, + /* simulatePartialReads= */ false); } /** From 959043cca39782b76ca6ff8421bf8dd62889dc39 Mon Sep 17 00:00:00 2001 From: hmzh Date: Tue, 26 Jul 2022 14:12:07 +0000 Subject: [PATCH 105/422] Add seeking to arbitrary time points PiperOrigin-RevId: 463328405 (cherry picked from commit 9c33b47f15778ce5b0c05bbc059df0fdff2c15c3) --- .../extractordumps/midi/Twinkle.mid.0.dump | 5 +- .../midi/Twinkle.mid.unknown_length.dump | 5 +- .../seek_test_with_non_note_events.mid.dump | 104 ++++++++++++++++++ .../midi/seek_test_with_non_note_events.mid | Bin 0 -> 90 bytes 4 files changed, 110 insertions(+), 4 deletions(-) create mode 100644 libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump create mode 100644 libraries/test_data/src/test/assets/media/midi/seek_test_with_non_note_events.mid diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump index 449498d92f0..e59fbf7a775 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump @@ -1,7 +1,8 @@ seekMap: - isSeekable = false + isSeekable = true duration = UNSET TIME - getPosition(0) = [[timeUs=0, position=0]] + getPosition(0) = [[timeUs=0, position=14]] + getPosition(1) = [[timeUs=1, position=14]] numberOfTracks = 1 track 0: total output bytes = 96 diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump index 449498d92f0..e59fbf7a775 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump @@ -1,7 +1,8 @@ seekMap: - isSeekable = false + isSeekable = true duration = UNSET TIME - getPosition(0) = [[timeUs=0, position=0]] + getPosition(0) = [[timeUs=0, position=14]] + getPosition(1) = [[timeUs=1, position=14]] numberOfTracks = 1 track 0: total output bytes = 96 diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump b/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump new file mode 100644 index 00000000000..1f006f540cf --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump @@ -0,0 +1,104 @@ +seekMap: + isSeekable = true + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=14]] + getPosition(1) = [[timeUs=1, position=14]] +numberOfTracks = 1 +track 0: + total output bytes = 31 + sample count = 23 + format 0: + sampleMimeType = audio/midi + sample 0: + time = 0 + flags = -2147483647 + data = length 3, hash 70FB + sample 1: + time = 0 + flags = -2147483647 + data = length 3, hash FFFF56B6 + sample 2: + time = 0 + flags = -2147483647 + data = length 7, hash C95FA238 + sample 3: + time = 0 + flags = -2147483647 + data = length 3, hash FFFF494C + sample 4: + time = 0 + flags = -2147483647 + data = length 6, hash 37A83E76 + sample 5: + time = 4999999 + flags = -2147483647 + data = length 3, hash 8DE + sample 6: + time = 5500000 + flags = 1 + data = length 0, hash 1 + sample 7: + time = 5600000 + flags = 1 + data = length 0, hash 1 + sample 8: + time = 5700000 + flags = 1 + data = length 0, hash 1 + sample 9: + time = 5800000 + flags = 1 + data = length 0, hash 1 + sample 10: + time = 5900000 + flags = 1 + data = length 0, hash 1 + sample 11: + time = 5999999 + flags = 1 + data = length 3, hash FFFED7B2 + sample 12: + time = 6099999 + flags = 1 + data = length 0, hash 1 + sample 13: + time = 6199999 + flags = 1 + data = length 0, hash 1 + sample 14: + time = 6299999 + flags = 1 + data = length 0, hash 1 + sample 15: + time = 6399999 + flags = 1 + data = length 0, hash 1 + sample 16: + time = 6499999 + flags = 1 + data = length 0, hash 1 + sample 17: + time = 6599999 + flags = 1 + data = length 0, hash 1 + sample 18: + time = 6699999 + flags = 1 + data = length 0, hash 1 + sample 19: + time = 6799999 + flags = 1 + data = length 0, hash 1 + sample 20: + time = 6899999 + flags = 1 + data = length 0, hash 1 + sample 21: + time = 6999999 + flags = 1 + data = length 0, hash 1 + sample 22: + time = 7041665 + flags = 1 + data = length 3, hash FFFE9B23 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/midi/seek_test_with_non_note_events.mid b/libraries/test_data/src/test/assets/media/midi/seek_test_with_non_note_events.mid new file mode 100644 index 0000000000000000000000000000000000000000..db2e6dc2ee2066448785ab205e9c6dbff00934a2 GIT binary patch literal 90 zcmeYb$w*;fU|?flWME=^;2Tnu4djV4{AXrh_#eT-!X&}L@IR25eW3!we|-k1v?{}f fN(P1v>?!>W6Kv|+Ga76d`XU}=u(vzFxFE# Date: Tue, 26 Jul 2022 14:12:19 +0000 Subject: [PATCH 106/422] Normalize constructors of SessionTokenImplBase/SessionTokenImplLegacy #minor-release PiperOrigin-RevId: 463328436 (cherry picked from commit 428fc896355828e11bf352c9b2c70abf2f13dc2d) --- .../media3/session/SessionTokenImplBase.java | 38 ++++++++++--------- .../session/SessionTokenImplLegacy.java | 26 +++++++------ 2 files changed, 34 insertions(+), 30 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java index d7725fd51e9..d364da449c4 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java @@ -46,21 +46,22 @@ private final String serviceName; - @Nullable private final IBinder iSession; - @Nullable private final ComponentName componentName; + @Nullable private final IBinder iSession; + private final Bundle extras; public SessionTokenImplBase(ComponentName serviceComponent, int uid, int type) { - componentName = checkNotNull(serviceComponent); - packageName = serviceComponent.getPackageName(); - serviceName = serviceComponent.getClassName(); - this.uid = uid; - this.type = type; - version = 0; - iSession = null; - extras = Bundle.EMPTY; + this( + uid, + type, + /* version= */ 0, + checkNotNull(serviceComponent).getPackageName(), + /* serviceName= */ serviceComponent.getClassName(), + /* componentName= */ serviceComponent, + /* iSession= */ null, + /* extras= */ Bundle.EMPTY); } public SessionTokenImplBase( @@ -70,14 +71,15 @@ public SessionTokenImplBase( String packageName, IMediaSession iSession, Bundle tokenExtras) { - this.uid = uid; - this.type = type; - this.version = version; - this.packageName = packageName; - serviceName = ""; - componentName = null; - this.iSession = iSession.asBinder(); - extras = checkNotNull(tokenExtras); + this( + uid, + type, + version, + checkNotNull(packageName), + /* serviceName= */ "", + /* componentName= */ null, + iSession.asBinder(), + checkNotNull(tokenExtras)); } private SessionTokenImplBase( diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java index b44b95a0584..ab5ae898f0c 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java @@ -53,21 +53,23 @@ public SessionTokenImplLegacy( MediaSessionCompat.Token token, String packageName, int uid, Bundle extras) { - legacyToken = checkNotNull(token); - this.uid = uid; - this.packageName = checkNotEmpty(packageName); - componentName = null; - type = TYPE_SESSION_LEGACY; - this.extras = checkNotNull(extras); + this( + checkNotNull(token), + uid, + TYPE_SESSION_LEGACY, + /* componentName= */ null, + checkNotEmpty(packageName), + checkNotNull(extras)); } public SessionTokenImplLegacy(ComponentName serviceComponent, int uid) { - legacyToken = null; - this.uid = uid; - type = TYPE_BROWSER_SERVICE_LEGACY; - packageName = checkNotNull(serviceComponent).getPackageName(); - componentName = serviceComponent; - extras = Bundle.EMPTY; + this( + /* legacyToken= */ null, + uid, + TYPE_BROWSER_SERVICE_LEGACY, + /* componentName= */ checkNotNull(serviceComponent), + /* packageName= */ serviceComponent.getPackageName(), + /* extras= */ Bundle.EMPTY); } private SessionTokenImplLegacy( From 38a133b23ad8664de8d4ba9a9a1d562abc8b6220 Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 26 Jul 2022 15:10:46 +0000 Subject: [PATCH 107/422] Clean up hashCode/equals of SessionTokenImplBase #minor-release PiperOrigin-RevId: 463338680 (cherry picked from commit 2bde3f1e31f2d74cb75213eb07811fced38e9072) --- .../java/androidx/media3/session/SessionTokenImplBase.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java index d364da449c4..aaefd1dc012 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java @@ -103,7 +103,7 @@ private SessionTokenImplBase( @Override public int hashCode() { - return Objects.hashCode(type, uid, packageName, serviceName); + return Objects.hashCode(uid, type, version, packageName, serviceName, componentName, iSession); } @Override @@ -113,9 +113,11 @@ public boolean equals(@Nullable Object obj) { } SessionTokenImplBase other = (SessionTokenImplBase) obj; return uid == other.uid + && type == other.type + && version == other.version && TextUtils.equals(packageName, other.packageName) && TextUtils.equals(serviceName, other.serviceName) - && type == other.type + && Util.areEqual(componentName, other.componentName) && Util.areEqual(iSession, other.iSession); } From dfe60dad871fd5c90d3a3bf11bbb3cadb2587890 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 26 Jul 2022 21:52:30 +0000 Subject: [PATCH 108/422] Allow FrameProcessor.Factory to be set on Transformer.Builder. Extract a FrameProcessor.Factory interface from GlEffectsFrameProcessor and allow it to be customized using a setter on Transformer.Builder. PiperOrigin-RevId: 463433438 (cherry picked from commit 22822d8e194cedb89bd01fac89a131f145c5042b) --- .../GlEffectsFrameProcessorPixelTest.java | 53 ++++++------ .../media3/transformer/FrameProcessor.java | 44 +++++++++- .../transformer/GlEffectsFrameProcessor.java | 82 +++++++++---------- .../media3/transformer/Transformer.java | 32 ++++++++ .../transformer/TransformerVideoRenderer.java | 4 + .../VideoTranscodingSamplePipeline.java | 3 +- 6 files changed, 147 insertions(+), 71 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 4dd20603c80..9d83cd5300a 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -356,32 +356,33 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, ListThe changes are specified by {@link GlEffect} instances passed to the {@link Factory}. + * + *

      The frame processor manages its input {@link Surface} which can be accessed via {@link + * #getInputSurface()}. The output {@link Surface} must be set by the caller using {@link + * #setOutputSurfaceInfo(SurfaceInfo)}. + * + *

      The caller must {@linkplain #registerInputFrame() register} input frames before rendering them + * to the input {@link Surface}. + */ +@UnstableApi +public interface FrameProcessor { + // TODO(b/227625423): Allow effects to be replaced. + + /** A factory for {@link FrameProcessor} instances. */ + interface Factory { + /** + * Creates a new {@link FrameProcessor} instance. + * + * @param context A {@link Context}. + * @param listener A {@link Listener}. + * @param effects The {@link GlEffect} instances to apply to each frame. + * @param debugViewProvider A {@link DebugViewProvider}. + * @param useHdr Whether to process the input as an HDR signal. + * @return A new instance. + * @throws FrameProcessingException If a problem occurs while creating the {@link + * FrameProcessor}. + */ + FrameProcessor create( + Context context, + FrameProcessor.Listener listener, + List effects, + DebugViewProvider debugViewProvider, + boolean useHdr) + throws FrameProcessingException; + } -/** Interface for a frame processor that applies changes to individual video frames. */ -/* package */ interface FrameProcessor { /** * Listener for asynchronous frame processing events. * diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index c3f582291cd..aa1d6c59026 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -29,6 +29,7 @@ import androidx.annotation.WorkerThread; import androidx.media3.common.C; import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import java.util.List; @@ -42,51 +43,48 @@ * A {@link FrameProcessor} implementation that applies {@link GlEffect} instances using OpenGL on a * background thread. */ -/* package */ final class GlEffectsFrameProcessor implements FrameProcessor { +@UnstableApi +public final class GlEffectsFrameProcessor implements FrameProcessor { // TODO(b/227625423): Replace factory method with setters once output surface and effects can be // replaced. - /** - * Creates a new instance. - * - * @param context A {@link Context}. - * @param listener A {@link Listener}. - * @param effects The {@link GlEffect GlEffects} to apply to each frame. - * @param debugViewProvider A {@link DebugViewProvider}. - * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code - * EXT_YUV_target} OpenGL extension. - * @return A new instance. - * @throws FrameProcessingException If reading shader files fails, or an OpenGL error occurs while - * creating and configuring the OpenGL components. - */ - public static GlEffectsFrameProcessor create( - Context context, - FrameProcessor.Listener listener, - List effects, - DebugViewProvider debugViewProvider, - boolean useHdr) - throws FrameProcessingException { - - ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); - - Future glFrameProcessorFuture = - singleThreadExecutorService.submit( - () -> - createOpenGlObjectsAndFrameProcessor( - context, - listener, - effects, - debugViewProvider, - useHdr, - singleThreadExecutorService)); - - try { - return glFrameProcessorFuture.get(); - } catch (ExecutionException e) { - throw new FrameProcessingException(e); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - throw new FrameProcessingException(e); + /** A factory for {@link GlEffectsFrameProcessor} instances. */ + public static class Factory implements FrameProcessor.Factory { + /** + * {@inheritDoc} + * + *

      Using HDR requires the {@code EXT_YUV_target} OpenGL extension. + */ + @Override + public GlEffectsFrameProcessor create( + Context context, + FrameProcessor.Listener listener, + List effects, + DebugViewProvider debugViewProvider, + boolean useHdr) + throws FrameProcessingException { + + ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); + + Future glFrameProcessorFuture = + singleThreadExecutorService.submit( + () -> + createOpenGlObjectsAndFrameProcessor( + context, + listener, + effects, + debugViewProvider, + useHdr, + singleThreadExecutorService)); + + try { + return glFrameProcessorFuture.get(); + } catch (ExecutionException e) { + throw new FrameProcessingException(e); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + throw new FrameProcessingException(e); + } } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 0016bf35919..d35feefce15 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -104,6 +104,7 @@ public static final class Builder { private String containerMimeType; private TransformationRequest transformationRequest; private ImmutableList videoEffects; + private FrameProcessor.Factory frameProcessorFactory; private ListenerSet listeners; private DebugViewProvider debugViewProvider; private Looper looper; @@ -128,6 +129,7 @@ public Builder(Context context) { containerMimeType = MimeTypes.VIDEO_MP4; transformationRequest = new TransformationRequest.Builder().build(); videoEffects = ImmutableList.of(); + frameProcessorFactory = new GlEffectsFrameProcessor.Factory(); } /** Creates a builder with the values of the provided {@link Transformer}. */ @@ -140,6 +142,7 @@ private Builder(Transformer transformer) { this.containerMimeType = transformer.containerMimeType; this.transformationRequest = transformer.transformationRequest; this.videoEffects = transformer.videoEffects; + this.frameProcessorFactory = transformer.frameProcessorFactory; this.listeners = transformer.listeners; this.looper = transformer.looper; this.encoderFactory = transformer.encoderFactory; @@ -183,6 +186,26 @@ public Builder setVideoEffects(List effects) { return this; } + /** + * Sets the {@link FrameProcessor.Factory} for the {@link FrameProcessor} to use when applying + * {@linkplain GlEffect effects} to the video frames. + * + *

      This factory will be used to create the {@link FrameProcessor} used for applying the + * {@link GlEffect} instances passed to {@link #setVideoEffects(List)} and any + * additional {@link GlMatrixTransformation} instances derived from the {@link + * TransformationRequest} set using {@link #setTransformationRequest(TransformationRequest)}. + * + *

      The default is {@link GlEffectsFrameProcessor.Factory}. + * + * @param frameProcessorFactory The {@link FrameProcessor.Factory} to use. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setFrameProcessorFactory(FrameProcessor.Factory frameProcessorFactory) { + this.frameProcessorFactory = frameProcessorFactory; + return this; + } + /** * Sets the {@link MediaSource.Factory} to be used to retrieve the inputs to transform. * @@ -440,6 +463,7 @@ public Transformer build() { containerMimeType, transformationRequest, videoEffects, + frameProcessorFactory, listeners, looper, clock, @@ -548,6 +572,7 @@ default void onFallbackApplied( private final String containerMimeType; private final TransformationRequest transformationRequest; private final ImmutableList videoEffects; + private final FrameProcessor.Factory frameProcessorFactory; private final Looper looper; private final Clock clock; private final DebugViewProvider debugViewProvider; @@ -569,6 +594,7 @@ private Transformer( String containerMimeType, TransformationRequest transformationRequest, ImmutableList videoEffects, + FrameProcessor.Factory frameProcessorFactory, ListenerSet listeners, Looper looper, Clock clock, @@ -584,6 +610,7 @@ private Transformer( this.containerMimeType = containerMimeType; this.transformationRequest = transformationRequest; this.videoEffects = videoEffects; + this.frameProcessorFactory = frameProcessorFactory; this.listeners = listeners; this.looper = looper; this.clock = clock; @@ -733,6 +760,7 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { transformationRequest, mediaItem.clippingConfiguration.startsAtKeyFrame, videoEffects, + frameProcessorFactory, encoderFactory, decoderFactory, new FallbackListener(mediaItem, listeners, transformationRequest), @@ -847,6 +875,7 @@ private static final class TransformerRenderersFactory implements RenderersFacto private final TransformationRequest transformationRequest; private final boolean clippingStartsAtKeyFrame; private final ImmutableList videoEffects; + private final FrameProcessor.Factory frameProcessorFactory; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; private final FallbackListener fallbackListener; @@ -861,6 +890,7 @@ public TransformerRenderersFactory( TransformationRequest transformationRequest, boolean clippingStartsAtKeyFrame, ImmutableList videoEffects, + FrameProcessor.Factory frameProcessorFactory, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, FallbackListener fallbackListener, @@ -873,6 +903,7 @@ public TransformerRenderersFactory( this.transformationRequest = transformationRequest; this.clippingStartsAtKeyFrame = clippingStartsAtKeyFrame; this.videoEffects = videoEffects; + this.frameProcessorFactory = frameProcessorFactory; this.encoderFactory = encoderFactory; this.decoderFactory = decoderFactory; this.fallbackListener = fallbackListener; @@ -912,6 +943,7 @@ public Renderer[] createRenderers( transformationRequest, clippingStartsAtKeyFrame, videoEffects, + frameProcessorFactory, encoderFactory, decoderFactory, asyncErrorListener, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index b52ea8e0541..f1587042d59 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -39,6 +39,7 @@ private final Context context; private final boolean clippingStartsAtKeyFrame; private final ImmutableList effects; + private final FrameProcessor.Factory frameProcessorFactory; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; private final DebugViewProvider debugViewProvider; @@ -53,6 +54,7 @@ public TransformerVideoRenderer( TransformationRequest transformationRequest, boolean clippingStartsAtKeyFrame, ImmutableList effects, + FrameProcessor.Factory frameProcessorFactory, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, Transformer.AsyncErrorListener asyncErrorListener, @@ -68,6 +70,7 @@ public TransformerVideoRenderer( this.context = context; this.clippingStartsAtKeyFrame = clippingStartsAtKeyFrame; this.effects = effects; + this.frameProcessorFactory = frameProcessorFactory; this.encoderFactory = encoderFactory; this.decoderFactory = decoderFactory; this.debugViewProvider = debugViewProvider; @@ -113,6 +116,7 @@ protected boolean ensureConfigured() throws TransformationException { streamOffsetUs, transformationRequest, effects, + frameProcessorFactory, decoderFactory, encoderFactory, muxerWrapper.getSupportedSampleMimeTypes(getTrackType()), diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 4f2344c1af8..c3496e0b3c6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -58,6 +58,7 @@ public VideoTranscodingSamplePipeline( long streamOffsetUs, TransformationRequest transformationRequest, ImmutableList effects, + FrameProcessor.Factory frameProcessorFactory, Codec.DecoderFactory decoderFactory, Codec.EncoderFactory encoderFactory, List allowedOutputMimeTypes, @@ -102,7 +103,7 @@ public VideoTranscodingSamplePipeline( try { frameProcessor = - GlEffectsFrameProcessor.create( + frameProcessorFactory.create( context, new FrameProcessor.Listener() { @Override From df741a8baaea2c3b91e54dd225675f541d8eb192 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 26 Jul 2022 21:53:18 +0000 Subject: [PATCH 109/422] Rename findEncoderWithClosestFormatSupport. Just a misc nit, since I found the name a bit confusing, and figured findEncoderWithClosestSupportedFormat might be more descriptive. PiperOrigin-RevId: 463433646 (cherry picked from commit a7a17dc2bb8bd76988ae32867ff1b8109fcccdb5) --- .../androidx/media3/transformer/DefaultEncoderFactory.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index e9ec7c0a276..33f50445c68 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -224,7 +224,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes @Nullable VideoEncoderQueryResult encoderAndClosestFormatSupport = - findEncoderWithClosestFormatSupport( + findEncoderWithClosestSupportedFormat( format, requestedVideoEncoderSettings, videoEncoderSelector, @@ -342,14 +342,15 @@ public boolean videoNeedsEncoding() { } /** - * Finds an {@linkplain MediaCodecInfo encoder} that supports the requested format most closely. + * Finds an {@linkplain MediaCodecInfo encoder} that supports a format closest to the requested + * format. * *

      Returns the {@linkplain MediaCodecInfo encoder} and the supported {@link Format} in a {@link * Pair}, or {@code null} if none is found. */ @RequiresNonNull("#1.sampleMimeType") @Nullable - private static VideoEncoderQueryResult findEncoderWithClosestFormatSupport( + private static VideoEncoderQueryResult findEncoderWithClosestSupportedFormat( Format requestedFormat, VideoEncoderSettings videoEncoderSettings, EncoderSelector encoderSelector, From b68412a1f7b0fb9ab1ad4028df444a6e562d9112 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 26 Jul 2022 21:56:33 +0000 Subject: [PATCH 110/422] Add an SsimMapperTest, which binary searches for 95% ssim. This is possible because SSIM increases monotonically with bitrate. PiperOrigin-RevId: 463434373 (cherry picked from commit 4a0b07b4f7e577d02b6d36f49da2c9f5d0b2e485) --- .../mh/analysis/SsimMapperTest.java | 276 ++++++++++++++++++ 1 file changed, 276 insertions(+) create mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java new file mode 100644 index 00000000000..4247193a45e --- /dev/null +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java @@ -0,0 +1,276 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer.mh.analysis; + +import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.getFormatForTestFile; +import static androidx.media3.transformer.AndroidTestUtil.skipAndLogIfInsufficientCodecSupport; +import static androidx.media3.transformer.TransformationTestResult.SSIM_UNSET; + +import android.content.Context; +import android.net.Uri; +import androidx.annotation.Nullable; +import androidx.media3.common.Format; +import androidx.media3.common.MediaItem; +import androidx.media3.transformer.AndroidTestUtil; +import androidx.media3.transformer.DefaultEncoderFactory; +import androidx.media3.transformer.Transformer; +import androidx.media3.transformer.TransformerAndroidTestRunner; +import androidx.media3.transformer.VideoEncoderSettings; +import androidx.test.core.app.ApplicationProvider; +import com.google.common.base.Splitter; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.Iterables; +import java.util.HashMap; +import java.util.Map; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; +import org.junit.runners.Parameterized.Parameter; +import org.junit.runners.Parameterized.Parameters; + +/** + * Finds the bitrate mapping for a given SSIM value. + * + *

      SSIM increases monotonically with bitrate. + */ +@RunWith(Parameterized.class) +public class SsimMapperTest { + + // When running this test, input file list should be restricted more than this. Binary search can + // take up to 40 minutes to complete for a single clip on lower end devices. + private static final ImmutableList INPUT_FILES = + ImmutableList.of( + MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3, + MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION, + MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION, + MP4_REMOTE_1280W_720H_30_SECOND_ROOF_ONEPLUSNORD2, + MP4_REMOTE_1280W_720H_32_SECOND_ROOF_REDMINOTE9, + MP4_REMOTE_1920W_1080H_5_SECOND_HIGHMOTION, + MP4_REMOTE_1920W_1080H_30_SECOND_HIGHMOTION, + MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2, + MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9, + MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G, + MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION, + MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION, + MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2, + MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9, + MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G); + + @Parameters + public static ImmutableList parameters() { + return INPUT_FILES; + } + + @Parameter @Nullable public String fileUri; + + @Test + public void findSsimMapping() throws Exception { + String fileUri = checkNotNull(this.fileUri); + + if (skipAndLogIfInsufficientCodecSupport( + ApplicationProvider.getApplicationContext(), + /* testId= */ "ssim_search_VBR_codecSupport", + /* decodingFormat= */ getFormatForTestFile(fileUri), + /* encodingFormat= */ null)) { + return; + } + + new SsimBinarySearcher(ApplicationProvider.getApplicationContext(), fileUri).search(); + } + + private static final class SsimBinarySearcher { + private static final String TAG = "SsimBinarySearcher"; + private static final double SSIM_ACCEPTABLE_TOLERANCE = 0.005; + private static final double SSIM_TARGET = 0.95; + private static final int MAX_TRANSFORMATIONS = 12; + + private final Context context; + private final String videoUri; + private final Format format; + + private int transformationsLeft; + private double ssimLowerBound; + private double ssimUpperBound; + private int bitrateLowerBound; + private int bitrateUpperBound; + + /** + * Creates a new instance. + * + * @param context The {@link Context}. + * @param videoUri The URI of the video to transform. + */ + public SsimBinarySearcher(Context context, String videoUri) { + this.context = context; + this.videoUri = videoUri; + transformationsLeft = MAX_TRANSFORMATIONS; + format = AndroidTestUtil.getFormatForTestFile(videoUri); + } + + /** + * Finds valid upper and lower bounds for the SSIM binary search. + * + * @return Whether to perform a binary search within the bounds. + */ + private boolean setupBinarySearchBounds() throws Exception { + // Starting point based on Kush Gauge formula with a medium motion factor. + int currentBitrate = (int) (format.width * format.height * format.frameRate * 0.07 * 2); + ssimLowerBound = SSIM_UNSET; + ssimUpperBound = SSIM_UNSET; + + // 1280x720, 30fps video: 112kbps. + int minBitrateToCheck = currentBitrate / 32; + // 1280x720, 30fps video: 118Mbps. + int maxBitrateToCheck = currentBitrate * 32; + + do { + double currentSsim = transformAndGetSsim(currentBitrate); + if (isSsimAcceptable(currentSsim)) { + return false; + } + + if (currentSsim > SSIM_TARGET) { + ssimUpperBound = currentSsim; + bitrateUpperBound = currentBitrate; + currentBitrate /= 2; + if (currentBitrate < minBitrateToCheck) { + return false; + } + } else if (currentSsim < SSIM_TARGET) { + ssimLowerBound = currentSsim; + bitrateLowerBound = currentBitrate; + currentBitrate *= 2; + if (currentBitrate > maxBitrateToCheck) { + return false; + } + } + } while ((ssimLowerBound == SSIM_UNSET || ssimUpperBound == SSIM_UNSET) + && transformationsLeft > 0); + + return transformationsLeft > 0; + } + + /** + * Transforms the video with different encoder target bitrates, calculating output SSIM. + * + *

      Performs a binary search of the bitrate between the {@link #bitrateLowerBound} and {@link + * #bitrateUpperBound}. + * + *

      Runs until the target SSIM is found or the maximum number of transformations is reached. + */ + public void search() throws Exception { + if (!setupBinarySearchBounds()) { + return; + } + + while (transformationsLeft > 0) { + // At this point, we have under and over bitrate bounds, with associated SSIMs. + // Go between the two, and replace either the under or the over. + + int currentBitrate = (bitrateUpperBound + bitrateLowerBound) / 2; + double currentSsim = transformAndGetSsim(currentBitrate); + if (isSsimAcceptable(currentSsim)) { + return; + } + + if (currentSsim < SSIM_TARGET) { + checkState(currentSsim >= ssimLowerBound, "SSIM has decreased with a higher bitrate."); + bitrateLowerBound = currentBitrate; + ssimLowerBound = currentSsim; + } else if (currentSsim > SSIM_TARGET) { + checkState(currentSsim <= ssimUpperBound, "SSIM has increased with a lower bitrate."); + bitrateUpperBound = currentBitrate; + ssimUpperBound = currentSsim; + } else { + throw new IllegalStateException( + "Impossible - SSIM is not above, below, or matching target."); + } + } + } + + private double transformAndGetSsim(int bitrate) throws Exception { + // TODO(b/238094555): Force specific encoders to be used. + + String fileName = checkNotNull(Iterables.getLast(Splitter.on("/").split(videoUri))); + String testId = String.format("ssim_search_%s_VBR_%s", bitrate, fileName); + + Map inputValues = new HashMap<>(); + inputValues.put("targetBitrate", bitrate); + inputValues.put("inputFilename", fileName); + inputValues.put("bitrateMode", "VBR"); + inputValues.put("width", format.width); + inputValues.put("height", format.height); + inputValues.put("framerate", format.frameRate); + + Transformer transformer = + new Transformer.Builder(context) + .setRemoveAudio(true) + .setEncoderFactory( + new DefaultEncoderFactory.Builder(context) + .setRequestedVideoEncoderSettings( + new VideoEncoderSettings.Builder() + .setBitrate(bitrate) + .setBitrateMode(BITRATE_MODE_VBR) + .build()) + .build()) + .build(); + + transformationsLeft--; + + double ssim = + new TransformerAndroidTestRunner.Builder(context, transformer) + .setInputValues(inputValues) + .setMaybeCalculateSsim(true) + .build() + .run(testId, MediaItem.fromUri(Uri.parse(videoUri))) + .ssim; + + checkState(ssim != SSIM_UNSET, "SSIM has not been calculated."); + return ssim; + } + + /** + * Returns whether the SSIM is acceptable. + * + *

      Acceptable is defined as {@code ssim >= ssimTarget && ssim < ssimTarget + + * positiveTolerance}, where {@code ssimTarget} is {@link #SSIM_TARGET} and {@code + * positiveTolerance} is {@link #SSIM_ACCEPTABLE_TOLERANCE}. + */ + private static boolean isSsimAcceptable(double ssim) { + double ssimDifference = ssim - SsimBinarySearcher.SSIM_TARGET; + return (0 <= ssimDifference) + && (ssimDifference < SsimBinarySearcher.SSIM_ACCEPTABLE_TOLERANCE); + } + } +} From 6cf0737e00909430eb78e622d536b2dba9fc1e4a Mon Sep 17 00:00:00 2001 From: leonwind Date: Tue, 26 Jul 2022 23:10:33 +0000 Subject: [PATCH 111/422] Rename ContrastProcessorPixelTest and make contexts final PiperOrigin-RevId: 463450395 (cherry picked from commit 302a742c944b002379759ed05f121aaeab8af396) --- ...{ContrastProcessorPixelTest.java => ContrastPixelTest.java} | 2 +- .../java/androidx/media3/transformer/CropPixelTest.java | 3 ++- .../transformer/MatrixTransformationProcessorPixelTest.java | 1 + .../androidx/media3/transformer/PresentationPixelTest.java | 3 ++- 4 files changed, 6 insertions(+), 3 deletions(-) rename libraries/transformer/src/androidTest/java/androidx/media3/transformer/{ContrastProcessorPixelTest.java => ContrastPixelTest.java} (99%) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java similarity index 99% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java rename to libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java index 1c9bc56aff3..2e9f030ea90 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java @@ -45,7 +45,7 @@ * as recommended in {@link GlEffectsFrameProcessorPixelTest}. */ @RunWith(AndroidJUnit4.class) -public class ContrastProcessorPixelTest { +public class ContrastPixelTest { private static final String EXOPLAYER_LOGO_PNG_ASSET_PATH = "media/bitmap/exoplayer_logo/original.png"; // TODO(b/239005261): Migrate png to an emulator generated picture. diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java index 4a1293fa3f6..877d51048d4 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java @@ -52,7 +52,8 @@ public final class CropPixelTest { public static final String CROP_LARGER_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/crop_larger.png"; - private Context context = getApplicationContext(); + private final Context context = getApplicationContext(); + private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor cropTextureProcessor; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java index 86f7c09729f..ee8c8422b51 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java @@ -54,6 +54,7 @@ public final class MatrixTransformationProcessorPixelTest { "media/bitmap/sample_mp4_first_frame/rotate90.png"; private final Context context = getApplicationContext(); + private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationFrameProcessor; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index d6d6bce3e12..4bf09061e16 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -61,7 +61,8 @@ public final class PresentationPixelTest { public static final String ASPECT_RATIO_STRETCH_TO_FIT_WIDE_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_wide.png"; - private Context context = getApplicationContext(); + private final Context context = getApplicationContext(); + private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor presentationTextureProcessor; From 6ccf46d40e4ff2a685b6c1b849a79feff3afeb1f Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 26 Jul 2022 23:24:03 +0000 Subject: [PATCH 112/422] Add H265 as a parameter to SsimMapperTest. PiperOrigin-RevId: 463452893 (cherry picked from commit 60d6654b8d2932dcadb49f77d726f05b377f828e) --- .../mh/analysis/SsimMapperTest.java | 57 ++++++++++++++++--- 1 file changed, 48 insertions(+), 9 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java index 4247193a45e..e906322823d 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java @@ -36,22 +36,27 @@ import static androidx.media3.transformer.AndroidTestUtil.getFormatForTestFile; import static androidx.media3.transformer.AndroidTestUtil.skipAndLogIfInsufficientCodecSupport; import static androidx.media3.transformer.TransformationTestResult.SSIM_UNSET; +import static com.google.common.collect.Iterables.getLast; import android.content.Context; import android.net.Uri; import androidx.annotation.Nullable; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.Util; import androidx.media3.transformer.AndroidTestUtil; import androidx.media3.transformer.DefaultEncoderFactory; +import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.media3.transformer.VideoEncoderSettings; import androidx.test.core.app.ApplicationProvider; import com.google.common.base.Splitter; import com.google.common.collect.ImmutableList; -import com.google.common.collect.Iterables; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import org.junit.Test; import org.junit.runner.RunWith; @@ -67,6 +72,8 @@ @RunWith(Parameterized.class) public class SsimMapperTest { + private static final Splitter FORWARD_SLASH_SPLITTER = Splitter.on('/'); + // When running this test, input file list should be restricted more than this. Binary search can // take up to 40 minutes to complete for a single clip on lower end devices. private static final ImmutableList INPUT_FILES = @@ -88,25 +95,46 @@ public class SsimMapperTest { MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G); @Parameters - public static ImmutableList parameters() { - return INPUT_FILES; + public static List parameters() { + List parameterList = new ArrayList<>(); + for (String file : INPUT_FILES) { + parameterList.add(new Object[] {file, MimeTypes.VIDEO_H264}); + // TODO(210593256): Test pre 24 once in-app muxing implemented. + if (Util.SDK_INT >= 24) { + parameterList.add(new Object[] {file, MimeTypes.VIDEO_H265}); + } + } + return parameterList; } - @Parameter @Nullable public String fileUri; + @Parameter(0) + @Nullable + public String fileUri; + + @Parameter(1) + @Nullable + public String mimeType; @Test public void findSsimMapping() throws Exception { String fileUri = checkNotNull(this.fileUri); + String mimeType = checkNotNull(this.mimeType); + + String testIdPrefix = + String.format( + "ssim_search_VBR_%s", checkNotNull(getLast(FORWARD_SLASH_SPLITTER.split(mimeType)))); if (skipAndLogIfInsufficientCodecSupport( ApplicationProvider.getApplicationContext(), - /* testId= */ "ssim_search_VBR_codecSupport", + testIdPrefix + "_codecSupport", /* decodingFormat= */ getFormatForTestFile(fileUri), /* encodingFormat= */ null)) { return; } - new SsimBinarySearcher(ApplicationProvider.getApplicationContext(), fileUri).search(); + new SsimBinarySearcher( + ApplicationProvider.getApplicationContext(), testIdPrefix, fileUri, mimeType) + .search(); } private static final class SsimBinarySearcher { @@ -116,8 +144,10 @@ private static final class SsimBinarySearcher { private static final int MAX_TRANSFORMATIONS = 12; private final Context context; + private final String testIdPrefix; private final String videoUri; private final Format format; + private final String outputMimeType; private int transformationsLeft; private double ssimLowerBound; @@ -129,11 +159,17 @@ private static final class SsimBinarySearcher { * Creates a new instance. * * @param context The {@link Context}. + * @param testIdPrefix The test ID prefix. * @param videoUri The URI of the video to transform. + * @param outputMimeType The video sample MIME type to output, see {@link + * TransformationRequest.Builder#setVideoMimeType}. */ - public SsimBinarySearcher(Context context, String videoUri) { + public SsimBinarySearcher( + Context context, String testIdPrefix, String videoUri, String outputMimeType) { this.context = context; + this.testIdPrefix = testIdPrefix; this.videoUri = videoUri; + this.outputMimeType = outputMimeType; transformationsLeft = MAX_TRANSFORMATIONS; format = AndroidTestUtil.getFormatForTestFile(videoUri); } @@ -222,8 +258,8 @@ public void search() throws Exception { private double transformAndGetSsim(int bitrate) throws Exception { // TODO(b/238094555): Force specific encoders to be used. - String fileName = checkNotNull(Iterables.getLast(Splitter.on("/").split(videoUri))); - String testId = String.format("ssim_search_%s_VBR_%s", bitrate, fileName); + String fileName = checkNotNull(getLast(FORWARD_SLASH_SPLITTER.split(videoUri))); + String testId = String.format("%s_%s_%s", testIdPrefix, bitrate, fileName); Map inputValues = new HashMap<>(); inputValues.put("targetBitrate", bitrate); @@ -236,6 +272,8 @@ private double transformAndGetSsim(int bitrate) throws Exception { Transformer transformer = new Transformer.Builder(context) .setRemoveAudio(true) + .setTransformationRequest( + new TransformationRequest.Builder().setVideoMimeType(outputMimeType).build()) .setEncoderFactory( new DefaultEncoderFactory.Builder(context) .setRequestedVideoEncoderSettings( @@ -243,6 +281,7 @@ private double transformAndGetSsim(int bitrate) throws Exception { .setBitrate(bitrate) .setBitrateMode(BITRATE_MODE_VBR) .build()) + .setEnableFallback(false) .build()) .build(); From 8aa4281dfae25c386aa0351e5dc8b9fd939e0af0 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 26 Jul 2022 23:33:10 +0000 Subject: [PATCH 113/422] Add 8 new videos, representing lower resolutions. Downsampled from 3840x2160 resolution videos using ffmpeg: `ffmpeg -i -filter:v scale=: -c:a copy ` PiperOrigin-RevId: 463454628 (cherry picked from commit 56e50b63ec30ed514f8b2fc62f54251dd4df61dc) --- .../media3/transformer/AndroidTestUtil.java | 96 +++++++++++++++++++ .../mh/analysis/SsimMapperTest.java | 16 ++++ 2 files changed, 112 insertions(+) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index b5d461b6ac7..2c9c2a7f087 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -207,6 +207,86 @@ public final class AndroidTestUtil { .setFrameRate(28.414f) .build(); + public static final String MP4_REMOTE_256W_144H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_downsampled_256w_144h_30s_roof.mp4"; + public static final Format MP4_REMOTE_256W_144H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(256) + .setHeight(144) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_426W_240H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_downsampled_426w_240h_30s_roof.mp4"; + public static final Format MP4_REMOTE_426W_240H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(426) + .setHeight(240) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_640W_360H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_downsampled_640w_360h_30s_roof.mp4"; + public static final Format MP4_REMOTE_640W_360H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(640) + .setHeight(360) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_854W_480H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/OnePlusNord2_downsampled_854w_480h_30s_roof.mp4"; + public static final Format MP4_REMOTE_854W_480H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(854) + .setHeight(480) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_256W_144H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_downsampled_256w_144h_30s_roof.mp4"; + public static final Format MP4_REMOTE_256W_144H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(256) + .setHeight(144) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_426W_240H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_downsampled_426w_240h_30s_roof.mp4"; + public static final Format MP4_REMOTE_426W_240H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(426) + .setHeight(240) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_640W_360H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_downsampled_640w_360h_30s_roof.mp4"; + public static final Format MP4_REMOTE_640W_360H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(640) + .setHeight(360) + .setFrameRate(30) + .build(); + + public static final String MP4_REMOTE_854W_480H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/RedmiNote9_downsampled_854w_480h_30s_roof.mp4"; + public static final Format MP4_REMOTE_854W_480H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT = + new Format.Builder() + .setSampleMimeType(VIDEO_H264) + .setWidth(854) + .setHeight(480) + .setFrameRate(30) + .build(); + public static final String MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3 = "https://storage.googleapis.com/exoplayer-test-media-1/mp4/device_videos/SonyXperiaXZ3_640w_480h_31s_roof.mp4"; public static final Format MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3_FORMAT = @@ -494,6 +574,22 @@ public static Format getFormatForTestFile(String uri) { return MP4_REMOTE_H264_MP3_FORMAT; case MP4_REMOTE_4K60_PORTRAIT_URI_STRING: return MP4_REMOTE_4K60_PORTRAIT_FORMAT; + case MP4_REMOTE_256W_144H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED: + return MP4_REMOTE_256W_144H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_426W_240H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED: + return MP4_REMOTE_426W_240H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_640W_360H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED: + return MP4_REMOTE_640W_360H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_854W_480H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED: + return MP4_REMOTE_854W_480H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_256W_144H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED: + return MP4_REMOTE_256W_144H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_426W_240H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED: + return MP4_REMOTE_426W_240H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_640W_360H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED: + return MP4_REMOTE_640W_360H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT; + case MP4_REMOTE_854W_480H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED: + return MP4_REMOTE_854W_480H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED_FORMAT; case MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3: return MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3_FORMAT; case MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION: diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java index e906322823d..b668ffbe872 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java @@ -27,12 +27,20 @@ import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_ONEPLUSNORD2; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_1920W_1080H_60_FPS_30_SECOND_ROOF_REDMINOTE9; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_2400W_1080H_34_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_256W_144H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_256W_144H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_ONEPLUSNORD2; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_30_SECOND_ROOF_REDMINOTE9; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_32_SECOND_HIGHMOTION; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_3840W_2160H_5_SECOND_HIGHMOTION; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_426W_240H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_426W_240H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_640W_360H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_640W_360H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3; import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_7680W_4320H_31_SECOND_ROOF_SAMSUNGS20ULTRA5G; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_854W_480H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED; +import static androidx.media3.transformer.AndroidTestUtil.MP4_REMOTE_854W_480H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED; import static androidx.media3.transformer.AndroidTestUtil.getFormatForTestFile; import static androidx.media3.transformer.AndroidTestUtil.skipAndLogIfInsufficientCodecSupport; import static androidx.media3.transformer.TransformationTestResult.SSIM_UNSET; @@ -78,6 +86,14 @@ public class SsimMapperTest { // take up to 40 minutes to complete for a single clip on lower end devices. private static final ImmutableList INPUT_FILES = ImmutableList.of( + MP4_REMOTE_256W_144H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED, + MP4_REMOTE_256W_144H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED, + MP4_REMOTE_426W_240H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED, + MP4_REMOTE_426W_240H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED, + MP4_REMOTE_640W_360H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED, + MP4_REMOTE_640W_360H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED, + MP4_REMOTE_854W_480H_30_SECOND_ROOF_ONEPLUSNORD2_DOWNSAMPLED, + MP4_REMOTE_854W_480H_30_SECOND_ROOF_REDMINOTE9_DOWNSAMPLED, MP4_REMOTE_640W_480H_31_SECOND_ROOF_SONYXPERIAXZ3, MP4_REMOTE_1280W_720H_5_SECOND_HIGHMOTION, MP4_REMOTE_1280W_720H_30_SECOND_HIGHMOTION, From 309fd907b1cbf5070b11532e71a0f15a4a8d7ba3 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 26 Jul 2022 23:34:30 +0000 Subject: [PATCH 114/422] Make FrameInfo and SurfaceInfo public. Both are used in the public FrameProcessor interface, so they should be public too. PiperOrigin-RevId: 463454859 (cherry picked from commit b1b9ba825f83030c5d5b0617796176f21526dc2e) --- .../src/main/java/androidx/media3/transformer/FrameInfo.java | 5 ++++- .../main/java/androidx/media3/transformer/SurfaceInfo.java | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java index d35c12fa0c4..d70e6b7f5cb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java @@ -17,8 +17,11 @@ import static androidx.media3.common.util.Assertions.checkArgument; +import androidx.media3.common.util.UnstableApi; + /** Value class specifying information about a decoded video frame. */ -/* package */ class FrameInfo { +@UnstableApi +public class FrameInfo { /** The width of the frame, in pixels. */ public final int width; /** The height of the frame, in pixels. */ diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java index 217dd8c75c9..ab2d5ad69fe 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java @@ -19,9 +19,11 @@ import android.view.Surface; import androidx.annotation.Nullable; +import androidx.media3.common.util.UnstableApi; /** Immutable value class for a {@link Surface} and supporting information. */ -/* package */ final class SurfaceInfo { +@UnstableApi +public final class SurfaceInfo { /** The {@link Surface}. */ public final Surface surface; From 49a65116964ed4a695b2b14ef14fe3a2b2e4148f Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 27 Jul 2022 19:08:58 +0000 Subject: [PATCH 115/422] Remove redundant interface from FinalMatrixTPWrapper. PiperOrigin-RevId: 463646211 (cherry picked from commit b28fb139988f54d1446df7426d508de34695299f) --- .../transformer/FinalMatrixTransformationProcessorWrapper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 6bf77cb7957..55f6c434588 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -54,7 +54,7 @@ * GlTextureProcessor} instances used by {@link FrameProcessor}. */ /* package */ final class FinalMatrixTransformationProcessorWrapper - implements GlTextureProcessor, ExternalTextureProcessor { + implements ExternalTextureProcessor { private static final String TAG = "FinalProcessorWrapper"; From 6e390771a00606edf9852b77526a5ad47b6874c5 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 27 Jul 2022 22:40:20 +0000 Subject: [PATCH 116/422] Add Effect marker interface. This allows non-GL effects to be passed to custom FrameProcessor implementations. PiperOrigin-RevId: 463696384 (cherry picked from commit 580e44fc47ec5b62da5a133d12048a20d716e94f) --- .../demo/transformer/TransformerActivity.java | 57 ++++++++++--------- .../GlEffectsFrameProcessorPixelTest.java | 4 +- .../androidx/media3/transformer/Effect.java | 23 ++++++++ .../media3/transformer/FrameProcessor.java | 6 +- .../androidx/media3/transformer/GlEffect.java | 2 +- .../transformer/GlEffectsFrameProcessor.java | 23 +++++--- .../media3/transformer/Transformer.java | 30 +++++----- .../transformer/TransformerVideoRenderer.java | 4 +- .../VideoTranscodingSamplePipeline.java | 8 +-- 9 files changed, 98 insertions(+), 59 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index bd622f7dd06..bc0e3fdfb9a 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -44,6 +44,7 @@ import androidx.media3.transformer.Contrast; import androidx.media3.transformer.DebugViewProvider; import androidx.media3.transformer.DefaultEncoderFactory; +import androidx.media3.transformer.Effect; import androidx.media3.transformer.GlEffect; import androidx.media3.transformer.GlTextureProcessor; import androidx.media3.transformer.ProgressHolder; @@ -265,7 +266,7 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) .setEnableFallback(bundle.getBoolean(ConfigurationActivity.ENABLE_FALLBACK)) .build()); - ImmutableList.Builder effects = new ImmutableList.Builder<>(); + ImmutableList.Builder effects = new ImmutableList.Builder<>(); @Nullable boolean[] selectedEffects = bundle.getBooleanArray(ConfigurationActivity.DEMO_EFFECTS_SELECTIONS); @@ -280,43 +281,45 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) clazz.getConstructor( Context.class, Boolean.class, String.class, String.class, String.class); effects.add( - (Context context, boolean useHdr) -> { - try { - return (GlTextureProcessor) - constructor.newInstance( - context, - useHdr, - /* graphName= */ "edge_detector_mediapipe_graph.binarypb", - /* inputStreamName= */ "input_video", - /* outputStreamName= */ "output_video"); - } catch (Exception e) { - runOnUiThread(() -> showToast(R.string.no_media_pipe_error)); - throw new RuntimeException("Failed to load MediaPipe processor", e); - } - }); + (GlEffect) + (Context context, boolean useHdr) -> { + try { + return (GlTextureProcessor) + constructor.newInstance( + context, + useHdr, + /* graphName= */ "edge_detector_mediapipe_graph.binarypb", + /* inputStreamName= */ "input_video", + /* outputStreamName= */ "output_video"); + } catch (Exception e) { + runOnUiThread(() -> showToast(R.string.no_media_pipe_error)); + throw new RuntimeException("Failed to load MediaPipe processor", e); + } + }); } catch (Exception e) { showToast(R.string.no_media_pipe_error); } } if (selectedEffects[2]) { effects.add( - (Context context, boolean useHdr) -> - new PeriodicVignetteProcessor( - context, - useHdr, - bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_X), - bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_Y), - /* minInnerRadius= */ bundle.getFloat( - ConfigurationActivity.PERIODIC_VIGNETTE_INNER_RADIUS), - /* maxInnerRadius= */ bundle.getFloat( - ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS), - bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS))); + (GlEffect) + (Context context, boolean useHdr) -> + new PeriodicVignetteProcessor( + context, + useHdr, + bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_X), + bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_CENTER_Y), + /* minInnerRadius= */ bundle.getFloat( + ConfigurationActivity.PERIODIC_VIGNETTE_INNER_RADIUS), + /* maxInnerRadius= */ bundle.getFloat( + ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS), + bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS))); } if (selectedEffects[3]) { effects.add(MatrixTransformationFactory.createSpin3dEffect()); } if (selectedEffects[4]) { - effects.add(BitmapOverlayProcessor::new); + effects.add((GlEffect) BitmapOverlayProcessor::new); } if (selectedEffects[5]) { effects.add(MatrixTransformationFactory.createZoomInTransition()); diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 9d83cd5300a..404feb0e49f 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -295,7 +295,7 @@ public void processData_withTwoWrappedScaleToFitTransformations_producesExpected "processData_withManyComposedMatrixTransformations_producesSameOutputAsCombinedTransformation"; Crop centerCrop = new Crop(/* left= */ -0.5f, /* right= */ 0.5f, /* bottom= */ -0.5f, /* top= */ 0.5f); - ImmutableList.Builder full10StepRotationAndCenterCrop = new ImmutableList.Builder<>(); + ImmutableList.Builder full10StepRotationAndCenterCrop = new ImmutableList.Builder<>(); for (int i = 0; i < 10; i++) { full10StepRotationAndCenterCrop.add(new Rotation(/* degrees= */ 36)); } @@ -336,7 +336,7 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, GlEffect... setUpAndPrepareFirstFrame(pixelWidthHeightRatio, asList(effects)); } - private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, List effects) + private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, List effects) throws Exception { // Set up the extractor to read the first video frame and get its format. MediaExtractor mediaExtractor = new MediaExtractor(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java new file mode 100644 index 00000000000..6d85e2f38d7 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java @@ -0,0 +1,23 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import androidx.media3.common.util.UnstableApi; + +/** Marker interface for a video frame effect. */ +@UnstableApi +public interface Effect {} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java index e2eb0250c62..26a370b18f9 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java @@ -24,7 +24,7 @@ /** * Interface for a frame processor that applies changes to individual video frames. * - *

      The changes are specified by {@link GlEffect} instances passed to the {@link Factory}. + *

      The changes are specified by {@link Effect} instances passed to the {@link Factory}. * *

      The frame processor manages its input {@link Surface} which can be accessed via {@link * #getInputSurface()}. The output {@link Surface} must be set by the caller using {@link @@ -44,7 +44,7 @@ interface Factory { * * @param context A {@link Context}. * @param listener A {@link Listener}. - * @param effects The {@link GlEffect} instances to apply to each frame. + * @param effects The {@link Effect} instances to apply to each frame. * @param debugViewProvider A {@link DebugViewProvider}. * @param useHdr Whether to process the input as an HDR signal. * @return A new instance. @@ -54,7 +54,7 @@ interface Factory { FrameProcessor create( Context context, FrameProcessor.Listener listener, - List effects, + List effects, DebugViewProvider debugViewProvider, boolean useHdr) throws FrameProcessingException; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index dde2b52012c..aa69767be82 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -26,7 +26,7 @@ * the effect. */ @UnstableApi -public interface GlEffect { +public interface GlEffect extends Effect { /** * Returns a {@link SingleFrameGlTextureProcessor} that applies the effect. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index aa1d6c59026..808215dc41c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -15,6 +15,7 @@ */ package androidx.media3.transformer; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static com.google.common.collect.Iterables.getLast; @@ -53,13 +54,15 @@ public static class Factory implements FrameProcessor.Factory { /** * {@inheritDoc} * + *

      All {@link Effect} instances must be {@link GlEffect} instances. + * *

      Using HDR requires the {@code EXT_YUV_target} OpenGL extension. */ @Override public GlEffectsFrameProcessor create( Context context, FrameProcessor.Listener listener, - List effects, + List effects, DebugViewProvider debugViewProvider, boolean useHdr) throws FrameProcessingException { @@ -93,6 +96,8 @@ public GlEffectsFrameProcessor create( * GlTextureProcessor} instances corresponding to the {@link GlEffect} instances, and returns a * new {@code GlEffectsFrameProcessor}. * + *

      All {@link Effect} instances must be {@link GlEffect} instances. + * *

      This method must be executed using the {@code singleThreadExecutorService}, as later OpenGL * commands will be called on that thread. */ @@ -100,7 +105,7 @@ public GlEffectsFrameProcessor create( private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( Context context, FrameProcessor.Listener listener, - List effects, + List effects, DebugViewProvider debugViewProvider, boolean useHdr, ExecutorService singleThreadExecutorService) @@ -142,13 +147,15 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( * MatrixTransformationProcessor} and converts all other {@link GlEffect} instances to separate * {@link GlTextureProcessor} instances. * + *

      All {@link Effect} instances must be {@link GlEffect} instances. + * * @return A non-empty list of {@link GlTextureProcessor} instances to apply in the given order. * The first is an {@link ExternalTextureProcessor} and the last is a {@link * FinalMatrixTransformationProcessorWrapper}. */ private static ImmutableList getGlTextureProcessorsForGlEffects( Context context, - List effects, + List effects, EGLDisplay eglDisplay, EGLContext eglContext, FrameProcessor.Listener listener, @@ -161,9 +168,11 @@ private static ImmutableList getGlTextureProcessorsForGlEffe new ImmutableList.Builder<>(); boolean sampleFromExternalTexture = true; for (int i = 0; i < effects.size(); i++) { - GlEffect effect = effects.get(i); - if (effect instanceof GlMatrixTransformation) { - matrixTransformationListBuilder.add((GlMatrixTransformation) effect); + Effect effect = effects.get(i); + checkArgument(effect instanceof GlEffect, "GlEffectsFrameProcessor only supports GlEffects"); + GlEffect glEffect = (GlEffect) effect; + if (glEffect instanceof GlMatrixTransformation) { + matrixTransformationListBuilder.add((GlMatrixTransformation) glEffect); continue; } ImmutableList matrixTransformations = @@ -179,7 +188,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } - textureProcessorListBuilder.add(effect.toGlTextureProcessor(context, useHdr)); + textureProcessorListBuilder.add(glEffect.toGlTextureProcessor(context, useHdr)); } textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index d35feefce15..cd8642b18cc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -103,7 +103,7 @@ public static final class Builder { private boolean removeVideo; private String containerMimeType; private TransformationRequest transformationRequest; - private ImmutableList videoEffects; + private ImmutableList videoEffects; private FrameProcessor.Factory frameProcessorFactory; private ListenerSet listeners; private DebugViewProvider debugViewProvider; @@ -168,32 +168,36 @@ public Builder setTransformationRequest(TransformationRequest transformationRequ } /** - * Sets the {@linkplain GlEffect effects} to apply to each video frame. + * Sets the {@link Effect} instances to apply to each video frame. * - *

      The {@linkplain GlEffect effects} are applied before any {@linkplain + *

      The {@link Effect} instances are applied before any {@linkplain * TransformationRequest.Builder#setScale(float, float) scale}, {@linkplain * TransformationRequest.Builder#setRotationDegrees(float) rotation}, or {@linkplain * TransformationRequest.Builder#setResolution(int) resolution} changes specified in the {@link * #setTransformationRequest(TransformationRequest) TransformationRequest} but after {@linkplain * TransformationRequest.Builder#setFlattenForSlowMotion(boolean) slow-motion flattening}. * - * @param effects The {@linkplain GlEffect effects} to apply to each video frame. + *

      The default {@link FrameProcessor} only supports {@link GlEffect} instances. To use other + * effects, call {@link #setFrameProcessorFactory(FrameProcessor.Factory)} with a custom {@link + * FrameProcessor.Factory}. + * + * @param effects The {@link Effect} instances to apply to each video frame. * @return This builder. */ @CanIgnoreReturnValue - public Builder setVideoEffects(List effects) { + public Builder setVideoEffects(List effects) { this.videoEffects = ImmutableList.copyOf(effects); return this; } /** * Sets the {@link FrameProcessor.Factory} for the {@link FrameProcessor} to use when applying - * {@linkplain GlEffect effects} to the video frames. + * {@linkplain Effect effects} to the video frames. * *

      This factory will be used to create the {@link FrameProcessor} used for applying the - * {@link GlEffect} instances passed to {@link #setVideoEffects(List)} and any - * additional {@link GlMatrixTransformation} instances derived from the {@link - * TransformationRequest} set using {@link #setTransformationRequest(TransformationRequest)}. + * {@link Effect} instances passed to {@link #setVideoEffects(List)} and any additional + * {@link GlMatrixTransformation} instances derived from the {@link TransformationRequest} set + * using {@link #setTransformationRequest(TransformationRequest)}. * *

      The default is {@link GlEffectsFrameProcessor.Factory}. * @@ -571,7 +575,7 @@ default void onFallbackApplied( private final boolean removeVideo; private final String containerMimeType; private final TransformationRequest transformationRequest; - private final ImmutableList videoEffects; + private final ImmutableList videoEffects; private final FrameProcessor.Factory frameProcessorFactory; private final Looper looper; private final Clock clock; @@ -593,7 +597,7 @@ private Transformer( boolean removeVideo, String containerMimeType, TransformationRequest transformationRequest, - ImmutableList videoEffects, + ImmutableList videoEffects, FrameProcessor.Factory frameProcessorFactory, ListenerSet listeners, Looper looper, @@ -874,7 +878,7 @@ private static final class TransformerRenderersFactory implements RenderersFacto private final boolean removeVideo; private final TransformationRequest transformationRequest; private final boolean clippingStartsAtKeyFrame; - private final ImmutableList videoEffects; + private final ImmutableList videoEffects; private final FrameProcessor.Factory frameProcessorFactory; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; @@ -889,7 +893,7 @@ public TransformerRenderersFactory( boolean removeVideo, TransformationRequest transformationRequest, boolean clippingStartsAtKeyFrame, - ImmutableList videoEffects, + ImmutableList videoEffects, FrameProcessor.Factory frameProcessorFactory, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index f1587042d59..91f4766c6c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -38,7 +38,7 @@ private final Context context; private final boolean clippingStartsAtKeyFrame; - private final ImmutableList effects; + private final ImmutableList effects; private final FrameProcessor.Factory frameProcessorFactory; private final Codec.EncoderFactory encoderFactory; private final Codec.DecoderFactory decoderFactory; @@ -53,7 +53,7 @@ public TransformerVideoRenderer( TransformerMediaClock mediaClock, TransformationRequest transformationRequest, boolean clippingStartsAtKeyFrame, - ImmutableList effects, + ImmutableList effects, FrameProcessor.Factory frameProcessorFactory, Codec.EncoderFactory encoderFactory, Codec.DecoderFactory decoderFactory, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index c3496e0b3c6..187eaef9ecf 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -57,7 +57,7 @@ public VideoTranscodingSamplePipeline( Format inputFormat, long streamOffsetUs, TransformationRequest transformationRequest, - ImmutableList effects, + ImmutableList effects, FrameProcessor.Factory frameProcessorFactory, Codec.DecoderFactory decoderFactory, Codec.EncoderFactory encoderFactory, @@ -78,8 +78,8 @@ public VideoTranscodingSamplePipeline( int decodedHeight = (inputFormat.rotationDegrees % 180 == 0) ? inputFormat.height : inputFormat.width; - ImmutableList.Builder effectsListBuilder = - new ImmutableList.Builder().addAll(effects); + ImmutableList.Builder effectsListBuilder = + new ImmutableList.Builder().addAll(effects); if (transformationRequest.scaleX != 1f || transformationRequest.scaleY != 1f || transformationRequest.rotationDegrees != 0f) { @@ -136,7 +136,7 @@ public void onFrameProcessingEnded() { debugViewProvider, // HDR is only used if the MediaCodec encoder supports FEATURE_HdrEditing. This // implies that the OpenGL EXT_YUV_target extension is supported and hence the - // GlEffectsFrameProcessor also supports HDR. + // default FrameProcessor, GlEffectsFrameProcessor, also supports HDR. /* useHdr= */ encoderWrapper.isHdrEditingEnabled()); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( From 427a7a1ff9b018ece666ae6bc0e828eb23ffe7cb Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 27 Jul 2022 23:21:31 +0000 Subject: [PATCH 117/422] Generalize frame processing error codes. TransformationException error codes were previously tied to OpenGL but other FrameProcessor implementations are possible. So this CL renames the error codes. Also, remove GL_INIT_FAILED error code, as FrameProcessor implemenations may initialize resources on a background thread after the factory method returns, so it's not obvious how to distinguish between initialization failures and processing failures. PiperOrigin-RevId: 463704902 (cherry picked from commit 0f96d8615d28cf50f3efa0c34fb31e01fa0d491c) --- .../transformer/TransformationException.java | 14 +++++--------- .../VideoTranscodingSamplePipeline.java | 4 ++-- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index d5fb4d0819c..f03ebb9d62a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -70,8 +70,7 @@ public final class TransformationException extends Exception { ERROR_CODE_ENCODING_FAILED, ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED, ERROR_CODE_HDR_EDITING_UNSUPPORTED, - ERROR_CODE_GL_INIT_FAILED, - ERROR_CODE_GL_PROCESSING_FAILED, + ERROR_CODE_FRAME_PROCESSING_FAILED, ERROR_CODE_MUXING_FAILED, }) public @interface ErrorCode {} @@ -157,10 +156,8 @@ public final class TransformationException extends Exception { // Video editing errors (5xxx). - /** Caused by a GL initialization failure. */ - public static final int ERROR_CODE_GL_INIT_FAILED = 5001; - /** Caused by a failure while using or releasing a GL program. */ - public static final int ERROR_CODE_GL_PROCESSING_FAILED = 5002; + /** Caused by a frame processing failure. */ + public static final int ERROR_CODE_FRAME_PROCESSING_FAILED = 5001; // Muxing errors (6xxx). /** Caused by a failure while muxing media samples. */ @@ -185,8 +182,7 @@ public final class TransformationException extends Exception { .put("ERROR_CODE_ENCODING_FAILED", ERROR_CODE_ENCODING_FAILED) .put("ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED", ERROR_CODE_OUTPUT_FORMAT_UNSUPPORTED) .put("ERROR_CODE_HDR_EDITING_UNSUPPORTED", ERROR_CODE_HDR_EDITING_UNSUPPORTED) - .put("ERROR_CODE_GL_INIT_FAILED", ERROR_CODE_GL_INIT_FAILED) - .put("ERROR_CODE_GL_PROCESSING_FAILED", ERROR_CODE_GL_PROCESSING_FAILED) + .put("ERROR_CODE_FRAME_PROCESSING_FAILED", ERROR_CODE_FRAME_PROCESSING_FAILED) .put("ERROR_CODE_MUXING_FAILED", ERROR_CODE_MUXING_FAILED) .buildOrThrow(); @@ -204,7 +200,7 @@ public static String getErrorCodeName(@ErrorCode int errorCode) { * Equivalent to {@link TransformationException#getErrorCodeName(int) * TransformationException.getErrorCodeName(this.errorCode)}. */ - public final String getErrorCodeName() { + public String getErrorCodeName() { return getErrorCodeName(errorCode); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 187eaef9ecf..30d7a93284d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -120,7 +120,7 @@ public void onOutputSizeChanged(int width, int height) { public void onFrameProcessingError(FrameProcessingException exception) { asyncErrorListener.onTransformationException( TransformationException.createForFrameProcessingException( - exception, TransformationException.ERROR_CODE_GL_PROCESSING_FAILED)); + exception, TransformationException.ERROR_CODE_FRAME_PROCESSING_FAILED)); } @Override @@ -140,7 +140,7 @@ public void onFrameProcessingEnded() { /* useHdr= */ encoderWrapper.isHdrEditingEnabled()); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( - e, TransformationException.ERROR_CODE_GL_INIT_FAILED); + e, TransformationException.ERROR_CODE_FRAME_PROCESSING_FAILED); } frameProcessor.setInputFrameInfo( new FrameInfo( From 4eff5e5172b58648a79b9b896538d991e7e4973d Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 8 Aug 2022 08:18:45 +0000 Subject: [PATCH 118/422] Merge pull request #126 from stoyicker:cap_concurrent_remove_tasks PiperOrigin-RevId: 463792127 (cherry picked from commit 7f08ab729ad571247d2e65870eee06166b3bfdef) --- RELEASENOTES.md | 3 ++ .../exoplayer/offline/DownloadManager.java | 10 ++++- .../offline/DownloadManagerTest.java | 38 +++++++++++++++++-- 3 files changed, 46 insertions(+), 5 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1b23282c614..4d2baf5adfd 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -9,6 +9,9 @@ * Use `SingleThreadExecutor` for releasing `AudioTrack` instances to avoid OutOfMemory errors when releasing multiple players at the same time ([#10057](https://github.com/google/ExoPlayer/issues/10057)). + * Limit parallel download removals to 1 to avoid excessive thread creation + ([#10458](https://github.com/google/ExoPlayer/issues/10458)). +* Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java index 2679e634f23..c5f03d874bf 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java @@ -709,6 +709,7 @@ private static final class InternalHandler extends Handler { private int maxParallelDownloads; private int minRetryCount; private int activeDownloadTaskCount; + private boolean hasActiveRemoveTask; public InternalHandler( HandlerThread thread, @@ -1060,6 +1061,10 @@ private void syncRemovingDownload(@Nullable Task activeTask, Download download) return; } + if (hasActiveRemoveTask) { + return; + } + // We can start a remove task. Downloader downloader = downloaderFactory.createDownloader(download.request); activeTask = @@ -1071,6 +1076,7 @@ private void syncRemovingDownload(@Nullable Task activeTask, Download download) minRetryCount, /* internalHandler= */ this); activeTasks.put(download.request.id, activeTask); + hasActiveRemoveTask = true; activeTask.start(); } @@ -1100,7 +1106,9 @@ private void onTaskStopped(Task task) { activeTasks.remove(downloadId); boolean isRemove = task.isRemove; - if (!isRemove && --activeDownloadTaskCount == 0) { + if (isRemove) { + hasActiveRemoveTask = false; + } else if (--activeDownloadTaskCount == 0) { removeMessages(MSG_UPDATE_PROGRESS); } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/DownloadManagerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/DownloadManagerTest.java index 9cce8afbed0..858d98f2eb1 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/DownloadManagerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/DownloadManagerTest.java @@ -284,14 +284,14 @@ public void removeAllDownloads_removesAllDownloads() throws Throwable { postRemoveAllRequest(); // Both downloads should be removed. FakeDownloader downloader2 = getDownloaderAt(2); - FakeDownloader downloader3 = getDownloaderAt(3); downloader2.assertId(ID1); - downloader3.assertId(ID2); downloader2.assertRemoveStarted(); - downloader3.assertRemoveStarted(); downloader2.finish(); - downloader3.finish(); assertRemoved(ID1); + FakeDownloader downloader3 = getDownloaderAt(3); + downloader3.assertId(ID2); + downloader3.assertRemoveStarted(); + downloader3.finish(); assertRemoved(ID2); downloadManagerListener.blockUntilIdleAndThrowAnyFailure(); @@ -713,6 +713,36 @@ public void mergeRequest_completedWithStopReason_becomesStopped() { assertEqualIgnoringUpdateTime(mergedDownload, expectedDownload); } + @Test + public void removeRequests_runSequentially() throws Throwable { + // Trigger two remove requests. + postDownloadRequest(ID1); + getDownloaderAt(0).finish(); + postDownloadRequest(ID2); + getDownloaderAt(1).finish(); + postRemoveRequest(ID1); + postRemoveRequest(ID2); + + // Assert first remove request is executing, second one is queued. + assertRemoving(ID1); + assertQueued(ID2); + FakeDownloader downloader2 = getDownloaderAt(2); + downloader2.assertId(ID1); + downloader2.assertRemoveStarted(); + downloader2.finish(); + assertRemoved(ID1); + + // Assert second one is running after first one finished + assertRemoving(ID2); + FakeDownloader downloader3 = getDownloaderAt(3); + downloader3.assertId(ID2); + downloader3.assertRemoveStarted(); + downloader3.finish(); + assertRemoved(ID2); + + downloadManagerListener.blockUntilIdleAndThrowAnyFailure(); + } + private void setupDownloadManager(int maxParallelDownloads) throws Exception { if (downloadManager != null) { releaseDownloadManager(); From 561b83e282dcaf04110ceb14e41393e6a6cb97b9 Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 28 Jul 2022 11:10:36 +0000 Subject: [PATCH 119/422] Delay unbinding the controller until pending commands are handled. Once a controller bound to a MediaSessionService unbinds, this service may be destroyed immediately if this was the last bound controller and the service isn't started in the foreground. At the time of releasing the controller, there may still be pending commands that need to be handled by the session service. These commands may cause the session service to post a foreground notification to keep it alive. So to avoid the destruction of the service while these commands are still handled, we need to keep the controller bound. We also add a timeout in case the session tasks are never completed by the session implementation. In case the controller is destroyed, the unbinding happens automatically by the system. PiperOrigin-RevId: 463802220 (cherry picked from commit ac42b593cc3280b866d42cdc11d57bb031b39757) --- .../media3/session/MediaController.java | 12 +++- .../session/MediaControllerImplBase.java | 17 +++-- .../media3/session/MediaControllerStub.java | 19 +++--- .../session/SequencedFutureManager.java | 43 +++++++++++- libraries/test_session_current/build.gradle | 1 + .../session/MediaSessionServiceTest.java | 66 +++++++++++++++++++ .../session/MockMediaSessionService.java | 50 ++++++++++++++ 7 files changed, 189 insertions(+), 19 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index 235ca6553f9..7f09bd14cac 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -98,8 +98,10 @@ * {@link MediaSession} in it. {@link MediaSessionService} will provide a session to connect. * *

      When you're done, use {@link #releaseFuture(Future)} or {@link #release()} to clean up - * resources. This also helps session service to be destroyed when there's no controller associated - * with it. + * resources. This also helps the session service to be destroyed when there's no controller + * associated with it. Releasing the controller will still deliver all pending commands sent to the + * session and only unbind from the session service once these commands have been handled, or after + * a timeout of {@link #RELEASE_UNBIND_TIMEOUT_MS}. * *

      Threading Model

      * @@ -161,6 +163,12 @@ */ public class MediaController implements Player { + /** + * The timeout for handling pending commands after calling {@link #release()}. If the timeout is + * reached, the controller is unbound from the session service even if commands are still pending. + */ + @UnstableApi public static final long RELEASE_UNBIND_TIMEOUT_MS = 30_000; + private static final String TAG = "MediaController"; private static final String WRONG_THREAD_ERROR_MESSAGE = diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index df7d2e5b008..aadc8a42d6d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -162,6 +162,8 @@ public static final String TAG = "MCImplBase"; + private static final long RELEASE_TIMEOUT_MS = 30_000; + private final MediaController instance; protected final SequencedFutureManager sequencedFutureManager; protected final MediaControllerStub controllerStub; @@ -315,14 +317,9 @@ public void release() { return; } released = true; - if (serviceConnection != null) { - context.unbindService(serviceConnection); - serviceConnection = null; - } connectedToken = null; flushCommandQueueHandler.release(); this.iSession = null; - controllerStub.destroy(); if (iSession != null) { int seq = sequencedFutureManager.obtainNextSequenceNumber(); try { @@ -332,8 +329,16 @@ public void release() { // No-op. } } - sequencedFutureManager.release(); listeners.release(); + sequencedFutureManager.lazyRelease( + RELEASE_TIMEOUT_MS, + () -> { + if (serviceConnection != null) { + context.unbindService(serviceConnection); + serviceConnection = null; + } + controllerStub.destroy(); + }); } @Override diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java index 1e27fd8e65a..9e9fa0fc627 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java @@ -29,6 +29,7 @@ import androidx.media3.session.MediaLibraryService.LibraryParams; import java.lang.ref.WeakReference; import java.util.List; +import org.checkerframework.checker.nullness.qual.NonNull; /* package */ class MediaControllerStub extends IMediaController.Stub { @@ -41,7 +42,7 @@ public MediaControllerStub(MediaControllerImplBase controller) { } @Override - public void onSessionResult(int seq, Bundle sessionResultBundle) { + public void onSessionResult(int sequenceNum, Bundle sessionResultBundle) { SessionResult result; try { result = SessionResult.CREATOR.fromBundle(sessionResultBundle); @@ -52,11 +53,11 @@ public void onSessionResult(int seq, Bundle sessionResultBundle) { // Don't post setting future result so the result can be obtained on the application looper. // For an example, {@code MediaController.setRating(rating).get()} wouldn't return if the // result is posted. - dispatchControllerTask(controller -> controller.setFutureResult(seq, result)); + setControllerFutureResult(sequenceNum, result); } @Override - public void onLibraryResult(int seq, Bundle libraryResultBundle) { + public void onLibraryResult(int sequenceNum, Bundle libraryResultBundle) { LibraryResult result; try { result = LibraryResult.UNKNOWN_TYPE_CREATOR.fromBundle(libraryResultBundle); @@ -67,8 +68,7 @@ public void onLibraryResult(int seq, Bundle libraryResultBundle) { // Don't post setting future result so the result can be obtained on the application looper. // For an example, {@code MediaBrowser.getLibraryRoot(params).get()} wouldn't return if the // result is posted. - dispatchControllerTask( - (ControllerTask) browser -> browser.setFutureResult(seq, result)); + setControllerFutureResult(sequenceNum, result); } @Override @@ -246,16 +246,15 @@ public void destroy() { controller.clear(); } - private void dispatchControllerTask(ControllerTask task) { + private void setControllerFutureResult( + int sequenceNum, T futureResult) { long token = Binder.clearCallingIdentity(); try { @Nullable MediaControllerImplBase controller = this.controller.get(); - if (controller == null || controller.isReleased()) { + if (controller == null) { return; } - @SuppressWarnings("unchecked") - T castedController = (T) controller; - task.run(castedController); + controller.setFutureResult(sequenceNum, futureResult); } finally { Binder.restoreCallingIdentity(token); } diff --git a/libraries/session/src/main/java/androidx/media3/session/SequencedFutureManager.java b/libraries/session/src/main/java/androidx/media3/session/SequencedFutureManager.java index b468bee847f..21fe8a0fa66 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SequencedFutureManager.java +++ b/libraries/session/src/main/java/androidx/media3/session/SequencedFutureManager.java @@ -15,10 +15,14 @@ */ package androidx.media3.session; +import static androidx.media3.common.util.Assertions.checkNotNull; + +import android.os.Handler; import androidx.annotation.GuardedBy; import androidx.annotation.Nullable; import androidx.collection.ArrayMap; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Util; import com.google.common.util.concurrent.AbstractFuture; import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; @@ -39,6 +43,17 @@ @GuardedBy("lock") private final ArrayMap> seqToFutureMap; + @GuardedBy("lock") + @Nullable + private Runnable pendingLazyReleaseCallback; + + @GuardedBy("lock") + @Nullable + private Handler releaseCallbackHandler; + + @GuardedBy("lock") + private boolean isReleased; + public SequencedFutureManager() { lock = new Object(); seqToFutureMap = new ArrayMap<>(); @@ -66,7 +81,11 @@ public int obtainNextSequenceNumber() { synchronized (lock) { int seq = obtainNextSequenceNumber(); SequencedFuture result = SequencedFuture.create(seq, resultWhenClosed); - seqToFutureMap.put(seq, result); + if (isReleased) { + result.setWithTheValueOfResultWhenClosed(); + } else { + seqToFutureMap.put(seq, result); + } return result; } } @@ -94,20 +113,42 @@ public int obtainNextSequenceNumber() { + result.getClass()); } } + if (pendingLazyReleaseCallback != null && seqToFutureMap.isEmpty()) { + release(); + } } } public void release() { List> pendingResults; synchronized (lock) { + isReleased = true; pendingResults = new ArrayList<>(seqToFutureMap.values()); seqToFutureMap.clear(); + if (pendingLazyReleaseCallback != null) { + checkNotNull(releaseCallbackHandler).post(pendingLazyReleaseCallback); + pendingLazyReleaseCallback = null; + releaseCallbackHandler = null; + } } for (SequencedFuture result : pendingResults) { result.setWithTheValueOfResultWhenClosed(); } } + public void lazyRelease(long timeoutMs, Runnable releaseCallback) { + synchronized (lock) { + Handler releaseCallbackHandler = Util.createHandlerForCurrentLooper(); + this.releaseCallbackHandler = releaseCallbackHandler; + pendingLazyReleaseCallback = releaseCallback; + if (seqToFutureMap.isEmpty()) { + release(); + } else { + releaseCallbackHandler.postDelayed(this::release, timeoutMs); + } + } + } + public static final class SequencedFuture extends AbstractFuture { private final int sequenceNumber; diff --git a/libraries/test_session_current/build.gradle b/libraries/test_session_current/build.gradle index 4d7ad668a4f..429b89881a5 100644 --- a/libraries/test_session_current/build.gradle +++ b/libraries/test_session_current/build.gradle @@ -38,6 +38,7 @@ dependencies { implementation project(modulePrefix + 'lib-session') implementation project(modulePrefix + 'test-session-common') implementation 'androidx.media:media:' + androidxMediaVersion + androidTestImplementation project(modulePrefix + 'lib-exoplayer') androidTestImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion androidTestImplementation 'androidx.test.ext:truth:' + androidxTestTruthVersion androidTestImplementation 'androidx.test:core:' + androidxTestCoreVersion diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java index fb6c95f6154..6f838131278 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionServiceTest.java @@ -25,8 +25,12 @@ import android.content.ComponentName; import android.content.Context; import android.os.Bundle; +import android.os.Handler; import android.os.Looper; +import androidx.media3.common.MediaItem; import androidx.media3.common.Player; +import androidx.media3.common.util.ConditionVariable; +import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.session.MediaSession.ControllerInfo; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.MainLooperTestRule; @@ -34,11 +38,14 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.MediumTest; +import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.SettableFuture; import java.util.ArrayList; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutionException; +import java.util.concurrent.atomic.AtomicBoolean; import org.junit.After; import org.junit.Before; import org.junit.ClassRule; @@ -79,6 +86,65 @@ public void cleanUp() { TestServiceRegistry.getInstance().cleanUp(); } + @Test + public void controllerRelease_keepsControllerBoundUntilCommandsHandled() throws Exception { + TestServiceRegistry testServiceRegistry = TestServiceRegistry.getInstance(); + ConditionVariable mediaItemsAdded = new ConditionVariable(); + AtomicBoolean controllerBoundWhenMediaItemsAdded = new AtomicBoolean(false); + testServiceRegistry.setOnGetSessionHandler( + controllerInfo -> { + // Save bound state at the point where media items are added and listeners are informed. + MockMediaSessionService service = + (MockMediaSessionService) testServiceRegistry.getServiceInstance(); + Player player = new ExoPlayer.Builder(service).build(); + player.addListener( + new Player.Listener() { + @Override + public void onEvents(Player player, Player.Events events) { + if (events.contains(Player.EVENT_TIMELINE_CHANGED) + && !player.getCurrentTimeline().isEmpty()) { + controllerBoundWhenMediaItemsAdded.set(service.hasBoundController()); + mediaItemsAdded.open(); + } + } + }); + // Add short delay for resolving media items. + return new MediaSession.Builder(service, player) + .setCallback( + new MediaSession.Callback() { + @Override + public ListenableFuture> onAddMediaItems( + MediaSession mediaSession, + ControllerInfo controller, + List mediaItems) { + SettableFuture> future = SettableFuture.create(); + MediaItem playableItem = + mediaItems.get(0).buildUpon().setUri("https://test.test").build(); + new Handler(Looper.myLooper()) + .postDelayed( + () -> future.set(ImmutableList.of(playableItem)), + /* delayMillis= */ 500); + return future; + } + }) + .build(); + }); + RemoteMediaController controller = + controllerTestRule.createRemoteController( + token, /* waitForConnection= */ true, /* connectionHints= */ null); + MockMediaSessionService service = + (MockMediaSessionService) testServiceRegistry.getServiceInstance(); + + // Add items and release controller immediately. + controller.addMediaItem(new MediaItem.Builder().setMediaId("media_id").build()); + controller.release(); + + // Assert controller is still bound when command is fully handled and unbound after that. + mediaItemsAdded.block(TIMEOUT_MS); + assertThat(controllerBoundWhenMediaItemsAdded.get()).isEqualTo(true); + service.blockUntilAllControllersUnbind(TIMEOUT_MS); + } + /** * Tests whether {@link MediaSessionService#onGetSession(ControllerInfo)} is called when * controller tries to connect, with the proper arguments. diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaSessionService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaSessionService.java index 2ccf5acfc10..d3bc2aec821 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaSessionService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaSessionService.java @@ -17,11 +17,17 @@ import static androidx.media3.test.session.common.CommonConstants.SUPPORT_APP_PACKAGE_NAME; +import android.content.Intent; import android.os.HandlerThread; +import android.os.IBinder; import android.text.TextUtils; +import androidx.annotation.Nullable; +import androidx.media3.common.util.ConditionVariable; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.session.MediaSession.ControllerInfo; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicInteger; /** A mock MediaSessionService */ @UnstableApi @@ -29,8 +35,37 @@ public class MockMediaSessionService extends MediaSessionService { /** ID of the session that this service will create. */ public static final String ID = "TestSession"; + private final AtomicInteger boundControllerCount; + public MediaSession session; + private HandlerThread handlerThread; + private ConditionVariable allControllersUnbound; + + public MockMediaSessionService() { + boundControllerCount = new AtomicInteger(/* initialValue= */ 0); + allControllersUnbound = new ConditionVariable(); + allControllersUnbound.open(); + } + + /** Returns whether at least one controller is bound to this service. */ + public boolean hasBoundController() { + return !allControllersUnbound.isOpen(); + } + + /** + * Blocks until all bound controllers unbind. + * + * @param timeoutMs The block timeout in milliseconds. + * @throws TimeoutException If the block timed out. + * @throws InterruptedException If the block was interrupted. + */ + public void blockUntilAllControllersUnbind(long timeoutMs) + throws TimeoutException, InterruptedException { + if (!allControllersUnbound.block(timeoutMs)) { + throw new TimeoutException(); + } + } @Override public void onCreate() { @@ -40,6 +75,21 @@ public void onCreate() { handlerThread.start(); } + @Override + public IBinder onBind(@Nullable Intent intent) { + boundControllerCount.incrementAndGet(); + allControllersUnbound.close(); + return super.onBind(intent); + } + + @Override + public boolean onUnbind(Intent intent) { + if (boundControllerCount.decrementAndGet() == 0) { + allControllersUnbound.open(); + } + return super.onUnbind(intent); + } + @Override public void onDestroy() { super.onDestroy(); From 8779078088cd2142bd71afb2c4036acb06a70e96 Mon Sep 17 00:00:00 2001 From: christosts Date: Thu, 28 Jul 2022 13:24:08 +0000 Subject: [PATCH 120/422] Support ApplicationVersion = 1 for HDR10+ MediaCodecRenderer allows passing HDR10+ out-of-bound metadata with ApplicationVersion = 1. PiperOrigin-RevId: 463822315 (cherry picked from commit 95becec1e2e664f360bad731f750dcd05f3d79b0) --- .../media3/exoplayer/video/MediaCodecVideoRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java index cbdd31e52b5..9cc8a6e9376 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java @@ -969,7 +969,7 @@ protected void handleInputBufferSupplementalData(DecoderInputBuffer buffer) && ituTT35TerminalProviderCode == 0x003C && ituTT35TerminalProviderOrientedCode == 0x0001 && applicationIdentifier == 4 - && applicationVersion == 0) { + && (applicationVersion == 0 || applicationVersion == 1)) { // The metadata size may vary so allocate a new array every time. This is not too // inefficient because the metadata is only a few tens of bytes. byte[] hdr10PlusInfo = new byte[data.remaining()]; From d20a1c7f294c645d9cc584fc8216aa92b675aadf Mon Sep 17 00:00:00 2001 From: claincly Date: Thu, 28 Jul 2022 13:50:54 +0000 Subject: [PATCH 121/422] Fix VP8 reader fragment packet size Merging https://github.com/androidx/media/pull/110/commits/c37a767fdfc2f7e0b9eb1ad7ae6f864c93950712 PiperOrigin-RevId: 463826373 (cherry picked from commit e848352a3e590de740bd88d816c22e05cca9cc07) --- .../androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java index 46354e3ae13..f6c1debd0d0 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java @@ -214,7 +214,7 @@ private void outputSampleMetadataForFragmentedPackets() { fragmentedSampleSizeBytes, /* offset= */ 0, /* cryptoData= */ null); - fragmentedSampleSizeBytes = 0; + fragmentedSampleSizeBytes = C.LENGTH_UNSET; fragmentedSampleTimeUs = C.TIME_UNSET; gotFirstPacketOfVp8Frame = false; } From 05658504d693974a78e7fb9d347ed9582aac9eaf Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 28 Jul 2022 16:08:21 +0000 Subject: [PATCH 122/422] Ignore stale events in StreamEventCallbackV29. Despite unregistering the callback and clearing pending Handler messages, the callback may still receive pending calls if they are already triggered by the AudioTrack. Instead of asserting that the track is correct, we should gracefully ignore stale events. PiperOrigin-RevId: 463851393 (cherry picked from commit e331bf2c53c2ff7a3c998ccd3a58eb4b7c948fcc) --- .../media3/exoplayer/audio/DefaultAudioSink.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index c3bb029d389..ccfe4ffc97a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -30,6 +30,7 @@ import android.media.PlaybackParams; import android.media.metrics.LogSessionId; import android.os.Handler; +import android.os.Looper; import android.os.SystemClock; import android.util.Pair; import androidx.annotation.DoNotInline; @@ -1904,7 +1905,7 @@ private final class StreamEventCallbackV29 { private final AudioTrack.StreamEventCallback callback; public StreamEventCallbackV29() { - handler = new Handler(); + handler = new Handler(Looper.myLooper()); // Avoid StreamEventCallbackV29 inheriting directly from AudioTrack.StreamEventCallback as it // would cause a NoClassDefFoundError warning on load of DefaultAudioSink for SDK < 29. // See: https://github.com/google/ExoPlayer/issues/8058 @@ -1912,7 +1913,10 @@ public StreamEventCallbackV29() { new AudioTrack.StreamEventCallback() { @Override public void onDataRequest(AudioTrack track, int size) { - Assertions.checkState(track == audioTrack); + if (!track.equals(audioTrack)) { + // Stale event. + return; + } if (listener != null && playing) { // Do not signal that the buffer is emptying if not playing as it is a transient // state. @@ -1922,7 +1926,10 @@ public void onDataRequest(AudioTrack track, int size) { @Override public void onTearDown(AudioTrack track) { - Assertions.checkState(track == audioTrack); + if (!track.equals(audioTrack)) { + // Stale event. + return; + } if (listener != null && playing) { // The audio track was destroyed while in use. Thus a new AudioTrack needs to be // created and its buffer filled, which will be done on the next handleBuffer call. From 60b334cd01ff960757c39a4feff302349abc868e Mon Sep 17 00:00:00 2001 From: christosts Date: Thu, 28 Jul 2022 16:12:28 +0000 Subject: [PATCH 123/422] Minor: Change URL in test Use a URL with a `.test` tld (RFC 2606) to make it clear it's an testing URL. PiperOrigin-RevId: 463852174 (cherry picked from commit 4713c7fea835a8b73b41f6e4723f141828814e44) --- .../media3/session/DefaultMediaNotificationProviderTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index b3b33ff6100..1bb95172da2 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -535,7 +535,7 @@ private static MediaSession createMockMediaSessionForNotification(MediaMetadata when(mockMediaSession.getPlayer()).thenReturn(mockPlayer); MediaSessionImpl mockMediaSessionImpl = mock(MediaSessionImpl.class); when(mockMediaSession.getImpl()).thenReturn(mockMediaSessionImpl); - when(mockMediaSessionImpl.getUri()).thenReturn(Uri.parse("http://example.com")); + when(mockMediaSessionImpl.getUri()).thenReturn(Uri.parse("https://example.test")); return mockMediaSession; } From 0c634543ce0f8dac486df0ea49096d0c7ec541e2 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 8 Aug 2022 08:23:56 +0000 Subject: [PATCH 124/422] Merge pull request #115 from ittiam-systems:rtp_vp9fix PiperOrigin-RevId: 463852948 (cherry picked from commit 92816023f16ac580a038e970b41aba7ae18f6055) --- RELEASENOTES.md | 2 + .../exoplayer/rtsp/reader/RtpVp9Reader.java | 90 +++++--- .../rtsp/reader/RtpVp9ReaderTest.java | 198 ++++++++++++++++++ 3 files changed, 258 insertions(+), 32 deletions(-) create mode 100644 libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4d2baf5adfd..b88458f9c5c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -76,6 +76,8 @@ This release corresponds to the ([#63](https://github.com/androidx/media/pull/63)). * Add VP8 fragmented packet handling ([#110](https://github.com/androidx/media/pull/110)). + * Support frames/fragments in VP9 + ([#115](https://github.com/androidx/media/pull/115)). * Leanback extension: * Listen to `playWhenReady` changes in `LeanbackAdapter` ([10420](https://github.com/google/ExoPlayer/issues/10420)). diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java index e6558c38915..3d3d108acdf 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java @@ -16,6 +16,8 @@ package androidx.media3.exoplayer.rtsp.reader; import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; import androidx.media3.common.C; @@ -55,27 +57,34 @@ /** The combined size of a sample that is fragmented into multiple RTP packets. */ private int fragmentedSampleSizeBytes; + private long fragmentedSampleTimeUs; + private int width; private int height; /** * Whether the first packet of a VP9 frame is received, it mark the start of a VP9 partition. A * VP9 frame can be split into multiple RTP packets. */ - private boolean gotFirstPacketOfVP9Frame; + private boolean gotFirstPacketOfVp9Frame; private boolean reportedOutputFormat; + private boolean isKeyFrame; /** Creates an instance. */ public RtpVp9Reader(RtpPayloadFormat payloadFormat) { this.payloadFormat = payloadFormat; firstReceivedTimestamp = C.TIME_UNSET; + fragmentedSampleSizeBytes = C.LENGTH_UNSET; + fragmentedSampleTimeUs = C.TIME_UNSET; // The start time offset must be 0 until the first seek. startTimeOffsetUs = 0; previousSequenceNumber = C.INDEX_UNSET; width = C.LENGTH_UNSET; height = C.LENGTH_UNSET; - gotFirstPacketOfVP9Frame = false; + // TODO(b/240318842) Clean up VP8/VP9 reader. + gotFirstPacketOfVp9Frame = false; reportedOutputFormat = false; + isKeyFrame = false; } @Override @@ -85,7 +94,10 @@ public void createTracks(ExtractorOutput extractorOutput, int trackId) { } @Override - public void onReceivingFirstPacket(long timestamp, int sequenceNumber) {} + public void onReceivingFirstPacket(long timestamp, int sequenceNumber) { + checkState(firstReceivedTimestamp == C.TIME_UNSET); + firstReceivedTimestamp = timestamp; + } @Override public void consume( @@ -93,11 +105,10 @@ public void consume( checkStateNotNull(trackOutput); if (validateVp9Descriptor(data, sequenceNumber)) { - @C.BufferFlags int bufferFlags = 0; - if (fragmentedSampleSizeBytes == 0 - && gotFirstPacketOfVP9Frame - && (data.peekUnsignedByte() & 0x04) == 0) { - bufferFlags = C.BUFFER_FLAG_KEY_FRAME; + if (fragmentedSampleSizeBytes == C.LENGTH_UNSET && gotFirstPacketOfVp9Frame) { + // Parsing the frame_type in VP9 uncompressed header, 0 - key frame, 1 - inter frame. + // Refer to VP9 Bitstream superframe and uncompressed header, Section 4.1. + isKeyFrame = (data.peekUnsignedByte() & 0x04) == 0; } if (!reportedOutputFormat && width != C.LENGTH_UNSET && height != C.LENGTH_UNSET) { @@ -111,21 +122,15 @@ public void consume( int currentFragmentSizeBytes = data.bytesLeft(); // Write the video sample. trackOutput.sampleData(data, currentFragmentSizeBytes); - fragmentedSampleSizeBytes += currentFragmentSizeBytes; + if (fragmentedSampleSizeBytes == C.LENGTH_UNSET) { + fragmentedSampleSizeBytes = currentFragmentSizeBytes; + } else { + fragmentedSampleSizeBytes += currentFragmentSizeBytes; + } + fragmentedSampleTimeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); if (rtpMarker) { - if (firstReceivedTimestamp == C.TIME_UNSET) { - firstReceivedTimestamp = timestamp; - } - long timeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); - trackOutput.sampleMetadata( - timeUs, - bufferFlags, - fragmentedSampleSizeBytes, - /* offset= */ 0, - /* cryptoData= */ null); - fragmentedSampleSizeBytes = 0; - gotFirstPacketOfVP9Frame = false; + outputSampleMetadataForFragmentedPackets(); } previousSequenceNumber = sequenceNumber; } @@ -134,7 +139,7 @@ public void consume( @Override public void seek(long nextRtpTimestamp, long timeUs) { firstReceivedTimestamp = nextRtpTimestamp; - fragmentedSampleSizeBytes = 0; + fragmentedSampleSizeBytes = C.LENGTH_UNSET; startTimeOffsetUs = timeUs; } @@ -162,19 +167,16 @@ private boolean validateVp9Descriptor(ParsableByteArray payload, int packetSeque // +-+-+-+-+-+-+-+-+ int header = payload.readUnsignedByte(); - if (!gotFirstPacketOfVP9Frame) { - if ((header & 0x08) == 0) { - Log.w( - TAG, - "First payload octet of the RTP packet is not the beginning of a new VP9 partition," - + " Dropping current packet."); - return false; + if ((header & 0x08) == 0x08) { + if (gotFirstPacketOfVp9Frame && fragmentedSampleSizeBytes > 0) { + // Received new VP9 fragment, output data of previous fragment to decoder. + outputSampleMetadataForFragmentedPackets(); } - gotFirstPacketOfVP9Frame = true; - } else { + gotFirstPacketOfVp9Frame = true; + } else if (gotFirstPacketOfVp9Frame) { // Check that this packet is in the sequence of the previous packet. int expectedSequenceNumber = RtpPacket.getNextSequenceNumber(previousSequenceNumber); - if (packetSequenceNumber != expectedSequenceNumber) { + if (packetSequenceNumber < expectedSequenceNumber) { Log.w( TAG, Util.formatInvariant( @@ -183,6 +185,12 @@ private boolean validateVp9Descriptor(ParsableByteArray payload, int packetSeque expectedSequenceNumber, packetSequenceNumber)); return false; } + } else { + Log.w( + TAG, + "First payload octet of the RTP packet is not the beginning of a new VP9 partition," + + " Dropping current packet."); + return false; } // Check if optional I header is present. @@ -250,6 +258,24 @@ private boolean validateVp9Descriptor(ParsableByteArray payload, int packetSeque return true; } + /** + * Outputs sample metadata of the received fragmented packets. + * + *

      Call this method only after receiving an end of a VP9 partition. + */ + private void outputSampleMetadataForFragmentedPackets() { + checkNotNull(trackOutput) + .sampleMetadata( + fragmentedSampleTimeUs, + isKeyFrame ? C.BUFFER_FLAG_KEY_FRAME : 0, + fragmentedSampleSizeBytes, + /* offset= */ 0, + /* cryptoData= */ null); + fragmentedSampleSizeBytes = C.LENGTH_UNSET; + fragmentedSampleTimeUs = C.TIME_UNSET; + gotFirstPacketOfVp9Frame = false; + } + private static long toSampleUs( long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { return startTimeOffsetUs diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java new file mode 100644 index 00000000000..22f87ff7020 --- /dev/null +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java @@ -0,0 +1,198 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.exoplayer.rtsp.reader; + +import static androidx.media3.common.util.Util.getBytesFromHexString; +import static com.google.common.truth.Truth.assertThat; + +import androidx.media3.common.C; +import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.Util; +import androidx.media3.exoplayer.rtsp.RtpPacket; +import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; +import androidx.media3.test.utils.FakeExtractorOutput; +import androidx.media3.test.utils.FakeTrackOutput; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableMap; +import com.google.common.primitives.Bytes; +import java.util.Arrays; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Unit test for {@link RtpVp9Reader}. */ +@RunWith(AndroidJUnit4.class) +public final class RtpVp9ReaderTest { + + /** VP9 uses a 90 KHz media clock (RFC7741 Section 4.1). */ + private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + + private static final byte[] PARTITION_1 = getBytesFromHexString("000102030405060708090A0B0C0D0E"); + // 000102030405060708090A + private static final byte[] PARTITION_1_FRAGMENT_1 = + Arrays.copyOf(PARTITION_1, /* newLength= */ 11); + // 0B0C0D0E + private static final byte[] PARTITION_1_FRAGMENT_2 = + Arrays.copyOfRange(PARTITION_1, /* from= */ 11, /* to= */ 15); + private static final long PARTITION_1_RTP_TIMESTAMP = 2599168056L; + private static final RtpPacket PACKET_PARTITION_1_FRAGMENT_1 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_1_RTP_TIMESTAMP) + .setSequenceNumber(40289) + .setMarker(false) + .setPayloadData(Bytes.concat(getBytesFromHexString("08"), PARTITION_1_FRAGMENT_1)) + .build(); + private static final RtpPacket PACKET_PARTITION_1_FRAGMENT_2 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_1_RTP_TIMESTAMP) + .setSequenceNumber(40290) + .setMarker(true) + .setPayloadData(Bytes.concat(getBytesFromHexString("00"), PARTITION_1_FRAGMENT_2)) + .build(); + + private static final byte[] PARTITION_2 = getBytesFromHexString("0D0C0B0A09080706050403020100"); + // 0D0C0B0A090807060504 + private static final byte[] PARTITION_2_FRAGMENT_1 = + Arrays.copyOf(PARTITION_2, /* newLength= */ 10); + // 03020100 + private static final byte[] PARTITION_2_FRAGMENT_2 = + Arrays.copyOfRange(PARTITION_2, /* from= */ 10, /* to= */ 14); + private static final long PARTITION_2_RTP_TIMESTAMP = 2599168344L; + private static final RtpPacket PACKET_PARTITION_2_FRAGMENT_1 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_2_RTP_TIMESTAMP) + .setSequenceNumber(40291) + .setMarker(false) + .setPayloadData(Bytes.concat(getBytesFromHexString("08"), PARTITION_2_FRAGMENT_1)) + .build(); + private static final RtpPacket PACKET_PARTITION_2_FRAGMENT_2 = + new RtpPacket.Builder() + .setTimestamp(PARTITION_2_RTP_TIMESTAMP) + .setSequenceNumber(40292) + .setMarker(true) + .setPayloadData(Bytes.concat(getBytesFromHexString("00"), PARTITION_2_FRAGMENT_2)) + .build(); + private static final long PARTITION_2_PRESENTATION_TIMESTAMP_US = + Util.scaleLargeTimestamp( + (PARTITION_2_RTP_TIMESTAMP - PARTITION_1_RTP_TIMESTAMP), + /* multiplier= */ C.MICROS_PER_SECOND, + /* divisor= */ MEDIA_CLOCK_FREQUENCY); + + private FakeExtractorOutput extractorOutput; + + @Before + public void setUp() { + extractorOutput = + new FakeExtractorOutput( + (id, type) -> new FakeTrackOutput(/* deduplicateConsecutiveFormats= */ true)); + } + + @Test + public void consume_validPackets() { + RtpVp9Reader vp9Reader = createVp9Reader(); + + vp9Reader.createTracks(extractorOutput, /* trackId= */ 0); + vp9Reader.onReceivingFirstPacket( + PACKET_PARTITION_1_FRAGMENT_1.timestamp, PACKET_PARTITION_1_FRAGMENT_1.sequenceNumber); + consume(vp9Reader, PACKET_PARTITION_1_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_1_FRAGMENT_2); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(PARTITION_1); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(PARTITION_2); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + @Test + public void consume_fragmentedFrameMissingFirstFragment() { + RtpVp9Reader vp9Reader = createVp9Reader(); + + vp9Reader.createTracks(extractorOutput, /* trackId= */ 0); + // First packet timing information is transmitted over RTSP, not RTP. + vp9Reader.onReceivingFirstPacket( + PACKET_PARTITION_1_FRAGMENT_1.timestamp, PACKET_PARTITION_1_FRAGMENT_1.sequenceNumber); + consume(vp9Reader, PACKET_PARTITION_1_FRAGMENT_2); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(1); + assertThat(trackOutput.getSampleData(0)).isEqualTo(PARTITION_2); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + @Test + public void consume_fragmentedFrameMissingBoundaryFragment() { + RtpVp9Reader vp9Reader = createVp9Reader(); + + vp9Reader.createTracks(extractorOutput, /* trackId= */ 0); + vp9Reader.onReceivingFirstPacket( + PACKET_PARTITION_1_FRAGMENT_1.timestamp, PACKET_PARTITION_1_FRAGMENT_1.sequenceNumber); + consume(vp9Reader, PACKET_PARTITION_1_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(PARTITION_1_FRAGMENT_1); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(PARTITION_2); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + @Test + public void consume_outOfOrderFragmentedFrame() { + RtpVp9Reader vp9Reader = createVp9Reader(); + + vp9Reader.createTracks(extractorOutput, /* trackId= */ 0); + vp9Reader.onReceivingFirstPacket( + PACKET_PARTITION_1_FRAGMENT_1.timestamp, PACKET_PARTITION_1_FRAGMENT_1.sequenceNumber); + consume(vp9Reader, PACKET_PARTITION_1_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_1); + consume(vp9Reader, PACKET_PARTITION_1_FRAGMENT_2); + consume(vp9Reader, PACKET_PARTITION_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(PARTITION_1_FRAGMENT_1); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(PARTITION_2); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(PARTITION_2_PRESENTATION_TIMESTAMP_US); + } + + private static RtpVp9Reader createVp9Reader() { + return new RtpVp9Reader( + new RtpPayloadFormat( + new Format.Builder().setSampleMimeType(MimeTypes.VIDEO_VP9).build(), + /* rtpPayloadType= */ 96, + /* clockRate= */ (int) MEDIA_CLOCK_FREQUENCY, + /* fmtpParameters= */ ImmutableMap.of())); + } + + private static void consume(RtpVp9Reader vp9Reader, RtpPacket rtpPacket) { + vp9Reader.consume( + new ParsableByteArray(rtpPacket.payloadData), + rtpPacket.timestamp, + rtpPacket.sequenceNumber, + rtpPacket.marker); + } +} From db1cad911c83306a72799a4c9be6d97fd1d29684 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 28 Jul 2022 21:07:43 +0000 Subject: [PATCH 125/422] HDR: Centralize getting Colorinfo from MediaFormat * Sets KEY_HDR_STATIC_INFO from MediaFormat in the DefaultCodec. * Adds checks in mediaparser to ensure color space, range, and transfer are valid values. PiperOrigin-RevId: 463921325 (cherry picked from commit 65a2a3a0a073c6dd8b47a044609f4be1abdd19c9) --- .../main/java/androidx/media3/common/C.java | 3 + .../androidx/media3/common/ColorInfo.java | 4 +- .../media3/common/util/MediaFormatUtil.java | 73 +++++++++++++++++++ .../mediaparser/OutputConsumerAdapterV30.java | 35 +-------- .../media3/transformer/DefaultCodec.java | 37 +--------- 5 files changed, 86 insertions(+), 66 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/C.java b/libraries/common/src/main/java/androidx/media3/common/C.java index fa8c8288b05..517dbc58100 100644 --- a/libraries/common/src/main/java/androidx/media3/common/C.java +++ b/libraries/common/src/main/java/androidx/media3/common/C.java @@ -1044,6 +1044,7 @@ private C() {} */ @UnstableApi public static final int STEREO_MODE_STEREO_MESH = 3; + // LINT.IfChange(color_space) /** * Video colorspaces. One of {@link Format#NO_VALUE}, {@link #COLOR_SPACE_BT709}, {@link * #COLOR_SPACE_BT601} or {@link #COLOR_SPACE_BT2020}. @@ -1067,6 +1068,7 @@ private C() {} */ @UnstableApi public static final int COLOR_SPACE_BT2020 = MediaFormat.COLOR_STANDARD_BT2020; + // LINT.IfChange(color_transfer) /** * Video color transfer characteristics. One of {@link Format#NO_VALUE}, {@link * #COLOR_TRANSFER_SDR}, {@link #COLOR_TRANSFER_ST2084} or {@link #COLOR_TRANSFER_HLG}. @@ -1090,6 +1092,7 @@ private C() {} */ @UnstableApi public static final int COLOR_TRANSFER_HLG = MediaFormat.COLOR_TRANSFER_HLG; + // LINT.IfChange(color_range) /** * Video color range. One of {@link Format#NO_VALUE}, {@link #COLOR_RANGE_LIMITED} or {@link * #COLOR_RANGE_FULL}. diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index 7021acfff05..db10f7f4b9d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -77,7 +77,9 @@ public final class ColorInfo implements Bundleable { /** Returns whether the {@code ColorInfo} uses an HDR {@link C.ColorTransfer}. */ public static boolean isHdr(@Nullable ColorInfo colorInfo) { - return colorInfo != null && colorInfo.colorTransfer != C.COLOR_TRANSFER_SDR; + return colorInfo != null + && colorInfo.colorTransfer != Format.NO_VALUE + && colorInfo.colorTransfer != C.COLOR_TRANSFER_SDR; } /** diff --git a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java index 6b62f152474..90c5d4dd410 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java @@ -15,6 +15,8 @@ */ package androidx.media3.common.util; +import static androidx.media3.common.util.Util.SDK_INT; + import android.annotation.SuppressLint; import android.media.AudioFormat; import android.media.MediaFormat; @@ -191,6 +193,51 @@ public static void maybeSetColorInfo(MediaFormat format, @Nullable ColorInfo col } } + /** + * Creates and returns a {@code ColorInfo}, if a valid instance is described in the {@link + * MediaFormat}. + */ + @Nullable + public static ColorInfo getColorInfo(MediaFormat mediaFormat) { + if (SDK_INT < 29) { + return null; + } + int colorSpace = + mediaFormat.getInteger(MediaFormat.KEY_COLOR_STANDARD, /* defaultValue= */ Format.NO_VALUE); + int colorRange = + mediaFormat.getInteger(MediaFormat.KEY_COLOR_RANGE, /* defaultValue= */ Format.NO_VALUE); + int colorTransfer = + mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER, /* defaultValue= */ Format.NO_VALUE); + @Nullable + ByteBuffer hdrStaticInfoByteBuffer = mediaFormat.getByteBuffer(MediaFormat.KEY_HDR_STATIC_INFO); + @Nullable + byte[] hdrStaticInfo = + hdrStaticInfoByteBuffer != null ? getArray(hdrStaticInfoByteBuffer) : null; + if (!isValidColorSpace(colorSpace)) { + colorSpace = Format.NO_VALUE; + } + if (!isValidColorRange(colorRange)) { + colorRange = Format.NO_VALUE; + } + if (!isValidColorTransfer(colorTransfer)) { + colorTransfer = Format.NO_VALUE; + } + + if (colorSpace != Format.NO_VALUE + || colorRange != Format.NO_VALUE + || colorTransfer != Format.NO_VALUE + || hdrStaticInfo != null) { + return new ColorInfo(colorSpace, colorRange, colorTransfer, hdrStaticInfo); + } + return null; + } + + public static byte[] getArray(ByteBuffer byteBuffer) { + byte[] array = new byte[byteBuffer.remaining()]; + byteBuffer.get(array); + return array; + } + // Internal methods. private static void setBooleanAsInt(MediaFormat format, String key, int value) { @@ -253,5 +300,31 @@ private static void maybeSetPcmEncoding( mediaFormat.setInteger(MediaFormat.KEY_PCM_ENCODING, mediaFormatPcmEncoding); } + /** Whether this is a valid {@link C.ColorSpace} instance. */ + private static boolean isValidColorSpace(int colorSpace) { + // LINT.IfChange(color_space) + return colorSpace == C.COLOR_SPACE_BT709 + || colorSpace == C.COLOR_SPACE_BT601 + || colorSpace == C.COLOR_SPACE_BT2020 + || colorSpace == Format.NO_VALUE; + } + + /** Whether this is a valid {@link C.ColorRange} instance. */ + private static boolean isValidColorRange(int colorRange) { + // LINT.IfChange(color_range) + return colorRange == C.COLOR_RANGE_LIMITED + || colorRange == C.COLOR_RANGE_FULL + || colorRange == Format.NO_VALUE; + } + + /** Whether this is a valid {@link C.ColorTransfer} instance. */ + private static boolean isValidColorTransfer(int colorTransfer) { + // LINT.IfChange(color_transfer) + return colorTransfer == C.COLOR_TRANSFER_SDR + || colorTransfer == C.COLOR_TRANSFER_ST2084 + || colorTransfer == C.COLOR_TRANSFER_HLG + || colorTransfer == Format.NO_VALUE; + } + private MediaFormatUtil() {} } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java index 1b6a07874b8..fdb0f7696f5 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java @@ -42,7 +42,6 @@ import androidx.annotation.RequiresApi; import androidx.media3.common.C; import androidx.media3.common.C.SelectionFlags; -import androidx.media3.common.ColorInfo; import androidx.media3.common.DataReader; import androidx.media3.common.DrmInitData; import androidx.media3.common.DrmInitData.SchemeData; @@ -50,6 +49,7 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.Log; +import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.TimestampAdjuster; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; @@ -474,7 +474,7 @@ private Format toExoPlayerFormat(TrackData trackData) { .setChannelCount( mediaFormat.getInteger( MediaFormat.KEY_CHANNEL_COUNT, /* defaultValue= */ Format.NO_VALUE)) - .setColorInfo(getColorInfo(mediaFormat)) + .setColorInfo(MediaFormatUtil.getColorInfo(mediaFormat)) .setSampleMimeType(mediaFormatMimeType) .setCodecs(mediaFormat.getString(MediaFormat.KEY_CODECS_STRING)) .setFrameRate( @@ -572,40 +572,11 @@ private static List getInitializationData(MediaFormat mediaFormat) { if (byteBuffer == null) { break; } - initData.add(getArray(byteBuffer)); + initData.add(MediaFormatUtil.getArray(byteBuffer)); } return initData; } - @Nullable - private static ColorInfo getColorInfo(MediaFormat mediaFormat) { - @Nullable - ByteBuffer hdrStaticInfoByteBuffer = mediaFormat.getByteBuffer(MediaFormat.KEY_HDR_STATIC_INFO); - @Nullable - byte[] hdrStaticInfo = - hdrStaticInfoByteBuffer != null ? getArray(hdrStaticInfoByteBuffer) : null; - int colorTransfer = - mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER, /* defaultValue= */ Format.NO_VALUE); - int colorRange = - mediaFormat.getInteger(MediaFormat.KEY_COLOR_RANGE, /* defaultValue= */ Format.NO_VALUE); - int colorStandard = - mediaFormat.getInteger(MediaFormat.KEY_COLOR_STANDARD, /* defaultValue= */ Format.NO_VALUE); - - if (hdrStaticInfo != null - || colorTransfer != Format.NO_VALUE - || colorRange != Format.NO_VALUE - || colorStandard != Format.NO_VALUE) { - return new ColorInfo(colorStandard, colorRange, colorTransfer, hdrStaticInfo); - } - return null; - } - - private static byte[] getArray(ByteBuffer byteBuffer) { - byte[] array = new byte[byteBuffer.remaining()]; - byteBuffer.get(array); - return array; - } - private static String getMimeType(String parserName) { switch (parserName) { case PARSER_NAME_MATROSKA: diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 7366bc71c22..7168177b194 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -32,6 +32,7 @@ import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.decoder.DecoderInputBuffer; @@ -317,7 +318,7 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo } if (outputBufferIndex < 0) { if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { - outputFormat = getFormat(mediaCodec.getOutputFormat()); + outputFormat = convertToFormat(mediaCodec.getOutputFormat()); if (!isColorTransferEqual(configuredOutputColor, outputFormat.colorInfo)) { // TODO(b/237674316): These exceptions throw when the container ColorInfo doesn't match // the video ColorInfo. Instead of throwing when seeing unexpected ColorInfos, consider @@ -412,7 +413,7 @@ private static TransformationException createInitializationTransformationExcepti return TransformationException.createForUnexpected(cause); } - private static Format getFormat(MediaFormat mediaFormat) { + private static Format convertToFormat(MediaFormat mediaFormat) { ImmutableList.Builder csdBuffers = new ImmutableList.Builder<>(); int csdIndex = 0; while (true) { @@ -432,7 +433,7 @@ private static Format getFormat(MediaFormat mediaFormat) { formatBuilder .setWidth(mediaFormat.getInteger(MediaFormat.KEY_WIDTH)) .setHeight(mediaFormat.getInteger(MediaFormat.KEY_HEIGHT)) - .setColorInfo(getColorInfo(mediaFormat)); + .setColorInfo(MediaFormatUtil.getColorInfo(mediaFormat)); } else if (MimeTypes.isAudio(mimeType)) { // TODO(b/178685617): Only set the PCM encoding for audio/raw, once we have a way to // simulate more realistic codec input/output formats in tests. @@ -472,34 +473,4 @@ private static boolean decoderNeedsFrameDroppingWorkaround(Context context) { return SDK_INT < 29 || context.getApplicationContext().getApplicationInfo().targetSdkVersion < 29; } - - @Nullable - private static ColorInfo getColorInfo(MediaFormat mediaFormat) { - if (SDK_INT < 29) { - return null; - } - // TODO(b/227624622): Set hdrStaticInfo accordingly using KEY_HDR_STATIC_INFO. - int colorSpace = mediaFormat.getInteger(MediaFormat.KEY_COLOR_STANDARD, Format.NO_VALUE); - int colorRange = mediaFormat.getInteger(MediaFormat.KEY_COLOR_RANGE, Format.NO_VALUE); - int colorTransfer = mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER, Format.NO_VALUE); - if (colorSpace != C.COLOR_SPACE_BT709 - && colorSpace != C.COLOR_SPACE_BT601 - && colorSpace != C.COLOR_SPACE_BT2020 - && colorSpace != Format.NO_VALUE) { - return null; - } - if (colorRange != C.COLOR_RANGE_LIMITED - && colorRange != C.COLOR_RANGE_FULL - && colorRange != Format.NO_VALUE) { - return null; - } - if (colorTransfer != C.COLOR_TRANSFER_SDR - && colorTransfer != C.COLOR_TRANSFER_ST2084 - && colorTransfer != C.COLOR_TRANSFER_HLG - && colorTransfer != Format.NO_VALUE) { - return null; - } - - return new ColorInfo(colorSpace, colorRange, colorTransfer, /* hdrStaticInfo= */ null); - } } From 8c560d2115d53d3e0a4687c66bcf40004bcd950c Mon Sep 17 00:00:00 2001 From: bachinger Date: Thu, 28 Jul 2022 21:45:49 +0000 Subject: [PATCH 126/422] Add interface version of MediaControllerStub PiperOrigin-RevId: 463930162 (cherry picked from commit c8089ead42d940c550955f7786447ad87784b9df) --- .../media3/session/IMediaController.aidl | 1 - .../media3/session/ConnectionRequest.java | 47 +++++++++++++++---- .../media3/session/MediaControllerStub.java | 3 ++ .../MediaLibraryServiceLegacyStub.java | 1 + .../androidx/media3/session/MediaSession.java | 30 ++++++++++-- .../media3/session/MediaSessionImpl.java | 9 +++- .../session/MediaSessionLegacyStub.java | 1 + .../media3/session/MediaSessionService.java | 6 ++- .../MediaSessionServiceLegacyStub.java | 1 + .../media3/session/MediaSessionStub.java | 11 ++++- .../session/MediaSessionCallbackTest.java | 34 ++++++++++++++ 11 files changed, 125 insertions(+), 19 deletions(-) diff --git a/libraries/session/src/main/aidl/androidx/media3/session/IMediaController.aidl b/libraries/session/src/main/aidl/androidx/media3/session/IMediaController.aidl index e3b19955401..d1a348cd3aa 100644 --- a/libraries/session/src/main/aidl/androidx/media3/session/IMediaController.aidl +++ b/libraries/session/src/main/aidl/androidx/media3/session/IMediaController.aidl @@ -29,7 +29,6 @@ import androidx.media3.session.IMediaSession; oneway interface IMediaController { // Id < 3000 is reserved to avoid potential collision with media2 1.x. - void onConnected(int seq, in Bundle connectionResult) = 3000; void onSessionResult(int seq, in Bundle sessionResult) = 3001; void onLibraryResult(int seq, in Bundle libraryResult) = 3002; diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java b/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java index fbcf9c95f55..6b09d056a59 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectionRequest.java @@ -35,7 +35,9 @@ */ /* package */ class ConnectionRequest implements Bundleable { - public final int version; + public final int libraryVersion; + + public final int controllerInterfaceVersion; public final String packageName; @@ -44,11 +46,22 @@ public final Bundle connectionHints; public ConnectionRequest(String packageName, int pid, Bundle connectionHints) { - this(MediaLibraryInfo.VERSION_INT, packageName, pid, new Bundle(connectionHints)); + this( + MediaLibraryInfo.VERSION_INT, + MediaControllerStub.VERSION_INT, + packageName, + pid, + new Bundle(connectionHints)); } - private ConnectionRequest(int version, String packageName, int pid, Bundle connectionHints) { - this.version = version; + private ConnectionRequest( + int libraryVersion, + int controllerInterfaceVersion, + String packageName, + int pid, + Bundle connectionHints) { + this.libraryVersion = libraryVersion; + this.controllerInterfaceVersion = controllerInterfaceVersion; this.packageName = packageName; this.pid = pid; this.connectionHints = connectionHints; @@ -59,34 +72,50 @@ private ConnectionRequest(int version, String packageName, int pid, Bundle conne @Documented @Retention(RetentionPolicy.SOURCE) @Target(TYPE_USE) - @IntDef({FIELD_VERSION, FIELD_PACKAGE_NAME, FIELD_PID, FIELD_CONNECTION_HINTS}) + @IntDef({ + FIELD_LIBRARY_VERSION, + FIELD_PACKAGE_NAME, + FIELD_PID, + FIELD_CONNECTION_HINTS, + FIELD_CONTROLLER_INTERFACE_VERSION + }) private @interface FieldNumber {} - private static final int FIELD_VERSION = 0; + private static final int FIELD_LIBRARY_VERSION = 0; private static final int FIELD_PACKAGE_NAME = 1; private static final int FIELD_PID = 2; private static final int FIELD_CONNECTION_HINTS = 3; + private static final int FIELD_CONTROLLER_INTERFACE_VERSION = 4; + // Next id: 5 @Override public Bundle toBundle() { Bundle bundle = new Bundle(); - bundle.putInt(keyForField(FIELD_VERSION), version); + bundle.putInt(keyForField(FIELD_LIBRARY_VERSION), libraryVersion); bundle.putString(keyForField(FIELD_PACKAGE_NAME), packageName); bundle.putInt(keyForField(FIELD_PID), pid); bundle.putBundle(keyForField(FIELD_CONNECTION_HINTS), connectionHints); + bundle.putInt(keyForField(FIELD_CONTROLLER_INTERFACE_VERSION), controllerInterfaceVersion); return bundle; } /** Object that can restore {@link ConnectionRequest} from a {@link Bundle}. */ public static final Creator CREATOR = bundle -> { - int version = bundle.getInt(keyForField(FIELD_VERSION), /* defaultValue= */ 0); + int libraryVersion = + bundle.getInt(keyForField(FIELD_LIBRARY_VERSION), /* defaultValue= */ 0); + int controllerInterfaceVersion = + bundle.getInt(keyForField(FIELD_CONTROLLER_INTERFACE_VERSION), /* defaultValue= */ 0); String packageName = checkNotNull(bundle.getString(keyForField(FIELD_PACKAGE_NAME))); int pid = bundle.getInt(keyForField(FIELD_PID), /* defaultValue= */ 0); checkArgument(pid != 0); @Nullable Bundle connectionHints = bundle.getBundle(keyForField(FIELD_CONNECTION_HINTS)); return new ConnectionRequest( - version, packageName, pid, connectionHints == null ? Bundle.EMPTY : connectionHints); + libraryVersion, + controllerInterfaceVersion, + packageName, + pid, + connectionHints == null ? Bundle.EMPTY : connectionHints); }; private static String keyForField(@FieldNumber int field) { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java index 9e9fa0fc627..f4edcc8ec44 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java @@ -35,6 +35,9 @@ private static final String TAG = "MediaControllerStub"; + /** The version of the IMediaController interface. */ + public static final int VERSION_INT = 1; + private final WeakReference controller; public MediaControllerStub(MediaControllerImplBase controller) { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java index ad5912b796b..998c255e28f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java @@ -321,6 +321,7 @@ public ControllerInfo createControllerInfo(RemoteUserInfo remoteUserInfo) { return new ControllerInfo( remoteUserInfo, ControllerInfo.LEGACY_CONTROLLER_VERSION, + ControllerInfo.LEGACY_CONTROLLER_INTERFACE_VERSION, getMediaSessionManager().isTrustedForMediaControl(remoteUserInfo), new BrowserLegacyCb(remoteUserInfo), /* connectionHints= */ Bundle.EMPTY); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index ddca5663bfa..69fb1c83b7e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -325,9 +325,12 @@ public static final class ControllerInfo { /** The {@linkplain #getControllerVersion() controller version} of legacy controllers. */ public static final int LEGACY_CONTROLLER_VERSION = 0; + /** The {@linkplain #getInterfaceVersion()} interface version} of legacy controllers. */ + @UnstableApi public static final int LEGACY_CONTROLLER_INTERFACE_VERSION = 0; private final RemoteUserInfo remoteUserInfo; - private final int controllerVersion; + private final int libraryVersion; + private final int interfaceVersion; private final boolean isTrusted; @Nullable private final ControllerCb controllerCb; private final Bundle connectionHints; @@ -344,12 +347,14 @@ public static final class ControllerInfo { */ /* package */ ControllerInfo( RemoteUserInfo remoteUserInfo, - int controllerVersion, + int libraryVersion, + int interfaceVersion, boolean trusted, @Nullable ControllerCb cb, Bundle connectionHints) { this.remoteUserInfo = remoteUserInfo; - this.controllerVersion = controllerVersion; + this.libraryVersion = libraryVersion; + this.interfaceVersion = interfaceVersion; isTrusted = trusted; controllerCb = cb; this.connectionHints = connectionHints; @@ -366,7 +371,13 @@ public static final class ControllerInfo { * than {@code 1000000} if the controller is a legacy controller. */ public int getControllerVersion() { - return controllerVersion; + return libraryVersion; + } + + /** Returns the interface version of the controller, or 0 if it's a legacy controller. */ + @UnstableApi + public int getInterfaceVersion() { + return interfaceVersion; } /** @@ -459,6 +470,7 @@ public String toString() { return new ControllerInfo( legacyRemoteUserInfo, ControllerInfo.LEGACY_CONTROLLER_VERSION, + ControllerInfo.LEGACY_CONTROLLER_INTERFACE_VERSION, /* trusted= */ false, /* cb= */ null, /* connectionHints= */ Bundle.EMPTY); @@ -780,11 +792,19 @@ public Object getSessionCompatToken() { /* package */ void handleControllerConnectionFromService( IMediaController controller, int controllerVersion, + int controllerInterfaceVersion, String packageName, int pid, int uid, Bundle connectionHints) { - impl.connectFromService(controller, controllerVersion, packageName, pid, uid, connectionHints); + impl.connectFromService( + controller, + controllerVersion, + controllerInterfaceVersion, + packageName, + pid, + uid, + connectionHints); } /* package */ IBinder getLegacyBrowserServiceBinder() { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index d147f47791d..196139e5681 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -476,12 +476,19 @@ public ListenableFuture onCustomCommandOnHandler( public void connectFromService( IMediaController caller, int controllerVersion, + int controllerInterfaceVersion, String packageName, int pid, int uid, Bundle connectionHints) { sessionStub.connect( - caller, controllerVersion, packageName, pid, uid, checkStateNotNull(connectionHints)); + caller, + controllerVersion, + controllerInterfaceVersion, + packageName, + pid, + uid, + checkStateNotNull(connectionHints)); } public MediaSessionCompat getSessionCompat() { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java index 1b84511f875..fd6ef392ba4 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java @@ -650,6 +650,7 @@ private ControllerInfo tryGetController(RemoteUserInfo remoteUserInfo) { new ControllerInfo( remoteUserInfo, ControllerInfo.LEGACY_CONTROLLER_VERSION, + ControllerInfo.LEGACY_CONTROLLER_INTERFACE_VERSION, sessionManager.isTrustedForMediaControl(remoteUserInfo), controllerCb, /* connectionHints= */ Bundle.EMPTY); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java index c5ac3fbddca..7bb17e342fe 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java @@ -516,7 +516,8 @@ public void connect( ControllerInfo controllerInfo = new ControllerInfo( remoteUserInfo, - /* controllerVersion= */ request.version, + request.libraryVersion, + request.controllerInterfaceVersion, isTrusted, /* cb= */ null, request.connectionHints); @@ -533,7 +534,8 @@ public void connect( session.handleControllerConnectionFromService( caller, - request.version, + request.libraryVersion, + request.controllerInterfaceVersion, request.packageName, pid, uid, diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java index 45efdca4dbd..7cc049ba4bb 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java @@ -96,6 +96,7 @@ public ControllerInfo createControllerInfo(RemoteUserInfo info) { return new ControllerInfo( info, ControllerInfo.LEGACY_CONTROLLER_VERSION, + ControllerInfo.LEGACY_CONTROLLER_INTERFACE_VERSION, manager.isTrustedForMediaControl(info), /* cb= */ null, /* connectionHints= */ Bundle.EMPTY); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index 4915c09de52..cba32b5f443 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -369,6 +369,7 @@ private static ListenableFuture handleSess public void connect( IMediaController caller, int controllerVersion, + int controllerInterfaceVersion, String callingPackage, int pid, int uid, @@ -379,6 +380,7 @@ public void connect( new ControllerInfo( remoteUserInfo, controllerVersion, + controllerInterfaceVersion, sessionManager.isTrustedForMediaControl(remoteUserInfo), new Controller2Cb(caller), connectionHints); @@ -529,7 +531,14 @@ public void connect( // If it's the case, use PID from the ConnectionRequest. int pid = (callingPid != 0) ? callingPid : request.pid; try { - connect(caller, request.version, request.packageName, pid, uid, request.connectionHints); + connect( + caller, + request.libraryVersion, + request.controllerInterfaceVersion, + request.packageName, + pid, + uid, + request.connectionHints); } finally { Binder.restoreCallingIdentity(token); } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java index d145758606a..1891ee001db 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionCallbackTest.java @@ -30,6 +30,7 @@ import android.os.Bundle; import android.text.TextUtils; import androidx.media3.common.MediaItem; +import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.Player; import androidx.media3.common.Rating; import androidx.media3.common.StarRating; @@ -50,6 +51,7 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import org.junit.After; import org.junit.Before; @@ -94,6 +96,38 @@ public void tearDown() { executorService.shutdownNow(); } + @Test + public void onConnect_correctControllerVersions() throws Exception { + CountDownLatch latch = new CountDownLatch(1); + final AtomicInteger controllerVersion = new AtomicInteger(); + final AtomicInteger controllerInterfaceVersion = new AtomicInteger(); + MediaSession.Callback callback = + new MediaSession.Callback() { + @Override + public MediaSession.ConnectionResult onConnect( + MediaSession session, ControllerInfo controller) { + controllerVersion.set(controller.getControllerVersion()); + controllerInterfaceVersion.set(controller.getInterfaceVersion()); + latch.countDown(); + return MediaSession.ConnectionResult.accept( + new SessionCommands.Builder().addAllSessionCommands().build(), + new Player.Commands.Builder().addAllCommands().build()); + } + }; + MediaSession session = + sessionTestRule.ensureReleaseAfterTest( + new MediaSession.Builder(context, player) + .setCallback(callback) + .setId("testOnConnect_correctControllerVersions") + .build()); + + controllerTestRule.createRemoteController(session.getToken()); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(controllerVersion.get()).isEqualTo(MediaLibraryInfo.VERSION_INT); + assertThat(controllerInterfaceVersion.get()).isEqualTo(MediaControllerStub.VERSION_INT); + } + @Test public void onPostConnect_afterConnected() throws Exception { CountDownLatch latch = new CountDownLatch(1); From 071f0a5a0d1ddfb0c402814fd57064cc5881ef16 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Fri, 29 Jul 2022 01:16:26 +0000 Subject: [PATCH 127/422] Transformer: Improve misc javadocs and exception logs. PiperOrigin-RevId: 463971447 (cherry picked from commit 534740fd46f5ec9465215eaaa03a764eebab4ac4) --- .../src/main/java/androidx/media3/common/C.java | 14 +++++++------- .../media3/common/util/MediaFormatUtil.java | 4 ++-- .../androidx/media3/transformer/DefaultCodec.java | 5 ++++- .../transformer/GlEffectsFrameProcessor.java | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/C.java b/libraries/common/src/main/java/androidx/media3/common/C.java index 517dbc58100..968253e4b33 100644 --- a/libraries/common/src/main/java/androidx/media3/common/C.java +++ b/libraries/common/src/main/java/androidx/media3/common/C.java @@ -1046,23 +1046,23 @@ private C() {} // LINT.IfChange(color_space) /** - * Video colorspaces. One of {@link Format#NO_VALUE}, {@link #COLOR_SPACE_BT709}, {@link - * #COLOR_SPACE_BT601} or {@link #COLOR_SPACE_BT2020}. + * Video colorspaces. One of {@link Format#NO_VALUE}, {@link #COLOR_SPACE_BT601}, {@link + * #COLOR_SPACE_BT709} or {@link #COLOR_SPACE_BT2020}. */ @UnstableApi @Documented @Retention(RetentionPolicy.SOURCE) @Target(TYPE_USE) - @IntDef({Format.NO_VALUE, COLOR_SPACE_BT709, COLOR_SPACE_BT601, COLOR_SPACE_BT2020}) + @IntDef({Format.NO_VALUE, COLOR_SPACE_BT601, COLOR_SPACE_BT709, COLOR_SPACE_BT2020}) public @interface ColorSpace {} - /** - * @see MediaFormat#COLOR_STANDARD_BT709 - */ - @UnstableApi public static final int COLOR_SPACE_BT709 = MediaFormat.COLOR_STANDARD_BT709; /** * @see MediaFormat#COLOR_STANDARD_BT601_PAL */ @UnstableApi public static final int COLOR_SPACE_BT601 = MediaFormat.COLOR_STANDARD_BT601_PAL; + /** + * @see MediaFormat#COLOR_STANDARD_BT709 + */ + @UnstableApi public static final int COLOR_SPACE_BT709 = MediaFormat.COLOR_STANDARD_BT709; /** * @see MediaFormat#COLOR_STANDARD_BT2020 */ diff --git a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java index 90c5d4dd410..3e526c7c288 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java @@ -303,8 +303,8 @@ private static void maybeSetPcmEncoding( /** Whether this is a valid {@link C.ColorSpace} instance. */ private static boolean isValidColorSpace(int colorSpace) { // LINT.IfChange(color_space) - return colorSpace == C.COLOR_SPACE_BT709 - || colorSpace == C.COLOR_SPACE_BT601 + return colorSpace == C.COLOR_SPACE_BT601 + || colorSpace == C.COLOR_SPACE_BT709 || colorSpace == C.COLOR_SPACE_BT2020 || colorSpace == Format.NO_VALUE; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 7168177b194..71a809dfc53 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -24,6 +24,7 @@ import android.content.Context; import android.media.MediaCodec; import android.media.MediaCodec.BufferInfo; +import android.media.MediaCrypto; import android.media.MediaFormat; import android.view.Surface; import androidx.annotation.Nullable; @@ -327,7 +328,7 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo throw createTransformationException( new IllegalStateException( "Codec output color format does not match configured color format. Configured: " - + configurationFormat.colorInfo + + configuredOutputColor + ". Actual: " + outputFormat.colorInfo)); } @@ -445,6 +446,7 @@ private static Format convertToFormat(MediaFormat mediaFormat) { return formatBuilder.build(); } + /** Calls and traces {@link MediaCodec#configure(MediaFormat, Surface, MediaCrypto, int)}. */ private static void configureCodec( MediaCodec codec, MediaFormat mediaFormat, @@ -459,6 +461,7 @@ private static void configureCodec( TraceUtil.endSection(); } + /** Calls and traces {@link MediaCodec#start()}. */ private static void startCodec(MediaCodec codec) { TraceUtil.beginSection("startCodec"); codec.start(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index 808215dc41c..fb02c98c8f2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -403,7 +403,7 @@ private void queueInputFrameToTextureProcessors(long presentationTimeUs) { /** * Expands or shrinks the frame based on the {@link FrameInfo#pixelWidthHeightRatio} and returns a * new {@link FrameInfo} instance with scaled dimensions and {@link - * FrameInfo#pixelWidthHeightRatio} 1. + * FrameInfo#pixelWidthHeightRatio} of {@code 1}. */ private FrameInfo adjustForPixelWidthHeightRatio(FrameInfo frameInfo) { if (frameInfo.pixelWidthHeightRatio > 1f) { From 7411a31e7b1d2e3aa186e5a89827286181c00966 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 8 Aug 2022 08:28:35 +0000 Subject: [PATCH 128/422] Merge pull request #109 from tzugen:patch-1 PiperOrigin-RevId: 464045351 (cherry picked from commit 61e4f92310091737b7107662d52ef8e13319f6e5) --- RELEASENOTES.md | 2 + .../session/SimpleBitmapLoaderTest.java | 50 ++++++++++++++++--- .../media3/session/SimpleBitmapLoader.java | 24 ++++++--- 3 files changed, 62 insertions(+), 14 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index b88458f9c5c..03a9f4e1dc4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -36,6 +36,8 @@ small icon ([#104](https://github.com/androidx/media/issues/104)). * Ensure commands sent before `MediaController.release()` are not dropped ([#99](https://github.com/androidx/media/issues/99)). + * `SimpleBitmapLoader` can load bitmap from `file://` URIs + ([#108](https://github.com/androidx/media/issues/108)). * RTSP: * Add H263 fragmented packet handling ([#119](https://github.com/androidx/media/pull/119)). diff --git a/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java b/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java index d7ba1d979fa..ff3c92236d4 100644 --- a/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java +++ b/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java @@ -26,14 +26,19 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; +import java.io.File; import java.io.IOException; import java.net.MalformedURLException; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.concurrent.ExecutionException; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import okio.Buffer; +import org.junit.Rule; import org.junit.Test; import org.junit.function.ThrowingRunnable; +import org.junit.rules.TemporaryFolder; import org.junit.runner.RunWith; /** @@ -47,6 +52,8 @@ public class SimpleBitmapLoaderTest { private static final String TEST_IMAGE_PATH = "media/jpeg/non-motion-photo-shortened.jpg"; + @Rule public final TemporaryFolder tempFolder = new TemporaryFolder(); + @Test public void loadData() throws Exception { SimpleBitmapLoader bitmapLoader = @@ -70,11 +77,13 @@ public void loadData_withInvalidData_throwsException() { ListenableFuture future = bitmapLoader.decodeBitmap(new byte[0]); assertException( - future::get, IllegalArgumentException.class, /* messagePart= */ "Could not decode bitmap"); + future::get, + IllegalArgumentException.class, + /* messagePart= */ "Could not decode image data"); } @Test - public void loadUri_loadsImage() throws Exception { + public void load_httpUri_loadsImage() throws Exception { SimpleBitmapLoader bitmapLoader = new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); MockWebServer mockWebServer = new MockWebServer(); @@ -93,7 +102,7 @@ public void loadUri_loadsImage() throws Exception { } @Test - public void loadUri_serverError_throwsException() { + public void load_httpUriAndServerError_throwsException() { SimpleBitmapLoader bitmapLoader = new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); MockWebServer mockWebServer = new MockWebServer(); @@ -106,7 +115,36 @@ public void loadUri_serverError_throwsException() { } @Test - public void loadUri_nonHttpUri_throwsException() { + public void load_fileUri_loadsImage() throws Exception { + byte[] imageData = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + File file = tempFolder.newFile(); + Files.write(Paths.get(file.getAbsolutePath()), imageData); + Uri uri = Uri.fromFile(file); + SimpleBitmapLoader bitmapLoader = + new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); + + Bitmap bitmap = bitmapLoader.loadBitmap(uri).get(); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData, /* offset= */ 0, imageData.length))) + .isTrue(); + } + + @Test + public void fileUriWithFileNotExisting() throws Exception { + SimpleBitmapLoader bitmapLoader = + new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); + + assertException( + () -> bitmapLoader.loadBitmap(Uri.parse("file:///not_valid/path/image.bmp")).get(), + IllegalArgumentException.class, + /* messagePart= */ "Could not read image from file"); + } + + @Test + public void load_unhandledUriScheme_throwsException() { SimpleBitmapLoader bitmapLoader = new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); @@ -114,10 +152,6 @@ public void loadUri_nonHttpUri_throwsException() { () -> bitmapLoader.loadBitmap(Uri.parse("/local/path")).get(), MalformedURLException.class, /* messagePart= */ "no protocol"); - assertException( - () -> bitmapLoader.loadBitmap(Uri.parse("file://local/path")).get(), - UnsupportedOperationException.class, - /* messagePart= */ "Unsupported scheme"); assertException( () -> bitmapLoader.loadBitmap(Uri.parse("asset://asset/path")).get(), MalformedURLException.class, diff --git a/libraries/session/src/main/java/androidx/media3/session/SimpleBitmapLoader.java b/libraries/session/src/main/java/androidx/media3/session/SimpleBitmapLoader.java index e3ddd87e76c..dd7c07b692e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SimpleBitmapLoader.java +++ b/libraries/session/src/main/java/androidx/media3/session/SimpleBitmapLoader.java @@ -15,6 +15,7 @@ */ package androidx.media3.session; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.graphics.Bitmap; @@ -38,19 +39,21 @@ /** * A simple bitmap loader that delegates all tasks to an executor and supports fetching images from - * HTTP/HTTPS endpoints. + * URIs with {@code file}, {@code http} and {@code https} schemes. * *

      Loading tasks are delegated to an {@link ExecutorService} (or {@link * ListeningExecutorService}) defined during construction. If no executor service is defined, all * tasks are delegated to a single-thread executor service that is shared between instances of this * class. * - *

      The supported URI scheme is only HTTP/HTTPS and this class reads a resource only when the - * endpoint responds with an {@code HTTP 200} after sending the HTTP request. + *

      For HTTP(S) transfers, this class reads a resource only when the endpoint responds with an + * {@code HTTP 200} after sending the HTTP request. */ @UnstableApi public final class SimpleBitmapLoader implements BitmapLoader { + private static final String FILE_URI_EXCEPTION_MESSAGE = "Could not read image from file"; + private static final Supplier DEFAULT_EXECUTOR_SERVICE = Suppliers.memoize( () -> MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor())); @@ -82,13 +85,22 @@ public ListenableFuture loadBitmap(Uri uri) { private static Bitmap decode(byte[] data) { @Nullable Bitmap bitmap = BitmapFactory.decodeByteArray(data, /* offset= */ 0, data.length); - if (bitmap == null) { - throw new IllegalArgumentException("Could not decode bitmap"); - } + checkArgument(bitmap != null, "Could not decode image data"); return bitmap; } private static Bitmap load(Uri uri) throws IOException { + if ("file".equals(uri.getScheme())) { + @Nullable String path = uri.getPath(); + if (path == null) { + throw new IllegalArgumentException(FILE_URI_EXCEPTION_MESSAGE); + } + @Nullable Bitmap bitmap = BitmapFactory.decodeFile(path); + if (bitmap == null) { + throw new IllegalArgumentException(FILE_URI_EXCEPTION_MESSAGE); + } + return bitmap; + } URLConnection connection = new URL(uri.toString()).openConnection(); if (!(connection instanceof HttpURLConnection)) { throw new UnsupportedOperationException("Unsupported scheme: " + uri.getScheme()); From 1b5e3ceb32294a069cae514a0d2bc3ebbeab23ff Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 29 Jul 2022 11:30:44 +0000 Subject: [PATCH 129/422] Add slider option for contrast in demo app PiperOrigin-RevId: 464050072 (cherry picked from commit 3fae9df8a9a1ab844d65a2336fc75a57e53d78d2) --- .../transformer/ConfigurationActivity.java | 35 +++++++++++-- .../demo/transformer/TransformerActivity.java | 13 +++-- .../src/main/res/layout/contrast_options.xml | 49 +++++++++++++++++++ .../src/main/res/values/strings.xml | 3 +- 4 files changed, 89 insertions(+), 11 deletions(-) create mode 100644 demos/transformer/src/main/res/layout/contrast_options.xml diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 3f21bcdcfb7..b6fd239d2ca 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -67,6 +67,7 @@ public final class ConfigurationActivity extends AppCompatActivity { public static final String PERIODIC_VIGNETTE_CENTER_Y = "periodic_vignette_center_y"; public static final String PERIODIC_VIGNETTE_INNER_RADIUS = "periodic_vignette_inner_radius"; public static final String PERIODIC_VIGNETTE_OUTER_RADIUS = "periodic_vignette_outer_radius"; + public static final String CONTRAST_VALUE = "contrast_value"; private static final String[] INPUT_URIS = { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/android-screens-10s.mp4", "https://storage.googleapis.com/exoplayer-test-media-0/android-block-1080-hevc.mp4", @@ -100,13 +101,14 @@ public final class ConfigurationActivity extends AppCompatActivity { private static final String[] DEMO_EFFECTS = { "Dizzy crop", "Edge detector (Media Pipe)", + "Contrast", "Periodic vignette", "3D spin", "Overlay logo & timer", "Zoom in start", - "Increase contrast" }; - private static final int PERIODIC_VIGNETTE_INDEX = 2; + private static final int CONTRAST_INDEX = 2; + private static final int PERIODIC_VIGNETTE_INDEX = 3; private static final String SAME_AS_INPUT_OPTION = "same as input"; private static final float HALF_DIAGONAL = 1f / (float) Math.sqrt(2); @@ -130,6 +132,7 @@ public final class ConfigurationActivity extends AppCompatActivity { private int inputUriPosition; private long trimStartMs; private long trimEndMs; + private float contrastValue; private float periodicVignetteCenterX; private float periodicVignetteCenterY; private float periodicVignetteInnerRadius; @@ -285,6 +288,7 @@ private void startTransformation(View view) { ENABLE_REQUEST_SDR_TONE_MAPPING, enableRequestSdrToneMappingCheckBox.isChecked()); bundle.putBoolean(ENABLE_HDR_EDITING, enableHdrEditingCheckBox.isChecked()); bundle.putBooleanArray(DEMO_EFFECTS_SELECTIONS, demoEffectsSelections); + bundle.putFloat(CONTRAST_VALUE, contrastValue); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_X, periodicVignetteCenterX); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_Y, periodicVignetteCenterY); bundle.putFloat(PERIODIC_VIGNETTE_INNER_RADIUS, periodicVignetteInnerRadius); @@ -347,10 +351,35 @@ private void selectFileInDialog(DialogInterface dialog, int which) { @RequiresNonNull("demoEffectsSelections") private void selectDemoEffect(DialogInterface dialog, int which, boolean isChecked) { demoEffectsSelections[which] = isChecked; - if (!isChecked || which != PERIODIC_VIGNETTE_INDEX) { + if (!isChecked) { return; } + switch (which) { + case CONTRAST_INDEX: + controlContrastSettings(); + break; + case PERIODIC_VIGNETTE_INDEX: + controlPeriodicVignetteSettings(); + break; + } + } + + private void controlContrastSettings() { + View dialogView = getLayoutInflater().inflate(R.layout.contrast_options, /* root= */ null); + Slider contrastSlider = checkNotNull(dialogView.findViewById(R.id.contrast_slider)); + new AlertDialog.Builder(/* context= */ this) + .setView(dialogView) + .setPositiveButton( + android.R.string.ok, + (DialogInterface dialogInterface, int i) -> { + contrastValue = contrastSlider.getValue(); + }) + .create() + .show(); + } + + private void controlPeriodicVignetteSettings() { View dialogView = getLayoutInflater().inflate(R.layout.periodic_vignette_options, /* root= */ null); Slider centerXSlider = diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index bc0e3fdfb9a..d9ae5d5a3a5 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -301,6 +301,9 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) } } if (selectedEffects[2]) { + effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE))); + } + if (selectedEffects[3]) { effects.add( (GlEffect) (Context context, boolean useHdr) -> @@ -315,18 +318,14 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS), bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS))); } - if (selectedEffects[3]) { - effects.add(MatrixTransformationFactory.createSpin3dEffect()); - } if (selectedEffects[4]) { - effects.add((GlEffect) BitmapOverlayProcessor::new); + effects.add(MatrixTransformationFactory.createSpin3dEffect()); } if (selectedEffects[5]) { - effects.add(MatrixTransformationFactory.createZoomInTransition()); + effects.add((GlEffect) BitmapOverlayProcessor::new); } if (selectedEffects[6]) { - // TODO(b/238630175): Add slider for contrast adjustments. - effects.add(new Contrast(0.75f)); + effects.add(MatrixTransformationFactory.createZoomInTransition()); } transformerBuilder.setVideoEffects(effects.build()); } diff --git a/demos/transformer/src/main/res/layout/contrast_options.xml b/demos/transformer/src/main/res/layout/contrast_options.xml new file mode 100644 index 00000000000..4ccfdc0db5f --- /dev/null +++ b/demos/transformer/src/main/res/layout/contrast_options.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + diff --git a/demos/transformer/src/main/res/values/strings.xml b/demos/transformer/src/main/res/values/strings.xml index 69b68cded8f..a1d40b5c0bc 100644 --- a/demos/transformer/src/main/res/values/strings.xml +++ b/demos/transformer/src/main/res/values/strings.xml @@ -41,8 +41,9 @@ Transformation started %d seconds ago. Transformation completed in %d seconds. Transformation error + Bounds in seconds + Contrast value Center X Center Y Radius range - Bounds in seconds From 1bee4f86fbd4eb3b9a984e580a32e3d9b332c8e1 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 29 Jul 2022 11:52:06 +0000 Subject: [PATCH 130/422] Add interface version of MediaSessionStub PiperOrigin-RevId: 464052708 (cherry picked from commit a28b3ef77843bb75938b2ca738ebedf0c29c1129) --- .../media3/session/ConnectionState.java | 28 +++++--- .../session/MediaControllerImplBase.java | 3 +- .../media3/session/MediaSessionImpl.java | 1 + .../media3/session/MediaSessionStub.java | 4 ++ .../androidx/media3/session/SessionToken.java | 22 +++++-- .../media3/session/SessionTokenImplBase.java | 66 ++++++++++++++----- .../session/SessionTokenImplLegacy.java | 7 +- .../session/MediaControllerListenerTest.java | 13 ++++ .../media3/session/SessionTokenTest.java | 5 ++ 9 files changed, 116 insertions(+), 33 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java index 6752a386c31..afb57b623f1 100644 --- a/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java +++ b/libraries/session/src/main/java/androidx/media3/session/ConnectionState.java @@ -37,7 +37,9 @@ */ /* package */ class ConnectionState implements Bundleable { - public final int version; + public final int libraryVersion; + + public final int sessionInterfaceVersion; public final IMediaSession sessionBinder; @@ -54,7 +56,8 @@ public final PlayerInfo playerInfo; public ConnectionState( - int version, + int libraryVersion, + int sessionInterfaceVersion, IMediaSession sessionBinder, @Nullable PendingIntent sessionActivity, SessionCommands sessionCommands, @@ -62,7 +65,8 @@ public ConnectionState( Player.Commands playerCommandsFromPlayer, Bundle tokenExtras, PlayerInfo playerInfo) { - this.version = version; + this.libraryVersion = libraryVersion; + this.sessionInterfaceVersion = sessionInterfaceVersion; this.sessionBinder = sessionBinder; this.sessionCommands = sessionCommands; this.playerCommandsFromSession = playerCommandsFromSession; @@ -78,7 +82,7 @@ public ConnectionState( @Retention(RetentionPolicy.SOURCE) @Target(TYPE_USE) @IntDef({ - FIELD_VERSION, + FIELD_LIBRARY_VERSION, FIELD_SESSION_BINDER, FIELD_SESSION_ACTIVITY, FIELD_SESSION_COMMANDS, @@ -86,10 +90,11 @@ public ConnectionState( FIELD_PLAYER_COMMANDS_FROM_PLAYER, FIELD_TOKEN_EXTRAS, FIELD_PLAYER_INFO, + FIELD_SESSION_INTERFACE_VERSION, }) private @interface FieldNumber {} - private static final int FIELD_VERSION = 0; + private static final int FIELD_LIBRARY_VERSION = 0; private static final int FIELD_SESSION_BINDER = 1; private static final int FIELD_SESSION_ACTIVITY = 2; private static final int FIELD_SESSION_COMMANDS = 3; @@ -97,12 +102,13 @@ public ConnectionState( private static final int FIELD_PLAYER_COMMANDS_FROM_PLAYER = 5; private static final int FIELD_TOKEN_EXTRAS = 6; private static final int FIELD_PLAYER_INFO = 7; - // Next field key = 8 + private static final int FIELD_SESSION_INTERFACE_VERSION = 8; + // Next field key = 9 @Override public Bundle toBundle() { Bundle bundle = new Bundle(); - bundle.putInt(keyForField(FIELD_VERSION), version); + bundle.putInt(keyForField(FIELD_LIBRARY_VERSION), libraryVersion); BundleCompat.putBinder(bundle, keyForField(FIELD_SESSION_BINDER), sessionBinder.asBinder()); bundle.putParcelable(keyForField(FIELD_SESSION_ACTIVITY), sessionActivity); bundle.putBundle(keyForField(FIELD_SESSION_COMMANDS), sessionCommands.toBundle()); @@ -124,6 +130,7 @@ public Bundle toBundle() { /* excludeTimeline= */ false, /* excludeTracks= */ !playerCommandsFromPlayer.contains(Player.COMMAND_GET_TRACKS) || !playerCommandsFromSession.contains(Player.COMMAND_GET_TRACKS))); + bundle.putInt(keyForField(FIELD_SESSION_INTERFACE_VERSION), sessionInterfaceVersion); return bundle; } @@ -131,7 +138,9 @@ public Bundle toBundle() { public static final Creator CREATOR = ConnectionState::fromBundle; private static ConnectionState fromBundle(Bundle bundle) { - int version = bundle.getInt(keyForField(FIELD_VERSION), /* defaultValue= */ 0); + int libraryVersion = bundle.getInt(keyForField(FIELD_LIBRARY_VERSION), /* defaultValue= */ 0); + int sessionInterfaceVersion = + bundle.getInt(keyForField(FIELD_SESSION_INTERFACE_VERSION), /* defaultValue= */ 0); IBinder sessionBinder = checkNotNull(BundleCompat.getBinder(bundle, keyForField(FIELD_SESSION_BINDER))); @Nullable @@ -162,7 +171,8 @@ private static ConnectionState fromBundle(Bundle bundle) { ? PlayerInfo.DEFAULT : PlayerInfo.CREATOR.fromBundle(playerInfoBundle); return new ConnectionState( - version, + libraryVersion, + sessionInterfaceVersion, IMediaSession.Stub.asInterface(sessionBinder), sessionActivity, sessionCommands, diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index aadc8a42d6d..d217afa06e6 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -2326,7 +2326,8 @@ void onConnected(ConnectionState result) { new SessionToken( token.getUid(), TYPE_SESSION, - result.version, + result.libraryVersion, + result.sessionInterfaceVersion, token.getPackageName(), result.sessionBinder, result.tokenExtras); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index 196139e5681..1bf05a72557 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -177,6 +177,7 @@ public MediaSessionImpl( Process.myUid(), SessionToken.TYPE_SESSION, MediaLibraryInfo.VERSION_INT, + MediaSessionStub.VERSION_INT, context.getPackageName(), sessionStub, tokenExtras); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java index cba32b5f443..7160d1e176e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionStub.java @@ -102,6 +102,9 @@ private static final String TAG = "MediaSessionStub"; + /** The version of the IMediaSession interface. */ + public static final int VERSION_INT = 1; + private final WeakReference sessionImpl; private final MediaSessionManager sessionManager; private final ConnectedControllersManager connectedControllersManager; @@ -446,6 +449,7 @@ public void connect( ConnectionState state = new ConnectionState( MediaLibraryInfo.VERSION_INT, + MediaSessionStub.VERSION_INT, MediaSessionStub.this, sessionImpl.getSessionActivity(), connectionResult.availableSessionCommands, diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java index fd9d1f0280b..ff8167ce1e0 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java @@ -133,11 +133,14 @@ public SessionToken(Context context, ComponentName serviceComponent) { /* package */ SessionToken( int uid, int type, - int version, + int libraryVersion, + int interfaceVersion, String packageName, IMediaSession iSession, Bundle tokenExtras) { - impl = new SessionTokenImplBase(uid, type, version, packageName, iSession, tokenExtras); + impl = + new SessionTokenImplBase( + uid, type, libraryVersion, interfaceVersion, packageName, iSession, tokenExtras); } /* package */ SessionToken(Context context, MediaSessionCompat.Token compatToken) { @@ -230,7 +233,16 @@ public String getServiceName() { * {@code 1000000} if the session is a legacy session. */ public int getSessionVersion() { - return impl.getSessionVersion(); + return impl.getLibraryVersion(); + } + + /** + * Returns the interface version of the session if the {@link #getType() type} is {@link + * #TYPE_SESSION}. Otherwise, it returns {@code 0}. + */ + @UnstableApi + public int getInterfaceVersion() { + return impl.getInterfaceVersion(); } /** @@ -412,7 +424,9 @@ private static MediaControllerCompat createMediaControllerCompat( @TokenType int getType(); - int getSessionVersion(); + int getLibraryVersion(); + + int getInterfaceVersion(); Bundle getExtras(); diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java index aaefd1dc012..1c2e869b530 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplBase.java @@ -40,7 +40,9 @@ @SessionToken.TokenType private final int type; - private final int version; + private final int libraryVersion; + + private final int interfaceVersion; private final String packageName; @@ -56,7 +58,8 @@ public SessionTokenImplBase(ComponentName serviceComponent, int uid, int type) { this( uid, type, - /* version= */ 0, + /* libraryVersion= */ 0, + /* interfaceVersion= */ 0, checkNotNull(serviceComponent).getPackageName(), /* serviceName= */ serviceComponent.getClassName(), /* componentName= */ serviceComponent, @@ -67,14 +70,16 @@ public SessionTokenImplBase(ComponentName serviceComponent, int uid, int type) { public SessionTokenImplBase( int uid, int type, - int version, + int libraryVersion, + int interfaceVersion, String packageName, IMediaSession iSession, Bundle tokenExtras) { this( uid, type, - version, + libraryVersion, + interfaceVersion, checkNotNull(packageName), /* serviceName= */ "", /* componentName= */ null, @@ -85,7 +90,8 @@ public SessionTokenImplBase( private SessionTokenImplBase( int uid, int type, - int version, + int libraryVersion, + int interfaceVersion, String packageName, String serviceName, @Nullable ComponentName componentName, @@ -93,7 +99,8 @@ private SessionTokenImplBase( Bundle extras) { this.uid = uid; this.type = type; - this.version = version; + this.libraryVersion = libraryVersion; + this.interfaceVersion = interfaceVersion; this.packageName = packageName; this.serviceName = serviceName; this.componentName = componentName; @@ -103,7 +110,15 @@ private SessionTokenImplBase( @Override public int hashCode() { - return Objects.hashCode(uid, type, version, packageName, serviceName, componentName, iSession); + return Objects.hashCode( + uid, + type, + libraryVersion, + interfaceVersion, + packageName, + serviceName, + componentName, + iSession); } @Override @@ -114,7 +129,8 @@ public boolean equals(@Nullable Object obj) { SessionTokenImplBase other = (SessionTokenImplBase) obj; return uid == other.uid && type == other.type - && version == other.version + && libraryVersion == other.libraryVersion + && interfaceVersion == other.interfaceVersion && TextUtils.equals(packageName, other.packageName) && TextUtils.equals(serviceName, other.serviceName) && Util.areEqual(componentName, other.componentName) @@ -127,8 +143,10 @@ public String toString() { + packageName + " type=" + type - + " version=" - + version + + " libraryVersion=" + + libraryVersion + + " interfaceVersion=" + + interfaceVersion + " service=" + serviceName + " IMediaSession=" @@ -171,8 +189,13 @@ public int getType() { } @Override - public int getSessionVersion() { - return version; + public int getLibraryVersion() { + return libraryVersion; + } + + @Override + public int getInterfaceVersion() { + return interfaceVersion; } @Override @@ -194,35 +217,39 @@ public Object getBinder() { @IntDef({ FIELD_UID, FIELD_TYPE, - FIELD_VERSION, + FIELD_LIBRARY_VERSION, FIELD_PACKAGE_NAME, FIELD_SERVICE_NAME, FIELD_ISESSION, FIELD_COMPONENT_NAME, - FIELD_EXTRAS + FIELD_EXTRAS, + FIELD_INTERFACE_VERSION }) private @interface FieldNumber {} private static final int FIELD_UID = 0; private static final int FIELD_TYPE = 1; - private static final int FIELD_VERSION = 2; + private static final int FIELD_LIBRARY_VERSION = 2; private static final int FIELD_PACKAGE_NAME = 3; private static final int FIELD_SERVICE_NAME = 4; private static final int FIELD_COMPONENT_NAME = 5; private static final int FIELD_ISESSION = 6; private static final int FIELD_EXTRAS = 7; + private static final int FIELD_INTERFACE_VERSION = 8; + // Next field key = 9 @Override public Bundle toBundle() { Bundle bundle = new Bundle(); bundle.putInt(keyForField(FIELD_UID), uid); bundle.putInt(keyForField(FIELD_TYPE), type); - bundle.putInt(keyForField(FIELD_VERSION), version); + bundle.putInt(keyForField(FIELD_LIBRARY_VERSION), libraryVersion); bundle.putString(keyForField(FIELD_PACKAGE_NAME), packageName); bundle.putString(keyForField(FIELD_SERVICE_NAME), serviceName); BundleCompat.putBinder(bundle, keyForField(FIELD_ISESSION), iSession); bundle.putParcelable(keyForField(FIELD_COMPONENT_NAME), componentName); bundle.putBundle(keyForField(FIELD_EXTRAS), extras); + bundle.putInt(keyForField(FIELD_INTERFACE_VERSION), interfaceVersion); return bundle; } @@ -234,7 +261,9 @@ private static SessionTokenImplBase fromBundle(Bundle bundle) { int uid = bundle.getInt(keyForField(FIELD_UID)); checkArgument(bundle.containsKey(keyForField(FIELD_TYPE)), "type should be set."); int type = bundle.getInt(keyForField(FIELD_TYPE)); - int version = bundle.getInt(keyForField(FIELD_VERSION), /* defaultValue= */ 0); + int libraryVersion = bundle.getInt(keyForField(FIELD_LIBRARY_VERSION), /* defaultValue= */ 0); + int interfaceVersion = + bundle.getInt(keyForField(FIELD_INTERFACE_VERSION), /* defaultValue= */ 0); String packageName = checkNotEmpty( bundle.getString(keyForField(FIELD_PACKAGE_NAME)), "package name should be set."); @@ -245,7 +274,8 @@ private static SessionTokenImplBase fromBundle(Bundle bundle) { return new SessionTokenImplBase( uid, type, - version, + libraryVersion, + interfaceVersion, packageName, serviceName, componentName, diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java index ab5ae898f0c..da43c9fbd6b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionTokenImplLegacy.java @@ -154,7 +154,12 @@ public int getType() { } @Override - public int getSessionVersion() { + public int getLibraryVersion() { + return 0; + } + + @Override + public int getInterfaceVersion() { return 0; } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index c3e9f6c058f..ea40566bb73 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -54,6 +54,7 @@ import androidx.media3.common.FlagSet; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; +import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.MediaMetadata; import androidx.media3.common.PlaybackException; import androidx.media3.common.PlaybackParameters; @@ -229,6 +230,18 @@ public void onDisconnected(MediaController controller) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); } + @Test + public void connection_correctVersions() throws Exception { + SessionToken token = new SessionToken(context, MOCK_MEDIA3_SESSION_SERVICE); + + MediaController controller = controllerTestRule.createController(token); + + assertThat(controller.getConnectedToken().getInterfaceVersion()) + .isEqualTo(MediaSessionStub.VERSION_INT); + assertThat(controller.getConnectedToken().getSessionVersion()) + .isEqualTo(MediaLibraryInfo.VERSION_INT); + } + @Test @LargeTest public void noInteractionAfterSessionClose_session() throws Exception { diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/SessionTokenTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/SessionTokenTest.java index 47f60687653..b2d54e2abf7 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/SessionTokenTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/SessionTokenTest.java @@ -71,6 +71,8 @@ public void constructor_sessionService() { assertThat(token.getPackageName()).isEqualTo(context.getPackageName()); assertThat(token.getUid()).isEqualTo(Process.myUid()); assertThat(token.getType()).isEqualTo(SessionToken.TYPE_SESSION_SERVICE); + assertThat(token.getInterfaceVersion()).isEqualTo(0); + assertThat(token.getSessionVersion()).isEqualTo(0); } @Test @@ -84,6 +86,8 @@ public void constructor_libraryService() { assertThat(token.getUid()).isEqualTo(Process.myUid()); assertThat(token.getType()).isEqualTo(SessionToken.TYPE_LIBRARY_SERVICE); assertThat(token.getServiceName()).isEqualTo(testComponentName.getClassName()); + assertThat(token.getInterfaceVersion()).isEqualTo(0); + assertThat(token.getSessionVersion()).isEqualTo(0); } @Test @@ -101,6 +105,7 @@ public void getters_whenCreatedBySession() { assertThat(token.getUid()).isEqualTo(Process.myUid()); assertThat(token.getType()).isEqualTo(SessionToken.TYPE_SESSION); assertThat(token.getSessionVersion()).isEqualTo(MediaLibraryInfo.VERSION_INT); + assertThat(token.getInterfaceVersion()).isEqualTo(MediaSessionStub.VERSION_INT); assertThat(TestUtils.equals(testTokenExtras, token.getExtras())).isTrue(); assertThat(token.getServiceName()).isEmpty(); } From de4c2e08e19dad3314dfde706977ca7308c55c3f Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 29 Jul 2022 12:54:30 +0000 Subject: [PATCH 131/422] Move FrameProcessor and related interfaces to common. This will allow effects preview in ExoPlayer to use the Effect and FrameProcessor interface (and the interfaces they depend on) without depending on transformer or the future effects module. PiperOrigin-RevId: 464060047 (cherry picked from commit 480c129c54777780f298d7e5dbd9fa23a371f660) --- .../media3/demo/transformer/BitmapOverlayProcessor.java | 2 +- .../media3/demo/transformer/PeriodicVignetteProcessor.java | 2 +- .../media3/demo/transformer/TransformerActivity.java | 4 ++-- .../media3/demo/transformer/MediaPipeProcessor.java | 2 +- .../java/androidx/media3/common}/DebugViewProvider.java | 2 +- .../src/main/java/androidx/media3/common}/Effect.java | 2 +- .../src/main/java/androidx/media3/common}/FrameInfo.java | 2 +- .../androidx/media3/common}/FrameProcessingException.java | 3 +-- .../main/java/androidx/media3/common}/FrameProcessor.java | 2 +- .../src/main/java/androidx/media3/common}/SurfaceInfo.java | 2 +- .../java/androidx/media3/transformer/ContrastPixelTest.java | 1 + .../java/androidx/media3/transformer/CropPixelTest.java | 1 + .../transformer/GlEffectsFrameProcessorPixelTest.java | 6 ++++++ .../transformer/MatrixTransformationProcessorPixelTest.java | 1 + .../androidx/media3/transformer/PresentationPixelTest.java | 1 + .../transformer/ChainingGlTextureProcessorListener.java | 2 ++ .../src/main/java/androidx/media3/transformer/Contrast.java | 1 + .../java/androidx/media3/transformer/ContrastProcessor.java | 1 + .../FinalMatrixTransformationProcessorWrapper.java | 4 ++++ .../androidx/media3/transformer/FrameProcessingTask.java | 1 + .../media3/transformer/FrameProcessingTaskExecutor.java | 2 ++ .../src/main/java/androidx/media3/transformer/GlEffect.java | 2 ++ .../media3/transformer/GlEffectsFrameProcessor.java | 6 ++++++ .../androidx/media3/transformer/GlMatrixTransformation.java | 1 + .../androidx/media3/transformer/GlTextureProcessor.java | 1 + .../media3/transformer/MatrixTransformationProcessor.java | 1 + .../media3/transformer/SingleFrameGlTextureProcessor.java | 1 + .../media3/transformer/TransformationException.java | 1 + .../main/java/androidx/media3/transformer/Transformer.java | 3 +++ .../media3/transformer/TransformerVideoRenderer.java | 3 +++ .../media3/transformer/VideoTranscodingSamplePipeline.java | 6 ++++++ .../transformer/ChainingGlTextureProcessorListenerTest.java | 2 ++ .../media3/transformer/VideoEncoderWrapperTest.java | 1 + 33 files changed, 60 insertions(+), 12 deletions(-) rename libraries/{transformer/src/main/java/androidx/media3/transformer => common/src/main/java/androidx/media3/common}/DebugViewProvider.java (97%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => common/src/main/java/androidx/media3/common}/Effect.java (95%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => common/src/main/java/androidx/media3/common}/FrameInfo.java (98%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => common/src/main/java/androidx/media3/common}/FrameProcessingException.java (98%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => common/src/main/java/androidx/media3/common}/FrameProcessor.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => common/src/main/java/androidx/media3/common}/SurfaceInfo.java (98%) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index e26561d08dc..90e2676e159 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -30,9 +30,9 @@ import android.opengl.GLUtils; import android.util.Pair; import androidx.media3.common.C; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; -import androidx.media3.transformer.FrameProcessingException; import androidx.media3.transformer.SingleFrameGlTextureProcessor; import java.io.IOException; import java.util.Locale; diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index 3fc62ef18bd..be24e57383f 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -20,9 +20,9 @@ import android.content.Context; import android.opengl.GLES20; import android.util.Pair; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; -import androidx.media3.transformer.FrameProcessingException; import androidx.media3.transformer.SingleFrameGlTextureProcessor; import java.io.IOException; diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index d9ae5d5a3a5..b580b1b625b 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -36,15 +36,15 @@ import androidx.annotation.StringRes; import androidx.appcompat.app.AppCompatActivity; import androidx.media3.common.C; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; import androidx.media3.common.MediaItem; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.util.DebugTextViewHelper; import androidx.media3.transformer.Contrast; -import androidx.media3.transformer.DebugViewProvider; import androidx.media3.transformer.DefaultEncoderFactory; -import androidx.media3.transformer.Effect; import androidx.media3.transformer.GlEffect; import androidx.media3.transformer.GlTextureProcessor; import androidx.media3.transformer.ProgressHolder; diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 48e2764daf0..c93caf2665f 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -25,9 +25,9 @@ import androidx.annotation.ChecksSdkIntAtLeast; import androidx.annotation.Nullable; import androidx.media3.common.C; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.LibraryLoader; import androidx.media3.common.util.Util; -import androidx.media3.transformer.FrameProcessingException; import androidx.media3.transformer.GlTextureProcessor; import androidx.media3.transformer.TextureInfo; import com.google.mediapipe.components.FrameProcessor; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java b/libraries/common/src/main/java/androidx/media3/common/DebugViewProvider.java similarity index 97% rename from libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java rename to libraries/common/src/main/java/androidx/media3/common/DebugViewProvider.java index 9ef2ecb4fbf..83f39fa81fe 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DebugViewProvider.java +++ b/libraries/common/src/main/java/androidx/media3/common/DebugViewProvider.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.common; import android.view.SurfaceView; import androidx.annotation.Nullable; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java b/libraries/common/src/main/java/androidx/media3/common/Effect.java similarity index 95% rename from libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java rename to libraries/common/src/main/java/androidx/media3/common/Effect.java index 6d85e2f38d7..5504b5d9ef7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Effect.java +++ b/libraries/common/src/main/java/androidx/media3/common/Effect.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.common; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java b/libraries/common/src/main/java/androidx/media3/common/FrameInfo.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java rename to libraries/common/src/main/java/androidx/media3/common/FrameInfo.java index d70e6b7f5cb..6a7301f797d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessingException.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java rename to libraries/common/src/main/java/androidx/media3/common/FrameProcessingException.java index 1d1d5d47ed2..1ec4f476dfd 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingException.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessingException.java @@ -13,9 +13,8 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.common; -import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; /** Thrown when an exception occurs while applying effects to video frames. */ diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java rename to libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index 26a370b18f9..0e5ef308673 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.common; import android.content.Context; import android.view.Surface; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java b/libraries/common/src/main/java/androidx/media3/common/SurfaceInfo.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java rename to libraries/common/src/main/java/androidx/media3/common/SurfaceInfo.java index ab2d5ad69fe..42477cc132c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SurfaceInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/SurfaceInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.common; import static androidx.media3.common.util.Assertions.checkArgument; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java index 2e9f030ea90..3e9ffb31c14 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java @@ -28,6 +28,7 @@ import android.opengl.EGLDisplay; import android.opengl.EGLSurface; import android.util.Pair; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java index 877d51048d4..a5558aa1b16 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java @@ -26,6 +26,7 @@ import android.opengl.EGLDisplay; import android.opengl.EGLSurface; import android.util.Pair; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.IOException; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java index 404feb0e49f..48dc50822af 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java @@ -34,7 +34,13 @@ import android.media.MediaFormat; import android.util.Pair; import androidx.annotation.Nullable; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; +import androidx.media3.common.FrameInfo; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; import androidx.media3.common.MimeTypes; +import androidx.media3.common.SurfaceInfo; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; import java.nio.ByteBuffer; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java index ee8c8422b51..4fab3251c97 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java @@ -25,6 +25,7 @@ import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.opengl.EGLSurface; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.IOException; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java index 4bf09061e16..9469fa0382e 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java @@ -27,6 +27,7 @@ import android.opengl.EGLSurface; import android.util.Pair; import androidx.media3.common.C; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.IOException; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java index da2ace4caeb..7f7fd8ca047 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java @@ -17,6 +17,8 @@ import android.util.Pair; import androidx.annotation.Nullable; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; import java.util.ArrayDeque; import java.util.Queue; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java index 06db7a3a3a8..b4399d8ed01 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import android.content.Context; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; /** A {@link GlEffect} to control the contrast of video frames. */ diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java index 9f58371dc97..101928895a2 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java @@ -20,6 +20,7 @@ import android.opengl.GLES20; import android.opengl.Matrix; import android.util.Pair; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import java.io.IOException; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java index 55f6c434588..b22ae5c0ba9 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java @@ -33,6 +33,10 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import androidx.media3.common.C; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.SurfaceInfo; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java index e5e12dc14ce..e12bcae9239 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java @@ -15,6 +15,7 @@ */ package androidx.media3.transformer; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java index 86e03bd132f..8272e543e4a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java @@ -17,6 +17,8 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; import androidx.media3.common.util.GlUtil; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java index aa69767be82..6b57d4d6072 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java @@ -16,6 +16,8 @@ package androidx.media3.transformer; import android.content.Context; +import androidx.media3.common.Effect; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java index fb02c98c8f2..c1e31fbed43 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java @@ -29,6 +29,12 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import androidx.media3.common.C; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; +import androidx.media3.common.FrameInfo; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.SurfaceInfo; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java index 9bf6dcc201b..94db69e9ae7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java @@ -18,6 +18,7 @@ import android.content.Context; import android.opengl.Matrix; import android.util.Pair; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java index 55cba646bd8..a935b8f1870 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java @@ -15,6 +15,7 @@ */ package androidx.media3.transformer; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java index de182e25ccf..11078885750 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java @@ -21,6 +21,7 @@ import android.opengl.GLES20; import android.opengl.Matrix; import android.util.Pair; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java index b07f7be3c60..cb015b50290 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java @@ -17,6 +17,7 @@ import android.util.Pair; import androidx.annotation.CallSuper; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import org.checkerframework.checker.nullness.qual.EnsuresNonNull; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index f03ebb9d62a..98e8f31f0a4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -23,6 +23,7 @@ import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.media3.common.Format; +import androidx.media3.common.FrameProcessingException; import androidx.media3.common.PlaybackException; import androidx.media3.common.util.Clock; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index cd8642b18cc..c70eda8bed6 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -34,6 +34,9 @@ import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; +import androidx.media3.common.FrameProcessor; import androidx.media3.common.MediaItem; import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.MimeTypes; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 91f4766c6c5..00e5ed117fc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -23,7 +23,10 @@ import android.content.Context; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; import androidx.media3.common.Format; +import androidx.media3.common.FrameProcessor; import androidx.media3.decoder.DecoderInputBuffer; import androidx.media3.exoplayer.FormatHolder; import androidx.media3.exoplayer.source.SampleStream.ReadDataResult; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 30d7a93284d..cf50c5a82bc 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -25,7 +25,13 @@ import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; import androidx.media3.common.Format; +import androidx.media3.common.FrameInfo; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.SurfaceInfo; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import com.google.common.collect.ImmutableList; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java index 5f141cd0ae3..37b00cd902c 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java @@ -20,6 +20,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; import androidx.media3.common.util.Util; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.After; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java index 4f546b88af9..e92ed9db6a9 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/VideoEncoderWrapperTest.java @@ -25,6 +25,7 @@ import androidx.media3.common.Format; import androidx.media3.common.MediaItem; import androidx.media3.common.MimeTypes; +import androidx.media3.common.SurfaceInfo; import androidx.media3.common.util.Clock; import androidx.media3.common.util.ListenerSet; import androidx.test.ext.junit.runners.AndroidJUnit4; From c34e41950be8887b2ae58c1f58c1e4813dd22ce5 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Fri, 29 Jul 2022 19:33:44 +0000 Subject: [PATCH 132/422] HDR: Have @C.ColorTransfer check consider NO_VALUE as SDR. Format.NO_VALUE is a placeholder value for an invalid @C.ColorTransfer, used for example when the decoder doesn't support this transfer function. When encountering this invalid value, interpret this as COLOR_TRANSFER_SDR. Confirmed locally that an exception is thrown when transcoding on p4head, and no exception is thrown when transcoding with this CL. PiperOrigin-RevId: 464135080 (cherry picked from commit 687a50e9b313e5db37a0b32f5f40559252ab6031) --- .../media3/common/util/MediaFormatUtil.java | 2 ++ .../mh/SetHdrEditingTransformationTest.java | 10 ++++++++-- .../media3/transformer/DefaultCodec.java | 16 ++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java index 3e526c7c288..b1d56ddb017 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/MediaFormatUtil.java @@ -213,6 +213,8 @@ public static ColorInfo getColorInfo(MediaFormat mediaFormat) { @Nullable byte[] hdrStaticInfo = hdrStaticInfoByteBuffer != null ? getArray(hdrStaticInfoByteBuffer) : null; + // Some devices may produce invalid values from MediaFormat#getInteger. + // See b/239435670 for more information. if (!isValidColorSpace(colorSpace)) { colorSpace = Format.NO_VALUE; } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java index e8d33dc35f5..68b9fdcf3c5 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java @@ -16,6 +16,7 @@ package androidx.media3.transformer.mh; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER; +import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; @@ -36,9 +37,14 @@ @RunWith(AndroidJUnit4.class) public class SetHdrEditingTransformationTest { @Test - public void videoDecoderUnexpectedColorInfo_completesWithError() { + public void videoDecoderUnexpectedColorInfo_completesWithError() throws Exception { Context context = ApplicationProvider.getApplicationContext(); - if (Util.SDK_INT < 24) { + if (Util.SDK_INT < 29) { + recordTestSkipped( + context, + "SetHdrEditingTransformationTest", + /* reason= */ "Skipping on this API version due to lack of support for" + + " MediaFormat#getInteger(String, int)."); return; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 71a809dfc53..c8331510a94 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -320,7 +320,7 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo if (outputBufferIndex < 0) { if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { outputFormat = convertToFormat(mediaCodec.getOutputFormat()); - if (!isColorTransferEqual(configuredOutputColor, outputFormat.colorInfo)) { + if (!areColorTransfersEqual(configuredOutputColor, outputFormat.colorInfo)) { // TODO(b/237674316): These exceptions throw when the container ColorInfo doesn't match // the video ColorInfo. Instead of throwing when seeing unexpected ColorInfos, consider // reconfiguring downstream components (ex. FrameProcessor and encoder) when different @@ -374,12 +374,16 @@ private TransformationException createTransformationException(Exception cause) { : TransformationException.ERROR_CODE_ENCODING_FAILED); } - private static boolean isColorTransferEqual( + private static boolean areColorTransfersEqual( @Nullable ColorInfo colorInfo1, @Nullable ColorInfo colorInfo2) { - @C.ColorTransfer - int transfer1 = (colorInfo1 != null) ? colorInfo1.colorTransfer : C.COLOR_TRANSFER_SDR; - @C.ColorTransfer - int transfer2 = (colorInfo2 != null) ? colorInfo2.colorTransfer : C.COLOR_TRANSFER_SDR; + @C.ColorTransfer int transfer1 = C.COLOR_TRANSFER_SDR; + if (colorInfo1 != null && colorInfo1.colorTransfer != Format.NO_VALUE) { + transfer1 = colorInfo1.colorTransfer; + } + @C.ColorTransfer int transfer2 = C.COLOR_TRANSFER_SDR; + if (colorInfo2 != null && colorInfo2.colorTransfer != Format.NO_VALUE) { + transfer2 = colorInfo2.colorTransfer; + } return transfer1 == transfer2; } From 1ef01adc741b61289e113dc92936c69a28afe65a Mon Sep 17 00:00:00 2001 From: leonwind Date: Mon, 1 Aug 2022 13:14:49 +0000 Subject: [PATCH 133/422] Migrate Contrast asset to emulator generated one. PiperOrigin-RevId: 464519030 (cherry picked from commit ae1915ea1acea1181198b71ae654830c7512337b) --- .../java/androidx/media3/transformer/ContrastPixelTest.java | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java index 3e9ffb31c14..eb6133b0f96 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java @@ -49,7 +49,6 @@ public class ContrastPixelTest { private static final String EXOPLAYER_LOGO_PNG_ASSET_PATH = "media/bitmap/exoplayer_logo/original.png"; - // TODO(b/239005261): Migrate png to an emulator generated picture. private static final String MAXIMUM_CONTRAST_PNG_ASSET_PATH = "media/bitmap/exoplayer_logo/maximum_contrast.png"; From 2c4e946f7118572958cda2c40384e3f4ffaeb2e5 Mon Sep 17 00:00:00 2001 From: leonwind Date: Mon, 1 Aug 2022 13:47:21 +0000 Subject: [PATCH 134/422] Implement RGBA color matrices processor * Transform frame colors using a defined RGBA Matrix to apply filters. PiperOrigin-RevId: 464523581 (cherry picked from commit d15f2ed388e59e1b378440470347ee6f7f00ed94) --- .../sample_mp4_first_frame/grayscale.png | Bin 0 -> 339700 bytes .../increase_brightness.png | Bin 0 -> 151351 bytes .../only_red_channel.png | Bin 0 -> 291459 bytes .../transformer/RgbaMatrixPixelTest.java | 234 ++++++++++++++++++ .../fragment_shader_transformation_es2.glsl | 28 +++ .../media3/transformer/RgbaMatrix.java | 40 +++ .../transformer/RgbaMatrixProcessor.java | 82 ++++++ 7 files changed, 384 insertions(+) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_brightness.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/only_red_channel.png create mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/RgbaMatrixPixelTest.java create mode 100644 libraries/transformer/src/main/assets/shaders/fragment_shader_transformation_es2.glsl create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale.png new file mode 100644 index 0000000000000000000000000000000000000000..11b83d2320b5e6667e2c311d700e21d985228e90 GIT binary patch literal 339700 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%0A# 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_brightness.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_brightness.png new file mode 100644 index 0000000000000000000000000000000000000000..2d65aaa29fe4902e6820034de502e9701ecee251 GIT binary patch literal 151351 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

      U@I` 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

      PJHWA|X6pMw{6J%sHE&;8KG+)L>+&ws|a)` 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

      {DQI#Jr7u6*Tmh&) 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 images are taken from an emulator, so tests on different emulators or physical + * devices may fail. To test on other devices, please increase the {@link + * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. + */ +@RunWith(AndroidJUnit4.class) +public final class RgbaMatrixPixelTest { + public static final String ORIGINAL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/original.png"; + public static final String ONLY_RED_CHANNEL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/only_red_channel.png"; + public static final String INCREASE_BRIGHTNESS_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/increase_brightness.png"; + public static final String GRAYSCALE_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/grayscale.png"; + public static final int COLOR_MATRIX_RED_INDEX = 0; + public static final int COLOR_MATRIX_GREEN_INDEX = 5; + public static final int COLOR_MATRIX_BLUE_INDEX = 10; + public static final int COLOR_MATRIX_ALPHA_INDEX = 15; + + private final Context context = getApplicationContext(); + + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; + private @MonotonicNonNull SingleFrameGlTextureProcessor rgbaMatrixProcessor; + private @MonotonicNonNull EGLSurface placeholderEglSurface; + private int inputTexId; + private int outputTexId; + private int inputWidth; + private int inputHeight; + + @Before + public void createGlObjects() throws IOException, GlUtil.GlException { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); + Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + inputWidth = inputBitmap.getWidth(); + inputHeight = inputBitmap.getHeight(); + placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); + GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); + inputTexId = BitmapTestUtil.createGlTextureFromBitmap(inputBitmap); + + outputTexId = + GlUtil.createTexture(inputWidth, inputHeight, /* useHighPrecisionColorComponents= */ false); + int frameBuffer = GlUtil.createFboForTexture(outputTexId); + GlUtil.focusFramebuffer( + checkNotNull(eglDisplay), + checkNotNull(eglContext), + checkNotNull(placeholderEglSurface), + frameBuffer, + inputWidth, + inputHeight); + } + + @After + public void release() throws GlUtil.GlException, FrameProcessingException { + if (rgbaMatrixProcessor != null) { + rgbaMatrixProcessor.release(); + } + GlUtil.destroyEglContext(eglDisplay, eglContext); + } + + private static RgbaMatrixProcessor createRgbaMatrixProcessor(Context context, float[] rgbaMatrix) + throws FrameProcessingException { + return ((RgbaMatrix) presentationTimeUs -> rgbaMatrix) + .toGlTextureProcessor(context, /* useHdr= */ false); + } + + @Test + public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_identityMatrix"; + float[] identityMatrix = new float[16]; + Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + rgbaMatrixProcessor = createRgbaMatrixProcessor(context, identityMatrix); + Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_removeColors_producesBlackFrame() throws Exception { + String testId = "drawFrame_removeColors"; + float[] removeColorFilter = new float[16]; + Matrix.setIdentityM(removeColorFilter, /* smOffset= */ 0); + removeColorFilter[COLOR_MATRIX_RED_INDEX] = 0; + removeColorFilter[COLOR_MATRIX_GREEN_INDEX] = 0; + removeColorFilter[COLOR_MATRIX_BLUE_INDEX] = 0; + rgbaMatrixProcessor = createRgbaMatrixProcessor(context, removeColorFilter); + Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = + BitmapTestUtil.createArgb8888BitmapWithSolidColor( + outputSize.first, outputSize.second, Color.BLACK); + + rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_redOnlyFilter_setsBlueAndGreenValuesToZero() throws Exception { + String testId = "drawFrame_redOnlyFilter"; + float[] redOnlyFilter = new float[16]; + Matrix.setIdentityM(redOnlyFilter, /* smOffset= */ 0); + redOnlyFilter[COLOR_MATRIX_GREEN_INDEX] = 0; + redOnlyFilter[COLOR_MATRIX_BLUE_INDEX] = 0; + rgbaMatrixProcessor = createRgbaMatrixProcessor(context, redOnlyFilter); + Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); + + rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { + String testId = "drawFrame_increaseBrightness"; + float[] increaseBrightnessMatrix = new float[16]; + Matrix.setIdentityM(increaseBrightnessMatrix, /* smOffset= */ 0); + Matrix.scaleM(increaseBrightnessMatrix, /* mOffset= */ 0, /* x= */ 5, /* y= */ 5, /* z= */ 5); + rgbaMatrixProcessor = createRgbaMatrixProcessor(context, increaseBrightnessMatrix); + Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); + + rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { + String testId = "drawFrame_grayscale"; + // Grayscale transformation matrix with the BT.709 standard from + // https://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale + float[] grayscaleFilter = { + 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, + 0, 0, 1 + }; + rgbaMatrixProcessor = createRgbaMatrixProcessor(context, grayscaleFilter); + Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); + + rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } +} diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_transformation_es2.glsl b/libraries/transformer/src/main/assets/shaders/fragment_shader_transformation_es2.glsl new file mode 100644 index 00000000000..4b70580e268 --- /dev/null +++ b/libraries/transformer/src/main/assets/shaders/fragment_shader_transformation_es2.glsl @@ -0,0 +1,28 @@ +#version 100 +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ES 2 fragment shader that samples from a (non-external) texture with +// uTexSampler, copying from this texture to the current output while +// applying a 4x4 RGBA color matrix to change the pixel colors. + +precision mediump float; +uniform sampler2D uTexSampler; +uniform mat4 uColorMatrix; +varying vec2 vTexSamplingCoord; + +void main() { + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); + gl_FragColor = uColorMatrix * inputColor; +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java b/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java new file mode 100644 index 00000000000..b46e6a363b1 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java @@ -0,0 +1,40 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import android.content.Context; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.UnstableApi; + +/** + * Specifies a 4x4 RGBA color transformation matrix to apply to each frame in the fragment shader. + */ +@UnstableApi +public interface RgbaMatrix extends GlEffect { + + /** + * Returns the 4x4 RGBA transformation {@linkplain android.opengl.Matrix matrix} to apply to the + * color values of each pixel in the frame with the given timestamp. + */ + float[] getMatrix(long presentationTimeUs); + + @Override + default RgbaMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) + throws FrameProcessingException { + return new RgbaMatrixProcessor(context, /* rgbaMatrix= */ this, useHdr); + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java new file mode 100644 index 00000000000..5694451b9ae --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java @@ -0,0 +1,82 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import android.content.Context; +import android.opengl.GLES20; +import android.opengl.Matrix; +import android.util.Pair; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.GlProgram; +import androidx.media3.common.util.GlUtil; +import java.io.IOException; + +/** Applies an {@link RgbaMatrix} to each frame. */ +/* package */ final class RgbaMatrixProcessor extends SingleFrameGlTextureProcessor { + private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; + private static final String FRAGMENT_SHADER_PATH = + "shaders/fragment_shader_transformation_es2.glsl"; + + private final GlProgram glProgram; + private final RgbaMatrix rgbaMatrix; + + // TODO(b/239431666): Support chaining multiple RgbaMatrix instances in RgbaMatrixProcessor. + // TODO(b/239757183): Merge RgbaMatrixProcessor with MatrixTransformationProcessor. + public RgbaMatrixProcessor(Context context, RgbaMatrix rgbaMatrix, boolean useHdr) + throws FrameProcessingException { + super(useHdr); + this.rgbaMatrix = rgbaMatrix; + + try { + glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + + // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. + glProgram.setBufferAttribute( + "aFramePosition", + GlUtil.getNormalizedCoordinateBounds(), + GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); + + float[] identityMatrix = new float[16]; + Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); + glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); + } + + @Override + public Pair configure(int inputWidth, int inputHeight) { + return Pair.create(inputWidth, inputHeight); + } + + @Override + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { + float[] rgbaMatrixArray = rgbaMatrix.getMatrix(presentationTimeUs); + try { + glProgram.use(); + glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); + glProgram.setFloatsUniform("uColorMatrix", rgbaMatrixArray); + glProgram.bindAttributesAndUniforms(); + + // The four-vertex triangle strip forms a quad. + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e, presentationTimeUs); + } + } +} From 93bb191cb16f127af749c654850fc8ef9d6b278b Mon Sep 17 00:00:00 2001 From: hschlueter Date: Tue, 2 Aug 2022 12:36:47 +0000 Subject: [PATCH 135/422] Create effect module. PiperOrigin-RevId: 464767396 (cherry picked from commit 4d09ca66986a3c862b09f42a06a5bb031dce46f8) --- core_settings.gradle | 3 ++ libraries/effect/README.md | 19 ++++++++ libraries/effect/build.gradle | 47 +++++++++++++++++++ libraries/effect/src/main/AndroidManifest.xml | 18 +++++++ .../androidx/media3/effect/package-info.java | 19 ++++++++ libraries/effect/src/test/AndroidManifest.xml | 19 ++++++++ 6 files changed, 125 insertions(+) create mode 100644 libraries/effect/README.md create mode 100644 libraries/effect/build.gradle create mode 100644 libraries/effect/src/main/AndroidManifest.xml create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/package-info.java create mode 100644 libraries/effect/src/test/AndroidManifest.xml diff --git a/core_settings.gradle b/core_settings.gradle index baca4217532..b331d11b4da 100644 --- a/core_settings.gradle +++ b/core_settings.gradle @@ -78,6 +78,9 @@ project(modulePrefix + 'lib-extractor').projectDir = new File(rootDir, 'librarie include modulePrefix + 'lib-cast' project(modulePrefix + 'lib-cast').projectDir = new File(rootDir, 'libraries/cast') +include modulePrefix + 'lib-effect' +project(modulePrefix + 'lib-effect').projectDir = new File(rootDir, 'libraries/effect') + include modulePrefix + 'lib-transformer' project(modulePrefix + 'lib-transformer').projectDir = new File(rootDir, 'libraries/transformer') diff --git a/libraries/effect/README.md b/libraries/effect/README.md new file mode 100644 index 00000000000..50fc67fe3ba --- /dev/null +++ b/libraries/effect/README.md @@ -0,0 +1,19 @@ +# Effect module + +Provides functionality for applying effects to video frames. + +## Getting the module + +The easiest way to get the module is to add it as a gradle dependency: + +```gradle +implementation 'androidx.media3:media3-effect:1.X.X' +``` + +where `1.X.X` is the version, which must match the version of the other media +modules being used. + +Alternatively, you can clone this GitHub project and depend on the module +locally. Instructions for doing this can be found in the [top level README][]. + +[top level README]: ../../README.md diff --git a/libraries/effect/build.gradle b/libraries/effect/build.gradle new file mode 100644 index 00000000000..2ec6d301d1a --- /dev/null +++ b/libraries/effect/build.gradle @@ -0,0 +1,47 @@ +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle" +android { + + defaultConfig { + minSdkVersion 18 + // The following argument makes the Android Test Orchestrator run its + // "pm clear" command after each test invocation. This command ensures + // that the app's state is completely cleared between tests. + testInstrumentationRunnerArguments clearPackageData: 'true' + multiDexEnabled true + } + + buildTypes { + debug { + testCoverageEnabled = true + } + } + + sourceSets { + androidTest.assets.srcDir '../test_data/src/test/assets/' //copybara:media3-only + test.assets.srcDir '../test_data/src/test/assets/' + } +} + +ext { + javadocTitle = 'Effect module' +} +apply from: '../../javadoc_library.gradle' + +ext { + releaseArtifactId = 'media3-effect' + releaseName = 'Media3 Effect module' +} +apply from: '../../publish.gradle' diff --git a/libraries/effect/src/main/AndroidManifest.xml b/libraries/effect/src/main/AndroidManifest.xml new file mode 100644 index 00000000000..cfa68782d83 --- /dev/null +++ b/libraries/effect/src/main/AndroidManifest.xml @@ -0,0 +1,18 @@ + + + + + diff --git a/libraries/effect/src/main/java/androidx/media3/effect/package-info.java b/libraries/effect/src/main/java/androidx/media3/effect/package-info.java new file mode 100644 index 00000000000..24f00aec6f2 --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@NonNullApi +package androidx.media3.effect; + +import androidx.media3.common.util.NonNullApi; diff --git a/libraries/effect/src/test/AndroidManifest.xml b/libraries/effect/src/test/AndroidManifest.xml new file mode 100644 index 00000000000..86e48807009 --- /dev/null +++ b/libraries/effect/src/test/AndroidManifest.xml @@ -0,0 +1,19 @@ + + + + + + From 8b9203a3ea2a784bd5bf37b0c2a312edc6e8298c Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 3 Aug 2022 13:19:15 +0000 Subject: [PATCH 136/422] Move effects functionality out of transformer to effects module. PiperOrigin-RevId: 465038852 (cherry picked from commit 22725ddfa8f5c39c83b792a176339700364b724e) --- demos/transformer/build.gradle | 1 + .../transformer/BitmapOverlayProcessor.java | 2 +- .../MatrixTransformationFactory.java | 4 +-- .../PeriodicVignetteProcessor.java | 2 +- .../demo/transformer/TransformerActivity.java | 8 ++--- .../demo/transformer/MediaPipeProcessor.java | 4 +-- libraries/effect/build.gradle | 18 +++++++++++ .../src/androidTest/AndroidManifest.xml | 32 +++++++++++++++++++ .../media3/effect}/BitmapTestUtil.java | 2 +- .../media3/effect}/ContrastPixelTest.java | 4 +-- .../media3/effect}/CropPixelTest.java | 4 +-- .../GlEffectsFrameProcessorPixelTest.java | 4 +-- ...atrixTransformationProcessorPixelTest.java | 4 +-- .../media3/effect}/PresentationPixelTest.java | 4 +-- .../media3/effect}/RgbaMatrixPixelTest.java | 4 +-- .../shaders/fragment_shader_contrast_es2.glsl | 0 .../shaders/fragment_shader_copy_es2.glsl | 0 .../fragment_shader_copy_external_es2.glsl | 0 ...fragment_shader_copy_external_yuv_es3.glsl | 0 .../shaders/fragment_shader_hlg_eotf_es3.glsl | 0 .../fragment_shader_transformation_es2.glsl | 0 .../vertex_shader_transformation_es2.glsl | 0 .../vertex_shader_transformation_es3.glsl | 0 .../ChainingGlTextureProcessorListener.java | 2 +- .../androidx/media3/effect}/Contrast.java | 2 +- .../media3/effect}/ContrastProcessor.java | 2 +- .../java/androidx/media3/effect}/Crop.java | 2 +- .../effect}/ExternalTextureProcessor.java | 2 +- ...lMatrixTransformationProcessorWrapper.java | 2 +- .../media3/effect}/FrameProcessingTask.java | 2 +- .../effect}/FrameProcessingTaskExecutor.java | 2 +- .../androidx/media3/effect}/GlEffect.java | 2 +- .../effect}/GlEffectsFrameProcessor.java | 2 +- .../effect}/GlMatrixTransformation.java | 2 +- .../media3/effect}/GlTextureProcessor.java | 2 +- .../media3/effect}/MatrixTransformation.java | 2 +- .../MatrixTransformationProcessor.java | 2 +- .../androidx/media3/effect}/MatrixUtils.java | 2 +- .../androidx/media3/effect}/Presentation.java | 2 +- .../androidx/media3/effect}/RgbaMatrix.java | 2 +- .../media3/effect}/RgbaMatrixProcessor.java | 2 +- .../effect}/ScaleToFitTransformation.java | 2 +- .../SingleFrameGlTextureProcessor.java | 2 +- .../androidx/media3/effect}/TextureInfo.java | 2 +- ...hainingGlTextureProcessorListenerTest.java | 2 +- .../androidx/media3/effect}/CropTest.java | 2 +- .../media3/effect}/MatrixUtilsTest.java | 2 +- .../media3/effect}/PresentationTest.java | 2 +- .../effect}/ScaleToFitTransformationTest.java | 2 +- libraries/transformer/build.gradle | 1 + .../media3/transformer/Transformer.java | 9 ++++-- .../VideoTranscodingSamplePipeline.java | 2 ++ 52 files changed, 109 insertions(+), 52 deletions(-) create mode 100644 libraries/effect/src/androidTest/AndroidManifest.xml rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/BitmapTestUtil.java (99%) rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/ContrastPixelTest.java (98%) rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/CropPixelTest.java (98%) rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/GlEffectsFrameProcessorPixelTest.java (99%) rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/MatrixTransformationProcessorPixelTest.java (98%) rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/PresentationPixelTest.java (99%) rename libraries/{transformer/src/androidTest/java/androidx/media3/transformer => effect/src/androidTest/java/androidx/media3/effect}/RgbaMatrixPixelTest.java (98%) rename libraries/{transformer => effect}/src/main/assets/shaders/fragment_shader_contrast_es2.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/fragment_shader_copy_es2.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/fragment_shader_transformation_es2.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/vertex_shader_transformation_es2.glsl (100%) rename libraries/{transformer => effect}/src/main/assets/shaders/vertex_shader_transformation_es3.glsl (100%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/ChainingGlTextureProcessorListener.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/Contrast.java (97%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/ContrastProcessor.java (98%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/Crop.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/ExternalTextureProcessor.java (97%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/FinalMatrixTransformationProcessorWrapper.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/FrameProcessingTask.java (96%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/FrameProcessingTaskExecutor.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/GlEffect.java (98%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/GlEffectsFrameProcessor.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/GlMatrixTransformation.java (98%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/GlTextureProcessor.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/MatrixTransformation.java (97%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/MatrixTransformationProcessor.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/MatrixUtils.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/Presentation.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/RgbaMatrix.java (97%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/RgbaMatrixProcessor.java (98%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/ScaleToFitTransformation.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/SingleFrameGlTextureProcessor.java (99%) rename libraries/{transformer/src/main/java/androidx/media3/transformer => effect/src/main/java/androidx/media3/effect}/TextureInfo.java (97%) rename libraries/{transformer/src/test/java/androidx/media3/transformer => effect/src/test/java/androidx/media3/effect}/ChainingGlTextureProcessorListenerTest.java (99%) rename libraries/{transformer/src/test/java/androidx/media3/transformer => effect/src/test/java/androidx/media3/effect}/CropTest.java (98%) rename libraries/{transformer/src/test/java/androidx/media3/transformer => effect/src/test/java/androidx/media3/effect}/MatrixUtilsTest.java (99%) rename libraries/{transformer/src/test/java/androidx/media3/transformer => effect/src/test/java/androidx/media3/effect}/PresentationTest.java (98%) rename libraries/{transformer/src/test/java/androidx/media3/transformer => effect/src/test/java/androidx/media3/effect}/ScaleToFitTransformationTest.java (99%) diff --git a/demos/transformer/build.gradle b/demos/transformer/build.gradle index a745fcea1f5..5cf69d2b773 100644 --- a/demos/transformer/build.gradle +++ b/demos/transformer/build.gradle @@ -76,6 +76,7 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:' + androidxConstraintLayoutVersion implementation 'androidx.multidex:multidex:' + androidxMultidexVersion implementation 'com.google.android.material:material:' + androidxMaterialVersion + implementation project(modulePrefix + 'lib-effect') implementation project(modulePrefix + 'lib-exoplayer') implementation project(modulePrefix + 'lib-exoplayer-dash') implementation project(modulePrefix + 'lib-transformer') diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 90e2676e159..72b7c8b8172 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -33,7 +33,7 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; -import androidx.media3.transformer.SingleFrameGlTextureProcessor; +import androidx.media3.effect.SingleFrameGlTextureProcessor; import java.io.IOException; import java.util.Locale; diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/MatrixTransformationFactory.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/MatrixTransformationFactory.java index 2aded6a470e..0f31a589c97 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/MatrixTransformationFactory.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/MatrixTransformationFactory.java @@ -18,8 +18,8 @@ import android.graphics.Matrix; import androidx.media3.common.C; import androidx.media3.common.util.Util; -import androidx.media3.transformer.GlMatrixTransformation; -import androidx.media3.transformer.MatrixTransformation; +import androidx.media3.effect.GlMatrixTransformation; +import androidx.media3.effect.MatrixTransformation; /** * Factory for {@link GlMatrixTransformation GlMatrixTransformations} and {@link diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index be24e57383f..eb4f07e892a 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -23,7 +23,7 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; -import androidx.media3.transformer.SingleFrameGlTextureProcessor; +import androidx.media3.effect.SingleFrameGlTextureProcessor; import java.io.IOException; /** diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index b580b1b625b..aa243ff1870 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -41,12 +41,12 @@ import androidx.media3.common.MediaItem; import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; +import androidx.media3.effect.Contrast; +import androidx.media3.effect.GlEffect; +import androidx.media3.effect.GlTextureProcessor; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.util.DebugTextViewHelper; -import androidx.media3.transformer.Contrast; import androidx.media3.transformer.DefaultEncoderFactory; -import androidx.media3.transformer.GlEffect; -import androidx.media3.transformer.GlTextureProcessor; import androidx.media3.transformer.ProgressHolder; import androidx.media3.transformer.TransformationException; import androidx.media3.transformer.TransformationRequest; @@ -279,7 +279,7 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) Class clazz = Class.forName("androidx.media3.demo.transformer.MediaPipeProcessor"); Constructor constructor = clazz.getConstructor( - Context.class, Boolean.class, String.class, String.class, String.class); + Context.class, boolean.class, String.class, String.class, String.class); effects.add( (GlEffect) (Context context, boolean useHdr) -> { diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index c93caf2665f..8eaf1f19a5e 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -28,8 +28,8 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.LibraryLoader; import androidx.media3.common.util.Util; -import androidx.media3.transformer.GlTextureProcessor; -import androidx.media3.transformer.TextureInfo; +import androidx.media3.effect.GlTextureProcessor; +import androidx.media3.effect.TextureInfo; import com.google.mediapipe.components.FrameProcessor; import com.google.mediapipe.framework.AppTextureFrame; import com.google.mediapipe.framework.TextureFrame; diff --git a/libraries/effect/build.gradle b/libraries/effect/build.gradle index 2ec6d301d1a..e3e319a801e 100644 --- a/libraries/effect/build.gradle +++ b/libraries/effect/build.gradle @@ -35,6 +35,24 @@ android { } } +dependencies { + implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + implementation project(modulePrefix + 'lib-common') + compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion + compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion + compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion + compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion + testImplementation project(modulePrefix + 'test-utils-robolectric') + testImplementation project(modulePrefix + 'test-utils') + testImplementation project(modulePrefix + 'test-data') + testImplementation 'org.robolectric:robolectric:' + robolectricVersion + testImplementation 'com.google.truth:truth:' + truthVersion + androidTestImplementation 'junit:junit:' + junitVersion + androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion + androidTestImplementation 'com.google.truth:truth:' + truthVersion + androidTestImplementation project(modulePrefix + 'test-utils') +} + ext { javadocTitle = 'Effect module' } diff --git a/libraries/effect/src/androidTest/AndroidManifest.xml b/libraries/effect/src/androidTest/AndroidManifest.xml new file mode 100644 index 00000000000..76bf2cda9ba --- /dev/null +++ b/libraries/effect/src/androidTest/AndroidManifest.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java similarity index 99% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java index 05c4e59e6d9..e9b6693e431 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/BitmapTestUtil.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java similarity index 98% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java index eb6133b0f96..3353be35bdc 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/ContrastPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java similarity index 98% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java index a5558aa1b16..80a3a4b78d7 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/CropPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java similarity index 99% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 48dc50822af..f36270b2cd9 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -13,11 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; -import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; import static java.util.Arrays.asList; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java similarity index 98% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java index 4fab3251c97..826e9ed9236 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/MatrixTransformationProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java @@ -13,9 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; -import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java similarity index 99% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java index 9469fa0382e..a44b087d76f 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/PresentationPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java @@ -13,10 +13,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/RgbaMatrixPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbaMatrixPixelTest.java similarity index 98% rename from libraries/transformer/src/androidTest/java/androidx/media3/transformer/RgbaMatrixPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/RgbaMatrixPixelTest.java index 08962cb24d8..1af29d69502 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/RgbaMatrixPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbaMatrixPixelTest.java @@ -14,10 +14,10 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.transformer.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_contrast_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_contrast_es2.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/fragment_shader_contrast_es2.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_contrast_es2.glsl diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_es2.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/fragment_shader_copy_es2.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_copy_es2.glsl diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl diff --git a/libraries/transformer/src/main/assets/shaders/fragment_shader_transformation_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/fragment_shader_transformation_es2.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl diff --git a/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es2.glsl b/libraries/effect/src/main/assets/shaders/vertex_shader_transformation_es2.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es2.glsl rename to libraries/effect/src/main/assets/shaders/vertex_shader_transformation_es2.glsl diff --git a/libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es3.glsl b/libraries/effect/src/main/assets/shaders/vertex_shader_transformation_es3.glsl similarity index 100% rename from libraries/transformer/src/main/assets/shaders/vertex_shader_transformation_es3.glsl rename to libraries/effect/src/main/assets/shaders/vertex_shader_transformation_es3.glsl diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java rename to libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java index 7f7fd8ca047..f9dc0ece4c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ChainingGlTextureProcessorListener.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.util.Pair; import androidx.annotation.Nullable; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java b/libraries/effect/src/main/java/androidx/media3/effect/Contrast.java similarity index 97% rename from libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java rename to libraries/effect/src/main/java/androidx/media3/effect/Contrast.java index b4399d8ed01..7bbcae2caff 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Contrast.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/Contrast.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java index 101928895a2..17f8b067b9a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ContrastProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.content.Context; import android.opengl.GLES20; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java b/libraries/effect/src/main/java/androidx/media3/effect/Crop.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java rename to libraries/effect/src/main/java/androidx/media3/effect/Crop.java index 2318d873979..fc0745a56bb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Crop.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/Crop.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkStateNotNull; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java similarity index 97% rename from libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java index f31c7682ad8..16194da5f36 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ExternalTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; /** * Interface for a {@link GlTextureProcessor} that samples from an external texture. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java rename to libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index b22ae5c0ba9..70cfbb3aa57 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkState; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTask.java similarity index 96% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java rename to libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTask.java index e12bcae9239..46d1da45e5d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTask.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTask.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java rename to libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java index 8272e543e4a..a87356e9659 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameProcessingTaskExecutor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static java.util.concurrent.TimeUnit.MILLISECONDS; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java rename to libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java index 6b57d4d6072..b93da700754 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffect.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.content.Context; import androidx.media3.common.Effect; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index c1e31fbed43..b5bcafd5305 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java rename to libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java index 94db69e9ae7..4ae5a626463 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlMatrixTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.content.Context; import android.opengl.Matrix; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java index a935b8f1870..04a3e836d67 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/GlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformation.java similarity index 97% rename from libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java rename to libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformation.java index 2bfd1b49469..5473485caed 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.graphics.Matrix; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index 11078885750..eb206ba12a4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkState; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixUtils.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java rename to libraries/effect/src/main/java/androidx/media3/effect/MatrixUtils.java index 5a4ac664b4a..9cd2ded72bf 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MatrixUtils.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixUtils.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java b/libraries/effect/src/main/java/androidx/media3/effect/Presentation.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java rename to libraries/effect/src/main/java/androidx/media3/effect/Presentation.java index 98fbed9cb13..6e28ea1975f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Presentation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/Presentation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkStateNotNull; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrix.java similarity index 97% rename from libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java rename to libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrix.java index b46e6a363b1..7e9674e4321 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrix.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrix.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.content.Context; import androidx.media3.common.FrameProcessingException; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrixProcessor.java similarity index 98% rename from libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrixProcessor.java index 5694451b9ae..7130ceb995a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/RgbaMatrixProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrixProcessor.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.content.Context; import android.opengl.GLES20; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java rename to libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java index bef17470727..c6d3a333e6a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/ScaleToFitTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkStateNotNull; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java similarity index 99% rename from libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java index cb015b50290..90cd0ede742 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SingleFrameGlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import android.util.Pair; import androidx.annotation.CallSuper; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java b/libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java similarity index 97% rename from libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java rename to libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java index 9e96c8e923c..b929e222339 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TextureInfo.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java similarity index 99% rename from libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java rename to libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java index 37b00cd902c..cc81ffc50e5 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java b/libraries/effect/src/test/java/androidx/media3/effect/CropTest.java similarity index 98% rename from libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java rename to libraries/effect/src/test/java/androidx/media3/effect/CropTest.java index 3f09142775e..33582476b16 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/CropTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/CropTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/MatrixUtilsTest.java b/libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java similarity index 99% rename from libraries/transformer/src/test/java/androidx/media3/transformer/MatrixUtilsTest.java rename to libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java index 8c80ef6103d..e548002f0a5 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/MatrixUtilsTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static com.google.common.truth.Truth.assertThat; import static org.junit.Assert.assertThrows; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java b/libraries/effect/src/test/java/androidx/media3/effect/PresentationTest.java similarity index 98% rename from libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java rename to libraries/effect/src/test/java/androidx/media3/effect/PresentationTest.java index 80df57767a8..4bcf78a388b 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/PresentationTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/PresentationTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java b/libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java similarity index 99% rename from libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java rename to libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java index d122ba3dfef..efc18b77418 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/ScaleToFitTransformationTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.transformer; +package androidx.media3.effect; import static com.google.common.truth.Truth.assertThat; diff --git a/libraries/transformer/build.gradle b/libraries/transformer/build.gradle index 00dfc401ab8..58e979af83a 100644 --- a/libraries/transformer/build.gradle +++ b/libraries/transformer/build.gradle @@ -38,6 +38,7 @@ android { dependencies { implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion implementation project(modulePrefix + 'lib-exoplayer') + implementation project(modulePrefix + 'lib-effect') compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index c70eda8bed6..3f4402f0a36 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -48,6 +48,9 @@ import androidx.media3.common.util.ListenerSet; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import androidx.media3.effect.GlEffect; +import androidx.media3.effect.GlEffectsFrameProcessor; +import androidx.media3.effect.GlMatrixTransformation; import androidx.media3.exoplayer.DefaultLoadControl; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.Renderer; @@ -198,9 +201,9 @@ public Builder setVideoEffects(List effects) { * {@linkplain Effect effects} to the video frames. * *

      This factory will be used to create the {@link FrameProcessor} used for applying the - * {@link Effect} instances passed to {@link #setVideoEffects(List)} and any additional - * {@link GlMatrixTransformation} instances derived from the {@link TransformationRequest} set - * using {@link #setTransformationRequest(TransformationRequest)}. + * {@link Effect} instances passed to {@link #setVideoEffects(List)} and any additional {@link + * GlMatrixTransformation} instances derived from the {@link TransformationRequest} set using + * {@link #setTransformationRequest(TransformationRequest)}. * *

      The default is {@link GlEffectsFrameProcessor.Factory}. * diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index cf50c5a82bc..f48046c5b6e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -34,6 +34,8 @@ import androidx.media3.common.SurfaceInfo; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; +import androidx.media3.effect.Presentation; +import androidx.media3.effect.ScaleToFitTransformation; import com.google.common.collect.ImmutableList; import java.nio.ByteBuffer; import java.util.ArrayList; From 89edfbc12b12969bf95b5608cbcf0f44476f765f Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 3 Aug 2022 13:53:53 +0000 Subject: [PATCH 137/422] Clean up FrameProcessor TODOs. PiperOrigin-RevId: 465044342 (cherry picked from commit c5d1940fbab430ede4b158300bbb381c032498bf) --- .../src/main/java/androidx/media3/common/FrameProcessor.java | 2 +- .../java/androidx/media3/effect/GlEffectsFrameProcessor.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index 0e5ef308673..491545f9338 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -35,7 +35,7 @@ */ @UnstableApi public interface FrameProcessor { - // TODO(b/227625423): Allow effects to be replaced. + // TODO(b/238302213): Allow effects to be replaced. /** A factory for {@link FrameProcessor} instances. */ interface Factory { diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index b5bcafd5305..7de1b31357f 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -52,8 +52,6 @@ */ @UnstableApi public final class GlEffectsFrameProcessor implements FrameProcessor { - // TODO(b/227625423): Replace factory method with setters once output surface and effects can be - // replaced. /** A factory for {@link GlEffectsFrameProcessor} instances. */ public static class Factory implements FrameProcessor.Factory { From 076218be9d220c054edc9f3a498ac31edbaf78ad Mon Sep 17 00:00:00 2001 From: claincly Date: Wed, 3 Aug 2022 15:51:48 +0000 Subject: [PATCH 138/422] Clean up NOP constructor lines in RTP readers PiperOrigin-RevId: 465067191 (cherry picked from commit ed60c885f2c09bcc8484eeeb340a96559c7ad918) --- .../androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java | 1 - .../androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java | 3 --- .../androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java | 4 ---- 3 files changed, 8 deletions(-) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java index 4aa2da52be5..6dee3695e1b 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java @@ -62,7 +62,6 @@ public RtpMpeg4Reader(RtpPayloadFormat payloadFormat) { this.payloadFormat = payloadFormat; firstReceivedTimestamp = C.TIME_UNSET; previousSequenceNumber = C.INDEX_UNSET; - sampleLength = 0; } @Override diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java index f6c1debd0d0..fefc74349de 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java @@ -74,9 +74,6 @@ public RtpVp8Reader(RtpPayloadFormat payloadFormat) { fragmentedSampleTimeUs = C.TIME_UNSET; // The start time offset must be 0 until the first seek. startTimeOffsetUs = 0; - gotFirstPacketOfVp8Frame = false; - isKeyFrame = false; - isOutputFormatSet = false; } @Override diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java index 3d3d108acdf..61081dd8c11 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java @@ -81,10 +81,6 @@ public RtpVp9Reader(RtpPayloadFormat payloadFormat) { previousSequenceNumber = C.INDEX_UNSET; width = C.LENGTH_UNSET; height = C.LENGTH_UNSET; - // TODO(b/240318842) Clean up VP8/VP9 reader. - gotFirstPacketOfVp9Frame = false; - reportedOutputFormat = false; - isKeyFrame = false; } @Override From 110c442758802d4e491cba564588f2fd672bd001 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Wed, 3 Aug 2022 15:52:24 +0000 Subject: [PATCH 139/422] Fix saving previous debugSurfaceView in FinalMatrixTPWrapper. PiperOrigin-RevId: 465067306 (cherry picked from commit a28a508d2dd10ac2858c334a1a0fe0ff1350e98c) --- .../effect/FinalMatrixTransformationProcessorWrapper.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index 70cfbb3aa57..77801f3774a 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -79,7 +79,7 @@ @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; private @MonotonicNonNull Listener listener; private @MonotonicNonNull Pair outputSizeBeforeSurfaceTransformation; - private @MonotonicNonNull SurfaceView debugSurfaceView; + @Nullable private SurfaceView debugSurfaceView; private volatile boolean outputSizeOrRotationChanged; @@ -229,6 +229,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) debugSurfaceViewWrapper = new SurfaceViewWrapper(eglDisplay, eglContext, useHdr, debugSurfaceView); } + this.debugSurfaceView = debugSurfaceView; } if (matrixTransformationProcessor != null && outputSizeOrRotationChanged) { From f8aaed1ac790258e6739959255f7faef848fa55d Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Wed, 3 Aug 2022 16:06:45 +0000 Subject: [PATCH 140/422] Avoid encoder default color info when tone-mapping The encoder color info [defaults](https://cs.android.com/android/platform/superproject/+/master:frameworks/av/media/libstagefright/foundation/ColorUtils.cpp;l=377;drc=891c19ccfa4953b5e5f7b87118e007b994d8074c) to a value that depends on the input resolution, but when tone-mapping is enabled we should always get BT.709 color space. Hard-code this constant for now to avoid behavior depending on the resolution. A future change should use the decoder output media format to populate the color info. PiperOrigin-RevId: 465070378 (cherry picked from commit 3c4ee51e10fe0a2ea495f00a3fcd98d6cb83b561) --- .../src/main/java/androidx/media3/common/ColorInfo.java | 9 +++++++++ .../transformer/VideoTranscodingSamplePipeline.java | 7 ++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index db10f7f4b9d..a4b871a64f3 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -31,6 +31,15 @@ /** Stores color info. */ @UnstableApi public final class ColorInfo implements Bundleable { + + /** Color info representing SDR BT.709 limited range, which is a common SDR video color format. */ + public static final ColorInfo SDR_BT709_LIMITED = + new ColorInfo( + C.COLOR_SPACE_BT709, + C.COLOR_RANGE_LIMITED, + C.COLOR_TRANSFER_SDR, + /* hdrStaticInfo= */ null); + /** * Returns the {@link C.ColorSpace} corresponding to the given ISO color primary code, as per * table A.7.21.1 in Rec. ITU-T T.832 (03/2009), or {@link Format#NO_VALUE} if no mapping can be diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index f48046c5b6e..9032f622560 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -384,6 +384,11 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) } boolean isInputToneMapped = ColorInfo.isHdr(inputFormat.colorInfo) && !isHdrEditingEnabled(); + // When tone-mapping HDR to SDR is enabled, assume we get BT.709 to avoid having the encoder + // populate default color info, which depends on the resolution. + // TODO(b/237674316): Get the color info from the decoder output media format instead. + ColorInfo outputColorInfo = + isInputToneMapped ? ColorInfo.SDR_BT709_LIMITED : inputFormat.colorInfo; Format requestedEncoderFormat = new Format.Builder() .setWidth(requestedWidth) @@ -391,7 +396,7 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) .setRotationDegrees(0) .setFrameRate(inputFormat.frameRate) .setSampleMimeType(requestedOutputMimeType) - .setColorInfo(isInputToneMapped ? null : inputFormat.colorInfo) + .setColorInfo(outputColorInfo) .build(); encoder = From 46f267700f4bf6b922a99b75142711a775cb30e9 Mon Sep 17 00:00:00 2001 From: leonwind Date: Wed, 3 Aug 2022 16:14:30 +0000 Subject: [PATCH 141/422] Remove clamp function in contrast fragment shader. * OpenGL automatically clamps the output colors to the [0, 1] interval. PiperOrigin-RevId: 465071999 (cherry picked from commit 2347db5d7484b161f6389846e6cde5b0ac1ed7a6) --- .../main/assets/shaders/fragment_shader_contrast_es2.glsl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_contrast_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_contrast_es2.glsl index 6420451d857..6a7cb50270d 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_contrast_es2.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_contrast_es2.glsl @@ -26,8 +26,8 @@ void main() { vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); gl_FragColor = vec4( - clamp(uContrastFactor * (inputColor.r - 0.5) + 0.5, 0.0, 1.0), - clamp(uContrastFactor * (inputColor.g - 0.5) + 0.5, 0.0, 1.0), - clamp(uContrastFactor * (inputColor.b - 0.5) + 0.5, 0.0, 1.0), + uContrastFactor * (inputColor.r - 0.5) + 0.5, + uContrastFactor * (inputColor.g - 0.5) + 0.5, + uContrastFactor * (inputColor.b - 0.5) + 0.5, inputColor.a); } From e5f17f44d51000d5338737603d848279944fdcf8 Mon Sep 17 00:00:00 2001 From: yschimke Date: Thu, 4 Aug 2022 08:00:57 +0000 Subject: [PATCH 142/422] AudioOffload recovery. Avoids disabling Offload on a write error, and instead relies on this being disabled on the AudioTrack init. It will no longer recover by disabling offload. PiperOrigin-RevId: 465248917 (cherry picked from commit a10af8ecda584ea0d2bbb2616296b60aace8d638) --- .../media3/exoplayer/audio/DefaultAudioSink.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index ccfe4ffc97a..9431639668f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -1196,10 +1196,12 @@ private void writeBuffer(ByteBuffer buffer, long avSyncPresentationTimeUs) throw if (bytesWrittenOrError < 0) { int error = bytesWrittenOrError; - boolean isRecoverable = isAudioTrackDeadObject(error); - if (isRecoverable) { - maybeDisableOffload(); - } + + // Treat a write error on a previously successful offload channel as recoverable + // without disabling offload. Offload will be disabled when a new AudioTrack is created, + // if no longer supported. + boolean isRecoverable = isAudioTrackDeadObject(error) && writtenEncodedFrames > 0; + WriteException e = new WriteException(error, configuration.inputFormat, isRecoverable); if (listener != null) { listener.onAudioSinkError(e); From 7a8f348228309d3183263b2a4a524abd03065c5b Mon Sep 17 00:00:00 2001 From: yschimke Date: Thu, 4 Aug 2022 09:47:41 +0000 Subject: [PATCH 143/422] Expose AudioOffload track state. Adds a new event to AudioOffloadListener to get the offload state of the track, which indicates when software decoding is taking place. PiperOrigin-RevId: 465264362 (cherry picked from commit 7893531888608555fb09e77f12897752650131d5) --- RELEASENOTES.md | 4 ++++ .../androidx/media3/exoplayer/ExoPlayer.java | 10 ++++++++ .../exoplayer/audio/DefaultAudioSink.java | 24 ++++++++++++++++++- 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 03a9f4e1dc4..1da3719ab92 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -11,6 +11,10 @@ ([#10057](https://github.com/google/ExoPlayer/issues/10057)). * Limit parallel download removals to 1 to avoid excessive thread creation ([#10458](https://github.com/google/ExoPlayer/issues/10458)). +* Audio: + * Adds AudioOffloadListener.onExperimentalOffloadedPlayback for the + AudioTrack offload state. + ([#134](https://github.com/androidx/media/issues/134)). * Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java index de32120a389..29614aa26ab 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayer.java @@ -435,6 +435,16 @@ default void onExperimentalOffloadSchedulingEnabledChanged(boolean offloadSchedu *

      This method is experimental, and will be renamed or removed in a future release. */ default void onExperimentalSleepingForOffloadChanged(boolean sleepingForOffload) {} + + /** + * Called when the value of {@link AudioTrack#isOffloadedPlayback} changes. + * + *

      This should not be generally required to be acted upon. But when offload is critical for + * efficiency, or audio features (gapless, playback speed), this will let the app know. + * + *

      This method is experimental, and will be renamed or removed in a future release. + */ + default void onExperimentalOffloadedPlayback(boolean offloadedPlayback) {} } /** diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index 9431639668f..4d6d7d1f4dc 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -50,6 +50,7 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import androidx.media3.exoplayer.ExoPlayer.AudioOffloadListener; import androidx.media3.exoplayer.analytics.PlayerId; import androidx.media3.exoplayer.audio.AudioProcessor.UnhandledAudioFormatException; import androidx.media3.extractor.AacUtil; @@ -274,6 +275,7 @@ public static final class Builder { private boolean enableAudioTrackPlaybackParams; private int offloadMode; AudioTrackBufferSizeProvider audioTrackBufferSizeProvider; + @Nullable AudioOffloadListener audioOffloadListener; /** Creates a new builder. */ public Builder() { @@ -379,6 +381,19 @@ public Builder setAudioTrackBufferSizeProvider( return this; } + /** + * Sets an optional {@link AudioOffloadListener} to receive events relevant to offloaded + * playback. + * + *

      The default value is null. + */ + @CanIgnoreReturnValue + public Builder setExperimentalAudioOffloadListener( + @Nullable AudioOffloadListener audioOffloadListener) { + this.audioOffloadListener = audioOffloadListener; + return this; + } + /** Builds the {@link DefaultAudioSink}. Must only be called once per Builder instance. */ public DefaultAudioSink build() { if (audioProcessorChain == null) { @@ -509,6 +524,7 @@ public DefaultAudioSink build() { initializationExceptionPendingExceptionHolder; private final PendingExceptionHolder writeExceptionPendingExceptionHolder; private final AudioTrackBufferSizeProvider audioTrackBufferSizeProvider; + @Nullable private final AudioOffloadListener audioOffloadListener; @Nullable private PlayerId playerId; @Nullable private Listener listener; @@ -669,6 +685,7 @@ private DefaultAudioSink(Builder builder) { new PendingExceptionHolder<>(AUDIO_TRACK_RETRY_DURATION_MS); writeExceptionPendingExceptionHolder = new PendingExceptionHolder<>(AUDIO_TRACK_RETRY_DURATION_MS); + audioOffloadListener = builder.audioOffloadListener; } // AudioSink implementation. @@ -1096,7 +1113,12 @@ private AudioTrack buildAudioTrackWithRetry() throws InitializationException { private AudioTrack buildAudioTrack(Configuration configuration) throws InitializationException { try { - return configuration.buildAudioTrack(tunneling, audioAttributes, audioSessionId); + AudioTrack audioTrack = + configuration.buildAudioTrack(tunneling, audioAttributes, audioSessionId); + if (audioOffloadListener != null) { + audioOffloadListener.onExperimentalOffloadedPlayback(isOffloadedPlayback(audioTrack)); + } + return audioTrack; } catch (InitializationException e) { if (listener != null) { listener.onAudioSinkError(e); From 35565cfea731c81c6a0aa2430e60c296e82795fe Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 4 Aug 2022 15:17:56 +0000 Subject: [PATCH 144/422] Update README for beta release. PiperOrigin-RevId: 465318320 (cherry picked from commit afc928330b64424a6db1958910b688ee16dcebc5) From e57a36bb20100149b248f05ced06e73ab499c6fd Mon Sep 17 00:00:00 2001 From: claincly Date: Thu, 4 Aug 2022 16:49:03 +0000 Subject: [PATCH 145/422] Factor out RTP timestamp to sample time method PiperOrigin-RevId: 465337074 (cherry picked from commit 80ec64696e22856ce324ef03535754f838a49778) --- .../exoplayer/rtsp/reader/RtpAacReader.java | 11 +---- .../exoplayer/rtsp/reader/RtpAc3Reader.java | 12 +---- .../exoplayer/rtsp/reader/RtpAmrReader.java | 11 +---- .../exoplayer/rtsp/reader/RtpH263Reader.java | 15 ++---- .../exoplayer/rtsp/reader/RtpH264Reader.java | 16 ++----- .../exoplayer/rtsp/reader/RtpH265Reader.java | 16 ++----- .../exoplayer/rtsp/reader/RtpMpeg4Reader.java | 16 ++----- .../exoplayer/rtsp/reader/RtpOpusReader.java | 17 ++----- .../exoplayer/rtsp/reader/RtpPcmReader.java | 14 ++---- .../exoplayer/rtsp/reader/RtpReaderUtils.java | 46 +++++++++++++++++++ .../exoplayer/rtsp/reader/RtpVp8Reader.java | 16 ++----- .../exoplayer/rtsp/reader/RtpVp9Reader.java | 16 ++----- 12 files changed, 86 insertions(+), 120 deletions(-) create mode 100644 libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpReaderUtils.java diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAacReader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAacReader.java index 869ad20f6f2..456b911970a 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAacReader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAacReader.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.rtsp.reader; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.util.ParsableBitArray; @@ -153,14 +154,4 @@ private static void outputSampleMetadata(TrackOutput trackOutput, long sampleTim trackOutput.sampleMetadata( sampleTimeUs, C.BUFFER_FLAG_KEY_FRAME, size, /* offset= */ 0, /* cryptoData= */ null); } - - /** Returns the correct sample time from RTP timestamp, accounting for the AAC sampling rate. */ - private static long toSampleTimeUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp, int sampleRate) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - rtpTimestamp - firstReceivedRtpTimestamp, - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ sampleRate); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3Reader.java index b69673f5ebe..676476620e2 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3Reader.java @@ -18,12 +18,12 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Util.castNonNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.util.ParsableBitArray; import androidx.media3.common.util.ParsableByteArray; import androidx.media3.common.util.UnstableApi; -import androidx.media3.common.util.Util; import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; import androidx.media3.extractor.Ac3Util; import androidx.media3.extractor.ExtractorOutput; @@ -208,14 +208,4 @@ private void outputSampleMetadataForFragmentedPackets() { /* cryptoData= */ null); numBytesPendingMetadataOutput = 0; } - - /** Returns the correct sample time from RTP timestamp, accounting for the AC3 sampling rate. */ - private static long toSampleTimeUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp, int sampleRate) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - rtpTimestamp - firstReceivedRtpTimestamp, - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ sampleRate); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReader.java index 5f66337276a..b175fcea7fc 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReader.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.MimeTypes; @@ -183,14 +184,4 @@ public static int getFrameSize(int frameType, boolean isWideBand) { ? AMR_WB_FRAME_TYPE_INDEX_TO_FRAME_SIZE[frameType] : AMR_NB_FRAME_TYPE_INDEX_TO_FRAME_SIZE[frameType]; } - - /** Returns the correct sample time from RTP timestamp, accounting for the AMR sampling rate. */ - private static long toSampleTimeUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp, int sampleRate) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - rtpTimestamp - firstReceivedRtpTimestamp, - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ sampleRate); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java index 1c62d7ab5e2..cb3512c5233 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH263Reader.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.util.Log; @@ -35,7 +36,7 @@ /* package */ final class RtpH263Reader implements RtpPayloadReader { private static final String TAG = "RtpH263Reader"; - private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + private static final int MEDIA_CLOCK_FREQUENCY = 90_000; /** I-frame VOP unit type. */ private static final int I_VOP = 0; @@ -164,7 +165,8 @@ public void consume( // Write the video sample. trackOutput.sampleData(data, fragmentSize); fragmentedSampleSizeBytes += fragmentSize; - fragmentedSampleTimeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + fragmentedSampleTimeUs = + toSampleTimeUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); if (rtpMarker) { outputSampleMetadataForFragmentedPackets(); @@ -242,13 +244,4 @@ private void outputSampleMetadataForFragmentedPackets() { isKeyFrame = false; gotFirstPacketOfH263Frame = false; } - - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - (rtpTimestamp - firstReceivedRtpTimestamp), - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java index 659a28f70f8..9f6d48872a7 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.common.util.Util.castNonNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.ParserException; @@ -36,7 +37,7 @@ /* package */ final class RtpH264Reader implements RtpPayloadReader { private static final String TAG = "RtpH264Reader"; - private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + private static final int MEDIA_CLOCK_FREQUENCY = 90_000; /** Offset of payload data within a FU type A payload. */ private static final int FU_PAYLOAD_OFFSET = 2; @@ -115,7 +116,9 @@ public void consume(ParsableByteArray data, long timestamp, int sequenceNumber, firstReceivedTimestamp = timestamp; } - long timeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + long timeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); trackOutput.sampleMetadata( timeUs, bufferFlags, fragmentedSampleSizeBytes, /* offset= */ 0, /* cryptoData= */ null); fragmentedSampleSizeBytes = 0; @@ -287,15 +290,6 @@ private int writeStartCode() { return bytesWritten; } - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - (rtpTimestamp - firstReceivedRtpTimestamp), - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } - private static @C.BufferFlags int getBufferFlagsFromNalType(int nalType) { return nalType == NAL_UNIT_TYPE_IDR ? C.BUFFER_FLAG_KEY_FRAME : 0; } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH265Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH265Reader.java index 144e094ae5b..725dd178aeb 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH265Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH265Reader.java @@ -17,6 +17,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.ParserException; @@ -38,7 +39,7 @@ /* package */ final class RtpH265Reader implements RtpPayloadReader { private static final String TAG = "RtpH265Reader"; - private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + private static final int MEDIA_CLOCK_FREQUENCY = 90_000; /** Offset of payload data within a FU payload. */ private static final int FU_PAYLOAD_OFFSET = 3; /** Aggregation Packet. RFC7798 Section 4.4.2. */ @@ -111,7 +112,9 @@ public void consume(ParsableByteArray data, long timestamp, int sequenceNumber, firstReceivedTimestamp = timestamp; } - long timeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + long timeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); trackOutput.sampleMetadata( timeUs, bufferFlags, fragmentedSampleSizeBytes, /* offset= */ 0, /* cryptoData= */ null); fragmentedSampleSizeBytes = 0; @@ -254,15 +257,6 @@ private int writeStartCode() { return bytesWritten; } - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - (rtpTimestamp - firstReceivedRtpTimestamp), - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } - private static @C.BufferFlags int getBufferFlagsFromNalType(int nalType) { return (nalType == NAL_IDR_W_RADL || nalType == NAL_IDR_N_LP) ? C.BUFFER_FLAG_KEY_FRAME : 0; } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java index 6dee3695e1b..bd5d4153860 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMpeg4Reader.java @@ -17,6 +17,7 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.common.util.Util.castNonNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.util.Log; @@ -38,7 +39,7 @@ /* package */ final class RtpMpeg4Reader implements RtpPayloadReader { private static final String TAG = "RtpMpeg4Reader"; - private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + private static final int MEDIA_CLOCK_FREQUENCY = 90_000; /** VOP (Video Object Plane) unit type. */ private static final int I_VOP = 0; @@ -104,7 +105,9 @@ public void consume( firstReceivedTimestamp = timestamp; } - long timeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + long timeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); trackOutput.sampleMetadata(timeUs, bufferFlags, sampleLength, 0, null); sampleLength = 0; } @@ -137,13 +140,4 @@ public void seek(long nextRtpTimestamp, long timeUs) { } return 0; } - - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - (rtpTimestamp - firstReceivedRtpTimestamp), - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReader.java index 9b8994ae6db..6c4fcaef441 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReader.java @@ -17,6 +17,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.Format; @@ -38,7 +39,7 @@ /* package */ final class RtpOpusReader implements RtpPayloadReader { private static final String TAG = "RtpOpusReader"; /* Opus uses a fixed 48KHz media clock RFC7845 Section 4. */ - private static final long MEDIA_CLOCK_FREQUENCY = 48_000; + private static final int MEDIA_CLOCK_FREQUENCY = 48_000; private final RtpPayloadFormat payloadFormat; @@ -113,7 +114,9 @@ public void consume( // sending opus data. int size = data.bytesLeft(); trackOutput.sampleData(data, size); - long timeUs = toSampleTimeUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + long timeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); trackOutput.sampleMetadata( timeUs, C.BUFFER_FLAG_KEY_FRAME, size, /* offset*/ 0, /* cryptoData*/ null); } @@ -144,14 +147,4 @@ private static void validateOpusIdHeader(ParsableByteArray data) { checkArgument(data.readUnsignedByte() == 1, "version number must always be 1"); data.setPosition(currPosition); } - - /** Returns the correct sample time from RTP timestamp, accounting for the OPUS sampling rate. */ - private static long toSampleTimeUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - rtpTimestamp - firstReceivedRtpTimestamp, - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReader.java index 3c82f3e5be4..21f71aa27f1 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReader.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.rtsp.reader; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import android.util.Log; import androidx.media3.common.C; @@ -78,7 +79,8 @@ public void consume( } long sampleTimeUs = - toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp, payloadFormat.clockRate); + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, payloadFormat.clockRate); int size = data.bytesLeft(); trackOutput.sampleData(data, size); trackOutput.sampleMetadata( @@ -93,14 +95,4 @@ public void seek(long nextRtpTimestamp, long timeUs) { firstReceivedTimestamp = nextRtpTimestamp; startTimeOffsetUs = timeUs; } - - /** Returns the correct sample time from RTP timestamp, accounting for the given clock rate. */ - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp, int clockRate) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - rtpTimestamp - firstReceivedRtpTimestamp, - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ clockRate); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpReaderUtils.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpReaderUtils.java new file mode 100644 index 00000000000..44e6a97e0ed --- /dev/null +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpReaderUtils.java @@ -0,0 +1,46 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.exoplayer.rtsp.reader; + +import androidx.media3.common.C; +import androidx.media3.common.util.Util; + +/** Utility methods for {@link RtpPayloadReader}s. */ +/* package */ class RtpReaderUtils { + + /** + * Converts RTP timestamp and media frequency to sample presentation time, in microseconds + * + * @param startTimeOffsetUs The offset of the RTP timebase, in microseconds. + * @param rtpTimestamp The RTP timestamp to convert. + * @param firstReceivedRtpTimestamp The first received RTP timestamp. + * @param mediaFrequency The media frequency. + * @return The calculated sample presentation time, in microseconds. + */ + public static long toSampleTimeUs( + long startTimeOffsetUs, + long rtpTimestamp, + long firstReceivedRtpTimestamp, + int mediaFrequency) { + return startTimeOffsetUs + + Util.scaleLargeTimestamp( + rtpTimestamp - firstReceivedRtpTimestamp, + /* multiplier= */ C.MICROS_PER_SECOND, + /* divisor= */ mediaFrequency); + } + + private RtpReaderUtils() {} +} diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java index fefc74349de..a167e6f2053 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8Reader.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.util.Log; @@ -37,7 +38,7 @@ private static final String TAG = "RtpVP8Reader"; /** VP8 uses a 90 KHz media clock (RFC7741 Section 4.1). */ - private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + private static final int MEDIA_CLOCK_FREQUENCY = 90_000; private final RtpPayloadFormat payloadFormat; @@ -124,7 +125,9 @@ public void consume( fragmentedSampleSizeBytes += fragmentSize; } - fragmentedSampleTimeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + fragmentedSampleTimeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); if (rtpMarker) { outputSampleMetadataForFragmentedPackets(); @@ -215,13 +218,4 @@ private void outputSampleMetadataForFragmentedPackets() { fragmentedSampleTimeUs = C.TIME_UNSET; gotFirstPacketOfVp8Frame = false; } - - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - (rtpTimestamp - firstReceivedRtpTimestamp), - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java index 61081dd8c11..172588afb57 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9Reader.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; import androidx.media3.common.C; import androidx.media3.common.util.Log; @@ -39,7 +40,7 @@ private static final String TAG = "RtpVp9Reader"; - private static final long MEDIA_CLOCK_FREQUENCY = 90_000; + private static final int MEDIA_CLOCK_FREQUENCY = 90_000; private static final int SCALABILITY_STRUCTURE_SIZE = 4; private final RtpPayloadFormat payloadFormat; @@ -123,7 +124,9 @@ public void consume( } else { fragmentedSampleSizeBytes += currentFragmentSizeBytes; } - fragmentedSampleTimeUs = toSampleUs(startTimeOffsetUs, timestamp, firstReceivedTimestamp); + fragmentedSampleTimeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, MEDIA_CLOCK_FREQUENCY); if (rtpMarker) { outputSampleMetadataForFragmentedPackets(); @@ -271,13 +274,4 @@ private void outputSampleMetadataForFragmentedPackets() { fragmentedSampleTimeUs = C.TIME_UNSET; gotFirstPacketOfVp9Frame = false; } - - private static long toSampleUs( - long startTimeOffsetUs, long rtpTimestamp, long firstReceivedRtpTimestamp) { - return startTimeOffsetUs - + Util.scaleLargeTimestamp( - (rtpTimestamp - firstReceivedRtpTimestamp), - /* multiplier= */ C.MICROS_PER_SECOND, - /* divisor= */ MEDIA_CLOCK_FREQUENCY); - } } From 7eab760b18c9beffbffb8c66b2cb46b546d04021 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 4 Aug 2022 18:18:18 +0000 Subject: [PATCH 146/422] HDR: Add comment to clarify lack of support HDR10 for AVC PiperOrigin-RevId: 465360186 (cherry picked from commit 348662283a60c88e6c5a0deef9307da75161b241) --- .../src/main/java/androidx/media3/transformer/EncoderUtil.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java index aceb651236d..8c17b14a90e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java @@ -125,6 +125,7 @@ public static ImmutableList getCodecProfilesForHdrFormat( if (colorTransfer == C.COLOR_TRANSFER_HLG) { return ImmutableList.of(MediaCodecInfo.CodecProfileLevel.AVCProfileHigh10); } + // CodecProfileLevel does not support PQ/HDR10 for H264. break; case MimeTypes.VIDEO_H265: if (colorTransfer == C.COLOR_TRANSFER_HLG) { From d34ed7a5e15fb118f89b1de1a45d84efe79d582d Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 5 Aug 2022 12:56:26 +0000 Subject: [PATCH 147/422] Add RgbAdjustment class to build RgbaMatrices * Add RgbaMatrix interface implementation. * Add Builder class for easy adjustments. * Adjust existing RgbaMatrixPixelTests to use new RgbAdjustment class. PiperOrigin-RevId: 465545429 (cherry picked from commit a76dbfd363e2d167b13d2bcd978979bcfd69b071) --- ...lTest.java => RgbAdjustmentPixelTest.java} | 64 ++++++----- .../androidx/media3/effect/RgbAdjustment.java | 106 ++++++++++++++++++ .../increase_red_channel.png | Bin 0 -> 473252 bytes 3 files changed, 144 insertions(+), 26 deletions(-) rename libraries/effect/src/androidTest/java/androidx/media3/effect/{RgbaMatrixPixelTest.java => RgbAdjustmentPixelTest.java} (79%) create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_red_channel.png diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbaMatrixPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java similarity index 79% rename from libraries/effect/src/androidTest/java/androidx/media3/effect/RgbaMatrixPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index 1af29d69502..e39b3ddfd95 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbaMatrixPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -27,7 +27,6 @@ import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.opengl.EGLSurface; -import android.opengl.Matrix; import android.util.Pair; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; @@ -48,19 +47,17 @@ * as recommended in {@link GlEffectsFrameProcessorPixelTest}. */ @RunWith(AndroidJUnit4.class) -public final class RgbaMatrixPixelTest { +public final class RgbAdjustmentPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/original.png"; public static final String ONLY_RED_CHANNEL_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/only_red_channel.png"; + public static final String INCREASE_RED_CHANNEL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/increase_red_channel.png"; public static final String INCREASE_BRIGHTNESS_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/increase_brightness.png"; public static final String GRAYSCALE_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/grayscale.png"; - public static final int COLOR_MATRIX_RED_INDEX = 0; - public static final int COLOR_MATRIX_GREEN_INDEX = 5; - public static final int COLOR_MATRIX_BLUE_INDEX = 10; - public static final int COLOR_MATRIX_ALPHA_INDEX = 15; private final Context context = getApplicationContext(); @@ -113,9 +110,8 @@ private static RgbaMatrixProcessor createRgbaMatrixProcessor(Context context, fl @Test public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { String testId = "drawFrame_identityMatrix"; - float[] identityMatrix = new float[16]; - Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); - rgbaMatrixProcessor = createRgbaMatrixProcessor(context, identityMatrix); + RgbaMatrix identityMatrix = new RgbAdjustment.Builder().build(); + rgbaMatrixProcessor = new RgbaMatrixProcessor(context, identityMatrix, /* useHdr= */ false); Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -135,12 +131,9 @@ public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { @Test public void drawFrame_removeColors_producesBlackFrame() throws Exception { String testId = "drawFrame_removeColors"; - float[] removeColorFilter = new float[16]; - Matrix.setIdentityM(removeColorFilter, /* smOffset= */ 0); - removeColorFilter[COLOR_MATRIX_RED_INDEX] = 0; - removeColorFilter[COLOR_MATRIX_GREEN_INDEX] = 0; - removeColorFilter[COLOR_MATRIX_BLUE_INDEX] = 0; - rgbaMatrixProcessor = createRgbaMatrixProcessor(context, removeColorFilter); + RgbaMatrix removeColorMatrix = + new RgbAdjustment.Builder().setRedScale(0).setGreenScale(0).setBlueScale(0).build(); + rgbaMatrixProcessor = new RgbaMatrixProcessor(context, removeColorMatrix, /* useHdr= */ false); Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( @@ -162,11 +155,8 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { @Test public void drawFrame_redOnlyFilter_setsBlueAndGreenValuesToZero() throws Exception { String testId = "drawFrame_redOnlyFilter"; - float[] redOnlyFilter = new float[16]; - Matrix.setIdentityM(redOnlyFilter, /* smOffset= */ 0); - redOnlyFilter[COLOR_MATRIX_GREEN_INDEX] = 0; - redOnlyFilter[COLOR_MATRIX_BLUE_INDEX] = 0; - rgbaMatrixProcessor = createRgbaMatrixProcessor(context, redOnlyFilter); + RgbaMatrix redOnlyMatrix = new RgbAdjustment.Builder().setBlueScale(0).setGreenScale(0).build(); + rgbaMatrixProcessor = new RgbaMatrixProcessor(context, redOnlyMatrix, /* useHdr= */ false); Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); @@ -183,13 +173,34 @@ public void drawFrame_redOnlyFilter_setsBlueAndGreenValuesToZero() throws Except assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + @Test + public void drawFrame_increaseRedChannel_producesBrighterAndRedderFrame() throws Exception { + String testId = "drawFrame_increaseRedChannel"; + RgbaMatrix increaseRedMatrix = new RgbAdjustment.Builder().setRedScale(5).build(); + rgbaMatrixProcessor = new RgbaMatrixProcessor(context, increaseRedMatrix, /* useHdr= */ false); + Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_RED_CHANNEL_PNG_ASSET_PATH); + + rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + @Test public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { String testId = "drawFrame_increaseBrightness"; - float[] increaseBrightnessMatrix = new float[16]; - Matrix.setIdentityM(increaseBrightnessMatrix, /* smOffset= */ 0); - Matrix.scaleM(increaseBrightnessMatrix, /* mOffset= */ 0, /* x= */ 5, /* y= */ 5, /* z= */ 5); - rgbaMatrixProcessor = createRgbaMatrixProcessor(context, increaseBrightnessMatrix); + RgbaMatrix increaseBrightnessMatrix = + new RgbAdjustment.Builder().setRedScale(5).setGreenScale(5).setBlueScale(5).build(); + rgbaMatrixProcessor = + new RgbaMatrixProcessor(context, increaseBrightnessMatrix, /* useHdr = */ false); Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); @@ -207,15 +218,16 @@ public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { } @Test + // TODO(b/239430283): Move test to RgbFilterPixelTest once it exists. public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { String testId = "drawFrame_grayscale"; // Grayscale transformation matrix with the BT.709 standard from // https://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale - float[] grayscaleFilter = { + float[] grayscaleMatrix = { 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, 0, 0, 1 }; - rgbaMatrixProcessor = createRgbaMatrixProcessor(context, grayscaleFilter); + rgbaMatrixProcessor = createRgbaMatrixProcessor(/* context= */ context, grayscaleMatrix); Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java new file mode 100644 index 00000000000..8673131e555 --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java @@ -0,0 +1,106 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkArgument; + +import android.opengl.Matrix; +import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; + +/** Scales the red, green, and blue color channels of a frame. */ +@UnstableApi +public final class RgbAdjustment implements RgbaMatrix { + + /** A builder for {@link RgbAdjustment} instances. */ + public static final class Builder { + private float redScale; + private float greenScale; + private float blueScale; + + /** Creates a new instance with default values. */ + public Builder() { + redScale = 1; + greenScale = 1; + blueScale = 1; + } + + /** + * Scales the red channel of the frame by {@param redScale}. + * + * @param redScale The scale to apply to the red channel. Needs to be non-negative and the + * default value is {@code 1}. + */ + @CanIgnoreReturnValue + public Builder setRedScale(float redScale) { + checkArgument(0 <= redScale, "Red scale needs to be non-negative."); + this.redScale = redScale; + return this; + } + + /** + * Scales the green channel of the frame by {@param greenScale}. + * + * @param greenScale The scale to apply to the green channel. Needs to be non-negative and the + * default value is {@code 1}. + */ + @CanIgnoreReturnValue + public Builder setGreenScale(float greenScale) { + checkArgument(0 <= greenScale, "Green scale needs to be non-negative."); + this.greenScale = greenScale; + return this; + } + + /** + * Scales the blue channel of the frame by {@param blueScale}. + * + * @param blueScale The scale to apply to the blue channel. Needs to be non-negative and the + * default value is {@code 1}. + */ + @CanIgnoreReturnValue + public Builder setBlueScale(float blueScale) { + checkArgument(0 <= blueScale, "Blue scale needs to be non-negative."); + this.blueScale = blueScale; + return this; + } + + /** Creates a new {@link RgbAdjustment} instance. */ + public RgbAdjustment build() { + float[] rgbaMatrix = new float[16]; + Matrix.setIdentityM(rgbaMatrix, /* smOffset= */ 0); + Matrix.scaleM( + rgbaMatrix, + /* smOffset= */ 0, + /* x= */ redScale, + /* y= */ greenScale, + /* z= */ blueScale); + + return new RgbAdjustment(rgbaMatrix); + } + } + + private final float[] rgbaMatrix; + + private RgbAdjustment(float[] rgbaMatrix) { + this.rgbaMatrix = rgbaMatrix; + } + + @Override + public float[] getMatrix(long presentationTimeUs) { + return rgbaMatrix; + } +} diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_red_channel.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_red_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..3c45b94b5241843421fc29747a77cac6b854fdc8 GIT binary patch literal 473252 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

      y#qH9=CP}6rG%|0uFCY$3E0I*!pz? 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

    • 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

      QMt6g_P;<i*F>_EXxAL4ig-k21};j7;}I= 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

      Y-v7s7&6d7k;`Y$jUq>r zj~yC9+eOQ_Gg&74dz`&c#U1H!;z`?y;O`jhQ^2!~H{CV{wDXs8K!z_wKZ*rO!erTC z42L0R)qrBcInH<0ZL!5c+4LvxcGbfzA~IN%+T;)|*j!}m*fjyKo7_wjHS5QmPZ7H& zkQP_;!B`4dx@fpRbpR8+$D9JH0II7}4J|mV28wYRhumK_7WEohvK{_Hzt|OV7y4kN zpP5mQv+{``B5A>WFW^d1<$%A#J)m0r-JZb#yZ^YUacF&8Ak4VOns&cB%C0eMT0Soe z|8?s>yp&m3orPB3@t%Lu=w4q+`zbl;|#)_YX#^)yGGJ(GHtEf6PsIPJd9=svD$A5SW7FB)x`vM42=%O7-- zwk-AM47tPs&msW)@airJhH7Q%oD854V0^eG+OWFZ7eiT`F(|NDmg)+0#nmX-(l3*T1V@oCbNS4%6KYM$(Yc_2f4nn!a&>`{~CN7zG zPY*S~oG>mlyY3$=+e3W!7Iy3mJvN6q#ztNX_xUCnGlU|Jk#2M=qg5oRC~K5bct9v> zIj)O}JZx;%;OdVik87(z%X2@T9i8bYqGW*Zk(|3&A$@_ZkJb8K~ za(?RwAmY}2NPCg-h;$;uRv}+@-o7Hwev}{;Dz7{e;;2#dW(93Quy^!&k|M@MpXu6&(49_I$?a@7>AU0ZD7~=cb8di z794iBQBQn7>nUyJ3f8aHR;|zz;rys`caP(9P~`R+r9#7h7SBQ3mFS|eZPj>`G@BHiUlY3uuIOOMH6MLdNn=Vt2W$P`b&ahnLx27`Cxck*uI(y47c90xJ7f=DP)Gz*nToJ=XR-tcZ zi)5J-j*rd8h*VKgR7YL`kP!3eCL@d38LtzNP6nWq29MGMi3Bl?U1LcWC*hrY0ZK*3 z+e>0@Q)ERj(^+fyETaIqYz6capql<7u}a@JL6X>M0KzojmT2a%nt6{?)Tw8SF5m=f#_a19C2+^wI4x-Kk8X|=1q zDu+PHfpL?qOQy%OPnxDcLYT>=vAk{~R}*{!)ikK%@B~NdFN+ogDpL7d?LFy%vIqpw z>?9G-sf=xr%3pqg!iR|QrqPYD*~v=gEX}RFQGUW@)dEgH^ae!Of4FLa7Da#a?_PXh z#12ermeJuTY$EG*poD-`$yUv$g~y8jzL6uw?x8}2m*}F^Qt(bTa2yL{&Mom$yUT7f z&Jd&))?uNo?j2Edf#v{aR^Z@dJN3y518k6W{ccp2rn|f}=QpSCw#-bVmCR(z*$E9`o>#}^Sy`eX3Sej@Iz)l0pD!$HZ2ez7)|l8 z)=dr=VmFhQXwQiN#n00P$FyPHo&rxW+$tK(~izCJGnjz z-C&E$cmXQ$1)(iA@Z&|W<9Nk1)$#eYLqO8s#|`~%QvRTy?H)MKA%Q$tfU`_lq;PAL z;pa~k--JR4K|iaSo&SXr-r?oQs<653>a&;TE*868ZNivPWKUxI^kFykoQs;p7naTp z_1}UX^KUb5{d}UahdG$_O))dvVZTZ4{}Nzh-1XI{kW-DQN(DS%{(P@Wio^dP76pR>Zn(Zrj1f7N)uo%4oL~axXc_i z48j(Ku^;!3eY0CNHlaSeUBw8M@Nw-1p0#ESIN6%&1L~yr*XVhdB2^h`{G9K-tfcD7 zGMyIha3eP(msmqpKNO>)zfs~XN8OCXgs^3bfg`<|;IeF{&|G(e`76!q{SkgN2^1kD zOfQxOnt<2a^2lkHD zSk<_ZZM~=S$J_80-*lB93C3v>9|+)g)rAIhbD@~AXKTe*t&xAP?((#;5Wbjl@CFmT zWYZq0Fi%JCW{Ppw(#11~t;x_CIPCVCoCfZ**jD$)Krb917_)L@{1*I<3Ll5+$Zh z!mc4SI`unZmL?#>osUEa5cswdEc#3d(Lq8Asf?-VImHq{&ji($Uq7+SS31dG?ifm# z#yxCY5f#p^2~$2#l%tW<5YfciCVq-IT{pTl8p0*Wh3Mj&IiyL0>6(C;`rKvrd5`;= z7Spwb_}W-<-s(`q*;PqQ7LMM)6;7*Q7Bt2(0Yrm?C__W8*U+JWSH4~IQ{iOHR;<7X zEXF=k4vhhp3bj|mMPxuAw6_@1X*oBE2vfrI%j2tp$zppsF7fFZ258G|3U<%a0B7A5 zXceOnbOHE_qi1Myd6bzB>zMLBcT|8@Wq^TDFw3vn9DN65Ou{##d&?2kxfui_I4gTAIn4?nr9?D zD$A;W2KtVC-a9j%U$0+PV0X#b9R3G+B;2=F&lvMgQ*3~CjIh}{ zsyDSw6Bi2a78@xTWv@<*uvc57gI$(eo^@$GloMW5ju>VSX8aQT zr179FVX!bT0VQ~&lXXBfYQHsx8#0fXh?-g*tiVPQQ4bRvygBW=KOg$-#=3y0Souq|A{6(qi0ESW@&CIW#48 zq04zzS!1B=t(A+y`1bW74Tl-x1(VfNo~;a6@Z{4EFwT^j9$v}w}${XY>R;N>Yu%=`kBIVI=nN3o8 zDvf7bIG5&MVbQe@<|o_ODbl$WruKn~n^==!Nweh)bx~Tc}y#a`?*gDPb-#kfwn@=8(B{_oTZD57Y zoWCDJn8Dx-3$Bw?C7iBi(F60l&BaD5c;f32+wiG|-qFTe{8W5XS(sMtPi98G|VlnCB1oLI_Pu2ie6YK{u9#zsgOvov37L)UNdNp^+KLG$!@ddqCQ-k7`e_NMuXpcg=7w^!6@O6L%Pf8| zgy&c2tR!rYnW%^d}Y zDp8%?f9HUw%N-cQAmXQgMu4BB|I7oKX}kUlQVw=BUE&jM;rV92etCnj-v;1)8nz+c z1D{+t;Xzw}wW%l#@8*h}xsvLIBO(&YwGP4aJ`PyH3WP;nJ%tSj^i?1mmy^O#&N&`& zVZXpD$eZgjOKnlQ-(KVgfjr36-Bp&G*k^`rCh}?ioeS{~hF2&NLWG2Y9VjmI-(d14 z4_<#v8Db}Oj6ynp2Pi=LKf;0so;$%S+cI}2@G+A=z&4@lKA#ZFt@z?@5&2svKg89t z#}6Brb$jGmE(L5hBj8D93JYgN=Y6x?v;kPe4y<)iq&-u*L}6-^Q5eY=HFPqkRNq;8 zpo<75zm_E90f{S^eRJFKWD2q2a8|56FkVS$=4hS9gCh^d6agePVM;%U51V|GL#YQ4 zcNb~P063-2+>OS>+({Gw<@c>RQAtf4LTI1`^fzM$SU9}Q@L{aT5ovSlmF$QP02qClU1$Dl zyHIF0iS57c6h`aPYapdoVp`kjRI+P9G1=@R2NNSYxj6t;z|;Gqk5Jy6TcBl*`2YHB zgK`HLJ|5dj-)gY=o{hfT3a=6`@0FGV0}{_}{1JeY3La{Ntn_Nh1^Id4`d z4xnVh8j14s-p+(#0#VM!8~Ol^21(4JX~dsB&#|-O8HyM7 ziw3K(^>Q3@qf;j0LK9q4ykCx=rrn(LOFpMY+;%WjSi4=zw>S&vbRIwJOdHgO0i zyRmG!jt9cJ>L=q#!3DiQAZa4*jV$2n=_6?%T<<@c$Ix@G#{a?}$e!qozJt-rs4`w( zw6-JfD^U-Uh*#*|+adOhif4$KYvR3Tzcv`Yyv*RX$PL)D9hDq9JS%T$y>?u7{&_*h zU3Gu2KrrOGFiACNJ8_y#sz++^1u;(3o^``lWl@OPD9vi;xXT*^TF;x5nMQVne*rRiTqj znV)`nxcx2CWFf$jf7CD6z@Ylk2i6sGY5d?|1rY=Dt#1c%`;CQ7bS$^AH$iZG+&%x4 zd9&vOKsrhBX`JAi~bqra=#gu(51;0T9 zxYQCpVF%3JN%EU}c;|DT#1$|BD^eZ*Y(PN+@y6Hi)q3V6upIL=*1tH>FLLWN>%Uw;xXFYsQL^z;#VbI11A=Ki-V5IR3)U zGJ8y~L!||eX`K2Hg#i%536xnU)aCh^U>Iq@6L~wT)NM4PxCq!%pbRk#LMkTt;*iQ) zyaO*WlbLCTTD(nk@xyC>v2mZDcNd5-x~Ts_=H8Ol*Q8}$xcD6rLia0{?xb7n+BXDO z!|fTt;(+9W@ZTC)gmbR;FGR2Yo%}1oCm91Zj>J=fT%(I-ol5p7puF_a5(7gN3?>{0 zWZ*a%$Y_7$xEr^Y=?tIDj<8TfGoR-)f}<(4AHQnav-az_4xk4S3^aNnxH)8nH2M&5zDV_ySTw#OP*PQO*(GA2jYDk_f|O*WqIj_r1ZW)M z155-44*w{WHqY883LT!;(XnyEyey}f@f_`o_pB|Gg%?}rgJSynIwVOMayDzd_4-vk7Q=jVLY^$ zX9E9LqkQq#vL>ZO9k!jIn*i%znj|iZFdM8j+?Z?VYUc7f-H(#Ye`wkCL;Y;7y~SL8 z&c0iCcQ7E z9)UDaOdf>{qlL7{`2tX%%^uTtD6$BEkT2BhvJ)`qloiO@m-aCHzcRqFC0{glis5#i znr6JKk!@AEy%!Y;F#gc&F1wgMTS#hsX$!VNtS~tTX=_N zBNo4|pPv%+G4$mm{QL~%VyxFBwjl2ydj7U3wbg!=K5G%KcxW8N4g{x;P0T$=Xnycp z>Fm5;fU4l{?qh-5?<(2B_;fK|DTLcwJOa(IEasWW9Gs!0FgLfd;KF{yX-4Bm3*${d zl(F~rDi*;JjRvDM6N$1ib~O)Uvx|jy;0&hn3(jPt73SdoOOQ`YZ7H} z6PUn@Ey1WqQg};UqToB3S@J@6Rj3{#>;kDSQIJQbnFcH0?Vy<^42;>LiWd2Qe^P>= zfvRQGI$04jVukj39zB-kU*OrwPJ_q&lAPN^o;!&aYhs&-W8!`d-N~DXbtB7N(u#$q z%;5|htH5aBTk^tFQntt(^orHdmsb<#({gD2+*eIN4Gu;v3@Bj#4Rx>mYUrLGvI%+e zkI<6rwofGh#Ern|pzdeffOUjG7a&&7Ka9rd7H-2HX(}dVWd=+4g^h|4#i%+|HXm`! zaj<9tpESL~uXS$3_!h{`2bp+QFm9qfq<~09vpoz8{_=tRxpbGwQ4I%g{l89*&<0l( za|2ocMmd4hk+9&+cxCd>JDp0(MZ#CbnW7UH_k8|gJxwViW3Jy@dWyyqd+G}!x>gdR znO(O6A%P|EWFd9q*mjxU@81?y`%xYTJ)Vwu>4`4}fm_3;^lI8wsw%)FO)jU+6d92J z$}ilc`~#nTcIJf!$NnCnU-a)ro+-!MW;NV`PQf3QH>p@13ogH@%BHfQ?Bm9lL~G5? zg2KyZ!;sPN;r#o#9kwDS!#KT(IvWrD&#nUik&~V;<&Fk_Bdn#PDuQ7kDKKRAFk9ua zU{ZW_#X`^{b-vG`I!|yP9HwAyB2Wf@Q zv{#=aK(e`+y764-nBO#68TQn!NuTVfQqH>HlKvR#uSuBjE-(2!t`4&gBKE`EFX64N zJR?#3)E{0z=bM14L$^Fdu?#y)1VpFMHDmhXAkKOIEfPBH?wBdbI}>D*&h>#*b2pvn>iU-H~x}BJ zp|BROgV4UvG*!A35ia@9pHywwL#L0qUARw8hB7@ zpsf-@aS~ca$VWFcBq;;`Oi5Q#r1pp!>o1>oh_kMdyeh%E*o?(S&9&rmY9=fa-jeZR zF(kx#`Vq!!S%|9W(luzlFq=L89!0Tn`AlDzud>Zr>3CEbKmlY=eZPiE5Z)1G9W`iO z3ml!r!k^nC1K}Eyg zZ0twqeFR3w^AL2_WJyzv8@f!qG)AyXRxs6w&kRuRg)TJ781Bn39u^H^4u)$Pr zsMB@Q)gI=qQXNqs4MA%D--7#CIw^v?Lsj^RlR!*itXY+H^T>Wlm^pfB6$cbJ_iT6{ zz6by`IocgHPqQA0RnALuvOS~Rag0nng1pf(-Sg(U)-@V{3&g8OT-In2hqMBSpGr9H zj(Uen;^ONjz!W*(;kTw6m+!#q3QA=T7Yc=t-hy#&*B91-u7elYGW)_Rm&IaOu0%W5 z!5a>BlC;z!hOm!*6y9Xdg`r7l^=pE2dDp5O=+JsROjZt<@u|w!xXdIk8gaGVrjHGo zA$~MNd1T;}DoWuGN4Rie<*DVitzO}0j^E&_PSKGYE-8VTvx(byvUfMV7xG2gd`r?b z7Jbmf`qMs|Ch%D!eb(>~Z9ky-K!?QZR-;GXtKT2Sn5YT4U_K!dpLL749u~?yrRDj= zqL2(!&HkTqO*mO9!7q>Kn*9X@3o5NAgnZ-cm?D?=37(*>uiy|)b$h>{TwS8sjWWjs zPA-tg=Uz@muns&x-)8GyjUsc`?pq{u5dr|2-($xc^{KQGvhYQHm(d7Vpaq_Q7z9|x zt^ca}1`bX&u*%nv8FO%%+tD$i5tG8hwGb;C&YW_VK{l=s7a)Ym%7*yFt6kIqtE>p0 z?wI1iOkvGIfT>Gv+KH*C;yG`_x@O@d^k8D*w2Dsr;yze?e8TC z_xq|}e%FwdP?HjV=Zx$1AcugS3Q=x19Doj;`Q?X)2O(e5Z8g;o#pUBaJ`@plH+V#A zNMQSvRk|cGER%e=@8qE1rq&VwUF0>FvVcxQ?pGAHBUT{CpB>Ngg%=?x3iF-VChHrq zRCe98k{k4DSzb*dC9KNu{Ap)TejEYB<6QIeELe#{T&uoMT9bypVDTD+ zQMDAK7qT6Jd)`E@Ejv!(8gv)Wq(`*kaa+A^UW!OKKx5|#=4RWkN)@MxGMC7>X)MA? zP%l8`iw6ps$f-SETEqf)CI-s6mt3EK-@1rf?Mj1hDr>PXq2+?G`TDf%2l-)~z3b{{ zGfVVUksK4io>CL@e5R6(2M59Bt$M6y60&5I7nX!aHG@t`1$(?Kf=fb+^21D=(UMh~ zD@>PBrjrvM76wBYZB$Jd5*mV_NV6Y628c|F%8<(-r$1xWbvN$r?(PuWJ-EBOyK56PIKiDD0TSGu27tVf5y4%Y(ur0HuatQP_9HQwk}C0og5mKn;Z{{d z!UU+ms8_vU{oTo63=iF6-+k8zPXtSp90^S#szYfYl$l9bO#(%+KO84HlD3-ERa}haZ7vO$O^YTmNfYYTNYP34Mll zA>($Hs1e<2Y7IX{6tlcuO(>kjl3-}Hj-a*sfF6j(5@xEH*h$f=w1Q)3@U;74-097P z02R{Hy*K@sjYY^cBe*sO#W}svmE^Q&GCkV%c|_&u`$7gmoEl+@-tL4=*s%q~nL-&$ zoH>YMGzuKiZjE$`>CwozV5lq+}c z)$g2Itihsz85r4Sp|))%Q8N)qWcc(E$B+#ES{lg@>F9)5OkwZ8$7;&__t#pD@RJ}Nl)y)_-{hU?5H&GG z!Z}SnV;sr~*)WQq`s^Fnr7^{1u_ zCHn-o+qgBgd;j^c!Ey4E#9MdbOfywrX@056WB}uf(Gd(-?e$q}5%SW)jZcqyrJGmB zQ&Heo4D{CE`K{$6AC%j#*q>6@W<6P`A>r`;IdH9ABku|Kw|_2a6RwT#-{SVHThBPwPLAN0*Z@UR0&K(jfP>qoBxJU|d z8HLK^q@L>lu|5V1hyvS*vd+(4B^EgKxuVy;!v6%p3?>(ZDJy21dJ2f4YV>0WF>Znr zASA1ZIb=4gg%D!P@m=_}rFD7n!kJ4%34tRFZeRnxsIRQV#031<&=9^P1g~sa1g~e| z>?g|j-4xYEpiYjGgA&>UJq8ph$jX;Qtc&g$%bI#Ztt(sn-gV#x0r^QzP_O-kTuDlc zT(BitrKnY+s*f73GlQ!kUmWd;3m|fW;I=q>np2*zCh6>+PU@ko$im*Gg<$6|>F`7f z;!Dr?d@fcq6oXV)G@O>%}_j~BjLKQia2ha<4j`XyES14MHV+E?eLB1-*zL0Y8 zj8;8``6~rg^qh!fZA5bkm1-F>5!-Hrx&Zam0e1nc2&cjupq6TsUM0kV3RTK)5J9y1 z0E5{*9`afjw1y1$x6}%@&thw!UdBLk0GccP$vYMhDE(}zkIQi&*)Ph%R2PklbCkDsnzH;*GcXTqPd5z z*w`VY6ruAin?Z=VUQE?D(T>X``({UoKv~?KFC+tcqK4!jAV6pR6@B+qByH2`;s?2%=j;Uik0q{V$ zTXwvAO)fLpY|xhpNdD~6ml^*UAD4|FfDkP
      d^oGyZ6|5l>v91K6%uO4LJ7dj6M zJ-h|5YR#Io=fdOν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%0DdC&R?K|6I(*D~#LDc>ftFy{fF454X~9 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 (RUuixtdAN>gMpZx@# z_pKCu1t$JJkrR0%rM_&c;9nW&9SXqMQaRYyUIPwt0uhsx_Vs3y!oZpw);s3vWI6?| z-{I2k4FC!0R7XSZ{lCxxr0na*cy#+Z8V~4EWHEZ<}FGd7=jULO3aXp7xDg=U&bGH zyW|D57TZOEXZk%nwzEUAdkYIVG=?rz;6hsdiA>5#c*>+`PF@#9n}BBw0H{#I z!;pw1rHxlAsYqA_5EvpsxQbjWlnJ0Cn*LiI9C6BTedDfcB!XthG4lHqPp(w|sNBl{ zhT~f+ER>)v!deg@Ckg<8g#~)=heP^14FH(Yh`cRHLccYeRI0Y_J(hchp7utAJ-_S~ z(j{HXX#Y7J`tq>7o)1k)xO`pCNzi2c1S zd9ICU9gk%FE*bQ($QZ!L;IEl!jXVN!V^Kt+0EYQI=pH%e)yPbQTpM(wpkLWQO*sT2 zi=>K&sxlC)591*Afo70HBP$e*Nu{Dts0;`B6`VmVpHqOIyOBC;X`1j@7e*K?l=DLV zrepX!TW44x_*?mYslDDg|GyHpQj;{QhN-yYrh*o=P_|hj=Sct7_r?$qod$ALK)Y#c zmW0-sYM4rREdi>4U>$_NZd7~DqV#~6);?jgjr@5sq+udysmf3k^nRxam8tA@t8F%x z0kz0~XRQyRi(=r#7l0pnCva)=@cymK>j^?kS+c*Q<$m|&>(PJnuKAq`O4;C3DJr>q zXNSOty**&CPy70v9iMwj7*;DQv@gdo(3E{KragFXmz)ho1ABeo;wlg=z?B{!6~MJ? z!1;CHfd_n5NRd}xrTty*ckLRz>z5vSBYWpNL*4{)_gfEeO!KN&e!oYgY@TxR-3r9j zsL2zw+=_!JB5x(cl^<|ZEM=O|u$5jiY6MS*Lh5uR9D#*Qv=;npo=4_=~$ z=Tyd?6~6Au3UK){e&HK0;nzDm=$Zns2Ahoq6jovH`Zm^*_Zg&^I+3DbYtuxpfm-xhfACGl*f!zb(+y>ALlB7;!UxY@(tdN4&L#D+hS0wm- z8c3sp-<>ia%6**Rq4Ijvq)YSO-?7V}z>rr@=F!0cc>!0Jfuspi=C%JF5mgL<1rGLUV{W8GsjM4Ub$b3`{UX&;rX3SL zSG@{_yItV%tY6<6RNR7Ll1@3!8A36r(gCxtLT1RU_G?Xb?7#js;QBX#%}rqa9I?U1 zV+svfUIW@^iAripX31!(p0W^60SBfC|jhlDhpzWSY}?l`YN+LaxOo& z53DqaEz%iNEWYH{h!X-2bXk3_5U_InUJo^?8EdZXe4H5afDiwX@44hEtf>}da%Ha- z4VST$2vsY;#%VARVIO$4ZEJF|LRxCFQj2!Mfb%~Adz z=Y_~rgsu`s1wD8gJU?L3j))oKLQ$*q|1T_=m<@okNtTgmK&xvOGcY8PsN#7Y z0$L*0QhA@4nnWdRHnfq3FjNt(>iu*~>kR+V$w1nZJ9fE`oyo+KhYr@u(mnGSl? z)`13IyGi{ar6`jKP&{W}+X6oQXTZ7BKyzubjjpZ6&+n0;bP0+r(wBoF-j@MM( zjV~?0+r3Cx5+HCChVD^;oN(@jz^CN)0)TJ4#Mk0=y4fT~b!*KZ^Z73V&wiPJ4R(5B zG^YJHW!=Jr`=#RdHfW;)Rb1P?!Fjq$a$58UbWK@Pq8NB-3)t-vv;6E?&X-oux=`?5 zZZ&Z0HrW{c9&K}{PXmo*ILAWcm=#vEv~vh#3vfW~QTnKx$VW)s^*iKp`%3481w>vnnrmQb2^Sx{j7Pt54V|&VmN8T^Hj424aEN#9?o!?Pv_Xig*0k9)QsDAs{KSnL zczkCEx3$K0QDC#tz_sxR&m0`kefPS+xienbon>H2ZV+qf9%4MaS)`)42f$R_Q}^8} z6Rd&STovQ|I2p0$0;CabjA9r`!pkJ}Oa>`2y1;Rtu9AoGZ5A(MQTXHP_pUH5?Bp@^ zvbI)NaEJDXg&tLa8&m<9B&A(24z@zMj*P`<1Xr@I+4LbN!XA+dE4n04k|Z^q)t1A= z)W+3t6&^{L3V8M#;K8LjP#2DGea#CMU1b3jlgtkQSrmJKW1a|Lp~OI^=g+KEWT^tV zV)&<_3L-|eYgf?LO2|Uwb2%kb3?UWy`#Ic3`qNhDn6=e)b=r5K93`*J5yUe!)Wmlp zVY1R$=K~V9G6f);6b9=dM4c9pSwt z$51HJ7Fo9~hp~tbffAJ*NFoKZsTMiuaLMhEkP=fK65hqvGlrGwgd8!F_s1H)77T~P z^iaY4G?tPZzVb48gU@fUk*w%?fHw?7@a`~hhgB$y@>YiaQP-CWPY z>i|mKyI)j*jeEULc>XcL4d8wN9QVH0pUAgTW>RovG6kL;3$J)Oh0{=_fc3NZdk03SMa3cvX3Eu;)= zWKo2tdO6;;w-4Oj0a~Yk^%Z<|nB)1u5F2TVt??M2I5@y# zoepqe1329xWgtudIIS-P+Iu5$o(l`W z@*;(0Sq+Q_9t07)H%gfG!3O)%5|u=&hcJZq1K>hE-1otzBu0MaTvhovx^ZSvh0lYX zQ}NDaL7xQ!DJlY@loY_Sq-!Wt0TuD+nwlZ&Zp+6O1>NWLDLTH>p-_-G<}i(jjTGy_ z2gQs68*v{63XFSS0z)@a}c`^SX-kqb&UprER6){+@dk=b@_hQD{+<; zEmcnMYo+LZWo;dr>WQ&%9&JQE#H6Aeix)cxg#x?+XyE}MxsNa;003j^HwW5;_va!J zhY4S%RRJfI&n;nr)JB-SUWLg)0|Pfy{-u7LR8hU)*zj-uriLnPz^&5HDDIsQe!6-2kxv8qFhle|70YUL3O%G~6;SNdhc#zK?~J?1nFWnfCw7j{raV zqr@HsxDrb!5rL~IgHj{D*XN!Ao_U7mU9$+4s;dFB%n6x`QX+nuLoED%2&M$boG>^} zeDKU^{7>800ieR-z`+46Ox+b=?G!3> z@w&(hE}kp#oSw*u%o4ZhATY8L0xWLbqRqT4Y11pU_jI@)K4gD^O@9N&g5ab9M zJfVbBy8?EIp%>LWt-+=_l>rkNM3pv#J1YD&oFNr3R4NJyUs8!jw)Tv24@oq-n9^St4^OtWY!U7}p2E?-F_>{U|>(3B^9O1RY=hE`Y#&a}hyzZlf%#FfWlolPV>NEHyn4mk)sFp9da!gn-e-1z>PMfXS)T!2kIhz>wFpIHhYZ zX0$eGaIT>yji~?y!tzT~dXCS34*2-TnPJ1svCtrlczx*i=-N_-JPeuZ=hR34@E=y! z)uVvn=hvw%N|9l@wCt-%{rW$lJ?|(Isp@(y&#M%*=_4NjKK<#VT?_E5JRM}h1Yi8wm=_+F2bzAsRpEiVBt zy###YI`Hz#1i+j-2mI}ym4RTrrS$C0kAEEa)6X(clF@J7F})*uyTI4K4wOUS9q*v| zk|wC472!DZ^+#i1`#SKsFA^Af>TGp&U z;km+q$S|j8?e&4Le$~$t+2?=whkbP$;Bf!00U(g{YS^RDp-U7*D&}-=~-M zGhf8|GtXc>&d|{%o?KnU+ZQuDwz!D*o;?e^>m4*17aIgVC|-Q}Iq=HM_#Z#^C;0o< zzX_`r@Wj$G9$j3(m1Yya{NRJMVZ8kju5>b{g=2q@V)wrKRs7=TK8N4#9N^IfI;XG} z|J$WYSZlX|w|x)r13y5UR0ZG&V*8v|k2l$bz0sj}()DkkxF3~jI8El};Fx1rOfv{7 zr_Y<8H4o-t&k}ATN0vE#b2m9SfNKAXR6K@Lno&25=%l;5zq@Ym{)jTEON!ro<{4ml znb7=)9-^dHnhk&F?PtIvvcL;3kaBeX{B&a$m>i>t=d8_#iFs?Q&u?qT)X$&hft}Sh zG5WuGo!-s$a~`yDMsv;R4EtZ$Q&B{o(dVBB4u%w0yEouC@`SxR>|x#S5wqj+L%{pq z54`8c$%B{&Mu)YaFbq~gOHF`<#QVmvPayqKvvpiE!>M#QOM6M`Cr0}`w|Ux0|h8gy()_cJyCIE)84Y5++1PfGvF^-`sf#Zl${Soro| z$DGJ?ecdxVvPEK~G#Y^6^+%6@ANgV6Xa93*-=929hS5hp27Knz!1}{%WOBmdMP82( zd81q@Vuy6QK)dbdXZXI$akE%Z)7A!KCimY7mW`^d{YTJsq}^edo~pI0exI;?MpySJ z*%yE+xF5DHJU;|*LWyEbgbr2=!O*yjyuqY`&xvQ1^@sIDDFfc``86X1pW}!tfz+Ty zX>%Q<1K^x;^>xWw-(Kn8D4YkucZT~_YhOjn+5lkSON9WL;q^^GbOA|17KG@}C0FN? z{xzn$9-Gnw7$q||tRcpyF_io>)WJ&zNJ9P2)cPoNzyMQpoyZSoIOinXQz<|H1u&Jl zWOzkBy~;%j7#K0kAZj+~eI6e8d)Ld81Abw*$^$4#LOBGLV#b&C;MmGC@YrLtM(C1q zm0Y_9eBleEmk1N55_`-8SkVi4Tz}}Dz@v{6xH%Y5{*&6t-}zuMjNG5l%Dc~YlrfRzP8p_)wUL{4OiSj!3+ zQ$cJY7(U!w~ zY%phS6@ZknILuy}W~_y|IHWvrbVwte(i#Bsa&Eo4QJA|!g~kr5?Y@uV7!#ro^Z0aY z@A0(2%0kLVvxL=YX#8WeYweyG|Jv`>^A)ls4; zjg`EAapVn)usRUn9VhZn465;%*T^CAQsdfqfbM97)_91`ZWp;R#0FVfqIYe1fzDe< z{2DBwCngEnsl9RPz(DK&PEs!Co%-)Y+13V7hCnm%V2ft06mWf;?it5qpnUdey5H$j zw8k_Vz@Q{1h|vVDh~6QF-jHeUoeu2{k}E~-5rP|sIX&t?r~97&ukB>s8#zzbrnk85tQzW_c*j2s`%IT6b1 zvg_`9J}yn+l7!dwo@sJi8znqP8{XH%p`tvvDIr=i_k}SaK)c~}YB;2KdLj1UMz}W_ z{&YCH_3Vh4fwnjT8WJi50E&$HPkxfF4=__G_F*=?p1((>9|GVHfMZX7>QCsO=vVSy zi*rYF@@UPVqEv#D&_My|?%V-B_Hp1p{U_F40IZ*X`}hC@9j|Nwr`E`kb#Oo+iM6u<#=1QHH22>CF!}`G`0kN8mWxt!h*L`E zT*v*+lUp|G_G$dRjdeWsm1{^;gd4>eZ)v938jtX&y#svU#%-Xz4xC-5+R}z!f@VVK z~^i#{%LfwCc|8y9fpYcJyy2M0*i zGTKRuFZ6S)MKK;53~2E3lckn=b2o;6RWZ;P$Y=hvf6 z;w^|dKZIMNqk+ za;^g+Fu9?~{VUfFHgzqEKN|{V={J43hv5wmil2{_EUWy(sG#Ce$_AA!sb4gRHm+hi zN6uF<9NQ|CC}@|fprQekz>rxQi;F2 z{T{XlL$s3=zsD?&%)74WG2}C7U#<1}Bx<9*>>jn=0=C2Y`+)Q5cJ7 z$0KZ{DXuh|$hfa7i79!Uo#E^l1@!-xk?SkxnNO8M7Fnv|p*&-t9wL#&5jK+)?KnnD zKpA5xM}$SyQ>cP@EKCe*QQenR;4O^cyx36^c-+{#9mVWXGk)%va1J5(lsRSrlhRzO zfdf@mQtjPxZI4mO<)T3M7DGlUS3Sj5Nm2B-;}aJk#P_M zNem)6-unB5Nle{5lKG>MMG>yXpoD}ww}68KeD=<5e04ZPev_{IOB?5*mX?7_7l5?{ zFflOHz-kI443ui#;~Ob}s2Za$Wvih)Q=?#Sb=sgc0YTehOY9KmaZKo%pLz;-_q%D% zHk!cA9l*xG^_#T*#Ox(j2_;^%1)aOoq2I@aA1qq}-Gk~_hDo18hC_WUD%B_g3D0eC z-hq&97KVH{;}(AW=1B#3i6-~yFa%*{`yw9_=<>9Pp&o)#Qvd)FF*t4Qvo69`RdR1k z-wy?V3hx)kK$96}^0mw2X9}XrN zL;k_4_mufn3Q!e%hAb4T`2WFx2*VP92hD@|pa7SsJZ$eQ!?%(=IsklJUu(W^1fO?{ zbKA)O#nF;7Kx$Mqhe~OJcPAVtRNEy@k-blk={iFJM-<(6I1FcCiH}Qx+j}02PC2y4>gg~->5oXB^OxEN)AA(mHg z@!^MY^`&jRQjC!sjZUf2PJpg1iAmAv5E7{rOY&el` zFPY~FIPMx4W-1qE0zixPxbU&k09^KexsPPKm+*tbl$i;jBLL)F+o#a^W`P!RZY6wW z%DMIX)sMB-8?RD{sGcND5?Gl)DKeJA4IHz=a%CCzpbR;*AZY+dX9GELJpa88&lz(( zd$Y-&s?vKktfl01*RBCKt^;`=`!`<09~~T^TM+fX6@>B?mA=bJkUwOdE7(xo zE=qK?MvKduW=bJ*ijy!)JiwEQmrSt-t*!{pGQLDY1v3f^o{+)g#v<}ctF@dfrS>55 z+o8bz6j2PQ+=VyMg`)7MfE$is!Oz@|V*)S|0XHIKQH+cMFG)D+*b`y=dfmW1%38+B zW-Fy>C9$uy-k^^I1HNK7@ETGHOOt*w1Ta+QsjjvyY@_@g2b6NDHYEmBBO$8z<%|p2iZT!b>7oE-y9^bizM=w7JyyXhBIM`?rK%;)okScF&0Awjz9|~q{ zEG*PK+T0Jr0nx&jm=Zo168qFf6r$T70e|uo0dBnmV0=LRDW$5F@=T3`o*&OUJEX)f zERZKOY`2X6w7#4NaL9L2M9)|1fNf|423i3AOsS4EQ$kRq{yvB8nZ{%Qs=$WKz3`cB zZQYy80GRP9;s7HApEU#0aHyNCFXF}5%{=LQ|2>~gf z+9$@s0~@t#h4Wun7l!u{8S~0m$@mB1d*S_MpVGDO!?`N#24QPe*5MiRq7HHZhfhTn z0NP<+DC_q+6#-fW-}BmD7Bv5xO=4Qb%&3TCAmQT#ppa)XsP3IQ9M{N)D$9G-OzE1E z6GI$ebvvd0Ud#hH#wD$f<1w)-1nB4;5OCV$y*Okdg+Q_e*-a8sQ*sEO?0atbwGZ>v z+V2xh&d(z(VWo%-l4X2+RK34|Y4WT$Z%}^-(h4uaS ztphubfZ7};bDMpS&vnlR(wyg;cmAv#3rEfkQoFygOL0PCXq+(Qe>3~*^HOfD?-1$dUs9sgP5B=2PnsjZ6*7UF654n3z+&#x(z zvpg%)t_@%!*NY9#Q3~^OY#h@#n71C)FDD90C>1*CocH7?%`?_Nw<+nSF@;=Vr{k5z z?jEs}%A$H*VF@j*P=coZAYeDlyLpXK6{*SJx!`>-gBerGTPFG3`haG)uHwzG3BV(+o9@7qY))1h+_JEcbC^W1?TN=#JuSR zaoma(@yO7+5S0K5Kxy814V91V?NjXMYp+rMkLRDq^LIKZVDaprkH?pm(J2dTq)l9H zEaJ+gOJu|>ED+cYc%CjC^b69pgSgTrmZ3r)}m_| z5Q-wS5`#wZC#Mi)EuJiRl@q<%ZFQ0SrkZYlwa; z`=hK+T9VjCo~{eaiY~ZM#6aQkbcuU48Qi5Mqth6qpxhORh|!WZA{1Jqt1Y@(C7WAw}kr5Ia$T`#2M`QZe-JhKA$CdECub2LwxyJ@;x+#Od z53waA1gRd1B;zig55r*IS_=%izTHkQ6^2&q z*A`=#MZ|hv6y|`m@ZnqhS(d(y)}Dl@oX8ZZCykpYPQi)k1zK6b!{;~fp-u-M+v}oJ zlxRgI#f_B4_N1OVh5!B1CA{~=7ckHoc^sp#1-{Vl<7f8v zfSo(Q>N0yn0T)kZG;sPfe)`lY{QE9Z#XDt*YoigK?e}nXcbDi(S?0Z@v!sqzpUBZ= zN;c!~XsIhl5-+*3LLpUv_fEKtL=?Q*#u!B$%U#_2+^aJ(!uHNoUT2&$>%5AWmL-aT zNLK-l`ZdDm7N!SKHH?zPdov|=K3epkOcGPZ_fX=949%lTmeD=F_BD#%eBlM)<(JVJ z4A5>iQNZHr(lV}o@1wxQi@4Hm1Ir9%EG!UEk@v|%YYeb+gFLQ-9(}jE6vQu^fU0bK zdkdy%#^QxEUXgPO95Z1`PLe9XNC=XI9yGvv@5CDvde3+)9D_hj=3khae6}vDl%%Z1 z|2Euld@sqOZZ!&H&@D^HR!9*e?;SA1FQ$-+Qqvw1N~6JfP*l~>k#@NRq*K%x#h{O4 zQ*pS9#Fr}`lh9CeAjS*{4I;&0=Ay7t_?WUl%1IpaVvOg91-fO4jiiY*Qn=D=;!3lL zoB`rgDP&5ah?EaGi6a!oqA+AcOLEd;&blzI+RD^tP;qsgRuR(3x&)zxwMhAax>~ys zD1efPrYiD#w^N1_?`;0tW>}a(p zvGd9bKD4q1bUJwY#tl4fEua(5ydV2_tl}x<_f+$o0sM1G*vh<;s*;CDDFRKu@>O8t zJmulIdrAzLDRZw@<0LOCQs zavjhxX8JWkASAqxoFf3G3w1bx)UPE8IA`@iy&BlG{;3}`Z7mWRv!QH_Hz3WNch;~` zI_9L*^Fn&+BEYqPSnm1t^!~4pOZa;|k5qX4EYab974}u&*{|fW;5EL6XZpD>0Ot{b zg$ewt25^MyjZ&n)M3Mj9%`+J%3yfm|sFFBn;1MLuEj24C@I0{~d#RCeqVd|fs`e?N zHf4!QLewzCu5x||baG$SEA)hN*lz%QY#2)=ku5yH0eJgUa-+y|)I+u`101prgzGmm z{F1qbY&{G6aphaa{CJbdGy~wX($38F0A8cuD^=s`aQfd9-~#J=;$$? zAC7TlcORQKJHXlVz{WZ6nTR8zLM>|SRn;aSdGuzxr2AzzD-Pw zjq`vW(4r^x(c7o-;r1zfj;Yvy#nyO;kM8f|>dp>%eNUhERB#LU66F*vAQFV9y7fXXcm; zw)*2#6o6oZaO=6OPpEUd((d|((ez3jy{+AwZ!C&Zn50XL&?F_Q zc8^OnF0%PGvXmD?@+*WLV8cG+O;BzrY!0xJ)ZYi5`Xull{}9h@U&nS)Vo52y`@#nB zw(rH&?|lTgc#$eN6$OD80I@7?-==mBxgx`8#B2oP+b_UJ9pExyzZ+7VBqXKO-k=++e6d_e(WNGRFsrvga@48`yTfl>PA)jG2A%Mf# zN-_+il=kV~0VM{>GWxyIpn1`6k;2<(;PJSL-+Xxsf2YtuGXgdrVBk;F_?uc=3kE2Z zrE4Y;#n0;kNEdymj5An5U|JL)lmGxA07*naRM65=qhjFpO)Bg7mWQZR>FNd0k4xP7 z!F;WZ%RTOI)5OgOVZWhz|9N0VxMw+l;|Pf%r-9@3d(8sS!yFDF&>;GPJ;pv+2QEUk zp?p`eK`tRmQxj~~pC!27-2P+6lX&9i0vy5fhX7ajEJt}}UF$;`H&fEH4h8`jUjs5` zfgSGok1%KIe~Y+exW2O-33U&-u&~G6jY1LQ-}=wv z>bhY+9L9c{cAn&vDh*(Vljl!dE?{I#V{p!z&$H(Hy@~@kWL}1IEzmpbdq}+<5om8v zX6kdDFgQ-+-Xx@IsEeZ zb^JFkU&nS)pcN_PM&YS`AMe_|Lrjd*r>N|k9{IMcEaRc|^Y}|Ud-(hycgo?`c#KyL zdbqsD6;-5mdt@2B2tCT-V$2JB8h8!Emn}35Ph<*`JWp}0e{o!eZp!sl&ES1KWtL*0 zln*fwUvomag~5EfW;%+zos14|6hsem9~bVD*{l|!3Q?d>l=!DT-n&w z^zQ-hX_}~AkLmA{Y|>H=EJ>*T{PGeo>{UJYmc4;Vb8_Rh)`!>3do6$KUjQ#Wk3ZeH zgZHeh;rll)0YCT-;75NHcs$;(-bk#qrqp|9DJel*ECDdg$&`Sc8-)%dIq}N*LlfXE3&9v{%x(zuGpbu2rQ* zQ5NVJEMGG;6 zLg6+Q#t@hh2wl6Ts80hofWQbB1_l3D_B+>~HGspd5ehH{sntjYEaM6yEo+gLB~saA z#Y-KEn}=c`$@?*-&)wQl18Bqbtr!D64P*`PyZ|_!opVZToCnt0_#6E`e&_mieDJyF zfb}-LJ9^}md1BJWh|u|gMJN}C#mx9r2w|05iriVUz%{qECEcEEt(lZ z83GduI5uTcfZl1BmU%Mk-oc!Z=FSVTnD#DJ^r)IaBj48zo4SE^w;?K(928;yiM3pt z_w_Q`^?l!!WDUH~v(}H$Ks7v9<_({O(g@RG77#Q`1lW)guMRMgJ)#EGh5dd%0FLn5 z^}m5hhKKZv%ySvuunpn&_X==`xOr9wHfFpl&S`K=fI>dQM7~D_Il_5U@H$fm)$08b z<`4?^4O5%v;rAiHcfUc7I)kHR@KAD+$oz2S-vtOMYYbLqI@A_=bvX1X09c z42$H|Ety_C9CBUt2vfbINlFyfQu~sFa?D{!c3q}N?s+&u9Wie(!*gj6r=9hYc#0;zw~9` zqaVfK%U{7$y*{42dX)^I2Ok2Sd=hx%Vc<(&0j|GF_uJg0@yrJVaHI`jZ3Zxjw&4y=vxqTCGQW=DK%PggjT{Ha%+IrsvpBRVY)1; zW&N!6eIg1jpVL-U4aJoyWktdF+) zxpIB<`}4ygp6>V2P7-XU4Q!+-9$#LxwX*s$JV=^b5NrEwh>Kr{l*oCcnIfgB?17qR;N z-;bYs?m0aB>Z`c=;tTZ7OT2f*NZ|HKsZ4ptB;SZJ)L&tuRiIjdq@R;6lx>inlPz+h zX&!<(k+M~(8{+a^_<2;}ad0m1@E-G=3^LE;|5NsfdFQ(G&Gg^ocX!OR>q{qA8goRM zW4O9Dh@o{K6$zz$e^nT2$CYE~ISF4st>^GKVn4j$Qg7EBeW(8OJr9>$AgX=VMbiRjg%DijSYObeI38_+H2^R z8m%No*JwQ5@8hrU?f{(~;OrVF!5MpWyS0W(>+5**)h#?fAorgDE9mzr+32a$!18j{ zuo4kPQ1*U#u2~+Y??(29Gl-}B=9JTD{@ShTirR5yiYMcZWN^$9F)SLX_xO}$fQXyw zqAv@4D&GIX9|yp(DULeV>c9oyyCPDPXt$biUcLP6#C>M;Z|La>zXN7_^C}+Z$a_9h z&cTobC3qJWxsE$;qSBV4JiL#x4EXBvz@K~yx1RknZjCga{J|dpE<8X+QM(O%-@`y( zlVSAAH^?Bqd6T{WTn)!qGGzLFN*p*2a;6l8H=--fMsBNQ*_Q-bW#It`=b_?D^?K;) z5?xKkY^&My`9Go8;#}pF63VpXM(KQAeX@adWCHCBGHnEip zP+{Guro9vNgI(BZ(6fN@i4Z*b4Lw?14eCFa`jS{Z}>mM|`W zes81zGP-9!C$My71uN&z#1ZBHSXiXoJZ4n= zeQ^<3KM%CH63xN_={9#|PzWFac*Ev?7$)`g@;H0uarf6LEW(+;z1fWJ6FHF+Ig&(z zPO?5y*Awd@D#rmhfM8!^;Cv#qkM^?@fa8slxyH$?#eCK|uS0C+y@~?dhMOb=AY9(W z=8bLqMrV&`$Jr7(rNT3V0Uqgg(b(Ao+FjsWn`*(EA+X#624kRo4uAK73;5@EcJTF4 ziFTTxFbda31<<(ztlR`HtkZoG_O=ZMq*PqIh|Mp33BSL)hf9qH3Y+59@fgqU_i=S+ z4>+F#QR0=FiDyw&1@1){2y7^rcTlNK**F0MA}myTgikSmWmVP|0!#7% z8R{t;Tm`QQhUx9G7)ym`@stdJ7+a;{N?3_5fssaGG@cm_&`wfZSzMy)J`9G^=a_R49h6A*9 zffh3mw#p#^38h6AM@UUjHaBhHkxQ5HOPdb@-2;5A)4^|b_s}^oc%-?Ew=XVYv(cc? zkGMo(d_v5wQpk-(i~pa2@{)A;IkwA^|4$9xOjDq_hzQDMC7(D6N!X*zC36q2t z5iu&d&;Tq_gGy+M04@OK<|sIqO%+HnL5>wVSIPvZJg%uR1i0{d?ssK<7*HjAK(5Zu zD(`lwk?ImHHO6*PBDWe{4oS)kl@e|V3nJWOLpFeA7KwasWnDKOG!Ma%Qj>=|iit@j z?}D+EaCm72SX%b^1kzpQsoMU zK@|mHAJ{lU`iD^ZSC)arCE%e;#4Kqn1FFf-sQf+L^UMA@Z@sVYOZVbIzMJz!B!}7E z0xi=#^oM;HN(lHIGgnnTq-JilxBGnlgxtmWRgA`CKL5mh-{|=>=X}?nM`hX^^Y(M4 z1|ZfA^!w$Pv+*(5Pt)XxCVah}E_aRmaLn;@?Vkfirg3m^*ogZ3a@_eF+)wMt`|}=o z0&twj{S{XoASQ3c*|T{6>MH*2VwXH)MTt~J=oG}_czf@FE2?mrHv>8^<%%lj&*Q_} z+xX>g-bA<5$PbsDrr*sIDTAt%4;ctq973;?@5AR3#a~K>iMX<@Q#O)%xXE3&J78~2^Y~Wo z$-iqGRm5)Zr=aAZ<1ra4*`hDuIvUe4l0a2LktCc%oe~i8>11fG@IyZy3S_WKr4=sK~(?&`P+wXP}^Eb;#eHrQsYvsQcGbC zQbd5JKG-gd1ANj*A+-uwMEF&%={mX5xK$*23SqumK4N>JEqK>aqe{xOACg&%4Z!!KHRzTGxr)#=25l7~bGb4?a8<5bTkDPCdl**A zZS^>9fLMD_Pr#~tKtN=cd1gl(Gi#%TyuSzB*alWJR}skV_fj5H64Vy8H5mXNewfyf z^AFG(_0o$#vjLZXsC|Y)V@{u;JvtrIzsH&7-3>-%}# zF!X8yVVUv$k#E4C%%YpI{>%qBj#_19mb}r%#c}0c+cyun4Lx5KD&`T9$(ilDOKMMD z=Ix&|4Mg^AxOry1<6d(qqBI3sEqvdjk7D!s4LqIa$ZUbkDr83Cx$y{RuV2T;+8P-H z%|*Zri1w{wV0jg2weW${r|}D0*U?c#3%=59V!yQL+}=gIv{b5bX_37vtc)~MJo%O@ z_~nCr{QB+N$W4hy7M8I!F7fPs4_EK(0Xw_E#yZG*Dh6}lk>E!J0GI6=2#mD*umR5; zUun+_sJP-$ozjjl3-Mw1b|DBej*Du_tg5xk&Ewknk*QsCM(n41zG?kXGgd=h1YY&_&vTy4uFuq*|=X>B>+wgPHni{X~Z7EAZ}h7yt+nUok0!VpYN~$bVOzvFmw5Z(kc{00 zF5|keNJhS~3@9ivxW*+_S+SbVk?SPv8QHx9M`3KO0iXXocJ}x1p>~_{YUBgpEpGvO zeKLYZCDo`eN&*xX_kp|#G!{6-$kMylU?XOs0Yoi2KhK#-QuxxQ1y@y(N;;AoLn{Vl zBwIfjXL&iswb6(TLxabcme4+R3fQQBbSxz;ZHeLQ#v}4&VE$Nwl>igf0pSu1{{MZX$$H#gH_|Ta%=xU9Q(bzzWOG%2{8gw;< ze`MNXBTbPP2G0%#XeR_@6iSTf7`ct`JDomKm185O=j>`SUfXFx`9)AQW(9yKR7yaI zwaB%_?+!co|27}N)w7&mVRsLJL6*kYo>HMJ1UGV{Q9%BW>RudKbOEH+5V*vB-c}J( zWszBCW>|}^G3XS9ZyrWJ&s)suC9L_ zSMHWEa@6zd^Xp#c%RNe+Wf7=rmH!`EME|M%|G4K*H0X$8d54w~*)tp%bMNo;@cQ|o zo;VH6sOyi%y}uk^)c#+UduMQjC0$PByH`Z%jU%F68PBA^`Z|7b{XBl+YcC>?D9Ktk zHbh}HhLZM4X-oyLB-sd9UdE-fXYszZHT?0x0Xn+G)4e|4v6P_|5Afb@m#QqptdNKY zJYE3S*YVCQLo11~T@?7!eh(?X5Lb71DXzYK+LyG`n%|NPB<ZvCr!5!b1uIHl$>*3v8DqfCyI?Gqlg11x}q}dV9mSDN+Oy?d%Y^G9FQz@&UF613Wv(DdfOdDmlst zF6+#UoE4N-z~`#x-Cc?tNrpQAiHH*O;B4S`!XftO$6^;Xuh z$nTHgJ~`N@#KI3g1pLacOb+Z@t^oh{?-H1y6tI4d@_l{o^YpGBbb*&%qTFLq1jG#j zY~S-P;PQjO6F&m1Zh%ztI%DKpY~;NuiQnRvLjf+9RG0xuk>Sx=#gDx0QT*iXTlnODi7YCS=?I-7 z!c)B*S30}E-agRIf%X!4Wg7`8E2mb03+woW^|Sc+-W{sIVl7sa7-!=I_~tf{Et3I| zv6r_f$*@>&<8MCn5dQV08H>~4-v znG4}_hM)3xWZyt1@q8{cb%A(`vn9I6 zU_c>m!y#9^DLmj~N=kaH4FL8k>yk>EX|C2_ziYSwNOX|jxK05Nf8-GK8+X$hzEmaEb zI6>Pg4G%l$Yefc?Pazo@u`?6+wQIl9Rm_oD{a( zB}2D&0F1}DF&d&}}@@&d5GkEGe4F$IvqQfc#`;Ai3c!NbUqJB$8Z%E1(!o3RSIbw6I&)GFe6QgIg@Mc z!&JnH0LrmK*C9ZxWn}yWuwvi@3R|T{t_QfH4cgHNSsXdWN2;O<9x5L-Zx0hGWfrR%kpfkz(!9^3>jZvvMt z1Aq4)0833gd;2;%otN?GBK1dR3hsAizAzZwYGqv3-V!)rW8OEp!xol-#Z_9Dmezp1 z17eDP;*WvrH-NZopd$Y>Ceu-+I#}#q*NZ6k_*Gpu7fH zMDmPmoX1<5P5g)M0k(?*DM~!8`}n=RJ^akx9gO89J% zH*DxPp&m~GAf|p_3w3eF%m6UzT{w#|5N;rm!DMnTx&4%dRG#lR%#vv$eRMbD9z{N9 z0>JqYro?i)Y3xQ}>IRZu2Xc}Bym z^D1B)-)AwSK3iDurC3*2fpHI5TB1+}U6KJP)jDI-51oFFjwaSe$7rVC?g}>4<-V>8iK^Zwm;4d{P%26qsY`lR?u!quuj4bl z9(J_G-&$?qzrAn)cU4taauJf?(-ps5=_M^IIdLBJ9+xwVZUoe! zy|X(zJ3Wu;>8kFktVd?v>mTQwn>Vwoy1Ki1c6Pxz5j{0k`MP=E=R4my#}|K$B4pqy zhjV+0BD$u|RGz>0_n7Sg;FmTpbKxRR9HG%_#shSFdxOw!2-lvkX_3 zmw;dTKY*Y7$#Qub4T{0BvP#UWH{Srh@)h9r9qNyPCbvC_36hSeZ1?T~Z@mTFZUVpX zkAZ*tlSNFBNAgG>$s>6$$}EP_16HL@2H<$)rt(N82?w=9K&~eL-sQ{q(%v|#5y9w1nTU2L8{CR_j`r4u@9I~<@1EC0aaF1<^MAS zvmSsvR0tffiY#V;2gG>i!asjPx#x9dIZj(!OQ}5Xa%BDCkd*0Gs|eaxm5{Rxbh>oj zNt93ASA38IDEDKae7zqR!O09drL_eJ6$C|k(h~d0>mODZ4BadPhRl4Z1)SD#%)x_0 zw#W~G?KY6I8%$@H#_zea1O)UG;QTqV3M*EW&z=MR=>G#oBfP&>$8$@IG`Fm@IGzWy zDkMek7;N3oDe&=`HDZShhkSfYU~I2PWlb|qAIl69334d0H8Ky}5LXoeW}LN~>ZcV1 zxYB3>tz`m-m1P&3K0R-*iyNa6u8sEy7w5BF!oLN;^xDO3=uF;uWOEq9vAph!P(F7HDZjDNkK|1v;mt6$QSO z?k1l>0CaZ&9RW{1g%`GNLm7)tJ#!hjas^m!lCl_R&R8_2`9B{K$f1V}ehL`XqxP_t zp5ZM1S-~L4$Miih$8?Iu7m-uG(z;pL$tG$;%EszKE@Ko3h(* zy=(*o!)(DKg2H+&z?C=xw(kR1uL3{$6I9e*k5kg-z$ZQdeD!O)}HcSx+kafcJ{*OTW$_-{EgS zAID~HJd%eiY2|Z*?s1^VKK)zOt>v(CFw^D{gX57r81b#D)S? z4aD*?nwKu&#n)cPjWKP$w$c>0(-ijxL!3$aWPyv%(B@-2#kww=K4aNu*ms?OyuIaTRnDp2CwS*jacDTDWaVFmymlfzTkttm2k7_aQ2%sdQ`!&>UU zjRwV<(Yi?6S+5syIDC;!1d1TKWS!+5n=dLf0y_nJ~$S@rD+9d42o4& zm=&V@gV_*r<1s6s{R9{!bbes~ zV=O7hSxR-DQ+$n591g=YdZiGBA=WspDWZ@pybB9dPutrxKkamJV>rMUMnlAkEc=p` z>Pn;G(x(DIY_wxe2s0wmqEu4Q(e5GGK~C{T!3bCjLaapuz_mH{NH@=sSc{060RX#8 zFz`W4j)Iv`#QC6rlm4?x;#=*b2xvBOrO}|YqvFmq8kJ+CSXF>iGPXoPPB}fV-{<{# zJkLns6i{xGgb~na;JLVoZeDjTDb$C@GwXC(9Y?I_Q`Q&BI+A;_Qv|>$x7$XoiS;l< z6lk>b9GjyNk~}Z5L=s~NJh7C0MUJNqNMII?Ez<4+>^kFBPoy+1*F&^3ik+2Oi!?8? zq>$?l0bgmJBduAw2Pnpiv~R4))g{u}1GIQv)l-0V8HbaO`6A3HaaHT=(7GN5#E|&m ze*^f)zY2WdFH$TFrGQ!uYf*&F(P$sTNU|73&Q*ujkpF4x4nFDkrA7m&Hvo)jUVr5k z;G5qBc01IcLXNdjuNQ1KnN#wd=DcQ1u5&R5R=$26_>QNrFGiD#wRD1ejpN30I50@~ z0~Wu`?=?k#Vo=8;)}fiQ2R)KJ#P)l)$$NS4{w*uB`sKm>_v8SMM=Xvx1z>4~Xr99%5NVe(_TuHI@v*nJ z@pE@>V#~%@O9QNjb-di~;|FhV0q4#E^%nW;>yWH|gI!?t6h3|K9RB9!Cbq^sv~+;= zD8et^-^Qo!ZqxHtS4iQJtOq4}KZ7;8vN4&o36t~RZ8B;6%Vx29OcYQHw(w1O9|KlE zUmwXn24`lf7P`RD7-Gc%-s;}oiqh6=Y>&{LQBW5_H z&1_Yqi~@v|=7mXhC~-V&v2hkDU8=l#lMOQV_t`2~SH15+)0EHD0E)N*F0d-ck+6p1 zYv_pBS~>utlt8J$m_Cysu$ur80~a59ma+`oxl7Cz9h1_s(;-E|0C@E^N&`C@xvV5O z)dKPy$^Coy)twGPV`(m0Ugi|Ai&v!d$XF0mc0zrT^c1PK$ z)%mXh09a?M|BZBvt#OLfWb6*0OMyUBLt}h@I#^ZtXBMwzmoR84iKa z0=0}S;|z$(p9Tjk1-B&yZ!HINXGJ471e)cR`kw*2RH%YI0C3Ed9Ic>+RsiZRqLfPt z=o#}r0U8CsE3P|$#L+N74n$UCYmmBjXoUeH9#bujF>|HSzV81<^kGShW2<&<2pC!q8JCy);K7u z4iE)Jz)=FX6uGHXjUm<8O90P{44#IH)&bvoshF{n8H(Z6A27Jw1nLUN7lHd3{)?+$ z!ApPg24WTC*^3u}@BDUPIYyk<>-!bdKF-hip z{&Ab(UA0v{!dN;n=8){K3$Xd{*8$&>dSgju)ycvA_7Q{Qk(`|Pi-A^T4U_bcnpqr| zF5#t{H_^^=B!(Og)}siiHE3rU zZj8rdJhE@oi7#fX*9@m9vbM_e{_M}lRV7Kdd|qY~VOxlM ziTLz4nm~i&b?ohMu+Y?t|50fZ`Kz>bqyr?Q6mg?bxFspYSy?Duwq(IbatcCs-n}L=yp*E85QGFI42Hmki+KL+TX0!+>OsMfs?`8+J827;fUdWe+DB_* z?D#So7h|GoDW4?$zH7%x^>i4aK%D!3r|c}0Wh`NaTFh%ztOAaM5ikG|Vl50Pj)qnx z=0(D6w!{)ZlN!qU5^06RFyLV=xff}T)EJ(}_fN(J(}Tc~wJ<Sf+Vz8BE4%849%8^C-sl@P^G{*}7VnA&jX?7p$Q6IRw2aHCDg8*OX_wnfud>io8 zQ^gziE%TWGmYNTvu`#G5g2W)+_}-NHY*dz*ZAEs*9pA{FB0on1V? z+yd_22Ohu3_e%*Suh)U$5a02EXYlbmH}P^WL1J@s^BQiXBXo9lv2ynw1@=-kst*-V zHkK#=HZI|(u5aSsee(`t9pG}ki6l3;w%5m%y*^+=08v?~v$l9emnB3NRY6^KS-Dog z16QC+O<*QJM}jO)W0g3okN_V+;Jzrq@=o$6*I4>4R!aF@m2OnjkDMb}CoF$Tust_k z`F?uJhM)?H$ObG>9*c%4&N*AQB-*^Zzbm3GtYxk~Q1n%4H-D2S&o})3`+}RQ;y&QI z^p81L8pByY>cu!pGcQ(y?=B+uRlrh>0Scp8e8;J#|n^7MPOYm zL>xA_|5*l_0F1}z4hCqa8M+qe<~cS~vbbN?b!&Wk9=) z=Mmuf#sYrk?p;_=yo1D$drB(Ir%KS*#2U0bml0o5tC8f?-m&KNskyToyMUNcRcp|A8heXO>cCl=fW=#A+;KB^dzqh|a0k zI9)Ku-Viok+$1H_f3G~Jw#jqKh+!1FsaRS&d>~N9^WqZF?I5<;pBctqC;9)9ZnZ0Q z?5z)!?S!D9c1CGmC5UHgtaGW1v~sRIYf*%j)`-K9VxCyV3=k@3R|9Qj5rMMc$nPyE zBA;+MB5Sc8XbOVL44=pgdL%(h6GO`VTBy+C0HTR8SkuJP*{H?X8jrD=8KlY}((HC* zi80d6GQ>JyAceB*M3#e?O22pWp8N(XM`_OGHAhm*D$ZWw_Z_2vTmi!zNE6;O++nwn z3yxOEq}zf1F7w^#J*)KI4o7sM!}cOQ*_KBuY94QE?v0-LV`KlHu8 z``=#}eZVoz+yq?1iO5j_j(y8W<@%#;tE=}r%=INe|A^0X_n7kDZv8%>ApSl`siH~z zy`RC9ePGoBf6V>+vDKHVA@7)a;BlYt_G!nweqNcRHy$OPg=?LIQy`M5iZy3__ggFJk@BRooCn@kMV_G4?o!623GHq5B?}2t8o~(7#=^e zejb1S)($%Co82`zuJ#jLk!&iftH1&W8g%mymtXvm{RMAYR)~|bsyrz17hDG@sN%1B zj(^OtGUQwVE<9J0kS+4QMO15)0+@hr6hnQV&XcZp?S^ZjL(^Zol&L7x&Z z_kctxviwJE*A|O^nt54&Jdv_QA#Hw#!=gT?$uvN%$}p;)SN(nv*fFV${v%y{4e!|@ zE1pqA8~ic*sGnLTSCL$<;r`TaGfTqKralaT7hWLi=+FKv@NHLsjSULG`P;u;1n}G2 z1Nyz`l1VXNrbtwY!Qir?XyugQmexpEVUsuvavhbQ0&FH4h)t1pv|JY`<`)0=AYhPO z=HSY4#ehU(v0%UW>rFZ;&bO9RkTRelK$Ohw{`_`SU|Q*e$L0hnVx&-ev@`mYI2M4$ z1_z{!g8&hN0zfhbNuD7x8XFO12Z;_Et0>y8E7@uS?fzdJ_ZV>=lP9$Xu~ujW1aK}!6XLcVP(>sX4xgoC{C-)u6`;2 zS}j~r1iE}~cNfo%Mxbb;;5rGAObAVr8spZY6DZo7^!gN+=XZVw zxc&xRsDlE)2d`CPcmNng9S}1~QceS$7Mg)~$1Ib1Qr6Q7fc-F}G~ZRmb#*GNexKFU zN4@^I>-S-p8Pm=aD&G|IBxl?`|f-flC+g={vXai|xBejYT^r-{@<@Azt3z!Sl;2 zz}{J)wORlRwHncoTZ{Myk6pyiZr#C+@fhntgxgt)FZO%*tL-*gYo~!;0<0{Nf@FtG zgV(_NIeg;O7JlyDJ)|~AYJt!1_3>1_gYUWD1-_w-( zj%2y9a=vBv50Gin_mvO4cFO582T+|PpfL#upR_p=8ojtZh?2YzmhS^FaHfg5Fi3## z48OC1pK6ir?TyLmbDb55f1jiS9aIg5t=~>&+`vxwzqow3-xRS~>J4_&2^oYGH;o7g z>wu~Oc@Ovt-v#`&kB}ez!V>V*W#HmP;LSIIU;SnBeXrLT-~uF{e8hjTRfw%2CCwVL zs2fYlZ@-UplwvCxpgS64U1?mo@g`+WSy>?lN}d;4RshbHG6Kc}N+l}UHo&QB**#!l zoy-#Hzj=;!mKRJ502?)OtxJqyOL0^HNaHb&53fo33DE1Io9Cq_t}4Q*p9Moe6{VOp zppj_fz=~E7U@Z!<9!5x5A(xb(KoO`?eg}Zah+>_g3krbR(g9)}przS`(aZkg<_--S z!x7I9VMKF+B{o6Yb2nU9k4(u?p(%FKv|`+t`(9XM>nH#w3I?@fh5b( zw&d0%Oo^7uPUh9M0MAt=QJDO~kkVj)RJ-?r5zv~y%iI%!GON@yp4SGS-F$=M=S19| zHbta4W)9tm>xt9DTFUr>JfrM6Sx)Opn$lRidk^^KUjf$6GKiJ|oj$PID$1`x>md{~ zt+oji5fIzCp;%`4S-P*~_Z|&_C<9ao3`gWDmwO=ILzN=}93ranc~aLOT4pdf-17yv zkZ~lclcvHsHky>D3cO7LNRUlGei)f|kLiMi9}y^X_?j($Kdj8%ZY;-T@XP$CCj537 zDea&2(ch!Azn-HK9=eM0fEgUKV$;lUF?$4XJdy_^PSNx>jaf#@%+eyTegQvt^Ctdj zcSsvNZPCssD+;kV+DyG}P$$koAV(Yn?|UD9?p_Cf`}*qu$okbzGkl@f!$${0ik80e z0ovS#0nyz9VsU)>{5kwaw@bnAtj1QB;^id4_jGoMPQO&+Af<}v%l;x&WpTJoSCwu! zr9R$`tPW?nL>YJxaamHlO?(g(F%=vu!xqQnJgv+3^#7*CaFF|k9%Dg*aEY=kV28D3 z07af_D~icJ)`ky0`JmMCt8uExvm#bX#e$xDaX9>E2Of|p3=YX2qtyN`cF+PRAdpDz zZNyyt&wK&z{}WtzW?8z1!@?SAEsbHVfxRBFD7JU$J>!LfrPXNAV~0a>Cka3x)-%sg zP``ekf(btHBrq6}k^#_lg9HajB6Ztn01J!w&{~cUwN`K==~FD9ECX)eCd=uiOI|;- zaKS%^L$bO`TG-r_U6Oq9W5(>O+6oQdS`Ii!_Yelhb8(E;0tKXPOMmG1sjT9@*Qirw z7&*SXi~nVN8y#bi8sn7Z{h3PkcOc4`qS=K|Ayt;#5+wDf@&bv1+$j=coO?y2=o$e^ zy17AQMX@eGkbNTag4P6R)awQFOJZ(R-=W6m1>o^Agv+AhgYv>~5!RO|$-d}-c0@VP zH!elEE)-<}LNFnQNp*f#UJz9-a#Xp_1!FZu#*xx7BZ{`Kc+>L}ewQ_C$i>8ao@6$O zDilNCttQqI7o%X52y;U+oJpGBR!~elsi8I}MwCKiC^iQWxOBHr28kC#Ncvx_%5ga4 zy&~D@&srZ{uu;vpmBoH{7I3?30vdvl#_3`mScrijz{j?`6vQ_wqL)mI!6EGsDUFx= z2~LL*^|fRGTzduh-QNW^Ujy#m1y)WIyUbbwASCvS+dFU{9E}JVNqR+}l)j}H^Z}=b zmO9A|1=V$ot-K7{ztiF~5RMB_OuhG<*SqUxTsYHcS8?TVze~I&{_Zo(4%-%!3l8?C7NUTM_-^ar4E&&d!F&xW4YiCvcH`mYN zZ@<3jHgfGO!&a8krhhmD_I7EbA=jlDu)K`${5f>L{xw7@!qudY=b9~iH5p*M(?M%(BMeIl@UcYtpz+FAQOe5aPJ72gZVWTFil!MU zqn3kv-oFpL{Wfs(4yAHzouZ(BAN(LOx8A*bXWJ z>Jd_#;=!@bS{#2N$?3Wz&5`IF zEoih1u%QAZDnwU-VqbXADGN2sI(NXt7J+EVorKPcl_lne(vF3Z<~d>*3OZ{EoY)A< zK~Mn#FZ@*Si6w9%=J+7gAH6!Ot{?K7jM;;%wZiBq&0hux4G`wU3eyHqV<7G0*@gmo zJHYv~G?s0OHEj^r16)l8=;kRiH!Kp9BUTohLxU*PHkNJ0V1#E=BFb*y9$gQ z_ce~_8t6oV{VMPOM|y5$|9sS2oK*jv7hst;hUHOMFB7kyb^H;)@krhaA{|v0@r4Ea z*riMOgWel>g*QT7W6;eqT|>zif2XAIA<%X6xir6pkJK9zYqCYC^JmCr-D zzexSC(ugoDGD4JM5gemzlPu4Zj?Dr;Cf%zzfj(*xSxQX~s5()r0ouHGIs|fbyTJVp z0S9rD;!6mNYI~d7b149xdk(nzW#Bu$12}&Q_=z6}{)R&B*XPO*Q7@)-#^dv8rGxhp=TJ8IRa+Y~HPBC<5 z&N2W1AOJ~3K~y)Cv%aUvN%0SMWR&Ma6s}l>J(boW!roxURs@Yyc?=Yewgl&2G~kde5!St z+^;$v;5U8)=yhpMh-&m_KM?^31E6C?(|g! z?Wl_Uyb9il0UQU93n$f}qyBr#I_ca!D)Y!ebu;f?@VE*-02hE6z_DFas`c@X%e)kh zha@M~f9I5WpZ}n7)j6{uJpwqs)#aoW>Z4e>r-`-1u6Xh(eC+l%w$dRsM!du^ z1L6m#7HBR3tH5V2T*Q}puOUzh-BF6uVI80E?clk4HK22b6pBdF30i(%%j{sbG-jUi ze3bV-NNIe~;c+OMb9@D&XGU09s_|t6*wLTZ!{-Op40mGq-L^q_6AQB ztU!~JYMJhy=D=|5y{9SKBnYYArS1j;VAe8zmg4J_l}NEZ7L`GP==Ceh)TG@my?4D%$M!}PbE3iX z*1`flv$lp`+u1>1aS%&uk));sFr?f)y3B+Fz-dQwq`Y5`5ugH zU2qUkE__-Yr&c?rhQ!GL6veJl3Ts*;(i$5pHHDc5x#e;{BmTn3LjnIkb2-FnFoaz}ngpjmIljsQ>KsftxpI z-4k|RmU;b1)-3t%jctxu;`*Ot{}RwM;C@=GQ6S-TOzVZLYq_^pIB*Wf6Di+Oub1m` zJNdYp@>#up)>g98oJYQXrW}#MA(C5W^9sAzFW`)8Pg3U1f?0_)7``G?CzqQlO^$$!2p+c zcd@b4AsX}AQlTh{pX-Hn{O5ap{MUEy0?4qPXIMxzKHuBJi#r`swqOcnLEcX`Q$VpW z9D9PDV`8Xg8<=$OY0Xik|N57^m>J%JoujBfVQ45t8xNt?h8!qT&Y_zXfQSP&*pjA$ zGMzYzND+)8+9Zxf6r*9pDe)ONy05$j0V`d5^jn%vKHrxpBCB*draF8Oo24qX_Mr2sogxv})}FXo3KWr6sygpZwLkh5(LzOaXuc z1@b&lua}h$`M$KsK}Zu$JDL&mMpz=Ah2Dvb38A~%oUO)V;&;}KE{iSh`XfXwzPHb4lYiHwUoIM1ZeTN7B_~}SZw7frT)|bQfsjudG*a~EQ#;XnzoUW_Z6mBt;S%gXQj^!wL=in zH~_fcgw+0N2JCdG-;5IKPfBrC3c~@5Rr#6KAkv53=&|+Px%>EQpu4{)<{FXVSR|k< zGm%z^tnxq(0fZE>Gn4{U0TiXWV9ikdm#O5G$;2RG>v0@%+splhX|qoe(ul1=l3EA0 zw3tv3>i`=8yPRkWEZYh_@JiGF*L4IpQMxt5+xSbWcByk;gl)CYMa2g@JkU>uTPfp> zzaD#Qmfs$7eXYiBl{`+?FOZv898*x=G(|Vh@IxyrI1>hFon51>YC0&48i6K;m)2D9 zJGW_^3+Nw31!(P-AyXU&Xr1z7FKGoJD1+*f(mV`lT@+AMf|-{XNSIHKd;Kh6|IpV@ zDTkW!d-eKRdikvK9TgyOEI~`ko%Gik45*SBZ`qC#I@lN-yDsw(b)wCW5BZ8f?>+?sTJVNX?*D39sJ?-R}rcRuMGNVX@$+v z059(Ki7tQU8QKsH2CM`Fr1;7UXevV_3cqja^Iq8Bpvh;IPJ5tKHs%MOs>=W0_uXqN z=j$uyDQZgvTI>SFo4Y1$v_{M*kOh8W+0o&NI;()7#!4N<0U#wl2bzt7QeI=_Lj{$x z@n=l|@e*+AOmRHRXfrw-QaV1B19ntwGy|{h4gaRN?lMK2n8VC-{$k@c*WPcF?lIMZ zW{MA~_eO&(^SgVb2oFZ2n4MnZXZUT#o7v_9aDRvD-ze&nr83X5z#L)&=la#8I`V!~ zs`x$$*z^?@p~xFWe>q<|=9IT)3@ovGi0V*(>5qW>ZQ#{w#NIf6j{4$_H-W|i#psa7 zE%Rr+#_=$kKu+-iw(=Y|#v{a98C>u_BxfIiAM2h=JmQS9+FMV~Y((BZ6~JGKOQ#SO#-U;pzeutR^2csxj~b z3oI?L-e`&WHVhd2Q*4#aIO_tt(2Nb;+gkjs)m7XW4)JoY5114!1|!;>Sw>t-Vofe6 zEm3U4kTP@d`>g4JGNKrY4FNEdKvKeLi^SKxwHK&TX-+E(PoZaq24uX3Ko9{sFXTj+Mbcr$0W$+7Fbi;nLmxKVO9T zA*>5yk?idvURgnr2}b4~OG7U+hyu-^hz1;!gDm$F^p-N16y=CiP;y;~Rmh+nGcUyL zNE>2*Flf>;lx3!?6e6v0IimG1QDz^j2>?*nrT8B%_J+siiIhSMnvZG6_5g~HVr`T0 zzyPvjypeI?+y?!9gDT%cDLBSW>0T__X9`wWZ9eM*pn$P8UVnlRP-9>z23iZ`;x+CA zfkl#$>(|q#TVxnnTBd6(k5O5#`nzFBpZ&@_s>pGa1VsL&)z_rcxi)tAl{q zVvCE!bQ@(HuZcm?zymm3wH(s|f86b-TPtTgciR0AtJqBo4KZ)|-F*&OZ~FjkW+UYs z%(xnZV;=+Lgt`2sz2H1L$T3}1DwiLd0VHzVc07se6pnr$f8SR%6dp$A1vXqc#4YN$ z*H`B8<6i%uWTuPCBL>HxZxO5DyG=9)j$2&7r_Z0m7kdddMrY|c6Na6HU$y$V?$_77T?pS z@zGWb|3kZjD~$$HYw^lpK*7K6-zSUhnKS#XLDLZPX}_10K0G);>##D(+9(Tj5P$-) zsluA3K)*K`un0r?9!7;_tX3l*_%P!C2ZbWO7%|{c^X{n%U`(WHee?a6gMc=j05BSJ z1o{qrj#z;SxZI91n-^^&illG-boDS{GjbT&mqxBS(Rv$siRd3NgGD0gPji!Tt`C;3 z7uJBU1iSY*deQekucCBJJy`-EZ9Pxf|c+|^@BpV-+UfTPi* z@qcp*xU~huHQ@VR1je9%2AgjX0Jd`Wb zl(H}?&X1y^jwLfg5EPkloQp(QEc$5*=l~my1~wWEq*;!3o}ry)XtTw?>sgW`UAT|9 zbg=?RcugCXzzgNxI}QqkoLE!FxnxLiQ1qVya-gPRHgljvc?|Z?Z@lH{Se|CC8SQ4mw7!f#qY)f61&O=IF4e;pI5P( z2KXQK`NzG*yyZXYjjHb|?GZ2-=MVd7bID1{w0Iv!7U@^V1UOFWwT^qA<1!cy%RoKK zy^eM5oXfFP#%@ssSOgph6@_v6=Mod-u2Tk;O$|eH}P` zmVyiBBTTfAL=j3G4WBOSzq4O&)!&XIrRygQ@X`iU&ei4mSBjYz;8+^0Xee8_lmtP6 zP&b==8&=YTkb}RnRk_t7rbeR)_*(aIEiF}GNUUE$1jG?N3jjK|36#n-Mav%zK%3hD zwCQ7|BI80>stRWrQgUNe6m}v|g>qHPDbqG;?s#Pb(OjScj8am>vb5MNg<(0f3cw07 z2U!htk*?A`XGR4dDYtv&yPj};wQd5t|CoPD$bBf|Y&k(tWX@?efLh4ykpbfoS@3te zME}094lFe2yi=!0k^QaT1n%7dR@Z<#cYv4wfMRMWjkp%#f4_GR8?_pqUx?ApawK_* zwJ=0Whxo7V+`;#?8u;MOHt@{Tzzcr`_{hIP<@=Gp0sOze3tWGlK)%)j0Vtvb_jVa5Ai#PMQRWY3BczI4ClUph`cwXZLg6jM0I+B&3LF_Jn)^~iNy(UX z<5C984g9s1&-2&6c#-~eMD49KXR{h|n~s5Wgxz$2BpcIQqX1%VsN#Mu+k~tuLD5en zlgUAgoX2*e`*;jLzaHdI_E$@b9Mo9$8LD!P$KZPy%Fao-s5~q=40B=9J4(OK?0ofp z-1_r@uz8+;+!!417CG*_D{mf}tNtpVhn17+|MMD5=Z?WKXTO<=U(7n;5rgB;x4awK z8~)~&fr?L^IfGwlx6#dVv_jh8wX+Ow_Ih|+SR9Q8(Dc%&)$737v-r2x*6`(iAHU!0 zVJl71&N5sZ4soT^AxrJ*Dl1p4oP+_ew1^)#bsFpSw~*w<`9NRoCwTGxeJDv&+iJlv z12oFWZrIN82w2ao%qSN2({+&?7Jw~tZ|zyFJCN0xII0bTU1I3{bQC}el<0&lzty#F%I5eosiAuKn5 zKl?L^ZPD!z(<4iP#bsc58K3xpAE3V3Iz?sO>r!lvx8K6EfBF@C@z!{2;%Lf}q?ErND!x$nxTEg#FaSjXGcqE9#^eC)(`aFYxnx_lDFOm;SYsk;Oa5 zXAH!F#+vqmPx@sBn8CpTXTy-#TBpy^Z+GreR;y+cc9vaRt#qvBPmnp@j>qD=uyxi>0W4Rlderj&DN$FMuG!F;)1_=4F7375A9aj&~~n zW;KB5)PSPGn9+*kc<}KF!3umZ$;DfNEdfo!?hv;a$%f+YC*P}M-Nk6C02NMrz`+AP zrh)$!W#HfS8wO4sZXygNS+C@NQ#QczoO-?Z?ZP@R+M<2La7gPJkI}ZIDhC*^nnlHrMKV4Z*~TVOtCrpY^Q^t+TI3Ew`fz+h`r5* z0h%>D{lo^Y+}XnK?PloaIoer<&Cv+my*;#U-=fS2r&pMT~?#LwKm zjV*R#_?_KdT!sMT!yA zXi&_LdL8)Fe+j()IzD{q67arffWP+P^1F$pI0vPp{n{%ZwXF1|*$S18ejtzc>x(+9a?%u3cwDFzG)3T)AxThL0Ktt8R12ekr|5WCrx)bBCF8!%R*(HJ%;7GD9i3@_nB9Xc>hT12Nd7f!dJMZoS zZ@dAF1M2(le?M^jIsqq7JVAY6Z_fpm#liwH$M9V1NRuI6?k9+&0M9KgdGo$T3?SCI0~~;g%Z?{SrkV2Z zlD4;WF2}lvl`c}dR@WWN%ncB@5%Y}`=jtLNZJ2Sp3h*I;TDgxo1-nvk?Qb|ekVq5> ze+>dAfExl_R9H8{*zjFhss-@-zXn{2;oQ)83qs(O1P;{%kcDJq>1G+lo6(Z8h;OZA zuVMk@G=E1m>U(hw*xn@;NEA{3^ULLrMTtXl9D|doq@5ntlZtqnF$DG$q+gBdvK1Y$0 z>i2UqDCPu6<}UxN<1QE1&*Oi-cMt76N30aud4^ZSulxQsDV0l0#XC&&w}tnAQ(kc7d>?3X zb>SUk$(oX@sA zPqN-DF4DX2?sCQeU8E#77HGGDW=u5mEF(=i84%?>;?%>Erc>flhytTEDIVi7DJD7~ zW#sJH>E+fST6k-PfTx8;u6qs^x|bBnikv?w$f0i;5*Id80X>ugY*4&wmCa)3uDiCD4@0yVWXO;+B_bzP@#r-s$|4oGy12c&@wVo>Tbfh%aLSQRPv6du2t;PXb1Efk3m?UczkAroNIn%W{ z+7kjO#<~ExQfo?qMuo+ZnqnM9nt%eD7oo)Un@YR6df|J*5O7s}|0;X2 zDy|=R%njeDQ3YU>F5hP&^I?A*?9(j#IY$6AQSOYPJ`!l^H^ZU(y=x5K-)NLGp7{6k zpREJuJr8LKk4%kkMAwgXJEGx>h)*YD#+`d78C1D-DOBB?jf-BY2AJ*1XAL7B* zdW<+t{$Daq&4fYh%Rzg)lQ5(x1;<+TMOXT9)lE;9EXPcF7w+i}BgbW^Pg3 z;B$K&{GHAYuzLzvSs#wh;6jJO?|gkJK6G7-*cZ5 zGoc=w;%>@^tL-oM4nt5-$DF|kQlK#&0dbQopHW2VPa)PZzR7L^oLvW^24z{KgJ^+03-zj%T|Njb{$%j+1j#4UPniAO1 zYy!Qk0LENe%LBk6nI{78f%2OQy!!IWAPalSK#;hX95mO+ImS?V6zG{bTY5D-CPfZs zzEa*jSYkyfN3Zn;6u?p|v;yr|0x?+Wbkvv1ydvo}15a_amf0K;F>fMvN0ES{=hrFT z##g=y^vA$=eHU=)DeC{mVmKP1J5GUd3PhUb<01E;CNlcCe7B|u{o*fLhKZaP3BHYM{MR+-^mFp!4u?`?+%UNP` zL{N??6KTHgR^|A5}Sz>U=9~gLYoUhWj_HI+zAQmxKq#b#SDE-NT`&Y$P zq6%oZxs1#w3b`t|3FR>gWFQ>*kxJLR(6lwA~^%Y?@$ zkavF=a@=+D#4Ok|6x^8%#{-Tz_fRks$O4+(nj(dLY{sL?NdO#EFRK{ZN`S3*;c=Na zCnbjgm=2P8ff<+e>bTFJ@A32Z|05W%j{E!rpE0kC%nX?ca2$O65y0_C9*&42w-D1N zB#eMdm+WN1etx3?tgYdbYisyYFF`lY@&0;%)L3lx`?%ciQHsuHObn32 z%A{0y?-roR7vI_?)^3*`mVu8Ce1Pg%fDIqq7!J#sAgV43{@n9Ux#nn1@fS8S;MG@2 z;Q@;G6rX!-%M6YxuyB%6nxwhk<{Zx?O^H=77;p@MN@Fn1IivFNldjfTmRbLt zS=OoQaet$p=LFc~0gdP7W%_+6R9e2a(V%Qb$q0DtF<`GvN`K9Z-yjSQW4RA|F)@OW z?r$>S@@1gC#n#pu(7@yc-h$Xl=^CY|HaWY+7*b*f0|IP(*A!+cCdmK*AOJ~3K~(Em z_yFvqj+WRQKA`5i?7?HTfu7fBP#;KBVz7)xRCj)w*@L8NefC}K#BD|X&+U_1gDxn> zM65M20ytf0tTm-QEyY^Ug`zeoo`TzGn_`}kY$weo1#oRPflC*G_71YG+Xxq0G;V^#PhCv+73>z*+Ouv~tc; z+@?)j?z(B4Dp}~KLHmc4S;42K9iD}Zy5e{n^hup@RtFsp3tIJ4m+_e!Z{t6^brW4P z29TqjYup$Q@r7OwFLpY>@GQ}f!;lsiH6rD2c?p-#pT$eJ?&D{AcM;Wrt>Fk)_xgBz zr$azRs|Bny;UeS%!0IZ#_re7{e)Dboey@wDxr_)3pWEr+Q}F_D<~&*X&YS_Vy~!2l zZ@T>N2g$V91-|%o>RZEnB}o(uWr{XY-ut;ggPz4ftHL5ROjy}ipnF9e=r4*Wra{P? zz6#?J!1Oei^7w~>>2Pe2r8VFQ1>AUp`bk3r$*@@X#d46#|CMLyW+g~fl)+M)gEt9P z^SgZYHnIX{WI5gQ^a{{kq}T#0tDFI1nUq#k=%yJf*nut-!P0Z)TL4Njsoz>v?rZ*e zV%Y*v3cxEqXjlWl*0(SuEC1RV;OS?8*EfM*_(kB~|GU$xNdXw=KyL^%7ARf{#>6}b zYh=|{Y{?7d9r@i*se^;+*c$FWnn9RKAW_N4p%tZB4mopCno+%_88FzRemEXe{}LAq zUs3d*oqJhZBsPTvJhesklr?cttA~X=i0)pCX5PTqh6;kGz&wlM15nwJ}p!?muNA22LpgAiC#czp10%=`}T}{?jn{phO z5!GAH@lzJ!!o^_BAX1)l8%rBmQfM0uU_j@#0)9V3E-IU8j`!$QwK-2u2 z(hN8P#0WDCc%>B6M{CYrH72Iey?d|#);2cye$r<>*BqsoeWZzTm-IORxd!(7)ZZF4 z;PfiRg&FpW^t6&`O>6E4Kq;G&wY=X_#hR}S&4(Ffc|kUw+T%C_ zG+zPua{`Fu@6p^Gr)ex03#5`6=m42zByiu4$wWAe{^Ziqv*eX>%}ft}5b!$%&_Arq z+kCUS->kj3#MXJQ%5e>cuFdV_Ix2yw2es`(uDkr;_kYCTcqH@7QPag9B+@W!dp08X!Ay;cK2maes^j&BTyNOpG- zcXoiz3b49ReqN&ioIQ)5I(rts-`mCOqY|+vz!0FRKcZV`^h4fDBux8x3GMn7=H?kt%REk)2^sibYX9Hc6DCcB$8iCDrYgt+LjZEv;hpuh+@- zq_Q`~*V{Oo$2L6`#~|d7%j0nPv2T<1s7o6;^^{YcNn6hUC^G zAe^->sH9Ww#HD3wit7qZJF5h2rzzIMkm6*B%bcqd3TPPx0oIKIICGfKME>^*}Pbn{kR%|;<>CEBous} z+>eh1Ui{T5@tz^4|0g||ETgo%;gs#L130+cxw1`Kw{$sU)l3a) zN`I~1``ApFDGKH+_m@&XJT5p<0T_>ck2z)5SbEUUf0#0>`lqt*yg7AJANBj^LF^)# zRdtQGDk z8<0s0-K=`B#itt+-hK8_fMtAu6hak{UwmsBxObP?3Uy!vvZ(h5!0sL~scH?N-lTw| zyCa}|zW@T1E&!lL0|*sepJr6&Ngp_O4p>+MuDuHU{C^Mp*pC61R*Lcfz`z3i9w{tw zOu$C7$*v43-8*I_TQ+!k4&<8I5MG=Nq1gM?w6FR!#lJBIuo=11NHAGvv^K@3C|fmV zDwvd-EvzxPqk(Zm-~dpbQ*uM^;O?&|wvZh2EtplH$!||#M#yN0 z*HvIwdHv3@sK9HFcb+j64E?c7G+wim0Z5;X<<;-Bm{{+2ISjxt)o@l>PmU|XR2D!( z+GUdKic$oODX)Kvi_ui3#tZyl=QFL2BlE`aIIdyzDD&1q@*W*J zPG-G(we70_YYvn%U$M;UKh^sk8=#wapMCK4j{uH$THcf3#v$c6Acp`OvJTYiz+;c$ z2j94X-|OvRbC|lcudfUS_(-?wu{df)8dICo=Hl@UeC*Y4;9u-zxH=f%`GpwQd=^Jl zg21sjK7IBq{-c}Q*c^?pQLEz{!vSS?5Ecgqk#m;N>U->46iu-ZI)LIKSzP=@*=3v1 z#Re{l*g_ou7uMhT@}0QwyDqK(tEY%EY;Dng?^F|r#n{i_AeL+qNfYX`I;?lTNKl!s zji(?T^!$Tl7N|Dqdx^>9eM;ZX^XbZQo|i49))a9v!q9t1Z;Xw{WsoRjMPxKCZ|+l8 zuqBqvm|YeI15y$e7Yo4XpZzoX{&#<(?0&VgLt}oJ6!9+rPC3izAj7cu?lMdmqDv~p zOaT=0;ejF>O;MzRV$0$o#=;N zdA2Xc0yU1UBA<i8DLP5JP`BF)9p z#z2v!rP`0(y21fk4J)q3dv^!&Xh1QzD1oGN0LTEt%C5{O0cf1oYG{QaHflAr(-hq- z$5;0D@SUet5NYM6m##5rrzxHeLwbgk&9$9Z=A7G0TdWD&!*}11b}{6FvhVsyeZxQI z{yf(U-x7Y}z2YPZDl5EPy+tZcW^SEtzT=x+>0FRMsr+y0y3{IaMa?<`K3&c6UuPdzFA%WPm0NZSUG6^Q0gH9947?8 zJ{&*)W6HNOxFK>_ki#t+{9OmdVsiR4{@W*?#KM=qjMP$Eysa$7)qaA_&JHejb|{X4 z+l*`4fYj^2`UU*-`E~r0&TH7v3utFV6TX`C@j|x?y#6|{@fd9iMA469;M_S}X*BTs z;v&8|8sVkoWn3E$@$2n2KDMwxo0#S0+3z&ZWNU1>kJzfYts=ga_n9C+{xV z2ShPlZIR;lo)>QczwiXm?Xz-}(lP6u^C0A)exNmNl50_MZqldzD*@_!B~1Ex(kG?8 z(E#y44!`gMOwIvt$Y$D=t7>u7C>!2kG*z=u9Witwx7piCZ* zJw_HKVN?LQ&*OhV?{0|a-OTRun2%E z{U--o#Y1XO!^}5f-sE|?eJpR{wf8Q5pS0M&Ig>aWk*2n6HaYEd#F?l#Fr)V3Q3RR; zw+?}O_i$^R;)TUU{HM2W;iWTY2v~mOI!vD7`EzHfpL9CJvROZ0E<>QHzO7+qMp(EE zNc~9M1LL)oWZRJPn1B!jYYS$`Skm?KJJf1etJSb>4AyHk+%OrwF-q{A!6`)b8g6X2 zk(wN_3bC7xaU;;!P#`y?Fep+XyI3g-fY$~B6jT*^0i%izQEr1tz=mrd-#w%Put@x& z()m*sm(0K^o_-b;-~GgZ+d$SE55&;kTI6C~5U@jkUcp>S+zE5gr1y7a_Y4a%mIRzs z3K;gOyxlH-v(v?Y^Y}(_el>l%Uni0>K8h$F%=H@-$7L`m&QG%fkemcKRly2*uG9}Q za!Q&~ZE)@n_b=`99r&%FXTr}=4$KCh2x%H^U zmhwyi{`~PVNeT3`mpn|hWL`k!r~pCr{D(b!-f2KUdHvnVB<5}f_?sq^7)tLXNH#4< zGq3rN7##0}{CNO2d^rk}Luoj_TYxrNaSU9zfKRNh;M1F zm*ISX0}hP2pzz&~J%*3p?%?x#dq_-%p%pQm*F@-kjrU&n8C zMz}Q|V{WRIe{7oE3|lyS}1y9tP-e_w?8s zqA1GuAOOyve{X??vm{VNJAdCZz`y*{cmDbQ7|^PIfhM>;O7`cC1qg>oT2&!VX0tdLKO`QeLz zB27+9y1q`}#oiu`=k0Ca%{PJeUEph91HS+JS;^Ifvg6O+l1fb~^ab;sOWMtWlcSP6v4HHFVMpry7kS#z+(rNN7wE zw?@_yqd;ya+^6!K03HW!OxRQ^R#>zy0$5u^%6!i57+G4>AqQe^r5Vn~fGY7rN~t9enj73n^ic)je6V95uZ3XJX%dOKiDB z?paycmEF~Awa99cO^`*&En}J*wqW&Gq-@c~Q1D1FC_sc^84%%-fDz!4{lma`W(?_v zq%kzGfLT0{fRO-89GQ|v9EcpTHDZ(MBAeCKUEN((U6ob2M=r6w<@(1t=iU2WycZD} zky%yUssltuM#Nk0{_gqCcg_)pmME~v7|xa>BR$|7ub(#X5k_7BRRiPr8WHMh>oAAnP;jnIZ}O)d1mKH#3`t&RZ5xMWfzqqCd0UCHt)BL3vi4b zi^IB33gF0b$u4@fMSbo)O1XyGH%nR2JJyG}R^ooAhQr`Tjj=FD#!d5j+!!BnlYQE>&@Tf|JSKD&%B%+KO0jRp{FG~xg^0^koD4ZJutg@s0gTo0;~wAqD2?=xlK zi8cKE^;`Jey>-+AiY|Yp?c&c54)DWwHi0v%z}zB$E^l@tU}hdzUBl<^H1Mx>cJcM2 z1FU#HZgkuD>i!;H-ru9ZhLcrV5QbTp@)XFdk}|C1fg|!gVB$*jTkz~nro4jCxCa10 zee!)f)N&;NSz~LHykYm~p{h8h3KVaihkVdvm7_uZm?#Mhv}jFk0d9%1f&`rIGYJZr zW2ti#DUQ_&0U=%{Na;9|dXQy)v#s~`cX?yq&awa?&CqkGjde`NaX>`^20B370ZL_{ zT%q3;g9x1t&}jqRj&VaM`DA@RIv{Y;7l6}2%9=_Cg9LK=SG_WvhVvPW- zJaauQKCX#v0^W$l#Vs!vVg-S$$$8Daw5hPxu}XI9Lxg z8r?3wy1R#$X6Nv++7$j^XCJ=OsJRL&j)M!XZ{nmln&Wi{sNoTVDrPVy856Q*TR>Qm zH9zn9U@O%r_7DGwHM1t{?|X+<&wY~XIc7|Wn}?loM;IJQOcr+akZdW*J-FTT?$b{M zV9Oq=?SB--@2S=}b_TCQL5%hHZsWD?5im7Dz;WC)b3pO=!gg{LtsSmMWu2U)cpG=t znH|DlXQ_llA=Z&;TOAW{D&r`x;N2FjSqn43xfM_`C>KSx1m#D@Z3K8GK^o z^OJu@&E}8++>NO!2sHn&CcKxi;GyeejOS>Gma2w zO#$Tg_9)u_d?xs29wqo*QndO>%5r9HG^MSSGAUtQH-D4+eis`DICle~HVmz46B~x4fKN`DW9)KD>dPRYJ`4lS@-g7ybFar@mZ2dcadxr*PQdl>IR=8T z7F^e~O}9&mky2zebzJ&B2nZC((#VxE?iy25+}?^njg=LkTE(mDckq0xMF2;Om5TZK zUJ%-5J=nB!QRWk0c?^YeZ`&blTUgM80iBPQUY?l`D{GcQflD0s0P<0vy9bZD40QkMkG0F4ca z6;!Jdqbp)?!;ZsMRQ7DWs#RjBHa2G5vxxfvj&Qk`?FjxhmCn08QaBT z#Qy8YMm)~>4-5mUX#Ahj?Q9p=yf!S_$7N+u`=9pyv*_|X?nehWPHbH~Z3Jz=1j}^*^ky^kZ`L_%g|+K^D+a7lP4FJ29~r`0N7iu!SSpTWVu5^ITwc6)(T@F8*l0 zfx6?P5kI!Yh zcXokCLJCjs_<#xs#h#u8mKSlMQo`@-?E#4JvDy@B8kEUla~oJ#1Zoo&bv7&pIr1!O zd2-yvT3gnx>?!^3X9FE_Pw`3iecDugkY(*0aOV~faDduQhx%Tjcb*71XKxbhhe8tM zte~y47N*n#Bc^LEE&}hqoBrJ%3jz)Tv=Nz_BDTToOz)<-NCy3$#|9FK(L0{9Ygo3P zJ?w!ze{)uFwL^>y%^S(d37|ej^V4wwI6#?$JkHMpd;6?V1AwBq4U>~>RrP`CNm5cA zaMmLbXjCe(@~DBuWnf|w&(F=%b;?zs*`{m=)vBd{3M(Tr<#QA%_A_%x=HHz*S%+IK zpc4=ig^(O#4KYQR(aHX{nQxK zq%b=k0MFXkTV=Fk0@>pbfN@Q64S?Y@YeKB_0z3#qjI)oxbqL6toCFrgW$2=EadB%4 zmujqFK7E1u=IR^x-)`N+uRgj)EGHdPe1e%7YR?k00bI`jHnEgf6YI%QKsN?_O%`;; zAWOvKD2|b0*u>l~amZke26O;~ZIBxhgD4Xv01*~iF&3avFZs9}MOeRk8!Ibo_~P6g z0tKv9D$F!;0L>{zB}0g7%`XLFb;OFnx_9Ho7Ltf{`KxQ z&WL-7?bZd*n2JJifXlJifHLir>6@ zfXyhvRzxv8){hRcva?Ou63S(u%+|m#O0rvg`OFzy?}oV2ZsYAv2WNc`uQZQvX>*eT zi+Mh!hLbWE)y3YJ=4DjL$}nI^-Z}ISZLS7o#mMG*x5a+Y-Y3J(smtajS=cbV_Tw&j?Hyt(dH#eQ^Y>* zwHjG1kD4Y%gUp$3Kwt%6SVv+#?R0>ePXR(DK1rfXNEv1B#lR;%0qp%Tu)PB;FHw3= zSJAmWb+GE07xSZ3A|Rr~?nf@WVmNG7^*yre0!YQVNLki|m0`_I*P(H0x3SbC`78=& zoIXa_FZQ)ytv&Yr?Mx}z^+6<$0hYK1u)CD!S{Y3ob8Lx053$~>*sxN%U7$WsZbK7O zK&OL?Z@fe6@`pb}{qg3T@I}dvc@E6Z5XcOeST?@T*N?alB9nc>ZbM;uh)bR@hNQj3 zGHM4_mDo8-A(`*OD4I|}w~Klwz^knm8cN~M4i4~zg#at{Iw`#plve7I0u^Iw!z^>b z_0m@R#HA+Ff5?Ci*}0m1rf8@4{zYQ5cCzK}QPASZ&D){?03ZNKL_t*a_z+;&o-@*p zDNAxjK^&SvqEc_gW!F4LJfkeO+tj|BTWH1+e(}r-jo~OvvooX&jxr3hq}=?w$6448 z59xEIV&eXEI_a@x*DC=iv-jfbO--fUud;Hl_Kp4GON=Z1>X1BMgTN-@}+W7HT%!5`FDJyS4qe82OfA?B}0-uNw2aEB3lT#pMhjVgIS(XnnH4_IeT zSq4`B80|As{R^(2N)y{>jOArf%e~J@12w~qyVHxok-cwGIXKpx+nnW)`&GR zHH}n&#N&uTuu@Yh@FpKL)~XZi=Fp{0u^q%P3vy^pYzNOHV5U+@kGsM#IA(|D zDNI8PTd6fzvErBmp#=^JMOP_uIhdOV8v8)!h%;^|+UU2Ml)4ol#lKQESrJNQYS-CW z21jj6tfe?9MGErM&j4Th8p2z*;5~7k6rPD1y9YT&;nbQe{_sHATFOZKKEo(CKF8;X z!LBK6@l(u1NtWR-y(vvV3+Z?M%??N_-?=$!x#G4BLylpj47EB-QP$R`U50)tsASHj zK{ohG85a}BA?AnTcRT)q?G^_h$&Lk;b|VQw0<9+IDE`sR0$IE7G=SAr;K^rzH{Zm+ z``+saq8Qyy3nit2@&qtb2PP_{ys9$wf622HXa~>%phAjqlcX|*`P~7t1q15LC%P%hy@rG&TJO}yId;KorCUpN;5^9#V%Ce=NTtk@?o zfR<9EFr_w%+<)?2((jG|poB3IXU0t)n=tublH}VV6Gv=&UWNQs}YJ*~}38J^LI?=BLjAZzt)X7}VZjfbi{Wc%{|E&wu12)W=~! z3>u~BzF|P$MmBr+r2%k2Nb_!#q;oLtA(|_ zUCP8#DH%m6j!8*cS;6OKX7I=R`v5@a`5ylAh*=!V%e1j^n40P+BtfZqDEjty85W1s z|9(kgwX|sO%#{7Wj?0gHgtBFnhKOHr5+W90@%4{mqvXlB69p`^HuE|*lyLib;5e2w zX-spksj| zG8VK|AItyREm|8G6w7n>NzS#iSXh=ddjlI=R%83z#O)+!KIFyhaa{s70KoB$;+hIv zW-0S2D;v9qgkd_ig``e?_E`eCv5z2Dh022SD$7 z8is};WoPkm6f2-k+7-lZ7x}1T6Emj=oYKj-z0?ixulA2ncU^K>s@E;hg^yFrO46Ex zO@acL=1E?i99S+mfU#sL^DIrkC1u#6apt(>9{IO6ZJ_hZk$h*(37eskuoU>+4s0uu zckL`7Q>6ch;bxG6#H`FD{)WUZYBccG{e8SRF~x3We5?-4990pmHLgp2RH^jp8xs=@ zpj2smg&_eP(2&D#YK_j7bA*{CphUS$eIg2avevNj8%9O}&Vsh35-Cv92B=35If?nw{WH1!e=HXfu%)qB~pqm z|Gn5hGM4NhTfWmD-`F}kF_!rxk0vg7Wc$3UG*0ernrj3pmdOI2G-Kdfck|j7=c@TfgJR?zcY5y+-DF zo_EY~8@AwjBlpjk0978#>t5Xdq+}2{GpK(~%Z026$jZtn`p8Lw90M`{Jp?#TTT&LZ zhhWE0;wV77CiU9F0)BPv9Ijq%h$E~A0a?nLN5D46)R>vEEUIh~TwcPL78db8 z-CReYHMyz;0p4mf@Z{zuFh5HhlzN>MOs&Zxv$~2eE-c~SZ115F$Jh!3%BIq6l7cxm zLyD*X0J6vyfe`Y2R;ejc8k6I*58V-w(|)3qv2yaW+m!A7x^o&r?lpZ^`Y*-e@JQKm zTvGbNfZmJB=ySSLVJRdEY=QNCko0pw$pRbM@d*sSKS*Lcz+{84?-eoo!mpSBlzV$d zahH3GE03@V6q~d?j{=Rlu4%u#InwC>ckcj?Jc1d|2i9)`k32#yFo%aom>RZK)mAcX zP(Z|SIr|e^U{yp7qZHLuYe0KQ+*1_AwKjC=INL|o@e*f37$mmh2`d&y z)|DZ-p40n(o|2ugC9L}#XAMdKDvQY^-yI$jpi%OH`V6pq2Kf4a#Gl{3jhb?Bp;94W zV|I>WZ-_gP>lTkCskih=ta`_<4J6q?G>gW2;@YAOSS9Qee$IbkZVtb{w}-DEwsHCH z9bBB7rRPbA>L+&J4O$|Km@)P^lV`5&f|49R zh@FD;`$=0Qt5tf10X?@D&d|KNejVR$xA6;)okyB|$snGNtuf~EytUR`nMbu6j{|0a zYGqP8hmirYZT5!aq}M2Wtyx?o7E>tCf^MeWGVR$Dd^IB{Z4fzW83b??#^4xG@1gH+ z?b~co3=YcgiN|9+&LBC7dGXLi<^3X~(5&7^a@@%#7Nc^RTte0ku=wsfxD^BlbcFQ~ zSc!bRdep@8o12tfqE;i!B+}(&%+<@@8ij>EnsH} zSXrga2zT#N1oP=>;M^*Hc3}?x@7^97VHY>LUHD4jm7^9eZERCO!_{+?w;n)ZUCp`; zJm?z?fUVpXzyb7HEk1~nvOtKH%(C1hK_9g_I8plZu9x>^0oWzVRk>_jH#!|-9WL^h z_gs^WVqya5w2C(uI>x{UWEN~Y4F<=c?*vE-LZDhAtLRn(xOJO+-xubo8QX2Lpza?~ z-Ku3%2j3@4x{f&*sYC05#G{Z~Hrte)J-@?x5lLbEV z;&w>;y4L@x_pHLC(iV6d^biFQ+@5y3$~EmWX44XCO>46R)QvS|pgGv53^@x6z|so2 zy?paO;jfNbIA76tqT*8Aqq#aWcRT}n+2hd7+3c6grT{8r_6GQmW9GfhP!M1#3X!lp zB;JP0ZJT7*QRdt-P@kK{rA`ZPx4QWKoo!rf9Z}}3qY{BQMG|vxR2w)H5KR8p8isLW z_nAG1xn6nGGY=r|N71(1wjaP@GdOzgSA6-QWKayTEKri1r%d~`yEISBWm;q2ejD+- z@8G5BX<~15S^#1o=m6ysgB99j26A}51|d>$o0LP@n*0*Exr8y`lxS#mI-DAr8BaQ- zYx)d$2-73xxv47s432+Ql&SXwx=Z2!S zT4&ZW+1_QDGzG;=?lE%t2FU>S!a#syM7<-<7+4-e5HL9k4$er&-6Tn=bhO zL`97bjEM|5{~^HfP#!!{*3Q{w-`9E_UtU_mFWk6`+Z>GXMz@P*9N|Wzfwk>zil0%g zGj*7+MW&p2_aB!&I1Gd1xM{*{R#2>s1ybBdbW93? zO)a0Aq&jyxWYz3+=sMLJ0Un}6c&so40aC6Qwvm#g=+jlw2T*(I9iq;q}k+>6%fPb~Vs^yaP^c>Gbxs z4UpMC^^BJsfWy9C_C3o;%+q+i z3G}LQP~H@~!2+a`Y&4emK2q^-?6UW`0wG;yTS1p>7>?%lk#nu{d>@EnT&Ps=(zL?w z?CcP0V0D#_X*6JBDnz}EkwJ{P6hLA1TMCHIT+=>R-cv3lL#%VhSw}`?_9R&>a6DkW z2tbV;dN#LOGzVv9i5+q44)Eqx{C|yoYUu<3%UmzZM$s|NL&=^4(07N2w5G_o)Y`01 z0D~M35P}T|Jhvn+hnJauPdq_mCW_3swfnudvYGdc^vuBrO%WXiAn14cxB!QBjI0NF z`-5@XZETiFpYsQ~C=8m5qsE|!HBy~)TH|V*%MP=}9y`0onEUuaF-Y#$bWQEqPSLG< z+;KAiSo2Q30S7KXr+oi`2&eor$WkyuCui%Hx7Iv}Sx#)xnT=c`L-?A(2x{OPkd-#J!8$g7uZh%*shnV)Jv9`HME+h3xRt#bQ5l26- z;?m+g%2#7F;}}~}ggZfqZ#P?ba$}P+YRt{E5)#mZuH*sd&SLTERs8$I7V2&ZHCJIP zh|q{M>U&4P#xAgShOMunP}uDw6@cmIEOoaC=}&0!y7%|gCcO7lYHJv!II&XNigaw! zNk%bK|3k8zFVrb(Ksy8~A21B`=5^YnBBECkI82lv-b^M;4$ylH?&Iv(m1Bw~Le?b! zmWu+6A}^aOQRGVn%C;yryE_~d6Q;j=gzEwH+2{=L;mz~8O$_jAq9B}(Ku`w2xfW{VO6$m;++YSQ?4(fUYP&~Ru7l^l4dMI~){L0lG_L$_H?GKyB(< z0b*_XdZa1VND@$#pHIGP=A}p{Akf9}(i>67Aq6gq0dSTcxai3Wl$#|e!vM$)EUNR@ z6(9{n$pNY0$xOdjpgJaCs?0N1?wRC*#sMjxl_}ut8nC_z{P{QV%{yCorc}j+st2qr z0Oyv0X$~ywNWrYaxg0Mc3XlY^RosT+GcW702DM$pYqZVMfaZA)ko`v#UU8`jseMAu zvf;@**$6de)5?M3^2r?3_1>Fc#3^4w>8GJL#gOJxu-{;8;5k=2moA8 zS04c}uMwKl1jC`MDP>UhtXh>BUy9~$*$19^9Qf$R==)A!o)fu`7Fl2Iwi?{bLjltF zQU>8R1J57TH6n9fk3#2|XSFSMESr;%vB8hb=PWol=<;L7aOh)T8AisweZRHo9*p%t z0L37^aZvpWe;-0`913VIV*lpo9RrUWMaGy<1Hs=9ykEpad0=D|YqD)Ysn&p{C46ad z5lyY}c)5%l-7c=Q+Y}q)@Q~b8BzL@6s$9-1zc7zqJaYyBupR^^rp8f|Hl6$Xh6XO@ z&(7iRKlvoCwA!dU4r-2rMjYeSqa&cPM=mX$&S-VJUt+U2MDY;zMz;&>?I!ztls{nL z20#j|t$2yVna|nZk1L{NWhHSj(1r#rV20KljIz%|Q7JlJK&ks7r)dT3bf{jX5->Go zz@L~cs6j{yfhaUb95C+D!c0fk39xF`6R`7xU)`cz&d47$LqG1>MPk+DBNM=t>3pZqC)b9WP;tkr%E{~AuGWymp0=k`OM#i z0~k zl5G#W@9pn~83V(Phn|=aV~nA^`t@6fV+Mm;ZFXPl5I`CWz@^BI@6pG|{ps!<;CtW0 zSNHev+1WW-UwW=ta4)S*pGlqL7?_x(xgCbU(NTJ=2O*WG)1mJrOV;!>z2sV21CtZL zg=cAebvgcq%%fpmQIzv+e;>R~Tarv&*;k)(qySm#9KbxcEOn}0i}#RY7!9QvPCBZFh2u4b`C%N{W;X&;%kTd zSeUBf)m951+dsg}#s;u^mNw>E0XjX#x4(SZYvGmL|O}~{gBCvc>q`phAdc-X;h_X zqup-PH98%mT+4MuX^xS&PvPK@m<(QNzyl(Kke}3AJ#3n5+5Du6qb*Aq(&cYAfj9&z zKBaJW>-0H_fliypsif5nfp&+22ztKpdG|a34gm>y{optz5a9D4gMZ};fuoHEaC@El zbf#_;Sgk=W1qJOav1{Upl%P1GI1=K1Bx9^pGRzHtQ`%-9)Uxg=W*WKa@t6Q8yw>;% zfEDW_Px>t}*;AC&FDYxfU0)58hu%J!nQXpC#|Is1OFN5=+#>-T9KfppAN@Efc)$HG zaIMq90zABM{ygy5GBL_Z9=mlo%>tr{PSy4_p z153~EipdrB`q5{?9>;Am0aIkWI%&{O_JzZ4UXwP@-Y4^Wwmo9d910_vXXP@jkEIG{ zu1KimJzWr^y^7h+!vRnpM&d_mD$6QFmFhcBc5yplIY1c=`#Kwq1T65ZMpfs6o zN399u(7pjXla~iHIWEiU)4+u%f&B&&*RP1zmAp30wm$|O_rS`C88CF_{n+Q{%sE>e z@V?19&Te06*KrsS_Wp2yp}$ay_7}qzYpe_;NT;?x4JoV#*ZY3OiIe-r7_e@R+Ob1Q zG^YMgRJ@_akLv$?8b+cqjC85BIKRLrW1@Wsay*pN6tQepYrx_nK0h;qf4Z@Sk5#L< z*6H9%yNxHyWjuFyNZC|oXIbHKftWX3l?tX77Vw$rZT#BC2G+v>3!#fE?Kakqnnd}Z zr~!4h5=H?nTx*ZwXXfVdr5iW#*_l~{5zq)jyn1wmPdE0+Dl|Qfo>&6e@+S}EAvT&P zB`K6sTWLx|0Bm(~xhxXXA&yDen^?_PZaxT-1bDOjoB@8ffemdonAycNo0X!U<*!KO zH`@=q+hqkTMk-CEh|h|%&w=Wy1L8*9uT5{B!Xm!x>B97$7qIn`=WU|si4qgX#-+;l zNs*Bl2@(qdqB!PlUabI?ANeTo+GXIiZv$7~Ah#E#$fD}FbnUFQ9195q zDh!9HV1uY^MbSDgI~J48RXm(Rnf?8w$3nI~$p$C`a7bS%MGTE6pCm=_Kl}%Lzum^q zEG&>)$J{LSfu!P1UE2m~J*3>7B;$zV0NPF0Q)LwKD5mv0+kOdq14tMFF1rVLaz4A{ z=uG>U%Rs%3pIunMcWyQD&9~piryhNjVu{SpG5Dj{1t|kUO1s(D%LSq$B<>-xgCym0 zrn%GC&OV!l+#oBJ|9=t`x6d&rDO&dilTBQ2B6@~TPXp64l!*xdUVj~U=Usf`+BK{P z0e!T0bRg4V0-%R_x&0+4&PNtIYFERwtXqBA{5SWzK0fiS3~r0<>4o0?%Ef zAjyaOw6;U1?>neXfc)4I_bV;>&@yKE1}S1i>!G-t=7~}qKsskVIB6OCl123^I(!U3 z=2$nnN0&e4+ZRe)_#q>wRX{NijCq++LNC}d?syvK{Cfs)Jd}rW(jw9LZE&De0_t^q zX=Me!vVIq@wpv(lU9_SIM{$g15TLfPL9sZzI$IK%LOwkWoIQ)u<*R7w7|kd~Q)^u7 zbgLx}D+qvt1K_X)Oywwd??;J2bzQ$r?Nlz4 za-3M{-WwzkAT4ene8e*kF zFW)zPsuU8-zAeHWaIB5%^fd7Dj{!&f!1umKuQ;Zd7>*+4qgJK#wV?(|At@y;1FlC0 zq}1D%2nil33V9R~+a|UYbOCCL04VVTPh7|>20~U@mv>RJf!>XImccX3#=>4x3hA%~ zz)JGjQW_ma^UHMr)uz5&`Z)0Eze6!ke*K>V>o@Sn2Rr!O(;o&Nn`1U!70_0?OdAmB z1_Wl?^>f63KBnPqgDJKvkmpg~xC~N6kpapQrBM-hki_C}DIP}*>skVQSfHot0o5w1 zXIJq{-7bE6cMs2h^P4FB$d3TeT%eS=*RPX;tr##7HzS$bvDKe>K%jh`FcsZ&pC#=M zi^ZWWr9LAA-BGN5Ozx2bWR4>OkSSz9KC#$J`Nd6yk6l`(6vOizjJ8?@-hBsn{VMRi z@8NfE-NISl!%sf*EHGUs1=jTe-N(f=%jTJ$HUPB4{T&6AV%lRCl?^h;^A?JOATuZ( z1ROXRlo@Dg4*1Xy0NoDNEslsK6vqZ=&r0G-Yt63*9?Zy-aTTPZADsTb=cR|W*=zPS zl5?o3cYxMwoLGQIP@Aq5AjZtyGtZ!MSW8rb9G$&6icH{j9I8Nx?g6p{d@W=kn zKOEy0X?Z`gIPQCq?|T9AMGaaB3pQS0hn5vgs6uM{4cou(9V(^FgrQFLTuBoEq*bt`YKvsr5JUF1S8U|!NbzEWrJpQ2$bxFFWvbDy9pNyWYF@F*)%wibQ}Md(0)z9R~x0?F|wgqi4q|Yn`;K^i9Yq zb*CnQ#WTPok5H=jsVM>*-gyW3tG@y+e;41qd>Q|CYZE^)GlQqjpQm^8n=$9yd)?+mbx7)QjB?4f zdd?g5)u(JjzxtK8|Ihb*=noveV~+2_%MPJ`4R@h2Prr}nXWa#J#+H}%j~){hdg!Y1 z!4Mte)P2VWmcgRhN_mtb%j&sR{0|$O_~lzS5NIEbSmRo^g)8kcf{hJanwS7q&j5}G zz$G_~vI1sifTy0o&wl@V_^qvVG(sQOw1ZcgO+3H1hnd|Sps`FeVpkDX;Y7gl3SKz3 zhM9M-M#REnspAcN|eOGMR_14jDhcbn>N2Ck2af8H?5Q<8*1x2`}2hNCxDNB1bA~2*w_HNEmD>xwu)0W*R;Xvp7mvj`Ky#+Gme^dqDbr|Fty=S=J#w_ zQlI4?X~WD3oi6pU!wiVYN$TtREP=pX?(aLdC@#@oe+OH4?&1%3cd=F~;l=p{e0Xk_ zGBHg~FsP_$O>rE+jnZ*(l=Xt9IWB>L!+`D`aP}M(1D?2%#Pm6N?iW2QBd%&h$Ii_G z7oVeYbptw2>-6?Z_Ukq~R2R(K_nnOS{3#S37kSTJt&z*{OO`qdz{~11$@AqNwt3%M zW!I(w2Y@?c7q%^(Yj?~xVc%o+Ub`~v=He;>Z@qZ!4x(r%#<#<>MwIE^R7G z#M1b`o_QMoVrMtG{LO9`-#$9Ri@STk&JJy&T(P`3bkC(F{Q9|b_`C1iL?en(cN}a* z5t@gGs2v@VQj`}}|9*n_lsx%Z@op9 zf6rsfx+ozTFk{eSeHt4{mt8gNO?DjfCfZHM=Kw5a&H*}6`ukC2 z373orm5LR((C#~>jkE~l-`gQUgxs@5nD#AFTllRp98cmsIzP2jy-z%x&i z^3iHh)`V7*&MixTNp>B9XX1NEwwE9@bIuj!0b7kd*956^-E>s?qIQ$`12SHc5F9$K zz-HUJpKD6)v3(SOd+ylTNo*h|V)lXKnq!sXKJq9H@Mr!u-R3J_0lxJu)Ljps{Mg5V zr=J1h76BGPz{~+4$ztL#z+p2IvhfG9V5JQzNqGSJUzi<5@lfn`65uRhrf`~G*8$)g zrih5|5fdPs#h05+{DX~ktiARcK0Y-CeEj1Sc=X+OfgA5opzDyYm35V|!K2i((dus* z8&XcY+%9kRVx*OZJl0^I$;kz7KRmU}qP2ZymUM z2kUQL!z;}uYL0_e9OEZuXE9x`QwsQMmB&(;Wq6ljRUw1F)z~qhrQ9vepe(} z*2f2C;T=*2`jDNJuhfWgoc>FtUlInzAdAF^l6rsxJ&T0gHyKW>;5Z=v)cI-rqeoZq z7vDcbGY;W9F0OUjc)nJr&CmWm(Z_2ONGQdwPqgUeGx+k-GXB}-CZ4ZV(1=1@X?OAB z!4c37Nl7X>q~I$BRI0$@Jf5GZBG3^U5wSFC(liGL6qs{i!Ky$`z_KE1!f};T+gh(< zvl$kjU-7ZdDv?@Qv}gHF6ctSjj-bmxjYrIfD_4mEJU?%;BiMDhUk{jJk(gTcLzALKpS{_OoS0zxq-p!u{+@R0a7@2tuZKogILaDR!H-5*o!r^+XPCpWTABx z#Xay8_gzexRNzqThW&j~gj+3QQ(3o9vl=WVQH!fWL=X9p74JvR0sqZ^3tWB;_}bU# znt%D1z?;{|wcx2IhzT}7&ky&A;)68Xq};l!1O;tkd2~ALKH)Rv-31QYG|!~{#4Sv~ zw}S%$<0d93tBmUaZpn02xy)`#R$Pjt!g-c(UKa!?0JpJyo&y622xY(9r68DEn|4gO zblL4`fg4&AV5$|hU#SGRWdd4}d@VJ>dWTEqr}<4=+6S7;tU{(18i= z8gTmwuwW~d!sw9oPrgqvQLH&DtQ0v;njr#})qVy^d-X6p_+`hIk!%aDL(k19q78V$ z(s6)#9Sfd^mzziU=i6Hd|NQF&#DDS~y?~x+za$FHf1sw^X$^QJVKx~S`iTF7{Bu5Qxv~wVv-q(;yRYu z2T56_Tvm~DMZr7|ghArDz)ph#6Yt$MYfs*_6yHn05omJ3y6_aaC#sm9x8hpWQ(hSG z#SUbCTm|7l-Jg%j1Q=AEWSJ8{*xEN04fkZ7$yrm9b55uo$7WRA=l(zS@ib_EIpFtG zE8Yq1dq?j7KKsh!$k?uh|>&n)AGoA2Qp zhes4NR7Ge;5w5jbcw&1S*xUrpRnr?_#|36*@yjbK_?J67Xhb3Eu7exhE?zl2#HHO` zI&WpsSZe^FQo-EnS-f=p78-GkM%=}U@8Ol^5ngPRD0@qz0aOP7T0%c{khZFh0&)OI zg6TQdb&~$eaX+)IuCB|6q~nwr@n}=Iew#kd&KO2P$}$H7wAkNC`R<2Apy>G43$2+kSoQComgxgQq<))J3ZR$BU;;{h^{v~L*EA+!z1KCz?}|VV{&3}|MVLRi6SiHO3I^Xu1jW^ zAmIOFq|%bwOo;4WLfoiIoax8)fM=f~*23Mpz@Ppp@H@YU^+p5F*J{+>)6+D5J(LES`+Xl*+hJsp91&zRpygQ^Za(FwArBG!z`WojM&FbEOi+L+TWt27v0{YEc`V zJ4eQoFr>8)=$%I*38)6@&r#Epp0tb7Ny%v`%E@K9-mzoNX_llvZ7?(gh@7-*M^e6V z`{RBCT&E0hJfL`7&t7KGamW2_Z~-#!<6dW!Q^&k_YM(vky$j~iLl>2Y@_xtD#0H6D+B`k}IDY-sZG7sDD_C%S1n}{@JG+>7Jv?`C z1neCE)mh#+W);)OSb!9pgEWw`ysEs1?f?tBy@^)r&!4rPizJ(J3*?Z@28bz3gpTNc ziF@LeDHg%?cY)3sQa~z|G`m0{%>>Fzm3uFx+XXIPCeW#QMC}lDkwmnQ1VmuPB>{c3 z1t?e#kYpj&7ONv?18+;R;O1>sZCbelz@xr*IX*#>64g@fYyd{{cfLn1789HfF^YSw z&iA4(@*Z@F#nbwnm29ROX?sV}_nkKT+$$gsDF9#4=66j>MYBbI`T|znM-zO_}yG3zBP=(%|+>&R4XqN`{~5N&IAY9-Co^KWyybtF0DZzIzwXzw!@JO$H9fC5EBn8n&L&)Gx|G0>-$?xVzYteChjaeU7tE$Qq=? z^@Zb&I1a_3k$#%ztYnpn0U&%%;qEAEmz^B~GIn-o-ZUC$zHt>>VTiBn?BaTt=J$f< zVn2#;p<2P`ChG9#<|)&X?W%-`1M+HOfhAx}PW|%s)(Yvh%dx=6JZTWly>uryYxAAOLiq7#zudcfkH?Q2EF0k8$glxHyh_{|CiICI66z z0LMdle~9>(yKIf}C?a`%Nj?tWaVJw;UrmVyi_5FR?V9(AHMPDrf)l7T{ zk^2p9y!tA+4Ebz1PS_fBCqp&^gjid%%n%z0$+93M z7D2mh^}8@sBEv-J2~K$*`$oib&3IGjt)FcPw!af#DhL4Wn(QR~l+=XEjRGJ>=7vkx z7PpT$qH_yfEfTx}&P*8$l z?(Y*rY-@{vjv%5woSHI#NUO=IEJM>a-N0mFaTz!mH|CGl99w`hv?PJk_-12|~myUi9}uGg_JKSxUa!~_T2 zbxlU0T8-URc&<1KNuW`=UjkmcNSFk|fGJv|MB=FbCaY)znkdf7%soc|T4I8Llp`7E z;iT{%An1zXKLz$Im;?Ta5q=C%h1v~d%<&)Tt?IUmd68D>#;g z&n{c3WP)odWq=J~azr`zyqB?4w5EA#2VJz?Y3QJIx#T>pjZ$QPuawFD6NRMUtgh1U zM@QCuEX%E&TU17Qk7K~`dClnXy+U)}av4}&CM8QK_gAj~SFQlp-=ScUZ@+C^gtVsY zN=r+msNul{tgg%2*Uv0^ejH}p$`LF8^GFQq{u5p^_ZA2mcf8CS9lJC8Vo21 z3n3ZD)^`HX^s~H+I4-CD>|=?ufnZt3fnJKOjO{^EDgj}HwJ^j&7-7ZtaU%@y4{qJU zx2|2qOB2)hyYq{9ba@$g_6Mjfr)PlWMd0!C)UPh6t`f5$>e77Q-$#<>JB|t9mvY-o zuz+1lB;BdBmy8k5GeMaXR~KagN(^GT4BWK?0y6dvfnXQtc4%xLa9Zb$JHWvK)*B5p zq7c_Q9jpf-nw%l0#z4d+uY}Ll=gb(Y*7!cwR<#{av+p)|U1YW)xI0>14)&^z>xbhQ zHrsK4oTT0kC~gl+qe1V>%fOvGz~L@%_YR;-<`}JM?oCYr3$w;mvQ`70dWzcky z8(;p00vt9_+;`0%&_5$H7>0PZ4I^VSIL2(?aTpw_J>x?cm51^{5r@HsQVE!v!hd;o z1ut!E;rs12Zgjg?@LbeA2aQ$>^}Ri!y)Mt0jj^12<_un%eh>f8_BNVvjAl$Mj-y5c z6Pue9!F{qu8$IpPW~oxa7v^U1wSyyktXjo-H^90V;FW_zTx#r*#j4c;DjZ!uPsuz9 zNfy}b_pz}mW|ehO48>X`n_UNHv5@cV&j3*3jqlMBy>~-W3=R$`)!qCYA7hn;F_lvj zM*(~Lz}2fn`S*EKE?`drYG|XlDN(q^vd{GurQ3Erv0Yef;7ER#Is&~5tj->g_Z!ST zMM>OsXtNatv>~q6(pE@Oq6FZJyT%Vb)|_EQ`a7h0+OZ0hRqs?qMwCIP=LNhSBx2ybi*GbLI9DoR?U7Y@Pd-U5MvVs5PlBd;zF}UJcxxi%clw8h)ipW2IK*=aLW9Cz-7!fCGa89)lDT z_*wuCz^sWP0vg(5M&_QxtZB8V9|Wun`TVUt8h-~(pwq#XqeC>~7>zJMQ^%-5qZvim z;`V)_T*edSGG1PoGN6SWe`8{jnKxB4?z19k&84jY16GHT0VPvuRjsuz^*&&2$Yxcs z+e~Ykj{-bKoB~$Hp;8opwA(dxa$uNB;ywu=Nrjv(j@-Jam=6LYZ!9@&fMd|_1)0dQ z%pU>T#gK4PGPVMKOu*~J85gItzZDti;&GqH|G@Tsz+F_FG5c?9fMbmN-&+PpwxB13 zFg=tHt`u!x0Hm_dXc#M+Adap>8||4H;E{9qsT()(_uhFMbydN7;9x!QaJkvU3)|bY zkzQJ$KxF%Sw4p8gz{)ay>5;Sell?us-tNG6H2jXnR~ozc{N^UprYFf#83ll&fyoK1 zJ@Evd+t|Rn-7apl+gK@i__MxrMNTvELpJ4njuQd0=T}|&u3R=j)#P5jM>PGdP5OUw3Ye+WyKF=~EBngG z^#n6B*uCNE8$@@GL)t7#bbf&D+hIz-_%v%ENtFv_EZ9P6x6?=hmV#n^p8|ri?QfTL zghk(VXso#&pgSg$O1BHB9GbmifTI-{zkHu9uC}5Dz{Krv(i{DgkmJy$bI%v6um$vh z6)gn=5c-@VvRnm9O?HilfN7?}2O-7dNUqzbJjwyNJix?~5FkT9BCSaQahS!?>d-Nz z5@kC$Vn87d3E*2CV+F3ran>3ZVNKkEJZeHkIXvLWrfUk@3B**2BDd6 z?KUgGT<>-p*ttXX+u5XJw>D{=y>T5|2Zv~AO22)kQbtWV_|KNk0&8o)xhE;O;?^$E zjmbq}ncK}TQCoMJouV8X7ePpXhpan=aWJepJ04J}0j)zG{|-M>c%77a?0SG3Q$GUf zIg?zI0aF`5DHOR!%xg?$ehBE{l>je5O)SV>2@8G&3mnAx7b{ahyNyP-iyPel|N8bi zu5~+DM~FHcEI2+ETo*N$*bfVyLd|ticO2AR7d78QO#-n3X@JAcQQECFaI4$Jl}-~k zx?MEF2!W0fup;3r1z)Ko)=85Q>_B;_@il!%VU075y*M*%0&w~z0%u&01NvI!u-B1F z4N2-{0ksl_M#dd2!I2qYvW*H7%SZYpWuedPPkZ8XSpA=8*%#?B=p%-cZ1B%Yg_(~n zVp|>VP*B;aN#mX(Dz- zjFCZ-9Tz9=f-?3217tv34r=Pt3jR8*3Oe)K0JgvIIvtT z*s|q%^#A@7(ZB`PeJhX@JUA?+S=KX@)FT;-C< z>~MHsEFfoBh>|-l$g#OeRN#X{23p!|VRo37?;9$9$XOE})X3+P%a@d(FJdYVVF1w6@tPhf9!gcZ)9C_EvtwyF?iI2Voa0S*J@HsvYVj64R zF0m&{J}Fq$8XfoS1v+PQ6KJ(iWy^T2+eNL_qLi0gTWGc0s0JZjXZ^MnU&C@Ca}=#b zlT!qGh#P_Hnjn@73uzY>8B>6nA2P0_y@VbwmS(Miw&mKgxoI-ENL|@#-HZZqH;6;5 zcs>HH$x1&ti6@qph?!C@1F=hG_e;Qgw+Nt$BXTeDJi4Cmo4~O;B1^Y0Bf4FnTCiPl zc)iMtp_A=nTVx)151k!J001BWNkl&ucdJ!d+YlDlgiT=q=0N_l)bnVrRzT0W1Ix8gDXMR^3Q8wk z2D}-Hy&?6onI`?#;=-TCUBB(hzmUO^n&+~KJ`M#-7XK_od)V{u zGt*-b-R!h|9BseO-20E%K1s0)e60Ebfc+GdtmKWAM0qNTJ78Tm0V}ebPg?=!hm?u| zc&wmHoPm&1&aJKD`8Qt2wRVI?)WMCej|D%%G@4O>E6qb(+S&tl z4}i7Dd9x}N3XsmC0`3}NT3CL>%JLT;WFb$Dk1T5=YpG*qhe-)wzzpdZ#bA>LOfL8s z08{u~7f?*;76!^e186!XR!5iP7x+H;-zUl=j1RN~D)g*$r+~4*B^%-{ZGuC~g=D{F z9jA>eN)&;j=*J9X!2lbv0^nxGy`riK<3;)-IY84m6!u0!J%$}c180@^YtPQ zYFREJ2^Jc#8<4GND|VZ4G}TWz1jar7c$&eGch4-a1-rhZ$^g(H28c1l<6bQD;yRF= zZUam(5AOX2v7zddz*LR=?p=p6s{q8rirHo7@POPz>UFM{LJ}l4TUG7wA=aUt>+t~WnN;7+A#;y{QMzT2i)1*H;z7^paalE9$~2s(6* z>yXPu6wthN%fuM4=dQ#xa&@MkWj@Nf#vrKU0iNb|3<0>7lBo=!6h`LxB#bt|S|?M3 zDBadtgEAty=3K2Qev|ypO9+)+j$;OixLDY0xWizA#KQo3p98{xQVjGdCt*|I=m<~> zb#d*ngNoX$HP594JxbvWfX{l4iG5Kj5s)F}N$Lt>`T^9Y5woHc$BEGqxhTq7>44^| zj?J8`36R0ryA&(^L1@~`cB_-}YM3}yNVSG(Kf*(1-S?D7{zRDPHD77~NT z&Zgoh9$(tHP-z8}E5IR-d56cR!+qmBlmTjbfb;e4Scgn%E*mw z7q2v%Slitp_lq;jq#QIFY@LdL*%^F!`3!z*YY$sNfFKBPqZ`o1Wn+WxH#s?&opREW zvd+io$>*LrP84=0{XP9-9{vJ2C}n8uj+3bMOimi`{@}3896p5s773IiwACR(z zZ2e8LhQwyGsrk2*>w%@T0LEIXtygaSMH9*Vb{d<=#G34xF`o^vnI}pacZgw`K)LrH z5&7>2!1g?Zv{4d<1z4nR?yjgZsK3g8#Tls+~HNofiKGtTW;3R(jP z9Hi8BO!)*XDV69N9RU_RV0s!pfI7c0J#E^?b+9Iif5`LG<2ty?1S9QqkYv4*w(-g) z1C{_hr4sGOM9B*ypd>+18N`$MDQQUiZHQ#O8D_nedWf5jBmHXyhL$)b!%7_YAI{ll zp6dXS(`#h0$BDFk535AL3;``Pk_Zc< zUNSq;f$8-!SynS_2wkwo33F%A1~|JW%UDsoMhNiJPwcrbb4Ri&0VZaX#Cfsfe^hJi zA{iT2mmMHlj#s>Ht(*bC{ToNUF=a-PhoDA(NilzTPb9-?kOAp5+cwKUI;m^kD>;dK zjWhPe2q^!LBByR&FDO^P?a#3oLgSpP@88;y?XOYFAqKlXd)M&+js&5}+$7s^gM8&4 z%HLe+3wGFuJ8!7KgIXy992^IzPvhd+Ib6ECgI5j@(TpRk2LZm@ZsY9!J}z$W0`rSN zy+#}Ts7sr&`XsRS2!8sltN7N<12p3R>!HT0M@RVN?j9c9-UD_Tz}ZEz%=v8DnVG?* zl{5IYjZNGL+Ne1`>VboA9k%fC+joF-+vH2E*itOOOrnHlHg?MXjU}7zHLs22GIp9X z8(2sXVtWJ2O_?wgBHj$Dw1qAKlN)c5m9|NalfLDb>yX<{V8sv^7OW^zE{-KR_eud~ncpN>XOCiKx4ES#cG+EQ!Ka|V zx9(UXQ_sL1|)G`7Qv?AmS)94hjRo+GWo?xWqT!_e@G!`}|lF=-`(q28RS3 z)F8{d9n(gXeVbV&fq#`EmO-sbt{G8G07+w?>RYxf=t_~rKaOb~i<$jp&tHi#lLXhb zf{6+s;`!8G!r;hThvl;X0bxil>9$UbSvj6jexoikkHpFy0@Eb}Y&h2XE$kT=tc*(E zvoaY*fExmSWY|o3phHs5Odm^nU2(Co$C;cX>vOW+GD}Jp4u#%voV|C%z^bFu{g50Z z|5$6E1H&={jABj|;qzqtXdt%13m(_5tj(;@!@7o2be=F|99V26F1G*}GN)vYxO{vv zznO_-#~_lv)tX|8xSZWZz#&_b+h*pE&D2cRU2Coi$gJ&SfZVyOwFwBUWIp)mIelD( zO4?T1Eeer}tx{sQ*N9W$Rw{<&g_u}Nstl+StxKz`9MgtVD~sV^WIbc0V}XM+tNSH^Ar|Bpo13s|0fL~f(#(#Bqh(K$s2b7NPTDgOZdkqTsSFZvKoDo3s*Lxm5d;UEB_d9p6 z-ldJ%dKlo9W)qLLTNL}DDnagIlSN==1}{uZ;v0uYfa{u02_k zO5`gKTIYik!%D(RKrc%pB?%IeUK1oJnrzIq1y~5^0bYnCNTpZ*A=V1j?&7SuoF^%h|uvRFl1obJ5RD~3+0TzKgnyCByd&EKo%>gxa8;o57;Oq z7M15w+=*ly@$n&N#*winzl-Y?o?@AH7*I=;E^SiTdM*P7ffZ-KF$$cm@Y$Aj zDVOWBMW5MA?RL8T!T?G7-(-HqGzJCW01~|z+2DE7CV(}cB9r~W1`%zM&jN}FQ$*&8 z;}UQXFo+OqX0C8t56Nm2#iks>0+X0VQbw_6C*V)a?dbqr*R-iH7gT}uTa-rmzh@n= z)>`>&XIzr?VHo$&gki#KPthrPJzGW}ruueqLXs@BV-G-Ze(DBs&lL;yyC7 zvYuU4UES5))3dX)8#7pl#AH2peky0w@{_0~RHV zFkl!0WRn5}ST<}4Cg>j)X&EprgEG9bNy0n3)a;VIkNtRn{Y4_udHqIB_D* zjl4H+J}SF?-m}o=1|!(#O0948@?XFnylHr zW1lvIKG5Fs>j2_Dy5m(`BGsdINOwp$+;L|Ve?H}yxj9*0hmubmp|6&?`IJDwVz ze+6*7qU)ns%}$m{AMmGE&L-A64!wULZ+`a)4&QqZS9y%SF3>MDjBDs0)qf`h_)MxJ?5lkyUy_ z0Uw5hZpRe!bB0c|BIOrLWd&Cgd&hls%%wCBkOI5Yz7QaX1Uj71A{cNMumFFZ>ue(N ztZfEzej(bgib1a#&$DO)NUBrGQ}VYpBap)8`8h=(VDo~II@WZfe?`BiQOO4f=fQ&D zg7bD(nPFa_lgoP5CxLmrOJG8)W&O5T!6CBXCToVU!%R+teW*+@0yCB)QUI)~eqqOH zl9tU*xPEy?_jasPPX^<%%%1KmZ`#H4w0G`(*W`s4>W9|ZWZJTRGK2|I6v6r6fCV{Z zm}BnC$byqxKIu2WX-Basm<0I(LAJ>K$v6v;ZmwJ4fuAwPng!c>tatsml+H}G@s1`r z+6My{ET}Sw8bw}PEX&Fo97eul``OqvgG1()`dzNO7ML0fjWPMmET#=%n%qY&G&8FA zMSeH3nl;0IP)_Z?`PE2KKTER)2gr)`)7W)c0_WUTQCv0?RCZlwL7VesaNF%CR;$Im z#|7m)VKrp94S=hV1O^4pOd=#))vrh6S%>VSax>sD-Ryvzkd2n^zt0N zyudrdA?~$0c|U}F<__zIGocxahe(uYiMwN zfwF)HRM#&AP2_{&DUb8f!DW?R31bBHzoc zcm9hDie@w6G+Fe!Qj=w0rG{+P$?IJ2Yj0LD7{ZxV#0i`VdS)GP<~eYASuJ!fLmUBu z(_|s32>Kzi&WrgzGt_L3s6_xQ?rJ;yf{A|m!kg5?5{3;J8l^;%1l{HNf~P6D6t1Apo5g$ zIwdV~lr?7-q*nk(!|h(hMl{6fPeS?A^!RY&(PBmfG!@7$9Q)* z#Gk#m!0iv70vkKP+B(qLB<3^Mz^z-r8*ku8{^(EfTfH+p8V}Iz1D|QP@z&EPz@1%S zZy#tU#K^SU1e6Si_>E7$j=%oF6Z|i|Q~bncj7OsZj?d4r|MV&F+C5-rhstJ5J>nal z8qVNAhn}wx4CE_y(>WB}9g-_f=rpY0B%b5nkvy%lOtW(!X9cJTm=K&CqY*NuEDS_t zfI}{PPIX;*p;O`%#uiX|(s$Y_EX;-Ag!1pp(@4&?s{Kog@tg>H(|x4~%(xnoKr1BG!EMj&Z0nV<1^@!T5Z3I7HRIUFMr2JE&->nSsw8cl zOAjvTe{S;fY%-?c*BAu>NH91Om>RO?jx)8gYpK(=8{1B^1#~Be z+V4qKfQi#=iQMBQ3bl*E_hm#bWr4P3gdnLIQ_9DNtZv(}J{XZNp7jk|HUX@}k&Ohk z1zcUybFO}Nty>i5SQ;Q%^8ID0F^XXm|HI?7MmxvtbE2MFuJNnh0AF%|qfsDkIssYm zgrv%0_ad~c50ho(-DOQ=rX6-oqq>8fdHK&!qvM5=*e@4t$5$F0ujqwPlVEk7s;SHX zOD2I&1Je|E@BqK~-6!~)M@QI?3-oo2$Kx^H84U2_Cnu!3ytz&S(RznYhudx7_HBIS z&K>-AuZO-dcr+T}tjO{B@)8e^kAZs^Kx^HbW3|*=^78Kd$VYpd$T4&2qwo^ zo`H9#E(WF3Hm4#iv^7E>4ppWj?zB4a#lVbx*ftV~3F$>JB&i6cXf&Pp^{+@^lmMAh z#ALH+Lld)D#rUmyJW8#TdDeglEd%WZ<|Otf|D6tLZuI+J6CxDYBx%vtRTM>Ke;Fa* z;RIRZKZ-&{m!7FRS(XAJg8>}wn)@$p0orP4BvH8?io$E20p*kKI^y+;=c+Mft(2;A z7de4AOwxo!0*?{|;rH_l;3yy35J=bRT4062Ng;@Ge@&EInDRJn2vJ6E7xqU|CnDFY7@^pt&V49&Zw!R(8PBce#)EU{&Yv@qcjfQ=SwTbhc#$jab`17#!so&lu` zJEquKZKB{J47oN!S(AkUv8s7lH7`nRc+Q{{Xb@PLcF*9bDh zgBx*$z!35v^9VIklZD4yq81tb>!Mmg zwLyS&z(y$OiSh5Q@tmrNUbC`xY)JP-M%a6qNcQ(l9;)B8lh^A2z+RNu-*r4OT z%iT{ZH}|l?R=S8b4X_mt{w9^?Sx#K1(Xtar#_zsPa>Z`iKxR#^hB2DfKGVh-Blq&; z2Y@@VRPd))k@7ag8y(>OUHtNE_wb)Qc^^HUqo*Sr=LX*yX87@ujmmI%NKsBQYd2ry zz{WQI)lYp2UwHpLJj)D@bdGNfuJD<5iif8sz|$k(_Gc{9nfuedTRZsT<~si7lOw#n zzKfpD@$RUPw=d6ulQZD(KA=*2a$wseGWF`x+%`u0ld?Lh8((s~NHt^b6L)|S2ue{6 z!=Q{;DPvXmlBS3SL6j}KE+$Vd>58J7tT%~@M&no}E18*W=caMa2KJAR{VAnaUT8t3%B4B%m%%Lf=!_MmvG@!we>fVSto?5 z@B*^2W(%#BABWmd)FPw(`~xP(Kw-y@W*-{--+19IhS%)Swk$;u?vlS9_*7V--Uy&j zSyg>Qbs6PWqvC?Vs8&p&aFqhGg8sAS3u}`k+;_H~X-eN*FFqBQCN4=r;ez|4GJwNA zO~#oB)ywVAnqq}-PYIZ&DV)Cr=kp{Wj{0J>)vB=LfEUNu*uBiob*FK|Yp8ucjezz# zMFkpZiW0?rRphjGC3fxuUNDaBn#ll=^q~+iDEqyf`-|AqmMWd+P-DTIQ3VFtUF0Oc-9K7VEb|7pH~2`MtFL5hIjfSqyV~6 zf;3Wivz=l)O^M0wc6~$;VZxw4e2U*ZJ4ZK)(TNmxlLTK#tTVX19eX-unMr#x`lJ0m z{?W+^Ql#kE6Ry1^#hvwa@{O>$4(Gj_87mXiN49}$yQY4wyDx-%W*Dmg%s}3qP~GGq zSGACr7&BAOgMT|=C=`(7Z~o}XYg&BEs3|7=&B6*_6HGFPlMRLFkg;^v^<=}$y3vQv zg|AJVJlbz|NXPm2de$^Wkzm;Ac&1vW!F6^HI76kphVnNuIMZ*>L~^{v!lwdIKfJkI z?CYW3ruoXi*wBU|WdLMtjnY0iAhVB@owXV-w3UP=ZkOOB-`L-|jV{6f7;9e{V@)`$ zLsKV^u|O)uqyn6iLfGGNEQC2RFP*OrG5_T_)y4|-)*+{3(iuRJ9VPaOf;B&^Pl|#; z3{y^@H6Ga9gPpd@{@`+y{9zd1#(SS`1J#cw z23w?X%>5Z#^uqzQa&0zVTP5`2!u??2%`n~T3T{7P6DlS0hNE95J>BaEM=c?>+PigLj4o zZ?;qX?qv%)*-xZnTrzG0YGUl*iPha%HJ#`uz=v6jVAl0_B3b)0HhIBH|2W9HY!k25JNt; z0$aOXPK$*gW~MJM%aK&-0P34y3Y-9}tLsoV4;T;`jDgDmu(k!<+6T@CK;H_nEHsVB zB*>04pbH^PHk4^9_`~Bn_Pb@Gfz0-M1e!ZVQ657|fqW|f&WUFzTmf{#>x5Glu3~tt zC3`OwPDi;NoiJ-pghN4)>!1tas{(>~5W=H@ALs0sBAm;7PYRh643j-=hX!Kp$8D!$ zg~GM~FxqsV+lEi|)0S-m4d+Z&8Cu&T0IkFV9SY8gCE)8a9Qt`vSj~;XI(K9(meEKs zeRiA_R&zpz&Pa))ok~3gx?|e5xA? ztfg_s^%Z*@pYDf1iX;Xxnz(3QgV~8N13y_tKwWNq)kGGUOIqc;uEsRxZ|~9Cq}e}@ zFzW=$;L=>Qx7pi%%l0UYF-@-9opO0&87hV~rSUSmy8I0*E7Y&MxtP zTwEYh3f(BeZj#`Kk_0M^DAZeGy`w`}uw#JE)2H}n7XzeGgcuQGrSN8wVtaFw^67R- z?Yl}fwzmEa0KiP+Pqa}LqgVM~GL$t8zJX^pOIi=|8BQlamfgt<%GYN;Ie}+{T^hP9 zu$A%`zr*sm%b~DVvG|6xw2C8VE9a^rKQWh={&c$CCWcz(r{FaY@|>PYTeiE^i&>lI z&B6(d+)ts(WZ2eL1Hvd9PSu8WzOv3&BSnJi+8RB+w+HO)(%deo#iM4aX9in_S=C;P zAq2{}&GWnrTF5Y?Tu+y`6(HHHg45v>_DFfHh{yu2vaAmH5KO#gpAHrPaOM^$YmpdZ zwOq9Kzai%&pD;=Rm^D1Y`mjcXY)l7SnR5Fn_LHJW+hSvr0N#xad(sUr=p~8Q)@ZdX z*xaV;3=YK+nXa^3UV9@FCL1zuJ|!Ovd|90)giUWWoLoz!W{TT)xZms6fZ#g!Qwiwe zevYj0&0vQrKf^*d&v^p^Yl?#2VbHTqaG&rw!{xW*ue5&JJ;;UrwrMJ{PAdgx1{#ZT zSz<;}PB+vHa&jpD&;ne5?>~t59N=rp&Fj*x>5I}{Y13t`sU)@jZg~FLK4{Y5h-|;* znVnm9&aHLn`CgCA1EYk-ZPNDULQn)??(G9_e2TP&7|=Alwk*3wFZupW100eEsD7yC zGV_GNIN~)xrpJ9cF(;>_KPxr9-ta)f3H0heO%-Uk@A_}S&$7e+#@dh9$OXrbnfP%% z)YP972NKtteMN@#w?b#|^-P+0E-e4_=ab5fQl9*NQmF2<^A){(#A7w80zPa%b~?cA z+xWuzI=ZK)?shNF@lM}{j6Ho0>~DEyWi$ddH-O;|{@UHU_|HE00GZY}$}&6}jqv+} z0e(1+iBV2dVm<-dP47q@}^{n<~BuA7Vo z5Mjc>o80u}e`a_~?*o%-f_T2L3w{`q52!dPFu`|Sxohr+Hr?(w&tv5-`TB(K%6t|@ z;_DbN6XZX`ec2b=+W?Q-(a38E#8RLMem{HW1%1S}tHOSrvHb4-^xGwx2A+jrkz8*> zfldC8Ey$-eaNYxM-=)X}yE_0h&Ed@rvV)Hk;NsFpRw{A}NZ5SXHa{#+ooSRdUdt*x zIhH_$Y{Mijg9GeHl7;=c_Lf2}uMs-9=Kzbm3_kEPk@C?_oUmBgD_yF4W+|oEDUb&r%u~#8p-F3@nNz#bf_~=vEQtj1Y35ur$v7MN^E_P zk8Q*tQ4R)v82sb5iXr;m0$$;qk{W94dxXb%c=F9YG8lZ54r}cr<#wpqC)nSM(?H_< z#X4RUQAxf(jf{bF9tm6LIPuO^(}X^NH`QWuuPFAwP8E$tH0F|o_Iw5^ISlgpI+?_+ zuLFH8G`2wReE;_W>s_nuF)pVqooFw@e=f_jE-Ij13(0X*r>R+|!68je#CHg80Oj?8 zok+X+CZ1V@nqHe%;C#`vG{CW>sg+(*#=L1Kp-Xq)3<*@NeG(up0nYP|wj=BQ83LE>1J_^KYx;)@h1#E5M-+cXb{DYGd{F7cEe|~)fJ+1L*G{T?1 zyu$kF8PFd9Th{XTy9>!8Zzgl=jzg_(IA+Y@tC@h&%h+ee3=KXX6Xqz-qBP6qYJxE_OIadunmrhJp?G~AC1;Z3F$polp^eLkPB0&vb=-CT~WgHi=_*GNM^ z`b3dJu`X!uE38IN9EhwH`Eytpl-xrzYWWxo7O)p{@cjQ!rQ52Q;QUf2Otu>OBidL|o_BV>U3b7O<< zUtG}I6{~Vy#sJd9wp7Mz*z+4{Nda*p`r15Mvj!Pv;1ecZF5fNz)>GOqG!0sGD|Goa z_0fs}g6pDL`J<5J`mqR21K4H-mT!{SoN-ZF)WNDV4G;33h1V?QzpMsW(*sk+Pq_aq zl72&dP*z2?jUT+Yz^@&BfdA*JkL@@@W(+o?2yeDq zbb5Jf!|%^{QkeLBrx9xpgyCOhdlk7Yhc&g3r}Ekm zFHx|WiZrBIN6_EBaA12L9aKu39u zJD(Kr_qnfu@;zq~Blb>Zf->6QQgf^X3WNh&thdJa|NM@WhvoaVpdGK{@|~JJ)BP9e zI#V;-W*p+#wK?~>c%MH>0<3R%N48N+QDG3#dOR9=^SIOkd6_0NF7`vSy9@ll4*;V+ zU5{*Kj4IEiiG68S{%To9Z_3!7_0zbAPx){eG<=)LPi+|muLt;Ns{k=+k}?5=RA}$b z^5F_J0vt7arF;Jdc#bNX2EH%z{;KK5+fVG13y=RLC|v&5u@NYpVZnKteHVa%Kiu>v1taY@gE*i^oTt7equTudd8We z6yDcCyY0tJ;d|2EhBMurx8JYSxcg z))fhA)UBJX7LeMpSC=+BL6vpXuntEnG+y{Jk8f>k2wHwdl!XEI!fJQStJN#Z$^dlf ze{h0dr9n8$`W_OSiDWsPpPD4D-t)N4CPI!HYX2hlW`g|w)s;Qm00A81oW}KrrhBZV zw6#U!w;%Rh#Ts5!uBHWe1+2kbw2XjM1xCzD((F){BOGr{d*IRnUIQO>;{tdCT}S;_ zMYE)R)9uUa?xIxpYMoZdEE*q+@T7~@q4BjT4@hU#3+F#wK3E>$m{rB4uKcRufkuF| z!3*-d!eLkpd7@aEe^Y`@%)p9N)Mgzob@d9PThv9naE!@<^{C6=rNa@i;WN2&a zQIoG@Xv7Ip<^7uLjzarqRW5fpt|tVS>f$X$+1Q^T0wfrY#{_n4Y*LYBGd^K&mGg_LJx=Eh)#QZ%pES|l`vrXUl- zvhn~2Z}_1<0B#Qk4ivQ^3lspcu9;%8 zPgDe$+?$Iz^CO;L{Ge@jtwoy3YHKJ0mHO5sj{Tg(2|Yi`?6|QF7DvF{JHTgmf#3Qq zAOrCf5AOrnzyef!Dkx$VB-~iJc${lGy%4@@SonlkGDE&=;gGa^)zW@;PQf;xLsWMca)-& z#9O=gOZ$5`OxMvb3S`>gILq+0t4ng|czjIHvKfHY{MfpGAAfmwADJ=8jG^$f{XQ|` zXQw0p#0^ugDtzX3(L8paRj0zUK3_ECGfTQvC)3l)B<<--s`xeegx7D9S!7~ujJEaH z!m9OEC*~!_UXf5f9@F(@Y(rl*;s`l;LGvfGC#D=e6#x}M>b@XBq|+gP5xt%@Q4qjH zm9|4jy&ko7r$azdf8g!5)1>Su5uoyLRF6z(ZzQRAhS>!4g&=(sXvw}TnAkigtXDWz z!YC^It}&SVl)Oqa0-*JDG$LT*;cHeKDe~r3tiiEn`)*^MoR6~R1_Q=i-qc3EVBZf6 zgmBxkvr=6U*p%mf4sbc8_Ji}sp(pF?o?){cU5>2cfCVG&YoDGG>FTgAD#jd}nJ87y z#uqC4$XDRC)=X5mKSABGTA1f_K6&u6M(ST8>-qw<|X~f%sMt%U{2DC z(8@LIe|TLA-K;&t?{lB=95lv{zbK-yfBUxe12mw>X`?ZX!K!wxT8C!YYfGT$N0jE_ zE2=2e!mI1waE#WCyLmo!_4ufLmaW5eygy4D*U@#=e^FW{jq5JUEah2bt*N7MkDL2_ zz1;gVy!Y~(s5s|^udtX;Hig1+!{FvqqD~vwS_fW#fX_VoBmBQt13YXKbNpyD#yh8{ zc_MHqcSNPKLDX?=!_WtcQX>S-s@4R*& zKfAk)Zw;@|H)9;<8h_AF@FQm@IDGOUaB$#-*E(YLa0NK+nYp!*YTAf>2LO%DI5Vt{9pBoXVP@?j<8 zn9Qw;LPR{UPWM99@)zOUtkSUayl{vLpY=F;{S&6T7@W-QXt zU?EO%HBk16A@Wj+p4r@_6V}+~*XdALQ5Kfs$eTB8Y{2=k07#%&>yTr}T%0Z&GdX{? zCd~=%b9N5tidMk@@#(gU77z&5ZeEC!8701r_ztxP+{w8Xc?eAq{w|ph30rs#5(x7l z`6t>x09w|BNE;xrD*Y?~$1#v7-&dS>p}io@&K`xvaQ7QC`m?MS^p;3v|~> zc$Q`4C@9$?*(ae^ zSTG)^5o^J5Nas4L0)i#5#Pv7E&vTw@45)FGADshhZ2%hBTqgjp*MnQJ|e&aQd+p~s0bmOI{88b~9G|SSe(!HkaXEiCVB85qC zer}p!%~&N}3qW{HSc)wR(~rYstBM^Tz~z_ti2%ZIMqMCC=%tB5YIXjbBJ5?KZ= zih$d<@s+!G@$-Lrgva9y`-ws~itx^Gh_@~-D9Xw94$!rNWj-Rt{NMmTwY`nwTp_cQ z=_t=&E-#^;Jp=Z3fV+p@mOM#;jdlF=-9!9e7Z>>L^K%>lILr%t?W&KT?)8AvGjgt1 z=^zd8%!_4=Sxx$7pm`UxRc%t&o$j=af+HMEyrXB>+ZHTmq`VqGmrpuFWP!kq^~h@y z6$PL&f71A}cxsLRfCV_Z-STsxwgYRzjRxK)0^k8CZa1!v*7n3*07PLsgaWt}&ZQO%gGH6X zv-Wcoz@!N$zr*ua`8JaIE77)bL;^Ew4DhoPYRds=RrM{OWnz#cPEgu|*mPy1%S|`4JvJz{|xO>0qq`rmxpPJ&-X=y^L6oW~C|(kY#Au=5NUVqXTdN zuRxAhG(Sa(7`E;@{@m-Y;kqEfd(OQ!f`0#D{4c{&eFS$JpM5K8X`T4NJh z9@o4n*7YfeCuD&<%V@kMiTBUJYa*XkcDwW(10!0ClSu8gIpj%m*#Fn5_B<`AMK(vS z&uBypEJr`$Q~&czy0@_f+__8F7z~m5Mpg?W^u@8ZM!q}vlsr<@p6sBI=MIOX9F44l zOsheo6g|szk=c`m=Fss95)3qT6kfxsMro+&xvWI%vH451mqc}bJA zaLh8uk>$X>L()=9Q!?9G-ylY2bTTOjb7)fruCyq3t3~Y_#{x*OQG~P=TH9?}ug7B_ z%9bOr&nFIk}RW)+N2aFZ0y6fmtd`1pQf}$sb0an;xxHm zxJ{B+IHMFms%)oFGlbVu_T9t%$K!8swJ!swJ&L51wtN-2R~!4QqDryAvSCtjxA8 z(=28v{EXDj0Q@|XAW)U_V@|(LCg!L<;h0p4+J(WsB=O;$qsWGdz5?z(u)tb2xyDu1 ztG2E)&hOg$({C?LH??(4Yr|QA4q$lzVwzdj%T6~9Zd_LyOVN_~&okEMn)keq1>gj~{*Q0rEfoHXe-z*iIt6JM811T%6&jKRg09y1@5+pS8gqlViQLHQ@D! zc=KED;`gqu@JJ1?-3Jbn4&HqB9C+RXZr?305LMa~@|3Ig#CArK@6YqzDrs2;qe;-K zb3EpL&#+rjb9yVxai3`Osmtf)txrX z!hEGqfG|vK$rimJu;IK19E`{>L7G~D%+P(UtyUFC=;k(a{zw#^yt=-%-|dbN)Dl_; z8DtubtXaIK`~kAJmu5_n1z`A8UTV;k4x9yu!GcsA(`j>VBY*Jokpdw4l250dupOvg zOTo>cERf5#4}r3YJ)oxZN`MQ$Z|@BU7M|t$ z&t+uaGg@evWMgs!n_II1>11@!r{{_S$XJ6TSZ^zRY6R^he@{486`%;4N2mx;F#%&b zM!X+S#54x_&W3D2~uTXs;Uhdx6c*xr#B67g#4q^Xo@i5Kd3UD z1^FNc2sS*|l>VwU2pUb8Zdky*X+E^6e-@1nIdlF36c2v`m>6KQ@@^j$fMec+nhC1u zKV}&gD%2}_MK?{7DXcpsVij37QxRGm|J8@b_*XXDIL-?^9*^jPrykFp$(#~IFs zL+l(MlN$F%r+$%lr?{38*XpBbPV$Q8Cmz!bTCnB@N9l-J*b^ELO3@e`Sb;BXRSO6u zGl&;owF#Q_lou!qKCH#jT_?X8eR2ehEVuqI*q;D=yEy<`m}mfAfaK?R-B4Ee$uj?6 zTcMmoJST}aXJHeMd~7vA3R?yV3Sbg+h!Z;Tk7Bx)R{%UtK&{cFu$Cz$(*Vw6!nZ^K zcB+VkI4#rScdORcsCq5h-nL;jg%%u}R~b!VTmd0WT7V!7jmsqS(3<>tBnkB`K>m!f z91gfE3J-9M$JFe3PVK1+3p&X56GF7K*{}Mpips>=AM$zxFL=rKxGj_rT*G~=j!GI6 z6@UzbgH>8S8q~hdG)X2bo{8mqa*bGGk*M=6!qlXV8*0T=5rY&=vGN)ifc*}}a;$v$ zrhz9sZ;EjKSj~>nhz>J0HfY@)XS5apG){+CevAW?{Pjc<6u+;5Fx@iG* z7UK0yQh2a3@8Qur`_(M>Z>k-yEB{pkHLIe=V&8DRngET3fq@zCH_@^hI90DVt#frI zj}_^D`~i;I2|S}}*~dPL%MDFn7a3&6=O_BlGCo=`lI~gi(VBz?V`!we6R$RT+W-I{ z07*naRN&4n{NktX;eR?m#jl@!h%asL;@FJwC>!JL%L{Y|BVuM!%OvT7n4$GG{L-gh z!*8GWk?9=WsEv09ee^~nZ1;L3XubI+(6=YMofJqm@Rtq_@GD10*p5^D?&SsE?(X2x zXoMd=y8xb_0qb|Y&;(^qmp}}uGVt7C;19x`08Z(@nKtOA1#s2leu?y%5vM=mTGew^ z@7HK%l*Urvs0<;)-!y<{WrTvXxo&ZbB2iqO5qOasAk#p{3Q1Zp>c&ui^@q0K6ui^U zpuD9jTmvIFwO$pZS%?DFgX{0QM3z&wi~WDq2cA9y_V3Us`PK$-wE-m0f%l)%iTw|J z4%phHelBuA$0Q85TGn(z?hW>LmXTmGw!lY{kcPmZZ}YbTYOCdicm_#WAYzRKjtCM} zG(uz-DF!mw2L_)i`-Y;jDed!yCSjDd833WtQ`k0*{QIV`ZERd}Fp&+PYX9rp3UlnE z!V1J39fYGmu&Ir^RsnRx3Hc^a3b@n+HVua4w3UVYoE?4+%f3CFMuimOBLba`@qRXj z4DwlkL4kg=Q%LsTF&e=6)nGwW7i2mBSYH`--IV|a&ntH=@@>fD)xfs_N1Rc1470;i zW4wk=Hl{KsR+C66xQHi_=yzlLO({UxKGLzDr>&L`Nt~v>{oU!GhBt9R`5u?aft>a? z@0m(G%YcsrLc`~rlVfohAR}04e%Oc){IVH37Ii*2G(Dt@&rgmES65%H2@uz%FC5#J z>Mov*44heylH;ZDbCLn)!p=efImwL@gWn`KENa3~t}60Y11~ zRee}mlbiPMhW%+#xzZ@H2cAPQ5JTFnP)b7MKDe(8NwT2RGdi%3x~n@o_4at0??&(@MjD; z_HDOqn9`ht@HOk>h9jl`^h|f%hZJQscEoT#SJIRO;6l@L!vTFWsKEe7&Y>eK`hknh zf}hh=2pMk`j7ROY6O=+pWq(>*I-yj6UYv*YpP{UpN2rD1$}I%c5`bul9jQt)m5^D> zGw&QU%Lwc^zw%~1g{@JXi-PeOuAyOh_&NTr^0CC_ zEeg24GDbKZweQCXjdk{?wYx_lqK6}^wIs?>F`XJJhLr;di<*0z;QNKsl>I&gNCB+O zRA(7J>ZbiqEMw|FFCVlrTDD(TD96oua8zZYQnwb)&3`tu4;QgP6QVx-CHg(&Jr+r` z;n`0Pz)?$!4)8!-_+?n;Cj#=+rX>@Y-Gc>T7rL zg@5rcaGVwB#y~n&cxP~lw?8K_~rYD_|K1y@MpW5cs$PWPJe{oKR?G8j*rPH!8~e?K36ssi#;o*Wh}nZUc9~AE-=)oe#ZJ4`4+0BtDKvLn9j# z$dhHjdfNgZZJN&mP0z4!qzgJtH?Y1iQlJ=#)85DnsA+0X(XV{FhC-uK_IWP56?#k7 z5gJeloCX)0xA5tB6jQirHlyJAFNYkP&G2cv97issWku(g!pjCAiZm;b=aXg@g-1&)3DEF zV;bYiP$**8CtRkA{Zv(a0Q+7rzj!{xc09SVP9{5mM%P6dxQRzEM}ssno!? zExo_rG~>&>QiTahDIh`Ec0v2kOH~>~RW$W}0B)~>R_TLd(K&vtv@HMFaDOQu9Ls7a zqq<$^88eOj(f}&265!zQLLs!LkJkId-%L{y-eQ|7TSjVB7z>4)Q-n@GUZ~n=5@a|xY%oz0Y z9Di_ih0mXz0VgNGoh>@mDYR#-9zMjcJoym+=fx!+720WWe4*C^&Q8fenNvUKV)Mow zqMTyWzRvOdQKYGYIiFb1@y<m9$72E`io$CSjK>5xwp!kg32Q`*$MoH9TY=G(BSsVjfgnW;z=B5dG~Gp$ zV5b+BI1lH{)KqA9u$BOy+@maV_PW#Nz#exvnu*6G4~T2dD=)ByL_eHYK3se7V$U6UgwSB}b=XJV*_Wy66l%7Mu?h0W{4s ze<}gFV9eD4ywj-ZM6S;1vjpav@@zU8H4Mm@a-E!(Q(T>f(eTbdEpa$*b~MaD96;;D z@iX9apQW{=e-+F>1Lu>gZm*tJS8eN1zA*dy2;W};-LzoqKv}7whRNTx$xPwnr@cRG zy;tqzvoZgM^gpTq$F<3EOU|FEYtalcqBMan?HA#`A=90gPnz<4Xg)iyR?#wANJau2 zi)xZh&;OGJZ~(7_!cQV8J_^zP1h%_||MInmcieJ~soY!9yFald#b7TPQV zM+QJ`H5gF)Cl>rD3i>}B`lu-!RV5qxG0kQxfFIj;?pTeuf;5@1X0>zJRDgkw0vK7x zt~r~(7$0?rH989ZW`KpuFWOb>vIfUAlHdln4@bRWKswjHACxZlF}Hc1iLn>?)Bms- z;ar(!ZeoHwnn*@5S_E*M6`&}sbAiv9x-l8%QwP+_u`PX*7*p2vZ~&6+KY3DHwYPHk zXCA`Qc7V5~X( zPym+8`pvtJL(EkI48RP{|AGLHMFriZEku^&W0viorOPjXxze6Ig@>KDt*3&h4Sa1Q z{5OBbyN=iH9pdwU@*e(pG(x}7Hlj*~ zKfbuYXHK63&rb=UU@eX~0X8@B-@NfDyf@DAhr=NblLW_6gm?OVeDV00y!v-q#OUXi zN!{84?%c(f9>0fQd)CKcn&3&Ekrv0rIca`$T6RO8a&lK9VXjigz=n(0Dk8Al#0gI2 zDd3Et#w_Ix{Z@qe)d?8OP#rU6w0BI%4idAx+C+sZiGj@cQ}Xa6w(4ZIVWU_XEpx(U z3<=5rffl`jKtcv9TB$eFxws?&xz(n58CkOs34F3}#O4lMwm9-C`+4R~AheM%%#E?R9q`a@4ux&yCwuxC`AcR2asVz=I@t?jsHXUSou# zs1(L)$;cC=P=jN_`B|VL<=T%0YG6VG!Wh~QbV2a|i$4 z=R7qa=Cla>xMHKPh&)3vH{%u=?dXTl~l!A3TVjdYrLGmb1Lvx?EE zzAw_$o;D81`KHWUo)p{!I3-CsX>BNCc-*Svsxbp_nI4cywJ$Oe~}K)>&`FW47E z91ACkqCGfDh_+^CaY7$95z2Ba0|r2tB&|SEHSD^>+7JwcH~}^km;+FQ!^Tz$)oN0^ zNcx(P#DXXLzzFZTayJNEPEb@{n*;DC;&Dvl?&QQf$7PKU4(lrcj>}6xYh;=nJ|7na z`bB{r3^HSIbbO32Zf@f6)()_@XSLmS$gHp1^>tFp0~^NBw9+7FkH&ZaNj}5ZZ8wzE zQM8gbP$@(!Wu4brC!&QAf=6`X|2wB==xG9@_idl|wMG{PhiQt#SfSf)dk`(MeHg_g zKy#KZWN(FLmYd7sJG}4uTGN;;ofgXe&#eZD?Q6GAG2^WW{3&Vo2x1UJGVZg4f^DL@ z{mzBx6eyjn4 zFR2k^rqQhXTIv3>3~C+leqHG=N;Lq-#C@i^a;|s}T(u+7#_=;_{!5!0ynuJB0K!H9 zX^u1(p+)Onr)?)4U0+u@76CY><~5JzMa|mpl9;g{>kBjW^6~)3Do!(B1bytozkWh! z5kXB^p=G^`zj*&X{_eA9c$yW+jKPyELrW?2E-tWr)}s@|TerOb4h`V;ZTtrZckn-) zoT8WKILBUdjf~Q216y18*Z21Dxerb;&;@`5$61Ec(FnJCJv#B+ z-J>Whvyz#Cd0d8OJ>`GVG>={4B23|R(sii0s))vuQuZ{OLwbtML9V^AUDoqrGOfBX zQ>#I;T+wGHDYQ2|6Vl0ZU~Q9rcRD0AXJb0~cTNJ+$@e-Ppr3o;AMjyfr8YxIl^QS% zLI&YR`T07Z3NFpSSzgHxiv>icnesTn-c0Gsn)VCpF;O-KQdqk}XpV7t*&Kxh^MTdk z*xo9iY)cK3q9BLPd5%3g?Rl?m*-1(<|WY5;%Mf$S(jGATB7Z>)~De*n5xh56{l= zcs#~_(#GR)4h#yQHw1Q+^}KG2-su7lKZT$D-c$S+AAX3;#Q4$8P5krAOMLnGm{hP2 z?xMP#BLKNoyM$f%-O(PL6IJ(Y&`#W*%bKXjqRDixEzudNvKkGja@_(ttF8T9Wxt3E`={v1$ z##WgB-uuAjCPhlw-vj>e8&vnf75Uj{x9Ox^nvTSg_mjg;TLHSy4l&vMq+q`ZF|9L6 zMBzpOkZrx4m$@~C$Ypz4Umm3>8MX{XZu>0;Oir2e9L+^}So5Q^M&%lfD6J&1^V)(2 zC~P`xdIR|Irv>OVT~i$*KD~xDk+J?p6r0>ApTANz{BUBm4D2Vipl=il(~Ag*T9nVl znZK52z_1VGV{7I!A`oP)ixRJ3d510{bfXmAgxa}pTk~i*#^KYaq?vJkN&Lt9200^* zTYyo(Ftbah0aP0>8EGbH(0rF+V0k+7NpxuXq6@)j3$2C1-Wv@`s2!6T&e3Ruqddc7 z+ka`4Vmku*D#E)(f&Dl^YQf550Q)F#tSPeier^Gn*tUZ*KpI)C8=D_Hm38Kfb`Eg( zUIuWK@eVGToMwgGD`P(fxQ+&twife+$1m?ahTB2_E82+v@adJbDa5+t!s+tEQaC`x zwIIJHvqV*suhZaB)c=aLQmk*8P+KNa_OL>e`BkK7J?Zr*jaD1@?qgtc+gHaxw2`f* z^r-vuVzTROO4! zy|#pQo#Yd0ADaR&L*N9BRHq3ty?;KLJ~&>{$B$}NzG@a2X4tm3@wXp5!26>Ne>@uD zNN3ni5@b=jmIW2sCN+J0o%LpYYu)l|2zIPA*-DwX;d5+^e!%>#gNzSupr|R^LUmH>wtcRruvt zHHA?|7EVVna%UU~?%J`jXh+14t-NB4W_kF9AoOaL?E_N@8y^qKy~Q zvkYAuCbkPJ&|9#nuQiUd9Q&uI)bCkA>+IoO0HY)3INO=dR$&^HF#QH1R%!FFtYvV`l3)*eVRqK)M< zp>Ggnfe{`rm36tMHOm;^Zctx{Mg$CKJ^ek_NR}?=3EzeG#cT5K0C$F zF_^NoWeYe%yEx`t`BUL}8K=;p=Co&ko7u=+-Zkpaz@)G_@!X2bJx}D8#CsJtLO9uvSJ-;tpsjj`d1jX%AW4)m_2tP8#;87nD#R?X)se-iGuwox%MV5959 zGY^Nr$uY2L=TjsE7X?426^PkrNz;(LEby=Z#fLQ|TmRUWA@_`n6!y{<3Fn19+AVUw zhNOuH7s7GOf|Rj>FKccLhxAOE(lyx*CEo`%?H$>Z&63H9vc5D7jVo>|K51eABS|d4 z5&L%{3vjS1zXR87+l zPbrTi26k@IJFOPAo4KO&RSY2W{aZ@JstQ%h=}8l%kR|{mXa4*-}tUnVQxk6$7XypmQ76g9PP z=+Edy)3W_vEZM({zVCp=Ss$#syz zR|4F%&otb3>-&PHG7ag!(%^VSpDbblM1dH_b^_eFgMWK}AOGvcIUWr(x>h6O(RhT< zpP!Q|>h6|j(&K~#m%V-b;+;GA=lwo1Ls3}1Ga8|Hd4=th6AE#-zGl_oLGSI}!r!=e zAHVdy_wlgR!nxLXG#UYCr@-lR;NGDx>q5ZIg6&cTbSULjF(>k@02UUZc}^kfPSS6R zUKH3P5q}ktx_zO2loZw;0EAE;31O}R%y=36B^iUc5t0c;zzR^~jMT^Dh)(glUHTpl z>68^9?T0Wr1yBYo0B^ofb-Kk`50Nz+V9+BBb;;TYtVO^l{<1GwXwEXv#K==*!1rUG zlOSIdz78A-Mn*=F8Xd6ZtLkgF4hnFT(>1nYIv6Vq=)_U^WSiGhzONJzCBDtM-f=`) z7Lf&b#$#Gv9Pp%sW{D!fl7&mw0x`z>IWUF<+^b9A=!q3P?K`mA92b|qtUMn|zDx|9 zFNV4~VT@0MLxYYpV9>|A!=bh4P)JpTZcM<&wu+HP3Yj+OTLHgsNP{C)3aMSFds-ti z2AQ1)T_xIr`(Kueow_oRC!?J(@WAiOQ$nuqJSTl}t*8P#W}UxH;B#G`FN!2M#Gql! zCM&ibUD#;j0ZOz8uzP+&{(j6T!nE$Nl17#3o79TJ2uq6x=U9~>nh<4D7YxXh#34m1t zsILHySM>3wI+gF38S@C(-^cE!-@w=2`8u|vF8W&I@pz1_{s2F7ehxf;4t)9{u(d;zIq;+a;ind`IIYbC}%)Z&m7I_#`^ z2B63t{XX4$@BkQV@96j0Ghk=i`r=5)oFz%=|K)`U*9jX&RQq|vC$^zYY!m?;UY7fy z>SUV*Vj0;)nh*ix5OqBE{U$X-*jeUiWVI`-CPfrcy2_N>Ln$B9wg{N}NS9BXSaHF? z&-FO*^_KvLE0-#lUyjo#^1ueS7e}s1EI^TDK-{6Ay+!qDwS0cA zJqz-?F&xrd==TA1yavdcbvVoYs5w8;k5W@a5`#7d7WlF4%zZT;p+6pB&4NN{Oi@z0 zag0xGE<;y4Ej-o6hT{0gfp!GI#|P|1T+Qp2(O1Ag$nvp z_NfG&_`N1)x%1F8fW(1s;(p1(GUyve5`g+U0t<>dY$`)IGl<;m6JWmlWVAfxx^L>GC&F9{Zsd~KI>h2XQoA+H+i9AucPTFlCx6P=1O8L)Bpe=07*naR6C&!a1C~# z*Fn=jjO)y2=5o}vOT{T@*iThujbiIaF%p8WIEgMX(Ykz10tjIq^O$(8f~v|f)g&d@ zkWFy1yuD2zA;{??E-pxY93XY_)8};h{>B@m*&zj`!nP?p7A%bSHxZVDDHo0i!_8Wj zwGbeP)0D8nluIM<@xbr17KBpPOe7T`L=aWSY3~$XNUtJis=^uptO3N177J_IgtA78 z6oy&oW&sd@GdblhY_%*9!}(gk$boPQFg66|cx=bCrnR-zA^|c4IFgv!%vfY5wGL#* zV;~#Ry)>qGS}6&daYT+(*)*|gKGbQtFy*408Tni~Ok1Rpk;KjHRbIvrqphfaY?5r%4PsSOKOR>;u}vm6+W>62xEHs~l|ySt7~nj(!A zVx`EsNh!oo&;U}qCZ~}?CsNpqBcu_q8^zd;V;m+xH&)nBW5j9VH3?$dz9o$rt~2~S z1a*~JZxvt&jJ?LnxUc&<~laPNS?~5@#&xiM;Mo?kK_OC5R-8jKy z-t)+~?dFy{5IDxWF&UMIl8@`GEW!jGQb1hrkvFRAM*Z(aUV=#>V?EBbg+ zs2Ub-jE-4R-jUe-`}iyS-@{iw_y8$@Cs~F^qY>U23@DDh{8rqQLv}v!jY%c_yS0fAB}9EVA9tE zgG#Ic!5~Fsoe{F5SilRlc}5?Onp24W<9AtO1EBH(@Y)ohH6!e6$z-|l!S*SZBJnH~ zwUIlq2bGDzj3g;Di0m7J!{Tyc>@$RYktEhn0c%%uy3_{S+g?)z0B-FNz`>x8butPq zqS|QfO^O)EC<^M=fpx~(YSH!Kzyf_q1yc+!JWT+97AWGVMWYdp#$z0&DY|TS!_l>% zVXq*KB6RKV%oy}QzBe*s(2XK=4QXtoN|>0%5j7k8dvMw~cAe+)g^q0Ns19hT((>T^ zrUAx$@~Euu7x~VFu&`prHl!+WqmD{@qwU`$_HC;akccs+3+u_FbQ+%xLgvf1&r1`_s_{MTM7{EULw-&5F9FCm zK-U6L+(7>BwIzL=EF0=pj-e|4Xpw`#s`WJ_&dWVplTW1<^)-&Qmno9o3TO#{gBRus zLCP3^->pXTdVAqTsR`k`X=*6H`@5on)D#6qhPJD`-_$=ZDLM6fwkHo60%2!v4Bam+ zJp8-{5(StX*xkUt^V(hf{Nq2tYpr!;QG{Nu(aSaP>;!190k^h*&KeL~wdyzx5z z+LQP2rEh;5Z*_Li*BKsX8Lm!Gv93Q&V|aUqPTx%g+`0vfM);}iP5iy%Q}hdscLoC+ zE)aD3Txep>heKOlVFzBWsQ77of3ucJ#bdSaSKh7}w~lF;{`yKb{(02*R?T>X8&Je~ zhRm1!=5Z%qt15Hd#Tx^18slNQ1D205ebkAdM90gkNE5GfK)Oku}7n*hLnSlE%Y z)+XWEfe|?<5(X>~3hz`bQeMz!5M-Q@X2W{d`lL`~iX_{^7!QhYommrt1$bCty|BL{ zA-uC%EDuX*a>J)BQczXOYY+flD}zs+9BTk(mh#p1k(OF|eKz7&09C^+}rS6q?5U<%I>76G|(Nfwrx`TUS|QK=`;Y z#;4mKSkTF8@+gJFwT{<9acKa6)h00-S!9r^2$@Z%t0Na876AIDz&2~eL~Pbz0V-w3 zi862+Dl#7_z*mA50>tN##Y__dE!RW7Yt7(z50QBlMlk(_*P`Kagk~-w=o((H`_GPk zBe!sRfN?@oC4vhRD^Eui;N}3^#VbYSc5MW&6=R2)(^gW7d~2+&d(*(gnmlDg;MO*+ z#q9*x+opA=e>q#Y+E6f_Snm0OhJ|`r{#XTk!plfn%*T=g(V)@7IZYiX_^X_M_7)TlK%t` zUNNp0rLf2jZ{Z&eJ~Zlvk82+_YZmofx9sI;=ui>rt-^X!A6Ykx?0C$rFKYn%w z93KOlT`L4-H2J$-{L1UEAeG8$+ipCjdG^c#8?BV)&+DI}wAZ_2W^i^!AW@-d_hSJtRM}_J#``*9 z;E6R7*k44FcoPl_Qsfy8P%ND~S7jPe>AMtO}68MTAe{xy$n29990LJ|_LB2g!){nBpRbv6i> zt3+ATlmMknm)nlpBhS3~Pi%piLK9dq8cnW?vhDbHq3s+K<5MXc;y0Q!6PZG!v0=41 z;s~jWro-Tp05hD1OvRY2qfk4MH4=bHpu^RfzlES%7xKF5eQo=epW|^bO{lC&dlm|T zxLMM2b48=%d|7H+IWV(ASYnef_Q%2VQEQ-Y!@BS8(U=nnYH!&79 zprdLn4!MTP{|KI)Ys@v=zv=e*q*J4Y&5Gut<4XkaHcMIf8MiKl{6UStzcT(T1e)i} zw`u%07JJTm&3S;igbxmvL(PY&VSv@%4sQfLEJ{8&Ud9c@LG<=hSH@)rZquZC$$I7KtkvVm*;}~EIY2>2|PJ zSd0Pui&~RLcKZeioOVP^kV_Fc+S$Rc9UqZKFHMjeh3`xf;L?_JZRybS*s@_V3xrr| zAuHWxSC}GgH$KA+ex60X7VwCFOMlH3)((lhR~Y)5&%$Ll95;rtfUpaM(!g4u#))4J z6}+p`cud!HxM7BmQ`1;0-yXOSx)5z@aPe_ zFI>4w?q6EDxDpvEFN))6822d(5~Pb9Uc*}&0s)3YI>z_N_#4KMV4bjFZi5v_F>zog zYj$|vvai2&aUX_(X=jZ**He}xba5(R3B>sIO}L?W5Jw8lu3Q;MBhl0+NfInJ5_V1D z7#nWvu|Vr%N4R~O+pFCmun?e(7WX&{3;E%AB%MxJ)07S7=}EAZfK{}f`gF){tt$%Z z=drVfO5JkBxB3mE6>lDL4gxdn_;NPL?$pg87;09{n*}AdGCY-zW66Py_MUlC7=W*hH)HzE*tKe3p%| za9W>Qg@CS(CrL8y5dW52{i3m^+UPv?&m#1^?{BZ*Y>RK5J}vLJ^8Dg>tSs?L3mf)s zf3J2HTmue%Hwm|I5w}9u?$EeBY&UxL^9pb*3tB8x$E*V@GKkiOV4hR`zDl_>>N`9LDMJ}ROH=p_ zS1Dmp;L?wFI`Hv4fU5BEJgF^BSrd66B$^Aobpi&~)=8^+`xdab59~fAU}(J$+_+9) zBU`!nRIm&bI8Xy15TYoArry=Z0bR$#s+C1W2zKK^JE4^`w0JPWX_Z+>h7Cd%0~wQX z%`?l5-Bg8p?#7BREBaP~911R=sE!2XhX3R1loBo$A|R$#@Cpf?gmy{oDqASX_a~V^ z9~f7K=kRT|`bqw|_AVJm@gOHxFt!am( z%2He>_;a0hc3a~6y-Sw7PV^5086MzZU`dJl4UO-P1CQnWn@nhIz4|h6`!)p}9gUp4 z;GVnonN;N~K0LdF>S)Ccr!~gFIoKm4#pAjHV5l0QNLVh#zfXnE2|)0?fr>@%kAc7D zg6At|S(-}#!9YI0pk9D#*H~07>7*5A-TbWs;e2~fc|Nwy|5>M>H~(nk&Y7kQ7nL)k zxZ_)5Wn9p+CpkfM0%QQR0j^)ik6qiw-+J^uuJyNYP!_m90e)jJ!1t5|1uVSfQcp@| z_2rlGg|EJczxDVrer$UK0Pyx`gikzv3_N)PY;RLM0G-fAyS@Qjy^4-f7?dTxczlcx zWgGa?aEQBmdvwp{CIKmRbY6tiWoedXe%||}#!ga`>D*ZaRpRu&aU1G3-+4`1oBBp6 z(r$Bb%E^S{1aQDRun<><>)C1`)^MH&nm6XgOe+o>gx;aEcqqoe(_P>X-=*KjCnPZ5 zyhW~PWeI>|KR9r}r-T&(HM=G#CEPMB2{$ZYD@ztM#)LqbKFFwOE5|_LGTG0c%Z#<$ z>~g~It-=_IYxv!=#=qiD0r<49vYtf4Yu~wi*{?nhfp~T$fDJF8v!Eyd71?HMoxm>M zwQrjWU{0Ne-&(Sqk;nLdb~RB+cxN1Uh69_jRf@GP27|Eh;QCoGO4F)v%fVauI!@v1 zgQ+gT`1*cSp$*=`f%`0}$)184a_kHM!#|^~_8(AvSHSeTsKnTqMLhT7b%mMtIF3hK zS-yQUu8Xad>h1^NgKbwV8zXS3ty#(eO@*QII~`I|bi34sjVr*x2{1MQQg|Qnrr2P0 z&r*9l`loTYowZ>4oc4)Y%MBi5rpiw9SY=QuR_fKcxy;>;l`l9udeK0Qx_c!E`K;T( z^*7NO&vG z$KHJxZ;wXk>jar9v6JVdsd@4Qxcw4=4_QjgaFPI5uHdiSxQV}iaD<&a$5xu+?a>JL zkB$hi*xv^>9n)=`pnCHre*F4%{F&op-0F1jUY_Hv;SircJVbwI2YC7A;0G*)hNguQ z0GS)V;FddeRJVxD18g+;l+%xun^iT#ZW7d2uLgi~ALsx$34&}sAuV=ltHLcn97n)wU=(~nG-*L$N}9*r zE|ohTJGUSu023gjZPg**Cbv6gq~bn^1yp93;(k#IfF^ebo(D33qzsT6*U3UWUz4Q4 z6+~*kCD;)kmu1k{c;dee)a@a7l|wleIqk4aBLE; zieqYUKe2U;(gBpHqn7!T)%8!jeoOEy5o5BluBCIhDD0S^!4_XxJ1)mZ>R*)iR2}8oF>%Icrh|KCgV;=hS>Co9chT z1>L1Lq87%2%eDa63>pd;<|M2n8TyYN;_vQ0#)eLiu^D+;;tibuH*Qdz41gx1u|U?v zm9&e0^xk{;^^*Z^W(nS(O7S3+SW(N9mWYD)D!0!s&w`E!mA{<)X5P^~OAlESvS!7ck?-Q`8=u z1=A!otiF6j{@%t}3Us311t3Mw3c zk(cC>vb{}nwciiHJ&mDjH#Z3^vH&IpeH-hvwJw#Z*5PsMB zlLj{pZnp;pbP&dq6qT{a?>3**_l@`A<$e%j!;11fAb382FD z16!T=7$nl71(B;q%{Yvy&Jw0>ZI)zh=<6h*dCD$5l?*E4`U>;h(gq1I)wPGmgBJID z_m}wE=$WWsc=scDzvMgWp1Z02zS#JBJKY93ZY;uHSNo2XJ1@o~Kmx}#*# zZl{m?lL-!r0)w)|+oKV74iCwv|M-ONNt5uoc@sZ;|G8RDzxD&JWJDh)^0PSUa7CfYrsXjKuK2c#{?a=1 zCzqQE1J$PI;pdI1DPZS36bobX-aiF?%;EMHw-cyeU-{amb}}##pIe3Mw3zYpNHAp{ zAvPwqjA}ezv))-deGj)QJ|54>@tAQpyo>iQ;LSDGx+>h|xY+I1TIeazp*{P~=`;3DhWJnLWE+A!zX zOwkxcHQw|aun><(#|$%@1xCO9eX(XaZbw{SLp%LoX*hq@77T4Zmd}ltIgXFd*{_Y) zH`LQaE9cp68N~6pVv?E?Yp0nlAefA^#>`rmIR?h$b17+8CWEHc<^JI(PYU%i9>^x*@%H9W*;Hg4elWP-0Ao#4X<$H2h|xOAQB zJURxhYydCa#*f~*g+Kd;?_fLGz(G;qo$&-;JRab4CnMl^0IY8V`G_*MD8Q$U<>zCk zRPS%>ZL!@mFW7(ckhM`q*HKG)Tfa^$u-Mnmb;;bzXPTwen^ni0*H1A}OVrg^_6*leekgeh3b?Bhfk^$lTddpNdhpc$+ z(3REqhX_z`S!m$aZeIuQQH~ND7*PhN29!ImL-PRZEDR9FND>1m(eF4* zg$JMzeaHK4yg!KFKHE;EqHwQL(e*VT$W#mw(KhZIt*Bg;Ot;rsI%i$mm8+-Mb%3%P zyN3f>W4A7oMTfhM%Hekhgw(mbFQNMFpQUAgHZA+JUUCih?OBmOYvT`F`QxVhZS=1e z?tWsulf}pGR9b=3Q_lc7R^fjDH1j=tddBlxyBz;hDZlOgwe)|Jd=xiF{+4rX)#1}d ztG=IE{oe#YRIKo#wI&AV<@@vCECc#Z$-?KkJh=z>qE%H+k?a2~K5f}%B2 zKM~d3TiHLF?yHg4YKw1DTu`4~Sa4j>w;p*5iW;o|YdQPt!1e3+$vby&tFwkdX^>ls zw?`xV>d_I!(|GhKn3!{byKWbF=_UNd8#kb!a8MMuKbhc*gA>vqA07h7N7RO1&k3X@ z@X9Or;Vahw00+k4{v^kjhC_<^@pQ+z8Z1EPL3o{)P6H5l)*7+X(rz@O)RD!7Bx$t) zkRV(LMox}z9^++kdSl|Ov~;IMEC6L03AsE+(~LfsE>Sj>A}5Qgqay+~tR?WmS^|V7 z6PmBXA%PSeJe21m3y(gSp=5;I);bym*O>Tu>#RnyjLI7h0&~1pC!w}ebxj^BEFaZFLGd#PmfIx$_Z;ENgQV;&K43|A=Jj>vC|eK zO~hrz7A=cdW3*jcrzLZ^ zF_F+K$3%RtDBZ_dX{_~uzO(X_^RsFF{${7MT>lr{AL99bVSR8xvuJK5R?S?VHGXHU zKT`^db56_7p=ZsHH_$l_G8$>-p0_X7(loDy%(JTh0@IqJissRhTX{DH)Ee-ykK!|5 z`7(ZS{}2a7f_F@UL0MvdZx5HdU10Bk{QPwaBnDXT0k?1B$F5()zxVa8;;qpT+gXM$ zoec2D4-awg@eXipn}jT#0;(XP>)JK^%*!w1Umo1Yi7~i8DezARBMf$S(cjzx?%t*B z4|X_vk(A7^HLD}Mt1=-gpKr4eYU_g;=jq4n^4k{p*78>%`JR;`O?Tm}GC1x-kplw| zu$E@wUfyJr6wofyMqUK7{d2JS0H`0!b?-;Ig-8uv-2hjLG|`=o11%E*F_fktf!(f) z)iI&tgA+Qo)(83-0U6^Fl{GwZ0*;7MR8*MOD`t3J~;pYAOJ~3K~yN4;8Mfob5;UiI{2k= z>tvD!;mBRvn-jc)hlVLX*1+PKpcWj-;9Y8fDu4qS`Dw2ivG@&%V zN~4lRM)tJ@^`BAII1~y2FtIkgV07R9sUIQ9giRidRzJOw9Njp$o*}!>Nc?I{;pfbll*OJ&b97i zrwpPjOf$-_tV3tjj<#~=n2Xlb7gO1Xmn1tUh~GrZTChw79_IEK&>kl4GgeqiNo7K` z2h@VZz|?wfZTPNiAtr#s-ukgdF;Z!7^QpOL)%EAJ@2k6iR#`2tKY8=}zyHno?rhUU z#EodVU)ktz(?iTFp)G-?odzwPM_fhU%TiPMO~+$^W7P%l6c*5xsG@p`9&*Lyu+>yit4$jp7@dePL) zt>gc!-%r~Dy6X6vL2Md7`=ZmWe$j=!DM(aY4hsw{Oq!B}^U~elTca`J?-QFZX9CbF zXxCpDYGMH6^^?C@7C(Wu^sD(K1Qq4$?vG!!h#Ft zwUEoRPC7THhCy=Az(GH5WU|qt(d?_sCIBlt<%y16MWH z2W^^h-+!~#CR@*-&$8Gs9;FH7pK*pFMb^=1?Gg25d|BL2b@wv>X2tbfpHFvOQ?3We z-2c30Dg~^s)4jZQ=tMlL98+<>nb4-H-&FKF-Ul%IeB1qv<=UFLz6>qP|1!-9cFha4 zP2Kyv`O`K9P0Q^o2k~sXAN9v=d<~}i{4@ZLvnCH>MjwUngO!1@KO|_*m-_uw&Kt3S z#POP>rJw||;^Xps4D6m|5MO?-sbdS&SvP$a;(=FnL25cdZMXn9R;3GoW5xSdrBehr z>a4!bJlC!fSdr(>N7@3V!FQjW;2#eP?35*5 z&boLh&2TJT-mic2}if)oH_FnshB|HIw`^wkO07-egisd9+2Vjf3>I=(5VB=pTzp&#xQtBf^KXMjm@POGVR^yUA=Xm;1#6Zi z^MxvtBtZ%frm)auLpwd#l7t|rT33gE9W&;i&oOme9+UthBB7A)<=5hcR1WG2>YvHP zS%NrgizE^4cYV#{UBLy7bul-%zN5q7I^@AHeimn?!_VY1=*Tq!RWO3@kC{~oY;b>b zyWpNDUVG+ozlZ^Wsq+xAG!)1xfEjS{DWl{39P)i}pEL?Oj#y})ioGKK=kF$f+FL}{ zP!s4=`NY>nzhzmoh@0TYpsxO|q-zE|&?JMmb~|AW;^4u4o~CpkXG`$wkczrjyp!4n zHno3M{%fAw>c+#IpH>09<$PO=ygHt2Apz`+`O~(x%&K1kg!9bH+VWc)xM~5IvNWiy zbEn8FEJLmQZA1IGdt)9k&c;_~Ng#m^mZx~F;PZ80Gw(q&n;Y%FG1zk2@+>!RkvUao zjkoOmP2*2q(*y`H_+MWDfOGAlazPjL97yX(qpN{ix9}s^uHhdX9s-~k85~>V?*2aT zUfN=jmLO3>)?%Ek4)l+Ln_}|x_*rW)IWXmCVuL{ z1MEx;2FBo>@fg2yc!(c*`V?5-0M@PqW=xVqjpgqbg;w=hu3KQ|S#(d^L~qgOm}!0| z-XWXkGwFo1-VA({>M41prVP}4)X$-jOgA=m&o;}+oj(e??hSZ|58{nuz;BeAuQ{VaOzFk-L(|~ zS}?g~L2FK$0m%fFppmos4}b^0STn6t2cRMVDX}mQO;%yj{JZi&DASl=Wx>L4rz5}` z!Q>ULEY^Ut;4Q6YCKD3i_}pYdZhl#YV8Y7`p0lc9L7v-RI$%mCR92#=$CQm2BuPym zFxTOM9VO;pWWro0c=PeNjykP50}m>xf*A}3Y2~ba9Ah1W7>iJw);><}%0lS8u7an% z@3aZDjpxL1A4{dCZAlukpco6NGOVebZkgL*3<1gw+A$?w1WN0dtT4 zQ{LYfrB?o82^ZYT`Ih?I0Endp(^H}|=RaD?H<-3=YipCtRt8LizjcDR1lH>Sg7|k+ z8{+Y_>T9`?yKT`l6IaZPBPQ9&<`<9=Gl&yXsZu4c=(Y$Yv znaAj(YwE7FW7QE7KX>#|P1h{?d`&dR24A6NEjX4$m|r9d4u7vGvnYWy!5c>5mmfaB zZw)5cD@)w#_0Z88_sSAkuSan;`s-v8trN%88x$Wr#((>C2V+y>RyT!Fz(1F0s7o7^ z2_s2}u}xhKT$WY?LfOS__QEB)nTE6nbj`Rb`ymMFmbM_idh| zy;6Iy%x4*@+}Feas_M6a8~Z{yv6cXat5>OSvJ~j{T;GidXdF*SLz`wUW`_Yzj)C!z z{_kW?cy?AW>>iOMBupDieao&TfQ!YEl5o^t3)*a{2}{#pNddU+mjzhozETt*mjnlL zNOOK81brSCTxMO$S82U5C5&4K92itIiGJ?_0WB5|2y)pz*eZkjLXJ%Z_&6A81}~VG zE@f_6Qr}lBK|lZqGlXSHeW5_#`NRpMWoY-utEh50F6Tw?G{Y2xGR ztW4tHQw;ZvbF*AjrZn~3ce39R+T3Kp;md4jLmRMSqkdC>&-w#Q$AD0-zqDuvTL?)j zpwd|f^*5^Zdw?k3b9jHQYv2reCKenkP%A*uQW5u8ywAvYKlA>UPiz0qKD{#82D!vr zz_i`JY6IsTUo%`~{d(1OUX=H&6>G~{a7`f_gBhlcz`-a>khfHfc%yaz8;UWI#y?sjY`QQOD z##~o_4Y+y@KXUCFKD%)VxwROW67P)1I5|87p6*Uh_FAT|hUqx#bji!mIYN4uqG!>5 zzrjjhPbb7njbt&yf`hf~%$UFE{XUE0T<)eMD~!Rw1@3fxRyrYgdz(@|rVhjyjp*9E z2-XRuNZqP*@X61MpiMXKeQ;(KfP~_*2pZx#X35$h409|BfZEF0LMrcG02VQGA%!e1 zQ^x*?K@X-_dsPPnaNkNdk30|VB8dZZ3XUOCgz+geQ^+>5HAp2mt0ha0@z`abu_0aw z3z`gmu-lM-@6G~--&rmKa7v0bZWW6b(I0Z2Xcb&&;=KZxj<-<=xNS?4}aatoM0A^HJ;~1zhy&S&$FXykNgJt!>X5;5ZGM=eZXddu`yx ztg^lp#y9WPt5|K^=<|2*Vq~oRv2=k~cyV{cfVB^Gy?mHycy=xiGbL za+_e-YGT&bfE7*i8>y+?@%w1IZq@dkf$M>!w)NCADsAsE1`bRRI;;h*UBREe{Stoq z!4o{pExtS&p`$h49!>Dsy+bl}zjh7iBvq#9!>?ld_kRcP9E~wB8SZ9lxSvmegJWR- z5V&)T>MKiNKmqeU^~OiB_24lM$_WNWVUQ^NANx=7Z(iOcFy+=QVC>RbDmR%Gs*G7_ zoVm6TxMVhgdHc8Re5(oOtQVxj{8#{hk!|v(^-Wdi>bZD0uKN7TEYfwtMia@vm6DVu zmnHR>gswCpi-fgawJX`0M<*dACsJpucMdmF8AAjBxdT}Ei5_dYZ7jG%%!9GOqsJsL z-+6@up1nO_I0CvEaA`B7eH{+z)9V3i-5{`?49M*yO{u)`n3^z|kYF3XLw1<}LhKV3 z^7*61{-_XKD<-)sucULy8 z6I>uVYtB+)0^}vo>pJ0?AI@2=_~k?rCmeZF)R960u^kHV6E8B3!uxQ%=-fU28Dv=%AR2fm%`=HdE;-+LTqL@D?&9s_n$rq~LUO~*QLLsM5NxA(D? zh`%4v{qEa{_hm~eM}jl48w)Er4qdF5OP46FPdNfEU*Qg`_MM9QUqSHG(h4hD%j&4j zf}>(-y#%eg1+-e2%-jBG9k0Y#swu-p-;LF;*uFMu6-H<9HP!~cw6UC)_O&&?saT!| z@woAGzo|X}c60r_Ci*#4<0e?!wgvd0rKzp|;&BJ@EaLvyf`iX1XAQ=DiCjBbA;9sq zY5|Rw_QX~sv7%trew!DtS?T^I)+T;!t;NrlUz0a~^xu7xG$aLSuTu6?p6dA(Ti9@a zYq4|A;5H<`<@VVZ*cs)VLm^=Q6l^}&l zfNQy5LEAcLuI@Winz_KX z+#9y7OYch7R9ikMDt!;P)FS!!bRSK## z{aa~IH2*!|;l8sBxOSD+iOo$C!VeBeaKGW==8Q%JY>dYMECC#88s`3F5-b982V5pj z*y8yn85kB;S%Bkt&G9<8T%M;qKTG4>D{|)!QwHIeT_O1SeNatB&zPq043>8rNvRC& zVtQyr<@&a`HK)jf#e}sXiwoD!78&eP!|l&f3fh`Fs|L2LU?I;3t5gEek?+yCGCI{j ztkUv?fuhm{c7+NIBiALzjAXPcg#W zcg(2zZ_!N_2%uIH0WApESEhp~z-!9*eLH5n(k5}Qw4m_TAgEs7>T(c0uM`lb&PD%w ziyzTPvA?@NE(EM5;Uj*oO5gK(!-|Zk3?66P7x{$xu-gT$U#C47Hdyrd=Zs=T`2XGb zGAg`V0H?h_;`Ed`!8o4cw4bmhIbt^cF*ex8aodzK|y ze3<78TZ>Lzf6C+SEG>hq?vX&-QgeXrN#6Wx|H+%^_GmC3oj7d|#0F^KO19A)ZHsS zDJOcV}{MPDm?qQ61)Y;L;734e6S z*m;Cq1%?}_Su9q3e`n4h%(FnwxJRMt-&=RhOaNup!fo5zH>+)PU5~J7O3et5(cus{ zJ__+SI^B>dMQVN7q&iJqtOmWp=5YoTkK3mAGi5CiGha>!WleQ|4S4A$ffk(oU_7SS z9M`WCxN&^!T+AjReX{~FDI71NEUF+ts)L|q#Ndj7L_bsa7p1*w8{Y>-aY8z&)}{vT?`n0|1N+y*7~S`&;EI|zkLee08p`bm`nRPFaNvbI=(Xd z*0w*loNp5FPEBxa+rLk#nkG800LK&?=nhD6PNPPKVlddrg|X`xfAidp-R8~`kXVLh zwWk%3O{Ui+1~)v%3DZW_eNn{WR0H_5zt zKxXzVFc~(pHR6W2fV$)JHh^z$yMNyDXKcQ+%AI?B*fW}(&s)Hl7vPvRke(y03~)4E zAQmQ%cUZt`y!HP3csMDLXpICKSJM>VnPuqpy1@2jV*GibbBxZ%_xAAj4i3;&8G1?~ z0kEAUxOMe10T#?W!D(?z;P8VF@archo`Ky=5`6D^pDabX9j7@J0+wgw+;3*WUu1w| z)%w*O*Q`{*iqsaw6R0wM@))O$Jw73Zo81!D)`GyxOdO|0l|drU6WOVM=A>8%V*$f4 zUfmA4bagr|u7!)`(CLsB$CD?({yuO#pnkcuNnjD&yc&<39I1jEhYyIE2LQyFAkdZq z6aY{$SCv^n6as@(=GFKW9Jj*@o=LD=;OmSDSz4r~T+Vg2fMCmv!O*!WF@RA7s}aNQ z3X_-(j!Uk@0O4+N*C#5}$-;mZ!X}S%&J?5&tWhioyz#&Z zgn;b&$d3&!2dG$;C>2uEW-0Y&n$lXFi8v-~A;n{kg0{DbMOujX z_h?<+u|_*u@1-EY78^w|?HVQLeFY$}qD}G|F@BdJ32?-HBB_*y{t=) z13*}3l;RyE;XKzPzqJl&r}G@OZZ}N;hYa2y1MqFnJ(IY-OYT!=E^xN-{|)@xsR_g_ z^`BOd@#j^4>+P)wN|^uh7B9rhwN89^?PMXIGy6%)8|D7+HRp`w08j-dZ=d1#ZjfJD*v+y68KOH^jg4)_)!xuIRq zw+^vCxXpl@xA3!f?%?I!-^IWfY$q8W7CF8&IKgN4_sRTya}$-Ibl0!rg`K>_y>1tS;}i4; zF2(G|25_<$1e{o-1q8wBylCp@p=a6F*u;I=wwzU)t$3fDLXzDJ020E|giNT7i-X|r z6>$PsNS0dC^G0>n8~&WF|3Ch%6<~xgT9&}h4)F5JbX_N-b0^2Zm;WH79_{sL-fnEr zye(WmDn)&43KzID3E4gPd}#m_L3rml7fBY{R$`i&m74w>ksw<0{07yG4(w{gzopfI zaY1L-I>CA&bxc`d0?@W(gSLF_ybvpFNRf z!ZXGiC^VpQz?Rh@tbUw2Fv!3u4K<)S*UpW|S>0FwQ0`s_w5Sv=e{C2a zX%gyGD)b*)#aIa4NmL$#Cg3*8wb%MveBfE`S3V8|@Wj6}RV^nG0<`QS<@#BPYptPo z3k0j27|gM*|Fml(Yix}xOM)OuA!MwHXkmcjl!&c4*h-~|>7N3cG`u?s3uAs=EdiwA zI<~e_iel36n%eEs`k)jYQ;MvsfRGwmT5f3w!3kBt=Yp!#)Gw>{*D@BM&x&LWmh(C; z3{a6`WvX=sSUKAluOUGF^ROZ=wt85peM{ai<0Gkt_DFz}$pfAU>qrc4oEF(=eXHxM zvjB}&3H}M3ZXc{jDb_lq%`zo1eH$A=Lvvmy-SeaikmFmElm;>lbPR62`Wn9Q?tA#{ z;Sf7ziHDO3-X4wc*~3H925)YL^pKqnX?w0+!_VBggTMXc5CdZ{C`;VWbBdwx_%U$v zC8wEmX%*MjfSWh*g-ciQe;pnIP&hCKUmBd?GdnxLjcYVleE>sLHBH7bbaL@MZ{~rL zmRW1&SxD=yS=4NB7A;!Fyo-OGK(AEwe%8<@jydNPoIudr%KNi42w1b~J58Fm*cjYs z0yOHtjk0KpbC1WSZ7#B&j4@p6t16FbwycT60>JPSN;S41V^dt(f z2?02zAy9#>7kC}v;G}+Bvg?c!m^tNa;jU#%4llF|CfP*)XczaQR6t@0XyRuzI)Kgm zjK)$uodn1g1r=q%H_L*Xk271~q)TI+>$-9QNHE6MjO11DCj2N%3_Ewup~=b2}jMW>;` z2ik?rwqez1*;CW6yeIkp-CU4+jo(|`|7jL14t+X$1o=^JQ9K8vOXqo@MaEjpZy2!` zt^!~-Wj?IiN8g-@R_{CfAio27_mrR zvB0aHE^zY}(CrZe&5@Ur1poTr1V8=3*8u>xvJQ*|KAWXf{^q8Ox8S*S2$h^*8e{+B zN(Z!bPzycJ;X7B|^MV--s?TELs@e?M4b?ConWUG#o*x7n4OHWtH^Yk za*Z@5SR$M&T6Q4CTjG?UM|h zR={XN^D7ng`82V0=J{4IiHh80v;-sB9mDM}y!P-pw%$oN2&QwRNVAZQ#51Mt9T!EY ze>9?4AHyO2Z)}K7QaTF`V+fR;xHPNma>viYTxL%)kBrI=nN0HX^q4vGQ6S`q-i# z;Hj*8lDBc|l+QdP+T6CT&T>(y+m9p|l<1niMpTAdSL3x+#wy|cukuLT7C1pn0GJZ2 zQi_1#Zja`CmWH)Kt6)`x1YVl6vJQ`yh`yB1F}wTPFW`1Axqi0s-|_oh7;spU|8J{j z?sl~8-z(Cp0EM^Uh~pgCX#6ZmO^+yn3l6HRby&X==c<=x1d1aAbOtDAIj0l)&Rkk^ zzAw$_f969Ks&mb+_1q5e+-gQ&occ$Je?=!TzZNSbq%{YxNz!$18F0he&`)*pYn|+> zboJV$gA2~?`yUI8v|IaAyfO;s-Fg1#9jFTzI9=>Tgz zeCOS}xZCN`X=|~Q=XiTG0uJ`cisN8E`0Oi1bL;jk{P^|jcv_Yi7=weNz&qnHUH|wo z2_3AF*Az>k|H>=qt1f^PgR;cKyud#>8Iali{=V~_7ZZNgLh-y8vzV4Kh2y;KGSYsV zhJT)8%aANXwkvL9TN!PirnWPKpJigBHO&;4oSF+WQ(0w}OHSUt%2 z5zMTVBHjgG%M@#eSkAmAOJ~3K~$#B%7cTaazC&}F?H{x+a++O(+Tg60WOZS z(dmf#IrfG-o;i0W`JA(8Udv7vEMf~B-+ys`)m%4gZHU*1I`ZS)jVZR|nb&&vS5V?_=Og^TPj>J< zSFZv$ZUCL0)3O&pe*?Jv3O=>|7T%kj;7Ok2Gn<>ZKPmCWgCl%;{|LA?0XF;2RD1+% z_JA8#@Wa3OHE{(iR`K- zv@4E76<6ZiMY!L`6X588-s969pw|bsx9Pc$kKtWclya^qW0wjwCkBogKnoI<$75i0 zLUVLuT>v7iZO=nf*d;=_h9(MO-WmEB2a<4n2L7;y*tqBO*-l*fT7{IY34#KdnaVt; zXW!o^VSO|T0L94>aCk`1GjJ(s+1%a$u%qCj)9C?+CjkKHYoNPEu{UzIHgJ`*g@Uw{ zNW0D=2BiJVbH`YB+`DpC7pc2GcUBvT20F?;uOdxhh5$@K0VpUQ2s7q+4y1~<49>37 zNrALa!Dcz2YMlTttzrC{fY9&K<)ak$TONK%br|~f#cA9c*8%0uIp$3#&dsNE*ShCW zZY(HQVd21tRFl;PbeQMHBBU1{1vYw)KBi{;`D`1zQFL z+V-~vpMOf;Y1{u>E^FoEL^&P=PRQ~|DPU`Z_J+)Xz)$ypaY5_$-a%+DzlO<#)?AMD zqZoL0Ao1AkpZ#6{hFNCxO%gnrT$k!V{i*#urX|OR70)HD2xjr2S_O+fz*!4M^~aVU zGl3JicGQ8`@#QtwG#MfIeqC|=wo&c6v&1`TYDW|J;s2jqY&vzM+a(K*y#q>}CpYp7 z3e=_{xu6%DSc3=zbAHz70Kmoue&X(3{EdfCkXwVdMp#TV?5m7!>uPzDAi@R8#KigW=ppNKrb3CqOs!*t8wu(K@fToiPs+1NCUy$AaiE? z)=Xb7<0yQyQ$7Lmlq{qs6JW#8oa}TdAaH*z1leSbDM0_{e9TrYUV1$e#3v$4htx2{ z+F;h$R~R^9al<67Z@6wPggn-;dkY91>XVt0xIKJ*;lK;2an3S2$5tIIw9D)zOce{4 zZqV=*&U%c26(+46!|TkNiz380kk$~16R=Gb&w!b5Nr@9^Ii0Kp3Fv$+GkR(21XK>d zD&CuBYbP7}o%>9>6Uq0&Zb3W-O7V^srHVk$RKtL>JBzGC2F2s=3Zpkin`GU7y)Xpk z`P9OqkG=a>3zNAlNr7TfiUIAoJ+t^SjtRrpNoyJ&qdcA%sN*!pY3kBQyOhhTkhOR& z3bM+c(6axjLQbmY}krO`w|r#h3zoe&|E^k*|IYzp%4| zhs6Zv^9osqbb2(dZ4nmNM3WG} zrutGidRD`AUd@!;Am+Kw|86>N!v(XL3~w^oQs2}%5g%`;zYQSPO_puEt~8miiUKod zme0qALlWX=-NV1@);}58udVJjYP~eFu&L|siuNZKWMa#isQAQze4`P?+sHC1-PT9&93hb8C={PW=2;dh$*N;ZdMaKjXqeOV`+}A}(BiQ0osJ>>~vfJJNIk_f}2iJ(7RO%fFUr;CUmT6UEpU=r&%9= zy$qJ;-Ga)%)bev$E5@S^>#U?UzChOu3bqW8_e=k8pc?pf%6!)X(8!HJX3MI{xfJfX zAALGtOM-~^|JK2(0ix)$B>xN%pc8ka7SCRqnzc&I8|}si69!>k+&0T<8 zOE&to^k zRjIANrs{92yOHsz_IXo3wS^Jz22Qrx7YueE9gsC&f1TVB4QM~gdcbEt2mD)q#tHRq zU*x^*%U=b4@ArUT`W4_G|0a+>C50Z~_EA^gdY58?ZT7>uD=p~wxte&5Had;*F%OT* z`~l#s=S2GLN;{03@ruB2Gpyf`lEJ!r+*JwU2`T4s2Q&9ab-|0Az z;}Y;>hmQG0)J$u5UL-mz-_Z-8!o)6=Ke$#ZPE$@Zne z5chWX$UOX|+b%mwPA1p=HGJ-sJJ^2b4{<9^@h~^&mj&(*hPb=?lmstMMaP=i%a`#V z+_-`N?#W{ulqC*IgD(w-__f_#d}e9n+fv#1W- zuoiyhKJD&k0yb88)>-#*KtlOm3nvgVcoN_L&62K=$8_ab1UPk^#lZRoxu$SdklkY^ zc)Pe9mmKBD8sy_5C61Bz^j@;JSyCXw*4qRzvMbx8NLfD5r8T{(sT_FG}13BH3?AXi4SU`7?h}`mh*mC z8sZ6!p)ovmZi(-IgZ7Bwh^!nhU8ZsUv5x^i@Bona^%@xF7lochV63`LYo7)u6uV+3*!xkK6aIq*#z`9H*c}@UFJ`td%A_k^#YmgC{aC8JD@Lnz5QCNWIwlna- zn(D~}809Wji;IG9ouy0R#s>#J&E1&Fl3=Fq(-IqDx}Sx>o}CUtkaFd+u)qa4bpc9K z$2{f&xZr-zodC{2oezpSsm6@anx3P`DRzp|z+fEG;93*FKlx!TB9AW#Y{(cLN(BIc z0U}dYHRg3=ku7|@nMMyWx5~5Hofeht|3d=u*yNM8p?3?^G*< zEx@NrH?+FIkSoy{xx7^73Br4x%G%I2=azWE&w>|_S(9eb(J^rOvRfxzu;|GII374a zVnh}k+U;+buh8|M_yq9Mb^tp$WjIp;+6O-NQQ#;48t@B$2YB}nsmz@n;2ZDZU^K+m z)&{NlqXF>f5v{N5>n>xFSZ6pZ=R9-zS&+0y$VF}#r zkdV<+3U@Zv2sK~t!pBf>(W!6m?&6mZPOwuJ*whJbWf?xZwn5;=#zycBRzM|qrxa>E z3NOA-z29mW;JL1Czr6XrrW>0;SylaRk30XIkc6Oh)0UWI+lCw`wt&eqpM-#YVErB?d_Y%EV zV~C;Jx=iy#r<5i&bplGFLtKS!Hv~sxZFr9|C6U#DA#mg9h|YC8VSh<8`XrGSN=8{^ z(0~Di)CJuf4(Sq(rNV(JjX_0Q#Lui$$o|po(WCNvm9Zrl+!ze#Gns^JDZ^1<-joXU z6=ikoaebU&q}L0U7)nw7NkVA3T07<&m@$=DEyp8!VpPbP5$Yr${4ukcL%m%{QrDWh%502RIn?ViE1R$+oxIef(GSi5^##x~7#|jG& z?*d{&ozh*9Eq$yFj6U~k({dHh4Ibm(6;JsoW86E;r1q8TE(+vji3BzXH@<#ZZv((k z0ZmcW?$$M2o>w);+;FShHq%63HJyms838$*I@X`#`DMa>$d*hDCbIRBwIQZ}b#u$d zu<*VBvzrwM~!shHzh<)qww~=(_0B>(Cl$4Y0chymz16QC@q^Dd8St=jl`Q(-gRU8~E5iLjm${ z-zLRb$GKoKFUnSI$|=cG4P3nhtZe{$dtv=Aa`Yw>U^1ljaBza1<74zMUk<^Xd2I3c z;&lWy-)BXQ<-2jh06y=9K-B`aPPSY`=;zxP{mfn08S`&vEkD-PzW_KpZNZTPI2n@Z zXxasmH9&VrLy{j&Bl>N0*79>}6#r*nwQ)h;ywu5pK$1A2s5D_QzIg+8?!AudU;jg3 zm}93ba6g~mR}K&H-PU6Lz4w64P5R_H&?h14(!JO5#@D}wU)nzb(8JrK0Wt-A`oRal zwd=sO%Y>4b8c0gu#!dV?uiwLe_}*h2lm?kncvuwpCkF@kqkDV6%P$MyLilF`fwA*x zxMD5FbD(+aZUZvv)|ZM9T*C-U#-MJ2Y!a?3Q*a zoB*{zO26TQGXSu5epdNS{=16+RI5^(1&2&4S9iXRl7#w%{fuv3B8F`vA+RE!&>UwF zvg52Oikz}`bi2UGF$vf}03*6x0{_d>Sub>4uuEq>B^heT%mFU=CP+{^K6XGr8r(^Y zAroIyfU-P*TtptI6mN8tOpWXr#kd^}0F~#f} zBF(S0a{bJv&q7-myR5_jS8R!(T-Ft1oqH5zU&$=hn_CT^Aq8x?r;uxlfic)p3`QZu zabZgporFw4+$`wI{}*T-{R@8{+rRx=lp*Nbza99#?{j=aPJ!}Y+6FKI4QLS{S_<0=z_+~t z{NC>aA3UNgTd*WUKK=lh7`#2qaeq?a^E*!{iA7li09*p;KK|Fdow1^T8CzF)a(kN9 z&Z5l(o{0e`c|VsikF`|gnzI&=pD{J|=ULS^dwxz^aO4I!I3$KH&wo*zd0D<;UvdalHzWs zgU3aIH@a)UHD|>E$CypV02Ds8e}KR9bPuW0=xdFG(%|Er3|H6INR!-ObApE<&G2}P z#~(bw?+gamNKzO8pX{yU!`*JM;z+sOQez>W0SE#~#ggN!Xuqu#6j&Wv>G@-PjIw62VDVnRpp_{X)f(zqu$QHsuE3IIFj1z2ACoIWK z7@T&MEe8~Wt4Ub|A>If4M6f_$ONuUAc}b>1QCV!MvGatEkH%z~$-;U;f-w1IM=>Up z3b9HossecCtX4W*`gC3N{Z1#i{782YUWSr{UdGWO@fRm2E_;g$06QAFHV#5&m+^#{ z?7@J}v6V_iyJrJm!d4YApvZ!&x12z@ugC)+#6XY-Im!Tjm>R~mB52rfOj?de%MG^h z;Pc#8`B8H0N^3Ag&&}Vu`h1=(QZUvcQ3{FD!5YDVGYJ%WItj-T0k*K^k3uMu@ArlZ zHds3FJd1tk0hu9F3@ z`xMx6`(wHWitx;PL8zX1S+pst&3uKcK`deG!k!02`X>mID zds=bq`}L*k)*eRaR{0zSZ7rU6?3+gtd-kKV%%ef7%#Qsma) zOM@|PB6I-@KrV7KRgg!^7ESO8d5gEIn7 zBknZ9Y1b(S+_M;f#;J1e&iz(~EH`2c9_!+E9FKrrKUhjw20;{AOaNrXaj8Shtxg=U zVW{0wK~cKc9;}&?aVcO>F@MetSw2ikU@d{S(oiY2-)hoomo~U`Jlo@i1oa?bxUS@@2;LwV3?B7A7TK z`aQD@^L#QP(0KnT?PEy_eES=~zx|^Dm{S_Kc^mlDKMNESvT%IqCat^sZ_~X0hyOS5 z@s9(a_zqg@qbBpN?<*e9 zDq1U=8dA<~M`MxzE_U_(}vDZ{5V-c({YyTI}RGGNow2fAk2ru}y%X1#JLpWZCiOwzu(n z!x7#YkMZe#A74Bf;MKi7@@Kq!nZS@VBU8h*HQ@Sn{A*XY@xSgKU{D&|pG@$@lL7AT z?^96In^&oQtR<{01{zc7^J#Z|8z92u8GtjGzp~6_@{v~jf3=t+1s4%TW6Fe;se3=8fv1g|ENM$HkAXH zSYSObd?&xZy73jKdtQYYL^&_d-9~jG0K6?E+ko8HC z29Rv30UVwH4<5Q$Nkbr=P}Z_!8vMI=dCSFhMA$c))^ZMRJBwD89by1Xsj&aab<>D7 zr|JDSt+RFStM1%V?Qc1+&v?GpDi49Ff!(wQtvWqh`Y((?1=8pZM!<>F5@kKwOqBC6 zRtYhD<~Y3Q7i7J=pbJ`>SVPLpxeuV10$oD^c&}Z?Pv3nR|Ksj4`Z{qLRSf>&lPCC` zQoxhEK!n0Yn`1@ZrJ@VL5b+UgA4=-ae&6+(3T_;k z3n*F?!Sr3Z)Tpe{^+G&cW)kNzqIIz3kp9x~v{Vjk;8+L@R{G$mZa*&B?ZNHcJQfZP zNnnMdHn29naNj&fj3pu58XVXHxv|K!!PeLY0V%O0_$8?e6zV|NG$E##g>Qh|O7fg6 zh?w!_6u4|H!$KKr?${kbDQ9^!2B1R>8I_=7DavDotzbA-18T0Z@p$3>HoHO_pm5Qta}>LKiF641+DGnuk+o!M~qG2qhB8 zFU_=|QktsEihNGaI3ukU(v$?Y^>vqhXacA*1R!4N`Bz*&%^lY2P!+D z`A>Wn`1BtwmFF4&03ZNKL_t)aex|iPaO*a?0)FjXiobZJ2MhM44h0zRy-L2<3qB5LJAqy)Iz#kixyv7s7J- zc_}_MTaPi2Q&78__(i5B0J-g&Z&sQGs6QhL0LQQh5y|r$=&qxJkf)A$-dLx>pS$DU z6#I-!%`WJhi`oRc^GrP6*_2KxLc0eiq}jZ63;+K6Px1Hm4>2$$-WiYa&UlQE9UkJ= z(_P@&RiLklfz;MpWc<+97XIse7XwqGuMFNA4DsoM1K?mE=x4-O!38^A-@w0g{W|{Q z!4dxM-aZbD!LT&gIXc4j?k;U?S1wa~OGEWYH2N9f8y7SO#X!fR#0+N676qAbJu*Qc zF3WHnaKec@R!66y?K@AzffGxYY39k3kadHB10yzFt*I|ZQM?Bx*_Rc-!CBB4Tcf2@ z&gDY5L&$6^ydG36I#iW`_VG8;&<+lGRu&<^EK{fBqSw1jBy3F~gJp7CiV_1;Vo(|! zm=Y+-a(K%+?SHDMj^U65!!!xP9cLHe_D+hB($&be1Qd94@B5EyFNAJQtKO~X2ijF{iGj9%1ECMiV1lDmnu1iqAp`Xp(l} z-VOIv0}*hg{Qo@GGL7nZE)CVG$^d*S6~-SNK)SN;JCAQ(hiWvVMvT!|a~dvm&C-~% zJmMHQT%Oc^`?4a2o9koHlJCh}HlWn4smcLC+%IuVCST+;7I0+wrsmix# zvl4R71D|=?LY)LRylbDEANhpV{E2f#%qIk3{HZ_X#xqdy_)0)Lj^K6aLUwFvQ?R#KrEuNNzp ze;&r;S2mAOd@BapFrd{OL;%nnEzBm}*hmMcQRC{fmuIEkZrJMLyE?>rf{%8m9 zjK_GR+r|BSf}Q<6Z0|e;Zr^}6vE|L+-aV{;?dy1FJj4$wg->s8;H}{hpWS&1?CsJ< z0|fu!srE1P%$U81o#o;^OXJa2=RBx7Q19!vNICOZVw?rB0MBj{tYy!0`sVXqa5F*} z9n)H`r2r#n9`oMT{%^TI_OoqsNtyaTu0Sv(JZ?K3V#cf`Yl_>qfJ>L@{Ad(};PIGZ z404RTrZaawbAf@as7C}iE2IACc7the zn$bJtdN~fmWI_PMh}~yQ$bgdPPLM?qAYpM(SUk*2>{x@`SPT-NuQj%Hg6$$lo|hyb z+cJ!|Bq4!ZGJ=J(IvI^a%2_s_PSRk3;00VopoUCOtA$`Wo&*=!)TJ}!=Y_Ls;Or-r z6u0iVB}n2m{BB*$ve3UkFz=pMBThFp9On0i`n8dZjc<>}^uQ3vlxb(FVI0Vj8|sh5 zfoC9aVlbygMea4v)X2;maarVLiA;g|FBLH?i~({>jb`9{5sHOd3A`H(AIHO5_<*cP zG3AO4JWa2IOL* zLU9Wa%k{aP7%hc_{`}n5`ZMGM5 zLCey4+3Xe}<;-I}_}~DK?d$llYuotW_YW~BOFS$JyfYq?3E-m-fJ?806qB6}P)zVI z+`EU*J$Qt#j>j0J27}VzOD6+-{^?Uf!Mk1Oe_hbrymSdadHWXrxBWe2O5wkJ{22f7 z?b~=V8shri9>vPpbf)zXjJ6~x^q!Z#w>4|c%%(w#AsPyqlscLxG{Kd zi<^um!MJOuT~{h-?75B7D!?;D&d0wdTX<;0ifemY%!0Nwuyq=gh5OvP7zM6RHa01~ zjkUnxK7f+6Qj-Z;WOchF$jeL^N|Q{)Kx4_wCD-A;*@C8UmJA$Zl*btZ9;H}206+qvt7u*6*M!a8Q;Q7(2*3o#EVAKHO!Aj-()l%AGrT>u_oopQXCEE>XIo%$r`N* zrqkef8wvwhUk+1WDP+o4nwq<7`fmNm7>H2{88j$Gu?iMovb{wCkBH0@lVsL&%dJNz z@aY)+H4JXl)G=k%VaU>j@2wNUwIXoOpNp+GqA|elB5~Fl(uGJz_sZ{ZBKp~Keo>mG zd^inj+0zE-X8|(jm1fOd+j33axzp-XA4kcRrxk&5g8?bi80a`Splf=48vC;P!$bO< zxHRa!HCm53_;{~J_wMggIhXsi4tM*&Mn*1Mht3_Q$f>M@16tROq4*zZ3S7NP*8g3$ zl0dMSm{M}MHD1+#kTI>IV3A`mi7YqbzFoHdI_trOT!3F-s&((4^Sz!D5oenlGIbv3 zgwU_`s*9sX&_Vl6r$^UMa`MY!4ax;w(6<6fGg$8*?wGOHUc*nk`!4?W&J%1U3GPou zxZ6qaVD|}bX9;j;I|xw#U{c_<*YOiy{sVmeoj<@W-Nmg$m3ODDowd#KNyae`H^`AC40ifcZJM+31L~vV0KwhNG)9Q~HNQ=ik z?>ihcI_Urp9s&Qw-vs`nzYJWuQZ4W6@6ukuu9~GGD~*jU;PGP$RiL|+z3Ur~fMg@M zC#D&#p~Eq-vqK=r;}0k``N;vrveE!H*NNxNI?nw~!DoS*6=W0$fMwG)@&3OkX%5;g z)+K9$Wg;K*-z&`XZ#MVeI+|x4v=%bd%2^Wa^qf)%a1rMlOiQexiNlP_WI`st90c)# zo;|I)aK1=L`gtQ>6xpX-D`2gU58b+r&%FC}uMK@?JjPqYA-10GVEyS+7re=#|9w21OtAC+v-dVXwj^1e(9g`>?~S+-??qYL*o3S|Om>n}WcfTJI8S%2>NbkkH*WK;Q?cHff8@LkS=%K{m%o0+HH1nAUyjFa17M?!cmDdWeagvww4Cb}!=@+9yx8j1;F zv%16$CW$|z+99Axct049xqw>Wsw9R;@@^;Ackhr`SOEiV<;s|W#RY)DZ)-g#xJm*v z9M;~Gb^JInm;wuVdYS~rrn{No*`0O{pmtO(5Z^-&itQ0@`h%JzN z2AK=%ZEPNSHNKPxgJUhq|DgI$vfVKM}w?RX#kXf0J{5WjfW{EM zLl4F8DvkC%1FY_AA&y1gezaF08l<`VO0E#BajL7RVLjUczyD+Wr=R`>{_EfT23M6s zV-5a%bBm4d@sI!J3*f~S@cX|{U_{4<%MU)rfA+l(@L&A(=UCwkA6HBKq&CD<|Mqj> z{lCq^m!rSS1^&U0e~5qb&DZ$v{^qy%L1XcHvB1yYHu%{WUjYB+-ytOaZk@J!>M%J5 zY}m&XTWib`vtpAnO2W{Nm6L<5x_+NuFWfuU=CS&we!nj|1px7UAm^r*0BgB97Duy4 z1$O{pL+?AFT5>xK3v&Ef;!XhL>ob3sgX>b)2x$O8XSE1LnYh+MnaZ7G%Eian_^!ou z$M*mn@XeRR#O)AWQ>-E8%oyNe73Za9WIdwbYOONW7Xg;tgmyc?cObtO1uTfrxI8EK z2?>noIGc@aKw7Ty+`YM ztl;^d!`k(LsYv+dZohUw>v~-GJAAs`;(vSl7O(0WKV6*TRkZ_fioiV|YjR2b#kz^F^&;_YzY_;DzVb%6qiFLj&O2QV`G; zEY{wmg#Z%DZH0l1;L_qfUOSgraK!spmcWh`ueH{DT-gdMYjN#88hCCS;+(fNy+fII zwqo!~1=XC~8!bH;1Q4*rhwSlO&w{~MBV*~)J<;gC45Uf^SwN)BnkN8Zh;7wwVF0_^ zGzeA+G6u#*Q~J$@-NbAJxvZi6W3x@$Hs`LBUq2N9pQ_ITqb^k8o@@-qK#^i5FSh2G zEO$;=dE&hH6d$7SzT~&56t#1J#a{PKti7fo7tEWt`26eFsI5g))%f%`pW&1L-m`U!Nzb*GLHx5bQU-Kg zWVCu^6;SH8wb4yR1Ze>sM6)b{)Q00zh^vtVFYS7=z3eS%+%}sScf%OkTQ+yJ&vae1 z;1JV$?*q^%R%QUODrlZownFPYUR53q&#lH7wBBP?Rk*SiD_h}JO#(9sh638SbPSxM zcJ@3ksZ;c4x1%^H{VodsyB(DiVwqS1gLf^ZCai2^R0YgvSlJ?Jfx8UA@IGcEp%=#Q zMUB0L=rhW^04Qv?Hssp&yHMs_9cG2ReifIhWr>Iz_=cH!i2d zrI%5H!0&Ch`1JakfXueT&;RPL@UwsR&!YPxKzu>l5;)P+6hGsOFX;PU z{cB*!7LQ+iMfKH7;IIFhc+>3`_@X7Sl;F%>t)mc3M1eUcx06zQxaG&5$HXC4dftQ}OxMv(gr+39* z@lS%Z)dq0*A)*hT0l+b1v9Zs=b?Ci^nAIiM=9@5Ix9b0LNfsMD0~>u8V=?G4uOuTy zmtN~tT{^?WTsz0wsNZpkrYwMRVRByznn4%a%|RN2E9Rmhrb+^Hu5U@`zB~u&1zA*# z^{L%axyvOe7$XPsmB5!;o0kN3U|^x)Y$6iZKtL#4N8uh|fgJ>f7)SB3M1w3rM#Viv zQr|9@25Fb|Elt6z%CAwUbMF4ilV47293A)xNfj&IBn^R zOW;xhhC2G&G&CoL1atunTL48?=Rmt}cRR9@S+K9PcXUrx1NB*S^AQs3m8#|} zZ`(L0G_VnbU9I)Eks0qJXw@>H&=`X&Wd#9naLxiXTznWYPoG=125LDr##L40%9s$m za%F+F1KP@>@hquY1Ytz=I|S@y0CQ^Jkh65TjQfS= zZ7t6O%jH_bfpQx$)@70GtH9hJRU@VRB_KJ>IlpPli3FBVap;VG;wR-y;j z!71LzMfqTKe(%8>8Suj&(m^BX>$;xMb?@1#WW+?T zL{BjY(%_I`t*~}Y(bs@^x0yo#&WGMF?z{Y&<4JTi3%6n&V2M%D)*AuTa4|E7F!W)+ zFO2h{{g~|I2m^T^<06`40O3@8^Ck*Fo4e>z(snEm8xqD10~P~7Rs>}i-6()47~d&| z)p-IKWn86Sbseoh7Mvl;@pINtTq|Q@5K?2PeY+jCTO!*##};4>z3bcCm~pA=s9#R4 z2{opzb67hUtT6x*cvm)>?l#5(7Pzt&uj)mJ)j$>q%&2-B!Lq920LKh)7#0c}-v8=~ zqV!7^6z2d_$5=7Dmjo>BcKj|j)NcWzHXE|sxLA=NxG|9dZpH0{1y)HLEALDIA+c0# zn#f>lrZ)UT_}jqZiUAJUJI4ZZ3JJgw<22E;D{Vz!2sol=dw$O2s_W2rVC^U?3T@%^ z+^=>!+&YJAerMMlLuH*cr)9?b%2rtS@jb75hpW26+B;mCO1*oBM%*m(zDdj&=VGjr zAZ!i$9{Wf0Cj>B*cQFfkvg-qTxg={W2z$NyO`UUzg-GH2)8lW&G#&9-Ytnhp)X|M) zxumQSyB&f{>bp(@0lg4&sPv4)X82tb(7aE_EC=Yup4qo-{dW>TQr2-v%tRM?!?QDB zc?Nv_HE?%_S8}GjeM>GSbxr%|=7RRc-~JX@TmT=w0S zVA$_{*?LO)Bgz%I{#g3WJh-V=l#THpPVF)ANBT4BdNv~qA7kP3OnXy}^_nKK^BiQ2 zeS~Gfi0`h>x15{$S*y}$S-?F3M7u=ag#+oCo;JB2c=?k4O_7+Cug;^ewDAgBh%x>6k3zp7(&FZ}LnX2lx=q z*RRXsv0W^pd48uX>Pme#tgSXp1O$>peouhozNiFf9rN56ef1@o;C}!6l-^FP3Hpwh zJnw)NNE_8~9D?;4fM|Oi$L`o6q+kUi<94x%E-Rju2O&ry-z!#*O@oltV+X3g-NrJT zn#R4Zf!z%;m&Q;XYj#ViDgsQ;&Inu(iw&`4kie#kMKTPHF}QL)Rt~uCDelIK(@I}e z4H}T}dsWx?c)2927OTJvNwsR&MnU!wNrAmu(ZBa4YQKs5(FY%}8{IAN<~9nO+bspD zd-H~@+FrioI5M09Rx+V9HN`OT4tTSUz|W#dHT$+A-llD%72VYpeXeWL#CPm6({}M0 zsYhu}n;=Z&jI4Ao`#sTEn#fR#8&AbrOwn}qEkfF6Z?JL>D>z&`k2QK+b8$ajEbv*| zvTF%&#Tu-2wm=1d(Sb#;9cNVOO|Ztfb`Gz*9^j_=5OB!`avZAy3$OD^lb{w*h`$N@~?NMIwQ+#N~wI-OSfn04|@CsB>{hJAYLRI68tFh2G2>zWwFrimJn zr$W!b#xp%dk`1q})CQ{o4z(c)Lv_d|Ic5U*E^f3*a8i^Rq_F@|Cs}apxsOeO8dKL! z-ka1R9ey&=)v)V0Q$dpoXBw>T`e+rDx9iZT;QLZwoD09*OW8Rv!yncg;PbyBP{5dI zYWv~^F>;M1YpR;ZWxXb0$as!#Vq%;V5tN1b7k3f4CT($jv_zKoQrA>>061!@XS*ea z(R&iQt4djEv@w1~$ikA1+3js?^L88KZiFD2%w#Uejj8E+ylPv#?hrtZ#u$8D6Clz^ zRQ{@oz(&)=c3B2EWbRyE5^!+7qI<)>#$)l`d&EdroVDiMMN5>rjxKe(JD#5$Go{^8 zFkG3huBR9(%^AJZ+qcx`mzPmc?HNRsV7ogVJEbPABiNlwf{qG^qt`<3A_JSRg|R8C z0geE2NI+^6T_}8)&ih7E*plVdmGNjggLO}_HeNLiy(5k-a>eyX5YwCj&|xFsab>Fn z_-MVu+FPuE6ri@`;?>wHT5uRdumOmGjR+3GTE?RY-b#Fw&}U`gVhyKfRDglFxrmFE zyi*;IN>j48^PIPZYdLB6ma2;L=XMRe`X0}_ZYUgmSIN`6f7UQFje#374aUy+`^XSC zrwGz~p1xOuva1#Cw-Vghd){L_t;w@9244A@tz=*0J*!?uKDBO!{Ad7bq`lxZn(e6? zQ~*v_@Ek+=`js(DcuDoH_p#2|XFte!G++pfJk$M=F{ts)H8E0klOERjLE(J79vBuN z_$$Ijrl+z%CkSu>p*tjt!5*EMq{jv~=IZ~hAC%v93Rxx&oM&>o_K_8nZ=e8h$a9C* z^Bvecio795Gzs7kMgfQkjOhAsA3Q)5gNhQE!y zX%39KHxgHk7WneFz~B7?5|Hn9V{ou8p>u;H$cO#FcSDwsHxfQ!qeWi-Ke@i0LI48 z{+v7P6aYs*6zV$QObq)fzk?n~GPwY8ZXt4$?|Qn z1Uy?KRrb$RMLSxn&!WaoNY}F#Gm{G3W)3V}tOnL?}o@tK4#w!dH%Jb$>w~mLTDO1T~ z$Qbt7ej@#QS4sPqieS>VQJB>8N^AE^^X;(?sfTiL6sB#v<=8lNG*@pLU?;9q%3|p3 zjD(%-maG64Ad3dD(7d^eSv;I0_m*lI&rK~P_g&1GQdPj0Uz5ws!U8W|rU79W3o3uT z26o#tu7zmMyDV>pScEJZI*)H}qvjikWlP^w_NPW%QEe4txin3TKd@MEjE{y~L`ndM zW)!`Ru`Ogx-`sG#4DRRU6$e~JbirAzXuRLN0XA#8|MCL(;C(7bKqv1hribfUNh9Xe zZDg_q>vN8SyK)fbs;2t3$^uoaTfA2mI8aP4Yum&fH=&vNTFMSGwr3i4T>)sExcrq^ z_gP?NfRCFRYst<6veIaIoW+HuDb%r2pS9J8WOt$W)pI#AcaZ{i`%um|%5T9Xg#UJ3 zv>;B#L0M@SOKv=JzqLTMDDPQXt2%W(smn%9GmxG^H#fk0YfgWRI3KJ!ub=6=MTaOs z?yIiEg1{>f)~DyNH2^r!biN*CKTp6@q!voL-VmhG5_oBAcKK_vxNkPb`j9gEj@?!2 z2ylo+pLFFZ$$*J_ic(BYD!`89MN8Ji&vM}Yr02e-17(dm_+&|BcIVh1l~H%+)0ZWn zhHGg-1kI^1$;@QDJm+*of^-)ebss{}Y#DP1*c^g;+T&pi2S3Z{#=yrr*45T z_v*&xN3h7y8bJW))qE)QJ^@b|E8sF*eolN^`fR4Ss@3W!5j$f&ZueR^YjE2_qI0qUmnOCBr zeeeM+|6IzFa1iCsiH3{EqOM7Bxp~WOAr-k-oLxkL{HtpY2-?#;Z8*k*SjbpQV|acB zY}pcK(ZnF4@^^K{@ijOQ=9@Rb;`;=weEu27{#XG0H{=#jvkS-FhT0((ma;Eww`8qg z4EK{Y>USH~{`2?S8#SILT49#7jN&US)+sf}P3OIrG2TX9$BZUROP{L@Gz;rmvayM& zJAc2uB_LwiPd$oPaDh?smYor7|TmRJWsd)-+_zQh|e^gBftA_7d)E zu$rmK6-nG4#Pz3bBk&;sTWe0wEeyT21g01he+T0J75bYo%weAb!XkCbHN{Id4#bqU z;Cp+;8(51~4Xk>yzz~;|rXrW3HD_gMEm>`}o`Q;AF(|T@j4d)}P0PxGxH2>UlFJ2+r(Kv*6hi1J`ndR=$^*3g^;&sdP_Cpi9g*?-_tNbicW; z;n#f<%Y?kX5+kJdas5w7(h`4{Xt$%lYKsL4w5t_s^*N@5q+Q(yc&=)|u)ng*B?(-* z-I5S~^OnY0;#XW=a+=zT1p05jAwgXf4RsClyJ&eK%%jAuuod+|Qo=e;>9^fdzcw2N z2=0i%G6o^Winb^L_&Q6T5+kCjWA>B9f`rSuiS2KiICfPQgChrLdvQ}xW7hT2GNI== zd3izQiF?WBj>b`9nw+obx!ZLd->Qy#fLK&Wz}OI!(#7u*|DqEs8O!cjj-Hbk3mpd? z)fOP4;Rg^?94gZ5M&^NzOQHMjoZ_q6_?}&_fJy}ziDh490n@Vu29F!}Nz%f$-ect* z);*<@ZMZmgJ4O(@r5kMSzTls^MeS)@}oC+*4SxlLt)v3J`v`@MG!s2syf1prh7 zY8VGR@_MzLm4G??yS8l1<4ywe{Gnby$FAk6=k^8Q9>bNTWR>_7NR3%d78g8O#eCNF z$_G_1bPSQeynmGioQ-CqbEM5b59-7dVY>I-AahDg$RD8oed!5Vkd^778Gt!~^q~>d zk@5|Y^gZ9_^u|5ahdB$6vF4Ah@6aAKe@|g>f*-dV&c(@oH?#Uep6L{v4fT}Po@ z01kiyoK}2Rv(@ExOKumQHQrT?V0!F9pS>qQM&^Tn8{&E)!9JS>yQm20QPJ2fB1hlD zxS{|AfGuw#!`=XBV6Za4tAYy!1r-I>px7ROBkK)W_X22!e>^utP%>)nTW*JFiDjIO zDeoIPqe?hGG$3Nte35bWDL^KmPSC>cAspy4BBwAHT56jEDdz$psOGcdzsc{vBQ&Y# znc#2VB^u+|Wv!MUD*SZ7p|3&FhZ0teiSBm;Ivl; z7WJH#{n%%Lc>!f#^eunUp}#JgGaW;7CSd!t?RS}G$6;b#in%KAG?C12gHD}CV`b9wZm_J zOX*fuFJrs~%Wf9{u)d4h^Relo&4xoZlwF!hrQy_jZ*S@ReD8e`Ej9lOeCP($h!w*!E|3bx!3z+u60IOKP6 zUuo)LrV$x$VWPd7PxK+yE7Z1BuC%?X5Hf7Yx?L{mzV(KKm-i7=*=~uy*6Uwlp@{W{ z1}H28MdAI4R?s5JkP`M17uSx?8qh1t5?M}px<@a6T?A129x*7bXbZdH^FVZiGJGvJ zbyjkB@;zibVSph7t)?3qP+X2x*mu=C)Zj+Qk|Sdxt|{5S;L=vG^pd^AW^2f~bY5tt zv{QRg0N_-4A?T63&=a@FFt!<}CFMWUcZVJ#&c@jJUR1%gJytfBr?d~|@7NmDgDByZ z1zZJKW{4zZU6+F!a`5qQQqE!lxI5CeTwjwP@M1we!;2;@=RRl_pqRTp2Y?*boIt`H z=Nc|uuV{XbU0e4hs6C}gI-my>MrHiN=dpX{${3-&#`S`fb$Ih>PDL>pQ%c($RjC#P= z!{;QppS4P;Qqq$dF>QTHl+TN)b+@4Or?|NR-rN8$KZw>B+ikq>;*$D($G?f@|LmN; ziy-7pnqs};l$vcDtwVM@Dto!);HK=>ar2e{gAYFhI!@_oMDXQQsG3RayI4-G(y>d- zEU_}ED!_J8STwAK&&_;+2vjsG9jyQyOLkEa*A>aGVmVVBXdc5XNh0u)GHO%u}`kGhn|-%MF#vUY`Me9Cu~vLYlyAD$ zrG15}$ub@Y;1Cl>(Hs?hI`I<6 zTp5q5rq~iUx5F{gWDP<3+7V`1)(${a2J? zbg>{%-h+ia7Lx9^2<{uYeD4WZ=v;K$Y+G`30Z6Eow64xag#kck;&w~%BrabNXt3@W zIH*b37cE|;+AWqE5^%I@hvWX{O_~uzs4tvz^8V_E`YUlY1l*9%HCu&9y4AW$&o>zt z0eFmwKus7kHEtr9de3Do$t?g#&to|^m&=rS+wHh57HOEG0;r)u3q1xoP#|tW8qAaN zFY!K_Kk}Z=kz@~)z061J4f#E3pZqmLUL+ac{JZpv+bQ$BvJ}|eD@z1#gn*f6em{h1|U(#oRSlZ+n61-2(u|Y-(q+>f)kMzlw?!D*z zue7h;r-1lO_d})kk*wp9^J}2k$t*Yk20ilf4sGAe^;3g+@1?`@(`)M#nsxCoNUdRf z1UIB@&s3&;-r1p+G^2Hm%)@;FzLB;PS0QQZL~9!Ss^ni+UMR@{B49{I4BX8P1w31? z>9E|~MaD}XCdW>&DdcACz7ov}uruu#d%;@6F?M)*k0gu4G4u>@oJO+%$K1w01#s9s z4ww;uBLM>3@E|cF5U35jM6=T)W9XAQ_L&=nbv&uf$eH-U0k1PR={AM^DWhDorlaWR z?Rl*EehL$RNcq7m+>#5%%`Fluy`0%7YPR)nJok#j#tZ|-uJ6_G>C01NWeh@0fU$D& z$BiL(jJpl+=If|k53!~AA%_&yXqGV;x2-rhr6*yn_mtgZw~MY6yIpki0HQTUT}6uy z?`*{w7BuRcztY)iUJv53jsx|2xu&t7)-QjqOcnRFe>f7 z?0+FvgWT&=>l0bFGQX_h0Ha()E#MpwQqP+@S_HV3#!xI|`kvaI$3igKUjguZpY9!{ z==L(UJp)&jrSb2X|8YEyvYwnHkjW_*79nl9AV4ml((=j=ERb7I0*$mWSP-cG=)F+( zO*sejIV8$pYt*vP0+rq`Gi|ZB>%brh(CpJ<7@485l?(*|v~YA|=%Pb%P6VxZ>FlxT z9yGT6^ZiuLhQ5y}c3qEPS>yFH9K*vHZl?jPw8c`Nj0E2opirIVy^AhoLWiW!J%pY* ze>SGz3GP7x%8d2n#Bn<|yT(3(eG$CKfzCba8}L0juQg%-%s?~0!ST>Ex6ba1VRn;l`gyt6?gS6au${K%&cr8=k52ZPPBF6zj>?ywP!F#h>uljw?w6Bh+yJCQK zh528h!FSeJbj-Z9ZH!6|q*2aG9Xpiv0XX#UV?e~I=3jFYU{d%LFbT(x!!y8f8oetP z90P?BGlG8Rpe{8(Y$9g3F2>gTD3t(?8Kxl!<8}z}XogxqLTRg9*PB~nu3V^Vvg!9Y z_YVOu_627Tp>k!g7#@c-uHc;so9F->@2#J^nDbV zD--9jF)@Qkr>q_I7)h|pi&ZSQWp|OhNy6wd>oI;<(n4;pZ9xL=Dpf*Zk-qmE3exTNHaS+bVZdK6&7+9*^5%H5{W zE*VoGM(GzzP_d*ihOS8p!@M23tWx>OKBCUw&XBsN@0AI&;)$G(K}L0u(6Ks8T1yGm zDWB;>{8KU7Bk^4HzHilDU9=|2zE?S;DE*M~lrW{&(4qU0zCVw16tdX3Xd$D?vEaKe zQ(bDK2E~DB2{WZN7Ap*ymnAo1DObCnN%opi{vKHs-SNT)l_pDWg7Bgg^Fwy%a!2)FA%Y0G*59c!KXA?lSk#Cu{`yrJ}O zh9j|GP(m|`=*|b6L@3ue-@Q-2YsN(nfc`zFqk)nW%)d^deGh;sn$ntU#%wB`>Dce$ ze_AVxn}D5AQPA3ORdZhO+G^(N6^Z8Q_KVT0NzbSxDgaq9G`jg_;8_pbI zNMN)|c&cjPY?(6XK*o#?D&)D$l{hnvGM~zTje##?2g;!|YMsJbVPh!RsaT%-T^mF$HPW0Ot%S)eB(rmcXO!mg`|xmC68@=TSTF74z5B zz^((Wxh+EM3lXdhr$s$u%Z~M$L5z;ds%s7`dPl$4HPCMZZ0YkZs5@0!r zL1ZZgPuByBC6ctUwvKI(vH{|GOZ)d6f6-5XIl%Dv&B2&i1a)KG@I!%6HlO zpz0fKlYYk&_2wZ7^83U37zqe`C|{u!^~O*(FiitFcBZ_C%5oCc?}Tgy>>+batQ)KL zr&-E?hEV@LkIwBuQ~jIyF6Up;O`ERWF&-P@q9TpZf@FfmPi>NX5NY4avonMiEfyS1 zj9Z?kb(3-=D!DXR{tgiA5jr{x$x{G0jucX-Hs~qvW9+^XJyw7tma85-P3vRl$=w&= zD997^cc%YSuTM<9OXjr#Xyv~4gEB@eV8TJ!r~AsjB)3aI#f|~jyB)=rs8}fPm6cc} zTF(OxrH44c5=|h=?I|+DrQc@i%BQa`qpD(H%iCMpV^^!l%zGcr;zOEDrbUx73ioAc za$mHs)_3flni;AuUIQO|KrSfXd_&^|5V)~g(f%ja1Pzag?PHp`1*bQCyNPDF0vvfy z_t^%clxV=!n$eU8&F%X5TdzJRj3d9Z1-E^>i-AeuB4aBVQJOkhZde=t%KDc$9Cn)D2mIY&OnF$MI0AM$Ye2 zFn$4IKl7&59q`uo^@1DdfQ?fZx29q0D@k~PlYnUOtYjKnH3Q7RnCe}?yG_bX$p zoh4v%AF|m#Q&M71m6y2Kox&U3Gyg4nyXlXR>FjEqNJMP{}sxRjKNPuvOFf*==eq>kkh_|>lvGF5!Y!7oL??{>T= zb4qXHV~SE^4+o6i8RGYH^M*ix7i_JzT2Y^C&KBYvu-h`gk+}^3?6$(^*=`ptWO@dS zDk;mvm=iz>8cC)aaZw2xcOYu*`E%P2QvhpitkzuC6$5Ml;P{L-eC8;o-&Qf+MpZ?# zdWethTkz#~{W?q05*&_rr(E(I-`!cdXc;R~J60NK34-SK1oi$2ye=iX&BYl59B+V+K8$>dq+ib8gXUw4V>EX# zk6a%EFmf>SSPKq--%Vj|>GE?vER-w2hT>yo+=2N1=Rl4r{$YytiJ_76yScT>K1x7s zIpKg16d3&1_vP`MBOP-l{5DaJwh+<*fbR?7$oHAt5@+oB#|AiZ{!82oJGQi}Ky8!+ECHqLNRf9m1Qb_gqJ2tc%**-l@zf zea29$MmS#F`KD_PEy#;iWT3={R$Fg~00NXPI5cV#{<`5tl?=?G^jH9gY|!@waAfV5 z!&o0+lY;CXbvy)3Zt8mo$j<=BbUAZ05cu=!BXJx;J7n!=-85 z7cWS=wpo)Iu?SJ(0wmzZ8i~*kT@GXg8?0kW{Z83hYqlTyQlsB*cjYgD;$m!l+s{f7XhEUNNKs zGVY1O>#uLP4m|>neL^iAL3C-&Gx2Ko4aV_9BB6 zXaQ0o?LJAE%GCITH#T-T5o+}~?8ytuUS>`D{*(3F6(3FR z1uz;Ue{VXH{~iEv+;@>L#dWkVoCEhs_qit=WsRZt+hc$>eJ(r(kC)BaK@;+|%kxEm zV{O5%l`XvXNqPy)K=v;OH{<{ahrEx6r3en58Lz5I2TT~Bx=uAP@_wq!hfx?lac!wE ze1ZEQu(NdR274j}X62p$jzi4>OUV3V2r(zu`3!JOmNQEef_Y%F3v)Dlmjf;bI9y~# zMKf2dgBu^%7On3RLu2b)9lSiM9m*5Q9#Ua!21Zc3%G_<001BWNklb=HsrHa=3-T7jen(>V8cch>>^_I@oZoLR%urc5r==pk}IqEyf>5kP#8IRFvHLO+M$ zy$OF-+D~(4QT7+9qmS+J0#s!TVyKV#xE!=7Q4S#GZL)@WNhw;zaj}&G@A!F%wN!iB zizHB~u1l0_QipE42yf0s{xNBw%%XI7v0C)`C$3hU@nXx(g`iv59 zmVX-IZ%RV`Av|Pk`(b0V3d$fQ>>s$~R=+ zmBpieUicdgpaZA_(;x`DXg2amp$`_l8T462K(yGX8`6U1FGBLR=jktt2m3<{-~~bd z+aTS)`>6X+Ilrjwc?^K#RDj~K0g?xzIe=sC{>gjQyAOfYMheK&Fy>{1`J3IRttfyp z10fpVL#b)V>Y;9cvvU&6L^zXJ0lAh?gC16csY-}{h>dz8o*D2FU_&hIEPzhc8$fRUC#ibdHty#hQMo3TO-Xw^t&MOpwb<21r!uTkkOp>Me73W?V+c?SSzv0TFY1^gcmGbFes+Jz>G8-%n28 zW}4F}I%I6`L&^A%6yDK{#m%wh4u0SFJUtcMIdc4riGZ>(2tlm%^?Ol(ze9A)9DYo2 zV;?H*PszTMwO_`dCd=;{zKftmu-4#%!12N1v%(WihiFff21@)^6V!bK-5(8}Qvf(d z?>T|?splc+KI%QC|Bnr9ny5=JT5TbAz~i^HHd9a}(>_hFc|rguOJ{M5pm zxDnI~`n=0g5p!yBQ%u`y@Q_TvD`V}x4#8$-U1(epR709mO%%3 zS1Mhq9Ih4n_Y1Zs>%>+RthD2FuysQqM(=^eIk0*`0+;i^W=obK-UCJjVGXEris&+||e*wSeTJX*W;k98Gz#ynmoUsX>U5@U1<61KFE&DkG<){=VxQoOjRv=Mg}Tt z-e9iyQN`ZOgGFBL0GTB`e&Bhd%-x`frB8ug9h%d*OL;zMrp`y-TA+^s( z3yy$LPfXaH0qMJV&`7jveR#WmUVa}#i8V8zC$c7Y7i;=CIG7rIimzqA(X`ocHil&c zH>{=kx?J+URuPc0*$hqZrJmh39_AX53t$F+Z|b3Nnapv=u|a^4I#t#N5CIOIIYr74 zx0$`hlbMR#<+5#+7Tl+n8KJ$R7{PEKkg^2Okp64e*>dS&6mg*L= zCW$Ya><{_lr8QFmRl|J-L+cGCKn{f5iT!pA0M+f+mJk5(iBhBnBeZqR80E2G=mDBn zcXuh^oCmek;GDG_beSF}Ah3(&YUSIY4IaVeLL%SmNNP5Yef zQP2aEmZ9o{=SKt!ldWyhXxB>yE^1I@aWU0qq0Q7J{7GQLSr;6wtyaGWQ|>9@UOkY< zs|a8*-%}YRe)e)t>GN1svY#feY)p`1ZRhQcDuaau2?!}=QUj?hmrblBp1>2LeB2J* z|D-=JE@_P3-T=S-oWKIhg574z^9VH8&dykvzN4{RE-ACm>({_`LvB+qUy^w{Tnu0; zu?}`E0T|9RFi``$4GB^bNU^<(f?Uh@TSFjB*8z8HI`ji5R?!;t3`W{~T)@JjN!F#$djc6H(@MQ$0K%q#A3OqJTs3iyYYnGNz3@||#+A>w zMMHD(W*sxXz>f2(gA5(RTV_dXAf*hQnMRHe4`AD|`z5DG4;Ej#EZsge@5E(I_O-m- zV{Ok}@&*rLp8qKE7s-C|Nc`8n=k6GVeZ`#)k{m+!1#CPv>G^rIavEfvS|Zu6a!WH^ zw*a_Po&=?Rdz6n{lXqIG&Yz*-TV$G+T zpA6)(2_NflkR|4w8A>RheYP7;Z4OUSoYL$2x0%g_SCSou{o zyk85HK(qjuo8LN{gznQ=8-;PGn&CCM4y2YRB_>${Nk29aI3Ue@pRk6ThCqqllYl1g z$QrN#HA1cqf%u#&v6J`Z2Op&+Gp?IRKt5TNx;H{d|&2SG6(urz|`qAfSLA!v=G|vi?ha2muSVg$1A(R9TChLO2PauE%q1|55i; zM(wpWu0I*4yl$B@b9<;JVdkA57Y-!bkGL5DNvNX1{$>pS{)*Hdhq<&pszap#i$WbbsaSC$46 z!}cX(B*=?u@7OlmG|{z9o0X4Q4oZ1CTbKOR?`CSw^d|J2zu0M#*`jv>uI9YYT(C%Tb$9M*83{?$}coalXa4!D~mDfZOy z*H#aQK9|rV@pt*YnrAMn>gbj(Ah@+Ee%Ey0>kz0bXK=hhjK48af>)8bg$n0Ryp}cS zU9>!Sru(O-rXhaU=ph+}QWlkPO@4o%1_(p8?Sb_c0Q*$;YZgRX1#l=}qpo5+31MhU z?JhCI@;SG-n7TKoAONW{#z2r<=qr&vT!mp5*9j>@$a{qM5zb+yY0_H4JO)bu(iJ%6 z_W-KCZ8|0%iIBEP?0R5%4%8dUc(S_SEIn*dP%R>()Azvj*BrPLz?%L1>k6nZ2(aiq z&AGM%Za3^6VrZC+1$G^QPK_Zje3teROxbODZgboj&8TaaEO44U zJ#T`W03r}GHZL_lpskZ~rAET^X&xd|h=}`$4rVSCfQte^QOfWZ+9E)Qi~Nf7QS+^} z_M^e<6hozj1&0Xygnnv_+&Ut; zZn!!bKyJegBHQUH&~Hyd=&|L+l^VqKn3MBar-jd5vS%^Wz#WjTZD{3 zQg`cVkCe7bU|}IApo7$(G343L#qpW^Jp=2KwWW9>*OTjxcQHt6e*awg$Ly7d1aF>G zDCl(^o_TBw+7r*UQ!U4HU~peL1k{{*-nogranI)uZ9}eZ0|A{Bs57B4;!n%7jImmhLl%M@NHwU;%B8?hD^Jc7i?w3(xcvXfS_87-!+C?`UIt zyQY0f(sX)*V6tnJ23rFh5+4pz0_5p8OM+X8+&9_6!F|0nkcczx?Me-c|HZ=Vi;JK#&CF2&DK zMZ?=%L{0;d4f^)7uc0#fRLz;dmr z2>|h)EIID(Fa&w^xMjfb7|jVUB?euuRRIQp2)N1o&*xp~T#@}o-!leioa# zX|jKG8&V(@*iw-@L_@wP@-FD`U~H>3qYRbz=;D=I5JC zK-c#Pt@LMWv8pOuRaGkN14Cx9By4MDPnVIqs0i%~aOi9oz|ajQe9kh(h`D{9*4wB< zLo)%TzCIN)Cbl`aUf3ZhquZ>(dYv*f2rdE|tbyPA5wN}m&R+oQ4aL;xyOQ z?Hob|id;Yn%)ESN>i|sxKFAykzYFNYE*SdRT*D>pO2${4!@Kl7P$AJZMV<|x9TFf& zGeGyvqvV=p2kfQUl(=PmCUBO(puw{~@@Ki=?z!x_WtY3BX&^~}FVqn@5f`Pr9l8u4 z)|*>FO!X-jUc6_}FBiPs@EK#`?;)r>gL9G=Si4{)^*RCpt%+b>UD3L`yG!S&%%Ps! zR8@d!sf|?~L6!BI3(xjhm+h76j49KM;O4Ti$vn zpwB)59K$_*y4D`efjDZdN zJ_}60zl8tD=IXJ4MoxV{e~&XMm?>wPw53FQ0|Y11vGczNzrP8WQ9TC-Sw@h~nPdBP zDqrZ;Ugmt{=W0veB_^8d0nhQ!!~$7Z86YZ$vcA*up{kf#=G?%t#epAhqd>KW@u#%){fe8&5T9k z99Fi%PwE;?9v~G+8F>BoDNqUE2>&vHPpBj?001nNadAP1|(MfXwM z1@bh%KxFd7<;a>;fDVBOb3xUqDCa-|a%fio=VQGh)Fy5pURf9k&}LI`LqL+=#lLwU zOWG>^&obxJqb#H(&x*k6BC{ldc`o4XyB3Om^&^7pSec<+GH<7=Oqe_ErXj+xZ8D)& zn0@6gGDmvs^EuMH6in0p?*Nk2z54y@EG*sk(Ev~Kedd1oE7`&ZfcJqk3lJzF zU+jBdNmCTiF-`s8^ zeoNCXF0v_^G51l&L{{^iA`LnQlMRGfmM$Bhn8+yOvXTws`Z^ zm-xlz4!_*d#@<4J30j9aP_X9iUW;&=kp?M0|6M4XPMa(V52bxtEwWv zBP(}3^B$zmbsz6*jKvj~)B2tOo!;@iRQDQG*V?B5#}#kjS1@SA$|VPQcn=;Mo5vyo zocO)jiu)JGrS)zw5Ayy9UGr_NwOCn$fAXUr0WaSpfZ_6jVrDpyFyuWQq+JWx3yPm1 z@iIhUw3dYN_o6M8 zfTO11uEb131ti&o5+TG#U;~H(ptj=h`X14QBk~G8lwf945GGhPsPc8HSl2~xCs(jY ztN{TRoTqV-zaC(f4hxb3*ziThae{SCiAs!a0`3%^DJ_Md9aImDrMDj=ow3MEnG^d$ zt{DX)a3HQgeHX`2;$!6P2`OU>V^Pv{%DXd2g{@xv$vH@`q*>L0O)XM41!;;frt;22 z%ett6ExUqw4)*HRSmiM>G~e3y>Gg`Wg6%GjL+8ldv9`3<7B$D%F)3gZ=ES$a?~Mt3 zlCcIzW9Y~;MVb)gG>|iO&tyBZ`}FsG+8aX}XASy1mWzte*y}6-GcwkR)zr+sGRt3` zC}^J?Wb{b>FFaS+AN2PC)D;45>wAypL+1cI4Btf#rk+A4^F@1DpiI%&u<7xfI)`*N z)Dq2|UB`xo2tmL(j@gcr2pB{A@7aR*tIdXZkv_A|73w^J)7v{vNzcF;-%<~JRmVCy zXT32vXni!Ln!4|qp6QvMX^hru0yp@8{P}u=fBxnTUUvpRJv&2dfX})%Xfi~w4Zwv? zU#%z?*w@};Rk&}?vSRL@mIXs8zjY3+F<9sKB?9`eyftegTOWn_m2tQZ`?U*}D}!e} z34iOXj+V{qSFBmp*EOio*!u%G4z*kvDwL*V8ugBS*=&sjifqqaf!r)6e+(GURAwdBuVSHL-^I=j84dyI|NAC_I1 zO7RgAb8Zs_JF)x_s+$VyQ zi=bR7xG|LKoFZeQkTo^W1R%Ap%>U^3ocDbnMmZm|q%Zf#59vM%khSY+UIuWZ%B-{I z__>L7FV+zORFE~%BTc(9LV3jeU{xa8JU1L~Nj+QFv<7rqTd_WJ@^1vN>G}u`?RKAEuZ(@%k_Hld(4x^ps-hE3f4T}`j`cQ$gL$1@+s0ow=vJ&voFmCU*8Ad;B_v2 zTrQDhK`F&P+Lulqw^IR*f_t=XQ`f4qzOWbM0A=_+vs4?SV*w7SuWM;P-fn5X1!xa$ zTRI2YmeayE#vjRH4Gml-m^KQAZ_xGQE~LJ@z8U7LXh)CnAB59Yy+NdhGVk9gz2gpg-9Df9m|nzaO~a z%-%0T$Xo-){CH=I4-8%|-0|P4;_ML}#Q}ije=Nwt;>wmm3;8kj2yO5|jG8R61~EzdTSw2(?*^^&xQ15; zwF~YlbU$0TumHC9K3FcSy~lM91hI98e9!xRWg~#3fsm`*Bw0~Y5dQQSw%%jidj=)a z30AhiFu__wu7BL5>;HA1Y6NpjnJe*QhsE0U_{EMaUp`qb@zb+2{P$mdh5z6${}MPq zBO%8-()dc|hKozev?9XPZb#?l-I|{1*gZvDqRy5v73FpdNQw_DT6zb-kS4-ZQRCzd zAH9Yc6HjxVQf<0u!6EJ<9b0*volypu-8M2Gl3fIzJ~x#z=j8G0wp5M*-9cu9=?-Ceo=nu6ul48Wn^ zsRsH)u##Z4+KorhWwaf_S7D<-j7;B?<==DS@(SslLG+Oh+x3A>YJ3)LLF44cC%S|Y9Zmn zwRJJxfb=bnQz_<29xJ3+Ket&vUuWa=%iV7J`E0&lJHFprE}H_>w%+5q@9~SfJN*33 z8~p66uYlLDfgk)HG5?zlJ!e^9Z`rhRxnwQLiax)+rNec(Bmu8)qt!>w1XMN#JCw2k z&YB|UF>AAZc8}zM*Wb0k0K}Lb1FbzGxM8>sfSFzut00-rg)>-!K!*NQ2!KXiGf0Bi zz9jpJd}g4e6a+1&ea*4OB7-WXKef09Wo2st)v3A%8hiO(n6LW?2V)wxIT{OsxKCX= zKTD>98X zCW4Z6m7X)&LZU<_n-_y|764jhX408oq=8i?d`X`wOQ~!t%ju|9IWiUkP7EwKTzTAO zJiz0%T$cMc1#k$-9(Z;ZuXlaiQ}O_Zs3Z8ByLxB~weUNJYgUuq*L44THAhP{=0Y+C zaOCeLzn+uH-pSy)wDm}UW2)}7qLJUT{qayaD&Nn>#%(V9ng*VWKu7j`0x+3*5J9dj z3IK)_wOk&~2L}N^bMM=CeuVbT)H8~k>hYJ3SR{%GV^T}c1bmV2BNgmBAM_eK)Iuk$ zSxauZZG)?t_uj4}p6l|AK6f1{lg`f4x_8X;>~;jSe)%S8S51hvq@;5Q791K~(Yfq} z!i)3>S{z+*{IX|fXOPzM2lp%gnVxBi@@e$M<^JCp+HA;WV6&k>kBDvv_dy!?5b;pQ z&X}{{0HQlb;^JZrT4fOdh+9Z1q+g9}U#&Kw48J+7GmTtqAA=W#L*_o?XJ~L_UlPlU zoCp+(_vkuGS#IQe?tU`a-jTL8CbdiffX^5p__N!$_}Ld<0H1vZ{NzUrMD+Bps!3K6 z7Z7YI<4WIB)|B;{m?;tPoug|l-@g=wNHs>ZE+P~NcmlAy2_O2RrL+~`cL**c+NZtm z=(mmqH&ZFixDtwjY{d+bQEh=wg;gMG)Dz*u%V8g$001BWNklmOWe1sv( z6y3)`idUpUYBDCeUoPcKLK)IF8@1Me>JJOo68AwYLPIwcz+tq2Zc@SA;BatbPPoyZ zjfv&Y0UG(-58stQFKy3VEPyg-qV!4OgXZhPxVw05@Vt)&gaEc)-On0+11hK9$Gu15 zX!tm1b=_XoX;i&p5-)ww>9Y;ROM2aRSOK_d7PRKB-_YN$uW7vUxJ}8sl6jN8voU}} zKVuBlV+~L>De$San*akG9niBbQUtYI23(sOc=-~+g(a_N6yT6{7la?(-!XtgZeLkS zg{`UGk-#AUR);7%XzMmzp6oBR>@#)Z$345s<3HGb*gKAgkV^(JnT=}n*IrjX3 zMy`jLL`MP~VJ!Br5Gm2vd^?0(&q07Eo^58dxC<0z9VLudO(aiQ6&SwyfOi-r<+K z9e(r8H~7Kle?uV0)fM}Q^1G9G2F?LreM6?~mn(K*xrm2-NO|gM9(zv=Uy^OY(ShE! zQQIlc$k{2vzR@XD`FUZuD|wcI4Ef!9VxooF(LzI>hE+(P*`pQ>*?m(?uD0F~K0`BB zmfdc&<~8)w#CC>q3ffukq7_D|-IjwJiso7QasjBMok2*<048lUA>Z?NBK3vFHxkJ@j2>w&5FXv z^|*EpS9f>7^)=vrkNVLlo~!E!P%?(%odLjN2^ey-_K3>LI&}EHfrrwBl}?v7tH+|* zc8s17_uZ0bdJGDtrAIuwk6HC-y?bnad$l1KP-YIx`!Rg@_Q*L(6T4gj*VleGy~TCc z;}6fzv8o)ofs9R&tp5YypFtMQl+OVr(jO_WQT>qi9~*eI1Z?E()}YKv$4DuF8;5`` z;TdB9&MMQY_N<-5>#oJ8+b#a*>udZcpMM7Y`qv0)CFO8kH01C9<_#^kt1DpH5W}v0 zvbAvLJ^S>tNw)!&)$4my&_*q!RW@2b07zU)d><`4HaGUJCGnN@h z$A6Y@$|>yC!hekgi=5#v_Ko4E!Ji~ea27iye~(su9|K~Kp*j9FPjg+o$Hezn%I2fb zn=t@ncE6nQ4A3rX`E`AM>HS>SnWuTyZP$NC+o^%+0$8Hgtp=Y1aI4N&4N8~Noa;LB z?>UW)cYcqwub7R@#&czCzR38oi|y;S!*$=`=iLsg%?5w;<_&Q9B3k=ZJ9Z^hYruKn zz4w3@FYpg9F7Z!)^(%aGzCvRR>eQby|L4jLA3KCfXrN4v62em|T3in9)fZUl3^brK$OQg z$pfC2-GvT6KjdAn3qbpI@33|bzqq@@pI%?%kFT!@z&Jlg45F#Drgs}+tQ&Td(1NV@ zk+BC@qufUejlM@TZLN@4c1W`3D(Sd+PzxRi0#WhR2DF1OEk5)kamQpc)%ID1|FD`)>FMz7X z$9;#7^VmOw>>4r_BZ5z$OhC$c=#I|6)t1f!Al(OFU0eZ8O=njz`0dDdpU$CX#DYW4 zL>0;qSNVM0Zqt5s3}*Hnf9_&1#zhlj!!(VuBoa_l31G&e8Cx_ zAOIU(_C2S21UP`9KpJp7KfU+eH;u`Ffy6ayqD@Z%;27CUr+`-7HVts-XZAi9GRwQX zE}LDK_sjstXKja%mrJr@5-X~yG0|tAF~_h^X*t0KB@4D2_HdNPLdHn;Xig2^SOai? z{!iN$e{^#LTz>=9hJg)M=G5%!*0J(uwE|v!4}W;G!9Tva3G=EZZIGCKy7)QdDwl&& zUZi{nfQbVybi~rl8f`&_OojW319@;yP2KA_wdK7bn%XtXgFjg2P9jR6`MwA?M-_Frt@0syYN9@nnN zKfJueC(9*XH5IPA4y~{8%a-@b-baRk_sf`#r92U&FM|}Zj~HCG9b;A|?iLZ0eb4X97&@41wh}O0 zhGa1CUTHeODPvW;YNe&~Y|bmz4z8!UAm=fF5M5maQs?Oy4>1pX4DMzPS1M^lMWf;w zn^~wjv9=D>S&ODqJnk z$&%{*@6lSeHUR12*}lgoQpVXCaIqR%J8NMf9~Wb2ewQfRI|Fcd4{X-B65u6JMPt5L z@Lp1-^&6L#lk?lT=DM_Qa==Ef`7nRF7!c6#9FaIc^3SXH^WrkKILp_;zCe3EPFiEF z_o>k=Dl+fKGq6okZox6O@7z@-J=05RKvYi zTiA~A3}cpRa}?Sq^Qch37yyv;NA@TM1nVqhrvTuxp2Bw<&cf@yN9#O+8|UZ1`|ptz zRc#{3+cd*<7S;&Tzf*n8`;Y)R+4(Ibu4&#ecrms<)bF;!l{L6(TYPeNM|;ZI83hvE zZfUOzKxoC;pOyq7ua>~84}i@MfBfYa`189hYGZkIAMz3op)rljGdxcRP3>_%XLyFf34G>_7k>vt$5(H83#sZJnEpbNIf$`Q*Hsm2YgB}(x( z4yB|#HCLvrLI4%7tl8W0Xce}SCY0? zr^OYmXk8P-W(<{|Xu%y_^IeQtAXM2nZv!Kd4V!=t1BR)<5D6omYZrBlkpN^UW-u^{ zNUb;WdP?7?C>KV@G)wV;`Ld=cv5pvdR%>Plfj*$uas8;D)eU^ z-y->}gmIa-0FrDyd6{EWEK`I7-R~-SCdB5kCR*PGt*QrhJBqR7C?IuHHDS-XS}rLt zrvR1!ji)t~F4pzzrsdO2E4rOy0=m%DyPKktW!3qLQd5g-2Y{HRLoAXqfFtH+&i*3p z$Jlq>2O!-mlHVJ0A+0Om?3~VPK&|(z|ILEZKejF1ADXLTT#U6xQ=Zk-1@+~g zQoj*gM`6KU3O|IghW102R6YDauJD4~-h8;|&1dSIa1@W?DT zVvi1GP^s`6-%Rz=izZhm=2Sf;RK`sTK^U$`6kw-#!t`jZuVu=6g=Z3RCdu@&HZHn>c!S0|T)PgRG)w%^>H>eXTH;mHP*#uS0x$-Dd(q&} z?lySs9a`hCHl(?3SsT_mhm}_cyvb748WV%uasOjHkbI;Be3=+atJCQASns*{41pHi z#yy_bz=~zi+{~RDGi2nw5BGl=qhH+J;XnV?ukbJ5f1el^VOs9)D43|2S}z*<_x2X3 zlxDB*sd?)=(*AyPL;aOZ2)i8xi33t?P458L@^?!I`Yj6)O+{czyH&yZ9MJDb`00I& zqtWgV(_{8zjnS~CtZUgV#t>s+E2>NOWeMhKE9#q=npZWo%^R?qp4+bmFvkcC(sNi8 zA36?z_8}HZ;%{V(S`hFRgP$|4IgpSu$pKhVAPY?TY;H}E_itZH=DC``0dR2ieuTvR zCA3><1f7eFrKx!=*b>)PDSu^@M6DzmsA zqf(Gzp%N%CNH^_(Glum$7w1)ys@FtWU|F*@*)kJ)_??GrPuNfR&i5U0Rq_20a4tSC za?PRqXqErr4uDBFM*4lo9yb-Jc5GZr z0O25|Fy;Y{xpzGGUL+8BPGd@~!MzH|5O7U^I(-faI1;jXiKS#$UZYw*4r2h?hueo##-PXh_ejWzS=VKVZc9@svI9mKE9rX-{)k zqajhvSQ(z*x@1G=L>|+!TwYS!vt$QBV?mk~}U+9OvZo0OnfJkp% z#~r|=(fNt~F&LUVoiz>$ppt#tQlB%mhiiai?K$V@2Zq80l0CGgbt|*9AK$x2K*s(1 z5XhxOh$9 zO{erP=UhpaoidVZDK7xSy4D9D;Aa;L{Hk7o;8clkl}$;b%7c|6hLFGXhEgOsUGOeR zF}js^Lv}{a6WO(X^-Yys^_a`vwk)6^xa-0+yg(CQt zl#>bHKOAb`1{Ox2Y?FBOkaC$27z*E^_q>D)ESa6Idu4OByT6nMo$)?ht?+++dxqby zF7WB>0f(hbx{8h{+15}{vgsY2BOrxi@aFi4+F7pnzW7>_Kg*g}rrA5Dl6nB`x)Rz48VpG& z-O8X)2!HYXY#bdE{;AKJ25VaNruo}`>#EksS>CS&hXiGw|OwJ`WK5p0eAdg zU{NTR2Y`?S&X}a37)sYM6lGosNMV?zW)-Dhdxpb5AKQ}(Ju;sFHP(q<*GC!GfXaa3 zSsS2oEeexSxSr>0GhkhVem+~S@JK>EtYz;v-&2ROtw5tx`aZj46|NvEl(G9a7)Tfc zT=u;F#)O0_v}x?vO(N@72fW#Etd>y#Nge1B*WtX++U}7sd}2iI3UEjV2Cg?`;LA0} z9Nj~oYk(lUcYLt*bX}Y6a33SGshO>Sq@i<1p7+?48=aG5-w%M$3a9OUuJ(Pe&NW$F zFVoyXvUcgpAK|%V0|18{mjE21@g7ZREh|e3VVg|oIpmi0084AbF^Aj<5F^ZtaLFO2 zN=t)aM&6^&daot5`v;ijdg!(OEn||Y->r#GBg;9>+LqUFL!i#_6nJnS_g=lkl7&t!{8HC`$;M*S09@T7#9r^> zN!>&G@>&20rBh22lap57qqH%6g`~?2shvk{9ZH*FmS?EE$5~xt=3C5UlM;m?%Q|5$ z1se+2$;Q}Kbe@ialU9~+u{`S=dXBq_04jfZevWUO27kR=;!nQ$8u;)-;G>VoQ_wWP zDk*g+09|3Z#B0W2f+r8l#gaS_9<)(6%e8BFDl&-DB!B0e;1nQF$9dH?1TE9_y^004 zHUcEpBUD^52530PP1DeM&c$P$17N717Zru(OsU>HB?@d6II+k2VcAgkJ-UcadaCD& zXQqlaAUfZx{^(M?!fFVHG~)Qlnz)tcc#C7kvf1y_)=-aufwqv*8{2#HP8GMPh?K35HX z9z=%TJHOp{i~>Bm4dpCOQwm(0&M>AQCf}#8S?{Az2Z{YXbbp%wrlCG;d#tQ~&d1x7 zYG?qhHQtf)s!ae){fx4n>!&5RMZ_^NnNaBH(GmT0E$J0C;-25O5s=o5JJ`6t4&8en zK-hPzID>|YhJ;hLB}62jA9G%xx*>;-Bs#WP41bg3n5KTbT|a%!0}b`Xk^?ty9%xTpbq;*{E#Msf z?ECLfZHgCW(d-QYA+8b(5s*We6#A!tAAKx~+B?*&_?DS?A3ZSuBqU))rDLmoy@b~! zG4F{DMo3`|>b6_8<|fLV6_Pm`oHh+EoWrxzukiTc3Gl%O^d4myffjnLy?c*-3XqVo zvLU%P3I-3FhJg-dMOXu%jUcpVW`xA0N+l7;0180LU9EtO>692itx!E1$}%oM3qT&1 z;3aY7@yXb@_m29P=LC8bOasj`;8%Z3?S1eeaQ9BE{-Sdb?DIUWA*D{*N#9w?cOpQ9 zms}Hw*H0_Gb(}W?3ctr@LqpotEQPe++sdx%P#WSQp73s?=v2E2eGD4+jtV@pd4=s0 zo@tLkCOI|2ob}z7~g+IN9lHg|eljqTtVnQRngdckWQR zXUS)gaTflea^rnWjFdTYg>6O8p0v+kkzWX0F5I284E*tdQbiVbyCzoN69CAPI zGmrzwvBmj)YnFr+UFH6?##GtyT6)f;A#0nibD3-1L<#qL&G)ia70Mv6IRFMgdXlI1 z<(%ps)IGlQ74P*&$1!w6!cx6wrwXt8vcClfNg9&1Av|#_fKY&t^w^%rjkNu~zvY_Z zY>-5$%Oxd zMKSXLavGalQF|rfUNDF)29q}q0Tdb_*+#ZqOGg=Q8@}(mMxWwo%&;-H&05$=BIkIX z86MvrMN~UU1egu~7~F6^u92dwYH+D_T|lPC(;UvE;OSZ2;_+mH z#~*z}z+|S%QQ96arO0Jy_kHtch{5qLI-2_C+897`sQcG#?-4Q4O~|{&yK@!&?|gok z=DY7~kInYB%b@+*13+Ar49)3ueGVjow!8N2dL00v`iupaXXe#1m*mquz=F-9-oA-J zu~oms)=wE6DS$lyXbk<{D!m|FszpeaF2@G;mb%aB6evr4a`&!ca0K?oo}QR@QEma6 zVcA6~?4C$JZpu`;0+Zh5_W_-=FrbXo`G@#iHnAZ}iDcXL3B6Oz^u$M|hBBn71wd z5;ulz|w6fN>o{d$vU~ z3n1~%ND{GN4D)?CM}3zVU16w%@CrWG`)+tk%EH)X>h&p8gU2f1Dm{Pg*d7D8H!fQN z3ZX5VD2Ry9UA`afEC17=Qs}-{-ar{k^|>4q$~-FeggoC?5;_~yt>ZG;4uvjM6)>0RjDu8560g9#MI38m6j>u^lTb1#ga=r_25c5Mq)(o1(r2B5)yn7RU*!Fqe6zAoxjG=uJ zd%i6Uj!hM9baGx{NNkEixNh60$fILG#IQ4ApE+10NuM<{RISHBdYE#1$zXe9fCtM^ z|HAjI6G*6vevXp~IegaIG?ZMmyn{S?jZ~k~-}}TTv6Q_YhoLwr^+3no)2n{}E)$xQ z$}TL1H?^Rq@yOx&H)TN+g>&qhluBD4BDtcVU2e)8bK)Gq|A|QuDMh#1ugT{J$?NysRC5 zKAYilTL49Y(&i{l7VaCMew~E%s>RFzbI>*G!F6T)0d4|04iWBCJ1PZRF`J=d{1|L} zf79}?YyI1^Z=239JpcpDxjgL5TA*q0-~8%V_{ZMkNm&B;ltNZqOW;P!Ku1vkFP>A~ z_AFy+JfgSQI|d<`^&lY{hI3~$Er*2U^!;*0z{GLMrDaW2XdGgNlh;*u)3**-*1&WU z-~Zs5q+P| zbk7g_lIt--l69cNv;fu?!9GJRRMk*@5JrWFeb%RTInRYb4G2ph~u0Ico+LH55O0%+1{Yw-)rYkJ9-9{p~^)S-$xn>D57&2Rov9AsF;UV<=K1r{;b~{7! zYuom1+#~wh9o1iD?hTFiK*xsOhn;0WfA6e;atXDT36Q!)-nGz9z&vzc?JzhEpp(qA z)1K4z#%HTN(Z&s z;>}IzFrAn6h9Ib$q!&TFqGiIjMi5~uo{ko%&iomo!a{u7&_ z<|LA}_c&`BoaA|jEi&g=_0zh>mlq5Ca5}|=ua}$Q{2l-}fvSypEqbKv{j}SL+}l+% zIrLb*jZ%4!dDGy_iwpe4>(_X)Tt*sb)6zOyuFxC05Hf=C|E`-g8&(D7Z>!iED0o8t!SH`OxW1vZ~|eErY%dFrD8#X7T2crzPJEk|_hm*z#Q;ZXEhR(N?dfNu=b@6i z&yy(MIfse?ja^uD0+K#DI>y;@iL*vZ7*n#*3LZbZcaQRJ2wN%3*Q)~zjoUu^<4{}g zgRC()^mlJ??N6VpF4y@sh#o7+*Ki2greaWUe+K68b?DFf-RyJZ>SsL^nmv}>|FZYB z>pau@%r4IFrl$S3oQxlPof5{e2fW`_1l(v8sUp>T()OoQ;I33r(KO9ugB$O-csRCr zsHvynZIHLEzwfIIc|gYM$luD%5n0F<3*gl&%54CI9KpJ6)@=W|YNoRZ>_J05r+l@{B`Po-UWb>(>MzWR??r z@dmtHQU##<_bJmk(2e~E5Yt_VvFSO~gh7M6045oErJ9=ZYBUXyH_W79Z-!L6$QT%y z%@DGVH#GqrZA0&pK?E^^m%pWBEGG`lvIs7^mI0M1u{u^OU{z5&Sq7?P0#+7H7eojw z4y+sI)+*&BdA3rbR@QBggq@&3Q28Emi~%6kRXFKrYq~58Daq&cIZ6baXq#@ow*@NX zxgxp0wU86JkCFXpO)($%TgEfh<3cEpQZ&8coEZ&5=#+fseaw5J*HELbXG{bNnx?C8 zdKLEPWB5sBfD)8LqcX(Yn!{s;E^9-t$)zD?9stafHCe9lY_-H$TVvj~D6Pe#=>+rE z;c=1S@kbAdsw@mDDL*cK1xRn`eYAbfxXZ{jgBybe+#Bu1<;5gFhh&qNIo&_>yMca3 z$kwuU-5t*#3`LW*Qy3gW*G&PX)R0V@J+MRhveWwzuSJIuVKEpPpaEz78KCy85hhXJ zwbKJOEfr(n|E~I%4&fHj>#+00t_XYBKs1H?sr%kHhlbcvmt~&y;SH%6)+uZr^Ki9b zT}#T}qI=I^o%m=1lt;*W!HpEjPdm0v=Qefv7BsjT>3xZA4g8IASx-$k5BtSS@6CYO z(t|qm{pdL(*WVS1U6W*fT0@4_a>)h~u_(loSlCzs7Ki{x4FU;j*9AKCjr4&X0yGE! zF$8W50VN@UrU6Qu1z@AJRCxoO6m@1T=FZ`)u5s43A^B&?IRt9&@ocriv8`~&7@V~Z zUrE@(8<5f%s?72puFc!#YZ3YU=m-Gt?ce?_K6>;6s$^1g5-e+D%&4(sST%J_beTF3 zj6oG)A7{_ErAF`1aMF;q1YLG$GSJ&iutF(mTTk4F}tkq+q9wQR?`xdS3VbTgP&2= zwx|_*t<3W{r!`{;pyQhcRkq&8wM5R=_P$#JZp55LCNM^-whiaV8dZ6ZGo|Dg#^864 zk74pWRyWExEG0|kmA>|-{dxrvoSU+mfbey48*>}@>%2I`+3uQ`8q+2^?L z_zqn+9pAD15<~5b0UEomDQ{Xo*hN1znn}i=NqEoLJRVExdRhA*{XLb-45#ye@uXJ( z=rBJ-A8_q<&fPxyNB6gHy?hgMK=cQ_KI&&AI!b2gxpPQmWbR~~WONtV7u?XDe_Isk z(HHER7I00?d7mhd`$($DyiJtFA-PGVC zs_=}jU3rJnSk%s=g2TUAt#HR?m^=T*oow$D$Pwqn@B}RkF*wrDq}qF&wJp9}Eb!6a zo)Q@M@h23H0z@O5fe^HuZ$su%!#Oqt*zjP0!T>l%EQh8&Qfye-9I=F_1<-cu-djTk zUBi2I#*BuQqBtKNkpeKC0uT>>P5qJ(k)j}QA7w(s^i=G;h=xTdl%z;Rt`_11>Z4Glrp4ywL+v2{Bme_!@<5e>X{J_o;p(oT<| z3XB`>yUL;TO+EgHYOiljA^|t9!%$!Ale&J|*KNa8yr(_*^=tZllC$$e=?((o0psls zjmsDS@+QPuW|y|~ucCiceKF$b6!ZwttA6A|cJIgGq* zahW$s4!uE%$igk2xy1#(SS)bH9=uJWK@J4)f>{AU-V-3m zgGTv*;$gM-#L_SXdd!l1L_iFc3*fWqg3N^)gW7w}VMKuTqoN>iMK`J zMQ$(A>-07ZX+Q8TYyucGKy+E@YqvARBLL<;*Y}?G_>h0d(SF*p{%kEdDc)9bo*XLT zaL6;DvE+;ZIAoXi+rIJ5a%OPs0&d*Ot=t6BWuk87dgYLau4{pd3aBms09DhzwUqp4;VE8RE7MeNkQH}BZKv0pdym3X$-~lSILY$R4}iiM zPO^+DaM%o=A5nWRn+E@Uu|NT#Wm9{UjI_p?>v|~Pq)2(&LsU=^DXamUT?3Gcw`5xp zPqTQN&z!?wEf)Bnzxf8AA06Qrzy2BU>92961`e?j$+HM*IQBqf1sPzkUePfE8VK{D zl@N}W!$&|yx&?=-NDc}Ul|W}AfZr>0Yvhz zqtJu;sN2`q6#zu4U1VHIq^>)8C_-OS10gjuB&$3m2M8;lnm(=jp`}m9()|RIJ`J3+ z);|SkSZR~n6~IXhd7A+?3st8IF&sPtZRjxyJU!deTGTc&Eox6R>6%0G3S)562bMsA zsZNC>2B1&!70FuZamoqjp4BTnT`uu>GQm$~GvMw$nyUrR*On_4iN`yP$+j|78`xx5;-q8NkR}lihAcL$^kz!-Rdvz-Upkwo3zsm$kY5JS) zd+n?B_b!J1*~@_(SK-aqZ4M;~4af4&%bEd0?dow(%ae9w40zwP<}d@nE9ODE4vZz2 z6_%qU3hy{kJSYZJx{~B6NxFY6GW6bPfJ^3WCV9eiuBbLTYh=GrI{t1UD!^fZj<|7WG`-E4W3M=bRH*9 zd^DY+um)c>4PH2h`O1f5OKVX%hpKfrYe~_6GVL#9O5RX1RIY+)F%*h(9WpfThmuYA zT5Wg%PFE{@xu{UN7Qa|5C^_!&F&S2?70uz+F))zvXAON;7y=f~&)KL1hl04S5i1+H zlzz>!ZrH?P89j5x0J$STWwiv(U(@e*?$GghMu|_$JJgrzJOUXlCqZqLLezlP*2RL1 zipfN=8x-q8SSG;;=DxwI{2NNqGl<89yc|lA(;x&l18|&eU}avW}HDu1|$Am^(-7xO}D(E(6_MNI+zRh!g^vf!11K#{I$l`@n+_ zfID0_O7hX9TZR}KTLZ^q$BpfAV*rW#GBno)&X)>EWBACJn6+Pq4!C~NV36GZCcqHr zdiHz2KWGoHPBt+SwmmnMbZyy6Upue_fI@)?mtpJa_c?u)wq>{Vog>V{p*Hl#oxM-` zwIPYEvw$%DjF0QAzII>rue6U1>&wF2l(m8QZmYIBQy*7qt8^}y*j zz?~WJ_%Y?bKo*%3CT9S`(Q~_40m}xMmh>Kp;XXM6>ILxpCDTg_pq!FXnSrXTzybG} zZSkvLF(bq90fs_RDpq)`CvWz0$z@}Yf#ZU}6$jvM8RJ_40!5Y#m>e-sbFqr~I3!`H zC=&u!v~8@IvS#c{h(MhvY&QPhv_Qs+ol#|VeG4=fT*eg1TF)UnwT&M7@NR2mEsNLn z9;jV66iDWjRxH8SYSA?UI>3u4<0hGca$G_s*UEcm9&1mb(z8PUlXGMp3FADZu<}1) z(}d3z7-cgmGZ?BdY2}(h2o9&K9F?LjmYhpwT2RQ-#R32W6R;>+3d@6QP&v;bDpU!n z$P9{BI!7US0xIkEivSLO-&`E)S(b5WaF4pJX>fdt|MCYv06v&eDP!Xav~z9rXu?G$ zS=cNxD4~>a|1gev=ErhuT$LP5FT3FkSPi^&j4XL>$-0xuRXBY*=O+%DtHub{*4GV& zs6IaZK3&&5b_>_mhW9>W*vBBz?MX7}(Ofq@Yo`8tP=@AzqWcZDq4yg3NRQ(NU@9{T zJmxjn`0h2OskIy|hMA!tJ>&UH;G>V&*mvBX!`i-;&WAodZ|#^%EH)wecNmm` zj2f&Z8*(1_d`6vA<3Z+EbsE~ON zxF((_VoU@z--8>(Z~ z7kGFA+%F^OrtkM%6=T=u_PZz@M+*Pm4!qm%lMFHnwp=f^Id&UK*WO*^DwzO%Y>++~ z0#3G>TD$arn`1|v;fXXYU}}ocvaG!Ul2u$Ggx zhY(-ZQ~2=RLsZ^2k&WOsq2yuZPzuDpS;*fJgXvaSYEEp})Ii-(c|hlJ*_tA;oNWI* zD${29uu2^+vEYF%VoXS$H%C&e{gE)e5B;1_0nFjO8asM>t!q za8@^{yhjPw^<+8^*re~CXpM!*I4?x}>X0EEhX9tOgl-Bhb=V#JGfg%qvi5uusotO+ zBcVu=Zv_CJOpozTzyBVmO@p7^yN6HD&w&RI2#EOZ`xsJUO{C#YCMqn#F_>W~Bl=`Q z`8h-+XGXo`wsPRS0;&a7IFTetwB&pQZ@w;oLm8na6XAicM-H{ z#2Xm9v<^-fwSDltNVz$HpHTuxWVYMJdJF_NCx*5F5E(jqRRBEX@_W9!0?gEnXC11joSXn3JOFaT3cmu5WPHPVvjJ2Z8vfDea?L4Lt^`ZrcWc5DvE{TaN3c z?U4iaUu4&DlrX|Rz;0}eCCAesAknU~75h7p{JrbAUv?a~2m{q1e#ZKObJ3Y2rOE~1 za8VC<_W=$dZgAFJKgh8*$;K9-u?=R2m+30J8rSV93D+O$$0axDZEx$k?_bMR(=q!* zZ%UVHKRL&>q^NRfP0eNq2}C<=ipzC7&5o|KYRGU_SedSQc$V0KqYrt85$EcXH)nZd(Ezp1+_CI=2i!tmyA)0TekMpJ!w! zI|p1`(7&dMWoW%8AVc=HTuOOb;Nm=bH~<1rCJZJV9Z^3nE~t$xkF1D1qk9lmh|9P? zstO8#H2^?|PuMIP_)@bzjVU&UjG&;2D1~N-ouFA39m=)Jn<0!7Z%N4;Vr|$gCQQ{7 zX&Ju`1$m40ZOHrOlm7M{dl}Jf$k=9T3kV3o`rv6FN@j5z}$Crule z5{01(P_^@+x=AJ1V2SIJL+zuIodO-2EhkcY7Z_iKvFOdaGMmMux~Y+#vSr>y+168i zQ)TGcgpU&ndjRR)WA?_OM6VsY&ZGC?-8zJ9Yj0j=J`2$2cu#Ix0(w(0Ljb}~o)X@} zgTq1k;o~`dee3MEMgjFh@9_cVhn}MXVq|&T&s8E*@hgm>M0x6di{5zA_0qG2 zF{s)W^DJYA27so)>8i$Q-JlLN zGSDP^WVs|@z*_n#n>YY8E85JnOl{NFq{?)rfR0eg(-Hk#hl`}wk$*BC z9S=QX`?5YuP7x@@OpAaUDVU<^t|AiNBJZWOSg#6`fHQ5~ZC|d@*Oz^zPvPvPEGNoz zQf{<%4wVytg8^J?F;Aa~wWzt8i6s9_!|DoS1K24NKx1^*^%UfwoJhh9agf|0PnS!~ zvK&9XcbDEBc}{Zgo#%n4AX0tG`dl7nPl2FKXA58X%KY0j^| zOSf`Z+4emNAoQNsyXns|1>1+dPet39+pH1kb;honp0`*~((wBquCIgMVXYW~?7!^* zDBRhvdcckps2`d(V{Dc&TRfeQ){-6~IzZEq{!*x8r9WmWh+^+3!BgU+6keV(J;LF8=Dbkjc%pHcou}P>5t^PYwWD8>gWxG#m z@nR~OSsSVgzq<&T|?4)_MZ!-w?Q(J{SCFJDp_; zc}^F|vdH?V&Jhx71%^c1Jx&aioI?kM(hWp|_vk1pI0cudmCzOeH>7=OSI!gaaPR`D zwjFzo1lZ9uW48MCLI40D07*naRGW1}NW7=6rgJh(SEbPDydxnL2K|bn_W)dX9qU_H zw8Gd9gsi5e5;d67cPtRcI^-L%@pyerX;#Ky6Ufo=n5}=^dtdUq201i~LxVy?;yklA zJgS!0F$QeH8rH))(E!F8$ZKO+Zz|JG9NbR>;o$< zTLER;`M-5LOd~(9xGW_N%(GR4ss#$$Z|D~T<2RPOp_>z8xc|gFhzn+ExPps>tAsT~ zfe{>cTo{8{Ho@cRF>u72&a%baQMHw4s}<(8gyF>Jpc9RzecT4L&>qpTXOkuY+*h=* z6X@sG1fb)li5OlbXY&@LD}Yo<4EdAEG5(Jq{t%CT`?rBdp8&{!m#=`uOW>RDD33XBlF33rib*+Y)2LdupqgP$ya!LBQiX1a1KFSvPe| zQYxTEo<#+qkg6#)DF_nBDhgAU5!0h_bpO+1YG+vkWkJ_lt!VAKSTOLx`9X9|dNJ(1 zq4peSb_e3mEF+LaO1lZT6Uu;SWe`!Bk!co;ci&asG~l8YM)7FXPBn@yV`I}hrafbF z-&#qN^+0ID-f%S*29h+;v5n~YC)wd)<5;wOO${W;{lIjYFb)h><$#g-At3+;@GWWq zIOIJ5=f|>ctqK#Ti!iI~Gaq{CP9oZ2;QOdJl++i9}z^;LP%z{BX{ zy=0D^(C-9r>AdT@9n;<0Ldar|u8;w-qs1 z8b)MSM8iL;`-{MmLM&^?o0|vXZ4?HHlrvn99gnf=CpjlYDsoD)xLSpCE9WrhB&xH_ z2C!ip5aUqnjFdjUcAXIbWa#`9G}?uQa+Br%`MZA?`22I=-aX*_9GJhNaFo}tP<{VB zetB_$lPp6~y~dM!cd3+SmQhHGupnkLdLQR=nj4D+9n*4{%49f*5dQBqzXhId_V`3 zchGC_-RhO^rrbW)cT2A7d0wX7RL|L#K{3|O*m-?Rp9b)^5!u&QE2^w^bVSL?y;~3U z>|1Noy&yd%{qB&@Ed@5xYxg-)}j*<$>$(JtSlEW8m{( zpYJ<=Mi#Fi15BTx_jj~SH5WHM!@<)f$(<*Ub8dm<1@QGZYSHr_KS!;n{aD@UzJ&P#gmvJ|IK);)3SEox8wf z3M{M0z-U|c_KR1?0k#09IpAulfO1>{rjC_X>Y9NCqrxUYe@_bH z@90`bC0`%J63HjP(S(>A0D&3C({(OZ09M4v$TKqNvx5HiAdj#lgLE_pD8B~h9T8TM zwM?OPq?lQzmL5+D(5ad2Az9QNgApx*7xKz=fD2(yICW0y3Ghp+VLX^Dme{N5In<7r5~rM*zj9RFr!=(olrS`3CKI5pF?SC0wvOyF11jYT zUERo|G7g1N;D-WJU^2`h>zXLJKn;o;FEdLOS~3Hie87wu5O9cw$D-vqZ@a^{1%qu| ze;nH%$JU~e_D9#Uk?%+EZ_{@!-d=~Pwu4S`*`?U4_e&c$7F{5B=sKa_V|^VPzeD9v z8IpY+OCt=9^!C#El%9TYP~j5e*XhHSq0(Emb)fG%3=BVfoOcKhK<_>2y3=b{%Y7?5 zE;s^A&wNkECwZ{W0gDwoGHg7ic0lHVT$~3@(oWv*I0%3De71G~)ccqmI}|Mu#x-p& zwP&3AU9|^KHiIx=T}}6GI5!z+uYL0&Dx8e!7LDCQ_BD!kEn~DvcA>Zrp@+cb=fh6n zHa7s^IkaqhPlvqsZQI&3&-ylix+Z#hQv)r9aNNYOhEO5IcWKnAoHZ>@n;PZ$Ydmh2 zsGY;J)e3)kUg2+6E7acOv4kCLdEH$@N=9ScM-;$AGB1SH(tjPRj@zv4=zF>>*ik8^ z`ss3s$Hh_TV__`L>IRSV0);X7M~^=cpr3GH2Ilju|YXT#4+n5&j3@z&m8}b=c|!|HTBH5CL}OXmPOsY=+v` zcq$Znu+i%*DcdH-Z5KoB?kKg1UdO_8J&-eF0@I;1tc>%0m(~Wu06;7y%f|dK&ntXU zUErjkIQ80loYt}Yt$-yda3P8LL@I7GgoLo?YTx@GJAd1pAAO(cydh^zjc2R=kfZCA zpB$G&$2ZjHFD_OTj)4L{yL%7+%Wpi!=fC-zz-ONU%N6i9e*?UDfzyixo~>4x8IQBJ z4bL_RKhLL4jq=&Q!RK(m4}VCZEuO#mg!z0HLqSkY~)6(DmT+ zoIr*wBQ`{40hbYop!!DF>``9I5?C!Fv!ZS3g3fVX4zJn}kCnUwnF3W>dcVa$mwXYT zoU~0$YN|mUov>2?jkbvliNFp)^q{AqC;EQm9_2mN$H~6mg8G~Ss@5u{4AG<2wg`EH zx&s)0%{W}gDt4j1PwxSvlE!LXF%9t%h6Yr^S9uP`Dm})~IEU*=t_{R_;u+v@4)fNd z;J;^evn371`r$J6?V&*0`5d@^KmJ`eK-N(C zSZiX^IvLlLJ*-(>KtF>cWy#5LP{*crLfEfucMMY}s2*M`i@ItDx_=%hGNAFy%FF=Y zss!xrJ*=WKB!iyfcYHzJXM;Z^TDdJ+e`tkd*N~Y*UJKYT@3xf`ncZ=Gc4fe%$M4Gq z3RMSMGWs}gK-!uq?@4QLo5L-L?pcBNq!U`Ra+KA)y>1l4C(aRi;ywRMZnN zQYa;{nOv))FuxtSVzziEz>Imh&>p)htZ>-Z?t2u7QcF*3xoFimdhCcax!N zWk`&fmcfm-O_&*c|GGbNPM@;bmy<(Rp$T)*tt)4`4FL#*Ns}hFOc@+Di6XQ2Dr?6{f|! zHK=?&7*;nV@m)6^c19oMDQkoP*^eg$<=)8i7|sRI{3?p>cpo@v^0moO?irEy#mUnF z1YLLD-^%`Slbp>rK`slFi1gVLdT&ejrF}q=zP{8Av+`WB&-1=wvcV>(|2+=>ZEU2m zV>H+-VU)l+z@;mkcFM00FdaoFLbAVe>GL-Sa9sDov^L-}c$cKgyeo2(?t2X6*c9Tj zZTqRLp_5x2v&;3~)O5e<_o@%vI7FLmLk7}h0-V1l12D6wJSE^fx#kd+l9>oK*26uh zVhVXYYadG>(s^Wz&uoUOb*P-{P`Lqg3=4g|DqPogJ_m@&K_WoH~6w{4bY4^@=upG4!mB23~IBamPob;4FB<&kJhDIaV?<0wsjrd43*4Po`69=jE%e zXX@gD02VRS_46zWdUuWC>sGPf0MLksS?;Mu$h%WFT*B5;l2jwHv&6=HzcJs0o(+L`9|&AurAD14x_?TIoi?~O4wTz!0Z8qcX^&SSw^`9oB{?YIZE2YEVjYzSf~kj@2xVLrP%>-nB!upUfF;)Z7#~ z$qW4Dd4<{or*(}#xPKpyfA@EQdk@Ia{N@|r+i&so^=r(V2KVy}&sHncO-mkbmnQ8Z z(N!V}V{q2C_$S|fi@$FSc^v)@S7Q0@j7~^B|6=GGLk8WXq|cU1PEuMD%OdrppECsJ z*dQ+)8_wLmgiB;ODFGjTNbg<8%anL;tR)I)093f-tFS!+JHZj-L@Ihn>Di1ET}r+X zAbOgl`bwV1a&M9|q-8+CwcXzXz~L1@;kt@b05f`?j|MJ6k~?n8S%k0}W9WX;b7frg zSh-}(Btfd2lZJex?}28gblOS#&3%L2t9lr83Vt%$d4%s9cMAOH8>6 zu{3M|X?d=c#-L)L@~mlbk_&)mQJUcpHDH~!R(Zvw&M}YXb&2+*ZnH-NH$xver0DmwFSpIDyx+3zeAso~jDZ_N_DQ;b z%g;^V#-YVI+E-t5E{-7y`_~q2reP(Q5e;-$W%utp9+GQJ^a@Gx&0(9jAu2aru42hH^TT;W{=j77kHGVTx_n}+~Q$ZWgeaR^R+dw40 z{KRl5jA!t|vC(Y+)Gd&;)E2;DE{KeXERP_Lu0+x_k0yfdv9X*Opu<(<$GJbirWmC}eEjdOY(4QibxcFqknjqK2@nGMs?IRBG=jT*Vs9 zEKqwB@&)PguQJC9V=&7MuV)T(=TX}Xg|J6VH%w*j4Cdb8(FY#^4<5u2Cpb=`ng9|W zYCdmJ#M6DkA823ORq?;d{q${QI%o%qUYGj74X@spAlH14gZjl5z|>8UZFPwuPyblE z`gv{hu51E$x0PM=qg|OB`>-#1kL9&Hl{LL~VC+Jh0_gKTa$W%+e*&~MLS-;{m-HHx zGVs>!FZsD9($>(k9eRc-DBE*>r$S_MIgyMRAsOosZ4IX z_plcf*+NRCp!fY9?;{T2kO5Cheio?Ov&`aAkq3aIv=%41*!XG?%fPeVo9|NC! zN-T-5zQz2TuW`oJe58M0T%6@BwSQ!&RA^E&B4yHRkO-rb&{)_>) zxpT2nO55VJu0vwl(q<7zX27Dep246nZ2&l`R>H&7v5KuxAhOd^;1_^OVoHEY&F>1p zYwhtdu{R#vr7){{K}!2-#q%RokZmys0ky@`FimGuyWA$cE?!*0XkxN4Dc zUM}fht}Cu>@eU2?xBBy52Fn1@F?7kb@#u42ZZT#VJ0Jwuk-gM=Aj@t5z_G0ddEW(Y zaInT+ypciPw@m6~&e_Ij8_JabCSSHg%8+;Brf+2v4t^kRY11GR5C&fBv>P5lXMh&4uq@(3D(df@#I zKnedKLthm1HiVuOHb>z+Dn^rom)?^iKMMvr(XT@e3bmmV6}t^ae`zhsJV%*XoMbsl zYjNf&Y~{>3)K)+Z8**+)*veIfs~l3uSOKE8-h^=mvkukepQeS|;!;g6`wNwuJ`l$S4Y+O~MQT;j~PoP(go*=mUr4)8Sq!^|8o zRbLEko|~?vP=MB@P57z==z9^b#9aF*jTChPPbsF(EffY-07!c4BhUs|q4GvOqVA<38uQxPTvEMRiLabAw5jiqV9xhp)PL2o#W zB*Ya%0S;gQrjChCjU^_4?0wd#d87Ik@?3D6Sr!#2>9hCreP9yw7-1pw%g1%o@cq~f z09U?o9#}PzZ3FGaPA0DW-Ffw8{0xl;hw0Sk7bql83!glP@8r68<~^P{kCWC>c$_tW zx2QqYOiEDL+&_DL4i5^yD`j4IgL&)l^x^_Py;GvFoKpk9nWxHEGcTcaQdNrBAF}Rh z)&{-LhSta;!=k@0IWT;+R zzhpL8@Kg`9Gs-Yc?{CZ@oc!IF)Oefb0%J|Bg?(Vy*xz!F_v~p;?73d1#}+n9dj8OJ z+V=VF%G^jl>l+8Tr#^5%)*rX!eGa{dp~6=Lj6-7XSFeB%Kj1mucENW59cJOsef8Pj zooADdzw|>wCFT2p_e}R&pPq`WQR%!0_omhlwcg(Vfa6x)h)8mmw-MavlegW2vtt(e zgUMybYe)&&XZ&pzJ(ZIAnGLFW)8MRC9=#nTB;-^I^)8|-fs7g3F}8eDsLXmFLYY`~ zjrh}Tef^s#F%-x5eh%zjwdGJUvl*UxkH2{R8fQ(7fAra7{NZo^Ht_HxQVL$Y0OoUi z`I?v-b50I>*0ea|@Q<;Cti%%W3~V^m-Ua&pv(*ZvwfOzN{%gv?@#s-p3qpA_03Z(p z;G&Uj4EWnGi;xmpneMF2kuEfEikBq+@+9oz7E!t&6$J=)~`5|2%*3{}q|9?mgU zm5l@Ih7~ODNvYE8j&KcOrzCS#SF+IxcH43u5mp?%>R(WHT|8d;FG*Rs8q-E)U&cg( zA_BT_9+Ap>%rryB7!-(WA|N?19BOZAp8A+%6adQ1psE{uQsk&OBt@jmEQ%yyvb5PJ zdaWy9*TT?d)?yCN>=BEzroo>*e~zCu4T`V71wMTQ+$(9WJa|C!^TQ7*q_HmJTnk}L znl-c~fY7&oZxc?k>pHe;h{_??$w4FK21zi6Rk+reae1AxsUKrrZ#w9p-Pu_VmGE&0 zAZW#_z9kT`3tMMjP-E!WeZx}vK$lHm$Uc$+AjXiBV7Vg4!-EG{t1Kpa{JS8=(4LrO zF_Cx6Y|xv*;CK(^P3FJQ=(xq<7PPlr-WCSPKB70+z*tD;-bfbwafNKp@yob8=EVhP z$e#eM!?V>YP@6X=r;K0#z+ng6<qHv z9;ck7vVuhokIJxjlh=qM*t^k4U{`Q|e|D6T`=5dlS1n`JRjvvEdAeMN-~afNNBA#( z{fEHAPsoV>?t9?7=Qvv|aMsXsoHq?B2UM-c+BAf3WFn7$!f`a2`d!!lG;4tgrY5om9SVaV384kVwrj2 z4ZpGs!sJ%!=Fhl*skW5t|H-Knj4XmSh=b zu$Zq_IBQ$Xy+@hnwC;G1s*U$k7|O2!0IUdw1`kc<=$So<9DV?)%}V zG{y~6vKI>mJR~{n0Cn2h-j5G1Hw{P_@+@Dc==lw(_n6neRBjSbv&l1klg4;gNsWB* z{HJDT{z!I+`@PUpYuaRco1w3z_riz8qR2u$XKb6gJB0=3~h94+PHaBma9 zF*wn$c>&p$N_CSY^;*3tc@vBMuGiT0_)X9AGOUctj)_TL_@Q=&fDKWkN4vZ)(`4j) z!_1<<-~iy-0B&q!=tgj(n~1cq(Q`R=?q$Cp?_2--dP)S5u(|OY=aQ{9~ zUC{gIJuxn_9H=S|nVBGzPBn(hx~gZBsn8jKz?8O)Aj5e@_mT@BQb&VEm>cpuGYc37 zVCp*NIk<>|B0cI^KkD3MwypMoHCqIX0&`7Z$yyx&86OVTckZ2E? za}bdE;>V!zF@3_mT8@lU>aj?=n< z>>FQPT;Q~>@x=o8-_FkPvwPp;7vFt{+1FoFj*i(qnv>;}=EQVL^LJV>&@u21^~sts z(_*VCEkn|AFkBO3b4ZMu$5+wrwrjN3nT8D9K9Bg@3LLy`5`gtR+OPsJ8x^X!#r$|% zpYf)CzbSjLZP-E4BiiY$_a6Pdi0}C*)3J}Aia2^%NfbJLu zZ|UAYCTV%eO~(M(8Gm~;ncyVP@h2aD0{rMll+5t!uYu}3gbGxxqdX~@Bz}$g3uejt zuEU@z?=h2#6d{Cw%WQ(4tAHL)rc?ZTpF9G7@B;!9rc>bjoN{rrEddLj02MeFnFB{h z1R_W|IOn2~>m0E%v==?gV;+pArm~^sF@?tf1V9)Qla^+AG}5gKnaG%BGM#pr6NW*H zT9{0Zbrnm;G;Pc$B2{CIiTaG3C#)0CEQrR@cTz4klz!u}XoO**Jf*_W(BOtPn#7B! zKMUZ8{8JuB?-6q*c=ooLsI*z`FFaR>ahSIP%+g#cJy7O3j~9EYgoS0SVs-F1NVrPd zqHY+>%zUKat^w8&ps5^HA*o?8_neDJs=XMXfH^O0f0Y!@f`pCXP@ED(Gi}#dW~nRn!~szRHdi| zW|m;w$3=msix&UWSKk3&eFp&e>766|$M^5!&Tst&@X<%q-=ibo)9_saZoI8V?@g4Br+#4mcRIN1}wo*1ApZEQ3lh%_xe2X`dSMt8k{bdTQe(a5V(ygK%nI2u$D`! zHc{C!hQeJ!_)8P7aa_jF)BS0|)P9>05MspOP{2S@a9$3sn$osiFx@h^Q8zKP10aPf zFgO^LF*%*rf|M2M=W-bV5$~DZ#h^>wAmoz@8Pf&1N4$S)x*;PXYo%coQzK=Bgb)@6 zR?;da0*1I2XcZ`{r+EN3_#Oq|$(UiI$B)~sJ>?++fYP-neGyCf4(JpqI7ms0C67q_ zt}rGfORh}!d0m;Ne4*fAv=p z2x%IeWLc+wee!=le~zciC4RQ3@Y8Ry z9mCHbR!2EBkg_YQK|&2~qTZ!TL5oN?Z(@JnClR1`ZT{{MIuQ~@s`oCme;}Y@-(&lZ z-^f7Na$XMU=7+Wojp;h&UcRJ#rer6FgiJb56;^t?uWf~-->E)0Xdjr)kDx!u9186u zb81%x7!cQPYdA4@8xpO)0|3X63-1OY@>jVyZ!-_Vq*s$iKI==amY%!u`qu>B^vN#c z+*`75gNT>(P>hW=Puv0JMpI*Dyp=M!T9JWJ6u|ry{_?zn2YbBRcB5f0;6`DiH?hOu z*m8XPfQ&xSqc3a(h(>+2p{hsUd4+`HNIRaAQo^+;+4D(8MnwI^0HL09JZ8OO%jWC#m51$Ia{%zzCDbJ?!P|F!5cXDxq4Xck9^x0j^;^Klzea}6q6Q3A z9+@v*V&1f9TJx66 zNa-IMJ8J>gbiJz9(z&&;Jovh8!yrW)4SrELgniO*sEIXno-q^wAWF}QfsMLG$V*|f znC!Fv0nq{<$M9oT#FMJoEVRpk^LtDV7w0>Nlu};qfnKZwG?vYU0@_> z(eGJl4Ocy(v5|GAbF2U)hN`TDTtkl89p0kkvc|QHiT8Bh-lGKd<58aDq$ns9aasUH zhCluOJ1U)x8kGZ1YZu0|ug_F|yTH?Bjc2Rp`14oiC~bz)8q6|-!W#ViHy#s9YQmvf z#e@{#DLC|L#m|0)7(cE74vAMkkf(9Yc*2`E-UG;?K%G9>hLv$Bk@ZWzgSWE39P*is z>B{AJ$7D#qd>N7wRu@bBpWi>nCj}`A zr**TjtZnC60Ks#A%3k-PXRRoV!AVBUkQ1pOvRo3VadbqA$h~`{guHr5{nKm%0WBnH zXPTqKTA*DBb=urVYBK&Un%xjO*r>vT$aK;&Lzyo-XvUp4?A;vLh^+nP#S|G=Q&{w zio}~XZyL-d6RJq%9Udo4x8WqelvuQ{0*S06vphp-v#qO4iOjMbCs~Ha$45Xh!7n~} zL?w_{D?BQ4oHh*bf*Djj9voqxoHY$#93D?5sJ+LRiv?y`&bdTrZaiBp@#tUwEBxZq zPk>+lb)qqs$Hd;U7I^)VL#zP$Gcga!LE>{renNDc}-=4x1_@ zra;IV@X&Kk`uWhaJ;XEDWw(VTl-aOu=i)IKj0^I%|3L+YN!$H9o)~{@x{1;I8&a-q z^7FFoTvGI;*c7J(>_@X3L^pS6!);hV#@ZSCe&3gPC(PgyogM6-AeUoJijsWbMOdSl zTPqwxiv%!yBLkm@adDfUVJG=z-~1WdfYa~gZ|--!0KPtrrT&&nJgZkoD_Hl%dUw9_ zG2vzjO}%E|z$9f#xgVvEc@|Qc0VoVt$KZCvkQc+gNbaw+BjY8exPTME8#jKDmB> zzdL=CcGd6loYVPHN&jF_JBQDY@8f@c@&x#;9|C3yym$q?m=krsbvUhC{JTdbYSd&H z8jsVaCa<&i0N9xJ6ml{%M~*TxIDzRTdz9DkQIX^6a*3Zz3gGS?3iB`} z8CH2l)cP0Cfukw#-HNK9cn=^4COL(**o@wrmdm|Pr|cc!Y9uw+yw5W-;2h^AkhMnE zvU&-8`xO~>Mb1W_r+==YhuI>o527r!9>^!`B{9T+u`L_vQqtDOb6g8}1~JWaLsOD|_JJOj zb7*84-Tz`il}I?LXXR=BpQ$-e7>l`yzn9jcST5-PtzjSvluyHu&0Twsv$jE*$-87x zWEL}SQ-_PxhM8uF*hL0G>>P?b3D0I(p5CBA3&yzL+tv~rZOy3Q9tyjl&`p9$Lw^*Zx zuX$ekE~>v*#zpTrJ=f>`tV5^Q;NHeQ>?#KUTsHM#ui=JZIZ7 zmbP_lgphs2d6s2r{u!vrfS@0aH9vIyt;ZofuIIk>qgw;KH(a+5xI8$9lj!$hjWM)O zt~}{FcaI57a&-XY!|{~piyM&rJLA5(_@4Kc(jJ(99ae_gpAEWWWRhP}2J~QV7+H4_ z_h|sg@9@7RaB=a57#x?0t9hG65`2nWH)gQ0eMSh>;frBmi{G z2OrS!s}+|NwaU=Qh_YW3kb}iyUEvkO!+C1AQ3j-QF%c;ctDvk_^bd$Jzaex*fC_HA z=90K8&Wj+xrG%{w$+q)N&-eeIy?5u5B+1UiJ~MZV$n?yrs7G{9=Mc!jpk{X(9Q5*_ zm&D)@1M-09a0EhF2n2-{mI~EfffT4vqDF!LfGhAHkOC;I0ty3RR~Tg=^x>iaYz+q4 zkEn-NWqLf!&5Xjm*Ua3*9A7LJRLOUKThVjqop=!_ik?0T1podul?=j@HuHGn@kEkrw7R zVek5VdlPn3YaemM+?MD3gMIsKXig39p}%xntdpBE?}^DE<+Iy%INsS|ISza-bKpJ} z?_K8es~o)AVVkP#tN}&R&DV?N7pciTO}zg-VyHdW-Hlu|rPnb_dyWI|3#uU{X+IL!4mQw+Wsr zc#!TxOfA_JWs~i+&aNYU-th0#55CI|SvwvtNP+lMjp1PJrY4K(hqi%!ztp1K=#4E-cPC-NV8s4G#EhoNT@}8vti#ah}v(nvu}j!^(Cb6kpooycVZ z3`EaDL{5u>&L0A^C|XKW8INPx+zz-Q^I@#Q71FsBD3T%o$B32NA)rE@8Ukv6Gv`H= z@2(HrfMY$xGEyL5NPdssGXNywof7GZIsVcvDL>mkhEK;Bip0rxT+QXow>WDpEQ+L0 z0S}8VKuGBy#K5ouw(vbXV~{OX8}XESqNoaw<*2)HsnqK;A8_IorUM#8b?aaXed*H8 z6GaRXqcpKdyhoz~U5jHTm{zF55MV0LXh7qENd#5tnK(VHxb$!VJbyttG#bFgIsQ%k z63-a?3DR?_ANSKgJbUs#}M0ftf6i9S+DQfX6UpzYhwsl-L&6L+8U$g zjyc!Y^_BLhM7N(^vK>QXN3>sV+wPKo*?)fb1x2oU4M8-Tvi&WmoVG1#5h<14Yf${| z3n`E?B+RW8HnKQ|Oc+4I*vQ!%9Tvxi0TF?Y4O)pY9g_n#7Y*r+IM7;uxdIwtaBPZF zukWqF9^yIOHHT4Pd{BoxOB)*&qe0Bei+zQ#nKt&soS7Yg0CI*Dx8cmg7f zQZO2*RElDYli$R0k(21`(q45rl_wgPADJ@3&Ptt`dT|{uC2?2)F2;%htn0X(ov7A|pnuT*I zO@wtRL}NlyD$0UVSQ;)Jd+`Q%^@@QFekS@l7M821XiWfyQdEs4XJ&}lXgvQa-GhRw zx{O9Ctx@YPlOhKAEJ!pp&w|%=`Gc*f!>c?e}lCj}3u94bU?%Dbx6q$}Dw| z60jadr8&(8p5u;>XpBjvoDr8pwo)E;j0u;-J?m@C3|P9BE%QhSs1(h^KcCO>lcQq- zJZy_E<_&&6pX2o9bNtJXpF0VuR`618rrgIIw zpZmY(^LoJbw8^|*f2QB1U+``AN$!H>)uMo#zvplJ{#^zzd|M`g2YEMoUSls7!00GF zug<5+VErm&xka!6xD?27<+fuFz%+Y*hd_+n7cZ%eN|AW{jijht=l&^mb%ZuLPJ24$ zxAg+L4Z)@lcDF2F0N*6yuT>WSxGtEut1bQS^9bxd``?CHOXw>Am=R9R2-C8_%(gMV z8`zy{%wHmSm$yT}jY?}wbQegeJ*Yy!VTsy1{Gyp}NbOMU zFwu7ttx**^0v%$N(|Cpz>XxIKp07cor+%Pcdio@EE*+gEDa9Dep8~MKaYc~)c$|w5 z5G`Juz0A?H8C8(__Hs;)%cc(X0VA_v_qz2sF$RBhbRU26gC7D%6GHfH0IWi7JrFdW zt(K_U#G;Z^1F_sumALpW4Jip0Py#SzXJ>wcwnN7v`q$fSNyy~c^ZG&I2Ie4 zmudljy;N9Y040K^ip6rvwPQ7LP9Q+2@h;A1PmYcm*l2+xUUV0nR#hDVZAw4o15%IBK`t?$zAT6?}Nc7@=^PP^>! zIzXM@?-*;}UnMws3)en$4*BU>^U8Z-rvceJRTFzuu0v~nZ|Y3XDkOHtRY8uv57qC3 zP3u6Bdsy?0_-|j(I;REjyatXQusAz_)e7a#e5eoh!G4`BpD6O5*R^*IjJ*pmW5}FK zj!;>27y*(GK2!k&SdT;w>2HvjpMn)9R4FtJR@)FzDUBxhEsnO1j&0{$T4SOM5+POH zHc!hkrq)!2M%{LEjHBb?!$xX#zU{Oq$${WVu|!a%9hP4h{r-?`CR%s360pwX5OF~% z3n`3^Nw!S`4WkPNNMvCzP8c8e3LwW#n^6iU#^A|#jDLB0O1brK-f#(08gGqH^mj?y z8H#KVgBz*3#mw92;EIVzqiA}_cj6>I8ILg;ne7XDc@D;7;JYWlY7X+o415nXor8L0dVFEQ2Gc8t@K#jmvO~zw#IGYP{=nf8$O2M+AruUTM5`1!$ zyr*NYxZLKZ2)9@WDJ8};z$X*QasgR!8Nug0^$F{CJwmWQ#_?*!sQ)LW{B-k0ED6I)yjg7t~riUB+T-K$H^T-8{ ztAggI#;&M+Jyyx!vGUKdYoqb)J0NM!hRgT2ftgRr6B7d&h#3Nnt)gHpm_yQ;xpyxD zNoTFatZiY75;YtuzhgX!sPm3BtGrh%1CB;1JY6nfK$<&H8dWIpuV*v-{=C6|$5mMH zo2R5>V+!Ewuh1zKf79{AnOMT!Iid1N#>F%<%upa5u?sGctlPX2<-{tju~}Nn$MaM}-g)5s4FM<*7(lTMgt(Rg6pL7{RxwhzT+*?0kufMV z_t`-1ECU=i1Q=r&GzsewBiCjWcAr29fTQCQg>u8r7azwuj~Q!^7yvedA~J6L3_2(GwPDTPWG@pzJ&A`FU( znPpR5(mdpg`203uT^KZimp!3Jqe*|mr~nfJCQ1{q%5Cga2tp3T$a4TxfsY%bh5|Zq zO4h-MQkzBvpaKj6riI2cw}N#mOmzZ@#Maxt=X*CJ=%jQW9~oc?_|W)&-@Ji>$De5p zr~>%jDFJ?y2f+C`jZ1m1wpEe1Z0YRVdd=;-mS4+rzhRJC=CmA?{dEU7ZsWRh5N==F zxqi*&)ZDJx{=BNnzBY8OZ`-)JaaIcl5zZIDyakpEVu0#Vs@#>c89P;NXSZL_V)p^nNKuKsg5f?(gsyXJ6t>mv}NBGr*DCw{5_@4cqnt`L_4x zb%C&L``;$Ww(qfbZI?N!mpgwpF0zgyir_!cOPaVrg2&k^^G;bLozfYty2AOJ~3 zK~$7V%$5*H{E!_&%k=-~;Q4?C4z=?vlIS~5Y^4=WM}|OxHfz@qZCmc0RC###2zdUS zN?GRHM$L+njw_6cl1sfU7Aa~o8WGT84A3+LHYiQoD@D$m02|dIuxf$Q#}dv_q*Tto zTJXNi^l-l0HldixedG!?l9F*M+ZF{aR3e}elH(&<9isiw7e<$gH=drAPWzDbBTV)T zPzuJtn3H)*e&;IUV;4$S%(%)E8QX;3W4 zSp%4qCGM9cCIG6Uz=@oYg>Lil8rzaR2etRH3~g2Fbp9Nq*|4q=mJFr4ZRq2+B?iuD zL?v2R)Qi)yfEkU^ECOn1td+C{*7QVb>~A?pl(#Ffv^0KraDcy>H~6;~4Sx6V0@LPi z@sV8t-}_DA!2{Z%X;L~>f$eL&UCTeY#M@dY=I{4?o!)%>4;?GF%Q({US=U+m8NU5% zD*XwJqOpEsIWk4wfC8vn9)1p(3Iv_e1B0lN4I*CVB0G}R=DJP#(Rch}b z50sIdeC0`8RVddW7Qmz+U5q+7QfO+kFdgE3-#p%^3WHDgV8A9j#;bweaDRGZQB$RfhEs};$^$(4ttY_2 zF=<$|0k95Vu39t>(IFJZhKR>@>Gt{WE`Am@Ong{d3^XACE<^^0IFmL6JQE{jS+2kze zoA;SlqPHXGxJ`iLy2pOkPWdh{A_p(>ZH2|L>3bk!EMjG?}%QB<#?Wg*WHc)WUYWVuYvi5s>vx& zAaltY90~wJ&tLZGIac7{MRxx+FsK2ycD=m#R*HWO*){JN-<$kwk7)O4v}~Op#k++LV5?Dax5gRB3-HS*kkU zPs*aB&yh!GbIk~`ZGezCL7TJy5(tn*koR~$Y-Q2h!tne2u);t8_+zSuFkevG#nPjm z&+*Fp*q3=436NF65aG|vwlRuCRB^K|0jKyBMYp#CGnk|@isydK7yY)S^bgtb;DCM} z@=sxbV zVuk!-KF6sU#qX*5Nr}c>Ri_H_S|&a`YC81m>bt;Qw;4dAk}q` z9Rc?(_vvi{Kvx+ryI7<*m4c3~}zeXW_guW8X?ErA;&P0rNongl>4wWTzGae$>#wdo2d;cMDP|^3}3V3`#=P3)I9VMV5M$!0hA{SBn4^&$8#;PdDQcpDZ zkwkO@41lSk<29bfapN7P!DF@}hSG^Pm;?tnD!W@11(!bVjBu$ortl zz*YHv%9UfLMTrWY^m-J(ca)=XS7@qKa(G0~8Z+5!2(WN43OF4Z)XtIUXb7mCj{>2W zwNACCsHa1^LTmTLrK&Mi0KQl(Fl(3iY_-B?#t@U^=$IGRt4p_~W4G-W-IaBky!Uf( zBZRjSUwN-BXVhF~+so_+V5ff+viDYJ(fF3rUEZO1`JJ`?ebx%Jp3^|f0RUrwRspYG z0@KF~R4`l7mp~{Iu%W?zMIdHn4np)RKW?fbC4VY(eSut$qi;iC*~TH97}Z$KflvaI zd%#BzVU7>+ylL?LvOu}>A$XS)&`lsb8<{BYaN@s-m(D)N=&N8~`W*W9yXhuhz?V7J zzS~|V1?NiVSJ&)=OT5TBxTVFGIyus%eEZi(1U?U4TLvNzV* zAC*eE|4G{<(4xY*^iQh#Fu%@-q)3ED z{*@&;nbi?6xlh8S^EnBS9vx9cWWLC%o^ZO^c$|O^=NVuri0Zmp5GVqqeSmJ-N6)0+ z4Li$?CsxgDzKG9M?H!EIL_0-~!?}1r)7VJI?T(qA75zm#_qWohU5nbSS6AvkJEqW> zwGP0Fgn+Yi)*-|>cVDMGYWn~&-DR7}Jdp!B!sN&+JmsRGqyFE(JIav z(uQeK#{F_OSUxWZ7)8~pQpx0rE~w16Ym;^gkXRgLkr+fu0fz@v5_Z`VU;>LtL7*k2 z$Y>bVqVbBgZ9+QU9+vKlhxG*JO3Gfp|LOVkII}A>t;30HabgNoTH~|XjLI{A=M&)g z9`NcpzvK35#s`zMzPlLlzH4@AkOJNJ#;*O9+J7CFx95GjckfeMuVRDX27m6_F5neH z5(-~(%Bsl%AVrb2 zSCNu!=iLO(wVhBCm6#aA3gx+}1B~&E`UMTal-HA-l zx&W-gqz9zTT2Ivx%90!}9Wc>MC71TB2y8L7?erHpI)unmd)6nd4%0*{z>||z-}3x6 z#Lnn|A_Mc0&73u&;Wv0v8BEF&e=?a+p1f;`irF++g>K41KaD_us%>S5_cb|wKUHXI zsC}mYK5HE_Em{UR_sf`HT0(I{5Q=>sj+15#FXNT{=$U>I&Rp5bD11#qR z&K)0%|6Q0Wl3Ld3fBspiBmyn_ zo!J)u_VsK0xZ$l14hZb1YkJ;Bqok+v!N`=Rb%^fGdmrp}ZC5|<`)&(?eY4*B@2=m+ zynS2S+Gif@xUS1y_e~#9EcZYA>-;{bp%tg9IzSs*cRxO+65Y#1nu9|~jEgM(**R_w za^$J7K>BWHy9f4__5zm^q}73{ad}SjJvP9jBaF^0zF0I{L`M53eP1nhV*i1DM*ziT z?Is=PoF1)uBX|?Ap?CDtO^%P71_>^EydgkfQ@_MxU%~P3Y^$z!-P`b}ZD3UdA2uDg zKl$_kkNEq>6AWLM;>C`zHtZ_q(bdkOL83xW3JsgryWU}4W&ED=oJVtYibk4jUn=pc zv%gccIM2oJGeNp}=@cEEWMIq8rA4{Xs*?gDAWS6@b*%v>=@w}rQRyPmvrkNkD)4y) z;0OWJ(I_q8drr1ola0T30T!}6w_m96x|2q;uO&xoNA!A)!7;1>vdPX`i>WbqG9F`E z6nHY3Fo5Qwa`??Ydkd zGQpP1)V_<0qychtOhJdDq_&Cfg;Z>@EmZ?4O}aMc6C=f1Dw&&=I<_IilqvemM}RT1 z55$p;EF9XtaSCv&R8?q$<+=-<&%xk=%YYcAP+N=IwdwwP5+;^;q0Y2!WFM)N(+n_o z8kGcmC!8MAY0JP+uX!8^P`1k&pIAwiR%m=ml>$hoXMzItVu22lz@#h@$CJ!!a-sL{BZ^M0Rt{N1+>b~M7yQQKL4O$ac~V+H|Qj!0zm;DCVCd-v#FcK({4 z7uI9>U|3&&$h`2r`xNh!<$)!!%d9syt-Ib;fcJxSZ6AiYV!*(*l&13L4KRNI9NF}q zwye`pD6Tvg67#Mf+>EZH#+m~VzuPh}B9kMxUN9nlz2o{KAfpny^zmcpM-OncSZom) zy$g1uNZ}Qj373sjZ?jF;anpMi+ilzIH8%3e zXUDy~%2?a<4DJNJdH_do2~Ad-7KIBI7}XlE7LD^b3zi*01{YK}=X{%Ww&?*JlYE@3ju9MF;9h5!=) zdBhz)2ro3Qxv|#BA`)ig@z|&1%I$qN>BLfcJxpji}`j zJdh=l%5@UJksQj@5217X9Q-g!qk_g%YfO;(l2S)n`Uk~o=Nd4Yv@;|X#IEQb7bb~w zjmGpGEi5&2wE_++V026i81HENc14R8J?c6a;(WG_DytNRoHKbQM*tQLS8^GVDCxa> z432ofvQVi5;0OS!+knaiM5XmiXtegg%m-8(m0Kr(M@tM5zjj~y$4_G=Im_bkcdkd~yST4M?Ybc8RHr3a z4x%C8f!c)#^w3-eoLP&;dz@K|-yV=R&4W9xTe^YfNZp!u<`@_Y(9EY$h7&2$Ge7A=)Iv_YeRhZRTj25enZLx2Vy^Smpq ziLH$#2GYLE>TCPF##+#_^l~V z0)mMNrTseXTuXO}8W#Kv6q(4Em@H64t3x6yhO}Bx76eSVmMXZA@L*=?Jd?7(i8gUNsjM<|TO_Iq;V#SB zCWGH^(DvB{p4)7(Z9~A%FD~%I!vp-{;vAnn`z2Kt`e;hPY6z5q^TF0l=DQCfk?+oA zEbjw$+!ZkD1KVfa^7Z((`{+HT0ZNLhQknLhB|vu6g8+gDm6#PRj)CLKJ@J7+UfJ(P z2?#K!)>`Liy~M1??tb(1`O{j+i$F6EICqgAFtNLtx(<&{b{Hj+iXL`c;oT< z+wEjMWXBuYH00yI2U_d}Fl^gqpK;MmE7<#cIrJvVXnYY$zTAc}zNz`D_Y#ecIG0?o zD~dF?E%5p^zOfF^RxNB{FzFqXG&puIjH+H+Bf03%#uQc2ilZw$$1j)x z^>9io3-5td0MG)?64;>vV3)vsW?EdF1JA!9C-R^o{R~ymA_oRQL0TMv(+Ca@ILbpn zM|E_cK)00xia=};Qxc1*4gBb6N;5drsGK8^V>F^REf(a^9vPhIl2Rm`$ESyfK=3%T zZPY9fU6qDQ6%%sK$3jzAF$1)G;n=9CR+0t@?MprY^4WT}4*fF=lwfLLIScc@eX zd+R`8r}Zo(>H{;&h#4g9L{NYOEIiH@OPZSkxay6EVQr0uk6i~&PvI&fP4JW!1cx(D zKcaLsVq8>8;moyoqAN_a#%WOiKEOIl*B&dSSboNMLY&V5%fI_T%nhZ1U@=hv2#y$6 zVS$N0L=}K0kfu`Y941Az~e+1g+bxj zs)bP&&s$`ZX1%Q>OUA}w) z96tg|P3f_L*TP!Sg1IR9-5j!G_kOCZebT)6U9WvRnHoCX*Untr>$kjrWSy38R{%IZ z1RgyAK6-cu863Id_D$Gzj&+wA9epHxp9gZ+^>iNg9oz2RH#c>h8@3_vV5lv-*bSGR z*S7&?mjSxsadv?yJFaOf2&1!~{qeS|tpk9bv?m0PvfEfna^_kR;w;1oxZ1cd8~S%B zN>?dG=@&Yc0nK$1C>lyHuo&sfXv}LB6_kQ?9;Q^(e2zXt7pN3aDRLH);9wE+-KSvRn*{j5d;{;C%v8Bzg}p2%%9qk0!Xdz`sl%icSb=QfL?*Q2E?RNU1|> z)cj4yjm(+6-{=B9S4TMFemNbD@b4}f{KffeJT6A~vxkrHuRi`5|Liw@1Ne>KplIoG z3Hn>BOe+ zj#5C{Hbp%x10t>`&b64+b0jHI<1vk+qM+!FFs05f=SgL}k^!D4}!_o@`>Dg;L?65FK88KV)>0*!QOtPiLiRmwPP?O=+@=05hIv;q}b z9!={a>%b_@`Z^_=)rtYc?lE$~P&sDfJ!V`D1bX zdX_ru6xUr~&)PPowdBVUeT<>w&a8#eBbBR|ZysV@6FkO{VdQDKnH>vd!|eqW(TZ z6_aFs6Ly{S+q2aQQx>27Ni(O?i<5iY*@m8xyAaL13nu-rSFrMfy;a+X$+2ty_vLo( zd!4!S{WfjWd3X6A*fP&Z)iZ#C8?xR|iss>q1~?vf_mN|XfVfn-+IFLJR#04niod|$ z?USmedLT!?O+)9^z3nu=TkhWnCX+h|aP;lHnGpL3-8Ho>?ws|nFGJpL%673iZo^dW zFbs{gO<=$!$7RfE>-X1|{@YhTXxn$2zTbyI(%HV(&RuO=dv2L2kvmEvXees_THk1D zM4pNwww5ZOs9iQV76nwOl#ajyK#|T_+tR|_6VkmY#i4dBrjGN@y-U#&MVb#rvvb0T z{+Vm>S#=0hBSzB$M_)rK!KuOh24-xqm}H^oyBN&|za%J{Kg9_3YDwqhNOCT!3Xt3b z@7U`*{$ElQk@M)NTCu91sfw;D}fN03ZNKL_t)eD1op{ zK#29-do3&>?`T`^fQuC{pX1qTh12nv7$4JzByxIQ18-jA%&u@EU|pe;Lc1og#5ziE zXc**}WKMTXjS$AhhH{emI6G@;#yByGnOX^`tO~B)k?*6V3^i5gXcSc!se?mIG+qgb)ysxt~ zjgHoy+r3YgkFSl+ai8L`iK#FUp}%gsLfGsCzc2m0#@N`zq~G$l9|-hqTGOvFPXe<# zIY^-b&AG0Ons=CA0Lx>*j9H{pBZ`pAdpj>ep^-Ge`VC%dlkR;#@Rf8)XTIwLBv_wE zHktSqhhyO0F)$wAF@Ph_E6-8itJ*$J@>Lz_txj=f5z*S@XkHT_7)l|!%r#v`PvLEW z4q{qu?%u1kWfyB>=$O0Cvu*!<`u5uWe+f`%*Y~%reIw7aR4x!b0LkZ88g{@jzN(hQ zCZh-^FLaehw~V9aMf-Xbw{aeIOU@5sM0dTb!J)fwMFDm4o9oc@tPJ?C^BUBCnq3ze~(0|4oGsjWFHNWM3{c_XE!$b6wYx(`y0 zb|QdC@SPH@6+89a^0y&sVVI(f?WnoRl9aiwLt?BYUFBl$A7XK_7~OK9^JzU7(Yy z9>FNp{ae-yu?PXL4Yvi%h5(FBMKgAR9U-vJlK~D7?-;-VynQG7UE56|l4}Uw4wLP6 z%}?4xfj<*Fl-M1~5xt{9+blWDx*q%$gpa!ph)3)-9?|vXo z)@+tU4LJ{gQWmJQ)Q6iksiq)~KEV1M+)ovknvz9qrF0Y>l*pYa3sUdT^j3^ky+t@x zJfV_}fh&*Dai&Fqx^;NkE^$(p`1JSy)p(pz0mLHEoBdvt40ezj3|qy(N*;ZeKKT5o!oPX_2GenY&krm7->+WckMBLg z&(6EYr(<&r-KhR2GTS-p|j^x6MC~?2XHe-F(q6&&Ft!F>+Lj zW=W}6safwFZL67WBGH=CFo5DnKclLE>6B@yE1<4fzXP;?bwp04q*O`!8MF{R5(Fx9 z3|av(s; zn3^Ji8b*OZK6Qh__k^sO?I+GG1V%dKH+>rSpyUvN$ zc)DD4KrXQagdtvE1Q2+x=s4P0Iowq3D4=!@#!G(`fKJb2AEc#uiogw-k1P_HVO>^6 zS%8;}VIu&;q$o1x1_MkC4w=w0$f78Mn2#styW+G0&S_1H>7ye|1svcxRoX}MQJP;; zU*JlXkC7%jW+Q^XY&L|b(;{u3NWXfInREDJu|WOH6+TxAIN;K;ZAqzL7Z>|A=-c8b z%DXAIsGaZ@!Hp00epv{~IUZtfyf4g++p^1o8)EXzDP+RtobGylo`BfGbOS_1$%KQ9 zMJcK3a<72yIz`UM>&lJSAr_e&13}s$RtGQuc8H(IpGlR&2ls*L<2wd$Q570Lz5j^IfUY=QK<2#s1)vbCUF82{5t%dI zIEqctai$X*1LGV{$`UrD$ni~qN8|{J<3;^b0r!C$^v;!taR{@@`48KAjV7b#zNwW8w{B>>VinffB?XEaNX6Cf#RnkX*f zL#11#ENboA4CJJRTUF?I|0COnAC;;XO-pGs>$kMSG|3p2L)BIC_T|iq_?ZuAG~&CF z=9+XpGp-;cV1|G^ld{0HC}TNY0W@;(rU^;=s9|s;XD!LOhUSZDQO0>wuA}iDHCJ&0 zQkyXv0i{Z6{zZ{AI0^>O6pitT)|eqZDuMUQ*tPAi`e+a;Qk+cMWIPp$&5vvLab$uU!Oo?<3 z35?RBnA1wIIe$I^9)Y6D;t-r!i)mSQ(hX=~UvP9+0E4{$H7f4d2E173_s67AsE&_; zM-OR{zkI_l5LVxp$`7TML-9CLG_glfQT~3+&a8~1LUT%hXB`KiDl|?VSBy~I>N1wE zS19n6(x`(&EzFM4B0A5={sk(#c-D%;LL+G-2;yKqX1wDy2d$x*$QYJaJ~YX3t;J~^y%M!4gBrj0$+X!%q?(afI~wU;}!i2 zis_ME21gZWGaINn1G4m#s{v~qP515K{w9ER9eUOWHYELIxnxj*w-e@0!DV5^VUXx| z$**t)I)+l{hyvS|9L&Qp0Uyg1&>Y|oWxlm@(&nfh&~^nMSB+?U%{N9DfHE+_p>h_+ z1=!F67d35vFrs$7eofD}_XwbIH8lsQ-IB#TTRdB~r~pigGHTK^;3$*M*cO4tY{Q=e zK%)S|V^PvqCR)MjwD2Jv3yQp(jDaDR%C$N)J!Vf6D{goUrKdy|K~{d)`ff?nE@;tp z!28UP`~@l+E3~c@AV(vB7eFPeGbbho zXCre%C)SElsY=vTX_%18S{u)EwD+*BWBm}tDJdbbiad+m1^@>cSO*aMXS@V-0i!f# ztwSAF1YGew6&6_^Xd3F{q3`?GI%IMWZ3ak4N?8sJNAL>3)8!JU#=wSvv&8}@FJ4i4 z+4wuay$8VgoET^d-N@&+(faHSiN?#j<1RX|{dJQ>yZ5!N%eQ^*_l`cfZMr>%%Am=hJ$C{Q>a{+5j{StvNzP>yDL8+HYK0kU)dJ za7Jw8?rT`9RMb1h&>^-C!)<;Qua9&9CP#M&;J699%zzxC!VGP5*WX9mu6dvS*tpG} zj`ek`q{xD$UnW>(4}SV6PUZR?!Q{2f!_vy^)Qv_#82U?Ez><6Fv8nwYEdY&ab(WwilY6 zLjGPWroaz4?@HreJbr|Ka(oPY@?ENA^4aeKzx92pZ1VUqaA3Gn{V)R-r&i2j0rb$ zVhm=B1-0%*b*P`FWf?1*$k-G%M}J=GXv}as zDoyN#376xY^06ljoJ|Vazk=#8)sl9H^tDgVL!5(Tk(|BT%aVXJALyB`SR;ltTWs*K zAZCeyimVFTs|<6~)=9_JoBBEXRY2-_B#xg)7m z$}heQdUaLDaNpx^J>E6XbyX3hu=dOC+n~d~;{~>t*||v+ss+5kR!vl_iJj zqfI_UVv~NRzDfHSR*#JCoGYnp&^Gr?I zp>|g>C9E5PH40pHBN@@t6`FR1)1xEc(S#Pe1=F-Oi#r`3arF;Fj%llT%<;9jkmg27 z1sIJe60bE?;3$jq94QZ!fl?ey0W6s<1BFUC7@qP)Kf;y@P4IZe-XCHqI98ZAX{7vBGH;9t`<39jSzMCBCiv{rJ4e;eRK>HG~ zF3}>j1`dzODfS*1d*G81rKD&8uK>Jy11v1?@)fZVlmfna4xD`r{QJMb|MB7_CPj%q zJ9$V{_fP<@FCuGY=7C0On7GguoeH^sykXD!S|YiF17NMnk5$A3si9z%2HcAD379>Q zK=NYUNtMOb#RY+0!oXOqfbl_ku0`RzEE1)E!S_`FBpJt2Rb^BH2V>xH#N}rlUAGRz z4${;Y)xAT0-@Ya`#)Zez#R5;NLjtKZDEe+4jnCi!cvKoV9gQ)Y%`km10aOK?zrw$J z@d7_<8khi_1O=;rGrNLy9#8EGXRd`Qiv%1-aZ3l$#;LSshuLSJXV11&7GkS(!Fn4m zX-oKkC*v`GF`r{n00@fG&*XkEtI9e{ZBm*58`ag50k_F|Uhr|MR}%te)?zXm$Llb? z#q?R*!W8T8ElTGga6#s;e7+LKz?p4{F`*TV*Ra8LG=ywuBl~E|!o8JF0FLxyIxkoH z@jikeb#PHD$Oex|$;=G|O4$pPf|o>4+3^pQo;Oi^K6qF-*r2GdJcAl#pfTfFKSq}% z2&^?}RfIs#f%Cw@0sha6m-rN8oSG4y*%fMeM!kYj0XB4jj!LIK-N*VsRu0$aGUS_Q2j$}N>E>Q7~gLa$J!{U9z=6>6& zA9tXoF=BX^!i)g!3tPQVe9yTVSNaOkZs=ovgOZcjdS-H9N(tN|ASr6`mBzj@2@(+ zUU!@gl{0!*w(VLreHQ_yE$HZNnDYc~w3jakI}}~btB}y5KLHZ*cTQ2aSq}e@_36$z z!@;nFQ|SQfiMA~Oo9O|q6$>Gr-oH-^`A3gP1oPFGy%XAmShpFN0S0@ew60Rj%HWq! zX;_=VFf}*>lC`0-qgn%=qy9^YD0BOGq2BO9{?nt1Xy(r2^Xd?lD)7vEe6d)d(i;Em z!-x3eAN>gU(T{+W6X5$lAV8yjlk&_hl@Uc*5IE6X(C^*>%Z8ltk3OQdA0AQU|KS6m z8WVG43E%~Quf74k{0gXFkrQ7UqEi0qSHQ1+g}+%YaWWcVS}Ek^p^`bC5p3vwZ?b4*feZ?s|<_NP}#&K8`nm~?kzCkP@C;MmfMdKZ&C5tI8U*e0V z!7JzRWITomEE?=Qo-UWL&Uf@8Xn!AB5wq4s?TE^=9uA+c&#bDwg9$o{2HOx&qYF+M ztx&fP(~`7Inh*e&m=HOLB~?dqfzs$Ohkyo-SP4Ek$dytgh?z&kvT-2{2+@v^d1<{0 zNMcmPG&u%El6a^_WfW?sF)hm2&ePEd2rW*^lB=VTM#PDsYbK^lHyx$%-F8?N(D>~D zL0|YZ_CcW|NLMK;v29dp|4z%99sp1s;xm0f;;i1UJ(H=8zQan%OTS86a_j4g>}!Sr z57Pl9eQG;6btVHjsuuX!n>YB$%aWe!-~5kQ9GY2Zzb@;2zCs#-!tN9TS}ojzhI_qNON-AQZQtQ9deU> zl8cvK`&e09b#Vs)j&FlSO3+)d%Z!Pk$?^{P=K$6b!Ckg?Eq>r-vY~T2z{o%y`b~D3 zHbzHv;PXyfcHO`n+04!_hY{w%(6Iq@$`cRW|Dnn2CQK=6Z!Rk7ISSld(1hAbsm}F2 zh*}uE=7>`RBoIT)?is66LUCC7Vm zk5U4T4k)T#1OmmhC*i#%N7juZwnh=C6siX~?WG7vas*kc#MaO%M&e_-N-jPe&=_AKl};sKA zJ7#$p0uNgT&58nW1u=cVeZYyA4Vo#(?m0f zs5zyjUE%3`jxQDqOv?gQK|-WPX-t*IGrPo@ZE<2soSHF=(m1o0s;iU*=`09~z_Vy? zWHS&8L;w%#9XYov>vKQ^D78Yx!=T~kTT&^+WPXW&2f9D25Qq_!iIUntf}|CI zI-6f}5nmfZEXi6shi5Ch2DT2FlwJi0_?T)rvY_@MG0}|4 zKn@3#22aLg{CwWv7x0*5b9n?i!Z6UCYv@G1j*OA9uMJg=8cGea8PJh~9Hv$HMX|!C zujiN+uYt(};K2kqx=*05>IH538eBunhr0@jNW0|Sv&LeOy#IG-J00dLE`Wu(;-wFI z-)GCRYuV2B%X6_Q)nZfs-(I@cduiL|iQ9bsHXS=YTRYAjo2|Nk=gjte8!0y~f!W29 zSf9-W1)GFb8^z8Az~3;=V>|Nkls{A3g0J}>`f|Zy*>@9o!_VjY4{%&&@a^MpUf16C z%jmM#zbRrrG*CJY@f986jSq14Kx{*)cOlsE_ygNrHvMN10N9~z(E%MUalUx2Z4>Jr zFQHuk#Z3YjyYd-3#}_9f0~TcQwpyhUv3uAcbEC(y=>OhNWl7&}cQE=^ZM**=bo(SP z1uVJe^0#yAB?FbB7m88|q(E9Y(?9ON&O3ua4*^ni&zaB~vHD8MPOtXS$%x{JA)vN4 zrusCVqV1no75=BwQ{emGCt%|r{bS&}ze)SQd_k!v3%-9ZzG5(kK?ZBNe!3!nq8Jgt zb8$gcQVtI2nh#g>^I}fNySSjAFJGp-P$}6s9s}Qe1AO%res+G2)6obM8bt4bIImDZS+C5#3pLwY6yx3S~2hJY$_5(OL>vJP`Y z90$Injb6Dw&wn+G^KtJbEVt%N~u_SHP_FOswBB~ zh8%yQ%gC4@CJF&Z{q#IQO3^Zd#RV7@fI@9$9reMZiKge=SSM1u^977P6N%{k29{tfW`-v%B%01gkBIpz0oT;F304C04yGfw_hZ5IRhgRS?^ z`^r|>WZSN1OJL)z*|z!TZTOPT(K>BDPwZP+kA^_sYrVUlqOMrztz-Ea%>7JRJNNxj zd8gzo$07eT@0T6zdjA2AU3Oc8B)+^eHJEe%kbD24BBA(02sTDoujZio4^W9r7IQ-a$bcRzr*^@W1fQ! z41*iO^5`#Kb8sVlM-*q<+m;snJxvv+xhH*?3>{ZU%nG2}mzFCCh$#UbG++)H445Ov z9(6(I9*t6jDEbpTt~|N`%3Ab{KW`l~Dgb~=shXn1nf3U^yur^MX&yYO?%_`#JjRnB zd;MW{}u3q9{`_x0@O?3>lrY64m_{v_{E6&V-Wzqq-zX;9Ov@|@a8o+-Qxq& z(YSX^Ope&T%t2}z(v6refLE_5n((F}Xa4vY@UMY?IK$6gzCqmrwWg{ib#zh-L@_LO z;_6s_v|Dy`7Zo2!Vz)6O90Eo1}0wi{gsgc&fhSAVH21FWRZ2B#%jp=6ApmFR4y^NcnkwDb0>2k zETsrFd=E?rFwW!5CQ;PJdpujMB3nwB2UAnxL~%+7gCoL3Fy42b_1J%zNg7C1Xc+Ei zIfqnZs+~jal7lbD%jbzCPMWGCbp%a)h)jZh#U=qEsMIa7Bx+8x=xeVev0}veL(VnP zlnQ6vI?yKH_r*vX=c6u2;~bvZ6|*ze=fF<&6s?Gfk)SDg5!hd-$v69M7=ZY?ixib5OGfbnIgtL0Hvgen`cbp>5?{ zB0Buzs=}uS2LOOSuV2BuviK9F0d-1DElJVzE{Xb;95u}=i{%#Qo;$QA8w&7<-4!SK z*8$wP$-aJ<_ifj`+7y`GXZwAw>um(THywLh5csxlNeHz5IzOlRXH4Sbk@+oa24Rop z;6(p8Kn7^Ye2=al&<8h${Ly^g?ypz!?e?&5KfrO5HZ+;{Bi47_t}}_#s3F^I5|xX2+xa=xB90kgaoOia#-z}%Wg%Z^7Kj8f8zl9>trBYkUkoYl@@Hg7O%9XtI# zK7V=2m{A(jQnB-00%$X_M@b7=zqdxIq*sy6bJEXE2ryiQ4df+2U=3%#A;6<&s38>NfcBrG$uN`PM#Pf6(zDY+7^~Y zm4_HcaURuKnQb+!TQmst=)__$S|u$?J zp!L~uN$ZKR0S+~QBC$7|19Z8cuMk2H(BRaQtKPFAkb2K|H1KT)IIjC3yblxPRjaV< zW1arH;(4yqht~xywtlC(Klj=HGUrn2W;8E0ecy`!Zr*>>=h=$%I?qXDF!Yet{!f4= zz4HrpT3cpAumcc?;DL}9okn*Tw(E?HZW@YEzx&(dKl^Db6R#*@8IoQC<)rfgJkY7= zv-Yz;esn_KS(p&5Cr92p(mz;w_TvKSPym23018eoX&FHuV1tOmpbI*Wa_j9XxFbDM z4&``E&hseX)AAlZ{q8C7-4o!`&qz4*$q#{(Pk{T}o(ljA55N$!pn3qDOi0s%nDF#M zY%Un!SkjAU_MCu^`V~9gFL{Cgy!W!wSv1qr3lyN=y-T#lHUKM&*Yi2fV)Q?-t_qhY zEi`RoE$(x<%bc>lZ@Nk@Fj==*IaXEzx3S_=O7j6iSHw_2wyd4~HpK0P0-BdiZn-Ls zV-^Sde^@M2gx7IIrD^E7D-HcyE)ydofE^6QfLDQ(7p^FJEP&f`2^1{}l}5at9kC!K z;|z@Vn7EdY>tS1uGiT8_kEZ4O2y)h&5YV(94VM>1R?%Zp7VJn7(HEESCjaw|!cR_?P!KqDf;y?G;oB!Qi4 zMdz)Z>#&9h%qTG_3QjjkOD>}nes*zA^H%n*XdG3KA)uyPUKRkR#-MKL`?_tTkZ9)^ z%tEO+^(|hjqB)f+r6^25073@{QHhPw*FchX8C~*y<8QI49TwL(nChr{|SZJD4 zRa#3Wsvq9N|LiU9>m{Bpm-zD)>jy=ow}62{lg+zpX=DhU)S@*O%NBrQ*Ibbc(RKiy z?E5AJ)GLpt%N2h5c!FltqI&TP7#&ba>`6(Cy`0Jo5V%n?t0QNOtpx*eaQhCGxfHPW zu2>$R_+Z=ZF5S1w*ic#n&~>IDF$uVeosfgFA7-S$IE5dF=RB-#K2T3+mhK z*b}XR5@=Qq&sfW->P5Pw4DXQj#hK;0`)M}-Hm=!-9Yf`U2iZ(R@6Y~cAK5Q#-~l<_-Rz7mKwwd@c%{i^JxOkNmqKlQEW8VY#dg0VTN}$jn;IoWry83p{C8 zI4ueSIF62i$$e(I@N?a^tR>VNs7*tk3)7{4O_53TwjDMMg9kZ#BX@K@*av%;b{EIt zt~PPSzgzX2Bg8`u z8oHrDK9`8)C6TMG0PP+FBW$>Um^-@j0((Du=gyJ%!KSG!3Vwx$u&=^>9qU|c4ELqK zuksSzghcKH22y_Q@OIL#J{vzftp7q*s@uN)!!}fgw%^vy*zRrHA6rVVKMVcax2Dmt z>AJQoAUkcyH8BQQ8{3ADQk%b5z5Ch+0JNrqEB+S(V3$l`F3Hh)QB&D!uK=&8^kbmh z|6B>5j3Us6souigFkFR3gzq*jR=Yx@Dk=1H?tfy$s1z*J{9g_x_>3_TqxeYu#HD1Z zvIj3*B>?FhaA-)EqB^F}Eg1X=Kp4@6s_dR;<%sQ~6sH=L*?l?ao`10ZDpwz&6K^hy&B>_FE1XfoZhS8Fm zcSPtt9akL#t2I7%Ydmr5Xt-5cH0oeU zuR;NpDNt$^*%AG9sp98TDUBMWqw&;QoO8M)8?z66AeqEuOX;ls=$DK&d@vB_U9<3IUJH0_Ua1qR_CL2G+N*PQf~b z+BsO)qGkZ4(gn&u@67_hQ{U2D7!-jJ%sLRDWT8W38}-4CjvfU(F+4(ICY4G7ibH5r zfs)02BbcW79g#3IVJc}wuZ|MH4ZzhhZFHRjnrq;=#N)!@aSc2S3V-@)iBE$@35BPa zcjmjA|5)}WsWQ8lDq9j__zklI%TA^bN^@&Ni032#BnRRNU?p%vXY0I%^+4_D{rO~m zgeNv&QIvRM10G$kfmci5lv86{OYd`GXr5GHp;68lUk=S;Gulkv(kyY&5#hkx)mJ-l$- z2}s*_%^mNzQi;Xz@)c`C6e+92Kp7GVjo&HNi5nj}S19CtuVmWL_W+`yIVuxKq^tmH zdm+sy=)pA10YKYDttS&=acD&>h7f=oJ3bc5k`@=K!#P&t2LK6GVbA((2Hd+3eE1Ve zPxw2(OX7A99ul*{RCHWfl7Q#Y446|Bad{0aC$s>4I0H`6bhxM>BrPRs$-}zkar>p}>2SCor4WiNWrQLy98={wz>vG6_i8tP8z#GJL z%UaX^r*%yCN7@WH4=9%aAf?hZ^6Ot-(sQvbfHh)xf)u4`?ByF7V~Ey@9FU;r@@O(a zrCXd81s+eQ92#ZuH=7NfGz}h4r=)$M4VK=~kLzarr~?5;6fTlj8*;6FCZvTi9Fjq8 zI4=q;J!nj0TSKB$IvdvA=OeN zW`pzPlEU|j`~1GQ%!+C`n*k460ZnwpYmBFN{N#kzkLiStZ<}OLe_KV`^FI9J`&)kK z_SjhH%KJhk&SA2rB@6v!||aH$@03ZJZI64B(J|r>Ehd&1H-AkVN$q@k!a}Fz+@J|B* zEnWuTIsl&IFi!ypLoooj1n_(fJll|_#^sWXk#SVYSpM9b+TT|vwkfQ;s%V6Qh2^U^mKaEe2n zbYj00rW-cYFc6{?eJ+NhcMPg{pkWOa0os&L-bWqi2f$XSS;0oVBi2O8eYY?QkBTX4 zJkay2*K540Yn*wHbMMK3_a0^IU;)a8qd0R3fHKfnp>UUO%2a>_J2|7s`J})nvl%X& z!)NO?&Wi$zqCm~*I7Q48U~x=gCNP6!p(Larjg9^@t1|r%Ic{MzX~00ou|;5v>x?x4 zQbZHOhJcH<#YJl=H8TRULwuayBx?s{hB5J+CruOQwHPwPZCyIw)fS2ArHQdr@vzIq zm>0}~k#qWhULN+dHIL@H6B3R90ASEkYg*bB=soSfdUAXWY49|jf-u5(%);Q07WaT~ zga7%}EBrD(3kpeDj;vp~;AqYUq`vil*Rj9)VJiE8P22HMCaoPC95X}|F?A5|cv|Aj zlmI*~T95O~OJb%SamwuVnphmohPA1B>vGeixuGoSXEGsX-edzbD>}y8VQ*$MFy3Gh z)<%9U0c&L}{Ll^Pq4Isc=kH6~`{}2@ZvaMQKkX^GbDVYtze}DTTqy2~bJ$bM0T=os- zd;xkJOqbg(Zd+j-uL&&N=Ki}U9$wd>fYcD%B48ZYIFu4C3m z;N=V8m8auwuBojdu(8|{C~$7 zBNT1PRNN{6(4^N6Dk@e%{wjpVM9d9dGD z*>~@6+7qy^&LKb|{(r!8I;6dK1s&eTI8h2)OrK7Z@`*ujeRL}ZNSs*qd>;Xe{{6~0 z%_hU4YiZV@u$E$ot)sC$p8?ixd9ox z`YixK!Ssq&f(<9s*OLhu7V{}FFbv4>UGwjk0G_`9HjXyRjUgAOHb8L-EMAfBhLjfo zEWc;N%{Q?bk~!kj)e4U$6MD8rcQ(~2oWVz6Y!^TVB(H9l@sStL)LMJAD-Za3B(`pK+CO=A%0o=+)#MAiHhQ>=_h#hoOlM$sA zfpPr}qGhl#C>k$E6?@Jz&_$`Fj}qSn_Ub4F6eZ3V3!q-%qUCHVe2-^ZV*!QFnuZKV zXq*KC5-UaeD32%P**-T4wiRHr3n)}UfJ-*6gF_W4#AKljo?DBR_xOCXiJ5PfZHv!0 z8)9;BSOb9*E*hd|MG1?5g`Q#Qh!vC@_7@!Tb5Fi~`t^T0EW# z2gn207LP7B_@uf-d7nYypL_@$&j4G~+*%l#XLF!q)Ht|95x_ss;`ZLSe_y_h(r0gc zpUM!pF;u>-cS)|(Y{+qDI4$f=y?vZGL|SHc@H$N;119owb^+RXSc}i*e<=~wklW&(-4$?GA- z(Yt62>L38d?ggRmo$GrT?*wcBh$#*8$vE&N-#-pW3xUZ*O9dPO$k_BAxOYmQeeeMp z@%I*NgqE~9ou3f!aePe1z{7`JUlz(1LIMWv{V36v#i`~&hQ%7djic~|E2cVI%^5ma zpi?uuqbPvm2>}lRaJ;wzzBJVKE0;oZ)+<^V>BhSZftcB3Lx#F$N~7ZAV$SsyhthnM z?j0c7wxo>&@Y#AzMxC|z+5Y=+d^7y3L0!!=i1OIb?t$Gh(bIhRyX2a8hkwQ#MSVp?0Wx{t3JYWj zhl>r(Ap#&Q80e~u!I?4m+}W+`NU5F2Qq#Cuw(Ves7V*IMKVN#!o_b0tykt<#GEgC4 zgp9#H6GX~+S>S?0b@J~hRk4fA6RIQc1K;^g-y7EN&=lgM6s&g?ilUQVNS-l8>aIh; z0%;uEjFpfJI}e4i43;4;q>Rn7OnMsvkPA>L^Cq%QZc)Vj%P*KwdZ7Y=SPT#?N8Z)G zK1klbH4szhN*~;o#gQLda@to}v+59V(GZj4!dg@U%z9q`>N(&%{_>{AjpxuNU*f5? zShm#nGXF6F1W&BRlcvF=)fGN@`3mLprvwb&J7Q*>tXJ;M0vkgmH%@ND-UuN%X1>e4 z%bO_g!JY4>e4p%=+kzW?N66cBEYH~SW*geu)i=Pamn4QS`vci?4gnmu9sW6Z(b3kB zeY8)jS_jW-Bzyyk#Y8Wau@ZaH|rr-zu5wwiqP?W42#i{C{N9QUfOqree#kuLjzZm$Any=jf4+jT#zkP-)lwUn=%{Hc^g^ zFz-_Mf>yxwH73M+OP*IsR>r4zf6tyu%`|(!GBvw~!x_`hOBH}D zMj9YbW0l7c2R+Pk<2^PwMm=T>k&G5X>z9qX;x3sO;K2uEsIO{bZp`NdWXxv3$q|7U zKm7@5XWYL>8`If@Hu9ePY|Q{hixeuL4S^n$5}2JbC}2`s8vxgqLPs`yQ0}uyl^d+t)v+>SQyU4!zqXB zwoRb|&SSZQs%<+Pan=tB06LkYM9@;wdJeBimfye9Q^YQ)D*tp!Syg0V&(lf*-FH+rS`!AiM2kbp;Jm2Qd?57}tg@~s zbgL{&RMtlD!m1pcRJd>+%OE120VP)_Ap+;d;G%U=;M00OMknLmhJcb;ASHW$L~K$t zE39)U18}YlYR=|D@4v>vWLY%${+6ym?OQB;o1P6Q4Xgk)wRe%_b0+ga)ZVaw3Nc$s z6-X~=p*0qTLG4AOg8HNO)E_aF&Ig=j8Xu8)1Twal-eI~!k^Mhh=ybi+EnQPxMWB-j% z3U6^wgV(zS0B~@fBlY(`*D8BHZ;-XH1y1Z)%n!ZhzIyKhro8SoUq^$(@CM6d22Ovn ziENUA$ttoMm}bA(kn!rtYb+kqJXZcT-m^ORP6|LNyI3EGY+eDRNxijz^RN=TKb;c8 z;`EgM{>jHFG(>A!7|uTej!%H=E8y%Qi9yb1sUH9mYchs45gNLE?+H<#PAQe3fEl6z zBE@;q%#a1ffq;(B34&IU3za;77?zjI$iNk{RsRH-O#{0HYLv9M@MIzi)v029;8{ z2;{9jGey#1Fq(|)hVHNCpQWS$?Tv?0sZlR4g{d4q_DaP@HhY?rr#tg@qZ{hNg9^w# zkD*V(;wac_Vgj>m3I?|L|9t#Np92iS72OR(IRTFK_B$_Wj0?lRWgG?C%!p`iU`K;^ z)pfDWQUa2PNp(XQ$N-c!kk0mY001BWNkl9>_zJcU;t2a z^Ti;qKn8eZdi3UxQ7hM8#5V9XSqxR`$?vgdfQH1DQ<#Yj-K;02PQXdc|DUPE+{iP@ z^cgZkrOZNFq@CNL8JWPdW&qAR8c((*29WMC;k*X|1CV37MMLZlQvlNf3jm*}0s+8N zUYBf}fB^z_(y3!}{+5{R*1e^1G<0r${=%5}S)ZvRz{QiM!K10hd6=g4uyI&=O1XPs zEh=Hu0kB#4Xa0BX6_!5G*bEl`+tn5R#rhhL>l*mo-=(!k+U&Y>;XxkIv69a@d5P(# z-6E@(k>uuJw=PWtI*;-=PUS5*!TY<#56486!_r!hS zP-tPUy)-nJhu%4P$=3u4mF>4%>KUtp%WD7}5^K3TJ=(1wkWz`(ysPA$uyX?0lci%{ z^Y(27Ugw>YfdZrl{-$V!{g-Ogh#y1N-*S;l?LxpqeqdG(1q#N#>##oZx^4kz#K}wA z|F*#>zD}R9vPEI*0~!MeapziN;{rT!u}*+YW~%HS=ldZWaxK}YDl)#E27dK5@Xa&& ze7!*^H2z?I1egN#dV@b-F7ad>iWr=e`l&N+>*O8dOT*iK8qA|F&M?KR;gJ^UVg8*7$>?3NQsOHXEEx zrvzfKR)lye@#qnO7-t^>rzgP4f`EwWyobO`oU$01+%Y1+SMVm(aYl>D5oJNSZ-80e zzep&#Ol3+(qbYhmTL80T;Ov;$6Ci8ranX*__1D78cF zfwMqHIM~3iSRbH9*F$f8K<`cB>O!KIOTQV`a#=13I6JDkAcO*eB9bCk1DF=1vm$AP zLjaU8Lgb+AIRNyX=K*D#q{)#RuqyCzvcW+bODf>pXcqD`0A~iN0H9E~Xe{7JY_w)$ z@QfK@HaMJ>2FuprtWc<1g^RYu!cZ?+!nf@g2BhbC$L9ETI=8lYyyQDP!=1bYW2*+bnesYjQ*3Hqq8&6bmeUSs#ClKlMXP;rYr~cOkC-U>Z3+BdH z`$K>K*FR1|1zwZ65ys~>D&olNkCP#$(Oc-N+uB)M`|ktm@3(#ExeR@_k0HIU{X6GZ zP{>JWiJ=QcdyiL_z(<^YuU&WR66R)JZ7v)dZP;vF@!p_wPw{K{d&ExBz5nBRJ>aC@ z4?MnKpTY5_5GD~+JG4I82=_ez-`CP#NZv$U@5`GnZ{zvA4l?~VpS1uaat)!>OVO$~ zQK{~C;uUtD4B(Sv;Kx59KtLBbcMkaZ?*pblb$N|HdG-u{^6Ou-SDw$)iad839J{w-T6AGdL&yf2<*52|<0%nxw@w*1{{4LH7tM$|q{X}lD0Wl3!G)hpnc zqCRf0g{VH0*L8CZScb&!=BP*DrBE&qG^+!!FY+f34O%Ja2hy5Vbg}R&_k+ zl{PqMjgZ<&=#T0!3IN2cAeAl%bkG_WVu*7{hz=2m5X}hd18OzmkypB-r6S=PReWv$ zOk#TgU1kQ*%hJS5p{zqGbOcgg&U)w;>qAUoor@%kz-`Vp5hh1zG{zVR012(yKp-HE zdEaS6KE89Um~@?CW4_X?=b=OAT)D^ifBrk_1aa7(FoQxq;o$Ji{m}P{LiNg0;oMp* zICk5bB*0oX5;Di{eV^q6k27?cJVTjQ4q^MntULf}uTg0MJOUQ{>}uz*bPBaMDLhSn zuCMVQ9UtSD>jsz3v93#A#*Mm4Qy69$0xF~M)VBDuFa8dH0sxO6lQ4C~G4`7c)z$ZS z=1#TzT|U%sx-9_k_i=A}AgKPnWF@90{~m>-+@|F3UH%!c+i-u|MQd8~FE5ErJD;Sv z3MT1ur48iUZ_`j;$>)2@n+s97ODx)OMTqh22Mz8Y2*7b@>8IK0Klj{Q9I#uX;*j#T zUa+Bhhdv7f-{Z@H^D>k%B>lH<{2in$ zpmeB`>bLR&ka$?$BiIm7D*{2Q-Udj*-fCq!V3Qc<0&rB_(_$7Ld4EdX-6F*h628Bx zr(qPYCEk6NK(HF36GG#L!eNLh0i~iKW*q`z2-Ftiga4N6W#LaTbP94!wY5A5J0UmT zYnSe~lJJ^Bv^Mxz>AVe@2d=+%?lO2)0v*zL@0}NT|Du>N(pTvZ{E<;OFAUBbj}ieD zJf13#a|N6i8lN{UF@9iCAq(wcI?0(ZSXfJCNsHO7LL`B17?ceTmecc=nixC)P_iKH z!VvqgZW>e*M|1jW1DyQ`_StiMP?Y$hxjE>%#6|-%r2-b70FVFWsFU@1lHHAfQ&Xk9Ps6*Ock$XvTZ97PRMY>3e2YCU)lt10!m1h3tCDY({F&@}K4afSFU0_`aR{g}R`vlThlC9EuXUR~zYV~1aDACq z9V!DfWGu3wIyUTn_FH6(y}APK-6Q>qqY9WE(Rp8AQ2bv|6#DVwAJaQq7Idw)p?BP} zr&?<=-sUr6Qj`-i>V#6S6#aj51H61m=gejVs!U2^X-ucUWKPuot2J-@G=08a5x`i%OS=C}Am!{Zq5Ch7QoTR|Atd_^m|0Vl z^c?RqWl=z&)qOg5eZy^K#?88>ezTbeAUE!1E~{(mzjXsh27%1mZ9^dThUh@FHhMip z%b*MaRs}5Cwij^Yb&8~u?H5U{nP-{Ek0V3UM=$cAS2%xfh4s`r&R`;-1INe;(6?Tv zchOqPYSW6SV4!hR7@+mN>quBZZ*G+=2%NnpzGF8vjUxd$gk6)byZJpCoj`ckqAcir zsh|NATlX)FhK}cW$C^IGb^x{+6QzW{Wb1P`Ol6?$@wnmiz}9bPH0j^Zwt*aYjP&Xf zqu2+OMp9a*gHl@+dWrjpff0|BPvsrC-TL1j(|Hz=uD(VFL=8G8__@1~)(xP$|Lb`E zfEbP?e|OjeBWsncHwr*mqH1k?@6L-77s|2Nw8lkC43AO(6TUYQfCVV~HECoBvr5PQ zzEf5tE>;-HTx#!dVJ)5%2GvI66SLyAYzE9{D3!vaNr}I_Ic%OvIzBuH1xbP1;Ln#! z6kq%u{uw|TQHuqwyFgkur1Tv~!oG>$`|UMOKEEw{5s~yrIB` z)7TAa+?i%{$YQp>Y>UK5D8 z4d^gWET!+kcT?m3CH0b zD+}E42Cda3*l9g*vtcmBvZe&5%oO%P5lB?iInvyy=45CZ1I!A#hm~v~b$23GMOs8c zAV9-f^5Qv0#pQa!*zhWfoW^vaEg#!}j915PHq4|j{JdtIIu;(7v;?9^e}zB{8>N6% zOZ_v~RG((RM;8QOI2i}mv|1cB3{ou^%wYjk0XXU_`up+~flR8U-`6GemAmFN!OTEW z21#$iC8oe?jZf=sZ)T|!{^I%?|LCKSshyoPni{1-6ph?ES1Xi(L?i)&S_PDBw2lE7 zL#5<7xKs)j$>@$?%of0bnC)YMj3p4k9iOttn1Y^r4l;R9eK(n8fSG3FFz|B@G&XK- zX#9sj&u7Kic=D_VyEYH=Duof{jE($w`Q0?IjsXe@DKaL3G)krHFQBl8#MEKHM~NPZ z(C29#D>dD}Xq`yZK21Gk=|4Vey#^33cAkpUF@J}YJ5u@z&E zQ@uG57eCATZJ{+Fp*DepCo7{O2o_VfGALCV4ZxuaDeFwER|`&q4p1J;pil>g zN(EfN14d!t70z@)!oz_9NGP0}5|uG1wZceFPy`Z zhTcc(6@C!{iAg^=!yliX;y?ZDGyG^W8LV$Od}{mqN^4xSE&kWbOWgbQukpuVXTjM6 znkUwvP{ippg`ai0bs&5$xCExkF%Dg0<$ZZy-k0xh@$96O->VhP6Cd4AY)&7NNPG-O z904Sx1a$Wp{r!e~7KwV;wA->XOML|J^U%Cqp!5 z%HYkX(X?@r3=lv4IWX106toGt1f?pyVNd>iPGH6L6&ti{m@5#&qB^2F3quClq@=p1 z%+xR@T^~pxD_T>1>orZzVl1!MX&iY^VJoW@8Sc|5&?pM8xan>7ET<}MnyB*tYsr9= zjp8OvDPN_*Z8=#mbhDuHa)`6*E`tn$DX{ zsGbi$q&_>Uh$%8DDSL|b%$&)LAJ;Qd2g>K04FMEvC?M(?ByEP=2*^Q=N-0z1fPwqfYj zLYIv*#>|Oe0skMF8}T=bP4?I~HUv~5Q1+8}4c{?*D*&}lnjtv|(9foh6Nu^RY zA7T3}vS+l-N+Hm0jMWkuL?ane_AxqA3R(g;5_2SE`Vu;c>h{-={5ka*9P(Q-r^J+l zS&0SaDZI`@Ao1fYifA;bP zo~ S6Y*p;OQx#s-$Bz*01^RF)(xtlzLyN?3)AQac{pV@5?(}M(xTSfWX@>vcJ5% zB=)i?Xdw%s3v`NO1K7d3+%;e2YZLEJhoTeubCEbg4(OM|0gkN)As&=H2B4t4cVTgK zt~s($ANufLH&kUT2JNl`Fh0nE&jzoP8|9g2eiw>9RNvTh9QkR=dZ3zU%P&>?MnD<`0Xa%ITeQ zK(G`esT5^rDGS=j8t#j>0XCe1)g009f`O1Z7-(_CXi-_ar&GYp2!wF2D75JOgr4(< zo&-@n2$Z=liA}O`WZXzxdDGIpmlaTPXv}m@_^lEG^_g}+tB5fnEF0%(>`JO;_-&)anDowNm|tQ@1jO{NLnU8Rv?5SWHY%dU z(HH&}HrEgsl^Z?rZ@ ^SQopPAr8{2cro7s@aoL?=pW)Y$j&+P#p1AYcRi+cylO zKxy`UnT6iufQVHJHm2L8&le2TT==e$+XpBXLBKGLS}9zxux;)59#slc0Yu!>qlCv< z#*DQ*4r?!ldKS)-iI$T7Ll^Ami@E0QqqN2vmDU~cQ5j6aE)i{y?V>Vp0%;89YmWfq zZeSlMz_}b3y>&bGRRZj3jY@mY+|vTVqt+TF6wbgJFM)MdB5Nj~wi0INab^mf>jG7& z@Dwc;%0=yryx8pTk{OFb;6|ktiH#}(HWnFpRw@>5&7M`%c6xY*e|m3$|Nhytbj@%Z z;Zx0t5a^w*eZZ5Z#iutf@bAxmgMTuc0p}i=1YmxYfb#ra```xs!_S5OjOijplPF~4 zrStwty?gfk`?k*ezTdMwdgsenxcRqHf;`msWwhMZzT3B7Kd6o@T=A`g8<9GJsFUFp zZCox_v_Ct&NBhf-Wd}>oK@5xo9evG6Id2Hi&i~KXtUjxw4|EI``uy8ta2x`1ylECf zw$Xg6pMyeQ_O)dIAlg^=*!2eKWg&U|l>#Pg zcui+C$(2(wfEEjyfNt2(zhK~C$yyOBpTa&I3nAJT@HPn|iUH&U#r!u70UGl;5Za_O zQ5K}3VN7Ai*=h!uQcfvIRjm42YZ@rHnEri*3v^ zlK@Gu(**`nK+G8N($845(tEm}c0=JjXBF__3Gg%UIVRQPJ@C@gGh4poxXo9*X$Re7 zU8lBaP5m#=rDQSEYC4aN=b_F0*c?H|ja|nGvtvky z!EPVkxqc@Thk!fYQQt|3iT6Ctvv3w+u1Ha8cn%r_qeB)V!t52PHwzm{4Ykyk9d(}< zWeQQrKEL2Gd1i`{`32*fM==<;zlrHh`x$a>vr(@O*cbGf8OU@wx**1|Av%6-9a9F6 zUAHnCWl+63$Ll}j+PVJ7*!jYE8e_%SKp|a}Dp(bjLmoxwf(^LEp&z`;3mQ|je=yCwSpD&kq^u-tWxUPZ6KLLL4_kin5;N=Sfq+6RZli4EnSnP{#$G^`-}w0DZ$+mY zyw=!rlXJ342M^8rci{8>hIwcE2I}ezk-isV;Qzic5v$Y#*H`GohR01^|H1?H#f|kq zI{~C|yl->S142UY^Jz(j3^=a34YYBb%xQBo;qZsqDH+7a$El76lp5d)z?zMwS1qt? zfO?aRd98skAx1&nk{4ezJk**SRRO*LiZw6`#FV&pWIX4$sjm4xIJ9EQ#`64_t}nnr zIU)E~8({i?l;joPUkJod(1DmEAta-FxnyQV(S6pUkMZFHs>fN@l;E(H<#XB`if3$N zQ+SNDw=l%mC`v%xWb-0e05l81Q8NO8RAv+ycA?cbbk2Q#J{D>IE3t2Od~#fO%%#nWtrjf;u#5L&gV2XRyU{$4On0ahb4$wUP9ydsw2cKHFg7N z1FIZqCm{Vm8_H^+0xV}psG(5@N7*<$d3kF&9+@a5KQ=m-#-H^86~E7t@xq2KaBsQ3 zlGAtAV4Z|)U8udoMcd%fq@a2NdryS9yZ08$$s4}6Sf@I&#B=eFqpm@L(6XZ;CSOe7^{KO}+MX7siP8QjqT zy(>Nd&ZAVJqh%ovh|>HjX6*3ui0iRvYM}GHL?dOv%!wF!0uC_(dB4j*=Tw{}sWzmW z0GODC2LKj|#!h02q&p#?OEUI&%D|!mDzuRqWH}2)8E71o!F8A${ryU=6+@ac0r?u4 zUmpN#4hK|5~u&nU#KH?;~lD+*j});OEbaApi@r2((-l-W<6 zOfyQyF-T*I$DU}NFcY#?iqZ~qA6XEvVU>dA`OaoE@24-GhOjjRa90e^9`0rU&}OKAN3XCD*W@{j+R!2HjC3H;{Q#HMRo z;MJ1m@|PF%*~=FMa-N>jTJrpP_J|as{+49DIdnhP-_Q5|m*>1I0|~IbFA9M_)4lJ< z_M!5Aja}z3pzBs8AMdYi%=Lisv1{c_DIoQ)8@axG-`_8e9XEE}y$-UjIvf2(yeYGgK0TqpytKFL&`&kCl8;>OZ&J zB4Qn*ap3$tUZQaWvR~H@;Nnn_W2o*o0ao1x+<4Q7<6Y~^nF8PDb$6XRG>d z{@C|px7|5DqpH2FVtc;k>68r7>K@9B44EeOhcFtHqRpTfWt$CwF{h`%%@qMb_fNa^Hw<=MU9-MI%SOFoZ+8!P5)BQx z#|`)x=i;(0001BWNklfK+h*FCDeM;!tll~We^4B1#XtcW=J&)4TSvSbqJ!f|9G4BUxGyNPj5Yv|pX@5)mF>4XZWd%yD(|R( zwj=9j-fub8x_{pxbXgAk>^dT!TlH%Sv+`=}2%`Ke(arFvy+{3;+mv0|cJhol(&;uh zbQvA{8*o;XSh|)4Q_~nb;}p7ieM8KlN~N@?{m*x`9oe;FTXM}Fbi;r0Vl%))^g804 ztvxypDW$smDH%h#2x%<&_zbsWAo6@8p*8e=a(lD;sg%Y-6Tr|HATG6{EKJ66b`{dc zs1MKsI;8ZU$zZrp%VC<;5k8sE@yqoJ7j1hmD`;P_A>c2rub}|^tKWPH{O#WYzx6ZV z=RXI2=jW8YEPz5p>lFdq7hlugFJ8tuIflqJO#(^<$SyR4?Zc_P-r$`WdxFU7$n2i65El7=Z<^Trq#=+)12p^Xi=`WR z2;U_YDyR4Mp`M%?GgvZD1h9=1=APMp9Nm^-ybIOdhfwcAFVz4tw_{O!)8NKk%Wc}B zM*e;mig>2pL_J%d?U_VWe;kh;Ct!ipCq^i5Y=b6)wmKn$^W+0Epyvir46p&P;@{Vx z%o~>haBP&;bz%#&o){WFuux%Nev(8cQzOT_$Qd0<(I(DtUzSq}c`5Iua1ZZ+ z4byx-WDmI&@1;pVh8VT^92vzxIprtE>XYE8r))8{P3M#o028_&rP%mwfM5X=SR|D_ z|Ar0Xb`6v@dC8|5I64KCCHBORj)7_dd|Y&61U5+8D$g~gaSd!_7Zadp0b^4?Z&=U7 z^BmQ*v{<$)>dQ$<26;K56uvV~Q~UBI;5{Z6&+-4R*Qi-Iv{q!aEG8wY!qAv-G-j5$ z!O}C(7Dl7?X^u`AEC?J~>|sEag(jmmWV#Ppp$z1C2OJwy0wyr{p$und@u(G0A$i_w zZo?`BOrke~$8_)sh-e+TAcCRspL*_yYtg7Qt`z?ctOhHL!QkjeDb9k^ z3m21duT9e1D0*JNA_JM?a>`zn5K#I6s4SCAW+YbuQDCzJe#EuXr}pOH%NB@C0+^*| z5l;a+aZ+N zHj1_iFiXseGAR6;>l**z7hmANI6el>&r^1>qa)z#gCrR41JM31%|ojd105Fxd_4UM zc=ilXy|C=I)I$MbQ^7j zDDbvt0@!Q7-V)H*`fN}A`#dUR-P+Goa%lZSEQq1M<39B@0G_)}C}VB9%m4k-Ux4G} zaX?${@(#}{qMzM6BgV#TPS@IiHa2TY*@=~BO$`?KTxTgCB_*WyR9|5@%wUy5BqYXP z7!mz;OWUL7h0ai3%?4R!>`1EQJguH*_D2XQJVY1y2g`jasTf~fr7_`|ec`hO z;_8aUS7(Uq5{ai)3V0#<7Mztv&-wlgfeiO5YQyP_fQEAhHcBL2Oa}rtUIyT0n^-@s z1)6mhv&~u?Wl3!mkKblPl~{}T;?_4bo=#4Id-tiYYy;ef6vVG*hgVM1-DP+dQ5UGBf!N#uu8)X#Kl|J;H^ZMCj zs^M0Z$((s#dgZ%xXupjz zbU*#|VbCu8ffVl&i(@h #KO`Tls+*6e{MTl2kKXW-h(APVZ=B}xLq;K<9U#=sjY zW1g5p%aFS2*l}{LoC-$D-bZwtS7c1ppgsEv1c^<-judGU1AI+mNGZBbSrKEy`vfov zgGIuTZfXX?GG@zU0?g;AjKPsZcL5DK$MX78L80=1tRpoKvjsG)S6I4$WgBpA!uFabKwuQQZ2?sx>amC> zMl0+I-gLBJ-5D@I;W>?ONMl9-5&;4`U;_W0kK-shn5C_il%Knp6?u{Hh-}!FiZhYq zU|nAFF+R4L31MrQ?xa@DKO0;3y^3IylxPrlv@p_l3$1a{3w0PO64FxXq}vfe4gngn z`fUg)WF+<{WpM$(AV>GUDhz`g61HIxSi5HcL;+Ctc9z0$5>|)hkgg>&p3aM2P*FZ^ zRBs&TecsQi68mn4aUkP*-)2_sH6&&W^Y&0_joN!G0)aBM)^v}2*~$YFUbAc+&P;(v zlL?kV;a5$An*+s04=uvtsFlakJ1kv`$>k-gqKF}(|MbNR)C{C9MR0kC_-nsz8n<1> zruFpu@wCMM`0Nt@?f>)Fzl+pqcLd4{vr;^~lKxuex4?h*wfOR}CdYbqig;d=BYR{B zoRxX-2WE)A3*~Kr8$;TSZ@U~Y=kOodXW5uKWc}J%e|FD1?S{M5JyKu3ACNZR)b#F7 zA90F!W)C~oblW938pJu7@1L2`*zc2Eh_nNka2?ur?fs$bECc1+%c9aRLkry7DBouK zrT*aPeD{7reP2e(*kUUH$*v9hzTqv#VO6nq!;BdR^AwWSG(aPh&V)7zD@zkwFib^e z#zLtm-Jjvjr)}u_*_;J3#pn`-0*8C7YufA_pRkADbJmg`z_DS^k5Oqdw5(y_9Bsga zus74X zqz6JbMBxLoIsFzxCZ~7HH9DU0keDAjW3?29?!UDxP@1(zvTv9&FoM z2_2N@9EdK$hP70l&S}Hy=bT|?oGmo~` zaU6_k7!0;ej7iTMbsZ8*2LLpuWosQh;|NTs^tV&p`9VOA7$%T~m;l`ki1X<@0X*cL z2-$dQT>?|&*eG5qo0;AXN}uM2ZVq(FkdH*j>>bEKliO?#^ZIiJ!H}VxU84jWkdB^- zWNHx*pp%kSDH4C=4cXAM&KVX_`vMBq%h;d}7|Oo0{l8=fk&uxXtz|2YRf4 zY|3{t{vgvC8Png$OUTBdQfVHDb?#w$?qlD|dn~|3Y@>=`4YJP=81%@(ZWe{X5&=)G z#iB5HG%0ajmN+X4-1M^+-J#I4@FaK~0$-a#-=4P)6QxmEOLLmm_{Gr?{_OG!pKmre z>jO$zq4tOD?*rQ69iD79`1I?q@X6<&lX&#c9?^S#bCcHe`kL0$7td(DI+`=H;|NKs zikU`Q^Zx~{1poo>!tzimW#4L9bo#|h0y$P|BwZ>+pV^i|F&j%xiXmfB#A>JW#2_?C z>_VT-ZBpKY8gH-s(3l%}>4W&UVQjo^zX+>%6qIc_8}U9Vn|mfU0j@EH3 zAjVl7d0nv|v-K>$fhhHW?LHSq=oZMadx87z0FK+1Xnf>@D|9EnU54Pk@+Jq$x5AW= zLG$)6^~TG$(Lc8>>d*~j&lugw(AZH|M_;1Xj+_D})d&qe#!TwoZ!U3SC{jH}1Jy$c zMNv#SEjTS`17NLzHCr7DY$TU}I;HwdNtsPTAf1K60P_+k6lrp3WS--!Ek66dolw}z zYQuU9+;wS>#^)T-Z|@mYeG&VmY4^=<)nHWz=YH0ILXKxV}siuVLUOXu8i< zHt8j8&_lM7jwv)V`oBC2!=R8i=~=MX7(t~FgLVz5Ce2S~LdL2^3S|K(&$!eJWRrZz z49=EBIz@=ov$t(FONn3cjnmV6#eA|+@5H{j>P8&DenYk5zb);0R=DIb^6|kDg>z5%9zD#`N-%&f7GoZ8EmR$SbwN zS;?%J^?L8dzV;z{p-bLlcT!4@p03$j?qT6Lg9fnVabPpgcVun^jWW|p%&MlM_-z$LRFs}oKlFy`O#34ns4b-b zaJRKKy;mW=FCxNO_QOzQp4tMbRPxa0UcF9A;yuq>zS{!OhSy!W-=xdq0nmGB#iIyf zbkMp$O{k?^Ep4LDl*aE*rud?1605~*Kik+}k%@$z$5;-TsY5^&NNl+FF0rHvgY%PP zlwT?Qf6aOn;IP^Kb>=|D{hnte$lDV%YOnBVy}_fu`8zCr_89ot?*cEM1I;(UtC~*n zhUW9&f!2`jRud>4ya4c$>RTHEXO$wsQd7`AMs%mj5;$Q7NWofHKi-hxG@mAhUkJd( z1@*;>!(T35^7H07^7-=wY#$x5&X*xjMwlPo(>lK;>Yb0n9zY8}Y^?Tm^~Tr)W9!g6 zxYhk(mN(7r=a7?X~*X%fBD%@7vTD20k0Q zhWwVX-D7Naj_FSjqAO9BNqb_oP6n@1Z0NShAW{=HnpE=Ymx$Tt;0y8+dq<%P;Q!Zh z{Z04&Zf5VE0vzNWZKEHjI4sk+$fYV zcs!kAGM@u1E@#8GYJWEi1sj7sgS9f`K|N$6B6Wzzbj;IkLqMe!iJEda0#u@wOKMI4 zG3Gy(o~{Cc4=%l+j6Wcydvz^8j{>w&XW&2NSyy`DEb%%%_GPTI&(6rt(;xs# z{vM+6_e3cvTgt%tDf^2)IC2QMA?J-678$sqP4f1{d(Mu_N*=;NEP#x$0AchfRG?=l z<4S;yYRpTV9cwd2!jNW1YJ*ByRyqI)dLT#MKCYW@QL@VH%COQoum4#HtX*LU+%TpW zZh|z1vU`oCKi+_@0nl%j=)~mXLukr-DC!cLlNtsJv&mU0DruZtIEVA1B!&)y982%8 zY#pjX^P8&FYQQQ^~a$&HvDv~5bP=pRpwX{?*Y(GmxUc_qZ9GEn`=PpW7R%uC8rg8Y3&2&s z+@?*s_Z)9~encwcK;T~^fWuv`v8zb?T@N5pEDjmP^~Ct#cD9az3#18zDoh&z5vbG( zC_ZMY@d_TLTEJ2n=qNAiSalX>xdwhs(CW&5AZHnmsVVkG!oDu07NcEDhCA+ zpc6q1(Dl$#|2fBP=Jv1G)HY-22Z5Lt;OmJt2s0XBIK=0A1%y?1{6wIorRQ;Vg%~p# zJWy~H0fSm(wLmOH>rTf}!09azv zNVbs~12I=C4r?lCT;z+RY@YdV8$7B2Q~{U=G9Ig5CBkm1}~JuG6XE7k{||-oJdAT4NpTFYzzlPEeA=9YJ*3m48`Jm59>Wj z=M#lG1P+^W6b|M*85kl!+q$m7p~bt;hGrb6K80XOylg&JgD2`KKn6!YoCW9t9>DGm zTn74!xFdl+eaC>#mREkqe4u{FMN9MPP0q~?5~UKIwLdTC&CJ^z@*n;q1Y&RGf|SCn z<7(}|rfMq%=+^%{MuO{P!60K3F`JAWTS8$GSr48-pNQcKg zO#qE&#TrUT^+55s^bA@A>N9PybaV|H94Zt9ULXNRHh6xn9u_T~A3PSEPJ3xLSWF5$ zG6nvyn&W@Jz6LZ<2hPZ&O&ni#ho-|;s_Brjsnj8`E{~%yIp3gKT>(Qn&O*htI2 zHyc_rrc?6j7CMDX8Vx*uN$ZR930$x|&(G(ST3suqyE9*Eu>c&0Ii8%*akV8dvBo=@mGIE0;sbYhsg-YCWab|Dn}z)r*RCV zbvOd610Zl-;vCEWkL@G(F~xS7A2NS+F2r@lY&xO)JHPguU>S@7K({^r(6R+`yk)>6 z&%Px8Nuv-kM!_bG4-T-0r12}%_qZMC9lY4LmT0;Br0mltcDN}ePXd+ z6>X|lYrc2B&r&CbgVq$nVGJW6&fYC5# zdfsO&jjRZ;Aw`%kBA_N4r|FC}NdniSX%ko$@wUkGu99e*7^NjsXKX|DT1(d`Cz*&^ zuZSS37{Ss%^3Dq*B?Rh^))9**1o}?0&6G2)4~Usj6kk&*(Bj6dftxzj-!$}GYZeU+ zfxxbILq@u2y_5xjSxPS&$N6@dL_;iK4n%E)+ZHk`x`mh)h#4-%N*>EE!i~F+&HvXZ zvkAfmmx%x-U}otY&Wr+urYHvLO&SlLJ)ce!=pjO(0KIpr1VmKNBW-Sh#8~po?C5)< z0G=lp=mQYF?lLw))_X3~BoGe|RnqMYHcC7F)dA}>1A(dJr8eDTm5u_L@m}Pdp$+>` zVXysQ>9I&US{J?2*W(ytUgT_w4ih75uLwq#+4@{6g@x9rOnyFvvQUUh4%}h9og=_T z-nR5vrkNz4XN(7Gx5uI|NkhR8DB1(N4IMEE<++8>9WFaPeA#t|&QU5FiQAeRI`&EF zb1;&{VvX)(wGsKDrT4gK9TtYbxsImFK)(XpOpZK-a4srqeLz*{l+HIWn@m8>)&g3i zIy%DR=@kFhx{2ojI4D)@ZOWf7m-sI~{SHvRk^qikO6R^@ za`=iz)ZYRSnIp3q|IBF(|LITZ8jl}SD9rr_z!!f9eEF0@T(7Uw{@6PJJjR`m^HFC^ zm*w`l+qT*K*DLvZG4@WpYy0uLlpn%998zSS={U16{`Xx=J}zE|ts+dM*KLO7n1YxXV1z$_G&u4u*aQMN)|@@zYL$QygtWmGW{I;5a0ud?g;|8`Gh-5%vH{aS z*?7;rV2TZFQCbd;H5;1D>!FFkp%rabiUOFjad^bk*BF|jfQbgC6@Us@9MdLpvtcF+ z-;)SiUS0xjO@_M9wyk}GN*U^xVh%tAOIt+LI#{{~(Jjb5m15M1hg}R%YZD`+U@zh7 ziZ^osSl@6sOpyTuYzP*HoCTtrfUI754&DQb)68x*bl+u3^?L?Aih{;b$zV*&?QcPS zK4HPxn@gevZ?5UM2@7G)7QlK6fS==+zak*5w&VruzlXv=$cguKotym!^JBS z$aq~kM+^rEK`~ihI1gg|Xh6F({$!n{1Mm~xgqrg8jc_b5MJB_QrLp2Oe)2mlNMlKM*S{9WnyZwg0K z&MJ-4Y@c6-r0)?~98r9fN~M5GBaWNo`BSJ20OwOS6#%j>#6DIYrAldEOC@182K%ze z0006BjP_Xvi=sp+qR0Y{4y~o49i!2E*5K#MV<|GU&;z_=&Kl_dp|v)?cLq?NvK9pj zzv$kB0yuTB?E@=79EWFGN6}w6hq`UCP$d>dn87eu@kr&GNWUv5- zLU~?4HXB;IPEO){ReMLFHbZlq>W$+u#xt{55c>U~i5>BOe@cM$lV1Tp{xJ!U7QwsJ zDS=&gu6TPk{Ru#PDbu;O1r82ZTT@3K6z$8giPnHfctgBMvjY zPxXIO6JTX!!4HDUHg+06RUd#yI=fTO?K@t_ z-sMB)DY3tWaV)2suw&i@keIsur?O%O$5(53IxhAzF_WJy*UxkBrscHnHE?!L_AgAf zS!E56F|Rc`!2XnRro~5xU*zYv=lGu&z_HJnJhbhh8#mbBOni3AIdru4BcmFR>FX)q z54KfQ;P-XRqvxDnc!&RwR*bYbbrYoz7S<)?n+Se-}!TaneiQr}k*|8Gk=pYlP%7=}SQVAsDEomJwl0mlFFAgV(hE?*(e?2{7y{7xoTFS+1bT>pU$7GW zwgZghFSAqQ8Tj#@g*e&Sm1og)S${#I&OMJeS%kYb-)l(&Fov$(n5;o!EMU59yxErS zlYnOy^t7gC1B+v zmfiy3=OZ*}AGqABq^?=yGyruE-O0EbTN>{XrA&Pm_b*MSRAG0YDpmjNg0?J9-`y1v9vBd+Z&#@n;5Yy z9IpKk$k?gQV$|QNjX~9MTNW-qcbVHe0`p1GwL|A~s?hsrO^lQZ#nf|7c&nA5pr?SA<^_2+z^`}Uh} zf#3ZDu~Yy21MuJe8(q7#tQFE{TSV3=v0VWAzfu8|sdkE!dWc>2OZ&7;)dwi!^xo^f`q^a0FC(U*j)D zgi|Pr`z4f4re<1ZWMD><$n1Pbi|m!vXADOm9H*){pxKZXLeGxwh9kkQBtt@gjllcc zf@tB3l9&$IT#5`ZG*dSrC%>@Gt0@6+AA1H3oTKreqoj_1WHL9F(?`S+Eg5uKXSN1_ERbgN@2cYa zP$H!`d5*prP`|c4FmuEh@{zPRY)6ic_dsBQw=)Y|%z!Vh$#7hrk-^!r`u$x=d7E`f zi(x#fS`io}$E~WJ#j!LdQT8dy$z#23b9ul6jhr6dKiX8HvC-nL2lu5ivP*Ur zDTlv9<3pmPcbsk@V1+oZ9p~DE*&HR$FAWc;1`(?m(F96Ssg1=_bT`si4>V7R2(aZb z=MDXx#6bn*z;L`K?8OYzPk{Wc&gWbvn%_^y8YiyE!lWW@TS#<<``34X6+>U2N2Rzq zm%++$<71W5FG;Z(G_}r-85i>Tu_pI&%;M16RkEF)Mr z9p`tv{)8dOQ3eJi`0F}to4tq;V1gN>gMOh%s4Mc)P`_@3FKN-^GY)Ytdn-gwz1IAia z0Sim(maPDEz?(ZtZLya6W-X(t!&n3lAL_M8hije!&*U;@1pQo*lM z>%JG?!0r|Y(C5mpP2x(;}IM-IFwzWbOBCAn|wE{mTUWUZ701X+6C zQj%}GMM~-Dc|U8j^O^vbnES375Auven`4j~!^T?R{z)|x&-b_G9OcWJ4Bh7!l&->6 zeK7+E?|EFdEcRB4v&_cwY)(dP-!u5tsXnM`Kim%LUYx+-sO@z6%F6dxy2Hy~Z5@_| z^6*6{^QNat3rzx7;-FmUPD+fVA{hBCDL2gAF!WvHftBq^#8j%K6pF1dU~!n74j{m! zXuqT}Y_a2rY6np?RfN$b@0%X`01FzMY`_5YUDxMwzj}LlkL7Rai=NA4RKUA7=mG}X z9PF?HE`ymd4h>GDwm;OQUwXPeR5~_o!@mcWaCQYG0qm}As*N=p^5=GEoBjJ+l#WGe zAx>*r2nSjbDK%oEd}(Uxy{Oq~FJ-QgmgbKU$RJJTMXmQE`{}>K=>L6|_dak#Qu+4X zBkNFGqD_y}RB|;OgW7Ql83M7W4uB9heUH*P(ngWglnJ(3ZA=0#hhnb6slDGx`5gareva=~xA}P1JW^X1S_@e&>A;bZ>{u&7S9w+gk!L-Y{F^FF&E%Y*3anN-3G~ zdORz+(#niK(&Y6{X`BkREUNdHUpN1TOhpi(R7Z~1q9$wrR=4w0PdvooNsfZ{SA&hh0$khVrZ zsvHSnAj{>-|F4Z_@qgssw`-q4abOkW~P_`TwMddz5t$I z0nhl_=AaV69f*#+bu?J|$PAvytelc6w?yv4`8nU0jY|9JvlG>I_@V0MCqpsHI_0CBa$-+<@D4_&{CYosni4cUc^9O_8mD-yno4BHl3Ao$a~F<4Hnw$ z5YQo_F&142Xb>o}A0t-LpbU|O5Us~`^hhG3Kz168VJ4N$DPkfVn&x_O0@+~JWe??8 zS_31-9F39dl2jKRl^h#-#%7jB0l*Z)V@uVZbZ!lBV7NZWGuKme=<}QdWB_M;J?R=x z0Kt+@#DVp8C(1PXj6a_QBXs}AKv(1nC~6xi|9NWD;-FoOC>@X{^a+i!tXBh+Vf48i z(^_)cHIOU)_x#@T`!Q%T=Ay~#hfH>I< zvZ8TQaPX#LJ3!KDlZZLb3$k`>w>c0{F$+bi|H#@=^nh)EyB;{_beeNchxxnT0AG9w ztlj`GUlO46<_+Bg=Q88c80u$osK&q?keH|AHkgaYUyhjxd;E(-&;L{51pD4i4UitP z?;q<+4OkrG=`k*T22M?JrE08 zUp2E@(zWFrlWVN>Wx^+$y8pW9f(A`=>MOTT4{-d_{(9PDUd%&a(PNJBm;i;H&J-I( ziJEG=?D$0if&y)`-SYLuJSldZLb2J<@y@vL=bFpWN!ipNf27}4#Sx!*rleX&K!A0W zVlkUBqsHdG88)h#`y7>$va;4vPP5!BVXSllYFO&$dc)VKK##6Z008<9*zo=6HW-MR z8ss#Y#hk9enrvtmYyf(nHBf{BAa&2Himr3{1#meddhgecKn_GLfOatZy=$e4=qkK3S>9H!^xRI+iR z|1l__7>_q12j^A*i8jFY^=n@{aa(by$7wE)8IQ94p)o!FE-^ZEbsMMd+c+RFrJVv~ zu~7j<ETOp9RxZM+D&1x+(xB0nQs?3IK!m{@C-<%#A~>j}aB9 zT1^`Qs?CPe#S9k0s!8W01HKERYB5h>c61?P<$HYBMf^{%-{4>F?t$Od1Y%!alHllO z1H5^a=jqjo(o3rfSTe&z0FEtJQ7I)bVL4#o^BUK8z~-Lj`+xXHEW4g;g+&cqe?j{t z5L4EZO=fdC20el&W?(N&QBRDEvom67i2juXAWWb&sjA5Cxw`|v<=I8o44{5|^A+&h z-?AX-AAui!;3_ZoTn((u8e`gFlXBeBj2SYI-qi-3nv=x7`;=`8w2*gDSH;rn!_UDE zmo^5&Pg&pIXZxJ)SB&&d-LpoW2>A!GJ;Jamu9R9orRjC|l+O=sr=Ho<0S^1rhb=Ge z^vC)Ci3kF)8@Wg~LkxW}hR5fLqu<;H13F}fVX9AqeoTC)&%1BGu|~$JgZX5(!9K%J z86*dfd8Ge?UE;(xQwW{fc5r_tUgo{`kGCK6S?@o7uA^hiant>G>>TLhDdaMr6oY8i z-sdnzmL(cB+RyO#ikCEY%Wqg%D`p15**S0x%0Hc10vt9Vuj(xu50VNJ+HADPh(Scz z8st25g8`K+GGhW9<&ac{6j5)puEjtgR3FFWdz>iCGVuswfOGt-8BkmRehat=obmOy zEnQ2^*YjLO@q(wxb-kw4hO(qwVef&>njNwYgEtO1yPyb^G4z}Zmn(V9<_r=A0tXC7 zXS_IV+~0OX5ub<6ZuDk0BeAs*D7B}m$gnEe_}XldBH9-VV0oDh9=WD&%UTivaCM%j zyAJ5i=sOXV1-Op^XjuD$?MbZOAf>UiE#0SRNJSnX$}RwyhL6<(y#p?;sE;L6f-6o> znHh?1Jzo;T<+%mU9dOQLSYGXW06zfu^Br(=2fY1>7rdU1`T8dUYD}B2Yc>OlkfZk^ z0_wd|u`lptS>S)aeL%qx%cTGuZJQk2G6FA{KHT_#mwksi^806qSaKsdq5w)1D2)eF ziAXwj2agWG3pR4QKzZs7zsH@Wl#;S^=l~UY7w5>}Wk>9eYgeSyf$!RY(imLx`@ZrX zO$fNQz|s|Xi9nSU0IKMM2$+cL*rSxvufTA=iZYKF0y0zJLujJhE$wth4Bzu45-cDn zvyb|afya75j?8?PMMzUb9_%2yJZ5FAt4b;ZfI_czGB3$zV*^+-jAEpDBCR=(pmHBw zPs8roZPb0&eH;I++ZY@fZ)YM`ObIL)NyjhsdNpOt9k|vq4+PLWtG|Q{gQPi+1?V!|#PufGELtG;T6W8}UWV(^uY zE7|ZI+kn8F2K>(QTF~+PQ!;?sDJ`4Y0CfnQ;$yLDJJinMg)Oj>E{yb9_Azlp4`mFd zNYi4&|MmVJ{{*0XxaT?FptQhs!OSd>p3f@!G`|R|V_16lc$4j#81Y@(;im6!({=cl zpMIiJs=xgWX>D9BY0iFN$NtA3iOunv869gD0~MVhS*IRYcMIS#!|$^*T>0dJzAG$n z{S|PrgfLeIOpre8ij#{S5+kkE0F7l=(3&43aN96oQP5)zhQ?9J71j)ZSWzmebCfFD zdZOOXc)mM31OC&00$#iT-o7HBb;LZzUo-n$*fFDK z{J+V4JNC|u=SJD@lx8N@7u}9J?|T5_owjG2=!ZVa&iUN*=LRExiRqMGAf_%XaDEBg z-|)M{QP7k!%KMm+ogryGnsp)PPv=vt59!C=`xNqVC)zIzj?ba(d%?z^f2b-hk2&rs z6tlr+dtSVKK*XtSti>@t|Bib6`2PdPd|z$6*i11_1Z;?g^)HxtQ8;oemsh|7zy)7I z3*eyz-jw9bzPZa<7qZw0FcCbZ3IvaoOCpia1VorTfq34(D3k#iGsRSNGg99z<>2<+ z@N)qwdKL_=D$@RN>^NCRIkv_Szylyt>$y2z1YI?}Uu8v+rIMKwB7W4|b6?pJYP+1q z(f2t;L?*(b$aGiVBZ+`U&b5^Y_N>f?ix^pQjeSq|weRWqSa?GkmXv1+r$bw(fx$2>iUj{aY^S`*{V_Yl;jo zgJWqOem9$8z(lJ@0878L`s<9do?u8kO@uTSlp-VKut+!&cv;)mA(S5H$41p2yKbI*%su<^^}OVWx&U{BIcVIpu|M_x$hgr=k9Uns zr?L6C-S#%o0r43)>JB(BNeoznLK=t|*#cdN1Fa49GM&^t0zr03hHgeAfa0dUJz+`tIL>vpMk9S2Py@*-rTNuZW)h_Z@-g8%_z? za0;rdmD?UDwpqi+RrGv>O*m(5uf-X!<8F8y2`2PiwmanW!8$A~4Yr#sg9BwbWKPK1 zD4)yxD0aZZJ*T&9xVqUniJ3loM*DpI4Oa`h1b+Mrt>?y2+1ZB&0z5(lX4Np|uWOkx zBGGPPc(9!%BJGFT)EIu>@6Wq7A2P@U422%WwA1~!Kw7Zgb>4fQ?dZJx8T9cf?J;Th z$L0|k&%)q%xX+(QWcIDLTQt-1QT-kTgm=E*1AdL3=Pv+)peWS*IXM%SQx|3>a4`qI0KMc5C~af~ptZpL zT~1RFV*ns0DCtZD;P!4BflmEa-^nqA!67LFAq=U%+7Tb;Mwbj+v_iFw^jTA6$0bC- zL?rD9W2hU>kz+0SvH$={L9t{c)HAv+Dfx=P`M?X>E^zLDx6OJL+bu<+*K4L|Go`L9 ziSgn4yf9lZdqS97{98mxwL{l+z}jZ;$CxYv8ySV(3jJNq%lAvFxOk?!Rvh7y3KmlC z&RGB~AZx13n6q5LV#bV!$sFKF$a)AF2~Uw%9v|~Fx{o68c2*H+vH(yai-$&J+Cl^1 zPXPXO58VF5YWtCC!+hRt!veIHz@?UVUNbd0_{`*qk*>F@a_Ua`2H&(Tu77NC<+kXI zO+tuNnZuxofsB0srHMlky(kV0MHZwgN)yPb5uv~9k?Qx2_muJijy^>+q`6^ zloA7SUR-vZR)HhR5`kt>Q2?l2k+lJ0L<5V)P`XPa&P)h+;pBad`Q4TG+H{#^C9Dl# zI1ZdLA`?&&GH4*zrRM}GMclR&nKdR0kpc{G^gwSFm?mQ!Lr_H@k*3iS+Gj>DZ&sV#JWC$DNTr9kLZpi3+B3;mEefuIuo5{;=H=^QkPefM`lD ziL7T3X>E;#b zPCR=~shdSX_DEIHbG*Eu;LCbV|M#r90c3WVl!ujh07{5>AR5l=XUpZ?XRQ6v^E`ET zH+&a;$UtWrtDyHY8Xm_HfM^!+g~@I4EstLiTT{wh`kvO*ZcEqMuYtt_eK(s?pyI3s z{_*#~fA>O)^32(03?>I=gpj+#>zdu1nA)$Z}-*vbBvbsqWL<9-3dK*P9MqXI3{oBRTB z9Bc0yp&0Lf%J);-?iEB6M{Cc+KeauTy>So$orsh@YX6b(c}&Ffsld)82r_Z}rzjFn zA@5Sty{t0oJ)4m_B0%XVZ&{SHonid-Q-{2Q{RNa5du?HLoPu%m`H_+7U{UF)i6S69rba>D(f`^8CJ?!%7V$qm8u*7 zIoubH_PKgS;KSV=MO#*P%s7yVR-(1+Fv4bi3N2`q40^uj>qbS@h5ce!x5N{`G@AkC zJkxFigEF%j0YS!O;6fsiRYk^-03mX30s7wx zA{JS!wnz3UBY>s_e&X`4HzDU+J1)B$0+l7!5jH*6yw46+4D@_ny{7Zlobpp~)gV#C z|M5qxe893O@uDcGnn@&Z?0QjS^{__cgDNL$QL^x6VqIvFLjR;57gg=fwooj%vfQt5rLlvAD~ADISK{~ zjUk6MMB2`jLr@{Hv@jj5F$TFTtwTbzdJmw@rF;u!WBER(NTtY4KuV7>;tcb7eaxVX zHhjlTm`&q;TJ`=tmMW}UO8c?HcY5#kQO*5o-+j$atjYU8k9T!YPF%~rt*TT32*42J z-WRcxxlGcG(zBdc_dXX}U*0X}a2*0xeZb4mqb}T&84gcr0$|ABnq^j-TxI3jIlPPk ztKOsTJFXbwh)L!gRy?2TYpIoe(nQf%c^b&EbQa%jxA^wW8=oxxpa1|M07*naR9f34 zcp~f6Vh;FuUfVln2|7DmhdXgRc$|1^P zblel$&mZ8}c>%)cyRjoScDfG$1mg(P$8PTu;dq}D!n<7eQ_la`^G!GmJIC60%n!XV zL=j_?esJ1?n`H+b0Q?d#b09vWXn$363WA|1`W=`CSp#lKjE6OV%^Ql62rYEG%@s&O zWM+p)N}Z62OB`$gDl~&bzH^Q~7H8R*>>%q2(5PdBw{Ny={Ak*u=ZN2y93#p7j*5p7{+h#2i`Az@~0PqZuv>RaVS?|N(Y@SOqmb>#E9nAkUuRzpoegpWnPj z%el6V(3K5<;89zP#s@U)xYx#@Gn5lQC>3d`Bx4gI0}8uBk92&`4ha39#2F`Asf;0U zBD-jr9m3}h0ANs>619y$Y=KCxF;%%JPy%TBh@0q8#~#Z7l+NM?44il{un{s~se#g1 zGRR@`7y|&)gHo>S(1_6yx2XwG-s>4x7!U_pB62zcTb0D-@I6o(a?B*ks{1KTm>eQN zH_0jkvvfjc1dW~S!S$8ejp1vyqe;9r{ueEZW+#Nznknr#XWcHBRZ^Pb*Q zc2uSM62NJ0tl4!|=e1EZmSoPC^r- zBnOhdo-iiQ&T`pX!@!7$g10TrX>FS;su@H5KR*X9&$Gz*c1vq}SrVncZGqbr>1M4~ z%=7?V|Ciq&iLb`U=`kFL*={pSw^?&_vo+8&syv&~h06RW_t_YHaKuADe;@~F#!L>e zy+W6P4$F3$_-85bqU_6$<#O$t@8!EV+UBpdjX{om>yiXdn+F=B&(3HJSkO2YfO4>& zs(*aId&)%osX(WxK1@dD z#9JJ1D->albX2T)pmW2GAz%X_n&Wy6L}o5{kfV9akpjP==*Rs%M^kzQsu&>Jyhv*X zL1G(-@engO0`9uxy~_U@;21k5P8|A{Bfy4^FV#}|n5&m~ForZ-UC-27Ht4#Z44)VP zBgbSTPAZTHqd*Kd4gNSsrF@NH3SY?g(0gFbQH>ah8Vh7FLaL@n6&JlIxNSaX!E6r` z>0ZBiP1}f|nc)RR7$avj14bp?le5dAfhpP;BIMR^dQZ+(c5x_~PqE(ftzJ)63 zH)VXv^AyCt_c`}k7Ohzg6a|)N=U9h;e_yZh`}rJY*Wo|+JrGE&Q*zVCQCiZ~pjH|S zM9(QDF?~jqar&%DpG#>+%DIQZU>^;dARXWAe70mjrE~_34{5)pM3mz&BD+egf-v~L zah4b;LhX&5f@L+ehFdD}EMw9WFcMjJVLaDrLvkvr?;Hk3L;{87IoW(({kaVUaP>-L zPak7^4q(Xo(Q~E4?%X)&H>TUz(B3D8K6Vn*@edeLhm2x6+5Ypq@3f3Vj=b)ho}UH) zhd4*0?e#MNhHDD&SsVSeB^K8yRZKo)>taBu(yI39Wpt6=`Pvw~^Z`xVqV7FVRVkHa zs?mHzf9uk*?+S9%#$e@p{9(Jr+w~e(Z{8B~0LZ|7T32KoFc9E9E#Z=eDGvNSGbDsb zDBy;??_v)D44{SKJ1N&Lpz4%kBtN1r1LOdUfG@G9b^iRE1;XdN{dore7Yh>E1_|6WkLEMkk zP5=zjc3n@}GhH_fa*9sZ&YC$|XP=T*Doxg{1ML@p~KdGDh=Z3GP5B@a#}?VT?~yFkRqsCPyKIO zW`UTY(3en4C1T?P-~tdCC`kSqJ7m$2s(E0c&_xNrW|oRoX%(GUDKQ;afnd7q#Ranh z*0lY_1v&Q@bE@NQEv2wro)chnch5P7_mrH{vxb=(2BHPAlXhYwu|XbK6w+*fSF7Q|QD3m83QzUvd|Y<;>^>W> zRf$x+XS3l&h%37o2C6JT%Z3s#-EPT%YdLDSSO9SbboUHk6`&gFo-RCjyV%Gsv$q8DX_dj!(VP*J_Qm-nnoAVR|+MiauwnJ{QPh`QeSq{)$P69Xcpu~=FH zIQ0HIWj6yyQe%!nNo58^p`kl0jloUq(FDuoDd{+!=ZF@Ivew=cumZ~!Fg%*za1($R z(V$Gq^kH{lPh+lNa4%-VzUztI5$*0=CJqIFln*UGQ_&n9m6P))P>-Ld0fVUwZiu0q zL{ou5?yP)2Nc)2VG}s6pfVRrf(a}rYf?VqXhNc{Eu;1u-$JVM-4Z;t#P9HMx#z2fH z;p_dKk0pNxmzS=r0t))IE#zVljWjO#ix)>*ci{`*w_1M<KBs2Aj}}K9g;>%0TK_tX3=fDFRxXJpUW>xVa)-*9mQ}X2%Frmunbb$KOgz>z=X; z03I@yej;eBHEUqg6YIR1vHcAWU~+2hp~q>>$&c?{+b;mer*4m0{NIC-l*&*|ocDbg zB9Co5fWqkiLwXmw4B`0uan$kHdG~IkPOwi@bn5@HQy>n9ES?Eei0u4Zj$(tUlE?yA zB0^b%fPjk`aQ+*jKfZp+w8=Rg@8N+ye|TW3q&Vgi*Je#-K!fft%ubXrRb81q;57@XG5+(#$3HZ1n0(06y|4V)CDPDYi(wlNOY_yfc2KHT^Jk%SK)c} zHmB~Koly?5q~GZ0F8y0Dqa=7@y;xAHkC~HkCG3G@BfSHG>(QQgA0nAfR@1jz+OG022JG`Tdq^Dy6ZwE=2ebSV`KF?86aQ zip=hxi%Yd|FP$4yNLUuK4foL-bTK3ik8xZ19!qCYgUgIc$-Tt7;gpbpD<^4SG2O$= zh+?2a-rFe)W1RDv)*Z!A05#b^-Li57-U`Y_6<)Bv$neJd)*6xcHL*{R2R*OnML>N#paHW}^$zD!)Bwb{`97=e^i z*7rmAQ90kGF<4rQn-63_r%EVMfQyN3Chpl7;AoV1cWFs;r!RTjOjiv{4!PJho<+A!e#cW}JPe<&ymywLy95fx zpyr`glq{NEbLuOvyE6uVWjz$OM_DlIL;^5u7l}iBf5#w40eDB?y)m@@bX~4QhIwYC zh$dFwv96j2w(A@$l5rXWYn5=o#`l@M>ievx2IPBvbw#Y0bGBLLHLc(GoYHdh3Rt}* zjj`TO+#qgpPseuZV_LG;lwBj>b*Xg1igE}*dJeqBIAretyYtNZi1bhO8`z!K--4?Mgj|E4M_XLL3r0E4Sn zkkg_TsJ^3P&<&#>Zkj4V}LWNZK3X z*xzpnUA6)ocyjWE*&)#ksooK}9P8x_Se^sVuP6SPvq->^A2z5A8%*M7 zI^_J+!0edh%tZnroTF3>-K?QLYt?koK1lBj8&O4($Kno+St9n#^bt*wR#IWYaNM>% zFBUZ$e>3G^M8LM(mmcVNd`sWjj>_w`tO~#B0C*~?x4x%yTrKJTtzNUy5@>4NZfX2% zH+c~(3ZNtdAKNV!*5Utam9aMCzHK&uq3$%GC~Fe~ZbCo@ixt<9?*cPB3~h7GD&HNC zyN-u#7lG0iSQZ7E(6g>bL=%~L5_v;IER>G!7UkJv+L?IiJ>9Md)W)KN#nL&{mh?oL z(4dPzV=1S;wvI|c!lEWef({Bc)rA76fRIvcC6B!-bFJl8ViCT*zDbIP2 zgQN8|G{Bbn60u`T7=zk4478jyNQap024QM+k>-&E6Y_O+eCWp5l(Gio_q<6Wm%HGF z==>bg@yXl9Bs@yp43v&w-5~Wuw1z}~quB%Sbs-L_#XP2cD^(CgZ=xtjJUYF%93%@2 zn(9gz?|{Imz0NA;U`2H_IZghnJVUeu1_V(bKxlLfFzr zAg9nsP)5>D+m`Hw2>M+xgK@UW=PF7dHdzC#tf<=F$L%dg)|GRa%56_Luj6*Kh=CoxlTrrP zD|<}RiVd$@+Ef|Ov*R+}`^IkqUZ>NyCa-JYKgcuiyWfrXJ>-+UXYA#(X(=6A*4#*I za7+^*aC;BjJpjvR*(T|G(%&guw!NiIJ(D;A!VQ8ZcDUb;c>Q62_7{NTL$uEg3EWrB zgd>>0v`040$PoU>kvT$dT3963w%1SuGsd(L2AON+8QK z`n*Su@=G5y7%-m$fyFoHbEKSogX{o^qXUp-*LQiMS+BX2nPJh&U(sT9*HFZMeV-%f z#?S=Vb-ARZMB0O=#oDPTZxFBo8OYFOSH%DjZ3e?ea9IHbU!xdPI`0oq(P6J>u@(TQ zxY$5_3o42o1BrIcX2e{W&4~3;a+QdyE7Ihs7X(hVEwKyMYntF=qzS%l86YYN*ol!q zD(h5b8g-q0pCik1358=LN<}+_;tBv#W=|H8RHkvy0-wrf37Ei2dshsm`xUQi@P1ZNp-KF`_|0 z4V%i#X2*pqzrdojVIXoU*U|-p(v6(Z^sHsv^E(Ex@vV*6kRyV^B-8itUE7oaBcCOq zP}L8K`pNT`@i%sqlL4DNp*{T{ose`#!*zi-->Kc}>t(i#RjXkMt*`Q#XYVwjxRnix?7c-eQj zE*x%r#CLc1BsN-dHKwY{Ye))6`04TP)H@Dja3cmWgPQKP!fv1Tmz!g6FTG>?h^q>HGWq3$i~%gw!|;%G3VpSM>QeUz4q}S`pZBdrx-N zPd`l$fOl>3Jog1u!-NBS$}vAx6&2t#;OB3t1zukTn2V8uOCiu$T(5yekxR_?9i`Wc zNV&AB`+7`#TYRB0lL^=bJ0{vM0Ee{qWrXNS{ZlrhCiwAZAc(UT?f^Qj+QO1KMhm|xJSWI+rL5rYhQb?q?V47t^UwUIO`a6}90*_6y2*=~UIO9s*y>`9A}7>F~#u=r>f zXwmCA4JrhFcK{S!Haz7S^R-Gvgwk5P)H%tjI*6o&XdzJmTsegzj-^2YI7$X!UUnOF zoaLOR%ADK<|LFWDA;@s|`u2m;h7KEvOCOB@UJ6){G?_8jlA0U*+GTj`>01a{*iPnQZE&YKK%9s1 zu@o31KUVFh&j+(>m>pwy$Tq2cpmjK%=nf_F$O#L`_MJ*voZMe!{2)l;m>H$+ z(nXWXO23cR#E6$|i`p1m2Z#T4^%nn9I4qw(2dSgTo=YV0i^Lz|D-c??hWek)B=^cFYf*2eU!I$^^ z3;>=3cO0>n$|CDNzqA&>od13RrCoe~OAFRd3~&Ta0cqH|TrOGD!Ddm&LIi&dQZ*3I zosp=7R7{x7xZ((3YsuFbd8`&Q0w1c`&@fqZj%l+d!K;R~Ft%%&0Gk#`U&C3tI9FtS z3>|f~Hm7%p28cGSj2W>J#?Mf|j}g^TKn`hQNJ)gdZ2`;r6kSK`juntE!GL4@8T zQ~Tw8QOA;F>$$=?HD=hU7N=MYD5guNu`|`=dG-w8h=7`CrO3Szqfh!Mh9Hpg!fR`B zBLIhXj1IIERZYX$@Ui57Vo!9DjxX9BjSuXYn6zJtmRe-0_|X(Z4A>mw&&KofRCSgv zMs$ei0!Ic#gioT8iR#aek?}y!&o0=Va}12ol=`87ntcX{vAIOyzNYm%BHup+@T6_5 zns*MZO*>4Ei6-oiF^hvf+zry5~Y@rk~xK>&rGGv1{y4S<(jp8(+hbG^nt%X>PX17AGP zJA}xA4DGzgyJ0hP5TGfcZHLverkF5e2eGi3m7&)!DK{?x01>)kn9mYu2^F<0!UuIYs5>6|*yKwp%n1BI~kLSWEZOWUxr5 z?7n$J_Q`BU$Edj)S_t|6iWZ2Z7gZJT>>1gi&z}RYUI9P+kW1ETpkw@ds%hun2MkgX zrvP95cY21OfSK_z+Z0gyb8h;*Odxg4435o$##*vR*tRyv&w6TZpPJA2eWv?yV*7bA zIL0?gJDyszL5l_L+xMv{8jo?%pW5E#_{RW_@%6uNP~+Hs#|G>aTjS6@KZLkG1>87x ztWeTeE3W9fvn$|YNz4s>SPOdVDiAZ{j-CDOJ<$&B0+>Gst}MV6Wbpvt&n+!VZ#?kB zUx3w*bggsHqI-Ksi~ZXNHU>cV?u%zco0J^XxpMwRRUAN~f>!Lj$H)}Oo{qP)z*$B8 zm(s5>W{PLeX)&8Q>5DvYer$73hQ(dr=*Jf1TpJ`&FOINh>N>J^M{?L%$V?f0gNfF# zAtQ_i0YJnFOb#JCfCVZpCWOFwV#$bb;%dp66zy$8Nr5~$O%iaHAVy$zZ1 zu-y{#MT?B}fq)+=vsEbrPE%?vfEh>ZP0#&|6!~(>L2Oy%)fzU)N&-=wBQ}tT;qGZVT3TXAGnXnWzYbS**UiuZy|60G25|q^pHbw49s{R_KYs?E59|MlG+%A;^$y(e#MPdfERx@ z6?9-wf>Owy*8OxG2%unSPUdcu>ic7Ds>E~?d=eq9O+Z&TTt`~#zH3{on4wWyi_S!J zTv4eu%r-M-AXNH3S`$20!JrHQf7ovE&wu_i@ZxLWn{S32#)yH6uYR|5 z#sr4jo#Md$+}ok~_t5u0r#1#T0D9M6y#k(HWV<*4m@+eVHFuWN6QAp4?= zVGLJ2;T+K(KnY9+>MR)Pm%K~PJuCn`=Y6&SzW)*Uo|zH1Ju?k>!tknAdhcl)rx+XS z2UZoIXG0<7$6BH=0(pWE0msB>h}21;Vw#vE1VElh2ZsOvAOJ~3K~#2RjG^<^XXMNj z?0`zS*yU9g)AF9QExaeu)2=0hL-ZE_0yK=FZOW1i265QrUiCfTR2^>l(bX8lxQ|{r z&U~N6aSwd2Lm&nR0Q6k)RG1p_jKzSF&-yi|1vxU{0)s2{S$@tjQc6nS=jt&nSFK6u z1Yo0Yive3@D*7x8nBa57#yGl85lNG@gPv1?FcP9ndIWrIJwAILOC?8#l0g~rbsNKF zZYxUVx%`I4&ch{F0EnE9(vq=tUo-P$OMe zw8VhgQiNEdyrnU?=Kq(%ToXrL3(!W;ydx<}@@`rcQI%>p;vk4t%h(Xn(R%sL*(|b~ z?$ZR|A~dJbbS{oL&I=Nfo8rOER<){hgY#`}+tJbwZZO_tJ7x(A++!a?sLX;Wkd z7~dOVfV~3)M@qd4@Cp#9P`hGhZfZtzQ4%**pVgMqXGE@gTrKLcLZdr?&U#IPl@AZY z4Xvfr46%Lm_>lJ`F*0rbJ{bD#EMQBO7Q*`$1qEb;Vbr$7P!&<^7%7+(0ttLR52N}PmAw)^-zF@K`N*M5t9CgqpB^!1htOrm&9JhuKg-0 zEi%8lk!x0R6`0wKSt5L0_jgFuU}iH)Kk+`7p_OMLS}9jo1ZY$hrTa7um(g9&bH2UJ zmFJ|&jefp|z+U}({P(z>H234<1IE9!!)?57>Iyz>ODXE|j`lq>*DcMLI><5A9vdLA zd~5*w7TKpWIG(aV>lbE>5^6-#DxhWO+@JUbIQ2z6)Dm6u5zh8WV8j$4u(Q#TW1P^Z z$BcnvQKCco8mAm{2auci4w$~KoxbRO_l&c6Mksx8#;E->UbL@(m7%D04SLfo$mtN! z0Q_B30`mgcICA!9-0cm3zX15b0uLR~7eH*7(r;)X4Qw2i6@8vq0#-S~hJb`NkoJYV zQ^o?fBNg%bEQ27uC(Vhf0_G(}&1IoZ#>)5}g12J|<#o+YJ;)HThDAv|i-|^3GQYp$ zY9$Xy<+OC&WR58&Du-1I#;6aiSmp;KzGUC4}$Qz_s& z?|$60Gm}~ZVAz>4KodbsjsU#$KpiQXOTZ5>DDyc;uZa0`L?Ak(GP8-2E$3B+x3fdm znd)2GMnErJsbbuA=2N}z=(z6#@E=EB<+I4ZN*H|(99VBghSOm?DxY(_t_ZV3w?|+E zgEqdteRk1!+e4qF2$}qQ0BneAyS?iwcJ~(`IZkZj?C!RQqM=D>R2)ME*a0B$!J%|O z?H%BIdjH3Vl<}Te6?9CgiqaUPQp$L&^TpEVG=J25ADR>AgHxIYO;;f#Fl1^Tk@-b{ zmoZDEi@ViSx|7~F3$W%#?0cB|HL$v$*le8oB#y4K>t{2-RXLqRQaO_Lj~Wm%9;7UJ z*RtMMPixjg!vUR`OI7w=W@?T72|Z2+5n=&31&ERPQ_@0YeDL;ChP_wotlTF$IByqd z9qfD3l`2`|s&vHO7(00atXSl=J49OBBLg(T04W^V2xX}>vKW+JC@@2UFmf*>B}Uf& z`+G`NX&MSJ+}+X7?QI509v&2c&bSe#EQY`3@AojRA8d!_s#DsB?%!Wc)AKaj z8OBhh!lt9L#LuqT_U8a#$L~TkJl|RcP%_(8GpA%t(=8l$Km+@JdL93KQdHiDf%9`~ z=753nK92n{+Ec)dcRkPNGFHZs$f_de%vsiC=zv#S0zE2BOr`-?SYTNJ+vnueb}?Ze z_|s3oYB4P52`DGjaCuIy;^CR1X$&o>x?a5q3W{!nj!pn-@q3`ZMf~xnE(09K65uhL z(ZUS?=L=eJ0VMIut|Mcns`8>J8Ve;yHMTuF_?%Dr?27iiy(JdPtGir64FxePghsCw z+LK_RiX;gW#F%`Y?6jsRjwrdOGPQEe3=$QV`n6pT9k8~|_jEP`UcVyH;^CgEt=KtI z1)I92I`uK;9O1;m5V0{w#$U-PKT?rKjEd*WG*s}wQLKW6X{`gUp3`S*1~O#f5$%sC z0EQ9?H3o_5ovOA708=RC_!*avH7x8lCjhK0fD2AR`Sm=5Ar=HQ6^_^`MM0V{+bunB zVW!Mx6iMnmGx*J$3sWO{N(+;m z_T=C)-7`f&75ifh7L41tiiNbXBQ-T|OP>BQr)ytzj;V7#rs*`4W7qj}Yo`QXPQA?c zeLv)RYn_It9A_+IXDyc29t0Sl3QBZw&$yr3mW4)vU7ekdA3|b_V94@#pKUzvlt;D| zG1RlWJK$zifx}vg*d~xkgO_S9S+6soR8?80V%)Uz(|cxoDnbKUIBssZnj8Zhb)CgXx7(bqd_v`ld~KhJoqkH& zJ8phP*YL5MjJKYHb=xhn&RwK;!P`6zj?MKSVBIZpF7H%3VFEwap@V~5?VB8tJ=Dm- zF*BOJ(+<^PpJaR-yFlp|rmyAT{loP207!ZNRt^pvr1?rG(*G0Z9dC=#zmv~G-=C?$ zr@prn6Z2G*d|#W|cApCJ&hbXqu95nwF(}uoztRhFLJp76rc%zYL@HSvGH@k{@;L(s zb53=*Bu0muk+b_IX3dQ`FhoK*S~dgl1;{zSOPQ6G+eEQqR9Ys>TsP3<7bGjUf$%vY=d8R{*z?dcrxO zg(0VRR;tC_k_JN$;OvqO#>>@ZeunLu?o%S2wf~Wp$IKTPz8$K^DL`9hyG5`=c(z9S;+2{$hnwOyR#rMGZ6=}jeI|r_~-&YrO z&(1;D-~lwC63Bi7*oyjKE3T}wK`KiN5CAe;P>Rp_9H_pe=l!DxZapzi2$90?7bX6W zw|D4bhws`AgLjV7V@wCco(<@{xKi4Q#nMTcRxvoK+$qrdRx#kk z*%|(=Crb8<(xEd2uAL)o5MzKSdopt%<+%z=i9wB?0fRLE8fBErsafkI9UH0zzTcv6 zgWYxzG!W+j3S80qai8?Dba~f(ZQKv71(GNTVYu;QL5}ft430f+Q)~JuPT0i%Q@hD$ zQvi|f=T2mdpPAOQFx+2Vj@69rmBG;Il!`v%^BVp(LC->1MDWY*A{*?Iy7B;}(j$*}{td@Yxlp9#yukPA_A z0A*1l0XRYCPhgPNYuSF0wVcF-qlHa;^x-N;`XzoT;Bwa&uSe0t3NO7qqpJAL1~urtT1 z2~>Y|>|Hw4KMm~fFo!Vx|6|*!tp2@z)Diz?AHuB}od$a1ka^U`He}2z>{(Kl5GLWa%i$f3jsX7lIx;>?Try!vFwi!qK_wIk> z1v*ywpQu8P9M1XQ3o$W#EH0imM*rC5RJ zU9=r(7f1ySaePzhGd^$1@f=N1i4q2+lB-ooPNh^WNj2C*7Wqp5`<&kjkb@~DNZ-88 z085N?y!wn5(#0Y#?6QCxLyVI_6y9WG!&*x1n9nJ~pENrdm}uKP5z251Our8yFIq9O zAz-O5Wtmwf0+z^qlh$+Eh)0fkh|yt8j?yG83aPB3uZ>vm{9Y(UbAU*c-NdYzrDQ+nxazrVmHZy;$852-7y4UmTdVQUK=_c^qv= zk)^SfGm$--R-d=@TNqwK2qmP_48Uo%bvlI{Y$IzD;s)G|K{@XzY@6 zq$Ntcv<@pCM_r7#>3Y;|H-fC`=9+e%otBZIq8!Z9M*J%SS=Sc0E(*Nll$vYH6(8*A zy^t28a$4E&l;<`!KIJ|1K5L!q1Q`wh0Q=fg=Kf<0k9RrVR6F&$J~xKP)V(=WmCb?Q zu@R_{QUJ~1rXaQz#)y80@zUmH~f2xYn)HbQQ$(|{w9__2s zP5@xV%)#Zv9H!?64Te5eOXFBO#6W2jc+d&>?uuQ9P%3bw@xW`8q|Lpn@UAX59U}%B zIJ)Y`&VCH0r0QgQE-+o6>bG+lyc1#0&{0s_6Ho$>+JeWOn5eW&x`HOWaL6ywSU z0Oyw4Y)p)iXo)O{!O%%GoPiDj2cplZA>LE<5fQl((XholFQO$g2V{Q%SG+`EA{z<9 z>$O0va&E4(1b~R6F2IJQVn~F=MCy}JH@l8l26Hwf-ah1LN{AT*5dl!C93sCH6;%ui zzF!4^ivJFQDum#HG)}C^d9yR63a|g4&$)cvXxLqzvw`F?kOkyOP2UoW=Hd*PS3|=M zAOmK;U}4Cf`YzR_j8TT5q%`rd&(En(i#aoRc$~U|#;iEU4x|9DyHT6XdX7pTsGa2qrD4NZ#)Ggp zBF~>*z57#<8i|UUT?672ro$;sfD1A14{jsx9HxQyeQN&tGaX?bR{>D0nzXI{{7_lT zcfAK%r1?;LC%gHCW2XD~j*jRQLpF&vs&ScP8 zC6iXqp>`<6MHn2@pVM_T!Q;mF_*L7|JU&wklo95qVKG;EZ-B)73X`W$ZO@mopUhW! z^MQVfvU#-QBy)xd*hz0oV<*!3Dd2{b!<7_|s-iWfEQu*mR=`=E0}=rJUskz#M9-q< zGfwGEDIKH8tz}zJw4h3rRsz0%)_~@420RjQVTVqnUhlIJ0>ch?lC@E-WfUx2^-NbCCDJuzrsy{7+*g6$`DeF8{@IDD`7u^c{1+q1qN>&w)u ze9AoexdGt&+B-iJ8CM{i^8NvMdkZ|jBEZiXE`SiSkCW_?kJmmwfMZ-nX5YehDl_6K zh}xlj_t7cS_Xj9G@1s9)y&^gnf+7zm7z@}OOp1tDXkXf{|3vM}uAD>n@x^fw5`&3D1ghB zYk9Y<$-$Z?8=t`p@5$iMOr3FrD0q7IhUYA~hXqqj+m>j2ZI_LxR36o`_-H|zEaLnd z19Tfc7N1x4m0VpTC^@r2HtRf20pQtlrn?3P1lZ^)x!kQ7T2fy3@{$G8*x2DAk{UC> z@xZ@d-P8EIZHQs?u+0FIb2)!E1RftaX>E?U@^`|~svrVmTh0yo)#^FT0Mw4KuC3 z(XeP>6IoNkcg+0Qx9|@qxY8J07Y>&u;-;G6ck>e0u0X9sLmN*OSO&(6fPG1{i$RN2 zj@a$am8lB{9D8FGm^!iD`&xSjP7Z@EK)yYv01bMrNdV;$aAT?;D!TpN+Ea}Gr`%(m z_Vc;1Vf8Z^0~`AQwqtggY8^kvX2fKu4W*^fybyP`??#^;D-%0a9(KI{4iKuuj2i|+ zCCz3^aP*Y46%ERa%VXU-d;uh`a*)RS3WuO;AN4Xv%)ZDzxY2z&x) zMj(r%wMZ(3u1;ooPIVml(p6YWlYOplQtFX_9&cAN0FHrn^3i z)m~g6Rd;lpx*j;a>LV{PpC7>SDce(xu}{T{_z<)xt0uui=RNekPwl${I2^cVQ{cuv zU}Nfhr-B=Y01ki7=?M#tNU-AtuAlCfjNAvHwZOV3N46JmE>J)2&w*I5*r>~*qoP6{ zExnCBfUW`70dN7hUjfDg>pOD(Vhbz^VC{j9(;zmRp~7{DIkF;POti|;F@Pu-8@>mQ z!3jx2X$9=4$SFz@hnOQP#^mQ0`C2xfl$AZF>71W4;KRUA_W(S!K*5UaQont9Nzo7i z6&7>)ylu&-n9nlkQdPMOTF*v>sEW^Kndu--U0JfxV6p)r{%*CP98|e?x3B2@J>T2c zuV~WldRp|yV2g|)0ab$B&qC2q4Ml3DL~aZOusBN^8Xmy51qu&zd@b0}ey{KN{<6V# zR%be_b@W_}0k#d`@93T_7R2U|=hCquWamK1QTwtS?k~c#G1C48Gc{^Z8p;M7MFMaS z;LRQ9>Q?l;H$53i-qCoG6sL~g3ov!J4+Pq5H+lT5?tsWCNXE0FIRnnFNaXeU8ZagP zr7ZA2e)kG5$`Uut1FnlQrD&AKptLrL=6zdKsIA3!-DVOy&{4|LP!zWb9!==c#E4ST zQIezK2m8@y5i8#(R>n==<7MBY@t(y^ZE}*j7MLGSR=M??!I;z`v?Ud;9)LJ{cIs3kho6BAVN!5fOVZ{sZcwH_P#=qBt9VST~mIixfer5!RnR)H8} zlFkMwfzd$VhHg(4MyFPp0pMlV%|L^Q#HaqL0En<0!S}qJvo@6>8&jAtrpU}g zsgeeeO)2*~y_a&m1?_x(L4d{;3&Gz%5U8@=06+XlmC}Cv3#Fjm-{*S~Cf>VK03 zA9I@g1>DF@`(qL)5$%@sh61?qtbG8Syo(QpH2Sf@fD0QII@Y>0`%~P;lfy7#yiOi~tOLAB0sRDKV0& zA%@oVmq^st5P+*CP25t+=Aq&H%}j*8%YYJ)jjDoy6%q3sk0)#Bo^(yVH)Tlxfwcs% zbbY42ro358pTBua=YDgWQ(YX3na=0A9(l?8%?gTGm1Q<`Bz4AGPG9MB#KjdfhE@QY zEiGEcQuLm?$^&))O9pp8kn&qh5H&(8#`+0ixB-*(GUGfRfs^XI_X z8UD-K=BTFKEsH3B*Vdvg3ZMh0fMBqlW@6}at*gM%QZ{B*J_8)PQPYT~ZwJ)|Rsy(0 zgVK;=q`%idha5NEx5+mAykx*+)%SSWwpd-1Kq=bIpM{je8xuM&@8Gp}x``B&gK1_i-;V{UtuT6qw z-1cdE9Rq#<6%-joq<8i?-sjQ^&`C~xr&7WAAoOcuo;kf#v`zc&Xmf;!&gSC?dt+Cd z2RrPILs}w}{jkG162Q^%yQBMYdkZ{&mUoo(Rtw6Es#yq&eg@RX`yMqPt|4ZWwpO?uXx(~-2uc%NPY1@gb|DR7a39}28VfC+NY zM%H*^vRxJBx@-nsgvA*n*`Gd;mRD7A)V#>-8JJ<}i>}_L-)Tuz6cN|R;7YsA_ENhA36t^uZJ z$zBq3z))mC5#quF`7V4hzQJC(IP7I{SRVSYLkNc=+Y6uoO!ahU{Y3tFguA(!@t~?^ z>K+~$kyY70GZ+)eii!vicXM+yQ`JvDRo(O2ocQ}WCF!BZu1}jV4@iB;bDUFD4KE4F zF#$F(Ha$hY-*qx2w|`JMm@-rUwJahFB|I9 zkeK;!L3tMLErnFnfs~EUKPBMgzNPSluA`hE!72J?1X4xsUB!Y&JR}Ts^a4~!DKKUl z1VdhR4Etj(9)D|z0phuuggQNZm@KLF-6gq&EmOG|)S}vaprkaYUed}p1EgUI5w>z45EkElR z=)7H^Yjhsic643uiC*eB%Y7}%iBgo#d-}X-==J6nNISsaQNL~tm;N0}+17digpas9 zEmyf2JkKv?n&f9KAyjNU`oPs{TmeCPVYNhhhPyz|&nKq(R$O&wi7$WtIbMJJE$+jB z+FD#OWn*m}t_NmQ7!7<7t-FDPN5tA%{!U(rvEc(TFAzN$5e#eyJ-m&>JWvr!vcQ&q z*TygbP?R@P0FRs`cNp(K$C?4^n6MoJuD!>9y1mC$RpF|t&{zwk0h=M99eT7e;#bQW zFRHp+K$Onxu?s~JmOeyY)56K0Df9pUAOJ~3K~w-sW~PIppA#u;8;6Qd67h=5nrbG62tW#iq>&n3yDF zwJPB((yx?MGVdA2j4+LiDYxIT{$RyXWeZ3liA!B#hGzn5t-mD>3r@g}nHLzZ>v(JL=*w> zprlB-J(f%A$CfF!HD`nG`vO3SK#PGC3F>qKaKJ)-bw*=;@r*nb!s^)W%6MDL$~wQV zs{OeacnlVt7&M>&E`uqamh732^ju|5)qLMFH#-J!q*_ceG=6PMznAq?*97iJa?{%J zZx{f}bA|z)a8W=a>xf|?Rb+(KVjU$|b(ScvT8Zhp!stk;Fnr`W$BBZQ)ZE|_tJLR2 zuj@7N?YCS3z~HK`;X~YuDJOQtz@OQ@FqSqaDPj{N(ZXZON%qE?y-5F_>~Zx5k5}do^+zXj)uAZ@QivXsakEs$SKiC{XTdWw z{$A||(<&;u5&Ox)Th7H}XgxN0P8$kOv1X6Wki*R>mGy0@*7#JM0BF{|$y3LG{l;_uh`7#0+XV!#f zBv@OLbPE$gWUc@jQV~sn2sv-dIjfvy9p59+lPS;z1BaZJtPO-ryX*< zKSf{X_O~CaohrxnQWvP-SjP+w(SseWAE~Mo0+549O@e2U`4lr8)_kal$-qI)XI9zauKxKfYCU(JYN7XxayOMNL#@le- z1z}$x5_=+Wz4w$Dq^N*qMT~&T(RH(;p`N|vTn}AG;}jDKNkmpw`NBgQ8yS*M!|+&* zJTsO6qcE8yhQELNmX292fwOa_ho+*;$Yvb^-NVP9kdVG>>H6)!VGunT>}L%LX#l7j z0x>E_hPIK)CLDqhcf__>SYYKSSBS(PUcUz3yrYDrIn#P5_mp$8u(H3~0n0Ns^7&a9 zPM#`bDhh|>S;)%J1T>ad-QA9;f(uTVCZQuzZAQw*EjcT^m9lncC2=VL81^VF!I|?1 z;C2IS?|Ggs3UdS~lv{8KW6A$u4CRXHcExBBrR(AXc(+9^Z~!pSXSj;Zj+q;Yo`Xri z`3j%>^3UcOOz`z76w2d>lB1&T|)~NAy*WtI@Ev|`W6w}BaXUu7QGm>Mlp8EGe<6ZOI;`pxwa@E>k&0Bi8& za)~ycVO>>N!;trPp#J`CyTdmj;jfk}e6d)dPT&w6@SIX}DI1+eeJ%#UWdF^#DEpiK zy;`?gahg@;l#-X@(aR+f`MSsC#ayyb{aprn`Fi?JkjHPdp4#Axp^25mA2E57(t zs>jrPp2iw@26}2kxk;{5z!ef+^&Q%j@a5o%IcW_t<5lFGjGxHisw$zUUB^kb85Hmy zWqpKw=8iGQB_^#c&ItikBorlwW5{nDGZyRd92SR6jFcP7SmfMdJI(>MV@HLQX%|MN z%r)zf%b#0Eat+v@uX3F%r`1}^`wxQ@U|mjhG66W`dKDO$1^3&Ogzj>C5=xRH=?{_D zRlg&LkN`284eN`JWb10dEDL6?O7eEeK_bc3ZB>{s0+zs%E(8E)oEUrv6vFiR=X9;# z|DM8Hzx|fLlr1MEZSVPBx&L-Xb{uP`94qo?@7QB@g8*<@ah`yz<>Qn4GS|LuVB^^N zg}HI)u(>K(z<6DW9&ZdeR^Pk;=Af2-i1A!Y0ke#^o!0$Q#L&qNc&6~1eR}}*jmVR5YQN7y%%Z6S77Tl5u zYgvTZa!ITPLDqpn(-l^LggPLV4XWlE@75JIOTD0T`k{=0jOU?ER(tS8u`Uk+dkD8w zk|@9Vt#j0O~VlY4GzC4yj|$h>JzQr$j=% z>*yJ~3b=emW6%#I#Qji8%=v-od&{Ey#ZVOc$RLO3u&1^yo+t76IG#`08ky}B=M5;izij*% zW`6MTzArgD#LLuC8N-%;lD&=~#r{QIV_j8f5*Z>J4kh}!>+qZ14llbde=e*H&-1qp z#4yUN4F)=Njt*%X4q=(L%>xR?v2v3$4<%QCk-pY2*u;q6?soY;0bnhLPoPki-^7To zyACg$!!p-b`F({9$TvDySDNrGw=Zanv=Y%#orb_1b?YTO1ep$B``=H3b#x^aj z`$LX})}8dTh?99{CbB@!eUshXb+C57(#{(bpa;wcqVcrNTm+}6SAX8$uPZ-h#V3SL-wab z0HBOj*A+Rh=h?frd|XBwki()xJ|+Ht;`<7A48#G&L8A>ak#*WBk(53%YBIOw9`!nm zWxkJ?9g*gkcKQZWm>kkC@9Ft077Qx&z&+~&Ql(BpY;ewci7z^q=y#H6T%0G?5m?f& zjwB8nW5~fKiO^Ro;Hsv)Y3nuVLI3uDpx591j+h`kv&n0}w3% zE(x44HIbmPHF;;MW!b=Fe;PUfi*oJ=R$MIozxVtZ=Zz3BDG$3C%X4j9e zl@&Z57vpFg9QZvSxAO!Vb-SX_r2roXs(cbrLQo7)^PFj{#o8D&)?hOL*SmnPyAEHq zxA?m2(1s41Apl7w3*`_MVq_H0DS1cZ$Vh1Nf72fMvOc;wk%H{^YAqgabs{e-BIg%~ z37g)-yO2Y5YGbfrC3qbYd@|U$gtbff+7D=~$Cq`5U#(WSa*i*}i&NMe!t%;&Ek&`$ zL?Mr#S_ku{2m z7ZV^kVn!Z6wf{^#fogB64;VLXO4#tnZB}P#u1G@8)^J)$u0pnf0@Q)BUiiIF2`vm7 zSZs!fhCgpp!kPif+8V4O*BLW1@*c$Hr03ckNYOZ(Kd<4?4g$E&KLa^;eZ=OF#LL%V zz^lRI-vPku*T83=0nb0CoMS+d;Zc1UtX5(jj9w)WSVYMc_R!GaSAM4 zG4j3S5sMr?s|@+b2Kf+?lWHp9t0*h_Pc>ndNk0ITZ9J8G)_vCVJeQ4?^DrYKA37GDG0%FQ_bMqnvs+vRq>d&?#SR5)DdG6t zmU3@24G{VHFW7-0NzrSmbhjwX-u51N@i{R$zWF^fJia53|K{C3a6Sj9>!z6$`nc)7 z6EVB~={g4%z%(a?=pyBZ{PM?Q@E(%G6JT%8?w^2>_jgnQPrx!0i_=qwv_F;joz9s_ zdm0AELtz3xX7==ln%~X;T$61*jkiLJ4QN( zF~FO9;PQe5#F+)|K_L$Rcn$p1KLK}vay{JLu|aN__Q}TMiu){OnIwUf7?+V52TQ4f z!UAw$&;06~Vkfs8V$yRC54T|96ia4g$#o%ucJMTCQqx^3lZ-sLY5Xjw%H}~s_I>Wsrm z>YDEVlPjwFa&u3#%+-?SMc=cMr2sbROH3p$239_XFa{wqsGxubEr{j56N6M;#|go- z@ga(wVkaG1(KOpu&V zFB=!SqQO28;W2K_es2+!SVqeUAcF;<-8c_L z;Bh^8d{H^9nbFZ$10+}0WQ>3risFAnnV4;daw#3!4<6G}Dvv!IoRf3S$q--+xBx$% zp7MR^2S2rIKGZaO-qWi#jz#Xv z=WLQ)k@a*jxQ{d#=8g@pF-{rf;+)5aARP1g}Kw(H0#W=zoyCDiw9#jIX7bekoG z%|2&V$JM8#*Z#vl0^e};mA7v>m)TURKG5d&G7St)b4HvhYx4Yj;5wrN-lIJQ6Xckk z_EbQ^W3J!#TQa_c;+Pb;A+ej;TUe36iBejWOM4jr+mC?P4p>xY z+);+_-cuivr8$%s=@(Ck;Z3Y^)VCPfh*t*F)KD72;rVF50s!m<;>4g?$OpO)FEPE6 zTy!WxU8>1tH-E9Fk zgl*$o>4zw-5*C$Mc}BpClpp|9%}QpCq=1ivm%A4K`M$;9+`hp-_B}SfM;ilGPl*ve z_!5$m66z#VLB`>ba8BjAqj5X6iLyJ9m($Z2NzWz8OvNCRXCH~F5ruIgG<7;}8zZq< zT!qFOTmyJH1bk&Ej7PqEQ3H(yeihie>%fWZ`1xi~N(>EFa35lzOg*y#_R4qPXVY=N z3CL`y>{0rW^ol>GHj*y~0Ifsq5XdwQotZ8OZM;qAk~X%X@>W)-^cH<6-4oS7%xC{ZI4p=)MTRP#aazg+o((Ob>>|jLyg7w5~Zx>H%Oy`Zm{R zX^kzRF1fELAvZp8sEvRo-+oJukX%w;8R5o^pN$yLl8`ck>#76tOj9Z$kGX;eAJ}cl z2;OZ;C#e_Xo4nhVzKnEVW$NV5*;z7W(2YQ}#QMxs&z3Nh(T8-JvlX9L_Q(jpQ?;nK_H!T`ntVFws-M#=p!vt_rNtT`pSMQ=2w z04KHMWaNv&ywUkGdS(!JsW`%nA%@6uNe+^lE7r*zSS(0>cOCHMmsFMKjCHSN3%uKu zgz!2k^!w=g!Wy!sJmQDe)O*YEAGql`Doh~V^q4)hjLpEDRdW{H4`ztp-BIp4&CpDV z!opXp$Jvb^(4L0DF&)I8Dr@7EcIqNJ5dr_8YaatQPHEHZYiwa8^D2Ns?e7bVN_umW(-o)#9UizS__ zlPVZ;T_tF9)^s%v@|t4t0L?%$zuIW(YKol5^TfSkv|%%6Q_dX%V280_7O+VGj>uG1 z$vxs0<@oH$v15Y>C>{yx#tNHmn|I`?sA~?x*pYy48Y=B8&m92H&*`|cGX|7;0@8L{ zz8}!*qQ=O(G;pP!7|Q1WMj7g-XnIuvh^6NJbe+XWic<^#`pG$D+<_c_3vdFnfKd#y z%(1Els#qw&;x!8ca?&+H@n!7WZFw#+l~Tt&vqoyB)5>qAYuh>0)}pcF=ORpsX0d?x z1FnaFmwk`l?sm8j0qrng6C)6)Oe}=)08%3NeMpClhWD#(@S#n6h_&I;2Fe{m#!^HB zP8^sL){ew|8^`zZvhUGYhpWor^SZ{T6)|zHT!q>OT-9|6sj3)c%8&nny*s6{PfU~j zg(uqcM|wxXp6;>tY_uU`_vh0ed;30Q?Nc-zmLR~lFcIZCVyH-a$Y4ovRu2_$p|u7z z4A!=y^~?KP3pVnN01OXzd%E^ZJ`JwmGTAqB+0~d7ivnmkNG zLrXrFCc0{x$cYia!LmWBarBb6A(pu_m65uoG?DQ$z}e_MpSPabCv>Q+T+bSkeHJB& zvm7h&Kyv-Xg7h%DPyt(w>es~u%U>nioh8O^c32n!p%*oBB@1f^lnBCp92A2lD%O-5 ze*qw*-#I@R8_}Y>iJrIH7GOj|7QN>_1Y$0?cch2h-_xt;Q>!x|J)<>T*W>{D#V>%r z`#U<{jU!z+rgFWx=d`EOr2XfVQrRoA4j}-+NdyR&_evs_&iuz_7VL*cI@2uhklbk zKl1%4{X6Bl({iAOy~9%W^XgOJ;u3gPt8N+cqAx8ane=x6cvE*Ppx*+91$+)c!Fbb@ z5Ea<~M8FOSFafxG#~XY@UAu|Et^wjLN#dlm7%{RCOj*k13!BKGGxzioCUvT04SH!lVq}dZO0T=d0r{-`Lri1 z6ps@Ot$}EORSkrWz7L+fKGD3Z{~N>Ls{ZYS9-jBNG(Ok#`)sIT|9E}<(PuNV z`>EQo(y)(hIpOaCBSXu&IS}Gd|MHMzl!6UZ$>|{8Vw0WRWq+3MVv!ruF^&d^1}zL) zSa=w;NVHEFllR3MjzCHQ3soG)+&XTJ>`_9 z&pW=p<;o}wU>L(;ECmp6QbHSjW|`1$#`}~mW9?JK|FhfS%arh|Z@;BH9G-QXfq{uU zUl?TQd|?JuRRQb8*d2*{Q}iT}b<=e#p=H9-kdmdNG1K#8vZklU+6UI4F?1@c^o;zS z<`P0cjj~4AlCyRY|Td0^3J+?ihA{uukP7Ihnvr z4+DDr%fBQi&f@WI`EL}&~{Za$Vp@GTHyAc9C|BPz-n>otyc4LLYUW&>B9rZ zJ`IE8`($tYR9Od4+5VW(!=G}K`so+vw5c}d<+}m2sW%lFqU{|e&>2z*Ymw4j;`u!k zW2PAmKvB$7A}`3rIeY8@ynR;^kj6;I<%E37SdXmS>6l7C5OZL+12#K4udoH$EhiwY z==0^0gyn9>RX*5Y_Fd_tG2}r=sW3Rs&zY5?ay)EXil_7pzPPFwz#7nT2?(5@K`R>i z_0+Yn=edO%TN$IN0;0Yf1{zlZVccST3{bov0^Cgd7ei4d42qJ{v9Z2fl9wX{;PxH8 z7Y2vqY;lg}-FnT8hMs_=jQ~qMat-n6{L-GI%Izm|#6-b6HnySwPRnphZYpGlj>%AeAvhE+B?6asKP1g758 zXKPoX4PjKR<$4HME00(%Vaw-yHF#`>0B;Rm)iu5d7FU(SeN|)a0zM4`F+plx=Po@= zH=TOavPYiZPeFqxV+8PZs#+P%>in)E+h0c9_L6sSH?JT+tT54r6bjojt{kCVph z1Si)NOnM*BW11Lnp!L=mgF5bqZ)8Ap2DtDsLaHdePtz4rq>MCh7~p&?xN)ozV?(Y# z4nNsHZgTHDCZz(r*$0UL03ZNKL_t(c%73r=o@D-ZOJSZdVwA`+KevcXSqD_Iki;+V_0-xVtlwV2mqC`7h>-pIT%cQ37Do1;! z1;``_6K zu!p=&Crm6SIlAcdZ`1x~bN4&jrz4lqzdd%W@AVLpYB2x#ULW-D=jN*N{N<0- zf|igB%ie=1_1ifP?D7-fXFmfj7JzmaI*>Qs1Nh_;NL%3Be*$a`3|nAv&N(0?{?wJc z8oG(GCjU=hV=>S||M(*it?M4R9)R73Huhc$)(yy|K{q#KSZHQ~Mo=jt81 z9aXPbEPy))yxo$3Z5qmf5G~O1`68Dkbt1UM7-VXxln_JYoD)kDs{NJ>)_1R!@)3a7 z?|@B5hETI&HiiK)5(3cfNYLkGge=fqqWei)CR7q@PRp+8*i>uE_~&^io?5kEh?h|g zscPiB6yW)6<@)0FVB^2@+#mjJT~q#z1mJ@If4@a$NF?^y*hEU zrk7SV&AaDo@?P`|476t@wo$67#6${+jE4Y9;z2Py=ZqDiLs^qCvfx$8$V&MV}+AOhD^>kvq)XsQG;j zpyh`dTi|C=G8jRQ6?SPuhU#ftl|#oAhYxm@DQ zL#Q_5UQ$X?S!O~8$*ERyr- z(6fOJgpo|=SDWa%hja}6o2gfE?>Dk{F_Ubr<$dg!GB~;Sq{nIQghx)5rvDe?LZ3?M zPgeaX8y{wJEKnG52Y?~jqGeq>Ti6?NifKO{(oL!gcyQ)sauT8FV~$DV8G}G zrZ($HZcR=s($m7~gmMKF9MzuJJ?k>nYp&_SYB^RLdoYOaP;WGw`1Ql^$!(2wA@CO9CwISr^2+ zI$=ra5_kX!vbrjjJi1PK>xY8MOUvGkRL(IS28n?bCyRAp%BXcFjI3;!qQ1?4yqe zI12+Yb-Ir3>2gU4!q#gFhZ2hIVnO!{6h$fU9Paq}b?n(ohFMGvh3V9wIr5HUI5k5? zQ+P!w35Vik?0; zE39e%H;0@YPw1`xQJMyuv~iTbe}LtY-<$ECHT_;E2YgJw)LL9Siw!fi@_G}n5e94L z;7uYwLn^s5t`(!AhI~$WGV(fk!nTnlqwmRr*85Fk4cbYbkLj_1>{a%G?@FWn)1q+} z*WTmmz6CC3RN6dM$jV+&#=Bp*W&te=t zQa7CIi~$YfC_(1gnbIRsLLWrelh9OgE&$9Pm9nk_=if@mRmp}>7^dJ{Y!bR7t!>M= z=nxdq%kJ*VIHt*3wT^Ok=tQnL--qnQJZ>hH9Ai~g#>z3kWB9m5&CiJY*LBD_Icig! zGd1g(fpuQb3HU_@tk=MQ_iqT`c=ZkGkU-H(NBe^sk30vILwy>i{LsE6O-~bJ56hoJ zOLgkl9XZcu7&CLS;4$opLrqS52=LbX@Z9$}u@BRA*md;GJeOzIj)bUehq?32jm2Zi z#H(XJJVfQ#W}K5pO+NoaGo=62{xI59$Yoj^8+SD$-mam~x0k>>OQ{HCHTVR0Qx@S8 z1aSQP=fLl-$?%Gigv$WrN+}~{L4-ykv{EY(5|bJN?ZeNxlEmvb$mO^?Z^0$dz6g7)XIUB|)CYbiWg?%oz*%j+GDz(E(HPcwBViuC4=a-g22) z{=FnYU7qoImw-E?^Y6CGL&WW~pOHee+tGCd5Qv-%cFBw!QMe*|St75E1yA~9Sb?kP zFBv-T(gLv~@Ah&DeDQ)~eI51xqM7RB^e2g3CHs4->G{S1IQx`J z@vbUjb@Y<7RRMg)A~TmdkGihVID?mchqbko6f*?;W_ypXyDfgRYq9Bf3=lA5BWot( z*LHFfEz*R^Q4FWrpj2VNn0nqw=#Bz3BnG~*#oM~c9*CIFq2u(65k>2%4FP~b?SQqd z@ar==&sFX4qOS0D*Wv%Zr@L6Y0oOxf(4#`*ED$N#ppM1YeV1wz8zi(T;Cf&q(NeC0 zjUVtbL|l7^byea2Fa}r68GwaSV1m+*WZm%|l!r*x-PE%t3OZ=*kAD9FO&d&FsZ1zI zkb$!PHMK-ynCFc2pDIXkOo9Fo{cDul=MWfV$KM~S?q=lJC~x-9VdHpjNpbH``dob$ z>DjCoD{MkQ9R$Rbb23st#hbondFiFJg<*n*RZB1rw?cYDm_k#P)>&X%VvWbxZ zgv{WQ3M?kSpR39;>ZAHCz#zwaJm(ThBh0jtw`W~d_(E8NZOeJSScW)eOAa2eET={c z3AOhd6)tf!G4SL&$qfMjhOfO>jyjEvddt_%>Vr0N<#6*su#iHal zGbm1(Dwr765T@{T~B3q<=Fyv{Z-$P#7$ehcGZZyWIg7J%zFZr6_~%=sb=;A4O7N zZ~q-N&H6gxEU1nOx*t=1pSn4p;&GV@{HM(A@l^es`~EQrS|20KX0LVPXTV`<*JImJ zR4^Ss?v!f?iat^7adX4v#vFOm6UY1w6)m8CL7LHW34HP~aPLW|+)6nzR)C>}sTkX; zO^t2IHE`C@Tx>f++ZPK?D$0VX@0pIsAq8<_xaY*BlW{WAFGf!_N-xLso;DVtL5kO< zs)1Wh7`0l`y(Ti@^fl6hoErb_lZtg>g|iP9|!{N|lZema=d9 z+H!yQ_vERl7YuGJfdz*YMX(Z55y(+h-$pK;tad z*1_9^ufu?K2>1`l<1c)V|9MyyfG(w?Aj6jD{?H!2=do4$*+XF{`ge1AeGdIb@0S^H zQwq60m)-~RISwhtW?xx71cdw$0LiiQACs#x{&^3zY_y6jnK@RUS66?~ecJQ9PMLZ7 zH~PB+<1U6ynp_70=rK^B6nkQKRFs#7-^)5^5s3XTV?Z>l}X=7q30 zM*5H)KUcjj^t_R<*BoAn0&Gn6o#M`S4L zTXm%Xjfw_RfFbKja?^S-*3UVVD*ryl;*3d&n5c_I38}4^>3MZYugw`d^+I9IT1VmI zT}L|Vn>S^z9zE+BJMYl*x0eGB_M<$Lz2}AvCAjl~a4^)UlTQ zFy5Ccl36c~#aXDq^6#NlM{o3}Uh?&^;DSt89k2I8T>rh!J@afnw9g+3f;>e#<-AiN zamsJ>*yPQf6NkEIERdd)@EB^&F1-Za_P|{Qd<@`fMVn0oDK}E^V*$!H@%%aP`gH*X zGNXVMV)0Vv{w7eonMG!D7)u`Z=g*1$UxScqYgjR0qq!T#O5ijsC0799b59k6l*nKV zkwR1eWU8gB2;9&HRA6P_4ZxO?s{Dd8k?o|R&FYA0aSPVGG=< zq_F^Sxu#qe&z_NTB>>3fC0%FNl|8MlO9?K?aT0{u+Kml4@i=Wc_I1h(S@3lnhjBG^ zk?{kH%@Ngm3tBG@zz(#2ww!yT-4c4g+D@yEZYkI!z7P!0R zWTj~|-)n1dRgnVTR2Fq_@M`e*)oO)n@A2Dyd$KX985{EdX-U=$a_}j2C`!YCOKl81 zzpkCl29;)T6c1}LK5F(}w5o>u3r=h-0K~7CHNIFZP-DQa7d8I+@&c%9TrFyRVSxW= z$tw&$posymLWGYIHF{h*M$mWL6Lsw*?{8r?1RgoN8E~t`M#m0AC6+q)$1N+QI5hg<4)4du?2D|`0QcY%vB=2^d zpDYZVpgR^1^_-5M5*;gZT0R4m{=sWd&XYj$HbSipwcm;JY6>I@d(B3AWM!u?YDGyEI~HD@#P?0W2i*r?-_y8QmYf#%Z1BazR6R~C*>#*Klo4$28A-Qf zya!Wgi2B;15RR@J3bGE6;Q=6fM|DiAp!C&}zLRTr9q>l3&l}wDzoGkBak9b7Gp?Yq z;7yQ)o@eHZ&?lXv(1u;hXg>?=w4!lnE?6;f>>b&b=cn(hX0L*+OVYBal=12F$ayI+ zRxWaAiYbB?AjXWK%{ecMD+1QK;+Y8%FhQZ%QPJpBUqT=Q9iTCaGjm7U>(}JbX}2_9 zXFR@AB6uxH#6n@ySW9xvDR0hTN}q*&Q&j-k0-9(=a(TvHDjuUix1HBRM6NK49sgMX zw;cL(+mbSOd(XLL7+~4G;}XYR0pI`{Uuy_l1IqYUHCMV|kB?M3vY{wN*5azF@sdHu zhGU_xy~id5GW36drooNIItmG~5}HD+4FO>!>1dP7?8VI9&`ldYS5=jbi(f2iTvat* zR2BZ}T+zg1#8qA6s;=St9$#cHn#Zfb!^emXUwbn$B#PHJQ{0_JZHdj{QzEb<66@qT z2DH|~#~!sYIJclmHhqP41X=AZl|zGbO_|!vza@`+-EB3a%~NooQzX)aqxTxl~?u>GByO- zHzKj9u6a*Alyl>ulCj6YicJjgiu$hiDGex2*&EGtTu^|GY2W4m4q=7>$k(3(H>PE8 zH!)%p23&`LE7lpBu49=B+K;8$hMNEwI#fmSMHo{)(=3j>C)uJ`NktWD+Ebho$)2d> zxwMZzCjG(p)UW1Dl{$@pJ7>p1Rb;<_8`hS78&jMiUVw^(9O@|*P9y|XSf`uKxKdM| z!^%Me6wp<4tDI+TazFW)iEf$ayBcRX#zitFogMFO8Zg>3VEI0?z9za8J59Qt#;{@L zUgGmC7DXS)P9L?0OSxKc*8R)B&@)*&m7rGXw4M{G{*o)Ogn`C1Ctv-Ew!Pg2{^52J1B&&Rkt1f)HF?+ub<=ifZ2YmRxeSvcMVWK21e{&&7^HS%Oge`1NK( z2ypO#=?gO@#*&XBbaZ_73i6+2i#;WpCzkKQuyP`F*btGkJ_9U(8Ffwrd1?lxSJsg; zrnAtGlry1#Qi;wL0d$NMXrLwO$;NZ4>ws=cm1aTUM=th~7;P_F<~G`5}r9lNCSSNHgzQowzr_}=rogx~C1yz(7hbz78bT@eML zdB3Kq-eQPc)iu`EVqH~eEQ1`(1kyP;3b4VUAnMusNOQxRh#CS%FgEWEX7okd+&Si|6D54`dbJ_fYx;e8bY)>VZyEZ>*O2H-So zMdt_Ez+e*+U>urc@tYoa86z4y;Hm;PL&9GqhhNql&t1uS!Ne$53f#zmRs$}|yY|+_ z$#3$0H+?;#AnGb^8QcgnNfLQ|OwT(P!#$S}Z4T^yk|tv^{X9*^dD2h$YRasU^BA@E z69B2wC6x73N*~Jq_5DsuddfbYb67>Xb^uowCb9rxe54$obMD@OqCi+)RM*bG4I$U!6^N8hV?ro6Pm;t<9}l0A9S4C^v7 zCoGWXpU9|pH=H|aL3>QjJ;7tXT9qX3k~;%H*+4{3Q~EFOgVbN4MX;W=*|5IHb22Ii zk?0F4l`sph7!5h>)hOnye8=l`v0(kcOxC6;{Ys`JG);-`H;r>~0E(?)z#b2j{X(v< z*jTW|IV9t~W7dUb@Ie?BBF~+p-{r7g$;ZMvUfU|bl6Bw^K*{q1;5p1`Q5ENn5kSS2 zGO=eX;Kk?k|9}2x;Po}>7&*)scz9p^o}3){lG8PA%ImaW+5vg2U+?P}_`%zh5yEfp zZt3rnXUy(mff5GJ5om$IVw9j)S3R7DuRXFI&cTrd_y1vz+39|V$jO;}$?yym zcEPv5XU4%Lus$!wu$D*9o&h}@ZZ~%fPFVJEvv8|bVk!YHq=R8#54t0Opl9}mBn7S5 z6A~SP0ur|36>@3>S+~U-GV9%9V?S`YPRsPmTD%md2SCC$R)qXZevZK76&zJ`@t&9yO+({aUjRR=iN(;1;w}Ar!66IE zC>cUI?>&P@gD)|>lAA)$A^kUH!&t-KA?3}&qAt_C4Q|B1 zuF4FNNo7|{BN##n4ZK*QeDU#6OKy6_${9r*0! zWAJw_#`;tRPp{jDextqBhaQKq#mh@S8lO{^>Q7bolrhXY!-={;-h#{+R5AzlC+#uT zj1G|z+S_;RIf}lZ4-=M`of&X5b8MtOwNU|zmBUpmAu66d{shzkjg8oVLNM~*WE~0+ zu@|EDflUJpx(douHOk=;PX;oi2_vLVP$gs|Uil%jIKJR8wY}%-EXnr4j{(6ci$i3B zvHJjAcB)KR8(QvKLzV4}QJ_DEiO9UK7}yYyEO38K!YDVH^iu!|VT|;ijj=dpY4ieQ za9_o7AdC}njO2cEpTwye)L2Oq#sWas)6Y!)d)|!Kq1M;reM;kS89jE6`#1-T>gOnH zDVN!1Af@IpUh;UKao#1-A#;LMKIe9eT!l}@It0LQj+UBrjQhSg=ax&Z#=_2`jvZ@f z4e*O!6i3{vZ%Y5>n$e2;kI<&J$&>*HC_wo=*Zr~EI|xJ{)`JeVQ6Eq2@8C&ayuYV4 zDnK5G&t~SZoc}>E=t$pY_PEm+91rE`ICP)WYaQBPAIsqQp#h9z=X~G(Xo~F!B=|ll zB{OZ$vvcAYo_yStRydu&hkls$H;CEm%LXorG8=e?GdtIx@n(HaIW2YxxQoCYC$+3O zFGOX5+jqdWCSYN?1kTQhhCgCZMOviKBY-8)tpRYQ2NO`LZg3ea2U^Izr`P6;DvQ*H z{+`_cXP!bk(h4~gqC00{?5M)Y>xR7o9U<47x15QX6^XtpAc|oiLo#zCQT`BsW8M}S zI2zOd03ZNKL_t)9n8!%{s~z3nFwm<_$Sehm@c<+c>jO|569BM>CPv_XOZU6&=<|2) z=$@K}b4gUdN6hj7gFP!QGb1Y!Q7CTjfM-ofk_GVib#y=1-%(|b zArxw(#K$@YPb`B(-jhcGpldC-lF7DJR8+o?^%|Mo(sjVy4fS(=z86j zlhb-K_JqQkz)Fe4K&g2KCuBB%zz=l!E%V2@Pb9r}1^HJC)A<{W>8Dg1N%ye-J z9#df!2^E#g;Yp%534;oW=CT2>+YuZgYf8+1B13DF5`2tk6UE_+A<`nk z)8t?yi>kIr8A~6De*Ve~K;OZqfG-v`UepdAgoSRBTp#czqNy#KP@#zt=m&Tt_%!5m zZeqfk73MloBGxvVgC!@aA3&QxpoZ)h0k}31wJ}I%3mD%6hLgyyWS;SQ(q)$okZI7- z7Xv{m56JgCezZ1}2hX77@)2f8);qLOpzcG19l`)G4!Md_UWc}PuYZ?Mt30Q=&583l zf6+k$w3>G?<--p-pBTUt2GAa8bfgdY{&;_oa6=tZFnVQ0ROjK43JGE~if1?_WYyES zV))8lA|3?+zWH`&-#5tlu~H&gogzq(h0OkHtfNG|7i*yRX!$fvDhws0geE2UWNO=DgBNwp^V^JoQh#9l>+GR7#F$8$`6c%VeqY#Gqq5Fyi26j8 zR^~v8X=sTKRq>p}uLjT@m|pDx{Y%cf&V8mZwI+w^(As#}wfMpr;Iq#dY-c$GOR`?T zd&}XDI{X8`CQ zcrwi7ocY|A0C#{K1t}2|6_G(v(EUdR%t^?Ftdm?4o5v^dxr5S&bW3U@k#UfFk^7Tp zDIvh}J1Mh{Q~;PV=sb2+ag@op$$B-Bmg|D^a9Kbs&A}#pe{leDxXd>UX4P-P}xUC)sn})BAsv z`8V1B4xQr=xO?>cry>tW?(ebeLL$D1Zp?um~+CgeBRD-7*y7DHri^DC3SeRkC^iU6F?2j%!GI34pIQZg00a6PC(Q8&0Bo6ZSl8vckqv(e~a?V#MBjxtiE0;V8;}V=6QNr2KcC#vvw+L6&=MOjx7Bb=To~ z2st#xD@IVxj}aq>mKoGKjE`I1Gh(FjuPNcmRjAE8J7db!$_YGU7=5OX8v`B3Hc;&E zDY_m1Irm}iUM;?8&Pi@J=OzCFKnBlpslW!7$-)NBIj^PwqXIVo#emfynJEl~sew10 zm(m}p?B==3n}n|pY5ci!WgZSgsRX0@I1I(0%S?+@)=wS-_5W-LPWr2p@yh+hFy0$w zJms9z{3iO|1%R0XGV)tVDyqRAK*`psd}m#$XeI!Wwd_3M{#kup)+r>P+oCSlij!jn zj7mdct;lm7JaSmKJdfZ@NVR3~%oyPE0{He@;MJ?*NEpvi=JXrfKo7}Ni!$%0Ba zS_0_U0zCA6794^wG7Yh67~SS<&0)m=LIO4&@Qw{wL^iBL*{orSeK0VyAw=>xo;Sdf zH~B1(n4WjF0`8sz+k4>cTSA)+sLZExY{&s*Auj1!>oxH674XRdxCF68wgB!N8{d&W z3jj6-xLlF4zuOUVez638wg%q5qrdw*`U^wxKvan~uMo&Mw}F(2WXNj}+2bXO-XSK{ zqmgG3T>Q__mG2~3s+3~$VJwIN;3ksrx@fq1$CB6y&M*KZW!qR`@|yx`8ABCEhCs?z z80ftKBJ1bK39befo>g5uLO@Y;WU5POjbov{SRm(90RSTk`!H4#;sSVnj$BH2Ta(~! z7W67*ac}QS2uK;mxRGpkvKo;$_)t>Jm5s(-RfQp8&G8lQJBG1pn%2F`Qfa=OQ zCEI%)fR7C4Y5_1@plO!)GJ5>21I>4d`xT~&#Cx-6M?y?$nf{h&-8x?e8AK+79{O`( za0n={R>oy*4O$@oR)7skU`WSo5&@<@S+qQ*v@ud25agbdlGZSI~U;7bV@RKuW+G#6@FH)#E0Tu8TU8_IYco()DGpQ z*vl?23aKy(CSh*x+ok}(>@hPkIZfns(#INP&uqS->9{Fx_xwfqrBdgyB=@W-MpjNj zJQQOz=L_I|Z4#EDhEI_3Cad~U5vUAH=ZcB;fheH83O%SSd?3(Z z%?7oUi+;sPh&RK4HU@0MfHp>K!g#!svm7a&s7pjS7*< z(2L_rs;{|${SVxk%2fdV@u1)o`$No;st)Enz-p`Ty zlleTACn=Hcc6&q44s*(9p29K_~cA)J891kfGKXyALj34_spcelV3X4+_ z!b7<RQa_FkWGt{KD1R4CLX!(MM6i-9ekAp}}{ z0N}Y&g;e6Wy`}SgyQH|k+LaQRx-Dy})xG0tCz~yM(ZwQIa6M>8|GzlrN-Pa<#oe#~ zRv;sCuquaxrO<-F25;p^sgsb3iwhD)=M8XoMxhjKTf#6znG6Fdf0_MY%CrwkaE_i& zHC9gEr->4%-)DwR;>}GN=m3S0Y`4H`OF&R%2=G`fkz+jN9L|+IB7**R9o@4iTGD^< zI#e|o^Wbq_E*ZSwdtEZ~MigWp$>S`P@8y!lv)fW11gr`D7~pWLGQNFJ3f;hoK?8?* z_<^dGbRBZM?|0u3SQXWnOvhB%5K?;B7?fN_7MXr44|ZA_Zq!WqJQTyfJU7ptEPHq! zj41!YBGH#H<$RXMN0J1Zgwft3MzuCpVUa@ck*6 z9FJ*-JaPj3>6T07rSWldzdv}r8ISNZKhP;HP5Ph#=WMi@0zitfA$zNoh139tumU9~ zfm|oVQsU88$mOyD1~`%eMwNjkr6{9#k4-sNWPVCO3fQEGIvUiD=41lt6aDqskurmXVvY(qWPl2**4~0t4&Euffzs#3tXbxt8oxcy@ zs&pJ8oLD~PDjX9XCr0FiheMzf2(Xc>b{UksXG)LFUg@dMgYldZ0Pk3ffte2n*7KaL zrpxcjSJ^SZeXThEo2*;W%OpQqT^GynXa6HJZbD&z<~`YwUXaI&OTMN=*H|oyA)8VG zb1Vap))2$g4~1D0Vh%F{TuHt!P1v%_WdT_h3(^rk{gm{9>ucZ*SD(wFgQ9QD7~rEZ z=l5p1&L;0QOK0vpr?zRb*~hk{*Ztwa&{31|78XadEKWkv?WC$wvPve-Jgd=pd5+l0 zJ~C-zfa9kKZX6TT?`wShp|>C7zE8=Q@(`%;eYD61sa=tG&0O+i=jsZQ&3hXuFGkqW zMm%t?1)W8|auj-!%Uce#7?)?j&px3IK41)TIMAm4>=O9oIU)Yrws z__Gyov7)iBxr$1?Bp@Rz!Zoo!yr;2<9@$$G81Rx9VaW)d5>X>X(G?KIT6z`|Vqpw` zb7XddRw#B`N=WM+fksOPK9-&t9Sq0}%ux8~ImP|Hdq;qqfL23f!NB8JDP>zcR$^2b zR;qM-{6ou7EAIL^O1U~?lyc|x=SEC4o&s9MSUh6}<@s7e&%rukW~4;-t?BB5?oa!o zTS}bRv?tHf-5qinYJB+EIv!DA+y{6G1{y0Ogehm=$62 z=b}IONQnw-C25;vu#p2o%}l zNZ3qxhnZh7}_AsX$64M+4!ZBf;7y{W^WAT#j_ge0Ah#bxn(eynU z(_!r#u4;!X=ZM)+Iebw$D)%eZfNGBG&)&%?5GSu{ta5If@yFk5n*%f+^IPC?zt{8U zF~EjgN2uVI*%4yEp++uU3DCL?kz%fN0!0mA$g>D+$c!qp8Tvd5P_pEGc9DP6rhr!i zl_TE7$bf`F;}VB>MEv@UOM2E-abj>8ALl860z~*!VG}5HZ4_pZt8$%g;7GaHaR}RZako4s zQYqyr0FgC^-|4@G|JI8YJ9i>IO98kCk6Gr?bdHLFrwvN2e@q=}0&Yb93znQxUWJ_i zMXwp^S|;tT=+7n#Mp-UqEjHx=;N+EN)u zSR(RX`Yk$?EEKl{R;>4B-9fJpl+Pt;c}i5pB~+A)a}q|dSwD$5*U=G3kLV8$qB z)q6J9i>v$w_`?G?e$4hhefu#>;vQ;0sB@%kO9gyz0vV+Z&9)6%Ql>kNp zO1yrW>bPww$>;eJSUk@u3Nqzw04>)Km_+ylc(LOeKV3xgD zW1VxtFaUB)Sr?&NRRw_`32yP`D}g9p?gR1s+1nq)Yu}d~9)qVapw+4%_|BFL>dq0X zML-vMhQ<)WuZ?pjOb1hhyC@7m$yMT9QAATBBpRT-(pA96X9P}lJt+>tp0S1$q#aku zk&;-ol;X9DWyE6`6Y$X)aB)ewNbXxgy(Ot<+X6RRI=5sN&#|zsfExfZODS1S9y`Op zkQnl;W2Zu;HQ;mc7-&f-V=91n{(ma#N5}oj91?&l7&^B+*Ew&9ROrclRbYx%HoA^; zdN3=7t6yAI75=I@$N!1%=I0r=#t4Ih44&GWoQFf2m$3vfE}BSQObQVxMuZPRRUDuS z4aMu3)Vb&$#bC*Od4zl@)f~qC+{A?1dw3KhZffMLD~B~#SGndfrYbMO%0OmvY*Nf& zH=7ty8v;7KvJZ4_lI(Hjkd&H}BziVj1w6_LOJl$$1bn%y(WZnKRfVgn!V5>B(wEC6 zezjWR#cEM<7a4=SB%(47+2B5TC_k)aqhsbXV1G~4P3xX>spbH{4*@Ux9xwYIn=rszE@8^o-2|%o(SSpGdObp zj3Iyx_Q8;lW@gMK0dQ>%YG!k2rc)`m9CMl3LlsmG0h~Fc>{tl!d$wFf#nAmrve9Xx zVF2)cKz)B#l6Z^PUF5?Q6c?E*IW&v{!$!yP0?}n(#mg@sgg3|`laludC;&%ZWDl_z zCr!(&X?tINS{&avc_;;jhQe$W9XULssKvzxr8T%SiqvNLryU3s=}~c z@co~iv0SLBUw{7R#OVC!V`9Vpzkf%sg94wX&-Rcm`lt5cP3By18|P06f;`l( z{9T&)>@nvx+DH>7ERKo<4M2!=zaxY_^+0$|nWh&l~`)=<)w&@9lvkNwV~?&)vf#Goya8x+iC6YS*srU=0`tW*lXdr2q;mU?`jd0T4h6 zP|l1Jpg=i^G6X7AKm`;iK>*D_vQ@^gfe&DQlAp0`z5va)!4sI(Zh`wPUB?Z%oNi@E zM6~M&sIivjU&Yt!9nB}D08?{5vZ5(H3qZA?$Vt~x%G9^t0%k|QZ?|JAu8I_G83YA4 z*-@bb$Y3$W#t~JHpo)O002Yct3dP5vqH~C0lX7<_hC?cUTTpkSXx<>x%LfLpx-LKG z$j5|%&ZGE!*93}i9VX%&SwkWnYjQma^yG@4OF_)u#@#IjHlm(&odo-%fTS_F2WxX&Pm zuvHokq>W)U>3VFE0jFV&0-{1wSu{Riv!(G|8ggbDt*|t}1`)0Iu#u}fAV;V-MPDpO z#u`oFh2`l>RarbN&l48~6j5j+U<=~KCPZNH*bE-8`hma^UU07J8dr6V7q-S#ZSm=% z!OF6sD-5bcdsawgjuTUW9ikDNsdxtI{dvdW&NRhxy56MYihX|X9BRyTlH(ML_vn%D zmw(6Pz8(XoW89C7r?1L89O*R~XurG}NSoqIH(>1t+_0Foq*ygv0-4gVJl5W)QpA_m z;j_qpl+bG zw22Yx!Q;|q@N;^-L(P^zVsQ-tH>6Cnq}Clf$79XC1rj(-y%Ru_{u!)?0hgP5z`o%U z;T_O{=GKgL$Bfu#;y6#|oyza#^j$K-N@VA~)Z6f$zMEKoVz0=)r1NzSf&B5n|3^a- z#vhblFM#j#hZ4+}k0S>f#12ZYEbT98zf~C9NlMZAMQcmm>GN|6f}~0^%siE!^4+O$ zV>!0M2#F2JnG`-hJ4rbfz+)s_k9?fw{t5G0AJNRY9h& z(Xpx_-?be(-*>G7^V@F8?&N)>b7UhA5>Vs7n+s%GddEWb0VCbUu24n>eBt1hzf0PR zq@+yiwNG2hs}DS=kxPb6zB9P2EAsF_`WV9A0O(n1!>KBo88LyxSm$$kM#k_aYKWQR zT-G)@VU3iU%caIO^<&QESB2rAE7o)g3?3op7Iqz%4Q9iu>sTC%H9sszPP&dZZ>@ov z0SIBIEI3t07$l1Yu{zEpX>{D)Qn}!Eo9X2;z5&SMnvu>Md5nEA*R{&2ENRm(#$V+lQ!z+~$$Xmr|1rl6AmE2ZVONE5)l7{& zZjPM~tFwm2G%8zy8!|uJ^tZ{z8*{|fJr=!x$M%$?lKL7VHYxy~==Ws=I5{O+VQDI? zY(UdF{#zcOhE?d7TI0s$=RvHD@i+=oM6Nwb-vJ4bt_RY*X%ZMx^a;SKvPrjK8XE$;ZLK09ryTTKF7}&GhEd*tY~%^205gxY1yX0d)ZRi*{4RfIM?WRS=apjXFz^` zjy=C)0LD}E{7`$B`6htAl558Ti5ks z;LDZ-W&hFXDV()fYMsCjs}!1wwP9iw&rI(RpG&}twR6}o>+8$y_UNtAJ59jF%iRvw zu1CZ3r}dty1@XC4wGtk-rK!?=P}6(Wm_}fuQdE*Q0eNxnSOI!k?^(a%`#VQJq!x#; zxBw(p*CBQe0N8qlOJj1ik%57RvI^QEofw&`Q;L2W`~c{jy<;(AP4BA&MM|bcV%`?c zEB%MhU%Y2Ogbn9#4=L+7A^1gJES zQiMZ5szx$!Wx$=!IwT2D*1$JkXJA85t}S5A^fLiCw5I!;&1k;VH3gu=eoIwUDkP?l zMrNzlmh39;b4s|_By~+1ZvWsP@HPKm5+IEjvxg^n1YR0#IiZ_5WK7yz=Cr0(9-|mR^4Esn0!srVOCxELeF8Y&}u;R0mYw zP${pA6WS~^=KxelgL01p>SuB5`?jK0luP8q-8*$EHCco31S80om}4yk;ZjK#phSu@Lk z2WxCB8gjrDm`TLxBb5Tw0JH(nI|^}Y&9u^*&eO2Lae4-vp40gM&0iC!({>r?v6ggW z0HV7F(EBjr#Pf3_ZPIOY5ZcWsp+KJa7B1h}1+jL>-B4#M~XUI zUhkSnK#Ma#qYYN08tg(L2QfQxIN301_cSzQe&^3y1seO9so!nj$Pu?==_wAR z`B8!gbR8ORC)y#R=@AuLuhB-2HtM9c0Tr0KU%_gFuY8YR-nUqqIc$p%Eq38?X0#$OcL1AeO)_v@lmoe=g%0b~JKT16tQ zi1^Y4eCc-hRp;<04?A4dHU68r!imM z(3-r71c-gf`;pA+t6Jm6DctyojRz1d&qL{lhSfl;3G{0b=>IXGu?DMJV;v%1IfajB zbF=_9!QoX;OGr{^^uPwX`!>rLc}vYPmcf;M9=VLrO3M1hBO}z`K{{>(lm}xiXDt1Fl4tN;oUS%CG?aT6=oB|hq`fkea1u$RQ7HRzz zG0o@lzP7E&7C>Y>g9S|oPtLoo>6uk3+g&xY5o$}e++t4EN+cac zjynYSrxXuU*d=W9*dl&C_#(YT1J#_)ao^H)w;iPzJv?AkRW1r6P8C(&*e4ds3Y@Zx?O)~4UH%KpC?ayME4~D1QURL8iY#! ze_yF?avj-^1lESio6^t5%{qdH2nU2q7&8&W-O5@Ug z*U+W1eV4v{*ZX-Yhv=L3KGrOS7_48eE z{>e2Hlfls9etQeN{uYSOfO88lQ6o_c2auDtT$1A$Jn-u^Z6N38v~W8BzXp{nE7=dS zkq<-uS5|xpKC>dcM^f<~Jmt21^A$UhGl~M7v+z<<&X)X2OXpp3>O-~Q99GW^l7Ysj zXF#N5aKg@W`LNwCYgNcC$c9+g8BtHnl>)^tqX#Hc=m7A2YXQB&c#a&3+%a3=e|-KNx8CDF-@U=KP1yp|RFp%l)U;@0OwNY1Wo42! zM?UX&kMbl&#Dp1P%k{VDKlL$-nOgbDDI^Ua_j`4XPv&!Me2&(VQyH-FKA*q1?#kB3 zH31^H3Ps@b1)b7Y}T|41KX9h9=;;C&;i zoZ1$tgz$CW<9eV{sW*c|qYW-=i)B?2vqn=n;U+Rj4FVGyW8eU+Y=t%7i&YA%%3|X? zT-7yhx}G#HyvJYlJuZ2lAYBbgH`xTw^Pm6@nPK4+uul7=Pb?&9B_KiohiKb`{CT8w z5z^R+S!Y9QtW3pyHmP!wR0&yXL!e%*Ib|zgRaJEEgTR3Xffs6&`r$%Et7z}ZET}Nj zu6dVcwPp>J={ocDx!(4AqLs7eRHPL%Bv;ms7;e|Q9j-zkd!XhjVQ$EKl{CjubFb;0 z6ozHm=3}<;M!^m~U^wDvib&}+aB?g#_(R#Ma^BsJQ;TOD{9vK_hO6BP%R+ffbDA%Uk(ZcuOfNr2Dg6|1g)+(38+U|%gBFusqX)zv3 zfP-HU&Qnj16~+CUz52)yN-$ue4_gpCvS zjhh&G<2J||4mzhs*ow!^Ga9aF&9ViWUkP(Xo9X_J(Ls_@1IzrBh!TlZGnsNyJArRe=t?2v}yeN7R&0?}s&=kuTa6n`-| z{Mp@WW}~pvgNT$31!8e5jV880(ieH03f?G%mN&>&9CXEO4~4yyi!pm+{MkW)Mx|0| z%7z{MRH`;Py!b?3^hA+3hP1Rrtfhxxa4>xjRp-MfgIUEbcsor@0pk`{Cf~>5Ca@CceST-3~v$ukiDe6I`A(^u8p9hN6F3=XF#gI|om-X{0V0)^GRq+<0Fb zV*Xvu6C)7#{m|S;HN%LBA$mmu9{WlEqoH@Yy`wcjMQnn{wIWA-&49o<5SXw5F&zMd z1{zCU14?75cl#UIW%B|w;zLnO^H1+rVhK%W^6RDt%6y5hYP zdEXsXIKk77=M>lgkc6m}LITM(kVLab-+zk$ z3p{Lr59K3G&%yBXEGto!KH1(vJ28OvQi$m9)ss0y@7tMw?0ioNY`$w>-ZpafwU zL^wHAhyKQWJD5iD4!^%mOGa23J$mFgX_}3}$Br9C!}Rgvj(zVaIxRno7c}tk#!%Ig z(=*`tl0Vg1zL=w zCK~Zzc# zNdzGZ=umFhK|eL@2m zX6G#Cw3!6ZJlnPmbk*ZECkd5uzeP7im>dc8t1`H7C^{zED44Mj7{3F}g2$+c+?8W| z&+7Z4F|+wKm&lzwUu`HoNhxIAj+lW+9OzSsz+#Snc5#9K^vx;$3qk4jf3n3kYl%0`R}Q!0UzfSrKh+e3SK%b zRAGgv`^#t&!{gG{SQ?Lw*H{lj244aa$kF-$r-?n$svN0r9#xK2td=Ke}_J0{HzaY9Q?krhYaMD+5y@39F1H`{=hyB+>j9MGJf(|eS_ zL!E(Dq43I_nzpwU{XV+SKl1&^d(mS}){W$_l-~~o#FpnvOu#O!n``H=W-9(QJlYs> z<0F?gX3z=Q;cb1um%M)pt7jedtMLFJfTQnIwG`3KNZ>`Fa?DmMto=ZhObR%!Hw_J z#HJ_(O}|fj>Kt-C!<9eY?j|+Dero$jTpTyvrDJPxR7--0J0Oxa=8)| z8+^9Glp-do))b_1!#Kq)TKZ1U;M1rSwa!7c%CJo)AoYPcIkl@LWmuTS3P{>uK(^hs zTTU4cY;Up62DVWmrvP`3@0o*zukW+{p)`&EVnM+kHvp>-auDX`tDGYKV`$}Gb*x15 zvCrPedw1ykhtB)(KsMiUi45p7_@*u1IbG(Uh6=UnH_Ar%O!P1A3w)iQF#yBV(wbG$ z8;-z8l&+y2+(1YvEMuqqG=!f>*QE=5|>6l32e}3njO#M$J>cUgf$AT_{;^( zED8d)T2D@$gN6$RFnXj(000}WaN``BNV*DEQyKvVq+EQfBb4z_Sawz#yq=;dm7H7?3|Y=J3Z)HwI!2c->$lUgmcBTrIP(h5@gO?<-SWw4fTr| zKqbf+bGhP{nP4Q6s<9a&8f)O90G=V8r;U+>ZI!}CQ^{Ey1Dubk&-r+j#y5c>3=FI) zlIU7iCb37#_u_5Zq4l5ynaXrK8LK1=Ta1H~aV*YjwWcaGRh25gTya_6)(5=u9bR=E zfuvgDvy+B{431f|RSp0Mz;7$ofnbJ!fF5O_seH$t0C1jc5($p32yhfkLjhWtS(chE z_ImS#qowseP+=kLzX%zS6eYRsot0REZbAg1MicmT@P$%~Z(AuLFk~pM1$Eo;yO8X1hR*`#4X%n&d z$pH`naLcMQ+X1L{fSCjHitG#@xOl*h)=3|LuBXoiO>06G=-Cbf(6#h?Wyr2w%}5X8 z+YR-r>-KGmzbox%6-o(|7D2x0`&IsYAMMaPEI-AzmZA?@ldXFDn%9B?qyxrw`;$Q? z-b+XOHTeX;xhg70frY<=lj^@VYSW0)4|0BqC^Cg{J|{=6IT-_eXBu$NNX+r{47eYt zv}U^{5TOJ&La``U7O09`J~4V_^Ambs#q%}vY*;c%{?{kK>J*qEQ>$u_lZY8$*`be& zC_6_i2)Uj_%ge>Uhn#jH23=w!6!#!wL|+`=Uld>@CPNtQ1Jws#EI6;RA_r79E!nIG zM>IaE;NcCRcyl>FXJ=Me96b^>@}#44>~=Kf+R$~UB^pI*Wu`;^j^E=TonNfO*01^nq=&_u8 zdv-?W?zZ{)R)*fa*^B`*7L}_iHed?6ZOxG*Dcv?>W%z;hU5uh@Tr6qcK5S`T-rqC0 z#zvfMgk|-Watz%7R2H9~pX2lMb9@;+uDgz?;!s#=4XLKk2F}Z8eVI0RcD{};a>;=> z__qukw1s0=>IfXCk7wua(DBJxkrbID{SyFTs^#GVINc)b+HCMg1E3BE6lDK5 zr8UqwsESEzD7}(E7An2mYA_%W6AJ+FSvw>6(YumwCEdEVU-KhSpeeN?NXrL+q7TU5B+F@M5tbP)sqftRn9b zMf!oHbxJi4sp2slU?qIt_b&m25rEG7ux19K1pexXRH4Ig`g5tpBOuLVP0F&CV>_Rd zEmbq~@pY+c4b2D05MPRWtLh301l>0F?0ix3H zKhXV^0NeEXWqV-8?s`qnrDp#}nA(1zwL<}k!F#C5yCm=Tv{(hRf~qGY5KsO6M>Ze+ z&b6b?;CKAq_r31BwrM|8&YNIwK8pd>GvItl$e*1|Xbs?EMof;~2IyV`cWYocr?d@O zyadIT3Mmywn1>;6aOH*}!kejIvSBdL@hSk}4}hOG#N?27at1=l&(8_a=mKqcyMe`= zSZP~~8>s}5Dnfu4d(UGeG(hg32S@3}NR*ApXD2d(@?M95bPjq4y#8x)R8Qt4j(NHu zN78^gt^ve~Hle_b193PPCz-h*3yi3Q_dCEhz_Ov=?_0W0DG!>&MVUnqS^Gqy1geNm z#t5oPc@f%W1nEeWQ3xJJ%Kt`=fcSyR0gD)_7#A_p_@}Yp`z1Bh0ulzAQ!A~pvK5@7aoL1J&;_-T$X_uGq9bwexI^cd zIA`e`Jf9}118GQ5q^tjRH;i5i!h?(~zz9GBMOR}Y-(5PEEar)V}JR+UNG2~*L? zsZ%%AS18#}jV33JQg8BcEke>Oupwd{173xIo13rj^OF;NetJrxf09NQfW)vGU4H^p zPFspJ>3w7Fu@)4aT7Yv^Q0YSe6bVd!@%689)A#sd*E1`E)~f`p@mE}kqY|x4RIsXo zHIha|Y`n&dg)N;X;NsHG*~urT_LI6oV+ioR?z+V2AeM;3P2cnL<1)iKj?%Q&-czc` z5E6qyfHHt9lLU`zuC|e#=#cbRfC#5^e+5_>r*%w#4V?iFt5sqGl>mn@9q4lb7c^V| zHUWV1SXt5)aYm)@Coq8-L-eeG6)43eF;51j2!OJ*r&!+8wax&BRA4Is0aHDlLZXWIR(>y2 zVC6a~{g(Ub1A!TLEa>ULKgBNM&%2KH;bBy)X!JG;EK`AHz8M570vH1NA=yqEO0pn`R75C{0eQIJuJQ zAmXL784w#JwQlEti-K~t+Y!p%b#(v3Kq)#Q06TWJO5{Gq9FfS^b@d z4G#3og)JmwE%Q;*oXT-giqo6;_YLRN+9pTFP8uqAylu&VdUych1FZww-FU1$&sR$< zj%5sppa}n$+bx$vr3mwS@Tm-Hrq3UC7APu8|8Ha1TP71zf+OOYA(5T6!)Ymp*XU`* zm+^OG4L;09Na;2lnQfG!lCE08DwN+fq!AqrJna(UMjb#}%W(RmP z5Qwof7B6NqSVfGGTOWZQDV2h#`sSTde9C@FYnh=|3bFz~QTitv*&zbo=eVC zdV&DIG2#>Fup$p1%Yw#f{7&TO zP##yNUs$Hd%e!rrXyS~ImH$h>6T^b52)P*Xf>Seut+ZiBOv=c%5x_tohYQ3&Deah2 z*Fv;?GRQNo43eImR#e6s6f;Sso+o29`d$blCdeV}j--uJ0AZyD$2k3n?)O#KQMH^9 z(1w7UK>#h9H~;Nofh#FbF1Dce`8f&mRO}I}4?F7s4%(V;+Y+!K_5kmT&z{lVBdjg4 zAw<;kSpL4)c}K685S6EWoDhiV==vP!5e=!=_q^{FU$swjWVk391^OW7Eqs=AA_fjXVCyP8>B%2 zZyfNKYf72<{pW-?Sn&M;I0J=bf}#y>F;FT&&w_^ok3|%LQHkcW(-ezmEI(u9)BxU) zfC3;1`^PIyj1w96t|P~=kAQN(>o=5IaLPiYZ|*5d|Lhqt2C539^bdd|kD+kTk=X-v zomnsdF$k7tOuuC9l7}5_q;EKv^35A^RHa;$on?T*vlW@{Ulk&gpfS)YZ_IM<6>Fg= z{@Wl7hQjy~1ls#dRh79Vtb-Ua0uq&?ha36(iv|5Zba{i8bs>O_3i&qrehFSFg;cg}h=7R{xp3c5->QltL1(Ag;3!qwm7+PT4c(8eXr5Pw z=W|ig%M_r9Vb)4*bE*$Ozy=QyPEM)M4!|zZGj6w(N){ulpNDL)%$GEd_Zy&7R9$88 z^zKAOz{}!<0J4)g(0SS*>x$A>&K5ME?(UfO%kLcmE|=%{g#oUE$A8+kWbkNmsBWA` zt1C1SB%Y}aS`4r%m#mbQwIMuQ^i;;u2L=!f8ZjE9C&vl|lt3!C6yxqvagPXp~CgfQ>fn1d;=ISt~#rY@ADJ4s>rc(OxX( zSbL9~zGsKljnV}yL|?#QWo(L|Z+yhs5siK0Jw7lM-e?aSRN5vsA@KL<_ZATi6kL=s z&gmDYq>{{{Ni%RXc1s#Fo36uk-{X~|RFYM_zzvK1Np*@F=kRj3!`gfN@2@v# zqsLNL_;k_W#mw>?6edTN^e-AiWltN{RiU|%oq7@zrFppFwR7byr5Md>S}PRKPcbkp zXk2{3Wbz)Xt-^Y|9C`BXKo z^da|BjzOA>s;G#Z!0yni>q^q?$`9( zkF^rmIP{&}j_ymxte52+?e+Kf1!y4OxAgbH<@?tLl;VtBc_x9MgIw@bz&s{*;uf7J(JF*$73OIib*ab6u zLGxIGBxOa9SlEpK+3PZX08mu-I_guG_IqMnA3pT0z=wC4x3YH~I`1?XH$7h&XilwU z{>a=saBfK*k+B=P%!&^YuyeL;2WA+7{zV`$icrk6X?p^^`ORr?{21H!0c(CNKu?Oa z$nTT;I`+FRU-shra*P}&^{)+!RP8!I&ydQprtg59s2+6e^XG*4s;^0`P@MDf-{5JZ z8<@F~q8gmO;!S?Z!8t|7i{X(3K!z2aekom9e5 zkM%)hgR5(#6p^$52|zM=HtBD?NXz~A4wy6Z;Pq?zC(f-@NfBqbW@Df#epUugih4?4 zC2A5Z(^+}rKU)#9nYr z>GMK26{YF&9Z~$8RX`F<90G6FjFMLsaDNNjvWCWdPH9R?Wdl&6aLVNC_B|O3iOo{< zMU1J+WIxn_Q(gj#i1uW-^e)fw?UtVRo6T6K!~iorM65QlVDL6S ztGbK=&@*3Z;Gg+`8|UzUc#p3iwsf7!U=uuUoWsgiSeY!SSZWIZ*}+;eKz3P0IH~$@ zAWgx^yN4o5D~^oH$5>?&urX~7gA;A=Ie%VJWcsSMxU`lWF$OwTRYjT@+NLOVVu7Rx zmLZmzHdxMPSjK=WN5Z%_ZeRygVHqghV`+S<43UIc*(hJL_Cu2>?)3Az?^87uq4k$Q zibKSb87>V}0dhPJY)E^I*&^Sis5;;{BHNeN;Gzo&`GtZn*sB`ff{lCo$kZym^z@4NG=< z|M=s}V4 z03d1dguq%g1{)s$Ra8$2`Pr?#r!usDz>RYw;Zp!3hn{{P2T3H&X!Oot%)$`hkH&z; zVO1Hp5Mc`&VLB#<=F0T*R0+sbSQ<0wD=}eKJocM`#(nJ-tPhm7B^o)J7#@}Z3Tc1Q zby#{2%x1V$8cijvBZI3^%9=)lkV-{Q?};kIjMtu$l~EpR&HncRGh&s=IwRF{+DM|Y zZ3y_(&hba975>G?ACX2cV@c(@cG(RQ%4Y3bf0G$RNBJkjVyPkNhgNPyZ8Eg<1M$IL>c01Z| z{E&|ejCf0g-wM(nIBJ0G6p9`P4KxoDN8Q2sj9W)w(R`j$a@rnv_%&d@rE|76kdu+i@q*udPxCcI z0&^stWHG1yJ5CQeYjXORh{O3n2IOppRK6DsZn%)=N?@Q(Qjx?E^2~tR?dUm5={fH+ z=+X78{o%6XtrP$O^*FU_AtjFazRZk{jUBxMVU`WfIgeqP{vu6RxU3ue5i0z7AMhWy zH`#y+R5o)RfTcB9nF>oyX&37v*VzF%Qs@Do(8&lCK_yUO%4j>_uB}dLzrYg!g8rZtt7r-m7M{`Nj*p)PLrchrBm73R^>xvj0*IYfJ6+MkG5H&vr ztcL)rBHuSLE7s1VLMytcg9Hj|-xsy!xDDq0)>(7+^?$iLtA_@wvv zY+mE48}Lc*@#(`3_{m4aIvd^~mE@MSqN)l3J_c%|0aQ(ZNFVWX+v2(>CdR9-V_<{W zK8;e?L}Fa5L%?Uo;&Q&gs*bqsdtB8uUNm!D)ipl9pcIo=TRP81ic;u`F#donN2PR5 z)8V0@w4=D^z`HY3JDS)Y-O4fr$c?DW8v2Gf8_YgBzt&UVg7C z0J%~VLB0=7eTb2R05RKBz|#(&{5|P>@&DZHI?FLZuaj>)>R+}%_7@eo&h5H-8rOcYC|BOKtPu5HuqOR=oC1S>wxElAsvX@ zdwLkNmhPoF2dX*Hv&|5PaeC0ZYHa-2o3M5E;yDVC3Sozusp&mzd*E(I&th)!vx+{a zXqEA)W0?@@$aT2=?lCx?0uJ7Fq8&S5`aB-^>>bYe*mo2!tl#xqkNy7Cizk17OygwQ z-bz$w^0)ZN_&xUfL@X~abh3#F1ul;BJNv?su4~}L(8eLYfuMkuB1i7|b6OPpK$Rwv z1_fy2aW2!KZIHdeirWWpY%qZZ^N}~VWjyAygmNvGB zmd1U~OpG;eOmn6LiUFf50trMc6AUbXQ$Zx{K{4tp8V{$ZG)5;4AFnbx@0nHM9Eq5A z9WRP8rx4W^S==+wwY)gnLIEx2mORtxPd4mfZ80a24FmxLc0)Fr(%gx8ffsEK*(~RC zer}#hmo*FeyH;Gaq-#g{k5=pZCq}==Dgz<*p}yre5%PC?xSTHx#Kq#rI;MRI;uE?%r@J z(}w2MX~Xl5>8W!`ZR7LEGugHT-Y8uhgZx}rpzOuq@ju+&;!khi;A<%ptrVrJ^gUL_ z;Kj)aRvJJ}Ajfsz+h zPt`hFAFy#WCQZ=TM2^-+pENnv9LW}DL8CNU9kA5oj9X4qNO}J;102HU_&#k^eFNn5 zZi?zlZRlY;GOS+icKC9)!*$=|4~4-{SL3-VP8P4_+sy`Fy8)XBY&5SrLE9tgDX>EWi9^6#RWb;KhI-7XHh=h_dYRq0DxEUd{4pz(uqyu zVt|`4c}up>p)@OiQexl-G{cZSzcj>7Xd*}R2hs$&aSor%=U7!DUP|dzOV)|7#hTS< zjirv*Xr1O~!w#oY(y!ysj>L1BDG_5brGz;_ZCpZm#8g5dI;wP0L8xF_#WAy^92-gL zaWN*njE29q6zz}V_?4k_p|#H%Cx|LBo@@y+8A>U+ge6cR1l%}bL77pyjZ0}-`yj`( zO~H*c4kM657-f|W^N9}dz|!24%o4WnmEi7KnP-Ygzx{woj#Wy++>8E6YKf!0e1jHlXAQffxjSU=6*7`u&`3cS%9rx8s!d0YEhYxSn_?-=h660LR+`0RN@7cO8>MK*6zR|E}kL7XajaJTgc;)SUqxu9DX zD?MLinrpiS-h4|xYXi&_MO3>TFg!4*WHP&=?{lBEW{n2WCapPwp+L07IdAj=mhe=i zdkOrLb50DiD8OtQ8KZ6sgpNV12PB%_Zc7dn8}do$P&3;mA{%it&Ks`yxeq;^!*$HQ z(M7bZ09sP6ub~oMGFMCm+&>^`kUX@&$rgD1zyLx+pW7Mr=k9?cB_1PjS1I3?)X|ZF zg!+_f&5J-V0BEKYEB3@(2Lz7L4S}BF?JY&ZYYWUj=6TAMdhQ1xzR7d=oV7(Htx0iz zD^9=YnE@qzs~hTHy})}P$|QRo-YoH3pnVA$T6ayP&#SLLPKF`7`)I5D^uaBuCb~r67ZDryHhH+02?Dg zIlcdxFnzqI_ai7I=A0}Sfz!ca1t^QFV9+R!YxJ=2uu%groN_YYx_8(FkF^u0+wY|$ zkoE_KXKr>|Y#1C|itr^bx$V(S?&;m15i^#R2b94@uTI0q!tX+UZz}n|D6&mlrfxAHuzkkm7PpV3mXFxrJ!pbv#ci~;;Q)>WB@j=QTd@! zB_(?PRFOx@0n^`qadwJ7{^(;|{{7#lJ^kW>9Z=a<4fY&;2@b@F#H8G_t$eXp6-|zn z<0V2b&a1F7f&xTmsf^sq`GQ1*UA8SoO&5JR@N?8xB{jiW_L3ZW^*X)Br3D{k}NK;E}C~DO+38 zJSo$E%YVYM*>UMsYcVR{Sz>7=t0G2b#+qDJs^);1XW(4|D+Aj(Fnr7$s0TW?Xl96( z2#~ea6p+(vBL}d24m`!cLg_OAz(7C0;Nn^C&o^Hc&#LrWxr8iOr!@4*ET`G^eZx^~Vel`XQ%EmchPvXuo?5j`!J)qF>(;fO#Jd{_hIl^Iq;n z<55-Q?{rRCEOq`T!bn5lQbGgZ?r8z)G_X7+a05Upjp|h104jF0pFIb@{U$p--W1XI z!a0*XV{trzyjdtk3$LxlFR?b{IN#loV)N{R`V=E@%0gJXU5>2II4|*oGZw(yWpTva z7P#m0*_s(3Tdw3HMiFmN0QI$V*{CQhY-Dj1>1clTO3?zMLyjmMiWZC*3L$T9F(U0+ zk`8ct%LqP~8J%-#%Y05_I0N<5@G};QyxdD|vok#OnHi!K>u{)XWIli@wtVm`S6%@K zSn4{8=-=Iw7^SuJY~E)$@4Q@PIibiH%&#yRWs^S&&H$WXFQwH7z`d5w!~0zL!KX{3cHA~#Ype9 zQe+qczuZ~|jQo%dS((>Do7Q@)DPS}ZY25z!@?-p2`+#5eyU{yv!^ZHk zs&F-%;j*&$V%uWvD9U|l3|`D;SZT%1>_CE=gU6V$p^rvMtAfJ}upM7U^R z6*D^mF%29~yw!U*F{H>ifbY%T03HWPh#_LKRs^qQ*L{y)wJk0x zgHN7uN}h`}?#=;ykL!mPzq-H2zkk!>A&{oVMx0L&h_hrJmsMpF(6Fiuv2bRVbT;Z4 zK3y#GdoY`^;HgwUlEFB^C(k_4_V}W0(RxSP7Z`&%he{0-h(_~pT1wQ#m>33<%Chku z>w(xODNSff1!gwfuO8@t&zji?r~|S%Z}~nniM^3L5bo>v^l~m&eBMT3W0ZiPE{>m6 zVBu#`Rt6be!zjR0x=UN6OO<0+GAOK~cYVd{{nD5OFqHZirSNEDB3vkRceH3)lw-iD zM8PK(N2^&ALstY;6(Gm>{_=IL(pahzC{s8#+68Py)_8oCaFOU{v23Zr>&f`1P1(OK$bd8iW3|WI*QQ0E|q_V2Mc)$0U z9LS)*8}_dOkDXIbuKzCIJ$U>(^iLHN^r=PhZTs{#{r$e*PsfUp{KWTXMFS%iU{-k|7w z(PzpbbWRTeSjV9N1nQdUcy_#TLz5Hu`W`ra0G1aNL2fG2m$0BT09B-~C=gP-+W|uj zbTgot5yNE35%jjF{%r3Fm~rgncZ`w`9e>V?LuD|kBkpDVL%t6k^Wv{%Qz-7!F`yJ8 z4PXegp&OmS1!HnF0LVg80W{9-9UCOyB9)$<%?Pkj3aBG(Vl}JxpEjB1=(vK-tU?m6 ztOhc&D^2$%PMzoZbH?Qm0|Og7iTD7xy#ux)4qNBNbr{HLpUud@3j^oWde*dvS!*Kd zY{+TuLmO!GuWLYazm=lRSLl@|Gs;uFxZp?$M>-bFBsf3IMv1j_P46?%AthSDecH8| zbpsHqVYj2IBikKq&{Cx)G9aK7Qe-~z^OVq>Hu>56K!AmFfOTAsnKd&Ei?lgKx;S>h z28<;-vS9+`#8D`IF29EGVk@}m_HJ36-pU_4+4deHF!&;y7`WU>&c7(%5Mf-!Vo zyPnGr`vTyoGm~S!po%Lc&DjQEHsJi@pW$EMJ>X{7;pM{viqJCig6b4Xxq8K|)CAsbgY<$2q1368I zAhL#rRR9U4R=BJ*0|z~WKFCo|rC^N)ptRGeng9SG07*naRIxN7*4!nK<9z@dPd6Hm z78yu!%;>oB5r5il@mJ2{e{B}DcW6cH!uYH!zZ+`s^ZiWGWIXJ9?hb-t;Q5BO* zTjSDNEDZ_3URD-XD_m9;IpSP-MADenZHJWyM-dnFPIes|^%WriRSnE~e5T$2u_Y$Q zuuZxq(o!l2rhv!3hQr2niFG1PbUOfIx&S~^R0(JURqp}7=?f2l3aJW=i{u!~IhH1~ zNLF#2J|O_qW-o#-3=bqQttr_l=^SG~r>v~f@On1|H%g{P7WFkFU_g*1%PC?FN1`{Z zGqO^eggv>6Pg|T<&OHT3kaVzsMh;|0nW`nxV|GEY28IHZ$E9T^hprM3Q!+C4TF@XZ z95pJ#T!L5tX$8qWuicP<4`PbV&}f4fc7}iXlaEMm(-8C7|YQNlPa zY^U-Wr_YQ3mra}jT6vv2zNH>~>_| zNs6@xj}-5z38l3tt#45zM4$03dD%Dw}gowELcqm2VCyUQ80IJGPRQa!5+{^Nb z9N8S{Yt%L~HKYc;uqr&)FQ3ne68OLdk_ehEX7n6ntQ9+B!tRiMNIAn4x!`M^)|tY1 zdP)XS2*6K%LicxnPssf9=j=rLd{4F_N5AWGR3h>Z$Jf~H=zc0oz)Km?llktsw64rA0nW<# zslim&Nd#_SO_vh+7f?95qxH3;^1Y7PC~a`*UI5@`=#m}@05tsG zB&`GKJGVdCY}4oal`8_L;Q&Bpa{RVh39S72c89;{I{cfz3HW2J2#5>;?d>i8&u_oM zFYoVJgQCKfF>s&~y;6bas;;?;O_frLmWH${HX-1~(|rnR-ve`A zFQm%S1-Ztb1>lRe#jCD6sILHw(-BfiNa5hNJ|yOV3z39$`5Yzds61yYsS7#6#dCpD zTQ03lb9?O^KB*VX67hRl832;F=myidK>*q&QaM=yOvVfjVw>!<8sr$c*0E+M0h)2j zhWyL`h5Ua#3|LkcH+_#rMXU;T*i_G>Oi7^>lL9D;EIt~G^qZo;H*P>v0XGgibdjfDY4exslaFokMDK1)G<6Z34WA<$b`=7mQEA6MLEhV3c9XTy` zd+a*^2LRY+Eg81cCII<-P7E=l3D8iA)|%Oj5VqY8P;5(9%mV4U45&*#yeGS{)YcMP z?Sa|Iqe^B)OV5{oYQ=UVgX<}IqQSf8R&>H3*Ya0(!iV7nSCh1E9{57-h4-< zNOe^0RNAq{VJZ^2H<83ajQih7Eh6P#V|?hIF+2S|o$HawaquOdI;~Gpjt&^|qwha* zeXVjN{n+=v+jA=~^7y&JWc>Fw95eoV{^ImR`TW{2@?CBQlW{yYuSyY7AUjoI#S7@i zjN~?X!H;ub`v9!JCTBxy0ycI#pjW`w1Ly&F2Yk?Ql@4U5R2u*T@N5bA2VnS+L=6A- zD`0WX4ugndXBxIZ0hGw`BlBJ*iIQc29s2Do5mMkOaIr7_h{gfOGd z213bpsp`y7k@9F&mH$}=I;wgi#3t7*a+f7tMhtH$Uu+e<4?_I}vaZGL8wO=K?Pd23 zaH^>Sgmb{_H#9Ha+-3HUtthv3+X3@adj7p4qd^!rhL1I@{Si3NRVj)zC18*@`p9gG z0A31Ij-uEq147O*6_&^2Z@=R2^1Eud+@MzE+*h0uBWr2u1CLp|1;PU}a6$$@H+N*{ zG|aGZ1MslTb7aP;PxA&?KEuEM=x6wU?sxdlclQ7k+NkidcYwC^Z@wTSYujR}D=fPX zE(A2S!c{%TWsIo=W*Z}}z>#BiAU1*W>&YoLxMV@LRtQk+v^Cn0bCMi@LX1~w-meq^ zO|lLP6AM5pJ1EDAc&kvn5jf(t!`cmKp+>0$8%|f)OdL{i&Nd;U4H1^t2dl`5cHEDq zs<6@u>tR3}0)BqB#LL|lH!K+3Xhqr&AOY1z1=cZ%G`~Yc3x2;*R#G{$Bi3cgH$yMXwo`FQB^yNEYtZL5V#?!3@>*M zm$ij82F(!ARLquOeG%|>W0k>`&0@HXt@!z|^RHyAkDVA4)A=CBhz7^8cEo;(8cVIQ4s^~oM%LjN&oiqtFjAf`mo8THeW7wPNLvCG zORcc+!WxN*xzcEbt6KKwFgkxbag1G5xUw~F2FK}jCHqAIVSw`hdWwI1 zevXrq6V_Z%v{y$>j7isL`%W2pZ`<7jtSFpp2~dS{KaISf3XscAW2yo+{XbuCCuN(( z-YoWF*%xH3jPlvxM@fAs`cr> z3M2pPx}1(HW1$V%eM$QwAL(wGdQNvyWeJe8$jc+V-FtljuYrznIY4DJl3!BZ$df#p@%&^-`~)6rcIF6 z`#VBV#ldte8nu2^zhm-kaBgEd#8kW>z>$e98r5p;>k}P*r9i$f6#LF&0BbjG_`a6+;A|=PjFd zX~;Z#p3f=Qm1w&F9L5yU^-0_Aiu4}YWFrfT&IzzGno~p~i-|@uj70cQG)5L4orL13aL8CuFv1ohP7Q7n6efx&d%|#e)19itAp#Hp zy`KSqz;EC)@Bsj^%s>P~pa~QpsFj`C*~#v%sLb?;aC0*Qp{i!;o)KBq@435cB2}3g z4}X}Mo2ec>dQ?hXiv~+X9j6ov`z^$gH5cf3L#hw&z}F?OQK|tuj-sV;f??rRs;8t~ zyzri#?tqXfbwNOrWy*l`#l|%la(>{X{Sd8`qCNBemi03}>0115zsDDc19nry7l%D= zV#Mn(At2(@t|Qh;x5nq|9-p*pDvw(N3rokEe`kG?-Wj}M&@zNfC5fkq&xKXfwROD* zh>6Bd#=7h9$=H>O7s3GY#t_RUjHNG!9Lw0f2@`InfHxuFg?nfMp3{t(e}>aWtSuFC z0Gb~gUMn`%7LigC-!#l>vGA@|3IQk!ambWb;aP9!W}@_rz>K1ha{iWejNjhh<2U^pf!CnV`yPLJb%oEbuBupg&-Rb3C1t-@w9IL-Iz6Q9x5}|C z00h6MQyAnmsRF0>RDH|`=RP%t0=(z*d(^qtKVbe>;A7!n>GRE;>ZKEDt4*cXcnSCw z<^$W4QVO>0KO9I~t*UL|Sv=f(6!Gb<r;ynG=2Tc+ z=}v+#GM4(8)WK{$Zq`*>pj4o9D5<$zt{fu=uKG2wJ_6TI=pHXG>0iu1RG`Mvk(X1J zbMsG0J(hJgOf~K5`7?UX-n}CrWw%3NkAxGY=)Y~7`HpJ5PPHGx@BX%6$+vBpgTrl0 z)$>-Xn(A!x_p&y>AK*B5j&Ir*CM~}7&ybe$&$`LRC%KyZw`GyU%qpSA*9`!cET4R& z#p~HqT41c@)Qki0_G|ilZtVo1rKYvQP1v}0&OaXu+r)%QP zT8sHfetH<0KF5xwWuRcaX0YW;p#2EgMqujzux3R7QQ#sdvH8d-`4oUdCKgIe09ZgW z=fx(#Irw1kVQNTBNlI8bM~j2IW(G^7`=7Wjdj>npe4HFf&q1gzvcUi-r6UtZ2xR;U zRbEGD@HnVvz>x>Ocf((rSP-&Z&m%v_K>y-Ik%v7SDu%O(zq}z9hp;>@Ry1CnBV(-N zsyW^hI2AKy3hv@Wdq-oYMK%Hcj3Gx}D7SzDI2O?lVMU1m>}t(vHBB`Ztn}lFep+?R z!T~Sv4VR$g4RqbtO*$!KA!RzG=p{6c=5M$FasWKDQ=A9PC8g4=SHOW8G^N^$rDwx{ z{$8m_PmCya$(cGq(OK?rF~%>`fTxU*K7R3 zdu-bkUbY^=I;tX*fUR@bG;MLdi{PfI%!0lEWC=T|fPjGB9PlC}1OseEq`7G-V~&CC zm;D8cUlIVYZ5(zn;Y}FvCXD#qUQ`$odgl-lv2%7Q!COiN@e(O4B?liytwTlu@c@)m z6mN5>IP}uDrCLdEsC@Apj%skmmRNdt!kdW;VrFzZ8 z^Hd3@riVa*7P&o@GNnH!KXqlK4{b%~A`6(Qz%3Dh28uIxu7qy^NpsxhTi*i-{Zf$zQ*SlJ^Y%14d<$ev8>xM)OE;7Ui^}w zpa2)K3uYph@;OsJRvpoD5M}%DIdt_WIv5{U`w^!8)O*vTDFDkzvto+?b$$Ji?`Kr! zyo{%S)M7jF{v}n!kO{=J0yv16YG#mtpH0hsA;gsi^w6vfvo)HUA}fIf*U;xpoiBya zU>xm_UC&?!vouBqv5st?9Rj^C<#6S`rc}kmWv!MpN$V;D_`&`ob{PLmU|>V$6|W11 z?VA$FHKcJDnMoQVU0b)V0LNy-DbNh^r&u35D+2_cVhelE8M1qOPC35lNEgntPTa>I zSMVc7a?Fp%AJ2_liaZzl`#bE9kF96g?wI{tUdIOpBhH=b?w)Ms!=6RwCCHfgTr%gr zUC`tE)!=x5QbIXD-*O(u$q9dlW)`kS8r$7tX8^=PD8qw>If zAp=k-ZTllRfJfeV0#^$OffnGa%c{*00&vTwqnU`wAr2H!zu$JW7(RJQV2CVMt^sme zH*m=Xn}}XrkmQ(Xb1|OAvEeiXfbs#?J#AXLz0JVex4>5;r3_?nnOROn+25mxBxy>& z02tQPbOFa3nCZw-4}lCoalji-_t#%=>A_nGG03mq6!Tv$&SC zHKhZX8)RZ+S*5X}?^%GP!lpqr*47NL>GEm1A5Jx4$E>;JtpO$hA@B5E4w?xP}B;r+`qH1@m>o8v!{;(}60TeEWUq+;<gi1eKuhFm9RnI7Apl$I2z}Ag4_j1NYrNR|W25T@VCS4iVj0cW>{jSVK z1sK?jjdj@i1}_?q-hsf4w#9~lJkLyxjaolTMHc}#bPA+gh;G_0;8Y*vOeIuf#MVh# z6^+rG5V-owgpe(z-k2(MI%Cf)pP94wpJy5xr@)eP?IBpQ1TymMbNV^=lA@CmykQ|+ zV+#9A&!G^xGLA_AB7B?!O5QjE+W7ev7Dw+aesgh&T{z;epFF{5PoJWcb=CJNg4XhL zR^pVw2dmZy&EQCQXy+{>&w8!bKW#2!eileSmjZrH*W*K*1~pDGK+2w@t~ckp_sl@) z#kGn4k?egfSNjqXW1un_oaGcDTY*hEme_&)itR-ej4Od0TY(cvx3z}%uuOZ~IC82t z|1K%IA` z?;;TTT_(wUOZJ>N?t8l7{pUQju-nJqpMCZ{$IAGy{`{sJMcL^1yu#eT6`j+q_;1$U z$jo$TSV3MW=TjhOR;ogXBPi4`an!>E9NyA`m>7U)Jc&(8iA@n|3xO8I=g%m*d^iC6 zTaJV?VrzU&g#pMQD-l(p(5VIe{+`$+A727bHdH|c0DceB-1vF|{g{Y0m85YmHqD8k;j=$a3? zR?cW!V01J;zTBhaR(emHpKmHFXU+MUPp)Lb(vOr-bx6E&up7l(QTM7h(Nd|x%ndiG z@9t0u3KIwbxEtuYCkxz10y2!L5tXQn5J{5&2+%R6KHq^~cg$XC4B)xUt#KfM(hO`_ zG;Z?*c)KHjElf4f`F_V0Z!S<$W~8i|l%D<2wLnrAjH&(JFo=~S8_l5_wDMe8?kl5= zn?haWiBRSj8%uhg6er5^^J6Mtr47v#={cW>WpV?D&n`Fkn~y%iU;X@JO6!S!1>aa~IF$g3-Vca#U7eoyN0}G& zczK@L@$ewFz%D2B#-U6Yc7lVk*n#e6V=e1O5XccY8ZK-M&t(R^HQ0ciEX#Ti$+9*A zrwl|c6Prz`RIzaxy|egYuOi!7?wcye>#mm;?_2>!Q$Pq(~6?76OIzCLV z(AS6@XZ^l)4K|I#OW(4PYJ-=)E!SU!JF`VdDix_{KUj83*%1@nA&J@8@%MjU1B?1Tzf05e z`=@9#TSA_J9{|{pCaF;SJ*vPc1A|lKboP;K@fi!}!)(y+hrw|QrTdrmFYR2@6jd>B zWcuV>#Mm&g#>U+pF%OCWe*TMWw9c6dHDbg#of!p@_F$TmbLxxIC?)&ySoo5Dha$)Y6bo zZ1B>gFAPpEIwCZ>jM4+ufJ&H0_+|4tRXHPw2Fjl1M}Jk-mv3+B_x^&ecfThf%=>Dz z$@y0-q&jIvgsE%_DHkl|IbAc~z)B?MOuvXBvu66;{hk>B3?@tr9!#0k=tHD)91f(R z5?EhD*h$OHS(qG>TN_3OLvHzX&<1_o*F4+;$~3^U=LD8XHJ-cs`rO4xnm2Nf0+=oL z+;fpNKmnY}QAx^J8riUFGWE3v#I&)i^S2*6pEPI5FlxAerOdO`Q!fBV1P&~mmowlS z{LM!n;cbfe&66iIZq@+@E+@>-5eY4#q#X3d@EDL077RtogCW6Atyv-9hPPEW;335{ z&Z=Jk4_OYn^-9c8m$y7+Ak7^+cD99nFF=K>^>s<=%N%y#YMvZ;7PuVnUzD zsS7X&R!Yd$`*_iKgf8O^SS&KmDf?U3aJfp0t!pr_1Lwb`z4usJ0STD0gK3w#AhoZ0 z>+s(^dy4=1=`(!xZJDD!ZuycV5jOX;PY#(mOa^gP9iI z*dngEOA&9T37c^wK%tBDTptg`+0yzZ8$QDOwvT5un44H_?$@btubzDtl_Gd%S?GfO4QLt#Ry_Z=*jAbi@%uG_wjK z`hI^*utS?OAdRWE zG*ImWxptdtg_DwMG*NoTGy#XC(k@Z&UxH-;>2CwE4(>P=#U{FD z>B2(864nZ%>Ia~t9%PWH(-;Yev6k-BT1q`=9B^z2y>1-=1J;s|WZ3ilfEMw~juiTj zft9D54F|jFB<5orKX5v(`aZ99A zHvMo%W04$SJ!zBNjdcAPbe$0dAP5aJXX-ES30%9gt(8$+os>orx|m^}{Sgab47 zfLyC=h{GS~oVWK3BpoX&06?W(#(E6Vk9d1m0kp;~345yXK=%ASxo7n+@y`NMq5_YZBZ5b@`RB~f z8jI|TB)ORY8vqjkIKq+u+pNNC4TYhwUZ-NippGoOmXwrw0jwgl{0)|^NNJ2tj` zPUx+{)>v$u#jE2H!2&mtnN}cNxVH_buw?XTNQ6_Ip+)QS!`IHWC4eK0g5vOITDJ9* z-rEj;{p>0Jr@#1f+D9(dz~O-Y|NA@qZnwiHe$DI-&rY<#ZkmWm7!!OZu&U1}GE611%<4>6W9sxRBhkhqBxUQAPse4#QiWc*%uk8RU%6u-eM#=!-MkaN7R z|7OSI61e1;TVgXsa(qIrK%M{`<#$e70Z5lb7)-q}@J&l#j7%qSDg=-Wyp9`#lHV_% z1K1H`QEC^k6-GxB@Om84PZqE9h(2WusCpU?DcH-7$N=cMMw&kt^Ji5#mb0(R^HtZ( z8C#nPxI*^_g8c}acxmeV{( z29X@_VB#-jkL|%hkAwJ_g&8T~}=g`Mve5 zK{iyNK)^p^NJ!IUz_bv?Q~?hrUTk6{dt-_EAk!)z!ze!Hh``U*fMGwl(K5~w4qS0~cy;G?v-}S-yCS&xW$k`G!D(AA5LD8s% zP>fgo@o}sUSDeUM8^^i;%f=}RhLY0KfF70@XtVg^AIXW+V6wHftmMZZv!lObF(p$U zaL05&L5zV)Wh^2_nSNT(!+OOjI0MKDzrC%w`v8M4l6K-qELEZ@Kuw7eJpoO-*A9PT zHcMctf10>XIH&$xuE>~K@kS*n0mox?;x4ZkBw=ACDKk3-m9wc*Gm2;?_fZl>T`jHFb<~%Qp}*zdf!R@m5)X51s78w-%9vyt&AdC z8X4$xxdOF(Pd+917%>32i4%Iq4vDqcfuhxKVl2^FfSn^(9h#7H5hDdqDChtlmc5kE zC}+_dgJ4cm-)HBXIrWdP;TqTg2;2~7wYRo7vc-XgVV#D0jEw_!aUu#)fg!GSAU<;VBRZ`mX@AjB%Rsqg=P`Lmb!cR&9*@XHsx z4uSyBk3PbG+cfy?SHzg=ox{c$ya@#Cd~rD7)$xeW`>S#u8Vjq=ZL#Hut$+?8XWYby z9hYH!6DMq%rhr7d;}NgN5wDI%d~$b(9todx9fK?4VJ5u^6E=+_r`ic%Vo6(Oitxr^r$jHM-IUZG3vZ?}XKzGsH!{ExGq%o^va#E& z)*PvXq*Et#lvlU%+!83c^&VUA@wrOKsg!LKY+*VuyAz2V(b=+l}0SrHYA7RY=r!>tnJlAHasOq1vG$bX}7y{b` z;P4F#iM#qa#{h_Ey9skxMC~P=S66|PaRRD6C*u*=c9USvUQ${?K!tq10E&FRtd6b6 zRNLqPJ(C%Ad_`z9ORC0%Ih$k-z&-F=N}xjC=e=1{mW}>gtahf@AvV+gaCcupqpqXA z6I)LLhhl%UEs49gEji4NbBC>^<5^4hA=eZq>ffS^#;ohh3*hHJr_X$KQyC+=J*cvi z7Vqi5AMqtW%-em$KcR;^+rwP z(s)BF$lo^r52&@#TfX zwNz?VB54g6=xFHBdjR{1Hk!i-90#KP_dP$%T;BGe9BhEjlOjr02#H!}Hu%P4MT%1f z3^Qd8djeCWG}z^u?)S-t&be+uQH)%{C2Oj)`)otez}s8;cRyB|o)Kq~pN;WI8)MT@ z3W#+i+^UTh*({~bc;?Ac(0fz=mFI>RA3l%95Hm%}mWp_!q{5`kQ&-Vy6R7VS zj?8nV3hWOk)nmrvd=n2m*3MFD(ZyAbehEM!xq|xHC=0VZD~9u5nZ{@=8$I&;D1%+7 zrvlu7BRzq~VzmY?S~e(RHJ+R!Es_u@l}mMPrMR~I8CDrz@$s%Xg3&g>MFXrdKNA4b zGvMYcN+r3!1%go&&z1m>`;q6@1@)OQQTj`s>mVRa(ui_qL+=@<;Dq}8<_x_1n&;qM z?H}i=ab_}oPohyt86vZm`CqEX0nZCTQ*Be7BAF`^EtANPXq~vW0%f)VCn#g%JHR&B z#Q^U(dT$JZP1trVZl;KvDWH!LFWUB@P$B>6jbX7sW)oOuKJfb+Ne9RoAtn0T0HqpA zrs(vLxpGQwxMXN9)iR`CD5@?X3;*QxkWwfz24)_V$a~|li&JsbgC%F}W#g$j3SvpY z0f4P>kmy`67QLfm?V^Dp$tB2}{37#3CC@3Co`GR{??mVk+y80NYvsRA9ll+eQ!;Yb>P z`s}N4#H;%wK3la26Eh<~4*8I&l1<+@eA@N+wCiy*uJOCW0e_qB@!K$9;M}2Mkscx6 zlh-!B!^V+FtZ1PO+KxC27H9{y?(g0vc$3hFi5LjYNTA(VQ(k)Kur(x%yJ-w-M<^k0 zF^ZvnrbO#Pj3^pjjl*YcgU>?17yCV49VxBo%@itgW>&V+@|>adVBm;yZ&_c4o$Zii z9-)*^eqgr=gQGZZ_5G5S;7C${Gyri6 zW^!CoKS_X~;i_Ht16NzqPAQn3%KO#~%;z<;1OgUzvgLjHkSb`P`zZ51QC?zuEE`^T zQ%#Q;Q*~bDJSo?}fiYaoLx355O?d0QkJyQ`{KfR6X0-S`_dQ=-X#ib9gjfvWDkc}fvOlE3c}`G z(_Mku#|S7|8fw2m7A6mWzA!pa16%;vpRFbPqEx<0^Eo6bG%4497r!H>+Fy;U^Ca@M z#K7q!5)jQ*qh}n5wQ+Y#{Tq8a_tR?zJ_6Yht2Nod0xq?l>>ck_ig~8@q?%o1?UHcE zKkupUUBe>w7r^!xWZysKdGYQYaJ)ka_{lt{PMFV4Y2O*NKLf;BpxC-a(Dg){u{M4r za06gKjGs?rVkC(@UIMwM2LJBw7Xii(W0?Huq^SIzZ!^iRGO0V=hCNxQx#faCg_ zHrK>X&lrg1pwZ%lxl?P{;f-q1KJ0lj%k%S@1@bKI-8*(rGF6Zev=FGDZCl{#8o0i% zsT-mbkPU5MzO9>Un1G3y7k)KgKn@4sa6!5Id)8gp?}6c-7Tm_v2RLV1EX83Jkx{+q z=nXcey2%znMiudr$2m^*++nPM$0a+Rve}6ssWF&UVQE|7D${pw?|I`=4!rj$3wD@* zJOan@p^;-uUEuZD$OfRDO1Jo~9-k!`Dc7+CJ~YE+ITwskQ4&k@4`9$Lp;+Kjy3hh; zqt5K~4=h|7V+G{ODHa+J`ns3D>+7FIW@0tKq(4NxUKl8WQ>cuksL(jpjXGs!bVRx@ z=a@Qa>Hfq>ONmRs9VnHh>j(gATfnj*(^!&s`Pt9e05cV6$+=cRS@krBFRtqRF^2wL zuc_RcR@Psw2!v>9z3K(GmY zwhwhNAW?DpTbL9Q0WO*!nKd=69KSlUy{!(^jvYO5tjckr`-r0755-V{HxotY`!t{5 zT6?6VDHwxZQdcrSU^9O&cG#ta*P+3ial~tDsgx;~vkVEiDbZv4&g*f+B5~}!E#zFZ zF1C&;OaMgfe-i>iN&rUuSI<7eU%mK6HO`lf%MCYe3x7CZ$JKLWU3?QJVp+6nY)}Cx z0XKx@A?tW41wI z%tfumvP`cKV68WEkzC!+wSq}ybI^Ab$dogNI00GBk(98@!0RvqNO;+{_|&)Xj=_8H zQN$LPd%1x36Q^=U2Q&_!HVr=MI{a?G#}|h^-h>G^aVo5#b4>s~sR$#Vf1h?oWnMg- zJ0WLERZ8_)4mndgiU1tWu?TH0fJkp0v2(n~hWpAJ(cQ4b78916?5}a6^g!^QA^j%T z-+21BT33dnFb5=cOzaz}crd$nwKrQ~bqL$WR$yDkNCQ%mR-q09VD4-gOQp-jPASLW zy+-!k{-S~lvOj72!K(FLKmf5Vf%zH_)HITuYg+5YCGB58Wg#}MepX($jveTRfzixB zyka_)y-Vh=+;?J|DpxjQ2-P0AALuxN0sg2MiNbzLD$vk%^jete`;YlJ`hB@J%_7Qq z?pr$4u{yQ)3Q)DwYDuZ4qDbXH(K{26&U*sMy(c?gboRLFSpkbyEBbjn5_oZOS+C{l zifs3m(|cF4eh4dBu8DsU7N^+TBiksV#dUX28g{oUN+G(s;(5S*^!0vjhyJNF{mehs zeyr4#**STB3eYMnG`$W?)3>^|p9bJC=Ak2es_)I2*O#C9KH7&)faQ1oxwLFiR)ZOB zk|UxPyeKe3!gsXrKYK>t#?uWYd?#?_5(Y1Hgw>)(1wjf9{kPQy6vE3mNyRE((` zxJ1UI0q&2$ZU8O@Vk*P{fY}z2(*ZWuz+vFO4J~AcBi*xM`hH_*V~K&I519ZCfQ~1^ zXaP0Se;lX;>=fwzz>b-eX>2TYVW5aGf`A<&&dK*>5}}@%-!GtwIOa`VtWzfT2tZD1 z2SVhV4A@8;$eNYY?*#zj4gT_y7Vwy9!C9>c@HvJ#jaAkfp*9*@oqidMlRue>0?TO? zQ#D?e-v#CXfHsbbVYNV@OO=l}Kes&Ft)%Rv`qNs9P>6vh9bbSZkoF0j0-@wtaO(5w z+9iD=DTjD@kFse45A{Y$3Kr^h#ECXssWvHxr~mz)CAuwljh)O7^ROcTwk z9N55iluotos)I63^c?J4U~@%(uUg7^{fFNZ@KK_=3~-8`M=4js{aTF6g(e4g)l8U8 zB6)!NTtv~s5e87skV-p#vgos6kCtko&Y5uoN*SXB>-0^LOJsvpm>o1v%p$av$u} zTEpxROG1`>6k(1Cqo&UdIl1fryl4R5c=(2Zj+;1P>pl7=A{-9bjYk@=@|>REgO}o& z;#BV@I_B0nylhwa?XZV$96}~X8)k)n|NJ8|l#`|X%JVf#){HV-6`&y>jM ztK$(NPVk1tMSv(O>3fR7IZtugSc^^5oJ@NfV#EegMP&ZI2GRnEwIE7JL!z>$J#TH^ zWPFhh*o^_(roksMR-mJ4c->y+W#{S;8q0Id!5fFqZG%tR75j}y)i8SjtSL?RRLM#R9UJ9yiaG< zFC3v4F?el*WT<;EbggzD+ntW!W%qVERQ^V;v3X$=aZ#4BP?H=gEo<7pnu^wMPAu)M!p z>Z5yRY`p!N1DZS@#|)$+aEQP~rYd~b&v@(%`4D&a^k5i6_y1!uBfd%du~{1r&Y!CP z7ANZO+dD4);At-&r#f$Dnw-Vi;lEFVAKx9|_^wX=H&8@7#Z5;CmVZx?bvC{Nt}o~{y}21f3+2;i)ydf(7_8uhtzB1SS-vBit{&&6 zp?jS;axo0mC@_W`!^|6K*)TGS3b))ZP=SCFiCZujQlf=jsC$}jDQ&l7wS7@3ZfQK$ zTv-E&qv~C~pBTyTS+6MqaXixaNc3jpvc2QT4z~iFY^(KT48pm zd(yyIeNlavzpqQ$$u+DvT3;Mq?ng;g5XWCUJZq{x#^Er()>HQ;z?I<$gKbdLBUF=X z6;WF;s$`7yeDAt?J`H?uzB!fGVxxa|KoJ+qY*0D|Ate_TK+(1cJjX5Q{)T&shHW-9 z{*nSDpi0ruV57590I@($zZxQrX`hV)TvrY5W<`!j-T?O`%&hdjKQ+MWxQu=g}khuEz!#{X3q4mYL1D>o-&xWDPfq{ zIZ^X<<7`=P#JLM8;mtH*+t>nb^zMY9$o#3-^-bFH^UL{ss!|BOK0n`%pO+2y z$xWKDi&Q#y(=_<`@rVoOu<7~=#!4w_eU4=rZ%fbGf9@Q9)wXy&j>H%m1KvylLrknG zbN;?%oaBB^vN`w~`tp9gCM|1yBWsQBilSECjG0$IORS7 zzJ3NW+IG(HG?svcuH&GKa@2goQGE_{6-_hL`$(~-e=OJA8GD4k-*t7L6=p>NKzM#h zdPNaV=e=9*H>8?gEi4iND)ju3KGxTvZB?oCS8NJf`%kC#O0Y(l8%tJ!KIbV%x7c9n zm=ZwJt@NKdhE6?_(w_oS$#K_`8vT@YFTWd1T}JhOd0Yngav*Bm)*#GfQjuSV3aUHrJwHaDOL8XugmR~pD~hMus=}HQ-tWBJ_YXI63~)(Oya`7 zdkj#R&Bbrvw?5XisPd^X*1!K0>349TTc z5t+51>l#Onn5B9zGEe1RN>mTffiwUp<$8}3v3iD)Htvs}(Dzpj(62cah8Zm0(|i;G zK1ol&G?ifKJY1{2l?p`HL4eK;i+S#*3EQSYFcyEkd4kp$yxHyWqL=aI^$Vd2 zVDI;&3x$MjYdC#@v=pRNXOD)o7DC2N47iCC16oVRp8g(8o;%k{4!> z{VwC!b!4wk6H2u@xhB`Jt>tR4v}m1Vz;xtiyuG9K{g7+m5dgXsU4LYs@elzQDD~yy z8Su*tG;83?KQN#u>#kxd%{%+V0DM4upU+n2^ul(24CMGJnhrcok^F~u?+7gNp8OR7 z*FvCY@WC2)zWw+B$M*pee4p3weKJV?xi)dUB!8}HSP-#4!{9VD^O}b2)W!pum2%&` zlZe#FS_EMtHi96-qEk@PRCt_4j4)1ACe=5zAOUs!g+h0ENgK`8Ek*F8 zCbppORsks!8xB%_?dpma#rpv`-q-5^YEBuK4=fvtbFO8imV%?&c$GO=z)DjiK6m>%Hvr&hDvdRvM(AhY7!;6@ zQKIx&%_+GS`J6W3bu{H%D-LEu&aRB6UBL# zdn2c!fFg$jJ!i)|0=E*E&y{Cu2G(Vwm#tYq0UedfH7B-f%j^E~8W>k#QVS;-i|E?YLEgm#V8m|+dVD`KE3`m;-eLr%2?IM(x+02DfAh*MQemY_&qm@hRwXHehkt-&rPydFpFV!|ejcVRa4KN9FDv0xTru72s*;6HoYxB%3(EtXO@g-K%wsF|F zrs()+9g_!bx%TUIKW7dO@qCJ$B04YtB>C^6hhW`&o!9%Xvw%^W9t9L})gb{Yb5QR+ z;xJk@uf+isJ5pbB`HTWGSV)%a6juR}Q?`P9UYg#MbZVkLXU=TTaw<$r#2%CVATvmm zB6Vj;tBmB_m%T2MohyAG6*D-Q$_|lvsx@W=^pN`&<^jNR$Mwjg}hMqwI zgPfzloHZ1H)A|hpn8i$>)Wm>wn8MwgKfHW~zfD`(wP!!~6R|gD*N~Y-JXAqfne$Vi6uQ)6RucL>t@&OxF7zOLQ()-a zd6uuAdiXx%dOqm$3$WvxPOA5nTs?K|%f8l+s#~NjciL`100~F5D*pDM= z_lQy0IHDf69p^Dm%phV=v%jRZ!Fx)x+3yK}yB~mi21(Est*BX#(E zpOA9DlJ{*Lwk@bn`B{ErEq46%ZR2K+;&P)5pmEwob{LVkG;CAepO=`_(f(W=$`T1@ zXVa)>IA^qmv_Q63R~6LJ&qPLXYJAS{+0@7*77nQbfO_jNq)4eKGw_ie-o)t|iL0)N zBiuCT4d9y<`k2tC7CTSp+DrhF!2pL%%J}oO!40SyhA-FhVFp_7s)m8+phzl+HwJ(G z>?vM&kB|(uz9k2H9O?OQ8Ui?`2{?}EGjJ0QcrzYLsnk-HCL16-46eb(H+boQS2km7 ziRlrnfwvjGqjQJM=`0U)I2Zs)wg`)!YLdFJiwDwpNfZ8}>+q7t`(_+*GexQ(l1T%? z8;2K7d-j;R9PtAYTrC`G6O~g0bIYuR9930$I*#K6rI zvDH9FQMlz?DHv z#geJoC$^-Y0YE?`!CR9EjB-?!M_Q@6QmUEc%9uOl+{!*6S_4z2H6EGPOmW;@19T&> z=HQ70T8h>Y_opx;M8m_H8jOpj00x{iByVfJlXRTYl?}TCSZchk6`NWGXI4w;v6w?Y(w7> zJvE?$T@mzioN6F3Mg}+{a643gBLreMr&IwbVKm8e9wxGRlZ<(wergY=Id2YvvY_&rm5hNpw@5n$E`z}(|sn{5& z5C2aiMde@GPv1oNOY#-1TTD83`1FIDIeO5s!xkq(W`)f#g$ia!I~?i*>OCtbOO&6T zDQAI+b2pcW^KM7c-p0`)>=zD>_w;_4$T7No#~Z9tZI{iW;f<(YlOu1y3wf%MqG_sP zR4G&HjkKmANA6rSGOI-u%v!)6wU$ll z`kL-3r|Q%?&V3ZcbltDw=yY9Gq82Tdwymiwhk*=*!1tXD0UmGP(cfZ7Ni^wPpU7Bg zriC<}%X@W2-x2lmQd3)^1(pomc=#;H()mraz~ zg*s0ss@I^SZl}`j#AyeA-2#PTE1*)*o@r_olRMVH=zE}jM|0=h9X(4@u1~->FX>Kv zU1K0RvE&d7g*hf>iyRc)G}Y_)>W1b-V34Epq+Wh`Q4Qy5qB++0!2XUvIWe@FmOkHe zWB_a+26kG7IxPJnKZ~*W9%CS;`546sh^9ssjlm0Rv9$&vCn|ZV0TW%G96*SPoKMd4 z?_I+Vd1ZR&Cd>(-GB^YP^Z@m{F(_4_tOcCIwR5<(wyMjQymE1t?n7lBK;zrc32!Y~rEq&Owx$c8mB3x^odHw|9h)zk(6Mby>Rp7~Dw8MU<3} znsTvBAJP3)$HdN4G}NM2fDfC{qgMVocWhyO$i3_9Kc(66SjCc{*4LX5u!~axI)3F_ zv=Z5sf6@x&UmWZTc5JN0#(TVI8uZTK^*G{Y3Uu7YQ3VzTJO(A&I&Z1`*jNW|Gq#PN zfgI9zy*1dls(li2Dyd#CynDz<<@LLd2^bF~W?RuB`_iySW^V1cQuV6C8EuXMpqISN*uJ2?ZsI8-dYBL zmE8fbh`ZVkva9Ep>yvvq)uvDb9mU=|)0Vczso$lQ;F$uMr0F!MrlAy3@9Q;+ttcfu zSF2jFPM)=x03&)NJnp5soBU*8Xi|Gjl1d45_o(Vl~Wj~7(`6t%W@eT)y?{ppT{5kc@z-;t$0F&gv`65AfetjZnOLS#?gyrE zGRP!!z?dk)u=a##i$inO0%=o)SKr+O#}0Vf^9EsQ1G^g-j2M{_!zk{vXS`vIG^ebg zYmkn}EnSQE%qC&NxTK{x%c&4z*ed6?YzVx0S)5IF!t#dL zxJseSnGH)+>S~HrLjs_C?!B7l{2e5YxP=0F)d&gfLDhDUNjzk5p&H5u!Z6u*r4xq{x^S) z#&F{CR9XpQFp3(zzL6B`SglvYdeOP>0$vI@o0Af}<#P_KaWalH|D-R#;EsTsGJhgb z{Cg<}2mr@~-yM&5x$epXi-}kajf0N?z<~dK_YN=n4L)Bt*sdDPfaVl{-dXJUI(uXAdWyIi_W0Yw0bAEp7KX4gT!WYE z1~(}cL0Mo9papQMk!Zv4d%_F?2w*6Hg<^B)W1RY3Y?i^yH9mxSJ_z{3^LZHp7!>$I zU6B9-gp{z$0dL}jo0PD%7Td;S(-L46E)w3T9SNq_SC-dI}iN*PN)7>&Mw5)+V* z#Kwq@*_f-US0=}Hwg!btH8EjLqNW|hOd-&mP(++X7+rw=1p0lo;wW~<;-t)=5kbc( zEkI2^?@{*cg&&dY+ClegKorzbPa?8Y%DpE}u@yjpTLWP9po%Rjz@)FE1O((BmwpBV zBhk=A7GOQ@8I)1$pseq+V1udiON2$+wPG0Yypxnu5$Y_U4R{|`hDO8tQO+pLV(9NM zbEVvq*o?Z*7XXn&%a1DH(65X6fGIIpE;cwQ{baMDdtI+<`Z1S(F07Q8AjJj|BXD<1 zc9eh`0zgg)xI2;^J|5@yBX)d<7@7|3*zN-PG-eqlCwa5T0i)3x+hz@Pocz|9Tt)t7WHp6{{PZHswW zn#D=qb!lUs1u)fT9|N??pXZ`*?`h|7cg@Ut?1S>071psO-!Dwe%;AYA?Ct%L?0XC9 z<5H#S^x?l>2FDB>cnlr*6Ky{flJ-xz6>(NssCh#>fd1XRB{slEcK!^hwG}OZE3VwI z11&(uV|5U8^%UK#<%KGc111rIlqlkC9XZ&>pekVV?;=>*Io1HlwAf1ds+ef8zP=_j z@%RqFEpKKFM1&F8thq`I0~{$;$J{!UR1wMbd&iDJ;tleF=>~d`4+kI!c+>z!)rB6_ zcclLT-dL5Ixg1NJ#g@fJbw3ItMj{U4=m6ADZ+=gk#r+;7IuX86bXDA$9d(IoGJ2hI8X#o zm{y_-dz%@4A`~JaKBps%NmNt?U+KxpGvbXs*z-r>Ry55l6^6lv3cre3M9;%srih zE-b439vB^Zng2XjH^$;K>u{3;ys@|m0UM4+>Zm{I4>TCK12!Dj7e5fL+t$8MAIbXO!^$g;AV>0j3YLU!wX>|NPf4h zQ+j>ZPQ0PHw3YFS2}6pwiE>W5&i-8gWE4OHa1Z+PG`L~v`YY?X7M=v^J=mtM4KV?G z7WEbeL|E)=0BYqd%fX5hVR75~V&Pwlfgp`{V>0mkgLruK#?(+iMWez01!}S4KUpS`wL=U_dV@jo;aRT1Ht#)?GmGvS4s()!b9y~{;3FI8A zHgfecw>oVfFWOI^qVm`Uo_cTj+JAsJ%AaieAmfCcAIA(1^Bh11>=j@xfaC%3+b2+@ zKU>n;*r1M|CJq?@*PuxLv;oGqz#&oo;~}uXOd?~NmG+BcIunROMOR}0?sh=?gf?7f z$cUfVK?y8C=o?}wtXmY#g4G3y1X&MUu7RI@4A_=*0w!JvQ>dvI{Ut4c_ko<9`vI_` z&CxTUArW_10RdwHCz0Yv*Pf%IYl`6#>+7X@jr5^q7Jvph=1x>)*)-MpE2`aUW0t5r zKz7@d33av}02_q6Tl)Uj?|>&8R>5Xb+1Ar%3mYOUB$qe2gbFfPM+RiyQSIw6*6Wtd zwgYfj0WUD$0FSKc@bv_=iNGmkVsSOGlbGq&E72ry}g5yMeH!+a-mi0k8zK(ufsmXHRk)wRh&^314&#Mb|6nIQy1j034 z>p^mJ_cd)!m-MxUK#={u0(q+z=$>OE^HrRFY4ZG!V@;is9Q6S7j{CZ8=krVERx&6N z*P;nS23G$wF7MlKP-w)B2igm|*Qd|wGaeH?&p;jD{hsc3;s~TJjjTaE&*^`{z>sG} zo*_wlxxcUJ9Wtlb>G2`p#r_VMChW3L`kWDH`|6lRL|>?=sk!yW$AxZhQ_I;fr`iUG-iUcXTXwEIu-8&PU?3ntK(!V zDJuEFwTdo@0A3qQ{m@%mbS*-T_(USk(#k%go>{J9vb7e-4x5x_6=b|Ig>_X#f|*el za>g##W6uRu)2tu7weX4Nd2bAS$NB;W^=Hm%A7e&}0P?K?)+4dmiXE_UpfUqEaUupQ z-Jr6iW&h@{Y3(KfICQWgWs3MqKw;u^6=Ckl{x%B`h`pkKgIN>CS)Tv>ps6(}As6FE+q&dU(u~RsUeV zJ{#4qqSk7G?inG9yZpEyyvNaPf35u??qwZ_nS#7>Es^!!33q47QePdQ~AhHTV-_ya#1 zcWPYO9?<2y}gSZ>udJ+JQer({n-p z{2`m3ci;HC!sv>CnX2B+Rj=O9bw0I{Zg%Fr_;^1(!0}TyW6$=_$@YDur98NXZ+J|N z;Q!c7BaNE5A(2I(QqTfuQ}ety?;DdX!EIp@}qfac-A zi!(3yEAB4=7px=aX+O~CMrL$mj}&2soq1Nm{u_Q`Zv6=V4V8f%QYJ@N=|qW+!VnV%2I7Yd43mHjf;xF#^_`d-R zF%_ZGA zX`P-koVfqKjAi0LKrU$@x>Al*%NbI{kSMKW;~LzUiTbHA*rkNc@raFUuyJ;FzQTAB zz>e7+8)Mk{F%PsuHvIblswy<(T&mYB%e#7>AKuPOJOc^6G5EA~w5~L^+AcZMp3pG+ zLI*bl_-@)ckSd@>(avHg_I*x?){t6`g8(J^vp@wI6qq?nanr{t0LKz&u=CHJnI{j9 z2dMk0?5hX&SOPh@u8Ug8dpYH@#Vi0g6L2*ZNRsnt-3)CXFI$Qa`&eI(<8c@J!!E8v z1Lty{CBUPPIqL)7S477{n46AMi=>Zy%jt|g*;^uR9i}=59Us4KYv1^WwABR2I39T~ z2qe&8?p#4M`*g046)8T#&EEpY4J^KIv zAOJ~3K~z)i4-GES3k&}uD}RK+z8IDLBH)Fo45oEY!N4#AIj|j@e>l)VgBm|HupzeU zcWuS)XK-l>5ABhO{l9Spj?G+8=S=(O3vlQ~;->%${?yuX0nX~71^~m8$!>U&-SF!i zDeSK3p-xa~k`72caCE>e=L@zVw#Kq0Q1qb#@brq*jqg2hv#;qS01ATQEd8E&u`Qda z0zv?aAR0q?=kl4dDLCM(TVV4JxY#hA?!eAmN6xH25Gvbs!1g(Cm$+w+!}gGn5^#JPnGJaC`~ zT5L)To+H=2M<8@v7HVf|M1H2Zl56xw=$OZ#m<5b_PZ{{~mik%%ocq78j;OT+fRq6S z@a%#Y{VUeDn5rg5zpnJks2oU%%05+nD&za{$2IDlGwDR+Ovl~tN!U^hJxRl8EK}fE zMVyYUq2jsyzT+Y^X2ZGL`xEU8O(EoQbhAUyx~2 zE=`ye4IQ&-sus%OFsH}1?Hm{pVCme(TMRTdR1VwQ2X>6vkd|lUmYGKO zp2vfY-L7L}?MeZM6P>d-2MzhiqQ}v7bdQNa$BRok&p5K)$yAv&@*GH1SOohtgFyg} z!-2-9aSDiw6^IcrS^3=<%*r9^ag|79!{ffOOf%F-Lt?^!UkhFLUbRVjfv7fH<$imuqGyO|?%`f>6TyO~%W+d;Hy3H~4>!M?7b- z&X=vnE_Fb3_;j^Gh*M41NDZZnq^bw8<#M=cbV%s>p@D2Ky@G2ZJfU*dWir2(R7=+?TV_)#vea~+Aw>iM zNMPV&#Lil5np7^RH)a8pSa|y|+Df9bBp@t;qou5Eq*NsWS5oPZdAVBw1>%f-(mRJ> zfZx8`<7L~zPXQYb0yf04OAc6BpjCjp=Rl2A-Wn_gF-8VvGv9+}ErD~b*a#{(B>V6w zz(DV1^7nqIsTyaUEwL{Z5P$0P+L71IseS9z_2{7F0{}Oj2mtZ<)8hV&LD3K~rmnZL zrrC_b9)56(0*0MvF@he9h216*>&W(p07R1JSDLziv11aizany37`(QM(l?xPc(JN$ zwv=(zRdaHp{qEx8^tcP~BzxDLFs@ku_A4&aKB4Y~iT8H-3B&h0Qcjm>&B528Q>h{- zeZ>DwgBlY9WJi5w0AOOqu^~Ib7~1=b&8PZL+q|=Rm*~4$^>fa2Ov`pfN_1YaPh#d0 zz8>fz^>u#%JPBk={r~NK%Wfn|mfbOP_jq`a3^J3IRh(8Q2FL*fjHUspH`>&uwa`|- zAVAvcN~F| zAEaCte#ijFpSszN;4i6J0~IL7EFg>60VO>pL8Idk)oUz)>Rv#SRT0P21Ix<{g1Wv` zWBm3`Hp<<;oS%(IuKXb{To9vPo2%r#X{8c6f?Wsv{`V5;B!YcB%H>oQ;FPAfp2jcq0KNkkbijGK9tqTa4alTS&zB=JYy^j7U*RZ|U4L}$F^9%WV|0t9B%UgAx zbOB*he@Z#c`VJFAfsP&Z5?mNNNPQ~rRc4bVQ-=Lksq@%#BjGU=@L-Ap|Ic!u+pS)Q zUeCRv^z*qo?ke)SSg1466kx`A8AyCqr{)TO$9tNs^f@UIMV14F$PNej{!TR{7Hwg3 zF@1lp0G?I|+V3@ovyyWkx-t$K6-bKuSCu$#%y|Yx)Xs|BIdwt_9#QNyCApvT za~b=yL3B!-6F>tHk=(1bTs!q**xzvFnO15rI0wx2Iu}d1|FczzA`O~il{8uc1rM#V zd!GBQoM-g@w``{bl~YoKOTh&?#VG;3myK|)KnJTWF#;7dQiK4cgFL6MD*(XdQPV?o z+%$_Z(~APLIkG?p9dbSG5^!e%5YfnOnz7Jc*U8#IkkGFAjI18_@;gQ&QYtA)Bj$!) zTNcZ$)HvscPS%e8+pFQXm}`!6FJK?XPF^-AKz~)qT%|Z2pb<7diEx_FrqN8cy4G|L zW0c#-U{w|842A`i6kG&=?E#q2@zdoTKkYi;!!3S$JmUZKJ$}AyaoZj6Wo8b_6k0C9E`n!3S%xV+T4e2{tCGyp1@57l^FZbBS05GJkl71mXa z#s%CC9`AY)rfeW(ad$DIA9^W0JAaWy`Pz1cpY0F0e*b{~v3&%Fh@CHww{=ebM)`X) zEis&gnbJ&z<1M(6Q$xt)ct&KNX(eli5fg-Mr$e;;x-x|d#*CV|kLGK{?b?rg-0K?k z1Z+`9RI1bHd7RfYpdtz?Re53tKXwMJn~Hy0_RHuR)DhlA5z+-P0+sjxM+}cqRgBa9 z*Q@wzpQNhGCPv)Eh-(VI2Bw;ZGC!Moyj~y_Ehk?WM}z?CXdOS%tgXk?TDxxn<82@_ z28`|TT||+YmN>mOV0=w{--0d9fcGbz^Xb~<@sv&Sk!J1SscrgA_Cwo8_Ww-naZUqL zethq2WGQBm(j;pys|3=nAb?Lc@x?^}Hk?DQKtg8i@hIR11^7cOAP6A)tkn;ro)yjQ zM-}nxQyH%SMgdd?RVZ-keJM&npxp}8RvKUfK015>NTGtR11?(Ch0y>7p!UIuF*+LO z&-iH;^a}#8=04>9URAPRFO^Msb_NMDM!6r_$lqm~?$3YB_D#q9w0Sd^_B-Ii9q{5x zo}1U>hoNYo4Z+wC(__i_`4Qmwv5gyZ-Rv6gJhBFZpX(y48XS#+0zH9+23c={NT&l3 z=ORRP=YSP})v2N9#CP{KuzCTkj==R-K)(eJTX8P4_+lC(coE2DR7qune`26!$|RuC zQYS|A`#Z_kU)DgX%SI6f0W#)JoZ*e;6S@GjGvJdJxTt^^08%R{Ih9v%U?z-|p#qL) zQZdA-!`>(*+pi>NKlE~ct5&Y@@F33WCs*QhK5pc7^FbrVoeKOJ#|UarF$xaIYXylI z_CrCwnR81c#3G~4$tG9ncT*AyAs25(c>|PUuLg*#^#8F8AQy{s1_-c2N9ytt_^^{_ zx{4y1f6yrTxkjK_F~o|OS{f#TL|dw;lz6QUQ_X<2Wn~Oy<2fD+V8oWol9^PMlz{cB z2v9mF^JADx|1}Eqq@)p_1VD8jhNRCX0^uls0}2+PY|NE9zNwcyW@@}Fb$%Rn0-9A0 zI6O*!e)1A{^@)7GS^yWXN?Ep7S0&2NdBW%Bom^iG;^2oM&w~;D!ydTb$mX)ul!XM0 z%C>S$M1nc&Kpg{2??EiaH|HnEsoj7bqiWhO`RD35Gaon&B|RhrWN|x4 z&zTcFn~lM)yF28nEVBk!p2^19wuOO2y_%F{O`>ofBTsds%m)hGsu5YuWPbE&^fWa< zHYLF%col0?k3Ua{oI` zha~$Xp@`=J=)FVlfDIBhDPf0*-T~0}0bo6=@Osgp4-U7%;fr3P_t)NGmmF@p1HNzx zKby^fcrE%bjjF}BN8G^Ua~JVHA0N@ggx)z74F!-QTIY4riKd8Dp79yH5FkRB0a7`} z$*ZHIF8$hkogHc-&hp)evS`Ipo;Z#T%+n=ZlO97^DCT>Xkuq(qb9ve{C)fsk^4P^e zDyNX?W!h~j;FdLLT3?xC2uQLsKoS6K6abUIlic$Ocqv09^>C5SH z#+n@EekIijc-JSimB+h20Lh`PDy&14UJzWxlxo*4AG&&${r=i98S z07hCJ&Y63S<#$;RiPvoJmI>`EI?%o<=qbU2IL-8d> zX+QePR9RLljCyYlWv(21z;89^Q33S=s4mquIEoF@AI%uC<9q^`odQDXUya^F>1zP6 zIzoT$Eep9q0#f()5==h7ka3!#*nxareOK%tRyUlq?-$_suF*W>;JHl-&_il`L8syM)-N$X0aTp9mQ&{qdw4`F;bFUaR7pQ!WI%X`z@Ig8F$ zkojEIX0dYWG-@P~It5O@x7~{4a(AZ@-E)b~dK8uC5P+nS+4Wk>hIW!3@!}sl>jvM=YwNoV;~D`LnzwJEiq zdLGQ>#ng7=d1$5{iuS-kMsB@52^Zi=GMi2L64UDft>FsBh5%X->Gh;Yd z_QVj&_~Uc8Oe{uA9`ALniE?kGqH?Xs<$%q#g&v9wUIy-ZM3PyjMf8mvt(7jiNOLFtT6~kHP2>|4(p(rD{Wv zu>;8Z#eM@YN`2w;$**dxXXg$IY?!a{oU_@uyfL2>L64&wr~Xi*BOBn8HHSeB*Ud$0>R-1z~=z| z`{N_vJvLp)_eJJGqttNfJjE0dbZR(Y&gm|xVX@? zNnL9y1x-AI01{k|2`+Dul9=KYSvbw+fO?l4GrD54~er!(tDOek}eHZKv&Z&fwrgC*9 zb{&0-49>={wMV~OfMYrU0OXKd{^*-@!l{*E^84p<+uURU$nX2p-}|=h>y(ne>A6mz zP~Usw!X_7>&c6z2q@}!9X$~G<>Ef@E$L#n*qM4)eNf1X8zC@;*l>i)j$mmnOKdG?| zVQV}*2nDk`hynQWTB8o3R4bsv#C%@wG~%p_j`wAgN=X3{b)Fo`!g;A$BFBR`I_*pr z|GEGbcH=UUNYp%E4xhy4KDd@A=dn*ldBT9%E*6X$IN zQZJ&Dc|JPiB|auKWTT+obdEFFF=$jL3W&Cx$@6*jQfQv_ zWqErs9bo2<`*;FSQLbYmM@V@It)`XzdR2c2bV-{t-h)IDfMqQGK z@v%RgE2&I?jN_&egJh;_8;!-P5ys1?qDobatPtehLnsUe-iMEc(c$!3phj%H92~Tl3UOF%3zTG!&39N6?hr+9$LL8R!Paik!t9fK$0+Nbder({Rnz5 z2L;C}6A1$}3TUcRWN_Pvt%74z`@uH5u5%{^+JZ{r~FSa|pS+<}Z@ee}}T%1FgO}*@4N#~Mtz{7TQy)3`lBj9a! zL`wj`OX#dm0lz*j&&o zLhC$sNzdmank4HAQ&sxp(71X81{AFcFJi1o#uqEb2slxIi^e;&`R6JY3IR9T+(hDH`QMU>w- z>DOLABSEThwWOGM(P?RPPi+7NE6RS;rwA!0T+(ge1ekgkdeK!;EsI70tloP8xe`#S zN$GmobR~$;cwwK;bd75U36>-%uzuArCb1R& z=ef9!Tf4(vj}pbbh})RSm%R=eaumHZU0MguR@|rZU1KL)rXe|l@!Zxm}d0*D`o)u>l^>gF&KdMmM`oBr*w{ERrU2}7AP&WmW?ua4d&q9@IvKnQ zEb)7hJ9x{2Bb1@L;2nKa5>PB=6 zW=r733rQ(iC}|IdMD!Gu4LJ+$noP^Yj@p1@!v04~DV` z0NKdus%Q~7S1R1ZSb!2z7DEKki34ZR^ZWbpv-=0gb68*N=G+TfU#k(32ICw>AT>qw z$+pZ4QKO0FJL&ZDoC`G^T4kU__C+X6hZrQ)CPs;HIA091tf9aY>-?JOvzpJ<(bWjd zqLsgcMis7BCW>yJ4;^+Q+b2ph$~c(JPrHda2Mj6%T2-1_p-yT&7lVg6wd_--x6nbY z%!X#V6*mt-M z18!yw)_!cP_9@}>^E14e&(X~4!aTB?Czn@dO)wF!X@93w0FIQ<#)vjX+evHuR8CgDS7Gh_h#^s!8Bqb68)f8y7rB?U z0ttOeXkrjxBBhhM89>n(p^gbtWv1n8<<+A_{Ae{7`L55$;&01wo~G~cd#$TMgNE!F zYM#8A&9%Se@9XA-$!?FE)2r0pIH>N_u#!Ei)fCtx1-7BVoS9UdVxg!9@u zglr#MSHEe?`%=Ql=(A(^)L6FQfqn0rwro39<8_=>&+_=v^@+fR)x_X^*>Cl@zSzX9re^!?)c$(v|9`CZ zU7wTlgvZ_O#4npS#Wn_H4a(`{zN|&ok4f=Ifa3?>tRvvf0-i{rztRb+rBI=&_=)A5 z_If1|B%XNU^nM%Xq(Tv4!D2RsKuE$nXW1&DQC3+AM*zIsU&45tBUZb+cTIH$ggkSxk$X2i4fQX8+c@IW{V0+ssQUP34N#g0hYag09C% z`bXf#KHYfK7)W(-bod;cL)Oyq2{=?@)c6WG?sTJ8;mq?3>5IDu5v)9PI+m55m!Ozdmu!#}3hb`Wz{sW*@FJi!L8qjMwk4+5N zA)u*%U37Rm^k}`qYmJunhdr7@SLPSI^qYdK*Dm4n*#Y;l$6W}xscZcDc*J#6^8t}8T2z=5KT!L`ey_Yf@ ztr1-ZT1FgoJ!A?{>%EANCILAbjKxMjmTEHoyRcOn*y=Xb=zHwHo2JSjhonYn`j4$j zl7FXmoA;0^5?(}w-5_(O1CX}5ws77w3fAiwVfq16SeVLc(*v1?96fS%w-E91YApD6 zPS7ZQHpx6^nVbq52;m7#d+uD%f*X^-PG$>`iKcc>g92!HZvcjggK75w1~Yhm{ysay zCZNGNIZgfL`(yy}nARq<$A3}{(J=D>d3MPh-+9%e2nufWviBd4g^fv8BgaQjMl5f= z^2k+DoRc|a=H=kNVYqALaf$$8j|FdnJD-bKEKOV;ICn1|%?9SHQeg z{~;KCnqc-Ib1(M#3I2Bn1qU0MOCI{Hl2%+(<~wz|yb~LAeJ*J#`v)1z|9B8v#zUWP zC3~7>z}kB;?6@-KPmJ*?GxE=^otl;@m1nox3j^j8)lcad`08ZlULn>102QK1L_t(6 z$6CgYhwlC6`Qt|oj&b`YdKTZuy`4%=Idz`z^4!x!fXJb(^Z-2Vn}8=E@X2QNI6O+4 zMjs^_-|d99wQST-n+!=VDr9oJ&=dvtpcNnVJ3%+$r0j?QF~|lJaRiFPz)i)9%7su$ zjz&#iSS`oK1kv=>N$%`C@@|o>h`D5JYOt_Ck8+%qR|aJjTEIM$0Ti%=UuI2VQ2Z>ss^@dbTAL{>`eMB49Mb? zG$a^BX>{z)X2{}{!Ig>^eO~~RTB9nt0)_$xd`=YSooWs+5=6s=`O_46O(=UCqZAHh zW6(W##8UV}8?QT8*$F_umvJ(mOFur+xKf~LrsB9sqZ1F0WqxpsKG&uIRgP|%>kh-% znLj_5e)nd)(BP&}tTp@rb;@}i@#FpSher08uEpPE8fz@)NR?=+#3-9@7D!DB?qSTT zVzf&yvm8(FiGt6}r>F4h)QIKxxyAy>se`;Xs^;5@H~@0VX_))tT9^`Y1sIC-CO3{! zI`drYb!10M9qwr=Des>t5~n`1&9Y4FGb3fZZj^~}%&dqv^Eob@Q-*<7FyVb6;TIPd zz}2Nhwfhbi+pVM~&_M|SyS_&|p958eHGrF@!FAIBp%JHjRC&Xrj{|m2Qb~3SYB93E zixGVc*!Tf&yAJKnf#)(s|q{s(VSxajM~$=WXtL9^l$2GO~H-U`w{bF zbeu`wXWbF~jr_mKpYy&%Q^aSMRg+SwHZygCy}rk4SE!0}7KgG=9CfWcYI;(;D&vk! zgH)+Upt?f@ldR)RC--nHl{uc%QQ$gBJ+5yX?Pa<#D>?D_z}P|hr$m#dYmS{81P$|E ztqh4unU=mPPB8(FsxE9Qo0@6`P&1Q*ptF1W9UJ{0t=sPD>ok2hCFFITtOIItG1adh z3TtOjMj6wU$oyhDfb|dTydfa|T;rZSt*(>zjx+{-PCXOudt`VFaXfWtYh`i!6R8;~ zX>}8(C993LSd>(gq0{TsIT7f)=*ei~Fo;8-o?rF^d1>_Mxya*yzwxxG=^-J)VOf7g75q zJFog0kcW?G*f^l8q))q{VhN#3g9D$B8@B;#(s7m8#IKsuC&8Ox+*kV~H_`{}R% zUS0}__wXRk>Tr-_clx{KxqO$;a<`LBzfoX?QKPx0P7Fb=xl%)tf_UEaYf8l+qa#ft zF=})vr^lpXctmxysloBFmKhpk5CIqt#$e?`m_*$2IMjX~Vlgn8{zN8GN&>)HK{}gK z=3D^=cs%=E4hEa5GMmXbZ5GIaqA3+s`>COv597<+W4`_2AmX}ASDH7-<)L##Q0MN& zMM)QmIzNWK08cFU7tPoM#-IfNYNjE@UH7~RB}CE;lKUe-vNK~H-)m?b!a+GJ7TK9jPpR&nVZz&^BC~U zaKx{6d+b7wbuB4Wk~R@?`UJp;e8Nt1-`90v1^__+_AQ#l0=QTg&^1M)S=C_q@+Cfh z^-AUq=VGN)_1cX=Gdg1&r*xe1cnoDNoPv89Ae#VSd`>(*Q=meWHFn`-zaDzrFxpE% zoy@l=)ns-m1iA?de&}nf<7AzIN&x}-2xTxhO*?VeCF96U{1^*ztexn00OM2=plE8a z%ewgdMbTIUcLFdD(AQT?#+6`XUR1!gD6}VbbcqL z#s_7?4Z1e=gFG)BWRI9BYp_vZiw<{Fjn|)Cj+y|N+8M`Qw96j1D0&B}tj!*Je%&kQ zn({cPeMnk4$0Zvz4%mDpV;xS{52F5b>Z97EyiWF&d9~v@m}638v#E*>NmI%C;+=p& z?OgtTcu<>ksWzqd&nYdYDX3v>tGvboPu61!Ws;S13Zw+azy$!fVEUKqz1K8Lrjjn? zeSRKd*-Hlo7eZkiPSXRExd*FsYgs(@esc9Y6O0&DCNXOe?-v+@JWPQZ^(BuFq#;U}!y{w%q>l}eBuswPXe@4K@_t{bso6&o*EhuISl;B7RVn3%e zo-03i4UW9<{easD?L`3rGL^L|pK-AZ5hHOX(iM{~%#{KYVG#OoHnbrVw(kK9h1#5w zl*4o$*dC=aNxwxdv6ytjRD%yIEx9_M7ly#J@tVotAo8A#y)?dOR-a&Qbky@LX9B96 zwPQ924Xghbf%or$-~LV)trc?RlKoB>vtAZX=OpssEBU)0fTZW$K9mixX@C!NrO;`l zt|79EVr<5sX&q{~a}&*Z^J;L+=dzG?oh%mHE#S6_X3wN=54v#V+)YJ~b0pB?$woXK zH>1d^vI6?9IN8jZq?Snx!sMZGp2wmZJWLHa6f@117~8S-v8aP}CIX~iY?>26OMcfHWj4Cc2v$fyeInwS zf9uEdjAPt7J@w@CY{{vZF#EAq2Zz9AeCA%gmoY}sTLOE|$+~y-Qr6&wMk=AtW~S@< z_8yr*L5Dh}q8XG+E{E}aWmJ&=KNzr@QN+1A6|zidjNB4_zG{KL{%hd%Yk7+X^7cW&cYU_G9IDRms=p?RxZ4)`-kn zKtkgytevE&@G}6ou4~-Xjiw+pc%x%`x8GxPIO1lv6=7)ti!`d|hW%yp^8I8y*a|e< zr?cZ#>E7bC->dSyQ?C=fj}mQF$COM&iZ*jU0%YE^vW|%Yw=tkqNA^Z5B5WSFc-Qw? ztdsx{tCR40`lzg!RCG5Q=dg1GCdPA0gjXxH2~PkB+iXRcJ|^6T!IW*4zHAY(rh-3@ zKhfD}oO_~?!task!S9dzRi6t14+2r#hq<5E9;1K*`#d|Ax`xm$t8_1B3QE*x#{GyX zC}%4vAscJM46(oC+G7Aot0@(t003ua<=UcgXlaK`E49#pW~7~!yx6R!10dI)f#LyA z%DfX8vpGpm`ufD*oIg?RvCB)jmYD(^T!ZGio-UWlpwfMb^TE!WQ3?wt_GTPki@hW( zXgavjxH!q~NU7}ed~d%;P7RkYY5zilUaI93QUNr`(&IH)w#9SnLv9=&ll~pC4$L}~ zKaUs%1*SpX93Yw;kLTceK4rM%apuc+0Az!mw#8zm_FG?qiUi6-6uZJ+OElx3hs)2p zl0eaN37jp8PFtm^`Br}mW-L?+V6-b?a_qKZC*9v0plnGvn}w3vk%U_=l#Ze9RdBw(Vo=jgyhK@Aw)rC0glPb*m1?N+Y5R&C%0MEA3=4 zYqZ{Ur^f%FPWEE1QClE=wSeSBiFrGMn^MK`maWd-J@Qk=K8IbPS@)5 za$(F4sFI|5R22YaD)3&qP88J7T3~%8ER(tg-hTkT`k)|*FHTP%%6UM;=9%$l7hQ_y z9S+C~dKSR+$h2BtA=f#dMk;bXcqp3-P`*Qb0!9ff0|b!!4+G#A3aY7bRO@&jSbsbM zIFtcO4*WAC_ z*Nl|T=h9#Mo%}r{)&Ec?!23I4Qrz94Xf^~9(Rz3gP|H`qU)_jN^r+z5*-|P+>>g#_ z*V?CyxO07ITe)94`DbTx%=MWVf79v=M|Ey|EB(1su}(6wXnc_B*|yTpU)~B}h$uAu zxoXP9q0nh#19WPXPE#Xt8RN=~TjMNPUo|fJt z^WivIv+T9n%{oWWCtx5V9|KYBH8$lREzufNdODfv~ zXnlpv5Cm{g(C5FrdIkLL-wNP%e=o;O33zcO{r0$%xqtVd8b)5Cx{UxxKkpCN3lg`);K=0VNI&M z0XC-Vb7q1WhmZj5sWxTQ*fE(|P*rhYt)J<1f1cG6xg?#P4q!?}7>9BH%tTJyr!O0rIB5(hb&i|Ovh$cl?Ayb_AB>PGRCq42u;gn-$n_tI2|{; zt%CU#iU1`_0LSY*T+GTiq_`rWz^9H$ra8I_@UyXlIhZK4Whm7;&Ut-oRuhcRfZ%K2 zn^a%(Y*H#9sSRL#%pv4`F#rPSvw^IASyLlT<`@A!lxqtCIr@yys>v439Jbd+QTS8S>^Wgk zpxlS862q2L;lgALm_C>_%3#yL6h&CAMvC>VTpFLlB?0btTV0y!0< zAI4GCnL{oE8=*i5bTe}*Toh!(+8;Ek@BsYocfh~?SIE)4XMB#3b@KhK))3FR zkYP+iXDS8DVpi%nJv`|3Yjip>#bhH$<|kKT2oIq+I8%*``MgAGm`=fnM7`8#$O2gW z2D$Du5$#SFmh2Et9Jy0%8nFP1fyFWL#usblXQvXCMj=9I+oxVuAUpDfh*I-d)>BOHsP;arITH_g*)1(4HaXb4&3 z4k&ip?{4MU%@t7GY~&doHQl3D19`g_2FGGKKF(KPsXj|9<8r&x`>&+0a->&5v5Ni4 zsy)6$%u|x%&D0UzZGp@4(*Jb8t4e^hss^BjV-Im+$%L8DkcG{{Alf=@Bb)r)2l>s# zh5Tl-k!v4%`F*c++G7X&-(Mq_9<>HE^KAPtehzv3@;OYN%k)|C*@Rf0traS^?YX(Z zb%%{5T)8>ZfM?&I0zAm5vm%ixsQ|Iw?=*jTdYn^W`e*+_uS4h0Pky3h>{>IHkHGy# zOHk7B<})|PW*_qXe6Qv^bzKa`l#t8f&F3Y`=bYTvVPBr@Y9$8b!-E1~DB^e=&kE$e z?L-UWXUnCeJPZTAIPS|B55T{_xR5coT*@)4N+M}Zr4jRcWjO5$dyuRlE$94;t4sW^ z`}b0DGbI!Gm#Q9{7)MU-E++I|`r|ePyzM(&*K@R$$ENSmr-U2lHGHo8PG_R$g6@<`S&`e>PDjH-UHE<{k5(ER0Zg0oIG<1 z*Ip_R5}?(I1RQU=fSX~!7n?`JlF+`bJl4uE*dXN;mRsjW&j0|LXX+DXJ&X)Y$T z$_cx62oQZG6X0QhgRD0)7Ae^6oB%V<>;CBr=t&Tf!5}&ze!|2Y24pd9=L+z}7AIql zOh$s}S$}D=<~_$aIJLfeU&^_1jbF9WKaDT89)J-7z@Q7~2w;GffSks``4eMVtH`v? zwvMjfw9j}Sr}UC?pvdfVaWW<|sG^^L^;+7K%Un-P$Qymrs86AL=CUp6mm!F6acos@?Xm2s z96m|s6@itD3;F-DRxrc>Y_^YcH8}3u1K@iJ(l9-1wE|wg06x4IKL`L)Uwo{5yh)#) s(&YN*)R_AG@BqxKF Date: Fri, 5 Aug 2022 12:58:48 +0000 Subject: [PATCH 148/422] Use multiple output frames in transformer MediaPipe demo pre API 23. PiperOrigin-RevId: 465545764 (cherry picked from commit 51a1a879faadf749348902c12b382b42d54cd202) --- demos/transformer/build.gradle | 3 ++ .../demo/transformer/MediaPipeProcessor.java | 44 +++---------------- 2 files changed, 9 insertions(+), 38 deletions(-) diff --git a/demos/transformer/build.gradle b/demos/transformer/build.gradle index 5cf69d2b773..16eb6c61013 100644 --- a/demos/transformer/build.gradle +++ b/demos/transformer/build.gradle @@ -20,6 +20,7 @@ android { compileSdkVersion project.ext.compileSdkVersion compileOptions { + coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } @@ -82,6 +83,8 @@ dependencies { implementation project(modulePrefix + 'lib-transformer') implementation project(modulePrefix + 'lib-ui') + coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' + // For MediaPipe and its dependencies: withMediaPipeImplementation fileTree(dir: 'libs', include: ['*.aar']) withMediaPipeImplementation 'com.google.flogger:flogger:latest.release' diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 8eaf1f19a5e..9f8c4597896 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -21,13 +21,9 @@ import android.content.Context; import android.opengl.EGL14; -import android.os.Build; -import androidx.annotation.ChecksSdkIntAtLeast; -import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.LibraryLoader; -import androidx.media3.common.util.Util; import androidx.media3.effect.GlTextureProcessor; import androidx.media3.effect.TextureInfo; import com.google.mediapipe.components.FrameProcessor; @@ -61,11 +57,7 @@ protected void loadLibrary(String name) { private final FrameProcessor frameProcessor; private volatile GlTextureProcessor.@MonotonicNonNull Listener listener; private volatile boolean acceptedFrame; - // Only available from API 23 and above. - @Nullable private final ConcurrentHashMap outputFrames; - // Used instead for API 21 and 22. - @Nullable private volatile TextureInfo outputTexture; - @Nullable private volatile TextureFrame outputFrame; + private final ConcurrentHashMap outputFrames; /** * Creates a new texture processor that wraps a MediaPipe graph. @@ -91,7 +83,7 @@ public MediaPipeProcessor( frameProcessor = new FrameProcessor( context, eglManager.getNativeContext(), graphName, inputStreamName, outputStreamName); - outputFrames = areMultipleOutputFramesSupported() ? new ConcurrentHashMap<>() : null; + outputFrames = new ConcurrentHashMap<>(); frameProcessor.setConsumer( frame -> { TextureInfo texture = @@ -100,12 +92,7 @@ public MediaPipeProcessor( /* fboId= */ C.INDEX_UNSET, frame.getWidth(), frame.getHeight()); - if (areMultipleOutputFramesSupported()) { - checkStateNotNull(outputFrames).put(texture, frame); - } else { - outputFrame = frame; - outputTexture = texture; - } + outputFrames.put(texture, frame); if (listener != null) { listener.onOutputFrameAvailable(texture, frame.getTimestamp()); } @@ -126,17 +113,13 @@ public void setListener(GlTextureProcessor.Listener listener) { @Override public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { - if (!areMultipleOutputFramesSupported() && outputTexture != null) { - return false; - } - acceptedFrame = false; AppTextureFrame appTextureFrame = new AppTextureFrame(inputTexture.texId, inputTexture.width, inputTexture.height); // TODO(b/238302213): Handle timestamps restarting from 0 when applying effects to a playlist. // MediaPipe will fail if the timestamps are not monotonically increasing. appTextureFrame.setTimestamp(presentationTimeUs); - checkStateNotNull(frameProcessor).onNewFrame(appTextureFrame); + frameProcessor.onNewFrame(appTextureFrame); try { appTextureFrame.waitUntilReleasedWithGpuSync(); } catch (InterruptedException e) { @@ -153,19 +136,12 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT @Override public void releaseOutputFrame(TextureInfo outputTexture) { - if (areMultipleOutputFramesSupported()) { - checkStateNotNull(checkStateNotNull(outputFrames).get(outputTexture)).release(); - } else { - checkState(Util.areEqual(outputTexture, this.outputTexture)); - this.outputTexture = null; - checkStateNotNull(outputFrame).release(); - outputFrame = null; - } + checkStateNotNull(outputFrames.get(outputTexture)).release(); } @Override public void release() { - checkStateNotNull(frameProcessor).close(); + frameProcessor.close(); } @Override @@ -175,12 +151,4 @@ public final void signalEndOfCurrentInputStream() { listener.onCurrentOutputStreamEnded(); } } - - @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.M) - private static boolean areMultipleOutputFramesSupported() { - // Android devices running Lollipop (API 21/22) have a bug in ConcurrentHashMap that can result - // in lost updates, so we only allow one output frame to be pending at a time to avoid using - // ConcurrentHashMap. - return Util.SDK_INT >= 23; - } } From 5dd796e14d10849fceac9f65a41ae816b7a75567 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 5 Aug 2022 14:49:23 +0000 Subject: [PATCH 149/422] Fix frame processor reference PiperOrigin-RevId: 465562260 (cherry picked from commit 16a325217abf0b52eb103b86164000c1e93cb1b3) --- .../androidx/media3/transformer/TransformationException.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index 98e8f31f0a4..44c5dad0f44 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -24,6 +24,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.Format; import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; import androidx.media3.common.PlaybackException; import androidx.media3.common.util.Clock; import androidx.media3.common.util.UnstableApi; @@ -275,7 +276,7 @@ public static TransformationException createForAudioProcessor( } /** - * Creates an instance for a {@link GlEffectsFrameProcessor} related exception. + * Creates an instance for a {@link FrameProcessor} related exception. * * @param cause The cause of the failure. * @param errorCode See {@link #errorCode}. From d523786aef8a285384b53344116aa2782ad30494 Mon Sep 17 00:00:00 2001 From: yschimke Date: Fri, 5 Aug 2022 14:51:07 +0000 Subject: [PATCH 150/422] Make AudioTrackBufferSizeProvider public. Was getting "java.lang.IllegalAccessError: Illegal class access" in debug app. PiperOrigin-RevId: 465562541 (cherry picked from commit 1cfde16efdca6aa6d217e90dedb67a7916c315a7) --- RELEASENOTES.md | 3 ++- .../java/androidx/media3/exoplayer/audio/DefaultAudioSink.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1da3719ab92..161c4c57c9e 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -12,9 +12,10 @@ * Limit parallel download removals to 1 to avoid excessive thread creation ([#10458](https://github.com/google/ExoPlayer/issues/10458)). * Audio: - * Adds AudioOffloadListener.onExperimentalOffloadedPlayback for the + * Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the AudioTrack offload state. ([#134](https://github.com/androidx/media/issues/134)). + * Make `AudioTrackBufferSizeProvider` a public interface. * Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index 4d6d7d1f4dc..1677c0636b8 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -234,7 +234,7 @@ public long getSkippedOutputFrameCount() { } /** Provides the buffer size to use when creating an {@link AudioTrack}. */ - interface AudioTrackBufferSizeProvider { + public interface AudioTrackBufferSizeProvider { /** Default instance. */ AudioTrackBufferSizeProvider DEFAULT = new DefaultAudioTrackBufferSizeProvider.Builder().build(); From bb57996c5366f93997d2d4168986ba0cd2e7b8d7 Mon Sep 17 00:00:00 2001 From: hschlueter Date: Fri, 5 Aug 2022 14:56:54 +0000 Subject: [PATCH 151/422] Fix ConcurrentHashMap usage in demo MediaPipeProcessor. PiperOrigin-RevId: 465563540 (cherry picked from commit c95bfe325d75c991937fb8e2ecda58e59b6ca8df) --- .../androidx/media3/demo/transformer/MediaPipeProcessor.java | 1 - 1 file changed, 1 deletion(-) diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 9f8c4597896..231ba002329 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -69,7 +69,6 @@ protected void loadLibrary(String name) { * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. */ - @SuppressWarnings("AndroidConcurrentHashMap") // Only used on API >= 23. public MediaPipeProcessor( Context context, boolean useHdr, From 99202c5568165a30eb74990fe8081773fdb68816 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 5 Aug 2022 16:02:07 +0000 Subject: [PATCH 152/422] Clarify SSIM request method name `requestCalculateSsim` more clearly represents the intention of the caller. Also rephrase the javadoc to simplify it and make it more precise. PiperOrigin-RevId: 465575578 (cherry picked from commit 2eb59fa1af823ff66fcf384f567a92e55c35b683) --- .../TransformerAndroidTestRunner.java | 31 +++++++++---------- .../transformer/mh/TranscodeQualityTest.java | 6 ++-- .../transformer/mh/TransformationTest.java | 10 +++--- .../mh/analysis/BitrateAnalysisTest.java | 2 +- .../mh/analysis/SsimMapperTest.java | 2 +- 5 files changed, 25 insertions(+), 26 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java index e5a173c86bb..13c1bc4db78 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerAndroidTestRunner.java @@ -52,7 +52,7 @@ public class TransformerAndroidTestRunner { public static class Builder { private final Context context; private final Transformer transformer; - private boolean maybeCalculateSsim; + private boolean requestCalculateSsim; private int timeoutSeconds; private boolean suppressAnalysisExceptions; @Nullable private Map inputValues; @@ -85,22 +85,21 @@ public Builder setTimeoutSeconds(int timeoutSeconds) { } /** - * Sets whether to try to calculate the SSIM of the transformation output. + * Sets whether to calculate the SSIM of the transformation output compared to the input, if + * supported. Calculating SSIM is not supported if the input and output video dimensions don't + * match, or if the input video is trimmed. * - *

      SSIM requires the input and output video dimensions to match. Therefore, if encoder - * resolution fallback occurs, this calculation is skipped. - * - *

      The calculation involves decoding and comparing both the input and the output video. - * Consequently this calculation is not cost-free. + *

      Calculating SSIM involves decoding and comparing frames of the expected and actual videos, + * which will increase the runtime of the test. * *

      The default value is {@code false}. * - * @param maybeCalculateSsim Whether to try to calculate SSIM. + * @param requestCalculateSsim Whether to calculate SSIM, if supported. * @return This {@link Builder}. */ @CanIgnoreReturnValue - public Builder setMaybeCalculateSsim(boolean maybeCalculateSsim) { - this.maybeCalculateSsim = maybeCalculateSsim; + public Builder setRequestCalculateSsim(boolean requestCalculateSsim) { + this.requestCalculateSsim = requestCalculateSsim; return this; } @@ -146,7 +145,7 @@ public TransformerAndroidTestRunner build() { context, transformer, timeoutSeconds, - maybeCalculateSsim, + requestCalculateSsim, suppressAnalysisExceptions, inputValues); } @@ -156,7 +155,7 @@ public TransformerAndroidTestRunner build() { private final CodecNameForwardingCodecFactory transformerCodecFactory; private final Transformer transformer; private final int timeoutSeconds; - private final boolean maybeCalculateSsim; + private final boolean requestCalculateSsim; private final boolean suppressAnalysisExceptions; @Nullable private final Map inputValues; @@ -164,7 +163,7 @@ private TransformerAndroidTestRunner( Context context, Transformer transformer, int timeoutSeconds, - boolean maybeCalculateSsim, + boolean requestCalculateSsim, boolean suppressAnalysisExceptions, @Nullable Map inputValues) { this.context = context; @@ -177,7 +176,7 @@ private TransformerAndroidTestRunner( .setEncoderFactory(transformerCodecFactory) .build(); this.timeoutSeconds = timeoutSeconds; - this.maybeCalculateSsim = maybeCalculateSsim; + this.requestCalculateSsim = requestCalculateSsim; this.suppressAnalysisExceptions = suppressAnalysisExceptions; this.inputValues = inputValues; } @@ -229,7 +228,7 @@ public TransformationTestResult run(String testId, MediaItem mediaItem) throws E private TransformationTestResult runInternal(String testId, MediaItem mediaItem) throws InterruptedException, IOException, TimeoutException, TransformationException { if (!mediaItem.clippingConfiguration.equals(MediaItem.ClippingConfiguration.UNSET) - && maybeCalculateSsim) { + && requestCalculateSsim) { throw new UnsupportedOperationException( "SSIM calculation is not supported for clipped inputs."); } @@ -323,7 +322,7 @@ public void onFallbackApplied( .setFilePath(outputVideoFile.getPath()) .setElapsedTimeMs(elapsedTimeMs); - if (!maybeCalculateSsim) { + if (!requestCalculateSsim) { return resultBuilder.build(); } if (fallbackResolutionApplied.get()) { diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java index 1568f9002de..36ba9e6f7d0 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TranscodeQualityTest.java @@ -67,7 +67,7 @@ public void transformHighQualityTargetingAvcToAvc1920x1080_ssimIsGreaterThan95Pe TransformationTestResult result = new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run( testId, @@ -104,7 +104,7 @@ public void transcodeAvcToHevc_ssimIsGreaterThan90Percent() throws Exception { TransformationTestResult result = new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run( testId, @@ -134,7 +134,7 @@ public void transcodeAvcToAvc320x240_ssimIsGreaterThan90Percent() throws Excepti TransformationTestResult result = new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run( testId, diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java index edfd6101abf..94d01294533 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/TransformationTest.java @@ -55,7 +55,7 @@ public void transform() throws Exception { .setEncoderFactory(new ForceEncodeEncoderFactory(context)) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run(testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING))); } @@ -86,7 +86,7 @@ public void transformToSpecificBitrate() throws Exception { .build())) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run(testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING))); } @@ -109,7 +109,7 @@ public void transform4K60() throws Exception { .setEncoderFactory(new ForceEncodeEncoderFactory(context)) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .setTimeoutSeconds(180) .build() .run(testId, MediaItem.fromUri(Uri.parse(MP4_REMOTE_4K60_PORTRAIT_URI_STRING))); @@ -132,7 +132,7 @@ public void transform8K24() throws Exception { .setEncoderFactory(new ForceEncodeEncoderFactory(context)) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .setTimeoutSeconds(180) .build() .run(testId, MediaItem.fromUri(Uri.parse(MP4_REMOTE_8K24_URI_STRING))); @@ -148,7 +148,7 @@ public void transformNoAudio() throws Exception { .setRemoveAudio(true) .build(); new TransformerAndroidTestRunner.Builder(context, transformer) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run(testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_WITH_INCREASING_TIMESTAMPS_URI_STRING))); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java index bfe17ca98b2..14dc4d850d2 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/BitrateAnalysisTest.java @@ -157,7 +157,7 @@ public void analyzeBitrate() throws Exception { new TransformerAndroidTestRunner.Builder(context, transformer) .setInputValues(inputValues) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run(testId, MediaItem.fromUri(Uri.parse(fileUri))); } diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java index b668ffbe872..ad770dec4d2 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/SsimMapperTest.java @@ -306,7 +306,7 @@ private double transformAndGetSsim(int bitrate) throws Exception { double ssim = new TransformerAndroidTestRunner.Builder(context, transformer) .setInputValues(inputValues) - .setMaybeCalculateSsim(true) + .setRequestCalculateSsim(true) .build() .run(testId, MediaItem.fromUri(Uri.parse(videoUri))) .ssim; From 08bbb79c211abf59a6a3ecf1e982a53f0a2892e6 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 5 Aug 2022 16:49:26 +0000 Subject: [PATCH 153/422] Throw if tone-mapping is requested but not enabled In the case where this check fails, the downstream frame processor chain won't be able to handle the incoming (SDR) data anyway as we've already set it up for HDR. PiperOrigin-RevId: 465584814 (cherry picked from commit 2bd1a93d27fbc1615c55edb200917f5d5a1891b4) --- .../media3/transformer/DefaultCodec.java | 57 +++++++++++++------ 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index c8331510a94..99ec6ece721 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -16,6 +16,7 @@ package androidx.media3.transformer; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; @@ -27,7 +28,9 @@ import android.media.MediaCrypto; import android.media.MediaFormat; import android.view.Surface; +import androidx.annotation.DoNotInline; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; @@ -36,6 +39,7 @@ import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import com.google.common.base.Ascii; import com.google.common.collect.ImmutableList; @@ -56,12 +60,8 @@ public final class DefaultCodec implements Codec { private final MediaFormat configurationMediaFormat; private final Format configurationFormat; - /** The expected {@link ColorInfo} output from the codec. */ - @Nullable private final ColorInfo configuredOutputColor; - private final MediaCodec mediaCodec; @Nullable private final Surface inputSurface; - private final boolean decoderNeedsFrameDroppingWorkaround; private @MonotonicNonNull Format outputFormat; @@ -103,8 +103,18 @@ public DefaultCodec( @Nullable MediaCodec mediaCodec = null; @Nullable Surface inputSurface = null; try { + boolean requestedHdrToneMapping = + Util.SDK_INT >= 29 && Api29.isSdrToneMappingEnabled(configurationMediaFormat); mediaCodec = MediaCodec.createByCodecName(mediaCodecName); configureCodec(mediaCodec, configurationMediaFormat, isDecoder, outputSurface); + if (SDK_INT >= 29 && requestedHdrToneMapping) { + // The MediaCodec input format reflects whether tone-mapping is possible after configure(). + // See + // https://developer.android.com/reference/android/media/MediaFormat#KEY_COLOR_TRANSFER_REQUEST. + checkArgument( + Api29.isSdrToneMappingEnabled(mediaCodec.getInputFormat()), + "Tone-mapping requested but not supported by the decoder"); + } if (isVideo && !isDecoder) { inputSurface = mediaCodec.createInputSurface(); } @@ -121,12 +131,6 @@ public DefaultCodec( e, configurationMediaFormat, isVideo, isDecoder, mediaCodecName); } this.mediaCodec = mediaCodec; - boolean toneMapRequested = - SDK_INT >= 31 - && isDecoder - && (configurationMediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER_REQUEST, 0) - == MediaFormat.COLOR_TRANSFER_SDR_VIDEO); - configuredOutputColor = toneMapRequested ? null : configurationFormat.colorInfo; this.inputSurface = inputSurface; decoderNeedsFrameDroppingWorkaround = decoderNeedsFrameDroppingWorkaround(context); } @@ -283,11 +287,7 @@ public void release() { */ @Override public String getName() { - if (SDK_INT >= 29) { - return mediaCodec.getCanonicalName(); - } - - return mediaCodec.getName(); + return SDK_INT >= 29 ? Api29.getCanonicalName(mediaCodec) : mediaCodec.getName(); } @VisibleForTesting @@ -320,15 +320,19 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo if (outputBufferIndex < 0) { if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { outputFormat = convertToFormat(mediaCodec.getOutputFormat()); - if (!areColorTransfersEqual(configuredOutputColor, outputFormat.colorInfo)) { + boolean isToneMappingEnabled = + SDK_INT >= 29 && Api29.isSdrToneMappingEnabled(configurationMediaFormat); + ColorInfo expectedColorInfo = + isToneMappingEnabled ? ColorInfo.SDR_BT709_LIMITED : configurationFormat.colorInfo; + if (!areColorTransfersEqual(expectedColorInfo, outputFormat.colorInfo)) { // TODO(b/237674316): These exceptions throw when the container ColorInfo doesn't match // the video ColorInfo. Instead of throwing when seeing unexpected ColorInfos, consider // reconfiguring downstream components (ex. FrameProcessor and encoder) when different // ColorInfo values are output. throw createTransformationException( new IllegalStateException( - "Codec output color format does not match configured color format. Configured: " - + configuredOutputColor + "Codec output color format does not match configured color format. Expected: " + + expectedColorInfo + ". Actual: " + outputFormat.colorInfo)); } @@ -480,4 +484,21 @@ private static boolean decoderNeedsFrameDroppingWorkaround(Context context) { return SDK_INT < 29 || context.getApplicationContext().getApplicationInfo().targetSdkVersion < 29; } + + @RequiresApi(29) + private static final class Api29 { + @DoNotInline + public static String getCanonicalName(MediaCodec mediaCodec) { + return mediaCodec.getCanonicalName(); + } + + @DoNotInline + public static boolean isSdrToneMappingEnabled(MediaFormat mediaFormat) { + // MediaFormat.getInteger(String, int) was added in API 29 but applying a color transfer + // request is only possible from API 31. + return SDK_INT >= 31 + && mediaFormat.getInteger(MediaFormat.KEY_COLOR_TRANSFER_REQUEST, /* defaultValue= */ 0) + == MediaFormat.COLOR_TRANSFER_SDR_VIDEO; + } + } } From 1bbb5df4109ee6d52523b84a970111567a08a8f3 Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 5 Aug 2022 17:20:54 +0000 Subject: [PATCH 154/422] Switch @param to @code tags in RgbAdjustment. PiperOrigin-RevId: 465591877 (cherry picked from commit fe0cf0528318abf1a9a7a8f75bcce402235f961a) --- .../src/main/java/androidx/media3/effect/RgbAdjustment.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java index 8673131e555..3356b7ba883 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java @@ -40,7 +40,7 @@ public Builder() { } /** - * Scales the red channel of the frame by {@param redScale}. + * Scales the red channel of the frame by {@code redScale}. * * @param redScale The scale to apply to the red channel. Needs to be non-negative and the * default value is {@code 1}. @@ -53,7 +53,7 @@ public Builder setRedScale(float redScale) { } /** - * Scales the green channel of the frame by {@param greenScale}. + * Scales the green channel of the frame by {@code greenScale}. * * @param greenScale The scale to apply to the green channel. Needs to be non-negative and the * default value is {@code 1}. @@ -66,7 +66,7 @@ public Builder setGreenScale(float greenScale) { } /** - * Scales the blue channel of the frame by {@param blueScale}. + * Scales the blue channel of the frame by {@code blueScale}. * * @param blueScale The scale to apply to the blue channel. Needs to be non-negative and the * default value is {@code 1}. From dbf32af099dacfe56c34b312257fffb9ce026427 Mon Sep 17 00:00:00 2001 From: hmzh Date: Mon, 8 Aug 2022 12:35:28 +0000 Subject: [PATCH 155/422] Add support for multiple mid-track tempo changes PiperOrigin-RevId: 466018462 (cherry picked from commit 22b00d0e00d695960fa609fee8a6cb3986bb3e61) --- .../extractordumps/midi/Twinkle.mid.0.dump | 28 ++-- .../midi/Twinkle.mid.unknown_length.dump | 28 ++-- .../mid_note_tempo_changes_simple.mid.dump | 88 ++++++++++++ .../midi/multi_note_tempo_changes.mid.dump | 136 ++++++++++++++++++ .../midi/mid_note_tempo_changes_simple.mid | Bin 0 -> 94 bytes .../media/midi/multi_note_tempo_changes.mid | Bin 0 -> 144 bytes 6 files changed, 252 insertions(+), 28 deletions(-) create mode 100644 libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump create mode 100644 libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump create mode 100644 libraries/test_data/src/test/assets/media/midi/mid_note_tempo_changes_simple.mid create mode 100644 libraries/test_data/src/test/assets/media/midi/multi_note_tempo_changes.mid diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump index e59fbf7a775..4aaff5e9a10 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump @@ -40,7 +40,7 @@ track 0: sample 7: time = 500000 flags = 1 - data = length 3, hash FFFED733 + data = length 3, hash FFFE9B23 sample 8: time = 500000 flags = 1 @@ -64,7 +64,7 @@ track 0: sample 13: time = 1000000 flags = 1 - data = length 3, hash FFFED733 + data = length 3, hash FFFE9B23 sample 14: time = 1000000 flags = 1 @@ -88,7 +88,7 @@ track 0: sample 19: time = 1500000 flags = 1 - data = length 3, hash FFFED80C + data = length 3, hash FFFE9BFC sample 20: time = 1500000 flags = 1 @@ -112,7 +112,7 @@ track 0: sample 25: time = 2000000 flags = 1 - data = length 3, hash FFFED80C + data = length 3, hash FFFE9BFC sample 26: time = 2000000 flags = 1 @@ -136,7 +136,7 @@ track 0: sample 31: time = 2500000 flags = 1 - data = length 3, hash FFFED84A + data = length 3, hash FFFE9C3A sample 32: time = 2500000 flags = 1 @@ -160,7 +160,7 @@ track 0: sample 37: time = 3000000 flags = 1 - data = length 3, hash FFFED84A + data = length 3, hash FFFE9C3A sample 38: time = 3000000 flags = 1 @@ -204,7 +204,7 @@ track 0: sample 48: time = 4000000 flags = 1 - data = length 3, hash FFFED80C + data = length 3, hash FFFE9BFC sample 49: time = 4000000 flags = 1 @@ -228,7 +228,7 @@ track 0: sample 54: time = 4500000 flags = 1 - data = length 3, hash FFFED7CE + data = length 3, hash FFFE9BBE sample 55: time = 4500000 flags = 1 @@ -252,7 +252,7 @@ track 0: sample 60: time = 5000000 flags = 1 - data = length 3, hash FFFED7CE + data = length 3, hash FFFE9BBE sample 61: time = 5000000 flags = 1 @@ -268,7 +268,7 @@ track 0: sample 64: time = 5250000 flags = 1 - data = length 3, hash FFFED7AF + data = length 3, hash FFFE9B9F sample 65: time = 5350000 flags = 1 @@ -292,7 +292,7 @@ track 0: sample 70: time = 5750000 flags = 1 - data = length 3, hash FFFED7AF + data = length 3, hash FFFE9B9F sample 71: time = 5850000 flags = 1 @@ -316,7 +316,7 @@ track 0: sample 76: time = 6250000 flags = 1 - data = length 3, hash FFFED771 + data = length 3, hash FFFE9B61 sample 77: time = 6350000 flags = 1 @@ -340,7 +340,7 @@ track 0: sample 82: time = 6750000 flags = 1 - data = length 3, hash FFFED771 + data = length 3, hash FFFE9B61 sample 83: time = 6850000 flags = 1 @@ -392,5 +392,5 @@ track 0: sample 95: time = 8000000 flags = 1 - data = length 3, hash FFFED733 + data = length 3, hash FFFE9B23 tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump index e59fbf7a775..4aaff5e9a10 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump @@ -40,7 +40,7 @@ track 0: sample 7: time = 500000 flags = 1 - data = length 3, hash FFFED733 + data = length 3, hash FFFE9B23 sample 8: time = 500000 flags = 1 @@ -64,7 +64,7 @@ track 0: sample 13: time = 1000000 flags = 1 - data = length 3, hash FFFED733 + data = length 3, hash FFFE9B23 sample 14: time = 1000000 flags = 1 @@ -88,7 +88,7 @@ track 0: sample 19: time = 1500000 flags = 1 - data = length 3, hash FFFED80C + data = length 3, hash FFFE9BFC sample 20: time = 1500000 flags = 1 @@ -112,7 +112,7 @@ track 0: sample 25: time = 2000000 flags = 1 - data = length 3, hash FFFED80C + data = length 3, hash FFFE9BFC sample 26: time = 2000000 flags = 1 @@ -136,7 +136,7 @@ track 0: sample 31: time = 2500000 flags = 1 - data = length 3, hash FFFED84A + data = length 3, hash FFFE9C3A sample 32: time = 2500000 flags = 1 @@ -160,7 +160,7 @@ track 0: sample 37: time = 3000000 flags = 1 - data = length 3, hash FFFED84A + data = length 3, hash FFFE9C3A sample 38: time = 3000000 flags = 1 @@ -204,7 +204,7 @@ track 0: sample 48: time = 4000000 flags = 1 - data = length 3, hash FFFED80C + data = length 3, hash FFFE9BFC sample 49: time = 4000000 flags = 1 @@ -228,7 +228,7 @@ track 0: sample 54: time = 4500000 flags = 1 - data = length 3, hash FFFED7CE + data = length 3, hash FFFE9BBE sample 55: time = 4500000 flags = 1 @@ -252,7 +252,7 @@ track 0: sample 60: time = 5000000 flags = 1 - data = length 3, hash FFFED7CE + data = length 3, hash FFFE9BBE sample 61: time = 5000000 flags = 1 @@ -268,7 +268,7 @@ track 0: sample 64: time = 5250000 flags = 1 - data = length 3, hash FFFED7AF + data = length 3, hash FFFE9B9F sample 65: time = 5350000 flags = 1 @@ -292,7 +292,7 @@ track 0: sample 70: time = 5750000 flags = 1 - data = length 3, hash FFFED7AF + data = length 3, hash FFFE9B9F sample 71: time = 5850000 flags = 1 @@ -316,7 +316,7 @@ track 0: sample 76: time = 6250000 flags = 1 - data = length 3, hash FFFED771 + data = length 3, hash FFFE9B61 sample 77: time = 6350000 flags = 1 @@ -340,7 +340,7 @@ track 0: sample 82: time = 6750000 flags = 1 - data = length 3, hash FFFED771 + data = length 3, hash FFFE9B61 sample 83: time = 6850000 flags = 1 @@ -392,5 +392,5 @@ track 0: sample 95: time = 8000000 flags = 1 - data = length 3, hash FFFED733 + data = length 3, hash FFFE9B23 tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump b/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump new file mode 100644 index 00000000000..b5020c01962 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump @@ -0,0 +1,88 @@ +seekMap: + isSeekable = true + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=14]] + getPosition(1) = [[timeUs=1, position=14]] +numberOfTracks = 1 +track 0: + total output bytes = 43 + sample count = 19 + format 0: + sampleMimeType = audio/midi + sample 0: + time = 0 + flags = 1 + data = length 3, hash 70FB + sample 1: + time = 0 + flags = 1 + data = length 3, hash FFFEDCE7 + sample 2: + time = 0 + flags = 1 + data = length 7, hash C95FA238 + sample 3: + time = 0 + flags = 1 + data = length 6, hash 37A83E76 + sample 4: + time = 100000 + flags = 1 + data = length 0, hash 1 + sample 5: + time = 200000 + flags = 1 + data = length 0, hash 1 + sample 6: + time = 300000 + flags = 1 + data = length 0, hash 1 + sample 7: + time = 400000 + flags = 1 + data = length 0, hash 1 + sample 8: + time = 500000 + flags = 1 + data = length 6, hash 37A84514 + sample 9: + time = 600000 + flags = 1 + data = length 0, hash 1 + sample 10: + time = 700000 + flags = 1 + data = length 0, hash 1 + sample 11: + time = 800000 + flags = 1 + data = length 0, hash 1 + sample 12: + time = 833333 + flags = 1 + data = length 6, hash 37A83493 + sample 13: + time = 933333 + flags = 1 + data = length 0, hash 1 + sample 14: + time = 1033333 + flags = 1 + data = length 0, hash 1 + sample 15: + time = 1083333 + flags = 1 + data = length 6, hash 37A83CA6 + sample 16: + time = 1183333 + flags = 1 + data = length 0, hash 1 + sample 17: + time = 1283333 + flags = 1 + data = length 3, hash FFFEA058 + sample 18: + time = 1283333 + flags = 1 + data = length 3, hash FFFF4CA9 +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump b/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump new file mode 100644 index 00000000000..bdc7bdea283 --- /dev/null +++ b/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump @@ -0,0 +1,136 @@ +seekMap: + isSeekable = true + duration = UNSET TIME + getPosition(0) = [[timeUs=0, position=14]] + getPosition(1) = [[timeUs=1, position=14]] +numberOfTracks = 1 +track 0: + total output bytes = 78 + sample count = 31 + format 0: + sampleMimeType = audio/midi + sample 0: + time = 0 + flags = 1 + data = length 3, hash 70FB + sample 1: + time = 0 + flags = 1 + data = length 3, hash FFFF5A77 + sample 2: + time = 0 + flags = 1 + data = length 7, hash C95FA238 + sample 3: + time = 0 + flags = 1 + data = length 3, hash 70FB + sample 4: + time = 0 + flags = 1 + data = length 6, hash 37A83E76 + sample 5: + time = 0 + flags = 1 + data = length 3, hash FFFF4D46 + sample 6: + time = 0 + flags = 1 + data = length 3, hash FFFF4D0D + sample 7: + time = 0 + flags = 1 + data = length 3, hash FFFF4DA4 + sample 8: + time = 0 + flags = 1 + data = length 3, hash 40 + sample 9: + time = 0 + flags = 1 + data = length 2, hash FFFFFC20 + sample 10: + time = 0 + flags = 1 + data = length 3, hash FFFEDCE7 + sample 11: + time = 100000 + flags = 1 + data = length 0, hash 1 + sample 12: + time = 200000 + flags = 1 + data = length 0, hash 1 + sample 13: + time = 300000 + flags = 1 + data = length 0, hash 1 + sample 14: + time = 400000 + flags = 1 + data = length 0, hash 1 + sample 15: + time = 500000 + flags = 1 + data = length 6, hash 37A84514 + sample 16: + time = 500000 + flags = 1 + data = length 3, hash FFFEDD63 + sample 17: + time = 600000 + flags = 1 + data = length 0, hash 1 + sample 18: + time = 700000 + flags = 1 + data = length 0, hash 1 + sample 19: + time = 800000 + flags = 1 + data = length 0, hash 1 + sample 20: + time = 833333 + flags = 1 + data = length 3, hash FFFEA0D4 + sample 21: + time = 833333 + flags = 1 + data = length 6, hash 37A83493 + sample 22: + time = 833333 + flags = 1 + data = length 3, hash FFFEDDC0 + sample 23: + time = 933333 + flags = 1 + data = length 0, hash 1 + sample 24: + time = 1033333 + flags = 1 + data = length 0, hash 1 + sample 25: + time = 1083333 + flags = 1 + data = length 6, hash 37A83CA6 + sample 26: + time = 1083333 + flags = 1 + data = length 3, hash FFFEA131 + sample 27: + time = 1083333 + flags = 1 + data = length 3, hash FFFEDE1D + sample 28: + time = 1183333 + flags = 1 + data = length 0, hash 1 + sample 29: + time = 1283333 + flags = 1 + data = length 3, hash FFFEA058 + sample 30: + time = 1283333 + flags = 1 + data = length 3, hash FFFEA18E +tracksEnded = true diff --git a/libraries/test_data/src/test/assets/media/midi/mid_note_tempo_changes_simple.mid b/libraries/test_data/src/test/assets/media/midi/mid_note_tempo_changes_simple.mid new file mode 100644 index 0000000000000000000000000000000000000000..c256edce1c66ed63591068c0cb596336a037dd67 GIT binary patch literal 94 zcmeYb$w*;fU|?flWME=^;2Tnu4dm%F{AXrh_#eT-!X&}L@IR25eW5~g0+41E69v=E g7bZYxUI&K%`V3HQf(#Qq>iZcQJs21^vNM1r08Qc;djJ3c literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/midi/multi_note_tempo_changes.mid b/libraries/test_data/src/test/assets/media/midi/multi_note_tempo_changes.mid new file mode 100644 index 0000000000000000000000000000000000000000..686eb5fb272532b66ea6798c2310175728348ec7 GIT binary patch literal 144 zcmeYb$w*;fU|?flWME=^;2Tnu4dm%F{AXrh_#eT-!X&}L@IR25eW5~g0+41E69v=E z7bZYxUI&K%`V3HQ&I}tX8NgaMayc+;WKUt($X(CykimiBAOpihkNW0>i9SH0(Fe%$ V2QmDCj35xhgMpzj2&h$`0RYCcDBl18 literal 0 HcmV?d00001 From 5385cc0422293ed02a8268005173189af809b883 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 8 Aug 2022 13:20:34 +0000 Subject: [PATCH 156/422] Remove unused log tag constant PiperOrigin-RevId: 466025324 (cherry picked from commit 2315a39f5240a422e915c4953d159db9eb439b27) --- .../media3/transformer/VideoTranscodingSamplePipeline.java | 1 - 1 file changed, 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 9032f622560..912efd5bffe 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -47,7 +47,6 @@ * Pipeline to decode video samples, apply transformations on the raw samples, and re-encode them. */ /* package */ final class VideoTranscodingSamplePipeline implements SamplePipeline { - private static final String TAG = "VideoTranscodingSP"; private final int maxPendingFrameCount; From dc29b44f0564d0692073ce0b7db9e36c6e778520 Mon Sep 17 00:00:00 2001 From: hmzh Date: Mon, 8 Aug 2022 14:02:08 +0000 Subject: [PATCH 157/422] Add a custom MIME type for MIDI PiperOrigin-RevId: 466032455 (cherry picked from commit 579f25802a7d51b712c80e2045a76697be0a72e8) --- .../src/main/java/androidx/media3/common/MimeTypes.java | 6 +++++- .../src/test/assets/extractordumps/midi/Twinkle.mid.0.dump | 3 ++- .../extractordumps/midi/Twinkle.mid.unknown_length.dump | 3 ++- .../midi/mid_note_tempo_changes_simple.mid.dump | 3 ++- .../extractordumps/midi/multi_note_tempo_changes.mid.dump | 3 ++- .../midi/seek_test_with_non_note_events.mid.dump | 3 ++- 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java b/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java index 28928ba15a1..859773b2a66 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java +++ b/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java @@ -91,11 +91,15 @@ public final class MimeTypes { public static final String AUDIO_AMR_NB = BASE_TYPE_AUDIO + "/3gpp"; public static final String AUDIO_AMR_WB = BASE_TYPE_AUDIO + "/amr-wb"; public static final String AUDIO_FLAC = BASE_TYPE_AUDIO + "/flac"; - public static final String AUDIO_MIDI = BASE_TYPE_AUDIO + "/midi"; public static final String AUDIO_ALAC = BASE_TYPE_AUDIO + "/alac"; public static final String AUDIO_MSGSM = BASE_TYPE_AUDIO + "/gsm"; public static final String AUDIO_OGG = BASE_TYPE_AUDIO + "/ogg"; public static final String AUDIO_WAV = BASE_TYPE_AUDIO + "/wav"; + public static final String AUDIO_MIDI = BASE_TYPE_AUDIO + "/midi"; + + @UnstableApi + public static final String AUDIO_EXOPLAYER_MIDI = BASE_TYPE_AUDIO + "/x-exoplayer-midi"; + @UnstableApi public static final String AUDIO_UNKNOWN = BASE_TYPE_AUDIO + "/x-unknown"; // text/ MIME types diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump index 4aaff5e9a10..0e660017e40 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump @@ -8,7 +8,8 @@ track 0: total output bytes = 96 sample count = 96 format 0: - sampleMimeType = audio/midi + sampleMimeType = audio/x-exoplayer-midi + codecs = audio/midi sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump index 4aaff5e9a10..0e660017e40 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump @@ -8,7 +8,8 @@ track 0: total output bytes = 96 sample count = 96 format 0: - sampleMimeType = audio/midi + sampleMimeType = audio/x-exoplayer-midi + codecs = audio/midi sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump b/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump index b5020c01962..639be7c8710 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/mid_note_tempo_changes_simple.mid.dump @@ -8,7 +8,8 @@ track 0: total output bytes = 43 sample count = 19 format 0: - sampleMimeType = audio/midi + sampleMimeType = audio/x-exoplayer-midi + codecs = audio/midi sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump b/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump index bdc7bdea283..0542bd5814d 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/multi_note_tempo_changes.mid.dump @@ -8,7 +8,8 @@ track 0: total output bytes = 78 sample count = 31 format 0: - sampleMimeType = audio/midi + sampleMimeType = audio/x-exoplayer-midi + codecs = audio/midi sample 0: time = 0 flags = 1 diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump b/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump index 1f006f540cf..81739c85a05 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/seek_test_with_non_note_events.mid.dump @@ -8,7 +8,8 @@ track 0: total output bytes = 31 sample count = 23 format 0: - sampleMimeType = audio/midi + sampleMimeType = audio/x-exoplayer-midi + codecs = audio/midi sample 0: time = 0 flags = -2147483647 From 37274c91de637eaff0ee3327b96349094d25d52c Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 8 Aug 2022 16:55:22 +0000 Subject: [PATCH 158/422] HDR: Input ColorInfo to the FrameProcessor. This allows the GlEffectsFrameProcessor to later handle HLG and PQ differently, or limited and full color range differently. No functional change intended in this CL. PiperOrigin-RevId: 466070764 (cherry picked from commit 536d42c865fd692c1d1799082077906287a2c3f0) --- .../androidx/media3/common/ColorInfo.java | 7 +- .../media3/common/FrameProcessor.java | 6 +- .../GlEffectsFrameProcessorPixelTest.java | 3 +- ...lMatrixTransformationProcessorWrapper.java | 16 +-- .../effect/GlEffectsFrameProcessor.java | 21 +-- .../effect/MatrixTransformationProcessor.java | 135 ++++++++++++------ .../VideoTranscodingSamplePipeline.java | 50 ++++--- 7 files changed, 157 insertions(+), 81 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index a4b871a64f3..b1ee2673266 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -28,7 +28,12 @@ import java.util.Arrays; import org.checkerframework.dataflow.qual.Pure; -/** Stores color info. */ +/** + * Stores color info. + * + *

      When a {@code null} {@code ColorInfo} instance is used, this often represents a generic {@link + * #SDR_BT709_LIMITED} instance. + */ @UnstableApi public final class ColorInfo implements Bundleable { diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index 491545f9338..c52bbb922eb 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -46,17 +46,17 @@ interface Factory { * @param listener A {@link Listener}. * @param effects The {@link Effect} instances to apply to each frame. * @param debugViewProvider A {@link DebugViewProvider}. - * @param useHdr Whether to process the input as an HDR signal. + * @param colorInfo The {@link ColorInfo} for input and output frames. * @return A new instance. * @throws FrameProcessingException If a problem occurs while creating the {@link * FrameProcessor}. */ FrameProcessor create( Context context, - FrameProcessor.Listener listener, + Listener listener, List effects, DebugViewProvider debugViewProvider, - boolean useHdr) + ColorInfo colorInfo) throws FrameProcessingException; } diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index f36270b2cd9..5ccb2491fb4 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -34,6 +34,7 @@ import android.media.MediaFormat; import android.util.Pair; import androidx.annotation.Nullable; +import androidx.media3.common.ColorInfo; import androidx.media3.common.DebugViewProvider; import androidx.media3.common.Effect; import androidx.media3.common.FrameInfo; @@ -388,7 +389,7 @@ public void onFrameProcessingEnded() { }, effects, DebugViewProvider.NONE, - /* useHdr= */ false)); + ColorInfo.SDR_BT709_LIMITED)); glEffectsFrameProcessor.setInputFrameInfo( new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio, /* streamOffsetUs= */ 0)); glEffectsFrameProcessor.registerInputFrame(); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index 77801f3774a..a114e7dd47f 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -33,6 +33,7 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.DebugViewProvider; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.FrameProcessor; @@ -69,7 +70,7 @@ private final DebugViewProvider debugViewProvider; private final FrameProcessor.Listener frameProcessorListener; private final boolean sampleFromExternalTexture; - private final boolean useHdr; + private final ColorInfo colorInfo; private final float[] textureTransformMatrix; private final Queue streamOffsetUsQueue; @@ -91,8 +92,6 @@ @Nullable private EGLSurface outputEglSurface; - // TODO(b/227624622): Instead of inputting useHdr, input ColorInfo to handle HLG and PQ - // differently. public FinalMatrixTransformationProcessorWrapper( Context context, EGLDisplay eglDisplay, @@ -101,7 +100,7 @@ public FinalMatrixTransformationProcessorWrapper( FrameProcessor.Listener frameProcessorListener, DebugViewProvider debugViewProvider, boolean sampleFromExternalTexture, - boolean useHdr) { + ColorInfo colorInfo) { this.context = context; this.matrixTransformations = matrixTransformations; this.eglDisplay = eglDisplay; @@ -109,7 +108,7 @@ public FinalMatrixTransformationProcessorWrapper( this.debugViewProvider = debugViewProvider; this.frameProcessorListener = frameProcessorListener; this.sampleFromExternalTexture = sampleFromExternalTexture; - this.useHdr = useHdr; + this.colorInfo = colorInfo; textureTransformMatrix = new float[16]; Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); @@ -215,7 +214,8 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; @Nullable EGLSurface outputEglSurface = this.outputEglSurface; if (outputEglSurface == null) { - if (useHdr) { + boolean colorInfoIsHdr = ColorInfo.isHdr(colorInfo); + if (colorInfoIsHdr) { outputEglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, outputSurfaceInfo.surface); } else { outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); @@ -227,7 +227,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) outputSurfaceInfo.width, outputSurfaceInfo.height); if (debugSurfaceView != null && !Util.areEqual(this.debugSurfaceView, debugSurfaceView)) { debugSurfaceViewWrapper = - new SurfaceViewWrapper(eglDisplay, eglContext, useHdr, debugSurfaceView); + new SurfaceViewWrapper(eglDisplay, eglContext, colorInfoIsHdr, debugSurfaceView); } this.debugSurfaceView = debugSurfaceView; } @@ -266,7 +266,7 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp context, matrixTransformationListBuilder.build(), sampleFromExternalTexture, - useHdr, + colorInfo, /* outputOpticalColors= */ true); matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); Pair outputSize = diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 7de1b31357f..ed41ab2837b 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -29,6 +29,7 @@ import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.DebugViewProvider; import androidx.media3.common.Effect; import androidx.media3.common.FrameInfo; @@ -68,7 +69,7 @@ public GlEffectsFrameProcessor create( FrameProcessor.Listener listener, List effects, DebugViewProvider debugViewProvider, - boolean useHdr) + ColorInfo colorInfo) throws FrameProcessingException { ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); @@ -81,7 +82,7 @@ public GlEffectsFrameProcessor create( listener, effects, debugViewProvider, - useHdr, + colorInfo, singleThreadExecutorService)); try { @@ -111,11 +112,14 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( FrameProcessor.Listener listener, List effects, DebugViewProvider debugViewProvider, - boolean useHdr, + ColorInfo colorInfo, ExecutorService singleThreadExecutorService) throws GlUtil.GlException, FrameProcessingException { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); + // TODO(b/237674316): Delay initialization of things requiring the colorInfo, to + // configure based on the color info from the decoder output media format instead. + boolean useHdr = ColorInfo.isHdr(colorInfo); EGLDisplay eglDisplay = GlUtil.createEglDisplay(); EGLContext eglContext = useHdr @@ -133,7 +137,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( ImmutableList textureProcessors = getGlTextureProcessorsForGlEffects( - context, effects, eglDisplay, eglContext, listener, debugViewProvider, useHdr); + context, effects, eglDisplay, eglContext, listener, debugViewProvider, colorInfo); FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); chainTextureProcessorsWithListeners(textureProcessors, frameProcessingTaskExecutor, listener); @@ -164,7 +168,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe EGLContext eglContext, FrameProcessor.Listener listener, DebugViewProvider debugViewProvider, - boolean useHdr) + ColorInfo colorInfo) throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = new ImmutableList.Builder<>(); @@ -187,12 +191,13 @@ private static ImmutableList getGlTextureProcessorsForGlEffe context, matrixTransformations, sampleFromExternalTexture, - useHdr, + colorInfo, /* outputOpticalColors= */ false)); matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } - textureProcessorListBuilder.add(glEffect.toGlTextureProcessor(context, useHdr)); + textureProcessorListBuilder.add( + glEffect.toGlTextureProcessor(context, ColorInfo.isHdr(colorInfo))); } textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( @@ -203,7 +208,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe listener, debugViewProvider, sampleFromExternalTexture, - useHdr)); + colorInfo)); return textureProcessorListBuilder.build(); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index eb206ba12a4..cb13d68851a 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -21,6 +21,7 @@ import android.opengl.GLES20; import android.opengl.Matrix; import android.util.Pair; +import androidx.media3.common.ColorInfo; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; @@ -112,11 +113,13 @@ public MatrixTransformationProcessor( Context context, boolean useHdr, MatrixTransformation matrixTransformation) throws FrameProcessingException { this( - context, + createGlProgram( + context, + /* inputOpticalColorsFromExternalTexture= */ false, + useHdr, + /* outputOpticalColors= */ false), ImmutableList.of(matrixTransformation), - /* sampleFromExternalTexture= */ false, - useHdr, - /* outputOpticalColors= */ false); + useHdr); } /** @@ -133,43 +136,89 @@ public MatrixTransformationProcessor( Context context, boolean useHdr, GlMatrixTransformation matrixTransformation) throws FrameProcessingException { this( - context, + createGlProgram( + context, + /* inputOpticalColorsFromExternalTexture= */ false, + useHdr, + /* outputOpticalColors= */ false), ImmutableList.of(matrixTransformation), - /* sampleFromExternalTexture= */ false, - useHdr, - /* outputOpticalColors= */ false); + useHdr); } /** * Creates a new instance. * + *

      Able to convert optical {@link ColorInfo} inputs and outputs to and from the intermediate + * {@link GlTextureProcessor} colors of linear RGB BT.2020 for HDR, and gamma RGB BT.709 for SDR. + * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to * apply to each frame in order. - * @param sampleFromExternalTexture Whether the input will be provided using an external texture. - * If {@code true}, the caller should use {@link #setTextureTransformMatrix(float[])} to - * provide the transformation matrix associated with the external texture. - * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code - * EXT_YUV_target} OpenGL extension. - * @param outputOpticalColors If {@code true} and {@code useHdr} is also {@code true}, outputs a - * non-linear optical, or display light colors, possibly by applying the EOTF (Electro-optical - * transfer function). Otherwise, outputs linear electrical colors. + * @param inputOpticalColorsFromExternalTexture Whether optical color input will be provided using + * an external texture. If {@code true}, the caller should use {@link + * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with + * the external texture. + * @param opticalColorInfo The optical {@link ColorInfo}, only used to transform between color + * spaces and transfers, when {@code inputOpticalColorsFromExternalTexture} or {@code + * outputOpticalColors} are {@code true}. If it {@link ColorInfo#isHdr(ColorInfo)}, + * intermediate {@link GlTextureProcessor} colors will be in linear RGB BT.2020. Otherwise, + * these colors will be in gamma RGB BT.709. + * @param outputOpticalColors If {@code true}, outputs {@code opticalColorInfo}. If {@code false}, + * outputs intermediate colors of linear RGB BT.2020 if {@code opticalColorInfo} {@link + * ColorInfo#isHdr(ColorInfo)}, and gamma RGB BT.709 otherwise. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ public MatrixTransformationProcessor( Context context, ImmutableList matrixTransformations, - boolean sampleFromExternalTexture, - boolean useHdr, + boolean inputOpticalColorsFromExternalTexture, + ColorInfo opticalColorInfo, boolean outputOpticalColors) throws FrameProcessingException { - super(useHdr); - if (sampleFromExternalTexture && useHdr && !GlUtil.isYuvTargetExtensionSupported()) { + this( + createGlProgram( + context, + inputOpticalColorsFromExternalTexture, + ColorInfo.isHdr(opticalColorInfo), + outputOpticalColors), + matrixTransformations, + ColorInfo.isHdr(opticalColorInfo)); + if (!ColorInfo.isHdr(opticalColorInfo) || !inputOpticalColorsFromExternalTexture) { + return; + } + // TODO(b/227624622): Implement YUV to RGB conversions in COLOR_RANGE_LIMITED as well, using + // opticalColorInfo.colorRange to select between them. + + // In HDR editing mode the decoder output is sampled in YUV. + if (!GlUtil.isYuvTargetExtensionSupported()) { throw new FrameProcessingException( "The EXT_YUV_target extension is required for HDR editing input."); } + glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); + // TODO(b/227624622): Implement PQ and gamma TFs, and use an @IntDef to select between HLG, + // PQ, and gamma, coming from opticalColorInfo.colorTransfer. + + // Applying the OETF will output a linear signal. Not applying the OETF will output an optical + // signal. + glProgram.setFloatUniform("uApplyHlgOetf", outputOpticalColors ? 0.0f : 1.0f); + } + /** + * Creates a new instance. + * + * @param glProgram The {@link GlProgram}. + * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to + * apply to each frame in order. + * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code + * EXT_YUV_target} OpenGL extension. + */ + private MatrixTransformationProcessor( + GlProgram glProgram, + ImmutableList matrixTransformations, + boolean useHdr) { + super(useHdr); + this.glProgram = glProgram; this.matrixTransformations = matrixTransformations; transformationMatrixCache = new float[matrixTransformations.size()][16]; @@ -177,42 +226,44 @@ public MatrixTransformationProcessor( tempResultMatrix = new float[16]; Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); visiblePolygon = NDC_SQUARE; + } + + private static GlProgram createGlProgram( + Context context, + boolean inputOpticalColorsFromExternalTexture, + boolean useHdr, + boolean outputOpticalColors) + throws FrameProcessingException { String vertexShaderFilePath; String fragmentShaderFilePath; - if (sampleFromExternalTexture) { - vertexShaderFilePath = - useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; - fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; - } else if (outputOpticalColors) { - vertexShaderFilePath = - useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; - fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_HLG_EOTF_ES3_PATH : FRAGMENT_SHADER_COPY_PATH; + if (inputOpticalColorsFromExternalTexture) { + if (useHdr) { + vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_ES3_PATH; + fragmentShaderFilePath = FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH; + } else { + vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; + fragmentShaderFilePath = FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + } + } else if (outputOpticalColors && useHdr) { + vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_ES3_PATH; + fragmentShaderFilePath = FRAGMENT_SHADER_HLG_EOTF_ES3_PATH; } else { vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = FRAGMENT_SHADER_COPY_PATH; } + GlProgram glProgram; try { glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); } catch (IOException | GlUtil.GlException e) { throw new FrameProcessingException(e); } - if (useHdr && sampleFromExternalTexture) { - // In HDR editing mode the decoder output is sampled in YUV. - glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); - // TODO(b/227624622): Implement PQ, and use an @IntDef to select between HLG, PQ, and no - // transfer function. - // Applying the OETF will output a linear signal. Not applying the OETF will output an optical - // signal. - glProgram.setFloatUniform("uApplyHlgOetf", outputOpticalColors ? 0.0f : 1.0f); - } float[] identityMatrix = new float[16]; Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); + return glProgram; } @Override @@ -276,11 +327,11 @@ private void updateCompositeTransformationMatrixAndVisiblePolygon(long presentat visiblePolygon = NDC_SQUARE; for (float[] transformationMatrix : transformationMatrixCache) { Matrix.multiplyMM( - tempResultMatrix, + /* result= */ tempResultMatrix, /* resultOffset= */ 0, - transformationMatrix, + /* lhs= */ transformationMatrix, /* lhsOffset= */ 0, - compositeTransformationMatrix, + /* rhs= */ compositeTransformationMatrix, /* rhsOffset= */ 0); System.arraycopy( /* src= */ tempResultMatrix, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 912efd5bffe..d536e1add9f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -32,6 +32,7 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.FrameProcessor; import androidx.media3.common.SurfaceInfo; +import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import androidx.media3.effect.Presentation; @@ -141,10 +142,11 @@ public void onFrameProcessingEnded() { }, effectsListBuilder.build(), debugViewProvider, - // HDR is only used if the MediaCodec encoder supports FEATURE_HdrEditing. This - // implies that the OpenGL EXT_YUV_target extension is supported and hence the - // default FrameProcessor, GlEffectsFrameProcessor, also supports HDR. - /* useHdr= */ encoderWrapper.isHdrEditingEnabled()); + // HDR colors are only used if the MediaCodec encoder supports FEATURE_HdrEditing. + // This implies that the OpenGL EXT_YUV_target extension is supported and hence the + // default FrameProcessor, GlEffectsFrameProcessor, also supports HDR. Otherwise, tone + // mapping is applied, which ensures the decoder outputs SDR output for an HDR input. + encoderWrapper.getSupportedInputColor()); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_FRAME_PROCESSING_FAILED); @@ -154,7 +156,8 @@ public void onFrameProcessingEnded() { decodedWidth, decodedHeight, inputFormat.pixelWidthHeightRatio, streamOffsetUs)); boolean isToneMappingRequired = - ColorInfo.isHdr(inputFormat.colorInfo) && !encoderWrapper.isHdrEditingEnabled(); + ColorInfo.isHdr(inputFormat.colorInfo) + && !ColorInfo.isHdr(encoderWrapper.getSupportedInputColor()); decoder = decoderFactory.createForVideoDecoding( inputFormat, frameProcessor.getInputSurface(), isToneMappingRequired); @@ -317,6 +320,7 @@ private boolean isDecodeOnlyBuffer(long presentationTimeUs) { */ @VisibleForTesting /* package */ static final class EncoderWrapper { + private static final String TAG = "EncoderWrapper"; private final Codec.EncoderFactory encoderFactory; private final Format inputFormat; @@ -353,11 +357,24 @@ public EncoderWrapper( requestedOutputMimeType, inputFormat.colorInfo); } - /** Returns whether the wrapped encoder is expecting HDR input for the HDR editing use case. */ - public boolean isHdrEditingEnabled() { - return transformationRequest.enableHdrEditing - && !transformationRequest.enableRequestSdrToneMapping - && !supportedEncoderNamesForHdrEditing.isEmpty(); + /** Returns the {@link ColorInfo} expected from the input surface. */ + public ColorInfo getSupportedInputColor() { + boolean isHdrEditingEnabled = + transformationRequest.enableHdrEditing + && !transformationRequest.enableRequestSdrToneMapping + && !supportedEncoderNamesForHdrEditing.isEmpty(); + boolean isInputToneMapped = !isHdrEditingEnabled && ColorInfo.isHdr(inputFormat.colorInfo); + if (isInputToneMapped) { + // When tone-mapping HDR to SDR is enabled, assume we get BT.709 to avoid having the encoder + // populate default color info, which depends on the resolution. + // TODO(b/237674316): Get the color info from the decoder output media format instead. + return ColorInfo.SDR_BT709_LIMITED; + } + if (inputFormat.colorInfo == null) { + Log.d(TAG, "colorInfo is null. Defaulting to SDR_BT709_LIMITED."); + return ColorInfo.SDR_BT709_LIMITED; + } + return inputFormat.colorInfo; } @Nullable @@ -382,12 +399,6 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) outputRotationDegrees = 90; } - boolean isInputToneMapped = ColorInfo.isHdr(inputFormat.colorInfo) && !isHdrEditingEnabled(); - // When tone-mapping HDR to SDR is enabled, assume we get BT.709 to avoid having the encoder - // populate default color info, which depends on the resolution. - // TODO(b/237674316): Get the color info from the decoder output media format instead. - ColorInfo outputColorInfo = - isInputToneMapped ? ColorInfo.SDR_BT709_LIMITED : inputFormat.colorInfo; Format requestedEncoderFormat = new Format.Builder() .setWidth(requestedWidth) @@ -395,14 +406,14 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) .setRotationDegrees(0) .setFrameRate(inputFormat.frameRate) .setSampleMimeType(requestedOutputMimeType) - .setColorInfo(outputColorInfo) + .setColorInfo(getSupportedInputColor()) .build(); encoder = encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); Format encoderSupportedFormat = encoder.getConfigurationFormat(); - if (isHdrEditingEnabled()) { + if (ColorInfo.isHdr(requestedEncoderFormat.colorInfo)) { if (!requestedOutputMimeType.equals(encoderSupportedFormat.sampleMimeType)) { throw createEncodingException( new IllegalStateException("MIME type fallback unsupported with HDR editing"), @@ -413,6 +424,9 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) encoderSupportedFormat); } } + boolean isInputToneMapped = + ColorInfo.isHdr(inputFormat.colorInfo) + && !ColorInfo.isHdr(requestedEncoderFormat.colorInfo); fallbackListener.onTransformationRequestFinalized( createFallbackTransformationRequest( transformationRequest, From cdd47ff703c8b6750c3727865a57f608273b13e2 Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 9 Aug 2022 10:05:14 +0000 Subject: [PATCH 159/422] Split GlTextureProcessor.Listener into input/output/error listener. This simplifies ChainingGlTextureProcessor as it now only connects a consuming and a producing GlTextureProcessor rather than a previous, current, and next GlTextureProcessor. Also use default no-op implementations of the listeners in SingleFrameGlTextureProcessor and MediaPipeProcessor to avoid null-checks. PiperOrigin-RevId: 466301642 (cherry picked from commit 7dc05edbab233dcd631a4a78ad65f1c30a1e9734) --- .../demo/transformer/MediaPipeProcessor.java | 53 ++++++----- .../ChainingGlTextureProcessorListener.java | 89 ++++++++----------- ...lMatrixTransformationProcessorWrapper.java | 34 +++---- .../effect/GlEffectsFrameProcessor.java | 29 +++--- .../media3/effect/GlTextureProcessor.java | 50 +++++++---- .../effect/SingleFrameGlTextureProcessor.java | 41 +++++---- ...hainingGlTextureProcessorListenerTest.java | 55 ++++++------ 7 files changed, 183 insertions(+), 168 deletions(-) diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 231ba002329..7d166aa277c 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -31,7 +31,6 @@ import com.google.mediapipe.framework.TextureFrame; import com.google.mediapipe.glutil.EglManager; import java.util.concurrent.ConcurrentHashMap; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Runs a MediaPipe graph on input frames. */ /* package */ final class MediaPipeProcessor implements GlTextureProcessor { @@ -55,10 +54,13 @@ protected void loadLibrary(String name) { } private final FrameProcessor frameProcessor; - private volatile GlTextureProcessor.@MonotonicNonNull Listener listener; - private volatile boolean acceptedFrame; private final ConcurrentHashMap outputFrames; + private InputListener inputListener; + private OutputListener outputListener; + private ErrorListener errorListener; + private boolean acceptedFrame; + /** * Creates a new texture processor that wraps a MediaPipe graph. * @@ -78,11 +80,27 @@ public MediaPipeProcessor( checkState(LOADER.isAvailable()); // TODO(b/227624622): Confirm whether MediaPipeProcessor could support HDR colors. checkArgument(!useHdr, "MediaPipeProcessor does not support HDR colors."); + inputListener = new InputListener() {}; + outputListener = new OutputListener() {}; + errorListener = (frameProcessingException) -> {}; EglManager eglManager = new EglManager(EGL14.eglGetCurrentContext()); frameProcessor = new FrameProcessor( context, eglManager.getNativeContext(), graphName, inputStreamName, outputStreamName); outputFrames = new ConcurrentHashMap<>(); + // OnWillAddFrameListener is called on the same thread as frameProcessor.onNewFrame(...), so no + // synchronization is needed for acceptedFrame. + frameProcessor.setOnWillAddFrameListener((long timestamp) -> acceptedFrame = true); + } + + @Override + public void setInputListener(InputListener inputListener) { + this.inputListener = inputListener; + } + + @Override + public void setOutputListener(OutputListener outputListener) { + this.outputListener = outputListener; frameProcessor.setConsumer( frame -> { TextureInfo texture = @@ -92,22 +110,15 @@ public MediaPipeProcessor( frame.getWidth(), frame.getHeight()); outputFrames.put(texture, frame); - if (listener != null) { - listener.onOutputFrameAvailable(texture, frame.getTimestamp()); - } - }); - frameProcessor.setAsynchronousErrorListener( - error -> { - if (listener != null) { - listener.onFrameProcessingError(new FrameProcessingException(error)); - } + outputListener.onOutputFrameAvailable(texture, frame.getTimestamp()); }); - frameProcessor.setOnWillAddFrameListener((long timestamp) -> acceptedFrame = true); } @Override - public void setListener(GlTextureProcessor.Listener listener) { - this.listener = listener; + public void setErrorListener(ErrorListener errorListener) { + this.errorListener = errorListener; + frameProcessor.setAsynchronousErrorListener( + error -> errorListener.onFrameProcessingError(new FrameProcessingException(error))); } @Override @@ -123,13 +134,9 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT appTextureFrame.waitUntilReleasedWithGpuSync(); } catch (InterruptedException e) { Thread.currentThread().interrupt(); - if (listener != null) { - listener.onFrameProcessingError(new FrameProcessingException(e)); - } - } - if (listener != null) { - listener.onInputFrameProcessed(inputTexture); + errorListener.onFrameProcessingError(new FrameProcessingException(e)); } + inputListener.onInputFrameProcessed(inputTexture); return acceptedFrame; } @@ -146,8 +153,6 @@ public void release() { @Override public final void signalEndOfCurrentInputStream() { frameProcessor.waitUntilIdle(); - if (listener != null) { - listener.onCurrentOutputStreamEnded(); - } + outputListener.onCurrentOutputStreamEnded(); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java index f9dc0ece4c5..c7be04834cd 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java @@ -16,92 +16,75 @@ package androidx.media3.effect; import android.util.Pair; -import androidx.annotation.Nullable; -import androidx.media3.common.FrameProcessingException; -import androidx.media3.common.FrameProcessor; +import androidx.media3.effect.GlTextureProcessor.InputListener; +import androidx.media3.effect.GlTextureProcessor.OutputListener; import java.util.ArrayDeque; import java.util.Queue; /** - * A {@link GlTextureProcessor.Listener} that connects the {@link GlTextureProcessor} it is - * {@linkplain GlTextureProcessor#setListener(GlTextureProcessor.Listener) set} on to a previous and - * next {@link GlTextureProcessor}. + * Connects a producing and a consuming {@link GlTextureProcessor} instance. + * + *

      This listener should be set as {@link InputListener} on the consuming {@link + * GlTextureProcessor} and as {@link OutputListener} on the producing {@link GlTextureProcessor}. */ /* package */ final class ChainingGlTextureProcessorListener - implements GlTextureProcessor.Listener { + implements GlTextureProcessor.InputListener, GlTextureProcessor.OutputListener { - @Nullable private final GlTextureProcessor previousGlTextureProcessor; - @Nullable private final GlTextureProcessor nextGlTextureProcessor; + private final GlTextureProcessor producingGlTextureProcessor; + private final GlTextureProcessor consumingGlTextureProcessor; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; - private final FrameProcessor.Listener frameProcessorListener; - private final Queue> pendingFrames; + private final Queue> availableFrames; /** * Creates a new instance. * - * @param previousGlTextureProcessor The {@link GlTextureProcessor} that comes before the {@link - * GlTextureProcessor} this listener is set on or {@code null} if not applicable. - * @param nextGlTextureProcessor The {@link GlTextureProcessor} that comes after the {@link - * GlTextureProcessor} this listener is set on or {@code null} if not applicable. + * @param producingGlTextureProcessor The {@link GlTextureProcessor} for which this listener will + * be set as {@link OutputListener}. + * @param consumingGlTextureProcessor The {@link GlTextureProcessor} for which this listener will + * be set as {@link InputListener}. * @param frameProcessingTaskExecutor The {@link FrameProcessingTaskExecutor} that is used for - * OpenGL calls. All calls to the previous/next {@link GlTextureProcessor} will be executed by - * the {@link FrameProcessingTaskExecutor}. The caller is responsible for releasing the {@link - * FrameProcessingTaskExecutor}. - * @param frameProcessorListener The {@link FrameProcessor.Listener} to forward exceptions to. + * OpenGL calls. All calls to the producing/consuming {@link GlTextureProcessor} will be + * executed by the {@link FrameProcessingTaskExecutor}. The caller is responsible for + * releasing the {@link FrameProcessingTaskExecutor}. */ public ChainingGlTextureProcessorListener( - @Nullable GlTextureProcessor previousGlTextureProcessor, - @Nullable GlTextureProcessor nextGlTextureProcessor, - FrameProcessingTaskExecutor frameProcessingTaskExecutor, - FrameProcessor.Listener frameProcessorListener) { - this.previousGlTextureProcessor = previousGlTextureProcessor; - this.nextGlTextureProcessor = nextGlTextureProcessor; + GlTextureProcessor producingGlTextureProcessor, + GlTextureProcessor consumingGlTextureProcessor, + FrameProcessingTaskExecutor frameProcessingTaskExecutor) { + this.producingGlTextureProcessor = producingGlTextureProcessor; + this.consumingGlTextureProcessor = consumingGlTextureProcessor; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; - this.frameProcessorListener = frameProcessorListener; - pendingFrames = new ArrayDeque<>(); + availableFrames = new ArrayDeque<>(); } @Override public void onInputFrameProcessed(TextureInfo inputTexture) { - if (previousGlTextureProcessor != null) { - GlTextureProcessor nonNullPreviousGlTextureProcessor = previousGlTextureProcessor; - frameProcessingTaskExecutor.submit( - () -> nonNullPreviousGlTextureProcessor.releaseOutputFrame(inputTexture)); - } + frameProcessingTaskExecutor.submit( + () -> producingGlTextureProcessor.releaseOutputFrame(inputTexture)); } @Override public void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs) { - if (nextGlTextureProcessor != null) { - GlTextureProcessor nonNullNextGlTextureProcessor = nextGlTextureProcessor; - frameProcessingTaskExecutor.submit( - () -> { - pendingFrames.add(new Pair<>(outputTexture, presentationTimeUs)); - processFrameNowOrLater(nonNullNextGlTextureProcessor); - }); - } + frameProcessingTaskExecutor.submit( + () -> { + availableFrames.add(new Pair<>(outputTexture, presentationTimeUs)); + processFrameNowOrLater(); + }); } - private void processFrameNowOrLater(GlTextureProcessor nextGlTextureProcessor) { - Pair pendingFrame = pendingFrames.element(); + private void processFrameNowOrLater() { + Pair pendingFrame = availableFrames.element(); TextureInfo outputTexture = pendingFrame.first; long presentationTimeUs = pendingFrame.second; - if (nextGlTextureProcessor.maybeQueueInputFrame(outputTexture, presentationTimeUs)) { - pendingFrames.remove(); + if (consumingGlTextureProcessor.maybeQueueInputFrame(outputTexture, presentationTimeUs)) { + availableFrames.remove(); } else { - frameProcessingTaskExecutor.submit(() -> processFrameNowOrLater(nextGlTextureProcessor)); + frameProcessingTaskExecutor.submit(this::processFrameNowOrLater); } } @Override public void onCurrentOutputStreamEnded() { - if (nextGlTextureProcessor != null) { - frameProcessingTaskExecutor.submit(nextGlTextureProcessor::signalEndOfCurrentInputStream); - } - } - - @Override - public void onFrameProcessingError(FrameProcessingException e) { - frameProcessorListener.onFrameProcessingError(e); + frameProcessingTaskExecutor.submit(consumingGlTextureProcessor::signalEndOfCurrentInputStream); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index a114e7dd47f..91f2e7e1302 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -78,7 +78,7 @@ private int inputHeight; @Nullable private MatrixTransformationProcessor matrixTransformationProcessor; @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; - private @MonotonicNonNull Listener listener; + private InputListener inputListener; private @MonotonicNonNull Pair outputSizeBeforeSurfaceTransformation; @Nullable private SurfaceView debugSurfaceView; @@ -113,18 +113,24 @@ public FinalMatrixTransformationProcessorWrapper( textureTransformMatrix = new float[16]; Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); streamOffsetUsQueue = new ArrayDeque<>(); + inputListener = new InputListener() {}; + } + + @Override + public void setInputListener(InputListener inputListener) { + this.inputListener = inputListener; } - /** - * {@inheritDoc} - * - *

      The {@code FinalMatrixTransformationProcessorWrapper} will only call {@link - * Listener#onInputFrameProcessed(TextureInfo)}. Other events are handled via the {@link - * FrameProcessor.Listener} passed to the constructor. - */ @Override - public void setListener(Listener listener) { - this.listener = listener; + public void setOutputListener(OutputListener outputListener) { + // The FrameProcessor.Listener passed to the constructor is used for output-related events. + throw new UnsupportedOperationException(); + } + + @Override + public void setErrorListener(ErrorListener errorListener) { + // The FrameProcessor.Listener passed to the constructor is used for errors. + throw new UnsupportedOperationException(); } @Override @@ -174,9 +180,7 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT Log.d(TAG, "Error rendering to debug preview", e); } } - if (listener != null) { - listener.onInputFrameProcessed(inputTexture); - } + inputListener.onInputFrameProcessed(inputTexture); return true; } @@ -278,8 +282,8 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp @Override public void releaseOutputFrame(TextureInfo outputTexture) { - throw new UnsupportedOperationException( - "The final texture processor writes to a surface so there is no texture to release"); + // The final texture processor writes to a surface so there is no texture to release. + throw new UnsupportedOperationException(); } @Override diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index ed41ab2837b..e8f34086944 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -219,26 +219,21 @@ private static ImmutableList getGlTextureProcessorsForGlEffe private static void chainTextureProcessorsWithListeners( ImmutableList textureProcessors, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - FrameProcessor.Listener listener) { - for (int i = 0; i < textureProcessors.size(); i++) { - @Nullable - GlTextureProcessor previousGlTextureProcessor = - i - 1 >= 0 ? textureProcessors.get(i - 1) : null; - @Nullable - GlTextureProcessor nextGlTextureProcessor = - i + 1 < textureProcessors.size() ? textureProcessors.get(i + 1) : null; - textureProcessors - .get(i) - .setListener( - new ChainingGlTextureProcessorListener( - previousGlTextureProcessor, - nextGlTextureProcessor, - frameProcessingTaskExecutor, - listener)); + FrameProcessor.Listener frameProcessorListener) { + for (int i = 0; i < textureProcessors.size() - 1; i++) { + GlTextureProcessor producingGlTextureProcessor = textureProcessors.get(i); + GlTextureProcessor consumingGlTextureProcessor = textureProcessors.get(i + 1); + ChainingGlTextureProcessorListener chainingGlTextureProcessorListener = + new ChainingGlTextureProcessorListener( + producingGlTextureProcessor, + consumingGlTextureProcessor, + frameProcessingTaskExecutor); + producingGlTextureProcessor.setOutputListener(chainingGlTextureProcessorListener); + producingGlTextureProcessor.setErrorListener(frameProcessorListener::onFrameProcessingError); + consumingGlTextureProcessor.setInputListener(chainingGlTextureProcessorListener); } } - private static final String TAG = "GlEffectsFrameProcessor"; private static final String THREAD_NAME = "Transformer:GlEffectsFrameProcessor"; private static final long RELEASE_WAIT_TIME_MS = 100; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java index 04a3e836d67..eb9f796ad8b 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java @@ -23,14 +23,14 @@ * *

      The {@code GlTextureProcessor} consumes input frames it accepts via {@link * #maybeQueueInputFrame(TextureInfo, long)} and surrenders each texture back to the caller via its - * {@linkplain Listener#onInputFrameProcessed(TextureInfo) listener} once the texture's contents - * have been processed. + * {@linkplain InputListener#onInputFrameProcessed(TextureInfo) listener} once the texture's + * contents have been processed. * *

      The {@code GlTextureProcessor} produces output frames asynchronously and notifies its owner - * when they are available via its {@linkplain Listener#onOutputFrameAvailable(TextureInfo, long) - * listener}. The {@code GlTextureProcessor} instance's owner must surrender the texture back to the - * {@code GlTextureProcessor} via {@link #releaseOutputFrame(TextureInfo)} when it has finished - * processing it. + * when they are available via its {@linkplain OutputListener#onOutputFrameAvailable(TextureInfo, + * long) listener}. The {@code GlTextureProcessor} instance's owner must surrender the texture back + * to the {@code GlTextureProcessor} via {@link #releaseOutputFrame(TextureInfo)} when it has + * finished processing it. * *

      {@code GlTextureProcessor} implementations can choose to produce output frames before * receiving input frames or process several input frames before producing an output frame. However, @@ -46,19 +46,26 @@ public interface GlTextureProcessor { /** - * Listener for frame processing events. + * Listener for input-related frame processing events. * *

      This listener can be called from any thread. */ - interface Listener { + interface InputListener { /** * Called when the {@link GlTextureProcessor} has processed an input frame. * * @param inputTexture The {@link TextureInfo} that was used to {@linkplain * #maybeQueueInputFrame(TextureInfo, long) queue} the input frame. */ - void onInputFrameProcessed(TextureInfo inputTexture); + default void onInputFrameProcessed(TextureInfo inputTexture) {} + } + /** + * Listener for output-related frame processing events. + * + *

      This listener can be called from any thread. + */ + interface OutputListener { /** * Called when the {@link GlTextureProcessor} has produced an output frame. * @@ -71,14 +78,21 @@ interface Listener { * frame. * @param presentationTimeUs The presentation timestamp of the output frame, in microseconds. */ - void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs); + default void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs) {} /** * Called when the {@link GlTextureProcessor} will not produce further output frames belonging * to the current output stream. */ - void onCurrentOutputStreamEnded(); + default void onCurrentOutputStreamEnded() {} + } + /** + * Listener for frame processing errors. + * + *

      This listener can be called from any thread. + */ + interface ErrorListener { /** * Called when an exception occurs during asynchronous frame processing. * @@ -88,16 +102,22 @@ interface Listener { void onFrameProcessingError(FrameProcessingException e); } - /** Sets the {@link Listener} for frame processing events. */ - void setListener(Listener listener); + /** Sets the {@link InputListener}. */ + void setInputListener(InputListener inputListener); + + /** Sets the {@link OutputListener}. */ + void setOutputListener(OutputListener outputListener); + + /** Sets the {@link ErrorListener}. */ + void setErrorListener(ErrorListener errorListener); /** * Processes an input frame if possible. * *

      If this method returns {@code true} the input frame has been accepted. The {@code * GlTextureProcessor} owns the accepted frame until it calls {@link - * Listener#onInputFrameProcessed(TextureInfo)}. The caller should not overwrite or release the - * texture before the {@code GlTextureProcessor} has finished processing it. + * InputListener#onInputFrameProcessed(TextureInfo)}. The caller should not overwrite or release + * the texture before the {@code GlTextureProcessor} has finished processing it. * *

      If this method returns {@code false}, the input frame could not be accepted and the caller * should decide whether to drop the frame or try again later. diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java index 90cd0ede742..3df339c8db4 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java @@ -36,7 +36,9 @@ @UnstableApi public abstract class SingleFrameGlTextureProcessor implements GlTextureProcessor { - private @MonotonicNonNull Listener listener; + private InputListener inputListener; + private OutputListener outputListener; + private ErrorListener errorListener; private int inputWidth; private int inputHeight; private @MonotonicNonNull TextureInfo outputTexture; @@ -51,6 +53,9 @@ public abstract class SingleFrameGlTextureProcessor implements GlTextureProcesso */ public SingleFrameGlTextureProcessor(boolean useHdr) { this.useHdr = useHdr; + inputListener = new InputListener() {}; + outputListener = new OutputListener() {}; + errorListener = (frameProcessingException) -> {}; } /** @@ -83,8 +88,18 @@ public abstract void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException; @Override - public final void setListener(Listener listener) { - this.listener = listener; + public final void setInputListener(InputListener inputListener) { + this.inputListener = inputListener; + } + + @Override + public final void setOutputListener(OutputListener outputListener) { + this.outputListener = outputListener; + } + + @Override + public final void setErrorListener(ErrorListener errorListener) { + this.errorListener = errorListener; } @Override @@ -104,17 +119,13 @@ public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long present outputTexture.fboId, outputTexture.width, outputTexture.height); GlUtil.clearOutputFrame(); drawFrame(inputTexture.texId, presentationTimeUs); - if (listener != null) { - listener.onInputFrameProcessed(inputTexture); - listener.onOutputFrameAvailable(outputTexture, presentationTimeUs); - } + inputListener.onInputFrameProcessed(inputTexture); + outputListener.onOutputFrameAvailable(outputTexture, presentationTimeUs); } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { - if (listener != null) { - listener.onFrameProcessingError( - e instanceof FrameProcessingException - ? (FrameProcessingException) e - : new FrameProcessingException(e)); - } + errorListener.onFrameProcessingError( + e instanceof FrameProcessingException + ? (FrameProcessingException) e + : new FrameProcessingException(e)); } return true; } @@ -144,9 +155,7 @@ public final void releaseOutputFrame(TextureInfo outputTexture) { @Override public final void signalEndOfCurrentInputStream() { - if (listener != null) { - listener.onCurrentOutputStreamEnded(); - } + outputListener.onCurrentOutputStreamEnded(); } @Override diff --git a/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java index cc81ffc50e5..38da7eb725a 100644 --- a/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java @@ -20,7 +20,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import androidx.media3.common.FrameProcessingException; import androidx.media3.common.FrameProcessor; import androidx.media3.common.util.Util; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -33,35 +32,23 @@ public final class ChainingGlTextureProcessorListenerTest { private static final long EXECUTOR_WAIT_TIME_MS = 100; - private final FrameProcessor.Listener mockframeProcessorListener = - mock(FrameProcessor.Listener.class); private final FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor( - Util.newSingleThreadExecutor("Test"), mockframeProcessorListener); - private final GlTextureProcessor mockPreviousGlTextureProcessor = mock(GlTextureProcessor.class); - private final FakeGlTextureProcessor fakeNextGlTextureProcessor = + Util.newSingleThreadExecutor("Test"), mock(FrameProcessor.Listener.class)); + private final GlTextureProcessor mockProducingGlTextureProcessor = mock(GlTextureProcessor.class); + private final FakeGlTextureProcessor fakeConsumingGlTextureProcessor = spy(new FakeGlTextureProcessor()); private final ChainingGlTextureProcessorListener chainingGlTextureProcessorListener = new ChainingGlTextureProcessorListener( - mockPreviousGlTextureProcessor, - fakeNextGlTextureProcessor, - frameProcessingTaskExecutor, - mockframeProcessorListener); + mockProducingGlTextureProcessor, + fakeConsumingGlTextureProcessor, + frameProcessingTaskExecutor); @After public void release() throws InterruptedException { frameProcessingTaskExecutor.release(/* releaseTask= */ () -> {}, EXECUTOR_WAIT_TIME_MS); } - @Test - public void onFrameProcessingError_callsListener() { - FrameProcessingException exception = new FrameProcessingException("message"); - - chainingGlTextureProcessorListener.onFrameProcessingError(exception); - - verify(mockframeProcessorListener, times(1)).onFrameProcessingError(exception); - } - @Test public void onInputFrameProcessed_surrendersFrameToPreviousGlTextureProcessor() throws InterruptedException { @@ -71,7 +58,7 @@ public void onInputFrameProcessed_surrendersFrameToPreviousGlTextureProcessor() chainingGlTextureProcessorListener.onInputFrameProcessed(texture); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(mockPreviousGlTextureProcessor, times(1)).releaseOutputFrame(texture); + verify(mockProducingGlTextureProcessor, times(1)).releaseOutputFrame(texture); } @Test @@ -84,7 +71,8 @@ public void onOutputFrameAvailable_passesFrameToNextGlTextureProcessor() chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeNextGlTextureProcessor, times(1)).maybeQueueInputFrame(texture, presentationTimeUs); + verify(fakeConsumingGlTextureProcessor, times(1)) + .maybeQueueInputFrame(texture, presentationTimeUs); } @Test @@ -93,12 +81,13 @@ public void onOutputFrameAvailable_nextGlTextureProcessorRejectsFrame_triesAgain TextureInfo texture = new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); long presentationTimeUs = 123; - fakeNextGlTextureProcessor.rejectNextFrame(); + fakeConsumingGlTextureProcessor.rejectNextFrame(); chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeNextGlTextureProcessor, times(2)).maybeQueueInputFrame(texture, presentationTimeUs); + verify(fakeConsumingGlTextureProcessor, times(2)) + .maybeQueueInputFrame(texture, presentationTimeUs); } @Test @@ -110,7 +99,7 @@ public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBefore TextureInfo secondTexture = new TextureInfo(/* texId= */ 2, /* fboId= */ 2, /* width= */ 100, /* height= */ 100); long secondPresentationTimeUs = 567; - fakeNextGlTextureProcessor.rejectNextFrame(); + fakeConsumingGlTextureProcessor.rejectNextFrame(); chainingGlTextureProcessorListener.onOutputFrameAvailable( firstTexture, firstPresentationTimeUs); @@ -118,9 +107,9 @@ public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBefore secondTexture, secondPresentationTimeUs); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeNextGlTextureProcessor, times(2)) + verify(fakeConsumingGlTextureProcessor, times(2)) .maybeQueueInputFrame(firstTexture, firstPresentationTimeUs); - verify(fakeNextGlTextureProcessor, times(1)) + verify(fakeConsumingGlTextureProcessor, times(1)) .maybeQueueInputFrame(secondTexture, secondPresentationTimeUs); } @@ -130,7 +119,7 @@ public void onOutputStreamEnded_signalsInputStreamEndedToNextGlTextureProcessor( chainingGlTextureProcessorListener.onCurrentOutputStreamEnded(); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeNextGlTextureProcessor, times(1)).signalEndOfCurrentInputStream(); + verify(fakeConsumingGlTextureProcessor, times(1)).signalEndOfCurrentInputStream(); } private static class FakeGlTextureProcessor implements GlTextureProcessor { @@ -142,7 +131,17 @@ public void rejectNextFrame() { } @Override - public void setListener(Listener listener) { + public void setInputListener(InputListener inputListener) { + throw new UnsupportedOperationException(); + } + + @Override + public void setOutputListener(OutputListener outputListener) { + throw new UnsupportedOperationException(); + } + + @Override + public void setErrorListener(ErrorListener errorListener) { throw new UnsupportedOperationException(); } From 00749d9d26a9ba482849bc925505d8ac080f941d Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 9 Aug 2022 11:28:31 +0000 Subject: [PATCH 160/422] HDR: Rename ColorInfo#isHdr to isTransferHdr. While HDR is most closely tied to the color transfer (ex. COLOR_TRANSFER_SDR is the only one explicitly mentioning dynamic range), technically color spaces may be associated with HDR as well, like BT.2020 commonly being used for HDR rather than BT.709 for SDR. Therefore, it's more specific to mention just that the transfer is HDR. PiperOrigin-RevId: 466316960 (cherry picked from commit 35161c748956d96e8e83cee007143615ef6f9d07) --- .../main/java/androidx/media3/common/ColorInfo.java | 2 +- .../FinalMatrixTransformationProcessorWrapper.java | 2 +- .../media3/effect/GlEffectsFrameProcessor.java | 4 ++-- .../effect/MatrixTransformationProcessor.java | 10 +++++----- .../media3/transformer/DefaultEncoderFactory.java | 2 +- .../transformer/TransformerVideoRenderer.java | 2 +- .../transformer/VideoTranscodingSamplePipeline.java | 13 +++++++------ 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index b1ee2673266..aae29250d18 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -90,7 +90,7 @@ public final class ColorInfo implements Bundleable { } /** Returns whether the {@code ColorInfo} uses an HDR {@link C.ColorTransfer}. */ - public static boolean isHdr(@Nullable ColorInfo colorInfo) { + public static boolean isTransferHdr(@Nullable ColorInfo colorInfo) { return colorInfo != null && colorInfo.colorTransfer != Format.NO_VALUE && colorInfo.colorTransfer != C.COLOR_TRANSFER_SDR; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index 91f2e7e1302..bd4ac4283a9 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -218,7 +218,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; @Nullable EGLSurface outputEglSurface = this.outputEglSurface; if (outputEglSurface == null) { - boolean colorInfoIsHdr = ColorInfo.isHdr(colorInfo); + boolean colorInfoIsHdr = ColorInfo.isTransferHdr(colorInfo); if (colorInfoIsHdr) { outputEglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, outputSurfaceInfo.surface); } else { diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index e8f34086944..9f5db2a4ac8 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -119,7 +119,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( // TODO(b/237674316): Delay initialization of things requiring the colorInfo, to // configure based on the color info from the decoder output media format instead. - boolean useHdr = ColorInfo.isHdr(colorInfo); + boolean useHdr = ColorInfo.isTransferHdr(colorInfo); EGLDisplay eglDisplay = GlUtil.createEglDisplay(); EGLContext eglContext = useHdr @@ -197,7 +197,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe sampleFromExternalTexture = false; } textureProcessorListBuilder.add( - glEffect.toGlTextureProcessor(context, ColorInfo.isHdr(colorInfo))); + glEffect.toGlTextureProcessor(context, ColorInfo.isTransferHdr(colorInfo))); } textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index cb13d68851a..e231a39fb1e 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -160,12 +160,12 @@ public MatrixTransformationProcessor( * the external texture. * @param opticalColorInfo The optical {@link ColorInfo}, only used to transform between color * spaces and transfers, when {@code inputOpticalColorsFromExternalTexture} or {@code - * outputOpticalColors} are {@code true}. If it {@link ColorInfo#isHdr(ColorInfo)}, + * outputOpticalColors} are {@code true}. If it {@link ColorInfo#isTransferHdr(ColorInfo)}, * intermediate {@link GlTextureProcessor} colors will be in linear RGB BT.2020. Otherwise, * these colors will be in gamma RGB BT.709. * @param outputOpticalColors If {@code true}, outputs {@code opticalColorInfo}. If {@code false}, * outputs intermediate colors of linear RGB BT.2020 if {@code opticalColorInfo} {@link - * ColorInfo#isHdr(ColorInfo)}, and gamma RGB BT.709 otherwise. + * ColorInfo#isTransferHdr(ColorInfo)}, and gamma RGB BT.709 otherwise. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ @@ -180,11 +180,11 @@ public MatrixTransformationProcessor( createGlProgram( context, inputOpticalColorsFromExternalTexture, - ColorInfo.isHdr(opticalColorInfo), + ColorInfo.isTransferHdr(opticalColorInfo), outputOpticalColors), matrixTransformations, - ColorInfo.isHdr(opticalColorInfo)); - if (!ColorInfo.isHdr(opticalColorInfo) || !inputOpticalColorsFromExternalTexture) { + ColorInfo.isTransferHdr(opticalColorInfo)); + if (!ColorInfo.isTransferHdr(opticalColorInfo) || !inputOpticalColorsFromExternalTexture) { return; } // TODO(b/227624622): Implement YUV to RGB conversions in COLOR_RANGE_LIMITED as well, using diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java index 33f50445c68..d1364dcde39 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultEncoderFactory.java @@ -283,7 +283,7 @@ public Codec createForVideoEncoding(Format format, List allowedMimeTypes } MediaFormatUtil.maybeSetColorInfo(mediaFormat, encoderSupportedFormat.colorInfo); - if (Util.SDK_INT >= 31 && ColorInfo.isHdr(format.colorInfo)) { + if (Util.SDK_INT >= 31 && ColorInfo.isTransferHdr(format.colorInfo)) { if (EncoderUtil.getSupportedColorFormats(encoderInfo, mimeType) .contains(MediaCodecInfo.CodecCapabilities.COLOR_Format32bitABGR2101010)) { mediaFormat.setInteger( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 00e5ed117fc..2c4574e7399 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -99,7 +99,7 @@ protected boolean ensureConfigured() throws TransformationException { return false; } Format inputFormat = checkNotNull(formatHolder.format); - if (SDK_INT < 31 && ColorInfo.isHdr(inputFormat.colorInfo)) { + if (SDK_INT < 31 && ColorInfo.isTransferHdr(inputFormat.colorInfo)) { throw TransformationException.createForCodec( new IllegalArgumentException("HDR editing not supported under API 31."), /* isVideo= */ true, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index d536e1add9f..3bb4ea0cf78 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -156,8 +156,8 @@ public void onFrameProcessingEnded() { decodedWidth, decodedHeight, inputFormat.pixelWidthHeightRatio, streamOffsetUs)); boolean isToneMappingRequired = - ColorInfo.isHdr(inputFormat.colorInfo) - && !ColorInfo.isHdr(encoderWrapper.getSupportedInputColor()); + ColorInfo.isTransferHdr(inputFormat.colorInfo) + && !ColorInfo.isTransferHdr(encoderWrapper.getSupportedInputColor()); decoder = decoderFactory.createForVideoDecoding( inputFormat, frameProcessor.getInputSurface(), isToneMappingRequired); @@ -363,7 +363,8 @@ public ColorInfo getSupportedInputColor() { transformationRequest.enableHdrEditing && !transformationRequest.enableRequestSdrToneMapping && !supportedEncoderNamesForHdrEditing.isEmpty(); - boolean isInputToneMapped = !isHdrEditingEnabled && ColorInfo.isHdr(inputFormat.colorInfo); + boolean isInputToneMapped = + !isHdrEditingEnabled && ColorInfo.isTransferHdr(inputFormat.colorInfo); if (isInputToneMapped) { // When tone-mapping HDR to SDR is enabled, assume we get BT.709 to avoid having the encoder // populate default color info, which depends on the resolution. @@ -413,7 +414,7 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) encoderFactory.createForVideoEncoding(requestedEncoderFormat, allowedOutputMimeTypes); Format encoderSupportedFormat = encoder.getConfigurationFormat(); - if (ColorInfo.isHdr(requestedEncoderFormat.colorInfo)) { + if (ColorInfo.isTransferHdr(requestedEncoderFormat.colorInfo)) { if (!requestedOutputMimeType.equals(encoderSupportedFormat.sampleMimeType)) { throw createEncodingException( new IllegalStateException("MIME type fallback unsupported with HDR editing"), @@ -425,8 +426,8 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) } } boolean isInputToneMapped = - ColorInfo.isHdr(inputFormat.colorInfo) - && !ColorInfo.isHdr(requestedEncoderFormat.colorInfo); + ColorInfo.isTransferHdr(inputFormat.colorInfo) + && !ColorInfo.isTransferHdr(requestedEncoderFormat.colorInfo); fallbackListener.onTransformationRequestFinalized( createFallbackTransformationRequest( transformationRequest, From ccef3950caf02ea6a3cef14326d3c089baf6ab15 Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 9 Aug 2022 12:08:39 +0000 Subject: [PATCH 161/422] Remove times(1) from effect and transformer tests as it is the default. PiperOrigin-RevId: 466324322 (cherry picked from commit 1bdc252d2cfac5499306584fd68a2b1f33f05cc4) --- ...hainingGlTextureProcessorListenerTest.java | 9 +++---- .../transformer/FallbackListenerTest.java | 5 ++-- .../transformer/TransformerEndToEndTest.java | 25 +++++++++---------- 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java index 38da7eb725a..5c12757c425 100644 --- a/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java @@ -58,7 +58,7 @@ public void onInputFrameProcessed_surrendersFrameToPreviousGlTextureProcessor() chainingGlTextureProcessorListener.onInputFrameProcessed(texture); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(mockProducingGlTextureProcessor, times(1)).releaseOutputFrame(texture); + verify(mockProducingGlTextureProcessor).releaseOutputFrame(texture); } @Test @@ -71,8 +71,7 @@ public void onOutputFrameAvailable_passesFrameToNextGlTextureProcessor() chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeConsumingGlTextureProcessor, times(1)) - .maybeQueueInputFrame(texture, presentationTimeUs); + verify(fakeConsumingGlTextureProcessor).maybeQueueInputFrame(texture, presentationTimeUs); } @Test @@ -109,7 +108,7 @@ public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBefore verify(fakeConsumingGlTextureProcessor, times(2)) .maybeQueueInputFrame(firstTexture, firstPresentationTimeUs); - verify(fakeConsumingGlTextureProcessor, times(1)) + verify(fakeConsumingGlTextureProcessor) .maybeQueueInputFrame(secondTexture, secondPresentationTimeUs); } @@ -119,7 +118,7 @@ public void onOutputStreamEnded_signalsInputStreamEndedToNextGlTextureProcessor( chainingGlTextureProcessorListener.onCurrentOutputStreamEnded(); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeConsumingGlTextureProcessor, times(1)).signalEndOfCurrentInputStream(); + verify(fakeConsumingGlTextureProcessor).signalEndOfCurrentInputStream(); } private static class FakeGlTextureProcessor implements GlTextureProcessor { diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java index 6ec16f9be24..e5dc534a8a7 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/FallbackListenerTest.java @@ -19,7 +19,6 @@ import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import android.net.Uri; @@ -89,7 +88,7 @@ public void onTransformationRequestFinalized_withDifferentRequest_callsCallback( fallbackListener.registerTrack(); fallbackListener.onTransformationRequestFinalized(audioFallbackRequest); - verify(mockListener, times(1)) + verify(mockListener) .onFallbackApplied(PLACEHOLDER_MEDIA_ITEM, originalRequest, audioFallbackRequest); } @@ -117,7 +116,7 @@ public void onTransformationRequestFinalized_withDifferentRequest_callsCallback( fallbackListener.onTransformationRequestFinalized(audioFallbackRequest); fallbackListener.onTransformationRequestFinalized(videoFallbackRequest); - verify(mockListener, times(1)) + verify(mockListener) .onFallbackApplied(PLACEHOLDER_MEDIA_ITEM, originalRequest, mergedFallbackRequest); } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index 5f883b5b882..e796644a903 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -26,7 +26,6 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import android.content.Context; @@ -271,9 +270,9 @@ public void startTransformation_withMultipleListeners_callsEachOnCompletion() th transformer.startTransformation(mediaItem, outputPath); TransformerTestRunner.runUntilCompleted(transformer); - verify(mockListener1, times(1)).onTransformationCompleted(eq(mediaItem), any()); - verify(mockListener2, times(1)).onTransformationCompleted(eq(mediaItem), any()); - verify(mockListener3, times(1)).onTransformationCompleted(eq(mediaItem), any()); + verify(mockListener1).onTransformationCompleted(eq(mediaItem), any()); + verify(mockListener2).onTransformationCompleted(eq(mediaItem), any()); + verify(mockListener3).onTransformationCompleted(eq(mediaItem), any()); } @Test @@ -294,9 +293,9 @@ public void startTransformation_withMultipleListeners_callsEachOnError() throws transformer.startTransformation(mediaItem, outputPath); TransformationException exception = TransformerTestRunner.runUntilError(transformer); - verify(mockListener1, times(1)).onTransformationError(mediaItem, exception); - verify(mockListener2, times(1)).onTransformationError(mediaItem, exception); - verify(mockListener3, times(1)).onTransformationError(mediaItem, exception); + verify(mockListener1).onTransformationError(mediaItem, exception); + verify(mockListener2).onTransformationError(mediaItem, exception); + verify(mockListener3).onTransformationError(mediaItem, exception); } @Test @@ -319,11 +318,11 @@ public void startTransformation_withMultipleListeners_callsEachOnFallback() thro transformer.startTransformation(mediaItem, outputPath); TransformerTestRunner.runUntilCompleted(transformer); - verify(mockListener1, times(1)) + verify(mockListener1) .onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); - verify(mockListener2, times(1)) + verify(mockListener2) .onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); - verify(mockListener3, times(1)) + verify(mockListener3) .onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); } @@ -345,9 +344,9 @@ public void startTransformation_afterBuildUponWithListenerRemoved_onlyCallsRemai transformer2.startTransformation(mediaItem, outputPath); TransformerTestRunner.runUntilCompleted(transformer2); - verify(mockListener1, times(1)).onTransformationCompleted(eq(mediaItem), any()); + verify(mockListener1).onTransformationCompleted(eq(mediaItem), any()); verify(mockListener2, never()).onTransformationCompleted(eq(mediaItem), any()); - verify(mockListener3, times(1)).onTransformationCompleted(eq(mediaItem), any()); + verify(mockListener3).onTransformationCompleted(eq(mediaItem), any()); } @Test @@ -474,7 +473,7 @@ public void startTransformation_withAudioMuxerFormatFallback_completesSuccessful DumpFileAsserts.assertOutput( context, testMuxer, getDumpFileName(FILE_AUDIO_UNSUPPORTED_BY_MUXER + ".fallback")); - verify(mockListener, times(1)) + verify(mockListener) .onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); } From 2ea29916c377d91da55ced7cdab3bf5f0aadd2c5 Mon Sep 17 00:00:00 2001 From: hmzh Date: Tue, 9 Aug 2022 15:44:44 +0000 Subject: [PATCH 162/422] Add JSyn library build instructions for the MIDI module PiperOrigin-RevId: 466370644 (cherry picked from commit 3bd91707dc25e668a5426a5ec4869d4d0b8749b8) --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 3ab16a94fdf..ce7cddb44b4 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,6 @@ extensions/cronet/jniLibs/* !extensions/cronet/jniLibs/README.md extensions/cronet/libs/* !extensions/cronet/libs/README.md + +# MIDI extension +extensions/midi/lib From b89320521ad2e24381707d69e029fab986192d3a Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 9 Aug 2022 17:28:31 +0000 Subject: [PATCH 163/422] Demo: Add legacy external storage permission for intents. Without this permission, files in `/sdcard` or other directories cannot be read by the demo, as they're not in the transformer demo's scoped storage container. For more information, see https://developer.android.com/training/data-storage/use-cases Tested by uninstalling and re-installing the demo app, granting permission by starting a transformation, and launching an intent using a local file in `/sdcard` to start another transformation. Without this CL, this threw an error, and with this CL it succeeded. PiperOrigin-RevId: 466399023 (cherry picked from commit ec6ed0d55f59c9387aa09b1514bea9951a6206f8) --- demos/transformer/src/main/AndroidManifest.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/demos/transformer/src/main/AndroidManifest.xml b/demos/transformer/src/main/AndroidManifest.xml index ff7e08db743..d12622c1a88 100644 --- a/demos/transformer/src/main/AndroidManifest.xml +++ b/demos/transformer/src/main/AndroidManifest.xml @@ -29,6 +29,7 @@ android:label="@string/app_name" android:theme="@style/Theme.AppCompat" android:taskAffinity="" + android:requestLegacyExternalStorage="true" tools:targetApi="29"> Date: Tue, 9 Aug 2022 18:56:08 +0000 Subject: [PATCH 164/422] HDR: Update experimental_setEnableHdrEditing javadoc. Previously, this feature interpreted SDR signals as HDR when called. Now, only HDR streams are interpreted as HDR, so the javadoc should be updated. Not yet removing this method, as there are still some loose ends to finish up (ex. PQ support, e2e tests). PiperOrigin-RevId: 466425738 (cherry picked from commit 05fcda510a1dc8ab0a44487f3ddfff7fc2b617e7) --- .../media3/transformer/TransformationRequest.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java index bfd86e55353..0bcc0ef3941 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationRequest.java @@ -231,14 +231,19 @@ public Builder setEnableRequestSdrToneMapping(boolean enableRequestSdrToneMappin } /** - * Sets whether to attempt to process any input video stream as a high dynamic range (HDR) - * signal. + * Sets whether to allow processing high dynamic range (HDR) input video streams as HDR. * *

      This method is experimental, and will be renamed or removed in a future release. The HDR - * editing feature is under development and is intended for developing/testing HDR processing - * and encoding support. HDR editing can't be enabled at the same time as {@linkplain + * editing feature is under development and is intended for developing/testing HDR support. HDR + * editing can't be enabled at the same time as {@linkplain * #setEnableRequestSdrToneMapping(boolean) SDR tone-mapping}. * + *

      With this flag enabled, HDR streams will correctly edit in HDR, convert via tone-mapping + * to SDR, or throw an error, based on the device's HDR support. Without both this flag and + * {@linkplain #setEnableRequestSdrToneMapping(boolean) SDR tone-mapping} as false, HDR streams + * will be incorrectly interpreted as SDR streams, with no conversion. SDR streams will be + * interpreted the same way regardless of this flag's state. + * * @param enableHdrEditing Whether to attempt to process any input video stream as a high * dynamic range (HDR) signal. * @return This builder. From 6b4d174cde9066c8003668735f1b087d32bde977 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 10 Aug 2022 09:56:24 +0000 Subject: [PATCH 165/422] Avoid spinning in between intermediate texture processors. This change adds a new method onReadyToAcceptInputFrame to GlTextureProcesssor.InputListener and changes maybeQueueInputFrame to queueInputFrame, removing the boolean return value. This avoids the re-trying in ChainingGlTextureProcessorListener by allowing it to only feed frames from the producing to the consuming GlTextureProcessor when there is capacity. MediaPipeProcessor still needs re-trying when processing isn't 1:1. PiperOrigin-RevId: 466626369 (cherry picked from commit 97e6a86d2b1f72de9f95658f90ea40d1e1e4fac2) --- .../demo/transformer/TransformerActivity.java | 8 +- .../demo/transformer/MediaPipeProcessor.java | 134 +++++++++++++++++- .../ChainingGlTextureProcessorListener.java | 61 +++++--- .../effect/ExternalTextureProcessor.java | 7 + ...lMatrixTransformationProcessorWrapper.java | 13 +- .../effect/GlEffectsFrameProcessor.java | 15 +- .../media3/effect/GlTextureProcessor.java | 22 +-- .../effect/SingleFrameGlTextureProcessor.java | 23 ++- .../androidx/media3/effect/TextureInfo.java | 6 + ...hainingGlTextureProcessorListenerTest.java | 77 +++------- 10 files changed, 260 insertions(+), 106 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index aa243ff1870..68e167bf37a 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -279,7 +279,12 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) Class clazz = Class.forName("androidx.media3.demo.transformer.MediaPipeProcessor"); Constructor constructor = clazz.getConstructor( - Context.class, boolean.class, String.class, String.class, String.class); + Context.class, + boolean.class, + String.class, + boolean.class, + String.class, + String.class); effects.add( (GlEffect) (Context context, boolean useHdr) -> { @@ -289,6 +294,7 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) context, useHdr, /* graphName= */ "edge_detector_mediapipe_graph.binarypb", + /* isSingleFrameGraph= */ true, /* inputStreamName= */ "input_video", /* outputStreamName= */ "output_video"); } catch (Exception e) { diff --git a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java index 7d166aa277c..80e880c3444 100644 --- a/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java +++ b/demos/transformer/src/withMediaPipe/java/androidx/media3/demo/transformer/MediaPipeProcessor.java @@ -18,23 +18,35 @@ import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static java.util.concurrent.TimeUnit.MILLISECONDS; import android.content.Context; import android.opengl.EGL14; +import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.LibraryLoader; +import androidx.media3.common.util.Util; import androidx.media3.effect.GlTextureProcessor; import androidx.media3.effect.TextureInfo; import com.google.mediapipe.components.FrameProcessor; import com.google.mediapipe.framework.AppTextureFrame; import com.google.mediapipe.framework.TextureFrame; import com.google.mediapipe.glutil.EglManager; +import java.util.ArrayDeque; +import java.util.Queue; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; /** Runs a MediaPipe graph on input frames. */ /* package */ final class MediaPipeProcessor implements GlTextureProcessor { + private static final String THREAD_NAME = "Demo:MediaPipeProcessor"; + private static final long RELEASE_WAIT_TIME_MS = 100; + private static final long RETRY_WAIT_TIME_MS = 1; + private static final LibraryLoader LOADER = new LibraryLoader("mediapipe_jni") { @Override @@ -55,6 +67,9 @@ protected void loadLibrary(String name) { private final FrameProcessor frameProcessor; private final ConcurrentHashMap outputFrames; + private final boolean isSingleFrameGraph; + @Nullable private final ExecutorService singleThreadExecutorService; + private final Queue> futures; private InputListener inputListener; private OutputListener outputListener; @@ -64,10 +79,16 @@ protected void loadLibrary(String name) { /** * Creates a new texture processor that wraps a MediaPipe graph. * + *

      If {@code isSingleFrameGraph} is {@code false}, the {@code MediaPipeProcessor} may waste CPU + * time by continuously attempting to queue input frames to MediaPipe until they are accepted or + * waste memory if MediaPipe accepts and stores many frames internally. + * * @param context The {@link Context}. * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. * @param graphName Name of a MediaPipe graph asset to load. + * @param isSingleFrameGraph Whether the MediaPipe graph will eventually produce one output frame + * each time an input frame (and no other input) has been queued. * @param inputStreamName Name of the input video stream in the graph. * @param outputStreamName Name of the input video stream in the graph. */ @@ -75,11 +96,17 @@ public MediaPipeProcessor( Context context, boolean useHdr, String graphName, + boolean isSingleFrameGraph, String inputStreamName, String outputStreamName) { checkState(LOADER.isAvailable()); // TODO(b/227624622): Confirm whether MediaPipeProcessor could support HDR colors. checkArgument(!useHdr, "MediaPipeProcessor does not support HDR colors."); + + this.isSingleFrameGraph = isSingleFrameGraph; + singleThreadExecutorService = + isSingleFrameGraph ? null : Util.newSingleThreadExecutor(THREAD_NAME); + futures = new ArrayDeque<>(); inputListener = new InputListener() {}; outputListener = new OutputListener() {}; errorListener = (frameProcessingException) -> {}; @@ -96,6 +123,9 @@ public MediaPipeProcessor( @Override public void setInputListener(InputListener inputListener) { this.inputListener = inputListener; + if (!isSingleFrameGraph || outputFrames.isEmpty()) { + inputListener.onReadyToAcceptInputFrame(); + } } @Override @@ -122,13 +152,32 @@ public void setErrorListener(ErrorListener errorListener) { } @Override - public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { - acceptedFrame = false; + public void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { AppTextureFrame appTextureFrame = new AppTextureFrame(inputTexture.texId, inputTexture.width, inputTexture.height); // TODO(b/238302213): Handle timestamps restarting from 0 when applying effects to a playlist. // MediaPipe will fail if the timestamps are not monotonically increasing. + // Also make sure that a MediaPipe graph producing additional frames only starts producing + // frames for the next MediaItem after receiving the first frame of that MediaItem as input + // to avoid MediaPipe producing extra frames after the last MediaItem has ended. appTextureFrame.setTimestamp(presentationTimeUs); + if (isSingleFrameGraph) { + boolean acceptedFrame = maybeQueueInputFrameSynchronous(appTextureFrame, inputTexture); + checkState( + acceptedFrame, + "queueInputFrame must only be called when a new input frame can be accepted"); + return; + } + + // TODO(b/241782273): Avoid retrying continuously until the frame is accepted by using a + // currently non-existent MediaPipe API to be notified when MediaPipe has capacity to accept a + // new frame. + queueInputFrameAsynchronous(appTextureFrame, inputTexture); + } + + private boolean maybeQueueInputFrameSynchronous( + AppTextureFrame appTextureFrame, TextureInfo inputTexture) { + acceptedFrame = false; frameProcessor.onNewFrame(appTextureFrame); try { appTextureFrame.waitUntilReleasedWithGpuSync(); @@ -136,23 +185,98 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT Thread.currentThread().interrupt(); errorListener.onFrameProcessingError(new FrameProcessingException(e)); } - inputListener.onInputFrameProcessed(inputTexture); + if (acceptedFrame) { + inputListener.onInputFrameProcessed(inputTexture); + } return acceptedFrame; } + private void queueInputFrameAsynchronous( + AppTextureFrame appTextureFrame, TextureInfo inputTexture) { + removeFinishedFutures(); + futures.add( + checkStateNotNull(singleThreadExecutorService) + .submit( + () -> { + while (!maybeQueueInputFrameSynchronous(appTextureFrame, inputTexture)) { + try { + Thread.sleep(RETRY_WAIT_TIME_MS); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + if (errorListener != null) { + errorListener.onFrameProcessingError(new FrameProcessingException(e)); + } + } + } + inputListener.onReadyToAcceptInputFrame(); + })); + } + @Override public void releaseOutputFrame(TextureInfo outputTexture) { checkStateNotNull(outputFrames.get(outputTexture)).release(); + if (isSingleFrameGraph) { + inputListener.onReadyToAcceptInputFrame(); + } } @Override public void release() { + if (isSingleFrameGraph) { + frameProcessor.close(); + return; + } + + Queue> futures = checkStateNotNull(this.futures); + while (!futures.isEmpty()) { + futures.remove().cancel(/* mayInterruptIfRunning= */ false); + } + ExecutorService singleThreadExecutorService = + checkStateNotNull(this.singleThreadExecutorService); + singleThreadExecutorService.shutdown(); + try { + if (!singleThreadExecutorService.awaitTermination(RELEASE_WAIT_TIME_MS, MILLISECONDS)) { + errorListener.onFrameProcessingError(new FrameProcessingException("Release timed out")); + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + errorListener.onFrameProcessingError(new FrameProcessingException(e)); + } + frameProcessor.close(); } @Override public final void signalEndOfCurrentInputStream() { - frameProcessor.waitUntilIdle(); - outputListener.onCurrentOutputStreamEnded(); + if (isSingleFrameGraph) { + frameProcessor.waitUntilIdle(); + outputListener.onCurrentOutputStreamEnded(); + return; + } + + removeFinishedFutures(); + futures.add( + checkStateNotNull(singleThreadExecutorService) + .submit( + () -> { + frameProcessor.waitUntilIdle(); + outputListener.onCurrentOutputStreamEnded(); + })); + } + + private void removeFinishedFutures() { + while (!futures.isEmpty()) { + if (!futures.element().isDone()) { + return; + } + try { + futures.remove().get(); + } catch (ExecutionException e) { + errorListener.onFrameProcessingError(new FrameProcessingException(e)); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + errorListener.onFrameProcessingError(new FrameProcessingException(e)); + } + } } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java index c7be04834cd..f5957b6706d 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java @@ -16,6 +16,9 @@ package androidx.media3.effect; import android.util.Pair; +import androidx.annotation.GuardedBy; +import androidx.annotation.Nullable; +import androidx.media3.common.C; import androidx.media3.effect.GlTextureProcessor.InputListener; import androidx.media3.effect.GlTextureProcessor.OutputListener; import java.util.ArrayDeque; @@ -33,8 +36,13 @@ private final GlTextureProcessor producingGlTextureProcessor; private final GlTextureProcessor consumingGlTextureProcessor; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; + + @GuardedBy("this") private final Queue> availableFrames; + @GuardedBy("this") + private int nextGlTextureProcessorInputCapacity; + /** * Creates a new instance. * @@ -58,33 +66,52 @@ public ChainingGlTextureProcessorListener( } @Override - public void onInputFrameProcessed(TextureInfo inputTexture) { - frameProcessingTaskExecutor.submit( - () -> producingGlTextureProcessor.releaseOutputFrame(inputTexture)); + public synchronized void onReadyToAcceptInputFrame() { + @Nullable Pair pendingFrame = availableFrames.poll(); + if (pendingFrame == null) { + nextGlTextureProcessorInputCapacity++; + return; + } + + long presentationTimeUs = pendingFrame.second; + if (presentationTimeUs == C.TIME_END_OF_SOURCE) { + frameProcessingTaskExecutor.submit( + consumingGlTextureProcessor::signalEndOfCurrentInputStream); + } else { + frameProcessingTaskExecutor.submit( + () -> + consumingGlTextureProcessor.queueInputFrame( + /* inputTexture= */ pendingFrame.first, presentationTimeUs)); + } } @Override - public void onOutputFrameAvailable(TextureInfo outputTexture, long presentationTimeUs) { + public void onInputFrameProcessed(TextureInfo inputTexture) { frameProcessingTaskExecutor.submit( - () -> { - availableFrames.add(new Pair<>(outputTexture, presentationTimeUs)); - processFrameNowOrLater(); - }); + () -> producingGlTextureProcessor.releaseOutputFrame(inputTexture)); } - private void processFrameNowOrLater() { - Pair pendingFrame = availableFrames.element(); - TextureInfo outputTexture = pendingFrame.first; - long presentationTimeUs = pendingFrame.second; - if (consumingGlTextureProcessor.maybeQueueInputFrame(outputTexture, presentationTimeUs)) { - availableFrames.remove(); + @Override + public synchronized void onOutputFrameAvailable( + TextureInfo outputTexture, long presentationTimeUs) { + if (nextGlTextureProcessorInputCapacity > 0) { + frameProcessingTaskExecutor.submit( + () -> + consumingGlTextureProcessor.queueInputFrame( + /* inputTexture= */ outputTexture, presentationTimeUs)); + nextGlTextureProcessorInputCapacity--; } else { - frameProcessingTaskExecutor.submit(this::processFrameNowOrLater); + availableFrames.add(new Pair<>(outputTexture, presentationTimeUs)); } } @Override - public void onCurrentOutputStreamEnded() { - frameProcessingTaskExecutor.submit(consumingGlTextureProcessor::signalEndOfCurrentInputStream); + public synchronized void onCurrentOutputStreamEnded() { + if (!availableFrames.isEmpty()) { + availableFrames.add(new Pair<>(TextureInfo.UNSET, C.TIME_END_OF_SOURCE)); + } else { + frameProcessingTaskExecutor.submit( + consumingGlTextureProcessor::signalEndOfCurrentInputStream); + } } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java index 16194da5f36..19b5cbd0086 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java @@ -31,4 +31,11 @@ * android.graphics.SurfaceTexture#getTransformMatrix(float[]) transform matrix}. */ void setTextureTransformMatrix(float[] textureTransformMatrix); + + /** + * Returns whether another input frame can be {@linkplain #queueInputFrame(TextureInfo, long) + * queued}. + */ + // TODO(b/227625423): Remove this method and use the input listener instead. + boolean acceptsInputFrame(); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index bd4ac4283a9..23a5fa0972e 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -119,6 +119,7 @@ public FinalMatrixTransformationProcessorWrapper( @Override public void setInputListener(InputListener inputListener) { this.inputListener = inputListener; + inputListener.onReadyToAcceptInputFrame(); } @Override @@ -134,13 +135,19 @@ public void setErrorListener(ErrorListener errorListener) { } @Override - public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + public boolean acceptsInputFrame() { + return true; + } + + @Override + public void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { checkState(!streamOffsetUsQueue.isEmpty(), "No input stream specified."); try { synchronized (this) { if (!ensureConfigured(inputTexture.width, inputTexture.height)) { - return false; + inputListener.onInputFrameProcessed(inputTexture); + return; // Drop frames when there is no output surface. } EGLSurface outputEglSurface = this.outputEglSurface; @@ -181,7 +188,7 @@ public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationT } } inputListener.onInputFrameProcessed(inputTexture); - return true; + inputListener.onReadyToAcceptInputFrame(); } @EnsuresNonNullIf( diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 9f5db2a4ac8..87ccbacfb82 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -386,13 +386,14 @@ private void queueInputFrameToTextureProcessors(long presentationTimeUs) { checkState(inputTextureInUse); FrameInfo inputFrameInfo = checkStateNotNull(pendingInputFrames.peek()); - if (inputExternalTextureProcessor.maybeQueueInputFrame( - new TextureInfo( - inputExternalTextureId, - /* fboId= */ C.INDEX_UNSET, - inputFrameInfo.width, - inputFrameInfo.height), - presentationTimeUs)) { + if (inputExternalTextureProcessor.acceptsInputFrame()) { + inputExternalTextureProcessor.queueInputFrame( + new TextureInfo( + inputExternalTextureId, + /* fboId= */ C.INDEX_UNSET, + inputFrameInfo.width, + inputFrameInfo.height), + presentationTimeUs); inputTextureInUse = false; pendingInputFrames.remove(); // After the externalTextureProcessor has produced an output frame, it is processed diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java index eb9f796ad8b..9f418f9e78c 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java @@ -22,7 +22,7 @@ * Processes frames from one OpenGL 2D texture to another. * *

      The {@code GlTextureProcessor} consumes input frames it accepts via {@link - * #maybeQueueInputFrame(TextureInfo, long)} and surrenders each texture back to the caller via its + * #queueInputFrame(TextureInfo, long)} and surrenders each texture back to the caller via its * {@linkplain InputListener#onInputFrameProcessed(TextureInfo) listener} once the texture's * contents have been processed. * @@ -51,11 +51,19 @@ public interface GlTextureProcessor { *

      This listener can be called from any thread. */ interface InputListener { + /** + * Called when the {@link GlTextureProcessor} is ready to accept another input frame. + * + *

      For each time this method is called, {@link #queueInputFrame(TextureInfo, long)} can be + * called once. + */ + default void onReadyToAcceptInputFrame() {} + /** * Called when the {@link GlTextureProcessor} has processed an input frame. * * @param inputTexture The {@link TextureInfo} that was used to {@linkplain - * #maybeQueueInputFrame(TextureInfo, long) queue} the input frame. + * #queueInputFrame(TextureInfo, long) queue} the input frame. */ default void onInputFrameProcessed(TextureInfo inputTexture) {} } @@ -114,19 +122,17 @@ interface ErrorListener { /** * Processes an input frame if possible. * - *

      If this method returns {@code true} the input frame has been accepted. The {@code - * GlTextureProcessor} owns the accepted frame until it calls {@link + *

      The {@code GlTextureProcessor} owns the accepted frame until it calls {@link * InputListener#onInputFrameProcessed(TextureInfo)}. The caller should not overwrite or release * the texture before the {@code GlTextureProcessor} has finished processing it. * - *

      If this method returns {@code false}, the input frame could not be accepted and the caller - * should decide whether to drop the frame or try again later. + *

      This method must only be called when the {@code GlTextureProcessor} can {@linkplain + * InputListener#onReadyToAcceptInputFrame() accept an input frame}. * * @param inputTexture A {@link TextureInfo} describing the texture containing the input frame. * @param presentationTimeUs The presentation timestamp of the input frame, in microseconds. - * @return Whether the frame was accepted. */ - boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs); + void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs); /** * Notifies the texture processor that the frame on the given output texture is no longer used and diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java index 3df339c8db4..593fe345e21 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java @@ -15,6 +15,8 @@ */ package androidx.media3.effect; +import static androidx.media3.common.util.Assertions.checkState; + import android.util.Pair; import androidx.annotation.CallSuper; import androidx.media3.common.FrameProcessingException; @@ -36,6 +38,8 @@ @UnstableApi public abstract class SingleFrameGlTextureProcessor implements GlTextureProcessor { + private final boolean useHdr; + private InputListener inputListener; private OutputListener outputListener; private ErrorListener errorListener; @@ -43,7 +47,6 @@ public abstract class SingleFrameGlTextureProcessor implements GlTextureProcesso private int inputHeight; private @MonotonicNonNull TextureInfo outputTexture; private boolean outputTextureInUse; - private final boolean useHdr; /** * Creates a {@code SingleFrameGlTextureProcessor} instance. @@ -90,6 +93,9 @@ public abstract void drawFrame(int inputTexId, long presentationTimeUs) @Override public final void setInputListener(InputListener inputListener) { this.inputListener = inputListener; + if (!outputTextureInUse) { + inputListener.onReadyToAcceptInputFrame(); + } } @Override @@ -102,11 +108,16 @@ public final void setErrorListener(ErrorListener errorListener) { this.errorListener = errorListener; } + public final boolean acceptsInputFrame() { + return !outputTextureInUse; + } + @Override - public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { - if (outputTextureInUse) { - return false; - } + public final void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + checkState( + !outputTextureInUse, + "The texture processor does not currently accept input frames. Release prior output frames" + + " first."); try { if (outputTexture == null @@ -127,7 +138,6 @@ public final boolean maybeQueueInputFrame(TextureInfo inputTexture, long present ? (FrameProcessingException) e : new FrameProcessingException(e)); } - return true; } @EnsuresNonNull("outputTexture") @@ -151,6 +161,7 @@ private void configureOutputTexture(int inputWidth, int inputHeight) throws GlUt @Override public final void releaseOutputFrame(TextureInfo outputTexture) { outputTextureInUse = false; + inputListener.onReadyToAcceptInputFrame(); } @Override diff --git a/libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java b/libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java index b929e222339..63729553a6a 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/TextureInfo.java @@ -15,11 +15,17 @@ */ package androidx.media3.effect; +import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; /** Contains information describing an OpenGL texture. */ @UnstableApi public final class TextureInfo { + + /** A {@link TextureInfo} instance with all fields unset. */ + public static final TextureInfo UNSET = + new TextureInfo(C.INDEX_UNSET, C.INDEX_UNSET, C.LENGTH_UNSET, C.LENGTH_UNSET); + /** The OpenGL texture identifier. */ public final int texId; /** Identifier of a framebuffer object associated with the texture. */ diff --git a/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java index 5c12757c425..c3e971ea23c 100644 --- a/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/ChainingGlTextureProcessorListenerTest.java @@ -16,8 +16,6 @@ package androidx.media3.effect; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import androidx.media3.common.FrameProcessor; @@ -32,16 +30,17 @@ public final class ChainingGlTextureProcessorListenerTest { private static final long EXECUTOR_WAIT_TIME_MS = 100; + private final FrameProcessor.Listener mockFrameProcessorListener = + mock(FrameProcessor.Listener.class); private final FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor( - Util.newSingleThreadExecutor("Test"), mock(FrameProcessor.Listener.class)); + Util.newSingleThreadExecutor("Test"), mockFrameProcessorListener); private final GlTextureProcessor mockProducingGlTextureProcessor = mock(GlTextureProcessor.class); - private final FakeGlTextureProcessor fakeConsumingGlTextureProcessor = - spy(new FakeGlTextureProcessor()); + private final GlTextureProcessor mockConsumingGlTextureProcessor = mock(GlTextureProcessor.class); private final ChainingGlTextureProcessorListener chainingGlTextureProcessorListener = new ChainingGlTextureProcessorListener( mockProducingGlTextureProcessor, - fakeConsumingGlTextureProcessor, + mockConsumingGlTextureProcessor, frameProcessingTaskExecutor); @After @@ -62,35 +61,35 @@ public void onInputFrameProcessed_surrendersFrameToPreviousGlTextureProcessor() } @Test - public void onOutputFrameAvailable_passesFrameToNextGlTextureProcessor() + public void onOutputFrameAvailable_afterAcceptsInputFrame_passesFrameToNextGlTextureProcessor() throws InterruptedException { TextureInfo texture = new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); long presentationTimeUs = 123; + chainingGlTextureProcessorListener.onReadyToAcceptInputFrame(); chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeConsumingGlTextureProcessor).maybeQueueInputFrame(texture, presentationTimeUs); + verify(mockConsumingGlTextureProcessor).queueInputFrame(texture, presentationTimeUs); } @Test - public void onOutputFrameAvailable_nextGlTextureProcessorRejectsFrame_triesAgain() + public void onOutputFrameAvailable_beforeAcceptsInputFrame_passesFrameToNextGlTextureProcessor() throws InterruptedException { TextureInfo texture = new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); long presentationTimeUs = 123; - fakeConsumingGlTextureProcessor.rejectNextFrame(); chainingGlTextureProcessorListener.onOutputFrameAvailable(texture, presentationTimeUs); + chainingGlTextureProcessorListener.onReadyToAcceptInputFrame(); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeConsumingGlTextureProcessor, times(2)) - .maybeQueueInputFrame(texture, presentationTimeUs); + verify(mockConsumingGlTextureProcessor).queueInputFrame(texture, presentationTimeUs); } @Test - public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBeforeSecond() + public void onOutputFrameAvailable_twoFrames_passesFirstBeforeSecondToNextGlTextureProcessor() throws InterruptedException { TextureInfo firstTexture = new TextureInfo(/* texId= */ 1, /* fboId= */ 1, /* width= */ 100, /* height= */ 100); @@ -98,18 +97,18 @@ public void onOutputFrameAvailable_twoFramesWithFirstRejected_retriesFirstBefore TextureInfo secondTexture = new TextureInfo(/* texId= */ 2, /* fboId= */ 2, /* width= */ 100, /* height= */ 100); long secondPresentationTimeUs = 567; - fakeConsumingGlTextureProcessor.rejectNextFrame(); chainingGlTextureProcessorListener.onOutputFrameAvailable( firstTexture, firstPresentationTimeUs); chainingGlTextureProcessorListener.onOutputFrameAvailable( secondTexture, secondPresentationTimeUs); + chainingGlTextureProcessorListener.onReadyToAcceptInputFrame(); + chainingGlTextureProcessorListener.onReadyToAcceptInputFrame(); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeConsumingGlTextureProcessor, times(2)) - .maybeQueueInputFrame(firstTexture, firstPresentationTimeUs); - verify(fakeConsumingGlTextureProcessor) - .maybeQueueInputFrame(secondTexture, secondPresentationTimeUs); + verify(mockConsumingGlTextureProcessor).queueInputFrame(firstTexture, firstPresentationTimeUs); + verify(mockConsumingGlTextureProcessor) + .queueInputFrame(secondTexture, secondPresentationTimeUs); } @Test @@ -118,46 +117,6 @@ public void onOutputStreamEnded_signalsInputStreamEndedToNextGlTextureProcessor( chainingGlTextureProcessorListener.onCurrentOutputStreamEnded(); Thread.sleep(EXECUTOR_WAIT_TIME_MS); - verify(fakeConsumingGlTextureProcessor).signalEndOfCurrentInputStream(); - } - - private static class FakeGlTextureProcessor implements GlTextureProcessor { - - private volatile boolean rejectNextFrame; - - public void rejectNextFrame() { - rejectNextFrame = true; - } - - @Override - public void setInputListener(InputListener inputListener) { - throw new UnsupportedOperationException(); - } - - @Override - public void setOutputListener(OutputListener outputListener) { - throw new UnsupportedOperationException(); - } - - @Override - public void setErrorListener(ErrorListener errorListener) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean maybeQueueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { - boolean acceptFrame = !rejectNextFrame; - rejectNextFrame = false; - return acceptFrame; - } - - @Override - public void releaseOutputFrame(TextureInfo outputTexture) {} - - @Override - public void signalEndOfCurrentInputStream() {} - - @Override - public void release() {} + verify(mockConsumingGlTextureProcessor).signalEndOfCurrentInputStream(); } } From da10c96229736624e83e5ecf96ba5a6926ca8da8 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 10 Aug 2022 11:25:56 +0000 Subject: [PATCH 166/422] HDR: Clarify tone mapping fallback. createSupportedTransformationRequest is more accurate than createFallbackTransformationRequest, as a TransformationRequest will be returned regardless of whether any fallback is applied. PiperOrigin-RevId: 466641277 (cherry picked from commit c5a5364673749cb737be3df92c9521fc15207658) --- .../media3/transformer/FallbackListener.java | 12 +++++++---- .../VideoTranscodingSamplePipeline.java | 20 ++++++++++--------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java index b3271472d97..bd9cf63426c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FallbackListener.java @@ -65,11 +65,15 @@ public void registerTrack() { } /** - * Updates the fallback {@link TransformationRequest}. + * Updates the {@link TransformationRequest}, if fallback is applied. * - *

      Should be called with the final {@link TransformationRequest} for each track after all - * fallback has been applied. Calls {@link Transformer.Listener#onFallbackApplied(MediaItem, - * TransformationRequest, TransformationRequest)} once this method has been called for each track. + *

      Should be called with the final {@link TransformationRequest} for each track, after any + * track-specific fallback changes have been applied. + * + *

      Fallback is applied if the finalized {@code TransformationRequest} is different from the + * original {@code TransformationRequest}. If fallback is applied, calls {@link + * Transformer.Listener#onFallbackApplied(MediaItem, TransformationRequest, + * TransformationRequest)} once this method has been called for each track. * * @param transformationRequest The final {@link TransformationRequest} for a track. * @throws IllegalStateException If called for more tracks than registered using {@link diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 3bb4ea0cf78..cbc13d2d436 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -17,6 +17,7 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; import android.media.MediaCodec; @@ -232,27 +233,27 @@ public void release() { } /** - * Creates a fallback transformation request to execute, based on device-specific support. + * Creates a {@link TransformationRequest}, based on an original {@code TransformationRequest} and + * parameters specifying alterations to it that indicate device support. * * @param transformationRequest The requested transformation. * @param hasOutputFormatRotation Whether the input video will be rotated to landscape during * processing, with {@link Format#rotationDegrees} of 90 added to the output format. * @param requestedFormat The requested format. * @param supportedFormat A format supported by the device. - * @param fallbackToSdr Whether HDR editing was requested via the TransformationRequest or - * inferred from the input and tone-mapping to SDR was used instead due to lack of encoder - * capabilities. + * @param isToneMappedToSdr Whether tone mapping to SDR will be applied. + * @return The created instance. */ @Pure - private static TransformationRequest createFallbackTransformationRequest( + private static TransformationRequest createSupportedTransformationRequest( TransformationRequest transformationRequest, boolean hasOutputFormatRotation, Format requestedFormat, Format supportedFormat, - boolean fallbackToSdr) { + boolean isToneMappedToSdr) { // TODO(b/210591626): Also update bitrate etc. once encoder configuration and fallback are // implemented. - if (!fallbackToSdr + if (transformationRequest.enableRequestSdrToneMapping == isToneMappedToSdr && Util.areEqual(requestedFormat.sampleMimeType, supportedFormat.sampleMimeType) && (hasOutputFormatRotation ? requestedFormat.width == supportedFormat.width @@ -260,7 +261,8 @@ private static TransformationRequest createFallbackTransformationRequest( return transformationRequest; } TransformationRequest.Builder transformationRequestBuilder = transformationRequest.buildUpon(); - if (fallbackToSdr) { + if (transformationRequest.enableRequestSdrToneMapping != isToneMappedToSdr) { + checkState(isToneMappedToSdr); transformationRequestBuilder .setEnableRequestSdrToneMapping(true) .experimental_setEnableHdrEditing(false); @@ -429,7 +431,7 @@ public SurfaceInfo getSurfaceInfo(int requestedWidth, int requestedHeight) ColorInfo.isTransferHdr(inputFormat.colorInfo) && !ColorInfo.isTransferHdr(requestedEncoderFormat.colorInfo); fallbackListener.onTransformationRequestFinalized( - createFallbackTransformationRequest( + createSupportedTransformationRequest( transformationRequest, /* hasOutputFormatRotation= */ flipOrientation, requestedEncoderFormat, From 65d73e142f342d4372897e07d04619ad2d4620b4 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 10 Aug 2022 18:01:01 +0000 Subject: [PATCH 167/422] Fix ChainingGlTextureProcessorListener field name. PiperOrigin-RevId: 466735554 (cherry picked from commit 4c4f7d73b49b522599b8ac166085c0add801c074) --- .../media3/effect/ChainingGlTextureProcessorListener.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java index f5957b6706d..acb62c5e8ac 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ChainingGlTextureProcessorListener.java @@ -41,7 +41,7 @@ private final Queue> availableFrames; @GuardedBy("this") - private int nextGlTextureProcessorInputCapacity; + private int consumingGlTextureProcessorInputCapacity; /** * Creates a new instance. @@ -69,7 +69,7 @@ public ChainingGlTextureProcessorListener( public synchronized void onReadyToAcceptInputFrame() { @Nullable Pair pendingFrame = availableFrames.poll(); if (pendingFrame == null) { - nextGlTextureProcessorInputCapacity++; + consumingGlTextureProcessorInputCapacity++; return; } @@ -94,12 +94,12 @@ public void onInputFrameProcessed(TextureInfo inputTexture) { @Override public synchronized void onOutputFrameAvailable( TextureInfo outputTexture, long presentationTimeUs) { - if (nextGlTextureProcessorInputCapacity > 0) { + if (consumingGlTextureProcessorInputCapacity > 0) { frameProcessingTaskExecutor.submit( () -> consumingGlTextureProcessor.queueInputFrame( /* inputTexture= */ outputTexture, presentationTimeUs)); - nextGlTextureProcessorInputCapacity--; + consumingGlTextureProcessorInputCapacity--; } else { availableFrames.add(new Pair<>(outputTexture, presentationTimeUs)); } From b19d1835c9c168f2a9c9da593b1ee037dd22152c Mon Sep 17 00:00:00 2001 From: tonihei Date: Thu, 11 Aug 2022 14:59:21 +0000 Subject: [PATCH 168/422] Add timeout for ad to load. In some cases, the IMA SDK fails to call the expected loadAd event to load the next ad to play. This is (potentially) the only remaining case where playback can get stuck due to missing calls from IMA as the player doesn't even have a MediaSource at this stage and is only waiting for IMA to provide the ad URL. We can reuse the existing adPreloadTimeoutMs that was added for a similar purpose (when preloading the first ad in the group). The JavaDoc matches this purpose as well and the default timeout is appropriate since we expect to get the loadAd call immediately. Issue: google/ExoPlayer#10510 PiperOrigin-RevId: 466953617 (cherry picked from commit b125d45a63dcca237535ccc67e741f950312dc52) --- RELEASENOTES.md | 4 ++ .../media3/exoplayer/ima/AdTagLoader.java | 41 +++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 161c4c57c9e..31804ceb336 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -46,6 +46,10 @@ * RTSP: * Add H263 fragmented packet handling ([#119](https://github.com/androidx/media/pull/119)). +* IMA: + * Add timeout for loading ad information to handle cases where the IMA SDK + gets stuck loading an ad + ([#10510](https://github.com/google/ExoPlayer/issues/10510)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java index 6196e933e48..4f958e3d558 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java @@ -143,6 +143,7 @@ private final BiMap adInfoByAdMediaInfo; private final AdDisplayContainer adDisplayContainer; private final AdsLoader adsLoader; + private final Runnable adLoadTimeoutRunnable; @Nullable private Object pendingAdRequestContext; @Nullable private Player player; @@ -256,6 +257,7 @@ public AdTagLoader( contentDurationMs = C.TIME_UNSET; timeline = Timeline.EMPTY; adPlaybackState = AdPlaybackState.NONE; + adLoadTimeoutRunnable = this::handleAdLoadTimeout; if (adViewGroup != null) { adDisplayContainer = imaFactory.createAdDisplayContainer(adViewGroup, /* player= */ componentListener); @@ -488,7 +490,7 @@ public void onPlaybackStateChanged(@Player.State int playbackState) { if (playbackState == Player.STATE_BUFFERING && !player.isPlayingAd() - && isWaitingForAdToLoad()) { + && isWaitingForFirstAdToPreload()) { waitingForPreloadElapsedRealtimeMs = SystemClock.elapsedRealtime(); } else if (playbackState == Player.STATE_READY) { waitingForPreloadElapsedRealtimeMs = C.TIME_UNSET; @@ -780,7 +782,7 @@ private void resumeContentInternal() { * Returns whether this instance is expecting the first ad in an the upcoming ad group to load * within the {@link ImaUtil.Configuration#adPreloadTimeoutMs preload timeout}. */ - private boolean isWaitingForAdToLoad() { + private boolean isWaitingForFirstAdToPreload() { @Nullable Player player = this.player; if (player == null) { return false; @@ -802,6 +804,23 @@ private boolean isWaitingForAdToLoad() { return timeUntilAdMs < configuration.adPreloadTimeoutMs; } + private boolean isWaitingForCurrentAdToLoad() { + @Nullable Player player = this.player; + if (player == null) { + return false; + } + int adGroupIndex = player.getCurrentAdGroupIndex(); + if (adGroupIndex == C.INDEX_UNSET) { + return false; + } + AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); + int adIndexInAdGroup = player.getCurrentAdIndexInAdGroup(); + if (adGroup.count == C.LENGTH_UNSET || adGroup.count <= adIndexInAdGroup) { + return true; + } + return adGroup.states[adIndexInAdGroup] == AdPlaybackState.AD_STATE_UNAVAILABLE; + } + private void handlePlayerStateChanged(boolean playWhenReady, @Player.State int playbackState) { if (playingAd && imaAdState == IMA_AD_STATE_PLAYING) { if (!bufferingAd && playbackState == Player.STATE_BUFFERING) { @@ -892,6 +911,10 @@ private void handleTimelineOrPositionChanged() { } } } + if (isWaitingForCurrentAdToLoad()) { + handler.removeCallbacks(adLoadTimeoutRunnable); + handler.postDelayed(adLoadTimeoutRunnable, configuration.adPreloadTimeoutMs); + } } private void loadAdInternal(AdMediaInfo adMediaInfo, AdPodInfo adPodInfo) { @@ -918,6 +941,12 @@ private void loadAdInternal(AdMediaInfo adMediaInfo, AdPodInfo adPodInfo) { // timeout after its media load timeout. return; } + if (player != null + && player.getCurrentAdGroupIndex() == adGroupIndex + && player.getCurrentAdIndexInAdGroup() == adIndexInAdGroup) { + // Loaded ad info the player is currently waiting for. + handler.removeCallbacks(adLoadTimeoutRunnable); + } // The ad count may increase on successive loads of ads in the same ad pod, for example, due to // separate requests for ad tags with multiple ads within the ad pod completing after an earlier @@ -1063,6 +1092,12 @@ private void handleAdGroupLoadError(Exception error) { } } + private void handleAdLoadTimeout() { + // IMA got stuck and didn't load an ad in time, so skip the entire group. + handleAdGroupLoadError(new IOException("Ad loading timed out")); + maybeNotifyPendingAdLoadError(); + } + private void markAdGroupInErrorStateAndClearPendingContentPosition(int adGroupIndex) { // Update the ad playback state so all ads in the ad group are in the error state. AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); @@ -1334,7 +1369,7 @@ public VideoProgressUpdate getContentProgress() { } else if (pendingContentPositionMs != C.TIME_UNSET && player != null && player.getPlaybackState() == Player.STATE_BUFFERING - && isWaitingForAdToLoad()) { + && isWaitingForFirstAdToPreload()) { // Prepare to timeout the load of an ad for the pending seek operation. waitingForPreloadElapsedRealtimeMs = SystemClock.elapsedRealtime(); } From 61c437802db1775b9b910544f94adab88dd4b901 Mon Sep 17 00:00:00 2001 From: tonihei Date: Fri, 12 Aug 2022 09:43:22 +0000 Subject: [PATCH 169/422] Add additional build flags for ffmpeg on "arm64-v8a" From NDK 23.1.7779620 and above, the arm64-v8a ABI needs additional build flags to correctly link the ffmpeg libraries. Issue: google/ExoPlayer#9933 PiperOrigin-RevId: 467161973 (cherry picked from commit 5874327e5d7419c8937fec660a63ea16e58237cb) --- RELEASENOTES.md | 3 +++ libraries/decoder_ffmpeg/src/main/jni/CMakeLists.txt | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 31804ceb336..d67cc01f87b 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -50,6 +50,9 @@ * Add timeout for loading ad information to handle cases where the IMA SDK gets stuck loading an ad ([#10510](https://github.com/google/ExoPlayer/issues/10510)). +* FFmpeg extension: + * Add newly required flags to link FFmpeg libraries with NDK 23.1.7779620 + and above ([#9933](https://github.com/google/ExoPlayer/issues/9933)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/decoder_ffmpeg/src/main/jni/CMakeLists.txt b/libraries/decoder_ffmpeg/src/main/jni/CMakeLists.txt index 9b418524815..2a81cd54300 100644 --- a/libraries/decoder_ffmpeg/src/main/jni/CMakeLists.txt +++ b/libraries/decoder_ffmpeg/src/main/jni/CMakeLists.txt @@ -21,6 +21,12 @@ set(CMAKE_CXX_STANDARD 11) project(libffmpegJNI C CXX) +# Additional flags needed for "arm64-v8a" from NDK 23.1.7779620 and above. +# See https://github.com/google/ExoPlayer/issues/9933#issuecomment-1029775358. +if(${ANDROID_ABI} MATCHES "arm64-v8a") + set(CMAKE_CXX_FLAGS "-Wl,-Bsymbolic") +endif() + set(ffmpeg_location "${CMAKE_CURRENT_SOURCE_DIR}/ffmpeg") set(ffmpeg_binaries "${ffmpeg_location}/android-libs/${ANDROID_ABI}") From 19dfbeae5b06f83bda9721b0fd52d52e4b3c86b4 Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 12 Aug 2022 11:10:47 +0000 Subject: [PATCH 170/422] Avoid spinning while queueing input to ExternalTextureProcessor. This change adds ExternalTextureManager which implements InputListener to only queue input frames to the ExternalTextureProcessor when it is ready to accept an input frame. This replaces the old retry-logic in GlEffectsFrameProcessor. Before this change, the retrying in GlEffectFrameProcessor wasted CPU time if input becomes available faster than the ExternalTextureProcessor can process it. PiperOrigin-RevId: 467177659 (cherry picked from commit d7bf1ed2d7f5cd1e3893000d9d917ae69b814848) --- .../media3/effect/ExternalTextureManager.java | 192 ++++++++++++++++++ .../effect/ExternalTextureProcessor.java | 7 - ...lMatrixTransformationProcessorWrapper.java | 17 +- .../effect/GlEffectsFrameProcessor.java | 133 ++---------- .../effect/SingleFrameGlTextureProcessor.java | 4 - 5 files changed, 222 insertions(+), 131 deletions(-) create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java new file mode 100644 index 00000000000..6f01fb082bd --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java @@ -0,0 +1,192 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.effect; + +import android.graphics.SurfaceTexture; +import androidx.annotation.Nullable; +import androidx.annotation.WorkerThread; +import androidx.media3.common.C; +import androidx.media3.common.FrameInfo; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.util.GlUtil; +import androidx.media3.effect.GlTextureProcessor.InputListener; +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.atomic.AtomicInteger; + +/** + * Forwards externally produced frames that become available via a {@link SurfaceTexture} to an + * {@link ExternalTextureProcessor} for consumption. + */ +/* package */ class ExternalTextureManager implements InputListener { + + private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; + private final ExternalTextureProcessor externalTextureProcessor; + private final int externalTexId; + private final SurfaceTexture surfaceTexture; + private final float[] textureTransformMatrix; + private final Queue pendingFrames; + + // Incremented on any thread, decremented on the GL thread only. + private final AtomicInteger availableFrameCount; + // Incremented on any thread, decremented on the GL thread only. + private final AtomicInteger externalTextureProcessorInputCapacity; + + // Set to true on any thread. Read on the GL thread only. + private volatile boolean inputStreamEnded; + // Set to null on any thread. Read and set to non-null on the GL thread only. + @Nullable private volatile FrameInfo frame; + + private long previousStreamOffsetUs; + + /** + * Creates a new instance. + * + * @param externalTextureProcessor The {@link ExternalTextureProcessor} for which this {@code + * ExternalTextureManager} will be set as the {@link InputListener}. + * @param frameProcessingTaskExecutor The {@link FrameProcessingTaskExecutor}. + * @throws FrameProcessingException If a problem occurs while creating the external texture. + */ + public ExternalTextureManager( + ExternalTextureProcessor externalTextureProcessor, + FrameProcessingTaskExecutor frameProcessingTaskExecutor) + throws FrameProcessingException { + this.externalTextureProcessor = externalTextureProcessor; + this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; + try { + externalTexId = GlUtil.createExternalTexture(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + surfaceTexture = new SurfaceTexture(externalTexId); + textureTransformMatrix = new float[16]; + pendingFrames = new ConcurrentLinkedQueue<>(); + availableFrameCount = new AtomicInteger(); + externalTextureProcessorInputCapacity = new AtomicInteger(); + previousStreamOffsetUs = C.TIME_UNSET; + } + + public SurfaceTexture getSurfaceTexture() { + surfaceTexture.setOnFrameAvailableListener( + unused -> { + availableFrameCount.getAndIncrement(); + frameProcessingTaskExecutor.submit( + () -> { + if (maybeUpdateFrame()) { + maybeQueueFrameToExternalTextureProcessor(); + } + }); + }); + return surfaceTexture; + } + + @Override + public void onReadyToAcceptInputFrame() { + externalTextureProcessorInputCapacity.getAndIncrement(); + frameProcessingTaskExecutor.submit(this::maybeQueueFrameToExternalTextureProcessor); + } + + @Override + public void onInputFrameProcessed(TextureInfo inputTexture) { + frame = null; + frameProcessingTaskExecutor.submit( + () -> { + if (maybeUpdateFrame()) { + maybeQueueFrameToExternalTextureProcessor(); + } + }); + } + + /** + * Notifies the {@code ExternalTextureManager} that a frame with the given {@link FrameInfo} will + * become available via the {@link SurfaceTexture} eventually. + * + *

      Can be called on any thread, but the caller must ensure that frames are registered in the + * correct order. + */ + public void registerInputFrame(FrameInfo frame) { + pendingFrames.add(frame); + } + + /** + * Returns the number of {@linkplain #registerInputFrame(FrameInfo) registered} frames that have + * not been rendered to the external texture yet. + * + *

      Can be called on any thread. + */ + public int getPendingFrameCount() { + return pendingFrames.size(); + } + + /** + * Signals the end of the input. + * + * @see FrameProcessor#signalEndOfInput() + */ + @WorkerThread + public void signalEndOfInput() { + inputStreamEnded = true; + if (pendingFrames.isEmpty() && frame == null) { + externalTextureProcessor.signalEndOfCurrentInputStream(); + } + } + + public void release() { + surfaceTexture.release(); + } + + @WorkerThread + private boolean maybeUpdateFrame() { + if (frame != null || availableFrameCount.get() == 0) { + return false; + } + + availableFrameCount.getAndDecrement(); + surfaceTexture.updateTexImage(); + frame = pendingFrames.remove(); + return true; + } + + @WorkerThread + private void maybeQueueFrameToExternalTextureProcessor() { + if (externalTextureProcessorInputCapacity.get() == 0 || frame == null) { + return; + } + + FrameInfo frame = this.frame; + externalTextureProcessorInputCapacity.getAndDecrement(); + surfaceTexture.getTransformMatrix(textureTransformMatrix); + externalTextureProcessor.setTextureTransformMatrix(textureTransformMatrix); + long frameTimeNs = surfaceTexture.getTimestamp(); + long streamOffsetUs = frame.streamOffsetUs; + if (streamOffsetUs != previousStreamOffsetUs) { + if (previousStreamOffsetUs != C.TIME_UNSET) { + externalTextureProcessor.signalEndOfCurrentInputStream(); + } + previousStreamOffsetUs = streamOffsetUs; + } + // Correct for the stream offset so processors see original media presentation timestamps. + long presentationTimeUs = (frameTimeNs / 1000) - streamOffsetUs; + externalTextureProcessor.queueInputFrame( + new TextureInfo(externalTexId, /* fboId= */ C.INDEX_UNSET, frame.width, frame.height), + presentationTimeUs); + + if (inputStreamEnded && pendingFrames.isEmpty()) { + externalTextureProcessor.signalEndOfCurrentInputStream(); + } + } +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java index 19b5cbd0086..16194da5f36 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureProcessor.java @@ -31,11 +31,4 @@ * android.graphics.SurfaceTexture#getTransformMatrix(float[]) transform matrix}. */ void setTextureTransformMatrix(float[] textureTransformMatrix); - - /** - * Returns whether another input frame can be {@linkplain #queueInputFrame(TextureInfo, long) - * queued}. - */ - // TODO(b/227625423): Remove this method and use the input listener instead. - boolean acceptsInputFrame(); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index 23a5fa0972e..e0fd5319872 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -42,8 +42,8 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; -import java.util.ArrayDeque; import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; import org.checkerframework.checker.nullness.qual.EnsuresNonNullIf; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -112,7 +112,7 @@ public FinalMatrixTransformationProcessorWrapper( textureTransformMatrix = new float[16]; Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); - streamOffsetUsQueue = new ArrayDeque<>(); + streamOffsetUsQueue = new ConcurrentLinkedQueue<>(); inputListener = new InputListener() {}; } @@ -134,11 +134,6 @@ public void setErrorListener(ErrorListener errorListener) { throw new UnsupportedOperationException(); } - @Override - public boolean acceptsInputFrame() { - return true; - } - @Override public void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { checkState(!streamOffsetUsQueue.isEmpty(), "No input stream specified."); @@ -329,12 +324,20 @@ public void setTextureTransformMatrix(float[] textureTransformMatrix) { * Signals that there will be another input stream after all previously appended input streams * have {@linkplain #signalEndOfCurrentInputStream() ended}. * + *

      This method does not need to be called on the GL thread, but the caller must ensure that + * stream offsets are appended in the correct order. + * * @param streamOffsetUs The presentation timestamp offset, in microseconds. */ public void appendStream(long streamOffsetUs) { streamOffsetUsQueue.add(streamOffsetUs); } + /** + * Sets the output {@link SurfaceInfo}. + * + * @see FrameProcessor#setOutputSurfaceInfo(SurfaceInfo) + */ public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { if (outputSurfaceInfo != null diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 87ccbacfb82..a74033d1c82 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -21,7 +21,6 @@ import static com.google.common.collect.Iterables.getLast; import android.content.Context; -import android.graphics.SurfaceTexture; import android.opengl.EGL14; import android.opengl.EGLContext; import android.opengl.EGLDisplay; @@ -41,7 +40,6 @@ import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import java.util.List; -import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -143,11 +141,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( chainTextureProcessorsWithListeners(textureProcessors, frameProcessingTaskExecutor, listener); return new GlEffectsFrameProcessor( - eglDisplay, - eglContext, - frameProcessingTaskExecutor, - /* inputExternalTextureId= */ GlUtil.createExternalTexture(), - textureProcessors); + eglDisplay, eglContext, frameProcessingTaskExecutor, textureProcessors); } /** @@ -234,30 +228,18 @@ private static void chainTextureProcessorsWithListeners( } } - private static final String THREAD_NAME = "Transformer:GlEffectsFrameProcessor"; + private static final String THREAD_NAME = "Effect:GlThread"; private static final long RELEASE_WAIT_TIME_MS = 100; private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; - - /** Associated with an OpenGL external texture. */ - private final SurfaceTexture inputSurfaceTexture; - /** Wraps the {@link #inputSurfaceTexture}. */ + private final ExternalTextureManager inputExternalTextureManager; private final Surface inputSurface; - - private final float[] inputSurfaceTextureTransformMatrix; - private final int inputExternalTextureId; - private final ExternalTextureProcessor inputExternalTextureProcessor; private final FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper; private final ImmutableList allTextureProcessors; - private final ConcurrentLinkedQueue pendingInputFrames; - // Fields accessed on the thread used by the GlEffectsFrameProcessor's caller. private @MonotonicNonNull FrameInfo nextInputFrameInfo; - - // Fields accessed on the frameProcessingTaskExecutor's thread. - private boolean inputTextureInUse; private boolean inputStreamEnded; /** * Offset compared to original media presentation time that has been added to incoming frame @@ -269,39 +251,41 @@ private GlEffectsFrameProcessor( EGLDisplay eglDisplay, EGLContext eglContext, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - int inputExternalTextureId, - ImmutableList textureProcessors) { + ImmutableList textureProcessors) + throws FrameProcessingException { this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; - this.inputExternalTextureId = inputExternalTextureId; checkState(!textureProcessors.isEmpty()); checkState(textureProcessors.get(0) instanceof ExternalTextureProcessor); checkState(getLast(textureProcessors) instanceof FinalMatrixTransformationProcessorWrapper); - inputExternalTextureProcessor = (ExternalTextureProcessor) textureProcessors.get(0); + ExternalTextureProcessor inputExternalTextureProcessor = + (ExternalTextureProcessor) textureProcessors.get(0); + inputExternalTextureManager = + new ExternalTextureManager(inputExternalTextureProcessor, frameProcessingTaskExecutor); + inputExternalTextureProcessor.setInputListener(inputExternalTextureManager); + inputSurface = new Surface(inputExternalTextureManager.getSurfaceTexture()); finalTextureProcessorWrapper = (FinalMatrixTransformationProcessorWrapper) getLast(textureProcessors); allTextureProcessors = textureProcessors; - - inputSurfaceTexture = new SurfaceTexture(inputExternalTextureId); - inputSurface = new Surface(inputSurfaceTexture); - inputSurfaceTextureTransformMatrix = new float[16]; - pendingInputFrames = new ConcurrentLinkedQueue<>(); previousStreamOffsetUs = C.TIME_UNSET; } @Override public Surface getInputSurface() { - inputSurfaceTexture.setOnFrameAvailableListener( - surfaceTexture -> frameProcessingTaskExecutor.submit(this::processInputFrame)); return inputSurface; } @Override public void setInputFrameInfo(FrameInfo inputFrameInfo) { nextInputFrameInfo = adjustForPixelWidthHeightRatio(inputFrameInfo); + + if (nextInputFrameInfo.streamOffsetUs != previousStreamOffsetUs) { + finalTextureProcessorWrapper.appendStream(nextInputFrameInfo.streamOffsetUs); + previousStreamOffsetUs = nextInputFrameInfo.streamOffsetUs; + } } @Override @@ -310,12 +294,12 @@ public void registerInputFrame() { checkStateNotNull( nextInputFrameInfo, "setInputFrameInfo must be called before registering input frames"); - pendingInputFrames.add(nextInputFrameInfo); + inputExternalTextureManager.registerInputFrame(nextInputFrameInfo); } @Override public int getPendingInputFrameCount() { - return pendingInputFrames.size(); + return inputExternalTextureManager.getPendingFrameCount(); } @Override @@ -327,7 +311,7 @@ public void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { public void signalEndOfInput() { checkState(!inputStreamEnded); inputStreamEnded = true; - frameProcessingTaskExecutor.submit(this::processEndOfInputStream); + frameProcessingTaskExecutor.submit(inputExternalTextureManager::signalEndOfInput); } @Override @@ -340,71 +324,10 @@ public void release() { Thread.currentThread().interrupt(); throw new IllegalStateException(unexpected); } - inputSurfaceTexture.release(); + inputExternalTextureManager.release(); inputSurface.release(); } - /** - * Processes an input frame from the {@link #inputSurfaceTexture}. - * - *

      This method must be called on the {@linkplain #THREAD_NAME background thread}. - */ - @WorkerThread - private void processInputFrame() { - checkState(Thread.currentThread().getName().equals(THREAD_NAME)); - if (inputTextureInUse) { - frameProcessingTaskExecutor.submit(this::processInputFrame); // Try again later. - return; - } - - inputTextureInUse = true; - inputSurfaceTexture.updateTexImage(); - inputSurfaceTexture.getTransformMatrix(inputSurfaceTextureTransformMatrix); - inputExternalTextureProcessor.setTextureTransformMatrix(inputSurfaceTextureTransformMatrix); - long inputFrameTimeNs = inputSurfaceTexture.getTimestamp(); - long streamOffsetUs = checkStateNotNull(pendingInputFrames.peek()).streamOffsetUs; - if (streamOffsetUs != previousStreamOffsetUs) { - if (previousStreamOffsetUs != C.TIME_UNSET) { - inputExternalTextureProcessor.signalEndOfCurrentInputStream(); - } - finalTextureProcessorWrapper.appendStream(streamOffsetUs); - previousStreamOffsetUs = streamOffsetUs; - } - // Correct for the stream offset so processors see original media presentation timestamps. - long presentationTimeUs = inputFrameTimeNs / 1000 - streamOffsetUs; - queueInputFrameToTextureProcessors(presentationTimeUs); - } - - /** - * Queues the input frame to the first texture processor until it is accepted. - * - *

      This method must be called on the {@linkplain #THREAD_NAME background thread}. - */ - @WorkerThread - private void queueInputFrameToTextureProcessors(long presentationTimeUs) { - checkState(Thread.currentThread().getName().equals(THREAD_NAME)); - checkState(inputTextureInUse); - - FrameInfo inputFrameInfo = checkStateNotNull(pendingInputFrames.peek()); - if (inputExternalTextureProcessor.acceptsInputFrame()) { - inputExternalTextureProcessor.queueInputFrame( - new TextureInfo( - inputExternalTextureId, - /* fboId= */ C.INDEX_UNSET, - inputFrameInfo.width, - inputFrameInfo.height), - presentationTimeUs); - inputTextureInUse = false; - pendingInputFrames.remove(); - // After the externalTextureProcessor has produced an output frame, it is processed - // asynchronously by the texture processors chained after it. - } else { - // Try again later. - frameProcessingTaskExecutor.submit( - () -> queueInputFrameToTextureProcessors(presentationTimeUs)); - } - } - /** * Expands or shrinks the frame based on the {@link FrameInfo#pixelWidthHeightRatio} and returns a * new {@link FrameInfo} instance with scaled dimensions and {@link @@ -428,22 +351,6 @@ private FrameInfo adjustForPixelWidthHeightRatio(FrameInfo frameInfo) { } } - /** - * Propagates the end-of-stream signal through the texture processors once no more input frames - * are pending. - * - *

      This method must be called on the {@linkplain #THREAD_NAME background thread}. - */ - @WorkerThread - private void processEndOfInputStream() { - if (getPendingInputFrameCount() == 0) { - // Propagates the end of stream signal through the chained texture processors. - inputExternalTextureProcessor.signalEndOfCurrentInputStream(); - } else { - frameProcessingTaskExecutor.submit(this::processEndOfInputStream); - } - } - /** * Releases the {@link GlTextureProcessor} instances and destroys the OpenGL context. * diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java index 593fe345e21..fee83ad9c1f 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleFrameGlTextureProcessor.java @@ -108,10 +108,6 @@ public final void setErrorListener(ErrorListener errorListener) { this.errorListener = errorListener; } - public final boolean acceptsInputFrame() { - return !outputTextureInUse; - } - @Override public final void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { checkState( From 1076f3f7d783e19d5bce0b9738ec384c4cd84f64 Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 12 Aug 2022 14:51:25 +0000 Subject: [PATCH 171/422] Refactor RgbaMatrix to RgbMatrix. * Rename all Rgba instances to Rgb. * Remove alpha value from the RGBA Matrices and apply the 4x4 matrix only to the R, G, B channels. * Restore the alpha from the input unchanged. PiperOrigin-RevId: 467208888 (cherry picked from commit 8760ee48b910a4a34e6cc5008b660513203b05e8) --- .../media3/effect/RgbAdjustmentPixelTest.java | 60 +++++++++---------- .../fragment_shader_transformation_es2.glsl | 5 +- .../androidx/media3/effect/RgbAdjustment.java | 22 +++---- .../{RgbaMatrix.java => RgbMatrix.java} | 10 ++-- ...Processor.java => RgbMatrixProcessor.java} | 18 +++--- 5 files changed, 56 insertions(+), 59 deletions(-) rename libraries/effect/src/main/java/androidx/media3/effect/{RgbaMatrix.java => RgbMatrix.java} (71%) rename libraries/effect/src/main/java/androidx/media3/effect/{RgbaMatrixProcessor.java => RgbMatrixProcessor.java} (81%) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index e39b3ddfd95..e4bc54c8e11 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -39,7 +39,7 @@ import org.junit.runner.RunWith; /** - * Pixel tests for {@link RgbaMatrix}. + * Pixel tests for {@link RgbMatrix}. * *

      Expected images are taken from an emulator, so tests on different emulators or physical * devices may fail. To test on other devices, please increase the {@link @@ -63,7 +63,7 @@ public final class RgbAdjustmentPixelTest { private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; - private @MonotonicNonNull SingleFrameGlTextureProcessor rgbaMatrixProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor rgbMatrixProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; private int outputTexId; @@ -95,27 +95,27 @@ public void createGlObjects() throws IOException, GlUtil.GlException { @After public void release() throws GlUtil.GlException, FrameProcessingException { - if (rgbaMatrixProcessor != null) { - rgbaMatrixProcessor.release(); + if (rgbMatrixProcessor != null) { + rgbMatrixProcessor.release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } - private static RgbaMatrixProcessor createRgbaMatrixProcessor(Context context, float[] rgbaMatrix) + private static RgbMatrixProcessor createRgbMatrixProcessor(Context context, float[] rgbMatrix) throws FrameProcessingException { - return ((RgbaMatrix) presentationTimeUs -> rgbaMatrix) + return ((RgbMatrix) presentationTimeUs -> rgbMatrix) .toGlTextureProcessor(context, /* useHdr= */ false); } @Test public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { String testId = "drawFrame_identityMatrix"; - RgbaMatrix identityMatrix = new RgbAdjustment.Builder().build(); - rgbaMatrixProcessor = new RgbaMatrixProcessor(context, identityMatrix, /* useHdr= */ false); - Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + RgbMatrix identityMatrix = new RgbAdjustment.Builder().build(); + rgbMatrixProcessor = new RgbMatrixProcessor(context, identityMatrix, /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -131,15 +131,15 @@ public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { @Test public void drawFrame_removeColors_producesBlackFrame() throws Exception { String testId = "drawFrame_removeColors"; - RgbaMatrix removeColorMatrix = + RgbMatrix removeColorMatrix = new RgbAdjustment.Builder().setRedScale(0).setGreenScale(0).setBlueScale(0).build(); - rgbaMatrixProcessor = new RgbaMatrixProcessor(context, removeColorMatrix, /* useHdr= */ false); - Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + rgbMatrixProcessor = new RgbMatrixProcessor(context, removeColorMatrix, /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( outputSize.first, outputSize.second, Color.BLACK); - rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -155,12 +155,12 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { @Test public void drawFrame_redOnlyFilter_setsBlueAndGreenValuesToZero() throws Exception { String testId = "drawFrame_redOnlyFilter"; - RgbaMatrix redOnlyMatrix = new RgbAdjustment.Builder().setBlueScale(0).setGreenScale(0).build(); - rgbaMatrixProcessor = new RgbaMatrixProcessor(context, redOnlyMatrix, /* useHdr= */ false); - Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + RgbMatrix redOnlyMatrix = new RgbAdjustment.Builder().setBlueScale(0).setGreenScale(0).build(); + rgbMatrixProcessor = new RgbMatrixProcessor(context, redOnlyMatrix, /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); - rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -176,12 +176,12 @@ public void drawFrame_redOnlyFilter_setsBlueAndGreenValuesToZero() throws Except @Test public void drawFrame_increaseRedChannel_producesBrighterAndRedderFrame() throws Exception { String testId = "drawFrame_increaseRedChannel"; - RgbaMatrix increaseRedMatrix = new RgbAdjustment.Builder().setRedScale(5).build(); - rgbaMatrixProcessor = new RgbaMatrixProcessor(context, increaseRedMatrix, /* useHdr= */ false); - Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + RgbMatrix increaseRedMatrix = new RgbAdjustment.Builder().setRedScale(5).build(); + rgbMatrixProcessor = new RgbMatrixProcessor(context, increaseRedMatrix, /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_RED_CHANNEL_PNG_ASSET_PATH); - rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -197,14 +197,14 @@ public void drawFrame_increaseRedChannel_producesBrighterAndRedderFrame() throws @Test public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { String testId = "drawFrame_increaseBrightness"; - RgbaMatrix increaseBrightnessMatrix = + RgbMatrix increaseBrightnessMatrix = new RgbAdjustment.Builder().setRedScale(5).setGreenScale(5).setBlueScale(5).build(); - rgbaMatrixProcessor = - new RgbaMatrixProcessor(context, increaseBrightnessMatrix, /* useHdr = */ false); - Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + rgbMatrixProcessor = + new RgbMatrixProcessor(context, increaseBrightnessMatrix, /* useHdr = */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); - rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -227,11 +227,11 @@ public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, 0, 0, 1 }; - rgbaMatrixProcessor = createRgbaMatrixProcessor(/* context= */ context, grayscaleMatrix); - Pair outputSize = rgbaMatrixProcessor.configure(inputWidth, inputHeight); + rgbMatrixProcessor = createRgbMatrixProcessor(/* context= */ context, grayscaleMatrix); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); - rgbaMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl index 4b70580e268..ec9e645f847 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl @@ -15,7 +15,7 @@ // ES 2 fragment shader that samples from a (non-external) texture with // uTexSampler, copying from this texture to the current output while -// applying a 4x4 RGBA color matrix to change the pixel colors. +// applying a 4x4 RGB color matrix to change the pixel colors. precision mediump float; uniform sampler2D uTexSampler; @@ -24,5 +24,6 @@ varying vec2 vTexSamplingCoord; void main() { vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); - gl_FragColor = uColorMatrix * inputColor; + gl_FragColor = uColorMatrix * vec4(inputColor.rgb, 1); + gl_FragColor.a = inputColor.a; } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java index 3356b7ba883..e5e8769f750 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java @@ -24,7 +24,7 @@ /** Scales the red, green, and blue color channels of a frame. */ @UnstableApi -public final class RgbAdjustment implements RgbaMatrix { +public final class RgbAdjustment implements RgbMatrix { /** A builder for {@link RgbAdjustment} instances. */ public static final class Builder { @@ -80,27 +80,23 @@ public Builder setBlueScale(float blueScale) { /** Creates a new {@link RgbAdjustment} instance. */ public RgbAdjustment build() { - float[] rgbaMatrix = new float[16]; - Matrix.setIdentityM(rgbaMatrix, /* smOffset= */ 0); + float[] rgbMatrix = new float[16]; + Matrix.setIdentityM(rgbMatrix, /* smOffset= */ 0); Matrix.scaleM( - rgbaMatrix, - /* smOffset= */ 0, - /* x= */ redScale, - /* y= */ greenScale, - /* z= */ blueScale); + rgbMatrix, /* smOffset= */ 0, /* x= */ redScale, /* y= */ greenScale, /* z= */ blueScale); - return new RgbAdjustment(rgbaMatrix); + return new RgbAdjustment(rgbMatrix); } } - private final float[] rgbaMatrix; + private final float[] rgbMatrix; - private RgbAdjustment(float[] rgbaMatrix) { - this.rgbaMatrix = rgbaMatrix; + private RgbAdjustment(float[] rgbMatrix) { + this.rgbMatrix = rgbMatrix; } @Override public float[] getMatrix(long presentationTimeUs) { - return rgbaMatrix; + return rgbMatrix; } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrix.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java similarity index 71% rename from libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrix.java rename to libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java index 7e9674e4321..18a8891045b 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrix.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java @@ -21,20 +21,20 @@ import androidx.media3.common.util.UnstableApi; /** - * Specifies a 4x4 RGBA color transformation matrix to apply to each frame in the fragment shader. + * Specifies a 4x4 RGB color transformation matrix to apply to each frame in the fragment shader. */ @UnstableApi -public interface RgbaMatrix extends GlEffect { +public interface RgbMatrix extends GlEffect { /** - * Returns the 4x4 RGBA transformation {@linkplain android.opengl.Matrix matrix} to apply to the + * Returns the 4x4 RGB transformation {@linkplain android.opengl.Matrix matrix} to apply to the * color values of each pixel in the frame with the given timestamp. */ float[] getMatrix(long presentationTimeUs); @Override - default RgbaMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) + default RgbMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return new RgbaMatrixProcessor(context, /* rgbaMatrix= */ this, useHdr); + return new RgbMatrixProcessor(context, /* rgbMatrix= */ this, useHdr); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java similarity index 81% rename from libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrixProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java index 7130ceb995a..4075ea21fd2 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbaMatrixProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java @@ -25,21 +25,21 @@ import androidx.media3.common.util.GlUtil; import java.io.IOException; -/** Applies an {@link RgbaMatrix} to each frame. */ -/* package */ final class RgbaMatrixProcessor extends SingleFrameGlTextureProcessor { +/** Applies an {@link RgbMatrix} to each frame. */ +/* package */ final class RgbMatrixProcessor extends SingleFrameGlTextureProcessor { private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_transformation_es2.glsl"; private final GlProgram glProgram; - private final RgbaMatrix rgbaMatrix; + private final RgbMatrix rgbMatrix; - // TODO(b/239431666): Support chaining multiple RgbaMatrix instances in RgbaMatrixProcessor. - // TODO(b/239757183): Merge RgbaMatrixProcessor with MatrixTransformationProcessor. - public RgbaMatrixProcessor(Context context, RgbaMatrix rgbaMatrix, boolean useHdr) + // TODO(b/239431666): Support chaining multiple RgbMatrix instances in RgbMatrixProcessor. + // TODO(b/239757183): Merge RgbMatrixProcessor with MatrixTransformationProcessor. + public RgbMatrixProcessor(Context context, RgbMatrix rgbMatrix, boolean useHdr) throws FrameProcessingException { super(useHdr); - this.rgbaMatrix = rgbaMatrix; + this.rgbMatrix = rgbMatrix; try { glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); @@ -66,11 +66,11 @@ public Pair configure(int inputWidth, int inputHeight) { @Override public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { - float[] rgbaMatrixArray = rgbaMatrix.getMatrix(presentationTimeUs); + float[] rgbMatrixArray = rgbMatrix.getMatrix(presentationTimeUs); try { glProgram.use(); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); - glProgram.setFloatsUniform("uColorMatrix", rgbaMatrixArray); + glProgram.setFloatsUniform("uColorMatrix", rgbMatrixArray); glProgram.bindAttributesAndUniforms(); // The four-vertex triangle strip forms a quad. From 19cc87c04f97c6340956f640abf90fc8f619db60 Mon Sep 17 00:00:00 2001 From: christosts Date: Fri, 12 Aug 2022 16:53:36 +0000 Subject: [PATCH 172/422] MediaNotificationManager: handle playback ended When the player finishes playback and reaches the STATE_ENDED, the notification remains visible with a pause button and the service is kept in the foreground. This is a bug. With this change, when the player reaches the STATE_ENDED, the service is stopped from the foreground and a notification is shown with a play button. If the play icon is tapped, the player will restart playback of the last played item. Playing the last played item again is the existing behavior when play/pause commands are received from the legacy MediaSession (e.g. BT headset buttons). #minor-release Issue: google/ExoPlayer#112 PiperOrigin-RevId: 467231509 (cherry picked from commit 7a7e1eb23b4bbf7d0c6c15b2f484434e65cd2c68) --- RELEASENOTES.md | 6 +++ .../DefaultMediaNotificationProvider.java | 16 +++++--- .../session/MediaNotificationManager.java | 25 ++++++------ .../session/MediaSessionLegacyStub.java | 27 +++++++------ .../session/MediaSessionKeyEventTest.java | 38 ++++++++++++++++++- 5 files changed, 79 insertions(+), 33 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index d67cc01f87b..f401218c6a3 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -43,6 +43,12 @@ ([#99](https://github.com/androidx/media/issues/99)). * `SimpleBitmapLoader` can load bitmap from `file://` URIs ([#108](https://github.com/androidx/media/issues/108)). + * Fix bug where the `MediaSessionService` was kept started in the + foreground and a notification with a pause button was still shown when + the player completed playback. Now, once playback is completed, the + service is stopped from the foreground and a notification with a play + button is shown to restart playback of the last media item + ([#112](https://github.com/androidx/media/issues/112)). * RTSP: * Add H263 fragmented packet handling ([#119](https://github.com/androidx/media/pull/119)). diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 372a576683e..e6a90fde8b2 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -23,6 +23,7 @@ import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS; import static androidx.media3.common.Player.COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM; import static androidx.media3.common.Player.COMMAND_STOP; +import static androidx.media3.common.Player.STATE_ENDED; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; @@ -269,7 +270,11 @@ public final MediaNotification createNotification( int[] compactViewIndices = addNotificationActions( mediaSession, - getMediaButtons(player.getAvailableCommands(), customLayout, player.getPlayWhenReady()), + getMediaButtons( + player.getAvailableCommands(), + customLayout, + /* showPauseButton= */ player.getPlayWhenReady() + && player.getPlaybackState() != STATE_ENDED), builder, actionFactory); mediaStyle.setShowActionsInCompactView(compactViewIndices); @@ -371,11 +376,12 @@ public final void setSmallIcon(@DrawableRes int smallIconResourceId) { * @param playerCommands The available player commands. * @param customLayout The {@linkplain MediaSession#setCustomLayout(List) custom layout of * commands}. - * @param playWhenReady The current {@code playWhenReady} state. + * @param showPauseButton Whether the notification should show a pause button (e.g., because the + * player is currently playing content), otherwise show a play button to start playback. * @return The ordered list of command buttons to be placed on the notification. */ protected List getMediaButtons( - Player.Commands playerCommands, List customLayout, boolean playWhenReady) { + Player.Commands playerCommands, List customLayout, boolean showPauseButton) { // Skip to previous action. List commandButtons = new ArrayList<>(); if (playerCommands.containsAny(COMMAND_SEEK_TO_PREVIOUS, COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM)) { @@ -397,12 +403,12 @@ protected List getMediaButtons( new CommandButton.Builder() .setPlayerCommand(COMMAND_PLAY_PAUSE) .setIconResId( - playWhenReady + showPauseButton ? R.drawable.media3_notification_pause : R.drawable.media3_notification_play) .setExtras(commandButtonExtras) .setDisplayName( - playWhenReady + showPauseButton ? context.getString(R.string.media3_controls_pause_description) : context.getString(R.string.media3_controls_play_description)) .build()); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java b/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java index d6385d725b5..4ed2e8f52c3 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java @@ -162,7 +162,8 @@ public void onFailure(Throwable t) { } public void updateNotification(MediaSession session) { - if (!mediaSessionService.isSessionAdded(session) || !canStartPlayback(session.getPlayer())) { + if (!mediaSessionService.isSessionAdded(session) + || !shouldShowNotification(session.getPlayer())) { maybeStopForegroundService(/* removeNotifications= */ true); return; } @@ -199,7 +200,7 @@ private void updateNotificationInternal( this.mediaNotification = mediaNotification; Player player = session.getPlayer(); - if (player.getPlayWhenReady() && canStartPlayback(player)) { + if (shouldRunInForeground(player)) { ContextCompat.startForegroundService(mediaSessionService, startSelfIntent); if (Util.SDK_INT >= 29) { Api29.startForeground(mediaSessionService, mediaNotification); @@ -223,8 +224,7 @@ private void updateNotificationInternal( private void maybeStopForegroundService(boolean removeNotifications) { List sessions = mediaSessionService.getSessions(); for (int i = 0; i < sessions.size(); i++) { - Player player = sessions.get(i).getPlayer(); - if (player.getPlayWhenReady() && canStartPlayback(player)) { + if (shouldRunInForeground(sessions.get(i).getPlayer())) { return; } } @@ -242,12 +242,14 @@ private void maybeStopForegroundService(boolean removeNotifications) { } } - /** - * Returns whether {@code player} can start playback and therefore we should present a - * notification for this player. - */ - private static boolean canStartPlayback(Player player) { - return player.getPlaybackState() != Player.STATE_IDLE && !player.getCurrentTimeline().isEmpty(); + private static boolean shouldShowNotification(Player player) { + return !player.getCurrentTimeline().isEmpty() && player.getPlaybackState() != Player.STATE_IDLE; + } + + private static boolean shouldRunInForeground(Player player) { + return player.getPlayWhenReady() + && (player.getPlaybackState() == Player.STATE_READY + || player.getPlaybackState() == Player.STATE_BUFFERING); } private static final class MediaControllerListener @@ -266,8 +268,7 @@ public MediaControllerListener( } public void onConnected() { - if (canStartPlayback(session.getPlayer())) { - // We need to present a notification. + if (shouldShowNotification(session.getPlayer())) { mediaSessionService.onUpdateNotification(session); } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java index fd6ef392ba4..afc3af17398 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java @@ -241,17 +241,14 @@ public boolean onMediaButtonEvent(Intent mediaButtonEvent) { private void handleMediaPlayPauseOnHandler(RemoteUserInfo remoteUserInfo) { mediaPlayPauseKeyHandler.clearPendingMediaPlayPauseKey(); - if (sessionImpl.getPlayerWrapper().getPlayWhenReady()) { - dispatchSessionTaskWithPlayerCommand( - COMMAND_PLAY_PAUSE, - (controller) -> sessionImpl.getPlayerWrapper().pause(), - remoteUserInfo); - } else { - dispatchSessionTaskWithPlayerCommand( - COMMAND_PLAY_PAUSE, - (controller) -> { - PlayerWrapper playerWrapper = sessionImpl.getPlayerWrapper(); - @Player.State int playbackState = playerWrapper.getPlaybackState(); + dispatchSessionTaskWithPlayerCommand( + COMMAND_PLAY_PAUSE, + (controller) -> { + PlayerWrapper playerWrapper = sessionImpl.getPlayerWrapper(); + @Player.State int playbackState = playerWrapper.getPlaybackState(); + if (!playerWrapper.getPlayWhenReady() + || playbackState == STATE_ENDED + || playbackState == STATE_IDLE) { if (playbackState == STATE_IDLE) { playerWrapper.prepare(); } else if (playbackState == STATE_ENDED) { @@ -259,9 +256,11 @@ private void handleMediaPlayPauseOnHandler(RemoteUserInfo remoteUserInfo) { playerWrapper.getCurrentMediaItemIndex(), /* positionMs= */ C.TIME_UNSET); } playerWrapper.play(); - }, - remoteUserInfo); - } + } else { + playerWrapper.pause(); + } + }, + remoteUserInfo); } @Override diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionKeyEventTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionKeyEventTest.java index 6c87986e4a4..1ef9e159472 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionKeyEventTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaSessionKeyEventTest.java @@ -26,6 +26,7 @@ import android.media.AudioManager; import android.media.MediaPlayer; import android.view.KeyEvent; +import androidx.media3.common.Player; import androidx.media3.common.util.Util; import androidx.media3.session.MediaSession.ControllerInfo; import androidx.media3.test.session.common.HandlerThreadTestRule; @@ -166,17 +167,50 @@ public void stopKeyEvent() throws Exception { } @Test - public void playPauseKeyEvent_play() throws Exception { + public void playPauseKeyEvent_paused_play() throws Exception { + handler.postAndSync( + () -> { + player.playbackState = Player.STATE_READY; + }); + + dispatchMediaKeyEvent(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, false); + + player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); + } + + @Test + public void playPauseKeyEvent_fromIdle_prepareAndPlay() throws Exception { + handler.postAndSync( + () -> { + player.playbackState = Player.STATE_IDLE; + }); + + dispatchMediaKeyEvent(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, false); + + player.awaitMethodCalled(MockPlayer.METHOD_PREPARE, TIMEOUT_MS); + player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); + } + + @Test + public void playPauseKeyEvent_playWhenReadyAndEnded_seekAndPlay() throws Exception { + handler.postAndSync( + () -> { + player.playWhenReady = true; + player.playbackState = Player.STATE_ENDED; + }); + dispatchMediaKeyEvent(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, false); + player.awaitMethodCalled(MockPlayer.METHOD_SEEK_TO_WITH_MEDIA_ITEM_INDEX, TIMEOUT_MS); player.awaitMethodCalled(MockPlayer.METHOD_PLAY, TIMEOUT_MS); } @Test - public void playPauseKeyEvent_pause() throws Exception { + public void playPauseKeyEvent_playing_pause() throws Exception { handler.postAndSync( () -> { player.playWhenReady = true; + player.playbackState = Player.STATE_READY; }); dispatchMediaKeyEvent(KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, false); From a2815141e600d87bb10fdab52e84785799144e0a Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 15 Aug 2022 07:59:28 +0000 Subject: [PATCH 173/422] Increase pixel difference threshold PiperOrigin-RevId: 467610621 (cherry picked from commit 73d606acf3dd371232f874b20a1534952f8d560d) --- .../java/androidx/media3/effect/BitmapTestUtil.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java index e9b6693e431..cc06e6d600b 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/BitmapTestUtil.java @@ -55,13 +55,13 @@ public class BitmapTestUtil { * SingleFrameGlTextureProcessors} will cause the test to fail. * *

      To run pixel difference-based tests on physical devices, please use a value of 5f, rather - * than 0.1f. This higher value will ignore some very small errors, but will allow for some + * than 0.5f. This higher value will ignore some very small errors, but will allow for some * differences caused by graphics implementations to be ignored. When the difference is close to * the threshold, manually inspect expected/actual bitmaps to confirm failure, as it's possible * this is caused by a difference in the codec or graphics implementation as opposed to a {@link * SingleFrameGlTextureProcessor} issue. */ - public static final float MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE = 0.1f; + public static final float MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE = 0.5f; /** * Reads a bitmap from the specified asset location. From b6002a351df728bf84e418b4113f98f5ab318ad7 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 15 Aug 2022 08:54:27 +0000 Subject: [PATCH 174/422] Add initial version of SimpleBasePlayer This base class will simplify the implementation of custom Player classes. The current version only supports available commands and playWhenReady handling. PiperOrigin-RevId: 467618021 (cherry picked from commit 43ede97d2fc71c283755c23b2049eaa3f2a947cb) --- .../common/LegacyMediaPlayerWrapper.java | 61 ++ .../media3/common/SimpleBasePlayer.java | 795 ++++++++++++++++++ .../media3/common/SimpleBasePlayerTest.java | 406 +++++++++ 3 files changed, 1262 insertions(+) create mode 100644 libraries/common/src/main/java/androidx/media3/common/LegacyMediaPlayerWrapper.java create mode 100644 libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java create mode 100644 libraries/common/src/test/java/androidx/media3/common/SimpleBasePlayerTest.java diff --git a/libraries/common/src/main/java/androidx/media3/common/LegacyMediaPlayerWrapper.java b/libraries/common/src/main/java/androidx/media3/common/LegacyMediaPlayerWrapper.java new file mode 100644 index 00000000000..c432238a40a --- /dev/null +++ b/libraries/common/src/main/java/androidx/media3/common/LegacyMediaPlayerWrapper.java @@ -0,0 +1,61 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.common; + +import android.media.MediaPlayer; +import android.os.Looper; +import androidx.media3.common.util.UnstableApi; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; + +/** A {@link Player} wrapper for the legacy Android platform {@link MediaPlayer}. */ +@UnstableApi +public final class LegacyMediaPlayerWrapper extends SimpleBasePlayer { + + private final MediaPlayer player; + + private boolean playWhenReady; + + /** + * Creates the {@link MediaPlayer} wrapper. + * + * @param looper The {@link Looper} used to call all methods on. + */ + public LegacyMediaPlayerWrapper(Looper looper) { + super(looper); + this.player = new MediaPlayer(); + } + + @Override + protected State getState() { + return new State.Builder() + .setAvailableCommands(new Commands.Builder().addAll(Player.COMMAND_PLAY_PAUSE).build()) + .setPlayWhenReady(playWhenReady, Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST) + .build(); + } + + @Override + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + this.playWhenReady = playWhenReady; + // TODO: Only call these methods if the player is in Started or Paused state. + if (playWhenReady) { + player.start(); + } else { + player.pause(); + } + return Futures.immediateVoidFuture(); + } +} diff --git a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java new file mode 100644 index 00000000000..323c0e653ce --- /dev/null +++ b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java @@ -0,0 +1,795 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.common; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Util.castNonNull; + +import android.os.Looper; +import android.view.Surface; +import android.view.SurfaceHolder; +import android.view.SurfaceView; +import android.view.TextureView; +import androidx.annotation.Nullable; +import androidx.media3.common.text.CueGroup; +import androidx.media3.common.util.Clock; +import androidx.media3.common.util.HandlerWrapper; +import androidx.media3.common.util.ListenerSet; +import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; +import com.google.common.base.Supplier; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.errorprone.annotations.CanIgnoreReturnValue; +import com.google.errorprone.annotations.ForOverride; +import java.util.HashSet; +import java.util.List; +import org.checkerframework.checker.nullness.qual.EnsuresNonNull; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; + +/** + * A base implementation for {@link Player} that reduces the number of methods to implement to a + * minimum. + * + *

      Implementation notes: + * + *

        + *
      • Subclasses must override {@link #getState()} to populate the current player state on + * request. + *
      • The {@link State} should set the {@linkplain State.Builder#setAvailableCommands available + * commands} to indicate which {@link Player} methods are supported. + *
      • All setter-like player methods (for example, {@link #setPlayWhenReady}) forward to + * overridable methods (for example, {@link #handleSetPlayWhenReady}) that can be used to + * handle these requests. These methods return a {@link ListenableFuture} to indicate when the + * request has been handled and is fully reflected in the values returned from {@link + * #getState}. This class will automatically request a state update once the request is done. + * If the state changes can be handled synchronously, these methods can return Guava's {@link + * Futures#immediateVoidFuture()}. + *
      • Subclasses can manually trigger state updates with {@link #invalidateState}, for example if + * something changes independent of {@link Player} method calls. + *
      + * + * This base class handles various aspects of the player implementation to simplify the subclass: + * + *
        + *
      • The {@link State} can only be created with allowed combinations of state values, avoiding + * any invalid player states. + *
      • Only functionality that is declared as {@linkplain Player.Command available} needs to be + * implemented. Other methods are automatically ignored. + *
      • Listener handling and informing listeners of state changes is handled automatically. + *
      • The base class provides a framework for asynchronous handling of method calls. It changes + * the visible playback state immediately to the most likely outcome to ensure the + * user-visible state changes look like synchronous operations. The state is then updated + * again once the asynchronous method calls have been fully handled. + *
      + */ +@UnstableApi +public abstract class SimpleBasePlayer extends BasePlayer { + + /** An immutable state description of the player. */ + protected static final class State { + + /** A builder for {@link State} objects. */ + public static final class Builder { + + private Commands availableCommands; + private boolean playWhenReady; + private @PlayWhenReadyChangeReason int playWhenReadyChangeReason; + + /** Creates the builder. */ + public Builder() { + availableCommands = Commands.EMPTY; + playWhenReady = false; + playWhenReadyChangeReason = Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST; + } + + private Builder(State state) { + this.availableCommands = state.availableCommands; + this.playWhenReady = state.playWhenReady; + this.playWhenReadyChangeReason = state.playWhenReadyChangeReason; + } + + /** + * Sets the available {@link Commands}. + * + * @param availableCommands The available {@link Commands}. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setAvailableCommands(Commands availableCommands) { + this.availableCommands = availableCommands; + return this; + } + + /** + * Sets whether playback should proceed when ready and not suppressed. + * + * @param playWhenReady Whether playback should proceed when ready and not suppressed. + * @param playWhenReadyChangeReason The {@linkplain PlayWhenReadyChangeReason reason} for + * changing the value. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setPlayWhenReady( + boolean playWhenReady, @PlayWhenReadyChangeReason int playWhenReadyChangeReason) { + this.playWhenReady = playWhenReady; + this.playWhenReadyChangeReason = playWhenReadyChangeReason; + return this; + } + + /** Builds the {@link State}. */ + public State build() { + return new State(this); + } + } + + /** The available {@link Commands}. */ + public final Commands availableCommands; + /** Whether playback should proceed when ready and not suppressed. */ + public final boolean playWhenReady; + /** The last reason for changing {@link #playWhenReady}. */ + public final @PlayWhenReadyChangeReason int playWhenReadyChangeReason; + + private State(Builder builder) { + this.availableCommands = builder.availableCommands; + this.playWhenReady = builder.playWhenReady; + this.playWhenReadyChangeReason = builder.playWhenReadyChangeReason; + } + + /** Returns a {@link Builder} pre-populated with the current state values. */ + public Builder buildUpon() { + return new Builder(this); + } + + @Override + public boolean equals(@Nullable Object o) { + if (this == o) { + return true; + } + if (!(o instanceof State)) { + return false; + } + State state = (State) o; + return playWhenReady == state.playWhenReady + && playWhenReadyChangeReason == state.playWhenReadyChangeReason + && availableCommands.equals(state.availableCommands); + } + + @Override + public int hashCode() { + int result = 7; + result = 31 * result + availableCommands.hashCode(); + result = 31 * result + (playWhenReady ? 1 : 0); + result = 31 * result + playWhenReadyChangeReason; + return result; + } + } + + private final ListenerSet listeners; + private final Looper applicationLooper; + private final HandlerWrapper applicationHandler; + private final HashSet> pendingOperations; + + private @MonotonicNonNull State state; + + /** + * Creates the base class. + * + * @param applicationLooper The {@link Looper} that must be used for all calls to the player and + * that is used to call listeners on. + */ + protected SimpleBasePlayer(Looper applicationLooper) { + this(applicationLooper, Clock.DEFAULT); + } + + /** + * Creates the base class. + * + * @param applicationLooper The {@link Looper} that must be used for all calls to the player and + * that is used to call listeners on. + * @param clock The {@link Clock} that will be used by the player. + */ + protected SimpleBasePlayer(Looper applicationLooper, Clock clock) { + this.applicationLooper = applicationLooper; + applicationHandler = clock.createHandler(applicationLooper, /* callback= */ null); + pendingOperations = new HashSet<>(); + @SuppressWarnings("nullness:argument.type.incompatible") // Using this in constructor. + ListenerSet listenerSet = + new ListenerSet<>( + applicationLooper, + clock, + (listener, flags) -> listener.onEvents(/* player= */ this, new Events(flags))); + listeners = listenerSet; + } + + @Override + public final void addListener(Listener listener) { + // Don't verify application thread. We allow calls to this method from any thread. + listeners.add(checkNotNull(listener)); + } + + @Override + public final void removeListener(Listener listener) { + // Don't verify application thread. We allow calls to this method from any thread. + checkNotNull(listener); + listeners.remove(listener); + } + + @Override + public final Looper getApplicationLooper() { + // Don't verify application thread. We allow calls to this method from any thread. + return applicationLooper; + } + + @Override + public final Commands getAvailableCommands() { + verifyApplicationThreadAndInitState(); + return state.availableCommands; + } + + @Override + public final void setPlayWhenReady(boolean playWhenReady) { + verifyApplicationThreadAndInitState(); + State state = this.state; + if (!state.availableCommands.contains(Player.COMMAND_PLAY_PAUSE)) { + return; + } + updateStateForPendingOperation( + /* pendingOperation= */ handleSetPlayWhenReady(playWhenReady), + /* placeholderStateSupplier= */ () -> + state + .buildUpon() + .setPlayWhenReady(playWhenReady, Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST) + .build()); + } + + @Override + public final boolean getPlayWhenReady() { + verifyApplicationThreadAndInitState(); + return state.playWhenReady; + } + + @Override + public final void setMediaItems(List mediaItems, boolean resetPosition) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setMediaItems( + List mediaItems, int startIndex, long startPositionMs) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void addMediaItems(int index, List mediaItems) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void moveMediaItems(int fromIndex, int toIndex, int newIndex) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void removeMediaItems(int fromIndex, int toIndex) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void prepare() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getPlaybackState() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getPlaybackSuppressionReason() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Nullable + @Override + public final PlaybackException getPlayerError() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setRepeatMode(int repeatMode) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getRepeatMode() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setShuffleModeEnabled(boolean shuffleModeEnabled) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final boolean getShuffleModeEnabled() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final boolean isLoading() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void seekTo(int mediaItemIndex, long positionMs) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getSeekBackIncrement() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getSeekForwardIncrement() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getMaxSeekToPreviousPosition() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setPlaybackParameters(PlaybackParameters playbackParameters) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final PlaybackParameters getPlaybackParameters() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void stop() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void stop(boolean reset) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void release() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final Tracks getCurrentTracks() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final TrackSelectionParameters getTrackSelectionParameters() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setTrackSelectionParameters(TrackSelectionParameters parameters) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final MediaMetadata getMediaMetadata() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final MediaMetadata getPlaylistMetadata() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setPlaylistMetadata(MediaMetadata mediaMetadata) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final Timeline getCurrentTimeline() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getCurrentPeriodIndex() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getCurrentMediaItemIndex() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getDuration() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getCurrentPosition() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getBufferedPosition() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getTotalBufferedDuration() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final boolean isPlayingAd() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getCurrentAdGroupIndex() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getCurrentAdIndexInAdGroup() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getContentPosition() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final long getContentBufferedPosition() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final AudioAttributes getAudioAttributes() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setVolume(float volume) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final float getVolume() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void clearVideoSurface() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void clearVideoSurface(@Nullable Surface surface) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setVideoSurface(@Nullable Surface surface) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void clearVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setVideoSurfaceView(@Nullable SurfaceView surfaceView) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void clearVideoSurfaceView(@Nullable SurfaceView surfaceView) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setVideoTextureView(@Nullable TextureView textureView) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void clearVideoTextureView(@Nullable TextureView textureView) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final VideoSize getVideoSize() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final CueGroup getCurrentCues() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final DeviceInfo getDeviceInfo() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final int getDeviceVolume() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final boolean isDeviceMuted() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setDeviceVolume(int volume) { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void increaseDeviceVolume() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void decreaseDeviceVolume() { + // TODO: implement. + throw new IllegalStateException(); + } + + @Override + public final void setDeviceMuted(boolean muted) { + // TODO: implement. + throw new IllegalStateException(); + } + + /** + * Invalidates the current state. + * + *

      Triggers a call to {@link #getState()} and informs listeners if the state changed. + * + *

      Note that this may not have an immediate effect while there are still player methods being + * handled asynchronously. The state will be invalidated automatically once these pending + * synchronous operations are finished and there is no need to call this method again. + */ + protected final void invalidateState() { + verifyApplicationThreadAndInitState(); + if (!pendingOperations.isEmpty()) { + return; + } + updateStateAndInformListeners(getState()); + } + + /** + * Returns the current {@link State} of the player. + * + *

      The {@link State} should include all {@linkplain + * State.Builder#setAvailableCommands(Commands) available commands} indicating which player + * methods are allowed to be called. + * + *

      Note that this method won't be called while asynchronous handling of player methods is in + * progress. This means that the implementation doesn't need to handle state changes caused by + * these asynchronous operations until they are done and can return the currently known state + * directly. The placeholder state used while these asynchronous operations are in progress can be + * customized by overriding {@link #getPlaceholderState(State)} if required. + */ + @ForOverride + protected abstract State getState(); + + /** + * Returns the placeholder state used while a player method is handled asynchronously. + * + *

      The {@code suggestedPlaceholderState} already contains the most likely state update, for + * example setting {@link State#playWhenReady} to true if {@code player.setPlayWhenReady(true)} is + * called, and an implementations only needs to override this method if it can determine a more + * accurate placeholder state. + * + * @param suggestedPlaceholderState The suggested placeholder {@link State}, including the most + * likely outcome of handling all pending asynchronous operations. + * @return The placeholder {@link State} to use while asynchronous operations are pending. + */ + @ForOverride + protected State getPlaceholderState(State suggestedPlaceholderState) { + return suggestedPlaceholderState; + } + + /** + * Handles calls to set {@link State#playWhenReady}. + * + *

      Will only be called if {@link Player.Command#COMMAND_PLAY_PAUSE} is available. + * + * @param playWhenReady The requested {@link State#playWhenReady} + * @return A {@link ListenableFuture} indicating the completion of all immediate {@link State} + * changes caused by this call. + * @see Player#setPlayWhenReady(boolean) + * @see Player#play() + * @see Player#pause() + */ + @ForOverride + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + throw new IllegalStateException(); + } + + @SuppressWarnings("deprecation") // Calling deprecated listener methods. + @RequiresNonNull("state") + private void updateStateAndInformListeners(State newState) { + State previousState = state; + // Assign new state immediately such that all getters return the right values, but use a + // snapshot of the previous and new state so that listener invocations are triggered correctly. + this.state = newState; + + boolean playWhenReadyChanged = previousState.playWhenReady != newState.playWhenReady; + if (playWhenReadyChanged /* TODO: || playbackStateChanged */) { + listeners.queueEvent( + /* eventFlag= */ C.INDEX_UNSET, + listener -> + listener.onPlayerStateChanged(newState.playWhenReady, /* TODO */ Player.STATE_IDLE)); + } + if (playWhenReadyChanged + || previousState.playWhenReadyChangeReason != newState.playWhenReadyChangeReason) { + listeners.queueEvent( + Player.EVENT_PLAY_WHEN_READY_CHANGED, + listener -> + listener.onPlayWhenReadyChanged( + newState.playWhenReady, newState.playWhenReadyChangeReason)); + } + if (isPlaying(previousState) != isPlaying(newState)) { + listeners.queueEvent( + Player.EVENT_IS_PLAYING_CHANGED, + listener -> listener.onIsPlayingChanged(isPlaying(newState))); + } + if (!previousState.availableCommands.equals(newState.availableCommands)) { + listeners.queueEvent( + Player.EVENT_AVAILABLE_COMMANDS_CHANGED, + listener -> listener.onAvailableCommandsChanged(newState.availableCommands)); + } + listeners.flushEvents(); + } + + @EnsuresNonNull("state") + private void verifyApplicationThreadAndInitState() { + if (Thread.currentThread() != applicationLooper.getThread()) { + String message = + Util.formatInvariant( + "Player is accessed on the wrong thread.\n" + + "Current thread: '%s'\n" + + "Expected thread: '%s'\n" + + "See https://exoplayer.dev/issues/player-accessed-on-wrong-thread", + Thread.currentThread().getName(), applicationLooper.getThread().getName()); + throw new IllegalStateException(message); + } + if (state == null) { + // First time accessing state. + state = getState(); + } + } + + @RequiresNonNull("state") + private void updateStateForPendingOperation( + ListenableFuture pendingOperation, Supplier placeholderStateSupplier) { + if (pendingOperation.isDone() && pendingOperations.isEmpty()) { + updateStateAndInformListeners(getState()); + } else { + pendingOperations.add(pendingOperation); + State suggestedPlaceholderState = placeholderStateSupplier.get(); + updateStateAndInformListeners(getPlaceholderState(suggestedPlaceholderState)); + pendingOperation.addListener( + () -> { + castNonNull(state); // Already check by method @RequiresNonNull pre-condition. + pendingOperations.remove(pendingOperation); + if (pendingOperations.isEmpty()) { + updateStateAndInformListeners(getState()); + } + }, + this::postOrRunOnApplicationHandler); + } + } + + private void postOrRunOnApplicationHandler(Runnable runnable) { + if (applicationHandler.getLooper() == Looper.myLooper()) { + runnable.run(); + } else { + applicationHandler.post(runnable); + } + } + + private static boolean isPlaying(State state) { + return state.playWhenReady && false; + // TODO: && state.playbackState == Player.STATE_READY + // && state.playbackSuppressionReason == PLAYBACK_SUPPRESSION_REASON_NONE + } +} diff --git a/libraries/common/src/test/java/androidx/media3/common/SimpleBasePlayerTest.java b/libraries/common/src/test/java/androidx/media3/common/SimpleBasePlayerTest.java new file mode 100644 index 00000000000..1b13cb00fc7 --- /dev/null +++ b/libraries/common/src/test/java/androidx/media3/common/SimpleBasePlayerTest.java @@ -0,0 +1,406 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.common; + +import static com.google.common.truth.Truth.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyNoMoreInteractions; + +import android.os.Looper; +import androidx.media3.common.Player.Commands; +import androidx.media3.common.Player.Listener; +import androidx.media3.common.SimpleBasePlayer.State; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.util.concurrent.Futures; +import com.google.common.util.concurrent.ListenableFuture; +import com.google.common.util.concurrent.SettableFuture; +import java.lang.reflect.Method; +import java.lang.reflect.Modifier; +import java.util.ArrayList; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicReference; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Unit test for {@link SimpleBasePlayer}. */ +@RunWith(AndroidJUnit4.class) +public class SimpleBasePlayerTest { + + @Test + public void allPlayerInterfaceMethods_declaredFinal() throws Exception { + for (Method method : Player.class.getDeclaredMethods()) { + assertThat( + SimpleBasePlayer.class + .getMethod(method.getName(), method.getParameterTypes()) + .getModifiers() + & Modifier.FINAL) + .isNotEqualTo(0); + } + } + + @Test + public void stateBuildUpon_build_isEqual() { + State state = + new State.Builder() + .setAvailableCommands(new Commands.Builder().addAllCommands().build()) + .setPlayWhenReady( + /* playWhenReady= */ true, + /* playWhenReadyChangeReason= */ Player + .PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS) + .build(); + + State newState = state.buildUpon().build(); + + assertThat(newState).isEqualTo(state); + assertThat(newState.hashCode()).isEqualTo(state.hashCode()); + } + + @Test + public void stateBuilderSetAvailableCommands_setsAvailableCommands() { + Commands commands = + new Commands.Builder() + .addAll(Player.COMMAND_GET_DEVICE_VOLUME, Player.COMMAND_GET_TIMELINE) + .build(); + State state = new State.Builder().setAvailableCommands(commands).build(); + + assertThat(state.availableCommands).isEqualTo(commands); + } + + @Test + public void stateBuilderSetPlayWhenReady_setsStatePlayWhenReadyAndReason() { + State state = + new State.Builder() + .setPlayWhenReady( + /* playWhenReady= */ true, + /* playWhenReadyChangeReason= */ Player + .PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS) + .build(); + + assertThat(state.playWhenReady).isTrue(); + assertThat(state.playWhenReadyChangeReason) + .isEqualTo(Player.PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS); + } + + @Test + public void getterMethods_noOtherMethodCalls_returnCurrentState() { + Commands commands = + new Commands.Builder() + .addAll(Player.COMMAND_GET_DEVICE_VOLUME, Player.COMMAND_GET_TIMELINE) + .build(); + State state = + new State.Builder() + .setAvailableCommands(commands) + .setPlayWhenReady( + /* playWhenReady= */ true, + /* playWhenReadyChangeReason= */ Player + .PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS) + .build(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return state; + } + }; + + assertThat(player.getApplicationLooper()).isEqualTo(Looper.myLooper()); + assertThat(player.getAvailableCommands()).isEqualTo(commands); + assertThat(player.getPlayWhenReady()).isTrue(); + } + + @SuppressWarnings("deprecation") // Verifying deprecated listener call. + @Test + public void invalidateState_updatesStateAndInformsListeners() { + State state1 = + new State.Builder() + .setAvailableCommands(new Commands.Builder().addAllCommands().build()) + .setPlayWhenReady( + /* playWhenReady= */ true, + /* playWhenReadyChangeReason= */ Player + .PLAY_WHEN_READY_CHANGE_REASON_AUDIO_FOCUS_LOSS) + .build(); + Commands commands = new Commands.Builder().add(Player.COMMAND_GET_TEXT).build(); + State state2 = + new State.Builder() + .setAvailableCommands(commands) + .setPlayWhenReady( + /* playWhenReady= */ false, + /* playWhenReadyChangeReason= */ Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE) + .build(); + AtomicBoolean returnState2 = new AtomicBoolean(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return returnState2.get() ? state2 : state1; + } + }; + Listener listener = mock(Listener.class); + player.addListener(listener); + // Verify state1 is used. + assertThat(player.getPlayWhenReady()).isTrue(); + + returnState2.set(true); + player.invalidateState(); + + // Verify updated state. + assertThat(player.getAvailableCommands()).isEqualTo(commands); + assertThat(player.getPlayWhenReady()).isFalse(); + // Verify listener calls. + verify(listener).onAvailableCommandsChanged(commands); + verify(listener) + .onPlayWhenReadyChanged( + /* playWhenReady= */ false, Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE); + verify(listener) + .onPlayerStateChanged(/* playWhenReady= */ false, /* playbackState= */ Player.STATE_IDLE); + verifyNoMoreInteractions(listener); + } + + @Test + public void invalidateState_duringAsyncMethodHandling_isIgnored() { + State state1 = + new State.Builder() + .setAvailableCommands(new Commands.Builder().addAllCommands().build()) + .setPlayWhenReady( + /* playWhenReady= */ true, + /* playWhenReadyChangeReason= */ Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST) + .build(); + State state2 = + state1 + .buildUpon() + .setPlayWhenReady( + /* playWhenReady= */ false, + /* playWhenReadyChangeReason= */ Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE) + .build(); + AtomicReference currentState = new AtomicReference<>(state1); + SettableFuture asyncFuture = SettableFuture.create(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return currentState.get(); + } + + @Override + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + return asyncFuture; + } + }; + Listener listener = mock(Listener.class); + player.addListener(listener); + // Verify state1 is used trigger async method. + assertThat(player.getPlayWhenReady()).isTrue(); + player.setPlayWhenReady(true); + + currentState.set(state2); + player.invalidateState(); + + // Verify placeholder state is used (and not state2). + assertThat(player.getPlayWhenReady()).isTrue(); + + // Finish async operation and verify no listeners are informed. + currentState.set(state1); + asyncFuture.set(null); + + assertThat(player.getPlayWhenReady()).isTrue(); + verifyNoMoreInteractions(listener); + } + + @Test + public void overlappingAsyncMethodHandling_onlyUpdatesStateAfterAllDone() { + State state1 = + new State.Builder() + .setAvailableCommands(new Commands.Builder().addAllCommands().build()) + .setPlayWhenReady( + /* playWhenReady= */ true, + /* playWhenReadyChangeReason= */ Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST) + .build(); + State state2 = + state1 + .buildUpon() + .setPlayWhenReady( + /* playWhenReady= */ false, + /* playWhenReadyChangeReason= */ Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE) + .build(); + AtomicReference currentState = new AtomicReference<>(state1); + ArrayList> asyncFutures = new ArrayList<>(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return currentState.get(); + } + + @Override + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + SettableFuture future = SettableFuture.create(); + asyncFutures.add(future); + return future; + } + }; + Listener listener = mock(Listener.class); + player.addListener(listener); + // Verify state1 is used. + assertThat(player.getPlayWhenReady()).isTrue(); + + // Trigger multiple parallel async calls and set state2 (which should never be used). + player.setPlayWhenReady(true); + currentState.set(state2); + assertThat(player.getPlayWhenReady()).isTrue(); + player.setPlayWhenReady(true); + assertThat(player.getPlayWhenReady()).isTrue(); + player.setPlayWhenReady(true); + assertThat(player.getPlayWhenReady()).isTrue(); + + // Finish async operation and verify state2 is not used while operations are pending. + asyncFutures.get(1).set(null); + assertThat(player.getPlayWhenReady()).isTrue(); + asyncFutures.get(2).set(null); + assertThat(player.getPlayWhenReady()).isTrue(); + verifyNoMoreInteractions(listener); + + // Finish last async operation and verify updated state and listener calls. + asyncFutures.get(0).set(null); + assertThat(player.getPlayWhenReady()).isFalse(); + verify(listener) + .onPlayWhenReadyChanged( + /* playWhenReady= */ false, Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE); + } + + @SuppressWarnings("deprecation") // Verifying deprecated listener call. + @Test + public void setPlayWhenReady_immediateHandling_updatesStateAndInformsListeners() { + State state = + new State.Builder() + .setAvailableCommands(new Commands.Builder().addAllCommands().build()) + .setPlayWhenReady( + /* playWhenReady= */ false, Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST) + .build(); + State updatedState = + state + .buildUpon() + .setPlayWhenReady( + /* playWhenReady= */ true, Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE) + .build(); + AtomicBoolean stateUpdated = new AtomicBoolean(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return stateUpdated.get() ? updatedState : state; + } + + @Override + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + stateUpdated.set(true); + return Futures.immediateVoidFuture(); + } + }; + Listener listener = mock(Listener.class); + player.addListener(listener); + + // Intentionally use parameter that doesn't match final result. + player.setPlayWhenReady(false); + + assertThat(player.getPlayWhenReady()).isTrue(); + verify(listener) + .onPlayWhenReadyChanged( + /* playWhenReady= */ true, Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE); + verify(listener) + .onPlayerStateChanged(/* playWhenReady= */ true, /* playbackState= */ Player.STATE_IDLE); + verifyNoMoreInteractions(listener); + } + + @SuppressWarnings("deprecation") // Verifying deprecated listener call. + @Test + public void setPlayWhenReady_asyncHandling_usesPlaceholderStateAndInformsListeners() { + State state = + new State.Builder() + .setAvailableCommands(new Commands.Builder().addAllCommands().build()) + .setPlayWhenReady( + /* playWhenReady= */ false, Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST) + .build(); + State updatedState = + state + .buildUpon() + .setPlayWhenReady( + /* playWhenReady= */ true, Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE) + .build(); + SettableFuture future = SettableFuture.create(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return future.isDone() ? updatedState : state; + } + + @Override + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + return future; + } + }; + Listener listener = mock(Listener.class); + player.addListener(listener); + + player.setPlayWhenReady(true); + + // Verify placeholder state and listener calls. + assertThat(player.getPlayWhenReady()).isTrue(); + verify(listener) + .onPlayWhenReadyChanged( + /* playWhenReady= */ true, Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST); + verify(listener) + .onPlayerStateChanged(/* playWhenReady= */ true, /* playbackState= */ Player.STATE_IDLE); + verifyNoMoreInteractions(listener); + + future.set(null); + + // Verify actual state update. + assertThat(player.getPlayWhenReady()).isTrue(); + verify(listener) + .onPlayWhenReadyChanged( + /* playWhenReady= */ true, Player.PLAY_WHEN_READY_CHANGE_REASON_REMOTE); + verifyNoMoreInteractions(listener); + } + + @Test + public void setPlayWhenReady_withoutAvailableCommand_isNotForwarded() { + State state = + new State.Builder() + .setAvailableCommands( + new Commands.Builder().addAllCommands().remove(Player.COMMAND_PLAY_PAUSE).build()) + .build(); + AtomicBoolean callForwarded = new AtomicBoolean(); + SimpleBasePlayer player = + new SimpleBasePlayer(Looper.myLooper()) { + @Override + protected State getState() { + return state; + } + + @Override + protected ListenableFuture handleSetPlayWhenReady(boolean playWhenReady) { + callForwarded.set(true); + return Futures.immediateVoidFuture(); + } + }; + + player.setPlayWhenReady(true); + + assertThat(callForwarded.get()).isFalse(); + } +} From f6a71d3aaab952aee3d1cf451d511558076bca18 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 15 Aug 2022 10:49:44 +0000 Subject: [PATCH 175/422] Update CMake version for AV1 extension The specified CMake version doesn't work with the latest Android Studio releases. Updating to a more recent version fixes the problem. Issue: google/ExoPlayer#9933 PiperOrigin-RevId: 467634063 (cherry picked from commit 9e1d4f6fd64f8de7315840d30d8f100301d9b82d) --- RELEASENOTES.md | 4 ++++ libraries/decoder_av1/build.gradle | 2 +- libraries/decoder_av1/src/main/jni/CMakeLists.txt | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index f401218c6a3..4db2d671a7c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -59,6 +59,10 @@ * FFmpeg extension: * Add newly required flags to link FFmpeg libraries with NDK 23.1.7779620 and above ([#9933](https://github.com/google/ExoPlayer/issues/9933)). +* AV1 extension: + * Update CMake version to avoid incompatibilities with the latest Android + Studio releases + ([#9933](https://github.com/google/ExoPlayer/issues/9933)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/decoder_av1/build.gradle b/libraries/decoder_av1/build.gradle index 8479ac3d649..4534116d3ef 100644 --- a/libraries/decoder_av1/build.gradle +++ b/libraries/decoder_av1/build.gradle @@ -32,7 +32,7 @@ android { if (project.file('src/main/jni/libgav1').exists()) { android.externalNativeBuild.cmake { path = 'src/main/jni/CMakeLists.txt' - version = '3.7.1+' + version = '3.21.0+' if (project.hasProperty('externalNativeBuildDir')) { if (!new File(externalNativeBuildDir).isAbsolute()) { ext.externalNativeBuildDir = diff --git a/libraries/decoder_av1/src/main/jni/CMakeLists.txt b/libraries/decoder_av1/src/main/jni/CMakeLists.txt index cb080e3c476..0202f0af570 100644 --- a/libraries/decoder_av1/src/main/jni/CMakeLists.txt +++ b/libraries/decoder_av1/src/main/jni/CMakeLists.txt @@ -14,7 +14,8 @@ # limitations under the License. # -cmake_minimum_required(VERSION 3.7.1 FATAL_ERROR) +cmake_minimum_required(VERSION 3.21.0 FATAL_ERROR) + set(CMAKE_CXX_STANDARD 11) project(libgav1JNI C CXX) From 56ed1e11fe6a6346a6b49e0209fa0d3e28941422 Mon Sep 17 00:00:00 2001 From: christosts Date: Mon, 15 Aug 2022 11:47:42 +0000 Subject: [PATCH 176/422] Increase max sample size for HEVC. Increase the estimated max sample size for HEVC by 2x, and set a minimum size of 2MB. The 2MB will be applied for resolutions up to 1080p, after which the new calculation takes effect. This is in par with the platform's HEVC software decoder. PiperOrigin-RevId: 467641494 (cherry picked from commit b83b16eba71b4f5c05a99c719e1cbc49c418e20e) --- .../video/MediaCodecVideoRenderer.java | 49 ++- .../video/MediaCodecVideoRendererTest.java | 358 ++++++++++++++++++ 2 files changed, 386 insertions(+), 21 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java index 9cc8a6e9376..968ba993e92 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java @@ -114,6 +114,9 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { /** Magic frame render timestamp that indicates the EOS in tunneling mode. */ private static final long TUNNELING_EOS_PRESENTATION_TIME_US = Long.MAX_VALUE; + /** The minimum input buffer size for HEVC. */ + private static final int HEVC_MAX_INPUT_SIZE_THRESHOLD = 2 * 1024 * 1024; + private static boolean evaluatedDeviceNeedsSetOutputSurfaceWorkaround; private static boolean deviceNeedsSetOutputSurfaceWorkaround; @@ -790,14 +793,20 @@ public static int getCodecMaxInputSize(MediaCodecInfo codecInfo, Format format) } // Attempt to infer a maximum input size from the format. - int maxPixels; - int minCompressionRatio; switch (sampleMimeType) { case MimeTypes.VIDEO_H263: case MimeTypes.VIDEO_MP4V: - maxPixels = width * height; - minCompressionRatio = 2; - break; + case MimeTypes.VIDEO_AV1: + // Assume a min compression of 2 similar to the platform's C2SoftAomDec.cpp. + case MimeTypes.VIDEO_VP8: + // Assume a min compression of 2 similar to the platform's SoftVPX.cpp. + return getMaxSampleSize(/* pixelCount= */ width * height, /* minCompressionRatio= */ 2); + case MimeTypes.VIDEO_H265: + // Assume a min compression of 2 similar to the platform's C2SoftHevcDec.cpp, but restrict + // the minimum size. + return max( + HEVC_MAX_INPUT_SIZE_THRESHOLD, + getMaxSampleSize(/* pixelCount= */ width * height, /* minCompressionRatio= */ 2)); case MimeTypes.VIDEO_H264: if ("BRAVIA 4K 2015".equals(Util.MODEL) // Sony Bravia 4K || ("Amazon".equals(Util.MANUFACTURER) @@ -808,27 +817,14 @@ public static int getCodecMaxInputSize(MediaCodecInfo codecInfo, Format format) return Format.NO_VALUE; } // Round up width/height to an integer number of macroblocks. - maxPixels = Util.ceilDivide(width, 16) * Util.ceilDivide(height, 16) * 16 * 16; - minCompressionRatio = 2; - break; - case MimeTypes.VIDEO_AV1: - // AV1 does not specify a ratio so use the values from the platform's C2SoftAomDec.cpp. - case MimeTypes.VIDEO_VP8: - // VPX does not specify a ratio so use the values from the platform's SoftVPX.cpp. - maxPixels = width * height; - minCompressionRatio = 2; - break; - case MimeTypes.VIDEO_H265: + int maxPixels = Util.ceilDivide(width, 16) * Util.ceilDivide(height, 16) * 16 * 16; + return getMaxSampleSize(maxPixels, /* minCompressionRatio= */ 2); case MimeTypes.VIDEO_VP9: - maxPixels = width * height; - minCompressionRatio = 4; - break; + return getMaxSampleSize(/* pixelCount= */ width * height, /* minCompressionRatio= */ 4); default: // Leave the default max input size. return Format.NO_VALUE; } - // Estimate the maximum input size assuming three channel 4:2:0 subsampled input frames. - return (maxPixels * 3) / (2 * minCompressionRatio); } @Override @@ -1736,6 +1732,17 @@ public CodecMaxValues(int width, int height, int inputSize) { } } + /** + * Returns the maximum sample size assuming three channel 4:2:0 subsampled input frames with the + * specified {@code minCompressionRatio} + * + * @param pixelCount The number of pixels + * @param minCompressionRatio The minimum compression ratio + */ + private static int getMaxSampleSize(int pixelCount, int minCompressionRatio) { + return (pixelCount * 3) / (2 * minCompressionRatio); + } + private static boolean evaluateDeviceNeedsSetOutputSurfaceWorkaround() { if (Util.SDK_INT <= 28) { // Workaround for MiTV and MiBox devices which have been observed broken up to API 28. diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java index d12739b2b41..32733b496a1 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java @@ -610,4 +610,362 @@ public void supportsFormat_withDolbyVisionMedia_returnsTrueWhenFallbackToH265orH assertThat(RendererCapabilities.getFormatSupport(capabilitiesNoFallbackPossible)) .isEqualTo(C.FORMAT_UNSUPPORTED_SUBTYPE); } + + @Test + public void getCodecMaxInputSize_videoH263() { + MediaCodecInfo codecInfo = createMediaCodecInfo(MimeTypes.VIDEO_H263); + + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_H263, /* width= */ 640, /* height= */ 480))) + .isEqualTo(230400); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_H263, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(691200); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_H263, 1920, 1080))) + .isEqualTo(1555200); + } + + @Test + public void getCodecMaxInputSize_videoH264() { + MediaCodecInfo codecInfo = createMediaCodecInfo(MimeTypes.VIDEO_H264); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_H264, /* width= */ 640, /* height= */ 480))) + .isEqualTo(230400); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_H264, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(691200); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_H264, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(1566720); + } + + @Test + public void getCodecMaxInputSize_videoHevc() { + MediaCodecInfo codecInfo = createMediaCodecInfo(MimeTypes.VIDEO_H265); + + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_H265, /* width= */ 640, /* height= */ 480))) + .isEqualTo(2097152); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_H265, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(2097152); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_H265, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(2097152); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_H265, /* width= */ 3840, /* height= */ 2160))) + .isEqualTo(6220800); + } + + @Test + public void getCodecMaxInputSize_videoMp4v() { + MediaCodecInfo codecInfo = createMediaCodecInfo(MimeTypes.VIDEO_MP4V); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_MP4V, /* width= */ 640, /* height= */ 480))) + .isEqualTo(230400); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_MP4V, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(691200); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_MP4V, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(1555200); + } + + @Test + public void getCodecMaxInputSize_videoAv1() { + MediaCodecInfo codecInfo = createMediaCodecInfo(MimeTypes.VIDEO_AV1); + + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_MP4V, /* width= */ 640, /* height= */ 480))) + .isEqualTo(230400); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_MP4V, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(691200); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_MP4V, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(1555200); + } + + @Test + public void getCodecMaxInputSize_videoVp8() { + MediaCodecInfo vp8CodecInfo = createMediaCodecInfo(MimeTypes.VIDEO_VP8); + + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + vp8CodecInfo, + createFormat(MimeTypes.VIDEO_VP8, /* width= */ 640, /* height= */ 480))) + .isEqualTo(230400); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + vp8CodecInfo, + createFormat(MimeTypes.VIDEO_VP8, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(691200); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + vp8CodecInfo, + createFormat(MimeTypes.VIDEO_VP8, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(1555200); + } + + @Test + public void getCodecMaxInputSize_dolbyVision_fallBack() { + MediaCodecInfo dvCodecInfo = createMediaCodecInfo(MimeTypes.VIDEO_DOLBY_VISION); + int h264MaxSampleSize = + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_H264), + createFormat(MimeTypes.VIDEO_H264, /* width= */ 1920, /* height= */ 1080)); + int hevcMaxSampleSize = + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_H265), + createFormat(MimeTypes.VIDEO_H265, /* width= */ 1920, /* height= */ 1080)); + + // DV format without codec string fallbacks to HEVC. + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + // DV profiles "00", "01" and "09" fallback to H264. + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.00.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(h264MaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.01.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(h264MaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.09.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(h264MaxSampleSize); + // DV profiles "02", "03", "04", "05", "06, "07" and "08" fallback to HEVC. + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.02.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.03.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.04.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.05.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.06.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.07.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + dvCodecInfo, + new Format.Builder() + .setSampleMimeType(MimeTypes.VIDEO_DOLBY_VISION) + .setCodecs("dvhe.08.01") + .setWidth(1920) + .setHeight(1080) + .build())) + .isEqualTo(hevcMaxSampleSize); + } + + @Test + public void getCodecMaxInputSize_videoVp9() { + MediaCodecInfo codecInfo = createMediaCodecInfo(MimeTypes.VIDEO_VP9); + + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_VP9, /* width= */ 640, /* height= */ 480))) + .isEqualTo(115200); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, createFormat(MimeTypes.VIDEO_VP9, /* width= */ 1280, /* height= */ 720))) + .isEqualTo(345600); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + codecInfo, + createFormat(MimeTypes.VIDEO_VP9, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(777600); + } + + @Test + public void getCodecMaxInputSize_withUnsupportedFormat_returnsNoValue() { + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_MP43), + createFormat(MimeTypes.VIDEO_MP43, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_MP42), + createFormat(MimeTypes.VIDEO_MP42, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_MJPEG), + createFormat(MimeTypes.VIDEO_MJPEG, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_AVI), + createFormat(MimeTypes.VIDEO_AVI, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_OGG), + createFormat(MimeTypes.VIDEO_OGG, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_FLV), + createFormat(MimeTypes.VIDEO_FLV, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_VC1), + createFormat(MimeTypes.VIDEO_VC1, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_MPEG2), + createFormat(MimeTypes.VIDEO_MPEG2, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_PS), + createFormat(MimeTypes.VIDEO_PS, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_MPEG), + createFormat(MimeTypes.VIDEO_MPEG, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_MP2T), + createFormat(MimeTypes.VIDEO_MP2T, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_WEBM), + createFormat(MimeTypes.VIDEO_WEBM, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + assertThat( + MediaCodecVideoRenderer.getCodecMaxInputSize( + createMediaCodecInfo(MimeTypes.VIDEO_DIVX), + createFormat(MimeTypes.VIDEO_DIVX, /* width= */ 1920, /* height= */ 1080))) + .isEqualTo(Format.NO_VALUE); + } + + private static MediaCodecInfo createMediaCodecInfo(String mimeType) { + return MediaCodecInfo.newInstance( + /* name= */ mimeType, + /* mimeType= */ mimeType, + /* codecMimeType= */ mimeType, + /* capabilities= */ new CodecCapabilities(), + /* hardwareAccelerated= */ true, + /* softwareOnly= */ false, + /* vendor= */ true, + /* forceDisableAdaptive= */ false, + /* forceSecure= */ false); + } + + private static Format createFormat(String mimeType, int width, int height) { + return new Format.Builder() + .setSampleMimeType(mimeType) + .setWidth(width) + .setHeight(height) + .build(); + } } From f6dde78204215b40aa4b945f40baffa48457644a Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 15 Aug 2022 15:27:21 +0000 Subject: [PATCH 177/422] Allow high-priority tasks to be executed before other tasks. This is needed as a pre-requisite for allowing MCVR to control FrameProcessor frame release for previewing. Submitting a high-priority task is conceptually different from posting at the front of a single queue of tasks, as the high-priority tasks are executed in FIFO order among themselves. This will ensure that frame release tasks submitted in close succession are executed in the order they are submitted but before any lower priority tasks. PiperOrigin-RevId: 467675137 (cherry picked from commit 59be732230fe9bfdc27c27d6a6866abacbdda3fe) --- .../effect/FrameProcessingTaskExecutor.java | 37 ++++++++++++++++--- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java index a87356e9659..d5e08c7d954 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java @@ -34,12 +34,17 @@ *

      The wrapper handles calling {@link * FrameProcessor.Listener#onFrameProcessingError(FrameProcessingException)} for errors that occur * during these tasks. + * + *

      {@linkplain #submitWithHighPriority(FrameProcessingTask) High priority tasks} are always + * executed before {@linkplain #submit(FrameProcessingTask) default priority tasks}. Tasks with + * equal priority are executed in FIFO order. */ /* package */ final class FrameProcessingTaskExecutor { private final ExecutorService singleThreadExecutorService; private final FrameProcessor.Listener listener; private final ConcurrentLinkedQueue> futures; + private final ConcurrentLinkedQueue highPriorityTasks; private final AtomicBoolean shouldCancelTasks; /** Creates a new instance. */ @@ -49,11 +54,12 @@ public FrameProcessingTaskExecutor( this.listener = listener; futures = new ConcurrentLinkedQueue<>(); + highPriorityTasks = new ConcurrentLinkedQueue<>(); shouldCancelTasks = new AtomicBoolean(); } /** - * Submits the given {@link FrameProcessingTask} to be executed after any pending tasks have + * Submits the given {@link FrameProcessingTask} to be executed after all pending tasks have * completed. */ public void submit(FrameProcessingTask task) { @@ -61,7 +67,7 @@ public void submit(FrameProcessingTask task) { return; } try { - futures.add(submitTask(task)); + futures.add(wrapTaskAndSubmitToExecutorService(task)); } catch (RejectedExecutionException e) { if (!shouldCancelTasks.getAndSet(true)) { listener.onFrameProcessingError(new FrameProcessingException(e)); @@ -69,6 +75,24 @@ public void submit(FrameProcessingTask task) { } } + /** + * Submits the given {@link FrameProcessingTask} to be executed after the currently running task + * and all previously submitted high-priority tasks have completed. + * + *

      Tasks that were previously {@linkplain #submit(FrameProcessingTask) submitted} without + * high-priority and have not started executing will be executed after this task is complete. + */ + public void submitWithHighPriority(FrameProcessingTask task) { + if (shouldCancelTasks.get()) { + return; + } + highPriorityTasks.add(task); + // If the ExecutorService has non-started tasks, the first of these non-started tasks will run + // the task passed to this method. Just in case there are no non-started tasks, submit another + // task to run high-priority tasks. + submit(() -> {}); + } + /** * Cancels remaining tasks, runs the given release task, and shuts down the background thread. * @@ -83,7 +107,7 @@ public void release(FrameProcessingTask releaseTask, long releaseWaitTimeMs) while (!futures.isEmpty()) { futures.remove().cancel(/* mayInterruptIfRunning= */ false); } - Future releaseFuture = submitTask(releaseTask); + Future releaseFuture = wrapTaskAndSubmitToExecutorService(releaseTask); singleThreadExecutorService.shutdown(); try { if (!singleThreadExecutorService.awaitTermination(releaseWaitTimeMs, MILLISECONDS)) { @@ -95,11 +119,14 @@ public void release(FrameProcessingTask releaseTask, long releaseWaitTimeMs) } } - private Future submitTask(FrameProcessingTask glTask) { + private Future wrapTaskAndSubmitToExecutorService(FrameProcessingTask defaultPriorityTask) { return singleThreadExecutorService.submit( () -> { try { - glTask.run(); + while (!highPriorityTasks.isEmpty()) { + highPriorityTasks.remove().run(); + } + defaultPriorityTask.run(); removeFinishedFutures(); } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { listener.onFrameProcessingError(FrameProcessingException.from(e)); From d91f60b6e684549ace40229c4d36f694cb57010b Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 16 Aug 2022 13:33:32 +0000 Subject: [PATCH 178/422] HDR: Update limited range and add full range YUV to RGB color transforms. PiperOrigin-RevId: 467910378 (cherry picked from commit d963dfbd3e478f01077e45ad84bae6d1ea666038) --- .../transformer/ConfigurationActivity.java | 2 +- ...fragment_shader_copy_external_yuv_es3.glsl | 10 +++---- .../effect/MatrixTransformationProcessor.java | 27 ++++++++++++++----- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index b6fd239d2ca..3c9cdb1d089 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -96,7 +96,7 @@ public final class ConfigurationActivity extends AppCompatActivity { "H264 video and AAC audio (portrait, H < W, 90\u00B0)", "SEF slow motion with 240 fps", "480p DASH (non-square pixels)", - "HDR (HDR10) H265 video (encoding may fail)", + "HDR (HDR10) H265 limited range video (encoding may fail)", }; private static final String[] DEMO_EFFECTS = { "Dizzy crop", diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl index 9460a4db17d..88559ee80fe 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl @@ -18,7 +18,7 @@ // the sampler uses the EXT_YUV_target extension specified at // https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt, // 2. Applies a YUV to RGB conversion using the specified color transform -// uColorTransform, yielding HLG BT.2020 RGB, +// uYuvToRgbColorTransform, yielding HLG BT.2020 RGB, // 3. If uApplyHlgOetf is 1, outputs HLG BT.2020 RGB. If 0, outputs // linear BT.2020 RGB for intermediate shaders by applying the HLG OETF. // 4. Copies this converted texture color to the current output. @@ -27,8 +27,7 @@ #extension GL_EXT_YUV_target : require precision mediump float; uniform __samplerExternal2DY2YEXT uTexSampler; -// YUV to RGB conversion matrix. -uniform mat3 uColorTransform; +uniform mat3 uYuvToRgbColorTransform; uniform float uApplyHlgOetf; in vec2 vTexSamplingCoord; out vec4 outColor; @@ -63,8 +62,9 @@ highp vec4 hlgOetf(highp vec4 hlgColor) { /** Convert YUV to RGBA. */ vec4 yuvToRgba(vec3 yuv) { - vec3 yuvOffset = vec3(yuv.x - 0.0625, yuv.y - 0.5, yuv.z - 0.5); - return vec4(uColorTransform * yuvOffset, 1.0); + const vec3 yuvOffset = vec3(0.0625, 0.5, 0.5); + vec3 rgb = uYuvToRgbColorTransform * (yuv - yuvOffset); + return vec4(rgb, 1.0); } void main() { diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index e231a39fb1e..40c98ee2dd2 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -21,6 +21,7 @@ import android.opengl.GLES20; import android.opengl.Matrix; import android.util.Pair; +import androidx.media3.common.C; import androidx.media3.common.ColorInfo; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; @@ -64,12 +65,19 @@ new float[] {-1, 1, 0, 1}, new float[] {1, 1, 0, 1}, new float[] {1, -1, 0, 1}); - // Color transform coefficients from - // https://cs.android.com/android/platform/superproject/+/master:frameworks/av/media/libstagefright/colorconversion/ColorConverter.cpp;l=668-670;drc=487adf977a50cac3929eba15fad0d0f461c7ff0f. - private static final float[] MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM = { - 1.168f, 1.168f, 1.168f, - 0.0f, -0.188f, 2.148f, - 1.683f, -0.652f, 0.0f, + + // YUV to RGB color transform coefficients can be calculated from the BT.2020 specification, by + // inverting the RGB to YUV equations, and scaling for limited range. + // https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2020-2-201510-I!!PDF-E.pdf + private static final float[] BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX = { + 1.0000f, 1.0000f, 1.0000f, + 0.0000f, -0.1646f, 1.8814f, + 1.4746f, -0.5714f, 0.0000f + }; + private static final float[] BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX = { + 1.1689f, 1.1689f, 1.1689f, + 0.0000f, -0.1881f, 2.1502f, + 1.6853f, -0.6530f, 0.0000f, }; /** The {@link MatrixTransformation MatrixTransformations} to apply. */ @@ -195,7 +203,12 @@ public MatrixTransformationProcessor( throw new FrameProcessingException( "The EXT_YUV_target extension is required for HDR editing input."); } - glProgram.setFloatsUniform("uColorTransform", MATRIX_YUV_TO_BT2020_COLOR_TRANSFORM); + glProgram.setFloatsUniform( + "uYuvToRgbColorTransform", + opticalColorInfo.colorRange == C.COLOR_RANGE_FULL + ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX + : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); + // TODO(b/227624622): Implement PQ and gamma TFs, and use an @IntDef to select between HLG, // PQ, and gamma, coming from opticalColorInfo.colorTransfer. From f3d48c21f43e0b4a89a8d18d1deec80673c902f8 Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 16 Aug 2022 16:27:56 +0000 Subject: [PATCH 179/422] Define CueGroup.EMPTY_TIME_ZERO for convenience We create an empty CueGroup in many places as default or where none is needed. Instead, we can define a constant for this purpose and reuse it. PiperOrigin-RevId: 467944841 (cherry picked from commit 59895646e03ee15aed5e80fb8e60b7f98a7afe5f) --- .../src/main/java/androidx/media3/cast/CastPlayer.java | 4 +--- .../java/androidx/media3/common/text/CueGroup.java | 6 ++++++ .../java/androidx/media3/exoplayer/ExoPlayerImpl.java | 4 ++-- .../java/androidx/media3/session/MediaController.java | 6 +----- .../media3/session/MediaControllerImplLegacy.java | 6 ++---- .../main/java/androidx/media3/session/PlayerInfo.java | 10 ++++------ .../media3/session/MediaSessionProviderService.java | 6 +++--- .../main/java/androidx/media3/session/MockPlayer.java | 4 +--- 8 files changed, 20 insertions(+), 26 deletions(-) diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index d7de97abdd0..bd27d3479e8 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -113,8 +113,6 @@ public final class CastPlayer extends BasePlayer { private static final long PROGRESS_REPORT_PERIOD_MS = 1000; private static final long[] EMPTY_TRACK_ID_ARRAY = new long[0]; - private static final CueGroup EMPTY_CUE_GROUP = - new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); private final CastContext castContext; private final MediaItemConverter mediaItemConverter; @@ -728,7 +726,7 @@ public VideoSize getVideoSize() { /** This method is not supported and returns an empty {@link CueGroup}. */ @Override public CueGroup getCurrentCues() { - return EMPTY_CUE_GROUP; + return CueGroup.EMPTY_TIME_ZERO; } /** This method is not supported and always returns {@link DeviceInfo#UNKNOWN}. */ diff --git a/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java b/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java index 67e58eb065b..df11b6fda8a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/CueGroup.java @@ -35,6 +35,12 @@ /** Class to represent the state of active {@link Cue Cues} at a particular time. */ public final class CueGroup implements Bundleable { + + /** An empty group with no {@link Cue Cues} and presentation time of zero. */ + @UnstableApi + public static final CueGroup EMPTY_TIME_ZERO = + new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); + /** * The cues in this group. * diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index 95df21be23e..c02a601b4b5 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -356,7 +356,7 @@ public ExoPlayerImpl(ExoPlayer.Builder builder, @Nullable Player wrappingPlayer) } else { audioSessionId = Util.generateAudioSessionIdV21(applicationContext); } - currentCueGroup = new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); + currentCueGroup = CueGroup.EMPTY_TIME_ZERO; throwsWhenUsingWrongThread = true; addListener(analyticsCollector); @@ -1001,7 +1001,7 @@ public void release() { checkNotNull(priorityTaskManager).remove(C.PRIORITY_PLAYBACK); isPriorityTaskManagerRegistered = false; } - currentCueGroup = new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); + currentCueGroup = CueGroup.EMPTY_TIME_ZERO; playerReleased = true; } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index 7f09bd14cac..67ab936fb7a 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -56,7 +56,6 @@ import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; -import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; import com.google.common.util.concurrent.ListenableFuture; import com.google.errorprone.annotations.CanIgnoreReturnValue; @@ -175,9 +174,6 @@ public class MediaController implements Player { "MediaController method is called from a wrong thread." + " See javadoc of MediaController for details."; - private static final CueGroup EMPTY_CUE_GROUP = - new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); - /** A builder for {@link MediaController}. */ public static final class Builder { @@ -1595,7 +1591,7 @@ public void clearVideoTextureView(@Nullable TextureView textureView) { @Override public CueGroup getCurrentCues() { verifyApplicationThread(); - return isConnected() ? impl.getCurrentCues() : EMPTY_CUE_GROUP; + return isConnected() ? impl.getCurrentCues() : CueGroup.EMPTY_TIME_ZERO; } @Override diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 25489f65277..ad7687d4aff 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -108,8 +108,6 @@ private static final long AGGREGATES_CALLBACKS_WITHIN_TIMEOUT_MS = 500L; private static final int VOLUME_FLAGS = AudioManager.FLAG_SHOW_UI; - private static final CueGroup EMPTY_CUE_GROUP = - new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); /* package */ final Context context; private final MediaController instance; @@ -1029,7 +1027,7 @@ public void clearVideoTextureView(@Nullable TextureView textureView) { @Override public CueGroup getCurrentCues() { Log.w(TAG, "Session doesn't support getting Cue"); - return EMPTY_CUE_GROUP; + return CueGroup.EMPTY_TIME_ZERO; } @Override @@ -2122,7 +2120,7 @@ private static ControllerInfo createControllerInfo( /* playlistMetadata= */ playlistMetadata, /* volume= */ 1.0f, /* audioAttributes= */ audioAttributes, - /* cueGroup= */ EMPTY_CUE_GROUP, + /* cueGroup= */ CueGroup.EMPTY_TIME_ZERO, /* deviceInfo= */ deviceInfo, /* deviceVolume= */ deviceVolume, /* deviceMuted= */ deviceMuted, diff --git a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java index 655bf5634c3..c1b67c62077 100644 --- a/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/PlayerInfo.java @@ -46,7 +46,6 @@ import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Assertions; -import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; @@ -59,9 +58,6 @@ */ /* package */ class PlayerInfo implements Bundleable { - private static final CueGroup EMPTY_CUE_GROUP = - new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); - public static class Builder { @Nullable private PlaybackException playerError; @@ -376,7 +372,7 @@ public PlayerInfo build() { MediaMetadata.EMPTY, /* volume= */ 1f, AudioAttributes.DEFAULT, - /* cueGroup = */ EMPTY_CUE_GROUP, + CueGroup.EMPTY_TIME_ZERO, DeviceInfo.UNKNOWN, /* deviceVolume= */ 0, /* deviceMuted= */ false, @@ -906,7 +902,9 @@ private static PlayerInfo fromBundle(Bundle bundle) { : AudioAttributes.CREATOR.fromBundle(audioAttributesBundle); @Nullable Bundle cueGroupBundle = bundle.getBundle(keyForField(FIELD_CUE_GROUP)); CueGroup cueGroup = - cueGroupBundle == null ? EMPTY_CUE_GROUP : CueGroup.CREATOR.fromBundle(cueGroupBundle); + cueGroupBundle == null + ? CueGroup.EMPTY_TIME_ZERO + : CueGroup.CREATOR.fromBundle(cueGroupBundle); @Nullable Bundle deviceInfoBundle = bundle.getBundle(keyForField(FIELD_DEVICE_INFO)); DeviceInfo deviceInfo = deviceInfoBundle == null diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index ee5be83e477..98da0c7c05c 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -112,8 +112,6 @@ public class MediaSessionProviderService extends Service { private static final String TAG = "MSProviderService"; - private static final CueGroup EMPTY_CUE_GROUP = - new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); private Map sessionMap = new HashMap<>(); private RemoteMediaSessionStub sessionBinder; @@ -363,7 +361,9 @@ private Player createMockPlayer(Bundle config) { } Bundle cueGroupBundle = config.getBundle(KEY_CURRENT_CUE_GROUP); player.cueGroup = - cueGroupBundle == null ? EMPTY_CUE_GROUP : CueGroup.CREATOR.fromBundle(cueGroupBundle); + cueGroupBundle == null + ? CueGroup.EMPTY_TIME_ZERO + : CueGroup.CREATOR.fromBundle(cueGroupBundle); @Nullable Bundle deviceInfoBundle = config.getBundle(KEY_DEVICE_INFO); if (deviceInfoBundle != null) { player.deviceInfo = DeviceInfo.CREATOR.fromBundle(deviceInfoBundle); diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index db40129a996..b4dcf94755c 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -197,8 +197,6 @@ public class MockPlayer implements Player { private final ArraySet listeners = new ArraySet<>(); private final ImmutableMap<@Method Integer, ConditionVariable> conditionVariables = createMethodConditionVariables(); - private static final CueGroup EMPTY_CUE_GROUP = - new CueGroup(ImmutableList.of(), /* presentationTimeUs= */ 0); @Nullable PlaybackException playerError; public AudioAttributes audioAttributes; @@ -280,7 +278,7 @@ private MockPlayer(Builder builder) { repeatMode = Player.REPEAT_MODE_OFF; videoSize = VideoSize.UNKNOWN; volume = 1.0f; - cueGroup = EMPTY_CUE_GROUP; + cueGroup = CueGroup.EMPTY_TIME_ZERO; deviceInfo = DeviceInfo.UNKNOWN; seekPositionMs = C.TIME_UNSET; seekMediaItemIndex = C.INDEX_UNSET; From ec9948e9f260130e420574fd142e817bcd91f60e Mon Sep 17 00:00:00 2001 From: leonwind Date: Tue, 16 Aug 2022 20:39:42 +0000 Subject: [PATCH 180/422] Compact a RGB Matrix chain into a singular RGB Matrix. PiperOrigin-RevId: 468013019 (cherry picked from commit 045a396167e9cfc7faf35a94d1f63971bec3d290) --- .../GlEffectsFrameProcessorPixelTest.java | 99 ++++++++++++++++++ .../media3/effect/RgbAdjustmentPixelTest.java | 81 +++++++++++++- .../effect/GlEffectsFrameProcessor.java | 42 ++++++++ .../media3/effect/RgbMatrixProcessor.java | 66 +++++++++++- .../grayscale_then_increase_red_channel.png | Bin 0 -> 406385 bytes 5 files changed, 282 insertions(+), 6 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 5ccb2491fb4..0945738b8e8 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -80,6 +80,10 @@ public final class GlEffectsFrameProcessorPixelTest { "media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png"; public static final String ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/rotate_45_scale_to_fit.png"; + public static final String INCREASE_BRIGHTNESS_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/increase_brightness.png"; + public static final String GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png"; /** Input video of which we only use the first frame. */ private static final String INPUT_MP4_ASSET_STRING = "media/mp4/sample.mp4"; @@ -327,6 +331,101 @@ public void processData_withTwoWrappedScaleToFitTransformations_producesExpected assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + @Test + public void processData_increaseBrightness_producesExpectedOutput() throws Exception { + String testId = "processData_increaseBrightness"; + ImmutableList increaseBrightness = + ImmutableList.of( + new RgbAdjustment.Builder().setRedScale(5).build(), + new RgbAdjustment.Builder().setGreenScale(5).build(), + new RgbAdjustment.Builder().setBlueScale(5).build()); + setUpAndPrepareFirstFrame(DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, increaseBrightness); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); + + Bitmap actualBitmap = processFirstFrameAndEnd(); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void processData_fullRotationIncreaseBrightnessAndCenterCrop_producesExpectedOutput() + throws Exception { + String testId = "drawFrame_fullRotationIncreaseBrightnessAndCenterCrop"; + Crop centerCrop = + new Crop(/* left= */ -0.5f, /* right= */ 0.5f, /* bottom= */ -0.5f, /* top= */ 0.5f); + ImmutableList increaseBrightnessFullRotationCenterCrop = + ImmutableList.of( + new Rotation(/* degrees= */ 90), + new RgbAdjustment.Builder().setRedScale(5).build(), + new RgbAdjustment.Builder().setGreenScale(5).build(), + new Rotation(/* degrees= */ 90), + new Rotation(/* degrees= */ 90), + new RgbAdjustment.Builder().setBlueScale(5).build(), + new Rotation(/* degrees= */ 90), + centerCrop); + setUpAndPrepareFirstFrame( + DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, + ImmutableList.of( + new RgbAdjustment.Builder().setRedScale(5).setBlueScale(5).setGreenScale(5).build(), + centerCrop)); + Bitmap centerCropAndBrightnessIncreaseResultBitmap = processFirstFrameAndEnd(); + setUpAndPrepareFirstFrame( + DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, increaseBrightnessFullRotationCenterCrop); + + Bitmap fullRotationBrightnessIncreaseAndCenterCropResultBitmap = processFirstFrameAndEnd(); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "centerCrop", centerCropAndBrightnessIncreaseResultBitmap); + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, + /* bitmapLabel= */ "full4StepRotationBrightnessIncreaseAndCenterCrop", + fullRotationBrightnessIncreaseAndCenterCropResultBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + centerCropAndBrightnessIncreaseResultBitmap, + fullRotationBrightnessIncreaseAndCenterCropResultBitmap, + testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + // TODO(b/239757183): Consider moving RgbMatrix composition tests to a new file. + public void drawFrame_grayscaleAndIncreaseRedChannel_producesGrayscaleAndRedImage() + throws Exception { + String testId = "drawFrame_grayscale"; + // Grayscale transformation matrix with the BT.709 standard from + // https://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale + // TODO(b/241240659): Use static grayscale filter from RgbFilter once it exists. + float[] grayscaleMatrix = { + 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, + 0, 0, 1 + }; + ImmutableList grayscaleThenIncreaseRed = + ImmutableList.of( + (RgbMatrix) presentationTimeUs -> grayscaleMatrix, + new RgbAdjustment.Builder().setRedScale(3).build()); + setUpAndPrepareFirstFrame(DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, grayscaleThenIncreaseRed); + Bitmap expectedBitmap = + BitmapTestUtil.readBitmap(GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH); + + Bitmap actualBitmap = processFirstFrameAndEnd(); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + // TODO(b/207848601): switch to using proper tooling for testing against golden data. + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + // TODO(b/227624622): Add a test for HDR input after BitmapTestUtil can read HDR bitmaps, using // GlEffectWrapper to ensure usage of intermediate textures. diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index e4bc54c8e11..de621a7b36f 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -31,6 +31,7 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableList; import java.io.IOException; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.junit.After; @@ -153,7 +154,7 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { } @Test - public void drawFrame_redOnlyFilter_setsBlueAndGreenValuesToZero() throws Exception { + public void drawFrame_redOnlyFilter_removeBlueAndGreenValues() throws Exception { String testId = "drawFrame_redOnlyFilter"; RgbMatrix redOnlyMatrix = new RgbAdjustment.Builder().setBlueScale(0).setGreenScale(0).build(); rgbMatrixProcessor = new RgbMatrixProcessor(context, redOnlyMatrix, /* useHdr= */ false); @@ -243,4 +244,82 @@ public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { expectedBitmap, actualBitmap, testId); assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } + + @Test + public void drawFrame_removeRedGreenAndBlueValuesInAChain_producesBlackImage() throws Exception { + String testId = "drawFrame_removeRedGreenBlueValuesInAChain"; + RgbMatrix noRed = new RgbAdjustment.Builder().setRedScale(0).build(); + RgbMatrix noGreen = new RgbAdjustment.Builder().setGreenScale(0).build(); + RgbMatrix noBlue = new RgbAdjustment.Builder().setBlueScale(0).build(); + rgbMatrixProcessor = + new RgbMatrixProcessor( + context, ImmutableList.of(noRed, noGreen, noBlue), /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = + BitmapTestUtil.createArgb8888BitmapWithSolidColor( + outputSize.first, outputSize.second, Color.BLACK); + + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_removeBlueAndGreenValuesInAChain_producesOnlyRedImage() throws Exception { + String testId = "drawFrame_removeBlueAndGreenValuesInAChain"; + RgbMatrix noGreen = new RgbAdjustment.Builder().setGreenScale(0).build(); + RgbMatrix noBlue = new RgbAdjustment.Builder().setBlueScale(0).build(); + rgbMatrixProcessor = + new RgbMatrixProcessor(context, ImmutableList.of(noGreen, noBlue), /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); + + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_increasesAndDecreasesRed_producesNoChange() throws Exception { + String testId = "drawFrame_increaseAndDecreaseRed"; + float redScale = 4; + RgbMatrix scaleRedMatrix = new RgbAdjustment.Builder().setRedScale(redScale).build(); + RgbMatrix scaleRedByInverseMatrix = + new RgbAdjustment.Builder().setRedScale(1 / redScale).build(); + rgbMatrixProcessor = + new RgbMatrixProcessor( + context, + ImmutableList.of(scaleRedMatrix, scaleRedByInverseMatrix), + /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index a74033d1c82..f0656749cc2 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -155,6 +155,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( * The first is an {@link ExternalTextureProcessor} and the last is a {@link * FinalMatrixTransformationProcessorWrapper}. */ + // TODO(b/239757183): Squash GlMatrixTransformation and RgbMatrix together. private static ImmutableList getGlTextureProcessorsForGlEffects( Context context, List effects, @@ -168,15 +169,25 @@ private static ImmutableList getGlTextureProcessorsForGlEffe new ImmutableList.Builder<>(); ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder<>(); + ImmutableList.Builder rgbaMatrixTransformationListBuilder = + new ImmutableList.Builder<>(); boolean sampleFromExternalTexture = true; for (int i = 0; i < effects.size(); i++) { Effect effect = effects.get(i); checkArgument(effect instanceof GlEffect, "GlEffectsFrameProcessor only supports GlEffects"); GlEffect glEffect = (GlEffect) effect; + // The following logic may change the order of the RgbMatrix and GlMatrixTransformation + // effects. This does not influence the output since RgbMatrix only changes the individual + // pixels and does not take any location in account, which the GlMatrixTransformation + // may change. if (glEffect instanceof GlMatrixTransformation) { matrixTransformationListBuilder.add((GlMatrixTransformation) glEffect); continue; } + if (glEffect instanceof RgbMatrix) { + rgbaMatrixTransformationListBuilder.add((RgbMatrix) glEffect); + continue; + } ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty() || sampleFromExternalTexture) { @@ -190,9 +201,40 @@ private static ImmutableList getGlTextureProcessorsForGlEffe matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } + ImmutableList rgbaMatrixTransformations = + rgbaMatrixTransformationListBuilder.build(); + if (!rgbaMatrixTransformations.isEmpty()) { + textureProcessorListBuilder.add( + new RgbMatrixProcessor( + context, rgbaMatrixTransformations, ColorInfo.isTransferHdr(colorInfo))); + rgbaMatrixTransformationListBuilder = new ImmutableList.Builder<>(); + } textureProcessorListBuilder.add( glEffect.toGlTextureProcessor(context, ColorInfo.isTransferHdr(colorInfo))); } + + ImmutableList rgbaMatrixTransformations = + rgbaMatrixTransformationListBuilder.build(); + if (!rgbaMatrixTransformations.isEmpty()) { + // Add a MatrixTransformationProcessor if none yet exists for sampling from an external + // texture. + if (sampleFromExternalTexture) { + // TODO(b/239757183): Remove the unnecessary MatrixTransformationProcessor after it got + // merged with RgbMatrixProcessor. + textureProcessorListBuilder.add( + new MatrixTransformationProcessor( + context, + ImmutableList.of(), + sampleFromExternalTexture, + colorInfo, + /* outputOpticalColors= */ false)); + sampleFromExternalTexture = false; + } + textureProcessorListBuilder.add( + new RgbMatrixProcessor( + context, rgbaMatrixTransformations, ColorInfo.isTransferHdr(colorInfo))); + } + textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( context, diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java index 4075ea21fd2..1643cee5660 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java @@ -23,23 +23,53 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; +import com.google.common.collect.ImmutableList; import java.io.IOException; -/** Applies an {@link RgbMatrix} to each frame. */ +/** + * Applies a sequence of {@link RgbMatrix} to each frame. + * + *

      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 ^U(gZxsMf({<&f_M^^^E65ti>gkFt7pd#=6e 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 Date: Wed, 17 Aug 2022 10:15:21 +0000 Subject: [PATCH 181/422] Fix typo PiperOrigin-RevId: 468152718 (cherry picked from commit 9f6940eaa4d60ac48d1e7be92d81e81a8793ce75) --- .../main/java/androidx/media3/effect/RgbMatrixProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java index 1643cee5660..168dab91df9 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java @@ -30,7 +30,7 @@ * Applies a sequence of {@link RgbMatrix} to each frame. * *

      After applying all {@link RgbMatrix} instances, color values are clamped to the limits of the - * color space. Intermediate reults are not clamped. + * color space. Intermediate results are not clamped. */ /* package */ final class RgbMatrixProcessor extends SingleFrameGlTextureProcessor { private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; From 823df91ca097cdc1e20d3c28236aa059127ee971 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 17 Aug 2022 12:25:53 +0000 Subject: [PATCH 182/422] Defensively cancel frame processing tasks on error. FrameProcessingTaskExecutor should be released on error. There can be a delay until this happens, so FrameProcessingTaskExecutor will cancel any pending tasks and drop new tasks until it is released. PiperOrigin-RevId: 468171820 (cherry picked from commit 0c961a7abdc6ea7ef1b3f33dfd44d01459d2344a) --- .../effect/FrameProcessingTaskExecutor.java | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java index d5e08c7d954..8b345f626a2 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FrameProcessingTaskExecutor.java @@ -33,7 +33,8 @@ * *

      The wrapper handles calling {@link * FrameProcessor.Listener#onFrameProcessingError(FrameProcessingException)} for errors that occur - * during these tasks. + * during these tasks. Errors are assumed to be non-recoverable, so the {@code + * FrameProcessingTaskExecutor} should be released if an error occurs. * *

      {@linkplain #submitWithHighPriority(FrameProcessingTask) High priority tasks} are always * executed before {@linkplain #submit(FrameProcessingTask) default priority tasks}. Tasks with @@ -69,9 +70,7 @@ public void submit(FrameProcessingTask task) { try { futures.add(wrapTaskAndSubmitToExecutorService(task)); } catch (RejectedExecutionException e) { - if (!shouldCancelTasks.getAndSet(true)) { - listener.onFrameProcessingError(new FrameProcessingException(e)); - } + handleException(e); } } @@ -104,9 +103,7 @@ public void submitWithHighPriority(FrameProcessingTask task) { public void release(FrameProcessingTask releaseTask, long releaseWaitTimeMs) throws InterruptedException { shouldCancelTasks.getAndSet(true); - while (!futures.isEmpty()) { - futures.remove().cancel(/* mayInterruptIfRunning= */ false); - } + cancelNonStartedTasks(); Future releaseFuture = wrapTaskAndSubmitToExecutorService(releaseTask); singleThreadExecutorService.shutdown(); try { @@ -129,11 +126,27 @@ private Future wrapTaskAndSubmitToExecutorService(FrameProcessingTask default defaultPriorityTask.run(); removeFinishedFutures(); } catch (FrameProcessingException | GlUtil.GlException | RuntimeException e) { - listener.onFrameProcessingError(FrameProcessingException.from(e)); + handleException(e); } }); } + private void cancelNonStartedTasks() { + while (!futures.isEmpty()) { + futures.remove().cancel(/* mayInterruptIfRunning= */ false); + } + } + + private void handleException(Exception exception) { + if (shouldCancelTasks.getAndSet(true)) { + // Ignore exception after cancelation as it can be caused by a previously reported exception + // that is the reason for the cancelation. + return; + } + listener.onFrameProcessingError(FrameProcessingException.from(exception)); + cancelNonStartedTasks(); + } + private void removeFinishedFutures() { while (!futures.isEmpty()) { if (!futures.element().isDone()) { @@ -141,11 +154,12 @@ private void removeFinishedFutures() { } try { futures.remove().get(); - } catch (ExecutionException e) { - listener.onFrameProcessingError(new FrameProcessingException(e)); + } catch (ExecutionException impossible) { + // All exceptions are already caught in wrapTaskAndSubmitToExecutorService. + handleException(new IllegalStateException("Unexpected error", impossible)); } catch (InterruptedException e) { Thread.currentThread().interrupt(); - listener.onFrameProcessingError(new FrameProcessingException(e)); + handleException(e); } } } From e7aee55fcabe17e321c5cebd5ae88094ca8fd2c3 Mon Sep 17 00:00:00 2001 From: rohks Date: Wed, 17 Aug 2022 18:54:01 +0000 Subject: [PATCH 183/422] Fix missing commas in documentation of DefaultMediaNotificationProvider PiperOrigin-RevId: 468257769 (cherry picked from commit 6950f3aaa8bf229c0441b3d10cae75bef3ee30f5) --- .../session/DefaultMediaNotificationProvider.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index e6a90fde8b2..13941f45c7d 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -140,7 +140,7 @@ public Builder(Context context) { /** * Sets the {@link MediaNotification#notificationId} used for the created notifications. By - * default this is set to {@link #DEFAULT_NOTIFICATION_ID}. + * default, this is set to {@link #DEFAULT_NOTIFICATION_ID}. * * @param notificationId The notification ID. * @return This builder. @@ -153,7 +153,7 @@ public Builder setNotificationId(int notificationId) { /** * Sets the ID of the {@link NotificationChannel} on which created notifications are posted on. - * By default this is set to {@link #DEFAULT_CHANNEL_ID}. + * By default, this is set to {@link #DEFAULT_CHANNEL_ID}. * * @param channelId The channel ID. * @return This builder. @@ -166,7 +166,7 @@ public Builder setChannelId(String channelId) { /** * Sets the name of the {@link NotificationChannel} on which created notifications are posted - * on. By default this is set to {@link #DEFAULT_CHANNEL_NAME_RESOURCE_ID}. + * on. By default, this is set to {@link #DEFAULT_CHANNEL_NAME_RESOURCE_ID}. * * @param channelNameResourceId The string resource ID with the channel name. * @return This builder. @@ -360,7 +360,7 @@ public final void setSmallIcon(@DrawableRes int smallIconResourceId) { *

      Override this method to customize the buttons on the notification. Commands of the buttons * returned by this method must be contained in {@link MediaController#getAvailableCommands()}. * - *

      By default the notification shows {@link Player#COMMAND_PLAY_PAUSE} in {@linkplain + *

      By default, the notification shows {@link Player#COMMAND_PLAY_PAUSE} in {@linkplain * Notification.MediaStyle#setShowActionsInCompactView(int...) compact view}. This can be * customized by defining the index of the command in compact view of up to 3 commands in their * extras with key {@link DefaultMediaNotificationProvider#COMMAND_KEY_COMPACT_VIEW_INDEX}. @@ -446,7 +446,7 @@ protected List getMediaButtons( * and define which actions are shown in compact view by returning the indices of the buttons to * be shown in compact view. * - *

      By default {@link Player#COMMAND_PLAY_PAUSE} is shown in compact view, unless some of the + *

      By default, {@link Player#COMMAND_PLAY_PAUSE} is shown in compact view, unless some of the * buttons are marked with {@link DefaultMediaNotificationProvider#COMMAND_KEY_COMPACT_VIEW_INDEX} * to declare the index in compact view of the given command button in the button extras. * From 068a9d10995726bebff0693e52c92a0b216bb706 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 18 Aug 2022 11:31:03 +0000 Subject: [PATCH 184/422] HDR: Clamp YUV to RGB conversion. Manually tested using transformer demo HLG videos. Before this CL, RGB values after the YUV to RGB conversion reached up to 1.025. After this CL, RGB values correctly clamp at 1.0. PiperOrigin-RevId: 468426092 (cherry picked from commit 244d38cf0e5640b6c07abaeebcaffce2d3913345) --- .../assets/shaders/fragment_shader_copy_external_yuv_es3.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl index 88559ee80fe..4e6bfda4fb5 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl @@ -63,7 +63,7 @@ highp vec4 hlgOetf(highp vec4 hlgColor) { /** Convert YUV to RGBA. */ vec4 yuvToRgba(vec3 yuv) { const vec3 yuvOffset = vec3(0.0625, 0.5, 0.5); - vec3 rgb = uYuvToRgbColorTransform * (yuv - yuvOffset); + vec3 rgb = clamp(uYuvToRgbColorTransform * (yuv - yuvOffset), 0.0, 1.0); return vec4(rgb, 1.0); } From 166838ae707d43dfd0bb8d22699fc2061a8b1d22 Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 18 Aug 2022 16:10:48 +0000 Subject: [PATCH 185/422] Allow frame release to be controlled outside FrameProcessor. Adds a method to FrameProcessor.Listener to be called when an output frame is available and a method releaseOutputFrame in FrameProcessor allowing the caller to trigger release of the oldest available output frame at a given timestamp. Late frames or frames with unset release times are dropped in the FinalMatrixTransformationProcessorWrapper. More than one output frame can become available before they are released if the penultimate GlTextureProcessor is capable of producing multiple output frames. Processing continues while waiting for releaseOutputFrame to be called. Frame release tasks are prioritized over other tasks. PiperOrigin-RevId: 468473072 (cherry picked from commit a5d7fdcab52ea6c12fa35efc348b69eccb53f715) --- .../media3/common/FrameProcessor.java | 28 +- ...EffectsFrameProcessorFrameReleaseTest.java | 361 ++++++++++++++++++ .../GlEffectsFrameProcessorPixelTest.java | 8 +- ...lMatrixTransformationProcessorWrapper.java | 262 +++++++------ .../effect/GlEffectsFrameProcessor.java | 40 +- .../VideoTranscodingSamplePipeline.java | 8 +- 6 files changed, 590 insertions(+), 117 deletions(-) create mode 100644 libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index c52bbb922eb..9ce300eabd4 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -47,6 +47,10 @@ interface Factory { * @param effects The {@link Effect} instances to apply to each frame. * @param debugViewProvider A {@link DebugViewProvider}. * @param colorInfo The {@link ColorInfo} for input and output frames. + * @param releaseFramesAutomatically If {@code true}, the {@link FrameProcessor} will release + * output frames to the {@linkplain #setOutputSurfaceInfo(SurfaceInfo) output surface} + * automatically as they become available. If {@code false}, the {@link FrameProcessor} will + * wait to release each frame until {@link #releaseOutputFrame(long)} is called. * @return A new instance. * @throws FrameProcessingException If a problem occurs while creating the {@link * FrameProcessor}. @@ -56,7 +60,8 @@ FrameProcessor create( Listener listener, List effects, DebugViewProvider debugViewProvider, - ColorInfo colorInfo) + ColorInfo colorInfo, + boolean releaseFramesAutomatically) throws FrameProcessingException; } @@ -75,6 +80,13 @@ interface Listener { */ void onOutputSizeChanged(int width, int height); + /** + * Called when an output frame with the given {@code presentationTimeNs} becomes available. + * + * @param presentationTimeNs The presentation time of the frame, in nanoseconds. + */ + void onOutputFrameAvailable(long presentationTimeNs); + /** * Called when an exception occurs during asynchronous frame processing. * @@ -137,6 +149,20 @@ interface Listener { */ void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo); + /** + * Releases the oldest unreleased output frame that has become {@linkplain + * Listener#onOutputFrameAvailable(long) available} at the given {@code releaseTimeNs}. + * + *

      This method must only be called if {@code releaseFramesAutomatically} was set to {@code + * false} using the {@link Factory} and should be called exactly once for each frame that becomes + * {@linkplain Listener#onOutputFrameAvailable(long) available}. + * + * @param releaseTimeNs The release time to use for the frame, in nanoseconds. Use {@link + * C#TIME_UNSET} to drop the frame. If {@code releaseTimeNs} is after {@link + * System#nanoTime()} at the time of the release, the frame is also dropped. + */ + void releaseOutputFrame(long releaseTimeNs); + /** * Informs the {@code FrameProcessor} that no further input frames should be accepted. * diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java new file mode 100644 index 00000000000..8d4eab2f2a8 --- /dev/null +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java @@ -0,0 +1,361 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; +import static com.google.common.truth.Truth.assertThat; + +import android.graphics.PixelFormat; +import android.media.Image; +import android.media.ImageReader; +import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.FrameInfo; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.SurfaceInfo; +import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.Util; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableList; +import java.util.ArrayList; +import java.util.Queue; +import java.util.concurrent.ConcurrentLinkedQueue; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import org.checkerframework.checker.nullness.qual.EnsuresNonNull; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.junit.After; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Tests for frame release in {@link GlEffectsFrameProcessor}. */ +@RunWith(AndroidJUnit4.class) +public final class GlEffectsFrameProcessorFrameReleaseTest { + + private static final int WIDTH = 200; + private static final int HEIGHT = 100; + private static final long FRAME_PROCESSING_WAIT_MS = 5000L; + private static final long MILLIS_TO_NANOS = 1_000_000L; + private static final long MICROS_TO_NANOS = 1000L; + + private final AtomicReference frameProcessingException = + new AtomicReference<>(); + private final Queue outputReleaseTimesNs = new ConcurrentLinkedQueue<>(); + + private @MonotonicNonNull GlEffectsFrameProcessor glEffectsFrameProcessor; + private volatile @MonotonicNonNull Runnable produceBlankFramesTask; + + @After + public void release() { + if (glEffectsFrameProcessor != null) { + glEffectsFrameProcessor.release(); + } + } + + @Test + public void automaticFrameRelease_withOneFrame_reusesInputTimestamp() throws Exception { + long originalPresentationTimeUs = 1234; + AtomicLong actualPresentationTimeNs = new AtomicLong(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, + /* onFrameAvailableListener= */ actualPresentationTimeNs::set, + /* releaseFramesAutomatically= */ true); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimeNs.get()) + .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(outputReleaseTimesNs).containsExactly(MICROS_TO_NANOS * originalPresentationTimeUs); + } + + @Test + public void automaticFrameRelease_withThreeFrames_reusesInputTimestamps() throws Exception { + long[] originalPresentationTimesUs = new long[] {1234, 3456, 4567}; + ArrayList actualPresentationTimesNs = new ArrayList<>(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + originalPresentationTimesUs, + /* onFrameAvailableListener= */ actualPresentationTimesNs::add, + /* releaseFramesAutomatically= */ true); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimesNs) + .containsExactly( + MICROS_TO_NANOS * originalPresentationTimesUs[0], + MICROS_TO_NANOS * originalPresentationTimesUs[1], + MICROS_TO_NANOS * originalPresentationTimesUs[2]) + .inOrder(); + assertThat(outputReleaseTimesNs).containsExactlyElementsIn(actualPresentationTimesNs).inOrder(); + } + + @Test + public void controlledFrameRelease_withOneFrame_usesGivenTimestamp() throws Exception { + long originalPresentationTimeUs = 1234; + long releaseTimesNs = System.nanoTime() + MILLIS_TO_NANOS * FRAME_PROCESSING_WAIT_MS + 345678; + AtomicLong actualPresentationTimeNs = new AtomicLong(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, + /* onFrameAvailableListener= */ presentationTimeNs -> { + actualPresentationTimeNs.set(presentationTimeNs); + checkNotNull(glEffectsFrameProcessor).releaseOutputFrame(releaseTimesNs); + }, + /* releaseFramesAutomatically= */ false); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimeNs.get()) + .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(outputReleaseTimesNs).containsExactly(releaseTimesNs); + } + + @Test + public void controlledFrameRelease_withLateFrame_dropsFrame() throws Exception { + long originalPresentationTimeUs = 1234; + long releaseTimeBeforeCurrentTimeNs = System.nanoTime() - 345678; + AtomicLong actualPresentationTimeNs = new AtomicLong(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, + /* onFrameAvailableListener= */ presentationTimeNs -> { + actualPresentationTimeNs.set(presentationTimeNs); + checkNotNull(glEffectsFrameProcessor).releaseOutputFrame(releaseTimeBeforeCurrentTimeNs); + }, + /* releaseFramesAutomatically= */ false); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimeNs.get()) + .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(outputReleaseTimesNs).isEmpty(); + } + + @Test + public void controlledFrameRelease_withUnsetReleaseTime_dropsFrame() throws Exception { + long originalPresentationTimeUs = 1234; + AtomicLong actualPresentationTimeNs = new AtomicLong(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, + /* onFrameAvailableListener= */ presentationTimeNs -> { + actualPresentationTimeNs.set(presentationTimeNs); + checkNotNull(glEffectsFrameProcessor) + .releaseOutputFrame(/* releaseTimeNs= */ C.TIME_UNSET); + }, + /* releaseFramesAutomatically= */ false); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimeNs.get()) + .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(outputReleaseTimesNs).isEmpty(); + } + + @Test + public void controlledFrameRelease_withThreeIndividualFrames_usesGivenTimestamps() + throws Exception { + long[] originalPresentationTimesUs = new long[] {1234, 3456, 4567}; + long offsetNs = System.nanoTime() + MILLIS_TO_NANOS * FRAME_PROCESSING_WAIT_MS; + long[] releaseTimesNs = new long[] {offsetNs + 123456, offsetNs + 234567, offsetNs + 345678}; + ArrayList actualPresentationTimesNs = new ArrayList<>(); + AtomicInteger frameIndex = new AtomicInteger(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + /* inputPresentationTimesUs= */ originalPresentationTimesUs, + /* onFrameAvailableListener= */ presentationTimeNs -> { + actualPresentationTimesNs.add(presentationTimeNs); + checkNotNull(glEffectsFrameProcessor) + .releaseOutputFrame(releaseTimesNs[frameIndex.getAndIncrement()]); + }, + /* releaseFramesAutomatically= */ false); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimesNs) + .containsExactly( + MICROS_TO_NANOS * originalPresentationTimesUs[0], + MICROS_TO_NANOS * originalPresentationTimesUs[1], + MICROS_TO_NANOS * originalPresentationTimesUs[2]) + .inOrder(); + assertThat(frameIndex.get()).isEqualTo(originalPresentationTimesUs.length); + assertThat(outputReleaseTimesNs) + .containsExactly(releaseTimesNs[0], releaseTimesNs[1], releaseTimesNs[2]) + .inOrder(); + } + + @Test + public void controlledFrameRelease_withThreeFramesAtOnce_usesGivenTimestamps() throws Exception { + long[] originalPresentationTimesUs = new long[] {1234, 3456, 4567}; + long offsetNs = System.nanoTime() + MILLIS_TO_NANOS * 2 * FRAME_PROCESSING_WAIT_MS; + long[] releaseTimesNs = new long[] {offsetNs + 123456, offsetNs + 234567, offsetNs + 345678}; + ArrayList actualPresentationTimesNs = new ArrayList<>(); + setupGlEffectsFrameProcessorWithBlankFrameProducer( + /* inputPresentationTimesUs= */ originalPresentationTimesUs, + /* onFrameAvailableListener= */ actualPresentationTimesNs::add, + /* releaseFramesAutomatically= */ false); + + checkNotNull(produceBlankFramesTask).run(); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + glEffectsFrameProcessor.releaseOutputFrame(releaseTimesNs[0]); + glEffectsFrameProcessor.releaseOutputFrame(releaseTimesNs[1]); + glEffectsFrameProcessor.releaseOutputFrame(releaseTimesNs[2]); + Thread.sleep(FRAME_PROCESSING_WAIT_MS); + + assertThat(frameProcessingException.get()).isNull(); + assertThat(actualPresentationTimesNs) + .containsExactly( + MICROS_TO_NANOS * originalPresentationTimesUs[0], + MICROS_TO_NANOS * originalPresentationTimesUs[1], + MICROS_TO_NANOS * originalPresentationTimesUs[2]) + .inOrder(); + assertThat(outputReleaseTimesNs) + .containsExactly(releaseTimesNs[0], releaseTimesNs[1], releaseTimesNs[2]) + .inOrder(); + } + + private interface OnFrameAvailableListener { + void onFrameAvailable(long presentationTimeNs); + } + + @EnsuresNonNull("glEffectsFrameProcessor") + private void setupGlEffectsFrameProcessorWithBlankFrameProducer( + long[] inputPresentationTimesUs, + OnFrameAvailableListener onFrameAvailableListener, + boolean releaseFramesAutomatically) + throws Exception { + glEffectsFrameProcessor = + checkNotNull( + new GlEffectsFrameProcessor.Factory() + .create( + getApplicationContext(), + new FrameProcessor.Listener() { + @Override + public void onOutputSizeChanged(int width, int height) { + ImageReader outputImageReader = + ImageReader.newInstance( + width, + height, + PixelFormat.RGBA_8888, + /* maxImages= */ inputPresentationTimesUs.length); + checkNotNull(glEffectsFrameProcessor) + .setOutputSurfaceInfo( + new SurfaceInfo(outputImageReader.getSurface(), width, height)); + outputImageReader.setOnImageAvailableListener( + imageReader -> { + try (Image image = imageReader.acquireNextImage()) { + outputReleaseTimesNs.add(image.getTimestamp()); + } + }, + Util.createHandlerForCurrentOrMainLooper()); + } + + @Override + public void onOutputFrameAvailable(long presentationTimeNs) { + onFrameAvailableListener.onFrameAvailable(presentationTimeNs); + } + + @Override + public void onFrameProcessingError(FrameProcessingException exception) { + frameProcessingException.set(exception); + } + + @Override + public void onFrameProcessingEnded() {} + }, + ImmutableList.of( + (GlEffect) + (context, useHdr) -> + new BlankFrameProducer(inputPresentationTimesUs, useHdr)), + DebugViewProvider.NONE, + ColorInfo.SDR_BT709_LIMITED, + releaseFramesAutomatically)); + + glEffectsFrameProcessor.setInputFrameInfo( + new FrameInfo(WIDTH, HEIGHT, /* pixelWidthHeightRatio= */ 1, /* streamOffsetUs= */ 0)); + // A frame needs to be registered despite not queuing any external input to ensure that the + // frame processor knows about the stream offset. + glEffectsFrameProcessor.registerInputFrame(); + } + + /** Produces blank frames with the given timestamps. */ + private final class BlankFrameProducer implements GlTextureProcessor { + + private final TextureInfo blankTexture; + private final long[] presentationTimesUs; + + public BlankFrameProducer(long[] presentationTimesUs, boolean useHdr) + throws FrameProcessingException { + this.presentationTimesUs = presentationTimesUs; + try { + int texId = GlUtil.createTexture(WIDTH, HEIGHT, useHdr); + int fboId = GlUtil.createFboForTexture(texId); + blankTexture = new TextureInfo(texId, fboId, WIDTH, HEIGHT); + GlUtil.focusFramebufferUsingCurrentContext(fboId, WIDTH, HEIGHT); + GlUtil.clearOutputFrame(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + } + + @Override + public void setInputListener(InputListener inputListener) {} + + @Override + public void setOutputListener(OutputListener outputListener) { + produceBlankFramesTask = + () -> { + for (long presentationTimeUs : presentationTimesUs) { + outputListener.onOutputFrameAvailable(blankTexture, presentationTimeUs); + } + }; + } + + @Override + public void setErrorListener(ErrorListener errorListener) {} + + @Override + public void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { + // No input is queued in these tests. The BlankFrameProducer is used to produce frames. + throw new UnsupportedOperationException(); + } + + @Override + public void releaseOutputFrame(TextureInfo outputTexture) {} + + @Override + public void signalEndOfCurrentInputStream() { + // The tests don't end the input stream. + throw new UnsupportedOperationException(); + } + + @Override + public void release() { + // Do nothing as destroying the OpenGL context destroys the texture. + } + } +} diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 0945738b8e8..06d3139ef22 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -476,6 +476,11 @@ public void onOutputSizeChanged(int width, int height) { new SurfaceInfo(outputImageReader.getSurface(), width, height)); } + @Override + public void onOutputFrameAvailable(long presentationTimeNs) { + // Do nothing as frames are released automatically. + } + @Override public void onFrameProcessingError(FrameProcessingException exception) { frameProcessingException.set(exception); @@ -488,7 +493,8 @@ public void onFrameProcessingEnded() { }, effects, DebugViewProvider.NONE, - ColorInfo.SDR_BT709_LIMITED)); + ColorInfo.SDR_BT709_LIMITED, + /* releaseFramesAutomatically= */ true)); glEffectsFrameProcessor.setInputFrameInfo( new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio, /* streamOffsetUs= */ 0)); glEffectsFrameProcessor.registerInputFrame(); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index e0fd5319872..747e9f04bc3 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -16,6 +16,7 @@ package androidx.media3.effect; import static androidx.media3.common.util.Assertions.checkState; +import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.content.Context; import android.opengl.EGL14; @@ -71,8 +72,10 @@ private final FrameProcessor.Listener frameProcessorListener; private final boolean sampleFromExternalTexture; private final ColorInfo colorInfo; + private final boolean releaseFramesAutomatically; private final float[] textureTransformMatrix; private final Queue streamOffsetUsQueue; + private final Queue> availableFrames; private int inputWidth; private int inputHeight; @@ -100,7 +103,8 @@ public FinalMatrixTransformationProcessorWrapper( FrameProcessor.Listener frameProcessorListener, DebugViewProvider debugViewProvider, boolean sampleFromExternalTexture, - ColorInfo colorInfo) { + ColorInfo colorInfo, + boolean releaseFramesAutomatically) { this.context = context; this.matrixTransformations = matrixTransformations; this.eglDisplay = eglDisplay; @@ -109,11 +113,13 @@ public FinalMatrixTransformationProcessorWrapper( this.frameProcessorListener = frameProcessorListener; this.sampleFromExternalTexture = sampleFromExternalTexture; this.colorInfo = colorInfo; + this.releaseFramesAutomatically = releaseFramesAutomatically; textureTransformMatrix = new float[16]; Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); streamOffsetUsQueue = new ConcurrentLinkedQueue<>(); inputListener = new InputListener() {}; + availableFrames = new ConcurrentLinkedQueue<>(); } @Override @@ -136,54 +142,149 @@ public void setErrorListener(ErrorListener errorListener) { @Override public void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { - checkState(!streamOffsetUsQueue.isEmpty(), "No input stream specified."); + long streamOffsetUs = + checkStateNotNull(streamOffsetUsQueue.peek(), "No input stream specified."); + long presentationTimeNs = (presentationTimeUs + streamOffsetUs) * 1000; + frameProcessorListener.onOutputFrameAvailable(presentationTimeNs); + if (releaseFramesAutomatically) { + renderFrameToSurfaces( + inputTexture, + presentationTimeUs, + /* releaseTimeNs= */ presentationTimeNs, + /* dropLateFrame= */ false); + } else { + availableFrames.add(Pair.create(inputTexture, presentationTimeUs)); + } + inputListener.onReadyToAcceptInputFrame(); + } - try { - synchronized (this) { - if (!ensureConfigured(inputTexture.width, inputTexture.height)) { - inputListener.onInputFrameProcessed(inputTexture); - return; // Drop frames when there is no output surface. - } + @Override + public void releaseOutputFrame(TextureInfo outputTexture) { + // The final texture processor writes to a surface so there is no texture to release. + throw new UnsupportedOperationException(); + } - EGLSurface outputEglSurface = this.outputEglSurface; - SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; - MatrixTransformationProcessor matrixTransformationProcessor = - this.matrixTransformationProcessor; - - GlUtil.focusEglSurface( - eglDisplay, - eglContext, - outputEglSurface, - outputSurfaceInfo.width, - outputSurfaceInfo.height); - GlUtil.clearOutputFrame(); - matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); - EGLExt.eglPresentationTimeANDROID( - eglDisplay, - outputEglSurface, - /* presentationTimeNs= */ (presentationTimeUs + streamOffsetUsQueue.element()) * 1000); - EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); + @WorkerThread + public void releaseOutputFrame(long releaseTimeNs) { + checkState(!releaseFramesAutomatically); + + Pair oldestAvailableFrame = availableFrames.remove(); + renderFrameToSurfaces( + /* inputTexture= */ oldestAvailableFrame.first, + /* presentationTimeUs= */ oldestAvailableFrame.second, + releaseTimeNs, + /* dropLateFrame= */ true); + } + + @Override + public void signalEndOfCurrentInputStream() { + checkState(!streamOffsetUsQueue.isEmpty(), "No input stream to end."); + + streamOffsetUsQueue.remove(); + if (streamOffsetUsQueue.isEmpty()) { + frameProcessorListener.onFrameProcessingEnded(); + } + } + + @Override + @WorkerThread + public void release() throws FrameProcessingException { + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.release(); + } + } + + @Override + public void setTextureTransformMatrix(float[] textureTransformMatrix) { + System.arraycopy( + /* src= */ textureTransformMatrix, + /* srcPos= */ 0, + /* dest= */ this.textureTransformMatrix, + /* destPost= */ 0, + /* length= */ textureTransformMatrix.length); + + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); + } + } + + /** + * Signals that there will be another input stream after all previously appended input streams + * have {@linkplain #signalEndOfCurrentInputStream() ended}. + * + *

      This method does not need to be called on the GL thread, but the caller must ensure that + * stream offsets are appended in the correct order. + * + * @param streamOffsetUs The presentation timestamp offset, in microseconds. + */ + public void appendStream(long streamOffsetUs) { + streamOffsetUsQueue.add(streamOffsetUs); + } + + /** + * Sets the output {@link SurfaceInfo}. + * + * @see FrameProcessor#setOutputSurfaceInfo(SurfaceInfo) + */ + public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { + if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { + if (outputSurfaceInfo != null + && this.outputSurfaceInfo != null + && !this.outputSurfaceInfo.surface.equals(outputSurfaceInfo.surface)) { + this.outputEglSurface = null; } + outputSizeOrRotationChanged = + this.outputSurfaceInfo == null + || outputSurfaceInfo == null + || this.outputSurfaceInfo.width != outputSurfaceInfo.width + || this.outputSurfaceInfo.height != outputSurfaceInfo.height + || this.outputSurfaceInfo.orientationDegrees != outputSurfaceInfo.orientationDegrees; + this.outputSurfaceInfo = outputSurfaceInfo; + } + } + + private void renderFrameToSurfaces( + TextureInfo inputTexture, + long presentationTimeUs, + long releaseTimeNs, + boolean dropLateFrame) { + try { + maybeRenderFrameToOutputSurface( + inputTexture, presentationTimeUs, releaseTimeNs, dropLateFrame); } catch (FrameProcessingException | GlUtil.GlException e) { frameProcessorListener.onFrameProcessingError( FrameProcessingException.from(e, presentationTimeUs)); } + maybeRenderFrameToDebugSurface(inputTexture, presentationTimeUs); + inputListener.onInputFrameProcessed(inputTexture); + } - if (debugSurfaceViewWrapper != null && matrixTransformationProcessor != null) { - MatrixTransformationProcessor matrixTransformationProcessor = - this.matrixTransformationProcessor; - try { - debugSurfaceViewWrapper.maybeRenderToSurfaceView( - () -> { - GlUtil.clearOutputFrame(); - matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); - }); - } catch (FrameProcessingException | GlUtil.GlException e) { - Log.d(TAG, "Error rendering to debug preview", e); - } + private synchronized void maybeRenderFrameToOutputSurface( + TextureInfo inputTexture, long presentationTimeUs, long releaseTimeNs, boolean dropLateFrame) + throws FrameProcessingException, GlUtil.GlException { + if (!ensureConfigured(inputTexture.width, inputTexture.height)) { + return; // Drop frames when there is no output surface. } - inputListener.onInputFrameProcessed(inputTexture); - inputListener.onReadyToAcceptInputFrame(); + + EGLSurface outputEglSurface = this.outputEglSurface; + SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; + MatrixTransformationProcessor matrixTransformationProcessor = + this.matrixTransformationProcessor; + + GlUtil.focusEglSurface( + eglDisplay, + eglContext, + outputEglSurface, + outputSurfaceInfo.width, + outputSurfaceInfo.height); + GlUtil.clearOutputFrame(); + matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + + if (dropLateFrame && System.nanoTime() > releaseTimeNs) { + return; + } + EGLExt.eglPresentationTimeANDROID(eglDisplay, outputEglSurface, releaseTimeNs); + EGL14.eglSwapBuffers(eglDisplay, outputEglSurface); } @EnsuresNonNullIf( @@ -282,76 +383,21 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp return matrixTransformationProcessor; } - @Override - public void releaseOutputFrame(TextureInfo outputTexture) { - // The final texture processor writes to a surface so there is no texture to release. - throw new UnsupportedOperationException(); - } - - @Override - public void signalEndOfCurrentInputStream() { - checkState(!streamOffsetUsQueue.isEmpty(), "No input stream to end."); - - streamOffsetUsQueue.remove(); - if (streamOffsetUsQueue.isEmpty()) { - frameProcessorListener.onFrameProcessingEnded(); - } - } - - @Override - @WorkerThread - public void release() throws FrameProcessingException { - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); - } - } - - @Override - public void setTextureTransformMatrix(float[] textureTransformMatrix) { - System.arraycopy( - /* src= */ textureTransformMatrix, - /* srcPos= */ 0, - /* dest= */ this.textureTransformMatrix, - /* destPost= */ 0, - /* length= */ textureTransformMatrix.length); - - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); + private void maybeRenderFrameToDebugSurface(TextureInfo inputTexture, long presentationTimeUs) { + if (debugSurfaceViewWrapper == null || matrixTransformationProcessor == null) { + return; } - } - - /** - * Signals that there will be another input stream after all previously appended input streams - * have {@linkplain #signalEndOfCurrentInputStream() ended}. - * - *

      This method does not need to be called on the GL thread, but the caller must ensure that - * stream offsets are appended in the correct order. - * - * @param streamOffsetUs The presentation timestamp offset, in microseconds. - */ - public void appendStream(long streamOffsetUs) { - streamOffsetUsQueue.add(streamOffsetUs); - } - /** - * Sets the output {@link SurfaceInfo}. - * - * @see FrameProcessor#setOutputSurfaceInfo(SurfaceInfo) - */ - public synchronized void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { - if (!Util.areEqual(this.outputSurfaceInfo, outputSurfaceInfo)) { - if (outputSurfaceInfo != null - && this.outputSurfaceInfo != null - && !this.outputSurfaceInfo.surface.equals(outputSurfaceInfo.surface)) { - this.outputEglSurface = null; - } - outputSizeOrRotationChanged = - this.outputSurfaceInfo == null - || outputSurfaceInfo == null - || this.outputSurfaceInfo.width != outputSurfaceInfo.width - || this.outputSurfaceInfo.height != outputSurfaceInfo.height - || this.outputSurfaceInfo.orientationDegrees != outputSurfaceInfo.orientationDegrees; - this.outputSurfaceInfo = outputSurfaceInfo; + MatrixTransformationProcessor matrixTransformationProcessor = + this.matrixTransformationProcessor; + try { + debugSurfaceViewWrapper.maybeRenderToSurfaceView( + () -> { + GlUtil.clearOutputFrame(); + matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + }); + } catch (FrameProcessingException | GlUtil.GlException e) { + Log.d(TAG, "Error rendering to debug preview", e); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index f0656749cc2..324ff05c4ee 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -67,7 +67,8 @@ public GlEffectsFrameProcessor create( FrameProcessor.Listener listener, List effects, DebugViewProvider debugViewProvider, - ColorInfo colorInfo) + ColorInfo colorInfo, + boolean releaseFramesAutomatically) throws FrameProcessingException { ExecutorService singleThreadExecutorService = Util.newSingleThreadExecutor(THREAD_NAME); @@ -81,6 +82,7 @@ public GlEffectsFrameProcessor create( effects, debugViewProvider, colorInfo, + releaseFramesAutomatically, singleThreadExecutorService)); try { @@ -111,6 +113,7 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( List effects, DebugViewProvider debugViewProvider, ColorInfo colorInfo, + boolean releaseFramesAutomatically, ExecutorService singleThreadExecutorService) throws GlUtil.GlException, FrameProcessingException { checkState(Thread.currentThread().getName().equals(THREAD_NAME)); @@ -135,13 +138,24 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( ImmutableList textureProcessors = getGlTextureProcessorsForGlEffects( - context, effects, eglDisplay, eglContext, listener, debugViewProvider, colorInfo); + context, + effects, + eglDisplay, + eglContext, + listener, + debugViewProvider, + colorInfo, + releaseFramesAutomatically); FrameProcessingTaskExecutor frameProcessingTaskExecutor = new FrameProcessingTaskExecutor(singleThreadExecutorService, listener); chainTextureProcessorsWithListeners(textureProcessors, frameProcessingTaskExecutor, listener); return new GlEffectsFrameProcessor( - eglDisplay, eglContext, frameProcessingTaskExecutor, textureProcessors); + eglDisplay, + eglContext, + frameProcessingTaskExecutor, + textureProcessors, + releaseFramesAutomatically); } /** @@ -163,7 +177,8 @@ private static ImmutableList getGlTextureProcessorsForGlEffe EGLContext eglContext, FrameProcessor.Listener listener, DebugViewProvider debugViewProvider, - ColorInfo colorInfo) + ColorInfo colorInfo, + boolean releaseFramesAutomatically) throws FrameProcessingException { ImmutableList.Builder textureProcessorListBuilder = new ImmutableList.Builder<>(); @@ -244,7 +259,8 @@ private static ImmutableList getGlTextureProcessorsForGlEffe listener, debugViewProvider, sampleFromExternalTexture, - colorInfo)); + colorInfo, + releaseFramesAutomatically)); return textureProcessorListBuilder.build(); } @@ -278,6 +294,7 @@ private static void chainTextureProcessorsWithListeners( private final FrameProcessingTaskExecutor frameProcessingTaskExecutor; private final ExternalTextureManager inputExternalTextureManager; private final Surface inputSurface; + private final boolean releaseFramesAutomatically; private final FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper; private final ImmutableList allTextureProcessors; @@ -293,12 +310,14 @@ private GlEffectsFrameProcessor( EGLDisplay eglDisplay, EGLContext eglContext, FrameProcessingTaskExecutor frameProcessingTaskExecutor, - ImmutableList textureProcessors) + ImmutableList textureProcessors, + boolean releaseFramesAutomatically) throws FrameProcessingException { this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.frameProcessingTaskExecutor = frameProcessingTaskExecutor; + this.releaseFramesAutomatically = releaseFramesAutomatically; checkState(!textureProcessors.isEmpty()); checkState(textureProcessors.get(0) instanceof ExternalTextureProcessor); @@ -349,6 +368,15 @@ public void setOutputSurfaceInfo(@Nullable SurfaceInfo outputSurfaceInfo) { finalTextureProcessorWrapper.setOutputSurfaceInfo(outputSurfaceInfo); } + @Override + public void releaseOutputFrame(long releaseTimeNs) { + checkState( + !releaseFramesAutomatically, + "Calling this method is not allowed when releaseFramesAutomatically is enabled"); + frameProcessingTaskExecutor.submitWithHighPriority( + () -> finalTextureProcessorWrapper.releaseOutputFrame(releaseTimeNs)); + } + @Override public void signalEndOfInput() { checkState(!inputStreamEnded); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index cbc13d2d436..991784ffa74 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -125,6 +125,11 @@ public void onOutputSizeChanged(int width, int height) { } } + @Override + public void onOutputFrameAvailable(long presentationTimeNs) { + // Do nothing as frames are released automatically. + } + @Override public void onFrameProcessingError(FrameProcessingException exception) { asyncErrorListener.onTransformationException( @@ -147,7 +152,8 @@ public void onFrameProcessingEnded() { // This implies that the OpenGL EXT_YUV_target extension is supported and hence the // default FrameProcessor, GlEffectsFrameProcessor, also supports HDR. Otherwise, tone // mapping is applied, which ensures the decoder outputs SDR output for an HDR input. - encoderWrapper.getSupportedInputColor()); + encoderWrapper.getSupportedInputColor(), + /* releaseFramesAutomatically= */ true); } catch (FrameProcessingException e) { throw TransformationException.createForFrameProcessingException( e, TransformationException.ERROR_CODE_FRAME_PROCESSING_FAILED); From d7523d03bc456e282c35b9b3d83a6109f7945767 Mon Sep 17 00:00:00 2001 From: hmzh Date: Thu, 18 Aug 2022 20:44:21 +0000 Subject: [PATCH 186/422] Fix the command sample size given to trackOutput. Remove the manual overwriting of Note ON events that have 0 velocity with Note OFF. JSyn handles this already. - The implementation of "running status" means that the amount of bytes read from the file differ from the size of the sample that ends up in the decoder. The decoder sample contains the applied running status (status of previous event), which the file bytes don't contain. PiperOrigin-RevId: 468537659 (cherry picked from commit 30257c767be211b39d2576ddce89c7473092bf74) --- .../extractordumps/midi/Twinkle.mid.0.dump | 28 +++++++++---------- .../midi/Twinkle.mid.unknown_length.dump | 28 +++++++++---------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump index 0e660017e40..013f97a05ce 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.0.dump @@ -41,7 +41,7 @@ track 0: sample 7: time = 500000 flags = 1 - data = length 3, hash FFFE9B23 + data = length 3, hash FFFED733 sample 8: time = 500000 flags = 1 @@ -65,7 +65,7 @@ track 0: sample 13: time = 1000000 flags = 1 - data = length 3, hash FFFE9B23 + data = length 3, hash FFFED733 sample 14: time = 1000000 flags = 1 @@ -89,7 +89,7 @@ track 0: sample 19: time = 1500000 flags = 1 - data = length 3, hash FFFE9BFC + data = length 3, hash FFFED80C sample 20: time = 1500000 flags = 1 @@ -113,7 +113,7 @@ track 0: sample 25: time = 2000000 flags = 1 - data = length 3, hash FFFE9BFC + data = length 3, hash FFFED80C sample 26: time = 2000000 flags = 1 @@ -137,7 +137,7 @@ track 0: sample 31: time = 2500000 flags = 1 - data = length 3, hash FFFE9C3A + data = length 3, hash FFFED84A sample 32: time = 2500000 flags = 1 @@ -161,7 +161,7 @@ track 0: sample 37: time = 3000000 flags = 1 - data = length 3, hash FFFE9C3A + data = length 3, hash FFFED84A sample 38: time = 3000000 flags = 1 @@ -205,7 +205,7 @@ track 0: sample 48: time = 4000000 flags = 1 - data = length 3, hash FFFE9BFC + data = length 3, hash FFFED80C sample 49: time = 4000000 flags = 1 @@ -229,7 +229,7 @@ track 0: sample 54: time = 4500000 flags = 1 - data = length 3, hash FFFE9BBE + data = length 3, hash FFFED7CE sample 55: time = 4500000 flags = 1 @@ -253,7 +253,7 @@ track 0: sample 60: time = 5000000 flags = 1 - data = length 3, hash FFFE9BBE + data = length 3, hash FFFED7CE sample 61: time = 5000000 flags = 1 @@ -269,7 +269,7 @@ track 0: sample 64: time = 5250000 flags = 1 - data = length 3, hash FFFE9B9F + data = length 3, hash FFFED7AF sample 65: time = 5350000 flags = 1 @@ -293,7 +293,7 @@ track 0: sample 70: time = 5750000 flags = 1 - data = length 3, hash FFFE9B9F + data = length 3, hash FFFED7AF sample 71: time = 5850000 flags = 1 @@ -317,7 +317,7 @@ track 0: sample 76: time = 6250000 flags = 1 - data = length 3, hash FFFE9B61 + data = length 3, hash FFFED771 sample 77: time = 6350000 flags = 1 @@ -341,7 +341,7 @@ track 0: sample 82: time = 6750000 flags = 1 - data = length 3, hash FFFE9B61 + data = length 3, hash FFFED771 sample 83: time = 6850000 flags = 1 @@ -393,5 +393,5 @@ track 0: sample 95: time = 8000000 flags = 1 - data = length 3, hash FFFE9B23 + data = length 3, hash FFFED733 tracksEnded = true diff --git a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump index 0e660017e40..013f97a05ce 100644 --- a/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump +++ b/libraries/test_data/src/test/assets/extractordumps/midi/Twinkle.mid.unknown_length.dump @@ -41,7 +41,7 @@ track 0: sample 7: time = 500000 flags = 1 - data = length 3, hash FFFE9B23 + data = length 3, hash FFFED733 sample 8: time = 500000 flags = 1 @@ -65,7 +65,7 @@ track 0: sample 13: time = 1000000 flags = 1 - data = length 3, hash FFFE9B23 + data = length 3, hash FFFED733 sample 14: time = 1000000 flags = 1 @@ -89,7 +89,7 @@ track 0: sample 19: time = 1500000 flags = 1 - data = length 3, hash FFFE9BFC + data = length 3, hash FFFED80C sample 20: time = 1500000 flags = 1 @@ -113,7 +113,7 @@ track 0: sample 25: time = 2000000 flags = 1 - data = length 3, hash FFFE9BFC + data = length 3, hash FFFED80C sample 26: time = 2000000 flags = 1 @@ -137,7 +137,7 @@ track 0: sample 31: time = 2500000 flags = 1 - data = length 3, hash FFFE9C3A + data = length 3, hash FFFED84A sample 32: time = 2500000 flags = 1 @@ -161,7 +161,7 @@ track 0: sample 37: time = 3000000 flags = 1 - data = length 3, hash FFFE9C3A + data = length 3, hash FFFED84A sample 38: time = 3000000 flags = 1 @@ -205,7 +205,7 @@ track 0: sample 48: time = 4000000 flags = 1 - data = length 3, hash FFFE9BFC + data = length 3, hash FFFED80C sample 49: time = 4000000 flags = 1 @@ -229,7 +229,7 @@ track 0: sample 54: time = 4500000 flags = 1 - data = length 3, hash FFFE9BBE + data = length 3, hash FFFED7CE sample 55: time = 4500000 flags = 1 @@ -253,7 +253,7 @@ track 0: sample 60: time = 5000000 flags = 1 - data = length 3, hash FFFE9BBE + data = length 3, hash FFFED7CE sample 61: time = 5000000 flags = 1 @@ -269,7 +269,7 @@ track 0: sample 64: time = 5250000 flags = 1 - data = length 3, hash FFFE9B9F + data = length 3, hash FFFED7AF sample 65: time = 5350000 flags = 1 @@ -293,7 +293,7 @@ track 0: sample 70: time = 5750000 flags = 1 - data = length 3, hash FFFE9B9F + data = length 3, hash FFFED7AF sample 71: time = 5850000 flags = 1 @@ -317,7 +317,7 @@ track 0: sample 76: time = 6250000 flags = 1 - data = length 3, hash FFFE9B61 + data = length 3, hash FFFED771 sample 77: time = 6350000 flags = 1 @@ -341,7 +341,7 @@ track 0: sample 82: time = 6750000 flags = 1 - data = length 3, hash FFFE9B61 + data = length 3, hash FFFED771 sample 83: time = 6850000 flags = 1 @@ -393,5 +393,5 @@ track 0: sample 95: time = 8000000 flags = 1 - data = length 3, hash FFFE9B23 + data = length 3, hash FFFED733 tracksEnded = true From 373ac4c7bd96695a5e26024b6e07f2fa73d6888d Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 19 Aug 2022 09:47:28 +0000 Subject: [PATCH 187/422] Change onOutputFrameAvailable timestamp from nanos to micros. Upstream timestamps from the decoder are also in microseconds, so using microseconds here is consistent with that. PiperOrigin-RevId: 468659099 (cherry picked from commit 0b1c540ff96b4f4f4ff7cff16a2e51674a42a0c2) --- .../media3/common/FrameProcessor.java | 6 +- ...EffectsFrameProcessorFrameReleaseTest.java | 78 ++++++++++--------- .../GlEffectsFrameProcessorPixelTest.java | 2 +- ...lMatrixTransformationProcessorWrapper.java | 6 +- .../VideoTranscodingSamplePipeline.java | 2 +- 5 files changed, 48 insertions(+), 46 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index 9ce300eabd4..23776a216c4 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -81,11 +81,11 @@ interface Listener { void onOutputSizeChanged(int width, int height); /** - * Called when an output frame with the given {@code presentationTimeNs} becomes available. + * Called when an output frame with the given {@code presentationTimeUs} becomes available. * - * @param presentationTimeNs The presentation time of the frame, in nanoseconds. + * @param presentationTimeUs The presentation time of the frame, in microseconds. */ - void onOutputFrameAvailable(long presentationTimeNs); + void onOutputFrameAvailable(long presentationTimeUs); /** * Called when an exception occurs during asynchronous frame processing. diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java index 8d4eab2f2a8..c94f6c97eb5 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorFrameReleaseTest.java @@ -72,52 +72,57 @@ public void release() { @Test public void automaticFrameRelease_withOneFrame_reusesInputTimestamp() throws Exception { long originalPresentationTimeUs = 1234; - AtomicLong actualPresentationTimeNs = new AtomicLong(); + AtomicLong actualPresentationTimeUs = new AtomicLong(); setupGlEffectsFrameProcessorWithBlankFrameProducer( /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, - /* onFrameAvailableListener= */ actualPresentationTimeNs::set, + /* onFrameAvailableListener= */ actualPresentationTimeUs::set, /* releaseFramesAutomatically= */ true); checkNotNull(produceBlankFramesTask).run(); Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimeNs.get()) - .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(actualPresentationTimeUs.get()).isEqualTo(originalPresentationTimeUs); assertThat(outputReleaseTimesNs).containsExactly(MICROS_TO_NANOS * originalPresentationTimeUs); } @Test public void automaticFrameRelease_withThreeFrames_reusesInputTimestamps() throws Exception { long[] originalPresentationTimesUs = new long[] {1234, 3456, 4567}; - ArrayList actualPresentationTimesNs = new ArrayList<>(); + ArrayList actualPresentationTimesUs = new ArrayList<>(); setupGlEffectsFrameProcessorWithBlankFrameProducer( originalPresentationTimesUs, - /* onFrameAvailableListener= */ actualPresentationTimesNs::add, + /* onFrameAvailableListener= */ actualPresentationTimesUs::add, /* releaseFramesAutomatically= */ true); checkNotNull(produceBlankFramesTask).run(); Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimesNs) + assertThat(actualPresentationTimesUs) + .containsExactly( + originalPresentationTimesUs[0], + originalPresentationTimesUs[1], + originalPresentationTimesUs[2]) + .inOrder(); + assertThat(outputReleaseTimesNs) .containsExactly( MICROS_TO_NANOS * originalPresentationTimesUs[0], MICROS_TO_NANOS * originalPresentationTimesUs[1], MICROS_TO_NANOS * originalPresentationTimesUs[2]) .inOrder(); - assertThat(outputReleaseTimesNs).containsExactlyElementsIn(actualPresentationTimesNs).inOrder(); + ; } @Test public void controlledFrameRelease_withOneFrame_usesGivenTimestamp() throws Exception { long originalPresentationTimeUs = 1234; long releaseTimesNs = System.nanoTime() + MILLIS_TO_NANOS * FRAME_PROCESSING_WAIT_MS + 345678; - AtomicLong actualPresentationTimeNs = new AtomicLong(); + AtomicLong actualPresentationTimeUs = new AtomicLong(); setupGlEffectsFrameProcessorWithBlankFrameProducer( /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, - /* onFrameAvailableListener= */ presentationTimeNs -> { - actualPresentationTimeNs.set(presentationTimeNs); + /* onFrameAvailableListener= */ presentationTimeUs -> { + actualPresentationTimeUs.set(presentationTimeUs); checkNotNull(glEffectsFrameProcessor).releaseOutputFrame(releaseTimesNs); }, /* releaseFramesAutomatically= */ false); @@ -126,8 +131,7 @@ public void controlledFrameRelease_withOneFrame_usesGivenTimestamp() throws Exce Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimeNs.get()) - .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(actualPresentationTimeUs.get()).isEqualTo(originalPresentationTimeUs); assertThat(outputReleaseTimesNs).containsExactly(releaseTimesNs); } @@ -135,11 +139,11 @@ public void controlledFrameRelease_withOneFrame_usesGivenTimestamp() throws Exce public void controlledFrameRelease_withLateFrame_dropsFrame() throws Exception { long originalPresentationTimeUs = 1234; long releaseTimeBeforeCurrentTimeNs = System.nanoTime() - 345678; - AtomicLong actualPresentationTimeNs = new AtomicLong(); + AtomicLong actualPresentationTimeUs = new AtomicLong(); setupGlEffectsFrameProcessorWithBlankFrameProducer( /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, - /* onFrameAvailableListener= */ presentationTimeNs -> { - actualPresentationTimeNs.set(presentationTimeNs); + /* onFrameAvailableListener= */ presentationTimeUs -> { + actualPresentationTimeUs.set(presentationTimeUs); checkNotNull(glEffectsFrameProcessor).releaseOutputFrame(releaseTimeBeforeCurrentTimeNs); }, /* releaseFramesAutomatically= */ false); @@ -148,19 +152,18 @@ public void controlledFrameRelease_withLateFrame_dropsFrame() throws Exception { Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimeNs.get()) - .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(actualPresentationTimeUs.get()).isEqualTo(originalPresentationTimeUs); assertThat(outputReleaseTimesNs).isEmpty(); } @Test public void controlledFrameRelease_withUnsetReleaseTime_dropsFrame() throws Exception { long originalPresentationTimeUs = 1234; - AtomicLong actualPresentationTimeNs = new AtomicLong(); + AtomicLong actualPresentationTimeUs = new AtomicLong(); setupGlEffectsFrameProcessorWithBlankFrameProducer( /* inputPresentationTimesUs= */ new long[] {originalPresentationTimeUs}, /* onFrameAvailableListener= */ presentationTimeNs -> { - actualPresentationTimeNs.set(presentationTimeNs); + actualPresentationTimeUs.set(presentationTimeNs); checkNotNull(glEffectsFrameProcessor) .releaseOutputFrame(/* releaseTimeNs= */ C.TIME_UNSET); }, @@ -170,8 +173,7 @@ public void controlledFrameRelease_withUnsetReleaseTime_dropsFrame() throws Exce Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimeNs.get()) - .isEqualTo(MICROS_TO_NANOS * originalPresentationTimeUs); + assertThat(actualPresentationTimeUs.get()).isEqualTo(originalPresentationTimeUs); assertThat(outputReleaseTimesNs).isEmpty(); } @@ -181,12 +183,12 @@ public void controlledFrameRelease_withThreeIndividualFrames_usesGivenTimestamps long[] originalPresentationTimesUs = new long[] {1234, 3456, 4567}; long offsetNs = System.nanoTime() + MILLIS_TO_NANOS * FRAME_PROCESSING_WAIT_MS; long[] releaseTimesNs = new long[] {offsetNs + 123456, offsetNs + 234567, offsetNs + 345678}; - ArrayList actualPresentationTimesNs = new ArrayList<>(); + ArrayList actualPresentationTimesUs = new ArrayList<>(); AtomicInteger frameIndex = new AtomicInteger(); setupGlEffectsFrameProcessorWithBlankFrameProducer( /* inputPresentationTimesUs= */ originalPresentationTimesUs, - /* onFrameAvailableListener= */ presentationTimeNs -> { - actualPresentationTimesNs.add(presentationTimeNs); + /* onFrameAvailableListener= */ presentationTimeUs -> { + actualPresentationTimesUs.add(presentationTimeUs); checkNotNull(glEffectsFrameProcessor) .releaseOutputFrame(releaseTimesNs[frameIndex.getAndIncrement()]); }, @@ -196,11 +198,11 @@ public void controlledFrameRelease_withThreeIndividualFrames_usesGivenTimestamps Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimesNs) + assertThat(actualPresentationTimesUs) .containsExactly( - MICROS_TO_NANOS * originalPresentationTimesUs[0], - MICROS_TO_NANOS * originalPresentationTimesUs[1], - MICROS_TO_NANOS * originalPresentationTimesUs[2]) + originalPresentationTimesUs[0], + originalPresentationTimesUs[1], + originalPresentationTimesUs[2]) .inOrder(); assertThat(frameIndex.get()).isEqualTo(originalPresentationTimesUs.length); assertThat(outputReleaseTimesNs) @@ -213,10 +215,10 @@ public void controlledFrameRelease_withThreeFramesAtOnce_usesGivenTimestamps() t long[] originalPresentationTimesUs = new long[] {1234, 3456, 4567}; long offsetNs = System.nanoTime() + MILLIS_TO_NANOS * 2 * FRAME_PROCESSING_WAIT_MS; long[] releaseTimesNs = new long[] {offsetNs + 123456, offsetNs + 234567, offsetNs + 345678}; - ArrayList actualPresentationTimesNs = new ArrayList<>(); + ArrayList actualPresentationTimesUs = new ArrayList<>(); setupGlEffectsFrameProcessorWithBlankFrameProducer( /* inputPresentationTimesUs= */ originalPresentationTimesUs, - /* onFrameAvailableListener= */ actualPresentationTimesNs::add, + /* onFrameAvailableListener= */ actualPresentationTimesUs::add, /* releaseFramesAutomatically= */ false); checkNotNull(produceBlankFramesTask).run(); @@ -227,11 +229,11 @@ public void controlledFrameRelease_withThreeFramesAtOnce_usesGivenTimestamps() t Thread.sleep(FRAME_PROCESSING_WAIT_MS); assertThat(frameProcessingException.get()).isNull(); - assertThat(actualPresentationTimesNs) + assertThat(actualPresentationTimesUs) .containsExactly( - MICROS_TO_NANOS * originalPresentationTimesUs[0], - MICROS_TO_NANOS * originalPresentationTimesUs[1], - MICROS_TO_NANOS * originalPresentationTimesUs[2]) + originalPresentationTimesUs[0], + originalPresentationTimesUs[1], + originalPresentationTimesUs[2]) .inOrder(); assertThat(outputReleaseTimesNs) .containsExactly(releaseTimesNs[0], releaseTimesNs[1], releaseTimesNs[2]) @@ -239,7 +241,7 @@ public void controlledFrameRelease_withThreeFramesAtOnce_usesGivenTimestamps() t } private interface OnFrameAvailableListener { - void onFrameAvailable(long presentationTimeNs); + void onFrameAvailable(long presentationTimeUs); } @EnsuresNonNull("glEffectsFrameProcessor") @@ -275,8 +277,8 @@ public void onOutputSizeChanged(int width, int height) { } @Override - public void onOutputFrameAvailable(long presentationTimeNs) { - onFrameAvailableListener.onFrameAvailable(presentationTimeNs); + public void onOutputFrameAvailable(long presentationTimeUs) { + onFrameAvailableListener.onFrameAvailable(presentationTimeUs); } @Override diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 06d3139ef22..92de9b1828e 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -477,7 +477,7 @@ public void onOutputSizeChanged(int width, int height) { } @Override - public void onOutputFrameAvailable(long presentationTimeNs) { + public void onOutputFrameAvailable(long presentationTimeUs) { // Do nothing as frames are released automatically. } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index 747e9f04bc3..eff8b8d18b0 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -144,13 +144,13 @@ public void setErrorListener(ErrorListener errorListener) { public void queueInputFrame(TextureInfo inputTexture, long presentationTimeUs) { long streamOffsetUs = checkStateNotNull(streamOffsetUsQueue.peek(), "No input stream specified."); - long presentationTimeNs = (presentationTimeUs + streamOffsetUs) * 1000; - frameProcessorListener.onOutputFrameAvailable(presentationTimeNs); + long offsetPresentationTimeUs = presentationTimeUs + streamOffsetUs; + frameProcessorListener.onOutputFrameAvailable(offsetPresentationTimeUs); if (releaseFramesAutomatically) { renderFrameToSurfaces( inputTexture, presentationTimeUs, - /* releaseTimeNs= */ presentationTimeNs, + /* releaseTimeNs= */ offsetPresentationTimeUs * 1000, /* dropLateFrame= */ false); } else { availableFrames.add(Pair.create(inputTexture, presentationTimeUs)); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 991784ffa74..09d6306883f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -126,7 +126,7 @@ public void onOutputSizeChanged(int width, int height) { } @Override - public void onOutputFrameAvailable(long presentationTimeNs) { + public void onOutputFrameAvailable(long presentationTimeUs) { // Do nothing as frames are released automatically. } From 24d35a4bef7725629dc246e11d052d317eb69fd9 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 19 Aug 2022 10:45:11 +0000 Subject: [PATCH 188/422] Add device info to CastPlayer Issue: androidx/media#142 PiperOrigin-RevId: 468666737 (cherry picked from commit d204f6bf7e94bbfb8eaa0b312b4b95f74010841e) --- RELEASENOTES.md | 4 ++++ .../src/main/java/androidx/media3/cast/CastPlayer.java | 8 ++++++-- .../test/java/androidx/media3/cast/CastPlayerTest.java | 9 +++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4db2d671a7c..2438bdafa4d 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -63,6 +63,10 @@ * Update CMake version to avoid incompatibilities with the latest Android Studio releases ([#9933](https://github.com/google/ExoPlayer/issues/9933)). +* Cast extension: + * Implement `getDeviceInfo()` to be able to identify `CastPlayer` when + controlling playback with a `MediaController` + ([#142](https://github.com/google/ExoPlayer/issues/142)). ### 1.0.0-beta02 (2022-07-15) diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index bd27d3479e8..72682c70737 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -82,6 +82,10 @@ @UnstableApi public final class CastPlayer extends BasePlayer { + /** The {@link DeviceInfo} returned by {@link #getDeviceInfo() this player}. */ + public static final DeviceInfo DEVICE_INFO = + new DeviceInfo(DeviceInfo.PLAYBACK_TYPE_REMOTE, /* minVolume= */ 0, /* maxVolume= */ 0); + static { MediaLibraryInfo.registerModule("media3.cast"); } @@ -729,10 +733,10 @@ public CueGroup getCurrentCues() { return CueGroup.EMPTY_TIME_ZERO; } - /** This method is not supported and always returns {@link DeviceInfo#UNKNOWN}. */ + /** This method always returns {@link CastPlayer#DEVICE_INFO}. */ @Override public DeviceInfo getDeviceInfo() { - return DeviceInfo.UNKNOWN; + return DEVICE_INFO; } /** This method is not supported and always returns {@code 0}. */ diff --git a/libraries/cast/src/test/java/androidx/media3/cast/CastPlayerTest.java b/libraries/cast/src/test/java/androidx/media3/cast/CastPlayerTest.java index 0462878afa5..5837d8492d9 100644 --- a/libraries/cast/src/test/java/androidx/media3/cast/CastPlayerTest.java +++ b/libraries/cast/src/test/java/androidx/media3/cast/CastPlayerTest.java @@ -62,6 +62,7 @@ import android.net.Uri; import androidx.media3.common.C; +import androidx.media3.common.DeviceInfo; import androidx.media3.common.MediaItem; import androidx.media3.common.MediaMetadata; import androidx.media3.common.MimeTypes; @@ -1864,6 +1865,14 @@ public void setMediaItems_equalMetadata_doesNotNotifyOnMediaMetadataChanged() { verify(mockListener, never()).onMediaMetadataChanged(any()); } + @Test + public void getDeviceInfo_returnsCorrectDeviceInfoWithPlaybackTypeRemote() { + DeviceInfo deviceInfo = castPlayer.getDeviceInfo(); + + assertThat(deviceInfo).isEqualTo(CastPlayer.DEVICE_INFO); + assertThat(deviceInfo.playbackType).isEqualTo(DeviceInfo.PLAYBACK_TYPE_REMOTE); + } + private int[] createMediaQueueItemIds(int numberOfIds) { int[] mediaQueueItemIds = new int[numberOfIds]; for (int i = 0; i < numberOfIds; i++) { From 8ca462b8f169884b6e3ef216785d89a3243576e3 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 19 Aug 2022 11:09:43 +0000 Subject: [PATCH 189/422] Fix issue link in release notes PiperOrigin-RevId: 468670096 (cherry picked from commit c0cfb0b1b2945ee536b927653535b5605e79f710) --- RELEASENOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 2438bdafa4d..779ba7e21d7 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -66,7 +66,7 @@ * Cast extension: * Implement `getDeviceInfo()` to be able to identify `CastPlayer` when controlling playback with a `MediaController` - ([#142](https://github.com/google/ExoPlayer/issues/142)). + ([#142](https://github.com/androidx/media/issues/142)). ### 1.0.0-beta02 (2022-07-15) From a265a9bb0faa802b343a5b6964af7fbd97d3ea7a Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 19 Aug 2022 11:30:19 +0000 Subject: [PATCH 190/422] Reassign TODO to new bug. PiperOrigin-RevId: 468672505 (cherry picked from commit ee04bb882509bb072d403d3ff487fd1a02b776d3) --- .../src/main/java/androidx/media3/common/FrameProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index 23776a216c4..3ddb2782ab4 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -35,7 +35,7 @@ */ @UnstableApi public interface FrameProcessor { - // TODO(b/238302213): Allow effects to be replaced. + // TODO(b/243036513): Allow effects to be replaced. /** A factory for {@link FrameProcessor} instances. */ interface Factory { From 11a26a88e519a661d6afd0e8e405200db17ce3a6 Mon Sep 17 00:00:00 2001 From: claincly Date: Mon, 22 Aug 2022 10:39:48 +0000 Subject: [PATCH 191/422] Handle initial RTSP seek PiperOrigin-RevId: 469143613 (cherry picked from commit a62cf312b7fb1d134cf33944e7afa9130af378d4) --- .../media3/exoplayer/rtsp/RtpExtractor.java | 5 +++++ .../media3/exoplayer/rtsp/RtspMediaPeriod.java | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpExtractor.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpExtractor.java index e709bfe4bf3..9f76b022d8b 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpExtractor.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpExtractor.java @@ -187,6 +187,11 @@ public int read(ExtractorInput input, PositionHolder seekPosition) throws IOExce @Override public void seek(long nextRtpTimestamp, long playbackStartTimeUs) { synchronized (lock) { + if (!isSeekPending) { + // Sets the isSeekPending flag, in the case preSeek() is not called, when seeking does not + // require RTSP message exchange. For example, playing back with non-zero start position. + isSeekPending = true; + } this.nextRtpTimestamp = nextRtpTimestamp; this.playbackStartTimeUs = playbackStartTimeUs; } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java index 2d231377006..9dd40cba7c5 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java @@ -229,6 +229,12 @@ public long selectTracks( } trackSelected = true; + if (positionUs != 0) { + // Track selection is performed only once in RTSP streams. + requestedSeekPositionUs = positionUs; + pendingSeekPositionUs = positionUs; + pendingSeekPositionUsForTcpRetry = positionUs; + } maybeSetupTracks(); return positionUs; } @@ -273,7 +279,6 @@ public long seekToUs(long positionUs) { // 2b.2. If RTSP PLAY (for the first seek) has not been sent, the new seek position will be // used in the following PLAY request. - // TODO(internal: b/198620566) Handle initial seek. // TODO(internal: b/213153670) Handle dropped seek position. if (getBufferedPositionUs() == 0 && !isUsingRtpTcp) { // Stores the seek position for later, if no RTP packet is received when using UDP. @@ -571,7 +576,13 @@ public void onUpstreamFormatChanged(Format format) { @Override public void onRtspSetupCompleted() { - rtspClient.startPlayback(/* offsetMs= */ 0); + long offsetMs = 0; + if (pendingSeekPositionUs != C.TIME_UNSET) { + offsetMs = Util.usToMs(pendingSeekPositionUs); + } else if (pendingSeekPositionUsForTcpRetry != C.TIME_UNSET) { + offsetMs = Util.usToMs(pendingSeekPositionUsForTcpRetry); + } + rtspClient.startPlayback(offsetMs); } @Override @@ -610,6 +621,7 @@ public void onPlaybackStarted( if (isSeekPending() && pendingSeekPositionUs == requestedSeekPositionUs) { // Seek loadable only when all pending seeks are processed, or SampleQueues will report // inconsistent bufferedPosition. + // Seeks to the start position when the initial seek position is set. dataLoadable.seekToUs(startPositionUs, trackTiming.rtpTimestamp); } } @@ -624,7 +636,7 @@ public void onPlaybackStarted( pendingSeekPositionUs = C.TIME_UNSET; seekToUs(requestedSeekPositionUs); } - } else if (pendingSeekPositionUsForTcpRetry != C.TIME_UNSET) { + } else if (pendingSeekPositionUsForTcpRetry != C.TIME_UNSET && isUsingRtpTcp) { seekToUs(pendingSeekPositionUsForTcpRetry); pendingSeekPositionUsForTcpRetry = C.TIME_UNSET; } From f73018a26936766351039ff3f48297dc82087718 Mon Sep 17 00:00:00 2001 From: Marc Baechinger Date: Fri, 30 Sep 2022 16:56:19 +0000 Subject: [PATCH 192/422] Merge pull request #157 from vanniktech:onAddMediaItems-example PiperOrigin-RevId: 469410221 (cherry picked from commit ca41026c5b4d03815e83c85987efceee5fe2e144) --- .../src/main/java/androidx/media3/session/MediaSession.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index 69fb1c83b7e..11ce5e5be1b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -995,6 +995,11 @@ default ListenableFuture onCustomCommand( * playlist via one of the {@code Player.addMediaItem(s)} or {@code Player.setMediaItem(s)} * methods. * + *

      This callback is also called when an app is using a legacy {@link + * MediaControllerCompat.TransportControls} to prepare or play media (for instance when browsing + * the catalogue and then selecting an item for preparation from Android Auto that is using the + * legacy Media1 library). + * *

      Note that the requested {@linkplain MediaItem media items} don't have a {@link * MediaItem.LocalConfiguration} (for example, a URI) and need to be updated to make them * playable by the underlying {@link Player}. Typically, this implementation should be able to From e3103a3c4be7f7a912a544540e3a2e5ce6fe0e7c Mon Sep 17 00:00:00 2001 From: rohks Date: Tue, 23 Aug 2022 10:24:29 +0000 Subject: [PATCH 193/422] Replace usage of `android_binary` with `build_test` for libraries `android_binary` is only required when building an application. PiperOrigin-RevId: 469413752 (cherry picked from commit 280705734df19305c57c45e7732d9634bbfea7ec) --- .../src/main/AndroidManifest.xml | 19 --------------- .../decoder_flac/src/main/AndroidManifest.xml | 19 --------------- .../decoder_opus/src/main/AndroidManifest.xml | 19 --------------- .../decoder_vp9/src/main/AndroidManifest.xml | 23 ------------------- 4 files changed, 80 deletions(-) delete mode 100644 libraries/decoder_ffmpeg/src/main/AndroidManifest.xml delete mode 100644 libraries/decoder_flac/src/main/AndroidManifest.xml delete mode 100644 libraries/decoder_opus/src/main/AndroidManifest.xml delete mode 100644 libraries/decoder_vp9/src/main/AndroidManifest.xml diff --git a/libraries/decoder_ffmpeg/src/main/AndroidManifest.xml b/libraries/decoder_ffmpeg/src/main/AndroidManifest.xml deleted file mode 100644 index e01ac884c64..00000000000 --- a/libraries/decoder_ffmpeg/src/main/AndroidManifest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - diff --git a/libraries/decoder_flac/src/main/AndroidManifest.xml b/libraries/decoder_flac/src/main/AndroidManifest.xml deleted file mode 100644 index 5caa949e2de..00000000000 --- a/libraries/decoder_flac/src/main/AndroidManifest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - diff --git a/libraries/decoder_opus/src/main/AndroidManifest.xml b/libraries/decoder_opus/src/main/AndroidManifest.xml deleted file mode 100644 index 7d9298e35ce..00000000000 --- a/libraries/decoder_opus/src/main/AndroidManifest.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - diff --git a/libraries/decoder_vp9/src/main/AndroidManifest.xml b/libraries/decoder_vp9/src/main/AndroidManifest.xml deleted file mode 100644 index c2cfe47051f..00000000000 --- a/libraries/decoder_vp9/src/main/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - From 5ace28044df9b700dfed21b2642b9de2210a4151 Mon Sep 17 00:00:00 2001 From: leonwind Date: Tue, 23 Aug 2022 13:16:17 +0000 Subject: [PATCH 194/422] Bind contrastFactor in constructor instead of drawFrame method. PiperOrigin-RevId: 469438747 (cherry picked from commit 7e5dcf2360190e05d000d0fe4a18f2bca252fabe) --- .../main/java/androidx/media3/effect/ContrastProcessor.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java index 17f8b067b9a..021d6b694b7 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java @@ -31,13 +31,12 @@ private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_contrast_es2.glsl"; private final GlProgram glProgram; - private final float contrastFactor; public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHdr) throws FrameProcessingException { super(useHdr); // Use 1.0001f to avoid division by zero issues. - contrastFactor = (1 + contrastEffect.contrast) / (1.0001f - contrastEffect.contrast); + float contrastFactor = (1 + contrastEffect.contrast) / (1.0001f - contrastEffect.contrast); try { glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); @@ -55,6 +54,7 @@ public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHd Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); + glProgram.setFloatUniform("uContrastFactor", contrastFactor); } @Override @@ -67,7 +67,6 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce try { glProgram.use(); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); - glProgram.setFloatUniform("uContrastFactor", contrastFactor); glProgram.bindAttributesAndUniforms(); // The four-vertex triangle strip forms a quad. From ff59764978f3f0c2e2e4bfa8fbbdab9e313eacbe Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 23 Aug 2022 13:41:49 +0000 Subject: [PATCH 195/422] Fix outdated RtpDataLoadable javadoc PiperOrigin-RevId: 469443086 (cherry picked from commit b9bcf5224f2fbdfb26db8bea9681fa8e10acdab5) --- .../exoplayer/rtsp/RtpDataLoadable.java | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java index b094cab76f2..c5e227ac1a5 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpDataLoadable.java @@ -34,14 +34,20 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** - * A {@link Loader.Loadable} that sets up a sockets listening to incoming RTP traffic, carried by - * UDP packets. + * A {@link Loader.Loadable} that uses two {@link RtpDataChannel} instances to listen on incoming + * RTP and RTCP packets. * - *

      Uses a {@link RtpDataChannel} to listen on incoming packets. The local UDP port is selected by - * the runtime on opening; it also opens another {@link RtpDataChannel} for RTCP on the RTP UDP port - * number plus one one. Pass a listener via constructor to receive a callback when the local port is - * opened. {@link #load} will throw an {@link IOException} if either of the two data channels fails - * to open. + *

      + * + *

      Pass a listener via the constructor to receive a callback when the RTSP transport is ready. + * {@link #load} will throw an {@link IOException} if either of the two data channels fails to open. * *

      Received RTP packets' payloads will be extracted by an {@link RtpExtractor}, and will be * written to the {@link ExtractorOutput} instance provided at construction. From 7e7f07f8abc1db95451bc76605a5c22e46c13c28 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 24 Aug 2022 15:44:22 +0000 Subject: [PATCH 196/422] HDR: Add PQ support. Use the PQ OETF and EOTF to ensure that intermediate fragment shader operations using PQ are in linear BT.2020 rather than PQ and HLG-1 BT.2020. Also, swap the OETF and EOTF in shaders, as they were used incorrectly before Manually tested by verifying transformer demo HLG and PQ videos look the same with and without this CL, including with a BitmapOverlayProcessor enabled to test flows both with one MatrixTransformationProcessor that skips HDR TFs, and with one that doesn't. PiperOrigin-RevId: 469736067 (cherry picked from commit 2ad07e88ee39ed5f662df91dc7034bd0ce478abe) --- .../media3/common/util/GlProgram.java | 47 +++++--- ...fragment_shader_copy_external_yuv_es3.glsl | 91 +++++++++++----- .../shaders/fragment_shader_hlg_eotf_es3.glsl | 55 ---------- .../shaders/fragment_shader_oetf_es3.glsl | 87 +++++++++++++++ ...lMatrixTransformationProcessorWrapper.java | 2 +- .../java/androidx/media3/effect/GlEffect.java | 4 - .../effect/GlEffectsFrameProcessor.java | 4 +- .../effect/MatrixTransformationProcessor.java | 103 ++++++++++-------- 8 files changed, 236 insertions(+), 157 deletions(-) delete mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl create mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java b/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java index 63976b776d1..a167c185415 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java @@ -183,12 +183,17 @@ public void setSamplerTexIdUniform(String name, int texId, int texUnitIndex) { checkNotNull(uniformByName.get(name)).setSamplerTexId(texId, texUnitIndex); } - /** Sets a float type uniform. */ + /** Sets an {@code int} type uniform. */ + public void setIntUniform(String name, int value) { + checkNotNull(uniformByName.get(name)).setInt(value); + } + + /** Sets a {@code float} type uniform. */ public void setFloatUniform(String name, float value) { checkNotNull(uniformByName.get(name)).setFloat(value); } - /** Sets a float array type uniform. */ + /** Sets a {@code float[]} type uniform. */ public void setFloatsUniform(String name, float[] value) { checkNotNull(uniformByName.get(name)).setFloats(value); } @@ -322,16 +327,17 @@ public static Uniform create(int programId, int index) { private final int location; private final int type; - private final float[] value; + private final float[] floatValue; - private int texId; + private int intValue; + private int texIdValue; private int texUnitIndex; private Uniform(String name, int location, int type) { this.name = name; this.location = location; this.type = type; - this.value = new float[16]; + this.floatValue = new float[16]; } /** @@ -341,18 +347,22 @@ private Uniform(String name, int location, int type) { * @param texUnitIndex The GL texture unit index. */ public void setSamplerTexId(int texId, int texUnitIndex) { - this.texId = texId; + this.texIdValue = texId; this.texUnitIndex = texUnitIndex; } + /** Configures {@link #bind()} to use the specified {@code int} {@code value}. */ + public void setInt(int value) { + this.intValue = value; + } - /** Configures {@link #bind()} to use the specified float {@code value} for this uniform. */ + /** Configures {@link #bind()} to use the specified {@code float} {@code value}. */ public void setFloat(float value) { - this.value[0] = value; + this.floatValue[0] = value; } - /** Configures {@link #bind()} to use the specified float[] {@code value} for this uniform. */ + /** Configures {@link #bind()} to use the specified {@code float[]} {@code value}. */ public void setFloats(float[] value) { - System.arraycopy(value, /* srcPos= */ 0, this.value, /* destPos= */ 0, value.length); + System.arraycopy(value, /* srcPos= */ 0, this.floatValue, /* destPos= */ 0, value.length); } /** @@ -363,32 +373,35 @@ public void setFloats(float[] value) { */ public void bind() throws GlUtil.GlException { switch (type) { + case GLES20.GL_INT: + GLES20.glUniform1i(location, intValue); + break; case GLES20.GL_FLOAT: - GLES20.glUniform1fv(location, /* count= */ 1, value, /* offset= */ 0); + GLES20.glUniform1fv(location, /* count= */ 1, floatValue, /* offset= */ 0); GlUtil.checkGlError(); break; case GLES20.GL_FLOAT_VEC2: - GLES20.glUniform2fv(location, /* count= */ 1, value, /* offset= */ 0); + GLES20.glUniform2fv(location, /* count= */ 1, floatValue, /* offset= */ 0); GlUtil.checkGlError(); break; case GLES20.GL_FLOAT_VEC3: - GLES20.glUniform3fv(location, /* count= */ 1, value, /* offset= */ 0); + GLES20.glUniform3fv(location, /* count= */ 1, floatValue, /* offset= */ 0); GlUtil.checkGlError(); break; case GLES20.GL_FLOAT_MAT3: GLES20.glUniformMatrix3fv( - location, /* count= */ 1, /* transpose= */ false, value, /* offset= */ 0); + location, /* count= */ 1, /* transpose= */ false, floatValue, /* offset= */ 0); GlUtil.checkGlError(); break; case GLES20.GL_FLOAT_MAT4: GLES20.glUniformMatrix4fv( - location, /* count= */ 1, /* transpose= */ false, value, /* offset= */ 0); + location, /* count= */ 1, /* transpose= */ false, floatValue, /* offset= */ 0); GlUtil.checkGlError(); break; case GLES20.GL_SAMPLER_2D: case GLES11Ext.GL_SAMPLER_EXTERNAL_OES: case GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT: - if (texId == 0) { + if (texIdValue == 0) { throw new IllegalStateException("No call to setSamplerTexId() before bind."); } GLES20.glActiveTexture(GLES20.GL_TEXTURE0 + texUnitIndex); @@ -397,7 +410,7 @@ public void bind() throws GlUtil.GlException { type == GLES20.GL_SAMPLER_2D ? GLES20.GL_TEXTURE_2D : GLES11Ext.GL_TEXTURE_EXTERNAL_OES, - texId); + texIdValue); GLES20.glUniform1i(location, texUnitIndex); GlUtil.checkGlError(); break; diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl index 4e6bfda4fb5..89b796a3fb7 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl @@ -14,61 +14,92 @@ // limitations under the License. // ES 3 fragment shader that: -// 1. samples HLG BT.2020 YUV from an external texture with uTexSampler, where -// the sampler uses the EXT_YUV_target extension specified at +// 1. Samples electrical (HLG or PQ) BT.2020 YUV from an external texture with +// uTexSampler, where the sampler uses the EXT_YUV_target extension specified +// at // https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt, // 2. Applies a YUV to RGB conversion using the specified color transform -// uYuvToRgbColorTransform, yielding HLG BT.2020 RGB, -// 3. If uApplyHlgOetf is 1, outputs HLG BT.2020 RGB. If 0, outputs -// linear BT.2020 RGB for intermediate shaders by applying the HLG OETF. -// 4. Copies this converted texture color to the current output. +// uYuvToRgbColorTransform, yielding electrical (HLG or PQ) BT.2020 RGB, +// 3. If uEotfGlColorTransfer is GL_COLOR_TRANSFER_NO_VALUE, outputs electrical +// (HLG or PQ) BT.2020 RGB. Otherwise, outputs optical linear BT.2020 RGB for +// intermediate shaders by applying the HLG or PQ EOTF. +// 4. Copies this converted texture color to the current output, with alpha = 1. #extension GL_OES_EGL_image_external : require #extension GL_EXT_YUV_target : require precision mediump float; uniform __samplerExternal2DY2YEXT uTexSampler; uniform mat3 uYuvToRgbColorTransform; -uniform float uApplyHlgOetf; +// C.java#GlColorTransfer value. +uniform int uEotfGlColorTransfer; in vec2 vTexSamplingCoord; out vec4 outColor; // TODO(b/227624622): Consider using mediump to save precision, if it won't lead // to noticeable quantization errors. -// HLG OETF for one channel. -highp float hlgOetfSingleChannel(highp float hlgChannel) { - // Specification: - // https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_HLG - // Reference implementation: - // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=529-543;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa +// HLG EOTF for one channel. +highp float hlgEotfSingleChannel(highp float hlgChannel) { + // Specification: + // https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_HLG + // Reference implementation: + // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=265-279;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa const highp float a = 0.17883277; const highp float b = 0.28466892; const highp float c = 0.55991073; - - return hlgChannel <= 1.0 / 12.0 ? sqrt(3.0 * hlgChannel) : - a * log(12.0 * hlgChannel - b) + c; + return hlgChannel <= 0.5 ? hlgChannel * hlgChannel / 3.0 : + (b + exp((hlgChannel - c) / a)) / 12.0; } - // BT.2100-0 HLG OETF. Converts nonlinear relative display light to linear - // signal values, both normalized to [0, 1]. -highp vec4 hlgOetf(highp vec4 hlgColor) { - return vec4( - hlgOetfSingleChannel(hlgColor.r), - hlgOetfSingleChannel(hlgColor.g), - hlgOetfSingleChannel(hlgColor.b), - hlgColor.a +// BT.2100 / BT.2020 HLG EOTF. +highp vec3 hlgEotf(highp vec3 hlgColor) { + return vec3( + hlgEotfSingleChannel(hlgColor.r), + hlgEotfSingleChannel(hlgColor.g), + hlgEotfSingleChannel(hlgColor.b) ); } -/** Convert YUV to RGBA. */ -vec4 yuvToRgba(vec3 yuv) { +// BT.2100 / BT.2020 PQ EOTF. +highp vec3 pqEotf(highp vec3 pqColor) { + // Specification: + // https://registry.khronos.org/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_PQ + // Reference implementation: + // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=250-263;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa + const highp float m1 = (2610.0 / 16384.0); + const highp float m2 = (2523.0 / 4096.0) * 128.0; + const highp float c1 = (3424.0 / 4096.0); + const highp float c2 = (2413.0 / 4096.0) * 32.0; + const highp float c3 = (2392.0 / 4096.0) * 32.0; + + highp vec3 temp = pow(clamp(pqColor, 0.0, 1.0), 1.0 / vec3(m2)); + temp = max(temp - c1, 0.0) / (c2 - c3 * temp); + return pow(temp, 1.0 / vec3(m1)); +} + +// Applies the appropriate EOTF to convert nonlinear electrical values to linear +// optical values. Input and output are both normalized to [0, 1]. +highp vec3 getOpticalColor(highp vec3 electricalColor) { + // LINT.IfChange(color_transfer) + const int COLOR_TRANSFER_ST2084 = 6; + const int COLOR_TRANSFER_HLG = 7; + + if (uEotfGlColorTransfer == COLOR_TRANSFER_ST2084) { + return pqEotf(electricalColor); + } else if (uEotfGlColorTransfer == COLOR_TRANSFER_HLG) { + return hlgEotf(electricalColor); + } else { + return electricalColor; + } +} + +vec3 yuvToRgb(vec3 yuv) { const vec3 yuvOffset = vec3(0.0625, 0.5, 0.5); - vec3 rgb = clamp(uYuvToRgbColorTransform * (yuv - yuvOffset), 0.0, 1.0); - return vec4(rgb, 1.0); + return clamp(uYuvToRgbColorTransform * (yuv - yuvOffset), 0.0, 1.0); } void main() { vec3 srcYuv = texture(uTexSampler, vTexSamplingCoord).xyz; - outColor = yuvToRgba(srcYuv); - outColor = (uApplyHlgOetf == 1.0) ? hlgOetf(outColor) : outColor; + vec3 rgb = yuvToRgb(srcYuv); + outColor = vec4(getOpticalColor(rgb), 1.0); } diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl deleted file mode 100644 index 247d9e948e7..00000000000 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_hlg_eotf_es3.glsl +++ /dev/null @@ -1,55 +0,0 @@ -#version 300 es -// Copyright 2022 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ES 3 fragment shader that: -// 1. samples linear BT.2020 RGB from a (non-external) texture with uTexSampler, -// 2. applies the HLG OETF to yield HLG BT.2020 RGB, and -// 3. copies this converted texture color to the current output. - -precision mediump float; -uniform sampler2D uTexSampler; -in vec2 vTexSamplingCoord; -out vec4 outColor; -uniform mat3 uColorTransform; - -// TODO(b/227624622): Consider using mediump to save precision, if it won't lead -// to noticeable quantization. -// HLG OETF for one channel. -highp float hlgEotfSingleChannel(highp float linearChannel) { - // Specification: - // https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_HLG - // Reference implementation: - // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=265-279;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa - const highp float a = 0.17883277; - const highp float b = 0.28466892; - const highp float c = 0.55991073; - return linearChannel <= 0.5 ? linearChannel * linearChannel / 3.0 : - (b + exp((linearChannel - c) / a)) / 12.0; -} - -// BT.2100-0 HLG EOTF. Converts nonlinear signal values to linear relative -// display light, both normalized to [0,1]. -highp vec4 hlgEotf(highp vec4 linearColor) { - return vec4( - hlgEotfSingleChannel(linearColor.r), - hlgEotfSingleChannel(linearColor.g), - hlgEotfSingleChannel(linearColor.b), - linearColor.a - ); -} - -void main() { - outColor = hlgEotf(texture(uTexSampler, vTexSamplingCoord)); -} diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl new file mode 100644 index 00000000000..1c35131ed3e --- /dev/null +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl @@ -0,0 +1,87 @@ +#version 300 es +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ES 3 fragment shader that: +// 1. samples optical linear BT.2020 RGB from a (non-external) texture with +// uTexSampler, +// 2. applies the HLG or PQ OETF to yield electrical (HLG or PQ) BT.2020 RGB, +// and +// 3. copies this converted texture color to the current output. + +precision mediump float; +uniform sampler2D uTexSampler; +in vec2 vTexSamplingCoord; +out vec4 outColor; +// C.java#GlColorTransfer value. +// Only GL_COLOR_TRANSFER_ST2084 and GL_COLOR_TRANSFER_HLG are allowed. +uniform int uOetfGlColorTransfer; +uniform mat3 uColorTransform; + +// TODO(b/227624622): Consider using mediump to save precision, if it won't lead +// to noticeable quantization. + +// HLG OETF for one channel. +highp float hlgOetfSingleChannel(highp float linearChannel) { + // Specification: + // https://www.khronos.org/registry/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_HLG + // Reference implementation: + // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=529-543;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa + const highp float a = 0.17883277; + const highp float b = 0.28466892; + const highp float c = 0.55991073; + + return linearChannel <= 1.0 / 12.0 ? sqrt(3.0 * linearChannel) : + a * log(12.0 * linearChannel - b) + c; +} + +// BT.2100 / BT.2020 HLG OETF. +highp vec3 hlgOetf(highp vec3 linearColor) { + return vec3( + hlgOetfSingleChannel(linearColor.r), + hlgOetfSingleChannel(linearColor.g), + hlgOetfSingleChannel(linearColor.b) + ); +} + +// BT.2100 / BT.2020, PQ / ST2084 OETF. +highp vec3 pqOetf(highp vec3 linearColor) { + // Specification: + // https://registry.khronos.org/DataFormat/specs/1.3/dataformat.1.3.inline.html#TRANSFER_PQ + // Reference implementation: + // https://cs.android.com/android/platform/superproject/+/master:frameworks/native/libs/renderengine/gl/ProgramCache.cpp;l=514-527;drc=de09f10aa504fd8066370591a00c9ff1cafbb7fa + const highp float m1 = (2610.0 / 16384.0); + const highp float m2 = (2523.0 / 4096.0) * 128.0; + const highp float c1 = (3424.0 / 4096.0); + const highp float c2 = (2413.0 / 4096.0) * 32.0; + const highp float c3 = (2392.0 / 4096.0) * 32.0; + + highp vec3 temp = pow(linearColor, vec3(m1)); + temp = (c1 + c2 * temp) / (1.0 + c3 * temp); + return pow(temp, vec3(m2)); +} + +// Applies the appropriate OETF to convert linear optical signals to nonlinear +// electrical signals. Input and output are both normalzied to [0, 1]. +highp vec3 getElectricalColor(highp vec3 linearColor) { + // LINT.IfChange(color_transfer) + const int GL_COLOR_TRANSFER_ST2084 = 6; + return (uOetfGlColorTransfer == GL_COLOR_TRANSFER_ST2084) ? + pqOetf(linearColor) : hlgOetf(linearColor); +} + +void main() { + vec4 inputColor = texture(uTexSampler, vTexSamplingCoord); + outColor = vec4(getElectricalColor(inputColor.rgb), inputColor.a); +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index eff8b8d18b0..24e2a1cf378 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -374,7 +374,7 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp matrixTransformationListBuilder.build(), sampleFromExternalTexture, colorInfo, - /* outputOpticalColors= */ true); + /* outputElectricalColors= */ true); matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); Pair outputSize = matrixTransformationProcessor.configure(inputWidth, inputHeight); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java index b93da700754..d19956e9949 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffect.java @@ -37,10 +37,6 @@ public interface GlEffect extends Effect { * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. */ - // TODO(b/227624622): PQ input files will actually have the incorrect HLG OETF applied, so that - // the intermediate color space will be PQ with the HLG OETF applied. This means intermediate - // GlEffects affecting color will look incorrect on PQ input. Fix this by implementing proper PQ - // OETF / EOTF support. GlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException; } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 324ff05c4ee..11bddb4e13a 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -212,7 +212,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe matrixTransformations, sampleFromExternalTexture, colorInfo, - /* outputOpticalColors= */ false)); + /* outputElectricalColors= */ false)); matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } @@ -242,7 +242,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe ImmutableList.of(), sampleFromExternalTexture, colorInfo, - /* outputOpticalColors= */ false)); + /* outputElectricalColors= */ false)); sampleFromExternalTexture = false; } textureProcessorListBuilder.add( diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index 40c98ee2dd2..fd458bfdc01 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -15,6 +15,7 @@ */ package androidx.media3.effect; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; @@ -23,6 +24,7 @@ import android.util.Pair; import androidx.media3.common.C; import androidx.media3.common.ColorInfo; +import androidx.media3.common.Format; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; import androidx.media3.common.util.GlUtil; @@ -53,8 +55,8 @@ private static final String VERTEX_SHADER_TRANSFORMATION_ES3_PATH = "shaders/vertex_shader_transformation_es3.glsl"; private static final String FRAGMENT_SHADER_COPY_PATH = "shaders/fragment_shader_copy_es2.glsl"; - private static final String FRAGMENT_SHADER_HLG_EOTF_ES3_PATH = - "shaders/fragment_shader_hlg_eotf_es3.glsl"; + private static final String FRAGMENT_SHADER_OETF_ES3_PATH = + "shaders/fragment_shader_oetf_es3.glsl"; private static final String FRAGMENT_SHADER_COPY_EXTERNAL_PATH = "shaders/fragment_shader_copy_external_es2.glsl"; private static final String FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH = @@ -123,9 +125,9 @@ public MatrixTransformationProcessor( this( createGlProgram( context, - /* inputOpticalColorsFromExternalTexture= */ false, + /* inputElectricalColorsFromExternalTexture= */ false, useHdr, - /* outputOpticalColors= */ false), + /* outputElectricalColors= */ false), ImmutableList.of(matrixTransformation), useHdr); } @@ -146,9 +148,9 @@ public MatrixTransformationProcessor( this( createGlProgram( context, - /* inputOpticalColorsFromExternalTexture= */ false, + /* inputElectricalColorsFromExternalTexture= */ false, useHdr, - /* outputOpticalColors= */ false), + /* outputElectricalColors= */ false), ImmutableList.of(matrixTransformation), useHdr); } @@ -156,65 +158,70 @@ public MatrixTransformationProcessor( /** * Creates a new instance. * - *

      Able to convert optical {@link ColorInfo} inputs and outputs to and from the intermediate - * {@link GlTextureProcessor} colors of linear RGB BT.2020 for HDR, and gamma RGB BT.709 for SDR. + *

      Able to convert nonlinear electrical {@link ColorInfo} inputs and outputs to and from the + * intermediate optical {@link GlTextureProcessor} colors of linear RGB BT.2020 for HDR, and gamma + * RGB BT.709 for SDR. * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to * apply to each frame in order. - * @param inputOpticalColorsFromExternalTexture Whether optical color input will be provided using - * an external texture. If {@code true}, the caller should use {@link + * @param inputElectricalColorsFromExternalTexture Whether electrical color input will be provided + * using an external texture. If {@code true}, the caller should use {@link * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with * the external texture. - * @param opticalColorInfo The optical {@link ColorInfo}, only used to transform between color - * spaces and transfers, when {@code inputOpticalColorsFromExternalTexture} or {@code - * outputOpticalColors} are {@code true}. If it {@link ColorInfo#isTransferHdr(ColorInfo)}, - * intermediate {@link GlTextureProcessor} colors will be in linear RGB BT.2020. Otherwise, - * these colors will be in gamma RGB BT.709. - * @param outputOpticalColors If {@code true}, outputs {@code opticalColorInfo}. If {@code false}, - * outputs intermediate colors of linear RGB BT.2020 if {@code opticalColorInfo} {@link - * ColorInfo#isTransferHdr(ColorInfo)}, and gamma RGB BT.709 otherwise. + * @param electricalColorInfo The electrical {@link ColorInfo}, only used to transform between + * color spaces and transfers, when {@code inputElectricalColorsFromExternalTexture} or {@code + * outputElectricalColors} are {@code true}. If it is {@linkplain + * ColorInfo#isTransferHdr(ColorInfo) HDR}, intermediate {@link GlTextureProcessor} colors + * will be in linear RGB BT.2020. Otherwise, these colors will be in gamma RGB BT.709. + * @param outputElectricalColors If {@code true}, outputs {@code electricalColorInfo}. If {@code + * false}, outputs intermediate colors of linear RGB BT.2020 if {@code electricalColorInfo} is + * {@linkplain ColorInfo#isTransferHdr(ColorInfo) HDR}, and gamma RGB BT.709 otherwise. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ public MatrixTransformationProcessor( Context context, ImmutableList matrixTransformations, - boolean inputOpticalColorsFromExternalTexture, - ColorInfo opticalColorInfo, - boolean outputOpticalColors) + boolean inputElectricalColorsFromExternalTexture, + ColorInfo electricalColorInfo, + boolean outputElectricalColors) throws FrameProcessingException { this( createGlProgram( context, - inputOpticalColorsFromExternalTexture, - ColorInfo.isTransferHdr(opticalColorInfo), - outputOpticalColors), + inputElectricalColorsFromExternalTexture, + ColorInfo.isTransferHdr(electricalColorInfo), + outputElectricalColors), matrixTransformations, - ColorInfo.isTransferHdr(opticalColorInfo)); - if (!ColorInfo.isTransferHdr(opticalColorInfo) || !inputOpticalColorsFromExternalTexture) { + ColorInfo.isTransferHdr(electricalColorInfo)); + if (!ColorInfo.isTransferHdr(electricalColorInfo)) { return; } - // TODO(b/227624622): Implement YUV to RGB conversions in COLOR_RANGE_LIMITED as well, using - // opticalColorInfo.colorRange to select between them. - // In HDR editing mode the decoder output is sampled in YUV. - if (!GlUtil.isYuvTargetExtensionSupported()) { - throw new FrameProcessingException( - "The EXT_YUV_target extension is required for HDR editing input."); - } - glProgram.setFloatsUniform( - "uYuvToRgbColorTransform", - opticalColorInfo.colorRange == C.COLOR_RANGE_FULL - ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX - : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); + @C.ColorTransfer int colorTransfer = electricalColorInfo.colorTransfer; + checkArgument( + colorTransfer == C.COLOR_TRANSFER_HLG || colorTransfer == C.COLOR_TRANSFER_ST2084); + if (inputElectricalColorsFromExternalTexture) { + // In HDR editing mode the decoder output is sampled in YUV. + if (!GlUtil.isYuvTargetExtensionSupported()) { + throw new FrameProcessingException( + "The EXT_YUV_target extension is required for HDR editing input."); + } + glProgram.setFloatsUniform( + "uYuvToRgbColorTransform", + electricalColorInfo.colorRange == C.COLOR_RANGE_FULL + ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX + : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); - // TODO(b/227624622): Implement PQ and gamma TFs, and use an @IntDef to select between HLG, - // PQ, and gamma, coming from opticalColorInfo.colorTransfer. + // TODO(b/241902517): Implement gamma transfer functions. - // Applying the OETF will output a linear signal. Not applying the OETF will output an optical - // signal. - glProgram.setFloatUniform("uApplyHlgOetf", outputOpticalColors ? 0.0f : 1.0f); + // If electrical colors are both input and output, no EOTF is needed. + glProgram.setIntUniform( + "uEotfGlColorTransfer", outputElectricalColors ? Format.NO_VALUE : colorTransfer); + } else if (outputElectricalColors) { + glProgram.setIntUniform("uOetfGlColorTransfer", colorTransfer); + } } /** @@ -243,14 +250,14 @@ private MatrixTransformationProcessor( private static GlProgram createGlProgram( Context context, - boolean inputOpticalColorsFromExternalTexture, + boolean inputElectricalColorsFromExternalTexture, boolean useHdr, - boolean outputOpticalColors) + boolean outputElectricalColors) throws FrameProcessingException { String vertexShaderFilePath; String fragmentShaderFilePath; - if (inputOpticalColorsFromExternalTexture) { + if (inputElectricalColorsFromExternalTexture) { if (useHdr) { vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_ES3_PATH; fragmentShaderFilePath = FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH; @@ -258,9 +265,9 @@ private static GlProgram createGlProgram( vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = FRAGMENT_SHADER_COPY_EXTERNAL_PATH; } - } else if (outputOpticalColors && useHdr) { + } else if (outputElectricalColors && useHdr) { vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_ES3_PATH; - fragmentShaderFilePath = FRAGMENT_SHADER_HLG_EOTF_ES3_PATH; + fragmentShaderFilePath = FRAGMENT_SHADER_OETF_ES3_PATH; } else { vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; fragmentShaderFilePath = FRAGMENT_SHADER_COPY_PATH; From 6b5a9e805839b359b74496d9614d0d268428f7c8 Mon Sep 17 00:00:00 2001 From: rohks Date: Wed, 24 Aug 2022 16:40:39 +0000 Subject: [PATCH 197/422] Fix missing id error PiperOrigin-RevId: 469750922 (cherry picked from commit 84577949782653a08127bdab820e56bda0b913e5) --- .../src/main/java/androidx/media3/demo/gl/MainActivity.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/demos/gl/src/main/java/androidx/media3/demo/gl/MainActivity.java b/demos/gl/src/main/java/androidx/media3/demo/gl/MainActivity.java index 4923b4a3901..c9e7ccd11cd 100644 --- a/demos/gl/src/main/java/androidx/media3/demo/gl/MainActivity.java +++ b/demos/gl/src/main/java/androidx/media3/demo/gl/MainActivity.java @@ -15,6 +15,8 @@ */ package androidx.media3.demo.gl; +import static androidx.media3.common.util.Assertions.checkNotNull; + import android.app.Activity; import android.content.Context; import android.content.Intent; @@ -83,7 +85,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { VideoProcessingGLSurfaceView videoProcessingGLSurfaceView = new VideoProcessingGLSurfaceView( context, requestSecureSurface, new BitmapOverlayVideoProcessor(context)); - FrameLayout contentFrame = findViewById(R.id.exo_content_frame); + checkNotNull(playerView); + FrameLayout contentFrame = playerView.findViewById(R.id.exo_content_frame); contentFrame.addView(videoProcessingGLSurfaceView); this.videoProcessingGLSurfaceView = videoProcessingGLSurfaceView; } From 893bf0db7cc0fc8adb049fc454ce8d3e6cf22fa5 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 25 Aug 2022 11:43:40 +0000 Subject: [PATCH 198/422] HDR: Rename GL_COLOR_TRANSFER instances to COLOR_TRANSFER PiperOrigin-RevId: 469959215 (cherry picked from commit 2a05a5040379ae93c5b0c2b0aecd2345da84461d) --- .../shaders/fragment_shader_copy_external_yuv_es3.glsl | 10 +++++----- .../main/assets/shaders/fragment_shader_oetf_es3.glsl | 10 +++++----- .../media3/effect/MatrixTransformationProcessor.java | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl index 89b796a3fb7..7ed9cafc4ab 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl @@ -20,7 +20,7 @@ // https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt, // 2. Applies a YUV to RGB conversion using the specified color transform // uYuvToRgbColorTransform, yielding electrical (HLG or PQ) BT.2020 RGB, -// 3. If uEotfGlColorTransfer is GL_COLOR_TRANSFER_NO_VALUE, outputs electrical +// 3. If uEotfColorTransfer is COLOR_TRANSFER_NO_VALUE, outputs electrical // (HLG or PQ) BT.2020 RGB. Otherwise, outputs optical linear BT.2020 RGB for // intermediate shaders by applying the HLG or PQ EOTF. // 4. Copies this converted texture color to the current output, with alpha = 1. @@ -30,8 +30,8 @@ precision mediump float; uniform __samplerExternal2DY2YEXT uTexSampler; uniform mat3 uYuvToRgbColorTransform; -// C.java#GlColorTransfer value. -uniform int uEotfGlColorTransfer; +// C.java#ColorTransfer value. +uniform int uEotfColorTransfer; in vec2 vTexSamplingCoord; out vec4 outColor; @@ -84,9 +84,9 @@ highp vec3 getOpticalColor(highp vec3 electricalColor) { const int COLOR_TRANSFER_ST2084 = 6; const int COLOR_TRANSFER_HLG = 7; - if (uEotfGlColorTransfer == COLOR_TRANSFER_ST2084) { + if (uEotfColorTransfer == COLOR_TRANSFER_ST2084) { return pqEotf(electricalColor); - } else if (uEotfGlColorTransfer == COLOR_TRANSFER_HLG) { + } else if (uEotfColorTransfer == COLOR_TRANSFER_HLG) { return hlgEotf(electricalColor); } else { return electricalColor; diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl index 1c35131ed3e..f908bb6e523 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl @@ -24,9 +24,9 @@ precision mediump float; uniform sampler2D uTexSampler; in vec2 vTexSamplingCoord; out vec4 outColor; -// C.java#GlColorTransfer value. -// Only GL_COLOR_TRANSFER_ST2084 and GL_COLOR_TRANSFER_HLG are allowed. -uniform int uOetfGlColorTransfer; +// C.java#ColorTransfer value. +// Only COLOR_TRANSFER_ST2084 and COLOR_TRANSFER_HLG are allowed. +uniform int uOetfColorTransfer; uniform mat3 uColorTransform; // TODO(b/227624622): Consider using mediump to save precision, if it won't lead @@ -76,8 +76,8 @@ highp vec3 pqOetf(highp vec3 linearColor) { // electrical signals. Input and output are both normalzied to [0, 1]. highp vec3 getElectricalColor(highp vec3 linearColor) { // LINT.IfChange(color_transfer) - const int GL_COLOR_TRANSFER_ST2084 = 6; - return (uOetfGlColorTransfer == GL_COLOR_TRANSFER_ST2084) ? + const int COLOR_TRANSFER_ST2084 = 6; + return (uOetfColorTransfer == COLOR_TRANSFER_ST2084) ? pqOetf(linearColor) : hlgOetf(linearColor); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index fd458bfdc01..75de5db21d1 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -218,9 +218,9 @@ public MatrixTransformationProcessor( // If electrical colors are both input and output, no EOTF is needed. glProgram.setIntUniform( - "uEotfGlColorTransfer", outputElectricalColors ? Format.NO_VALUE : colorTransfer); + "uEotfColorTransfer", outputElectricalColors ? Format.NO_VALUE : colorTransfer); } else if (outputElectricalColors) { - glProgram.setIntUniform("uOetfGlColorTransfer", colorTransfer); + glProgram.setIntUniform("uOetfColorTransfer", colorTransfer); } } From bf299da11cc13fd00083c1fc95832608fd35204d Mon Sep 17 00:00:00 2001 From: leonwind Date: Thu, 25 Aug 2022 15:49:13 +0000 Subject: [PATCH 199/422] Delete glPrograms in Contrast and RgbMatrix. Remove unecessary null checks. PiperOrigin-RevId: 469999952 (cherry picked from commit a7d3752c6655d6572101b4b4c8b88c885fcf80de) --- .../demo/transformer/BitmapOverlayProcessor.java | 12 +++++------- .../demo/transformer/PeriodicVignetteProcessor.java | 10 ++++------ .../androidx/media3/effect/ContrastProcessor.java | 10 ++++++++++ .../media3/effect/MatrixTransformationProcessor.java | 10 ++++------ .../androidx/media3/effect/RgbMatrixProcessor.java | 10 ++++++++++ 5 files changed, 33 insertions(+), 19 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java index 72b7c8b8172..b5d1e5337d8 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/BitmapOverlayProcessor.java @@ -129,7 +129,7 @@ public Pair configure(int inputWidth, int inputHeight) { @Override public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { try { - checkStateNotNull(glProgram).use(); + glProgram.use(); // Draw to the canvas and store it in a texture. String text = @@ -159,12 +159,10 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() throws FrameProcessingException { super.release(); - if (glProgram != null) { - try { - glProgram.delete(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); - } + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); } } diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java index eb4f07e892a..045b958a70a 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/PeriodicVignetteProcessor.java @@ -114,12 +114,10 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() throws FrameProcessingException { super.release(); - if (glProgram != null) { - try { - glProgram.delete(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); - } + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); } } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java index 021d6b694b7..274cb4a3069 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java @@ -75,4 +75,14 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce throw new FrameProcessingException(e, presentationTimeUs); } } + + @Override + public void release() throws FrameProcessingException { + super.release(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index 75de5db21d1..26863276581 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -323,12 +323,10 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce @Override public void release() throws FrameProcessingException { super.release(); - if (glProgram != null) { - try { - glProgram.delete(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); - } + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java index 168dab91df9..f43d27643cf 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java @@ -135,4 +135,14 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce throw new FrameProcessingException(e, presentationTimeUs); } } + + @Override + public void release() throws FrameProcessingException { + super.release(); + try { + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + } } From 4c29eee3306f50f32774f635b65b04171d32ddc0 Mon Sep 17 00:00:00 2001 From: rohks Date: Thu, 25 Aug 2022 16:07:42 +0000 Subject: [PATCH 200/422] Switch incorrectly configured native multidex to legacy Native multidex can only be used for binaries with minSdkVersion of 21 or higher, but minSdkVersion was specified to 16. PiperOrigin-RevId: 470003836 (cherry picked from commit 5b3f32023063c90a63a5e30eeefab161b0a7f824) --- libraries/datasource/src/androidTest/AndroidManifest.xml | 2 ++ libraries/datasource_cronet/src/androidTest/AndroidManifest.xml | 2 ++ libraries/decoder_flac/src/androidTest/AndroidManifest.xml | 2 ++ libraries/decoder_opus/src/androidTest/AndroidManifest.xml | 2 ++ libraries/decoder_vp9/src/androidTest/AndroidManifest.xml | 2 ++ libraries/exoplayer/src/androidTest/AndroidManifest.xml | 2 ++ libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml | 2 ++ libraries/session/src/androidTest/AndroidManifest.xml | 2 ++ .../test_exoplayer_playback/src/androidTest/AndroidManifest.xml | 2 ++ 9 files changed, 18 insertions(+) diff --git a/libraries/datasource/src/androidTest/AndroidManifest.xml b/libraries/datasource/src/androidTest/AndroidManifest.xml index 6dadf00eb5c..6543ffe5757 100644 --- a/libraries/datasource/src/androidTest/AndroidManifest.xml +++ b/libraries/datasource/src/androidTest/AndroidManifest.xml @@ -21,7 +21,9 @@ + diff --git a/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml b/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml index 7da3a987c1b..818af433145 100644 --- a/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml +++ b/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml @@ -22,7 +22,9 @@ + diff --git a/libraries/decoder_flac/src/androidTest/AndroidManifest.xml b/libraries/decoder_flac/src/androidTest/AndroidManifest.xml index 14516966259..60caa1b1cc8 100644 --- a/libraries/decoder_flac/src/androidTest/AndroidManifest.xml +++ b/libraries/decoder_flac/src/androidTest/AndroidManifest.xml @@ -21,7 +21,9 @@ + diff --git a/libraries/decoder_opus/src/androidTest/AndroidManifest.xml b/libraries/decoder_opus/src/androidTest/AndroidManifest.xml index b6ed01f1503..039dc819cc9 100644 --- a/libraries/decoder_opus/src/androidTest/AndroidManifest.xml +++ b/libraries/decoder_opus/src/androidTest/AndroidManifest.xml @@ -21,7 +21,9 @@ + diff --git a/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml b/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml index 818d5196fcc..ca0f8bc647b 100644 --- a/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml +++ b/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml @@ -21,7 +21,9 @@ + diff --git a/libraries/exoplayer/src/androidTest/AndroidManifest.xml b/libraries/exoplayer/src/androidTest/AndroidManifest.xml index b1fb1cf6434..08ccac6a011 100644 --- a/libraries/exoplayer/src/androidTest/AndroidManifest.xml +++ b/libraries/exoplayer/src/androidTest/AndroidManifest.xml @@ -22,7 +22,9 @@ + diff --git a/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml b/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml index 0b0db6b46a2..ae78b134834 100644 --- a/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml +++ b/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml @@ -23,7 +23,9 @@ + + diff --git a/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml b/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml index a0d2fd0cfe8..652ff94d668 100644 --- a/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml +++ b/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml @@ -23,7 +23,9 @@ + Date: Thu, 25 Aug 2022 16:09:00 +0000 Subject: [PATCH 201/422] Switch incorrectly configured native multidex to legacy for demos Native multidex can only be used for binaries with minSdkVersion of 21 or higher, but minSdkVersion was specified to 16. PiperOrigin-RevId: 470004102 (cherry picked from commit d260b0c2a008c4ff9b3763f32feb87b353fc23f2) --- demos/cast/src/main/AndroidManifest.xml | 9 +++++++-- demos/gl/build.gradle | 1 + demos/gl/src/main/AndroidManifest.xml | 1 + demos/session/src/main/AndroidManifest.xml | 5 ++++- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/demos/cast/src/main/AndroidManifest.xml b/demos/cast/src/main/AndroidManifest.xml index 2e07deae943..b6a9b56eac3 100644 --- a/demos/cast/src/main/AndroidManifest.xml +++ b/demos/cast/src/main/AndroidManifest.xml @@ -22,8 +22,13 @@ - + diff --git a/demos/gl/build.gradle b/demos/gl/build.gradle index 9aad43098b4..ff8333a2543 100644 --- a/demos/gl/build.gradle +++ b/demos/gl/build.gradle @@ -52,6 +52,7 @@ dependencies { implementation project(modulePrefix + 'lib-exoplayer-smoothstreaming') implementation project(modulePrefix + 'lib-ui') implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion + implementation 'androidx.multidex:multidex:' + androidxMultidexVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion } diff --git a/demos/gl/src/main/AndroidManifest.xml b/demos/gl/src/main/AndroidManifest.xml index d4d79a70536..d44f8ea343c 100644 --- a/demos/gl/src/main/AndroidManifest.xml +++ b/demos/gl/src/main/AndroidManifest.xml @@ -22,6 +22,7 @@ diff --git a/demos/session/src/main/AndroidManifest.xml b/demos/session/src/main/AndroidManifest.xml index e94b527e83d..90557fc6c7f 100644 --- a/demos/session/src/main/AndroidManifest.xml +++ b/demos/session/src/main/AndroidManifest.xml @@ -14,6 +14,7 @@ limitations under the License. --> @@ -21,10 +22,12 @@ + android:theme="@style/Theme.Media3Demo" + tools:replace="android:name"> Date: Fri, 26 Aug 2022 11:03:54 +0000 Subject: [PATCH 202/422] Fix ExternalTextureManager: repeated queueing input frame in preview TL;DR: we should check if there are new frames available to queue to the ExternalTextureProcessor before actually queueing a frame. The overall flow on the external texture processor: - `SurfaceTexture.onFrameAvailable` is called on `ExtTexMgr`, and - it calls `updateTexImage()`, and sets `frame` - it calls `maybeQueueFrameToExtTexProc()` - the frame is queued to `ExtTexProc` if `frame` is set - From `ExtTexProc.queueInputFrame()`: - notifies the `frameProcessorListener` of available frame - notifies the `inputListener` of `onReadyToAcceptInputFrame` - (`ExtTexMgr` is the listener), it calls `maybeQueueFrameToExtTexProc()` again -- Parallelly -- - `ExtTexProc` calls `inputListener.onInputFrameProcessed`, when the frame is released - (`ExtTexMgr` is the listener), sets `frame` to `null` *Problem* This logic relies on `frame` to be cleared at the right time. In transformer, it's OK b/c `ExtTexProc` release the frame immediately in `queueInputFrame()` and calls `onInputFrameProcessed` which also reset `frame` But in previewing, the frame is not released for a while, up to 10 ms. In this case, `frame` will not reset in this 10 ms, and `maybeQueueFrameToExtTexProc()` is repeatedly queueing the same input frame. PiperOrigin-RevId: 470211620 (cherry picked from commit 91709831ede920a38fc7dc3510973a434f390611) --- .../media3/effect/ExternalTextureManager.java | 53 ++++++++----------- 1 file changed, 21 insertions(+), 32 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java index 6f01fb082bd..c218e838a88 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ExternalTextureManager.java @@ -15,6 +15,8 @@ */ package androidx.media3.effect; +import static androidx.media3.common.util.Assertions.checkNotNull; + import android.graphics.SurfaceTexture; import androidx.annotation.Nullable; import androidx.annotation.WorkerThread; @@ -41,15 +43,17 @@ private final float[] textureTransformMatrix; private final Queue pendingFrames; - // Incremented on any thread, decremented on the GL thread only. + // Incremented on any thread when a frame becomes available on the surfaceTexture, decremented on + // the GL thread only. private final AtomicInteger availableFrameCount; // Incremented on any thread, decremented on the GL thread only. private final AtomicInteger externalTextureProcessorInputCapacity; // Set to true on any thread. Read on the GL thread only. private volatile boolean inputStreamEnded; + // The frame that is sent downstream and is not done processing yet. // Set to null on any thread. Read and set to non-null on the GL thread only. - @Nullable private volatile FrameInfo frame; + @Nullable private volatile FrameInfo currentFrame; private long previousStreamOffsetUs; @@ -84,12 +88,7 @@ public SurfaceTexture getSurfaceTexture() { surfaceTexture.setOnFrameAvailableListener( unused -> { availableFrameCount.getAndIncrement(); - frameProcessingTaskExecutor.submit( - () -> { - if (maybeUpdateFrame()) { - maybeQueueFrameToExternalTextureProcessor(); - } - }); + frameProcessingTaskExecutor.submit(this::maybeQueueFrameToExternalTextureProcessor); }); return surfaceTexture; } @@ -102,20 +101,15 @@ public void onReadyToAcceptInputFrame() { @Override public void onInputFrameProcessed(TextureInfo inputTexture) { - frame = null; - frameProcessingTaskExecutor.submit( - () -> { - if (maybeUpdateFrame()) { - maybeQueueFrameToExternalTextureProcessor(); - } - }); + currentFrame = null; + frameProcessingTaskExecutor.submit(this::maybeQueueFrameToExternalTextureProcessor); } /** * Notifies the {@code ExternalTextureManager} that a frame with the given {@link FrameInfo} will * become available via the {@link SurfaceTexture} eventually. * - *

      Can be called on any thread, but the caller must ensure that frames are registered in the + *

      Can be called on any thread. The caller must ensure that frames are registered in the * correct order. */ public void registerInputFrame(FrameInfo frame) { @@ -140,7 +134,7 @@ public int getPendingFrameCount() { @WorkerThread public void signalEndOfInput() { inputStreamEnded = true; - if (pendingFrames.isEmpty() && frame == null) { + if (pendingFrames.isEmpty() && currentFrame == null) { externalTextureProcessor.signalEndOfCurrentInputStream(); } } @@ -150,29 +144,23 @@ public void release() { } @WorkerThread - private boolean maybeUpdateFrame() { - if (frame != null || availableFrameCount.get() == 0) { - return false; + private void maybeQueueFrameToExternalTextureProcessor() { + if (externalTextureProcessorInputCapacity.get() == 0 + || availableFrameCount.get() == 0 + || currentFrame != null) { + return; } availableFrameCount.getAndDecrement(); surfaceTexture.updateTexImage(); - frame = pendingFrames.remove(); - return true; - } - - @WorkerThread - private void maybeQueueFrameToExternalTextureProcessor() { - if (externalTextureProcessorInputCapacity.get() == 0 || frame == null) { - return; - } + this.currentFrame = pendingFrames.remove(); - FrameInfo frame = this.frame; + FrameInfo currentFrame = checkNotNull(this.currentFrame); externalTextureProcessorInputCapacity.getAndDecrement(); surfaceTexture.getTransformMatrix(textureTransformMatrix); externalTextureProcessor.setTextureTransformMatrix(textureTransformMatrix); long frameTimeNs = surfaceTexture.getTimestamp(); - long streamOffsetUs = frame.streamOffsetUs; + long streamOffsetUs = currentFrame.streamOffsetUs; if (streamOffsetUs != previousStreamOffsetUs) { if (previousStreamOffsetUs != C.TIME_UNSET) { externalTextureProcessor.signalEndOfCurrentInputStream(); @@ -182,7 +170,8 @@ private void maybeQueueFrameToExternalTextureProcessor() { // Correct for the stream offset so processors see original media presentation timestamps. long presentationTimeUs = (frameTimeNs / 1000) - streamOffsetUs; externalTextureProcessor.queueInputFrame( - new TextureInfo(externalTexId, /* fboId= */ C.INDEX_UNSET, frame.width, frame.height), + new TextureInfo( + externalTexId, /* fboId= */ C.INDEX_UNSET, currentFrame.width, currentFrame.height), presentationTimeUs); if (inputStreamEnded && pendingFrames.isEmpty()) { From f3adc5a5d28ffbd7e1382eb256a2b822e8b84324 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 26 Aug 2022 23:08:53 +0000 Subject: [PATCH 203/422] Log instead of throwing for transfer mismatch PiperOrigin-RevId: 470354448 (cherry picked from commit dbe66775518a02c138e138a990939729bd9a3b23) --- .../media3/transformer/DefaultCodec.java | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 99ec6ece721..a4266842d58 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -36,6 +36,7 @@ import androidx.media3.common.ColorInfo; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.Log; import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; @@ -51,6 +52,9 @@ /** A default {@link Codec} implementation that uses {@link MediaCodec}. */ @UnstableApi public final class DefaultCodec implements Codec { + + private static final String TAG = "DefaultCodec"; + // MediaCodec decoders always output 16 bit PCM, unless configured to output PCM float. // https://developer.android.com/reference/android/media/MediaCodec#raw-audio-buffers. private static final int MEDIA_CODEC_PCM_ENCODING = C.ENCODING_PCM_16BIT; @@ -325,16 +329,15 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo ColorInfo expectedColorInfo = isToneMappingEnabled ? ColorInfo.SDR_BT709_LIMITED : configurationFormat.colorInfo; if (!areColorTransfersEqual(expectedColorInfo, outputFormat.colorInfo)) { - // TODO(b/237674316): These exceptions throw when the container ColorInfo doesn't match - // the video ColorInfo. Instead of throwing when seeing unexpected ColorInfos, consider - // reconfiguring downstream components (ex. FrameProcessor and encoder) when different - // ColorInfo values are output. - throw createTransformationException( - new IllegalStateException( - "Codec output color format does not match configured color format. Expected: " - + expectedColorInfo - + ". Actual: " - + outputFormat.colorInfo)); + // TODO(b/237674316): The container ColorInfo's transfer doesn't match the decoder output + // MediaFormat, or we requested tone-mapping but it hasn't bee applied. We should + // reconfigure downstream components for this case instead. + Log.w( + TAG, + "Codec output color format does not match configured color format. Expected: " + + expectedColorInfo + + ". Actual: " + + outputFormat.colorInfo); } } return false; From 19fad593e5fb27dad4d125e43652b69992865b3d Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Tue, 30 Aug 2022 11:02:46 +0000 Subject: [PATCH 204/422] Update color info mismatch test This should now expect transformation to succeed. PiperOrigin-RevId: 470950411 (cherry picked from commit daf1e5e2eb536d6f4fa6ccb2b7234d474bfcd248) --- .../mh/SetHdrEditingTransformationTest.java | 22 +++++-------------- .../media3/transformer/DefaultCodec.java | 2 +- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java index 68b9fdcf3c5..e72544d6c19 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java @@ -17,14 +17,11 @@ import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER; import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped; -import static com.google.common.truth.Truth.assertThat; -import static org.junit.Assert.assertThrows; import android.content.Context; import android.net.Uri; import androidx.media3.common.MediaItem; import androidx.media3.common.util.Util; -import androidx.media3.transformer.TransformationException; import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; @@ -37,7 +34,7 @@ @RunWith(AndroidJUnit4.class) public class SetHdrEditingTransformationTest { @Test - public void videoDecoderUnexpectedColorInfo_completesWithError() throws Exception { + public void transformUnexpectedColorInfo() throws Exception { Context context = ApplicationProvider.getApplicationContext(); if (Util.SDK_INT < 29) { recordTestSkipped( @@ -53,17 +50,10 @@ public void videoDecoderUnexpectedColorInfo_completesWithError() throws Exceptio .setTransformationRequest( new TransformationRequest.Builder().experimental_setEnableHdrEditing(true).build()) .build(); - TransformationException exception = - assertThrows( - TransformationException.class, - () -> - new TransformerAndroidTestRunner.Builder(context, transformer) - .build() - .run( - /* testId= */ "videoDecoderUnexpectedColorInfo_completesWithError", - MediaItem.fromUri( - Uri.parse(MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER)))); - assertThat(exception).hasCauseThat().isInstanceOf(IllegalStateException.class); - assertThat(exception.errorCode).isEqualTo(TransformationException.ERROR_CODE_DECODING_FAILED); + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run( + /* testId= */ "transformUnexpectedColorInfo", + MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER))); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index a4266842d58..ffb8ed106d7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -330,7 +330,7 @@ private boolean maybeDequeueOutputBuffer(boolean setOutputBuffer) throws Transfo isToneMappingEnabled ? ColorInfo.SDR_BT709_LIMITED : configurationFormat.colorInfo; if (!areColorTransfersEqual(expectedColorInfo, outputFormat.colorInfo)) { // TODO(b/237674316): The container ColorInfo's transfer doesn't match the decoder output - // MediaFormat, or we requested tone-mapping but it hasn't bee applied. We should + // MediaFormat, or we requested tone-mapping but it hasn't been applied. We should // reconfigure downstream components for this case instead. Log.w( TAG, From e49cde80d884eed8233a56cfff2ad3ba149c1356 Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 30 Aug 2022 11:23:53 +0000 Subject: [PATCH 205/422] Fix 1 ErrorProneStyle finding: * Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: " * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: ". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 470953422 (cherry picked from commit 52d32be8df3960cbde78c7764e86d9ebb2994472) --- .../main/java/androidx/media3/test/utils/FakeMediaPeriod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMediaPeriod.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMediaPeriod.java index 52fb79a3bd2..cd804fe5fe8 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMediaPeriod.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeMediaPeriod.java @@ -120,7 +120,7 @@ public FakeMediaPeriod( mediaSourceEventDispatcher, DrmSessionManager.DRM_UNSUPPORTED, new DrmSessionEventListener.EventDispatcher(), - /* deferOnPrepared */ false); + /* deferOnPrepared= */ false); } /** From 30e55ad7723a4cca8ecd9cc6f452397fd851670b Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 30 Aug 2022 15:27:12 +0000 Subject: [PATCH 206/422] Remove media3-only line from exoplayer2 `build.gradle` file #minor-release PiperOrigin-RevId: 470999044 (cherry picked from commit 932f0d2248d1779940c7d5e7cbb9c214222321c0) --- libraries/transformer/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/transformer/build.gradle b/libraries/transformer/build.gradle index 58e979af83a..d5f1a8e581b 100644 --- a/libraries/transformer/build.gradle +++ b/libraries/transformer/build.gradle @@ -30,7 +30,7 @@ android { } sourceSets { - androidTest.assets.srcDir '../test_data/src/test/assets/' //copybara:media3-only + androidTest.assets.srcDir '../test_data/src/test/assets/' test.assets.srcDir '../test_data/src/test/assets/' } } From 2490a7873c235057c953e6e4d2110bb9fe1951da Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 30 Aug 2022 16:08:16 +0000 Subject: [PATCH 207/422] Update first frame instructions. PiperOrigin-RevId: 471008623 (cherry picked from commit 3ba8bb71f924bf5d4ff6b3a414c0a16e698ae6b9) --- libraries/test_data/src/test/assets/media/bitmap/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/test_data/src/test/assets/media/bitmap/README.md b/libraries/test_data/src/test/assets/media/bitmap/README.md index 56589d3400a..2ad6115e369 100644 --- a/libraries/test_data/src/test/assets/media/bitmap/README.md +++ b/libraries/test_data/src/test/assets/media/bitmap/README.md @@ -27,4 +27,4 @@ To generate new "expected" assets: third_party/java_src/android_libs/media/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/rotate90.png ``` - + From fb43ce200535cbb770b724a868543a424759326f Mon Sep 17 00:00:00 2001 From: leonwind Date: Tue, 30 Aug 2022 16:47:02 +0000 Subject: [PATCH 208/422] Add static Grayscale and Inverted RGB Filter. PiperOrigin-RevId: 471017440 (cherry picked from commit 859504230240eacd3255cdf6be987412a4ff6c69) --- .../GlEffectsFrameProcessorPixelTest.java | 10 +- .../media3/effect/RgbAdjustmentPixelTest.java | 35 ----- .../media3/effect/RgbFilterPixelTest.java | 140 ++++++++++++++++++ .../androidx/media3/effect/RgbAdjustment.java | 2 +- .../androidx/media3/effect/RgbFilter.java | 99 +++++++++++++ .../androidx/media3/effect/RgbMatrix.java | 8 +- .../media3/effect/RgbMatrixProcessor.java | 9 +- .../bitmap/sample_mp4_first_frame/invert.png | Bin 0 -> 539753 bytes 8 files changed, 254 insertions(+), 49 deletions(-) create mode 100644 libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/invert.png diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 92de9b1828e..8e2ffbc92df 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -400,17 +400,9 @@ public void processData_fullRotationIncreaseBrightnessAndCenterCrop_producesExpe public void drawFrame_grayscaleAndIncreaseRedChannel_producesGrayscaleAndRedImage() throws Exception { String testId = "drawFrame_grayscale"; - // Grayscale transformation matrix with the BT.709 standard from - // https://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale - // TODO(b/241240659): Use static grayscale filter from RgbFilter once it exists. - float[] grayscaleMatrix = { - 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, - 0, 0, 1 - }; ImmutableList grayscaleThenIncreaseRed = ImmutableList.of( - (RgbMatrix) presentationTimeUs -> grayscaleMatrix, - new RgbAdjustment.Builder().setRedScale(3).build()); + RgbFilter.createGrayscaleFilter(), new RgbAdjustment.Builder().setRedScale(3).build()); setUpAndPrepareFirstFrame(DEFAULT_PIXEL_WIDTH_HEIGHT_RATIO, grayscaleThenIncreaseRed); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index de621a7b36f..a6f23bc024f 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -57,8 +57,6 @@ public final class RgbAdjustmentPixelTest { "media/bitmap/sample_mp4_first_frame/increase_red_channel.png"; public static final String INCREASE_BRIGHTNESS_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/increase_brightness.png"; - public static final String GRAYSCALE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/grayscale.png"; private final Context context = getApplicationContext(); @@ -102,12 +100,6 @@ public void release() throws GlUtil.GlException, FrameProcessingException { GlUtil.destroyEglContext(eglDisplay, eglContext); } - private static RgbMatrixProcessor createRgbMatrixProcessor(Context context, float[] rgbMatrix) - throws FrameProcessingException { - return ((RgbMatrix) presentationTimeUs -> rgbMatrix) - .toGlTextureProcessor(context, /* useHdr= */ false); - } - @Test public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { String testId = "drawFrame_identityMatrix"; @@ -218,33 +210,6 @@ public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } - @Test - // TODO(b/239430283): Move test to RgbFilterPixelTest once it exists. - public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { - String testId = "drawFrame_grayscale"; - // Grayscale transformation matrix with the BT.709 standard from - // https://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale - float[] grayscaleMatrix = { - 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, - 0, 0, 1 - }; - rgbMatrixProcessor = createRgbMatrixProcessor(/* context= */ context, grayscaleMatrix); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); - Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); - - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = - BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( - outputSize.first, outputSize.second); - - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( - testId, /* bitmapLabel= */ "actual", actualBitmap); - float averagePixelAbsoluteDifference = - BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( - expectedBitmap, actualBitmap, testId); - assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); - } - @Test public void drawFrame_removeRedGreenAndBlueValuesInAChain_producesBlackImage() throws Exception { String testId = "drawFrame_removeRedGreenBlueValuesInAChain"; diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java new file mode 100644 index 00000000000..a0ed700a75b --- /dev/null +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java @@ -0,0 +1,140 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; +import static com.google.common.truth.Truth.assertThat; + +import android.content.Context; +import android.graphics.Bitmap; +import android.opengl.EGLContext; +import android.opengl.EGLDisplay; +import android.opengl.EGLSurface; +import android.util.Pair; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.GlUtil; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import java.io.IOException; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Pixel tests for {@link RgbFilter}. + * + *

      Expected images are taken from an emulator, so tests on different emulators or physical + * devices may fail. To test on other devices, please increase the {@link + * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. + */ +@RunWith(AndroidJUnit4.class) +public final class RgbFilterPixelTest { + public static final String ORIGINAL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/original.png"; + public static final String GRAYSCALE_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/grayscale.png"; + public static final String INVERT_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/invert.png"; + + private final Context context = getApplicationContext(); + + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; + private @MonotonicNonNull SingleFrameGlTextureProcessor rgbMatrixProcessor; + private @MonotonicNonNull EGLSurface placeholderEglSurface; + private int inputTexId; + private int outputTexId; + private int inputWidth; + private int inputHeight; + + @Before + public void createGlObjects() throws IOException, GlUtil.GlException { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); + Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + inputWidth = inputBitmap.getWidth(); + inputHeight = inputBitmap.getHeight(); + placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); + GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); + inputTexId = BitmapTestUtil.createGlTextureFromBitmap(inputBitmap); + + outputTexId = + GlUtil.createTexture(inputWidth, inputHeight, /* useHighPrecisionColorComponents= */ false); + int frameBuffer = GlUtil.createFboForTexture(outputTexId); + GlUtil.focusFramebuffer( + checkNotNull(eglDisplay), + checkNotNull(eglContext), + checkNotNull(placeholderEglSurface), + frameBuffer, + inputWidth, + inputHeight); + } + + @After + public void release() throws GlUtil.GlException, FrameProcessingException { + if (rgbMatrixProcessor != null) { + rgbMatrixProcessor.release(); + } + GlUtil.destroyEglContext(eglDisplay, eglContext); + } + + @Test + public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { + String testId = "drawFrame_grayscale"; + RgbMatrix grayscaleMatrix = RgbFilter.createGrayscaleFilter(); + rgbMatrixProcessor = new RgbMatrixProcessor(context, grayscaleMatrix, /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); + + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_inverted_producesInvertedFrame() throws Exception { + String testId = "drawFrame_inverted"; + RgbMatrix invertedMatrix = RgbFilter.createInvertedFilter(); + rgbMatrixProcessor = new RgbMatrixProcessor(context, invertedMatrix, /* useHdr= */ false); + Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INVERT_PNG_ASSET_PATH); + + rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java index e5e8769f750..4d4604b5890 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java @@ -96,7 +96,7 @@ private RgbAdjustment(float[] rgbMatrix) { } @Override - public float[] getMatrix(long presentationTimeUs) { + public float[] getMatrix(long presentationTimeUs, boolean useHdr) { return rgbMatrix; } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java new file mode 100644 index 00000000000..2e96368182c --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java @@ -0,0 +1,99 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkState; + +import android.content.Context; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.UnstableApi; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + +/** Provides common color filters. */ +@UnstableApi +public class RgbFilter implements RgbMatrix { + private static final int COLOR_FILTER_GRAYSCALE_INDEX = 1; + private static final int COLOR_FILTER_INVERTED_INDEX = 2; + + // Grayscale transformation matrix using the BT.709 luminance coefficients from + // https://en.wikipedia.org/wiki/Grayscale#Converting_colour_to_grayscale + private static final float[] FILTER_MATRIX_GRAYSCALE_SDR = { + 0.2126f, 0.2126f, 0.2126f, 0, 0.7152f, 0.7152f, 0.7152f, 0, 0.0722f, 0.0722f, 0.0722f, 0, 0, 0, + 0, 1 + }; + // Grayscale transformation using the BT.2020 primary colors from + // https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.2020-2-201510-I!!PDF-E.pdf + // TODO(b/241240659): Add HDR tests once infrastructure supports it. + private static final float[] FILTER_MATRIX_GRAYSCALE_HDR = { + 0.2627f, 0.2627f, 0.2627f, 0, 0.6780f, 0.6780f, 0.6780f, 0, 0.0593f, 0.0593f, 0.0593f, 0, 0, 0, + 0, 1 + }; + // Inverted filter uses the transformation R' = -R + 1 = 1 - R. + private static final float[] FILTER_MATRIX_INVERTED = { + -1, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0, 1, 1, 1, 1 + }; + + private final int colorFilter; + /** + * Ensures that the usage of HDR is consistent. {@code null} indicates that HDR has not yet been + * set. + */ + private @MonotonicNonNull Boolean useHdr; + + /** Creates a new grayscale {@code RgbFilter} instance. */ + public static RgbFilter createGrayscaleFilter() { + return new RgbFilter(COLOR_FILTER_GRAYSCALE_INDEX); + } + + /** Creates a new inverted {@code RgbFilter} instance. */ + public static RgbFilter createInvertedFilter() { + return new RgbFilter(COLOR_FILTER_INVERTED_INDEX); + } + + private RgbFilter(int colorFilter) { + this.colorFilter = colorFilter; + } + + private void checkForConsistentHdrSetting(boolean useHdr) { + if (this.useHdr == null) { + this.useHdr = useHdr; + } else { + checkState(this.useHdr == useHdr, "Changing HDR setting is not supported."); + } + } + + @Override + public float[] getMatrix(long presentationTimeUs, boolean useHdr) { + checkForConsistentHdrSetting(useHdr); + switch (colorFilter) { + case COLOR_FILTER_GRAYSCALE_INDEX: + return useHdr ? FILTER_MATRIX_GRAYSCALE_HDR : FILTER_MATRIX_GRAYSCALE_SDR; + case COLOR_FILTER_INVERTED_INDEX: + return FILTER_MATRIX_INVERTED; + default: + // Should never happen. + throw new IllegalStateException("Invalid color filter " + colorFilter); + } + } + + @Override + public RgbMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) + throws FrameProcessingException { + checkForConsistentHdrSetting(useHdr); + return new RgbMatrixProcessor(context, /* rgbMatrix= */ this, useHdr); + } +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java index 18a8891045b..82c2a96bc0d 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java @@ -29,8 +29,14 @@ public interface RgbMatrix extends GlEffect { /** * Returns the 4x4 RGB transformation {@linkplain android.opengl.Matrix matrix} to apply to the * color values of each pixel in the frame with the given timestamp. + * + * @param presentationTimeUs The timestamp of the frame to apply the matrix on. + * @param useHdr If {@code true}, colors will be in linear RGB BT.2020. If {@code false}, colors + * will be in gamma RGB BT.709. Must be consistent with {@code useHdr} in {@link + * #toGlTextureProcessor(Context, boolean)}. + * @return The {@code RgbMatrix} to apply to the frame. */ - float[] getMatrix(long presentationTimeUs); + float[] getMatrix(long presentationTimeUs, boolean useHdr); @Override default RgbMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java index f43d27643cf..6cdf76844c1 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java @@ -39,6 +39,7 @@ private final GlProgram glProgram; private final ImmutableList rgbMatrices; + private final boolean useHdr; // TODO(b/239757183): Merge RgbMatrixProcessor with MatrixTransformationProcessor. /** @@ -70,6 +71,7 @@ public RgbMatrixProcessor(Context context, ImmutableList rgbMatrices, throws FrameProcessingException { super(useHdr); this.rgbMatrices = rgbMatrices; + this.useHdr = useHdr; try { glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); @@ -95,7 +97,7 @@ public Pair configure(int inputWidth, int inputHeight) { } private static float[] createCompositeRgbaMatrixArray( - ImmutableList rgbMatrices, long presentationTimeUs) { + ImmutableList rgbMatrices, boolean useHdr, long presentationTimeUs) { float[] tempResultMatrix = new float[16]; float[] compositeRgbaMatrix = new float[16]; Matrix.setIdentityM(compositeRgbaMatrix, /* smOffset= */ 0); @@ -104,7 +106,7 @@ private static float[] createCompositeRgbaMatrixArray( Matrix.multiplyMM( /* result= */ tempResultMatrix, /* resultOffset= */ 0, - /* lhs= */ rgbMatrices.get(i).getMatrix(presentationTimeUs), + /* lhs= */ rgbMatrices.get(i).getMatrix(presentationTimeUs, useHdr), /* lhsOffset= */ 0, /* rhs= */ compositeRgbaMatrix, /* rhsOffset= */ 0); @@ -122,7 +124,8 @@ private static float[] createCompositeRgbaMatrixArray( @Override public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { // TODO(b/239431666): Add caching for compacting Matrices. - float[] rgbMatrixArray = createCompositeRgbaMatrixArray(rgbMatrices, presentationTimeUs); + float[] rgbMatrixArray = + createCompositeRgbaMatrixArray(rgbMatrices, useHdr, presentationTimeUs); try { glProgram.use(); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/invert.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/invert.png new file mode 100644 index 0000000000000000000000000000000000000000..e909fe608469e0acef48b48a73f131e671410ada GIT binary patch literal 539753 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

      u~XpqPpUdZjyOM(#s&zUD6J$vhx== zP01&L=1#zfix`pW>R}T1D13&(vz_L zuk@jnzz-S$nE$5>rzcV%3oH0REcKc4*pn29+W`VdcKs6Y%@B2JGxSs#sY-%5Zuz81 zgj|(qlYo1@W=ZiV?X&r+3822k)&Pjnvxi5_KMIA_G9kGBQc+f^w5BZT1=e&^czk-< zT-Y}W;k0B;a+=i9y@i8c%~sTe1JZ}5(nr0W!%0D4aS)_% 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�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

      o5k=Xvc=`25pD{#tPIK`Ad*{VZ` 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

      #i2)|eVDMo99DEwL^JL1(k-OjUaNYkvhMqY}r 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

      -=XU| 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 Date: Tue, 30 Aug 2022 17:07:31 +0000 Subject: [PATCH 209/422] Fix 19 ErrorProneStyle findings: * Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) (19 times) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: " * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: ". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 471022923 (cherry picked from commit b48ca6e0403ac07063d7767352fc4cd77295f91c) --- .../media3/exoplayer/ExoPlayerTest.java | 34 +++++++++---------- .../exoplayer/MediaPeriodQueueTest.java | 2 +- .../media3/exoplayer/MediaSourceListTest.java | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index 328dc7caf28..fcb19b48ca6 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -1232,10 +1232,10 @@ public void dynamicTimelineChangeReason() throws Exception { new ActionSchedule.Builder(TAG) .pause() .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .executeRunnable(() -> mediaSource.setNewSourceInfo(timeline2)) .waitForTimelineChanged( - timeline2, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline2, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .play() .build(); ExoPlayerTestRunner testRunner = @@ -1758,7 +1758,7 @@ public void resetPlaylistWithPreviousPosition() throws Exception { .playUntilPosition(/* mediaItemIndex= */ 0, /* positionMs= */ 2000) .setMediaSources(/* mediaItemIndex= */ 0, /* positionMs= */ 2000, secondSource) .waitForTimelineChanged( - secondTimeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + secondTimeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .executeRunnable( new PlayerRunnable() { @Override @@ -1812,7 +1812,7 @@ public void resetPlaylistStartsFromDefaultPosition() throws Exception { .playUntilPosition(/* mediaItemIndex= */ 0, /* positionMs= */ 2000) .setMediaSources(/* resetPosition= */ true, secondSource) .waitForTimelineChanged( - secondTimeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + secondTimeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .executeRunnable( new PlayerRunnable() { @Override @@ -1869,7 +1869,7 @@ public void resetPlaylistWithoutResettingPositionStartsFromOldPosition() throws .playUntilPosition(/* mediaItemIndex= */ 0, /* positionMs= */ 2000) .setMediaSources(secondSource) .waitForTimelineChanged( - secondTimeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + secondTimeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .executeRunnable( new PlayerRunnable() { @Override @@ -2306,7 +2306,7 @@ public void sendMessagesAfterPreparation() throws Exception { new ActionSchedule.Builder(TAG) .pause() .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .sendMessage(target, /* positionMs= */ 50) .play() .build(); @@ -2495,7 +2495,7 @@ public void sendMessagesSeekOnDeliveryTimeAfterPreparation() throws Exception { .waitForPlaybackState(Player.STATE_BUFFERING) .sendMessage(target, /* positionMs= */ 50) .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .seek(/* positionMs= */ 50) .build(); new ExoPlayerTestRunner.Builder(context) @@ -2535,7 +2535,7 @@ public void sendMessagesSeekAfterDeliveryTimeAfterPreparation() throws Exception .pause() .sendMessage(target, /* positionMs= */ 50) .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .seek(/* positionMs= */ 51) .play() .build(); @@ -2612,11 +2612,11 @@ public void sendMessagesMoveCurrentMediaItemIndex() throws Exception { new ActionSchedule.Builder(TAG) .pause() .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .sendMessage(target, /* positionMs= */ 50) .executeRunnable(() -> mediaSource.setNewSourceInfo(secondTimeline)) .waitForTimelineChanged( - secondTimeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + secondTimeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .play() .build(); new ExoPlayerTestRunner.Builder(context) @@ -2658,7 +2658,7 @@ public void sendMessagesMultiWindowAfterPreparation() throws Exception { new ActionSchedule.Builder(TAG) .pause() .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .sendMessage(target, /* mediaItemIndex = */ 2, /* positionMs= */ 50) .play() .build(); @@ -2689,11 +2689,11 @@ public void sendMessagesMoveMediaItemIndex() throws Exception { new ActionSchedule.Builder(TAG) .pause() .waitForTimelineChanged( - timeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .sendMessage(target, /* mediaItemIndex = */ 1, /* positionMs= */ 50) .executeRunnable(() -> mediaSource.setNewSourceInfo(secondTimeline)) .waitForTimelineChanged( - secondTimeline, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + secondTimeline, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .seek(/* mediaItemIndex= */ 0, /* positionMs= */ 0) .play() .build(); @@ -2903,7 +2903,7 @@ public void timelineUpdateDropsPrebufferedPeriods() throws Exception { /* positionMs= */ Util.usToMs(TimelineWindowDefinition.DEFAULT_WINDOW_DURATION_US)) .executeRunnable(() -> mediaSource.setNewSourceInfo(timeline2)) .waitForTimelineChanged( - timeline2, /* expectedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) + timeline2, /* expectedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE) .play() .build(); ExoPlayerTestRunner testRunner = @@ -9378,7 +9378,7 @@ public void removeMediaItem_atTheEnd_notifiesAvailableCommandsChanged() { Player.Commands defaultCommands = createWithDefaultCommands(); Player.Commands commandsWithSeekToNextWindow = createWithDefaultCommands(COMMAND_SEEK_TO_NEXT_MEDIA_ITEM, COMMAND_SEEK_TO_NEXT); - Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty */ true); + Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty= */ true); Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -9406,7 +9406,7 @@ public void removeMediaItem_atTheStart_notifiesAvailableCommandsChanged() { Player.Commands defaultCommands = createWithDefaultCommands(); Player.Commands commandsWithSeekToPreviousWindow = createWithDefaultCommands(COMMAND_SEEK_TO_PREVIOUS_MEDIA_ITEM); - Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty */ true); + Player.Commands emptyTimelineCommands = createWithDefaultCommands(/* isTimelineEmpty= */ true); Player.Listener mockListener = mock(Player.Listener.class); ExoPlayer player = new TestExoPlayerBuilder(context).build(); player.addListener(mockListener); @@ -10099,7 +10099,7 @@ public void targetLiveOffsetInMedia_withSetPlaybackParameters_usesPlaybackParame // Verify test setup (now = 20 seconds in live window, default start position = 20 seconds). assertThat(liveOffsetAtStart).isIn(Range.closed(-100L, 100L)); - player.setPlaybackParameters(new PlaybackParameters(/* speed */ 2.0f)); + player.setPlaybackParameters(new PlaybackParameters(/* speed= */ 2.0f)); // Play until close to the end of the available live window. TestPlayerRunHelper.playUntilPosition( player, /* mediaItemIndex= */ 0, /* positionMs= */ 999_000); diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java index cb059bc241c..c11a0f616ad 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java @@ -1087,7 +1087,7 @@ private void setupTimeline(Timeline timeline) { mediaSourceList.setMediaSources( ImmutableList.of(mediaSourceHolder), new FakeShuffleOrder(/* length= */ 1)); mediaSourceHolder.mediaSource.prepareSource( - mock(MediaSourceCaller.class), /* mediaTransferListener */ null, PlayerId.UNSET); + mock(MediaSourceCaller.class), /* mediaTransferListener= */ null, PlayerId.UNSET); Timeline playlistTimeline = mediaSourceList.createTimeline(); firstPeriodUid = playlistTimeline.getUidOfPeriod(/* periodIndex= */ 0); diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaSourceListTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaSourceListTest.java index 42a65f24d70..edb874091c0 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaSourceListTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaSourceListTest.java @@ -374,7 +374,7 @@ public void removeMediaSources_whenPrepared_expectRelease() { mockMediaSource2, mockMediaSource3, mockMediaSource4); - mediaSourceList.prepare(/* mediaTransferListener */ null); + mediaSourceList.prepare(/* mediaTransferListener= */ null); mediaSourceList.addMediaSources(/* index= */ 0, holders, shuffleOrder); mediaSourceList.removeMediaSourceRange(/* fromIndex= */ 1, /* toIndex= */ 3, shuffleOrder); From 6c51aa949d90832f0b04788e21b4bed37cc3184c Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 30 Aug 2022 17:50:21 +0000 Subject: [PATCH 210/422] HDR: Use factory for MatrixTransformationProcessor. Separate MatrixTransformationProcessor constructors by color input and output. PiperOrigin-RevId: 471034768 (cherry picked from commit 1b6482960e9240a7697c6a13fdde198e3bf375a1) --- ...atrixTransformationProcessorPixelTest.java | 30 ++- ...lMatrixTransformationProcessorWrapper.java | 20 +- .../effect/GlEffectsFrameProcessor.java | 26 +-- .../media3/effect/GlMatrixTransformation.java | 4 +- .../effect/MatrixTransformationProcessor.java | 217 ++++++++++-------- 5 files changed, 167 insertions(+), 130 deletions(-) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java index 826e9ed9236..479e8f2f873 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java @@ -28,6 +28,7 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableList; import java.io.IOException; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.junit.After; @@ -94,11 +95,10 @@ public void release() throws GlUtil.GlException, FrameProcessingException { public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; Matrix identityMatrix = new Matrix(); + MatrixTransformation noEditsTransformation = (long presentationTimeUs) -> identityMatrix; matrixTransformationFrameProcessor = - new MatrixTransformationProcessor( - context, - /* useHdr= */ false, - /* matrixTransformation= */ (long presentationTimeUs) -> identityMatrix); + MatrixTransformationProcessor.create( + context, ImmutableList.of(noEditsTransformation), /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -120,11 +120,11 @@ public void drawFrame_translateRight_producesExpectedOutput() throws Exception { String testId = "drawFrame_translateRight"; Matrix translateRightMatrix = new Matrix(); translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); + MatrixTransformation translateRightTransformation = + (long presentationTimeUs) -> translateRightMatrix; matrixTransformationFrameProcessor = - new MatrixTransformationProcessor( - context, - /* useHdr= */ false, - /* matrixTransformation= */ (long presentationTimeUs) -> translateRightMatrix); + MatrixTransformationProcessor.create( + context, ImmutableList.of(translateRightTransformation), /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); @@ -146,11 +146,10 @@ public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { String testId = "drawFrame_scaleNarrow"; Matrix scaleNarrowMatrix = new Matrix(); scaleNarrowMatrix.postScale(.5f, 1.2f); + MatrixTransformation scaleNarrowTransformation = (long presentationTimeUs) -> scaleNarrowMatrix; matrixTransformationFrameProcessor = - new MatrixTransformationProcessor( - context, - /* useHdr= */ false, - /* matrixTransformation= */ (long presentationTimeUs) -> scaleNarrowMatrix); + MatrixTransformationProcessor.create( + context, ImmutableList.of(scaleNarrowTransformation), /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(SCALE_NARROW_PNG_ASSET_PATH); @@ -172,11 +171,10 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { String testId = "drawFrame_rotate90"; Matrix rotate90Matrix = new Matrix(); rotate90Matrix.postRotate(/* degrees= */ 90); + MatrixTransformation rotate90Transformation = (long presentationTimeUs) -> rotate90Matrix; matrixTransformationFrameProcessor = - new MatrixTransformationProcessor( - context, - /* useHdr= */ false, - /* matrixTransformation= */ (long presentationTimeUs) -> rotate90Matrix); + MatrixTransformationProcessor.create( + context, ImmutableList.of(rotate90Transformation), /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_90_PNG_ASSET_PATH); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index 24e2a1cf378..cbfc6d8ba04 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -368,13 +368,19 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp Presentation.createForWidthAndHeight( outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); - MatrixTransformationProcessor matrixTransformationProcessor = - new MatrixTransformationProcessor( - context, - matrixTransformationListBuilder.build(), - sampleFromExternalTexture, - colorInfo, - /* outputElectricalColors= */ true); + MatrixTransformationProcessor matrixTransformationProcessor; + ImmutableList expandedMatrixTransformations = + matrixTransformationListBuilder.build(); + if (sampleFromExternalTexture) { + matrixTransformationProcessor = + MatrixTransformationProcessor.createWithExternalSamplerApplyingEotfThenOetf( + context, expandedMatrixTransformations, colorInfo); + } else { + matrixTransformationProcessor = + MatrixTransformationProcessor.createApplyingOetf( + context, expandedMatrixTransformations, colorInfo); + } + matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); Pair outputSize = matrixTransformationProcessor.configure(inputWidth, inputHeight); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 11bddb4e13a..300fd7f066c 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -206,13 +206,17 @@ private static ImmutableList getGlTextureProcessorsForGlEffe ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); if (!matrixTransformations.isEmpty() || sampleFromExternalTexture) { - textureProcessorListBuilder.add( - new MatrixTransformationProcessor( - context, - matrixTransformations, - sampleFromExternalTexture, - colorInfo, - /* outputElectricalColors= */ false)); + MatrixTransformationProcessor matrixTransformationProcessor; + if (sampleFromExternalTexture) { + matrixTransformationProcessor = + MatrixTransformationProcessor.createWithExternalSamplerApplyingEotf( + context, matrixTransformations, colorInfo); + } else { + matrixTransformationProcessor = + MatrixTransformationProcessor.create( + context, matrixTransformations, ColorInfo.isTransferHdr(colorInfo)); + } + textureProcessorListBuilder.add(matrixTransformationProcessor); matrixTransformationListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } @@ -237,12 +241,8 @@ private static ImmutableList getGlTextureProcessorsForGlEffe // TODO(b/239757183): Remove the unnecessary MatrixTransformationProcessor after it got // merged with RgbMatrixProcessor. textureProcessorListBuilder.add( - new MatrixTransformationProcessor( - context, - ImmutableList.of(), - sampleFromExternalTexture, - colorInfo, - /* outputElectricalColors= */ false)); + MatrixTransformationProcessor.createWithExternalSamplerApplyingEotf( + context, /* matrixTransformations= */ ImmutableList.of(), colorInfo)); sampleFromExternalTexture = false; } textureProcessorListBuilder.add( diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java index 4ae5a626463..9f04b230d5f 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java @@ -20,6 +20,7 @@ import android.util.Pair; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; +import com.google.common.collect.ImmutableList; /** * Specifies a 4x4 transformation {@link Matrix} to apply in the vertex shader for each frame. @@ -54,6 +55,7 @@ default Pair configure(int inputWidth, int inputHeight) { @Override default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return new MatrixTransformationProcessor(context, useHdr, /* matrixTransformation= */ this); + return MatrixTransformationProcessor.create( + context, /* matrixTransformations= */ ImmutableList.of(this), useHdr); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index 26863276581..c4fcb54a71a 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -112,97 +112,152 @@ /** * Creates a new instance. * + *

      Input and output are both intermediate optical colors, which are linear RGB BT.2020 if + * {@code useHdr} is {@code true} and gamma RGB BT.709 if not. + * * @param context The {@link Context}. - * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. - * @param matrixTransformation A {@link MatrixTransformation} that specifies the transformation - * matrix to use for each frame. - * @throws FrameProcessingException If a problem occurs while reading shader files. + * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to + * apply to each frame in order. + * @param useHdr Whether input and output colors are HDR. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. */ - public MatrixTransformationProcessor( - Context context, boolean useHdr, MatrixTransformation matrixTransformation) + public static MatrixTransformationProcessor create( + Context context, ImmutableList matrixTransformations, boolean useHdr) throws FrameProcessingException { - this( - createGlProgram( - context, - /* inputElectricalColorsFromExternalTexture= */ false, - useHdr, - /* outputElectricalColors= */ false), - ImmutableList.of(matrixTransformation), - useHdr); + GlProgram glProgram = + createGlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_COPY_PATH); + + // No transfer functions needed, because input and output are both optical colors. + return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); } /** * Creates a new instance. * + *

      Input will be sampled from an external texture. The caller should use {@link + * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with the + * external texture. + * + *

      Applies the {@code electricalColorInfo} EOTF to convert from electrical color input, to + * intermediate optical {@link GlTextureProcessor} color output, before {@code + * matrixTransformations} are applied. + * + *

      Intermediate optical colors are linear RGB BT.2020 if {@code electricalColorInfo} is + * {@linkplain ColorInfo#isTransferHdr(ColorInfo) HDR}, and gamma RGB BT.709 if not. + * * @param context The {@link Context}. - * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. - * @param matrixTransformation A {@link GlMatrixTransformation} that specifies the transformation - * matrix to use for each frame. - * @throws FrameProcessingException If a problem occurs while reading shader files. + * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to + * apply to each frame in order. + * @param electricalColorInfo The electrical {@link ColorInfo} describing input colors. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. */ - public MatrixTransformationProcessor( - Context context, boolean useHdr, GlMatrixTransformation matrixTransformation) + public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotf( + Context context, + ImmutableList matrixTransformations, + ColorInfo electricalColorInfo) throws FrameProcessingException { - this( - createGlProgram( - context, - /* inputElectricalColorsFromExternalTexture= */ false, - useHdr, - /* outputElectricalColors= */ false), - ImmutableList.of(matrixTransformation), - useHdr); + boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); + String vertexShaderFilePath = + useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; + String fragmentShaderFilePath = + useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); + + // TODO(b/241902517): Implement gamma transfer functions. + if (useHdr) { + // In HDR editing mode the decoder output is sampled in YUV. + if (!GlUtil.isYuvTargetExtensionSupported()) { + throw new FrameProcessingException( + "The EXT_YUV_target extension is required for HDR editing input."); + } + glProgram.setFloatsUniform( + "uYuvToRgbColorTransform", + electricalColorInfo.colorRange == C.COLOR_RANGE_FULL + ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX + : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); + + @C.ColorTransfer int colorTransfer = electricalColorInfo.colorTransfer; + checkArgument( + colorTransfer == C.COLOR_TRANSFER_HLG || colorTransfer == C.COLOR_TRANSFER_ST2084); + glProgram.setIntUniform("uEotfColorTransfer", colorTransfer); + } + + return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); } /** * Creates a new instance. * - *

      Able to convert nonlinear electrical {@link ColorInfo} inputs and outputs to and from the - * intermediate optical {@link GlTextureProcessor} colors of linear RGB BT.2020 for HDR, and gamma - * RGB BT.709 for SDR. + *

      Applies the {@code electricalColorInfo} OETF to convert from intermediate optical {@link + * GlTextureProcessor} color input, to electrical color output, after {@code + * matrixTransformations} are applied. + * + *

      Intermediate optical colors are linear RGB BT.2020 if {@code electricalColorInfo} is + * {@linkplain ColorInfo#isTransferHdr(ColorInfo) HDR}, and gamma RGB BT.709 if not. * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to * apply to each frame in order. - * @param inputElectricalColorsFromExternalTexture Whether electrical color input will be provided - * using an external texture. If {@code true}, the caller should use {@link - * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with - * the external texture. - * @param electricalColorInfo The electrical {@link ColorInfo}, only used to transform between - * color spaces and transfers, when {@code inputElectricalColorsFromExternalTexture} or {@code - * outputElectricalColors} are {@code true}. If it is {@linkplain - * ColorInfo#isTransferHdr(ColorInfo) HDR}, intermediate {@link GlTextureProcessor} colors - * will be in linear RGB BT.2020. Otherwise, these colors will be in gamma RGB BT.709. - * @param outputElectricalColors If {@code true}, outputs {@code electricalColorInfo}. If {@code - * false}, outputs intermediate colors of linear RGB BT.2020 if {@code electricalColorInfo} is - * {@linkplain ColorInfo#isTransferHdr(ColorInfo) HDR}, and gamma RGB BT.709 otherwise. + * @param electricalColorInfo The electrical {@link ColorInfo} describing output colors. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ - public MatrixTransformationProcessor( + public static MatrixTransformationProcessor createApplyingOetf( Context context, ImmutableList matrixTransformations, - boolean inputElectricalColorsFromExternalTexture, - ColorInfo electricalColorInfo, - boolean outputElectricalColors) + ColorInfo electricalColorInfo) throws FrameProcessingException { - this( - createGlProgram( - context, - inputElectricalColorsFromExternalTexture, - ColorInfo.isTransferHdr(electricalColorInfo), - outputElectricalColors), - matrixTransformations, - ColorInfo.isTransferHdr(electricalColorInfo)); - if (!ColorInfo.isTransferHdr(electricalColorInfo)) { - return; + boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); + String vertexShaderFilePath = + useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; + String fragmentShaderFilePath = + useHdr ? FRAGMENT_SHADER_OETF_ES3_PATH : FRAGMENT_SHADER_COPY_PATH; + GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); + + // TODO(b/241902517): Implement gamma transfer functions. + if (useHdr) { + @C.ColorTransfer int colorTransfer = electricalColorInfo.colorTransfer; + checkArgument( + colorTransfer == C.COLOR_TRANSFER_HLG || colorTransfer == C.COLOR_TRANSFER_ST2084); + glProgram.setIntUniform("uOetfColorTransfer", colorTransfer); } - @C.ColorTransfer int colorTransfer = electricalColorInfo.colorTransfer; - checkArgument( - colorTransfer == C.COLOR_TRANSFER_HLG || colorTransfer == C.COLOR_TRANSFER_ST2084); - if (inputElectricalColorsFromExternalTexture) { + return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); + } + + /** + * Creates a new instance. + * + *

      Input will be sampled from an external texture. The caller should use {@link + * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with the + * external texture. + * + *

      Applies the OETF, {@code matrixTransformations}, then the EOTF, to convert from and to input + * and output electrical colors. + * + * @param context The {@link Context}. + * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to + * apply to each frame in order. + * @param electricalColorInfo The electrical {@link ColorInfo} describing input and output colors. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. + */ + public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotfThenOetf( + Context context, + ImmutableList matrixTransformations, + ColorInfo electricalColorInfo) + throws FrameProcessingException { + boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); + String vertexShaderFilePath = + useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; + String fragmentShaderFilePath = + useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); + + // TODO(b/241902517): Implement gamma transfer functions. + if (useHdr) { // In HDR editing mode the decoder output is sampled in YUV. if (!GlUtil.isYuvTargetExtensionSupported()) { throw new FrameProcessingException( @@ -214,14 +269,11 @@ public MatrixTransformationProcessor( ? BT2020_FULL_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX : BT2020_LIMITED_RANGE_YUV_TO_RGB_COLOR_TRANSFORM_MATRIX); - // TODO(b/241902517): Implement gamma transfer functions. - - // If electrical colors are both input and output, no EOTF is needed. - glProgram.setIntUniform( - "uEotfColorTransfer", outputElectricalColors ? Format.NO_VALUE : colorTransfer); - } else if (outputElectricalColors) { - glProgram.setIntUniform("uOetfColorTransfer", colorTransfer); + // No transfer functions needed, because the EOTF and OETF cancel out. + glProgram.setIntUniform("uEotfColorTransfer", Format.NO_VALUE); } + + return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); } /** @@ -243,36 +295,15 @@ private MatrixTransformationProcessor( transformationMatrixCache = new float[matrixTransformations.size()][16]; compositeTransformationMatrix = new float[16]; - tempResultMatrix = new float[16]; Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); + tempResultMatrix = new float[16]; visiblePolygon = NDC_SQUARE; } private static GlProgram createGlProgram( - Context context, - boolean inputElectricalColorsFromExternalTexture, - boolean useHdr, - boolean outputElectricalColors) + Context context, String vertexShaderFilePath, String fragmentShaderFilePath) throws FrameProcessingException { - String vertexShaderFilePath; - String fragmentShaderFilePath; - if (inputElectricalColorsFromExternalTexture) { - if (useHdr) { - vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_ES3_PATH; - fragmentShaderFilePath = FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH; - } else { - vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; - fragmentShaderFilePath = FRAGMENT_SHADER_COPY_EXTERNAL_PATH; - } - } else if (outputElectricalColors && useHdr) { - vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_ES3_PATH; - fragmentShaderFilePath = FRAGMENT_SHADER_OETF_ES3_PATH; - } else { - vertexShaderFilePath = VERTEX_SHADER_TRANSFORMATION_PATH; - fragmentShaderFilePath = FRAGMENT_SHADER_COPY_PATH; - } - GlProgram glProgram; try { glProgram = new GlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); From 958df4e030c807193283d918ebb419384866b6e0 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 30 Aug 2022 18:01:11 +0000 Subject: [PATCH 211/422] Effect: Add some FrameProcessor javadoc. In particular, make it a bit more clear that "rendering" and "releasing" frames are related concepts, and how they differ from one another in conjunction with frame dropping. PiperOrigin-RevId: 471037733 (cherry picked from commit 69714e5f8e506d64247992d15864052918abb1df) --- .../media3/common/FrameProcessor.java | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java index 3ddb2782ab4..4c9a675d8b6 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/FrameProcessor.java @@ -24,10 +24,10 @@ /** * Interface for a frame processor that applies changes to individual video frames. * - *

      The changes are specified by {@link Effect} instances passed to the {@link Factory}. + *

      The changes are specified by {@link Effect} instances passed to {@link Factory#create}. * - *

      The frame processor manages its input {@link Surface} which can be accessed via {@link - * #getInputSurface()}. The output {@link Surface} must be set by the caller using {@link + *

      Manages its input {@link Surface}, which can be accessed via {@link #getInputSurface()}. The + * output {@link Surface} must be set by the caller using {@link * #setOutputSurfaceInfo(SurfaceInfo)}. * *

      The caller must {@linkplain #registerInputFrame() register} input frames before rendering them @@ -47,10 +47,11 @@ interface Factory { * @param effects The {@link Effect} instances to apply to each frame. * @param debugViewProvider A {@link DebugViewProvider}. * @param colorInfo The {@link ColorInfo} for input and output frames. - * @param releaseFramesAutomatically If {@code true}, the {@link FrameProcessor} will release + * @param releaseFramesAutomatically If {@code true}, the {@link FrameProcessor} will render * output frames to the {@linkplain #setOutputSurfaceInfo(SurfaceInfo) output surface} - * automatically as they become available. If {@code false}, the {@link FrameProcessor} will - * wait to release each frame until {@link #releaseOutputFrame(long)} is called. + * automatically as {@link FrameProcessor} is done processing them. If {@code false}, the + * {@link FrameProcessor} will block until {@link #releaseOutputFrame(long)} is called, to + * render or drop the frame. * @return A new instance. * @throws FrameProcessingException If a problem occurs while creating the {@link * FrameProcessor}. @@ -99,7 +100,7 @@ interface Listener { void onFrameProcessingEnded(); } - /** Returns the input {@link Surface}. */ + /** Returns the input {@link Surface}, where {@link FrameProcessor} consumes input frames from. */ Surface getInputSurface(); /** @@ -133,11 +134,12 @@ interface Listener { int getPendingInputFrameCount(); /** - * Sets the output surface and supporting information. + * Sets the output surface and supporting information. When output frames are released and not + * dropped, they will be rendered to this output {@link SurfaceInfo}. * *

      The new output {@link SurfaceInfo} is applied from the next output frame rendered onwards. * If the output {@link SurfaceInfo} is {@code null}, the {@code FrameProcessor} will stop - * rendering and resume rendering pending frames once a non-null {@link SurfaceInfo} is set. + * rendering pending frames and resume rendering once a non-null {@link SurfaceInfo} is set. * *

      If the dimensions given in {@link SurfaceInfo} do not match the {@linkplain * Listener#onOutputSizeChanged(int,int) output size after applying the final effect} the frames @@ -153,6 +155,9 @@ interface Listener { * Releases the oldest unreleased output frame that has become {@linkplain * Listener#onOutputFrameAvailable(long) available} at the given {@code releaseTimeNs}. * + *

      This will either render the output frame to the {@linkplain #setOutputSurfaceInfo output + * surface}, or drop the frame, per {@code releaseTimeNs}. + * *

      This method must only be called if {@code releaseFramesAutomatically} was set to {@code * false} using the {@link Factory} and should be called exactly once for each frame that becomes * {@linkplain Listener#onOutputFrameAvailable(long) available}. From 590a933a7094b6b8139f53166006138e89072009 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 31 Aug 2022 01:09:09 +0000 Subject: [PATCH 212/422] Add @SuppressWarnings to nullness errors detected by a newer version of the Checker Framework PiperOrigin-RevId: 471137219 (cherry picked from commit 1b389ebcf5ee8203f459f0edce55b0b15ee0d93e) --- .../java/androidx/media3/common/util/TimestampAdjuster.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/TimestampAdjuster.java b/libraries/common/src/main/java/androidx/media3/common/util/TimestampAdjuster.java index 6e6e9b1d83d..e1d6619bb3a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/TimestampAdjuster.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/TimestampAdjuster.java @@ -66,6 +66,8 @@ public final class TimestampAdjuster { * Next sample timestamps for calling threads in shared mode when {@link #timestampOffsetUs} has * not yet been set. */ + // incompatible type argument for type parameter T of ThreadLocal. + @SuppressWarnings("nullness:type.argument.type.incompatible") private final ThreadLocal nextSampleTimestampUs; /** @@ -73,6 +75,8 @@ public final class TimestampAdjuster { * microseconds, or {@link #MODE_NO_OFFSET} if timestamps should not be offset, or {@link * #MODE_SHARED} if the adjuster will be used in shared mode. */ + // incompatible types in assignment. + @SuppressWarnings("nullness:assignment.type.incompatible") public TimestampAdjuster(long firstSampleTimestampUs) { nextSampleTimestampUs = new ThreadLocal<>(); reset(firstSampleTimestampUs); From 88b22bffc1c56d02cc072fe696e28f7dce314558 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 31 Aug 2022 08:29:19 +0000 Subject: [PATCH 213/422] Fix 3 ErrorProneStyle findings: * Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) (3 times) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: " * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: ". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 471198016 (cherry picked from commit 6d3cc01d79c90e5f172d267d1007beb40b13ef3f) --- .../media3/exoplayer/dash/DefaultDashChunkSourceTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/DefaultDashChunkSourceTest.java b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/DefaultDashChunkSourceTest.java index 6811ebe02b1..720398d6f9b 100644 --- a/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/DefaultDashChunkSourceTest.java +++ b/libraries/exoplayer_dash/src/test/java/androidx/media3/exoplayer/dash/DefaultDashChunkSourceTest.java @@ -95,7 +95,7 @@ public void getNextChunk_forLowLatencyManifest_setsCorrectMayNotLoadAtFullNetwor /* elapsedRealtimeOffsetMs= */ 0, /* maxSegmentsPerLoad= */ 1, /* enableEventMessageTrack= */ false, - /* closedCaptionFormats */ ImmutableList.of(), + /* closedCaptionFormats= */ ImmutableList.of(), /* playerTrackEmsgHandler= */ null, PlayerId.UNSET); @@ -144,7 +144,7 @@ public void getNextChunk_forVodManifest_doesNotSetMayNotLoadAtFullNetworkSpeedFl /* elapsedRealtimeOffsetMs= */ 0, /* maxSegmentsPerLoad= */ 1, /* enableEventMessageTrack= */ false, - /* closedCaptionFormats */ ImmutableList.of(), + /* closedCaptionFormats= */ ImmutableList.of(), /* playerTrackEmsgHandler= */ null, PlayerId.UNSET); @@ -328,7 +328,7 @@ private DashChunkSource createDashChunkSource(int numberOfTracks) throws IOExcep /* elapsedRealtimeOffsetMs= */ 0, /* maxSegmentsPerLoad= */ 1, /* enableEventMessageTrack= */ false, - /* closedCaptionFormats */ ImmutableList.of(), + /* closedCaptionFormats= */ ImmutableList.of(), /* playerTrackEmsgHandler= */ null, PlayerId.UNSET); } From 422e317156685ca2c42deff44ecd3a4e10051351 Mon Sep 17 00:00:00 2001 From: rohks Date: Wed, 31 Aug 2022 17:23:20 +0000 Subject: [PATCH 214/422] Provide methods to override notification fields `contentTitle` and `contentText` can now be overridden. Issue: androidx/media#150 PiperOrigin-RevId: 471287701 (cherry picked from commit a45df2fdcb5c0d1e8c6eb8ab23e421e8d9233e68) --- .../DefaultMediaNotificationProvider.java | 40 +++++++++++++++- .../DefaultMediaNotificationProviderTest.java | 46 +++++++++++++++++++ 2 files changed, 85 insertions(+), 1 deletion(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 13941f45c7d..d6b15c0151e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -281,7 +281,9 @@ public final MediaNotification createNotification( // Set metadata info in the notification. MediaMetadata metadata = player.getMediaMetadata(); - builder.setContentTitle(metadata.title).setContentText(metadata.artist); + builder + .setContentTitle(getNotificationContentTitle(metadata)) + .setContentText(getNotificationContentText(metadata)); @Nullable ListenableFuture bitmapFuture = loadArtworkBitmap(metadata); if (bitmapFuture != null) { if (pendingOnBitmapLoadedFutureCallback != null) { @@ -504,6 +506,42 @@ protected int[] addNotificationActions( return compactViewIndices; } + /** + * Returns the content title to be used to build the notification. + * + *

      This method is called each time a new notification is built. + * + *

      Override this method to customize which field of {@link MediaMetadata} is used for content + * title of the notification. + * + *

      By default, the notification shows {@link MediaMetadata#title} as content title. + * + * @param metadata The media metadata from which content title is fetched. + * @return Notification content title. + */ + @Nullable + protected CharSequence getNotificationContentTitle(MediaMetadata metadata) { + return metadata.title; + } + + /** + * Returns the content text to be used to build the notification. + * + *

      This method is called each time a new notification is built. + * + *

      Override this method to customize which field of {@link MediaMetadata} is used for content + * text of the notification. + * + *

      By default, the notification shows {@link MediaMetadata#artist} as content text. + * + * @param metadata The media metadata from which content text is fetched. + * @return Notification content text. + */ + @Nullable + protected CharSequence getNotificationContentText(MediaMetadata metadata) { + return metadata.artist; + } + private void ensureNotificationChannel() { if (Util.SDK_INT < 26 || notificationManager.getNotificationChannel(channelId) != null) { return; diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index 1bb95172da2..a97777e3be6 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -510,6 +510,52 @@ public void setCustomSmallIcon_notificationUsesCustomSmallIcon() { .isEqualTo(R.drawable.media3_icon_circular_play); } + @Test + public void setMediaMetadataTitle_notificationUsesItAsContentTitle() { + Context context = ApplicationProvider.getApplicationContext(); + DefaultMediaNotificationProvider defaultMediaNotificationProvider = + new DefaultMediaNotificationProvider.Builder(context).build(); + DefaultActionFactory defaultActionFactory = + new DefaultActionFactory(Robolectric.setupService(TestService.class)); + MediaSession mockMediaSession = + createMockMediaSessionForNotification( + new MediaMetadata.Builder().setTitle("title").build()); + + MediaNotification notification = + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + ImmutableList.of(), + defaultActionFactory, + mock(MediaNotification.Provider.Callback.class)); + + boolean isMediaMetadataTitleEqualToNotificationContentTitle = + "title".contentEquals(NotificationCompat.getContentTitle(notification.notification)); + assertThat(isMediaMetadataTitleEqualToNotificationContentTitle).isTrue(); + } + + @Test + public void setMediaMetadataArtist_notificationUsesItAsContentText() { + Context context = ApplicationProvider.getApplicationContext(); + DefaultMediaNotificationProvider defaultMediaNotificationProvider = + new DefaultMediaNotificationProvider.Builder(context).build(); + DefaultActionFactory defaultActionFactory = + new DefaultActionFactory(Robolectric.setupService(TestService.class)); + MediaSession mockMediaSession = + createMockMediaSessionForNotification( + new MediaMetadata.Builder().setArtist("artist").build()); + + MediaNotification notification = + defaultMediaNotificationProvider.createNotification( + mockMediaSession, + ImmutableList.of(), + defaultActionFactory, + mock(MediaNotification.Provider.Callback.class)); + + boolean isMediaMetadataArtistEqualToNotificationContentText = + "artist".contentEquals(NotificationCompat.getContentText(notification.notification)); + assertThat(isMediaMetadataArtistEqualToNotificationContentText).isTrue(); + } + private static void assertHasNotificationChannel( List notificationChannels, String channelId, String channelName) { boolean found = false; From 62ed45b5051a4ff13e56195ec72d2b6370dacd32 Mon Sep 17 00:00:00 2001 From: rohks Date: Thu, 1 Sep 2022 16:08:00 +0000 Subject: [PATCH 215/422] Use ContextCompat.getMainExecutor when calling MediaBrowser methods Replacing remaining usage of MoreExecutors.directExecutor. This allows the service to be switched to run in another process and the app still works the same as if it is running in the same process. Issue: androidx/media#100 PiperOrigin-RevId: 471547177 (cherry picked from commit 9a6745431a285a4403e66aa4227f6fc1d118ba75) --- .../main/java/androidx/media3/demo/session/MainActivity.kt | 5 ++--- .../androidx/media3/demo/session/PlayableFolderActivity.kt | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/demos/session/src/main/java/androidx/media3/demo/session/MainActivity.kt b/demos/session/src/main/java/androidx/media3/demo/session/MainActivity.kt index 9abfd650563..0e7694dc037 100644 --- a/demos/session/src/main/java/androidx/media3/demo/session/MainActivity.kt +++ b/demos/session/src/main/java/androidx/media3/demo/session/MainActivity.kt @@ -34,7 +34,6 @@ import androidx.media3.session.MediaBrowser import androidx.media3.session.SessionToken import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton import com.google.common.util.concurrent.ListenableFuture -import com.google.common.util.concurrent.MoreExecutors class MainActivity : AppCompatActivity() { private lateinit var browserFuture: ListenableFuture @@ -105,7 +104,7 @@ class MainActivity : AppCompatActivity() { SessionToken(this, ComponentName(this, PlaybackService::class.java)) ) .buildAsync() - browserFuture.addListener({ pushRoot() }, MoreExecutors.directExecutor()) + browserFuture.addListener({ pushRoot() }, ContextCompat.getMainExecutor(this)) } private fun releaseBrowser() { @@ -132,7 +131,7 @@ class MainActivity : AppCompatActivity() { subItemMediaList.addAll(children) mediaListAdapter.notifyDataSetChanged() }, - MoreExecutors.directExecutor() + ContextCompat.getMainExecutor(this) ) } diff --git a/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt b/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt index 125b0e0b8a1..f92bb3367fb 100644 --- a/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt +++ b/demos/session/src/main/java/androidx/media3/demo/session/PlayableFolderActivity.kt @@ -38,7 +38,6 @@ import com.google.android.material.floatingactionbutton.ExtendedFloatingActionBu import com.google.android.material.snackbar.BaseTransientBottomBar import com.google.android.material.snackbar.Snackbar import com.google.common.util.concurrent.ListenableFuture -import com.google.common.util.concurrent.MoreExecutors class PlayableFolderActivity : AppCompatActivity() { private lateinit var browserFuture: ListenableFuture @@ -132,7 +131,7 @@ class PlayableFolderActivity : AppCompatActivity() { SessionToken(this, ComponentName(this, PlaybackService::class.java)) ) .buildAsync() - browserFuture.addListener({ displayFolder() }, MoreExecutors.directExecutor()) + browserFuture.addListener({ displayFolder() }, ContextCompat.getMainExecutor(this)) } private fun releaseBrowser() { From 15f8e361b6ec7c307aeb0c1870036e877a3bba59 Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 1 Sep 2022 17:37:30 +0000 Subject: [PATCH 216/422] Skip transcoding if HDR video does not need encoding. https://github.com/androidx/media/commit/3b0d2c15867b3698f130476736785d427b28b7bd made `shouldPassthrough` always return false for `enableHdrVideoEditing`: >We force using `FrameEditor` (no passthrough) to avoid the need to select another edit operation, and use the new shaders. The `EGLContext` and `EGLSurface` also need to be set up differently for this path. However, this was introduced before the `videoNeedsEncoding` setting was introduced in https://github.com/androidx/media/commit/3f615040c033a37f81b1d73605cd1f7d420b47b5. That setting should apply to HDR videos as much as SDR videos. PiperOrigin-RevId: 471569853 (cherry picked from commit bc88f8be54b5c666d9ad591c04ac9faa4457454a) --- .../androidx/media3/transformer/TransformerVideoRenderer.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 2c4574e7399..e9e498433cb 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -143,9 +143,6 @@ private boolean shouldPassthrough(Format inputFormat) { if (transformationRequest.enableRequestSdrToneMapping) { return false; } - if (transformationRequest.enableHdrEditing) { - return false; - } if (transformationRequest.videoMimeType != null && !transformationRequest.videoMimeType.equals(inputFormat.sampleMimeType)) { return false; From eac48294069d33939c51cb2e525536eae0f5a0ff Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Fri, 2 Sep 2022 09:49:26 +0000 Subject: [PATCH 217/422] Rename shouldPassthrough to shouldTranscode shouldPassthrough's internal checks seem to be check whether we should *not* pass through, which seemed a bit like a confusing double-negative to me. shouldTranscode is slightly more clear, by instead returning true when we do want to transcode. No functional changes intended. PiperOrigin-RevId: 471753771 (cherry picked from commit 7085c2fa6e90834b7ace3b22b16d9f14f5e9eb66) --- .../transformer/TransformerVideoRenderer.java | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index e9e498433cb..19be11a6d48 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -108,10 +108,7 @@ protected boolean ensureConfigured() throws TransformationException { /* mediaCodecName= */ null, TransformationException.ERROR_CODE_HDR_EDITING_UNSUPPORTED); } - if (shouldPassthrough(inputFormat)) { - samplePipeline = - new PassthroughSamplePipeline(inputFormat, transformationRequest, fallbackListener); - } else { + if (shouldTranscode(inputFormat)) { samplePipeline = new VideoTranscodingSamplePipeline( context, @@ -126,6 +123,9 @@ protected boolean ensureConfigured() throws TransformationException { fallbackListener, asyncErrorListener, debugViewProvider); + } else { + samplePipeline = + new PassthroughSamplePipeline(inputFormat, transformationRequest, fallbackListener); } if (transformationRequest.flattenForSlowMotion) { sefSlowMotionFlattener = new SefSlowMotionFlattener(inputFormat); @@ -133,47 +133,47 @@ protected boolean ensureConfigured() throws TransformationException { return true; } - private boolean shouldPassthrough(Format inputFormat) { + private boolean shouldTranscode(Format inputFormat) { if ((streamStartPositionUs - streamOffsetUs) != 0 && !clippingStartsAtKeyFrame) { - return false; + return true; } if (encoderFactory.videoNeedsEncoding()) { - return false; + return true; } if (transformationRequest.enableRequestSdrToneMapping) { - return false; + return true; } if (transformationRequest.videoMimeType != null && !transformationRequest.videoMimeType.equals(inputFormat.sampleMimeType)) { - return false; + return true; } if (transformationRequest.videoMimeType == null && !muxerWrapper.supportsSampleMimeType(inputFormat.sampleMimeType)) { - return false; + return true; } if (inputFormat.pixelWidthHeightRatio != 1f) { - return false; + return true; } if (transformationRequest.rotationDegrees != 0f) { - return false; + return true; } if (transformationRequest.scaleX != 1f) { - return false; + return true; } if (transformationRequest.scaleY != 1f) { - return false; + return true; } // The decoder rotates encoded frames for display by inputFormat.rotationDegrees. int decodedHeight = (inputFormat.rotationDegrees % 180 == 0) ? inputFormat.height : inputFormat.width; if (transformationRequest.outputHeight != C.LENGTH_UNSET && transformationRequest.outputHeight != decodedHeight) { - return false; + return true; } if (!effects.isEmpty()) { - return false; + return true; } - return true; + return false; } /** From 2dfca4fca86fea419299913f9b4a5221f71b0693 Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 2 Sep 2022 13:10:29 +0000 Subject: [PATCH 218/422] Add sepia, grayscale, and inverted filters to the demo app. PiperOrigin-RevId: 471782565 (cherry picked from commit 305ea20518b037566839c64bafbc9e42f3d7a8b2) --- .../transformer/ConfigurationActivity.java | 37 ++++++++++++++++--- .../demo/transformer/TransformerActivity.java | 36 ++++++++++++++++-- .../src/main/res/values/strings.xml | 5 +++ 3 files changed, 69 insertions(+), 9 deletions(-) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 3c9cdb1d089..6c822a38f32 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -67,7 +67,11 @@ public final class ConfigurationActivity extends AppCompatActivity { public static final String PERIODIC_VIGNETTE_CENTER_Y = "periodic_vignette_center_y"; public static final String PERIODIC_VIGNETTE_INNER_RADIUS = "periodic_vignette_inner_radius"; public static final String PERIODIC_VIGNETTE_OUTER_RADIUS = "periodic_vignette_outer_radius"; + public static final String COLOR_FILTER_SELECTION = "color_filter_selection"; public static final String CONTRAST_VALUE = "contrast_value"; + public static final int COLOR_FILTER_GRAYSCALE = 0; + public static final int COLOR_FILTER_INVERTED = 1; + public static final int COLOR_FILTER_SEPIA = 2; private static final String[] INPUT_URIS = { "https://storage.googleapis.com/exoplayer-test-media-1/mp4/android-screens-10s.mp4", "https://storage.googleapis.com/exoplayer-test-media-0/android-block-1080-hevc.mp4", @@ -101,14 +105,16 @@ public final class ConfigurationActivity extends AppCompatActivity { private static final String[] DEMO_EFFECTS = { "Dizzy crop", "Edge detector (Media Pipe)", + "Color filters", "Contrast", "Periodic vignette", "3D spin", "Overlay logo & timer", "Zoom in start", }; - private static final int CONTRAST_INDEX = 2; - private static final int PERIODIC_VIGNETTE_INDEX = 3; + private static final int COLOR_FILTERS_INDEX = 2; + private static final int CONTRAST_INDEX = 3; + private static final int PERIODIC_VIGNETTE_INDEX = 4; private static final String SAME_AS_INPUT_OPTION = "same as input"; private static final float HALF_DIAGONAL = 1f / (float) Math.sqrt(2); @@ -132,6 +138,7 @@ public final class ConfigurationActivity extends AppCompatActivity { private int inputUriPosition; private long trimStartMs; private long trimEndMs; + private int colorFilterSelection; private float contrastValue; private float periodicVignetteCenterX; private float periodicVignetteCenterY; @@ -288,6 +295,7 @@ private void startTransformation(View view) { ENABLE_REQUEST_SDR_TONE_MAPPING, enableRequestSdrToneMappingCheckBox.isChecked()); bundle.putBoolean(ENABLE_HDR_EDITING, enableHdrEditingCheckBox.isChecked()); bundle.putBooleanArray(DEMO_EFFECTS_SELECTIONS, demoEffectsSelections); + bundle.putInt(COLOR_FILTER_SELECTION, colorFilterSelection); bundle.putFloat(CONTRAST_VALUE, contrastValue); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_X, periodicVignetteCenterX); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_Y, periodicVignetteCenterY); @@ -356,6 +364,9 @@ private void selectDemoEffect(DialogInterface dialog, int which, boolean isCheck } switch (which) { + case COLOR_FILTERS_INDEX: + controlColorFiltersSettings(); + break; case CONTRAST_INDEX: controlContrastSettings(); break; @@ -365,6 +376,24 @@ private void selectDemoEffect(DialogInterface dialog, int which, boolean isCheck } } + private void controlColorFiltersSettings() { + new AlertDialog.Builder(/* context= */ this) + .setPositiveButton(android.R.string.ok, (dialogInterface, i) -> dialogInterface.dismiss()) + .setSingleChoiceItems( + this.getResources().getStringArray(R.array.color_filter_options), + colorFilterSelection, + (DialogInterface dialogInterface, int i) -> { + checkState( + i == COLOR_FILTER_GRAYSCALE + || i == COLOR_FILTER_INVERTED + || i == COLOR_FILTER_SEPIA); + colorFilterSelection = i; + dialogInterface.dismiss(); + }) + .create() + .show(); + } + private void controlContrastSettings() { View dialogView = getLayoutInflater().inflate(R.layout.contrast_options, /* root= */ null); Slider contrastSlider = checkNotNull(dialogView.findViewById(R.id.contrast_slider)); @@ -372,9 +401,7 @@ private void controlContrastSettings() { .setView(dialogView) .setPositiveButton( android.R.string.ok, - (DialogInterface dialogInterface, int i) -> { - contrastValue = contrastSlider.getValue(); - }) + (DialogInterface dialogInterface, int i) -> contrastValue = contrastSlider.getValue()) .create() .show(); } diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 68e167bf37a..9f1bb20ad46 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -44,6 +44,8 @@ import androidx.media3.effect.Contrast; import androidx.media3.effect.GlEffect; import androidx.media3.effect.GlTextureProcessor; +import androidx.media3.effect.RgbFilter; +import androidx.media3.effect.RgbMatrix; import androidx.media3.exoplayer.ExoPlayer; import androidx.media3.exoplayer.util.DebugTextViewHelper; import androidx.media3.transformer.DefaultEncoderFactory; @@ -307,9 +309,35 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) } } if (selectedEffects[2]) { - effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE))); + switch (bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION)) { + case ConfigurationActivity.COLOR_FILTER_GRAYSCALE: + effects.add(RgbFilter.createGrayscaleFilter()); + break; + case ConfigurationActivity.COLOR_FILTER_INVERTED: + effects.add(RgbFilter.createInvertedFilter()); + break; + case ConfigurationActivity.COLOR_FILTER_SEPIA: + // W3C Sepia RGBA matrix with sRGB as a target color space: + // https://www.w3.org/TR/filter-effects-1/#sepiaEquivalent + // The matrix is defined for the sRGB color space and the Transformer library + // uses a linear RGB color space internally. Meaning this is only for demonstration + // purposes and it does not display a correct sepia frame. + float[] sepiaMatrix = { + 0.393f, 0.349f, 0.272f, 0, 0.769f, 0.686f, 0.534f, 0, 0.189f, 0.168f, 0.131f, 0, 0, + 0, 0, 1 + }; + effects.add((RgbMatrix) (presentationTimeUs, useHdr) -> sepiaMatrix); + break; + default: + throw new IllegalStateException( + "Unexpected color filter " + + bundle.getInt(ConfigurationActivity.COLOR_FILTER_SELECTION)); + } } if (selectedEffects[3]) { + effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE))); + } + if (selectedEffects[4]) { effects.add( (GlEffect) (Context context, boolean useHdr) -> @@ -324,13 +352,13 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS), bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS))); } - if (selectedEffects[4]) { + if (selectedEffects[5]) { effects.add(MatrixTransformationFactory.createSpin3dEffect()); } - if (selectedEffects[5]) { + if (selectedEffects[6]) { effects.add((GlEffect) BitmapOverlayProcessor::new); } - if (selectedEffects[6]) { + if (selectedEffects[7]) { effects.add(MatrixTransformationFactory.createZoomInTransition()); } transformerBuilder.setVideoEffects(effects.build()); diff --git a/demos/transformer/src/main/res/values/strings.xml b/demos/transformer/src/main/res/values/strings.xml index a1d40b5c0bc..32eba87a737 100644 --- a/demos/transformer/src/main/res/values/strings.xml +++ b/demos/transformer/src/main/res/values/strings.xml @@ -42,6 +42,11 @@ Transformation completed in %d seconds. Transformation error Bounds in seconds + + Grayscale + Inverted + Sepia + Contrast value Center X Center Y From 1b7060776be8a79f0eca789c4abc7ffbb28560d2 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 2 Sep 2022 17:05:21 +0000 Subject: [PATCH 219/422] Remove assertion that prevents masking of ad periods The assertion asserts against a `Period` and an `AdPlaybackState` which actually asserts against a resolved ad which is what `ExoPlayerImplInternal` does later and what gives us a `SEEK_ADJUSTMENT`. However, this assertion is not required at the moment of masking, because we are sure that the resolved seek results in a content period and never an ad period. #minor-release Issue: androidx/media#122 PiperOrigin-RevId: 471827072 (cherry picked from commit 73f86682e94024c780564dbc287f06d47dfeca26) --- RELEASENOTES.md | 2 ++ .../session/MediaControllerImplBase.java | 14 +++------ .../session/MediaControllerImplLegacy.java | 20 ++++++++---- .../media3/session/SessionPositionInfo.java | 2 ++ .../session/SessionPositionInfoTest.java | 31 ++++++++++++++++++- .../session/MediaControllerListenerTest.java | 3 ++ .../MediaControllerStateMaskingTest.java | 2 ++ .../media3/session/MediaControllerTest.java | 2 ++ 8 files changed, 60 insertions(+), 16 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 779ba7e21d7..4a91a46a51a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -43,6 +43,8 @@ ([#99](https://github.com/androidx/media/issues/99)). * `SimpleBitmapLoader` can load bitmap from `file://` URIs ([#108](https://github.com/androidx/media/issues/108)). + * Fix assertion that prevents `MediaController` to seek over an ad in a + period ([#122](https://github.com/androidx/media/issues/122)). * Fix bug where the `MediaSessionService` was kept started in the foreground and a notification with a pause button was still shown when the player completed playback. Now, once playback is completed, the diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index d217afa06e6..1484843bc01 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -2674,7 +2674,7 @@ private PlayerInfo maskPositionInfo( return playerInfo; } - checkState(!isAd(newPeriod, newPositionUs)); + checkState(playerInfo.sessionPositionInfo.positionInfo.adGroupIndex == C.INDEX_UNSET); PositionInfo oldPositionInfo = new PositionInfo( @@ -2685,8 +2685,8 @@ private PlayerInfo maskPositionInfo( oldPeriodIndex, /* positionMs= */ usToMs(oldPeriod.positionInWindowUs + oldPositionUs), /* contentPositionMs= */ usToMs(oldPeriod.positionInWindowUs + oldPositionUs), - playerInfo.sessionPositionInfo.positionInfo.adGroupIndex, - playerInfo.sessionPositionInfo.positionInfo.adIndexInAdGroup); + /* adGroupIndex= */ C.INDEX_UNSET, + /* adIndexInAdGroup= */ C.INDEX_UNSET); timeline.getPeriod(newPeriodIndex, newPeriod); Window newWindow = new Window(); @@ -2700,8 +2700,8 @@ private PlayerInfo maskPositionInfo( newPeriodIndex, /* positionMs= */ usToMs(newPeriod.positionInWindowUs + newPositionUs), /* contentPositionMs= */ usToMs(newPeriod.positionInWindowUs + newPositionUs), - playerInfo.sessionPositionInfo.positionInfo.adGroupIndex, - playerInfo.sessionPositionInfo.positionInfo.adIndexInAdGroup); + /* adGroupIndex= */ C.INDEX_UNSET, + /* adIndexInAdGroup= */ C.INDEX_UNSET); playerInfo = playerInfo.copyWithPositionInfos( oldPositionInfo, newPositionInfo, DISCONTINUITY_REASON_SEEK); @@ -2768,10 +2768,6 @@ private PeriodInfo getPeriodInfo(Timeline timeline, int windowIndex, long window return getPeriodInfo(timeline, window, period, windowIndex, Util.msToUs(windowPositionMs)); } - private boolean isAd(Period period, long periodPosition) { - return period.getAdGroupIndexForPositionUs(periodPosition) != C.INDEX_UNSET; - } - @Nullable private PeriodInfo getPeriodInfo( Timeline timeline, Window window, Period period, int windowIndex, long windowPositionUs) { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index ad7687d4aff..19cac9faa04 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -404,7 +404,8 @@ private void seekToInternal(int mediaItemIndex, long positionMs) { !currentTimeline.isEmpty() ? currentTimeline.getWindow(newMediaItemIndex, new Window()).mediaItem : null, - newPositionMs); + newPositionMs, + /* isPlayingAd= */ false); PlayerInfo maskedPlayerInfo = controllerInfo.playerInfo.copyWithSessionPositionInfo( createSessionPositionInfo( @@ -656,7 +657,11 @@ public void setMediaItems(List mediaItems, int startIndex, long start controllerInfo.playerInfo.copyWithTimelineAndSessionPositionInfo( newQueueTimeline, createSessionPositionInfo( - createPositionInfo(startIndex, mediaItems.get(startIndex), startPositionMs), + createPositionInfo( + startIndex, + mediaItems.get(startIndex), + startPositionMs, + /* isPlayingAd= */ false), /* isPlayingAd= */ false, /* durationMs= */ C.TIME_UNSET, /* bufferedPositionMs= */ 0, @@ -2089,7 +2094,7 @@ private static ControllerInfo createControllerInfo( @Nullable MediaItem currentMediaItem = currentTimeline.getMediaItemAt(currentMediaItemIndex); PositionInfo positionInfo = - createPositionInfo(currentMediaItemIndex, currentMediaItem, currentPositionMs); + createPositionInfo(currentMediaItemIndex, currentMediaItem, currentPositionMs, isPlayingAd); SessionPositionInfo sessionPositionInfo = new SessionPositionInfo( @@ -2142,7 +2147,10 @@ private static ControllerInfo createControllerInfo( } private static PositionInfo createPositionInfo( - int mediaItemIndex, @Nullable MediaItem mediaItem, long currentPositionMs) { + int mediaItemIndex, + @Nullable MediaItem mediaItem, + long currentPositionMs, + boolean isPlayingAd) { return new PositionInfo( /* windowUid= */ null, /* mediaItemIndex= */ mediaItemIndex, @@ -2151,8 +2159,8 @@ private static PositionInfo createPositionInfo( /* periodIndex= */ mediaItemIndex, /* positionMs= */ currentPositionMs, /* contentPositionMs= */ currentPositionMs, - /* adGroupIndex= */ C.INDEX_UNSET, - /* adIndexInAdGroup= */ C.INDEX_UNSET); + /* adGroupIndex= */ isPlayingAd ? 0 : C.INDEX_UNSET, + /* adIndexInAdGroup= */ isPlayingAd ? 0 : C.INDEX_UNSET); } private static SessionPositionInfo createSessionPositionInfo( diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java b/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java index 149ef552dbf..f2464b5af20 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionPositionInfo.java @@ -15,6 +15,7 @@ */ package androidx.media3.session; +import static androidx.media3.common.util.Assertions.checkArgument; import static java.lang.annotation.ElementType.TYPE_USE; import android.os.Bundle; @@ -83,6 +84,7 @@ public SessionPositionInfo( long currentLiveOffsetMs, long contentDurationMs, long contentBufferedPositionMs) { + checkArgument(isPlayingAd == (positionInfo.adGroupIndex != C.INDEX_UNSET)); this.positionInfo = positionInfo; this.isPlayingAd = isPlayingAd; this.eventTimeMs = eventTimeMs; diff --git a/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java b/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java index 57de544ddef..9ea9b236b3c 100644 --- a/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/SessionPositionInfoTest.java @@ -18,9 +18,11 @@ import static com.google.common.truth.Truth.assertThat; import android.os.Bundle; +import androidx.media3.common.C; import androidx.media3.common.MediaItem; import androidx.media3.common.Player.PositionInfo; import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -34,7 +36,7 @@ public void roundTripViaBundle_yieldsEqualInstance() { new SessionPositionInfo( new PositionInfo( /* windowUid= */ null, - /* windowIndex= */ 33, + /* mediaItemIndex= */ 33, new MediaItem.Builder().setMediaId("1234").build(), /* periodUid= */ null, /* periodIndex= */ 44, @@ -56,4 +58,31 @@ public void roundTripViaBundle_yieldsEqualInstance() { SessionPositionInfo.CREATOR.fromBundle(sessionPositionInfoBundle); assertThat(sessionPositionInfo).isEqualTo(testSessionPositionInfo); } + + @Test + public void constructor_invalidIsPlayingAd_throwsIllegalArgumentException() { + Assert.assertThrows( + IllegalArgumentException.class, + () -> + new SessionPositionInfo( + new PositionInfo( + /* windowUid= */ null, + /* mediaItemIndex= */ 33, + MediaItem.EMPTY, + /* periodUid= */ null, + /* periodIndex= */ 44, + /* positionMs= */ 233L, + /* contentPositionMs= */ 333L, + /* adGroupIndex= */ 2, + /* adIndexInAdGroup= */ C.INDEX_UNSET), + /* isPlayingAd= */ false, + /* eventTimeMs= */ 103L, + /* durationMs= */ 400L, + /* bufferedPositionMs= */ 200L, + /* bufferedPercentage= */ 50, + /* totalBufferedDurationMs= */ 500L, + /* currentLiveOffsetMs= */ 20L, + /* contentDurationMs= */ 400L, + /* contentBufferedPositionMs= */ 223L)); + } } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index ea40566bb73..7849ffd48be 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -331,6 +331,7 @@ public void setPlayer_notifiesChangedValues() throws Exception { AtomicReference timelineRef = new AtomicReference<>(); AtomicReference playlistMetadataRef = new AtomicReference<>(); AtomicReference audioAttributesRef = new AtomicReference<>(); + AtomicBoolean isPlayingAdRef = new AtomicBoolean(); AtomicInteger currentAdGroupIndexRef = new AtomicInteger(); AtomicInteger currentAdIndexInAdGroupRef = new AtomicInteger(); AtomicBoolean shuffleModeEnabledRef = new AtomicBoolean(); @@ -373,6 +374,7 @@ public void onPositionDiscontinuity( PositionInfo oldPosition, PositionInfo newPosition, @DiscontinuityReason int reason) { + isPlayingAdRef.set(controller.isPlayingAd()); currentAdGroupIndexRef.set(newPosition.adGroupIndex); currentAdIndexInAdGroupRef.set(newPosition.adIndexInAdGroup); latch.countDown(); @@ -398,6 +400,7 @@ public void onRepeatModeChanged(@RepeatMode int repeatMode) { .setPlaylistMetadata(testPlaylistMetadata) .setShuffleModeEnabled(testShuffleModeEnabled) .setRepeatMode(testRepeatMode) + .setIsPlayingAd(true) .setCurrentAdGroupIndex(testCurrentAdGroupIndex) .setCurrentAdIndexInAdGroup(testCurrentAdIndexInAdGroup) .build(); diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java index e077bc2e18c..257284b47d4 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java @@ -1166,6 +1166,8 @@ public void seekTo_whilePlayingAd_ignored() throws Exception { .setCurrentPosition(initialPosition) .setContentPosition(initialPosition) .setIsPlayingAd(/* isPlayingAd= */ true) + .setCurrentAdGroupIndex(0) + .setCurrentAdIndexInAdGroup(0) .build(); remoteSession.setPlayer(playerConfig); diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java index 07cbfff83ec..af98cea8ef1 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java @@ -899,6 +899,8 @@ public void getContentPosition_whenPlayingAd_doesNotAdvance() throws Exception { .setDuration(10_000L) .setIsPlaying(true) .setIsPlayingAd(true) + .setCurrentAdGroupIndex(0) + .setCurrentAdIndexInAdGroup(0) .setPlaybackParameters(new PlaybackParameters(/* speed= */ 2.0f)) .build(); remoteSession.setPlayer(playerConfig); From c4fa1978b83011bd9f9044d704c05bde2c22e619 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 5 Sep 2022 11:06:21 +0000 Subject: [PATCH 220/422] Minor javadoc and scoping cleanup. No functional changes. PiperOrigin-RevId: 472245797 (cherry picked from commit fa1f09fc51ea7a54052562e6a40e48e55fed4a67) --- .../main/java/androidx/media3/transformer/DefaultCodec.java | 3 +-- .../main/java/androidx/media3/transformer/EncoderUtil.java | 2 +- .../main/java/androidx/media3/transformer/Transformer.java | 5 +++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index ffb8ed106d7..4f0d1222545 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -40,7 +40,6 @@ import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; -import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import com.google.common.base.Ascii; import com.google.common.collect.ImmutableList; @@ -108,7 +107,7 @@ public DefaultCodec( @Nullable Surface inputSurface = null; try { boolean requestedHdrToneMapping = - Util.SDK_INT >= 29 && Api29.isSdrToneMappingEnabled(configurationMediaFormat); + SDK_INT >= 29 && Api29.isSdrToneMappingEnabled(configurationMediaFormat); mediaCodec = MediaCodec.createByCodecName(mediaCodecName); configureCodec(mediaCodec, configurationMediaFormat, isDecoder, outputSurface); if (SDK_INT >= 29 && requestedHdrToneMapping) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java index 8c17b14a90e..bc6d2750446 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/EncoderUtil.java @@ -88,7 +88,7 @@ public static ImmutableList getSupportedEncoderNamesForHdrEditing( for (int i = 0; i < mediaCodecInfos.size(); i++) { MediaCodecInfo mediaCodecInfo = mediaCodecInfos.get(i); if (mediaCodecInfo.isAlias() - || !EncoderUtil.isFeatureSupported( + || !isFeatureSupported( mediaCodecInfo, mimeType, MediaCodecInfo.CodecCapabilities.FEATURE_HdrEditing)) { continue; } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 3f4402f0a36..d14c0f3a590 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -537,8 +537,9 @@ default void onTransformationError( * @param originalTransformationRequest The unsupported {@link TransformationRequest} used when * building {@link Transformer}. * @param fallbackTransformationRequest The alternative {@link TransformationRequest}, with - * supported {@link TransformationRequest#outputHeight} and {@link - * TransformationRequest#videoMimeType} values set. + * supported {@link TransformationRequest#audioMimeType}, {@link + * TransformationRequest#videoMimeType}, {@link TransformationRequest#outputHeight}, and + * {@link TransformationRequest#enableRequestSdrToneMapping} values set. */ default void onFallbackApplied( MediaItem inputMediaItem, From e466155cc4416c38b3404051dc18b6ded5fa3b31 Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 5 Sep 2022 11:54:50 +0000 Subject: [PATCH 221/422] Fix 1 ErrorProneStyle finding: * Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: " * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: ". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 472252461 (cherry picked from commit 83485bc509ebe3535ae802623f13c64bffb96eb4) --- .../androidx/media3/datasource/cronet/CronetDataSourceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java b/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java index 2ec3657c922..8e5768f2d0e 100644 --- a/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java +++ b/libraries/datasource_cronet/src/test/java/androidx/media3/datasource/cronet/CronetDataSourceTest.java @@ -145,7 +145,7 @@ public void setUp() { testResponseHeader.put("Content-Type", TEST_CONTENT_TYPE); // This value can be anything since the DataSpec is unset. testResponseHeader.put("Content-Length", Long.toString(TEST_CONTENT_LENGTH)); - testUrlResponseInfo = createUrlResponseInfo(200); // statusCode + testUrlResponseInfo = createUrlResponseInfo(/* statusCode= */ 200); } @After From 5426d02e26481b8f07198c2a8e7cba0f3a43a377 Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 5 Sep 2022 12:08:04 +0000 Subject: [PATCH 222/422] Fix 3 ErrorProneStyle findings: * Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) (3 times) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: " * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: ". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 472254253 (cherry picked from commit 573ad66f2fe7fe1766ec1246ce4f0cc7e3794ca3) --- .../media3/exoplayer/audio/MediaCodecAudioRendererTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java index 696d38a3145..ef10256391c 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/MediaCodecAudioRendererTest.java @@ -153,7 +153,7 @@ public void render_configuresAudioSink_afterFormatChange() throws Exception { /* joining= */ false, /* mayRenderStartOfStream= */ false, /* startPositionUs= */ 0, - /* offsetUs */ 0); + /* offsetUs= */ 0); mediaCodecAudioRenderer.start(); mediaCodecAudioRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000); @@ -210,7 +210,7 @@ public void render_configuresAudioSink_afterGaplessFormatChange() throws Excepti /* joining= */ false, /* mayRenderStartOfStream= */ false, /* startPositionUs= */ 0, - /* offsetUs */ 0); + /* offsetUs= */ 0); mediaCodecAudioRenderer.start(); mediaCodecAudioRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000); @@ -284,7 +284,7 @@ protected void onOutputFormatChanged(Format format, @Nullable MediaFormat mediaF /* joining= */ false, /* mayRenderStartOfStream= */ false, /* startPositionUs= */ 0, - /* offsetUs */ 0); + /* offsetUs= */ 0); exceptionThrowingRenderer.start(); exceptionThrowingRenderer.render(/* positionUs= */ 0, SystemClock.elapsedRealtime() * 1000); From 1bf431566f253381fabc0517d2d726445d9755ee Mon Sep 17 00:00:00 2001 From: Googler Date: Mon, 5 Sep 2022 12:19:14 +0000 Subject: [PATCH 223/422] Fix 4 ErrorProneStyle findings: * Non-standard parameter comment; prefer `/* paramName= */ arg` (see http://go/bugpattern/ParameterComment) (2 times) * This catch block catches an exception and re-throws another, but swallows the caught exception rather than setting it as a cause. This can make debugging harder. (see http://go/bugpattern/UnusedException) * This comment contains Javadoc or HTML tags, but isn't started with a double asterisk (/**); is it meant to be Javadoc? (see http://go/bugpattern/AlmostJavadoc) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This CL looks good? Just LGTM and Approve it! This CL doesn’t look good? This is what you can do: * Revert this CL, by replying "REVERT: " * File a bug under go/error-prone-bug for category ErrorProneStyle if there's an issue with the CL content. * File a bug under go/rosie-bug if there's an issue with how the CL was managed. * Revert this CL and not get a CL that cleans up these paths in the future by replying "BLOCKLIST: ". This is not reversible! We recommend to opt out the respective paths in your CL Robot configuration instead: go/clrobot-opt-out. This CL was generated by CL Robot - a tool that cleans up code findings (go/clrobot). The affected code paths have been enabled for CL Robot in //depot/google3/java/com/google/android/libraries/media/METADATA which is reachable following include_presubmits from //depot/google3/third_party/java_src/android_libs/media/METADATA. Anything wrong with the signup? File a bug at go/clrobot-bug. #codehealth Tested: Local presubmit tests passed. PiperOrigin-RevId: 472255768 (cherry picked from commit 3a2e0d37177034b3012204ac16cf7b3d4e3436b9) --- .../java/androidx/media3/session/MediaControllerImplBase.java | 2 +- .../main/java/androidx/media3/session/MediaControllerStub.java | 2 +- .../src/main/java/androidx/media3/session/MediaUtils.java | 2 +- .../src/main/java/androidx/media3/session/SessionToken.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index 1484843bc01..194d8f1fbcc 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -1261,7 +1261,7 @@ private void removeMediaItemsInternal(int fromIndex, int toIndex) { /* ignored */ PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, /* positionDiscontinuity= */ currentItemRemoved, DISCONTINUITY_REASON_REMOVE, - /* mediaItemTransition*/ playerInfo.sessionPositionInfo.positionInfo.mediaItemIndex + /* mediaItemTransition= */ playerInfo.sessionPositionInfo.positionInfo.mediaItemIndex >= fromIndex && playerInfo.sessionPositionInfo.positionInfo.mediaItemIndex < clippedToIndex, MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java index f4edcc8ec44..ad76da2e6e4 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerStub.java @@ -183,7 +183,7 @@ public void onPlayerInfoChanged(int seq, Bundle playerInfoBundle, boolean isTime controller -> controller.onPlayerInfoChanged( playerInfo, - /* timelineChangedReason */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE, + /* timelineChangedReason= */ Player.TIMELINE_CHANGE_REASON_SOURCE_UPDATE, isTimelineExcluded)); } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java b/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java index d85bc1194bd..644e6255543 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java @@ -320,7 +320,7 @@ public static List truncateListBySize( return result; } - /* Converts a {@link MediaItem} to a {@link MediaDescriptionCompat}. */ + /** Converts a {@link MediaItem} to a {@link MediaDescriptionCompat}. */ public static MediaDescriptionCompat convertToMediaDescriptionCompat(MediaItem item) { MediaDescriptionCompat.Builder builder = new MediaDescriptionCompat.Builder() diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java index ff8167ce1e0..e3a087f7765 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java @@ -399,7 +399,7 @@ private static int getUid(PackageManager manager, String packageName) { try { return manager.getApplicationInfo(packageName, 0).uid; } catch (PackageManager.NameNotFoundException e) { - throw new IllegalArgumentException("Cannot find package " + packageName); + throw new IllegalArgumentException("Cannot find package " + packageName, e); } } From 8da65d01d24b89791e0e43adcd6773dd1b8d589c Mon Sep 17 00:00:00 2001 From: leonwind Date: Mon, 5 Sep 2022 21:51:11 +0000 Subject: [PATCH 224/422] Merge RgbProcessor and MatrixTransformation. PiperOrigin-RevId: 472325145 (cherry picked from commit 672405afdff53ee746a4bcd237170de3b9feb1f7) --- ...atrixTransformationProcessorPixelTest.java | 13 +- .../media3/effect/RgbAdjustmentPixelTest.java | 86 ++++++---- .../media3/effect/RgbFilterPixelTest.java | 22 +-- .../shaders/fragment_shader_copy_es2.glsl | 24 --- .../shaders/fragment_shader_oetf_es3.glsl | 7 +- .../fragment_shader_transformation_es2.glsl | 4 +- ...t_shader_transformation_external_es2.glsl} | 9 +- ...ader_transformation_external_yuv_es3.glsl} | 6 +- ...lMatrixTransformationProcessorWrapper.java | 7 +- .../effect/GlEffectsFrameProcessor.java | 40 +---- .../media3/effect/GlMatrixTransformation.java | 5 +- .../effect/MatrixTransformationProcessor.java | 113 ++++++++++--- .../androidx/media3/effect/RgbFilter.java | 9 +- .../androidx/media3/effect/RgbMatrix.java | 9 +- .../media3/effect/RgbMatrixProcessor.java | 151 ------------------ 15 files changed, 207 insertions(+), 298 deletions(-) delete mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_copy_es2.glsl rename libraries/effect/src/main/assets/shaders/{fragment_shader_copy_external_es2.glsl => fragment_shader_transformation_external_es2.glsl} (74%) rename libraries/effect/src/main/assets/shaders/{fragment_shader_copy_external_yuv_es3.glsl => fragment_shader_transformation_external_yuv_es3.glsl} (96%) delete mode 100644 libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java index 479e8f2f873..702390ac834 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java @@ -28,7 +28,6 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; -import com.google.common.collect.ImmutableList; import java.io.IOException; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; import org.junit.After; @@ -97,8 +96,7 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { Matrix identityMatrix = new Matrix(); MatrixTransformation noEditsTransformation = (long presentationTimeUs) -> identityMatrix; matrixTransformationFrameProcessor = - MatrixTransformationProcessor.create( - context, ImmutableList.of(noEditsTransformation), /* useHdr= */ false); + noEditsTransformation.toGlTextureProcessor(context, /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); @@ -123,8 +121,7 @@ public void drawFrame_translateRight_producesExpectedOutput() throws Exception { MatrixTransformation translateRightTransformation = (long presentationTimeUs) -> translateRightMatrix; matrixTransformationFrameProcessor = - MatrixTransformationProcessor.create( - context, ImmutableList.of(translateRightTransformation), /* useHdr= */ false); + translateRightTransformation.toGlTextureProcessor(context, /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); @@ -148,8 +145,7 @@ public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { scaleNarrowMatrix.postScale(.5f, 1.2f); MatrixTransformation scaleNarrowTransformation = (long presentationTimeUs) -> scaleNarrowMatrix; matrixTransformationFrameProcessor = - MatrixTransformationProcessor.create( - context, ImmutableList.of(scaleNarrowTransformation), /* useHdr= */ false); + scaleNarrowTransformation.toGlTextureProcessor(context, /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(SCALE_NARROW_PNG_ASSET_PATH); @@ -173,8 +169,7 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { rotate90Matrix.postRotate(/* degrees= */ 90); MatrixTransformation rotate90Transformation = (long presentationTimeUs) -> rotate90Matrix; matrixTransformationFrameProcessor = - MatrixTransformationProcessor.create( - context, ImmutableList.of(rotate90Transformation), /* useHdr= */ false); + rotate90Transformation.toGlTextureProcessor(context, /* useHdr= */ false); matrixTransformationFrameProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_90_PNG_ASSET_PATH); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index a6f23bc024f..3f115891909 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -62,7 +62,7 @@ public final class RgbAdjustmentPixelTest { private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; - private @MonotonicNonNull SingleFrameGlTextureProcessor rgbMatrixProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; private int outputTexId; @@ -94,8 +94,8 @@ public void createGlObjects() throws IOException, GlUtil.GlException { @After public void release() throws GlUtil.GlException, FrameProcessingException { - if (rgbMatrixProcessor != null) { - rgbMatrixProcessor.release(); + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } @@ -104,11 +104,13 @@ public void release() throws GlUtil.GlException, FrameProcessingException { public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { String testId = "drawFrame_identityMatrix"; RgbMatrix identityMatrix = new RgbAdjustment.Builder().build(); - rgbMatrixProcessor = new RgbMatrixProcessor(context, identityMatrix, /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + identityMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -126,13 +128,15 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { String testId = "drawFrame_removeColors"; RgbMatrix removeColorMatrix = new RgbAdjustment.Builder().setRedScale(0).setGreenScale(0).setBlueScale(0).build(); - rgbMatrixProcessor = new RgbMatrixProcessor(context, removeColorMatrix, /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + removeColorMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( outputSize.first, outputSize.second, Color.BLACK); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -149,11 +153,13 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { public void drawFrame_redOnlyFilter_removeBlueAndGreenValues() throws Exception { String testId = "drawFrame_redOnlyFilter"; RgbMatrix redOnlyMatrix = new RgbAdjustment.Builder().setBlueScale(0).setGreenScale(0).build(); - rgbMatrixProcessor = new RgbMatrixProcessor(context, redOnlyMatrix, /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + redOnlyMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -170,11 +176,13 @@ public void drawFrame_redOnlyFilter_removeBlueAndGreenValues() throws Exception public void drawFrame_increaseRedChannel_producesBrighterAndRedderFrame() throws Exception { String testId = "drawFrame_increaseRedChannel"; RgbMatrix increaseRedMatrix = new RgbAdjustment.Builder().setRedScale(5).build(); - rgbMatrixProcessor = new RgbMatrixProcessor(context, increaseRedMatrix, /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + increaseRedMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_RED_CHANNEL_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -192,12 +200,13 @@ public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { String testId = "drawFrame_increaseBrightness"; RgbMatrix increaseBrightnessMatrix = new RgbAdjustment.Builder().setRedScale(5).setGreenScale(5).setBlueScale(5).build(); - rgbMatrixProcessor = - new RgbMatrixProcessor(context, increaseBrightnessMatrix, /* useHdr = */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + increaseBrightnessMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -216,15 +225,19 @@ public void drawFrame_removeRedGreenAndBlueValuesInAChain_producesBlackImage() t RgbMatrix noRed = new RgbAdjustment.Builder().setRedScale(0).build(); RgbMatrix noGreen = new RgbAdjustment.Builder().setGreenScale(0).build(); RgbMatrix noBlue = new RgbAdjustment.Builder().setBlueScale(0).build(); - rgbMatrixProcessor = - new RgbMatrixProcessor( - context, ImmutableList.of(noRed, noGreen, noBlue), /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + MatrixTransformationProcessor.create( + context, + /* matrixTransformations= */ ImmutableList.of(), + /* rgbMatrices= */ ImmutableList.of(noRed, noGreen, noBlue), + /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( outputSize.first, outputSize.second, Color.BLACK); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -242,12 +255,17 @@ public void drawFrame_removeBlueAndGreenValuesInAChain_producesOnlyRedImage() th String testId = "drawFrame_removeBlueAndGreenValuesInAChain"; RgbMatrix noGreen = new RgbAdjustment.Builder().setGreenScale(0).build(); RgbMatrix noBlue = new RgbAdjustment.Builder().setBlueScale(0).build(); - rgbMatrixProcessor = - new RgbMatrixProcessor(context, ImmutableList.of(noGreen, noBlue), /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + MatrixTransformationProcessor.create( + context, + /* matrixTransformations= */ ImmutableList.of(), + /* rgbMatrices= */ ImmutableList.of(noGreen, noBlue), + /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -267,15 +285,17 @@ public void drawFrame_increasesAndDecreasesRed_producesNoChange() throws Excepti RgbMatrix scaleRedMatrix = new RgbAdjustment.Builder().setRedScale(redScale).build(); RgbMatrix scaleRedByInverseMatrix = new RgbAdjustment.Builder().setRedScale(1 / redScale).build(); - rgbMatrixProcessor = - new RgbMatrixProcessor( + matrixTransformationProcessor = + MatrixTransformationProcessor.create( context, - ImmutableList.of(scaleRedMatrix, scaleRedByInverseMatrix), + /* matrixTransformations= */ ImmutableList.of(), + /* rgbMatrices= */ ImmutableList.of(scaleRedMatrix, scaleRedByInverseMatrix), /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java index a0ed700a75b..7468de9d401 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java @@ -58,7 +58,7 @@ public final class RgbFilterPixelTest { private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; - private @MonotonicNonNull SingleFrameGlTextureProcessor rgbMatrixProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; private int outputTexId; @@ -90,8 +90,8 @@ public void createGlObjects() throws IOException, GlUtil.GlException { @After public void release() throws GlUtil.GlException, FrameProcessingException { - if (rgbMatrixProcessor != null) { - rgbMatrixProcessor.release(); + if (matrixTransformationProcessor != null) { + matrixTransformationProcessor.release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } @@ -100,11 +100,13 @@ public void release() throws GlUtil.GlException, FrameProcessingException { public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { String testId = "drawFrame_grayscale"; RgbMatrix grayscaleMatrix = RgbFilter.createGrayscaleFilter(); - rgbMatrixProcessor = new RgbMatrixProcessor(context, grayscaleMatrix, /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + grayscaleMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -121,11 +123,13 @@ public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { public void drawFrame_inverted_producesInvertedFrame() throws Exception { String testId = "drawFrame_inverted"; RgbMatrix invertedMatrix = RgbFilter.createInvertedFilter(); - rgbMatrixProcessor = new RgbMatrixProcessor(context, invertedMatrix, /* useHdr= */ false); - Pair outputSize = rgbMatrixProcessor.configure(inputWidth, inputHeight); + matrixTransformationProcessor = + invertedMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = + matrixTransformationProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INVERT_PNG_ASSET_PATH); - rgbMatrixProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_copy_es2.glsl deleted file mode 100644 index 83dba1af26e..00000000000 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_es2.glsl +++ /dev/null @@ -1,24 +0,0 @@ -#version 100 -// Copyright 2022 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ES 2 fragment shader that samples from a (non-external) texture with uTexSampler, -// copying from this texture to the current output. - -precision mediump float; -uniform sampler2D uTexSampler; -varying vec2 vTexSamplingCoord; -void main() { - gl_FragColor = texture2D(uTexSampler, vTexSamplingCoord); -} diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl index f908bb6e523..42e14e0eb86 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_oetf_es3.glsl @@ -15,7 +15,8 @@ // ES 3 fragment shader that: // 1. samples optical linear BT.2020 RGB from a (non-external) texture with -// uTexSampler, +// uTexSampler, and applies a 4x4 RGB color matrix to change the pixel +// colors, // 2. applies the HLG or PQ OETF to yield electrical (HLG or PQ) BT.2020 RGB, // and // 3. copies this converted texture color to the current output. @@ -28,6 +29,7 @@ out vec4 outColor; // Only COLOR_TRANSFER_ST2084 and COLOR_TRANSFER_HLG are allowed. uniform int uOetfColorTransfer; uniform mat3 uColorTransform; +uniform mat4 uRgbMatrix; // TODO(b/227624622): Consider using mediump to save precision, if it won't lead // to noticeable quantization. @@ -83,5 +85,6 @@ highp vec3 getElectricalColor(highp vec3 linearColor) { void main() { vec4 inputColor = texture(uTexSampler, vTexSamplingCoord); - outColor = vec4(getElectricalColor(inputColor.rgb), inputColor.a); + vec4 transformedColors = uRgbMatrix * vec4(inputColor.rgb, 1); + outColor = vec4(getElectricalColor(transformedColors.rgb), inputColor.a); } diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl index ec9e645f847..9ebda595269 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_es2.glsl @@ -19,11 +19,11 @@ precision mediump float; uniform sampler2D uTexSampler; -uniform mat4 uColorMatrix; +uniform mat4 uRgbMatrix; varying vec2 vTexSamplingCoord; void main() { vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); - gl_FragColor = uColorMatrix * vec4(inputColor.rgb, 1); + gl_FragColor = uRgbMatrix * vec4(inputColor.rgb, 1); gl_FragColor.a = inputColor.a; } diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl similarity index 74% rename from libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl index ed021e44e32..4948d15c40b 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_es2.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl @@ -14,12 +14,17 @@ // limitations under the License. // ES 2 fragment shader that samples from an external texture with uTexSampler, -// copying from this texture to the current output. +// copying from this texture to the current output while applying a 4x4 RGB +// color matrix to change the pixel colors. #extension GL_OES_EGL_image_external : require precision mediump float; uniform samplerExternalOES uTexSampler; +uniform mat4 uRgbMatrix; varying vec2 vTexSamplingCoord; + void main() { - gl_FragColor = texture2D(uTexSampler, vTexSamplingCoord); + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); + gl_FragColor = uRgbMatrix * vec4(inputColor.rgb, 1); + gl_FragColor.a = inputColor.a; } diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl similarity index 96% rename from libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl rename to libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl index 7ed9cafc4ab..27cbb571bdf 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_copy_external_yuv_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl @@ -23,13 +23,15 @@ // 3. If uEotfColorTransfer is COLOR_TRANSFER_NO_VALUE, outputs electrical // (HLG or PQ) BT.2020 RGB. Otherwise, outputs optical linear BT.2020 RGB for // intermediate shaders by applying the HLG or PQ EOTF. -// 4. Copies this converted texture color to the current output, with alpha = 1. +// 4. Copies this converted texture color to the current output, with alpha = 1, +// while applying a 4x4 RGB color matrix to change the pixel colors. #extension GL_OES_EGL_image_external : require #extension GL_EXT_YUV_target : require precision mediump float; uniform __samplerExternal2DY2YEXT uTexSampler; uniform mat3 uYuvToRgbColorTransform; +uniform mat4 uRgbMatrix; // C.java#ColorTransfer value. uniform int uEotfColorTransfer; in vec2 vTexSamplingCoord; @@ -101,5 +103,5 @@ vec3 yuvToRgb(vec3 yuv) { void main() { vec3 srcYuv = texture(uTexSampler, vTexSamplingCoord).xyz; vec3 rgb = yuvToRgb(srcYuv); - outColor = vec4(getOpticalColor(rgb), 1.0); + outColor = uRgbMatrix * vec4(getOpticalColor(rgb), 1.0); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java index cbfc6d8ba04..e8c590df960 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java @@ -66,6 +66,7 @@ private final Context context; private final ImmutableList matrixTransformations; + private final ImmutableList rgbMatrices; private final EGLDisplay eglDisplay; private final EGLContext eglContext; private final DebugViewProvider debugViewProvider; @@ -100,6 +101,7 @@ public FinalMatrixTransformationProcessorWrapper( EGLDisplay eglDisplay, EGLContext eglContext, ImmutableList matrixTransformations, + ImmutableList rgbMatrices, FrameProcessor.Listener frameProcessorListener, DebugViewProvider debugViewProvider, boolean sampleFromExternalTexture, @@ -107,6 +109,7 @@ public FinalMatrixTransformationProcessorWrapper( boolean releaseFramesAutomatically) { this.context = context; this.matrixTransformations = matrixTransformations; + this.rgbMatrices = rgbMatrices; this.eglDisplay = eglDisplay; this.eglContext = eglContext; this.debugViewProvider = debugViewProvider; @@ -374,11 +377,11 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp if (sampleFromExternalTexture) { matrixTransformationProcessor = MatrixTransformationProcessor.createWithExternalSamplerApplyingEotfThenOetf( - context, expandedMatrixTransformations, colorInfo); + context, expandedMatrixTransformations, rgbMatrices, colorInfo); } else { matrixTransformationProcessor = MatrixTransformationProcessor.createApplyingOetf( - context, expandedMatrixTransformations, colorInfo); + context, expandedMatrixTransformations, rgbMatrices, colorInfo); } matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 300fd7f066c..5f326930404 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -184,8 +184,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe new ImmutableList.Builder<>(); ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder<>(); - ImmutableList.Builder rgbaMatrixTransformationListBuilder = - new ImmutableList.Builder<>(); + ImmutableList.Builder rgbMatrixListBuilder = new ImmutableList.Builder<>(); boolean sampleFromExternalTexture = true; for (int i = 0; i < effects.size(); i++) { Effect effect = effects.get(i); @@ -200,62 +199,39 @@ private static ImmutableList getGlTextureProcessorsForGlEffe continue; } if (glEffect instanceof RgbMatrix) { - rgbaMatrixTransformationListBuilder.add((RgbMatrix) glEffect); + rgbMatrixListBuilder.add((RgbMatrix) glEffect); continue; } ImmutableList matrixTransformations = matrixTransformationListBuilder.build(); - if (!matrixTransformations.isEmpty() || sampleFromExternalTexture) { + ImmutableList rgbMatrices = rgbMatrixListBuilder.build(); + if (!matrixTransformations.isEmpty() || !rgbMatrices.isEmpty() || sampleFromExternalTexture) { MatrixTransformationProcessor matrixTransformationProcessor; if (sampleFromExternalTexture) { matrixTransformationProcessor = MatrixTransformationProcessor.createWithExternalSamplerApplyingEotf( - context, matrixTransformations, colorInfo); + context, matrixTransformations, rgbMatrices, colorInfo); } else { matrixTransformationProcessor = MatrixTransformationProcessor.create( - context, matrixTransformations, ColorInfo.isTransferHdr(colorInfo)); + context, matrixTransformations, rgbMatrices, ColorInfo.isTransferHdr(colorInfo)); } textureProcessorListBuilder.add(matrixTransformationProcessor); matrixTransformationListBuilder = new ImmutableList.Builder<>(); + rgbMatrixListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; } - ImmutableList rgbaMatrixTransformations = - rgbaMatrixTransformationListBuilder.build(); - if (!rgbaMatrixTransformations.isEmpty()) { - textureProcessorListBuilder.add( - new RgbMatrixProcessor( - context, rgbaMatrixTransformations, ColorInfo.isTransferHdr(colorInfo))); - rgbaMatrixTransformationListBuilder = new ImmutableList.Builder<>(); - } textureProcessorListBuilder.add( glEffect.toGlTextureProcessor(context, ColorInfo.isTransferHdr(colorInfo))); } - ImmutableList rgbaMatrixTransformations = - rgbaMatrixTransformationListBuilder.build(); - if (!rgbaMatrixTransformations.isEmpty()) { - // Add a MatrixTransformationProcessor if none yet exists for sampling from an external - // texture. - if (sampleFromExternalTexture) { - // TODO(b/239757183): Remove the unnecessary MatrixTransformationProcessor after it got - // merged with RgbMatrixProcessor. - textureProcessorListBuilder.add( - MatrixTransformationProcessor.createWithExternalSamplerApplyingEotf( - context, /* matrixTransformations= */ ImmutableList.of(), colorInfo)); - sampleFromExternalTexture = false; - } - textureProcessorListBuilder.add( - new RgbMatrixProcessor( - context, rgbaMatrixTransformations, ColorInfo.isTransferHdr(colorInfo))); - } - textureProcessorListBuilder.add( new FinalMatrixTransformationProcessorWrapper( context, eglDisplay, eglContext, matrixTransformationListBuilder.build(), + rgbMatrixListBuilder.build(), listener, debugViewProvider, sampleFromExternalTexture, diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java index 9f04b230d5f..a4e8803bd71 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java @@ -56,6 +56,9 @@ default Pair configure(int inputWidth, int inputHeight) { default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { return MatrixTransformationProcessor.create( - context, /* matrixTransformations= */ ImmutableList.of(this), useHdr); + context, + /* matrixTransformations= */ ImmutableList.of(this), + /* rgbMatrices= */ ImmutableList.of(), + useHdr); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index c4fcb54a71a..d6ef72bfab1 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -34,17 +34,22 @@ import java.util.Arrays; /** - * Applies a sequence of transformation matrices in the vertex shader, and copies input pixels into - * an output frame based on their locations after applying the sequence of transformation matrices. + * Applies a sequence of {@link MatrixTransformation MatrixTransformations} in the vertex shader and + * a sequence of {@link RgbMatrix RgbMatrices} in the fragment shader. Copies input pixels into an + * output frame based on their locations after applying the sequence of transformation matrices. * - *

      Operations are done on normalized device coordinates (-1 to 1 on x, y, and z axes). - * Transformed vertices that are moved outside of this range after any of the transformation - * matrices are clipped to the NDC range. + *

      {@link MatrixTransformation} operations are done on normalized device coordinates (-1 to 1 on + * x, y, and z axes). Transformed vertices that are moved outside of this range after any of the + * transformation matrices are clipped to the NDC range. + * + *

      After applying all {@link RgbMatrix} instances, color values are clamped to the limits of the + * color space (e.g. BT.709 for SDR). Intermediate results are not clamped. * *

      The background color of the output frame will be (r=0, g=0, b=0, a=0). * *

      Can copy frames from an external texture and apply color transformations for HDR if needed. */ +// TODO(b/239757183): Rename Matrix to a more generic name. @UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 /* package */ final class MatrixTransformationProcessor extends SingleFrameGlTextureProcessor @@ -54,13 +59,14 @@ "shaders/vertex_shader_transformation_es2.glsl"; private static final String VERTEX_SHADER_TRANSFORMATION_ES3_PATH = "shaders/vertex_shader_transformation_es3.glsl"; - private static final String FRAGMENT_SHADER_COPY_PATH = "shaders/fragment_shader_copy_es2.glsl"; + private static final String FRAGMENT_SHADER_TRANSFORMATION_PATH = + "shaders/fragment_shader_transformation_es2.glsl"; private static final String FRAGMENT_SHADER_OETF_ES3_PATH = "shaders/fragment_shader_oetf_es3.glsl"; - private static final String FRAGMENT_SHADER_COPY_EXTERNAL_PATH = - "shaders/fragment_shader_copy_external_es2.glsl"; - private static final String FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH = - "shaders/fragment_shader_copy_external_yuv_es3.glsl"; + private static final String FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_PATH = + "shaders/fragment_shader_transformation_external_es2.glsl"; + private static final String FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH = + "shaders/fragment_shader_transformation_external_yuv_es3.glsl"; private static final ImmutableList NDC_SQUARE = ImmutableList.of( new float[] {-1, -1, 0, 1}, @@ -84,6 +90,10 @@ /** The {@link MatrixTransformation MatrixTransformations} to apply. */ private final ImmutableList matrixTransformations; + /** The {@link RgbMatrix RgbMatrices} to apply. */ + private final ImmutableList rgbMatrices; + /** Whether the frame is in HDR or not. */ + private final boolean useHdr; /** * The transformation matrices provided by the {@link MatrixTransformation MatrixTransformations} * for the most recent frame. @@ -117,19 +127,25 @@ * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to - * apply to each frame in order. + * apply to each frame in order. Can be empty to apply no vertex transformations. + * @param rgbMatrices The {@link RgbMatrix RgbMatrices} to apply to each frame in order. Can be + * empty to apply no color transformations. * @param useHdr Whether input and output colors are HDR. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ public static MatrixTransformationProcessor create( - Context context, ImmutableList matrixTransformations, boolean useHdr) + Context context, + ImmutableList matrixTransformations, + ImmutableList rgbMatrices, + boolean useHdr) throws FrameProcessingException { GlProgram glProgram = - createGlProgram(context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_COPY_PATH); + createGlProgram( + context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_TRANSFORMATION_PATH); // No transfer functions needed, because input and output are both optical colors. - return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); + return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); } /** @@ -148,7 +164,9 @@ public static MatrixTransformationProcessor create( * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to - * apply to each frame in order. + * apply to each frame in order. Can be empty to apply no vertex transformations. + * @param rgbMatrices The {@link RgbMatrix RgbMatrices} to apply to each frame in order. Can be + * empty to apply no color transformations. * @param electricalColorInfo The electrical {@link ColorInfo} describing input colors. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. @@ -156,13 +174,16 @@ public static MatrixTransformationProcessor create( public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotf( Context context, ImmutableList matrixTransformations, + ImmutableList rgbMatrices, ColorInfo electricalColorInfo) throws FrameProcessingException { boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); String vertexShaderFilePath = useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; String fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + useHdr + ? FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH + : FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_PATH; GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); // TODO(b/241902517): Implement gamma transfer functions. @@ -184,7 +205,7 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot glProgram.setIntUniform("uEotfColorTransfer", colorTransfer); } - return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); + return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); } /** @@ -199,7 +220,9 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to - * apply to each frame in order. + * apply to each frame in order. Can be empty to apply no vertex transformations. + * @param rgbMatrices The {@link RgbMatrix RgbMatrices} to apply to each frame in order. Can be + * empty to apply no color transformations. * @param electricalColorInfo The electrical {@link ColorInfo} describing output colors. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. @@ -207,13 +230,14 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot public static MatrixTransformationProcessor createApplyingOetf( Context context, ImmutableList matrixTransformations, + ImmutableList rgbMatrices, ColorInfo electricalColorInfo) throws FrameProcessingException { boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); String vertexShaderFilePath = useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; String fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_OETF_ES3_PATH : FRAGMENT_SHADER_COPY_PATH; + useHdr ? FRAGMENT_SHADER_OETF_ES3_PATH : FRAGMENT_SHADER_TRANSFORMATION_PATH; GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); // TODO(b/241902517): Implement gamma transfer functions. @@ -224,7 +248,7 @@ public static MatrixTransformationProcessor createApplyingOetf( glProgram.setIntUniform("uOetfColorTransfer", colorTransfer); } - return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); + return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); } /** @@ -239,7 +263,9 @@ public static MatrixTransformationProcessor createApplyingOetf( * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to - * apply to each frame in order. + * apply to each frame in order. Can be empty to apply no vertex transformations. + * @param rgbMatrices The {@link RgbMatrix RgbMatrices} to apply to each frame in order. Can be + * empty to apply no color transformations. * @param electricalColorInfo The electrical {@link ColorInfo} describing input and output colors. * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. @@ -247,13 +273,16 @@ public static MatrixTransformationProcessor createApplyingOetf( public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotfThenOetf( Context context, ImmutableList matrixTransformations, + ImmutableList rgbMatrices, ColorInfo electricalColorInfo) throws FrameProcessingException { boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); String vertexShaderFilePath = useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; String fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_COPY_EXTERNAL_YUV_ES3_PATH : FRAGMENT_SHADER_COPY_EXTERNAL_PATH; + useHdr + ? FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH + : FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_PATH; GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); // TODO(b/241902517): Implement gamma transfer functions. @@ -273,7 +302,7 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot glProgram.setIntUniform("uEotfColorTransfer", Format.NO_VALUE); } - return new MatrixTransformationProcessor(glProgram, matrixTransformations, useHdr); + return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); } /** @@ -281,17 +310,22 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot * * @param glProgram The {@link GlProgram}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to - * apply to each frame in order. + * apply to each frame in order. Can be empty to apply no vertex transformations. + * @param rgbMatrices The {@link RgbMatrix RgbMatrices} to apply to each frame in order. Can be + * empty to apply no color transformations. * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code * EXT_YUV_target} OpenGL extension. */ private MatrixTransformationProcessor( GlProgram glProgram, ImmutableList matrixTransformations, + ImmutableList rgbMatrices, boolean useHdr) { super(useHdr); this.glProgram = glProgram; this.matrixTransformations = matrixTransformations; + this.rgbMatrices = rgbMatrices; + this.useHdr = useHdr; transformationMatrixCache = new float[matrixTransformations.size()][16]; compositeTransformationMatrix = new float[16]; @@ -333,11 +367,13 @@ public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProce if (visiblePolygon.size() < 3) { return; // Need at least three visible vertices for a triangle. } - + float[] compositeRgbMatrix = + createCompositeRgbaMatrixArray(rgbMatrices, useHdr, presentationTimeUs); try { glProgram.use(); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); glProgram.setFloatsUniform("uTransformationMatrix", compositeTransformationMatrix); + glProgram.setFloatsUniform("uRgbMatrix", compositeRgbMatrix); glProgram.setBufferAttribute( "aFramePosition", GlUtil.createVertexBuffer(visiblePolygon), @@ -425,4 +461,31 @@ private boolean updateTransformationMatrixCache(long presentationTimeUs) { } return matrixChanged; } + + // TODO(b/239757183): Add caching for RgbMatrix and refactor RgbMatrix and MatrixTransformation + // composing. + private static float[] createCompositeRgbaMatrixArray( + ImmutableList rgbMatrices, boolean useHdr, long presentationTimeUs) { + float[] tempResultMatrix = new float[16]; + float[] compositeRgbaMatrix = new float[16]; + Matrix.setIdentityM(compositeRgbaMatrix, /* smOffset= */ 0); + + for (int i = 0; i < rgbMatrices.size(); i++) { + Matrix.multiplyMM( + /* result= */ tempResultMatrix, + /* resultOffset= */ 0, + /* lhs= */ rgbMatrices.get(i).getMatrix(presentationTimeUs, useHdr), + /* lhsOffset= */ 0, + /* rhs= */ compositeRgbaMatrix, + /* rhsOffset= */ 0); + System.arraycopy( + /* src= */ tempResultMatrix, + /* srcPos= */ 0, + /* dest= */ compositeRgbaMatrix, + /* destPost= */ 0, + /* length= */ tempResultMatrix.length); + } + + return compositeRgbaMatrix; + } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java index 2e96368182c..99e218ed3d5 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java @@ -21,6 +21,7 @@ import android.content.Context; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; +import com.google.common.collect.ImmutableList; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Provides common color filters. */ @@ -91,9 +92,13 @@ public float[] getMatrix(long presentationTimeUs, boolean useHdr) { } @Override - public RgbMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) + public MatrixTransformationProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { checkForConsistentHdrSetting(useHdr); - return new RgbMatrixProcessor(context, /* rgbMatrix= */ this, useHdr); + return MatrixTransformationProcessor.create( + context, + /* matrixTransformations= */ ImmutableList.of(), + /* rgbMatrices= */ ImmutableList.of(this), + useHdr); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java index 82c2a96bc0d..1a5371695d8 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java @@ -19,6 +19,7 @@ import android.content.Context; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; +import com.google.common.collect.ImmutableList; /** * Specifies a 4x4 RGB color transformation matrix to apply to each frame in the fragment shader. @@ -39,8 +40,12 @@ public interface RgbMatrix extends GlEffect { float[] getMatrix(long presentationTimeUs, boolean useHdr); @Override - default RgbMatrixProcessor toGlTextureProcessor(Context context, boolean useHdr) + default MatrixTransformationProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return new RgbMatrixProcessor(context, /* rgbMatrix= */ this, useHdr); + return MatrixTransformationProcessor.create( + context, + /* matrixTransformations= */ ImmutableList.of(), + /* rgbMatrices= */ ImmutableList.of(this), + useHdr); } } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java deleted file mode 100644 index 6cdf76844c1..00000000000 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrixProcessor.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2022 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package androidx.media3.effect; - -import android.content.Context; -import android.opengl.GLES20; -import android.opengl.Matrix; -import android.util.Pair; -import androidx.media3.common.FrameProcessingException; -import androidx.media3.common.util.GlProgram; -import androidx.media3.common.util.GlUtil; -import com.google.common.collect.ImmutableList; -import java.io.IOException; - -/** - * Applies a sequence of {@link RgbMatrix} to each frame. - * - *

      After applying all {@link RgbMatrix} instances, color values are clamped to the limits of the - * color space. Intermediate results are not clamped. - */ -/* package */ final class RgbMatrixProcessor extends SingleFrameGlTextureProcessor { - private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; - private static final String FRAGMENT_SHADER_PATH = - "shaders/fragment_shader_transformation_es2.glsl"; - - private final GlProgram glProgram; - private final ImmutableList rgbMatrices; - private final boolean useHdr; - - // TODO(b/239757183): Merge RgbMatrixProcessor with MatrixTransformationProcessor. - /** - * Creates a new instance. - * - * @param context The {@link Context}. - * @param rgbMatrix The {@link RgbMatrix} to apply to each frame. - * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. - * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL - * operation fails or is unsupported. - */ - public RgbMatrixProcessor(Context context, RgbMatrix rgbMatrix, boolean useHdr) - throws FrameProcessingException { - this(context, ImmutableList.of(rgbMatrix), useHdr); - } - - /** - * Creates a new instance. - * - * @param context The {@link Context}. - * @param rgbMatrices The {@link RgbMatrix} to apply to each frame. - * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be - * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. - * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL - * operation fails or is unsupported. - */ - public RgbMatrixProcessor(Context context, ImmutableList rgbMatrices, boolean useHdr) - throws FrameProcessingException { - super(useHdr); - this.rgbMatrices = rgbMatrices; - this.useHdr = useHdr; - - try { - glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); - } catch (IOException | GlUtil.GlException e) { - throw new FrameProcessingException(e); - } - - // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. - glProgram.setBufferAttribute( - "aFramePosition", - GlUtil.getNormalizedCoordinateBounds(), - GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - - float[] identityMatrix = new float[16]; - Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); - glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); - glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); - } - - @Override - public Pair configure(int inputWidth, int inputHeight) { - return Pair.create(inputWidth, inputHeight); - } - - private static float[] createCompositeRgbaMatrixArray( - ImmutableList rgbMatrices, boolean useHdr, long presentationTimeUs) { - float[] tempResultMatrix = new float[16]; - float[] compositeRgbaMatrix = new float[16]; - Matrix.setIdentityM(compositeRgbaMatrix, /* smOffset= */ 0); - - for (int i = 0; i < rgbMatrices.size(); i++) { - Matrix.multiplyMM( - /* result= */ tempResultMatrix, - /* resultOffset= */ 0, - /* lhs= */ rgbMatrices.get(i).getMatrix(presentationTimeUs, useHdr), - /* lhsOffset= */ 0, - /* rhs= */ compositeRgbaMatrix, - /* rhsOffset= */ 0); - System.arraycopy( - /* src= */ tempResultMatrix, - /* srcPos= */ 0, - /* dest= */ compositeRgbaMatrix, - /* destPost= */ 0, - /* length= */ tempResultMatrix.length); - } - - return compositeRgbaMatrix; - } - - @Override - public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { - // TODO(b/239431666): Add caching for compacting Matrices. - float[] rgbMatrixArray = - createCompositeRgbaMatrixArray(rgbMatrices, useHdr, presentationTimeUs); - try { - glProgram.use(); - glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); - glProgram.setFloatsUniform("uColorMatrix", rgbMatrixArray); - glProgram.bindAttributesAndUniforms(); - - // The four-vertex triangle strip forms a quad. - GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e, presentationTimeUs); - } - } - - @Override - public void release() throws FrameProcessingException { - super.release(); - try { - glProgram.delete(); - } catch (GlUtil.GlException e) { - throw new FrameProcessingException(e); - } - } -} From 70d29f61470280703f149764304f38016345d947 Mon Sep 17 00:00:00 2001 From: leonwind Date: Tue, 6 Sep 2022 09:31:05 +0000 Subject: [PATCH 225/422] Use super class for toGlProcessor in RgbFilter. PiperOrigin-RevId: 472405147 (cherry picked from commit 91e1209e82d09524cb88f5a9c814933b9b8130b7) --- .../src/main/java/androidx/media3/effect/RgbFilter.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java index 99e218ed3d5..3452b00c3b1 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java @@ -21,7 +21,6 @@ import android.content.Context; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.UnstableApi; -import com.google.common.collect.ImmutableList; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** Provides common color filters. */ @@ -95,10 +94,6 @@ public float[] getMatrix(long presentationTimeUs, boolean useHdr) { public MatrixTransformationProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { checkForConsistentHdrSetting(useHdr); - return MatrixTransformationProcessor.create( - context, - /* matrixTransformations= */ ImmutableList.of(), - /* rgbMatrices= */ ImmutableList.of(this), - useHdr); + return RgbMatrix.super.toGlTextureProcessor(context, useHdr); } } From 0ac950321e205f077614c6be30c51a9c3dd85842 Mon Sep 17 00:00:00 2001 From: leonwind Date: Tue, 6 Sep 2022 12:37:47 +0000 Subject: [PATCH 226/422] Make MatrixTransformationsProcessor constructor to take in Lists. * Replace ImmutableLists to List interface for constructors PiperOrigin-RevId: 472433434 (cherry picked from commit 5b556b3c3365ca8b7a165f354aeb395658ceb887) --- .../effect/MatrixTransformationProcessor.java | 41 +++++++++++++------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index d6ef72bfab1..c377379118d 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -32,6 +32,7 @@ import com.google.common.collect.ImmutableList; import java.io.IOException; import java.util.Arrays; +import java.util.List; /** * Applies a sequence of {@link MatrixTransformation MatrixTransformations} in the vertex shader and @@ -136,8 +137,8 @@ */ public static MatrixTransformationProcessor create( Context context, - ImmutableList matrixTransformations, - ImmutableList rgbMatrices, + List matrixTransformations, + List rgbMatrices, boolean useHdr) throws FrameProcessingException { GlProgram glProgram = @@ -145,7 +146,11 @@ public static MatrixTransformationProcessor create( context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_TRANSFORMATION_PATH); // No transfer functions needed, because input and output are both optical colors. - return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); + return new MatrixTransformationProcessor( + glProgram, + ImmutableList.copyOf(matrixTransformations), + ImmutableList.copyOf(rgbMatrices), + useHdr); } /** @@ -173,8 +178,8 @@ public static MatrixTransformationProcessor create( */ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotf( Context context, - ImmutableList matrixTransformations, - ImmutableList rgbMatrices, + List matrixTransformations, + List rgbMatrices, ColorInfo electricalColorInfo) throws FrameProcessingException { boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); @@ -205,7 +210,11 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot glProgram.setIntUniform("uEotfColorTransfer", colorTransfer); } - return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); + return new MatrixTransformationProcessor( + glProgram, + ImmutableList.copyOf(matrixTransformations), + ImmutableList.copyOf(rgbMatrices), + useHdr); } /** @@ -229,8 +238,8 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot */ public static MatrixTransformationProcessor createApplyingOetf( Context context, - ImmutableList matrixTransformations, - ImmutableList rgbMatrices, + List matrixTransformations, + List rgbMatrices, ColorInfo electricalColorInfo) throws FrameProcessingException { boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); @@ -248,7 +257,11 @@ public static MatrixTransformationProcessor createApplyingOetf( glProgram.setIntUniform("uOetfColorTransfer", colorTransfer); } - return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); + return new MatrixTransformationProcessor( + glProgram, + ImmutableList.copyOf(matrixTransformations), + ImmutableList.copyOf(rgbMatrices), + useHdr); } /** @@ -272,8 +285,8 @@ public static MatrixTransformationProcessor createApplyingOetf( */ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotfThenOetf( Context context, - ImmutableList matrixTransformations, - ImmutableList rgbMatrices, + List matrixTransformations, + List rgbMatrices, ColorInfo electricalColorInfo) throws FrameProcessingException { boolean useHdr = ColorInfo.isTransferHdr(electricalColorInfo); @@ -302,7 +315,11 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot glProgram.setIntUniform("uEotfColorTransfer", Format.NO_VALUE); } - return new MatrixTransformationProcessor(glProgram, matrixTransformations, rgbMatrices, useHdr); + return new MatrixTransformationProcessor( + glProgram, + ImmutableList.copyOf(matrixTransformations), + ImmutableList.copyOf(rgbMatrices), + useHdr); } /** From 18188ebe01cf4cf9c8f2de429f7deb2fe0285f6f Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 6 Sep 2022 15:05:46 +0000 Subject: [PATCH 227/422] Include CamcorderProfile resolution in encoder capability test PiperOrigin-RevId: 472459423 (cherry picked from commit 3f6a59f0f776e160aa88e69af69aa5749f594f2a) --- .../EncoderCapabilityAnalysisTest.java | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java index 50afc42d42a..a1bd9d255de 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java @@ -21,6 +21,7 @@ import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_CQ; import static android.media.MediaCodecInfo.EncoderCapabilities.BITRATE_MODE_VBR; +import android.media.CamcorderProfile; import android.media.MediaCodecInfo; import android.util.Pair; import android.util.Range; @@ -53,6 +54,44 @@ public class EncoderCapabilityAnalysisTest { */ private static final String FEATURE_EncodingStatistics = "encoding-statistics"; + private static final String CAMCORDER_FORMAT_STRING = "%dx%d@%dfps:%dkbps"; + private static final String CAMCORDER_TIMELAPSE_FORMAT_STRING = "timelapse_%dx%d@%dfps:%dkbps"; + private static final String CAMCORDER_HIGH_SPEED_FORMAT_STRING = "highspeed_%dx%d@%dfps:%dkbps"; + + private static final ImmutableList DEFINED_CAMCORDER_PROFILES = + ImmutableList.of( + CamcorderProfile.QUALITY_QCIF, + CamcorderProfile.QUALITY_CIF, + CamcorderProfile.QUALITY_480P, + CamcorderProfile.QUALITY_720P, + CamcorderProfile.QUALITY_1080P, + CamcorderProfile.QUALITY_QVGA, + CamcorderProfile.QUALITY_2160P, + CamcorderProfile.QUALITY_VGA, + CamcorderProfile.QUALITY_4KDCI, + CamcorderProfile.QUALITY_QHD, + CamcorderProfile.QUALITY_2K, + CamcorderProfile.QUALITY_8KUHD, + CamcorderProfile.QUALITY_TIME_LAPSE_QCIF, + CamcorderProfile.QUALITY_TIME_LAPSE_CIF, + CamcorderProfile.QUALITY_TIME_LAPSE_480P, + CamcorderProfile.QUALITY_TIME_LAPSE_720P, + CamcorderProfile.QUALITY_TIME_LAPSE_1080P, + CamcorderProfile.QUALITY_TIME_LAPSE_QVGA, + CamcorderProfile.QUALITY_TIME_LAPSE_2160P, + CamcorderProfile.QUALITY_TIME_LAPSE_VGA, + CamcorderProfile.QUALITY_TIME_LAPSE_4KDCI, + CamcorderProfile.QUALITY_TIME_LAPSE_QHD, + CamcorderProfile.QUALITY_TIME_LAPSE_2K, + CamcorderProfile.QUALITY_TIME_LAPSE_8KUHD, + CamcorderProfile.QUALITY_HIGH_SPEED_480P, + CamcorderProfile.QUALITY_HIGH_SPEED_720P, + CamcorderProfile.QUALITY_HIGH_SPEED_1080P, + CamcorderProfile.QUALITY_HIGH_SPEED_2160P, + CamcorderProfile.QUALITY_HIGH_SPEED_CIF, + CamcorderProfile.QUALITY_HIGH_SPEED_VGA, + CamcorderProfile.QUALITY_HIGH_SPEED_4KDCI); + @Test public void logEncoderCapabilities() throws Exception { ImmutableSet supportedVideoMimeTypes = EncoderUtil.getSupportedVideoMimeTypes(); @@ -138,6 +177,7 @@ public void logEncoderCapabilities() throws Exception { JSONObject resultJson = new JSONObject(); resultJson.put("encoder_capabilities", JSONObject.wrap(mimeTypeToEncoderInfo)); + resultJson.put("camcorder_profiles_supported", getSupportedCamcorderProfileConfigurations()); AndroidTestUtil.writeTestSummaryToFile( ApplicationProvider.getApplicationContext(), /* testId= */ "encoderCapabilityAnalysisTest", @@ -194,4 +234,26 @@ private static String rangeToString(@Nullable Range range) { private static String sizeToString(@Nullable Size size) { return size == null ? "0x0" : Util.formatInvariant("%dx%d", size.getWidth(), size.getHeight()); } + + private static ImmutableList getSupportedCamcorderProfileConfigurations() { + ImmutableList.Builder supportedConfigurations = new ImmutableList.Builder<>(); + for (int profileIndex : DEFINED_CAMCORDER_PROFILES) { + if (CamcorderProfile.hasProfile(profileIndex)) { + CamcorderProfile profile = CamcorderProfile.get(profileIndex); + supportedConfigurations.add( + Util.formatInvariant( + profileIndex > CamcorderProfile.QUALITY_HIGH_SPEED_LOW + ? CAMCORDER_HIGH_SPEED_FORMAT_STRING + : profileIndex > CamcorderProfile.QUALITY_TIME_LAPSE_LOW + ? CAMCORDER_TIMELAPSE_FORMAT_STRING + : CAMCORDER_FORMAT_STRING, + profile.videoFrameWidth, + profile.videoFrameHeight, + profile.videoFrameRate, + // Converts bps to kbps. + profile.videoBitRate / 1000)); + } + } + return supportedConfigurations.build(); + } } From 047310b31d8c58b9e98c167e029e5c5ebabdf64a Mon Sep 17 00:00:00 2001 From: Marc Baechinger Date: Fri, 30 Sep 2022 17:32:37 +0000 Subject: [PATCH 228/422] Merge pull request #10570 from Artemych:fix/progressive_downloader_infinite_loop PiperOrigin-RevId: 472475124 (cherry picked from commit cec6f045ea216b2cb54075d3c8503c0923b06802) --- RELEASENOTES.md | 4 ++ .../offline/ProgressiveDownloader.java | 32 +++++++------ .../offline/ProgressiveDownloaderTest.java | 47 +++++++++++++++++++ 3 files changed, 68 insertions(+), 15 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4a91a46a51a..8cdadc2dcf1 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -11,6 +11,10 @@ ([#10057](https://github.com/google/ExoPlayer/issues/10057)). * Limit parallel download removals to 1 to avoid excessive thread creation ([#10458](https://github.com/google/ExoPlayer/issues/10458)). +* Downloads: + * Fix potential infinite loop in `ProgressiveDownloader` caused by + simultaneous download and playback with the same `PriorityTaskManager` + ([#10570](https://github.com/google/ExoPlayer/pull/10570)). * Audio: * Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the AudioTrack offload state. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/ProgressiveDownloader.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/ProgressiveDownloader.java index ffdc3c1387e..db974fc5ba2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/ProgressiveDownloader.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/ProgressiveDownloader.java @@ -15,6 +15,8 @@ */ package androidx.media3.exoplayer.offline; +import static androidx.media3.common.util.Assertions.checkNotNull; + import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.MediaItem; @@ -90,26 +92,26 @@ public ProgressiveDownloader( public void download(@Nullable ProgressListener progressListener) throws IOException, InterruptedException { this.progressListener = progressListener; - downloadRunnable = - new RunnableFutureTask() { - @Override - protected Void doWork() throws IOException { - cacheWriter.cache(); - return null; - } - - @Override - protected void cancelWork() { - cacheWriter.cancel(); - } - }; - if (priorityTaskManager != null) { priorityTaskManager.add(C.PRIORITY_DOWNLOAD); } try { boolean finished = false; while (!finished && !isCanceled) { + // Recreate downloadRunnable on each loop iteration to avoid rethrowing a previous error. + downloadRunnable = + new RunnableFutureTask() { + @Override + protected Void doWork() throws IOException { + cacheWriter.cache(); + return null; + } + + @Override + protected void cancelWork() { + cacheWriter.cancel(); + } + }; if (priorityTaskManager != null) { priorityTaskManager.proceed(C.PRIORITY_DOWNLOAD); } @@ -132,7 +134,7 @@ protected void cancelWork() { } finally { // If the main download thread was interrupted as part of cancelation, then it's possible that // the runnable is still doing work. We need to wait until it's finished before returning. - downloadRunnable.blockUntilFinished(); + checkNotNull(downloadRunnable).blockUntilFinished(); if (priorityTaskManager != null) { priorityTaskManager.remove(C.PRIORITY_DOWNLOAD); } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/ProgressiveDownloaderTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/ProgressiveDownloaderTest.java index ce9db0ae8e8..48923cd434e 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/ProgressiveDownloaderTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/offline/ProgressiveDownloaderTest.java @@ -19,7 +19,9 @@ import static org.junit.Assert.assertThrows; import android.net.Uri; +import androidx.media3.common.C; import androidx.media3.common.MediaItem; +import androidx.media3.common.PriorityTaskManager; import androidx.media3.common.util.Util; import androidx.media3.database.DatabaseProvider; import androidx.media3.datasource.DataSource; @@ -126,6 +128,51 @@ public void download_afterWriteFailureOnClose_succeeds() throws Exception { assertThat(progressListener.bytesDownloaded).isEqualTo(1024); } + @Test + public void download_afterPriorityTooLow_succeeds() throws Exception { + PriorityTaskManager priorityTaskManager = new PriorityTaskManager(); + AtomicBoolean hasSetPlaybackPriority = new AtomicBoolean(/* initialValue= */ false); + Uri uri = Uri.parse("test:///test.mp4"); + // Fake data which briefly sets the playback priority while downloading for the first time. + FakeDataSet data = new FakeDataSet(); + data.newData(uri) + .appendReadAction( + () -> { + if (!hasSetPlaybackPriority.getAndSet(true)) { + // This only interrupts the download the next time the DataSource checks for the + // priority, so delay the removal of the playback priority slightly. As we can't + // check when the DataSource throws the PriorityTooLowException exactly, we need to + // use an arbitrary delay. + priorityTaskManager.add(C.PRIORITY_PLAYBACK); + new Thread( + () -> { + try { + Thread.sleep(200); + } catch (InterruptedException e) { + // Ignore. + } + priorityTaskManager.remove(C.PRIORITY_PLAYBACK); + }) + .start(); + } + }) + .appendReadData(2_000_000); + DataSource.Factory upstreamDataSource = new FakeDataSource.Factory().setFakeDataSet(data); + MediaItem mediaItem = MediaItem.fromUri(uri); + CacheDataSource.Factory cacheDataSourceFactory = + new CacheDataSource.Factory() + .setCache(downloadCache) + .setUpstreamDataSourceFactory(upstreamDataSource) + .setUpstreamPriorityTaskManager(priorityTaskManager); + ProgressiveDownloader downloader = new ProgressiveDownloader(mediaItem, cacheDataSourceFactory); + TestProgressListener progressListener = new TestProgressListener(); + + // Download expected to finish (despite the interruption by the higher playback priority). + downloader.download(progressListener); + + assertThat(progressListener.bytesDownloaded).isEqualTo(2_000_000); + } + private static final class TestProgressListener implements Downloader.ProgressListener { public long bytesDownloaded; From 0e6d0d7f38e063d7d8649d8dbec9afc478fb2a98 Mon Sep 17 00:00:00 2001 From: Marc Baechinger Date: Fri, 30 Sep 2022 17:33:40 +0000 Subject: [PATCH 229/422] Merge pull request #10549 from ferhatparmak:release-requirementswatcher PiperOrigin-RevId: 472488921 (cherry picked from commit a18ab3745efcb5a42c382cff27f5cca2028ef4bf) --- .../java/androidx/media3/exoplayer/offline/DownloadManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java index c5f03d874bf..74f36f804ec 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java @@ -533,6 +533,7 @@ public void release() { Thread.currentThread().interrupt(); } applicationHandler.removeCallbacksAndMessages(/* token= */ null); + requirementsWatcher.stop(); // Reset state. downloads = Collections.emptyList(); pendingMessages = 0; From 22f4fcb65752cc49165e636c78a463e396a7b8fb Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 6 Sep 2022 17:40:52 +0000 Subject: [PATCH 230/422] Update presentation time of metadata when the stream offset changes The stream offset is used to calculate the presentation time of a metadata object when reading and later when playing, to calculate the current presentation time to decide whether to send the metadata to the output. Accordingly, the presentation time of a pending metadata that has been calculated with a given offset needs to be recalculated when the stream offset changes. #minor-release PiperOrigin-RevId: 472499943 (cherry picked from commit 0896c4dd3665980d89577db20d247ac13fcd236b) --- .../java/androidx/media3/common/Metadata.java | 13 ++ .../exoplayer/metadata/MetadataRenderer.java | 5 + .../metadata/MetadataRendererTest.java | 116 ++++++++++++++++++ 3 files changed, 134 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/Metadata.java b/libraries/common/src/main/java/androidx/media3/common/Metadata.java index eadf456c18e..6a558425518 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Metadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/Metadata.java @@ -154,6 +154,19 @@ public Metadata copyWithAppendedEntries(Entry... entriesToAppend) { presentationTimeUs, Util.nullSafeArrayConcatenation(entries, entriesToAppend)); } + /** + * Returns a copy of this metadata with the specified presentation time. + * + * @param presentationTimeUs The new presentation time, in microseconds. + * @return The metadata instance with the new presentation time. + */ + public Metadata copyWithPresentationTimeUs(long presentationTimeUs) { + if (this.presentationTimeUs == presentationTimeUs) { + return this; + } + return new Metadata(presentationTimeUs, entries); + } + @Override public boolean equals(@Nullable Object obj) { if (this == obj) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java index edaa2d0c5ce..9ca0a1fee35 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java @@ -142,6 +142,11 @@ public String getName() { @Override protected void onStreamChanged(Format[] formats, long startPositionUs, long offsetUs) { decoder = decoderFactory.createDecoder(formats[0]); + if (pendingMetadata != null) { + pendingMetadata = + pendingMetadata.copyWithPresentationTimeUs( + pendingMetadata.presentationTimeUs + outputStreamOffsetUs - offsetUs); + } outputStreamOffsetUs = offsetUs; } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java index f4d5b34c6e8..8409d3f4d94 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/metadata/MetadataRendererTest.java @@ -221,6 +221,122 @@ public void renderMetadata_withEarlyOutput() throws Exception { assertThat(metadata.get(1).presentationTimeUs).isEqualTo(1_000_000); } + @Test + public void replaceStream_withIncreasingOffsetUs_updatesPendingMetadataPresentationTime() + throws Exception { + EventMessage emsg = + new EventMessage( + "urn:test-scheme-id", + /* value= */ "", + /* durationMs= */ 1, + /* id= */ 0, + "Test data".getBytes(UTF_8)); + byte[] encodedEmsg = eventMessageEncoder.encode(emsg); + List metadataOutput = new ArrayList<>(); + MetadataRenderer renderer = + new MetadataRenderer( + /* output= */ metadataOutput::add, + /* outputLooper= */ null, + MetadataDecoderFactory.DEFAULT, + /* outputMetadataEarly= */ false); + FakeSampleStream fakeSampleStream = + createFakeSampleStream( + ImmutableList.of( + sample(/* timeUs= */ 100_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + sample(/* timeUs= */ 200_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + END_OF_STREAM_ITEM)); + fakeSampleStream.writeData(/* startPositionUs= */ 0); + // Start of the first reading period. + renderer.replaceStream( + new Format[] {EMSG_FORMAT}, + fakeSampleStream, + /* startPositionUs= */ 0L, + /* offsetUs= */ 0L); + // Read the format + renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0); + + // Read and render the first metadata. The second metadata is immediately read as pending. + // The offset is added to timeUs of the samples when reading (100_000 and 200_000). + renderer.render(/* positionUs= */ 99_999, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).isEmpty(); + renderer.render(/* positionUs= */ 100_000, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).hasSize(1); + + // Start of the 2nd reading period. Replace the stream with a different offset. This adjusts the + // presentation time of the pending metadata. + renderer.replaceStream( + new Format[] {EMSG_FORMAT}, + fakeSampleStream, + /* startPositionUs= */ 0L, + /* offsetUs= */ 100_000L); + renderer.render(/* positionUs= */ 199_999, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).hasSize(1); + + // Output second metadata. + renderer.render(/* positionUs= */ 200_000, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).hasSize(2); + assertThat(metadataOutput.get(0).presentationTimeUs).isEqualTo(100_000); + assertThat(metadataOutput.get(1).presentationTimeUs).isEqualTo(100_000); + } + + @Test + public void replaceStream_withDecreasingOffsetUs_updatesPendingMetadataPresentationTime() + throws Exception { + EventMessage emsg = + new EventMessage( + "urn:test-scheme-id", + /* value= */ "", + /* durationMs= */ 1, + /* id= */ 0, + "Test data".getBytes(UTF_8)); + byte[] encodedEmsg = eventMessageEncoder.encode(emsg); + List metadataOutput = new ArrayList<>(); + MetadataRenderer renderer = + new MetadataRenderer( + /* output= */ metadataOutput::add, + /* outputLooper= */ null, + MetadataDecoderFactory.DEFAULT, + /* outputMetadataEarly= */ false); + FakeSampleStream fakeSampleStream = + createFakeSampleStream( + ImmutableList.of( + sample(/* timeUs= */ 100_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + sample(/* timeUs= */ 200_000, C.BUFFER_FLAG_KEY_FRAME, encodedEmsg), + END_OF_STREAM_ITEM)); + fakeSampleStream.writeData(/* startPositionUs= */ 0); + // Start of the first reading period. + renderer.replaceStream( + new Format[] {EMSG_FORMAT}, + fakeSampleStream, + /* startPositionUs= */ 0L, + /* offsetUs= */ 100_000L); + // Read the format + renderer.render(/* positionUs= */ 0, /* elapsedRealtimeUs= */ 0); + + // Read and render the first metadata. The second metadata is immediately read as pending. + // The offset of 0 is added to timeUs of the samples when reading (100_000 and 200_000). + renderer.render(/* positionUs= */ 199_999, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).isEmpty(); + renderer.render(/* positionUs= */ 200_000, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).hasSize(1); + + // Start of the 2nd reading period. Replace the stream with a different offset and adjust the + // presentation time of the pending metadata. + renderer.replaceStream( + new Format[] {EMSG_FORMAT}, + fakeSampleStream, + /* startPositionUs= */ 0L, + /* offsetUs= */ 0L); + renderer.render(/* positionUs= */ 299_999, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).hasSize(1); + + // Output second metadata. + renderer.render(/* positionUs= */ 300_000, /* elapsedRealtimeUs= */ 0); + assertThat(metadataOutput).hasSize(2); + assertThat(metadataOutput.get(0).presentationTimeUs).isEqualTo(100_000); + assertThat(metadataOutput.get(1).presentationTimeUs).isEqualTo(300_000); + } + private static List runRenderer(byte[] input) throws ExoPlaybackException { List metadata = new ArrayList<>(); MetadataRenderer renderer = new MetadataRenderer(metadata::add, /* outputLooper= */ null); From 1b3aecde5a5a9b828980b1d106c08ee7e1899e33 Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 6 Sep 2022 17:43:37 +0000 Subject: [PATCH 231/422] Bump IMA SDK version for gradle PiperOrigin-RevId: 472500789 (cherry picked from commit 9e1e0a100422ab8efd709de906c87c44f38d687d) --- libraries/exoplayer_ima/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/exoplayer_ima/build.gradle b/libraries/exoplayer_ima/build.gradle index 314e01ce9b3..cc8d1ef0e71 100644 --- a/libraries/exoplayer_ima/build.gradle +++ b/libraries/exoplayer_ima/build.gradle @@ -25,7 +25,7 @@ android { } dependencies { - api 'com.google.ads.interactivemedia.v3:interactivemedia:3.26.0' + api 'com.google.ads.interactivemedia.v3:interactivemedia:3.28.1' implementation project(modulePrefix + 'lib-exoplayer') implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion From 17cc7b59b831c44f447eb66a46ba9c6fce3b04e7 Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 6 Sep 2022 19:06:17 +0000 Subject: [PATCH 232/422] Remove redundant constant definition PiperOrigin-RevId: 472522846 (cherry picked from commit c401fb9771454e48b2b7eddba281ddda0ca5e398) --- .../analysis/EncoderCapabilityAnalysisTest.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java index a1bd9d255de..45546a04092 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/EncoderCapabilityAnalysisTest.java @@ -46,14 +46,6 @@ @RunWith(AndroidJUnit4.class) public class EncoderCapabilityAnalysisTest { - // TODO(b/228167357): Remove after bumping compileApiVersion to 33. - /** Re-definition of {@code MediaCodecInfo.CodecCapabilities.FEATURE_HdrEditing} in API33. */ - private static final String FEATURE_HdrEditing = "hdr-editing"; - /** - * Re-definition of {@code MediaCodecInfo.CodecCapabilities.FEATURE_EncodingStatistics} in API33. - */ - private static final String FEATURE_EncodingStatistics = "encoding-statistics"; - private static final String CAMCORDER_FORMAT_STRING = "%dx%d@%dfps:%dkbps"; private static final String CAMCORDER_TIMELAPSE_FORMAT_STRING = "timelapse_%dx%d@%dfps:%dkbps"; private static final String CAMCORDER_HIGH_SPEED_FORMAT_STRING = "highspeed_%dx%d@%dfps:%dkbps"; @@ -162,13 +154,16 @@ public void logEncoderCapabilities() throws Exception { capabilities.put( "supports_hdr_editing", Util.SDK_INT >= 33 - && EncoderUtil.isFeatureSupported(encoderInfo, mimeType, FEATURE_HdrEditing)); + && EncoderUtil.isFeatureSupported( + encoderInfo, mimeType, MediaCodecInfo.CodecCapabilities.FEATURE_HdrEditing)); capabilities.put( "supports_encoding_statistics", Util.SDK_INT >= 33 && EncoderUtil.isFeatureSupported( - encoderInfo, mimeType, FEATURE_EncodingStatistics)); + encoderInfo, + mimeType, + MediaCodecInfo.CodecCapabilities.FEATURE_EncodingStatistics)); encoderCapabilitiesForMimeType.add(capabilities); } From 6eabd1edd5ef5fe2167ac541e9039aabed0a058e Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 7 Sep 2022 10:09:29 +0000 Subject: [PATCH 233/422] Discard backbuffer before playback gets stuck. If the back buffer is using too much memory, there is a risk playback could get stuck because LoadControl refuses to load further data. This eventually results in a stuck-buffering playback error. We can detect this case, clear the back buffer and then ask the LoadControl again to avoid failing playback in such a case. PiperOrigin-RevId: 472679797 (cherry picked from commit 310e0fec5c648d51c596a9ca67d963d02ea89f6f) --- RELEASENOTES.md | 2 ++ .../exoplayer/ExoPlayerImplInternal.java | 26 ++++++++++++++++--- .../media3/exoplayer/ExoPlayerTest.java | 20 ++++++++++++++ 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8cdadc2dcf1..a01f2441e9c 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -11,6 +11,8 @@ ([#10057](https://github.com/google/ExoPlayer/issues/10057)). * Limit parallel download removals to 1 to avoid excessive thread creation ([#10458](https://github.com/google/ExoPlayer/issues/10458)). + * Discard back buffer before playback gets stuck due to insufficient + available memory. * Downloads: * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java index a9f0af61117..cd2ef713c20 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java @@ -175,6 +175,11 @@ public interface PlaybackInfoUpdateListener { * to load it. */ private static final long PLAYBACK_STUCK_AFTER_MS = 4000; + /** + * Threshold under which a buffered duration is assumed to be empty. We cannot use zero to account + * for buffers currently hold but not played by the renderer. + */ + private static final long PLAYBACK_BUFFER_EMPTY_THRESHOLD_US = 500_000; private final Renderer[] renderers; private final Set renderersToReset; @@ -1058,7 +1063,7 @@ && shouldTransitionToReadyState(renderersAllowPlayback)) { } } if (!playbackInfo.isLoading - && playbackInfo.totalBufferedDurationUs < 500_000 + && playbackInfo.totalBufferedDurationUs < PLAYBACK_BUFFER_EMPTY_THRESHOLD_US && isLoadingPossible()) { // The renderers are not ready, there is more media available to load, and the LoadControl // is refusing to load it (indicated by !playbackInfo.isLoading). This could be because the @@ -2314,8 +2319,23 @@ private boolean shouldContinueLoading() { ? loadingPeriodHolder.toPeriodTime(rendererPositionUs) : loadingPeriodHolder.toPeriodTime(rendererPositionUs) - loadingPeriodHolder.info.startPositionUs; - return loadControl.shouldContinueLoading( - playbackPositionUs, bufferedDurationUs, mediaClock.getPlaybackParameters().speed); + boolean shouldContinueLoading = + loadControl.shouldContinueLoading( + playbackPositionUs, bufferedDurationUs, mediaClock.getPlaybackParameters().speed); + if (!shouldContinueLoading + && bufferedDurationUs < PLAYBACK_BUFFER_EMPTY_THRESHOLD_US + && (backBufferDurationUs > 0 || retainBackBufferFromKeyframe)) { + // LoadControl doesn't want to continue loading despite no buffered data. Clear back buffer + // and try again in case it's blocked on memory usage of the back buffer. + queue + .getPlayingPeriod() + .mediaPeriod + .discardBuffer(playbackInfo.positionUs, /* toKeyframe= */ false); + shouldContinueLoading = + loadControl.shouldContinueLoading( + playbackPositionUs, bufferedDurationUs, mediaClock.getPlaybackParameters().speed); + } + return shouldContinueLoading; } private boolean isLoadingPossible() { diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index fcb19b48ca6..f0b55b63a40 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -12095,6 +12095,26 @@ public void releaseAfterVolumeChanges_triggerPendingDeviceVolumeEventsInListener verify(listener, atLeast(2)).onDeviceVolumeChanged(anyInt(), anyBoolean()); } + @Test + public void loadControlBackBuffer_withInsufficientMemoryLimits_stillContinuesPlayback() + throws Exception { + DefaultLoadControl loadControl = + new DefaultLoadControl.Builder() + .setTargetBufferBytes(500_000) + .setBackBuffer( + /* backBufferDurationMs= */ 1_000_000, /* retainBackBufferFromKeyframe= */ true) + .build(); + + ExoPlayer player = new TestExoPlayerBuilder(context).setLoadControl(loadControl).build(); + player.setMediaItem( + MediaItem.fromUri("asset:///media/mp4/sample_with_increasing_timestamps_360p.mp4")); + player.prepare(); + player.play(); + runUntilPlaybackState(player, Player.STATE_ENDED); + + // Assert that playing works without getting stuck due to the memory used by the back buffer. + } + // Internal methods. private static ActionSchedule.Builder addSurfaceSwitch(ActionSchedule.Builder builder) { From e6a725b6c2c798e366ed436995a974f088172cdc Mon Sep 17 00:00:00 2001 From: bachinger Date: Wed, 7 Sep 2022 14:01:26 +0000 Subject: [PATCH 234/422] Add withAvailableAd for server side inserted ad groups #minor-release PiperOrigin-RevId: 472714732 (cherry picked from commit 70e82a29b76ef780e8bed691a3f62df0d6d626e6) --- .../media3/common/AdPlaybackState.java | 42 ++++++-- .../media3/common/AdPlaybackStateTest.java | 98 ++++++++++++++----- .../media3/exoplayer/ExoPlayerTest.java | 16 ++- .../exoplayer/MediaPeriodQueueTest.java | 6 +- .../source/ads/AdsMediaSourceTest.java | 7 +- .../media3/exoplayer/ima/AdTagLoader.java | 2 +- .../exoplayer/ima/ImaAdsLoaderTest.java | 8 +- .../media3/test/utils/FakeTimeline.java | 2 +- 8 files changed, 132 insertions(+), 49 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java index ba3caf1d563..d30e71d2dac 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java +++ b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java @@ -125,6 +125,9 @@ public int getFirstAdIndexToPlay() { * Returns the index of the next ad in the ad group that should be played after playing {@code * lastPlayedAdIndex}, or {@link #count} if no later ads should be played. If no ads have been * played, pass -1 to get the index of the first ad to play. + * + *

      Note: {@linkplain #isServerSideInserted Server side inserted ads} are always considered + * playable. */ public int getNextAdIndexToPlay(@IntRange(from = -1) int lastPlayedAdIndex) { int nextAdIndexToPlay = lastPlayedAdIndex + 1; @@ -235,7 +238,7 @@ public AdGroup withAdUri(Uri uri, @IntRange(from = 0) int index) { @CheckResult public AdGroup withAdState(@AdState int state, @IntRange(from = 0) int index) { checkArgument(count == C.LENGTH_UNSET || index < count); - @AdState int[] states = copyStatesWithSpaceForAdCount(this.states, index + 1); + @AdState int[] states = copyStatesWithSpaceForAdCount(this.states, /* count= */ index + 1); checkArgument( states[index] == AD_STATE_UNAVAILABLE || states[index] == AD_STATE_AVAILABLE @@ -470,7 +473,7 @@ private static String keyForField(@AdGroup.FieldNumber int field) { */ public final long contentDurationUs; /** - * The number of ad groups the have been removed. Ad groups with indices between {@code 0} + * The number of ad groups that have been removed. Ad groups with indices between {@code 0} * (inclusive) and {@code removedAdGroupCount} (exclusive) will be empty and must not be modified * by any of the {@code with*} methods. */ @@ -639,18 +642,40 @@ public AdPlaybackState withAdCount( adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); } - /** Returns an instance with the specified ad URI. */ + /** + * Returns an instance with the specified ad URI and the ad marked as {@linkplain + * #AD_STATE_AVAILABLE available}. + * + * @throws IllegalStateException If {@link Uri#EMPTY} is passed as argument for a client-side + * inserted ad group. + */ @CheckResult - public AdPlaybackState withAdUri( + public AdPlaybackState withAvailableAdUri( @IntRange(from = 0) int adGroupIndex, @IntRange(from = 0) int adIndexInAdGroup, Uri uri) { int adjustedIndex = adGroupIndex - removedAdGroupCount; AdGroup[] adGroups = Util.nullSafeArrayCopy(this.adGroups, this.adGroups.length); + checkState(!Uri.EMPTY.equals(uri) || adGroups[adjustedIndex].isServerSideInserted); adGroups[adjustedIndex] = adGroups[adjustedIndex].withAdUri(uri, adIndexInAdGroup); return new AdPlaybackState( adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); } - /** Returns an instance with the specified ad marked as played. */ + /** + * Returns an instance with the specified ad marked as {@linkplain #AD_STATE_AVAILABLE available}. + * + *

      Must not be called with client side inserted ad groups. Client side inserted ads should use + * {@link #withAvailableAdUri}. + * + * @throws IllegalStateException in case this methods is called on an ad group that {@linkplain + * AdGroup#isServerSideInserted is not server side inserted}. + */ + @CheckResult + public AdPlaybackState withAvailableAd( + @IntRange(from = 0) int adGroupIndex, @IntRange(from = 0) int adIndexInAdGroup) { + return withAvailableAdUri(adGroupIndex, adIndexInAdGroup, Uri.EMPTY); + } + + /** Returns an instance with the specified ad marked as {@linkplain #AD_STATE_PLAYED played}. */ @CheckResult public AdPlaybackState withPlayedAd( @IntRange(from = 0) int adGroupIndex, @IntRange(from = 0) int adIndexInAdGroup) { @@ -662,7 +687,7 @@ public AdPlaybackState withPlayedAd( adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); } - /** Returns an instance with the specified ad marked as skipped. */ + /** Returns an instance with the specified ad marked as {@linkplain #AD_STATE_SKIPPED skipped}. */ @CheckResult public AdPlaybackState withSkippedAd( @IntRange(from = 0) int adGroupIndex, @IntRange(from = 0) int adIndexInAdGroup) { @@ -674,7 +699,10 @@ public AdPlaybackState withSkippedAd( adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); } - /** Returns an instance with the specified ad marked as having a load error. */ + /** + * Returns an instance with the specified ad marked {@linkplain #AD_STATE_ERROR as having a load + * error}. + */ @CheckResult public AdPlaybackState withAdLoadError( @IntRange(from = 0) int adGroupIndex, @IntRange(from = 0) int adIndexInAdGroup) { diff --git a/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java b/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java index bf60d525fbf..184533c0ab3 100644 --- a/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java @@ -25,6 +25,7 @@ import android.net.Uri; import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; @@ -33,7 +34,7 @@ public class AdPlaybackStateTest { private static final long[] TEST_AD_GROUP_TIMES_US = new long[] {0, 5_000_000, 10_000_000}; - private static final Uri TEST_URI = Uri.EMPTY; + private static final Uri TEST_URI = Uri.parse("http://www.google.com"); private static final Object TEST_ADS_ID = new Object(); @Test @@ -52,7 +53,7 @@ public void setAdUriBeforeAdCount() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 2); assertThat(state.getAdGroup(1).uris[0]).isNull(); @@ -99,7 +100,7 @@ public void withNewAdGroup_addsGroupAndKeepsExistingGroups() { .withRemovedAdGroupCount(1) .withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 2) .withAdCount(/* adGroupIndex= */ 2, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI) .withSkippedAd(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 0); state = @@ -139,8 +140,8 @@ public void getFirstAdIndexToPlayIsZero() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); assertThat(state.getAdGroup(1).getFirstAdIndexToPlay()).isEqualTo(0); } @@ -150,8 +151,8 @@ public void getFirstAdIndexToPlaySkipsPlayedAd() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); state = state.withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0); @@ -165,8 +166,8 @@ public void getFirstAdIndexToPlaySkipsSkippedAd() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); state = state.withSkippedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0); @@ -180,8 +181,8 @@ public void getFirstAdIndexToPlaySkipsErrorAds() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); state = state.withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0); state = state.withAdLoadError(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1); @@ -194,7 +195,7 @@ public void getNextAdIndexToPlaySkipsErrorAds() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); state = state.withAdLoadError(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1); @@ -207,9 +208,9 @@ public void getFirstAdIndexToPlay_withPlayedServerSideInsertedAds_returnsFirstIn new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withIsServerSideInserted(/* adGroupIndex= */ 1, /* isServerSideInserted= */ true); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); state = state.withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0); @@ -222,9 +223,9 @@ public void getNextAdIndexToPlay_withPlayedServerSideInsertedAds_returnsNextInde new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US).withRemovedAdGroupCount(1); state = state.withIsServerSideInserted(/* adGroupIndex= */ 1, /* isServerSideInserted= */ true); state = state.withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 3); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); state = state.withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0); state = state.withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1); @@ -247,6 +248,51 @@ public void setAdStateTwiceThrows() { } } + @Test + public void withAvailableAd() { + int adGroupIndex = 2; + AdPlaybackState state = + new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US) + .withRemovedAdGroupCount(2) + .withAdCount(adGroupIndex, 3) + .withAdDurationsUs(adGroupIndex, /* adDurationsUs...*/ 10, 20, 30) + .withIsServerSideInserted(adGroupIndex, true); + + state = state.withAvailableAd(adGroupIndex, /* adIndexInAdGroup= */ 2); + + assertThat(state.getAdGroup(adGroupIndex).states) + .asList() + .containsExactly(AD_STATE_UNAVAILABLE, AD_STATE_UNAVAILABLE, AD_STATE_AVAILABLE) + .inOrder(); + assertThat(state.getAdGroup(adGroupIndex).uris) + .asList() + .containsExactly(null, null, Uri.EMPTY) + .inOrder(); + + state = + state + .withAvailableAd(adGroupIndex, /* adIndexInAdGroup= */ 0) + .withAvailableAd(adGroupIndex, /* adIndexInAdGroup= */ 1) + .withAvailableAd(adGroupIndex, /* adIndexInAdGroup= */ 2); + + assertThat(state.getAdGroup(adGroupIndex).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_AVAILABLE) + .inOrder(); + } + + @Test + public void withAvailableAd_forClientSideAdGroup_throwsRuntimeException() { + AdPlaybackState state = + new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US) + .withRemovedAdGroupCount(2) + .withAdCount(/* adGroupIndex= */ 2, 3) + .withAdDurationsUs(/* adGroupIndex= */ 2, /* adDurationsUs...*/ 10, 20, 30); + + Assert.assertThrows( + IllegalStateException.class, () -> state.withAvailableAd(/* adGroupIndex= */ 2, 1)); + } + @Test public void skipAllWithoutAdCount() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US); @@ -272,10 +318,10 @@ public void withResetAdGroup_resetsAdsInFinalStates() { state = state.withAdDurationsUs( /* adGroupIndex= */ 1, /* adDurationsUs...= */ 1_000L, 2_000L, 3_000L, 4_000L, 5_000L); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, Uri.EMPTY); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, Uri.EMPTY); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 3, Uri.EMPTY); - state = state.withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 4, Uri.EMPTY); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 1, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 3, TEST_URI); + state = state.withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 4, TEST_URI); state = state.withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 2); state = state.withSkippedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 3); state = state.withAdLoadError(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 4); @@ -303,7 +349,7 @@ public void withResetAdGroup_resetsAdsInFinalStates() { .inOrder(); assertThat(state.getAdGroup(/* adGroupIndex= */ 1).uris) .asList() - .containsExactly(null, Uri.EMPTY, Uri.EMPTY, Uri.EMPTY, Uri.EMPTY) + .containsExactly(null, TEST_URI, TEST_URI, TEST_URI, TEST_URI) .inOrder(); assertThat(state.getAdGroup(/* adGroupIndex= */ 1).durationsUs) .asList() @@ -317,12 +363,12 @@ public void roundTripViaBundle_yieldsEqualFieldsExceptAdsId() { .withRemovedAdGroupCount(1) .withAdCount(/* adGroupIndex= */ 1, /* adCount= */ 1) .withPlayedAd(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0) - .withAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 1, /* adIndexInAdGroup= */ 0, TEST_URI) .withAdCount(/* adGroupIndex= */ 2, /* adCount= */ 2) .withSkippedAd(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 0) .withPlayedAd(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 1) - .withAdUri(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 0, TEST_URI) - .withAdUri(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 1, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 0, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 2, /* adIndexInAdGroup= */ 1, TEST_URI) .withContentResumeOffsetUs(/* adGroupIndex= */ 1, /* contentResumeOffsetUs= */ 4444) .withContentResumeOffsetUs(/* adGroupIndex= */ 2, /* contentResumeOffsetUs= */ 3333) .withIsServerSideInserted(/* adGroupIndex= */ 1, /* isServerSideInserted= */ true) diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index f0b55b63a40..86c31bba04e 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -4758,7 +4758,8 @@ public void addMediaSource_whilePlayingAd_correctMasking() throws Exception { new AdPlaybackState(/* adsId= */ new Object(), /* adGroupTimesUs...= */ 0); adPlaybackState = adPlaybackState.withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1); adPlaybackState = - adPlaybackState.withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.EMPTY); + adPlaybackState.withAvailableAdUri( + /* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.parse("https://google.com/ad")); long[][] durationsUs = new long[1][]; durationsUs[0] = new long[] {Util.msToUs(adDurationMs)}; adPlaybackState = adPlaybackState.withAdDurationsUs(durationsUs); @@ -4859,7 +4860,8 @@ public void seekTo_whilePlayingAd_correctMasking() throws Exception { new AdPlaybackState(/* adsId= */ new Object(), /* adGroupTimesUs...= */ 0); adPlaybackState = adPlaybackState.withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1); adPlaybackState = - adPlaybackState.withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.EMPTY); + adPlaybackState.withAvailableAdUri( + /* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.parse("https://google.com/ad")); long[][] durationsUs = new long[1][]; durationsUs[0] = new long[] {Util.msToUs(adDurationMs)}; adPlaybackState = adPlaybackState.withAdDurationsUs(durationsUs); @@ -4940,7 +4942,10 @@ public void seekTo_whilePlayingAd_doesntBlockFutureUpdates() throws Exception { AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object(), /* adGroupTimesUs...= */ 0) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.EMPTY); + .withAvailableAdUri( + /* adGroupIndex= */ 0, + /* adIndexInAdGroup= */ 0, + Uri.parse("https://google.com/ad")); long[][] durationsUs = new long[1][]; durationsUs[0] = new long[] {Util.msToUs(adDurationMs)}; adPlaybackState = adPlaybackState.withAdDurationsUs(durationsUs); @@ -9052,7 +9057,10 @@ public void isCommandAvailable_duringAd_isFalseForSeekCommands() throws Exceptio AdPlaybackState adPlaybackState = new AdPlaybackState(/* adsId= */ new Object(), /* adGroupTimesUs...= */ 0) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.EMPTY) + .withAvailableAdUri( + /* adGroupIndex= */ 0, + /* adIndexInAdGroup= */ 0, + Uri.parse("https://google.com/ad")) .withAdDurationsUs(/* adDurationUs= */ new long[][] {{Util.msToUs(4_000)}}); Timeline adTimeline = new FakeTimeline( diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java index c11a0f616ad..ca3bd02eebe 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/MediaPeriodQueueTest.java @@ -70,6 +70,7 @@ public final class MediaPeriodQueueTest { private static final long FIRST_AD_START_TIME_US = 10 * C.MICROS_PER_SECOND; private static final long SECOND_AD_START_TIME_US = 20 * C.MICROS_PER_SECOND; + private static final Uri AD_URI = Uri.parse("https://google.com/empty"); private static final Timeline CONTENT_TIMELINE = new SinglePeriodTimeline( CONTENT_DURATION_US, @@ -77,8 +78,7 @@ public final class MediaPeriodQueueTest { /* isDynamic= */ false, /* useLiveConfiguration= */ false, /* manifest= */ null, - MediaItem.fromUri(Uri.EMPTY)); - private static final Uri AD_URI = Uri.EMPTY; + MediaItem.fromUri(AD_URI)); private MediaPeriodQueue mediaPeriodQueue; private AdPlaybackState adPlaybackState; @@ -1174,7 +1174,7 @@ private void setAdGroupLoaded(int adGroupIndex) { adPlaybackState = adPlaybackState .withAdCount(adGroupIndex, /* adCount= */ 1) - .withAdUri(adGroupIndex, /* adIndexInAdGroup= */ 0, AD_URI) + .withAvailableAdUri(adGroupIndex, /* adIndexInAdGroup= */ 0, AD_URI) .withAdDurationsUs(newDurations); updateTimeline(); } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ads/AdsMediaSourceTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ads/AdsMediaSourceTest.java index 8b0214a94bf..53366ff2baa 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ads/AdsMediaSourceTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/source/ads/AdsMediaSourceTest.java @@ -62,7 +62,7 @@ public final class AdsMediaSourceTest { /* isDynamic= */ false, /* useLiveConfiguration= */ false, /* manifest= */ null, - MediaItem.fromUri(Uri.EMPTY)); + MediaItem.fromUri(Uri.parse("https://google.com/empty"))); private static final Object PREROLL_AD_PERIOD_UID = PREROLL_AD_TIMELINE.getUidOfPeriod(/* periodIndex= */ 0); @@ -74,7 +74,7 @@ public final class AdsMediaSourceTest { /* isDynamic= */ false, /* useLiveConfiguration= */ false, /* manifest= */ null, - MediaItem.fromUri(Uri.EMPTY)); + MediaItem.fromUri(Uri.parse("https://google.com/empty"))); private static final Object CONTENT_PERIOD_UID = CONTENT_TIMELINE.getUidOfPeriod(/* periodIndex= */ 0); @@ -82,7 +82,8 @@ public final class AdsMediaSourceTest { new AdPlaybackState(/* adsId= */ new Object(), /* adGroupTimesUs...= */ 0) .withContentDurationUs(CONTENT_DURATION_US) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.EMPTY) + .withAvailableAdUri( + /* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, Uri.parse("https://google.com/ad")) .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0) .withAdResumePositionUs(/* adResumePositionUs= */ 0); diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java index 4f958e3d558..6938b1fecec 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java @@ -965,7 +965,7 @@ private void loadAdInternal(AdMediaInfo adMediaInfo, AdPodInfo adPodInfo) { Uri adUri = Uri.parse(adMediaInfo.getUrl()); adPlaybackState = - adPlaybackState.withAdUri(adInfo.adGroupIndex, adInfo.adIndexInAdGroup, adUri); + adPlaybackState.withAvailableAdUri(adInfo.adGroupIndex, adInfo.adIndexInAdGroup, adUri); updateAdPlaybackState(); } diff --git a/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaAdsLoaderTest.java b/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaAdsLoaderTest.java index 575faf8c8b9..753be43218d 100644 --- a/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaAdsLoaderTest.java +++ b/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaAdsLoaderTest.java @@ -315,7 +315,7 @@ public void playback_withPrerollAd_marksAdAsPlayed() { new AdPlaybackState(TEST_ADS_ID, /* adGroupTimesUs...= */ 0) .withContentDurationUs(CONTENT_PERIOD_DURATION_US) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) .withAdDurationsUs(new long[][] {{TEST_AD_DURATION_US}}) .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0) .withAdResumePositionUs(/* adResumePositionUs= */ 0)); @@ -1063,7 +1063,7 @@ public double getTimeOffset() { new AdPlaybackState(TEST_ADS_ID, getAdGroupTimesUsForCuePoints(cuePoints)) .withContentDurationUs(CONTENT_PERIOD_DURATION_US) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) .withAdDurationsUs(new long[][] {{TEST_AD_DURATION_US}})); } @@ -1117,7 +1117,7 @@ public void playbackWithTwoAdsMediaSources_preloadsSecondAdTag() { new AdPlaybackState(TEST_ADS_ID, /* adGroupTimesUs...= */ 0) .withContentDurationUs(CONTENT_PERIOD_DURATION_US) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) .withAdDurationsUs(new long[][] {{TEST_AD_DURATION_US}}) .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0) .withAdResumePositionUs(/* adResumePositionUs= */ 0)); @@ -1184,7 +1184,7 @@ public void playbackWithTwoAdsMediaSources_preloadsSecondAdTagWithBackgroundResu new AdPlaybackState(TEST_ADS_ID, /* adGroupTimesUs...= */ 0) .withContentDurationUs(CONTENT_PERIOD_DURATION_US) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) - .withAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) + .withAvailableAdUri(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0, TEST_URI) .withAdDurationsUs(new long[][] {{TEST_AD_DURATION_US}}) .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0) .withAdResumePositionUs(/* adResumePositionUs= */ 0)); diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeTimeline.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeTimeline.java index 9aad788a7a7..668da3bfdcd 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeTimeline.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeTimeline.java @@ -295,7 +295,7 @@ public static AdPlaybackState createAdPlaybackState(int adsPerAdGroup, long... a adPlaybackState = adPlaybackState.withAdCount(/* adGroupIndex= */ i, adsPerAdGroup); for (int j = 0; j < adsPerAdGroup; j++) { adPlaybackState = - adPlaybackState.withAdUri( + adPlaybackState.withAvailableAdUri( /* adGroupIndex= */ i, /* adIndexInAdGroup= */ j, Uri.parse("https://example.com/ad/" + i + "/" + j)); From 8773b59fb5b3e35718305947bda312a97bebe62d Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 7 Sep 2022 15:56:07 +0000 Subject: [PATCH 235/422] Clarify exception message. The exception fires when intent resolution fails to find a service which declares an appropriate intent-filter. The existing message is confusing; it's trying to say that the service couldn't be found but the double negative renders it incorrect. #cleanup #minor-release PiperOrigin-RevId: 472736740 (cherry picked from commit 15d3d74e16bf9830e5ae32d0a8edf691474d0b4e) --- .../main/java/androidx/media3/session/SessionToken.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java index e3a087f7765..5b0e76b8171 100644 --- a/libraries/session/src/main/java/androidx/media3/session/SessionToken.java +++ b/libraries/session/src/main/java/androidx/media3/session/SessionToken.java @@ -118,10 +118,10 @@ public SessionToken(Context context, ComponentName serviceComponent) { type = TYPE_BROWSER_SERVICE_LEGACY; } else { throw new IllegalArgumentException( - serviceComponent - + " doesn't implement none of" - + " MediaSessionService, MediaLibraryService, MediaBrowserService nor" - + " MediaBrowserServiceCompat. Use service's full name"); + "Failed to resolve SessionToken for " + + serviceComponent + + ". Manifest doesn't declare one of either MediaSessionService, MediaLibraryService," + + " MediaBrowserService or MediaBrowserServiceCompat. Use service's full name."); } if (type != TYPE_BROWSER_SERVICE_LEGACY) { impl = new SessionTokenImplBase(serviceComponent, uid, type); From fac7b16915bb1cdb6cec0b374d087c60f7a6aad9 Mon Sep 17 00:00:00 2001 From: claincly Date: Wed, 7 Sep 2022 16:33:44 +0000 Subject: [PATCH 236/422] Clarify GlTextureProcessor.InputListener contract PiperOrigin-RevId: 472745311 (cherry picked from commit 5e2823bb1e9d6c4331dba083ff1d050743bd2e25) --- .../main/java/androidx/media3/effect/GlTextureProcessor.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java index 9f418f9e78c..c2e3f5b7229 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlTextureProcessor.java @@ -62,6 +62,9 @@ default void onReadyToAcceptInputFrame() {} /** * Called when the {@link GlTextureProcessor} has processed an input frame. * + *

      The implementation shall not assume the {@link GlTextureProcessor} is {@linkplain + * #onReadyToAcceptInputFrame ready to accept another input frame} when this method is called. + * * @param inputTexture The {@link TextureInfo} that was used to {@linkplain * #queueInputFrame(TextureInfo, long) queue} the input frame. */ From 1ded03ce13322fd64eb504617c6caa340f01ff4e Mon Sep 17 00:00:00 2001 From: claincly Date: Thu, 8 Sep 2022 11:02:51 +0000 Subject: [PATCH 237/422] Remove conditional check for no-longer flaky API version PiperOrigin-RevId: 472949850 (cherry picked from commit 8b7638bed352ced64e176b068a6524141a3fbf5c) --- .../media3/transformer/TransformerEndToEndTest.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java index 0fe29914799..c7e3cb47666 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -24,7 +24,6 @@ import android.net.Uri; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; -import androidx.media3.common.util.Util; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.util.List; @@ -110,11 +109,6 @@ public void clippedMedia_completesWithClippedDuration() throws Exception { @Test public void videoEncoderFormatUnsupported_completesWithError() { - // TODO(b/236943611): Re-enable this test after investigating flakiness. - if (Util.SDK_INT == 31) { - return; - } - Transformer transformer = new Transformer.Builder(context) .setEncoderFactory(new VideoUnsupportedEncoderFactory(context)) From 0a13578989ace6e61eb1565e29dbff806bd520d8 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 8 Sep 2022 12:03:40 +0000 Subject: [PATCH 238/422] HDR: Add fallback MH tests. Test that HDR editing succeeds on devices supporting HDR editing, tone maps on devices supporting tone mapping, and throws exceptions on all other devices. Also, only restrict HDR editing and tone mapping support to API 31+ only when transcoding, not for all transformations. PiperOrigin-RevId: 472958965 (cherry picked from commit 0d8fd3d4fc1da31c05fa82bb5e815332a6c7fa12) --- .../media3/transformer/AndroidTestUtil.java | 2 + .../mh/SetHdrEditingTransformationTest.java | 145 +++++++++++++++++- .../transformer/TransformerVideoRenderer.java | 11 -- .../VideoTranscodingSamplePipeline.java | 11 ++ 4 files changed, 156 insertions(+), 13 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java index 2c9c2a7f087..ddc4f9eb2f7 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/AndroidTestUtil.java @@ -84,6 +84,8 @@ public final class AndroidTestUtil { .setFrameRate(30.472f) .build(); + public static final String MP4_ASSET_1080P_4_SECOND_HDR10 = + "https://storage.googleapis.com/exoplayer-test-media-1/mp4/samsung-s21-hdr-hdr10.mp4"; public static final String MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER = "asset:///media/mp4/hdr10-video-with-sdr-container.mp4"; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java index e72544d6c19..bb9001e2ef0 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTransformationTest.java @@ -15,31 +15,168 @@ */ package androidx.media3.transformer.mh; +import static androidx.media3.common.MimeTypes.VIDEO_H265; import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER; +import static androidx.media3.transformer.AndroidTestUtil.MP4_ASSET_1080P_4_SECOND_HDR10; import static androidx.media3.transformer.AndroidTestUtil.recordTestSkipped; +import static com.google.common.truth.Truth.assertThat; import android.content.Context; import android.net.Uri; +import androidx.media3.common.C; +import androidx.media3.common.ColorInfo; import androidx.media3.common.MediaItem; import androidx.media3.common.util.Util; +import androidx.media3.transformer.EncoderUtil; +import androidx.media3.transformer.TransformationException; import androidx.media3.transformer.TransformationRequest; import androidx.media3.transformer.Transformer; import androidx.media3.transformer.TransformerAndroidTestRunner; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; +import java.util.concurrent.atomic.AtomicBoolean; import org.junit.Test; import org.junit.runner.RunWith; +// TODO(b/239172735): Add a SetToneMappingTransformationTest for when we request tone mapping. +// TODO(b/239172735): Add HLG tests after finding a shareable HLG file. /** {@link Transformer} instrumentation test for applying an HDR frame edit. */ @RunWith(AndroidJUnit4.class) public class SetHdrEditingTransformationTest { + private static final ColorInfo HDR10_DEFAULT_COLOR_INFO = + new ColorInfo( + C.COLOR_SPACE_BT2020, + C.COLOR_RANGE_LIMITED, + C.COLOR_TRANSFER_ST2084, + /* hdrStaticInfo= */ null); + + @Test + public void transform_noRequestedTranscode_hdr10File_transformsOrThrows() throws Exception { + String testId = "transform_noRequestedTranscode_hdr10File_transformsOrThrows"; + Context context = ApplicationProvider.getApplicationContext(); + + Transformer transformer = + new Transformer.Builder(context) + .setTransformationRequest( + new TransformationRequest.Builder().experimental_setEnableHdrEditing(true).build()) + .build(); + + try { + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run(testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_4_SECOND_HDR10))); + return; + } catch (TransformationException exception) { + assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class); + assertThat(exception.errorCode) + .isEqualTo(TransformationException.ERROR_CODE_HDR_EDITING_UNSUPPORTED); + assertThat(exception) + .hasCauseThat() + .hasMessageThat() + .isEqualTo("HDR editing and tone mapping not supported under API 31."); + return; + } + } + + @Test + public void transformAndTranscode_hdr10File_whenHdrEditingIsSupported() throws Exception { + String testId = "transformAndTranscode_hdr10File_whenHdrEditingIsSupported"; + Context context = ApplicationProvider.getApplicationContext(); + if (!deviceSupportsHdrEditing(VIDEO_H265, HDR10_DEFAULT_COLOR_INFO)) { + recordTestSkipped( + context, + testId, + /* reason= */ "Skipping on this device due to lack of HDR10 editing support."); + return; + } + + Transformer transformer = + new Transformer.Builder(context) + .setTransformationRequest( + new TransformationRequest.Builder() + .experimental_setEnableHdrEditing(true) + .setRotationDegrees(180) + .build()) + .build(); + + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run(testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_4_SECOND_HDR10))); + } + + @Test + public void transformAndTranscode_hdr10File_toneMapsOrThrows_whenHdrEditingUnsupported() + throws Exception { + String testId = "transformAndTranscode_hdr10File_toneMapsOrThrows_whenHdrEditingUnsupported"; + Context context = ApplicationProvider.getApplicationContext(); + if (deviceSupportsHdrEditing(VIDEO_H265, HDR10_DEFAULT_COLOR_INFO)) { + recordTestSkipped( + context, + testId, + /* reason= */ "Skipping on this device due to presence of HDR10 editing support"); + return; + } + + AtomicBoolean isToneMappingFallbackApplied = new AtomicBoolean(); + Transformer transformer = + new Transformer.Builder(context) + .setTransformationRequest( + new TransformationRequest.Builder() + .experimental_setEnableHdrEditing(true) + .setRotationDegrees(180) + .build()) + .addListener( + new Transformer.Listener() { + @Override + public void onFallbackApplied( + MediaItem inputMediaItem, + TransformationRequest originalTransformationRequest, + TransformationRequest fallbackTransformationRequest) { + assertThat(originalTransformationRequest.enableRequestSdrToneMapping).isFalse(); + if (fallbackTransformationRequest.enableRequestSdrToneMapping) { + isToneMappingFallbackApplied.set(true); + } + } + }) + .build(); + + try { + new TransformerAndroidTestRunner.Builder(context, transformer) + .build() + .run(testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_4_SECOND_HDR10))); + } catch (TransformationException exception) { + assertThat(exception).hasCauseThat().isInstanceOf(IllegalArgumentException.class); + // TODO(b/245364266): After fixing the bug, replace the API version check with a check that + // isToneMappingFallbackApplied.get() is true. + if (Util.SDK_INT < 31) { + assertThat(exception.errorCode) + .isEqualTo(TransformationException.ERROR_CODE_HDR_EDITING_UNSUPPORTED); + assertThat(exception) + .hasCauseThat() + .hasMessageThat() + .isEqualTo("HDR editing and tone mapping not supported under API 31."); + } else { + assertThat(exception.errorCode) + .isEqualTo(TransformationException.ERROR_CODE_DECODING_FORMAT_UNSUPPORTED); + assertThat(exception) + .hasCauseThat() + .hasMessageThat() + .isEqualTo("Tone-mapping requested but not supported by the decoder"); + } + return; + } + + assertThat(isToneMappingFallbackApplied.get()).isTrue(); + } + @Test public void transformUnexpectedColorInfo() throws Exception { + String testId = "transformUnexpectedColorInfo"; Context context = ApplicationProvider.getApplicationContext(); if (Util.SDK_INT < 29) { recordTestSkipped( context, - "SetHdrEditingTransformationTest", + testId, /* reason= */ "Skipping on this API version due to lack of support for" + " MediaFormat#getInteger(String, int)."); return; @@ -53,7 +190,11 @@ public void transformUnexpectedColorInfo() throws Exception { new TransformerAndroidTestRunner.Builder(context, transformer) .build() .run( - /* testId= */ "transformUnexpectedColorInfo", + testId, MediaItem.fromUri(Uri.parse(MP4_ASSET_1080P_1_SECOND_HDR10_VIDEO_SDR_CONTAINER))); } + + private static boolean deviceSupportsHdrEditing(String mimeType, ColorInfo colorInfo) { + return !EncoderUtil.getSupportedEncoderNamesForHdrEditing(mimeType, colorInfo).isEmpty(); + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 19be11a6d48..79ce5848dab 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -17,12 +17,10 @@ package androidx.media3.transformer; import static androidx.media3.common.util.Assertions.checkNotNull; -import static androidx.media3.common.util.Util.SDK_INT; import static androidx.media3.exoplayer.source.SampleStream.FLAG_REQUIRE_FORMAT; import android.content.Context; import androidx.media3.common.C; -import androidx.media3.common.ColorInfo; import androidx.media3.common.DebugViewProvider; import androidx.media3.common.Effect; import androidx.media3.common.Format; @@ -99,15 +97,6 @@ protected boolean ensureConfigured() throws TransformationException { return false; } Format inputFormat = checkNotNull(formatHolder.format); - if (SDK_INT < 31 && ColorInfo.isTransferHdr(inputFormat.colorInfo)) { - throw TransformationException.createForCodec( - new IllegalArgumentException("HDR editing not supported under API 31."), - /* isVideo= */ true, - /* isDecoder= */ false, - inputFormat, - /* mediaCodecName= */ null, - TransformationException.ERROR_CODE_HDR_EDITING_UNSUPPORTED); - } if (shouldTranscode(inputFormat)) { samplePipeline = new VideoTranscodingSamplePipeline( diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 09d6306883f..0c10c8c9a5d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; +import static androidx.media3.common.util.Util.SDK_INT; import android.content.Context; import android.media.MediaCodec; @@ -75,6 +76,16 @@ public VideoTranscodingSamplePipeline( Transformer.AsyncErrorListener asyncErrorListener, DebugViewProvider debugViewProvider) throws TransformationException { + if (SDK_INT < 31 && ColorInfo.isTransferHdr(inputFormat.colorInfo)) { + throw TransformationException.createForCodec( + new IllegalArgumentException("HDR editing and tone mapping not supported under API 31."), + /* isVideo= */ true, + /* isDecoder= */ false, + inputFormat, + /* mediaCodecName= */ null, + TransformationException.ERROR_CODE_HDR_EDITING_UNSUPPORTED); + } + decoderInputBuffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); encoderOutputBuffer = From c2ccc62fb5c0cc8a3e780ae1dccdbf3f2cce4caf Mon Sep 17 00:00:00 2001 From: christosts Date: Thu, 8 Sep 2022 13:42:17 +0000 Subject: [PATCH 239/422] MediaControllerListenerTest: add bugs IDs in TODOs PiperOrigin-RevId: 472974903 (cherry picked from commit 260aabb6e948f48edaa79f839e483c661f7d944b) --- .../androidx/media3/session/MediaControllerListenerTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index 7849ffd48be..0e0203a2fca 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -1899,10 +1899,10 @@ public ListenableFuture onCustomCommand( controllerTestRule.createController( remoteSession.getToken(), /* connectionHints= */ null, listener); - // TODO(jaewan): Test with multiple controllers + // TODO(b/245724167): Test with multiple controllers remoteSession.broadcastCustomCommand(testCommand, testArgs); - // TODO(jaewan): Test receivers as well. + // TODO(b/245724167): Test receivers as well. remoteSession.sendCustomCommand(testCommand, testArgs); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); } From ac60e53fcb4ad650c004247c53ecc11d2e071dbf Mon Sep 17 00:00:00 2001 From: leonwind Date: Thu, 8 Sep 2022 18:31:11 +0000 Subject: [PATCH 240/422] Add caching for compositeRgbMatrixArray. * Refactor caching for matrix transformations to reuse it for rgb matrices. PiperOrigin-RevId: 473042194 (cherry picked from commit 55afa598e74271e3802020f13ad5d23d27e88bb1) --- .../effect/MatrixTransformationProcessor.java | 120 +++++++++++------- 1 file changed, 71 insertions(+), 49 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java index c377379118d..c19b3b7b3bb 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java @@ -100,11 +100,18 @@ * for the most recent frame. */ private final float[][] transformationMatrixCache; + /** The RGB matrices provided by the {@link RgbMatrix RgbMatrices} for the most recent frame. */ + private final float[][] rgbMatrixCache; /** * The product of the {@link #transformationMatrixCache} for the most recent frame, to be applied * in the vertex shader. */ - private final float[] compositeTransformationMatrix; + private final float[] compositeTransformationMatrixArray; + /** + * The product of the {@link #rgbMatrixCache} for the most recent frame, to be applied in the + * fragment shader. + */ + private final float[] compositeRgbMatrixArray; /** Matrix for storing an intermediate calculation result. */ private final float[] tempResultMatrix; @@ -112,9 +119,9 @@ * A polygon in the input space chosen such that no additional clipping is needed to keep vertices * inside the NDC range when applying each of the {@link #matrixTransformations}. * - *

      This means that this polygon and {@link #compositeTransformationMatrix} can be used instead - * of applying each of the {@link #matrixTransformations} to {@link #NDC_SQUARE} in separate - * shaders. + *

      This means that this polygon and {@link #compositeTransformationMatrixArray} can be used + * instead of applying each of the {@link #matrixTransformations} to {@link #NDC_SQUARE} in + * separate shaders. */ private ImmutableList visiblePolygon; @@ -345,8 +352,11 @@ private MatrixTransformationProcessor( this.useHdr = useHdr; transformationMatrixCache = new float[matrixTransformations.size()][16]; - compositeTransformationMatrix = new float[16]; - Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); + rgbMatrixCache = new float[rgbMatrices.size()][16]; + compositeTransformationMatrixArray = new float[16]; + Matrix.setIdentityM(compositeTransformationMatrixArray, /* smOffset= */ 0); + compositeRgbMatrixArray = new float[16]; + Matrix.setIdentityM(compositeRgbMatrixArray, /* smOffset= */ 0); tempResultMatrix = new float[16]; visiblePolygon = NDC_SQUARE; } @@ -380,17 +390,17 @@ public Pair configure(int inputWidth, int inputHeight) { @Override public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { + updateCompositeRgbaMatrixArray(presentationTimeUs); updateCompositeTransformationMatrixAndVisiblePolygon(presentationTimeUs); if (visiblePolygon.size() < 3) { return; // Need at least three visible vertices for a triangle. } - float[] compositeRgbMatrix = - createCompositeRgbaMatrixArray(rgbMatrices, useHdr, presentationTimeUs); + try { glProgram.use(); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); - glProgram.setFloatsUniform("uTransformationMatrix", compositeTransformationMatrix); - glProgram.setFloatsUniform("uRgbMatrix", compositeRgbMatrix); + glProgram.setFloatsUniform("uTransformationMatrix", compositeTransformationMatrixArray); + glProgram.setFloatsUniform("uRgbMatrix", compositeRgbMatrixArray); glProgram.setBufferAttribute( "aFramePosition", GlUtil.createVertexBuffer(visiblePolygon), @@ -415,17 +425,23 @@ public void release() throws FrameProcessingException { } /** - * Updates {@link #compositeTransformationMatrix} and {@link #visiblePolygon} based on the given - * frame timestamp. + * Updates {@link #compositeTransformationMatrixArray} and {@link #visiblePolygon} based on the + * given frame timestamp. */ private void updateCompositeTransformationMatrixAndVisiblePolygon(long presentationTimeUs) { - if (!updateTransformationMatrixCache(presentationTimeUs)) { + float[][] matricesAtPresentationTime = new float[matrixTransformations.size()][16]; + for (int i = 0; i < matrixTransformations.size(); i++) { + matricesAtPresentationTime[i] = + matrixTransformations.get(i).getGlMatrixArray(presentationTimeUs); + } + + if (!updateMatrixCache(transformationMatrixCache, matricesAtPresentationTime)) { return; } // Compute the compositeTransformationMatrix and transform and clip the visiblePolygon for each // MatrixTransformation's matrix. - Matrix.setIdentityM(compositeTransformationMatrix, /* smOffset= */ 0); + Matrix.setIdentityM(compositeTransformationMatrixArray, /* smOffset= */ 0); visiblePolygon = NDC_SQUARE; for (float[] transformationMatrix : transformationMatrixCache) { Matrix.multiplyMM( @@ -433,12 +449,12 @@ private void updateCompositeTransformationMatrixAndVisiblePolygon(long presentat /* resultOffset= */ 0, /* lhs= */ transformationMatrix, /* lhsOffset= */ 0, - /* rhs= */ compositeTransformationMatrix, + /* rhs= */ compositeTransformationMatrixArray, /* rhsOffset= */ 0); System.arraycopy( /* src= */ tempResultMatrix, /* srcPos= */ 0, - /* dest= */ compositeTransformationMatrix, + /* dest= */ compositeTransformationMatrixArray, /* destPost= */ 0, /* length= */ tempResultMatrix.length); visiblePolygon = @@ -451,41 +467,23 @@ private void updateCompositeTransformationMatrixAndVisiblePolygon(long presentat } // Calculate the input frame vertices corresponding to the output frame's visible polygon. Matrix.invertM( - tempResultMatrix, /* mInvOffset= */ 0, compositeTransformationMatrix, /* mOffset= */ 0); + tempResultMatrix, + /* mInvOffset= */ 0, + compositeTransformationMatrixArray, + /* mOffset= */ 0); visiblePolygon = MatrixUtils.transformPoints(tempResultMatrix, visiblePolygon); } - /** - * Updates {@link #transformationMatrixCache} with the transformation matrices provided by the - * {@link #matrixTransformations} for the given frame timestamp and returns whether any matrix in - * {@link #transformationMatrixCache} changed. - */ - private boolean updateTransformationMatrixCache(long presentationTimeUs) { - boolean matrixChanged = false; - for (int i = 0; i < matrixTransformations.size(); i++) { - float[] cachedMatrix = transformationMatrixCache[i]; - float[] matrix = matrixTransformations.get(i).getGlMatrixArray(presentationTimeUs); - if (!Arrays.equals(cachedMatrix, matrix)) { - checkState(matrix.length == 16, "A 4x4 transformation matrix must have 16 elements"); - System.arraycopy( - /* src= */ matrix, - /* srcPos= */ 0, - /* dest= */ cachedMatrix, - /* destPost= */ 0, - /* length= */ matrix.length); - matrixChanged = true; - } + /** Updates {@link #compositeRgbMatrixArray} based on the given frame timestamp. */ + private void updateCompositeRgbaMatrixArray(long presentationTimeUs) { + float[][] matricesCurrTimestamp = new float[rgbMatrices.size()][16]; + for (int i = 0; i < rgbMatrices.size(); i++) { + matricesCurrTimestamp[i] = rgbMatrices.get(i).getMatrix(presentationTimeUs, useHdr); } - return matrixChanged; - } - // TODO(b/239757183): Add caching for RgbMatrix and refactor RgbMatrix and MatrixTransformation - // composing. - private static float[] createCompositeRgbaMatrixArray( - ImmutableList rgbMatrices, boolean useHdr, long presentationTimeUs) { - float[] tempResultMatrix = new float[16]; - float[] compositeRgbaMatrix = new float[16]; - Matrix.setIdentityM(compositeRgbaMatrix, /* smOffset= */ 0); + if (!updateMatrixCache(rgbMatrixCache, matricesCurrTimestamp)) { + return; + } for (int i = 0; i < rgbMatrices.size(); i++) { Matrix.multiplyMM( @@ -493,16 +491,40 @@ private static float[] createCompositeRgbaMatrixArray( /* resultOffset= */ 0, /* lhs= */ rgbMatrices.get(i).getMatrix(presentationTimeUs, useHdr), /* lhsOffset= */ 0, - /* rhs= */ compositeRgbaMatrix, + /* rhs= */ compositeRgbMatrixArray, /* rhsOffset= */ 0); System.arraycopy( /* src= */ tempResultMatrix, /* srcPos= */ 0, - /* dest= */ compositeRgbaMatrix, + /* dest= */ compositeRgbMatrixArray, /* destPost= */ 0, /* length= */ tempResultMatrix.length); } + } - return compositeRgbaMatrix; + /** + * Updates the {@code cachedMatrices} with the {@code newMatrices}. Returns whether a matrix has + * changed inside the cache. + * + * @param cachedMatrices The existing cached matrices. Gets updated if it is out of date. + * @param newMatrices The new matrices to compare the cached matrices against. + */ + private static boolean updateMatrixCache(float[][] cachedMatrices, float[][] newMatrices) { + boolean matrixChanged = false; + for (int i = 0; i < cachedMatrices.length; i++) { + float[] cachedMatrix = cachedMatrices[i]; + float[] newMatrix = newMatrices[i]; + if (!Arrays.equals(cachedMatrix, newMatrix)) { + checkState(newMatrix.length == 16, "A 4x4 transformation matrix must have 16 elements"); + System.arraycopy( + /* src= */ newMatrix, + /* srcPos= */ 0, + /* dest= */ cachedMatrix, + /* destPost= */ 0, + /* length= */ newMatrix.length); + matrixChanged = true; + } + } + return matrixChanged; } } From 60737f66a66abed5487e96511298d5b656d84986 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Fri, 9 Sep 2022 10:56:03 +0000 Subject: [PATCH 241/422] Decoder: Reduce max pending frame count limit down to 5. PiperOrigin-RevId: 473212543 (cherry picked from commit 4133bb6070fd1bb000958000d2d4b953cbfc0576) --- .../main/java/androidx/media3/transformer/DefaultCodec.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java index 4f0d1222545..3fd94628b81 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultCodec.java @@ -159,9 +159,9 @@ public int getMaxPendingFrameCount() { // Some OMX decoders don't correctly track their number of output buffers available, and get // stuck if too many frames are rendered without being processed, so limit the number of // pending frames to avoid getting stuck. This value is experimentally determined. See also - // b/213455700, b/230097284, and b/229978305. + // b/213455700, b/230097284, b/229978305, and b/245491744. // TODO(b/230097284): Add a maximum API check after we know which APIs will never use OMX. - return 10; + return 5; } // Otherwise don't limit the number of frames that can be pending at a time, to maximize // throughput. From 88584c311dfc41c6c681bcde67bc274e06b4244b Mon Sep 17 00:00:00 2001 From: samrobinson Date: Fri, 9 Sep 2022 13:07:14 +0000 Subject: [PATCH 242/422] Handle int instead of byte in SSIM. The value of pixels are converted to integers at the point of use, move this logic to the initialisation step. This is a prerequisite step for testing SSIM calculation, which will lead on to some SSIM improvements being verifiable. Tested manually and SSIM values match for the same video before and after this change. PiperOrigin-RevId: 473231779 (cherry picked from commit 3d5ddf0c42f1d2b91d4ef33c75f59656c6e566bc) --- .../media3/transformer/SsimHelper.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java index eb08e432615..0d25e878684 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java @@ -80,8 +80,8 @@ public static double calculate( new VideoDecodingWrapper(context, referenceVideoPath, DEFAULT_COMPARISON_INTERVAL); VideoDecodingWrapper distortedDecodingWrapper = new VideoDecodingWrapper(context, distortedVideoPath, DEFAULT_COMPARISON_INTERVAL); - @Nullable byte[] referenceLumaBuffer = null; - @Nullable byte[] distortedLumaBuffer = null; + @Nullable int[] referenceLumaBuffer = null; + @Nullable int[] distortedLumaBuffer = null; double accumulatedSsim = 0.0; int comparedImagesCount = 0; try { @@ -101,10 +101,10 @@ public static double calculate( assertThat(distortedImage.getHeight()).isEqualTo(height); if (referenceLumaBuffer == null || referenceLumaBuffer.length != width * height) { - referenceLumaBuffer = new byte[width * height]; + referenceLumaBuffer = new int[width * height]; } if (distortedLumaBuffer == null || distortedLumaBuffer.length != width * height) { - distortedLumaBuffer = new byte[width * height]; + distortedLumaBuffer = new int[width * height]; } try { accumulatedSsim += @@ -134,7 +134,7 @@ public static double calculate( * @param lumaChannelBuffer The buffer where the extracted luma values are stored. * @return The {@code lumaChannelBuffer} for convenience. */ - private static byte[] extractLumaChannelBuffer(Image image, byte[] lumaChannelBuffer) { + private static int[] extractLumaChannelBuffer(Image image, int[] lumaChannelBuffer) { // This method is invoked on the main thread. // `image` should contain YUV channels. Image.Plane[] imagePlanes = image.getPlanes(); @@ -147,7 +147,8 @@ private static byte[] extractLumaChannelBuffer(Image image, byte[] lumaChannelBu ByteBuffer lumaByteBuffer = lumaPlane.getBuffer(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { - lumaChannelBuffer[y * width + x] = lumaByteBuffer.get(y * rowStride + x * pixelStride); + lumaChannelBuffer[y * width + x] = + lumaByteBuffer.get(y * rowStride + x * pixelStride) & 0xFF; } } return lumaChannelBuffer; @@ -363,7 +364,7 @@ private static final class MssimCalculator { * @return The MSSIM score between the input images. */ public static double calculate( - byte[] referenceBuffer, byte[] distortedBuffer, int width, int height) { + int[] referenceBuffer, int[] distortedBuffer, int width, int height) { double totalSsim = 0; int windowsCount = 0; @@ -450,11 +451,11 @@ private static double getWindowSsim( /** Returns the mean of the pixels in the window. */ private static double getMean( - byte[] pixelBuffer, int bufferIndexOffset, int stride, int windowWidth, int windowHeight) { + int[] pixelBuffer, int bufferIndexOffset, int stride, int windowWidth, int windowHeight) { double total = 0; for (int y = 0; y < windowHeight; y++) { for (int x = 0; x < windowWidth; x++) { - total += pixelBuffer[get1dIndex(x, y, stride, bufferIndexOffset)] & 0xFF; + total += pixelBuffer[get1dIndex(x, y, stride, bufferIndexOffset)]; } } return total / (windowWidth * windowHeight); @@ -462,8 +463,8 @@ private static double getMean( /** Calculates the variances and covariance of the pixels in the window for both buffers. */ private static double[] getVariancesAndCovariance( - byte[] referenceBuffer, - byte[] distortedBuffer, + int[] referenceBuffer, + int[] distortedBuffer, double referenceMean, double distortedMean, int bufferIndexOffset, @@ -476,8 +477,8 @@ private static double[] getVariancesAndCovariance( for (int y = 0; y < windowHeight; y++) { for (int x = 0; x < windowWidth; x++) { int index = get1dIndex(x, y, stride, bufferIndexOffset); - double referencePixelDeviation = (referenceBuffer[index] & 0xFF) - referenceMean; - double distortedPixelDeviation = (distortedBuffer[index] & 0xFF) - distortedMean; + double referencePixelDeviation = referenceBuffer[index] - referenceMean; + double distortedPixelDeviation = distortedBuffer[index] - distortedMean; referenceVariance += referencePixelDeviation * referencePixelDeviation; distortedVariance += distortedPixelDeviation * distortedPixelDeviation; referenceDistortedCovariance += referencePixelDeviation * distortedPixelDeviation; From 8085fe22f55b67afddad0ad1302b7aed5a9b5b43 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Fri, 9 Sep 2022 15:33:08 +0000 Subject: [PATCH 243/422] Rollback of https://github.com/androidx/media/commit/3d5ddf0c42f1d2b91d4ef33c75f59656c6e566bc *** Original commit *** Handle int instead of byte in SSIM. The value of pixels are converted to integers at the point of use, move this logic to the initialisation step. This is a prerequisite step for testing SSIM calculation, which will lead on to some SSIM improvements being verifiable. Tested manually and SSIM values match for the same video before and after this change. *** PiperOrigin-RevId: 473259446 (cherry picked from commit d188babd2daea5b737ef43604aa00baf157a2df5) --- .../media3/transformer/SsimHelper.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java index 0d25e878684..eb08e432615 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java @@ -80,8 +80,8 @@ public static double calculate( new VideoDecodingWrapper(context, referenceVideoPath, DEFAULT_COMPARISON_INTERVAL); VideoDecodingWrapper distortedDecodingWrapper = new VideoDecodingWrapper(context, distortedVideoPath, DEFAULT_COMPARISON_INTERVAL); - @Nullable int[] referenceLumaBuffer = null; - @Nullable int[] distortedLumaBuffer = null; + @Nullable byte[] referenceLumaBuffer = null; + @Nullable byte[] distortedLumaBuffer = null; double accumulatedSsim = 0.0; int comparedImagesCount = 0; try { @@ -101,10 +101,10 @@ public static double calculate( assertThat(distortedImage.getHeight()).isEqualTo(height); if (referenceLumaBuffer == null || referenceLumaBuffer.length != width * height) { - referenceLumaBuffer = new int[width * height]; + referenceLumaBuffer = new byte[width * height]; } if (distortedLumaBuffer == null || distortedLumaBuffer.length != width * height) { - distortedLumaBuffer = new int[width * height]; + distortedLumaBuffer = new byte[width * height]; } try { accumulatedSsim += @@ -134,7 +134,7 @@ public static double calculate( * @param lumaChannelBuffer The buffer where the extracted luma values are stored. * @return The {@code lumaChannelBuffer} for convenience. */ - private static int[] extractLumaChannelBuffer(Image image, int[] lumaChannelBuffer) { + private static byte[] extractLumaChannelBuffer(Image image, byte[] lumaChannelBuffer) { // This method is invoked on the main thread. // `image` should contain YUV channels. Image.Plane[] imagePlanes = image.getPlanes(); @@ -147,8 +147,7 @@ private static int[] extractLumaChannelBuffer(Image image, int[] lumaChannelBuff ByteBuffer lumaByteBuffer = lumaPlane.getBuffer(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { - lumaChannelBuffer[y * width + x] = - lumaByteBuffer.get(y * rowStride + x * pixelStride) & 0xFF; + lumaChannelBuffer[y * width + x] = lumaByteBuffer.get(y * rowStride + x * pixelStride); } } return lumaChannelBuffer; @@ -364,7 +363,7 @@ private static final class MssimCalculator { * @return The MSSIM score between the input images. */ public static double calculate( - int[] referenceBuffer, int[] distortedBuffer, int width, int height) { + byte[] referenceBuffer, byte[] distortedBuffer, int width, int height) { double totalSsim = 0; int windowsCount = 0; @@ -451,11 +450,11 @@ private static double getWindowSsim( /** Returns the mean of the pixels in the window. */ private static double getMean( - int[] pixelBuffer, int bufferIndexOffset, int stride, int windowWidth, int windowHeight) { + byte[] pixelBuffer, int bufferIndexOffset, int stride, int windowWidth, int windowHeight) { double total = 0; for (int y = 0; y < windowHeight; y++) { for (int x = 0; x < windowWidth; x++) { - total += pixelBuffer[get1dIndex(x, y, stride, bufferIndexOffset)]; + total += pixelBuffer[get1dIndex(x, y, stride, bufferIndexOffset)] & 0xFF; } } return total / (windowWidth * windowHeight); @@ -463,8 +462,8 @@ private static double getMean( /** Calculates the variances and covariance of the pixels in the window for both buffers. */ private static double[] getVariancesAndCovariance( - int[] referenceBuffer, - int[] distortedBuffer, + byte[] referenceBuffer, + byte[] distortedBuffer, double referenceMean, double distortedMean, int bufferIndexOffset, @@ -477,8 +476,8 @@ private static double[] getVariancesAndCovariance( for (int y = 0; y < windowHeight; y++) { for (int x = 0; x < windowWidth; x++) { int index = get1dIndex(x, y, stride, bufferIndexOffset); - double referencePixelDeviation = referenceBuffer[index] - referenceMean; - double distortedPixelDeviation = distortedBuffer[index] - distortedMean; + double referencePixelDeviation = (referenceBuffer[index] & 0xFF) - referenceMean; + double distortedPixelDeviation = (distortedBuffer[index] & 0xFF) - distortedMean; referenceVariance += referencePixelDeviation * referencePixelDeviation; distortedVariance += distortedPixelDeviation * distortedPixelDeviation; referenceDistortedCovariance += referencePixelDeviation * distortedPixelDeviation; From 4e57accb1af50d3576ff439e75d18f128d444536 Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 9 Sep 2022 17:23:24 +0000 Subject: [PATCH 244/422] Rename MatrixTransformationProcessor to MatrixTextureProcessor. PiperOrigin-RevId: 473283967 (cherry picked from commit 5c78444bf84f4efb4c9e9997253f9c10e7c2d296) --- ...a => MatrixTextureProcessorPixelTest.java} | 34 ++++----- .../media3/effect/RgbAdjustmentPixelTest.java | 72 ++++++++----------- .../media3/effect/RgbFilterPixelTest.java | 22 +++--- ...> FinalMatrixTextureProcessorWrapper.java} | 71 +++++++++--------- .../effect/GlEffectsFrameProcessor.java | 29 ++++---- .../media3/effect/GlMatrixTransformation.java | 2 +- ...essor.java => MatrixTextureProcessor.java} | 21 +++--- .../androidx/media3/effect/RgbFilter.java | 2 +- .../androidx/media3/effect/RgbMatrix.java | 4 +- .../effect/ScaleToFitTransformationTest.java | 4 +- 10 files changed, 119 insertions(+), 142 deletions(-) rename libraries/effect/src/androidTest/java/androidx/media3/effect/{MatrixTransformationProcessorPixelTest.java => MatrixTextureProcessorPixelTest.java} (88%) rename libraries/effect/src/main/java/androidx/media3/effect/{FinalMatrixTransformationProcessorWrapper.java => FinalMatrixTextureProcessorWrapper.java} (87%) rename libraries/effect/src/main/java/androidx/media3/effect/{MatrixTransformationProcessor.java => MatrixTextureProcessor.java} (97%) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java similarity index 88% rename from libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java rename to libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java index 702390ac834..8fbab1d6d39 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTransformationProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java @@ -36,7 +36,7 @@ import org.junit.runner.RunWith; /** - * Pixel test for texture processing via {@link MatrixTransformationProcessor}. + * Pixel test for texture processing via {@link MatrixTextureProcessor}. * *

      Expected images are taken from an emulator, so tests on different emulators or physical * devices may fail. To test on other devices, please increase the {@link @@ -44,7 +44,7 @@ * as recommended in {@link GlEffectsFrameProcessorPixelTest}. */ @RunWith(AndroidJUnit4.class) -public final class MatrixTransformationProcessorPixelTest { +public final class MatrixTextureProcessorPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = "media/bitmap/sample_mp4_first_frame/original.png"; public static final String TRANSLATE_RIGHT_PNG_ASSET_PATH = @@ -58,7 +58,7 @@ public final class MatrixTransformationProcessorPixelTest { private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; - private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationFrameProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTextureProcessor; private int inputTexId; private int outputTexId; private int width; @@ -82,8 +82,8 @@ public void createGlObjects() throws IOException, GlUtil.GlException { @After public void release() throws GlUtil.GlException, FrameProcessingException { - if (matrixTransformationFrameProcessor != null) { - matrixTransformationFrameProcessor.release(); + if (matrixTextureProcessor != null) { + matrixTextureProcessor.release(); } if (eglContext != null && eglDisplay != null) { GlUtil.destroyEglContext(eglDisplay, eglContext); @@ -95,12 +95,12 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { String testId = "drawFrame_noEdits"; Matrix identityMatrix = new Matrix(); MatrixTransformation noEditsTransformation = (long presentationTimeUs) -> identityMatrix; - matrixTransformationFrameProcessor = + matrixTextureProcessor = noEditsTransformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTransformationFrameProcessor.configure(width, height); + matrixTextureProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -120,12 +120,12 @@ public void drawFrame_translateRight_producesExpectedOutput() throws Exception { translateRightMatrix.postTranslate(/* dx= */ 1, /* dy= */ 0); MatrixTransformation translateRightTransformation = (long presentationTimeUs) -> translateRightMatrix; - matrixTransformationFrameProcessor = + matrixTextureProcessor = translateRightTransformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTransformationFrameProcessor.configure(width, height); + matrixTextureProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); - matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -144,12 +144,12 @@ public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { Matrix scaleNarrowMatrix = new Matrix(); scaleNarrowMatrix.postScale(.5f, 1.2f); MatrixTransformation scaleNarrowTransformation = (long presentationTimeUs) -> scaleNarrowMatrix; - matrixTransformationFrameProcessor = + matrixTextureProcessor = scaleNarrowTransformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTransformationFrameProcessor.configure(width, height); + matrixTextureProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(SCALE_NARROW_PNG_ASSET_PATH); - matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); @@ -168,12 +168,12 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { Matrix rotate90Matrix = new Matrix(); rotate90Matrix.postRotate(/* degrees= */ 90); MatrixTransformation rotate90Transformation = (long presentationTimeUs) -> rotate90Matrix; - matrixTransformationFrameProcessor = + matrixTextureProcessor = rotate90Transformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTransformationFrameProcessor.configure(width, height); + matrixTextureProcessor.configure(width, height); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ROTATE_90_PNG_ASSET_PATH); - matrixTransformationFrameProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer(width, height); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index 3f115891909..4acd53a3d91 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -62,7 +62,7 @@ public final class RgbAdjustmentPixelTest { private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; - private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTextureProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; private int outputTexId; @@ -94,8 +94,8 @@ public void createGlObjects() throws IOException, GlUtil.GlException { @After public void release() throws GlUtil.GlException, FrameProcessingException { - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); + if (matrixTextureProcessor != null) { + matrixTextureProcessor.release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } @@ -104,13 +104,11 @@ public void release() throws GlUtil.GlException, FrameProcessingException { public void drawFrame_identityMatrix_leavesFrameUnchanged() throws Exception { String testId = "drawFrame_identityMatrix"; RgbMatrix identityMatrix = new RgbAdjustment.Builder().build(); - matrixTransformationProcessor = - identityMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor = identityMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -128,15 +126,13 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { String testId = "drawFrame_removeColors"; RgbMatrix removeColorMatrix = new RgbAdjustment.Builder().setRedScale(0).setGreenScale(0).setBlueScale(0).build(); - matrixTransformationProcessor = - removeColorMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor = removeColorMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( outputSize.first, outputSize.second, Color.BLACK); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -153,13 +149,11 @@ public void drawFrame_removeColors_producesBlackFrame() throws Exception { public void drawFrame_redOnlyFilter_removeBlueAndGreenValues() throws Exception { String testId = "drawFrame_redOnlyFilter"; RgbMatrix redOnlyMatrix = new RgbAdjustment.Builder().setBlueScale(0).setGreenScale(0).build(); - matrixTransformationProcessor = - redOnlyMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor = redOnlyMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -176,13 +170,11 @@ public void drawFrame_redOnlyFilter_removeBlueAndGreenValues() throws Exception public void drawFrame_increaseRedChannel_producesBrighterAndRedderFrame() throws Exception { String testId = "drawFrame_increaseRedChannel"; RgbMatrix increaseRedMatrix = new RgbAdjustment.Builder().setRedScale(5).build(); - matrixTransformationProcessor = - increaseRedMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor = increaseRedMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_RED_CHANNEL_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -200,13 +192,12 @@ public void drawFrame_increaseBrightness_increasesAllValues() throws Exception { String testId = "drawFrame_increaseBrightness"; RgbMatrix increaseBrightnessMatrix = new RgbAdjustment.Builder().setRedScale(5).setGreenScale(5).setBlueScale(5).build(); - matrixTransformationProcessor = + matrixTextureProcessor = increaseBrightnessMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_BRIGHTNESS_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -225,19 +216,18 @@ public void drawFrame_removeRedGreenAndBlueValuesInAChain_producesBlackImage() t RgbMatrix noRed = new RgbAdjustment.Builder().setRedScale(0).build(); RgbMatrix noGreen = new RgbAdjustment.Builder().setGreenScale(0).build(); RgbMatrix noBlue = new RgbAdjustment.Builder().setBlueScale(0).build(); - matrixTransformationProcessor = - MatrixTransformationProcessor.create( + matrixTextureProcessor = + MatrixTextureProcessor.create( context, /* matrixTransformations= */ ImmutableList.of(), /* rgbMatrices= */ ImmutableList.of(noRed, noGreen, noBlue), /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.createArgb8888BitmapWithSolidColor( outputSize.first, outputSize.second, Color.BLACK); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -255,17 +245,16 @@ public void drawFrame_removeBlueAndGreenValuesInAChain_producesOnlyRedImage() th String testId = "drawFrame_removeBlueAndGreenValuesInAChain"; RgbMatrix noGreen = new RgbAdjustment.Builder().setGreenScale(0).build(); RgbMatrix noBlue = new RgbAdjustment.Builder().setBlueScale(0).build(); - matrixTransformationProcessor = - MatrixTransformationProcessor.create( + matrixTextureProcessor = + MatrixTextureProcessor.create( context, /* matrixTransformations= */ ImmutableList.of(), /* rgbMatrices= */ ImmutableList.of(noGreen, noBlue), /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ONLY_RED_CHANNEL_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -285,17 +274,16 @@ public void drawFrame_increasesAndDecreasesRed_producesNoChange() throws Excepti RgbMatrix scaleRedMatrix = new RgbAdjustment.Builder().setRedScale(redScale).build(); RgbMatrix scaleRedByInverseMatrix = new RgbAdjustment.Builder().setRedScale(1 / redScale).build(); - matrixTransformationProcessor = - MatrixTransformationProcessor.create( + matrixTextureProcessor = + MatrixTextureProcessor.create( context, /* matrixTransformations= */ ImmutableList.of(), /* rgbMatrices= */ ImmutableList.of(scaleRedMatrix, scaleRedByInverseMatrix), /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java index 7468de9d401..75e453b6df1 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java @@ -58,7 +58,7 @@ public final class RgbFilterPixelTest { private @MonotonicNonNull EGLDisplay eglDisplay; private @MonotonicNonNull EGLContext eglContext; - private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTransformationProcessor; + private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTextureProcessor; private @MonotonicNonNull EGLSurface placeholderEglSurface; private int inputTexId; private int outputTexId; @@ -90,8 +90,8 @@ public void createGlObjects() throws IOException, GlUtil.GlException { @After public void release() throws GlUtil.GlException, FrameProcessingException { - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); + if (matrixTextureProcessor != null) { + matrixTextureProcessor.release(); } GlUtil.destroyEglContext(eglDisplay, eglContext); } @@ -100,13 +100,11 @@ public void release() throws GlUtil.GlException, FrameProcessingException { public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { String testId = "drawFrame_grayscale"; RgbMatrix grayscaleMatrix = RgbFilter.createGrayscaleFilter(); - matrixTransformationProcessor = - grayscaleMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor = grayscaleMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); @@ -123,13 +121,11 @@ public void drawFrame_grayscale_producesGrayscaleImage() throws Exception { public void drawFrame_inverted_producesInvertedFrame() throws Exception { String testId = "drawFrame_inverted"; RgbMatrix invertedMatrix = RgbFilter.createInvertedFilter(); - matrixTransformationProcessor = - invertedMatrix.toGlTextureProcessor(context, /* useHdr= */ false); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor = invertedMatrix.toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INVERT_PNG_ASSET_PATH); - matrixTransformationProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); + matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java similarity index 87% rename from libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java rename to libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java index e8c590df960..60bdaa7fc83 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTransformationProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java @@ -52,15 +52,14 @@ * Wrapper around a {@link GlTextureProcessor} that writes to the provided output surface and * optional debug surface view. * - *

      The wrapped {@link GlTextureProcessor} applies the {@link GlMatrixTransformation} instances - * passed to the constructor, followed by any transformations needed to convert the frames to the - * dimensions specified by the provided {@link SurfaceInfo}. + *

      The wrapped {@link GlTextureProcessor} applies the {@link GlMatrixTransformation} and {@link + * RgbMatrix} instances passed to the constructor, followed by any transformations needed to convert + * the frames to the dimensions specified by the provided {@link SurfaceInfo}. * *

      This wrapper is used for the final {@link GlTextureProcessor} instance in the chain of {@link * GlTextureProcessor} instances used by {@link FrameProcessor}. */ -/* package */ final class FinalMatrixTransformationProcessorWrapper - implements ExternalTextureProcessor { +/* package */ final class FinalMatrixTextureProcessorWrapper implements ExternalTextureProcessor { private static final String TAG = "FinalProcessorWrapper"; @@ -80,7 +79,7 @@ private int inputWidth; private int inputHeight; - @Nullable private MatrixTransformationProcessor matrixTransformationProcessor; + @Nullable private MatrixTextureProcessor matrixTextureProcessor; @Nullable private SurfaceViewWrapper debugSurfaceViewWrapper; private InputListener inputListener; private @MonotonicNonNull Pair outputSizeBeforeSurfaceTransformation; @@ -96,7 +95,7 @@ @Nullable private EGLSurface outputEglSurface; - public FinalMatrixTransformationProcessorWrapper( + public FinalMatrixTextureProcessorWrapper( Context context, EGLDisplay eglDisplay, EGLContext eglContext, @@ -192,8 +191,8 @@ public void signalEndOfCurrentInputStream() { @Override @WorkerThread public void release() throws FrameProcessingException { - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); + if (matrixTextureProcessor != null) { + matrixTextureProcessor.release(); } } @@ -206,8 +205,8 @@ public void setTextureTransformMatrix(float[] textureTransformMatrix) { /* destPost= */ 0, /* length= */ textureTransformMatrix.length); - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); + if (matrixTextureProcessor != null) { + matrixTextureProcessor.setTextureTransformMatrix(textureTransformMatrix); } } @@ -271,8 +270,7 @@ private synchronized void maybeRenderFrameToOutputSurface( EGLSurface outputEglSurface = this.outputEglSurface; SurfaceInfo outputSurfaceInfo = this.outputSurfaceInfo; - MatrixTransformationProcessor matrixTransformationProcessor = - this.matrixTransformationProcessor; + MatrixTextureProcessor matrixTextureProcessor = this.matrixTextureProcessor; GlUtil.focusEglSurface( eglDisplay, @@ -281,7 +279,7 @@ private synchronized void maybeRenderFrameToOutputSurface( outputSurfaceInfo.width, outputSurfaceInfo.height); GlUtil.clearOutputFrame(); - matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + matrixTextureProcessor.drawFrame(inputTexture.texId, presentationTimeUs); if (dropLateFrame && System.nanoTime() > releaseTimeNs) { return; @@ -291,7 +289,7 @@ private synchronized void maybeRenderFrameToOutputSurface( } @EnsuresNonNullIf( - expression = {"outputSurfaceInfo", "outputEglSurface", "matrixTransformationProcessor"}, + expression = {"outputSurfaceInfo", "outputEglSurface", "matrixTextureProcessor"}, result = true) private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) throws FrameProcessingException, GlUtil.GlException { @@ -313,9 +311,9 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) } if (outputSurfaceInfo == null) { - if (matrixTransformationProcessor != null) { - matrixTransformationProcessor.release(); - matrixTransformationProcessor = null; + if (matrixTextureProcessor != null) { + matrixTextureProcessor.release(); + matrixTextureProcessor = null; } outputEglSurface = null; return false; @@ -342,14 +340,13 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) this.debugSurfaceView = debugSurfaceView; } - if (matrixTransformationProcessor != null && outputSizeOrRotationChanged) { - matrixTransformationProcessor.release(); - matrixTransformationProcessor = null; + if (matrixTextureProcessor != null && outputSizeOrRotationChanged) { + matrixTextureProcessor.release(); + matrixTextureProcessor = null; outputSizeOrRotationChanged = false; } - if (matrixTransformationProcessor == null) { - matrixTransformationProcessor = - createMatrixTransformationProcessorForOutputSurface(outputSurfaceInfo); + if (matrixTextureProcessor == null) { + matrixTextureProcessor = createMatrixTextureProcessorForOutputSurface(outputSurfaceInfo); } this.outputSurfaceInfo = outputSurfaceInfo; @@ -357,7 +354,7 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) return true; } - private MatrixTransformationProcessor createMatrixTransformationProcessorForOutputSurface( + private MatrixTextureProcessor createMatrixTextureProcessorForOutputSurface( SurfaceInfo outputSurfaceInfo) throws FrameProcessingException { ImmutableList.Builder matrixTransformationListBuilder = new ImmutableList.Builder().addAll(matrixTransformations); @@ -371,39 +368,37 @@ private MatrixTransformationProcessor createMatrixTransformationProcessorForOutp Presentation.createForWidthAndHeight( outputSurfaceInfo.width, outputSurfaceInfo.height, Presentation.LAYOUT_SCALE_TO_FIT)); - MatrixTransformationProcessor matrixTransformationProcessor; + MatrixTextureProcessor matrixTextureProcessor; ImmutableList expandedMatrixTransformations = matrixTransformationListBuilder.build(); if (sampleFromExternalTexture) { - matrixTransformationProcessor = - MatrixTransformationProcessor.createWithExternalSamplerApplyingEotfThenOetf( + matrixTextureProcessor = + MatrixTextureProcessor.createWithExternalSamplerApplyingEotfThenOetf( context, expandedMatrixTransformations, rgbMatrices, colorInfo); } else { - matrixTransformationProcessor = - MatrixTransformationProcessor.createApplyingOetf( + matrixTextureProcessor = + MatrixTextureProcessor.createApplyingOetf( context, expandedMatrixTransformations, rgbMatrices, colorInfo); } - matrixTransformationProcessor.setTextureTransformMatrix(textureTransformMatrix); - Pair outputSize = - matrixTransformationProcessor.configure(inputWidth, inputHeight); + matrixTextureProcessor.setTextureTransformMatrix(textureTransformMatrix); + Pair outputSize = matrixTextureProcessor.configure(inputWidth, inputHeight); checkState(outputSize.first == outputSurfaceInfo.width); checkState(outputSize.second == outputSurfaceInfo.height); - return matrixTransformationProcessor; + return matrixTextureProcessor; } private void maybeRenderFrameToDebugSurface(TextureInfo inputTexture, long presentationTimeUs) { - if (debugSurfaceViewWrapper == null || matrixTransformationProcessor == null) { + if (debugSurfaceViewWrapper == null || this.matrixTextureProcessor == null) { return; } - MatrixTransformationProcessor matrixTransformationProcessor = - this.matrixTransformationProcessor; + MatrixTextureProcessor matrixTextureProcessor = this.matrixTextureProcessor; try { debugSurfaceViewWrapper.maybeRenderToSurfaceView( () -> { GlUtil.clearOutputFrame(); - matrixTransformationProcessor.drawFrame(inputTexture.texId, presentationTimeUs); + matrixTextureProcessor.drawFrame(inputTexture.texId, presentationTimeUs); }); } catch (FrameProcessingException | GlUtil.GlException e) { Log.d(TAG, "Error rendering to debug preview", e); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index 5f326930404..ef057ead459 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -159,15 +159,15 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( } /** - * Combines consecutive {@link GlMatrixTransformation} instances into a single {@link - * MatrixTransformationProcessor} and converts all other {@link GlEffect} instances to separate - * {@link GlTextureProcessor} instances. + * Combines consecutive {@link GlMatrixTransformation} and {@link RgbMatrix} instances into a + * single {@link MatrixTextureProcessor} and converts all other {@link GlEffect} instances to + * separate {@link GlTextureProcessor} instances. * *

      All {@link Effect} instances must be {@link GlEffect} instances. * * @return A non-empty list of {@link GlTextureProcessor} instances to apply in the given order. * The first is an {@link ExternalTextureProcessor} and the last is a {@link - * FinalMatrixTransformationProcessorWrapper}. + * FinalMatrixTextureProcessorWrapper}. */ // TODO(b/239757183): Squash GlMatrixTransformation and RgbMatrix together. private static ImmutableList getGlTextureProcessorsForGlEffects( @@ -206,17 +206,17 @@ private static ImmutableList getGlTextureProcessorsForGlEffe matrixTransformationListBuilder.build(); ImmutableList rgbMatrices = rgbMatrixListBuilder.build(); if (!matrixTransformations.isEmpty() || !rgbMatrices.isEmpty() || sampleFromExternalTexture) { - MatrixTransformationProcessor matrixTransformationProcessor; + MatrixTextureProcessor matrixTextureProcessor; if (sampleFromExternalTexture) { - matrixTransformationProcessor = - MatrixTransformationProcessor.createWithExternalSamplerApplyingEotf( + matrixTextureProcessor = + MatrixTextureProcessor.createWithExternalSamplerApplyingEotf( context, matrixTransformations, rgbMatrices, colorInfo); } else { - matrixTransformationProcessor = - MatrixTransformationProcessor.create( + matrixTextureProcessor = + MatrixTextureProcessor.create( context, matrixTransformations, rgbMatrices, ColorInfo.isTransferHdr(colorInfo)); } - textureProcessorListBuilder.add(matrixTransformationProcessor); + textureProcessorListBuilder.add(matrixTextureProcessor); matrixTransformationListBuilder = new ImmutableList.Builder<>(); rgbMatrixListBuilder = new ImmutableList.Builder<>(); sampleFromExternalTexture = false; @@ -226,7 +226,7 @@ private static ImmutableList getGlTextureProcessorsForGlEffe } textureProcessorListBuilder.add( - new FinalMatrixTransformationProcessorWrapper( + new FinalMatrixTextureProcessorWrapper( context, eglDisplay, eglContext, @@ -271,7 +271,7 @@ private static void chainTextureProcessorsWithListeners( private final ExternalTextureManager inputExternalTextureManager; private final Surface inputSurface; private final boolean releaseFramesAutomatically; - private final FinalMatrixTransformationProcessorWrapper finalTextureProcessorWrapper; + private final FinalMatrixTextureProcessorWrapper finalTextureProcessorWrapper; private final ImmutableList allTextureProcessors; private @MonotonicNonNull FrameInfo nextInputFrameInfo; @@ -297,15 +297,14 @@ private GlEffectsFrameProcessor( checkState(!textureProcessors.isEmpty()); checkState(textureProcessors.get(0) instanceof ExternalTextureProcessor); - checkState(getLast(textureProcessors) instanceof FinalMatrixTransformationProcessorWrapper); + checkState(getLast(textureProcessors) instanceof FinalMatrixTextureProcessorWrapper); ExternalTextureProcessor inputExternalTextureProcessor = (ExternalTextureProcessor) textureProcessors.get(0); inputExternalTextureManager = new ExternalTextureManager(inputExternalTextureProcessor, frameProcessingTaskExecutor); inputExternalTextureProcessor.setInputListener(inputExternalTextureManager); inputSurface = new Surface(inputExternalTextureManager.getSurfaceTexture()); - finalTextureProcessorWrapper = - (FinalMatrixTransformationProcessorWrapper) getLast(textureProcessors); + finalTextureProcessorWrapper = (FinalMatrixTextureProcessorWrapper) getLast(textureProcessors); allTextureProcessors = textureProcessors; previousStreamOffsetUs = C.TIME_UNSET; } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java index a4e8803bd71..59297829c96 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlMatrixTransformation.java @@ -55,7 +55,7 @@ default Pair configure(int inputWidth, int inputHeight) { @Override default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return MatrixTransformationProcessor.create( + return MatrixTextureProcessor.create( context, /* matrixTransformations= */ ImmutableList.of(this), /* rgbMatrices= */ ImmutableList.of(), diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java similarity index 97% rename from libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java rename to libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java index c19b3b7b3bb..7b6062e916e 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTransformationProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java @@ -50,10 +50,9 @@ * *

      Can copy frames from an external texture and apply color transformations for HDR if needed. */ -// TODO(b/239757183): Rename Matrix to a more generic name. @UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 -/* package */ final class MatrixTransformationProcessor extends SingleFrameGlTextureProcessor +/* package */ final class MatrixTextureProcessor extends SingleFrameGlTextureProcessor implements ExternalTextureProcessor { private static final String VERTEX_SHADER_TRANSFORMATION_PATH = @@ -142,7 +141,7 @@ * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ - public static MatrixTransformationProcessor create( + public static MatrixTextureProcessor create( Context context, List matrixTransformations, List rgbMatrices, @@ -153,7 +152,7 @@ public static MatrixTransformationProcessor create( context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_TRANSFORMATION_PATH); // No transfer functions needed, because input and output are both optical colors. - return new MatrixTransformationProcessor( + return new MatrixTextureProcessor( glProgram, ImmutableList.copyOf(matrixTransformations), ImmutableList.copyOf(rgbMatrices), @@ -183,7 +182,7 @@ public static MatrixTransformationProcessor create( * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ - public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotf( + public static MatrixTextureProcessor createWithExternalSamplerApplyingEotf( Context context, List matrixTransformations, List rgbMatrices, @@ -217,7 +216,7 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot glProgram.setIntUniform("uEotfColorTransfer", colorTransfer); } - return new MatrixTransformationProcessor( + return new MatrixTextureProcessor( glProgram, ImmutableList.copyOf(matrixTransformations), ImmutableList.copyOf(rgbMatrices), @@ -243,7 +242,7 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ - public static MatrixTransformationProcessor createApplyingOetf( + public static MatrixTextureProcessor createApplyingOetf( Context context, List matrixTransformations, List rgbMatrices, @@ -264,7 +263,7 @@ public static MatrixTransformationProcessor createApplyingOetf( glProgram.setIntUniform("uOetfColorTransfer", colorTransfer); } - return new MatrixTransformationProcessor( + return new MatrixTextureProcessor( glProgram, ImmutableList.copyOf(matrixTransformations), ImmutableList.copyOf(rgbMatrices), @@ -290,7 +289,7 @@ public static MatrixTransformationProcessor createApplyingOetf( * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL * operation fails or is unsupported. */ - public static MatrixTransformationProcessor createWithExternalSamplerApplyingEotfThenOetf( + public static MatrixTextureProcessor createWithExternalSamplerApplyingEotfThenOetf( Context context, List matrixTransformations, List rgbMatrices, @@ -322,7 +321,7 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot glProgram.setIntUniform("uEotfColorTransfer", Format.NO_VALUE); } - return new MatrixTransformationProcessor( + return new MatrixTextureProcessor( glProgram, ImmutableList.copyOf(matrixTransformations), ImmutableList.copyOf(rgbMatrices), @@ -340,7 +339,7 @@ public static MatrixTransformationProcessor createWithExternalSamplerApplyingEot * @param useHdr Whether to process the input as an HDR signal. Using HDR requires the {@code * EXT_YUV_target} OpenGL extension. */ - private MatrixTransformationProcessor( + private MatrixTextureProcessor( GlProgram glProgram, ImmutableList matrixTransformations, ImmutableList rgbMatrices, diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java index 3452b00c3b1..ca33e34525f 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java @@ -91,7 +91,7 @@ public float[] getMatrix(long presentationTimeUs, boolean useHdr) { } @Override - public MatrixTransformationProcessor toGlTextureProcessor(Context context, boolean useHdr) + public MatrixTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { checkForConsistentHdrSetting(useHdr); return RgbMatrix.super.toGlTextureProcessor(context, useHdr); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java index 1a5371695d8..39a78e979a3 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java @@ -40,9 +40,9 @@ public interface RgbMatrix extends GlEffect { float[] getMatrix(long presentationTimeUs, boolean useHdr); @Override - default MatrixTransformationProcessor toGlTextureProcessor(Context context, boolean useHdr) + default MatrixTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { - return MatrixTransformationProcessor.create( + return MatrixTextureProcessor.create( context, /* matrixTransformations= */ ImmutableList.of(), /* rgbMatrices= */ ImmutableList.of(this), diff --git a/libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java b/libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java index efc18b77418..134dc663e38 100644 --- a/libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/ScaleToFitTransformationTest.java @@ -25,8 +25,8 @@ /** * Unit tests for {@link ScaleToFitTransformation}. * - *

      See {@code MatrixTransformationPixelTest} for pixel tests testing {@link - * MatrixTransformationProcessor} given a transformation matrix. + *

      See {@code MatrixTextureProcessorPixelTest} for pixel tests testing {@link + * MatrixTextureProcessor} given a transformation matrix. */ @RunWith(AndroidJUnit4.class) public final class ScaleToFitTransformationTest { From 84a46053d6735b03b423f93cc899b6e2d29949a9 Mon Sep 17 00:00:00 2001 From: claincly Date: Sun, 11 Sep 2022 13:01:26 +0000 Subject: [PATCH 245/422] Split decoding out of the test This method is useful for other tests also. PiperOrigin-RevId: 473574282 (cherry picked from commit 7f42e19f09e2fbda5d6c84e04cbabd2b1612a2d7) --- .../media3/effect/FrameProcessorTestUtil.java | 132 +++++++++++++ .../GlEffectsFrameProcessorPixelTest.java | 173 ++++++------------ 2 files changed, 193 insertions(+), 112 deletions(-) create mode 100644 libraries/effect/src/androidTest/java/androidx/media3/effect/FrameProcessorTestUtil.java diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/FrameProcessorTestUtil.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/FrameProcessorTestUtil.java new file mode 100644 index 00000000000..527e4a64ebb --- /dev/null +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/FrameProcessorTestUtil.java @@ -0,0 +1,132 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; +import static com.google.common.truth.Truth.assertThat; + +import android.content.Context; +import android.content.res.AssetFileDescriptor; +import android.graphics.SurfaceTexture; +import android.media.MediaCodec; +import android.media.MediaExtractor; +import android.media.MediaFormat; +import android.view.Surface; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.MimeTypes; +import java.nio.ByteBuffer; +import org.checkerframework.checker.nullness.qual.Nullable; + +/** Utilities for instrumentation tests for {@link FrameProcessor}. */ +public class FrameProcessorTestUtil { + + /** Listener for decoding events. */ + interface Listener { + /** Called when the video {@link MediaFormat} is extracted from the container. */ + void onVideoMediaFormatExtracted(MediaFormat mediaFormat); + + /** Called when the video {@link MediaFormat} is read by the decoder from the byte stream. */ + void onVideoMediaFormatRead(MediaFormat mediaFormat); + } + + /** Timeout for dequeueing buffers from the codec, in microseconds. */ + private static final int DEQUEUE_TIMEOUT_US = 5_000_000; + + /** + * Decodes one frame from the {@code assetFilePath} and renders it to the {@code surface}. + * + * @param assetFilePath The path to the file in the asset directory. + * @param listener A {@link Listener} implementation. + * @param surface The {@link Surface} to render the decoded frame to, {@code null} if the decoded + * frame is not needed. + */ + public static void decodeOneFrame( + String assetFilePath, Listener listener, @Nullable Surface surface) throws Exception { + // Set up the extractor to read the first video frame and get its format. + if (surface == null) { + // Creates a placeholder surface. + surface = new Surface(new SurfaceTexture(/* texName= */ 0)); + } + + MediaExtractor mediaExtractor = new MediaExtractor(); + @Nullable MediaCodec mediaCodec = null; + @Nullable MediaFormat mediaFormat = null; + Context context = getApplicationContext(); + try (AssetFileDescriptor afd = context.getAssets().openFd(assetFilePath)) { + mediaExtractor.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); + for (int i = 0; i < mediaExtractor.getTrackCount(); i++) { + if (MimeTypes.isVideo(mediaExtractor.getTrackFormat(i).getString(MediaFormat.KEY_MIME))) { + mediaFormat = mediaExtractor.getTrackFormat(i); + listener.onVideoMediaFormatExtracted(checkNotNull(mediaFormat)); + mediaExtractor.selectTrack(i); + break; + } + } + + checkStateNotNull(mediaFormat); + // Queue the first video frame from the extractor. + String mimeType = checkNotNull(mediaFormat.getString(MediaFormat.KEY_MIME)); + mediaCodec = MediaCodec.createDecoderByType(mimeType); + mediaCodec.configure(mediaFormat, surface, /* crypto= */ null, /* flags= */ 0); + mediaCodec.start(); + int inputBufferIndex = mediaCodec.dequeueInputBuffer(DEQUEUE_TIMEOUT_US); + assertThat(inputBufferIndex).isNotEqualTo(MediaCodec.INFO_TRY_AGAIN_LATER); + ByteBuffer inputBuffer = checkNotNull(mediaCodec.getInputBuffers()[inputBufferIndex]); + int sampleSize = mediaExtractor.readSampleData(inputBuffer, /* offset= */ 0); + mediaCodec.queueInputBuffer( + inputBufferIndex, + /* offset= */ 0, + sampleSize, + mediaExtractor.getSampleTime(), + mediaExtractor.getSampleFlags()); + + // Queue an end-of-stream buffer to force the codec to produce output. + inputBufferIndex = mediaCodec.dequeueInputBuffer(DEQUEUE_TIMEOUT_US); + assertThat(inputBufferIndex).isNotEqualTo(MediaCodec.INFO_TRY_AGAIN_LATER); + mediaCodec.queueInputBuffer( + inputBufferIndex, + /* offset= */ 0, + /* size= */ 0, + /* presentationTimeUs= */ 0, + MediaCodec.BUFFER_FLAG_END_OF_STREAM); + + // Dequeue and render the output video frame. + MediaCodec.BufferInfo bufferInfo = new MediaCodec.BufferInfo(); + int outputBufferIndex; + boolean decoderFormatRead = false; + do { + outputBufferIndex = mediaCodec.dequeueOutputBuffer(bufferInfo, DEQUEUE_TIMEOUT_US); + if (!decoderFormatRead && outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) { + listener.onVideoMediaFormatRead(mediaCodec.getOutputFormat()); + decoderFormatRead = true; + } + assertThat(outputBufferIndex).isNotEqualTo(MediaCodec.INFO_TRY_AGAIN_LATER); + } while (outputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED + || outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED); + mediaCodec.releaseOutputBuffer(outputBufferIndex, /* render= */ true); + } finally { + mediaExtractor.release(); + if (mediaCodec != null) { + mediaCodec.release(); + } + } + } + + private FrameProcessorTestUtil() {} +} diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index 8e2ffbc92df..ed255d30365 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -18,33 +18,28 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.media3.effect.FrameProcessorTestUtil.decodeOneFrame; import static androidx.test.core.app.ApplicationProvider.getApplicationContext; import static com.google.common.truth.Truth.assertThat; import static java.util.Arrays.asList; import android.content.Context; -import android.content.res.AssetFileDescriptor; import android.graphics.Bitmap; import android.graphics.Matrix; import android.graphics.PixelFormat; import android.media.Image; import android.media.ImageReader; -import android.media.MediaCodec; -import android.media.MediaExtractor; import android.media.MediaFormat; import android.util.Pair; -import androidx.annotation.Nullable; import androidx.media3.common.ColorInfo; import androidx.media3.common.DebugViewProvider; import androidx.media3.common.Effect; import androidx.media3.common.FrameInfo; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.FrameProcessor; -import androidx.media3.common.MimeTypes; import androidx.media3.common.SurfaceInfo; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; -import java.nio.ByteBuffer; import java.util.List; import java.util.concurrent.atomic.AtomicReference; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @@ -87,8 +82,6 @@ public final class GlEffectsFrameProcessorPixelTest { /** Input video of which we only use the first frame. */ private static final String INPUT_MP4_ASSET_STRING = "media/mp4/sample.mp4"; - /** Timeout for dequeueing buffers from the codec, in microseconds. */ - private static final int DEQUEUE_TIMEOUT_US = 5_000_000; /** * Time to wait for the decoded frame to populate the {@link GlEffectsFrameProcessor} instance's * input surface and the {@link GlEffectsFrameProcessor} to finish processing the frame, in @@ -101,7 +94,6 @@ public final class GlEffectsFrameProcessorPixelTest { private final AtomicReference frameProcessingException = new AtomicReference<>(); - private @MonotonicNonNull MediaFormat mediaFormat; private @MonotonicNonNull GlEffectsFrameProcessor glEffectsFrameProcessor; private volatile @MonotonicNonNull ImageReader outputImageReader; private volatile boolean frameProcessingEnded; @@ -422,9 +414,11 @@ public void drawFrame_grayscaleAndIncreaseRedChannel_producesGrayscaleAndRedImag // GlEffectWrapper to ensure usage of intermediate textures. /** - * Set up and prepare the first frame from an input video, as well as relevant test - * infrastructure. The frame will be sent towards the {@link GlEffectsFrameProcessor}, and output - * may be accessed on the {@code outputImageReader}. + * Sets up and prepares the first frame from an input video, as well as the relevant test + * infrastructure. + * + *

      The frame will be sent towards {@link #glEffectsFrameProcessor}, and output may be accessed + * on the {@code outputImageReader}. * * @param pixelWidthHeightRatio The ratio of width over height for each pixel. * @param effects The {@link GlEffect GlEffects} to apply to the input frame. @@ -436,106 +430,61 @@ private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, GlEffect... private void setUpAndPrepareFirstFrame(float pixelWidthHeightRatio, List effects) throws Exception { - // Set up the extractor to read the first video frame and get its format. - MediaExtractor mediaExtractor = new MediaExtractor(); - @Nullable MediaCodec mediaCodec = null; - Context context = getApplicationContext(); - try (AssetFileDescriptor afd = context.getAssets().openFd(INPUT_MP4_ASSET_STRING)) { - mediaExtractor.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); - for (int i = 0; i < mediaExtractor.getTrackCount(); i++) { - if (MimeTypes.isVideo(mediaExtractor.getTrackFormat(i).getString(MediaFormat.KEY_MIME))) { - mediaFormat = mediaExtractor.getTrackFormat(i); - mediaExtractor.selectTrack(i); - break; - } - } - - int inputWidth = checkNotNull(mediaFormat).getInteger(MediaFormat.KEY_WIDTH); - int inputHeight = mediaFormat.getInteger(MediaFormat.KEY_HEIGHT); - glEffectsFrameProcessor = - checkNotNull( - new GlEffectsFrameProcessor.Factory() - .create( - context, - new FrameProcessor.Listener() { - @Override - public void onOutputSizeChanged(int width, int height) { - outputImageReader = - ImageReader.newInstance( - width, height, PixelFormat.RGBA_8888, /* maxImages= */ 1); - checkNotNull(glEffectsFrameProcessor) - .setOutputSurfaceInfo( - new SurfaceInfo(outputImageReader.getSurface(), width, height)); - } - - @Override - public void onOutputFrameAvailable(long presentationTimeUs) { - // Do nothing as frames are released automatically. - } - - @Override - public void onFrameProcessingError(FrameProcessingException exception) { - frameProcessingException.set(exception); - } - - @Override - public void onFrameProcessingEnded() { - frameProcessingEnded = true; - } - }, - effects, - DebugViewProvider.NONE, - ColorInfo.SDR_BT709_LIMITED, - /* releaseFramesAutomatically= */ true)); - glEffectsFrameProcessor.setInputFrameInfo( - new FrameInfo(inputWidth, inputHeight, pixelWidthHeightRatio, /* streamOffsetUs= */ 0)); - glEffectsFrameProcessor.registerInputFrame(); - - // Queue the first video frame from the extractor. - String mimeType = checkNotNull(mediaFormat.getString(MediaFormat.KEY_MIME)); - mediaCodec = MediaCodec.createDecoderByType(mimeType); - mediaCodec.configure( - mediaFormat, - glEffectsFrameProcessor.getInputSurface(), - /* crypto= */ null, - /* flags= */ 0); - mediaCodec.start(); - int inputBufferIndex = mediaCodec.dequeueInputBuffer(DEQUEUE_TIMEOUT_US); - assertThat(inputBufferIndex).isNotEqualTo(MediaCodec.INFO_TRY_AGAIN_LATER); - ByteBuffer inputBuffer = checkNotNull(mediaCodec.getInputBuffers()[inputBufferIndex]); - int sampleSize = mediaExtractor.readSampleData(inputBuffer, /* offset= */ 0); - mediaCodec.queueInputBuffer( - inputBufferIndex, - /* offset= */ 0, - sampleSize, - mediaExtractor.getSampleTime(), - mediaExtractor.getSampleFlags()); - - // Queue an end-of-stream buffer to force the codec to produce output. - inputBufferIndex = mediaCodec.dequeueInputBuffer(DEQUEUE_TIMEOUT_US); - assertThat(inputBufferIndex).isNotEqualTo(MediaCodec.INFO_TRY_AGAIN_LATER); - mediaCodec.queueInputBuffer( - inputBufferIndex, - /* offset= */ 0, - /* size= */ 0, - /* presentationTimeUs= */ 0, - MediaCodec.BUFFER_FLAG_END_OF_STREAM); - - // Dequeue and render the output video frame. - MediaCodec.BufferInfo bufferInfo = new MediaCodec.BufferInfo(); - int outputBufferIndex; - do { - outputBufferIndex = mediaCodec.dequeueOutputBuffer(bufferInfo, DEQUEUE_TIMEOUT_US); - assertThat(outputBufferIndex).isNotEqualTo(MediaCodec.INFO_TRY_AGAIN_LATER); - } while (outputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED - || outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED); - mediaCodec.releaseOutputBuffer(outputBufferIndex, /* render= */ true); - } finally { - mediaExtractor.release(); - if (mediaCodec != null) { - mediaCodec.release(); - } - } + glEffectsFrameProcessor = + checkNotNull( + new GlEffectsFrameProcessor.Factory() + .create( + getApplicationContext(), + new FrameProcessor.Listener() { + @Override + public void onOutputSizeChanged(int width, int height) { + outputImageReader = + ImageReader.newInstance( + width, height, PixelFormat.RGBA_8888, /* maxImages= */ 1); + checkNotNull(glEffectsFrameProcessor) + .setOutputSurfaceInfo( + new SurfaceInfo(outputImageReader.getSurface(), width, height)); + } + + @Override + public void onOutputFrameAvailable(long presentationTimeUs) { + // Do nothing as frames are released automatically. + } + + @Override + public void onFrameProcessingError(FrameProcessingException exception) { + frameProcessingException.set(exception); + } + + @Override + public void onFrameProcessingEnded() { + frameProcessingEnded = true; + } + }, + effects, + DebugViewProvider.NONE, + ColorInfo.SDR_BT709_LIMITED, + /* releaseFramesAutomatically= */ true)); + decodeOneFrame( + INPUT_MP4_ASSET_STRING, + new FrameProcessorTestUtil.Listener() { + @Override + public void onVideoMediaFormatExtracted(MediaFormat mediaFormat) { + glEffectsFrameProcessor.setInputFrameInfo( + new FrameInfo( + mediaFormat.getInteger(MediaFormat.KEY_WIDTH), + mediaFormat.getInteger(MediaFormat.KEY_HEIGHT), + pixelWidthHeightRatio, + /* streamOffsetUs= */ 0)); + glEffectsFrameProcessor.registerInputFrame(); + } + + @Override + public void onVideoMediaFormatRead(MediaFormat mediaFormat) { + // Do nothing. + } + }, + glEffectsFrameProcessor.getInputSurface()); } private Bitmap processFirstFrameAndEnd() throws InterruptedException { From 03a2fb1194c2e75f2ef53da5b0610f08d8903c13 Mon Sep 17 00:00:00 2001 From: leonwind Date: Mon, 12 Sep 2022 09:52:09 +0000 Subject: [PATCH 246/422] Add rgb matrices to java docs for public constructors. PiperOrigin-RevId: 473699927 (cherry picked from commit 10cb5f17e0169d669866bc6fcf1825b48102cd3d) --- .../androidx/media3/effect/MatrixTextureProcessor.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java index 7b6062e916e..d967e104e51 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java @@ -168,7 +168,7 @@ public static MatrixTextureProcessor create( * *

      Applies the {@code electricalColorInfo} EOTF to convert from electrical color input, to * intermediate optical {@link GlTextureProcessor} color output, before {@code - * matrixTransformations} are applied. + * matrixTransformations} and {@code rgbMatrices} are applied. * *

      Intermediate optical colors are linear RGB BT.2020 if {@code electricalColorInfo} is * {@linkplain ColorInfo#isTransferHdr(ColorInfo) HDR}, and gamma RGB BT.709 if not. @@ -228,7 +228,7 @@ public static MatrixTextureProcessor createWithExternalSamplerApplyingEotf( * *

      Applies the {@code electricalColorInfo} OETF to convert from intermediate optical {@link * GlTextureProcessor} color input, to electrical color output, after {@code - * matrixTransformations} are applied. + * matrixTransformations} and {@code rgbMatrices} are applied. * *

      Intermediate optical colors are linear RGB BT.2020 if {@code electricalColorInfo} is * {@linkplain ColorInfo#isTransferHdr(ColorInfo) HDR}, and gamma RGB BT.709 if not. @@ -277,8 +277,8 @@ public static MatrixTextureProcessor createApplyingOetf( * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with the * external texture. * - *

      Applies the OETF, {@code matrixTransformations}, then the EOTF, to convert from and to input - * and output electrical colors. + *

      Applies the OETF, {@code matrixTransformations}, {@code rgbMatrices}, then the EOTF, to + * convert from and to input and output electrical colors. * * @param context The {@link Context}. * @param matrixTransformations The {@link GlMatrixTransformation GlMatrixTransformations} to From 46ff38ebe2c133ccf71d912b18fe641fb55106b6 Mon Sep 17 00:00:00 2001 From: leonwind Date: Mon, 12 Sep 2022 13:02:32 +0000 Subject: [PATCH 247/422] Add java docs for ContrastProcessor constructor. * Add docs for the public constructor for consistency with all the other frame processors. PiperOrigin-RevId: 473726586 (cherry picked from commit 7a460fa3bd1abe6207049cf70b7ce4efd6cf12fd) --- .../java/androidx/media3/effect/ContrastProcessor.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java index 274cb4a3069..288d894266a 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java @@ -32,6 +32,15 @@ private final GlProgram glProgram; + /** + * Creates a new instance. + * + * @param context The {@link Context}. + * @param contrastEffect The {@link Contrast} to apply to each frame in order. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * @throws FrameProcessingException If a problem occurs while reading shader files. + */ public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHdr) throws FrameProcessingException { super(useHdr); From eeba63ab3e1f0975f90a5665cb7cb7293a42fd1b Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 12 Sep 2022 16:45:36 +0000 Subject: [PATCH 248/422] Add MssimCalculatorTest to verify SSIM calculations. As part of this change, MssimCalculator is moved from androidTest/ to main/ PiperOrigin-RevId: 473771344 (cherry picked from commit 8ce42f0670504a89c5c3e546f8be3d849be36195) --- .../media3/transformer/SsimHelper.java | 180 ----------------- .../media3/transformer/MssimCalculator.java | 191 ++++++++++++++++++ .../transformer/MssimCalculatorTest.java | 96 +++++++++ 3 files changed, 287 insertions(+), 180 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java create mode 100644 libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java index eb08e432615..e58bfafc115 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/SsimHelper.java @@ -21,7 +21,6 @@ import static androidx.media3.common.util.Assertions.checkStateNotNull; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; -import static java.lang.Math.pow; import android.content.Context; import android.content.res.AssetFileDescriptor; @@ -327,183 +326,4 @@ public void close() { imageReader.close(); } } - - /** - * Image comparison using the Mean Structural Similarity (MSSIM), developed by Wang, Bovik, - * Sheikh, and Simoncelli. - * - *

      MSSIM divides the image into windows, calculates SSIM of each, then returns the average. - * - * @see The SSIM paper. - */ - private static final class MssimCalculator { - // Referred to as 'L' in the SSIM paper, this constant defines the maximum pixel values. The - // range of pixel values is 0 to 255 (8 bit unsigned range). - private static final int PIXEL_MAX_VALUE = 255; - - // K1 and K2, as defined in the SSIM paper. - private static final double K1 = 0.01; - private static final double K2 = 0.03; - - // C1 and C2 stabilize the SSIM value when either (referenceMean^2 + distortedMean^2) or - // (referenceVariance + distortedVariance) is close to 0. See the SSIM formula in - // `getWindowSsim` for how these values impact each other in the calculation. - private static final double C1 = pow(PIXEL_MAX_VALUE * K1, 2); - private static final double C2 = pow(PIXEL_MAX_VALUE * K2, 2); - - private static final int WINDOW_SIZE = 8; - - /** - * Calculates the Mean Structural Similarity (MSSIM) between two images. - * - * @param referenceBuffer The luma channel (Y) buffer of the reference image. - * @param distortedBuffer The luma channel (Y) buffer of the distorted image. - * @param width The image width in pixels. - * @param height The image height in pixels. - * @return The MSSIM score between the input images. - */ - public static double calculate( - byte[] referenceBuffer, byte[] distortedBuffer, int width, int height) { - double totalSsim = 0; - int windowsCount = 0; - - for (int currentWindowY = 0; currentWindowY < height; currentWindowY += WINDOW_SIZE) { - int windowHeight = computeWindowSize(currentWindowY, height); - for (int currentWindowX = 0; currentWindowX < width; currentWindowX += WINDOW_SIZE) { - windowsCount++; - int windowWidth = computeWindowSize(currentWindowX, width); - int bufferIndexOffset = - get1dIndex(currentWindowX, currentWindowY, /* stride= */ width, /* offset= */ 0); - double referenceMean = - getMean( - referenceBuffer, - bufferIndexOffset, - /* stride= */ width, - windowWidth, - windowHeight); - double distortedMean = - getMean( - distortedBuffer, - bufferIndexOffset, - /* stride= */ width, - windowWidth, - windowHeight); - - double[] variances = - getVariancesAndCovariance( - referenceBuffer, - distortedBuffer, - referenceMean, - distortedMean, - bufferIndexOffset, - /* stride= */ width, - windowWidth, - windowHeight); - double referenceVariance = variances[0]; - double distortedVariance = variances[1]; - double referenceDistortedCovariance = variances[2]; - - totalSsim += - getWindowSsim( - referenceMean, - distortedMean, - referenceVariance, - distortedVariance, - referenceDistortedCovariance); - } - } - - if (windowsCount == 0) { - return 1.0d; - } - - return totalSsim / windowsCount; - } - - /** - * Returns the window size at the provided start coordinate, uses {@link #WINDOW_SIZE} if there - * is enough space, otherwise the number of pixels between {@code start} and {@code dimension}. - */ - private static int computeWindowSize(int start, int dimension) { - if (start + WINDOW_SIZE <= dimension) { - return WINDOW_SIZE; - } - return dimension - start; - } - - /** Returns the SSIM of a window. */ - private static double getWindowSsim( - double referenceMean, - double distortedMean, - double referenceVariance, - double distortedVariance, - double referenceDistortedCovariance) { - - // Uses equation 13 on page 6 from the linked paper. - double numerator = - (((2 * referenceMean * distortedMean) + C1) * ((2 * referenceDistortedCovariance) + C2)); - double denominator = - ((referenceMean * referenceMean) + (distortedMean * distortedMean) + C1) - * (referenceVariance + distortedVariance + C2); - return numerator / denominator; - } - - /** Returns the mean of the pixels in the window. */ - private static double getMean( - byte[] pixelBuffer, int bufferIndexOffset, int stride, int windowWidth, int windowHeight) { - double total = 0; - for (int y = 0; y < windowHeight; y++) { - for (int x = 0; x < windowWidth; x++) { - total += pixelBuffer[get1dIndex(x, y, stride, bufferIndexOffset)] & 0xFF; - } - } - return total / (windowWidth * windowHeight); - } - - /** Calculates the variances and covariance of the pixels in the window for both buffers. */ - private static double[] getVariancesAndCovariance( - byte[] referenceBuffer, - byte[] distortedBuffer, - double referenceMean, - double distortedMean, - int bufferIndexOffset, - int stride, - int windowWidth, - int windowHeight) { - double referenceVariance = 0; - double distortedVariance = 0; - double referenceDistortedCovariance = 0; - for (int y = 0; y < windowHeight; y++) { - for (int x = 0; x < windowWidth; x++) { - int index = get1dIndex(x, y, stride, bufferIndexOffset); - double referencePixelDeviation = (referenceBuffer[index] & 0xFF) - referenceMean; - double distortedPixelDeviation = (distortedBuffer[index] & 0xFF) - distortedMean; - referenceVariance += referencePixelDeviation * referencePixelDeviation; - distortedVariance += distortedPixelDeviation * distortedPixelDeviation; - referenceDistortedCovariance += referencePixelDeviation * distortedPixelDeviation; - } - } - - int normalizationFactor = windowWidth * windowHeight - 1; - - return new double[] { - referenceVariance / normalizationFactor, - distortedVariance / normalizationFactor, - referenceDistortedCovariance / normalizationFactor - }; - } - - /** - * Translates a 2D coordinate into an 1D index, based on the stride of the 2D space. - * - * @param x The width component of coordinate. - * @param y The height component of coordinate. - * @param stride The width of the 2D space. - * @param offset An offset to apply. - * @return The 1D index. - */ - private static int get1dIndex(int x, int y, int stride, int offset) { - return x + (y * stride) + offset; - } - } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java new file mode 100644 index 00000000000..8d839a2716d --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java @@ -0,0 +1,191 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static java.lang.Math.pow; + +/** + * Image comparison tool that calculates the Mean Structural Similarity (MSSIM) of two images, + * developed by Wang, Bovik, Sheikh, and Simoncelli. + * + *

      MSSIM divides the image into windows, calculates SSIM of each, then returns the average. + * + * @see The SSIM paper. + */ +/* package */ final class MssimCalculator { + // Referred to as 'L' in the SSIM paper, this constant defines the maximum pixel values. The + // range of pixel values is 0 to 255 (8 bit unsigned range). + private static final int PIXEL_MAX_VALUE = 255; + + // K1 and K2, as defined in the SSIM paper. + private static final double K1 = 0.01; + private static final double K2 = 0.03; + + // C1 and C2 stabilize the SSIM value when either (referenceMean^2 + distortedMean^2) or + // (referenceVariance + distortedVariance) is close to 0. See the SSIM formula in + // `getWindowSsim` for how these values impact each other in the calculation. + private static final double C1 = pow(PIXEL_MAX_VALUE * K1, 2); + private static final double C2 = pow(PIXEL_MAX_VALUE * K2, 2); + + private static final int WINDOW_SIZE = 8; + + private MssimCalculator() {} + + /** + * Calculates the Mean Structural Similarity (MSSIM) between two images. + * + * @param referenceBuffer The luma channel (Y) buffer of the reference image. + * @param distortedBuffer The luma channel (Y) buffer of the distorted image. + * @param width The image width in pixels. + * @param height The image height in pixels. + * @return The MSSIM score between the input images. + */ + public static double calculate( + byte[] referenceBuffer, byte[] distortedBuffer, int width, int height) { + double totalSsim = 0; + int windowsCount = 0; + + for (int currentWindowY = 0; currentWindowY < height; currentWindowY += WINDOW_SIZE) { + int windowHeight = computeWindowSize(currentWindowY, height); + for (int currentWindowX = 0; currentWindowX < width; currentWindowX += WINDOW_SIZE) { + windowsCount++; + int windowWidth = computeWindowSize(currentWindowX, width); + int bufferIndexOffset = + get1dIndex(currentWindowX, currentWindowY, /* stride= */ width, /* offset= */ 0); + double referenceMean = + getMean( + referenceBuffer, bufferIndexOffset, /* stride= */ width, windowWidth, windowHeight); + double distortedMean = + getMean( + distortedBuffer, bufferIndexOffset, /* stride= */ width, windowWidth, windowHeight); + + double[] variances = + getVariancesAndCovariance( + referenceBuffer, + distortedBuffer, + referenceMean, + distortedMean, + bufferIndexOffset, + /* stride= */ width, + windowWidth, + windowHeight); + double referenceVariance = variances[0]; + double distortedVariance = variances[1]; + double referenceDistortedCovariance = variances[2]; + + totalSsim += + getWindowSsim( + referenceMean, + distortedMean, + referenceVariance, + distortedVariance, + referenceDistortedCovariance); + } + } + + if (windowsCount == 0) { + return 1.0d; + } + + return totalSsim / windowsCount; + } + + /** + * Returns the window size at the provided start coordinate, uses {@link #WINDOW_SIZE} if there is + * enough space, otherwise the number of pixels between {@code start} and {@code dimension}. + */ + private static int computeWindowSize(int start, int dimension) { + if (start + WINDOW_SIZE <= dimension) { + return WINDOW_SIZE; + } + return dimension - start; + } + + /** Returns the SSIM of a window. */ + private static double getWindowSsim( + double referenceMean, + double distortedMean, + double referenceVariance, + double distortedVariance, + double referenceDistortedCovariance) { + + // Uses equation 13 on page 6 from the linked paper. + double numerator = + (((2 * referenceMean * distortedMean) + C1) * ((2 * referenceDistortedCovariance) + C2)); + double denominator = + ((referenceMean * referenceMean) + (distortedMean * distortedMean) + C1) + * (referenceVariance + distortedVariance + C2); + return numerator / denominator; + } + + /** Returns the mean of the pixels in the window. */ + private static double getMean( + byte[] pixelBuffer, int bufferIndexOffset, int stride, int windowWidth, int windowHeight) { + double total = 0; + for (int y = 0; y < windowHeight; y++) { + for (int x = 0; x < windowWidth; x++) { + total += pixelBuffer[get1dIndex(x, y, stride, bufferIndexOffset)] & 0xFF; + } + } + return total / (windowWidth * windowHeight); + } + + /** Calculates the variances and covariance of the pixels in the window for both buffers. */ + private static double[] getVariancesAndCovariance( + byte[] referenceBuffer, + byte[] distortedBuffer, + double referenceMean, + double distortedMean, + int bufferIndexOffset, + int stride, + int windowWidth, + int windowHeight) { + double referenceVariance = 0; + double distortedVariance = 0; + double referenceDistortedCovariance = 0; + for (int y = 0; y < windowHeight; y++) { + for (int x = 0; x < windowWidth; x++) { + int index = get1dIndex(x, y, stride, bufferIndexOffset); + double referencePixelDeviation = (referenceBuffer[index] & 0xFF) - referenceMean; + double distortedPixelDeviation = (distortedBuffer[index] & 0xFF) - distortedMean; + referenceVariance += referencePixelDeviation * referencePixelDeviation; + distortedVariance += distortedPixelDeviation * distortedPixelDeviation; + referenceDistortedCovariance += referencePixelDeviation * distortedPixelDeviation; + } + } + + int normalizationFactor = windowWidth * windowHeight - 1; + + return new double[] { + referenceVariance / normalizationFactor, + distortedVariance / normalizationFactor, + referenceDistortedCovariance / normalizationFactor + }; + } + + /** + * Translates a 2D coordinate into an 1D index, based on the stride of the 2D space. + * + * @param x The width component of coordinate. + * @param y The height component of coordinate. + * @param stride The width of the 2D space. + * @param offset An offset to apply. + * @return The 1D index. + */ + private static int get1dIndex(int x, int y, int stride, int offset) { + return x + (y * stride) + offset; + } +} diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java new file mode 100644 index 00000000000..31c2d09f315 --- /dev/null +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java @@ -0,0 +1,96 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.transformer; + +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; +import static com.google.common.truth.Truth.assertThat; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.graphics.Color; +import androidx.annotation.ColorInt; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import java.io.IOException; +import java.io.InputStream; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Unit test for {@link MssimCalculator}. */ +@RunWith(AndroidJUnit4.class) +public class MssimCalculatorTest { + + @Test + public void calculateSsim_sameImage() throws Exception { + Bitmap bitmap = readBitmap("media/bitmap/sample_mp4_first_frame/original.png"); + byte[] imageLuminosities = bitmapToLuminosityArray(bitmap); + + // SSIM equals 1 if the two images match. + assertThat( + MssimCalculator.calculate( + imageLuminosities, imageLuminosities, bitmap.getWidth(), bitmap.getHeight())) + .isEqualTo(1); + } + + @Test + public void calculateSsim_increasedBrightness() throws Exception { + Bitmap refBitmap = readBitmap("media/bitmap/sample_mp4_first_frame/original.png"); + Bitmap distBitmap = readBitmap("media/bitmap/sample_mp4_first_frame/increase_brightness.png"); + + // SSIM as calculated by ffmpeg: 0.634326 = 63% + + assertThat( + (int) + (MssimCalculator.calculate( + bitmapToLuminosityArray(refBitmap), + bitmapToLuminosityArray(distBitmap), + refBitmap.getWidth(), + refBitmap.getHeight()) + * 100)) + .isEqualTo(63); + } + + private static Bitmap readBitmap(String assetString) throws IOException { + try (InputStream inputStream = getApplicationContext().getAssets().open(assetString)) { + return BitmapFactory.decodeStream(inputStream); + } + } + + private static byte[] bitmapToLuminosityArray(Bitmap bitmap) { + int width = bitmap.getWidth(); + int height = bitmap.getHeight(); + @ColorInt int[] pixels = new int[width * height]; + byte[] luminosities = new byte[width * height]; + bitmap.getPixels( + pixels, /* offset= */ 0, /* stride= */ width, /* x= */ 0, /* y= */ 0, width, height); + for (int i = 0; i < pixels.length; i++) { + luminosities[i] = (byte) (getLuminosity(pixels[i]) & 0xFF); + } + return luminosities; + } + + /** + * Gets the intensity of a given RGB {@link ColorInt pixel} using the luminosity formula + * + *

      l = 0.2126R + 0.7152G + 0.0722B
      +   */
      +  private static int getLuminosity(@ColorInt int pixel) {
      +    double l = 0;
      +    l += (0.2126f * Color.red(pixel));
      +    l += (0.7152f * Color.green(pixel));
      +    l += (0.0722f * Color.blue(pixel));
      +    return (int) l;
      +  }
      +}
      
      From 74ec58514a5ba766ecc948c9962f9004dc26e897 Mon Sep 17 00:00:00 2001
      From: leonwind 
      Date: Tue, 13 Sep 2022 13:28:30 +0000
      Subject: [PATCH 249/422] Change ContrastProcessor java doc for consistency.
      
      PiperOrigin-RevId: 474002026
      (cherry picked from commit 60ea64734b3c5cc12ed81434d96e0b9337c37f46)
      ---
       .../src/main/java/androidx/media3/effect/ContrastProcessor.java | 2 +-
       1 file changed, 1 insertion(+), 1 deletion(-)
      
      diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java
      index 288d894266a..164db51af17 100644
      --- a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java
      +++ b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java
      @@ -25,7 +25,7 @@
       import androidx.media3.common.util.GlUtil;
       import java.io.IOException;
       
      -/** Contrast processor to apply a {@link Contrast} to each frame. */
      +/** Applies a {@link Contrast} to each frame in the fragment shader. */
       /* package */ final class ContrastProcessor extends SingleFrameGlTextureProcessor {
         private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl";
         private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_contrast_es2.glsl";
      
      From fec22cbc5c6d4da07f4f889bfa802cb4ec3f91c4 Mon Sep 17 00:00:00 2001
      From: samrobinson 
      Date: Wed, 14 Sep 2022 13:54:06 +0000
      Subject: [PATCH 250/422] Clarify the replaceOutputBuffer parameter because
       count is unclear.
      
      PiperOrigin-RevId: 474279220
      (cherry picked from commit bca9c9b280cb7d2cde52a3c86cc85af0e70e84ef)
      ---
       .../media3/exoplayer/audio/BaseAudioProcessor.java   | 12 ++++++------
       1 file changed, 6 insertions(+), 6 deletions(-)
      
      diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java
      index 5eb504da458..acb7ba116cf 100644
      --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java
      +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java
      @@ -103,13 +103,13 @@ public final void reset() {
         }
       
         /**
      -   * Replaces the current output buffer with a buffer of at least {@code count} bytes and returns
      -   * it. Callers should write to the returned buffer then {@link ByteBuffer#flip()} it so it can be
      -   * read via {@link #getOutput()}.
      +   * Replaces the current output buffer with a buffer of at least {@code size} bytes and returns it.
      +   * Callers should write to the returned buffer then {@link ByteBuffer#flip()} it so it can be read
      +   * via {@link #getOutput()}.
          */
      -  protected final ByteBuffer replaceOutputBuffer(int count) {
      -    if (buffer.capacity() < count) {
      -      buffer = ByteBuffer.allocateDirect(count).order(ByteOrder.nativeOrder());
      +  protected final ByteBuffer replaceOutputBuffer(int size) {
      +    if (buffer.capacity() < size) {
      +      buffer = ByteBuffer.allocateDirect(size).order(ByteOrder.nativeOrder());
           } else {
             buffer.clear();
           }
      
      From c7cd3b9c91510930533edb48026fe01dd5f26082 Mon Sep 17 00:00:00 2001
      From: samrobinson 
      Date: Wed, 14 Sep 2022 14:35:12 +0000
      Subject: [PATCH 251/422] Add support for skipping windows in MssimCalculator.
      
      By skipping every other row and column, SSIM calculation time reduces by 10-30%.
      
      PiperOrigin-RevId: 474286702
      (cherry picked from commit 314b312af18c568c5353b661b31ebc60a0736678)
      ---
       .../media3/transformer/MssimCalculator.java   | 30 +++++++++++++++++--
       .../transformer/MssimCalculatorTest.java      | 28 +++++++++++++++++
       2 files changed, 55 insertions(+), 3 deletions(-)
      
      diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java
      index 8d839a2716d..ca7bbe632b7 100644
      --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java
      +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MssimCalculator.java
      @@ -44,23 +44,47 @@
       
         private MssimCalculator() {}
       
      +  /**
      +   * Calculates the Mean Structural Similarity (MSSIM) between two images with window skipping.
      +   *
      +   * @see #calculate(byte[], byte[], int, int, boolean).
      +   */
      +  public static double calculate(
      +      byte[] referenceBuffer, byte[] distortedBuffer, int width, int height) {
      +    return calculate(
      +        referenceBuffer, distortedBuffer, width, height, /* enableWindowSkipping= */ true);
      +  }
      +
         /**
          * Calculates the Mean Structural Similarity (MSSIM) between two images.
          *
      +   * 

      The images are split into a grid of windows. For each window, the structural similarity + * (SSIM) is calculated. The MSSIM returned from this method is the mean of these SSIM values. If + * window skipping is enabled, only every other row and column are considered, thereby only one in + * four windows are evaluated. + * * @param referenceBuffer The luma channel (Y) buffer of the reference image. * @param distortedBuffer The luma channel (Y) buffer of the distorted image. * @param width The image width in pixels. * @param height The image height in pixels. + * @param enableWindowSkipping Whether to skip every other row and column when evaluating windows + * for SSIM calculation. * @return The MSSIM score between the input images. */ public static double calculate( - byte[] referenceBuffer, byte[] distortedBuffer, int width, int height) { + byte[] referenceBuffer, + byte[] distortedBuffer, + int width, + int height, + boolean enableWindowSkipping) { double totalSsim = 0; int windowsCount = 0; - for (int currentWindowY = 0; currentWindowY < height; currentWindowY += WINDOW_SIZE) { + int dimensionIncrement = WINDOW_SIZE * (enableWindowSkipping ? 2 : 1); + + for (int currentWindowY = 0; currentWindowY < height; currentWindowY += dimensionIncrement) { int windowHeight = computeWindowSize(currentWindowY, height); - for (int currentWindowX = 0; currentWindowX < width; currentWindowX += WINDOW_SIZE) { + for (int currentWindowX = 0; currentWindowX < width; currentWindowX += dimensionIncrement) { windowsCount++; int windowWidth = computeWindowSize(currentWindowX, width); int bufferIndexOffset = diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java index 31c2d09f315..25b73734c4d 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/MssimCalculatorTest.java @@ -62,6 +62,34 @@ public void calculateSsim_increasedBrightness() throws Exception { .isEqualTo(63); } + @Test + public void calculateSsim_withWindowSkipping_similarToWithout() throws Exception { + Bitmap referenceBitmap = readBitmap("media/bitmap/sample_mp4_first_frame/original.png"); + Bitmap distortedBitmap = + readBitmap("media/bitmap/sample_mp4_first_frame/increase_brightness.png"); + byte[] referenceLuminosity = bitmapToLuminosityArray(referenceBitmap); + byte[] distortedLuminosity = bitmapToLuminosityArray(distortedBitmap); + + assertThat( + (int) + (MssimCalculator.calculate( + referenceLuminosity, + distortedLuminosity, + referenceBitmap.getWidth(), + referenceBitmap.getHeight(), + /* enableWindowSkipping= */ false) + * 100)) + .isEqualTo( + (int) + (MssimCalculator.calculate( + referenceLuminosity, + distortedLuminosity, + referenceBitmap.getWidth(), + referenceBitmap.getHeight(), + /* enableWindowSkipping= */ true) + * 100)); + } + private static Bitmap readBitmap(String assetString) throws IOException { try (InputStream inputStream = getApplicationContext().getAssets().open(assetString)) { return BitmapFactory.decodeStream(inputStream); From 80d4d3717cd4f7922bf70a4379041fc2f184b709 Mon Sep 17 00:00:00 2001 From: leonwind Date: Wed, 14 Sep 2022 19:41:11 +0000 Subject: [PATCH 252/422] Fix testId and match it to the test name. PiperOrigin-RevId: 474363545 (cherry picked from commit ab6562e05235d65349a33d1649249e4049c358c2) --- .../media3/effect/GlEffectsFrameProcessorPixelTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index ed255d30365..b77c1c71bf7 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -391,7 +391,7 @@ public void processData_fullRotationIncreaseBrightnessAndCenterCrop_producesExpe // TODO(b/239757183): Consider moving RgbMatrix composition tests to a new file. public void drawFrame_grayscaleAndIncreaseRedChannel_producesGrayscaleAndRedImage() throws Exception { - String testId = "drawFrame_grayscale"; + String testId = "drawFrame_grayscaleAndIncreaseRedChannel"; ImmutableList grayscaleThenIncreaseRed = ImmutableList.of( RgbFilter.createGrayscaleFilter(), new RgbAdjustment.Builder().setRedScale(3).build()); From 40cec25d20614c379f179d26ed7e4b84ccf77723 Mon Sep 17 00:00:00 2001 From: leonwind Date: Thu, 15 Sep 2022 14:49:19 +0000 Subject: [PATCH 253/422] Add LUT functionalities to transformer. * Adds SDR 3D LUT functionalities with OpenGL 2.0 support. PiperOrigin-RevId: 474561060 (cherry picked from commit f55a5146e01d0e5496ca97a5cfa7f47426d0932c) --- .../effect/SingleColorLutPixelTest.java | 325 ++++++++++++++++++ .../shaders/fragment_shader_lut_es2.glsl | 99 ++++++ .../java/androidx/media3/effect/ColorLut.java | 48 +++ .../media3/effect/ColorLutProcessor.java | 103 ++++++ .../media3/effect/SingleColorLut.java | 160 +++++++++ .../assets/media/bitmap/lut/grayscale.png | Bin 0 -> 2851 bytes .../test/assets/media/bitmap/lut/identity.png | Bin 0 -> 937 bytes .../test/assets/media/bitmap/lut/inverted.png | Bin 0 -> 937 bytes .../lut_map_white_to_green.png | Bin 0 -> 559478 bytes 9 files changed, 735 insertions(+) create mode 100644 libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java create mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_lut_es2.glsl create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java create mode 100644 libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java create mode 100644 libraries/test_data/src/test/assets/media/bitmap/lut/grayscale.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/lut/identity.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/lut/inverted.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/lut_map_white_to_green.png diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java new file mode 100644 index 00000000000..a459ade7231 --- /dev/null +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java @@ -0,0 +1,325 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.effect.BitmapTestUtil.MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE; +import static androidx.test.core.app.ApplicationProvider.getApplicationContext; +import static com.google.common.truth.Truth.assertThat; + +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.Color; +import android.opengl.EGLContext; +import android.opengl.EGLDisplay; +import android.opengl.EGLSurface; +import android.util.Pair; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.GlUtil; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** + * Pixel test for Lookup Tables via {@link ColorLutProcessor}. + * + *

      Expected images are taken from an emulator, so tests on different emulators or physical + * devices may fail. To test on other devices, please increase the {@link + * BitmapTestUtil#MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE} and/or inspect the saved output bitmaps + * as recommended in {@link GlEffectsFrameProcessorPixelTest}. + */ +@RunWith(AndroidJUnit4.class) +public class SingleColorLutPixelTest { + public static final String ORIGINAL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/original.png"; + public static final String LUT_MAP_WHITE_TO_GREEN_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/lut_map_white_to_green.png"; + public static final String GRAYSCALE_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/grayscale.png"; + public static final String INVERT_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/invert.png"; + public static final String VERTICAL_HALD_IDENTITY_LUT = "media/bitmap/lut/identity.png"; + public static final String VERTICAL_HALD_GRAYSCALE_LUT = "media/bitmap/lut/grayscale.png"; + public static final String VERTICAL_HALD_INVERTED_LUT = "media/bitmap/lut/inverted.png"; + + private final Context context = getApplicationContext(); + + private @MonotonicNonNull EGLDisplay eglDisplay; + private @MonotonicNonNull EGLContext eglContext; + private @MonotonicNonNull EGLSurface placeholderEglSurface; + private @MonotonicNonNull SingleFrameGlTextureProcessor colorLutProcessor; + private int inputTexId; + private int outputTexId; + private int inputWidth; + private int inputHeight; + + @Before + public void createGlObjects() throws Exception { + eglDisplay = GlUtil.createEglDisplay(); + eglContext = GlUtil.createEglContext(eglDisplay); + + Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + inputWidth = inputBitmap.getWidth(); + inputHeight = inputBitmap.getHeight(); + + placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); + GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); + inputTexId = BitmapTestUtil.createGlTextureFromBitmap(inputBitmap); + } + + @After + public void release() throws GlUtil.GlException, FrameProcessingException { + if (colorLutProcessor != null) { + colorLutProcessor.release(); + } + GlUtil.destroyEglContext(eglDisplay, eglContext); + } + + @Test + public void drawFrame_identityCubeLutSize2_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_identityLutCubeSize2"; + int[][][] cubeIdentityLut = createIdentityLutCube(/* length= */ 2); + colorLutProcessor = + SingleColorLut.createFromCube(cubeIdentityLut) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_identityCubeLutSize64_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_identityLutCubeSize64"; + int[][][] cubeIdentityLut = createIdentityLutCube(/* length= */ 64); + colorLutProcessor = + SingleColorLut.createFromCube(cubeIdentityLut) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_identityBitmapLutSize2_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_identityBitmapLutSize2"; + Bitmap bitmapLut = createIdentityLutBitmap(/* length= */ 2); + colorLutProcessor = + SingleColorLut.createFromBitmap(bitmapLut) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_identityBitmapLutSize64_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_identityBitmapLutSize64"; + Bitmap bitmapLut = createIdentityLutBitmap(/* length= */ 64); + colorLutProcessor = + SingleColorLut.createFromBitmap(bitmapLut) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_identityLutFromHaldImage_leavesFrameUnchanged() throws Exception { + String testId = "drawFrame_identityLutFromHaldImage"; + Bitmap bitmapLut = BitmapTestUtil.readBitmap(VERTICAL_HALD_IDENTITY_LUT); + colorLutProcessor = + SingleColorLut.createFromBitmap(bitmapLut) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_mapWhiteToGreen_producesGreenHighlights() throws Exception { + String testId = "drawFrame_mapWhiteToGreen"; + int length = 3; + int[][][] mapWhiteToGreen = createIdentityLutCube(length); + mapWhiteToGreen[length - 1][length - 1][length - 1] = Color.GREEN; + colorLutProcessor = + SingleColorLut.createFromCube(mapWhiteToGreen) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(LUT_MAP_WHITE_TO_GREEN_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_applyInvertedLut_producesInvertedFrame() throws Exception { + String testId = "drawFrame_applyInvertedLut"; + Bitmap invertedLutBitmap = BitmapTestUtil.readBitmap(VERTICAL_HALD_INVERTED_LUT); + colorLutProcessor = + SingleColorLut.createFromBitmap(invertedLutBitmap) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INVERT_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + @Test + public void drawFrame_applyGrayscaleLut_producesGrayscaleFrame() throws Exception { + String testId = "drawFrame_applyGrayscaleLut"; + Bitmap grayscaleLutBitmap = BitmapTestUtil.readBitmap(VERTICAL_HALD_GRAYSCALE_LUT); + colorLutProcessor = + SingleColorLut.createFromBitmap(grayscaleLutBitmap) + .toGlTextureProcessor(context, /* useHdr= */ false); + Pair outputSize = colorLutProcessor.configure(inputWidth, inputHeight); + setupOutputTexture(outputSize.first, outputSize.second); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(GRAYSCALE_PNG_ASSET_PATH); + + colorLutProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); + Bitmap actualBitmap = + BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( + outputSize.first, outputSize.second); + + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); + } + + private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { + outputTexId = + GlUtil.createTexture( + outputWidth, outputHeight, /* useHighPrecisionColorComponents= */ false); + int frameBuffer = GlUtil.createFboForTexture(outputTexId); + GlUtil.focusFramebuffer( + checkNotNull(eglDisplay), + checkNotNull(eglContext), + checkNotNull(placeholderEglSurface), + frameBuffer, + outputWidth, + outputHeight); + } + + private static int[][][] createIdentityLutCube(int length) { + int[][][] lut = new int[length][length][length]; + float scale = 1f / (length - 1); + for (int r = 0; r < length; r++) { + for (int g = 0; g < length; g++) { + for (int b = 0; b < length; b++) { + lut[r][g][b] = + Color.rgb(/* red= */ r * scale, /* green= */ g * scale, /* blue= */ b * scale); + } + } + } + return lut; + } + + private static Bitmap createIdentityLutBitmap(int length) { + int[][][] lutCube = createIdentityLutCube(length); + int[] colors = new int[length * length * length]; + + for (int r = 0; r < length; r++) { + for (int g = 0; g < length; g++) { + for (int b = 0; b < length; b++) { + int color = lutCube[r][g][b]; + int planePosition = b + length * (g + length * r); + colors[planePosition] = color; + } + } + } + return Bitmap.createBitmap( + colors, /* width= */ length, /* height= */ length * length, Bitmap.Config.ARGB_8888); + } +} diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_lut_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_lut_es2.glsl new file mode 100644 index 00000000000..7200e43e7bf --- /dev/null +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_lut_es2.glsl @@ -0,0 +1,99 @@ +#version 100 +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ES2 fragment shader that samples from a (non-external) texture with +// uTexSampler, copying from this texture to the current output while +// applying a 3D color lookup table to change the pixel colors. + +precision highp float; +uniform sampler2D uTexSampler; +// The uColorLut texture is a N x N^2 2D texture where each z-plane of the 3D +// LUT is vertically stacked on top of each other. The red channel of the input +// color (z-axis in LUT[R][G][B] = LUT[z][y][x]) points to the plane to sample +// from. For more information check the +// androidx/media3/effect/SingleColorLut.java class, especially the function +// #transformCubeIntoBitmap with a provided example. +uniform sampler2D uColorLut; +uniform float uColorLutLength; +varying vec2 vTexSamplingCoord; + +// Applies the color lookup using uLut based on the input colors. +vec3 applyLookup(vec3 color) { + // Reminder: Inside OpenGL vector.xyz is the same as vector.rgb. + // Here we use mentions of x and y coordinates to references to + // the position to sample from inside the 2D LUT plane and + // rgb to create the 3D coordinates based on the input colors. + + // To sample from the 3D LUT we interpolate bilinearly twice in the 2D LUT + // to replicate the trilinear interpolation in a 3D LUT. Thus we sample + // from the plane of position redCoordLow and on the plane above. + // redCoordLow points to the lower plane to sample from. + float redCoord = color.r * (uColorLutLength - 1.0); + // Clamping to uColorLutLength - 2 is only needed if redCoord points to the + // most upper plane. In this case there would not be any plane above + // available to sample from. + float redCoordLow = clamp(floor(redCoord), 0.0, uColorLutLength - 2.0); + + // lowerY is indexed in two steps. First redCoordLow defines the plane to + // sample from. Next the green color component is added to index the row in + // the found plane. As described in the NVIDIA blog article about LUTs + // https://developer.nvidia.com/gpugems/gpugems2/part-iii-high-quality-rendering/chapter-24-using-lookup-tables-accelerate-color + // (Section 24.2), we sample from color * scale + offset, where offset is + // defined by 1 / (2 * uColorLutLength) and the scale is defined by + // (uColorLutLength - 1.0) / uColorLutLength. + + // The following derives the equation of lowerY. For this let + // N = uColorLutLenght. The general formula to sample at row y + // is defined as y = N * r + g. + // Using the offset and scale as described in NVIDIA's blog article we get: + // y = offset + (N * r + g) * scale + // y = 1 / (2 * N) + (N * r + g) * (N - 1) / N + // y = 1 / (2 * N) + N * r * (N - 1) / N + g * (N - 1) / N + // We have defined redCoord as r * (N - 1) if we excluded the clamping for + // now, giving us: + // y = 1 / (2 * N) + N * redCoord / N + g * (N - 1) / N + // This simplifies to: + // y = 0.5 / N + (N * redCoord + g * (N - 1)) / N + // y = (0.5 + N * redCoord + g * (N - 1)) / N + // This formula now assumes a coordinate system in the range of [0, N] but + // OpenGL uses a [0, 1] unit coordinate system internally. Thus dividing + // by N gives us the final formula for y: + // y = ((0.5 + N * redCoord + g * (N - 1)) / N) / N + // y = (0.5 + redCoord * N + g * (N - 1)) / (N * N) + float lowerY = + (0.5 + + redCoordLow * uColorLutLength + + color.g * (uColorLutLength - 1.0)) + / (uColorLutLength * uColorLutLength); + // The upperY is the same position moved up by one LUT plane. + float upperY = lowerY + 1.0 / uColorLutLength; + + // The x position is the blue color channel (x-axis in LUT[R][G][B]). + float x = (0.5 + color.b * (uColorLutLength - 1.0)) / uColorLutLength; + + vec3 lowerRgb = texture2D(uColorLut, vec2(x, lowerY)).rgb; + vec3 upperRgb = texture2D(uColorLut, vec2(x, upperY)).rgb; + + // Linearly interpolate between lowerRgb and upperRgb based on the + // distance of the actual in the plane and the lower sampling position. + return mix(lowerRgb, upperRgb, redCoord - redCoordLow); +} + +void main() { + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); + + gl_FragColor.rgb = applyLookup(inputColor.rgb); + gl_FragColor.a = inputColor.a; +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java b/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java new file mode 100644 index 00000000000..311b6a3e87c --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java @@ -0,0 +1,48 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import android.content.Context; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.UnstableApi; + +/** + * Specifies color transformations using color lookup tables to apply to each frame in the fragment + * shader. + */ +@UnstableApi +public interface ColorLut extends GlEffect { + + /** + * Returns the OpenGL texture ID of the LUT to apply to the pixels of the frame with the given + * timestamp. + */ + int getLutTextureId(long presentationTimeUs); + + /** Returns the length N of the 3D N x N x N LUT cube with the given timestamp. */ + int getLength(long presentationTimeUs); + + /** Releases the OpenGL texture of the LUT. */ + void release() throws GlUtil.GlException; + + @Override + default ColorLutProcessor toGlTextureProcessor(Context context, boolean useHdr) + throws FrameProcessingException { + return new ColorLutProcessor(context, /* colorLut= */ this, useHdr); + } +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java new file mode 100644 index 00000000000..f6d772dc161 --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java @@ -0,0 +1,103 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkArgument; + +import android.content.Context; +import android.opengl.GLES20; +import android.opengl.Matrix; +import android.util.Pair; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.GlProgram; +import androidx.media3.common.util.GlUtil; +import java.io.IOException; + +/** Applies a {@link ColorLut} to each frame in the fragment shader. */ +/* package */ final class ColorLutProcessor extends SingleFrameGlTextureProcessor { + private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; + private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_lut_es2.glsl"; + + private final GlProgram glProgram; + private final ColorLut colorLut; + + /** + * Creates a new instance. + * + * @param context The {@link Context}. + * @param colorLut The {@link ColorLut} to apply to each frame in order. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * @throws FrameProcessingException If a problem occurs while reading shader files. + */ + public ColorLutProcessor(Context context, ColorLut colorLut, boolean useHdr) + throws FrameProcessingException { + super(useHdr); + // TODO(b/246315245): Add HDR support. + checkArgument(!useHdr, "LutProcessor does not support HDR colors."); + this.colorLut = colorLut; + + try { + glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); + } catch (IOException | GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + + // Draw the frame on the entire normalized device coordinate space, from -1 to 1, for x and y. + glProgram.setBufferAttribute( + "aFramePosition", + GlUtil.getNormalizedCoordinateBounds(), + GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); + + float[] identityMatrix = new float[16]; + Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); + glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); + } + + @Override + public Pair configure(int inputWidth, int inputHeight) { + return Pair.create(inputWidth, inputHeight); + } + + @Override + public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { + try { + glProgram.use(); + glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); + glProgram.setSamplerTexIdUniform( + "uColorLut", colorLut.getLutTextureId(presentationTimeUs), /* texUnitIndex= */ 1); + glProgram.setFloatUniform("uColorLutLength", colorLut.getLength(presentationTimeUs)); + glProgram.bindAttributesAndUniforms(); + + GLES20.glDrawArrays(GLES20.GL_TRIANGLE_STRIP, /* first= */ 0, /* count= */ 4); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + } + + @Override + public void release() throws FrameProcessingException { + super.release(); + try { + colorLut.release(); + glProgram.delete(); + } catch (GlUtil.GlException e) { + throw new FrameProcessingException(e); + } + } +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java new file mode 100644 index 00000000000..ece986bf48f --- /dev/null +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java @@ -0,0 +1,160 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.effect; + +import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkState; + +import android.content.Context; +import android.graphics.Bitmap; +import android.opengl.GLES20; +import android.opengl.GLUtils; +import androidx.media3.common.FrameProcessingException; +import androidx.media3.common.util.GlUtil; +import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; + +/** Transforms the colors of a frame by applying the same color lookup table to each frame. */ +@UnstableApi +public class SingleColorLut implements ColorLut { + private final int lutTextureId; + private final int length; + + /** + * Creates a new instance. + * + *

      {@code lutCube} needs to be a {@code N x N x N} cube and each element is an integer + * representing a color using the {@link Bitmap.Config#ARGB_8888} format. + */ + public static SingleColorLut createFromCube(int[][][] lutCube) throws GlUtil.GlException { + checkArgument( + lutCube.length > 0 && lutCube[0].length > 0 && lutCube[0][0].length > 0, + "LUT must have three dimensions."); + checkArgument( + lutCube.length == lutCube[0].length && lutCube.length == lutCube[0][0].length, + Util.formatInvariant( + "All three dimensions of a LUT must match, received %d x %d x %d.", + lutCube.length, lutCube[0].length, lutCube[0][0].length)); + + return new SingleColorLut(transformCubeIntoBitmap(lutCube)); + } + + /** + * Creates a new instance. + * + *

      LUT needs to be a Bitmap of a flattened HALD image of width {@code N} and height {@code + * N^2}. Each element must be an integer representing a color using the {@link + * Bitmap.Config#ARGB_8888} format. + */ + public static SingleColorLut createFromBitmap(Bitmap lut) throws GlUtil.GlException { + checkArgument( + lut.getWidth() * lut.getWidth() == lut.getHeight(), + Util.formatInvariant( + "LUT needs to be in a N x N^2 format, received %d x %d.", + lut.getWidth(), lut.getHeight())); + checkArgument( + lut.getConfig() == Bitmap.Config.ARGB_8888, "Color representation needs to be ARGB_8888."); + + return new SingleColorLut(lut); + } + + private SingleColorLut(Bitmap lut) throws GlUtil.GlException { + length = lut.getWidth(); + lutTextureId = storeLutAsTexture(lut); + } + + private static int storeLutAsTexture(Bitmap bitmap) throws GlUtil.GlException { + int lutTextureId = + GlUtil.createTexture( + bitmap.getWidth(), bitmap.getHeight(), /* useHighPrecisionColorComponents= */ false); + GLUtils.texImage2D(GLES20.GL_TEXTURE_2D, /* level= */ 0, bitmap, /* border= */ 0); + GlUtil.checkGlError(); + return lutTextureId; + } + + /** + * Transforms the N x N x N {@code cube} into a N x N^2 {@code bitmap}. + * + * @param cube The 3D Color Lut which gets indexed using {@code cube[R][G][B]}. + * @return A {@link Bitmap} of size {@code N x N^2}, where the {@code cube[R][G][B]} color can be + * indexed at {@code bitmap.getColor(B, N * R + G)}. + */ + private static Bitmap transformCubeIntoBitmap(int[][][] cube) { + // The support for 3D textures starts in OpenGL 3.0 and the Android API 8, Version 2.2 + // uses OpenGL 2.0 which only supports 2D textures. Thus we need to transform the 3D LUT + // into 2D to support all Android SDKs. + + // The cube consists of N planes on the z-direction in the coordinate system where each plane + // has a size of N x N. To transform the cube into a 2D bitmap we stack each N x N plane + // vertically on top of each other. This gives us a bitmap of width N and height N^2. + // + // As an example, lets take the following 3D identity LUT of size 2x2x2: + // cube = [ + // [[(0, 0, 0), (0, 0, 1)], + // [(0, 1, 0), (0, 1, 1)]], + // [[(1, 0, 0), (1, 0, 1)], + // [(1, 1, 0), (1, 1, 1)]] + // ]; + // If we transform this cube now into a 2x2^2 = 2x4 bitmap we yield the following 2D plane: + // bitmap = [[(0, 0, 0), (0, 0, 1)], + // [(0, 1, 0), (0, 1, 1)], + // [(1, 0, 0), (1, 0, 1)], + // [(1, 1, 0), (1, 1, 1)]]; + // media/bitmap/lut/identity.png is an example of how a 32x32x32 3D LUT looks like as an + // 32x32^2 bitmap. + int length = cube.length; + int[] bitmapColorsArray = new int[length * length * length]; + + for (int r = 0; r < length; r++) { + for (int g = 0; g < length; g++) { + for (int b = 0; b < length; b++) { + int color = cube[r][g][b]; + int planePosition = b + length * (g + length * r); + bitmapColorsArray[planePosition] = color; + } + } + } + + return Bitmap.createBitmap( + bitmapColorsArray, + /* width= */ length, + /* height= */ length * length, + Bitmap.Config.ARGB_8888); + } + + @Override + public int getLutTextureId(long presentationTimeUs) { + return lutTextureId; + } + + @Override + public int getLength(long presentationTimeUs) { + return length; + } + + @Override + public void release() throws GlUtil.GlException { + GlUtil.deleteTexture(lutTextureId); + } + + @Override + public ColorLutProcessor toGlTextureProcessor(Context context, boolean useHdr) + throws FrameProcessingException { + checkState(!useHdr, "HDR is currently not supported."); + return new ColorLutProcessor(context, /* colorLut= */ this, useHdr); + } +} diff --git a/libraries/test_data/src/test/assets/media/bitmap/lut/grayscale.png b/libraries/test_data/src/test/assets/media/bitmap/lut/grayscale.png new file mode 100644 index 0000000000000000000000000000000000000000..680bab838ee243da5583d92dbfb72d6050791012 GIT binary patch literal 2851 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/lut/inverted.png b/libraries/test_data/src/test/assets/media/bitmap/lut/inverted.png new file mode 100644 index 0000000000000000000000000000000000000000..d03e6cbb40aaccaf94948fb16d556a3901a5516b GIT binary patch literal 937 zcmeAS@N?(olHy`uVBq!ia0vp^3JeS^3><7gR>REbi$IF8ILO_JVcj{Imp~3nv6E*A z2N2Y7q;xPaFb8|OIEGZrd3$GL)?o(`*MsUG{{MfMw_Pt}N1b97>HPWo|NeWDU-x_d^*5gT|1oUHa`?x|kinq9-XY+?%pk>Zf>DX(f&=dj zb+#w-9r!meG4L`xVGv}>U;xTmI{Sh-aQ!g9IPiX`JA_@s5c1oedK`gqp8pGj yHauEjG21Bhz>Zq+W}k>XDN!xnsO7h$1JYGb^(~)@+UWta8-u5-pUXO@geCwUd-QGq literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/lut_map_white_to_green.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/lut_map_white_to_green.png new file mode 100644 index 0000000000000000000000000000000000000000..bcd6322354e52ce2984ce8d11531ed5d112b382b GIT binary patch literal 559478 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⪙5pQ%xh``8-zfkmAm=j3?WkfRVZ?{U{PJT8}&` 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

      U4ANOT=SH!doK)OX*3`K} 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%0ALCSe}`?yJV+!-ruWm6AMbbb z{y&y}0TX;4?(c1)@gJ=fLN1`FDwdKvl#?_!HWgipo;}>e^ET_B=yrM>Rlf`ub^DV$ z^AZtxGuxu7f+OScO-X7TD9)9KWkRWpe#z+(0h4uX(KsZ`As;v7iQI)rUxVZF?g9`1 z`xL5SQr=sXEreZFLm81TQ`d2d*u((hs0v78D_tgmSGrefH*60E(TFrt1n5erwrCbO zZ?9i;MWwQdYT`u~6)Cg&6ArYqqX%fyID>0(2*-jLEoTdY*D|vG@uCbW(=5V=Vk!-` zz}oETvJo(tnBRSe@-glFNwoEm^a<-dRE+z(?tf>zK`dY_CjRoV3|JUg#al0F8LLg# zHqiaI5r_ZvSysHy1AZ`c?Eh;4&gULjumfm(Yf%A%RQ&?hX3-4XUE4IGZ*6s(CS=Lx zPdn)AVX{lRDl_}{^qKfnNLH089q*pVEp$N~xqzrHDv(=`;&UhQ`)_P5>wYB`o|^`X zdZ965OZ7<|yd;cV_7I<%PA=2wUb3ACm(pIL07Ar_vFkVd26He8f=#;78#gv4U$Zon z{jBy<5U)DSHN8px=lbz}U07`Xg?OQ#JoXnJekl`J>|5 z5zN@Z8H*(b5?<(`QIV@O4I4@&R+y6nHjHh4I02T@i%w#Y~Nx;t+-N$js&?W068HeSlGn|NToZtbll%WJg- zqa0n0(urfABpU2#i1H_+K(nWRH6jH)5W7X|C#E)~gxsuo(Hp0rSvaOr_y{ZtRyqnE ze*}@x8IAt5vvP_=xjHY!s?6R0PY-R*e?}61u2c>Qgn3#|>5Kb(Qhq;vIyg%4Y4?4+ z82zs}?RH`q-bGL%cXF#^?(2*%kUwD{DZK07+?OR71PW#Qq^Fug(!;~X-yVMJ7iXcf z_g47kvCYLIN{-{mMKd5@ zH2nFq?!Iyr*=Q+Nkfeg$kDbur)k~7UsOeHnESc|4vB)i4!suy}mbks@(#sbe4|TmL zh^g9hUu)c1))o~0~G z5mn%`j?sq$*#*r1*g#rq<5+#COpqC&XiMc*X*0(5X}UuyL)5FVVZP&oH~6PR_$nH1 zcpP7wGYL~CB7ZV#h&1ABwfz!$!Xw5nZ#00WusU{x=ae!~2c?+W>8?3`D9P}=N~}+% zDx>yv(UB}Uu*Xo5NL4sZEu#uk1nZ9m1X?_ojieM>G03QFZ$;bJ?0OH@V=Gl{UX@H0QU8Bzgc*i{@g5?pXg`2sP1-!4p zm2g%&RUJl%g)KpLUPekL9d<2=REn;!edWiaz z>shh9_(MxwDxgg|p5MQuUUEd!06fPNi?+D`&Ba0JbJSC%pI8udA6?Et>r5SY_&u_8 zKZ2``3cW=cBbx?L=QnUon!#@BWeE`%;!)I(9K4>X9tEjMSnO_k`eD@wy|_ZaPp7^* zw#LSTE!vNpi9hqcWM4l!SVbr|`s9KhMbXV)!$l#+AZ4_ejH(Js8A7PvF%P9toKrJW zgUAphf*NF|G1JNmppkY}q*sW$%s=j|a_DMQxGO$m-F}vTni6@Y!obj)G#B)L0#Jk$ z7gIWL6Z#yZWhHsQt9i_3ZN8rNi?=lVy7)rJd0vZ_%usfLyaDol1gfaHI38TTjnCEORd#GaIZ#NK|ST zH(mY_Dv=zf0f8{Vggm_$C8gm__qU@yp{85P4#WOS#%x#MNHa=p-ADY%Vuv3Hpa*izY4|- zdUM-j7x~9O4{6o@UBfl8UuM?$1GKNjkI>j@=B<1Ye?gBWT;a^u{oNd0%Kovcx zO$de%k+z=X*E#-`@LlcO`D^_(15VgeV9kW;4a%AnQuvFBRr{a$-h3*n#OC}Q_BZ#%AIZk9jCJ65tQ|`QhV~iAG_fW&* z39+pEInDu29(MKO+d>xO2|bNJO8IiLyF+roSkFXx8X^dmZIRB@vJOE3$A3Yx&%HU! zhH;t$0#P1(ZI^XwfAajUrLIRt`wJL&eF); zLwZ(9T(d#1)&-2D@&+E`wHtMX^Q1fPEZ4msg}49jQBTI9@A#;yt|A^!cL)<6s?NaB z%|P+~uzl1V_}F=X`*@J(ml)QV%qasNLoDaCqWdMaXI}t~PI;?04v@Z&$)my~f>!5= zq+=*IbhpH!=Qp4v-O|?y1E^QAi%k|{#T0l0ePR;=&S)0TXO3P~`(xO6qes zei9-bI#m0{gDMY#x=RrfAJ}jKQ1okJm%?+2V{-UP_+x=t8TKyJGcFeyCYCJ@Yxr`I z^>rTsMp!goOhui^UOu6MiZ zC!f&Jx+74D6IIvFe@$p9*bjk_%@}Lxjw4r-zcCs@P-U#jFkDeVVq;SGI8=tGfgIv& zRUJZ?sK3YJukCRo$*VFz73N2B3?Y!aTJOtCYMOWuGO5nToBknJC2L|&gRU)Qw$wlD zsOlYsacnu`p5U;9J6TaGu(V%)#mAk!Tk=`*y$U6|_)8UHN8O=kD?{7sHxHD^-T6gB z6^We+%EV$3c^rZGfnQ6f#-8DLjCXG1kWi3&ZHrRmnV}3ratVVShQ2n~+E(!{o?Ua<(lk|n=z-3L zNFLk)K@j(*O5&Nd8LrAGn21@q{u`0PU-Fa~m=7qWSyz=a`eBWxzp9Ad%w);8P6h)) zxxsHKe?85W7}$RONs$Us95XxzEZ26sOO0~MH*ETRg)05YkYN^ovHr=O0u?fWc&5yM zz}42C805xG$W+RzC7#M0CXZk!^uyp=GF?V94Lky5W9L2y;B})S2}n-nTh}1OTey{} zdc_C%71=p>yc}A?I>&jd!dTmHMxc_4OWppdc3x}3=Ot9BQh{)(h zQ~vub6jj^ahQ$Y9u(2NYr5|=?>unXxl+uCq=MPk7;(m^?@Q#vGOF5~=PHK(7Hx{_g z-i$q4CUfuQo~Nn3@O^OZAZXRhi3NK`LbE~Fd5%T@sd&y_)VW7*$eH!*R0Fh(jU^u? zYZTkAL-?*JbF9VwBxvu{z!v$>Bujq&rbDKIT@VD%sEjVzz#Z8lhL(WreaJAvHBz~g zQmya9<_9A6zX^TXC?*A|KvqMgQ8m#RA=KKtT6@8Pafc*hvms`^a$eVRp9?LWJJ=)) zrA-1xZof4yo!^DnRi)e^rf*^F1ZXj_PJuA`LRM4@v$&Eg&s$f;TdY!qT*jigXs-w zn^zCdE|Pwj6ez7@HI3VOtNgZRtZQbE;C}(;>m#VnSdO?F!bTo2Nk{LCYaSzkL@&c zGfgahP|kxtdlA*RAX$f+=7b{1T}~=}wM;?Y!JGE%vh;>9D8^%_0{}-a3jMK*1 z>2T@3ICz|s9D~X6)P)_Z#yF6L-CHi-dusi{vq&- zoO>0|ZLrerAg*=D|-? zV+GB(xXbp}Qv@Zgg4a_Bm3=*KdaSmZH_g%&2L@31{M|x0q1hd8&)?~JyxIvx6&Cf7hK1*i z7`F(C12{TNC$nFQSZP-7SMW+>X~PvzrR9B(a5or{#Fdura66Q<)Kl=UV4=Uj+sb;k zx5-8_artvVClYh?J($6^RER;J3tf!;}uNb4?Mgs&a_mZE>0M7kiW`kxb?2LY>N-+_*i zF&Ex_UK0ynNnIdS+XA^7>Sx&+lWUabaD169p+-2HH!_71DI)RcGqCuq`k_*5VwIbJ z#M(49&W6dLiz6j#NR?63q zMR=D{cKqJ~f2$gei|En~k9hv*lqz>*y6N;7(q0bByDYx$rW}=;O7KyO&pFM?KrJ)l zH2~2jigr~|KEv1YY)S9h)C5wPyo&NljT1C{9ea|2z8|w>E-wE96*k-bi8BYA$zlbs zXkH2rJW39`#Fx8hnVcr-zSGIC118+Pv(R-_>moTNSSL7ZhNyV4(|!Jk9xw%j!jbKX zmI(BJ6$#;&^z_;PAj}lZG6}GZa}IdZ=S84hT1zfD{L*s>UT@1a`Aa663gj|v#inX&pdPX4p`EZO*TH|{Edc4xTu=lYEr&GrRpMt+cIN~1|riF)& zeqL(p+#=h!iYH&P0Vm(o(H?}dVGNelMB>F`DcXR&Z+3r=S2PQXjHAsQkn0?R2Z?ry zrjsVY?~>{HpFY#azM?)=07_hG{)+=5guSdnyAEDfx_Rg#Sk-?3eyWerGLI!phFbamM`5j1cu( zyzJJ))WT%+E)oudp}q#Xy7i|(Fob^gq^#y7ULPq{JtC#wM2UTDBKTO8?n zA*hX5Y!(ZC4>_66D}6J9x-Qz4^(jAxeUsM`XxCY7$r~wYcPXUm;?-nD87MX)HDTc zm2OI3MMAD$|IywIY>Ggl7a}14$23ctPu7Os$VE6w^?Hw@VOh{M&uZAX=0{AGB#Cs4 z*DM=K$Wyof(rQmeQKOUrFKhzjxLt5`DZcnJs6~_9%GvEsW|eaa+rM$@keZzM!#|kI zA?8rrVy^{O{0mxpn8+QfEF?c=<1v&%Twq@s{;L^km*JpW5*ts(7C9Cy+(Nwl^&Nxs zMgDS+Bg4*QgnxqY^_C|ZlW%Y<+v`6ql-5RoCChqudZUuX8c~2r&6!Pq*jETfO~|Rs z$Vh>t1+@nX=+j_nRlqS;_BEyI_sedZRG`j8+>E}~7ekbOKd|u7`0el$E$F`fecG;E z=)e8DnmAB8&Vg|TbAkU(wGeRnf#3YWe(dzPhneQL2P2Y*(j$6rB!eOx*%g&1v_9D~ z^)^7owlv8_1YUcX+P-r-k5!JU)F^0Z%AN1YO4B-fw$1|35Ex|3>Q@%xE=RaPvZ!Ef zlr?oe1c?@yRXvooZ2gD+mj!)6`3a0dj?!<7rH=Y_d6Lki)>R8WUz@}2*OB+WK_QS7 zA_!PJTBoyp9#|`oqiSFu1U#(!XWh>#!#>O={2&gkhlh`lK1-Y zRlzZWCFtpn{R&R;3^~i`)2~fgsNbmzITXA)@l!sz)sUhPpaj1qu+ia(dENIaY_=|* zT(n8`3$Xwn+cpr*+B>2tuhJxtQz{mH5o3vG*`+qr_|^1F>UUf}Y&>kxWSpq|UD`!+ zsGhNOm4ARCf2*hUf)Jkr35pyZ}Xrm=1YSQeuRiH+PPIP)_q$ z&#A=QcK#dO)2j0aW5;9ZD=&X%NJ@P!MWe|dhBaFG7TMdU1FRgygmJR*msI>=?uC3c zXbF?-+~})kvQ9x+G~Rpx)kJe2(wlHre{=xaAeM4`0?^h9e0U*>XOfNLIOY@}mRL|T zH?JZ!uM#Q$5EO?$n%kqnd_n_*AG|_*1Fh%F{p6rL4tY&HcZn~-itOsa0JhcQ?7zHB z)3oAt*udyu>M*9%9JJyn>JYr#Nh&HJ=c6O|C9MlLBp-vci$ux7u=Hi2Mp+3wDt*(1 zeb(5ixG2t%t$$S$JEWOUZ++4lG{ghS)=0{?`k`R;x419T?Hj3XdzOT1KGzWPf)=~1 zYLQDXOC8@oR^01rkRpXonoxZN-a_2rH`o%bPPiAPa3GmUojHKbFzmK)Hf-+KM7U&y zJUA^4p$;|4fJ$wQa&i0=#(Y)qW_>GA$|XlRNj!vB_#=uErX(@NMP5W`C{;*Ih|WbD z!i~eF36SRu<(#&P(RW_LFZ_q9NAr^t_5x=!O9AC zfCeUIvpi>T-2!bnZ$R$(N;7=H?4o^t1MWkh&O{T}{-7kt+mpt&Tw^0gv~fCuwomrxvl%7iyhNhM zC6T@mnhCsc`p4`l^g(nwu|4EAzZQ9u&{HeWU>fv!A;&yJW~M#oqC35cX>>Bqc=vme!iUYEpY=)G)8&+D^ArS40#|-`|6A7(jc-n`?Gq56|BX0s zh>)lw|B48bf(}cRkJey6GPx$g7S;Y*V$m-T4H`VynZQ!L1cguXPhJREQ-mD;#fljr zYIoWkv}*-_hWAe3L93!cclz6d#!uHDkiGw6`a-W2wnogoUlw0U{(Ec=#aP4f&IHu+ zSqD#^2kNFCUwT8hyF5W^7!hG&A<&K`++6ux?_9mMyZ$}ETdv<`|3(+iYz(fJ zu+cw`)Ut^-47;?-Kfv?r_Sg_y0$a}Pt|1`pDWP#6eJux`6MY9x)aqc-F55;vBj?l{1Qp0($=C)2xi_VD`h zes(KR_hYV6$R6cWBlT7S&h<*E0gBD*RVZfAZRb2tI}<$59 zgGF_iaJcB5)^X17*K#$6*Yn)A>8W&*<)C%HY^-JV8~v(5Djm2&k*bWqO|IQ9sd>sz z*_t}4kYrxtpZOA|4p*2d7CSWPt3<5V{@q6^5(4bDsGatlT8F{86oevTtmzDQ3sDg- z%Jk%gmbWIri-Km%;Ns^kEDghM*Kv=D_<$yi?hqf6RyB2bTMQKmC4<=ZcEjv@h%z2B zehUr4zkVNg6x97;f~j9)-iAdD+ZbU!-uh`4QcX2?AxBvyL$8T5@bGSv)6+jA8k20m z9FKDYsZdX3Dx3#Jr{Ndk4(o)Kfpra)No;keyOhmFt`UWBL5#D&H&_GFZz8?gS_o$b zA1qO3cfr>=!QB=a>vm1(JXO|BY+emN2*KZbYIYIikRG_gqU@{J?^=M+R9X$xVaW(X zo^U{M_#%q49w3bBuPRj0_dCJSbzyR}PUhknFyE{Bs)XK8g%xI4gid6zXv@(f(^E(f4q&r{-o#cYTe|CuE@R_ae zjmGKwyx%7*dxBdWPPS}Hcptyr4Vc6RTVrm2L%bK@kKg20KPG#@_<0?Q(06&zO64wNy} zqUp@?9SOmI$xiNcv_3+?DH7O|BMjjeBI%w;ccpeS1CAj}{}n2&*a)=u!b*>*)w)hW zO2jjlpbD0#(32K0p(|cOaiWc;pr=i)IHX@Mr8tJbSO<(59gUH=>=%&b>d@wa4A2TM9s&gzFLzKd1Q7JE97bZU;@VP0ZY`0jpFvpak?@YdbuoOXK< z_wxmJ_al9$w*3RIUDyi~tWy6AK2Gv*stiwHaTX z$-`x_`olwjcbSXHA<)t)ySVv>teOR%GMRSj?T)9YS1=si;UC?>7=1pC^$&>gL~GDq zA$h)UKP4FTtM<7xuRqL4s~ZPfc1Kfa$2#1P zQF?FVoOcHD{4!bN*>af4D8NCXKH#hqm-`nk!EgWImz|8NJ#3FRuH?B7Ee3Tj>!PQL zu+KaLR{f;pw0>r^T9=XteRecFm7N`;Wup=v&@GR}tXKzip@XsFsIhso;75@sK+JQ} zpJ!?Lxmo_rk7$W+i7tOnpqHHtn}K;Y1*C3T;qVC9wuz4qnPgSr!EZkd zeei${#(J!St+Q1nI8vN8e;hazHhhedGeYk)Z12Mx6sauo!TAp_bGi)tOJQ-s=I+gv zYnnIgSF%nD0bH`IpC!jm5P&UT@KDG}13JlcyLpHyBQ7^`BaGzU* zfDUKg%d00u11m9M7$$g4;6QV$dwM~R0`Qma?0k$bv7p`@?PrBytEXAUysC%Nkt8aC zERVf(jg&K7^awdMuPnR_^VHP)8AvXav1!RXRF=zK&a9tmT@QZ=3S( zis^T|VY9~mO+WA3zPHbd9{C#T)gN2;`U#OM_06-dNm*&Sp66S=n@;_9i*3LbIL9xm zc+d0cY>-jGw7)RKW6?06N?@Z9LJ%U8Xca_%HG#Ol>NH96kl?Gt9QFQu-MXs!*?y*_ zY4u}y%UXnTDRe*&UEtw7H>JL6>g-7^$@-eO9vhvJV(F#+`ZE9=2zw)v_rdL+b@%vr z6f`9A67k8%Q%tTVS65&6{LtPveRn+j9Ao?@6=?mL?sLx}(nmv!~^9r#;2(f9GnU7NcnH<3fdlq#mf zYkHFhN8hWf?O{V9GBPrz$~X|!Yq+rVYPB5xT}SxqfIEWVQSD5o!l;3vk(;aQz{nx> zNOuJ!qkL`R$`LbRHM?4696e4v*09o~KE_4`W$a>afUl~zY7Y z^_mRx$-}n;-x+^lICx^Au}gZFd1`a+EOcVjP?$pG;28Z-LhneT@8XCDI08q@;lD3S zT2h!z!$)jmVq@bpsgzPAUzgcrTh!C^qqkgcq*{_&f&Izf6q}m1F*vx6AH6?7cQbso z-N;L~#iaiUHp8mLic*@B3!m{@+@;IMR~xV5z{JCe0Z1E0h)0vLSGQ2eaz>$u#cNfE zFUdB1kK?Y>O;57K-||i7WtHWWO&;BG%Q32#ZeK56KL35`CDY8=AcCP-y-agyMOKiB zUARzc0qZH>2mZsC)YCa}1jGBI)q=r#RFQJG33MmcT5D!;OhyP2(*2^V~c=qukR)?k9tyS-XtQ_WNM} zQ%g5qMF=k4G#YXB%PY6FJZ2MsvDHKIby26siRJcy%mw9ldyL9R#~^ zqTk~FBFNcbMQ`R2E5$4G3h|dLTvE9D*!K&BwZ}&AAhCdJ4yCh`giKWiOOFPgb@lY$ zX{(>0@87Vo>z)W1akwEqX;m!V<4*idwydel*m4770V zeG>vZPGv)^tt%x-V>EdO;{w`VjVk?#qv;zNv+t3^GRq}1acCU5YaEMKfE83 zSJShhA58pvx%Gtom$AUJ=dRju^OnS0O002TR@x9w-VC7?v%RjyTBzKTqm zf-7suLN0|a90!9LOD%Y*NG_xD+TIn(?UYw;x$O_w#(={LBQxOQG4%Pg{T}d9`*~J> zD;7AI@It!q@`w?5n$Z{f2;*+<7YT>$*|qNI?&0z4_7+{r zRGh^jeg51Nxa7t`0PG;Sd3(OI+qT>%ljZbHTDX4n{rlwlhn{ZaK9-(sl${90_v4K( zbO2x|G+@;>JvLwo}=g&5dCZAA6M(`7Is&{{(9CLdPZyeb zY2ut}%OGd_O+Y}bm@b|vLbMLSY=XZeyTmqH3B#jkUKR};@vi;)2bj6rQ-9W`K>ag^ zOheHc%5ET5YPFh7`aO}!XFr4`w&)wqOJ=lLY;`69%TLI(u}kd`cuThOwQV(q@A`7@ zt6{HA{0u#q#~HnS@LF7@y|xwn7wv5PTT_9{_1AWZCj0z^6P;0fs;G7lf4X`Vwv#E~ z?^(hoQhb!dUlr`*qU-F*OEop8&>Ar=DuP&O=?@>wBVRwZ9{a{f-*%OsSU(1W2HVT5 z-%^@CQ;a|3jE`}9U%v0y2mLK#99EYwBjWV?T|2p90?fowHp`SMU-c+&H zX34F1&wVFGf}{K)Bw%fAol$Nqd^irL%tj*(FS}&xN}-I8 z@;x^<_Xg~)`*vKKxiue|F9 zo>SGzJk}g*?&z4ghuO8N}rplIAI0 z@8TjFdtid61R@>BJwsa}fEEn~Yr&Tc9-Bm4r<*GcB?8$av(&w_4qr7|gqc+v6&m5c;lR3yn zIGetp@iqbW6VR6o<3})28I6rT1aNXM{Xd%CIl8X4>mF{?*tXHwwr$%-21j~^r5Za=X}_^_ zzO)~|pyJ|xLG>UJadLyw7m9Z;`IvAXE{_fa3{Db>B-2W8F$jhHyK;~$b@e&PHX6i-m670o$Iq2)nqr2AMPb%{N zh^Z!gDJVjU8#`(i1nm^cQ&>??x~Ub>zwWX&h2ZrCzLh;soskKje1uA03hvz9f!2Ej znV6V>Ky!b)_a78p#8(dg9T;dQm|kAQ_%_t4B0c8b-bf1H7#z2(;yYhKKp!wRehg>q ze@&>58A&-rAb)Z28_YX&%BnpLgP1VV3`VAlnpd^F;xlb)8#=xQ*iC6f7;VuXO5Rtr zu%mzOIhXhY!k4%aJHL3Mc=ivtvms%sWj3y^@6Q%R_`i-z8yFjrYF3%$DNwtG51|bW zM4ncW!HmMV|0BAwX>d)n45gq$l}ShxiiS9lp-+U*s_ewGv>m25r(f7#w^8Xs9+PNn zY8o0I=9E-b$tZ+J|MyFsH*0YY7P5eBQY~6nlxw=4D55!OU>_>*RK~7@7tP5Ht!`Lu z^sAC7>Gz*QWO9Zv={#EJ5HVl+9Xj6GIn8roWv%eQbgnikbfYrzWC)=2b|g)Sr+ds? zHWBgwXHD7eTCp>5Ov$XpzSt)T$~2f=imyGinYObV=j?gYE?O#>#8hI`f|HF`{^ChE zyppOWHIieJFxnNQMmnD5a^D8*xvCE6Yv>i@878gURz>N>?N(~Ad$eFKA7_)k3g;?R zfil>B7U*$}rK zt+nHSx%JrX6|3~ho#R)2X52@)yjfjkZj1Jc4r{5!MAw+vf$a;k)WDKR3H5d;r>{`i zwjmXikpT_ThDDhTviW-HGpn${9xal|U*C8O^PN_vZ1+gR1-a$q; zP;Qqa`#f&!{12yJAwKr|{yp;W{B|y#9zG@>cOGdYAue)0>*S)~9fFN{?vz^o58W0F zNOAOxX#WbBA2#L~Q+4|Ei=-0tsRnC`>dwo{2cX>Y-_GQjrt($yBym}r;{~QOmA5~_R_#?i6`Gk3Tw)E=(WY*!akOsU8q6J+p7PoSaeuT(Jha_34xLR zrGmE4==Dl4s}t%5F9@9KD5i=jx@r1NRZg@qV4Y!d?2vckUt+dusr(w+TDb~xFMrgg z$(!%xdAC&TLhNWMk_a0Lj4`w%d}a~s6g^nH0SLm7)2tBpk=?-xtGBLewRNFXGOsU| zoM6e_{+!!7#7<)?A9;kBEP)jJTwT7V(fzpK*3|5pszxSxjz@`I7@^BppHymN5?X9C z{AAstfA{h>V|u&gFQYD}A+|U^80lJR%MdN8LM?!cBNq3mM6kLosX^VVpmz2wq{P0y zQ}PoX&wD#zEN9StE4m6DyP;MCqvmjj$0JB{j7F~$ZlAxlHtF-vq6;qjro7;1CNr0u z$e)MyQOIIk5^%=RlNw%VdpXs0BwX?5Imib~$K^{>aiM?s-;+o@^hC;E@q zeDMd)(RGYo&VSf%E(0N#0$VS+3D3@fa!eO8qPG86yo?bx-Y`?0P}88AxMKX^XjSEA zZQ6Kw1-H-6VksRYVNzy9{@mt_yH5bCjt>tH70TF?8Ol@A6V+xfFR!)+zQo5P(;m!K z&Kh&MQqRHVf4l-eQ3q-k4WmtqzNM*b6X>lcfLJ(Cp=&*!f-^>yz=~*Y83d3r<1yWp z4q}mX``@tCAh-J(S&7PzCZETh1{)3>1|~Z&)|jF89FA1Fp(NWedU8!}ZE67H4Ya5F zMZrZfotBXN(H%dqXk_j8`uIwDqu|LZttDD)so_Q`Lgf zQbWs0X5}C1$Y?6U5FP3C z3MNHLlI1wORTH=7?T zPCo<96Py6#>3nU0>>ZdUG`daDF#8|x;f-*OM1t`F@2t)LyT`Xuj;LfzD=U0!Fy%4- zYIc;w^!E;wLyaj{HYBvwQF4CfcYjMh zwdJ$Fht%tyA%?}+x~)8ZSLUof&1 zvzij;JvZz|Bxttx2S*5=XfuZM5&F1!A^1SOUo=lJ6gJy%>jyHN*l{F;_f8NPTNiiSUg(C^LLkp=o$3bW&>TkVE7=tf$@FpOg_is>jyUG;+g|Wy zf3 zSf^aIU?!Abq!A2)+qT4#iVsUB+fv~PML4F42?UdWP_pbm#F)$0NutKenuQ0Unhk6@ zTmGPA%KPO5uR;5JyC8!AGZ+k6>~Gwz2Om}4BdxVeP^cAjTC}doJF(Lnu8}9j&sVkW z;z3%HJBPyFh+8g5marITO)^rR+&?mNm{?ze7IkwTkCGKnJ|89-kp|2_CW*1(E6O&; zZrri*-xBra2aNc9A32o%0JWa7rw%Q-AN;Su$rhQT_t&(y>+ar`ibD;iRJ3l>^M9&A z8DHrE*3yo?-YwgYSaW=HcLSPRs3zGl^SXqIVw;ie?awGA0+i#OBG!)!@-Q6YXmL%;AQ-87y%mTbGz;EFp)@CXnE{rMjW_8SSVVc=! zSep8cEghuYc3u@~?kI~5J=KIp^t`QCsyfyTIc$<402G*sT(*}2 zVOIoLRfyIWIO6{qld{ZHYP8nTUrlY-4B^MnB9_7`@H*|ZPW;Hc{TW~5VA6yw@s?Xp z+pZE{yg3}(l`wWx6>Z*2)Ad`jbRy<#SJ52f)O5k;KoYFbOM4mQaNOn^f+45lXgZ)@ znilEJ9FuWDZoX2ZVH?mTXXb#ZYQ!6{m_?V{Y9xe~Pc^iiND}w~(;Ut9v5oTarI-Ju zK+lnh`YbDD$zALJf0aLaU)DQ1RE^_UQiU!EevO7QJaIW05Nzff0#O=xj398mKHX9#LPB&1H?TUfHwr$7f58ik06iR`DEo|{Jpdv;A)aO^D~Dle}ti$_B; zrc~c4ANROwJO6= zONN(kYYG9uJ=@3rA(E9RN7YfT_hsbQkV$l*Y!CdoV+BkJBSDt}C`2pTy^yO=1rHVp2n_JM=k;bgoxkP+=Wpp1qx& z8mVM=@6N1FN zVxpWTxjV3JjWhM{xz-qq?NN``nfti)b zHlI7nBW)n_pLwHyyuMXBSo`GE;l*fkMOm{tUXrLX-DdSY6gFt)*kZ!zb#W800lrHzfj>*> z>I)MMA*|8#E|((sn<^=Y00a--UJ}3)NTPft=)nsEa+xLt0f-Q>0TU}PoS%cRPV|jDo$JKsp4rFl6Z`v?gf_^7#bUpF(p^&9sNN08K9{YSo#({ZWhz6R~w4T-oy0gqNVJ2_6bdrm3Nih*cB0 z?=1wYMb>Hj(34R;zqNck&HY|2YNzdI`bo8#bj<7YYF@xzkg426op>eXPwyu1kbUwukUJVecfxG5x^zKtFRv}LS5 zs?QVjSokTrX|ArWgGJH_i8fb5cVPp%F|_bsQ&@2h4|DSK-PpTLxiYoS?XYgmya19? z(Er!Q262s+Uy{@gVHjAnw1)voRgPaZJy zW7|JEiVS%RDPKjC4sDS*LGt}<>2L1wi*FG@wLt(|0l`VI_DTl>*9*&h2*_0t&uCm6 zt-K?&)kS5}0~{UliY4_V9jxsQ(T(N=tt4M2TQ)C3I_oQ{ph`|fgSv1HE(^`E=Ls!) zO}P%3qaA+7+v=GTEuNNvuKgT3e4WK*qMB-5k>F1m*hMeQIMbBqr#kck?nUS4{S;Ia zji-160!LI7dkdQu|Kov?jIfxAwsa7^!%@6uG33!&Gf=@Yc+rx}k`Yi54- zc65tQZR9>RxJFw@ax^DSilxoHgD91sOzwo#IgP=8z14ZLb6xrPe+oK%nYnyq4HHc@ zE9fECtC}EZlT`MWR}R4KM8E!Ho)mwTf<`p{H=T? z^|`~U`F&BxD$v#RX%V+%JV!VKnX3{K>66XY`eQ9OJ=vnk!f<~z$|guhZ<^oro#Eh* zLt4{>Xtcpu!7LSs>N(mAT{?YSQGNL4GqQu!Bmu!!Gi|wb7r*|yc11(92fOAVoa*EC zzSJ(AJNx^A#}*4qCL1nd#-BlBD@L`dVe6>m=2ZtEQig{|0C6=z=z0o@ zJN4T8*B|R&&j3U@1~qHCX(T37${yeQ0^jxzV1=fRc14c9UFE0Irm|^VgluX|U+S8E%9$eL1`{ww@9A&aofo!<~-)LyPohT-Vws3JFe`3MNDg!l9}pHa<` zxQDXobku$_HL5OE|DIeX|6NjhB9u$@>pLa-BUXUi;;^cNy9(+W9+X}Tb)P2qXRk5e{$;`&E&6MPQID^~?{gmkZ ze2(s7{;UIvd8hG4bITIX=26fp`!Av0=Qvxuj`|=b$%|Zl{>`d?ME5_md*Yqk+FYhs zaSd*Fgdt> zFB&esN{8)3X{EdcXflyaY>UaDLk*_j@J{CmS_%RC8QCD|Akkql&)(kNOoINNC$_Nl zLz4L77@#LpZu_!qH7S2b_C%%>EfHvR_w;oDbL?MT{m6X_)Zj)5iWd0@r&N48o14Zp z5)?0ojO5+*cE^NVU0*l1Doc>t6U#IX{YM$vk0C{r3QKp)#AO7gbmxKm$zHD^{0dFh z$Y0m59pmBqa=!FEMoB;5%W7Ldf@}4LaMkM74zOYQyur~`?H=J2X_~Q?ZNF|Xf}YUa z2o%jIPhi+7DF&l4f4Hf&HF5vbNJIp#Sk*vC*orN;z$1DwI(MCzE(Mn0Qq=!!X5?Ha z=q`ELTkfNrMCzZWLmPeWCRkB~foRCAat%7PF7UQxI{BunF7T23B<0ui{j-sGj&sbR z(%X|cZ*{$@&OEq*5tVqKlX}j)c|l61}=$vMI{eYo^<7gp^`5(cs) zEU3Lb9t(LN3%z4L2_TbVls}-p3Flt#HvvjJyYM2s8m(|S{bHN&*qs7Y4kBa}6kdLQ zbFVsO*(#YPkXBk)0Tg*DIxo=N&iW8(EAc>89Y9FN!0=kZ^w}t3D~b7 z$FJl9Z9NHx#1S6Yr@S2sSW7qrMsVaf*9N>^xX2iHwQ(ubMc+KN2?$-}Tr@RxZ zId;dB+j{USXGZKBHlMdb=TgahUQEAtr26qyKrW5El#~{4h>JM!*9$7{yln8GnPGeQ zlpnY{j5BT9Vxn*JrON(39T6Q zs>=5<_@tYbLD$}c%geNY?D?CM6ACR>zW*JZ@aq5yaJ#0e{H*i1N@_@{6Q$H(waQ+d zxGwgOuVMQt7jWSk+MaV6i{t^7s8^_FxLm&E@!64Jwv9_?0KZA*y1b~?;nM*2U(CrR zM|HZfuj@r|6jw>Psw;<3EeR z-v}I{yeE)cdj&pTUZvN5f2-ml`X3U(D!9ZRSb1<|TI!0~c(vWdyg?2hs(K)jTe;_w zbUD7jALtqPw`3swpEOL48yCaaY(8l)84t|tq!PO#5{vKjoIAU$>xRqNnB~q~8;I<&F>5vE# z7py>S@iT$lYzy?6?fq?w>b!TMW8bH`!I@_|XB;Z6#fwcG9&BUJTCG6i)nH>HH2u8u zlSixJnRZLRdfX1E(6-4U$Ats4@rhLv&cyx+*9CzFnlc?s?}1Pq-R`w~eF^$v#AzrW z8dYJmziXr}uuimJ!<%z=<`@t4L{^kDkw<`Me2%XfTf3?`px?^v5;`K3_cLDC+0q0lZShM8GdQ;pcEd&V1wx(PlYx> zJB%-Gv?o)6Dz;NH3@5!EGv*6_=$So39_p2ZGPJgx+5NNI?ie?feR795O^wmUSBAFU z)2*O%9)fn*KOGEvfrYEnOMP-GLrZ_KdBUc7RpHpvWk%L%^Rm#I4yUp;wLDjFPEO}kWkcxi|JLG$56+tW%S8IJ4rE!&Ijg8sX$-+(F28857Vh# zi4}!`!an?fC2dG{BI5xK?YNp^(&6tO1P2IenMTl>Ua~|A742dNF2^;gI}aNPq<3y2 zE{dePf?9(CpDNEO%X2J=|K$e-^>!WctL6Lb>_;H?%l~E+{tni-gqtjcgv9@8*W%+7 zfJREE%lgNj=kIv4L0mbC&tS@cbg5D&h-n5aivAV*oN_gdf&&&0`Pkal4_K#%6 z*VcUoZtn=yDybT+D)0}u+t=WMUbqPgHPPg+zpdOtdz3ME|A=;ONs;$R@P;u6kD3JE zuuY*n)OqM^*AHq<#?QflWxB5nO22fL#-*-?Nu93J3#Y%VLZ4e=t3Mqz3)}y^wq!HKEi-a%rzas5yiqIW;&(LKSEw92VsPA2R#T{4YI*%mWGH73DF%`tB65pg^6;EP!`3g zPb)(5J$STOVQ@b`3ril@Qh_dOI^2yPb){}G2yidIldW359c5mcgg zC@9uxgzV|->ynnRlU;O`Uu4W8>lif8`OGb<0Zj|vMT}w)64AQ;yqw7pY{X4+*|A&B zCp&>#UC}IC5H{>_P{BQGwxSt+^oY)ozmW0C8NRv8RAI_i>@8pv^6eoG8Au#3>EGYS zx*hyEhh3wTt^^F6=7z~=tEIofk;~RYpUG@d!yi&|p^;LyLeZ$&*ooMbqvN`Yc#z5Q zPc(k9j6+c01^`_yy|&;XDWqqPhpJb>nLktwlAT))yJ@JtBppf24_9(3a_Aop^GvY& z2m?_QWK^ENPLV0aWSYS=v>|^S|Kt`LC{JXh6%IBT!;&nAArQs%v$@MJ*|RRJu`cE; zNoba8R(Dl}@^6lMDRxYkMEz^V6Y~y5RG-1>C}QtweA_p_4MM{Ds2GcSi_KH9qoW9 zAypI)NL3>RLI1oG+Yb9hc1_Mh4#zmF7VPquoLZivY&7C^>+Z4lqG|5`Xn_k6jIF0q z(pJ#7IlObv2!M2*22xC2nD#8wX>NjNt$z(aLoF>W#X3rvdUT9AEZB(EwG9Dn$P3I% zzbn&|ztG{yN%ZNdT`f}`9lsQ8rC+&V8=7LD0Xt@%N4B~QOnB+n*3_V6D zWR%?8+<^BbnbP_}1eI!0Z`RQZU~5Y@FDXJz_%h9+S=g#t$S2v7Daj_qj;@#Vla$soX4mlQaC?vvW=3E{ z&mU*afc2cO&BvXfL)CGU(OgQ|;l27PvJwfqfWrpnX1+cAkkMg|r5nQV{sK|i;blK7 z+}ZXH&i^D=tMOm^uj32-Y18A%&}FldDYM?*0sxVNU_CN_J_G*mMHNga92^|YN;#ov zar46BAo%eqrG(vGbG~yW+&__K#+IEEK(1KG0I9u`5ks6xgp?FIr>JKdP2UK9b(5&| z-7-6%Jv6_liH!gJSzgS)<(^*eM1EzF)4Cq3p;psplUSn?7^#{gZTJDlETszWlaTHr z$#si}K3EPH5&Cb1Ar8|syo>f3vr7zeEf%u6xdrH$(lTp8k!_GJWO}q5VdFWq z$PdxA+xMR`ye2Jz${n^HmVJ;t>!+ZuS2XQ(NLe-x+@b}H;Whk7(r`w|bE!oOfV)ox zxf$iVIE-JCnTP(BN!+mNsf_j#H8k(UISo}2XH6v0{mg)d-p@iLA3>JJxDr)1UL(w^ zfpE6{?OJog)%aVx{B%j?OH=d8MM;*^(>iFri8nX#m;1u%KyTYJkErB7rTlTp)Ag-U)crOuW2M%#n1{ zwyP1$Om6?PT^urS4-p*9;fYwv>Ps(MGaQ#$Rz`cZs+K!l9c+m{Q1%!lfc4zCa+9WS z`@5O7pq?Tro=BTXXW@FU$ZAHQ&!g-3zIQPsS2uH|WnzYL=xjR=ZpqnYV1X16=oyrt z-=L4NI;s;aHUddbvL2-Ic;IYk@y{_cXHTXEcE@w>U*wxA&(I6&e?$O zk;EdOr%e`H?v#oeFqU;*WX+$pX;~p8Butceq_PSLv&Ab9F4$~nYQl(Dg<6cLVD$jF zr1sv za`(^~>(pGg?Gu-b;yyggvwrH!=URTZjm*z@L;{XRW!^XKFy%;Dna$5wbTM8Y_n@O|48@zNx4e~|e>bR)NnwpGE&2l+6cMds(H zs6_Z0cD`ILK*Hqzh|?FMz_}53Ewtxw=rd)_v3=s&zvVk-pY{cx3?uk7x^UeVFf5El zkOcNGhhW5JqTU#Wqyf9j_W%9MvQnPLLv*|{O7vKTMPrLik(fL8^mhKQ?|_^7U1i{6 z{)N+@hY;xJIy!ryFJ)J0MIj8KACZ~SuG=TVO>EY!bBFEc&j9BmXF)8YH9+K{1c?%y z1Y{-;V?V<&i&z8$9xEYwm5yjVLSxPC^oGt=HT&jxHI?R2Pgz8%@)fplF}&`O`LDk< zdjB3EocMq)lfYqOqii0E5kAd%Z|O`Q99B3e^-*O3-QtTUzYKiB#CLw}JgZ#B0u2)2 zHp7{q(kz+W23n)c8$kAzCcNyplO}=oVe5Q>;TX{Qgethw`Ax50A)#0ZUPT zyyM?7FAhzErj{(gqhHnn6`bhh0WCd_85vXlFE#nPJ&j*a2%dChP-PElaFj~W`!tv! z5g}KUjEV)u32wj`HQ8LB}g^D9{?UV;>jQmv@O!1|bn zBmoihx3-~yX1ej{_@vpUV>OWeJM$q_O?VcR&1-E7GLd}^x6-~VkZ9$}P&KMXw*_ zt}NCeGcLY}r6CElg@9U68U&TUM;{bpe5ZA-BKcYb@jTJjSmFV~C;jMaHC<4OXuVUul+S2S>T=glEoa_6tcTV{|^W2`$6Qoc0(0@w~sb ziSMN7*b63Z39QgsEH|G?ztE&Vfq!qz00r%cAhU)I>4Ro3M>H$9FhN0&J>kF*sYpw) ze_1u^pWnDvw#JN6pu;#i3C(-*IozQ_I1ojhZS?VB_Z?AsA=9K zEZU86iN@Vamvye|%@(E|{8dRncK=_9L&1=NA7#pY#dkk(AixT{^=EgTXAduD7w6=` zc4nH7sK3rToU6@Dk#K%Z?H+3h;d%Ihs%q48Qp3Yui$7{V;;&9xi@wPG z!Dycnh{A#V0ee@M5sG!^TGLHyf_ayy*GP(_^jA^X-oIteC2j3yeOf)*hiT6wMzhHF zz>f|U>QHIF;iGR7ZA$|lYdi5+8ZRJApF&NA4h3B!yzf=Dik7tE)dXbc!w7{Vk_5ILdjmGoyr9%|t*;ikgy{CbZ^&0_Xl~pd=|8IV!mncsH!r&*N9Z_barb%os-) zI5C=ok)md)2@s{Mtoy{Y@Jmi%{SP2TbLRN&3i;qR$Fpl_Y6{sVYj$Gg?D8BCmt`uI zS?J28SvIepw=@2^&=nTgt%+G;1TC}}@CaX{F+y%Zg1ejryOFq3B2`jzVNPAbkkXkw z`FcJT7rQ&QaOw5&p%Gbx%td0;oh=h|H{q(2Qr_{cw@g(%vSu6*ddCzrgAwni_#>Pf zHe#;)T6%9$FOO9o>V>WYRa^)vyR`-isT68^jjG$GLZ=HYxI_EoMy3~fh%eio1n#d1 zpLy!eKul2MJ#`lpSeF5!&T&a%Kh4(HG3{Y1KuHT~@mIS^Vq}t6LU8KcR@!;DWT<;M z2}P--gKE+7u#c(K8^+fM59B$cC%SG472V-ajg}CFbd&#@kD=P!g+dXgf2CG1N$k@@Crl*Iyv>Tsd5?1Td$CoRwHT>9?f+brng-TO(aMVBT@;-|8NqJ+%g+PMg z1jz1dy1fKcZcMIz{uMQq(Ww3!eZH5l^{O$s0|EIDMHR!eF=O@7cLC> zMtK-{BKN=PT^kfq$Sy%7pI_m+Bai@K9rGm)ZQqfr!YdstlZAF|GJnpPn5~#lW(OVq5SZ9w)I{_4*P* z>j*kMeA}d0u+&G{N`MKuta~1hlsT(Y4OV^lYYVN6HlPB8gd~iaY8viiB zT@SA4Dpx7J5EjTNGD^^@f)eRkKe)O|y!MWD1Ln@MK;mznoNTgnGRMFl22aN?FM}9h zc>x)U5M*g2%Nz#^TZqWjJK{mJY$Cps0R%hoG6u!u2|3RW!qe3UR)>8{Fk&d`wm+pW zql)vXP?4t$Z=W20xkvpeM8bYYQ0L^ZuXEv)ZADoq1Ft!3L-#rswyfZJsYOk9B=nde z#7{3)o|FARB8CLT3Rb%cHfB<}&I<;!B9Dd&HGx*s`v3zrS}i=Rh2D#C_l|QxW=Wa* z3U;1qH~G`l7un=ubPA(&Cn{(BQ`u+zj@qVpK%#WJ`Tp=-Nz1(TKj;Nm_7G0$-s3i( z{;cA3?3Q@LT>h&Kf2(SJ$t8`~>Rog9I(mCR-{5*Qic4`oj6aFcG#Wd3U;2)Kh(HqB z*-WX30j<3x@U~+fYX3QC>bOU`5|WIPzengT*AT2QI+6{?0JrVDK_0qgmH*Ch;_*}- zi=t+I;4`qjjn;F4oU0U$%68=NYwdwjHe>og;QKo;M1UVG0>KkW9?r)PY^6^V!(_9;XD>$)NjTb$$LE39Gvo z2&L?*^0z}8RJ^@VKc5_VI~iQiHm0}Zh40*cucgiQTdz=g}6Xm$Un)=K9YWCEGE zvYL6bS96%?*+?xal11fKwZ~gD2q(ebh{j7K-`(%%44Y}+yE6SHieYccFn-78Anw+w zhntw)vW3jbadPKDcCdP{$D1La5022p)6Q+# zngY@W0wG^)K7y>!v@96AMhijNSvH9c(uzNqYf-Ox@y-|MV6bJAwLI&0uW6vg_)=S{ zQG+@Dj5Tr;r|Cq@qo>k@qQfetMw9Q(1kR+R%HZG<4*EGuc>dby)U(q*@i)=XAdj|e zsk`Ie3ACVvK9PeLeF}&g>~nUhP&2SSgQu0?gt(ZPJl zC9{dCosTj#Z|i;u4yqSboxAWOL((So1dXYp3x$~3^+ap*xIqdbg7=X`H{ zRDLGOe`g*{Ty^2`Y;DRtKZCL4haM#<^w64U%&5IzZnBCkLn*Jq$6@~&ib@k5TvbJ{ zq!c==y41pREk~$e$5=EQS*D!-UmQ{MqM&pU1O0fhtINRgGOeX*>+#KwUz#p4q2N}L z6$xhrerj?o!-k(DA4B{D;fl5wXNBV7SH&eS!UEvAH8pcnT<_JSd!mC4ARu*16%)#1 zU!_Pt$1O~uw)tnRt*9B?Tcql1^~l*gK4XRRr#I^{U|@I+G1Au07kCa~xtOa}CoSsY}P&FP|J zOSvqIk!+$46IEiS&W%so?!IA*%1y5mOC7zo9it;A%*yvD8r(19o7*FDgFtmF8DCpU zXYnyMgNz>Fj&~KMS(@tVW~)95kj3MY9=iD~OZuEli4mzUhhizRTa|4_x|TV>_kW?k z*_#DZj*NbLm>{K>vC38~aBmYD>hzeD{qFVoCsVe?m~98+@L3OdtJLAb2c=c_=m%!c zWn1$mnIA1{l`m=Z#m0;23+RlF;FPWXLmaz&7T>NYJ~8QV2tTADEqge)>XhE7FYwQ{ zHcVUI?bQFyz@ruak6o0%AT=Gkj6dH50&g;aymg2>HRMvbRe(INGwwV1r#C18!saVg zi@vr7t^#9!01w-0Y1(RYn=&&SckkW(p#_3dSV>9>5lVK9cV}HhDaziH@)9I^K%L05QOmulhQ1Rok)5U})vjJsr@WgJa6L=)c zgk|HQwM&tv85gSnV%IkoE=!L$=f=Va7j<0)mw>%t4XZNwXd`NP8)S7b;xG6Sz5LNJ zy5l=AJ}%4Ou$aX#2}j0~7YjrR;W92~H*>{~Vi*{jHv_)!&!eL#;%>s2B?3)>%O5Mue*ll`e6~uj`-11i;3%v*%V59(x`3bem;O zt}+;sWM){h5-7-(Wtzr@X5-rVVi*BlwQm-S$yU6&dFD+DVCxYDl5y#60djA0yrwJ9du6n;}}e+NfFfet$tA);mo$QHqY8z;kZS{ zX`;8(mC8G`HXl>hJN}HD@t&txwzkIb^zXEe_w5F$Kfb2{s1^2B!Xm4m3BPZZwnUi~ z`uYDmF564W%GE)st<|m3GB7s2J-9=vT7Wlx`8NDj5n^PQHGx=gXSPUM$GqYMz6fbU zRw}i*vcZ5!*NE8F`_Q&GSNdonRv7x zw^~$nR|-9h{Z)j6yf2wxmc9I2?##!hFX~U?x{E$!L9y;a&$OX@EW8Iyd*U5?Y?~ly zA%g2)*dLgk1&y4dFe9m-2x)uHSnlohdj}x>thBH&IE>c>C?3<~_!VYe=ZxR2{BIYQ z08fEubC5e?I*Sf{z~uF{xY&>og7Qp1Fbh=>4;l-&u-`8h?kM7n7WeSOk~OYIQ1|m|a2Mbgj{zfg5{~{dyR0PENAnL7d>^V3zR#SCFwtQu~HX~?Y_zquuc(ahEGRIzBcWgs&s=i^~HD_4$j9e8;rdV-+?0lfO4;k@0HL(hauX z%D0bmOT~hUwxrzF=OQ)vK?q+q(&6g!rQzj!7;58(HXMTS-evj!}X}_7T7FnP5kw)>)#vU!ZCz~AVU@yZW+Q$mX8 z_uMQW5Y@PW$;QiZ^QO)stTWCBLQG`giDWB}RwBQ+IoD5z6j9u$#(RlsF|igZ)v{Ms z?mTlFtEbCLQOw@LvYN-RW{oBgv*IZ)f3KIGC>2A6`J*SU3i5wB=LTuY!se~`C?NWc zS6d3@yLmg0Stn11_Iss?Wve^5Dr|+=5!H}cws^g@t;Iar|M+teVo%v-Np@^kx%R&D zH(X;hv#Tkb0AHo;H%S<@boJrL>at*ZZPB^kVX1nv7d3)xl~=>I1z1}&DCx!d`6RlL zVOEZ_z&J3G`yL}$b~5 zNCh!e_D6_WwW4GR37!04sFFC7kd~bXpVrF8g97K5F8V+X_G@(ggr_e4{m|hL{2q_t z!|NKZUhSL3G=rp=XPmgwgTe^i?Ys6G>yLO`;*|rmkJ}eu}!V@-XSKk+R>9`2y-6RE-f4 zO07vHJKzJy3WW#Qa_*$RY45s5!&5}QlOx*&nxK>c(d_-?4Lf{Ntz7zNuiI=89x zMB;Q!P{ywRIw95Wgtox)oqTPY=#!lSY__N%wqs>F3{tJm zFrJlIZ%dq!mm#!N#*42Umnd(*TSkZvFL_>OHr=_@UDm@Qv^54$Dg-QC{8SvT*Pmhg zQ6=;AE!OPAwaIIqAiN6)Fr!Hhw;XFyed!?P2pX5*6wzw!u~bUicIq>LeQ!ZaZ5c4zkl%W*wJ+P>d*8px;XlI0!F&F9j`DihuQMclgX-*4)8Kr> z#m2t8?8k-pUh1LiE32su>~Zn(7HVQGsBNMfOf+WSdi)z9^85GoB``iZ$T*lX+fmWp z(Xsb%kz83>N$JKvTZkUDKbBMq+}5+NB7jtMTs3k{O=&Wup34_{gmhnTh1|Utwg@)N ze@<0Lx!EhC=L@pY^j*j!&K)J}3P*fGe*+?1Pb!R@A(ajrK=(%sY zVPiLAAtLGMU?`?9uJt?;vqiz;qF=1JiRzpt))U>%PO=FI_(Ab7=T19LIXgO%jBtd~ zC&gn~BW6r;@d`@Nfa;`8Kmv!xLTF?V(zblye31}XQ*I3eq6P1;BxKqdXKYOb`vTir z*`g*H)=q-U(OCO})q}`jSKs6XA*mVA3zE?q-EE-_Dc32(Hl^C7aB)Pj`cq-6E_wxC zufV_~Q0GEN%dn@6jKw2?%fwJPV|p!w-7({EMQ3?}5-A@2Oj%0X=$ND@#N|9eR0DG- zmpEP%QT842kIs=5MN&meC_@$oUdk#{-*)T0EmI7a^X=s^#nw=lrVFt7F2Jd|O9qwR z45iO9WN$}@+Bpfs`LFrS3`1?GaZ2%j?uOFkTaLIswQXgyp?_dH2i%%?I^Ge_Gmp_y zS+k~R#Z@pMqgHZD74eU)W?#-ufT=FR_Za`#%n#z@sKrw2&&~gvz^tF-D-Lp0$7j5} zbk@;$wpQZZK1CbXDOaQ`TbE)r1wk5M(#BPNTs?b13(-o~cVU5jZ8-OzK72Q?(*pZH zdfy;>=rvR5#M?*1wyW$$?O7RXYG0lX;lD0U6kvM9Lr~%3nu|>+(&aopUecFq^_4o& zidkbyiWJ$w-4G zGhWbF5$(-a(1unjYUps=B&XfQnmNZULLlU&JO|hB#F>9hp*zg@l8dJruD1}JaL?*D40DEjnKWvr?1QQM z=}Z`|dY{W@unXhV)0vgnmsTi)jqX8g5?n1slc7pzkzr=3} zf6V|^gpj&g97#?f#UYkP$%AiRwPg3Ani#mqhWE|~LH<^MG3NO5#AMVmZ{3aIwh%4( zDb%WCdwK4*V7u9T@OdtLLDz!O5We`$|7;|GEiNYjX~VjQ1s zeZs&fm9s_oCarX%x?OM|mM# zeKONmbn|sQZ`yX?GOR2xm`^;7+27d?Q*!lD@~s#8sC_c(}NdGAkgk=pS>|Wchg{J)RNUX(!Uu@r#ecIaa8QZuzYVh*%edJpY&PN}Z0zlw9@sYqvMx5bP)xOU zv+bL>YHEJU?7!_v;|H|`LdTop%#Q^t2!1AyCEv&Qf(+NTX^i0rMKk&&i1w}sIahuBF@ER)7 zi^ESnPraO*f8(v{%cq(GjUPxzNH-*Px{0nV*|#T9u5f@;{#@uW@+F>v%TTf7a+4i2yTW8r6DQegQme~BgQi^ zXhpsWN1B#~*SPA_d>1rDQ;(HET-ZAExj*<_@RfNKtZn(?9#fw4LqR3O$0*SQETwSP z7OPfNYdf()@y>ZoE~|5Cfb&{ZDx-wdOFGAC+qBp)~@KNJ0_!N6QmY;TN6*ot+BZW_FY>c%POTG+zXcE z^%l_>kKPUQfW#zqQ-rZu530N~BgX+F$9WUm3Q}V=XwjJCHG21*;s2e)pZ*u}$R-;9jc0Qlfvh$rP&rUy+#fM(@n$Xw@%Et-3R*mp^0Vj@_dyXl!g=P@^($doGE`i;Tz3hsz@Yzd$ zak}*`+_y%lWUUB9Kl|Z-yqQ*3zuzk(B6^>#&9BYC)r0RE&NesTndrvB>kKW%VL(t_ z`Us`R4?EoC!h_sdSE=B$-qGQcUVpNd)3-$Vgtqk%h?F)%Y_@z8)9}q*3-o|QFL%q* z(ON`vPMU+Vb>vbwMQSyk*pFwBqZUq*P27O`8`Ld0ZN3maoy3-o1An_Z46u_l>ydI=Q+ENkSdnf*~fR z=f#?(lER@KabkLD6^JZLr9!!1e7}im8HF=SeGECIPTQYf{RvzsiIs{PZ^YkdB4LV zoum`AD4q@`tX{YK#9m_k8G2{I@DJMd=egJj=5~j=?6Ks21p=z*S?+LKZEJmn8KTJg)SILPF=ki9w%bLP$_h7+EJUW-TEFQH zSI;Nbj%TSSb)n>(9mK3@%_IBjYjYoAzQ!KGGja{x-j6^~woTfL08ARXYO$VQdOew$ zR!(4!`ZDvYd;P1py7dB`2uBF^<%ZG(aj$Zjngj|_tU}Sn>Y`8dX2h_ zS<%#KKhjY82AlkbrK{eyyyJlDJk~$_d9+bx6oXz&H0IM}QTrbV8lBX!OC^jO>+AbT z3Ie-8a!{akvk;)3EAdgCfL9AlSzF|q?=iN&z7g4$Ux0%EDy+1^G_Z7!kLhO&&>8T{ zh_AKcr9T4%;ctTn9y~1ypX`~s3>D~)mbA>4Pu_EUDi+R;rOj(T!QaE0b z6>H9^Gig&MtW6|D+FANm>NNYCRLat`Cmco3U)Q4If!e&jnJ_)m6(2Y0S!Z>p&nT`U zEsLJ>=RRi*V;yVQSx?Jy;Rl+&jM3t9X}6ozO)Whocz>?xm;WPb>$cWmqaBmvE2um@Z1--!Oo`GHGTy zKjmqH=W&);3h*o*?`3*TGx%KoI6Wha-S`N~zW)F7;-@XN!^g@+Ebme=bg7G_-o$H!D1zlmZ6_`DDo~Z-viJd6v-7hjG7jNK7+~waYU-A zsny(|CqLrn0p|fj*ZRYjJMDRQ02@ar2-W9~-?3;lba+Uik(LHrbO6SeavB2+Y_Ai z`mgtOO(VskUN-xB)Q3^sEpX~Hd7hQ~Pv_*IPa`5cdUJ_N){9IhW09n9MyYes+ z7zlCUDWr#2ucUy6h6eI!Py>(m_HquA6aLQ&kiA%uS7F`65rhm3^}wZb^aaK`rB2*qZ*ZOsP6VT*=FiTn zaGRPqJ$}Gn=yV}u9L%g0yza{;+zaDO#UzuhQWV1Nt}DEfdK!uwp8@aC$CIVcmTSQ0 zmR!s`NkHUtvm9~QY{SW%`C=LMXjUKftu5LNYJr2rxCObEKi`z6w}}r;ar)%(U6qM? zO#~``IxymHlBkj_qwn`lA^5#6xO;v}C#_-!!F^=+cS8>Qy$gD;XR+P=?ezZ-NSiI^ zEPjJ-Y5Vy@NmslO!>j}fTmrtM^Q8(|wt6N8!2g@(2GBh{mBm>~Z;$0)#|0B^oNbCv zh<|fCLX>pK7Kkn}#U17xduTNF`pR8uFAv=GnTF6-muV{PZf|cNC&dYxv1j;W&59rE z4(xFCw(S6^Wln0tNs!B0lV?29XccH7kd?Rw*Xj7You!+o1&J+6@_(B7rt4cU>s_YM zE67V&s5vu~WGRi$8n(PYe~Yl^Cv#!SQ2n*r(gulPRSj6uLp?eoO{4;<~y0G_k&?cTj2eJ?W|)M zo9?+!Gg@v9^6$~;eRNb5yu7?Tx%I*T86y)DP%s#Y%e}eTbzH#d&_cJTj||KjLUh$D zj4=bUXV!BKor1=H8dI2n*-3hsVOv-Y*2zhj*i*x5IkLYEua#ksqfBd!xv!O(u`-oY z5B$c4&sxQEj{zMRtBR&dUd*;IbttmR~zTIKROwW{8A z_d+CsTl2q%={+I+_4s?J_oZ^3v)$PLcW>@>{Wk&9hTh?};d8uY=c9(t#5FBXd+U$w z?Hzr)f(|dyc`jTQaBmmM7*tf=Yb)U4^m4TRW5F~auF@%EvM{sDjE|5dYiebETNKYB zMKp{2&J?z9YzzMgwuScp%$pcjYj&g0*M73w zl1qU_!@Y-J2V=myQB2LnAMGK_-%=46Q0uh%y8Bio6;_1+S^06S_=X2XfZVeZ| z4lLL03z>eG$CyP!+!E9^$ChVFBX`m*Hc=iu@NWOpdeVi*m>u`_ZV{d}>-J_BwX$I6 z;v<{B5qRRFK0VYJ234ukMYCK?KCkemCrmpZYnt&%zpG?b`f&48vC;u2`q)$z`}<2q||;y*4pA6`$n$HqRF zS{>&%_cy<+=jHLyTH2f_5)`9Ud_ym4?I%^mJQsKn3UP@)It_dSYcS#DfXZf;oI278 z`a&hfU1s6kv&@7^?A7S3EV?r5ubiyjgYVbZ?G@5=oWm-;M9aN06`GvvjLyzy@^e1B#h z5GyiSGy-=0c8;^gIu>?)Pn($q|MMa(w~kL8FS#q{GfjC~CYQfj%4=Fg1DbPrDvbfN zU>~oG=6qeggRRTc++17-s}c&HUwgVBs&hY;-r~35+L8Ygah?}aOhU%l45Rc6m^>cO zObeTp=+mmyA=@#bVEo-dt!;EkVwVR;D?!&nZF0++^Sl105#|I<5Kx{uKwQJt*oJo) zf{hlg6Oc72tt5Aon0bwgCyKbsq@K6xlk_q$c+Z!5+zei*HwViWEjr}ojvY+ZMfrNj zwe}7P5j*at@Z16sx_Zl+OW&NSxqnDP)qh5KOiw)`G<^`f|hC` zKpKGc6gr#8J!BF&WF!R>FlO@C25>leil_f|1?l&={LTLjEDxLhaC)Nq+F$;T&h>ju z`*sIp(Sh9^gZIbVXn`hnw@|53i4#$f zm46)@=~sET3M)+O5J9WdqQ!AWke@TA#p&&^JPdZM#mvN$O(*xv#)gJ4IhSRg2(R+l z9OOmRam}e}q|q_PExa$wyF?c`#8-XcdrMWm07pSzro&6hks{cW*2Vr$QQx69+MYIhKqzTQTp@mz$( zax4%prv`Yp;onaP^87xNRk7&t@vm<0hUlc^biFF(5|$ICM8!f?_Em@PB*M_AeBTqh z8^Kq|D8v%(trgQflbPneB=XZDbp`*ENEoaSC1?R!b_6v~XemH}kb&djL= zZg~i6xay|;7VM<0IB97>oGf}|!Op9OfnhaCYbwx%?cJAGrVg3p4FP&IPot2_XZBD?fcz?&XBYzqMpeNF2`pZ%w>stir5`DkGh$)g|D82VChvb8Q@?eq3u{W3brYda#q z=YK#RN9*#bCiNx;<;Io39Z~Ygm}d2ry*;gGfI6ln6xbVB1CdRN!ZWRVW}dA9QC!?L z8fdYKWNW<*^W}<7zy4Pt&?+t^bPt7xICk!3=QQzWa^gD@SR_TNxSkg|j{LfHIZ__Q z`|!P!Wz<7Gs( z(;gGz*l|m&f31Io1tJ^zsAFH)*$>PDl$iamQ9Vyybwo6+j9Soeo@$<(lYMmHj3kK#*S8EqU3VI|^{$qqr1l6+aJ?hkn20q^9&b-bwYJv!f;b7!#n z4U_f>y`pV==Indd>im^-<9vp_r&$gTiV_t3RPBO=ya9@cNqus8=_v99Xs17 zFc)Wu#bTL6yqa9Pqi1KJtCZ|oTPj?e?v6d>gl<7S>tO<0z(udbFKsDlscMedW%6m~ z*f^pFKZibGiqG@&EjSOn*;&pF6qF!1Mi?fVimamIr)5OYqy*W~J^vp8&+*q+3ZRz- zW`a#I6?2($IXed){@{ihF7tPO0xl5TQv&Qy1Ik$v^gm=?`FWyDwVd31r;-j6f!BoL zdzM!&bL)a+NisK>prR#QQ}$5gUfRbIyVjw&@BVd|qkHb-LSU26GLpt3Sd~qt*a=8a zabKr0NGP+3gG(3MA?PM6TXLG(cuZ9s5}rxSXKa+tROC zKlLE_ZYBWTs9ULhL>9AV<7*K%0x>ptXP^761M+b(?I)hk=KCIJz?vo7*3}^rH-ctm zj_LWwxmnYwY1hm%2oMS#7Pdlf+^h?lc$!yXW!4B(Ef9(^fX;0bmf~Xz@~X^Ln{lAz zIA4fkRb$dXAcTp6@SMd*P9#X&L2uX%)V3by>_dq!!4bE(v#rE3BnoG>*|qSbi4D3D zf8hp(<*gDg&uudX25<2ySKOj>nXE_V$F?{lF_s)dF0ob>U3YGCU*pXbGF7dng2MjY z^!3FP6@W?=QJLFz&vE|&W9dr1#H8u$i`b?lGdiEj+G+Z{KFE*FkuxniyK<9?9`jzu zd8Hvw)Yfjj{%;L=91fO5U!fK^UKB4zZkbDed9Cx0zN{K-o;rpY#5&ZnM_pv z`WqbLlJqqz(PYc>e*09Lq>P2yJ#tTavPY zaeO{J`LQQPtn1K~otEBf>#Qk*?OwIt>|0Rdvb)VAK*CE%kJ|_GGGuuHQ+@UGT+VyO z2kv(AG8iHahP%fPX`Nk{$-|RG>1B^Y>S+4d4wzwAVd`4GV!QbbiqvG4SnWmne~H>^ zRZTCLoMvOi-3PBP>+Va7uRXRW)+ssD6wflZtx_j1w!#sEC^acw=Cg7 zp7=QWurMz^U#EW>27W__uhzQ!5eu`KS?7>UzRy5GW{N7;d(cE+=sm>*b|!PxWq3CT zT;TP9?2q3)=G3xg&Tf|pYg=1ed^D|w2LAF$`i7#$n3h&=3r|T6ylYIQbrlP{?#=aF z&#^87jVlDpC`j*g9%7|8&Tj-}#?J6fXqp&4DC;>ZM z5E8p-F)Y6j0oX8(Be_cmZ05)h1x2eHAL5EEkad9Dz~CSiT)}N0z1Zos?jBazpWcyxvjK3 zKvg1ULnZt`@w3%frFWCYp1EDts74P;`kA1Q!!hntIm9Pl5%2HMLws#$9d{AVPIO&R z4>Ya!9$44jlrlGIOqq*r<UseS!l(Fw50oRCQaG?hUVWNd+1535mw^Lk7BH?of0kW_KIu@lbRw6(27 z^LMW(hO^LHWL_{wmwxY*&qEFqv>z0D24|3$xsgWsnVjo2{z#Y1q3AmnM7W=hh`7;A z+aN9hm@I77)8|*|CpUqE^Jh>JWay*puL`L@#0EvJU$DU_#xkBwZm++mwa&IxXkS$6 z2u6?>-)MalX{r$@phoj*Wur*NIeuxhAqwHz?AsDs5PkNRk;w8)c&TC#@+`VJDOmLW9fCjuIN8@<)0Z2)3`pGn-p)WSr~y{u;^! zLkom{81Jpzh`Ic&^XX^)?{81WQmqCA++m$%=3(5wW}7SI-cH`zb8&N%&>W|! zNvUfCXLz0+IptJ}$EF8=d8+ zr##9y3L~u4HI(Tul1ddk-X3rad>$!?k%X05fK~~k3{Ct-M`wWnuB#^L)Va?Hi;4lR zZ5`VW`O7eWz{Le`Gc#PYIhlANYK`099S4qnuNkw>!n~pwb<-j88HX`U_DcLj?&5bJ zFlLAnm?oPT2#Y*#aHpbc^cPfB3xTN4ZB|N`c-R0~rF{}scAKJ)f)9{tjRVHgrDlJ; z@rhr$L9U)jaulXwu%J~97QYUhvMb767EQGK@v_}6&HK0ps{Z76ADMh3>U)+fC${%3 z>WgS*%MLdK98I|jsnt!4rM$FLDW<$I0y=7dUjo?#t1b;)O^usL#^7Sy2>R1=39vVT z5*pp5Buj1Rw{pICq>U;0PYY(wYvuElwD$t`mk^2L$ejZ8QtcaQnwW+Pba_d#&?*j8 zY`a;|;(~A^^8%YtpH+U!$Z~txqrJgy#Ait{3RIPHug*21qUz4F%>s<(w1pkS#csCQ z>jsv&K|zRZld_X6`zIw9n-Z@c>p6gET~MlA$#3*=>F+frMB^ch8Yt1x2XegsKV~l;rz32Ra-@Na* zw=PE(1>)yBV--~-ZnBB?{I3)Xhl2wrANpidiVMX)k2q&n@W_&hbRiVH^hi|aXv^RElu>vF^zP;BscbC1`3=fjO7 z@!6Mq@DmZL_!|bB7~Q$! zC?e<*ft#(AsmknJ};17)8?|MrFQp-?PFY0s)5}B*^CAtQBd%BZO^+j!r8As^p zwLdEN?$$h5^EHP(^w1Sku-t@-eo@93)|(}8M4pP3kp++{yLEOKF=B>7^BiixOq!#_ zgEN6Uga7i#Kw0SM#Wll4DL5R#HK&#pwxzA8`iq5wj0OFX^||e!c=7x+tsBaQ2?(ta z%AK;v&X2vFf)K67Z=ZObEZlbB=*XX;7#R}Woh=;E{k|fv$(EL0e(m|ot?WL%wN$;#Na z5C<@%p?1+t)-iwA{M}*ul8m=?x8o1Fm(pG9C|j(J=>?{KsaIl7akCn8@$nTgrfC{G zG#m2~I{UZ|Jvan9W_B-o1;Ylj#$V!9aJr6goIL!Hjwq3zx0{1wFLL;s_m*_h>c$e9 zwC}>3DRs7FT=jP~<+7XiG8Iwz?ubFwe%pGuB# z!GB!-R3D_Cbei1=PZiQBZ-M6^#JkewJW09fytX!-d#!t+jpF*`Ff6+P#nOaKWjJfZ zO0j<6CGhoB!FOE4z<2D?bdxK=m4QAo>l|-tdYX%$-;|I0uO{8^A6p5B+`wL>fdSD! z!2PFvZZB43)xF1l`FJ8Q5%XVwVs;i)VOT=Q#GcEs$h;8;2zSNj_x^WRVuy`C1`4Dc z?gN+RSrd3A&d%lrHBI7T5_8;PZg20#jvzn-ryw9FvUT#aqSd z=?R!e(`Un#qD(p9de-2X>%-`S7`{i<_>ssugQL(AY0DZ4KoE`%*O07#7HSN`#b579 zqHX?LgiDZt;e@n=*M-GQ8i3!RfKd>+ORMiy#^K4mm&cP=M|Wfzb<-vfNPTJ>&^$|x zwFt6okxL%k)9T-Cg-+Kn2h-=GtAAQjRHJZR@JqkEX31$nV6w*-Q>xQtaBLoscoH^a zD@lUQnAJ31UC(0UPcI-8;b2_<{pSB9{a2pPI;iaq&YM_O`X>f_*c5_UNk8?++%9cc zL`=`eJ)Fos}u>~W-QR{jOK;i!g3dDoI!_QBYc#J7TEM?Q&2 z*-aOn2?|bWm*G5tm+vBaLfi9YWO@DW#Yvh6g#K0r2teE*I=CN@T`SaZ6TnFH{ zuC~Oh%m%JB`Di~{H_HH09M?TJDIU67uCe;^^ssdetUhao%YRZ3>Ejw#Tht9cv~NR> zDv|jZa5gjf1E3D^hshDcGArmwrdfnrqf^XGIrFNF{QQWDImj5MEkcuy$vi5gMXWR` zF#)`2M{#g3d^@#Z6HydqES6_KzQeEcLE&2(5TUj?EpeyFXysP3nP5>8`wY~39~6ZOg(ECh=RKC7 zcS>X#Tq^+V{WP}UN#09xe7;-2xxP+h8!A9h*fS<)oF}P>eEv03O}|V&ra@en<%p<( z+VL%GkO3cJZb8B09fzr}eoaj@RTK3DQ!*r?i~IRp-|^Edw$urVDd9`LUb$ zn-?HAjgT<@P<`*tRUC$yP|gFW|L1yt!1lf^*3MFA*HX(&zaG-8jsoix{w*$I?w^Y0 z#jQXS3B7KeDH}O@9OGe)JoEEjDfz$uvNN{ND0bOgXt~!e4Ya4(;itRdUmX^H^x`r* z4!WZ;0Xaf`D$kMq7;h+|t^D%U%bldjms4QN;L`Wv5~7^W*>^$pT?CZ?+guDu9U^(J z@=6CKZUDF_dhqpIN1P^$><@}N*h>h7_&-(?rw`}tJ(H@=%x;GZNtn_mht1NOtIKf{ zx?OuqqRW8bEC8 z%>I#2%q%&%I`&so{HGn9yoA$FXl~J$RYn3c57r}-hnTKv&JGSjf8wwehGk38hdt&0 z#I5*s#qp@V$okLlL>Xf1*H7_YZr~{twhAw#F_W2a{Dj_+9#_&Hxq;d%(xXgX-7lm9@f*dV zu!c5y&XJS~mt<HN!mFwc(b1?Df_YAyvrk+Do-7y}XbFUjgUK#&$n2#0 zn>E1Rx7_2Xe)y;9kXjZ(*rh8aXUqYdbo6skd_=V_U69f0pjTn2OF^aPVfIUUX*hCdT802{fAEE%I?x5+uUSMdO_ItKtpHy$W50{=a3i^=sbO;dUC48yOf)H3s)9Q%m zw5;zyTy-1Z**8KxxScU$RLGmB4Sg}O-~gqy-}-BH%GO`j=Ch>i)4gXBfi7}j7ro~N?Y?}V9lWRAau@3DjjgpYa;91Rk=!l5k`_gX9JW|; zWMB58rad3;lB1%W4TXL-zyGJL^&DMXWDh_)o6Xa#tqm)&3^V6Wdfq+20^cscpmG;1 zTets;xcCo0E`UKt z93ZkIw0^Z}#uZQg+!SI4KHj>rk*o<&1#>@;dlVe1GfNYQW zW4cfCw9h{XR7^Re5)@{FCvhCeT3R(0UzWYJ-gg2ZOzWT!wa`;M_4tLjoXUKj1{n$2 zLB4_CRQ#=Yv4S{i+UpX(a8~kx>n<87;(G(cbb=Zp1Px+N8s7ouv5zV{V%%|D4S;j5{G95gir(Vac|CaK9bj;K`>y+FVG?LPNNAPUe zr|4wBKV%@v<$#~BBkxsTTl?fuV_~l9Fox_P)R@D>%4unKxNcZT&ti%q&IHdsw5}_w zTjA-*H+ofeAzMp!ZtZCyQGr@V2RC1;UU$00xfr>z9|IeY&aa#etk-bhiYcn;es*|0 zK-X2TTL&dyTS=&;9(ZB}&~uxOH>jpi?BBLQA9x;T$PEL@ppyucjVl}D5b|E?o>I3( zzr4B3F2oPgxQEm(TA@!T+<{@6lWyqY*ZAxCeR|F8p6)O(%teS#aC2zy7Xu&@ad_D&%Q-xH%WRxinVOm!yJtx{ zg^8wsh-(2ptI4InR~wVxqjm7-W%_|}WW|A5`_A26=KZ~l!0SSif>VYfC3IKNpO!sy zmaIs3P5R-JEx>ujX%mXHrLv8}7$YtE z(Z=is?Ok=uqrN;iu`=P+s}s^kyhF0cEKKeUliib=UuQGf=D?fJ-kng9S5cF-rKyCw zx^!UG#qY~3P>s1jxCx1$GKl(}T$gz#hzeIRtM{mX* zdH9b5e4~3>f~jx=ig{1vA)FZ=j!&lE zI^^q-ZuBzz864QwP^Cl}E@_L?A3KUtM<&`_v1UFSMJWywKwIJlFTCp=ub2*FMb#2o zx_B?y7YcvA?MgMZ)yV~lbrc-;%%taqA@?RiP=H;U_CA}lQ>ysG6aga6nb1WWsMoW- z@0XtBlusEGjZ81Jgt(#Q^v-a_mrvRiP*P#ZGBuHv*vXR?_t&1YbDUbGWE-rt!ZVh) z!Nm8)>`<6gR}P?xfK{y_Rhf3wt!De{Aa>1za%I(uXj0*Dl*X@VeUcTb3}YX9oLWVSWA>3_QN_4;7)9P<@3obCaS5S zDPCM&7mkD;ItC~Qd}h&1c?80(oM->)vy9T=^2VvGi1c`ronTg$hVfuofGpN_6a>Ls z5^AjW9i>!p^j1Pij;7OoS3hCuv72~f#@BFlqUQ|0w}o`t z;U``QeRwW0e!}0WF1_D+QeXC)_YH#8*3OVW)%ZM$TG3i00*TId7R0tGFli|BCQc4; zSjMlm-h}N;_RZV3Q_%~^jfdl?YUP#hV zqTIX4`;0<&>Vu!;gPU6L$l+sR6Wd9vXwCA+QaAjY#?Z%&2EUt;r{%R;$R|9yR>;eT zH?3~9lDDQy4t>kvbsL&kN$Q#w;j98cRLN~N|BsW%YXrEV1mOJRSdxx?4hjPIy-Uiy z*&Bk#TGogz^$I4&QM1E>2U_pidph781di5QlT0}Q%$4BZz8>c~J2`G>ggh!Ez3#3?SWf6L21>7VIcC!woOXH zg}u!GuHb?|843#%;=ln5a-jolDa_4Q9RuPmPQ;>Y29otQhL zQy@}<)4f`_OF^@WbdE{{obd2SY`43-m<-Xu&qD*)R~1Ri0_+Er0E^|^OQ|S-)>mMs z-ec(eH{WV6yNlbfpsv7)sJ8p zPxEr8NyvCsi)8h5n1@GYyxyU|S%CW3r9AYR-*Lrf7)ykTL-KmD$HF;+VK)PwXkYRULE^cgGgEDy#T*&8~A3+IC zufdut-}aViWOdy|z*KTGt~6lU;z433&1a%Hl-6y0{=G6I<;nZ17UJN6B1u_OYRRH` zthMLLJ=MvFOIM`M<(M~u%AZUt&E4YqlM!X&m-)geL+QRnXNHH zcK0)1AB6JERbC!WU2xm!_WmO1yESfw$~mt}tm`g6373IE?0gU6gu1 zuKOKuF5AazNyJowMP=dDj2Hv$g##vCBeMfxK=&;M7Y| zSZ}D7!bL@c%f!eCT)P~;m8Ei8Tmy4n5@FEZUqj{}1597Bi+hM-hC+Ce zPD7KE9QIq;cW;Y8t0y6}7G-7LY`>~Bj~c;VWX{ror+hta5m}5SrJn(@a3+(BE7i5B zyTFDNl+SwXY)hn%_w=$cv)}dSLdMC*F9t@z3It&IYjE{cOt;@PS!}E-JwVNow5zAH z8Aq*s(BSt1c=uBtfaM{G&sUG6{*Ssusga&-Y*G8{$JSU;q5%Bf7GpaN-x^*M9K7LgkJghXJJpB+3yaKd!*r^|< zfbq|jv9u*fl%u%9swS0i4tCx5lZVNU6l31v2By+&Zty_>kXO7R(t>pe=LZtmx52VP6Nstmjzq&%CIC5kt&K?x9$Me_Nt{o1H$O*%`t?I7A zv+QggKHy^`+uTcP?S{46(8eMhTzj|MTVF;A|GX^Ix2Vx?Kd%zo+3(pujq+-4YpLLl zQ=7C~I1|1|N^KpKrcgfCbzvc z#7A3u``+Cht^u@cPJ(Ah4S1S8qb6gG=i3cQh5p?oXYFjl?tbOePpJ&b!+cqP3<0_1 zCXkA)=E{F>KEqO&I#QXgmXO1P=F_4pNJb^j*O@GtYwb|M-Eqwz1_W`<8U4mCooHJn zc5d!qAp;?dFR>u8;`1et3ut}LLRm^ngX^QqjJlmPG$7k_7IQ-76D^vi@T)ZI>xkBkPj)6+?%zDW3&`8wHvW$v4X{ zzo#v}rA!9?^Y`j}D+TknshgPRt)A9PyZK?aa7-I~Bj|uYVN|Y2{9wiKdZYcFpTR4! zqePAfNIxY}jPZi~sX-x7O%x?9aFQS>2Fu96T1=^TgN_I#|(3wHou>}<{K@VEFq&0(>+;Q$NB7Xz2MEU%!zEx^5d@sJ%f5R^J(7*k9y`6|kE zKYadQpG+}!a`292X6WmG?>uhcHS=GIb7VswHqByL3XlK~>{#$P9ZKU8%t=zQF_PsW zZloC*QQ+oUDWzv9tVW$3GtzLickDc29nMQ0_LM+HAUSa(eM@YN$FF1>YVm8=j21~@ z0D&wVOV7z60DhWqmbo@4-C&Wk2ni#F2jmDCY^}W4abukht~8L`mN%&j0ny|C2dF_; zzQ}bs+`UC%WQEDGa-0pOqfCDNZFJOFZzXc19YJ61Xb8(ga?wq=Oj!}YAYY?pkl7$< zQuj(yX`BWf4K@^PSKAy-j~LCid2s%Kqnk&#rs2uMQ}*_5NL3W?+725IhYW`!UVcgR zKVEz7HI~aIqtTeXy&G6#gz?cd_$C1zBk)B?BB5X#14`H&#v7VKO5m!fD67@_^KA-I z0y*%Y28oH5#7ENw%e$J>C{$X+Yzn-tcX10e^t?AM$Lbbb65aKoUlE0N@tUimM6J5g zekq;8J9o)3=z|kEdYT)vsyVUtIRg=NB~bejy{oKCWicz!zJBCh%Br@a9X*CgZ?T?% zf)Lup-Bq?}>}-#jLB17QvAWbxn;eAI{_0=jlL2S2(@u3f9cZHVNeD*e_kbY+__cYD}tf(tEzUG@s59d1mRwWLj&C?#^wCK;h+C zEkdMmml;OcvTm36vW8h_2^nK4tfeuUx~>T>GMbLi#t|oxy%%@c^SeYB*;(xHHNWoH zu~;l|ath-c?lv8nz}AocDO=R>sFmP9EHbe zvu--1@mk)K5JP*7o8JGcQlqcZnpyA9tDNX{3n75-=7;{i8G!L=UGDw!fr)LKf-o;) zj8thI()dpAF0*d>j4bcN%6Bb;;|hQyKYRVM&a0N!6?*mab6W;DQuVMk28YoZAXo)C z@-|Z5R#Rr6Q)`SiOtyrHSqzF&qx@OOGAtE8oMx&XD_WK491Fp*&YZ z&k1-~0V{G8zfb?k3uID-mjrSsXhlZ*qN72}lA@Es>P=J#D?>-!W1pn*wQE3!=|xPe zHI(ODu-}`2GvzX=sVh{s28ojTVUgVL(ifN@Q_-jzQ8@X1duN;N!A(B@+0QeZ&v^3m z2~AUQd~(8IH0I#ofZg3aj5Qc*dHuE5dGPQdH}>|}-`OPu&!b0=&|0&zv%_FKL=QBv zh(sG`3Mb5%l$N5R!dXXM)aV$|L1VneHmb{;?L99M+7hxVtSwL@D3iwKbLn$caOHCm zBSatN--`2`7c2r+5GAUaH6MZxs{la)B(h+qcS3=8-b>^&q_mNCMWDL#w^%|?*i?lU z)aU~X{R?dut!=dJ`RVdGD%+3l#Tf7|M*_tW6_xs{bT-8Lz=}@Hl0Y{{uD83p`qlQp zT7)Wnzez+@4yn`eI#8(l`zrXc4s1l#X`Ea>xNl#7trXFVlh$urADoc>*}SA{wV<9; zTs6`;Xdwitsnm*riimgP9HX)z5HRNQakJ*vIyjU~^&HKs#MiYpEy$7E|2%Avb<61_ z;(VDTKpdzVc|V$_!6flfp9IbUT;nhUgLjVke1@@IR8=WOsWby^QRR^7$r&dnXY9PP zLvRK^@#r0gaR%=V?%{ypWWtSGceprT@c8j#>g*gOXDVN#3hB8`-D;I4YJ=8NBD*Zh zZsD&D7w6{`g+=StRGD=_&ebpGT zSXS(8Z!@3IWZkPxYO`veEtSUE=keQ=f~s25_=eGN*s`25GtS4Pe-)#EwCg|~VI?Tn zf)Ks2&c}cX9)&o7-g#k;#jCHg8`;?IY71FY1PdO@0azjwf|n`^S6P59Op}bkTIrhvj9=o z_N!{|X9blnh81PW;o%`KzW5@?$H%zFQIv&5sGBa;qO+SOerN)?=+!UV`)Mo2KB>in>5mmhFRWUj5t?e5!&{*EKH4L^hpH z`N&5;LI|Ge*_0R}XJ@C3hQmZJ6;QNk9D_kA!lQ!%RRB&AipXNLpfSQZFI|E47Ow+N zdrB{K_Naph@o6qSkI|&Q7H<$-@4hI&Ds)VfaL|Mr5znK0&SH?oS@I}1Rw{`x3T57h zHZ>)tXHL>LIxr=(H)4pm81Sf;u_2Wova^^#jMy#6SJ@nG%(gw>`eIs+*`;Xo+q|i& zP=8Uha-7grYXRDnFF9WRxp^_)_R*T-lpQvubPEFXBjoG*U$W30bLBkG3Es5#QLQe_ z*V!JvZGXPcnKtgB>%d7(<&r0p+S6EuVrvCBU&v^lz`?Dv)r<6)gw#@g@N1R)2 zd*=+qmWi;*`p<$v7P28m35u-Ux7_CU1acUQu>tEN(MHNt7CPc^-T{{21BHImKyvYs}f1RQW3h z0~QMbWk#bBC#Po=EkL8%F(ZVyu3g+RclUO8Fvf6jcpz)qy21OfqP3v3rmkwLoR4&c zS*x*yVKlmdv2b>Fk?uifP2nz>)|c;5%WB1W4QG}&Y=0G3#FKCX@n)vjkxq^|q4TgMeT;xS1a#`Sl9jk{-a&ff(@;h|vc(GT@Q> zFsJO9G-mhDWQ^#=7-L$%OUlLf#?UneM}9v0Ook3*>CWH&%nYT?x9gdv5+JX%ZqxR! znhWv})CzU4&EZ=0fZ6w%A(G!ktsrO-U0oM4Rf<-t$T^S8Yn}AGUIQFoPL^Jrtbh(Y z)7e_xRUXp8V8E@LH+lKxm-*#i{$-{Y7uZ7b^}UDLbjsQ3DaTJwI6Jyvdut@Za6YsX z+`;|TyLayL(o0YH+~+=% zs9q%@G%S~M9zJ}CEec+K`DM1ZcPOmId!f3E*y!qjuT3fihg1d#VO5~(1F!jTh2;o= zU^$l;g5A)U!?GU~G~|7kpzC>W>l!!{*FLXo8dm`jHPnp99VO8_hpQacB}W=s zQOb57rP$ftrdn3eL>Ym*z}CvSTacsQ)~A6iL9*^61A{WS|G-V3y~%XkP5ZF2YReTH+{dA@_hy~LR^XD zUgbCoxYB#pv?d0rh!ZY7bYX3QN_(Do>0DvODUPyA07*naR5QXF)m;|B0UK-*pX?8GtC7HVAEVj|5IT^Y z7a4{6_qcWbpToaXTA@jia2>HmQ5Xe5Qx>MZBdQMgrj~a~8Ht)|oixS@Y^nyNRLZ$e z<3-a1w1#ptL>D6(1OM>W|Hr2%Z}IpyT=3g|<+t(h;TiR5joLosg^%9g2mj3ES7?9nOn*_?7v5(8+X*!lKX_z%DNk5a2n=g6tc@2t~~paMfT zZ}7&}X8^c2y~m56JYZ>HfxZ%)dzQ7; zl&-ju^Es$;m*LJf-YT4*v#1+F1(bW7H8SYtM|nNM+gdt}j-t&r8jLW7W>(F6%t8UF zs%1sv6qvy?+g_t2&9s4?oh_CZ5yhzeyHW~DIGzizymUj1H7jdQ*F?^qII6m&R3(KK z7EWR08CO=)v`rct3oF&Ro_~RpF3tCZrBk{{h>=`I8RaE4>8gP?uQ5#u93t;#ndTLf z7<|#J_J0f!M}v!As&^64$|UBBWb^_wXw&qh`cs1y>)0U`Nb{?kgMQRrS8nIT}5##$}u6q$XaEw-?1=@M%#Ix$=X zBvwK7>vr_+`}vb(p(?qJ*sp|#hLstn}o z(Z;kdYYdU7V@pN*aM30=S4WYAux{P53S{-WoBznBf-zy{#^vH+F4N>(?9;YeUCWF0WhY zUn=X@YHV~J6X^hrzV*Ko@FPV4We)-YjcL{HO^}kY&Ny*$yu$jTWkl#MWPGVFGq@q! zC8skj?q|aVgT;W0-6{U(J&VO$a(lBwp8E0V=tuw$FIAQXg8@2~gtSH~noPE~D2tNA zqeI3!V@Xdj;0s4%#SxfP6I9d;>Jk+di{XNSD=C{2?G?d5)S;`3x@Id8@f9#C^|ujJ zqbqBO=x}7*F{#S8i;37p%Y5iGh+>qAP&r!cgFJ6afenF>#<<2gT+_6XjJP3UANudK zT8#wuL5KbV=Q4XEJu74|fJ=H3tM7hq(d&EX?}^Cu+dz*2ag~MGX>jy&-dEbtOF8MB zc-;wtuC#IW9$&>6xe6rcpL2z^(H9`?E&Ox4`^UQ6&)v0l+w|_$`u=N9?K;kMRogE! zOIJbjKF|_eV4n0SY$53qgF(T%MITXG7!D!$RB@yiB~7US>ut+vF-j|R;F3m2AIRDS zYOQR$rm3QoA{v8D&9zM$ztfFa%;#Mmxam?~^Ex89RiR{)v^R>vP*}@ixx`e4hl4X7 z6=(eH?q~V>fA#D6AMX8c{L1J7U(m;t7_3hXP!Xs6bAcNG|Mu_uUS3|@;q&7+`RMFL zPVJ0yI|D8Q8u^$`cTPkeZ(my8;)lNBM_7L2@@>zlqh{!a3`5EB;FSGJ7#zogQ$F;O zJG?%62*8VrThDb3*%rEHZWkt=0{P%`SiO|NJwYeDZ|p#f-_;n1gRT;II6P zf0duv{rUD<^YyO(?AuPY!;k%?KS{l;sn6?6dO;xs#@{sN5C5h=`ds(qPkr)-8U3SC z%Oaf5dX>b|v)MSu%{xcj`1LpVy}$E&SN1PMfsKZ{)d7Fv6FbidB^L~}-q$z>Y=)z#JJ#bk7anrb!a@c*lS zV`T0MUbtaVNjd?I$S|v zH`Z;q{(kxxNQ!O-dUa1g)D{DjQj|rR{#La6_1PRmpXMYmML`U%8)uZlqyZ{;VT9NW zjHR}}6M(}t4qI4)k8QQ1woh6HM{kFi0kG~XlbJ^a)UHOMgt6}())x5Geh`qbsn-PM z*MoS;Y&pQW2A#yEwbpnqT4{=2ipo{Ww59v<@9C!gg* zFTTPrf9g{rNQy>9&(Xm?hx_}4s$y9;c;{%ARl3C*t2ND{#!f6Zc5W~z254(hBZV`L zrU*D4P{D9MoKm_0RZ&s80!?I4l@xV>t_`YiZTq_dH%iL6MTpS|TS4WnOAA2_VeBbR zG?WQzaw)fX?y)0Tz|_ltDKsc?)teYv5F^IOpe$*s8rL-V5O7X_jTj@!6olxhoF~>9 z&`4|tZQEx*3x9g&yNU$8Xlo3iTR0j8^u#q=YI1UJ+sIDZJjhLyK#(FO(IkhtTX<>| zZjGM3&bn9!L{^^lwf*`L907(l@6f&5EV(#G)qQW}F&ipG1ERfAoM$aql{sTz(>%n3zdEfJ`Ez($8LR#=oCOfJ)?y6C9{ zAF>WiUO0Cwj+JXrI*s*doJ|Y%ppv7Oo-qa3Bm!xa#-M13#Lub-xmaqN?U(I|vXM1;>@Al&pL z%jFWSq5%BL5LCcr24Qb__g;Ww=iEx#xfDLjmBD<=0Dv@JCR{ZGCb~CuC?#XHXk2K( zK-8!pfQ(UDR5S|cU=wr67`C^!SUPCxn)AXCLqIvXrje5L-Qj4&Xf&c;%q7LmEf`J4 zEao$|CKF+#8bj0~3*agbWx?5O#=1@oTn4a*qaov+F=in5U~#r&=@yuvDMuy4?IFr4 zs`HAIrzaSb872~3w#K5gk@UHUu-537p4uqNcC7S zW{>6=BjU-{3eclt!?4uUXA6j+3r#t&P|A6I%j^-rJUU?@<$1uAn)#WGOSY71SA^IC z?$->CYZFWK(VUMq9uK*5=MFda_E;_#xLO>Z95J2EW}Kd$va_?r3opLFcrv1?x{_;U zS#WrC#Np8qPo6w&bGYidW|7iVo*o}FolO}{MoEa&W3<62&uBd6_MO}8e14mg)6*3O z#&Wsf?ChMgvoj73Z=ibRmm+zwmxL8b&SB15_JL@7(Vyqd;rSq$teLxyYfk%Dl5L9G zeld?NU`1!jDwzxbm!g`{MWRo6mJ%RYv5cZO%LXXlW#d!=EiO-T>!y;R*ZOuk=(eJX zjw+Q)y}WN*VI>%X_AMB%qZS5-?Q}uB_M*d)ffbPS7ua}wxs=XvS`6k`Z!mMkcs%0K zqlK^$Owm>j$UtdPSWb>l@WHn<(XHV)Z4)WWlC7`aiBR0rGdS zO8E|JV5wG}GW^E-+S`6prIB@pNMBoE9boLY3A*U$N}5HGIcig+XVZ6?4WU^T?u6Cq z18-+5;Kmv&qK$~EUZ2X!o4#&IlTwQ6UMf((O&L%QX>pf9u&eT)pOt>n|GVGNZs@A0 zwEf(#Xwx&Lq@6x^y!UOi&=iA~G8~dol9I*a3~>+I`t z#NHs?MP-wgM2ZxW)&MbU5-jVsuj&+iTrQUkM_JwNr_ET3oD#}7Wv#}7UZ zAC}KHSO$JTqZ$@w@wWTxs5!HzeD}9~4}2R8Ln+Lj;+((!7ydjak542GCzY%=ql7$o zNnvq~V>X*%bs_7f0K?&cMQ~D0(X0cuw4XOJl(ix{@mn^JPike`_B!50T194l7-J}` z=wVnRX%t&KJIv=(%E=BPcn%K_s4JB|1QZo>V+Q-*%PU;nE=PL@x~OE*&*)L5Zr0<>#@5UI{9 zypy?Wax~%ff9VVS%&kxG%KRn1^;6%*{M7|@sw|_mrmz}q6vN#DLckUV*LV?(9~zpa zXLdRxr01buZhb|ldXcKnBt0CEAX2rc2tHl|93m$6?(Ksj;qY!~Yb&NYUo2|HXguQ1 z-CKO<BXEoFWth`7c$UGqo6Wg6pJB@ZIuCH|cqO_VD9Pnjs$a&+(0LxewzhuT-ixpPMM+WVFO=J3 zUcqMBKqY=(?Med3hU-SH(&C<{DeH&nIVCw7t`sTlMUVwk8g}<~IX^w4swxp1^&acB zRJ~X~WKYNI;{1YLCM!A}m(xtrevuy6EG^*sAV<2`PH41$@!c_UN94blUn?ReDv_W=dyGEN(TSZJhR*VMc)>(Z zaI?T@yv6y&BfR&NBLRYzp{8jnE~aNG0`I{)j2TE|ID~{~iooz-JVcioRce~j(^yAP zv}J8gl)j4E_vo*YdRR+Dr|+xn8|ca{ ziusl6T-u%wSR1Iv?aIck4RSNQR2ZSK{T&i0OES3RZ!@vqnzNu^C z&@dVeI6giB;NGnxh67=vh7g!+4RLPC#caxSI^(cv_)q?YKgE8%gGQ||H?Hm4-i_tT zX79J@sBzli*sOzaRa^Q$=Vr;=NSf2{|Nj2~fYQrcU7Jp%HMjrI{n;O5{^&6$$EPTz zINaW)1_+wraLi({U@#CJlMtY;99n14Gqw{!Ah8jnR4j>!TARz%URsOxm~MSx%=I-= z2YzR!hnzDc!B=Ai;IL&1xR}7Qs09pb z*@-ZyhDn(HuYUY5(=xLir zhChk@dc)MtSGN1ZuYMo@)eC=(NMvcQX6Xz=DU2<<;Jd%;2dQor#S8STR;8RSbToYaI!;P zS6FZPiEsZ2es=GlVS{Z`&)yE)(^2!{@+N=kfBG+2R7;}wXk)Gcj%!=BMC3pz#dtL4 z-o1Og_S$PK7Y)n#oS?!Ai^F-xqlb^!+uN4tOLRg(Qiee};NHD^?C$MxembMBWx#8C zERN&jW2Vz7!%0aoCQug8D5pUhU&oV6lm&=8yf7cD?=jU8pTrk<*qAYWY zOD96smHg^Q)w){Ua2a6uwYGkHo(ms%CmIu9uJ%qqjCXU~^!v)a2?;>ais5L;>8Uu} zu4yD9A6X5PXQy5$Myn1cMO`pRiyIwvE3BB$uc8s~C4(h&;D(9{>nx=!MdVY9W3pT z7!HS&FRvPD0RRVCTD&?{dWLrh|$9ZNtz zgGG?fx6%i3b(@t}G522!MD&gwF0(PNvX<$W&mAOEbQQB?ldS_A`5t(>z5szCVw7BW z-|L%96p2W>B&tgbk*YUIN1?sub%5jQcCGf+<^`gDy9mt{r6ao>=)?d^@1;+S6=ecV z)1a18p}`iG!C-(=9v2-(DXcAsM&Z5hRZDY81EVXi2%>eds%?^hlXPo>3LBq)t%MS- zd+CY&d#bg<7DanJ*EBRudd^L!QxIchHk;$UV|Q;4-&B-kiFZ}1@D!-(3VtU{!hqMy zCz6)+Yn_9AZP#{%y&FczQFFxO;_)-LxzpT6#mH;JH!q#z-~WL>BHJvE_+y{^Vaz`W zT%4a%PPW+D-66!t$HXlXhqOYIy)iG(RiT}9Hwa8;F!LQ)s~r+^vZ9o#RYBTN zkkdFsT=c=C2i&=Php+jLkMU=}@z3*#@u%6MM5h4C*biCidc{fq!sty|AF0rSK)>(b z_yYtbg3LoV#A(O85RhVNm+em*?24w&djD<$FJ4^U)4 zZ3Z|#x%C-7x%C;AAFVc?f8BJ{)LI0T^RfH(dw=J50iumFFXk&?-mPk%`@<(I=g*cw zv;()zo5RNh6?k*-gzx^ne~4T44PG5RKu3KIaD1g(yLjt4{91`~vbDX%{=oq^Z{Fno z{l|bT}>CFe0;*e!9H4Is(_U5nT#iV_>~Xy|NfJoYZn&Id*+J; zXJ=4}!(`J}@voK=whpp0{%l)cP-4 z*77lu=;g5m0{8ZA@aVxKTnN-n&2mvOyiu+pBKbH1LX0LO&d<&Xvw+%3&ZAeCo#c&; z@7NiwuEr+jM`n2-fK1eVW=98jsHirA9MbGAb)^ql7=U0H)B`D(>LPYgFx(n;C1<1V za$nP-8h%*)?&*NV@+ZjNc1;` zNNG#<5BD)cgBmLQz!P*}Q7oBM6O1=tU}+qUsVRa*2ZIhuO2t~&f-c4z0gqH9=twN2 z7KVxn?X}!DIt;7tjVs@Y&1P^THc6+#c~pq_M#`JH#!=Tb-b>j>A3UyVsOuVQO-tWj zE|<)vQ!cyyw51Z^GJ7FM;#Z#i3`)c`8tA1IhklZC2aM#+vkm&a*S7puhCZ7Xsd0AtC^SQ_eYQUzHk1+ z=x@?(8`j$d@aO;WkF)p(3*PvZR~ZZjoIZYnbDp9wOs5xUBXfmIV|8YJWk5vfxUrOJ z`!h2bV`zm*qnB~KEG)VxC<;rpTylJN!Yc=NVPJVWouZWD<&S+GpZtTrz#qH$muZsc zGo@|^?1i~pYIqYsk$={vUSYnhZ?pcl=dss^j{un2%YwqHg>lyIzseQI92(oE@+~t{ z<2ixb=Y6iu2j`ded42rg%I!1g^JedwG8^gD(S!Cl*8s=0J=4ac5ih*(0{8Df;nnF3 z=X_dd3yb68;)0Wt6HbnI8I48^M_tJzTS%VWy}NgK`yv)PQ} zB?W~_G=1qybHEV3>zZ2D&-=i0JgQFq8**1X&lSN zf>3Xv%d~B#MP)PMfOzK!O~9mSzdcuf^Y&+KMfhSbJ!Pd?Jr>8N$2x-??Y3)J$EI?z zkn}kc!qZ<2ndIQ-cIrl9ycL~}kQWlG^qO2jr3F(W7&Kl7q7D?x0Zq}sU@gM$J&kjq zB${iqS#jW9Q;S1bH)w4bl_MF4wiL~zp&B*>9dNoKs_q)6gDEx`ieNE8qa)H56&ch6 z%F4EE9d80CX{R@ipd!QN0Od_rC8clqyG9WzPw)b2xLU?Q?;O6W6I-LkHIBt{fp?y| zsYP)$ldh zSX8oqI#wNg%ed)ZugMGvFMx;u9Fp1sn=6g9DK1*EULmFhHhMqTnJ?=AN6V(Lws-&1 z^*N7L0iUi>X%Vf4|CUP9wzkSX~;S z7RmV3rRErw$JZdjcKwUA3Y<$U4shOMi-N`{u*3(NrqjI<_Na*dE~|>B8MCvy%Tmo5 zPbU2G)(h&oruJ0=m{&ESbYAbMZv5zv!`-|jKNpJyAN$&`w$wO3yy`UdYcO(Rj%lhYHnx3@VtJ>kaw z4ThubuFP8Sj7B5w+`Y@KTd(u*;eD1(jaCIdXqL-4r)S5Up50(JpK-(?(22!_pxD20 z$crz2h}U0x$l~EK#b_U;BHq``=NFuvop5?~!qM`8!Eiv+$Rehz6qA(k6{u9lI!37| z;9Wqet3~oYNY>9~UojO>zm_1)2Q)<{CP1Lm(8yfowGE%Q?d$vH$E$>LG@!5r)2Wo} ztExJcOg1f|ldJLI1Imb#?!2d2HUe-YXE;Y4*N9cNnqW}OP07*naRA5w1a5`X(XHb=3JtFX}i2w7x-QXHea8jzUaWzdXsV4$rc$Cr%%K(HX0RNy3YWrmuiu;FQ8>h$kReQsr3Pw=g|$46brvnjzOt7d$a)3S&Vld{iu5 z#6)3q7;Dg2e9%O%q%X7tCvr>I1zXix)tF71E z;8LKZv;|GoV2qsmVtR(sk*%#UJL3UbTZ}2$-yX<)iSq9n*toW@WLtNfJ)4;a&noHL zw`nos_x$eP&wu&Sk5ae+H!p6o^^doC>%p7MXEUaYDNWOKDU~`gI(m#b`97^-GFaP= z7cy`ChHv@JeB!%5!GE*!-|?C88`xm6(eVAh=|9GOi|0o_{R7-SyM=WH|JR3qhQD_6 zf9B9{b82SYHGLVp`=O`H65fGE%LmP_0gh|C(qf1dMZxag4)^ZfV}F02r;kr?O@lE~ z#%Q@%3X9|Tgp<7!M&pvvXo%Jl4YpQtZ|~l{%cDn+_`>I3ON->#qg&57etOKo{sG&& zBaAh~V9-hw*$?(5P3HLFLs_7tTG@-`lG%JNS{&yWm{g{A-P#CG`di~X!8?pI6h#*$ zg4L{oYrD4RF;hsMcV6H(O+z)W8JZ!wSo1vE`7}jjo1W@u|Lo}~(b!TV$$sfrEa${j?z3)c z77H26s!H-(jWtw@#R_=QG!1p#w5ce*>McYPprMp%%fjaV(OL_QKc_z=ZHH$89624R zuTbAIL^c2%QvNdm19WZ4pVuvfl+Ro!d@ofn#we)>(PPwx6q#Nd*O?0;#x||t-B_oo zkut+&3$wjB`2(kn}NvJYyzw<$D3|MKM3d z$UrMZk9b>Ks)wgrkJQRhV! zn8I4Tb0V7RJfK{C>U7_9e-1eTUu%s7C(VxIKY`2o*7BBzW9!D$?K`WHD zDCIdiy2UH6d^KmM|1{CT9U(ZJtC`NuIX@Q`$F18(C~b&ofu=Ex2O|#m_qlWH7H_@& z7WHz5EyhF-v+0cU^K)kN8H>e&t(`G3C}L7gFI2(d!4V(*st@y-fBw%PHj*zK42#*6 zljCFd_V&2AxM26jUh9yxmlrY}ty}D9rSM)H0Bd_3eNy&8Cb9I=DXw}?u0ozWYHwO# zwx8G29p2sh)l$V3T;|4iX5Oxb=-WKMEA;VR7(VZ2`o~y%mah`%TS-%SyWxk7z;Aw0 z`tRS$HY#UdsFl-PX1hGQ13IUxf6~OV0B{k#qdB~F#OrUqPC!KTs>(6CWueK>*JTR% z&h8HL`J72Lk&aw@EmhPV0|V8CYkQAuu3RC^kJ#UtNH4dw)z?_<4;|NUgi4i8fY{~L zN~KvXdK^)8?L(o1A!&_BkzLJw-)9Kv+0EcAcaN(E=J7u>mtti4uP z6)l$( zXeH?+O)A~J4)o;pjdQ+bcDNAb_}-&jgAWY~&FfiW{h?Z7#9<^ ziUITEGye0R_yPXN5B%|KkmK5}?R~Pb8!@*F-Woq-90n}yl7(Hcb$h~mxy9qhk7cf` z90o}{@xiyLbRh)FqG$z-hr=O@xs*pOiUQ|7+uLK#&(A3jEVtY)56m$@N;eT(>KcpY zpYHxVfAh}A0kCKsff9>T&tF>n+J1HHn!#~x8!aztjkRd++1lFT-o3kg?sH$@^z^um zR{7vr%%vjA>FFuc>6Ef8F$HNsq$zC4&dv@uZ{B2QXNP0&B{vpBUDvYj$tlMt$Lt^O zwJOFSIl1G}h=YRz?%un{f%)|5!QBC44P=Mw&Ja zqp!iy7avto^%xkMr~*MLjI&9@LBNcGD|=;P<=i^zRAzSV^0da}=xaKk(h!SCF)G^U zrzp#|3doAKL9YUd)=I#Q-Ce?@Q!N(;N5E@O>5EjZEq8~)2Ft(~B0LHduE2QBa?lA_ zMHTVNQ`;s19>Vl6jY&)xP>n{pNJJ5q0bh$w0!rH1EE;Bu8H?G1s;X#w!+f@A85tQ2 zh%wUCwN#`CF|jbbXmTid&P?ng=Z$Y@QYuGgP~@_(A^1)Jv)6aNm%bumm6rjybwRe3 z2!Gn#^c=@L-Ycyr((hVpl-87OYDQ?cRZ6$ll*^|oC20*(_ER375JIc@k<)BiR!e)_ zbe~c*Kc+H*-8i%PL6dy1`)!l+rJozF?QMfsNMJ;%fQcGyu1?p?*Pns4{NDA! zFQp`fNF(WYvY*E#Jrhawl5yOdK;s(5gCsJl!b+u=F2yMUT{QAsSxZrtiA`b9h89%o zo>NJpYZ42@=*!pDi42Nm4UWb&lx3OHY2u}_lY_y4?d@%1T{D}`m<+e@&M_*sxpn&% z7t<*>+!hyhcIlkgc5T=8&TVcN*kJkBj=zkn(TZ5}hzdY+$YamFUoU=}(P_#^p_hbolDAS_5u0OD)OJN5L z$`Ph0@gY!@r9@~klx0b^>>{*UD<)f8Z0~O2hO*#jY)xe=B8J-3tw?IuWsaq(8Px|E zZ$Wviv#1ExTN>NY=)}N?il96}1x&P<#$cM{^bS0_(!@%@jOwByxPU1X!Fy&?VW>5A zLx|$s&89OJvkO2RtiD6*eUqH^&T$r1cqObHCFwaX2E21r-VuA1OB&~-WN`+9T0m$O zB=Rw7gKPviR-@i}L-|#m#+OY0)k*xdR6+~3Mg(~4ob#-^W9GjbV^Kt00t2*DSgl3F zC6dG_bNl=X)i|v^(e%E{oAzi8aU%r4O8*Kl5mq!c+F4O`dOqHH(anev@$)qS0iv?d zXw!7nQDVrVqu_#Qh6E)k9ZgDK@$_|6)XKOhk3kRE*Z>s2+q7@5ltd|gOldgMp++e{ zwIHEJfE{rPTxy2Gs4_jbDq+0}A6KjSNcmfNf0U96X*$YtT)BXcju6#KN}B2gC_?mT z8kEvl<1vk=c8;xD;>z9Q~F7aQBt6kuv6Ond)*T(&F52Kb%`gUL!c~6VvH=8 zOBvIH!x)8gH6Q!f*YK%d`~~W|W_mVYG#*h+FF4rQ;c??RY<74sczW&hT-&w1Pj=w9 zc&WO_|8n$q`PU!+7QXhEzJ|{}{0z10fuc$g5^#YJ#2DC`Y{^>82|%ieEElt+)f5S? zhTtj8fRB9SqkQ7t&rqobi^fKc!%?O&@yPA*(Zx&LUfku=qhI0F&R8k|QLoEEe=zMD z;JCJpCec^{IE=AaD=dx|?!CYpZ@j_z`8hEPQ=-q}I5|CGZ*LE6U~7A;r5%^0usCkt zxy{3e4>&)cic-CbR8`gPdvggO?@;TaqISNZr#7ntFOIA44!BNrJYWv zoSvL;dU67ZcDTq1}UBFl)f`(;@jS*#60lS>`VG@P@ z#@-&qq@+m{@#$cO^%kc+PCIO{D>dn(3Y?c`9M1PqL1WVORb`b}C!WSQGy&@i25x}$ z1=g8VK_)TH8Z8w2%2Um1s>PC`v@GWh)7g~yY}!VVLKFaOxmtq5t%S`o2LSy}1V4GfM;l{l1YH8_-( zF*O4mAu)P#1rJM1f6v<|A!@Bt+JV7X+p<1Fu96cHppma3M1tCAD$08XXv0b>%vDUeyp8WMrcBZuTAw&23<2Bbk9i6J` z@>!gg9JmO=+sw_f{r&4^zn;T-o9$+sN;fQZy^@yl7ZtStbA#UTq=n-<%yacz|6+TMeGu`8;?FA~U+j{UCMpKyTj z_L%Wx%xpTt7MA&9K{c-^1|q1}-?nel*_83tm{A;c43G3P61!B73?RfF*`j}}j7zj2 z$C|@>1<;Yt)oGRV0g#xggCwV9y~Ha}I3s0Kiv)U93bxasy+&y{#yZfEkCDL=uRTEr z8r4WD$#TTxYQDK#;>%LTuR=5@ypNa0vhjE%$KMvvMMurJ9uriM8tM9S zj;x8AoqAV}qXWumNolbj;}uTBtXyEDW*iF?GJZ%^mPp|h!A8tdLls$GRGgiip%pmq zSS)7D=W~2$&{|V1E2bAymP=VU3GF}Ns;UJy#DNxYLX{;=<7iy9Qa-kBWMQXFAtfuD zy3_1Pj+ysfN^SOZbn-dgj=}LPTLC1Noe~k3E!p^8W$w*+o$rb zS#&c40x=4+Cu(6rihHAD0kN-V?PZ#E8|I?IVC-K1N@NRQ{2w5J`mA1S9$!TBRaZ zd7N8~^yYUWJ4ZP^$HquZ=_(*8DRtAZTrRknTDEs?^5&awaqsR693P*eRK&TOVL2j1 z4=V85XI`bmtVDIMou6yFws&raejBGedtuDNPWgSW{ceul9P?yxLTKi=+M}Y!1y)3e zb1LI-IKoXic@AdWj{lTpmA5yN3Wgt&NzisEAHYwO&&af4T0 zd4<_*Mo|$b&5L&Xcy~B7s#@UeVU_PBQ+!`!R@Waw=nyf>= zKVUImupu^r4(@poMQ#P?;EV{HRggoRvB2A;ZH>-HM}wnt3ZmvGOZ_LFa0%$}0;d8K zO9%m7Z9N~@98s4v{M0Fb2yJOuAx<>;SrAq*pU%m$EI6&sg*f>r9OhHD2@^yMr3_BV z#>NI_XsGfkgp|ktZd9s_KnG~IT*>R@I?5@ktVY`$U1tp9J(gLCkp`lMh!eq?cGBaO zhgu*MP=T3;am>^PsbDsrVQn4D@0rbKOs10{GMO|mQbrA9g5w(j3g-iJVKSLwY!Gwy zjUI<@^cVyy;S1eIy#j2&87z)ejwhI)HB1y2*h;JYT8I#`;pl)N_*O(zh?r(rf{YA^ zm`%nxhtfKv?-c?ieC!uG0^O(kw)c*-IM;@$JYN4z^_Coc+o>DpLSp3Ax=oI?kL(9y zObiujnKi%2Z72un=YHnlJm%hw#7A^N()-pM2w;ufy&--Z{I*mmhxteYeiLk3SD# z`ydF%pBIX?wE<5( zb%R%4d5OLIFQL>f&IjfB#bU9fA`|R#q=IXVppkhmwvghREEyb(`m&dyW@hc!4a>$&h53 zrm8BAj*mG!IAC{YhyL0+LI|pIv3xsXc?GG7tF|_-Om$Pyb*cOp_UX1R$bsNor{K+9 zgeRhXd++gea8Ne4Ht{bBs>+aQk1>%F;-gT8PZtO#q-1S<$mnQT%<^g2?qzh?10bWT3^~>K(n1Ax zVX0swm46V*=fEHlH$^&ZtdIrZcRw%%(FkB^qEOr49`abO>+oCb2c@)*Q>c_P!j`1KrSKGM@jfyoyay2$9$aLy zr1?m<4rF9gYNea@BUZwBycamvDUV3^+omVhN>i3)8>W&%k2>F*G`S+QM1(}Dpur;v zKu@JJ7C>2+jE=|Tc}7_ouHU@Hoflq4N{z*Z)Vh*sgcjneXzae)*5EzrN4TWS3_zy~w@c9`}o5{>jyU$&s2c zQejSTqGq4&>bbB-*c%2oo@6p~VW0h$=)p-#+fOr@PN~a4x%SF2pU)YMMjRaO3KCH+C4 zYuBy?y^iA%{b9^MZ7nA!Cyd8qPEJnf4T>evvaTiljby8F&lmQYYiERfKf%FtfP(mW z*14K+jt&@c=6>;nB218VrdeBC3!-#!WjE~Ro8wa(6Nwq6fd>5{>tpf~+Zca(r2}w!pl@0*WEW~!hOwxH)H8!M(3>AU060a?!^pIWP#EJm4 zG|xhyjB3JGoCwSirPUJCs_SHxWe9z<#x6O3I@c_+5+e-C>Nb;#usC6x>?0wQili5T z4Q({K*4VtHEJ|u!@#^NQ6fR>}4^a^i(N2YZCmC*J5qRo(1ui+Zp$=w~SpyD@$72?Y z8QzC@;Ib?+wTUZ8Rfo0VJFE`dsJ#1z3DAyFsa{NEel(B2bDpks$GBCUit`vC=UJ-@ z;X7pu08>iu>Y8WeA~4}_vCL9Ri~`|Y$f^-TRisp8nZ}01GZ&z}0f`9%M9X0kk0wu^MopV_8Y5%^QK61$iziEr7J-=Eafo6Pd?W}Q+Y z-sCFqqw4QbhsVo5Q3lM%De}^NHOo}Z_b?&oW*J$D_g(tKgYbB7$aBr^?l#x2UFF*K zt4v0dI7zfYQ5|@2_a0AOdy0eM0qbjPD3#$bc%YZ%tPj_?ee*UiKKCLsQDdD&dyiC- z*{tH|V2rf_XC%7N;4N7ea@OzcY;x=NP43=%o#TUhcpK2!@$nH=QLva#nT}6zyPKf$ zv+fAz!MiwV7Auo=wNh2-=<_C!k7#~P_KD=@HRp@#i|!G9=TQyg5!=t}ACFDtPR;0? z%bcAEwLMnI(~j0kLC!z^9P4HvmHzDU32#BJjk3egYCMqt35(0>e^DyYV;sS#Fcqx95M^6fittgH1{7E z9ZrTPA%tH7Z+se`d>E>laG6!ghwnT~=kZI(M#>Wr*cOOZl+q)>Njw6dOZ>v47dcK_ zbg6?_r~v6##-PX|5wT{3QApu&giI>F)@U_gQNDun3vhju2&5D#CG+_-0GYi3gTVmn z48~T-fnZn-I2auA@oOLF+VmPu+Dl9>z%Op6(nt{B!E%(EGI z&A6Cw``|XcX%SYBPaKF4UN@c0sjCH<)*Oxwna^gFiy2j2VWKt$E~IU(${-3_mL;_b zIzh{!a={t5E~FVYSgf#3+DZ{cEt3-$9POB9Gy)?@G;}3XFDYQp6WWCrLHsgGUY@zy z@6YI-UB|y^CNX@;*#KAwsRG~?pLZ=nW)zGIEBtlPOt6uak>@#?l2|WLQczn9){!Al zN+Z2!+KO|Y41sq7sZ*$di>XUJQpGV%#C9oUGu|p6g;$-!Ip2h!xH@T*xcI!nzowoe z5RpI(;~hbX!^cW+;T`EBW5EP9|9Mq~FinvYurCprA2tG6NmMs6Iof|hg7>!BCv=}> zz(Y4+jz5>dAq5dsP~;*D8Yo55Gzr@UF)T#}HiQzZL-Wc=?>#~W5_t-9No@mKW>_XA zPIxjI-o;C=10Uay-pA(~#`Ew>mN;i=n@}7#MSHNb4w+|2smT%;>U?-~7Mud56AQ(~ z6S>INh^(dvkYp;Ob~UCpY;0^$RTa6G)a9Ha*SOkZYl|&%Jd#E2n9gbjYa8qz9J0H8 znc@063&H8|oC~ny!Y=HI&Ea{mxX(h)P!7t`0-0+nV-Vi4C@1JFr{BxSiW4$rxOHQP zqA1wBvPC(okyxx*kgJ@c*Wq{s16kONlJoBQ@ot>(BH27k)qQo;}05 z*(b9g+Cmx_6-#e&gj#Jzj>SYKZ!E4IQ! zN;ssD^!t5wcXqja=`ydq`dU;_&#CGPAqAu35qo=k>|WYor*}r`%~U6GWyupM+)_3) zZMm{i^=pyYaS>kj5PJ-Vc-sLSmQE1<2^HFxsZ9HODns}CBdiHM z>6R&hAq{gQeix^YTP|C4CdKma-3%(-dtSOHLPim%Elzo)TiI;|pjl#*IEnBf1SH-6 zVzCHeA2|#L14OS!S(eNf^B_*C+KEQ5*Fz2@limb?OY_~BG3D$^>{or1)fi=%=2LpI zKmdzufs5fR8|4O*e8T0~F1=|lq=KC|%)*cjHM666D9d8b%!kYlQU$Th#bVJ2e>z*Y zdK(>~Pg7T?7!*O@!eOn!df$XGxU{Gc9dV%1cJPF2KP=>7mATfvUc*#a1^nJZ-3K32 zrCMtsGKNITy5d5n7%3&zIz$s{5X3LL=Qyixb~QzSv$GdHtZebwxpUYQiK*CtQ7!>W zzDW(+wZsfaOdF|U$cAqg=A7kDE;{0&DLriWxMshmymIMrb-QA?-?r|~5+4;lWVk*Hyb)4R zM+TE~iY&`eN(JVR7HF^0N+Pq2x-Oe*2-#+HDS8D}S+bZfLWoWlbiZ__+30Uzsv2u7 zna)522Fz?e=kVYVB^AnAsycvX!{Ly!{O(>IqDI?GW?v$L~Czu%{dY1*rK&0;nSa{?tPR1rS=1tIT>BLsWXGSfy11~n)-C{!&k#FnAvw)g-WsWavlt!Sm$6{Un`$O(t;eNQ z*hgoI-Q6v2-MY!0S6}DBgZm-9nhldZ1MKhbv$MU;$;pKNV1N*cH0P93vc0{-&8ME? z`4?YfHk$%OfTLnO9&_i;JuY9m%KFASd684sbzJEy*xB9X#?2di{No>IKC3&EG0%g& zd-VD_W%*24O>9)xJ5$E6)QyWPu+DqDF-R$qx|8(+Iurl5cH+{O=gl#g-c06_6gu%( zV8`2?A?0ndrLN;U{@SCSXS&}M9@qq zih}uk&ZgLGLosyg(!yC+Spp z-$lt?cMuP31EoYBVDj6Wjzr>phW;Vw2#^oO(=Bax*rJr!1w?RTPrZeFdPos{-OfIMyUXPSZ5pUnqvirF`v6U*qg0NOo>0n)HPdG*OZKwS1q17|*e(E$&tQ8yG!&togmq(D zALhvgwy$hbssT+#l$$qi@ZiDyaE7>Qt-WG8nXrGb&-IfNb}#LO6|6XU(n>)gxqj_B zSFc{-#TQ;^Vx_GL^zG4T#DfP9xN`Lp`DTtVBF1t~iVSCGOtc!$feRsw!r) zkd5W&=#Y(#4f1}`iQ(?t5Fqh**`}Sd#^AJGjt_ps;3m(Tw|y$@EdU>WErT3y*dFtK zg%AiOpmG#N5kw=cqpl6s8l3eF*S}?cL|(WG^!%!-I!=GWH;&pBh7up?Z%iUR0RT|u6zHesKt`{ zWCQ4Rv{^z@o+o0aou_?q_Wk>%zt0o!^s#-kCgZ!$;XO-rC{tZ^!NrHvX*gyX)RB>; zv3i_pjulPT5JmcI862%vifF=4(s6GF*iWHDO&y%Ey{m;GoBd^{j?(j81v(Ol6CISu z04j;i!vtBV4u3|FpR;?}L}y!z^kRP`9GGb$sg zjO64bzhNeB8w|KH9|;sc6YgT>lXL!?PH7~&+|wNpR-sjI6gk+=FOTy z^a3T-hY3ws;ucHyD22dBu&3*Md@k4%-|OcZ$ngjZ^Kl=-un*ttdZ6}GVGa+%4I%Hf4?qGfzgHf;20gq7Gj zI3HRmgp_EVp|xhbSYS*DOAAg$hI5WQ&siI;VYQ`a3OrEikQ!EcN#=AA3RQI@80v(h z(qZBvy~GO_zz`?#c#JZ5;pvw>RH<;KYtl*2PD=Ln_RtdggFag1+`o5^*=)*uv1q{H ze!svviz#c$vTQ&OkwhqyM30Mtl(eaJt@9{P^IT1Ikh>MCWB7*1T1T;KK4$wcb&Yi) z4X-DH4MJce=-^|zRwo4>*$CvGnu3bRfQaRAXN(15oJ|gSdhRWdytJX)wtOqhix8+N zOc_{qs$n&B_fH`!4JaMc$cEcn0k+SvF5_Xf?h=sUR{BA=?2X8!UuJ!Dw|CE+(xY~P z1;lcgi(_SMmdnq#WlFSJbyo{}_@L=^KrkCCxz=UuC7zC$NF8!&=? zzZXLJoNq$OWT(}+xMLfJ6M>Ef7iv3@bB?ksQA&lZP%B|yU1pE-_SF3)umeK4TUFQ8 zWy$W&E~D|3z5RV`yx!bYI3<~9FsG)MDGpAK7_MFBAO5rN<+p$1A9-Z`T-b$O*x4q% zWZkaur4PQ8#omJXY|dgnXMKG=q!d>gl^2{Gk0=k1d3EoIr@s0r>ivQT2P5io&U{fb zpUnZ#^*D@!{SChQ!B_D!n;*w0+psedo20_>AK(2wY?qh#*Oz~ocg=6|da-u_aD0~9 z1%u(xiL6f~TH(itU|k_U;81h&8rJv3PuZ%)!9{moHzYzZO#2ITz@`d7g3Y`gJxo zo^OQTAglyVCKC=04%pk6}jbpaCL9&>gXn?cuux>z+C~8^VVSx?((m`{(yg%vG$k=anMnaxm6qg^oC!4H;_oj{ro}mQYHCl$)o{ z)?r_GkBuQXUHuCoWCtK$)--CyX=_7PT@te?`2u^n$XR&g8`mG~9 z{8%i6RQ6SXV)ee2l9Az(fB}I<1(8>KIzFMhU&toXW|~RaOU~S1v>_%CLVmg-Dvb_C zrxPX}jxLyx_Dukg@Chhrj|rb=*U`g3le7L_HEYjbrBy1hE=2;@;=aBEVx?lapa$Cl z9g!K;t*-=-1zj#3+mb*!7nqveqQvuOSwk>PN-RL7atEXtD2%}s{G0li)yY~8Ru z%Ce+i^q20bu4_K|Q=jC$Uw5024_`U=-Y@LJKG!WVEdh*N1`xhr_HKULgWt-PJ6G5{ z-doC0WvwO8b8Kzc+1YM1n$%Qr>6uGRXH!m0#b7ujQ(?T-bzE>5^m%#kGIu+op*jf| zd&w=c!@EcC=F-U(hV_vD?bhErl|ALcK6~s<0~{BNxxZFy*}L&hgjFLSSDze6q0m{N zHd`C$_-pHy>o=}(a&pY!(Gf}rY*c-(s*1h6J$n5fC&yRW-rc6xA9MuT96P()JoVHK zj*bqnwnhofY&Id&1t%vbj7B34j}E!kze3DRkCGXg_FTVqlV_f}&B@6zWmPfIJ?gq< zI-PQGaLE4tK3A__iy9zl;&(QXqm&9Oh1TMXMd}Xa_dI8iWkSdstM*4tzB{wBGt2ST z02Aj4y}jM`My_^Vm7M}=oL|0x5O~Lv=_WoZOssQ$DFj(BV|{&{#dL=ElB!DNgy2Mpg)vlBg_0 zXvM}x6a^cdP-Hn9YwH{zACbw7x~_4?(9a7N`GQiG;30DX)JWPI;W`rSLRJoKGpwxX zm%&MK(t&U&r%_c1l~6_@t;Ee7&V;NN)A5w~d;)~fk+LjV%%;p2b4*=F=1pAvca}Q- zCY9&83isMr<_*tDcn&ro9J$YWxc>^yz`dog31! z%ob>bQAN;Kkpza9^8w6D;7<$7EHj;4=kIvZ@Ug<+Xf!M!2=sQ=BxI_0K^u~?!U#!V z|LXnAZe4c%UbT=YnN#6W&0U=VZl!ZM24Xj@7gQH}bfs`6VY`$d&PB`qLhliyi*J zz2DE@e(DFgqXQt4_BW557+x5Fj1WUmX8hFK1%ul_>&vaz{|)M4T%Wyl}j>-D&O`!=t?{yK+;he#o* z$}*%;tZT-TF%RxPU~6+@35;+)V=(OV)KgFK(n~Kf8jZp#p7#;tm^5X&-YYmOE<9Ox z0_P%yT)tWH&tI!{foPsGZ+*zCC_$*eHb@pU6%vh_Hblg?tF%f>v{KYn2=iKseQ%^J zB8x(@tjW<7qWhaqooVV#L;BqhW0%OOq^Z+rB-^ zXGkx|OwK%?li7@{&X7*VPk~-&%IO^MJ+tYI2M_khR0uWj&NG|Mn4XM-j!L@Sj?*la zM9T20tzszOs+NZ6{Jm6WA)-b`1cJ0~!yddxSRa@c>3j_{B(x*zgT4sDH#!YcnwTcL zjXk!s=akmsWN_wv1VFm!&|CIM2z8N82AvSuVK5}dKn#J9GG*~dT1xR5`*!@5LSmDs zs<((bumqO?6@16>mJJJ{VJLLOGs7`4d(0aYiVG~hhacO3B(4?ARIB2eKK|xc85Yae zY5|7jYq+MnoX@rsayd+8RVSsZ-_g`l0zl8Xw^XJiGU}Z>wLKi~&jdM^Sr%upRg&gL zOvx+ScAU=Tyl(&+?;X}hklF`;XchFSYeQDoWO*K#LOQTHgqJZ{ns076u}2^*$mDqt zG)D>6Gflr3FdB`P%IuwwfLa@N<-JF1&3v&yNyXkL_xOe{`w)NQ);~F?X3w^_6NE_P z-{%U*@mAO6+fjdyI_IxdP%7QG^b#X1&&;0YYY)GcFTVH1Y#eWp%{{*K%n!%7fZ{g{ ztF^T?jI(H^$nr4h&`L2M&zT&LnNBA-YdD@v*nVmQDSH$$r01SiHEYkW@rSQ{8$WpS zAF#KQA?3He`de9lunrCe!#?kS{{4KD`u+U1TR-sWsHV?qlU{b-GhJQ7Cu`3lhSk0i z`?Lcb!aqWG+CSW*dejQ=Bk8H1qYhh3ag76PTy;#A{Er|iDDc9C)iYA;s%JPHkO{@p zw{J6_&H2P9K7qqy>afbOHeAD4!-EG8c;=Z~%%)Q|wtFE*y$x4iUtj0;(@*o_i!ZUi ze}Hv0ct@W1@Lq8D&Ry1qYd8T zPHZ1;;t~D#(F~T;)@99{Iy^agk(1Ww=9md`y=k)QH&Pv1+u3wrHjskWo>=X zw4?EO%-Y(J;d&3L6&~64wYW@M&Mg+tcznW^+d<_LUoTUzQ(1fx=Zv;gyPfCn8b>g# zNVh;j#42O?yAPG-fjUAZ$u6kT30LVt9X<-1%J{qO+*@FEbT8r0X{T-Zg$1ri-1G4I zo!7a2`!<)aUSV%+?P(u$Gr5{V1^FBeoO zgcm3Wmq(XTRxuq+*&1)5jKX9F;XPTc@UMETv{dB+Z#}d5nBjU(KQA~qIK-F`PUpNs zDUFmSra|pIBO$@J&Tpvq#N6;ppQ{dH(h5+Wa0X{>vjQ!oL=oDw^A4f9$2z2sVM8Kl zdgO)1*|19Oyr;GSgj11W;bTaN7al7deuY`E{6&$ZEG?b%sopo^QmdWmI(^Bb5|JRT zd#!VJVA2u8SysYj zLKXT}L!%R7BD@P_l#$xtX^;{x6Td6gQ`7#MS`A;D@iK&=DiuIN8%1CfP-k(}RgFmZ z8yPg|bWLbY1Y@N?&2mZC3qJ<|abi7s5s*+38A#nx+If$wUDO?68O#NYshQ732v5-h zji;vz@;pZg9~obDY-b7dYXMW|9M)G9MFv{3wl-jG)~DYqI2um?Nj10JeeFIwIMR5ezj7h2`P?$F2GnuV$|Tfx!$g z^y^H-7>`@J_b0hu?G@T9OiV{EJAZf03CH#7GI#U6$3FL2wrw^TtLd57Shcf2m(>WHicrk!GF*N5%L9B-XW1k98>~X<9?KD;xa=T6HJPPO%GJ+AZUERyF zj7(=(Yw+GPozAEiHL4dTNK%L>VCb3^>`duEb*^o*-|Ap>Wf}kgAOJ~3K~%Muo^{&P z-9;{cPc-iEC3+dL4>YIlt{|U%hv9!m6b6molO9O7zNHUgID{2g>AD*`{{$^E(?x5d zfMD8R2*Kv&CR%AmqY>lDB!+s#muu>)K8QfdGbr-m63ZGW0o(|6Y_!2>L#^s&dkEW* z$XY@VY-yW}HhGa_s=9d=RaG{cLDm|yR)mzIXHO&_37B=*3INubzyi{$>GMj;h9TgD zY?uv8=jp7Pr#ebtZW@18tn-?BDVs>c7Lh8#LXTkyuxK3HG;vSk*2>C%yqxMxK}2+_ z!{3Shk{r;M5g~*`M=htMyRvj{AzNlba@aczmo9rI{Btef+4=1(YXF=#Y28qe)!&+H zt$-V69S;c5a<}1DMV;v>0XPXh?&kJa3$mtQ_VQL49OhKCS0sHZsn9AinJ|(0v0Nv09VWPWUxie@CX{1yeHg|KXW*Rh zuB7o|odXk?8Efn7jqZ>4uF(aWFBV}=(#dk;oM%3pbNuoV-|*lYm|XjZ9A*_3OW%a{ zKG8D(4t2~xhvRPXQhVQM90rNTW1ByUq2zjflRMd~C~|UN zFc;&75}vH*3SQ1%;EK7-R7RUi$XPj=dn!Z z0Tt(&$DKMxlc6GzT2U>539Dex>bVHDL&<_)>HWK*xTFV*@Nercd8HqQ`I4JS_H-= zZfWdoG?PRsR|uO=>~G-%bMjz+A1Nh81R`r=ky^8NxF7l|%l*E{L)N5WuRv?X$;k+L zU-H$5U&W0N-Qatl{<|z>#hrZrq4k*CJZ5NX`_RDl=((J)I{Fa5y7ugwVg#)o(>>Q4 zIiK{B!i9067WFAjlqWUq0?1X$S-L{}|H&YSO18j70yoYANfZHK^SGrp`{p$`J~a#7 z7xp&U>MC)vBtq9r8RCjiqL3!aD#Fq47hJu1nRmYPY4-Pik?Cwgo(=KdF`dp(N^@{< z%=+39mo9J7&kC|U2cLhvRKSm%ojm8tg0A~$L#O#bN$A3wstnqna0%Tcia$uBk|6K zFqN)@__o=j2BUL2*r$oM_*QFlh&SjgtghO9s_m?P<85Fk6upAAwLS-jhj?!(t9fX5 z64IPUNQoy9lUC zo?F^XVrF;*qE-#q;iW_hg*9;>0n&G~S%^khG~Cxpc_IiR>%gem+S$el*x%o0I-8Lx zMXq&loSX?O|1Rh}C?T;#_LU2N!%7@_deJ%=ghaCiwF+Z`R|cGD$|Rh?Z+W;M#AC;! zF?p^z*xRGuD;Q5kjTmOqT?j&;4lm5PAtzEPjH#FEc~v7KO}uPMjfq6X5EI{Bx=JhG zIOv8C_}0Nsz+0&A_+yi?q9PNj(Fy5drH|7!yG(-9`Va}=kmrt9g047dCv>HI4y78P zBWZ7-WWyQ=*G$<&B4fh^O$L|JCZ}qN;XEnSV%5oR|CR*S$;0oz4X+8$Wz``N!Zko9 zk$vIM>}jjlU*39FJqJt77`YUJ5<-$h(|^)@z$_I3mfD6o%p#y6rH&v&7)Y(?glomJ z+7v=n8+2(wI=nAY%CNn;9?main9HnW$EoW&2>nV$S(Zqx7z_sFMM2RkP)Z|&32Z#? zsHO{iKEUFsYfG*|$XGQS@yd&z5v46}S&^7nu2`<-0i6 zPX_zWCD%f_jCUp{{Qn#r&E;FC?)Cj zd+-|sf9-wW$E&?3clQ7MulyOdKfKL&JV6P?-}&~x!wZAEcs!$QLM03uN$xT#8OG(L zvEc9+VYyUqHe!?8W{oeJypt={6~6Jueh)wS8-I$wbMqhbLiR}vHMz^UUhVLDvEPUQ zr}JyCn5jjRmE&Oy0EZ99dCg2z5q=U&$Mk&0OjKwjYc^;}RkCi*|M&m-5AefZ_QU+} z?*EI&Gf{IcnGF^q+~-WTnZ|-PRSe^dBHYqTv{&R&&+32pTi?ZaJYlVu4efoz&HYsS)SvZWine(*ERDxib}^6&S|m0)Fy%9z}WxV=}ALBivr}G+@U$OlgN_%d9n_LI46CrV|eVOICl^ z$cB+*aHjwg=PR6WO}o+&dN>bANo{dpd(70L*-!ZNP7HdCU0^5eBfV_qc^3?h3wu-M zT~L-^Utj0OjhpOjzry~(K4c*yidR8s@8sl!{eyjOOfJ*w_gd<(k~k+B3lIe8H{{B9fFJESJr(H!Uikz~PY;SF`b7_}5ckck4$>P`?t+TbYg%lEZ z&gxt%z!sbqXWf}Agco*U$r>j%El~;(N-|tqOpavTro9Aq`1rS2My0zsJ!JR~6xZ$p3V_Xmu}CrqYMs59wuB=&|2PLz}?Q2IMB-lYjZs**SXP%dSa zkVq#fOaWeCl_je(^g=@&?$1=F$oe73vYN5sTiOVUjW_13PECEb9OnWe7lCE!kU9QN~= z1ZS~k5>O(A>})^pKHD;{3R@;qo%=dVM?%GC58-(QhukgQtAr)yMFKgxrEl3M#B4z6 zGdj=GFFA*Ar!6rHTnMc>E2GJ3*ka0B5{|dn6-HP3l$~K~>AJ3U5S({QZ8(X8hwH|= zijGUy>2jU(C+3CXY@t%A5_4o(TgKaEAS$J|%`%OYiYyDyd~1870T@q*^Z7Y832M2zbyWKhytk!2cV0!yQ}RWO^+n(GdSMPN!v!F)F7 zwU58bZ~FY-z)4>5a{qPSKYs@=5B8XD&nSK%=bOuKL_r?@|=Sa>gTIHl2~> z8Q=N6|9Q)bdrYR1zNV2nWJ9VJC4=FRa#2z(D*mIt`3Lz{^LQ+Ulntr!6+#Hs*Vah| z^v-kguSWdIpZ;TybuMW8fpcN}n~6CR!S>B9zWwk1CkU-5=Oy#1L)fA=py?U>I>oHb-wM&8R&T4A-}{r~)n_#XSd5c=dC>znHweB~kk&HMfm z3mE`_N*F3-xLR%VM_>MSzTm@Oz`a-QHvpSbs%ifLsBQc8=H)H^=r{jY%+%x*AW{j# zz~}to*Zv@1^nZQPsqtynpYg?i|BLy6`~c2|bn5H7>wL?%{%5>nevRk*Vb1J?qf()) z8`U}sRr0rg=x=iH@`Lag;$;ua0mI>t(eWrOMA#DWcvA)ay7;_nYeIXB{mI0n0;ACg zV+^o&wY^5of9^<)?<4O`~A?@{Sg1+%8#A~IL@)2%Q@B)zUJu5_~ZZPkK^lD z&#^B5@z?xQ{?V0x{?Kzk0CtRUynAt*XM3;k#gq5(9UuP=HV#Ai(t`Q-fADYc?}i^^ zrULsS0Ul?W6OK#uHqYfR^TE*<^PhhF57VFbmi7@|@WS;M`JQ+E6(-W0W+45Q@Bdp5 zAH^O~L2o;Q<54mEk2?I36!SNE18=f?Z=0QZZV#VeCYpD8)29Y0o0nyp5w$Ci-Z^{} zQ5=uQ9336X=4`+Eiif14nsljm$MR|3#^qdQ=cKFk_LKA-2&B!NbaGW(*FKvH=Oq8}9XKRq0 zS`qJ3m_@tJx|*i*NzJ8~v4e^3o$~ z!Tj|Fy3pvWI)t_u+TkMt8;K>MI_*0x^m_^QRPy>KUgPj&&b@p0**}_*e_%0 zE379c6K1m+Pe1(*e#?LGb-er)ciHb9aCLUIts@_Zk=kjBx*#(dnbA1unf0dB%CI@z z44D=@6yqMEjG%x4JF!%=8S~kk@#K*Ce1;;h%*LZJLP&a9#_@4Su*`+@z;#^)r@@AC zGmSB6ys@TgX#WsG0kSNtX4Q4wOf-VS;jl3b&qm-v>I@-d$o|x&*f%#XmVQgu63KB) z*LH0-k?<~vnNhG0eTNF)I#JDUGO%EjQcD^X4S>)&pX`W+bjP3OQ%drfHdo0o3C*&M zUayDFGV&M_r6LfNlFT$Kc{WUx6Vt%hMaY&FnS3HLep(Sr-|8?qkBO6OV{PL+I_EIn zVy(jvG#iYw!TDV6k1| z3vjp=;8+1bmfApcgwy$wk{-Ltv5&gSMO5P*TIs#sfF1L;v(Gw5mh{XT2GjE#*A>T*FVVXsfG-(ziKBQQzl3toNs6`p_PH71iORb?=B&9$pnDT)HEH2p!J4INgg zg$tmEwIv_?@(=RiZ}}yDY4ZiX^C!NIdspsJ{p*6C{^_6M+SPY5==TAQbDn;`7ac9x zvXX?Lt}Ua{h)b6)#b?|R7Vc2{yF#oC;)^x6=_TK?;mhMHWrc6zL6Wz}iaaTm~Vjr*L&z}1< z_oNgEfsScO$I~gs+7P-WM5BMARS50UdRYKFmH8~4niQJlJL6KT&EuPWWSplaushXx znwJE?z_wYmyl-CS&V{kW#xYJ3+J_`%F$%0LXWbGDB8B19rjCN@;k$7`&!~!zp?0Rz z=WD7uj89Hx0e~pO0!Dhy)|fEnbmnI%tarIBx7%02b|GZbyt{2q#c)q4L^FR%fN5$= z(uMc+?#>4NUXNZ}M9Exmuyv8Mxw*-~B52n**kLo4+T9iP8k@k3I`+|ief z_-pU|-+8Wohj+}c^NGQ$T(5Tc%Rl|!GXBVz^|fKB6B(GGLaC5EQ^$7Imzb#q<$3)} zUgs}-!CwcU!Ujf(7YuEW51hPpe2?G0|3QBDi{HS`%R9KKL5Uy`jp96)2!M}$;A8wBw|;~VuYHowtFB%! zI4*3(R+o++>yR*b1Qy42UU*@X`7EqNJLj<0P}LRV$(X~#11?{_%uX+MR4FmWqP1dc zYnx}Dd71|g?vv>P8&fO_A(+qS93CEWd^BP>93UghLTN=&6zpEU#Lb&GI6it7V-2DX zWtz=r9FL9}jYiBT^WZ#K&SY^cQ-otZJefa#VV`Rj9Xwo^c!>;*@#IAwV%V+4so?C| zD#WP=7DJqvrqk3R?Q&JuxZ05ovM}jiVNryx*=ligSKCv0mTa||$Ls^0Xp@iqQdVQE4cVgr z@;v9{^1|77H>R&QTk4rUr(OKnH+` zqK{oM%C5t+>L@oXl33R&t>iWU)XISO5CU5>@n1m`z4b`dvPIHF-1_AVApQ~KYd2)2 z3wWgOf!Wcrdd{*mX|=x9SV@jxH|t5zdKRor8B=ZMenbrm@YYv2EMd#A<9bw%yovV<(M`#!ebHnb<~i&v)0o z|G=y@IcM^|&wlp)?bhGr0|fhZY>(^iXSc+e z&DCVFp7iN+7IIzSzKvoy%|eDXFC)SExuvzZSAfdOF;UbB51nE8SM2?^x?R)d58&7} z8+(2FE~GuYHi?_Mn}{K%1T0y(f%d7KCSZb=fcckH%x$FcS9cnij6(YB=j4use!@89 z3KPM@sd?+vkF1-<~+fGBdXt3 zK5(tZ(4FnH%Pv(EKD?hHsz@K^f>Zg`y>{;znuaZZx?cED#|Y+dF#WM7CyJyvrEJXg zTQWpWnX_JbLnO{q2)vVw==Hwfzq5pZPl#q&iK4WWh`i-A2-R^W89#XUf5N}nLPC`+ zd4hR(`AqgBxSuaS@`VY(O!YqQpTH7>Vtl?%V{RmP?AsPL>{hY%bT*(D&LN_=IQh(Jg#y*mFB7l(1G5OTdKt zz-x+XG>%%~coykA@Hl(xrgcabd1;|La#2d`@TYxb)c=4tG;z^gg`%!1Y1|y3IQZ!I zxTWS!rmJ*DI8&0*B22x!5L|kWF8J*ojFArHoGCS{b#AD8q=CPi z#6>Afzr%wdf;E>gi?I4lxYh!wL%{nSRYzr;t1 zh>cHZNF~>sL1TK522od=sB-j;oIJV)#^1R@bCe+W%pJgEmY|?DfRvA4HZ`}?Ca_*L z5cpk#I)0RRXMN6r!8edjAJWo=(i9&_P!SGFVj={O=#JeYkz;MeI0*|K`I9OAjL@@A zD%;cg9NU%hEu|K21 zLeC7z$DuYoBByD?b8I0P*uI(Ts3t|4OG`KATfB_|DQ&e?ht6NAGNY$`vs9*kCNWIX zL>GNt@Z<@hU`3dpkmLJc8`hR1754{?^qqw2(#h6BYYHhM5&FTAUMQEOitX}&Q529a z-!TG{j|R4eIrf~f2`fKma>7K?_|jn;(m9c9GKxBxbqI1LsB(a4=Pf)P2a>*NtEf)E z#mLj)pP$sm$OdWLwoweF?kAg(jzWMEX*GLqi94j``rp3v?RPu&P>(LS>7bxBrg6}} zsFA5Sx3t1?rD%~SD?=-d9X`jD32EWsScfezw`HsMC0VIAGc&>n3<2T1y7U8@QUVn+ zURgz9>k)`;2zmqbg~j;w2h71%tVPYKfBn!S`>dZLe1Lzw7u%@dZjW~Y+dlF1AM0rOFaq9>%Nl+KUK7xHk=A$U}Z{AOa916(lD>|oRO*xGW**?hk`_~6h)Ko5e>{GCrNJKXXqo*@7xU=8$h1+ueW|X^N!7}D zjyzg?J@1;>2%FLQ?s>1vffSDYslmrC&(d6XxxPzGu$i26lO<2uHj*)4_>EB+5_=OZ z^mdZk>@WvKT$G8OM@#!zSr_T~vek!2kiXV!OdKjQ9j~DB_m-I={P2;XGW~D?JW>;! zOsu^e&&HyKD@o^BB~!7-GcN)F3x;P=dUa*!DoIik z(BBE+h)S**-VBCe{%8)eM4i(|0e`)wNwEf@ql?9!r7yC(+PfrbQGDm3Fl3gTi&u7J z%!}ep<&Kc~ANk$fQ4N&xm#_Yok?rbR*@Kh5%-brOo0@_e?#YVtUyV@;V1I;~TY*a< zeM|=GTbeCo5i#pc2D!{Vcf(A4C?gAy@xm>9B;_0J)QmCNEF1KuYHNcwIlH{YdvY%E z&@F+>FDClq;nZ(#ji#S#m-OZblRjoV&U-^qx9`1xUYXU?YSQC@p?B&4YoAT`&%P>J z4ZcdDIJX!)&{c)mG%xXO1EJoE!ig`ceC1e>aNBP_O@`7LQB@l@Sq+%hkKFj|hP?i0 z!Wn6;V)r#%KPTf?j7I?mz~iUkwbWc;S$ z=%N_E+f=Uq@gv6q-zNmpWtXMQ?l965wM_TcaB<$uGG4SiqylN0r|i-fs?Q^BH$O*} zC*r4EXJNn+ak(;dW>+(*^-tFn3N`LOcsI{0Mqr<9 zKQx@nX{m5H9a{ifwSRS$=#%V2HV~|L+Q&a}n*)?Ko^P~0SNNh)ML#7mMhB03{s!tP z0I?#q63-nmrdEj>JaWPG>({T}Wlby{ys{QzmSZlKEWM6@W%Dd;%ONdl0VwkL_>gxO1IFtgnG&f~B%}ExF70fVG5!>mh?g9A}h(qJDbl)t3x%=+21l!xFOZZ3Ud(NF+RN{q+S>PBaKf)z64Y{wzeC%{9 zW`V%!A%CSiF*=9=2hVog4aNL^()a#dvjWOp5~L*~ZcUJ%%G+cowKYCINo4(X`la*o zTQB#%-u62VDyjc~8`r^H@hiY4u){7=plyL{6N|wK5=;bp>7#{(sg}8;O)11@Ez2X~ zmU4P2sM7wdI(BFvY5+{@%!DH^=>7s`JW7J+&0ks1OHvYNPq#j>;VY4&|8Csa9=taRLdS2p zNU*{wirIjxLr6JczM!}!Z`H)?sYm*k^-9wJvq2h*sN$sDM*C1ds`M0jckjg=6Z*b? z_s2bD1FV3Wyi&5`<^pAGK`mJs1pC)t87{(ho}S=q#G|$9R_r-{b$p!S5v@QH9kT=J zPJ-Bm7V)#3x)!wcote%PnRH#kMVV>!4XykLu4G6ZC;)P^qk5XP(I=Cw>z29HC-vqB zSrOAGJKtjs-R+*8TUwWrhl{U_^G>AfXuzG*$)X%ih@ zF*XT@EcM0WnMg6o;Y^JB{QtcG8}nWYxqCQjrYCGWpGzV~t7RbU6s+AQ`=qk$7Pjx3 z(je&3t57K4lgR8CPUw`AQoUSCCsuF1<93$18`MHBY|K<$!SAXx7}Y5HZPla3RqE(q z;-R`?&VNlsacz3I7s$y7&dvr>jlJ8JBta;`_zS1^^|@mZijRy?dgPn3Uj+LdqiH#pS2M&2Cu_@* zv~4q$$~kFr0=EsRWBm1@mx=QkjviltZ4sY)v<3(~rDuOlB;X%APe7W<1Y&e$i{+Gm zR~v&;*92OU1o*^^GDGsjkQtQI0)8Ck7o{wude}D^opsjg{n1}>Trt>oe~p>M+^hS; zoTYGZ!p--?vF%!^t0Q*E@uDkzM^5r zEdr=YBP1I4R%jnE�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

      ?=`K`4G7r6XxTa6&+O1hjSX(*V+BR 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%0AT0L^*Pw_PqHU>QJn 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%0D=pL58_*c&DT!!F&BJ@;dOdf?!9 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 QTL1t607*qoM6N<$f+)uI`v3p{ literal 0 HcmV?d00001 From 12e843ed60d466e45f43e62b32176066ee645cdd Mon Sep 17 00:00:00 2001 From: yschimke Date: Fri, 16 Sep 2022 08:26:54 +0000 Subject: [PATCH 254/422] Fix tracing under offload. Currently doSomeWork is never closed and so tracing is deceiving. See https://screenshot.googleplex.com/eZDzn5APpBNnhe5 PiperOrigin-RevId: 474755816 (cherry picked from commit 06230f19c7e32728c52f71eff4243f52f534b9e1) --- RELEASENOTES.md | 1 + .../java/androidx/media3/exoplayer/ExoPlayerImplInternal.java | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a01f2441e9c..c747b73eb04 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -13,6 +13,7 @@ ([#10458](https://github.com/google/ExoPlayer/issues/10458)). * Discard back buffer before playback gets stuck due to insufficient available memory. + * Close the Tracing "doSomeWork" block when offload is enabled. * Downloads: * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java index cd2ef713c20..312a9c67ae8 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java @@ -1092,7 +1092,6 @@ && isLoadingPossible()) { if (sleepingForOffload || playbackInfo.playbackState == Player.STATE_ENDED) { // No need to schedule next work. - return; } else if (isPlaying || playbackInfo.playbackState == Player.STATE_BUFFERING) { // We are actively playing or waiting for data to be ready. Schedule next work quickly. scheduleNextWork(operationStartTimeMs, ACTIVE_INTERVAL_MS); From 85f9ce3e7481189eefaf5bcf67480c8209c664e2 Mon Sep 17 00:00:00 2001 From: leonwind Date: Fri, 16 Sep 2022 10:40:19 +0000 Subject: [PATCH 255/422] Fix outdated command in bitmap/README.md. * The command changed after creating a custom effects module. PiperOrigin-RevId: 474777823 (cherry picked from commit 75141f3016ba0c7072d1561b94740201e3fb09cb) --- libraries/test_data/src/test/assets/media/bitmap/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/test_data/src/test/assets/media/bitmap/README.md b/libraries/test_data/src/test/assets/media/bitmap/README.md index 2ad6115e369..f5593aa648b 100644 --- a/libraries/test_data/src/test/assets/media/bitmap/README.md +++ b/libraries/test_data/src/test/assets/media/bitmap/README.md @@ -23,7 +23,7 @@ To generate new "expected" assets: ```shell adb pull \ - /sdcard/Android/data/androidx.media3.transformer.test/cache/drawFrame_rotate90_actual.png \ + /sdcard/Android/data/androidx.media3.effect.test/cache/drawFrame_rotate90_actual.png \ third_party/java_src/android_libs/media/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/rotate90.png ``` From 4d43f840f132c0c1b154de7aad0bdf7319a258ad Mon Sep 17 00:00:00 2001 From: rohks Date: Tue, 20 Sep 2022 15:25:38 +0000 Subject: [PATCH 256/422] Fix instrumentation tests not working via Gradle PiperOrigin-RevId: 475560401 (cherry picked from commit c96e010d351bdd8b45f88b9731c5a80bcec0d2d4) --- libraries/datasource/build.gradle | 1 + libraries/datasource/src/androidTest/AndroidManifest.xml | 3 +-- libraries/datasource_cronet/build.gradle | 2 +- .../datasource_cronet/src/androidTest/AndroidManifest.xml | 3 +-- libraries/decoder_flac/build.gradle | 4 ++++ libraries/decoder_flac/src/androidTest/AndroidManifest.xml | 3 +-- libraries/decoder_opus/build.gradle | 1 + libraries/decoder_opus/src/androidTest/AndroidManifest.xml | 3 +-- libraries/decoder_vp9/build.gradle | 1 + libraries/decoder_vp9/src/androidTest/AndroidManifest.xml | 3 +-- libraries/exoplayer/build.gradle | 1 + libraries/exoplayer/src/androidTest/AndroidManifest.xml | 3 +-- libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml | 3 +-- libraries/session/build.gradle | 1 + libraries/session/src/androidTest/AndroidManifest.xml | 3 +-- libraries/test_exoplayer_playback/build.gradle | 1 + .../src/androidTest/AndroidManifest.xml | 3 +-- 17 files changed, 20 insertions(+), 19 deletions(-) diff --git a/libraries/datasource/build.gradle b/libraries/datasource/build.gradle index 7706ffc0b31..5bf5c91f511 100644 --- a/libraries/datasource/build.gradle +++ b/libraries/datasource/build.gradle @@ -39,6 +39,7 @@ dependencies { compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion diff --git a/libraries/datasource/src/androidTest/AndroidManifest.xml b/libraries/datasource/src/androidTest/AndroidManifest.xml index 6543ffe5757..5e7a406a7da 100644 --- a/libraries/datasource/src/androidTest/AndroidManifest.xml +++ b/libraries/datasource/src/androidTest/AndroidManifest.xml @@ -21,9 +21,8 @@ - diff --git a/libraries/datasource_cronet/build.gradle b/libraries/datasource_cronet/build.gradle index 79b8389f576..d372272a335 100644 --- a/libraries/datasource_cronet/build.gradle +++ b/libraries/datasource_cronet/build.gradle @@ -27,9 +27,9 @@ dependencies { compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:rules:' + androidxTestRulesVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion - androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion // Instrumentation tests assume that an app-packaged version of cronet is // available. diff --git a/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml b/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml index 818af433145..fd7a6dcc79a 100644 --- a/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml +++ b/libraries/datasource_cronet/src/androidTest/AndroidManifest.xml @@ -22,9 +22,8 @@ - diff --git a/libraries/decoder_flac/build.gradle b/libraries/decoder_flac/build.gradle index 522cd160c66..de0fb39ac5d 100644 --- a/libraries/decoder_flac/build.gradle +++ b/libraries/decoder_flac/build.gradle @@ -14,6 +14,9 @@ apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle" android { + defaultConfig { + multiDexEnabled true + } sourceSets { main { jniLibs.srcDir 'src/main/libs' @@ -31,6 +34,7 @@ dependencies { compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion androidTestImplementation project(modulePrefix + 'test-utils') + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion testImplementation 'androidx.test:core:' + androidxTestCoreVersion testImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion diff --git a/libraries/decoder_flac/src/androidTest/AndroidManifest.xml b/libraries/decoder_flac/src/androidTest/AndroidManifest.xml index 60caa1b1cc8..d28b4815401 100644 --- a/libraries/decoder_flac/src/androidTest/AndroidManifest.xml +++ b/libraries/decoder_flac/src/androidTest/AndroidManifest.xml @@ -21,9 +21,8 @@ - diff --git a/libraries/decoder_opus/build.gradle b/libraries/decoder_opus/build.gradle index 1f3f7d8d537..c7dc538a662 100644 --- a/libraries/decoder_opus/build.gradle +++ b/libraries/decoder_opus/build.gradle @@ -31,6 +31,7 @@ dependencies { compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion testImplementation project(modulePrefix + 'test-utils') testImplementation 'org.robolectric:robolectric:' + robolectricVersion + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion androidTestImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion } diff --git a/libraries/decoder_opus/src/androidTest/AndroidManifest.xml b/libraries/decoder_opus/src/androidTest/AndroidManifest.xml index 039dc819cc9..ab27436543b 100644 --- a/libraries/decoder_opus/src/androidTest/AndroidManifest.xml +++ b/libraries/decoder_opus/src/androidTest/AndroidManifest.xml @@ -21,9 +21,8 @@ - diff --git a/libraries/decoder_vp9/build.gradle b/libraries/decoder_vp9/build.gradle index e723f74fd7d..adb52f8dbef 100644 --- a/libraries/decoder_vp9/build.gradle +++ b/libraries/decoder_vp9/build.gradle @@ -31,6 +31,7 @@ dependencies { compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion testImplementation project(modulePrefix + 'test-utils') testImplementation 'org.robolectric:robolectric:' + robolectricVersion + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion androidTestImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion androidTestImplementation 'com.google.truth:truth:' + truthVersion diff --git a/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml b/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml index ca0f8bc647b..b22a45dedd5 100644 --- a/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml +++ b/libraries/decoder_vp9/src/androidTest/AndroidManifest.xml @@ -21,9 +21,8 @@ - diff --git a/libraries/exoplayer/build.gradle b/libraries/exoplayer/build.gradle index cffbbbb81b8..bd8f673955c 100644 --- a/libraries/exoplayer/build.gradle +++ b/libraries/exoplayer/build.gradle @@ -52,6 +52,7 @@ dependencies { compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkCompatVersion compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion androidTestImplementation 'com.linkedin.dexmaker:dexmaker:' + dexmakerVersion androidTestImplementation 'com.linkedin.dexmaker:dexmaker-mockito:' + dexmakerVersion diff --git a/libraries/exoplayer/src/androidTest/AndroidManifest.xml b/libraries/exoplayer/src/androidTest/AndroidManifest.xml index 08ccac6a011..cee0ce28ad5 100644 --- a/libraries/exoplayer/src/androidTest/AndroidManifest.xml +++ b/libraries/exoplayer/src/androidTest/AndroidManifest.xml @@ -22,9 +22,8 @@ - diff --git a/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml b/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml index ae78b134834..986dce03945 100644 --- a/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml +++ b/libraries/exoplayer_ima/src/androidTest/AndroidManifest.xml @@ -23,9 +23,8 @@ - - diff --git a/libraries/test_exoplayer_playback/build.gradle b/libraries/test_exoplayer_playback/build.gradle index 9d7daeaaee4..4991a5820d4 100644 --- a/libraries/test_exoplayer_playback/build.gradle +++ b/libraries/test_exoplayer_playback/build.gradle @@ -20,6 +20,7 @@ android { } dependencies { + androidTestImplementation 'androidx.multidex:multidex:' + androidxMultidexVersion androidTestImplementation 'androidx.test:rules:' + androidxTestRulesVersion androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion androidTestImplementation 'androidx.annotation:annotation:' + androidxAnnotationVersion diff --git a/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml b/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml index 652ff94d668..2374319ed68 100644 --- a/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml +++ b/libraries/test_exoplayer_playback/src/androidTest/AndroidManifest.xml @@ -23,9 +23,8 @@ - Date: Wed, 21 Sep 2022 12:53:42 +0000 Subject: [PATCH 257/422] Use golden bitmaps in contrast pixel tests. PiperOrigin-RevId: 475805421 (cherry picked from commit f00e43cf814df6bf71348a32d65b01ffada9d311) --- .../media3/effect/ContrastPixelTest.java | 86 ++++++------------ .../exoplayer_logo/maximum_contrast.png | Bin 5825 -> 0 bytes .../media/bitmap/exoplayer_logo/original.png | Bin 15323 -> 0 bytes .../decrease_contrast.png | Bin 0 -> 271917 bytes .../increase_contrast.png | Bin 0 -> 194793 bytes .../maximum_contrast.png | Bin 0 -> 32522 bytes 6 files changed, 30 insertions(+), 56 deletions(-) delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/maximum_contrast.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/original.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/decrease_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/maximum_contrast.png diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java index 3353be35bdc..8edf973da0c 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java @@ -47,10 +47,14 @@ */ @RunWith(AndroidJUnit4.class) public class ContrastPixelTest { - private static final String EXOPLAYER_LOGO_PNG_ASSET_PATH = - "media/bitmap/exoplayer_logo/original.png"; - private static final String MAXIMUM_CONTRAST_PNG_ASSET_PATH = - "media/bitmap/exoplayer_logo/maximum_contrast.png"; + public static final String ORIGINAL_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/original.png"; + public static final String INCREASE_CONTRAST_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/increase_contrast.png"; + public static final String DECREASE_CONTRAST_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/decrease_contrast.png"; + public static final String MAXIMUM_CONTRAST_PNG_ASSET_PATH = + "media/bitmap/sample_mp4_first_frame/maximum_contrast.png"; // OpenGL uses floats in [0, 1] and maps 0.5f to 128 = 256 / 2. private static final int OPENGL_NEUTRAL_RGB_VALUE = 128; @@ -71,7 +75,7 @@ public void createGlObjects() throws Exception { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); - Bitmap inputBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + Bitmap inputBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); @@ -95,14 +99,15 @@ public void drawFrame_noContrastChange_leavesFrameUnchanged() throws Exception { new Contrast(/* contrast= */ 0.0f).toGlTextureProcessor(context, /* useHdr= */ false); Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.first, outputSize.second); - Bitmap expectedBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(ORIGINAL_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs = */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); float averagePixelAbsoluteDifference = BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( expectedBitmap, actualBitmap, testId); @@ -128,7 +133,8 @@ public void drawFrame_minimumContrast_producesAllGrayFrame() throws Exception { BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); float averagePixelAbsoluteDifference = BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( expectedBitmap, actualBitmap, testId); @@ -143,15 +149,19 @@ public void drawFrame_decreaseContrast_decreasesPixelsGreaterEqual128IncreasesBe new Contrast(/* contrast= */ -0.75f).toGlTextureProcessor(context, /* useHdr= */ false); Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.first, outputSize.second); - Bitmap originalBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(DECREASE_CONTRAST_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); - assertIncreasedOrDecreasedContrast(originalBitmap, actualBitmap, /* increased= */ false); + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } @Test @@ -162,15 +172,19 @@ public void drawFrame_increaseContrast_increasesPixelsGreaterEqual128DecreasesBe new Contrast(/* contrast= */ 0.75f).toGlTextureProcessor(context, /* useHdr= */ false); Pair outputSize = contrastProcessor.configure(inputWidth, inputHeight); setupOutputTexture(outputSize.first, outputSize.second); - Bitmap originalBitmap = BitmapTestUtil.readBitmap(EXOPLAYER_LOGO_PNG_ASSET_PATH); + Bitmap expectedBitmap = BitmapTestUtil.readBitmap(INCREASE_CONTRAST_PNG_ASSET_PATH); contrastProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); Bitmap actualBitmap = BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); - assertIncreasedOrDecreasedContrast(originalBitmap, actualBitmap, /* increased= */ true); + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); + float averagePixelAbsoluteDifference = + BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( + expectedBitmap, actualBitmap, testId); + assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } @Test @@ -187,54 +201,14 @@ public void drawFrame_maximumContrast_pixelEither0or255() throws Exception { BitmapTestUtil.createArgb8888BitmapFromCurrentGlFramebuffer( outputSize.first, outputSize.second); - BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory(testId, "actual", actualBitmap); + BitmapTestUtil.maybeSaveTestBitmapToCacheDirectory( + testId, /* bitmapLabel= */ "actual", actualBitmap); float averagePixelAbsoluteDifference = BitmapTestUtil.getAveragePixelAbsoluteDifferenceArgb8888( expectedBitmap, actualBitmap, testId); assertThat(averagePixelAbsoluteDifference).isAtMost(MAXIMUM_AVERAGE_PIXEL_ABSOLUTE_DIFFERENCE); } - private static void assertIncreasedOrDecreasedContrast( - Bitmap originalBitmap, Bitmap actualBitmap, boolean increased) { - - for (int y = 0; y < actualBitmap.getHeight(); y++) { - for (int x = 0; x < actualBitmap.getWidth(); x++) { - int originalColor = originalBitmap.getPixel(x, y); - int actualColor = actualBitmap.getPixel(x, y); - - int redDifference = Color.red(actualColor) - Color.red(originalColor); - int greenDifference = Color.green(actualColor) - Color.green(originalColor); - int blueDifference = Color.blue(actualColor) - Color.blue(originalColor); - - // If the contrast increases, all pixels with a value greater or equal to - // OPENGL_NEUTRAL_RGB_VALUE must increase (diff is greater or equal to 0) and all pixels - // below OPENGL_NEUTRAL_RGB_VALUE must decrease (diff is smaller or equal to 0). - // If the contrast decreases, all pixels with a value greater or equal to - // OPENGL_NEUTRAL_RGB_VALUE must decrease (diff is smaller or equal to 0) and all pixels - // below OPENGL_NEUTRAL_RGB_VALUE must increase (diff is greater or equal to 0). - // The interval limits 0 and 255 stay unchanged for either contrast in- or decrease. - - if (Color.red(originalColor) >= OPENGL_NEUTRAL_RGB_VALUE) { - assertThat(increased ? redDifference : -redDifference).isAtLeast(0); - } else { - assertThat(increased ? redDifference : -redDifference).isAtMost(0); - } - - if (Color.green(originalColor) >= OPENGL_NEUTRAL_RGB_VALUE) { - assertThat(increased ? greenDifference : -greenDifference).isAtLeast(0); - } else { - assertThat(increased ? greenDifference : -greenDifference).isAtMost(0); - } - - if (Color.blue(originalColor) >= OPENGL_NEUTRAL_RGB_VALUE) { - assertThat(increased ? blueDifference : -blueDifference).isAtLeast(0); - } else { - assertThat(increased ? blueDifference : -blueDifference).isAtMost(0); - } - } - } - } - private void setupOutputTexture(int outputWidth, int outputHeight) throws GlUtil.GlException { outputTexId = GlUtil.createTexture( diff --git a/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/maximum_contrast.png b/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/maximum_contrast.png deleted file mode 100644 index 8ae6837371c2682a664b8355fc6fea92807a4d8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5825 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 A00000 diff --git a/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/original.png b/libraries/test_data/src/test/assets/media/bitmap/exoplayer_logo/original.png deleted file mode 100644 index b149114b41418c0bafaeca1c88a6046bf5b01538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15323 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

      ;;jhp&ZXiVh62 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

      WC4-g{7?ZW*8$~>Oz&Te zVtAvLo?qtCZqslX(&bvyA`1aNe67{xHk*Z&t68xlH~Y8#$Q0x|h(0WsuHo@Bcr1kw4NG1>L)0* ztEybx$v@&N0p4<`T|x>C#fKXXMlXiL|Do<owU}InF}GT;=(fIon8){MydeHRZZmIJtO?o#R`(@fh1+mnz5jobm?NgHd^EdGK>L z!5!YNkXKWO3pTHt*~_ASl<*DaAvCchCd(;L&Xwpr#~v@kV5d7Lf5tW40G$}U^`3E{ z$oZP#4CE^1a}lBWe6bT=K6ctCyyx`JlXWh*vQNTzp|nHIXOT+=~RLK9uq!PM`&s{@_S zVUdwlJ;~R-&jf#-4SjSuz4tOA&S zgsN>nt!tWi0l^iNydQUYyjS4=2Fmd33^ERUQx|s+8tm9y@_f`v7QbQ>d;UD^r}4v``@p91z<&bW+V$OUM6CPVg8$ z2kZSUr{FZb`;w8{#%eoTMwV~1!V_2Lqo0^J&*9|G`e7E9An-h13!rvR*HAvpgn3Gw zs^(!q0ADpv%+syOj{Q#F`{xF5F7)c<)XO(H*~n%ZIDHld$~}dNvzUui^%iuZsyC$E z)yxJGy(=gwx3zU@^RI8?$PH>ad8%r%eP|w!nqnH9nOgc*%T+UAE`%~l7@;u>^SHe_ z_iqEs1zy!1Ri@nu&Wx6~x;a3KkhbwT@ITFO$G7B4{yO8%Si*`{VdvS}K0LLEz@P#B zpnvyxKk#*#J@CBA{LpW=;aj}c1rutRpXTJ}he+H+oFH8Rcxf98Vq|XpSncru*f_?C zP^4C5`@*p&-VK1ZV1(rj00J_V84|bmMS2yg2*CguvqT~Hc+h>H5l5aX?w9#TtnO3Q zOFlvw`dfVI?6FS*+a>2_|^A`XWg9c7G%U@I|p(v>Wss0?A*X=fXv zz1#Nv{U_V*y8J3lsH_Zyzm3E4sFH7B}nAzkV zGHYMZV3qdS94v$xQe@FMY||L58y)p%B<5vgMmfYp`IAO}D>0{kGvAA391WkD$0O~_ zv;GNUKLlkBt?5Ia#x*td~^1hyR+yYu2HF> ztUd5o^p`^4U(g7_1RTM?SHE={!pXm2f22}{Ruyd?gvX)=-SoAb4q{qa4g}rr?m^&G zh3Xk@yNc-AM#`CeWML$PD^)Kzz^gO1@$?!YW zroI+GHCUq70@Ju6+1zr|Yb-5V#5O=W`^1m7myr=FNY=L<{XH-8Gq=E3`D0|VNvip; zTIzwj`qr7@oynKyLa}&qp<5)PnRiL8T3C`RF=4DM^WBW8o$6}VfDw6ykydDnRxzyW z75%nzhV!LF);wcFZ?GZiJEFVz;lazz%eTmd{_|_wsn8k5%M*mE+kslpWl!iF@xSw3 zg{H%OCh1H}dO4i@zsP@7tjM49P5e3Ctq%G=&B1i(LEjhBOXbkp-D~I?%Ey@)&V87P z+&?R)Sx>KV%@QR^F>K4Z%B$)Ih^T&|T)-)y&$N|DW3N`<0zE?h@(8)T`Q~R9ljJ`u z1VYemZDoH0Z|0&2(R~)-&{y5Red0_A**wd9-(2lDY}h36B9;g+^j^ zj-YAZ5=#L3TWgPS@vT3)Flfs)dFXXb4AP$#)WgC+^S&h{PxH?A(oUJ(e{U;&!GLID>agPYLY>vD*bgN{38|5FJr2}Ilz)R_7JD6=7^LIhLYAfOAgru2;YM|q|OyR$;u#GlI2UWe+iv0G8ii@Dnlz=1s?YJ}N$%?O`;=1PPl=lc?Le01B{`z$D^mP64Nn=-lTN+v( zD(zAF$y2gBmJMMX{dsNWA1bW!%7`to`pR(vk_R;{wMU$N~1ie}R+px(zP7Zuu<@-H0I0-L`D36faDg`#nuiEO^9nIfNv z*UVsUv3aN9Z0{&1IZc$bzc^P;<(Ywgaw*i_`P+v}D_Gc;JC=fmmmVJ`U&VfJ4^(n}1{@f0Q{-TAB8wIJl%AAGGlusm9tH0v;_IN$YvqJQ5;@>cnO~{#(_`m?wO$ zc6N`a{@h1(F3M>o4=Nhf3s}CoV`=Z*oGI6-em0kpIf^jd>Vg-wzTZQ3*NbY5le7~U z>oAKEmm4a%gRh+K&6${`5KbO~okG~2ztA7XN{Q=;40!q&HlFDUzh?eVl-9+F=A%V> z65p`J`pF~BM96Q0kRwtkK07rg!vi~9I~8iZ@jgttfGO+S_Q7~$qoNstp-krlANqHP_BX?XdH=_V@Yw0hQpM{ok7tD#dvh zJeUn2!PU-4yc>%Fp9G)ANu`Lx!&8qx-cK=fF=F##@HdF09-K=4I%Ux4|J(1S}k#GTLNQgewks2A1%+yGJG zw=ku=1wp$qex+(OdX6(UF1`2oj9BJUOAFN2L;1cY+c0tp=Pb)Q6e`aZE@avlWFq40 zmWGV!O}`D-2><*n>abwRp(G);NV;Oi~+14e>m zR<(j?QU$p38%dzWn^Ns)v0t-a zxqs$xNH^Zt6a1Kv!ufy}zmzS&&}SL6XY+O0>#_xZs@Vet z@ixwefYbkDm7{o^1X_i8BZT+h z1paz{iD5TT@c0cRnyq)_rwV^}b?|^8y{G=IidkQR9E!j-#Y?g=#QE1jHj~e2{Vx*a zoYL5rV`?;tz|k?ZgKdo?RZQin$8T-*avRVCQ$ip+=#VCW7ibG-z5koqX6}gr*r|5C z<9JrAUDjS_G9AFXunVauR{Uo=TePS+{oP*2=xalKD_G%Q3SO68#G$XVnqQy<$;Ppb zT+y;OksyjLx618Xo#k)MeWxCM+|efIAKT6Y<`y!n)Sn$|kt?H~zRb>~HS60}{iI zVuk%S{uBS5B^L?txwzR$Bh1UzByL2rzSRn=uFGBu2*ZXse21n++bQ~vme;7 zC-Q}fncInEhotu#|MbqOR$a(}nVe^m1P|0$JF5|?8SDu_rFuqmAn zKIRi3ALRZn{96*#t%qVS#tAq|p8nb8U^`gAJr`8m#2V)ts3L5UekH!hg`(XYy z>8oe38+iJ0!Fl#;S0oU#8J|t69D3PJ@zfoMgnYf3Ov6D{|<5 zGv@-h__eF^DBV#ZAFPX#`gPAwZa0z_L~K;zs2LI^X}T`+OVR7QbKCy>H_&arhpf&D zr9x@aOCDrD%+3RrFEaldhf+^a#gnR?se5O2{+sWMPJjY{b*8I}J!q~-j1X{o*{OH- zCgf1y_7aDFe6QKca$Vr5hzI+<&v|p} z^0oKSXHMgu;@@E&_*o`FZ^{2Jv+w`18~;De@LaJW`N#e~Ow2R!pH16iVlLKORV|f@ I*XE)B4-Aw)zW@LL diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/decrease_contrast.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/decrease_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..fdd8d4550f6f9c071e03ea70e2a43aa7499424f8 GIT binary patch literal 271917 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 >>v==vj|6H=l0}PxYfS(_S0R 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/maximum_contrast.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/maximum_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..f794369afc6aa6b961d131a1695a2fb4cecb92f1 GIT binary patch literal 32522 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 Date: Wed, 21 Sep 2022 17:18:42 +0000 Subject: [PATCH 258/422] Add file size to TransformationResult at the end of a Transformation. Tested: * Manually using both path and file descriptor. PiperOrigin-RevId: 475860978 (cherry picked from commit 9ec4e1340a97472c63e9f017f95f2b1a38f88588) --- .../media3/transformer/Transformer.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index d14c0f3a590..615276e1bbe 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -66,6 +66,7 @@ import androidx.media3.extractor.mp4.Mp4Extractor; import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; +import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.annotation.Documented; @@ -593,6 +594,8 @@ default void onFallbackApplied( @Nullable private MuxerWrapper muxerWrapper; @Nullable private ExoPlayer player; + @Nullable private String outputPath; + @Nullable private ParcelFileDescriptor outputParcelFileDescriptor; private @ProgressState int progressState; private boolean isCancelling; @@ -705,6 +708,8 @@ public void startTransformation(MediaItem mediaItem, String path) throws IOExcep throw new UnsupportedEncodingException( "Clipping is not supported when slow motion flattening is requested"); } + this.outputPath = path; + this.outputParcelFileDescriptor = null; startTransformation(mediaItem, muxerFactory.create(path, containerMimeType)); } @@ -733,6 +738,8 @@ public void startTransformation(MediaItem mediaItem, String path) throws IOExcep @RequiresApi(26) public void startTransformation(MediaItem mediaItem, ParcelFileDescriptor parcelFileDescriptor) throws IOException { + this.outputParcelFileDescriptor = parcelFileDescriptor; + this.outputPath = null; startTransformation(mediaItem, muxerFactory.create(parcelFileDescriptor, containerMimeType)); } @@ -876,6 +883,26 @@ private void verifyApplicationThread() { } } + /** + * Returns the current size in bytes of the current/latest output file, or {@link C#LENGTH_UNSET} + * if unavailable. + */ + private long getCurrentOutputFileCurrentSizeBytes() { + long fileSize = C.LENGTH_UNSET; + + if (outputPath != null) { + fileSize = new File(outputPath).length(); + } else if (outputParcelFileDescriptor != null) { + fileSize = outputParcelFileDescriptor.getStatSize(); + } + + if (fileSize <= 0) { + fileSize = C.LENGTH_UNSET; + } + + return fileSize; + } + private static final class TransformerRenderersFactory implements RenderersFactory { private final Context context; @@ -1064,6 +1091,7 @@ private void handleTransformationEnded(@Nullable TransformationException excepti .setAverageAudioBitrate(muxerWrapper.getTrackAverageBitrate(C.TRACK_TYPE_AUDIO)) .setAverageVideoBitrate(muxerWrapper.getTrackAverageBitrate(C.TRACK_TYPE_VIDEO)) .setVideoFrameCount(muxerWrapper.getTrackSampleCount(C.TRACK_TYPE_VIDEO)) + .setFileSizeBytes(getCurrentOutputFileCurrentSizeBytes()) .build(); listeners.queueEvent( From 873b806389412db0111e7fabbcafef28c86fc6dd Mon Sep 17 00:00:00 2001 From: leonwind Date: Thu, 22 Sep 2022 10:04:42 +0000 Subject: [PATCH 259/422] Add RGB Adjustments to transformer demo. PiperOrigin-RevId: 476049125 (cherry picked from commit 9ccdd22e856251e7529fb893edbaa118f4285e49) --- .../transformer/ConfigurationActivity.java | 39 +++++++++- .../demo/transformer/TransformerActivity.java | 17 ++++- .../res/layout/rgb_adjustment_options.xml | 76 +++++++++++++++++++ .../src/main/res/values/strings.xml | 4 + 4 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 demos/transformer/src/main/res/layout/rgb_adjustment_options.xml diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 6c822a38f32..d68050b9661 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -69,6 +69,9 @@ public final class ConfigurationActivity extends AppCompatActivity { public static final String PERIODIC_VIGNETTE_OUTER_RADIUS = "periodic_vignette_outer_radius"; public static final String COLOR_FILTER_SELECTION = "color_filter_selection"; public static final String CONTRAST_VALUE = "contrast_value"; + public static final String RGB_ADJUSTMENT_RED_SCALE = "rgb_adjustment_red_scale"; + public static final String RGB_ADJUSTMENT_GREEN_SCALE = "rgb_adjustment_green_scale"; + public static final String RGB_ADJUSTMENT_BLUE_SCALE = "rgb_adjustment_blue_scale"; public static final int COLOR_FILTER_GRAYSCALE = 0; public static final int COLOR_FILTER_INVERTED = 1; public static final int COLOR_FILTER_SEPIA = 2; @@ -106,6 +109,7 @@ public final class ConfigurationActivity extends AppCompatActivity { "Dizzy crop", "Edge detector (Media Pipe)", "Color filters", + "RGB Adjustments", "Contrast", "Periodic vignette", "3D spin", @@ -113,8 +117,9 @@ public final class ConfigurationActivity extends AppCompatActivity { "Zoom in start", }; private static final int COLOR_FILTERS_INDEX = 2; - private static final int CONTRAST_INDEX = 3; - private static final int PERIODIC_VIGNETTE_INDEX = 4; + private static final int RGB_ADJUSTMENTS_INDEX = 3; + private static final int CONTRAST_INDEX = 4; + private static final int PERIODIC_VIGNETTE_INDEX = 5; private static final String SAME_AS_INPUT_OPTION = "same as input"; private static final float HALF_DIAGONAL = 1f / (float) Math.sqrt(2); @@ -139,6 +144,9 @@ public final class ConfigurationActivity extends AppCompatActivity { private long trimStartMs; private long trimEndMs; private int colorFilterSelection; + private float rgbAdjustmentRedScale; + private float rgbAdjustmentGreenScale; + private float rgbAdjustmentBlueScale; private float contrastValue; private float periodicVignetteCenterX; private float periodicVignetteCenterY; @@ -297,6 +305,9 @@ private void startTransformation(View view) { bundle.putBooleanArray(DEMO_EFFECTS_SELECTIONS, demoEffectsSelections); bundle.putInt(COLOR_FILTER_SELECTION, colorFilterSelection); bundle.putFloat(CONTRAST_VALUE, contrastValue); + bundle.putFloat(RGB_ADJUSTMENT_RED_SCALE, rgbAdjustmentRedScale); + bundle.putFloat(RGB_ADJUSTMENT_GREEN_SCALE, rgbAdjustmentGreenScale); + bundle.putFloat(RGB_ADJUSTMENT_BLUE_SCALE, rgbAdjustmentBlueScale); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_X, periodicVignetteCenterX); bundle.putFloat(PERIODIC_VIGNETTE_CENTER_Y, periodicVignetteCenterY); bundle.putFloat(PERIODIC_VIGNETTE_INNER_RADIUS, periodicVignetteInnerRadius); @@ -367,6 +378,9 @@ private void selectDemoEffect(DialogInterface dialog, int which, boolean isCheck case COLOR_FILTERS_INDEX: controlColorFiltersSettings(); break; + case RGB_ADJUSTMENTS_INDEX: + controlRgbAdjustmentsScale(); + break; case CONTRAST_INDEX: controlContrastSettings(); break; @@ -394,6 +408,27 @@ private void controlColorFiltersSettings() { .show(); } + private void controlRgbAdjustmentsScale() { + View dialogView = + getLayoutInflater().inflate(R.layout.rgb_adjustment_options, /* root= */ null); + Slider redScaleSlider = checkNotNull(dialogView.findViewById(R.id.rgb_adjustment_red_scale)); + Slider greenScaleSlider = + checkNotNull(dialogView.findViewById(R.id.rgb_adjustment_green_scale)); + Slider blueScaleSlider = checkNotNull(dialogView.findViewById(R.id.rgb_adjustment_blue_scale)); + new AlertDialog.Builder(/* context= */ this) + .setTitle(R.string.rgb_adjustment_options) + .setView(dialogView) + .setPositiveButton( + android.R.string.ok, + (DialogInterface dialogInterface, int i) -> { + rgbAdjustmentRedScale = redScaleSlider.getValue(); + rgbAdjustmentGreenScale = greenScaleSlider.getValue(); + rgbAdjustmentBlueScale = blueScaleSlider.getValue(); + }) + .create() + .show(); + } + private void controlContrastSettings() { View dialogView = getLayoutInflater().inflate(R.layout.contrast_options, /* root= */ null); Slider contrastSlider = checkNotNull(dialogView.findViewById(R.id.contrast_slider)); diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 9f1bb20ad46..eb0dde452f4 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -44,6 +44,7 @@ import androidx.media3.effect.Contrast; import androidx.media3.effect.GlEffect; import androidx.media3.effect.GlTextureProcessor; +import androidx.media3.effect.RgbAdjustment; import androidx.media3.effect.RgbFilter; import androidx.media3.effect.RgbMatrix; import androidx.media3.exoplayer.ExoPlayer; @@ -335,9 +336,17 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) } } if (selectedEffects[3]) { - effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE))); + effects.add( + new RgbAdjustment.Builder() + .setRedScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_RED_SCALE)) + .setGreenScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_GREEN_SCALE)) + .setBlueScale(bundle.getFloat(ConfigurationActivity.RGB_ADJUSTMENT_BLUE_SCALE)) + .build()); } if (selectedEffects[4]) { + effects.add(new Contrast(bundle.getFloat(ConfigurationActivity.CONTRAST_VALUE))); + } + if (selectedEffects[5]) { effects.add( (GlEffect) (Context context, boolean useHdr) -> @@ -352,13 +361,13 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS), bundle.getFloat(ConfigurationActivity.PERIODIC_VIGNETTE_OUTER_RADIUS))); } - if (selectedEffects[5]) { + if (selectedEffects[6]) { effects.add(MatrixTransformationFactory.createSpin3dEffect()); } - if (selectedEffects[6]) { + if (selectedEffects[7]) { effects.add((GlEffect) BitmapOverlayProcessor::new); } - if (selectedEffects[7]) { + if (selectedEffects[8]) { effects.add(MatrixTransformationFactory.createZoomInTransition()); } transformerBuilder.setVideoEffects(effects.build()); diff --git a/demos/transformer/src/main/res/layout/rgb_adjustment_options.xml b/demos/transformer/src/main/res/layout/rgb_adjustment_options.xml new file mode 100644 index 00000000000..c87e8fad179 --- /dev/null +++ b/demos/transformer/src/main/res/layout/rgb_adjustment_options.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + + + + + + + + + diff --git a/demos/transformer/src/main/res/values/strings.xml b/demos/transformer/src/main/res/values/strings.xml index 32eba87a737..db04cb58852 100644 --- a/demos/transformer/src/main/res/values/strings.xml +++ b/demos/transformer/src/main/res/values/strings.xml @@ -48,6 +48,10 @@ Sepia Contrast value + Scale RGB Channels individually + Scale Red + Scale Green + Scale Blue Center X Center Y Radius range From 395d89a7b7e4f1b5baf4725299a3e95c61f515e8 Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 22 Sep 2022 15:59:44 +0000 Subject: [PATCH 260/422] Work around a bug in the Android 13 ClearKey implementation The ClearKey CDM will attach an 'invalid' URL in `KeyRequest` objects, when the documentation states this should be an empty string if a default URL is not known. #minor-release PiperOrigin-RevId: 476113513 (cherry picked from commit 715c948004eeabb6f7e2d45b8b8856ee4a015391) --- RELEASENOTES.md | 3 +++ .../media3/exoplayer/drm/FrameworkMediaDrm.java | 17 ++++++++++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index c747b73eb04..3253516d6c4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -29,6 +29,9 @@ `MetadataRenderer(MetadataOutput, Looper, MetadataDecoderFactory, boolean)` to specify whether the renderer will output metadata early or in sync with the player position. +* DRM: + * Work around a bug in the Android 13 ClearKey implementation that returns + a non-empty but invalid license URL. * DASH: * Parse `EventStream.presentationTimeOffset` from manifests ([#10460](https://github.com/google/ExoPlayer/issues/10460)). diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java index 8059f10becd..9ed07382a96 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java @@ -229,11 +229,7 @@ public KeyRequest getKeyRequest( mediaDrm.getKeyRequest(scope, initData, mimeType, keyType, optionalParameters); byte[] requestData = adjustRequestData(uuid, request.getData()); - - String licenseServerUrl = request.getDefaultUrl(); - if (MOCK_LA_URL_VALUE.equals(licenseServerUrl)) { - licenseServerUrl = ""; - } + String licenseServerUrl = adjustLicenseServerUrl(request.getDefaultUrl()); if (TextUtils.isEmpty(licenseServerUrl) && schemeData != null && !TextUtils.isEmpty(schemeData.licenseServerUrl)) { @@ -247,6 +243,17 @@ public KeyRequest getKeyRequest( return new KeyRequest(requestData, licenseServerUrl, requestType); } + private static String adjustLicenseServerUrl(String licenseServerUrl) { + if (MOCK_LA_URL.equals(licenseServerUrl)) { + return ""; + } else if (Util.SDK_INT == 33 && "https://default.url".equals(licenseServerUrl)) { + // Work around b/247808112 + return ""; + } else { + return licenseServerUrl; + } + } + @UnstableApi @Override @Nullable From 63f9df5b1ac73b95f3f7cd41dcc4aa3206c36e83 Mon Sep 17 00:00:00 2001 From: leonwind Date: Thu, 22 Sep 2022 16:45:28 +0000 Subject: [PATCH 261/422] Add OETF and EOTF ES2 fragment shaders for non-HDR frames. * Transform the intermediate color space to linear SDR by applying the SMPTE 170M EOTF and OETF. * Use linear colors for the color filter pixel tests and update all golden bitmaps. PiperOrigin-RevId: 476124592 (cherry picked from commit 3433758c3b1f02c0ec28b86a8c3b659171f6f92b) --- .../media3/effect/ContrastPixelTest.java | 8 +- .../androidx/media3/effect/CropPixelTest.java | 6 +- .../GlEffectsFrameProcessorPixelTest.java | 22 ++--- .../MatrixTextureProcessorPixelTest.java | 8 +- .../media3/effect/PresentationPixelTest.java | 14 ++-- .../media3/effect/RgbAdjustmentPixelTest.java | 8 +- .../media3/effect/RgbFilterPixelTest.java | 6 +- .../effect/SingleColorLutPixelTest.java | 8 +- ...nt_shader_transformation_external_es2.glsl | 30 ------- ...hader_transformation_external_yuv_es3.glsl | 1 + ...hader_transformation_sdr_external_es2.glsl | 79 ++++++++++++++++++ ...nt_shader_transformation_sdr_oetf_es2.glsl | 52 ++++++++++++ .../media3/effect/MatrixTextureProcessor.java | 23 +++-- .../src/test/assets/media/bitmap/README.md | 2 +- .../decrease_contrast.png | Bin 271917 -> 0 bytes .../electrical_colors/README.md | 3 + .../aspect_ratio_scale_to_fit_narrow.png | Bin .../aspect_ratio_scale_to_fit_wide.png | Bin ...ct_ratio_scale_to_fit_with_crop_narrow.png | Bin ...pect_ratio_scale_to_fit_with_crop_wide.png | Bin .../aspect_ratio_stretch_to_fit_narrow.png | Bin .../aspect_ratio_stretch_to_fit_wide.png | Bin .../{ => electrical_colors}/crop_larger.png | Bin .../{ => electrical_colors}/crop_smaller.png | Bin .../crop_then_aspect_ratio.png | Bin .../grayscale_then_increase_red_channel.png | Bin 0 -> 440015 bytes .../electrical_colors/increase_brightness.png | Bin 0 -> 352525 bytes .../{ => electrical_colors}/original.png | Bin .../request_output_height.png | Bin .../rotate45_then_scale2w.png | Bin .../{ => electrical_colors}/rotate90.png | Bin .../rotate_45_scale_to_fit.png | Bin .../rotate_then_translate.png | Bin .../{ => electrical_colors}/scale_narrow.png | Bin .../{ => electrical_colors}/scale_wide.png | Bin .../translate_right.png | Bin .../translate_then_rotate.png | Bin .../sample_mp4_first_frame/grayscale.png | Bin 339700 -> 0 bytes .../grayscale_then_increase_red_channel.png | Bin 406385 -> 0 bytes .../increase_brightness.png | Bin 151351 -> 0 bytes .../increase_contrast.png | Bin 194793 -> 0 bytes .../increase_red_channel.png | Bin 473252 -> 0 bytes .../bitmap/sample_mp4_first_frame/invert.png | Bin 539753 -> 0 bytes .../linear_colors/README.md | 2 + .../linear_colors/decrease_contrast.png | Bin 0 -> 254235 bytes .../linear_colors/grayscale.png | Bin 0 -> 318422 bytes .../linear_colors/increase_brightness.png | Bin 0 -> 268693 bytes .../linear_colors/increase_contrast.png | Bin 0 -> 145279 bytes .../linear_colors/increase_red_channel.png | Bin 0 -> 500848 bytes .../linear_colors/invert.png | Bin 0 -> 541925 bytes .../linear_colors/lut_map_white_to_green.png | Bin 0 -> 551176 bytes .../linear_colors/maximum_contrast.png | Bin 0 -> 25550 bytes .../linear_colors/only_red_channel.png | Bin 0 -> 274924 bytes .../linear_colors/original.png | Bin 0 -> 541722 bytes .../lut_map_white_to_green.png | Bin 559478 -> 0 bytes .../maximum_contrast.png | Bin 32522 -> 0 bytes .../only_red_channel.png | Bin 291459 -> 0 bytes .../transformer/MssimCalculatorTest.java | 16 ++-- 58 files changed, 201 insertions(+), 87 deletions(-) delete mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl create mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_external_es2.glsl create mode 100644 libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_oetf_es2.glsl delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/decrease_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/README.md rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/aspect_ratio_scale_to_fit_narrow.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/aspect_ratio_scale_to_fit_wide.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/aspect_ratio_scale_to_fit_with_crop_narrow.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/aspect_ratio_scale_to_fit_with_crop_wide.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/aspect_ratio_stretch_to_fit_narrow.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/aspect_ratio_stretch_to_fit_wide.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/crop_larger.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/crop_smaller.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/crop_then_aspect_ratio.png (100%) create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_then_increase_red_channel.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/increase_brightness.png rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/original.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/request_output_height.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/rotate45_then_scale2w.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/rotate90.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/rotate_45_scale_to_fit.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/rotate_then_translate.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/scale_narrow.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/scale_wide.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/translate_right.png (100%) rename libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/{ => electrical_colors}/translate_then_rotate.png (100%) delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_brightness.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_contrast.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_red_channel.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/invert.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/README.md create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/decrease_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/grayscale.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/increase_brightness.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/increase_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/increase_red_channel.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/invert.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/lut_map_white_to_green.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/maximum_contrast.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/only_red_channel.png create mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/linear_colors/original.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/lut_map_white_to_green.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/maximum_contrast.png delete mode 100644 libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/only_red_channel.png diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java index 8edf973da0c..e6135fe1598 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java @@ -48,13 +48,13 @@ @RunWith(AndroidJUnit4.class) public class ContrastPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/original.png"; public static final String INCREASE_CONTRAST_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/increase_contrast.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/increase_contrast.png"; public static final String DECREASE_CONTRAST_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/decrease_contrast.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/decrease_contrast.png"; public static final String MAXIMUM_CONTRAST_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/maximum_contrast.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/maximum_contrast.png"; // OpenGL uses floats in [0, 1] and maps 0.5f to 128 = 256 / 2. private static final int OPENGL_NEUTRAL_RGB_VALUE = 128; diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java index 80a3a4b78d7..f9191be5988 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java @@ -47,11 +47,11 @@ @RunWith(AndroidJUnit4.class) public final class CropPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/original.png"; public static final String CROP_SMALLER_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/crop_smaller.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/crop_smaller.png"; public static final String CROP_LARGER_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/crop_larger.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/crop_larger.png"; private final Context context = getApplicationContext(); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java index b77c1c71bf7..af3bc33fb81 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/GlEffectsFrameProcessorPixelTest.java @@ -58,27 +58,27 @@ @RunWith(AndroidJUnit4.class) public final class GlEffectsFrameProcessorPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/original.png"; public static final String SCALE_WIDE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/scale_wide.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/scale_wide.png"; public static final String TRANSLATE_RIGHT_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/translate_right.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/translate_right.png"; public static final String ROTATE_THEN_TRANSLATE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/rotate_then_translate.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/rotate_then_translate.png"; public static final String ROTATE_THEN_SCALE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/rotate45_then_scale2w.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/rotate45_then_scale2w.png"; public static final String TRANSLATE_THEN_ROTATE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/translate_then_rotate.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/translate_then_rotate.png"; public static final String REQUEST_OUTPUT_HEIGHT_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/request_output_height.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/request_output_height.png"; public static final String CROP_THEN_ASPECT_RATIO_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/crop_then_aspect_ratio.png"; public static final String ROTATE45_SCALE_TO_FIT_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/rotate_45_scale_to_fit.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/rotate_45_scale_to_fit.png"; public static final String INCREASE_BRIGHTNESS_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/increase_brightness.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/increase_brightness.png"; public static final String GRAYSCALE_THEN_INCREASE_RED_CHANNEL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_then_increase_red_channel.png"; /** Input video of which we only use the first frame. */ private static final String INPUT_MP4_ASSET_STRING = "media/mp4/sample.mp4"; diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java index 8fbab1d6d39..38c3312ed29 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java @@ -46,13 +46,13 @@ @RunWith(AndroidJUnit4.class) public final class MatrixTextureProcessorPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/original.png"; public static final String TRANSLATE_RIGHT_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/translate_right.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/translate_right.png"; public static final String SCALE_NARROW_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/scale_narrow.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/scale_narrow.png"; public static final String ROTATE_90_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/rotate90.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/rotate90.png"; private final Context context = getApplicationContext(); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java index a44b087d76f..cb955bee5ad 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java @@ -48,19 +48,19 @@ @RunWith(AndroidJUnit4.class) public final class PresentationPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/original.png"; public static final String ASPECT_RATIO_SCALE_TO_FIT_NARROW_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_narrow.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_narrow.png"; public static final String ASPECT_RATIO_SCALE_TO_FIT_WIDE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_wide.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_wide.png"; public static final String ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_NARROW_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_with_crop_narrow.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_with_crop_narrow.png"; public static final String ASPECT_RATIO_SCALE_TO_FIT_WITH_CROP_WIDE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_with_crop_wide.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_with_crop_wide.png"; public static final String ASPECT_RATIO_STRETCH_TO_FIT_NARROW_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_narrow.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_stretch_to_fit_narrow.png"; public static final String ASPECT_RATIO_STRETCH_TO_FIT_WIDE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_wide.png"; + "media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_stretch_to_fit_wide.png"; private final Context context = getApplicationContext(); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index 4acd53a3d91..d97d0da75a8 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -50,13 +50,13 @@ @RunWith(AndroidJUnit4.class) public final class RgbAdjustmentPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/original.png"; public static final String ONLY_RED_CHANNEL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/only_red_channel.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/only_red_channel.png"; public static final String INCREASE_RED_CHANNEL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/increase_red_channel.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/increase_red_channel.png"; public static final String INCREASE_BRIGHTNESS_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/increase_brightness.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/increase_brightness.png"; private final Context context = getApplicationContext(); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java index 75e453b6df1..a4c66501a65 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java @@ -48,11 +48,11 @@ @RunWith(AndroidJUnit4.class) public final class RgbFilterPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/original.png"; public static final String GRAYSCALE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/grayscale.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/grayscale.png"; public static final String INVERT_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/invert.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/invert.png"; private final Context context = getApplicationContext(); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java index a459ade7231..eb2aad0a8da 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java @@ -48,13 +48,13 @@ @RunWith(AndroidJUnit4.class) public class SingleColorLutPixelTest { public static final String ORIGINAL_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/original.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/original.png"; public static final String LUT_MAP_WHITE_TO_GREEN_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/lut_map_white_to_green.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/lut_map_white_to_green.png"; public static final String GRAYSCALE_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/grayscale.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/grayscale.png"; public static final String INVERT_PNG_ASSET_PATH = - "media/bitmap/sample_mp4_first_frame/invert.png"; + "media/bitmap/sample_mp4_first_frame/linear_colors/invert.png"; public static final String VERTICAL_HALD_IDENTITY_LUT = "media/bitmap/lut/identity.png"; public static final String VERTICAL_HALD_GRAYSCALE_LUT = "media/bitmap/lut/grayscale.png"; public static final String VERTICAL_HALD_INVERTED_LUT = "media/bitmap/lut/inverted.png"; diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl deleted file mode 100644 index 4948d15c40b..00000000000 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_es2.glsl +++ /dev/null @@ -1,30 +0,0 @@ -#version 100 -// Copyright 2021 The Android Open Source Project -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -// ES 2 fragment shader that samples from an external texture with uTexSampler, -// copying from this texture to the current output while applying a 4x4 RGB -// color matrix to change the pixel colors. - -#extension GL_OES_EGL_image_external : require -precision mediump float; -uniform samplerExternalOES uTexSampler; -uniform mat4 uRgbMatrix; -varying vec2 vTexSamplingCoord; - -void main() { - vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); - gl_FragColor = uRgbMatrix * vec4(inputColor.rgb, 1); - gl_FragColor.a = inputColor.a; -} diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl index 27cbb571bdf..aa238028fc7 100644 --- a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_external_yuv_es3.glsl @@ -104,4 +104,5 @@ void main() { vec3 srcYuv = texture(uTexSampler, vTexSamplingCoord).xyz; vec3 rgb = yuvToRgb(srcYuv); outColor = uRgbMatrix * vec4(getOpticalColor(rgb), 1.0); + // TODO(b/241902517): Transform optical to electrical colors. } diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_external_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_external_es2.glsl new file mode 100644 index 00000000000..6f8dc5489b3 --- /dev/null +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_external_es2.glsl @@ -0,0 +1,79 @@ +#version 100 +// Copyright 2021 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + + +// ES 2 fragment shader that: +// 1. Samples from an external texture with uTexSampler copying from this +// texture to the current output. +// 2. Transforms the electrical colors to optical colors using the SMPTE 170M +// EOTF. +// 3. Applies a 4x4 RGB color matrix to change the pixel colors. +// 4. Transforms the optical colors back to electrical ones if uApplyOetf == 1 +// using the SMPTE 170M OETF. + +#extension GL_OES_EGL_image_external : require +precision mediump float; +uniform samplerExternalOES uTexSampler; +uniform mat4 uRgbMatrix; +varying vec2 vTexSamplingCoord; +uniform int uApplyOetf; + +const float inverseGamma = 0.4500; +const float gamma = 1.0 / inverseGamma; + +// Transforms a single channel from electrical to optical SDR. +float sdrEotfSingleChannel(float electricalChannel) { + // Specification: + // https://www.itu.int/rec/R-REC-BT.1700-0-200502-I/en + return electricalChannel < 0.0812 + ? electricalChannel / 4.500 + : pow((electricalChannel + 0.099) / 1.099, gamma); +} + +// Transforms electronical to optical SDR using the SMPTE 170M EOTF. +vec3 sdrEotf(vec3 electricalColor) { + return vec3( + sdrEotfSingleChannel(electricalColor.r), + sdrEotfSingleChannel(electricalColor.g), + sdrEotfSingleChannel(electricalColor.b)); +} + +// Transforms a single channel from optical to electrical SDR. +float sdrOetfSingleChannel(float opticalChannel) { + // Specification: + // https://www.itu.int/rec/R-REC-BT.1700-0-200502-I/en + return opticalChannel < 0.018 + ? opticalChannel * 4.500 + : 1.099 * pow(opticalChannel, inverseGamma) - 0.099; +} + +// Transforms optical SDR colors to electrical SDR using the SMPTE 170M OETF. +vec3 sdrOetf(vec3 opticalColor) { + return uApplyOetf == 1 + ? vec3( + sdrOetfSingleChannel(opticalColor.r), + sdrOetfSingleChannel(opticalColor.g), + sdrOetfSingleChannel(opticalColor.b)) + : opticalColor; +} + +void main() { + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); + vec3 linearInputColor = sdrEotf(inputColor.rgb); + + vec4 transformedColors = uRgbMatrix * vec4(linearInputColor, 1); + + gl_FragColor = vec4(sdrOetf(transformedColors.rgb), inputColor.a); +} diff --git a/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_oetf_es2.glsl b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_oetf_es2.glsl new file mode 100644 index 00000000000..03e75083c3e --- /dev/null +++ b/libraries/effect/src/main/assets/shaders/fragment_shader_transformation_sdr_oetf_es2.glsl @@ -0,0 +1,52 @@ +#version 100 +// Copyright 2022 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// ES 2 fragment shader that: +// 1. Samples from uTexSampler, copying from this texture to the current +// output. +// 2. Applies a 4x4 RGB color matrix to change the pixel colors. +// 3. Transforms the optical colors to electrical colors using the SMPTE +// 170M OETF. + +precision mediump float; +uniform sampler2D uTexSampler; +uniform mat4 uRgbMatrix; +varying vec2 vTexSamplingCoord; + +const float inverseGamma = 0.4500; + +// Transforms a single channel from optical to electrical SDR. +float sdrOetfSingleChannel(float opticalChannel) { + // Specification: + // https://www.itu.int/rec/R-REC-BT.1700-0-200502-I/en + return opticalChannel < 0.018 + ? opticalChannel * 4.500 + : 1.099 * pow(opticalChannel, inverseGamma) - 0.099; +} + +// Transforms optical SDR colors to electrical SDR using the SMPTE 170M OETF. +vec3 sdrOetf(vec3 opticalColor) { + return vec3( + sdrOetfSingleChannel(opticalColor.r), + sdrOetfSingleChannel(opticalColor.g), + sdrOetfSingleChannel(opticalColor.b)); +} + +void main() { + vec4 inputColor = texture2D(uTexSampler, vTexSamplingCoord); + vec4 transformedColors = uRgbMatrix * vec4(inputColor.rgb, 1); + + gl_FragColor = vec4(sdrOetf(transformedColors.rgb), inputColor.a); +} diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java index d967e104e51..2d9c49cb48c 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java @@ -50,6 +50,7 @@ * *

      Can copy frames from an external texture and apply color transformations for HDR if needed. */ +// TODO(b/241902517): Fix Gamma references since intermediate color space is now linear. @UnstableApi @SuppressWarnings("FunctionalInterfaceClash") // b/228192298 /* package */ final class MatrixTextureProcessor extends SingleFrameGlTextureProcessor @@ -63,10 +64,12 @@ "shaders/fragment_shader_transformation_es2.glsl"; private static final String FRAGMENT_SHADER_OETF_ES3_PATH = "shaders/fragment_shader_oetf_es3.glsl"; - private static final String FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_PATH = - "shaders/fragment_shader_transformation_external_es2.glsl"; + private static final String FRAGMENT_SHADER_TRANSFORMATION_SDR_OETF_ES2_PATH = + "shaders/fragment_shader_transformation_sdr_oetf_es2.glsl"; private static final String FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH = "shaders/fragment_shader_transformation_external_yuv_es3.glsl"; + private static final String FRAGMENT_SHADER_TRANSFORMATION_SDR_EXTERNAL_PATH = + "shaders/fragment_shader_transformation_sdr_external_es2.glsl"; private static final ImmutableList NDC_SQUARE = ImmutableList.of( new float[] {-1, -1, 0, 1}, @@ -152,6 +155,7 @@ public static MatrixTextureProcessor create( context, VERTEX_SHADER_TRANSFORMATION_PATH, FRAGMENT_SHADER_TRANSFORMATION_PATH); // No transfer functions needed, because input and output are both optical colors. + // TODO(b/241902517): Add transfer functions since existing color filters may change the colors. return new MatrixTextureProcessor( glProgram, ImmutableList.copyOf(matrixTransformations), @@ -194,10 +198,9 @@ public static MatrixTextureProcessor createWithExternalSamplerApplyingEotf( String fragmentShaderFilePath = useHdr ? FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH - : FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_PATH; + : FRAGMENT_SHADER_TRANSFORMATION_SDR_EXTERNAL_PATH; GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); - // TODO(b/241902517): Implement gamma transfer functions. if (useHdr) { // In HDR editing mode the decoder output is sampled in YUV. if (!GlUtil.isYuvTargetExtensionSupported()) { @@ -214,6 +217,8 @@ public static MatrixTextureProcessor createWithExternalSamplerApplyingEotf( checkArgument( colorTransfer == C.COLOR_TRANSFER_HLG || colorTransfer == C.COLOR_TRANSFER_ST2084); glProgram.setIntUniform("uEotfColorTransfer", colorTransfer); + } else { + glProgram.setIntUniform("uApplyOetf", 0); } return new MatrixTextureProcessor( @@ -252,10 +257,9 @@ public static MatrixTextureProcessor createApplyingOetf( String vertexShaderFilePath = useHdr ? VERTEX_SHADER_TRANSFORMATION_ES3_PATH : VERTEX_SHADER_TRANSFORMATION_PATH; String fragmentShaderFilePath = - useHdr ? FRAGMENT_SHADER_OETF_ES3_PATH : FRAGMENT_SHADER_TRANSFORMATION_PATH; + useHdr ? FRAGMENT_SHADER_OETF_ES3_PATH : FRAGMENT_SHADER_TRANSFORMATION_SDR_OETF_ES2_PATH; GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); - // TODO(b/241902517): Implement gamma transfer functions. if (useHdr) { @C.ColorTransfer int colorTransfer = electricalColorInfo.colorTransfer; checkArgument( @@ -277,7 +281,7 @@ public static MatrixTextureProcessor createApplyingOetf( * #setTextureTransformMatrix(float[])} to provide the transformation matrix associated with the * external texture. * - *

      Applies the OETF, {@code matrixTransformations}, {@code rgbMatrices}, then the EOTF, to + *

      Applies the EOTF, {@code matrixTransformations}, {@code rgbMatrices}, then the OETF, to * convert from and to input and output electrical colors. * * @param context The {@link Context}. @@ -301,10 +305,9 @@ public static MatrixTextureProcessor createWithExternalSamplerApplyingEotfThenOe String fragmentShaderFilePath = useHdr ? FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_YUV_ES3_PATH - : FRAGMENT_SHADER_TRANSFORMATION_EXTERNAL_PATH; + : FRAGMENT_SHADER_TRANSFORMATION_SDR_EXTERNAL_PATH; GlProgram glProgram = createGlProgram(context, vertexShaderFilePath, fragmentShaderFilePath); - // TODO(b/241902517): Implement gamma transfer functions. if (useHdr) { // In HDR editing mode the decoder output is sampled in YUV. if (!GlUtil.isYuvTargetExtensionSupported()) { @@ -319,6 +322,8 @@ public static MatrixTextureProcessor createWithExternalSamplerApplyingEotfThenOe // No transfer functions needed, because the EOTF and OETF cancel out. glProgram.setIntUniform("uEotfColorTransfer", Format.NO_VALUE); + } else { + glProgram.setIntUniform("uApplyOetf", 1); } return new MatrixTextureProcessor( diff --git a/libraries/test_data/src/test/assets/media/bitmap/README.md b/libraries/test_data/src/test/assets/media/bitmap/README.md index f5593aa648b..5552c40d5c4 100644 --- a/libraries/test_data/src/test/assets/media/bitmap/README.md +++ b/libraries/test_data/src/test/assets/media/bitmap/README.md @@ -24,7 +24,7 @@ To generate new "expected" assets: ```shell adb pull \ /sdcard/Android/data/androidx.media3.effect.test/cache/drawFrame_rotate90_actual.png \ - third_party/java_src/android_libs/media/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/rotate90.png + third_party/java_src/android_libs/media/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/rotate90.png ``` diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/decrease_contrast.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/decrease_contrast.png deleted file mode 100644 index fdd8d4550f6f9c071e03ea70e2a43aa7499424f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 271917 zcmV)bK&iipP)Px#1am@3R0s$N2z&@+hyVZ}07*naRCt{1y=j9pE6yb-LFBFO-`z8RdETy@0h$kD z--*RxJ2_SNN!tNp3D$#<@c;Zj|1SXm5D@?X{P(~A1*H`H&;R@nXstmA0RR993={&0 z2sXLF_Oro1KmUM~66CgV03u*X{IA*-5D@(S{=)CSzwqCG{|f>Ul-7VwDu56Igb?t* z{`da|fdc;XpML;N+BSb=)eisj|NReWtsn#fx(xs4pZ^7NlklH^{sVH`V3QKG z)<8sn=+h^pNQOx){^-Oa_^23^b{^OdQbCyFaVdWtSJhnU{eRb634682{=0+LD(FuL zLLf*f-S?I}`&nypGK3T$P`EMa3XJ4pCf@0UC!-NjFt*z7h5RSu(%ZH{jQ%`^+taTm zU?0%M`IwQ^YW-N2bVG%8tLR8v`yA1&VQl}g;|wB#QaTDxNu5+`!G*QY506!NwnER1 zkx%!(&&7Mx9G-mtBOoHPK1Xh^WWYONHW(pM% z&G6>WP0MH?GXS?~Mm6GawNY7=j3dka5Sd6S4V; zh(K!%T5DcJX!2uU5Do?Z$O{bwfyt0;UNo7qk=8(h2TGBU5K%Nl5GX)OyAiS(gQ!k5 zX%JelJgtE&VRK|*k;qf#M~~=Ug?Ag*85@sV=r-@0l%Npd zpMQSfzyBp5GAA77IiFfEaX`OJgaEJx2BL6;hJ|IUq?ACKK*$}GQo-T?jaCML78-tk zci1)w`@X}rZ6KwLbBw&O5Jr>a=jVsX7Nr4zfRcs2O^g2m2qB?)u$(4l${RN$&vZQ3 zyzZaa78X+EeF0q`=gAfw;Yb90>SJJ^k72dz43>lsC{s zOAj&M7^ex8&H#Hi0dh9~&ufQ#wgy`(b-UVidu#~F!hX(1=I@V(8&m9uaK8Xx_Yq-m z_k2M7<}^2u7tEG8kWzvW2uhWrF^QpxH8`}114tmu!rQ-G9vBf3P_Wj8qTOqZ0D!jH zB>=4zXcF!kNnRJRJXVDl0H`^&M2&?sffgFb<`amC7~6Q9O3XlQfqw<>qs;Lhxmfr+ zh;%P9RXa~|lqTQ!)F+S>1%031_13`leqq(%3-DMa*AqUp=Kb2nVwaeH1LoFK-I!ln zDc7M_MYZSV_mc;>8Gka1$KUYd8K@wbSkV11xfq>XPl=-ch0PfNyhexPJ{%@U-n&@i zxM=*S>8XV)Szp(sL@fc5{CY3{cH8iCxOrszfV#9M-)gW$+7^~PF!nHHV6TD+h+su+ zNCvGGC`8awf?$31yjIEE*x0rWlvc3syH7KKCIYP#(6+g2FhYo^Gzh?C2?@}Mux%1Z zE54_b6r6yVGTh0`0A3jt zxtd}(_};jdCIZwNv?f5*W_QALfz2svP4Kl6Aq{b&G-%RU+C&7(*!ECLIgJu-1>_qH zSk-s|LP!uofG(?>uuP>vNCiS8+YJ$d8=E!VQ94Q}*0d*j$bMf7riDKWdp#w^{OL{F z*;c=*p)@S5n)+0XE(Q8;_+1uCZ;}m0tia)agFkb`+{QyM3$qU=@`-cvLaJgMCw+?ZCm+td8VTH+Yvh`xHuL7`PbW znogi;fXP#D+Alfv92`4xg2QMxSb~F%cxo_4`2$1~smrY90 zQo=5FfD#{J}CC?c3EDguZE>_PzTdvWp4c~hX304)Td(F%$BXsy1g zv{Itcvas++5!&FeixxyXKpDcb)lZVX6?!LFFtFnuKt=y|cBSz*>-Tk<8)w8u`cY%@ z9#Y+D-?nd@#bkuTXo{owu=f2l(Xj9kp0y#+m2WjTphImqj|b)l0vNS*<0HHtx2M`6 z0_rt1mb1tCg=_eM2QzR#N?udkIxhHrtSWjMor6-3zK5h-{&%Z6a711huOMK87|jR{ zyKJ!<7gBEQO3i3-5CEVxCTN)kA~rgz5jIVL50?1#CgSYCyLf^Put zF<1LB@f~urFpg{9+j%1Y?sijH-Hv40w(H@8jdL6Qqc~IhQ#qS1-dOv3S^jTI|LOc+ zk9faWwY!1Ek2mG#x?t1kBK2QX=Xu6wM27s@af??}z_7ML2>AKgVBde?*Jx6d^T&2G zq})Jj8`1DK}?CYYnIrz|ZD> zMa1GY87CkhIS{P>nDAms-bIfyaSIEdg|M9qAsk_8`z&j9jBUVdzhSRU`ehYAOFkqkx3`!K8`n=C=NI0hf*!=v zBgoNnQ*xi4#f1&HqW+D}gNi+=H0e<(to>=Qeq8oHuOD1;uvsNO?yrxh4`yqJ|5Nb| zo@qX%MDyRcTlxOr=k9oIch6Mx2K_2r2Nc%?$@LTaYore5ejINzh!uhZtY(A&L~_~| zZUbZTX^95X02(!*FkV%(0*R7|67t47`Sc{X{vrxm9OmYS)!?vc3-b0i99LorAq0Z7 zHbc}NI7W#TX!)uNxv~fmy05n!kJd2p z86{YlN1-1C2l1iyMznX0KNO`}oY!(0jeT<~?P+oyEoEmhR3SLf7#c+&LfE#AJ)3A9 z?C&Wc5RA7It^G9+DL{bm;f$(EXuz~|O@)A>D=Pd~!?qEC5KvN)XXB;PxVDw-DJ7{e zGI`WWff5Kp3(#7C+(ez=Nb4lh;#kDS!aLyTz;w-tw7Gfa?C#j{-D`1-57GV}?^(6q z?*kv8VZ7iQ^2OJC{#~_ox-?k*a!-0CnV|+|Vg2+vVDN7{O!?ajP~$3sLyjzHZO_(` zSxo1$7xK(D=Yz31m}w_a5rXW!dZ8g|FzlwyUN%FccO#iK#W0iK;@>NhoR z9#P&^Q=&Bq+<;GC1>EgUwUKg`2Lc2{atH8X(An|!?0XrfH?C*_txAkX3Cf;@=L5Mel~8F;ZKcfCpQbHlP@HDKcO*plGK#&U?Zs}oi*=#a<6I4 zhKtapBh^Fi<CSz4yI%XPnO8L&VQr1MDTl z$vORkcfs{l9BkUr{_?(K#WnOsX?2RxzqR=^ib;h-&dCABMz3B`u@J&sDcL08FG9&; zh1237PaG6aVUf82;=^8$n}luK;CKJEN)bT@*)6Tsny;29PFc#_FsL^)%GxITzH>z; zS+FDw%Vh16&>KvjfWqo4S`^2^Uj`x?x6-@)C9tEzy`wyd6zGk2BsU)I+;-sPk8%AB zj{LP5{KE&WEc>%7m0ZABu%p1{*Yg7Jj-9MwUP*4uX-oKPu~Gj4>k-2L>whhz`LYgj zG@bX^Bmf-H-}vzH=QQ56{LV;dVSYh~uAT=!U)~z;uAa*d3Yv-Jsl3H&f3cQGAp^nZ z_Zr8}!7S9Q?V8doGIN;HdN)H1*=yjJ23Y*veG3ea`f5m&1~Lg03F^(uwrMvB4tqK) zgfKQP1Snnb?HX)kG9gk z_-|nh-&t1==}RY2$B|}x!nn?S)NS9pyKsyfE9|!=%*SzWLuE-orzr$eko_{<} zmgiloqo)}aeW(2Kr_4$t^?#kV6HJK z158R<6kvx7&j$oCDEgDc3vGFh7i#M*KTseb@%0ZOCE&hC+8I%1ExCb);4p?kxeUC@ zz~HqDAz<4!V{1dj0{}63pw!N!g_1x*18L#z`$wwVfvZ>{g}F|{!F>Jz2sCJoF$seR zAaL+{O8z;lgLj><78dS8=<1NWxhFXsXV_RVA&|NC6`UH;I5~1_pL>T6?IwZp(BGfr z>VbhyHg8y#joE0o(Z6 z;+5tccUG8aZ!{0$F%J{s1B{5C*j^@r5=j@9{V{srYzKJ!^E98n-uq)xaEXsfux-*J>kFWCdyPqIA9gzl`0EYz+~}t`61Hyl;&wEN&sIHL zlV4;vvE@W4)Jw27E~JEQlkoe?hB{e@zZgyk0GdD}f+o#gSEP)x>-a9y2v8shDFA)} zh%}QS5af!`5hg?$NE;P)k!W$aJA(q`wt-R_YJN_XQts-EHlANLA$YfrKYPg-M1aPI)Lg<@y=rR3x#pE5E z!91aA(Mjbf8dp6r{&3&;8562SRo_ncMes^xwQ$|s_Y`)Xo<2?@&wl(%Zl~cY4W@-Y zu-?907j2)Iy5^sVqS{r`XiXe$uKI+d7ydbIVy64%$}Kq1{9jWSA3h8eXX*89_d28WMeJ)iKE64um6 zM?M0G>~N6rbmGWhE6-&DK?v*pB((2g$rax8SW<$uNJRCe31PKD1PCPzA(EHH$&>=L z(m+y!cY8aBP=n=*M~a1oGLpgF{p{Stf>UzJ5e|10+roJ#JgG|Zh2zTb#5gbQ4dmP- zt}L{+akwspQ;{=a_cr9{{K2d*df@@$+%ih-%H6omVz{^qZxOEntli7EIbH^Rj zzoCQRBMNW}=EvA_jFV$^Bl`8TKtbYUBDHnJxR{EBK>?T62}0S3W#~>m8F#XURe0iD z7^3|8^m-!c9q@eipU%O<l$+LaJ{>NGy`DBvu9oebhg**S3ptq22wb7)kR345- zQcr(G^IwPHFpFtxAT-qCkczL2lyX1-WC#hR6l~k(G7}RLo|KSA?ygIYXbs7sls8^V z1k!DM;=H1g=6ys75cWe~5zz}n2r!*=Ovqww{V=#mO#FiB=#;dM%D@rNJ&&(P&(3Qi9rd&{~^kVSxy=CQw>~Bwrb&#f!}+%TvZ(tgTcG zM6$6_kYMinTVtpLEr5EVzI)+uAvL?$xb*$}`P7G^B;+k+y^AP$QUs8>iA) zkNYqMgV>DoKqhDU&JAU5U7hH}yd~XH^u3^TC7g_Z9#(6>|7(7a)~a{pbKtNr`F{Gq z?QlQ#w;i&ZZ|Mz-5pl)5u~I}h_Dm8SEQGZk0Ar=^qzArwd@K?@B+RJ=B1 z=G6075KI2tljns60H}{NEn6H;wKaU6G8~N|%sjFo^6O=`uRlMry&Q#l_qAQ94}$Ir zb z9YHte4|hO3IUqiDdkCWsaSJJv%H{W63VCOd&K^YMUa^7?Rh<9|-jkn$Ss8$mOA~h7 z7^Px@aR$@6rx_!oek=-YaafIt5{SsSi}fT2dq7FgV`I$_<+L~;3F);$JkgP7)M|b3 zHI*$PRq{n#sKqgj(u-ZQ_QIzFlfRXX839FC&v>B8JAgMxZ2mDMMbtMjT1ItNP@M(B z3;W>RYUcLJPyQgNpyW`^Rq>m_WvQrHa&d-7#P#>|P?Ns%ObCBPdugrx z4n>Zi@la&OBE+n2{b^hLR#WcCh3e$3XymjRq4PY&+nX z>_7aQGAK}hj&?=>nwZ@9*?x?nP%@evL83{1w{3&p-`(oN#LtPZ zlqju1D$c7Evdc{Kr=LSovHJHI1V7(Y*YVOR)B@&%cN& zPG>D$LKOI&b|U>8WFfKzQ=3Hd<`A(M;xdg3izD(5GHji7<}}L5pPd2Ewz6;7%U7geY~aAVSW%c`v`-6?z2sw$Pdez{`k_Uh$gwh!0z*qkk1fcfy15 zs;FrGp(ihjgk#UYY+aF|o`n(Aig#zjNXtWUJ>}^i$V};c46Q8xaKZ+MeR*~lVy=Mv zY@pN*zgCkYNrJQng$N?h;*ji*HA_JV4D4$NP`ir58Nt?@3Tg#Xvn>u3mIyIj-Pi*W zLc+EY?E4P;zPpoPSEZT&ga%CrME2?nrw=eP(D9WRdz~h<8S*{2dKLVR_~x=5Lv!49 z9h^gjEyNNW09N}Vj@zUF-6D(04euta(yzYswY5C36yHmsa$a3ErMW9R=gTs6V=fz_ zPoErCKe%Z*h9{NZFMBS8$6inUBY<8 z$f!-!5FA7Va@*kd_ZNf^i53S3&a^nBOiuLtU3}K!@b*2@n&A1~XmKdbo>fS&W=NPn zK)xm-5KyBdO<0KEBJjG1Tpr12h>!>>thLiC1RyfTR=;5K4NKOohK0Wegs4B+!QKxx zc1RoS4uu96Zcg6SDad6AH=LA@@=+f&u3`aR(=SKWEAvIu*jRY_wRQx|Ul&S8ymJiO zb?r7R$*bp?WJ&YFv@!dTJhb;hds@kf-Jf&0q2$*IMyU`#Mg6MlOLmrpbly$;Spip{ z@Xq1ssm!-x1i--yCape}@_8_-4be*Z&RXhcZY1?#Qx8{m(=g47-0qxn(niHug5+G< z9ZhDc24Qzl*Hw=mK_{f&?m2M7*35L#Ot z-unq_NMN#?@db14Uo`=2=1zS`Oc>i9S{q}dO7ZoVWI!cgn;9rH?7IRKB4Kb`P5}Xo zu~7-i$fT&+8Cq*ly8`-QJ0F%5nW+{?uF4S5fkpMg!UrMSC!inbAv_EsN9c+u21U_A zTfpHJ72c4vHke;Ry(KD(-7&NxJ55@wEg$3@}@VM#yIRHpme|W8}99iElLg zpIyq9gdCGON|a4TbDS#1YOw%rZIJ#wj;s1xd;H2*G(9=9$v-=8KHoi_&%s;4YH(08 z5rr5&tpEV9M*qurR67Cy>IIogbawe6O_ zl}`F3B#NFmP|jwdY2Klvo#6)xwNca5`t_A?Et-$N~ zhbsic(k>NO7FMzxJ|6pE`c<}Jeo5H>rS@YxShOWO5Wj@}0{N;J-ddu!-ost#UKRUn z4KLh<%==lfHP`z&7Pn=^lp0S4-v7xqf2f6Btddcc))_``?>(2zpAYoo0aoLRBaV9D zgxmm#{`F+X0D|@w5%V+oDT$qYI>B3d5z!=UcESxZW7Glcct$GgBsh3Q#qDA&V}(pe z#O_!Ph|eH3X#ixK8A>Av(jY-V+CiLFh+u+a$KA+`RfRPXpwgfvlN{BY+N(5@VAB$Q z5rIJa6VGrHMr3SoAZSe>Wzth-R9{W?v`=8CsPKh_>v47SbKMFH{eg@|27)k@Zpp8< z-?V`{ivR#107*naRH*n)$Jf`c?=SDJVO7f?*G$ZiU%kW_s+*J5*Nr}uh3DSk)r8wn zSt{M&QbMC4a6Fx~Rd&dYVNxQcHR{nz%kM#c=o*~fp~U3IY@W}I3D?xmA~2e`d;IJm zTA#Y(&|*Ny`2rZ1(g)XiTS)Q?*Aw`+MAYl6&*0zUI#cL`ypTZF*!nmg?mr82|S_{xx0cpuL zJPI4JF)RXO;qSn;cGu(!gOVdUnB>T{q=M}SrUpv?ZeNP4fh#WD=zZFv=F{Kg9hyY% zPPPHGD2m>aWmsS*_*ewDuo})ly$5+i$0p>l!|G$<*An9W@lo#wlWzq=Bh{*Gi>UpS ziEHQQ(`K+4j2u6V?r=ktWzICm=WG2m1Kbuldq-tBo+ULxHp2@$H6*kc_}P=J>65Qo z&SxsM4eO9&Bo`EYOOH0FSazKCJ+z^B*eLkX|K?u ziqZ-Y(71W^Z(kFE)@;**G?`Q0(&+0Occ* ztB-mFXXjQN7)%qBc9S_cJA@t`p~mo0Ym*`h@9zbLs=XC=)5KggQ_5>!*y|=lY#g&D zBjkTs4{Lo4M1OU9|2EcXeg_fL=G^{4|4dZKH$0J}!Gj~L$(y2PaL_inO z?`=Z5gXelkLphuvID#xVlEWGY-Sc3?nk$;v#j8{bv=AT?L!N$o4P3_VtntAr??D)& z#i6tUp#}eEJ*6ZvtyYMT!fAydT9>k3o+dUnsw5jXt&%2{s>lwk3vMzO7QO}1z94G* zR-39kjQRCZ={fSqYzJxd_HCFtJ#(!2A)T>9qzBdGtB}fr{A+L<6Hxj2{!+e1OJk1E z7_93HC9Tyeg-PcC-E$CGl zKYM_4ZU>XsKNde0BhvYP;BoCv?203hqOcGrPsYbIFzf1<B8PthQS1}$`k|t@Yl0ni z*z^WM2vADH*7K$k?JDf%%x=ccZO0C){w^%sh|)GKTJE5q0N4wPUlYyP(s1i2LuPsk z_uY^Ft_1-EW{;B7pMVH@lHw>~Iw#Fd{k`RSSgMq|_g(pzoh;Yk~iH>yYHdj<;`h#C*om^ABN&g$) z^F?UZSUT_=z}1`avobzaOT)=-vo(V<4kw;T=*yaVIkPb)Qyfho>`b8wQ)t(|zlbe4 zxx2h+9NEP@yMInZy?Xq7hw=Iy^3cLXJJfU_Y|bagTS6vsL{N)Ks6Bdt+w?V>S)k@q*+KnrcXdsTeBw#ZCCbJRQMM^ND%~~+KHjH*TJ5cr08f<8AoCYSD&-NO?BT7DNZB^ZTox`3 z*9q8P=8c!*nZEbg{rzLJpEL`n?j6l5=QX-|ILmL;1qYFCBs&g|7K7}_rQ>%2*ShSy z0TcYgG0a_O$<7Th57SPkwca{Vm7Rfk#}S_6@oTL3Vl!r~lBzO* z@?71Vui19NyVY`*0I9W&NSngCJGDuU_LkyjxG^%+2L>DcXO?!-auzkoQwJmI9bTY z>*(L*;Y>;CLMSlh_P1O0T5Ian#pXvZH8JnzK5^(AMF-kph6 zk}l0B#~GHnn4Og)KsKMZ6FOLm+KwS(IxH>x9B~(#H9C4*>!}F7 ztL4{QT25({^Kf`qdjWb4^fO3}E7F-3k!{+2UmKQqN&S>tV{!3ub^mMy3YvekAT>L- zY;k4&e$;wD#f|NKUi2r{WUrL%GMzqQeiU{-Mj&i&(Tc|k;gRZDWOw$jtJk}_NWLc< zOerc`Z`W|HeRf5Da`UaC*OE_4kE~Nay(bynyH7-qWK@XF4#)&;E>8%O`FbpKk@plz z*SlyGCwNbCiIGveu&^5%6au6app!$nMAHRgkD&9 z4Dr~75Nay{Ks<0Io>cgX%3vZ^7TRkqKK|o#%aaK9ZuWa|GAT0Su*RQcQi! zgxt8IPoKuwJiN$@3c!ID92r0zOXDcId3%Fb-Na=5%=g#Px5o=EoFVnv)6R`}U`{EN z)m)5ySEZE>6fItK?goG3V_I(ePO@cUJyr@WL zW5W-w7-d`_yP(~EBq+5zcd=2P2|#HLs1-;hfP`i;#83;CW?{mF_J#O$giVATY!S$Jy1B3+!O**;bdZ1 z{W2PVu5O0&G7P&~!Th&Lsl|||@?RfE00|=A!%fKW(&6J+`*}wK^v3NZ2mSUVy1&YV)^! z*3l{|YH@^i_52kPFV0(qs}dbymM~sd_ybLhlE-LZ0w8VF2m}J^DI=p}@E%oIi$h2W zpj42fpgd$4mq3dn_kLmvg@)wVK!{)CW;Sr!N_=`lR*S>f;XuLK8a8iaHw1{zt*w-j zwKxP{OR)pK)e6y?ZE{l{B$GciH(`@?cApQ4&1W88I)NMmekp4 zd96sjEofWnaGHbdr`8(|3cm#7ZREkm&Mum%SJ7{c6o8jR*v4Eien5d67#WBp0{^w1VSaYOe^UZ(ID zh>_+vUS~Kk2<7LK^g!WRa(xWR9=-5${%`<>-O6)3{uP5E08&C{q+@?Vq8=ePx-lkq@y(|Xx8t*S&*!Sb zZs3ny@hAnKB1mrFlZw?x?KHz5JCDn07JhJEAZ&obVS-&|#n7K0q*S1U1g$ls zcWVHQ*2S(s3&9!^C;(-6RfU-#1i|(?HUg&&g3mN1QtmRXuc_B0))jg_Mtq|*>#R&_PFSOOVu$mzNOiaYm*zN`aY}*egr2sXU zm*>+a0+YAEqYAP%NkJ(*OQYyv;h22g*6&aqYPk?jOh7 z8xg%1;oLk{6Yo}EwX@tpkRxI{qG!Yu#SLV?U4Sp?|2Gj$gB9Ei<+L|yk(z=>8{fOW z#~aB1+Br|MjJ3KD7)9!>Imq0O;lJB_X4Bjiu2>{yPNkIW&1B!1QM0ZT2z&z|0MZIb zOOrW&)g>w>A^@^6(rw#d|NRY0VB`XURvI*FppDbW$qg^{XWKw21^)s9kn(aUxQ9jB zX?C#95Dfql^7?C6zU36-e_I$)+Zn;TO-vRui_Jl`zlpM5H>_ag+YN)k^P;8`_HWPr ztAR*Bet$2B7O1n4r8khtMkzwoxi-P*yeD0@vnzg_gwJ!-Rw9A@gb)C<`(npk%EBDR z2*K~r(oO8Z4&4_b6IYa9KVv&vZ{dh#Tk&hR5mY=RIGyfLzYEJem;yGxHUj6n5fa8l ze7JHgodPwFSSdJ#!mD0Nkjo3_iNhFwA4S}Kg1B%Gs{R)3KS2u}?C-BbZHH9D11cN? zDMmw5Bm2$VzsoDR3$w#RT@|Ap!92G087cRL^T^nu;&qrw{*tzmOqw-jh-P+di7fj? zu=mvR#BDz!fKi-4K+qb1h~QT#_}%yGy{M!>qv>Fcd1|GKYYq0M!WtaPTmvD@H$UE+ zitye~C^*rz4HU_EKGCe1VT_bUvREJ>3P9AbZ5wE<-L<1orq+fuF~kXq@s{Of*-vXy zU-(Nv)6dXrT-k2W>kerc3Oo>fL07sw`_r?^nS`K|*x+XV74NWl4{G$+(o-rvDzAse zrH(~uzwBGcjlq0i;ZrquB}hBHTF8kGKm&u%iMDxfvmWVx1JSR_#=?hUpfmQOzZ%m` z{$wU^;y^}obzs&A@a+spf_!5+88Mm1Cf5ybjgwP`gI#_T-MV%|vu_B~%=6+h1BwWg zVnqa{6ey+cB{-aWNMvK9o0RaYHGtLtXxv1aQ(7iCyn9#D#NJO>0z_IBh-`~PYWC2g zRlH#W{;O0XFCl{vjRu84K#d@`4aB~KCgp{gyfMk4SRM%wBp@@ulGlLCkb6%Q?%1x_ zp-r5SeKh{qK>aN+djx?9gb3Q6jGBIB|5rUPCmY(F2a^UsJGj<1rvrW9P4)+ElrvYX zuax~Zf9}g?^XPjRw`y$+2tSm3;vzw)PH73yqSZ^gRr(YMnFWMG?N%c)kS$ zJDI?fknMMFe^kh*|2Ze|sG@#fA~)XEz-DAaAQ}rO`P`T-%=nZjxi}TU6Pdd=(p|*H zy+;b!m$nhJ&cbOn$-)!N7TJ^Kp9+q_zo~$1c&Pc$t#hw{;>zi#!8 zQuzm?x0ap*4f#k@FB%oK!XOc72#tMLhFbtoYKPtM3>SJ)DHnsiPE@x+RTAGw*L1Zwl;)l^bP0mF0KWb*|&{0mJ?^9v4yfxgLHA35^c9;o@5oHV}6_llMlti`cju)0J8XTiT${NoWX}tBJ97ZJElb z|JWDW4KZ!>Fb><)t--uJBkQ}`H~wj9QrwDFJtvV)nppU~5jQhR(31aZ1exk(<91Dt z$pjuHW-i316C_#oF_|jT1z%+Wcvm;LLN3iTwnErw30gZ)Dg91Sh-TI@k%b3#`102w zKm)?B(tKM(X|Ks)Zi&3$ii)|XL!RW=fA{#r#eOg(g0;gTv@&)xa)tv5L7?!qJ&YEI z-x?UliJI@_Sgnvy^~GzLp!?l=XVFCQJ2qSdduLJp>Pvc$x49o-SC>!s>4k-t1Hst3 z@otzSW5e}mfj)yLC-ZRMxDx)xGJPQ0T*cUv!B^Q1hJ`>^6B`2rL!apwml3H*oNw=D zsgeJBn26}HQXk$&&t`w|I}c-GU`ad1wG83|7$E<{pe0;Zp5`|09Ozvv-x`nPc0ihe!24D z1(+o%qAB7)gMXLm%1%fRcGQvboE`%jiJYy^vl?WdGQQ2AMNCk-*GeiN?HlRlGf!+b zch4a#+w{E=Ft;usE;8{yZsx73Tz50&zn0#g`$@PT*pR3;&PgaDH<$ytRD&aLEPgG4 zW;1WJID`Z(f=!A6nSVXWp@FmpLe}C4%WXGH7;14S4H3|&z#HqTQffd{AOxmd6F670 zO0gD)vlU{EAo@JI-%UP+Ihp1FGcAXlq0>4hSn7p^0Pi&P+PoklARv1oO0RY`ClPY{ zS#sCV5>g{wz)|7169qUTV(ePVxy-o{0wX$oO!i@dU?Adc>$>By%LGG7Y>U(wODJ!8 zC26%3<_Ulq?TqR#!|B=jnb{Bxq~8mXMo1P^-YIljq}vzt`r$hbq9we0{<`@10(=&t z>K>UG-*o+%4c{~EsHSFL3G)&Xb;r+zAxxA~o}mgh4_ay1 z_ubj+_(%Lxczd-T6kk)ZS|xr171txVlc+UN_3*?sh5qz1uu=Nrag<@T4E#GH%>U^=z_Gzqadz5sMp|!uMt=UjM3m5jq>;Y<%by{02;MDYbl$ zNjS3h$cTmx`8Ayc<{wA452Gn|^E0w;?>!n&Cd|j#!u*8Uhi3Z4*AT7?YVvwKRp-}_ z8hmfb>Iap-gb&aD^GG|8-B<+uu4zE=;dSYu{rwG%W>)08Ea%Tw#k-Va7TJ6fZUg~x z&5aJxegx@Z+>@x4$1ci~b2CRGq)H05+B)S)SEbSVzO=pw7gUI#{@u+ULOc7IfCwTm zKcTh0*9J$FMYD5ZI~=UVp@fFW*eHNG)#VD(rT|K@Z4C1`TBxEalqDv#QoNlCR=`9| zN|3bL9Lf*e6(u6bI8^H0N;?$qn~6e<4G!XlTtd z`m)QyrkYBTA(+fjlN2dEtYvhrPAjjWOO#~c-l2cb;F7$CLcVB(_@wvvF&G?J!pWvN z@x1vC`49n;M!X@9FWcB2u7GRA_wZK3Rc8Z+)h~yW^ZoH)MciF~tu;~3oYj;B%?Tu8H5aQ}9DoIYlM~1av_pTCzxdx(@0)Ni!qY@As5VUQ7&P07vU|rqT zcAOpC+_9Uau^QX9tp<(L*tYG)wv(O4Zfv)W?fm>4T*VsQ9)>WMNVkgS!Y*_l0a6q(K{P=0 zP%)lILIqPLX;v;OzdlCSK+VhlB0_F5e^ee$wjhpDxz6Pf!ntUniGQ1cxJofJ^Z$Eu06(&${5-uk?A4LUvbMe#`SWr0Uz+#W;f~&U%@qaeK zac|zC%oj96iN^>Oc#4IhcNOAbrYH-SY*4UI_OgR7XwH72BV>Ns?)RimX62^~Ww{W4 zKeMh`EoDX|pE^*Gclq{bh(u8DEuYZm?v|;(-idUJ`SbP$t;1++zw}pc$D~+~2>Z4n zOk$SV^4i5ud(6uB<~$sOQJE*zk)-RS`NyG&3;ex=f)j4H*_q8 zy*o-qaZKj`c*N|9rMoiTjVS~Rr|6QAveGvOdIOkV7Yo1c3QX5GT?8mOeO?>iyOkLP zJqhZ5Pq)~24l9eHeElryZ0Oe|M+{CuUB!IHsM+-b4g?5*{Y}%7HPI?TCH_Itt5*kPH#hx;tN* zS%lueenqnsgh?X`prKAGT4(&ED$5m7DX4~-#}huH?9noW<`{~nVFaP}s9JF!hu6_? zsj#C16G%~~QG%d+MAGlrZ%5>EaR^ANb!n^h78=Flj^wr+uuCo6RaY>CLdhJ+HOHBX zy`Z+JLgFoNV7qa`&4?hbD%QjuY1Hyh7rR1&nOc3DBT(HJFCf>Z_ig-LcSWc`P|UMh z-|KnyikVZ}_w_p@=Tz<5Lmtg+cC8qtSx7NHuoNCv@oUL;iD5iCMB7g7yVbHN))Rnx zZ4>mfD~9NyPk8G_RFif<=L6>2O(2bfTXxpBDtJ;TFXB~onKUWO4g&yKr8wzDa# z@@0=h7@`$hG_qB>i8+esiN!DoVSzQT*&~skNGuJbT6Q`h{i_wrJ);sk32ORQW4{r; zoj-iL!O2V>+YZkRqIO-Da?3TeMC%Pmf%uy{Ju7WENcY>cOw1*rBe3wBr7Ptj4@QE5 zyf}=M#TB+8JTKfW17a<)FN(M<0+<^j#JDE9p5q>i%`O-)eIuF%g(xhdPnSgQK7g#$ z-rn#U0_44IWdkNY-5*{?jO3oRLZ0&ns0NJ5kyC)9pl1N!dP!I5*B?Ol!bI0h9-d)% zJTS-zhGr~tc!4k{Pgjwi8H6Iwf$eT1D%fd_Xx>P2Mlem*<-OSh{&=Z~npako1@<22H8Nw$ zU*Z>=o*b6>-x}zPAoQm1ZfxJ@3veXHVO~d@h`QU1<4aT#S4xn-_VwW|rG=%~J2kf^ zG#e^KL^!z683+_Kmmt_V1A6^1+qD2nzBPv$6ELOa{nqbTP-Z%Sz+4pnKh-Uk`=uB% zt`ICMJQnl!M3Uf}>@}&B?f%C06VB4G1}V zy0&G-p>v~l<1)@zdin?TgFMtGkb3iU$w+QJslW@B}bR0 zeTsBC&5fUWV_p@h#23qiu7cS1hktWs^FY$GJ*REe1Hw z0|n{Fh0yp{;*g=_4sNHJxp|&^QX|#K${xGFR{50VI~dEZ31~JpENK=-5-4Ex!r1=h z%tt(25~7M&f<1B$n^pb%@)lq$&?~L1OEaR}qwY}KqrG4HUA00PsPY4^7jFBWU5|@Y zQbK!+b0t+R6utT@qZv+%cYGz1ZMkOGK4$n7lN6cnwp0-b0i)qI@jiAPkZb&_PZVi= z_9jdC9FU7|EM`CSU?ihG8fs>=N1Ao7>*mj~^RMRz3+TZ%g%BhpCjx)A{QhXTc8m+$ zW2kO4iX<}=BEiJVj)`1&@~j}N zjXVbJqhWt8{ru^^<{G!NXXs1cG4dip^x%kfmggBp6`dkM|Asf)98~e>UOr#F7`h@=j&(cEupHhFVH|0=I=_S{NF&`JoS6yZMwU!5@x9MoJ<9c$mbkt*4!XEsT&6Svu)P_u80)s~rKeW(ZlHCx=jcNx=?2 zp3JCny4tOQC|HDEvd}W`adazUh>+UwOw*bX4QGXnF`=lZ-qtlDMKD$(4O+A+tYVH# z8gZeY#H@LFi`XpJI*G{U2!v@GpIxpBboBOy`;-*zncKeUqzuIRd=}Be|ocVoe zM8o~3quq3y!*ZyIr0l)9t-tDP<QN2!%iTYQjq19#4maBE4FZ3UdIW*FW?2C4fwv=aZ zEf%7|9@gWhB6e+UEUOdEH|=j8uHz`Lx1liMW5~}h{2|8r-H1co_9F!qmM?e*cxDGN zF?6$pvCMI*3Qu+nqSC@Efg3g`9kA#a^-?%B!nW>Odfv36h~(re#=+Zfc(;xS89RTX zf15MR?mwu#Lb{M56?WWV{L0I4%4`vu2B1~uZ$iAv?@Mo-vg z$j=Qg_Av%w2_7;b=&G2!F?Z($lHZ8+*|6N@bf!Eaw)Nx(JSd+QKf3r}6rY)Wg;bKk zQdD2?)Y{LxN8m(Tu+6RjnujkI+<>Xu-V|@7@m@Ys z7{0yDNz0b7yj}I@#-7jPt}ZaR#gq#URbCPm7;}bF>UK)lnt{?6yyeHWQo`{H*^{*s zagAjoP0s$(hy*FyB&WFtVYv`IQXB;bY-VGL0Npdg1fgSsOa7?VpJuTyVzim_7!~Oc z1xn4g4yp~%u*nZc4E1AZ5NSv#7k4Turyl-L^%wEr_F~wpr(8_feDA+W*rlIKOkEr0 zG@#o!-j-N2Vynx;n^OQbVO$rbT)^Q9;Y@I9Eb6#W)@--7ioUBUMHeLIlY8e%X95}F z2J?XAWfn7-%%6!mlvdQ4nO+b zDHpxvqP|L9V}y|9SKzuf3ij4#22INZt9oMfS02{)-dW-EKOVnyiDsq+sx3kbpwpEK znNfwDzxIf65UOrGJigH~5Q`}kcwF=ADM{VJ#DS#S?sXJtA6%@CpBXnQTV+DsedxYB z9Mky{{xynAr8dW_sF0XVnb*lVI#4fEo`OMicxjdd$xLDrEO^o74)?q;ydWN11z3h)ElZydBLhkIDywp|#`voSG+ier0RJaXdCWz$7rZu5iyASy!V4) zhKB=xCCw6!uI{lW#g2q8?5$8m7(CiBpjMj{*7#_Fv10R6_Oza&Xy)-Hjpk4A{_}2HQF(zI$)cDx1rSP?fVv1j9urL)6?e7H* z*q%Z_{Fo2yublH{CP0v`0*gS%(#A9P)0~jZ)4u1xYsM7?z5sdCGB=q12TOh}>DP|% z(m4dULl?|k$ESv&*F;>t)n%}nf^U*SRD88l?ZsK4;(rsM29)uo@MgYb_DiQNFJ3K1ZzecKO)54UMkj!^%?hA5mS|6ed4)EG5nTJ#as`;c8*~<>w{FDgIwsJKO#q5G#-cR_3?Uy=P0i ze#sOe5bPt8EnTiyEQ_&Ap*`7@kA88&kkgjou-=)fj^w2bTMunoaw+ox6~fjq?3&td zC}j6*6bUg7XiIxea2Rt{<9bBIvUb8MtFfN-W!H;UVfcIT_${ zVlw`=z-WEGH?Q5sx0dX$U@4Zv3*|Ys-D&(=#XM4UOQoN0{7F*eD9|_F+Vl3|8vjkZ zsP1`CRwRtEkh?9u$I?~`1k6h6GxZiZ!DLTmBz`> z5Ceh5yJ!sIMeznIR|E~|!Vq8r2Id@YoGQ10aojYz9Yo^`TBsCE-#^iS5_+e)i8Ug+ z+0pgg?d^;m@}YO@nhhMBCAuqJ>U%;IawtqYa{xW0Ke$^OI%-E=<3`ZlzBs)#T28)rQ8NQ= z#bWx##I^?H5;TTJTj$OLby_8?gQbFif$av*$4hU4-1p7L`|Dg#*Doc-*!a-8-P2dE zW8TQq#Ck$(k1N3?SP%jdM(+I zD{XMCe4Uy~?U!b8-WgdnKTn)x%z>rkqul zf+N&)cVPw1!E_(_2ODr7xns`9w}eRyA$Hu=ekXjNX#A2&^DWictxq7T%HC;mBtO*^ zSL*L?AWEdk#@oAGT!HW>7IIQiJz{ZwI~|yp&+OMJ^Ysqq%{;Rj zwX`G&b#oBMN{&e~xE|Zv$MdTQiG<2c)%S3Pi|D~9>+^ebrWjxHQMN2ING$<+gPm6^ zNiam)Bi^8zB&|aKAR|x7v7Zs8XVCyL{T~Bg&b&%g9^u?}{78%Q20O}g+q~NaUJEKt zoVkX{Fxc<+A$hfa>g?YSf<+W*TlUo#5)RG7(g?_RQH=SjQFI;1Kz;QZoQ_Ux)^!~L zU@z|sf@nR1Pf;yM3Hyd1-LH!$DvK@~hzrHlkSUl16qm;qhXBIbe<7l)3E&v9#U6I9 z-Ztnh!lWWNC4@nog%Spgu{dyM-o}jgG!X2K;lWnKS|TE<1^K=l$>E+V7ty|QQ+ju{ zbk#c{r=D%L*wp7+FOxYKHGXHey9z}O*j>S6BepTBJSw8&-;_0q8-)Xj+YZ!c<%>Pe zf!5lE14gmba#Z)DmdA=_+6~XhPG)R~7sY5p5SRV{)0Jt2_Y%7(i!KxN?PEZ(yVl=h zSrk#rzmjcDP3D`J)n*88=T`jA&k)Rh2k(W{`iymVxr0;pT9_D$zXfezYTtI0<`d19 zSFd_#S)laS<-+82PZmj_up=hb)%)5AE!nW|3_BL>*WO;?V6)!+mA}O6G$z~BL_`QB zKnOdN0BTIS**)}CdVC5y128wq=@nHuKDgX3la)}~tXEnJf{M}(Tq8om#;&s?gE~Ka zjZCCbnYea8a<<&tL&ox|P(Z@Zw%m(v{V*9@55s=~;y9t*ac8iAx=4(+nk|s9Y@v@U z^VB^hfFu#EZyx{)AqVur&~lE~exBvsk7bGN`!w@w_Sl zEhnjcVcF9p^oRkF;T)Dwk@5KNQC`l26Rm~g772|yPOx=SQFMnkzW z0YsA+uMhrVy9*eh3EQz_P_!GWC`3muFlhyY>nSkw3%P6kW9+3y(;3{viYF*niwFzm zQ)LenfIS118hkC1w5gbT3qz#wTToGkd9X!Q<{3r({KyoSJ0Y1HQ|GWv=l9d=Q6oMyfv zFGm{p`2?$M5se#j_49*vEy2sqmk>8iLnTLiM`O}n5+y8QrSiV|OR7BE4~4SFfSjiG zD$+RHQT@_Y)58)ilBIUMWf2Dwj1bVlL!nsQocH|&EH@j@=Qt9|yVTFX%OJQQj2a9% zDaeS^yLN|kD0qKje2s? z;O`r9PgfvoxpsN7jX(9fZ3iAM?w|Vo!DQMDM>RKBLaV*psqOg<{Grw7+FyT1fr=4L z7yNPl+QHEM$;jm@I`|YW_a!Ohp|_B9ul>uiqVWtJ-%*^-scJ}2tALmYr2(u69K6@3 zraPGugv`m>Db%Lj0yKP<0p~`@=eUOtG2jjgoYr-~uzf`A+S7^h=b9%kN961{gB2b$ ziJ=Zb`);M&MO}QkB8r0Vq9F+asMpbR<%k5V#lFV&yia?_P>qf4M^7+V8zc*IN4nn55kZ)IM&NsRn!gz3=%eP z#0oZut(3sPf?>s-W2u3UH!z2FA~SJMg9pMW+luA8>r}oX0ow~}slLj)m$;dk_KH{cH+gRjQ!AyT zCE=d>`b+Fyi&tJ-^Ye<>I2ER;ST5VY?cc7l!Y;6o!>=PDl(1l! z)|c#$ppSmQ=3*~wN8(<=(TFc!aV2RvX69?pC>fQ}2nV+JZ31<66;x$r^w8ZH3fUHc z7c)HZ^a!@(Aqt~8Q%!6rSo%V%M&2rAcLqG|gmii0AyMMA9C2UWw|HW~+XJWxqzXtO zI$iS?X4B$~A(W~Z2!xGATGxP~u=4~!Mo@GFVQw5QBc|XMG{Y_8Gv&luMq=2a#4?nc zYMvk&T<1r!u7A>E%NZ-rwXjkIOM@n(9I{R9JzDeXFg}-)5k0E2ren-*3&tGI0+z3 z3}QD`qW-pu*dzBqiw&EIDRNR4L(&e#wKWnH;*A(V@BGK{`|O-}zBZ%8a|=v9TQ72O zOYV^j^just!-em!I%?Og+!fX960aXMvkbygXMW(c@I<-vyv1N{xMAAy4_P}u2AlNx zTs4XxGDNpw6{$PLmU)g7+uE4_OhZDA-hCrn@k6&Jl}Gc^=If|~>3#_*U}!D(NeCfD zUYXCdPT~MD&@Ib(`97G48HCxw!hA_LT^hV|5;rRrcT}$`O5jCyITr%9%H~_`U@By@ z+$?*wkIek%XuyJ<-zUW55FFfy#%WyIJC0G@Bn%V=AgJ1cLy&6U(_Vt80)k0*RzZV@ zh#?JB0k{J0@`f_^N{MXHz7eo-hh5VGWSw1yb;^uJiDM|uWnwqapq7L2)+1iEM1~CL zmICyhD*pXx>q2~0#_kY!RinIBzq%dA9;o#>!qttR^f}8TO*WJ9dtSJ0t@UlsV;T#( zNT%BNb)|q&Pf1Lj9Ce{Awvn|dnX|nVuW%&J9Kzv|id!?@OEcUek}nK*LYcz6U_?`& zr|cW==3|c@8r%CZ6x)JK^_JhlYl@g6zgQMQbCrmiXgOZ*%O!;5=rH5Ke_cQ~?R4C> z)$+F1lo*nQ{+*wli{$o4gZuRn7Y{z58e}2^V}lYwql=y+Vz+yASTUfL$T5- zh=o&b-im zgjf;!y=wrP&RBE`frIQWWsZZZEvm2nNhfz=NPevy5F{%mVMMWTZe13*gRloiv`F-` zcSXO)4&FHC4P9zk+b^2On;V<_Pj69&`mf{R{dKU^{n zO27@y)<9t-_VO&693VD27;bW&RcL%ehJg(^h(Cyd3s)V-$85>M@=3#gWpNW_QQDOm`R+cbFi;W^@|Aik^Yt=OJ-9v))IAc z5GJ)}Hs{-eTMmIg>de2j04o^_NBw`&6<3fF96C37r03MiTO@bU%m}JnA-}H^kjyny z7smFrv?R{`GW(4ak-+53c3~#SPn`_ssv*Uun~9x;?!*O+S9UW^dH5f@8hpdgg{Q$~ zL84WuTra-+I4!%QZ&GJSnDN+OXt9 z4$h2_)e@M%(!Z3Nnso6+$G?K`dd;;gaB;UV3VQ-izKkjkJawi!eaR+bm>!wdcJXDl z82lIq#v~C@hW}-epW_mf5mhj?b!tlP8L|suRkDyQX5pJ_&X~2e4rNZlks+#@M^$i$ zIY=MWdI2id-W(b1$bMAd6;XPZfN~N1u~QrWt83tgehd)@k7JPYg)E)0BhgMTe{76& zB=pqVch^#J8;6Yvn!NySHPLJTdNC(idtnIM?ae`5JCr1JK=6&4hxqu@x}Tr%w#Va} z1wYVvT$2(e!1^--!BMA762I)>Cw8-4m@RKPldQJQ3mb(IPpU8O?$VG@L2R30jhaif z?ouu}*Ok|}JW2jdJ*{pKhRfB=eA`QCHW*Z2lny;9E?GO+`i~Zaux*WnS$JHE$?8Aa zE7@EGp@fpCa&PSHC6+~fz%N};kYhvQYesSDD+`tu!qt@ zFw17u-4fnR-E3L#D-GO;ALI_(M}4bh@0GPz^Iqw8Rh`S_o4B9Ri`VCI(Bxco(g3hZxO=^3m{`-Yj?WybPxYfg7cIT?f=Q6V>jAB zq76S)d>~%;JU-E;---p(dR@Kj>C#XH_tDt7K}~~7Uq#b(#sd0f)7z!#8Y!67!@BfQ zHu5@54wwpi3M)!(Hp0yd+Z1-&aPgxu)F)l= zXQjXyxFXu3Q2-j%zFfj9tbJ$c%YLczjBSSR+f^J&>$7UZn^%?*WCgmwMw2EG4UMCO z#@?b6uq%#oPzej{(Z)x;wF=n92>pX;;oaa-7U97%$?AvM zTIYq5(g=y%snXL8Q%kCQ+K;%GLbDH3qdhm$Vp6PBr5 zZ|JZgCIo?JclfD1LQ!w&-+zY(Qu#O`AWul-nISE!??vtPiKDdK?Oo)LMWw`y=lzti zAv4|RxF1BaYguLQ zfMb{a9`1N(^0xhd@iTO0_?PROir4bF!nR`YQ0?a`c;llKO#q~-G!5bWuhzTn0)&+N zEWDD1zqGF!1s(Sk7A0#WVU1hr-ET3S9=O?k4#{)$#WW;dmSgrIE0btL2IH9#P4%o1 zTIXNo!>wwS%p+a<2+*-s?8zr^TbqB|643h*fwYk)L(1152aVmJcp=qH1SD5-;%-mV zfoy^{kr#!vy>$VS=HEZfxrw$^q2Z^Ir1KKbsAm=Cy5jmu&Asr*iYH--v zAO*J!B95xzUXcB`R?}eZF!szx+yW7h3?BWE3hPN`UfWZR@-cYG)3i(|+?gx2!$J$w z$!MUCxH6$Q_9DscSG%8pE0KE?q%3g$)&_!a08Z&a>s^40-HR8}4sYfT zOPmPukPwF#NPv=mvE14FI1(71)orawi+uXzx#PI}@qS*wd8L69;48)zBjLcL4;%B| zP04P*jjScxk$PB%pcUS36zGc2{ak)ZP zg0P&hQQi?b;sT4vfI1wL;4?lq^0I?R&4=x-mH)+>WO>}aU}M=qCm6rAL95i%7#@n{-W7n`O#F76*Lj(%{$UXDcrmRrO z)H_hr{e=B%pMnop2;==Z^Njl7%;_XiGj_!6^F!Zy?zQ*>a=}W(_obn#CGe?DG-ppgC?(V;;sVL>M){}@3QIlqYkv6$ zr|YJ4ch-;To4IZ9KlFd4mnhxV>A>pSZ>Z=ZrObVHN0BK)GJ$b|AfZ_lE-qn( zeT1%0Dbc-hMkk*08{^k?3nC=z`<%n~^)*(_hlwc^yB^G=vDh6oN*2ygwY;H_nOHSJ z4RnE;vn>b-%F<<4&u}k6%v5`~N!j@87O*>QGD`#@o6B zv4k=<*L%3@GC7j&7l{|wNid+w#H7VnWgLw|F!Pna%})RSY*9?#Hn{k~h?p_%YvN{e z0f#vzH2AJ7rQTuQQ$6ssSI7p%yf#pqvd|DmXcVnz4q&1qnxfUfB$drb<9k6u`IUZW zW3G`FM=os`8HP_Ms&1A}DGfQ7Pb&3+z7k?P27HdjocZGQHW!OF$2;C3ti-&hpTY&& zCSvbz06UzZaj&>ACZ-UCQ)1qvA-JDw+Bsi0Zd6V7b#xR1>ne&R{5ZDj=KPS5xJ4Zo z4>V|*Cx@CT)mcBAvA|jUv$ZC;pYDp12z%^I#&ckFx$923T3bKOFX2iFyBvi36-okp z)abpy^>e3TEHaIXKU?T&AQ=SKV6sj6VK}@$e@2uYcR8178KmKYn}gMz>^(8a}JlJEqX?oHXidgyIHhVH$i zk9-{!!sZ6;^uK*;Xt^WUMi5qaTAb0ttAab%*&J%!v$SZXzMIiS(p>vqDp?d%akb?gGg{Znt}{K`0r~Vb`%i3c&u{m<$sHT|e_$hqiWVx< zk&@&qIzhaRJ^w<=gBZovwljv01kK4V5F|<`7>6diHo5F^@DoZ8u}Vwg6jjdyq}b&2 zGn|3)AT&3m;|exh8_5WCzW0KT^f_ z$NvaL*-P@;&1YtHeBu11N4JG0eK+AEw1c?zKbA4h{GTx zlQ(=06HzBN@4uX~{Y0xeSpG;Ll>QSGB3MC3)f+D3$Vlz0?ikX@W3K+gI!V}N*tmFz zwZvUIT6BU3j)i%{>L|UdJwOW7XVD?+NGF7i7gOgj?d%E7w zgW6mplkE7;v}cYFuNjpDK(z}i0c`F@olopXZMdyJW;?uhJ82HCx3s45k|1!<3e7|Q zqYv1KAdh}02gu{tunA3K8`3|fE%%kUX8n04)$NrD7*Iuv>cePkeqo%r_OeCfq>Lg$ z)b1k?Vw95Hr5d}Fx^jjKpgNvv-4P2WA(@{HS7WP?pd;Uka+~-F3jKXt#2SPZfsLz6CEN-l;_*c z_J#S`MImXcIadFIl}<}(akb>vgk$AA>qOL>`5NC<1#k4?C1#wpHREV|Z^ z&J6t3mMqN_uY7j(=njgXDTqesUq>Y9(`0>jZk&wdHRRsP`YQZqDTMx1;`T^ta@BZe zbyw}BVllQ%aP~Mopk@8D`(h^00|Qomj=n+$+|*P>==O_nIN>r=JIb`KsOWsKNyXES zm_(vLxNs2b3UM%{Ienzdle}X@Gy-|mj0_uQT8WutstIkT;R>F)bV9&zWB0@5^uUX0 zi<{Z(EV24kviVb=V8yc=0?YTTUb5OQK6X);(I%SlGJ)RZ@tDdVSux`w}ZwGU>YlRCa0YT+(A#-F@jiS7smsv=nVyPAHikAFihL`A(boUGf)W{v(w zleY=cN_Qa8JrNK9gfej<6k8JN&Ys6XwiK4qB5d4c#>D1Ysm)pXxNAVZ&OZpEqZOE@ zAsOC9j7SS^1u9$ECcF;8>9LWOWiYAPG8BxsasNJL~u{p3)P=v?Nd2WA2* z=&Hym$G7#{XX@+tO`@y28MFxE;z2LJh@xDLRRkptu|uzj_0^|4j6two5ECW)=>;(# z{UW)Sq%Otp8J+=0Aeo-eTm1IFebuv5X=+J3Cw25^#}z0dEs6ETMf225=~RmTV|t;Y zSE=nvLHi6&<7K8Xi75?BRNNSBNeAuHlEcV!q9KbB^XJmC;=$4L;zp_iX_e6>y@2B* zmxOQEVaU}Dm?hubVd?ZW@bhMBwCmiZ6wU=|KMlVLzdTA-7%k8vpIpbTb`(`&s&NN-q$6=ug4$m3;is z{5nyiB_Fq%2? zNdHpPX5w#G_T(?3=<(?LT#vGGLn7QwMQ_!V(4oJ{gG#3Xza(2^V_nCQHNO253O1n6 z(|6icpU5nPgIiizW3Ka)?x@UJoc%NZP=CC z={E$HI`OLH*nmhfnBtK30v7L^{DL`1O7!I^tl)OmQPZh_>qskp`(Vw<$G(Pz+d|)VxRV5j~D%wzC0KJH9I(!E+pxE%RINQz^SP zyI4X=K8bq~i-~M$2@mn45NLlTEc69ED7MvE+7JFR^P`rDm^>|?JxaDCHap)DnC~lw zh@+N@74j$l=8>3jjxf2>R3BF>MgV+QW+Hj7uT5T&+r)Z%7I$DAMgZ$FuG%Mbo9dV$_BiTnAFGwu!+@pT4TG=pMs z4Hxe0Ullke+`0e_pYVGa)7oAJvcdwA5oetQ?2ANC1NNVN*JCg@O$t&s@}OAr~pr! ziWF7>&6UI|T)`pYg!5PJ(bZLbo_i-b-K`Uk7yPT^r3Wodhp8%`+hT^>`m?sIV5ib? zEQYbj6i=(~Q&r1Kk2k>WL!UWU^WMQ$JpSzj3qP8=H``aJ&BDQIK}#=`*b0a0|1@|2 z1tHESmqWH2$;>`crSuBxI3bF&)cnqLv3cHJR8?P^7)6&u)+K8>N5#UO7%~jd^(KTt z+MyxQ4f*LT(#F1c&urnB8dF0gZ{hvjPx3_KTvW$M6l&hqKv_^I@=3)W-7ihKo(}qC zSyjm9?B6j#`=6Z%*o1TK=$qQ~6&39*FxNVlCbS)XGD}A)obi-*D_ey9o39Mg(($BG zb(0C|AiKeYN+P1$)>KfNz760}5z5g+N8JQ!S70E(nNbPT71n{$T=Y#sUewAc~`==rq&;AqG_3(*P#j0ZD=0`X@YR z8P>Ij-Z|X%)Q8j-Y2;hvm#uBNL;D|QHrqM&9Wmy=N4GV{FLH}u{ug!-K^K8USj2Y8 zCq%eDyJHTg$U0Lf46y|<;C!BkOkac8*DM9o9A_l~ow&=St)eUfCLGC;;fcNCeF8s2 zxOX_!5;FXQ7lwc&l*w5L-+i60G-qj>$tPk@U~3a(7qVlO9MaZ*=MejcX56JDiyzAJ z!1yi&b~!CWhWZDOWyrpu5Z?NWLn4PZIhD6;{KTKHTNYJ^m#rqO{9&5+HM#z0uGa>6 zpZ-~^MC42SfHNby=xIy>Bq$?J5NktC7U!q^VJi-sf+s1ju(c8?*-Z1? zodqtra0CM0BGKg2!)nL-Jm#I?nlmDZqC$mta?^L(Qrad&ev>3Wi1BaN<2S{<2K8YO zVpOcQiaXQSRqX;7lz-I==|n*r{ky$ zD@62*jU(LY^9d;adJtuihySt!b`#X}V&^w2wQwAt=cx2&`$6w7Y;>3y3N=1R#`cZM;5E$TL!;wM)>c&U?F=H@_ z%<6{*)zg!!qRcI?Hj7QeA}aPE<|dJig~y$Qeu%Ux)VX2SK9WSD?eTfBe@4>sKJ;NyZlYh)Dm6jc!FkTRzrJ#$cY z^ziLv`kj`Fv8t2xtQ-Ux*Yi1U)$(&-{QiqFSBMGbu82->%E*nk%ysujxcanR6E3|F zG+uApQmfX*;{zt`F%MT4!Dg#2wlmd>pWoi61!NL* zJ;*W{e9REXeqjAtrS7b(>}UK7XsdL!{SMUsS)7cEb~-+iBl-?K`L`=6SNt_3b^^{4Yv^0;6A1!-Pq&g?))N-&*X>| zrk3!}=e+ z5y15O90WZE8crB64p#&_)>L5EkKvSt8nmtomY4?oA_^*I7Tmn|KqeUijg|79a4(Ez zX)Au@dYUwx6g>TuL)krxzo8RKskUltLk3>f8xwdfT;c7EQ${MAsU{B$8;89vFSCVXAnKiq@OjVmRjYUg;v~!vdr3{8un=!U)#(W z-dXK;saMUORXq%wg(L;!#9xfhJ)@9rN69BedxD?fSaKgm1mvV*3@(M;x7vm} zHh{9NFyiY1=6Ny=j-~~3JZa7>MWTMFq}0)~gc>4arId_4Avf0A zlf6?^AYNL&%hWD_)RoJ`f`3MOxOM^JNjQgl~Ui@0;rd-&UaSMiTL})q_;EP{_1C1Q2!X1DBDkXbYi`w-0cog+)bv|oK23v zgfCb{{D1*evE83W!{vZ{D$c58rJBV+EHfwyL;~faTfuZlCsjvz`ZuPT7$&F^g{8sa z7_{HIhrw215Bli?HR3(npWk+Z{u0pnSy>E(8yKZb>67O^CB64G24&MxRrs#aCq#gF zj$WA--9CA?!$<}s>sIj;x;puh-EQ-2&kau-IwRGT9~sQ?SKnafkt{{mG_YK0^IQm; zk96#F;)eedEh+a#V5DpS8^6sP0E*I7BlGp^1G&J8N$J0K3EecDNI3??#qjr7r2PO>yGWnte%TCCc?o`T&`*vWUB+KM6w zh^0EBi*E-i@8g|zmA)d}P@_l`4zoNA1axiADu|7Z2FmfaS7Wm$tPU1c$hp(ATC+$u zl2a{bo)lrGm$eyuSK0Vk!9yB*(7ye*BSiIi>sHNoqyjvEkBm}9JhzKWMK_RcxN&U# z0{6n65Mye?F+x6Sow7mRmLhN*?fB1@leEw2cv$Q){j}-O{+l#?63+ijR`&nV^p#;z zchBE+cP`!Cy$DEmcjpoU5=$f9T}wC8B`MOmu%vJc5=xgymxNN!>hJ$t7q57=*ZIzw znNQ4|U>&mTbD_Y*ZwASPq;bGoUH4Wte&=c|xf`X|cL!_N!PWT@6M- zyWUt^0!Eh6-}GN?DJ@hSsDwVgWhi8{oHs{Z4m^J~ASUH0A8gAu>crC-MI0E=WO*n) z=Eu}bS9Dj%h{*ytrP^Zj0#!X~iyw%=z5~-XwGUbVHb(#V0SiIM!>we@TMych2{`?S z2IU_zi|T$W)e{BmQr&Ti50uHr$NU(5Fo6b>vN9BLHmI z(?+SwaS1k*IPa8Uzi<6tOsEr^$MWygw;vQ3QkB-GQ3(SF3IMi|$P6oKB4G7j7?97m z`-UZy7EerS;auc2p%qDPmY*Qs>#dQ= zUy$HV~>Z78=UJ<;OUbgV_My>IAiXO!Br-uG zM?zhC4tXPHPAxO~XVDu%b;REkhqYo;jO0nC-kp=Dd$h{LphsZN5mwlAAHmuZHOPxw=m34RmwQDTEgEHEyw&5%85OXV@O!MC{@`o|9=sta=(Exp27+h;AhXT9cXD+ zd~K>jJ{Xb^#K6nh&y8b0x<6)CC|IAxnOdaD(v<@Q^Ds=I!~*alxG`nbKL~hPG^VzD zF~PPyH^}8OQeaew^h>Hcs9nm0Q#bFDf18qLi@753k$KiZDx^ev-i`^-R_u)S{9(y8 z=O_-t9seTL(NJAKw|xcebsZS{IZc`AR#hByNGA5kxDOk-Oxl;`-04X0f=a|K9Fhcd zZ!G(sB>_sIK55wWL%o=>2;wz)7kw?R+7L0v0*Uj(V>L}X{x=P zp4G=XD{)6zFavgCDGhSgp;MfJ5lfx6!|yCzmS!u`&)BDJu=ocYUBTOV3tkAdRebKe zkA>mUcvj)|(3K#h&k{`biab=h>)vC!6(d@~NB@v!v7hNPD;76HyO|Jq1&J+pKU2@0 zk~RB525#`VRJHSnaL(w6V4iplFCV_!Oh7q5DM!ItQV6nv`}qXCLa*8X#bYLv%k2#A`(o>R~R{XYsHvxwSmabzcdt7 z!iV*d*|-sOIWHCZ{3O=rM19-4CyIqJEPWC^6F=ABO`Ph{d_^5~u{$ml-)I3}?qHmq z*q`N)=pry+oJX~<}u2}gE4o>_4rCvDj4N8hi?y3SwX0dY}sqFI%whX6f`B3l0phN1Vg*XKj? zA=q8?nm`&!Od(TdjikC>>~asc;NiLyMX7*tn+XAxfkx8#KzfyUDZfg zUCC4Xgev>J&LiLgPvD8|2b3;RlE@SY0h5P^G8jLC)Q;Adf+f0-@6C85ia1SLKu`!& zIK}2%;KUDDtTd_Qm@K(aQTawXMOkA3MFMB#{0jowQa4?R zLIvYL*sy)sCwB5cY9LJ9KAI0e3pn?b9Eg~RJYhK| zASx2#5GLzMlDRm6$VIMaO@z<~qZ5KUsiL>Gwo+9QR<=)1F~XsDR;qM4o%;wWUKz$Q8o<=Pz`g z16~b3U_LzI!HCv`cTVrI9MhbyWcwLRr|{yCOYqRe2PbrL+-IXwB>sgWEroyC7P~Rf z!`e$k`S9!f5%qTy>dbuR4RfI{vxv%4eV6njk{~PwbW9rVWTAE-d9;cKFn}*Y3sbS) z%-%PKA(93y53HeNVYCe!s=@(PN`gk?cfE(@GfUNsqAJ~9HS4b-PVG$!kt%bg;D1Yv zU!u0saZn90$#O|i@j@A!cCf$=X?zDV;^#RHP#HbX6t!A#@07Qz?ZjD?Tovl<>TXPfsfMy;q=TdFwu32o_YN86!!s2+;=_f28-0lz>>mgcc$DfBJYGe z;bEwacXo;urPh?0_$>NrxsTl6VbEo95qUs|2fJmyBQKdrO1})b4!EDCJgOrU6DcxpGQU080ioCg9ev|}ZP+O>1Pug59G^!@(VC+S=wh@hPR54p{1#i6dJG`f!tJVu^!Z%H9dch+-Mqt0unMP?B0`{ zBUo_ayFMv&aFr#e^|vk~c|r2r00Fp%Xcf?;Lmv_8N3-HlMpz-B&-8N#*v{bSj`C=t zPF!+9zl3dRO=7<|WCZ6@f8yj0#p;}$*Mz$_%SrYj3H5Q-MQgHlOD&?T*^4 zZA1^d!de$6tyF$1-w-{JOAh3n-R;Iet?^0NM{j8Zgon*wUf$CKLtcfYp^En}um_0XfqidM*<`4XK}gIN1_NZwdO1NTk=}o| z4aao0b#?aCk}gDo4p+bX6uxuQs$sGWeLX;D@pyUB@Y8r3NxoUEdEmQ~V}j?3$w^9x z-|VI2+G9}^z+3;c^F1u?58hek>YM7#AW{&)my!ow0O8XWQ1bzLXanMf5pNel`JBBEU_D#57> zsw7OH`)9w|-J2T`4u@(E$68GAN0WhN5W(((^Qb`ApU0E1MQ^V? zLzbyG!AWAgOZE=(8zJ?~epa1w+Ma!^i_&ST(I|uO&7_<&dDi6^JxLS(gltx!JTKP; zCSa=!j61l7hz&V)LR4Zw8xy`n*rSws!OyhJ=m_o0Ib#5IGw6DVr2{AF<1 zENPj%P_I*3N-8EO?gxWQ3A@>2*}r~$C$@_&ayNPBH(70ULJGCiwBt3R0#TfN`NZ-e zvv@7_N>Bh}z`@ps>;QzZwHSEoq@oAITe90p6(Ll`JlI0V-bvT4`jsE|aV{NmiinMP z@&{74j^`+*S#iEYDrD{cZSW#i=gtG@_1oxxWajbtp{YxJI{z(8C60dOF)#ydXTxU7 z!eR8K&&YL}6UG8_^tz4WXWg;f?lBXGa8s4v3js(&D|C3C3(@clim=1zC0RVOx$}ci zKr@qFq>te0grQZiD0n%U0i#xcl^f@N)|duVK#h<1p{-^HLJ?dRVqm&k2LekeRTm97RCUO{XlmhInTuF0PhM`~BzUW)J>YejMbI($dz| zQ|77<|EQWozTqbV>f9|XLHpN-HFhFGbPTfc4sG33eu4~z)i8A9$cnM-l1WW|N8_4g zT)!v*vJ(owmb{`&RmVmNQVuR%0i@S4S$-XdgsejnlUMUhY6Rb*+w&B5vyix<0>eSg6-FY#*P(a+bo7 z%=8SlugEDvrK3n0BuZi&?p4)mK|+wM29Jgg=Hf_y;Ta3U#OgVUT9Sr^hQ8ZbJc`vQC zvQ>(>##LqI(zANnCK&EK0BGeH zin}diz!83}V7^Kp9xv_)I->7$J^#Tg61wn8oa7^+;Q}zsAvJc9*n;;$n4l`Z>{3N<$C>17MEg~+t zxeS(sSPxpbB1;kF2ngg_bd?yzkFZH|$ z$5nGGOFqwU3ZYs2eDJ~E*?Sj}{2OCL9)4QEPRPNoy?nV&x)c1&L_YQ)FKFP^D#?Kr z1O9_e-@(~kDO(AZVb_nuX6j6_kgfBR-!}M2yFQYr%b2F0)0)^MTxB1mk|z)aV2vz? zuJKzm(1L)wV?JIy3gf-=$0piweJnFd(!{G`7ETOTMJdKj_GCo4$lkK~3yur6^j$-Z z7=}4W?AmBggdmN093KI1eB8c7rt+;t=}2DWgSx`2wm_IGq&zhB!0jiO?RTd#&X{Xa zUjOLVIsOFvshKEjxOYV=k=f5rcbmiOj`02px*!XG;#%&{oy&%&)2_+is7v&SeqaK= zM$83ZeF>m!9J6O8Q(m(|;{@f{xRMxo#B0do*fYHy++;a)(Tkv;l^54wl!~Wr6!At5 zS0J}T$Cfa;Sg9AN?CXMzzHYAlP$*#AQ;0-jPpbSa)~aRPoKe&_bKQF>vHz3EUF?HU zpGN|9nV847NChAgdla5~;L;c<92?u&szwt1G~pU+3IV$Kdyy$iTP@bO<~@gqyWz7k zu5&gx7^TP?Se$CZf7>e+YdPbR{qU}HHNiZN7-?9WSR*;8m6E(}y~F_(>W&ZuTfN6R zmntbKVVPhhw6e0|Hvwnz^8-_u-gxk*LbQCT+2Ckc!^l8mA$nmF)fbfowDzFK(JC04 zCoo4B`%OKROoFYJkoY%%?%KUHOIx|LWkNw&`@GeNk$jcC54*ra4o`LflYdy#z`a!a z+d?HDjaCiuhLyE#V{%;HySob?0;J^Ru3qlZD`3Ob{j5dTzw~LmbBvMt!TZpAyvi_p z;88?-E!QaFjh|A7n4>d4oVTr-=RMCi^)BjM9WG%wMJ{-_#BZ zAXqCN*>zP+_DME9`)6LnoAxpr)?_ndB^uqu$EEUmdB^@QP$xeb&?goS@V zjk2K!;cuY&XREvwI&qgVULESEV%^7w*%fGA==;Rs2uQP{pR*=wVcbEtF}35^l6L`Z zxmg_3{w+(L&G`r>ei z$r9&(VKqOqbeiFX<2^OYsFu>!L1Oo2uZvb!QBSL3N7R)k))qte@PPbBahwpZ;wR}i z!Cr+r9o<2jF{w!Q8V53zJdGa) zP{-1QKK;obkPwVSq(WLn!zO_Niq<&jf>MFUwSdv|4g};V8c%BNylPB|gL(h>4l(I_kTggdI zW1MFgeO}9ma7;p_0PBSI@%#^zxF`)7JJ%|Qj5PwJ(Y=_0|GutN+XChj&C}vNH->@8 zw2voKoi`>ltMuBE=TOF1bPDcI;q71r_r{C+UmL4!z|eNJ4PDtFWb?^)-pG!}_ln#_ z_V=Ezn=Lnsb!nJELrmx@Gj70Zt6D0vI&R)1UE)-$V97wEXUD#~K6Bd!`rTE=RIEu# zuiy~E`5{1&md6FoNi4&MkppaU(26#Zjv0n4^1+^^yZ;;R!{1Uf&Y!QrHM@i`N}Q$0 z#t47fnqAC|K%8DgI7k}`4NHf>i2LqVe$n`*1CqeXh+;WM2I98L(G!b44VjPH zm=yuMu8K;9J-%Fd#xNn{K`-Cr=hWvzE~@XEsK_Il{3{BhqhU~sD6b$+#%d^$0D@m& zMig>jkQeO?n~6LJZDI%6Mv#eX%R>h=P5N2o(rSfb$nH;Hsfw5DvpN zW^~{&Ic^AVTiw@;Wey6;YMp2kSE#}w3KD}hnj)s%fq>LJBLRy;Y)6zrug6gGUb&qc zhLOKfE5wi*fgEwyhtY>?ja<`5`Au@!w=)-G9gk?#OFduaTQrZKKPLcsW(ldHevnQ z6pryHHHmhei{Sq$%FLt8EVMZdKR96P>mR^uJ&@Xnl+ZLlrcRUd0|?4>qi1LNhh`_6 z=v#h_M|gQZ08BuE%_Z-RnFv&z1g2azZ;ohp$421>h?Fdr{87pBw8f=(ovm) z3YkikM;ephIN^=rME)X@z0HbF0HT(Hfk%N_a7gF}4S!l7hWEe+d?F!5f3>a4@OwAR z)OV5XeQHGtXQ&*lo9A1}83`^dQcdcfwjx#a0*wT@D9SiMmk$|}SWF*!8YxV{i`o`W z)I}8^^@vFsb_9t-(N(X0|JG>tDkh=M{qT`vcDLb2E}eYK%tzf)FEhgSw{1q>B5oS{^@K$I_Mi}7KO>=^97@Q9TYTD!k z{h$F!rnJq^4YjQ9iqIkt1;TzRDZtW`L<=q~cekU;Y6D%~oe6%J9)s-$t<+!r%%Hk? z{?pu{SNBM}x6|FbHO9K9^j;4$v0cy2sDmlXvZsUp>cGTTBX%9%fstzbG8#-RaEhk; zQv)yVfDNpB)YVwaRsXjl(xMLX41+o1F-YvoAcj?^@D+G=8ahV5jMT&T*j$r`-8-W? z#XZyFI(=lKYMi8sw6ED@@2R3rH4C1y7&?lwltnULxa?&stF_=lh~8(IO}O5h+K zA=*Sm{~evQv~(w1DNpF&W*iPxc?$qf8~n`*R*moIPT$slm#0;ezQ0FO!0z@crG{EY z6cWntNoi*9^3R_{a8Y6x*=0~ID*_N=8-v(SV)BuNDF^33uOD1jsD@t`T~O+g`o^y* zgCXA`k4B5C6eXjCdl;OGRvI3lyJ?M=J_G)W$faL5p+E+1n*+( z2MDH&z2yJ)YH3I;K+z~UZk(p%FrAKBWNa=jE12+g=@mOtemdpsie0wp4@zo7TH6s@ z92Vq8XFa_f94I|Xa_f83j4k%ul8vxaic{vx9@Q^LSd_)qF-8{gj@)b6a=#;E?IQy4 zOiUi~y;-rzv9y>mvzdBK*rZm)lXAX#IasH((J=hyAYAgp9YL%fzbnmk5H<44^hSgf zR8zU-4h~N*GNFgUiR$lZ5J0_u-oxtuH2m`V|6Tyaz;I02iebE(OALIQmtQFS&@=Ap z1&;J@S5I5v>H7+H{1hO8RN_ALWD2ANf+!85ja22wKR1vBY?<4P+Q%!Q^jhgaMoDB= zs*~S$`Ok@IdY`cko9qqIQR+rd%pGkXFW!bLvdlmr71}u5pPuwachnhMkCpV#cNNSO z@i>gF9HqBo16-P3{VL>!Rkk7P?$Cht2xpR`B(|34tm#1)MxEKVvU8~<{M_m z7S|i|w%VB{alTd3=RcedPw@Rlpa&NP5W6JbqBqi>O6V!b%vw@W^|cshl| z=yb@Y`1NQ@HY!j@is_=m9Z#Lxh+NOBUh>@$l(5PO2|9VzLteSGc?RcrI zp0|83{ehCui$&M<`8(t&g1`toK$J=|F3=d3p8O4rA`w@* zfI`Xr{Ch6UZsok;)jt=-eQH<17Enz3zvfBv-5%O1yAc+kG?XhLb>Q7@(dFey z!vORsv7)kLa9#%ip=5ldYU?V9GD=e@2vg=%xy32K4xoZ%imArqk}S|Qs~szKT8`mf#&mY(Mg%1JRT3yLOq~@^qmSaCJvGjDM9c0y z4gfnW<#`n_Hn#t>2D-949h8L2>GYi_LT<|}bv zlQJf(xe}8{F6Wq>-LO43q_|=uUz}q5BFRzoF_p>uo59`E72%99==(d><66mGAW&a== zpTPYF0qq!X zbW#QQG}S?ov%b=xu6jSDw7l$Hf`W3;z3Dd?3kE(H<*lf}PQI+w_uam@Yvtrj?BTZ* zyTUtkFZbxN>$ID@*#AsliOF{{frBU?FTC+wG&U)GAng>U2p1fNA+&&8D{Ar=H_p)C zAiDNDRUfMO7|*JS^p2UGpLSPtQCB<^(WSBeMj_aWhKt3Mnl(|Izn`d8gy-a#fd>ew z!zD2!p!16+Ewv10id}YD*&1goceWxsPZczh%CZVwDI~a4UY!2t)WW#>hem&uA6Y^U zZUZp?vj_T_rkds0Us#wfc~^!jr_k>2Rg8F@1T*dJn;f~$Yrp3Eabz8LgP=iiV9D)! zzfoZ=xLQGOWo@;*`oH@{BS%V&pSJp0!vM}W48 zFtEn3X1jS}I+gf@^Bcw(8;G$5E7R!KJ%Z80I*&P3*#T`yOo)Kh7*opg{y7TRauP`_ z;TZA;a^YUEh5~nKU>{J!F~oDr__k+w2N}#I_}`CT<7;9C{-pYh{^z<-{d2U3&v4g3 zhtS-eBE_SbbW_KU#Y<^#ckhyYT@sIZL@W_xK8yX72-YToC}6O!{R! zXd-11Nxs;^WAo}wQ_om1tUa*d6>spT1ev9gKzu>gN}H;^0lR_|c6HCp%7~7r(clCQ z#}Dh<0n}j05*dY-sF+I#nURGpw*`h0C$uOLKp{BLKR3GW!lic$UqP9B!ZGc1JD&~{ z(v>3roH>W>5vc^!D>1DXt8d>)|M4TbT1O4kF%wL*x*08e+8@;;G0Si}yv#xOgQxna zIg3)lS2!ZyD-AAXD?jm3r+Ead;{s3c1Kx#>gj&N6%H{&s{?){l@CRd0_5tetMYqpo zZK!uY(k_C+Be4}{ARMqSYuYhRzvNw8){mch-$#NR5!ZKbHmGnW_~H7^#5zBN;jysR zVMuosTRz2-8C=BPJ&ZmSj!cdaKx=MpzL>EYhx3Dd-sOr{L>KL$Y|CLajU4@t)4te0 z!pPk@T+e^k5+yio`0Q~faFAKl9zmDQiJenrLi*HiE<-XnD!!`EFa&s3R}i_$X8g3# z2vrlXPKC$T0}b8-8=UEvvXSQa+c!zbW2Pp7k3Fu=-(zqbWM8YE-xaTCxfas3&)?#G zgGs2pq)W6gcAHRk9G|jh;|H#~3|gP;Fmd8ABKz5Kdzn;Ohz7Yh52_wY#}J77Ydsox zGx6lNmF?tN8r$-dJzohSVr~#)S1jjy>mB^?sO$}uYWywX^Qi~Zo@Xc-OwF=8%RfXJ zS;)Ln>y2m6dXk*4j_ZgjXk~5fDM>3Im~0EsE3>%8nWLTkUC9ZdFQ+!zEcAmfC`?m& z>#OP%?f2zpX;qfxVRj`#Et*h=a-$d{hgf3B=uKW4vTqJ4bJ1X}Xo9a&b_#*C?#DK_ zfZNifUfS;sTRYYU>lmEx8WVMyOKUO&Qix#-m>#$B%gf}CyK~a5REdX`zwhsF{t5Wp zvY4qt_Y;^JJnn;GRR<#ixwy|bN59yUw2d`T>>#)O*{APFq&e0_HW<-Eisa($>3 zVAZaO+V4L*o+78;PH}+@J}P<0*^+yzmWl)!bf*ma#QslOjw?y_4a zau-`yyJ16uu**HNy?<%Ev^H4gCv2?Xb-DC;#2(OtY$k02%+2c&a#tYF9W}q=M3##* zx)qRweH3^#@c!`F&6$~Ud872MWDxK*%N44F_x{nUCl2vO@glSGjmQ#NBgGaQx)4r! zC}TPU^(}fhf~z+C^1xBe^?4~=z%B*E7Na;)qaA9?haY?#dAj|Bb|9%SWwX1@iVwoY zKyk&Xp7e+9uI2Gfrm#GXo|G8*y^g?I&aEZLxGU!nA;2D~SHjaJr1>gg3l$0zpUgOZ zo0cD@l^8?N$$UktD&eIpStFUL8Rh;M%nFG@AQKCHG7rgZ8Dv#%ex$Ufar@WH#pGO zH=)*XM>Ld!0W&#)KgPZg?F{KciNz`M_nZX{ZbI?MJQ?<@y<4Dg+YUVY7ZuWTB5nD+ zQvC*n|8z5KMh4QNTnsuwIXP0~W(@lRj5?&lKo<|+v?_K{MR_y3Z#wn8(o0L|=!ot7 z^tt$KQ}tM!@d-#t!7ws+l+`y`%?hP!_jyLjMDoDYfS2ia*Wl3%96KP}T)a2<1PSiU zf-8X3C3q{Rw?OKGualJ1>VIK99Rdq*0APM#o2U#OH%+C}yP8LMiYFa4_!T=+L9@Y2 z8~2t>H@`*XXGM_{LICi<=CmaR%3dJfK-C28-VyDstIT$v9mL)hpzJwN@6qOX*{|j4 z0@U7)Ukl|?@DfmXcr*k2!oxB(BydJ91F!_%QjB+IqF~}C!u>P|2U0~;h|$8$tgyh# zVPICCz>--v%^q?$S`kctOAu#-=vCrHUOVYcu*mj`qF3V}M{oWwfLO`;54kb}I#J@c zMODljaSA%z_Q9qUIVdEFDFu5!JNyE97_j zw4U9;u*)0Lnq7gh9Ew=Pxw$#hZ>=4&|5Cu)Xd-I!OG4|Rv7-I{F%O~D4dbhjZ9*rR z!Q(67g#cHYHw$_@$}Y;MJ7HbFRh4}Mbc^+`53+M|nmFTVF%waE+a%KA3W`D}{(u%J zzlp{I^C-EHRt0i<++C5N#yvReYtz!s>1Vh@GJtJZuK!Loc)P!d929VJ8w5O%`@V9q zI0F$-+@Z0zlV9T`V+OP*nXXvLoWQ4q6E7{g>i0lb&w>w1G~Ms1Ndi5ypp{P>Jz7aJ z??**}N2o6NP0sE|xCr9FCu=BkwDuTq zv((>v@V-lAmYAA~Rmt^!$$Qglz}w^YIi)4o6zmmnHnM!{kP3zd=KwF4Z&S8^o;rh($T9zGNIUF@?{*z}4Km0Cdq!|=f%o*Al zJbPy3DPi$RQ2}v&Z6K{SLu$k@|B68~1M(cxgbK|rkaf9sQk*$ATP_>g$N#AInt}3o zeZab>;kt7jLKKh9Sn01I>=+~x|B99SR`~`~*Tr49$lFp;BJuXVY=TknhJ{UbTCh$v ziOx&uy$F8O^u+*$o)4c|^k)q#FH7XP!P0|YN`DHIw8w%HfD7unvgC8Vnd+oOgj(ao z&y+97uIP{Vm&kK-+FoJg?ad#TgYNjq{@RU#84QNs-^*A?s6YPM-~Rn>i_P$sgLDId zZo(-bL+pak5ZsL`t7cLX6zAv_O63*2S>hJsZ|2i98G_s!BTTA}Uh; zSmtHgacKR8B~PC{E#g(X7C<#&4~bwR4lWtNO@ch8BYz41ojv%tDIjkx`sXV`+&g$v zjGv?ui(T=$A$G@OvPrK&L~Y}Jh|*M>*}Lu#dn|9^E*DSB0CdY6`M57fH3d8>$*Q!F`lhBvp0+ZA@|W0C6 z*wD7QZCOIIf+AgnUk8MQ!0|It5;UP<0+^atq~0nlbz1_^)k97;fGOjL@jl)hnQY8u%aseyg01AF;D)G)(x)$*@3z7cO=A&SlL-^W?UQ?8ooc?<=D=(^q`I*p7@ZJwcsPZru>&|j0|rvtG!8FpW6D!xW%Z!`Ww7J~ zqKK$BsncFWUa}iZ63^p5PN@rs%Jdf%wxKjO8aYvE<22f@S**7`1lwUUJ~V%FXn4>v z58-LMe2aq!xH`SWgKItTbe_C`af<`OVI_}D614dcRTi?pqp2|p9C$PolSxRFqNRG9FZTA8gPIZ!Y}%EiGUmon-@Z&RPi zIj>984_YJoW?J_$P~Z0ZzY*Px^psJ3T|XetI-M&s@)w{czg46}kYgVXAKdJFznd0j zbLWH5mn%Gt|3~!iE{L(yGL&(#ab@jnAI=Q$;EzL(d4;Zb$8e>!8HZlz8Xx`C&Y-XJmZ+c+VA8=A+^wfKav=BLjz=8zQ-69ACdl zFz3l1ebGwH@hu`Wo-w1b#{KxtjMMzgX%O=1L=(4%i@PH;Xiz70(dYC-k{VIWgsDIk zHv#hblu)1-@tW|qkL31T*mJ@Go%ApDf8L0~zb6tGx*W!9hTI8%x8zr7@SANh*vM#m zFT&Fqr;(kPk4!jygI*V{Lv8k|-4paHdwB2TjE_G``STfZtPw@tYw?(A=7 zUh@#aBn@WaE*9aYx;yuwh}ArPEnu@W`Ptz##`s_ zO2V#ObS#=k(;V{UbrG$U1?cfWjM5eYyv=a~G8PvgZWjJq}O8`W@4hdXUKEq9AT zUd5^6B3YBzKTlxh+?(zT@!gMpdA_mk>+9Qsf4HsRY0@L&X&2ABf8#`11{02GFI)KS zU7!j50LA^i08#UrU!{D248iG9wAI7eFV==U+|zFj(T_iV>NQ7I>3-2@UW?IX{HDDI zjOpU0g_#i0yQFNryE@)y8D9aQwOl(Z7L+f}hTnl`onF^W*(*f#SN{=oUb4lHRGl;V zvBfz;ZvcSdscPEriehqo?#D77 z+yuxPl1LvsOk|*PamH7g%Mr{h7IRJ`o05h*?lH0ONDK(kx%+-g-l4OVjC+7{qQydi;ymdPr$EI5D=H} zJU0%ua%$avbbTg=1ZlmL>Au~2`ofQXM7x#6Q@Ox*ZgetwJzb9B#=oGRSaIv!+S$LZ4e{P$S@>!mLReZzyGdzYoqp~-=R{ese7np97^6!#eyHh^?;mk& zXt-S2CpGfHdm#Dfc8Gzpkyb^db|~xQF;TrE-h&eWB#%^UqVyHdoZ6#~9WFODw{Tt{ zvsh-bgkJUEv|AXHDl7s3ATq3~YmkVc?T?3^Mk>-lkBO@p`g%kpoA}6rxV?9nz+&o+ zR3@!m6n>Bw-fU0+8mly8b%-KH^kM&TSDL~%xos=(nc_@-YNAGb0wSMNqcQ!$tkeSn zkO0GLS`bW-jq7b!&*QWIo;P*kI*K4_bP^3Dx0I*g?wN?oxbCi3_*M)6SX|NblBPr9EXO)5`j4c_9|yE3oZ*%+83wI5?|_iNh(cC4%>3K< zJRBTcu{K%f{jKh_l=WM19D$#-6z)1RVfdZd$#yHPqk9k~Wl|*_$bzF|!D77??t)cL zFHtL1|Je04aM|n)_9}V9t|VC`5wv~$&}S5GKm}^$!BmskZ~0-&$fh_y-?8s;Gbk=* zd3hS7>{UOzcnn8YhVmHo^pg9hUh-i?=Io_^2QWt{Fy09Ge_;RlyY{h~dJ2GF_a;GG%+K>IC`*IZq8f z{lKPI2bfAMzLFI8E1(7tYjowxnNX#Zw*3i^wDTf{!?n;Nt$R3Su#ji;HxHdB`NNlO zcyn!d&iD^0e-p-c;(CI09rjBOnwU}d@`J2j;c$umV6|{j-N0m@URtPkOCL2}*z!Uw z1X4sPe6gA8-M^3+JZrDz1%~*!t1X*bg4*h+uA49O(_(!r(K%_Eso6V}g9fwm#&MWG zob-KG#zM%Y6cVUN@P^MXIk*9fwcvm6DbXm9p~Et05i6vpwT6_fD^mn)$Z{(E<}1tX zap{Hl3_AN39lF-Hto#r?redly*D2=ctDu4(=kYRIzmT(TkKU5t&e%-3J2)i%5Ou*O zr&BYInRj48=T1QZHtp%tAjgOix#ep+YYr~8a76m^@_U&Q${_qM-}i>kldHmOs&Fbm zn=Rm6AQmBZBgszQ!W)TjWWdaAHrC(IFyr(?*XvRpB09Iml#lV7I5Rr(LEE^)qlfBU z(w`b!oM_V_BM5dqlddE0990 z1NnNRoMrPh=uuAwU+YFkXomsLcwo;;B*HZLCIvgHYL^+P-QV_c4ZCNzjjEY_L!!Q~ zc_)N?2MYmAj|Y9yesbOF8*eTh+$x3+J|Ap~$F%>wT%i&cr{!J;o6XjV-YDsEtynaY z%SjWA8cJ zE26Pe&Sdw6EH;X#q}UeCi3w-MLZ|MSa@#ae7Dbfg3zJ^e^Qy|*RPUtYsXqxd*Hm?! z**FRuc*0j-1!@zqjVf*iqT$G--}ACucCMaY{JFw9kbHhR4}+fFb=%WrOZ`Qx0X}Qo zXyY`&`x`W7LMjgj0`Fal9#G+nT~jhLG4U{kF|)K?MTrPm=hzLX1E0W_ObP$r3-J44 z(?hLcyEa*1D)uP3rYozfD{JN6q{}(d9}hmL>Rw=zJbZmEgb;bH75s;7vTUaqo0l~P zToMq$ADXQBp;qPPHAY7!z0PBa+W zqLQv++lBYgWE<>}BX!uJ9QoQC{xAX~bJVe1cBp8v72ZWH0S9_$2r19{e};^e(zT4j zX7HEjBiE))g1IZ$1v3FRUC1Ndcfz|pTMl`6ns+TPC3TZ^l5+ZV-YWeXDm1F}$rWAs z#i?v?i6U%!^X0)~WnF7Z@1Ip8l&Us!C%a5Y`XJR1PVglCY__Z_O_tuyW6@_QIY=Ts zc#{<}5O|5`k&@cl-xvHs=+Ssv@cQU8JKFpnYah)fKbqIBC$KW;tx6=|-Q2K99Hc?i(*$ES^ZcP}7~HopR3Wa{kDM=n`^yEx99xafLPildwvb|spo zwjm=W^y=KT)t=la8iA$BrfPX^EvekHPV$JN&>_&^2_pZlQsdyOf!uv_e>`edgj}z* z&{S;iU6oITnoF`>uy+sM)MsnzyVddTbO$dhR>>p3eJaAk#@L_i4QEdqU(*AEgOFFB z#9$rGqqTW1m^Gh1OvWU87g0L`KyY%`FG_M1?x4C4dpUm@)>QNQSBavpc{#ZnBoXRW z6~gA+E_C$|&&3o6aSoc!hc!NK5*(b_v>qAOf1E3^M9&Ns+j*!k#qF2+Q^nfb4tb@2 zb*NR7BdQ{qi3suv*E^S*Fhii8*Zxyzt@z=#`l$a8*yHO`WY3uSwuNgD*|Kt^=er>2 zp--ehv@L)c85tuEO1lx%*WbS#AQ>xMg)%pwr-e}Kp3cqbL|zk`H*vN#71X^^a`$UM zo2m*a7nQrrm(E5>+~qiDcBJ4(rs{05Iu@Lv7pr==F%4#ERP!NMQOiDAYktg{e{%Oh{ngJTriAmS4p{E4ztkzU^fix5MiwASxVw<4rL7Hb)&Nyv}4{BMA1z z;Z7#!zvF zQRdrsTfw%DqPZL*WhKmXaoynQ=-N!b1{PlgBiRb$jv+FEFeBq;;{q(MKdhw~r;+Ea zf%1=|(p;nEOJg~7XoShI5K$11IdJfrYr{obS$fnvyEtbkZcRY(h)mDV@SmTDo_m1* z^bI@Nwzb5$I{ud?Aj{j3NujtQNp~pnT>oX?<(#^B*Gr7ys%`&0T?m%wtEGkj*V59Z zhVv9VBgeLmymH63$0igH-@u)9Kt6x9Z#B~Zh|m&i2T~&h%NrumehFRufbHi<#hCsY zeu<9~&c@+eorno!wh~$Gz%&-ZM5IJV5|~1r$J34%eu}c#rN}X^uOHU|nX8?V(?Ym5 z^qDcchAjqU^QS3Ku)|*}9T%$Q5~<8CwLw>3R<;Ly#&1E(+Qos!x0Vmh zP&{)symM3T>;jk-I%@fPO!06BT_po@Jt0Neu&>>AggXt2+BQfGpGQqCW8{b;pP2WU zB8ELC`QM5^j5pXS8Y%g_awMfY?<`)O#3M>R+`lPI$uZn<1RL*2HN~BqtV&pN9+EXT zPh1$OpeOWmYFv)3=JaAc!tS{sEW!oG#0LGT;OXUpA@!kvFh>gV>fJ`&IUDkDM#0J5 z`{#DY!*r3c^)$w=;J<^Xl{Kd9PT6C|hzkM8^hHEJ{Q5G$N52c#cNd%S9`pPVKCRR5 zp4KlNoXZ?R#RRc{OiU`3>w8PL2hAFU2&(_END;b+E}Nk46YLk;ojQyH7bOu(%PmrwE)M9%4W_gE% z$>;Ayc5+Cd6~3{*kHqKbopV{OlbAtCo?md3)@5t%)N@FS0i)*Jf_I*V&nNzPct9Pm z;5$Nd(wjDiqx_AH_h$@CRo)*^sMgy2s6h#1w%LG~g+ygS#Clyvo|KgZ^AVM`mb0nmJfz8QA=~ihYqdT6hLEK2o1x;NlORF@jHuvG%kDxw+&S zKw-Sg$f_H;n3+~bm;!Ef9x|X1R$akiEW#4DO8pJN5WR##=m0)a+;7fOca%kAWxSwWE%c~Xcy4!1_QQq?gRqnoVhcYB61DoToIvF|Mi9l zEyw^Wl=O=pB5AKN^OeN?xjSyre>OjXY`_}E?|J$PS3b;fXuE&F^dZGsuU?^X=%+bD zf1u%A5RAV#H|fj*w(swu#y}AQfbEF@E;s=BHB$Dluq!69Ax*5~~Q_Z_Lm<)}G)L%;Q>XQ?ryOB?sE{LmCWmh2?hv-)M!dd(ZK-rDt! z(pJ^}?PE^*T$@)+l1nCboOVk6tP5l!m?aEU!)fAcH{`q~_f^`^3# zES3*(i?`*6`#9k0kl#a_%g_3A^&gFEzc7f0=S@V*>d)z3ZQt!Sc*8CSHaxL=mn?>k z+tdGC$%v0FHa6D%=Sm$JoPEb`eb_O#PEyo-^SJ8@HB^7^d7rpee@ebs|M^n7S;KMb zrZ1n;QFDGkjrHR-_Tuu7Cr4$g?Gu$6G9|7XspdmQ@5r$Qcvao|3^dI^ZxZQOl4N(m z*(&zrw;w0<^S?|@_d8eGRh%l>>#7K|g;M^ON*}Vq+@Ewn{V0LE{FmpO(+9!I%EG*T zp0%$g>;WPuS_Fnkzt@(u82_5kxc$uJG#*c`s2GFgj19Ww{{m?pb9P{LF+n)mGfut% zl<%X2Wn%UCxW`Bw#jC>sqw|1rtNc5ej+uGw7xkXgdOVCu@fF636LEW@wYT7w#96B1%je+-BhX1K~n$ie!P66I{A z?k5-V(evh)uBKpy*Yx-G4bj{wFa?;ga{^k9M98Vs$e$%B8{g#-&Qh>RSesVn5NSq~ z4{Eq&q`g$0%)h<2UwgbG(vZ!~sHNA9_Hc+}Ow-+rb>Vq3@7gt!Thl`PTRO<8kYWa( zhPt|2&^%V)&P?8-0r$x_y!5fXE$FXIpb1vu@#XoihsbuDeI?>MG;g!|P@Gje8E4wJvC7^)$|G zH97s!2kjk3E=AfPp_-$jDdZ|*fI!vB>wZONQwyR1zQVFw&eDD-Gn!grLO;D?V`SM8 zbQ#tcnB1Jtk4w+p^K+yK*iuwZ72;jgj3Rk+k2g187W6*Yef3Rwyw1LXp~iJq?3$1o zhtSyXHaYWX$`k--8wOs4GKMJn+hsfD?>@FqC$$gEhM6}0YZ0kvr9fWzHR2%j#Heqx z(>_GUX*r}u+^Q*v5>5PYRdRiXaZP)GxS*OnD2R3{1$I@bbhTkp#mWO7O5CAHCo;qC zny^te``89YGfR!)wsqbccXq(*0z0hhJZSzjqJOTW=f|_EfKAxfoqv}^wY!l7Ai?LU zyY)4S{_ZEacl+Kf?Q1O`w?Gh*Pph*6T%r#o<>1$#vbqGuqF~qwF6VD;HccpUmL2ov zlA{~^jHuDm`rD+P7PrsJV!kC`z1jys`ZbUCcOM1 z4I>NG0I#NY8_GzCJYlMx2CTtfjGUU_>~+Qt(RfwWn&p~z zKn=Hz4XbtR{3GcD6OkVpqBhinMszjx^Jw+9!qkkj%*|b9w3zxH9qiUO5b{4V_(_#0 zvwza^`x)RXqYG9EucL4Yg65-Fq{Lbs<&_2E8w$(tgPXMqvq-!tN=UC{Un3?8tF+oF zZL(-EP~3cvb{G~H7ZP%K;VhkvhPHk%Dxba{3M>HH5rlmWF=V^qsnYMy1ohKgGOl00 zd1Cs%OIi1N|6AysXaw^U8=&1t>^dE(vRoj(rIoYZ?RWeW#g@YpFwFJjDBX>NREb#+ z8MBNC(Aa~KjcqiuRXV-t2EW5Vsl1(tz7nswLmaZ$+ibxXQvq1xQ?~ zK}vYzx{Of9eJ3ch#O^(^kb`D0AYG33yYa2K`c|jTAU{Pe);6s^v|RaRo}49x*wQ%S zIUd?yBBqgMM8FWpyKHPM{5vSTa^4DyeZ0jP<25cn z#~G2(!As;P6EzYMk;VH~)A|cOpU!c9 zP1zkKg>)$2skB{TzCn89E_x*w$UzNES|X(gBlkFKayTg{%W@2&Jt6*!UOQN;K2xgN zJ#H3ykjUJpNzoB1+EqA?tvM&E9wDms+Zk-MW$SL&PnE*rzX)p8>wfAJKHgLK4jqTR zzaeQ*3Hi)7IjvT%rIFwE82?})Z`|oVxN`aM^tk^s0qI+q1^b#N;+J=-URWRP=xz3> zNg#L}5K=%lnvC|e2C^0JOitYxwY#iIe8M}I5X41J$!7w2GM2Qq!F*T!U5$SkL1ld! zy&>H|B0%M?4~7;dydr; zvAZGfBfnjA-IV9d9S(x>DP2mhMk_77kPDtsqkv?jCb+SoY!{ZvV|n08aDC;*jJ6XY zqF~;mmUd_*0ESPoGc($yG(Hk(H62^TE3QzGS%xK|Ypz^KiK!Ioxq&T;anq>_QEHVB z%NrK!#LUJtJm!rpnK-pCK*HPOoJKVU7`fHgIMU9J4wO>ljM%6{Sl8>3ePFdZ_3m!k zk$ksI%jf}!pC{$mjWH#RetAj9+x}mM!b)UlcxQiR;t`?XK_9l?quP`15FhN(>g;AD zRl&~Mw{(OTjErPFX^Gi7?X>vgt)X?{z3mZej9!ySRoMDbTxi8KUs>A#n&3E`*dw$) zP(?(?uOlqp+0CtYQm4~~FEjQpETq6dOHla_dU)$V&JqfW?_$Y$cdD3l@y<+|ZxwkH z@7>$z>KnHO-lGHOC-G?cxX&(5SEIbF^aWvCdQMb8R z{#v5&v^YPY>5_p;c3X62@Gz0d^uTm6?!m}xxIk`8{ze{Haxtjx>ZZ!V5@7LUlq zHgAd7>P*yg^8tOFO_x9^z&L^`hJ*~g;Mo7{9`H!e9ul>(t_yZnzR_Ks2aeN03U|No zA@D)rA0GG`3f4?1cAAW-pUdMKvr*nmsSrfw2SXh9tGJzfyF^dV$M8#ip7NP{EthC? zqfkjGDzqsGlNr7w7a%VdF2R|I(JN+MR7HeVF0vc4k+Pt^9264S&gz9k&L< z2n5^pOpcRd-t$n}$;qsjw1#l-OO&!}okE$zQC#az4?S&FVl#^>+=5&UL*8Nw41DG7dPEZVuOv&b)vtTdre36k_LN1+=7eNBPF&X@ z_FFI(z#dL3V0aXjr_*NOoSdFSn)x*r9_}$j#;~k7k z9=$WC|N8cjk#02PCrEgevPAUn{e5z9rtT&|_z>zo8Q4IkD zNIb9^7PhWQDFGQ0)X&JGa*28VoZHMT?EpA}V?^E5In&aK-SSNbnHuO?Xb%`!i4~iD zl>$Sf!=U^AU$9MKEfJw35)g(B#=~GkcmBR98WiI7-27#l{3$ zSIyTpND%@SpdI@4X+hm^#o@%98N<%r(TQQmEF*lyWRS>(eZhK;42c~P)LP>(zR_p8%f zvm}X?zgWygr6%)^Hn*CCQ+^~<-x_0|mebR>Vdg0{77P(xEg zi0q~ep%-kO@G7H<(Hoa@!2cDL)smL_HRM*i7M9M^^fmP6s{QPRD}Zaz^*ha(BN&uU z_8xHjLe0)^ir9;|PVtNiU;JbuXL71w;k^2*ri?j2pbC%rk(kOaD||?> zf$d;$X1(F@dxBB-^CBquZ|oHK{+TlSFQw_~LMD>2LDUL;Hv)Z66zvG{0Mmej^6vS~ z&V?PxChRheL$3S^MY?-5V96wRVm+nsibc$eP?@^ngZtK!K_O8CtZdu>DR`wS|5l;C8tvSKoIXM(ejK2b zu`ccWyJ9#` zb2yOy%IHMlX30bWNJ%7u$@j||)VcQ0lePZ&D)Pxt0Sk*EEhj zZPh6|AoeetjsN9v0nbq~CyKV3FTacHFm7_$iCv!;TglzFSN=SnJXYU(F7RD+`DVA? zfq2254K*d4F4nYgoR|CCuwM4a6I^8*FqO3W0Eh3P)Hq;%j`vBFGChajZZkyX;x0P6ee-5~> z`mYgZ_-Erp{0Cy^6}|v2g5vc1I6=iWr~pR;t^p*;x0k*6DdkUb^Y7$WVvy0 zjr+EtWDQy@6+STxkulDK6=2dN+}82JEk)qIXWLaexryJ%!58DSUh^0)S6)TgIM<5_ z^6*H)gO#+0m0`?I{|q6~JW>u{^FOyeN2prH0@58+{+|l~K{y_bsxUxFRlR5S5gvNV z0^J8za>sGlo`%$RCq=!qH3s%9g?aRw~WHSIzf-biBtdfV%`*Tku1WhcuD z?>N@mIY#f`qLvMd{QD!jTFS1br7zLL`zCJvjMR7K{g-IcE6Df!l(@r=SAL}zx5>UR zlE81_mBDVK28X+I{(^k4)X!zxSf zA<6^Py44ykH`HR~#KyZ&eBkwi6%}Xa%Xb}R&L}}ZB8k`O2uNe&tN?5j4zbZ!j5UO0 ztkA*TnA(-RmS!oJxv3t1lOdtc%-0DgMDroQhTkowOEuZN(-WI#K5&YBMH0rZd2TaU%Dj^=Hp`PBh(kH(cc4U6k-hRVz{*yG{VQ&i`N61IQ z#o=erx_!D#g81k?n516|`@H zrQ2$gV=qD2^*joH$X{=I0#;1XFwIZ4>EPyCfF#p_oT3mura*AL^cWC|X|pTDVZ>@~ zyh7?Sn^(18U&GvR`J1z-!l*^HfnsKwfZnst6#e`FV2oIYm7nmt`ufi2+01`ECFzGk zb)^6Ku>*+~oDR+BdQheZb#FqC0;j{sYM9>YH)Rh<*59FaJera|x46x`^|g>twSzTu zY7E#x0aO1%aMxka)D|e(I7{<5fCN;UWN3zBaA4Yqm%jeNle8Gv&@iP$QhUC z>%H`R(`EPF>39>6Ceh5U@+F#$5{S2~O|(?tVSF!`*KLneSfYMwh$tei6Y-e){x<3F zH)zGeyh@4}jlo>wa4|M~4cBIuzDv zPPf7|=~pg>Z6x?Sk0p3SM@0WAdzhh=I!P*@3UJ1$)SEMn@B*^|Wb6=hyXk84s?4)w z?^p}*7m`br(k-1FELgGTg#-WOr?Wb73I}1=N6QH{SEiBT-uqIUx8jVP-}@M_+S(RN^nJ=$pL>~6 z9zPH@@`hlD6&-8a?FVh%=injJ9-7_9tIeg zSH4>wh_R>B$)DGmh3Xk=|G`eOARB+ruUFxjkv_wpBooNc&<{}@Co>c*SU>vqDG`9x ziAv;bEete#+=vLzf>)<_aNyW$eJsAbxibUaXc5wzg$AN-ylXERiqyet;-Z4S-ExJ4 z%4|ev;t^_U3ch|!Lf6H!G7VgGwhBr%7)ahfLpLqE>E5OjxX}Yf5SSOu*|Li)go4*k zL}_OV2M&WxeqV3BvEz<-98YJK1MZ`k#QcYT$)pe-Q%Ap5L}KR)zZ!X9TSyt(-I=PZ zv_I&4K6X0Qcl>KcK>tF>6!qP8sZ5-F+1WXpv}&42KV+cQ;Ep-B$*-==p1&qNLXH`< z*tWJr-%Pv_{rzzE7xPDTg@BvT+#zqTV&ER^YHasThpZTES%FY~|FnhJM8~F`lo2+a z6`>|v5rZJMt1R6W`)yQLIkUW(3BmjlwV3Erd&T#SjSc;19+l27x>2VlDa2^jk6qy*c=d z7;t0v`7eXaY-0RW=?+|GWM2A<4lfG@1})6p4YJxvD$7GNpL#2~RlNahk&Wp*8@ z_=9GM$!!o7|2{g7$D`senqM&wQI_imtrbPWqypiCIXbmHea@J4De#`@!lF}Jfd*HP zUxn3daLVa4PSLSSswIsy=P701Z9J>PyVtbf6YcUe#_L?Wm1Ta4GI}qnIY*bCIIvsr zn_n|6*?^aLOyA)mfs6baGr02P1QCFT^Rz`@9ZO1)$%N+~cH_VEp4dwa;N#*;Sp&&s z^VaGkLZ1t^E4?SZb6amJVMLj$}85H6g!82#ZAhoo}o5 z{7Go_liu7&IryL1>1*up4SSL~R;D1U0tjoV5qFUvpUV??!+C7}N{i}q{NP|q zRbWxrjx+ZZmoEjPY#*8MCOo`$w5R%s_R0**ANzDKI}0fskUmFpesiG!jy;;MsEMn& zmA`z=q(_hxu(u85wc+dBe%$=@!f&Pj7xgmXePcdMt|kgScPaSOWy3w1%|lNNn3=CU zsF8S181}%kr-B1|1I(8vk;s@jz!uok!clrsIKN=-+~*Na_btrnv$5U51_u-OkZ`e7 zNWAWeT7leYt)j87Q)7rz{vb-8KiAhOR~xnFh|v%rYi)6n^jX-jQ6XjN zL8j7A2x4l6v$C_CZ|k@C2D>Mc$=V!P}q_rA9g~B=e}{AHBENY-Q zwtCc1PHEuuh$gfLuN8Ho)a<72E{E{444owy)b-m!u9`iSzeQo4Hqy zO)t4%H5ya~d|Ce>6dqg@Tj;;+I~{(}Vh8k{4t0~!Vg{pK@;bNFOsPf_lzS}#gOafZ zyQfZ1w%Y^kk#E_QQS^OpO!5rb#W+S*orjWfNB6&6^2!wAp4RB!e{XZG01wi_6!%#O zkHUyVMV=2ge`DxWl(wIDkK2Q`P{T|ipp=2n?z}ZnggMdw`b(E`qF^vC-SskH6L#9! zF)mv&;_@X!f|*n7E*v**+O=;@g}dItpe*SPPZK*%Z6pFc@;y4J6YyfNcISyVsGmv} zg%!Y4UFL7fzdEq+UD7CaS9FFO-@3-Eg9hC_}FLmmQ~V%x`mY`&v1GXDFtv7P`x!{+ee{zc=SU^ zz(ZK@I5){*VE98)?TwxltnyC&xA&1>?4ujswKq~f!%Z)vQ7+#Lmfc!;B@GPl2ag#^ zzNerB*We!KjOD1zO0y-QcSf^ufo-Fc5{`Pg>Q$4yY7EHO5_Thix+Xi5o}c)iPm!NZ z6#r|Op>%=!>}FtJsA}Kq1Y5DzS=rnslKB`%)^XxsFHH2?=MZ484n72y=|=IuENP7k za$Bwzol32b@73`SkG9uV6*NULBRHrJ1VNi8Y)t >>v==vj|6H=l0}PxYfS(_S0R zuB~Ff(4{)8DlB#cCJcL_pF7Y6(*HG~E79uJYhIsoU}j@!NNBPy*bx=L zvCAcdcu1b?R@V@F{U!ZTbcQ+MInuk4eu{_Urqa2izA?A*}jmXx%a z$|;_qy@RaTxqqS7M(L+Yllj?W4YG~#rFND_Lz9Wz7oK;;J{)8+4rG!!XfUZYvWqnX zqtO0rJ31ED5rAFZ9@1CsDj586VG7OdvF9v?o$Ul znMz`Cb3i!HqU%Dp2+yr7>Jd=Nexg5zLc(!o!c?~G4LGh2KShFnvww{wov`RTcH>G=kpQnoi6~*UCR^e<8XWy?AXIwk^k3&Qttm_WdC`zzC zaGCjv=Qlu&AjhE|ZF+j7LfNe8FVc7!QKdPG@sRx}<4?1`<#4JQcPe{U6bwRij(`>g zMF4c3LgMq2f^|c(sM;uo0-5E;bQL85$~;N7e#y9jkg?2bSJ5PJn>e0RKc$?66jp;0 zy|-DJEooZH+Vbcyn%@Pg;QY@8B90EtNo z_yw|7xjt4B#A)z3*<^NVS~%EYy=E3^&X{(U&|RlIn4XEl3|v+;kGCiAFIT6F_z9y> zV|qeE(%qV~&+Y@D&+#BlS$ZARf2Z*mlJC|N;#6YWU`rW5XTmmG3XA|Oz#gN(bcT9X z3BhP*TUQ(O*PsMV;`V~*S_+&ucqAcckS=*u%3R6PDv^FcAIyfi@EzmcGYE@^h-6tX z-(QCY+JV2E_zlip;jLd|+N?Q}OAe`9k}k)`rTBSLl~RinuDX3F{wzD4yWdS8KA9amR+$Tfg0P z=&|m6NBRV5Hm*T5o6qo3Be+v)KbN4Ot3@5pou9IwLbo3c1_u8^OFuJcl6(KOvav$w zZ%9jIudO70WRPa(ulOLBkIt-oyaI*NhwEiE0|KZ6-AhN5bEON1;T=hP0%A0^ii*jc zqZToD&@4eG7bv0=H>U6}a@U7Eeb>``e>b?kgIa_sJKCTaZPHCJw$R3ssts*aBFsfN z)FOUUb9$vtcn{eBgSn&#@81qaR`v6XnA0;&3_5{!KQw7z?a(+mvg3w~Hlppx-zg%D zS1k9wT7iMwpsM)^R!&Sj515@La2H2uoZz&_*fRy=TVZnj7?PQ~QToRHAW7w(3{kN~ zA&GIGeh4LX-7iq2k+r;UlqcwG5ee%B=U3%+Jl_IuU%vGH#sgRFJ95?q8q7_k7f;3p zK+pIUg1{d1vGXBRa4mxHc4Vcu@J=mana`(Plqog{$hY^)&n^(-gS(<0wH=V&b1>Di z#rED*Ncmz~n#@8O4ZoD`P#usab9fO!=+<0vyglUN*5i35j@L%gidG-t@@-{5t7~_6~@M&ug9zU(QmVCSt&Ri=U3Vn6s`DsJ<~kNROv(zVPcO2BD;A3bn#f( zHIy!)%Qot@(I3VuS#u2A2aj<<&n?Bu*RXa5WY6tEi`S$OkzE6&t?)wUqs#s`r8mgH zR3#w4OM_w9YJE?4&N*3B;ZM(xFa|wu&$ru5K)Qz?$sj?*2=ne>o*n@2zEeTpG%>jf5mmib??6jLNLXyPcVEVqNpj0mgg<8 zJB5Gh^#ce!bPbL7SSvY^hP+Z|EC|g60{zZmOpO!!$bd(oqv&U-{)D>RjTX@~HTVSe zlr`zwHfxNx$VR&u#qFeG46RgoNjP8UBcoX2>R8wq?N*vnHldrN=jjrpSGeH(nC@wD z5t;|jH92;j=0r`c@UxpIM&{8fBOh{v?@DuaXo~D(y)U_Rnf1G}Pc!Ke4!G1pf{DAl=Lj_CGBzg%vZLzRk z`Uij^x&uJlmt(>(ymKAtlHm*OFMF|QNJ1qh{&q5t`t6K?3W^@&RtLQQQQ{S7Kp9M~ z-rtoe9OjvfJHeH9pg!NPEE*hol!aC!nqy?(t$vo(2pcP-cxG0Jf=D3h@j+~&|D*+2 z(V`CZI_Bbm(FuT(un%NUXvWw#nR$iPED|8IP_Lq!c9Tdmo+E;Gwoe(3p&JU9i_2@y z&V!6@@llS&z1FGGhNRFv+w21n1FZvW66!{Q7Paun63{|nSw|NQz-%S{6}c6D>GC_Z zC}d!}@&VR`D_h5i{ryW3&?lD!Z&5;DC^HuIS3uSLR@5Q+y6h(FIIUz*ULeco9j(Ce zjV2rE%VOsz5|cs7@3-A=o`c7C5FqNaI+hj#HppHVy5q8J>_4nDmf6CF2f+!ZvGI$c z8>!ktrL|CbXmj-vSQ4qWO&~J zP?y#WJg+}JUcHYOWxa3`M?*&U5f7SY@%{(i`($@t)A78#8*}_qL_0r}G-OK5g;u)yRY%2JoE1h+{S*I^VybvBCNNw1%EKroAURab+m+;$gHtg# zpgJR$Wo7`DcTap>EA_7d+0dyUwzTgYB>S;DuE$Y?!?ku}CE2)q8u@UEGGTg1W{Wi9 zbnPH5o7E#nn_}M0stlHLeuUTfCpXDYSJ&-{Lww&F#)sz6EfyPnJ_pHwy+1Q~HN~8R zCIvb3jNb~y)Zh#r_;BoXRK40)cvB11!-1=ZR{!5VRR>OZ3WAyY9qY~_z-YovQ*y3)T4rH!G>J+BsUnB{vv;^$6l~b^GN`n$ zU>>fuO03=n*uuIM57!2&F&0Du`Vu*CjOC#>kfQnTKx{VVaP?QZf^va%twO`BJFb+U zQ0mXfLu>>RMhK2#u3|1VY^yOGZYXxh7*PkP%1c{iX%=Q$OzSRhg_aoWQ`QvZc&k4n^=U-UZaFQPWyhYE~ zC!CsCnm82Lrg^>f3cKh_7y7)f-n?F&=L}qBD^7c%e@4d7SSnL@&_-1i`5kr{U*nmn z>?;iWZ>}B_>%s80wdX5R=lciD0Syk|Ar``Az%&Do#^c!gKhnlA6KsU6cU})2qr$Sf zTEbSfUoMe}8dadSvD+M^?W5oBh(LIP490?y_oDU?`BV{ffDW_$UCR!*x-KdSEYU0^ zBaz~m+s3Q2;Q(u!P9^$FNtTWW^E2TU*NUy|pMh-tgm;}|`tB|s5q zPoh&3nhL1#NHO5>A}x+1{47)Iu}yYtmq}$!PzKfE^(j(6x_SjajC)TXu|;GB8yo&}KT7wHt9H~RIEQshR(P&g{pwc~{!xG7If7$del7WD0n!E$U`-An6*2P@}KcpACEmQGzARWx*< z+xg|u2=7x#_p`%pdE@I~QCe8jDqO~SKXow<>F8scIY%ja^E6MP$ns*$-qa~`IEZDS zNy?BraQ5&1Ft}FXn@9gU5{v!BfQ!Dsv#q|ws#MCcTbdXQKFy;5)}x&gM`;EF>0;O* zD`VMd1IW{edRPaK@V$UY@?dpsafu0OkS7F?i470y6wlJ8FPGK`w?+bFkPubI0&Rk| zAQWn_MG|!w(wCHvYNrJ^=>%3F{lH}P4xtUpaTtSwbD_V+x;&7*yWdpXCYZr+2xabo zVa_`OmM0qS|HeeYxjlTvRIJP@NQSNzo4Pa27n?|_-kQ6XdO3SwFH?7PpGTc{o;HB5 z`d-=aGbD{uilDypa_6Hl$*Sd>2aN~%dtk5QGxCz=JLcrjgmV!GcU+SfuAB?HvRanj zno8K0!K`by2HG6{GITVRW$YX{8`gta6e)W^!xy~K!+-mt+Mkqt*%y7kS4)g=J4-O> zH-O#B5IR3)OitSdOXY$$i`iBqci)qc%kX_+9wxD-AAY6T#)87x&^DQgxPjjXDPk|) zsMJw|JIA+6>a*eV|G5A-&N@tMdt;SZC!I#bi$pq2;|6`9*;nZN^6=KzVUvFLkeo0+ zyXORmV3c2I$BpgS#64GqYr-`Zim3@~hvATitm_}6d%k$7t_sswlQ5*D!1I=89;mU5 zl{a+Snws`#vs1yNwXt6k$(|QG$J?#>Gs*`Wdxd-s|GI!;^iltdjNcFq>!_tk#)m-Y zBeEcUc#8{W!bGwPM=r94XK3Rv+oGF7kjB~o2nrXuIl6EpEh}wmjx!`^JEJDO!{;0k z5KcP8J-nxP<|T%K-r9+Hs9})r^{wfsj9&?Tm%b>|R=C)MXSwBp7wih$iH*Bm zRBZrXI)jl>A`>otxutGjemgqBt@{jnQ<;$O>axw8k@jMhq#2f_plc94vN0QQ&Wnf@ zl=x!}IpX0u+440=LvO(OS)irix2^|?4g)S!1(T>6>cJiqn&>r>^82LAQE`fY+P(Bg zyKDUhQ*zNprDUEWxa6i1Rf@eLZQ#?W7stcrR4J9>n5Zo;XfJ7}NdFDrEGmQ0$}U!bFZ;_z6HIo52FM81pnF?QUHD%n?qJGa_OA~ zDoAIAff`*^p=`w~Lv&t1(Fg|&3bp=G>~2FWDn7B7R*+}PVbdwWi`r~3B#@XZ2hSOk zMVQz|IO%{3hmJke^ZKGj)F4-KHdn&)Iw~5!KVS#Pe-pOv_!cpV3>-{}DZu&W7`Z7T zZZvYS!sVyU$9fcm=ksTljlXjop)1%{cCJd1bNS}fxrc^jbN#yx zUU#(=Khj*oC6)`BNyOxl?eUGci=lbG!K&E`B6|7@BPN)f-9UY{?&&ty{*psRSny`#n2I%p(RXvk)0k_xShxKM^rA0 z8@FRTKQo;h5)Zy@P&1A5jNEWswn1m41A+d}v(Rkixt(i=32)qKqP|zyB0(i_%@z}E zG7~_QnT47rC4FvoPI~lEq?`b=8m$YOFoxv}8AD9KTfDZuq;%5^|NqhS4vdv;P1k5_ z8#}gbbZpzU(Xnlt9VZ>zwrx8dt7G)t=Xvk<7v@}RR*f1c*EbV7n9b?+M(S?m_PQ}g zF;6xf!VVjwZ>SpjlJx>@58T#~^h!QGc+keAZORJVsx0H{8mk}Yyl*6t{({ZYNCo?t z)AKE%2fLZpNO1($lnY2*^ckK9=rd>kbr*X8(U7BxeBU5-b5>duzf9!TKa<6)LC5<2Vk73;l;wTiIDQEli@X$a(zdNiO=uC5UR(PA>y>gP|u1l z9Shl{3{gDdrfyH6h57U4DZD!KLL#ExCJ!4f(SG5ld-O%avicRqIl{p+}HAR?YrSL-VzYI=FJC~@%!t9HH4&v_U2ECG<6Nbi_ zkz&MO@rkyWYkF+_B8zbC6!%rxVWdHcw~LK0PKNMO^Haf$MrRqJT$u^2N)p z{_^B?{`9rbOS%g{P75AsvOAa3_FnsyRTpISryILml*?Zb*(E{cK^~>rveDoI$nMTE1W_}AQ-j_3>;O1+=`I1Hjnvn++|O68r#)RvM z?ymp9$I~R<|6aRpuG1~UKD1j??Aw>qSw24AX~kMYS%-0ltCs|=DUXzp$Aip?&Sg%J zb)V`fFd>BJ(qigGgcR4i$5896dPdpCHq@yGdiefW>+Jm=WJzT?-;IsjGuVug(j#V= zpKxsZKyfg?rv)ZNLc9o+kW4iot|3elTX3(Gm!3{Vk%nSgE{+jc7C$URf{;V9E3wHEtJGsZ z_=&8==!wffW36%%DGaua96Jtw)LL@Vg4ty`ps@OQgnurx95%Kf8Yvu4v6ayxZJLBN zTtPgC3YS}ci6LiuIs^R6+}_m=oj`9o$G&*x;(YSc5OQjlXS=fjadNCQ7Ecy#r@G&j zqOmzAElsIp&+hJn?Tj|>$nk+GvdUm-qhjGQv|SCh;vYWAOE7u8Kp3HW?(S95%IA>9xj^9kTDA|Jmq(<;Ac6;)U6^~y>H%cI{cs6KTg1?dF_X zMk_WGrvIq(@vsmGR8h{kR(-{#OKu1&U(!tziTeDH`dI-|KTKd=L~Ly1z zenO)7JDz%P4FSTv7HN#{y%5MTA6;b-$@jsdIook&w6_}zU5Z`^87}?K8Rw#n=^q;e ze#p2Wad(f~XkqNbo^Y6@#dU6k$-d}w>lCkPI}ek|2}jG;p+fRCg86`DF;i+hbQK7SbOk=a)(SBoi!GjI zVGZ7O7r$Kc)#E#-mtrU66L*w+und}ibTf!{$s8o;d#QCLfrBSR05oALu6dhildn`p z;e@EBXbfGC#B)%lV{Fe5Pyaey{F52CiI%y^~b6r zHQ={%09}H|>T!Fcr)FunX11@Sa5N6-&7ZR+({eZwo%ORGMF$L5t>^9ycL@bj89eh( zdWZO_lSci!|9u1*{lvh11Zq3k!CYxe398#We>*3U9k2yft?byZSkKB10gwrxMT=L%{>TpTd;bnEedjK{R7`B5w;Z;;6GM;hn&Au9@5GK@lRx!-@H`Zd z#9r&?|5dpzjXpFTwiN1>9egUW97(q`KG|(6-qpweW=BG{x zvSb2H@fF*JVyyd*1Rv`im83=cJOO>#hhGj$h;IHhb%1lRSYzK|6ng5Ph~)l_Xx)gE zG?G!s_Pjbg$5zwIvfeJetWYXVt#7}*uaUC=m453)lMBRiL0X! zV+$sfOAi15RE2U?=Vt+i`jC1cFy6!2#)4#{0w_L)x(P?Y%!%7vni^k%G2ANbw#;QZ8z%Vw zYvSpbwD%c@91-8tUfu_KOu*jzqt&tdzsRt6nj4E+S#Bg!i6@Z2o+~RC{uoBb>$?n; z7G_Fp$k2k{sKJT(>Mub4Cx6H}-7J}o9^%Yvw2@x9N3|qSsn<=PMLftXyKKfy)Nih0 zHpkm=N#Pe}ol4HteP5x{mj*+{7pfv`fgf1Ct8^aI6;{BpCxK-jcQWifF3L3V{diqrTp6ih`M4I(p43ppbSe)1oE_zAj z@qD6O=;@2{StEUrtm+p4y zbeLJNi!Hq9uv5IVcC=pk2R7Y`76wO{z}^_X@8A6xp+4*XX81ukcmP98XXq@wpKH8| zVf|=Wpe9#rY@C%{B+4+EfYXW*Wi*6cwsf36b5EtCIahP1R9s-tCU!{q<$dSL2(a3N z@ooj@;ul_xVB{dq&F_1X*D~ON=D79!3zEym@(%0Jp1sPH;B*YTb)Ri0NnQVQcgP_A zk7Ooq)Iy0jy}7)%QJ+e8c4watkE5;>bAfT1azN?cX1U$n)EX~N^nK#C#lBMS*EdIE zBLLRJ)_acjUZY0q6y8e<2@vKSD6yu4{-~dvta}HQE}-O4!e$;=kS&`;aSM* zRIq&4!?k(hIPdh6Ht}7;{Rj3nY-dL02v{B)-?rQ1kFBdF4 zd68rbYf>9;P)El;C!RizqyPPmzWl&f2hw;oER@!8W+QAqlJF^po3{NBOD2)7S`%#%u ziHH$K$?eXlFE#)r-_G=;J2*=BD$(*Ko_LnkCYPi2tt@d5O$qIQWUyl!{X@91xN7Wq zGPy|_nV}2*$#Ie~C21u7W{XRyWskrb^V|#qVuH~ld8TgB&dL|Obv#4DCpq;JH<4={ zT&453{$|f=F?Tko$Aj1MxD?H19~UW^v;&QVyz+H=1$u$Ym>$*yV}TKOCAXs|(q-wC zIgif!|0^>ofw(Bp(`0)bee@#9kIVMr3XLKFdSzd4HES4G9&nb}tv zoo=@ak1Yh{w{q-Q`3^U=8_?a8i#YWh+&Vd9R@`dC;fY3B1SP@8&BJ*;3gKJ(W{OdV z^2sJ#lf-zYQ|1GWdeeFTI}y!6;EC`a@(%N8qF_kj)ty#E(|=zN3dP>bFF|n0ZwP1? z#DEOuuaLoKji4w$lpRKk!;-DDYx&I|-VJd~_Q!~X8Db1N{t!XAcOYDP0r0gmDsujN zNrXl8DUtO$6LQWx`J#3==V~K)y`!C=nfBC=*?@gPS&{ z{?uL?U~8s^jEIv1=vtYSiY08Fi2F3*BXCQT9#NkR8@$q~Bd2(=Y&K+1MAW*2(xkfr z&Z-C2G?_iwy^UJK+PoJAqDp5OYB(`hFba14Dm*yqL5K`FN{}- z3QMs><*JDS+^~RHA)9L3#uMS$ksTBjVD+KQRcK;F2_*mdY84`S1OK~O@%7#| zHb42kcJaPnG7x7>KnU^{f3_VSl8B6f8t$UhX=hyITA2Nru1c+q@{dj(gbevj8mA|2 z1&4B@l8NrHPat1cXV1YdI*gbPssGuZ!A;k@J8~TZR_yb5I<#|)N}5L*-t3|hdr>ms zad?@IavdiZ*s2D*BeQ(=2SGA6E{+fIYfgtG$v45Db$g;Am*d2!hjv3)ux<0w1{@ic z`VU1gr(=cXRrChhxgldh&-o)omQROY&s;hsDrAqz%(Ro_|IViB9yALRoQ&cu>}S{K z?Ay(iU)wzl?+~EvAD9EmEtN)l1jT3UO1~Fc5uyYNUq9EIv~jgF49Q%yRx$s5?fv_r zcAWVibsiu`;N;_dIq@cu2DtCw|zO-KgIXHnOS(}~X{;$k> z^mw}r3#d(E0krG(04stTf`oRoy~2VF%vPamQ%uhaF3qRg;t%LYEj zz=5`Dw!@=bGQ7mG#@`xtXbo;sgT8NKoVwK4QC!*}EBNF92`$|oK!Ru8RU1`ni#;DY zbvx?p*?f7DF8G7b^cKZ|MDS)V!l=75sY9k>@Z5u~EI6ZM-re{s`4l#*4HQF$++~7jz`dg=VSW9Cm4jO6N(hYn zSS-h1)TN=q8|+e%svny*I2Ty=jjx=w4roLt@H@S_a3S~rC^qz3)NZ=LfQp^GP9P^y z%t=4+Nz61aDupJ@HLt%#J)R~I^&PYk{RnQQ<$5>%pQ2-knVq{AQp$sU1S!0~GZs+? zkQ*CT<|g_nLVPx;oZ%&7xfImiYUxQ77grl5i8B8HH~?bC(TZ>Acsp=XC8Oz@4W>gsiep5M%|zTsS4JE}@m8m~w` zyd8bXdqycb@D==zYdIpH749xZxk3f$|0ob92^R+q*)@NgIKsR&^yF=#QGnLeu&5Yx6}mQ2kG_wDr%y6=fM)XidI=^3QMc~S z`Sh)+&xd{e0&eVku=96aO1#uR?~Npt6yxADKXOLMD*As~07x(GDx(=P@+|?8dl+4n zI%(@Df?sahK$~BwNb@RD8;j=u3Y3Qt3cwJsf+q(PK4F}HdX-+`?{m7}==LOaV+7ln ziAXNJd{|HsW}J{^ri1eqY={Ld4PSzV6S}XphM7x{)(|GHqUdNyh_gP@GAKz2!_`|V zt5Fs5S8BbG)h&33wYI9$`O%i_KAls7%+CvohKVa9$^)j@;vq@Qo9`EJ)DB`Km`8kO zJnZR=W-_?Iv#^Td@-sUZ4cEk{f|sxEsZBUEQ=Z62jT6n&Tdh>E^_1GvNIM-e;}Q4r1nrEfaw7J{CiA~G5fmt2>E*BR ze1R4%bjW6&Nx5NcN-%>0zbbB+w_;XXMKPAf!v42#a>b7yQu?q)<T->>(=QYyhMp=37-nW7-jwNSkcg^Ya!O!2*@1Pc zl%@=IL;oR%2nzV2T^%kVvmER7@dQ5|yL1kH%B`3P$JFpsY=I9kh-d8+EEpSefg2ro zH2y$1(JtfA593nCz>Ns2dnMKnVj)PkS;$7UvMWwF2Usqy?KQE_VCOibe_3gOO{sku z^O`+x9zN>~%a8g_(cQLvDz|Qm=D4nOMWFrGNF|3JiBN0dnSS9nXukoR5V=^yk@}6x z6eUYfd#fAw0sXO`pO(o+p4BxisrgWD7)g<^w|HPo2dy!irR2YcE z8@KGTKUka)`&RXI*3Q*Ip-NGtrBpgNQ=J#V#CcH(&TFt&?VH{6uS*DhwbC$=w7Wro z`^@gS&`Gi7%k&EToWx){5juba187CMlGbhxcQM zEVLm6t!UEf!9q^2q@nagZ!C)RX_+530Bx8s>?NR3<+-NRYha~qXzm5R1{p11vQ_}E zV>R=Y748eepF~i#P;&4Qmi^_4derRLwJQ(VWUTQe(8hzO+LoAS*Z+HvrZY}oGXcos zu+L@L|N2Wzah<4e{or)^CH(xu)Q~*E9?Rx`v@Hs-fW7oW8-5FPYWDN(5qD$%YlWJ` z*47XZ>}4hZDlR`?od+LWVb^A&NdO$MV`}NoidZ8RVsp#kR^bG7jO${YY0>bc@gg(whjk;R4cza^IZi|a4?9Z%tg06$yePY&~Esp=)m0Dr6 z;0#I45x-w+Ffy@&XE7DIhkLH-WWY0829wn_?Ldrr3!1hZ3A?7gHLCt&Xzcd7UOhWh zCVO}nWK2L; zB#gWH^dz3Pg!Bm5XE8mF{`{4?1_TI{)N|uxglwooK9`*qvdSj$v`+(NP$u28NYYx?%^h+zZ=td5B{q5=CREn5|cDJ46t@~R^MV8eMiLlDoJi^2> z@A+J>fGywQsXHDoJfsS0u;=_Rt31RQL-Gn7gfZ#kUh|A>IkT{dnVGhlzI# z6>^E}hXfhOnc!Ev^ABq`Gz)b;JJR+$peWHGa z3QHngaRZgS$#IMzE=U2<7Z?2UPU*qcR-DJdA*?i>KWHC%D5J1VaR_z3G*KPj6CrC* z@Jq2og)YcQWhDE6+Y4OhLRqI7Ivzj6iPxkg7r3gVP3*=-DH?qT$$0V#t}($MgnQp-@`iz zv(h6q^kO!f4^R(5CkP8EVu+g1*0VV9&Feoya5W{+#%*-sLJqwpi|kfvd!Gw9xutYY z2JO9m{x;)w5up}iHH^6;Y^lBEv}H2N@bW?axp}KBJ+&w_ZpL?WsM0^heaakV(dx!~ zzWH+;Ep@bP?wI<4@ZdE%M{k~5*H>R13WUUVOYzwK5oMCpa48#d#z}nI=RUT(d1=eT z<8hftP#r@UX)A-@pm60x^BfZe3 zNA|FI6d}zb(t4NNNO7mY+_5>Gq{aR8C0}O-B}cR&3P0;h8iYbZmQAA2i^$btOOz9R znebUGRpm_QWrrHMwwXXa5X*~kmWcipCoCQC#v#eWd&@BYjfJO14+Lk3o74(gj^gqN z&SRIdYn>VDdB<3UIzudlPvk7K9bVmma7eom=pvua>A}v`dUIz8!E_%;optMv{Ig!+1GX2Ky<%yEBMm-YE~trCAANowyI-l!L2v&rc1 zkmk*$NmmOfhH-zaWLl39KpuGuc&~Oy_jq|Y)h$HbNCt2WkUR=i$(em$B9Smk8r5)g z7HgT+8H8nvZcv{Q09$qsF+Dew;E!Rid=@77RgU$Ac}RvuZO^{i{dPLzGsrVQnb+tQ z?%88U{-7VT#>E zT2G@Y+i3orBvfxx^@fVk6T*mSd!H@@Gu&X%1dsT;e*KiVNs043O^RIAro1YN zVu6YaE(;-Qdp%OMbTaNz0Ij5Nz8fAtP7N>9Pi)am=8ZMq$9@mb7CQP#?B*2dr&xxK z^S9?}F{NsCsu}jJO$*if1PM85QQ&m^q;2NeYEp_cH6sf(o&?fmuG`aqgAzaK+1jjs z8;$0X$&u#AB**I?kL#~?k1OBdCDpSHAGpbH>&bEtM%$+zUw!(oJx16~_w?tbx)y^= z!yIeC#psPJ+=lN838-DY?RNa?gg(pZ^oM~a)tCYAHNWnsw0I&XI6*(boC@yKK*9;I zZKgYX91?NKwa`nCu`95ESBZCL-o7YSE-fj;b#DeHVBA+sL^l&7y+N3k4j_%mr5Kd| z!JEg`1xPC}@2Y7ab45v}9i28`seSe`{nbR>*uzCWao1VA^+8j&hjErT1~KTz7RPf?|&AhxnHo-jDB2Ls0##NbBWh2D8bHrZ>NUqC-o zEnF=hgs%i2sIAVfL>j63n_bVju!sL-b;O%8z|9&gevM9aoQ zs^hgAndnWT@*(y7K_+BN@^Nz1Q_nK>FvBVnEOLp+a_kMm8PC<-Au1GR>{Y<|9Ysa@M#|)Ed4DAw{}9*%ZWvjaApj> ziwY!uRwJimBs2eGevS@{B{7@YpSlNqu;cuB>Dy3Zn4b?buiStoRzWIZcY@Bh-VzOQ2-;~Zjh>@6!ZaKZ4S>MgbV`b*&m^@m4 zX(0Tv&UT8=7>1JMvv|J-7;6`F`9{p0SbAj~X@ydY;wUlM=-{-eZWNGLE76^$((sq( z3jp*&5Y}ZlnA)Z(Xzj8`?UrW2x|7c7jbivEH^9n3H7#RN0%W z$yW}H)gvD#mBf)5)0_vz6cSSvu@o(8<$uDQ1u%ds0|++rfnvP4Cfhg6uEdmgYD9It zJ*%+QIDQZN7>7F#1GPnxUA4$Wm6TFRh?Ar$CTQX)2Xq4SXrH=_hbZ4&U1wd8UD7SW z@;gi(Oa3}cb*p0X z*SfmmJ@$fcpMReI;~j9GR}nUBH~CwRVSuBm%g(`%X7aQh*xMl%^xNRku$3rc;`Z1) zOS!4aR`$u)Dnpig3~W&5EYWLExfD%xh1mxrBFUS;lSAK@S>=n%^}l#H?O-Dv*G}h& zs8Rw71HMo3;*62a!^wwn>*PE*e)4gbVgy~bsSv@sgtdaOA|R{gBb|&F59;jWZxyqk`HhWp!esSxi(h1 zJpwg88;~E6FIwL*LXuR;3}HYZp$6%fN4jjh5XsAA5x+dpnl1_kn>ffyD8Z{pW= zwQwY?31J7i9&#@Uyx#KknWAE5tx|v*DW+m`IE6a()vq%Fa+j;Wy2TV)U7}3Q<^A2x z@!gPJ%oU$k=5@yOaETPy`?#;rZ<{e1!a@ALmwa~smu45FY1?(>XG zNJv9XDJw?~p5(eJw34Y-%3$~kSO_*?-TqsVIn`*SuVLB^RR1~=uE-*=SVyI>D+j}>Dj zV%e?|h%0&I&l}jAiV%x%>>8$97RfC2R^u$A5MSl?`K```ix`;qHv0hFEmUz4^Z zr~(?PMV4+e1J}0=b2$TlRZze2REp;#t&235T`1ONx_U@g|5&rwkH=YnI%JX6lJM9q zw7!?6jk!7gLUcAFQ=yu!C0}M5Vzbn*ERQvi+J3&F%nM*;MHA+qM==QzH68voNoba^ zX%0=!KG()nS^OwK?5d^XkLbIkbuEP#b5IujS|#CmaC#w4>k07SbGSTH7lU;a!0r%} zNDY`9o2o(q2nf3)Z=Kx6eeMWOg25a-XL8h6dpSg96}e^MJ_h{zE>=p8u#-ZxY2I+Z zd6FsmL5Z+M-e==p`aP-Mp9!a#;+{g>-t(Fa!_+K$xg8uBi3Ct!G$e5{b|JKwv&0tB06KbR17nO$8pI4*OzwI;(@Z{dxujzB z&*lW4R8;3NjngKhh>#EofZjU=NEt_g|Cz^3L~7}=#`%YFID8vsf2;7j@P{sz8$PIS(J8v%k?4csRW>7rS2#fD7wawl>PVI2`fy7o^;Sg3Z)w}3Mz#16rZo=~v*$v$=h|Hv->pDm5O zm@5^_$%`nD9>W0KxHx#k$W&lLhPD2<;mxdJLQ@|4hO+if)-~wSO1r|M0bPm?J@rS% z5w**5JW@&=vc>3uC;jJMa!V|h{f4zZ_|B#9W;k+dB+2!9$+N{$Bpog3z-#Yz(V3Zq zX03Vjk?(HCrwKdt_)C#WJVJoqn^j2R4_+_ZcNJ{`N^OSxPB1OO>n7X7xfZumUD?56 zvStAoksVzyyebbLu6-Wck+yre5T4Du!|y35Kk%he$JO_qw9N_vfPU3Cl9R9Id;Z0R zi`Ad6>m>|S6R~VdVzr0@Fjg3)fh^%9ol_|nBn~lW?reqf&R3TH5is%*t!nPhPnvZe zuWWD^8KsE$tA~{x?U^QH4x5J>^V$t2h*o6DJ&5DiKXDIhi4hDx$D!d`RdOIDE#^nX ze}F}f%ZqPMNKh0$?6(TCym>0CytpikY^^oxIH_+&2uU(@zhg!j7a!ula_C*2Z#8sd z2AT|>uwtV-g3`K777$}unn02T4)Yr_m*cXC@hv7VB7kMp#osril2%*mOH-_vKx#~j z`|fS6p*7cKJGwk}n4H%(BXb(!{|0NvZB7Z~uW!JcGiW~1bKl|)8-p-M5aKil@8Dpd zxU7~`Wd3|r5&S8b^6nrg#vBgzxeGf*FC50omM zsXFP$bSfb`)tjtzYcGu5qS?&Ge4pS!*eUPzZG_o?c7`8$%5pN-!=#hwyD^~XQ{aB< z{bJq!<*%YG{;py4vHv_}6k45j`L4qbhWM#i*2?txsrtNcYn+wAV|2awlyS`R=M3rV z4_C-)yx$J{4L1LNJV(-I-6&Je`A7V_C{r;?n|;q}4IHVP_y%Zvo(`!9wPx$7%ZQ0- z*uaK^7_2r(RCL+YpJ)=3X!KL&DO`;$#572*@=!pr9+NhCXs1;=oo#t&Q`2GK=nO1P z+9d(DW-Vy`iB;A`M{_BD1F~eSdLPsefL|c#uIN{zoO-AI;NLxdb-#Sgp;VAOk?zGr zhXLFm0G7`Jw!VGm%gkKk7$#j))QG3@G$> zSHtL`%gVp436tROo60&~x(VhoPKL894njkS;CE5;OA<%bWnGthW9`Zdi}&_svBF<_ zLblqY@j395-|EcYH;kNQuF*|4@g|RT zChxT&3&DWG9PBSfpV}VVrvunOF~QP&|3)T`rv$;!Sca}Rvua$3fF3+~TG_g3i=f#J z9qMGQTxcUejuERuZY>pIN9l}x>tDnN@F+;N2wlXL1Xf|{do_Xs_%LZjqhM4qEPrJ@Zp3F*Smd#h zsdlt-u!?}#S(eZvkU+^rz#hmY#%O50nYhY@Wr3=*s$r9K$e$!q0v)v4?NcP1(@Vqe>x^dqaJ;q1I)9B5C@a@}t{{(j^X~{hJoIN8 zI#yqR<0XXGungK~(g|0|sbts}(Q0g(rt~nh38w*w0QD53B zgljMC`gJkAYy_3!Rr#RWfEw`Ji!M^Nz1nk*X={)beIo&>{+CZ!f9fDj4l<@i%D=S< zs(u~kr^1WBc6BX8n-X$aGc03j^GbCe;@pD*vF4PM{iosFNqD<%!J^i}qpMpNVC!ol zq?=3ipjX(g@D`q1OwLR`gS)MvQMdHvW0foGN1l@dZ&uDPhx`xyrHi_V>zXtbhVDoZ zw3tQ|G8C|Q#W`-nRo;NlXCG%B+R5e{BER=fw*35G^@4%= zqC%Cku~(xUQeRSQwqL1aLugJ8eB21~C1LdhHfD84MW;V6M7>AI*}j zy&j2!^8d5|3<>V>#QRXFa@;Tb5|^e!K?soS2W5hn&9x5C$(ho>?eV>qO}?svuy&Us zXf*U7`zg2Gu1whaXM{ou`P#w_eWr769pz5F`OB%h>3nQhas3IP+YjFE&V@R3`%!m7 z)ISmom>QUh1&v*^tD?WK9Fq?QM%f(7+wPN{y#rZAOji0XJjbt=e}Z#yMi<|M27*oZ zCF{I|1uFg$BvD8SBqARRBqH$q@$Vsq-HMncg6e2cvuX#04QY%Dke}}`wSGTViGf}= z1ZpASTvxo%TevpJeDri8-k<8ywYT($o}ZsDr1{^}BM2Bo!SvUncj49B-+OfF@lpQE zg(vUs{auINgSQHKEcFP(IWzzM^X;)+Y1-4zZ{+-^4Mcp0qjj6xw+D5rRg?F8~x68T=;aLoh z*M@d;zPGIOk-C$bJ``7Sx_Ai~*c)#p*IcNkL>zd#7Ey*Zg9=hmEfocI92KF_ELO{@A)>o` zu-g0ti>W#thYF=}p&LmA4$*VQDj0lQ|AN01bix~&1`FxVMWTCnTyVux#EzyVWHGsI zO{dQIan?pCv$9l~yp&go6-WZ;thU}m-O%zk0X48i-LHqNFWQZ>+HM*K*8n@NY~P;_ zXM5C-4sv$z(*k{0Z-#W9Z38faQI~qiF)~wpC+92Ca-7b8TRTvwjudGu3%CWKP!Aih zn=+z@X2dG4*Bp^{L=R@c62I1LY>ZDne9%zye*_qSLf^>4zdqC%?&T{K4n3kH&2a^b zRf*-e$*h3aO1Ig(72wf2pli(VAN6+h~`fWPdvh zG^k3l3V}h&IS*3kC2H5%QJB(tPm84{9`1CivM$4sZKO4c!K6X`^axKHRFd}62&{{MY?+f$5;Nwi1XB=S6#nuAt@NBeW zTc)vlj-x7h=|AH^%f>H6Ak>uZvAAnN3iagb-QquX43P!@%x3l4gTgjK=0%$n{A&i2 z$EN;44I`PNF+@j8WC!*N1}5LJu5Y=;zSnODz_4gjk$Yz&Ic}=C~H-!`TRVoZ+8aCrBx^?-F{l|dI=oAJbTWfS zGS&-Uk3mrl3=QG-m4ypYig*<3Mkt7a$ z!Fjui0BFhg=XKkpAP~)yNWITLpGjcHs17gPcQgwF<4{>V!1X}zS94%YL44aXo|Ooc zt@Q;bR*BS+>c-aH1CJaxT*q8Q>V8KY6Dm^ZS5DD}MT)Vk(UX4MBG?rQlu|Kahb zDdVNZTxKkdMNyue!!{2S_slGlj_<%|nyaR!DlSoWpZ;=dk*Ao1F3vyL8VEv`wI%cI z;=9%BsVfoBrc}jDydIYp5FvIo*LBA8%5%&meZKFcQHw~Mnou>!zN76k&Q<+vTFjcQ)W?}`ilvJs?ouksp@L&h;%|dPbdL!}bj}>x#un}be6M4Pgflt?JR^xQ<7UTMz z+URBkMBAZSYN`TbBY=iet-kl`bO$IBty`P4WmtdQj!eB70ZWiW!<9)(6y!)PM0n>+ zmQWx8-=l@tt4PGG;^M`tSe!Pq_wOtOsHN1VqUV=37Q- z6TmH-17wbudn9#S&Rb|9IdM&5xgIm-G~;kMfGFaZU%$XxVf1A>K0j9=qdfci=bvDn z%@XzL=?Txz&jM;J_~9VY!d$206Mi`!7kQ`4EXU-4?LN2l9{B0YFN?rxxqmvJ@ci_A zHBCaq({#WS0WAZU^1l4}6_?9J03OaDCVc+sXP^KdSIg@uGyeGVkFp^z5qE%Nr&S6h zPNn9{jLfN;Ry!*WprV3GYH~(I=1p7_KzYv$L+Elj?!s!`X15Yhu>uL0Q_DMXoE>mdEdhO3L2JX`ikG zIeZZE?Kl`z3~#CF(rWYN8hi=R03FcLrQ?nbRI_$bY}BlkcpSC`Bucv~PZ2$9X>Ef} z4rn^qTa2jLsPYeOh`t`BjKsDJtYI2+R>uhS2nxD%JkTL$#rrnV@ir>_k{+@aa{bwy zeYK-8E$G!|(P{A4vg&>>!L)It9#47f8ttBgv~a|BdO9BaXUnu|lhn4k6=3r7%0KVJ zt(S64Z|9k8**BZ74)hctp?A^=xB=Y(4>TySfE*TTz03M&O&!}3l-~80912|P*m9Ja z5m`2FJa|b(9$_#(fBxKRLp$yCH==8PHUKAM55oQW?|;dc%s8LVcr8a|#BW~&gXQ=+ z7@P$-Q2WnSk|{ipbROVu4os-?zi@L~TxzN*CB!M>=bwJY)6+8$BAT_YK}Ph$m8yLG z{L@cM5Q7Gvi%NAhq`@<0#KUwOUuw_bxHQV65HN*+>3G;qXH>*N-k*N@j8888rVX~r z>tzdvJpKH$^HGG|f@7zFfS?K&1z|dIisJCk1r?q?GK6EHUA#8H5lp9S%5OE_Pm!voM=E&1QNPBFlN$JA`<1+W6rSjt@jX5Eyf- z%0+Hz`|+ZSx2<`efI~`o`(2-=4ln9#vVt zKdU}258gUbFn|prS%%xPxM9Ap3Hph6OXT7DIF9JYXCGdM9oac;JNn@S(M8fjfY^bC zj#t^MVOd)X5^(t_50qaiplBz?sKPNhC&Y3ky_l6Bz?|L2j^r`L1E%TV%K3vVc029# zPISxdEwZc|J!twbDNA+K_!jDd;6JEZ4#XO7uhMbb=y>i1N9G>8qfE8g}-r-ZX zFxTUyYMCe(BOGD`2uN8N$#gv8*I$1X-N(=S4W)jV`K>JD5th=Pr@4t1c*6)sc~9z5 zXkhzD4lTY6+k6K&cG@I8Dw5`8X81bjRnXRjUhf09xDaL+r-*5enA6b6>>@#4Je0s-2ztVlsxfiyz;CzGuTfkazFpdqnEjL6u~+I-uU8 zr;7p9UB9*REtO*z{ml(Ih`#_iuD)pIGx3cRYk-~jHX&N>5{;}Jnzr)hVF1)gmN+pc z`&})!G+e7G`Qm#grcGE)#aXjCDQi(t1t~OaZwB828@Y}PKQtIn$Fw5=;ZgA7-WY>k zus6$c@$hRGvH$U1X$5N74&Q+qqpoPCZuuf-jeF;DTjR;e;EN+D%LX3uj+OMr0{^(v zMsl(re+CjX30JVLq5hW6&Vr)88cDzvh;4*$|AV{d4&>0nj&`M4)8O1SUA0V6XL?aL zUP5p}`HwTEciQR0QJFqZ&rfpwaRy#qzT$E|+qyi@bFr3X$E$7tU;xL&IzE~i$Kw&l zrzaebM}%@4qyQ~1$gECG-FN))pCNt87^*RP+mZaAxivNZeyWx;|il*R~r;~A$4qaQ;i+! z`;qCIApWiE_feoC9k`D|(MyFwk5N%5JCj)zT6RKn2NkfY@+Fnb)fKhRhK4`8qEx>X zqvFcDQC%9f6l?I!7Rcex%D2YngK&NM2br)52qQ29&G8r6HLdxm;-rd4EWUeUtX{*d z=4v{R>f~&74h?sat~Hk$!f#&+1xVb){A8St?2f{LiS)(O=j87b?Op; z4A-R%rZKdF;hI+uXbfh|Ac1w-<^t}!9R=NJ-8w~@ur_1eZ%w{YI+)s{M=QtuTuh7) z`8l57AWQn1Ep2~=Ws^FQS&ae^Kq`yHnObjv2yq8CcG_u`uFi^U0Z5KB9HyzPlNqPe zE9Q9?AAOlyKJ0+iQ3h+-Jv~3;%a<<&tgL<@o}T6E;Q4YkedTaCAVfX-ajk+Mi^g#B z$D3JxWIR$9%n6AyUt!s<6vc-ZL}RKpKLE^h}JS#fwPidq*3ij-q)y@GNWc_3mUw^E}P1__E$?B$P z;Sh0(K#YS(vZFB_kI3^}^o<*wcJB0DX$LqyJUt@fEmeA3)*IoVij{h`RL8%3u*J)Ph5ObS#+7Kv5K7 zYaQA3BKkGnwbuIIoaedCsV%zVp6Q)v+?Jcczd-}_%G`TqGH%79Xaqu-BIeUGf;SyX3p{%Fe3Xz!VzGRdwjuUd`HqDdterGa!ZwQ!PLMcJZ=d8wNnI2PA3> zE8p^tLTh|3o5ECo7Xgd`yZ+59ek~}YP?RzV*zZM;ciMHUySg6(<&wH^nwIwWhz$?P zTRXWX?<1P>eFv&>OE7D%AyRamf2=ug<@P@)fGD?-`EYIf`FNSP+wpd5Mf9D!Bn2R^ zENDH@G!EXjselN+7zO;L%4@jftxkx0>lZSsE7+J{rP40dB4Y`V^=pOAp8`Od)fJ&} zplA4&vKK&#Vxec*^hOnnZ5ALIF(yO~jX5-Z$JIY@_bt$~)6HZrGv%yC*9d-4J9u4>Ss$SvPqlbR|oh3$|vjgB-Us z*Cx<$Lwq0Bc3E8|+BQ|VL(A;pkFE}?wGEIHQ~$bKN5m4NsvfGWa38bFN`#MKx2}|= z7Wp=1Fr~{N2q|s@glJk_`5l5{$5G&bjRp*6JA$IS@YOd5FVl74L{nMMUlmm8<14_@ zYSV3cSiBk%^^H6TZ$LqDXK$m!6yrWZKT@t}>-Wf!cMSH01%@93a0-9t$#$za?Ay6% z^JSlSkf|1>0t3D}%O7titKKapA%LyDYi(>if(Jkw_4pJ66w1v=gyt%Qt}QfO0Y*w$ z7eGhhMh2$T`O?#9JSyKN7iTffiG;T>1e{ju4rEMIe8~ClPCM>W{hF?8vgkB%ip|=(M3{BHb46}<<=}^<9pLzf(=GB6L2iAB(}Zc7 zkk1)v)Xs&WWX{Mb+b*v7C7^<;il2fhia(9>;P5;xf?z4QsI>$amRRSzyJFz!&@Ws?f1(?KV8fb)y@5?SLBQIQVGkPB36( z#ZjBDORNWvG;H~goA?TBjEl5PdI_wxg}L(V9&+HNHwoDWQr((55b*mEwHSg_M+NHw zyk(Bk9aqs$3r)V%9Zc*8(#BX3U1d;r1tST@-;akQ&c)dwWsz-|#ey_(Deo0fb*G(n zx`$*Qh8U1j!ufngn$v;@S7s^Z~-`o!HG$ z`*Ovc9dnsyVK#;N_#-l&s%L?|Vt%v83Dxh|c00Wjt?U&3h#8ofy=kB~qGxWsebXo` z`Q1{Zy1Tg+Zs3<=iL5~VjM%Q}X1-1d?#bpmnW?&2hInwJYfsgU^nHi{fr2G?i{oJp zBYKGh9_U3d6QFY|~%ol-)K0Tg2^v_P(EoMObeND<Tol-NWnkr;5h%br z*|d?rqD*W87!M5Q^4FK}jt@?6_Udg~QZmmRDBGjZU#OrMU`JGPc}x!p>r(9)W5d zv#tX$qk7l;wnDG!*0%dz!)f>UwZq=Iv~C#_8m>_>$Af+t_h!0=@HEd`NJ7CXi?RSU zI^an+4azg!0H{$JU9=^ABNn^uGYCyH_r7)9Q%$USeuZlp$YI}08g#WiD!;HYjlhg$ zQQKs-US?%hIB~Js;LOO#h?8uvOw%OthZMN_?f`JUT=4lruZ279^n;M`Q<-aNo{{DY zn9by%Oa;yAjCM~a5w^-Q7uhvHv&0loX;0fAPHv|DeQCn zN2YK+$WA+<2peKaF-?=)SfT=1VFK)qnsCl0<(lKUa?~WoD8J1qs8Mnf!3?SeqX@#5i!cKC^azn$6ax;K3;mO1s~1>01ZgMHEz?NUEgYdj|%iC_kIi4*Rqx(*czhap$}UF z4hwSq@i*Eu6g*FNI~CwVT_Z_%LCbwn{(JM!CD_-4OB*znM!t5Vim3uY8+C7CH1nS` z2;O2JwY-%>R5^tTm`0&kgb@r#lsSxY9JZEJM|zpym} zs65C_&)vQVs2qLObvT*s@ci_QPoJJK9j3bRzzj|aIVH@Oi*4LKJw3Z?>Ua9lX}93` zhf-A>u1{12Ms>lTrU{pVq=F*U`B!EJ<%FCAa-I+Z421B)!{KnioMz;5<*YKKoHNp# z#FKFZC;-e(@CpIb;edF#;BvVXL8O2rg=wXf5knO+ws$fsMB`L&JsU@A z>mZ4c3n*>k5_3n_>It_tqd);M$PpEd-yU~cD^<-y71a<3erL9cQNRoZLy+0V0mv)A z3RGlM*3|@`b8g#Dk*3-r4ftW@bJgkVrN?a+enp0LemnJfcq^u!{0$ZQeF;4IV^7O; zs-ww8v=Y7^JGf=^>v4y*p|O6j=-Lx_+%lg#Bz%WQ+~&e8)R0thOC{aKnGro8L;O$`Rc%pL5DKx29>r ze3@-dDk%5m*Du=*w9`&I-AL~EddisR3+8!lfNuq8#c4a2-=W@|QiwoEsP@}2M1&ad z)6YM-W2%hH`D_m0L$MkUL~?VAnJ8kP;vax^fMchdsDd11mJ}EAI~B6H%eAipHe?Qn z6gokJFijDM>439cIje%8GBY`LCu$)epGr> z7u_0}@5@KDF`FA^5in4W8koT4ky)-N>(6|@iJVo^Bj8E@>RJlz=@DLypuj})x|n-< zrA2)+v;|OQqF%AOD1)A@_a>w?R=iqgoW&tB)xN9%gR2==9!CIjs=GdlZg}v*``|DD zprR1VGL0K-Sy7Ga-rr)GF)$!`j2eK87vM(IzxIwyLA3rbhD=r21zHD|rM={X%V#&h zOd)M^Uu#`=0HRwDbcAk$8_X^Yk9%=A1-ScitpnbDNh%_~9s{jY#NH2Jv|%~c*Vr;o zT{|=_|3ICFAd~}gM?7j7=X%B!d@E_{SY-wy1EA(wdK;peI_(x5JMHvd#4P%N`rfcB z)pfn4x@PMd6k@;>C!EhG11|vCggP7#I7|l|4hKxfW5XomrpQatKgfX0YVqw0hFx9w z!RgHa$6NP-_VMvOiJQgQ(^|g}i6g%lBc`~#7L6e18DJ4IvijpF$7CXh)k-w-CAl9?puR`9{h?`Xg1%e9 zf9w|M_f+rVSa&R71fZBKRRxJr1>x1Q)t!SzA?FGZ+)|8dVboIUrs^yk%{{KZYkDG3 zxh+JM(G4Y!YI;5gVsZ*96(FN1#!Y<+kV$$atN^8YqXCidsMgnoSEju}Dpx;xCx^}M zvf>uG`qPll;w!|QkC9m8sI^9xGSwomSb6{sW6{2r*ZXn#iutHU3W8m@;ROhprUSnG`l|yWJH8tN4#)RsWQ_m-AOJ~3 zK~yJ*kB`Dvbd$Cz*SD_tPVYgx1;A%2F9OT%2y|a^d>7i9RS-JEtBh(iY6ny>vaa+2|{ZxqjHu zqduO7y*^)Q@J%zZ+({urTI4kXEbj$3%#xD(=YziMA83Cr^3-v%=|QLFNjjdCVW56) z9h-8XEc6%^kvNEEIf~}%ky(6&Aqo3Yu#!SpA3!_pwA20MEV}(oiPgzAWUfYa@(z2i z8z2&-+^^I#D$iJKR|AFbmO1?%NbgSHg?51BA46|ldAR}rEFgneQY5jYa6$+(#3@gR zZU>vpv=~6SGIm0^%&lV|s4tEgDa3j^g$isWXXoM+LFd*anj!g8AY*_|QnYaWlTNqz zSo9X4;vWWbJk-zErVY7IXQr=8nu2z#BD$GXW&jb^DT5v8rn^=Y(d%8hS(;^jgM6ym z0rXZ+vI)vXF>TZ8in=7f3tIpT^>abQh%taca!s{bcCh9rmK@427K%xypDy*RUSU<> zRTNC`L&J84TsbS8CCX0gOtf+$#whQ$L`zU)4XjZcgf{FJwIGM%*#kbg_^II2O1h)+ z>HmG|^>@|w^+pk5KMpjo^NZkQRC3DeI)F1QR`<1kxX}*ocjIJqC7Y&PT2E>e)OSuveEQ{7-?+^N z@{F!|uj@0*f=6=uqFep zC;G=#_?@XyGzo#K#ZkNC-;y7eL9Pp0hO+_5izW6}1#EjvSH=AyGVq})5DGxlxwl>d zQAkvuc50y3xe;Cz2$J-?Q!xQeshFd-U{MPV4f;XT@#X5;W7LnC*>;P>At{wxp>nN1 zly8YTmi2j8KL6L2xrS;0CU$X3`2z_*4*K2ysi?M*ujZg>u8}Y2DviKok0fmjx9T55 za~nh$3Z>Nk-9y}b4BlU#A6q%Dy^}k@mi#J4!rlfPP z!gSr->z@>+;dxv0*H|(+V05d88renS1my_~xosf?%NHzC3P|)O@w*|%)xf~(AAjD} z20QJv(~=kv9iXhU^|+`2`3gGDDPv9<)8PPy%)>clWUiMUq@suD-#QWUJl8Pwy0)D@ zAng_$JB?{54;Zv5zZ^(0&&o7ZR1r_(-Y15oQ6vWTZ;WbtNg=|Z$I*iIJ$AQLJHooJ3O-J zk7}vF_GB3Bp}t)1u-};wL8N_~` z(?%ONixyR78IR>dW=ywLKd=)Wo&CZGh;eTR~Xz*KQg@;;MlwVZ%Vxo=@kz5J%k{~ zOmap_*#vl14%8<`&KWW4EfXb8s+JgPaX}E!RL{T*NRkkyh=vSYnUL}sV7+OjT;W)d z+9^ic*p;#&>egl5-=xcv}Q#2e8Dy8tl) z=2Yc(aKvSV1!_BakZDoDzA7$+0d)^UB!e>Phpvs=?V%-VbZz~-%A;=pH<}c$AP`sb zv@x}^e)zZ*v|Of9zfp^IHXzUt|7yx>7914nTq4)@Xt`(|!qnXEYU53>f~5+w8XsU5 zuSpJ%AqbCp`T7-~e)^34%GjND+Mp4uW!SZ_TpWc`AWV~jjAY;=19oIJ%?TmOr3C6s zJ%(7<6UaPHDIw_9ueO$zHO%?@Aj+8Mxm*+5-@393%eT%RAd-09STQH`XK?*P(CI&AR;BJmk@XvxCv>N-r}k zO1PEZsejHS)y()Ez@R(9RT0^01`p&ENQM1(QQP!7)0~(5NH~ggct*CXVOPnHXmr4i z>+;+C&0k~NS)Qo2TkcKXXn z@rB~EFU_fJCe$0tbdgjYAOyKR5k$_3u*|)5xfCl;(E;KVKv2Cy*73{bf)FF(G%e=C z?2e}}6XwfBEY+ud;(SEf0git>m0cQirrXWio~kmzA>eSBz?^YDUrbGrYZL<*aA)ZB z+NLVysUMFi&N!!2-C-gDI>OtrzCH%NC5yJ>9ZY^G8x0-buB6n&bKrxdgNl-EBzS#X*PdTm zc6hss_Dx%!J|f#y-3B&0>#p|Jqjr3_94vjY$}1Kfxo*PDbHaoIsFHd^DM09a!Rh4{ zPd`VKWk&7bEt3?yeUyeRRd`b%8e3~Q>E}K2U93S5rT6wUYFf2y%EKvyn^X7wQ^!Xw z-#d^b) z-<4s+cXG~{(_F4>M*&D!__+&sxm=26c|eS@*-$m7q^NoenDGQ4#DMCy@`3i$HO05v z2U9WbrZQmq(Q*6yt76qXLs*0D0LM;uQae=jOq(bi0V&m8kc^DL!VtugBXs7u;xRu2 z!gLUS8j5|W!l>uzQaMvsw=N~`X`1AiN^xkavp}pk^hTB3oYmVR@>Tq3%;%$(_uc6` zZBgmsSiYOdJr_MAXK)Ax?se)V0H;(sCf+X!ZSBSa#ik|4K>1yHy&Vw1nk7jSbtLrY zBCqTF7{M_LL0n|!GQU-kw6w14lM4Vw%2r?YN`KX7-HxsS1l`rt?EG^uo7Kc>fi_-^ ztD$3}ziCI)8!O+-*Gs;w8S>DqK-Km8=F`10-v}%jr>j6n6%1)b4HAK+35%fBsx}VpWuUUyf=N zlxK|^joUKZOJ<>{RkR zIjAI;bHdBZONA$$45XG9Juox8#fTxdq@=U}%52TGl()IFckHf~9Vw-{R#1gY<#`Lv zFjSvWXV1lAvsiU}`t*!A9knvs4K);x3iz3mSdaW@bVU}sJ1tt5Wp5?l%+2>fb|d-$ zTY0A+ng%0@0wGQjhr8v$~lCQRm*y76yOWK{kuNh zupHr9xRt`Fzl&k!_s#Z!a{TTpaIe6xRSPKVME7EeZwwN@lesjSgF3<$i!Ia*7N37+0SJjq$rJvUF<;KOyuM)i^a%(hcOqb(@p?Yva5x}Nho(hx znsK>Ya5|mrXq@sIF!0;!$xQSKgioJ7;rQvfDikY&ivXOye#Pl@Zu&~ok1^t>Uw*lJ z*!=O|-=LdG+JAuv6as$v`Io!zX*{1!czt=XqdsbR^ZfjbdM~>=%?SzvYhs^^y8QI>BO){?|YM#M9HW z_`lPa-Fm&qYFG?;`TK9bnR9K)a%J8ZXPy09Jz6Sby9LOAa?_ZzsOVbohJvD`BW2Ec zHgH3I^tI8QtmLdJ^cbvu&ZiSza>g`W@cjJTSfF$@Y=NXwkIU-`r_-sX8zY`Re?}cA zqk47y-1Kjk@mrSH;YJkQIoCQ#u@_NB!I~Fq$$2?#5Z@;=NNWc;c6t*jdkqv2rwK94 zNP1?~P4rxDHiUvQ4 zvK;GWt0R>w#J%-_ZSD~8dV0mzuV1Y_)@qn@wkyp0aGWzT5q|s6e|*D@8?>W1O#&{3 zuxPLU{`TLS)9HCl2rV-5_3Kx>zP{d;7O{ER~n$dq9=UoLokeZ_p4+js7Zk7nT0nidB}nrHm^ z$DfP-CknWnf48;}Fe~8aU%tq3tI@W2N#c(`ez!8(D`wlUl;?H6diK!Xu2p||XWbI6 z2atMB!i{b}3bUkcz1K8KUrUI#W18W|C;%G+p#mM3%LSLqjLSTOS$q%v^yQZ}>mn-< z2rpm1;{5tr;>-L<+J2V{F8}>65*SZUPXd~3uD3;QW5#@$aXOvELM*hF>7PG;2E};$ za;v&h5{sPH;X3f?^QYpt^%@nv!m&ri=F1$%+(qOPz@OK<7KUFP)R za2Uql0gjyt5s3Ka^=L_qDMn0(3F#y|(HYe|GN+7$ggnV{5jpcN@iK%FPlpNdaw%8N zRx1s?NhQYwMl_*Zw`>Wr0}+EdIxWV_g{jS#8G#6Kn(TaDTk{6TMPoOAhcfwH=_8c! zpFkx0^LFb8fU;GguN#2QqLr7N8639Y0uKbN1{=nc;Ect#>L87^Vn$ziQ9qs(%g<4AmkHC^xwzF1Si)oDu46Q%rE+ zLFF|5eWOTwGZfcQ9+YVp`3+E`dA|m9R1LEkSBrF3XoToI%!|f5^~-1e%Fb>M4dUu9 zepAf1pcTET&m-{1+MF9rygTN2Tfg1`?d@gcrZ8){)xurH!W@v{%cw`Y`kWT#>QdP>ntp*Z2rR1wId+Hj&WHY69m-b&<#t|^FV4pS@J3oMK4Bf|JH$s+9YyG^8 zBogOWi&{@WsW=|Z%=pj${EsVPrDkQNvsjWb4t%>({TwZ-d_H>*)3CANKwE`5DyTjtK~&krL+1MJ}IE%Uv3e zgE?I=pJeVnJw3?{IUxd^cYtH3mX^%trdUvczaAGslMq9$Qp`Ca=UC6emWe_nS2|6H zL-Arv7EcjXbs9>c-lU@DXE8>^DVEz*xM93@ueBo9SFZtlSVG_FA4Y!RleIxWipHGT zSp)c?<$sF8EnB+bvYUgX?h) zZ^gl?+>Eb_wR}-_akcCe+BWQXxmVD9Q_S;habk>kJ-ym@Go8Hbqur)=F z`jRO~gNC-;TQ0l8KNsXC?_jOE^=RF&SZn-ZwH(W@Z(%I&>AbY2*?zPBFJOEf(te$D z0aw!ls&z#7p8Jrn0c=m51==vD!En%_qgS?T0B+VPw}Lh0YBTej5KS?;ZKtIZF1KEO zD=J;#JxujJW6X(cW+0RUZUnQEWN_=pgWB@iEE@HJ=1-{oK&8tv7fXs_Aw$7H2LWic zoGtbKvKUgdmzNiyvCPo4B<+e(aFJyswu!D;zND1!_3I1x&##tB@7K`$B!U3WNLtp0 ztrxipgg<`&T{fx#!~%58ml+|7-!-<)q|#S>eN>!YUz=l2JHYXep<5VxS@bt$xn4Ob zPs>0JF<_b^&gTmNwZf3}a?Y6NgcuVd$0iLy{N&2mO9*yG&zNo&a3tk~i6%oLHExU% zQ=D)iLHt5tNGkMXF4smyx{hx&^cP9%e>3_%Ek@tHt3*b20w~K7mCTG#1gte53?UG5 z%Ef|1h1{h|iqX??uvKbEU2Rq9XKnCfLqaq@7Ks2PIl?& zJs?9JZK1>U>JpXyTIz0T#MR|3-|(1TaS)EP*Y!- zm+E9(Hc%MlrbkSZ++s3KQ?Y(1{S-Ptl(p?-UbnBRoZ+1gH&@D{*VtJ5nB&ZCt+oK^f`9 z?e9L;Xk0a^UgyjDrnkNrrnl0tp;!;OjG?3B*1ou3#UIV3HQK6qjjp#JE`SRAbUdqN z_+61YU}I3s7RX#l=0V`&D!A44wXYwQeG3B0_0z6v2Z&~6@6;#TmZe$1%KGU5fVx(d z65S!&Dvz!5q4R4(WW3HVgL27`Ujb{2#iC33d7CeDlV%K|u+LToVxZ#2%yR6wY~)a> zTRvY(J_Jq`yjDJxhZ6Is-h`CJ8ZCsd0~|ZOjck6D#W_&GbU5I0DOW5(9DV7+WR5>4 znFQ=-VKHkGrJ`NH%@QLen-xchVyOWYXk}vOBtAfbo&UNn!1e<4PCH$r zR*@kuDHOrkuPA62M(Pbe-&laV2k-ibziTekvmWJpmlBtKQNPApSQm#X5LC~=(`G^L z^*CS6*HxHn-@m@T;!;c{nX{QpE)xQpt7%bzm`16$XC+KmANj3PR$bIv9nU#SR-Fvo zwDZEEqfl1iV=0%7=~@7Gf~l5ei?tR-O|R8ljI3ci8vN`P{qeYH6!#*SE>x#x+`VD$ z-9uLty4uy$e6E2OJpJbyw)XZ4S_L}BfE>^a-m(@G_m2KXifn&`%;iJN zu^vLiRBk1(o72k8YjR{&ejg4891jPZ=PJMtd%QH)_$DY-_8F0)5AK2}UkSFGn6ex{ zIUEj1%y@ZuZGck&7P1XNl~t7ADBzKEvb2|t-LQ{Q(QhPQBhMGd3g|6FPT{{6e~Ig9 zzB=ye?=I$DWm+GG^++4>+I>6qXoa5-012Pn;Dc=+joYOi|F^DdYyGp<_8lMX%GD>c z2I%x57eLe1{&wXaE(dSt%Z>8Ro@bG(w>x51KnS))gutBbh89Uk)2lzY`LPcqV)*|UbK?Peory2udjyN2O6^9A_ z#nh~WxD#;I6B0=4b$0O$X&$7cR0)$SUltK|^91|+TJcNM5@lc(Ox&^5E@rdQz zS*y(SqF_a4uP-cHtoJViNJfPq)ay9kIlC(QjGl8BYKtCQxNbEy{nqLVb)Txh5ySyr zDok7j+)16{`GOe=E?3ElrO|EqzOB@KLAuAZd~~fGy!vLDcx$do7CFmZjH>EL8|s-I zCokokz+uAaWXr7g%ka)E{gwOC3Al&aM(J2j0DI zV|~;JsBEBJ4YLM_HH9838O_-6Ppx``)^StBaM^QxL++Skmw$<0k`%vSSw`7$QV-0Xr^pnbWv__rL%EAOJ~3K~(26IAm{mZ1V-4;Kd?$WCj^D5AuI=3v81@PGzgNb>qL_~VjrdnxH~Tc#%DO1=9WqgG zLF>{WT7s(%(DYGM4(L~jo2V>qW{v82bsG2yT&;=c+k^ZWB2Ouw^nOP;r_}-FkL(C* zQ|3Lo1#DoIRMO2_2yRQLPHHQs9LbW^-%-D&_H}FoL#p}h0LM-PS{q7RQG_!Q)Cyxl zj7iM70qDr{*SAs#h_RZ7S4#{5G0w$oNe3-w@xzf)MsVlilu?8b5X)ah6D5Jna+^vl zXIS5SxA;yQ^v`Wu<*zy(livz8!4z0%7JWMJv6Ji+m>XYQc{d7O7eXaj6!}U@y?`+Y z>7*UI-`?OOecwfKWx9n_!M+sF_Tnl1;&yV1spE7kX6~_E8(DTxS$K=?#H2LK8PJr< z?g_PmB6kb2F2+vtW(&#-SzZ@>O)@V4lw}?5nYa4z=~-jAubtMq)~5Y!2Tft&{35VR zqkJdS>n}kn_+v2?>)N)`j%@!)?(JtAmpxCT6_BYDZhazsE{muTtB+yArTvI2f8b(`6+-}r zfCzxfF|?Et=9Ivv6TpPS;V=Z)+M@HKJ#Y2p;5q#~&p4mYn5HQ5%^~7&JmAykpN4T( zb>0PN`ZhA472Aqs7t6(8J{#vFVH%KcpxiGlH%8Cb)tp;sTx7+#YIWwX zrVot#tll#gwt6*%D$h$i@2j_3ytgDn?Yc#-GhRfgK)CEki-jf49f9;Xfd>%Mi8bMtNysXUsl7wn&_tn73< z32Ts}C?OE0DPo?ZIK?pmNRF%Ilre`SPHJL=7xpO-DC;qox!zi!Kt%yZVvLxkV7p)x z2*`3~KE_xD|MI@MiG_=^up3O0Wfw^$@Ndy_|8(lLneG0luX}d)7`;_gT;%SQHSyM8 z`7PJitNHuu>srCOt?yd7hvgZ*ytY`4mCf}SE7dXvjhv9#vZ z6TN%q6a#PdVdBao%1)E_TA8d=SJHCgl{a#Xd-AAohT|adahd zF8{s>txbY!?C(zYxLa`S^d@Rl5`u`PM4%wfMsrTcNzv^h>^UorIK}478I^RV7%@!| zm*U7qWr^xYELWhy?M$iUY6? zDz_};zyJ0-&X+TC%61Es-b;Tx9txiU1l%Zp;*G0XAFwJ|rH|Egy{k^+g0jO7JW$~s zcd4SwT+3nYNL7(kFsN;aE8(S$}$_awzqB}wlmXeC1dGdYcsUnYsXCdXOo7saZsn0gSqGFX27Ze z3VgwCqqS>Tfzm1p8oBH=3mq=njthl|>J{($tjW#V$Ae?*oM=crGvRXGJQu@e2RLYd zi1k%OF1~cm=W~%iIx7z2F}0LjDo^$0ZORq7KLgJg@Q(PJzW6~FxXoht*{q7m1MBu^ zL0C~}8fk54GG!@!u};xVo+XFQ5G~Yj$P&1|Y|%gPU>b<(jUX zetk7CY+S}2;MnP1NdzD9sGFw=beYkg6|De={KXh-=MJdHO{QtWJf|X**0>Tcm8)Sx z5h_dmBxmDON;qFGwlJ_NC@CRDIj>9QO#L+yMQtEZ?$lDxIB#gKzh8@L#jBE5Hu+8Y zspl@2G*Z}?>90{QG;HXt)P5g_9XuV&b>mEA;xy52QDa1bbjQxhF*YvS5UR|#00BY% zzQ+~>Ofp{xmP^0z6DSbQrxU(@{fg7+4CajE@d?uuF--@2{`?uo;{m7BS*$t;I82kB zW94!$doDK|WX_FMLX#`kHmr(q4I#=`Epxw9X=nHyI7X=B#2*o9m3*<5tAe2Khayar z0*(D^EWdRPSp^cmd(W;8YK<{EUQ+tl`nI%T%DLEKYyVbUs6jmg`o!%B5X~?hDnNZ>7I}jBeNH-txR%MW>Zt@1gvE2M+KJ zFpFUZULJV2{Jo5~0&SFsJHWBiyO9bws(`3+l5?nv2g#5WfiNMZ86h0Yrgjmyi?AA} z2{DR;Fn4yn>a1AWrBxa?WiBim2hp|6@&h)I(gZctnzyBv18-(%(jw_~x3@PCM=N zQAuTlo=uEU>bny4lFmBq0LKqQ_bwDa*6P^nOF+3Yb~<35lbA9WMTMBeVJKyUlo4a` z$5HB}w-v;4{aY#uL~ufkI2ujJIf9(81C$#VrfI^dcuiN4%3F@am@#2;S3s>1S)IJl z|ARIEccZ#7u&oGx*yehp{8o36*-W>YH<&WjG2V>Jn}Ck(RpeR{+p}O@IU6e?1Etp$ z;M$B+IDeTcS4_^AOI1Kha)AO8 zCwJ_?R93rrMcaVYUX)-)YwDHVE9?yb(l-&ia1iB5j$i~(kgKr0(k54GuK_A-3ccYz z-R`>9WfZk7;Qas>AQlfEoYt}50DR>g5n+l4&;+F7GwCwVpkf&j$Xogiis1l|YVp?< zv|>{wtxn-q1Z`mYs;uAqajxc@26WiU>e8rVv>u6RYuSRe6-eplmd@co#i|2!&ZI0yRbq?? zF<1kzPuI0|z>?R=9F=1+oHC|zO<0zyHFgb95t8SVhb zPTz!7fQ;ohNLELoTqjp^qY4GYs8=)<^+v5YQo=mXRZep8Qc9Rq@O9Q2pss>U7 zo^oYu`J+Jfr7u5<5VoN+{gY|g6g2$xy_;;=v)`WlP+0=i+oiG5xE5}xo!nEp$7pT& z>J?=LC8`ZVACPggT{cxd(ip;kf$S7cRjO|2==1rE*V73(XFNSUHGo03JL%=BHa%WZ zJ(U-br6|C5O`Hd@wCJRLSa)pIa_!oHG!Uf3LurE$L{U=^#&(rgD$am7jdMz01F+Cw zc8qbC1;FLsY*z*q_(9W&MK+P~P@7PWr|4~14Ds_J{*-DNyv4?t^VDC)!mHLj#J|X1 zYk3E2f>laB)i5JO@j0dWm}SRCyDW3Kk-XyVlzZym*_`mXtN?#or6JVgC@V$sz>)%5 zdgNo#{toDiUn-*(LPd#qYJ?X=TQ?@9LvrjH7-wvY_p-T-i1W3=B} zh56|8V=rW@*2nhQt2%XYR-ycOJlge%C`yom4Jpm#95x$Bk+Te16+&VNm`$Q#5Xrf1 zaU@y=eFBgzZxKEe2mv!F7J=CT9FgL%-b>Nc?;+ixqVCZC`2&l!3exkiJOGy6?NyXao_{4H(bsP z+qCSUkS(uYsv2_6(5qOlP0H33f zZBSZ#d3X9T_OZ50(5mgccwvr4iL6*qBsxD zP$jXer&snmg_`x~hiX3-hwHO$9bYJ+W~rg&ukVcah2j($ogD>{_!Dwg8S>ZjQg7YT z*6=3&L<$g8Xrg&PNXHK!561Mjrqr8a)MrTRJ0ygFI8B(Ck>=zq62u1y=L+1Y#en7^ z{h%6dSHiLeDL$*|T02oI1WLCQCETSk#mT@8@zc__&3gOZ$JyFx$xZ+2_-Qh3fS5Wy zuN;WEioKYVWCJ;*zbfdYMW{!%szuj0v$|JMK@LD!*_C#3bF7&^C2r0rQqH>`HEYEVA({z~d?|=WVMR5+t1OE6kBa&W|EY3wwuP3B( z``hJmsg|XXc6|EujKg%m@zWDRnDC>lemngY^cEdzA0s<`M0&4ryPeK{MCHTMjhe_` zM8cxWqTC6NA*vNeD%Kg*b9!bjM@=F^WW+#?ARJ;q>6EGz+mp{&oP(1mYGS#=KJF4>chx3{}RQG@L=%!R!8Z)BJ6UVEGY_fGE2@&Hwd9w~q>5_ISFmaAeLaHLUm?u*;Mc%YK91lmF_$1>&tzts3z~a<1l%oLRgK15% zZXLU}$2gL%G45!O2duJ-2LK^V;@_cMJwCiiXVD-xaIuvHdVed6AU#4+c!_{i-MkPK zahZ~vr~Q!+3tHx31u@z{{x}hLb@3z4tT`<@w|SFWjk{r@?bzJr;s71tpW+7w5OCvg zI3gSl_;fg6nkM|u|NLK2CZseYrMa;lSvCNw^H@J_eG?UbA9kBdu^@eYdBHp{cB@T3}V)9~*aX0Xs%%_458LP00-h=ro&+_@h@IuvAM0br@KW zrj-Aj;_5BA#F~t7KAp?0P0?8h=n=KPUn&T}g<09gxKkFr6$e|*D<3SXvHi8FYx-?Z zi*iH=#eb1M+M;ccvRqeNd74KD{5Rj|_X$-aUU=_RYT(kGFSDOP_+s&K&iC5CL3ck(9E?G zbp6?!>!bE^N_^keYMr#we9N@ZTKx2maQz&qlZ6+6gueD;iWPuWFv_P=0=DZ1Ex>{y zG1}9gIvzIaX}&&I+FSkP1O)v1-~Y109*##$)4{AMa?S<#)XbXdTNq}5=72wb{~bSn z`O;-Z)n87CnCA=5r;}~&gcyoN78&0lBC#mF%-}%y?YH0X%a<>5WM-$GcG~H~()ZP# z-U;BiBDwDL52Ygf6F`B=ee;)v5Td&r;@v!&5a*A%9HxkKARwnATuGRmfSE{k>~A9qz1(|uO4R>+2S(R{9e`5^Mmv!| z2!$9Bk}Bhjkh2^PUs3pU(>14z_+CP8Q5f%z=671~}fd z#N5L4q+^c&lIw}VGZ+Ed7g!D5*5Ize3HwJAV*g-A!h<1%6v0NI&G0X zNGHBl5?)Uy{A@+cR=%Hq`30BL8LzJ|nCH1#j|Q?ZT>Oj?VE%u^>Ij%mXT1FW2R?uK zQcqZY6Z-Mi%AM|{y$e4marb#IeMFt(Thh24cMFc4{t}WaVio04Swa#W(FrN=@!SJW(CH0eSH<6RFAeq@y&BO z>lt{4TxJl;E-PU+-wqDpurihAD#~R_$*!$d6L<^ljxw+*)G(03zzuCr>kd__MNyYs z-cUd;Ik%q-*vL&ot72`(Yl??kwMsDH&lFs`eQXVP-8HY`FJmL6MtOBz-A>gF4&mPu z5Gg{hi&fBp&ElZ--JvD$-*lZ>V-C8e*!KYumE%$&h_#8&<3XmQYn*u z#^s81=eTFRKWvPz*MGs!yPyWbxH&Cx#}+HKudlBJ{^bhZ)!dviA{}!&-*Qgo6DVC0 z{`dd)zw!CgXB>}DxXhPYr?qD3`B@?H2jk!-Qox!)nQ%UzaJgK}f=I1M%s-LqMkWSw z0YE~)RIIl6asfTnBWi=zSZ|1b1dTzq4?*wIb?;HLO?3lwTVf(IA)|GJRJ@P%qb(yvk16Fk;u%L(_D_h zxSes`(Je<@E|&`cHCZO4;?X>W4CWvvp+gf_z{`ez*O9)c(=8QU1vTheu=dSJ=ce{M z4XiY_00K|na~-F$BhT|}3c~g^unN+=Z>bw4Y4f;%(s;)eO^7Q!+k=6s7?oZ3P@M6B z8JTiX8evveAlc!3dO9Lb5tlg?rGd<}Tjn)zxtwu6SD=BJ5n>enk`r<&XYom{Aq_=Y z4uS2aCHP(bM!~FUlGd99WN8#5ulw7fGGDTB>-<4GE(?**kpn<*L?m zV5jtH0j~|ME7m^EEf~YJG`D(dmhM=O#ubgeJB?Ps>KGy}>0(#M%J3p9ZjZ@S0}j^@ z17+LVmg{p%#t&b1VLOGs0(sY0htbS}hl>i>kn{h~-n*{3t>fCF1Eg#xnXA`2@Bfs0 zcF#_#Y>7BO0FWR>$?~mSl^FR_wk3*pQotZCO`V%@$q||e0tR;W3^C!THF~n{QPs!} z3gtS&fRq+wDC5BSch>gsYEiQ})!#k3y~hA~dzd~NmX}*nZ^T4mvP2w^665rK#PNLu zAQ}_kZ5afBpD@VHhwTPdJ@Mq~z8&>3^ST zwJi$B!NjUb!Wd5{?Do5r>GTPt(`TO~+{}pGTK_96;Md(U=J=w|N_k^=*1)|c%ociS zaJ=X-lm*hFaxPjN1IBU0#A3H>Cy+@sF{YF-C=*e!KWc^&w8X%gY;z2Y+;Fo zG2RV>03#}%$YTXqAtDUdtcD^r;tp@yr_mNIioRIFo%>D=_?m9r=&NAYu!eKlk#1KH1p z^O$TV8dmR=oS%l(j%x1e{+J!fQk~X-jedAn6PUz=#RD8A3p0h8KY#s-af_MY{4ewc z>rMG!Y5EnQ#>_^T8N(oEDj6!Vecq}6`>rVcC%;3dpDv*?PqyuueOlVTI^dJj?5Ort zU%E51${%WuQF7*-LjgAmP&O~PcS-x$v|M!Da|q@9-tIJGp7X`Dip$OtLctCO6Jwf+ zMpa4)hy6DUJJF6XeqlXNC=VlkzYZ2fg@Awl`6owZ1Aw=8iPS_8$ENH+&T410uFva8 zA_ZXpFagKY2|G)j+cXF1?n0mcHQJ}IT5nIkLmOW7qEAS71~{IvQg7YpzxwX-`1-H) zuxE`5tEAru@G8*~>QNl$P2*G_7_pvIPU4Tld}^2_w5X91_WK>CaTLJ?fN5#ib0LOW zXi^4v7zXjhahf0}J7R}#zzTf5n>JNrc97E0uP3=Ez`#e6sH+grCq6zLC{m=q1+)bM17i+H$yI*ms9=e1ePv*!vo<$i9Q~O^v$c!fM1eet5D9Ck$6UYtB zb2-mxc>^l*#qw|WROGPkJekSN=*naXX)cWb03ZNKL_t)DvPQybe8aF0NRzlj8mDv~ zGtl)DNHmGeB<0)TfYb2^^Usk+(H0}!LtOKbjS?w)Dv|xgz)Xflb0LhU6Apj){!(f#SA!SSMpk!PT?u&ZFhq<{n&LqZU< zmBi|BG^ik>c^PAGU`OK2{F?3lG))L&Ks>~9Iz`2?;1CB)W2%@*R;`iZ!=r9P7v$JT zU+Wbz2RFJG9Co$%02Seb=65ULgt^XX`Mu!;X|5SY)=E{Zb0b;w$L`}^Qk9>CEHLx> zi;|phP3yH?#Ye%3hV@B^?nMWTHjuVn-tLSj_7#v@K%h;;?U(tESnGWBE1mI;EN9nwRN5R|%uv^Np=(L^ zl_qcNJ~N%M{tW7`WMX#vMg877HwP@@Th`=Jp2VCX|NQwg`}Q#Y!`HXVIFXK~kGF~1c~T3u1m72>{oZjTfuO!aaX1`s`2Jnia0uD< zeH>5t=Rf~Q1cGYf`LcO21wA}9&k-tf!L`%QynR{` zTniA8@3F694Ye6S%jH%sgB{S(g8+KhYaoC7TfsY;?K$cR)-w*L(A6_ z-IN&62u3EP)($fXL=!?NW-Pni4)1E;&H#41K~6nQz#=+7xVdY^sc?ka$vfa;oF)Wj z3?@MMv2p24i0%o&OFtK?<2$T;&uc);PyFqaft}K4=A4jKxDqF&t;l*_k~lZCWesKN ze3p-&JLfe6<^>Quh@*cxnH0@FRO@A?OHz%~f~EiGZO=l5>BThe*OG~)9EN0VPSNDTdiH<&CGnnsJbWSZJE(FDf`>TTuU&G2OtIB( zg%Lep-2!rKmSlQWSrv0(8c1m&|02MYMu#BUMv0TES5v2?OY6BL8eNgmmSifB`IB4G zo|rIBBPO+1kE)$<_;x@H0pmD90wH7x4@8thFaG%JFYNYvP>6Vcf0veQYKr6+0%1VJ z{@Zu4cb`VQ{d$ugRzDA?bVQ6p5x7AmjI9C*^U1Wl!gY(QZdY5Yn}1ojr{cGWlW4e^ zDIaC0B??X|53Pwnb_y?f1@0&%!C=T)Vk#a(P;AfKq-4l;!`As zAYgg+Wnc~R8a94>3K-+x371l9YPQynTUIL9e^8CgTxxdx)zhF@EFq`ya`UX#Hm|A# z+|1)vxa*WXt9&oja-G-b(%k&R_zHr)he@xgNm@z?LyS&?0C$XN3-r+=-=w4!_~*faC^5% zxc8{rljq$fCq7GbYb2CscEQt^{i6|<+Zy-+I9~K2l-a4wgo~+4N~dx_0bxd1H7cgb zZ1rnqH-vy;*dfrdoS+)GkrHT{kYWH)%HVe(Rl*FJ=Ey{qSqd|Y!@wj_ zmh2Qb3(s9i(DjrGa@h}n{xRXR6|&3nsRjHHV+J@9r3_poWA(xk+e32G)O`lG7533S=vsAg$EgI`~8r{dn3W~nr0{oeVpk*F}nB*3Hxyz1So zA6cZzZ3AfHYdc%Fm6^yAoOLE&SG3Qa>^slzRYYzqbJ_|8sh*tWLGx=_38Q+T0cG?T zwGUctvzCwcS_n8CA`XXd7}Xb#RoH7inbxQ0FQPg|PATE%fB&o6WUh>MJzE|88`Xns zXHeNd{Sn=yt@e@BW0J0U?q1K|OdB&^-QqrCfbLbs2MhUkV}h@(x8FN&d;HI)&$J26 z=>>57=F}(=d>S%)`e~f9x+s*H5%p?92%^OibF>9Jodn__jQ==}`6a_@3kv`#36LQ+ z<06a%3P1#gA>w$dop%YKA}55AW6dDpzQ9B+V16uhg;Z)%bPgr#q8G#n#+Z|n%X%%M zoIW$bvn1va&RsHDGy^F`cq=D%8l@wHReg}76)+YBj*GN7mecj_gb)hj&t90Rk(XlD zB^*B|mXH`%&B9w}SOs;>uAbvhHQ7+ zZ{Gn(n9y&B0}!B2HL3R3lgsMYtO5X>Sq#7kF%)wZ*hwt1Zw$DT-V97=QS;JNuq8q} zzHHCc-CI3MBn}bHF(Ob*X#lve*pvl(usCp)v;yX)l;jk-+Z!#ZF$tqN9k#WO3Mj~9 zZ0%oo(fIW~PvWIo2ktmPlp*aB4H_|NqF_#H%XpYyrwsbgf)+(*eb45zPvQlCr=>zH zeNPlB-yIIos=v2oW>Ai+YjskZJz1?tABsKa(P=~5@9g`=gCk{!tpJPsyb0RW%n_H? zGUKM$+%~Q*&7g{|cA(9;8pyF9RCRt$`i2tC%mjcLKfZs*ZokK`w>ONZlSXAzlNB3c zl64UBe3K|{0KiGWS<;0O9JoHCm2Gw>*AM&{@vJd}0ha5kL$}9E zhI!5@c9VEuBR{5psQRokuC7%eN1cW!=6ahZPR%fq1M4dBNfqmE5m9=l#UD#~f$|Dp3)L1#IFp!G!H?Z~3> z2Gpwh%zzgvS|HYkG@Tq__P-z-})6(U{EmOv@?#4YaZxz2-qFX%Pmi?=|~q^|LdM_U@ZKL%h5e z47~8eM()`L9UOrDTVM6L8zBCAF zRG%4o!jn?ML=%P-!CX`|?cAP8PIJd;)VT5Lt=yTaaN7w`mG6`=#R;d=F$)j@AwMTt zBRgdE`lU^1O#XEUwWc}>hCmjWy4`p=d8?Y{|~xj(W7g^XQFK$<3u$0LFY82~VjCxArb zE0VE-p;%}$oL{cUcQ=vc@#}g<7u=+WPQMDwp^J7Lnh_~+@S>DWx z%J5or2Cn{QRe3Haf4wDPjx!0Sy`Z^fhp5`GF&3~PUl$)803(JdCV!~G6=?c;&^lUH z<}lG3LCte@C%C-(NfuUy`>gMW5GDL~DEl)2#1K`>MS-z2WnhC;nk`-<+RD@>Bb#L@ zF8}S}N_(g(0Uea1*;H0BA?kOhftMm z>9P5{>)dlvT+!4r^^6b#qJn?S30_Ag#DExL22I-$;*`J&f)?<>nmG5dv^?9__%N9_ zArb<-28Z3|cGxecdp-Xs`Y^Ws+JbC8>z{M|c<=VKjKZ_%)_L?9=$SIy%|pkx*Wo65 zaKW3ksr&TO;CRu~$W9rD7>m;_WB%RA+%!!fikaz$3JD=fG?r1B-|PWjqcd38SUU|d z;mR1C5S4jW=F4o`?Ku&!3X^j+*o#{pd@wbFO?|yEW0{xpLIesEU5$+$m*x8#fQ_a5 zb|M?apGr{SH9LA_Gf{yvP4OTHR<$;+0zfv9fA8D8u~W~=Y^+l_SJ&q%>i4IuT*|f; z;8RiOqR3~?uL6qp6i6Z**czlj;E^$oCrslA5b*uSkKBi+lZ1=rDLJQ_*6W-FV;^M% z5OanQBM#rbArRr6NL1AmW4GIZ(xko|e8bj9qSjPtuQeS&a~1z8CtFYTu0{ zQ`?*<;2F0!=ijfPC(6cOo0@m#NB861%eyhdXU(Il7wR49GpwN-ak}fv{S1v?rWe5R zqRZ(5wO%nB53Tu7UY5yasmwQ)x!=EMPKgIw$zZ!t+ zdk-=x1qrz+jN$w=^Cp@dL8|ZWS!;Cz-)m)cD*yWAXEk|jaY67r(Dhs|jzqTj2s#@`pKy8XLEX~(^w`v1- z=V~n$ub*m`e2aD$85k7;0!gH;VHonBGENg1qTQ9XV3L?JGIRD!!qJDXi9MiCPn>b`IoHy_U!- zqw%=~jYWEPwYLmhA0u74`JxY_XA9Uj0|d90e`5u{{PbOKzzg7b(Nidc97Kpgv?V4D z&nPGEYI=~8)8a5&S`)-6Yg$-nSQBpTxs)XItCeYtnrLxEj5Jn!L(0#kO8vOCbKZ>c zbePOrBU9XidW=>1?fq&LU<0ZFLrw!`QMh{~xia(kB+g@0Kmp`-_<2=8ob~tPZ2?)A zs(xW#`H8l9(p^hU=ChclSB!J#w9%|H5Kbq={SIb}K8^x-9FJmJ zmXeqzn1C55;IAKlWi@jK@;)$*BaX*+jN^!581UEs{Dp7dzEySm@z)Okz^|Xb#6CY! zj*`%x{@^&qA84NA?;5u77(I+iNXYDD0|DE{}Gk zdtoc*`TJ%!LSa{;E*+9V4j}I>M1*miu-gUwF4{W5G<#AB2TLFg8S5LOAgAk`7Fy^n zsrFh0+Enc_0M&)2op(!a-=dcCLLsDJ(J)k+h| zsHx#rP{dUt#sSP@(E@VgQ7bZeh~b)-zOS?EXMzBcT@9!++0@vutH;8E{p|Ev1gp*U zXy)H%ss9qqH}GxgUUV5fdmh{h@H`u!c`&^Ij^C8L04LvPZ^nOFkl=`S^3yccQ3|ZM ze)YF@!V`%)U;Q=Dgn4koZWl9?5Ceud+>RVyL%kv?AjANuP4zU5$`9In6RwhQ!Mosr zOT_#1i9=B!fz!3;=q(SN8p%)UkZ&>f^*~CQ$Y@S-tC>ey*8sH08+W! z#~vS+Bw`4-Wj=jKwZT$K7^hLR@ums;{T`>&2?Sub+sU|d%4S3%=(Db` z6v~uR*tO3Kv%D+| z_`$g7Mbx&T{mF|-KAJ8q{%gtA_5S;;L#d1CVqWKyOR9@><5+xwp?oNP)nVUAFM#8Z zqE9fJ9WRlA4+sMhVn9lha&d(tO->ubd~xKgREwkX>Ub~oK%hNrZi^%@+eDHBxq=$&aUpW}THkww!OL=YnC z@R7A|4yf>ZtI%;-HSJVT%1oRtfF48su(M-d}Cp zLI~n$RwGml!%nsQf@p9+#yzR?=j8mWkZa+3ots8`IkC4F7}C-6nL^0EfJ_5rzB{_) zX4cre#Bjmq zaMSF&bsF5-{hxW^+=I^b&zbhW0FK|Bo^jCLqspVb2RT&LI0Uh|p2o?A(G)UpBc+f9 zm6EFnEK#*F3gg1rmOq66Rsmg3$%|>spiW9HoTA7CDp-Ypn2d3Cf^c&%^SNIU=U&As zFlDLG3z+hK*bN9lg~H|(pWJ8TukeG3^7swvm!%yb?`*UZ_F6u3JKuR-P07O8s+v7< z3A)jyg$QqEim@eh@uO%a5_#u|0BAvI%Cd4JnTcr$>B*;Pb4WjwM4VW_OCrR`+2=|= z?KjO2NMD(z5oM8CeCwF-x!>>cfB*M?>kZX4kO7xK0Bep0i0K?z8jkjI%SRQs!hsvy z+>}m2jtm2!QoU#?%gav4CzGSO7P53amZrJ^5J|(%R{mIWKFf2l7Pj4W8!PQ!({d0H zbwCKBZIf6uX?E&^L*z$A#kB7BJ3EDR!TI6v?~tYS znl+kwYBsav1!!7Z`E@b9b+~OqTZ0?cww~E7_Fp@!+@ ziv-5qub0ungKLY`zlWbaZ9av3aziIPyZ_FXf2M=C^#8NlxJG9VCtm=^i=IkB84eB- z_VpA-q%;C3j0c+*hB_RLj!Cx2C_{{xh9O5)u;+>vN3G&d5G{`E!y_eGEZOIV`2Uzx zn0mT-z$2()GQEEjyHD8f_XWLB;nApN;H!gL{gW?!)QgOOKoP^h;xN(yIMRe7ptjNW z9=4CK99P*1y_rF9+fgR4oA%Ks;0U&z{Vts|mvd+XJ#2j?06f(KylD?j%-9VB#^WSr zDhr|ldUuErK-leeV#376q%PM!gn)>MiN$FtLI9;Cnl@?zmnHvho9jWRP6~3rGZq=O zqH7Ta91aIv%g9l&m>J_VDvYJ*M&56zGW(gGxVk|o{Wu3VHj(vN_61U5Q!4;i5t7ad zVU#Pokk|IBYuQT~n;+YhX}1>ny>qUPXHk&N)cV-S2O;FNNH=r)RPD=_ujfa&^N6Q4 zAZb?d3M~3fh*y7JpV2*uJKq)L$Puc};u|Xo?tpJB&K|${G`@kz?tcclwHnW7hdw!- z>ENEK=|y>b?g6+O;5fgqug&?+^yqq?d;T(jfBW-ydi-9)v?L&&W8Si`sRGEj8^!iI zi+ak8B+mBD3^;pzkqRst%QPm8Y0T=`UW+4zxgUcV0|t%alG2300=QT-l^7#9L=`aW zmbGoaRsdbn&0Ah%kf`&p3QE@djgK9U{toi_?#Gn=HiXJ_3 z2$a|B6y!jR*;Oy`ZXBl1S|3V~p7C zb~v3*_|L!pga7;g*0nfT^AAM%q+NvNMsSYOze(o;vwhfC&%lhy2%iVF__TE~6W!7G37f~zH$r$B`Y7SVQ)PL8o z8&KYtthJ;v-xbs_lR7c2BGD=X5XquFF*r?dYDG2?^Y84_#F>G4J_7C&n9sQvJ%*|s zbfL>LN3{hLeekfYX1_3Jey5pqRt`Oz!Ck8Hh3VD~{M@tYrNQx{PepMU#B4;Fj;xr? z=7)n3QUa+Ry=jS>$qDFGGE+vzOkAcZbR540#5f?vF#{-Khtz=a6M zM^UHV)x9niQymEfnr3T^Ik`0DzpZP@MNa8e#++4zoM6Jtcz=Hva3n5N*nltvHHie+ zFa;(FGudjIESMZ@Ab+ZCzq_s=sA6UCcnUwkuF^R9lsoK`BqoNv4f&rE0;}kXa+h zG(kuWi?oggiu4ApII@HT<$WD}U!wv@NK<5*m+)G;Bn*<91`z6TQiG5NBbcK7z&0BcNrA zYCZuL_=nX=p+D_&j~Fv9CykfY?vm8kOwCGQY)_hJDH{|`HL!@((d48;scK|+%`J*U z7K{T0Ob`ti&!`#bVBw_8X}g4tj>7;70mtJJfB*eA{`IeaAr7&wbAkez24qZn%1;29 zLrX%c1Y)!r!E=Fa1>}+2sv!dI3b{UyqEuyOOUMEhyZ;2J<3!ips7+h)+BY+ps%E8b z%Txn(y<06fRs5!iqh|vRPN$PZv{I8oOu%1%?U7Q#`|(&D(JF|;fcjwx4g}~ga6dI` zkOR5r{oc{XLCx1kjX)W=krJbw`(h3ylf&LgxgHK2C~|QDn|$xKf>e8dM(c~wwdh(Z zz)g44tj1%xEb82#&e|&XuB&ZT7gyhul4wEs%zdTG0Ob4T!>iUH<2*mJc2Z~lSS{LS zP;-MB7=}ShGvS-tC*=O86|&FJT@Da#ZF|24+`HWY^DZ-Qnm>1I2P~C(Hru=u=6lvf z^a%ihO;#4aD_zBMA)5fB-Kfs+cHglZgC52cL-W>(?)Y5b(eM_rFyhlR7c=S|hA^vI#T!x{Ahb zzsN$cZ=7$|LZ_J)iuB!rUxuDk)M5&)Hbd1vTz&fTv!9BNT-*Y0ZRD74n}Usl`PxuG zLjf1>7&Z=3v^1o05+e3g97dZ4Ru#=kHLT_Wvg>cQSzrQUf7R!G&>ROE5R{WQE6-^W z$v!I2Bu)yt*InVwR7%ek*0A)4z3coO>WjnF)#C8&dlayN{GPDdb=SM=%5txoRI}?; zGOw?<(*LZW?PO~-M?XPXb4z_<_oNz}of~`SvaGzxYJ{fEm6SgeLP0BMJAw(;m;;M{ z6y2}wHHOs5*KH&HJ@Mn|)>8XG?#Izx*pHh8j(b$#>(RaD>(iq-t?hmE832x3`{yf7 z(63b28)%d8*kjI>v5zrgHw>am4rF#;PID!i3UhEgk1(eN;21DXr_6*9kQtEE=_Izc zj*$$3FvN(Ho)CLxdYUGLkuZgT-EQ5{=%Qe9CEd-bWXnua`K%7D7zi=UnDnnng#j6c zUDgEnu($bIF@%{~ed2^jv04``uVtDAAq&%I%Gpv8FYD6m?$vl4cfQ%L8p7ZVI*0?$ zX~uLVPKYRid6su9x0Ma2*xD!T4+rt{qvmhN;}QS<_rLM&@C^)cN^5&h(a=KmX+SEO ztvz$r79l?_Td9NR$ac2vWTXZ&48ZW$oi+fG6Sm8Bub!PxB-w2Y6&}L*+iYeis2~_n z$l4=bV`E-tR2n(9_m1P3oj;3%QF$+zSwTt(!w{=FP}`RzAa_;!+4#u2!+-@J%eR=W zFsi^_UK2&jGtC>jHcnFp#^CPdDNC+=0CJk$02_?i8=zEUSsY&?>ijaGq-zqjkdNRx z9dX+Wez5Ni;F8}(opI|G%)N`}sWOdeOx)}mAm&k1N~$ffP?E=GT-2Xoh&YWWgg}@k zU!FcQ$7Mj2^?pUt0Z(YO#cc zegb;-{Jq(S$5*3|828W8r~DZJjz57u$!7AAv_Ct^XhI8LW*XKzeoN-X9k zQB6+t%W0N6@- zs~K!Nk-LPPs8N?sC@TBE3n`eh+wJiF{{9K-V&BXBBPJ&-_r;kkJXHPyZl(3f$IYj! z%H4`{RwSww;f3!4Qq7*(y7JUVf(f2+7(hVQ%$lZz(>NkcBi@fk{Pp99j?KclYw#38 z84?2)E(STO>~&AlLe2r4bN~1zu=eV(e%diBuT%6|eHiL2RW&vOg$ksdoA4lm$m29g zq^#^CiEua^GQhzsK(t>c;g=17hCvRY7Ny&5*yDY6jYyr0vhfgkbk45ZrQWr*Z~i@cPHpQpohjzC z)2+hLU7z2WnVS!n<-e8AKhy&7Hx;oZlSc`yPxcb}d|CXq8eDt;x)toYv12|?vtzye zw*wrvZm?f{gI*%;eE(hBx2n9P42ePT^0mX6Om z568?JzX&e$@&xoXc&)&cht=BD=F);0tqIp^))&>oQw2tW0Cj3>CTFZ^rg6-sMS+&y z1NFqQy(R?l9W+g2HeCa3T#K1p+m1Fod0lVSW{biDv7%6&ZP?Z6_hl@fDS)zDOQnaq zo5*54A2%{J2Xk9iPeeGb%=T{l&(l>ntR2_Y<9a#7zkAM?auYqYi`O%MX>h#gVN@8w z?I4H!HjrbQ)FvLr7^p9fDQVc(SlM#}a`NGwjWPqAZDtEtAt!)ZAc=WKj1l9>BC#j{ z!YrX?J2tj6=4Gv|A5L?jf|_pzZp`@7--TS8hGB{K;mkTj_(dNy-lioKmb0S{1B zfS8(ZfiqE(e;Gt*!s}`~ULX9v= zRQIp$o17&fX9nl63Q~V09z34CH{85ln$uCF6{rycs8QA}0Y*&>mj2zhTd;H<6>Y-~slS!#T;-rIUGYWq8A=wwdQ z8sy>|^QCA8>}*VT{)tO#(Ajr8S(g=l8C^I{uYTq>`g-%{UOe{m@r^STcvStY+}>vN z$Z|i3tom0295a=@uSzz~=NhsipI=(mM^32EG(N?x+6u$YWh{naz<3(-X)B;7u^PKx zzy?C~>LD>d36T&ZVLUNRQv)mv>NHI%=(svC5JNXc zC=LiW(b~Lt1ZAd(GE=(dobY#{xEnA{qk>y@Lc^Ca%PnnuwtkO@)Kr6MHO-kR($m5T zAsR4uZ)%UF9E0B`*;+hzSdn~9CZClMLI8(=G$kiwNZVQn^hb6z!CpN!x)^!ZP#BRmvXu)BOeI zky#EoPZLrrVb$8SB1q@U!R;TCuF_J_doY060Z)MfVl0B^G^OklVz=9Yh;TZdFpeX3 z!=NCbfF>aZKRv23t^p4-W3dpkoXuA19_e(GlWGWD`SZw{8#+GLPFBEX7zS`G{u;bb zl-x7SGl9SLk234-bK`L>Ee)@~xdlAw-RS`zIm>IrItO%YNNb=_P%SQ-H{&?v=vw4J ziK>oVH0=^61Q({8p&E}4bzue&DT7g&3s~GY%RXaMfx$Q&zKO*e|RY3pd8 zecfFB?$-6cfVA{{5oJv5x+%L%7tG~ZqAxi1pNXC>$3LqA9)Mi{^nM3=X>dG)9Z#iDUmYMbEjjX9vzG32Q!#h z?e!-OSy`(oFSOz^kOR1hS;>t1mgkqs`2${-<1}RlpWeCR#dOoU)e}QI31r7SHR&p8 z%L#EGJ5;`64L7z{kp(HOy~-*{Q&79}#M&q1WCsny2@{wdV5-9FprK?-O^aEKFZ0{s zfS*&slqN((4Gmoc?PVlkelH8nUOk;5ei^6$F?A+wzH?L}0|RGCD&?!@WNG(7^T%da zYu_goWJIb*lEB>`YO^_cAk1M{y2)IP4LKa6Fxy;3sP)hN#+iQdlwn z@b%;RGj|XHRHEPbj;r?r*LfM_s39UE(WasRKuv8J$WeIAheD~B%V?Dd{U|98?z$7- zuxTIZ&Xta2*z8a9*USRgaRV*pRe@YJcyFd?##fYmV+mEl{M~Aevv-L_>B@dM%D&d$ zD(CCAR97AJZbjbLl6~fP`UMjGJn5YpwuErn@+Sj2T$%Ug*>A}2ro$Q3d;CY24cvKp ze&)IUNom^<-eZHg_oCS*Kz|&-vBosM=#QdBO%9)i1mF;V8Yi4aiF{z8Uz2HZOafMj zlQ7QD#wcFM$2h5dw+Tr_U7a~*)m1yKj4@)j+hH0fJ+b2qsEDoph!6s@gS#(IpUb4? z@g!P7Csh|;VQSaN8|Pl~m_8*3gBFFs!h>=(4qlLgo7b?pI-7ov7{gwk&9zn4w|Z{% zz`pEM6vEht7{v$9R0P4|i$fg(5@nFeYaav)-`MnC^+|-?eh>QfOEd#^I}t>fa)gB3 zaRGRT19@5ivxB5CLYSF(D2E_Paff#}kgnV-^+(5bc`~)S;sQ6=q@}CLL4Oal~laA9dBe#ztYS?-c6wLBv3926!9a@abuP zIN*3Z=7rUO-Z$-7>YWvJ= z?1+j#i*D5`grrji4{|JKGB4MQp=Z{7&jh6pYSj7GSEUYF8!v+t0D^!|QO!@@-`}!u zX{X^Kh8(RTJ1$+RH*@Kb%AC-R+m?0IGo>g`%6trgF^(eWnpRL%xk^i*%$4PipCMFb zuGJS7`oJR^Yw4~bhyKg}7+?GraAU2Qg(tVZrwG-%+Q7)9QPx5z+8x;;u}ZW|vdds+|_fl2F`t|F{5+U`YL zs6cOQYqKPmW@TM9@;va$+yMLM{7jANy3AS>+0+}orfhd z+E#-dEAx-cUVom3T^ipHb;?$ltdC*Nv*mRWRlfNiRiEwsHlGaKnLJMg*kEQP)utNa z0A@Me9-{2^$Kx@V6%??x@ugW?t)RAEE_#pG$mu&=$lqsrZ5|nE=2kxS4+3&9Gsf|R zKt+qgYF5|R#u5!s(DY}6QPekP73{RDy?@OfxTM`fouAu5v-NZ<>xJqsOR!xrLoIzB zhnUyC_<@Pdn3iYJ-|elxQ~zC=%`GM}Hy8dJ(4X6Kr86Dy0yrK`xAGN# zA`yxf2dml0Fo;U2CdoV>C!{1{9%BrJsn8Rb7)9_I#}USPFbOj<1$7!4qH1mw;Yp&f zLrDY>sCGm^(D18S-M_7VURWh_hk>n=jcYaDH9(ZJ%E*oVRuCo?K{x3<+bby3pOZ7l z6W#HkCdur^rF1y}u`N5Qe{OiFl>eCbnmGiwP{bidFhuKs(TC7ALccJlW@<9vbUMMm z(HY3TI0SSkYN5v1#u%~N@8lFMmE+cwlA5VZ00iV<9_18KotuUr0EeD8%5%(^#)KFp zZ zAlH37@xsq+h7b{^0&c_@!3JC~=TMGbxDfLe6*Jh~XG@_)BnCyou-ggnIcb!p7)yxA z&KjsRLQE2NT(3B-gw72yubI2iXvfzJ;EjE^epHb=ny#CHpB~{@QlmDIx4piUPw)O# z;@(oJL$sQCkeL)l1)kpC-bJfU@eI+%6X%Qdp6b4LxYgqH)e9%ftzYvr+BrbKx# zTy01qaWOM!lF;I;p~b!br*2nqpV{{KXOHK+Xgqu#_mYen6P3?M=J&?t!s&F%ewcXblxt=-xK|&jwf?Iiv0bZ+vNb0UR&-+(Z(N&rbHn(}Wxu zL7jjWup+1y2dekqZWu5QgQz@naRexKxU3OXLRF|}aYSKK{ds~is?#(nxG|T8%ISl*O;d92 zHAvL0n)Msc=i5cgrw9Btpo0m=K@b^CQ_3M@tvqT6@Dg&*QhU9nwr$jWJ_yOav`Hm; zS-x^bE}eWem&6RH*`H`~PB@;9m@Mka%9^LTV%_&Rn?q3pSEW&|O@usf4)7~JMeF=_ zyIqMIceaJOmM>bOYu}Meh~raexed3j-fQ{N5A*zTrWjtaW!l!Z+k5b{(jVcS=S&la z?Y3?UbZ&gl<^SX{*eug6rCY22A27eRQeUuMJ25MaIKz1spAyofuYVE^ju0rDjkJ*z z#KXRrs*p+}!h}$E8Y-uQ5hjG>u#-c?@rWE&&Z@=W42;MLkgxGlt1l%|hNvqIby6>J zxeL#0&O8m+{7LHCgQ|AHKtutqIDxfbj-g13Pllqsr zjjq|EXyw?Hl$x9>Q%zBUFst=m6wneAwE={805GY`$A;EwBdc!nL+4shvCWemjsgJ)5h;yeB%Dqs47&kC91vrYNGnZAS<6Ivudd75a9w+^ zx_RUN?wkg9F}CFgn_mvB+MY?3Dv!Jhr&+5as2UJNTj=)2bIi8)g!+GTm&i&okGaDe%z0k^%>X?I~uelObCpcOZ+R~P3Ytwo^l zPIPxClNZ+SZbI;bCg9m@R}!p&ANQljmT}v3`v`#NKJ=)wx|asWi#~*ITBwAg!W_kH zBoHBS%BO#(#UY_z3&&-rB=YQ_niuk7^x7D+&~5-ikdU!&zuweyzp%}$QCP-tQa>DD z2n1lDQY&Ty`Q%GVlK>pRCpy8nA4%9oqepJ;3wd+>DF7V7q63-uz6Nh(vlj1#^8@LT zu$R|f2}DTE32GKvO*YNuAQs6$X~W#z4TGGRCJFx>HFDB4PM}@SsUR>zJ!TE4`^Q3& zn!vS21vV+*Y%v?_h;0S zO8OBoWJV%w^m>*M0xGkV)A59G2zm`-7O6m&0p?eoq|WMpW^O)W)jshR;n${t3K{Ox zz6m7$v_OP$8gV=xC1R3`##86Hwsq7U&JcfHNn*V^9)faSVoGT9Txw?;Ny*IcAdbxU z`<;NK37viCd>{Od@9Rg=TJPpj?j_m^csxsP{2cP?=b(@1i)SslwR4SGqLte>)Zg!w zpH-RoK1YDBef32TBm#gSCwWPIag@`V1ZK*^xfs1QXYW{?6S(-iY_E%~LfX+L@hNhiobTd7ewEu@?VP*3oY^(gZ9 zBXe9>AK<#6zCO}Ibz6d++);IlM`!$DNmrwLO^Ae|o}2E^dk^?EzGld1?c z{#4mLV**h1oEKQ!S@KMn11e3B6%J!MT8B%+D{ zH3tj>;dEkomvrlD`Dtx=NwcB%z&SAP>_BX$#iSXGtM}0J)b6MK`-{V68Z`=PKmkuN z4HU+BJ9%|8tM=-$G}zzqR}upTB*}d29#X zM}y-9a=hrlWGCG*MzPaYr=s32-?TVPt0LRvqiAtV(}ZdCemoLV64g~XS*b%z4#SY6 zuvi#LplETJiOV?#zGkC7hFad&Kn`a02f!quFO^}33e3|qA%@|%UDrO8rwPiPRPJy8 zUiE!xpWd*4`;+~w!2kx}8Ss);)`9~9*61n;_HlG}N^xyk;LXjlDVWNu26B>xjMdDu z$wPq5$mC@86|-7f$pov3&FS&Bg6=#Vn@2@+jrr(_wb< z-1CD1LUKJZs3r|3#;;$$1hi7^jSxfeaWKmp0OcUCqS4~Z(MLQ`A?3S%oMqYM0Z7yo za1Nr8=dfNkg`!sQHPgp&R8tjwm&9mMRT@XM6*^X5TwcblMBX3K#dWuF0-Q}YEBk>P zP19#KMx zZnw*h?}oU8TosVRo;U4~`%y=5re#)UUCp_}Da}r!6!3rmMIj~8EchKr$I;AFX3jgC zbiG@P*=|X=Mmh$0x-)X5k3|93qh*)Uoj|LzOm&X~w_B#o&`VB)DNP_Qp<>B831ah} z(p1uG6lRv6B(Wh#@f)_ zwi%RBP@2UG_Q#%qHBjq=bwLnl>>f!{|g}m{QdX8F^(ssG~w{=fMEz4 z=CcL*JRqpr6EjmC1tnA)uZ5XpN|k+n8R%@MFrkhUEWgQzmCZm~z%Wn--{0Qe@Z-l1 z>~?z)op3shxhV#iY+agbZ-P0{!0yiS2C#iwcpzI}RAO9N+>Czp)&fx0sl4|C0ufH5 zn4}z!M~veLA_%wNgx_&q=l642oN{r$SaIeMfgIB`;{ELnd^qI#3>v!BYbOZUN|>g(kUw+$mwkpbFG-KIcIxFb$>4_n{H!+j z+FWxLQwi0s$}vWK`}PgPF5-AR;h%s0K}rex{T_P_i?HhK(PTp6hP1rQ9L>IZoNuk#vB!Bthd@i|s z5zRo*=7z_QRCCRISp*6K6hO2iPA360j7Km>#il{CPJZEe7nTKiu({n;v7mb4u6K>J z<8U~@#wb~yTOA~x13Z6oI*;St@`7G|b{ROikhWxV0a$&$UZ0phy@sCEoO+x1bLo>$ zr~7Jf{ON=JqWe*`QP+Y+4REmI`^8JWg?P=UczOaHLh-2~Ui#(P#0jKkDk-s=xRkOz zz>!iy3_%1;2aI4C^t6y>b#8wfWBpN72^o#>RD5$dhMyTzn!qDtx8HwQJs(EQIKICZ z(-dWvO^C3+e#E%k@K}?HfU>WG!~THp-@jp+68`@CZ`H73 z?Dso~P6Y`Q+b#y*c541tYq;uvu4;NoSIyHFEe^#RGst0@9DXcfAaIP}lyE#A5dz_G z_=dybfD@h6@pY~AT(@w!E*EKCoKaY~mTDalrA0xjyP;vJVm^`(k!n0RaKk!!nnolA zv8QQ7no>4PMGP3?P#pfc(unHWS(TmBkb-pvta6^$)uVnLFHixqBwdIR`~9K#7_wBI zY!=7*5A?lpo*vyNcgp|n)!dfh*O@UZeAD9H$5VwrKD9Hy&Pd*ywjA)iOjKU9~lr+ca{PTUIN?^a0|#&>FCj1;~zn2`U2X zFbw$q;|BoXzyJM-_xE=(A=rPzZnw7_+&a)!wTd9cvuv*#^Ez`4Ua}@$Gf~M!Rqb5{ zIeb1AzBUGcqxg<`e?KBnz~S2ghr4r_xbvdzyYMKg;SVv#SGy=*>pS3X;eU@0|zd)sZQoXHJetQo5!V% z7eY^(e7BRxDU&*#UF)HCpM246)Z4aS^fl<&n$j;H974B`!efEL`vV+*7@%}cBkV&$ zF@Hhg=5zZq;$ShxpsLMk|Edfsshw=n6JJ7c3@SiHaN%aBN=V@(|BazxPFdAC#^SWB zh*(mi45%~!$K$j#JaabVc=OK|WNyz=8OW;HnK{=R=7;2XJQmg7p6`lI6F0JsA422t zh-n=23o(n4&BUwcqX`-Eef5BB^QmZ$#bzLha5cn103|>KE1Y)=jT88_rL#*DJ5|>Iz$l4 z{GIz2a^HLA8%;YZ@X2Ai`SY3=5p*AEfP!r5(&>i~0*2iVNd@y?Z@)05gzw+JAr9g{ z;xvx3SNZijn^@~0?ebzbQ1skG(7zczPs;NTCb|>-0F-;SO!33#7;)Ha-G?gQ8X7xRx zU`4BqVW*DcIA-C(9M~Da5vR$4APc12$+}a}Ei`A`*7B@i4Hq_6Kn@p8#e@q}!{y?f zvjRDqVmwpsWsIlI9~STVX&Tk8SudaEZk8DI<#JYjUdD)0DSzoi*)!RTV{Oh4o=7uZ zy%7ehi}pcI$YAlg5gUgV%zg}Q2G>H)`MTA8Tc*4AED`pH1L82?`2L;+&*OB&`|%w^ z6u~4819rop!dS>_Af*Hg7bzMdQmXhMmb&&pD1wB^B~`tbXd=P2pL6@oxna0fyJ~TP z8X&VUADfB2Jn#LUMA+|lI2;Zl z>GpYwbGgY3<{A`S4L`o+B0J8!P04PnErid6D z2AM>QLn5lUQ#cY}WE>~;$S$X927(X~cDn)NIN+$^Bmv68e`1O75JORt?{01tlhRXP zzl}BnCyohbFgiZ+^x&0>V@Kx9K%x<>>QJZWU$ocKCg4PUZcM7h(=s&KXN!%H7t+oE z7U$}WM3Yt8B%p$)5uwSwsPb>+X8n0@AoBk6U*a({!1+`kc90t z;XDM8I(UvT;_dw%Z*OmSdwUZ>o(TJ4C&FrW4$YO|3lw1zw!@V_-S)3J80|D+M)Q`f zlZ{dJ>Gm1`>d0E=a#Eih<1}J8?bP>(06>Wuqncd^IL0WZb;bOLeBo6|7WJpxEPLm| zez0+ysP|w8WpU9`vN01-90(b}u&}@S6eEXQFQMM0UjQIYQw3-O3MPHyc zt_OSTHh2L-&-QNAdR2ZjIz62aLxzZ9H~8H=S9!UxO;uX2?+wpBhHk6T#eHEua;oP$ zbx?$3(WTnm=)M{MZcawe*7h8rc(01ARbZ`y0vsVmMB!Sy**?{ll^JjE??}%4XgO{B^@45wrZ+;% zb@Re7t#joB5>pO~BxKU5-OrjFTPMT^k=83uuSM{KXCJ1$0GP8%h9A9o>&|hg+W#h; zG!jNqA^Y&{8}^3-M)l1hd&`70CA^Jqcz=J#FvPsCgcvczh}~{qKtU7%XG&96&levc zoK^6dQ`X|hJ>kHgqPuhZSc(w700dA0aDDpX(1G)qR8=YREB5<6hGEEn)z6>5@b>mA zn*&-%??KH9vO`CpYQL##|LYoG(A>`G&#*Nk)M;$>uyMK#qZJ~C93LIFB^FB@>19FURyXk>sx zzz*BDENr_un-y>dcJ2tOOAm}El9yXw$VdOJT)dNoMh5T^W-75YVU`y}Q#sBE%-t- z@!_#Yi~+mdkjKx=+BokalWLA>*hm$ke53_dd!A7F94hU}z6;zlm9SqLmBELsrNIVd zcnv2lmq_FiqNXqQ?1NpJx){G7ITq-iu&Ypdjl zsO`@hA3lMWMGU0L_W7!o>db;`eXZEO=Wi^*AtLH&hDzwUQC z34!fAMR#_<3u^jj($*e2mu~(RSehj_glF&O_M)#yTW7$z@%`g{aNM$%Haz+QI9~MS z$j-b;8T=teOkv7EMV4vVG%_OMFgK~lK0KzW2wLoXYQ&&SJMt-|+5H+LZl^cGya_Op zSe`MT77w8nIdyh&@Y za6BE0kYDw?1FlNr7Sw=Cy1CG^+>rC5yPl%LtO7}76qa$}#6?~&sU(4(1Q(MIF4gSG zv9nfuFwk)^iOM?|#U5Hu_eF3~e=+K0QH1nPHX9|_9Jysyi;{5(Gn^}g!{LDaevfe+ zF{KIPX{=7%$8p3oPQbg)(I5g`Fij5<;m3eeA`(G%*r|3)5!*e;k%h$u{4fExZdb1E zOepszAoH%HCLQt#eU5PBJTnS7JZfLa9xBl-CW&yN8h88MPEYGo_Fo`%3VH7PI?OaN z+C9d;P+eb9g5mN^cOH;+ZnqCSxt(MKEvK{4zyu3}O9%vTU<6j@l~ckvzT>3kkmi6h z1aWp9LQr7IOf(AO;X_aNB74nn8P|TB?*@9=d?|CRZeN_;DVUhHh!#hH zMJ+Ifa<|)Mn_*4>If26>TSx>5FH$#yo4J|;>uprQyqXy0 zt3_>qMl;DEhhHO!!HP!79uz^7f)}b)Ap*YupQqC(CI*uLS9}@)6dw}|WC1qBpep(L zI}nB_4mjhWphyGQmUZbNtmRqi*GJXk)pcpGsr%=4bIK+KW@=+6^y6rLBT!WL0Ss}- z;D(qL3ixvxCvA5q!XVt7SHL6tcChhVYL{EAW&3Jpy$5csj5eR%@2$dc>9^S}r9gzl z-uPhLeM#;d%-wiVg}=wLAIQoefN7iQD@s-0EwEWnFHIbE#&WK44azAJh+7X z&Iln0I1}9Zg#%=Il(j-!uIKh$KZf0R;`+{awZm_2=37%|3Pp=5#(*g$9QJ!q!;7?4 zZ!aw38(&Ody_h~yVDIq;w0!SV(uddc)&kD~1P?C$!StDUtu8%^pS`U3htUh*c+nT4 z_QZv( zEPj#tB~X6^xei%KXQ$e4VrXMVpzSc>xoTghen9Q$vDO%IYt6t%APcg)o%kZDPOd>1 z$01G;iNHYi*ErhEf95yGt29P++1wH*2^mE2OZ-+<1n$t~}^cAvWl%=&;m z;m@Y8-oKx%{-3Qr&!ypRVpt0$pY`VZIq0`Xz?Ir&u8q#4M~<3b{gcM}#I3&WnK_md z&fS31>F5}ANszcW8#SQ9Y&95+ILPVJG$~W9ngU+mU+N=a4n)q!D3Fw+Rmr>3gKqhO|}?KgsB zuOPPCM0AnBQtxk zp@8neHmv1xvk~0`(Bz^_UE?w+~iVdUS1!-s}Yzg7b+Suwcu6H!`2^0 z`wk`a5uj>5Yk74MJiqSCHGs^SO1Y<8TRrSs*S%?ObD^qjQ}23@opA~d8l|ehwIQl$3qJKh$XB3k?=inB&l){^DBXv9nCG`d zm&gJACth?3J-+w8^7vd2?#|hsem}f4I9~Ln$%N_{#F5{qs^84Y^kr>~gb*gRNj3&d z{tdeU(^xbQ%$B$^ISGVmGT}-Y`#6*+EF@(zvxNPd2K6le(OXcxY0NMShC}semcEmP zFyAv~9~tQI*D8DY&IzS2V@ZYHzzVJt`$B34yV5SH)0R`r#e(|xx`@c*N74>SFDa=f zq+U+fKEM8g;^sSDxFEcC0C|}tuWuFpstJAtUAa(AZ~;sRrLuk$tg7d;EhH(>3$9|4 zGUV~BLoag{`lL(jyVtrX`P=v6WZ9pzo4){Zc|f({YSWkcw`0e-jHm61Ui-t>8z_Jd z7(hVf_ow3WE9tQa-?M$JNA~=dakRYIK$Ll2-RrAap3#hJ>vqYUo9)R(?9YAMWDU4E z*%9`;2!!3B{_S~n8~CRILICTR^TaE^Ha=8e%;C4!X%1WIIOh4pRcH8V7Ko7448?$` zdM{>K>*8t!aTvI%G72zhm|Qc@p)&Uv zJ#eizX=L6T*`^H8+X>po%4f5e zY^0_1o*gQ4zbtIly0-n}og5Zi+VAontg6fK@5g+%O6Paxdas^?8{9rpKTigVux-08 z?!hIu0Hf^Y21}n8YS_=3$*Nzl?6>t3OgCeg<&| z-?)8V+>f5y|2LnD+*vnUKm;-qFLBjg}cffYTei9sCx zjcIhJp(2!w(Swy!Fjg^4p5w4&!kp*@<|oiGp0K75X%M+gd$sqRnR8 zLQZ007C>1eYF?H{4-iyIOohKhgedSc&jfG4x24f|aGGB(@vKG$ZuPp+s#gTeese%1PGr0F zx}45F>)KQSWlpOme^i&sCR**g)tpDslBmoddjg#wCCcC6u2%D7cA-zjKg}i74Bn-D zeFL_%)s#re)_)gnjJfUQ9ao??Mpg|`Fwe9;iGpY+xwTepP3X)OzCqBsRYHBXfOoTi zy`DjPw_X##<2zu(JNr+jXSe^>@~>XEZShxD0Iq!0LP2I9yQF3Dyxe_ z%hLp4gl9(z$T1;18bx8sLMUMxrzwefi}EkyI3Y&S#E>W~CZte~YA{Y?$y1$~rZj=m zP&};s`-lWyc(I{hWcGicbL1VvL0+pjg+i6GvygCz;rNobqzb;6E2R5wEX-Zi;!`7GyOpt&a#z(?);tH9zN* z#-@{Wx$nPilcVP(6uBj5^020BCCpb#RXLRQlk1OFV5jM;ybWtd6}hfvt=k&sa<(<2 zuC)D{4_m+D4q=iGyORF8n@-(7`hPDG2%d7tK!SrPL<{8CT z_{Nhv;MwBkr#KJ!%Jgg%m>Ed??D||skE-xrHTbAEsB0UT@fJ(IA_cXq!AZd^$hJlIW|HI>TAV5Hbf znSqUzlKPi!i)orRsHUxSZeC?q5sSLxAphfH2SAP_lV}VlKyk z9;5(eZ7iBwz32f{Px!AX27W%e^#JJV@XU8A|5keX3jU&ihR~&6u6kLlw|{6S$gLCZ zMKAhL%F~xX#E3&gj048;9oYtjS$t{`V;m*)YotL>PKDEsF<=;WI37pQz5oL(+8om~ zBBcOk3wg*zgCj=lb_2$7(g+Te!IWv5kWy>}&xHjkJW$K3-qXv zx)&zO>7dVzvZ>En-DbBK70R)?b)7Xs=@rfG1xIK6z-*;EWD$rkr6O3an$!T>0FHJ# zebjq#GrqP^A)O9Mg+PgX-}wQm=1s}Rf!~XTZs_}!+xlikPYdb3Tx}B~H{%$Bwx37Wy=yO_6$b$?deJ8*@8C-r zU;;1mAXWqhHFW z`DqfNT-RXAo8}gb7Qp^7YX#rV(ZKyICiF%;-C+8gpEZ<;5e+?*b`QJDp-w>F)0 z(ktkk`M_7SzWZyH=)c_mQW}`2XU~2i!we`%Zoi}N65r33SskWcXT{5SgcsmzbGwjAx zck|&joZ>z05beE~MC14BvMk`vaJk=z+XJaPoNHmX{F1cxISRba!FfhtfC7LB z{Ae^WBj%W5L1KWNU0K-NOhYDi z-wtT9?L8JS>Z>t*O(`T9Pz|ew5E4L@ggpSRBal+H#x$B9x<;D0An96L7DoJ6(Akuk zQP;PuADfNE0tpS-<+Ilxx^Qt7whj{8CKtcewkhmzG;_%SWxX{z?SpxP$!ja6@*UrC zI_tFsiQ-Ms-ZUpuiSjk&g{#{3`@hQia{d$BDu$&oM7BlA77zhyqbpsHik;STsjPEg zx=e81H+Es_eeyWn#~-|s|Lb`T+DmKEwrp{|3(xx&bSL0*FMH8j8@@FEJLBJ*z?ZXU zZwl~@O10IzTeUd>j+5So%DcozM3THp5&(*xQoQ#FOGqL0lxtZ6ycdru$#^3P&@oLD zyz`jn8LB$2V1-^eQTrVXHkuz3LRfO?S!^eS5D=CCKlxPJmr%2_?=45onPvvM&tg_D zHb99c?R}+apK~3GJMV9&R&3fT&`qz0u?o4R7LZi9}53Zy|Cnfh1OUh5%%T^r(O(`5suV4tnQdo4%>qt^3ox0@kYqo*T1IK>xw=k2Iui zZHK!IdrQXm#lMs8-T&{-|9cLqtK(?=8fE|u2gf<6PwMfr9DfSo4 zlI%LL0$`{oo?e$JvrI%$a7N?GHkFeiWY1KN3!w3&lHPK>YQ_&yW!b8k;|k)CXm4=HeefvyUh>Qh zG+Ni{&fBpOn>{rpbFT)&M)WN+>p#BxemLEaOWrvGdTP5zqTiSMCaslhnD?PVtp{!Z zj;(WmlTP|7+IK$LhD{z$yvO1fEXx8b7$o}`ODGs_WrU~8glWEDnP-5Eorn;U+t}o` zG76Vsi^F4?mr^i|URy#~K(rH2d=|)I*1{H$7(o=Z2o&3xI}8O`K%|$srJc3g3E}Qp zERQbcHBhppH|-4pwp%a}l> z(R}GgDWVU65P}NyS^7+wGxWEX<34brlg@r5AqS6g z*AfDzintE!2_wf)v##-=;WJ9C%X^zXW@_ zIGPRLbpKv7qHLgCv>m|4*1K*VWd7#%%y~=L-d5G5%ADY}z@bPB5U*EiNVM!H8Ml{@ zi(G3B^dykuC(u{6%Z~l@Kw7_>?ydj5%<%Va|LZC*$MwIG+x~fN-x} zyZ4Gd+mr!F4h(jJSU7UY511PMB;@O1yEVXiK`g?dfI$KdNT>nU*w#Uw zeBF$1Y;|<(#Yma-b+67Pe8`~2@M!+2{Ye=MsgtufiOm~8(&Es?rLTsxgKk=&5BALZ zPBw&HR`5ImlHILt5Cu3K0im2LYxG2ZGGo;`i`4hX?F9$WVUecM&vm%+;Ndsphuv%%4*E}ryC`mw#yJ$X@} z!r^kc;Cj7cF?X3cp7MrxeT3N?Lyd?hjUL{+XgD+*FI<)xZYFp)VVWWU0%2OGX~Hy3 z_;dL)-_d182n&`)uCTZrHWE@f@#KE%WY7gH4kmdl?jG@LUo!Rt@~9Pt*U`9!lvMO7 zU%jCE6jiQZB(--iM7u~&9-q+;w{AykaMHeVE+L4pK_u0T9yuH$_z{r_(ZV;mslZ*y z?)%4AOq=_qRYsxJOxWN4g+SUZ0#`u8j^5owL=wc&fHOAVOjd#(31V5*LX166*@ZR$ zL=|yIu9W7D)`GgzEbMJqMTJ6Q$-q+rSc=N!@)y?!j|_wnKeK9OZoPNZ&dAnma?Yi_ zYNdb?RbGRXI72q3X*j5p;|u#7@#Qb5ZRcIp?sbQCkJ^ zqSjJKZoaJ+iKNRWc{F9+YUTF?u@A>Tm{6XMTt6_0wQWx1%t1ijQ#UBig12Y-k50``|}- zwK$e#5seHez!BhmzTRS`P4&WZ{k)1@06-X6qs1{@gc;grvU@u+Qx88r;|x^w$MkLMdxZ( zKU};X(t;c&^d3ouzJ7J6@TueRla`D==m@nmHZc1Ut{212}7qW}p@EY8G_{ z-^R(p=vhs#7SQjZdj`{xFKOX9V2mT&%{Oe>^LP^gV?^&2R zQoni`;QH%^z}Jg7divs3n=2+*$65%XGSbNDeR>kutm-f9ly3h0F>FQg7Wm^TEE!uk z`Gj;?7A#=_oOohJ zmy@YdOlWJ+9d$|GHhY(jnT{8gR2MEmroCh}fDRi%ZYr?v$Wr>X8L2C)52bBZK{W=V z%?(PpP?0vL2mpY|d$^0oKbC)p{t`J%mnmrrl@Q4dG-|t-3eorOG2@ZCi<(7j7@*Da zj%;lL?=IxsLqEB0??A6_-`AG_z|)G+H)(#-N#C3j%S?zKRVFxNRbDkKIBHe|F4cdD z2;TW@s5J4*InJ_J3;#ln9Hwb1+;xg@T562ETs875Xlv2hv#9al-!O?@z)r;K&7m@V z0hNaAtUCRA0Y&&-7vR4m<$mI1$hUSEO3`Bh$1q74RKa9Nn=D~TY0GJBwx^@lg9`q* zC`YZmaVPUWAgT)ity?R|_o!ycyHWR$0SPpEh${NiG-0|-g#l6PO@*AOVUTmiNTaUX zDy|#wBUu?O=Z0Ok8OXq~nfhh@)+$;>O8CflJ>eo?Cy&h~h|J%X^eq8H4>ZGS>X0+Z8-zM7;kMfz z0^G8|2XE9#8E^y#jrS=oWg(g$A!>ez(NLF|b7q3~4$MB@IS)vzBg?fGaWm@+0HjYk zeMjcBzJ}^WWLSpIYQyLp2=0ithx$-OKjdl_PiI2*XHW`almxka+RWyfL{2xEC?GMm z$<7}3G4c`dLyxX@&_01_?YAX@%B}&P@*J}6M;RopnX4>|6Z_R15Df}S-~d%Y5Al6G z<&FtSz8Qeh-wJrFQLBlu60UvN54$1ATRnwwe&aNX*!5vP>v$C*&pV%OYLtbG@u*0{ z7G388)kc}ErVNb0Y_1Fxpo8svq@b{U)&(RQQq38zANO07>+g5Wx2Wmj93ij+LdzA_ zv%8x}6UNq?l7p8*lcQH`%HxQvO^=<_v+1%A%&@iG*`8_~bv4YM=Y4NWfbatrmQzr~ zIg&mLp;KA|;ti;=BXt9qvDG#A?gFbuB2PN$q&KGHbGM1{;_1JoKXn2eC;eEmURAvJ z@RJ8$#pPZ;dj{p!rVSw+Q`Oz( zUcZcvu4g}+{dsQflAQrqVWS=l^>-O-@%Gg2i#y+i6g0D%5)?H71e6eW&RDE!dA<{0 zOrwrBh-4ISS>)_Fo@_Z_P>sq$Y z%yjaxLo{B`nWiZkROTpTVzrLBY+L{rwHei>8I7S%D>!Gc!xp_~NY#KMoPU*hQloib z4(!`q6an1)bM>>3pX- z_Q8YAD-+x(Ft&z^s|YCA#>z#nJ!qC?5<6jv%oA~U}RaAjSAGKR@*1TMdg1ytxHVJ z0{)N%`m0v??0QgHiNFj8MysKLWE__nh|WbS`RC~Pc{1HpjE(>-4+Pv$FDA~x`^gBQ zy`(zls*a4CXU^g5RTxCg4#3z0(LPYy8(CD|K1KcF{-}pQV~?W`ZmgCwrm5Fc|J8@__2ZRc zTD+-|idu`Nm)UNzAjfvl$AKJ2X^(bP(zhCvtL)@nkfPi*FrlDY9Cyr&zfONeSc32d zploZalgU@j_-E(y7CXs7%<3!Y)$Q~2z31NOFLgnJul0bkg@YG`**lom`QOc$FXxA! zJ84gV?W5lZ}VZp>k8v{AsG|3egCF_M{S(c710MX)5re2vK z4&sTWH5l1abKqkHr+rk1eM1i58Psc{o7dp`K!JNtnW*N92Pd`?m?C(`a66QT_Xyu_ zLsssjJpcUUpn6Fzf&4u zaP?7%{1)6ue>z4*M?^ASebjoBXR!?iLWqLNg@!;=+zRB7i1BCC;1~(eZ2FT;Ifj8p zZ~E^>ZA0eoAV_-Lt}dgQX&Z5^A_7$OvLB7ZI_?Os7#SJe0y!Q}ql|dNgWHy)P83$s7e|HJ(wrq%ti zaYA=HzVRS>MotIP+z5IC96PB#34Sr~_zTEtE!>+D0ZuH@U!qM7%iN2wv>+@FVF^*S zI>s#kj!$HlvWyT2^Spp)#>dA6tR7uR?%qz*1)rZ+h-*v8l@+FBpw#>Ay4gLu7y8%+ zdkaGRYwj6!_~;!UJ02yN`LFQndB?{4ob zniC-e(P&YFmFB(J$_a46fxWpRp`i!@234d+N+okDKcnUsfF!sijhWO(sD$X4@t}iQ z%aVd+FDZq{Z|*PHJGH(b~}R0LdOvux+k@N=8%!q)V^a1_U^2 zG%=-c9DuZj3M}0cywwS%JiBVBxc6EEC^tHOg>+e zVg}cFR0Zh)Z@X@>zFI=e@L_ROYWD z1ty(~9+FgRLj~QyU}rTss5%*8Gy?BHsN(8@PDN(b;^1iHHJ2@Gb8JuC1W?6KYcnJj zX%+KbUjw%o-GqY z<4G@|hXWe#Mcw*5u#zXhankpu#Pn|*y^;L$UOc1d)spOeA)g2d9W8{Oo9&KJ8sap1twjlm7D< z=1grTw5O$y&9S6-S{)73DoB=H6t)H7%H?q{Sdrfv|Nms!tNy()+!KWmFayygBgDuk zGq5aJ7BRwj`M4yo(h9c}Pj*8}H}|pHTd-OjrF{o|Tv%mDY0KvgjmB269JPY^old50 z3uWz;q|F00u-a4Y$iZy|5_D#h8x^{zokED~q$V4$4+U*;1qbq#qB7Zf?appw?WuTO zE=GP&5%4P8$R^#kX$!gxD4|__ID}J1xo-#@HHN6vwn|m3wFS6p*F4^`mQP;-ZpKk_ zbwonwh;OcAY+&wvp_^9T?MOJK9>3L$eFB8m1;SzeD+m3gf6T+Q4pieMd$o$codXBP zbh!w~0mjG2C6=@gD;`-LY7;c|vu%3r{{1>HDqDkeZPzyOH|P1iv^SC4GTVyv%-(-Q z^PI3wNvTaY#F>ZZH=zA1_7gIH0G$BGUixX!*)JqL<(d41D_sli2|e`-OTgk5Ox{PH zN5VKK9#v*?2ocy2{3BplC|x;89#~@R=`vxS=Ln|g9sN)k8`bAcc@dd*bQYQ&!2j*w z$5+yw6YJsga$UG=g|P=^JCGtpgJZPYwUK0un=!Zt5PQMemP>BxU^BsFVUL|}rPkrEW*Fan?P%%RsE^qzeo6lqa+wBPD!Y$K)HpL;sT2(UaDNL-DX zp`gEyY<5Lk#H_TvGMKC49>@PP$dUf`>=nektgREh@+a4~;y=#mSPhOAgsAOsj6~23 z5NSm%4A!L{SOdt_GWllFBz+sB_WG>-Ihy%)+H9}wR<~h{2z0MI-ALm$Zz0#?Ssvfb zhWlwl)%srpoe(4CYV*fC4@&!d1ACd&j+gm43NSyEvE6K}M{eA|j~>-}_onk>TmMa_ z59bKZdoUn812by#K7HtJM;Y#> zHKXXm^swA-P3X?%|Nd@jpG$9HNcM@eHLFj6?l>_|cNk5e2N(B|_{MPnE85U7+`A(yz5JL}9vUQ>VCCw_9lU4SW z;FSTQ++1o`c#x0ORt@89;-R#xEb>ktWlSh$SFY6)q z(5bmm>986v9CE*CxkdnoeV)9_L=-AtJ*l#j$N;jYO@1M z?d}Ce(PukLS%49Ti8^1qXw_}Wk3o&`KpSFD4XxMNf`z@HV`#1u)@Xi7+NMufY`|PT zF46Xpy&A}A{PNmju}KwDwfg?+>Giuz1_N8#)97n8c!cn~-a^lAzo(|Z3(?(5(0PGqx;FNAS zoY=dL{d{jhBSFv{vc4E)lJOL>kZ1(RM9S22yqaNvyZ5JCz>U~%A>?@z=T!EjArC3q zyUR3=2*#gbQYoQG%5t1XrDuV=QKDj3`A@gxOFZ=JmlDX2KBAv9b)sAtI=G9 zt<*uVgGbD$a5qkR-DIO+LpHEz!3PC7YORg}_=p+}-g{XwlUE=Yjpvp?flaSSM>RT3 z+pKCpX@U1Lt}AKj(|TFAeOqXzB=BaO_qMTEg8;4Gi|QsG%b=3^{;0qXVPTkQrp}NX z#2ILAbnt+7R@46OHK>bTy|O@zwVR@bMn6A4k#uf$wn?vF$5#_iN~FzCHPCSvs#GTa z(iEOdcNOpvwYwJ>c{0GTQ9QnrLEa0H6zjty2h~dlXr7}tAINP)I{}W9ei3Dfz>yPe zjH@$Dw*HIS70Uvrwm9NMa?as$xq$gvsKBd7hh+)*Zg>=QoOAGgf^##L#WM72izAf6 zYKJm|c9i)ptN#<|zBPGA>{iBoJ(;8SEhCmm+v6R|y-9Zzk`ZliWZ)tF2I5T>7sCZ% zCdkYno%fWtS&17pBeVgHMOOhQ^Sg{2l!HZ{uSjY)yGPg%%vF%L!WRI&LSfgklvo^lmoxeFE$d=f32r?z@xC9~+Lb*?wGq>og71O^$j;8TIKI%g`&R0y>I^?@TW* z;>!zgBfUwv?b7)S!S<|wkDwFa7|<4W{zGKNpF=wjJ9Hr-N0_2b zjd`9^1YyF3Fu$F-?rmPX|Ce zsvzcLueOL<_KF%Rt1xyW^Lca;`GP_Ib?bJU6R*EMgoQkl#JFV?!IPl2l5> zNO~2;lTW}yV1}dUrrAZKz=1)YQXIh~B0ABTPJLaD__x-C=rnQDJtj~M5!6(i@Ke?Z z*)2HM;D!m&*Iu|`6jS=skgkOmbg}@4)v{2v{yd&b5JEj&DZt^U2|oTNb;qgKk_^C8 zXhvuatGch&x>|>aE3Vla?A+AvvbM*dMPKE)Y3DbS`9%;jt9dglhR1!C`Mw_E6K zca<^T^%{D)VEXa`oV0@~nEB1SZRZ}kFNvqp-2g{>HgVEP?@#%f$`nrIZfVT!{e4VPHhK3+uYBB{$r?t0Mr^K%)qM<<%ap`ed0G1PYj==c#F$;JvJ=IcUisw&2Fz zR@g_ql_di?CD74R*U0j+%w^FW0(RWdcudJ}#L35Lt|fL`eV(~`ZI`%TW(L3^AOM)W zha(sH1i!zUd&2Q^N5MVxZa6|iqt30L-`c=C57d4OJ)`<>JGLH4W+J`9Zrb*h$K46N zC2ay6;|4IQmcM|0Zaqi+`|2%>WA2?3BZEYCd!N$F7zr9!K z<4qSap)JAfrf6?N>it6$4mb*pYY`B~tTm7M>N))=Dl0zEb2>@&-iuwGz{$WR5rGG4 z7J40}ytYw+9_gDwOVVBZ5_#Yb?lcCO@|x2K>FIh*4(-S#;3}^J#_(+VR}YK<_>vBp z>-v~{i&Jp|jH_H-EbHne&5gq7BJ$N919h~KXSFLVa z?u6N&;C}9CC?wozL`LHZ< zh0J-6$xQ&G5Q0ku@;XsAZx0-!8lhKGB6AJlb^*t_4^6;;5s+`CLnlTmu%&URUn|MD zO44c(*_JhhNT1eIMFvq!`mrmR#d`&F0GQ$Z1WXD7ipQG*1hQb&1Lr(LG&KMNa5UqE z3}{{>LAE8iIa#)f9E8qTZ3eKm)qyd42Z>sBE{Z9^3+U)Nmr#h^G3^x-8D}nO>HtVa z#83Kt^cq&;8!<2^ZP2Sm(2ech9HE129)kIL5h5xX#y9Z>uS?Rt<;@Y-j+gkJgJ$=ooiw3dFIzJr5x^Y2GKj7ecdf&TA2v z&LFXxbk<{x3hAXxPZ6*{F0T$m)l7)vTGma`qUmb7Sa2i(0-Q8u=0yNzka(=pI1vgo zm1zx->hnQ`JAI<#E%!&VA!7a}Fv#S=8O<2vTb=fU6HbwVq^hy2p;dVDc>u`K+zVeT zzIi+fHd=qaRA=g!|b;uh0&AB;8v4tzmL%aGdmONlzpv@8P|V2Jl211BQWZ z1*L3@L*m6#yeK&ZbM1tv6tF~N#ABZ4!Uli>9QV*FL%JPVtJZ)1H2UT%^OunA9P14u zi&bP;bfC2@VN<%S><$z(&8Jt4XlM#p)f?utIu$yx9O42qJv z)mUhu*G@5tt0`r`N6eyZ2V)dKg=n&m>O@jnwq*9?8vqb(bI7~?xpn%=`FE366Yl{a z2P1m&7=s*pyq)x>k5aSU7`*Mvs6t`Vi0$D|Y9|KKUJ5Aj2YoHA(Z>2+=$-fHuV~YE zuKxq*U8}dXP^54h6&Nifd-u&9ZeUAaM>TKNi+^m~erNFF)kQx6j+1^ib+`^a4b<=6 zdt5FTe1853z$L~GNxNbJFu_HS3_5G&8p;LN>lKNcg)4xOX)-5>%;EvSc`&OMN4}~e zURa{G2*zbzqq{}dTGILn^y*diCd!4@!*A!sn4LY7?!_p!*EsgACQys{ZDgM@hQUPqppKjWgXENYTwu4c=FQV)* z_>s!m2WkMAD*@efw;Uo#|YfRBdZPIYUUVyXjj-6zs_Bk&>j;~KIvD7FoMM1FiAeHqBn z&0PL4xEOy~>k3gjh#Kuq`8%GcHr%-F;(XsD!~c4!ceA>&>PFnZ2E3e&Sfg(WZhU3_ z+gw;@PCl{_Tz!v#h`k6090fJLuI0CupKVT!UOG@70C3znKu$X81yqkz7j1DY%b(^z zRW&gvoeqlHv@qgoYr}hwdHz$}#Q~rY;2ah9J1k%^CHozJN?AzMtP!HiOXs6&+V$mQ zRrvTNbWlEiLmHm#b}0#rjO6`;YQBw(Fx(p{<`LUxZ%jP=Q9knCVOa=3z&tPTUNkxY z0XXJ)hWD!BK|0YT4Haru+M<4Sq}i-CgSAbOjcTf1jS*TI*{Em~w5XnjVLF$4N zT2&kpVVv4A)Lc`kew&B!YncYebRAK)VWHP=kild9R{#Wv{iNlsft0`q6h!lb3{af< znR0uk=zV)OTn#$wEhV*)qm?*ixwTy~IGJD60yGtE$g#_~3Abm>w*UxtRIb`}qGD^~ zT2s{|(;oSfI^o}eV%d83G8h1J00jb^0WIR341wVs#EXv??M~J1fdSWaU1>80w$w7W z*XR2hb93~(2}{wzNPD5G&(Zq_(mRdi8|ePx-`v4!^3od+(79ju8O3bZRW>@0^V5 zS;L{0*$x5mO3Y_um^0%qwmVdd;}($Pq#s2s_JJ+txHvS3!XUjEN&h;^##Nb@bh@hc zb-bUDUG8!eLliV9g^^906d)0R>c=Y+(*m8zZK@=dmMJxwSs3ZeSw_h#C87!Uhe{P~ zFrcdE*^Whi7xRc9K?7=Z88{gHj*4YiZ5C)7I~T78#xm%dS{NCv(?y&D3OuAHVbHPw z3P=M9RL~Ro2H;txQgcJE9#Bzd9W!P5s;@CLL|aah$cW_#CPMw*wS6^VD?_NG$p=uz1`yV2;{|0c5;#2y*r65a{^YMR|*dc*pzy z57q2>!}=Ye*8>#yk(>@!!mioFsjSg>-Czhl|-&PUMDek`6&Ydu&we4%Yqqz^Bx>H+Rc&ERS{~%@aVEE0zR@cGpanzALifT_C-Js z#q8Ak`(!0nEq8SY7qhw$srIhmNfw=>qWR#HsFsS;SJGB_)Eph~Ll^i6kVxd%Ui_^8joJZzYY9Vx_y}=wB&7Qt%=CbB` zm1OH6s|1X?&DM#u#&>N~->7b{E@d5Cp`?my9w+Se&h=*B$-QRKwqtK5G-Qe|%Os^S z$jos*Qkv5Wa;Z%uPy{%b5tijp{oaAzV9We6YQT|gZ1bMiCvDKH+ON0jt%V!WzE!wu zovLCdR$;~iPajRRp3$h-#rl7|Zu>J_kAG@#oOF_&!Vtkv6TJ5VXgHbNSsPP(7G=xUtaW7O! zhfX_-ezvYJV=74oB~zk&=ku#+fA?%`;#-U+XCu7;BB0@LnJ)1sMWAv?+5)yoZaQ%` zb{JFu-*bA~-o>Z>G~Sb5#$eZxF(BPGVLMhTCd+~urG|n@!#wMSCsT}mY2w;RNFHUh zJCcxTv_*=P3j9Ug%+@*yNgqc}-fKX>*fiPETm35r2d;>iqLo!Ci_{goo?_gyOLjsW zoe8-u?bWJB)1H(21`sLw&YTz1zMd<+0ae$-qIRZt(Z&zo=LPMg{luL)q|fVlrDSib z?WG^gR-NhnjiDL7=T0a@jd|XQH$dy z@$2W&!PgkIf;6{kT9OW_oO=#=nyM8TIjdRNp zJVZmvN0-dWjVz;RCo4kM-bvJuWWNByNpr|Y)ODyrTceO2v(Vg}kDG8KeJxwQ!t04m zNwZb(!#p6)In%(3Vc*V%O{e@ly0W4mFv=!JExKE{Kn3MGL;>ch9V7saSZOpmRGX&p z3mAzA+bu4?)@R_542|DX_qyf3(Ng_n>WxV=7CWy;GS@BF zZQh^jdjAr>Gd-&Hw&t&0x5{;CFVOxf+5#}{i+`MsrFUv@oODv+Gv(Cqa=Bn$mgtgG zPiGb65IY>6Tme{k?=f8_EK5j>nYF_q-cho(b@9NWU`hr!RP#f%MMRSWiE*-b7TJnC{`IEoYN$Z z%t`e=stzCx0DW!m@^=c^fEIP&CZmmd_pZ&!Zkp*L9(a}S+QV z?)^s(mv7v@d)SB*;5g~`Qj%OEbP&0I?>)TpSmqg&jNcJL5LP>cfNAnMohU?1e!|tw z(NO3Vv*75>VS)F)5J-p|obxGx5Ew)puc>6irbk7J??OEM@nyL_gbIa#EgttF*_(t} z#*6m`U}Sp?Q#3MaH^-rZRH5G-15y@{IT?|# zUQeO<}wTA@j$o5Ey#`~zEJXLTOLTErA2Y{-R^|S7_Yl5})|Sx+ zEU|mJ)CZ9DJOM;O8+r|3?WFd5j16wS+z_AD27|PXBM0)7u5+k|gqtn#vlSK@Y9upV zhu{o2P!$hABZQBNvDyT^>5m>*6CsIOi=w9`V2emqn1Loo?~ZK`FIqQ|oKxngU6L!t zbuscQ?Muo-KLOQM%B+96N*AydvH@Nb;S zCUABet+mA7LLP5T3yl#$+z&Ib&;q?G7($S><^ag?d&S~o)W4Fn2LIH3(EDA-`Mq=x zNbwc)?DDOSf<4pu4kWTzE^esjn|Ixp(AM}k0gk8B)-XI5+Luvtv>91;5}O(VJY1n- z5x`hxVQfNRV>nb+D(5^dmk-SIEbd{+iAM)wb4_I`gdguGTrLyl`3j))0HC1AH0gC1 z%}dLQbb|TaRy!X4_&)R+$RK;1dyC{tnD^31npV|IUkfR4|aPb?Y8a{Qc#zN82erW5nFIcv& zvo4~ccxUUpe}X4(GWIG-F%}1?k|~pY)ehr#TWrk4jrKQys-4ps$yGFYVeK606{95t zc<0;kkuvzEn_Hrz65iuzzi>MmjrIGjXWx(B9iZ5vw=e#vf$wCdT0UYBZabyB%F)j6 zx9^cdzTP}w|tQ+jj>MNWzC9LWKM zp4RX%|;FwqFb-MLBC_xALDH`zf+`Cln;mToi&v6?pPwit(s zut`P!7CP#OTTinpXvK8yb_dyc7roTxW;xU*b)!Cy$ozL({1V{$o-`gM!#BrYBrOe5 zDx##lY59Y1u+)AFx=nCD8~>!oQ+HHVe876(?P#~rBNBQ6SGy;>5z~FJxCb;io~Wzy zl=!!%bClkFQQd0St@7W8;NROiW3^_b@!8gn#5<`)6=%}xBQ9!J2o^}>3ge+_Yr`fw zMeisf1UTm*?h4h|sAzr=NuIbkD*pE)GM8t_}w$!F4sV$S^w1Xlr~s z-O;;Goi_FP=W*H_>s7PgIfrGLk$YSzLFc%A*Ckd4#C{H9+eGjY zP~lZ<+ihX=EY-$7^WK>RJi#s>#6BELGrB>nLCY8RjQsVADj+ z7C!7l1E(-`1bdqf9TV2;^tPy|LoZ_1sR+y|lr_%UX4q;|kcNvII~BAc{Er2bxlUoF zh;`PHnd)nD>{$UiZD^NhQxMe@Du0D%Y z25Hp8M2(2*OK}A&T6E4lFXH#W%v;&hE!^bJ#(uhj$wvA1WG|XEd(q0HIlNdtIB~I; z(ssM|LHKPWshKa^nb8W@{=-Jc{p|S;l7vqUj+1^b_4YOr!NieEUQR?965{9%PPI4? zg{O34N`%RaT@8tVbh@jc2(!`rh@8|VUWt)BG)}a|QD|}Or60B^z8ifR;62EQ@=1Vb z7N8CHv_s^*@cIKF_!}r!I}6eJhEzClGVgRQb3%huXkp`hC8Xc-DuW$$zV)vVPki@Q zS5@G%i`qSL`rmU&;yN=}?}lR}H^m{!Wso}9GL=`QIBU7J*^bvd1B{Hyyh^+4L;2(8 zdGv^bnw0`;w?1H=k71>IQ+hYzqDcz?v&JRjyw@d`h|Ja0BE?_1<8H3-y#DW`lir^? zu=Y8AzXiRq4UX~*OVr}$$Q!-~f=Wg$yWgal0a{G1_-znm_MVbUc6E%g~<|2&aa-XEv+G&Xa1$tJMAb{s0w zOE)o2f9pQY?qaRbZSiU~j7uq%Qj6nFcIQqp`X#HMZtM>csMKIGe?>U4_G~h^LD8#G zoa3=wLx|cJhMQ5LXC?QxysDuPr|??qr|U2WXqR@5NwNt~ojeQBtUSqTbt>%Ba-GVy zgH)5jx{ghf<7%;cqc-JQw5Q3tV|1i}Q_9KJshv5AyJ6}K-KA3ZX+tGE*9*|sacp|6 zG5XS{$8cNSM!lb&$qLqktO2#+J{_;S>Dc9B%n#Dt%J&|+GycnWfxGL!k-+8zdvXh` z7=ivVp)p< ziT7TvndseHQUN3&1TwB%HJY53`l!XREMg3j<7sk8S5*Yyu)7zrUD zECJ5D>U7kW7wOof@!oLKH>81>pJcbpfk&gpi2wi~07*naR3~A(mFKF|I<8B98ddVP zs+eb^tdr4v>9-?L&8uMKpPf5*spMh6ja0^LuS0Vzliq=Z+(;uZ#Cqr1qGZ&zba?{i zyb$H2^7t%QrdsHyqCE)I_DOB$WFX*YS+!zTd-%pc9&a^rxP8GnrzZYGuY~17jzEtQ z!%S-dHmJwyzl07pCD&hesHbGOVkI+!QgXL(AEB|+WOzsXE&87O!PrRgd(qDTG2WSO zZQyzp?Lp^j@zyqsYEKw%KkrHRf~Id&$rIo>=_Er9$U%h5#|7bk7lg0?@E{V^c1L;w z%<-qW_a%)(~qOttAq1C*;XL(0OXp=vIGPUaGe`vUH1A{ zgB%Z9U0=RPQ|Fs`OMr8fG!uZXhy_p-@v0jbYxKyfKjx120fwV<@G?h(z?W&N;&F<= zD(SLXGN}Yw%d2qDIVuX4TQw9KAy+Yr5fEk8kX)vI*dE#ZYOun-ONMH9f+*$Hl40&u zemmn8LSoW|%i0#q;AC&3EDT$q$bd<_Q)6LYP4d&)+3lU#6g0qDiuc23BZN@9k<5L&Z_2bM1N^c1>;ZN$9jraSpkgdP~?Nz>O~)U2g_z>`iVf+zD`;bW%k%o;!JutMk=06;WLmSFQ{6Oi>IPig7~k zMI(bbL`FPcD+qz1W;(>^q1yeBIGMN4_CCZ=q92#}ZI0VsL96Wlv1ngPYXvB`&Du~U zYVCvlN$tx0D`{Mg_RZ)7yTemJ4g7lNiqLw8Ry?bSRAa9rsK*rNT+%GiXGw(Vs?22Z zE?>vUYlba2HNroq_-ooYW2ylL>H-)A(1B=Fc{49Pu~vpIwpn3R)C&AjJZyx(3@8;w zRLN+6^bipXZXma^X06RjWM@fPsh(golC5hYJ?Hf#5o-$xQn1VZemWi4P)2h7*Og#B zkqt`yZGg_+A%S(f4eSB^PI?H%4ytXX>{zybIc+t-Ie_n_a*L}^LonQrR#Mv;_5t)} zz{aC#8X?VXGmmOQ)#tm>vnTkoRS4gOeo8&|k!5JT_xSj@MAxv&;BW*y7A%VxBuy@5 ziQv4$6g{H|0206i1O~#gME9>g6I#L>j{c5JwQTBW7n|s}#rgE&#U9Bg&9kjI%12 z+cx0JFk6*N0y*09=ywYejWC%6J{Ni2M#b6@n^DrV^QliaT~AqQ%z7Ow-@v@3=Cugw zwP%)H1!|t`2OKtMO!aoG@vx=~aRg|vGm-RuNwG)DGcLk1P&nhsxrYGw9cKF5RiXcG zt;~DUK0;r|6FiXr{w{mbx1^26J#mtqbPu?3B;4!hktMusF9G%fL8lj$lYTc54Y?yq zuf@frfEf8b2adKlv@oIJ_7p1Ja4{5(4IV!935g2olRVF*fSFE9`n$EsjAc zt7mHq!b#tWy32R}fP2G!f(rKEVGF&JxMVE!`dHaM(iUoChvM;VV7V5SY)sTP9>}_l z%z!{X7U<2zjTTQwKsjyeMWyQ@ab-H|n$?0R1LEG-5pc>1r&aAK`Q>rgwzZZ`!xI%z zO%|#_6Z1(O%BeZWIuz=)W*f(CLHy8TF{%QnqHpt+VA3jKUf{TSMckNBPEyPZRFlXW^sDH(+w(sjhfA@mS^s z3=x1p0&*-%fcGKV)sWM@5E=5z<$}-8PdNo5PWO4$*l5m;lX20Hj}I*KKNCyEpcH;t z0;b7V#`i|Thzb4y$I#X3puA8IYXWB|Fv$$EFq79A^0yyNWWIC5Z)aoE|aO(P*0XFj#KmsyLjhQ|% zn?^S!Y+{iOFQHP*G>>D@$`~jqNE-ucyfpVK@F0J0pQ{!NM-aiOR+=(xREncA-kecy zsEwyq{ImHk?zfGbZMJpvc1J|8C~8|e*S{_*DQXVGV(p@5Ezx_q^80CHeY`2wN&9KEmUO_-;{8T) zcJ4)4v!_A0mu}Uzd&U*9TkK6)-U>i}_V?;oKkJFjqwilt_pd>(V>BmGjdvon1%Aqa z`QG$`5p~jAkqQ*kG~w!J@RCm?nK*hnSrCF~Y$#_f#zP60%Y^H7HuF4dWP}jloQnd9 zj4^Q|JK^*CnHF2s6w!RP=c%l?5`RTXKIuX9%tf5LU(+M5U2XztH!OG!bB*PT_MC@p zj=K};FjrBCRLy`80$el%EJlt0+WNiM~bVgG* zm9aFeNj8!JE?S{n%T;M(aE4YDG!q6k0}HAlvUU1yd0w^QL6seolrCwR3N$Bz6cG&I z+&3d&mttDP#=eN@Pp~Q3h`~&_P=#`EnNSUeBx&0=%Lcz+fEp}&O5Lt$O1CxbC0KkZ zY^2onrsC^Ly0-!wU1*~z!|*lRy5F~&bmfaiFhlNxIM$NgjX2`ep3fSSiziHF4HyraO41o z!hQ}%!8))2`%4gCur9ilO=tc_TcgmLNW##%kW-eOtM3K^i2zHj4$qO(q9Ufbwow=i z?Kf5FS*0mduhc2U!WIcB*cwIuBoA`bw2(N36$2xgC(Q?ALDddb)wXC#v?eJxm8O(d zZL35*_;x@Y1&eB85Wfs;3+&Eai)wQmZ*1h%LM|=5&_ao;g zAMYW%M&0(8FFh5#cSoM|Jd#B`x{SSC;#`Tm86(@)h;}#xte|uk-g`AdYFEO1O+|$# zdzv}Lc?r%!Nw)W~#Op1cF=;04Iby#7@y5R@XiY>8l>S3=s@M@1$BF$IssWE|K-6ks zFw0z8!U7H|aH|GKd3vkQD9&vKKVniS8?@7T8cK`M0UEe?Z^~L%t4==I#puZY9s3gH zHI;0TGkvehEa~*q$Oc<&L@GXdC=mr1ZF+%0% zO3rzjQT;~CmH{#WMYDVOlb%D*9BU_aXlH|`t; zyQtzs;fS(;<($Xm64m9CK;* zdfB;2AWOC$h?^)t9={Um-Pf`8*0gV_dXk#Q9M^_rfuANh6_3Jh;DFE10DJwyIhVAl z*h)Qu90^;I+^f~bN&Z^Jn|EAto%UHbc)r$@KUI(`*N@WhY5ggo zSwR7$W{-SCHkO=~1SpMVj-#^dQ!?e!c)1>{yh#B%mFd+_0F<7lEC5o06qau-%VW9Q z&b*309Uz*34QQ29ORwWt7ciWdBJ8^P*q2ePxWRbZ!4pnq(@aNd=2Te>CPz= zY&5sl=A2ep$DWz*dgU~ZP5`DmJDHtA%Kdb28@}@{2hMZtUB^n>ex3EG@_q%3!Gd~k zd^PA%Z=2Ok&A}SduJgOW<0EBja``HH*U@;KCUPX|^k8`Ju~b6SNj1H@aB$MINKf{} z{p$>MGf7}@$k$HD1yPGv*$5Pkluq*AFh>$+#xzCS9g-7>M2o{YpXQ^W%mRvd?-7F2 z&``DZ%&;~v$L}1qPhP7JCx35wxc4;+pk(y<>#UM|_0|KSI1U-TEq)KHqfASbSY-Z2 z!w|TKhlx!6NLF8H@^YBuxvw24dUS02{eGOgXs*N;!09oZjCoB6L$ zuYDC%sBxVRC}ZQ^53ra~!ZfTHx%x$aK0H$$|D^9jY1nQ^@Z00|3x&;QKdF(>8r;=w ziW-oEr~&{hdNr_Nse2%?H*VcOH`lAb%J%k=$I`1iVn_ZfLAGK~x-aXU{;({#&NIN` zGS3aRkfW}>eil7{*q!ud6d7m*IHt+t^K(guk%1W$R3pQ|P0k2W4Cfs#mkYx3CxE=D zF3SQUhY&d3{|5l)WKLc#6aM`3&sYdHhDH}KJHs4j5kbeNemh6#J+#$&8%yjn_YYQ~ zRmYP^31ijieD?U0$Ao3V^y&qG1Ud?Us4Wmd!Z=wtSPK}XI7>hR2ojZQ1}Uw!3q)XV z#iYJaRrjG~q(l>?%#iFSj4+M9(4`t2s{PY5K$;mpBkXccPuilbr!c#DToRRiB2B@@ zBTEc#%MSgcfCd`@G=m}vjacv_*`bLbO7eJ>x@sWElHqIYck@2E4^~X40s~CYE>Ro@ zdzXcxEvU>%aiAWLJrpc#Tm|s7?PC*b$i4{wHI&8+J*os!n^B#LHPK=oT+TI)pk1?u zng{O>BA@gq+8UkvNAJU7#C=o&vjz4@{pU>rW}R2cdj~hq-j&wMm-osQAmm{E_U#yD z_*bsUFQGdtJJ}yZgy}M22?1eQPB{9claQGlVaOTe2-9@I^?J2|k`{-85Tfp$1*2)2 zF#8$vvKWM$5yBFIj`AvrUQ_w}^E00bvlvU%t1W)=)zUa#5q{#r*ltQ+SIdHteQD#C z0_Z0Fa0a|Qcc$`d&4?lUGl}p}emUSKMBt1dVt0SkdHkS;t~ne1ZJAS}fl`!>74*_q z#x4WOQ#X!b6A;FwfR}*|hJr+WFm1<`xR_LKzxvQ1|JGANRNh6Hve23VB+~|!U|KWV z-K#DNY{bvB_CJ(6PZt$emkp{uYZ?jadnk>}T3}z%Vt5UG1xruGNAaf8>Y65(=a8Lq zcv3O9(!8aw>Zx{8Lw9%O?gZ8XK55)n;BB!CcD5|5@m5ozab~{fS$psNeJ^I^)#C6^ zsRL;ba*^H8DLmV_R!+-AlSc?KM~0_ zCbfZ3ojOV`di-l_EqsIVu!mM#kVD$XLe!RWE_*VP_^~0aKyOa|lT`+ng&SEHTy;fd zt2FieG}kiXvqGD~s)8twSzU=Ku#WUX%O4Py05y!LaYHm#OwOfxmhwBt=Q_4H6(xC@ z>1l6N61f@yO?FPS_>rSl&5qOtrn+6Qrr!0dqw-QkIs-p~ePoa#+Zb!Z_dpLeZC7Vj zGV(=$s!?j9?pqrDDqggA-n&@?0QJ?J%d0SrL=!a=_b;x8R+3)RbQ9PXZpLNoNo?BY z2IxX=hN5lsNt^==xx!tcqsL{hwPJo1ed)6Q+C65oS?>jqHZvHl3tJiN9S{c#NV+Zq zh&E-cR$5p>j6zt#(x#&Og-KA;Qf)wj@VR*n&m}EOv(^@SrOfA!udXI$ep`lpYDsRT z_bk;tbfiX8{XmVav2!5nsp03f(_OU1zMS;UsVlrv!RSvHaTyE1Fwengak#jFXo3(e zj(N`0DheVQ7|B{63;|Ovmni}uA)O|Q)`tKoT_d6dboG}{`Z1)!WAgd|BmxKh1 z;N;rbIT3ap5tb0((%qD{#fH}p^j;d5;#IjP)DrZH@M_Ci+gk0)Ei$VfML9wcD{L|Fec1OB4SOOy>ZHug8 z+_oMS8K9enW%8d&m0+-!j>u|BGXY3;0`iri{dwKB&OB_PI@%uwmeRpyu_O!LRpWwk zq{kfYykdLqAzpjJ?g@WVMQ_A^QGz21eqo6qxGp=vT($oA_{gBU#t8vS5clfyGABU8 zX5^wKSoTKsJ>Y;L73;$g?>_0xXwrd~c?L0v7+lEA2Y_!kAXlio&wOuMLg%{w3n*<6 z3~~;a>4K}fMtd01gNq)L6m{QkB<+`^Ni2Ws|Z)jF;0j=*agK&C5da=>-7q` zHO9%C$~-TarVv4q{!vhQ@Mll$-ivlKi#JW!UL@KKu^!-PK_0t)mRBh%-JKACXjADq z^vJqYLaz(y2QVRLo zqt*yqdQzX#s0~SS`JMY`oEij{X+%Z_TG?#{6az?;OS%U2Xj3S%->hW9PIw%dD);U^FDzvrc>#!!knmH*i z1HF>Q?U`!X0ZPg<=B+d}4JrXQJ&iVkTFPo`AKks3-L{tIt61odp?+qE!(>fo8iu)x z-eZvMr@Q%p8{?1K=|;&~*SKX_5P}%R4; z@&Ek;|NG~kz>>9(0U*TSj!13>IA`V!+r`Y5>Xw?^5XaKK0a)(WIp5a<8!s=wL+DxU z*l2J73UbJxRbPV6N0}bw^@a3Ml2TwZ@n*uH*{eWyG)dc5Ej$t&$jMbR z4y9n7Kr8Mgo`2h1DnUH00SOc^APVBX>ysSnpGFZ;a>3>D0sQ^% z_`F`zRX)2$>-xj-N~HI$oabC7|CZfC%@+W-c8Ohme?AxXY8nC@M54ya&KV{`-hbC_ z`HIE6ny)8)S5jeyRYx?%^wM4mg(4?^0OQ=X`}nY)+ukmLLEDfkV?U3?w@dDzpcP=12BGq1p&AphT}88FbJSptPw-)}jJn7Cf=P=m~E+M;QHPH(mOv<6B*+nBIK{NszM%7ubuaJ{G zIM%fUi;%`E>31TK@n+N0a6wvYk=iijT89OSa+hsgf*K{jk-^~tV6o|9Kx-510Spv@ zz=hx8eU$N*MI*v{@?%me{r4Xc;#imJkMYbqSe8Sg+n|npFrd)7POpo@5Y^y z`I~0Wp>fgMR8RT}Y5)#K$pAVc1m}Pdz}=U8l^1`P8>YJdl&6@EQ#6B%_%Ga!HJsTccZsoQ4SYx z#FF2d?M4BzVS!S(t%0m3Y4L1|6}QP9JDYvq3Tr(f=)7@G4TP$gM1ad-wf(X-hm2JY zBJd;)1ucbw8-v4Pvfs=}c?-6z*2I)I{!0ufw?Shy5>p#XD?(co=Gdle3ZIH(Bwi>G zlgnGURV6hX+Bu3794P`AvB>e@#0uN?6fpG{hiD|#hE)MHe$xUp8KmP@Ch)lL?WudC$o z^!f(6cMshY-_G-Q-?HD4p4DVqBC~TY8Pi^tB^`)eE*H$p68Tm+Xq%=9AD0WrMZ@(= zD6eo<;JIW#@NU9i|Mg$-kAM6_j914!b6)IvuE2^1xoo+qSxo6&W>uu3kk#Heq)~wP zn>aVJXWxdV9v~ZZBUeq1$Pg7w!Ojex-KATL^VT1M=P{UV;elev(aTUJNJ_ZFhut6$S$Z z*`8IT??O)~w(zEgVLP1XT7a76=rhfS>wcsNQlNdM)$vQzZxSB`6frHr1b^zni3S{NSY$Olw*t%o~w(V(j{0;4Uj?|7WUENa@Kf>g{OF0 zu5DR@8m2T6Oi3V60ysD|MFDQqMKxtsYV22-_a*4jq?F23WH!=U7q z^D&tkE|#9MJzBJhH4v;oQH?*M1W*pW$C`5AC74vQLzzxln2T?K*0%Ywc zr1593r067U=g>NR(_PpAU#~97PFkB!HzoAU7`Kv{3C((?;Jfh_#tc7A_{(4Zg1`Oe ze*ysh=YReOfByL=y!ZIy;{*Tl*T1ImzJvvS@=cn(B3v$)bO4vHZ8Da50TZD9D&}Ru zhmYO>W17^d$JQ0K$I;$_qI<+BzNYbACdhM$^YZx?)Y0JJ#1H`)xg`=+Qx3no15f%z z)T~#^)GHH65q$8`n@MKkt#=f;zTyjkz z)#51C-1pAab7B5!+I?uhGod8xM&Lpz_3U>Bx$Yqb77m~g5S+tgm@h!wtIr&w{!@LBC5%1%&!#PA-8lCX2LV6N7^SJ4-T-*!M0nVB8Gg zqTzBHdcB6SfZn4707+#Pki~4F2}C;_7QjfNHo{WEF^LscfjeD&u_<=A;}}u%$z`q% zZU$N$wQ^LdBA0a;;vJ^%VzFcV3^tH`QRUxOD2fKXrJHnMjOY8P&$70Y)QwmAm)VH; zLj>gU)W?9zcIv^3G2pHoWXLLD9G{Z9JdRpmYXI^|Z$=M8JZ`41<+3EFpjT0%4UE71 z76;Qhw9}~>K3zPn zv!3EQS>(y$i-dfH1~~6AeN34DIVa&t5c+s+#Q-QpeYkq4LdUT3WizbyK-oN-bhtOy z`2Ab+*zAqCD~62osnH<+tUMK*DtU<+uPzNyPJsFEGN zsb6w2;#Y;9a*1rwM=f=jODLsp-r4{FAOJ~3K~&0I=)5$!u>DdkyH-=qjsBKu%FCAQI#V8+B9`~sBuW=e*Nl)g_4n{Xiwq0-^m3$}Gdi@Ix z4o;II-Z3sVJVEG|co*?ko(7)u%cj z)00&9uN6sbj!{Tqv&P#2Q479bK)ZpBeSr(gN*S5S65Jw0hE628Adm{904|thP##O{Xyk8)tb9pKJah<_OEc0aUUPYwp@Ll z(^VF7vd%c?z=1K(bJ8d#Ys@}Q6%HZsuz^_|W;t7$OfK@L=}P7XezbMI^3)k<>S-a} zqg0FIJbZhcwrrezb^Cq2T(RB&6~K`}j--MLKsMBPUPBJxuywF;(n-I9l<9QQ2&f1Z zdMlceYu9BFTOE3r*Fg-2>gFO^96p^CiPi@LuokB!5AQv~5|B?H1w+0VZ`cW7P9FjS-U=Re(;)pe{v&fW|RXpZ`CeD zx&jujbU9~iSXl4@5Ktol85NVFnjlOlPOv*RP3-lF@)T>UWh_Hg9j)6ZtU@Q}6K7-_ zKyq4^frW%KGy-29FH*O@PEyhgif?tj%AlD78@e{h`ear8Q;i5vorI(jqmf`VY5>%l z0=e#tJm?3l*n1VD)US%vcJ$LDrwdmLO+wXAkKEhekfJT z_e0Vvzoa#j0jS&YbTuW8`@jD6U-0plzqIL*gZGnoKDo}|z#vc2khTLN53BBEMY&N9 zQ_|Jwu;BCa8uuTWBfMlAOID6lgZsMHw3T~#Kt=#F}V94Gy9O2Q5Ze)90MFN``Vk{*_T;6o{FMpWE;7l9EW4lz!M zLKr!S=LNt;5F<=#-$UXA6UTd3ZGUgDX`J*FQbxSMqoLXe0LYwUE4l&xH6tPcI*|D& zb0#xh>Ga+-k!ofQ6SO}mzo3qEC|Ab_=@cmLoz2yu7`lqwyeh;v&dgWs8daFlY}_*$ z7*&wLWREsl1OW=)PqtR5S@BWoEV__(J#3QXk2 z{!`WYqD`PpQC`p~uWRfYXeZ&TIg&SM|A$w&1nW?YLQXDVb=1Tug85%p}s1gqf`sn ziRm`$b)ss=)_b?+Wu5v{%Dj)b`*jdvl?Y-ibcvDt>nb)eSA=5z+H`>YP8>no z_EpoRHnkFn(C-Ajhn%m1BxM@TDP(~QDQ^|zQrd;qCCvAFQZnjRtAPll5Em?A3?bg)BjN3quwtVk?LPg^NxNmb6BSs^xmv=UMR~0Z&C) za>QJg6&jhDeAIHF$q;g1sm4)K^X5{(Ii9{9s?5#+GTBX%xw7yO{Mz0rRm7cV3S8LAw+4A5Q7jvebzr|s7wDndb5JCTW zUW}b2**lo!Ky6-TEP>&TT{&47T;yG6Q%MCmmUN98K+@bu>&Ysv@uJaDFKjm~;%hN> zEIkj+Z%=@&_i9e|@Oo;6Y<`|AmEob*e{o}?jrR0-xTI>1<# z0Oyvdks%w1s_NxyDx6`Ar2ZG+y*amyws59tk~|2}X2+CHsKuH!H4J1yI(P9dj7Fpb zOUVoHluqFHS^M&7yKbh+sY7{|R5=xF*45WvRkw9;qFP{lV|VTA@q2|O?| zTgyjXj+rjV+)cFA_F43!L?z-ME9a*u&vqgDuTa z8*AO}oz2Z`kjP+Sk>p!#oF~04b@q*irE7^~Jx%VxW1tYCT{v=09M#N7-m9ntBFM>V z5S9hO`v_D>X3i0qUDVu=_{peflqH2nC3xpd+-mCFF^?W4py#Wfx(7Wb|1Qw=J}l#p zr>MbUuBSlk1B{4~Pf-}UtMb`tC;ei|?DFL@VV*ty{Bucnf5ofHf_Vm}$%C8Gl$LIB$=2YN-B?z+aoR6DH6u=x|nkHPYSA)89Le8CcaBeE)s@~#y5ag)OgO3NW z`E<_aUbu#Q|K&>s<7gLxS2k%QMF*yY;p4DptvN&7| zgbW6mD|mJ3$`(=W6g5z)Ww#;KydYQq^`eU~jwGCz!18 zw~XqFO5StzAP_(U`urNY5zl&8dYFK`mFR;Qj2@_0KFIr$YGcgvg1`U$@A%u_{swZs z2!2)LqGsKf@$RBsHxGi?)tKi6)8yotE*x=AD6p|Cvs?oWODdgnWDfR}->`u9jtW0* z%(Z;NnD@A|6Td%`xk-Dv=_{9ziGgzAt_xGkAe`0ovg@4t6bVl{>DyD1g~Vu+b2Ccj zJYZRnG%O^nu$X};YjHq4HULqrep$fr-h0j}dsDeyuhFm+AZWd4ek@d7hxt{se=WLe z)p{fCjRwd<6zUa&UW>aU%-2!BP48`K0TPUx&3J80gHVkXq4oX#@ctfvt zW~~Uj$=5~@HIHt_=6iw(SoiRdfP}2Q!5FvR_O6|-@FYf)3L#J1lt{pvT&GHNL!Uzd zC3!EF`Gt?Lr-`bCw#=a@Wg4p%tVkdomH9x!<)^9Mg%n)^QNy-qYIA@FjC$>Mb2|YH zi(4}1m0nhD95jJ!;~J%F8V1{WdHp`6 zeXuMi74*s-n0tfzOAFLl2#RYUl-ARK{^K7Y0Dt@M|EEYHs7)$8r;Y>L5#efWXfUvZ z1unRF*d|JROUTzz1lWkSIw0-iCtuEQYF4I0Rc&ZPD`FUJ2n3JP+1ar_3;?{B9zPw9 zr8p&6gCT14o$D#-0DuwQ<^f{#FuN^F8)*EXGB)HhA@EaK3js5YhskgF{eal(6E+W`)EbfWxbRV@x9|upU58PuI&g&P(bqXw8Z*5By9|myVj0eif{X$Io8WC(jm<0 zWr$oe1EN-K!l?^w$x~FGQz>g(8m3c9`yQD`vBp_zvLIIhfpjLu>L@k&q_jITOND{_ zV_*8cwa?ZyC7Jf8DqqS~>d*N+c2%qQ9w4-9+L){^k7?(k1UZGR92!7v6Wp}`i}110 zvQ@UV5g5)(`PB;=2;=>AjUI#1LQ6ty@IHz;!PGlp-}!AZ0@ zCO^gRQ_Rby6Wp-n1pAHXmczl~9Q=lj?of<3($-j|LbyW$qYDA265t*^N?NVI)na}r zWv@rVz^SH#UV(7r1ejPEkXC~sU*X6bB(Kan)nHIpdl`soa*3d*DM+$W0jR6cWIGF4 zTPIkLXy!i!I!d8?Yg|+QtL3iWQm$8Bhekw=_e`2x)$WGI(Q@kgXTS|+#$wjbREtU* zpr;j6+qp=;Q#6AnrG7E6!TA1AQ}gcgq$%5KZX}#$V=?UUYGdAu(s&tjNIVY>(%n79B6N-v zoja=qbE`zkBCpBsHhmi@(-%FLwz}EjZa6UzMnNzE&mmB?rT~J!fB(XN|NGx8dx{x@ zARkAm8)R{f@b`W%-TS_#V=Ra(gnKApNL&*b&44!mgDeaZ9x4B4(H4k((dW{Q0FpC9 zb?!A&nb5^xFzdS#c!p1|*)%x3m2nTnTx_R9k0&JGjS zulJtnyVZ@(s;2X*+wc5k+!dfB3u;;MPL>-i683nk;~79$KV$`3=1S@bi_*^4Ss>y9 z)-kTBT7^ge01+VO$Q1;2OaQDhFL-To!m7mE`NrLVhgy%)f{V2lSs}$MCI?67|Iq@n+jM>5_q)p z4tHU|9kVZ{qxnBeKG-oXzK(i}WO*f4S+b+X@3E&*PChxAPyRNFRR$5DW)!+n>Z$wFRGv*sn*aWezsa5`vc(Gqje?8eO*a_s$ zg(fF={xECAMW0VMiA*E3>mLgmy+$op)A4U_cjlst{t@B{KE`yuoZs=pNJJ2@dY(=u z-ysR>dC}pWNSLGRqp+mUO18t-+0`^o@2t#Ph(=jXMXHNl%*Q>Z3o2owoFYkp4u=NdfC7G0 zC!-8v=*l1fppb5n;y%fs6AR8U@{ItYIKM=wfN@jJ1q_g21(hmJPG4o+R6$*p)xnCb z0B;HHlOyQ2z)fYNu!N*R4g*YW^;QDNj)YM?@26S=v$%)`jOLe}tTu@l4Jy@)Y_A?R zu?quCR4F)53+8>u$E2K|_Pt~)ZW8eNEydqWodGw}diH8W%{sl6s+q%hURg4Dv91x4 ze|O1%V2=)zaxVcY^BI^v-R0%kD?4o0wC|A0l1;&-}dW8Uqm-{ z>;<3|u`=`PKW4-=%Xk`IdtH%VbkQ%OYMvaV@!n??L{@Ys| zPaT>zgC~#s&07clX<{u33((B}7K8)aYD_xM@vK z?Ou4!4NsVklY(sG%u`kP>JGSaC|b*awyMj>_ zjFHwR);kIVMpnV->Zul31G6%a0Lt7R?I+|cM;)>t$4I00#=e~I^|;xJHEI#p_llba zLcn^P44`&UTdt4&E!1L3_4kpA{!QeRe+#_W18#WhvYRc>MLtW45D}K!0u)iL2@)ia z6blH=RvwUnVr^YKjpi5&_hQwnX#F9sGRNWYgp2>2*l z9sd>NkQNvS02nH`Qg+ce5z|ifCX(z|E8|<`m>i_rP67lmp4e{)DNqHW1vo6YA#W=I z0OdbOcBsN~_7TMO#y~|$Ki?L`zELWKO8^i60>gI65)Lv@#m9_7sF&OqYqkvR*egEO zaV}&Ss3WRBBAb>fLiJqLejT`4e`o6r6wYu58iMKNO~mlc-XN)^^VmrU~6)L(M+%c%!+{Ht`j;`@A(%YK@7#f+2x zNq;DBv_a|n#hEUz17gQc`Gs;|L7p!({`~<~8(T!(A5X~O<7?wr&@J-L(4Yf0C}gMY zt6)6{wE69#i~d0xOQ&6N_)xN6NHgF@w{BjjtdI650UTByZ6LR3S_D@&sW@R9e*iB9 zH(r%j9Y1Tl!w>wF9eiM*fr2SJsk)&kcE5^(m6c|t^RcpMk786lr1VE*uR^7~$&m9X zJ7&Q-Mq}E#S*po>wz0Lyns@IC5K+%nWA-c5vzRDgh$u^wpR`nwaz}(LY(o*aDN;7E zCiuB6*|}Z5Wd*R@>VkQ<5wi)6x*bCl&U1!}LZNNoU#edKnyB;S01cj^%wIzRIiPKz z#B@aqV4%c%8BqIbu3)w^>%7~feYsJA72xzE)Q{DQg&pZ`gBvCOY=cP0lbW)fTiDZ5D^pmV%gjtxki|6K8M>_Vp*5)g{y{U+Ff*Jv4&lA(M8iVUJgES z_vkF15a4oBd=|;gPy(e4X_7mppCpPrhvbm}%11Kg%@(~l1gxx6-W9I9$i(OJ#g?&3 zi>ipIe;~v)d!R=szH?ZyMdIE3Sb-SeKeZg1S8i%iPNAq*mWsxotVd9TUE};TwVhd^PwZ6iF|ms!Y+KtTlk$=uj=@n1{1WAiF+vEjf^HAwanYC1yJZkL>39=R0lsx_R6wc#)LVSD1?Vz_U1S9Y zFeqDh6|k}3jTzV|VE7m?`yBcP9xpnBZs49@?Tv1|jM@cH4y6!6@$E5A^TX-cY+qyT zS5U8;>~CJZFN5SpDj!!{pb6O#!@=k*t_P0OMi<(yDT42Q<0ANXuFG{%! zNPzs?rZ{#!RCmO4Ei;G#89d1e%BybEw{$ZUU$KoD4JA=dtrPhDH#uxZRfk;vC;ne3e%KYJdX@gX7ojM&?VrWM*}$+?eK z?=)Wxba+15gzeNYP|+M*P5~i3uHE9BwMEYHX?~HG9y%2=Hh?ZmY=?xXbSP4({f8Pc`x*Kd?AP(TO_qP^H&*oRt~V?H>@1bCgVV|!il!Ci z6QBkw(d91#89jhQrLSv7RE8!ZXcQ%}$->}*JdP8}Zeq-TwVXjEX`Nq{XDaV9jJ|f2 z60(=f^0!0$J)!nz}x2R{|0frc+$@J_~RGQRAW9{&g+mx2PT;C0gLp{*?TE7$G_y- z`0jDzv1`|%i+&f~lDLFO`4;Y6?b7nJlZdgtJ}2KENMr-IJQ^|^zi zd-CA`srCGjFNi7Rqlxj98hWW83r#)$2y-+s>FeAM=JO`XI(}SNSZ+(T8X&%wGzHso z=xCD6>GF;>E9dFPmUNrQ0+7>`*Qi!UqfVNTtT+Im9>HLq#K5b704s)EBu+($mt{k* z=1?=0z=i}h%IB(sqCf6E&|y?_ksZ5&kUvaWcs`&=`6hroypY|lLLG17NQ!LB%9Ckh z$tUT}n?@)fP8NP?)tp8EB)K8YnU|h~D9j5tce~ltge%=ZYfoOX@~U$E!3(c}AkWU> zJSFEmmAXvR;yPY`+++D`ycYcvG*a<>-#*`7KmC#UyzJajd>Wl4r{&c0U#lyMOrBeu z{p3}^rT_eDx&c5B+8R=?&uSs%IAgo$fqb^2ZjH^+#J|gY?;2$U;EscufTbxc#s=sw8grqTEvTMJE;03~EU0jOI$%;(MdU z6*bWAI*z(iwnku!8qSB0c2oJCEH|vuEUh!tJ5fuDx8}Q{#u@@jW0EXO#a?_6LA;hn zm5Ay(v8_JYx;0PSO`Y$pHAoGSib&1-CiiK}71`jO(7UD-zx_&1=qKg9JGwSCmK*>A zQ2a%6<3;Z$Y92t1rOod4ZuDR*AHSc!L=6}8uS)Fy7A1hgv@`-16UO>o3Jdk$W)Ug^ z2|#sukTM&Px?~7V(LK(se?#pXPCD_5}0>uaj2+Ok6^wqkm!H)EsElUJ| zRj^(DdOKa?_@AL0 zz=opN2h>flqzS_c^D2wWdWte8)>I%WXB z0Pq3AvIw9j31k-FXcTy%aPtdZ@Ax-j9h-zz)Z<%GC{nsP#p?CdZeEv*SjpxnZJA@N zM?OkX#U7Nf0CZ!I1Nwl2f&`Ll(0I2SLoMPUDp9Xa&4zz#L~!Zw-(q zfXjh@jk*t|2OzM?Hr)=^swegg^|NR@_4D{prM$+&LxhkVGnQTaqFuwr+-U=hK#uQg zq@=V$amWb(RqK;vt3iMUWfxxwr&K@-Kn5aE#bb?=oo5n20TlH5AjVYlTAu%(g!2%J ze*s$;;DHvUpDeV@yjQgqNe6{o}Iucyvp(rcbCBA4wR z(zR8_Erd)>Sf79foJ%~N9+;NT$^Q*`{s!8@p*QRGaD$&Sf!wx(^z!iG`NrW{S!>AO zNqSk&>$TKl4D?KMr^|Vvir-BeM^t9$i0UYvr`!?T>2 zcw4ibv{}ioIyC{2wc?m5!~3P!Enl>~+GPNr75FITVP2(_rwL?W!>0sV0AQ#$oDc!z z8)QpL<+utUgaykuMxn{8GO2!#C5>9P$`K+ai;x_?FI#B!wgESg!3`0*)r{>A{W^Cr z?qgNaA1KdaPUE97((!9enoBkqJA1oh9zO-#Fn<%sfd#xeCsP2BeN3Smy7l%<6DcM- z?^*!mVH)5JB;W7izb8|9$uu2oyKB&Peb&(iP=UPz^yvIPF`o~!-{_JrG1eck{b)aY z$Fd`b=3Zc9D?R%j0EEM&)9J9wsa^DYftz1VXX!7abe=qZ4Zy)$BjEh)b0b3*(GU?3 z10bYx#=J<#v$Qe=^;@pd~3}Df1;AbIRErLlDPg5`W4P(}DxYb&(az@+^L<>hpjO z^RtxMmRtmpCM6Oy5CS(TFCumg6MUgi=-C3JL00q+Z(VU6l*;cOsGN&9zGcF4JTd;A z@mA~K$!*XcEOQ;1_1rjC`-iq#*oZ@00k@i*oO|T_E=FZd-$f>{wz*3kuq3mi{4R^X zA!NTV#gaqw)8z6j(Wsm7h`AEvzC{D~_VG3Bo9Z0{{TlHI_PAV=SOS2<9qR&VnC=Hbwvdk-#;rmkQJ- z%`LtP@Q}gPa+x6p=}Sa9k1S8c(?+%204Nq6CETDB4~v)k;xLTG6;Qm~01t-LiRR5m z?mS3-^X>H^(e%^2nf?_tqhWanqkO+7J03Hp`VQ0NWN@|& z(WZx>)`cx#>@!6z0N}N*{P+?H|Go6F?J4AkBkd?GIPA=?wl>_zY8S*HErnzaKh8m=4Rz~*lxHZ- z9x+CU6ybiqXA}PbtbSM>Tq*7ikNdcKb~ls?z#gTk4$B*_6xnA_T)YrwuVbiIUzgyl(&Tls6v88HYMSwA?ZrR147;bHY&2qqFBC3 zuf8_Fq!6k%=CS@}VZ83r)-_rsfjO`!KY!4_ed=L2O`jAm)p1p2%^~FoUpSQtGnQge zsXHl8U^f-XeeX*j{?*4lngLWZ-^|5^*K4{4a65^cH!j}Q{H8o7=ydk^HJnw>u&GIF zxuH+^$-32PvGQX3H1|_^>roe+P(!AsLjZu7thQo|uq=y-*z&VQTh-V<^tP4au7+|_ z;d+~F!%jH6-ZaAfCux_C-qHOuNWzZLW3+!&)!q5ARe4*~7zg-Rg;-Dl^*`K7`4Ret zc6gXrmgV0Hw5s2{(R@=8*l&hhubs}JzM((F%Z^aay)Z!4Gkl#a+TDfrQ51>VaL2pw zdpiF%G_fZQfVLd73-YY^^j_-o^C+j^G5K{`_XK)HOCPUeC8Wlrh%(p_vM|beK~YYd zoCgZ#QBUP&WqD*2hj2jH0Vs|tH~C=QIp5wn*Bh`Zl^4!GB#%mY-Xzb+h4~=#!91h zKy}XV$>g=K>?qE64Q^n;2USpRA6W)5pN(1$Ay4@Oi-Xz{!$y2Fog=r5tZQ^`J0+0m zblayhs6XBw-_f@`AL|wtsG5kOhVK6OHm$MlKdvPb*?-iq0Ntl&`}aj(M4hAQ^;BwI z1@bkq^xk$> zW~Im3_>h9Un4VwijU0qou@{omB!d1zI=MI^K=LE8#+)_Z@{pC%{2&!FH{Ft-H9Kj6BEh;w_|JcC zYWKH%@0|h7z{V0n=>yf*6aobT!~ko)ww3a&Vt@!CnT+K8qxK^RY2_=oOn4g%(u#w8 zkzMbIi(5|^#}eysMKsjC7H;z=u*beh33?!h!@YP}ftc-f)Zm8l?cl!m8RS#ACP&+DBqDW7-J4v= zey;9=IhO=Fiyn}tn{8~w|B%?a$krv~0#@9)lkj-J6~qvJTV<(jSn26`}89~lF{A&1yY8sG@Z z;y^0qQb+Fr8xNoFesHzfGCO^AFGlT7f7QUjVj1NxvLP=o3dAdJQ0V!&RyVG=L;*MFvC=0Yg0^6f?L~$4gDeJDwnK zXtAVK4xyk)hno__z&e&xF+CvA}){lk9sRX3KQN6s1h)((O4<9GKtideFfR! zW{T!RqWSB58ok;ad_5t`gi=7)t_*e&b=tXkDXIlKVXSWuZr|RqlU{%1-XR@n5-M(M ze&sA)N)1EM>1H6YSuaM#h7Myg`XN1R12j`1AJ9~1x`dINpN^zh=Xk&8fLnVaK&^wryi zX*He0WW~Aa46!;!E|&6*BM25ux5hwl#k#Zu{Z7bD0mI zlxpngq7t5%?zv9c`t9Joe2&0%=*n_YaBmY#&gBela9$&Yrrh3A+EoC3oNtrAUFN7T-}-%9Vn1>db_d2N^1097H>JnEI(0nq{A z#&S`ez6YJ95mv0%_yd*YEcz)mxiF1|z;C8Uy4NG6$HA}H(Wt)-MYoGSiME;$V6f#o zw-Z^C5#UBMcL;qm2X+%Sq-w(?>ogJpMG>1AYrv9DkED-?u0FNeBy6e%P0!HpTkTOLud8!}qKrd-x>7Tdt>L-+uizs{%5=j}o6 zzu0D}c3V#@^!b>{#@2m~i~z+csOV+G9wn_Q3^c*mgPQ<@EIc0A0*brBxEJ$rXaRzh zv_4bHoK|+|IC%cIS#z8tW_?$gHTjDSN_khA zA*Ppg8E_YaGS8JGDp&-F0)ZQOz%Gd_xQ)Pvb{QQltWGgIY1{9;6n{5;f9Xdh_~t?T zFH)}u;`sAy&lS7o($@i~oi>ShG^+kwK2G@VIn~WH{XQ+voqNxFX%tN<%7d!LUOS=r z{>x|y2t*NLBv{vbHhCIn zE8?d9&HX30vjCwK9)-;eoh+N2c3~i<^o#rwdy`~Y3p!r_Fc6 z*?Bq@=`RF;6j(LILhd5y9ZA?&x;N7vk$Z$?BHfFAHx)&26MY<}@$FsdsNSZ_eI%7n zskt5!kN|N$rW=Y(mA^O9^kU6(zi=`-%FzEd7Ro=R0x!DgqPLJeOzj8CfBk?gn^FFc zh1HOcR#e4<1%9otmHqSG(@_O(?TG}LW$#-Bi|zNy4+^F3F(kjIxgp3M5??9ZNV*{A zp9P_w2Do5aJo$zh09MM==d`faKFSsv>6d7~nj8RHWv^0EMe{#lrs0dmmq!8#=Zv~2 z8ZmQ{@D(El1@?g)E|K}`2JtF}H&v*_CpWQP1_JEp zs&+r7Lt~*7sFOjSIy`;2_*l!JhB&;nk)QuTZmbnR4^1=yWFI1;WO)TFI;SVT!6;I4 zEXr0J{kEHjumN(I$1}#|9Ut=8)XO_Hbf6f@m$gUq56J$vzqdD3yOzn$J*f0 zzpf@8Y=0H)KppPCp8C1e#jg2SH5{|Nz5(QEzTNPcj|?O z_n4qxJT|E=qA}lilKv-%QJ?oGf^;iN`JI#_=?A9t#_U+s4v(Y&^R=v1p#o^JiK^7d z<1+%VauBwMVz6=$pBPpf>`ryVy@6S6oZ8+&ggBpP05&1&q zh63m`n?;JwJ=*mI=}1m#2AoSdiUyVQ>421qgH4A}SxX-D>{^}eYA3p0i?{V&R{`#I zo3dyJJgPyR z75`uwk2*Ik;?3A6Pgipmn-rrg$oxHxio7s!%z2#9vFd*)&*zYBDqaip-z3}40yH;0 zh1o_Y@kcF1FRP(>72{|(`NXE)PsazzFIHYI`XWN}%Ob96o}w7@bmT2i=7xy$Pm?yl z7OWi2J6PtP55dZ|i)8o?NRtlOsGGjvn8e?!n9aV1!u*vaUm?3pBsUu)% zex3g7bcY$5V#U+tPa5;blX3FJs~XR*G4j{K`IB`WtF+E*<;I zJA;T2qm{Jn!&#NMm5u~8bl#2C^)M-|P)#f$yC{uEc@t9yAR;jDKU3LI(nQlobzP6E zZ~XO0>7}J#=S1RXkdQH2?D%yIm$mYd_)nvQsmnRROG2)tn@Q1BIFBAbDqP2t7H3$_ zZF>$ssV|+y_hu)WMi6Y)rcWG67hQDGZ>1Qi2&(L8k$2nth09ETSt1;9F;8zyeYD*C;EuxJiZePY||BLJ_UjAW@WXLNx3<+Gts=Ns9Q+J5CmuzZT@M zKY9vGbL&hKhIB{|c(5-KvU26`PkDT}!F*XtygF$t>=B`6^=TWf{3U%PV{f{Xq;D*# zm06z3w>D4j@p!NzH z@$^NiL+U3!!~2RczphWG*aZk*NfQ}6DkMQ&_omaiXh7%G-#hereG){@dk7&=20g0e zlf-yOzy;90(8R=evwDDf5`XqAkf&6YNdK42nHODj(E%bNpcny&V2x|>eE=ZmCaL_n zGoYV#{yQgTG-&VSPL$l)62JQ?Px656`9rsZKKi4Iv*KE$2v!*i1wCuSu{im)i?aE$< z&*Sy}IrJPpssE6EHDmW%>g$(MZz9;3?;crOm8GWY1AJ6>0lvwutTtpuA3^bV<{=fg z5^9Q}J>RV0bJ0Z?U9^vib4C6g31arcQFplky7NqTer}b);||BRB4)u}%)c9A=kSwM zCHHWr#eEj?>%S@l$<$Ar!;d37DviQ1*)^uK^RF22SF4<0vKR^xe!`#Z^F=5`lyXr1 zJ4;jvb_75mzz_iQI}Df|kHp+Ca;o-6*k;r(y0FCI!redFJ2Ry7$bWAJoDJVc=wT?M~C(M`F~CQKX3Z`hSh#R zTh%u^K&^lz=jdXw(Mjx36?#hUk%S)YKRqFTBlTwPHH)-0r7mX-z|8Y`f<-WOEEfuF zR}}GS52qO88xX|}DjeF{1k_ox-gr`Lhu^de3Um%ln5KTY zK$dSa<63Y-l^^vBqxb4Kq`ukYwr;vrAcvDquhVz;`kT((W-iO%vWBL>ZkYC!th#_f zz3(Y&d*oQ{FU4k@tt=>w0pd(V18Bt<)v2mlCnyws-Lq77;#VwPwD##*zcugDqu7TI zK_06i=NkYqsws1mHUiGqZ-$&zdR%wnh+BTwJ+4Td_ExE42|HkA%qc-uD&`jg-*3bQ z6TRe%j}>gg4C~z2Yo?M=!*Xk2K1n{_Ro2&2DLslel1DMFc};qCA=sXb01n-pD| zvO>8vitQX>o6SVrscYcI35O`qB4mXDz0UO*^<_f=CQR;#axgJ$bb78JY?XQ)uJ3p; zSEQ;EEY3^o_0UHZt*!>nSt%Zmq}{XNXy-=+LTWI`PO43{$nRS{i1Hk$j_7Ta&+i&u z8E2-TJl84?g;VBk0vuxuanu8aM`=6`&eA=*%lFhAJ{9l~b-HYQk%uKx4bXxFC-C8P zIxKw-cMr-Yw2Q;dwC=M25O1#B8GUb*!%dZMMiIwPhyW<^k;MGXT~{PH5`os3-=_Ds zD&UHN+~xF$VEZU-W%LYq>Y|G-`UENtMk#6~^MK&LO`foGo|2$Ij?E;!dCx1f)!=)g z>REJ9`1e?t&?QcD?AT4e5&=Q7=uhCrdcVW%c1yTYZa94vYK+Ir;hw##@*Y*ivGIg*{1sNqZH*6jo2 z1fw!!Am4NcdB8(XY{o$R;r=bYtytpc=bT${oPv=a#^p-0OX2Y86)<_A5qYWTB; zXxVuf-ZEqRa5BUoM@p0^LW~H@!j^TAtx>WhBG>fXfhZFEy{{_Wo8hq|AioUFxagvb zE)rCIa6H|Dqmemxay`xCtZ*j_K!*Q}M z5aIL?G=KL{b1cQEt*Qx!1 z$LQPy_R{gmA?bRLZ2>&n#lq$^lgH#(N_q|vP~*qvak9{Y_hS!j&v(|knd_6sV3X3+ zx-nBDR+bQ7rpue=jXF11|6wt%K(r_;zqF3uog-$y&b7ZDBH1&!46Xa=l1Z!Dw{ z5Kv6>XFy>;tAWuE2bt7k|Wr?=ZpgIUiG5BdmCb`+b4ias&3)krvw| zLByDLQ9}rwTQsb47=b{aqn8SR#}krpkXil^$R|%GugPX*O#&Uh4S&tHcFT5$uPoe? z{ZIfdb1|e#P!EU`V22ae11hKqFYzG+2XKgi>p$~q*+_jq!x^MkIFSwMt{GMFmU z#G>G*mg)EUEgFxee#o%$_1d8uN?NcnAe`!Po5x;=X4S>5@;_(cIW7Sv+Rqi1r94%o z{&t%H03ZNKL_t*FR{wbg4N8HVAu4%I<^mAy{4<~Ej<3#|g#fOv}DanH?j1E_Uq41)My+o6r_quT7SRV}uw(*+9zYUj@jKI0zv?zyKHm-0$~d z>7ksAc3ABeuSeD&x>t!GA?IFn(M2CldD0`wN@iU^hSYq2Y$4ntw9j&3cNb|^3^J$z zkSBY}N_5DeP8=#B)7-sn!Zj=1leMhwWgkI1C zH=g3OZ4Z(ASg2EtE=j+!y-3;`zy`7k`zC(2P14%PBtj-k@zJ9IgnCu6;#v)>6eonG z00kt*P5m1)Dv+)gZJ5BAZ{akwYq%)#H<+-wtqyaEU{n1bNm#J-(e714~LsRLx8C~>y>1yAL`V=Dp#hCnX#8$AJqnSQ-VE1cwcVe*a zumH`AB4#1FEZyuB1-bmtZA z+|$&#t=G;G%31cd@S7;EXB;Vb7!VM`>!$r(1>BSD(S>*)jfRJx`*Zl}j^|#4DS5*l zshVTJm81GO4AblRrrh^#h37Ga88)cld^aByVFn|R^VL3? zoo}~GazEcpM?}@v5QpQb4buD^mH-Pau&!&#^VXz)B5mD2f6+x3y@`(EjjtxElet#v zj!8(PSkHn^Qb41$N+g;;Lx3d%8~_!;PFG`CvwefEbQh6FCCOg=cJWk1BHUByIq9>K zbid!r0-GF;hGKbIF8E!y1O1XZZBwiy9 zB>deuIqlogHM(&GeoIfWR_d;9%^M4adK|^o0`(6S(!V8Y$NB85CVk2H``^IO_pMK9(dxD z;JO60XAcu&Hso=7TtD05U@M15IXG*g{Wkgx&U*lyef!jj^dWjM=l2glMGT5^vSnvT zD06#LtpCEWyu}1?g7W&}Eabfu%zI4lcyVF}a>{WSA;6kzqa@wYGP;1(-WuCc1E;k8 z(L~Nd=$sCb+m#~0o$e6AqRu-vy9vDT#%Qj=O?4E3AOJ$7SQhb;P9wOQf3qTx%rvn) zvx77(NNGWs^06*H;=<}2<%AJZ7pprxwk}ddNN0^Lx91S^GzwrHUhd+?!56(>12|6y z-#KqittVTOyCa`*i&n83)zBmp-e$1XrYa}QIW@`kD`Q(3VLm$TSBqrgI4y{E{V4p3 zbKMAOmyeI7czF?)glcZZ@kXzdJnpt2zhlI_?mlidLtWFr`84Z%Hi(wnu^y+f7qptX zdqgfl$i9nSK@aK=d&?=-AyuC$43#mkl~K1#9RgmCBvkvuY<#=K+IQW+-si3E&+oDF z*_)b?7gPnVVH;4s?hG0Nzvg(p=VQza)GkZNRvh{2>i~H(#$S2nx}Ej&(H7*aF~)Or z+C0jZ%!PNot`Wr~%b>1n1k4~ufEZH^-p(+g+h352F1qNVmUwTtn5kK%XS zr_*LFdI1XmZNF>OMFdB<<+xs&9UjaJE5jF1R%h%-ce5CSTJz*gFvbrJgUMA_F|{_* z)_UJICT6+m>tZUKpvk{RCjvun&HYK_=*wt6QAY`XB%dJ-D{Vs-+Q^4!Bfx`BixVK= zz3=e@E{<7X+6-zSfAi*Wn~`_?tj$8;glzR&H^-7386X6Pa_h!~Ul9Mbu-btXcS;0$3v?ybg_IVt4}4lld;E4<|WkM zM@*looaqc8I%~MyW(3Ak(&<!CaI^ghhL#KnYhze(~bzi zlKl%X_+nw4wro&#R2+^EG;tea3}*N)KzqAu?F%Qr4oKvtPVK9gP&2oY`qST%ME~`G zQXk47K@s6=Iy$N9JQ9@5?n617{bL$*=_jCiOSZc5u3CMB9t9z+4}vzmaRyt}vB}$;BvmvG?BlgoY(FA2*IC$cy6Z z%MB1nJ*Rjz{>kdZ_(v$syG-l-lfFUTLuDiq1 zASboY*>w4;S{c;?)vOG~!UW}8dRjJ61x{8YQ2=sSJO3kXX;>xuB&Eqs>i}6uCxqM~ zlG*3+x<^@c&o}R&Q-}5p6I+t3d1?DY6^u3DQTwGxu)~i8-ySDl^O2^`^&OA7I=AjS z?(rCZGgEnq$2u!EB=lH9~ogPVT8n>j;hF++BUaR)=0#c=~t_b0+4YR%AHX2$$g8T zc}Jua7x=&f=4V8JzklxlL=ct*LVzc1h-87Ra;3gD>se#kyRm~r<~P44m=NY<+iiuN zNoA6zfM@|2n(kW|#+f!ClTKD=En})a;pcd$&p6140+{4D>0}TBJ8_6UeRH!M*7z4Hc8hz5%S0RIf^c?Swc^^Xq^~i=e zx&d|V+?;EK6{<(`GvheaZ0p!-?TcTZvfC-=QHQ%K1i^A!%EnK*CiaYO(k^Zr=YTG{ z=%UxrlVq7uvRflxPUF^@=JCbrwL)8uOABo1T}3F0WmU4W;+x-DA0&MKP@6YyF!4cD zMbKA3PmfVmwDUihuZ_L05W*c0)7}6J7!;|orU0lw0*V);Kh_M}h)yjTML&ePFO9V` zr0C_#n50cBVSR-N0RzMWG!oqMuF+}Qn%LN4-wv)o2X%*rq{iq0w}Y-_hl?)8`SZp@ zDej5f3A@Kq!Csj-<@ZN{xTL<-IyM5S1*SUFfjS=3<%RpMMcm}vius0t06Md?+uKWT z&Vu9jl3)1eEL&%+D?X6i4SiAp{^>6AM6%8Ej(T=)6D@1qftyAfkQTD9lH^dl3N7Pw zw?fQuHOqUy=0{h`Y93i8a<=QurVoYy7}$ctZgX5@=&F|9DK-1<1?E9tNfQ}7 zIsFqzPWD8UJt5bxCU7Dr$XroYM)rE4#60echD3<4DYD+4SIz;cywx}Ge`sQd(tBq}U9T-m^GI-phyQW6ymWaW;C zAPT1%zDNCP*2?EtDUue%h=34b&DI;$JGs1`&C`5cDP-F1N^>*?^V#D39&Ozfa8QCc z2uRucJ6oibdTe<+^9aFd^WoVOtA`bP4Kn$TfZO!wJeB$n-`$u)PRJwX7{rya z(6;l3L#)4sUbn}xr$s-c<@Z+37i?I)ie^BLcUM=J#|I~$-bRCKi|8HWpNBgpy69jLe(+L1ivf)-dw1%G71>@_8u*`0ZynyF(wC&Ap}4wH=Sox z-t3&eZLjKaa^b3?p!OoYuY_`!pODQz3GVA1;D3;gYTTCMcOzy?2R4OI4m>@J15mw& zmBr#A43b5Nid+0?pzw8&#s&`$f&^5^IUfli0*GS*RPX?TlxMjHwqO?3#39|VvY0(@ zW{2;s=TB-&Ul!K?G10d5zI*wyFT627sZPZecN!6?QcE*NU8WnZIE);Fc4pX|eV#oZ zZwj6Er|gsD1srn`hRKFeC7JNjl7J%7m@ zp-taKjawW;rpeluPS~?*r@x+`n{L+<_i#pK#Q4c=RZI@ptMBLcx}#f7`#9SIIY@-t zlgoq#yBQ*d+UV%u&#Qi5UiXD_dNAu)clp`o;}E&KG-pT4>ys**JOap|IY2;wB^-7# zy0i0jzCW4A3B997{$BVXd{J0))}AtD&L5Hqv^8gL z?p}Npfc!w^e*h&ND_co~bcJ!gab7vek|2WzZd4cpfRC#r{VX>|*3!}TgRHQR`XM0z zMaVuhl46HM1u(1Wkr0fu(qHo9G6aMr+)8IG4#33tJk+W^WKfb)Z1<+0Ejhe&d)bw& zEOUEH_-1gUp;l#YTW_SD_UEOlJay5cN#6ETy(&-xXGzFKSQfrzz&hK_@jJPH?=1CR z>W`;`UE??>;6r!cLTH{(;{N+8q9r+9O$xHjn#sV=ll1**I@lid29eL6sm{UsMvd%O zV71^VQI9t1d_3tB?4pa#rDtLE7rl~LS&T7?COu}nyw^;R*UKZhdB;##pl(gz6>MMM z5S!yO*fGp8^ZDS6`f{X;_T{y;E%;KZZNh!D9PuzfRb-1CDb*`|xz+=Tc(r~|_}5^I zj=Y180PK;o*iGg?0T%#Ri_%xBPwrrotX3-dR6iGa4CHWZMUl8jM{s(|A^@agG2$4B zhZUsaV>3NBEk~lI4iuICzs6*!UCM=Z7*3bn&F0p(gxi*=ABDVS8$hrT6$+U zpa`gqZ?x0?rd5C5BJ=Nd^~jFnC(6f83Vb8LI`+F!+fTPO=kc2*gm0IM)Ev_NIE?ub zI!AX2>o$Z0B&i8k#_n!L_D1+%G8hnw;{eKvu{VFqG>&5E;`wmZ9soHANR=0WL63H` zVv4&{3NlYKSrjn`L=~yExwC1J1(y)A4~|BlpPV?3&~E?`zlnbL^8F$7DOG%6({PLR zmygvvK~%?$X2-Faz_EU7xUCA{W)n%_-eqfMh0J*wVLI)mSH+1vUhDXf0FD?ThEVF@ zW%N%^%)Pel^o869@9Q0wxBy0W?ny7! z=w_3$*T7L1-vDfZs}G}gR+JzPsxbPJSUvwHsG#jzDKKf-bA!ga`E?#G@R8F{%}@f! z4uR{~1Mn?3bRh<;ysSB&BSbt)G?~>4Uu(5-oDMIwuPWbB{&wiK&t&5zq=vLuAZ7|_ z!tgZyk>xFxlM?(j3nC_2VOA#~?`8Ahb(E%Tb{cBs2_}9kz6j?_xZla>Ii>wwvh;gq z@Gn_6K8tLn{f18X+d6{9S}CU6R9Jx=N=)9&GPlA#-W9YUUHK&7$+kL%jAjSgfHc*~ z!fWYwP0W+D)t|r!PKg*WxZm%|Pes`+*5C$|@J+|oNn5`XbvwP}tn@UcRM+q7wh%~w zh6VpHWdAf~EJ+|H>4pIiLv;iVNvB*0~WZ{eoH;#O7rE*Att=}oVBU%zvYMheV z_)32k+)m7^*gQO!b`8yr20AswsRepj;2g&z(4ADLAm_){N=D^W!ytgwK3)EEpW`b6 z0jSKmz@W@HyNh;^SCvOVf={Ua!zZg?eoS_!%Gn$o*%fC7^T{&r*NM=d(7|Ttfb2z( ztVkP6(e!Z!-%#0$sO^WhHgwzTq(N$xEX;-rBHZSzH_k8J_sG)UGD0reP2bZAKaQR` zDwO{XN)9;Zn`r{%=q9$mGw>CLiUVi2SOOl}f3rJ^oEev|V~*rOnilf%W0f}8 z!{tC(l;8SBIy3U9Nt7vr8`W}y|2lack^J5KC(}8a{xkEw2tdq*Cnfh}62PsO-xkW$ z^wALlK#aW0+@|`{qbVLe4dieV z{?g@zAYI2w>k1Jg+~N&x%dG$istrZ4NhtV;n67jMC>=!Jn$kdEqPy5{SRPPWE$~sV zq+BM4sN7fAb%hw~6|g1oTn0dZHOBNEZQpKz8^f)y#hUIuG6gQ3XUODVP3>}N1K5IZXPK0>JD zi2FDK6p)d3@7T$6(*E*bL#E+&ksdMy>ENbWn+CW(hQ{5b}tJ|mFs%c5DIB345c^_qs8)4z#Eh^{GhmWZ_ zdN#s;(Kbn;?WK8s7CnQd$I_gM?SK%)|Au@Xr{(JlQv8tl%s?dQK6|9ynVKoNEIh2h z<`mHpyrI^HGO_RE>Z?2_(MR>~C-3GQEh{CEBZQEAr%;4|)n^4;Z&c7CgJnb+_(A}z zy;L5pXu%BwnB+gv(fnBfjFBCJ=3^$9mB4(vO3dIz(ehFFQ81tk0ThL? zL?vd4QguL(3i8xf8Z@%M-AWMIj7W}MDk#7tNFw?7Y{qTh8uhi^php|E37%QaQH$9@atFhMX>QC_6Leb5l0Ooj-*OY$#DSa@O#G2H4MFYUkX~o=W@O*A>Ej1-xMcXvkYg zkn$}-6ajH*dnE$IH3}fC1?l)G%>90^$5FWF5Xn@LfIxibEr8NaiGLR*yOXxdlhoHc3TEcXRo|_a+-S|y znwL*j!dFSzeK7t_ zG6~Uaffs5iH0cOHgNR^VWA+2K#c;#y_M0PB#7p*r)hpMv8EelZ4%85z4{%&`(MA6d z@owoNy#ag(~@H_A4_{wmUkrdsUCwawCLrdewh6{kGY3hVg=# ziS~}@x`_cG<%IpYa{LY-?T*?T$;<%^dK?n%zDz0S}{a9J&FqlVBkBkTt%W{MSYvwVs1&HvQ;qBoUpn@0u z2()6xFtSBS?xV$*1#c>4o^H#M{cnKcqdG?wnHe6+*eF{sY~7^ADFuc&)RfR3<8ge0 zlsLm-(E^_KC>wf>K1G)6XD@UP*kD=7@6|3Bf@pIa-QlS;7Qq})akTz4pS@!(%d$XN zmcmgZjPvl>$m?6Nk<)tB!3ua*y;VTA1-53_W`I|UkDt1JeNoT$Se>laUMb(wDtpZ+ zMoy+SNjk>n^p2#1=9kY8dGqTNsfg12L(B)|m`cM#mAQUDzya{sw$77j(}~rm)0eZ~ zrQcev)9KNQYU3-AqZj%`W4g)D|7qSxD-Nr8NR2BgvnU-(N*u%y?nZo`4{|(Cs{THU zwNog@WEy(A-Qae+CA0n9cQGKa^#%YGU;%&u1cDe>D7)fRuR_LRHi5*t^%uh|3&kw#5bx`Qb8F0xB3~W z{QVmM2h%m4FZwY0UK#8;oU_BEq|AxyVsn;7jD6)eez2(eq72IAO3%`bfSsO>>=}O& z$f3a@%hyP${A8lycVM|K5JG^TpPzJtN~X9*ph&RXmUP4-0|)^_v6SGx&9|FW7@;bd z+S@`N2UI}|dn}}m4k|aMV8G(2x4g^$K|r7wOU?lh2&n*T#eRWA6HYc5gEaP*6DaA( zVqr~N07C2~U0451{z3!Kj#hhQmHBGfVs@)K*?>BZ2H*k+>fxC)K0416^)^gIediBT_j!eHYS^UHVaWsoD9Rdw-J$-@Qs^2XJw&FiFL7wka^_}!>cR*b9&(cm{ zM0YGObkbnJK00+PYa$Kb8R|x=nXm*Nv zVgNY z?v9%}YK$@6oWO4nn)vNvX)~}@|Mp1FD0Z^}An)3)`CVjZ zpNQZcNeK;lmJ(D#6q?1V2t}Mu%DCvBn0PEQgYec4+?SQJQXz|kP=qXbJO)%KQ9w}v ztu=~I)cm04-KeK|>2sS*?-5&^!h9fEW)c@&oB8e-iQ7cDtpye(!&wWOW(@9~BG5D^ zabKyGZm;z&-A`t{v-l+%MF6+~hT!yl*k7K1ioDACg!%Ytv_74zP+s&Ll4iP&OxInD zPRN!mgOhJAf&gYC(2*<78gg67Y?f~nz#>6{cV0`avvf-p;CREhxrXXRhv`}qchUz} zm{2OK&M&w7I&of1R(Y6Vq&jEBY&osN>-C28%P*!6?rjgzfBy3y`19uvgb<2zQ8o`< z16AOhX*3D^h-3ofwITEq^%<~7C$RZFY~QmSxLG{$PpQMz4Lq%#YX31tes1zg90_Gcv zmXNHXFk3}k^l#8FSQamO0ll@KoZ)k0YN60s79UVE z83B+0NpBpkEY8IP#GA0*l*Eej$L1jv3oid6+yh*OBV%>gk336TI`)fHGQJP67y zE&&lBALmU#Oa>IF9-ScuO+)dT;T4{v|kN|;JVa6e_|LFX; ziC@@t-NbF{)5vXQFNegdDl`3?M^wI@K5fqY68g8R?G2?Lf)e^mnxFMH;?d(N&!#eI zZ(Q$1SwT&H7uHh7D9X0)c;q{v_A~np!5mb-t!&N)9kPl)R`nA*N=p(KBD*IZujDsN~3(6_Guq?>(O zr<$7By2MH*D8LMPL1?ucX+bLuP>5Ip5HNoR0yr+Z=-1K{L5(eFc281SQHa6}o}g7^ zG(LUaRJoU06|r9l#i6A1HQ;WmnKZoJNb){BMvw1M&TvF-dwv302VAj$73r3S+wBK_ ze$o}NkqGYhzsXu7N`<{$Vx_|V_wQc-Ah`YfWB`F+T@fNhKx%og>C~mXzN`7=T^cbs z(hf$pkK!#7nipNl%_~$LM)D4k)t&VfvY^8f0168Ni#JF(q8?#(>O$79^k-qh)YLlE z>=tF|Pf(M6SBdwpv9@txqJ7I#XDU!fO;Gj(Q19C`?K=XQ6o5Y_yFDd$G-8R_f>Q&s zY^ozwGH=x3i3oxMH)KL3)C33LNi$RCG)Vq|^Y4)Ap#Q}!{14KO#(Yk@pU*&d{h!U| zq=K^5sp5pHkEBL^b|w$?W(bz=r)F(2**7<)G$|PAo7ZQ#z#xhnswhegZvb+|2>1I6A*T~UfDqU!f|wQ6 zXUeWQMPQY-_}fsqW&U%7a$`z0GfL@a#k9&ZzIMv>P{6pJ-KGI9XDi!OQ(Jw8a!9_PZCG{1lo zWptV7d8y5R^aCK0S=Z{fe;435x6Lkk6J6^Z(+g_iDOs?e0lRC=D$wV*a6Jl8d2O5@ z_3#Zh!HI7#ny=0=B|HLTjM8JGhZ!s&0}((#xGgsbA;7ZS%5jo)O~*-MTnpg9O1vyx zj}^@RJpTUge*ggR=jTs$mKc+sc#RRbUVri)j1P9_ygFux-C3#e}eA z=)_iYzzjH9$~g|GX2k-MVUg`J1OWmfF?pMB1Jts2PI@*%RmMsYbu0v zY>FLz0sni+r&q<2|uLvl&Oi z_gN-PjK3A&_@E8RYtp>vOX)=&_lemMP;t_z^ZMLD*>Hxfd7Y%uJeTHUY3=b_2+c3Y zQR@egRJ=n7<(3p81~(G0VF3hyJ?j_2x~>5K`wIvNfByUch5)p#B7}_rz=~_gbyu!x z4G76$t%(!m&U;oym6ppfl9Cv3amHQ049W_GlM}yVWH3ZqsFW0>We8=6MxL)J`P2$l zjyt8r#sJ@{McxB^NTr$UE)HUt$SQwh;jzKS=*ANh5CF3!g#p31uK-j_42YS3wDl|5 zR{LKKNjZ&=9i<;T1Zd@}WMuuq00zQ>n81xd50OmlBVHfz&C8l?T$D=)U@ohxi z9~WITOFKKxX7FPj@g@2$0T5EY0qvyRPGS5>Ku4Cl#hyrhoxt&b*Mj4si!S;M%G-fT z86t6gq!8NQLDOdDZm_D5HFJDUS0e3Y2lkiRD4)B`9a(ur9HHbTGx#MR9|`$L$_g>A zN@-7ed0J5svjs$JuOq0&14w|$-@kw1=jT>;>;*6K+2VW%kd#UyKnxHE9bI30Kh;$zkTeS z5&y9}6&Lksrpb1Xk53cyiol$Od`Dpb`10QO>H6XSKiO&q%Ky z(G9b59}pqrn^LO3jbyoz`lVDR`8wDP$PL>;E3Ui{uaS?uL>1O$5p}=ekOcX72SEdF zNd32XQ}3kD3N7ZNFKe8)Sm0ZP63|0MxG+W#B1#puSh@BDqw1Gr%LJk`S(LApCw978 zf|vY`4y1m30^U_39oB0Kwf#i;Jp(^(zM#N{`Yvny9(bVYSf^FhOUEjMK@Ld$y+oY= zo_ml3$@(`pzaU$1gayJSN(ldd*=5ixk2kI=q&ezX8eUz9yh z0vv%WZwENG=t+hxyYuhT9>$Jzwlg}Yl@ouFP%x_g&oAc2?$oZNj*gHmXtu-5$(6gV zD?~QeC#bu)MEkP(m_|1Onow9IxM8o4{55hwDYN)JpeJfXfKXC796wc%#Omlh zA<5|IW~$P_RI6xr8cpP@ZuBr%O3kYe9NFKcR+0IG+HRJwPQPmFf8oZ(M*bR#9=U0E^CaX&oxePy$ojG zIW)Z?*-c;^=21hv4SZF%#>cFUJLusB@r(w1X8zBn$MQc5NUTQ-?R-_&ng=<3DE4-A zZw7q@?aifv;xWcFf7;}#VBz-ubK0SUez%DHuGBpXl+lLZ#{(P}olM`j$o)!sPeY81 z={F)im56ttd8PYJM>PJ`G53j0hzJm=^tapXmVIs{hoUjYWL?2m7H92NgByFOrcr)I zfcxLSfFZ#Db6Wr)->Ra-zN+COM@RmF!*QH9+#&f7rL6E)kR!1~rMw7OfDTzrr386A za$4Rdzs#M%4L+pN6JN2E1q8U!UPaqzY9+k$PL@x}T0KqEyr012x@9LQx6T$Zz9hf$5Yus$umnJW1PltR4tX2WODCRBoZ~vA41_*Ia zO=Z$@_jx4hm^VNuLVy5drG*X9_1j4v$GHHG-%h`{BVRO6U4`h~{R0s|D3eJq6N=6z zu?A5Rd%kW3ML63sJY4TNLYM8N{5}vLP77Q zmGm0(QjW*RYcSpBLLhib`2~fD08q?;h^i-37X%Oj6vf}$BWrzA*q;*A@Pni}Fjg={ z$42=|#Pihp{`c}uRCNIkSfR%zf|CoDCtD63Py!ud?x;gE4I3+e$n3@&-=-Jt~bXyMPS>vw@0kL5%}*>_l*YFZD* zTNLuwK5lUE%M0E*A|F#5R^Py;zkdzD(XFUYo!^)~ai06d2;O^(^}^gIvpQ_C@k$~P zJH7|_{TOg#4;5`Qkv(E$b~#%@@$XR%|4bH5V%M06*9Gj@kLY&C5%nU{m=vz)CfI7&T+2%$w zmJubDPQ6P$T~NzBGXTdHM(cgmVKPvLL_q5bF$7rG6~eN>5(32Rh&0_Q#OXk>xY{*W zoITfl@N)Dy;6^1MSZqTi`oIEQbkPS<7dSxYnR)?wZ_b-85yjfHJJH?_U6LQZ2H?2p zMEXT*!~2W!UQk2sKU#6_E5Hqavip{vS*V4%*=_^e_ze7Uq8%Kpft8~DyCA=tx_aJJ z+@zr2mK*&1{6Ij2d$|TSr#VQpZAl4i2!O5;7)a^F31C@Zxh=)_2F1Uy#+3uOIaFU2 z2`Fhdss)F}&kOHxV@SXTKs}-|S5|1jlB`WCOA9V%?z?>4A&+z|l8E|{1*ykk>fcg* z4Yr_bsG~-M*K^4H){in@3n-fSnMY5kMAIck5Q#lzgMbzIl7NMeuM`MELd6b8&KqM$ zPJDf@O<$+dq$K8Jzs5lguytMGcDq3cLHNDNDac!<@^2!5bxp^}{z3)metvG{)&N9= z<+eb;kZwUD0-~6F))XE)6?oB$$=M+mU}if$zeA?^HhTCtP?@&I3AH{r9;IiEVH*7U z0?G{@03CgC%1#mo@u61-s*K!4iD#2AgzO**w z#(DAn410#nY`Go59>>V><8``ai_q?c+vq3`yq`Ih6lHlFXiQ%8M-Yf-6DG%+$?rxe z&TUyatyUaTm31}AWMu(*@1MgstOs@5LKZnSil)-{A9^PLL3OPTu{NA5?0n~ zwpfv1AcG$$+bmyeI*E^Z%9Z@CKa+h?|Mc?XkMcMXw@$}Imq6DC-&9kqIW`NE>qGr^ zf{C{XlznUDR`I4Mm6U~hY@qfWy|vf@fC6y*?|=WRb(PCW8_u(-I2+|_5i95c2yj~# zzz_hSf_fE1F*R|z@cn$UfYW!=XpQ^+(tR_@lXj90waUlqL|+bW2ufC%p`h$jN7IIL z{&tk9`s(l?PrlBRTNfXtXl`aQXzacNB-Pz|ZX`o!tkm z&_}B1KR`v@S|wO$wb;%I3M0uMFfYEWrdP9ifDjNOWPbvIAjANF*E>ikK=+fZjH(Wr z6yccT@XkM9CF>nQVa0h&j_OJ_?^-8SEpLH<>i(g%hmh%(awDi)REOMcPR-V7rku}f zdumWd?lw|;RD=PhAqfD9@hxrxNad>zNK2xcpZq;FrOi*T?y|3{u)X^61`t*@+$zQH zj~t1)Xj3RPiZ`L zm?1UD%IzPsPAIJniHw5zzhZT=$x%IWQ`&>uYQRmJEBM%m7WPKfsCQkpHO;1Ki!i)- zyZ|+O$351zMMPMBLbYPy^d?cOVv&?l#%lEfrIP*`?dyhy;isS#tzP79b+K zVtFN5_!1gHUl(2UOxh&}HbD*0{8st|9?qdW?H5^xt=d$8nMvYPnr4IQQCI-X^S=Xd z?42gRpya=p_AX+*@V!?2y^G|5etYIXmpi*}uH^ab+rmG}Isqlea=d$6w$L|Hb|ia0 z##rGjADnhgLi}?Y2sux&DeUgz3Ko6AdrybNrVrba9q!)UtzN5ypOM*i_RT7W0e*gd z;OFND05I?P##+?`*_565w1`q@dzaQ>36ggnpjAR8gAD4il0`re0F&hfCO%_~5D=4t zPA&`YK4*n4QdQ?_*%`QqfRKclbn8j-y8)a|2~BWc@BA7Dli{7L!fGX-8^|Ep6 z@5)aEuzjWhaCD7(z^Dg4V`VY*64PLM&f!!BlY@ArfEqUhnzvN^sz88zj6^%IT|$8S zS^ zipB>f>TQ|s-LktW)VtYHG|S9KF}lXGMUBO9Q3Z_n!M1^NLN}=UW4*2B&wOo<;_aN~4>yYM@JN2Oxu!o1*=KTC-&bUejDJEp(a@i za*SJmsNV;rILAEKlKNH@1oI${jtKw?1e0yn)JS&%)OEoW5FzCEagEjSXTIg6;1->6 z_I$BK0iZRKR&*79iJQYFa?=s~C93|As2mCdOL+NI% zva(ZS!SO-8;-XFZWz+DB=yElT7)TqUd+?9@PP%@yUV!_MYe{i7crryg!1 z^r?OQL^X?#OxIg428x;Io55t^*EqGW#Ha1PZx_dn(!XG}M+CqSl8I&pH)6SYp(^B+ zddj#>SVl2%Miv}RU)M^!j2Qv~MTC1~zZVgJmUc3NtZqwSgZ*?wy?awEBQg-eb{U*t zHOUuwcv>x{vQ}_LDDA|@ZA8`dcH$vBUDbtAnH$ljExh|(z!)TX@kDNHB~h79QMx-N z@VdOfKANOua0QUa&>9HR$;$r(!hye06$vj7=T|Qb@SmO$}h;jhn^*jkvhS@~yXZ_zfYgxr0QzRh z?xJ@$--fjN7D`L90N_!tCyo2#CKvGs#l`Uds!E)dav4VkSYqW50QZl zF|Q*O2fN8oiGUDGyshJ2b7hgA>$pQmw&0m}hWZZjrbt)7Y2Tj*a_p@IpQo~7 z62Q7fz_3(HzzT3&Q_DpcxrFM^R{RbB2iU^Ya6I{VCd!qntX>sc{hv_j=SeXal}#oAla0YM1lJx2A)cjt z*Xg!)&S?7$>A(O0Bpr6@PE$dSJ>-N};1DR#l0gU}IxrfY8AMqojoNr4C$WQwko<9k z4BBzOXd#s|Nz}eLa>acwt}!1EO!CtLM{932d0vIEDNBbEdE1SY6XNIBdz*dKwIbfI74#c;%c8@7f>|KsMZtz--on0K&@#p`ZL zAc&a=?8KmyMMLUE4eSkhfBYHs6UAIIqd~eEi4?aiDV(8@UPxd>&Vtz&2Tzy+JJEhG zY=1ML-k7V(zh%P{_nSO>^%sjJ%RccO~GJpU6O}8>a z-W)nHuZu1^muAdU4@;z{274O~`8)pcbh5fQ@6>7?FipVULa6^SALO?x#d)=EZ^9_g zMZwIw+HyQF4y4{4sXJd;vN}bBr5OEH|J=W4dNmlp*DKGoX4BNN|8kRVN&e6+qR4*k> zYyx(18?St#s!(2SjTx+LcHMlSpeUdo9@LM%izMbD{ll=6T~6N5dR_?c(x5#8hIDN# zMTms(_iqB=Z?{`SkTx@V22n{m&Me}zG$icZaQJeT=W=q=d%}y zO4Z*H70ZnxWAgJfFIis29dMUO`^+MjjlnEag%BWOEOXceaC|tuN)3IFB5%6-5$9ri zv-@KD|Ji%bEk|-)O%z~A*}Z4odH*M!v)0+EAnp%%nlLhHs)X)JNf9)l2R?$}A@+9z zJ+j(Ol;O>=X}>1CA*kyLwXX7v&4Xi#dB5)@O(NVQRCP&p4}w65?K5EIRd*)GTye-Y zUEO&dtO!`t|AFVF%HN?fBrfx}r_)x_dks5{I{}r#gUdyZr|9ts0#nkb*`2P2K7#e% zCNaH^GQLxss@>^c7CBfVyV#`^K5nzJ1x8(0-i^^SwbD=Yw>eN1a6^4*=#d4G9S@Rg zGeI3cf?Hx#eU}&wbtDQYf(uaFQ+V5nU74n|%M(VucXFUmKMeA4xCjk#tb{N^3xGHm z*z-GR{}yN<@cPwp*r(m3vDvXUDy_#chKi=y;*fgFSHZ6sS1kyM05bpj+(VE*A*AJL zoS!uiK&*m@`&=ndmL-K*mIbQyvn?MS=jW=lhJ+sp$04_10)Vg{-2edLaz$8{3jnV6 z?l)+Q&62c9ar_@Tk}^p%t@kPF2;BJjb@*+xS2eM2srlYwrcGKjdYF=K0oNbYPCtm1 zBh-m@5Q^|BkfZU1RcnP>3+S|)+;8lNQ+{z5ZHBY(Lw@|lvx-c>Yw!XKEVaT~tF4jE zEh=w%(^t|jM;qRBn6hB)WQv0PiaSTFkdi4--$AzP)uA&Jjz*6IQf@-^2`xGt!5>nK1-@RGYg{PSI645xPeFY+tC#> zAtGZy2#FlPXpZ(MIAhKyW1UVqSKF8S-RPj)CdaCw?jwUU3Vct6y*n+d(unLdbPqSn zliR};cGGz<^s51YprGuGuaHZdtGzd1Hzx`pfLlz)R)9Dh5jwv>G4wq(>fBKy-8Ya; z7#rGAZnqoP*N4_2*X^H1`8J+sPuwj$_NIp`V-Vlx`$v=~gftsXzQ16dN2}XJ6x)Vh*+<>9F0$EyfbKhNdLICxJ za7>^vEntZ3e;IWJL@3Jw%jE)C3RJl{g$RJED|G38j>P|dMXJTYR*|PlZF2TNX$h@NntK(HYtrppyh6S9{<|K0VZwCxEZ1 z&W4}|4y&RK75}!W=#WwKXzpk30@uNdcwH=owiqXHCX3clM@MHt*cwk#kDm! z)#$|CPBw1^bbz*Dj`o(lK6*$JmHD@n0?SgM6olJa72x;zl!*JUa{W50#qyODS9j=0SHXFZ>tjJjy3OU@jDeB z2PYa~0g;`O-dNo;-xS1F6?`q419AG@z!0%A$iSVnF!8Y#1vl8+`pQ-?>Vu;ZaFPgw znjczSXNR3VC@?HLKnH4cmK>9{BKhjrRl+0f06_q-30s8d)^-m}ldqteplLu9QIc0N z#*5|ItSSe#G#<}qGAWJXN}hVcN}U2b;2n-q0rxNNX4*IQ`PwEK-NW{BprxHG_$tB` zE@C0J{z88o-%HedzG+7HtUvAAwiQ3Zk;knxew$qIn|OT!#Wg8D7cf^X_tK_{#hvsP z9N-#L`1$~UPi_(h#0wxQ$RS4^;eABq52wiv)Fyqq>VJ+-vir+Q_aef{_j!mhK6@~i zE&&7rHi3sA(CUsE0J!5LpyQL`9bj1(1KX#V!fgo+{Y?_-C5+8I6~I7QZ05UyTn%Uo zjzk-j=9p48529+_>xG%!bH1ZCZR*C9OJp;}%W?rV$E=6V$j9}44~=RJt$lMSHAnzx ztpIZPQVP(*$88V*%2I$xK!xIpSbJlJDUAWx(N^VuWVgC-o$0Mc6>0#7;w?W~*R3?v@< z`aU`%je(Ef0CKc5)OT}nZ-5DH2&8lQ zRMx6mffnDuIEoebAjdGoPAbQP9U=rML9S*?R9=y5t$!21@m6ieqhhCfAJCb8Dt&p2 z-;-gdP@ko(hS^Vd8lrs>Ow^BXyICwzh*)=us>EnH-4L`NARKo8Ng107d2?rEOCy?s z91f$5@-?sl6$FZf2t3<0hYzkGp4F4+c;lTu^DD{)-wc9w(*ZO)6$%Go`9f0 z5nv6Q@t_EeSYyexuc;O&gb(%8)f6f3{Y&L}5d1E3ML${uxJ8)<8n2ckPN;h#-$%P; zqkzX=+(C_#W6{Iin|{u1bF?;N$fnOYO{ZPKJgb#b?7f0xByp$-Kf()G$aZvNW?^## z96CHJ>F^^0EMmohD_kxMJ4*$*StUBTbAmb3BT*Mw<}Q>_8y=vAQ^ zFSxlAJ5ysf(i9*HM}ZW-01^eB8$3A;B?6SIR2>8eXKba61?8AYW#^;O5Mh<-H_dZXzmYa+{1%TvxchHOY z7**TPlG94rT?2Ij7jiCv?>q$W&BFFcfHyA4LQ?>6H$cgTV@h9Up~n2Y!fCDM zQwo}cd4L;~r|0yhH+>^v`1h0Pc|6`%;uHf1|F&|uhw&!uaNHhL(K5mL1#(bV-td%> zU;ERBo~JX*tJ%Tq)94>|3zSuKRE{SNlhXOwLgao8-$9}{mqk5j13<9e=)-?Q9d+%b zpEPZ=PDw-ghT1*Qj=m%%o*1-P#ldRIH=+?iKp|ko&0L&{BG>trATVIV_{4nOY7Z2! zbaiHPJAwzSR8#l5Sea@^Jx0M$Y7PnSBrlYaWj^!L!a9ez3C zrbL*7wsR8s#=+?L?vYVC1oVFpse|;TEO6Q9^3R#H$7s?|pnL1M6(aY-#4K_1bqD8t zK{xpEJ#D04{)`TEh=!YhcSXK0eBSlsGjgDxqBzB!+NWiI29@bHM``@Ni-zely;J>g z6K2=N1w$Bx)}cYm^KPxaM+&Cs4$j|A2zkMC76P9;8SK@%^@myki&_Zi^>kcDy|NSl zOrZw=dv>{8_~w*l0mK58Dpc)Dddo;MF&KT0w`rW$|;fL8fLah?LkS;IU~wk6QTR4i&KqUk9A~zJ8lbg3*kP&3AHo|4 zpxoWWMyiH>HJ~1Ww_g*%{p@gDEsFbrp#)}_B~PxgaC9j=B?!ts36LSbDtSKv_r2kk z8(QBLpxJ+G$KoC+<)!OsXDXfsvbwAQ6&d6}Kv*sd6aaQQ`lSHsc3!XMWae|~tFWF~ z`Hp9QbcOo)ga=2&eNFR%dYCV+lkoTPa4L(FX+I3xowN-0uiDmmC7~FY2x?qIc^L)- zg4=C{s~+doB`4+)tvM$wkBGW&19{j=K=I*Ix|psh%fdIR{P9Or9+_vKROc_ER`E)! z@Hooes`HQrd>{QrP~*4Il=W{Y6NXO~rYY)n_c;r^BmenJ96W2D@9`*#lL9?`^fjqcypJG4t>REq zc1N$*D_kxY1~bGt*6nr!A`p{AR?u(3Y9T31-S?kC1VI!C{zBBbr&~4wB>x8*pJJZ^ z+Yv8RxIfVf=HQdiZmWpOYv!f_K`_77V=I;;3J?NvwpVtDjF*^>ff~;HtWJ)Q*2&Nl z{7g9OW&%~1l zNI}cY4yW5i_W3ZD^$vPu+Ddg&iLYL)K5PHHS?2rc8Ey8a=h9hx;cuWh@cc~~KiELn zeRH{jDgi9x49wE=)R~o-%N>kAVe;fXjKX>ANZpro)_wS+Y zto8gp@4&wd+c;8w3zIbi^#!2sSm+)|>@BJC#@mt^9~lHB0>A>i%ME#s&&L4TtjYW^ zq~d5e6lHFx$cAzb-cifQ9-R%FznBjR)iG^>lCzZm`S)M=&wu^{*XtFo*DD|*tSj%H zetv$!x~_1$-Jm9)5R@t`3fN;|dnQ>VyP7!-z=y2(IgrIblq!#8Op%}f)N}wuZ2XBx z>c|RK+fi6yB)(Av0oHXjzZ`|oluM|tu#R^5wRc$a1|C!?EoCu_5%zP+PDTac06%Xa z&w{l|tmQW6qtt>NNlwH`$83a21vk8%cUpWy=)?5qJjB@fwwMMC-tQ62N6wh@2q0vS zBM8tkLO64Pie>A{xO22tQ+FzZLCwU^xKVdO?7Tr@9 zUs!*;S^bu_48piQ0EpUw(aUzkHfC<@_z;EhAS20-NXAW$lS%TeVu9|A(%DOvj6{TKfE_h0zWzyHGJa)D)8LL7p1y}|AF z$>-p2pTQKXmXsQ^OvE=R`h!Vyr`m?xuG7s8tH@r7Lhm>Bhss8 z^;%dDXX(mw!~nb~2-WaWuvoeg&>@iWwDmq`)#B|9wAlMIh%{-|_%QZCjKGffD`pCqv1S$ zg2Dz{C(953Rf1XwmXVkV&;TC?P5Gk%j^9B~nju_LeNK8` zOy4?B9;~v*YW95WLot35z;b|0$qGja;<1e{=?4>VBkppJ-}B7f?slh*#~Fp;=}PVR z<^fBTvVxp%#qeYnC6nYv(TQ+=j$N(hzYP?jJm>t3tJM{Ax>5@ z5sUcGK=`@fB*d#{{81)^TBbut+1{ur%xnS8!LQ%euCbT!d5W4qCeh~+)Me_ zX)B#m&zN^pCIho99Do{Uu!adzzX)YnfY0QT93_!hrdY-@3cRE7M@3glj)HbHr4;ws zvEFV1l3^0Gj0OVG7Pw(DQ!txt!Hu?#I-oA(8T%mGRk1UV0)u>7k!&)j#9L|F^0bd< zV32}EZC;d8YV$z-ze}u(M}xZWfUiuk?qgFXkSO(I4b(o+ev1NjthTF|_0675UXx1lxzoHzWgXrA#FQVOc`pfF$P3P%vwcgmE$ELqVZV&*Lecu&m5plzKk~atR6`7cLN(r?+uTiNzd<9z7rgu#r(deA7l-y z(Gxe~jD+0dwWPb6Wl?ixf|*)1hFKupUmnfG0YG-mC8Q{)WLHB{jPWpaijut`pjx3I zmvbo#l=1;(DS3k!06soG%*p_$=*p6b3z{p!M;R zeVc5hO59iLRpK|qWGpOC6WK)_MfJ5HXhV>$GThM@VRb}eXi3Wt(jC^E{nl)q_>R5-1q0&_4 zXhI5Uk3ygEnI?ddTFx=Hasu!P**D;o9zP-C11Tua05hnJk?CMrvju!Ti?%?HNbS2C ztj_9MVa1if+QMUEh4l_@My>sO>DTG2zmDNI{mJym3=sAM^0Xpyp&E?FYq~Yl4t)O! zw5uTKT8?iY96y7ew1A!Mf1^&n748e@%a`&489v6-e(c>4FRqj?uX6%F#}8vYBl7j| zwAyM#dj)R7vp^dowp@=m-N*z%6o0l@(5t$JySGv447-HNO`H6LnqMq z`Z!Sg4ci69d$l+O{rKktmSusDj}Hbhn!L+WK%IFLfNl0y0$5i$<6ik6gB)zl!N*fp zvm)U78JDRo$16az`_hxj({=(10!aX|1i!JJ`!Gi0Z7UJHGWQpvfE5%g9x70YpvVn0 zpvOqm4?@Vaa}pX@)-qG&>s_!g08?ufzaU=9xbu_1O>FuldisvpjBD1yBni&nb#ddE zKGa$#T67EJ9KE}%vuMR2SdH3XZ5<1P2&l;5W&%0p`6I--8Tj{^b7pNp0Ok(_W8X|| zA>f9_w>}ZTs-aZ=VhUiHJsJc{7>=%EQvYjZ2&1*B^vN_ zqKUSG9%=2px#;+I1ckqEI!ZsezK*oK&qMwI0fw?-mn!j9v4xu3R0gtSn5_@h8OARY z@H~e%3Tj!3>4V##v!OVBv6)xL5&N4e*E(R*UJ?axwaM1`POS)Bi+`Ofsazy zIh68R)l%c;z8{F-^YasKw@>)|yqWTzSkIm76rJ0+dt3n<=SOBO;qnEBCg@QxZ=L4) zSgW7V8>IiKl6kw`KsG!qB?7s=6A^B5&1_eCdA3%zpixjp{SlDdfMb?Ln2&amRKPIp z=5v=CVQ$tU$;8$^GSIq}=NVuu%^gEc=SYq@_%In9ja?P-wzEiTyv);>5i|a};b+5s zTH6k|Z01Nkf>nW_Py{%FlGe;|!GP#xWc>$mQrG^Z1$ERkg=&Qg2x~>SpkBRvj}^zC zL2qM-H@)c#XoN}x2m)q7-+b~83AJPBPqxN{fc54g2)asbqCWl zqYNOquB!@yC3>u>L51~?u z^rh-Ip%6hu6u&534o*AQS3w@Xe9WZ)(P}rg#8TT;x7rs6<0U_qw(2pu949`PF_FrO zX#E-t6h0I-+j{BV-E_0y~6Th)=Z89QAk}Kz3kOb;P zIIBt5zV1k5WYs=SK=}{g3|Bix;5o+Y2(j>$tAOs<)|keG^}U+30R0Y>r$^er^bv9b(WgHN8+j=M75{U|@k#5Nw#{ zjmza?^C8cZe;X2@^jqfS-${Q=?f#mz`xnr`sYb7iMZ$K`JeSZzv;(FeO$GChH^A}B zX|wBf3ekZucV+Z5=rD_Sm*sfG*YonMq&AU&2PqoItB^;w`@Gfp4zbY%8f|mR-y=Xc z4!%#a@}1jB8B_q4;}=*^6f(-YkVITZhyYL%`vhP|HWCvQ(hs|Wt_%k-1kr9_(7$MZ zH86;RpQ!mLqKKu~@zN zjR~4Bz0GioO3lmbY^XZ}Mx05s=e0scvCpZF_mK?GGoA#gv{-SZZ-2+a5sb}AdM`Hja$ zsuot?>2DclK{pHvW6LPlb9%0zhGSfPO*P|mzgtW~P~vVUjRvHl%=cbbi$~G8d}Ek8 z0!hYML_s@zqZu0;jP#(Azi9g;cGVJqwrmLI@2xMO_f2`mmRRj1ywCKr#PLJ%1JKce z9O^d+utKQ}>arEbkx8iyGeeiYpRk_@GW`X*>a6IxDjX3z9-+UWivMVO*2wPG^@Dj; zB0%wRrYBbcz}LG3svnbdqRr?i{Cv82L_zK2Ap8Lq96xjF|3$PVv*Gl|kD*Pjp2G63 zIC@`pPpZz-$-KB3``YL;>~B#yn&#|bj{k1pqQ| zL)(vc`8{W%?2$WLbFiNc0Dw}s09Bmuk(>pM|8(cvfRFXYH*;7)T%qXIg5&)w;v(lF zDQ$rq2?l^(RV6En!&G1hRb2G-c9e9)L_ssk%58EG3ZA~}py;531WJy{nj;^ru#WLd ztbhHkm{Cy#BbPkEkQiVd=-x8}tCnD2=ub6-WYrWL?qWWTW&Rq!w6- zK>qD^0|2mVuse|MPbJbh_-D$EZ+g?ur!N>gr2fs=64$H&0|%W^^Df2JapP*)W`Z8C zb6X1PKK*)tJpUI-djv9>0Hp-w++Z0n`1=608TL>_Sz%j5C_By>R zaQ*mz|NQ4aaJ^n(SuRj3$+3}DoJzX7S``$L9e>?{Wj_phgNHZ}Ed|!b-yQ(~iE>lb zx~J;R0|Z$3YT26{SqYkSQr3APj_P>-b@E`B6dZbpq;HHs4w5{QJ`k*F06>m`u!%d0 z)S=h1x-#LU&P6N9ks$zXthW3UZ3}@FMT~Vy{?3>)^9u?=#`RAC;Tq$t2p37UJwlO{ z@B{OmNn_NrF)HiHhMni$sM}p#&@g15%J^*(IEU}Zez>2LbF>*Hw!t7Ec3hNS==vUF(bA+~J;bi9ki1FS#&XHtLAYT?hSC9qCaa` z{Z=}r$UY_IJ3_oFvL>;m**>>_zGSy+q=cTKMv~s{3sD`IgntzU$(4Zo>O^42hXlmd z+r52vRv@8!opg+0si?XC1ijxNu~SP0K1x~OdcDBMKmWk>a)p2X`3El7i&z=7-o%C`cy;tl9Sry(nk}63(qO zd}l_%1WNCm0}AOdxDo2FwJ@>AC`U6?ftt-1qtY7ledrA!$G_d*y6q_LfF2pN<5KsJ z;%zSp9F2V>%%yED8OE^%I1F{vICIQdo${`OG?ulk9DC7PGcX8BM6lMWNStYFTo2yG zBPGwKEP{JySBo^nMc5KZQ>vLA!_tAB(w_%(42ecP@{3v6t;;w4R{E-DeQZVeJ>(W= z1O-XvZZ16$Mq|$hXa}H}RQ4!K+FnId4sU>ClYYSr`3qRQmkt%};qo6(;B;261~gh4 z&Bh0!zp@Lph_CzL81u2Y`G}i8CldW0u%X*${`H8A=`wqk-qCKtfHY~F!h>KABy+xU zoJ5WxG~A^x*gk4X6HmHONSk*J*`es=a)D*Jz~$ouK0f}DV<;CshY0|;>R>|!0K^5B zt6U|fI(e-?7ZuhyL%l_VDq9=Wx&l>#T35)o#Bw6lc5tJ1=M^BS165JDql}O4X0(#; ziav^=0qlSq-K*GO4Jb8eBy-NGVF<*BMgwz&00tBgm{kMmZ6($w1Px5Vf2F%&!Yq7T z5YfKkXI2prz@Y3vw5TK{>Ar0jp5*`bm;15(rHm<|b|r@}NM zz_JuThBgHp?SU=sGxx7rr<-?=28CAe_EHKEf!w0P0M4>3;0{OQx-q!1=S_Fh8{~M? z&!_M2pai<kY)3e0IJNPnUbsJ!`%L_S3`n&ItYyda%80$5#e&Z!m=#z&p+ZY z6c9>55xzP5l?dv}p0x>zILSj%s$)ih8`++}EC{t!vAn1ZKAYqV$7UX#`E)`i%6S=)WTR;=tsjz?EUOkN|Ly z!>lzDP7~fq-kPT7gMi?NoMv@|=4`VC<_s7KJhhc%=~8alCW|=-GNw+odkh?{SehWz zMacPkUHeTZ9Z~x;h?4|>11FsV2Y>-z(61Hu*eN_yaBbUqMs|yj0DTB3zIw!GQG2Eh zo--Do4stYULpZhvL{O_=smyaNi{9FG$tod}0=GZ%W~fPjK6OLSo8I)-($4@l^b3W# zhQMWjBQ)Kg7>90i-wyh~bg~O@yjbpU@))}3`zFHlu^Vp2H+5f{pCNu!*45jRsx^OAiv&^D zYpqbQKm}cN<8C+mpU`>;RqWLY{dfCq=Osp+Z>vMLEAA+Dv`@8~$?>;++FliE*e}kcKEk+lup#tIWT%i-!4g!^i~+0) zU^lI#G29%{ay&umFFcFk`gy>C7X4#>Z7_!%NnvpuConRA4Kbhr7bCDr8p^ZL@r}lJ z0+q}prwK1WC@Qce^8+`ll+E~3AjL;!maB44-R_gKx{0JmD)L+J@9K*pmJu3DA-QcN zmAb-G_zK)2O}DN!lx93Oju*gZ&gXy}P5B|ro#I zAOKZ@wfgN+eePdF?Qn|J_{n~`{4vB>wx;K^jNBpLoyq=3(LK!W*56K|2lIST&)rP- zk@v5Nnd#L%$k(GP|Jb>6kh6@B(PB4BEzZxqlzJKf-Kxr+q}~=BZ~D3P1*`X|ovtU$ zhJBDHh*&3+_%0lc&sMLdbGXocj!wwt8bxBhYMd z5d?4HnH5}wioxQb6jy{rC8J6VW&|q_L^MF8l3s`E^_}$=Rk_d8amQH`N^y^N$lP-j z=oZawU!Et+{qYyQbl08N7T4p6x1}3;~OkHxVzHV zb&fZ^=}j*smH%KV^P^oOK`HM~3|@RMeLKMMGpeDbZ{X_AET6HwePIBVI>G{F;pa6dm7D+?tD0pcwghJkfrV%c;07;# z0Cgo;*Lc&3UM(i!!ZDOZOtEQ=z!2YxQV>Dh?TLO%?ubt>N+C~gU3u3MOH>HPb&UXa z`^UMtaTfYH`@GZi41gfVB+xB7&^(U{D8R@d>+`a+%eT*vw5jj6MBqb@vPe#rccr;= z!>#T-1BFmuDpsRorPdCVYTKxX6Pmhez)8)^k2#P7htx%~RJ8zyTXg`4SUDxhh#`%; zlJ{G)x(RR4{)A_deJFC@x>hU#b8BuEIQ56yy`2nutN(woDiYnu3Oqt+&ik^A}+q zGt>15QvHqet4sb%nE&E2Gzm0Fd{`PGeWP(3-d);8 zlxlx`JHYYB)82@Tn?msXZvE{O!in;KEgi`8IT*w%6Z}G&DGEp9k?q#%Zd6Pre?42! ziL!G1;Uv}gBfD-i;XAzF;;uVx5C9I=G^I`&O9TWyiczot7KEiNa^>m*hzK7aAN(#T zwrW04L;`pOQ-9ROj9Fe+vfDV!zXJkb@%gA$g7qejLRSGK#3_~WY5fh~lv-&DnV5QYlOWN{8<332yH%0U2Kx9b$IKf^AqDNy-DqsHu1XP#iSOh=(4%t8#p+68X(m zmHgOd%z@mQa1l$q0tnF>O6Q6%@zpUvMBm`Xn_fwOSN(ohX=!&YIV5InP5JGlt;<-i z4xFa6(#wxGz|qk+Xpv#PI3i-43HRga+Yy*RKZzHmZ{tZ6iD~}FdZ1fx$Zj#PkXLX4 zqFb+6K-g$Qm!;G&dj=Y1^=B0Dd`0%^Q7Y6Xh@E&NFrOQuQo_2{bPiiV26nJlU@83h z&p-dlu@m=c0D8nF@#eR%6gwW^eCuhTx`J3l=q_Mbu&_WW)oxNDV9SoG{|JRo1l91G z(>Jz8R;u3i&V^i;h~l`kSmp>I{vdc~vXlb<`@jF|HHj|3yAppw8$Ups3j1DM2>sAGB9J&oNK;g|Ih|dpTTq9ks}|wTG83^h@m1Nft)1A=p|Yap4hy zLsEHp+G>H~r}mF0F0i3FwP!2XT;fz!32Kq`g9!fjzn`HmOJ5^s<~p4}*$QqcycS$8 z7r;`0paQKP{#8JSjfXeA>5J*_=yhMK(ditcbAP2CV70K|(#LrU^H`qJ?CUd0vv>m> ze=z+W6T+K*1qE|j{#iSvG=dYRfb4eS4Y)a{dWxJERj^z+nuSlCG>q5EXD@IOi-o1Y zQWijQ!l-8b3-S>T^|rq(OP>?D!o=?zKtq_UB*L^wW6-XKLbiZ8L=_N=S(teIETFfa*~deZbjah;1@qoz{4}W|<3A;T z%tuuMz{f{$T+y>C*EER7SFI#q)p!g9(9NH~@=vX+p)-O-(K!2VIFj}*57H+Blv0WqG8f&~MRh`KKTp_jx1 zNjc_Gz@y>vDZ+#(?{b7pxtj&`y!}T3u%kVWrJMvhQv4oZJVzO1%x-hslB2b*qDnx> z4wi|k8ywjAlw^|9%c?M?9D01D!mor+MUSAlpPD93V?bo zVE8Num&=9yWT-_(yPI8AF$1d?-JR!SD@DRPA9{{5I;(Rhk}P@i4JYhigLTduAAu34 zqI$UtTWuga_ak+XhyclR0GF2+z@U7G*07sVR6sY71OesxShY~mILTiN`O23}^ug6Q z)18|mGn=%lS)E*qCbpZy-lh6EOAn%GdHb^x*c?#-QN}Pj=+vwY4&-q0SjdRgH7F_VNxPccj z^z}36_th(QU%!->)0sVkI~8UrDPGTL-Mawgg95F~g)D(;GzAD0u(({@f&zdoD)jh8 zt<^0Q)C|yaU=1oN;|K^)__|HJ6azDQ;D^AhBm$eZH~~R{Voo{rI7%r91liw$9*HSS z5Y~x(bKGt#@TFmL+yMM6c%3-CBT6W6rUhyM_2$L-O!SiB~*k1sA~5* z0d8zivIw6Bitqi$5TAqiaIXEQTQyXW2wJusWf>)*07H6&bL)+SO}K{UHJFtZM33Z0 z7&2dGZ8B2GQ(0v!wF6hm000J*%#LBT{wQ*o?E&6hYpQ=69KxNIW)-f}Xyd!^SmVc= zSZEXhw3>DlL>zp!JhWAsez#+Bo>iCi&U_j16NlddU=#<2fqP-jJHbP=WU}P!4?G}r zKSmk&8Ub}O#tGa4OLtAf`#iR`^Hb-d>g<`Q!u9$Qz`Q<{M_`C)OVRe2` z>2K{_uP(PAQDK2fogK3rR!q!OSXTe)l)ka20TN^bi=P7>Z5qb!PI+2-0O0s7gZ9BL zvRBMUdthGo2Ri|OCLLSG&!u$u%@Zm&yPW)))J-mFC+SEEZP^Cbl}=+~3PgnPd0XMO zvR?o_o3BnMYgIvQg|>ls0(KL52R2x#D>@O2prs;kbj~JHweeF$xHNC{;0`a{s-U>9 z2%*d6l0Xa;pu>00^aGn>1i?HgmSp9T+eMb<=tWpSd_8c`BkDV4DL{++`XBUXksP48nx z#5%G1Ls*t#Rw5zcDIFcH?(=2KOHBT~E#^1y0l{<(`dZ)(g~Z^GS^)Xc1xZ(aI_@$8 zL)sOlRm8lFwy$s|&@(Yy2HUF+3a)9Sy;6%ft}6+vW29C1ys!J%nNw4?NnI=};u?~GWtpwz0*(vyUN#PFg-Mr?x155~x-64lN z(1sA3ku-Gx04UbY(JZ3Q*3HNd&i%BJYXo{E=;d;O&(BX-<>+4NCWUc&6wjm~TiUJl z1^@_`>xJhDLIFO=!r!ZG&%uptKKG)%Le4#v<__DBf)l?U+?ZA7;bQHz#xJj*Urree z<qHyZf70>I>@}o6vY?F zouY|l0s+9s^$Gy2yshghw`R0vy@3Ngf}wmN->%^ka|Kg>(SeC7mKX|L6!D~qp#Ce| ziKqI$P%tCz`l?Tipo@cxG1$nkn7*U%8@=C~;IB#(fn3+xlbSM*jvyc^&|)k}oam`R z^1wXb)Jm|DSb(e`H=#5NDm2|zc=6Y&D*AW3RRvYgiy%f|H0jd*e6y$NQH^F7^vkHJ zXXWYGvO8CJ)06N+OIV4ZkoTqB4}zjSt-Ku`N%{(AfF&u%la^7_)uen$mUa`&s4w*i zF&|-ojE=8FKBgraWYh_0ID6AS8=pkN{`K90j-874=cVtj&FhLd1K(zoL%#LZ+T zJs`%O(;YZZ&L%)y1Yv$=kj5>5c1B}U_IuX$h{5%-Wd#h@Dt`4dhfvVcuN^-Q%S0wf z#@OfW6953N*DE_64iio8I)MhE%3fYhWxo(}tCpo(Bg%LPuuHH^A|xZTbm4 zSqL|N9g>+&mgV7L+(oCYm(R(feZL!E>*X0KC_{8fR4xb$7WmJ9iUAVQDngazS}WYv z8&FV+Ee%!lT45jkwuZW{u+|komG!V=jPki$F0hDY1|Y(+TmXpJABOnEh-aep_70T} z?KTgw8gS)aKhQogy~Fl(A~9mH?|ch}+_VyocBu2nX!XF?#*%>?R;i%MkNWS(`S5!b z>lxk^)FTMy>p=ktQl?dC#~e=n1B?nsXkV=<3~9!s8wGX?v~ZJ3uzHB^ESWBiUP<1U z`1@ULk4N2;r;ze3S+KH+pj*?f3^j4=d@LA9aC8hSn315m0Iul!{W+1XtvubaVrQW{ zw87&wGk|=dVKW}DdmJ@gL)&$>gE{0RTE^n}u#U3^%!wKHfxB3T=s-nnfg77x(2=~A z&0R!lWBiA2y2qIKN`R??u$bdE5o9*KZ_SVW(GaIe6%hbo2C0{2fpuNwh~7!$p&1sm zR`?{oTKjUn+KpO#fH2f)h&L(DAg_L2-{|N^OYo*&LHnceO@9K3jhr~Azku2#@}$P1 zM~~{pd1Ta6=DJ&w{_fy*mM6b?7~t6J-rqmX%_iW3^y2aRqo#)!F!NZF2%X9AB-LR) zcVzw$sBr>e`BCkDh{hbx)ITM)*r>Gvl_EYL^hgI^S!yCW5nL`87Bo8rTNMMzQ+B74 z(>4!cfCqpm#OmbJtTotz!@&X$r$<*bF};aIh2P%tzt`AIl*VC*EEkd!u((Y_1c>Xa1G^G6ggMXX+=Zd&Edjs}GXoK1nU_!3j708~|m zg~vttZNaH=zo}NP&@PbcJp1+t);>Y=OmSLN=MI|c#JkEesC`;G*3~`JMA+*8pcjYw~p#eaxiUfyXv<CZL zill%gm8u^(p;%D^%>lhCRnUwI{nn>`kHCh1A*eN?DQNXzb)vp9(qe^TEt4%|^vt&1 zY$D}G0KnqMeC&7+xByS$-!_MDFBO9(EQwDXN1Lv0g?x6neJ^A))^zeRE1%Ai@BgnDO34?B>ILpa#L)7!*X^ zMR)cN1!D8rKIeXBZ)X5oqxf$JKeJ9|KF*H2z2I>JBs=QWEYX@Pv{be-3uiZ;rnJYg z%n38V2LMn3Dpn`}K!vXhFQveL|NGfnzd=Y~k3tpKTIIMWA6H?JgYW;Yt6K(kx#{}S zJZtOg4Q;&XO@A&`1vn^J1=}<^TSSBqPWnM|tIu7_$dmLwqOwIlO8Ni!bYFGNV{Kz| z4`tdUu{~Jt&mT8_ou{GfLwf<9z`=0G$5poIQ)0PXQYTlrvd zc3LhXo~Pp;1ArK_vD*VcK__WXIMOB)HZ0#kt+&MlaFDxJxLhuLYt^F?ei*y!T7ig7 zIX*rZNw_4nF8@96(?~o9)JnaOqcol5vTMP{u?Ntzrub3L=VANxiY{K0Uft+Xj>y`cMz|V zjn{o~nJMhH83Mw9NYVNU7Ak-#4aOhX3EpyHGw0<(zPqmVN16^lH;1l(09e>Yr)XOg z24xWaTHC06?5-Bg7}&QISO5SZ07*naR67Aw7!bt;-;A3!o zJu80k*cAYnB}MF)=IARasN?Uul-MQz6ot<{9WPUxH<0wEF@1B-5a6}e3YSuV{^e`I52xqU?(u2ui&`^EjzNi5$A?&o$c!u;-d0v_ z*UFz&cB%XbgZpS0nd4To^bpX3To6;?YzQNDN$D;(JJ3`K4Y9zoM4u2C3WmmXph(NRDrXiiHhw?3YkUS5)XQ}yO5c3$C4WV{4OLeP=8ObXS2KN95F_$l3Ij~BEOq5$Euv#=LkMau)bKH>tT8=t zA&ScXVQRF9v|~)c2Zwb}3Lpo+VCDUsD%SOZ{9>2SF^#QB;>{7$bY?<Im z_mkd&XEFyInd|#S{a%pc8Fbm7n|Ag<_BhY$%w~%F35{qkwS&@}!Tm?mIa`|VSp}xK zo?V!q&%wd`qjvZhx05}Td8h-D+r1p^#XDXv54K=3tq-Y&;}@({7JH`Qh}>F(Nan9v%smRk{5CG7JPR!Pz>cd>C0Offb-*7r35r^$U;-m^L;ljjDBz*sO20eFpg~#O@}wte z1N7W-dw}(CB(OHB;MO*!6!`cD_=c9^f^H>%dIMNjf?8KGg=XuPfS}k{wQ2C%To@QD z;AgJ^Mtxd;y$|nMQuL`E46zw>w3duZnJpa1=gJf>7A}viL&te6@;2JJB{(Z!(IwC} zsxhSCMuaT4wfLC&=4xzndLN?J6%cu@U6umtihO*tS(mr?7{7Op_+}OcGt}wm|M~a- z02YML|NfW34*~1zTA@;fT35MUi*I*PpG$RQS$G%NaWLRL)5w`P)P4CYw2j`-_fIg0L6J+HzalAs;EOfm8X!cI%X;5e%Jf@+3q!sJT=N@cieKM6BZoL zYlyFH(wW$oB#alNzaQ(>G+u1KAman{L)d5tH-COP?U}YegN8~tKtc8~!Plv}GQ^+; zBfEV2hwRczGOX;nzl|c-uC~fmPrd4y`26}ca>Cy{b)JT6f+b)mMeoBDyRD~9I)q_-B7`| zBR6E}vy}@wXuVu=i&O$wZ&knzKiiHVxRK^7PEFSJ7LL6@$U~kLgaV6Md-$$F1TMh( zkeNu{H7r!UJP|pZRk6B%)pkB*z)MT7T(^BvU#2*;QM!$xm0lg(a!IpOV`9+GTqDJH z4j9dH8$F3fumH|Ddp=E4s7GhznbptS!Q_mY{YQ7CvP-Ei5&$-5SEgwOfM^(I`eK{B zJ;srJZW^~-1nnA3^l>^;9-Dj70PbhcF$!|rZa4V6eZqCUz_ncAdcE=*FZt{7(RE$z zCNlOtrx&m(#%YrDekx!n8S?h^z1 z(2%1i<~%bh^m1J)0IXuI!B!h64mzU)QRlttQ3VJXE=xi_!8J&%h8yn85_AGot$KZ{ zOulKyfncqETZbh%GP^ZkBfQ6P9N+YlNxvYZlOiMl2LLQ)@Zo&NU0TYO;5DI&YN#JQ zR+G{io{3DVr8rO(6GLSGBdA~yf?K~}f#t%t!z>qoz^3(qbp@y^8h}Blf^F6e%%6$& z06VV4l~)8TU=R#}i2L2TRw%`RvSuT|I>uo^I-&%riuUIJtu(i^pnfgj?DM`bHs88m zt=W!-&^j1dcu07Z__-H!For_|!5StC9-}d0ilCVHdp$;^Yfux|v|00Yx<6L_7sLCcw{RE_QyseqQRvZNpDuAu04|lW>xmJSD+YRu)1uo0Q z#xq-wILHB@>lK-EaJ8_ztv3cgU zrSGMCJJy5i)WbB()8_#_rox+ialPN-w_ORqb?#nN*h%MDs1berEh<~Gco#MbP!Hz$ z^zomU_AFe@LO-9*0~%)<;1Oy?pHtDc9-NE*0(vA5%pGPUz%z2&Cj~c(Ua4x%I)RT_ zRGH*Vm;q7XC+eLZ!>E;Sau!T&yO+GfK(pb+mr7`E103NLn zVa%)~B!*ff@H+{^iMT?jx5KDbkn$8xjB(cl_)0$s5x@=&P^&wU<1pkP2&#Vz734hn zttoG=vaUZ(x=VUI)^6rB>w?P2#A0EbROnOG4)suT3LXIXO(@CC-9u9o#&{W7bL_0A zok%j%x`BW1JDZ z0CWotb)-qbnI8d&py+$jrJ%nR<+_Mf1q+M>wpT@b#yDGwWDoXU6+v-tM;Jz7o?J+j zdRL1FdF!7vP_?p-n5-o7E}&abxJj;iGq7-K(ueBA&W~ioU3Uj2^ifs~mL>Oz_Lxtx zYjrt}?!2jU*F~JbYF^Q)C;~7)$}fUl|Ei!wT@mW4CeGXs6#U}vdOHpR$jv#RAQu)O zeHi9_9~BI8+-{WGTLo)aQSwPewlXZ{l&{gIRU;TEf2V14;hjHh-}lR&ocC|}qu^vT z#*+?0@q4oaoWcOOg+;O+Iw>kpZ~M_Ihi%Db6oC$Gc5|M!G)+N=S^9L3S-s3J2bnon z=Pfj_BfQMOjW~a9)NR-Onz!*dLP~#&Cm0O9yW01-)6dO17Bt#~WeoGbE@pvgn;Y-y z8#@##M!zaZy#U{)vNDp~lmQNPqJGM2eu$*afBQ6Sh5Re^XC2*froRqAep-#F9XHXnWeREXONg7X{Z{GB`(~*w! z=p6DYur*VjJ2<~e1f}u~dZ1R)2G9cBH<0@BZ0)^_K#rrf4_|M=q4Y&~%9rH>W0B-d zZ`!37?mW0MUc|&qfraAlRf#d=f+sdThLHPpP|9SMNy1MomL;c(D#>-SXu^)g)7i@S zZOTv}2}+hOxCvc*+#_E3>P!uer`XKi3)8KMGwYBJx@ZE_NLpA0&`6hvFu0U>IMDXJ zUlA1wqa)G)8$__ioOZf(NeT6U`9c$utM$zFx*|JX1qGu5zsR?!IJlJo80Js;Qp=in z#0IU+^qKi=N$ucEFNJ>6I&qy*3e~Nx_X!VEwew_hBYzqQaok#`n)tPm=bTp7zk*)6sG?QMRD0 zaUM-ZI0&+tPwEZ#6C-*D0u7#GnxOz?u6&y1gw#{?q5}df5P;3&aSqhA>zrSfW6Tf% z+}0J!=co8ty6|%YvDxPa5CahiXpWr~$WRbSRw6r2qky~01nD*<09z;5x+Y5x?FChw zbtg;2wk{#GRio%kul?Qu`rh=W*U+=H!CB{hmA2_pzaBT{4LZ+tbZz)O>D!Zy^=<}o z>=pm}0FKi%5`-o-@ddP%&6lw7MpK?kQvv;v*4${EIGU5T^w6vk6AD@J5fm)y`8XbF z0I}YPQUX{wWz|6q_j!RR3UQPjfR3veYiKmGdM6&s)E8Fjhm$i#>gMFSn*j)>I=ON0oaRvE^s72ZlmUbF;l(S zBp*=;5hRUh(E?Tv!mG5O$g`m5sx_Hf^(?pwsB)z%6etK#1L%Q(cC;duAt=adiKBeG z(nnGs)xudEE3&jz0GM{CKMJ265^;id_3*F+%O9!r@OG5wAi*$j(oHxcD-O*){#FYm zYqJrjnpJPjWZ_5k-^~*PYJzOn^fTtVhLIECMn`9&V6$xCRsvi7ASBU6KdWWy1e%yS zPlJY2C9$^>na3Z38z*I!qq}vHB@ezGF&HHTu+EkCxxzfA-DyGtB{4P%?I<7tZwj0T zI1b1U1VEMG^Yas~*DG8vS6FL>m2Sa;13fIVbte+R3ah<0z&+GqS;Q(tEpN!n6dib9 z=mM206bvh}03W)3GQgfKS@gy(t}FH(1$OoPc(kOox@*p39c!-@-eUNlMu$f7f%re2 zM$&;lN8p>2DpgouanXdt2Ut@-XIHC3`aH$2=M-NDI3C(Acrnc;`4+-?I_tUe2YbI? zOS9}B5!~<2^hvQEWcRV?d$Ie$dn)yzu)6o`o)S$4y-q+u0I{o0#XO$$%1L9`^Vj1F zS#FQJ?(%}wl=AIXSmZVmY&yZr1xv>-xR7Ix64*OkgUcBEOlG+2Sp ze0F17_{CAx5&&VIcXI4#Q6fcb=JD?64Aq>6w4IsZ2FyaOHjr>A07pxf1b%=E?v05I z5J0GVjgy6C0^sWei2)7(w6=%}obqTpkRl`-RSM;feZha{0(ruEK0LlUM6+RbV$INM z-P1X+`92brx@SY2BU?DBUyZa@$F?2)_Qb~Jv2xKgTp}CCqTP3>NdNPI%5`_>c>`kp zCJoVr-slI(vSXM&Z8zYFyf&kqQ1Go^^|e6Mwe96X1ly@1n4B>P|tf^)BeP; z8xaY588WPmGkLFDwoXvjyJcL*`I2uhD?T?Whv&72DOIXKD}x*aY=u_}->5=zJ*;jf z44YinxOPyX1G{#;B)A*^mEWOQgOn0(jX}2nF;F-B1<)ffoM9ShAE6eXVSw!<%Gtl4oQrE6i8Up{y1paSn2H+kC5{%G8}voin}xJnd) z3c|HqOi(QA3Tx5h6#-B%)7Pk|B9K^BxKgPF?%Tqi4~1aX<`H@jLidJtX^NHt!U9BTPIo^n#o8PZ1K8yLIqZs7grs0wE_%Ghj-Y@qex&ief0!Nt zAcCl*9|5F61&?NC?>DaXZO_m<3LZC9mr5I}3o=oN{fD%2(1A_4X+V+|)JtH6mNE7X zawnwGT4MxqDAG2o1yuy5JH@SBuq7vif_ilgtes~1Cf#F_FLksRZ%aU;-i;Z?NLzUy zrZ9dpOCiLp4YD=RA#QN^v`-p*)!39AqNzg@KRw>7vabKcF^t`FUnI7e1F*pc7{cnD zzR8e%VDn6s@JeCM>ey@s?d@R&0C#zVN`0*07Pv$$WYkJfMl6A_mpk2Kl{Y2SKGGe_!wTh)^ zm782RoLP?o=UXlpzQHAcM9ez_BLDsTFRZs4%RjytOPyrDN2AL2mdhjM-X=LZbKKwL zKSO`{{WQ}LkAy!Grxhx`S4WE$r~I40ueCy{6-rs`y-Vzw@B2&8_f^$F+GoSLIHn|V zEr~*`vO9z`W_XloY(tJAh8ua)**7#aG=b#6y6$YLcR!I>W_7=A;EEF?p75(_O(VpTYAna&!uE68A*n1lovZqace za6E?)Rp*a<(BrBg?nvzk> zZ_`J>8O9C(8{63oGE)RZX(;pW2wve!2i~V#jEtxS}XkbzyAyW^FIrGd|csjxd0-<_2X)5PqjI{@{KFvNR)~K^U7kL z;|y#F1$L*{x?UHvz#t;{6wpNT(Qpyq$d;dSU=rD{m^!Goa$K+MC~+xp`@H!rFQjWS z=_ySUaD1c13xk7B^hlF@zbgBtb0qzBa~^sM0tr8=XUJTrS4Cf!e9MztbAB6#LsAxh zkq?g7(+_K-H+>78MPMJK!^taV%E~_9deKUr9FEs%w7HUn48Dr9Hu6%GpG2Mk069iN zBvv1sZj!Yq@U$_no1%=a1nIK~kU0Bs^3*s@ICO=8YGox%qLmu0Jv2##qGc$03y1;- zE|?Lx-wvvwGTJf;p9~7gZc(b$uuNGvei9WywRACnK!K3r;uVpU58SC{4~K|JHO6!U zuffs*<1^hc*Hv3V4gdx^6!-{{&AD9F<3Q?!g~Sqw1y-&9+wEp`?AOU2Asi}pH2609 zIeOfWlsP-yuna&2<(~)1{lDZKOtS&MU8J$bh*lg5a)hnSRwO#YlJ!mS{$N+ro-G=v z0-*7Sy#BN zE0|SBNUSsqQM-01$f1@T>#f?clS&nCpP#bs$@;8oq<*(?<4RRQWZzb>!g9F)lHW|D zd0j3GT(1{c*A;HJ8{BRyP_4Ez4Ixj^O%9SdJ8eM30kdy$_6(KxO-JbUHEl+0Ly+U% z{70+p_AL1o)N-JfT$KnG0ILk2c`3;N8o9kJ?H(G*wMXe^0USg4{ek2L3saxmUIyRS z$$BCCOLFcC0R0u{H^Iskef3?)LkQFNX zt`m`2V)O=RENisacFt9Wj8z25)0BA_H__firi%C=iAn^x1`#*Z6^NjY2)#2*6=K8$ z*F3zpS&OAdDoz8wC`a5DeguH6RziNrU<(5Aj-e;Wb}T`Yj!K%1aHm3O%eV`zAcp}D!Gfa$HB{J6eX%cnjE8|I z?JF4KqVC*|iqho4);S>kiI038lWO{%_f!n71hBae#{9gBM&jpQ*!`Ht*Mv@nA%D(a zHs;@y)hJKu{*L1N>Vx^%-6&e%dY0caDUJn#Se9`e4|`CWOXZO&){+U*{AQwvJ)B?#kyAb{QNJJvH($qr7Y~DV_9G+1(xLkMXu=9V@pH(@wntW@1<}0S=3t$kHS2t#y=SUg+yRh96GMz zI7|XrE1W#BSochaKLg-+!esHLzl-*JOao-N1_xQ1$%5!vP~*AONcs9{lB!?Rrqqsi zKMui@a;;(aBLEpbTjX69O}r#a2hqMw;qkiK+O5?*fm{Hxz?Cf$N;CF@#cNZprlxlE zCsWK;@!6r^hFW*1)rSEa)egt7leYyJs-CA006{o2gvbF9iYB~a#y7>D60ax)v-W^N zH;u}JC?CvAO%^zuL@Pp})kEq-0dGj@0{J`PSp`5W00p?7RDg6#5Q16}stBdER;aMT zihKZxh;NVKGu)i;RA6lQWK5|_X1aLzu zLIDuvG2V!xag>uz0h9XH^X?SW#HMz&e~R*;c`}zx`7EN&8EwWbH9+WQb=@y1^&_Ee zu5Ib*cx&#hA3N{c*9sW569Tmnaz!6q#d>ff0wV`j!#2QyjQ4|_Z07@#FHZ#s0f!qf z#BUNvLSW!D*jjjwyG>kU3XDO9OiaPTc` zAJ-39#Hlx80Z;&68Pv5N*+PTG7X`(6y{zjBt2hF!a_mKGy@p#;Y`#&{9s&5ed$j-G~rSwftqB8^U(Lvhw zr=J9Yk;#|YNj-KO6r(la@P5Y*odr352Eg&AzlXkZymoovI+od!LFxF`QTyn1hcHP6VHX0=vGO zC&Lci$Umb+K+YwMz|qp$)+LCwTBm*qnnNv8>pmFO$c`&Of7kMNCvy90AjS3H&LzC z=Nf*NEyXx_J2JDU&ka$sL2d60ylW@IRzB+s56S9ar$R}CyZ-bv>J?oZbU9GSxGiSe zRUhSN{;sh+n5}I>-Y@j^pymczKKfS)LgW0qT(ODQzNhqUUe<978(2Pz8Roamu+r!_ z4-xX@5FB=U!Jnp+DwNV+<=6mQ0XKMaf)(#I`m}n1K5f9J9M`yBE>H>|(X7PJq7_E1 z6)wxgEFy+hVnhafwAPLh;LvmZdZZD9m4*E);t;#tHEy&V&W9^#t=00^degY;Do0mj z4&x0Ygv+JCLIrMxeRZ&3RoS@EITUBXm(dFb`7=o5PxggV*~cA#&2PGqhZ_L! zca-e=0gfkIZwy4WA5Yth<4aQhx)i>&8F2XZC?kihH=a_akw(xbUMVi@WOq;VP6omS z$|zcI3DIQZ0!M$#!Ehq7hi)UXHDkHONOk4BQQT`Spnw3&CzL*;nP}uWqrr``gf5ao zFe_z2GM0ff2rJ=*>r_3&tCKf%TG9a^l8+k*1XTb5mStfpkieUru?B=H->FhpH!-~^ zu)9@7wcUEFlK?bCpn^cI>1Eb}@DDk|@W^&6L6unMuapIr1!V`%bz?>LsfMFYUe%^3 zlu}r5#>%^J;C13cv}QfFlyEf$W91CPZ7-(HTrs#wr6n%U281x=r&VsafN4xOp<3lD zf*7q8ho=nr3fVD-3FNTnO&mSy($4`+H~U7_MEyV38vZ$3d2XmyTiVXqZOwLEUc zSsjllK^B`lV5pi_rQYpLsoXJ@e!S={Uiv(5RuCYRLv4PVWX`BWu-CT-mIbckEdB)n``iKmc~0n%fHj)Q<^KxLL%@iwS5NtoOsPyZwo40 zDLx|5Z^nJ{=1a`4tIyNv^cEFcaDn9+1WhxSJCs7sx1BTW*F^9C5{2u?*z>?}gsW)5 zI4SWw`ID_mz*ZB5@=YTtohNIrysmOj;$tHOmkYvDE>KE^%Vh!ci9x(RsKsq2>d1moLUxLgGbltrDZMr8*Lz~Igsj?gJ^BI|jrBo-gxdSC)OWm}=j zE;C!B=z2_4tiDS@SS}xMB@&0E;*^wRa{<_w79U;uJ~&}A)ZX-BIy}WZCpY*>txUwS zUab{y(NRh+fOV`sT3L^cug3w7hwJ`6=JNzNN=~pvI3TFwaFD%oQm^Xb%Q90M;A8ZDrF% zT2~cGS%_R$w*rxJxi@`+YTi`6JZc@IrqgNM8YrVZ3WDOVz1ZJboedSa45%>UZEq%f zZyWl9l%!~2jfv@@htz&;WpQCWk6P)2TAMOn6>cy!v$5n*0HiHPHyZ>#Qkc+}W0eer zI`r|BUN>PI?ixNk427CV`XPmYFQD;!PJ?d;XhZrPsH+F$!Tt13ze}>{C}ijxU02e1 zHw0}vK*MtGjx)}Vtg3w&imyn%Bpvra3{tP_3gvnc=c2v=VMj{V732(u-#X^Y3a6>gmh4$BPqBprVYw9h z-5!Va^;!C)EIKyNH`A-$Xhu~n9=(@y(0I)y+7TcVAH;GKi2zH1>-7rD{v4>oJEv* zvtpQ7%=l(%RCghP8&Q}kGPSGNTP|qjHcrFNStP3uvpn%5Pu5O$Gm3y4OQ<#yXQ7qg z_6Z^s-?AVIz=9}+_OXgn<(Wi)CLrRx4UobJM1{5i_ft|spX-%~ZN-o#;mo|5D}NAU zt`N3@yesW(n1l0>bpx(5?;2WP#Weho!)eWoK@K3lcj_{eEBs&Au_P`ncyV7pUwQRY5w_T!GT8d}iBNU&GM z`|83T*=7RpTz>of1a-7cw5G6^i3lpP028je(4d-t$x!+e&gJUlu4xv7Si%lJm{120OrTW|L@g@-qMH*G?lBfcDDaE|=O zBmF&(bs7wL#o}aRmaH*smcTw-Y}d?N(`K_a+$r;@PM)nm#4h^fUF8IE8|Zq{E-GM6 zq2rE51u{oeaqfS-)U{Sv>k3O<`556!9WQ!=N}*u=5M++12!#SSYiFLX%&(M8n3`S< zM_0XsF)ytTU$YGqhBlu5aNk)bFX((H$5(&|uoA%H7L0TkcmF#$4Fi}CKJyCC2OmneEct>S~j_@kER ziJF;qw?^-IJy{kvxgF^(VfnF7t54&D6GX`An82vjQ3=)+VXZ6FwJ8e-$Y6rvknK?4 zT(-5Y00L~qvMz0QOSosE%@k^xjehHy9^qnx=Q8E|MqsdJG*fUUjn_DvM$RiW7v zXk$zDUdb8QV0}owOWG9MU%?C9@X;|W-8N^Ol+IHzxsXR32!={{e8z{iK@N{IproA- zl$^t*+0JGo^EBs7Lk^IbY16-I$ zeTIZE%C{4@wd!$s&@4k2mmv)7ROis-M^hY;Q5FW82aQ$X2z*nmHkXX7$gH4)3QznvZUC@_%Vk-hQibbPu4$L6Z>bV2aIp=hQnI|@ z)-Ct-PwOKc82?q|eYBMq$DuuZa{T(k=qF$=KbKr~P(K_6-HBW$b5NKUCUm^_j-=at z`U3!tRvDt{yJzL`v+0Sv{-$C#^!=>&Do^^9556U(06^gjJAx8{1z@cpehfHF0hHqb zYf_lZi#SmF-LjI+%d?}pw9DSeO2(S}@?=7Jh>s0)qD;eQT$FVVEVgsggb%+_Zr_N) zh^fBC#X)69K@rKx@+Ks9LRJZCT|-9UiwH7Nk7^arq$rDytyj@T0S&PX7ETKgmJPSw z$iP)AxT*f_K6Y$ZP;1T#;>Q0uj^CQ9;7 zTLxm$B;e^K*!LoG87E8Y{GO@ zL{%cE;Ey9H5)m8)0KZyx0CF4=529kcwWAepT*1&t(>zS(ag`)zJmqNodlp{%{4BY< z>An<`%=d+4;~g~rJh%5fV@FAD6~?dDs~XDO#_{m=bv>eiemy1xK$3aC50 zoYt(J9tSzpVf0#8Ii{i|VFf-NS}|}na7S*zF|t^QYkHcxbq*tH+Aaz(J-?&bP1B8Y z7n+|BNR`R*17ClRu{^R6*wick8PFlg6f96K#j-aaVPPFtlm1mLZ>1cUCHNkLu=WRE zW6=q>ZCruQx4A-ex<6`JaXkN4}mm+Jg8fSFHrJ zgd=t;bHt#dlm=7Oxg{m^y`3)e2LK$eraeJwKkA#tgrlDRtLPD7m*W;w!1K7*lO+I9 zK(D`*{ALe315AEqR29W)M^;8$_CiKi1d#|x!|MVRbnG^26nvC<3fjG$Jyj)0o~u=Z z)&-Kg3i2}Lda^wAtSh)M5X(}cP=XGGL^D$;0EG$z9VnnojY0(E#W+=z^9=-mWgxJH z3K@eNT7MckmOJ)>@$nNxcg|TWgB|P2W$lh6>GXvNh!sjjYhy$

      6w&9ebisH#S;T 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 dc_ZkUXpPu7%5Q12V9xY2X8(lrNP0IY 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 bR^0wS7%CdR5ARHR00000NkvXXu0mjfyAo_S diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/README.md b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/README.md new file mode 100644 index 00000000000..c8b773446d1 --- /dev/null +++ b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/README.md @@ -0,0 +1,3 @@ +All the files are in *SMPTE 170M colors* following the +[ITU Spec](https://www.itu.int/rec/R-REC-BT.1700-0-200502-I/en) per the +[Android MediaFormat documentation](https://developer.android.com/reference/android/media/MediaFormat#COLOR_TRANSFER_SDR_VIDEO). diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_narrow.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_narrow.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_narrow.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_narrow.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_wide.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_wide.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_wide.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_wide.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_with_crop_narrow.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_with_crop_narrow.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_with_crop_narrow.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_with_crop_narrow.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_with_crop_wide.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_with_crop_wide.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_scale_to_fit_with_crop_wide.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_scale_to_fit_with_crop_wide.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_narrow.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_stretch_to_fit_narrow.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_narrow.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_stretch_to_fit_narrow.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_wide.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_stretch_to_fit_wide.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/aspect_ratio_stretch_to_fit_wide.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/aspect_ratio_stretch_to_fit_wide.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_larger.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/crop_larger.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_larger.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/crop_larger.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_smaller.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/crop_smaller.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_smaller.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/crop_smaller.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/crop_then_aspect_ratio.png similarity index 100% rename from libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/crop_then_aspect_ratio.png rename to libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/crop_then_aspect_ratio.png diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_then_increase_red_channel.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/grayscale_then_increase_red_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..7b132ff585a0a03a96f6d21f47568ff32a1631b8 GIT binary patch literal 440015 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≶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

      &!%gRf&Ty-WceWHBoN)coYf7= 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

      @bpS=ThyQEohCS#{!z+t#5H z#X7h;Y|GH21mRa{e_otUJoo_eT~sw+oh>QXp5tkbHUsc3Q6#BkJE`i~N^R?@8;h+S zNw~F)QCKUWM+B=P;1xlus&Z^LHO{p(rI&UR-Fi|*3B5gW_y6?)bebyCaGHu#-sf6% z;=xbPSCF zlOstL>qX7h?=!~g&w07*naRD?IH3)+f4ly3!ub6W@oM>}AHt*?5J)QAp|b+Fxp@56GlnUtSE zPi~2)$2%EM>Y|^-@@;V3Q-iVA+sfV;MwVd?9`FFgV!6aM5nOxq+=|!9*0}8+iQ^ZQ zC|d6^T6elRKwfp20Y5v2%VV*J)mjq3j>d>|mPX5~9`%kL!?tMWS4dlokvDqv3geQF+O2fW$W$q76I3xb6LI zx)l{5aF1SdzkVw{*#fIN)OO0y=$ChhUqR8_c?|i3^ zuurj$Nzmcp5ov08pcRi!mRL)dgb!IlQ3FA#v;(-LM4_U|9W-7kl`#m99+%CP^$&(RlzW!%dNBMWIc{w3rw4fsr+vyW*4N~i=nXa&gTPQ13(8C z8|af3hrN~U5t(F>(IMiZ4y6s5(U@$E$#eh(dS-Eh8uOG|^gMzEUX^E%EI%qdRYs~jfb?7d#wd~6D1ta9*ORAUI6~PBw894+N)+q#4fvq>=W}rzu@yX+zutcN5IEdJKVpBQ(_I}5 zJD@?v<8(+_if`#GW{r`KT6B{ zS$TML$h#lC%ln_aj~dmKDV+U_%q*s1`b{q_r^ZmA8BYwYGO(?w?CmQ1ZR>BmPKi-F zB7|-0NN(wBTkkuNLk*_Bx>?16=%Kvb9Z}klKrj%Z#DfoP4UbU4i+s*>HYJHke4vbb z)*{O2R)NtlAnn(ddTW_pthhKUIa|~nt0FT6)3G7VBx$LwMSD*XM%jnQhZIH5)2G5G zbM=Y^j&k8>7M{~nvy;fi*nb~CyXk*`q5xe;*+J3v`)+ZVpjV*mmdeAj@s$7Yk34+z zfKT3iher<|@o+L_1ZcO$B@RzNbL@fWy`XO?2XNtdhjzR#6W%FEz{O)#hA155-4;{{ z-t+gr{QoG|8_q74B5J$M!}h{Hh9=`1FV?34*vVRhGC3-f1YVmXPzr4{N!}kzn+p4) zm>yzuiZEWdO$d65Hk$KtTwy*yG04g<}Nbd2?b)Y3i6F`_~XFDueNwg+0Y6n!Q z0@G)UT*KwXbGEjjUdnTEKA(#&M_$Oi;%NsXrR7OfOYwWKENL{*gn?@D$}iuUfY zmtt^)1gfL7`rt6s1U(xmOBzo!MUkU*iqQ!s?}akoif9DH@J@u-7t1TrF?lbzWeow2 zaOtfBYp*&6jtQ(b=f!2IyR-_NN<;(6x~`wms&`|G@09~rK{}S-B_3MWk4-=>%V_V? zTj{}#fo^>Ag2ifA@BF7{Nc}9LS3vZcQAjmS_>m2 zIq%9@kYibgTuYl?W5heLg6$$arHtO~4u*`3A-FM&efEZ>XN|hOtS> zioA0>azW(M)-}#rjF~c@&rvGJ`;ZKEP3y9!g<$)MrJU$0m$mK^@sCuCWURvNGTH9oP<4BojLuZs`oP)_&l4l6fB z{N1mA{p-LMFzAqYSl3{;YrOY-`st_m##3$^w${OZ;%Y?WMJYuw%{vx~YQ$dl@ecwO z*audU79cG$gG86YaCCG^ZZbak@sH)WL*lqDEwkm6rm8W4{ZZE?%jJT)wrr~BIM;|X zgo+7Pi!n~_n?gz#>TL}rINwM)j#4y>K$DK(2JEmlWJeUKjy>RRK~v*=2W-UGJV^o= zW`f)NXA~Wcf4Rxx*j>kvWgI3S#{ zJ2<l-?$4!mglj#a6k zR}#OY2RGvN9NNJ;sx+o{u?BswNIe!$+) z17?HW%8aVUvs^4O+F)`cv-PQg436?C#>|3cs8H^8YD7d)OPNA3m74RiJjGhk6##I- zRb+mANL|-FdcUNqYs$@LXBJ1{LZV-go1!ayu(hKum(zX3V+2oeAa70vNv2dg~ znvl1aG!&#XO%xlAe5SifSQ^qak#!82AoTZkj)SFUJW({ZV!LtJWzE^e5@pv+r&Hd2 zaKwB*Ck+;!c_>lv)}f3E;A^i)?{y|68)5&P_jsi#iZRanK-2e>WyxZ>;PT>cpF67)T$!|WOyKKuzO${_KKmY8Yo@v8f$6n`~Aa zW{0z#(n}JJSJ3*FL?tx7B|*S}n6Owc`a&_WiOaU(9AH50iH#=VJb40Z5>4ei)A^kB zvc!8Uz(=C^r+@w(KYjcTKl}3^^X};h^J0v1HOuumMLr8qOtzB;ryL&6DGJCZ(C&#MC2tY1arX5UTJM1s3f3jm z^;K6=CZ#;#den~Gq}^Cf%1ws)QzKzygo!MrKr!mZh7st{2urB0N7rU-lmf40@=G*H z#0@3O1Q@ADro?nXiu#*x&)dJ`p;m$UcLfUXL^?(Yq0~`$g?e9lVXM=VN#_%$wT1qKKyqs1| z)W^69)Y!LV-WLnqpY)LE%MsP^xc2ukxX@%_%(JO4D65jgbuBYhuQ~1kj{CR|c6A#% zK~LyPL_Ct4?2Ar+8_~z_5^-Oqv(TXhtqmf;(dPt$(udy-6aUESSg)Wsl4Rg4Wc}mh z&4V2P@1^kGd;R+@@Y!=Y&T=CR6cxrudIUW&PX08#0BZ#C1Ix0zUJb&!h}SvjYjpq! z$a*7)b;)(WD_-xETl=P+h`?D~=a8nj-`>W9-wgNrK3*Ijj$r;CTs8qr7@abm&bsea z@E#s3aE)VAZm748XTN$5=?D&T7PX^T)=Z`ah0)@;p%i(lA=NwX9e{j}VP1Irf#?j} zL{FFB1uC`Doyem1J@do+R%VHB8La43l2zwyHv_DcLZO&Wr%WaVc|O4yshiKoIjPoY zU7%DFXySw9KsmJ5OlAUb9303D>t<78?Uu4Ean9kr#$-}IZ;TPkSvQzP4l~--)^_#v zvK>jVSF1IZm1PbOB>`Tg6=!GiSwq7?n$a|#f^-0K+zo8RNbe}{?tkl`akN1&)=WLL zTdKO^SJfp)Cx<-$x?ny(;G>T|;?bjr6!{pXG__lGpoX=!8_?w@B=g>O-)+j0#bQZW zmI7|n@`O2m_MGK%!D_Q+xm@D54V&7b5>5TP=M=L7>pj2u*MBE78l^O*FpN#k|Mp-1 zL$}Szq`>Hd*dl_ksI;R9Xc(;nJ0t1ZmG`b=9`t}rU>_-mX)Kq|FT#390odt*0cRb~ z%CW@j@0=w!hTIsbyH<`UbQ-}xDP0mLm#wvw)rQrw#D?Tw)|cX3pOx;HC*?^3jA&fb zStWz8k>V3FIv8bRNkS4OcE(adHe@mc(6IH_2IFz?-tM)x=oUieF(%&y_fmyw6k{V` zn5}D6B8-(JN!YOM2KLmVGon*PGY~a?`nv^_lZ=x`Fi9q8r9lh8FgqMPzY^g@IPX!( z5TuE$8GmgsAAyayOrjD2HwLrO$)GGQE)R5WJayyn*3;0?R25Ba`O&)%`T5`c8Nc|& zU-9ve9y6QHn4cU<`G<+BPMTCHR_itEafaJoVX}<*e9kz}*;+?2)H6|TCs9*McUHYR z(mL862*8-70YR0LOj&$;VByLM@VH zkM@>{4$krOH}#y4Hmfm|3pJD>bFM?DW^J#*Vf}86Wegpb)e4@Ui{r`Rq4X6VaTf8& z`x;^Uz3Iq+pTrWqdB0CFReaJwS;2JPmz>0h**N^a-;tzYxedGGr18~+Wuo2&bd$}* zv|>1(co{ZNz+Ac*?vp|cv*MU+6+SD%at(dC%*)#S-Z4q>)DU zFrN>vko=#RPcR3kIC3u6Ezdsthd_l=P&yU|iem?PNHC2SrbcC}zT^Xh{n5P%v~C4p zsRAwD+)z5QUpo&T(l|J9a0^XaK#f3;&m^JBjKP=$lN)lAODRTPVDgOVY#I`;-7bDe zT^E7N6di>Gox>Cr&RX)i#%(S5EzUXC>orwv$rlT(vq1>c;cZFVdYo^mDvwgzP^w_X z8noOJ+-6BrLoth`FOH_^Df&Yp$ug886wNnl4f}SX-RF35g9&&07*Csv=D_7|7CiWP z%jJU^(?!j*wdKLr3;ycof5AsTc#q5a-vu~OiaI3MMLx!bb5>)h$`b2ytcG>9;-d7N zJv(PruDLwFV6j}XxLDAXj`ga>q>8Fhm@zD!<->f+&X zl$b1^U$R&%I*Uf7f;xyAq^nBdNc#sRL9lcn64|}F09N3!wP!&|Wj&YA*U~OR_M;K8 zT~~`ni!qu!pWs|YVRF2$(V;xYIfrWn1Tx4hW$ip}Q{&1Czjd^wqg`#g(yii1F*`8W zO`Qld>9K9#3q2 zqYrZ4|LA@G%YXeZ{HOo)KXHX69~b0#7M_7}UB*UA85(y=RbJu!2(4i{rB_P#y%-_v zCQYN1Ka5VS6^)7*tCcWhFD{ndXW2NzH=b1qW?=gbBccdNOp?Qw{R&lr+d|!5p_36x zi|z)1F(bT|?kh5Mm69&Rslj^%Dhp-H(zK~dDE$?7RgzB%l$Lu|DT}7T*^1i2$?;sA zVZw~dcj=#BTa3Ynd#kP+jL|qZlJT#FM2999PO(}+dJD*r{@^`60-pGqi;IgMP`g88 zBgSnE-2KmAB~$nNVEtavGdFyry3eG@M`lO^9#re0YE0aS>29d>^}w%Qy>*aMhh(IH8dhHu-|`0kSYQle(!I{w20|s zPS50lS9{Gf;Dr9#&gey9b^ zZEabv)-2a6&R1))7RGrFjU`PDX&zh}5=D|oav+1)o5d%ktV4Hh1|Z3sb+%)2XrpoT zvz7qHq*sZ=q}WtMbPmN=yZY|FRlzgN&&E|Lq*FD_ZHR}`s% z5zM9qbzOJBK%7NhE|)A83x55(-&1ckSg+XHnzF1}uU4F&ov}RM&^pI@X<08yG$}e& znA41d(}L8b9Oeb%Y0k$Vf5PL(j{zu(oTH-yne7b;(NpsU01Lkj?Md~6%mH}e{Vqq} z4Q9@E*aw5QP?jaw8eP^bqgba=s33CboW<3Fl~QgvJUn8Y3#g|v0=p;ZKqR`WEzsHs zK&TYj7*tYAf;Y=LU6{M5>`9^^kyo8~;!`YI)Jo_MxJVMcV^<3U5#hn?zxN(Dpon+O zjyMyU_U~J~2)HWAptO@Gv>}n1%)z-F8!7*)YSHjesfOl?#yZ+okt6{iZ5YE;yFNS6lCvjA%Wgtc3wr)+I&WQ%Yhxao!C&=N7GYpK-hQsmz*RIVWX4&F;El zm|l}QtYh%1K{Y{?w3gR$wc&~@#wNwL4y6?jAC5td!#Yx_W*YPM15FOn0#5uP3rnx# zRu4*a;we?Fh_Su^+rEB$>QT_aI?+W@u@4qzR=@xA}N61sfbMxf(* zNFt_oY-5#@WKjpfKVu5gK-JCz@Q{yl4(12sc}_9WqyfkfkR$1U4V~>KcS#UR1iD&( z=LEd*&ID`MAsYp7HAOxKzd@-2?=rNiSoso#MfnuSscW%oTCdkw>nVevV%u75<-&Op zR)-mDPL1%w&OSY7(QKiCgEZ?v4(OR2-zJ8@#?HEe;K!mNl*EjoOjtefxW+L#SaG@4 zEB^$OQG%1upGS)PAgi2!Q! z!%B0CLNl4?n4>Yp@f4#q)8j{+93ArUPk+WoAOC=7Uw*~Ge9rOd0cmPL%e8ale05n< zoM_6bq%IvEM{QfY>uK!~OjAk{e{Hf`2j?E}zCo!(v__o6*@nhhY*S;c?MlUmaOoEp z&pQ#)$M2r<;K73qFu!R#Dpe?(V6-M18`8GFPnty5vk!Dc_EQ@M@@>-p#-v(waDa5c zc#6Qrj{8BNW$OU2#d8#y5sDu883G`_@u*aF_w>`VOWM}+;p1bpHoXlwey0vy1u(~Z zk4ZHun{*6}db^eKm^PG38P6<$ux;z9DvPy_d~C?G43kMsfi_y$QUgHZCaSq;!pORt zy4e9aBB(J0x_0a%TaRrlP2JG8p4y5)YAo6L!O!34umAEF{OAAnKlAwUV?O!#w67C= z8zT;VB;#_fU99f;U?wst!JMD#U)0w6a>aFn#^T z7Oy_Wh;X=rLI)xJ@H~nF_7GlG(v@h_aQooyhd<;)t@-W0{39+n2o0}K_pCv6tf#wT zMBj#9)%ffC8pm}d-&;o#p1;F8%X^Q*@04R}`e%<)8s{vWU&05kcVF)Tj{EqNi!n0u zKc%0&kHg^rcz3hv!$dx^0^TH`{QxWN-_SRV3y39-)i-j9&;bb^2!GvKqPr*qaS zh&gLvz*q$Aa7f!YKt7A$NL=SPjSbgzO`roHD4UbO)`V>Zt z_^ZGDE1o=i%0E22gpicecrMpcoMg|5yjZH zr9*2)ix&~dL@_oR9u@Eu&dQ2Kv*lpm+xT7C8*n#B((8S+JYTewYy(d%*Z=?^07*na zRC$Lfm(vYTpPpgNXZ-Aw_nFS7*bNx1Da(@0dd1n(XFPrKlwbeqjBUB)>xE|#gjowT zMWLA=7<8(b9gHzX0IQEX&E~Q%+7!FymZYJLYqaPfj>ED8fKd;?bi=SZg_d zw&v;A&u~@%=s*|0v@Bq^W`78##YA5KE}1zS3Tk@qX`QF>A{6UFB5rF-X~o4Qjr~Bf zcOJvBJ`D)SgVUqnz|kiG&e;wuh>_-!{P$N@W=i*;A1W1qrX73{OPJDB4Xl*|b1Hy% z`-zD5avq{*i@F*IdF#7Iku(e$A9yf|MfrrFZ}gi{S|-rcYn@Hu=QV03_LKKQu>5p zf6(|{;dPMYzOJvXi6h5w;VQI&+Oc2Cb!~Yco`b$GF?54x%w52QRw*uMLA^*@!TF{W z4}O`5;6@!gbS)YiaoiS{(F!mlw4ab=hX0?vcl(hX$<91~ZZsO{bPtcnh{#*ry1Po< zElsJ_+q$8p#SHdo9tMk9%-^uU{+;u*!0ZBx#q7)o-7TqAs!CN=ULwM8bh^=Kz7NNY zH21hvR#s+R)OivK_wWlzHyUZ@eCIpg`Pt8^>onybqB&p;`6hOZ37}8t65{|YD7{1J z5#9@??e3mOZ^F{wbCa-W`kC8) zd$X}@7IVft1s=S{quaN)0LNSVgR{f?S-e%mWlD09VpZ~fcEfkSEt_#YfGZ~=uR&;d!Q~FV z{8Hv|3UFvGpE*5~@|JiVN1vv;2Y>miU-S8A&zN7#`Q3ke3iB=GIn4%^iwzIn|A6D! zF_#xFD5v*u&aqrAY33`cqbZrU==p-x>Jq0Kl-?I2GyxjR4p;6QhEg+Sac8@x=+SGj(8$hE&TO#kkxlTH% zY$VvK>xTJaEkSPxR#&SHTkBYDf~ctVc;6wSqM(!^&r4=AP1kzXn-z6!L#K=ZF3yZx zQR8aD`I#JB1UX&@u<_LvSt0|FA|k{ZR*uh~Ua)E`4 zH``{=LuuQ#FP-Yk`jR=_cD~m$SuI6`73G-CW{eooxlYPj!gtJA0JsrQ`feWt3EQ!U zj6EZ*@m=BW|y^Ds&oB;WI65qC=CK4>R1+ z?7x0X;1=(#ugdn%~$aV8=Ea0&|y#n|zYhI8@FCS@e{HF`1D8+lvpYzE-{D!~(?@wj>xuWhoSC>~z$}x`~ zKH%iu3D3WL$|{tm6i8dodUY8<2dJzK3wS4hfb$rnQ-C_?Z`?a2%JkrdQkrpL&_+|0 z6SUC+P-$uJsqMLk!mXI{xq-ATTWkXWv;(>nw};oTjlX77IGx z(QF%RV{xv=y0*{M)aymi3y^WpF6u4l{;{eCNblKir1YmO&0afD7=$3lGsC$am>l1g zrNGLwCzo7&x#Yi?{|luwAN}YZth0Rj*{A&GcfaBH|KoGATroZ_dH?tbM~T*o*=)jO zQZk!WXkDOnNoh)sk7t;&z-WzijyeP)-g%bG6*M)@Z8;j3)O7MYz_TpJ z{N%?o*nxM7r#xq|SnTU7>;W37K8MVeRB*Hn%pB(|zVocNGWMC$bO{S71?SqpKp47{ z=r9)~XsfEKpKDFsa56m=c8DEHL{b38g+sRonMm&~-aEG5(B42H@$Oh#gi^a6|ULWoxAbXI)ExKRc>8IyvI( z^qlF@5r6X0$GrdE`}m#b%cozmsujk_@4a~Og85>>q%1i(IYAdie_p(c<8X7SM?X$l zbJ+Sd{hae2+iX~GL<8pG{fAh$WxcVX#Ln-1=O)deyXL^5-87fdas4K?S00qK15V$M zV{0Q&K|=Fa8td(~w7B;JxY2cFeJ_x8qIQ>o~UlUU+c< zkD{vK>$mS~%=Xsa+8ebI@ONuCpAf60$r*GFTqifjdNc&Xo}07P{{p;o!|UI+#rt!H z1h7qDSN{Zpn>Sk&-Dhu^Q^{ylN_ z?w!Doe)Ivq{IkF1(OqDpwSpXEaZG&?HfM{))OhTK{;KxRgL+fHs5K-$&Gz^qND;=`;3fuS~ z+$b6Yd2o!qlbNiP$b1PCYsb2$XgjX1u6XhMih8rbp@&ie=h=o*6ua5%Wkh|TX4?={ zC?gkp)G+Wt6eu5;jFn=uZE()*^4VKuH>#zYRPtInZ}|p8KDb?hsr_isL_y1 zU{v+&@0&|a+FLuV-0gf0U`E?-JI^!79j^5}pT`WVr8@o%&*yWVJ$=rTCr@a$kX0rB z@c9KfnmkvWzE|+xd*__pyH7DLduC27QCc+t1rFn>wZ;W>Sy{k(=Ix44+!NNdTlF;|NXRW)XMBy;!b1ytiH_a8pQI>&ZB=i>Q`pm~6S+16{m#du49UdyLkY zsv-~NTOjReJLmgOP2PK)9oif}zgmTRVfg)C?=v^Tc~76;#^U$hgLcF7^!3B%hZ7}X z&h%4EsliX`ZMZ+l^{6CC6pvX8Uo?V#<0_ZA?=4FCz}(32zNOi2<+o)SMjODRk*ro_ zMyRqtDG}wKz6`bWHCwln4l+B$AIx)M38$UByAT;G2cy?4-ZnCD^+}7h7Ux^0)e%l- zvJU#;idG6~>gqxJU0{SdCRNTTbyidR;7|BaD}MWTzs0#Ntrry{?e(3}e*P7>Sep;? zXkW0?1@^{G3^49^{pCz6wI@KGzMh&(?yK=ykS;2A$o$=4{(xE5k}z15LV1JrD$sG? z9LwY_!131pVC{4Q^-iep(OvL}w#3GQ@8I+$x)^;ATCZQT37~UWc>y=#IvpAwFsc2sWnq35!8c=S+R4J-p+VMam;!MihMmp>t93_1*{YB1b7N%%I!f`pAwQQ^eCCzpzwftV~ZD$8PjoY=t`SH#t4o)Z;@RmbU zi6f@NF;8@bcjCC8MfS(aqJ#cMn*EBw;nC5Uy7koa+k(s2XMHQ$Ti!nj`Wa{Ur@VOa zjLXXx*v4}4^pe%O;q%Y8v{*iRe}G%2R@1F6KpPo<{4V0Wee8{`+zRSDsKIZ=U1Exnu+&e!9 z=*AV#>kVv-o(XaA)=io$ z*WSPJr+oFC7?>!BuRBsP+hJe%!Sf&j>umyFE6O5#?kKY0991QqO`O}&gcG1mMpeSS zGZ=lxj#9T1VbkR@(KM@|3)!snij3o>f$X-7;j7vNj<-41hLS_S+e?O|&!d=ZR5>!G zme#}xL;0G$^KZyM}4 zT&jBztpL@=4A@YH0y1yo+)Y6atrhil!|B3aBCe-X*?d4Nw(2C*m?m6y{8ZCv=73bx}c0K z3-4)c1PtP@)pG1QI>!p5jC^1e0%D~Y)oWCejXrdyy)&$vhShvS9a?+tTdd)iW9h=# zb)gnbYXi#A#F}*9Nr?-C5GsI*K!>XW5K`l8i`Sw$&`EJHdOW2>bEXTja?Pf(Y&%a8 z*#a5Z&<0a$#o0`btFB$>c=BfJ#0Q{5_LIl19b-iYT&*3y|MUs2_2^uowW8Soc|q0Y zJo?~_YFtsyjyXD-;`JEowloe(Q(($z9~?%O40;Hxw3i9(TpPwgq>i<^q^?DwVm6y` z@9Z8`SxScv=g~%Uq>u3D4^c|QFMa137ly5K)b)yWv*5*xi?FAb+-SV>G+Rs4TC!Za z++>*w6SkKim4~#;h8K~~7#trTmq@1|ar9@iV~&n0VHGKbRvAT6?q%0?V6JFmFtN-; z7yTY}5BeE!4aO8bD5Qd>M^o2W=h&<**0nfG2)rdw%re`9FW&oW;D&b{N@qRDvG?8$ znftUe($}G+N5Es-#qyJ3g_P}uyK2-rNdS^8Z7JirzNM}Wf3Fu?VsUL&`k)WugxxWY zqN`chu428|^6axYI+u=3UF&ITht3t7jpgCv`@H}D``kZ&!1?_%CP!0BGscvL+3^JH z98JBZ-ZpqY7a*+=AkFPD6jA`9xmK>zm&vK&x!f;(!n9Dq_lWEpx#{b8?~Fm158};f zNmdLBQRqW8^;_+F35`uk|IA@~pgX=V>(T(^i0J@Y+tA%A^fwD_hZUaLY)YPoavRkm z;Y&73fJVyPh>ttC2IO8lu3PNzFypsA`}`@BlT-53pKx7e@SEFPfa9(GLE8i13t+Jm zkxY<#$GCtp9~cKwcrxl3MDfw@d$2u4D2qF!o701Lg21<3JKRR~CX!6gAcjD~5xzx^&e-yrMIlA#O9TYGtngrujy)g_dH`ffuk zc`v-bWB(jRc15%|0e18*VIl|`0WMtxCn_FOl9hn~ylDv15aB(=)#XAQn2BV>GNmX@ z9-KvRH53{a&hhliFZuFn#h?A?F@N({zv9<_^=qu{sB25pteMXjI46Ns%rw%vz>;uS zYiSw@G)+J_6dK!D=C+}}q1N0f9Wp+lU1!JudgpObfUX(7vpO8JBq&o#;hn)b$NZ|M z-mLpzxGcu9jc{Dsrje6el!0|I=o)CFDJik79ga1Y%;e%Qs@UofE9EIpL{F`?eNftk zz@;3Qm_lPr$zru+UDtF?5IVH`4wKe7XEOjtJ#YI?C$DO^efO^JDmoE+yS%7zfmJeZ zYmW1Z_kJ|v=Rd!XE;NrHyf58DOo`S8>p|;+sWE+PQXhhCjl<#xp+X&ll@e=JF9d6? za&Wo^E1xRPAST9-<{*=r~>X&niY-R;Jv3vg(bte$hD$P*bTAG zD&6gjji`~*b)t3AYo?4fRaH?{721qAKAth1O50nlr7KWg=)K^uFS!cfh6yE3?uKl) z2t)=JNG^a$MnUJjXt`KNZ6aW#SZ`|Ty208FO%t>B^8TTt4(tINH)$dCp9}45)7HCt z@B7=G`>3fA$1&cy`mydsTxA|cP$SD!DA|I}N{NC6j8-U<;jL%mymUGNx|I{)Ba~WX zbzp{QjmZ=$GfZZN@g#Kd2`rA>Xdb=u2wN}s$xlAwCm;QUqiTxE1)PdjHv(MNo0`@} z=9v{87NzNWD!q)Q%ML|Q!+DSTE0M9&gC08h%*e8eT}#8SXO!{Y^qfX;){7NuUQM)13O`CDg`6OHxp+Y!Fsi!aV^@& z{Zy$@Xj)4Dcl3F4lgaUZjV0#MpZ^6{SC`D^3;G_kuV}Z4h{|#9zjqTL@g`UosZP^= zS<35Ui^Q{`wP91&V<^$D@lS2jXq2z!tE(=%^>+I)F!G!!>P;mQE1f zp_RvLlhDh<*l7Vhj0&%Zt}&|BQZpX{MsK$$FXNT#4A^0e4`QSv8ZT{RBZDl<6yvF8 zV;$Nm&a|U#J$dZ|t0JRq_cQL_#47STL5^rHwkE9<=S=ze&mZ#eokzU;_(xJ+!Wn(SIXpW{+R?9kc)39K-bY4J;*zVA8-Hiap06gvMOH3vu zWoejBkAk>v$+SA6GIIPq%fV~BOG~Q)h(;dLd1c7j3$sHN3fBq?p){r!G3~WQl;11w zIzIBWoyXdSvaXnn>uW%VbB@f*@y9MLH!(Nfq}fdXBCrFfl$eays0TJu0Z}zpWSOTj zBHXGoh3h;;QWDd3Tj_Gt*&g&57lzzu@={~UjH?%O$RHmZV8hv?2_Jv_F=uD@IjK&# z|L{IX)f8blY9h%(=rrNy@dS$ zG6h^;hwx{#$PhVXo#+5u90qqOxDg*cHmnB&FatHp7_?CsW)4nwR~%QMe(I>MCT zTpmhMG-WxW`VMNJ+fH<$)*E?@>uMD3j@VE17t>ME$@@{l;y}A2Mn+T=% z%kRS6o_}!*YvVQA#%^e=W!7Fm{`!>+-vS(O?GN6@z-b}Ei!lU1_88CYg+PSup^$w+k*pS)QNojV9)E`(&N(J|B^^wZL8(y>-Z=+XSHiIL9>&## zk3ar5Y@OqypZtWg`zII;SCZ#=d{yF1ULFl z1Kx*VZ~w|j)%M};I$N!W06`_kchlM0chW<)v2&6!*HZeROmNz@!vp{)%~bBBSrL*2E+-|n ziRB26*eORR=R0;wm`AbzXEJ?8CO{sOt@;T(MdmaeTaGHk;9`u7(VHm;;#_ zx-s0pf6BV9VJjU;+JGweWf$ys2ubbmweeV!=Ne<=f9#y&tfQvxgV|V)BIRIac+EMy zc6d`j)5!P3LK8J@3av3^iN^JM1J1b+IJtg|y!IGiGN~wvnr$^c06I2U+emw9YxlB} zDai3UgXEXBEK?A5Xu7OtY#eq+$(1HEU~-Kvf<}W?=tjA!Oloh&=b2&Yd`&d6-JJ5y3C`Htf@V*^NF>WnUxo(Fb zf%6U@fGgQnOr-2*kZ;l;dYvZwcYAXe2&F0lTwMDtz3zwW|4zXTDMcH$S&j{b88e;6 zQWF{HNdeild)v2{uIYBd>WvHy6@<8b05qH%0FD&gh-QMnW)la{d!&8u4P+DV!M8wC z%ITf>ExAdy9hZbx7>eq&V7uC}TrKgjmAaPxB|4O7S4IBH+XvwM1Ah9^b3Xs{A6YKz zYhd2D)d3}KO?{Jjcj$HBZij-R-^OpyN@1G@E-&H1>rYj_1vuW?TSMA|`cXoO504EZ zLJE>i*6izVr1mD4rO-&?wRX3dB5aj=r|_i_1?;u>!sI@H4t_xEwFZ>~N}LhH&@%Nl zmfsfkI?VUMYFs=WG*Or;mj%{adEMsw-}5^tLsr9f;Ioqoubcn?AOJ~3K~$lgZwwBBL^O?Bb3KLo(z79XLvn}k@iFXxPS_X07 zL-$o3Jl7*}rcxzz?+5lqT*sA?jw+=E=M^&}%JNa&-n)Uh6eo>$pvD;={^A!nw_`FM z;epzM(}u3>P!`HC`FvA@a`@ciHp}4Hh;!q#0+r*vk$n*Y&vIYGqW^6@#rI$Yd_v#o|CEOhPPn?d;y?fA|C5VPK4Dg!qf|y|CcWsTwG9~0 z$U0P~1PCKI{xAgT-s6MtXVmG?fi>ft{2k}*(R9+Ei;dl|UN_8UmS-2wU`O9^BF>q~ zq@o;4*Ain4^M$;=uBDq!*Lhk$FlcVG2yz@BmyE|1<8g^nnJ_fG!dVZr_vy8iPBb#KRy1`j)f`Hpw87}2-)ba_nm_H3 zQcj;>=sx&}bsc;;6ZG2xdn2+wfV~CXJNnKhy~C}-CFA1xfYDuopLf|53Oi!yE!rxK zf}EVz@0iYB-w7E1?9chIoblV={g&nOO6F?lY8IL(;iCBVw~wO&0)V^>$Z-fNzKqcH z>#)gG#Iw120S`Xsb@!uu3vj%(e|2_&WQM;^K$al^f7IIW41fjwE}My%#2j&JwpXusC2?gq0RO5g$6=c!q8)WkIje(d@#yIg)c2_unA_41Blx9UVg} z-Mav*ubRJiu{1IU-(eG;Pwx2q;WjH|e%bK=9394z-xMUOxEriHWJ<*nDyN~d1Mmg` z7z;p|bJFU#v4)Vy9zJJ6J6S(aaO3xnO7MOp&YczKP8S)4FG4qyEYwhYoECb#+dyNj zfPYG3B9lRBYFF>mv%MFZe$qa1zg}70DDIV-PReYQR(R#OE4$eT3E7b4zspi!BYr-D zGTIn?2q?7Dj6mf4ll|GU|NT5n!pAzOe&2J<7L;7sWlyzb}JWp>pdpd zOvgdv{&^!_`K!`6?yx*p=t|MfV=0X9TYv)mr~mZ7@E3paEB^Y|e~HnWEXz1MyU)iT ze@s~#{`v2}V7C*{!e~WZTYS@Tb#=vJvEcmtoqilW`*eM!6lLI{r`;x+#$s(FOc%Ss zlqFF>I-Q1lXBg)o5L`{h%w{vr&Q7SRF-OxW$H&Lqe|S!5 z3_AytBlyKH-=V4D>1P+%*0BxOr**CeC6rQ_1I-L!)$D+RLw$_03^!Zr4(@x7UM#j} zr|oa|@UCgIciO~rt3u|0i{@cV_OQBas1qrsE`Y%gJ4eLu9?wp#%1Eg=4E~J>;iSAaW zc(uVhg>oU9NX|KM8l~OLf^@m>q2QbrP%641D@`-1i*0Sr!a{L5tAspIBi*%w}-@3X8%Nn4Zh;dA5~t zh=_fefE!I67##+-*>z^gj)6Upg7oI#H8N39(cqGCblKc9gS< zrm-|ljkcC*I=$Z2A?`zmVg#l7P8-&_-ZP5AcP>z%gHaFhpLo9dp~4oWAIW{*wBj9d(qm+lww+*vRbX!dP|>L+0(GlxWz_P5_us2{@%va< zb+fexGX5!pqpls}W6i@y$NZ1_1>k9OXrFJOn(%-8@Bb_R+kgCzJbwI``^RSJkfY%7 z!}sw{v07MOym-#y>Pwt+G*(MMPL44ptBWg4X$BQ}C+E*OCnY9Ly$3R+K!>$0nv%>8 zSC{ji9UfmVSUg>DdNRdZgar})Iq&g|Fs0#acAvA^ed^UIFD|cm`o-rwt6$JAgP>uU z@L9OYc0e8i)ht&$n$9Q+VNR%Uk+_g)550wN8Ts&o6M;$Cy%u?n6_`vXl-S5K6-a2j3yrh;kNXG^VQ1P0e&#QrBx{4xwOpz-^mT96E zX|6P_cRh1M=kfZEfr=Fnx3hS!u|Zo%X#FB4TAG5YtjM(q^Q!B?P5ngi_~Ap&9~J$n zDQED(Pfw}m(n@x*Sg_q=xq!32*NL&#^#E@y>5z7t`L%8%N-K`4DgNpzTsPeT=pou6 zULjqgXz5cWO5T@tv7XjB#zC}KM+T2`7;WU9sx(d0^ewLmj58CMQqDV2SHrnwD7iJU zU2zBowRSk?sb<3Xh}(3|W3A{9MP`iFx#+f48M7IC9W}m7+ir(-akoprizZnsRd_u- z_g=mN8K=QaWxchLvFP_13t9&dGQAaqsSp7bUBS2%pd`6_569PEQX;%7?nFQ0zO<>GTG8SD{_Fn^*4l6I!z zs}l}iZ8x(sBI`-kYkw%8bO(PQzMq0sNwbX}j3K-igZBu=+{NOK?*%{YR{JLNqeBAzuLE$5kkXX+ z-RN6v!fORD&%nrmAK&r=UeWh>sePuF0S`vdjp5S^n6Cu2_GiMvpmjV{u*tU|x{$_JW#g?1KGK)qgvT5K!b9<)a11*XvGttDzOq>B5)cJ)A2 z&&A=;oqSGdg$e?NCLF`iF(3=aEi(Nua5rC$y z_rRIB-MSW*N`6p#-v=9UpSeL5L5HDpVZ04Q-3z|js&^jN+C(aK) zw8l(q8*V&{g#?_t*-Z2?bWUjka1;S6Z3f`3uGzLCEZS}zHnxcc@=TEznoJ2>sqbWB z64p=%m?N;3D|4fh?!BiCbKHlPz;O=8fEmEK4(B%DvZ2Ln>#!b{%M~cc^k|B$8;mg= zAJ3?&in5%bwFKR9oAOxVoI$AuV{*JTj0;0q791bXc=6&nS67$Rb;D-U>}llOWJ6hr zz`BPTCSUcv9*Iv@0N?ol;5xFb?1SqpGXo%Dq`jzMN&<*zt*IszWmWZp$x3-tCg(kZ zh$hzo7!d*7`CL}dtu1bH9b?P z-vIRNnmrwsLQ_^H)XngjaNb3)!a>jM7`B*dd}yVZp4<6YWWP2f~H^0L6C%|L`p8<=th%lL{w9gDp zK4`+@hBu?-5Cc)zFa2-~6hYSx&mmCz!VmT>T!pl~oxpMa>H&5HzS~h~mz&AHT@nzw zZXb++u!xQZ$0Bt$T!^-n61|VH*wmNATuV0kH4VGT_Ij z@Xs19uLi~i40CNb8IIh?7iIFOz}AT8xeU~zCOC#LIDsmFaEc`Rq#^Sf;}yOWQBLO! z)*7r=uXvd2Ar-8%P#u>gp1^Y1mjR&VRqCbYVNti-RCp{5;nO;Kps*4iRV!k7?$%^Y{*0giWLl*d3x_ z5(SApc?j&ySlR@q_Y;S72XF@k9VvuF9fJnUT(bjMDu4G z7<1veP#P0ZYUeYw5g=J9#dJEQD2Dl{l;)(GP*yovC`-)8d<`cjXV>L>0?0}ar5KSl zI#M7lHoiZ-@pj#?7Ogj;oe>jEeV02wFgTnSe91FtVnk2@1|~}fIClL#F0wwo7FI`w zkg;6Ywh3aSc|w|rWjQg9)>?G4K=x@$LbonqX_x|*7sy=vA&8=Z1R%H7*1q>4Czmhy z;)^fPNLil8Naw0=`7mF`+)eAvw?*L~YGMUOm2FsDzF@`|yiOgCw*bdm`$1XEMn`iD zf#pqs?W{_aHn!VDt4_2rw*S&JChYF(^y@%}+jo z;~AXXgQNV_0hyfSyWvR-yx2+2q=nvL@ZGS;(cX;uN1G%m*a&{4zek6KBrTsz0RWdg zN@t4z_Kfx!Bk}W*e3D}98d=~igP3dD9yn;NlD2}s?VQK$w#YEu)$Obc#~tT%1S4P& zXLSh3^mP}=xJ?s|KZ0{<=?4tI>2-?NejE0|O#c6U=&I9(awh8r!L-!Um_(@rL`#4- zK(sgf@Hv%y&ifJGXK0s6xr+CYY4QLPl%>IKazZ;RL8#F= zd7w)ln)i;*d9nksKcy6f9vpw~JcTxWaHEuBAX4Z)fKKcEBemQs$rvlGFev;%OH(Q1 zQBqc*HQFnr248{})eC3J4z&s8D*hn2?T=5LDp=_m`8hq=yc;1k=j=WN|RmI=@;zzvu?z=pH{*2l5jKVBA zJ)ZR}vrW^os#h!)bJlCQQ&eSz_l~BKahp!3Os8OCtKFb);Mgx2imV3T4Y~!rE`hpf zRl9D><*NUDSrlMIfO0%evff(2`;(Jlx5ko2;{i#W-1)o zbxjX-=igdKG154%L+MQDa$=0U-_#;{S+8qMQL}WI8?ng9h*`J3{%u;%#t8Se^b%aH1UTrYQ(U9eKA7ON zJl3Hs#T}3e`pZ=9C(8Qw{r>vbMd0M%bNkGj{qKSZkXDswrxnHUULMBy2R!kVyF7;)kKyYzqd1<0@8_iyqIzRLPiJm;=;V@r?4 zd;dn;!QN%wd#vkNt!ifO67*Yu4q;W}ny<2^F^V8>IT;NxMrmBn%PnilXJ zcr+s66%Oxh!*PGIf%&D-6svMj+3p1%y-*cFUN3W~H?lxavmx-m?bho9;_P5gucLn- zushfUcDqU_3o7|cw8(Bq_Zk0=0<*W-R~>6=vCB#PANxo|=Pe#vg8&?#uL=8FxmL#qKv>l_qS0Ky_z*CqhrfK34V zuMIxI2nZGdGYKSO(TVj+44=t=&LWd}nimD`v}E&v(23P4|3hWBj0e+ileNMAKeRNZiODWx+_ zZJADw*vy(epaX`0A(oX<4h40wq@pTIn&TPs`GR`2#CeZxEbEQvbU3#rcD2!Z|2N!e zaSS_9#Xd`;z}y&2MD|8{j07MviVLS8n2ghI7-OB5nT2go;hn`fOYK3?pwvpr7@A}B zg{P_trpLS#J#ds?*ZR#*AU{c{AOzOK7TS#@J6ao#Q;*0LY=VNg4-6TvHQJ0A7jjSj zp(ONQ#oA6p++4teo9jvYSf+9) zE0cbA9E4P-Whj5KJCu_-p#4r-vFZ^=ABc~Zr_6bnzpR?^axLx82bEBp8@Slh`ARGp_`1J9qr zqlXNA{l1yK1vuW?55@}Qp0Yv$zx7tSXT;zy0t0E83cMP%AK+mD+!rdK-N9;<2w8?> z*kd+)LkrCiA?zb%+(+vHkFWsFW<$MY>xRY8A@6qPlMGDg}N9(`p!lv`nREwWQ3Bd>EfNc2Ad~ zPBo!Y7UQ8^Tj~?U{Tx1~|6}lf2xc5&?_cE#$8|nxyBxBCat1w+_+AP^cy69|I|la1 z;W4C{uk^jc-*?-#zwZ`BN~dGE_aV$%c=BY-Vh-~wapPR*lH!^`ZASEKa)p$m1VOYo zK!>cTg9J5b@I?j~wC_SD-{Y;qcWnqnOs`3yltP(-bx{z34+&zl(jo94bUKt$&L}51;oolWxFWEE#%se_jrfw|rFVg1IUu|h? z*gRKcTG4vPW??xyFR7oe$aBSUQE+;8U#@ZQSuIy6rFc;q8f)=>#e6~FK!id8wws2=T5Kbntulx<8YA;zAJiBuGK5sZ9)jUIi1Q%=8xahMfJv&G zFqG+BcdFyO?zLqi^ToIQ+)6W$T8aL~a=l{PI##RYHK4;Qh3-qJgw^4V!FUhj5*5ll zDlgzwUC(gNv0Sb&D(ctj+4{@cr+uGo#WXazybfsG@MI)`L19!3&)>XaU&^pmfnoK76O7uh` zB{Tva-a$OIs}-0kFfbT|J=0Q^yW-c@Cw`8P>!ZKk$~>%pt-G#=X05yz!40LLG$X31 zh=Y!R?1z#qNvz$#W(&5FdzvDaY8CX#^|uL-6*;Gm9)PVKJlCogLe z+&E-!T>IR2#NOCDhStN2OL+JkMsER*xAq5S$4CoUKw92yfFQ0J>HIO{9V=sFKH*jO zx6K21;-JZg05IN`=DaSfalg|;3U0*z9Yf&jVt_6QVflPmguIu9&;x|O3l|ndJ=9`0 z4Xj$YH+wT62jO@>h-JOOcEF4HyT$@sSSySFHZ6rt%1j_+I=n2hWws9_M35^5I5Ob5 zmxcfMXb4hu@;_xQzyKnoOHx{vl)7VwpG)m!=3M%joS{r6f?OJz%Ws=%SVG+hD4^Bv+96duZp#UB$MP-)6Q7oWfC3dU)?Wm@(&z zFBWX1G*xLZCZ}12a++LDy4H$c{PBlOsuJ%MWpx|^!WB=Pr6>)`)il=9 z%$H~nb$!KpIhXD^3``8~8}J%uN=#KUHJ-WdD7C^_OQ$tTdvs{WDz)h`s86qAjdz|L z*mk%7M(@1<7?+p0w#E8}b8TpuoZT9L?^`Y<3TW^uT#E{PxF;QKVmJnAVd|a7(qJuYwssHbD8`1e2N)7o zLtwgSrEo!0BV|ZbW!aanfWz7iO%Rdwfl(BhLAO%Q!}w??tgKvv&J^01y;je1?TDs^ z*2C)J{Z_WELI;tez$CzEY$>h#u@}&!Aye99z6jqerB1PGK9z za@C;lY;28fmMEQzkn3#5`Pmt>*@&$dt%T8=au9xCw(Ej62SKkR01%rt0vD1ziX=O0 zq22C4HT`+AuEjZFD3xlAVu#ixomb>qqxDDxw7mc$&hI!smle3G2GLGqhP6wj*$+4P zL4EHmeFHcTLwoP=s6F64g~`M}ir{|8xNWT@11b|VHo~;ZtH8YZfzOj}3$~S{AV673 z1ffE^zN>o2Svewa8EE4-Ib#pr)HNWfa9(GpzMkv2&*QrXrT&zfdlHDWc6>8{`$Ih1lW8( z@Qolx$)MHnCM^EW4MAVRLzM-A)xayPS3|(1)qe8N`J|nygY`<<0i8W!!e36OLGY=Q zG2C_`pv~l7{iZr&L>qAc3XR}jv-X5!cywj%6J0 zg}>(vWhjo&l_L3W%F5{X$#CxDdUkl@OhK>I9CvGQq|c*pZFEb^8}{>67D1T!J8mkW z(g)8EnIQ^Thxuhj0gT$g{m~B(=$Hc22|WA|zFY(y8wc}Ru8EaRoWz6d6x^KwgF$dj zY>e7yw#rf{P3KE8rO>*@>X6YlL#;eOY%|%nFSKo+aRyQMH%6oLkV!wxt|he~eWqF| zjFGF@)-_6vn3U7LR^Moi85bCBD5k<_QAV!+=$QL%aL^-#**37McQhN@@2_o^;W#~8 z>-LVJ4Bl@nG4Re09Z3$xwFgW>wpr@}tqYvna(Z@(FG8Ey?V7f5a8KGf*3WNOtiP!| zrO?ubv+F!|+p^wx7IRB=ta<$SjKBWtzvkrLJyuKC>p4UwN4-`kzm_rv+fbDiPd|S` zy;==gB|Xzc&ei4B6;)MYN3IY0OtsAzBc^9I*j>@ZMvzrmQAZWr;S5)oR6NEx=Z340W^a0gu>)<$9KO zxS5#TptPqfOVP10rUx@(hZHj|`(ui%FYi57r75dwuRJ9WOpvX!G^+)+X)tBf=-5Aw z+cLMl>sZX^=*)*>%KLqPWmMLDjhs&P05xnGRO2O_24Q`>bxC-fU{NFJPn z^;*i7VE_%{sMjmlYOBdv)dDPTr3upCu6i4p>ptEWAbdToJ1IfHxF`C zL#({i+`U$%)57_rQ=dO9P)UHzgt-_k53eaD<;K$=no9X?wv+SPHUslTsX-U6zb&Z| zJ#H99+iqz=oBjAhCeOcMxm=W`|F=2rX%&i}SdGBGdfJc#s{LSnw!1308 zP!_>tkeiTJ0y6Xy*+HGd>(VY70}p{uI{4%XJpMoePlfFF=+1AyyzLkk$&LYJ*dpLY zT?=CFqb`LDT|Z)`>mW$;fw>R>c~rPj*Be+jaPLGGC!I;_SsQ9)t%K6Q>=>rsqVw`j z2Jgg^HkCksj;tZJgL*01gP%T-5+xWI4p;1h3vtceab5rX1R2u^jHK+0mqop9VsUy6SoJwxkPKtxE!-?mRQ^1E5oF$Xr1Ngq(Yxe`|NM$ zJxwEL`r^f9X#F_pcjWPyqbmF<7q6+tJzxMy;G!A{68*k@M`IhN(m&p=1KhXkax(me>Y49~QYs$Sy}bdsgr-Phh#~aJocg3fBsM&f0J#X@%Dk zFx5>HGW$7Ys5!HXIWOi5j?Ti>8U#zhkZUao!`#5uiBMuyP^yai+Tgx;%6w({94Xyt zuSpJvqtA1ya31r@Gp-b-f-Lh~Z7hwmOwUU`ef|Y`{(wLJvp?dU$L~vE=WBfDDYKGh z+lW?(hl?lASvMQb$}vyBd_iU{+FA@PN@dt>i*pWLmZ7xbIiLUYCmfxB!2Nq;#>XX} zfB89&?>}U@T;Wxq5gUca;hh!&LsItQl`tkeL9+zkcfV2LGumiuBWRu0ie+QjJbS^H zFD@C6%N|@ASQ%rcCu17#_DdjBz=6mx2wh@S;w;Bwi=wG98uN+3E(wmM4lu2-EvNQ{ zb>p;l5&Q`Y*r9vwBFm#M4{>4K9JZ;cZNsK>j57f%MDP`gu?Von_R3ld1>M#)C{QR& zA;Q4Zdo%3Tq0AUlZ5Uh2);cOvVXD{`*!AT(F@TW{N_i;5k}=ORP1{hES9=d(oAbPnlmqY)t{jGZ~Jv#=147_QFV!;*sNS4W5eQbH#ZpcaLwEe z2t;noB$?HD&xwP;;+wg-nceSx_q)`qB|2+SlLHQ?M=Tc$(Rd2`HYR5>o`l;H0UA+( z@*XNHtPo{Ax-j5_P-)vULwYbqUXP9^;_x2wUMGij2<+U&^1r!(MFn-WX1(?t9Ofil z6@a3IgYj+ckh_lKJ*;=}#LxjFOQW_Sz1BuH#s;M_oD=3vU0V@s)>`_s%fj5AbrbP) zaspc6GFjWHVJ5||bYO4Lg9$O^*tvd`Q)O7=CF?xcW*wTa4bf?*Pi65QG6q}QIG@q3 zHr&{z0|f8g%Q~>5cA~rSfqe3x+?F%R>~la}uPID_tw6ufiwqY7tB75;(qD$J5c+%Y zxBs38|LcG9KmYjuQ_pLPanw5UYy%rR9o+Axc*f6n-`)XWI=>g(*ky0zT|a*lw%u)O z{axFIaYb#v-!&bWo!YDJ{rYA_M#Cq7A${~ z_c3p?FrrBSLY{B>op+JusX`6WfT^!P9wT9{B-JZXUouEqwk0TOxUygAO zT(98i(_R?2TF8Q?DCIe`4jw)nc9iqUWPlkOs^y$zwczRO8DD<+CEojPQE8j)i1cTl ze-4QAQQM%4p)yQih&lU4>#o8|AK{hCDkx8uG1$# z1k^k}hG~AAtrgcg5nQYqn1rz)WSihO0*;OfSXLRXo^}iGdL{Zf&TY_Ij`#BAl2Kt; z)fTNa!{j=&&Z)hW(_5`7hUPX)MJdIoFtilF26K3bvyOH(r?!sopIwAXDR6cs;K|D! zR)^?sh~pnCV8qD#)lEftc*4K?+rQ@X&p#&*DFoxPU|H4VMpHL(9#yqsS+A(7iV?nB zEXGuTG`+++3xfeD$*Z3)Dqw&fPbiDByRQ~?J8vvrd(=bOu`Te!MdnWx+Dp=#RL};A z{Y5IHXmXu^94gxqwM?xS=)8*>&DQ7rao*38@^ul%?t919HRz<;$YQa;qF6PSYB9$Y zhO!uUEE=s8DwpS{EK6J`?AtSuvgG=V8DeaMbBeI{1@42|R#(O#Ds=CcFT~sVcquo z{`};%XyYK+{&P&PZTu!=j%EX!}Q zt!FP~4(@w=V)u^V3v~Em$2I`4ja2q3$9Gd!_B~cH02cp7;{i$!8I87qqNAh0-1&)w zLSw)tUGuybYv`!WtH9)}Y{Vfcrb!ziuqL z%kBf$kEE(fR>*$JAHi@~vdsX9|2N3FyYSv5?`;xQc3yx8<7E+$f*g(8p2&vbAcX-l zLc~6807F89>V$d-VPT=+at>y?r@en->+a*Of;$36#M0zf2%{r16e6fl(YNWC+t(8r zhtXnsWh!N8*P(rOv_Vwznz3D}Bw9;9VW%l1Eq#=naDK5`kLGr1*EHp2h-lJ8;>(i0 zKgBY$DN7@Mx1n#J*oD(lwW+zC*SK9ghuF>D$MhV}C0&D!kTzHjdNz;suv&y@)>v|X z-5QRvcTY`AALSgW#Qxa`e)m_~Y@({^7lhhK-+THZd;|qRS(fC+pfUjiV&1)Tg7T@MBF53zegPZ!`VU`n zdhdw)C-OWW3`dl?Fp=&OeusY1a}lnwUdc6HCu2@J#!L=E4)#(1nR8*`$3Qd(G#np~ zSp~eLdQHxv!&N&v&(l(AP5Bd>WgVLy=N~rVR0nN0c%R{1P zXza7CN*oC&(pkJs2>^4q=;dv%s(0*Py#)3C)hQ|vL*2eRhqTg2Z7p>WEs&I>OSI7x z!-CvsythoJhg*AG`&}IrIuJ7gD8@LvZ;2ITBw8>1%Xuk{+EqaEzVDHpeoairiNI73 z8Yrz$PVP;4I08IQfyFaaQfWsUgP9ZFZIXUI><(eY^ zWNXXG;e&XE$(kX8s3Dcpd$e-hbtxrmF|CjVh_}=;0cWkX%!-}hi|Lg?ay}FOKcF%6Rcf# z$56h(JC7++plXQsYho24U@wq(*RvOcO|n0EU(fn^r#nTDD42HdefN3%opamZ%+|K_ zg4$XKG5GL*X+-bi=vb+pmO1; z+xj%Z+^=I>o|Y<9kmTY&&8+{<$mARmv@)f zpF(#drbE8dw&DC{Hx-L{&7`@6;r-Wa^?LgRaD1|l#-f87qsD3wobse1hNX}6?mp6k z_&qXKuXsDXiNDU_dEPM$f0Wa|OSz8%qDw>!)FavfDmc@ABa7xLjE9qO;z|qU&?XaN z^bwqwoJr`Be!uP~iQ38}rc{W~D{zhcRZ9Uurl)~{6Do--A5ebb?E?VC?yp+wU*av z847#^GokchZHMUMF^g)>p`EZ?)fAnOqFnIh<${_OIt$f47~v)kria3kXvWNEHQ&Cx z;pIyR2{i!Z`4C!9o-2xxA`6u-*4EQHPus4cEO~S^;qe!bdHnb>^J~lX^%Z!?oMU$9urIT{&8WhrG{o!=_Or<5=+oU^#-Xn2ovLsV7q=+PriPfs~KJj6dg z=Y|=s5r;GWHU$pWdsrONkuO46x(GtF!u$!k4@!{-Z3P`tAyVPcH??$o2<((-Z?b~y znnr#s42kgJ9RNpPab>@bM05`2capdog>(DLE%GOA-$?p^^O#~pUDbifp=hjQHoL(X zgE7OdbS;3^SqE%LWtX1a;l04dyV@Zp{O_#AT1V?VuI&M^ttvz*FcSrL0}CKmilP*t zuQ7^R_w7f!rYHnEckc@4XLB<21L} zM9%vTjD?;RRofcpodB~c$GV1QWw)+7rt{pb5ulUbdh{KuE!T~yX`6;^wWGBTrQEG+ zRAJHRf>R~{iN^&dNYv8lE#KNlrx}DiOH#QeLj`(onx>UjycrB&6DE(r0Gif?6qc}G zCu@qx*3e4Qlb5T|cg=R{g16h_PNqb#7`+Whr%d1OytD+pim+&zl#u0+?I7VFg0ayc z*i2Q)db0@C_9FSDUdwzGaR=vQeb!x%lWRH%ER$v>pXWo_&#TUPRP;iv&@)$H8(f00 zUP>4?5y*GWVQoX9N7yE3lt#JkSQwAL{u=y}AAa}&=*wxpZ}Xilko4&f$=Jxl`1)gy zkyfbk9uY)&4}!Iy0FF=gi??TNcT^8udC(NxPymDN_}wmxBRXdLqSddn0V3|ZKv)9r zGj$`5$49_u0v8(rEqwB4Te|X=ZVlx~X!J@$5ht`_o4!~W(G{>kOwlHjosQ1=Frnb( z;2Qxqyboo~8klK0UNP9#e28fgzXY%Y@A$OxJ1Qfcuk}r;rq;nnsL>M7$J2|^M!nQqoG`r2V6VsRQQdNaV}*dr5YLgh^=o5Dn;O^1K2dEF(9U9$&0VF=<}8Z9iM6cq8DgZk>op!XhS zRG0D~maqx#*sgO@y?bRT#r|Ae67}x)Z;02Mbqt@y{Zr7w1?~G$HYTwHd#LC*JOc6W|+YdiV>UUd|Q)aiXmkQ&t5hno(q^_z;Z4rfy2=dt>ONCNnifZ zwgKjC2%Nbdz=^lG3IKRn_CUE-5Xg#Kf6x)OaA9JNAcgZXXJ{pNVYEj8v=~8S10yHg zX6t(<^cK^_uEAtmx+SuXRwy&ZD#eY3RtvZ?N*6D?mgS7U{w+t1CvxfSR0s05$&z(^g0pCfZ)gzRrg@8HJoQo!HPgBu&R z(?uQ*1caC%L%qu3WpYhl?77ajao~5wcvJRA2Pn`3iMvkqUH`u?8*$qy_DE%;Q2|GX zk`rB9i3G*ek;aNP55Tp9^BZxV3j-%-@SF0d1LX#6Gbtjo;>j7~N8I?Cl)7h~Vx*Gfj`f_TvW74FoYgDzcp8PjY0j$*9+#i5e);Ue4g~ zaLR*|f6IKa;Dl{%4WZJ)IhH?trRlILr-Mrcjw; zyiH^1}n3eD#Fm<0G!GubI#5ppjvys){0{Bt)~;vR>aEebZWFMh4{+byZWf zE39i!gtDa0QdLV9iv@?%Df;Au!|9aisQ?{+`s4RJefk1$B%~0uR=6ZgrgMdDcAYvO zBFWp)?iAeUQbS?|m27`x+=p}+qvW^R=q+c_1zMGUU75lV;R`0nBi=2RIT?DPC-M zow^5IZZ*cvwfV;5y=AC1jjIA9L;ybD4CP*X(F7TrjB-2*dHsDQj_KiHNO6;@K((!L zL2p2*e2ZzYYbm%BQ*+Wbfu2E;YQ3aj$KAljo7*nyMfTkT8)+ZXNq4VogX`93hXu>lqh%$Gg;K`t_!cK{`t5KwC@;oONmT?Jq zr$t9LhQqL?ZVCHNK@Gp@7(RWU*xpCV4#O#`8cGI?^02SFZhd~p{oj3!@-?&B&3gwo zymMQXdVWfix#!&>1r?%-Mr)e$bB5Dz1%dk!_6gwlWWRWuB96^vE8=)*r;Woy$I6g^ zii}*L5=NR%(JwiANA67`-Kj;V^rtBKJq4!GLmI)0u?)<JT`u2#xWFG#n31HENP(Dw<4G?ybDMGrI4H21y;(9O< za3it={^Uh)^Li;!qq9&Q=BEbcKD2=E2I)gDfYnOI41h^^p2xv|)CfDrZ-fogiN$ze z4O!^q%E|K|Z;}rS)JXZYv%m%k5xJs(@mOAC8dn5DQ%l|0^m#g)N~+$MkKyKK!dH*} zHQ#+V=eyB==lbfJYH1mcPZ%97Y3H)l@#%zYUGengIgrujn#_#4G%cq!v=+$u@{3cx zeEby(!^O*MYVSnfAlE1lW>iw&IJ|;&&`4R~X}qWPK2$wWT_n&P7!Hoccw199aJ90u ztz)D!$)%s)aHXJ_9?-aNI6i*F;dsOuirLKx5n_D$`~}K7yjNH!8XaVj&ENrz8S0SY zpwYQF;kniV@@bFKBCM*Em-MAvB`FcF={O1UCBIEaF^9^-_wBZaw4V{;WgkAWP_`rf zsZ*MoR;oLVv>bAOEJ-o&&S6u5s$g~PFsNJUI9m5Jw;WbWB-!?%JxN9zRaP(3WH;MV!XsAu}QQX*dIJuH_Vookkr%qChJERGv5rGM+NeNh&iE=%-q z$fOJm6_ry?PbiPpR11S$)-0>40}Yhh?+kUUZth?OMT}Y7+y% zdy8Ky23tUv4%fT}1qTNsvSlM_!kRWy&@Lb!acjcKCKA{i z>;9ZjQ2R}I_7uhpaDE`SFJW*1lw}qeC^D|AaNcbz0L?3Hbf2>)U%|J3qN?WM{QESi zaAiCF{PwsSb#hX3UWL!WnH&xP03N?dL_t*Iws)6N|0P%tkS3sM2IsQ{C*S=*c|Y=# z-_1S&9G~o?uo%5gA6G@+fm5JEhu``Qop5LTO}b1Q0?!+%$niEf>XbW6Uw?4BpV0|V ztbygaFIk2b@I$L!eY_|nqCE+;zf~mzapwEU0m2}!!UUq?fWs|ur*58(1Af@YVh+9# zXVDSLO2&MUc#Pl(tyXY)8dxeHq5Ud@WhVVUvo8GYNucJK%QR0Y(f%mbU{WxqI4tFU0o%(k6@=c0#ge;!Z2M|TAV3fZBTFesIoq;9Sa7P~ zjD-Q!I-u>xjOYg(OkrMaFG8&YZ@~sejTs7<6w_BCdklcA2hSpKoc6D%yFvzj437@s zaC*S!_y146`|cUaTaJ&9`0TTLeD&3pY@>&qKmC@A>x%PlEqSiUhlaY6&L9+TX^<~I zKcgr{G`7YzHJ~Nk#B0iNiKf?e@OzxW-HI=#q+2JedDm`7@H)mr(4TOD9+o=8TI(RH88r|Bb0l;$aaJ`dOSBRKyTm%% zu`7%LYuoPrbmtFv>&0o=0uTbDCeZ}}y7%!~U0}uRnt%_Y)v(XG7f?zk)z0?+4nUdP z_d+RQ9H~s>*S@>Y@m!sUxc9oYoL`(%%nNKaVp2{p`iw~!yo`ZNXO!g;zJ}RsiE|CM zv8)!h(|$=UWn=g|+CbV#hj!cVfW57yfW({r{&i7s^#)9eePX%kd8GF)rdz2kAZ42= zY@O}erdyQ0gK0gaD6%f#B=LRxwHX$YHRZPsYFFDhi|Mmar@5lo}y=_6ew?>*oKJ)jY*mc%hO;{Klx zdzQh+W*Jhxb~=KWI)Dto&7wzf$fac12?MStOmliP+`O1(?0gQbxxD z0Xt&)%@Rp*iENG$J?rDgT3i#Z*nZAUCY4m;#8r;r;zB?^t%a!pegBOMlTKg724~&N zbD;w$=bbFX=JUSJy>-GqcsP{%{d1K}PAyirOP`Zic!B zjR}3~-*I&`?B8&He$L}ZXV}J39>90se#d|QFN)E#=P+M0`TUeMnuUcw{{3^F z{PsTa3U5|54<3Jp#j2i$DgX1F%14${E%`T+v zv|=(j;N|%RCfD8e7cVbS`ItZcm;cI>Z+_EhuB@t-qR1)BA;nlq$)=@Cofqd`WuAkH z>DUiS@1+=_e~5B1C5Jilw}Z5VNg)2Ph*iCONxs)HU=M^*$|13=`Zp39w*x< z>7*V3MY^?#D&$$zT7)c>@0>iN6sR5=j~XH>*Z4NHS*B51Q!OisQGp7%1S$YnPHU{v zc&Bj6b9uc$YpL>6mUAjsb98jXcsyh}%^4oZGo{CHbbkz+G3`wyFAh0O3QWT;5aJyKre3@I04ytcCY|>vr1Fz@9-8Jy z3A=p)I6m1&Wm9B9pAu4|V-5WR-vg_V(&Fg}Ub~EszZ5&m;qU~$dnPOnXCz8H%6b;D z)=-AYpiab@U=Q*gk!i(N?swdeN>GX20E$w5`%VZ{%mc}{k84k*VAe{seN6AfDt@`? zD{pJRp!LXmu?f9{A4@LJ5MWV<&)x^aB$n)?K16{~huj0Zk@ZRh zb%JIWDi;A#sS@fLxl&wg8+FC=~^s4 z`?nZjyJJYY2#yZUp2gB1{%}fFonjPRUu~Ek57651-S>ZDT#Pt7vm8!J>Y!p*KAMn4 ziTzyj&%gefNjau+;?Nh9NdOicc4g5jqpDVD?-><_2ag^hxxx*L`JCx6UYA7lZBx^R zaO6qWqs<0-*G^7ZZJXnAu>)n zX2#lu@}<(5jE*3RM_G&LY}{S8Fdoa=9{iDtDLoL?zv@7hzYX7RgI_z_#t45GP}p%k z0>ecQqYN?~u%fkSo*W)drM<#ED~sEr3F&^d(d1gHqbwE+uCHHmbyad&-{bUj&`0(M zkdNiClMzhH5v%Elo7swLx$LgZ`P==(S;xAoCZlgTTklg>AeQH?>)XfZ@6mQWvFK=Z z{R0rq6~)_*&K=XpXaN$#GguUIe{`sP6Z>AC7ig`}dKk_$s^ z!_j>hYSFD}V2dW62K>5fv}+*4I!UFG^~3<96EWF0>}p5<>fdtk4}Z`3#WS3(0EN~j z2op;+HMySs07lB%_&IbpTJP_?%%~~%Hr7425qNp|0)F*7-t__b1aN$^kItkrd><_i zI+&t&5XzuN(IOiLoWPEyPX1TP-(P~|z;7M`5Bmxy4KfJ3P`WZ+Y^U9pL`vgYunUH` z&`!~b$rEv>V6mD_+@wI5GpVCH2ATmZc19bW_4h5Z0^ZgZ{QOb%e~K1mVIsH~9sKvP zPK(cGe9l4AdLjU(2GZAuz;YmISZO54d#U^Zp-i#@ulvPRnwk}7z+JE-rgY)p#DZSJ7 z$p!3!An95y-~t`62p?*huR3SibtOx^*3`9BFHx^uV&~m?NnaGWGDbeN)PyB4o_e+vXrRK$j#uOVt^T(K)#m7TX|R#x455$7k(Y%CYW(8rlfc*E!h4aV5EZ5pa*- z`|kItc5iNOGdN^}z>rWO4K+-VN=tuMvA95_G4AZwdr&nD?pS1w0u^<+6fg{>a4rgs zrq>}mcXmxtWK^>mW^%xEI$)gc`;8Yu6SCiY!>GFE`ua+QU$sW5A`0%!yj#=wK!btB`4y92JxA(SzP)_{I6m1&X=8*U zAK4lXVHyN+{I0xI9Te>npS^RaqmTcW0&t`jwN{5n3d=fFDwsFYHqb{#qjkj8*oJ}b zr+n{R?2Z`w+HPMITR~UyGCi!@gh+IfPBdgc*s(i6dbZOd{!*A9ACslP!)wTpZ)~xc zpGMdcG4PThV3tQF#t2rbj8Hv5%qEMk#&0uC3>)ZO)`O!aP^i13CHI~^;0gm0{^h>5b-KE|@Qv+*hs{%>e zK?O0H&9j5gT6RA zq+r0>uhE&JwvKjYyGi12|K>4IzWR!@2NSNUdpvvgf>uccZK#cuYrd|SPN$4Q2Xj?H zQ5IlF`1QKyW)mEG=W!~sAlmSGsCv*kd~31VvRKT~+OS+M8I6W0KSrqmu63A^;p~Cb z=$cH9sawnW^XF(|_`m;;f5p%kCI<(UWy!(BP!wazad4`lXlw$!?Y3ige|8W_-S%zo z99Wy-T*ii+V>Lo4c+8nNyx|$Uynu`IYySM_7cA#<7K^G&r&)U+QeK*!NMqmYU1P&% zJ(D7`F05-QbS~why=Uz_&b6He$F8M17e!%kUZY--vn~g|{qUz{P+fR059$uMp;ZS$ z?8`sjt-2DgD^Dt6Xx;O#z4w9bp(u=|7?O8LA0Vss7*Cg0!#&6TWFOvAFe;{%gsf6d*}f+Yw?$S{M(diMl`{z6x#Sob z(ibYEB1ja(HMvBRTyU6^G<-~0d<@tYEPItjzi2-1e|vQ$3mp@4QeaC3oOsS&*4=*4 zGa#C9J_V8HA4!{h-mKvu>r;tF$+k`SZMy#mWW-}d(8Y)U z&)0DIT&{O|0EZJf{}jw}NXpCPqz5L`(#YxWd^iWU>D$zV&Jd}{=jU>dPESRobX7xL zL1_fUn9tze37lWT@sYfbjJ=|O+0BOY^A}Y0l7n%{x@nj#Yeu=@#l-?{giCYyU{7?{@$Z9WL78NK2~56p3P3Y>7?6wt(x} zdxkpSo4z7fp|{?56;;CTwbl#^-Br|dY0Fn0-JeJxn(Rz)l$6Q$l zmBk%tj5n0!K!ix&wp3^aqca$haYV+t$$9?t66bxFQdHFyKJ)Th4Xauf8i$9XHf2|q z)_Y8-&QjNP&}<2Sh1c7nu-Z^g1;%x*#(Nva#z+ry!6A)+8N@0yN-3;o>;BbVOT%KZpsH%hQgeKKgi?yL`z0qqB&%7&aG!(x7XofHD*-cN3Ul|Yhw(WA4XN!0 z5Yo!i5!i?zb{s!a@FJb3Q;oL{#I}8qEq?Bt%)K_O9fx5-8H0D(&O)#Q;=`izE)mx8 z7#5451>yU0%SwlUg$Ifptv1MzH9(Ic|IwnZ4>)=9gz7*4164K0=n|tfHlz$jaHH2` z`sDx{DLdm${=aJ<`^-BJ&tJl?-|gH!0UV#~qqQ-8g@;{>Kxb{`;n8C-I}C!9*mVOO zB97KRA-^AE(MeNb-_fzC=z*D7La{)cgb&F^$br+L(CdpK)GL?;wLt}4DvM9_GPK@a z3`g@j|L@`D2Lx5&9f)l2X7!+zz_xIF=r$N>e2qegB9~{&mPdjo^G9%o_iI57gMt$ za8gyF>}e@|cDd{qVM>L5oPdMDrxieD9sY*5SsN<(iwuicF1KNOoJy;Vq(DOfxJ)#P zcE^th3hf(HBB)V>?<2sZfUh$6-DhuK4tv11Ud!Ge#FGiH*LeVgPD44{IZO}XXachp z_(sO6D=)&Pg@NUwUntKO0*uV71=rVCoIiibKVDvNmKQXwWm0YzqW$YHAMhXk!~exJ z+@pW?5d0thif^CK(0a(tY)PdxI*23e9*B`kPVXbqzr7rcd$>taKQ2&RuA?o#>_W>i|{=YrZ;vg`D_DE!W?L^*3mSUs`3sy3A6faBBKV8&i><0H29TEs$k0gc^pA$GlVUV~))x5E}oxA$J= zzTNNB_j(tojDduh0`2jr$M2aOgRaEw z@O@ENkABM+U$*@D`+vlCKwTXFwl!vcNw#^*|6jL{)M{&4U0pHy^}Cge{RD7)vX9yd zWI?V6bOMCYOi*x+j8;V-te7Fy7+i2ZOz;Y#c;5BStu=i62;D;$ipHn z0vz!*X<)w*W&zNZTaL$U5CHCm?S7xrgB_m!85q(7AQ9w)H?KT2WPgR52uP*&b7|3fo4O^o_8)%#dw%~{ z+xz&r2x;{%FvOuM|m)|MCbtfS#O*P;!5>Vnr? zU0+dGHAQjM2_~vMmOc$mvXaUt^{V3g@4x5KBgbSSvxIYwNm-%;;-HkmCKm=*n{<+PeK&(?SM)FLQz_}&k--#219!6%CI?_AaB?=l*`Y*#{it(vni_1o z=>U@H=^2apg1YuJb&YjW>eV%#+FGb#W$SQVnnEjduF15dz-aAp&f~SgH5Qd=5yXuQ ziC563LDEG4)+z{;y8fO-os7Gd$!W=5oruKlJGKdF4k}k&>V_U_3R9BnAtpHJ)>>9} zh4=l)BxQzUzY+o22$bYXgg%W4$F3#ft49IYP~fcPW+e;>>pj;O3yK`HF`S>j#M&w4 zB4<<#yZ)2M2#@B+FFXdfBj%&w_NXgaq{2bM`q(1_(e*RU z-qaMJt1boGfdrkwc(fmQKY0)3=*9=IYzI`;n(0(Z#>VsaDl`1aN$^kJ`ovSdose&dGpOgaJCwgO)_r zI}UX#^z&JW1|BPLKJ=KTO1(OHj9d8B{?JbNaKiC8z>4CVVDR)MmopvZbh?0~nA zsJ@APaRSSYl#DBkl$?d_I^*f7E2lK_6x>{1LDi$+KV{88W-BT&UnbDQK9U4h30I(|3w-qb3T@qKW zdH;kJ(?}vP5!n~Bo7q+x$z7=@cUjyfWn^^w%llW~$mbEugyCU>P=chY$UcjasE(=Tnq|F2c}-Ci)O8)ooN8c$a~q7&v|f?x zj9jgu&3;i6-XIe})KB&bi@Ci@(lVAI)pA$9#wP)Sn4%otr|D=uq<^e^0O8}96WL?C zz-rh>n}QpIe&0$3mSSW%x<0ioJ+F?R6qys@Hy>gRoZ9ILIGc5WvrY^ocVwI z{vQ7x_rR6&xZdOSdajpPEe$0i0vZAg3=AUWSMoX-7}z2h7+62>?t{Pan&~tKpD;ai zl;kj~$7r{~6KoGTWj#FbClJp%1_Of;Ls?!{&o}pP(55@fko&0}BFYCFFL81)gJMED z@&v=*uq}r91aD%ga(X{+c6KE-;*5SN30=po%{#Zi*!egY?>?p{Y&O>6`aaxf;FX2no9%)d{3-)N zm&I?G7>-RQw8XgJWf+}nYb=d(e8FfW_0_@c4gbw%$PI3vCFylALzdco*@ujHSm`5g zr|e%`U3T1x$MrGa>@D38p#$k>9jU$r@1D|(AjvvzE_n724vx%kPt6}axQ`Lah=+ku zu15eK7>6~t7d2a+V&||BH1#*X7cJ3yq97fuHs2M z@X@+{w#f73Tl**fme3im)&=em>9=TZ`JnycVQK1hA$WUth>st?+v0-iva5*1rDg%< z^6}>QBjV`H@y)@_<3VcyPOA8K4aS@qDt|VMB)nVc{#{CL9E(!Lci zZ6of?KS}13r_W7p8%{OnE|2{>1gVGZNTTlv(lb|i(iE&L#enNF z!#WVk#jl^$ctZ)7XjTiBHn&wnZ~fv}2tqy2&L5vT^9uTDz%YYO+N4I#Za1rKV=_K? zsmD!;VZNEY;2eGGpAaaO1cgL9HwB~@%$t>dL$_(qbRmLn=eM2E=&zfi51XVmKZa;b z=btQs_YB^7#WeRYQea|R5IhC@1U}Zyet8{_VbKh=>{#O2WTAB2qxK1IWOBZNS4fY~ zq$|x|D5)1r1&DfG7PJJK-hP}Z8MO&##CsUU!!&B6t7eRmtN|y* zet+)NW@aTw^G1TcNQ)D^ALg_nJe+q;b1SYQcnT$2oS&eOqSw6OUB+LRdlAve7 z!%|~Uvz6~&aec`8@=?^?HVNgthQJCXn3?hFXCEA+X~6@00nP_FJM;(E(?F5b1snu9fW<10G(Osw^$GEaQzP zTo*hA_X?bMaKR`Da46#YSg;ri##tV`oS&b!5X&o^wqF^SzLntiXfq=WTWwkj?rHTo za19AbV#L$p&cFx^K!Y`U^Qh3c%CgODjp1g6;XmW59|vbRwcStJ=k}QMG}gAa@wYu` zPW?@vzMBfYl8#p4EU|rFBL3nW%RM%2iE@cVg!J=;Ce@S5X_eO$t`7G!v`~3;%@3rS z$(2z>;b~>4?k$IMx4x0^j-s-IfsEf;Tol^FC$&GcN`kluiNh*Gb5u%tbG!K@{1)r} z``G&@n47SyIQeUs6U*V)^)~^HhUYtRsvII1j5(umbhfEMb`Oq-h%OSy;cmiMnocVL z_M$xoA+TWU;k9{po%tJT!}sb~@ULNo-|Vie>y47N-`hz(cXDlGM||aLATJO;hxXv> zE%{`8{;-7ut`#VKV5vUoapQ-D8%FU$zy)Vd!?&q_Y*3l;lxt<`EK(34nww=mYd!qMqNj8rku%!66eu-d zQ%_nv;@{Soy*)e*A*bE!FTsBxEzo}E^O;$6&_DcO|A+6QbJKV_PKL~P4w2>Gl7Hhi zUA2kPLDB@!FD!v`tcmeDsR#W7s2&a%!?5oe5ePw7LT!xk2-U3L%N~h@M#nT1Q@S4y zUWT%1n@x!L1Zk)TD&i!B?|BClXQsr87%5g6RI>PGlA~BR%>~Bx3hAh8+HPv-s;zy+ z@~8|nzZ$WbIAZW0)P+=>j`RifePlSpW;*xRvi8N@?3FFiA(g+UZix{QfS*FO;7tAI z(dxf{RN#gS3k!EAL~_?J9cWh>Jj+r$ytxiI@s|ulqmV`{$^5}hbA6i9*Aab|?^j%7 z>>Dorc7f9WafFQ^5^H~d|0#Xavx0F2mY+Qb-s0akJ-~9#FD|Zv!}jJ8L7I4$lfes- zgI-q7tnUY!k(J#(qFPzrAxX}vftzWJCRBq*cJFw}WwVB?55QmC=497VV`>t3(f_Vc-Fy&mk1T5lk4iJg5-)@*|rDChp2C*6`urhmz`ve(C1>KGq!VASQw9+pV`S(8dM@$TYJ{litrAV zv)m(XYF}GO&|8V+F+b=j5~2K72+HKNJ!OL8y{4un(D%ZUmlNb_B`>bq@g!8pc|$%q z3h_WKvq#x0rg!SE%G%evCl1cE%k{wOMb75McCCv`Unyv1m)SfwgdSygab&5nd#o3z z{&sFsGSDymwk3`1+RS92t7h%@B5rZ)ZNPA4a`wDUlbN#ky?K9#OTdn4-0-BeX2Pps zImWh&wCM^FCj%vnLx?ZK?7L(?<=JLI^@2#kTp)kz=nvag8>Hu&O}~y2QGTZDTb0?z zg$lEVnVK2Cb1K}eXzu;hF?LGt_=Mt{nGipIe$+V2JaaCt6?_*mILHqprv+UbV2AiV ztoS}TiS#cgH3mFiW*oo;lJy*ff50%;wAl6(+dB0>zd}DRo!qVu0KKYz?b-csOzsSV zol`MzZcylN7JkIhHL{7|iG2f&O??(#qDmJr@`C98y_3rzPz%#l*z_v(wUsn-2kD}4 z)mIZV?5b6MQ*QP)v?HsI9x1DNf(`n=Xu3c@gWyjZ*piy;$~(A zZMS!j@x_bgQ*OEP$x_65pZLu+D?0LXEaGx*=4Dm%f2lynHsFtwzmEtrBPzL(veldL z{G8NIRZ{B~_c6W>g}(A%FEc0?R9W@|HN4=@Wa{`he)!RH`sEI?UUChPG&}aEu&AG| zwLJgSh_`thqvl%%oo;^np=wbs{L}ZL4^giY=jKd2TTS2eFXA2Tlmiw| zW$I_;+svp9XvH$Idfi}DS?j)B1&s&VvVMDr^+*WG1;Y29!zphNDgNZO#54Up@;WJhrI++_X z%SW=}@!SwM2UJxPnc}D{dH-6Of5NKFbB;PwB@wvzgCEB_G2(%-bht)ED{wSm+TZ-4 zb0D`m$Xeka?RB@$e%gv9vnFzDzn+w#@hiXft*&gz)WzTnx3@j47x}{i$sz3M%=XIa zoDH=csmB~KPGr@Y)dxd*nxg&pLu^FvM>}Li6!GbdNg$8?z}dM%@`rQ{BrzNv9)>=B zkhEXY?bAx<-$oBAR>TuL{fLeq;1D?q#jBKrfd#)htqIYW66qWLz32VgQRsD*fl}~Q zE|iHd(WX8YJit-Qw5`|#P{mE;oz~lWqlh=0c%;pwq9&uajyKX`xTmqewgZA*aF>PyK$DpHc_X)EEf38eDV-4KlABVZm9pa>5YtCkCM2!#!=3a2r zK4mXiZ%)P+!uig@Z=ShR6u?j|zFctv8TOxItf=noE5}nYxm~e}9(how#pgmX=%tbR zSBq(%*c4j$+_^&v7XM1ecMmzBJnp0KX9kVRSiA2k@N&@Nnx7yxDY1(s zb&xrM`+l)_Q86%c;|Hwbw!E`|uR@_fBBa9_E$DMhBq|z0ub1Ab3DM7ZqV)MpcK&8f zm-t|Oo?PBbE>1c4$cR6jG4$7c3E0SIJ?=MB1x1tF79zBkLOHQ=Temj#UGB}j)&jE4 z(0*%yu6KfD+OTlOho!r+htug*##Mz2&PCJqZv<)RGE_I50I&nR0@RYCpLl!TCV$Cv z9UlxQt-5}lbDCdTvT87vbO4(XKkFDZWF6LJ5o%l&1@1g3qcP-uaAS5|gz^LF#D6sW z%W({pUk8&Jd#z5(*wv>aaAf4|IV@S6^V)@fT(RInTbTWN^=X2JW3vBE#WlH@2^IFI zn^U9?ozkUblz#Il4f|VdS@C40f#=-t3Za!XI1=|l`d4c3X7T6wTd%mB@yr0_-i5xV z5_sckOOF>QP8b|l=RR^mIh5GA+uga?f=GvpeSad65Odv8zR*9Y$Z@)AIOm^yb7fa- zSy#{OVSv*PPfjAxfj5qpMU!Np5^`q@YybTKh4=^}!Wm^Cu$NT^J?_o&tqWAxxGy@v zGJC3pT?1)DFCk{gnNU zB6a-BMbe8D^_`mYXN>i=S9rYp6>?Uyg6!u%Jt)e9+RVfglqt{U(UR{i3EkXhk*owy z%v!^cEDsPHJ}O~73a@Jy)>N2#BMG@awak<_L;PCXO>{+}qR*S>-9D$mYnjUbNza_C zx7;HBrRioI#Lt)oLksm_Bvo@?=hWOGRmWF)g3}sLIUvxTGLLY!wodCI*X`vN%o(Qh z284*=TyDTsFV3_yH!0%?q4m$Mw^q(WOleQt7Ctz-j*8Qs8cNgu7J5n6AsRsn`oghs&cSJgSFvHzX(*=FTt%9(i^DX(Kn>;aY z;U4%H?ab6k9FG}G%n!!Ya7_(Cqbw>9KjwRki7}^ins7$pK%9TNq2mS6*QoLwjoSZ^ z}Iy4xX+QM>ISRlbPpTF5*XmFeRxQ_gT*jw$%7wiyZA4`AsVcm&3?e$?`6N@9>HC zA5DE+KlK&N6XayfmXz*-X4}nRgf(s1{HU+^j~CNkS=i~Ob3ynTEoYCrx}FbN3xGvi zJxMbUMk^TMrO<+24Q^S3u{t7lkVID2P$268=psieJ-AmFyERH5o*wECF^wbxZW!DF z2nA?5i4p8%2Hj8P!BxIIJ2={&gcluqpxeT`FcK7B=3dnqSM}oaq3X-o?W+-P262zd z?&@C`wcVdlW%wk(&Rsn{_d;E6ysTqCTUnqVl{`b3)wJRF=%zj4=d(CMM_#_bm33X$ zfyehS@zYkTtUH9)bQiPKY-cOGC7DQPJT2nxiCz|IXh^LJLW+&_D&#(TiaLN`8tTuW z$BZ6gE5V;<^~cs|QQ~Z}bB?LI_U?7mEGTTvA85W{K)H=1`NN;duf4o;|2;^#p7Y9!6XSV5v8DF68nGIn^f0jgdtvQMc=^MhT?f-h zCWanI7E#Ds_Yk{7{3R;ulhilHWoD}j7pW|6$I`ftUjOZd&EgRe`}xdx{oUDD-J!@( zV?X}8E^I2ruWoOa8kU2--l&h?3g=y--h|vj;r|^H5iE<6$_hX@`1Fu&WcjF-jya)g zXvURCJBRKybg@7gErgR(yfnU`#Q&JvasgM2M{4P$!oPf8=RBl(YImo||JIGqPy@62 zdCr&T%HAcn^A(W+3WL8aP%U4c2n#$bZdhhqd0sGH1cg|&nSo}o0<@aDW*c@I+(E5W zn>b(v`0s}SD{wmj3nnd#q328+Vg%jBtY)nzngl>SfUT9JfEIIqZjb72J*VyOm|B|| z*aoFXQI?j){u}P1q?bizHUB3^#N++&ymfD;Snq!)*zG9>c1ZS76ln3|X4yN)!7pTz z9d-jdaU+ToC?r`md+ck1lu}Sg zyLh7V!tTAa*2HaA%Jxh}HnLPl2GbUiy$w~JvIv~CL&(egr69FePP^eGUCS+Fz0cfU zw6Q?awSv^vqxstS)vk?%Bul-8_n6(jt%X4 z(J?i(e!hg#7qLy&rhE2soOj?ii==UbQ0qVK_I}*=D-@LZp#uo8ZebsiO%?uKUO(qa zbZ@@;eiq}c59Fl(R=3VB!DCg7OAW|*K%N6#8qgX*634%Aa;i%eDAm5EFrb~>*4r+v zd(HclmiQTX&?o(L6iUKMF7Gst+UYwQ3+khk=APL8%19vk#6gUmFXO_Wn~V?7Q}6_k zXgDL3dzJfK3X8r$cfQV?9HM~fTNR`FV>Ug+yu061Q!k!q!G%3c#rra@mAow6?u-vV z*Q6^^CDd#fA>I`KUG$B=cd!Jn>s4-@Lg{cuPW9|38n}@3H7s;D;Pmm5SYc1`dP~cB zua{SB_Raj0mPY@Ap1vRJsolb&dV7#0;YmqI@`5;YryzZfVLS)5KCTc=@Niak#tC`s zJ>7T7OuX{Aiz(;J&uV-2G}+dL{<$WXTJS&3(@6RarH=;Mm6br2MeS?6dh)T~KuG{S zX8nJdQ}!v4alpC7c$mhM7c7va23`W7I#AnC=&PS2cNkl(eRBKL+#a{)8xh*}{*|(s zUA!=vWR8$CpAe3~IekY`>QLYBM2i|?9?ZJY62eSmO;;Y8uG-XX#q3gZ#{;vnUR~wh zpVng)iF-$CQey4P^|}Gh8c5PW3%J{^pznps+ z5tTj70|i9z><}-1`p4LZES7JX^T>_G!rtG~M~ALDWb&j=D0}s?T@QV<;3gy79<4M!*tic^eAE2C~HR5#Dk*kp*UDGl0J0A5xTL`AN zt*(gaF51iG>T1~oJ51lCvbQb4!PS(<*DX(H6yc=m2Xe=w+>`FI)Dff(E#>9O3F`zO zO!dvE>;pn0S5GmzJD@I>7l&Jl63!t4>jWr1XkUQk0~$mS+5OY)zpwG%mJV>bYN3!? zvzny9>H1k-Ak0aH+nejmqS4%v+ zry5jXV*60Ji-T9gU@QF#!2c*_hYFyGQ7A>vuJU-fF-n{s5Z|;ITa`^}o z$zN0HKAS6jSPqM$Wp-xD8O`PsSy$!(=MOL>a0HKzNCCD@#{H^F7)Y0H-S_O#1Nl!~ zdfaU6N~j~kp2NX7E1?`N^KL*GI+pH`hh=T2Wv$GksB!i`o?=1Z1@uXGYb{1K4b#vC z3;}e^LXDFLEwRzxp%}@*LNw zxdAn$)FY2(T41375e_I$Eeq9*{I5h9$#>9!iGW@Lk`GFPeFOKSH~ZmfL)Kal80ctj z0Ri#Sw^!snD_WTYM~aymaNsNfk3uOpc-}gP{yzXq_VzX|3k%*`;~p`_0++E?RPyQtreWls2hX89DWx4s@_FDF6U-tyTkQWQ24 zoA%nEl2WB)LK|HnX37l3(;{x`|hA?VUVkl6l8j?qW|ofEQ;O*n8^rBF)wm*!g{ zJ%&F>*iw8WwNDbi5R^&KU1N z^V~hzVFu+TUSCb{y`+P~FTBg!h0LMeF{o5-{>4BP;s8019h(sPOS0gq9sNfxq#`ZG z5smdvrj5JqCuQ~8XnOuk0!p9_SCnXb=BvGzOK38s z63~tP+o(3yv31mdz86yf*7K)xQ{S`HT)quIgGzl~D#Fi<+9gA$Z$)ScnqYFDLv_kM zrr-)h~Eb~vtP|>t>ZZD@%>$a`+cfLkqBPLie0xa zg3yZymz&0e#swM^v&Ivt>v=sx4XVtEKRb-Ao~$nt(IIArv+ijjNp%KLf-X`Ro{p(B zP8aFf1*HuuWq4!~&c40MZX>PB*lC;MCCOvmnHq}gibN8>xsPz%#Tb4VYhK_Q zzRvC05|B5o-Ys11YYDLyonXb`8iPtdVMpj^R2&ZkAJyxi`;HSqws+_nnX}Ym zWK7?|4jXw>KTEqu|MN=r8M|**pa#m1crM7zb?0cz=aXNkaJw#J4*G~LqRc7z#N#N^ z6lqDSh-$U_|5*V2pI=Y4X97L_X0hB_HmWM?T`ngdB@bcg|0%{JhPBM%k)ea;hTWW` z(ey1ztz$!La$~xb3>^58($&*362V?x6HecHANOcq_)g4p`1A(dlx^!9~h^aE`C3I~PBQSZxD&i~q?IFsoeA?dkc!NkP=)%)l zW6XR%xMKitE%0y^0WC_J;L)qU>f9MXF;ghllLP!qs$c+!S^&9vib)dC0Q3FFp7+u5 zxHO=IptS*EQSv#?s{Fv+N#3pL;7&4}KR5$MNMSx;B2@;eoCYn5AJzBY@=&P+^o?|W zz5HwG$>W=~K&tq?aB%i0X#j}jN(0@_LOHgl zLpJrVYi3q2-J2z7*0|pcAlD>+2Qc&wCY8 zKiafMq>a_7whv%WURYG75vCe<=!Lzw<*lL99zGp1JTuBLr0AtPtEg4j6?T$C`R}Y_ zWQ4JAs&?$Yq9h-y>deQ2)IQfc8+NS~&>m`nzkWW3>GwfFR>vy2{Ww#Ty)f)kwvyx9 zKO5H6nG$4ypR(818OuFQ7v(e6*p)tWoJt0%5qa862W$WvnnVw+OCLc)L4pzqCZxM)#2a5vUP05M+QMwaxm%gwO-$$%AGRBHqpI<;x>u^Hk1q|itaj86 z9b#ieZmeu#F#a_Z!RcCq+0y9B7QD(S5-5RQFWMC^70a2}Zl6oHpZ0h-IAyl)bETQF zpL(e`Q5VVoW-}Y&+}w`-O@Uxd7b^$^y)zFt%|OSFcaY=r(0^H}yO#C{L>OWN#%h)= z}A{jK42gFph}E|NY@o`}cg?2Ws6*Jh3*pHV z&FV^g|D0^4?tHjA%Q5WZ_$E%8ih-$T$KL@Sm@K)JZMPk?a`@Wpk9kRG`TRDbbr=9x zta9h~=^@WE_KcP0T)5*2vX&3M&XP$7`d(@Xcu_q;`4qU7a)+M<>9(03Z#ZOe zRY6PnW#2eh6^LzBdyv0wF8JY5QO$-4XsesHwo$?PuYoiF`76!5n}#0bbr~Z&ziI zRFq`(K^S?qM4m&A`(x;RQkwY}d4CjzleSPZ4e#d_zm^Y=;DvSa4VGO!oiB;NivThx z4p`RszSYP0|3M*1uZZhbm;K;6=1I}4sYMIUKq$x)mSRoLRYG2C(5v0^hV5Gkw3D>$%;r%5|n~m#ju>KP$joD?` z(I1(hFhaRm$A6r4Uw1NJ(<#edCuo8q9sSLM^)sS?puHE<9HY5=Xb96-!if;>Ko^Mp zb}o>;hCH`7b*a_?UHx`vqILbPy|{h>vLI*>=SlO5afqloMOcrwDXeBc3#$G*XootI z*8TCz7HM5N$8p=r`h9T{n`$i5_6plI5o+0x{S$X7Zh_8p_C$9ZW(Ga<4juu_-LW9( zIDImiSFQC&si}2==x#u0JS~GhBzSKRK3C?hkh^*2b{cEkZodedq1Lb;^e^~kqeORB z?Ug7F?~@GsxFfSmHMBq9-MzUEf&F8ScM0atSP6_HctOi`@PGaz(2Rfs?tA%{;o;zn0RF%8(-eCNu8CqyiiSPcNBo&}Mkbu&FhdVdL2Y1}6Jr<)S23@&Kj~mg^ zp#&NQ&`?1H<4ng&N74nz)f=NvBqStg(bu?LGc5lBZR0LymIR`2nWHw~0YV$U6yg4p z5N=6vF1w|BLq{~9bgHXGB;PTAj!nsQs5@cC0%jcpOxSAM{?29Nb)v@Oy+ zHT0qFkyf`Q|KM4ZLWy*cfiI+-dKp|Q^vtSM6X=t1j$ zAr+fz0+l=Uxr?5f=_u3XiN-*6Mx(s2fZdpP^yHdjo2kFnU=dYSUh<`*Slv_ku>WQs z`CPG2n|q!f5_NA|eP%Ur9^4%%|D(t;@Uub0X-7QqEps~gBZ))Fq4JZQc*?X`!!5ho0t)7V4CL0?O0OE*;%~%9+m7A3xu*YRGbBsC1h~z(}K*K&}k% zBI7EmmWBQ29<_{k^1&cD2;d{AD!r@A=>IcSr*^$S)%v`2AT91gjRDvSFjN6t1#uAY zdZC;IltQH#DP4jxf96d!_5h_c*&uaFeTCrmkMdW!%gK~}Qf2~KAMpN-gx|2gFUI~Z zGTaPltHDs)D<@d@cJ4LW3R<9q?iO9rM}9(SpQ~?U`1lZuk{E{dHu1M|UT7;*n6&2n zQG$K^WnyHvHq7R8L=e`g^7QvZxO&it7AY;9l@sv|9=;bepzabrR;a0eR_4Suk`7sq zQd{;|{S%4psgQd%J{L1`Dz>VrvAddYF*4A|gq*;2ddk%dQ7JADq>fB(#oF2_<>}EA z;&N+|Fn!n*#ILZZmEshdEn|SwrDyv5y$f%73~_~S`VB*L=YOO^jh<3L?}eV~JMl~3 zb0M5aGu?P-a`|(Jt3s@Ja@z$vx?;upW2EK}fb&0+gNt!~I%5vvGD&LMF=~uBrN9w= z%^N2|jlz<7uju0J44jw4qctU9A>{j>kZC$T9ijAcL%N6o1O3aKbm3evH zj~Scj7X)g@J9uI zV!^h4%NkpIOLk0HQ*#hVr-bRH@2Tmxa9_7T-QL-UuLs!fTb!Pe0t+Ya$T51GC1+a_~$^j7cPc|I=&eOE#Eg=(3utH+>%UigVLZ4Ulv}6Z& zo9bmIZ`_tN2ez`=Dc8#x{w*JU`oP?l&Z#rKXKJ3OznmyC{}{jRQ@k}D2v-?k2mhI$ zHz*oSqzRvh9?2jB2(_+Yp@5YbcyXefOe5$!n2L!394uG66-;$Rr_w;{FZ&lj5CN7f zh&O^{OUeQ8QwCZ!*vWy*0~T1Xa@y8wvsNbf25k%KdyFq5D)G=$tPcoWKz?tUQvl%= z?1UYh!H%D*pZb{6hB%WFO9Ij?%GP8~6a7q)#MvjrI%Faxp(_H*Ma7x~6`_*a)VxbA zsCFhoC5mOAW~fxWdi~tqf3uDNh{*>bgI|ryv?{MdKBhm3Qt8rT;=p#iYV+|YATufg) zZQ*vw`>;F_EJW6eG&6l12q|pHFPKt1zE8>^X4!AZC}iqUTNcZ*+{!qH@UbJOTRACW z#7E9VAa>J6+GG#+-ucixuj7?n69>7-qu!ZS1ZxzR69v+=!Eakvm|7>2SLOXX@!fCN zffSy>1$KLavehnAej8Ic3MXNk{~aS5PpUwq^z*yu7@xO}z>v`kOJz{gY6EGzwj7Gti45 zy>A9O>pJ<;&i?M2D;uX%=GM&_As;iE5xW&Uva8&}15VToJOrK2U4_{kUPrjA#&24_ zk`|mf5;Wk$={rhopE(gXe|ye=ddXG*9A<^=%dqk77O|FpA=ER^7*Idht;)U#pI?2h zU;M8jV>m3_CD>gwb5q$a9XlGzw17p8{a%E)&a4KwrFTSZ!P#*3Kahn6eHr9@mkxjr zMM#LhoD&-$mZu1!t=I#jqeSh2=r9mz0{Zy6nE*&;K6()05DUWhDz77f+;&Gf)&`PR zX=-)>kYxzDdJj~1pgUVWeMFo0pvazZS`{y><|d&RqM)D`C8P|kz!zO9ncHe0c&ps~ z>wa%FU=<~lxaP0bBN%XaOsfn4hgKrrOu}~eAqS+3$#=cA3p=;Pd4eLOEVqWj$W^`c`p^6luZuUkOSUQNl5_u41vt)*P}qA zr>e<2-C8qu%9xF}J#?O_i9j!Vx!#5sTLhd{cxSQOsPCIC_SCzX)(8{Q0FTb!Whf~~qvo-s`gKw@!$ajaudLJfmfXXUkMHM4wNGui2Ruz17h|yIqQV1{M(#&LIVOJ> z{$o~+?^(%lAV}&{LjMsW)Wc?Wa^LxY8@8NtX&BW(fo5yQ8wAciU~53|1SA+hrd1IG zqb~R`IKH4?fR7TAl6M+WfL2}0r{zz8_=a5Xnk#7Opk6FFH@)Vi>P}q)XZ(D`{08;+ zJy!<_gVd*`gQ8i-)s+=lL5YwzvJaPm$8xaL0gP;UphAIs768Z}@{;O*rjz8c7FoGD z`5paR_WCB5pnLGz91|)3{ZcBS2{=#vJUI9zM>6u!qckizqXfb=+n#Z9pO;VQ3kfXX zin&s~lp=mJGG?x(1Mm4`8E?mC-Sugf{%M9y{V+Y&zh9KjaMrqeT#3y-ZTsZC)rBd1 z`8dGQA*(v@i4j@k@~2T8qvdt>-fz%6!uV=P%R$SgPFIuWpJnDxt&0qiTfRf+Q?i*Q zj~Om|bls{<``_YpS3*^HNhD;c9jVBMlh#>&@h;UJ!MilTL>F|}wnf(B{a-`L?$yw} zEf1WW8a|=a9)tX`gdQBJi00kb>k^>^?!LHL5kE*-8--SrH(3NiKaoQXD>K~5*opKAQ0v2Fj1Z;N=CKXtE zf#v~ha8mK`!C2t40##p++lwOUrBDac+lv2LT%Uiw14Ja&9X*mgYUAtc+c`R#fG1Ir z!>P}ol>V^YL;duy%fa^b_M&cTK|kM8Z*HZ` zxLPm79O`+*nMyF|&)vIFb;u?mGNv9_zOzj;B5%;`WgV(&2H7tB$kk!a;6P-0Q+<#? zm?y9;i`H>ufNj1~Svd@{?eyT$Hd=f|pxr;FI>rwZf#n6z#}c+Pbq&N52-<8tU*;%K z^b3Lg_iLBYq>L@AhG%sL7ta3LNu(h-t@nKWf|f(XR{}4%W~bgkwB7Zmml|u6>SZPB zW7}grF;^h`zdvYZ!!?h0vL+n*Z)yw*Pxf-c@&n{^w+35@R!9igpFnbZ@Df`#6zLud z3i93YRdVKr;+faXbQ1v!;7x-uS0pL3I>=E2=?$oL`T6-kpa4>af~4=^1n|ENDkF`n z{(b2hw1v+)-VK0&9|6KL!?rmZ@VgZTqa(a{iFeuk*Q)w+hf#11nFowGs)2iiYYv@k z{E18V*7NAG)J3w?6hAbB7}$a{#}{GidPBM}#)llFKU3;q-Y4#~ea}>Gav61+zYpy* zirFmQ&&X$Od zyd3<}HxJ+2SLu^-);$Z&jcUsJ`%&(!4Ej-jy!U{`Jsi4Zr@?#^ipPloPBq{GgRUhe zr^!MORbQroiY(t?+?ONlatLe`fHp1aXYt;L(|dy%D=^?`a#w| zsBbqRKi3ie00R=ir6;I^3b6|^&cL-UgOD7YD3@!rZSyr0pBUZxx1~>d@?u2OH5FeD z_~q|Mj?Gbu(fqQcB~@c>?ZKMZ(JrP4oz5AWb_W%QMtg}0-Z;yKab{LgQB0EOSjicYc-(a z|D2t*t`Nu>Jw%RBgUIlM`}fjEkVP6V8T(6tbPa5?*SxDBTy`f!+g_*6jerPPgd7AW zUWfS955keJ;FG`&0D(|&OF(@CYWZs4-dO-BTmbbF#FJzn>W`065@c-C^wBdK(mwHx zEV`d-xfne4@38<_;qcHd4P+qwv_JhZHYEcN87wul`|JtdT1RX^`qgFNMZ{BU~_t^-qBWjCc4;0!14nrhxEPv@3}IsKU154|eit!Fa*69Z(1bvSLK;=2hQ3 zqJP0WU8~1^7t3Lg3hcbTmb?p66}Nyn(OE~p66AvcN{Ez`or8P}ue?gLK9;)JOYKt5 z;i+aEOcOSQgsy!mvUZb|XKmVe`u=jk&5)Yl&m{{Twd&pgj(VIcNuX6fvdGeligJ_c zds^Ac)O95QZH5gEIr5VGZatW$r` z`ZoEh6<7}$0b_6>IvU4U9k%vAv^4PbTD&^^Ef0J5nibz0g}Jz&b+&7OdvIB*5% z>71H@&wOz9bNBQv4va@UJ(4Vr`)u{A6mEYxo#8p+Iw(8;w zFBXLRBloha=!HshL%iAW)a;>lgC?8ZXN(ktqYxYDy_A$!yGxZ?6}ym(Fnb$2P&fz&X*-Tztw&E;%kE9!T7i>=9Y zAxiBq-0cl`iB7U+7GB8#yLIax6Zz9T`M!=DgHvNgx_u}U1+YYbm{y+Z0W7D#`l_n zKP75#ix%!;h)NT8h^b^?h89e~^w_6)KedUZiv_;68_)lK4Fw6T5-Ci@LWym^#K=M| zcR#!}HTb>$wfa=}df$CXHEBkKeHYI7&a5@?*m!sRvLlYw(9J5}CHMrD-PZo2`1#`fYsZdYpA+vVLft_Ex=dSqq0+|I|;^ zeAb=|53B0*e&0>81Q^)?NirQEeLkX1+$)TTqf4t20U|Y+f&$t|F$Xn_pz z#cjJ626PHAmVM;=L8XK_hO(LHTooRr37=e@!n-+34VQiUuji;Or={(_y#7b){^Qi- zA!~radhJvx7^1(34jO6-|8(#0(=ixy$=o1K@Ekw)?3Bf#M@<^98-Fv({E|&=G)qv=EaC+6kyu-Em;79Lx>VOX3>x>g9!z zGjr>9&a`Wpk&lgxW>r1h5x)Zo%e{JmXTXuvMQ38=-8+R?7XRcNTPjJ;3&hi!1r> zCu0_obBQ7yja5!J?R5+DrbOMgml>yJDv2p6tY|WrW1LB_4#77_0pd8v;Ti$$yF3Sm z>ofboFqsCM?H#|J1f}WY@?YEwG#n<9bH6zCr5cw%({lT0RTPZ94i(}#zn`xXT&xQP zmjifUibdLjVBp!9vLW{_x8igs@c^QmjEj1y$xeR9l>s3Tp)J(ojc1FN79r?>boY=J z#K1wr0CKs?X9KF=&Hwey{Vh@3N(+lyX!ZOS)hOvh7nDv`;CUs5DqyKg8x^Zx91)gbm2#BK}#+6Vm2&ZAB09D2JU9s&lB0Zb>C_+hH3g5~4oQeO-}z zPdOu`dX%f8V@NF4$SPu;)x&c4Dz+?77n!a`0U zg;d;zLm~(*66Xpl;Cy58<&Fgx71enr_kD*@aO> zd7xgBRsq$trqffhsMxV~uTQOda~|ZL1^s_KeFapM>-RM(EsfIBIgFHaN_Uqap)iP~ zl7dnK(j5X)3J4N{pdek+s31sp3y73-eP^!!-#2R(>n^VX^S;k>o_+S&d%u(^OLy#_ z9o?}Ye=g6nmHus+`?@qYf5xUoIH>aM`3JzGqRml@Fft!VXh9JDD~rmt~w zXEVTr4b-Sn@!VA1lf#YAGYUbEKHvSJ1D)Bw#0puG*D!9Y-R=M{St~OukQQBK^%iwg zM1WNw&;tGgoKmnGhU|yzFa{X>@lIbfw6*f4xNza;*kSbgs@b%*wcx1hsjN*Y2(`G? z{4rHFt}=e&pH#)Tel;RZ*2eksUDC)e?yWjt4{Rc5kxbKg?B=#`nx&cOVt}P96h5&t z$n}mL%OuNTX?@2Gn~wK(z}V9-`N1a^vAa@QGW!krrk@QQQdiHq_^{{_Cwhk|otCN- zZk&o_4!thCDEy-@l^*foNx2sv*B$m0n&jrTkx@9UCe2i17@voqb2i|M*C;7XR(9B) zmq)kf%_VFWdd^xRe9bbR;fxgcI2Y#WjT_*{+BbyjRT1jWrg1b$@@8IX}Dtu`mwql-Fsk)e@oa zx?YeB^97h8*w$5j%9Q}41Wh!i7-`7dN9=-7cJ3JMZ0Q?{KFcU@FO!raVCcEzdSr5g z%Sh#oPBX~D_~CDF%klbup1`|Gmx9Ax-?)xo?x)H^kRwa8qbZwWp!t8Llz~htmovikUH)OkWvc=cBj04 zOq!?p*jJ|N6MMUin#_;4BbC_^j=JWFyYVmB?n*f|DcA58As=(KHNXA2Q2El|{@pV1 z)RT!j4cEqo+Aqr~1}MFV+*uves{KYfv$GJe6IJ(vTDh@`Yfjqxof+k?CiRoTk_46I z#r3cuf(WNr%Ox4^srU`lXXxCQ z#lI^rDd%4@81smJ#!@mH9oP1(WPdl0_iiWuNP(j)tN7wE*2{|&7iV=F!;>zFnZ{KQ zZ$+>+`-gAz`X8)P?$oA1j?A|QiUGP=W$UNZDH!3G4bu?nhRMI}9kl5!0(;YUPMbYE zQ;vJm-B0h4q`A*i%q%7hYBx|VXFtt>4FmfS~<-HML%l`E}G>u_V zcF89?MV9cRMHxRdxirxb`2a@V7inBlk{;p_?P!TP;8ajtaIj+8e;f;|riPQa?fWeI z6iO40VZ|FbLC?E_s3h@)#iY3+6=jEw zq)!5+gj8-bUnQDNZ>PYR%fBpXndJ4_l15pu1!5tdAf1k-K$eS#Tu00PhOQHNgb#`oPp@eDc>!6n@Pj*pg8Nx zTdgWdr#`FVCLWoT+Fn#BArFs8qe|dxn0}~R88MyinrrEP)3woMuc_2UhtOW03M~^c z+mqEU-Q;KNvL1m!>SBmrJ;Kr7zRWSAm{WGNJ*2qW#km3(**f|Cl?4iAvul<@B899b zqXqQM7h2mR6hCLxR-2~zC9V)o)qb5|BKTsf-0IrJ+WAhGclW=)ziQSi+0O(cdM3F5t{644-MK8 zgP6*4mu6g;^%QtwFA7dIBH}j>7p`XYHt?*v?-|C^eoF5cg!!y2mG0eijZ^b=$J*~V z@8l%V@yvLP%*TmTIk=nq@mMk|DLcL!R~Ir)x6=95^Oy-MXYx@|kb|%9`odk2#=)-> zA;NbTrF$1n-tBx!Ej#j5TyHfWqL&>}>UM8tD8^I)m1 zH-5?L+4g$f}6Px?4Pl?pf6Wyb; zN2FZ%zu#gKMfG0Fwq1$PN^qi3CK~P@cRjPn@lV?k8T!%wv?I8h0;8L);PeDbGDO>ubG&+-D892^ zW`JlF$b<3B!_Rpb?;+NuKp*xE1SBP?y|rE5QMd;hFfh45#19OOVX@;;zA`|(*zn{= z{%7)_m1|KKD=u+R)*EoI8!o%wY&I9maMqANXh#}rTWNZOl-6hEdOvrPLQ>pPC+Lau zgT?blZCsyV87DX>kIR@b z9Jgr<6kfz^>2S@W^}lOtdFtzTvwCl(jf?kute)hRpMGn|bz5NU{@rJmda_~S9PKSN zH>tii@MP7UR)<+>b`8E;^w2+7ee_lFn>PJ=zE4gPQzv(LV!@il@y1Uh{;K_OhZfQ& zr)|E@mc2O1ZyOLdOq{m(uAb5lKJ{CjUC(jW*RY^G%4fEe_x`G`<+nxXYrGRXo-v=* z?~#>N9Sjb7AkH>C`7^Z?sUjf30QgcPVF9}5z?<`I|n*r54H+$Wm3F6zPW%tF4mvpCDlsl~6o`XiF< zbv3_2%$=X|kUw?OroGb9_-*EevmS}lo^UeT%%j>^zg^up^NDs5?2sbq#fN)YZC-L8o+Hb7?2JN-Dwhp`Kbl9|GmaHCPEjYO=1MPAo5F&sYgGsOzS&6M^=20f zL~(ihCgbJijq}<|SGiXOR3XH^CpFod3&pefWa)krV=dU>yEdt)IDMEG4Yvk;YVHCi;a9dQgV@1&ji@dkP~K06=+X*KAs$=Wc=Wk8_~tpV6+pa}!O z1=ihGRM=gE{?f+~-+>PKK!+qGYI4djtJBld1MUxkjRC18tL{(paDncIxhQNSP(q>U z)pDc1lAx}HbLPK%g`-_t7ZmalOX4Fk4om3j!91y}Lp%M)IE6yW5kFo%J<|cFSGlDD z^=mw~E^ezPfNB(Gg%BagM*tixxPW4Og1yDhK|)>3wu;B|Liv?F_0_TW#?f?u}6Sa%ymw9FlQ8rLk+1s;vx=i^!|&3mEgwXeEKYuwK2 z^=r*m|NGL6A!eYuxo`L7yU%*!hYc4DY@RchjY<2C8azr7l#a;fVVDpNOIT57c0O9s z@^>CxD_dW$l3Wz}$vV*?o3U^Fe$zFp_Ndo=s?t%6muQ5F#C4))Z^!Vq`Ls5&NZ8h_olS2#=LTo5hweRf+q;(TXGuG66BTN*G}d31*t%865Q`Cd z-`gU@J=PkzG>cBb1ECnS*ErXKrhp3!GgP4QfLHw%7^M9Wk;<+@iPM}X)t~-GSJ8`6&S^Uyo1Gdk z{56NyL3&dOFLUONkB! zMqOmYqjp2WPTImdNXR{#UtU&f`!<^y_jS1YeQ@c_^fdm9keqCCCRrmon2bX6T{opg zLS*nnoW~RFJtON-vu@nDrAlaqq=3LVv@7tTAXtEaFl-VYzVN?XLJ;S zyZAU|nLW#K?!ymes&%b5R`!`1TL~2yL+*!xx}2TWD$J($>g|SyHUiZ5BiQd6lP*q~ zQ8)5%m*xd*WU+=3nt1D{>Ap(3ofuex7+m%v#gcpdAHM zq1Uy>$z`iGK5GT*#Nq>ODai8VGMdC9NsqG^>7Rz>Y85F*ChKhQ=A)-NJht);HEz$_l@fOZ2* z@dDtsCkp-Ykzan83N@Ce_q3I-4LU>Xkdw*6+Y1+DSSHB{TC`>3(&>FbT3TD*GN zj_ZhTX%P7%Z%L5$#~u(lFi4VDR&!Z@p28}^L+V;W`iDo(sdYiKwkm$|f=fn#zCY7U zeibJ4kf-~y_w9#CMsu3xcrD1viI114RqJxy?lm+FyTECLsp6t67%(@RE@A+NG2#OC zjT!z}lnz=xSlwtrBu#Yiv&gTUAR>d(0~i+V6s|LGncrGjKR5xI2IvORiev)>a{w2y z)g8`jI{%qGf7n;X#6(Rwe{Ovm9Qa17K!2{3nVY@-hCw356Mfwy5A*J5h%7>3rJvhE zgCI@z9Ok3YYW6z{XD{XMC@w`3MZ5Jx7N}d@ui)A{{n$;`oJ6_h^JA&5&z1JETv*Rr zv8eIX@%92DI`K#hLn)s*QwD~>HukV;vP(Q3ZcLPB?}c*WsLy(B%GTZx^-H#5ccJf~P3wEj#Ov_upFo{!GtUQiRX3dT>9cpAr!oJ;NCPf_$ z;_P^_HDu!wT{a2d^6-Piv61!r;+YUHsY*ppB8G(ltaRJ)vy=S|^k%>-3Ma_Z13f=hW@>en=!sIUQG zU<54(@GN?Te@kK(kM)X&`hf|D?1M=IuMf#EB7(o9R~QU~SCD_1zF!{luGUU;eCfs} zQhI37%uxjY@5e&`e9-yF!+d43g)m zhDU2V!QHLcC;(Df7<;`jw5&Q z%#2wcdx<0a_*dkJ==tJNwi%p_&$`9-%rL{>o0I zfURg9s`KaKPuG}+!50fN2>g%`h+!<-6!Y+~wDQDmen(;d!M5iI#LZ^?OoIC?Dbj<{z}ZZ3^7Abkri^xedJZg$~7GJ$8ISXWZ)y0 zLHLZ6j(i$>5E*&D&bV==Q?Z@0bWhDRUb83gONjmf?a=N~+sy1bb!^?7-gma)ZH)4mrfyD4TkG|k@y4O{HyM(CR`Th<+O&aKGrJj_6E-su+MS#GdfU zx<}wW{!OmnB2_e0#Al9fi#g}*D*6Cy z_hDiqOHpq4`Nv~Y+c9-5Hfqi-vV4^i7t!N) zou3$*GK+9dvwfb{Nmjk2oc@g+QXu2vUtFnaRaF{W%D)W^Gw4Xs5))YMD}CAE84kXz zuvBWq4J8_#B}YT}FOl>IMiPh2rKNA_BIv^yRx1T%(hL|C#52*X1{(82?NG{fG0=XB z2T7b5{q~i7R0Lo1XYh|@FMveHj>yyl1jCc*RTqV{REepI`P-F6L zxI?$TpQg7>`Z|jwit;u1r<^#BG(M@mL&6&0BFkAw8Vn+ z$kMTrFR{zIZP0sj!=t*ds}<)eFELBkrw=ZlXH@+DYA%gIcSBTe=WTC2^GdI345T7n zdlawV%0?hF5J)2^Kyq+m+gIux zUnaE!=AsFZmg5#EU|_$%$qZR!FsEzbE6kesE8*{4yBRSOt$#C$m+*QGDHcd2G5;mmG-{n~E;H#;#L|&lj zG~$CxaXq|w{o%8eQvBz=4OP#){5@}e`Rp@stLv;?C=;P6`LOYST7Ya$51j_f6u+WZ zv1VBdYW6-5G0QOGW7&KBq}CQ9sb`!r~PEVXrAo-O`*9l9`#9}K8ECd&8X zTS=3h~ zs#dhg!}@|NHQ(`hu4$4l9wK|?i5=yHZ~n8z<6i^29<9k{2@`q;X0mGOsz?XOSc-!KdRl4-Ady`Qoqo;-xTCFz`@<@sh4B%m2lwWjakGbVZDZi4m= zT~;^W=Aae&kFS0WQFr2*^iq^k#6wR1Ws{+U)7N+^FeN9eGoMG)|{sF zu$-ilVKwR2$SH3oqi#*zt3Mx;!5J$h^4vIndAXs0kRJ3z&Qe|t6? zp4>o3ev6I>#xBrmf;J@^Zx7WCh};DVHq08sr_8m2VIPCJ0KGTZ$zj(o-E$PA0hi$6 zYC-na=cY442)pLAGFS#g1hgfp+p1g?Klq^oxp%+@jOUvhC>Ywg8z23;_H^dO^MNi@ zn`fP2$Llv0M{*k0AykV)_H1Tm278N0|BM^t>46kD6|JkeKHYA(lzzWZ?B?dVpF*SE zMHT&aB>Pkyj$Ykt*pMFbKTk{H9+59?y4m1xrs=UuDr~U#SaV_G!nX^jhET)zSK{1t}i8yl`RNOn$}?j2fE8Xalv+W35$?-S~Rm% zk$@PXz!*#739q>HBqvaQghK=K(j!X~(SgcxtrlZaG`u#^eZnT1QyVbKI3w@SU{?@w zQEE?o*RrNG*4WIYU5t_2bfqW=uj)8+Tygm)rm_L$byI6Cm+{F1{IQ#$Swp9)|ye1&EL8^2yU<1q;J;ADbilxV&LJ~Fxjn)-Sd*P4tlkL~@9yJ#Er z$okwx`GHMCjP=NnIvLKlh2%eXhH@81l?X&8ZwE-S5##M-oW3}X+iYUJeOYFi={89- zZeSaqBMTm#w$tajVtsRu;y**T-7m);a!Qbp1nPODNRj8fnYa6E?`5=e))hWed$8DD zwON~!gzDezqZa70DOWXELY+C$QZmp_)Y^0%bDY#WWe-dW{Blc>V}0-Uqtn2n#6CN3 zzpx{QBctNy&Ei<&i+3H_%C8XeNDlQ9D!<=06N7OI_EVLza{U*pGzX*y8`3qKqCb60 z@PBi<;c19#wV6xV9(ry=Kl-yS4x$e$%23Fy`x2?z-~(|(pE_;DtO&socH z=-yo<<0-9#L&~^&lrbezN2OoU_gCuML*ui21aG0%HnB)|7kTe;_r$0DVuIg-fsE^F z^^O;LJD-_|Q7Z<^u8jLqT-f0yr=NsvsIvtVWS7^@9zw!Uf+ioHxKYCu%2Q#67e`wuGlfhGx7Lrb?RzJ z&m5ST-kH_JR!R;GGMGa1-u~xekTgIW$f7!*o4{B+%C=oc_1^4nHj}p))(&K+iAqT+ z0yNv(6T)!h6zkG_JLUXkSJJ(1Y7}EYqJ1A~3`{z_w&$^mgZ3?XQqW_pA$uqA=ZFjxRHf^!6-dGKZ==lbK%vq=` zj5*_CL%pI2RyovK;wPN;M&g7|p{Z-f*Mojc{=BkL%8;bGXFFE4zV~s%WxheXloO=w zASi;z-M|c4uaIvi&ep-kDgRk(MM>&2O41h!Iz>_APRD5|$)54lrDqA3N)aMlN;qYx z1r{?~yA|QC@q~qrxR`YpiWIohR|2pQ~Mr1clTCb)QgPn$#~3oPih8TXzMzy z%zS=fACtJB{gKok+uB46|Bb z$JD9Sl?Vx0873BXcF3|;+Ho<}y4AcrohFnTEc_E?4lV>F;dD*S4|lDJf|-SVE zWG_{4na_XK_8}bdLg{O&`uCB~F*kQ;#0;iRKmHK>mYNis`lwO*2jg_gFVQxJlAc2& z(%U8kPtK{ftMhyfPKvw2op57H5M;+C5wwXm^#)Gr%wz@|DZU)R$H|nEbVVzELsLx05JtdqufQ&_WlZM=PEH@P@nBRCn|E%WS7Ny!S z(XJX%|IJAC4=yG^l}|pN3J2%iLI%CV?~c(;p#3e zvH8rzYW8%e(!jxSb}R%rg&>dx3K!WMK~21q7EMHWWiZBzZ+TFes{Ib^uNsm(~YOs-m!`?nWYiL^c z;pF6Z9e0&3b$A3BO|exuZf^xd)v}l$2t7Wk3b*Ns>8AOl?-<#mV?30J>at}+CLALt zWWISQ4#x;G2bRh2XTL+psQV{YahOx8MzEP2sg5LmRaEr!c{xKwSo_4_Y@qsv;b^@wNwSPmjk<+?SC9o=d*@{;+= zt{6EU6xu2kjt)weFy}_*Kdjg|#P*I5a`!Jp40@2UF=~s3r9^m(V~!n?(h4WHhe{>N zF>InC_BCo2_N}Ol420?2=dSzIqkc(6vhNEBT3{bP7Dd^FC7wBdzWRj^ykBdd$xf0ACy->`3k&|bqmy?iigD)wOL=DK?~f%H^U@|!3#|$Z+6f+xxjmqDWqF@jr@*XDbG7lCUFYs>_vNv}$h~dWxHZL-cR#5rd{Ml9 z{*Br5qJLav!mSyr6pcQMh7|3-^fZsKc_8*kbwj4D0m1zweS?^^PCAm|=@bo($(yn- z=`HegeGF<6k7!Q*rY}=j(FqPo%3pVr-v_lb`V4{aGbmw>6CwAh_z12H*(ZN<;c_mp zd-c1W`!h5h0AZ&%MNt)AG)ViyA3sRHfB%l&f^bSjKYS1HwshSJv_yh55K;~^{%cf8 zQ4AAR&}ck%bqy?QIv0O==|vAgAO@gi?JP+^18`Dl{L#X^Vq*)*dEh^T_m*!qwRIlN z+?0XY2s$ON#_Yi&_IthJj^O<_{67#xLZ18~^jGQSXMWL}BPqVJIhNny9852YDKIFX zAPEemZxRgBG@23ac>7g!`9epRhDdcRg z`oJQZXboL52p5|@%t87C3a->9QcY=xN*avUAb$A!_nM{8c6++J;05KeZFnDkB#aGVTV(R; z!Sqv4+_S?*>NPHF_aLPGaGZKwEff}vhm6J^o%pN}5*%l+-OE)8A;WtGJH0$mWW73DTj~3X!*(tzO z8%RjFyctCgh-!E_SOlW%`dKgYSLV7;9hI<8zD`a=%$n6Nt`? z?Cji`&5udtJ~ALB@tFx-5JhVqvS=ycgqMdHeK=hHv%k8J@$Gdf+|@Zn1oxmI zdF)CMr7p#FW?6=wMOnoUd9n{~N9N%*l_7rF8(j}r^ZvNu_Avc*QN`0Xx4O+5qeA6@ zF2Z=naV(R*A3T_YJWjgp;R6>!H2+?hL-n_>M+p*EIe~Y-waN*SV!%U-vGzMx@{Js? z^i}Hzf%5ICteQ`4$Zxx}lX=lL1wKK?9iyRPr6~YEIAj4ezqMdvc?TcHiz=zStpZsU z;qZzbbg{7C!9)bu#iG%N%V`8Ml;MdrkXH%Wl;bs|x2~*tK`CofbMpR7vCZOOKHVS}znK8G@UI%RxhrwrbUQ zKuoVPMcFjHEjcFd!sz@sWr&OA8*0La-$B7ud5FPe<_~_|bnlb1i<~!aw*SoQ>~3|& zI9(r@uco)UG|O+5zOF62GQOXRJYis9c;umBUJf-s6ZhafAp>X-N>wE~TFu+=49y>aW7Ax0S;73`(=bqF+ z6^~hws7;UFn^R9F z5d&UBorjEf19S{$`|_$H_quxY8WN7Pm&CiqwFv*cqEA9-i3Jb{BCigW%AVxD6%(c8 zg#~N4+f_yCmqb>tV_u@`Y=Jm^I5pLxVUJxsx1++|-4v6NfnZZB?naabBv?i%u|U*6 ze6YFW<5ygAhm5{(4IFtvK#hLV8BB}Ui5VE-ai$RA)$Bs|k4hf)Pkux;)Iv*>$EW+= zU|OinGb|$UWZ-)!e)62_!wQFy%_OZUz@p`u%uCS+9K z#0^h>nlXqV+ctS$B%>Oiu;k^^gk+7rGgCF8 zf?5J9qmSWn5&%FY`>Z!4#Kcq$tF|byHXG$p1iXY#Im<=q)g*+RDcv>WiXvj0U>jNU zkPD<-Cw12_lCw&25Li7#&e&kPQe4UQH?Eo8I{6_D=sd2sXrHZ8O1%yMK9`^ui&!+!zZSw&T2=-Z0E*5t+_;{gae${L6u7406uuK*_<}c~PLb$d11KdhuauDyalTb= zmXWftOKQ(RX17%;slhPr%`~Z)e)Yv=C|JF6m;qcOIh+wwZUS$w#0TWt30MVNB`DC=3Ny}zl<$0QaOf`spdQT?-)73X12I?;+R zDJ@ghUQN73BD7C=UZxn7;oDgkjc+#2HdZR5+xs{7QZ8yv4rN}uG(EN~O>Dr6`E=Dk z<@*nQxWQ1A1vTNM_(;HI6+ArVh&^*KSIhGZXP%k@7b=7ec1`3Kq$?mjI{z&V2h-3jZLH0nS_Mpb&c~2w}(JHbJB(Jc*gRJcy9{Z7NB5Zi$95jog3b z)vPW18w`*Xq>4Y3CbK?SbA^ODO_Vb>ndC_BE_F2)`{5)ECbAda8n7})jm1{&771f~ zt?YB58?9=1gBrs|6;_8({e}ov!jg-H1OH&jI{kyQ%Y-9#I6cwG{?W>=d=igD$ z;|n`Wj;<+b%nNv1QQI!OlWj+5)7c-n-<{L(+Oz8#T^;l4D01Y;*Eh!gA^P?E%Gt%f zv-Kttk&_|m&@UjaBy_ZV0K#a1mr)AP(3Fo}13D7;$(RLnVh~iY88m4J!+_;P?Gq5} z0#`>7ibh7W!9H{tuG%iJnbtvy{d44xBsn6!ZzmDH|D+yPItom?eKLJ zLgBH`RtpZCas#(B;ci0j1`G=j-Z0P8z1AYA30ojP=JmBQc#bZx=&*Rc+5{iW5eK3Z z_p6*14iBmRqhlO3Uj9dcb#`~-)lNAh_mIhoV+Mc^fCARi)=qnc0;FSvvU61{E*Hf1 z*{ABsuPCEgVA2Y-$?Nxh9&xE5+VcUw!lR_92$!X-3GPZ-ze zWFzIa+aT@Lb`9^|DGgN7DD1e&?R+A3L2_Y??(yJ7kMrk!pgd-wXzdga96PYQZv`LX z+5IO`gU|aP0U)#dRF2yg5IUsGg02&cGzN%v_CK(N;N}djCKZalLs}fG`;7u22ERKn zU!V{|W?@h>NOrdriz+Mx_YJp}HSh46&MhAd^@|D;-OqFU80cg|QAZ4xDt(tYE3U%m zzs@EUIh^Bad*u#I2HD=$24Aa~xRv+FK1bSPBeI*x>3n<Lh;niGkE zwmppn?ava1IQET&O7rRylfQjVkr7^{n_lGJ@R`Ey{-8eb?_&xII+GEH%%Zi9$!b8w zp^4}6J5e>3TjWDPtgO1@!?`9(l*4)X!|J{sA{h)=&{T^2Bv~}wIo@*+jR^wT*xX|( z&~n}L`vd2qUg0c&1ds^ZqHtqj$3njgdxMVvjAEk*?uLi0$m8MNM7ttmaypt|BzB)~ z;8&IWlQ6TsE*%cnpd{Q1q&!ri|F~to>$pv4!ga>tUH{VpFw#6JI;5LON_ork)S~}m zn3=)D^!rq_sF1Ik^7}pW$4neneJQyfSQTX?@_J5Y`C-u@$5 zaWCI)@p;jsP-Z&8_&5Jv+d5l}xJ0is($E+at!#s4lHwgX##QE8i!zwi(RDsw5QY8^ z%p57;J{a#Kl=y4F4YPHs$7a>tBNKmpCTI^{bqX>g1F;q@~7uGu+Ljdx|Gijd=+J||U7mW1!%T7+G$ zJ>}U06AGvYfDZKo!Y&0L*jbNn+VODByC4D;>PHe)u<4T!DP5Ld`10^$@@$>-7z{DL zGN}+6nw-S3n1o}QNVILtdw(0K`Xv1>jC7l>`+KM6ban;*kN*E&UKyiLEIei&Kf)yn zw9nDbhH;<9paKXv0EKhc=kTkthHjpGHCJ3tw53CQky(``tFUlS8b=FSmFf*x_T>_JE7U?@| z6;yj^6#DSQv#cJ|1&&tpc3B-p$U3iPX8GRU|5;@>^VzVAbtrj1{kOK@Rj$M(?K_I& z?|Lu>7E-!YDv>MNlg4P|hJIN~(o3hE-$c{G~r7{sz=vC^ewDl?I3n zXBG{-RRuj{qAJemNKjL2a7-{hI&;6EJn%*-22HFO&kh!^0fNA|Qw1 zW7}6+xkzyOq5Biqy9gqI0pL9$*?M^w0yWw`+V-J${^o%-nQOxEl{hliQ`U3=wk>CF zljiJnq*5!-=mUXlY<`S&Yd%xM1=nA@Etc6L=9Uy+Bvwa(d~vNIfZjh%BXtL!X4tML z*SnVEr}y+{yVWK5>F7X%ow-`8gzD#r~bq#H#gZ&tTe35E;$nzim{ih zVzTr4y@MQ52>)-S5z?W#(7zjPeuUGSc_+feXwAT{>&Pd|1_=-B2GZo~BL**Z?6_k5 zn&iXAzKWM&dq#-s0Dm$vGWhI7nzHXx;Ra%SnTu=xzUAwmOBd0OmhZzT=jqc3Xidk3 z(lj8W2>Kke5l|^wMZ_WTiOQv=&3{|JFtVE@G$@`DG0(Pp1x5C&3QjYwa)dgI1Emx% z!Iyi%_o+e(xew-TA)o)INlFz%wz!eaVT6;~)0G2C)$4{bs0HQ|sa0_m#9hbis7amV z0&%5%HMs$P)fK}^%U5^R^(;LVha3OlJUGegTi%n?sghTI!V}#Jab!$ZfN22;P9b~; zbPXm-2}`csm!Dc#SX7j-Wv!?ZE`y{Uie6;oRWO54l*ByJhf|Iyw7RiT>6&7BQn@6l zJ|daw$ko-gm323->UAnp)=G;D9R*8pl!%2|7HU#o#`fcw#7h1S4~ax*hcNcMIgNh4 z9hg7`0^x}!?G|>73BmJTVc0SoZttXvk}g}B*T;XwX}A{4MrJ(BJJeW2z;yaCc;C<* zr>=e5~-MK;H!6j%B}5T7LAab25hPFqAqjV62DRvAgs+8dn=^?`C;Ls~puEEztxLjB zA`bkevqNo6pxH$?M^tYQ1mhxttoF9{x=U&O>PB(4{gSW(7Z22FgYs@CsPbI5lFGUJ z;emG>*Je-*61 zzglb(zvYd9Jv`PTo$6AO(;J9*0OGg7f_HgY)^&f#9;eEQbyJbx*533T_7REl>!cYV1 z-TI#R%Y7rv8KTCiyv2U|kkFtL$Jxo@wTe3okGyC?o^wW6UGj3PF`GYY0SW`eg3FgX zM%adL`WaD=7F9hO>?>IeDbk!5PSe$79KyH|Q_sLXmkir5s?;1dGI5M?>d`6GYpWRS z;4PG@aJlAh9IskIz+JSPZs0f0&Al&X^snT}FYwO|n;TRl&{p8F6YIGE{RtfK{I6eO z@gy*=uW9p<4qfpEjmcy46r0;~SEBWNL5>4&K%{V6%7yiGnz~V~dL74&ylj-56v_a{ zi-)WbL?-@_Sq^WYEP}%cPJ<1r@Q+FhMFr_OIB7}WckS}nDtL9>4rb>P4O3ZM@SF_3 zlxkyWp+v??y`q{IaK~BCKjAp@MVl@uwrYrv-rdjM+VDI)l&>Kv^gdFYPibGO=#>j`JK@i8ykOcdS*Q@nca7PLKyOc zATkAcB~X<8wEUBJZ!8yYq*1iVz@5zs-xJqxx_JcR;9Ps{?LX^)WsA{j)c$!B`;cy>)T{9kQQw@szypXousr^KT+aTVcN)tVI+BE#P zYYC$}V}cN(ZQ+@s+hm5c6~?ADC36>)AHG#Nfu|N~?CT#7Kb##xR!;=1l9_+EJ4rwmVDCbTdJd zhyPxGh<6Y!acBz-9dI7-(HM#ngDR#zP$~PN24x| z1j^0rW|{^&)H7gKI(VI!HFtb^m|0ljiK3B9MU#>A+~L+*cI`~t_U{8$pInjZi3qqa|J_z8-MKw&F_ z;QW~7K*Eo}uua}*!CYusvL(q~`q0(e)kyL7yR~JR-92`jUR7oxgK|NXJ>l5?r|qQZ zCE+f)`Tup659`}okUEBRgip28yLLJsS-(!t@4g(I1^3*H2eNa^yJdy|8~~XP-cNnk zt-b9KLvR|xz5hHBO|4`wZB-tyc>+gLSPpL1O1YucI7haBA|a3>MikWMIiwm9aehsG zxT#1KNkD4(?c%BW1bOXXA$qbfx;z5TzjuwoM#LX&?QVNJM;s0bvl+jYKc z#^Ka7HKB|iLZ)dNc?wO(L}U;08a_a)sNXu3>5s}D&KAVu zs5*VuYgB36YAOz+9`j<))Hak@6-ygt*!E%1yvUpRI4>=!{J#ZH&+I%zMn;G`hMB}c zSJ9CO^JD0BfhFMJ;P~pFZOo7H$bb&SMjqyH^kB+39 zTmzyw@b${-9GCOZLlObR{x3izZ=)dTBkYp5Rf~pns;u$VPkYHZX*TKqBuuK@rS8N3 zj|ZwtNyxgQ8Y1qSQWN%$;6a-B?GkQv%Yyq)TVWR(kuTNgkR)%=7+!f|GrY0-$!m8MD zs}ZpeSIWIKQRU*|^4z`>AESKetJ$Auhi+(!aySE_#RJj)&SAGBEM9o}IRo6*cJmBZ(mcSwdWn%Q!0Ic0S%_cpoU@4+xCRn z&xNIr;`wyWcp6bQMNwX)2pi0H&K$p81X20#5)~Gi|3}nUKteosV2qj5{e(^8n%(R_FS8eBD5uH|`7 zh?b9)rIiR99{!%2;>u=HduVn@EFIi^FX-fG64ZYAIA}b?Vy-EfNPHtzEN@4+A3Gs0 zz!on-{QyuGs0{0pE*$;T3p;LRcOcuGndZYwU7;d$_bMYInEIt(-n5se4@ah6Yr5iP}!20KsKLawO%UyP!o zsInusOl`L}XZ*pM=pUH@)D~FUxs`A;FJYoV%mq%X&mY?I35^412Dk3N_8M^aLX{N$ zNAeg;(syO$IqY*N9yESzZ}Gxg2TBOO;Cpy@c=Y(x!g^pd?Z1L?r54V#KT?FhLw+zY zLl_&)%_u}eH=+xf(isOsi)1IlQvtn$mMJ^<9rDFfQLW8&?crz6EC-u5LgxB$T8zl43T}`=L+@bx()U4=*oN`mhv=d4rurTs?Cz=MOeH z$R<)()Bl392|f;lX^{CgZgll#d&k%Hc64Bhou9mf1iGB+($5W!uz#{CFgfbg6F8WC z-}ey9yo?ra-f#6OC0ubFXUEDIRJ5XRee#a{wcph?LEeC zMKG9;HM~Dc=N0Fi7cx#R!q+17;XYSJlJo1gROz2^KhLzOi`bRdL>q9<$JO9k$q`Aa zs0=~A4njM2r zV%rsqJs8LXB6f+41$3FVsJZVMov6&aFw@6N^W>f8{|~XtascW02LmB%l{aKhdMwJK zxvTZK1^j_qE05qJlXwA1R*eA=Tfnf@yYF!&slU$Ti)ZkGO$$ggM3t4x#E@lGm-P8Z z@gyt3_5CXtGHw7WAi_d3d6+W@v#6P{{Zr6kU|Z{ssH`0zos8H*{;zvypR0MmBxM$1 zXsi<%Pp991>~%AvMX63uJ?njm*85cpx4s$-FwSU}oCMOoUKP>3Yb&T^5r=N9u zso8(yzu=62hdy0Khl5OyI|}-t!Bf|wlXfJ!M1*k(VD<2HNk4JxRwX-zB+INxJLK-J zAls$)0wCgoJRdg-6mnX0pN*k#y?`N5;`I2Q##A&tng-_#pnCtPI==q z@-Dm4R}<|j-wJMRqA)oJ?MSgFhSqbs zGoU}S)E5yGlZ6O}d7ZTt9y~KPI@GfwQI|n+n*LC~re*?xhjBr!f2yYUEPKH9T#)AX z;STBjp|<~4JR6M@jH$Am6gE)d ztNyYldeq?X5*%?TN=J|eZ7O05V$qzT#t*ex1`cfASmymp0!SZ(hZeV#@~d9)8wa0< zKW9d$F|r!=nR&#^r+{tkd_H4zoZvUizQ$N)EYTSV)_%ij3``i7?_8$hrCrS={ za}>Jb9aQ&E%maHR7PaX_$FdwR-Ldef_`FYK89HzKxP*=Q|57hYO(57D&<1LNGa4S$609k|E9mSr0tc9KyncxCL6>qR=nkfCs$8njGBRdO`>s z-I#PKj|{jeAl(g&kB`@z(Rk!`-9I2C?vGO~aj+ETz;wn&sZcdxc$(hU;azL5LTdYL)L_gJRQeoN>nVvsI)W6f{I?W%7RHXKF$ev&}#0cWkehxdyE1aD_U$XEdn%ukwOUxxqz zdux>&=734z5}?5>oC`=HG@C00?gPHO=_E>V^iZeOIlGasfYwUY1hy>%6B^YF%Hl5DKx!vBk$OM zo@NhORF&n}oVJ|1Tt;0GAEkbp;dC0drruy7{W^@OMO)}k{{drb$WEN7T~{0 zSdb<%GJ@-~q6#ajFUzsWRKxTpO zRtTG(d0jduX-eU?Ho)42l8Z7+JO(*VusrpFcR*_*xrfjR&PiQMMYCE(q>kCv$Sq3t!n^ zTz@q1BylnxIC?bD|AYB#5LRP~t~tGeDzG;JA(-Az-F_g*5yE|VfQ;66A)on(Xmvjo z%IO6tfhq`=54JSzjjH<94Es{+H#T)CJb#&xja+nb%Sjzr)z;k=Dx!jr#+g|Ysb4}< zCu0iB)>~j1cBKfHfj%Fw1(FnG@HmQS-q#rvCKD4C*)m%*p2;F*=ibXt6fG+;KebrK zrpC$Pl9F{SFwnP{lhK$a#Q!+@-;Q*ps(y(nmy}rVwR{`zGGO}#JfLp_EEW_2;g~mb z^(alLKm`t(j|)vxP9$R%u($wm!CefS7=+)ZoZK?58NpB?LG=i?+u-f(Q@|ehb;$+V zpUTjn!7lS>L|H&C$TSFBXpE6POf&-t!@kjmj0jca3nKHvi7T`7OaTJ+MEY{=#=x0y z#<=eomh11qEOp?Rrl*P zxfY!9=NZxwPt6|umj+L^NWw%-@zKUG0~D@Ek)^XWlJxJ8v$|({P@ZqNKeGI8A=?7Z`hO8M3aJ&P+jFm=km+ow@JXn1V-)}30) zp9woM-;F@oGL`@&(H6&23L?<;%%Z<0_vPEY@fbj8`wjH3nR#d(vl9ze2!(jfSFwLd zn>HrD{ABug!LYjj|E_k@b?2A?DL=eZD98jrq>zXoU?>e~hEJ7FEASPWBn9Y z@5st>n3f#jGu+4>XKW=vtE+0?1@YAwn5DYZ#)743sO#*#>S7u|o*l73o4UdeF<*Q@28H;Wncv+5Vg^(qE@jGw4>Z0xbU$Oplg0TJ;Zj`~gO0x=J zQl6gN-wM#{`9lEKKRWg1p29RHNYuXQ#rwkBo98wbx>EWTAi{1#8GLFl`cx7ZIelxNKyCazf6 z20!&=r$+AL5m#+2|E=O3)VijxMQc58{ok9bud5!`w;SZzRiU1!&$55R2Kg2MNr0RY z?=-#l0+tTkc5vK*Tn6K?V-2uyHhYk&ekmzt&lmBuy1l#&SBSZXH-^mz`7C}P@po1+GU8;NTOQQ=%_dajW zsUeedLo_&LEJhc+Cxkk?D~bC0=N*AmS)F3s1I5E?h9VbA<88px#)n5y*H-Z%vX-7! z3pYD0NO>%8JjtnEIgyD)>;U<gA7UdGr$ja?- zT1HI=8-&lyP19@v+}ncdG}-rLdG>`!afxr&`v<%_oeia{9dWD?<}s|lyR62AHQ*I^ zZdhrUr$mUT82*4A|kfOh0oN+B;qsYJbXu*NRTf4Kz?dvnD4e1Iq=BA_&Hx`h637uf^{kkIY-%#h|S z@21%zxV<|M5AVPmFdwwzFIWU@87h0W_#RmoG>t%jh(W9i{{=R5VHpyy6u4ADdB}&S z-#ZF6mgW3vdPo@osR0WJ|D8L;bka$iC0zO%nsI$sYYJmbT}Oi4-(ZM^OP}R0Hz^bd zWENDsTh&-MN8g~3uZS#mTcb|0)N_{Y#_K~|58i+{}qUSrPv}V4H3DFJG}6^YmJb~ z-%#ZlZ92fzJol}&e}cLc?%BK7P|k1Zbe%Wgdj#=>g@EZgmlg#lH{5#VBJv$A$ufTA zIRIb~bU7qwc&ImiD;DW)R#Gf?qwO|ZdLN4>tbLy4kQq@B{J?*+{B}DPohKbZ;%t!c z_dgBLB^KL1VBgrqTf0+~ko->U{DCbthS*=(U(fmbyesZj)%^N1(Y=i9Q(SKPFFOsw zdV%IIC5Y`7+SF?@_sQKRz*c9>Ee~@|PF4*Jm=|p@Q8*GrG^Hy_ff%tkz|(<_8hqCZ z_cmH3=0H9Su0sG>fLY;3`LR)R^Pu_B-pUB%=cZK5cx|I|4KSw-6ocRr&?&avrA7m) z0K#xK#{)8%P0?tDb(seN3|9vvSXubLY0u~51PQJ_uU{QH`;e+#X&pYA|G{z^tA)jE zy87Dj=V)DwP0QP9Dv%SS*{?SM%p>3Qc@bTeZQC!v?^|P7Kku{n(MBnn5n=0sz625| zaco6`Mg{Y$Ei(VO5@w4%`+^2r zL0~(^>;(~Z9y14CTS&)djNyKCzWQk-Po6=B2erC;N+jiECNAv4sI2UOJI9jsRhN=)e4Tkslqe`qRcPt z#^-;RBMnz~Yy(uw@#-7A6}(z#H)lOSuxxo}HdC_x-d8dCTkj5S1@aI=77u>?EI-*0 zy_E3TSckQyl+|{zsxX91pZZP8e?`R)`PQjhN5|`N+31JwlA+nuh1HMl+BN=w&}m+5 zbhy6vm7p+1yPsFasDhC>o~^ zI)zOTE;bPWdV=)Da~j5rb-9XyZ5Jkc7BCjCMofLF@IiGiMC(K^MLZG3?93$3ef?RZIO5NXg0kYjGRT=vD(11BnI zxoEpKd-0EM7K%0UP^U6gDplV6s7ixi`j$@ME5PSG$p2qrOL$4RRdJK_gO|VP6jrzP z>%mXkvX?$OeP4VD@Wfx5NLj#&l~o{>)qght*AiT%U`<9;nqy!eo~p8u0{o0ZQ|K)8 z)V|_FDGSNOh3t$>X-Cll!_uv$v9S|ArPE!NMB{jkIW}!NLUQOUAjopmXn?5u45P`F z!y3v}43DECQ`TJp9v4c367lErl=UG%y+P2kP9z|VeRT3e@-(-caz74wyO{2=P(jSpg4MCWrOJqEz0nuz)m2W07()cQ-z`f(2fWQ8AxKk zb|-j>^|KyAAp~M_$Q>ZKf|qXm=7WUJ9gMCz`fz0VtXOR5vG2x}nxuh^&onoS$Su6` z8FSz#8aHk|uwZ~n^;pG5Ri}ft$@rH`=<$}FNUkrFztlWW9647q$=EA>&>fA;$3u)0pm(&eD{wm?eqoc(`cLzK0C2jdFbLeb!bc&ygcGo}@S7P#3=pv=8!`a*{L zdh}U}r9Phu>7-pUCM|g%_^H9ktRkDkG0yirWDfEd*YneT_+;jVCZTgcjONe2)2h^O zrWNrd8bSz#Y{a*+7p~hz^4uL!D1SmQ)@9p!H*kRYSJk(DukXCne=uk?YuPQ<=8P?t z((-E@`X{g3ZPzaL390~d4k8lU+-KzbDi25sS&n&F?o=ckmIRdSLHoW>i*?I%#7w2A z_Lb)+{pWlFqE|)x5!qk<+l#Nl!OA3p?w=phObnnlxSoZ_R zZfw8LjjVgBC+Q{RQ=6(U35ohtip2li6DQbJWDYD)>6;f=AdsDxQ3s_@s%IwqN_!(z zR4Ms5;KWH)Mw2MAB0{7&WwbNCKe4Yz;OzzUs)Pl{IYsu4R~t2b8*gulUk>lh=FfI` zC*WEU->VTB$@K}xiz0J?YoBr}mFJANyLTFkaB?0Dn-Ek)J^tbW&M{_#u0|@Ev6uy| zv8U`oXzRVOn6>BzPpE3SQGOpUk8jZjiJ*~DS8mArAL@T;BE}z?rNRL@J!A-QEdF&5 zz%vqYPF2oc)RmP?1^ZK--6#pDguPtHI&S zauAn5C#^_urGv&KFad96?@f(7TT7*F z((4=eP9?xwgDtqmuQQJezFyuw8~y{wcA^1CH&drLH@d^co8-yPr!$8-~WDr z-Q_TPAI8Q&=rqw!(jb?$1sfu)2B6ZQSAklROshVYSCcNpc20cf8NNf^L0xsJ-jldi zmHZbm9jotbfAVT%419WRwh=NP+Kzdys4?AxZD)l4U_)WPuq4>lfg!`R4xSCl`sF}( z^0%r9^)8EtYNZQT24U#_*BJ^n0t zr>VdEf5-b(^lH}64XS!S#{$rzFnz=YqyuUOV3w*&!hyg;4@I}vNdXcG9C~1phb@3b zuF!(thUzQ=y|LlgHo~+jcz1e99TA~$34)jdIj50I|| zXa`M0;R}9FdC0=iTYnnZ(Vdp}-ruZlRT7E|(e%tr#<<+4@6I6D<(Fh7iIZ54@DwAw z;EsjbWS=7}#hvBPqx|#FpOv{ze8z`|hjmhQT{^%fH9SlXFx7GgcvIjag$)OG zMc8LMJ1;$t{=5g_6$o``b6L-)D{l(6{5!T=Wm_iLQBnbHVD5zbCL2B^WlVfLDM(H$ zxUV*+X-|Tgg(HlL2~>LeCj@Ba+G=5aki-G~O)R6%Ezj}s2Yg_7YJey~t0q7x(Cp`t z0OkE_hJ!L%c%L6ngS3%?Q5{c+2IJD>)Eshaa*iL2)B;JC(2am%!f6C&wl2g=fuJ#> z?ycTV$u<4smmC2S5to^`=t7>d=F|Y{`sgE!GlYHsARC0T4?dbkA(^I0s24~UfMbMu z8K6_ZHKN02h_vZXmMfPu-V3~OGh#(xMS#pGbDq4Dc=~ z9Jd>P0*TJS$xc6vk;$85_8XI@gH(=^qh2T1j0z$dN;m)6LrF;q@Bm<|m90vwAO?my9k5GX@`1!WjY39jbXYu?ZvohaRlz`D|GpP2 z42WO1!@MEWd0TH@`6$?Qcet}cfvpH3Ok7P{=tz862`6g!+Fg+v)O&rGAR?70Puyhr_UBSdKs zF7P{E9#sy9IpUDH!Z5BeF{dW#AivD>lf{F9Xz#$%#v|O4l?yMoz4s0+RgfP@=Vz50 zKv$gU^_LoT`T;hbK}??s0b&PTXt%n2PP%9VaT_!x?3ooq-X0#Ul$u`jk$C*{U@0fs zZ2iTfZ~r?+n`OdaBk%H=Hl%y%FGpGhI~15I5LC>9yd2fk>FPoc1M*l*ssB--mI>l- z(7DHj<)q7Fqak>t)EEiPCU1gr2La=9fF%^dS#i1xPZ0R|^3do1+8=?mE||d^%$Cq) z+yo&ME~qN0)P>}~H33#Vws?i?-zxn0fOP_?eBqVk{(j}lCABMDo|G|(bfYqtm~I5% z^-HOib$CxCJ^LNw{DX?LMe;^J5HtNatvO9|C*72-1GTdw9kn-jKid|ZYjQ3a1#WP7e2bO z=ik9-X>|*A(_RrjxRfF86GbR?faY_y=o1C{yFTMH5&+nMu|=h9LTRx1FP86QTL}u> zlL3ZP;xFq$K2To(2X15tseSGoH^`&JOEs#9)Fp#^m&a0J5mwN~$k zIN>+GR5IX6K7d>Lqtix=pTA0can1)Gw6BTCaNfpd*k0Hp&RcNT_QN6`%*Csss;%ks zvwbLPPz|ME3-){ez2&*#F>UUUfjW({FE$lhP$vtrJCH-7A{{{6AksiBEKDSANHv7(MQ9Pf*pLe+JAdXK6j&Tye#_8j!{mpOo-lR|z#~w>}|9FWK#K4~5moZPmOn-Ii z{_CRLu6|BsZ6P`SSL$H$@^V6I#nC7EdF@o%_TlGS!rN=_C9F{WSzsbJO*n_D-+lIY z92Rx}H!c)(AvMWxn?aR|YWC5`+hkGrS6Vm_h&&+30DJ@%269{_#3K$eIE*M3$#@2&R3`47%qUxfnJLWAQP2$TK8kntv>35~3I+No=^A^H_nk=LqHgvvo1_Ce z=zIu|G5uliDNkkms~bJI8F-0>cL}n-{vPJ=eC$TVf1`-gH9MG{SL^iMwv5!hLWT-{ zO2k{BrK9?#1bIMS%H7urjp`h{y}!>gp3WPeU1!OO`%X+K_6s9MS>y}C_T+58Nv?DR z+M~gR<9c=i?HhUE<^%2o6)rvZ>!x9hLJ(2}WtzIstxs}Psd3C0pUoR@78{?2eM$5W z67x9&E%fa2au_EbXMqqDuRGgqgyPa5-dL$c-Mo-yiJfesnn$0^v5U7fovk#@!s!7k zHLCWfO-Nq_G91(ZsCJ|fk$qrpAGC@A!u~fj1@B-u`^{h`mWfPmI=SAs6=@GnJJfQu z^LlSxJy{TLGUd4qm$xfef}o~oJU`vA=g4*iv(RIl_M(5mJ2pb@-2Sa}(2rcakiNkl z@g`_61r+b8x40F@=GHABY@Q1GuhgQDk3yngplrZG-GS@GHN0Mx>lC3`BOz)53 zlG!K3y!|^jhk*(!&^2i9 z|Nf!YVGIg)0Za`Ni}-b~F8z7O94_4x!@ph#7gpl?WH~{zQ_#&nNhehcR{`Lj_#O)u zEIFOoC~?(X9^#GUw2;{^5F`&)KlPiuVMC?O zrXqA!y{;AbA!JqDS52vA?a%+(Z}qTe&e)$V*l$LkA4J230tSP@Ygc`>$pXA5sC!B5 zba#kK0rR4N=h@lDIXxg0kl(@g0rmhVkeCVtCIG*K3;5ATNYZ4rq}AIe+EJkv&I{;* zqiFH44!{z`3sq4?GaM@jm(aWp2%T%!pv0U_n?7Mf;j6}{%ep8*$4V^-*K?E3s(g-x z0UiT!EUIH=%{Pdy3p{UNNHu_zE5_$EkPE?Y7C&eq1OgfbTh7L-ilIDz=8Lb^iASl76`n(Bm=A5W_Ct}HHGdFGv9g99TDO1cMCKTvw{GefMrcp&#j z>)(M4WTut}fP89AiFxd-%)-EMoz`@40;ndkl@$;Q()!;`lrZ@s0Syo_g+ zU$^|rOMCeA`+X1*E|7pLgz#uGypOCul$PFj73HzN4pWa%k)B=r5U0ebAx!iALl_-W zglAD>P$HM!@@|s-;adqonvU7o>^DA9NHjD6I3Wm;gkn6%B7z_c5gX`}uU{jWU#DOe z4m{zQJ{GjVNH@Q(S7s6xN z7E{G}5rU<#`QaZP8`HP3vn%?_s)5xn7_a331I2ERm~i{TKl!!4 z-`v_7=gXsyPfS(GyE;3uq8P+WvKwzTq8*1|UHeoBS^6-+S&2^ZvyqQL?TC_6b<$E#BgH4nacHn>n>HA;I_~-tMq0YuYQ1 zRv)R8yky6b|9sQ~quOyE7xj!weNI=NiM=1PrW5xzsL_w5qq^-8$=X61icw-%7X+8v z%f;`e@Gk8e_9!6cXLxQa7&N$(LouT&cF6iLL$pvn1X`w@Aev6o9Cbl0*gfwEn*oaH zRv42J+hY+U&$>C&a#?1f&o>03S)G+%&_Yw^R108 zFYegW>`T})HoA&NDYFH<&v3_8Qc?od%l&mmKM6GWe~`kbrKRZ^8Np!o<(`BGlyUHV zP*)!wx+N~$rXwf@)aVoJn8-+c7()m9+}7bH4psnHU*E^aRb(wKuW1zCeEX*I_3Kwu zXMT$CJtBGU(=5{aA9a-0iq?b(NP8}=e(jL%dT4N0_S!sevvW|a8;oteHqAEpK$qu-gxPAE>2hwe+|nOol~dE@>Gbx4(LblHJ4<0$qFUu!)a~wTfin{i z%QVt4#6JA!Qm8${M8EXm<403-bE&<<)>d>e$hANdNbWndQ}4&ab@VnTjY7eJnIx2v zByNatODzovWvr?~!TxwzVOiy2NHz@XnV?uSb= z`|a&H*YAA4hemHDsK^%IZ6N^R5cRk~9|{U=NPM90xrPcFXk69y5_bq(=Uh5JSV7^f z#ji+ZuK1nh`;!MnEYuPSUj0qZUv#Pv+U2S#W^XoJYs>zLg7fgqvEGBe4IYIFgpgP3 z6D<&HUL5UO!x3VEm;p^UCTdnE%vIB!K9&__xPp$8>GqX{ZF z;3S||{+~bAuq5Q#na&u#uwP(W8tk*8bXIG@vbV7OU%!2WTdau8>qERY4bI% zj9beDvy5~?aprHSUQMqCCQ!-Y8W?%Jwat?J`BYHr@NE;@g9lU7PM33L%}4dF-1Y0I zIE@-Q7dmaahW9eVZst#5swe&GuZ9Lhe?$P>D4@@UClBrOMf;@$Ql&-cI!{hS=|x?A z0a|2{i<+71iN9~BJ-Ob7cjN0EKQ`SE2(3ZV4_(WOHUMUI=fw<=R903-b!dY*OrJ7O zxzT3klZ|EhsH7pZqJs6-tPD3VFAE(3vOSa(klyN-iv&W#!sV5f`9hcFV+IoAOU%Y> zbn*m*Cm+YXSiG0Ap&ExBaYM!*(^a~c*hzh$k4`q#l6hzDP{5UQb4e`wD6r5H__*!E z`bSq_MZfSn?k=eVSqsWMXz5M=I@p^R@zs*z;+11MO-y%+ZW=|()?`6l7VkGXyCnka z^)OQ`60kTMp-kmPnP$=gN)(QCjX>XS%^drW@ zO0?f9)O=r7Rt8V!=O_7R;Lu7`?6tKrGs_OH=9f(3wQPdHka^#b4)?|!roLC}#pO`m zQ`e@`Ng0QZKQI+2kx9nvVcbi{t|SvHW*T+)W`&Wx#Qf8imwU;zh&HAYfh6)YOC{xLg++iUZH6O z%FoZ|gRt-7_5?y}Egy^9xKu$SbE)jai;s+Vi*JuZfn z15e51qUc(7cR!E&Inc=+;(25QgTn-3C&WWYd8C<%MWTkxBihaQAx8aP9s7g|8|8Xh z*4&3}PqzV@F4x2R^y$<6ficc5{MQde9OtkX78cw!hR~zsnPr_+`9F(xBiDM&L{M)M z)!hfO7eI5i+DTOlHb#?C7a?4YI=Z@0z)(<9I-DFh?0p!yb<(}FcQ^#8qX+@qlc7+o zRZY2HrKP1k7))-=^>;ZtSrqSr0C~|~r`iFD)%u$cb?HKonW%NX3U^MgHbCjzH*fwH zZaT!z9w-PSC5e|E2INlE0X>I+StI6)sZvs+-iYeKMmK_aNUxeQIU(>P)P^ z6pXiTfBn#Di8VkpYQw8=>D^JWQ7H>aXo1#FmKrvU?Etq(vy|mGNX1?pZd=wLE~KTT zr)%52SC%=R4d-R12>-qCEluR*LWINWm4?1o&oBRrsk4lXqD6ipOUI^>rcLg6MVZt4 zgH+q`g*)~*lfhzi1T2uM_~rnbrK>($v(qEL(bv}pR(8cb#z-8+SpWUl{l1A@ZJ1i!dK5Kb046 z`kNLKBpDcC{X~Nu{ix=}()o_JY0~9&F<}~fz>J{0n8$rLlD^M+x&jg@uEeljqxO|Q ztU*TK`S^uhKbmSW9WB;onb8Q-_bV&pZ_mG!kHXooT^HMbIS{+px9!v_EqsQydt!ey z^|R6Y$HvFgiXj!`@nD`37j4hrAc>LtpX-o|JlZq-s1vYKo05{E*00^aL&oW~I?8{W z00vktby1+Q4tTF<<`+hvvI!W#lDEHwJ-w)P0PXvZn*M zN9HoJuUsDl8CS0E8wrn8yic= zND{(_IszN(Q6B2a3{2WvA0UmI>5gU5Gc?rROSUz!N`g!!G&HpF^m-(D`dkdw%~vDb zSW>z~5$JU{M#Al?!k-F`n>(pB0B@ma`@^MFEq1=g5}nA|j05=$4JN+q#Ar`M#zjB(O2c1bNJY7NPA z&fp3xI51I;CS`vJcnl0KxW9Cz zPw9q!e1&<6o9hoo^2_%1TS4xBeL&WZs^wi)so2=rJ-Ulth(y3uI6SPK_d$u31Zo=? z9S8AHdD;QfJs^lAna2>7;=-K-WeA7^QP6{#x%p+l`#Xgjx9~;xCtik`j806n-`l7U zK!txe8gO#dC5uLW{Q{Spmah$TfZ|I0c|X73&@fgq&OeN>v-q7x0H>a%$HCc_hpGZI z>1a_k;~yr4eu)|Ne2SrCqoxtxk1JTzWqL)~yDyzP$TlpwM4fc+7Tt%!CQ}tszt0=W zxBIKv4n65J7MWt@QC%itBTKE8XXETInXdss8YHtth&Hr>QG2=Dr)gjrD z#V#UyiIPvFL(;5ur~c;EH*kg^>IxJs)wN9gHdSnZk`~SbB#`ir?s69am<)w;SV#8u zE2~F$=}BSBKuPBBVrgmFX9j~?ihXmyz;e^^gyOcNIvdgK{`j#asv1k@Z4uy9Gvhp8vSJ#%T54L+trt*0Dfo~&<`zY` zshJr%+%6ZKiK_Q@yomF%79p`@Ys#e$`UHlrEx5GKlG^FcpVVK`PX>VA+|m*ga;{e! zQyr6augc+s!p?+x0;&h3lJOCV_hFxLs{>9cE9(>m>(RF(+53JV z*j5DOojZ^UaT@6@KO6D|4%QQ?C*?gi-N+ySibUbYa8GK(E+7I!8YHNQDtqMLH3WPV zGE}Y$ZyN~=$99s9=wI(j$Y9GvBCx%703b7Jx-9E;7%BBeoJ-j`=Bn&9$1SEv?%Hf% zxAnM#o(hJcU@tp6)D0=m79S$b47WxKoclV*3IYR9^|(i+Bao-S<>q)V)r%h;u*TPk?h1eqb@REfBn)1c=X=^mM$ zvBCaw%I>f&W2K5?`umqx*=W>S`GSmChN||_5q?t4rFz_4$U?+g5!IEWhgE`Xk3J^V z5|V}n3ZOf&^lCA9b?Kb@{FpwfiF>hiJW$H}DqLlz0g{O|7jk`SYz(08JTmaN?;YkO z3omtP$u@~i;`|+#AHtsk8t5H+`pQaaQxqyLMV~E2!&!14=Qd|q!k7Z*p93V(d#j67 zpv44miG@D87->II4O6S5p=d_~32QraDJhy2y-*U&&N4$eh3*%8DF?YFVpdKCqi~|G z-3tOlaCWvMJS^93bHQGQ&`bVqSi^?OoQeiW3lkBg1=PfQp`w#7w>Uo z%!ck^!`XLQD?{d$kK#F4v2@$6alvfEI4d^-J}+AoYq`X%#xz;Juuxcsw}qT)@PN>u zWiEQ>&KT(lo$Kz~=R#>NI~O_DtlG?`y?PW*M1+{IF!ZQ%*j*aP*r?G1ZaV~e5Tv9m z=|`YPQ`q7?69Kg2eWo`J+%<4TW2!v=@(7kqo|WVof2)?0hLvKQt)rtx9!7*TvtpDY z5}M{P$M@`VR~!+O4VuJZu}*648VZJY1+PW471TM`@-OHzn8l!*lXW|S!c>4Jl^}k8 zWzaF+L7E&pz^S)VzSWeMZ|M=@V|e2+p6K!w#i{EK{M>)vsEzW@7??8rT5+DJcDM{l z0Hia`P)^1^eD5&Zj^hbuOlJ`vVcai%E-H4k#8SW2NsAracJTAPSYAdO+?5%NoZ9G` z3C2y{*PuG82HSe=WN>OVKs!-s!uEhr6x6^FY;|smauDe!CX%BhtgdTcMqa=`Rr(Pe zg@^Ka*hmQlsYiqqMWl>2!iZ*u{I|C`S#u>zi}{=|U)N{mwX9bawm1xJ;E>Mkv~JW` zG22|HdfzVntk)Zz9#br_=}#;3q^E@eNdrBrxQC0YT!!k@?8xDs4-Db2ucR>8-W;C`f>*39J7t@U9XPGWs-LLXi%0~ zVXe1%Q#N#^+?cf&G1jw4$6C|omMYJxMS;V)_6wOr^mfN!LR0a($Jc1lxZWtqz{tj- zrZm3DkA*za9Ap|}6iW+ji*Jn6s}MozI3FE|&5-B{pa1EQ0CEMdLp;FK9H0b% zsvOcC^Iu_-&+<}Jsi6=h0X$#WZUXv9bON(B@W<%|yjKHQB$x)cp&(NWp$m=`lypva zBO!(ruRZ|Ox>*WS7LW1OP9cNB?`$%9}NKtCU&B# zrYA=z8f#sCT~)voVtA}P23+F%>yvG(tK86cbPL%9D$(-Kp93XkOcgbXZUbhLFwR4U zYwF^nWBKs+eZWK^o6u?oaf%=GG<@{Y$|=n>eF?W`pEguNA#kaLynbWul#5(SV&eqa zz$H1%IGuKM=TyE^GO+ZIcbx4$%YBP`&aX&odL*kDJHN+_3?d3i730XVxPp zAF5a%ro`SP!Uhp23L^tBzZnAV*6D^111bf6*?&J6g}uVu%+8-bwWiN1{ylyU?C56& z1b2OY><3WP91%nY(trI*Xuy#|!QCd`dU%fv7xEM;%98CPt;Z=6{!CPOML+%A?+kvC z;gw_OK=(s~auH^GC%LDX#8n+J5n*$n%krq{KV&8OGZwk6NwWG=jn3+dEs^Z)?4a~a z#OubD8cn?TLi2mh)PFto7uAodGv8QHeZg5Ye!s&v`5bO_uzN4ML2?et3PrcPs(4vV zZi=>r1vV(cA^rnAn3xu>(7|*oeMvT|&~AIYVlt=5+C{*A?x9erC9`j*e$?VBB5)MzbMJvR_aLa~ z{U|wgdD~!UbfxQc+wYrOVoukw5<|Ad1UUKUJO-pGmb`2qk>b^6D!v`w{FQfalXt;t9YvpR0@_E&UJ=)d}ena#Z>{Q`e&@H+Ur>8*T@JUM*cN5cRY^~ z)13fx5Q<*<2c2(?8fp>r_G$6d%ic6kaFkuUasS0EU-;d1F^AY2^JS+lKg4)OdDj>| zv)sWY9@;ob|J=k-$Xxp5Xj+=!MFzALxZd|Z9Cw(`Tb9ytQsesdNW%0vzTvTrJ3?P~ zY}L*Wi8+tX1;pAJyBDePf6KFG`->4g-j8O1QW2D-@RdEl0oOAsJ%Zu#-61HInwh)% zqe2lOAtBH;qWq_JRpja@EmG;o)_@#C;h|BXme#u!;4vO#y~`Mb0;7gYUOv&cnmi zzLsS2Ga9+`VfY!el(k`!5HY^irLOoB;4FxoCo@;Xn^C1Qq+fOg&;OxftGcVT;fhTi z?WV2O&?w^828lZ){ z28a{vVkos8=pbXl)Y0Q0bML+(hM<0{+aJW7c`9l|GU4<()@wF-K5%hm z{o3|DBjZrlUPUar(BX3Ff((c}JWVep&qvhIolgS?3RKH1a_0g(b$VdZ6fw8sey z6{SxLj%z%K1)KjwWf`0E{!r~`**JZ7gV#dB?o`g(j;m`Iu^~cg@lJ=7Us-q@m;-p& zDBt|OR|J56iJxsnZ*}l`m$Pe5nAQbfkckQn5Se?pP&P7q+gFY=-n^U&Du2gYzwNG@V|Bl@sOy9T5us?PfQ6%XCd*O7FL03tEa zt#BYwyjuO~Uj&e2Rrb@JsGNJQn;3|Nna)UBXg>;n4kZ_)0vAOns_Mr`wG&EPrvFiT zeNy9qx=cF~O_c83y|LY8pyZI-M{drQ8;c zd*E(EO8wzgirC6~-#9y|K%0QC7#)jL$JIc$D2o6dxY2mb1K4Y#M{oMQSDR0K{({n@ zhrKKN=fCTJR7unYGZ^RBn#sAJ1y-aEr)A|*N7?qSgULPF#e(pkrrm_6R88k9iz~ML z#BA=5RnG54)l7=S{#Pkg;7fB!^A8Bqz@ z4kDYf_dJNQWv?_u_R5i+y;o&rl*p>g5aJk>l~H!c-h2P|P@KIikk z@B6iGfyiv@vcsXUNH>WYr%?4>#)|U{eoNRBfo0m2O7Z9bxP}D_@B`(NdgC8RxrNnf z)Y3&M12+Kp?mv2p?or+I(K$!7gDMG21IlS$R5Qjn_yI@S*Dg)%EQVySzcsv2*d1Ur zQ$+>9Xoj2^0G|a&5Nw9mUz%~jt;5@^FM(i2dJUkDVem(!#IV9E!|%ik8KO>(4*`^d zU%>Pbh?2Cog^eNRx^wfY6jQ_0ka|wKvgBxm>!%jYF+S}^rmhqhHG|tE5twj7o%C&S z60SkTH4ZPl@(i?G zYwsO>AF1#f{6|^E;2o|+-6;CG?PS^T(|UwD-&Bz6$WlO`z*4u_wUX5M%lK$6J37Ud=iG;%hh+U&+>3J?XHxIJT&YyYCr@PpeFX2$BY4p7fG_aH@%jtW6K4 z(Wq0)!@n#a+2FMN`v!bO4l1@OYHTp-1BQ17M|y7pPci4t$Db($*Z*G&F#MRCmlwgH z);;O+w29#fgti#|45ZLmiDmcNhYX8q`1Cc}3gGN}8%ZbWPB*7QmC7{BmT8c0D3I@? zB4dClP9QkW2*zyF?Rv`^n5vQ#Zmb3BzPj)a)_r(ByByjB7{GG1IT7%A;JvY^#|j;s zPAFU~0M{?S_5JT)eEip#@NByyTz;-%gDpuuIoaS2Y2jlKFyyIvhVOA#9AfH1uOX=VzC&%+@;XJ+jp3gxOW$vA}VU<8H^c&ZpWozaZR*Z{f8m#!AkAt zd=l<<=Yu$Y_5ck&0*fuofe`0};4qd|QG#4p^$pDt=%q4KIX_f1JohPHxV zMur^gbRnXp8!}7*=0w1uD%W{R(3$`M4s8iS+Q9S!zb3qIOx{)Db*(#8BB9z~7i+o8 z|0&9vFLSmCXmt6U9#|9M;hhnBU$};?H2;;y0i6EB)W6Z~NkM+mj}L_QzmWJ1X3*|tl`B}+un5?$svqJ?VD+^s!lCTaz*J-G?CAF&=>Y}mD)ai z7ASpX=M0Sc(5t|A1LkEH7Z(`3U}T1oC2&d<{;=-()WQfJ+V)!h)My*A;5)_D0nMf9EEUVzA^~Z^pgy-Ium}9a-4XWKNQ{zhHy{ ze+#@k$YFsxfy^t2>Ra+~=>zh$tzQe~8=4LIhke#J)pLl3_{P0-4|m6#!o)FN5>)0z z%@lu^6Nx3{sW{|`-(EdLKfg6gCNJ|T025iCP@i6Y*j|3CHU=};AJaD*QhZ@eLItz3 z+hFb+&eSs@b`P+iibK51VvTQ1%3zWk3YU4Y=ps=d(OKWh)YjB_ zpK76%E5f~yFuxEy+jGOtgu2q%x@2MynJeIg;V~9*9E0;}1R^2-%^L*A1ZWnT2UG&u zMlj7Er3*9q>7m~#`4v91ufRpzzIN%!!cR`PA%HFhu^o&S@W4W-5P}H<|F6ph<7!3~ z^%n)J=yTDsOj(zRzYG+K2BE4%84aURBC51)Q#Sl}P0w0+E4$Z@W*AU^$%h`+T2vwi*Z$-&}YM8n?sSK@AJ+rHdXSAFRJ6I6w?ARk2V_-l)y&7;zn z<(-(u){qu6N|cG>0go~d1LO1`Upg-TK!OUHOXoPx657rkkdrdEa>hB06w$O4z_1?Ap-G^&|vyz)b-cIh2eluT6G1L%17ZSU|W7=v=mVHi2mLoJle$ z1?s7M7tw7cVxdstWSN-d_7oISsoLMJmQ&S!J$@+9mG(?!g&Dd@7~lb#+VJ8@@QG)L zyj!D$GneLAb56k^IW5DM{frjn6-jdsuec!A{&PhUMVU*3SYPuwo9|T_=zP22$iXJe zw22EH;kLJFe>?06RAU1@nFZY5l@6m#$Si%u{3(T&_E`_J8ruBW5N_zh>LEnD4nieE@y)t4%}db}_CQ~2NpAt%2E?i~;LwmnYDDxsGE z%b%$Q!##ZTAUmLnc-&5eYK*+pV&&AyTUt~*zW4I!*6~kijPL9lO&T}Mf`!jDg*X13 z)|a2st@se{7~g!U1kCsJbgp0so<9!EiAc*A)NBdAP?7#8Zh$KQ5er?2!LBo&t~2fp z`W+h}#T(%o;#gJS4uwP4TRMlc2OX|Ipzv_#!Y|NnFq%O1fYG1JAl140bBo2B#&+)n z*Vxzv5{5TjVijq*OkwA_ZhA&*+ApF+PE$4wf4HFK=dMylV*Pb*am8Xu3lig~ZSj<)72KR7)S^Kt0lFQy@1b)c;=N~+-3y~Nuz7zz4VpE7 z{fdw1+cY#a|4GNB4}WzEm#s;9BaiZ1F%_nw$6z8N(V^XT4X+IksyDPXUG@#Mm} zU^rT!P5lA+wtzI5-PLjI!GSnPWT1g8Ei3c4%k-r}$XO63uZ%aufNBXEE95;b^cNbM znd#%VCtWuHY+c~SjbJzknDZ~sRouRY<0;%q!rsxP`uWL{MhEG>adL~7g>x8FyIf9k z$a}>GvFrqf0}wV*9(V9dbsecv(KxE?BrM^XwwI6hKX)c^^T>4?Ny#sZ>v;7*sVIeK-_V@#$VYtdw z^R(du-di3&c?{oQglquJ@a1qWNlZ|($f3^X9{fw(J2hqh$f?hi!!Qipjg;fm);t!2(MDi)=#+$uO=87hXm*(#`8Nrf+A zvq#rahEfT$`sU}t8_{3HTZ^f!-!3)Vy_zrFK7IK;f5Fc;I&R3qg!P?;D4$UYeBVXJ zpI*GeYw`u&21P^*g5Dm1bXyw42zm8g^8bCi)0-&i6s$zdzDx~8{o=989e3EAl9kC> z&H6JncSbhVL{IswheLH6S+KlR2zgXCCQCp$Fg_DK^@pF6R)Zj6t3l*!P@<^4OX_mA zVrIxN$nm3)4;DuICScr?6w%}qTh;6 zauf6|9%saS4I?WU>&7~WJXcKUh*(Z>vIF*mMP`pCtlGV{uEh-&OcZ?i4Ba$HSr86J zImZ*cnAkD0{|>Ml6guBmwa<+Q`1#}JKb8=zF2L)h&bRJ=v+kNJ`FA!%7N-NKW zf;Tvb=oKfcx2a-ynIW$QFi|Lrp&%l#baA-|T?j%fqA0mAV0FKZl7sXlFtAByV&Nl& zk^o<^pJX*F(j3@WYnIU{SKDAoOst^X52Y*vV&;DQ$tRxbFZ2f8qIj7$=(wcbwp!f0 zIIrD1@2dOmt`XH5zdl(QOP^FhmqFjLl^VIaJhtQnx(pd}3~vb!F-L<(4(i7AW{<1Z zGQrV`IfihH;G?Z+o_FYcMe`&-GD<;<17#Z?&)37gsSoDTJ;oaO{PxvBEBEck57JOsd3#)F4 zr~S5g_@SWWmai2T$PBWuWO3W11c4o?i2_p7+pd9~F{$FJv2H061KLiqfl-RBaDteF zzRW-GE5{ILGRzC?35do9@MxHl0e8{Y*GI+>`d^HruNW+IMAygslGw+miRdHdYnp8x{gHZEvC+X*azJpd0u9AmE51w9$ zP(o-%_^@yLUjl9ilr|uBV|XhDQhmU%pd!J!!XJPP*FMv8BUt+wJUkPVCX4R1;alCL zk2;Royl^C0Ue2+zM4h_Vz855lo6cg9kIqD)pPA*D(H^jC-->7P{zg@Bm&xg#w(R_h zmgKk-ovkY9$)M%dqgq@Ljb@2bjqFyEAIRM9CBBocF}=Mf)=pCgGD@ALqUHLFwtnO; zD`sQn+HNevonrU2o!Z4ZJn5W^yi5R^#lrtc(sK<58J(c(=QaEM9BH#a5W1H>zE6(~ zF;dnpw=)I)&2~QL)t@X~T-s`>W1PZ`)G@UPyA-h;KtNB*Ce^~?@dIt8+Lr!+xBKOH zAmXY1tb2|xIvCWIWvb%RIvib{gLsnG7EHnJH6{q10r}Fr>)lUm)|Jc7m) z5t5{9T7wu3MiLn6fT040lxs%;h7yp$04f7F0L*bXTld6%4GrBs$IM0lOhsZ+ur^3n z5XTrVpu>yj^7&q(T_2gbO>GXbEqd3BmaW#gYKlJ+Eco9Ny@Hi(F7)rjR8g=rJc*6{ zpDO*Dvmk90m+krC&I&YT^q_?ljJ>T@Vbk4<8uF^~KJiR9Y)`uNG`-EyXOuYfb`&g} z`h-+>1hTQR>#UKUMY@h_5;UxA)K962YQWDmRAvphSCz*q185xv1_ltKpyPVUL_+2f z3UM0#0UkF-)E{wfD>(=1BYegaR@U-KjN9}r!_3cc15A1Q4<O%Hbe#w%vU`DBvUwQ!jk;7_;TQ@HpT9#~wJ4-oIg-+0K2ZFi3ATz(e%dzz=@jTj8y@H`w&v?9&2^a+oQqxIKPt+6A-6KpxxS%;Kffz- znGVIT`UIzrm&w^|T^e;VQfesMoHCAGe9LQevP3vhM7kcx_mCZLg0kYvCDW^owr z{vSvYr1wPfUS#?0!MxWoS8KB?sCEBVk)&g0+JiHACkL+dH(!u#9x&oa+vzjBSmShK z&QE9OQbT$_MnLRfxwWHVYQ5?l6<3t*!AFTnUcP3yu5#+KZI6Kg;NV45rid{ZyV=hqf1v*!FL7>nqpN zH_@{D6a&2$N%#z%!cwfZ_5=fIw(U0w&cvLFTX_8U2F+n`nS<&Xf&LGuGqxJ^W`X?M zFExLr{vIbkkhB|jDf&fFuoo{ANK|)>)8NsosY)Gv-LF$aQt%|4&Ts#v9NItBSO4FB zyY)cEBOICId98I0zYPvZgR0M7sAL=u`**N0jD#T*u@WDs$jdShtO2bQ$>M7|ps&ol zQqCySeZf}tPCmcAFs&5IKaAUw;2DthR_>`be+ivF-`dn2Hv&objI+^lR%eC!;JF6D z%A9XrCZN=X`xO?Rs(=VtJRR{7z?=wO0gQ^*OFjoc*8w6rM0PXhbedHL$%#q+X7BX@ zr=kPQgaKIN1^+Svg9-zVLW3Z&b)J9IotV9w0c(&jpMx! zh9)LoV=!B+NB!oN-<-5W*)BPRLn$5+o5Sg^!v)EXZ; zJ#{I$4Y<>njr?LA}({xgQNZLLbT7s8*wFnHx5LxH;gLwS((v_2C824 z74f7d$>=u8P3D zg*3(x%MH<3FvEc((l)j4`QIU(G++@fIWd#oO;^QX*fvH{{?b+<=oXGj7p6R3aq9D& z$1XIoZd<$B#vGZ@miK;ftQ>wPRnCnj5g}MzsexM?z zg%(8rQ5^V{doS*5kU3+=$v|hn9*X^J3OcNRm0|m;v9EnA*afc_GR9>qIEt)Ys~{m} zM%SP{E@oWs)5H4$leK2Lcrai4<@DVn9jB*c3ikK*T!Z2SS`oEd;1TJ!qWzLg|8Ru> z?+XmcV7eP){ba|~l-~4{vH9M)EL>(%f4S{>jubm1VBkj&px678)aG)~f5&4mzTueU zT7p3JaF&3UHh3nQ-AtiPK^$?&h_yUi2{PldnwoHs#K0FHW^Ywg??sXix?G&`fiT%f z9iz}^WRh^O&vMZaRSz-*n33P%dr1abyimPZ?ec@(fzlndI7A-*IXmOQJ1@hL#(F5H6?OekBVaHArPJWWEHnOokG}Z=FZ-NJ z@YKyYnyg*_r^U`BKum!l4^WGL76k|mjT!;s6$(l zW91nA$LJr@7Hs%6c#~;ASxOvPyLv@tDn1Bz?RJY?z*I-l^}V%ba;L+c#|Vh{AGHB* zlas{L{!QPVb7$udxzB#2qbHL*cSU+oK)(V3lsC-#OJ$(n=D8dwV7Yyfr zqlo!HPCXt+_D@LDnwaJ+ji!{NZO|_G;LfV9`we{H z6t`rz?!XhZwk}cWa;;m%j@qV5z1><~`MZH(i9NGl9IP%d7c_((4LoH(d%^F6-?R&! zrzmfW)g5~5Gc0`JKqdikdceuTgTjc}WB%t&q(d@#u6eK_lYB%Bhw|M#au$BF+I8u3 z(we?~j&@5~Q~Vc2habOuaAnnLJ1S9KBD(LQmcmMEXS$;4y<0hvym;Q#KBRps$L>D_ zfXtSH}76AiA zw2X)Y2yB(ei~@RdK!SlmhF@D?gZx@HOK{Kvo`@@ZHk^&P)$m$T0*O1iDHKB7d+#$UvUjXDO+JZv86z2z*^XJ$ zaa?nu!7;*c92%4iVobI6;^@628Fu21;(X;RIey?Wba~N5w3Jp?hapQpK{PFX0{=yX zsi8Zg_6Vum!^rBWfH6rVl4xW)GdC3(W8JV6#2-6U67lI+V*~79KxF_ol&4`4tJ*pf z8^TP=i1YADDFANzg$0R8gb!9;w1#BP3;JN4_@$(xz<+5Y_{(~Wltt8aLoTD1K6Rl+ zC$+c%UI82-7^mQ$#4Ri=1o^W(SCTwXP12bLt?Tf@0E2z_>2Az9oS}Eq%*>N-zVUy* zN>H5WaQ;9ne!82~jq)0bG51lVFlAbCa;$BKcZV~YpG0DO=0`2cTZ85X&fCQA@frzk z$tz-l*B(F%y>OkjQnzQ#GoO9N5gpz3DE{pvbw^pEwd~w6YLOEgOz>IPqm;q*7jhu!qi=!$PwIjVpIn`w=9F48Z=MW$f!F*j4-)xj-9TT-_}3kU#` zZS?0`n$SCGNIs0<`u1;_eqv=W{-{sBZPiw!$o?d&+0oy|sVb{8O6JFqqm2r*V%$`V z?F+K|K2T;PzU0#z)3RmXR;_01UR&g_9zP#BWyCTw`KsBTZ)Q~Z;2`em5k`c6#Tiz9 zlmU>8q+KJ%tvv0$y75CPcsbzNK(^Z>vR;56;6+Jx=~(j-lm37Vj(#1jm6J{qrlVI4 z+c(jH2FclWoY|IzcKUI(69ML$=;LTY5H z#1=+qD%a%Ifw71r*dblJKenMlaN)1h=!!xLy_eP^7x7MTad=PTjxq~H|2>*e#e3v& z)6pdP?Oii_Z8zJ!(Mj>22QY>@bJNNV9?wwDIGYkWl=Q9w_*t##GcI&_y>lQ-0epB5 zUjG`RRrK5S@C!vq^k-}$P_VeAl}qK6dAN5j)ad$_{J4=M6kTqU)|)!ahf-l$=<)R_w}G_qFCI_-gGUZ=mVKx)8k zHB|+D+Q#^x39qA!4%W1=uZrSmh4^A&|1UY0ihwcVq;u_UzGSDsr9gy!*hbCJ+nuE7 z|5dq>?Ekd@_9ZAeSHWkt?T_wMGn4w(gHA0%IBFh7b5(G*a z-A$lFkjS-c6eZn&9ch(G;m}6m)YVT0agv3O_)E=E9NPNqiwNnqRiLL9nGpL1aE8h- zBkE{L1p}FP-Jo~^!WfmHBxm3L0MM3m6!{xnT&ea$lx3^I5(D57fWloHA>y z_X^Fw>eC$Ij~|+;n7~i7er(1hG3xfz_Ut?Kqz!TMv@B^yBKQfyKk0A!gpHX2be0lRP4 zl>vht*4VKw`1}=KNZ)~cOW;$l&)`Hkq62znvVmKK)Qy~xpE1t%$Erm8)tGTr>r@M0 zn`-gj%kD8XuSXrO&)}hn-rWJ!fR@E=;<3(ryHIJz2eF$q+GSt7g+81!eFi4=8pga{ zf7^{Qwz#h+7N(Cry*S_oj@4dlgL)uN06nDNfEgU_JYltb9dmZHM)e`o4P;WWP7iv- zw014Hi43-N0)N4E3eP?5mBv{K;hk z(@wqAo2=VMZOR3jvDo&kJ!Wg$Z|#d^j)#NVmI$A%0}?4t~*g+gsYGI*3K6i!MA)%yE2@}th0ZYvI+^DVL= zq1Z{vq%C61hH&~zan1ETQ-yomS3Ad|4xe)5)*hM2nEzlL<%yW(zu*e0oKJTl_8Z;` zBBDg(>4?=$=4g_99r6na!I5_9=M+oiKXQME(Viq4`^?g#n}>{VscMxT8euT;3DY8R zp_PaHAp|<=f?2PLp+kf504%P{=itu2>|-d3y1TsY}MRR=Z}#+0L&EQcvi_ zCx5^9Vb=2=uchA{&4VqA^r9U52Hlz15u1iZfg7HY-*%duXQWU%Kg${DuA8p2Fax)( zyCjkRm7nwWRvCjEPkDk%NHw|Z26~JfRi_d38=7huPTASn*C3n;f;oUl2hl0Q*&*RG zo1lv2nfZr2(DBky2Q)l6^t=`PNFAu4yd;9IESLZu60Sh0OvZ|q zbxZ9hs+S?&wh@FiNDK{vUEv_!)Ix(2D`1Tg9*P>9JY+@&2yJ)+JGi2Y^h`Z};x2#uFcvQ=1#db-s$v%6%z zbG@B8quKu2(MT>PJNtUlwVFT8B{H@~`QjhU_pG(Q#frwgqn*!CFrcb1*eP*+88;nj z#>XX`TN@%xZscL)7+r_Hd@a*O(r#p;F6VlxMo>hM`EA`k$=C8~W2_(}g|;1>$bfo- zn+*}|Ai*^-UPH14oE3C{eT1RQMu0IXsvNJV~vgF1bQKEp5-@A7Y*p??S zaDp)$F*QNSrI7>+C5VaO+gWC)(NehPqRy1N7>Mf1J@0Q$e@i)2SetnChEk15w^Yd2 zbD8vlL-+Wpb&Ue4`@T%SR$_VP=0OLR4-nt%QZGn`Hn;@@7qf2o#9u}U&9!FN+OG+< z7RENpyPXX{iFwkG?Rrn#M!#;WcxmON8h|TH-t(G}s6Wa!Z6!H3kby67ru4mbUbA)X zL!~YhOBkt`-IgbVw>d@aF}F}0)aHxxJ*)H`o38PJYPlf%1r;;o&Q4g4)5~D!GWWi6 ztmX0f5+gbj06~CRTHET=Vidjc;-3_1ZDKEO*w zpBeLN6=bZV26K9@kLu-~Cz#OEUTCF?vZfvD%}Oex%4LxqNW${h;;&un=h9=Uc_AAk z@;Zfi@xF6tEdF`F-0Osgy0iluj`0HAFI%P1XT}O^dc*O_hk2tgFm6k^rZ6zD;+5%D)^U>{e-*%gF4j15L^^Jnx9$0Wk0B=?PLbdrt z5K*5~d>h=0G~2yWitkhnA?N(vN(!(6i2}Xvy`^R+IRr0>i zH|Q64?bleuzAObQM~p@Rg{&+YMbd_%z1lS(UF-qv|q`ehAcF4+NMo0iMhthpS~i9O8nWG z%Ia~G1&Q^${&z1}g};PZuH5N66udz6 zmYW%aebH(zqCfMa;-vb)$^6PWkZQw-MB(LnCyszW%891IUzw$yT%Ln<>&xo{mjqr0 zSLV0^lL8Er4Lj8jBcq$ocxZ$*)M)9Q>pM^4R>;b4u@7FXkSmEXXSzKvh+;-7O6v@1 z*1Vgu<^dajYOI^c_XdnhW#)#JM68@{XbbJAN8DFbtBnqQ5R2OgN4 zf7>x0S-Eul+xD&n>4(MKl*P);#Y%ONx9^)P{BDC=cU5HU*j??o{^|}Lal*Rv99@6| zr^ap#h~7vlp*OrQd=BgM)5=t>bH5fgv_SG0L;*qM!o$j!$}!P$wWaw^{KxN4OFGAF z_j~z!Wm0V0iY|DY_dd7s){{~QD!4V=XeJ5aU0i0q+j^HHg%a8!;${+@w1~UtzsNS= z-XO0HB#kjXVfCAjy$SY4yEYsf4)ssIFRE1%wAxO1>PP`+mUJ#``)6RR^S3$umYXdg z8tr?K#E?)XJS1I{U)p6T?bml!HeRs&WJ980FEQv$*yT}CyHoEByU$l_#Nt$QISje< znBz-986K_}7k>VS<$O5nFmp`Lhm2CPNZY0wz_jC~YMlKu)#Za0sJ&#$HN*@=$!){} zGZ@7uCw5QnNo+rIyb_o(ADFS3U&c-l_iW?o{e{D*FL_sOip0GAMa=6{$ZSmZignL6m z2|Ebj5Ci%n^FvzD8}d#;7|ve17A62xGfB)X(5eQ$NKqq5^x`BI_+dml>n*O|Is@us3U}d+i(!i673I>p+^M}ul-glmxLKDt zXi5}e*$AfJ)MJQHR~ncZ(w;-wp@r8hVYdR7;FRC6|I%$>a<`h%##dvv-96J|Sj;?=1Cxt}K({>YJDCvn1BTEX zvyx`F(Z~J&=@u=rO27=2-Wyo8_o>v=WX)K3#g>ks&#H9%OplGEqlzFmvj@hu`rt;0 z9@hSi=E(Q6479vZX_q$y|Kcn*o~_sA?Y<3xmH=@B++Ak)Z7=fYaG?yxt<%L77V&DP zhQ(PmR_OBmx-avWj~$eaP`sIxh!(54(m^_5X$%!z*9W{Y<-fQ=vzJc-m>{m-tS2lCC&QqNYDhe^9NDupwcV zu_fvhY}Ea$IZ>H0O+CLYP$0fH{PPNEPx~M0osFn}x-W>p$X$LXo2>oA|E>zZCWFSZ ziwf2a))Epp7Ex%(od>Vs}cao>jMkBOeuk)b-g z)BZe~Nj&M_%)O2OS*2>@kcJ$j8-l` z8*T#hlkV6kMHZ=txacOZ6@n~dq038C39rG!)S$&P%elqP6zpV(5P8wfRXjaIx?87w z0Y$j>{A;X>R_jhTnslDFS=!P#ZCQ0EQ&K<1h?#kot203{L({cQ&~|uQw0$v_KU*Tf zOeJkWzanigrC9PPvWu}mF|La~oy4jxuaWOEYU8Od!-7o@(?*T?Q)aKvPm4RmHxJXL zPc?S4=BwGUvL`qFcS&@DPa$5m3?Bq(!7a=!*=~1w%(o7j+M8Z89_4?eEoEwiLhl&)E7_j5F}@N@x*Zv+R#S7{Jw2cqbug0#sA5WXRY(z+a_y z+xy_QSc*pYo8k1k!OF2-XrreSr*4_u4}m zn}dMil3O(|PE;Oj-4x=@}2=|1<>p*)1 zm*7KssVbJWIa91a$}w9KakK1BnZwr?ZD&T?l4_Spia7OX>9pogm^|J-IO>^zTunF$ zm?*+0`aD`~neL=jB-?f#YznoKGmEh#k;w9)*;f_nMx9qWy-IeIg!OIx=H0BvNdquE zbsF*KH7?$|a;fG-RlzKtV@aL1uiRwk{gU0j6jsw9y=`aSnzfy609{i!f6Uq`L_rxC z>D%{tVs_*AlnLVt)o9BxmvT*AIts+;hj{;=!qiG{EcI_dW{?Tde==9zwrnNC_ZrxQWoX3x> z*%kLe@r4cqZ{7q<3JA6YKNttsp=9e;ru0Yy{3 z_#7%>-qTDao(@bLw_WUH>Q@oumfJlf`x4!;nWzMtB;bl?xCK0($TbJFCJPg}WqRc| z;aiOOPP_0^h5=v&3cwvU5i+h^e>Oagh1ze2G!YRINQlH5Vn0PxL4auETG6;D)ljIG zD{zURa(ikX(cWEfrPyZRw7*K1G?5 zA#S!t_O&F^v@uv8RXn2#6y>zI|2dkPxjD{9wlX9v0jdo1sN5wFv+-OifwRkfa4BubP@K(K9Hm4jGPRtS_%v(Xsd@2=l#Uwx@2=D3 zQgl|UR&u_3oO}K98h;)4)T8bv?3_)qIf8!)OBAfBJrz@*Wauc#2dKth)^%;msw*dl zP5^TI;3fe!2%w|*b{j33c5gKU{Lxg7+z8@Tk@Rn|_>o01jM0SKE0jR}3S3w!!zS>dyaEsSNfKZEqRAo)Z;y5+zfU zBERUKFf!ygv~u+O@rK<9^*!97uGs!5**Pq!;Lit3AcD3#TF76O)UNN!iWHs(l>>Cu zT3#EUK}z?b?G1Bp48+0ur5z~m=FNH>{3r@j6)?qKO4UkkUj&Vv?N>paZy188a-<@C z7a9MGSOZE1^_K9t$Z`uqf*eNhj7?d$yxRA(cR5IXeL2!yq8{QA>?O8Jk?Lo3PGt8! zpN$dz?PU*7we@APP#C;?MxNko=v;zr$*dS8SgM~hr8@cu(i>VlR;+df~ck!ls{ z8ay2c#HelD*$I2V&6Yi(lGyfWp2mI%b8=gcIVP!0%;t;X4lWL`@)@VU2+PUY&>imO zV?Fmjs7Bd@+h7Y+m|8$KH0f-(5AjZsp}DZ3@Pw z#T|ffQQ3;f8=*s-1Q)`G@7hN zTA(OEVSHvl2NV4eC(^hbz}w3d3E%HI&2(G_fezSQKr8~xuI=+H5iJ?1MB=%_p#{al zskZ!@rld?B12nrzA|D@+ED~f(4m#0^f&+Q`HVsSEgBpRh#WESdaKmGmhgnJe9(?&g z7CGAZNXq4Yf#Mw+e5gK++yLF^x$U2qIlkz#<)IYV1W++aioy0V zVH2@V=;=*a^HbFTbq{pUY^;gGJ_Q{-(os@+;u~HpVK>vKyOYeypL&tUa>r$&ZNrw% zpF9qqT|fPG7(Zqhzqp{Ib5DQZYueN4t6LD}#H8@dlIViP`L&Mj4yw;(xQ$;bZ*Jjz z-tLfTG`ni%`Jj=2#L=b^kGn0IEvL4B!C_lcN;>{VjL}r3r|7zasq#HrCr^|)7WW*t z{yk;nXUyl%$W?oeeV>uT+x3job?QR(a~?r-C0kO1+fy!`(qqf+Ah7wj`eXcf#iMIR z%IOLGRK2X)`uQs3j_F{#i)Zzk?dRRX$m-mwR}^k_-2}xM>&b=8_pQyk%wRISXPt9R zzF}OXnmj)1qVV{D4{zSaol7+GgjL5=2S{EG5^xF&2813)!P2Cj`}h-L6fEgp`y;Id zcRvOwjY-hRv)B#h;c+#Se#GPH%oWnG3cQ{HTXm-94(c6urVjO!`RG@eh+x5FNb_WG z^|Ttt&457L;orob11Yvd;SPNBl6Hb!3eF$XzdRuyFi$uq8OpA2$Z^$)b(LJXDe!fI5xEf+FK~wy7vvVhS`> zTa`)Loo7D04-@cmh<^i&f!|NtQu6!SQQJwD=oix#hvnuS0-=6vM%jl1F-f@Z~61mXEK7@-i-|sM3gFI{`sR3Zh zGQ(6Km3Rg5x(e?hx*NloU-s^tUjvR6*M)!s;~dUyMqy8$0g zAZ;uz>`(RhjTayL_)1JeZVo+XGR+|Ql(qTZrB&5RHbj5zb44t%*DHOM z`&Pt;nsn`@LZ;?k%f0IclDYiWC+}eF zqRae&DqDoT2%4pRF>xAamGrb@XL=7kl$?62NiQnwg=oTT(mS$&w9_xwjU4}93m}xZ zh@9?vj9=vVVcodUpwsY0ZVBXjI^^^?XZMy`4?P`SF~Q2j*<-@FR` zYc3{nou0K0f7rl_il#&t#q+M;Gyw)#X=IOr$h3_!ksjrWBGf5ba%%PfqRnoUL( zyT0&Io!61RSo!-^OVy!#xr)sByQa8bVx`3k3SIy1N4CeF_u}C;4pAwscMe9alqi@D z)eDjn9+IJN-=b5UTMQpI$S{v5EkDk)3b1{Y6f_dE%vNGVDepZppm-)PY1K`J{4+=2{3WeS>6ZCbN_^Gd9W!k%-&OSC z)i3*d@+uEM{qB7z`D#Aj3Q)(F7iiOt^v6W1@ryK3Y84pVijBK!SQs{1#LA!WK5_ttgcFhWPp{kyxJd$0;&TGH)UB7sZPah{tcX9==Mjxr+UG?Xx z#5H6ow0YTnY;%o1jLeLqov9*BI%P#h@Kpqgy~&OpRtPpA&CkhGx*DHRgV&5ezXlVnrsT2D-ZDV|cGXyPi4d26H|OBEmP>4j|Q zrJu5=e{+la6hZ6ZLGz%UL~J;}?1xnHY=V$8;9e$sUtpIPthw}*l&)06X@KXH)i3k= zJ=h1vF8OSd(n+(-m1WzlwcodY=cC${_rkH;vC(f)k6aysgr{5G67*c>V7VuZqp;j6boqsbg!X~8U!7) zsXsoy%1ddNN87hOVy$K_;Vdp0&X`=3{k^H$a+&yQnn$a$D()=y#zb|E!e5p+Y(?iA55bcT7u!S5@l3)vi@j?FR>UgAfr z7jHNzhwA-x&MGpOHVz`Gv!egld_87TDo(S&j5uVPq7%s$raWOMCV5Y5xi83EG%`Mr zTu2leA=xRY!9sTM`KGhxVCJs=EC+6KvyJPuGL4ara$(MvDX)^ZH~+ZJy^@M231c;| z*+1gB<-=aL_-kBPj-#E|j8MU0h#;XIACi>`;K({=HafhKaw9q-EgCQtubNZZO)y)7 zHNSVrH3I8BYGVKXE^cZ!F^Kx`&~N_I$UTm|ck3+0DXll@>i`k}D#H4{kW(I+j^(K6 zp=NXa;G(6S9pUEwh-k%z_(1x)sZw`~Sat=Ckyws*k2|O|V9^gzz=Zx*i&+UFj;N%h zBB&u?H|k)+i5pzGfI^cH;K9+d&1ObZt=5v5$34E5?!}^6Cr9|Qp=X~gz=HD?zGue$ zL|;4cbl&$bSUThOadIh@C|U0MTLfwfw~rH5Ysb<(ve(RC(khqQqI{#x#*%$l@GXob z?1HHWyL^)3#o@RaRe5dkPfLfWFq;+PikzZTu1~FQ+rIDlnYSdG?kU_am#3uX7I`3M zAboMemzDS?&AZo`)*)eRYe0-vz%-e|tJB=-50VG4Kn@M&?prW1aPcz7_X`9v`G$2oeukb>^U zZp{Q9P9|pSleEz0zeVo@q+=fMq>taY!<^n)<({I+)x~BfWYFI~Kp?o=9HD#xALm(L zpAOV2C{(Z%GYcS@@Yi|1d3bE6YHV_^&akY|{9NWqI{PgfSJER(s!O5FP`H}J9)%Z^ z(m`%SNaMgnulzDxVTWeFmWw~gT-N`i=_;V2T)QqR3MkT@jtq#3v?CzmhlDc{Dw5LD64D{1bjKhirKE&(BOoC# z46T%aw16}yh}3_EyZ*aace$PwQ1XHFOeQzKR{O z9!$Z79qy`(^Yi~mVb|)%|K#UjamvF~g^0V@Z&AN)VZxR$uhcaEL`2QwgdV*xV|A(1 zm3;Y|lwj+cz z?=UhpS&wbeT8-mo>|cVs*5+Oe2n`trd)a(VeKBD)X9qf7lk2cI0@`yKlk2m;f77ix zkNpbzHR>kOAW`1zeAkh6#Iz()QIuSUHuYZCspH}IRLGWU$`~wmYHCG%8A)qU%BP!p z1CwKQ>mrTYOYc36E79fRb#~Tq#JRl1)K|abVi#hJN!MTN82Znb9J;O>yJLK~3LD-| zML9imPsxvx&BP$1t!XMZVydn4JKq>ntuuNrYzmW*$Q;Z$T#k%2j%&~mJ_y;hX7_O) zOu$*jwLWDlxycb}2M&Q>_Xk0BB)T;DPtr$8~e=%&0NYT+w8V!=tEnL+qp=SBKo%LY$ z4RSy$_BjzdKNluk%@F->U+vzHK(YH$!GD9ef3=@c34z8&SD|9E> z!AD!cwm{@eq95bDt&Xa+UH_`adybOsABCZrS|7wRAdM>Q)psX2RWo-;rI-C0Ygjh= z`sRhqz&58wPNr~X3)g<)`aU#@;C%?B5T0Xs05GPn*QPqo0Ha~l#lhjL@l3qaH;P15 zxmHo;21BkW8qRvVQ<5#YUeUgwJXssxt(EO)JoBp|&udwN9DEQ7>MN&+2rjJ^Pa)TU zIt8S11q8W;*=uW0EsiTP3Fzmr)u@td+^m3h-4uA0rRKg^ZRgJshq3pY3vfhdrOWW} zm}p^Fin~4VM?CCLKPvY1SS4@s?fZxG^?T|aXIG5|(R=n@LiSx-JgVxsEwnaXY46DVPY-Wh%eh$>-um@V%o`3$%x+Qo^`}} zl2mV=nP!YV#`-;Czr|L}Z+#!wny$MOE}L+(b6mH(ZwYZk_TCs>J}Csr;~^Ba@zs zGzj4WIT|hDy$^3T%J_wgf<7@wG=Fzfyj*H+TxuP6dsUMUcR_pftzW;j4cA$0ssl!+ zRlKcq)rvUqV(kyc$L1d|U*><(BeygBD>yVPO;S1E0PXku@@TdMb~Xulr*yPHYf$#` zsu-8d&fLwyeH-R*d2kMI0(F>xi3wc*tRRAYGx;we^RYGADOD@aO!4&42CAJ)vvz*O zvZeUr%ZR((O))ayxnkv`Xv_=I!68 z&a_s%PS)aKLZ!!B&O@6$M8yW0k-)Kouh1{eRBWjWiSFnxXB)R$JU{G2?TKr01{8E` z&|z$grLc_<+G9W&t^8n(vgUmBFK zYy1*jI4q=&vmB6pdvIZj?Ns4c#0=0+;ytXY^N@nC1=U7%0(kk9+UUM(i4`z0Y`!@dMy_9YuCggHeK@WqF+Wu zMGbgj>q>8!NKsDw7!ZoxmBAm+>tEwqG=I?EFaH;v-tPSHch_z2uVW@_XFbC{3H)xoJNk-tc=5`zuj3;NrgtzF_XLLro`sx5klSCgC=_SF-O_ zf7vEl`}7JGY4Zr_?y^%2YgB}wuWO=xDo>>&bC1S!{C*)#xuzuLpMlKSg2)@~l*>q&`$N*- zUCyQn1@Qb5{^2@%vC1dJ*VnfNJbGx@dZg>MblRB0MVia|smvUa;{1}z5^o%7mIN1> zztkD%6j%mH(3ml!T6SxN5*52bm~u9TQs%bkXxqy!F>K4?!qV!asd6m4eyjk zs%s>l9}IN}snE6^wEDYdCWb#8)2kfy+Pht(Q1tRLMtrQ3?|^@~u*la_A?Asl6Xt@p z-Z>bk>>;fpYCZ)xP108y4XI&A)^hk;hJK(b983tG^-pI<+Z1TEOHz z%I(<6Q0-WE;jfsC{!v=F_qdk}J!aT8@yPWteW0ZBZT;jM3oCb1jCJ)d(%1`IaO^fN zdC)K4i@YPeKw#4i4aFhEtX2^%kNzI#d42lDtk1_luvv$?@O1Asl!*i{QRv-dB%maZ z@p!W*`9-Db>^=ioGP>*(W0ZZM?FZY!7Gf7xe z`Vwv#^xXQEtN0PF_z4k@YG~iw89X*Pe13Defh+5&$zU~Knl=%b0Joj!27nSc+EeP} zUM9({5e!O>wj>@F|KiTPs9NdSpUSAPblt;L8y0iy^1Bes`uf+^&%C(yl^t=w&N@_ta31 z#$RG%U2e%=O|LJfTYDtBXRuf1OIC%eKKXTb$^rZJ=^3XxevTPnDYGi0h@ox zI5$KQCLY1gIkuDOmDheDAW%>?3)Eub!F?MF0iKv(vd|^xIzmy2SL>9BDjyJO_fx;q z$9xUUM1gPt$fAL30rXIC7WbG8T;GTB5EJ=1SUunH z^tSjkn_yYjJ7D+b7j@;SrVTc|eB@)zyB`YyQylZR##w&*Gi|q3w0euRCgFEPc`otq zc2wok!rZm@?Di8H0wReq0pvsIr~PftHWSXM89tkF%|9N?mfw2sOs>*j6D$W471U3Z3RjSV*s2xe}D#!RORLtS>C;r(&f=!t&&e z6)0=jP!m?cF8GaEsscf-rf!fLnwhni_|*8M&@@63vp64IH2 z)&0hPb5Wwtel-2Bu^4jevTZv|;vcaqRb>|wko~)!fJplpnss`N5h<-S*ZaUOfj zrS-^;H!q(xGPlxH+?QKdU7tyhSR z0@QMf>+8dz0faA=Tw)>+kR<@KpbCF<&U=&5+ioq90Cw0`dsd4!*^Tne#DnVrx9h}c zmp-x8IjTlN%kQ>D3}Z#GsRvGqrv0_Ku1Pq5p;`;NM=vMWcL_5y2*ZNp-F648#HT7N zD~qeD%*d%mD<9LnA6}jY6&msWz(1?!UWz8JPg$6)mK)evTqK=@nUE4Y;jgTi^CUSX1?W6Y+mfID3~9SAf2`U7 zonp{v`*GgB6Hw`wxw%}A7GdTx%G;5QASfr=Pjff!tC6isVSPek-X zhM|A{`SC-ZP7ap$z)cCvF%+Bj&n_|a!&6bBgUjtu`!B?EW4$;spq~4a!_=dL9>=TyU-gAI_l8;!IdXy zst+&!$A*#x<1klAy{DeReGxU}TK)SQb;Kz}&{4-xnd;U&4PCkLR`UHXpL}fQvoY`odkVuv@mVB#TsSiM2~nsc?UHg7(R|xut%mG zUqfK(80{Ju#kFD_mEQiZZ`LE8Ijc^55?_@sG69qE+Eimy!Yb0n<%~iwm1y0pJe{J zDbfg5KcyKz~h%Dfvu zja7d55dJd+P%9KXQ+S18<`0W5w{PEG(3^pQYrP&NfEy<(($3BSK#_%EOXk12x;i*n zX!S?Fe;2m5u&6GR`n(;*z#=;kRg-IMYgbJci+P&K?Z^Lst=`<1KfH4)JqncPzwCMf z$p+wbE^--&oV3lc-}K;z!TSKT@v*V70IH}z$`X1-Jcjs*CW+-qf$vh^$)>k+@bE6R zF&mmc;E$J~lamjB_kKA)h4b*vQsPV=%8&^J(*gf{J5K*~$)mJnze}S&_@ZqEZT~uoiq4tO`{ZBJ*RABwAH)gs|*O*u^H? z4p7+MZ9Mio07oRQm-QULe~0m419U+%fIvb44=bH`=(yN8uNpch`dS+vaxrSpQaEAAQgOtTdHA#tXCG4|4n+eLY^PQAa{qAyx8CVj;p z{%Mb^l8#Rt(!!gT0iH$L(ubrv94zuOQ5SkYBYll`F5xn}M{aRcFKH2!Jgjo8^!7-0 zO$J(jdxr13o*8}_FFyh*t9mW55qX2@oEoTU;f&!k$Dz$4qOpHtSHD zt2;(H%?h0?N=#T~B$u6^s`-B|z{?U%rnC2RRfQ2e_VRSD^3^a9fgqhY+J!TIHq%vA zSqW`8XuN}>aMuI6?@@mwdzqHLV=zX^kG&;J?umuhwQ8Xbg<&EHE;4u0p{y(uo1(0;El`!aqZ z;VNx(=@HwoWUq+q*==(oK|c*x*@jC?MJzumvyiXJ_cocukcmGQES;3R$WtK^vsR43 zkGTH0gt9Zy%0Rs9zReYC#f2zO4Swe9IOWPyvD{eRzJ)Ssw$c|mKXrlP{<6cJKkd4k zREoeoEJtl}=A@g)!0}7%0TCzm^~2?Bw^nPcjo$n)wG?5EmhKSb)7C1DT$cJgYwal) z!Bx6a?a)#3dSTm>Gozn$z42HI4&%v*7(Yb7;f9@?87d~&S&*Smf-neV=4#pNCrk{T zTQ-y5{+_jCHQN(7lk^&Tz~Z{PP=a2TrR9Z;{*JCLxyODm@mCkKsCWuNl&JW(%ECZA zT)mOeQK4zBhIN=L7y(gic=Pg$pa@+;1lz&!`AX7;skMQGF!f`DFd~EyE*tIoppbA~4%NAiMH z2#j)o)NMi;qcr% z%dh7;S7T9ak;Qryk0Sp}t9})BCi^}6CZoyl$lCg~dt8O7Z(E6bCIuRnP4u|L4Y}^B zXGT6n*(!G)tJ%e5qgqJeNkfV!G&cJ?`<~E-0*e`R zHT(>#-@J+tVStKfa^r-DLa=`+8n$zEG&c1jyIM9RaueR28l9dl#|K(F61$hWchstFuBh#v8rwk@ zNT6)$^h{O?C-Fg#A ze1B29rMSDh!%+ozKrd)|49|TnRQ;@R*(i5~zpBZ9!!%=Id?$U4s!ejb^l_1Q{58g% zGhXqYu+YwN-S`jRxQ4VAAA|gBNOOXa@|GOKrXS|K9ym-% zVSn==i#vE5LQ(t0a|9fNJg_Cp5-Tro9N$BO9}t>#0f?QY$N{AyasO6ul9cyTc)#F_ z)*V1|A;^5B7m`Ho(L|i*VfoBhza~o2s}|voA$~+fy!hv3d~KkLl7WNQyvyo1`rd1t zoD&C`gpew>f7)#196qDdr{qAwia!RIKy`;X;-0Wy4?RBfv@(8Oe3q|$^4@!cAR6)O zHwFdB??fLeVM%lv5{AEcYH_mW+OVDxU3%B9c}Ju$r8m<~F75vH2T1H2#P}_xyANYB zwAy*TU;^w$)-ty{^6y$g1HxV}wDRNf%hd)Y0u5u*i$X}DPYCVrHiT?Q6;VfO6 zAx+w$7biF?KN}b zH);wn78G`A)GA=wmh=P?f@@P!S7#aaoMiz92k?i%I|uhmrfvcy&%3cQ-)o!!SrA%T zZEbBBbwS+BE&%mW7-kY=w?MzL?OhZx0o;IkeQk|DZ}69RdJ9kYklnV*kJaL^{O63r zmA(I)DFg$ig~t-P_UgJ4uN1{_t&Nak{D}*m>wio|+p|?{yFEsBH_#wONC=>Yh)Aj9 zy`d#<`|L^7Y|*aCHf2AgzELLGmDkvtzT96h)j831*1>)#L2G=x2r0le+-% zbgxTO!Orb780sAit?$N@p8wc3^;a%X$%}}Ox&_M{-NRAznC2!?oGL4MaDUkZ1}V+9 zB;6_=vHVOI!suZ356%1C?F}#4VV;A$;pUd&gf?m{csm!}ds{=MB-aON?2U+)9`sjc z=<;-Qw-{)Z55kUL3Z8M}09E)SN7t2JE|s7Av+i{6yzU_B)eg(Y_nkf<}JFQ zLEUWRPGQwaS0nmqrMFxhO*haJO?)162crkn9spJ7G_d9fp>+CmXmyGjk0fBEK&WoC z8~G zL;VqAP>J{S^ZM5otmQjMQ4MTjAT@zowQSCP!s zejg8XdG39~P-o4y+44j;BrOmoe?sJ^TtL;x7OL@Ty2Ozzqpfh1$;M=n5_rz9*CZAlWM^q

      X0)`LzVA$RUh7!PM#L~s0v=C(o;;hF1@nPt&vcf8qQ)VH$S)zng8)&lufGFi9gmGB z64N%HwjpC-Y1oyAO;L#RJ3Ey^M;0D@3>V;;d8}IMw`^{f1Y`91QvGWnEysMy2PU2l zf0~GBCiP`@w8XV!|1gJlHu+^MwpITdC{n$~tin%vS_b$NGVnBs7T9k~Ou;->kf~MT zK;vwgOEe9jO(ufB4d>K$?_FqlG@o*ylDgljJ^COU zBhpqNfCwhh(*^?7ejMHe;9lO4o{v+=Z42~Z^6Jw?N6g^4Wn@g!miLfSC1cBJ?$`G& z-|x{=5cVq;k3 z#1u>}7o1MoGHr{Yzhw4&ex*o}MTAZYi7%#cJtrqSZOK+=~xHGi|{<{I`N+se)(2m{=6F$S(dyl z0K2I%9$S0m6D~E4fk+#nP1WrYjg4@z7ix^&M7A%h|dx{I|PHn&Q6P z$Axbb2TTf|+_hHBzUn=={;xs5ynYVUN(Vt*nvlUYnZEUEzFj=+ z0PkfTqlQ1M;PRyR^cb`%e-kriKW&b4)e)EEx2Tg6AcA-}1$%~~jnS_xP)Q4G7jZ$n zAzdpsjCQZYkP%vzlqVl)Pk6tNQ~eF$5?jU@$ClxcW$M&tD$NvnnG|k@cmxXHBAGqd zKWx}b5x+meP^wRV-k*CxVPU$@n)UwYkwWh9k5t3AW`CGfj=F0Jj9JyJdcOUgjJ(4Y z@8;|%Y%u2jbZFr++Fj@S=H@lTy28`j4`L!e+fQP9L)ac-w`g#car5{M2KFKDeeT{~ zBbY}40wr~@Ap_$eR;PF?1u5_UA`-2DYSU(Em+Uy5RhudmF1hOLVPe-49u6T^wH5bW3xk${Kr_c>$6?{71BV1QllgJ&T9L3p1i$B4H<2al zpMS{=t9y(IKpoj!AE08tb(UoidHrvaqBAQA*2Q9{UZJn2Sq>lN{nbZkgAM;7?tO^# zgNf}u@FPq|@ISA3i(%?yV*#56sJ{pSvaKyZJm5Wge0^o5i;wdjnG^c_}yC|7-Mg2P=QM?0hERs>6D~MA@h(uw9z1` z^0MA$%MGIX?6+8ec-h#dz(X6l2nEbBVJJBd;~guu^P|dkBAY7w0%l#A559b9mC#|3 zc+C}0KCdVdKWD5TD)I?q3uB3xoasVoiBVO1Aw^$`a->6HK1D%05JiCYmB*5I{haS> zt%(4<^nlhgrU!ssO~2gU197G=yf{~@5>1^4JQ6TEO;Ii>D>IteA3fKwo@C2lARg>E zF2-|LN63G_bDUK*pIV1TBVL;3sc&Ya6$z%&;@RV2aegcLAC%!@IgyQD{7DxpORjdH zJ2Rd5=5No+UBZYbFbpgCfn=7(pngQC#>J06qo%b{CXwNf<~CLOjTPdq9<)aj^saDa+wLeLGMRBvK*}w=_BV6I}s^P`8R!{_H3r2Mi^s6mxx3 zt;5ck@ytH!U}r0&5lsNvB{m&5bX?xlMO6|n*MuNDL&Jg;D}0iDL&jTd2*hkyo-A zpT8a5`(!{0xncY_)@w-p&rPY&mvRW~4aIUVpt9%={rE2c&omPUqMoYbXsx^I!auqM z1&RuDOZK)54KWZ5(^^_&wr^*R!Ag z#bdg}1ZN^1MX+arj*XTuuozx8Mfnl8p8%fHRbw|7Vxr_pV-9h)@pWRXYfwJOxWJg8 zYwBysx^o@RC>#4Tf{@)M(x`4zrF%c>PA_%Qd`AHA4zLL{^}*NT@`<;Pizo62^T?D8 ze}s8Ry)gZk+X^Ix07*a(A)E5vO?b$ALIQ)L0rI%LGr$yZh5C>pvDa@Edn9tbLV$hp zSe?>wn{2tH9*@MJA@>$nyO(FLvEJpSzZUdpojbEXT1q`uZBOTK|7;acl+5{rS~V{$ zr5q6Jbcsdo2^$O^DyY0b)4x&0T8urRP5!($_{6IB6ulbZbcozj#ZRaXV`MqYjV)2< zbO4BgZoaarO6i$w!-ouBfTh4_1cf{ktlq zZ%Ej)|M?tpx~67|hNRz~)yzU9aKA^8tu9O4YJVk24s&Iq&mUT0ZwLk#=>)16&qER! zUnY)LAv<^$b8|2&;1zsSxi;>?#vvsnO+VkyuK6 zrq`&7+YnpY7?Z+&0)Ij`{kGZ78nr8~Jz`t`yY2PQB}w>d?(v9yEZY3$1MJgZJjI=x z$|@u}@?V_Bc)a*y+^;AlWg)~t3H^!O=nAPWrB@^us+=Zo!e*8r&Owm!(RO(V;f;-L zW|}nO_W8qR{&+kPi`r+~BVl_k&U7OCYpzyatU`N)JXc2Z6yGyAa;UtZQXn-LrONin z0EhZft7ky_NN{9fZ&){i${>>Cj_~pqyjCp?>tF^R6GIEQC9FU=Or!qEU|UR+@yGhv z#YBM%nkK4+_QL!xdq6c76c&MY%^MOIw{HB`_hV!K<8#Gtie@UgdU7)}x})e4hYi{3 z1C>hC+O(!dWU;}-s-T?;tS?Z6DbWPQe9`kk;PwL07oiml3=D)f+jMF8LDn-G1YXG3 z$P7$ufKdT9m#qGu-tfb9Twc5 z*q@+Kr^dbTV+iW4FWs?<)ogqlI&F&dB(Y$1ZG@>+oIT}gx+0QBvN8TBf>3(GIxi(~ zH=(9&TRLTcj`*)Fk3mNM0WQmeD%Bpf9 z7L+IPA(YEoD{!+md{=E=-{r7q?0seTZ*J+H&zr7OT6aJ&4g{2-q}_l5RpjgEcu$xM z0nZSoa4?g$zK1qX__^&SqYPEpEHLOaUyeS^c|zEPfj~)^al%^!eook?rok()J-G?Z zIT)P^=#HHX(qNV*OD6~9`L;x3-Fd6`sW%dpbJ{vex+9k9)zl{%$JRUw^BO-5F*zhekp5>Gh|A|b8&%pOxhr3bwa)4;2!UDcxs-JFK?%GJ+hY-}fEq2mJw zzyknb2jYW(IQTws0vR32+&ym}&=o67r-6oM25=wPD*#LroJ*j&g?~f91XctHks2~x zCOu7SLq~iH3cjm>hF1$hk!7yRd&AC+KPuI$-1<6ne^@5Xl71ldxOBZLU)8SQ zw)$9S+`6~+p2Qn}olkEhta*!EACzEA{>#M|CWo4An9*?J4v-W z%~!?rgauoT&CJ@-%VdSCKWwV{K{@JqMVzUbxQG_$9Rlc%iMp}_|@>8iX2T0s$*;58uiStrV`)I^AWcSWS9bg+XTals2VtN zKs=?=;08fJ#dLnEsHk{z;3~*;DISj?C-nC41?xV5X2FF6ko*l28F;5xgyN0P%-~P- zrq?1BZK8`$9%s^QkEhtzf)+(btpnYdvvx>^<&R^!J?VI(xpkC(&?or`{(m}^vqP^N zvNNOP-1PR=zK(sBs=~!8 zbnMQ)A`3L+gnC|HsF^AjY9jo65BCAFLG#hyM%7jf<^W*h>-inlk^$3KB=&f{XKO^G zTelTXpVd_UaDDkoij0JBWiqQu3W8l(TR+}7XqD|{-P##DS+tIK$nEXdel7H^R zP79$-{G}8VR=&V9p4o-7#73J=)F8PNQfa#)NC#c5=#uyvtCeO!<^{WmK6(i za`>et2qa-)NdjyCacAK{0m|MZbDxq3s43r9D<2!1b7ei^eFwl3kPw(@MQ3iq=v!GC z#zoyVStTFMX6APD-)6bkM)e(9g4%;EZGfCmAo;7-D8EajeKu7vZnJUH55K@kR6Iux z`_37uFscHP5|dGTNzAe>#!Q^_G%W4|x=&!`fnrH>F8 zkH>$uv9jW0zYEB&O;vZb{NNZ+prA5h3V?^jqZ61%U0BRjBv(}w*A(+E3O1{1#T$f0 zAI9B?47SuC%`w^MnGnF3FCyO`q|GnxH)%O~i3(ve2daZ+6J#X{w#S!>5n98dvOb@B zGF$VOX{a#m6QXu6nHSwNS4k=}RBv1SVUtlA>8%#9Cc^}Dcp8%?tbz|o)a;NIss%be zjyo^s=-3EtqYIJC?!`Uq)HSm+XugxxFFycKW5`31BxYyoCisCd1l2QOG~yhuwBEl` zXn0`sTK*>cojgI~t%odhFkge$8VYw))EmDGDVcD^XC}2s#tN9sOwAq98SPEe60qr~ z$bXJGRjxh0le^|F*(nKEqW0Wv{0c7U9ou z-z{)(M`v~A?YIM7RnhaLaJLbFt*VylJVx$|7@AZ6O>gv%{|$HZ@m@3t$QA4|7G=2+ z3-=O?y$N8%cj%1m#;+zDB(cWxR! zzQXD~Giq0kqsuWD3Oh%qr)(b=AJ1>QLFfJUsIBiT(SrJ4gm9vnAvw$d22sZP4HhFo z($;;J3(5O}!^GTUt+lfW)|I-QU8ml`Mk?sE0wMtOYrmrJqeD)Bal@QLa18Sj-f#e1 z0J$?jB@x&Uriw=5s?X31=7jqQW{BW{0`C&&e{@neZ%dZ>T)@E6Z+oq|y?TV*Kd+Is z3oTDGg(*LapCv5{_k0-7)oZe^Y>xFg{9oQptJdK0hd*|maFNw0Ew%M(`}q=KI$3?j z$y=3?6o_bRBg+ew8R6B{yd@=TuJ)sw3$@8FS@&{rte!SX0caYTYqqWr=RKpx+*Yoo z#~i2v5L9y!3xtDwYS6ZSU$%9Xb05O#|ovlN|y<;+2W`BHTl0RUlV3 zPQr@AZL>^3l%Oa0wAFdtG?oa9blibJ0&Kb3iM1N734kJ#W4gP$9nLw^$-&SVEW;M1#T6kOGF+x3Ep1n82(W#5=J6!VyAm4YEY&hb!%KRo%iq9{%m`B#mf92G0hCAd$He1LGne zQNb5ti~UcHu({MkUew5yFQ(>^=r?Ae_iNy2&Njw8i5LCTfMy-}zIVCr7lL)p!9&f! zQ=@*FTMH3c5=%d>c0(1F>+zX1L?4hHet_)^BWx{aEN{r9UJ|O?Arb zfA8RmA6kM90j#0rIBu!OW)%r2?Sb^_SvX%<`_52JkGW2Nw$@sF`z~O1Ea3%Y;`4X< z=QEj?|0W?N#hg129YJM@Xn7|_Bt=p`SJh{o07^imZCXL?#_y>Mgf2_$ehleV(7ub+)2PV@Rl&{+XQ0Tyx_9fGyumfSet8NveuHv2_8c$VFHR|(9>>sL1f@L>)i zqSW|Vt6jhL;%r81v|!9F~RC_0$#vr$TlB*3;(jhM%z z{#*ZK*nOY~ge_B{8nJS_IXH^SN?TXgpyw5}<<_Vqn2x<0wR&rt=v3HiT5wxThknlC zlG#t@U!UhyW+O~GU_e(xZ}f27wR%mlbir+5OUt~pdFPJxp5rrsW_n$dn-#F>stLGQ z^$$Hn1pnAeq(nrpkOcrD;c4|Q@FW)Kq`cm{!}Q~xeWj z+m2)}3y;b5F$ViL44_SeEQ+XW%XF}>3wI3SLSWxeeP8-^s2QJgcOW=kdF@)M!{DFq zJHcZDH*h7&p6a8w?K;o0iuNO}+_&41Hibt7|z-lP)1E3v-a~0-Yw1pty@oy<7fH+#@37kKCVt5rz{ZFw}k;nhH*el&Q zNwQ&887uz;c#r_UFa-e6GDI8zd(@wX)I|P=`m}iD-p^cDJ;|>?T&Qq5TS#`;V%G_c zQyaFvy(2uY-~$N&4ig)!EY1B#R4lv3Jt(qPyBPFE+{5B~%g?DyyO&~T zdL^RhfVBYI&hm1I7TbYuz0Rv!x5r*ca?Bp?PPP-!9D>LTgRyY$8)nsSM1mAyga!7# zxeHh0@$xlLYyw{KxX|Cw-2OQ*w96<{BqB0|DSbbkqhZ3Li$B^t<3g6JJgW3}{2ODM zWc}dcVRVn=@h`itKgsR)bPCg3R=0H19UhEyV*kVrGu~GjBjwQ6k8WJH9N-))!91W$ zqD^L~z2V4S-i+J9T&DU;MS{8+!sjwrQL-+$XY+mcI5KaY-%E>s~-61sW|H?t=h;v&_9!u5$dP$CHLdRtZm zYa^i8va$lQVeQC~j8oCQ3-IwEbOCkKGMR~mS&`v8kS+O=1Bi|p&Y!h{nKb~MZ9*_T zF%ylyM&Wkx06ir76Hc%u1N=ScB3 zOZ%1`$87XXQh>Qwr$IG#Q&vlLmt*_9&?pz)s4$))hF66JI4>GPPfAV|#v)TfI0fW1e zhSV!N;aYT0KOl_|706X>z^AYH(ODNLS=pxLoC;y-BXlGNq>aiC&`Z+AtJkOS{;d@BShFML2AIWX;m_L4#ARi1th|mStfBKM0=0gM(+az={K9>Y> zxnZiuB3lR z9TpoviKMJoss&b5lQq2w-DzM_ODq)|ri_D8T&mlyr$&KFekfLitoh zH!3Qyt`>D}Nsj6ko~f$0)&%rtlx8G;btDEu=h7a@2}pq%=IFs$IjB!hjM`CdLgwF~ zo{_Qr^zT!0+2yT zC6(f%_Iy!2dCsae0%qb1+v0#P<9fN4>2LYk)Y&Y_78h)~S~U+bZ2?sgm`i}wLN`NT zG4k0^5w{5$YC*Pw&Jd`c0DhaE1)EZAfx&<>hX5I$5=#eawg!3X9eYc)^Oc(X_v^1y z-733{m#yEnPOX=E+4W6dg)Gg7!Ap|c)1QyS@4T_*a)@dT_b^-axN%z&H^B11fG9Qs|3Lm$%LiSUFY^TeuILPQ0BZi~Yz zEaGbQ-1Q9)oFtYF_~=`0boHV<<)cN6&SIgRw^Ic1eeCgWP&8UB$^%LUUs^2^HdjCTD^ zoWVZ-a?`qe&*DrQb&yvBO{o7(Wz-HM8@PXDXSSbK=o z9PAC0QXY=Y=ZVFe#KZ*7ip$tBQSbz#d$+r)qhSKt{CHQ-nXuuh+wq-7dr2!VGxCS` zM5KIjlY@52bCk(Msrq3hKXWUi9Sn}3^8}0eXXH=BuebMMZK^^+&o)(L>gpJO>;phM zMU;t%MDp7OV}Ysd)z~PS|3HhkMfC%nA$!dnU%UyZm=l`l;Z~_D;mjqQ}s&VBH&Wknx0V6&Yem~`$GeoB69_^m}=?YLA6hZ1{d=z&3 z&qGk8?)!Oa#9Qp^r}@r4EgIH-c@8bu8qHhlA$4r;EpY>Q$e_>&0Tw3S&7-5E zDjz7-m>sM4?vh;~GR6EKOro|C{BSwPwwXAorZJ_kLL7q$e& zMm~?EkIMA+j;mBkPo+}Ci@V5$;(OL21k%^FBIqTfFTQ?Q**U9r9m*8-_Orb49u-RA z7n3Ibf%lXy^vl~y1?$&uY?IY;ItmUmKJZqsXgDXY9KZpJw3OZ&W2=M}2q=f>^J8U3NJ_wfxyq>SrX$^PU;h~9+ z1IG8LsaZlIl7SCW0U*rA>@7+3J>9`Y_kXRWy_nCtRSU^$cQ3g`TO&@*k1e*RE6k9cB+&|xZ0wl0ZaYZ{+D$&Dyx-&6@E+H z0OjrVbsMlc!XWuS{2y@Hw+P0Yy#U;;Fq8q+(P=ne7C zTK>y-ahTZIW0i?k{Sw9Qu)ujLJo$WszQ^#Fk}xMjrHrlPge9xGOFG;uxLH&+yC=Sr z|3cDybRWw)PG%ZpSn7ZBykb)BPR65MII>k$>eKs^-#!?Z|0;~+5GN{GIKq7m`2oMr z6`d&BJ~x;77-I$^M*q)8B;J#JSJ2(x>u}>XeOf2f;{WNG0M?jyCiV=G>i^U|ar+G? z&)#mTtC@1pH4DZV&?8-e?5dT+lnG;lFLAUZSg|6L8R=uZ-=a5o(d3=8~#W*+BlqH5$&zokFKHxum^M%RT=W#1-C-?E$ zLoim)%d9G5Ul~Z4NnS8gdG!xe2!fcK%~c#{sN&MYmMKf@Dm=M z1jhgiQe5K=)5$VQt+d#;FnizId&ra^^T~-*yvkbsBbcU5T5Q@RyY%}Co->U-ae77n zaL;YB2?QCM?0<{DPPd`cbKu7asce7+#&E?V--Fi|EDeCOLgxiIOH3G~5LJHv2ZAA3 zTqmCYnqCI*|@AykUrtrdeHkITI^8*^Qm6t#og#=Q|1!A3m4ZXZoIVpQ1}Nx$T+6bDR(ceqP~0+qugx;?k;4 z4YZ+c#u{JmKyI&l3&nmShIgh@SXp1?Es~PnM{_`m7`z1 zSRDvb_?f(Sl9=!V*cYBOwz@6t1?zb4xgiT&Lor)Q%3m}ec4^I(Z?}n{M#(;5uy;0~ zc0FKtDU9U{AJ)vZkG$;c-7BH9wq8Xx&J0-KS4Xuy-#M8{>Kw;RAww>HL@JjXY~n?DYkm8WJWQf{VmaT1k&xcx>h|h}}h` zX=v%$MZ{>RMWpfYUoVg|%u<{^#UyHIVY?9_-LTcdU=m=;K-}RPH0fGfS6Il3N<{s5 ze(V!Gz=&%=$%!{6U5tI$CSu)-OHB0#hLm-$ADR*djc z)-B|p=%;11xB;?664s7FT zy-IN$$ksPKeEjra(d@%D#a4a-TjG{VmpT4ia%xc-9Nxq)xBPpkK8cv{r#^!{V<2zZ zMz3cFrE}EoMp#HLpr#Uq{!oS5>-Gni|^Hpri#8CG3&}xVV91NWJAt+lyFx`>A8+p^V{% zQ@fW`5?cEubgBlqwo2Vn%a;R(l4&36s(kg?!V|YEeupgi2Oi<%5kcx1;-c4dGz{)O8*Ff$ zbX@XiJvx!OJjBr0Jy31zA4PpS&@q^@nbP!|G}j$Ek=kURmMXnEo%}pk_s0D0uG66| z=-1oZae!PAzC7-)f862rFjN4MkidkLAgmgTCUVvte5d{;i&Q9E}fYAh_d+)-7jJPV;%?^;KE{DJ@oy2c9?3c_I-ZxfUw6N|nP23b>KWg`i zjdv-|%aXMtRC^U$)Y3h`p;Ic!{HjR&U3!U{8ow5~&uHH3@fopqETnupl4FF}C7?mjNi-lZfN!eRa2A0tq#i%Z zyjGe?=lvB7AwL1GVu+DJjeH{WiHVs z+^|i!KbD1TEcLxhuBFI;w7}qcxRmLjl+dHF4r7Szi1cV-n=hc2VY$aS82ta$t$j8eZL^PKm|+9A?XCxXQ924 zpvMNqCNEY6_wWZnHnK3jrgp9@^}#_&9Ce>m+$IkV zW)gc}-*6~>s;rCh=5vjza_(ZXbWtsaT<+K8l>A$H6vU3nV!fa9#(di0S)4)mD#Z zK@m%{vxCEcYruO2o4cV5c0gJd6>6e&`yBkFPse#DQ0eV|-WyXQw#I`zQses3WPrMQ=+eZ5e637Zwvap)_C9YZwEX+bqtFePPVF9F zl@?9{N6bNe>jOUDONPCKh|b^*qnU=c2PY!uyep25uT? zF`bIqXejxv@;dSC;Oy*=hyBq~0_!Gh zC=Cvp=oLSWeQvz$caK0(v;CK_IR>sCMdnGqSZ2<<3WXn))b#P*yB7SZS%VfdWMOl# zgM|I>Hm~o|x4U#O?M&IyLyh83<-ZtOcZKg9$i*mW252etDokc~a)RJJh4@OSAG-^$V`Km&5Q)T9&65oBDF!1FpUFsaI9_d zOof;Bu)aH~y-Cy|EEOc5cDVW7wNMaCu({fQ0(%MZr*2_I=D=4Vgq)llol`NpV_#HU z%turP0i1A);ae7jWNv8YKu_6ma>5TuGIB?pD=|fe99SaSO-6p%+ceLw6O4!+%HP%U z4;m}Nu%Yh7(mcB6lealB;HfKdySbZkr?=U(L8}(GAIshQyakoLYP-AcP|Q(xxpGmG zrf?!Z*{uEalwJntWN?N zCjT~~a~^P6v_W)z^6NGTS;<4%xZ=zz`JA$zLqB2b-eUbrkknfL5!T1fB7^UzV((UZ zG89ism3gc(bzO(5kiOEy&95#81EpvpF}d#V6daXpIMeIH8gQs@pH<(fe%z}k!Yl7q zR((3bO{zP0#kgnpLjb8RzGH#QuyEnKw+B_loX6K^hOD0e3X4AVaNgnlb{pORH!wIL zITElCFu`eXD0shg$3?&eaLZvQje&UqY7wl6uc~?sOP1l!iGEcVj%cJ`iE|fi{o8dO z@MidjMH-*j8Tj4T$RM8w7nOw64!a?0&?Jt+hMs|Y_*KF4hExT0nZZcfRE6rsc=w1# zvVF^Dww1Hp#-8ayr9hYF{ ziNK+yP#4Sd_^LzVjKQ^dzgKN8vQ6eb-qHO!BAvqXYk6z`t`^W&=&rw!?9OAd9`<4L zpTA1GcIBEb#|=+Iv;-a=|A&|-7LOde+o4B&kg8wjpb|+RsP(_B7w}PnJc2%v=gw6( zI;7}zZc2^|v;+~1I-tBM(f|1p6tw0Iywd9KRqwEI95Lzd;x-};zrE9E&sAoDcfjoz z?l)CtW=W4*?JxTUd5e-ArMK~I`dDvSd8lg=c(~^yUXp6vPdFU^kdjO@xmoF5&b~uX z70+TX_R?Bycl|OHX zLUtzY?*vdGZI=brjYgQH*|y9?10xNsJ(_)Y1W+0z3gOxYy8UDee>c_L%^Srz7OnF< zSJ{zVnz`y@>scb#){2{Td<|u8`ki*Cp)eklo~=b6ga$gDrSnucvsWk}QSl;pHZW z>^`;=9weS$;~bp-d0-3qRobL!FtITmuV$KH&~EVE=`a~njYZL<4>|rj-Ctn#N$3`6 z8Ym||Dra7)T)k}^kdi!0jy@+0wx2*k1id~C3}~w-h!s<|WbHv*4ofi66f@8$eT!j% z27ru$Vi%f+i$lLlw`Y+8PoJjCJgF-$-%j!O+?*ByI03DafAjP#vv3Udw*2S5=>WAK zU>mwq#|?HE_87m7XX3Z9YpxZGglp}v&}DkXuY4t^&Urr|RHDr$iX;hjivvA$O143r29BlA3ERUM~e$(Zz-O+8aRN6MDzl-0>ToNvG`~YW<{~+NdAVxGmV#dB zU+}FrRi&k?d=fkBG0)M*3cP7cx=Uu23xL8eWzR(@HHgb^v}UQ|7$Ct#0r{0m4hZ#9eA* z(&YT`vZjI8f1(%lBFpr*paNHUV2te#&M-~f5MK1Fx8m&CaXxLnLc^Wbk4pX3gB^1= z#Z+YBMQ-UPt+-+jc-#shn`e)<;KjVF70CvIz__tCMQ==s+w zWKI|xi!lZt(qkc#n~f(*8iI-V4TI*t%@=B+T}NPq0w*6V;+AXlMtnGk3WyTL&C}OPGazv95ZffuqELIQqk6rJM7c#QaH^uaFKpp+9TA(u=GfuPqaQ{d z_@Uk(-eDhWa3?t%URlFw3D9hR>Cn;kxqIsPxOV>WM-uKNIrL-#-(f1mdtC5uzQ+t@=d4c8Jdvte<8SaxIxRs` z7cY-wlD2GzM41wAF0~eqRjMLJlG{YYe^1#ym*_w7?)!a5&u1Lx*v~ z&%r;)h!IK=+8PX*%UBf5Z=vj?vqRA7FP9gG7%jEYPm*82sQ~!|`VnAOoHWu4W?9I` zeN#8#r@L1{x}$L87!eUMpL&w|PEL@z6D-Eb29Q$5a?n)wO9ikMBkrV{d4=pE#FGV+ zq!&*X%5yNwIsd($Ic^#d(BjdSNV4WkmG4JT3io_nr?<&trB)>Y6Nc=v6i!fRFT8Gm zOJXr6^1SWj)7RAniE6zUUI&aqZYfs4{lOn>js=^7#Bi(1fK(k5EQj4AI<0JhcaX#n za-Qjl6z36~N|9Q4Rt*G&^y@56;eI*x$0gue8J~z@8YXCsR&XDg8Q+MkFY3cT-#8^y zTIT6kDUj^_TJ2+q;m1^FcG}w)%-lLHmC0vz$ZL@5ZF)Ld?)&QQ)=7i!2j$oIxt_g4 z79y+GCH*N^uNQb&7ez}(1|dQMM?b3~fwdk<3b`4tpatG6c)IISWMM8{zxqG+Z_&}? z6VaDmrBThE?1X*ks{Y+mHAh}{vE7DVThGgjnz(`FqD#6p!FTZ(e&UbpgpU_Wn2(=e zYaU&orYi`2Qs&oVBKCMjJ8?6l;y#o7<`nD5R6Mn*Riaia&9c4myMJlwZk-*Dz4uS& zp|=_L`&k2&Hh=X#jp>?&jq@Gb+YdhWe!6K5+KAo1fRDn&!%-beke!+e$7n-H2g2~( z$$Bih`oKK%81=ZFugim?7@On7||BO?EZVW z&H#^yR8BZEjoVWxFy4e226dzFbyoTK;&$mr-N@QNz~6ur*88P|`K1Vp)PAje)(Wx_ zU0U#Nx~8V53(QJAtcl@O_z|J0abXrrq}DOc!~V3poAfvCxScvJ(}X<|N6PzoSSoD6 zyRp1C^(ysXioEK|KYijGc%^qLZehM7kv_!VQCg#Wb^r8t6LZT$yY!**oq)?s{x=&s z3m#LYE+2wpnS9KYls9QGiL^fjCN?}tl{XjUd&Cf&rVdBlV{N-OEQ|miPPiyVrKSCp zdM`=`!R*+X4z+4`Hf%MI^uB!Ih0b812-27JK1IbMmT%TU!NA4e-RM1^2uxTD5&WA( ztvTU}{m;o1{Wy7_K@w%{5>~`-ZS2g5)lSJ(!G6bl zGBMVSCe+cT8oSP}qT#&|0oVu**p>Vt)U#RdE7DfePIOU6*q{0PoFqc{haUp97Dl?N_Y0W&E4@>2Qo(G^U49gg%TZJ#u%}1Codss{h`|PSn^$k`Q3yn_tO)J9(9F> z1l$~ANW4iG57G%qr^&LJT3qG`g2k$B7JChh$4@zs+vOfUnL|5;#Pd>|I9Q&3Dc;5Ir{*#KOYmaV zYM0x`bEwueYp=!wp+HhB$U80a>uTW7dvVW!(4T__;(v?OM4u$PB=d@fK>i&}EZ)MK zPkaI?VI0_O*u6&m)EAwt)`^hHjuODnow7w+k0F??GySCl{1HJ-FbmHpvB_8eYa17X>0-Co_O&I-Rx*}LJM8|oJ2Fj&Ks2htgNk9B8$ zkWXL|yPm6IB(E{C5=zFg-L;rYK2^%3E%>Rm7?DgkR@@(#epuPJ8kOZAu7=3&kQJr$ z6oN_yO6HaTidtRU4gv9qx;_(bcW{@(U=G%B0Ha}hI`~)N<@@8ZgvdH1+%@GYk~n>R zIr(6a>z*$w^S1_ukGo6^)~B&@^}^2c8kr&Z@;>LqhijW39}ThMs&9Siu0iV428`!f zEPMTPIp4VXv3P(S)5Lp`IoLg%6jOY6m`DD}qu_nQDAHjR2Bo(db$%K9@#?LSC6BX} zI+K8mfwM)=-R&>LcA3`SP^v8Y1_o~3RL6J$$dWmje&r>zu6MBB$JVoak1;E@pXfCY z=?xy4+)?!}q}Nsavk>8HKQLil&HH};AvCwFT;)G@GhH&Q!t{Ce+=n8YBQcB4Orj2S z6G(tnqw!R7shEE?Hu9p#RA~RbiKzIfWT)~PaeMOdwe!nQT^qgpcHUN8stVC}q^)aD zgphI(o*WXcc885?jHur(7;>_i`vih_OBxA_5#eJg|3aSHRUG>&Fx-&N8-mxs9hK^a z&N`~u4Gm3$Ty|(LU}gup(-63O*w6r8&ssAu^g<$;At1WInE)orfj~3ydSSaV5lGM5KZ2+e0=J-(;VWdH8je$Pe4xTC%NPSllYBnDmWRG+ z9ZT?qnx)&YpbwP@rR^_hk3bC#&F;fvvqbA(A!L!u*GFDe{rN1$N~4QgtgbxJqEQma z*t9k}*<&u0Ap%H)F1JB?#m}dAm$RQUBFO&&bichdCyq#%HXT}7ygmYES4cySFrXg% zu{!|1q%a_0m=w~`J{rK00Qg_}5|6&qZ>wk-kY@u~mT{VxgwM;zb9o5j=$7a+ad=YY z>nZ8fxdxgJ_8&x$hGTMhBVCzI-tG39zu3hhq-jW>m-Pp65p<)qL#Sm-7hnr*zpfn(pvg0X z8;XO~Yi`v6&tp85ryjK!MPQ}zaK=3%u^4n1I=;Je@p57`TOMO*fPaT2m{Y8}3|U@v z*34efUAw-Sj7eDZCUtY+x}F!=^1un}eFA&-$u#1!)_!K9Yf}VA&Ea3|I95ZMga=+u zpYDHE^!gJ1kkW4^R6DBqGd>xdo`_+@Z9&eI!6Iy&XWdN#p{z#zHFm zOq5Y{ja%=9fy=$$QlqTRSrO?LRk<{fv;=S&ATKE|3#AgYdmf`0T8X2H#>IILnV zL7UpKS>`-efdTC1)U$2-6uF9%o9g(Pfu+;hK=r`54nsQ(&FIGw`qIuv(Z5z6!7q3( zaS`r&%V_a~z(i=?XK)hZwryFclYUXXo?R8`E!7z?qvaODW=VbJhDRRq4%q_jxZ&xG zr~8d$KdQO|LY^->op7WF8j4~S7FqeMU!J^Q4)#+SgK5VL**YOiB zW6I$=61is3{N@KH77vc^Z6@rc^)7?hVT!Ob9U%dm z9|_S*+uOl$To7R;Z3wyhXJ_b46Dun#z%XmP4okeGz=9ufc@)wAI^QC>xXnc9$=>DK zEkW-FiO$xNhxOO24F)MXaGmczS6XAD_KVj{N^@-D5}JH={$;^{8mTRh+*2(tR`c2j=GMe>Zs`I$Z+ptWA|Mw-}}8UXv_k@4m|Z zrg_(QQvY$$)_D(tB-7`gBnGAH^o)eZZ{LG4ZkRgYcyvn8VyxDYv>TFtj<9uxlK|ie z+`RuE!vrY=2;N2XLRFY{`mefJ!OH}=EDS^)V4MO$yxCt3s8F(xw2Rf#3!lbZt^>vv zL?jFWac)xlzrwOXVFiAX4XVFF&7fe_rrdt9G|Y?)g8rp z-K!6e#c=8)N8)^yA$o(3oX^vJGYT8TzoXA32a&+#uyN;TFRFK5C2-$YjdiJZ#_F~@ zK7Oq#W`dCbOa*}J^q+6242+xW#<0G<`bM1G6OLn)eBL%}y8#>pUOFQ|YA|TjYaS|p zUWg9%g}`E1i{r>71ds|yhv=yz>Wxi2eudTvR;FTG;~8q<{NOPlQ7psc;jv&O(={-N zAlxjQ4LZn1RwL7n1&5r^j)b-29)D?Tnh7NJF740$CfrkZfC3I7wpC?!fKRXk!&?C378n538{R*6shLTtO89bw5HIYLj31lxHue- z!mVJUHJYW5oRwd)ofrQ8)#D)%s&y5yoAf(VEi~ z+E}a#M@OSC5L71|I!}F?sdRR(tg%#L@(P=Ij*zYb+77~uKTSRq@Vfv#^PqLx{h!zi zIGSlaxuRSUg<}j^!&)kQGRNNFEr+UDtDDxfh@s19v=CJet1a+*37tNVt)U5rsVNsS zZPFBPWEk=QTUTF0S#nIGD#SktQa{Z5w)pE?JM zh(G_$bE))sDH`E{jIsMxv01)3cJ*g`>Bh`Qiyj`PEE1uM{;e43%s~o?Zk{}36!F43 z=K(uHuU~{6AOqG@~vJ_!IE<$u(d{S=nvPpWSR=KD{-0C}ai3*@=a!^CEJgn9~xfH~i)*tf4 zITMkxkbf3OHBus(zPOt?!`rvpO@JY@8|$C%8GJH$*j3x>E%9n$OXzOZ%*mg~2_jl* zN2uvvsLup2v@^&?fboMLo|QSlg%E9DSmhW`x2$jo>!URd#sS82Ei*pOEJR9p)O$ zX~0*&?ETOfp^Iq_2Na>pTd2$!BMRTy%F4>mv%g1$=GdpfB2=3?A?*HH-i~R4n1Wc` z|Ge=1k9YX5C#oH@ATtJqG{@5IO17vdze*kj;!udugy<7tPzslcMO0`Io80ynpZV-k zsZXUrYx73o)9&ru@yn+3S;=MkYR-SBaYw!(xT|N{7?kNW6)_l^DHuB!@yFXL|EC3j znG4ub$ey1^r=o(N-nc>VYVM%LEa1?EUalG^)U|1^O(CF?G;r%IVJ{ub zoSt7P9*aHAbMsEK}9|Gsxw$~XB5KIuWDF zgAYb4P*I-Y4viLp&hbz0eE4HYrMi0j*&}Y;EIc7(e5VP5fSmb1q@R3FZ$oRPVLFDG z5@1-}W_-w-kCU5^De>yw25#~A?eg#n3qwYZ!(1~c5Dd;&HMVm(eJnq{SM*a!^90xW z7U$&-XTQgYg#mQefEWM;2;v0*gZZ-6AzBC4#jO7jvZU_SnS>SrK0o=V97@@d9ANBLJIH0f-F1SrcxWUTi|*9?lf`MovtLUSzViVPrN8psbcz{d zmg{U6P1Xihc)5384s$JI)$UET{5$z_`mUSJ^TqBj;zvWm!>8-MmQQ`WlWFd*k&j$U z5464f=R&{{8Jn3NTd z`xVj4xahOVHf%$WLE4-wQLK*xLNs_WLAZ~8G&kIIzklS~gEO70+~r{uSV4ok$K2U*Jv5rqiVvbQ7P0ClIQ-Sx5fRN{w4Wk7)w)fbFk>qGR0*19Q%B z;^Uf-vPIvahp*Cq(i@z5@7~$EYnk7? zo2Ga!zKJ(=6O-uQt?>%6^@IJG(q`25xZ;$JmJ$N?l!=y(IU&(_w@7;QRnf|6Sz$KD zr*VF#t7Lzp;)^swG06~V0`awgcAI>4sSYd82_tn<}O z-l*Klez0-d4Lmng%@i=swf?#oa$I+*hM1%|r}R@w-yJ4D#|?qJA#;(>X-_Jfn!??t zJvu*}3r66|*7?2eh&0?qFL*!ezdR#?Q69$nrmbMkS@f1*5bFf4@9(dGtKQ&z#GqE? zoZTQ@j`3(B{d@w|l11!uSU=N_UbX_Ai8*5UB+_oC&V?ZT^bcyQr}?bs;UeqIMF&q) zz$N6QyHXSFJ;`EkZQNkx4`b~*$k&@XJhGLIw_DMdM2Iy~A9o4Go&6Mkfh`p?v} zTYI~Gwe|64X;%1+ny5U#{rd6KF{UerV$9<^mncrfqkY8W>cayTmb(l`_z0^pwXITF z&eQX;+yp(po(vykda>~jpTtA%g#RXIKwIEX#pCf<%c4=g6N(*>X)u#i>Z4yfdgF+Q z2oSWS3amj^7K9^1+GAK8CkgW5P0AWUzPZt29e6uj#c+}sVp4udDo>4732CR%jn{oH z5Hn&~V5}$XO}^WMmy=mRUdvQ)#>_S@h_hdp(Jm-L>s)G6uTWE&>^SUx68os0MR`DF z!3$E%pB}Xmaiz*n{ox=B<6v)N4TCZPZ6HJeUz^>k`c`5*bA?j5ns-ynT;~%J;hf-r z+cIN;NG5ChAHgKv2qq?$tc^(t*uBxNEByx`Z4hocz_jPR={1vVNv~jZ=fg7&!r->Y zYkZW~QV*ZO$#nRuYC9h9%r6x4`j$UiLK;I;ZJWZygbPVTCjiV))>F&GXCTwkJ#&k_k{~7e?KNy`$XD8 zre-hRzlNe~%R2ZR!LCT^*m_VUeySa;Soj*zfAHX7(dAFjXK%^<`W>Nk(g>@FW6GN9 zFSaCtE_d_VmgZ;38a`mgjw`IL8?BW%P4CDpz4&!m#lGXRV~H6iINCH}jfnuIV=B|D zVs)oA0cxOJ;MAA+0m*kKOwaROS&4>+?}WM99A;X;2|`!z-(lfsj}*MVN8K7tfu*o^ zM1vzeR*rGI)979skCM`llh~g2SD}@41}C`&ZJg)7IECE$fhN9KNx#5v zJ_>7IZVM`T4mLz+RgPeOZp8z@&s4=wl2&Z4uv!e8h5_fyu!%Q2!A zHBfVhhE%=|!1RbE4fO%UOF#e8{OVGSgWUKU71kpuqG+?q6?sP^3U+a0AMfp|FlN0{ zx?qyYwZN;T^v4~ilJPbuf^XD_nyVk=#yzh^G0zqn`i#`w|8?P!5q?fx*ZC%^&;=uL zU$d;+IX}%awM_vO>+sD%Yba++I2xq>OS||)A1@ei}9Y8QF>k>Y)9HBDRy^He};d|Wftqh7wRXj;~Gq}T7(Ux zN7*N@rjJfKI&ke@`xAE)lGp;rIK?8-P_oWsx3H^ApQ7-}r%InP)3qQWu8-<`*r9Bi zL7RGP1OUGOwBF({)4&JDEeG`$l;6k4e2_;LVT7~bgS?+__07fu{Uh4*vk$eFe2 z5jPiuYC3(eiOW<>w!bz_3cZCA-K8Q`Iar2q}Ft%WaxN=P$op0%IH9Q*^tk0WIr#Ao2T&&N){F5qN-PE)p_E|w* z9ztBveHDKC`9JgY$!3;HbO89i!R5YFGgFKV?vMODOW?Z@uFyr0H*Mj78Uos8^t<&9 z`cpmOXMy66a)1d#-A4b84ek^lLdK3VWAy{`?XJq=ye?Ai&; zNG%NV`!jtksZy#7mR(kl?%0ZFvq6{=Ys0SdRnk83(FMgRv0dM^{UKIm;f!yLxW<$F zNgy4Wc-1_U?jSnird3Lwz9lxt1nw8=2q2?FLoBIsZj7urn~^YTUs09GVM^-Iz4^X8 z4S#eeSw1g)O{W*L|Fnprep;$9)bq=LSX*5I={utbPs+KA?=*bMs~gX;BU{+g685IO zN!$K_HGlyXm1?YhE3_i9SLM67|NBvah4%c-luiMX2IIT;+w4dz%Kc7!53;Gqkrzns z33C_QmBwo7CSgU|VX58U%UHJF5}ApkVys+9edhGR3w1Zw#nRP_rXNSaN7TWu2oz5o zZ|4gff;bRHjc!~72(;?{kjHeH-umM%_zZ31F{*uVHpBA(B|?X(LnS~zTX(@Jz)$>LV2(4{7XMdXbO{Y6Vmg?E$s1##ujJ8&Ra*3VX#{d3BWSM#A)e^)lx6~Ib! z)aTX|#Obpl3p2A<33WWAFkBC7H(OQU`-lE|=vB->!I4iNQZ#Qa7Lj8;~-vzU#T==oZ&EA0dfWU`+7}#juIF*&(G0o8-b)T zzm4zVFyPs<5cX5h*WP|MkqqYo1d8f~!LIc}F}jL+ld9M6X;}@sV3Z^?rrT3XHrWU9 ze2B+*P@>GyeA*HYju&VCb>HmhJIY92o??W&;U?p1fhmWWMv{2J>#cLSi;fw!NJBqO zjG%5v`*umYNkaK|y9P_>vAkMw5jOqaxCAC^gS;eLk{thB=-eI3Ff?dRInXUKD~ZF< zYiHDXJyD1{X1<{FK}G)~sQ}VHj~-Cyxw4R?04MFwgl#=uzH^Uj(W$5&hvrL(XZpTs z`B?D{>W^<|TkbnYG%l$$B_#Eboefk!!>_C6IOrd9z4#>3?30IS-Y|n1LhDao5V0o| zzqCKn;4rvtPQgo#=lp%%0r!`K?a->3@vcj;<*^*{4yNng`GH$9O0+Z9h5ow5f)js< z92q2P>LqrA(1d^2+R?jUIsVyRpAA?)>`g8OXDPxgVudlPvx4$oTqg4=43uYmn`hw!acS}zGS6n* zE5y<`GC-sX7DSj$A>z6Z&l1uF{+G53GBV%>0m(^A+IlbUhu$%Z{ys|n!DyebumU!I zXa@cl8fQEB@YDLm`RUOdk>6XW(|w%4Euv{aV2D9fgx&~TTgx~9>-%9L%{R%`lba;9 zmhDHMmeooo)t1#>^=EZAr#@9r3T=OhmidAiwo)JVzyXcr&STP{2aFc{Bq72->1ace z*ovT`%=dsgU6B}5EQ{n@Bx#DeeD!Alq!*^9@9rqhEhWh3QEhcy2AF43{W+@r^yXWp ztbKkbrK2uj6X;E>FxP`H}5KYtbQ>m ziz*}EYi55?Ofk1A(jZfSF)5WQW}xO65il@*vXr<$?pl8DWbq@hD}kD`_4tM_xUKf`&*S`w1-)+*XhtCor7Dmxiu$?!j?7yKP8x&AYzcihb|lo2@NDG;w#2d^*_zJsVU&hFq%ZUUX_LD^IIRD zUDK-WSFuN(AL#9p5U5dRZEVM7B8%^LYI7FtSZ#hKGxIE!sEs}Sqfw=hs3YF^(tl!r zP}`)6`pccqUfy7Y5>9t>Xj)|~4UG5XE#m+%x=1L-bTCU6ie+n4rI2m9d{UVZG{w%d$V*q9o2_d5!I;XUNR!CRT=)CS&nOc^1JF8 zSFBM{3eHEUwgS>3G|IqoN8p8DB%GZ$IBuDp>(D0Ej!lK@6~~ zNuolxZ)28%aN|3txV57mgA4Aavqes@D*jEsJWk)fINcODUY(saWE`xSI`v11s~icD zApdM0Zcp_4l0DtN`7|K?C^TIJym8Q5{kPm0z3din%iUQht4F`bnm{eH_j~!K-JRlR zCX$FYj&*Ea2x38RapIqQM}daep(g}(ktUcs0*WxGWk3%%3k*9xfpeoRXr=zMlWwF+ z?7~X{h!9#kgRY)vA_md@pPemD_DT0^L+vJ;bnUo&#fEo3r=(~NXHCa0)viY2YdsOC zm=#2}A3qcw{{8z73^)j0)A+-cTeagYmrp-MhdxtN+Q~d>@-?IKE-!giwYUGR!Ik3| zXORkP+((DUU(5HEHjSw8^%-yAqf#@a`hMZ0sFSMItQ@yoELx@`7$=^3#0IrpD}0 zINNS5d-S}K7O^FDORJUK@H$psjoIEFt=BL&DfYqLF%nTi9LGmrug%Vvu z&iGQqJvYr9h=9vio#vnha5o$Bmx*K2R5j2mfJ6X*%_}72G7+9P)RS@x?mciZ0MA3I zxVA7bJ_&~anw0suZ*LxMs|2+oK-mQ2Fvw5D$~B!a@o)%3y5QgUYx)72vO5dV;X^4R zmZ-rM2NzZTJxzgX4@oxdki_ken8M$_GB2}fnZ~5y9=O?l$2ZGS|)Hl44pzwmIC(Nf6v zhxi^g^CT|l(DrdK$aXk9tq_$Sp^4{$|4Ci@nQO6~#=kaboCdb|FHO-rH9HkEVm#4{ z6DtnFk#>*h(^y-dr$4}l!654286nH0(i~EQ7Kc&w!L^Ze<4lpH4Lf#~Q@u;PNQ)#& zfz(R&AphF|XZa`P5ql4vr^f7**3ESJ$083Ba9W*hh|3K58Wb?DmzWF7+OZqhUc*_p z7V!3to6%AbQo^rUSX>YSd}S-{NB=Kz&9Qkns%5{M^;m4d_*c5K>%?@FFM z^8VB4HFod(eDrJ6B4OHI2mpZ`4MSg1lU1Lo-vD}z_6_~{v)9c5za^T50t@I{FwM0o zvm@%WG~SHrKlyuBr|@=-_4`R4_q}nkZ_0LdLuneBHzGHE!Dyi zl&{~E%Y*_Qh~d;9iK}xlJcRsJ^ePS*rRl+=%4BFM40|O5oDUk27HNpNf{FG8ynA43iFXc-LDgE+^%b! zXgnaCcgcwS)x`d{vB=a_Nz(T=Czen6rXo&6@;z}P@3yB~KOK8>YWLpm1gHrcwreO5 zJUdDonekpcjcsR+jCdEoijPg?vt~yvox5qgOw>b5Q$XfwsNM?92lUBM4T1l7h^$)@ zD(}wp6hPP`N<8h#Y_PLPoDC=Um~FJ9k0_2ArYvuF0O@JIV`G19`El>p7XJLjl$N)w zX(@hBRPU|!^HlS5de5U&V#WPD)B8yE-U!>jz__|`)m3=1)~dB;;7=t&g4rVv=c>;v zPV<_#azCaQAs5C20^#5mio0dk+fihT0sr!td8|@9v5{5b$Q$;lmJ|WzH24^jX(DYX z@pZZ%qFf9xf!QH@_l;1P0XdNxc{hakmaB}$sMlhiL$o)^A0^l)-62#7OS0wjcAwQ0 zm0C#NB_I4DLXV4pltAZp5EjH>3vd3*@h$&%h9wmC%<_Nyd8%o5G@g zlAPgW*V_WxJ6glPR?TV$n`;d)tfrFGS?ZaKNncI=E1>lTgdPnEdxIjYFFH60 z1_!Gfu-Xf!l~q?Sk=(?wNVF1}_fU&cu@Y1;p|gif@~K@o_`v6L@ZE`Pf=!nbibD#U1>s+CCUFdTElM32KL4s5Dc$-v*BSm*jC1$ID0SE&_@CmOtmY zDkq`Sn|zzY=osAB+n%n9?q;aD;=J*eitDe^*&;W`@oh4*ZW=AO3$yZ zTDQyT$l&a+!uxq_QR1^Kp+!{xfGG&MA+2_tCF~YEY@~%vQ-^->o^Be@iX!UsWKmjh zy`6z^Mu}uuu&n=tK?5>`;I@K?j<#Yht^`aEq3x3exI1}v-f1-x3|}ATnB5|IgAT6= z?hv@r_P|8uWE*gc#|0ta%@FO(6v}zmE(Q0SZ%n=yMKgJWp7&7T$fGEpu{SKW1eT*! zJK8Bn>JndCNj0VQZYEcLB2QT|V0h3|g$VT~{}itx-^H?b!%hd*zGj{DHjmOWwG#M;mP**^E$vZXI8XKTKJ+NM)K)BOKj0FZ`X9HKD% z`8Q=Q@|aewh;t(y4HVwz^$6LQW7p~k*-7&t@{6}yQjbJFoBvp;nO%Js-aWSRZF;lf zlRKBHB!h@sOurYsX{VTevvjF#!vy!yE6t+9j1=5MXCu;0hSE9lvbiw(+%S*5_bgOP zV$W`g@}Oj^v&}&c9K3Ak(O!2fzzzZ!qNm@RF797$?_6&mVOm0Sbpui3*975Pupi8g zk!*z&PdrtPKu?M6)R6NiHg&VOgh1c^#%^_do~zO z^)h*=b4(FLp*WBz>GtQ&JY%y=5vv*kSV%~R2{5UO)WYD#ID&})gqTRU#98MZ%;Zx) zsG~5!7XbWTkv0J9&>FyH4EQe!(vcp(2xxWy)q|4nqBzQ5Q67U*7~e)I5mjh1^!sl2 zZ~*BcQwt0EvlKsWKyag=BEu0x9^rZHL*}`LWO%M!YNy`rZ#*p+{b0W$)D$lJS$4yZ z4*NsXMfb;}kmfcp2C&uTYM@vxOMb@wS)1vdxCrRPc`0iuKP&G4k^Flj3OeH7X(e0h z^4SlTBDR=5wR)(pl}Fq=!`Lb4AZ!>qrCC9l?9J=_#-yQS_2kRZK^}R*YXMBAh@DJ4mQ;b|vmODC4F^ zCK>MAQ)z;}!knF)m|;!*vCh+^+xV9Mq&O7h^`BAw0bt$M+)Nnktd ztR5?S@x~a`DL+swa~1;(u%ctad<$7|#^}fFbJUw*(_Yrp6yx0>iT2}bfd6g?J*O}> z@;sbh1g<;SeIcl&*y z-~D~0(m^&P@j0#0CI?cU@d4qTt_E>Tt#vNWK#f(>bie=MBP)| z`uRz4GWok%xBXDnSlQ7Q`A+t0X}A6EqI$)o2+Kh)c59e6xCMg(XF)!t>-G0OkkO%< zRYZq9tIn;bR{~J`_iVH>Ht}AZ!Q(T045BAGKp~Xe^7*3sdNc(`>?je<+r^1)Fd4e>=m+9(Vo)@XQOf}L$3UYR<*Cj74MA2`)Q~d#1k_uQs7-~Zal8R_=SDlMUY zk7nBby^jU|&V=Z*fQoDi6cUs1gp#KiR&Lzke*{w>8vZp8%LZ#?Gf2n| znz6rt=Z^u{$=!f2I1xw)28@EK9C7#O9L&~01kE> zh-lE`fNv)`Qf?SbqrJIWsc>C5Pw-iK#5M%C ziC}M#4~sVeJ;^kI2zw95rYD&8obYIH*UM>j+(y&r&Mnon?`>G_PvAL(fDwfkveJqxAmi8d%R?hj0N%Fa& z$^t|xM#+{TZd7P-%&}BV^0(%^jI2K%e~38M8b+Y(0{#LI1Vn-$1qLFG$|)yO=ebh* z$9+iCpe1XuhTe*f-6Lc=4+vSge1=_0WudBFD9xUfC`a2xA-W{)3uWexU~Q`f{TFLoiNZf#OfWM+T*Sz7X&v( z;eY##C>UHx$j@J&2`lNAKPy>X8hk1Jgubl$lP2*?`Z3Igx0DK|D1;aIae8uknug2BnU?&_wishBP&I8O zr2G{B#*h}Z_M0b-KgDiXsN`$HDiho!TxM)=@p)yefmsSbV$-b0*7AMp35+>eO(cxs z+p$o7zg@FINc+u4{#7)#aUSpVJ3BZ*Hzg%K$Y)lHV*0u0o8esz66hy=BDp4So}`BH zVM4fj_GR?=Jz|$TIzRO<#Bhm+&-&Cb#5hl1jM4D=Fc%XkY19$cm|Z-UD4{ed@lyMx z)zv7Bj{ORuQ`~g)Yj~FwA>hgqK}I{|JXb+`JL8|w@l5}tEz%{A^ryJ(H#oud4F)vs zG0L7fA4-Mq;4if5{a~jMkY*4F|L}4oR!5)Pw^sLm|F{4-Y{52v7l|oDr76rdTL%zT7BpoivgIZET*kg{nA)<>5$PqDIzb z$%%=jiNRqiabWAUdgw%QpY!rm0aM?P;q(IZ^LK&23WzyY^Zhz5{4S@)#zxjEwAAdf z&c$DRAt|;s=wPDwez;hkiM?KI-g5U2p3~kfcS%JrY6JD40GI|heiQFI?IsPJuv0#p z%w~MX7=fB(=i|rd@IG5-?ENw(Ze_^TK&>!cj1j+_ci0O$+I{S>JV?!1xz{}<$D>7O zJQN|RoOgk2?G;cE4g-%sl~lM2hZ@!q5Xb;XP@vVk6Kph*HGQn{_+IHA6sVE zI(v&Jj~rmU#5bY4JhDj&Ss=(x(`M?TL~fO!k=gOv@p+7G-kJ&6B-|O`762C$$mi-= z-u0Nn-3O11Ea(q*p2;=?fC)*oK*98wk-*4+j4RlCf$C)eDa~Is-Oq;26-ma6V8zK2 zw#W=z^Uuuw@z!)@dn_YNoxa$ga%8_mymh=@HPo_wg?rL?!l}6uTY#}sj@n4{YQK+& zzGfaxiE8%q=m=Y2Sl+y~-9KQ{GCT)51|2avv0E|8=3JeXL&BhVK>j-WT@!hZ64&6 zotz?YxK!o733e4-JM`=}bc`xW$sJhS*qs`40F9n2Y7Q-0u-W^=gtPBX6S6@@;Acmfi-HGJqM7ntc!V6OnVrs9?@Bpq~ zhX(!v`hyx*M-OpBzSe|H*)0jLkdYu_po&pA~;V}B-DuMiAH|F<#xD9PiNuxJs2$7N?j;m?3r z_{vdJ-4n&Q{)V-~iNc#ezvY$+Vc-4?ala|bq-$Pz<~j4XBmq!2j+W6UN;mCS9HGr2gdE1@rLD&aZGdy6XKTQB*oqxWEc(Br&QIKYiy z-P6{{i(bO--Rl%q&AnCYQ8PckX%uS}@r>83tU%sQSrnp+8TfHDvcXOlgVg@OT9B?u z+z*l#7!tbbdG+n(InMLql5TT4XRRN31K-f06v8&SOX-8~sRe-sX;kA~tm6}1I(T2* z)dyw3^8;N^|3BTs^WhhV#%A6_%?e6qyVH*5`d&=kP!gh}qYXvLj*+=?z(53-3ZyJe zCPpU-*bM)3s_R(VHx)nlFM{+3eAY;0fIaCsdKo+f^~mj0`XKmAPVL1XGURZSs1aj6 z4>hZN$E{KtT=eJB4^;nnndqY74_DnsG9J$zV#zZ76yLAAc3HSAFB1ASRVKS+o^yT~ zeVNr1-d)+WRzEiGb@62;H&3Og?%zfMhV8H6V%xZm%C)*Y@-RkebnR1dIn__Tnj#vZ z+F52^pLr9oob9Z0EQi(ms#_Mz&aa`Q)JuHp^9}db-@WxdtF4&Lo&9x zEA6RqA~6#YA;wranV{HEDK{>3-nj7ueGbO+n9I@kR`BY4s2`c5kRQn$?o z+x>;UAsEiU@)A+5hYvPG0MLg10e2&;*wyhkkJ92|$e)n7Nmvb+Kik8DQ^AvQD3k!i zf}99Teb<6qLe|&|JHej_6AeqYeZd(xi>w8A>C44}i~~j%XVgfzen!0v89kjK_uGFR zX_6Y!E-QdD3s7C0LWb|9yFuVJ_P@l7ekAOL9)SquXjpGm>-`%%q=RQ5s5 z&as5;U*&*)WIapH9nUtaFBm4|)&}b@#c$>eUREDyZoKGdsp1j*h?sf@{EQTan1a+@ zHj7(C7c1ZUYw6A_1`7X{F3_V&`;Oh*(ml?<`VMAHIc7Qc%;YK$^*7cYEWD1{nc&lm zjT^IJK$$a~!&Zf6Y8^+zvhL-=J^<4g^yx3N1P( z6}LN#T;Dx*n7}YG0}u}pwIU#7BH2*j0uMY7WBqV97~0-eEwXZWOV}*6lr!<@2Vr_9 z$EA-YbTPvrgfy0rwzf8^qOSkU=Li9&1>6pXeMB!anrguauoZ*=x4k8ov)erW9U2>8 zoGiN3Qf=7sry`l^5OQIKZkp-je||Fif#+$S5A`?4<#+opE?#?P~oWLXm#5X|Sw%IVVdn=~457~#WL;;(%!fWZ%EPRCfkln5ejMP?N8=i?C6rh zdzKxxsZQXw6b7sv@JibkC$>bMiJ&euDCgmhU9qZAu_ z?B@eB03=)OBS|b2u>Sk^61qh4BRa$dg6hKjpj{C~yFSbMM}<@%WknwStGSErkKEd@ zo&|dL%O{aPD_4!#gnEty-yu=UOJ?}O$KKxlIhUq`6qv=pL$&iEJ^MnRDbA@t{9IN9 z?q1+{sH%Iz{B(77^@KZmEKw)7>I1{sD|-Gr?H?h07&u8lXv=|*TAU`*DDy?@sc0q* zk$A=F#}OOkng?k`rW|B_3vf*s{E;##&{?9~{-5^@k{E>aBY`>o@sMULQiCf_%lI{z z4~5YFB7)oI4ugbRI#2ot`!AORjLe(AY@V=McjhH}XA$6F-xbj~5VW{k-n#Q)DO3rA zg5zNk>H-?ggb;z+VAY6adIT0}NW97JBIpvf9xIelygb5Y(6G@dB9di_$OkVt7F|@b%!4Of>N>ZZC`TQUTps_wJ1+PHx*ABKN7Ip6@f>V6&+-7(mGz zMet`lHo`Un=h=&$rWhXoy-1K$8GXvCq&HrqyI={T6`mfIml;gsJV+2TPR1g{L`!jm z#WL7%0j&p)Uadq>ST`IL3+`?MP%A(;hNRfIe}||b_)R}rNb@zA>%-Ix+Z4zNKcRKn z8&agNB~Avu(DC_XwPV1Ss{`fiLCF*6VO1;9Q~k7MpW9$TbZW8@IMfuC!yAGc>Cp=EqZAwi5ywoh5!;(5h$&~bqK>mC{9)Nof z@&U`QiOqN3XO?7rEUGYZ6JKJc+eVKicU=gv=#@$5uQIrj0gM*yfLYl^`0<`#2r6fnqcKDl+81v<5Zm7c=}Xl4=4ux8%5xo0E9?} zpdHgxjg8+}o@EYXn%Zxke;1+feu3vjv(aI`nIApzyI z*-Mtj^WUX)T1%gNpYp1{$!3w5+D!j2?DPaMM*&~8CKGZIoS^#VBYY;^t~Vd%+UxI4 zf@AaJf}5Yst?kcO>*g?n8s+itA9&KNIDyR#l6x&2^Sc>#Sg?%0g&>LS3rl;^0EH$x zCdS#_T?ow~x?_PVU(b@oL_+kW=BCzTBw_910eB{D1kU_*mok0F5fkYEz6r39hHnVc z$ARx51j|ux2BaTkw$;D-Q_!RNI)z)Hbn{@0t4%j+V_p5c-g_(lOTC$81JXb+A%j>W zFH&0g5O$my85#dNW|EFNU*1|NJ@L!P^s9+TtkkPwR;94$jE)-*+NYpI`Aeyk-rOmL zP0YM=hIcG?Y1*vtcO07p9f$1aW7H98W_^Ax4RrYk66LtI37@8h0k;*i-CH_i>61Nf z33A<9&8E-mb|h3Yir0&l<~AoPknw?{f}f_&d?jIV2F(Ky(Gw($SvZZ1jTMB_?onuY zzYvKI0j?;>Rlqs|{@Oe!hpFc4*I-E7s3EeygIW&_eSSVtzim!M{{!z>Yh~VZeD%|x zd-j7?)ZMKbvG&u%gQlDA|EYciMp1003v>~oN7jNb#8DCVMbK)VRPBd_ZgDN&Qd8p-}&H3`rN0%XLR092rmXkV#yeT;^z+8gA8$1%RM239}VMl@rj;2 z&5QrNKugCMhfbQ^&7_7f9~AY)2TNztnfQN{t2nGtUV3ex zUH;1F!@!E1SjKkR{rB`!1zxxAojjkpWNA?FZn)YNG#0(fwFR!$!j3aP9Q_Yye9wAJ zgeYv;jX)SqM;9;@*+KLFT!2ewPEO9lz72pQeJ}SqYCQLtXgm1c6i~6at_|OTX0;-~ z51A6B%F|%s$=J4N(S(?54aGz9^e#MgOUG`!dB7_m5CZ>8n)wR#>GerdjQe+j4rhEl z62fqhm+baA`jeLH*?rlc@jEfP+)rr|bjgL6&P>t*-||&KruVwK=%W(jh6o5#L~dk_ zOK;Ae^?TsIV-8x7vEoQzLOV%3g=%MV`S+&hT7F7dO^x+3O2hMSB%A~F&WqJD7X_F7 z$$2NU|E^~DTJd-Q^+%P?n(Axp68J+vy!;QTO$B%L8&L{Gh*zAh9v)+h<=F*f8##;x z#-%hdIKj^l_|l96w+Up|k4n!Ny^M-=<`2$#&wp3f#Vr~yo?P_3w-VW0>Pdn0XXo`_ zck3_rd%zNFS>n-fMd+0$yrWKgf918ddwcPb^Uxtx=#+)zgyUJQWY3bTcO(9L$Ew)B zW;?ZAv?2YEM3aRAjZ%I(kNQ*+B#y4&Nl9UfMB6YiiS=6K!hL?`+qg4x3f_!x_xVZ^ zbvP48DfGR{FM}5k|8-&Gq&DImxuhoio=E|`X*IhY;=WnLz zyuH`;b()Oc-%9J#;(TwF0@Dp>vqhrKkMZ;y@p&q0yKEVi@suvpf+<~dIw#ekM|buh zzzl&!n4j|fJJv1y->@PVsY2h&1XE8AcztLPS`-kodhY zu^a(^^dxMcO^F?BDLM{QY|oCyOgd;B>-jYGn;Tv-3{XR{fs%H)8!ja%Yyo=}PjNbA zHvQ>vN~6V0itC)B)Oj40V_0l=Szf?Jb%4ME#DKumHyNo(oaJ zPB6x3#h^Q#aoV`MQy`N(ioddX!B!$H;A$*DqD)Gj=>{^LI%MK|a0|op=g)VG9sP=U zm{m&Df<=)D;h?Y1kn{(c8-Om52}XS#KP#rK?XA4G12mNtzD}3g#zn86`+~dACcobs zFJ6LX!=}EqlJCJbhwqFtZNi}hB|cM}(j17%Yn&G_9j5C-ffqF~q3^r#batHvulD*H z_V!qgjb|*a^Sn%PuWNHcFE3VeW00}fQ?3K^ODQIF*xX+m0KiAOhd|kZEo)?IYHH&O zQt@%*C$xE)AFWlWy^CDpV&OM89o%n%|6n4>va?R40Jt1bGhQs?to^)c@<5RKmU1bR zb?@$ck#6bnR%P?Gub!ddkBJJas1-dEs@aQ~6S^0q>uhP8%sXl?;xfPaokYU+5v7Li zMaVfT(Jwe|a2r+6c;nsVF&0D(fHg5QiHsmMQpk#|Qm!lgjI@Ng2F0iduv>Lry9AL! z7&umXieHFIda`9n`cbP%T?uA-EmM)2+{6ui*g)^Qi!$T2atkiN1naV~4KqtijEag1 z&%bY2ch3d_W_~Q!9fkU_{Mlqluf>^L7&cppabKeIsJCBadDXpBu+`!`?oLl3v%F)o ztD3Al7!0wK1D^&uAWvzCW7{FI*^QS_9}*n%p*1w*rV0EE zX{2JcS?a4vsKS#EW;(B67NY9O>UC~zNHz1^|47B9XVa5-`Ot^kx^vem(k}vlu@mp68 z7?V`s3nlQ)e8CucOQ;faFnn3?+kE+9kop0&#|lDW>SwOfrX6M*qu`{WR~qzrF7Y+p zl#p1>=)Ojp^+%dqGF_j>{G){UCMA=n%3{;@5cM@G=Kwg%&5th%4LqA17k@8^OK zsv$S*5A{0|25P-zCfYO2KX>#9`7d-**@f8U_D!n9XEs&2${atb?z5*)u=xIAvRJB0 zk|_S};iWrmM=$GL;h{8Xj*2QF+fcv3#xETv{kQhj`kjsF|1Eno%gCXRedwKM4q~W{ zz9Z86Z|VICRlgOb4%1jvpESe9w;r>@EsPC{*d0ZzeyP02E@2s?*`B7vlZv-OE0a)^aQAvu#qcmx~{7Y zVo6fD73;&?a5${`E-OoF@E9IlIB2j-Nxe$8Y7+WmhRgkoRbU}OkOZWS%_PiB|*5=4ij0I?_?? zPgkzB?t2Nv$P8mevay*=#M?>#6?cum7-}P@f(u@Akry%fwW6v-c+@Ta2gs zuYw5*C+w)_$NJ8@T$rV%$>_K~eZM=GCo`AABHUt9iZji9HkEz#`{Nho(DwmEFLJf3 zEWR&Il^vPC`zy@lLK9KsHog9)w1iyEOCtiX!)w)8M%Fxm|OZ9oB$lAJLjdyQ_Ne%}XxV zSmoHCQ3|Qy@0p46t1*`Zso3Ra1W?4~%)7qB0IXB=8|&@r-tgtpJFRUq?Bp+{Iz{u) zq5{N+FclBQe#^({PCVY;Btb{SZCDeCca!@t^io|1H@ppNk)iwE6q<+*z${Y#&Ib0* zH%ika9L>yfh(OWxM^=zJbZkQ&e&{fUE}G>J2NzeT;5@@Rvb?lpiD+ic@(q5-f(CEZ zi^@M9TRUtU*O08qUx-^bz0KF`{P2P~w6QIaR{WD|Ep2jgveQyGx$EkIn0|*d2vXm` zRoUC$|DKlu(N3`0n<`M_zV+T&c_mD*Scjnb24OgXY)7cr{rizWf65y+`9osdZ)|fn zR!86-{eA)La6jB&8lJVWPltB8B%B?)b(Q z>m*l_3V?C#E}vZW@zI2)0tu^E4y_E#hV0!YX|NR#C!Ci24*IxG!P}3 zC7+s^wR30Hh7pA{Exz4fGka{d$KRO_QpVuIy?q;4fu!qoWo3bITP7uu149(n;-KSY zPUvcUs#ari5P-{R=YFEc zU;FkOH2w&0`V^OS&wj;UyCL&o=+W|AEFHek#K@?_B(u33PJd&(VVqB@%3^}BXU%81`&~N2ftQC$+5&SVe znqhzCJPOH}aUH-0;Jr!YFxag<~rA*WH zUL)f4*y#A59%d@jskRYK$~hvVwrPYN5aTBIA%z!Vi@z0jvCHrQe{{?J z{ztP17{QT@U{-^CSiKHDrq(~KYoq)IBQcB#6uhCqFdqYJ2%gueM!)ZB^B?YeOJ*tZ zr*8Iq;%E?o=Vtw=PT%mMpbmEmaIB+FIY}NOQ0_8&+WnRn;$X zNO+W*5MWD0C#se|_(FB}#eon^e9Loeiys*}-BqP!`l*WNx>oKWK923P`A~8BeN{`Z zcHz9csM;)tN>)`SSlgcefoqawva`vuCc;4xsw(J_3$+Rm%~PYv11mr+vG2cvcQsw? zCGN^Vmas9c=9|HnD)Nu2;s!=WqB9u{)@+5+SZF_jH!)m&dYr8rM}NyZ=t34mPM3HB z-oS;P9@I{~%>`qK=L=YLRy@WHl{M*%vO8f$U`geQv$og>6Mb_Yi?B5Leay8K0-~~Tmx^df9DK+sRQQUM~>g@Jx z+(HkpNiZ$qEo(yJByK3`hoMikmRh4~MEb`bpxa)oLvfO(A32DaX@aftnXi8tRyf5& zI{CWUt<0)mw|6Jgghg$GpJZ7l+pX53S~i}+hA4_i>T;0t8Fw_a{_tiaDZc*xGuT{) zB0vXL6W>F3n5qc^N*5?gj2-_8B?D5`+uMumxl1#qlz_0>pCuK8lmYqI2UvNpFr+;LUs)943gX<1um8ts01Ub%J3k7XAUZAl+0a9Jh3%p-q^ zU@;GXU}afz2v}x{D`W2f^aJ=2i!qc>0)L_AO!_7qJP2lW$PTTtP>SCfM}M*wRx;V) zvE;EI`v**7U=ymLa6cm&M|H&c;ODcwz%r%;h>b6vRFeec1~4}G(Y})Cy}i56r02Lv-eeD1QwA!8 zb$x9j`NZfv@MmU5;eSF>a1nl-E)uko6+nj^0$oi?vW!c^Rq}_0b==f;+{7?>QxnH$ z%;*^6ziAfztGY4vg;4&lr){V~Rb*2>zo<>t%cdjoL|gT$mcEcsOa36qgp@z8GnI#J zoyPTff^N|e_?U!j?n?+a%l5Fj48$!w_sR52N%q+`auAgsSF3HWM76U`@gG%avykjp zjgAsG&yRaD%Hb+=E9}z0i7&8IpaQIi{l=mK_I*s7O7Zaub&6P|h-L0fn4FbN5n)pk zCk~wzot7Mm+}W}CRPGzzC3|E%;MH9#U-lq4jX9Ig#X)^+kye6G!|TUdnRGkDu+Eqn zGX`zgd%*uF@o6-^8Rn9nps~*bY z4+XJZ#@%c6eK2uK7ksVI6l+*2kBpNUr3y$;4mlM3n`UYCzSXHLJu(ne+7ElB!A2d0 zznsgu|25iSlkluB$N?hIriJa$t7i&2{#*i}I{MJdt&cW-$5;98^Iwd_7=IlFM zIm3S$1o{&c9qP@4wf%YijUGe>Bq)+xntBPLXc#yidc2SCvY7pMF4`YZrPlG{z+2hi z2atY=3^BTXMA@YrQpc(^Omd;|58z29RCjcWcASYS>5U@Ze&db%G)S7wX#G)jGu@mou*GJBhL&IXPPa8WHTGrRuOAKp+;bMgf zH214e%M)A z8WM7EQ%bpmA|XLo*DvE!ap|v)O-HU@_=~`{30=YRN+<@Crc1(T=bzB^hVxK%SSD-R za^4|gxE}LdVsG5o-YITrd@))^@U4`=(5O$2eI_6MV2v)vq&RWM8s3{sLvNnSB>C*1 z3!V!Wxy{21>Rnp0QK{AYG;3ZQma5&+ByLqGrM?|in5UTm@0d7lT(=G8S#RV%Uf}+r zn8e)N!kd8HdK#CW=of(o5KJ$-ewLS&nL3E?p7}z30;!mY&oL()Z2K=P&5}HLp{QV< z$0sZt9vT`d*+YdO{V1zzXBu$(@4ZTJ-UY!7_OG^OsTQiV-4h%75u3ppaqmI#3~lva zTlr3Mfg#4&-$r*Mq>Q8jE_^S9y#dKcuzF5Ad@#YqJ>s6dCTINA(=zQSh-YIS<)=l_ zxkRzHhI)J}0l5y#i7Rc#4-3?j5{KV{N=l;vXcvq$O<-!V2S@;txQLCas;c@Q!gDyH zX71%hg~Wu!GNQW(e%T4Zy-rX%W?PaCVMpyWL4KxRIS8bc0_E6Sr2|@pa6{eRq|A_L zQ=T?b7~dJlXJBX=qtNOrGTV>~#xr&d7*;Z9%qRZ@fHhCDaj6wa9f=cmsH_5Z#a&$d zd9w_+t^DxtZTbr(jEs8ATbgf{JY4#}hgQ_!R8|@k4^)KC=+WMuxny!&jkixe2swEA z)HDByelVkp_-VDF?!H&GbCSwi`^HYIPQ|soQ;b4+6xn`tFbb#@qslN5n=WD^q=lZMFzcouH)Hulj`dj4#n;(?c{l(rb91L ze6s2|$=r57we9>id@G@5*_8ZQdMp2E)jDH|vBR_F(Z^{ksdoR$u{s=Y*xY$;V7XsS zrn&YLT-gcMIZHkAZg%|r`^*GY1h))8T|GTL-d5~Tc)n4>Ht_V!xf<*ZhFA3&+@7t#>ES1X4jbIx(`Zx{ zeb6HhQ996E#_Kj=g9+|N*0LI~Gk=^Z{>CcHkAkP^lD|LWzSXn8h3WUB&7b|{NQ$t* z3Y81{F=Qb7GtIudw$e3#>7UJfg2M)o7{7(6h@fDwoAB!f9VVNaoXKSl(pU`IbA^zZ zAy^7OdEtCgef@G81J2p}kvGw+aU~~9;@F=9pYR19%I_RC zH+1VHStOR?;=9U_lQAM6I_^3I#x#25a>DmvkVwl*v=RZQQZD5G?%c_%GbR2 zRKbC5T(IXO0$iWU>+6vYT2zdBxVzB{;4cX_5T?(ce;l~=#*Cfyae6aMAiy+foiDq= zmihqNO+wf>AlRVY8?q+r>FGfdPs8c`tzxw) zdK;maq=0?hY<7EDU11>qTcAKu5fQe_)#VJ61s3vlxnMC)yvIaw+;=r9k-R*-XhRU` zSEJj6RX(i>>P9rQP;R&UuwN|J$$l4_ZvXA>rxsJ<9ChpzZlhM@(f~=S311NLTu!wD zEE$O~&uy6e6Qc{bbT+JW!|~Xe0Wjnz*jn7c4F$H$Lr&X5ZCM6l-s(?-K632$`O)fn zAGIE9ObjVsA}CW90a}Fi89rBYc@|S(w)Tm1oxZTqPYM2{-I)J%15>*eCw`Hu$DF=W zK2(@rU4vOfnr_KO6xh8mr!P$F7HZG!c@n>Q0Lki)WaVch8A%P7T}07QQ4(S`miHJs z*)ARt#Tz@$PR7oJXiCQihHguB7?_NWK~QedZ+vN(aEW6&`Ut2FMF!_t>KxLT?woxN z!n*ryeeah~Annb`#_X{u!%1qkI9I~elTWcKuhUO_jkf`J@KvnV-!}*mKxeAq0r8Ei zEv$W7VY$a`()bpLBcY)fzQ+|=KVczQURM`^Y)W7t_A5E~8pD}|V3rXsjJ1xHHNNu{ z{5;^X0B95b5$vV^&gsu+Bs^-l6*|=)<=nM3?Hrip+<)2DiIp2HnLBEZ#<0Vx+`OZa z?Hq(Rc_#SSt8G;y-6j+GGyB{=JmQckcA&1I<9vGE`NHriIc6VK@uvEl{1ns^ z^b$xdwcg*h?%89YgXNTAgEu)6Y{^$m8FZ-L+pHLPW@CeM4&B$a%k-kfLoZD`{Q(8bvX1e4znG2(^29@U}G>#Pj9(LS>bU_Tn0Ee^cyDOPpOi? z;umE~Yi8|b>txm9<=my&MW9ch8a(0MFWAWV5#i}RiwTQ2vf>adUdp^bHm23cXd{2V zW$O8AS4;ZMN!efZTBWBQMSBUQYJbFboGB--(&Dc`;-r%DGuCHdi` zRaU84c=kgK=h9iCYvYaRH538(v7knKrZ~VH`ael(q4wvP6c+-OQu=AS;LrHQzisc5 zyfO9nr-QojqnD_Az=`Z|lC6n$gzwhK)op^B$wf5NLt6gaU%5RyN6``@bd*uK>2Kv0 z0x3?kCK6hyF(v^EgB#lnzCA3Emy=QI3=f_s7`}-7dHnxe0Pb+4Q=UCCl-ybn+-S<6 zy_U@}MK{9jf`0-6cs&CHS#dhy?J3|E#3`Y3aBv{^-@u-Z%I@M#lFdPMI1}nUW42LE zA@gN(dZC&a6~>s5MKS+OPfDSD82|RJ>Y0TZZpSvX@Np28R}%C+dpo1Qjpcs)1DGwZNm(DyEp{a=i|rworaxO6ri6q=g}xHlHT5q)R-;?1WI(~d z5ufms!N}}}B^sz!TY7unrV`PrJ`Gmi+TMCzoSYp@z>t{LV-Z?4NOM)fEUfEAP*Q`F zIPFl)bNO04u{oS@Vh}+%`ME(vkkTA27n_%lo^bNVJ$UjScCJrN(ZZbqG)5g=U1US7 z&Hh_B*`=h6km@5lSHfX4Y9Lgrig3u*0yF?nm2?T8QA0-_OH7H6iWr?z>w<+IKSTTj zs1I#2Iod|s${N)og&npiExu4yPhs(Sd}Itz`|hBe@HQpw8k5$?NqqmX%-&_#UVxU+ z9JbD2$_$HfY&0_e)%EY-qGT-?@sP!wBy69({p{>al7|p?v);iS(!t*MG^M3b2++RxdtOwtY`l7pO+W#z(j&Y1@;1DWP&5qM;NMSuB3` zmSB?-Two|{@K~jC!-KS$1+(&k@4Pv1B<>WrJAj4a?tprWT>Gr?vOnyX?Et2J=Ji`f z!eP}w?gjK4c^DH>SiUEa2Gk50A-1r&6u;Q4c$b>WH-m;Qffj^-;0omz-A_}nOI&!& zqRE$0;&E`U{H1`NSX-5>65H>UlcaKnFSiru7b;E>3DL8(H3^x<9MqgS)iehW%C3OH zzj!a6xkEMPgg3CyKI(>Ne1zB;D+&dw5R^11Tfpu3UydT=Y)r+rG^CGhIA^Z9tH{4Q zc;HRBnr0xvDjMF&Q@dR=rZhkq4Eeg$FiSkA+vjvy!0G75G_1iH;8bIw`W=RWvwOoS zA*;67R^oX0yuFsEEkNmVG8vyjntqk7ba#Q8N`80wen{*5>b$aggfY{@QQ9bli&Mo? z;N-yG!A4d`zwvmH;WTFrm|86Q-VDUeQ8dEm5JkS^0(%AI*OChs{%s-^pe&h-eKhwT z6kMMX!f6&!5~9L&!mpU4)!FsZvmQPspm}FTQDWxS6xXf6xf8Nprtf%H2@WBEdE$FN zNRgW42IC#qRG_jUe-A@1TrsG2#X2D!3vkOIdmM1O1?K---mVpxf#34pO&HKvGmUQs zu+1EUSwxeK4E$MOJBW?YxuegXXn^>3*Css2Y+*%6vTcS2<1Lk?xoi} z@d(>N1VhS#2$(tfDN{|a|BlcH^)y%q0zC-;A!ygiXGnVw&wOEj0&rQoPvnxO7kiS* z$71+6k?DxtOJ8e0mxKKO^6bEg7Hi1*m!}-`FaV&yd4t(TF)2KB_Gm~ ztx>ZoR%&$eaur*`7yH$at+})F4dB{u`hC-^@I_@uceJ#o%SuUho6EczTov2noY;h= zUpzIMjsJ4Ke$HxNMWfaqn-*E>kWC28SS3c^!ywoNwsj*!IKEvLw&;G;QDOI%!EG${ zQZ1botPm0%YL{&*sUHLC30o&XS-}Jy4Rahph~r?L-ByKpRxLisTsq-#>smIxTBMwC zQg3Y#R~V7D5j&U3sfPNtio*d%& zlf9?-$BKf@Qs`)y>SG}I#eet*9qowbVf5M%t4%|JWy%>Z1qFrE)%i=bKqXt%N`rg4 z=BT{Eda%=kYfM?D=r=pK4$O%}*W!X>aca{`{wipQ5*CX`)+p!D18YAE!8(~^Yn+>F z@w>kM;S{}vDBX{W+z%QXqdFSZ9vy2vYy*GDj@x!UNvN?*6ID=?#MtYAJ;2u0ERmBL z(Bs0kNODM{;8H;!T3WRt*!fqeF{Jfr-cq8ge4Xzkg0vXDTf~oD95^r_jjJ{6f91e? zgCmJCnB?-UF&etm|5g@z$CHkbLO54gkO?a0*1vy0pgexxw;Z(hvGqZuD=(#BHz8?Y zH!T%iOu>#os-8Cc2a?5DVW-Xw$J=qQHGIKAYELZtzGMT9XDD})_x1nL^c6r+uixKG zNJ*EJbV#Rki*yJoQX)uqE6sueDh<*|2hl>U1}-r&+RPD)V;fH}`Hif3MJ)OCo68XU`?qWF;w#)DolX7#=2P=xXciRLu#W z0q4wM){Fr9Kw{S~WtuSb4=ZnCxG%3Z!0g~KX30SKJS{U5t>zmYHOvW<#&fRs#Kiu=#70_Y{sL*TRR)2Ek}5$Jm{oi|Ai^Ziq~wsp-irYjIv_|}gW?G1h7we= zH!5(P!<7PI4Q!H%>E&P88yg)3Mm**q-0*(cSQI=-aNtryI}VVf8Lx&Q876O4ISMQW z)zKj#CgN<e?^%j&>-vFzf;J}zEQNsEhRFyNaai8n zm)(A>p-d45+tDm~Qq9=+3c6z8jDQ0IjtS@xBpJjl2^XVq+}VX#P-UTHQk=Vg6TCE1 zK6Pn7dB^KD*6n}0{8Mk$I}C{NTDHCQI1We5dB&7{Dt^Gg)%GzS z>Fd0(S@igaoje-W<`WdO0$~<<{EY#h7d&SW5xc)M5bqUn0LNI8n)WOn_TO1pT^Rz! ztVi?^bU>J3ZRuo-cADBcVxxf}L4_gmb+Sj*T3&L<>&HFHP;jwsc5Qi(H zbNy0#A?BiUSEr3NS<@2G#G;}i+_$ux++Yy^STsnA1eAT$H*UZ<4)WHR-TOtqz>EAt zPx>8>yI{@>>T%T_R$s~KrkoS*Tx6<^ z=4CzUh}OkBH2bnjM71=RN*nap$Li+x9GX{Kh6Bt>rm@$?$dZY8*u-x*qZk&>fe44x z4)_quJfk3^Qohe_uehXF^K0uU(>A}7- z+aQaVt^1FErYaaW{uSKACnIFpf)4C|Noxk5-g2kbRssT$bmx^K!mmhaQprj#y6WL< z%30_v#bDx=dTZptB$A@X&f-a^?JL|nm>_V1H?Z#nI?M8^s+XWtf>S-=b^of{#>K6NEG@q-?RHeP@8UcJ=A87QvAn`(8>oR<-jmF5KMI zpgwgjl~8neE>xg*`EH(EiL+I1SG1Ex|GaJG#3P(gI(+x<&2`~z-9Z{J){FHbL>gL9);M9E&!D8e)!iI4CLs=li)Am5m`<|gtqdzkMzx#$}H%N2!Q#Z`2ZbrFmekL%K#C_?L0^W zg)jW5=6^ykbXoFrS?5DT{pll&8M2IBR&jE+l=uX+!7WT6sRmdaLW`g@;!Mr`a)w^? zqwc$}$-Iw#TpUuCf;SPy2Q+@A$ZSE$60Gn)(Fuev9fWrR%n98x^f54nFMKc6;7qIZ zbC>;hhM^sCou6{u&Sk52R{Bx9P~o_$c;0y5x{^u4^q+Lfhw?v+z?Yfyw+6M5@vY&( zH)j<~^Dwuh8od|vuB{P$2GXu_fqFbs{u|>nsmvHnx1nXhAgdDu@diaFJk7AZNEpCY zkeERAhZ!b+@%SS6M_=Fnv}gFq;}3XjJWcM+ANa}!jb4B~6Z#s8%lVzZk-4Dx%6F!4 zwn>ZjZsIy-@lv_xkupc}x+mR69ucu56$@v=Q$=E_u_Yps)+PoPaUrEk`{4yvD&2_H zdqcnS1Vtz{`foS2sK;H~;LaVZh09rQ76HH)Xi3pl0H6fn5nFi8m8}ROQ8Bs=EZ(%a zBv1S^=C)h-Vm*T_Qg%yr4A*Du+ui^1m338Sf*KBoHAc3k{G@sq+4+-E!KMJ`87A`X zctyICTV;<@8lRa)x(0A`{ow!k+GXz7XOW!O8`|;AX++zJUN0F%$+bTZK_?2L8yKAC z4>nhRv$nFtFu_a#lLeUBVG=hl8(Ta}$X4IIX%X@cuobw9W{tjNvzLdpL+c0H+1c=+ z6;6^A+TfONchbAfCF#kpeZhZaXYEklHzH&`M7q>H4YX zpX2+}y4-=bkMm$k@6LmpZ#yKz0o@SJ>h%AN6`AGuX|Gi;L$@57s$5QwTKvi`~3a zXn@w-LPzttq2}`5cA`ZjH4f7fQP;BLkCw=${E}4h!8?hiT_23r#aE@;XNN`j!rhy> zN;*mC7SZR|(};FUitM{ZL6QtLCcaY79jG{CSbu2K+m90bb7_Y4*uZ01I)U15EkhvL zGb{z#G_#d%>^yDiG+6NHEDoX+A|n;X#1^!^)7H)o4I|c3;$gdk4FXPuG+Bkl1a^R6 zpqcP}` zG6jK{h+9-xVV1L4%t#FB-KMAw3R5KD-xhh&%{)-7@5krIwL)}sQ_l6l6#kFFJ(Vqb z!jI*lvBe`ebnBJ;lmrLW8YvuO4Oz2%PUG2v3bh*&o?Gs0r4Rj`QZzZRzE9VC;m#g+ zN^C<0;}_r4wT~Wq%Q{%v9s)g;VN0L;&ZpN8fR~(+NCg7q3Hc&qoG>v3?UTV)8I4!; z1mT2ptS3!qET$F~EmZP0drFgOsdK4*->=N3Ov$(PUFIy86S0dYv*ug zc$@1H%}E~qmgLkiz<*j%2dD4@o@Dv!*05v++&tjNhe#Hf)9Sg~wvOoM=K!5VFX{mg zIfepeC;}cZwEhhE!BUa}i)nzVdaTjB3>b&TzkS~0>4w=6zz#4D!M(!LgQ(L%Tu9w%W4iwB4HIW@R)i@`5kAHoEkg~oR-3trMIMuZChsqn6 z@4w<|6?V;>^37c-r`C1}`!~?=OYE0wrDna3$6SUR2mZ^BhBL~_LZPqa9UdQ?UBLJ! z*nG?i(qJ^3%XbR37YZ->ib2#}>64aN-bbZ09AzVGY3^?URdcO_YX&F$tN*Yk0N210 zC@v*@T-rGNFd`4J`sFe?n~=Oa;d|LW%^b-rOU^N4+Y7@Y8(CFf(KmtFZ+Mc%hefmp zi2UDL+LW7n z#k)z#VskRX_y$;|ba!PCI1DQ^+p;^b?PiC`rmPa<1>*F06spHKWt(6r_h?(WHr!=` zehS~YfFCR@3S$AE`mo|&KdQ&w3o50@7f|oW2^necs!7!{A3x?=UkJ9w`dP1^^!D zLxTSg0|3F)(B#KvE|xjsPn$8i{9n*Ah9ACwyaQW>tz(`{q9NBNsU*qv&rex;HZu5fSUE=+=TCYD%;(N8QEdp zFlN%GUZYatdJ7pm&+VW@!VbhKg_&mIsCbU^`V*e^ii_d!kn!v_!$=pmdAp5gCeEU zz&c&r-2hV(JJ4D^f>Wxr_&%o4@Ex@XI}9P_Y@F;)jtP?NX>s@Lji>g!SDXLE`iaa} z0D2Bod(}=XaNxzO+n)YE#WZB9-WRMSR%s9S1p-(K7A>Io z{@iCs^FogP1ROqnmqrWaEWY#ezFzwJ^sy^sPs8&AxpNg0&N()(Ha|in)wjM(33On= z{TT=+0`r9ija_AdgVu*kpB`J5AkxSXJg_e^R zYCLC5J`IAk2jkAnNzNm=!o!-)#UTuHD$Tsfk8=j>`2IeqsS;`3It~HDKm5A@m}|W3 z37+(Q--9Dwhu`jM&h(D72DE(8!DKqWn_kiy!gE`{ytY%GBYYy?$wo6oDhEE*5)RfO*#p@Y&HLSqO3>kKdUYz z1~V;6OkFxlIZTpndu|Kf35byX&W3WER;#BjOijX(#}DoaN@T=1|6Jk_6w!0}-EJx| zS2OX%VU?D{R4NPOn+$2d>Vn4lX zDe~;@2xbi@hB5ISaj6ZZL>KK?Hd6VZpDS(i&+O|iuF7w%b?t8_L}R6DdIDAhumw~G zokLG~h-mmx{TY@k!Y9MC_@UdM#Q-tGc-4)r;*f<4;60#HMo!+uaR&zn%|}j zC?x%cT~)*OjWZs+>g^zWQD7F5f0ax$y1 zg*|awEXdD{_(oG@2N!lM?CiR3Z9mvH_gkWp-TNVWy!pH(Y9Me~RMKyk{r8TfdB}xN zQfu5Jc@oym+W`Rq&~>6&b#Tr@+;?9eE}SErN_h|DX(N zQD(_74qWyi6z$h2{@i&L$w=^xwd2MZOpD<3%>_MeRLJ zbMODW@P%%wJXF;4ypFM;VxXR9CA?ADX!)Ony*sHcs8m%JeE;s31^c5cX_|3^FzJjc zBpqnJf0W9J{{sd>n8$#H8mR?3RkkDeaxZ6Lxi2$LNk9BS2_nGC&UVAyDw$B&J zuT9!sqdB+&tIWtP&D_k6H<-Hccfm6Qay4}HePyN9OBS#)0u1Hp0plTC{5|)T4b1;Z z98{kS-@{~sTIbHtW#r)Ca&Ut7;i&+p)~X4ZE8wrl9*}j^w+G*=&_8_04QL zgQh0fe*S?%*Htxd_2P@tb{+Tpr|kn$vAf3j(f9mP7>PZztfvmEFo-gdmMGpeRXr{K zWb2v!+#D{NaeJ}Tsjt&hLoNpuE-$8RaCa=t){{#3YvS=rZFqLkvk`gjb6l!~fso6+ zW3V5iecXWcRN4(Z1yCg?a2G%LbR>t)U74q*LFY8GbbUV&B!;lc4bq08mxBrhd??A{ zXs+6;#vTls#nO#uaIv%FfAt?1(* zs#4F6{bI;2WP?TRGFLyf(EXfea(9$min^xej}&*PYS0IdsoUK=?e&Y2yEot2zx7h| z*R1o)E01YVFi45_8gc3Ck%q;p_txpKU54_&Cb3mCgX!~dLyp(fM!FEljvei2#F*(M%=|Hjm9yhYt_|6!2 z$?|aG3XVA8Pv5rRi23i_lI{fit4cv+JqwLLn7#SWsV2z ztJN~U;2wKR95RIba7anRZsk6ZyYdc4&O1}e4llYIwb499LTA4)liRd|43OgVZl=h- zRuS_z%C+TOdoy$QW~Rs{jyW;;wzqSlUQ8e*XObS^#QeK|hsT z#oaEPNqY;kNI4=@9D6Q{-v?kdiI?49cP-d5Zou-DA$#Tobt6AEjom`SqV&aO(4UNz zK5icfJ`|k-FCnC-0=5N!73j1%%`_uc%Qv7woTBMyjvp{{L!5ryw3cVSdHIa;O|1F) z=@+G|ID

      t+>;fe`dePaZ%Vi8QZ_zRdb1?*AdyQ==TV%aEKew=l4T-1V&w>>oklz3r;omDup?yWB zpp?Uq^hH841xR8nfq(-D<1ZG^F(BG-PQ&Zo7od$!?|DTcf81IZ3350m{nQ}gK!mCP4f{*+jq#WToWW_;AkRG4qElmWP z4|}o6BfccvkzUoXVb5s?gvA3Ty&0o+DdyxWk87&*W!(X$>IscFsD+(0A;Q?tKl+3< zzZ}<3>2bJ8x*0b+Cpps}g-8gJO9+|t`vnDWi%w8WJbhd-;5nmNR{rdZi*+0bT9Vc~ z*QW>i9+r)r?Mf$%O?3g>jLv+`IbY;Ld+E`ZM=(HvcM1Nhns2#_Kk;@32JL8J28CT? zOu57{=g6$CbF<6fdj;#i_PlB0rHiMNniaU~lZ$NR@GT~N-CMeB43Ji4%&N^!XL3Ai zL38EaR^5WrpHi`3z>9%3W;3jF89p~-h(di^lg)CtyAJ%(PCzJ5{2HuTso@OWG<1X2J&{z z_vgAb9yA&qS&fNr8Wtm6%>UfJThw^jk3-NcM0AqAzx$h};gSbIq^Yx`mj)A~ks$~;a4LO;g9Px$(`);? z;WF_bZ|P3aDl-AthPR*qo@+=9I`iaPlef>u{KWRijjJRc zfg{r$+FAw)MUB|c8=3zvI10Hx|2r2*x0CX5< z#bLvmN*KBgoUtQYN}3B7oSBGE3i*m!?;mRW+aoTN+2Dzcu6bZ$y&Q7FfSRX{5|9%p zco^lnN_a51_1#Iv#?(43!i6zTw59s}VyBl0`5H0*3h$W)DK-+nh;<7{1O3L2a!)$R z*t>N_bm48@0$P~1S%0K!l7%T?#8=Lkd>Hm2gnBGD4iQ#N6G}NzmItne_4zKjQ7@oi?9f#OK?l zP2Wy((hCbeJ=Hai#Ex2W(I#h@Tba_bmICUM^W`V=vi9`@$kj+=uU_1O3khNK^?qEC zrLZpBo9Lx7;C8unc=N2!3%RFiKE&&VyQb2cxN>Ut3=8RO5pMXecPuNQV_U(ZRO-o7SSuy0o4TJ5og>&m!-#4E_IQ1(RO3S54FA#xo0CnyTH;>o!cfh zJ?o*~d$iEJg2S`EyML9><6CoKopnT_)s9f!Ad`L-a&%uW;{jv56Y#n(R?8RW#7iUd zly;|X9WZ?$N@~{2z)=*#zsV`9He7|MI6G)&qT#C}KE0w@^sVY%R+S)jX#3HZD7qSy zqBI`_l>>bBMk?IJBT-;S0x=eiB^&hA-=g5ILJ>=1hUQ1T~bT+-Co${HGvBsdT(m=AoF_sjZsC6#5=>=pSz>?24GHI=n5l5+t8f zfAi(ne>eOz0IYne(!CfsQlKAhhVo}xx_Q%8u~6upEz_}1DOEFFzbysx2nejTG z8Ude3!3%{dY^V4;T!Yr;M6}O34yZsS*i5#J4YzT*LASIAo=DGn=b2U)?XG?`L6wHk4HuP?!*ncw-W*_io0Yqz*}fYM+r=tARGFsfI-}VgtR`k z@*zjR-9-(wc{CsZg*OJxFTgwysAA2T3Yx%5G-wPjF<414zzI?sXthZk(RqAviKTJf zMgeS_WEoTO_xOJpu%uz%W?Tv&G6$DCQ`J49T)m0h_e)1-F$TKw@bBcm{me)3waO7K z!IHXj*N~IDsyfC3_l^WINU7ei2vU~6dN3d^TB9gMs(ex~FK^LSR9CyCQFU#IY8YTZ z&H*s>@K!(z4xIutjKIpT6+KG1`C0|!bw6}y4PG-8Uh3PYk@Dn>v_=GW;bf6Tzb986 z{1>$WrHGk|a<{7ZH;qk0vU$DD< zYK2H`=*mUA(xYAkTF+XSlBWO(1=aOOLxKf%NWpuD>l{f0|1xOF^^=Rm5A^!Yi>n|D+DYpR)>o*myWG1M8yJSzwl zz_gOCQW>>ch|H$&d@@{*aL&b7QZ~(5%r0mzVAo()ij5Lb%XX=ltq^Q5GtCrRwZcje ztNT652uz6;t4W+4Q>%8N0n{5%2I9UCY8wEbVe^rA>#MQ#yOk4S8h2pJYRp`}KZM@EbwVcxflvx& zBg%e|5yI&YKajG775154VOoAHtiM3OGAYqDpYnU*bDWSpFY^xdqN@FG%J%t*R5)M9Q^(qJeF3ActCjzzf(Ys+wSHb_t{as5l{~ zo6L-x6n;BP$_q!rbqZ*v5A}%^zZ~-*=O|~O-Gc#MJ`lW0#-g)OKo7)s8yK+eby`l+W6iq z4-&b|w7%YxAVw%e|2!!6eoe4iY&y0NA}#p45L9vJw?_UWsc-V)S6Q%4u{|`AC=_a0+QHw8G&-LPVES(-dn-E-u<&2hH5d!FBSVfO zk0G5?Z>rIcf^ncZ`4K^x!Rt}YroNyjyP+2;9w>wQQOz2{wZuo6o&s7+u{}X2>HIs) zN8D?>u3sh%O<&_CU<)3XGCa==?-hTvx&ycpKtDR3k2c$&m06zbL+jB1ps=;=MAF0A z0!!#YmH1M`lO%CotYHS)RI$uHEH87O8c(8LQpw$qsA)atKI=AV!Kmeg#p==*8`a^M z9>p$inu~is%%MExx@X(@+)tgY=&i@YQH;zvD|R(|iv1)+-s*{nM*hVf9B;UdNn%+G zuuu{tIDKj4jZa0aZi>GT#hn%mBYV*=IU!*jOaJ)?qzN@vR{ii%Xx;Q!D<|mwc$fR9 zR7_`K`>v%)!?;@!qXZtMoVFB9zGH0#2YQa~?>eQMa{}5{g>K`Rt^&?n5a|)<%-jXD z1-#~`yL^zb1!veoN1G{$_3=0GHT;(sf=-nQ(*!{_IL$yC0D*^J^Fb;%Y8J-1t0@`A z(D*?d8mSJ;c>4E5`w0a2?%QvKd!lf4rp9eB6@yEa2zR3mN1*9}(?^?gbN7qwK=b0PaQ1@Dm;mB-4(txoV6@M6WWS{M_ibVPpm5q9PV0AJ?j=3 ze?surQ%*Hs9|nVw|F1`llRKn=V-OBH&``Y}x&6X{jN2T9;cc2`mNlR9Am-2+Z1Bfm%$k>sP1kZ=$WL0< zbi?E68g37p;lq~NH?sh#Zx^ybT1+*Jr&aEe!(lj!umN|9xtMm{Eegi({`*<(qJeeB z0zP=5{D$vbSS)k|V?ZMX5^?MoO3N}X5=%@J2IH=}ujmQXnu1_z{ikDBtI5#rcoO{!X5AIkZ z@IHK+nku^_F_o$6y$*tcsEGu4zFOKS~9|3;dMe8hcwWVo(FFHWr|+Y;AD>Tz&beTn`QdyZ$WD zC#PtLYib2oo1kf6k@V>L7^J2usGWh>K%2{5Ju#4=7X}erV(Ku@KaW*z*Soy+#|n&R z;St9e=G6WkPnmw_PDHMd);YKVL32p580LE~XlU_ZvulkjNdveLv`?*90)v6avtq#Y z>&L^<^h2EN9&0oS3M|F$-T2uC`3Mid;DNbkyyZrzHTRF0bKDq$aWF)2lJ6~0pT$fO z0qXLiO7GK z&VcrE0%welML?_6c%PhTKAB}F-9FzNSlC_a#aRRg``;Yw;YEfK!w^(l)}zMd2b>aB z#+aWT^pf&!DiHc4E-)vHpv+P&#fy8Fd)gZI?b^F>rpWo0o>$1%yf&A{mV(a!^8Wt| zd<3`>2)G>KncHxQ(WVZdcwXCBeWv-nkg>g1`Q6G`%zpu!JuW8{)q*1G!k>?SXV`Cwan6=p;8|@5M#<8Sy1u*f z<1j1hYEkqkczF&WPn>TS6`srci8Dqul^El*Eugc5eIJkv(-Q}xEm+_}9KB%~N~Gax zH!S4-S83RCUEcAU-@OZLwxw*Am6X6`OLnOn(_g)qe41Q`592Ct%*35?y}ME)ikBrv zL}n_MU5#q)3Co#yQ_e-OJKRnTGXVlik^%CI@79}bM)@839+m|zmE0P#-)~JWL_>DG z(n)`X^?>BM3ycaMwW#JbDz=&56_DriHW^*3>4*T?g&xIQ+NJc!+O%+vSAokR)R>nx z;|7U8zeb)ZfhVC>!aUCdX()bhmEpTo|Hz-ASWSlh0@N=t&5Kdkj*H_%UtO-B)#ZGv zac6}25q==m3d{AfwHa|2*-FiGdkrIZIVW_yi0D-rqkM$X|3XDsb~fBGu(YOXMpNeZK|Yd|>tt-KJe zrNNB=)AX97scxbT}e$5)mPl<9?I>$G4~fQ`iEOL|u4Q{TsO*5%AFPvb;x8ZI-aZPFHId7y-2 z=PgKY2DlS`0Kb5qlpNmzTe9O?4LCE=+e!dO27wd6@O0NA2B6shqyhRPkT6(r=f%UK z9<+ANEN!g~N&>pSyh~I+uLee+huYm& zQP>ujeY51_gO8eVUMOYB`VGG%8RvV&*F_z+$J_&obn2-2{k4%gpY;?n)(N#wDiwmB z0=sk1d+SArc6|@qiC3%VC5b_N@OnOV4!3+j%Y?wR#PEsjl|%gI$}QX$RAVjveCuW1 zHYbAC1kgxGcZOGq6ym~KS*YH?fB<4#EACmy#)DZHYSdN_DnK&iL@G&9kO>yP4`GwzuG^hQ7S@c}+~7XriF>^OuYP zQgH?3Uz>i!I4i!Sx5z#Fh|2HM-)*zaDnHP}I@_h4Rz0buK0lE4bSnEBx3B)wPrR;6 zh>%J#N1GYNjvClKR%nX#rpMX9g6GcsERp?~bHIq`-p%AUqgq&`)#quDI>b>XR z4iD`S)_yJ%bub?q8X9iTM>4&KyrQ2|D|>mM8}vPc+QG-~J+j<%0B0+jrna!elw9jz zStp5X2Wtxa0A2?W%Cc%QfJdbz(W?1DTf}Vq`*OujcL`jp1T>xM23Fed>&g8}W!67@ z@mfS<^35#(Z(>$T+~c}ncW=lv%OBpggKJ{{jzdWxy80mF__G&&;Z zC5}#JSw7x+J`zi=hL@!gsF~@8rc}M8gmX z7ZE+)LR2qww(xebF%U1DtmH^M@)zXeLyY6HkB*L>cIM3Z4M*MO`GXx&cL?VzxK()T zEa??4XsMVm1se@aF?BPZ3@1f6g<4q@wevrTU;a#ACmgMcv7&m>PgFPOCeiwiUFqhU z&&S?Wr-*{K=Ov2d7JDawoJ#y|tbY!O&D;3b-yV4Oc`{N6orN4W=Sx)VOP_HY_7^Jx ze)p{M<4CkvhCY(dcRrjS@6w_b`Dn&(>s?5!iz4y@i%<~E8y0O!ib)c-;Js#vWERT{2XXMzAE@m7)8WtZ6p z0z9W%4%oFe1f)^S_;celzO`C2F}6W&Q)iFDCCznH59$t+SZIhN|I5t&J0Z%zz(9i& zx|{=NI}~;mg_R{%op%!A;_kk_ub}wOyW1P!8S+qpiqndiAN3ZZU8!%J{=!s*BNGHB zu(}HryP%d2CmLq{~dn@?pOWCo!)-dgT zZk5nnx(xyW%b98u=wlqV!Rx0w`f&6TI+* zVj4!+q_qZR<3BndQ}o9w@hbXKZQm|>dH!8ATJyba^3QUmot+(MbB#cP@F`m^JN3gw zaVEFQojg*&`8E4w$_?FSHvjS+gVhtUZzhMp1zA5N6nU;EzLp z+EE&j6rwFkOdd10pNo~VKMa({RBs|ugFcvAeH>A0nU%=B*2```>ROA@ScR8I%4a3x z{->j7Gmji1U}a|E~o=$++5#D-uYllH(+Ln8j=?he;Hi%x;Km}D>73g4&~5Kw-rcZAP)86{ z*2-rW@({qJfjCC^AiZdP^X+NOTh`A;2%?o~Zx*~67t&=@>~&VXtaT5utdllB=Q z_x+oANrrW_prRF+6FpS+{S_7w8iVqL zNo5ffBDynGMTe8^>Iu#Sl1NTow^ZxAUln`&*0xA%d2wX(uEDzA4WNcwWG-S^fCussVx|T-o-5)IP!Fd4EZ4zHn?oe7hv?WXDS}24bQ? zrR&UqO#>t}8Q|~li0z*FFf976A}?lx_v$#s@Q<7;nFFot*9N2`laBo?0}KsBLox0^ zd_4&|Nd9cF24akv&Y__MjAMI#42uH3*iS^?78&#h->yfvy!~4I?7r0*KBq_Xnt1-g zJ9WiySE&a1Y2s2#{%yy$Cr7<~57h^59F=aIX^a+|-Po;_r}xgBP{V(_=8>vUGtM>{ z=5CO~`q=;f#Re3C9A~BP|=7njX}lj`90p3m?PlE31HK zw{yqRBef5E6o)w{JDU~w zEXvPZTwF%R_3BsJIx-llwt^sThI#}#BY^M`=A{k<;Fz}mb`iNF1M>oa5RCGHufWLB z(*ES)*As~Ou(A#rG>QH!LBj=$?$f-$R1uB$-T*H_F_dz6sxxj~_XYVd!He}Ur_?!Y z4B@rIZ_K^^0=L{NV<_2;Bjv}OpEprst7B^{UQzy8%CM_pXrLX&Y+u>4gh)PITwGui z0Q}zel|9~5xbgzbHxN?608ii)CBF6@*nR-q5O-p^R_=sRHH2WdElCb>Brf%Sj!!X% zrJB>OW5ofOt_E`~ie2@Ia}nP8Lq6)|Dmi1~&#%!>Ah=OYmRM?8-8h&OjR}ZS3er3! zLX;i0YJq7iJ>G)1-5;;lRv*T^0kHTuf`O=va7GXxG4OxFd*-177Y{n7v~k5Mo{E?p zo%ocC_u-Rpro6fqS<}h7Rwv*_pyQbu6JV>~ScR=*(?sX|6PaCg>diBz>UyAkNB81+ zh04%Y9|7IuAHR2E{6gz0sW)F(o70UwN6D4UR+dbAtgEFSbs`vayZZ`W#ZqXLFY3I% zTYKh$EumhCWJvskC7@khTU)!c*h2vW$O4~oh6C5#}+#=)u?01D$6w;YsIMJtl_tqhdx6Q8@Z*2d_642Tne)ogSu zX2G43w3N(9eJx~givlJ&Ssf4-Y*xyoiEXO5FEAirQlp1Hs)NvCzv#&Y0qB(f+ae(n z0cQ-J+^`5T>~{FWOTlo_L(@*W^tV~X1d_p?Wsal|FP9}nNGr3LxcNMq@t)c9f0h+= z7EoK5s+9aVxyuQ(_1F!9ZdmVtlf_zo4$FxliDVyEL^3eI`Yie}M87aHp;#|*F>6pd zEUXSYui)MW1hzCJQ9rD34%67(v<#%g^zfX)k5G?kCX!8bA+E%EeV)A{~(BhuE$ZBKD<%s6!p z5lrk%=H2>ZQ`7!>d8vKbN4VbE&w1wb|{L*9qU$ zA@Cfhku_%ov=QBzxP_dVdVRW=Y5Jc?Afd-vRqUPhKYJ&#Ai)6DKuj6`Y{@UjV+bsE zhfzOaKM!Cl$U*{)8g2*l#?auv0SoFNn3{o*htyW9GqC}GkL!uH`5I~RJ+~Y?6EYt9 z83Pja?dj+AGxuMs=jWj1#(+}|TIRs!zkA&!=is(_**;J9{9h19@!1z3IKz7&s4KW7 z?%pjiePoZv2D2zXs<5TDMEE3~vePC=yj%}Uyvl@z5XW|lZ1C;IQ$oV@e_`hf|GXk=e}hWui0+#wxgl<#HltRK?R3behwC?!y>KQcHYoU7X4C|&tY5;!-=t zQ%R+W$Wc6du|1Sx)aq6(#(2CKcQ;E;a z!VHid10y4PtW?b&rO}qqV#$tnVNFm3&Sl=YyT=BE zB#Nsij?!Cq9=E{8pAPFQ9WId!h=l9d3b{HPGjEZVSd_LC(yo`cG10gXSa?QC2z-gm z+GI8Uwl3iZl%K3KSeJdJGLr~v0Ss}emOa%=e#j^C4=AV zsl6|y!dtG+{%cVR`(+pBh_OH%lMsK8&>*4EVH_5Ne` zWie+~10tO?9owd#(w3Kanun%(cu003egw7GAcR64fLVn>(y=LxztI|ui|m1Zm4OtP^OE1G3IwT^X%g+XWyGR+MZpGoAK{6<~%5`#uph@c9v`` zU;Oldr}KBuv!m}j2`S|5^Ml_GA-xJtcszN{LIVE%tmXDk(^Gr!-ovN;HsWV`vf+mj z>(@JEQ-|?N*QuX>aD{IpV}E9@GHGf)!`b2Mw7qdD!`^O2O~Ch<(n`Iw~4uRE7RRCDEdl8;vs+^(KsR6qR|i zTd+qJ{WG@S^z?K?Rk!=9U`wWHrSn#OiExkgZsZS|YwIekJBAw`4Z)!1dxS~QuY6k0 zBw@JgN6?3zyt>?KM5f!e2-CXu+u*g47Cg@{-OkKQ1(Q5}PsXdP|8kY^{zHaqo_$Sw zNqsDSe%oel05HnHd2R-%L#%@|?j-T0`XKUamCnePimoOeQP?UX{@kp=b6fPJ=~9P<4EcE~HzmuCAY3z8 zkY5XVJvA5V4SZFKt8Z`+Cu`1=Ty2wp)^&TrE(e}5OD``pkiD{UV?wB6;;;HL3%9K3 zAufg(_na2ujn{`ZGVbWg3revGy|rxRsP_P&0Tl!CO%URACfaOA+H~J;J#@T5HzCf2 z>=eJ!^}6+X0QGxC@?C-_k-B@>Svz<9t(7Mxj?rJrI)@5YBo~gljc$GX_>ptd5VR=B zETRXj>YOhWL6{EJ5MFG$TFJ0L=gg@w&nAan3Gx>LA4eQ039eDNkCn{sP1&XPCFwe@ z6*o>!g1=_MZ?(pk&b_=I}6$@ES}yb?Oq&r-xB6u`TqUQ>-pBdRDd|?8{wK~ybWkF zhc*pOicu2G&&?q~)CdPA{1;%UbnVWER(yT^+_{e187AgyhsL1n};}8J)v-k$LSg%(!W(lQ8eaNEk1h(p7vWFP^tIpF~<09e|BZn38 z_~o4oJC774jc;JE$*Ho_l8)lP8ua4oA*xHG<+>YGzqxo*j#$?6#5Gi! zi^FeVCnSv8OtebcQ9N^*wy(v#r2K;X2W;%=B;sZuHXR}Q!Y$$50)kucPl2!dq5k_7 zKg0WHy$$OJG-lT@jKlh}+@!|nelE%E)|N2Vo-9joD|pe<%ZqCG8#RUOKmI-1tg%+% z`xtdoqW3IyCz-(%vW%HP;VdIy=5-e zgY|%EP8PYeVqF&`&jf)1j0(Zg{!Ok=Dc}+Tv-MV!0}?3GJ^wkt6u{K7tu%&T%>x6! zZ1B7AA+Q-+jn)mY`yDnq#N!rs;6S-`S$&$~Y{qdF;C@Be9&I z!1sdgX+~g6Uljz^<>#|e><{p(f20)hGnzcNd3RVspY+w|R-0Jgt+na}h#igVf@EMd zOxpe;<00j8_RQ^%x0_CHP77q_a$cqGLFpvAFL(_PTu{#9PE)^(NHACk>Y+h{)(l)7 z)?}7%Cg!)5y#NQ(nVSH(2549KO7O)Nc3UqeejE78W+yxtfp!k)FJScTpY&9L#{mAw z{fK^%_t%trqCI2OqiBiDSI>;F9Q+#(-0&S8m$MHX^2Rw8?+t}_x8dOi`oCVteYb1y+L z<~-+O<+%tB;bZcMb{6S(#Io5@h_V-Ltw#8eJ~Dz+YK3nBz1H=K zE0FsKgCQG1?7TY+u$Ig5YcKG9$zCq`F&|ZqFdq0fp_j791@E(2m2jSwbcNgWSt-q_ z_EI7Q?+0u?bMq)mD(HQ`{HQBgq35Ewm;N~yYSM+RiF5yA;X!9X#jBEyk>SR5ubCr3 z(@nauOPk(tUBuXXM6AcwfM(KW89aWbp>Ef^KWlq7{8*NwnNekBgRPEmT-fpn!^`Oo z=LP^%+O?)7)KHU%Nl2hMkNzZr^$ql`Rv5}71{sQ}|Lu~3+h|1>0&olKrJJ)ej4+vX zc;F5P3>zkOSa_z&)+H`;a98BRuCc^V@5zgTYr3^Z)rkDDY}5`r_6`&&}RkZdUG~pi#RFua#o@aV*}EUvkYjs;$c^^>u?7sP8Z&^@76P6 zL>pa4+`!a^?yj>l;F9)IOs#H6wXE7k$a8)ZW}WTmF7<$r9SZ!6yVjOPY2} zh&fZh{j1}zL#-T4IPpDD=is~?JWy^HcK*@P1QA!Q z>sc<#^C~0TmiT{(=Yax2S?XhHBF_)oNjkE`#78T>N@BvhO84g} z_123&d)r)CK{o9(Ejn+CVz~9VG+?@$sSAIAAHPrNF}dn$mTWTSvh`-Uq{xC7?L+H< z=e9WCuF(DEteNDe&u#7*l_!z|9rV2EUVoA+73fLaesvBkaWv46e!{TSno%U6b$Aky z+#d6K-%w~I`+~3S8y6j&Y;PwAG6gj7uw-_JYK4TmT#k&4#Og$Z&ZItz__+Z92q0mw z+#!2mOH1gP3V3DV4TS$kOiWDFFqWr~KVg!e%E|tuf{R$&Y;{5%^eSMb^4**#r+xOd z%Swu`u3MIyla06uCf>s;8&H!M2jslxW3<0r{Mn{Rc|v9l;m-xn%HCrgu>g4o2on*s zQ%e3~?3s)2pGB*_;i06Kme zlA;t-<%<#|N{1P%X~y+2BO_{v-my7fW6RjBFnh-Km&MR>^$XxhsS#+2^`+%SRIwX5R0Roi4!^i-dY zlpp|}olpxOA0Nc04tyIEB_}yY=T&Y4q0Y_LIblF!(Hifm;ujMh-kI}}$JZp+NW!Ia z>k=JA#uWMMZ~L%}1`e%x7WixRF26p=T_Ya5IC0eDp1fFY@)=A1^aVl8B-Unf8vV1p zFYPwj!#92{#AC-8>|ar3YK<38I1WE0nVdlaFTB0cN=5&7dKQ-%vwy9BMeQ>~_MLgV zzq;Y|v@&%6OJ+%oiRR-1KpSKZ0AN5{yaR(d1(Jyj2m{1B0ajyuV`DD>a&CFfQgY@d z#%sLQM~HVbGq3`aqO894J5;)PctBxBq?`01#dT*w)IYoZgHF}hw;?hDgoiu>JB>S6 z<$c#JU+cs zgj-*kz&Q74%Cr6oYaLaADIX+_u$$crYyaLybe+s)qpSZw=sz(P8)T0Cn{=s$ED|8g zqqZ%KLq_=@O2<@8zLulLVKV7YK1`AhCKxm&3mDW4U0Iwa30n8B7Rk9yF1l9VEvGQJ zsib@KXbMF-li{->G)U}7%OvH3Z?w33z)Soq|H6UF+F}HnMVDApwfRX+aK_Rjd0Spl z6*!dv3Ifs>yB~JG%TidW)>N_u{g!P3Mwl1hknlw4u8$G^eiXzC%nXQT;AMyKe4akG zH$|>4F6p}$U}AwQpNKop;;3euaM0CWYSxNzHk?RCoS-;-tby9gD5z1f%r%a!{u8@e%|Ei;x|Kk$oWMBZxlHs*y1R%-gsb`fS?dM4GKH1T3c#nW z?SSFTaq_nA&6^-!i0fSh`~Lw2udl z;>T|9GFpkdAxa(iW##?1sbEeA*Cf1I_slRs?c`8BcOTDPLHS~Ea>+gIZ($$makuyk zi9=h^sFI-3lZ>RN-%}^X^E=A|S*b|C2h^RpeGmv>&)o8-Cdp(I077~0k}MNj>R+B_V;R0Nkd+_`uRix0=1kyL^`}L0M+Lp%tNq(OVb`G@5 z5hT*i_|>Xd^YefNS@-YMuA~`Z&Y*Dh-c3uQ!!>)XBh@ywaRQ!4f*y_7ELJg_Tm2b1 ze|dx|Z2D^mf2Nyri!OUzfW$eZw6}5p_m#74FK(?&tVjYw(jLVj@d4f=_%S(KR546u zpjCw90uTZQI*KHKB>+r>pa@u8>{F9cyC@T2W<;~2RTJ^+*_KN%dG2T&}1^>8bs*7rkLgXmw z#`V#@Y45*)garyP=wGB+z7ajmY34V-=!JPBnS-~p3W7rquE&zfN@5UMhKCcv2MeNz zS7T0%9Is@K1fCuB6G-)vjM-u4?sE=+ znXKc6>42n$*BMR^7~J75hW7B2=%b@RkRn6K0_e%l`iHM7ImND~5Q*+)D%|{6;X+ zp-s$uJJ8vg8q$-pWfr|yXbSw?WMe`1PwTPjV8v zvp^09sA1F-93H}SzaZB+q;o+kD1#v{*WL#)hGzQ?&8i*eis`<*Q|?9ohI>(~QA411 zNQipb`|h9+$5Y?tL`T&n{XTh6RZ>sqcrC9X-OKEzsP19Y%o;ojh%N1_I$UdTdI8zQ zLqj^KDzzuvwjr5(iofMU4U%BNTlheF5_xG9a4HHUE?m#j8(AU2n~1l>eui z&g1=9LFE(cI6jm}#5)#8is7gxjwyzo-rneQlsSpT0!+Joch7nRNSqdqDXk`dm1v)l zS!lr3cdh&gR=G|H8Uv6%9*&OA1;BbYkQoU^4^=`iVntO=l3SOG9JE-vG+H;06GhIr-3*o+F%$;Vb+DYO* zcfY4T95~TZvNC>UL(Amzr1oEUj`wFXUwNVO$$+hHDc{50QuH7h2Nek+ER$BxzRl)M z;=)@j=lR+7l%*K3_#5|X7?SXj8at?|1Ii_;@J_=g-gE0Sx6K1H zXXQK1pX6s9_l( z8>oO$7ysuEP$#|j^v}#%suC?_w`{dY^1vGpQv;l3FzbRL=Ih*CZYdRm+P+hQ3%|UN zHI}3fduIL>>PD`r9esRQRn&5B_m~l@&a(5Dw>qO2c%`K=v(8Kp3&g&VxUKtFEKHw>uoMp!0`g2TU^t`9#w^Lt($S*Dp-?{Uqv=tqeA87?hXm-m1$QBv{r(UG9ws zG;(mz0B%rtlHfs~>wlw0;`D>@W9Q)TrFvHGT{TofOU_;zqn@ z%YXI3c9S{~;@4k?I!}dYtiikk^t3%uYl~$F5KaK6;&*PcKOWCOQjXv^fIaRBV{Ws4 z(Ou-ISy@>zOg%FuCB^POIl8pyoHG{i>0hd&Qus9zi6<3g02cr#4e`KXFwntzfF7Nu zhc-kpf_HRPe^2zu5@#l``p3i82d1mU6q}+M*FTMTviS6P0+8LSt-n)m8F?6Ntam+l zm9F_WaAdH*!}yHY-D_cz{x4FqwPqs|p0lm>*4FC~W6@e@!`J7)g9C7pG7e$4cIOjs zuCLEsM=WO<-9LW)A_KEA0O*`wO6k&lkJ~ImwdFKlP=;{_#4JBUJ*A;-m*B%aX^DP& zK(s#a<9SG4l~P=w_iOhVnQvYtt~d zuN@+R&w`}dx`Fm@#*G69|6y|91h%2qXd32MqOlL}jVu$*dK@z1pX|^V2{GJ$>8=lu zrNYr)1Ni;tj*kw029npvgz{^1_XYy;@f;936eW;m#D-}+sq~Bk&QFFpU`RsNMrbd3 zih!+zGXKnCS~9c^RfLCk;slaUl}L{;m^8fb4K`MCyp?=DMIzQ^`NX?o>GE2Wijf=t zk6N3TV&uF2&ModbpCW9PpL2)v;W415Pt1J}5kKfTKY#|I)$R5La|GszYQD^=8$3@;7$y4~G0NQniu^JHl z133zaWEe^C#<%nEI3fXjY@!p_l~f7R6IX@EYf6gt&1&hn?JM7TTb5fJ-5!%%*Ptz$ z%9F^LG`!fWqPYYRJtXx5KniOh5- zj$Ts?IcG30!S5_)2VC`9SFvMXD)=$PvJ@gNkSo6OF@ zd9A1OaEjW(jQan<6BwbQc`Ak+qERd`&h^`Sebr_O*;p&S`w=il?Dwo=#2S{Do!6WI zRZO4*?NvOPv=4@ZX`?_vK>;8U71^wZboqbLY(S4j*|b-YM?) z$F749=rvSnLXu8%GTl2H<|!1>stD$}?ha=Vk3c7i!I4fTyR1R~bK#CaPQPIWV?X~m|tad$Vj5E!)&*CQ1l!(j_> z5KMc$ot1no0%pZL7#Yh9s|FmFT)h0A_pdU0KWA4ZRpSxNVR~HkF)e?Vp ze-Yt3UCm#|KV~pv=X$xDvaj0_E#ABDiNCH+Svu>>tQ3P0`hl6Q&EI?4Wi8EucuN7R zL#`f>E$KUL|5p}{f509dfxQ2=>p%>_0kFi-II)TN3&K0g8D( zG<2s`um3rIef{)?Z@||htnFn%#$SH%TN)Z~GUc`HnLZj|680dL5+dnD*BY1nO$^}X za%`o?ebM>Ve-e8=4u^Rja!b(-o8(S=`q$#x&O!g$j?VTIcW?Da7q*seuhmexOV>Zm zZ8?s-#$IlB>8rXU4TY#_tNt&a-vxg^oj_Z{I@B`GB5l_oys&w&0eqn6&(Zx{jZfS~ zMvJZ(Z?v?<`hY`77(Wh2!mzQXQ6c$=pI)Qt_F%eoll;X~K*AugIB-2%9Q`)L3h?Fh za%Smf?0H`{Ayh03KN_@4%_ODf_$4Ynd){DV{znSKxd$#kh!@3c`2&vt@7Ejzg(Futpc*KKon(jwoKfF|$F@aw$1+#p^hHcZ2c!+bCqE1rck_ zD?Mi8k3(JApd9D9+WFyhuIg=TFkZ(ayBDEo1ESZRGwEBh(k#Z zEenZd&a<5DxnOnN=KWfL+)M6X`ux@-9nJNx@7K!eF$|nW)6&&^6VoM?x56laE`X;xf#4~FxeE01f7EjL1Kf&y71hpv&@L@;#072 z*zN!Mk@jsZbTSDdJ9*8eMMpjNb6KuLb<91SAfCRUvWvSPzZj>s8ki zrwy8ix~xn2(^c3p2a`*t@h1}HYI6-29h|Ex& z^em7hk;li?3SK&-jIE&|8Zfdq5(+T>g23s2w%E%_9^&zh6kLp^6pyU?xXQ6X7g$)} zt86;QMk-;0*yQ&Bpo;t3f+19H(~c1%_cl3|NlBufS1V^Gl=*ZVZ&c~|!uoq=sspcb z`n3iUp*{XkRNXr`J77x%i4|aBKwER_={3JyXB))I#yg!~+<>`oH~3`j1bPi-;lOJ; z0>1Zm8>q;jynraYC0@KSs=wv?r%Wx19u(E=mzvAtI$inPFRifK8X?yympk({B=R<8 z_zssPJ5Hc8Wj!(H5CNAgg7&zN;k##q@D^mE^j~YR3vq}!-|KGD#660t@6x@lMSjE| z;gxS@doaacnpe`XNKWsj*x|uo!JDP~1~k<0^6i4zaRd1`BK1uBM+$%$0VLRcm77qJ zkfD?!HEI5!JpFEGsToPl{Ru)3mieiU*%26W4&it9l|S#2cQaeQ1;UJAI)tXVNC>zE zjP5_%-qqw0La38%KXtm0iiqH@oAu-g(_{EwNK=h!b0(%|`(uZz={Y7Jq24!^kIX9C zWX%6QN~^AyGP14DmqN|n<0?Pk31@L3ToI3RU0(1=+JB4Y1}qEKKb8v@K&doCh6X76 ze>!@el2q+)>cPj*jSQhhjm_=t&+e-OPzUHgaH|l54i47)0nmMlmd=*<3xfq4Kt%Bs zU?P!dClJDwp2^%t*JND$jB%K>&+L3be~oMFotUUzA2c0dGe}RRT zif50yYycl-g&!Eu!T;$J0i(edW|V5y#OBTB;yQ|`4|_n0HRgo$q}VAQFb3^)TD*qG zey%kVhzba%LGZBuj7!*o{3(}=t?PB2!Zd9#e80cR&6a=AYsYPwuPjCV0WCzltFh>s zu;`VAAFc^9r--0+i?bU9K}WmC#__=#KKA%mEEww6cY;rLU^9Rp1Sw?!ye29lCQ3_r zJRLaB?t% zTU{+i%WzrFTHDNdHP)QL*)dWu3Y1JVjyN+KW*>G(=@Zes>AwWY^gw=tm<7#o>J%6o z#n(4*tjI6`>m;0Duvfw)4ZsI{H=LIABZ(PWeB~v5<2YzcDNnO2?N0v^ZM_G33_`M! zgomPQvbIkuR@FwVn+Tm2Qw}Y93X(B`;pfwBgK(kZFRC_;lEbW7G*Z?(UsZFH;OgNr zi~RZC$!q1cD5;r=8-HvCIfIZd&~*BwqQ4b%bkepOAtweJuD*XlMQsa#)CFE)_>l5J z`RiIJ4YW6SitoQRT7+8*QV=#ks>`XJm6e5jaUi2JE;6qzPFd=? zk!w-szAlC_W1F}%^1`{vQ{FmGQ|dvM{;xT|Yf9HrT2p0+zQNIg%v@}MG^r`>pJ_Zf zTEm0n(|7w1BUA^rN9CE>i2LR(>V|PhULiq|MkSWdM>&k)2*A;tF)ieXd?y=w-i@_+~G-^1L;LOXAa{aN@t0*;03WpNB z-M}KjRt*71@#@x($#sBST=0MeTMdE+U)V$7LDk7tFQtzK+iaQKQsEB@c;yvgH@uRCjybEv)f>Gg&bCPvcvFHj! zc)Pl~KCbm9kji5tsyEHhMLl)S(r7?=~EQo%xM-~C#Q5H-Q zV{{!gCy5_&HX(`52(Hp9He6~ge%33}$JKI!0yD5ehyt$!G^@d+IlfYbPi=2nFf9xG z-s1v14bq6Uu~d-r!?0=p95C`hTNyK!;CFz_X=imxtnt|N3Z3O!)c3U=5RXTbq_0u{ zgKjUGfgOsl;>6`a5EDoQAp#s)Z$xWd(;g*{I~KU7a1l#Pcov#uvpRjIulN^K5_+Mq z0RD;N@}`}&8C=d`dk(Z-&sm)Ov)F)Wa29|>5lJ;Xqi_mtsr#UY1tNUOeWj;*J)*}R z82`E|gj1o&-1HoCHA?mpipN*LVrMOi2p?fKgz!bA3GD`~X@as;)<-|SQ4+dzc=v3# ziDefXiTK8__ zN#SCeqPO!~rqI$|UCBdy7n4uZY;TRh!ov68E(2a9WQBtt)Ezbf(o+{_cbZNbG?wl` z6DA-S;4Xr()cg}EyrZCVg}($zKiuD(-$l%E@K%6VTINa~F@dsCSTWouC{_MzaG$uh zXMC;eh<-K@RbLUq76&2XB<@KB^td}Y7rfqZC_%%!`^j9lMRWLq8--@D-%CJCuOU<81^ zBrL?uhC!AFV$%eDOx2m59L3-m5agnSQDH0c94HQDX7U^DdoP=#{+#5|vsAgiL`6Ae ztjY!FT(^;2Gfy1i%VzGbl(iXKZy}4V?G1&HdO>F8I-`>cA+r z)OpI$G0lej^(TLY;@^k8nkmGmwL50&qIWVB&KnX>x?NcwSFzE2lvpG)P4c=^9b_vY zk%tXI-kMMH9dKS>j=P-M*j;FnB+FeVTT5ZIkDeC_(y415ltxslD1r0Rs90`xsd zUS_u9nCAJdS81ICHm zB{0MSWOZNA#)P{jxBI1q6g3H9!1kCOWV$^`d+9<%t28UG9vmoe!+wN}xeb$H!JDuc zIjrv4pkd&X!A(xQ0rED27X5eq%PwP{_m`Ksz9dc)Zl27oe|a8m6fMourKHpy1Xr$= zq=sCjYK}7}XJ^yW;t5h`2VU70HP*n#Hx>52rhZ#nS!scega69yXFtyz2_hL?m*{4< z_K@sSdvU7WjzX;pNs#6I?0Wr{WJ)BgWmbKdnB2Srm4E0zAQPXX!4_`CE)epUX&@{q zLyj6vMo|RtF^Cut85QVi{%dg=X*!k&g7S@wEl&WeV4LH)LNft$x=x8bNy^L8vw3bp zCjjS)wa9rN%m++NX3zUBNqiXD;98U#S#^`X0Wlz=gc8Z~*n(fUs+VS5pVyThQ9 zrweKjcmOvYBoP5>2q6UEymbda99XRf27Pa@&{43%Q=6sB3H44v9hKU8x?v)^!&)wR zy&^gl1Dn2r{8yJG+xGu{hJg^Iday2oysF9=D@}egk>ZZaUuV4GztoMWa^g>wD;5)3 zO;Otd&#^|_0v{WJxZl=&pj=0lu-IXBo&IKh zDj7cCzU$uxObhgjP^N(hY1h~L?Bjq>hcyCnwaE2V zqhA2J2LK2hk;vnnDnMbg4mLUrdCCIn` z%Ln^&WrJNkh1%tC=H!SKYD7vU`rhCLF$zIkvmnTFaX9-(+Z#kt?i6_#&uEzX>}i^JraD26 zu9Y=s_pIg%a_Vfisj@=ILx2bZg!g@@>{t#$cS~s2fTe($nHhSSewsT}Lk|a&ZDY+v zUs8=0o$x37hqF7hso4=@W^mPpCSbk+W(r~!ZIlH`pFC&>fM|!W4+3z>XTeaW-M0pI z0@0Uncf(zrnUezo3U=VmK{xt?u|<9;xdWu^vi9b563o@ zuD9fe3Rg^SH~l2m5jy*-mIR=*A}-N#_*{gs2L}fLygbgw z2t^M=0zeD+CTK+ig~@}*=Nu^8Ek6|%vBMSy@V9Xh2WX6@TmbZCUeV6g6IN(%{uq}2 zhg9fJ;6{v`cvgj+^#|+PLvx4P`7PrYyb?8#LT#_dcv$)$c8{CEdE6(}XxfgqIZ->)j^%J?SkckF~~ zWz%pyfx-?jy7Fv9V1pd^hy@v0(p?+(Y;W{60yhUo9U`!WF(vWX3wllNo*&ld=9YhF2Ztjk3Us}AyH2nb6HD4RGWVHjWI!mlxnP~nH%ic{;(hx9j!iJe0~ z1`QFcN_v+bgIdS*4A6d!$NP=}zyj?atp&R_BcU`%eH+*Zk+wdb#8A*{K;#!_JGXGV zRO12>1Vvth1E^>N9$F0+twwx>s#Dj?X$vN$ha8N)FOTFvpnZI-0MQ@Ol*D!s|EC4; z{sKu_2wV#%3p{&pvH-h)%d8%My$CEE2*2({!NZtgIqsn#Q_$S$Bu`|U_b<*XHlAM5 zgJxI3;F8z@{f-NKhyWGB+yTrI*sRDY_(#s+vX>^wUqymd(eM`PrxVzdIDJs>!Cpi_ z&_2pFIH^%~GLQuE^k@`#pFxHLMoxDxFY(P)H{UZipWT&%Ev1?Glm{FJXFrE;y;{?n zF!s|1p0<~%+t(({S;nhe{J=Nm={QqIOLf9*DNnmja3ei5DDX{`35 zY}W1aBGYVY2p9gx-yMkt1rDoo5G@spL(Um^px|0%2!J_Ex4?>D6uwcl)G{E?5P92w zY#3*Wp2>euX@v&>z$fH621FZX zPe8zteH;MHoS=Q=rqKw@Xtzev^nnH=U=<5Oz)aAe+z%nDTKxN$4ou&vt5QtVocBbX z1th)kdW}y0>1FSs8z_~ zMubX0R9N-U5O8N|8IP6fI4KHP&ilFr)hNu%i`g$oUy)rp7LS>ixqqOWP403R^0<04 z??6sy7vUN$tVs~i2SP9TfZaX_#bQwf6?=>Ho# zKXMZS-43C=Xm(1y5QygYj~bT{sH*ffob;b2IR~>l4O=+YL@~zbk?y41$3-o-{9^cD z6qpbNPVhex{H(aOS-n+tQidv18T#b6YP9^Y-qG&zo{6e1q2E}>vQB}9RLb{ZtwCc4 ze*~^M-1C$VIvlm1Z~F^BDdv-hbRhg{Co%g!Ic+@ox`ACL040 z%L3BLu}o2E05CJz75x&g-zTqWq`Utv*S%eMqBELAk80NH&JU0R8t;_@{|LZ%`tKQ1 z;^3SCvI|NoTYov`S`PImbzK{?Dnw$=|at`LzhnNrqf6mYK*NY4SEH z;I{3KGxni4r%NT7W=)|&_te?BqWgeDolAU=hafGSdBpzn4i&MAy?Rq_6*T%a5=Ii+8uuQ9gSJzA^ys(rbhf z8fj_iJ(>~-EzsB?3jE_|@FqMtEr0_-1UNb21Jem6Ydp=}mLj zcoh*=;Se{>6jja9a=ySXnH~-IVBX)M9nu_5hUOs0P=n*Et3GT^T?~-m9rmb0cO$dJeWO$*(Z&2W!pxjjPN@G?f6|)&3 z%ZS$!7b6F=Mzp|5!4n<^Dll(wq;w)EwS5+uN8gPqa1isPby)y&23IuZ#$Iv751?Iu z)5Cs%>P|4RGy87*AO_e@{5ATew@AVPm-zcW%tV{ZnoQCa#gSfhRYQkavWISymKZ#|Ye|s%L3@Z>PnkemVeE#m=rj#XmZmSZR$QT&eTh2f~kIT5cxViF`sEM-z&RM)(MI0&B@GUI2{p~Wb8=c zH|Yo(Z4gBO^b1g#)Us5(dNW|YTigG6^IM2IZ7!RUkk}f#RCV)ZKcP#Q+AemUa(C8f z@l9jA%tgi)>RGH)_l}qV4e%tOD}=Ade$O>rDx&wD9((Z7?ZViPEvm@Y`0qtTx5-S! z6et7&?eB1h(%W9U|LWGNLDj7~EK2yKoMrWX8q+;2y+?+{)f1wTf;3i{^ZV5+$3JQz zjT;PeRQ4^4z_6C8=AN6+lJhYy^+>A-oRLiT(av0@=WVnf?w!7yPSlq*U+a2BM^*}L(3GY*_I07RGNGc7XiAd_5G$AekRo4*@F#BC%s z;q-ab2}Nh{6kG--gv8=?Qt(~D6%RkVRh3Yuw`@VpqS3_&S&BwcJk8>>1^6-%{U)4s z!-LgJ#be-R zKatgWSfGXRoP$HO6|g+OD@R5W{xg%BB;59tryv)Z7ud#7cE@^byt`cu8mA*Yc}AWp z$YuUCtsB~q!_0jXi*6RcDHVTnH|7ZxD!oWi`sjpKdsf;XJc;`@pWiO0RbA?{`yjtF zv9kSiD5B@#H_7qlTUGHbRSUio+aIWyx*l0Ok!SCCxR4nyl_sxZnC!nVmSwWm+B%Dz z`|G=OaEoBalzCEdydlxMU1Cmt0|xy05)^>C)vpgU$B4(w3v5Mag# z4#hQ#Rr)IEPZF{WF6=1>|vHi<|P|nRE)b3N!u3Bf%KGSfNG{@ z(dm5j_dmtO#n2CM7E-sO?`tx&MYSllM`?+f!$gMg@W_ta19ll0hJi2xj1T~0kO+e% zB}!-?CKE(cR>rP(#UCa)Kuz!QOS&tbSCPy=RT8c#$zY`m% zNO~lL21Wl?T(&GxCXoAcMIw)-+6ddMG3vf=LD}S6~sI79{@4_t(!u+(&k_WFuk zgnruPM5aee3M%a3#*Zjky~gHt)ti(2Cj{Isb!IUfYQ!dYZhl@u&gbU``*V&aBAdy0}MUc_Rr`4jf~{ z?V`Acj5bX!=AP#1q?U18(jQCe|1e0FqfmoU%km-L^6dVIwmn?b(b~M|@wygG!~58i zwtGXu?5yy`KYflG*cX;=m9W4de8leVD3R=&XTcEt14s<)UVO~GJw3BK2SDkU0zs}8 zdl7L7tE#g#1Em7;TG+D4L9eLYNA3nAO02ac;6EVGKx#Lc48|0T+~aeW)+#KDoukA< z*q0N6wN_r&PcHax%4IB&rHSV+z6_cUNFg}eJuiWGI_TamHz)T{&()*g){i3;CU|N; z_pRMnN#WC?mA+f6Brm>4R_Y^5-9ejDux^+nF7rKu(RQ9)QKDO^dRfvHtE;2hZ8kYe zf{=#`k-z}&NyM9KZ?{=@{WdhQTe3n2jqt$e8wW1Gm2;~&#@SEJfn zC2uKN|6w?0jm7C4%%^cm994NLV^i)oxM=5+5ZE(vhTk0DE~{cI3C+>vBEB0K^Lsmf zw;^icRj>bEFpBuzK)VgQ6ANaeFnbbC}D5zMBK3 zYtrbaO;fJ zqA1QT0D_KI?@GY5e?E?r3xKMyAYE+b*uwf+F!ub zy25ZavIAEu@yZfGGtCOi%au6&cX6+t9Cz{bsVl1m3lV3z&kk@15}T1!ZnF@|m>Z)8 zJTDEhPqdM|?3y60b}ucm!WdZ*&Wa;ks;OWrG@7#;C2J`we-eAoo<;JvG~Vk?ACr@D zPai?}uxYc_R>1c46y9e_0y_{<7x*@ZmMT8*rIpM0drcLz@&1X6 zA^ef!0Thjo#%_{@Gc6E(d;DPU8x`bGqznzl4X;VcLyi^pcWr?YP=)C z{gQMs?XUO)b(4w`*UiZkyGkyZZQ9c*!xyW{bz=aZ&mH+8PF1ZCJTFtMID+RzvyLe^ zGv@Ae<#FLg>1)!gI*z7S9_nn1hq(vjtgS}@e{b8Z{m3rXak0>Athu9RTj)nng5wB@ zf;ms%1Ug2l;n)w;zmoG%vD;y<>{3~1tjDL{Yk5(xd#yA6_))```o;bX!64T{V(pxY zin9yAkI>7xez>=FW@ZndewYv-FazPJPut(^;3tMj>e~bN$G0XYCR%~22AL`N+_X{M zfUm)p4Fdw~b)1$Wm#l#a1Xw|wDexPMKII3zb_OrIsE_gT&&PcZ>@P{9zY9C&8>a9w zx;npasfv0r;PmmPXs0Av#n`TmRp4Dap`KXFzFURJaFx5~e!yg%k7#?MKg2JjrqTvL z^8+VSG}8`&j`h2Vm8$+txp?QRQG^T-&Ox9^|SJ~8%5tBoAiqADS?oIjiknl<|7;aEBTls@$pVYtqK$Kw+%Hl>}L#jaxy zW11#;2kP3Z4Cm!fx4m4$u&D&8&AA9Oq>ger^}0z@P`EpB`?fqhLp7J$Ppz7L&Vyfk zwEbo6BeQritS~l~#1C6!G%@y}SFby2$!F=q8~ozv&u}ZwB3iE5{9fCYVh*#%Uaa0u zR1>v=In~k8-RJbC`*qg@!fRBy*JYfWZ&`j99gv&>yBE%z^n8;IDE553R0Iw{ccf#d+$A#)$|NddYHz%=M7AgQ`PeSit6 zA%=BTwRLpmA!w+yKd4a{(p3P9i?GdG*);MhJfH`Y6)Ts@ zE0g!nC#Y#As^B}-_~W-QhyuEmSgW?9MR~Q(x%0-lof&R3&|w$p@1ggixK+mvF*Bvh z0mcLA4=6O4s60J1*reG;YPgKU+wJ%cw=NjJD>b*I(?hB5#8u>#tx(ohk(>VdC!nml zG@V=Yu7WwWB6C)(>oo^qrDn4lWlmWZOE7gu34gH&^>fH$Dnd!a;zLH$Wx_qh7cLI6Iu7HFioZrlh6!TLIHFGox z4Gj&Fu1FK9L$m`X6<`~Xq*4f6LI{ata7dj-e5fGzu@+S|VWA=cBPO82NX0qic)bDK zH(oso#R3s8U|J@gb$QRusC}$R9_~zddcH-3kI+Vr)XBErSg#z-8emxPBq{Qv&gm3y zOn2FzkKe0gjhselZaVj@5#4Cp!J!!j1Ekt_z|{`?5{STSE<>Pay!&^nMd)e!I0Sk+ z9)gnjlTR7Seal0VJ)5p!F99Z1`Ln&(t01Q!b9` zIcCkBe|TwMc^l&|#@cbQ6~(l(E1!ZvCWJZWGmF@?h{u%r73$+;)C;=Fy?Xf>iC0Bv zrZLure5b_*X3N)|L- z=YyZQo%E-1=s);-@+@d?RHPZ`0cC|2BaD^NWL16 zj%>KR?0PYzb@=9SFk;)F%ykbN;t-;1CyK}9$Ia~=ltRjiU2ir7>NE?pcDd=pDE4XO zf1#T|1Vov%gWwwOZct&s-Q6w-R(ja95kMT4!QVEst$?8-_FI7L?Cr@s=w7G*LL46w z-pM2LbNuyn#}aWu2f`Z_^ijR#rhI?YNoKJ1HQT1u5YQ$`a+l6FWFn$UZ@vONE7#$1}5LWcGnF_MM z(3zo%OLxDCR+L-{B{pgDV%)r1)SldOYfqQ$w6L)`pQS-u!9v=f*olA+&jEq;;z`OV z-Wvl1g#o%TglM{9tt(tu`LZH|f=YH`Zwxj21cx$;@6SY8;`)UPqXrado2J&=*&6Ek z=aT-pO;>)4Ch4wO)Szu1nnm>zV^r7#f+s_~lKFa#nHgT=v}0lw!nsNXDmVs~BmOxm zsWh%t@Hjgs^q!dqN_YkFJj0F1FG$YPA#3}#lU|QrWs6MO zB}XpQnTe>r(A_kjc!A5yNU8Vr@CnC+`#DU)_LBdtMmv1uCyFKi`)7LHSbRV2Ii-9y zcQeH3fi#-v-at)b>_p~P%#6r}$Qj%Wx4eX@}_ zz7E0T`c0x2I2q#+y8*|In#%`*?!G z;U>Y8(cj;fZ}v=y`;Wh$+Lz-i$^Q>!->UU`QPPm1&IR<3(~x%b=h@`Ipi-)dnp(3q zW7Jg$F#)9?h$aBLK10hCjcu#rOVR}46{iamzn$sS{&Avn0s;HcpR3vZseGne`&X-O zQfM7!+q8!?XyZGoO3bm2ah72{6;=~7w5UNvCssUd`ADH)? zY9Y?341-B*oJ|zlJOk4Fq`&D?g;6?6nmbyoU@N}9*>k{HI-@WLqwaP z&!!AU=E3LQe9**xLr=P6$!lZLv?&U~YhX6fvKf~J?}dn&pPB?Myg&uLHJNGHC< zTcd0Y8fP$12&N#z8#vBImfjjcQyOCCgT4%R3Fr?6Atk`HV5$Jg5gImmC}*8C0S6dU zG|9Exxc=9erT=Lwt!MraOgR*^8uZDj|o7^;Je#^*r)F59X zVRduR?YqkSq_B=#cc*$B%d+gZAX+wF`D^lZYaTC#x;qEAQ@KUR|#wO zYzBlEs{#dyZ`FRvYwlQ^s*rNxCAKl)rbbJG5^48Wo#;&Z_D1xkSE%~mxF)Rfk^_=NIj1foOnzIV!8a1?B2 zrao-I{T)wPRu0RMRA^+Au{R%57Hu?=_q?DPhgetuv zpx|LIMMwg~pcZ2=;@xv=ws(Zv{q^600RdJ(h>5%LR-du|M?}YY z@V6njWXkYYepypfETj+O>}}zR0GtL4BRBqe!fofl;hH)>ledbJH=f`a^O_Hu?&&Jl`)F z@|Sd*l`kSmP!+HEa`65{NwBd3LjgAr`~e*<`IoV^9W^CX_BUPpm$fAhHe7=966{wq zeM3*0xKTwd)C4vI1m8%=M%zdv$3hB{l9JA#9&a6-j2)CMsK(C!CZs*k43iuClPq3k z%QDBT7$$T?*0}LT`tWY!`jy=;%TW?y3H(|OaYV|0u8<#|KfJlY_PLRm8T}#c3>htJ z<9JzBmqD5l1=p3fGvXFbwF)CN6GBcISP67CzY85|pw6gy$T(rl!;8A=;BoTuib*C157_@p4uyxSf1f;ueo7=jBGZIw{n9JI1>nmBcf)y3wx}CsOyp`9dVBK;diPx%dYRN60V68++T-=}kS=T*=+ zSA?_qtr?kQ-#ZSnSy=c_Ks~@`BU@<}Ss#LBd~t~KJ(>G>r6j`!!Mn?LTh=G<2^`T> z36(eWstH$ab{i;DDpY%ho~VT~Z#S@oK0o|dX>@bNh_^V4C1WpO+AO2UX0MqtJ9UsL zoL-#DR5N=_a-xQA{!`TyY2UA{8vGZvXI~SEpA%C`tD9iXuA4v)|m%1EBbeGqV#%pd7h__!-UeU^ZH`r)6eo>#Tr{J_s zfq{>M{v|p$AD_jbrluyJVor!*0&vdF_6X8Zvra>nw`@rG|KsT^qoUxyFozgPF-U2X z4h3ltP!s_v$)Q0MkQStCFhN2o=?>}cMmm+0p&OCz-aGGqchBMY2}R~t_dazOHh~K} z%!K)a0GlI}?8vdw23WXPQS#oP5P{LfptI-QYyXwmPGG>VP0)fV~VOS z&P_AL3v6!$0@nZBxU;l9#KT^fF9Q5LTt0%<*ZvI=&uJvoRa8XUsi;VC`vv)bLzag& zdUG?-WfE!!$4)XaGJ-h^8-oJ)0)Pt&>CXXrgK$EiC7j$YjB^PwI(8j-2POnX{nL3r zBG`f>bbDyxosr2cEn++=ij646S2m-4JNRV9ahY8NyV0eZKIBY6?!-~+Ra-2eqk{>G z5uFu6$bT%jRB8#7^~xl-(R2=M#j{UvsML)!-0ev>87|nHj_2%tC>390i|)CPMpBW^ zx{XR8g|&t)1y-z=A+$AqJS9c2&J2T=B*Ty~w7%`)U~_J{YdPDcC2{a+S^dw8GX?5m zO?>g9`BA$k`Goad0TM9}h(Ek<_rhO>fU6?1(LaCerXD9M+m;FK9-l_u{jP9lbG2*| zV#iIy7^_O2uGD1qPenX7lGGm9X1>-zz_?t#a4>jCrJ+dCou%A!d|YY%XG`#6aJ9o( z^L3^m^jy#)qfKWhwc5JNUmCh8Lb(%*?oBx!pMO6DJ$5H++!n1B*(iwD)C$0|v$jSC z%5s1ih;CNroq?JF>PR@u&d$#Dpyh+1TObY@91J7TdW^#kUV9LhOnRM*gY=1y=cRH# z3@wLcfl(rDr3az)>RnB|!Ht@Mm;P-K^%^D|`7T`{ZddGA5ciWC6))5NiptU}-s$0mxG^CR%)TK>mX>M`ETg{SJP<9K)RvyD z^B$%Ybm31A*yV8(kSZ!%kCF>lav9k2m?GY&z@?$M*{JDdC{UlVV6r`Rpt?`N5JKA5 z9)zoe(hQej1knddRlEvr5dYbLx(+u|ww&TBzN#TKZ3%Ogtj{S>A z`j?mJoVZ>xc4!`J?%yH#_O-ZIXaTAy)gPfGXW0mKD7nB~300oXNAK1OElw)%#en4y zET(wF4i;{b@H_4(oN2P?VsCAV0m6=^Cmj9_(|nX}<~tV6n_F#Vgj+i);PS!P)HTCEA@7$( z%K`&{=lxGO0xv3f;Ham)_-PZt76dLCu<8RD*W={|bo=S?J|F}_Vq#d4Ka_oG{Xa;Q zkM>q|;NXGK8R~^sT#Z`vVRE;Nx!(THqct4po!Lg7F1m7k_KUg7%mdwHj5;F^{K^RLo_t*K+RO!#ro zmi}JmhfDmq+S>X$lwrJ#L3-5;@ku5*LNn~b!p-X?WS%GGQgU*Z$TQL8QkzS@*N zOYJvbwAh7LOX1F}H7fC2j%mK`)|cfSuldE()0$|O(Rhbz1@3+#(-&#C!`F}WgC!LZ zZCl^gg6HBdh4$4cP`|jHS|BsP&?2a@<8~QA@yL$S#bCm&oux?I_VGSGE~fdP0_YIFr$KFXh;#Bj~ML6_%J93yu6le0OS0Ts*_R=^}D9R4rR3LJ% zool1)us`hR$hE}}gc+65D&Uol>6E+i)wbbT-SL{J(`j;ARZUGZB$MDgG6<6KabRHn zxWKe1&P-eX1&{Szs=!f$XFm0F>gGeZ)XUhA%T#RWN zECCHlWwbTy#mC84faib)2*fFP51?oAXE8aPK4#n({4Mgr*TwAGJa1Uv>=v`wFNE94c-eo>-YrafVs;uYBi_ zRw+iaJUt@;qFyuHQK+;4@_dCesret5>36EuU6ef~cerp??y$FsttRh2t{Ml`^$F)l zJQ~NL0{5koU;J$7b;6zBlT8$)X$9+lD!2DSKYkqu8j zfAIVaO`(YBp)?d@gmJ~mgBC8BCMUO=i7v+s$iCBNdAIq_>LT8qP@Dc`hdZAVw?2kb zXO`i zXwvYC@I>a|^Y3Awdv4Fy*;Fr=s~$eFIb&u{u3HgFb{V-B8ZWZvQC&Rs0jXE~tW-&h zpwj=3L@BeM6<(Xz0r;OS^?e$U6Gl&Z?7LH{MFpssEmzZ9G(@c6>7P|0Bu(wmX(FAMPH^32B9fr~ z(`ZVV02}8w2U6VcD*8>Mo#gT@Nh50S)*UY&&%?C^`oW3}fRqLAJpVxfhXRfU>@JYj zy)pSE#+i^bU?~u*gRqfEXzX@;*x%1^`#(=-ulI9Wx0@L}jrGDzKcw3oBsh=;5&{Ue z{trG9Qa|_A6G2k~sgMn3{EeV|4*=h>FbQp?-0iDGi_*>KIfdEvB&~Nb*$9FSitNyY z`{Nf7~F>R zWH4ENDHF1dPQ{F)+>@^JIwm=tpDum!FM74f5Xhtd@L!hy0+Sjw>QX`MDAOEC>u668 z8ALK;&4sNG&aQm^X>t-eZM%dhaoMZR-?MI#DB;YJ{^2LWTp(%MSG7IVjDBI{IHnQx z(aS$AD2bQklhC$@_L=q7ghKQN(fe4GIeK7eiXM7B$x|0KO(ww%?X5)RNgtCsNDp1WAj zA=_K@sdq(FVm(Pr=~!(fZ61|`-{8fr68C`hYzOU2QevfhyI7j$u zFyx)(Hp00uc~I(My3$sV$xN_aYVzpwiUQ52^i@(-GYZ1308vb!&z43$+~)FvO3`lkxU%t(>es*BPU ztI|}L$=tQ1!iNRO$FRT-EQ;ZbA+N39eMg3Si@m4@+)ifxeY-}9sz z25myKt`&fdQpVo95`3FAP-3mFazV@?+}J@?RicPZ3Ni6{Kg?UEWwFsa8!s4*V?Bsr zScf@dqKXRz%eo9(*E{j(ZV?|3X#AL?XanMBxk32(Un3}L_^3P6@#KJF&9Q{%6BXOX z)oI-nFEPqljjVaaDkUW)J1?*G`paAq#Hp(o@IbiMtYzmd9VKW+6h0_sq)pM{vUGnL z^Va%!p-kzkNlnwiD~x%kMxXy`nKhlnZT(^11(PtPz+VvS2uyI*>p&OreMo|P^*W%( z0LggubGpvEf8ErX^;-)Zo^3Y+*o=M1Nxo|bKN)@$p6X%T5Ry=lRlUE9cW!Y_VvFq% z^+2LOXir7?Pbn!^tNxQ!H-lpz^ZR6j)NSrd@#HZh zJ48+tO5s+sg{zq2e}^%%g53ER+{s4%EUGLIBW(|U=d#B;rg*8q6GCiXtt$50Ctl$W zWEk559|8$80A(O-S*oB12Ei_<-EAhSBMVO8*nkkS1vb`3)1?RH&vh?coTtopH8q96 zkFqi-bVRR1vjoPbsl7cafK32A&CQkak0%}+dgsB&i14iY>6TV_7r$|zh!b`42Mb$q!r)i1i}!UyA`8(-XmQISsZ z%MK8OGOKXBOpN1hEj~?04af`*Ic?|10>+Flc;72NL=cP5o{W@}?!AavA)&PS#_pnF zw7bdTS2wD!-bXn{h%2Uc7>KJzBe(!MYA8nn+S^~u)DvV0@##PAdn(~Ww9qRt&9~*w zPuq>qz}G2n>5px`pjr~2?SM3{(N%JAseaPp~^=-^tB@PjE9mW24_<4x6GEKeT%1X8BIwXi7fePLGVtd ztL`sqpwkrBoLIj7;8S>5s$hu|{-*5&UUWom0?)(f3xXP9t#{1h4vX5VgK+r;kha

      Iai!myS{VH7!YQH(E6|^%X+)j1cM*u^EF}5z@Y`j4r4?9 zN=t?<1seboRejyZ#Tsm za>bXSGfmQjyo#ZDw#u$yxq5T9;=>PKxh(2(`OfB8@$Y0X+?+h$QoilwwJ~a6G~XUH zHrNwCWDo9EH4~X5Z{tr$`^r0FAYV56v7*M~IPEj*Izh`5z#9RcN~HB68EJ9;0Eb|j zB2DJI?V0~})`8G(#nZ?)KNd>(W>ID9n!eY933h<6oviY^Fip)fdjQX)X#iWU|M^ub z84%eM>|wQ+V5<|Lg2)r+k;S-(iI`E|r%!HGu)^^Pxnd7dNMmh|`{*CPbI(<$xNu+P zcw)^~x8(wr!NzE%HO0|ay@muqgi7PyBp+w zk;C%Mp4ikE*U1A7Da<1Vbaon0#6#xq=Mv{$vXkh(Co&w|{do6tkdHUl2sNhDxb?S& z`dur+!6M;S&$pH=K!b~q?OfA$Wv?<*(loN_f@a(Po7*iguJ@@jGljPPZEPHNuF<&Y z`u^YA1aGA~hU=tbGjERqDEgLMagHjrs&Mo3%!- zp+FAwv-2C_P_Hl=W!=ZKV{lQ@kUy~ka3=lds_d_091D--&tJ}l>#Ro`o`vR1YJgUPqqfvhtX7H|OHWKFqjHg2l`KV$S0L%w z>=Ja$9`)^shW8#nnE4$eNZzFCM;Q5xHZYh(|RBTSiAs?d91{tO14hmMI0jF ztxk)GJ4=l~5#PP{njGEVY*9&(Wz%P7v*pGTVZ?P)rOIEPZoTl&9^rEU zk&WKluOzvCCG6u1C`vo0!zPZbiWPvXV*2CFf|zcXHTvOZJnS43tQ~tO(3lg{7Bjb^ zl1EN0%vkfr?xwCpK;i*p@&Qrd0EgpF+8=#?`3npiKi*1Vq1t!9vSj;@d{#0w1@MP& zw%E_WA2fiM)6##x(CfSZ%bJt`T9DN7vfqf|C~q;jjjjqGmV_bC2z#JmzQt52eC+7V z{kBm*Ct+H`r8Y!=Lot1oar;h#kSq&}6Dn^5HM_pduUIi3>Nq}4RIyeYRZ8_V^XQ(g zmwQ5Tus|{k3P}ed>ATaO=9V*%WW*~;DYcu*@rdj_O_U9cNlB=7G{}C7fX}rVf-(=%>MpF~NJ41<%2CXbP>BZ_4 z_rYT*G~&4Qe9Gv$DGv1U+6J1=bW@;nU{X_;!@Mn|qk=tpP^vrcb_&%cW|tV-Q8y z{&sT2i7O=y)uy0^8bjw4`H-W@UKA(+pRI@_kpXCIMs0-fJ{1tUl_i$4jyk)W=5>N! zSaaW*Al;tk7J#5=k|A*{06BiL5A)2j{ZCf`CX@nOvNbXsHKd5@lrG*k$(cGXtXLu; zH?h$W8|=LkT3)yyhX!b`b8{-A>^kHs9x+uv%Lt_m4%|Z^ZJ~f4>fvj!H)4g}tC012 z03`VhB?0iY^iEQc*8>pFH(`w5fULorIHb0L@iitoHTLz*CyKRS>tF^t2ZcI0q3T?2 z2ItWiF_Jg*YLghtTD!|g$*N-6&gnwV^7 zx?YJQCBgb6g0)&Kh(PZ8!ozU-V+8iA+e>!`=WH?Iy$?GVeS8axPsO-#N4o_i_r5JQ z$h{pkj77nk6g!Fw8%wVp4FNIECaRq_^1Ux7ButHBw7G0~P@8(4F^UZ>o)gKU2UU^b zjlI1xrzwwvjr*#`Ux_vXh61Bgxc+YYWy30=6*nx^^xv}q-Yh9XNdEAYt&o=4b~oD# zYGM!yWVVhT=`~KY!8m_YJ~)i*g0AN%fVzbX3x(Ihvvv7{p#NSM%2iT&3yIP_+3(8P+a%<*X^^CEj7VIO}h7=;GiZKJoa3TbM;q^WcABd`^nJ6S#^temTr^mMKSy}Ze zRV`|1(=&YVW^e7CNY%gtE^A$#d>XkGZ2tl8z?CLHkkcCFOt(O(M3S(QLl)tH&k``? zKphe*Iy!nMHO2P!TQYdlD5NFlyC)2b*ufbUFx+{#TonH>-IDkHwo=qKngXL`z zc`qM0BAX|bFv|Egq8VOdVko9N&m`1atQPiXdj*v2^Y``qRJ-HGV4;g*4ZEIgdcTkc z#FJ%0(irV-v*!A@e?p(Xix>9qwlqe4M}0pxwc-I3*`2&jRZIIsik^HFH&8i`Bc=@* zfbwn|)}G;7bpN!UIiw8VE+>@*vO6BaR)+R9-ICsiWVeUYUoJac6ui$YKZ2QVtTz9A zl8N(phfT4!Nvn~6^*4YsN<-DO?JXhz&&=hJMgZgNicKw?_JLqHBCzhZuUa zFi*_tQu5RSc@H{4!$(0OC@{*cP#WRI#|Fxb@=H?V zaAX|l=pv;I1G-0(t(5Z^-}X{bA#Hf%w|0b_`=cW}V&lpxQO6O{)DmmKx`2sUetSgy z`g&0V$)XJnSadQl!ls%NEXxu;%lODrBoSc0$mXun9Yb`*Oz%xsidbRwkcB2Q3fb)Y zkJPxRdtKmxi%>;kJm~T$A7xP716Z5_DKh#b`m&B{vJ6P*vQz&(w%V@cV zXm3i_elB1zsx+?Fx&Rm;6nNxRs>MEK2 zH=}dc-Bv`~Ye2dc_6*Fv^Nsdr8P-QA0_lFMDk8Z;1|q?THJnx5EaqCB8p;bT`&6x* z1oAB%nE8;U^Yr-TPKY5s3HIJUIYy%$82~>HmM%mzqG4aN{Q^&GUP+v(s24ixR2#=9 zM=1F(uMI4T3mF<1g&_Tx4#?Xuq*BY$Re=PPuO#%n&62$|lu_wr~CkX2KyE<+# z$>EQl*b((+i8%8{gJe5UO+S=0s++m4T>7qfB&Ww2(}D^Bp?SNn_v0OU$|k1<#iiWc zjTDp6`t^bLte5N7`Ju6$1L8_apZLV(tHm@$m-S1Jo&|wTLoi(`9s6~@K#yx?%yUkx}Fvgn8E z43Ligv2WH}B6~9|P@L3BjLnr0@f$S!f?GL*#%(K`CtM@zG;AGhWibCU*xJmnA)0#H zOQ3tyE^uIzkufgjB zviP}y)yRWrx^$+EKVGVJ#Dgf{&o!41+QLFu*q3G|xJ-*KhGMMyVXBnP8x*(q5t-XTaUZ}d;}Xn$Ed z5|{sS=ue$(Y=EE^aB+v$MIHJstmpHPH{6zAVUp-OcBY^PHf@PeT`OAf6~1q@e6UcQ z7SMD9>1`zwY_h^XBPL4v9wgrC4xF-LLX6DJfd0@mISgL`IQumwb3TJEC?%{v0T|@K z2y%z@C%JrfUTtW89VM3P8vL5~Dg+RmNB)|0$WNxP}`eq19n9_oaGi<(y6IQGWJ;;YzGM?$M@`JIA1t(IF@Djk5oi-0&yc0$s1gWq^&!%*?+Yh#;6kQPQ_Q%Sz^2@qqE!qrx8l z388kokJ1HEci&vGo$X)%_o@e0RMa{gs%W)EK^KLo= zCQAagvyUoY6<}Eb!}M2@EYL~8%}Rg1ArT3!oA=*YN>({D+CNgsFk1`w%9{K7->=~# zwuG!vGmQer8Wqt`7u~q#qwheSAgvh>w^a4j#;7W_Ag|r^ zZxRYNGN8j?PCO`gBE7W9LTJUfK7ZQ83%f4#J97x5xqlxA2i)txE~)XbNl-9=M_YRq zs!*e`+JiMZ{*F*v#ao_X=eBKL2v;T?bJgmapzZwfA6RAc`~w207hpU|S(jL+bzy$0 zNVfO-%w?1-?A+Dm7cY&s%oACRhdztvIj47nJ;zza|IY%98)gcXlqB{P+!_JsVMO(1tf-7Z7LBo(Vq5T8~V-N^{)*iFyJa6Uyp z_r6@>SK>&shYa=lHHoMDs>trx-^X$2pNB0)|NnmO{2qh%ztA4c?7qT{k$?RC0S$nU zvw^EZ5AVgEzZhD)eubPvjAB6p_5gq>ViYK6_TZr*Cczl#VN6NBSxRQF?_^b_XTzW` zeMk5PsueT5!XU@TifV!p-OOLhk}aWsD$4tJPNG8A`eit{1!G{uq29_#`CQA`@{pC% zJ{La$g*$<0wWZpivFLq3=-n}QR}ir5(aK<=B5e^$q*DX4y(8OZ?a!TfxAoyQvg48= z6H-Eg0QpJ|Y(~9w1Uu6UK!`;9Umg-3THpw4mMs%*l#qp_e9Coy?xkq+b{ERh$fKk*6`3^neO<+b@G(*18t0%ZL_zfFpvk_1@yhra^kaT!aj@+>&1; zysD8cFDctote_)rCL6>b9 zy1>>|livp@^r&2-Zp^&X*VpTAw+iCW;bvP+WIxyk({%IANXb8W|gOeh50Nzq<-lR0O$La{vr@m$Y9Ekk9ygr zDN&*1)`$D%F#5NfiQ6f>LRS9%m0`?Yb)vJ9()q)Zfl(GL$HA$@)neXEzvmdM+cDE2 zKg8d>a}uvN83*?qt+o^K>cI%O{nDns7kFNhXJ+e-*n<)X>oPd>LZuE4h}z4`oICm% z6`ZI%=ocwK1$A4hJ-^$_6Hxp9vP2{@@?DKJ3NV1khfbrYfAXmwrC@W;M6~mG;#nCG zCYkq+AonFURn}1`e9GvzEG)EUNjfj=l49Zhr`nVJ#Mnn07tY#mp_cJG7qx#3r%Cm7qzWTzted3hAXs<(DL)XtHQLGf! zBa2FO4vdLE?b)nl4RG?tqS4+xxf|IMKV}&vDcg}J*$F7}XViQmJhO?Ds;(44Qd3tw4si&Gs$uQ-qmf2d zWMI{-fj9ig3?SbZLtJGwU4AK>n{NR%IIg=U9lf(r)q;(=_S9TxBT*cUcE-#0U$!vY zSrmgmd|_8B%^ax_=1?2R>keB#R<_CtM|q7l^5fz)`nu)etD3D_dBl}&AL|^UTq4t< zHENF+={2gvv(5K$Poj!V_2K(VB{fK!hg;!)TFi&qIx^~U5|7@s_BH&Ne5lhfHoxss zPdIFOuxQ5S_U1B&t>1uK5Ms=eSTGB06^H9MH4JOv zyAmvC7kKyATIDaV@N}uEJL%@m@&$AO3bLqp|LG)7ospGx76%R~l@`so!#nrtu?>c! zO(cuZCk)=yc7XV*%&RdcY~CPQDI|ypU6I$WisXug=x4k0Jyj*n* zsauDUR=z7V$6THq`>*l^+q>fqoRiK4CxwLt#wn{zYKpIV!|jU1S)YI$&i0Rx$@X66KAx+gfGK3Zfux8 zZ`OWzp1uMpxefg-uV-$OH3g+>2Dm-+xluA;AU;~cpqrZ>pZ=iXg6AHt2qWfB101Qw z#dUe8<|cdr5tke6DlV-zity3=REb1!$W}e5sN3Au_fa2iud#vJ$}{>Zc%a^Lyb&z_ z*V8D%9#jR!v6^#d{Q8=<6r=87%ee+g+$cKil-rgsqjdqudwx7P!vmr?FB{B|JnA53 zXv0 ^U(gZxsMf({<&f_M^^^E65ti>gkFt7pd#=6e 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 z
      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 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_red_channel.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_red_channel.png deleted file mode 100644 index 3c45b94b5241843421fc29747a77cac6b854fdc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 473252 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

      y#qH9=CP}6rG%|0uFCY$3E0I*!pz? z9$n?Dc?ss%1#pmtl-Hq%nU|OQbi|H`Erd4XijtcT%;`h|W={u7%M?!#e^I^dH)Fp- zUYggb%R0r!jyJt&7oUdQ%hs@V^MW8v%CDhD^}j+AD7&{y`F-D?w{4g7O6hT)n?5G6 zp5#*zY2~;SWkMzKWg5qZ~M(;;wo3^cdhKN=2n)Qb%>O8 zQn!;N`5}W= znf@LgYcL{;s+w6Lv~|e(IMJe>bRWmdFI~K?I2@?KccY&Sz6NHedg2$@yOI7xDpeHuUk0ypi;;!WiDknG&gP2 z`ZPfNxp`5jJXf8Xeu9B$Yl4=B02*?YwKZ!las@682FtyjgSYgQ5(g~o;D+=&iK}kd zeEulwgaZIYAi%bBze^D3d3@~mns<6?*GN|Ro?CkQiI3spTbBQmSj(3*C*rs~jVQEl z_uV`D2Jvn?{)25~tuK7t;K4%yrXXzq{(ILAotN83Lr8NB>#`2Y`H_#{^Y0(v&qf!R z6ySz-Q5oeq?oTH8`pGF?T3Z8-C^+c421!%~L`rK^gwSp!8ympo7+>7m!#^Kt3yMSt zjFiGbIzg%ueC^}}&n55Uzr6Pm9fM<>0;{WlN=<_qU?Ex1*SEKUJ9qHv))xNW`|nr4 z4XWpBqY-d$pzC+CsezW&9c@ORt9mq_Oz`Yj9EFLV>AbGKOt*APov5n@u#agVLt|y6 zR}qR1EuzwLW15Bmz$n(w0eZavfJtg%cytIf+SGF6X(K61Hz58$BeP-OIPkTFxh|ga z7((_Y+gISMSkW}dtIcvR0(mwm*Tq<071;rR-4A)b?cbhsLcqTk+37ihWWK#~-CXCw z89ghb*?!|-MH_S7-fIoDL)Ue@Bfn8pd(JK@K}&);&)4f>w~FE3vjTG(KCSza)*_cB zkC4Xq9Y#Ql%3%An?@Xuequ-1C%y$ldAJfsYmG`jeij@^jgs3`d(tiaYWOyMm+voRY zh{tER?xSF9=qmT0W)FrubntMKX=?jq@|$_z2kE z(v})<$~97EtT;ZuyNmy8IK;tJzk?B-Fj5M`=@j2MKgVZIPl2OD4RGvi z805$dG>QUEWFG-aK!;Msio-k~3=$a5Z4$M*Lv1XT6y`} zQ{>e)@z!z9^{ZvB8h|l&3=P^NiF}MBf2K~86{?RH-(d5^POEZ2#?^ZjT&9I^F|V=P zHJ{$aU-Np|d;IoGe*NkDt}mSnt}ma~8E&-EuJTkv}--Dm_jiOLevC& zu!9zpYXjg1==l2OJIJ7~pV|xe*++D9)Nhl*+EiMA9t5|#XSv>R3I~e5|hFJ!_vZhMmw~vnS znXN5gysLwtj>kG}n$0$#YoX@x1qj#>1d80$Rs5E2X^zC184&@P>P38K7kKYI{S2Lk zGM$$5g-OuUL`O$%vuRy5xZ$nK6{!$8vnY+0KnmS1nTae-M_{^+%(6F* zrb6V?Ml%9a2#~SCYfI4f^|`nGTGY?Q%(#GpHULLo2EA>NOb(3k|D2)Y&-&`;14!!1 z_5~=eBdP-lWY4nu;V=Jt>ErC|9zS@Z*dL!v`_hMsW-sV z*8*T(la!X%5-0k^m|}Lpfkr7s%2j5I%L(r2njwR5;Ml%N5t^ zySCKkw63e5zV+vOVHeAJF0*y*2iLe&CjLeovEceZCE#w6&I54xVnWT7->upu&B;Ql zIN1cV)*$4%1C*W@M5OeIWGN$X*Eb<_6&0&%g$JtV9qP|v6w;hjvI1;v;Xm2k#cv)R z7PnKSFv@hyj6s^>&C5%Cd^FPWEly6fg~Zwbg?SEgee6`80}Eqddkdf0-Ni2)9^xNA zJ_Y~`%%mITI=;tOheLew{r7>5bqz%1Yh{D-mswiYK+M`2{?_(3{-;OBIGCmYBoZMo z5IWfCo0pgP!{cLo`go|VOwPBpn@bckbMG3oh!8oVB1VVmHpy=3mY#MJqO{DS1$jzG z#Zn+LLv_ba=F@W1=OAKTx#f9O^Lm?`Pke!IcpmtTq&iUeNie*2`SULGCNS-xI`A#a zr^BA@J%*E_h ziofP~NxfZ6de*-$z|%E3S?+NGu>zbL(SU;%^q&)*dLXQQSio2xTyy`$+ig$Br7Ko7TQuMn-v#x5i`q(a8yZYIRKm9A{@bjz=PaXaUGm0}v=+VF}pW0iJsf zfAin~zj=I&QJx{8>P%8Rm@52(_aEZ38*BK)?k=#g1)N`KphF3>NE_sMA0U-V^pdJ6rfHX~P+ zo50lGQhVyEiRr7sd)i6m8mZ0<=od#C+{knNou=B{j6e`>vBBq8Bz0TH1}Mn@q*Fbw zg>fPCnKbs9cWpI}^Ln-ok$E2+V200vgV(3FeFEb*c*;ioZGXBs0Sj$UJDFh?P;IAB zUUqwgc+)xy5q+`zZUZnB3~37h!&$#3AVf_)IA~C3ffBL=X-l?1#q;Is1Tj$D_t}oY zA!PNx?N(G@k#_a=ChsGub}6?*`#XjC83e=nYxhsf`FiElQ@HF6P+al*H_g6y4|7UE zMDr!rAP@&c>^K6v4KkpJOQ5o{zkT(18UXs*K58(23SrEiKXXvZ^tFKLZ9y|97oXmi zRGk@-e&rUH{b2i!u^5bFltC{okdSy^vS28v<(O#bfpTT!9R3b#NWdsB0o~>j$Wk40 zqPU+sTvKX*9v2mRyl&U<=oCiiSQ!9Y+jwPT1NV|xg9hd#l~gGm<08xTi7KP>(u(8a z!k{viuTmUqfoFRge|2{kzp%Mk+)jkhf)aoSmzVh3$%%GRIX(i;&b8oUBWFTtD~`bc zSX;xZ+dGwGZHY!o;mwN+{P6e~I35D0C)!OVot6#bqB?&y9u(y!ps}}fOV>paGifC^ z6&_s3CLwehS`!u*^+!q#j@)#j&8qDN+a;oU69N2#Ms-oL=b`=mptm6(pRP~cv-}#7 zJ#I-u6)L-~es`NORo zx_qvhKM0ZQ#2+ckp!>yhqWmuQwwm?QPFH!RMZX6XRC63lP4eV`8XYPiM0s81VHvu@ ze|XknA%G|b9mvZPm~R#j1IZ!~Ujlo(`1e0@4}W+$!Z**35DS4sNNfm!Q9i{m1KzmE z@ST%meC%{ngBuDu=%6tEHBuLhg+yCTtS$rF8<A&(?#5MZI4O1t8N}>DXA1=DGPz>50K&^HPX1d*3?VG)jFzc6-$He-jF=|G|B& z#lGhnXLh^HJmcyA;(uWLhNw6H)KkTI-3FYsb6?i1`{tVz55;rF|6Lg&Et2Jt@3hq@ zWn8{;x=^N%g~?M^l^tGT({cSe;z4w!neo?v*C)A3NMng!Glqlrdd&YqqmFPs-aPvD z)fLM>!I)fK^JV)lQ1Zq?=#U3-WaL3J2g!n?_z>UgsGm~hby^?2?HuZVcM-MJ%Bqjo z%U2;rvYw_DwfOrI0uA!@c)-~|1E^v>S9BKF# z`@MKQ`TrTSSVx^)>yXWNwi!dZ;K2O=^=9BZt`j~V=$Y&T;e0tNEl*4(1&b~+zjckoNV|E_hudB+B&eZtmAuR6RNNtP%8r<-v)Me@bdaP{=dsh z+@DM^h!Pz)Lniv`p3g1J>>Vie4XEx(Q_W^ynl8S)nLZ7~(ly)5>7ZzU( zj;`+lT)6_FGw}^0S9)EccpJshdt}aNAs!!w^{0)XTzlUm*n9J^h3*>HMLWC7|CXCL z;0A*F0vxXE{2haVKFxo!6b+)(g|0Hn50!WM& zIzlxF=`<^U+x<^g)joj3Cg0KVL|u>XY)U=>_=y24q8{MyTaV!S&@cPzpT9k+OZ^Gh z;6o?N^?XSpJzt{O2=QirlQ!>b5=(1*&+xe}3y&6c7FPZ{ySsShy#xHeqjMaLr`U+1 z!g>SH$Hu;Kae>dAoB&6MK>EBM08*BVV-#sC4)VF*+QJw2_VCT~vl$*B5dwd9d5PaS zJjBmZT#pMAY_wQtsUc$>i(_{e|K83H{>90O1~`Po2ssiVup37htl*;>6ShyB-#9nqH=C1q2~gbq~*C0AUxoP zFdIS61bA|BSz^{&O&P+b8p0>3L3BOaRD(hrKxCp-Q-t~{tueeE1qw}e8)_O!oog=o z3OH?|w>JSbf*^rIz^Q$C+rUO65XlAttU4DiWxn*%Uq>gv z5omWARe@C3r>L8%)-9&IBW5CN-oeLV@x9(xXHNEB?9nwV zDthyWE!w{__O1I|c@Y~vn6E#P5fyCVs~G>RoCqk|wODUS8PZ_<&%?5yFI}Y-30Gd& z8vMF?*wmz6R}FCV-T$xK8!6O2Gk}2S`Go}*7ep97IAQ{Ri}HD!(DA9h`yrayu6xcc z4wxv#D$_toL1mL`6$LWR%!!K>r&9=)pWz?8-DFvj$8jmgOWD9hr4ke*(E!J`4mSGh z2L~8VG7Pf}yRoiNA|*yyhBrndeEjGLyW6|K;{%;8N!Uw5PmVa&0K@h+Ub%AzpM3ZL zzkhU$BwoZo2n?i-#WBiqeDmxaKYM(vEkS5<+ouT7*~6Qgz}>s}!vA6WWq8Td=16C5Fv$&`i`-zF| zK<+7dUb?PuQpzw-6ze9^>8BZxk97dx)zx~z#?0#*N5Yu))=?{SKpqo?7919cl{Qv# zAG!)AaUOtB8?ACkcvsf{Itm8dnv>f})BiSwz@8c5+-gf_`?V0@>e|OU{}|BXOydDJ zDw-@(q}c7{Dyrr9qu_7EeA1~Z%7CxlvB+W*2*Ar#_MKu~k7sP0e~Y=+iTVN@*Sv0b zjlDI$3S4b^-)(C5i1Dbjk4mF_jALVQZ8B1-%4=5uN1nMv8AHHaQY=lVeoaqI0MK7T z_Dx`Ry~z|+Y`q9Rs~CXVqyL+LFv0buuZ2j@^~*kGsV(*G{ty7|>z|5ZPUv=sBC}r* z$YCs?fRZOG@}+ijnWzrXu=7Th z7m6Y+gGAcBu9*b~k&Fr}j%armuN)lU(Rhl3=@cWSV8Q`nXpW41{rns+UySq#DBD9| zZ?8N?vOtUDie<=4>+AT_%S#N$Qw)U!kQ)n;9B*D;>UbHC9s%pC+C^n`8RapG&);KZ2#nN&Sx6RM$h!!eh%rgd*6lLCmh5)J?jLSEagHSh( ze7@g})8D{%YD2}`n1g_I6WT)5Fzha1!zmbf(mTuZ3GU{eK)HtSDEFMY`mMLQAJh=G zuR?{IM9Hta-rMc3XABT=&1?C!&z)-mIC!&@TL}pswEyyNpbREXL?-yoa(vg@RX<35 z`)_XeRvST|S%l4N{CQ8Z3I##FVi&m}T`@q?wtt(x4+j~N1fYQL5lX;AGG5iU&j*j* zcJObmxLH23ADKIzYYMPm!&dBb7j-F1xASRMx}y_G2|!sqt(AZAI0sopX~ALY&`t^$ zLTgvobu5n0ZEoTZPfqd1MTS&mT9>F4MtP3=#!cnr(=&aF!uc6+=S~?}S!LzREG+>W z8^G=^e&y~x{NBk4{$O+hM8I%5#lS?OeQP|%Zyy}sbDNvM-VU&~2CNNq>(UEHv5sOp zSOIqL;JIf$g2DIR#&DV;DF&QEY6jf@c4z>OJA1kgTU*r*A|ZnQ7Y*xR4D29^*R34* zFjAYzU!f0SOpOrvERbxFfdhhziyFivjY6*U?`&FHJ#jR<5W-oR92HNkQ$AdCtqXAz z(Wil^J?xD#G8?HY*dI54^}S~$c$K3}SDy2xI-$6&K-tGiqsf{vlYc;b7( zN3Oj2CD*&Pu@I`OyRScN24sdA<2N1o%#5eH`tp00hL{+6DRdNe7?)U@9{`FVaP}Hf zYn5aFpEJPGRX*qo1i9{a5_WpN-&Jk9P1mWX9pLC%f7?Z=I88;C!NR39e7Y*vDH2AC za+?B`o_b1G#BBC#2mrp)Q{-Aut9?3RbUFwTSLl$X6aWY_{=KJk^{l7e|2`M-ret?>5v$6U3D`4PX57^c?;o>$IGq~z zb@OatnQX@xfh-RI9EB!OqBtQWDy=x~?(X8Hqhoyg@)D|IA)#G8 z-Wrc_elfzzz`GRu&c9zMW#MiV@oPNA|KqdW&9ZF%wf=mMWB ztT@(zJ3D1Psm^h%QMHv7;LaWV)LVWwuT-O?>R zg=7mLJP4obxlHN6N*TF~Q49{|d!J{e)fVNMOAUG~EdZ0Wsy(X2m~fcHx)`j`dxYM% zGpVbe?_8TUrFS>w3ZXXz&Y%_=gxqQ?4~4Y6wbWvRtXQ1nn9-`Y=?g9(d(H4WxSTjo z%5b<)gvOsMZ&&b6<#^7Qo?oZ;wqsn_`FCm4Q29VvX7Px_-Gc)#b@gfb{&m4mxu8Yk zEMjp4q+s(X0x+$X!GWfV`LVldUYZ$CR^PPs=eOstZ%n%c!CK$t2GnTm^c0}39bdTi z3iM3gwf(JeWD62@Y#CQZd_5=f1rqoB%J?eiuIJooPFl#e1{`HW*FQUN0e9Z{_oXY3 z;c>+;Nc#;5?6GmzcCFb2Y*YXa>pQpBd;7EzieEt#0*IQNvQp&Rfb9OV0k}$h8Rp7P z`ICGA=yuAo>N^$uJ?&kz7klax#U^f_Y5O?R*Rm;)O=|!SE=br>jTaYzjaA^@KK|0% z?_gI-C@75541-9SSQkK=34Hzd2%p_p2aY#%ybB%}l>BF8q^&MiR)Dp2d}?tS55{Bs z^vWu}b$V_(UFZAy*%`k2=m4+$=#ObX|ML;BvI;1NDSH$F$s&IFnP>4Izx90_WjRLH zj5ts^?oX${@E8~lbscwibnrevn;a>HnIK8IGHtKQ>nhU;DAvHWZ=O#9g^=H-QReG> z=bV$5`m9z5w-=gJnFfgAtsIviaP%Owei3QUJzjX^tl)usi^kE_D2ioQ{mm zv?bT}j@AOvrZ8bKBq-k`0Vb33|K)|Y$nv?V@D0PJ(84WT8YG_Hhpf|r9O$1=dV7bq zt-x#mfWJFMjYf{*)CgsQxl(KcmjI_TtFL#6x{PbG)FA){qWX>%jYj}L;DEMMQ{t)P z%$jVE_nI_~EMoY&gV}ZuX+GA}uwrGwVTvQ@o0G&tbt; zN5W!;T~w<1zOJtVkpjS6 z$&o>Wf>M8^l@C#o9UHU!|7=C$UM?yyd z#S#k&UQ{WjY(oi@=Bng{g!zAZqAfUtVCx{0uX+AnGU>7$SXcxWm&^YmbczZI4qWpp zr4~R2E5O<+e)^eb@Z*PvkV@g}r)Nl{Kq3S-q&`{Y&C5%C_V^fBAL^4zHn&U=5R{B= zo@?Y~c>t`g;BV~j&Q84vz2-A3Z{19h>ubI>nz|Uf}-e8J-^=1E;4NXeoSoSZobWQj~L> zfEsGps}3A?OMbeI&v5lrSzry)s+dM}!JLkCc~Qoup?lmH&n7y#h@v1zk>RTtqh*_w zckS+`79LM>fp2nMH&5u*ervrA~X79Hzv(y4BL(&S9<>Kde(Kn4X9B`V_DVM$6W%()IP4h8@F(B0xr1Od&s;^u7eD6 zU~KkXfBR10zU#^T=*m5ael z`7;GKd8j?Plop+-K^;TcUsa6OrgYUx;E*WRg>T~N$OAz_%dlj{VOw4Z&pw-psw`=j z(YJYg>6yn&rObH{xwaRII8|D>6o7~-*OFebu*}*bO`BVm!C`iX2B4=dXIkd;i`y^hSLD?LzSv0?phGtX=yV24iWY4o0f>n?z!*7e28$Nujv$IjCh zknAx(TLpcM$|azK7%EZLkz#Q0x)85XFkG}Y*}{Tdu&<2+?`Qv?aZw3bfH4;&-_gBw z)LVYwm~a;Hm+R&;t$DwqA9#*0Cf35_76qmX+%Z1tIlWbb9M6Q7c6k zrxp1$@S>Xl)RgS?rYM(PZ&G~YSQ56PG?Z`CzV(fhK(gMa2vGqY^XVfdRoc9(1xv@d zQ|u*1Xs1&_V!9?vxlss|$DP{cvHh#KMDmuW`gIl@GjpY8{ZMN5M3$!GxWE_a2SZHg zopWX6Vw6CTfKhTbw5;*4v`wOv-zYz(OcLvC&K}LmX>B5pjYJg&}0<5p&$M4<4 z!$1EE{I&IUym4_+fDwrq1aDqm;+5f0yMPo{97(l;G6EK$g`Z4S^d?+uwfYE&xa9K1G4| zK5v8G_TCr(dc4^xU5uwO!v`FUoc(^DI?g=jxu0k5>&1Op zW%gWc0QmRipnwy&-#ddV5-^$;AEc0AcEvng@D!OjuHVk|1b{0*nd4zAF`XRi3lD1D z2;iz~Ll!&AoBk=Fro6rlaCTjvn^LfQ`i^hQqNgqODW6*ld8cvD_I0_w+j1s>8^uxN z+^vuH5j&=hT|I|2jxUB%U6lzyX!NjynjS%0+-CW6IWf=mIx#hTe-RH$p#pmL9{(oq zIIccx=2`PoR0=f8XjK=C701OGxN`@;`ph%+(K`MExZ zHq__^$Poj1TKXVmxt@R@1d!utAYo0+n-0W$P>4W3TGXY9Djg?!p^aia7t)jo=7Mc( z?DPX+zzqTo<3w9zO(y!Yv@}~j2L!I0+HCT6y=}mUBkFeKYfh4aT4iN=SABfKxN!APPnUAsfTTWQqwM#aa7p4ntM@otSM!J7MtfH31o~JEkHxZJM(reUe|sR0`Yq8 z@3txPOkFHM*9UBP=RlzR-T+7F{R8)X8uZ50cir#ZKv!FQpZYa%@8Elalv*(nN7@=% zdIXUy2PC0>}fZ(>&3&7!fji)g} z7BC^8xR!@t`$-g)N^KdTR1gGWlsGRl>nPX#kOfC&Pixt}ZLRgWC4~@L<|fcSGnSA9 z1W8%mBUkmlBxUImPdsjx>Hbh{j)^T^z_Q{<5@2l&KexY+-#9$NFw@7nrYc8jv>x{- z6TE&t!b`&;FuDMakARgW?FM3Z*5V?tx&mzP;0t?u_{WcrkSbMJg^Y3?i{p>a&++_!+W1LJMZmnNF(!hEgoXo)P5vh8{;iN{gj+ z>Ot>%G66sIK6Mn-z`4={gxfX?KdsB;_c*WinHLGsjL~+Hoz5$awyclue=C5Bn2>-* zt_i?F)Z~3<@^A>f-m*i&W`nlz0vybZqK=vZJkIuUn8jOIi3U}eU}l4=1+Za0b>LwW z3bknvWNHwkuL5w`79pYfh3?n64~Q^;6V!lSHNer6LhW6-|IwXU@0dY9u;BPNgWHm=A(fjp$> zCurUj`NmeN5V`8dEgWXn?}lI+fg83J2OY5txYz5Md>9~KRDsvu1z#PNBI^F@s!nhHHBk5BQbqZ8ot97vV!OvM;aDYVviumWtY1N(b;;jIMU8l7R7 zYk?^diMBY&a=bac)W^@RtZG-48KlhelPcQ7bY7fjb9yM#iN@5APcj}9?P-W1zysir z8_rFpo8F!`jph}^%bqLAf}YFi6or3$mg)JCPPGMCoB(4AM9R|Ayoh1|CjLfhEWP5W z9W&6z#o;Qb?|39rdOJUrLu``pyVkXC&V$~|<2KZXLdMrzH3aY3PFEd(Y4*Dpy4_F?l@Hd-$67^RXda zj91#QG@@e}MfwKo*Huz*c)99TXQ|k*@d&&qzzw0}Z$#{fSX*ZF)~BX=Gsm(vt6rn> za@V_hz#nhS496Z(Q6iW&D!>iJPC7H`UF5Q)amB?+jFAPcPuwF!O4F1iFw_YSHrN4_ zRve3q!0IY~X@4KPQPn6U&2tR%9HTtLAD^G=qasHaIu^&-Sy_3WCs}dq?BLa{t@7Ae zR{lsSygoX|@cc}ld~$TCU0-YxLYv(U2Ef)9UftQj^GSjYDT{o0-hXs-tm}Au44hN_ zJcHh5-Z+}2lrhn{rCa)t5C`qzxC|s*ENW&>T!`{$*{6x-Szn$P znM2yhI8d(BH_b)Mt|$LbF%fPW30eJc>RV@5dLMw&NYJ#?$x#pfFQ-d= z?dR>bp1JQCLw0#_RJHivr$5-~nh2Rq-^+fsZVd7F^?rmu?JeC5^3Aa(pC?WBI3}Kz zYn^Ei&m8e#gwS)#rmpYUc20GnnK{{ZjjEZSP0Mdn$2Mg<)6~4L>;12D{5Gjy>oyCd z=l9#bmtDWuSP+l}2Y)X3?oBK-Eo$55b@gz)uWxL-t_y*}9mf}t+yD&#s@5GL{?xU% z3sDBuC)ZBe=Use(l!&#(gF+Fln-Eh0%jDTS#}B}jIk30{tgHc>+qn1qM{)Vi4{(|* zY(OGaKq@tOkdVpO@EBNI1@`X%(E+uRI30ExuCAAKG_{@w$;ou)V#kFhHS zMyjm9>!&09)Wt+M+`(fV5LF03O=dd)fcBAP9V$(`WH}%+oe!DiSLy|;Q+z!gpuTd9 z?a~8O2YjvoZboNMm>|O57vu?~S3OM_gC?Lp-%v+?wn;xPqT^YCa*^q}@w9120mBGU zJ%EaWbs^E#QUSSiLQCIod2@30zEpDYVuow}6gNG-hx8Y0(Wm z*GB`{0KNB_DD&4Uf+Cv#kpNU|HVI>?CJ4PI|3g`3Bm}%#i!MXO^&Z7IcQ6|Oineh5 zFRW}`=A@o-i|fMQhpu~9-GmgIC^FvtQm3pGO4itM)O`TxIe<75a%hFhS#gTqSDdXan>$wxL zxlg9e1^+?y&8=@wzsxi#*K$kfh09lee!({pSzp&Z)|u)ozR-XXWxu=ZJJ*iG2KN7; z4BN9q8e8~uOka7{8cRHnMWd)pA^@40i-G|k=93s1fs__SJ?mVZ8dc7JS#=oy6>V=| zjEAoK6u;bRET~Yh@5?H0T}jW^>_EHbzI7--MG#r4UdM@8jK8@rOeWi!d|k2&QQ

    • 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

      QMt6g_P;<i*F>_EXxAL4ig-k21};j7;}I= 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

      Y-v7s7&6d7k;`Y$jUq>r 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
      d^oGyZ6|5l>v91K6%uO4LJ7dj6M zJ-h|5YR#Io=fdOν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%0DdC&R?K|6I(*D~#LDc>ftFy{fF454X~9 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 (RUuixtdAN>gMpZx@# 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
      u~XpqPpUdZjyOM(#s&zUD6J$vhx== zP01&L=1#zfix`pW>R}T1D13&(vz_L zuk@jnzz-S$nE$5>rzcV%3oH0REcKc4*pn29+W`VdcKs6Y%@B2JGxSs#sY-%5Zuz81 zgj|(qlYo1@W=ZiV?X&r+3822k)&Pjnvxi5_KMIA_G9kGBQc+f^w5BZT1=e&^czk-< zT-Y}W;k0B;a+=i9y@i8c%~sTe1JZ}5(nr0W!%0D4aS)_% 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�T$gxk3(^Mi=TunmyG^=NwW##IbXglWTBjRr<@8a4=z`Vh21&Du$o`O!RA=+A zA^UBn2lIcRQ4_26SkY@vpGk74OA=1ADkZbp*}9D2RSK|LfZ6rJjY%`O!Ue110FMRB zgjcx%kEiNX@i&2yk9yM%PSdkY|6Yud>{z*SQK*Mg(R{l!d4?_Ojf?OQf4%-fRi3m* zOa+tP#VY5_U`fz900g2&*G>K$GnLlp$f>Ee$_8)=dcz#baALxm z8I+4|fHVB7V&~ic)Vkn0M+|!Rw{2hJyPT7X#6h@WIL5LSL@*Aj!87WKlOcD>o~aWI zRxZ3?d=wCg0`Eh;6U8;1QTB-vEtS1tRer74w3o3 z?d=uFl@0+|nVC>iyb|HK2=>UGogIJzODcM?b;6;?IoX4$I6Gxf*COPL9;;mY{dhXL~{ zrz?hq$TyDEh-A0in1MY}Q$_?k9G#774miQ@MnA6sZYWHFZnwd$+qZh^6j%ad zafQrMcvZaX?LxRS`!3$CYLFS`n&IRrD`Wy%gog{r;v4UgN2b~PNM#dbO^bQP3jC5~ zUuqJ0QCRKg=(VV>53}@p>C_|M^qR@ElH={hY^Dm*-Pgw%`%p$WbHaKN| zM1rsybN{c`p(l~cf#656ioFnU5h|yc`K^N`e27`HcL=P>=AqnO6DN(!6B$@Q@os+` z>th+x=o=*be8jN`jopej_8*_|(p)uRj6(1=Fb+e4AYpU!8Q`|N!vre%F0)F2&=+9% ze02@<-n39ed7ru@%N zaiLYQ9UW3YyF5^_KAkw@i~`RJ|Vs6EN$XvsxciOEO41I@ugN0yA%CVlw7OGC+9-7D}KVyk%cnaRj)!R zX^&&0=4k${ibw=9u~RU~e;WoujEz7n>2D*}DA{E8?`M(^pT#okXKloD{u2il4-N?p z(roek%n4OPotW`FRVl*YU%+>IQ(Ifv$i^xcn^;|Z)?{?S z@B?yo-+}nH7#GGD#=%`KV~14tpChMkZ888m!&J~=K=gHgfY zjjN{|ZsE)`uqbbssk$DjYw}?)TjWE?XKry?eTMgioX}4e>yGX3Qzh=sAOAUA$vj>@ zQa+yL-IH8BKHOMtZl&b?knbm>)G7Es+423PAZ&%S4f`5dMNr)_bs>q>!ijITYPLB9 zknVLyq1ap_IQ67t%WtTAQJ|opAef|NpLcB^_lV8x)Q$MbkX^)=mw6k24hd$UmzC}I zB)}^@k_IP0r6v2W;K+qwY<*5#_si0>9y>wQ$d6ZmL*81FF%sv7;~DRJ0P;k0S2s2N zcjh!WUW94AEqEe$gG`HLwB>DPt7(U#)nwO-TWze=fkfB!=Ltk=>YI?aJ!CEXw^LEv z_@g@nMmz21oVz%xEFBLT_m={k>#l?dR<%=ua{;i!+J#h&k)-piz7wc;{5+wRPKtMGz% z+LLGN7F9h)43Q1t9W`bZU!$Ub*l`$r*UiM!j5F)SW5skSyX4!1V1NF)>ic2n2|5XK zu0k1OGs-YRS{K*R)+QjX;WNciLO5cYOawRDQ<>G=b<-ENzoj_GlHk1VfpP71r_ ztHIe{_lU5hXmPko{2DfrkRLwckXOrhm_fGD3z*xbk6?~7-T}A5;AO( zp9RUw@wys$+~fcD(vRwmAWCQ_f5#96T4B<@9Toon&^3q%utLsOwwldv<{?jboKQ2V|AYG?m$~X>GTo6Ees)yy@g3a;IPi_gsOtcDXCs{#{mA3&jK_^NK2CG&c~Xj~Eky|B!s zwX(dh=)w0)w$MKTY{7V$AOIL^s~0@qFYKD@wd>3eG#hY&9`(rLRa-&X>)&DO;_CAL z&Jq3pUVs{E`cb@QXog=y3YpV4-q8C=Z!x1i9gBkag8aN5Aj)v#?=vu3X95OIAg}<) z*IIf4q{n&1$>A)gSS9o4)$t*(T|v=hyhD-1&iiY+Lva9sXeP6wL5x#;#mVL=zuF+T zLp8}`7u8=m%Xl@nOX66a3|&eOs^m#xXGBknbvq{8R`dhvudwC^c00;Fc`7hfHPv|C z9N3mL8_nRBIYKGd-l&qQdc4~tx<5D$GBUaAZH0_z!1rc@AZLVk1!KmQs^JOuFM(|W zi}*gUY3;Hr=>kZDe>j1{llGjw3oeGCrKL%d8}-&mi}i=7sY4 zsA1i*M*F=kSr+1>>2C@4Grt_+E_b6H8-(NH*5^IujOIi@ih(@9l1{jPaq$#>2M~*E*F+6c!C!=8G$QYcLl<03RSNHD|!+ zrh#}>BZcM4>%hc8oNWdD>kKBlj+R^r95qD5{M`F&TTG)H9%#z zKZ+|2gp!X&cz4{^^+$w48L$T~pCARyELZz{IinD%wXg4g-G$`t=p+egPJd6mA${^< zhWpag3a;0GC+fu0z7ga5U{_;i^RR){4eq=B9 zx+nc@hLN=V8@=LmmS*OumnFd=()MsbDEgTDtuR%&03Xy1mp#;u49!EY?!1c<7W!*X zKjYW!kQ9kM6=S<&CX4${kzF-~!YTPFtPx}{Gt?s6TEL4vJMej;SIGJmoW*Y1Pax`W zI;`UxY`d(s^^MoJ)|ch6&c+kw>cLqfp>)+1ca0{E`i~(_C_42Q*O!sjiQ_Fj_%P3;!`*%19i=sBT7UhbwuUI`0&7zhl|de9OU3z8|7S`4Y!X8BIF{d#%da@KAcMHZ?^RM6{!BCVE0# ziimq&$D*$^cV%Jd>~PPy;tb?DG~JbZwMPF8*FiiHV~-#3I(c8BkP$1zSVBN$v^6Ni6DB_@7v4K2QPPsXKZg zHU2~Gax3TdNr-wveTbks^Ijr3t;Ymr5!w-|I_q24`&EGFU%KG6o zMq10yMek^-W9)nW&GOkO+ZHykSWF*A+5FQg_qExvRgvbJGgza|oK$njt;pV*1a>3( zv+w1W);id1#H?3 zJL8zLJ)U;|2YP2Q9oOyvwj3ir`AJDCHKB-3-=wI;UaV!w@3UXOEpMio zSQPIh%Zma#jki`m^@-Eis@{pkjZ|xM*R8P6MW%hK8f*LG_uOIszUAM>huN0%HRbrA zciokaouUtoQ@#pNn;%|fL)DIsJUasckZmO zW1ZY#Zhq`wv^o`q@VWUG|95F|ax|$bCl>GAs-A4oyZpBnuMZrCwt3=${VJ2r+6 zbdV}lPVN@>QG|zG2*seR-kw~M&Kl#g11=&jL=qv86K$k>T}2giw8avvQd>TI8N5D) zQU4}-``{(>wyM0Vy=u4< zM*I*mYpEU{87W|39J4z{1X2#CXZrVTf}Fmh>8619vcmUYRsggs;H_Ch z_R_}p2Pf)(v~Dmd;KXNDi&%%h-SSkEvvPklp};zYL>k1+gJ;p?96!up3H5rRT9Y){ zd*YJFB3{^dLW%jXx?xeO%*j75y$F#hyp6Wm7VAF)urcjN%O(uvDk0L^Wc7s8T7TW3 zY#9zt(5}wz?4r)}LBWqEh^SbQ+RRv~iG>cen%l>1IO<;f>X+ZoH%4xrbm~Ms9w%|y zd+dE}?`x778cObZ-LB^7q?qaL&qgG^)VQae1)6g0xuF&3JgrK&)LdP?_@#6gH+LX1 z@nc!hc|_{8oneA-bB)w0TLJFBXGpe_w!)%Xy|$zrQBc57uvJxFvq>clr)p*30}WVp zCsAXiIxMPkX;X-W9xv>`q@=JmyT=v+csl=A-!tKMN;wT!K8q@6kQgQO4Xc7^5-c-3pyf~?`RwQ`-Bs@Qjxr0SF+g@Q$DIigoYuCHf@2} zV;dI6bRSAG`_cs2Flk~dowvDg<^aeZavv*fwxhff71?3ptW>H^b8Mdmlp8(hz|T11 zpI2VHPi+vx$AM%}BAh03jc4L@N*!uChRI#h&b!l8?BYXQ&06Y&jG;hZL$6L13vs}m z8rQ<{oQ!Rtnwy)e{#aXv6aad;RJl}xtMfs6xjWFTfAZovTJ8saY_S{(i(6Qm|x`FHiB9kb- zHv3GQ@=jTm2&oftA5Z&=RzL6Y(<~cbY}7G{NvBmsu6B@AVh71fc;#G8Tz2rosV*1TRL2d_4M<~umvcX$S5Myj2z z7ICu9qNSCH_G7l>e-S7)VlMPXbOC?-SA!v?ToiA+g^KIm9K)x+M^KXe{tP9+qQ%8K zSU$_x{4F+qa=dxqt7dhI zdw_%bG;Z6JzAP#=EynMJi08<&ld-=IAK#h$r5LZel}R=JVT@JweiU$e*t8((hyk`h zEm_tj8e+;a^0hcoSOQ-%>;ZkkQgSd@vk9@C zn#dSdwRQ|7LWJH#%yA3EfihO-&y|l$4D(@8qK^1dY#N1`?bFSS3Jzncn?)+%tL@`G zj(*j->>%0^--DmQnKfpgYpRC_UTad$96e7viaP7Vdapq;uCzpAfEVYg(DD+P`jx+WRP$$zW3w{~9u9SlL5iFi~aSV%r|y}%A>z#(IWM0tz%8(M}$=iTpr zNs_k-3zNZqF}!TzAPajz%d%d_E+nUp#>E;%;Q|o`TBV)P4X_iUNOKdru9a3(diCJS zEX(23V{Do~z7qVfOLBd|*T)>V+2)4wxp{L7?V)X>LVV?2v@42o>q39^+uSCku;YHF zZ=iNrVxyBS)M5^`U%BH-{>hd%|4Eqb3p&TuT=0&|PFv{eEQZC5XlF}%Muv9L6k6!< zCzq^7dOVwf`eCc$*`!2OAkXDp4nYN9N|vZeDb`6D2MhRCoBotiE95;Nan1 z8G1q0Fi5aV2*I#v*8WHwk|~;tf>U(RJ4V4O#?X+EgnmyTFGWKpxOh-x7IN!lAfE(fK6Z;4ih{ z3TUPVG;hMn+v@E27lQSVi;)T~NDfh@t)yhg3|*ihU7<_gdw3~eN|ZRpW4HAn5XKn% z&3D)NoWyKHyxe7Lfvc(4+Gqbv-(bFLpZWqLEbgY0oP->VG`I z*JzkSBU-kES8#|DZ}{~7Jo9kcyx=>5)*Onu1*9*EmO_l7sm|_| zQ$ma#4{~^J0$st;m3E zR9UN4RM5B6H|s|Yx-Q{2cg|b{JacrHXmr*&Wt>T%-&bU_W6nE}V8)A*R;IlU-B(`w z7sP$~jlG-aTvaLOpB774YA>$MM-UsK?JIkSrt^2fA*PPlV1HOu;`JI(>TI5B&vURm*K*v&m7vGOxOM^XGhJYq`c@^@l< z{CK1PteJ@RH(7kq>fV$1%?u-Y6E05+v>F&dnE=;xB%R+XUWtN*BI21^vIrH9Eksv+ zPuTgTizxQ6gK3T_$#K2oiRk1{HPVP)qxdbGbsAbKdF^epz;uf3b4>JXuc-jG5kXeL z@MC)uCT^H5=u6f=c%IOJD(Gj{ce4NoRWjBb;=m5Zn|o>CHyPJ61z_%?JeOxXR~&lX z0^#!%yvj;GAS{LpYof4XXYE{grFsFv#u{i*+8TKUG|!ux#vyooKdo(U`T($e+DeO|t_6qy!MRS@EuD5LR zHw=3rcKVB;{5|fJ;)_q38o8RSDs)1}xj9dSU!e1_Eg9~O{F?Wb*S3}F4)G&OJa-Md z)(9|fKdc=)^P!H>iw~6Gq>-sC%(2~UAexIYOU9qZJ++OgCg!p)VU3=PaQM{7)1Ip` z`HvZUkW;Y!;rRUnZrJ7J1E2Ed$#YNX{|hdA3WvGSH$kx2E#K(cRmjf{m)$mdmj6f7 zRR={GZvCYjmaZk1l9Yy}yOCB>xlU; zvhVwx=bT@i<}jb!`zrA>5w+ctec|8wfB|ab+d^+dmye zLlvfi(My0NQ@oE8>3uQtqIMnDlMOQJrRasBIw8D+FwF_&^oR~jG+>F|?Gw6u?DeVf zeyQz$@i~cBgkVoMgX}LJ&;%hJ@sS~uk=0AnPZH;dNep;NWNqy4gGdN)QB@T^?pUry z?#UAH;O|97U(0`#A7L@vQ{;n7X*Abud}WDe84rP$1Lk ze_G$XvRmk)i$-`bD>>9w^t6(d4-{HSS{_!iuqJU4ymFHa>2+Wt1~@MH14XW_yyASl zwql+xh*#?aeZ8PPTF2G#JHa7R6aSDTiNNrI0U6Q2i)cO4k5b8oE*9L73);*f`!?Bh zn_55#c3iM_EEAiWi7+K?7iOHKY?vO0k^|({Upzpxl;cOD;990!5NTqR;<++Xj<>gN z^kM8K<~(hY0u)r7sqCM_$8A#>Bf?z=X~EdyH=5nf?Z#HiCGX)nh>WijzVPoFqi4dL zE!Y`n!v_mKH<-Q&7D)^*;bRFuU0&8u*2G}q+5=&6)#=}xS3w3`zZ45MZ2fB<5hkQ zun$XtANKz6_~FU^!!Nzko`PiZ>|1bJX@Wu!Fh3DMYg1IFqJV()J)j!v_7$J3}l3Ybev}q9E^y+xCM>0%+voMgFogAQ5ah z^*;vMS@ohssdn7VBn6SO5WTE<$0gMB)79v|4&Hz-ucCq`Ts(bZ{)x0UH~%@yq*F6s zue2_F3;XJNdXmDzkhq3bY!Dps8v7l^2mU3bOiv@!DyoyLM!EnlwV)&>7rT^x3d)Ah z3n@jrLqm++Pj?Q?RSw^^p~!cSfxiM<7OT=q{*+(7nj_Lm{mWLR=M>k1WBgHd*XK=^ z=3M;Thz}bC!fcIriycNG8AJ;-74eQ98$EWJ+ zqvqaurpe@%1gAS18cZ0QN=xwBt;u{A!ngxK0|TCtIup})K*fDE$)DvB1uxNw_evKELwj%&$Xxs2G z_FbWl^pp8FUphM{RazJ9lgcDJ0L=2n!Q39Otq#!!5j5YW%rc`SLWb@8W0_`s-4uJ6 ztZ@deOF)wJs8dFDWYYrETY-d(-Y|}oZs%! z7*RkyxKuUbZ`8)>H+9sbF2~#&gTHblmBPZGI?uN4=Y-bd_iZM7BNw+u@z^x zN8uc#dQ&C9nj{xJhS0uJMEM=XqF!5AZ|z#dcCe-pw@5uo{ETrA9ZXxZtB3ni3!~4+ z3GrnYhhvK3sI0sgLtoi8vZRMBJ`k*nL>`KTo*e3~ME-6I%*P-t@_JYn2fa^@Jp#i@ zcLqA7K3IXvFr{x>Foyao^OK02-jsn!x;bc%Ofjn9`vC1E*6)Fe#Y+Fzzql#->R-jz z{=PblM{hs>7_<=Xv|wD?EifR2YI7j>XO!xwqweXhj++do_nZrTY3Z-uyqZ*XJiQ|O zN=D+gyv7e}q)&1Sw~vt>@bdNvqgp{QN|r<569rS$spRgmY-C+EXs zRci1eXReGLOdZ2v`U4l@I4_wmzkKvoJlzq@+Q`iAt6M7$-XAs zEfY*zDxA%C&y1-97f2@J>6Qi~gHRRnOib`-Z>XM1Ww7FO2ii z@u;fXVNaAxfHeen&#^HBXJpBeH^M5^SlZjEv)ZA^Anp7tF)XCX&p(S7oAWsBZ4GOA zJltEHE~{i}pSFs{Tn+V&)Ok~L_i(#c*I!=m2ssiBHqI57xBWhR3%v&I$8-a6gp{v! ze{D49fB#+UfKB~(!e~IKus1Kf4i%8QbzSc@{YPiih>(a!vXKu#RYw@tF0QGmIlVa0 zmUM|$lfb1bgabh=K>B%|PSM=K&7BQ}Ke+>U)}(7-VB(Iw(h|0Uxk~htUibmUDS$Ty5{JX9vk=)uYjPixpdB242!eCk03jjE_0EkvV0`k5_ z^g?9;VQTdiJySNDMaU3j)Lju3@P>{6DIQF|zH*Kl$}wLwxIWqMJO^E^dMLRuC=uTO z0X^Ve!_G?CDy-XE{9azcC*P(>yRk^?$GSwQ^Q+5kIEy1#Ma>c6wscgqm-B3mN1vQf za`Eoq@$-_cpPWRC{@#E8O3Jqti7S&F8&!K=U4l_T{Fl6Wm+=5u+@){CjyZYS?QCij zU#*vy7uT@#tqW-t|L~S;_F`l~vbsZ6t${0ZJiYYpfM+A#=dpT6wg(3O*kpQK4h&{& zn)ihDso`tdMIv+L8K3v~WtzbLqIM`RP?W*(F0}-;1YDsK`hC@4S-gZH4kCpwif9<} zi5j>iEuNbCcpI?`dU_UH$EQ@aNJYuwBI?P-bxvCh{gy8ti0H!w11)70q z#wwjE2wg_Fk)~0UPN@zWBO{QEb}}irW_q_fiMR9`O=wgK*A4Ck4-46vR)lDNWdhDS zFh0aAA3A_Ye5Ne@l-)B&0nZ-5GoU_-1LkIs?69i?uzLyR@87>ClZ$IE=&>ds+oJr` z*w|HoKOT*JSp9!3!0-p|#s%8FhFm=?3uX2UtnA#LJ`Z2CDn1}(vM@yzbvKRSAb|?F z+CiINn9^!(u}|i}<+JfN5~EV$h3HV=lW^xw`ozOUM?@i_^sf$T_yt!1N zyN?^$+S)mIo8|t7j&P`&8S}#Tt=?X(F}Im($y}drSO4TBPDwbU0DE|C()S-CS(6~p z0?%)m7mA-}Y{SP+xf`_rvMzISuXdR3*ds4hdWOq|+`?iXEqJsj`N{;RY(qvP+r4U> zwZwhLrISe^Ha<2tT!+=om9Oo^&)wPG>-V@ZM}J;yeCXQqWL%9@HGrO@w3QY{u6Zd@ zv78OC95r3FU7bGbg(F|9#F-VKxZ=lq2uQX45L>=#dW#cq;x6M-xRsBCGZ4_fU+SW| z+>wLhC_o`ph&c=>i)6B}ddEV&9c&g+!ggFLIh( z3NidM=sH*h=e8Ze-{DGR%8D7k?aA}Aops;NV9Mj9Iaq$iW_UvudMIbh8yXiqraoE(b5Fww~2FK^sn^9Kb*GS*q8buPpk5NwNxmT75iE{H9eC( zK_d+=8tJNOj7TJN_;A-6E$xGjGDE^c5a`@|%kAl-+O;+$Ia4{(K_T=zU-t+I_LTD< zZDYCEdpY&NJDVP6V_}QAXd@CK*lQQRT=QD6xQYB8K&b*B4|_KJo6wL({uT4E2TQrR zRj-)=V}+3SoYwHSw@VfW$G0#2*L3atU5}X+kJ|cW9`{y90*THh;;5*Y`vb~!d-3<8 zIaMMq+k01z0QcA;EZ`KPwM$FK%mTL}0Vsun0^CG(G`-4qu7WGUiqeW0ZkTdrT)D)p z-R&dRul7Ahz_XI*XjN48szAy&87Zkub~g2f`r0FYI6)$W0XdsZlLWP%Sc9;jQ1|}k=v|TVd(WbT3 zjH9l}*8s@zt@gSjBYQ3n?GE0M@3gEW=Xvk#^>~Rj$o3 z-SOPfe8dItJLh7cqm^n|9@+fco-cYAPg!SxNP9K}W?+Com{)^xokN)06dtnR{pUtE z=ZsQ9fq~h!tO}KIAyUyjg0accc6Ibb3ReP`;InzXNnPee#^EsTY7ex-A%cMEkqu

      o5k=Xvc=`25pD{#tPIK`Ad*{VZ` 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

      #i2)|eVDMo99DEwL^JL1(k-OjUaNYkvhMqY}r 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

      -=XU| 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 ~e@9cb%qp69(A^?^0PKpX32a@rY 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�@t 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 z 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
      1vm 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
      9zcxw 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

      !z zDALHI25s3act2PywquNEBm?Iqx1QEDVfWbTzakWrzK^s5qJrawE?g`o>q;MPVcVoe zFeY|cS#^q_gEX*PMc!54*5JI9t-}f2$Cr#@Jf1-x&j8o~9_tA)awiE~7QIyOk9W65 zod@GXIHLmQ9;{sY{3{%X;Q&0q1$w+}G_f$r^bV+{9oFQDSAWw%TcA}$0a6W(?}NTY zG33oV-78V(NDSQLM362ptbi;L)6vj9acIlj05Cu-FG1U=Sc-SJh^zY!?&+2Cj2zPD z{xnqScP?^{%}wX%NECTx;1ZqDp}D=k_wep(qn8L9h1}eY`gxM3^Zlx>%XJghx&Nk9 zD2M0sNVTOxHxiR7oQfb$c+ifVCehUP139p(5sp^SL6Gw zh~q72uRCfcB|YW}x?Q2*sdk_yB8ZE<8U(EX0SSvju$UHE4~$SVY$8qouEbZ41oqAR zXP{B_F>l%}uv$smqjgs8T*00o zcn)WtIac0qlh*$0&VWn-Av})2g-$vbmhVK>$UaUos7U&tsnoL2X1Zt+5wLw#KGQ|t~HIj{oNL6BV%3W;B}E6 zi_^Bo%VU?dJFEI#0`!vhdrXLSg3OaX=Y7bM*^;7_^Tx(*`@FQPwLRm<0%{DrL~82l z7d&x3E%K)Kfy@J6tAMwd!(-jvOL@ER0l<^EQR9xX|L8l>-p`sVccp#C=4unRnlzR@ zoS`4Y_YQa9eKkW&t<|HaTWe=P~MF|`)0w@ zeFda&B&;>_z~vz$RIF{|pnc=NE1~T}^!1 zI&k-Xtf25Fsr+VS^n%IDcdq&wKk2Rl1v97%Nel=>%u4~tN6hU>J+`kM$ArKgGXFEn zr4#IMfs5b&RyeC_nsHAo+%C4luT}x$mnBF;%#1i1OBbS~skaiXgE z4x2miF*O-fIF>@DE>Ymuic}fBgv~r3zkH#Z+pgb!UyP9qxEA^r;3jV0h@iB3zMOY% zFsPnsebYzh8}3o2&ZUlMDoVZ=vZOwI^H>_N&Kz7X`v9bixMwOwX(6mRr*J;6P;R~o z=TLxrVp$nq)9>1JWDf&7)gWVr%CVLgy@6~X2SELUR?`|C%*{vlww zo|}zi?F0xWSyX)Ta4S4B+-1rC;C_bLg=Lr}nP!d}wrX}M*jL2M4rMsBJ_=mfV zGj4V={$)&=8CehN0sj3lkz|^7f=O9TN#_(ikXcs0xi55+1JR5)L&16fJ{aO2iD4-)qfk<|{BJL}sV%r^lac#iLbd`0a(lo|b$VJ0%V^?WMR@k$ad$ zx3QlJ>Mp49rz!ELK?j5!r{WCVi|(C)dRO7#gyIFv403jY*G-m+dy-5W{io>D?KWN2 z1;3?`YsYsb*$?BHPF2>#_Z$amP%*N37cu?TDSatso&0VImlTm|Eep z$Dvh2pd&7802!qJeI~tVK_2Bu#zQDOkR8BBjwr&2gAWcPkk~AadX25^>~Mg6gR292 zMIG8qq4f6QVTxc6n{+tJ!F~kNx364f%`w=2T6ddBI>>`?uo{Xoo)Du0uhGVfxbb*u z;cX~g!ON&5S5PB+&L{G&?7E~@ifR^2reQNmvpW> znG;b$x4~0JfdCT3zydD#X6Egte_;k3>}#%JAMgJP+YLumne^Q$Uu!t|ucGF6;AxALqNdGnItS;JF8V zU!LjolgU%hQY}}B6ZNZcXF{k%()D<2AI5ptF5fm0KFcEwK zWs)YA9nQ7s_m9TkJz$LK-~hR~H%!Si5MbLH8s5Q-=g*<(fPo1gySt;F)lo5x4XAdI zT8+}w1g4&F!N8F7!!p6b+fge4RufLzi)eQ1>mEiq>SO(RzriLGZ<*m!7JcVd>_Z)O z=WfyD7>?C+&ulHwMT_*IP=HMsG5Nsf!#4x{%+$^GNJQu92#+3zSkRxkKy0)r)e4zi zm%*`DWf803<$i62m&7g1^&%$g+sX6nq4hZCEo_*bo)ymNI=C&nkw^IVZ@1w14l>P6 z`&^lB`=z&&tuV4-J9yX^?xgo{!6h(gXz5fvXP_$aG^nh2rjv%83=UrS!FV#11EuES zfirbbNa1jRHWdH1Hca4=p|=C4o4%l4)?!oMpQ0PeUc2WWp?V3}e{#-$;@~7p))4(k z9(%m{lm6=RLyoZC#TuFSu-C>+2w_fwUp2|=Y;CppJ-t*}JapBjy*P8jPG>JxgKIcB zJIpMTcgqQ~px|r@w>%8DM1b4li?~$q%8q_vazIvy>K6HCXJ^A|7*!~YVAJAH(-$%X zb8I}UX@Txv*QFRXxJYXqXTFd{87Puv91h{OEM>YL@4KMi~>{ zYV1nTq{lVmoZKHUOxG)M&oS!fI4 zN9_Bbw<0wPygE)2Kga_n{}l^bqS_Ff@kt4s3+CTHeGUmc5hvoiHzvj%X*O}3Hnv_) z%uxKc63d+IMvJ+f(3`PZ+3x00R!4#z&0K>ftf_POG@v?;j{E?uk4iL9>THuk8x60h zd&5M`?_L`z`g~3cTUOt!$2x5hU870P5E^-<*FvVLEHZgTPJ@q!ttYB#^giI4D6pV? zv-kZ(dYo$=mZAUCnaZ_2rHg0Q%^Zfd&Fh1n^XtvPoJZ~n6JiNTyKyPK&kFPrkYJEg z_U{7A`=9RFH<}1mMtxRlk)Bnz*^o*Qrtj0dNQqAo(Vg~@NkRVJ>4M+FAMTo4>N*;A zJOi0p;v8LVZ z&5wxJeOgNMA4o*e-4AKE_N}JJr;puu&4BeJj&taNHlmCX84yfp$gV<1V^IZJA_yD4 zx`2%Vc0*{VG4yz;UfU0_fL#I3hQ)VE%N_UFmD+@tODp9DA09h0OLxV8_-D}oR1ADC z)W|fo^pb=H94+B7dphXy5rXp5z`*?K%PKVxgQ`ssATJy+ODN?!g8{B^xID;Q_CJ>f zxw>?iG?fF)^qkN-Wb43K29OT=Q8rpw1cPO#LuGWO&!g$S&}YlM;D};ddAfjiY?k6b zZ1UTYkmp3IwetkEdjn@~G(I(#;$xMrRWx~v{L$kBo=@8^QAt>QYT8(-(Qngw6^^8X z6YTH7eFKmKeHSQ~)j@v(5lbCXoBk$NAO|vLj1@O^PbK+po%r5P!K54#f1hbtM8oUx zC4E6O_PT$GK3^^8fKLbC94r|!cN3()_BM~(7*?bh-q)oJsrjH0>Oe=O6?RX&d||$D zhb^6H#ZF~WQbuFwBF2w*588n_xtY7PwB&X$=`-IreI^7K0yysG9X)qRkjkKD-Os77 z{ErMrhQavj~toE8=QuY9i2(fco+TA7p(1Wz72;bC0{SG5X77>WBDz;%>is%Atxk zj8_0-%+yn`(A9KQ_)6==pLmBq7ebgK^mz!TeoLWj(i*zF#q+8p!)z!0k~8yd|}}qn`2e*hu{8) zXvJDYC&ovxsYdE7UP9TZR{BC!990&*2aM7yBjsw7k6_Ec@oTz;HE2&g2*yvwXJ-F9 ze(@M1X2vU)yF}=UneW{3qIrPw`hAVA`#5y9K$V`JTZ~4T?80#3FF(2-^7mU~4T2g4 z$_cDhoZa>?2oLPGld`gfkzc+jEYD;V%)7GrxQe*eht>%&jot^#RVhY%(#)~`qWK;Vx90THq6f$Wbsb4nc* zq@~Ng;EC-eVEM3Y?AHJ&mboZqJI&>M&Kr>^xo47^v3DR39?r>F%4K0uxyQ#-(x?8Ar|a09oBhkdH))eNMdEz3fyB;lZ+Z2lQ8A+>P=&< zNr6Il8FRv0oKYxyo>HbJ$7&40f3*?)0AI%?}jqSqfrhVD=rG5uCKt>753=l zH_Sqr+vyYT0^J%6a!7N0#lC+g(>@1PFr-*8gji|Fa9vq=w5;yFH7)ZW{vVy3EXLPp^MG^uji0VC_Fi~F5Sh<#Tne|@H zil-C>)Bf!Y9L)@Zp%z%)v4NK=CpYvoJ>O)N2rz!}$&L-J94KbiXxK{MeZIQ-&IQeE zVsJHZ@NU6OUK|YwPk>CJG$WpHa6G~Bzn)IvFZT7q%*SX-#9x?}uNz@hS9l@Pvv#Oq z{*as-nLDG2Az;w4n!v8nP`~5{w;fTb&%VR41Ef}QHxa+?$H>Y}Ia$nX<>H!46u|=p z&J$!ffFCXl>>?a2s0+Zf!$}J~yc}3Z4!0A7;=uX{RDSt~$inm41sZI-Gy>vm_Fo4i z;^gcT@tPdn<7vGNl_5zgYDwEuuX+Kh|EI=H4Nltiy_dHEy8hl_E8ffMieR@E)A-yr zP{bKj+AJg1Elz@(=US6Qsbf`8hkUgN?7~jAEj|fTpd4O#8Q^$ z&~Z22JYxFv^YlmH%3woC{v7V#0Z?Z3bo|(n&OwGMWrrR7#mJ0GVdFJ6xN)z*`GWN5qKJWBcUB05zknh{1CT24&_I z_GofVl^%@Z$&e?8J4X*Vrhqzu(+s0@@(#pPLs?HT5NaObuAs=2eUet;aJ%?yns9je zD@vVTquVXX{Sk8;UE^~ME~Vg9ZSD?bVXVS_-;$F~6$Ua}HX}bFmekP7$e#U3eZ}3A z97?Xh_4H{US>ZDY03H$oAsQs|@+m4MYd3|`ZwS(m1BBKoA&>2Nq7_%-DDS_=%i^~{ z9&kL8`wr{h1G$M6$ttRtdvrwFS9A8ZAZuXpAaIFPAae6*5-d9S92aj#=M#&xn53qe()O0|4KY_nGkRXTC6{u>twCDw{`;DvOn7;YjeZP`6XWkAg9)3 zHF@hO^`0PtcDPf=TY?mR{`~pGk<@ic3MbF|Ml=)rfz~JmT;^vxxL9Leg>GK<5E!Hm z_Z@buH5q|Gh98)wSS0D$RPHof&1cwOG$RBSkr@=W^S9eS@Bp$&4w0R z-fpU4l`NActH*5f9$OEyDzg*rh|*7-{&_uUj>}wjY3%xBsibG_1F94i_2ces0CDK2 zVfSmxpIoP!NZ(ijW5-_)D2SNOjq4In;25*o0Upd@s#y{w&g`F6xO&){AzIUbIzQi!*XA%_O=-iOLt) zR9Dhi#9+N$#+H27Q|+obp&t{E|0$U#%Z!{Uoyy$SfUo6YK&q&hhMP^fE(Q7Nvz6Y} zO2*BCXpy1)AD%3xE_7kvN=ip|p$J&cwE?lf0K~t(I|%O0BhUma zeyjOx(|=pLuPl!mOEoTqB;+4FbiiFNub@7bu3It5S#@hZk#wpj>&m|!+QO*Xb)U`Y zVdQ0VQFSnK08)MW^eN<~;EhFy_Np<6y(IT7evv}rQN~Z8UC`!+CEt+RhZ`m9y(`Io z*fck=4#H~l!viG!1d0cLH~*u7ixIta9K+$^hRjw=6+K&6&-zUFp>A&ugSg!Z>wu zM(=dr(|WBx-5)+N?3`o|9aEv``E#ACq6tT)&1lScQckkWZsDLtsHK{PTdcsiD7H*! z(m(m7%VC3tRhkBuOcWxK_w;BYyOq=b4AAaM!6sXj6^z=6x zTd>?);3ek2!@j;?Fen>?FQWZuohG@v;Z7OiJdmaOg;@J2~mHL#H0+ zS0fXale~7On^Ot{J7qRgS=m{CUoCs7tWLM=y}sgW8floQVa%?>d)VygHz{-R*6-G; zX>NBFNgSD-&cr)I+3N2c=>`eiTsYc19~C(EX;$04Y2dhd1q15r1q`qqMk6{k40ZYQ zc&zE?e;9Xqh=J{lCB%FAZoT~W#H+7<$4B%Zk1h+gy~y>GES0{7&dh;$(M+tS$-VdQ94CT=FW9x(m%~R%; ze%p@Q?EDox{VtUh&w}G+Y>5AS3?-G10;3FwDSrn@Kv?7d&3K>){2gOF+AosG!$Ev~ zgh^z5FpJE)F4rt(!SCz|WfN0}P*OzUX%>;zkqxFxqoKrdr_Pw<$Vq0M`k0Q6o_jdC zLdgol5&iec6vtxGEdkEHm7j_xF9tn--AZ~r`94c~(aR$kQ;D)vVUJ{9$a?4=6#!}Y z6-a=?tw@D9AQ0&W{@MPeMfF0Ig<>9WSOhdTeQCVDL*W!!X|^_#~uzh4=> z4d+bH|651stWguzy{O1dtw_lSm5Vlpr7J2pU#(g`%WfQAe3N*4aDv zBP(@Ues`mfq_2CZN`5_!Ol&C=q;CkY&rMawkm-Jw_ufl3-D|8@_l!J(Xy_4b7+Z>M z?Z%L^X6S219sROdznos@Q6~xNo;0nZ*AIS3AQ}oq^bAB9eFq*+g+e>IpI!ae{9--N zHmG{(S4c#9>iIW!@>%<3TynDFbb}VBrjENap^A~Ho+KE_C zdiszLJ}m81xlMw9K7A3srS}`nTPUFw15t7~U!|MRO4X^;UYB3G}z`WZ!JhMzHyy>)*0IZ{MLHDj}V z>d%hJck=WHOW1lteQT@s zVGk|rd(F`<8tirqpanP$_~)lzFSB6lQaW&+AK;o?TF_tiV*xfAz_nqg;Fy;i(5wLq zoUE;Yfd5!SI2uHE5Js3ypZ&$3612xpsSb~L*UmSV!s&h&tr_=!5h9G;S2K~85}`9r zC$u`>6)%NaqBYU$4Scg6BN7GqWC2v63!hpZix#i3oJ{1M-HN%jxgvCQCFw@h?X z^5W?isPdsYH(UQKJz^6J5uEu$^bsuwSa=O9*(GIqe?6J*> z$q$&-HZovhdr+Bl z7S1Y!vk|QK=Okk1?TOFxQLIX`4coXnr*1arqn}(LAl!p9=^J)5)R49%-njD|wW+W9 z+f_p~s#5s$3cjXc4_hI6JIRK(OD0Nin2$0127dcjL4t_cVG{VIbo!QeLVXL|zN>Q-n?tPejE!5)$H% z%snu%N{Mjc`iBpJt*gBP!xjw*^m6`Fwb#D;#uPX{RacCqE3cerx(!>N#JClN9M4O^ zip~zmty3b-ConcaSO!WNV#xu@1a$qy9~H`6Vt>GQ*O}_2QbEpuIZFygRD`Jk+)d+V|-lD*F5v{Ir*rHr}J< zyJb!_s3(07vs+lh9@%4kR<~e%RGGDDm}9*J*9-y`!~yTXu?VmD{Y8S5t}h>28WJMkrxNI!(m*I z&}KFAc`Rc?kmn=wu?}P;VuZOWGdUjzE7FTb9;AdqE%kZ(;ab+tm^+*&PmpyU~b4i z`P|nx;G2!IrP{ydV=>vFy+P)lqp_cuusm3+nLsVPDM{+f+{7|sayVN36i=TiT-rjt zaQhFeaEF5Kw)%w+i5NjSfN66d!8eP%3MW&@^40MLyrLPrTU*;=J07Ny;T>w2^ja@P zgCv!3m?nivoJ%}2P^O~LTEdn7oij}HVyM*JU|X3ZS&=&x{DjbT!0Q#;+dce}F*5hN z{bhFITRD%dIaB+@-vMxHhxB-fMm$&~!DI?r*F~wN_bTO}8+j@e2x?p=>)dZE{JLzn zbh{kpfg7wciTU%9;PWi|s!{6mZtq@e3;Ri6d}Rd>*V(hTf*bWHIWJJNHbk@bj?C98 zCK#u3sq1NHMEX$eH45Tky0J1n?LU1ICs%{o|K3yXdp<^;;7U(09^}kZSc;2bNZS-!Df^2^Wu7rM|-5k)4&h& zbj!oKeY+Qb9y07*r9We&hv)I{&@Uv;1#c&qmDRW?5Q8`9TfK`r1n!}g@l0KLC!?OE z%L(gCQ!8Kf;sC#1NA-q4o`uNEIb-Cs*iX}I1v6u{--UrwCTFaD>8Z2aY3C)4$^6ij zZvyewExX(D%Tc6$@+~LdzeKW0(wGWGk!`&cj+!vN9+r6!>R*)<0#o7m7l+zO6`Vqw z5NoNE`$w>l9k&z(9ab_=N6+9nKG!rY5=!wG{?+27F1c>%7?#X;aPnsA5uQgAYum30 zFV3-b8q}HCx_h{TLX~b^#<1$|^s_5>weWrfH5iP4KFo}h7_mo7M4ZW%Uf+4P<$=8q zHV{O%NbP~H6>$%N&lk!h7@U#pEnAUjy8AJ>3n2&s753L;BQ0plAf|PQC!Kwzzc0gw z7V-!a6zGbKGjbs7ZQxqVZ|Uhydr*i5njX3qvCOztR-Z+@#*uQyRMd0}mb?NDE$w#Z zKmg9a<`P`gNP+^%Mg9I|3cEFtfSj|+ZqJ?${tumzW*S58WfOUx=%|?mEQN>x9_J*U zzvg_et3^9X=t|d=^z)}n3tcDVtWEJdN467XVf0~3ng;<{4d}o}{F#R8= zlISP7r}Kr3vMV}s>QAvz2^ZDLz74H4kAJ2MJCf6GfK7oLvK)utNrS8Yy*Ztj$I zknvwT!h-&4JaP?D{~^f^z8Y|*dsf>n{Kr6CGy}>QbE^ctEu9;7*I&b(Ab9Sc{Z@`- zn^&Pw2ALo37vQ0Xf(^oZDVnw>u5%yp1HhXL4_GU_@Q7UoVO%=l_t4-*3gB2>Hh0&? zdE0Y`b20JL?}Ek+s*9mx-<%{MmBepoQGDlN^8K#Wg^c+J6?d6% zQpwpAIJ?CYngZ%%1Dk{tY$7&aM5dA9*7oemsosYZ1AMYzxcs~9Bmey8Hc$PHw$LXq zkPVdeh210SyIyB$jl(J|deiqTx;--|^ya2}6f@vutYQ+cJM@uzkMpQ={u2}h_$U<) za`-4)vCQ{Bm)UMISShw*mFZGaQc8I)lfgGt^@ZW|+163#(h%E}n_-JHOP@!E24NY0 zva`;_eiY-X93x3?q}dIc#4b1`)z7F@#8Z1pEBFGOPS1ZnD6W@~*$Mu$Dd~;=Z$hzVB6LC617aE+3gF-*fL+-zsuK9Jcu^5gtfBiMG}|AveAw}0 z+FQF~zc524CT-Sa?R*b&=S`wYf5#7`V#=Sb=+497E5jX6g?6JCtnSLjC5Dd6@~IIO zTz74=zgRkJcu>S?5TbFH(csMi%Mb{as-CVC`V8AL)}dW%NjUGd1^T*ztAyJas!?2# zD?#TC&ZmCUkRMkX_DXtO;zdAY{>Tt_Kb^Ah6rK6KfHQni3I~;NmN%oGw-+n2PCP=( zPzM$t;Cib-8hASMx2Y*KLAg57P$>RJ9nU=LH8sHypmlorpRP7a6Q5i1g88>m4*J8& z&HJOIM8#*^$fQ05^g`HC2^f43l3@7drP(DEUBOW4_kCTMvI56AI6a|0FDxv4Fqf)t z40clBxz`rl#SY0RT;=$#`Ei)VBj(KryUx^Y-jHjMpaUVzdD!psJ`~}*YHxjBcD54p zyuSJZ^)~U(tCRfAh383ORAv834HX-ZC9M%iR`y(qElEl{cws2)N`3K>5Vfj1k=K6j zHk9D3DEzYEVRD`(V)Vl})@v%*@yyA2g*w}ERrB=P3n_+8WNxeK=&&P&sDP2?678{% zx{Hd_2iJbRq8XYU^KLocc^I8@5lOoNU4+;h!4zZ2|KFCx-!MT1sZqt@LTt3~6a1Ie z%dqTinbeA=8eMbxCQu_{ROeCekFGbNhiRNCA@Ye`^I#HTZe`F!Ygh9j!!X3ydOirl z7@jm`bjnt?cXpilm{A#e#!E{%=2(bW+<9X4{Zghu=>xGW0&)-^Z{VQG`OURQ1)*}miDqL6@>eU-OA8;tj}aU%^l81 z_7~3zO&Cy>mzcy!qok5IL<}PWuW_1DT(!beHh-x7;FlWp+>+YIstbv?ITDL%npjf| zukeX#uMeB!YAR-Y5wPlSUt2D2+VC|$!EKiRwZyDC7V*;;t_7I{hNNx}yVd1itd`XL zbpkNb=7+{T3s?^IzKBZu9ZlO5%Ml+T)}}vuD`)o5~wK zc>wN7-n+Q;183z%M(x2f9uOb8fP5Y@HwUpWLp;VnNKFnWQoKI&r)5&>&$@P@s?7cj zadRJM+tg>ll=dkzGahLgf;t;|w@V+WIJu@==Vw}$n&RQtE%S~x+%+)Nz>b>Wo$cxq z6+f%u#3&UqZ87XTM5PFOS|)$jd>4L@b&y6G+9W@D%=hV8PvMtAJ{ns~?e+i2b**xG z)~W*ul^0H~T1xe}0dwM&JJ|ep-%|B9`SJ@2JKWwBDw-^6+T##=&gmbv-R@%qDf8gc zy<3`OdG)gYSx7#2swNcUG&|2XkGb~WE~l4AvZbf*M=bgM4YphU*|$WPR{(6XarT*()@c`oWGxbO^=V?O8P)36XeNzp2j!Q(%A|8twmH^$UqZ)coBTzGk6 zA}{^X+$!0WLZHqRYig_T=zld20_41~Li%UY_cJR=d9F!0TpFd~c8}^^i^8Q$F60be z_Q;NDPn4TG`|@h+&}?{glGNzrjNT|)=|TREiaSDGzznfh9Pa;uaJX}5TKZ}B6nBG_ zCBkJ*691Kq8uf1X;(?Q^IU>unlHjNR%x1%0+KlSLt*x5g#*=x^s_8%%W^q%JSNVH&$M|@6tTmlAv)US87iJkw8GRq9e}H z`}huP{{KXaUZp*DE@F(*(PaB^pMytxvCU~bLvg*}B>jm1z&-75(c!eQWG8*qPL$V; ztka*b0*tl>9E379)F=O2Hu^TS{;+^Cqq|%L^cC<3t{%PnF7)*8d*~P`btlko#ljXH ze&o*>ZB>2adqd{y@3K-fj<^bKC#;I@(tA-lQzCVhtpyhWz$kgs4|cL*h4SFn4GrY z3GbS3PHaO>Ifzp?7>VakL+%Ule}dBlCFZ8AquxonGnsb z_Jz3de2)ic<%LuP-NvXZgY#<;)&90`w!6I6C7eW;wwCl=jo+6)`ECbhRf@WhjxzoX zT#3L~w~wDuugt2vv^P^*Y)8z{c9GzB+ zkCDqy=*>Rnl*Y+c4JVUujugl2CXN)i6@ic(0DBOU1G*zkV!=_1$n+npWi?FFMTg&~gv% z+L}3tVUis={mB(FjSdas30mvaF-~;;dZ%?@x+dKi|_CC~ph?YyZPm1znb>`$UpCV(yZI4@G@!f& zmb-=EMiIuwUtIJY7ci*$(ORt)O-TFu`)wl1!hBuXZmw3?zg#!zRDy>_Kf;8^M~LnW>_~6Rl-DFlTCl^f zvp5@t+Q@$1CnDr*X!qy!Z0@l4M_<##ty1h{LI60SVX)h&5GW79t-B%`DzNt04q=&gU%Q^>t9 z8FlM=IYp}bHI@Pozgd1NX>Y42JB1hQ6~or!IW8!bIEep2(sJ|t-{BAes|LBNde{GI z&`#Q(>o2S^FW)+}ZkuZhY5qAGnrJHNjDenPs>M6M=T44~IUR0R#g;Zv&j3vk_*>!K zf-nI}neXXi@z>oSKG}+aDF$S;$5^;L@n;*v3I`O~R;UN_oi-UJmsIY!DrW@gF2QbM zKzs2Q6{cU?GR(~Hz$E0^tm#v3M2_9*M3(Z{i0?^hkExe4dM>EZr6`xvEK826W8v^f zEN2+<*UmlEcOv_yc(+uDU)`2vlQ2Fp;Oo}5==!;VrLU>ZcenJ*m4<`l)G{_^2?d&} zFC5c}`pYb;L~a;f60K0$uX@49>fzh^8}cuh5MkX1>;eGDchu%uAwo(8kiy zv+9Lz`mvq*WAYY}Tz92Jxw>xWBvSIp>}w3lef@mFZ}M(-O&lvuHNBmFiD!WZ%=SX^ zcZi98=4>-a0bCHoG6+1Weq7CgquxT)WcH*g?U@Z7?W`4^xHkY0^M*#uxx#Q9fM%*rgWF(lxqcUB4S+0-b&2@?nA(k6@*_&n znsrJpJol;2Z#mP*M44ZstS5){hVTEJZO-@b5u&x_tu4uL@dx{x&f(4YLm>JMf*MgLshw7f5{nb`kf)ZB99 z5zkG=LYkEM&L7GP5r$w=E0c4nE0g0f=4wS1vbbb@qN4)6I*P$BQ2sYsG);?CXD0)X z-u%bm_)bg1>a`THnrt-M@Ajcfs=v+U+=n%!DR0GU6Ac}~Hc&sGAiLE{8c6ox$Ugrs zB<^gFp<`k?YkFSsti8>8zJT#&_iNPBwC+sf&kxe=*=B~pIv3*^bx);oxZST{70p+Q z*{Z+_%5zqn!F^bW3zUu`IPU~$+QGvtA}jk6kFN3q{u_hqi~iw;s)J^O$u!9th04jO zUgC{sN{jd2Lp!i2f!c>jI$)bo?S^$SW@_*OV00Erzdega@e}7{ho&+a2E80zt*1p# z#*Zb-Vd>OtEyapIFM3@5@-{y+*KBLw+81i^pN2V>!VVM9G$@%bSo8OpNBchHx}eI> zwGzXzmbSqo_dcfVRnAh`p>hp#3f&W%S1)6aZTzQJSLq}G#Y3j?+iSh$|9Jr*Fbg}# zMV7uJ5(YccfM z`qI6wx-kzY&w>=?u`vtUII-Ah{K>f7jV6@Xom;2Fe+<jbs-agWT%jc1hJ~m zWxTZRqGux-r%xBwQ*7FYuH9ad0dr`=k?_(Z{tI%bR~aZ?bT1rro zTZx)1dlMS(n%OSE5E&9L9Bc++jBRk2+ zP1&wl6xn1YBQ7#B%9eSrJt9T&k-f9BS4Nb**Cp9xME#z(zQ1$sIsK7yx$paWJ;&qu zcs?FGpg4V1d^sdq803ST%TMvtSHUwmW04PjlDXh6x%DO5mu|yrxJID*FH-#CD)_^>wRmOAEC@fl z6|Xd+=+&>OQ@BUW{^Ot%9UzKTKPM3WO+M+8cZ0r{syMT z_dTzWXJ-n-$^Ar`K>z@jWdH%+l2#ASM9G?cr|eU=I+BS{C6+8)o;^#&gxtM#m=@cl z@Nx4Fo29*fIbk);CF!T+py^U3`WWTV+=$bvlx~;xnOCZE4VkeZab>=f)pFS*J?HeW zHj+Y9J!VXfhDq$VQSw`z?*3`yd!AhWWv^ekS6%-@G+f2*+~t$^XmIPIa!lLVMm{BE z($_a0M=SL*>YFbd z9*-61G$zGya=ZQ#>d!TMzSCEEj}LTWH!~@HNd6oZ{&_rk4}X)zd4)XuEgpO_t*YxV z^}K0U&AIOG*bo#sVZ}^$Y?(_R(5S?$S6@TwdbV@H@p9Q6cjHR=rrv9J34lv^r$wa( zD2Nhw65@*-n3tU6q!&INVH#PWX#KUn(GCj>Fu{kTiT9cSHsHhJ5!sofr%5$F1xM5b z10IOe{-5GWCX$wvu3+rHil-zhh-_Je{&;;OphIj$`x7axCi&r&YgOH}8{w`2gVZ#& zCbtcI2($;o|xDLvY&absVC(ryjgO5)U~66Z7vi4 z5}6!TWo}hGtj5!>euWGl>%{3-!^^8!VgLMez?_rQ+n01KX;lQh7j1IysWKTt znGQFm_3rBroCE!_N`-8$GV32Va&I0>{K=Hr9wDr|%o=TBZT)WEXf+I&9$;W@J^kBl`EOmcSAz#ia0FA@lg=N(wNgQwe6$3&kh{LpU_s{+J@ zNgyh4B|8ssUlJv&uWkA3lxx+)O)2*C_xbWT5grYmbugkn%d_@)XTxp&@_7D59uAt7 z+80OLZRQrFe(BvF_4V$O1${}V<64o)yVNAvhKyR1FU}=nr|Uol1HB| z(|5|c5&E#jS#b$`oP4z=5qwsn_TcoH2Y#M;K}@UWUw@vF(QJXZs(+9AAvUx)kh9fwn}Q$^LcS#XquVt8*Q&9~gf1WZ6`76slrHCfCGm7H2u*>)kM19hrV=X*?F@tad!rCO?c^q(G0 znlIwQ$)@^kY{%>iy+e1|u2U!{s}T*Gqtn4Gg3u8NaUY8%(kd+`+VYfIKS`8*lu(c}W8z;_{2nMb*P#-0}30u?g)?Q56Td1u(Vf-MFZ zW@L}W6mTn8{+n#<#RB3LHM@RlqNi1iV%z1FT__9Z;kee}YfeJ-w!Ge(a(dCQ^F!%B zVZ1=8XV|&3c|%vN+MGk{?ES*y%njFd#K&iHQN%nWRnMYX_>F5Be>ddze4NfZg-TzB zwFT-h1whSTcl~vof$`&=s^!1UU|{pd!j2RAtlLGW>U7CME+-v*DU@se`bU;2`Rlsl z>b$hmyQ>Kn4>`mhed!z*<&__Mb8A!TAvSma#{NlH(h|jqpw+sp8|?U=2^)AbzJr7h z2QPTI5RUlKfOoz(dsCv>C(S^DhRX(XDwWK;m{&b2u{iqo%RYhLxAG*8|`cpN&$ zG2Ii^^MMJCRfLXDt)?b8i)mcvE?DIY6ZcV8J^i2G^})q~y<31ntk>~s_LStsJ0BYJoLbEJ9C^xqUf4wMECd z>StuKO`mlO)Dya;vWE3o2c=?nOXFMr6UI3XJZlzTa^7$L8DW=K|FbIw*X15lt1Oxm z^-f~VJnl#=t*1*BGVZqGUSY5wz`8FOQd z?i+(hp{GoV0#;7Oso*vC=VX5i91~U#z#7IKY&>B8xw%gC7dquDOfC>C71XXx|p z-8V&~3fdz>x*YyZHM#<5Bfm#MCTxQZTvw3#-=)I!ULcrs^WuwN3MZ=lX>1owh&i<TS1GX)oSr;^@`xEf{``?Ns`)HlQR`fpx;Vt&}XLSa2@bPrG@die6Q& z`f$FGW{$)=aIt_}7PxI$u>E?lB#M7lobBJ{l&D$6ga3S-6AcT$xXVMD5=s(O`@7^@5Fg{RBjLr(>bjc>z~rhBfvq?eg3O!(q~P=nXrK%@Od z$j?_}?y+@arY>PERZ5<72brl9+0$^L2m^oCzfnFL|A>Yw?^_p@WQqDveEfps>dxn@ zl1L=@=nxPb)U&Za_b9~19adFjUHMp&4!aK^-~PCqjDQ*~kFBWiW%2$3=8`t4#LRMKsdEgvD9m-h|MNlFwB#+B#m}!1UuzryVM6RHY=sCi`wiaeRodW*C?>?((LeZSj_sCAtpS~CeT`YFsOw3}y)Jjw+l!|ZAc>WNzJfndvO5gK}1XI6nkAngN0`h+@!YNUXS`D{T zb9&_7E@@QB&{GhoVDM`&@O)~F)2o;`{ugqT@txYambFqI$8Q2_SccEw&I?vAd)8N0 z0uOa_`3vV;4@dEfVB!vMtC?fbTOKqG5?x>l4JLLbg*LV4TyHrL${F-VetR6B^ja9j zRQyU!1&v|7IN)Z)cLPk~pfF_fJz!@A%_X}=Zq%q_rN(j)dAr#|^>m)f@9|bD{V&M~ zz@ifmZHuJ#Y~mdxZ-M_L;2#y>KJOd0r<*^Lk9)EjK z1Y@n1?2xnZ4zCb#^Gd?hK5W^;FA?Zv&$szo2BV4TZqBTv;%`*a`NRAX(P0QH@!pHq z@V z@JXW7=B!JvX7bsRcA{$^^q<~UjAcPkTZYo@IEmcjx{`7B!mtSWwII7r-<4w$XLDA> z#f9qIV(G8?>F=T9TH+nL!<(jW9n75hYv&6#Z0e?-Q9?G=Mh|5&l$#J`r?W4(I$#pl zz@!aMJi&8tc66WiVZam3@UBouuU(S*jnq}kM*$P!UxUTa^0AWW^Wf&?#KJ@4%MpEz zCCGxS?+YPi^iGocu_{`=mvsENg!+tqNZPg9si(ea49WwHT#*(DqV{A@hqedCV!oX* zXIRGFT7~v?QpkjWVXd)o+kXFcI%jjHrQyQ$G}GgSJ@n1_8$8_@DQWu!wS)}@(rWR} zXU!W=>JPb*echdrKzLrLlC1)bEKyTcDNSk~fxAWhxL1`%hRE{ssF&voW68KCXR_ZU ze~n`4BQBdcha7))iSQJ3sj&14d-R=+jrq!4_Upp{`a`w`|5E4!dDuM?MdA^PSL}=x zQfx^2ObdtcX$BwGz`wNi_t7dhy)nOxC`$ktUD#PH8zREe&^0vp_w>HcF<2Jzu-@{G z0OgBIU}N138(LI^r&P1CsP|o7%MO=UJKsdK^+-waSdEZIZ@FtYstm|uNp4W*_BOM3 zV+<+nwCGSxD&3O5I&V$-zS`%qMPjF>Q^;S|OzFB$xK;e3Qxtg@*EY!#v+slE_0ZB(uyrS!P2FyT7Q1BCWJ^jk)+xzBukW{+eA zhnK(U@$Bpbp>j%p61U3YhXb8QK{yVJsls!2UlXyD9j5lQJ@CzFT_J;>s_p*Vg1Y4SlanR{8|ZNqwb@& z0u>HBwQTI@K=~bB#^_6qukt$2C$xK7>@3Z=rSM`9Md_dBmCI zwwPfX*@3F>77UB!iSG_fzx@(%SR4Dcy3A3O#}mmiUPX0nQu##P$)N~y+quXy<;Tkp z8x)>XPLeHbU>`o0XL|BjsBj6N3D3)};C$C{zi&B^V*PN6^r!gpr&8bZJ`R6={su(~ z?)%24T#gHbFNzbiMb=$!K%oG3x@}}6E$vtx5l~11opt+I{k(4xYGQ)%qK+nHJ+KB1 z$7|1PvMk6=`?eO@^)IJyY`PlC8(e!~zc5^yauJu0`!JkioFmvWCdZ4z=6?`ayV2)n zJKXitM$nKg@kE{G!~AzJR(+7Ko79H`e>~uNTVL$+s&jlwfeAx|sb)W<`Qlb%Jn_-3 zd%?GVM{kO)S~~bRwy$uPJm#fvwDYmO+wwFdS*f?zaya=46~jw* zoGQ&O64qP5u$#M5g)tbqD(fD^6}834g#?@@cO})ZQM+@|0|Aj_^%>9fQEuH{p1Nmo zMwOloRp57I6=?pbVr$W3;7r&d$~EaF`TUnmosvHvO~w0yvig$|atelB^S!YRqsX&m zHmyQ-Yo2{Q+v$DUdIROCtPlsIxi&4fXhTYe4chT?=f#oVWp@J_MwgT)BvcoUS@dKXf;*2E82p7^52IzWUxGBc#*wf7YKsaww)_MiRLbpjmp zbB)!%f+4T5nlx%B_->kB*lhPUN3&D`nKr?|>6(pS_;L^I4ygz?kx#nGx{F7qrzQNw zi3rJRA%nNKx5Le%rabSfn|B|~)F`|O&I-b=En}&H=J;8e4i@oEO65`4Q$*FCU7z# zf0e=g{>U_mh?%gVeB!J+r{|a6IR@0S!7(Tu1y@I=Isb)Izc}1caGzjH3?p*E>r-`s z9SsAT=VH`__H?@{?f{SU-Q^kYSSghUiRUZ4MbQxp&v*s<6j|({#+@ES+SxCBQoL-} zAoMac^kR6ahf^AHMR9~7=c4mTO;2oq3x8P0mvlvJM^XMEa(bxXL;rrtiLp>397wR8 zk$C}yHW&e1g!8|;$6PuJGbtdo&Vs@c-bLdDUfi;=Te!h~O%LR@A@QcZ=zBRw_=_BW>C?6iTN=9jgnfHQ%iY-INJ&gQ-)io(^3@&JV(O=e(=YM54; zIM)}Yw>~s)3vmfqz2uaVR$-9OY*)NH6k~UJHGbN`Q_`}7rVtax;*fr3KutlO+dh(0 z3adh@F;J@M`+Z+~tZrt*dFn=D*pA1CG@?H2vetKL-jdK~ z-S9LRS@pcbn-=`u8@x|i6B~}L0JHjQSgQ0E!%hL_nD7^8fRXWhqVGy#!Gcc`)Z;8t zC7e8x1ytMF4$q3uh;$K6^4NY^+!F|BxSw|)EG^;QNMkDltnQ8sotEr=`>k)^2eO3S zs-g^Yq`L0bmq(U@Kw*Sm1eT#-SeiWIami3fP!icz-@knzKpSPgi~m z{G9$dH*HkSqmFtJWH$I-?;ybnovAgw9Xp1%+Ft0SO-oC|+Z_{7-CciSS;+JgWA|c0 zh%VGCw{z$H>-5FZ7{?hSQ%P>G&;0RZ3Ef;!D%sQRbXr2cm_O?jh>+2*a6L&ND@)h= zVZj&-7YnkE$ML~cI9QNAwhpjsaW89iRm&d=jK42ToL`ruK=xhp$!tGcH=ad&DcYHV zl>o}oxy43N&-BkhjkT;1zY_O#f69A#gJmMRI->Pq@nSqeUdPp!R?eV*QPOr!J_;wq zN?GxYpEOor@llBa|41SVIa2FqFBz>TJ5=H@pR|{f<#PQ+LOI3wAE4h&S36cnef&*`a>J}g#H_;O`cyu z!(9?RC3khRZ@YT$X5=Hyq`#OAq~+h^la!Ra4Lz7*+F`w+tAR1*#rFAssg*G&%kc1El;B$l6(*2kg#xe zoVzl2(Tg9&iC;k~sWX`_G1~ewY99=Ta@L8_nKb7$2uk*^ zxT<4sPd;7e1{-@Y`{vN4AOHmjs9-BWPkZ4MX3aQX7qSJMSV<|V7xR*a2_{4BRE*Vz z=Q`>N&b<)>v7tfok5^+jhPiJcqN z__GD3xywv{s@WwSA5T1Ev6nLeK@_kM2LIH~ZuaPFrUW;6;T@jm zgduGOvo32&JR$4Tc1qXGf#-X5amUI8nuTC?=;B~aOJUPYT0HeU*e5>{D+w-EQBe%; zQq6Q?PO#7suzH3*HGkNwpYMbt!d(`eo|p_#xVY)cK$R{md)f)f`t}|l6J+*t&&LNJa?RzqFn>$hjG-kMm^d zEc5$zb@2bW0OuCUB_gXj{CB)K(<-No3p>4{>P^u-MV`JLHbTAO^BkZwfp0xQ?~l@N zli2S$7;I-8CTBF_*S=>VvVhb;{l+}ctwYlKz5FNoom2SS+~MrAIk7NPMW*J5ea;p1 zwJNcg-m<*EbEAw9%n?fEJ3BkWiid0)-J$vvO*Ru_&NL}h-nI}?R>~P{^gxQwUM{&5 z-g+7W4t#6TtT&sWn!4?hN#H8>3eK$DJBG|I?+$U#K! z6(hnUXF$^^memtph88yb^wr{tbb4T!-F%dd#z?}@pR%7BZn%UGl6h#W8sE}U#wTwN zz45enaITtl3f0ZCic?&<&?+j~fZLHW8jcJM>Ac#nYMpr}v?n(+npQv=H?P8+*s~;- z)wFa$QR}57WhgY~A9VQ->Km>Xh(-q=4~{2_mdWw&h_**LGDO$G^YZ|~p$Kitv;vo1 zOHR@^)Dnd#OB9hB4Yxq7xi=K(R16>TKvYjRPw^@LtO3_XA1oFEZmVze>jYo6g{du4 z@P7zzC@vgpb}W8?FJL^EC?pVa2gzde&V2#9jF_FJ>~bu=d*Qb%Y^*DyY$_8ev-97 zG=hC)(HHZwxC{)^@C8JfL4GLl+0A>O-V!S{OiP$h(Y?35ka@9OSK$FYDhlG%et%W_Wn>63$?sQQ26Ub7{92|^z#CEv67ulAMS9XXjBmE&kq%RPeXdC%;fA2ph z9l1!LM;Z-ZR~Ua-{K*5UL`As7l3PUWEt5nXg5vEP+Ys1a z=$@fY;cSk+Bc52&e;5o)`>1x4XZms6YPgIRpIU{C^Z5OOWTOqs-{*b?AW8+4X*kd) zRy224*4UffRmfw@Vit?N3%b>5dafrBhD6f!+vWf6`AHFPkwt2)VQu?pKn^QZ^FhAG z!z+vFqR>Sz^^%|0*J=@RKi}QF1RUImC8+^B0o#|Lkw3_Mi04xYXCS&#p}=-nc0cWd(uqE6+vhP(mP_`+e(Nu-`l z6kY|eRD>MfL4=V!LNR82X`;S-(lM2VF@@J$<^@y<0GAV@xyLzB11qi-PnA!Z1^Uq- z%ItaeFhiFN;;aOGDWruS+uI9$lDL~BBMfG%Q12?R$Ey%v1Y;Mgc1F=G?F(S5)6UYT zN}i^Oi4B}72-R`qN}4toV{Y8{DfL}mQ+KdxFQ0t3``9YAniDqvqoSjs#&zCbH+H@8 zO2wDegnw9~AWU3QCpd#j`^%hjfjiXe$4inFUUjS#6ck`~Z!>f)_jzXwwU>F3k3j5V zmlM6g8?I9dloSOa0|7y6>3uk;G%$B=C8ynsuB&Hro}z0}{6J)Y`K)^I{bzRh;s-=? zfrBS~)|O(tU;0netm8K*GP!5MD=xdgRCt6mu8CSD3lEeo;M)p3dwcpQf4Yecq$A#f z^#Rn5_!1*$5LPhp*2V;vY3l#gxdjaAsZ{ZKa=HvX#@%K5Jf|2XcAyJ}h%st!{UNkA zs%g_+ycrtGnn`hgiAmACZ~vhfZ)EgwN|zKluD=&$Bp1o(gHoS-&<=F<4LtEIjBUD`RebjOD5guPw!Mc( zihH-K->n;`INi|t@C8su<~KK~czAdY1`_K79V_k7PB0_$UU$j3hKery^-BO>3Ypwn z$lJLtm$oS9uMmXu1n^hsb%L<>T5Ds{T@)1wXga>Y%4{;~Tr0w$BB zZ)hq5G^VdKiA_OYcoWKua1YQ=gwY%LR)AtQSuhEkSTuOga;?cV|>disx~83VYuC)5QMS+a(RCbUJZL zp_7~4V|gf6`=`cLzdKR=($Gx*LjY=X`lJpso?z`txD=h`XcC=5%HuleFHU)Zu`YOylAjN~$*qls{sQ=~L z#Sg@~s0Ck_ZFU`%UFMwsnT>U)4VpF{du6@mrMp(8Zlw1Fl+QtdGcwyK_$;Ap(V`+E zRzcK~oxJ%R7g|XAu3f^%6)B}?5r3EKP-4`&tbvX+bP!6#Ab@u@Q;;NcD3#hRU z7aSt#mC3Dq+->{l{nx&^$QpieaGR#H+)E0Rr`Mk6i*cnat5irR@n~4|4&_8xY6^9c zi)(R>?^TF@x2UN9^650etzV_Lz|6}WOXLT_l*)y}X9%F5rTw1zx9crnD~Ow^iXw|T zKSm^}AyV`HXwEk$4=LCNeU>4LYUK!-+9SdoS+RZkj#HJ}Dm@HYz!0XTF4Zl_JQSdT ziEDrRX>r2_m`KIa24)JO(>z#rJRx1?Z^ik8XNk7$8xFH@!G_K(<)|G_R24vYO)Ci* z>N7w?2E?@3ARi`7BCOG0Ad-L2=2(@a0E;W{>FD!)l9U6razeC#`N~oyU5Xm%D-*vv zJA||3s)8cb#Aok5486QJo=rCc#P@u;R~RafK$^}w(wC>u0>ckbM)2RUByly_9Z%7b z50|4H&gmIWyR8$nZR|)7-{2Oqdi0Pxwgyx^$_O9z4i6BlP1S3{JJ7If%VSx}T zJt!nWxvH>s`z1Te-&s`qUTcpTV*!=3W6W^`t%;D~`^;=0FhT8?cTt+wN0hh?Y-efO zF15?nOv2)mZf1Z9OZ~>%=?x3u#k4_xir4b__E-_SxaAd`te&F-z~zeT<3I|gM4?~V zL^KYV+T0O0%~}%wEw>iyQrXJ!>pN*vcd!ayal?VNamkZpa_ zbnmc^77u3}!MHG8s;JKe;qCDE*VedF6q917$O$+Sq*B}EiXQ|*s1;9z8Y5ui7xayW z{!I^ypKttv@XP(wI8iU}n>vl)sCE8~V4@oBFTr>ckn;H`1meX`l468s$E)G|u~5u@ zTu(?myE?F+F>PCCiM?w(YCdjXQ`PZ%(lTwBv+=CgsZ%2*o9{d?jR?%@X9~{NnoQMH z{fb{o@HXkdJ$dqkG9)AfFiP%Q=Wh~;H<0}Qc7~^vrSeQ&3ILpmZx7B%$QZPOX8(1p${oHNY4Kh(#%ef zS8PF8k1A5p&qP2!ktj8O^#(^?k>`cipVYgNezBd7 z^PgI($9~PelMl99MoQ~D4|&2?Iy85HC}>QIO1w0oT@RRYu79G0f~Gg>$o99EQhw%TKgAaD7T$-0_%uJU8_kw&M$DKrR6UBNF94 z;Qpdg-Lia*?D?zWYQGfcxa*N~Z9F|_m#G^s1{0qF2MMmIVdM9YD|5(Xb#+}QvK7Fg zv~!^?1WL*4@iiqZ@3vQR_x!;DBZ0c(X}$mmf-q%*&Vu80$;}D$PslSQ&HayC6Jq3Q zG&^|w&it5?mr6G^8oI{S4QDTEp7CLTv`NQWq=UZ{DMhlx>^oU6biZ9UEHOX6PV3uz zeWBz?`Jr36fjN?ulUyDUC20AeBB3MG+Ib+tLmm49yKwo%sZWTP+3n2H&fWHoXCN~F zMFxP?Ff8S@95WMRLbt6W*GpZ!CW4}<9wa5D=#`iH<8kXjl!jF74&C#u(^wbX3bj88 zt>>%~f3=IZu8nbou~%PrNoz_8w$TVRBFywo-u|jMBRZa_gl_R<==5YKZT!%Zl%Fnn z_!D2r{`uh63i!;ECynC3(Wd7^n@PH>N$h?YnLTb2U|P>8VP>=`qjq4aZ_gQwq1VDq?mG4 z_}Tm;@-S>BBYJ9_(6-(A!_amr86O1;Ww2(zp4Zh{WZt<;;SzZfc!YC_Gf%6~9rG)gIb%u|+#hfM(mUVt!GGk4t2Myxs%SXMU zOBGZMGC9#~x7unp>TAjabpKtqdP$eimlaudcER+g_nevJoYNKDglWofr)AM^pjNc> zxGfgl4xJ?+jeyb@n-qeRdqvdh@??114A2H!0opR3%t6ZRmAgn3MmNKtim;qQvc`Pp{YI#?0R@90qMOPRCI~qN&RyfQ+3DIF-7AR%OTBMgnjb|=u5Ulwxg5qxF=whM!JjWpT`pzuT3F#ewFkGOawNmG-KgE@ z$%u9Yg3K95n_TKlpfJ)O2lZGe8VNoHhEEc{;S|E~{n8W;fU~uY{4v*>Ieco!R$8mT z*hsHx@;d1km~@VD$}3mVe_M6?v9a-Xcr{tjyV?Zig4;Spu>TtZ0|g>r#}ITuqmZc8>~giduT2(-v=XA*ge1au0M+ zBoiZqlK<;bQ^1Y%&p$l3-|4?_y{+&@Dp~!mS~d*`*l&G`Szq*a zF4X0RNz6YaWTMQ9>C;Ltk?2>&1YpTUGPJ=aYD<<5Q|7m?)>fIFw6we0w_u+9WNG=R>WGKMx{W+4G1^`oKc7d6E*IXPa00d0qJv* z<2(3qZ5ZK|*n@MC=WeNPZeMJE9YRbnNNm`&oK>zBTs+b{*p<=4DHP>Y!Y)L9n=e&d zuKC>z4~AJk5M5jsu~1%9TP8%7XdJ?NYvsF818s%E6P85q zweW4A1j+e5EmqTf-Ax}h0+>;7jB^Yu)`B(2@apWsLd%b*azF-%yF#iiPw7S?N(qbuk)#UPx!G<#W$A#p45%&mo5AJLY%wGsubu`vW^&9i? z)f-WHUz(nwXg+(r0%wxYt~J$-*k7pn*;y`+brSCgjQjj;6O^B3VYpg+mrx@0Ja=qZ zXAhMgh@UAoOt*uY>n7d-;=4wP$@pcQFp9of$tdo$jgCUKjLK=(;s-N;1Oe#teD&kI z^A*3|Pg8pdqEgg;>;pFkzja&-`&m$CLwh;`m8F9Lm(=YhAYl;7QnAxjr3)mgLHdW5 z1R}gSaM?r{lN7q3Wro5d9hYo;AI8B@GyncA15$=<^H-q{gzvYe#EAkGO(`Yg+!8=I zPOjiWx8kPmg)Y(>2nfuu*TFUkxAUCKq}h+479Gu#;VCeR8ug^+kzRJ0vy9BzM(pl6 zXV@s}GT8uaYMdFT$MHECP9 zbHKP|l-bMGntU{O1AkG{-Hi+k9tnO<-$RaXO~}yz4Kl>BG8~#DLYG5y4lz-kWRl8V z?wB1UC3I({qn~3~v{i5w#enEQpV0P(DL6CC=SjH%kPN89IlA$b1Rw}SD&e^k8xdmc z5-^>!;z7-HVde#5=>3AtY$cYeuD>@Dx)|hs;}vuE&VLUpx%4|~rMD#}g*1{-R)CBJ znv;NZPTn^v!WX1_F*9E5os3br$AYs!oJ9D94rhhz$%^lzPkkrR6aM4r0up zKiS3^i69*=flYE~+K*QM>Q#DAOB@CzxyG%&*=>nI(Ba5Q=?zs#`v#>SjP{-}>m76} z>KkAdbdSN{x}RBba*B-#jB}7Sm${ckD)jHAGkmPiLc6o8m6i!dR&_1LyS7j(RCp_= zEX){{U|5b=+c5v75MV6N*VU_}E&Y$wb~NvmTIgbV*0duXhaZmYdHHmsc}Xdz@$@|! zltTN+HXw#TKGk?YhSZ=3j0MoziaE2qZ+uYvjII6DZPGUByQB}PF`^_UK_Tw6M9{O` zM@w=G;pcnn#1^^vm+zMWM7s1&SH_|5tUM3+XTYcInsK9h>F%Hd+vDI_?s|jhd8n1x zIs1J@?t!mUe5pNW|Mk|uw4vhrsEK_q8lf`O`b!rW)Ar(!Ji(g{&L+I@lYT#=VL;)4 z0P@a0xCzLyrAwe<=#l}ebbRrufvz(XW)CPEy34~?UmwSkDvnb2-eh9tijD3%zKs4b zYU7I=DY}VGi<#2Xevy?JQ9rzW!xI@^`A!2BZ(%8I%DFC;xb`xS=lsW8sQ$$b?ZRF4 z4(;FiN1S0o`Q4Dn`pXr+-hQpK z5%cr3){$?5sHwuH6*8l5_M_0xpFcl1?$V(F+*f)_4X@{qwk5gy^M+T8JLPOjnP8lE zbW&fOplY5(s+=4yZ%CQg&Gil{(+B^_-^DHkY4U!|BS_^8Id8B$Z7*&;KKy}cSBf&1 z?#%djzKmVR1SNVuQUK+-mtt5rtRWOpCGx83s2rz8PZVDL+(Qtg>7GKFGDr~|(Q(Pd zvX|WJq0=kN2O;YBx{d&-1+oEXSz3xV&d#z2H?xxk`H#jcIwlH^U%60RRm*}lO3DlJ zL#HiYc;mi-nQ}@?P3ahtdT6PAH<$Nu%axa7-%RKuf1u%b3f6% zM%;12e%?%4`41O0iw*me0?s+40CtEt`K?-S=ZATW*q^LQ+Kg*5Y5=Qr#TVlK&T2R> zF=#qj`izd5h>VfZ=$Q-@GY~n;A&Bv33JNb|9#eKdU}lw%;{js=$&tH7gR>2x}wok@}4TSfLa2$3?LoE zWPJH2Bt(A>uq@h=92ff0T5W8_vu{&O1nMN`-EA@Z!NZ6vKhQl3Taq1nw=`c2rL&+f z8cbbWp?)8Rk(@jFu(6GZ4m3`e_L+XZyO85d7{gjB_6A0?fo(gN|BNhU|F9W2`DP-H ztqs3;ZS64Es<&!uaqJIX7%$`31Ww3S>|e>Jh$p!Ygv*6#J^=Mqw}*${Z?@8K+tjbG$n9e+{RsD1@f$Ys=&=e6_T^EMQ$?jKVW$Q z-uLN=nP_cZO5wIArc2I<#J`^2L-k&ffMFGhS%%IHI>kSCt8wes)ejEw9VBEsNQs|- zuaK|}QN3rZIk1(SfA&b3L!pofka);#&cLdz(RiPiPTlwh ziz1)S0B690cG?_&vxEJVu-A`;C)>4U&n!}7#kpQ(RBWEtklT0@VH(fl9~oHmigq|B zYa3hejW7mrt9P{%ll^M=yz`Eh3XuxrO7VX@z*Hq{433N)jM~1(}9i>5MV`+Bm5Ht5aG`Q8YQIaJf};4yAwF*0EdF; z7B$^6P468h&jv)NDD2tvlH3ztkg}J)aJBlrl|gS5%SuNEyYzcr-~sM>-2{n&K3p4C zNboz2w=X~>h=&H~9vjk2>jd`vqgbjKT#SO5$JydM<#?0kTrrWpvjq5+ij9UpGI0Cb zWquat$0SJ-_5NkmxI`hy{4a}0zr&LYc@>Rrtz2QhkOLVw(bSg-<_wUyfe>!asPt6I ze4S!_y<}9O(mZ}4hT;k)or~FE3u`VoaU~r0h(?*uy8>-LpJe@LCgn~m@f>B?!w6Vqcg9uSiCF*+$}3HtH=$Gm z;TEFFpY~5eWAu2_+QzRXLTA0)dKExw0GQ@(UQzG3bD^!bdv$oVoKz=SGbeXzO#5=2 z)q<*5RCklNjD)l!Y`dxW|D1_=txOQB+%>7zdrkvsMEBsGkYPyi9Zbc|LQy@`ka&rA z0;(?rX7o^~K>G^}!DMe)W^%<-nzWf-={7@LsMGy+{?+0tbin&*(th9vv^8)`2pq3` z@^*YJWi6i}oCv--DMOzryB&O?<6~x}Kdet`-e1L>bQru_`y)APy#GXR)2nwHuD@J0q#zi2!>-5B;ip_t z!`ypC4Gm976kde~<2rpeD*?w~C$qd%@w)>_e$RJt=afSH9VXRx-3bn{VSM@!30R?! z-P*be^Pj@u@G?aiKP=&Fj-YyQ!;be-39x6|!QS(;?$?1*xu36Qj$D8y3u+Ieo1S09WTvn*jfg7XQ*K1 zLj*>KD93NS>paOS5>6;y9ivlzpB9pas?qG0_7WW0QA@XZhU2QMaht}jdm1#@4?9J5 z7pw89{SkkqxfS`uo0H~Y!vDrQXv!!Y6NPdutfRFg&YlEbs2=tBwIMEBHc-H7X zo;WdLcMfWRIWh8PJL+`o5_^0(IkZ#6FYeisXc+w%Qwn|xQ%?CZpu5}s%EopW-4fN) zDmS>kC>3Q9$_>M{wWp9A$n`;Ek~7n3f+mq&3Bf0x8rhl6&faNkD4qL*=Ssb;!sTIP z!G<_jx9(GHQ!>$npmk#PLmd-`DViI8A^DWHsy-7N&VCg|$;KW1WjiHUa$BocL1}fN zCH9C${V=a_=3=#RG3WTNQvyD5i=#{W6W*saGv2~x4&H=asu3RvScVz(gxzpebTMgw zSX8;-qKd`sWVuLATUfm-5+?cru@{aw%`xiE2r$X;1T`5M@g@l;KD^sAOoXwKsv_dP zG8ynxfJ^HlkmsgoAZAKul-2)Cr#M^`&5Ca!wcbL`bTM0JO3ew}O@eA4z7l9Nfbph# zYBGUJn>(V6`sKEP&&|TYOpYUDwZ?}J66?{hkq;9NZg+~C%QOpR8+PkqBSnmg2U|LO z+mk+W@F}I1(@%FuEzihsX6LcBTKj%AhRD`Z*Wl8T=fD(=ZD>tH&GQ{4FD2_->CR^s ziO%JdI^z?gK?^F6-wK#M`w3?ZR3`E4n}eE$Uo{M>>wlwgYGB%o2L-!vN;T(8!Ow)x zi(8KBDW~@}l1Sp?(beRjFuuA62c$BP7)u8X699{L4w2Z`k#gv~Z=xobnY$MUezeK8 z=ueb=`XkVM7mf7mcxapd?Xk5Gv8-8~Bh#BV?D1nFM>@@Y|3aw5jG@+hn((xHdhnA=$y9*k z4^{i+9s54T1mBEop)013N&u-Zy?=l=DOO+nH)XJih9?&#I~#|hskZt+cp(PnX#i+U z@1H_ya6jOsi}+SLxYEKsoTAPR=L}vLCq}YPbho~PV%F*AwTI)-sRsRSRhF$U77RdvS(%ZWcvV^MpT-z4jnjIT^Uur$tkv z&Y`N60#yRUbhKd%k{vi3s?kJViGqpUf>wsy2Icx*gWJNJN%xNJRqJ*GXHCZ*l#ti0 z64x0VT&WW{D2QoC9e0RYUJ@5oj+H^Zl#U)3*xKHC=fCk$phe3->S(NN184`eumXLx z?(JtGg#pi|H?GSu1zNXkoE3ud8@8*liyfCzEkQCRD*6CBw7kZ!@~x7Evs_4W@}H!c{x6wpZH=W z!U&AEyo(;NDaV|KD?<;a)WPO+Y7a*ytGI}k|L*M$Z8nUO_oFxRa$b>$7ws$gul*7U zgFfE}3I=DG!hBrv2NPXrbzyZTuG*w<>(z!gF-Wo%=<7Ux?@k{79rzAIqD;O6F!aj% z#*ryK!Ik~xQIh2g(VVk&Lm-iZ80G1EOH3I?6BWsQY9VQP;XiRJ^=N$-DJqF5ajtt_ zRvlXdmW7eEGv0{`p~pS%j2>^xMF-@wiF0}CiGC6n8Z%UokABg^&mlC?xB zYjlq$A>GTQ@PH|%l*{Hx-Sh3yJqg7I%iLuWN@;t?`W)dg9)p5d2~vjZQ}-N`A2B>< zU%+A`XeLeqJRf`1X{?m=n2+xx6!n%iX54*M-^d0>cl6VEs(VpvN~})+<-iGupnF~p z$Sba?h{iXo3AjggU7LpNiE_O zqCbT1W7-#eG!4%!GLFUUl6Mz>t!B4h@c)tV^LA0sbk)b}QnV5kWBfdtr-pHsC+YWe zb+x&>(~2Sub+a(&nz-ht9Y4{6Ulxcn?i&~WTv`}wmC~pVu^LyQVD^EA)EDRO+m2xG z{g=y#r5d+biH_iXu7%EWcKjpm3u&sm)HJ3p1uQ`>i>`1maIaV$+(EDkdZyY zwUcCz?2OFpy|b^7$S9J^wPo*h$u1*%C)p&k=k51@p648=(>bNC@Aos_@7H?&#B+rb zSBNg%h!Klrvya3r>CSW+={}2?m>4KlHK^M2nvYqSIgq^9?UpFpC`AvC48cO6#*UT6 zWm8qttrg8rQXGCIlg+4|fR?W1T;O--_2c(lg7ys{|ASH=97lg)s)^Qrm<;eueZrq~ zn!N)GbwajIu08>hGY6D>&jHQ9C<|h{jm@gxRO&dudH}PR{^8FWMY;RF0?x6B@hnk+ z+jjL!Tf--Eh65u}I+IhQOTyR0)Z-JE5__1sdLWME(|0{S(or5aT1z%V_qv0EO?d{Q z?tce$a+GAX8+BZZE_pBed|3;d9Nw{;4WGMv=};u)u9wHTX-j*@$1T;6bi2f^XFG(( z1(jCDxup+O_J4U7$B)-GC0Y#Y6dG1jQ8C1SYgqgR+>65o*ACO3`~R3#S2D_qH0HU1 zT;}jkpnqsL4`GhhpGFP8IHe1?`$-iI137M(zPnb{=f_ZW(sknzEOp=mC%i*+hrs2a zQ2-Net0>4-sGXfY=@*Y#bcHP=ZO7jRPI5U3l?0Hq0GQN1y?Ny~@m3Q`g zg-m?cH-G>c>OOUHR4bDo>$3qU`t8_yM?_Nl!Gka1O{xPVNbMeDq*p_qVAzqzzF4i1 z*nqwWQG7tt&C(Us1pGq1-Fs_1a>YDV_fZ_s`U1_N06O!v>~lLHL@Y!Z6uFB?$mj1d z?LF;2xDYbI*$>3c%IT9*+aKD6Ismc7p~@#5=1wk93|$j)iiUfITu539Q^-T}_4Tzj zs?ff*#k%*ZlH`6g9CINO=GWLc~4sOZJD)qBvWM|T=k0~&3vyF>% zo-SuB+9WeOG-1{q-G)csBPfEcY$@b?za^Z5X|Y(^OU-z|Z= zy#LU3NLfHtMZRI*X+zMpb-{F`-0#O>#^ebn7D+ZSxR7GQYG! zYO9W=E6P1}eL`(3$Fk`)Txz_Insr=OWzkC}6lPJJq0XRisw4CADSo~o&)|}*u!2bO zcq2ohlw9REvzSFpTGNk6nj?9fe27GM?RUSs6WQgkZu`GR@m}8X_xwA*#dvStyLtb* zr}B-xx(SEa?S6hrrl)tnzs!!jm3)R=xB5@}+df_Ac_G3nfxiR#Qt-e5t^u%Jdu4jh z48W!&^Kx2=W@l5bsU>}qYm6Gr31c6Jt?mCy@+&`-Zw6dkSU z;z0o|YB`o7+OFSLxt!#WQSK<;geE+X1XaW1%u?Zbn}Oa z9^%W-${Ycr`r2R5L(uDhZk$C2|;JWx@gIX(IGRZ(1>vzc! zzkG<+h&YNyh0~b|8}yHJPu{rqd0QnRY83kis;^LNtl^F~Xe}KbYo=y@~g4E3@l zNeoDwaH`iq1)Iy@vjK^j;p!g#%?M^d=c|;-A`1VTk6<2mr(p7KgUrwC8qDE!)IbGU zG`t*B;frrEyTWWbZc3ZnukhZkP9HoG*KMujx%x>;b8HCkE&TnVotq~fBeh{8C>$@} zk`c-+7|Agk`hhyG_1 ziaPKi9oPdDA41xIUOLQ!!bU3v{0wXEwUyzBF$S!NC?K!cy9g&)Fqe_7Pj3r#C0VWC z8SX(d4jAW-X&6_jV~=5^mwf`Sj-DfyjcyJsl)5H4mNN4$Dcl^;mYVfE){J=2DVbK6 zXyTH0pTZlZ=x2FWcWYdk49hSNwVB5LZsC}Rd5m4%61njF-kXJ!*?&?qUW=rE8?z$| z{|DO3X*f^u=XpQ-Nu%#C)xZy2N9wl9+n`ZvXjsUw?MN-lwCIs#;NE8>-85?cqcveK zM0cT87QczbkJk&@YS$W}16Az%#QwvNQdDf>8IUEMw!+Km1C^kn>R;AiLB247$v~gJ zw}MIzNI!~6%ZJtujxSBHj$a$6XskV8Zs7aNue zbVH&Ktqusyb}r3ta%Qc9PO)4yMuS^ri=2XUDoZy$_iMDAGf%Q5Zs6jSg>rm_mVLO0 zx_NmLr$AtmqpI4`ObO=_YHCrUqQU05?CUhyVei#ocK3xIwWkT}xfQD;ykUtOr=R^R zlFS_}QfK#fdRe&oaVP7S+z_idPG9OZT?SAaQWzt_vU>P{fcSzHAVKQ*(!YJpe_^0g zhg#A2u=+f+t8M@7rH%_xu-Ah`N(K=cJGuOT(vgngJqd6CipEolnbsD;7L|9^np-&l zKoyvyIK{S?#0t|Az@dPw19Yqk%{Gicvju}1a)&o}ux09^=yo72Tujc-Pv#xPQgaB1 zXV6c)f0Woxd(9k65tCf!d&L#K3r1+?@n0#-#1saiqs$z1!m1?!5$#NI%{zQ+e zkKUdfxGS4#vuB;tswww#-SpqRi@FlJCjk0r5-zjLq~gg!pAPW<)(LR3kV60l&4_LQ z1Yo6r93mNGsk%cR(wz7aiYj<#&|QQTUDQ4C?17iV3+4rlsPpgYMTC}^&@#5pE^r@K z)u8U{r~K=!wKO4{bjw-I{que>%X2jx(vr2&o(D`NS1E;K0;lvkljy7VmS3&?D@Rf5 zN8?Yr7>@U%8L#^|^dEcD4k9A|fbNh0`Rm8#RSa^J*)!l>?t6oxg`sy!|K%5S(myjR z)dMR(ja(=o7wo@(e^!|DV0ryt4hB0Dho}=%Sv_Kr+XX-eJpm-YZGNaq#@5M2I?Lto z5k1$4PlK&L)(=RKZyWf5K?b4@PM{JaUT9?0{3P3S?!D>Pb>-EUb_*_<{^5fOz-&;a zJL|+h%JjJ16%)Fr*Su6d^t4j#)n%f1I4_tkecl|#iaiLFV9c0ZKzU^m>Zhn>$Z<8P z3dr4V9KJ9%XGn;-5~d*7-W(+Rm0lGyr&)NHAk}(dDFs5Xet%dMG|j2{k=5_-)ZBKn z`?~4|UzD{3AV(QongW5{XO4YF3;J|%+j6nKM~Jqc)hkI$%l>H=?E=7u1NfR{3sQWq zSGIEUTs8uauQtp$C=@v|+C0!XGN$0(uOE7GBSjpYFJK93-)~Z@Ua7Jri?@uGZiU*G>fGGN{&|$^)L{YH!(}Rv^GH@&l0f^{+RG zf-wmqxPE=wUx3F1MyCRt1#iZul?Imf!fPEDlnxEag;*k_hE)62+h*rfJWCOLq}*oA zCjrlI6ac#ramoB_EnQaR542|>8rkH#M(uqw z&y|O#$8PTtI_7nC;vN&4WX;8ln7o2B%_TRu>fBjvk^8$V|MNrJR&4-PLk`BTd%H1z`eyd84AsGdBCB%w7 znb-LqZdM(Tjyv6y_jgdlL2tqJ_H+uhrABXwW;Q%ST|ylox0)(;ma3M^$R?zWBY6`9 zN;afMK6UTa7x61j{NvvERub+mS)8ayAj#+PA;Ym@xtyz^(}~MLAm-e(=W*J1Q=SB@ zZp26?{$ma2rE0(Kj@0Cj&@}x|@2)tPs>@cZIV?~!k;%TZI9hC!X*?FbUfXFe*XX6} z1dIU~n5_7c7 z#jQUj|J`mQe{hRxJDkrC8?H=H(Wkl)rnTDSYu{Oaa0L$UBx9*9DUh^3lO7)m-c(U3!_u59x@}{Z!ZMP8q#b^eEq?z~- z#VUnq1TcokoAC8wo@k*q@=u@by-W=Y`lGmTV7E-E9Y18%DJe}t464kCpyBqEeJ_?Z zjc%JaWdsL|jGh;nOM7aIf!78tuC1nIgq71!JFHHUaHIui&Q&WIeW5{0bJCyTb4LbmJhz=~5fO18_jYZ>wWf zAwVGc?=x^p1DuKocF|=^7t-vM*(!6+#&_Y{?+vM9H?2&h@|5l$7Ixg3J;=YkUhd6t z#pXs6pmn<#ey7*o*Q*_G^)CBC`O(QDA3kZ#T&W-JapK;6X?+N%!n(_`HJ>U6G1M|^ zTln(mu4OtL$p87Tg`V&%yJW;vtLJ>XJ`95s<{?wuYdPid_GaDI6H$iO3=)2goIkry zuTz;>qNG<8bJ@5dpy=hGVY>@R@)_m;Nw|X0F{@bq%KlR26JhxCbU%-B?_US40j~b6 zq5+6#G1H%MifrrLy4NI&-ETT5L{ObO=JAH%xsJ=qGE3N{SZ3X^p;=y-RhDU>QqENhyp^0N*VXGG$CDO|pK zSi^t#ru{}{(1^<)|C``3g2xJr9fY&c)pbG#4Hl8Fx`)FjFRb=%6ihO#?l4VS@0oRT z1%ihOh1lENJ$>KuUTcy`GQe@wz9Utcp4EHH0n_G)NZnxM2v@^+(-U${)iK$TN~_ZD z)=4ocndQr}bB*PpfNV>$!{G=Uuod`q17WGG{pChqfl;9c}imB42AdNE6=Uj zuHQF_*xz&|ZmiyQnW5RwDe&vrTfXb#he%JU(qIc7V`OA}z4Jt0A8ZI?OOi3-A{?S7 zSF|wm@(TBZ5p6JPruu>FJfx9cShKh1g2l2&wb^IE^4J+8f7xOE!0uHq$khRKDb<58 zSV50%bGt8-+y1j^y86-$qJV*dKDI`excJ8ps-~jn&qr@linUU$pOc@B zt`rc^c9VuFa75XxI}|o9$&SFsyk{t6+Nma!Pts-kqsdh)+@i`76Ou#3iykuY zdg=cS@o|bYVo$}CUdg%J%`pV6^LLo)98o5pOf1~NjF#|k@RM4~T)mUAkehAeuXg)- zm2mq3a)vxLzlr032fbyt$a<3bt+D#vB2{7xLDy83)V4Ur0Nr39JMT5Vg11bB8h7pQ zUv&doa4!=G-bEr^U|=nj!Y38M^883Tdw7?7^5ZNK(xScAJ>4eQ@q9e$3qoMCEH~v2 ziw65t2deKdUA?7(bH1wd#iYRWb9IJ^+S^N0t0(-Q9%rALQcfQGaTbqD7-IXfIC@Vh z`fS~^IXD7!N4J?{*l?C9a=G_;&j9z4Fo^kMd9zmT>th zX%czA-Q;XAufeSZb_oc6gEWF9+M7ONB|N((r4sCTmePQM#jWVQ8hXdGaa7a1O_DrIlAyncBv)H+$JTZvZ=zV%G{;c>3oTiTel$Q3RrM$L(b z?2w3_Dyih_qbm$&%Xpiq;M6_4T%$kAkWqGNT;9VnFyAvr{V4Hr{_iFeo3cxdRsWKy z)JP3))P4S9rx026wHnfT5k^!?&>qEE@J8RCt3|`J|JnE(jos~BC{}3nvjqr8t;;AP(0R20l$DnH7?wM z*8tW6(9UN8vl9HnsMZ_CuVUm!HL1OvXeVK>>vMg;TJvKVz@aKJ0d-x>{lvi-MO zdt>`@BZ-j#ni>F`uQ2X17&kR;xiGR*wVL{F+^xUJ-~ekOvnoQY#Rh_bU`767)~ARt z4>OzZ$K`$p;(So9Lk7S_{MmDrm}2$6%-D5Cyud;NjjkR=-1bYkIgxwbv#L_di_UQIrA81*fK51!eWd$Dh|V4I&r2N$D4| zHbe(_rqA+G(MDfKeMX^>3P29qePabhc9{J`Cw^$(Vt?tz% z#oZc%xRVQ8TjQ2e&sbRK`M1TlNb;jh>zcsVGDAHh=-s5vuJV_~ycB77{$;V1CEn6U zOKZMCB9h{AzTYD-8yKJ%Yux+%9l1K8jOt~1;wC{4@k7M%02G1f6Ov1y>;w_!{V=J< zdVqQSW|d$@4Vdl7r5DHP;|M?|=W;cTcnXj;O98-M03mls!%&Oy%mQtd~j0`U__Fp=Ei3q)pmlx9PGI;$ir-HIAA6Y=zGwq=zmksO=0i-CLCi2JIN8ewB z{x0CoZohIZ&^o0U++$ntwqyAklt2s(l#%YIYZ3$U@Zs~WHi-O`tTM@7QHLQ)?0NCf zj6ul8`FSJJ?fD-HA#DWc8117~nj!J9r4;w8DGC&lI!p1q!*uLO1OEY<9u9f)ib^BH zj|WDHVd0I6sOJv21K%-1%YH*1Kkp>#wu#!tWCv_|Vi$j}F?Bz4@vyy}vmY{KVRbS+ zn#J9O5zg1&bmX0KS;lDE)uGP%`VQ&Q{&gXU-QsK6@Sh+e9U$C^o>CL z>6?MzePy6FpyE#Quolh$xG_1#0?a|rNgT51ck2+>`sI|BDI%@jutmyW@2=eQPQK4e zSGCI8?osj4~Q4?zqCZOhvr z_Gz7b>c~Y=@a=Wg0Bi*@11xBNZCVWqtXE&{{xed(3$vGNulk@`#?<#v9>q{~plGnU zbWnBAyAl2H@+daqohw5Kv^pJI3Su5X@gwi^sh*3Ewk0X z+O+0!JWdT`5Cslf7WH7Rurm7)zd2Qo@1)t|A&Q=)7pOx++LgPxZDHXE`8<~X9cB#c z){W?V(e<=A619ij9!*QfoC%nFOAV0xnG-Ea|3R(bDxFK0;}*`uGkWhY#0~?MjC|8* zAsl9Ow#(Kgx5|AAA?A*MBT+A_XBY9*j*JJ|jJxBEF+4o8-M;Lgl}C9fqe53*)SsM_ zPOLyKSykRj_M+&@KWL#ZdU05kU?vp3cdvD4$Avd^$qVg#gKF_pgrhP3!k$~ZEaeTC z`2)MHvb;g$Q6NR3&$SZFYX$8SbnKk+!X^npL}2KjXSe}BeFEFyKeE+%(d9QB<; zw&lj7ii21@!aYm(I%5gHzk_0G{MsAoRI$K+jQ}D>ax~1 z_29h%4gy?2I|f5E6L8{qp)eoiD)bs#_khMTU;c|iQ+^o2C~7=SOZBei%K zUu3;T=d-0wR+s%Fc`%e$h@b|WGkAs4DG|c9M{E-c3u)`uB(<;0vmM`&g z8=K0U&=#(ex36cjs}}6wiT2ekdNW=G$d&W%)@&Z0tOU*;vSt}NgzkS>^qg=itoV8O zgV(J^mmEo}Z-YvULTjSq^c!AS8VXt3&iXV6*O}XC($T)R{q!($#prP!#fs@T6yAMf&MP2x z^X6Y*RsPHJ1eEyBZ{c9=fL~WqjE$U%DTndCW(4i+2al{gYBIMH z!_Bw}-{#;^QE)z>%DohDDjPyU;T+a+Gc1bx3LY6Y?q%$dK9)<$E#vGK+fr3FK1FE% z^^fS|v!U66H+ve>Co`Wm8GSp^td+IDzWaLm9%lLWuX2yQpPCGNXxvD}?b!2~;EGXC zNnF$4;0j(WmJgbAX#g_|6J)BTZkoFeDj>-`xz<%uNIHcTBX4RdoL&7#eB5y-EHzzS?B=%GM zvMT!CQeDd4#Ijx0&4mZQg!!avRvaV*ZKa1^Y);HcI?zvkYTD!b>X*8V3@99{;5I}p zN&Z+LAs9uXd_V68q%C6_ZxGZp(~kvM`Ubk1)CLJKiJE5L?8A!R%iPDi{JPyhZ$3mV zUmGepJrfg{!1>CI`)h|Rd2C0=eYaSa=^_}F;98S8@%yd?t1`HpOG`?E-0#JKiOZ-V zrh_FlHC3y4OfoiE*&hsta1*j8-${L(IuM|Y&!4261BThv%A7sR;ed5ggDG>`e>G1U zwlfM=aiipeZ>Ouhu51+>18T>axs3qYvNXcC;GP*`ekld@PbcQ zVm2C7hwCSFzYza*PN9!T3xiplA&%v8wRqJzKA~ZL^p{pVn;f&cZH$|P<8DlS(SRzkV27g z21Ti2r9oe{-@SA#H$VMc<&dpuNzC(VC|OlU)cdmyZ<@St#@*b90N4Z6`_;aAJ@-nq zLaczs9BGNKlkIl!o?h02{&mFTztJ~E*{_Mr3|zTXt8)_91s_dJbNWwR-|c4WH&}m~ zQ-I&@>r;1l_6$5%=5}^O(3b(qS7X$Fi#*R#z^-`$%DnI2AAxSC?dH!1Ey6(b!tkWU zXjZoz{?iDn_%7eBrXMfw?xunFLWj$Wo5Pji(q?xii|_zzT3rp*OUnjs)esX`Ub_zU zbHxGjj1aSv&y%@VDP;KNYuxit>*Utzwr0qS01Ku`^FF4G6MmB%0Uj#(fU=0@8t{0KsRp#HB|#nl!xk!Iqo;d#g36ZGT%nmGlh3Ht`b%P zw3^C6^<&?a{2_khPx^c;B4eoKn)V!>IQ^^kvNPpftqI-p0*BJ_azT&3kxRyYslG3S zE{%H~RbZ*oG;c615ekh2wHYRB1i=OrPd4f1xOP8C6DFwvvjpn>OK z`}%Sr|53Y;DMbZP7IlZrX{RwrMYl-ASduiij$Ek-YB6Gfapsiz!}&~YTcvtmZ{bvh zN!l0&NvPeUXNtTXeHBA)wYs&+`jcg~B2ISF2vSXnn{Rzz+!<$}{;}o`^UN|ioPjQr zIRCq-IA2A?@>w&1XDo>4^nT=H+j$*>2?sy9nXby#^#Iz9?cvDnh?zE`)ZXQy*zOK%mA|6CXxKH3Gn7=sp8%#v}ECDJ4#+#hj z$8r0EeQlI#i46Mm7!B@#R#67BY zH@2cTHVeMlJYR5W_siL(cdqfhKJKn#{5Yj6j||2$u6qrQwcTQ>nmxmc=XXq+bqvya z^+%1EM7a&GNmVvkBE)T~Q{GV}BfIN$(Z=h?8;_$$nFz#LQ6X>{n zBKKuLsJ4RPoXn9Fbzo#WVe4}f(oESi`l8?KMu^XJ`s3DY+!A4sNM7Vd4jI=$3vKfb zVx+=$Em=KUp%u~l_N0O8xvf9?`%`vmLaeqqrFU0%k0jvw6MOq0lmT`d=s}8fdvD!h zppN(m&jJvcfmT)-?IK;tg3@gfv*ErJtA|%FY5yGXKwUnn!QuYPiH{bp4WiUf%@nr@ zt++yi$B3zf6YT5IJ6M$nG;x{P-cs!Ix{Zvv=slf;WZgWr2^liZ5B7=jv-S_!^&+N9 zmL&z&=!3B)6w{Vd&sa)Ywn*;V1BmCde+x(msdvhlzr%noRicI+jDHz!!sR^6HE11UejpGLAuYY-!-X%S_^;f*Bo&783 zPHy67%D|p>>wBf2@dQG8(yV?B)ZRet3+^^$ix;X!ao`iR2=C$w?mr8_3NBJR68kJS zPuTxA_=@akNzSVA5>7#ARwbt|l~m2_WDvD?lWF$8;O}f<9b2ht(?qySGCFRQG!Yu! zoKTcf!U7@c!pBeOR#1sti2QGup6{k5spOZ`*T+^?-i0ByJqV>gZuiG}!W((R16E{) z_e{5#f$9XA9YkjSHug(+4SsFxE8Wy?H4O1L#0kta(=)QOyWn;QK}chKrpHELy~!;q z@Y2Hp0)y$)FWEwEk|p5qNhiQPP_z;LAvZTSsCk56oH>hTUgB9h@S!yM`kJP*d!z

      P!`>>iT4xQ z-ZWpbF>Y+SwP{EDcYVr>9I8*}Fq(f}F6NBAiHo$mqA+W}*Z8(R@0#-&_X*#+*}vtx z8A@FNm{Gnllbo*a1e=+pLGp)h)@9?<>ZyaeWZM1h2%IJ2lr;!4a;W#YO9=V7d3oO& z6hTUl_e*{OexC;yJJLZ1hmhn!q3)+nx=-2A%mOS7?LcRTix3_28;y$@p%7QSw3^t1 zC8-2#DkLUJUy;Uv06lyk7QUSpqt#=Uroe}B)FyT+x2`+UGs zAgXI|g^E@(!gZ#`HAI;%;ZTFxe7pN6gW!{wxM0)EU zw%~7u;fsp$8Z;k#%5eK8yi)aN?fHb)p3rWbdOFiqx%Yd!@W|8qq4*B;lIm-;!XhG( zFnWOjXtUzLvvn6pzO?Z0xMpZ**uCspef;aw&iP@}&7|%ud}A&_+5Jt=Ci+jGKC!o_ z`3^rj8+|qp3aHF((!A&`a~m5%)8pZ^ZLmsrQuEJFOvnmnbnGm4-I10~xLsUN0du>f z6j;W8{Ad+v+#wy165zp?gfu>qCTmf_nnaemdfNtQrV)-&5LAEH6zF$4!fq2sdA_qfP>a$$j7-^ zWkOBUJgb+0cQ5Z+_9zoqoq;I!9|?Th6u{zMWoKu9cw9_9VZ-_IXB@`L>57HKu3#b<*&;&{iH4?y@1Pa&T#fP)#c6itr{4Kq=m$}-<&>T z{?oj?q9P2Gg^drJ@&Cv@`DqMc7Ha1Zvy1tKXRS~@l z${Zn`BLpHK1H`Z z?>3VyNr-a7NQDp&mc@zj?b{HlNL6i9?yiCg@zi5gAFMCua`<4{YdZ0jEJ;8G`VDuEO+x{ylZ=U zD}Wl@vrsV<`z_zzi4dvBhSK5vR@LGA!jZMP8(Ut45bgoS+xC;2af*NQO^?~8+(*=N zEl)sadc*Xn=P^K)cNh~S&F^LML7fkHLzl;xapXk=>7In9)U?x=9gsIr%pUc7O6)}! zbZyU^Eq%qRN8Yy5BmbA@`QCAA|2!wyO==x=mu9o@+CwxhsahDe`~+EACe=Q7vHf7% zpP2(mim!?|57hE?4Rcyz9i))l84^nb*NSdp-;jvvy!&;JM(Z? zl7Hn!K9~sRncHq+uIKi}*V1B1GBFb^RdkvY8BVo!frIO@{m3$+$k*o8gZBi|A+QYk z3yJM!Tqvpb)l4oE!Uepyw+G|CF7Y=0eF7-tz{)gGI^C=ZbNg!}?9WpMx}My*m|@Dt zw}?{Zm4&2k;uooyxHwXY)9p5>y&{5D@U5+^@Gqt+$KRB8(s(?m#HGUi6~Bkokuo|= zsjwu;NbBTLe<;mH0G5D$XT?{IhgxT~XuCkqY5G6uIi7PA@eaxjrw+dTCf2@XAGaz2^@JW+qrf4v9Le%wh_!pyiq4?_g@|o|a#eEb$6q=*x&p`b;rs9s$SgJD zWu=>T(_h&_+5F(v@iPUSn&vdZGpXQSpH?$+|ErY=iY|9>q&!K#5?vwD;2*wp(1%6|^ISY^|& zz@rrY$SpqiJk%KKS=|Fx^}>*AWF+L|DC7?^j9Hn7xWPyA8yF&;_I z@C)VO8~(s~C|fj$VvFM3L@x@E!^Bj z>YovP*5YOP%MyKRoZtxEw+x}1P`siqvy+71!neYQo!d%Sm&OI7+!)y?h>|(fo8XCrXXoR;0LV#S{9PTyj(Ms|R)r2|hJXf)&=1*@5 z%f1^_BsgWiTlc+U?xhkcu-D%IE45<(^S=VzC>c#GO8l;>=240D|1G_4E&J&+IW;}C(RQZ72=TVkNAg{b+CYmevh`TPra7G4d-lBrz413S6o{y(*r>Uw$WNYad- z)0*tOc#I{w7}s$o5Oqnbe%*MhwQlBs7nkh4Hs@*o)+yQO*cb=u8;%W@b{4zBjo{^> zz3 z_1dsEwYPjs5qEJdz#x-Aq0**ahG>)~q>Z6@W^S z_}G^@87Pf64txlfF7~qRhHVA)swn(aFof6DF3~pnxBERfm*LM80Oy7hHOdLrQEMv> zS4vM<-CbHXSu!p?ACkXLKZE6#=lQ#S<>al-%C3yaieS-C$T77Vh>_DfyEKSQ(v6}$ z&0&&^km|g#55XOMwubA~^SzWo2#i)Fn4y1sl)vlVR8e-T?b*IKN+z$$OZo6YRaa_S zM33+_GWx-mTCdN7^6pDsrT)Xi=976!?;7~8M%3NSP`4DIEq`#;!R!Xfn~{wqzYxE$ zu0{dO2RsSyrawPvZl-ms)@ z^u6JRzGl@(Nb7k+_sGhdf%2$vY0u}4avA5}vdo;S@zG~mH$!A_=qG}r`A@<&>lg_+ z=X%%6$R6t@I({{Fbi-yqA5x^YN)^kJ?q1{K9&Y%7uRCt^?MUpW}lXCFp z%?$@f$9bT`?!y}^`ZDv>l1!iRaP~|6G7pr6gjkD3yJ>+(Y3ylZ5PWwqW|{zZJP|Q5 zF-Y4PH6I!_jibjJHa&Fb7XDLX@4uy{eMUi@#K%rStG@GU7Td-7w!h9P-z z5-Nk4!$#^0&jyb4B6d8jH}WzK;L{L7tB0&q7230hqKhugk9Ia&jr{_Ihkc^SOSaYl zd@?9Sl3*x=N`7n%wQ&aEFGv|Kd{!TqZN&9-=NP#cI(SGto4j2Q-Xv13OSS)uuqU#( zUXQwpJJy_jmc4hmyHKYmbIF{TInlA4=(mv@A%=JnN6g)H$y$Bkb!DGq`q%GOx_Mu) zDL?o4Se_uRFt^}g$RSLOkR%t23HwGfG1btI7AZFi#D|NskPoxEhh^5fa%pqWptY9f zX8-dwQX?D@pRbnLU5k<;nwQ1#=>Ce)#c3=Z=7cCqeTVeYl#rfuDf1pp&NOsAFTczH zvdC|e+ho_jd-Y(-v+}mGExAvBzF*`rE-&Aev*}_9$xYtv`|$2OMq1`<4e&rd( zw6b-+d7!{Z>{&Cas_tE3K577Bih0$Vm7jv2ly3cY()?R6uoCT~k)Rvcr8u8l1YTrB_j0Agy z)-9?(mVC3LeLw9qg>zHK0L6m#Yj|zH-R>6N<)7A%ApfSmUc#K{eRzh8Hi8`kkkW-X z_DN4uO^p~_($IxLII9;jqI0$=dv>& zQ&5$#%_Q3^-$rA7-3j_yC;u{Qxq9Zyz8=J|0bte18naH^ec%Loi54I(vG97YZ!UwP=A#7-M>m~FaEL3 z^&U>FAE=4u*c(k~Of#OHSJ+@-@WcK#C_NTGwQUMnn<%rznK`8C^x--J(AC^m1DBCE zr~Oe{K)mH1s_fuX)#WU?e;H%+G0h6yH2+2eCH#d2&Q&Y#?-&?El9Qaw7U(P9_&YFfFOpm2DtpC`! zIm>Bh^h+af7hbGEn6r>W|6dQYTQ7!-F79;QR06mk@Z@No^sW$vfL!@Ghb(7dlq)eQ zr4aY;-@m~YZ{h7t3l$82lS#^WX-2L@QoBhBb1!bAx4$8CS_p29V_h~WXLG1Z5huMP zao^V?jCof%-Yt>(%f=Bu0^2-3d=^4c64q;!5dyfP)=QeuwgAonRBxE4a&9njwoOXG zh+Uh`2N|dm!QSacm8$dc`Sa(%`jNgMZgzVK1-)RG>{D_SoUu^aUEom-2DcwszSIfn zu5U%?+@tQ!m&q*N*9l=bDa<&cS~5!7OWO%km`%@k5A@&?>Ui2^(ef>iKJ~Q#N915@ zV-cV1j5J;Q;5^r7@}k z{mrOgNsffi2wy-Ty+r%@adE#NmUX;f%CJ+g@ zo7j_GuNesiG^=LWgVblZeEZcCG7czJ=I>{7lDq>r8N)vbUBj;3bKDTkXul_f^~>f? zMO^fTv8}oI#Ub{zp4go6;}n`+*ag3PK83?nDvz3ULRcjiqwibLJ#TMO_Od*0d~srK5e`5 z`Yb*YjMY`2kCVm5EB)7oLq4j`k%$NQNR`g&blN?@GDE3iCto+Bq^F5VH=^Lqc6)uf z>G?D}<{%%NDlL45b~!v2cvO3`4n!bBjN)7vQR4}U4A6Tq|3SSdP#yHOcIL8-Le z!#XlfUXw~h0`J(ZH5pIjN$D$$S%2cSh$veuMI1xAZ_F}m$sD~q%;RziU^l2&T#m}l zrzSjNz{XuU8=Pocc4_Cenk29uN3VM`W0uo%uUQlgJ}vvsu_rLTnI@CfN7=eO&vYV4 zdaKnX$;{`9XpUs9!(77YZybVg-BcSx4)o!#rx|%nQmdpN&iH>2u0&zg}`&;)I#8rBPTHVMLIe=_<44$hF!UYc2FnaEUM# zXLDp*8RCEgcc=q{0S}p8s{d~+6EKkg7+BnL-XS7gQl)(XHPA&tF&BFClu1`t7aFUt zS-vCcBJ(R5&pK~-P6fj^0C`>y@dX`jS$hnNq{r@W&uEzX?*msW=sIj$kv5&mBoEB$Q%lN5YCB-Ad3NYUi_9s3Tk!^rji*vJ=05KpeZbEWk_by+sVMmzYR zw^x=wB$t6MG1v7i&%AI>sO|&w>_raEdv47LU*+%!l{GLM2K6p1uz+7J1g@{1QR9gFkh~fTwP7u0zMP#F6#PeYBzrlK$VWLyDKdPm3Mq#8?KfAy z`1+;eJYA~a9g1k0fUos3aNxpG34@ZLQ-ximXJ{yB_0?8U@ScPUf&%tb^=9q57H^u% z?h?}PWO7#6q>O|$NhWfM7JY^c`3Tw7unj5mk=c!>CxNJ2XJ^|7nlEvAu zyezZRS4V5^m)h}QN2;%$go%ET^BX*`!|UQ73+YJ`y90^*RbRfq3?@lA+M+iA$w4D~ zi&>zBX3u$$SmAQH4h7U{4+!$|U7eiz^(<*4TF#b%BOn5-;_Z(!!!Ai=^!S zRAFQJ}xW8DS@t)po zi{Xz>xKg*SbSKAEuZ)e3UOc0n4r=w1Jpxi`T`31A{;Xz0 z_6493ncSdTjt-$+&t*$r{3<-is$kGyHC0*_+bhO8`!0Y`czIN~%P4OwqatTV#E>>q zT1}L*xXvrXp?HN=IDGOx-G{N9MDDTg1ckqQPmEWa*+~kES_?u_S$r*~$oKaApF-C~^Gr9i=PYGFgCiR*|jy z79Kf|=61Vq56Nz|_lA{g3qJK6Bzy~Rux^RYdQ23s_DP6ZTe9)$UZ#S>9l*09UHew9 zUL!g@x}PQ*^K8%>L#$L>(|+zSb87J0-bPOUEmrQ;31UIRl%BO zq_!{<5WHu{PXn~PSex|U&kPB)>Po!x0^K2>FNBh4oPuSUs<;yZHX3rxxQ zG9=xaN>gD2iP`{$SvXN%N{M;)(R+vNiZIkZjf%61v=V+Z-_b3e*Az77qWH-82A-P# zL(^9PRk?O;(_I460@B?eAl)gb7$Dt9h=g>P96-8L0Ws*3Zef!fLZ2>Nz9+D^jQjqXJwKb5&%lUJw!qs9?T=W{! z2k&#T>tFuZnZ(YUcH7x)HoME#(McxXA7*`5tb-hD2;DA)`W8+}h*D(Z{cXUAK%S#2 zlG(Gc@UCCHK0iDV?#Nh<=#nUz<0&iK9X~MX?M+$5XUeAetMA{&V5B=tIT@!>z3#Gp z`>Uq-3CGD_h`88yMc+;}Q34 zPU69of)L8@NA5|rmOLf{XF0>knwSK1Sm-TzHzi1K8IuevOzpw1Fg$|H|BAf8_(Vkg3RT&sFZ zj^3Lt@)8Yim}zOMse`rA)_6XtY+Gon{wi?vYCznj-pd*D&Qh~yoo3*qjFIot2Jaj; zj2Po*OPCU~U+c;hC7xy5TwxiWU0a{dfEz`X+9Vv8(Yqs@1rRYffpAnYo%RhHXov09 za7#MPgMk)8@qwiBmqObu2lq-VD*Tkh8sia1AnMfBke+Oj$<*DC))r{Q67>H=D2sE8 zdvZ*_{VEetHvnq3PiZ@c*1c5Ou+pcT4jknG_NS((Hq@&9Y|w3 zomo}Ia4M4t-QwUbs(c80&y#B)H?KCU_1B7UP+O%s!|#hSyjBb$;klq};eI`%@r=r| zT8rL65O*d(+CT$Cy8al$^vS*SFSrqCGu%9->MN@WwXF}?Jng)`LM~E(G zJ^;&(C9$?+%aWB@yzuqp6ccc2WL!>JupCRUZa<87_sDug@JHm_;gSq4i5d)fV3?$1d}a zLKiw}*u0+V9U}cz8N#-oS7{zumYYN}P;soS$ozWFbMghb$|%(ndHpEI)IK#4BI4c1 z(uS7T*51^E-%CCrtjCg&pkqQQxu7T3=VB(0E-h4fyw9>L>z!UNKGq!pB zAJ7{@YYHDNyZU3pD5kZeBjL2uggcH%XA~5~vNC=&p%TK;g#ofmu$}<1=xyo9?y!@f zVT~-#D;S79*0Z}%xyj>Zwvy8X>%YKimP+{1Afo6jL2hO&PtNsF0{|&fx(8C7Q#_f zSS%(QYbSnEGBrhjr)aza4kIP)7JH{$^{~zcw_anSd6bN2w3QyIcx3))7wdsDG@|2n zD?~{JRA>3b4f72Yl1Wlh)=btTXlE@eAr`WdU0m~Sd~Du}`{6Z)-=-hqzaPA?W^yVB z!%;N$Y)0U?V3|y|H(wuKH97speI_d*{cK)s%FTI4-ztsFv-n2FdA%o^LQz?=kan00OL!=JHU+iQ z`sKf?6Z#h#+l4xHN5YsS^Bi}F0FuY^0YDkLTXWS1ZxpAe^Av*^zwUiy=J3< z97%7#Tn5|d2-y;C?p@TQcF&q1$I{_s)}%}+K|>wG{{$l_nw;-s>q0F9SQ?3s3Elcv z%dv)i?LVq3dys>%a)?R52U)*RY~k5>Cm;efNE4u$z31h66x|hHn=xX!PI9l_75@QE z%%_;5g{5@rWoD^|$Byh8G)RU2As)s3Igmh`Jg$B0oI51%o$_ZX@qEkBPVjl-nAR%fwL&AmrD)1xj@lS2=u*zcNFszqP}_va(tfhMFLz--b+5U?jg;nht*V} zEu^&1gm3KHHZIyjwLg!`f$-|R2$R#(u0QX_Ad(R3p?a)Pz5Fa;OOk8%<4p(phTEIT zLF6glY^JW6YU84GEl$G;nJZ;WDzJU5bvE}p-PpW4Pncyzot6P!LOb0m6qDOL^=H9Kuy<9EMq4CJ0e zNqNsVEBY#~H!2ps3I+*M=Ffx5UM$C8NXsj3x-;ZUT}6s=tR#p28^N1r`Z zE8`5ZEcRLh9+Wh&12zP8pNWPGE+=ym3D|?0R z6?_&&GDD_hGzyPOSyn}ckB0!QEXsD;Ijs&3y45Z)MXP|C(RB%N1Bg37WqKC(qFtrx z)325^@BI~2R$NPE?RF`e#MM)>5FjQnIV4E#f9wm-iLcWTOsqVdb&gN%DHYB{dv}Bf!{k0!SUT`HA_!_ z?q^^Hc=yF+?9;>5@h7~oo$%4k@v+hlzF8@nJ;UZ4A2)GQEtFs<&MF2-kz z>jZjkmVJ?)kwKkY8R*&;fCfd~$W={E|6Oc1lg7(mH>_$*!Mm-(0xn#u<0-hS?kN}M zkjM88y?TmdqME1G5BqG!}4-797Eozq1=9LE;U(V-hSG&3LU=i2A?$FFQ{RiD`FF zbUvB~aB)0_SRd`;2O#(C4O8I>JVbL4qwB@&QTs+PYE+MFT(A}{mYck0Ce)slB zFiTMX@mw5ujoVNHf4lg(osB*VyShC^_%~ugbGA5y_^hw`a;1>S246X$^1 z3?hX1D~Y^Ys}B7vn3iRmTpV`)1Wi*#e%urN2&Pd39v>M+#4{KoluoSFM6(jJffWT- zVi%=!xW3rwqtKJFP|~8Epao4*)ScE+$Y}$?UL-Ifliu#*_P!{}5+wyhG3O|tyZ5y) z4bg5=dJERvzw47d$OQ%2C~PyGR~7WV@!!{loS%^>PZ99)(W z_^Sdo-FN-S+neuF!yg;u1$U?@LT3%Iea_?EV#-1Ulp;F!t9f`AT3OTBN>DW0Nr{2t?C15Bt*CAL;S<({s*(jQYiH9-}x@M&~IWW z&{?N0mieUc4mr@N(q_o1N5q8&6Sw%0&L{H$_Hy>g>WN-_VvS< zpuGeSU2l6V z)prPw^KFvyM?G_eF9Dzh0c4(#QN5iIO#$?0%yG^Mre&z-*OfR&2aae-&kah(pi2;< z5*NM@l8J~!!UYYV-s)*V=W9PHJ(+%M5k{Yw=>Fn2otH*%#RKFpG5Uu#mkHI4-Po^T zlfQ}Y>_nwp&&e1M>5qk`717EnJkpzNrHn}sE-=0 zX7orCAejlCs%_1BRSy_CC|I@C)Nl82>}n!OkM*AY?8dXWc-ze*7%Q?piNpUoKh8H# z>zh_IQ4QKJf}G<>*Tm!JR`0ZW9o$*dOmR9giNygs0n?JTXK6ZpX{qwFoaGn$jL!XO zi{=NPs`jYMxCTUMPc{bjz>g6Z(ewUvsztTv2?0edfa>lHyqz)7ZUJi>ztHIl$;e?S zgB7KCCw~7k5BfE3)|)p8?l0lOR0T>bxDVL$-zTui_AhC2`tKy2*t0*0uXD<-RT(^P z%B$i28AwoJdSH=qeihnUEim&GEjijuGie9W=t7S>V^qm~D3G9d%~5fIu6urGh6bpn zKXc*TJC2F&guPjmW zs0^L3Clk7Dsk8W%RC!9@qBxL8mF^7V%S@G4)HXkmA&;+vj+>4-OzIV+A%YhS#uZdK z2W1#^ms?v~(dXcyN*=29S2_zTfz>LGI4(JJs7Grd{Vbb30_RD!;>^`K!#Y%ac;Su8 zBwjAvuB2vC_wtO4sWi>|0I8BX@8r&8S|tIdLV3*u(urRyaikzu6E)amqzH@L0Q-ap zC-`$Y-CU+hM-B83Up`dy5a7CsLYI@tReW>xVCtIuXy?e6(I&Hzs)#zu;Q1+o`y&k- zQpuW5?d5!%!MIE|bXoi~g!o7uGrIb;SpZYNO-O3NjeiG{64Pc|H@oVqb8EA9X+xDC za4&K5h}5dq$D6Vmcz^hd_(k(=L)%8p*L@G+z@xgvDYIP%_p}#^8dkDD704du0E0sx zt2!qB1E1u}zU7+*H=kdTECo?dqv7DY4qS8v-?G@)_nUp3=G@wU+|a?o&!$(XvqNo9 z;(PBzyp%J1&a-{4TW%3Id`cmq8)LzFd9BIBl)0Kn-sZK-iZOEE+hM)`tE2G_U$$df zNxLSsH_yXr;-wohRIrCow(z)*c6g1MvZn@uD;Wb0@5>yHDucEdz!`Bj{O*1{9W5y^ zpl2^mt!JwGpzTUeQ4t7O!Hx@IJdvU=b6|%QnFi(xoL!yKgIrxnNs9fjWRfkar`HjyZqx zC-)Q#QpwCi>@u2vqL58W1bO9R&SrL0Jc9Q#ITi%t?=TYKK%H6Bgxb#;Y8(iWfrOIdTYR|G^i%^_GSWFoWY18mAeI+0_ey=V5BAI?tn;s#Faya zw(z1_z?5^eqiW%0Ddl6ldt{d=%IcwXC2rR@?9}CfK<$_^$~SDIw9zUcoPsGk_Dk=t zUkuO@g8oUDF#)7Z@Djs(v;mDv|in5C2>2cVjy3z$I};0UCBJFWdd+ zLvUTs4;^@)D(c0+r~uZnysnjNgkqN<_^^s0O>k zG-Fd#lgYbjj3_NDF|}x3^_>vQ?@jIEq}3uyZmfhe050hNm}1<5zL(9GP4nv;5D)!T zAy9%#2}WMybR=n%G7KBgaq6;djXSeFHLnqKbAY#Zlg$TxB{8$)4d(A)1jDvy?o~{gRb8T47 z^BZE6E<8wHG2IQNz6=Vy!@yw~BrzcW!R=N3#fia~#nTG50);y-e0VS_gddwWHw+?C zXw$p@3|wFhPk3d=@%RjDKGH7*6N5sgGkA_2x=#QFSZhy*Z%)4#n$;v9l|nEOJfI5= zmy!Q!*}f$e>!+bu9uU=f?et&Lr7kkL;M@eGTGxE#t`)hKFYmIOl)DGFYwyi`cPYmB z>=qKhJF@O7k6`~+pOG1zW%1=ZJWrcEJYARKT76HH{&w;)q;$i{m&iWy=AT;mq*LEt z4axyfE9vItf@cXJF(`wet=q7hqQlN36lg%3GuP7e$#Tc? z>O=Q^M&c!V^InPi@|WrVY<>q`L^#W?uR1e_Zb!}0%=C7tDlXDe?Y{hROYDiU)n7VX zc{z$#X2~b(uMp#-hb^PQywO?|vb)|&6z)!l#R9NP?U5zR2!pr~cDlkyAsDz9qnq*T zp{iRf3D0LB|1Q|6gNhVYBI7-qO)gLSX6&BcME2_VRtiM2Wts8t|K2v#Kh4EGEC zdthyQ;66R@0bJ&wZ*i`o?ff~ZtD@8rN+dju42*>D=U(VDQ`7pq&^v|Z)%~S<9K*9e zV{?ki8h)DO^vk<9=DeJnsI944yzh(P;z|*rj`Gjz=>K0*1Y`v(el!r#Nu2lre;Np` z0ohn^=B^dGZvizR8pnhUTY!g6G}5-jkZ*x)Of}QKo$`5cC~qnUzS}5$$UxOlcIV#2 z{M$UF$UOs2rxcs@&H8y;mdm`(1!GzBI!WYF;~I(Pn}A3}_T_kxKF5T4%8p|kW@@)~p>%+18&J$yJ2cEy$~ z*oqFtuYT~h56WmY8Oz=aBxp0pa5_Tx9eUAESvU$_tYBQ6&f&D|nzqYD7Bd&H4jnXY zDJnEy>Jf}b3YjN=HnEsl^hHV(i0j-H8-4z;*LiuvN8q1!r9s{Y7I(_TB`=OB+t;)< z43YfII!YEG;WTZ8L`c2P7HZF934@UeD^U^|gpOGGp3atg^Kg1tZ1s%XB6( z7638p_1lwLp#9RV1q81-k`8<7^5-`geU@&3?gZvQnSBH+OlS?)=bQP5!qRi=1tYjo zih7My)M9wJw~8w1PetQuJN~+*Pi*f~;;|&Yeu-_R)B)4VjTYMOfkn$_WmGGxtLQl| zb%$3EP@XmmKDK(uz`LEQMY}1%zX+lp@Bu+g!Bbr@-1eu9u$4gb3|lIMPX^l_>c3SG zEZfkVSje%x#x*=1Ikx@K>ee+n{WQpeubS@}FBPS4_XNGioOg?tj5!=SPbmL2DCh*D z^EfGEHeVm)M)N{Y5~SWd_?Y5Q=q%e*noV9g|7!vx<+?nCV(ZL;*DR`5e{8je?)#W| zWWMDv+dGucBbtJ9C=m%FHDl^52Vn4C zP5u=T3>_=AC7{p)2*_F_dTYxW06|~!xQ(WxyGfU0JFRQ=j*gA~v+tRIZZO67sZA&E z2;$|qCJqxIkrEM-ME?jrtuim$3(~f>Ica(7n}wcp1`+zo2Raig*YBGg48Dk6s!7tb z4`e>GAHBQ385O5Kcs(`XcGX)?UX&o^OH=*6b)exyJMS(7Nt_cP2oSU)dlumR05kc9 zR(vAZK;TgOZ@cGrv!@$}D!rXIo`d#<%TVT}OS?+28aeumzue9=y)`3CB*{+t(%odg zQLz8TUnS(}&CJZ8z)RT0q7;@7BS21rh2vbHjlkBA4~nAGQ2+|Jke_Hnnpk)wZX(kf z%gj(K`EF!ZztsOcIA}UgZ3NQ0VE}%^DEoZkcl*^$`ybd&BsQBV!(I%-87X&m)gy`n z%l;fQolD-hnv=O8d6(9s$ABp@fR_6Ig37`Z_kYXm^-zF?5Fk;2y&Bfu#S978gms#4 zcqy?ufo=pY6#stli9pKZTej59|mm<*!Q?HYtU zGI@|6mL2iNrz+c{=%|x(X(2Tm##;8JRhq0-Q+Z|RS0n0+(*$Ox3g<&5l4lxd}tXoo)cxA z_v?p``DWfh8}xvKGOmPwIz=o!_`~3GD|xR5CKPW}mc=oEZ^-C7U>6Gh z?Egh#l$mdRwUz}($9LiM$1=v*3Hp&mt$e~ z{B*g<@x%IG+DpIwG=Xp0)Ijlo-F~ETdvB)XYJ)LOZN=Mxb`@l6oM=YRn(>Anbd11w zt^Z^|aOtW^7DOhfM}~6!g6l?bmkm6xZQ6uxZ}l_mG5`IW$CdA}lfN)*x%j=)8$oUQ z+FtB=%8Pwb9*iWEO98nGQ>kt_#>d#CzOD2IyD_}4$fc7DbRMV18<&(bLe8;jg}n`G z1T}JO4HhXJV{(QNULrBD?8bF1r7KTD-~y*CD}eXItk7lC+|J^dI@4GA>qYr2Sm(fE zvkl~R3tz)yu?{8DEif>_rctC^pX}qX(!dTro4|p`(Ch%44C+^Jze-(r&%xw~g7_Ey zU;}dk#~$t{_yt@^;7|e?O?UR(rLA$$)e*-@6q7J*V-Duwy#NTu-dmt~n`7 z;7I~fiBe8>FGkscMfG{5X4^WH|BbD2lh&+hzsI=(IjealN{+kMTm5${^&J0U|K1X?KnV5(vG zCd>O5t=To$ZU(KdvjnAgaCb*rzf=5J3YCJ7pZ`x)AEPojKLM$RpP{~kchY-HqgXpk z!pBU+X7SF>9&lUlSx25y0YR{o^5HU zy-{WGGybV3jXz6oGUAu+UhT;dZ%ns2CZz0L8F;Vt&l?ri zRs)m*tvIwTi&d&V3daE;4oTDi9@d-h0;&wBUS7|Ww*8xs8;=EWj#_{7zw3*=)CzxW zLBHw2-Ii5ZhNt3Z7rFRoW!#OmBk3*0#gB!x!v@D*pNvkN1X$%F&9TkP;hMc_@d%LVGVzG3)KbA?a& zFsAP2##{BsDpIUs1kFrO3%@1HKkeb%eSfDFAJwGppS2|VtgmxwGTAVsUA9;*y-2yW z#CVMI0sl|^-_M?&(VAS6h_<`bldOjC)0K6Ixa^j{RE7)9sLH)9xxU<7pUas{Vi}MWmEa<4=Gz+w=N(@lGs2jshS3AVSB8JjBspyVWfAh$*(q94#)m&JfF9jl^5T{KwOkaI_lmb z(eAKRV29bdVJ$#+^~UBmR85$78J-d6{7GK=0huI-TWB)O8trp^@j;hXmw)Z#QHK@W zLN(JWZ}mF{1_)*k@=j>xvu}(2MQ(4GOTF>~lP%Zrx6jt#sWtm|KDh@?|HNOW2O(B| zC|{37T1j8DCd1ru{TEus6+8ZP570A!Ky%zI@`hKlNy|a*PVI_K&5cQ+IouFuo)`Jo zhb4QAErS&P`>OeLQU2O$ zF|#9l0!C7{x2+&L9`dJ&J9fL%0-Irbi0}NG$2a*;tq=%?Q}7MHo^fd=CY3!*ptTAZ zNHw^GhT}g}yHUqcx_r^PS>C)0jx&2pB!Ii#a~HFAN|nI7rKP989OVB}@Z&jc#aoS~ zSanYbi~__y|FS=S{!bLsampPUA|N$~xD{c_ycc zS)T0*Mjtzu7~_u5Z;>4S|B2Za;CJ^blgfsp{_dy_3ch8R#$_sGbHODJTF{ACP!#G+ z0$qRtfGSW9AJkBWI_Z!z&@Fh`B{=W=!Y{kx3Es?v%a@l(*^_x~vvYD(dk*GYziq$O zyK~X7MOn;ajc~OG$mQLt_yDIav`g^P-a`6}xcd(#I6H~aL53D8Pi3<0SiH2n+;{dX zs*FKk1D!cS5Zw==k8b;;9JuF`?XW-QPotd-^~i-qkI` zLqCLN?JUfwD4#FH&M51+H8ImZqFZk_mHv6*7+n5+sK2jo>o&U3X*y_Jrft&yR1XR$ z0|-_))&b|!?oqy6038f9m4?>)Q{7OEP~$Z+VB5V40&8SYTRLDx!o571XeifY+pQ<2ta!4UhR80UVx4{!JM_=nN`mqPwNV0sG$aEr8z`nH-0y!e zL*mM|)i?6(j3H-IG@i_4Sns@zViXbn+}zx(wrk}h5RtNY2Yw^qZ_PVxz}r#4#0W26 zB$NJA%fEkN?;7}&c}@2STGn-6D81F+Wf<4E9gTq_`y6km*HRdW5qC)C6h0!x!9+EX zhoxioG!bemw_sO1_{T+2Pht=+Gv@FBb!%J z@?Q>4;7*!;*s-GT&xQn*J^Ms7!X5Wp_dm^)Da!Y^i*fO%z8XP4Gr_p{cB+tM^L#ht z$bHAA-P+G*7{_>R-!Kx3nl`CxwV`iQIO!i)M^$~V*H5~3s&9$q4G4qc54w1G*0#v> z1Jw!kzJ$%JOV!!&ofB|OfhlQs<4HU0U4MmIrG(;uQC6r1sQ;rdG1t~EeeBkw!U{G! zOEv5KY0E?^7m%877CfJxL`p2wl0SHeqw*`Pn-QaGV6Qv#6)~79x6~DqaTqxX$Yv)-nD$phQX=<2i>#O{yIr7?2+NpabaSL72 z8S!DvPGBPfKW<6A{SJ+D|2M5FDlrGCg#&?aI|1!VbBc&Z^_0dY^HD8=I%g8>tV9V) zok@&}E$?U8ck)-xlNBwn1JbLT=A_K&IoqoaK5IYIZJcG(ugL$QMX9LO=)xA1`0@ga z)}A{hSR_6nrQq`trjg;w0lELYyPK}|EL-a0!;*V%f4hJu_s_c+fv&ADb8o=VlTrda zC*bQT473uRvM^uW296Ixv#<@3b|1sfS_zMJlMMKZpJag#h-y564_Uu`l#}Kcd&z)f z{_@7zfyKVc$BtwGL(mayL1~Me6dR7gYNnH$!#MYLoBlr0m%lm=GGR)7rRA!+V?*a* zCGYV8AD!x|4WDQ_IIf#zT0)k(?pM#hU#q~Hq8GCy%DyOu2nS3&dxhBG1RVdVCqDam zrI4`vhtTX41Nbd8n(HolvWEY!1?X@!@)epQ3OhGqBky$n@;ef$;xJ7ng7w|l2PyG4 z9gpC`#~<%EoYp8*1_oH6G08Oi&Ja2XN)Vd$dh;X|j|Xd973m3Q;d@__J@%{-a& zJi(sWx;z>(P$q~jIIxw|LpL#`4?UA+f7LzG_%e3WsB<{MN}&@$b(i}r*1*8}nT=s- za&{Tzws^;{{ye6!JP1!pG`Nx|`|} zpKo2TT)eLsoRj42BDfZ?nJ#9yFiAdo9x_%OK6rdyH@4!;KKMQD*$8{OTc6a@rzgBD z7wA$>SM{=sPa>HzZs6=DF51xBrCZXf_`9^XJmf)l8@XsDy){?9Dm`d50{Djc1WSC0 z9$*j*Z86|w17TGmB3Tgeuv`P{-f1&dnc){F`uK}`Y~+k+tNGXK`MWdF^FR!Q!Y+`y z5YFx7Eqoh#?ZSk6^(zvW%3{Wg%rwzcS6|g zu;CjkC?9BjHbKIJTiIvz`NyYBKY-_gEfpih%>~1wkkka&J)shRX@?QTfwU*%D&T7Y9Ykk-9lNiR27!t9beQj3e45r+qdG>9(!G0iTt3=^`o>-%z9jq9=%eOnh=T+AB-(jmFPPDM-3cU^$KXO zil2s2@5?34F4f_JY{LUz`=_*$s~QFoB#93;n8a8( zA%(B3V7+efr=GYz>x`l$`2g_!XhQ1WynspHxreC^!B3EtxtGMM|EX++0e3zYHv$Ve z6-fL1!-Zaai-)xHX)g$;LSRrf_S>ohq3J33!=pe6)1}J8vLp}V7YYgWkV50gr|EVE z41jt*!A3uG6fJ5+bbLs-tYCWfi!L{3zcE$HoORIh-T4cG=kcFiCJN;@?eGE}1|@AC zZK1OcS{eEZzNDpb+A%nJcAXxa;-Z}JGX4ZnRlCLSmIFdw$r>2}NqN$MbGB&H?b7_m+G++lL7>jV6|#^zOjxc19F^jY zma9fm-YStHBgB;ebIoV(KAHXfOwF$Ow_?m@!BJFzyhR0W;_ipjxuy%2~lQ7W`)0^T9M8IpXv;yNVXJ z!3g!trJY$(#Dh18d3 zf})#zAMLAx09gUhycac$fIw~m+UKr~jZf1bxVTfJ?x)o*drt;A6%wQ<*U!O|lw}0lEjxylsuc&*F=|BQ-CV za`tl8Y20)SjSdg+zCjTJ5KtM0Xoxutf#4XFRB(ts6e3nJ=+RR1zkCgjsko7^t4pnXdINRey0J4D z?(U1U;*ufE=kV?g)+ZG4A>3+9rukHC)F_r#e>2}+)p=dIXU8*;+Is z>JmYrL*g5Ge5U4>oMYD<60>)j(O7hPBVm&oJOKPtM^y;c+W$tHgRucTTNd zibD~*{Q^yA_r9z=9@+FcUI(UH|3d+`8y%JSQkNzeDowHm8Xrpst_XGsw5mzVF<=eZmSoNen$JbeSrDPx&5V!L$I3s;J*jnX~@QNyG22^^+#Pjod%Kw z5usAiuxR)eXaScRQ6m?u4i#wGRVu+Hn9MjtB+n{Z%;HYELie^lUh=Z6LpkN=$ z{DU%7qrgf~NDfKv2V&ex@{W5e8Ff2dpK9FPQJ)d(W5IK&K~)dc5}gmSO10@|{qN_0 zdM}DCTJUOP@<}jm_N5=m28txea3{2|ezNiwkGn7@!++CLlEhHCZWmD6}jcu;*&5N`Ay=a)# zVIsm)UK&?46}D)JX6q;@dw8kq=ccJgk~^xC)-BSoVn6n+J@GVmfOGKOe4qP*Uu)hf zBfYoMx9H*8Z(JXNWsNbrWPu1RCK_sOb0obJWT2t!umX)sezKoddqrWqED*OMd%^ zd!diPlsLgDIy=t79d81$s`d-GQ^`)IH_P{4;&*&o&LOB~%k2=xBN}zC{ZSTiU!IY+ zN4_qYYqR$E=bQAzO4A*TXF*1P@{pRhGu%Ie0+T8xbE!i{su)~|QsBKo1u<=W=LUov zn6;tcOoKxk69Xd2ogzNVhfdZ(lI@v7J18a@rFe#g;dC(V6aU!h*8eFsefl;~J@DeS zfot)J$x{=hw8F{vgJCKD2G{)oT(Og>0uR$vM_isnmh+{oy@$9eO|rO~!_^*_a<=AQ%7jmXV?urC_q#Z)vQdgH}u zmYxLCD5!u;DKu~KX*jx!iNb%IQp9SvB$%qvAMfk!*a;}~P|>mNWc#=dt?9q+S^>s%LVd%E#-u}7nZC>S z_9?eDIbzg#d@H>?B>3*3=1KZyABVleZB5^(sfi>klMJGmsw|Pr^p-h}(ubL2?K8dG zOxJ&yDyynOKw<&|Ca4}znFtj=!;ZTLaF0QvamUEW8%+VDvd1V|Na;<{qw1M0OCcKX zBi`*N~Lo<*D_(mlT?UBNZqy-_P-Pkc=)p_+vza!`xS~772S3tcbUJ za?Zo4SES@}C0k*6%}HkWdqI_*SD1#6*aj;r7}`MRd(;Lh%7_T;9?Poe9&aq&qV(58 zSLT@Ar)Kr{d)LR6Q>Bz(%G6Zb*zg+llqDHY(v~_rP?&##3X}MvL+FCATk`wCDDKPu z+;F&pX}tEUYN^@28GT3R$ z{j6Vx=t!99i6ks$cf^V&#pl{b>Uw>U7qk=X7cXYqQS&NEs^nY58ev3emCEKRFTMl} zsa6otwdgWZvw?4bz?Y}nVkZL90A7{euQ?||{oL^`DP3~i25`)QoYR6O1*#B}_OzMy z!yoo+8{yYZB~CieO5R_kdD5`m02iJOmJv@EuRouPTR!b(|BONi#faG zo3#8~apwKyy6y-L^L_65pEid3?NrP~O6+=+0NnN}D={9F@E`wbfVS|@oqDn~K#2f0 zMQx!+Ayg>Q9f|_oO@>Htyca%$&vrjOX(d2KZ7_PzqpK9&mpN%fszO)aO)4J?GOz#B zCb;XA>bS6{-dZQ;K_|Qxi2wG(iaSD^dslN*#TQd^uu*qCZAY7jC~&}z=54R7=WWdj z`ZM}}qTx{iMIF7@LTR}LH{$aaW#-3nV{IlB2L2&u)5A5=OzeV$`(mV6q6V`3lCrkb zjN-n>vCTZaqOT>}j;Iu-vBEM%s1aI)wN%9_@GeIDjZiT1UX19hj!nRpc&cW_`nL0( z`0b;DyiZM^YCgHe`V7UMQuliuv?RmYSWCpvrw5E0BBBeecS%?M?O2$V)Lw^ha_2Zu zn9$qb))bjfl6*oAF*$4nix|cb&n;^!z+YHYfOI-2L&gYo8WI%!{bFk8w$;3iL$9#e zr0leXdnuq6yQuo)4Uqc)799J)_K>p2-QW&_j^E{1Lx}t8h@m2PeOzd|_U`2Bd;j-y zJJ~~St0TF}pdf>M84MM&hPRp{QI5_!$_E5|ZYJuU+CP-aiP@6=9ne1eM}@!9@cL+k z-0rsh&Td=M^z#*N`BI|1FlnJJmWYW(w%_-D&pEV{7CLk+EOG^n70s0RAXN{BmK+aX zB;h=MkN#inax(F}MI*eVwEVFRYacQpe+Xt4IZ80>{;c(|5VrHk)$H_J zTYhs9`OP=1?elW{#gX{`NGflY}opmF=IMkRiho#Fc}_pQNO z25FQe=rog<&%YMo#QfB^eURjwswnPkAdtR?3S9+e<-~P!f*-YIu)N$7rWJs2Q2YWy zT`m+DHsdybTJSdtqWU*TAO?yScEi#*3w9D4WmMk6DmnCb7>=QOzf99#ZOtUbL75|q zJjg90pRWvIu=q(cj{=*qq=5otkowM9R89z?!hE;V)Ujldyk&U+|B5Lcw+%CYsitN&AIC}(lC-X zXaj67ZvnZQMaPuGXzda1Z}ju#@$DJf+%ei=wFlE^4A^+$mBMB0v9*yNx$KL3r$qCT z+*xXpjntYVqOh*o_!Mj$={RwOFM|Ftr|Q>C_dqVw<0ntzVzgmStC&=Vce2&=WH}g@ zL;_qPUm-0JUs6jE!XsF+hf!ZHjInLLoXOFe(`pp=sg+A;tsSyB#Xm^c>VD&UpMAoj z8{@qhs7{NU-BH{bt17BmlcL^B6C6#fZ0-WVrQeIHrYyo;CX{u>F#rD4u`r=Lnr2Qm znE&t!Vl~Q$$RlJh(EsKWn_~Z$a2SV2Dwzu1Lk*)H1_>9hjLNwZ%B$9G&Y>hyqdzy<0@R(?te{tI< z1^BCxMjh$My}JQQi4c#o|{Gt%>Sh^}S-{k$1CrjQon5%m5Bk>^Dy;>R6gg~7XH z*!qYALA<5WE05pZzHf{RZl4qrEi|;ZzX<*B;TR<4$EljYXmF8dj@@~usko8>l=nx2 z=ja(|J^mc|$nFCf)OH3`Td}9uyI2_VVmSk6_~c4Kar2rjIEPtik8PHehnJx7cu@0u z0J-&DruRO9KX4W7`PXcpbntdrd7eyP3Va9l zZ`tasK%WTd?-1Xu&Z3^ook05tsIcRc6WzcSP)PzD>GEY$ls!!W)~(>cEH+5{jnzFN!k%%!z$dDz!x{y%32wc$1k&o&5^Q9v+21 z-lu6D>)^mF9xBZk*EWBe=b>j2WE?QI%~6wNyxPP-?ahMii+{cMPl)jU0C=U;|)m}x_6xdqzXl);fLmb z1O`J!E;Pf>%h-2tX-l*pa&-t-;GDb2cdR5R?Hp6g+aU>;v@%h&o*EkvA-w6h#E!UO=OZ%@c^2g$Mt+#(PrfwK=7if3(vlk63SzHW?%PVH7b}-(Q{y;S8E*Y{SWIj&iw|ImX}x zQzy$HSD`cpk_wpdL>-O*_Yy^3d<-%gbD~_Zk9S~&GF%SZ`E&{s{zru84fnigJru-l z(x6ji*!u-HBdke+3w{1qBPu0}!xSZmhHDH~@W2WL=$HUW!{;FA2&Su*1TYNrd}@ey zN6{l9^KSGnLzstH9`aEU@7`r(!tp9p=$o$vS)t0ibVr3W+FG@)-V-VPe;`CF5F`EI(q>J;hR`R7|k?$`^emm%x1TySqd2m|~B zU+80JBHfOeEeSOF$t$=n1b|?HY5W}3>dR0|d7XgO! zZUc?s=D*Z4g_;#thP9q0K9#CvGq!n76j<-8re6CBsom&!Gp=Ms7koeaY8>M>cvt6k zF0f3qln-8<2`CbW2Hx*1Vir<$k7PhY}21r+AP zdbX^(K1o7A`NS;N93R%CXyarcV7dIN__God3tpjHt`ECWj6pj&1y)3=;M|1i<=+jps(e(@8 zL~RF6)kp~SJ$jRebUj$sp7-)wdvBZ;UD zA9ZmFSA;?s@Yi=CfDDSEnIwiVfcpR z0TsiYV84}jZt0`76ajZk{aY%FGcO=|{4qnUH3>sj$iNT>ybjQG(U3%eSe9eM2iAHU z$#gI!xB_4Ymkv0Ip>CZ1grHc^s#$qI6Bj1*}W-FNP%T0KzzG=0RvpDf{r7L zoM80(aR|vyXSXtv*L>ED*8D6!k2D*+WZu?3)mM~4AJ%QC&X~ew+D{c`6@9dq};3 zZyhwqe9lF#Jx9GST@9V>=asL?e!(fk@kkXA#PWbxQbDE0Qok&52DV_Wq}5@v~}5aRoknne5WkfO$J#{5*Y`nKh5JvkzBaWO)im zY`>Ho(e!(T_KLrD@=742nSbFUcM$Nzq+Y}sEs=q=T=R*%F>}{;eDLNY3QtE>>&p{$IM zy)q+vk5V5ax;7!o<{D+stRy>o{hzn*|94KuIiKo$T)kiK=j-`=JRd`QPU!rn5J;WD zgAaK5R|!wCg_HA1DGR;@yTM+Qh4u=h(FZfTl#l8H? z;k%E@`38iWMMek4Io}%t)2$@a0_zcKQIuPT{rszHODDEsi~`*|EqK_<0=D|n8-5GY zC>qm`#f_o?3(+*U6Vmckr4b9GV0r->7MHtj4G;xvq69_yTGFe_?g7ChvLNBr;mw`h zWZ8birJ~^GL0_7J-3l7UwK!n? zB&?U~5Z6A~Nh52G6-DGO!R<{mlmZ@ohGM=3_+L=3O-_av6;~R{wqIMaRpHe?Grl9( zWj)TeHs^*s3HZK@|G8+?63WNBk_(NEbkebQRpkZE)VRiHHk$Q~2e z3Xi7N8#8p2l(5o70ie%Jq{Zt`<;6B|n=KW)g8J2-m)d{=I<4<{i19Q`&?bT_Jm#||Mv^El*4+3tfx zvgkR~jvJ#L6K+U@EXjXz-P6~bQ*!Yycvuyh=4Q{=XQTIipwO~Wuw-fk(FGz1{cuFx z8DlbVFXxzA_TmVAGJ(cKi-7{^LGFh(#LfIw~okp+>&#OA@} zsBe&+0Uf<}Tspr^CG2%U{s&k_e=3fGF-nneph!V*jo2yhGQP%`Eb80u)NjWv)?e~M zS;wDdqb>sSzhLs-F{-z7GTHvwxf3<(4FU;4!Yg?`4)bB4}lj;ygHe+G;n z9z}ap4A^TqrCYz$GDv`X4n{J}Rmb%Og^;As8^^CNgZLR}PJn=b5wzeF_5lHK@wM_+ z&c#s<_cAsXfN@s1#>Nl7J|@@}t3Z29ED{jtA~Z^(d5+s9TYol{@$YqU38O32@xLXR#a%MDg^q22_s0uBHchT zjByOQoo8-x*9xCTs%WQdZmdGqDbK>qhfSwl1io84Wdu!d=8e^`C58@O%lt362J|ob zoor1gehHJ=m!il*=G~5&2OS>BvD_U-^e$}E0b?BwBtAcP{I@gB;#{Z=iSseLwm43I zFF+d!W4GK64M0>9W31_Hjxgcv7m%H<$3W2FfvOKE^C9FNl0k`p;AXxz zy26&xWY|&@#35_O^%2{mqo-PJ_f>T?s&%tBclc|5ydDKD8)+uzKFfZ#3i- zu>P2zvN}|s?)ZFQ1=qi!ofjmHhr$!DESN3YY}oQHs*S`t>pX82tO)%EO~-Ic@_EJy z8*%3qo4mY}%S-gxQV6i*BQ1xkG|KbynrXY@(%Td>>;Mj<2$QAms+)AAzBCVk0|vhm zyKv#F-0@(X^Flir6=9ZrHhqrDerRA3YP=+}231oNo^x@!aySq!>%KT6O&-g^PGiG|KU8AyOw zb;lGTm|-0y9I!=)(B4o`32FEKhI>2CxNKe6xS0Vzc@vd{%}(!V5Zjuq+*lJ-4A9A0jwfkw zgTae%nnrYWVwo-J%;8qsrG=rl>R#Xvgy~FvIs(x8vpt3pToNEYo95|EqrC|stb1h8 zZLlxZXGQpKus|aYBpYbN+lhnAcq-Eo`6wr4fyt)cRr^ak@dr0^B9}>BOM(4GFqF8mRl{KoXG+r zWg*)+2hA*yGO3t!NIZc~4#yAjd1UeX+iO>w)Ub3!|2vrYaz{axSUbUyHPmLTkS1-` zzAxn+tCBn#j~+|vh83xmW3q4pL;J#j?=K`(WQa?Y`NOI;eCPY`BOb@hQ}PpXtI$%D zxo){V9MCn&KGl*dGL2ZYJp6m&bzRIVRS%z5{B(*=Dl>qq``v> z*xMKl|M~v23s9j>7B0X>0iTpLmEH7btpt7M-wwHR5pa@-eolsW75ggXSMv!~^lmib z8*9!){q49sr!pg!6_qkiY$oHm%PQ2f$Th7^^#3~$#-+Xrk zhtq{mt$yGBNFW($COJ_XDh5=P2NvIV)6u9HRJ<=5FS`DByzSRY)HCUj0>J7Eu&+%3U?$|O0krh@4Z6&ob)r7BYd?5QSzZo#P)(~)DtBiM%B zG=@J3a`P~w0+^3i^tjPVSKrVfpeSN7WnPy9!|zyL7Oz=VdAG|4V=fu5SO^p=D2Z{% zZSck%m(+7_8;gVumdv%M=^aJ)^QO`eJ7>1DNp0fGl?I7z}DGPWoET+T`d*lAt2JL2X%DfwS>@4r}oVlf>$)*$wT(kqXm-L`P+nrbq*<6=f> zxPt*2CU0TWVeR<(pjlJLbx-uwvO#R96Vn(R5#Wczrc%{2141!IZe?jLd?8>F>%AqO za&mIgew71$W2E%qmdvHi7o!c%d%qu?{wd3RY8=dQ}ybv`;3S}tM?%y0;D z3UAy1kT?E&FJY>ONfN#Sf92<+^3QNzDSt5}25^EuZEC9{@OPggWJaNBtCew-o&RbJ>aXwZ5IE^``9P z)_|y754-CRx)QrlQ``mouP$;7UP_f7Xfvi(U}+DRu+a+p4Y}8JzV^JHW#pVWSP@V2 z*ZYI$(5dU}57rK4M+ibQmsuFwn%Nnjx!UAvW$6hOku zh9gjA>guE$KNx+N8Y@Sm%LRP}izThzU5p`(jxv3Wrv9mW!!*YTvf9&ew#Pk8(Bi)6 zRv|0*-TvYd^`_T zF;V*`Y+`O;Jnlk;e81FIs(2;{GsJZO&bS=z1hAGDgcHH*;fTOR*pwBn5t}a6?!Wud zT8Aq;YU^qO&!l_lQx`vbs3ra+r^;=0s^pvN(lzU3eiF6v5(aVw2n9u%bhd3_x<;Y z>&SE83HdJi>1lU-=S*GBSFIFvbSBKF(A)vL$xh3PpA6CdBP0kopCY%BeetU|wVnRE z+f83s4(dwdQU4}9O-;b z=!uiDdP@*`JAdUF@nW?h(-7wv{#|fS;5c;C{Dmku%|Otk>5~mm;J!xuaKT}y|I=ml zbGTfan;`iPz$8U69G4|6m00N|ABZBQn}Rv(ZUn62#4A~(yPr+`3=NXViTU=Jd!0x8 z_x7QJ@EnMVNxs&=TYB($(+?xWcp7wg>+J8a*G?DD_5#ZV9p-wE8MIr(an28rHzB~~ zJ-jd%Zh_4K<~{-)EOZwfBM4mk!wf{YCXP@C8!?{!u=Olqla67+2s0;rjiuR8Zh_U} zQJtpFrQbQFCX*K?s0lJ<*#&Rr#}#eS^h}KOlF6GYH}Iwj`1n#FB;NERz%CWdCLAl6GftwB(ts*n3bNxY;dHcU+n?h~ByIk|9U$_MUwWXxkx= z>R!;`4p(r1%N*bbaO2p5urL@wzWK^Ak;5dp>9_hHCUA6s{R>TY0d%gTA0OQ~PyjGM z-W$en+h5Zvx(Mu+XLVJb2L%bmCISJIht#SQnsIKu9^(k-nX3xxgazK-8tYmNNsDKK z7jbF|wo_ta>K?K!Gn@AE?4`~b9%uGz^G2&L3A~n{i`;~r%rChD0qKHGXv1HBInNCyFtSIVrej0+N9*yiG#JBG%&`{qobDP2D{I;o|3Hdh zy%!&xVC<8B;y&{h%TvU!NK?Z34l~2)qgbqt2gG>3VJ*0@WDGkk9Ztj!Uv8$>H=(qd$0IcuJ5rE* z!lHW~)DIGt>1uB??WM&p-(6rx2vh~RCs2lBi0Zy~ZckYZ=v_6rKP-mbye7JFV{U*f zVlBu|l{;}u1|7iAi(Np!!`u6YjC1iq@XIXs`^jT#oZ#ovG8}~uGb`V}-W)oM+U2X- z{gma(EDq+ZBTw&0$cw#Smr$4$r#Tiqa~wz~Zcxt;5)lmS!>ixANhUv5;_!~1gv<)} zwZl`f_X@00tv1qG5+kxxEaQ$6<$|U~?o}|!{aZX@xDY^}fo&=5?qln4yl2#P;!m+l zP+E-UUi#QyRkErp;^0_fmDPqvLWnm!|pgX1u55 z3I=3$1=li1utlyRme?8P#YhC$J4@ZQGn1F`>;jIaG?uHT(hjClYtFq7R_I$?l-!2d zL*)4k1%!ma3(?ZSq36F+i}EjU2k*4(?x0t8$7W~Y-T>05T)rxl;C6NZ)KU*X;iO73 z4hMSo4l8KA3m{(-oXZUP(>>N|v4=(z_S7!C#vk>0-L=q&%P2&!T@-DZyWOfVosqWY zP{4mOE1s&58?xzA#udyxiPuu}ISE0aK;DGG?*gceXJF~AfQ4)nbb9=~j)>|H*TS9a z`QThSQu2MKbH!R-y1jT_HWwj>KA!jOGJh_pqea4~i|49JjZp|)<_5crr?X8l(C1^C z5r9AdW5BGxwn1V^w}Q^;0N&E$8C&920MSy+UJ!ve4kXC3f#8cv4Z99-iuvzefU7PT zDO4DKUFu1h_h!cY|3F2E11~NR@!%^4vg*%~dp6Rz;*D7Yc{H>iw~5P|^i=cH>G>>D zo-TQ>dS^$nVJz#M3m3+nFR2^wj#qo9ig-U&ah4Cl)0Ia&tg9z)X(lInI*@OVlq!#4 zf8Qn=?)Pr1yM%7Y`U{?OE#ju;P{Li~knv;jJ_z*c{K1^T%GbAGiVpp8eN%T*)K_a4 zalGMy#as5mbob*V%UikXU9}kn%2V!6NH6q#MOykbo>RaF8rf~|Ok$8boxcPs#VFue z{N&%39opqRV#Ibi-bh5dJ@qzF@zj{Xkx|!@&WNNrZ8IS^p<%FCvm7~C;YvY#EM;4I zMmDnAuqSC}7Qpelu1Gbmqw?%~%UH=->Yi5ODVpC$x%yE? zgasI+Rx6}7o-ac09)z*Q;gTlNT*2HI){);H!-D}%Iq=tH+d)ai*tZ6~rO?AW(8U^= zV03&B!l@6zQuH5BDG2SVfPC$EXRQ5=dApVC&KG4{HYxpt!8Ztks;&v?V0$?(oz|US z9`fcP=|;)7nB&OWI;7v*C(deeQ?azL;oVBZPWT|h)yDRPN??G6fQr2%j`SJ0DE&{@ z+4>*umZMYh2obJw<%jdiLOg1tFlNS-0cuW)F5BVNN)dv%Z{!+nM%o||1&$=}Yv6N% zb_vi$W}iPIs0+*q0W2S8jnjFSb2bPDem0LumC5${N%YUQgh%d3^%Nwk*$kQNbSvK3 zmlMF-0PsofL>!U`IEm2vLSQR@vt3nQp!U8|e~!!}tLYaednc}+DI>OJ(6vvtqyK;l zSxdpq>^@T-I};PXav~e!L)Rn=4uQ_!n^sqG-&py{+~Lhc1`|)RqqfHQah&Apg@*rd zc~|#*zAl%7R^(GpToavSTJ@7A(P2~^BgOI9ld|#A|5#LBb$RJ?u4`?!*Ha|-=t7)a z>}1WelM>Ft2Ullb=h6v~5(Hy4o$r0j2w0Jzy*5gx8r3L__4fWXdY!Nl#`{}i*bj23 z?E@5QIR5KVO|@<>*+i?q=&!sUhWo)(4f`d{_jYf*@7{=PBZO|k#$@ICfZCVga&wE% zs5fkra_aO^*uR!dFLt}xJIG4Hl2{}*fH35z6(#W~Q(x4&pvwv}Y{KCm7SmrYw^hD} zHyS_yr8VssQ=qbAq~9-3oC+#d8UQf-mpKaAaP*jczw}=jG$BcJx|Y&w1vQYbLty}a zfsdbC<_(9wzF82_Y~DM};v8ec;~_KeWI^hIQ!p=~IS7<;>?KVv73v!ylYL|5hS)i2 zZjzqbs5i8$Tfr&4j$e-i&+oMcvH4M23OtQ2E2Tl{iDlJ>>vip!xsYIq+|-p{qKj9> zcmA3lhCS($%IM82O73h}P7x?22s~8f-3nojTqO#Df1shczyB;PB8`*rX<;aVaXWamxI@>TZ)D=wVP#? zyW?m_2K|=+VCGwB(F2Tb9Jbv5uy{6Dup2#Oa3pl&bB#&KzJdKff-IY)w|W{&x1(!> zIiZ?6?I1gOZOCJ}c3I~-R%<`a3@~spE zCBBj(9&f9Od8~S{BhFhf)o*G8hkZRl1cQyI1&dMd@)Tn(8c%ym&PHkIh7+o@Gm}~m zJA~6c&o@0tV!aRg;hM`y9I@&}u^u&PHqbtZQs(9Y$mjmGv^Oyfi@8^nVG9J0?d9@! ztHh(xAOXBb#+JgPpB;VRH$RMz?RPDF@g~^q<0U;Q_F#)YGbIQtFK;ABtPNvXgK_b|kajWdp>=hUup}4~ zM=nG=X2kFcV=}TK)O6+p8}#MC+yM9z&g8~J=%>PKS*~hVT9rP*WZ<&0{jK^ zSQ9G(4mJ2aQjgO|G)#7frlZU`M<*KBlnw;cE}U{EXI|TWs3cyn1@6b+G@mys9(@tL)n92(7>Oc%VJ)K|HT{^hvHASR-UK;eepxV2hRDiF>00o#$vY z$3(`D>-=w%1)^)PJ-v(@80?}^G_2&HK_-e*2j+p6e$dft(vaH7#4m8AbwaTOZ{F($ zWvQFtZFz(J$fqQuB%#d23ev*-;!VRyY2!IosuDiOY4zeL_`A?o@iV}OftiJruqZ95 z%L*G7*(j9d)Mdac3y+KP-m|`?mUK*KnS8;1M=01*Z|7#7wcaj>`sni2RXV^C($ z#Ck#Gk|rtDNX@5D*ogM$A@3F`Ik_S@@hFhEu!aEN7{D{}tpuov4b9BvyE?A% zsKk#t+#TgXclyf4DHT`*>AA_dt#3u!OJp=j%Hc*L{GCm!@AW@QjW6j?pT&YfnQu$G zt);%7)!^ac%|D6fG8%UrP_mIjf}^5kRddpoLG6nBe7~NOJQ4L~nbBfZjX5ho+{tTImQxt|>(4P=C@&Gzr3+ zR_Arx7A4jN131DVt$$%<#67q=ezDhAIADyuC8qoG$f-{h>D{IW6*6J@TA5wbQTlh&vVca#n>i1)qA#qCT;E@ju@p`1jX*n8RRo1ZkY zm4|-B`ve5d08ffl5=|?s9H5SaH+9d|%*0l@BT6paOMA7Ve9wgeF}UYDkQtH$Mzdur z1tYZkGAAVhcNdR|u!+RR@|ug5@SP9+KGgKMoy>0W>8*fr^uyNOGg7XMv#M}Ge zdi1g>t#MOo@-mjR?NV0Yc%Y&t^hnQy@$3VZ*;Y41G>;PK^CoXYI}2Bq&7qY>m+#Pz zLco6#b%Quyrh&K?xOTYbXePlC2^<$-#fCvLA(SX&9=cB7!>Y&|qU8ghLj^Bazf{}3 zn^B!;$#wFvIVZH0oMW8EiH|Lmka*IaT?TEFXD7Q$TIa-WBA;y5Ik**{WIbMv#~K zTj|_1AH-_V)6*5X1ACp-cbxYcUF9J20c2Pp1T?92 z#$q|@RNgZ1-!rfgz>wZ;e*G`v4K7mY<^*SV`oOjs?l+>|Jv zgHKf({?>VE=Sqq-;%R_j_lt@u&xy}$9TBY8M&%Y90KlIEq9ymh&-KZg7>aZiPEuZ_ zT&M9!hRK`9r|<;0 zXJYZcy)}QQke`_EjrD3_P8;gB!{{FK==Tzt>5>H=bdvY)nk*a%c|$p>`(|%EX&-cy zIGF8zLk*Q6+Vc4&m!IoOIfXim9ml!K;SEB^#FD7F;Bq4#U+Vqd=yDd^>Zzrh8ygHH zSj0cU>Hv0xnB|nHR}e?#Ieh;xEZ`aNQyKD<$`!t=f&eLqjsr}BYvKPSP^8)2ja zVV~@NMch34{14iUM232VV%0 znu?Hq)htoGH2$r*$~v58$i9y~RLt+?s<(UJ#~2gr{B_ehe7M0uY6IkRxWr*pbQ-Z-2lh52FCj7WZ#KuRHeOW@TB`~WvcD@JNlamQw0nIh|~1b;emX#H1qNK z&9dt7Dj_?;!rKZBoSn8b6-Bmq5vH5<0a}{6Zx}3c|JY~SqecV-XyH$a1T1wC9rnX6 zwz_EtCXzUk8}||jKaMbGD?P0I5l)SZp>*%>V`v09&3^&Y{%`>W7%;@h`IaV;z2ay= zEt>!ZlIuytunX+9ext%U=gkak3QV%L7=npV8aTtiO#l!DZlA*nl%^n98ARSBqrGCv z(~+6u!o*j2c`V*o$fk^sCJI_n%*mM9EAwPa>B%yb8}nc^&eGuC{{M?@P?mQP47f&|nD`cOjrbcBEq({fbX1vY4Gc&U_4J3>58UV$oT#?kM;ITT z)cV^Aa4BQ}2@jTD!`fXsGqo-_z$l;DiGcXChe;RE|QF>#Xw*CC|N?CEvX$h#~fDsEO z4rBK#H7x(o8Z?{AKcW-yD*wYXcjI!7flfwB(9}Wxz%=i#3hf~>%^9hkG$T7*KXRNS zg#S%(R)3-4lGC`#iR{rJOB!bv-Ikd~hhLSZQOi|x@#rzHY(Rl-L}>YlsILc)C<#{w zYpf}A>tU0_$~mPAM^cyvA}zu$vlgK5XGSOYk6i`px55w@-U*x$1Pfoy3t*lHGKDXX z_|5cruDTEsB4K;PZ_dc|;Xoxm^Ui2qY9`Ff4&K2)+ZZ=URxkD*qO}DxLJT(mUVd0H zpsiYS5sEQYjZ;yXAx5m{dVS$UgAnmE8BgA4^K;SgoEv|1tjb-Fs6I)&rjq ztXEfvgK2v{JN68GY3km7?Iu|DmGbY8Ai3t0mAt72R}JyhR;l=tVQv%rb<+%UmIrQv zJt-?0G8cCA$$d64)-(dop(}#N47CC}FL=et2EMjby7Lw8g?+DmLXnkYA7C8(U_y`k zJ(?k6^aGCgf^|kl?zUT2slw*iIb7J?q&Ep1EouH5eLoI9w!!(~-b-8t)=J@^zF3P| zV;*V24K*?TemR5`W%Yed^^NyW=|NBGBc`E7L|dc#MB`Ekb?8CU0HB`Pv1gS zpZ48VkuzbOCNn1Lx<4N8L*%%1BUlc3Wph|tE~Y0%h*2rKLfKskxizACkKcpB*8_Mu z7$^TNh~gf=MF62p6cOZ@(I4?eeCbu)r}rN3hT%FO17knX(8KBxT)(f_{oD@jMfMi9 z&Xq>xvzm9~dD)5DQwrT&r)lw?J9L``>u}&dcxBs~P*=V~4X@6@bORVo)7+;CQ_Xgl zTs%D(_uyHB@e{*7X7jL{bJ6&0W{+Xc7i5Cs96{_0m=ycG;zR-hppp*F>9^LhP^>f(0Pr0$@rr(9P}RerKr% z(_Mk+{?eS~J33>VE<_=2M+{GW{GAw)#8?@%z@{MSQb`tPA#T}K1);GM?aYvVAOw`U{n{-=F{?ad}Oyp zG?RuA)gMzjn_k=RJ+c*TEpI()7(Bw7UZ7sryKE=%#?3`o(xPz@n5rb*QONOgO-!- z3!DW=P5fexXnEEy4(zI@HPDl4m=F?cfgb3sUe`*Zc5YCbA&jI@>HPL=QARM=19|B< zm1!;@5O4~>{~#fUyVHjH6A_&!$L;e zop=YcDZT}6fqIJIJb0tAUL2S+zzKr)SUk;!Q$&k2 z*zLDiMUVU5VB32b zYIMCNaIWU_=XELxyDT2jE2=3n+1to-qI(zh{MQ`MK3&G5BcqtW^(86~`BA)f37d2C z-A!&g&5*z+h~6nhta+1*$rj$SI4}(B{~;_;jgOCYxS=^WkQD#atL(GXx^LI#4cB`W zuSr_6QrzoM*i4^fj(i5GuLL;9aLBDNbv9g2?CRw*@AkCCV`$wlKle!TpTOQ|Tyr&} zO&TuGO?IDZS!_h87}9r4pL_S@kj$lqvq|z1Gv<0vN?pHA^ZZ`cG8VPsuLaRE^;>`Z zko2%zNfCO~4kS$20Q5HS=YS@_l+~1+E;W{hb*MS>={4{~g^>n!tE2DqJ}jb`EV975 z54VDm6dy>znS+O8?ehEL-RTLvfe`lEp?|Kap!MWwrT-_ZPCF$babvwTO%iNkpYIyh z5NLNW<))OI+=8zf#F$<<@|QF6OxFKgW(M-n7QiO(1J+RL=U`*HGB$cUO3A-{D~1if zBOgERuKF5%t3`n+777|DJK&{<*BwqMX?PpQCaMoG=u-VPl|PA!X2R9a9jGRjCK4R9 zMW-k7LD1g!1Z0umT!Y2gCEx9O3k@V}h5xbGdYd34QAsD+*xlFxXy6O|82(J-!qv?d z&*l@;e@18UxD{67vb1n4kTgB&S3*v$v%D~4z3?6nLK z1N=DfLoKv^W9`IkmJ-}~hW%=2DlCkHK0cv*aVSk zy370}jpYq}cxGc8A`eY>Q00=0x?e7jn;F5TTnQYN!LzYt1Ux1`j^ZFJ>95TuBIq{< zq0+(K1YbeFKvi=+O#?{lmY}Ci;UXLB^fPxT9w`G0Kp5T%{vK%-2Jtdmc1+N>K|-)Jk$MR`0=OI}`j)Y|{Cd^<&7_kg|cKglj{7-zRP?`h`tSw*W=#{KGE}R3b;sGq~f9rdos^wX3GjXDAj}6q7*zR zU6rU5pHN9EP=bi1R#aCNQQr&S zATck6Iql|I@Ul{bow0n7?=wjz0AEtS=TV2HnW|!Yf*%24|EEm&Kp?OKQ9Rh=V_3gX zylUN76RJ$zpBFgb;xQOYc13GD+NLV~_~B3Ab0__-gM}7$8txp3G67uiYyImi`PYbZ ztcBF5*=nl|@ru_9$GcF6XINvHtPBRYA5SpMB_P^w2i`dHWd?x{CQkrCgGDqqcgoF6 z!h~J?=hA2xZmw1H+kLa@Q5!zCVf-FM$WCm+SKGJojyNUOj8#gL_DO%Ikhz=B=%vg0 zDwk&0kmhufR9}6t!i|W;6{`fLodN(!sh+D%q3yJVTOog)_q z2(uVN3`fwsv*cZ%K5R>azHrbE`7Uh5yU9IQ><+x3;NGwN+v>k@I0#fKuX+g})A)r_ zLs^<`MsCN7anA>#6s7XTgt#QJEAN5kXS1B++o{XmlfL1f zg*tj@9?EZA5x6TltoaY_xm_?Q97Ldy1ItJFOwa?vsFW5^02IwXw*72)m#`T?f@r4? zF%o4abwO}kKuO{IlPaghR(6*jvz}?Hu7T{KfA*fBfdxK#E~G*N6+n^+((Ka$iYUJi z1Q5&}Y(9_SIJiacNTg*a@b**#Un=_B<95?H7cNKAaFcs4)+hN1O>T#j3YpXZsi96w zCvFZO>o=?%N(6xl6%)mVBY!@~a&{SZxtRZUpu~#(x7Z^<@5X+`OGu`3Jza#`h}QE{)K00m;Iz8 zsCl7>@T&-}WwE}w=-0Iem^y|Btsuq{){sYkdAW3f9OcAM)fbb=zDCHDU10*o)*ON=9>7>0Oq(-e+9H zwCR2LJ<&BwRxo`eSpH#Gmm`>B9TTNW9(VCgXnUy>s>Cg;q6HR>Z zrt=+W6gUh!Ny1ZJ!fOqLpFo^09Sv?O9Q}BEHcQoe+8O)V*tT#pfEqNA>3b)%pg1Ke z%|6qYGK350t5{j@h|WeeeiiRz^S8qS1{0tN*}gknJ~UIT6(51%2X8$kM&Lo>7}V)< zc_kxAONRLdHgjZa0`-t1gIC5Dbv39@pHZ`zoi(eU@LE#Twvb=_m2{hXTFvn+Pyfw= zLJCfrUiuym!9UUIR}Vl7VIyQ{Y>e$(e*Va79`B!4tNFC2`LO+LqRIjIkWBO{KMBJ1qu;(&Bpl5@2!pY)xVx_t4FE|yul51pCVf)Zxz)KYB8RR->i6~SDqq| zXSry%hLh40m3?RO{L?f}*;!FfxgX2-u=kv!VfcY#HV>~dbRtekYw&Nl=h)a6J*C3Z zHdaz$?U7KX%;oUnE$y^IIHalCj#R4$G{8t=@}HH_&`#&_gxAM`M(qB^)5a#b#k$U& zJ?Vt*%O4KYldUFguZEW&1j$RBC$F6sPG7dcqgy;~&M@U|wKHS(pJh}nw z=^tPqfNRU*c3Nnq^JRT~>g(jCp$Y!r5&!5_JE#FN<@{xZW0pTF0rku4_lF{904h+~ z0mEdmfX8SoQ^=~{AVv1*5hltugXpYKV&u8vcuqoVD$a)G=k`VVQX!2xgFO^OIa|5t zKk`~d^Z+Z?!6#f6`}N$jDe*z<;&I2HX|~y4CMMD&-|hl~dI5cLir$8FE{JdXiD80c zyjx_B7BS>1MB$VuH4>9Pb;;6PC81U2dqbE!U8qNwc|(Y$Q?_99a2by)^EhpWR5iZH zUuk0FdrV+p`}C8D?iwE|^OqqmpafP8k8h?`*nsx)SeqW9 z#``Xim@&fQ#N=Rf*R3LIJ7#1Q|IS z7m@f)mK#FUcX!|2$o4o}tB_tlWGvze4(qa&;EIZIT<}a_4R<*2T$p-5!=#YTKDvwI zk5?o-86NmtM#iJr_DiX1aSoNKe4GT-_{5o{J>7=UwLPeKn)OOucQHus;@e-3&5vT4c)EnwNN)UQ;3!wH2*46P zIs!jT7qqBm!h5On&$B1D07ZW!wSBzA9N#KwN#X1?L~3MA)p<+Ff$^R6_n_F9vaigq zR(rfnR!;bCw`Oaa%y?RgMQ*IBTH55uh=*^#r0C4iEzN}hLOC#}pv4R~c;xrP(8kHh zX&xF_JShL$ARQ)#Wr$55#aw(ZE1I7EmlsmX*><=^`^`WNEOn3SODyfilS*J(17I}-m*2IQP9nW(Lbh(Gt9o<74qo>s8_o&eC-kv7Ox z3|_9pBGZhL^(;uJ&i}zVI>*oYUA1e}g1ElU(wYBfz%8vnwM*_4$Oe^9X@{B1*6zl< zP86wyLjJ^8pc=qF2W&fc?A^NLhh7DzUHNq>LxUT_iD5Lf(QC&J*JuN=DNvPmc94*w zZebi4{Oc4d2=J~B19wgF#h6I(0m^)hg`7Nwqvyob+U-gN75~#^dX?4e)>>?8C73q7 z{);%zw})Q5hG$jix_I*NUjvr+7Mp5pK|xfSY4qCWGW$ivl_Cc2QNU@J)m&_Jdy7S2 z`fSWr0^c;b_zT(DojiS;AGx_|YvlD|7z@0O&ba``6l&QcfH&K`d?|PaOZTh0`$L>K-*mpK(NP+<}JO@UQddW(Yy)0M;;+OTerFO2Dk<)0n=_0O?Ft zoqObZAYVOs`6b-DRwquD?JHG^;h8+=Ds$lWafJIQ`P;0oa%^bkLxH>M#f;+;DH3wT zDsOWiU85f?flmf0l6vKYu{xCs9{jm;a2|m z=taz0)s@O{qLC}acryEAma<%Nr5X?Yh6n5$G|(i@{0WQa3%49I?oE0%gtYLkJxrlh zB#a||qcs1yAbP2!OxQwf?L6*DB!&KFBMs*+B(L5SG&3oyFyaq*m$&eSr*-+F?9-fN z!AVr%WF(DJKmm4uRRn0@RO{a1%m4_1!QjAH#gP9P`QO0O-FGjo&#XM4Aq0pK8eEIp z^nc31cfFK6QXdl)1ZS&h(Q+chtcfR6i@$`+xx2Y~b;`xA^1eaP^pNRo zl5|1g;kS_~{scs&5`8aHN2a(cKgm&lwa4Q|d-kU=%f(^@&0wbiZF{m5Ucl9ix-q$6@5{T zAG70fMFj}IrhYqPBOGwv)2-(TeZ4M7hO=q1)On^Bpc2a=5Ckg^Z|z+n*V0{4`ww5l z6CiEU=*GHf_e-b>7)Js>ziA@rPcgWUZ1RSoxx5JXlNE~lN%?y*t=Ih1i)U(iW6MMN zllCWC{W;a|2G9;Y?5xJl%GixN{+c^wnUFuOocf%Z_N|!gI%@&XYCl`o@@;-Tm2ECQ z$J4k5|FS*w`ScYL$=Jld^Mz@+DI?uV#=lbaU! z+g>`L-m$a);#&BY0968b=p&^obLQml#jU&@l`9OzSi@suZ^2?1xZxj1A=0Yvi=E|T z6Ni3rS$>Y+FNfB2{8z3iBUAZi%U(&VWkmE! zao}8a+Z;G1L4cqn5@sBjCrd(k{{V(s;`^9FW`M42koN<=^0Q6Oe|*0_xi&pRyxdMhgG^ryEa zgo7>sl!WCEPC}P#S3v%bhWqq4S2+rq*GpUDK#KvCbAy83^X}+;JykH>9dCoX;}^Q} zNZNw`u(EPDO`mrki1Q*fC&yn-uB0#44g?hemC_TOhXP>&rQ%G;4dG9*_2*6$NiG1G z%K)<@bW_J8#xhRpi*UPU`e?CsOLXK2e5*$bKj6m_6C))6UDn!Xi)h7-U%-`LzWmbh z;I~-eK?$xkPhzBybMfM3sTqs)OAaZxG<$SC7tgOw{A9Iz`4_e0KTcq(^xb=K_pp5gN!NuxG0EF~$kIWlevXWIX~{3?c)Lp`gX4FDMA&VIH;&Qk z`M9YKSz;*dT`OWj5YGi%))Srp1hrwh9i$qV6=0|sa~#Icl%EF9Rm?M)<^rQ9pUrLz z4gje(GOSj|6caV3Vuc=W`w0a6kbo3s9D2>nFvUdF2R{gzF$!nG

      A0*roSEM~E>N)4lN@z9Zc{KBkEoL)2x-F0mDL99pGMVG>m=5I7f2^o(6m>gdt zYIbPn)$MC*mQz>fgkMHl?cDo7jWGv8uf)}|bxLdi61LsJ(g7~{7%z^qGe0>K*;*><3VE5^8WfHlsvD~?GE_vu)JO8aN?oBZ>gnm z)-2Z|d!dd9St@T%=t2eRNEG8VaRf519=C|Il}0<72jFV_^;+|@eV8(wJv=PKg8Q`d z!pVPfKbvgI8LQC3Ddw8I>#czp(f}7lhbm*loch{-2el?0)gJfg@0RivPS{bH9veX1Y_4uSOCHKmDx9#MGUjiOV#L_u|^bo|Y@n zyPK5heTrpu=8rDCxn8ncu0j%TR4SsCIBL3hp8oct?6_@+G%-V@7+q%0I~}FQH)PJ^fbt{yI`9H0DZJL9_2_4s6PN=z~z&5W1_|t z>+POX%a>eZ z2-#8?U&-oWW$StH(N~Lj!!c@vUo`+DQ9G2Pj`%0(dDj&I5A1c9mG4toAo2ib0n9YQ z=#zGPT+mCdUOyvwwje~a*U%M|oPXBW=?_@>La2COfALC1DOOQxer z#CJYA?bZIy+&^lF6btH&X+uPV9T40zaG-2wRLdVfdv*!qY5+j2g?!iF=$J9MQ7_)?G!!k=xY(v@*dr2`gzfJ^uTE#U2{WlxHL2!C zg>$N({d5_GXjxsEi_=|Y1n2~jxl9h&?zmE&VuST6%^l6EuCW{V2^-{PZs8hDe{Rmz z@IoCF{jw*677gNarYj2G8~m;I#P);YCTKA=Oya15f1fvB99(R%Tx_!-0>B0aByp%- z_BmCy&~?xuI9@s+5^o&ZiPGmarW@41&%|+SR(IJjm}O%6c8Ud+a~r~T&W=KtXljg~ zsWRaDN`S4f=CQpCOk9}z5kfv-g@B1k+l?`TcLvC^$=Z}&u14QgZ*XM%h;H-`YLVF= zer_{x8)IIH=T0^g>2CS_PTwl zlVVfVzXu(I%&V{71=?e?T38C6T=_oYy}4~)xfV6&X>yic^~Y%C^#YAe6_Zj?-%1!3 zuEoN_?}oKMp0|oF$R9SB`Ozyy&D2OZ@QlAZVV*PO92etJ5Gy@OajH=K;5Ol*sop`9 zUfa#So32#^dOH`6*PGCf!_pV$sR|Ydyy+7UAl4U03G5DF%mD5oz%6)~rZcJR&lMMdX>SQ521%ls@d14C_^f{psm8U*--E*{QAzUD#gJj6H)* z1`wRPyI*xtKBhuo>K89{iSdd(pURwbpvUnogR`l)42jXC(QEMQM4AS9qFKNU&Sw$GoIxe^8bWwBzXS>uXtm4HL$M4_?+g%r$KUdOI|QH%3oq#vN>_&uB+*% zOUAjQ2!fuJ-f1i3w*8qD+C3QFeptOWx&5g26cf(t`gW;S9&dC?!$-@GHj&qV@^=;u z=lra~sRH#+`W`=VCUT6p9h?LD{;UJVu%xL_M}3YT9)vo@>WE5l1%$g;mU5sOvKVlLk*@v?CN- z{r~ZF6+l&P(fZI*f^;dMbc=FG2^FM65R~o^kd|%{r8`7QN<~t-LFp7E52dsqDP3=! z`{unF#(U?ESBd}Md#x|y@RTRa`?$Z<^yrz3vI|+7Gr&X%n;O8<(0+KWFbtR!cozXl z2ahSE3q0QFts3I2X~>%jf?q>k>bEzLx8+>Bq4Yy8-vdq>;C?}#0!!1QisE7{O+qdR z_VAt(W^g2gO-;g&hE#=+?eI>z>!pbQR9Nukh@H{N=$~`B4xNsa(tDjJZC#a3i>FmW z)LJEf#W|l&^?4s29s-&Q{0smnzO8b3m*`-$<@t(_S=(LzYO&@1U0?)&*b&Y5pr0Y= z&wB-KJwzV-@@JtbpQ(Sh;vjKw+q>3(LXI<~=P5B?cJ$vQ%v#&1qX@eK;#}u`os{|R z%Sk?)#@qe0-@Wo!$)(o8zt&%%&$j@vLI0&|zySS+b@hF}rHZk69Y>i@RH3W5iT82! zK!)jhj%{PFvxnhcsI$ukOh-_=-sh7zhX& z3Ya@7niDK`nQHHD_pjY7ub(NuwQ=<-*7EYwqorDwZXva)yHW)6uJ3*1QZTu~2>=;*u67;l+H9Z;SFJahynbnTBgSRc<-@Mp>!&K=t&{ zsnX`1d%mya4XLh8bm9VhYgG%dTKJ`JPpkq74Thoa6zNDKh_QtTNVJ{7lQB{bEPpVf zhyYa##|WC(gRu!fILO*GwY6P;6OF`3)GiD`>s3s8gxCt+UVX&+oHZ{$h!5+Kd$QtV zmB%$7WKUCc9eb`o$9zIdptfEIL1~~x1(R{#l_2M0uePaNAqnKKiLsTB>ta13JN_rd z{Qn%D!=QaBa(wGv}i;KJe1V@hTn6dCBwG-FHhO3 z&{QJO4iUWLk}4?L7uJ1eo2m-F4C%S1JO6vYeuB&JTLa&Get0OSpVUj{Uf%tNR*r97^yC19$^AG4%aKf$s?4EG$8R(`#5{ zsHs)Y8(`;{g}ez<=t2X%<-XSpHvQH0G^&pl+Zvc5f-dAjClmpBD8gREnXaS#y_=m1 zSfpeL3EvOf&Pw;|`M4=Pk&vQGgR&)WTdXB+K@>(5xPk_<;cOSJB8LVOunEDqh})1q z)P+~ z%g~dVHvo&LHmR~g1LOmO?w^kOS`kL_)}PuWo43by5J+d?`rC!)Q5}Ex{(>%6w8ZWe zbWSh1`lum>2ej;pL(byt|UBWx-bIyt|qqb^x3B zUM!evfg=<&%Z_mI8IfuxtFM|`w{;9GV_nZ*i&u{A8)mLdFdzGvN_RCB$ThTEW@qRD z3HWEgd7airc1YL=o(5d4c~;)a9tvsJE4hK#oLM177N`|xe)ZBMOd|-voPW(Wa3^H< zqZ^)$n86}uXwLgo8GGkcDOEPS$w>6*2igsYXa)8bec7WWqhSA4*?0{H6sXYvu>kZ3 zNMhRTIJYi4wp=K306rL)NS}Eu#+FEWVRY`6b1f0#KLs`Xap*L{wEi1THd%QcFbUv` zSFnMg4sn%NiX+#hUtsKwvL*oo?k8|l0t46{#o(}M;>V}*%gsm#rs-lUyTKjha!vwy zK}6v+ce(#AL!Q!bBDc;q%pE2D?9yORmUn!=nC;#n-J7($sE+}k z_4nSp*j#U&{{||s_ldA)LNX{MUO|$UHbNci*_ZIOkF^&mVunF6`a0!}66_u?KqdaQ zq&68e+F(^D zpZIC4KKuD{aHQEg-Ez_{t~<-YuW)oXH6T6}0>nwCZVxejz~d6xXJ zM)z0t@=}S*k84BNWo_-+-r*dqEZ~2IHhFa1y1-X!v8%2+1e=db3#xV?hB$n6VT$?rm zCCpQ1#qfB~lpk55#Jct2SporeHweUom(G{Um3JjbK+O&8>i2YU_tK`O7y8|HOwKXA zfw+dS2tbz)=+esqe%f%?8sb|c@B*W3A{Bdp+xz$95#+!spZwuq2`oDu{q20?o$N6O z4tt~j2VG}n?$Um)i1kLKis;_#!eb2g;U4{3JOdZfj%J)j`oy*qUwxmr7@RbAY4+_zUXz$Ja~z&uwq4G?kv^%X^=;rR~JevjQ`@<9S(rUOnwQv{BRYam7d2-s%OM-g}| zz%78bYl9#ch9x=-dE0fN?g>dj8fGjS=g1$vQ7mS~tEZe`xYqx4SnSgw6cx@iK8=eX zh&_)uI$1XT&K{4YlrndmKGzy5`H$J>WF!-5r7f9>X1c(EG?=I~);Z^FG&Pl1RQb=n zoTt&yBI~J*P|N9~Oq__zyPyft1Lc9Bc2Gsi*T}MBaXW|Jm$d;`C#$p0#d;^Rc#%in z>Xw%x?R`;*4>$yws^lJ3>RHaj%shG~?+8IM%NCRTY^c=xC*6r6^s z?(N~?rzfl0`YH+R+&!FVXc^`~WaWB}^A0vY_pI|=|r$bY@FH2@8OiD_3wIu9Wy`}Py|cy#D zdvPqCliTs9O`}uvqIcfYUX_jFxF3TZgy63us8b3EILwdt`+i9N56g8Z6;Ed9zVs_> zMRu~RH`!NAt~k-h-J2Pid6IZamHI4oE_>VK+0)w2xNFaz-7~%U-(|Y87YaY|KYl_YlZLY+Ys!gR;w?z6Xrx!?ivqWYY%mFq0hd*$X46(XfzAHQ2 zdKUo*yw53WuA`IDKSE9FoPyt|3G8q8+2UK#9q}OH{zl>|es`y03|F#ii&pC=6?L0- zR0bYji@YD>!+LEFS8uzPcXm4P`*R*eZ}&U+k;AbMg>09>`(F0NL@z3JaXrS`C_L$S znawAscJC+iAHO5~^7Yw$`DDzrIECL0`bFBn4nVLKRJQ_g27PE&wZF=j--;zoiH(j? zQP;#`|D2!OWmjm@u>LwZJt5A@0Xv-rl%J6}T2#6_IR(PD*>7n!ZBU7$AA^%XXq?^4 z;~7TWf^!xmA;TX;1H%WS-w`wH7<_zuL@6s_CAUy^h4ICwY04%^bV%q|%-=F-K=LYz z4|1HYuRk=|pGltO4DJU-iq3gDl|Yp(VUj_9vM+sa&@C=m+121C7yHfn&&fReDtG#G z&mGnL%JB~)a*bfceaiDiaRsa^3pAR+6GXS{BuTT%@L$$N>+hu+M^>z6#ijHv5j}m_ zn*h|#ud_3Tf`WpwDQBIxJ=fVh+v%#%hD{_O ztLb9M$=mus&!`tgh?qY*qVd02@sHZ_SrPZx|3fKx{!i0|EDd}ioAp~CMxUpOJ_s)X z!lt-n`7Ca!G`(e?vc@^1>nZ;`yMnPZ!;F(|2O$#2XPDn79qb7z{-$wkrAA{@LuO`o zH$LQFUtq#lbd=V7Ob>|LHy1TkRWw-LR^T9zMfS0X#$zv}!f+(4hUi2wMDC!7P+*9P zpzhKllbQer5C%J>j#E^|J@41Xud}%52$u@AiMH){DxAy6oS*}yN1delBx7Lu9>l~phxusq+ zm7;M84jW3Dae^J|J~hp10hscGwr1QAR(iMgRVqutux?Bk*DIS=-se_-oi(O|Y1U#h zNbYXgA=8#A9=_O2PEJlyEvTuf0i`qA62qR4{Rj}2fx$r)+Q*+jd>|q!dRqp;xjoz% z(lkP$nB1FJ8v-S7PjimuD2EHwAD3D+u05Fk`*NrG^0XNaCiwl6F8%T3sDF?PN8REU zBR8M#hHD(n%yg=X#q9GUhsm(zxcykpB2qd&+hRUl$T)#&K4>mP@;+0b|~iH$*?*xxP0@qIBA=e8z4UA02LI z+fvDAeH&1!h&(9Tc?72!Kr98Beqlgmt+|H5M{lnZ7P1>Ptp7K`Vn_Ixm;`BVtf6<3 z^|HqS@@JZ$`S0k3Nf?$P>YzmUZJW9Mxc9*`^|={2L@$Re`#_+A7GYHVha5ZdStivJ zgV>D~0q#D7Ap_dx+ddi^XOjGLv%^Rz$UEim` z-XS6;2D8vNAIaul!lE~#`|V*Fo0P+gSE#OjYCwUE&U0?}+N*X|%N|0e^>1%X z-sxL$Ih)KpfA%}R*>}XWtOeceZ3>*UJ|E;(8B1p3&8FP+uc%iXIvI-4j;fCY$fEWl zZlTrojwe|W20oX=aJ1AFpQ|72$31A|$zJ|pIn`c%!a*UBuBuU_4FtKPqho;b@}H#K zHP`0|+^S@kB*p0Wg)(mQbig->NJ(`EpVo~EGUZbKuTqM#D6wB5bnUc5+7{KghrNZeUDm z6QrtNKh1blZA*+g(Ukhic`8_1bVF+P!=1E#80mIUa~D*MKHC_x{+GTIz9&Di2gZDp z*;v#0H8?&quy86bCsbek5yuTN`u}B@({g`;ujd_&*xvE96)OZ``zA>blPT&-PfUID zkZ#BhZO(JEp7xDhD4o=A-_F{{bvXNBt5A1m&B}pGHr=Sok3jEqcSyNc`!pux_bNrT zeQRt5W0l*d$?DO##lw=XIFBAH)@8CpnviQpYneJ?|ELN&EVib0`$5GQx2affBs|Qn zV$PyfIS9DLDfysFG5?8CStLaO+j6GVaR8 z%X;A#nhLh$(=P{lT(KGR9C7sPr_?9R=mCgK>SYD3Qy?D6jojfV-yyHY4)k^L8?Gv_ zsIHVS=31kysclo6PKNd01qnHj$9})vv*g?)e~KEYL@lZzWi&4OMFDhyN+a-f6wC{L zZd6uUiZy<9b&*yMTNU^_$+PVTuy&t~`=3(}3=BB>`9(nhH~iG#4u#blEF|zNq_L3C zKf$!n^0?wRG;Y{rricGw*Z&^7{kq}q9R-tshcQob|LP@g^ZVPDs+BNjDE1y~zf6Fx z?Rj)uLYZO7j=TS%J6p~AuV2iwUhBLIxYDvuxN>&=4?b;>9OP}N%~Y4qk`dwGvZwr@ zwy;l`Eod!dkO&hwgwM^*1A@oZbTV4<8!B7jl1xm!Gj+cmSEBY${`&XJobPsTOeaYX zBtH5%z3~Kp2tb`!$|Kk9%bsS9ufwH2{arY=%^8x4Fdli@H#BX|X!{Rvi%N;ysK93K zTKj!Rfg&{=h~4jr$$7R~69O zWQ{u6IDNM$LZw}wm38iu=2NvasbChs@(aw#Zj3G2pP5LX{GS#e)o+3`hEYG{d+@xuYF1q($(EU5#@@GWn2*0Qi z>WY^*&q=f{qKM6Pd#z-A^>^m_{#1Y~oPZrCp-wkk5gG=-a|_OOi?+tgrCRDxur2n+ zKPIl4Jb69WZ+Yka`}ZlH3KmH=9={EWv|-{Y)8_-^MMYgb4Z+kOw=ZVMLj|V_`r2^v z@(M%eS$C-U?UH}d=04kWZ~g}30x+ICV|os$N2Ko`5k2j_#Fqr34BU>Y0ZMsf&~8*) z{BECR>-QXps9>!heLmW!S37X!54J2*H3kJTgQZi0kh`K{$oFIGRbsoYeTUwKU=qm| zqw`UtUvOa^oi<;3`)qm7eS-rF-iK;or_FfAUa#`GD?SR`?2VbL@s7MhwPP<6&ZnxD z4Nf_O$DOA$r2M0feWK9$4I=mMfw8g!@LWiwk6=w+oD}pIO&V^O)5Uv%rHvh{l9FH? z&-?W2Ux!aAF?d6=1?n6$hH~y?L3FNo*P}Z{#KqB|h^tuRZAK^s0FV>}1)rG$Htygu z@=*|=N0LukZQxtizHV|{N&+vZ-`1hu;CF_&theF9<%3oCTAK=6x{4QZK1Cz8+f|*e z%f*GFJQQ`qSUEoh)kJQju>JLt45@UW58x(N?0xrqZvFOJos#Y)%K~|~tSr^M?lwxD z!j-kh-DYXwWD`ko8`a^Tte~1yZ|>LL|MsF9uCSwtIF5&roo4SdGt&xh<*9c_=iRkh z#_cGy92^+fhDq856JH+>%Z%YF*^J(Q7%#ZIc>i&x+u!)3$)YEDrb<{rXS2v#*)h;LZG&kHFf7xRz zzIJP^Y&c@H-P*uRUN)pBtT zDhzV{#^UP#;-wdgU04ceYD!(u$4)UywY}=k@tnVu=rq|4D&=n9;><@=>V&5#AYu z2;bEPQ|q^p7V~ip^{;{v#Y_;v>d8Ss+`e)3eT&5k9KAg!VCbfyh=ji zds_%19iR;gkfi((PQct@$bwkf{qWXs zjqDQNm-Y(RGkXpdGdC{NABe*P*}ot2&)=A1#IzeQ|BqdXzx~lhiB4`PA(a? zg6EY2G(-{mc+|a1ORVS=BZp7p>vA-la7Jv;W5Ck||JNsyka&3gfOZW^v0)x(+kT$M zBOl`&%WHI8twNjZM7a1#1m`{{==z?(u5|`!y#NKbehVdmougl<{7Zp^MWUk0RBoa< zy-I=Re@#)a(^z&q<+9eIU=3heh_l8p&~uyU5aRkaYCrU28y{Kb=fmD9i%AP}gnlST zAYU9d-Ah@SfOi)~Bi*80mqsNerc?|J3^av2o>&+wDcGbRevZ68>D9c4ki%Gq3A?xX zOvwjoh>m_l`@K?=JjVVyNd%%5bk)TURGDEi`u@8H-xYM&`+vt19-~hH1UVc!&_$`UQHBYZ;Qh&yUzW6(M$~S|1MC_>3@S%4Zi{$L&HGE&s|kZ`rqh zI8J9liBm_98Ru>2bPHSie%rYLk>?O{jUEKzDqw`UV&slnXTBUl`{sJ$ZsR z*|G5}!!vO|=Tz}--jGOFjVy$z_YfzvDlgB%272JoonG|Ce01BD7+MMmRrOg~3RC+S zIg-}D7~+y1BHi(3w(9>>S73yep3GM6s3|H0C**6qh!Z@p!N6cK@;}8Et$1&nla9eK z^@V#CoB26=UTi`C^hOnjs@_(&+J^YeKVTIEMjQ^hD}gPQ0n)#qyCK`KBuvhTSP zfh~#PFHwFpvg_CEaOQ6Hl@^u|IEP_BgtrKBNlXWIMX&|@`WBksRQ;EoL*>#wt@0(| zkfJz_HD}H4-D8-{&_7C zi*1t2A$|9EfGqqO^j*%0%yAV;~%W)WdN83VlA`g0L?xWWUdH$T)dl zTwx)>4W@UAYI%=MkY_r$RX)ix>$!5BToYP5&qk!q$>A2i7_12Game{04eKVPlsxs{JrN+JCSHEXs@F$yQH1fL+pNNk2;&%Rfv|+^?YV$k7|LQ` zPx!sPO&Z<~?*L-&nBnVWpBFcYL6x1fZOpU@iv0uW-hzs7L?nPz=$PmtZAf~8Jt4C4 zhgT!A)tfyY9}YR725hKTM0qV}^b-Q`_xP#8pB8CDItuLkO_IqCGFWGEcbnZ}absQS zIvh;SSz3N^`G1|9-&yGVPg?+s>F9HddlYYfhwXZbmqja?m|5F46EBWAkJw{i+pJI{ zXG>5%6P7*>!NXkca|^Lr)J=PQTr#v9kD05Nc-1~54wt`Z9G9w`Wf)2kV144yg2p_E zUART6ls&vBv5+}Po&gC1aH2uT0K}>SAFTOeZT5a4DJ@GBQ|IJlYS~NUENN(`(Ceda z+Qu`6X%ME?1Chht@Rr>IuWUHfd za&95e$_RA94-?abGO~*U5Y<77T?nOaIW`8Z@>ATrh0ca8OHl zAM`Drq5%^CCp$YkJ^rm;yI76BxDw4M)q(DP1mq2lEO;saT-MjupNEmxS7OQ_)(~OJNm5?Hs)LUvFss}7c$1#Pt68_>9a3;z{-7w&r5Qf4b zkmAAhhF)&}3-I~xn}Xg|!Cx!v3)86+EYR>oqDvGu;I@o*fV(kMmXK1$zLhCcf%>(; z&6b?ghlAJXC%W7$)6`^Guu7aG9h>2;Vl#HjdyKwz;F$!%)yc!dI>56kG3#olqX+|? zVYOjNq<6*_aZjf8Hb20OI#j~>sD1cOpJ6^@ARp)lMawdCQRx-T;mRIMVwUwTPu6v& z&N$mRJYu@}3XDwW_rEt3=pNp>Z8-en$2C~fl<9?H3%cly;F3pQBM@;t4<`?LT5qCT z94o$t%sN-eFFojO#H^WB+HZ&neXv_gY^?ZoFn&32WyxOe?uOSzNYSY8^@*mt>aX>%ev|oBK)s&`d z@)hIy<7){_q1bnFrE0bATQFh@us{A6y?J;F;YG{3^`H)!FRGqx6W?ku>x)*9n4H47 z2371MYCGs%1=7Aao{)Wyna54krX?MG`GjY$8o#^lGA}W(*hqb5X^x=;Ua%k5=F7w- zN~7#=?COb--78vG5J#%GLLNSP?4%~_rbttRrFThwn`Db|ibcGe_bKMnn69maY&hV5 z=nhDQ8v=asb4MM*+ZU%>Xs8QlPh8_1!Zz4`HgVAhJhaJO5X0|-hYH-x*aG?MIbWwYh{EYXV+zn?0!s2pG&8-n8e z1&dY%VMvgMWhTI_Ffn{bNUp4`bleXK=v!O+lscz1Eb89v|BU@&5Ybs-7`yPzlWCmm z@U;N9*g)Y&pQ-(HdzJb(1mcu>^H7Ino8aOM#TSw{KMtZ=U}thtim-e~!1^+ld2QVk9+1LZAj*j~S{_aNf?aV>nF!3UE zy0EIM>X020VoD=0J>h+XcOyX&f%|2C)J1EGlLF>En7!sfjkm|yO2i;SL*(e=6XDhP zLg>lZUo|mmR{88q1=rLd);Y~zLx?LQivFeq_3#-#47YmcTpIy*@9%guNg3#h+1V-E zxmB>{I$bDk|L|98&(LA>rSI7vo#wXZm4Yu6AJe45m667qOWJ*K$LM0vVUaWXES6nD zqjl`#cTGv%q3tm!%z2Ob5`F0@YF$|Tb3aboW42e<;pTTz$Ou{|4woLa{CfN1AiTYe zgBae;_nYL(G5b)ITb42G7P6p*6V(Esogn)e%!hD9FLzL6$d`=UGF-oYtUBeX+gr%9 zw%ZZ^7p`aEo+bP*&R(M)fz%5;C-7G~NdpaXL(=C>a4;76&jfAm0LH9XTNQ%ex(ImM z^7%H_+f7Yc40X|Qlvo+1YB0Z`A@0*FU*ObqF(}YiLik7zz`^YZ(;Cp+Q2GYSHo9JH zOhK)HJj%%alZTi5fkt%#)-jITbz#@4za>EFo;qiuVf)^twFVFXa&< z2Yq9YWLhxRi_EUs5a_N?^+ar{?p9-q-0e2*)h{gGiCOq`+%Rhte8TjZHR?ju@UQKH zu&b{gUosFk@Y$jblISPl?@JYf;No=R&uVnL-wg6|y(uxo6pH=E0#eSjvAi|bkRR1Z*Eo5VuBv#G2yzK?q-EJ+DF%_cfqJ~J0_U8=m85t= zq4V|7LlYH3K1f^rJ_5sl@Nb)K7CW(YQ*hJuIe6|)JghJQHO_!PO{NFz)=a3q-%-6Y}(+S z*-{uQ<>rri`)?ti6%ow$=by8krzv;l9o3+st0wHh8r^IZQyJY`_B{{P?|r0kno)FT zxF|6ww4qp1!vdsGfr|zu`&?h&cU{?QxSg z#IO5Nmsufvop11CmiIi-S9kywXjlM=0k4w?ZbWy>1bqb)3?2i=tzOo$PY<(Mim`lI z*Q@Ru{jB_6_VY9YTUYc_zIrh_8jLIbrepDslX!E=(HS*AaJtpJh2^khxbZHh_~k4m zj)f6L)v{f{t0d2$UFW}R#Hfm^?i9Y}dsMY&Z{+o< z7gLO{c6h~rKwY2Ue#zUZe~XB=IBwR}=ctM%=j9RQDz8zD2wZ+qHx8NxKNQxMDn% zGyx{tr>x$z4=hH;b2Tl4S(339aiKkTtNy){LLG?vS%qVnoT57RMCXDIuuvD=W)AYb zWO}|9m+Q_Vor@y9u38svb9Kw+q|HAhX5C2H)(e`m=?kX4X^*rvO`KnlaxD6pq1N$R z;F3Y(RiGwpVrnaobn33e-RyQq#MUn=`E&_4eYy`o(q>RfC;*EGM?Qo18M9e`kUgGG>(t#1cz=tu*^QOj&ZOdt1yXj6J_8 zz|ipHN9^Du(d1r8-)`NL$Q+ja>MB=VqQwPzb};;PW(~!=5eXiJ^n&t#}e2jV0u~e0u|Guu2sHts~guGbs%#dY0HO7a4UM+d&IRXtPmB= zYlLbIURH9xQG=k+n*l~Ta_Um1L6C=p_-=PVeT#~;x~`}oTbS$d&%jt#8h2-B)1Gh~CJOi~@7A~=nkc>O?(i8Rg>AijZIJQ4`Prr<> z!_5XGpLiBKlE+p1=D1uUEc5%OI-&#&iXCMUj%8 z_`jx`G6+4R8jmP@9=oNG*sAic{fQ#xE}vrU%}Px?|CW9Eiv0)Vbr}+#rbj}aDrBtu zoFdNSOW!!=wMcE&l{v-bMm1h4l!%KYRt&}s%mJ0Gdzp);7-tp#yAOZd@48UY-yt>? zf*ze4UH0U`4|)#xrqXaiZ67ROwy3zMq#}FVO_tg}*-r23Tlmj*<30rt>P+vZyTsCB z5y!V*0&$dh{ex@V(|}JV+QW-`vavw~0>vvzcUz0KxY#~sd_kF(LD&vZ4RSd@N)HHo zW0-=87q8snoOmQ!`;yaB!goX(55M}Wdl!gq)iC*(Lg6xDL`8}@4mt^ zn+)-%fSpE_r%7{Nk})>s*DZAQ=Gd9jLy0IpCt?$Otc?(I1@o0-uqvQPfASZT->&M% zX;G+aX!w47Tw6<~OPEi#ihZ^xuS>yV!!ARn>(y1MI24>@zDTS5D6ZImEGyQclmV9~ z>2Jbq^SfQw*hqK08?WY$#w%qnUWz>}!T#XdVo2@S?bYSRZJ>rOTM<9Le)>kD2iYm2 zeWo{-Y(MN`6#Uz%h4^?u(QJX0ZgFT`jxY;(d`n)Az$-tH4J9n&997KSsYCc)!$Qz+ z{ZBa4@S6G5{?wKqZQ?(#7+bkI5di^y|6UrI@)s>`Jj}RFd83cWX8(C6bH`T=RvlQB z?pILQQHPBB&n-}E`%xe`@n>WS!%#d%yKn6|ig7~y)NFh0Iqm#jjXp|dtY&O$Y8DFk zHg*kZGIJpLcT0cEzCy)QV+3((2?q>mDS^%fmH`LWLR12Q+ zP%V$)WHgLD7Xl*npI0Nj;u5$)fxJU{yR|brXhU)U7&1Ur-E?&Q%Qz??%mrl{4G%fx z0?sLTICJt^SQ5FY@2{6L%^x}!{~>Qio9%eA)VXnljw5<93VnCYW0w?h@Q_`*qxTtR|olulEcRE+tK#?DzR{hg*C_2lvcnif(y zg(GXyvSJ|30R99D0y}c)BsmHHEYp^_#xt>GK#IU=HqOdia9l@9alHsGc8VSCLW_7n+u|L| zF>Wzs$cgGWJOSS0D-KV(Ex*F|M;JkYe<1JIBErgNdOdePIk!~QcA>~QBIw{jzu7nJ zd&z>!Jw`#~&P@{(=lvZH-FW&~R89vj^flQ_83x=5<#wO?{=9tjzCsy zxwZA};lD4Pe0&-zovT%vYj{NM+GiM?@&W$qu8R>*)D-!C<9a&wcaK{{4v)*yB|w`6XD>`i1#y;2+&Ik! zLsffE^R0*ifv8eFV=e7QNrGqqP|&T1qQr3l@cnn1-E65X#PWRJOUOI4txbWzy%MXf zp|4b~X5QpHFx4}Z6?$g0D|)YaX}YwCzIOKCRP1^v6Y)rwmrFnDB*e4aX#bs+XoXKK z0RaI;W5qwQ1wb^G__^mlxyiU&R82U28r1AP*mP@rvOaI>+P3U6McNaF?zZ z*u@pTzuP-xvG!DuE+PK=as8wnsI!&7a0TVraEp}C&)~LXA8QY_w%d;wFgBl_;EXh3 z(4|WfmA)l>vk}MAJY99elaUGeb=3$Jq(S0TN|NZZ7GcmG)fm<+=_aCRPFQ0>QxZC_g?d z`fsgWbFr1a1+!hlhX^a6SoUl{NyF`F(Z~w5C$O-Sx9};}##CF~{y!~%3{x*(H_~X| zqr3UjQ6z+N_FAChEa4)3j?mF2g%Rqz&kvc4AfycHqJS5BaZT9KO|Q+gY*+d&bh!B<#t%7TUcJ zf)DZn+U$XY2bMf6n_{Y9 z=sWnj7e3si423xy6NOoGTZ*;2r55?27gHhF6)CH=VzE#^^*Hdnb^haUV;CY#E5brb zUikW?5nmkpy7S*v*Yeqls-eX{YN7*mmuq#mj$ifftHhtZesQlns+-Qw$H z3RBbBT$Q^6l76m;&xD0{BE_&ndzeqaE6Tc;5v4o2zi{as)g|cWrQ?T0eA{ol=)lRx z#=p?$sYqn}r##MUckdxgZPdk8F9-5Bzprdn`2^8es5gFi|M4M+@J{U6oDx(di-?C=X>dlxt%(e- zZ$8(UeR*~UIPjx9OLwRRk2-92eK`5Q_nMQt;dBv>p_x3cq?&jSH1B)?>4Aa^>mXZPpK7jE8gcY!>O3J?Wd6T4G zZtv{lb}qV1S5X?f@gRAK%`-9SI)L9VlFoU?D`%+MnK&xLWJt;^Wz$OpsFhI5TGM5K|DNpH%zYRAd%wKRb0?DLFk`XXqc?TXL zP;z#dzSc;z8J8Hs%;H4=ok4b#z(VQdNmdw0njdLZmjuvX^w1y zsilxIpx<)g>zHE^R{8)dL+>G(^^{%l7j_ygx39Ih_U4S%q@iVTxsR2N9|kdOFwRQ5 zczV8tL*;ixm(!3;*t4pN+_K7U*~e>@{ddMR4vTO_tsCM8SeARo5h+P_1b3jv$Q_gdfDzd5~!aB*x6CVobJ!$ba}QMU+qRglp8x(KW_ z$t!*vH8oOHeJ@(rnfmwTv((Auti{Z#i@AKpVP}mAYS!zgxoh#bjnhlhk(k(a>%X&? zqU{w1o5wkELz6V^C^{J1#?-RH70FufM*Pd)m?E<0(EYjfAt|{cQX{6xcc^Kd4DVH$ zFMZyo7tz#R&4X}yw}m<0F)aRXJ8PN&k$qcef;8K2-1gqt^6EDY3pzLdP5{^F=n4c zi);nWDq+ZRCD&cu6{l7+uGcra#&Y)X7qf}|PmA7`w-Olopj4v@A5(#1-&>IR43?vS z#5!N6KVJ!*BOk;lNIDYVAWg8V)CHLLJ8ZVXodRmbKLFgd{OY-YE%{MZW((s|f!G0Q za-RDb(&nOaaM^Qz_Z|vH;!6K}k}OEP=fWAfDC?Y#&6$97=Sxl27Tg!!JqC0DWFGkW z;FBgE?6-87El+^jg}hMhQX33SI65|Uy@=tdHpBlWf?WKS)=$~hrs@972p@OyMC{F? zM|tL5l4LXP^+F55w+Mt>HjUrvI_1xoQjP`<5jUir0&O&7gC_(g$g>u5;J7laq-jKQYlE+ z**Zki{GYUZAlm2`GbJ`Ir!RbJT!~@V)Suq)U9os3;R&>1_P7V;3-z1$3hlCb7^{`V zy+4x}fOJ@{*G0rM@9%wdtBytTSKn4nHvWR5);h2+xpk0Dabd^)WcOc&Vy;T+tgx(x zzW${PA8)b}5Xvx^!IB3d+VA$iqXfs+3+J1LJJWryy)>n}O9HjWkZ7vEE+Ojo*d~F! z-q~ld?#I{_I)PYBiB3a3r&YJCnaBFx&na9i#_?nM(%kaWbRjzzygzx5cSe)v9*go& z5LoiTooyB=BMD=PFXFBKrIsN;9m2n?Gng-oY9G$=n0+^y4V*-#pA?k}oAbQYiTTVG6Ez4@)HY7RTEzgI=*g^7(iLpwY1 z^533Y`0q|U5z2<_1n&wNI)P}j{Q4F&Ky#;HAu5iz4)5~d$}*A?E@f}Rk_ZdBAclWW z_+gurKZCIy8h5}qi0Amfls@^PnNd#xF{EwTXXO`VR^o)R82Yj=yy$Xfm8D$OCz{C1 z#lA<_b0@NrkzI=3EXfRjY5}@PM9a$SUt&9ueu_?fq^1-d*WXt#3y$Bf;-uZBPYYtB zBqlCb%7Q&{p*tR}0YJaIz|U3R1c@mK;9Qh29C3W)^B$g_mfLwc^J8GsX6Z;K_k5m( zH?u)wW3rj7#xXJ&7nutw^K72sF&nm3PX>x0tO$uLXZ$B@=bqwOeI^y(onl+l9ghJ^ zA+2N&RFIkRtg&#&5VCTG?@m2SVmAn__`o>>h4Kr0YdcYVED18o@{a|^|7hEad)z+;py(9{%}`m^)*E@>t*~mAbUE=IhD!Q|Vf>%Il;S^kJBeH5v6MJYBm) zHCL4#zCMi1(PT+4EN?o^ts!ulJ~Tp@=fa` zvfsO|pkDsuCnOYu-i|ir0oOsqr|ka8y<-W`NrBc6NU)u~#$mD027# z1A=h0imB7ry(fW|e}Eij9xqk}U)k*X^HSz3t1*L%F2t@AJkoal^?%6Ziiy?79}wJ@ znF|>;(`#j2JuOwyC-iz;mh(Yb(>h}#E>{pwzaATVXH&rBh2HS-R9|H^M%SL){TUtvh@wa8&`j=;B+cML*YIsR(D zp+BZy=djP&a50wT{*DEM=b03J=_89iDsOh8Mfb{ER~BRDxZu_$B^t?Yj4xc!^mAb{=6NGz==mhTm+N zetn-@u1ZjJ6F?AzomQ#MX5X>=QYzaik>4{8ih0irjNdN}tc<+_A9BB}+OqKloIFw} zK+96QF!62eSA9N6QW{}>NYJi<9RV{Gp%!N=-Y01opugP#h+ShoXA@th=Y|ZfeIs+C zQPEwzrMwY&#|PXuOag_2DK_AET39f15vSbagz;IskWFC0%XjHFxJKZ%QBGa#eLshN zX5HR;qA1Kj``}^llQ@2*A-PSGa$gf4^R&vm5$tx8tS5ws%)-3loFYG`FM|JE&WSIp zIDcz&RVCY}=_HiPGkAOU3pkRCxJKSGYh0CFaVtUe{Z$3+q3|Ul>+vTr|4nSO`Qp?R z{Vj?AlJxM$T>BB~$RH+hsOi*eZYjPhaU>2?R$-0r-<)KTqw8r7Lq5)VX2n^}TJHPu z@LhKT$A{ShY*yZk`}HCg?Ai6DU7Ou%*rL{vG8oz!t|MV)00EB3az#e;%gDTLyJ?02 zuo(#L;HcZn_%V$C5iyQ=1RN#!D$znS#P|-mJ`2vc!TZIB{o_k%sjsZKxs*2DAo1H zKd{fJM2cHJpFE?ez1cPKW!;RjlhhS5`@cQE^FOE4c~0j%PTlYQem?K_Ylav2(>Lgse=hleCH7fA zY?-wqV0ov{#iK&+q+B=5hYhw=<}-|N2z6-hp3Die;ipg56;h=|z`)6S(;dK^NjpH~ zo2v0upgET)KDB<~y30;Sl>+()qf6Q69h;Fne$G2aWGvCG)vP~syYz&%L-#$$3Ea&r z7?o3lIO+CJsu6LVI^9vOYY0u2i|p6$QYZ+%W7-WKmR-tuyG_(6L}pAA&^|Vc3m~07 zF5%b#yC&$(NCW#CVA}IOL#+G5OUT(5{g1LNd?8?V0i@Z3#o2L zb3f0G{iDCowBuY|pY`mw#lY9uZvvs8lt{i`ej@F5(h@T$^E^#Aat^|mlb;NW$w z+WOkqHXIw$x1(S;&i;wdO=zm*)N+qHd=v3_nPc|8>b`rrWQ{5$sJZq`z+xaj>n44s z{63SlfJ`DvtiFgjFe~vX1(lA{uW`-H0xvM*Jz>t4!tW)-D zl|qR0sbQY@juElM3CL9MZdmO&jriC?8 zw$SGD9kSVTJa03X*x&D8>E!m*xMZt?iZo5gqSFFpLmIo{yRI(0Gf{Qk=G`I%6f_Wr zcnD#F;@=eQ*0ocA+tOZH6W0+cylp|2O5E#Ce=bB{C%~LTi;T1EGY09qF1qhYn^^C8 zT`wQ0ciZL&fAHP%Y`diwvZQQ%MtTKrEFBWT#m;jsQu0X!=h*e-8!qo=(s$U~D%ddV z-t~NAah6&S+CFLyB`Go|NJ;|m14v^(`723j_*X=fsi>%K*cvlRytV!yA+k<9ydqvA zw;t@`PQ&BL+RXGQsg^izT=PY@(lDjA$@4&;Du&zI7QgOPnXc;0wEAW07=3FRWr*F( z6upW_w(NJ4?uIH|7^Xmg6>4f})h#+y2I>NkV8Uh%2M2(aOM~hh!7rY}sODP_R+cN1 ztjRp8MAwPyC-5=DXoG*H4%T zAT1SiDilClf>IASo7>FItC@NmR4lEnuMK$0%j!}J>J67;iX*Vzo3sqb<{|kgLe|DS z1N2)r?8oA|r~P8uM=~2-ZuIP|S<=HT(>RLYqOyNzT(Q(-IMW;|g8Sjjg7l77%f`HM z5WRZf2atA}6+MeI>Iav=H#@jPVI+Y=*LU{zf7m2AG;LqWJ_7qbGzUYK5Hz>5a{L~4 zJd5=j*@4f&vw&p;R7gRJ(AP97WcT84Q%pZH)Sj+)$%tOV#dv=Fl1Kw_UMtZXv6r#& zn@7)glMhAS@^x|%q>O*K6Q-$4Ef`j~#$2v%d2ViXAiI)cYPu<~@+Y0eHM~x6!X&e@ z*kR9R-9#}F{N;^CU9Zw>pEmq%jD7{NnAPVp2POl1)|5EULf~QP?p$lZ%n+9B9?Ela zZF;!2vU}o0Pv$EgwT58})xVOrh#p>yT!DKOM8L2y!LROrvZ-!jkyI#u;mEcBL5X+R zm@T|$MvJjDOVtSRk(s`h8mpX(ZqdU&JpE>}uZp7jd6oy)2t{4)I@kY72)b7_l(V88 zYdF_-7F+j+#o>mca)5JX|bQ_D(EN9-PV6*Z1-jb#-FftGH(>h zg`Rds6I535@$rAbh5;+FUco~sLSH-_G-^@lm!*D1ZT*=^nW(8yQ`C(5#p1c$cwRH% z1aTP#O7wc2_264Q@7zuj)FM27(EPxt1gW&kty>x&&1a|tlN#Qg0jqG!?dJJ8d=2~+ z>@rt8=Wma=wN;ADHp|Bsta5bYG@>WVw2u06<8N{?p9ooWKaW`R9usMSOX2x9?O4Pw zbgsI!k4Czs;9vZJdXd;}i;#P6(i6-u8X zUPSykp>hS&qjn6 zov-+SCi??+MML3#?qV>mgVOTMAo@uit=Cmg8gF#%v4PM2+z;!kqw1&CtsDBU9I+0IYz^G;fR0Yy}$zT=DsP<2ORySd=Vm zgF6Cpf)v7znLsWV3lm3Y>0&Z52nx7q;)dDzamKQ1@!n2!E6;C|Yh{~jWh<0!Z zV3bpueH``n>8o2V=S$Xd++SHMAGV6$2@f*{Re4a*{is+B)*X~0(B{l2V>Q_n293UR zB)a8jW~Z6>h6X&_D0wua?(2t%VeiSt-k(j zCxFxA40}^bpXgnSo_#rm#c&>py4+d8cD{bz(&ZjS7ciIYyg>GSlRwx)*Sn3zO0>by zVT^x?#eR%l39fcP9wf7=I2<}H4%G+Ql`$ZW<*tceIqWmnvM&x8+)2VpdY{H=6+jP%{K ziE|N0NTD0vsJZ@0O>aBYFLRpbS;RW*?={zXyF&aF@TzD4CWZ<2sdIexMMiNfQLKO* zuDt;RSt+owf~)@>c&s4_K<3r|(m&{E9<45QzUkyVS-S!j*M(vB^Sku0H=c! z*G|smsofk5$Z5whtXoCWbXR50kXr6u9ODcG+z(%Kk?>IIc7}7=ZVwbR~cB%_WbR6F}2pK zu0AfB*ODanb2DqFdbFC}+Dy46hVDQqb#z$B3MKN2{?|H(5_=k)etNGB1v%kV0yP1@ zfywP02+3&vFOI@&P-6Nn5OmH`EnI#((%Il4Tfq0vdp#R-f6l;AtKzLtr@962eQ&1F z^w-S1Ar&flGR#2;5x??5v!L*E=IQ(>LEg z*>dF2(IsEiOS&qUEy){CC}X8^Eek`0r-ExV8Mi*xvwS!`Sewx%XqMwr*{WOH*q*s? zooK}Ey>$GRm}-bYlyIF*b%+!~72R0UG`MFL_ZPW)4V4IMS!RoJaA$(46xY z{IbJqzGn=ztjT0KxXIxp(HM0!Z;LIT+MN3(k^6qT{PnSX5z`lAzi*G|8j4GWx%UWU zYU&{%7eIN9l12eq>7t|v1D|H8PNHldlyPRVwF(c`;f+eAzzY&d&s9$X5u|e6Zpjbsxf;>(FIT7x=?N_r z|5Wk)fLi4QaNmNGV#rwVJ?2n5tglHx@|P$|ZlYh7{aC|7i3lzXFSV(;z5MW21Ro<& z_O?;_?ha?C%9QHVn8QIvj9JV@lQPvHNPN6xC$a9og0C5oZ#FzTSa#L6%Cs9~IRBZz zi2(Gw!JEmdQu>ikr`2j9PT;m-WQF^Nf4Zid9b3;QWh&XXTLG#n3+^{9R^Gl)!Bz`U zjB1fld|`;-{#ehia>7dBg|zOh{^K2k3vSW&J`yD%^a>Tqrov}~*8@V5fStOo{4Blw z_LU)r-v8GE2m`#)e3+3)BBJt0zfk-<6LX5j8H=G~3LIyxGGKa!MgqS^{$sFU-G!C< zjxcFxqJZ|%s=JW*vp1^SnV7q&)oZFcY5E+u1QOLm9TJ`$Cbyr>3;2sZ^Z36a{V|*| zcmHiCTCHeR^1eVcNqe0HE3ltEZ1}oy0WfyPw=hwhktqP_*w)@&?50+}{%qp6c?Vpl zz7q*semTFTo7lmZ;vIhXgam1rkn27sGv_tzdTCwI?j~X68_A1abj4hpuA9nL)4CDT zpvQ|4KFF-514sp2l8-Ds9qXB4wFEJWm{MGFYssci!jvZ<-vr_Y&x{Ec2js_jAUlv% zh-L0URfCQzQyBNA-I1m8#KMdRV)08xHMMF4`c>`^yB4LHFRBU$=c9oMY?2< zEf25GoXTFS4sj$9x9ZINsC&BFF(R>4!1ZXL4M;;sKx*CYNCI!f*;V-@U|vGO^5Yf7 zk$3&KMr7Nr3Lw5+!nVEDBNJR$rF#B0X*}1ZLF7Jrqqm(Fjk{ffSFS_%^9C{7K7Y>h zJbN0`h4jzDjtFI~f<26GnvJiqFLKUEV`Q_CoI{FR@qYAM*GhoJi-u6$F=xMM!_ikK zpbvuqq<32hvgRV7DVez^itjtTDd1~_Oh7BHfy^5%J)`$x-ktmpfPwWNV9N7}<>@>I zzHf>*@5P`oM9LnSdu{~1a}u?=j#sc#ca#4*{`X-P=8Je#75&>0W365z)I z0Iiuy9*lYsaA4}7m$-+^-J=?hhu^xOXl`+h>patYF>xZ0Ej7hbm(5D-fe=^7nEF8l z4!(FbJD0Ao9KL1g#Yoie$L4~$6kh<}2kYC1N4~<&BBg6@Fw5!g6m<{AmRV%XY@Oh>c*}^0KynVyKbPipe;}9d%JS0#p9{T(Y!~e7>u9*1zaM z?WNX+afvEdF}=!T8RA8)Xe<5+MRx;3k;~si-JU2DVW7_ypue;4JUAPqzr&&e{~!RA z&d^TCPHnb&TzQ9@iVBvoloF?J|C=ibSyvicTm-TAKm)QCtA1$qO=kq zv0T9!n@}sy`H!GFJG>(^v|nkB8e#Xlgg~+G1cuX)r;#c%%Bng6>5?zsW^!f;J+TQE z9ZD{47F$y+^6U7sDu(^dJle=xNK#h-(CbG2D>~CA%;YTnH z)twA0rMug@U255f0FzhJ_KWHW;!mH=-rv_{UR8BvB~7Mb%L7s@d;{m?>dUm~L?HP` z24|Un={}gji_yZ|&lRxH!5wzJgi|-&ebRpP^3>65Po%mcv;VF+4S(sB)Ee`YG9J~( z66h+`Ok*!GdSNTeb~wK=Em@=)@vSRL>$9DI-FK*-O0A|W^P*kan7As5%;S9~b@p)krY9!`~e_o^naY+p!H#o=uIRaVN4GOA?r#$oo zq4-m(%2S(Hbjs1*E-y?35!L#BfM_HPmoRW)XBz~pKxzDMsG((x*1qIgPgpu49)mxD ze``8uEU~3B^#?S*e(=W@GvhG=7eqHHPdV)6 zo~mjhh^3aSman>Ge}cp=KfjnXrNe$wkLLc~%BQ#2k#pfTX6Cok4Cr&M<)};7@mw0b zrx1Ng6Wer)O;tYKID?@mvylPL`SXk>4?(P2xb1UVArb!W`@dd1w$77*{d}!)$Y%eiY;Z06UDJ@MARxrS${W zmibYZj~6ZzG~uTLT?WT6puiDAUfMg7IZq=MDfgydS=cN8f>5!(Y*y#mQtgFto}Fh5 z>6Kxs^u$z6I0}4CH2wwE17|Lo{>MmYYv8iPG*h=p)H0E8_EB zn|5?7t(tt3YB3W=yzHVEK4zi|aUo z*e&i4{d6(^OGN+|A}l7{U!?Q(0t@3k8eLyqYbsV8IU8NUAkb{}poQ(GY-8R%4IWlH z(m^Li-ZzHd>EqwUtUe!c+kI#xgY8`s6soT4^fOt1E?#Xa^z0j9r`1zA&`FBsR{2j? zh`JcFM6JS)0tf$6Us?+5bcm8Bq;SAAlA4+dZ}ae$z>Uk`+ZM{R>W*08c^JV@;8;E7 zN*5fxVKw;Nq^;~)Im7MH$HM=fU2?0ZSlr={h$WV{qIbAqAL@4$=sO6?m=mo{W@3)) z99CSSndJ<`n!pqUzk@0heuwE8u6u|kWpq`mhQJlv1%`vC*h;L^rZTH?mK~=m@}m%Q zy=pY?xP{glH>#aIm;c%chEtPXm)7jgdXQuqme(v#^rn9FC$#J{5|3Y&AF)6;!Tk=O zRUo0=zLwb)w5zp7$@8OG%t2pC==Q}L@-3E5EmyX2eEA1?laBt`4JXn|ch<&w{K4?$m#h(m(#ICb{BG z*zO+l4x)61BXlGfXs{b?ripk*pM9(4>bGmNb%Lj59z%wRi-*LS$Z2E^mPEiNB&)go zJk#NQ`rxiZ3k`HhN|*igREzN$xbkwAoLtj}2GzDJF_sV9Rx}SBS?dHMF>-w^qPe<2 z`~e|ur-wX>-OVy@l6t3li>Q{k z4*CXx6~V=jXPYdyyr&M%DH^!`o6apAZd>{p>m!Q&&O7xs?5$1B@K+6xxBxNHi0uKG z(E~AJxL+Q+b4S}}E@rr@l~>tyzC@cK9*a+-Iu+Pk5}FolvG`te_Pn1nbGFCRaBE4Q z^jmD&7UY^+BT^2t)&%y3*xE{OG9uY;ZdRhI+z)@!Mt_m1pE(yx+TPmIo3O-w0m;ih z*gO;zz2T2t-jBV82f}aS_vusTaP&Tsd2kJWgFKJkx~N8rPn)}}qI~1+u;)Gn@gNR@ zHsMJ**5}FL<*dLo0Yabny*!Vap--mdf28rQiq1?PcF_E4LbVLed?p=|?#vhB_-H2B zT;K$VUz3&=QKoMo#6*EYb#g`YcRRlwU-nW_cX%9HX&o9E+VE<@vA+5IBHAUeGRfo@si}6kX|iW{C(vg^m7r{d@P3Qw)l=Yh8e_mL<>pBto?Y7kWtz3xQ zWsNVc^T4`0=7;>WHu<^Xt9qCB&Y`7X5^yq~?=yfMIpBW1%^mfXqG3mHor#<2cu1Q) zONFxmmS?LgLmWVjY@d~JgPp>S@HwnoKs!KE3*-?Qo5F$UEOi#lz&Cc6o|mF!JZ2ZW zsUjWA@1o?*uXQt9N0sG90c!LTNfYJ*4jg$5uU_4uk5~~UrP2N_340JrO2{NWoJVKz zOz`uQVP{0BK<2$bs=O&dk*lxYRLdAyvdM$ypD6bllZNR23!^zp+UY7b=Y>%QY$cXL zA5@p|rJzE3q&@0DC)N;Ov*lxp8!OG?OBq#QDr5i0kbouyR*ZTjHw7Oo%F*~H>HUG) zDF;Hl(K?O^gspq%1IEcF%17GuHmc_?8h(GTU~ePoDYrimjdB+zP=b{?WN*f)#9@A7 z3v4VW*28PED|~uIWv2?aXUy0#`29QF52O>_2E&rb1Bu7nEosz6#O|NAS|~TJmVUe6 z*}?GYNYCkQmf!IbKU%sA!fY3R{TeMGlT4Sqtcg1tNJPbqd>448@avcWB-(CnN zUA!p7v0jgQ>uYEAc}L7}!-rf4-vY_JO3s)DTieisln2`B?kn!XKQdwCz%QV+e?z35 zLT1`8Mf=OYXXEY@hqum~l*76t7Y0I}BXx!-U79&3Hh-tP+gtShfn*UN)GIufWmGxi zlRWR2n>QM_lujcw4z51z`!0nG&Z`mPe~}UuHKoooEQF+~7b)fp-wZJPo=>b&(`S<= z5w7cHOpJ0|7|;InpNI*z#Y?$E%#F7`Zt&Z2Wd9V5*yWwrWJA(xc_h@iA3oo_^rICS z;h%+j`e}s7gz&T8Tk>ydP?9ztHoba+QMft~;Jq;)wM6+$#yvXA7Qv7Y8FYZK-ysYm z6HvJ5(TLUP%z(to&&UbLVSbhb$N`ucV6A7oQ4M)ju0rKBJw6Z(M-%Ad#=X(kSjD+= z@2}`8%lq_3fdH)MK56>=f)5hw0yIPFYdFD&TqncwS zveA;aV_W`Jjm4}g$R@7M?x39qq;hEvZ*|IziSK_3+hHO6v42GT#g-W+x571Z5ivhy z=S59)0jpb*pKb1~_!4%`_J;@&9t_b65c zt+xvZ_v(&DW)4+-$GBJ)^Zq=to>1)k9haH15nk9osU*m6FAkRl+{XZA%II$}xzRUC zdV@^wj0S^3S153V2?!z@yFS5W36&{lxXh~Jh#I6@LBJ0%H~uBs3RUW`l!o*Nny8|m zX=ul&O_5qo%e0m?7%o5maFwh_&oe&>vt}e-Ve|ze?!a*Ju4%YMgKRl@-Jr+DvlENq z7MRgDa^HQ}@)gKlKp%i>fbY{|CKecX&j=z2`2i3Mo(}}~!Hos~4Hd5j0*(}v79HsZ z&OPcvZMeL>Djx9?ResvJl(N?N28z31C@mfhw9LkYkUsBUGt{47*?3zJ%_2Kt$F(Vv zu#;*k^22PA?9pf_?+!OYFHGdflI$Vd<%{`c5K_r$ZjtGX&`y2gkxOWEJDgb)NnxLU z&`d9!OO&wHC@M5aT2{z`@oX?!$G<#IC>0eUOG+^qRH665*wWa$dh|;61>R z%Fly{moU&ZRZmwZgKz-ekhEmuB}{NBC&3`=8_YaJ7M;Q_a@Ps~FC2n0KBQBg~?9{N#J!7Opa_?=|IY);B#675R!x z9;@hT8ow8Im-9o1%s1HuY@tLylHrQrZKHl)(m-kTcR3y$_LZ9HH%qbn3>Juv$|A-j z2w~s?Q3?s-EJPV%N*7V=XSum{zg0_1+idO-{X=S%da7rDTG-7455swn(E1TaHZ+1@ z2acHvG8c&tNTyoazDs`(Bo^qWCHd;<0!$5cc`Uh(u!sj(Rt3TACYx<^-0ZE`=(qGk$EH`p1!ot6X&4-Rs6s1mfq=6 z_iBICg?v;u?mBJa<2uy&r~swu(XrDEPXTtv?Clpl+x7v@G>y^ussG8XQscI0O` zBO_buIV$RI?w5b%0`YBZr!=bHK6A$HpJpgy{5J#}s;#>CO2Q0d>H0OBy;)#p4Cl%hAaw$C>2)c zkct_gJpM~{`x0W{y9bJ7!1usDIp5sd|KO$5k^7Of;2eX-N+~}gQtvl~yyA^YcGU%! z@~&G>Cm}FS3qv1xq9MY;R$XwIzUc*FOQ+ZjpLZA;nQktH(3Yo@EBu@Q4)=su#9mw-C$eZUFrh3d z9UsQml?Ixn?>tAjDru{gu>V3iO%tJ{L3`Y7;=X89U6IQH?I(}CBKJaVTeZ~2)X(>Z zCie7|>vt`0%FAhB4qNSOi-U+yE>4<-Tp%J$=$2`~I?#};%u;u2eI!2>!MiSZhi6^3 zXhiQvE_}t8f(9#}&6u*j^*iCnt?}rtpIBaKRB!oc$WYz%&(pXjbi89T+-&x(p5lWN z%jxeW2MR-!b+b*b2u-U~Z?ivf!Q`nj1#Zvx)*`LQ%Ji7PLU)!mq1UsckeO3U75K!h z+(-gH7*dnX=y5vNMMHYG0WmmpI!j4F90>3TzkdCSS3D=37!fanAV;g3>wS-wz0)7+~iEh8~_1U_*eB1Fi)ArQWD$ zzB-(sF)2&NANda}KE&6#BEEjRBIUqGU0jZbq8y$l4f=I;WA>6knt5EC{)Hy0A1(xu zZf&C#;=epwa<#rD+s0w0Uz-Oa!psO>Jlc7{jABiE6#!g{*;~o*7hd>bmDHpv;^3+9 z?M{pi9sE<*F1k{%m7ZhF;+MYg{WJ?TBpKCt4%@VGnliZd^ylyDP>qVusI8!)1Re0G zW2d!lY7=*^go)O~65FcC?3n|>=_d~YkvP8VCC^pVW{=!I$@xv~p)N*ip{v9kj;yw$ z`R^a?e>ONG=Evw2<;-Uw+Y66c5mZ*Ly4$LELu7u;VEm>g17@?B7GF~qQ@XSZv3~7v zHrt}ca&~`{XscdQ>w3rI{JYtN#`@%X_$-`uaK7oAI55N74Eqjnqy>)&%yKSjYHFS( z8{TFkl;sbZ@MCY1e9E_eH>pLx=mfHW=!^MTqoiKwZI->u7X42AhMbt?+}!*Xf&c-u z_jiZjwM0eLN`mqKzyyq7i^(Ii%Ix1fYXL5i7Y(y2Wa%&XcHgpr>UzlS2TTB{*X9?` z0ib(h0k)W>#YM!~q5}aIFhWC=SEwpc^9AeRT&4DN)sxBxu_og(`6+movV0^;zryha zK{Ej3;%QkinOisF2uXK-sko37$k5-@9SSMZ)-KX>stKgS<2h;@k$me$n#N1R8 zb@>|w4h};{A7MKZo)S*06o})^XV+|HO-yc!s#`~+s`r{zcs@cPSS;KgmgI!X{Yju+ z2e<=7Z{m43?)7xGY?Ad_r<1=C;vKl+WM#|t4-?renkc#Oba|)F^Lp zw+8qh5(N`B2=4;+V5B{kcO9N6ybeI5pTofM1pc)ppU%t#;6I@P0&L0_RgN({Q~p+> z#IAIEHfD)K$Gi3X5*N`%=*+^`2LcNNmMYJY#xBIid>gpgcdt_d&GMZ;g;?9!8>hQP zjQ*D-(F4SJL}i#DE;>C@dzL5@7IC%KcaWmgiB) zreGvZ)pR}k@tvAr=6|YTVj_yu#8tMswyIOwjYWvOE!1?QQPWr_!D7+VaUFGwVu`p& z!ej?U^9o{P`-R$nr{R0^WtuI^f*j#>K82Mp7rr-QQ?MSa!Z8l7+f=kTCA8ekUtfQ< zxKEjW`%;^2?0Yl=ZB)&o;yt{;E?aUgJA0IKb8F>MsB1s!W7|LVlcMLo2I}uquG%|H zVt2L52is7dH)OuOmoq4k1=sHf4EKS)TIW9dB_}nSptm;V`k84}A)=)`*E4p9In0;M z$9F{gKL?vx1kGoLV?-3SeVFWK{>5S`b=i~Pd>j#2z8RN4E za98hM)|ptX@m}9MXye{E`Qa*jza4pfbs*RZTSl!HSRrCy^lu>`bWh)l?J!nhiCN`Q zQm*c_cWlk)`)AC4Q%j3v9GO=*Em&3ihKEzQqyh~9YCBU{GEuM-3OIO;!&8QI0d85S z&;cmhZsdOs7yt$7@}9g6o$s^II!S8bBa~j^)SY!HeDV3dW2+kd+(j{%E8)Vka~a6? ztGCxZcY2nH6ErNoZyKgMcLY#V4O1LOH z-!}rJ#Csur{;^8>db$l^P%u;DIqmLzmx0bwq#EM=Lt}0IvFB6I0{a7Ari5Z@{`^44 zL>}wyQ!)pu(Xl>WT;$NE%25rzucc;O?YQx;buKjhru)NzwuZ46LxM}5>q<|x8ClW& zcUA~I~vd09*}vE`7lLF z>ynHXRll_GCFMEBB$gxj(38St#WcLBqm?x&_kpmNef(XqiGWPN*P`d%k^+xHxg?fE z>>9c;h7J2TLW!777rQ2+IlGorcYdd1sO)&6Ke6mcZX3J$VBwPfV_b!L;oeoh1c5u@&*RS+xIorx!I{76`*%T1k!kg^J};f`pE8rjLG3nf!Q@^}5nvzr^5x6o zw{P#5^sQV#1q)L5-kTL%Qu)KljU?@|Qu9deD|(7$7O$rFuQL*15B&va?c~(sj`|eR%Bu zi+8u1P4kv?zCHdchwmAJdVh5AsU=9}et*2g^)53Hd0V4;ex2KH_a*fL_s*zC)v<89 zxK!X4_xuOlBN&(7k?Xw10gDTW5P8#Y6^S#-AVQCv&F6 z<_|(^I{H4Fmb_-3l1{_ZyWlXOd98!I=-x$iPTURb6^>YzZ0TkXf`!(-Wv|cbnAXj= z)MzhzVaAW!;E`%b-iGCe=jmg6AzerszU{y+e`hY&%_05m z+V8@22cPni9WAk z?~?b2t3s4+I8n;^_bB#2X9V`4#ey%cHEB7N&Pxl8-_H@fJSwmCP~lIP=F7ogH~D0P z8q$G(60`0Lgqrhv2JbHa_gQyDext31s{`T(nmRgqfp?g@{9gzK3=)7>rjWY=xDE$C z+`eI_J4LK3`5Kep&cvhIz`(Y2mb(eBUtXrf^M{c7c}4`qs{s*ohSWEe-wjP0j^G(* z`p4xjd;N7yUx95|DMWt&n2?;&r&Q67rxkLLBcpN|17g?<-;F@kc*<3My;I97_++jQuA1o%FpO zl<_oYxNio_Y`1D3_Vsz*x)0+!-FwMHBws^CyYB?o^fxRIwhmvu-kAAe#55im6Qtf$ z_}Sg+Jy~gr*Xs;oX`>qpnOV7;r+w1A);=HAX}<6ChA;gsYXc0_@n>o&@IA89ROs1D zLVKU%P;0M4JFpGC*{;Vt!+i1YOGp!G{`ytgx%7p0N*5-iPY9^ZiXtK9CxQ7zQHUO6g3?-W%zz-cS8LXz@oY(7Sy>^li{+CA z2(xr*6R$~ma0j9p16_ZGt-{wHib*&Mn9@zsN?&^t%WRXG&MMR|*Bjg|DxU)%%tn%A z@jZI=S_V(z#H_O0>;yqY{4ECcp%`q{3|bNbXF;tIl`*cxCvhqJLaJWxSI*ilCsOny z*lR#f!K927hzvv+ktz-025p~W0xGcYHE3J2sqm$c`x3ITqtvp)&Gg+APoRg{K< zi_19FzDU^a{H`MJk4pBVf@ekEX=}!|=)0^FKEY*e1~!>xtsR=-A1$ierez}0S&pVr zJr#`8>G_NOv?8qhg$MouI!9gyAv&Y@AEawrX>h4~iZ7NWyxfW$9$QSq{P0Zx=1}MW z>C@NvdV<}$0J6-dWBjWbhJtg=MGz2ab>~k0mWZDV_>n*s0H3{tSUU7ak=NXL3*4l5 zBCS~jpeCUGf>hC&xZmyE0-swJaw`kLrJve6S!sXa^nQ z>S`~|9VswWz}d}CR0}!d0$l33JC8V1P`y32a|^-Sigu4c{sDir|Iwz1PKeoblU4)J z4ua}HrVROrz(IpS@OM9m_5tB@v`k_%_%n_8*>8j{QaG<({b^$O$#%-fxY~8%kv}Pn zC+5AU=^D9Vra3(h1ul|Zs}7t+**Z@|G~$w7-npCpiMrc@DNdC%*z?>A9kf9eeHmf>DKr=r}fz|16-X~Hg?ZrMX^KDCHiVgm~C{Ll<&$W_or)x{#}y`{w6q1T)Oo(!u33&X?;xqJ=U=p8uw%HG9->9tRV^dh)UUjT6$Z0@N4< z5_1Wy9k=;5_Z3;G2DJ0#<8tr+B5~&2&!zX0Qt}exg&yF_%{R&=ff-BIB<7PqGr+@z zXfR+~fUyTUrge_$OuXiN&m4mVw-ph%Q4deTULMZU2bcx3v7~ifXG|$IRYKD%U}YyW zITaa}w+-p@WXYu7XHrCk+TPjjF{9o)(kYJuPYEVTf<{QOW^(h2ho>j_ChXoj($7_W zDl8~i{QjK`cf;fue|nD@9Ftl2h&`Sx^yl;9$qhQ5i$&X!Hf?Nv|8?*6#1sTZP! zJdeOF(=UpqS8m0S&UpF@Q|kSi#yKrum@8UtR7>r}hNfK>nR;U+x}vFNjziC3>KME| za~|AyndCt?W15v8qrgLoU`dJFsKm7lb)qI}J(q;^SPvNfO03n6;*qPDg~ATIIlH!pA=wFUmhH#0MHj71NgRd+!s9E_J>gQD4l!%B*U7lThq z#qQl~Q==DAKPu1Do_}e6TjI3v6S2#o8#-bnKTK=3z!numc0_UX8B#cH&e8su`t$ee zUV>eeXRO*k_WRdg&wt^AhD_KeynKA3;06cH0D#HDxw@b#02wEsUhww-;7d&d|I9On zHNKq+I|uM5)_AJ{p@ZjEq7}5&_l?8u)J*Y)-pL|4o0`@X8rBji4Djn zBqBxVKgA7Xt}LOd^Gm^^mHMle-oyAajDG*J-9?T(AoSeET%NyHX4j=LzZOp%Ycj5}YF?4S#DzebmYHOhC7mk@D@_TC`aYsXa z1;?RP|KAb2r|h|yqh!ALOJ-qIlybMVd%KFEj zcw_+3MyP3l9AIrO)r&3z%J=Y)1#woF0w1i=hKCS|qFlt)dy!M+WBNWu zXnfJ9kBWbDCs1l@{4(fGO|QFl?xKIBMjHi{ASreJZ-a5&#&RW#Ta7PXHHzfK|48~! zw2NNCg2KXrEhEVcpHS%9}YLE8<2ie&~ zd8Ga@hozO0Ol*8&V-`9R8Ayh%ILCUI$A)8?Pt+} ztLgpGsDocS--2f!ev!{(nRW&LDWM*&0|rt#a~+)E{V4Oe(b(&kjp)+ z@O+42mR*w4EUW{x)dx7zs?5_Ge?pYro@*}-&sIy0))ktQDxRg}%bZ7T=KMLek~cTp zSX1YBaaKdi{H*QdwM-*2-(tod6HXiC>jn`A2EJ->{}JDhk5yFPXwW`zY?j&jLL201 zXumpP^N~)rLUlj+8TrM|dK1B~V5o}j;#~cCVJ7$?9+Z46&4|PNVD=*70fVNOOS`4E*_p>wUFi`NP=6Kj6W=#fnRVN8!pLgRy9+ONo0-t>7QW61RUW^ zodVTpur`B@2guy{i{rmC%Ft3Bk*$B}zVw!~GccK$5P#0f%Oib_z!d?gv(ru+>Q;6nQl%qBid3vn@mTgR9}vh{j_vV zm$&|*a3fJ|hdm{0P6?q|D-xSdL%ON^qjmjT#hq$6v&?*pfFZTp^m8^S|95tu1b7Mv zHOJ^CCG(lSJM7};C+4^Jy&pV?8&NtEb`%$%UI+aTj2zIxCpZ2EBwZjq z5odZ&k0PeJNEHvNo!)*>T?1%-mTwO^;3-%I%1G!u{T-MLT~E9@cgSsv#{X5Q3H>>` zA0MiJI-XtBC0<^uoffg;<8tZLb-MT7dBU5t?7BZ&zo<51MSuo`az{7vL4cEB@Bu8L zD~y@K7i|8SnN7R#*vN>cHT<1PLOMm|b&010i4aJ-V~u8_7!|PdqY2tIuP)T0CV62$ zaC*=3O^z2c^<$G!Ri-y)=Je_kGu>f2|}p!oouF-+^KVmUAMdqB7*)aJ5hK*h(y%O6e0V7 z3>4V=&x*udVLLc|5ghc8X2Dwn2Y%RF4sxgydj;8;3=g#j5!qHE^i(HdR8PWf6f_Rp z>0bS?i&4^6zsBMuy@bw?Xulf$@H}|2LW`EFkORUxV+9%5UW6mLpq~W zgqDR@5>elCUL_`uX!q&`9tQrPa0y2e1n6X^_oT07veHUgH(RTFa@P_u@wnND8+r80 zGU4o*E1GBAZrn7@JyQBQtJ5tt?cw8^c$(>-zMODs-I$pqj2=xauo`Q8)4bI}ZV~C5 zqP^;xxlt|U7w%oYJv2cy<*B`FZWL6Fn%)Z=7cN-ew{z9B_F&Z(TpAP)#}24qqzW_G zG5e=qs(ZQ}AI5XKPz6n-SA>Qj<4+Y0lnfZulkLn{H{T8p<%<12+}%8sj`n}v-RIiaS8KAJowmLsFHKPW9LI1gj4>pRWl485-C8tv^>IjH92jGi ze3QGX-3SY7+WkJ9&yU1yJSzeY;w#iJkO2+<3;L|U(5Gev$ykU0z6w|kd`rptP6HL7 zDMP|igsIFAa&V|gtF#;7d5B;+FA00x??NJg{kA!iM~IrdvCn8boHd6k<*u$h=<8fAN{uZi^{YN|tp^e@) z+*J?#aH|)6o{ZYvRO*(XZ^{0dzRTw(Im>(bP5Uys+k!g7H>)aD6lI_3epoLwEJcD+ z`g3u$+3C)6;Kbom@@*k7OHaIZA$spodJhqfnc5I}*GLLIXi_r;mp2SC9+)&OJBM}~ zJFuritnKIfJ*IXbr?#ldkvnB*N~?rp?5xQL?^@$7T>bg^tnhIgD|xsxQxHS>Hw?AZ z^afS8n<mmH-~S?5H# z@8r(x>HlGRt(afIhO2j@Q_LM)C_jb{@KsrtX8#_im}y*iuUeTzOVW@0qw7Y8sBkeB zrRJ6V&A(UIBt-h$H#i7FLPZnWAf@lnz@~BK#g5jct;}jC^~ZnQRz@re(+^i(xUNiv zZB3ock<`k^G!q+Ay`!;yy=B2@3T&zTG1oc$!ZzwF8xDpvi4kcf3WR^isJcd^*gzcu z+<}+Be{7d6jh!=dzZY<`Ta61EZ!A)n^Tcf0IyE^$?I{ddv_W_aDmR$LXxPffts}ao zYVJTnOs|4Eg!RkiU_Rf+d&t^mv>x}$N0G>0p#DOq^pc!O#D%H|`xn#4YqO@C?S(n7S-7r5?X7T{M^l;k3?_I`0KHFQiEf4^skaB6mK) zo@VKRcrWP@E%vs@LB`5!0YPaoDgkQ99s#GOFy{uS`P?sOEXOG9nbES2+uA8}jj5y6 za*RKY)qNSSj9So+xNb;)wc<7=^5Y$}h&(&s;B@MS!iDi!UC8`0v-n~D9ESkrQA`-J zC_Ax|m(fpwo6(%7=*<8}?zk8wfi>?*TT*{|S-ie39dXNC$iZqh14e#GvV}y*n)-?9 zY!3CuWWvQ;O ztlOA?>Xqbz+-3i;wZF5uPYla$kPVMW8#v$VUN!%&GqSH(rhuZsg|MHBnfaHld&CC73kX6}NVT?& zgsB)JmLM{Cm0jP?52g(0Ha4xyd-wwu=s@p&x?8ZQ|1Sqc&O6oxZ@)K&zAgwoE_B17 z;+T^7HdB$MbpX&6tn<6fciyaQL z_->@RY)lJFcWc_LT^`rULPi{W28&@hOWQP8c@+712D%-L zcITv?&b=w;ExR%My78o%Yd|V&?d0*_v5}d6>bdHph?>GWVd>I7;)9=oMO!DeRk9EK z|7Db=BeOPsXH|qj$wu5wH8&1aOYhIid*}4DXxeyJ8uU`{U;3T{^qgHm7RfB(ytmf)L&+5hy8-H18p@{e~FjylbN{ zFPV4=V5-at={SRP^$9L-Hg z#viYSbaw8M=$!r|$C9$boc_F^y8b0F_qLIpGHkfcy@|bLc!X5CA+Y=%ggDQX&w^?c z#(y2XANT?mv$FO=J};@iZg*x3lmg}0&UMw#k;|y38Jgs1UmxgK&D70uO+(sC+QxP| zX5#L%EElb$PW3wdOiZtDb2H{W7FYO!rLelDy6H^6?z>ip&=sT0U9wA)^;w_3-|5b5 zkV_?!micUnZ=G2SO1f`!n``x}j z6{Nq(S0=NPMq@rIn5IOZp>20*kJYyJ&}{1diaFZ{fFEHI?~}T57;l(mkJn<%1a~vI zFLvC#J-5@t(h-+izCS9U=G8{RdmB)zNW*L6?f5U?PSBCO2#@=rXZ?R3#edgP>=~6tHFt1>ar8}-X{+W1u{A;(mE6|(+lbdy2X`?P zhk`2uUXjsh92=FD8PxYbW(=g?t{tCiD3e;h)o`TJ)N_BhHCzLkJY;(>eEU$1BeMUC zl4Nz*m63^BQ_F|P7USl1YQ6)BX06c5N+tIt{H80LD!Gc&Sk(HHPoK?o-N+4J(J$Sci`LYYX1bT4#F$a2mmfkDJGFhgrbS`<9MZg9K#-&h9A2zH<1J1-(R}mt ziY;knq}-R4^>L)r-9dw-S0tg7PdXQ>m)i!FH{A=z)cWrYrme^`&v~iWkP&G(E&ABb zJ(a`?d=*^(qSV?xiTW1U_%A-(lPsDR5qGEdu+e*WL{Do^W~<@z(O8e;1$t-YcjigLv5H*L?$n*khkxb5SBerZ!M zO0t^S=1SLXH@af5p~0)BcY1iI5nWVn?|9)=6SoFd@<}!yO-7(=Hy^6@9|E?oo@afa zs_*PorDFCdh9_DSNmPBh*2(ZS^%pMoL}XgCz!JpcK2yyW`>ds@NhzUPf};G;c?{E5 zHye_9Y6AD=Vs`?`nH38Zdn;4_+^?-ZiZa93D=W%<@pO0SGRt()c()?JTWq%M+QAy!Gak>A3zF#}q;W)vftm9FqDo>~_ zCLrIg$mSqP)LMAE+4TRl04_{8qeAjDUo>q@X1T21u^`4MRGfb2Oxn7o0_aBW4;u~VS<-b0Xx#$i z9JJ31rQ{ z;6PYrT`Ikl$8-3j@(qp0Wp8z{A5*x{xXeD_Z|d;aDl)r-0Ta}ti83%%M7+Ka z)E}@u!lxC^4r1zK1wV^@`KbG+9!j#|Jlsit-{7DC!OxMgAp=ytCeNO-xE#)6mlKa6 z>%!~P`P&_H&jMWCH}m6vMtigIG)wWz@>(+s|+`rJF%aLm_(@- zHx~IGrLZInp{~$VJQ_R=YA7=5dG0~&1xR3 z_vHexs)OL0+TOkhvkA$+#N{uA0*G7Y-Z#@UV2#!r?j*6`E#4HpNDtW!_SxMeInBA1 z(Jnc!nRbB-{TgpNKS;$P1yRFe|K{!_V2C=1nFFz&CAzgS`iLE?c-?Cs7?+OQx1XhW z3UyrOxdY&u#D@j}b0%Nm+o-J}iUPgC0giAo3uEIZyk$9az6i~71D$-}CE?bM_DQLA z2-l%^DvMd1++%4F?@z}}=YKWh_*POe&f;_;I(<90@Tg2kC!|=94>oE%ieyUvsb4&_ zR$1&z1zA_^240sTH~==}64C{_EUpcuoLw-cXOlc062_C!3)X4I?|Qih9cH{b^lkOK z-zQWCt{e!eXa>k>bs*#TC)rwFuY>~KrwZ75(kXamLW${agAY$XPHAFm(X zAGlsCo8%_NnmvL_J=0egWuT`%2F{d_upE`%^X-!>PX%yS)tmJDFqbzSsN0|D| zQ5gLG9YI-4h|5X){;h2O=AeA6+bcoq3y9^2u+4%ORk&6@z&~N5dmA?H0sG8we5sfU zZ)d3jXEd&r%=(*}b_bRMwy*&&_!5rcvsbGUh7GQi6iI36=k^&5malLSXJ`wK=w%{i zU&t=CiOqH1?D~4OV@%}hL;KF_H5ZiZw4NT9McGuQvTLifmUO4K_m)~h#0MnP;Z?B(8HCD04W^5TpsJxNZT%<7B=P z1O3D8mmKR_s$VS=h+2wOYABl#F2L~HY!X>bjzW_?emn<4^$3Y0zz&g|)vw=7qL9FH@(_=; z4aJgh&zP&A?{>x_%w8R-(4QwknnHkUkCRP|)N_3-H}28d#!9B&V_rGoAuZ47@>$5~ zMwFNzFi10kwlH=^f&MPLq?Ss?W=CM`WJPJ#29}Ps@nEZ*-T5B)$yd~j{6m6!JrMEpB*=U4CFSSBs>)%9avs2l*sjw zd#8@HxOuwu00o=yTTRD+cm3 z$kv4Tx&Cx-cFYg609UTej{T)Q_Tp3Nc|JWVA&FCfZh&3Q@)BLsD7hdI5diPc|VbfKDLUv|8(NEku4wkpG6 zqDA2G%KAiJ&_>2Ffa8F@#!GNxdx3$H?qV&d(DhgJdJgc57 zBe$$v)P{U&e#s>Xm^=BQs>w2YCl&hhO2?PoP7x8VS=C=JZUTR-pxuA;mQ=LiLUrKH z6m_7wyEnv=K!8F{tFF>R(n-RkpKT;)29iqHee@*HiSL}*sYL;p4xtTGPj|8x>q1na zRf^A|&v=!}@6gPD??Jm*yu&QX=)+dY$EXAK>^>r*@j2yZ-Tbmyz9hQN%}}U z`%LF*9kn0t$&#($dJoq3T$p!gaJ%LtMIB$%eY21w(eKY9#FKoS@1<7k$hj=8@5lap zuHLqA>dT2FD;+sCDN}Ok>xga2VQzF}$^F3gLGI|vW2_?U-njDNT#H!+61~9FTx}<{ z|F+BpmUc-Xd%nTQNFd5^wmwUSlV1p<%gig~@nm>j1WfX1^2E0ulvTUiRZUS4*gytM zfXBsnhv%@T^=Ee}Rv=Bg=nAtJyIed=rlHTI%VqC|F8{Sl{%gs1eG>67zd|F;Q&dzG z>8RvBc;6}egXSMqZn2}@a7lZaBFpHfCHoG4=kACt7AdzF^8VKK;*Lk6G9(;Um?!P3 zqV6sX|3*B)S@ukM!4Y+H2MjZJT%#Vgq8yYUwXh%!qQxI*j0>!k|`_}!FX5YuXydU@N{mWUYkNL(>v@{nPg*_V#^SHE!GnLC~wWGyhLTm8QC9dbk$9%q7i9Kc`J(YQoU$? zVaFS3H>q!^kLU5!Gn^CFcTm{Z~^S~$(K2ILL{T-a!v=V$*eXj>e*EF`F57?Gr;+cT$5r#yFe6( zASQa>XZ7Zd#OLveX&96-7BB4>$)D(P5cDwN|05wnGr&|Z+BEP_E*QwzN*id zVA)jqoy5?2-YeOWbCipC*R=$0W1pvAZ*iZmzM!Fha8 zFZV-TsyP`M6x!r{U(eN~=4quP!s!!{V`FqMn_zO~r^T<5IJ*7RLjK0}G8xJAa}Gkq zn`|qkTN(9E@+|*q{fdM$?p?=``RaRlbtkIk3=d}tey$nRx71Hb|CIi*t*87?aB&mVUQ&^|?EH3f&mJ(@C=5e3c{?*iYoP_M)z2S-eHMs{KdjXjboq19T2X; z@jR~{&!_)cVNR=dTiY%6a%^nR-ZqygYuF}5e1_-Sn;lx7on#wvCl)nEo@GXxMembI zPmG#*UV6)izKm1OrVH>E3Cj0I+{a`}ztb$F$SFjnej9A9uZP8|JE3~dU0K%Zei)wE z@#P7!WM*&JSV?4V^zhc%etUH&WL7+^XJmVC#H@>+4UfN;pg?98?O5X*;pjL#dD~xh zX7|BQAMeP$7pE^(CodqDn22Z6CJ(uef3qE*0ySIOcT)d@D*xBA2j#K~m5*C)HSKAX zH#pQ7O-~*#PZH#}LjHSQP~A&~e@G$k-b<WP*vLfP(!Rh{*%m_7Z2WE|}oz-T3#z zxSAC%Dr9g(^vWvqOY5dR1fBXjO%SvZ67<&E*k)jdD`6p&`U7ip{&j0Tj`FMFa#YgV z-(O*fF5j{p&inpVnKFl5l2P)9eC9ync_&CPQp%R;Q)m>z&t*m# zzSGi{Fj6s;HS`{l37vX^T~HPwjDGDO(Z8z44k)-4o$2Wl#k|@e&=vsYY=qNW zJT~E!GQRRjeyH9iO0eW|8<0z2+n||#((c$o)D8?hn08y!x-T?O+&tT9v#B08p~7D! z7L5GSzI@Gy&fKtTxuk!~08J^5R!;7CZr*i*y_+RTRdb;wsd33OIqzjLmF;9DW#7HP zO|B>JP%9D3*AH~is9!TiUK5MAIgw<-v;Cccy$2ReeJf*1KWk)`4j3&%oeL<%Rbp!D zT{}NbwkLWev;GMb(i&&0On<-d)$EtO?YFFZRyE}wcp^v7XB*q(eOHWv^SG`VP3Jg z-lSHx!)7+AtECpEyBQ~YY(BfcLji97pXG$f&dx4!C!Jq*t}b#Qp{464iRadN1Lcv% z#>0NvsRJeLBlP}Lm4o4aa^K`KTZOn>D!#I>abpBq#Bvg!m{bw^z%xd%_mceG>ges73~{tei40&7D+5=}_)e|EbFRGaV@JN!@FPnr22 z;B9j{4*h1zns@UM#ztss9u*J4>4#f?-sR%_*Tnh!e7<_0J^If_6OM%eILetU91lk5 z6=_H3X|}aE?m{tZE~c2q%`MkS>2>MOVY2;Odnu~IRYdJl)H$EQ!O@=(9&!XOK|o8x z4ay$zL&N{w#GH9jtP^>B!|p8dv`JoF?O3YP85Q0@^<>f}>PT`aMEWlEtlla4VxNwk z)-vK7rSh{_>RcWw`P@vT-todsZ01CK_ez;@&9iowkLK~$otQ9X_WfyJs{-N>Hkkgm zmT&Qg5h7g1_%2J%-|yQ>^%`Aqwf(Mg+qY6eqQBn9OiXb+^|3|i?Cjn!d`WT1Tn6Z)3 zl-BXA)+%4qI^VoOXM(-Y49jkZmR}&S-$aD$B#`3(js^tW@s9t=rIq>(YQMc?|B=g; z)Suf4Ip~K|XJv0F{{Y+#+Dkq;g*3F82;WN#j*|~{bT2t-Bd$<=-#B6F7n61PWs7s@ePhtx;Cav|3b zt1UCUSquyH_{pwQ!D^9UuzWyWQ7{KNDBRsJIh0qP2?&1y6&N5{aQ{VFk|JBv($e0P z-qruNv}8kwbS^z~l}4$1_IaQb+qpvJ$xj;^syuyr@45Mvcuy*!wBJHnd9ep3&@xyI zV>ttw*q%)~G6#O$e%H%K(Vq=Mr{B=#f{BITdVA@EG1g+_Pik}SaFez`jxgu zVP4V$hwVJZO35AhvD}FY3!M5?bNhy5F%S$3}D)NYzrXOE%ue?IM-*3ea<*B#pwbYT4Q2p+N7W1=- zE%m-;B{nrJl~f`0Kj$24!)9#G?|o?=*g_vs6ae%LW%CPL@jp43|M?lz640k<$sRGV`5y`s z(gS>U>LzdI9j>)+v^-mTFF4lU;b~Bn*LXtP>nr8LlB%V(F}~sX#Vr2I1qu~<7O?`! zcbX`tsfhykKjB@NMQ0zaT1s6bS1jU{5=Z6dj^RuT_4<~!)bDdzzxkj3mk{6bJk8_* zaL4dmO1G!nZg@G|&?Mq60q8>SUdq`W9PIRf%O}kRVMxtT{9fi7i&3Y~_1W33VcN)$ zADcNMY=1;N$egYT^tV&v3n48B@@4m~>QPf&BnqjR9b_2SL`Q~Y9oX`0dL*>I=g-%b z|2Wnm{4t!ffmdM0X4M_dicmzpU2R-;v(X%iLxl1ti~ljlz0jieEV$VvCxOtXXZowh zJ1KIb+&1T(cLk?#9{Hu^%Bi5Puvkyl(Q2n=>|;K1>W=~CQ3@)T4QpkHwT_<~YWyG` zZ&FY(GQCpy;EP+It6Q9hh?Zdu=4||?iv*VOvUu6GD0O$HpJl~0QcCixumMfyr)d1u zgA%Eah={CVyw2zGI(WNwyP6KwW}*<}jX(*47=i`20(}+%!Q?Ku*Ef!BClo}ltxkT- zDFUC-cyhEtP{io+G99_gWPo%6RAJKB?`$NlExL?T<1cW!=G^bU!=Tkc%qtLGY4SWs zT;BjDzGwNZx)_gWCje0aOtsr^DL#>!()joOpf%H2;&q_j`_>uZfV%K$f|?2b2>iPl z#VKQ~WjO%}4>%A&04cRQ8?V*Pb4r&L>N+%hgkUhezqgtG7h%ex5T4%!_b|61+h*FHjXFQgqgWQoq$>ItU?Eu@h2w#g_FVT7@U^ z-;8GorTEu4Ovr?IW>qz<(>baGk{!!b8JXM7>t{s;GPFpTu{? zXRl_zdZ`IziS@9tMDXiBhByHY0n@$7`EYIv67pC$0?(R-$)ped0Rk4|w|ULyaIKB7 z|L21pD zj9q!BoRg*f@mpYCL&t4B_M@MUR)gZ_FsD_55E1`0S+bra$A1Sc&DPdUxZyzv02UY6 zwFa6GO)ahOpF}dA8d0Sa$>o&&7cH1Z6iU=RalGvI8onC#&EDy7)ttRYqcVkotg0rv zMYx2|Vi=@J5C^87eU_M;0sUCaDkVuQq=ExHwp+zw!Ag32Y8J0T++hO3**8Uj`053) zm|q|(8y4DU_jx?IJz(>4#`x?i=WweLa;6+*8EwW)uKlr$De<#!fR>jzvOmHw zFof`+%oCTogQ9`hQYQbqQrkg-KNfQ-%RlMTlJ|OL@lF;+s&Fx|V^FYYb52^uNwLU5^vV_guX+;- ze?qbKK%!F<84;yu8saf;KG;wCCa*wMGg_}m)OBef<*DLDO zP1}T=ndUv$X$-FW#5+(%(_A3p>fD1j2(}Ve;aqFCUVV&7KL377WLO#OZW zhznOR0eyW22Z_*@xleeWg>?eh^@H^}wXul_!n%Wl8jU$H#XuiTn93j-mU0aOq15vR z-W=?~TnYm@6cEFwo2+hyu{jU4;~DPbRs=0Zo{P;XrdO=<2C%F4%E-+b^3FHE1%AAcM+LuLKo6Vs97m z^C5K$lV3J`wQzvcVbzx`@>KevRkTB&dNy2)1uZ4FS(khQ`JRw87U_{K=hEHU*%V90t*2O01bRhgz_Gm!1MfP|`HudV}H~-@W|LN^*aW1pEaX~mBYcQR$ ztk8IQ#f}jL0Q?R?-S8s>JNyksKxUXBnZW}At!Dvh!W)@>7rC5~e0{+Av_*h@V|Rqv zlG?%D52)3aL0Mi%X*aD(|<6jpxB%q)JG1Kjs2q_R?v;uW8BbDx3@G(QNpWpE82DgX=0lqKP6XjO8 zkpaOJ;MH}jiy9ahXtPg9xc{IaEit25KEK{}2bF`_g*@*G2}`vQea>Hlo` z_LYZ2u%A|~ov7ra5TH0;R8kPZ06_?Axt9Pzg%GoY^&|=_6c@H7;=;B(EA_bR&>L2j zn23|fan#CIPyaA2Qf5Gd4ssgXAc=<`0O`)@)IZB?nae7}t+``dS>ZQpstl`G{1=Y? zr;p}G6NXQVFy%Gs(67TBuelNp&KheP-nduzjjQt2zbfl+*|fJElC5ZSy|A}yabraX zTW)V+7mO^h<3d#yTsaF~Y}Rw0qwXqu9mhW$54f25Gcg*EvsZYk9_o#xa5we-@*Af? zW_3N82J7JoV6RdCJ!1F9jdzbuP5@QuuCK<8zrz?nxR6~HOyL@=@WpQ3x&0D)`Lk1zn%krYEUt-Vwu*--lQ5eA%F&V1GWSj#IFRZ zLDYzuYG`PP%jxC?!D!hcDX#bb{$C5gyLJqB47{xH00TKyt0#D9(>9{!K@~ zrGV@>+15O5(tuT87HxJNDXa45wV=g!MJz^mSfMTb`y=#_PrA^0ZPYB;E46f7*oO*{ zzQH7M`p8({q}d`(wcO_SQGa#DKEZeC_F1;EF*GP2yvfs0QPObf5?wC4beDX;Z$!ID z-rk?042^z!Bm9B6K1i-eqz+c$qTFfRkv{BWJEA+Dw?8H&s2Up~sAgJOcApLe41oJW z_zFyGFww)(mbKIW-0I-oheEiE*Yb~m`e3^I%JehnBm9qs{C~%5$uz^w3yGm4si!}q z3g_`;gLO=!9_5N?!j3+l8O` zSpjz4_df4&f|GPnXZB1MpJr8M_S&FLo{qU|z;TCM5gkDsmO71NK{R;I-Ims-C9xz* z&4A1E#I5e8+yhRY?vs8UAPBmXU1#bNF|kGQJ$GZxzU2K4VU}P7lgtb9M&dxC31H zF|x;u5U&8F8mcW_Gw*piN2Xj^h6M-8^-hQ*W}&G@DH!G8Mz|M7 z`Y+L}VL$s0N8&w`WXg$B4kVNRi*}vkwu}7sUIiCPpY9X3E@HhOID*eaI6LgT7KkB$ zfFtxwaBCBVwJc6q+FiK=#T}GzV4MIM3f~tZN@4jkrgdFx=PJrrYPCNWTbq4zYs&A* zc{)?hEavH_Mx6V#q3BRB=tie_GPid7q`7Crx(m|m`sjpNs(8P7lx9%+Da7ft@3|6# zV4(!*L`or|$Oj*o-#~WTazB#V>#@VrfHg^#Pra3Ic24gY8k$etuGxpgpYQf!trfrR zMX&lQ$((duxRku65EBlC{ts8x+!aWAj`?ze?xv`0eEt#ig`^LGJROO<{Wz;?EW46^@mz&{pqgM`V$K{}_<= z6T5lYKd+&bgAw@zM(met$E%@SheTDB>qLZuiNhHxl<4%3Oe^y&#V4WCS=bTL>E~|t zd(jeYXIoqNr3Mf7o>T0(&RT@k;>+NbdW>!(e=s%R@a!!1UGC{I78hN9IPntWzZutl zc0^iUzElxlBc2BCHRyi`p#gSPqUns6bs}{&ZUKRAt;sblem)(o4GUpOUf_$Ag`&ab zGE>vs@RxFUf#a5u{2pTmce2w8PAEk;1~KzF`J^W4qj55ogNNYc3V2*dx=)OJ(b9pN9V&pyakIUjF5aam#UQRxCrJ*(<08 z`+JibgY$jk(+7GM%W&(lp05&kDo~f3#7OY?t=y~UPQ~S})Q1n>`uOzPm`}-gTeUVM zdBrjibqC^rED07{Ac!(yh=v`8Q+~n$YvQ*TV(*`wmcz`sXCx~nd0ajS(D=8nf=K&e zt=8qLrOlN7K#CVGJwj*({L0&iJIL@(rUlOnEJAb8IXjYI94S?&ZyU9vS4>>v`FZmk z$ZH{q6ZFqJGIk5oJk)Pv5vT}(C{ZHd(Z5%eap9!xY1yOhqrX+9E_k;p*Tiz+A+c6SfzqT#Lo{^dabv2t)Pi@xjV}u>M@c$+BQ5^ilL(CM;N@}y2RqaOF{k#q!inCM78V; z%#0T`f$MpH&(pZke&j61Jw*30^7-QXio>D~0f}EKjLP z&JW=~M@utX3z-y`YxtVCdzFZnGA$xZYKD9}bJ{}~f325uMVm|PPA17p>-6)sdI`o_ zFRj`0)!7S{#)*}si|?7)RMGawAKl%4U|dW~Y-ArgZK-jLu9&f=zq}L7C72;;bW~&I z``uFIIg*>NEHWE&sL-K2FS;KUUrJ> zCl;TrF7;h+L)%VxpxWQamKDgnYg0ziKAyKSO!1VNaeM&IA5hUgZ}J0bfzO|awIIT3 z6(E&o^%A$OqR+%goXUAeCVytA^!;_G879ZOu1L{!X+`-UTe4=&y%Omp4Q@=J_I*>cjq7| zT|oAmZ@exWgU+E$HX(a^;_)uOQS1vSt;5fLsg{b&VZSz|vxcy4d2|89H1m6MaFGEv zR?f>k7a^`>8=R@D^wN8U@`$@wEtWCMG9t+a`t!q9Gg3nRJBNIcpt>Wc|I#}!3{SZJ zO#cY?GbZK76y)hvxT@1mzA(Bt@=;&Vb|yBKB*cf!$wb9WH}9Q-i?J&cYR)x|sc6#{ z6N2DJk%Skr;le1>3aaQ7nZ?n;rJloii*j2G3q2KN?Ehr!+q0Az)wDSz@4>OUZgoF*J1M_~YrG}dd{Vd~tykKad@7AEwrT)nCI4OGhR>17Q1H=oI zOURT1)49uJg2aKUEXK1PhcyX)hLQ$nh_+Mfu%zz_u zwSPbesW3Xoyv`y6Rc6Ikr~$a!A7@AAm5y@{3Mlt^iAhC|&qg`cv|o+#wmSnxKH*~8 zl&Z~Y^TzciD(tVv9~02#alx^a2=3-r)Va+%T$mlggA9&A@g=3rYB7wTd2B&c2b4C< z=+4@@(4~Gk(y!$|Bl6}y&v*ObWW#?|m$2fTz+ z&LFrxoLD>-&t&4%s$OczbV!M%B$N1NojYLbxSdk;LrW%^G&DV9AlA6ZJH71X#nIy; zzjvF`;Q?LfPyt^aQ3PEsw0CCPZ50-N?N-wtheCS@-7(Rmw=Xs1wI;hE!SILdB%aPHZWqfe&tSb*u z<4VlS`(^XO4*YXhqcd$$oy9gzQX%W7*N*-wCWOY%=%AU}$O_vbfF;cGbHmP0u4L+) z$mM*0QQkvX%>W&)cfzSR%PHDCB(!%llhO%^iq``O0x$mdH+SCN*)wQO2YMK~p-S@6 z*7HWYf{Q#r#eg$EO1|?~1xQ@VTY_wJJI<1_ReD+zZ7149E9@yx%byJ4RqYV69LoM#thcHe!xVpc9u63|G(yUOe=OLHxuU{H2hd8ZDasG?1BD z_4xGmnF5YZAN4K22nV_W>xGHV|2zWWiZ3jEh>Coy=E5Rg{_RG)3MF?DL{_kYg6RUj z@_{)sd*q9WLt9sOo)qi2q?dlJ3Jex+7dWq?R1215K5ov*4c6kwn6CP0m0f%yq8Dsy zUvK-xrE*Vr3%0?0^6!Zkf2tEw@$`we9y66T&-9BQjfo!mM*{`*xu+J&Av+6@z&)3xVn^$jiWQSb4Z5H-|KW?`Vr^VIC^BfE)Gby}G@>s&knE0Tpj39@utWd^)D^gUpePxq2sU#<7;lZR& z!2;!A(0U2M3|ht+=c2x$u7~&~cis}aO@ZGKX~_F&C%E3cJ+kAYvM-}x7<1<%Urqh3 zxw^G8+)2*FL`Xsbr+T=7k35+IX9cR_`BI`2M_A#g&ND-;r9r z7%0`#_2_=%_SRgy;>F?Cm&@rVO+xz54$41%=xBJ9I@{a!3#oViA0PJ2k<$g;?jqp}t(;ZsGF%x379)E2h2cWJb8yS#p{2IxAf$|dhhn2W|r}afy{HeHm4z%J- zJks1B5T!>3mq;ZSd=UW`Un_Q-1(6p2RK~PL9%hRaRTZted!^i<`uM00{1#UYPvZ90 zOmNlZ&4aDtrvpzEEP3!DEOTu<}z zP=+K07kH;fD}D%J%$E5oW`9T$bO_6f_dQL}AG((K-7JHpxIG9ezQV5boWa&LG!7>%8;#?0j?6S~fCu?SDXE*FbezA2vV zI@)42nL(kQIxkR&FezcpCg+UI_e(kKUD;7?`UmZs@)js&g)dcqawqc&Glu*7?>&B8 ztx}C~I+#+^I&MAwvu?%Xr8ci4|M<$xqsI1+=$XNF5G|H|oFh_Lz1L5KOxSKMJ%=PGTh+W0;H+mNQ` z+>49v`2#-Og^G@@7pLgZs7f3rG#Lc|`!LG9@!1kqA1H5|_nXFF)NF~ z^fjtk=d#OK_Z1EbqmTf>*IYp^l0^r`B55nP!adwNt{}gS(lYIU)q6SqdV4hypEoUUHzU2$psuRlx8tm7!@U0 zRk5bfUZ5?~19BsK*s<$ekOvqmIDUSh(8yL<3~Rt%D9&R1=F9ZE?W)m^^pp5VqBMEt zQNaVm?TBadz9COlY6Y{eB4pEkU%fyvvb|q>STMs7TumR!{Ov&Lfv1{6Xvnidz1KCH zb^CE+2X>;5P-SZK9X$tkwGS43-|xS}B|sE&3B*^z6Hiemcok4Gw7y&Y zxQ5cj+KR|M-wbqPAVt0&7O5+gm@P&%mESAOd|mrgg+|z2pPN_n&-qTA+V?a&6kETs zfh1#ki}d~aFyz*&sot^>AX3iz#@y5X8*O$~6w_Q9gZ%Y;3WQz?4#D#_qO|CLJwa0E zG2)sE{TRAN_}xO@nIqfq%Jmq|k8;K2Xwpb`x#H8U6H`3wW9eV6-FM|DWLICW-5}$E zX2c(TIdwSxTZ9x=sNzS_Qb7ztRID#^K^Wi1K7gLMH1;^Fs%%t6*b|ZYQ*O4j7$xhM z+%`~m71>1F?z1b1Ih!C@C0MN4wJi~jAxnH{ov4+eUNOGX--B9zxpJ@3hOOplok_6K zb^|v#3lE09Lor2$b}}{BpO0DVp{#d-(}7BLEOelW7?*(`@mMD|HK}~xyJzVpZW(>6 ztk9OB)G&dEat0grev&+ln;k7JMI*CvGJv z=`&m0n>S`atDH&}G1Xh62 zbY>$A85o0__UGBDDCkPl>Ssjq#Tbd)jlV0X^@-ne^vSgcKDJlqLJkWC2F^KoHFA^< zvPa3Ubl#z%wq0C4S5%75@yGR({fd`w`xN8Qy%CN6vlQQ^`1`(Zx3Z+{HR@#bF3F)_ z^pF=dS>MP&eH%qp7SK^D9V^|BxC(Y^bnsamdVFcDyo5B>km0gBs^S(&^=vSlu7KpY`33-78C% zQXpRBy}HCCc+Mc%5?sZEgaydbG7==X(;$zf=Cz>;V^i=lP~k*GfF=Wa_igpboq=AP zDjbc}jm4I$3yNO%+N+tR!Xf$QDd7GRi8}z-JFiEGwT>vEug97PPejWHDxANx&NPyH zh`Kh6d6|C@zWFA0MXUAH0M2FhA_rC)r$3~h{JPhPFCy!#@{jd$F~5}1fBJ$Fi#BX5 zK6&x&CykAEI)7h_b#857vF65mGDgA%s8biVs$(Ss3hl6mDbe}=$|A8?FwOzD8)6l2 z!n(RlQ*+35JP9Xv}BEZH27P0%iK?G z-~>IZO8+~vVWyOi50Y0uo5;{T$r*!MwoP^G zA6A3jhV2?3KM#72$BU~f(gcLpHBZ?Y;rsi_TxoR-TYQB0`G`F!Nt6dgc1c{&t8U|b zaX(90i8C%eyVmm!pBC(kZ=dpG7SC=?49QnNl#W@ywmxP!96pbiV4I0 zl^rC7Ds`iNb@BwbW=KNXtxeLm=s5Oyt9S*G^SzsIX; z3NCy7?pqo|zT&$s>MV4R5bLy}B2g8smlhO_qxn6F?F_Ph5A>BMv?w_Y&#L!tSZ|Eq zst}BScrwOawkRmbP`HunTg+~2Nb(z>s*Ik^?0an9Hf3&gP_T0LNp$es7Rb(k_lChn z8xJx54q6V26^Q1iW?RPRb+o@Ce)p0ne+Y1v!^V8SU&gbw?`eozW4>TDL=oAoT>N%d zhFkdaDxC!F9QdoicS35Bu+6gk@ld0%*is zT`kOCxdfg4r(b3D9&hW0+_SLmDL5a=FKUr5#IGAPampC1`~OEX7ONOjY? zS8cBQx$c_PLwS~^b*AN;&F=h@JYDP^RQQ(WliJJl{B_jPZ50wqH%mFXev4c+CJE*8 zopntsnogV9wA8<1+q+>%k50hRa(qopwn>M8`lw|NO67OyTr~mSHG)XQQM#>j(^!{K zxYE?I%G2E6*CbFY=`*a=84!O)8H z=8Xnz53kE_(cnbcXC~c>lW+#}ZLw?l{^eUOS!C4G+lvI!)_b6Mh6kgfIS#Ivs6`%uSF$`M)I>$R&woxzdl zBEY~N_&&_#CYnoR$eWUrEuQNE^U>RC#@q324llCbmVsY#cJ)lCbAz&JO*wA~Nv+>B;Srj$rl+>3H3;CcibO#z`qesp{GdZ z?+Cij!u9=*R^a92b>Eymt=A={>vy|okMoqv(iOH9?HCMp>M;*YvX&WLq$Yh9TrHYOma(`U)8TJgOkZKcigE$A~qvB7EcI62yZ)gMG-e0YR7(Hj97k_PeN+_%KQ z0RSrw%76I4vMc!K{}%m${T%Xx)otC0*h}63FFSA=MXAU@KS=cM*v!QE=4LVeb`HR!97lgjY+;prXz5`Ho&!cLvj>3I1il|@OaWj|K!5sbHS6C3&^ zKkrG!dBrf1hq?uho)jC%5{x?iVnO`^gv0b3i`5zW+_3~kLHhRB?yarj zUqGTBfc=1!XzauE4}Tz!a{tQ)H_LjGw@1Jo>|{hOGMJz*x*zi(FIQz8x`&~J9(2-w zw9R2XZShmFm#S{=ZM9HTfAYj~?)4bE5L0*zBmK}e_oi5C7>i1B)Exd_L*1rNW1?xp zc*CiDkL(rxBV&6tFinme&L5@4-(OF^@K|cMMvqIVGmy1=F`26A;l)m9%KoHt#2-5Dz!5*no zB~&hH93He6bRA+bwfU}Zba=FDXY5MN8p7XAz&mO4;htoDsDL>%;Ca3um9uiI*6=67 z?ZO#c>wxJh77$Ag#B7@;5RAQ#T#-1%bYiV4Xr~pI%?X8`^ACLdb;vJ6fcq=;Tl8;C1Ap6Y+8T^p> z|E2;@D~HZ;A|VaoFlW= zvc&{S?zn;vG)XH(s1HPr~#r%0ORuOw`hv(3ko|GR2&fYp8EhckG(-&c87cLhi4?Ht4KrOe!EgKj}Y} zH`|@+tLWUg#CPR_8UGupyC&g0A#kS-$;npUoV*1nx5hA-fg}$6MEBG3H##k0NJs)n zU!R#AVi(w{0Fui83ta?;@|%HJ>O#5WvD)F~N)=kjj-9AsvYD?fHiel;itYk@Eq#sR zOlQZ4{e!J7csefr`)e5zx5F@M^WS!Qs*&yFbJZ8a>%0R~pW45lHWTtK&0|e^eHzK= z=bkjzE3ssAAgz)2FD^ILqd{w1X($}sf+uO2*H;*6If;!GxI}cJLrRXv!Y!xBc5Hi z| zAYc+`qJU99Cl}Y4dm_*{LbyHsftP@bF`*1lI0Cr>Sm@{h-vtn`gSA6oVE^qs$TNy> zp955o{J$48s6$a*;RP9%uO3)N|MB0err%~o@f^QkN~AFU;Mk4fV(x{34rSFKXt7FH z8(5@`38+rQ6~Z<|TS`URHusrLl^ePSE@8KCmQ@ta?9p{i@0Mj>FC^O;eph2KAQ%;* zO5*Uq(43L~Xk?v^aFIPeO}v)-R>IV@&p zZcU;wD1;YYm1y5WNi0?tk5z>*WaQfC%I*h+4lVqLrR?WE^8G_=DTh4jmJUEp*N?kD z?!=Ul0Dk%LpREU))fRpEl0&=E;4PAflr36@Zzr!->U#tWEOsyQ)||?sz^@9(xjf9^ z|8gv!kAu5%6jrTT(@OiqDnN&doA&Q*-JH6i*Ujk2Y55h{E=#r6Yo$tBySy!jra2ux z7GgE{MnWPl&$R@Wsi2T7c3Bj7nSzZ`$>C_%HSk`b9=M`;<|cMoPtZS&TgfjT{>NQm9?lZ?Y z1SPuy5|6P;i|R(YSN}F%P5+*gEaqAG`L6^LMut!41s6wCR*oW1G2>J zn2%gxk3@l|8W@NW8s?xBG#1NmB%Yu$GrMJP`Y%~hDg3!DuWW88!iyP9DBL~PB?-?1 zvUsCPF>2aEUM}pnBv-xK?yDE(fd|2w95 ze!yZQX6N1ruSGx>ZOONSmmadRvi+B${v(*SBUC_}$-poCO&@(fPm+RnZ}tks@A$h5 z8;m9cOM4Hvhhj&yrFwEn+s6CR4=tRT2GbY6CRW3S&6F-TTr+IDg?D>tZn%rd^Za%7 zGx-E#oW{=TD;=~jRs~Kf*nU&y9~9)bnb~NSf95G1atz0lsVslVTST%_8MKC<~qb;K&vouP+g@&t$6fKM0(Mon{ z@oFT8QuF;p_=F^h_hV6k)ic=MfqRcBbptlG^j};4r3j*s8;K-z?P3Eog!4 zDO>2jtg+wx1aZQsJtpl&qpm_JlUDS#3x6@X^E+_^GzO13@OPx7b9C5zpOeR z4ZS+f%I$sfzSEBA6K~z?e8+z<6Le>5CGp@ZF~WgFfB6|#OW3hB^il3cgRu2|k5q{U zqhXottygr&8k}c+;S_JfkCM*X)$i74zvFXw!o`g7_y%o!P7pAJ$bKA*z_+cwy}_fK zXcB1}*R{z>X>d>((vN>72{#>Dve&gP&_xQpS&jvL0J&oYNQh;zs`m_9}Oy@={V-NlUTYP+zv5T?(LJs1cm zyREIlV4DQ2er#@U%YqHVgu)2?SJk1B!x+YT#2dEDwGqH@e?OQ}S%+J7ml^%f{^NAE!AL0uEWo(iZL0rOJU~@TY2l(q@0(OZTp_~gTAp2-?msy=+K^p zFya($6F^i1$O~}>2vh`Q!BR(tGNXN2lxWXuG#eUuP4W?RM4BF&P+i<2=)(a)N1fw% zM8CGc`=H<_9DFr#E1qW)v3-2YAfnUqrjQKC0Z!wt>EO4<+n+gT9UX>I^Ckuvt$c~Xmezp zl0wJZ%%-)52^4e-oUoLJ!&OlzHHs4Y+!gHV^+*Eg?Gt2c(1kd0bE!bPuB|1W`-JfM zdK z`ISz}+)5EUHs3a7HR+*$1#MQCX+ugx;aS0T>?L=K<$r}lU}NgG6RNJObyHDeot|hL z7<+f+N>gQZGhdBlj(X;p3jJwA9QV@u z5ol96uZ4&3WHm6!MBxcw@r&q{cvU@cSqcFMup1aEChxi4_Vp^$Lrh=dD>w4Iu||z0 zs;2eQ)|IWmyFC@MD4^41Ay6nAe0XS&&OiA=^&o$Ecxd3?dr6o;>0RC5@$jK`ZwMEK z{lL9->cHL5MEx=^;E!20Y0q=?&M)!dGHQm2a;g}%rq#D(t*zlhn6Txj2Sls6RXo$7 zFao>xlg$4aN&lgYBNj9h(IAAPr?%Z745<$KPQv&ZD(3%Vv2e_Rq$f{`i&QbZO)}yM z9ig2CS{KY+{mMCDX3(soT7A1|XsNz9NW16xz3TA_Kaj;MW$%jRxox8B6*iS%=9Mr! zuRc7=a2I-ayPZJxPL7{BLf-Lh^!h|6hfkcGT92aFgg;8}OetlG zpBL&Kowt{EB&mcG73&?)MC`VD9MO;R%E@;5d^M_6>Re4Ts@$1nAb%#Dtx`0-H)K}r zxMV0T4P-*X4=B-<5w=b5%p~SUM18dOg}4RP%0wt%WSzC z^q-Fuq^MIG8{oE&&75ve+^qXoNb8Ph{%9Gu`})LH`lFC~=Ee5t>XqMLA8|`>&f7g{zhh}-N#2J}&j#MNit4GrlI zTo8|=m0?`}Ybo%i^JXaXPX(VMt0OO|fns+@MoC32>8e{d7beOhzxfTJe+$~}*KQ>C z?v+l}q#{xX`U(=Bx}?S;F+IM+o+(Wj{Drz%8DWd$NbN-qqoVpie*;l6t314PC~d}c-AKuBs9wc3%7?i5@r@xlaUE#&%U!dJ95L{Bl?Z`H!nfSY(hEyRDqXKdKlA)^oA*T9F%8~6AZ)~6 zc>l|7vE%f5q-1qHuU!kq*B$5_924+Hr*vZ_Jc2Le!_=0>f%YF%NjFlhI%5pq*=9Sm}nZ3}vsW5?0 zlP;yOIzf>+r9x@H@gninb;X@sj&rDm#oJeRInhNG7(lhZ_b1y;h~iC2#heY3zQjt` zX8_9bqvPNc1tSL~5)+^5s9e-~`%mZV$Ebqup%*cPK?~uG`gM0P9v;h{&ecW8k&;Vp zkUEJoRJ$*x-qF5n%(FUYeCPCJL+<7lUbzJf19?Gjyf}cr=3sAc!JpM^$F^+m(Hm5H zmHt7u!L+|W6H_u^&ghq+K2)0W4#%Nd!uvjJ7~2nL{5ly$NkYbZ)`iEW8pnIst^(tE zu4yRTCM9;Xgy`tkW2Pc62-NAgRECWQsS2LpYqKD==OpZv8GUB3*-=p9InL zF8hk6f%ms}eZoum`qq^)sJFy%GhOm8kE$e5Fz4=-t(kp*IA#Zz^Vss+26p z|KYYCh$5TKDe?ojCwn%YK(QJ&D4L!_`CgeDtlW=lGW;Ammtcoa4xN3cb$D73Q9!0B zhYXF{i&OicF;#b%!s2h0U4{h3a89hdiNhwPjfeg6_#>}qsF9;UbEPq>p(NVW+3Dew z01_?e-g%J$G|45$9Blg~mt@gqaaL<~>(TSzpKP|WNi2jL^4KzwGx{QP5B!ZT%r2oA zolA3PJ^w?sbmV1=LWhJ7=;D{QuW=>Ml!;KJj4*ZN6D*2|qEfuWrzvrB&LS7|E4U3>mS3DV6ybGdpzb zluGV5efwx|GZi^ADaY6sVqWI3>rwim+*~n*Gddp9yGlLp`NI(+1evzwH>9#0r~fHd z1e3Igckt^K`g%4!0y8RnA=}{~Od4CbY_HU~1XDK(z%Dudv|iyPleeTg9{3F|J$X@H z+Dyww@%FdwT*bM2e(vTwS3b#*&khhxLDjpd(~3c6ZPrrX)FryjL`38$q7B)d6!i`@ zvi`NCRyWej%>dii8OjzAO2Br_*z!~4)10cUg3qD3xjAvz;!j)*QQ{y6>#XVzxA&{H zj4aKy>9}{lD`6(d7589ge380r}^g3;%ch8G|^d zwGmheoL*1EFDUyNjH?PS739K0tJj}ozf|M5Q5aFA+kh}C z;ONn6$044y4At#AJrHBRJBb?$^6kN3k;i|f5+TJ!oiyCnjO)-lU5>?`Kg+~?o9r^y zSNo!Z=tn_JGw$FoIS-bqKbFk~Bc6~{F!X(!gHP?b^0POi2hG?wE@uj6jqy*JeM0h) zJLwz>cFx1#UTOR}etM>tI1R%pM1R`#3$M|gmEc#_8TrDnrX!iNHJQJ(;32Z*Uy)aG zN$_3c9YfKNGnr5+o5$MZKAmi{)6X-hEK$nxEDhUoW#l|H7-t13j07Q~s_USH#%Uh9 z3dMcyyY1OKYlvna&8dr4H9ekrgZ8k@jjKDWvr>?ty*{+G<92($%zc!9aG^#06PZ3y zW$?=X;|*VPwcQ_6?NcLLU!8~kD?bu*71jmK*M@8lhOdMq&rHhO*^%6{9#kp=Y5ySM zdI(W~3#sBB@LMg_YQ{hO@MP8dQF)K)RWJ7h5a3wzXMxMQ{H~gv3OH`=tS`bZeruU| zM$UYE@`xH~NDi~(bp&I%d{qe9qrUNy*2=fzgWzQ*c0>w^a-D_Bkr$+F;qvpJY}z;O z22y#gbSuCUq+ul}zQup5I_dt~{q9KELF?zy;o)zyI}mX+0*pL`wRk{hBq}_FW2nX6 zLz{J&f+t$_s&WpFt&TZD+{t#j%aFg^Mk6imB=vZ9b03M!#z| zCF3lLSt^ul1=k9foGkjvsWj?vr`lVKuQ4bF*!++UHt%~60xhr8=BSjhB^N&)Pe;cy zCHBi%WEypP)XX*+JsG05SMD;7h1-d|TJDC$6EH(cw(YmJaSc-nG9y?N@I zU!5nNJ8&;rI%x3}FPqs9TzUfnSH3jIpkR~E~{_6<@T=aIcYO?H z;2S51LgxJB`*`c!p1SAC3O2V?hM!FWDe0RyJ5&WwtqZ~Ug5ZPq7k^x8^V?PiD$tFy zfQy9>o*gT?m1l(9?0O5rxnngTr97bCw`6>+=BO)1=TiD|w_$Tygnp>O>W4^RD#i-d7>mrQxjxfqs@ zP_0R$c^E}gAJ=lU?tgjN=T1Fl)BzrW0tf|3B3_G=AdISFL zEJKrXvwv{%>JHZ2)|RYNLU(p!0Qf+FRd_7ExP89;ZNh-DW-k!`w1>Iu&7L2oE*d2Z zL`))8G6s;+8}h3c-W(5p#A8nfY|7-uAJC2U&N+` z>n{EJDiO4sYP0aCdbRRFf;eZ3Pg1$W$ob$%F+tX0N{Q>|Qj++Xdifoc>f~qWC9^&( zNFUxw3eigspeVyTh?OhcH!Uk1{wPgrqp=wpFQ`vNCnE3^$n5MWX{1q{vHA?13{!bB z9zl|(JS6FL6)AA>zpW%gBcdQ1ul%*4kj0DJ%r|0(WsvdU-C4QHu&Hm)Wu|JjiNpBZ zPe*WM@D%50Gs`ce$HlycvL+gXKZD)>B2ZgXp(@S5OZ_MJtL ztV;_ALe8L|5$>a`$rk%4dB%Ua;}qS&mVB`>8UL>ZaB|j2g@Rc9E!9PE6KlLLw>Ye!MYz&FGf8cl(O0nk2`ri7|5o+V4S0ELDp3`7_)$NzYgm zj6jd7bp1daj;*xO;T&>Ld;ToJ0+f(gV#zi9AdfZ0sMjQ373wYRXK_rjF|X0_>8q=K z(P4bWU0cl#G&1v-!?w5nj3lm|FVS z?aUba02<}O;lW=wadtxVh<71>=0o8tE}{L419=s8qGi*Zc`2VulXpwuh(TYpeCC%h zq2p#jxTuQ-c&uL-1$8oJN=(W1M9TWAf5l#X!a+m+_n6r?!s9}-$9KrU!3Zcyk9X?p z!F&;D$U>q=V^KtViK~|WW0%2uMJ>PnPy>(5(XQ`_ zY^Xv?2_yXb9+hP7G_Ezhhf=9z~Lf`*c*%-`@>f?^iqfCBh>*a_EVs86p z`GG%+S7EY9D77i-Zu-vsMAMmwHoYBY%c_2%-pc(5UY(XVaVhPs21d0VS$L_WqR$q~ zQUf}p->O{HNqWPd=#Y^vYdtqP_UEanc(p<8WYj*~>x15T@#u98y<6GH8hCVVAecbd z0!Sone}y;pRm|abr%PM{MJm8Tv-IEVq?djSpb`>PpUs4Q4GFaOSefH;ZrWPm^9_pfvs_pJMTPv)PI_W5|TtQES^!muRGm)~pevF~5(>o_vI9mm>53v64Sp1-p( zk~4XCf9x*2a#%hriudwbtZsuAY9BF%A*zZu3Qx-Ig^Y!fjVre84;C z*#au|!PyGBgg><%)HHAl0D$vcrG#qgsGSg`SLK80Uj;iPCTlc9X`_O)3SQp?Hm8|0 z1(mkEO9Mr?0!dG6tzl|IPCutfi0>R}d{+l}{BJ7}^X04hSQ!f%YQxI8{|tvY2yg7G zJ<9pc(zm-`HSqYI7HX&dnBG#L5Z285am|r5=d$M?ZV-=`p{YgOb9taw!8p3*Oy`%% z#YvpoM@S1Tvz<-|?7q!XtwuUWWQMHV2-+@z25stB`IR+Uug2%a-gwrR$uN*kRn4I@ zI7&gGsb_(H+nz)&FTU~&WV$3P9T(mG9U z*|_T=+);#7NsH?>IHmwJ;O=#aUA^W08&1h$n(<%0I22y+gpcIwcOC9HiLh23va(yh zYQJ3dCpFzT2^CM3<1wb$`=pZ2eGd~?ok}XKp!u2+n^rWcHx!>_$~$3OEKzvX9JD{# zzAW310`DJZRk8=^K9SXr^^_2SQ{pv-wdO=pTL#f}l)S$v_1K8m_BZ6ej$h%|u;#0z zTT=U)SJ#-~e6I3Y(_bS4nZnKO?J2TfXtGu0fM5VBls)pX{*zH9Q*gJ*hM`tVUC-EI zmL7{aZX7852kt(>Lu)?hefniHzl}60j02_zQ!`}0thb4XPaNYnjD64m)4hcNdCOYq zwS*d%c-qSgaT0ZGrc^jzTwgt*)%|SAU?JL@jXFt5<9&#>>;hYo3YKWU==oT8UASO^WSmfNh00vLG{s~qk`$$krzs;PnE;cc)@rff@_t2{;SSkahFnY&0w62 zx&2e|?Nl1Rz8jG9@0tyE6(UQNy_ywSt>+(ykyqb5Pb90ZJB>Nexs|y~KWuE{BpMFS z?G=ip+qp<3;O8wY&MnEVzjAu64!45|--|O&F4ot-s3ll!Xn?Px#F!!`#6 z$}UuW<<7IdNwj@xvMQlBijFW??pj3siyul1sR+=fA+I^DH4+rl`tjoXW7+E|FwIipSUaHdkLGX3bTRVU$f_8cAgNwP+ zECv_uV1tTYpRwj1rG{{y$ry$A1A6<8)FeOaVu#miEBO8aA{fIS9`!0P18Im^kIEz- zCtDSCdGHHLGsh~Wl77i87SHm$LH?$=iZ(7HXvQSLC2rG~*gmMz^+*^|x>Y+0V!w=+ z$W&5la%2slupX@BckI`;^#g97_k#k=1vrp;5cL}+Tm!1a*WT-dtsMaG*lZ$lBTeNx zD@ou$YNriI4DE&sjXwYEuP9O>YEh97O=$VhH4%K<)tVBV z;G7)@K71eqNL-u9xaDm~KZOX$e%jDk!<=#tqLL9I(NW|4Z>`M0Bw7c1RF8C&6QSiH zf5IBh{e-hsmXhCwq`nZU!o{2#u%2a{?|ACML{549HXJk{%gYL#s~(hc)O+HjU{&WO z`DjVGc_M)I$O7xGUn#v+HmQ~q!uufpkvcUj!q)c9WJ&Itl`i8u9Ubv|Bs}T})F5Y< ztTiDAFVkZMiSh`&al#YgDtR27hL0>$)y)jWp5dDrtRah#Gap4#y#dTIRUwB5^Y%0( z&B^s)@kNQLoHDy6i z`!lb8r0@G06V|hi1Umy|5I~%pz)CgleOII95jM&hq1RtzAR` zPzDBYAtFu2P~B}aeFSDYByO;K>Y>bzj;DpiUK5hPEZ2PREu7hab3#mM??Aca`@00{ zRAaVwP3V%Wy%Xx;D^DY4HuNQ+uiWrH=E&c^_f>cPbmOAxm9F6jxPP3)7kFw~!t6L5 zHN^m-JdQDJls469=J|(}^TyD&Rro~L#uw#IX8otOFoLekB}b7$6l(%$>X%bW++4ahz{?DnC9Kfg6nDx-j#`q?Wc^;AfucS!K=&$QSr?p`DBE1Hi8{YyyRuqvh*;ujpOph7% zTsh{xig4%a0n&S_9b5M!-0YaP=v=;xSSgO!Z0zj@Jn%nBKwLpOJAo^NXm#1;y z83Dzup*^Nba4tq-u4ukiTKp3J#Uxab0hos-{RB%2)l(N2n5#Z5%Z_iKwQPB?7lcK! z7?YGcZ)bE~2&V=W44+V$dfyk%2fwZ5<$5+uS^<_iVb8V2>Bq+}lL>yETp$b(6)O}| zO#UUse1lPCE2M_qr6=idjvC_HS?_04#J8Pd;uyp2)h3Q-T^NOQfJxe^!SE`_q1b^zxo>~4Z-*cNdg+iTUX&fV! z_Z7Tk+|DkBrO!+4SD7^#GjJP8ZkmKA`7x=Im3&&uuhHS9DY4snruufpxfI)~!+XE3 ziM+*jwst8fMa+VJ=#4FV&*$-h67TjyCIR-aoOnW|e$jYDqG}H5*$2CI!2#IU7n-nD zyZo=t?QFKK1}wxFf0yD#(t>6_GB~VuxG8FCMpwlvS9m8j-eNME*hyGI`5V55IPOY2 z;oA&VBOna}n%bfBL964c{YbD;0R>Bj9igupAuv23o0{Qx#ZkbO7&C!R;G2we;p!1! znUb!KR>cHwPl4j6czSQ3x*muXGRKOA4~gClCyEUm0Zog58A#z4#3gF@#O*YgI5tU% zF!h0V{KaDxg{+Sk2w!;FH1p9zX*X(2`x-6N^;b|47nREBZRhhB{PecBC`QH$u!BJF zldI|}i6;wF($!_!O;65gMa=JmA<(zy`@fMg!{(XHms?b{@#f=Uc#2H8>;+4txuSw%p$VKC9S~k6qo9E+-~Ia#K46hN z0w#8S3$M6eXpO(z=q{BtBVc4y>&RwgV&%cddP$?f8)`a7K%=tmg+zSV=JZBAVXh$a zrCtOs%PZQN{JMQtfp!8Mg7R~)h7GaUU14k?Bd^f+R7+Y2Rfwz)}E4x<9G2zgdaN(r-J3G7+WYBjHWL40o}3 ziQcD19wS&EYm)5sB>t}3)5(~^eH#~!a>~Wz%}0Rt>|J(f^TZ7^KNoAm&11TmgQtJj zDQ7PQZ|LMN>s>~cHkNPFphqQOEE(mE6xcpOF;Zc3x%h0O{39dZO*ISSBbA=1|C+Do zD~ae&AwrC{swWhp>dny`kiy?}&!3<`s_JrYHT;La0r2_H5J0Kta@YG2fQa`W%14ev z;S^ZG7LkQmhT^wD@i{6;r12QfbP54xBbw`=v$7uhu589Y8QU`z2-fW%ztTC>*K~00 zqf%3GrXB9Q!cCWJ$_*(`7NTHe@MZd?v!;WcnfHrX@^#pN$BcQ<@Jl79D#&{?mzYQ5 z%<>xaT|@L%@seo_N^Ow;!4|h%)_rA%qhJcd7+Q+YIZH2n@$Epj*m%RRd^+<-*Hby% zB=#4)K^14K&N24sa_^ny?verHui!>6U@sZ_ik{uP6Fmso zrp!zqT9pB3c27}!mBnB62^I~o9G>@=$Ey~bVP_&lynQ~3yfH7TW}`0|(i;In&XE2VaVIUr!rJ60g@(xVamj=_vZw=bYtR z-6ivt7S0Ceifq?!OuXw$&_D}+wDJ5 z8P6zm`Xc4q#q?3FK_G{a0H+qgJ@EQ~;*-I_YnYmD zvNPH%=WSJE^3q&jC;3e1ARi|u( zc=haALQem(Ub>mdD_=}YOtV$$QRXwu37PpVl zocNdrzZPmFR`#?4T~=rR3SHUR$?5g=_wr&{eR}*?2LFxgK)wK|HXvL8%BdZECl3!M zpi$|c>N+W_*L(Z(=g-e?fx1hvujB%_f6ocvR+3>NE2GR*xalaCckVSKmm<7J9Z)FP&9BuG>EiN-S(@#qVH zuW0{V8t88UjUE9G*%E1q%+y#}Q`)dT+Xgi7!WZ-l7Q9Y!-Dlpo*GQIkIg@a?8E1nS z&l4}?D2VMli{?Q+rOb|gst8TSO14oN4$&&!P`srewT9q zc`3d=&r$77(c`&{hGUIg72qE3!-O6HVn0UzxkYGJ2_#Lys5KZ* zRkUC`0zx1x{trU=Kim^QRtvTb>lq*k9&D-aJRn|aaMGD6TlJ?Z@FkGw9Esaf$Zc}vQ_)Wi(bK_9vdppVfs-?x@hVxM ze-;RF2i~ z1@A?5-EMH4RvL-@I#Qt-|6YQBQ7WU(&B_1zH)Y0unoO04ZXeqC1AfZ*E%3^M`41>) z0O9N!C?DRtK5$ z$!OYd?2})mj_o}3W}B}WUwwe%s1hQnyGywfGKb z?;ul@B6#D~h_`Kc^v)Q)mipdPUn}B=(7NZl`ugh-f*i7Q^4N_HQ}mO>8)c+5mb z&Mn7RHH}Wzm2l>+=`;I=iOB5M@(po{6y2Lsv@D3}lfY(IPI!o&H{|_RBI+ox^>eMp z;*Qj{-@T(nku)Nvai<(%8kDX=Dj6V7F@Jf9lTtOslYe~#PS~=&wo$t`1F**haXVYf ztsdY&Qz-OP%3^7GJ_`p!&_IA)T_S9m^Bn1TlG=U$gqrsHS_5?vu7qS=ucFQV5bCayexqU)Bb zCtEx+vcMLiDtoLQ{T4ZNN*uhbu1CmeMO;@$q;R+c`_Oe)DryQh!|UeD(7T=L<*+cf z?~S5tJ$6yfl)?_Vm}ucmiI(?A1>`b^ce7rPtzSRu$+Uv8AGC^xPyJ@=L#CecyyvrS z?LXH@dug{}Xp{k!ce5hdY4zq3WN3O7vjoVr5F;6*d7f&Tw)aKNKah-zdNNA8G#|20 zTM)D|(uOYK8e3=H&iE|Ge#%v~3qP_s5&!zoup<+W;VWDvqdp^;ck13gnXs(};V zn7ujI&+D|)7})ju5-Q_5EGGu;m(;5~mBVjecW5gw%$|jIl$>GVlW7Uvl3tmLh*{Tk zr5V5L+vc%}m0%}3q>Iq*6_9>W&tBf(&C(YWALGMvvC5BQiY-dNX&s+znK7~B;VQ;? zH^Zg(>i@L>6vv`5*0<+`D?Ru@^(sZX^3|5?sxxYjLT{-ef7ZmMj_zOF9-_y=RF%Eg zr+>^SQS64lKT2QQz)VPDf?=))c&@!@QI_ z$QXV-LRKc1cqhsWX}H`Bym$b_GB_jlzvsGTVL%d1VLWmbr%E{!g5qFZ(K1e*N-~Ne zkZrd^NuH{?j;9tHdJ%GZd=V*iUL_b3+F(m!b~N~EjyC{7IBRV4^3r|7b6!eZF&nli zYc!s>BW-Z)h`u2cyhE0Nl?%JfprZm5&+=q{TTu^f?W=O~Kg|G_2Y5pY7<T!vr+6Cz#F7bS_74;UkP3$Z|FhW|JhPrJs$aM6U6*}bA}->H zl_wnp4l#V3LWU@fA6qC>OXOJ13c1?&77rTeRs@P;h(G842OjRcO_)J^*He0#B%1Ck41xCdw`=u+aT z#6%+-yN~(^Axh$M2#@T(Q&aUJ)^{_u z61&Mb9G!vKP~x%ZEZqcQ)2g{-Gp~yv{-ZayUcU35MN3-b4RL34^q~KLWyEd>?+0q@9PRA7O&`q89VQ&2> z;Xc&kKF7GxEGYrVF`FrSd%^td{l}TcuiVgltL6%4aotX!%lbzp0>BR3L$JH2n(W~D zve5p^)br+{-qd&?-~_b2YO=k^>RAKc{kWFxN>BcVc{vy>t@aHl{fZZCTg+`792|l# zrYPAV_7ZBhf8Oqj=Qj^Tp|U*(=>> z8PU}3V7~!z`Od(6m%w|-k>5D;5l|#);Bk=iQw6=Nf}13t!22HYs{<)^ur}q1v3is+ z@S-7Fa`L6ZnY$8Ad4*7znX>M9$#)7K>PNJ=Xwb}ZUTS}toEPiHmtqYjlzJB*%8HRr zs~CBqqG;$VVWy6nBo$04kji(6htHZDhwKs&66Wyd4?O>Iw@i#pv1~?hr31zWyiV*B ztA6imsMY^DGXE^4sA-#Tu8u6`RZc#L@UUF^U3;NUkY6Sh>g?o1^N;KYqe*jXE9mXE zZ)uW{^sKSFY2Sz|xA{M<^xpy`3J4!8gtA+vRdr})SN?~luYij3`?{u6N?=Gyr9+VJ zkWT4NQKUPhLn-N&4h5vUhmh_D0qKzLuJ6w8|GjI?l5vS^%{=$sbI;jl?|q)*8YK;G zN(*7z=$cm9@R7@dV%n|wp(_Z?aT)|rJ^-veuMRT?BhI$t#Y{+6??SHvO5ezuHySjd z9qwIxHiyX~iYU6^6J7vyKuP>lMwy z*W_esm$;j2ad{iF@wQxSveF|*No8ykHYKK7--PW?N-vx?j_qW|^69IKbX@|e z?ZK(@U$@FqclNSTA1XS)z`I5ra>b^*sPy{NssR$O5K|Hd9qGD(qv8Thqdv!$rIQxN zW29d6X*jJa^Ow9V*9N&!$ln*|2qk(sH$Bm~6ePuvQ?p}vUG|s~} zh?93GLHm_jA4-=0NA&IzDjgsz?irY+F=1JgNEXNZ0re80>Dk75PWwheHdSGEua=fn zCNCDSs9_ihkjDuLtbF=Hd7hO3tU+1yW`z2hle#AS*iOmYyC{vTGX;@0s1LF6G;8ys zab**2&r>3Y|KxBL(|!46nP+>UZEe>hAdsrKv9`9>pRzVN>=yaU!jRY$mRLgwr%v8F z?87%}42;7c-)$`2_-~uRqXiJ5D(F7{(+2kiPMmKzKzB}PF7b7&Oh48SJpFd}X;I@& zJ`;zwfhxt@2PpWIgP^zaEJPBd(qu^fuPpDPIIB(26~Hk7M#Uww*8NpOjIqZCaE)fV z!hA{|UdKsBv1gFZDij#ZP+X z>vImFwi)5XrttY53Z`}{ub%lh%MJ)yRAM>hJqzE!(M5poy>R7;()l_=+(;aFId@!| zCf2v`?l-AQp-S~17bkqLN^-0Y$3lE5Bls&^fAo*DOE}Ga?DnEX6S-<#%z2h=%08nq zHY*Q4o^cNRD@Nss{z9K@Fc;hmm8nzQI6{I;7Dka5lOm-hLFVXv<-y@RXq0^ksX_-3idc9M2>Y&gew2-wb#+5+s2bp zcbJk%d{K5zMheiRgwXjoa+-bG$E=`}bm-prNjQucZiw9h}cF*e`(@>ppG)8DTc6|mNR`>`yhXN^XG5wNUYV)<MRi0bK+HaBvwo&j=!+K|GI#J_A`2fV^S+H-NH(7!TSzJDlQ#zmA+c z>h_Y&`s;67rTBi1)Y2zN4tQJ%mzUox;oyDOJn#Q?TU)D@57ka+D9YUzFt*bsCjxXR zkmfa8CylI4B41RKi!w_$=#NqhN452i?Ug+0BOdJ?lF47EBVmj9-v1+@-2baccyFfVv@C%I3`IYB8UbvZD;~5=0onvBzyc`s^{-zN z9b^QY9?#%Lg>@{LxinU={s2l=;E@}qjvMd&vh>xzPe8#a*s$zOVG}Tp!Lc-sq#&D( zfxbCYJ9l--xIgn$Db#oft#K5N&Jn98Je}~=-#o>8E46)-vId3`z}hz;MX0x5-qLCk zJN3Cf76)R?P$8SYpF!b3D*}#QXejN)>k*&MYAGAdFTb{b3oVCciPqGrzJF6TLY;i} zibndlCtGg5YTYEw2~0m6JRddea|3!GPph(7Yocqio|viAymUQdG-Tx339$@M;p+3m zgo~8rfE?7fA@N1I_F1Z=3+eglf^f+}^#xriy}5zIA~CaZ%yCA(&%XZ>;;BK-livu# ztFYD?plaa-wH}zm7}@t=QIc>cw$!3dP(iS#gYiqAUWKB$?+p?w1DGBU>pOs%vGv>- zSLb1jo~J9HZwY+0cK0rtz?lT65ukP(p!-)=UJeWt25ora!2=j@YV@WdSTl?v^~Nzr z$7~Jdi^jo4p;8iK`k=d2%G_&XW)_H8ar(XU;v=)rKtcK0ouwZ(B$ZQUySC<2hn(@c zegBPhZg&%fI*tRR$G|5oUuFVy~F8G>|aSg!rq4#QOYJva1*QF?Ke=IDEhlPJ$Jd7Q6f z-*LZg%9BH6E6s&a_{Wl(64#}H>aQ ziBSg<=nYt7nB^xxu~p*0-XtO-0!*k4P@s>Dj#|`y=38!)(y*Ii{7%e?pkV-y! z?mM=s-9|vBaMQUh$WPo}mI5_*a&40ygTheWkOTeU#b@Q$O030YdDy=OM*;h%9~}I3 z%uG2T2T?1ZHQaxJYn?Rc!nC7Kp!p-q9sAdFi?D2SUD2o)A!8$o^Hmeg(N#M_5lO4K z^O}g(8=$P|Frfn9#;&#F0eAe94_PUqB}tcFi1#wj5pVrKQRKzz!)ya3f}Y;jy(v#A zRq5KQLXZk(CCjYmzpqXt3(Yt%knLI0eE(bx#<5x~uvBjo3d6U%N59`s>rm@BIOd8~m zf*fC1L*|7inDWYB)K2WF^JL=!@7f&~fe|aLsvLkChu~1=gC8cZ=Wu0BcDBqlL6YRm zz1d_^`H@p%)B?l~a2006%^h83^dfuNRa{8-KCImCP`2dNXRRDv+?skJ43rTnDow#r z+oKLLbzj}cycELud9I@La;K`Rha=$>7d}6+H%0Z=nM&=H{@V!OS@&hqH#2--gN{TJ z>t|P>fP$W0Tv~lF()*(MpY!ikRgm4#qL!DJgPE!FOD&$XfZm&t8BEL8)Jelcq z83jAXUT>w=9pKeqrL6_Gcv#C{bA8HgY{Pwsd3$N^=~o2YVlUoS96=4H1l9$WER4l$;Oa<|JJ?FJ7V7@lB9@SU zxwX>_?xoJrDweBXNCfp8te*`dTsVcgzO;U4wxkwJ{Mm8)K!=J+)hOKo0Un-1;I(uE z<%|`#dms`fGO)skEZ=l$q}HHO$?px&YHU#yvCIuXCTA#~r&TC_T12_s{|p)Vb?B8u zV<1IQPf;B!L^AR*2 zbOr|;LBqKRLg|?PU4|+1_r0EG>bPGWq4Qqw?_d>llqjjXUlS{hSSEjsSRi)37s$k4 zjN0kTEhVKeYGN7aaC9wJuP$80l2J36VyOSu$M|FwA;%Q%J(n!)lJ0PStjj&1+zHXG zvbBdOxBU{U_FNtxl{{H{xYF}qraNW2ztx*IqV^P~Ryzw%OkKt2iE>@~>W+Zmp$sDN z0YQW8|t&_r+ncQP_Zq6U=^7H{a|jylCn(<|bW zHv*!@S=;;=f%$alE{$fvaPb0AZ;)8@ze@p`F$r|By>~yxqUHEu~fZMj2K@_FVtNo#NrlU z&h_j7Q`46>rjCklC9xxbKem7;25tr(g?dHsH)3LtKmo3#$8vJHQ9QUY7Z(@#8qs>g zME~UG;{TBj@kW0uW7YCC7gG{1c!J65hV2&XjKM%NM^Qx2p|t7z z_u^OO2 z0QI8B~jKZ}Jya_WREDXy(YVziYhQV#&?`3^Oi@JkB)>juyA+IqA8NvWBvL)E*pTN z8eP`Gq?=>GvL_zZi^YF$=BUawoS4s*DgK@KcAf!ry0;8di=*BS(*{nL1p+{IAjGoo zVhQYhwdNHjl(DW>AE}}FA=agp_^cP0MgaJ!sj9>J$2laCGhW@YN@gG8^CT>=tq zy7+$S)|6)f+!USo1A(4cJL>|;L4#|Uq`wm1S%14r@cWzPLZuopcYGmkJ)%Nw)KGfP z{ZJOYc$_#+`X;CLrK^Y%NeGA9^!H*ILCGj(`wHkGKvD5q676b`X%t#TYe)xc*q-eN z(ysz&9q=rOp6Pg{{Bw+*P?j3de`U7w<9v_lbe40PXU3n&A=E-3hm>GvPjldDA=t>g zVkxN4#7W!B&78&TMXyR~&>NR$*uqOb2Yo2Gn8$F&Y{{I&&wvEId1W6Y=HF*JKa)<; zrys+W_GxkF9HbEoCWMj1mxL;T4#r|acaPfFa9quzm#EC#P){!Vg#wImi&KSHug`h; zr)m)}T|uJBGWeb|m9HF2;m@$bacFR&8fJRdXdc|CDGP`g-~q#$BwVC&pk2)}n6FiA z%V3~0<_gDw6&__Aw~9U`+9kg!9kZxW$9ql+XpDmKP8AZ*q=y+)jaZ z2Uw)0u&fTu;?ykIQFL-@WD4zcXI5@i>y<)Y%BY*hV$BDBXf+>ZB>#w#so848o}yi1 z!&ot3c7eRV-c!pm2oM4oBMh@oKiFTTqi%bmYE$W*Z1{?5eLQb(*Fr2shENTrvDGPMVCk;s+1Maa3Nw#VwW&H3j{)0tN0aJJdIN= zvsp@k=yoHzhsiGQKw0huV>4N5sZ*w1&jG{WgmD=qD;`J^N9=HDpGT4(B~8s2$de@F zgpBL0EJl{p>*z1cH4N8VzguQYg>ZK6vKNn+zz}0+Bvb;IL2F6oDGtjo3(p^Y1}KGI zsbVu|?9&bStX7YTfCAbcdeb8ujjwZDD*o?vSWtEz&6<$l@sfwok|pN(BmlqxT@yrY zX+5;2LfVpuzW6!*!e)Cr(@|_;k&=%kB4KUj9kPEAEdC;v;JXm#R9Zh=M&_xKNO(Hl zb@lw@&RXF&elRRudpZ$^OTx z2OA=#0PSW%Xce!C-75Fyl^L08Y7bDswkYpi+#+^#%xyh>-wvPayh(rOMx$hUQWr2)V?IiF(Y4|-=;2IY zE2@QLKAHqy-GOTr!)~w%&!Eu@rx38RcWVzVf7+_i8K2OSRw%54P%`5b-&gMGeX5^O zd1Y*NoJg2j0e_mw_pO7lQ-|7+PIpoaos1J)=E>JS5tg`mk+ z9a+(h`5sA#6IdWsPf+!sAP7pxuA2B!aj$g4i-!hPR&n-G=;VmyH`yNZF0DQu(9)Uh z=$b3n+ZVR&`r19%)(Y2$JuZakG`ik;vr6-AD7{I7%HERVsaG7gl0|+6cuqY^b_FL1RsOk4bgiRL z=MHda{CviKqTjpQI_$RUigQL{-?7fhz!G$e<}8%9c8{x9e>TO>)8=0&ZgS2t$P-0s ze~X62+Si3-w*0<<^~)<)(@;E~N|eQ(2PVPux`A?51}JCp$+?`aSaDZQ^*l#@g6PrJ z$RwTTEhj$1ya0yvnftO2Jph7fXbua-m^0=OV#9OS*;JbK4+b&A*g~S8h1GJ;Yf{SC zG76+aA*b$@*GV_NMHUtF55PVJ9QK|f#uh25f+K4|A672<+fb|;!4|HRMPLrhmWeXp z3_u{jr8V@s*i8hr^v&ghJz!`zs%tjbcl_1Z7_SaE1J(&6P1L7jA;90QI{(ZWU`AVK zjh;(Fy>}*6U$4%7GDuQSe9JP`MY4GRgYS~{TKI34#9s2_2vBU(Oc#$ZWkriA$gyh~ z(M4WojwDAj&V0%_@U)YEmsH{jKoVP<#6ZGW_~#=9*IL{}JJ24VP{a-3#aA?K1w!cJ zcUMsP!x+(kOhU7X71;DtFeL7YM@kDlD$9z#Xw+%?ZlL)0R8#8%^Mdc4)`0oV-Ih|s z%6V+I=V1H6~pwqDYTjuHQ&vo;Rf%$lPP? zVFeQ+`L=+x4_st`N(m#F|5t)L7s#!MpwZCH@c9C{M%N`8W67cjl$B8c_hmsp{CLS_ z-TcyRsY>F2q}h+27mS=A!qNQou4@)UC9fQoZv|i3Ka?fb+d0$qG~8=ZE}?iY6I+0a z1w4BIQ36p22s|ylOh4DgHnMY!V$+d zK%u)bso9F);7Jqxd5*i!mB$c~MY#D<^`>@pN3Gs)MvH$QYyIkuW{u%ReI*M-MB#&c zCbYUW_1XB%&KK0tPxZd{QH-RJ)3{g7692pa|7xgv3G8sYJ^WizN#@@o-AN15%nJ~+ zx1e$BUji6MYsUWPIxLVli&Pjr4nzR37l0kPEg85W$qrMFb64O@uP;j)g7Vv)0hJeI zyr8}ZX)s710qDRVjf+eEy=3JnHD>CqQRvHx1PV%$6bbJwyhF+Lz_W3S8I!o*w}(=_ z@f6WbM?b{yDTMq^?(z1@bMC#5^qg_~u!e4QlRVEbBd2X8M$x@@$AI7325?h6+(@q4 zo2lD#k#+hmOtuc5!4`jHcG8@EJkP{ zuc#Dm1M7Hjd!&|=TDLsy zYb(Y?4Tcl#tI`;%j`dL*9G3;1<$&dSS!^w%L2~!cih+`$8pXhDW$ywM+YQ9{S~0U@ zoqDeN4t_HjZ?Ys1oFwp306hdmkY^}CSb+#egzG`98MFV#1vv5eO|u4Z7kG}Hk2c^> zYlQc$W^xB;4U@nP3(hLwE!ovKJEpS?tkU=N4)b5&Onlk$?0}Q82?&^=|0Rz(Dd5bvpwpY3)Fo1lJFmi?n0+?$P(0 zu>jKmPYMvsEcnQ^XbPYN8zkE7FQm4xl}5fSvD47L&^H$SSp^Xf4XvAjBUT56yCAF5 z2FC{y`G#*)!g;o%arNl`$Z>lX-PLn;GO$bpa=KtMo8rvR+fG8q+FEXx_A z1QDDNgTY8rH~1z#R)CL+ani}WrBG2ZRqOniYT7A*xeDdMj18K(vq*rSiVXVM({5{n zhYbC!bE7|N{=l^k%Y@6d&e>&llAC z-RPeOTu&~nD91#Kcy!vWlF@ozpgkPs45CU6CSSEO_03eF?Hs2}ng#=l{6nN#a6N;| zc|-@HldP(+k8T`HTW&Slpyt=nf~y%yL+F!Zcmk4m;D_L@u^$ioA*2O9kl%IbS={)@ z>oHKeoTt3jvbecS%#=dAo;XIfXI87@yukKM37&||$jqguG!{PF8tvc!8(qE1yI0uG z{QhSQ+3j7vo^(mrg8c6R9L$)^e?BEb%=kmO1u>nBFR`CQT(S>LVogRvX?pSWmW9~I zeDzk>?+m2rs6i=@IZ$YB;9v~@2cB2y9RAxIG*+z&S%Y=4_>ye#>($3lE=Q&MO8dbC zk=CyZspY!C8LnA!i3#>AWL^S3t!;c?-j9#=WDW*Rxkzl}+r4pnvvngm%AC{Uy^QP= ze7031_CC8j;Myc8Df-#eMdfZ*xX@mmuN$x-7#@xU_G2&|0?>hg;Ps(ew+MecQ&6pU zAALcJ#7VNi@iysBD$_o!)*IX)VDp23_#PKY<3p}-mIQrO5s}V&>F|&BD(qtxO32^X zYUd@X_P{g;5GH-7_~O+6AYQT>6u4z3Z2vM*Qy;{&uKtx^9qS~Meu&@9;4Z)LGX__4 zQ~PB_q5ZSl%k(!5kvWB?Dx#>wU#c`OfLCVjY4uD)-4*OBya7OZ6Lm4kHpa&q zx<`Ju^jVqd?7`b&X4Ir*<-B}ULJB#;q2ALN(D2n3c=;{ed_FE>hPm z>S*3v6|i|^2O2zNNVnd|USnV0z8x}>1#LJ_q3&rpis;8!`kWLk=mmb;-2)VcWiGXP z(XXFezebPp$yjkJ!4H2W3)QfxesO9yEGswI8}&1nLA>**yROLcRg)$EjVu!`#r`2( zRVy@I!X_UVKF8&Fp~~c^4z7}Um(Pf8wycs#8AovP-vdR}u` zaz7d5*x+(yOJT*Q2zfdBPb9DsOpD*Vywn0g9T59Lrd4GmN@48XNjDG|O0N-;aN>Ha z91^KP`z=$yGLsG9>ewNN8azItZ&fRXOl2}@;_MN z*)7z*F_KqWS5|e;)BoJxnM2TOk|J`hOWIVz84Zp?lHaMYm{%#tlF3mN52pcw^V>|U zzbe#};pYcB-x+swDNwZZI53T^NC5xU{2RcDVGs~`tl{dQVq7H@;-$@OHS;i+o=;-a zinfx9yP6~SJikEYM+Gz}+OYogBqvmJD%o!LPIcu3`$|xx)PDhG)?oroS-E4T0MxmQ zuUV02nDqaA{#R3@HsV>a8Qem*>Unle$dN_G&Z+v$%<7Aw55y@-xq!!Bc z;2TO%IdIr)ze$+(v6KfBJ-^|I_O)#*^%GRA}SaHh=y^S3rpC)7vo?8T_SuQjDIqB3#5 ztT`_F^wMHToP4%etGMxLxy|orizJ8p9X4tE^2}#DTip}9)%&O)v%62M ze`^6V836bO1_na7GpB3KjK2gv7r>t_T7K5ilt%!m_5eFQ>0-9C6UKN6{o%0vV3&@9ASNMh{^e8hL%?3I-`P=&gpCpu$c6-q^znIpCB>%) zBDLsBO#J=nxWnV5pjQ&|idIb`|59F)yCaN4M*$7J)}>OX4^-BhptA)UT#JlUAV~#) zN@n`j>hH2IuQGVO(%NqapUk~YS{zug@f>?sa?9qHa?vqu!~ruQ7Ox_Ay@ur6kdD5A zJwRhM(1x^S>qxQA25SMk z-!gC247{Za{51mmboCV|8g{eO+iAXpz zuiRm`Jnq6--*$M%V(eU0S%-K zXg`67Nlwv`<4F3J9aWR_t_Tg?a;91;M+JG{OnIEMJ9t!Ra~#zF`#>!K!9OctlL~wT`9<8lVf1*_}`Yt=t+HPXqf6 zfpQ!hJpX#s_zz8OoTjLqVe3wyoCTa+Aj*T`y-w!VSWDYSzt-LURi@6$Z`1OZT+S}j zNWE5+8dye+zZRZtwZ_bmtY8SC- zByt9%=NMd?pdJKIvx;%0)PGQS^q110+=!vb?5&{61A3ijHV(L4%w`$o&!1bzShMNiFMJnDw^}* z3`k9jMdnJF+=bg<@*thxB{Ld6-b~Y<9hXJNMsO?{ zjTH+kT)!+t-w7nBDXD_;Yj&n~KByimbNf_hz@zVr@YEyq4@%E`{~$v<>rA8 zyTHeGsY6g@Yo3gRy4`4a=t}f95p2b#i{b~>27O$;0kkkAH^!bG2u(cLx%FikiK zv_a}fO$LFpveS-!rHRBr3`Vj2T_1sQCgbL5kD&oZ0J!&w|f5z^0Sjb{&ayJg$5 zO2Iof@#yf(6lja#jqG>3g->ivA2wd8mWXsa-+-os-ht`S=lTWLC1v)5_k`ApdP(#6 z%EukM^aW6L@3QJ|lzH7UYtCmMXAF*C50^97M)>C2P|K8Z&&P=_G8zU#M&+C0MBXl@Sy5>yFUi_)k+=X>9Z3mWV?BG^LLW z+fM`xAZT<^kso>J`3RzH56O?m2gp1jc_wLniG=o*NXH__{|E__f&Gc8WP<;_At zvVVmH-4xlRU68aj{23Y1NAx)Z;T>=R0`M@5j0AQH7%D(^VtcyPVd0HEclq5Yxa4`| z!qtz#boSQAkWkKzua9Kbye%@0T`i$}Dmu6$x5v>bc2L_4)+CWZCQucJNIG1zM2^0= zD?5YIy@5QJ@M>0@JVEzlJOY|@WRgwyb4YZ;?FOs4)s5MeT3BUDh)l_o&P@7=$3D_u zVzt|kc+56dq$2F0x%m7nTYv3lrG93FB^&;n8Wj`GuyAxd$_P@4o*;KZoG4NWri^<~1tB>Ri&p*`clbKFVFf2uliZ zdaPxB!T=y4WV}2v|nl?sy0B6nGzA zdrd5xta|fHwZbRV^?vG{`t9D?_df_3aVl26fJA+v7#~rr+bXA8gA4zh1zWX}g^+-&nA3bEPj7ORX3%n35p#GG_LaGHu1| zgr~r}<~g2P;eT#nY7v3R7ueuGfyUVgp2;5Y>E36qsEC%PJ$wJgfDAh%%DZTqA__i3 zk&X?Q5t9P~PZ%*4CGa(23isycU9FVE$;I3~IZdCpEMby*C{D3ri`I{P(+kICp>6yq z^BY|s`Hk^~kF7?6PHI_&fGL;b-~R%;2TW>)rCC6D!!l^_EZtn~bZ~9VVhi60+sx;L zKe|7K!vu)!z(2!$v6`CVfQ=7Lw7&YEH2l%^dY%d$Cv;!yPCYM({+=hpjI^w=sgGl^ zxO6QIuDSnMc8ku&aPjU(sR71gMo&Vl{f6j(RBcnDljQiI@?1a5!2}AfA`5v|{ePZ= zdLKI631|xNnADlzHxxpU3v_hBXak=-&Jz_0e*}$U;f4#naFpbC=41#7Kc4A^YYy;E z?*NCIdL=}F@J5k?B+8Cj3<`;*p;1nKKkJ7*!a_raiEodOmKYlZC(-di%+wax(d}Kp zlx(0qq9XdB0V6=(g!o;f-gLA3Qo~41HawdTcUPx>-Ix2z{T{5{Z&3pc!T3uUlME0c zbB&(vw?$!8dQkkGPHP+YANgLv#{Iyo_P2R%4(gW&VBjYpY&b)f!ITLCK<3}7rR#;} zxGoo*C%xk4B6*Xl2s5fZ;>sH3U2|yf&Z^G?R`|d+0l>F=+OVNTzYxl?blx}kE*h_V zZvyw4!iGA`0u+V+r^-gh4jU+Y-*$ChiTQdY35R>=N0hT(@K($(lTzLaGe3sBO16yt zF;>6cX6_`LcFb?)D=w*Uj90a0qON~#sN0I@xAHws!HoDAG}T!ybg;D_D|lecvSo|m$>=x7}^A_<$gC`-mfz9lcQ z4RjYkJNa~-@=51EjU&773Fgh8QC~Wk!Uv$FuwEoc13@GO8XGV?2$qI`X(fli1LI~q z+V`byQa`MnF7V=J6~~W3TU#5(fd{4g>B91(mhVNeaX&0XFZ*1<<|%B;9be2E4-O9x z_dwn2q_d;E=VhNUzLznQc*(tdaoZ7&Wk%Vd<`~S}%U}uosbDZNO#_ygcK47g_asHD{X$NIK-(qT45S^wt^6W2`m_X(+tS z=Wa!jp*NxBj(3)l;y@54?>{p8%WK!WxR*$%GD;j}>Y!u&BPa(!ZU{)d;7LR^td^RN zz7U$JW2AjS6BdW6iBDyLp2qn}BftmWh?HaEj(CMOw~~j}O%*7`q|pxG2gVkt2PNX^ zEwY6taiUf{u=%Etn}!&vXcjWOPwRA3*B#B1iW08WGL=p|`tjF0nd(LK*w3NUACfxX z5qeCRy~19=3Rkpj@-BKRsH^@#{3$1`t+e(i<7uQy5jdlR$wsSH(OfAj{+xp|whulR zfrA72wZxJQGq#-&O4;y)Z0DX0^}8NdHNRW?Ey2i*=<}xSGJH%Lc&2`_tU0Q^c~^Emo#W7pBkbT zp@&+iP}5~Z=vgiZ2{1>CMnrZTTu8-0#WvFIi}^xeE(|6M0I6l2T)@goya$U4x7M$B zMz$PlzCU`E!ok26sN_t^Tzz#}$d;(_ABp$%bQtCpTci zkb;yd@;g5X{{1{-qH&Ax7M$`ykjJzPJIs@AS$cSeU)LYrJxiLIx9s15KI*@fS*cz7 zhaOdhVKtrMJ{v@B|KKALHr*ld;`Q`I7AKr!CNT$lBmp%mp{HzoN?_V|?I8hjNu$n} zKVJvOta0GWQwA~{tky>|^_a0>DKu92(q_l|CPzze@R+WNcNtNgzk!~LIgaV00@Z_X zwkYthhTWg{8}y>FqBrs2kJ~)aIDoAEw-7)w9%Xrb*nC9ZA7CF*iggSneue^@rU7o@ zc;B`oAzi=__XbSmC4kNZhWTFob$0@ye9#0KNvs6Unt&nsUnz~m#ylS>3?H705#g2D z0u&Y|agy&R$^Jb)F2!2#?I3L+1hw)5T#EK}48<*CDE^XfClc8ep|SDof;Lyqs`}VP zZOUoy!IlE;h43Ig?dD%xPqSektr#gv&lR#W4g{%X6|6Cc+M`Y$ zZBnHr*C3SLVd_xRX2iy6(ypWSR{ z4Z`Z=LF30w;{kTR8-@Rdn!tK-n}h6a34l=|{kF^Y6QB#*#RgyX0xzQXZ^1bO9!rBD zg2M2e9eU7g2P8QVDFJH==725aeRy>A|5XxTB|Ez3#=>KMZ2VyGnz@qv%-HGq?g;Ba z#J)TL6{XH+Wr51W6c{1~kT@c-N4-a0=^wYMg$=H-ksCkg*j&5SXUh}NAx5J1)sClu za`72kD@YAZcDfH2O#O3O)itKz=#cxp>nGK>N6<-~pYS?N6-A2_k~45s()J|kwLDI) z>t^6H;DxvV{rEXOFkcqg!VEHRnUj@M`j{!{WIWYGB3Y+ zLxN|skt*gN3q8(4l#2Xqo4qg*WjMiecg@&qJsTeEYMH!jmR@C#k)1ZW4W|8o)~^}K zuPbXN370hQmT$wM{lep}%k0Z@i5V$_)(+fWFsf<18zo6Z*S>RBraVndiW@ z&A!>uTAP3qy6NQE-4r;~iqdPaY@MLBNI^B<8qn#2i$sHVbab>1lG$!hAx6UT+@7mt zzi0qB(#H3%h(4~1I=H!gRW1l}5r}+v@aYequ&Pxp)zUsKQZHnML_F^`t<*8$BL^Y9 zq$Yk(9J7@t3UL;*1521rZv_M2+a5E|`il|kkh-}9CLzk_SCX$&6VY`|Q; z5~4sI2-nJ!-tk%rUOr7|?(*y*BU^iKpe0*}9%jXT>GJG`c}iyw=kCHc1hP)zTBW`b zFoS-$>V@0Bfgal()IPEoug~YM5NEOC!1eE>PtDW5I~h_yI#!MRgzk^H80(?+{l5!~ zWc$P?3kEC@;z;SfO{c2fy)(Fm$EE#LC{~5l?1p}HmeulKq<>9$VEnF;r05lQ=bP_d z8bulsKh(sT5}#)#z-OdKfhYPT*ZFhp8 z)W1jceb_TzU;P~-TQKQyb@&2slp1D$hne@?L4BbH6Zo1bquc*n1pZy!A&7xnat(Cw zE$bHm%aq0glpyDyTcZ(5)UpexvU|UpcQ&xjcL%;*`6|xuNhPBTA3U71XSn=5?74`~ z(XRWso{2FDFHF8)@)`7&-^b@ry-lXK3cUC}ae>PnOLd&_s!y8zyHf&uVKq92_)wENC*8<5+ALJ2myGZgH+DY565O_eJ-E2Ey&?2nYwBNOC z!Lgy#d#3=2o9j>OUR3T5&(MMZ!B4b_(YG0sS>N5@YkFTXvCNd)cw z(58;H??`?5{LAN#@Sn1VHU!x1o~?vBdn}HRM$foL%w3=mqQZ@j9^@)H4xafOv;CY* zO3U|Ss|pPJ5LowrTmXO9r%F^@LmUIt$-2uB*R2j-t$f#7iT5=%bZJzGrGzzf8LnM; z={~mOoitAcaKM2!S~@S_sO^cO?Pl2C!O=0`_issHZzAMzEVgExo}Mn-6Zdg6b9FpV z1}q&|C@`21yfF)K^7IVbaR~=4PJ#%j{euJaLUC<$l;r94PK|sd2DF5KANlM|JIxJx zKI5CZ|Fsvi`TNgpA>k8}D}dcoJSH?>B{o$JfX=kp<;bZG29JK-2PWdhsh;f>=XO_b zd@}N>x&?P=NPx?2J^N!IEAOE}FTBKB%XV5@gMWapC>!GTuZ3wM@VE|N){H zj)t^jKLeEYoN$jLCZqDN+@wC2k1cbSCl6XA$iD(x5N`HU+fA#!+5AW2{V3PbABJ%_ zF3ov@w;JdCWxvzr+H_D$`TjAb4}W;a0@2RI5C{;H z-d#A9t*7Tgk^CSaf~VFb^m_#Zyb$(U`5>+C*NKZEC3PL+3o}KDck9+q*m(>AY~co4 z5D~gL3$|S=$+^Wwt`XCDIV$Kv*q)bTWDuL^r^RGGvhU?084m#uKgF`-4Rz}+19*Rl zXt%OqnN8GgEV#2cZy{jqpOu}~EWmSrZZuHFj^1>-c{gvs`cEy?)a%@1_w%(rYR0p` zViuB%&o2O?(^LI%^cd8QtH;NO!B-Wf4MwPuhD<5+To1BpeDM9Xuv> zcJ}e3tM2C?Ia5tQef|J+4Z7yx-82|q5Wws7MhJ`uZ~Dsyyb{i@K=&cot}f&uO_8o| z`;1bz#X-cyO5fL7PHDl=n(Z)^_^Od%m}gr%2=#n=mJ|;|qUO+~jub=8jfJbBhks3A zB8lI7Inhz(D&DrjrKGzE7umpcVrXKlloNA>aJh&>88wQq2Ac8da0r2@LHzTJ$_IA3^BeR>F(~1IbhNA zaPqHE$qPN*oPK1He-Gk=bamd^5V6_nTl*PzS_t{V+`mIh_Zm5eeunw?h*4*D2RD(#93vwJOHJdQx75?$Y3WQ; zg;@M^8PI-l9pR5UI0+#qC9mGY_3x5BLFRWse`jhEfFjgK{HdPSb{e_i3J#Oy?Qkhh zA+~wwx+<|{41wzOfnxwYn}7RZW6KfZNv;?nW#gr!wwH~e5msWy%*1i+Q zn|{8PuLsR2q`)F5+#0)78yGjqAOvTk27W)gAqU4}jp8p?cj}#B)8BLTIt=MqS6|F!TGi|jBY#c#3-_X+1b#lTH6&0mg zqyZ;3@f+%W^PJrn`WCEU^Iz%azde>*&vRTs^79&a#e5&88`$K8ks}U(-V+dl_=JQA z+#_zhqx#vnSjDJU!E4-%d9@nr9!V9mivk^{r&e#mLj+i(6 z%Nvz8QvzE0-~~V8!q1|h|Iso6FKH9s>Gvg0a<=XAIE23GiPXUnUGbeB&11Q^#GTUa zN5jq2KQF(3%z`7UKY)y#!oP7VpKMP?4r952!t1LLz~S*=C!tTT=PnR)OP4)$x6J7f z{Nb9fGj?Q@7sJ`BFMDHU`^S;WUyvfYyD5@!(iP55iL?uBNwWj-?4YCD1mtEoT7$D) z{Yg>!+s4Z~I>vr}M}0=dEC+m_m)8S2#y`|PNv(FeZJgaCo-LyGEYw*$EM3?b5NR?g zp8M#3_1*3X`nDu3W}Zw?&}KSxqcnBoB@))&BKP1pc<%Gou>;#MTAISA{j0)jr3sO{ z$Dc(3@gp(@3ekK=GLgcwtap~YA{gpgbB?7~4d&~5#Ys75iHZ5x7;2=)4#TdCP5<1n z40IX6Bl{*z3;%}8S#b}Qv&+lNt5B=hl8Y3iL)VXYN5I(yn5)AZq;gDRnDLRX0aWkz z(o*L8HGro8w2@C#RHl6PH;~VRp+Vi=-(ANQPrxxfT5A1`BYN*2ACC{L0L+Cb@&F+% zT!$if=)A)^ZyXJv`$%UXIo2!vYQRQ+2muibT-}yDX|Us7q|xauLPVuVng7Q|>wb#0 zu;YneRPIuZnWdXB)7!NRKJvl~q~N3tHPi-gS_)Ww|J^zQT4X!P;ItMAX~Nh=my*m- z-QKA|ndbKz{csEEhMv;YX6t)fk|r#O&A3DrU6xaKo&FmOwy*ODS+}0E%~0Q9^n9pS z*=6NYp=*7AD*lz>!-MVTp2kaEGQx23jIq>aFqiB&>Ct zy_?|YY!=5wLZI`-XhP)m&3u3|-WGj3vPI(M3Z)>t3KfsfW7+o6`g)mZ?{@{Sd#O0K zzW%La)pm0gQ!wBa#Ju45SR z)HB(1>hP^pwWycR#@E|oS685yM|lGde?W-Tv#7rscqgPZ7iM97Q__!VXM8r$>` zw&UFb8tbmLs6ZrpE*;#YjD*0`>!2MA;jLjv)Y)KO=bm+*JXT8 zm6)nfL_Rk~N9@kDLP4938_P7(NWrF`O1)E@Va*P+VG2!l+HD?LhiLDiofB|&2x>OY zt$Hz?KXSqmTad-6;JJ!S3#{d;|9~OR(rn3+;8m(6S*zC#?qIO`nZjOmor~&Yz{woW zpI#+1TZ1V_ue9vCm>mLJEMV3GB(*E&=Nf^5&t1lb+(oi_!GDC_9SREh+!73KK4&*- zX{UTVMuq(*i1;Ag%C*_kA=$6SP9j3;kk?a>+5{knB@-YDvHN3*$EX$6JU3Bo*8JDR z6?cSy5I0uveyoVQ5<*h5w92h#-*Eq~Hk!FNW$Wh;wSN8jI$~;v+*IuU$JBd=Q~m#c zz{lPro2)W3PDW-3CD|Dtnc1>eR_3viErlXGNjTXv96KQ^o5)CICwtw`^ZniTb=}wH z@=wy~oY(s~9_y7@L1=BJ{GQ&o`Yu1oy_fitmh$L&iql&kHnk+|JW)^iV;8Alh{7Z1 zD;7seS8fLVHE*t6ud1csPVfH8gK>|L{P84c>5IFnDGoReJex;f=l{Ej@ewgiNo>2V zk*r>Lb?UvDXN+%G$J9Q$3aQ|C{+DvLp+MUEavKFgP>yS9c`ra7#xmO~;|hdU(I~8g zG%tkFSHGty+-gVBaG+RLPlpGCyim9O48`yI(IusbiLJ@)Uh6%$5*5t-wmeWb-eB_P z@stSf)qXo3bWK!}<4E|!NmkyNAD4XRO_-hskqbIj7(K(N9}u{uDYzE7)5e*UC zh5Y%uv_IcSSuf;(T6@J6FAWJDy8Lv|Nbke*)$2Me`jg!|jXVe%e5HzM? zxX^f28qDs(2cLJ}$SQ*<0!Ld%rz;pAp%8S40(@WD3o7dH@N@j_H=4ZC($W~1zdbI_ zgIU?wa1hvscy%ym>1cNqSKAR4Yts=THpiv)E==%e5F`lAL~tfozDihv{+=Q$n%-B| zIXBd%BHW=p)brhfXt_Kv-kc*-gxwS0i0yg=svEAsLQvuh|B4u_;NDeA=Sb@nB5P!? zjk@rj@?;`RD^N-;SD4-s{-bHJn&~I+PSEwfGAIqtirmoX^1l#P$y#5I*xLc28kK%e zH}*VFE)#jz#(zxMXkYuZ>J;ZL_t|#FNDQei_O503>Smx-d`rp4X_|z<;y&SlY-8U9 zr#KmV8vvjM+i+^^{u|li|5LgbY~%U6b~nq@F)L&??5f|LzZ;ixVt*NGeh;@4I7;cV zuCT6gq}RbXy`e~tBJ3R-6ggl>`7gKr%i^96rH4y|qF{swEg=U|`o(mVR8%{MJ2nu507gZ*phIe?BVe%X`VVzJO3q1YW_%qM zU4xSUuzv&-7}RYT9?kR+_dI0E&T`;`ym_+&pn1{Ef&0jGI2^Y9RFsq+-rkW00#RUn zK=lB2?CJ0StVky(U$1!K?_Zjw9j4IJC61k?q+4kGs%2@|JLyQHQkkga$ZIfwM;L}b z^b*o9e);XT6hq_swux-kKIw0a&pJWb*}t&Mp4Aj;)mdw}9%$L4gyfi^vyo}qujvGW zh`J``Fy0y7hc@y7{obt9b9Y-hRu{Ybhqk6p(811gxdm!DyCieREe}W0eoH82tKfT$ zhU-s$;ND!X(K;BZ-#Woixz<=l`EZE1O~f~Ak2rrZVQ?i?pKj?q8efV}buCJK{R8)^ z87A|5z*z{0oCTN|y}sje6lKlXx|lgn*RCXPIxu>h9=7}ZlB~-@cQ5ZSb3HR;H8Atc zfoDi?m1}-Du&{>TXJbX71?P}SXlEm)#fUXSl2AH-DDCaf-QsT_?7ym7wY!fTxAT8s z%d97wjH&AX!uwX(y8X+^Hx3Ikt+1^uAN+uveNVP>%goIyp4CD~j-MhZ`?)7YiX{Y8 zq>ULtG9M(CK-&*jaBjmzX1$e4KmP0S%;o(eL1lvaX|ydHB~xNP-Zq6=8_>%f{IRfrfXxWnGK^guultnxY?gjd5I=-maw7_34CsR&z)A3Qk zjaaq8XXVY4Jny@QUrvj)M-q_9;kTtmX+zCvFk`Tcb}gU3CVa!&!Yn>Y<0g6OyQ|~D zHRN#&^?M;U2V?wgU&QYE%1vDAUqmhH?ou;4?4(v)J5qcuQf`}7vsrS}N&e(3MBbe! zCYCpvyAHpdh$Z~v(j=7?p{01ODQ)8zRs-Bf+S9!*{+-l5$xHtTQSb!elstL*%lA&| z$B#2x#(3%ba*5*OGl=iCYEmTqL8R2bDE+6AWn`MBq$lV)U3a<)WL6nfz3f4B2YCLO z)eA?|F}iGhnO4NM(A zzxBIq4~s`7e?DT{NJ{dRnPBM5>wY*U*C;uJzOM%&H)@Mh~U)z z`#?Z0%&Dum`mU#*3ZKknoPtJ}ofwIovRwG7VF$+c89+OrqFV&*5Nyu3COOrRF8mSk zKRpx$kOQDzd<$z+V}_omt?*bPWLCTYK`~#{9-;v;T+Em4m@Q(sT z+n|#huB6hpB8GSts9HCpQmFTQ|5DimQ9m$203myLd4)r|a9qsQ`72x{!UV)2Mnhq! zOCAJzSVH0!nn240RkzDV__aa-9mW4+>U`gkJ|F!%uy)-iN+M7vGl#Z+adMRH+2dki zly`%yzRnv3$1nqNR=SkMf1{)swGU_R=2&jx-Vqw5i}pMqX+Um&`OlZ;r#Ee^$s@Jn zjJMhtcOL4lr24PrBDtR*&fudwHmK<8U%X_Nu=ga`mtJW=^>Nn67J|)soM2}%RDfEq zm=0zacry^6A8rI(Uk^<9;Ad(%t@C~Vh!dQQupLuTW<8U zR&C#EEzPRSY)0IdMmFDO)pwh2HixfDed08#^0r(_5gSfdn!fB2IC#(1A!*00yHs@3 zF6$zBGfJJGy0e{xs2-I!WycAK|1sCnU2B)%^?gxsuT+Dx*H#QxqpO{xBPhpv#n;%A zdaz|Uj`6w(d(s084yiM~boJf%0{~9}m73m=gg8ER1`=E*Kr7$@h2ERIkfxI@*VffV z07LN3fYkg#?+ZR4H&O`Rnjzul1z451zy)rG)DSQfHgcYzznjTxnWqr>7zofgSc?UB-5L4;c4g0sk=e0VV1JRf29J9ri00dA6+|fMi2n z_$y6bU=V3k??f2j8yWE_y|=D-22}y9nB(lzi&3suFmI`NDBM8h>_btxX7b4XM-%Is z)+_fMOr5J&@O4a&;oVO?TZnpGnO`(2jj-;+rWW>8S%0?rd1(%g_J-e}3@NRDO`5Ex zCDrKWul+;(pXCQ;gI!aZ!F!F0OpJ;&=|NjvIHURKvQf&DIx4exGVjReXZw36Xm?4? zZQn4kS`4Kfcwk z#p6`!>(=(%cGq;ZfW&5@bnve%9S^ZvV*{Tf<4nHRrZA$sx98H{rmWq`IMEE-3gKd- zyD&k@c-bv=v6cPoxW#bXmU$$qyDr4VsX>}vl*_EFte{G@ZZKO+3O(h56P?z_1Lx#_3b;tGtKHtgLkvvS;Q(Yo?G{8~ zCwRb1pu<;~A$bJVV1#RH!*Qx%5lAHk+!IDSP8|7?F@b<)cCfn|v5PpYddt$=i@FS2 zHIaCE1Ur_HG-e?lq%pv%J&om$*pqfZp93WV=ZeuPD47s%0HAw%w!D1jm{Jju%31H_ z3bPY#<2H4HDQIU^sqx{Zh%uTJychO7%tVc~wS^(XA(I%l*Gqxv&C6ZY5`4kW+fowv z-o}5+G!hFFRu^T7-NSJXNZzXnQ&m%UwvwepK_GA@LFZYIiIjaZ{;K{@xm z2lJnz?W^$#TvA=sGxwl;{>1U8gRYsi!sMZp?QQQAqji3*%3I8)O54!dx2y~3-%2-l zZxLBer0GlmeM`pt^2o4iavIw^%T zD@V{VEM58OJD;`$a}>*(o`Jb8ZqT>j9D=Bi=jAo2FPVqv7;{Mi2WvYHK5d22VcPwQ z2Wkd?FFda{$PN8opqhjo)q!_VlY0i;>P>cbY$hc4bb8CG@Ir`63BJHU&xz|{H>HRvFezI+KRc-py-?WS-^YIii^wA3V{qHL7L0X*#p3Ne z;M^%A-m+P6q+&HN))mwbUcixu$KA08R&`o~LQL;KMo1#q#V~kjTK7>%k!ro6aG@Ek zyjn;)lmG3_f^8jcu$p7>pNG|e>)uG&ugZquF-AT&D1SclK zB7!R3xn1ngj2d5X9Htdpo&t&pawnyc!ad&MuFpQ*zxIptu07GV0AMyv)x&Z7sLuUX z4PpSz+%6IqUhn#BG5XNd^z!=gn*{w9o$b2EFX)o3WsXBlRlmtI{;q8pulY!Bam#Gb zRU@qMjqF2V)L=bP8**mh zs`ja?v_lHBu!pQbzQX9XzwBy}1b@ModOu@Gkc1+sTIaY>XutHsxz2NuCmKyEJ`9vWqXenSz;15AnjR{)0x$ix3|`wEn0 z;8O8<*^+t$8Cb>xIO9usmB_v-D5;S>w`y#eBFucvV!UYiBZks z?gpFLW620*n!m;tlL~)jnm0QTZ1ZOI=#B6o@O}QRYm4Nst&Wf-;5)zOzn2$5=JYgYbBYUZ zBJK^jE3694*Q7TfzRa|j%uB}Nm8;78son}cHt@2e8+HZX>XVfREN|h-3cixvqhJmo_z@sK_B%88-qvPc=t0tvM)@VsrI0@_j(y^ zksl~IR7fV#p3l5!r{126yu4njedeO)!BtAhk^AGAttb5IhZgCL9Z{2(fPalwU%Xwi z0)mp{71&31x)?1iLqjb_@Ex4RHDXcowGWT*CtC zE#aKWxjBQ`@^~JFzdsn3EN0~EFX1Rw7~SE0q0~ChSdKs$S;7g}5yc{U0o1lul8GQ^ zJRhoVw0uKi;(h<5>lFub z{meI$ACWb(7x}Y42yGw`6WHz|+0h($@V_DlLWq)&Ey}QqtgP_B89*?^x4})Gc9eR> zFO8miDC{16GD_G+XyM8l{Us@FIeRF+jSTC{Hr;`WwU7Jt&Z@W3pz*Bc}&qmMto_gq5N!oFGxtE!XM}ChEby9 z-%q=$9Owudb(G59aHo~fma=cV6iqU_PuM`R^tzgz^Skw|-FSLVTodKC~pMC`u7_ z+YBKPVU+LK2UffQj)xy;AT|Yn0HE8eZ>zE}J;q%8>+p!eLk_6x6OeeuBx^rN>aq@- za(Sv=h`TVYj3ReHrgykV!W2R1LGT6||C6*_VkvWW8pCA!o7WC$Ifu6Z=KUSLr#qo& z0B5GmkT#)Ni>;*Qx2=OCk0NIjE_WDBI9%}H2Uw9@;68ci#X;zGQQ6PZ7G`D(|0j$P zo6piFf)3LiD#G-PhqNrXa%x?D|8n=nLI8Q3r?TY$0rkh*P10P8FMs1cZLnWMMZEt1 zv;fsl(?hE?DZE53KmSP45>SIG3Z0SE=OpDCu&s~eJjvoEV97t;D}MctzZ|Z2n+)ch zj0;?bP_97Z z!u1-h)alvDBgl>Wm%XRID0s_H-D`7p__(^b{j`?$$t3|?i6plZmoO677@T@qo5@L5 zUBl%yy)+6E8v*m^+Xf6I!E*|!mQUp#8>U+N@3(?RaR?ioWlmH3AD>hrd6H`J=C=^?`?UvlL<} zV``hHT=ESB)IP<)9Da6oMju%>=eD%IP7WLiRMx}oA9#S}iLz3vB=aP<`TadQRo%fq zBo`KX)f?%!B~1wcJubpi!|J}yyDEWHbp+=)?zhC@4`Dyg$?JO+-)PPpgXXTHbU_|r z-Hc_~uRQ_^2YPk$Ln`1_t#_#L!|IcM9TndHsQ=MxzL2w5{tnqO3o8!V+6005{+%5T ze?2_IIQN98j&;QL35E5ld6+J)(~-g$K=Tps{KcH}-#OTW3^>-4qWP^QozP?2hoAhz z;6mvIkdZP`MvJk#G}UT?;3h@s-F^O2{ArCsJ=j6omy1RnAIXZzQ+_Hk=Pn&L+!`=R z9?sRB-HN1JHH&?0IQ95;`e0y&5 z^_r=fD*rv%pJ>Swe_e~#fo755BU=%XPsD=+_-1VCe<(ruA%qUgb7`4j?aA> zFOyoI6Y;?FNP27}mmtEJDt-AoZ*aT@zSKRKFriBWzXp5jA!GqXwdFN9*UfZ+LZADA zFU%Sx5g<>5wNnEzjD;qbC1^^el*If^_-k#HydMx{+lpu}e4$wc9aH2Z3J;OHPZ>OX z=86r}5fmm&FgrTx3;3)|x7{eVC8VOF0um4iL(ia~PuA~x6bs{tluPJqdouo2C=d>E zFZD${b$u(L1@uIPk(sAm-WYyFFU~}}NKabuNQKh>As(I6*n0POnS_#(avKEZzILBr z;0ZbWL3Db!lmyZ&y~Is@YWziB?~o86qB%1Z_n#|96TX2FroLek;qTkhPFV*F*%{BJ z40Ahf*GxhQ|7?e{r}kH?Z^ogcoy~gqh7Tn4sR_T;BVcCSm`|JXOi-Dv@D$Z)Iezi- z@?FotO|3tqYdUXspJW|(AYO3O5mMhtz04EDORsIdpv8*0Lhe0N%gGd7-|7`QuY%AC zXPt9n3_a?z*e<$tMlv6IA%FgZ;~WQsE_bQTx>ED?eqf&iazYrMVbQ1IX2Ga?I0vJt zEt?B&HWq9Q6-_3g)`GJG?}9`cv8-#Dg{(|t9v``l$F7juk*LDTdZom|D~#1MjAEWU zD7N=X1Jkk(Rf34tGp!jGUM4=fFDZ@UF0^vf^sdg73KFg*@@Ox~nC44{(PhpJX8GW| zl5GHlF>lxbQi|?v_X6~1SP})_L3IJl9I!b+<>11E5w7ub_eljyZdU|>%locJtYmD8 z&lR81mz%Y7v}OXh@LCQgj_S&4TnNn>amS^HGthrxOf>poMD_JWk={gw7(As&CM6I0 zi3rC-2OcF2dZ&KZ3{#UDm_igL)~T3P^H*#+dkqrra*^El;)^%YE<8^Wt~j#(XP%t& z%eh#xphqh20azcgl?Ur9h$$pOSOr-CfGOqvz0~2aQCe*&yoK;yjz|&SD;&e=dBto- z96nSSgGnSiTYcl%N-=Z0Cb@J%%Pe-}4_c7gbfN8haL=ucVvfqSxjpm^UNFON(aL%H zw!7&TrQ<`BemHeEpOd|OCcE1nDKoPrP4^)02QDgTtL)~1)!xTl&2Lp}-)N&BdF+i5 zY?_v1&N=qwkI+#y!Y=HKXf}%DsVy7*zhi^45<`R1db0=l$Bh4dbj4fZZ4NnOX+4?S zO72_f)Z3k^dW5?z{$dii5&R9_g`K}E8n6)N&$-2AF2YPFo7D}nG;_*I+726nrf?7Ny}k{ifnX~WcD8*Dt`$T_Y2RbUUe4OZArPOjwi@;-6A z{PG`l(hM?v>#J13$j}1^YoW_rVKXPNd0%R}bHP)l`n|pe`KT_CFeb zU6`V3uJt?JzNl5E=#^skWSaJA`2q5df&wnNkW;1sds@(I!FpOP1?>X9U=Ur}F|rmA zal<9>XGd3~ET@~4^U71YA~s1`%!XWx5Sn3A-4&d>cW@Fbgiy{NoW!_l4XQ6>Hz~+7 z)KOs@R~0e7)U%es)pUTP0oG0P>qcrL=_iw71AK=oDCL9Ku(5eHd`j7f%#<=0V=9P5 zvR8ZO_K}~c4n??vA1#GNiWrwsX$c@oj(8H+>ety5Y9`H=yIw>kn-{M<9tSsNs_*#IrsYk=KT@IfEgJF{U`NV6g z37-kphC`(}$_bP2ybb$A50{u8f1FP(7Y9CkZEySZ=<)w6fph=cVWliPf@9%E^A8U}#wbXmwzHyj* z2cfOpqNLMa>Kako*1z!~L@TpLT@ z!m(6I#^bCI&?{c^XB?;3bkC*hbYxSOx@2;*-2B-5raeCW{4FpIyeYU>K1I-5T9A~O}48s8YlepvtIR#!X=Mc5 z6v_4YEg~CYIV*lP679zq^-I*NL7K`fe}fh@jAYcN?W0EdW62`#)Ql13cM(V}zImNy zW$t&z=lH(x}l@8U2KSb0+~(rmON< z5$LbkA+4=q3UVK@<3$U-{$2Q3K=X^G7ZUE`!SaA5@PGgQP0I9@Zdr~D8fNEnYtu53 zCE7Rtq{2G%Io@0=po#k=)G8Iyhu#|f z%h5z+P)7%|AZ==u_Y!KU>iauCY_A17$na28B{6(F=1Zj;4I#x|=Y zPVqH{|2i3$h;)2>gq#!gPX5oiw|(B^ej!F@J1SQ%?|yQ;xKI*CNj8gt@Z}1%kyY+6 zphhNTga|P{7>yBVvrw2j&cQad1Vkz>|1YC!ntLWdv!eeUdcLVnF0%=BSR*BTRAyKr zNR&ILQ4?ePGA%icGNZk^-m{m-7JWNSX<~wyVWjM{6Q9H(PAU6gz(%AfCz4Ply==z1 zM^y7!`AWl$C8SnUNY6tJWn|m5l+GIQu7Z_}cILRTAacl_(RMW?OR{PF1)0M%KC8Od zEt22v!#&SFnxe_>4g375mz7HoMl8Q`g^Q}OTp!5U)eC7r=D}N0henpaxqjPsxRaVbS@CGma zX*L(ddA+sw;b&5lOcaa4bXs}gM9SV10)>4YtwKGHGGp9$6Nj;l<;Tat=IK#J^2R0GPxm^C&`ra?tQgy_=b5Hvl6Phe` za(9$Z_ip|JqM#U<_S`Y2vUNVl_IoL5 zP;2BT7wG1&wo&f0oN<%mqE4{wZ=#!2*POfi%(2nIn}xbU^AYja{px87!hX@lhQGE3 z8~@C-mc6kvH(fNDB*FYRsdtayWQ!tyE;)Ro{vHR?mgU8GbMIl7N^S?`L#?&?D3=c^ z8Z0*4YOF7`=96&Af{?r|KGZ8Ii%y{iY(YIl9>1IoiSu9I5;p{j6*LoL=vDO#<6)Z(^w0FTEOsh(!p5#8k$E(t_c(P`IELxbq&^ zf1rC}6&SNkepJ{{f*VEf+yi1D_}jrpejMLOT-p1-;dr^%LS)ImR(*~}fB)n1i1^ti zX;0AepJ~c{#g)h2I#*EnHer*^s^akwuk?p^yG>KD(ZZWitq?uy%yeJ}~hTO(~x6%jAh#2)S$JOm}Msk};YGs+%(|(S)~a@;Qma=_fkDMPXkRV<5oOR?+MJe@+Ef&;Wv*1Vjgz zu_N@Lg>!QN(8_=<4z|GH+wp@MgeJfL{kJaiPKbz;Gh}uh8L$~lN_pPms=Tg~}N zN2Wl*Z)Cm=P(*(@hB#*vW8GeQ-t=F=Qj{WAsc&bAs%iL;B$x`cujNeU**g@57q^K_ zI4STwx@kd*fJx{vo1ul?Zg%E7Zr4RK;{=V7#>H@!wQrY-LV~wVJZ_&1J>KNM;bi~f z?Hv1OZg|a?cn1dub&CzSDfl96K*1P$lfaz7K~#j55<*hIU!X#qtz87GB`g-!D@tvF zfWqQ?i4m731w&nJzfqx6-7*A|g;fTC0bUKP*y^&$SdDANn;a1lk&1Z)2!7Ae(NU}# zn}m%?`8x?E0iV>f0wbX>uNor-NHghb%`=h0I)_Q|oC9u-VVCg397>pSlm}g@@x8L_ zhFrsp)xA%c7$bf51LR>ew#Pdlw zf`JW_1uWXek7Mg&BU~iQSrQF;sz-XkE9Eh_CZbmPRPyUh;d{ml{o}ng?{ZcT3-yXq z7tG8u1KfuIbJXQ4#kXi@Sn?Er02jY z;h*~uyemKW7c%Nrw*wgV*5O3x*@K{?mGs4Thp_(u7zyMDe3#K+(up{c8`L(rS8F1y zMxrf}gDfOB$j|<$_I0!hIj6>&O9Do@H_H3A86hTQ2Ev;f?xuK8Tkvz7st}Ytx zecbs7fH`C|)|4Y#m9W%(^mQZiFc}vuzJClqc^|w!Hn^@(7E(Q z|5oi`-1~r~H$Q?B2S@ClxV!7n*=Mv4Z93J;O|)G0qx5k}a_1UgSpH9XWkz$bx_0MMV891aMk_mL40Cj?A7i>4z&zm0`^h z*iIfM3J5gl2p~IOJ&4j(M%lueLfxSfL$eybRYg_(DleBxu{-;%5|QvP8oGr^AXYNJ zm~t(h_J~d_gzf*w`?-C8#Y^V5AP%od*igPQhe35a0HR)y0bvDp8fhXW;K@FD5m#~q zxUMzq>%P3}V; zR)2&0IWNZd_^jd=lXa34Puyl7wPPB~D|Dvc)o+kzN^ux5F}@_h)02FC>%ojrZp!kU zNSjXGD9=AP^%fak|6cJVbaKKHhW2de|?YAAh`HfhYkspt)Nv&I5HBhMe31 zvphXz1x-1v#(e=&R8ko=bCpJfN~*dFCU`+W(g@fN#$E^@yHEyp71}>QrUY_uPYf8s zDwB)}7$ti95&K{`$})?6@{ zbc2eHaoZxgw&r22Ipy30I3I`?0)nqI#HBKMW|+;B&ubN?6yB&^Vz=wPvUybDeAr3n z>){rcl3Q6vA#^zFFp=3J97@~$MaA>yt*^WVeZ$j%GY_+BxU;me$_{eE7L6Ykk2utd zMi)nP%M4WtbgHzdt?TNGgk?(s)Z8QS;u7hy z`_T-BKCI-4JUtoFc;dC7;3_2Qs~R`5#ow!U#zckgoQ^rzg3+b(=Jm3ujT?E)rwy_EupwSN@+9?`TaEl;!z))pdC{e>~ z`O(P3K_n|o9j?N9OBlMdNC09D*i}VY61Eq+$e}1#tw{Er$>XK-Mzge-AkfC961#9;w6Vx`b_y$Xe|6rJgqJhzv-A2 zaBCZg{AaB2-$QSVi&&cyOZ_Xc5ua@4R-wOp9tv<#A#*P0W zqRFNb10-D*%=mRuWQBI?*XSD4QmQ4s22WI};d?Oh7}uj4U5>0+N=0s6pEyD4^9B!$ z+x7h|d{&bi`B6@I@_2fSi~YNaMlOL)w?*!2J_6%+Hi8Usl{<+4P5qpCWJ<*bG`x}I z_@lm*(YHlacu9f~#F!i`i_S*zigee`>bgUyK6`M6G99CmaK0b7r6YhmRw6OO*%}h)Nqvx24(;`$=aDK_aFJ z`-ArLjtrmu939(4hi%GwUc`$FOIDZQc~IOHRacnc5We~TzvaffvHrHUHq!F$Ctx!H z4gqXu@SP?rXG4vYuIYx0f|op?4-d4B0`vdGKh_~jM200e4{VYIJ&kYBIjm+;IUhCA zL~A{)%PlOCGj;oRI9X91?3?hy?Xf|F!rz+fu{#>=xkueM|D4t1dec~5q1;-)op51h z@lF)%-%=K#!h6<^%6WSl!%iFg^G@)@T8itTu`tt9oN_p~&0Tx;MV!pd*+!41PqZhNof zzR7dFiu{^Rvvhp%U*jF$cB>EZQPAXo_0I=pNUs|(Fu-;A}$Oh+XLs7k4#cf~euu8r4e4B5YUoDhg#=F7|%tq8kdvVZV# z=J07$T&cBStV46Zn11m$(!(ErmdX&)pwd3$i~5=m4F$ zO8j_fA+W}T0=Ng*A0+9*S*KUR+vVr&Zrv!)Q=)eZ@{TSx5D@G~5V$NHd*mUySF14} zd$i{t-GosM#vLAE0UMnmnmjWkSC)31X%|S@)|mSGovo59_#mammLsnaPr?)bwpYU& z1aYiA!r%Y$+YK!yh+=T7!%oUw^Gc?2F4eqS4sY!)4& zs(dtC%)|X&Vpvp}_QHgH=PKrq_fZ$b_wH=O86tj8e{1`+KDj1q7Fhfd{eH~~h2qJf zZlP@W$*0~#fAEQFEtJ)R^Us{LqFRcqnWoj`L7nhjxzYqHXN-?l-B`$NbVI`K#-E); zv1n~|q>^Hed9i^LkCuy>qLg+PdhOd+Ky~2!fpEl)r`8Z~6Tr%$Bw-zv3t-HVmX%co zFie^Wzl}NQ4MXsl(|;H$6HSl_(UU2LGs``gLT>H==!`@6m*Nd$_Vs|Ie7$JWbg*JA zE!n{D1;7ZjYFIlw79(h#hq<=F_QmjOC0XghcfZSr7dc!TEYw4LvvgAma36T*lUu); z^V)8?iVif#%0;GW-OF&V^`h!~*3{~hd^`Pio#RZaDUOGW@-4r}f0BE*61Q_YNxKPB zjOP2w&rdKh^)?KIZrpaf!8S{H)}Q@FNM)#Yp#_Eqz(@pW1Pxjf4Ma*;nMQ1Vz|IaLL#`}!SCOpLfc!Iq|zLxh@#+Sk8`7dCG7!OU{7 zk*;gI;pzSN;y4Q?%>6g|g>kzuSS zS--ZlnpoW~8&$ZDJX(gvxwBJYGbtkjt!f?aYb^Nz?Xa4g$sECT&UsfvL=)Tq@Ok$U((MSdR zA2u=W@!ofq2af*wxQA>T+3hVq%)iwPcs=wRb@~6a0Os?jvL`p5OoDz5!m8#4pSTK? zc<(DwxRif)-P77iM|9#&6GomdBUInCX?yv1+a)g%Pp4UV*IelhV>Z-zv!-i9Z5K?v z?=n)WGPk-{9$-eM;BuZn?Xvpi-H}gf;YW8_Ui5)$Xnu%kzK7ZYeumTL#s+Ba75h6s zQ*S48B=syVDq7;!Q__5%=THcuw#q?@Oz(xg*5Y@0u4{GkMnRrbH85sf)>kUzyca-p zmjJI6;#||HU9L;;Ro@$Gr(gXdb{&CF%z2v*DD_c~i=p58#z^r#c$h%t9Wx!`;Q^yI zWNFBLC&A&#=yY@8Kd(+B1Qt}h=x zC8^@xKo;~oVMBc0(|+aAyxDM>ak+f2^BUKm3?2U@jWyI|-P{C%9kbm_5=bOMq;$?| zW3Rbr-p_mjX{y%qjp*}EX5}EywVUyihRrQcki$-G^uGf1y#{cWv=e%4*0;9EUTLEu z6y?k4tEPn13sdR?oa`bKN4u(?U4Rttbae9tW{g!bb0F1nQEuivGnmRZ2mR&lf`ah( zx7X;jPZT(@P_dCO3=X05!jg~OF0s|GXtWKaYCIc4gQgqGcd~`9@k})>zTrAP7$h+| zD&F_Gtmrvgxm2oh_7!xP@WVfTS2KHcZ*S5dOGW zM)a_qc{}L48tQGh>e05DyRpt(jZ@Y;6b84(m=l((28#y%G2GuqBOcK%UjFCBy8&Ux zEO6!+;)XtdjWDc=MNr#^Bkq^4F_zZq$ zAVl2i$Pj}4WCS7Oc2Sj_^`v^;_kNok793q;mLi=4Ob=YAi++%PL2Q`<45Rf^1R)N@ zG(Us$s4x)m?u8!Fx$PB&Oau8V2m2RbMzm7_8x!#H3L%Z(%L8?mJ0n$j11 zr$s^%;+W2vI10Kbe;)8LVo9_Yd^*^{836k{n37T4SbPH_I~if<;R24NrXPM-W?9ze z;pT z&UQ(JV%1}CA7v*DlV6@pxk%n}vJpr%>E*vYbUWgjP!h6HZpM3tcyj2=V+cySf9F68 z0X^YxG448;Q?X3kCjhhn6&&#^dq2#X>hAV0q?x3?rT0WiEl1z9fFC{7EO<;8SeA5n zmQo~0M_SqPL?`01+M!6!Wy{%St=5kR*$Fs_nJhswYB^0|?A*fDQwKpSCc>Zg#eFHf zzjfD?t)&J9-S9DN&10a)WM@PPg2HNP7f?!Rwake-~MHVJRP z8I=vwkR2<5v)d;+6JyE~YjZw-VfZ|I!H`I|oE}e!_d<7aqSy>VH&k}LU@>VkypBY6 z;@&ZR^=)l0wYuipFIbA&Z{nmH2-H}sDdM0MskNMnFIg{)z`u`^2x6gEn-3p8v=(9d z+}#R;@zT-~{fkgBTl@s3oCpM+(krYb^mTSWPw*?8T;RXegmDTuiSOJloYDU2p^yV; z2{6XJ$ti=Y1azQ9_upQ?fs6ol`G80mPQa~565$7KU;yAbLJn~tbn7Ax?kWao!0b4E za24(atxfqa%21`6rIJOHO(^woe(SBooO416kw>jhO0sHj--SHf;#08dIWHp!Wwcps z>XxkEzcP2XnZbuGU^ZxZh78=AE!`KzE8Oqj>yyv?72duyp2%-M%!e|)Vm(1efG#Bi zE4dY0@)gIq{W|CG>j%`5MaM#8CNdli$Juv?V^2yyvLUyH(8-l+HAQ_tAF8TEIrj(6 zn=;*_EuuJuD=e_7P%s%R0c8z}oO}-ub%Wu(3zXpyqbwdN7ygh@u60UsjxnPW??I3n z2trZ1zLS21yNgZu$5ZTCo4&9BLmxX#0p8x?;&{UU_}?`M zyx;yaCip4%#PFrsvR3IB_ks4DLXL#>>`_H%&)f@1V@A(uyFvGfY45NStBu4eqNrw$ z=yfUjI?DOOP=Q#drVWdf;K3T-_s__}5pWA$`0nvfvvjL6Y1Dt;wJyr$JeRf^k%d$q zkJ>y1`H_U`m=mEX-zLHn;0O3Ix zyaarvfK~83TRJ+Df!w+z=%uhKmA!q)gQsNmoPm?&7Xsa*PUOcO(dEy8*|YEPDkV?_ z#gNQ;Sjj-V$rIA^YLD_ZdGp8bW(r@^A=-n6yuvq;vS+T?N84x6GG|&KO7oe0?xgQm z93?t2r+t~McI_mhwr49|F%UQa$jRvFDE&`$@h1!(BmGy~D1_Hny<{pPe>6MQ2w0Lb z-~QTaUp-0nZnGdt9kQ(8frBrBROPBEI>z@{88ldSD&5lhO6Xbvk-RvYzes?qa(}?( zY!HYbNHh&|o*#?+KE9nah+oZcXNSKTHRWv^j}PvZO<2E)xPNOc@N3u089#`&vc-8J zO^&vw6Xtq1QE$gDp=cBJK+yKM8#OPBP!lgZu?idICVvE8ht?=XBEN3Yh)S2x71g6C@#X?f^yn=aclheE(ZwTUp0 z|5)4}q(}(#;1UrP`@MIPCdN*6)UJEIXAzH#A+d`+8eLvpd#_N>OM91fG>sXV&NxFP zY_JnFv0Hl58;b8f#h9%Es6VWA2b*)Z^X_9ti*!Klg;jh71jM#kqJSn)Cp5WlQs+Ry zv{v!+)$}VI4BgEdJj_mnC1X zim1>oT==>K`yrz9&2fmOv~=T~^gXOVWYgN`TjqR?=B|n2-t#T4y7N8YTktIr*c<~{ z+4gjckQn%Ip)x@C1Z@ap$wDENF?u3WB`oI+8hJ>`Go*at{NrsHIjLmzmt5bwrhbSL z+?4UtccYFtsyC|It6k}qYp6r&FJsBmLT@0&)6gc%N9m=+NMiGfFsB+4a} zY?q@R-*EJiF$4GmA3h;$(gaE>*uXzEF(m$&5X<}Cw`!9XEn@-pRUu6q<*BdLC8s3bv*;RX{dH*Fvw>+}3`Sqyg=jeY@2V%|dB$!mKRLGbOl3pI5 zDsT1;_1q}YJz3X!zIIX>dV<;GUfBv?jL%uiob_pPBRlGjV!l*t@RmRX@B13(1xDgl z{u7!3KSzS6yaP*}I5I(ElWdqvN(v8N)xX5Q;w`_1XPzSVSz-EH0GDQc-C$Gp+`r&6 zO*)55KDRz7e4nsMqvQ8IZR{U0#+V5CtmLUD~0aaE4ybO?hlb#;!T z`DjQP6(5s0mp5O5BOtMp41D&8_VM<}#F$_5qblQ=q0*l8v`e;P_0MUzEgQUthmbV! z@gYG$LKvVoXfdBdRK2q-Exb8J$%uy~?)D%TPUsMU&DlmiLvP`_Z&JnE2TaX_L*ERG zs#a$INWzW_eK3YFew_Et^v2=-FeU)dN4q#C}ehiDKnWaF)V%O#q-!MFk^)~}Jm28aAeaobSU zjbX#l&lek0HUrXojicdwuYJ;oJ}8k`+$zPC1e?})+zrF*-;TJ1wCd!EY~07UIBB15 z75*z~=y{0JLR8k%rE_?a&;?{Kj{h*7uS=M!L-g}5Oi0e$`5R2ca-({|cBE1Ax4S@U zO748TR31*KJ?Rp=4tv<@jRRuWG2&9vU8L1>(n}Pw+pJ3uJAymyl-}VyoM0Jh-K)~n z=!>T|;2sLD9&^gO&wr0)4#r+ME#s`%fFg)OwRMAYNh253@aancBR&pnqljB3d6mWa z8~Qk`$MLx;h4MZB=Eqk!$$uTb%uPVg*Vu0o>Y^QOX)&l|pgOb&cN18+^rV(*ukTTU`Gc0eeT6+ghtAeV)) z7o47*qBsg)`vz{*n=lP!met-F+SLlv5q}!*m`8A5%uzP$A(Zwt`q~Ln^!nwV@`*KU zqoNsIUi;X}fOxjSl7!WhS?4JU)3;p>=VA%MO0$!*a&qFXZT?RZ0N6Usl{YwZpWpu3 zqvLfLYLB+*St!E)=rHzHNk*P3z^(m{r>Hsdv{_-I-k}|;a)az7{X2A z9r#tX$*t@t;IqMQ|Jv|O;lPsObL5_W`qrN&d*q&cU|Q3rbLCz%&O=?-*>2_^g3c44 zq9hXP#&4bRqZ1VQ`k+PqRb1{|d1ZWqbPG;=+KRoJU0VqiI*K zizIC!-pq`{jq=vk>q_0PMUgp!8k(gL+X-tJ^rc53)cDX{XhMX+LlV{{&0(T;Cq#J{ z$2Z$u{b3B5|DOgT^dL_#X!uSuQyR=3B{ln9K6tL9GMnSDq7rAvHZeemCPKIJxpw9C z_E1I2Uw)Jow2$aP_l5+ewKKHFU1=(Cp0?F=i@2%#$|s58bgv3uiumd;xxdG+L7R(s z;HcR&hYVl%5}(sn4rnCLHjjSYj$(DlA&?Q0q~T1*+k|N5%gwJHaK4L?r%mNH5lKm> z>8#OZR7~?P%YIjdaY*Kyj~Qu3fi7y(Tb7@WG$s7yl6nc{ewi5((5XDVV$K)6&kB`+ z0iYcL3vikUe(YyWho`E8*LnA_tVS#3u=qf7?W3g22hh79i`#3j-He7@A(G0>Ri;GLsLI>FXP zP5K4@`0vrD&XpmSul!eJ)iFD4@An_-d4(-9pgf<`_e)cvJ7&dVxJ&j{{JJa6`X3ot z2#Z)p5kDNYFH%q(dhn56d7Y_&>9@$cZx54hZdz4qSsn2nAh)_S8{wkpom9ZutTuTOW?msRWhRQ7SPkxfUCaNcs2 zL0Z0yC485{H?N3-Hz-Df1Sb=uMytXz$`7LhIZn`9FFt}Xk0v_)QT0!S@9;3V6CC#~?fks>qfBZaQLnkT>0V>PG6^lu4WwPW3LL(ziUp7*5` zIyxSZbtCSS+r9h?GTmNnh`ff`2Bemq%3EZ!a6@FftjzL3c=w44~1u??6cYAFyOPL{U#_RVqOj&tWfce3nl zc4l2Mk}^YQyI>Itk@?}>&#!p#8Kt|yk++zdTv3H$nm}qjA(7N|CPJKrgm$f{if6fS zO@vF%js0vY)sJ9d0lKmR-9dnIutchhBnm3lpZlKqlEkI;R=qvB%)9WbrKx4DJa|&# z|DowC!=ikjwwI-rknS!O0Ra&S=`IDtq8p@J8l+34Lj(Z@M1Qn&h;&MWq;x19(gN@7 z|2bYi_(>4t1mR*lpisb4kq6e7Un*Zi%rIH>BS9+ERlUI0kzrDt6 zn{=rr=JV*VmOKSY-{IWvaw;Pnr(1bvqG}{|^wZ5#oXJd(uKPZ^pNR*7xyrgB(-Q`@ zVvAw}INuQ-TyBgd?CQT7MF}v4^#|$@?Bf$B9X|xVH=gN_8%V28yaQ@g z%DJc(S=^2OZ_}#IjRn)H`a3hzLcbCd5O-4?K_1&=%Or!eeO@J!uFYBf{dBD}Y* z1z(tId2l`!N2Mj=1!f>&5ZQ8V#Rjq09eWjJ0_~q;Ae;e@Cmt&BuH;xnoZ{#P3j+3e zqKjyIAKKi7C+Wn4N^s)&{olv(Y->sG_v(NlXqqw)-hT-KaM0dy|A1hiLht$;z2jD| zW%|=svG0BF@>fXy-s^bkIy2{x;Ok2{&UNa!zpbm%?nrndGQru+6{eH#H&C6D^K*c) zsf=Cs*f?s#oAh3pw@jObWy0u}UY$-YxfeMRT;b*hY>N$vxetr?d8UeFV!?y0IPgfN zGAMj@nHkU-fHc@qNHqT(cyt|;laoSus#54uQs*((wF4%AaQIhG60BV((7Gw zmQ0G*LIYk~x)myhBPBw;=|w05820Hzvelv_ooMTW{%FI0g?2pxzz8Nlz{DcO&|=iW zie!w=VDO1Ed*k%5Mv&f(v1}u;MJ#J19J4o@N;UOG@6f;qv-aI5LRF!>=`3-)SqEPX zUer_pl#**#j9pv=9vKiGF;so1%QB+GuNIqwgG)| zwmTBvBops-t$)?52q;^{b`y0zB2B3JxGdW4nsfzSVMa1Voz|Cv2WCHzIh}9k#VIi> zJb}yM@(I*8W%FnoSLctwlTpBEe`~aiXLSuJZJPLJwDv)z+PM0=3tR5zTS2mU$j*#F zH87I_#3qPE8rXqqPxhsGkCW}URnGLv<|)s=ti_Jst}WiO*{Kk>pxLtF`^V6gPclDc zk-^l@UE;cBYuJmeRa2}J`ew)Rc|FfB3l@A2c!EUx0|V_ltd$i$dwDZy`)im-an8U3KpU5V5h2=zlm*pxTh3AZoe6C3*aAkd zw3vU3bKYVQkf6_6Se5^90vZWZT8K1(;`p3s=fREg1TyvX%mkIvh;KjD{{$;mKdcY_ zJ^Gj;r07qvdpav;cBtqzhByrTpaQo~fUQdt;qZa(77Z-G#1D=t;GKs0J=zf`GhBAF zf-)ROydtGH*&-w$lqhLkK-ePf(L1ZY(b54BxeVWtonQ{4D2}GpO>dL5Enov8r3aq)BB$f?LyyMCHmcYntj5fn7CV zIKCClCA?l&kX0-+c~r9<-Z!oBKJAU#MzlhPmwsx?swa8W`PTUq#fz)GZ)VsE(=i5x z3g47)o0IP`V%y+v-N)uY@OAw-&v%K@0q~wnks#_cB+x>oT=+= zx^z<)kqzpAu9e9T>GTi(so+#TNq@1r)ESH2H10Q4oL(`{F_70uplyH&JG~ZIRE)1Y zS-p#>#uACf23#L8| zPpyK5Bot6IO&3iJ%M|wt()z*?$eR8?7!lrX5FK7m$ES@3(j;h4AcO%2>e&C-cPQXM z1AGrQSe0#WKsol&?vDr_>-;kcV|qO@Pg+yRz*SB>}G|K(cMQ>SVP6kbgb%mT4b88;MyZd#|qpo zuy+CKXpoc3KTzmH)#O(~dpm$Vs@r{RgvqBGV$e%^8Flh4)cmF)|2w^M-}q|MpNR!4 zmWTYyICt-;v*25u&;gf!Cxt=-W6okC?%obT^IT$TIYV*AIiq2JFdwCAyfU}xwv*N} zEI-&JOKA<6I^W9c>M;({Kp9h_3iFrH}ZtmwGjR!(`-RHwu6gHbjjPgJu3mjJbX=)cSL!V{%4)YGIK3s- zk0u~Pw{dyd*tTSB?6x2G#16#iK&a6yybt_Gw3mR(RGE7b_ISqBdGQ5*q5k-69j`)V zp8~IF*YQ95xE0BJr~OiOW3Cc+P!e7$bN-nWxurWBE+3B?l>^vqf`knaS!bnlt4MWx zhY38Fw6ywJ71>8W=}fkMRh@?uyj4cl{XQ<@U*jIf)jHwa^h!O)Z$|V*fD{WJ8aTNu zJpX=139E<-WDtTRm0Yp)(*PZ&BJw#Q!cTH~O9+j*gX1muXHwj}c@v2bkk+4R5GWlT zAFs^kSxPhKiW^%iG|8p4l&iPn>sxdVHeuX5B6LsRtt^?Z+_v_?zW`Voa z4#B?)yqMPSUV=vfdg#3tvwg>n{8O(Q03rOJwRuecw`!W7pGUymu((?2B{oO58*kee z_U%Q{qgOp{Cay3Ba*uQGH-PD4lKC=m<;Q4Mo`<{zMB_|5<$ohS4h#pi5+zth zAAXn@aGpI1UomCzP*B0ZZHg^)EP%)ptTxA3KIu>37Ib8XbdXP0SV(?{_TB@DHTqCD zVKRllVkhW+=KJ?}($E{VZSFS*;{u|Ju5_>x+Ie;5gBCoSego-ToVt+(^#_7(Fz3r3 z(GhKk1%GW$3XX^ycf&OU3ZHNd`!oF;?IO1W=o)RIeN4lYG1J!7K=Ru-yWoE&I3Xb4 zO<^u(F`rTmbZv4e(#(HodT6N@7BFr%fA{jCxlU?x?I8*HqRx*9J*(V(qYyc$`JsIz}(GWft_B9OXW zzlO#&>lusc?pF$I{UY|aVc$R|)HH_6#z8q#i}O+N6)#Tv^+5+Saf2mtTzIu>LU;*& z%71$`(o$U{)$f`vSEVNA$DqVhI(lpoIo|0(j_G zvETUY9hQ`b`*Eaagf&!tcDWV{n+lm;wq2e}Segm1PIzpUS?H0e%m_;(FZ_+gyYmyD z{<=oOa%-BlnPu>I@qfkKceBLT!AGIlk2e^j`q8psWV0A@H~dG_08#{TwYJm(ge4AY zR4>scM&w9CjruOZrV)atXT@dHpNs9Cc+xSo=X+gZLLr*wCd^9*@{E0^t}9k{OM&Cs z&&JxaE@$25A5SM)JRo!L7S(HX;^q3f>Ky6e;^z}+LW`cML6G6X$j4kSNur5~WG1nag(G5HB$cRuK6_HrO3bye2!V+=SLlQz zU|h5=XkNnVRqyhs`g=F5Ee%Vk@iYQL14EIQenRQDqOt}cYDeg9S~Sc9it^jSKuai0 zM}^>7_N4vryTq>0S)N@qEE%Wd#25ixD+J?I_;sCQ1foMd4U|Ozutr`p3*hE<^vpP% z;p*mW)s3gwZMvWlR(v~DBAs^!jU*(NMa^7SP(a>A;Q|x}nej1qTkMRRTRdux_P}K3 zhB)s(+6#Q)Csd2OL?````g;z9Of@u^i#hP(fX$w*l*?82HyClzL5DyH29y|P|GsYk zWUatY0p?0!Cchx~%vUlMkSzFj&`Ppzt(AQx9N?OAwiS-qtHr7ok@f>c3T3R zX>RmgSX-xisOVi5_tX{mQZ*7|BgL`fERH|hzrx-6Xguj3%6;Z`-_MD;fx-{LdMOf) z6F}cZ!Jx{?U%bGrLxPNw}%<(vnG!lI_koX`2&q#d6b@nE(e zFABp=II|@E65x!Oup8_0kie!Ak_ENCJVD2C+Ei+V)=qErpi{)JPCBK`1?j##4Jr@I zF_1pC@35<2jN+9h;2&u=&bEhl3y8>+She52jcv|@GN75J|N6qZ90DD=04L;zY3L%s z3e(Sbd!B`zQ~j2AvG0p~qOxCgUfFAwY+hQ?@+=%|<#mh3FZaM24}ZgOdIR=vpuGXF z1NgpU25#lGYIS%l9|2&Cu-d$>ZrQwp@H18kO#kB~5*^LDZ)VIBf6h+W8bN}+KpH?M zjiE1hfJFxb<= z@&do^Wxavu{rkfr>TRT$4W?>jdgUS>;jb4d;yBt_y5G3#`6nvU?g#Rx2%kw~rOI}m zXJb<>o_zWxwm6mcY-q{<@8KWb9(R2S75l?L`r@j+9Z5vb7|zU2T@^v?EFV#qifdm= zBGzcG*Z17A=yYOdSFS(84jQ`I><&DOvt~wS>$Z<|jZM?<)!5QwrfY;PvEQo3P95sZ;0`!P^-xW9MwS?`;NG+k-^B8Yln~i$v{@lo zz5_jX{5KjCUXfwO6}C>LqGuz=NaMh-&EFSvhPT{TU=sn1;T5>uz&HwA=p^nCtEf)q zwBD;KZu~`M?x*Tf^u=%YeHQ&*W7KXD6fx+n;>CTz_Ao(^*){E(+LpJgSI3fvnzd}E z;e&{t0q2i0+EQ2&PhV}*C#f84e)wiIOooZg<}pj$^(}xOo6|E{bp=DVcG50)$f^rI zbG9{T`za^T+7ZZf%{jd%4K^$+gTBPZe>Yz?<6pb^-Bb;!cMP{#bmvk8HpX_Wv?X_P z6wuB3Zo$>{#0%F9$1{*4|1&YZ0FS_?fs3ziA>MP+)fV1DCt(XU++!*3olU$J7UE0x z?mUTYN@H9KEA_8YE^+znsBN+c;F5Q*xCqd_p}^8D8HZC3zOL3}f*gk}t3(U90otI# z=(Eg0;D^+}LSRcTKpGBntRAR$K=S&&v)NhpslNslkLXoY*SF`SAsn7>;Ro}}2R1hN z@dJnR9~jrTwy~pjAfh-|ld}uByugorPtC@br=6nEyBS{)YmhBad}qEnjMV>m%Fe_|+j)grO8ZO6+eB>v_$>i4^T|M~=h9=z zz!m_58X@p!%t8lB0$v~s%l#ElfFuEidy4}9ohOq3k58b($edKN-(PAM@(wERPG8CA zY2+?~(OUeC9Yd@wX)e~nHG))p)Ok-8KRD%)W-kufGt1gYbs8MRZ_MT%9~{zmo_9W) zInT9b?h1{uKWK=M>dxPp;GC!EFT@hf`vI2JV{M)zj4 z9wQS4VathcU64s~wXUX|#e#Ooa7)%J~}xJ|f| z_pINle9cG2PsyR1scJJGt##A!h7+Yem3W@5% z44fP{#35ygE|*QM%C8fqu3O66 z{j;~Av*0H{StJWmipZ4<} z1Rshp6YZIbixeuP-ExRyPG4IX{QLGO4

      yFVS*$DHHel_0tEBJBp7R%}oa|LUJP_ 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∾o> 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⪻ozj%5 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

      L;wTk#E3S(Brd2yW$?NS$W;sV&rWm31uz=+ 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

      VVERb@1^YJ zIk}y1Z$9Pjd|DkpObuzYVG#)HQy-KAB%CuV4z8})3civ{B`)cm-ijU|`>91Usj5&c z8n<42Qb3f5VH`_k8JAKhqP4AUlLR_FS;-`^T%W?Yw6)+~@+FL|4gPMQw}7?-ZJZ;m z94J=LAE8!Cd#pE8KKyU}xCoHY_HkX`wKYBRMZd*4`KksPYW9N)f5u56PMV;*s#9nh z6Y!(%0y%4ZJTITN;uhFrnADZUR*9oO6pGqXh^dh$&u#q$$ z&3Lqw4i6J>W3c%G8x^Dayr7KMhPfXz7 z2>=5Z2Pl^Ad(G{u?N$NwD;zWrXq*5b+{|5NTI+f(q{Fm@Q;r|*^THY`Yk0WEP_^&8 zBBzh-`ncDNp2kH9Odc391eN#Ba}q7)@jCV-q#eAi4UoOd;#QDmSyR#XeJUoD{t$Mq>;CnVUd2w@#myZrWX);ri>X=bka%Y?%X);(k zjv}7Ki@}V@ecp*3h~jfp=Trh}EgE{|ghv|=;K(JVp_se(R{FRoT?&kXS&pz$+&&C) z{1S-VHp|#ZXJILMTjkhSfQpOcbh^;(l1(RIVQ5SZc7(q#j65`~l?dJa`*3(De|nUpP5^lz9%lj@(!C9FE?Cd#}Np@4)d0HU^@}@!}tY zr#=M#?kfUb<+*5G902JC-1(va9RKOxf^YjS{^8bTe)6mTpEzr$rSQ}Z1K>ud51W=- zANg)!l)U{Wf9Y#qW?(G&XhdRw-}xf!e7GLNy;P{^+1QO+;~a3Y+*(rS&?m|{eLnR; zA>S#GsuN9yfKOBL{hd0{G1W1*`kP$q_1VjFUYQ)TU*x<#pK?iWkWmB4lLuGd1UOf5@ySa7T=EzPGmz#tfh z1Fd-~PN3K4mC2YnaHHFkd%l+n3re|#PLT^UD0gDD8V6{URGJ)BB`ixdQBFpgv z5rZg#Ja+=HEOgw@B3N3PQjNayYz1r+Fadw83YCy&r!m5Yu`a6c$&4Gwo+et#ZtQ(+oY4IU*yyOQ93Iu(F$X;2|JBDy=4 zfi?_u>;RvVQ8{O*;odysh3x^OvH)vHl_k;2i4uEY%6E=v=_GE9e&*mIfAR1AZTQW9 z!_OZ)BDa=niIl9qSL6(%h>;gIroM*&C<^xGGwu}vj;31rZO~xI2@*?1*oT>N_XU($8G~-7X=E=^vqvig}+9@-{-L^wHwg+dJK+r z>`5_TytTFI&b|Gr?>_)IKCt(L`Gt;)=wIvixwWy$FOH7LY#C5?4f{pT?McR+qXVu_ zFN=VjH>F6nw)oSRukecpBgR!eGUTS@_GC;N$9(eOK`nHtBZ>I;dc1V$GC#Hd7W+jh zRBM;!GAavRJ|6MX;Q?$o@i12suTnn`MK)J~6k*j0zm8s{f$;TYo~GSq3i#9$aI6@| z;LuSGfb?SbopX;ufWxPpXf3HmUXR0Tco-{AZ{Z%YQ6d0}Um*DJY)1f&JaG(&Qr<_7 z-JygIEFg!ffdJ1?A*w+RZ|~M3B-9cqTt4;YCX5b*-k;|}Z@%P#23kxL*MB}WC`m+* z!!rr0<6NL^4G>2+$737pXw&$sec0yf$%DvCClMBhaS?ULx}roX20VC&S0@v09=o!v zn;Y5wb;ZOY;_*cIOKk!H3JFmfi_dmkl{_Eub?u#T^H683FmY^9~ ziK^}<9dVHReTX|;@ASCU-;l~A^O*oD2M=LuTheBV!c};2)m2)@^Ui02s#plQ%>xHm z=7U5#je?4@E+!fkwz~GI)?DkRd}?#RwRD5q(+T^I!LeTy+?h=nnNk=Y`HajMhEZHq zjPb{9S2zis=93OI4TeP+QLpxAT9sJN0N6I7@~tsjr>E5Yma3?#7?N9LJR~BbnkvP! zQ7m(cKYlDAHj{}kf4u&NKObAvziqVH)MNgP^Kzv}VdefvD*(VV7XoI2(sDiAw)qM1 z3zr78;5du)AnMch~dIqu`O4Lp$&t!)SGybOeO9lXZ|a4hNj_W5{V!;j&%)`l_l zXFf>dFUu;S(sj&U(7^|JCj0fpMN?F&ezU37l+<~m+{?^b*x29z96{s0FI;_^-_9oN&83VZR+Cvt8M!l^^77F! z*AI^1si#3X$G8W~X8h@=p62hr@djU=O)H9LW{|1@3bMmv(!o{e#*k=PW%ReWxdk`+ zo4kBHf{KC+`^A)3vk_l7I^>hXIV7oXER_KVxe@QMbjPKDnR8+^O)71HFl~%pyzp2yz8Bp>AsDdC$@5NY9KrTB z>J4EIQ5Y$K3Jzom%IQXl^tmvO?)IA@g489aIb|Ms^44bOf^#QU;i_}QO^Kl_&?{owiM;m`g@a0$qO zevdEDCVZlox+*0SZC$o-O%zN_NfK#xx*O1QV49h8qt_$Z+F~%90fp#nM96D57G_N` zbCJ|ioLei|GvF&&IOj`i5@XqMQQgd%3K+ zdW`Zusj}ReO}RIpGK?ZH1$(oCS53i=0~oI-9rCiry?j147hJTuT8MKx8|;C) zf`+h9Y|U1&b-&gZxXIo~sz4VRLs6L(BFpcCU*+~FRyp| z(BF`;WJn*Ox8_YB6H!SIk|XKn0Kwv}V7W zPu+EN{pkCza>Ol_*s2FNPTWKlpmgFgHLqDU_6)guL?uwMC_=}1ReZKB@)?3oiPr8o zo_!&}O&XL}^VMC_0H6p#7&$LpRY$4xOjI~#RMoG^iEgo#@UFDWR@cTeU=k~jdhkpZ zxn=_eyHUhWlHgNJZ{7Ms@X7Ci&;2rQJ=kO4&?@#0I6F&~>lkpXi00s!?mEy;nuSg`v<(Z)X;h6*NGXrr^ zKL`9eWL-z^q7mqYs;t5ORO@|v`&E8*wNAL;_ABk2435xZ?L@L|%{FZ`ZppqHw&n@w zHB$sCU}H^ypsL6J+QO2%TurT zer53F0|v)8w}m&ry3y)L2PILVp=EHEw2P1t5hwiM_JEt|CZ8>GlF|uzIjZx1nR9zG z=HPI|rR{B54aG4en^G1qO1QbP!Tq9OREnmC(6S5e&1bxPbjVAGBN%Q|r9PMvl;Xwh zZQjarUYkwoGK|);m(O_R_=r!AGf+mT>)wLMs+`L?0FFgJSqIn%#Y`7b6qQ;&VK%@G z)ofejQ%h9M5-9Tey=QMIEenq*aiB#X-Y^WKq~#Y9p-=@=Y|dyR{_LPzzmDP4Z7q45;0D(qRO4M8wIg4N#R zB6U>J9Sc#+)lP@|c_zm!7PuYlagiiaMP)vd^q+Sly{Q#hJ@t3~H+~+8R%~Nzy%+#F zhr);hdifH(@ixroWb-+re8%phhw%Dq!VpS2kXiWJSK+_?hj8U8{KS7HAmXn9PW2Y;VZU~Suoz_nBqX*I^545%Q7iiu~ zxit*5BGE}hNOHd{Tm;uNBIc(xR=i>Rz}|N;%le-baSAKcNiVGfwdxr8t8j889rg3pVa=S`>l@p zi?%_;Kx^tKJ>*_w+G!eC5N9=s1)wSlVMgu0O z>h|M7i$n*NVjNH*poZI#yT*-sPFeii+ZM0QRq#IeyJB9bAk8Njs&xvBYNR(c|E}AR zJ0N5y7Co+HUP?;Ja~~B3S(=J)sMFEei4zi~xYg@%qt|2TScn7H2g7s&v?Ar0&yL3q zh>+tAv?lYEeO32wBZaBD_v<+~0jV(K&EK9{!}gZUH~9=yEaTR=wG6BufnA$Hu`0s4 zcX<^SNZoV+jmaKzDfmh*P-L9pe(u1)(r-(Y!A)#;CanBL|31)ot0y5 zoA1wR%dYFW?V>w)ObiUodg)>7GCATE0j#qg|H9j^%RpMS|5Z2m>3tu6-H9Ha*Pf(6 z3y8zNjzwz@kY#2~5S22408-0AIj?z;qdJZUJC^M)_-z;vP89SyeEP~2UOqlxzcdVV zRDliqWx?&)gjcf(e{@zzj=nWePQ>xabN+?lRq%d(#kzN!v zw$jfYaPVacLy%#mg$u?NV@0)o+jt*oLU+{2!ZgOEp=^pXn&tBQ(f|f7 z4@KOs%pG-B3EjVwNaTIfm2RBmaA_MhwXkR2*an{F;sBPTzXS~10FttX-*}m+GumI;96*Bc=%R%tc&_6jKBt-hMz|k zv5}Ob3cVR6|NJGGO`K@#6b2jOxMor%<4#_XO^!+L-IaU%Lm!c`_mO0_0+QCry;45OG~ z6q5qi`aL(EEid$X+{rb2dCov9cH+db-pcBAzjRCk;9AmUWD53uibeyd2%K*pt@lo% z3RoKi4rMDP#XH78Em-OHSL=M#H%GXCH`ySLw66a7`yfT}VtSRIIeY+{mtivHo~yj| z)bfsHZx8KCTLs8n(*^;U`g;VG_Q*wEDt%kyG715q>4+f zs2tYJ^#R5PRYyWl$%7nz{LpGgOPI2%Jkq-FeDx7GXL;61?m&*z%{@zj4t=sbZ`B_E zw+gSJsu(T!QwrYKnjW^H-%?%o>U=z46CO*o`rTIg6=C0mOcD7_@LdI1dB;mJjAH?c zwFU~VcRMf~$lN<0JA$X&)1T-hd~dhM&2Ep~IL6PPiF1hZSw^BYgKorbqTP6qK{1FT z_8e&KnH;qsZO!ybfYjFQ4^67~xOBTt2YOp@G=q5|JyBXn!gL6~oPx9iF7X8 z|EkEf-|aH$(Yo!gj&sI-YXc=Zk+#oss*>Viipq&HvyVBAr~%rpVBgr*E?@ff zVp<~q*ZV!L_ftmY5t%i$I=b;%9Ap0Iqlb`+$Q(*ZC5E!#*5)SH`zgOWoiet*d}b3qL9Usl`^$=XET23=zvc>x(`o3+lors z<^8!#Tf=`=i4r~GYte3_2R^(Is4i<3N33f{Var9kI~@UaI<7QhzYqNsx)F3;1&nSY zWj+C(>I?9(<$#S&>=pp6smF^Qwacpc=^LF(=@~vj%8O&Tct8?%LLR0g_%f^2{!Y$~Re4y1aWc?Ocf+M3q*2U3Yd*bwRpyqs!$3#Ez$r@^JJSrZ zBe}TG3*tEq;-K*Z3?Pq<<@e&)8SgT!!Xiy z->x#p(n#yW;?q*{5R_VBAy6afYZ{(?TH5HJUB*D6fRbjlu;P4ci^swII14*r*-zRG zj*A@svDg`R)Sf52gWGXznowkQ5t#9~1F=4`y>|5+|4hCh!11`Q!-W|PYaVyen(Dl^ z&gSd(-`f7f8VxY^-M@cVUYpau{{Z0lMz%0u^f)a{RXGm@&*xhEeRLA8ZEf-5_BLP4 z#_Z2$q&jxdKg*~r`L*LQpX?v;;*~4V-F6N*(CIMT+U73|ukx>t4jJcjGN&e=nUcFM zP36{+D>a#P;P?D&P7dQEB&^_~ zZ`uTNpmGeFpxd-}azY1S5m2?{y=}do_}(;M`x}5_FE7|h5|SdXC-EdX=|o44fnti2 z>?z;=g$;Ce9tvUmry44a0&nfU33FfrC#AAPDtu5Bavo76i*@US^4#~iH5?j4t_=IL zDZ_{RPT;c-{T>W1izEAU|2zEt@4?d_hSy)?Uw+{?#BoQFMw&a*OiGMKu{grkR8;!g zvne}?=G95YU)%XG{P8~yf8(!K;9CD5{3QI&7i7#_+7fTdxbbm(46{NyMR~@MIJLVb zs`}1XG^zT-F&+{tj(MsznK4c;#7M4wJKaSomuBMg^-B`RNWmBeNbWugc3cI93?=(C zMnDnAXv&pk=-QK`D^|eB`ZBNbkdRb|P>aL0W#K^aj$goDvOcAt{>^DOP2~`4O`;=) zv6SuID{`)N``qkpF&sV%JD*^7LhvdCAR7C# zbt=-yb7`fg5T>HE+U1x%wbn*pN`99HCw!yRVbJNyGi{zTP>O3w0>@(qy3WZ=?!Z68 z^*CV%7*aam&NxuVvy_zVTREK&H_TI5cy8WO<<6zW-0)0~LE{|!-wK|2N;H^erHmmJ zM4JuN8Vu#d^$6Cni#ms^7##1FsWUkCivl1%MR{u0)L^(^|Am2|b&h{g4UVrD%a`AC zr9|ib&vkK&hq0`}J znzGyN@n(@b9S%>SHtfx3+@6ei@!>ek!2yB=;kjYN4p3kL_z zS)na2T*Me3MO?zpxrjw^L&u;oRu;9vvj==y(Yh&dr`f_NQ}6&$(fRwr1moYj^p3oc zh?g%797WuS6CNaGwczJy1h4-deCx-B!Lt#;;Q?%P;fr5@_$zR9z^_lnj7-T+r^mG@ z=3m_W0l8-{KP_z?JrK}q?{)tA>tEy7vP1sl_5l9lKL>yQ&)3YMIq-M?mi+w_|3r@U zU|;g|=d=1+wEuyV`m#dgE$#Vvgme24EJA+hB za)duj8*T?KkxX| zkfq=IltcocBTSVEnsI`8;Q^E-bHGxj$O7=QVqpZosr$+{zOR@fy4Gs}NS859-0Myp zJe!7Bxc=5d0l+4iXzMukroS!&?NdbR^0@VRtKjmS<+{{^$}^KtR3f5hGE>xyH{*gk zM%Ru-Rqne6UEeda_T+Fq^S18waXETRkF#ROrvV(XuEEi&+DO!V{>A$7l;}M#&=Jlf zi;myEKUb!ZU+@B~GX@@qU6jG%!N5g9ob%X419*=O;9Hl%yJiF0<)I(9eE@KLU<=Jr zrfX`uWo?ns3%5nNV^gy}{AWt>;*}u}ijptAmN6AwDbcM_a-;X+$h(shpY;-%41{6gi zqSfz9smyr}&+o!_eiv+RpQQnh@m!YdE`AEW?J3y325-CxU->PmcriY5vzvx8hIv^# zofXqYSKtri{vh|K`Kb!-t=Pk9{i)o|1h}jv(EHfAvdTd;3jLoBZf=yYScl za`W80B+MN6(LW8p_kYC{?M8~a**5*5`gvF=GHQZV|F`TcA}WwewQ@egyTbgifD<`nS#ZQB(tl6`)hk?}^j2@So+@ zx-^_R9Wqgh{j%hmk~EvWB4@uSNSr=O4FsrQpJ7?p071ir%e zC#Y#vU+9K5$ueLeJQoqqr1`!z#v4qOWeg7l*nnD7WRYbARaKO{=GICYSK@&C%}px( zsqq-%*p-5nhF(>gG|(BT?hOaJu#w7qoMl`~B3_x!**AuP)?Dv&TDXU*Qn0FuF&A;j z%DkCE;OBHxQU^`UlMTXO)X`}J9q+ZB#(JqzDuWahZ5*@JUB`SKivKznEZFvhh_bWr zUdaOnvR3sr)pdKHGB_@}p4P#<|Gs8$yvq!VRkrT(cqM~l)d5cb{sVyHo5`NEAgjw8 z$2tecPb}8(T&KfMk}xV}Rds>f8Zrxa=TlxeKIX>Z0c^OueHZyfCH#rOfL|PqI4Dag z#b^wf5)F?#(+Q(T4;XBw65%W7;z;&-ys)*!^?u4*dG4Z}61~h!$(`AR*A5=?{PtxS z4C-_6Kt?;_Zi6Rv_+atBuK=bNi{o*!1I}ud5TdG&t+e!O2VrSMkt_)NeGvxz*fn@| z2cCY0)zalpz$T-Dw*^I0r7PzYATi=7rpV{lI(=^TQU*Gbe;b?J8y)bO(E*84{Mh!6I26OD`T3&< zVSFg}!+g#la+*L<0>!-Qa_RpdEzg4$?J;e96w+4F(B?UN#z)IJcaCdjB~3*% zL~4daRiVW7XQCYQ2GR9cRADnbM#Zc-TiV~Z#7;wij9Q~(8FK_6tpGkh_C!E@P*of;Zhp|h;FyT;c;*17 zR4df7AVqloT0tz;e)db_M1w`&W2t#y-R-Kb^0Z=p_7%9w*0?pk{IO?pJYfg*ybOf) z&z}^)ah5Wf#z=6-IM!j0S`+ECYYwLaTH&*Mom7=Yl_uhrYZs0Wqv}UirRDKH1vu;l z84SkX%d8i~dg2U@b$y3*865Aj?^3R4--;Bo4*-sDbbHdGmfpN$qivl_3gSSQ1-CXf zxV5>(-RZ2NQD+uX1AF<5S0~4OX?)DLXPXk4Rgsh%Rfg}na)nzDAM%CCgngImoEbw_ z7JPX+;g#bfUdnSAT#{(HG0^XEeQ=oGEWyjO6WX%*&lao*$2-`bE?U z9%l7o1@h$+0aD2b_+=gU%n4yEM5Se6Lw*!PKA%;I>QrWAC# zyfqrJ9mQnXgtR}AlBpi-3XiR00RSF8kg?nCKHl~$5JjxNa~cNTs)xCE7|Z7Kv2@qB zN(=Cwa{^{A{q0K;W957{HYD;MMQkSta#Q(#z<3JJJ_nr*`TO8)5t;37K)S&&O2o0$ z5i06H+=EWv{p&$Cf}>;T^cZN(fBE!>;2;0<=5P%E)<`9vOP8fx*;GK7`CP_+uMguu zc(l^hSu|dJ^w<3z0v^?85s5BOYAJZ3P*-h5s>7Vr>+se{L2;=mzSO6PHw!otGAXdC zu2QjJe<;OXSym|zsdL;zfk$s?Yx}B%Xb_dpv81j9>@XGq(Hng!)43BT>|T8uHn#Zb zd%w%QyySoQ$j9N?Ym%a3s8SFqa#3$DOD6f8ey1yAOe^>ZY0W${Zf&ZMxNjOo{W=iAl`$PE1wyzUseI7W@h%Wl5Mpsq)$zZq8q{XfQW0uD|)exzjWV1UBPzi2LNCqJjG1SU>d^Mu=8biJ`OWwmS`I@BT3LEz#^ z17p#e<96L8Wqg)vc!uL&v>VsGZC4Jz6&-Yzb3b)#J`R=pQ*31wmD9if0O0t*o{V`% zZev5DqjAEgFJIxaqY?LJbvj6nFf#7Wro3`|#J3-%(Cb!F6mnr6yfhf_t4Bw?noY=z z1tkl}{UYb~G~=a*55!RkkKgO@;`V@_e)NEYaw5@A=X~wwbMDNh92^{QslOp5PS0w7 zkrtL^eXm&>XECq65k>N_?)GFw8^v|H%BMah>C5L{R23Hyi<}+=dNFh2aav;$DC2fyO8QzeDhkqKF6D^R^yE0{ zc43;x^(k|t>~V8jF+XX4QP%PtsILb zJWe>Lw9eVFmAo~;KtC2DmkKy>0<}rP$e0?yThwjg=l=fHnly?SYRx_{j5IrO%)PuI z)v8JbgI1cCs$ZL;qf4wPW!^ESIaitb9&WzA$97TY&^LE&d}c-et$LDLt)!!nUn)}Dwfk*ZKU|bzbXHr5aQPC6 zD}J}EovT!6mm#dtD(Ek2ZGS-rQLX5JrE3?ndTj&X#Tu76h;2%6+ols)bXdzv&pppe z471;T7+Y=(qde!% zB;(c50XH8F;BxAkBPVccdz%+Gws>tiWn>BxDR`HVZ+nA?*ne|VO|GXoeMEbh3< zd2tT&S-^~T9qvUI_Nk9mP9s1GTfr*`qp^FS8F{eA$igDB z(%7N^+HSny72w1e4_P5a0ZHUEC@fsP#LY(!_!oyGZl#;-T{cYIUl|$wh#uJ87!cLShvMvgrYzTWpIfu8?m5K?^eG6Q> z&R72R@AHZO;%~xFf2Mh!VK-`EJckEIuz4Adr@&O$0dd!9))WX><<8H#zB+G8kg^bI z1|$uwh#`;}*Xas~V@4+8S`@QimSm=6-x%)ZvnrJ(_tjaT?R#20BO0=?FzVR3Xa~{V~*v=Es7lKYqCkhirLKrW4QK~G z*>YhjO75;n&5#JcwT+4f?sn z%kwE!vfHW(O7;9Rc$P}Dz0I{n5{xxMCXTWQd#8X)n*x9pxvl}~MK1^cry zJ{)Tag%c0f!swh#AnlVr9I;oF+*Na~#Sx!M``nq&d9|1`48@17tx|Mz1=moVOqsIP zOOBQFfmsHVW0*~rT%jifY*e=9Lw;2ihNU2`U*D{I{(gH8A_e;k*Y5sv6S>q)1Ji<) zrPY@O0alioKckgPjvwyMl+E>~p}FQ<<=~$Nr2B0zswcAU`DAdF~eAhTOuaEco(l!soM$TSrIGx$L6yj)lyFFgq+Ts@vM~(_^NL55u8eX4Ixi_1_@sR*A?`D+$Ntjk5 z*toGF59)mGqEiuk&rR5F6VKld79*;RJ^1)Fcaj2+`aLMJ#hbM!d0&a)aa?X+ zt;G}-lVm#%mg;3uQ$-8Yd}#T+@m^2LVm=8AK{jXtY~D^QSGOzzptM9$dp(yu(=78C{_r zyEboZ$Rc-R1G0%@ICbQ;aBjVKQfyH(1LWkEbY^(|uBwwMoi>1r5*kBA&3Bet%Rnn2 zVh~Bm*GY`@Riov5 zzt7f#B@3>#RA!+9NK!3P?wzE=Zro)jj!B}3m$PFA$A|2``TP96cis?&iYevVZ*0TE zedZ6|VXw@&mUN-a*>fN^9iNiqQy`UGdmS~wNsC*kIY(2q0tgj|Q!+3>yPT_147Fwy zsft09V;LD?!KAJtPSw|llbTs00x5J~8!oj)KohEVdBMvD3&@*o0~vLD zPqP|)XfKYInDX1XHV4`mA)_b924F{>o|Gy?9M_Gf5E${*Y&^grqN2JAaO7d1U4RMM z07W`ow`M5iUY?F+?1M|6T6XTLE|ETSIxkVo%}$qJnoQ+>GnPB^If;UyjuvW@R6wCR z2|m^)%vJh5nB`KQx-1tv^ZJx|_v_u-tdzw+TJpKS7uH#^Sw_?i4$RPXeE)UBoQIe>mPeU42+9f zD54MpQ>mWu-QNQb9>Jrx-QqSAx@Lsy)3~1OBjwl!hQ~U&`Sb~6+y`w9*)Qq_|%De^C{1R%nKbQH1yd__BVP6 zyWhgcJ3apEci!fI{?Gms`1}6|{@_QOZGLEA|7`(VE?X~b_g%G)c^zFg zrHI)o6);w4R>fJ?jn;v*);JbIS?!~8kc>EunKf0()j=FF)QWvmfP!HhGcuZ?R*Z_0 zJzv%^m~L_-jDm{A;aC;mgcfbs&~{ox)nNBtzRauNigr<09mJ=zq*^hEBGK7M5_Xb= zoun&{?e=AUB#9wP_?f-ed1W#tGlrKZW9*{`{OF(hK{!0%ufFv)4$7R}q(h!drIL{~ zGH3OAkOZkgT8T!75q3dLAnZv3>F7S;Ou5jGZ{*dZ)uq6jf}h+T_5Q zYfGafuWG*TSE>#Az*RZ_{bN4?&qfa(6c6&UC`=(MT#e#7SKf zy?q{)GviYi0uaKw)k{THeUD8AQOn2)ibhVCLMw?%_xsRG;FCArzfqye+|>5W^YD@9 z;OL9# z_I=z)mufFCt+Yoemr}Dh+DuW_&M3&e5+!mkYaLL2g9q1a+60MWNk7dxUZVmfo&S#Gvv0oJY=yU?FeU*cT*K=5-Tm5q- zcg~BgSsfvG=$%&;IdIWe+>rlLtH_li^GpPdOSOqel%%rcP6TwX$l2|58-3zMNOP;J zYwaC;xqhblO!`-}Qqt;KvH%o!fI{1RwH*KViSPYbQ#G(rry8x&0SS*^Z=bn-3;`1X zI;7pt`ts>OsiQgJ}?lB%q> zw+g^CFnb?+X{)LvtV-ctB{I6o!s;O*121H9RDmSxo>w)y2w#2mEWxI>g{o92G{Nu*|K4fhy^4H86$7Y-Tu~zBh z3)pG%hgMH8MI~Gx*FmG^gDgb0mmPoA_-Jn*zJIU%%qPj*Sm#b^Ch@U%n=zb%V%~4r$cRJyf@e#LX+x0_8Ygx2(yZrc-A^+s4fIEXa#(`qrCTPwnsUFVn=Eho&4^9R$6tFv5ysJSnPX&2v<{_h45(Yk51 zt{)HzPAF0@V+w^%S9K4z&fD+T+F(An&3-XP7V7i4I1T;2EY?lgT>MR3>PkM7<0%DY zApoX|Pn6|sSeD85hX?SzKfn(?^C3QS=;oEL{0{uZzY2fiKZJY&zxC_z{581o-J(5H zm6cR=Usx;GNg+bE^Qk*0ml_2~8Ek+4!Sy)JEH!(;&!N@lLI11Zp{Ff7QBwV`ro=}K z-Loclk@b-Qw2|_xj%_h=8XviJKu3@ok>H)g+DWUwx8y9UGEtX>-A%geCJAT(BX%6H zk;YLCCMYHMLb?gl2fRE!Vr&cp9dma+;S=2y9__gi--2)n7)kvQX9RRprnu@KGMw)>UJ&_bkW;HpI zRx{9w6wN*FkSYhxtCE3s*GX$(J_L?_W(_$qpXZ?kVfSfoIhN4n19YYlH$|PgIEVQd|Gnt<7Xc|AhqHekd%vZmEVHv-m-8?=l%oav2UThKSg*%R+XG%cK4erBwYtAG z?3V?%CmCNjKH`((V<-5h#1TmnNEI(`ZS&fE?#c>ERB%)}7RS+uTgR8{{QEKorP$rv zoNnxoBdAM!Duiw`!$fun72QZE!-TBRHo2 z)3oLUzi6M&97vfoxA)F`X=-XX$osNvIBZL8?ovs%wxHjIXLcCe{StR)Q|`~EJhlH0 z-2S&Ba{4=8kjfoN1ZC_14%M8${XA3V;xJh!W|NAstB+@Z}+$F z%kbe9f*meWo;wg}-#J-;o6DN%BW{0BR;}bZI_h?6EU9Dk?VHkRj=(_cDm5Wh zijnL4ySPgKT^0}?6 zvUnCl2&SASKw3NK^?0ebQx&r+1UIU4c7O&b27xAp=yo)(P2KM1yi%o4EotA0wrefV zJ-@)WGHza(PDoJf#8~$0>b^tXr*tl)c&SiFy zfY({hrF#BzIwN@5zN$!m0M?vl>jDwWY*i72Ri>8!Jj?7!m&I+{+8QM1bb$T&M=R!{ zuw5%zRts!x@!vDrY4?{}m%-tqPG|k?!bb4!GAY`}Z94()*0IA0!T)_Opu^vYzJY7r z2u}*=SIQlG(W26yn_HO12<0%{;Kznn_-FfXbK8~nlgO1}KhL>4o$~7VSOAW6OBMrY zdA-!-Z#_HYmyZs4H9H0%H=0b9>=koH_ zf&@uZ*_+R}Jvrv3Sq59FEW*yBdc6qz2tkgjAI{K^6}Vv+FO4;>NI-W%7dVc)yOw7>>GlI@)dI!@3-qY#oM8)5higfX zH;bIi6p}Vm7PbCHXj+M**6T{zMI4D<$K$XNyeM1qQ{={}ZGE;V;uBVlfdEr+VQcFd z5K8*QJDT|nCfezYba7#HVHlN#RK1wHbB?rVmzbQr=~${+=*X2GRj3A-=>ASOsKFY)z-pJ={YYoSTu=fVM^A1HeC5}2k2h2>`Y!p)6r7QnD0Aa0M15=9QWP=Ex zPcyNc(W!CYDeYJ^u>dGo0aU^cZC{Td?LhjvRz>$30HG6@q9Ae(r!p?}q9nIk%9RFf z4y$0)j+*~W*m1thY^pV>QVet?gS$dKYK@q+?&t%h2tYhp(zSd zrMVvW*!=f?2xd9|_`w^D$~mdp;+4rUnYFyw@580bGJd>i?Z&KQ-b68&uH=a;BmWGp zEVREyZX9~Y+NT65H_vJ-X(=d1Rx~pPO0lCfnNp0D1|=n7v4(s3oEzO9J5j=3UR39r zDoM8(DD9&AxaunY`uqMApaaL2NgTjcr?9v(z6+*#|C>eCO2VPic<)X(U%&`iD3Td| zPg9>nSQxqnzZ{4W0viME%R0M~!4;sf=-ycUVD#tL?vI*vY zExDc~T#FM@Te$QZ8!Wv{4K`L~B@JwDa--AX=f@eT1H5vq1F`(V)|>!+Qv)M+zQfiz z?wOJu9m#xk{i84*3$rq6tv9M1dZaxUUB^C&bXlk$w-;TP`t7TA_L>X|ph{))?J~B> zbfAs+Ek-p&3D2e}FKldc zXF3t;wKC*ZF)B;;@)`FIAF+FUS;PnnSD7Nxys)*!jsA!)O~>wd(&o&R+?iy|4X8 zg$vzClSUB(7xkqqMB`y|yZ((gfBmAQ7UnEmTF0u$%6mN)+YAkFUT4SCt^HSdF8S<< z6IeAyeycSURvi6&CaekV(iwEjUXe30r7In&nvR^-4j=%APdhL|!GrtoEg$DYQHS4} zjJZ3X@f~AVVW-<89$Y@T;P>a?)7dj|n>#&=%Y(#PwH7_i`Nmh{kgw`EPp3lxuOEKR zwGZ}-oD^{+cj82<+Z-14b@7V&8on9skLM{5m)N|%B>aPCyLk&DkljTQKv&lzgiMwt1`0fl&k8xSV>*+*D)OW zr?HwUHbnS)|GFTOxUv$95(Y+2%=fr{L{-ZoX-==-fUdEi(wuA z)fk>!^puOQ;e5Ze@2mIPDsbwQ;K#dR9<*4YNm#NCHUJf9#7;lw%%95aelv4(T_9RX-p2kP_Ejj>vp*a&xPzs``V$y z-w@n%i*=v->_3l?e{sZ*T)x7u9367MEGqhS8byqXk}pp(zL-tY4Ov!VS}|M_V3g722?N9kIJ!(Wr6BiEtVgTdfz z$A7=t_umrTh3S1c-)sVEws;=%;GA=Afcn*1Dimnh0T9VYNwavc50@`d<({ru=&y>bgcR`Vw{CJP7mVN1jnyi}s&$_2MOs@Nulh{M zoYqNdr*b2e^qcW9Rr*EbSPdU}9^QUi9?Vu8vwbJ(nAwt4#e83y${3D-sdH404`rXG zlr)l$ek(iOF1zzS4~&%(qrQZ2zaIb)U6=o!*X@fms2Hw1Lv?}Qcun>(nMg^;P8Wyd z2pE%Pjyd2K%vH*cW40*c_GN>9^6yK>EO7rq3UxKd*lODZLy8T?vjb?YVGukBJhNk< z6iKWYplfXnYb(b(WCJ88oLCwELv-c952J|03o?4mAD<=?$Bv;?$Y&dyu(`#~)gAtB zoDeI;E0c^pxA6Kq&wPti&H3Hm;m+)s@9S*}xLuU&bo-4-ejHl4 zu3Cu}PhuS#$LT#)!Czai1$?(D$L>&`Wl@qFsiY-kP~ln{3?5|Pb;(u}aYIvMkW z=@$EilsX?o5koD^hTOR4omJI-LX%1!wo#GBgHvJUl%aF%vNJs3!%8U`w(;Hr41*;L z)vDr&s>N*E-#1=^Hi9r;s2CjbeadOzN%MTt6Jy!EZG$PN>}Rhi7%BzZTOu;*s#)a+ z2a;X_TuTy0rD?WHM>218I#A4DI)_2r-A{f8Y;VF_PHU+>jr;3Wx^>jDDC?><#j54^yO~~nrnCp!c&W`l zlP~Cm`1AJ6813ec+|9$e>-RjC&pXbK$jcfiC_{&$1++Atc?jHF7nytJ_Lr1;K{;^hzeZ)rU z^C@jSPde4(G!G2f)5p&@4}-%l_&c1R*4f{wzia6wfK2RB;OsBLR+`VfZw^yR`YK7F zgq!IGH`5JXo6o_DSewr!-z#!nIX>jYciv)f^=duw8v{wgi(6aV+(_BWk6c8|k{iQ* zG3V9nm>(ZKa%$*_Tfmf%Bn;yYyPY0mGpUbf4SU6$UpX4_!$%{RF3_plyzpFFsDHbn z$_XmJ`~19=Q5)=F(ZjOwTO$v&*!PufK70L`3{sK5;q2aPu(<)9o;ak;R&LU;HV|=< z2}DJ14E0F0CNrS}9PC>~0r2S-+I~DeE^2W&e$VD1xNgwf+TgyPz>;TWms5Cl^J>fK`DA2yz zg?73M0Qx`$zuIjdG4LrU+6x)$dM=M62Rd=7)B;He${PHz+DGyc(Adt8kZ zxc&!VW0RkF=XF4ioml6#m;7GM5v5K8UG#ByY8l=yR4eAf=Xu)kPwcm8Y3uy6 zCDWh>adPDkvL!?9#dCxCT`AdqQMy?au@gmn)s@TK ziKG9Yy>|_=?7Hsze)~M`?LPguJu^K6G#(8}1CS#MLyDk8s3g!LTqP(W69-C(iA6o= zisY)uRZd){KUk@h%Py-TJ8}FWDa&ysu9BrVQiXO5*@DZY6p=E)h@ixw#F5D%g#m#9 zFg=**>F(Qo``pJlXYYJid!MuK>HFyJ+l>J!uBzL8ALp^pKKtyw)_<+_U!+>Nzcz~8 zMz@%uG%*(ul{w(F>;j2~Sqmd*ElG*$apIS$pOm67>pDJbc={xnWE_>mI^{C3R}!Eu;l97}v>`FNQf z;5Zx*KmI6gpWp9r zy(gabRBMs|(xTu>y3eQD4L-7Y7tSnMG+)Bm*Up^bncX&D=ybW64a)rH8-t9@bot_L zhxe`IlAaOIL$(i5gAbiO$Cb3ht8d<96Y-?QO4BZKu5>%RxOJN+mzN-#tHPa6i%`cW zfvihu1kZ5%K#8L73^2I&i1ukp0KDsQ_@h69voQzCt{zrgIsr_-_bT$Di?BvJ5I13d zfz>c#!`Kv+JUa-WIFQ2_iFODh;p>>6uhqJ@2HL^K9`73Epd$>X+5j1)T$f6FXbpE{ z9#Xc>@bX)3J(tc+Pa(WjCegwx5LSFk^ z|LrKpI_$pV3{-cMM=2QN&NJ?uN8SGIBy}Y`41h>9x1!*K%PpQ-TH<=IFP=yvo}tue zZVdWt<~d(}<8|J>_-JKdCFA9omlj!w84RW}fk>-8N6|?%L4jfRe@8FuYin6)4Q`cdE89`rg^M`d+z^ zcju)EA_-#*_|}c!`0*cyfB)}o8PKR?ETHND(Yo^ksp5K9dPCX zXoI=>`(#Ecn6!1lS{Ug%;1fUDgvZDzvadlDK<3S z0d)0hDrK8OTN*aD<2AROKfAkZEax1I-4>2RUhIQaM_^L$qvvmSf)Psy&mTva9@uD zXv+O&G?ogNBIwSmtN!-qRj@#*siHb28K*-4$AoqGkk8`y^GrB)z3lsm*p*{|o8vn9 zj-A@#t#`A4B;hgJeNr+Fl$fTYo>mH3F=hPbp2OfMa?ILtYZ+ODI@y#P&|GTmr!d48U?Moc>|s(fS%SX|lf^FxaKJ-fX`al~5lx&1x<{9c<&XU~WN)a{Dm(`c~XXmUAO;N?LV1GIvWR2$kw&hBffhZB50I>o(4&2)S3#hp^ zhGO_BkcgKN`vnd>ph~~;joCaCAnKKuU}+iFzQYpdCh+ig!q#p6+MBO1K+-i!SKz8KlaJ>u1{^rdsS070^215##thG?=ieI#P?2NXq*o zRcqYZlX>q;a?u(aDnhl%Q=(XYO8Q8eRlY=HN_WEqYhlQSB_6dq$g>hfY-Tx`vivFv+JW$| zv_nJk=iVqaMYymE2aYir*^Ag28y|m1y zcRPHpvkTf*H!+&jC^qr|FYL8>_tsrFbGA|dq5$R+KD@HRuiU-E^?o00T1;j%H~KxE zZ|`tvXUB%duSlN1F)Yu|^WoMRKG(6)ANG8iR%~V&&+TmUkyZ;<&sXb9$(2w~EAfm9 z7vk^#UK$__PZrwPe(=VObRAcH#`Ep(u`!RBPsg zfGp35^QE_%$Dv0iIN8pOl6Sr9lo+S6bh{6 zx*PMbxFm*dx=+R3V6P<`h#{<`Bq=J8@c%HBGQ4p^a_nKWXJ@|y*RH~Y53~5SKjydh zcKET?`=Fajs)@4I7J`h@V0OxG;2HD2*%i3zPcC(%kZV`Umen<2A|RLCZfz)yox0|( zlwC8-L0%3x2r!qG9m48*M}buJ)F=OZ)rE}sjw%YnU7t&{I*NAg&g(}qx$n|_NkM8f zpmh$`AA?W*D}KMbXG;J_tjA5BnqQPu1D6gIhU3SQyJpvB7p+n67r!6M)D;gj^3r^80%ao`r0i>^3~Tn->xE_`&)6(9FZR1!nww`Wj%gPauz?1KTL0?|I8b{QD=hq%*TzLLTJ48-e#-@1K z|1JvQ!16X`K0B)DeDrbL-0he-OHxub{CN~F6AT-Or%@`sF*j;ldyo45B;`2AJ?cd2l#6DQCstQ^c0c6{`+E$m$I_M2+sraPx4*|nx9_sD zupp@;I)fmGxj7zRUg6m@XZgpsZ;9tE0JLHw&$yCyxZZAaaqS^EdjU3Hm&yrC%Y3ZJ z_$PNZ*eP-wW-3PHMxOCPXOEBU?Te?eZ;8NEh~$HfsaOAYmN2j!5MHS300D`@3q4MuaR5tF)W zaAiYvE|C^Q&^luy2fS|B*@J}@c*kWv@cG~4`Mqs6_V-zvn-}g6mr~+@>DZcsJxg#J zC|Oi>Xc_23Nok2=X@4WM1a(G$kJ8ZAkZQ{lRxx2Tn zicR7ASd~>$G9_R{+X8$JfE{@c(*OV<07*naR9IDtIE;9r0Wau+R7?5i&3wQIlSN(| z^tm<|PiS1FmPlv%Q6BPHS@Ksk^n0R)IW014sE;Dwtd8LU4{F5NaOWP11{wWZRstFa zQ);G0Io6~sWjrKmBDhhn-s0~kzXcL?p#mG(mBaPx{PVqCiQY)&+06&U7}6q>h!4jb z6Gk%Mx-p#<97w|&6c9y1E^1twkPwWn1|h3TSwdP}Js&~9hAvnQ0#YMHtSPoY%YCbG z@jKw_Uz54LG^CwjT?d;>Z^ZNtep||z@#nrC>!J1L!HI{Trl`94(KFTqJI@u~-02Ky zhg14hNG3F|JjXbh*~u~`B6TXjam+HiMJ~s7?SDIRy&NX0@qsZXdh+=H)(1H11H{zcpB4ykQc`d4ao?Y$oOXYCiXLGAb8|egu)w3uIlj{E z389*?RaG$D81(t{Zkr$5+lA%|B{Q^A5QY5Qxm7;ZZgVBwx9zW@IIi`2T-@4{5cRS) zc>qbm`xX{?WiS{bI!m?YdcVgfcenY`bYB#pdY|~E9Np)ksw(v;k5d$*hZiwZfQhI` z^{i+k-f=f6&YIi!c9wdW?8a}mfmBe51Bi{Jkz~f-K+y^VT1HC3W}#G5 zd9l~!FSb@_09X5co7Q51h#G%{&z~_$e1M|l*)Rc76JyZuENG`K6&$XZdxFDEvl)&{#;k$c}ms;T~s8w zAme$j15s3#lg|un7E(op2v(z5qF@}rXUA;UNc7Hp-OKu2kHE{X2w3VWdZ^%_AzVJT zZcLAvw+=jmZ#QLk+`4(#-KSj7VXn6{(#tT7gZ{AFi`n?=$Mi)5^ro(!5!kHncY0qe@DL+JABfMF)5u;Alqwv`%z2=Ewei z$nzXqY6wsL+R8<2%7wU4!1}cWjPI*@=a1@#w_}wPU(C1#RFD4Jm$H%o2R*@V!7tBI z9|+d-8USIy6Uz%cy|lm^{Q;Xr4mP~EUF5_{@tMvpf4;p#tF#xB(ABMRAc6zWfSHG*@-13Fr7cU(dV2KV3V}TzHh2t;?s3Ge~!~1OzCbtx+4B%7Zgj(U~y+7}sF` zbNyIj_Af)QMyL<~aQl`38V{_)<_*}r16kLmsR&u%JA;ttcDGo+ z??E7!+gjK>tBk7ZN!i>0Zg0xHeg6kpeC=g^edjJexqOz@l@MNi6<&D_F04w`grZ~H znaNm*no{A#*r*W#Fg=^=kEB`<*fD1NER3y@t>pg3%?f05%7ZIo=>rg1CUaS#hvxws zg(k{@4V@4D^ci=bM%^1X57~)%RCO-p8qUFSRRU42J@(=7ODN{KoxAPxVr)Ch`(9Ka zLU*5Y3oU3a!GrIBS6+e7eUhvFlzA1h76d%Iu*egu=cKwsps1?Jc#R9^q!05!1>P#4 zKd{e$d)YO~k&dEjFW2502x`Z13*m&=)P}Y$Bu$E{eCfq7gl3c9?siGhyx2{7algY) zwpO^F_4q=!he6UYR+U62w8AR&Fg2FbVvM1m)Rh+pbPO5z2U9~*JKB(iuxku)7{L9j@aLYAD3f$xBgBHyI+m_IpN9s8jsbd~ zri@!Q4{LuMH^rcCwABqd9op(CwT6@_Dko%l&zxdY`&>`in0EN1R2~^AGnR>++5Vd_ zp5F@FYC;4YKv@N7oE$qtn$*X$j-Q$n?I_}$uoLEhqmO{2&X41^ z_YJdAM%qzDjd?%m_mi6Ize(4Yw^WYfP4>NsbMySj(lU=U#o%^1ukE5B)de>OeLmIR zsd84GSI;V(PcAI5-VmcPvxY>f3vOfsKE1muj9c_@|Q2bWqrv)qzWu{Pv2Glq6P z;7@ufSMS~yZ}0&_;)HJWiH;X%kelkIJ;OfF#6$l2tCc~&{4EA<0DS$W%9tD~g=M@+ z)>Pi+W*gBp9CK>M0klv~3(!+q;*$#yFPa zk35z-IPaFWyz>4}*#59G6b)8XW7vT<dD~jES!2@A4sG34paRr*Eo%5rS>43m_XKt5*CeTf z7~=>2_8=WJv-H?oY4Jm>l#BhzjlB_QQP4@;Wc?OXiajW^iHbJpXS zOZD*t<2{Nlx(=#wrnRKS1;V3rJr~D|lTEF;k!Nh=1;$@*l7z?YxgD6b+GxO|kIFOM zwfq}Je#lo*rMP{wy-r))I$VFbIiMcN1(jY@IzGI$+(j<39rZQsxRYesv2$ImjrG@I zp4~bb`cYqnH)kDH+_~NVF=KReipr$()qisyok=q4cxJ?Jv&?tXjx+9jC$ShGw%xN_ z-?yxc>l80yCNPjR`QW(~o=pdQxw~I_xKdq^>X3~rq9APy23+lS#Gsj;ke?JMOzA-!HAuX3I0JX+CvVL#47b0R zg3e&RAyF*hl7K!%A$&JkW=pXO=&_k)T#9WvOJmOdZvvrIPbhQNy-2<=lv1O>%H!|j z(Klb`#dM#a*xzI2=IfF^a^XH`&f9C%(x!0C15p%mT{^D-s-PjDi?ND?(PE(cq|;ee zwa@i|&z%ujPq7=1B`9fz!HKe;kF&r`89SzWTZ*>x$AR6o+}FrfSg~ZVj&5Y=xFz7A zB>Lh9eiT0NAHy&HHQKr$Cg7Rm3?Dmp23D5kUK(x3n|tL||M<`4flKriH>=c^b2P*I zjXH))8M5Zi1gzv#d1}SyGn;0u)39@aZgqfWFag@}M3gk28btI}Ph3nF7 z#(@(~{PZ0EuudE~XW0+6DDN3yF=YsUoZVdEN|@&pI(0<`+O0BtgKY)~p86P(NnCjXYzSkVisWwl)%; zkJUi&B@0roon40aT!PI_8?l9*HyEBj%kFoPSiX@lVY|1j9J8vKyA8+HQGD0PUgnRED;bskJ53o090*97wLECewi`-pg89JJFJZDUVDKq9sRg++V%Tycb>bMrj2+~Sw- z++rikNP>V=Yube<7&it3ZtS*MUpXrZP85k@q7)aKO)k$Te6`!>Mm8W*n%F>F=e(8; zcy)K1N0J3tvAhR`5R<)s?LpRVyvns+m(?f|WzlHbdB(L~%8fg>SYK{c%B9u^p9SR^ z3ZV4OPf zt!D@fMb4=aN_ed;#)$V)+p>*~ISa~Z3v5_JwGfb_6-Kmj?CXN{sL78n zo|WoW^Ya`ivkaA|)mUKCXH<6;YJvbvSi5J+yFc#PHq~dpoq}9dUk8fVD3VYSYrq)V zT9X-94piol)iC5zqrpa=^QA$b-|TewZ}#?BSzO|&Bw=6YvRx3CUE>??DZ|_sX|0=M zR28M51YpTfUb)!e?K9io8sy zSXh$i3Se;kCI0@_U7qXgks8CtmRdZsxWHzf+Z2^4ZJrc?G_Zhc7}6^Hpo(H~{r+;E zqkxM5y&mms04O$e!L!K%eD^y9xNdJl({ceh;B=Ifz`2)7IVx=3+@rGShn5))q-oRH z*od59{9LG%;4Uf{UayA0q7(A|%&c40uA$UR#%+Gm^ZzNYC)2w5UYVW#u$`EOa$5c4 z^oJP_Gc(EOjMq2Ic&tZ|jF8y?j+#DjtnJ(YJ;`x!*z=v#!*LS*@Ml)Wbc!oM<%0u_ z29GZ;ae01$*9O~Vm@gO`_FM3Ldz+u%Jp=KI7=td1d~u17oH@fMwzmNr{;D9=1)F)s z^E=!8m4zi}tqL&Wl9Y>_XIEDEd$+pW7z|j8#k1blnvHD0jX|IFZWkU{gPm>45_5-@ zu}sf)<}Ydv@~=;#jsULi0rI!2-;z<@;V`730#cpRE;Os% zE}TCvL-hriw_21F4>(BWNwd zPFqsP<{NVFx+!$pWtio6#SH<7;)VcpB{}Yh6cuMAdz=THzYjkA5&p`*{1yK0oj3S} zH(up`&>9ulG?MRnhqPmE2?iSG2GWKogvDjp-4dY8PZx5j3z-XR&IF9|$5Y{jg4RVj zqdKVi&!tmneGt@e|NS{&XbgJ5$Ee@OinmCP-QIaQ$2|i;Dzc?{BeL4ERf}v%K%Z3d}D5H!1VP5OoA%M=_2aE+qOiAwPs)r=1;*J1AtOC}fh^OZl=o-VTdCq@%^L0M?osaUt z2Onnr)=mERooyQ#priz?C4_b0MdsblIxyiPI%3CJp*-#mynXyA4jZ{R9(C;sx8!+TS%Jh>+j;e6HooyHzp(ix zFZOyQf#T;DTRhR6BhiNSAS5Fn$uUxjyQfOQ;)2XwW$w2T0AbLFAh11sJS3;=Ej|^QQ6V0?e2wBb z^H1wJCdyqrul%T;{rUUUodljtbduCQPivN`{lC{zk3gx*)OOw@?_2rIdGANb$OzXH zkdxvUnYB#r%mBv;?K|c&!oPj_J%4-b0X)akNZtznyU`7oo%Vj(`A&MC zns)9Z?Qjo8dEV>M8`S=f+T<{Zj`3c;Xb;@*yiyr#_q%+h*JG>5nF|8Kl4vbJ0}rZz z2aIk5_u zQ>qM-{?0~|C&CDpZT`PN|JC)B zt0;z!HQahSivs#xF)o(o$KSed772jOE%=S!kcb`^rD3SjPs*qar?|R%=zg>J(`{GJ z-JfUxj{C{(QxxdVUOB#2qfiv|QsMH9QaeM%2MH(FO@ zn2%m!Eziha`vza^?eqV%xA;B-D_JJnG@Al6r5#D*$_4_eoH+x#ZRmFGxH47LkE?#- zO8Vw`70&C%P&T2&uN!-1&TM`V5SfKDq zhR^&Sf8+o9pZH?d;rpA5{PF{j!0P>C@C8`o!p>D;P|a;d%Xf`tl^WyHdlc1pbJ1yz zC&B0{^I2>ARq?jP=q61u6?0`P$~J3LM!p-YvlXP{-3k=V|2BX z@ngwFX@o=IhWky8-F2G!?0(OT8QL~OZcoQ(GGpkYq*ObSTABnx9=_T-%j$*u;KBp2 zuqY{Ruf4`6ul)!9>CM;qd)s%pmJN6)iunu45LKo9bm|KgLM$p4(A7xrj@D-m3SbV)VY%k0&EjuW`&ZINjtZ z?Q+MO#P4vVS25fE(?~ieT>A8Tbeb=3tW0Wxnsx!ld}(+7S)Y9~`~I`Yq_I7<5B#=| zK29`*;MDW=Ozr=q_b@(HWl|rEI^JRX?6B>cw9iS*Q^z^?+gV&yleeV3V@^_59r4kzsfc;g22 z_TVr4rQ`cw^E2UT3PVPx$WV zaY%X8fVqNmVZ;}UlvWs#M$a zLOHi9QR%=^*9X3G8Puw$lnQrI_3?o*NJT2@_uZs*=s;K045Xorl$V}0qVN26`7HX{ z``)F1Xlz7_1yfZd{T0o__q-o|`e)$fE%@bM;7Zm(VfY6Z9)PoF!3-c;qztnU136X{ zRc&rqAgs}l`=8r>^V83U$kX(Qv^4+PMqKcy(z;3$6A&vy0;~oWG%$8OvhzuT;k|Lp zjxKnyDEN)NHjm!;2LHul@8ta#ALIS6y~e-o>~XWOz^i?g;Dd4CfqbrWaU7;!V@Q>;oFSU{KuRg){36j5aTQq+*;3F^ zL)Ozs*NiL}{m?j(?NbaHhPC;5`2P1nKeGhs_L=t82Y2Y963zbmZx+RJlpM3|QytGP zLSw{++AuQ0uhetAXU~s{18-e>3;TTHsm5?{jFVYC_H~&xLSb44)wuS$2&Q|Lf#u5U zPK)3;>Ha=(vE%2scJQoo&vBxV%YFUzX7q7RhJ$00IQ{AEG6$bVTSn=Mc;9_nCdil@ zav-4@3#4BuWLhs<(wOX0oVFHKCrbVVe)Tb z7fs*KGk~;_#m@mo4qz#?O&N$l4WO`7!v4N^s&C$e2Oc67(H5;qQcZ$_;kM#fn@Og@WukG()0<9wqO zMevM&>zVKOP6nX`0vzyE?V2>2qC^b(k~%WCXrl!ViN@{Ph>)cf_@3|OCzcku z^x5Cx?{D7Xf4%!AtL-iR&V>h97z`wWW2puEwsh=#R)J!=0Al+bY01skh5T1a+FnK; z6jhW#NrD=BV2G)$n_j=U^p|?NS{>l3_w}UIl=8Ro&p|P@4?csuJMK{Qj;^9D%IF7W z!HozWT!)|iujStT>i@`3-nver0{-T?hgf^~G0RcZKM4X>!+=dAWy!B)8UJv5i_14& z<-0F^H(dH2KJ@wx{$%q_u4S2xPHJzXSLirDL)VUR<4 z+l{~SgVj<-e_wB(4`>{|I!x8FXBHB9#^;(c?=|iJK@K}@UfsOQZ|?2!+}mE+U*|~;pl*k@U6NLHSrB|J*f?+^_;r(YsR!RHRE`m1)zY@>34?} ze{77=V}}6_U(p1sC``G4x+3Y<=RQo^{q08WGwt`IZdc!DR`C(ckv2?FwdY;{J!3pOk8%bJ**MXYj)P#O+!zT01sIv=^|$@$Z_1T^w)pCw3z85hHhp7iM~`_c=QtQz3>3Papm*; z;+Ow`n|a1hz5X&!-nqp`TW48+_&cC=Myjk78pvTThW)Mpf{}f`veZVL^li$GC5H_n zi6qLbx7PKI)@5V>X-AGRpUCqVDv3^T(rDT=rNP1eb~1F^Jx^r0S#4f-5ieylm<2wg zcz6tzX)?w$GCbg*yyues$DnT`k*ER`-uW*0iJyfx--LhmOZ?2I|25b0KF`cA^UT>* zxhL~BH7>LL=blBcjJKrLIq=JSHip_;D=9dX=4Y=#BW?BjaNK%bUS8j8 zkU40mw*m#BM257ByzHyY2g=I+6DP$+k&{80jhWkks2{?BDP0%ZkB1f*eQud)jfqn~+2J=0tuY!!eAoOuPcAO;#WbZ|vg->mTRYEqp|i(_ z@7|GekfEml2O&=_E^%o-;pX0MRnAUpHu3?V>+JE^oi}0aJ~1jnYeY2XczS7xFLzU` zz-b_4GavA^ewR=0wRvWH3le8A);rEq{x!0ot4isd2y%>kE<7Mn7nEh}h7^3?!*AQA zjVMz&qNo)BSv5h_y?eX6@YVky$Ni3VSYEdM=q)@NF+8Ja_&d0FX)OcbxBd-$<2vl@ z%6F!a>n*eed^9BqVfnIUS<6nZE1I=?RaY3tvbIkEx9qDG29_+>wy*F?#Mbu-LgA1B zYfKi^Z&7%7#rGr>o^dHE^{9b*bb;?(2YDv65#wHK=yagDD4)xk>2AMV4BN7-@3d#g z{_d&;`TY~d@?Enjec70U@B0D%`v)F^t5^87JGc0JXO~~NeUt3gYdo{C#Lulg1ou4v z7axN&XW{+}!o?9cglu@_j65T~ZpF2crgGjQt19_`HC(I#)a}DuVxvF$LU0OV{ODZ3 zt1J_6W6-aFfJrjx9{aicrSWgSZ#1j|ZmJ44{+Jy)c5R%Ztk-)W00#)TbLkR%@JHa~ zKZWOhgTMTR7kEAIvl@gvySM_2OEP|=hFq_k+x>eR1Qw*VAhLhnFp{=pBg)T>N=4Av zXL!`}31##N#?G$TR-uoo&ASxQ*IIO_53qxv+_}GF7sj8lbL@E2d8Ij(i zhWhm|=`K)JG0A|`UwiHGQw#1u1sbHrkQ>AKFr*bk%+K3MjC1EC8X}Hlt&SsEb2=SJ zQ#LksxRGT%-|28|FyKnRN2U!)5YP$&*29oi5V9V}tcDSn;szHRF{>!jEGIh&3#UG< z_+xP}kntErT#O<%r=2bgVKAU;46L4m#1fY}1AiRxu+upTt2Z3?vZgt_?vX%VeJU1X9gn1weN%hj;WiUbU&Z+c$(VWdlkXq&Hs~{Fp(g3mcH}W z?O9}&h@M%;(ztc^Q2W;QyJsmX-BBeEL zRdBW2<@xq5A6`kt+v1dx5H7V^JiW8bXFF{&qseqY8VHBS^X)cIZ?$>k?0MnT7+BWy zW|O~p{~Eu$x66zB9h^&NBO4H_fUCV8&$M?TIcE(3Qz^zE2B`A@Ir2oKsV1th77gTm zKS_M!u~hbJ-g76VA!)>b$`S9d2_PDXhHi48Y1>u^Y2(foeDM#&^SrhOtro1F9llk8 zH(_YtkH5gjR?bR<(>vY;@BD7@I={IA zTX&(oD`^(Jo{Y=gwzPN969ZmZLfKy5Rs>NJNfLwt3=Fy+@DNm1s0oDYW2_f)%=b^!LL1?JcxN25uQgYUVKdM9^>m-l z+<1kjw>J4Z7w)6+z=NE-aDfkXQrNi3*Lqzxb-~Mnj5|d^s-+xlD^$cPC>{Q>ouA4y z6D4G)tw6TRFeOQ6qJoi?R1R=aOpwGbGcCJ5381 zM{ja^0Ee##j8Y0lZTD6jvwn=XQjT)1e`e&6o#JYeJ48K-xi~k^Q;Und-0N|tC?p)% zXfmzJD2@+pZ=oEgMxjd2=~D}fJP^{jCEX`Rk!neANsZ=4zsuG37MCAbwe3}vfqL2orW3zxsXymBMXPT7`q3l?NtMvG z)EXNy%;p_Y=5F7H2OktboqOlz>52k|&X!I6;_j1JFMfjlc=EHx*4UAuiI zbIs0dy*Ed-v#t>MZkI+Ud z%peXFbro9tsy%@cfMvH`P0xX*t#X zuiKY#9`mY`Mt|)S5qjSx+LnxUrDTEBXxbL&KndaJr8s7@&}nv+H0%SaOWyypNtOUQfsw!BaG$p!;H(b?llugjHQ zPXLW97of$!S`@MtMr5I3J&d>*$2^rRaIq1S=9(ww=D3>fORA2YM>g}E%s{&+gv)3` z3f;u=u;pfIc+MO;p0Nbo1%x5%QN)#g#d??;GZN%T4X}1UeD@`Z_Hv}j^^)Tjk1yZ* z=XEk|K7ZSDb)0epKzaRo#CP8Nz^OPhL;Boh#v4dwBKSR3uaUwWQ(;y$|39;Y#sP(w*IK+0} zmTygQp6_OpXIIYfueW!2bub_aLNX&>wA5&>_j_FFro1o9Do%nVfnJXvT3X_%#bxg7 zY?EoL02+zn_)MqGPwwx_L*vTE6$(Nj8~w+3ZnKePWF}`dYSJ!puJ?Pq*xBRq<|aJ6 zE}Rce%8CTm*bKbuDAP&`&|b90s9aC2t8qSxWU%z6hLz`jC|xBQHezswy^<4#$SbSz zskwXCmMjegJlNld>(^o97Mwi~?|wHdCZlH(UqL%*aiQgTDk08)auxpc>u~3eWw{UJ z9^`$`Ft&vOx0Q%L;kCAxsHDLL_(jhx5_6%a6&!2J&rUAUhQ6^0M#9A5egzkc%u zpV-^s*LU0eYI}!dy3W7^q(xpD>v378HIj2Q=VjCRd5I)y&cXTfl5Wsw$ei)@ukiJkzrn|Ey+LFY zsnJ}D=lJ-_d9HLj{Os~ME-kId`8&H{7Aw!-U|_E$sLFOK3v#HS07F!h>_< zC<(mrIqs1d@}4tcZct>0P&`{MXaSfY-$Ww`+Z*Qru;A4TdcrwdO=*cDuF1nBj7#F8W0&Ta6}^R}>8c zT2S>rwtqug#inN?tlAy8yDekR6l7`2m0p)m?eB3t8*n4bNR1&insmh6+ER-3DCUV~ zleJKYLKCG}_3vd?kQlg@rnKDk*c-HJpq=MJ)~cz-ky18=$aTgcrHph^!}{g!p8P*| z7B=rfZ=dJ(_o+u*ZWfwLam>@nJR3G`>hU;&M=!$C0&Lx}>$$7y;d_S7P#~fFuZ^!s z-s5iynbkm=^1GYo{3s2-%)49vwfoI(H^kM0w_f==)d|Q%g33ckP}eICY4M*J&T)?c zj%knbX*JJJw=Kr#cEHq*K6dKUjNEBXTx#5L`)Sr^q3{>iBg)JG$1H6(W8T-l8@1iI zeMkL%*z=9s?yYoaej9)pA;;*HK)?nX4W396o>)kDWiTK$wgjA($|{?A&XxTR?`v$nXF>=x>x~BMjRx(aASNgy zMmDkm*LwRx5SZ@6d?W_b#K~`l?iz=@x(X>u9RxXwyow%h-x~|KxOTel+{D|rrAX%z z$&cRI7SC>X0KEa+xh)>ri{B}w`}{&OIm4e%TA~16y$PTB40QIS1Z<<>fj91DJ#B-5 zTz_f6;c+|U6~F<~&n`#MXe5Qm2R<17e?al{fhETLM%CX+K{8LW*JfYCW|6a&cCF{% zTg)5)wLnV0KoAC!MqvhGguDA4$5jb4cb%?er=PN#QNi4t5S>x|L-^WipdWoOd zxB8d{k ze)Lvl)FvR?G#aqDDBk+HdEv>3jQnPDY0J%<@aoI3*Wqrv%`e@(!?k{ojY5+I0naY1 z@bL=|Kw-F&c4#TZBT;O}bS&-a_oZAgP;!w3jSATC!MVadpN?nA&5MnOM1E*{?c)Hw zFc4r_=c9ig67Tp2eyS8T$3ZcI1w{H&38;~1&3YJ>(OapOXuw!0Ze$tP27R9I?1_ON z#jFM)k2mLdB#yb%Y;Z1!cx1tHutYApB^U-M&YY3oU8EEoj9PI@x(nSeEYC}svR9Dy z2W;e-5O+d3t-ZLPvZ)Jh3^F#gW~0c!AnPKwgsjK^ktikH8BwE*7-_^CU^M#u@KsMH#2*}mmHCqMpUG<3HuMteLb#!p~aOAy&$FU?pw1)p_VduvpSkIV%Rkr^8UB~9bA7|yoQU564vh& zl%f!_#(W?ki?cnnvExTcM2&c;@k_A7RKJH*A;hI#J! zQcZ(!FEpFb8<0fetfy*)|U+k9OBrJcKw=WOoo@M5>iukW?F zSxA~dY7B7@5Ccy&6F$~D%M<6<;lW4X?p>b9-r!2QM=NeXvQ!a^W&_Kw5y-g6G66io zn2`pjssU0UK*;~qa%K9%lO)jyON>(zTT{9aXQ7@5~)Be@}oLSm&zT>JcUL=w@GY5^${6_orT z<$UY_jLWC*bKeyeZiIJ#88s;y>|;40U^dKht|$hnp0 ztSrva?x(cYACl*KXPfdu3NtyXZrsqDH3HzY4b)j>8b`;p2$p(^Ce-@b+kYrU)XgI< z;>{gzM7ruEnU!N?n$*X|iKoyUW`kJ_y(#x^T374C&daAHGe?kkdgzhlgd9}Uq8CqH zoUU?QV;+Wh2WxWgNk)BydK6miKQpSfUHv$Rea5H#!!GRt)==wq1ssSY>4)6%YXrtlrq0N*#?4UlhBrAl zaG>6=$DKUt_s}=2l;Zxl!JpcwnL(b>==Y@WMj2lIy^TCh26t}*H9CUG9~Uz#ME=;R zjEMu^m76;QwT8Zr1d8ncKuKgu6j_2v0q9yv%Qf3_mE9H)Q*sCA8ezwY(>VL_8S-kG+F;0>5&Wl~)lkipJXku6PYQ#u+JARF}Le`c$= z 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 vUoKyvH3p}X1I)@2jn+7w9Dp-U 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ư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 z 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 lK#J)t#dYzcQWhudwv7 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 * *

      Overriding drawables

      * - * The drawables used by {@link PlayerControlView} (with its default layout file) can be overridden - * by drawables with the same names defined in your application. See the {@link PlayerControlView} - * documentation for a list of drawables that can be overridden. + * The drawables used by {@link PlayerControlView} can be overridden by drawables with the same + * names defined in your application. See the {@link PlayerControlView} documentation for a list of + * drawables that can be overridden. */ public class PlayerView extends FrameLayout implements AdViewProvider { From 130edf8f268eb5ce0d47cadb39bd11ed26e9d6c5 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 18 Oct 2022 11:13:44 +0000 Subject: [PATCH 324/422] Fix parameter comment block. #cleanup PiperOrigin-RevId: 481882181 (cherry picked from commit 7ac7e643acb3486e5c7004e35ad3c214d47c1860) --- .../media3/transformer/SpeedChangingAudioProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java index 0ce639cca8a..99ef799bc7a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java @@ -105,7 +105,7 @@ public void queueInput(ByteBuffer inputBuffer) { endOfStreamQueuedToSonic = true; } } else { - ByteBuffer buffer = replaceOutputBuffer(/* count= */ inputBuffer.remaining()); + ByteBuffer buffer = replaceOutputBuffer(/* size= */ inputBuffer.remaining()); buffer.put(inputBuffer); buffer.flip(); } From b5af908e538c4eee9c0a06cb95fa112b3b3c8549 Mon Sep 17 00:00:00 2001 From: kimvde Date: Tue, 18 Oct 2022 12:26:36 +0000 Subject: [PATCH 325/422] Remove deprecated setOutputMimeType This is to prepare Muxer to become public PiperOrigin-RevId: 481893842 (cherry picked from commit 9221b1251cc1c614e4edc421c847f8fa2ce329a6) --- RELEASENOTES.md | 7 + .../amr/sample_nb.amr.aac.dump | 1 - .../transformerdumps/amr/sample_nb.amr.dump | 1 - .../transformerdumps/mkv/sample.mkv.dump | 193 ------------------ .../mkv/sample_with_srt.mkv.dump | 1 - .../transformerdumps/mp4/sample.mp4.dump | 1 - .../mp4/sample.mp4.noaudio.dump | 1 - .../mp4/sample.mp4.novideo.dump | 1 - .../mp4/sample_18byte_nclx_colr.mp4.dump | 1 - .../mp4/sample_ac3.mp4.fallback.dump | 1 - .../mp4/sample_sef_slow_motion.mp4.dump | 1 - ...sing_timestamps_320w_240h.mp4.clipped.dump | 1 - .../media3/transformer/DefaultMuxer.java | 19 +- .../media3/transformer/FrameworkMuxer.java | 84 ++------ .../androidx/media3/transformer/Muxer.java | 35 ++-- .../media3/transformer/MuxerWrapper.java | 6 +- .../media3/transformer/Transformer.java | 35 +--- .../media3/transformer/TestMuxer.java | 6 +- .../transformer/TransformerBuilderTest.java | 9 - .../transformer/TransformerEndToEndTest.java | 20 +- 20 files changed, 58 insertions(+), 366 deletions(-) delete mode 100644 libraries/test_data/src/test/assets/transformerdumps/mkv/sample.mkv.dump diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a8c85406c1d..dc4cf135190 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -96,6 +96,13 @@ * Implement `getDeviceInfo()` to be able to identify `CastPlayer` when controlling playback with a `MediaController` ([#142](https://github.com/androidx/media/issues/142)). +* Remove deprecated symbols: + * Remove `DefaultAudioSink` constructors, use `DefaultAudioSink.Builder` + instead. +* Remove deprecated symbols: + * Remove `Transformer.Builder.setOutputMimeType(String)`. This feature + has been removed. The MIME type will always be MP4 when the default + muxer is used. ### 1.0.0-beta02 (2022-07-21) diff --git a/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.aac.dump b/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.aac.dump index e885cab915f..696ddec7a4c 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.aac.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.aac.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: sampleMimeType = audio/mp4a-latm channelCount = 1 diff --git a/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.dump b/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.dump index 1b6fd750ad9..07d550999b3 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/amr/sample_nb.amr.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: sampleMimeType = audio/3gpp maxInputSize = 61 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mkv/sample.mkv.dump b/libraries/test_data/src/test/assets/transformerdumps/mkv/sample.mkv.dump deleted file mode 100644 index 095c54577e0..00000000000 --- a/libraries/test_data/src/test/assets/transformerdumps/mkv/sample.mkv.dump +++ /dev/null @@ -1,193 +0,0 @@ -containerMimeType = video/mp4 -format 0: - id = 1 - sampleMimeType = video/avc - codecs = avc1.640034 - width = 1080 - height = 720 - selectionFlags = 1 - language = und - initializationData: - data = length 30, hash F6F3D010 - data = length 10, hash 7A0D0F2B -sample: - trackIndex = 0 - dataHashCode = -252482306 - size = 36477 - isKeyFrame = true - presentationTimeUs = 67000 -sample: - trackIndex = 0 - dataHashCode = 67864034 - size = 5341 - isKeyFrame = false - presentationTimeUs = 134000 -sample: - trackIndex = 0 - dataHashCode = 897273234 - size = 596 - isKeyFrame = false - presentationTimeUs = 100000 -sample: - trackIndex = 0 - dataHashCode = -1549870586 - size = 7704 - isKeyFrame = false - presentationTimeUs = 267000 -sample: - trackIndex = 0 - dataHashCode = 672384813 - size = 989 - isKeyFrame = false - presentationTimeUs = 200000 -sample: - trackIndex = 0 - dataHashCode = -988996493 - size = 721 - isKeyFrame = false - presentationTimeUs = 167000 -sample: - trackIndex = 0 - dataHashCode = 1711151377 - size = 519 - isKeyFrame = false - presentationTimeUs = 234000 -sample: - trackIndex = 0 - dataHashCode = -506806036 - size = 6160 - isKeyFrame = false - presentationTimeUs = 400000 -sample: - trackIndex = 0 - dataHashCode = 1902167649 - size = 953 - isKeyFrame = false - presentationTimeUs = 334000 -sample: - trackIndex = 0 - dataHashCode = 2054873212 - size = 620 - isKeyFrame = false - presentationTimeUs = 300000 -sample: - trackIndex = 0 - dataHashCode = 1556608231 - size = 405 - isKeyFrame = false - presentationTimeUs = 367000 -sample: - trackIndex = 0 - dataHashCode = -1648978019 - size = 4852 - isKeyFrame = false - presentationTimeUs = 500000 -sample: - trackIndex = 0 - dataHashCode = -484808327 - size = 547 - isKeyFrame = false - presentationTimeUs = 467000 -sample: - trackIndex = 0 - dataHashCode = -20706048 - size = 570 - isKeyFrame = false - presentationTimeUs = 434000 -sample: - trackIndex = 0 - dataHashCode = 2085064574 - size = 5525 - isKeyFrame = false - presentationTimeUs = 634000 -sample: - trackIndex = 0 - dataHashCode = -637074022 - size = 1082 - isKeyFrame = false - presentationTimeUs = 567000 -sample: - trackIndex = 0 - dataHashCode = -1824027029 - size = 807 - isKeyFrame = false - presentationTimeUs = 534000 -sample: - trackIndex = 0 - dataHashCode = -1701945306 - size = 744 - isKeyFrame = false - presentationTimeUs = 600000 -sample: - trackIndex = 0 - dataHashCode = -952425536 - size = 4732 - isKeyFrame = false - presentationTimeUs = 767000 -sample: - trackIndex = 0 - dataHashCode = -1978031576 - size = 1004 - isKeyFrame = false - presentationTimeUs = 700000 -sample: - trackIndex = 0 - dataHashCode = -2128215508 - size = 794 - isKeyFrame = false - presentationTimeUs = 667000 -sample: - trackIndex = 0 - dataHashCode = -259850011 - size = 645 - isKeyFrame = false - presentationTimeUs = 734000 -sample: - trackIndex = 0 - dataHashCode = 1920983928 - size = 2684 - isKeyFrame = false - presentationTimeUs = 900000 -sample: - trackIndex = 0 - dataHashCode = 1100642337 - size = 787 - isKeyFrame = false - presentationTimeUs = 834000 -sample: - trackIndex = 0 - dataHashCode = 1544917830 - size = 649 - isKeyFrame = false - presentationTimeUs = 800000 -sample: - trackIndex = 0 - dataHashCode = -116205995 - size = 509 - isKeyFrame = false - presentationTimeUs = 867000 -sample: - trackIndex = 0 - dataHashCode = 696343585 - size = 1226 - isKeyFrame = false - presentationTimeUs = 1034000 -sample: - trackIndex = 0 - dataHashCode = -644371190 - size = 898 - isKeyFrame = false - presentationTimeUs = 967000 -sample: - trackIndex = 0 - dataHashCode = -1606273467 - size = 476 - isKeyFrame = false - presentationTimeUs = 934000 -sample: - trackIndex = 0 - dataHashCode = -571265861 - size = 486 - isKeyFrame = false - presentationTimeUs = 1000000 -released = true diff --git a/libraries/test_data/src/test/assets/transformerdumps/mkv/sample_with_srt.mkv.dump b/libraries/test_data/src/test/assets/transformerdumps/mkv/sample_with_srt.mkv.dump index e8c74ad5320..4709eeda170 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mkv/sample_with_srt.mkv.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mkv/sample_with_srt.mkv.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: sampleMimeType = audio/mp4a-latm channelCount = 1 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump index a38e2c887e5..be627cc4d46 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: peakBitrate = 200000 id = 2 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump index f18acde2093..6ef37ce1398 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.noaudio.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: id = 1 sampleMimeType = video/avc diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump index adbbb3a0138..5ec2d5f904a 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample.mp4.novideo.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: peakBitrate = 200000 id = 2 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump index b8105aafea8..af6b33afc3f 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_18byte_nclx_colr.mp4.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: id = 1 sampleMimeType = video/avc diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump index d97f474a1d5..c0f81974939 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_ac3.mp4.fallback.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: sampleMimeType = audio/mp4a-latm channelCount = 6 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump index bace6d6cfa5..fc0a46dd7d5 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_sef_slow_motion.mp4.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: sampleMimeType = audio/mp4a-latm channelCount = 2 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump index 87dcf11f2e8..90f6bb0017d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sample_with_increasing_timestamps_320w_240h.mp4.clipped.dump @@ -1,4 +1,3 @@ -containerMimeType = video/mp4 format 0: averageBitrate = 192181 peakBitrate = 192181 diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java index cbc0e0ed398..eb76b666f6b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java @@ -36,25 +36,18 @@ public Factory() { } @Override - public Muxer create(String path, String outputMimeType) throws IOException { - return new DefaultMuxer(muxerFactory.create(path, outputMimeType)); + public Muxer create(String path) throws IOException { + return new DefaultMuxer(muxerFactory.create(path)); } @Override - public Muxer create(ParcelFileDescriptor parcelFileDescriptor, String outputMimeType) - throws IOException { - return new DefaultMuxer(muxerFactory.create(parcelFileDescriptor, outputMimeType)); + public Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException { + return new DefaultMuxer(muxerFactory.create(parcelFileDescriptor)); } @Override - public boolean supportsOutputMimeType(String mimeType) { - return muxerFactory.supportsOutputMimeType(mimeType); - } - - @Override - public ImmutableList getSupportedSampleMimeTypes( - @C.TrackType int trackType, String containerMimeType) { - return muxerFactory.getSupportedSampleMimeTypes(trackType, containerMimeType); + public ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackType) { + return muxerFactory.getSupportedSampleMimeTypes(trackType); } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java index 8ddfe90fc9b..1ef7f72a7ca 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java @@ -33,7 +33,6 @@ import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import java.io.IOException; import java.lang.reflect.Field; import java.nio.ByteBuffer; @@ -42,70 +41,42 @@ /* package */ final class FrameworkMuxer implements Muxer { // MediaMuxer supported sample formats are documented in MediaMuxer.addTrack(MediaFormat). - private static final ImmutableMap> - SUPPORTED_CONTAINER_TO_VIDEO_SAMPLE_MIME_TYPES = - ImmutableMap.of( - MimeTypes.VIDEO_MP4, - Util.SDK_INT >= 24 - ? ImmutableList.of( - MimeTypes.VIDEO_H263, - MimeTypes.VIDEO_H264, - MimeTypes.VIDEO_MP4V, - MimeTypes.VIDEO_H265) - : ImmutableList.of( - MimeTypes.VIDEO_H263, MimeTypes.VIDEO_H264, MimeTypes.VIDEO_MP4V), - MimeTypes.VIDEO_WEBM, - Util.SDK_INT >= 24 - ? ImmutableList.of(MimeTypes.VIDEO_VP8, MimeTypes.VIDEO_VP9) - : ImmutableList.of(MimeTypes.VIDEO_VP8)); - - private static final ImmutableMap> - SUPPORTED_CONTAINER_TO_AUDIO_SAMPLE_MIME_TYPES = - ImmutableMap.of( - MimeTypes.VIDEO_MP4, - ImmutableList.of(MimeTypes.AUDIO_AAC, MimeTypes.AUDIO_AMR_NB, MimeTypes.AUDIO_AMR_WB), - MimeTypes.VIDEO_WEBM, - ImmutableList.of(MimeTypes.AUDIO_VORBIS)); + private static final ImmutableList SUPPORTED_VIDEO_SAMPLE_MIME_TYPES = + Util.SDK_INT >= 24 + ? ImmutableList.of( + MimeTypes.VIDEO_H263, + MimeTypes.VIDEO_H264, + MimeTypes.VIDEO_MP4V, + MimeTypes.VIDEO_H265) + : ImmutableList.of(MimeTypes.VIDEO_H263, MimeTypes.VIDEO_H264, MimeTypes.VIDEO_MP4V); + + private static final ImmutableList SUPPORTED_AUDIO_SAMPLE_MIME_TYPES = + ImmutableList.of(MimeTypes.AUDIO_AAC, MimeTypes.AUDIO_AMR_NB, MimeTypes.AUDIO_AMR_WB); /** {@link Muxer.Factory} for {@link FrameworkMuxer}. */ public static final class Factory implements Muxer.Factory { @Override - public FrameworkMuxer create(String path, String outputMimeType) throws IOException { - MediaMuxer mediaMuxer = new MediaMuxer(path, mimeTypeToMuxerOutputFormat(outputMimeType)); + public FrameworkMuxer create(String path) throws IOException { + MediaMuxer mediaMuxer = new MediaMuxer(path, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); return new FrameworkMuxer(mediaMuxer); } @RequiresApi(26) @Override - public FrameworkMuxer create(ParcelFileDescriptor parcelFileDescriptor, String outputMimeType) - throws IOException { + public FrameworkMuxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException { MediaMuxer mediaMuxer = new MediaMuxer( parcelFileDescriptor.getFileDescriptor(), - mimeTypeToMuxerOutputFormat(outputMimeType)); + MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); return new FrameworkMuxer(mediaMuxer); } @Override - public boolean supportsOutputMimeType(String mimeType) { - try { - mimeTypeToMuxerOutputFormat(mimeType); - } catch (IllegalArgumentException e) { - return false; - } - return true; - } - - @Override - public ImmutableList getSupportedSampleMimeTypes( - @C.TrackType int trackType, String containerMimeType) { - // MediaMuxer supported sample formats are documented in MediaMuxer.addTrack(MediaFormat). + public ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackType) { if (trackType == C.TRACK_TYPE_VIDEO) { - return SUPPORTED_CONTAINER_TO_VIDEO_SAMPLE_MIME_TYPES.getOrDefault( - containerMimeType, ImmutableList.of()); + return SUPPORTED_VIDEO_SAMPLE_MIME_TYPES; } else if (trackType == C.TRACK_TYPE_AUDIO) { - return SUPPORTED_CONTAINER_TO_AUDIO_SAMPLE_MIME_TYPES.getOrDefault( - containerMimeType, ImmutableList.of()); + return SUPPORTED_AUDIO_SAMPLE_MIME_TYPES; } return ImmutableList.of(); } @@ -212,25 +183,6 @@ public void release(boolean forCancellation) throws MuxerException { } } - /** - * Converts a {@linkplain MimeTypes MIME type} into a {@linkplain MediaMuxer.OutputFormat - * MediaMuxer output format}. - * - * @param mimeType The {@linkplain MimeTypes MIME type} to convert. - * @return The corresponding {@linkplain MediaMuxer.OutputFormat MediaMuxer output format}. - * @throws IllegalArgumentException If the {@linkplain MimeTypes MIME type} is not supported as - * output format. - */ - private static int mimeTypeToMuxerOutputFormat(String mimeType) { - if (mimeType.equals(MimeTypes.VIDEO_MP4)) { - return MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4; - } else if (SDK_INT >= 21 && mimeType.equals(MimeTypes.VIDEO_WEBM)) { - return MediaMuxer.OutputFormat.MUXER_OUTPUT_WEBM; - } else { - throw new IllegalArgumentException("Unsupported output MIME type: " + mimeType); - } - } - // Accesses MediaMuxer state via reflection to ensure that muxer resources can be released even // if stopping fails. @SuppressLint("PrivateApi") diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java index dea18c31091..631ce56699b 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java @@ -26,13 +26,12 @@ /** * Abstracts media muxing operations. * - *

      Query whether {@linkplain Factory#supportsOutputMimeType(String) container MIME type} and - * {@linkplain Factory#getSupportedSampleMimeTypes(int, String)} sample MIME types} are supported - * and {@linkplain #addTrack(Format) add all tracks}, then {@linkplain #writeSampleData(int, - * ByteBuffer, boolean, long) write sample data} to mux samples. Once any sample data has been - * written, it is not possible to add tracks. After writing all sample data, {@linkplain - * #release(boolean) release} the instance to finish writing to the output and return any resources - * to the system. + *

      Query whether {@linkplain Factory#getSupportedSampleMimeTypes(int)} sample MIME types} are + * supported and {@linkplain #addTrack(Format) add all tracks}, then {@linkplain + * #writeSampleData(int, ByteBuffer, boolean, long) write sample data} to mux samples. Once any + * sample data has been written, it is not possible to add tracks. After writing all sample data, + * {@linkplain #release(boolean) release} the instance to finish writing to the output and return + * any resources to the system. */ /* package */ interface Muxer { @@ -55,11 +54,10 @@ interface Factory { * Returns a new muxer writing to a file. * * @param path The path to the output file. - * @param outputMimeType The container {@linkplain MimeTypes MIME type} of the output file. - * @throws IllegalArgumentException If the path is invalid or the MIME type is not supported. + * @throws IllegalArgumentException If the path is invalid. * @throws IOException If an error occurs opening the output file for writing. */ - Muxer create(String path, String outputMimeType) throws IOException; + Muxer create(String path) throws IOException; /** * Returns a new muxer writing to a file descriptor. @@ -68,25 +66,16 @@ interface Factory { * output. The file referenced by this ParcelFileDescriptor should not be used before the * muxer is released. It is the responsibility of the caller to close the * ParcelFileDescriptor. This can be done after this method returns. - * @param outputMimeType The {@linkplain MimeTypes MIME type} of the output. - * @throws IllegalArgumentException If the file descriptor is invalid or the MIME type is not - * supported. + * @throws IllegalArgumentException If the file descriptor is invalid. * @throws IOException If an error occurs opening the output file descriptor for writing. */ - Muxer create(ParcelFileDescriptor parcelFileDescriptor, String outputMimeType) - throws IOException; - - /** - * Returns whether the {@linkplain MimeTypes MIME type} provided is a supported output format. - */ - boolean supportsOutputMimeType(String mimeType); + Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException; /** * Returns the supported sample {@linkplain MimeTypes MIME types} for the given {@link - * C.TrackType} and container {@linkplain MimeTypes MIME type}. + * C.TrackType}. */ - ImmutableList getSupportedSampleMimeTypes( - @C.TrackType int trackType, String containerMimeType); + ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackType); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index d12d717fade..32f6bf99a7d 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -51,7 +51,6 @@ private final SparseIntArray trackTypeToSampleCount; private final SparseLongArray trackTypeToTimeUs; private final SparseLongArray trackTypeToBytesWritten; - private final String containerMimeType; private int trackCount; private int trackFormatCount; @@ -59,10 +58,9 @@ private @C.TrackType int previousTrackType; private long minTrackTimeUs; - public MuxerWrapper(Muxer muxer, Muxer.Factory muxerFactory, String containerMimeType) { + public MuxerWrapper(Muxer muxer, Muxer.Factory muxerFactory) { this.muxer = muxer; this.muxerFactory = muxerFactory; - this.containerMimeType = containerMimeType; trackTypeToIndex = new SparseIntArray(); trackTypeToSampleCount = new SparseIntArray(); @@ -97,7 +95,7 @@ public boolean supportsSampleMimeType(@Nullable String mimeType) { * track type}. */ public ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackType) { - return muxerFactory.getSupportedSampleMimeTypes(trackType, containerMimeType); + return muxerFactory.getSupportedSampleMimeTypes(trackType); } /** diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 208f502adf9..98362239970 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -108,7 +108,6 @@ public static final class Builder { private Muxer.Factory muxerFactory; private boolean removeAudio; private boolean removeVideo; - private String containerMimeType; private TransformationRequest transformationRequest; private ImmutableList videoEffects; private FrameProcessor.Factory frameProcessorFactory; @@ -133,7 +132,6 @@ public Builder(Context context) { encoderFactory = new DefaultEncoderFactory.Builder(this.context).build(); decoderFactory = new DefaultDecoderFactory(this.context); debugViewProvider = DebugViewProvider.NONE; - containerMimeType = MimeTypes.VIDEO_MP4; transformationRequest = new TransformationRequest.Builder().build(); videoEffects = ImmutableList.of(); frameProcessorFactory = new GlEffectsFrameProcessor.Factory(); @@ -146,7 +144,6 @@ private Builder(Transformer transformer) { this.muxerFactory = transformer.muxerFactory; this.removeAudio = transformer.removeAudio; this.removeVideo = transformer.removeVideo; - this.containerMimeType = transformer.containerMimeType; this.transformationRequest = transformer.transformationRequest; this.videoEffects = transformer.videoEffects; this.frameProcessorFactory = transformer.frameProcessorFactory; @@ -278,17 +275,6 @@ public Builder setFlattenForSlowMotion(boolean flattenForSlowMotion) { return this; } - /** - * @deprecated This feature will be removed in a following release and the MIME type of the - * output will always be MP4. - */ - @CanIgnoreReturnValue - @Deprecated - public Builder setOutputMimeType(String outputMimeType) { - this.containerMimeType = outputMimeType; - return this; - } - /** * @deprecated Use {@link #addListener(Listener)}, {@link #removeListener(Listener)} or {@link * #removeAllListeners()} instead. @@ -456,9 +442,6 @@ public Transformer build() { } mediaSourceFactory = new DefaultMediaSourceFactory(context, defaultExtractorsFactory); } - checkState( - muxerFactory.supportsOutputMimeType(containerMimeType), - "Unsupported container MIME type: " + containerMimeType); if (transformationRequest.audioMimeType != null) { checkSampleMimeType(transformationRequest.audioMimeType); } @@ -471,7 +454,6 @@ public Transformer build() { muxerFactory, removeAudio, removeVideo, - containerMimeType, transformationRequest, videoEffects, frameProcessorFactory, @@ -486,13 +468,9 @@ public Transformer build() { private void checkSampleMimeType(String sampleMimeType) { checkState( muxerFactory - .getSupportedSampleMimeTypes( - MimeTypes.getTrackType(sampleMimeType), containerMimeType) + .getSupportedSampleMimeTypes(MimeTypes.getTrackType(sampleMimeType)) .contains(sampleMimeType), - "Unsupported sample MIME type " - + sampleMimeType - + " for container MIME type " - + containerMimeType); + "Unsupported sample MIME type " + sampleMimeType); } } @@ -584,7 +562,6 @@ default void onFallbackApplied( private final Muxer.Factory muxerFactory; private final boolean removeAudio; private final boolean removeVideo; - private final String containerMimeType; private final TransformationRequest transformationRequest; private final ImmutableList videoEffects; private final FrameProcessor.Factory frameProcessorFactory; @@ -608,7 +585,6 @@ private Transformer( Muxer.Factory muxerFactory, boolean removeAudio, boolean removeVideo, - String containerMimeType, TransformationRequest transformationRequest, ImmutableList videoEffects, FrameProcessor.Factory frameProcessorFactory, @@ -624,7 +600,6 @@ private Transformer( this.muxerFactory = muxerFactory; this.removeAudio = removeAudio; this.removeVideo = removeVideo; - this.containerMimeType = containerMimeType; this.transformationRequest = transformationRequest; this.videoEffects = videoEffects; this.frameProcessorFactory = frameProcessorFactory; @@ -713,7 +688,7 @@ public void startTransformation(MediaItem mediaItem, String path) throws IOExcep } this.outputPath = path; this.outputParcelFileDescriptor = null; - startTransformation(mediaItem, muxerFactory.create(path, containerMimeType)); + startTransformation(mediaItem, muxerFactory.create(path)); } /** @@ -743,7 +718,7 @@ public void startTransformation(MediaItem mediaItem, ParcelFileDescriptor parcel throws IOException { this.outputParcelFileDescriptor = parcelFileDescriptor; this.outputPath = null; - startTransformation(mediaItem, muxerFactory.create(parcelFileDescriptor, containerMimeType)); + startTransformation(mediaItem, muxerFactory.create(parcelFileDescriptor)); } private void startTransformation(MediaItem mediaItem, Muxer muxer) { @@ -751,7 +726,7 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { if (player != null) { throw new IllegalStateException("There is already a transformation in progress."); } - MuxerWrapper muxerWrapper = new MuxerWrapper(muxer, muxerFactory, containerMimeType); + MuxerWrapper muxerWrapper = new MuxerWrapper(muxer, muxerFactory); this.muxerWrapper = muxerWrapper; DefaultTrackSelector trackSelector = new DefaultTrackSelector(context); trackSelector.setParameters( diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java index db28cf8f3c8..d134fd2b40f 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java @@ -35,11 +35,9 @@ public final class TestMuxer implements Muxer, Dumper.Dumpable { private final List dumpables; /** Creates a new test muxer. */ - public TestMuxer(String path, String outputMimeType, Muxer.Factory muxerFactory) - throws IOException { - muxer = muxerFactory.create(path, outputMimeType); + public TestMuxer(String path, Muxer.Factory muxerFactory) throws IOException { + muxer = muxerFactory.create(path); dumpables = new ArrayList<>(); - dumpables.add(dumper -> dumper.add("containerMimeType", outputMimeType)); } // Muxer implementation. diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java index 9d492e38e7d..1bded4adf81 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerBuilderTest.java @@ -29,15 +29,6 @@ @RunWith(AndroidJUnit4.class) public class TransformerBuilderTest { - @Test - public void setOutputMimeType_unsupportedMimeType_throws() { - Context context = ApplicationProvider.getApplicationContext(); - - assertThrows( - IllegalStateException.class, - () -> new Transformer.Builder(context).setOutputMimeType(MimeTypes.VIDEO_UNKNOWN).build()); - } - @Test public void build_removeAudioAndVideo_throws() { Context context = ApplicationProvider.getApplicationContext(); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index aeb3fcbbc3e..4ab9a2a0069 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -863,28 +863,20 @@ public TestMuxerFactory() { } @Override - public Muxer create(String path, String outputMimeType) throws IOException { - testMuxer = new TestMuxer(path, outputMimeType, defaultMuxerFactory); + public Muxer create(String path) throws IOException { + testMuxer = new TestMuxer(path, defaultMuxerFactory); return testMuxer; } @Override - public Muxer create(ParcelFileDescriptor parcelFileDescriptor, String outputMimeType) - throws IOException { - testMuxer = - new TestMuxer("FD:" + parcelFileDescriptor.getFd(), outputMimeType, defaultMuxerFactory); + public Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException { + testMuxer = new TestMuxer("FD:" + parcelFileDescriptor.getFd(), defaultMuxerFactory); return testMuxer; } @Override - public boolean supportsOutputMimeType(String mimeType) { - return true; - } - - @Override - public ImmutableList getSupportedSampleMimeTypes( - @C.TrackType int trackType, String containerMimeType) { - return defaultMuxerFactory.getSupportedSampleMimeTypes(trackType, containerMimeType); + public ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackType) { + return defaultMuxerFactory.getSupportedSampleMimeTypes(trackType); } } } From e589718414d147a2c7d5c52d684715b575795cb9 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 18 Oct 2022 14:10:39 +0000 Subject: [PATCH 326/422] GL: Move loadAsset to GlProgram, where it's used. (Also, make some public methods private) PiperOrigin-RevId: 481912071 (cherry picked from commit 93ee1f48ad5c9240d3d7b5f26039a98f4dc24b63) --- .../media3/common/util/GlProgram.java | 23 +++++++++++++--- .../androidx/media3/common/util/GlUtil.java | 26 ++----------------- 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java b/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java index a167c185415..579ce6fe5ba 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlProgram.java @@ -22,6 +22,7 @@ import android.opengl.GLES20; import androidx.annotation.Nullable; import java.io.IOException; +import java.io.InputStream; import java.nio.Buffer; import java.util.HashMap; import java.util.Map; @@ -55,9 +56,25 @@ public final class GlProgram { */ public GlProgram(Context context, String vertexShaderFilePath, String fragmentShaderFilePath) throws IOException, GlUtil.GlException { - this( - GlUtil.loadAsset(context, vertexShaderFilePath), - GlUtil.loadAsset(context, fragmentShaderFilePath)); + this(loadAsset(context, vertexShaderFilePath), loadAsset(context, fragmentShaderFilePath)); + } + + /** + * Loads a file from the assets folder. + * + * @param context The {@link Context}. + * @param assetPath The path to the file to load, from the assets folder. + * @return The content of the file to load. + * @throws IOException If the file couldn't be read. + */ + public static String loadAsset(Context context, String assetPath) throws IOException { + @Nullable InputStream inputStream = null; + try { + inputStream = context.getAssets().open(assetPath); + return Util.fromUtf8Bytes(Util.toByteArray(inputStream)); + } finally { + Util.closeQuietly(inputStream); + } } /** diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 67c39c576ab..2e2c149ef38 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -32,8 +32,6 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.media3.common.C; -import java.io.IOException; -import java.io.InputStream; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; @@ -59,8 +57,6 @@ public GlException(String message) { /** Length of the normalized device coordinate (NDC) space, which spans from -1 to 1. */ public static final float LENGTH_NDC = 2f; - private static final String TAG = "GlUtil"; - // https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_protected_content.txt private static final String EXTENSION_PROTECTED_CONTENT = "EGL_EXT_protected_content"; // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_surfaceless_context.txt @@ -352,7 +348,7 @@ public static void checkGlError() throws GlException { * @param height The height for a texture. * @throws GlException If the texture width or height is invalid. */ - public static void assertValidTextureSize(int width, int height) throws GlException { + private static void assertValidTextureSize(int width, int height) throws GlException { // TODO(b/201293185): Consider handling adjustments for sizes > GL_MAX_TEXTURE_SIZE // (ex. downscaling appropriately) in a texture processor instead of asserting incorrect // values. @@ -460,29 +456,11 @@ public static FloatBuffer createBuffer(float[] data) { * * @param capacity The new buffer's capacity, in floats. */ - public static FloatBuffer createBuffer(int capacity) { + private static FloatBuffer createBuffer(int capacity) { ByteBuffer byteBuffer = ByteBuffer.allocateDirect(capacity * C.BYTES_PER_FLOAT); return byteBuffer.order(ByteOrder.nativeOrder()).asFloatBuffer(); } - /** - * Loads a file from the assets folder. - * - * @param context The {@link Context}. - * @param assetPath The path to the file to load, from the assets folder. - * @return The content of the file to load. - * @throws IOException If the file couldn't be read. - */ - public static String loadAsset(Context context, String assetPath) throws IOException { - @Nullable InputStream inputStream = null; - try { - inputStream = context.getAssets().open(assetPath); - return Util.fromUtf8Bytes(Util.toByteArray(inputStream)); - } finally { - Util.closeQuietly(inputStream); - } - } - /** * Creates a GL_TEXTURE_EXTERNAL_OES with default configuration of GL_LINEAR filtering and * GL_CLAMP_TO_EDGE wrapping. From ba84c2a09c480db4bb5ab45d744f2fe8aa77ff0d Mon Sep 17 00:00:00 2001 From: christosts Date: Tue, 18 Oct 2022 15:54:54 +0000 Subject: [PATCH 327/422] MediaController: Add missing event flags (1/2) This is the first commit out of two. This change adds the missing event flags for the onEvents() callback when MediaController is connected to a media3 session (see MediaControllerImplBase). I updated the MediaControllerListenerTest and MediaControllerStateMaskingTest with assertions that on onEvents() is called alongside individual Player.Listener callbacks. There will be a follow-up change for the case where a MediaController is connected to a legacy MediaSession (MediaControllerImplLegacy). I've split this in two separate changes to make the size of the commit manageable for reviewing. #minor-release PiperOrigin-RevId: 481933437 (cherry picked from commit 46d5a0e33bd562cd9e6420b342a68bf112847f83) --- .../session/MediaControllerImplBase.java | 127 +- .../session/common/IRemoteMediaSession.aidl | 3 + .../media3/test/session/common/TestUtils.java | 16 + .../session/MediaControllerListenerTest.java | 1198 +++++++++++++---- .../MediaControllerStateMaskingTest.java | 230 +++- .../MediaControllerSurfaceSizeChangeTest.java | 14 +- .../session/MediaSessionProviderService.java | 33 + .../androidx/media3/session/MockPlayer.java | 8 + .../media3/session/RemoteMediaSession.java | 12 + 9 files changed, 1267 insertions(+), 374 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index c8bd52dc473..389228847f9 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -240,7 +240,7 @@ public void run(IMediaSession iSession, int seq) throws RemoteException { playerInfo.copyWithPlaybackState( Player.STATE_IDLE, /* playerError= */ playerInfo.playerError); listeners.queueEvent( - Player.EVENT_PLAYBACK_STATE_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_STATE_CHANGED, listener -> listener.onPlaybackStateChanged(Player.STATE_IDLE)); listeners.flushEvents(); } @@ -698,7 +698,7 @@ public void setPlaybackParameters(PlaybackParameters playbackParameters) { playerInfo = playerInfo.copyWithPlaybackParameters(playbackParameters); listeners.queueEvent( - Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, listener -> listener.onPlaybackParametersChanged(playbackParameters)); listeners.flushEvents(); } @@ -724,7 +724,7 @@ public void setPlaybackSpeed(float speed) { playerInfo = playerInfo.copyWithPlaybackParameters(newPlaybackParameters); listeners.queueEvent( - Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, listener -> listener.onPlaybackParametersChanged(newPlaybackParameters)); listeners.flushEvents(); } @@ -902,10 +902,8 @@ public void setPlaylistMetadata(MediaMetadata playlistMetadata) { if (!playerInfo.playlistMetadata.equals(playlistMetadata)) { playerInfo = playerInfo.copyWithPlaylistMetadata(playlistMetadata); - - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_PLAYLIST_METADATA_CHANGED, listener -> listener.onPlaylistMetadataChanged(playlistMetadata)); listeners.flushEvents(); } @@ -1404,7 +1402,8 @@ public void run(IMediaSession iSession, int seq) throws RemoteException { playerInfo = playerInfo.copyWithRepeatMode(repeatMode); listeners.queueEvent( - Player.EVENT_REPEAT_MODE_CHANGED, listener -> listener.onRepeatModeChanged(repeatMode)); + /* eventFlag= */ Player.EVENT_REPEAT_MODE_CHANGED, + listener -> listener.onRepeatModeChanged(repeatMode)); listeners.flushEvents(); } } @@ -1433,7 +1432,7 @@ public void run(IMediaSession iSession, int seq) throws RemoteException { playerInfo = playerInfo.copyWithShuffleModeEnabled(shuffleModeEnabled); listeners.queueEvent( - Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED, + /* eventFlag= */ Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED, listener -> listener.onShuffleModeEnabledChanged(shuffleModeEnabled)); listeners.flushEvents(); } @@ -1461,10 +1460,9 @@ public void setVolume(float volume) { if (playerInfo.volume != volume) { playerInfo = playerInfo.copyWithVolume(volume); - - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, listener -> listener.onVolumeChanged(volume)); + /* eventFlag= */ Player.EVENT_VOLUME_CHANGED, + listener -> listener.onVolumeChanged(volume)); listeners.flushEvents(); } } @@ -1497,9 +1495,8 @@ public void setDeviceVolume(int volume) { if (playerInfo.deviceVolume != volume) { playerInfo = playerInfo.copyWithDeviceVolume(volume, playerInfo.deviceMuted); - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_DEVICE_VOLUME_CHANGED, listener -> listener.onDeviceVolumeChanged(volume, playerInfo.deviceMuted)); listeners.flushEvents(); } @@ -1518,10 +1515,8 @@ public void increaseDeviceVolume() { int newDeviceVolume = playerInfo.deviceVolume + 1; if (newDeviceVolume <= getDeviceInfo().maxVolume) { playerInfo = playerInfo.copyWithDeviceVolume(newDeviceVolume, playerInfo.deviceMuted); - - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_DEVICE_VOLUME_CHANGED, listener -> listener.onDeviceVolumeChanged(newDeviceVolume, playerInfo.deviceMuted)); listeners.flushEvents(); } @@ -1540,10 +1535,8 @@ public void decreaseDeviceVolume() { int newDeviceVolume = playerInfo.deviceVolume - 1; if (newDeviceVolume >= getDeviceInfo().minVolume) { playerInfo = playerInfo.copyWithDeviceVolume(newDeviceVolume, playerInfo.deviceMuted); - - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_DEVICE_VOLUME_CHANGED, listener -> listener.onDeviceVolumeChanged(newDeviceVolume, playerInfo.deviceMuted)); listeners.flushEvents(); } @@ -1561,10 +1554,8 @@ public void setDeviceMuted(boolean muted) { if (playerInfo.deviceMuted != muted) { playerInfo = playerInfo.copyWithDeviceVolume(playerInfo.deviceVolume, muted); - - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_DEVICE_VOLUME_CHANGED, listener -> listener.onDeviceVolumeChanged(playerInfo.deviceVolume, muted)); listeners.flushEvents(); } @@ -1751,7 +1742,7 @@ public void setTrackSelectionParameters(TrackSelectionParameters parameters) { playerInfo = playerInfo.copyWithTrackSelectionParameters(parameters); listeners.queueEvent( - Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED, + /* eventFlag= */ Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED, listener -> listener.onTrackSelectionParametersChanged(parameters)); listeners.flushEvents(); } @@ -2074,14 +2065,14 @@ private void updatePlayerInfo( if (mediaItemTransition) { listeners.queueEvent( - Player.EVENT_MEDIA_ITEM_TRANSITION, + /* eventFlag= */ Player.EVENT_MEDIA_ITEM_TRANSITION, listener -> listener.onMediaItemTransition( newPlayerInfo.getCurrentMediaItem(), mediaItemTransitionReason)); } if (positionDiscontinuity) { listeners.queueEvent( - Player.EVENT_POSITION_DISCONTINUITY, + /* eventFlag= */ Player.EVENT_POSITION_DISCONTINUITY, listener -> listener.onPositionDiscontinuity( newPlayerInfo.oldPositionInfo, @@ -2090,30 +2081,30 @@ private void updatePlayerInfo( } if (!oldPlayerInfo.timeline.equals(newPlayerInfo.timeline)) { listeners.queueEvent( - Player.EVENT_TIMELINE_CHANGED, + /* eventFlag= */ Player.EVENT_TIMELINE_CHANGED, listener -> listener.onTimelineChanged(newPlayerInfo.timeline, timelineChangeReason)); } if (oldPlayerInfo.playbackState != newPlayerInfo.playbackState) { listeners.queueEvent( - Player.EVENT_PLAYBACK_STATE_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_STATE_CHANGED, listener -> listener.onPlaybackStateChanged(newPlayerInfo.playbackState)); } if (oldPlayerInfo.playWhenReady != newPlayerInfo.playWhenReady) { listeners.queueEvent( - Player.EVENT_PLAY_WHEN_READY_CHANGED, + /* eventFlag= */ Player.EVENT_PLAY_WHEN_READY_CHANGED, listener -> listener.onPlayWhenReadyChanged( newPlayerInfo.playWhenReady, playWhenReadyChangeReason)); } if (oldPlayerInfo.playbackSuppressionReason != newPlayerInfo.playbackSuppressionReason) { listeners.queueEvent( - Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED, listener -> listener.onPlaybackSuppressionReasonChanged(newPlayerInfo.playbackSuppressionReason)); } if (oldPlayerInfo.isPlaying != newPlayerInfo.isPlaying) { listeners.queueEvent( - Player.EVENT_IS_PLAYING_CHANGED, + /* eventFlag= */ Player.EVENT_IS_PLAYING_CHANGED, listener -> listener.onIsPlayingChanged(newPlayerInfo.isPlaying)); } listeners.flushEvents(); @@ -2201,10 +2192,9 @@ private void maybeNotifySurfaceSizeChanged(int width, int height) { if (surfaceWidth != width || surfaceHeight != height) { surfaceWidth = width; surfaceHeight = height; - - // TODO(b/187152483): Set proper event code when available. listeners.sendEvent( - /* eventFlag= */ C.INDEX_UNSET, listener -> listener.onSurfaceSizeChanged(width, height)); + /* eventFlag= */ Player.EVENT_SURFACE_SIZE_CHANGED, + listener -> listener.onSurfaceSizeChanged(width, height)); } } @@ -2341,123 +2331,119 @@ void onPlayerInfoChanged( || (oldPlayerError != null && oldPlayerError.errorInfoEquals(playerError)); if (!errorsMatch) { listeners.queueEvent( - Player.EVENT_PLAYER_ERROR, + /* eventFlag= */ Player.EVENT_PLAYER_ERROR, listener -> listener.onPlayerErrorChanged(playerInfo.playerError)); if (playerInfo.playerError != null) { listeners.queueEvent( - Player.EVENT_PLAYER_ERROR, listener -> listener.onPlayerError(playerInfo.playerError)); + /* eventFlag= */ Player.EVENT_PLAYER_ERROR, + listener -> listener.onPlayerError(playerInfo.playerError)); } } MediaItem oldCurrentMediaItem = oldPlayerInfo.getCurrentMediaItem(); MediaItem currentMediaItem = playerInfo.getCurrentMediaItem(); if (!Util.areEqual(oldCurrentMediaItem, currentMediaItem)) { listeners.queueEvent( - Player.EVENT_MEDIA_ITEM_TRANSITION, + /* eventFlag= */ Player.EVENT_MEDIA_ITEM_TRANSITION, listener -> listener.onMediaItemTransition( currentMediaItem, playerInfo.mediaItemTransitionReason)); } if (!Util.areEqual(oldPlayerInfo.currentTracks, playerInfo.currentTracks)) { listeners.queueEvent( - Player.EVENT_TRACKS_CHANGED, + /* eventFlag= */ Player.EVENT_TRACKS_CHANGED, listener -> listener.onTracksChanged(playerInfo.currentTracks)); } if (!Util.areEqual(oldPlayerInfo.playbackParameters, playerInfo.playbackParameters)) { listeners.queueEvent( - Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, listener -> listener.onPlaybackParametersChanged(playerInfo.playbackParameters)); } if (oldPlayerInfo.repeatMode != playerInfo.repeatMode) { listeners.queueEvent( - Player.EVENT_REPEAT_MODE_CHANGED, + /* eventFlag= */ Player.EVENT_REPEAT_MODE_CHANGED, listener -> listener.onRepeatModeChanged(playerInfo.repeatMode)); } if (oldPlayerInfo.shuffleModeEnabled != playerInfo.shuffleModeEnabled) { listeners.queueEvent( - Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED, + /* eventFlag= */ Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED, listener -> listener.onShuffleModeEnabledChanged(playerInfo.shuffleModeEnabled)); } if (!isTimelineExcluded && !Util.areEqual(oldPlayerInfo.timeline, playerInfo.timeline)) { listeners.queueEvent( - Player.EVENT_TIMELINE_CHANGED, + /* eventFlag= */ Player.EVENT_TIMELINE_CHANGED, listener -> listener.onTimelineChanged(playerInfo.timeline, timelineChangedReason)); } if (!Util.areEqual(oldPlayerInfo.playlistMetadata, playerInfo.playlistMetadata)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_PLAYLIST_METADATA_CHANGED, listener -> listener.onPlaylistMetadataChanged(playerInfo.playlistMetadata)); } if (oldPlayerInfo.volume != playerInfo.volume) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, listener -> listener.onVolumeChanged(playerInfo.volume)); + /* eventFlag= */ Player.EVENT_VOLUME_CHANGED, + listener -> listener.onVolumeChanged(playerInfo.volume)); } if (!Util.areEqual(oldPlayerInfo.audioAttributes, playerInfo.audioAttributes)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_AUDIO_ATTRIBUTES_CHANGED, listener -> listener.onAudioAttributesChanged(playerInfo.audioAttributes)); } if (!oldPlayerInfo.cueGroup.cues.equals(playerInfo.cueGroup.cues)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, listener -> listener.onCues(playerInfo.cueGroup.cues)); + /* eventFlag= */ Player.EVENT_CUES, + listener -> listener.onCues(playerInfo.cueGroup.cues)); listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, listener -> listener.onCues(playerInfo.cueGroup)); + /* eventFlag= */ Player.EVENT_CUES, listener -> listener.onCues(playerInfo.cueGroup)); } if (!Util.areEqual(oldPlayerInfo.deviceInfo, playerInfo.deviceInfo)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_DEVICE_INFO_CHANGED, listener -> listener.onDeviceInfoChanged(playerInfo.deviceInfo)); } if (oldPlayerInfo.deviceVolume != playerInfo.deviceVolume || oldPlayerInfo.deviceMuted != playerInfo.deviceMuted) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_DEVICE_VOLUME_CHANGED, listener -> listener.onDeviceVolumeChanged(playerInfo.deviceVolume, playerInfo.deviceMuted)); } if (oldPlayerInfo.playWhenReady != playerInfo.playWhenReady) { listeners.queueEvent( - Player.EVENT_PLAY_WHEN_READY_CHANGED, + /* eventFlag= */ Player.EVENT_PLAY_WHEN_READY_CHANGED, listener -> listener.onPlayWhenReadyChanged( playerInfo.playWhenReady, playerInfo.playWhenReadyChangedReason)); } if (oldPlayerInfo.playbackSuppressionReason != playerInfo.playbackSuppressionReason) { listeners.queueEvent( - Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED, listener -> listener.onPlaybackSuppressionReasonChanged(playerInfo.playbackSuppressionReason)); } if (oldPlayerInfo.playbackState != playerInfo.playbackState) { listeners.queueEvent( - Player.EVENT_PLAYBACK_STATE_CHANGED, + /* eventFlag= */ Player.EVENT_PLAYBACK_STATE_CHANGED, listener -> listener.onPlaybackStateChanged(playerInfo.playbackState)); } if (oldPlayerInfo.isPlaying != playerInfo.isPlaying) { listeners.queueEvent( - Player.EVENT_IS_PLAYING_CHANGED, + /* eventFlag= */ Player.EVENT_IS_PLAYING_CHANGED, listener -> listener.onIsPlayingChanged(playerInfo.isPlaying)); } if (oldPlayerInfo.isLoading != playerInfo.isLoading) { listeners.queueEvent( - Player.EVENT_IS_LOADING_CHANGED, + /* eventFlag= */ Player.EVENT_IS_LOADING_CHANGED, listener -> listener.onIsLoadingChanged(playerInfo.isLoading)); } if (!Util.areEqual(oldPlayerInfo.videoSize, playerInfo.videoSize)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - /* eventFlag= */ C.INDEX_UNSET, + /* eventFlag= */ Player.EVENT_VIDEO_SIZE_CHANGED, listener -> listener.onVideoSizeChanged(playerInfo.videoSize)); } if (!Util.areEqual(oldPlayerInfo.oldPositionInfo, playerInfo.oldPositionInfo) || !Util.areEqual(oldPlayerInfo.newPositionInfo, playerInfo.newPositionInfo)) { listeners.queueEvent( - Player.EVENT_POSITION_DISCONTINUITY, + /* eventFlag= */ Player.EVENT_POSITION_DISCONTINUITY, listener -> listener.onPositionDiscontinuity( playerInfo.oldPositionInfo, @@ -2466,22 +2452,22 @@ void onPlayerInfoChanged( } if (!Util.areEqual(oldPlayerInfo.mediaMetadata, playerInfo.mediaMetadata)) { listeners.queueEvent( - Player.EVENT_MEDIA_METADATA_CHANGED, + /* eventFlag= */ Player.EVENT_MEDIA_METADATA_CHANGED, listener -> listener.onMediaMetadataChanged(playerInfo.mediaMetadata)); } if (oldPlayerInfo.seekBackIncrementMs != playerInfo.seekBackIncrementMs) { listeners.queueEvent( - Player.EVENT_SEEK_BACK_INCREMENT_CHANGED, + /* eventFlag= */ Player.EVENT_SEEK_BACK_INCREMENT_CHANGED, listener -> listener.onSeekBackIncrementChanged(playerInfo.seekBackIncrementMs)); } if (oldPlayerInfo.seekForwardIncrementMs != playerInfo.seekForwardIncrementMs) { listeners.queueEvent( - Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED, + /* eventFlag= */ Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED, listener -> listener.onSeekForwardIncrementChanged(playerInfo.seekForwardIncrementMs)); } if (oldPlayerInfo.maxSeekToPreviousPositionMs != newPlayerInfo.maxSeekToPreviousPositionMs) { listeners.queueEvent( - Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED, + /* eventFlag= */ Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED, listener -> listener.onMaxSeekToPreviousPositionChanged( newPlayerInfo.maxSeekToPreviousPositionMs)); @@ -2489,7 +2475,7 @@ void onPlayerInfoChanged( if (!Util.areEqual( oldPlayerInfo.trackSelectionParameters, newPlayerInfo.trackSelectionParameters)) { listeners.queueEvent( - Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED, + /* eventFlag= */ Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED, listener -> listener.onTrackSelectionParametersChanged(newPlayerInfo.trackSelectionParameters)); } @@ -2519,7 +2505,7 @@ void onAvailableCommandsChangedFromSession( } if (intersectedPlayerCommandsChanged) { listeners.sendEvent( - Player.EVENT_AVAILABLE_COMMANDS_CHANGED, + /* eventFlag= */ Player.EVENT_AVAILABLE_COMMANDS_CHANGED, listener -> listener.onAvailableCommandsChanged(intersectedPlayerCommands)); } if (sessionCommandsChanged) { @@ -2544,7 +2530,7 @@ void onAvailableCommandsChangedFromPlayer(Commands commandsFromPlayer) { !Util.areEqual(intersectedPlayerCommands, prevIntersectedPlayerCommands); if (intersectedPlayerCommandsChanged) { listeners.sendEvent( - Player.EVENT_AVAILABLE_COMMANDS_CHANGED, + /* eventFlag= */ Player.EVENT_AVAILABLE_COMMANDS_CHANGED, listener -> listener.onAvailableCommandsChanged(intersectedPlayerCommands)); } } @@ -2583,7 +2569,8 @@ public void onExtrasChanged(Bundle extras) { } public void onRenderedFirstFrame() { - listeners.sendEvent(/* eventFlag= */ C.INDEX_UNSET, Listener::onRenderedFirstFrame); + listeners.sendEvent( + /* eventFlag= */ Player.EVENT_RENDERED_FIRST_FRAME, Listener::onRenderedFirstFrame); } private void updateSessionPositionInfoIfNeeded(SessionPositionInfo sessionPositionInfo) { diff --git a/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl b/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl index 008bcc25452..4c119fdf6ae 100644 --- a/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl +++ b/libraries/test_session_common/src/main/aidl/androidx/media3/test/session/common/IRemoteMediaSession.aidl @@ -51,6 +51,7 @@ interface IRemoteMediaSession { void setIsPlayingAd(String sessionId, boolean isPlayingAd); void setCurrentAdGroupIndex(String sessionId, int currentAdGroupIndex); void setCurrentAdIndexInAdGroup(String sessionId, int currentAdIndexInAdGroup); + void setVolume(String sessionId, float volume); void notifyPlayerError(String sessionId, in Bundle playerErrorBundle); void notifyPlayWhenReadyChanged(String sessionId, boolean playWhenReady, int reason); void notifyPlaybackStateChanged(String sessionId, int state); @@ -79,6 +80,8 @@ interface IRemoteMediaSession { void notifySeekBackIncrementChanged(String sessionId, long seekBackIncrementMs); void notifySeekForwardIncrementChanged(String sessionId, long seekForwardIncrementMs); void notifyDeviceVolumeChanged(String sessionId, int volume, boolean muted); + void decreaseDeviceVolume(String sessionId); + void increaseDeviceVolume(String sessionId); void notifyCuesChanged(String sessionId, in Bundle cueGroup); void notifyDeviceInfoChanged(String sessionId, in Bundle deviceInfo); void notifyMediaMetadataChanged(String sessionId, in Bundle mediaMetadata); diff --git a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java index 966d0edb265..3975e98410b 100644 --- a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java +++ b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java @@ -24,8 +24,10 @@ import android.view.WindowManager; import androidx.annotation.Nullable; import androidx.annotation.UiThread; +import androidx.media3.common.Player; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.common.collect.ImmutableList; import java.util.Locale; /** Provides utility methods for testing purpose. */ @@ -127,5 +129,19 @@ static void setKeepScreenOn(Activity activity) { } } + /** + * Returns an {@link ImmutableList} with the {@linkplain Player.Event Events} contained in {@code + * events}. The contents of the list are in matching order with the {@linkplain Player.Event + * Events} returned by {@link Player.Events#get(int)}. + */ + // TODO(b/254265256): Move this method off test-session-common. + public static ImmutableList<@Player.Event Integer> getEventsAsList(Player.Events events) { + ImmutableList.Builder<@Player.Event Integer> list = new ImmutableList.Builder<>(); + for (int i = 0; i < events.size(); i++) { + list.add(events.get(i)); + } + return list.build(); + } + private TestUtils() {} } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index 055a6114139..5a4c2e50550 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -15,17 +15,9 @@ */ package androidx.media3.session; -import static androidx.media3.common.Player.COMMAND_SET_REPEAT_MODE; -import static androidx.media3.common.Player.EVENT_REPEAT_MODE_CHANGED; -import static androidx.media3.common.Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED; -import static androidx.media3.common.Player.REPEAT_MODE_ALL; -import static androidx.media3.common.Player.REPEAT_MODE_ONE; -import static androidx.media3.common.Player.STATE_BUFFERING; import static androidx.media3.session.MediaTestUtils.createTimeline; import static androidx.media3.session.MediaUtils.createPlayerCommandsWith; import static androidx.media3.session.MediaUtils.createPlayerCommandsWithout; -import static androidx.media3.session.SessionCommand.COMMAND_CODE_SESSION_SET_RATING; -import static androidx.media3.session.SessionResult.RESULT_SUCCESS; import static androidx.media3.test.session.common.CommonConstants.DEFAULT_TEST_NAME; import static androidx.media3.test.session.common.CommonConstants.MOCK_MEDIA3_LIBRARY_SERVICE; import static androidx.media3.test.session.common.CommonConstants.MOCK_MEDIA3_SESSION_SERVICE; @@ -37,6 +29,7 @@ import static androidx.media3.test.session.common.TestUtils.LONG_TIMEOUT_MS; import static androidx.media3.test.session.common.TestUtils.NO_RESPONSE_TIMEOUT_MS; import static androidx.media3.test.session.common.TestUtils.TIMEOUT_MS; +import static androidx.media3.test.session.common.TestUtils.getEventsAsList; import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static org.junit.Assert.assertThrows; @@ -51,7 +44,6 @@ import androidx.media3.common.AudioAttributes; import androidx.media3.common.C; import androidx.media3.common.DeviceInfo; -import androidx.media3.common.FlagSet; import androidx.media3.common.Format; import androidx.media3.common.MediaItem; import androidx.media3.common.MediaLibraryInfo; @@ -60,11 +52,7 @@ import androidx.media3.common.PlaybackParameters; import androidx.media3.common.Player; import androidx.media3.common.Player.Commands; -import androidx.media3.common.Player.DiscontinuityReason; -import androidx.media3.common.Player.PlayWhenReadyChangeReason; import androidx.media3.common.Player.PositionInfo; -import androidx.media3.common.Player.RepeatMode; -import androidx.media3.common.Player.State; import androidx.media3.common.Timeline; import androidx.media3.common.TrackGroup; import androidx.media3.common.TrackSelectionParameters; @@ -111,8 +99,6 @@ public class MediaControllerListenerTest { @ClassRule public static MainLooperTestRule mainLooperTestRule = new MainLooperTestRule(); - private static final int EVENT_ON_EVENTS = C.INDEX_UNSET; - final HandlerThreadTestRule threadTestRule = new HandlerThreadTestRule("MediaControllerListenerTest"); final MediaControllerTestRule controllerTestRule = new MediaControllerTestRule(threadTestRule); @@ -290,9 +276,11 @@ public void onPlayerError_isNotified() throws Exception { /* message= */ "test exception", /* cause= */ null, PlaybackException.ERROR_CODE_REMOTE_ERROR); - - AtomicReference playerErrorRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference playerErrorParamRef = new AtomicReference<>(); + AtomicReference playerErrorGetterRef = new AtomicReference<>(); + AtomicReference playerErrorOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); threadTestRule .getHandler() @@ -302,19 +290,31 @@ public void onPlayerError_isNotified() throws Exception { new Player.Listener() { @Override public void onPlayerError(PlaybackException error) { - playerErrorRef.set(error); + playerErrorParamRef.set(error); + playerErrorGetterRef.set(controller.getPlayerError()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + playerErrorOnEventsRef.set(player.getPlayerError()); latch.countDown(); } })); + remoteSession.getMockPlayer().notifyPlayerError(testPlayerError); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(TestUtils.equals(playerErrorRef.get(), testPlayerError)).isTrue(); + assertThat(TestUtils.equals(playerErrorParamRef.get(), testPlayerError)).isTrue(); + assertThat(TestUtils.equals(playerErrorGetterRef.get(), testPlayerError)).isTrue(); + assertThat(TestUtils.equals(playerErrorOnEventsRef.get(), testPlayerError)).isTrue(); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_PLAYER_ERROR); } @Test public void setPlayer_notifiesChangedValues() throws Exception { - @State int testState = STATE_BUFFERING; + @Player.State int testState = Player.STATE_BUFFERING; Timeline testTimeline = MediaTestUtils.createTimeline(/* windowCount= */ 3); MediaMetadata testPlaylistMetadata = new MediaMetadata.Builder().setTitle("title").build(); AudioAttributes testAudioAttributes = @@ -323,10 +323,9 @@ public void setPlayer_notifiesChangedValues() throws Exception { .setLegacyStreamType(AudioManager.STREAM_RING) .build()); boolean testShuffleModeEnabled = true; - @RepeatMode int testRepeatMode = REPEAT_MODE_ALL; + @Player.RepeatMode int testRepeatMode = Player.REPEAT_MODE_ALL; int testCurrentAdGroupIndex = 33; int testCurrentAdIndexInAdGroup = 11; - AtomicInteger stateRef = new AtomicInteger(); AtomicReference timelineRef = new AtomicReference<>(); AtomicReference playlistMetadataRef = new AtomicReference<>(); @@ -351,7 +350,7 @@ public void onAudioAttributesChanged(AudioAttributes attributes) { } @Override - public void onPlaybackStateChanged(@State int playbackState) { + public void onPlaybackStateChanged(@Player.State int playbackState) { stateRef.set(playbackState); latch.countDown(); } @@ -373,7 +372,7 @@ public void onPlaylistMetadataChanged(MediaMetadata playlistMetadata) { public void onPositionDiscontinuity( PositionInfo oldPosition, PositionInfo newPosition, - @DiscontinuityReason int reason) { + @Player.DiscontinuityReason int reason) { isPlayingAdRef.set(controller.isPlayingAd()); currentAdGroupIndexRef.set(newPosition.adGroupIndex); currentAdIndexInAdGroupRef.set(newPosition.adIndexInAdGroup); @@ -387,7 +386,7 @@ public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { } @Override - public void onRepeatModeChanged(@RepeatMode int repeatMode) { + public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { repeatModeRef.set(repeatMode); latch.countDown(); } @@ -434,10 +433,8 @@ public void setPlayer_updatesGetters() throws Exception { int testCurrentAdIndexInAdGroup = 6; int testMediaItemIndex = 1; int testPeriodIndex = 2; - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicLong currentPositionMsRef = new AtomicLong(); AtomicLong contentPositionMsRef = new AtomicLong(); AtomicLong durationMsRef = new AtomicLong(); @@ -452,6 +449,21 @@ public void setPlayer_updatesGetters() throws Exception { AtomicInteger currentAdIndexInAdGroupRef = new AtomicInteger(); AtomicInteger currentMediaItemIndexRef = new AtomicInteger(); AtomicInteger currentPeriodIndexRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicLong onEventsCurrentPositionMsRef = new AtomicLong(); + AtomicLong onEventsContentPositionMsRef = new AtomicLong(); + AtomicLong onEventsDurationMsRef = new AtomicLong(); + AtomicLong onEventsBufferedPositionMsRef = new AtomicLong(); + AtomicInteger onEventsBufferedPercentageRef = new AtomicInteger(); + AtomicLong onEventsTotalBufferedDurationMsRef = new AtomicLong(); + AtomicLong onEventsCurrentLiveOffsetMsRef = new AtomicLong(); + AtomicLong onEventsContentDurationMsRef = new AtomicLong(); + AtomicLong onEventsContentBufferedPositionMsRef = new AtomicLong(); + AtomicBoolean onEventsIsPlayingAdRef = new AtomicBoolean(); + AtomicInteger onEventsCurrentAdGroupIndexRef = new AtomicInteger(); + AtomicInteger onEventsCurrentAdIndexInAdGroupRef = new AtomicInteger(); + AtomicInteger onEventsCurrentMediaItemIndexRef = new AtomicInteger(); + AtomicInteger onEventsCurrentPeriodIndexRef = new AtomicInteger(); threadTestRule .getHandler() .postAndSync( @@ -462,7 +474,7 @@ public void setPlayer_updatesGetters() throws Exception { public void onPositionDiscontinuity( PositionInfo oldPosition, PositionInfo newPosition, - @DiscontinuityReason int reason) { + @Player.DiscontinuityReason int reason) { currentPositionMsRef.set(controller.getCurrentPosition()); contentPositionMsRef.set(controller.getContentPosition()); durationMsRef.set(controller.getDuration()); @@ -479,7 +491,29 @@ public void onPositionDiscontinuity( currentPeriodIndexRef.set(controller.getCurrentPeriodIndex()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsCurrentPositionMsRef.set(player.getCurrentPosition()); + onEventsContentPositionMsRef.set(player.getContentPosition()); + onEventsDurationMsRef.set(player.getDuration()); + onEventsBufferedPositionMsRef.set(player.getBufferedPosition()); + onEventsBufferedPercentageRef.set(player.getBufferedPercentage()); + onEventsTotalBufferedDurationMsRef.set(player.getTotalBufferedDuration()); + onEventsCurrentLiveOffsetMsRef.set(player.getCurrentLiveOffset()); + onEventsContentDurationMsRef.set(player.getContentDuration()); + onEventsContentBufferedPositionMsRef.set( + player.getContentBufferedPosition()); + onEventsIsPlayingAdRef.set(player.isPlayingAd()); + onEventsCurrentAdGroupIndexRef.set(player.getCurrentAdGroupIndex()); + onEventsCurrentAdIndexInAdGroupRef.set(player.getCurrentAdIndexInAdGroup()); + onEventsCurrentMediaItemIndexRef.set(player.getCurrentMediaItemIndex()); + onEventsCurrentPeriodIndexRef.set(player.getCurrentPeriodIndex()); + latch.countDown(); + } })); + Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder() .setPlaybackState(Player.STATE_READY) @@ -502,19 +536,34 @@ public void onPositionDiscontinuity( assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(currentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); + assertThat(onEventsCurrentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); assertThat(contentPositionMsRef.get()).isEqualTo(testContentPositionMs); + assertThat(onEventsContentPositionMsRef.get()).isEqualTo(testContentPositionMs); assertThat(durationMsRef.get()).isEqualTo(testDurationMs); + assertThat(onEventsDurationMsRef.get()).isEqualTo(testDurationMs); assertThat(bufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); + assertThat(onEventsBufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); assertThat(bufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); + assertThat(onEventsBufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); assertThat(totalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); + assertThat(onEventsTotalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); assertThat(currentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); + assertThat(onEventsCurrentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); assertThat(contentDurationMsRef.get()).isEqualTo(testContentDurationMs); + assertThat(onEventsContentDurationMsRef.get()).isEqualTo(testContentDurationMs); assertThat(contentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(onEventsContentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); assertThat(isPlayingAdRef.get()).isEqualTo(testIsPlayingAd); + assertThat(onEventsIsPlayingAdRef.get()).isEqualTo(testIsPlayingAd); assertThat(currentAdGroupIndexRef.get()).isEqualTo(testCurrentAdGroupIndex); + assertThat(onEventsCurrentAdGroupIndexRef.get()).isEqualTo(testCurrentAdGroupIndex); assertThat(currentAdIndexInAdGroupRef.get()).isEqualTo(testCurrentAdIndexInAdGroup); + assertThat(onEventsCurrentAdIndexInAdGroupRef.get()).isEqualTo(testCurrentAdIndexInAdGroup); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); + assertThat(onEventsCurrentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); + assertThat(onEventsCurrentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_POSITION_DISCONTINUITY); } @Test @@ -530,11 +579,12 @@ public void onMediaItemTransition() throws Exception { .getMockPlayer() .notifyMediaItemTransition( currentIndex, Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED); - AtomicReference mediaItemFromParamRef = new AtomicReference<>(); AtomicReference mediaItemFromGetterRef = new AtomicReference<>(); + AtomicReference mediaItemFromOnEventsRef = new AtomicReference<>(); AtomicInteger reasonRef = new AtomicInteger(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); threadTestRule .getHandler() @@ -551,18 +601,28 @@ public void onMediaItemTransition( reasonRef.set(reason); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + mediaItemFromOnEventsRef.set(player.getCurrentMediaItem()); + latch.countDown(); + } })); int testIndex = 3; int testReason = Player.MEDIA_ITEM_TRANSITION_REASON_SEEK; + remoteSession.getMockPlayer().setCurrentMediaItemIndex(testIndex); remoteSession.getMockPlayer().notifyMediaItemTransition(testIndex, testReason); + Timeline.Window window = new Timeline.Window(); MediaItem currentMediaItem = timeline.getWindow(testIndex, window).mediaItem; - assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(mediaItemFromParamRef.get()).isEqualTo(currentMediaItem); assertThat(mediaItemFromGetterRef.get()).isEqualTo(currentMediaItem); + assertThat(mediaItemFromOnEventsRef.get()).isEqualTo(currentMediaItem); assertThat(reasonRef.get()).isEqualTo(testReason); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_MEDIA_ITEM_TRANSITION); } @Test @@ -573,9 +633,11 @@ public void onMediaItemTransition_withNullMediaItem() throws Exception { remoteSession .getMockPlayer() .notifyMediaItemTransition(0, Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED); - - AtomicReference mediaItemRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference mediaItemFromParamRef = new AtomicReference<>(); + AtomicReference mediaItemFromGetterRef = new AtomicReference<>(); + AtomicReference mediaItemOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); threadTestRule .getHandler() @@ -587,10 +649,19 @@ public void onMediaItemTransition_withNullMediaItem() throws Exception { public void onMediaItemTransition( @Nullable MediaItem mediaItem, @Player.MediaItemTransitionReason int reason) { - mediaItemRef.set(mediaItem); + mediaItemFromParamRef.set(mediaItem); + mediaItemFromGetterRef.set(controller.getCurrentMediaItem()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + mediaItemOnEventsRef.set(player.getCurrentMediaItem()); latch.countDown(); } })); + remoteSession.getMockPlayer().setTimeline(Timeline.EMPTY); remoteSession .getMockPlayer() @@ -601,7 +672,10 @@ public void onMediaItemTransition( C.INDEX_UNSET, Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(mediaItemRef.get()).isNull(); + assertThat(mediaItemFromParamRef.get()).isNull(); + assertThat(mediaItemFromGetterRef.get()).isNull(); + assertThat(mediaItemOnEventsRef.get()).isNull(); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_MEDIA_ITEM_TRANSITION); } /** This also tests {@link MediaController#getPlaybackParameters()}. */ @@ -610,15 +684,25 @@ public void onPlaybackParametersChanged_isNotified() throws Exception { PlaybackParameters testPlaybackParameters = new PlaybackParameters(/* speed= */ 3.2f, /* pitch= */ 2.1f); remoteSession.getMockPlayer().setPlaybackParameters(PlaybackParameters.DEFAULT); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); - AtomicReference playbackParametersRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference playbackParametersFromParamRef = new AtomicReference<>(); + AtomicReference playbackParametersFromGetterRef = new AtomicReference<>(); + AtomicReference playbackParametersFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { - playbackParametersRef.set(playbackParameters); + playbackParametersFromParamRef.set(playbackParameters); + playbackParametersFromGetterRef.set(controller.getPlaybackParameters()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + playbackParametersFromOnEventsRef.set(controller.getPlaybackParameters()); latch.countDown(); } }; @@ -627,7 +711,11 @@ public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) { remoteSession.getMockPlayer().notifyPlaybackParametersChanged(testPlaybackParameters); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(playbackParametersRef.get()).isEqualTo(testPlaybackParameters); + assertThat(playbackParametersFromParamRef.get()).isEqualTo(testPlaybackParameters); + assertThat(playbackParametersFromGetterRef.get()).isEqualTo(testPlaybackParameters); + assertThat(playbackParametersFromOnEventsRef.get()).isEqualTo(testPlaybackParameters); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_PARAMETERS_CHANGED); } @Test @@ -641,23 +729,25 @@ public void onPlaybackParametersChanged_updatesGetters() throws Exception { long testTotalBufferedDurationMs = 120; long testCurrentLiveOffsetMs = 10; long testContentBufferedPositionMs = 240; - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference playbackParametersRef = new AtomicReference<>(); AtomicLong currentPositionMsRef = new AtomicLong(); AtomicLong contentPositionMsRef = new AtomicLong(); - AtomicLong durationMsRef = new AtomicLong(); AtomicLong bufferedPositionMsRef = new AtomicLong(); AtomicInteger bufferedPercentageRef = new AtomicInteger(); AtomicLong totalBufferedDurationMsRef = new AtomicLong(); AtomicLong currentLiveOffsetMsRef = new AtomicLong(); - AtomicLong contentDurationMsRef = new AtomicLong(); AtomicLong contentBufferedPositionMsRef = new AtomicLong(); - AtomicBoolean isPlayingAdRef = new AtomicBoolean(); - AtomicInteger currentAdGroupIndexRef = new AtomicInteger(); - AtomicInteger currentAdIndexInAdGroupRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicReference onEventsPlaybackParametersRef = new AtomicReference<>(); + AtomicLong onEventsCurrentPositionMsRef = new AtomicLong(); + AtomicLong onEventsContentPositionMsRef = new AtomicLong(); + AtomicLong onEventsBufferedPositionMsRef = new AtomicLong(); + AtomicInteger onEventsBufferedPercentageRef = new AtomicInteger(); + AtomicLong onEventsTotalBufferedDurationMsRef = new AtomicLong(); + AtomicLong onEventsCurrentLiveOffsetMsRef = new AtomicLong(); + AtomicLong onEventsContentBufferedPositionMsRef = new AtomicLong(); threadTestRule .getHandler() .postAndSync( @@ -677,7 +767,23 @@ public void onPlaybackParametersChanged( contentBufferedPositionMsRef.set(controller.getContentBufferedPosition()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsPlaybackParametersRef.set(player.getPlaybackParameters()); + onEventsCurrentPositionMsRef.set(player.getCurrentPosition()); + onEventsContentPositionMsRef.set(player.getContentPosition()); + onEventsBufferedPositionMsRef.set(player.getBufferedPosition()); + onEventsBufferedPercentageRef.set(player.getBufferedPercentage()); + onEventsTotalBufferedDurationMsRef.set(player.getTotalBufferedDuration()); + onEventsCurrentLiveOffsetMsRef.set(player.getCurrentLiveOffset()); + onEventsContentBufferedPositionMsRef.set( + player.getContentBufferedPosition()); + latch.countDown(); + } })); + remoteSession.getMockPlayer().setCurrentPosition(testCurrentPositionMs); remoteSession.getMockPlayer().setContentPosition(testContentPositionMs); remoteSession.getMockPlayer().setBufferedPosition(testBufferedPositionMs); @@ -689,23 +795,35 @@ public void onPlaybackParametersChanged( assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playbackParametersRef.get()).isEqualTo(testPlaybackParameters); + assertThat(onEventsPlaybackParametersRef.get()).isEqualTo(testPlaybackParameters); assertThat(currentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); + assertThat(onEventsCurrentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); assertThat(contentPositionMsRef.get()).isEqualTo(testContentPositionMs); + assertThat(onEventsContentPositionMsRef.get()).isEqualTo(testContentPositionMs); assertThat(bufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); + assertThat(onEventsBufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); assertThat(bufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); + assertThat(onEventsBufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); assertThat(totalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); + assertThat(onEventsTotalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); assertThat(currentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); + assertThat(onEventsCurrentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); assertThat(contentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(onEventsContentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_PARAMETERS_CHANGED); } /** This also tests {@link MediaController#getCurrentTimeline()}. */ @Test public void onTimelineChanged() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference timelineFromParamRef = new AtomicReference<>(); AtomicReference timelineFromGetterRef = new AtomicReference<>(); + AtomicReference timelineFromOnEventsRef = new AtomicReference<>(); AtomicInteger reasonRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -716,6 +834,13 @@ public void onTimelineChanged( reasonRef.set(reason); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + timelineFromOnEventsRef.set(player.getCurrentTimeline()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -727,56 +852,87 @@ public void onTimelineChanged( assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); MediaTestUtils.assertMediaIdEquals(timeline, timelineFromParamRef.get()); MediaTestUtils.assertMediaIdEquals(timeline, timelineFromGetterRef.get()); + MediaTestUtils.assertMediaIdEquals(timeline, timelineFromOnEventsRef.get()); assertThat(reasonRef.get()).isEqualTo(reason); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_TIMELINE_CHANGED); } @Test @LargeTest public void onTimelineChanged_withLongPlaylist() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - AtomicReference timelineRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference timelineFromParamRef = new AtomicReference<>(); + AtomicReference timelineFromGetterRef = new AtomicReference<>(); + AtomicReference timelineFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override public void onTimelineChanged( Timeline timeline, @Player.TimelineChangeReason int reason) { - timelineRef.set(timeline); + timelineFromParamRef.set(timeline); + timelineFromGetterRef.set(controller.getCurrentTimeline()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + timelineFromOnEventsRef.set(player.getCurrentTimeline()); latch.countDown(); } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); - int windowCount = 5_000; + remoteSession.getMockPlayer().createAndSetFakeTimeline(windowCount); remoteSession .getMockPlayer() .notifyTimelineChanged(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED); assertThat(latch.await(LONG_TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(timelineRef.get().getWindowCount()).isEqualTo(windowCount); + assertThat(timelineFromParamRef.get().getWindowCount()).isEqualTo(windowCount); + assertThat(timelineFromGetterRef.get().getWindowCount()).isEqualTo(windowCount); + assertThat(timelineFromOnEventsRef.get().getWindowCount()).isEqualTo(windowCount); Timeline.Window window = new Timeline.Window(); for (int i = 0; i < windowCount; i++) { - assertThat(timelineRef.get().getWindow(i, window).mediaItem.mediaId) + assertThat(timelineFromParamRef.get().getWindow(i, window).mediaItem.mediaId) + .isEqualTo(TestUtils.getMediaIdInFakeTimeline(i)); + assertThat(timelineFromGetterRef.get().getWindow(i, window).mediaItem.mediaId) + .isEqualTo(TestUtils.getMediaIdInFakeTimeline(i)); + assertThat(timelineFromOnEventsRef.get().getWindow(i, window).mediaItem.mediaId) .isEqualTo(TestUtils.getMediaIdInFakeTimeline(i)); } + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_TIMELINE_CHANGED); } @Test public void onTimelineChanged_withEmptyTimeline() throws Exception { remoteSession.getMockPlayer().createAndSetFakeTimeline(/* windowCount= */ 1); - CountDownLatch latch = new CountDownLatch(1); - AtomicReference timelineRef = new AtomicReference<>(); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference timelineFromParamRef = new AtomicReference<>(); + AtomicReference timelineFromGetterRef = new AtomicReference<>(); + AtomicReference timelineFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onTimelineChanged( Timeline timeline, @Player.TimelineChangeReason int reason) { - timelineRef.set(timeline); + timelineFromParamRef.set(timeline); + timelineFromGetterRef.set(controller.getCurrentTimeline()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + timelineFromOnEventsRef.set(player.getCurrentTimeline()); latch.countDown(); } }; - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); remoteSession.getMockPlayer().setTimeline(Timeline.EMPTY); @@ -785,8 +941,13 @@ public void onTimelineChanged( .notifyTimelineChanged(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(timelineRef.get().getWindowCount()).isEqualTo(0); - assertThat(timelineRef.get().getPeriodCount()).isEqualTo(0); + assertThat(timelineFromParamRef.get().getWindowCount()).isEqualTo(0); + assertThat(timelineFromParamRef.get().getPeriodCount()).isEqualTo(0); + assertThat(timelineFromGetterRef.get().getWindowCount()).isEqualTo(0); + assertThat(timelineFromGetterRef.get().getPeriodCount()).isEqualTo(0); + assertThat(timelineFromOnEventsRef.get().getWindowCount()).isEqualTo(0); + assertThat(timelineFromOnEventsRef.get().getPeriodCount()).isEqualTo(0); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_TIMELINE_CHANGED); } /** This also tests {@link MediaController#getPlaylistMetadata()}. */ @@ -795,7 +956,9 @@ public void onPlaylistMetadataChanged() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicReference metadataFromParamRef = new AtomicReference<>(); AtomicReference metadataFromGetterRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference metadataFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -804,6 +967,13 @@ public void onPlaylistMetadataChanged(MediaMetadata metadata) { metadataFromGetterRef.set(controller.getPlaylistMetadata()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + metadataFromOnEventsRef.set(player.getPlaylistMetadata()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -815,6 +985,8 @@ public void onPlaylistMetadataChanged(MediaMetadata metadata) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(metadataFromParamRef.get()).isEqualTo(playlistMetadata); assertThat(metadataFromGetterRef.get()).isEqualTo(playlistMetadata); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_PLAYLIST_METADATA_CHANGED); } /** This also tests {@link MediaController#getTrackSelectionParameters()}. */ @@ -822,11 +994,12 @@ public void onPlaylistMetadataChanged(MediaMetadata metadata) { public void onTrackSelectionParametersChanged() throws Exception { RemoteMediaSession.RemoteMockPlayer player = remoteSession.getMockPlayer(); player.setTrackSelectionParameters(TrackSelectionParameters.DEFAULT_WITHOUT_CONTEXT); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicReference parametersFromParamRef = new AtomicReference<>(); AtomicReference parametersFromGetterRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference parametersFromOnEventsrRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -835,6 +1008,13 @@ public void onTrackSelectionParametersChanged(TrackSelectionParameters parameter parametersFromGetterRef.set(controller.getTrackSelectionParameters()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + parametersFromOnEventsrRef.set(controller.getTrackSelectionParameters()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -848,6 +1028,9 @@ public void onTrackSelectionParametersChanged(TrackSelectionParameters parameter assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(parametersFromParamRef.get()).isEqualTo(parameters); assertThat(parametersFromGetterRef.get()).isEqualTo(parameters); + assertThat(parametersFromOnEventsrRef.get()).isEqualTo(parameters); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED); } @Test @@ -869,7 +1052,9 @@ public void onTracksChanged() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicReference changedCurrentTracksFromParamRef = new AtomicReference<>(); AtomicReference changedCurrentTracksFromGetterRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference changedCurrentTracksFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -878,6 +1063,13 @@ public void onTracksChanged(Tracks currentTracks) { changedCurrentTracksFromGetterRef.set(controller.getCurrentTracks()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + changedCurrentTracksFromOnEventsRef.set(player.getCurrentTracks()); + latch.countDown(); + } }; AtomicReference initialCurrentTracksRef = new AtomicReference<>(); threadTestRule @@ -894,6 +1086,8 @@ public void onTracksChanged(Tracks currentTracks) { assertThat(initialCurrentTracksRef.get()).isEqualTo(Tracks.EMPTY); assertThat(changedCurrentTracksFromParamRef.get()).isEqualTo(currentTracks); assertThat(changedCurrentTracksFromGetterRef.get()).isEqualTo(currentTracks); + assertThat(changedCurrentTracksFromOnEventsRef.get()).isEqualTo(currentTracks); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_TRACKS_CHANGED); } @Test @@ -1004,13 +1198,16 @@ public void onShuffleModeEnabledChanged() throws Exception { player.setCurrentMediaItemIndex(2); player.setShuffleModeEnabled(false); player.notifyShuffleModeEnabledChanged(); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicBoolean shuffleModeEnabledFromParamRef = new AtomicBoolean(); AtomicBoolean shuffleModeEnabledFromGetterRef = new AtomicBoolean(); AtomicInteger previousIndexRef = new AtomicInteger(); AtomicInteger nextIndexRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicBoolean onEventsShuffleModeEnabledRef = new AtomicBoolean(); + AtomicInteger onEventsPreviousIndexRef = new AtomicInteger(); + AtomicInteger onEventsNextIndexRef = new AtomicInteger(); Player.Listener listener = new Player.Listener() { @Override @@ -1021,6 +1218,15 @@ public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { nextIndexRef.set(controller.getNextMediaItemIndex()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsShuffleModeEnabledRef.set(player.getShuffleModeEnabled()); + onEventsPreviousIndexRef.set(player.getPreviousMediaItemIndex()); + onEventsNextIndexRef.set(player.getNextMediaItemIndex()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1030,8 +1236,13 @@ public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(shuffleModeEnabledFromParamRef.get()).isTrue(); assertThat(shuffleModeEnabledFromGetterRef.get()).isTrue(); + assertThat(onEventsShuffleModeEnabledRef.get()).isTrue(); assertThat(previousIndexRef.get()).isEqualTo(0); + assertThat(onEventsPreviousIndexRef.get()).isEqualTo(0); assertThat(nextIndexRef.get()).isEqualTo(1); + assertThat(onEventsNextIndexRef.get()).isEqualTo(1); + assertThat(getEventsAsList(eventsRef.get())) + .contains(Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED); } /** This also tests {@link MediaController#getRepeatMode()}. */ @@ -1044,35 +1255,51 @@ public void onRepeatModeChanged() throws Exception { player.setCurrentMediaItemIndex(2); player.setRepeatMode(Player.REPEAT_MODE_OFF); player.notifyRepeatModeChanged(); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicInteger repeatModeFromParamRef = new AtomicInteger(); AtomicInteger repeatModeFromGetterRef = new AtomicInteger(); AtomicInteger previousIndexRef = new AtomicInteger(); AtomicInteger nextIndexRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicInteger onEventsRepeatModeRef = new AtomicInteger(); + AtomicInteger onEventsPreviousIndexRef = new AtomicInteger(); + AtomicInteger onEventsNextIndexRef = new AtomicInteger(); Player.Listener listener = new Player.Listener() { @Override - public void onRepeatModeChanged(@RepeatMode int repeatMode) { + public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { repeatModeFromParamRef.set(repeatMode); repeatModeFromGetterRef.set(controller.getRepeatMode()); previousIndexRef.set(controller.getPreviousMediaItemIndex()); nextIndexRef.set(controller.getNextMediaItemIndex()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsRepeatModeRef.set(player.getRepeatMode()); + onEventsPreviousIndexRef.set(player.getPreviousMediaItemIndex()); + onEventsNextIndexRef.set(player.getNextMediaItemIndex()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + int testRepeatMode = Player.REPEAT_MODE_ALL; - int testRepeatMode = REPEAT_MODE_ALL; player.setRepeatMode(testRepeatMode); player.notifyRepeatModeChanged(); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(repeatModeFromParamRef.get()).isEqualTo(testRepeatMode); assertThat(repeatModeFromGetterRef.get()).isEqualTo(testRepeatMode); + assertThat(onEventsRepeatModeRef.get()).isEqualTo(testRepeatMode); assertThat(previousIndexRef.get()).isEqualTo(1); + assertThat(onEventsPreviousIndexRef.get()).isEqualTo(1); assertThat(nextIndexRef.get()).isEqualTo(0); + assertThat(onEventsNextIndexRef.get()).isEqualTo(0); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_REPEAT_MODE_CHANGED); } /** This also tests {@link MediaController#getSeekBackIncrement()}. */ @@ -1080,11 +1307,12 @@ public void onRepeatModeChanged(@RepeatMode int repeatMode) { public void onSeekBackIncrementChanged() throws Exception { RemoteMediaSession.RemoteMockPlayer player = remoteSession.getMockPlayer(); player.notifySeekBackIncrementChanged(1_000); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicLong incrementFromParamRef = new AtomicLong(); AtomicLong incrementFromGetterRef = new AtomicLong(); + AtomicLong incrementFromOnEventsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1093,6 +1321,13 @@ public void onSeekBackIncrementChanged(long seekBackIncrementMs) { incrementFromGetterRef.set(controller.getSeekBackIncrement()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + incrementFromOnEventsRef.set(player.getSeekBackIncrement()); + latch.countDown(); + } }; controller.addListener(listener); @@ -1102,6 +1337,9 @@ public void onSeekBackIncrementChanged(long seekBackIncrementMs) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(incrementFromParamRef.get()).isEqualTo(testSeekBackIncrementMs); assertThat(incrementFromGetterRef.get()).isEqualTo(testSeekBackIncrementMs); + assertThat(incrementFromOnEventsRef.get()).isEqualTo(testSeekBackIncrementMs); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_SEEK_BACK_INCREMENT_CHANGED); } /** This also tests {@link MediaController#getSeekForwardIncrement()}. */ @@ -1109,11 +1347,12 @@ public void onSeekBackIncrementChanged(long seekBackIncrementMs) { public void onSeekForwardIncrementChanged() throws Exception { RemoteMediaSession.RemoteMockPlayer player = remoteSession.getMockPlayer(); player.notifySeekForwardIncrementChanged(1_000); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicLong incrementFromParamRef = new AtomicLong(); AtomicLong incrementFromGetterRef = new AtomicLong(); + AtomicLong incrementFromOnEventsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1122,6 +1361,13 @@ public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) { incrementFromGetterRef.set(controller.getSeekForwardIncrement()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + incrementFromOnEventsRef.set(player.getSeekForwardIncrement()); + latch.countDown(); + } }; controller.addListener(listener); @@ -1131,6 +1377,9 @@ public void onSeekForwardIncrementChanged(long seekForwardIncrementMs) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(incrementFromParamRef.get()).isEqualTo(testSeekForwardIncrementMs); assertThat(incrementFromGetterRef.get()).isEqualTo(testSeekForwardIncrementMs); + assertThat(incrementFromOnEventsRef.get()).isEqualTo(testSeekForwardIncrementMs); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_SEEK_FORWARD_INCREMENT_CHANGED); } @Test @@ -1143,24 +1392,38 @@ public void onPlayWhenReadyChanged_isNotified() throws Exception { remoteSession .getMockPlayer() .setPlayWhenReady(false, Player.PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(2); - AtomicBoolean playWhenReadyRef = new AtomicBoolean(); - AtomicInteger playWhenReadyReasonRef = new AtomicInteger(); - AtomicInteger playbackSuppressionReasonRef = new AtomicInteger(); + CountDownLatch latch = new CountDownLatch(3); + AtomicBoolean playWhenReadyParamRef = new AtomicBoolean(); + AtomicBoolean playWhenReadyGetterRef = new AtomicBoolean(); + AtomicInteger playWhenReadyReasonParamRef = new AtomicInteger(); + AtomicInteger playbackSuppressionReasonParamRef = new AtomicInteger(); + AtomicInteger playbackSuppressionReasonGetterRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicBoolean onEventsPlayWhenReadyRef = new AtomicBoolean(); + AtomicInteger onEventsPlaybackSuppressionReasonRef = new AtomicInteger(); Player.Listener listener = new Player.Listener() { @Override public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) { - playWhenReadyRef.set(playWhenReady); - playWhenReadyReasonRef.set(reason); + playWhenReadyParamRef.set(playWhenReady); + playWhenReadyGetterRef.set(controller.getPlayWhenReady()); + playWhenReadyReasonParamRef.set(reason); latch.countDown(); } @Override public void onPlaybackSuppressionReasonChanged(int playbackSuppressionReason) { - playbackSuppressionReasonRef.set(playbackSuppressionReason); + playbackSuppressionReasonParamRef.set(playbackSuppressionReason); + playbackSuppressionReasonGetterRef.set(controller.getPlaybackSuppressionReason()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsPlayWhenReadyRef.set(player.getPlayWhenReady()); + onEventsPlaybackSuppressionReasonRef.set(player.getPlaybackSuppressionReason()); latch.countDown(); } }; @@ -1169,9 +1432,16 @@ public void onPlaybackSuppressionReasonChanged(int playbackSuppressionReason) { remoteSession.getMockPlayer().notifyPlayWhenReadyChanged(testPlayWhenReady, testReason); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(playWhenReadyRef.get()).isEqualTo(testPlayWhenReady); - assertThat(playWhenReadyReasonRef.get()).isEqualTo(testReason); - assertThat(playbackSuppressionReasonRef.get()).isEqualTo(testSuppressionReason); + assertThat(playWhenReadyParamRef.get()).isEqualTo(testPlayWhenReady); + assertThat(playWhenReadyGetterRef.get()).isEqualTo(testPlayWhenReady); + assertThat(onEventsPlayWhenReadyRef.get()).isEqualTo(testPlayWhenReady); + assertThat(playWhenReadyReasonParamRef.get()).isEqualTo(testReason); + assertThat(playbackSuppressionReasonParamRef.get()).isEqualTo(testSuppressionReason); + assertThat(playbackSuppressionReasonGetterRef.get()).isEqualTo(testSuppressionReason); + assertThat(onEventsPlaybackSuppressionReasonRef.get()).isEqualTo(testSuppressionReason); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly( + Player.EVENT_PLAY_WHEN_READY_CHANGED, Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED); } @Test @@ -1188,10 +1458,8 @@ public void onPlayWhenReadyChanged_updatesGetters() throws Exception { long testTotalBufferedDurationMs = 120; long testCurrentLiveOffsetMs = 10; long testContentBufferedPositionMs = 240; - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicBoolean playWhenReadyRef = new AtomicBoolean(); AtomicInteger playbackSuppressionReasonRef = new AtomicInteger(); AtomicLong currentPositionMsRef = new AtomicLong(); @@ -1201,6 +1469,16 @@ public void onPlayWhenReadyChanged_updatesGetters() throws Exception { AtomicLong totalBufferedDurationMsRef = new AtomicLong(); AtomicLong currentLiveOffsetMsRef = new AtomicLong(); AtomicLong contentBufferedPositionMsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicBoolean onEventsPlayWhenReadyRef = new AtomicBoolean(); + AtomicInteger onEventsPlaybackSuppressionReasonRef = new AtomicInteger(); + AtomicLong onEventsCurrentPositionMsRef = new AtomicLong(); + AtomicLong onEventsContentPositionMsRef = new AtomicLong(); + AtomicLong onEventsBufferedPositionMsRef = new AtomicLong(); + AtomicInteger onEventsBufferedPercentageRef = new AtomicInteger(); + AtomicLong onEventsTotalBufferedDurationMsRef = new AtomicLong(); + AtomicLong onEventsCurrentLiveOffsetMsRef = new AtomicLong(); + AtomicLong onEventsContentBufferedPositionMsRef = new AtomicLong(); threadTestRule .getHandler() .postAndSync( @@ -1209,7 +1487,7 @@ public void onPlayWhenReadyChanged_updatesGetters() throws Exception { new Player.Listener() { @Override public void onPlayWhenReadyChanged( - boolean playWhenReady, @PlayWhenReadyChangeReason int reason) { + boolean playWhenReady, @Player.PlayWhenReadyChangeReason int reason) { playWhenReadyRef.set(controller.getPlayWhenReady()); playbackSuppressionReasonRef.set(controller.getPlaybackSuppressionReason()); currentPositionMsRef.set(controller.getCurrentPosition()); @@ -1221,7 +1499,25 @@ public void onPlayWhenReadyChanged( contentBufferedPositionMsRef.set(controller.getContentBufferedPosition()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsPlayWhenReadyRef.set(player.getPlayWhenReady()); + onEventsPlaybackSuppressionReasonRef.set( + player.getPlaybackSuppressionReason()); + onEventsCurrentPositionMsRef.set(player.getCurrentPosition()); + onEventsContentPositionMsRef.set(player.getContentPosition()); + onEventsBufferedPositionMsRef.set(player.getBufferedPosition()); + onEventsBufferedPercentageRef.set(player.getBufferedPercentage()); + onEventsTotalBufferedDurationMsRef.set(player.getTotalBufferedDuration()); + onEventsCurrentLiveOffsetMsRef.set(player.getCurrentLiveOffset()); + onEventsContentBufferedPositionMsRef.set( + player.getContentBufferedPosition()); + latch.countDown(); + } })); + remoteSession.getMockPlayer().setCurrentPosition(testCurrentPositionMs); remoteSession.getMockPlayer().setContentPosition(testContentPositionMs); remoteSession.getMockPlayer().setBufferedPosition(testBufferedPositionMs); @@ -1233,13 +1529,22 @@ public void onPlayWhenReadyChanged( assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playWhenReadyRef.get()).isEqualTo(testPlayWhenReady); + assertThat(onEventsPlayWhenReadyRef.get()).isEqualTo(testPlayWhenReady); assertThat(playbackSuppressionReasonRef.get()).isEqualTo(testReason); + assertThat(onEventsPlaybackSuppressionReasonRef.get()).isEqualTo(testReason); assertThat(currentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); + assertThat(onEventsCurrentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); assertThat(bufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); + assertThat(onEventsBufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); assertThat(bufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); + assertThat(onEventsBufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); assertThat(totalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); + assertThat(onEventsTotalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); assertThat(currentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); + assertThat(onEventsCurrentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); assertThat(contentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(onEventsContentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(getEventsAsList(eventsRef.get())).contains(Player.EVENT_PLAY_WHEN_READY_CHANGED); } @Test @@ -1250,15 +1555,25 @@ public void onPlaybackSuppressionReasonChanged_isNotified() throws Exception { remoteSession .getMockPlayer() .setPlayWhenReady(testPlayWhenReady, Player.PLAYBACK_SUPPRESSION_REASON_NONE); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); - AtomicInteger playbackSuppressionReasonRef = new AtomicInteger(); + CountDownLatch latch = new CountDownLatch(2); + AtomicInteger playbackSuppressionReasonParamRef = new AtomicInteger(); + AtomicInteger playbackSuppressionReasonGetterRef = new AtomicInteger(); + AtomicInteger playbackSuppressionReasonOnEventsRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onPlaybackSuppressionReasonChanged(int reason) { - playbackSuppressionReasonRef.set(reason); + playbackSuppressionReasonParamRef.set(reason); + playbackSuppressionReasonGetterRef.set(controller.getPlaybackSuppressionReason()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + playbackSuppressionReasonOnEventsRef.set(player.getPlaybackSuppressionReason()); latch.countDown(); } }; @@ -1267,7 +1582,11 @@ public void onPlaybackSuppressionReasonChanged(int reason) { remoteSession.getMockPlayer().notifyPlayWhenReadyChanged(testPlayWhenReady, testReason); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(playbackSuppressionReasonRef.get()).isEqualTo(testReason); + assertThat(playbackSuppressionReasonParamRef.get()).isEqualTo(testReason); + assertThat(playbackSuppressionReasonGetterRef.get()).isEqualTo(testReason); + assertThat(playbackSuppressionReasonOnEventsRef.get()).isEqualTo(testReason); + assertThat(getEventsAsList(eventsRef.get())) + .contains(Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED); } @Test @@ -1285,9 +1604,8 @@ public void onPlaybackSuppressionReasonChanged_updatesGetters() throws Exception remoteSession .getMockPlayer() .setPlayWhenReady(testPlayWhenReady, Player.PLAYBACK_SUPPRESSION_REASON_NONE); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicInteger playbackSuppressionReasonRef = new AtomicInteger(); AtomicLong currentPositionMsRef = new AtomicLong(); AtomicLong contentPositionMsRef = new AtomicLong(); @@ -1296,6 +1614,15 @@ public void onPlaybackSuppressionReasonChanged_updatesGetters() throws Exception AtomicLong totalBufferedDurationMsRef = new AtomicLong(); AtomicLong currentLiveOffsetMsRef = new AtomicLong(); AtomicLong contentBufferedPositionMsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicInteger onEventsPlaybackSuppressionReasonRef = new AtomicInteger(); + AtomicLong onEventsCurrentPositionMsRef = new AtomicLong(); + AtomicLong onEventsContentPositionMsRef = new AtomicLong(); + AtomicLong onEventsBufferedPositionMsRef = new AtomicLong(); + AtomicInteger onEventsBufferedPercentageRef = new AtomicInteger(); + AtomicLong onEventsTotalBufferedDurationMsRef = new AtomicLong(); + AtomicLong onEventsCurrentLiveOffsetMsRef = new AtomicLong(); + AtomicLong onEventsContentBufferedPositionMsRef = new AtomicLong(); Player.Listener listener = new Player.Listener() { @Override @@ -1310,6 +1637,20 @@ public void onPlaybackSuppressionReasonChanged(int reason) { contentBufferedPositionMsRef.set(controller.getContentBufferedPosition()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsPlaybackSuppressionReasonRef.set(player.getPlaybackSuppressionReason()); + onEventsCurrentPositionMsRef.set(player.getCurrentPosition()); + onEventsContentPositionMsRef.set(player.getContentPosition()); + onEventsBufferedPositionMsRef.set(player.getBufferedPosition()); + onEventsBufferedPercentageRef.set(player.getBufferedPercentage()); + onEventsTotalBufferedDurationMsRef.set(player.getTotalBufferedDuration()); + onEventsCurrentLiveOffsetMsRef.set(player.getCurrentLiveOffset()); + onEventsContentBufferedPositionMsRef.set(player.getContentBufferedPosition()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1324,28 +1665,48 @@ public void onPlaybackSuppressionReasonChanged(int reason) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playbackSuppressionReasonRef.get()).isEqualTo(testReason); + assertThat(onEventsPlaybackSuppressionReasonRef.get()).isEqualTo(testReason); assertThat(currentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); + assertThat(onEventsCurrentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); assertThat(contentPositionMsRef.get()).isEqualTo(testContentPositionMs); + assertThat(onEventsContentPositionMsRef.get()).isEqualTo(testContentPositionMs); assertThat(bufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); + assertThat(onEventsBufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); assertThat(bufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); + assertThat(onEventsBufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); assertThat(totalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); + assertThat(onEventsTotalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); assertThat(currentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); + assertThat(onEventsCurrentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); assertThat(contentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(onEventsContentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(getEventsAsList(eventsRef.get())) + .contains(Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED); } @Test public void onPlaybackStateChanged_isNotified() throws Exception { - @Player.State int testPlaybackState = STATE_BUFFERING; + @Player.State int testPlaybackState = Player.EVENT_PLAYER_ERROR; remoteSession.getMockPlayer().notifyPlaybackStateChanged(Player.STATE_IDLE); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); - AtomicInteger playbackStateRef = new AtomicInteger(); + CountDownLatch latch = new CountDownLatch(2); + AtomicInteger playbackStateParamRef = new AtomicInteger(); + AtomicInteger playbackStateGetterRef = new AtomicInteger(); + AtomicInteger playbackStateOnEventsRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onPlaybackStateChanged(int playbackState) { - playbackStateRef.set(playbackState); + playbackStateParamRef.set(playbackState); + playbackStateGetterRef.set(controller.getPlaybackState()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + playbackStateOnEventsRef.set(player.getPlaybackState()); latch.countDown(); } }; @@ -1354,12 +1715,16 @@ public void onPlaybackStateChanged(int playbackState) { remoteSession.getMockPlayer().notifyPlaybackStateChanged(testPlaybackState); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(playbackStateRef.get()).isEqualTo(testPlaybackState); + assertThat(playbackStateParamRef.get()).isEqualTo(testPlaybackState); + assertThat(playbackStateGetterRef.get()).isEqualTo(testPlaybackState); + assertThat(playbackStateOnEventsRef.get()).isEqualTo(testPlaybackState); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_STATE_CHANGED); } @Test public void onPlaybackStateChanged_updatesGetters() throws Exception { - @Player.State int testPlaybackState = STATE_BUFFERING; + @Player.State int testPlaybackState = Player.EVENT_PLAYER_ERROR; long testCurrentPositionMs = 11; long testContentPositionMs = 33; long testBufferedPositionMs = 100; @@ -1368,10 +1733,10 @@ public void onPlaybackStateChanged_updatesGetters() throws Exception { long testCurrentLiveOffsetMs = 10; long testContentBufferedPositionMs = 240; remoteSession.getMockPlayer().notifyPlaybackStateChanged(Player.STATE_IDLE); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); - AtomicInteger playbackStateRef = new AtomicInteger(); + CountDownLatch latch = new CountDownLatch(2); + AtomicInteger playbackStateParamRef = new AtomicInteger(); + AtomicInteger playbackStateGetterRef = new AtomicInteger(); AtomicLong currentPositionMsRef = new AtomicLong(); AtomicLong contentPositionMsRef = new AtomicLong(); AtomicLong bufferedPositionMsRef = new AtomicLong(); @@ -1379,11 +1744,21 @@ public void onPlaybackStateChanged_updatesGetters() throws Exception { AtomicLong totalBufferedDurationMsRef = new AtomicLong(); AtomicLong currentLiveOffsetMsRef = new AtomicLong(); AtomicLong contentBufferedPositionMsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); + AtomicInteger onEventsPlaybackStateRef = new AtomicInteger(); + AtomicLong onEventsCurrentPositionMsRef = new AtomicLong(); + AtomicLong onEventsContentPositionMsRef = new AtomicLong(); + AtomicLong onEventsBufferedPositionMsRef = new AtomicLong(); + AtomicInteger onEventsBufferedPercentageRef = new AtomicInteger(); + AtomicLong onEventsTotalBufferedDurationMsRef = new AtomicLong(); + AtomicLong onEventsCurrentLiveOffsetMsRef = new AtomicLong(); + AtomicLong onEventsContentBufferedPositionMsRef = new AtomicLong(); Player.Listener listener = new Player.Listener() { @Override public void onPlaybackStateChanged(int playbackState) { - playbackStateRef.set(controller.getPlaybackState()); + playbackStateParamRef.set(playbackState); + playbackStateGetterRef.set(controller.getPlaybackState()); currentPositionMsRef.set(controller.getCurrentPosition()); contentPositionMsRef.set(controller.getContentPosition()); bufferedPositionMsRef.set(controller.getBufferedPosition()); @@ -1393,6 +1768,20 @@ public void onPlaybackStateChanged(int playbackState) { contentBufferedPositionMsRef.set(controller.getContentBufferedPosition()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + onEventsPlaybackStateRef.set(player.getPlaybackState()); + onEventsCurrentPositionMsRef.set(player.getCurrentPosition()); + onEventsContentPositionMsRef.set(player.getContentPosition()); + onEventsBufferedPositionMsRef.set(player.getBufferedPosition()); + onEventsBufferedPercentageRef.set(player.getBufferedPercentage()); + onEventsTotalBufferedDurationMsRef.set(player.getTotalBufferedDuration()); + onEventsCurrentLiveOffsetMsRef.set(player.getCurrentLiveOffset()); + onEventsContentBufferedPositionMsRef.set(player.getContentBufferedPosition()); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1406,38 +1795,62 @@ public void onPlaybackStateChanged(int playbackState) { remoteSession.getMockPlayer().notifyPlaybackStateChanged(testPlaybackState); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(playbackStateRef.get()).isEqualTo(testPlaybackState); + assertThat(playbackStateParamRef.get()).isEqualTo(testPlaybackState); + assertThat(playbackStateGetterRef.get()).isEqualTo(testPlaybackState); + assertThat(onEventsPlaybackStateRef.get()).isEqualTo(testPlaybackState); assertThat(currentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); + assertThat(onEventsCurrentPositionMsRef.get()).isEqualTo(testCurrentPositionMs); assertThat(contentPositionMsRef.get()).isEqualTo(testContentPositionMs); + assertThat(onEventsContentPositionMsRef.get()).isEqualTo(testContentPositionMs); assertThat(bufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); + assertThat(onEventsBufferedPositionMsRef.get()).isEqualTo(testBufferedPositionMs); assertThat(bufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); + assertThat(onEventsBufferedPercentageRef.get()).isEqualTo(testBufferedPercentage); assertThat(totalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); + assertThat(onEventsTotalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); assertThat(currentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); + assertThat(onEventsCurrentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); assertThat(contentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(onEventsContentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_STATE_CHANGED); } @Test public void onIsPlayingChanged_isNotified() throws Exception { boolean testIsPlaying = true; remoteSession.getMockPlayer().notifyIsPlayingChanged(false); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); - AtomicBoolean isPlayingRef = new AtomicBoolean(); + CountDownLatch latch = new CountDownLatch(2); + AtomicBoolean isPlayingGetterRef = new AtomicBoolean(); + AtomicBoolean isPlayingParamRef = new AtomicBoolean(); + AtomicBoolean isPlayingOnEventsRef = new AtomicBoolean(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onIsPlayingChanged(boolean isPlaying) { - isPlayingRef.set(isPlaying); + isPlayingGetterRef.set(controller.isPlaying()); + isPlayingParamRef.set(isPlaying); latch.countDown(); } - }; + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + isPlayingOnEventsRef.set(player.isPlaying()); + latch.countDown(); + } + }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); remoteSession.getMockPlayer().notifyIsPlayingChanged(testIsPlaying); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(isPlayingRef.get()).isEqualTo(testIsPlaying); + assertThat(isPlayingParamRef.get()).isEqualTo(testIsPlaying); + assertThat(isPlayingGetterRef.get()).isEqualTo(testIsPlaying); + assertThat(isPlayingOnEventsRef.get()).isEqualTo(testIsPlaying); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_IS_PLAYING_CHANGED); } @Test @@ -1451,11 +1864,9 @@ public void onIsPlayingChanged_updatesGetters() throws Exception { long testCurrentLiveOffsetMs = 10; long testContentBufferedPositionMs = 240; remoteSession.getMockPlayer().notifyIsPlayingChanged(false); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); threadTestRule.getHandler().postAndSync(() -> controller.setTimeDiffMs(/* timeDiff= */ 0L)); - - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicBoolean isPlayingRef = new AtomicBoolean(); AtomicLong currentPositionMsRef = new AtomicLong(); AtomicLong contentPositionMsRef = new AtomicLong(); @@ -1464,6 +1875,7 @@ public void onIsPlayingChanged_updatesGetters() throws Exception { AtomicLong totalBufferedDurationMsRef = new AtomicLong(); AtomicLong currentLiveOffsetMsRef = new AtomicLong(); AtomicLong contentBufferedPositionMsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1478,6 +1890,12 @@ public void onIsPlayingChanged(boolean isPlaying) { contentBufferedPositionMsRef.set(controller.getContentBufferedPosition()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1499,17 +1917,19 @@ public void onIsPlayingChanged(boolean isPlaying) { assertThat(totalBufferedDurationMsRef.get()).isEqualTo(testTotalBufferedDurationMs); assertThat(currentLiveOffsetMsRef.get()).isEqualTo(testCurrentLiveOffsetMs); assertThat(contentBufferedPositionMsRef.get()).isEqualTo(testContentBufferedPositionMs); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_IS_PLAYING_CHANGED); } @Test public void onIsLoadingChanged_isNotified() throws Exception { boolean testIsLoading = true; remoteSession.getMockPlayer().notifyIsLoadingChanged(false); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicBoolean isLoadingFromParamRef = new AtomicBoolean(); AtomicBoolean isLoadingFromGetterRef = new AtomicBoolean(); + AtomicBoolean isLoadingOnEventsRef = new AtomicBoolean(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1518,6 +1938,13 @@ public void onIsLoadingChanged(boolean isLoading) { isLoadingFromGetterRef.set(controller.isLoading()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + isLoadingOnEventsRef.set(player.isLoading()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1526,6 +1953,8 @@ public void onIsLoadingChanged(boolean isLoading) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(isLoadingFromParamRef.get()).isEqualTo(testIsLoading); assertThat(isLoadingFromGetterRef.get()).isEqualTo(testIsLoading); + assertThat(isLoadingOnEventsRef.get()).isEqualTo(testIsLoading); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_IS_LOADING_CHANGED); } @Test @@ -1552,23 +1981,31 @@ public void onPositionDiscontinuity_isNotified() throws Exception { /* contentPositionMs= */ 0L, /* adGroupIndex= */ C.INDEX_UNSET, /* adIndexInAdGroup= */ C.INDEX_UNSET); - @DiscontinuityReason int testReason = Player.DISCONTINUITY_REASON_INTERNAL; - + @Player.DiscontinuityReason int testReason = Player.DISCONTINUITY_REASON_INTERNAL; MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference oldPositionRef = new AtomicReference<>(); AtomicReference newPositionRef = new AtomicReference<>(); AtomicInteger positionDiscontinuityReasonRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onPositionDiscontinuity( - PositionInfo oldPosition, PositionInfo newPosition, @DiscontinuityReason int reason) { + PositionInfo oldPosition, + PositionInfo newPosition, + @Player.DiscontinuityReason int reason) { oldPositionRef.set(oldPosition); newPositionRef.set(newPosition); positionDiscontinuityReasonRef.set(reason); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1580,6 +2017,8 @@ public void onPositionDiscontinuity( assertThat(positionDiscontinuityReasonRef.get()).isEqualTo(testReason); assertThat(oldPositionRef.get()).isEqualTo(testOldPosition); assertThat(newPositionRef.get()).isEqualTo(testNewPosition); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); } @Test @@ -1609,7 +2048,7 @@ public void onPositionDiscontinuity_updatesGetters() throws Exception { testCurrentAdIndexInAdGroup); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicLong currentPositionMsRef = new AtomicLong(); AtomicLong contentPositionMsRef = new AtomicLong(); AtomicLong durationMsRef = new AtomicLong(); @@ -1622,11 +2061,14 @@ public void onPositionDiscontinuity_updatesGetters() throws Exception { AtomicBoolean isPlayingAdRef = new AtomicBoolean(); AtomicInteger currentAdGroupIndexRef = new AtomicInteger(); AtomicInteger currentAdIndexInAdGroupRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onPositionDiscontinuity( - PositionInfo oldPosition, PositionInfo newPosition, @DiscontinuityReason int reason) { + PositionInfo oldPosition, + PositionInfo newPosition, + @Player.DiscontinuityReason int reason) { currentPositionMsRef.set(controller.getCurrentPosition()); contentPositionMsRef.set(controller.getContentPosition()); durationMsRef.set(controller.getDuration()); @@ -1641,6 +2083,12 @@ public void onPositionDiscontinuity( currentAdIndexInAdGroupRef.set(controller.getCurrentAdIndexInAdGroup()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -1675,6 +2123,8 @@ public void onPositionDiscontinuity( assertThat(isPlayingAdRef.get()).isEqualTo(testIsPlayingAd); assertThat(currentAdGroupIndexRef.get()).isEqualTo(testCurrentAdGroupIndex); assertThat(currentAdIndexInAdGroupRef.get()).isEqualTo(testCurrentAdIndexInAdGroup); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); } /** This also tests {@link MediaController#getAvailableSessionCommands()}. */ @@ -1700,7 +2150,7 @@ public void onAvailableSessionCommandsChanged( SessionCommands commands = new SessionCommands.Builder() .addAllSessionCommands() - .remove(COMMAND_CODE_SESSION_SET_RATING) + .remove(SessionCommand.COMMAND_CODE_SESSION_SET_RATING) .build(); remoteSession.setAvailableCommands(commands, Player.Commands.EMPTY); @@ -1717,10 +2167,11 @@ public void onAvailableCommandsChanged_isCalledByPlayerChange() throws Exception MediaController controller = controllerTestRule.createController( remoteSession.getToken(), /* connectionHints= */ null, /* listener= */ null); - AtomicReference availableCommandsFromParamRef = new AtomicReference<>(); AtomicReference availableCommandsFromGetterRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference availableCommandsOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -1729,15 +2180,24 @@ public void onAvailableCommandsChanged(Commands availableCommands) { availableCommandsFromGetterRef.set(controller.getAvailableCommands()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + availableCommandsOnEventsRef.set(player.getAvailableCommands()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); - Commands commandsWithSetRepeat = createPlayerCommandsWith(COMMAND_SET_REPEAT_MODE); + Commands commandsWithSetRepeat = createPlayerCommandsWith(Player.COMMAND_SET_REPEAT_MODE); remoteSession.getMockPlayer().notifyAvailableCommandsChanged(commandsWithSetRepeat); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(availableCommandsFromParamRef.get()).isEqualTo(commandsWithSetRepeat); assertThat(availableCommandsFromGetterRef.get()).isEqualTo(commandsWithSetRepeat); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_AVAILABLE_COMMANDS_CHANGED); } @Test @@ -1750,11 +2210,13 @@ public void onTimelineChanged_emptyMediaItemAndMediaMetadata_whenCommandUnavaila new RemoteMediaSession.MockPlayerConfigBuilder().setTimeline(testTimeline).build(); remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(3); AtomicReference timelineFromParamRef = new AtomicReference<>(); AtomicReference timelineFromGetterRef = new AtomicReference<>(); + List onEventsTimelines = new ArrayList<>(); AtomicReference metadataFromGetterRef = new AtomicReference<>(); AtomicReference currentMediaItemGetterRef = new AtomicReference<>(); + List eventsList = new ArrayList<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1765,6 +2227,14 @@ public void onTimelineChanged(Timeline timeline, int reason) { currentMediaItemGetterRef.set(controller.getCurrentMediaItem()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + // onEvents is called twice. + onEventsTimelines.add(player.getCurrentTimeline()); + eventsList.add(events); + latch.countDown(); + } }; controller.addListener(listener); @@ -1790,8 +2260,21 @@ public void onTimelineChanged(Timeline timeline, int reason) { .mediaItem) .isEqualTo(MediaItem.EMPTY); } + assertThat(onEventsTimelines).hasSize(2); + for (int i = 0; i < onEventsTimelines.get(1).getWindowCount(); i++) { + assertThat( + onEventsTimelines + .get(1) + .getWindow(/* windowIndex= */ i, new Timeline.Window()) + .mediaItem) + .isEqualTo(MediaItem.EMPTY); + } assertThat(metadataFromGetterRef.get()).isEqualTo(MediaMetadata.EMPTY); assertThat(currentMediaItemGetterRef.get()).isEqualTo(MediaItem.EMPTY); + assertThat(eventsList).hasSize(2); + assertThat(getEventsAsList(eventsList.get(0))) + .containsExactly(Player.EVENT_AVAILABLE_COMMANDS_CHANGED); + assertThat(getEventsAsList(eventsList.get(1))).contains(Player.EVENT_TIMELINE_CHANGED); } @Test @@ -1804,11 +2287,12 @@ public void onTimelineChanged_emptyMediaItemAndMediaMetadata_whenCommandUnavaila new RemoteMediaSession.MockPlayerConfigBuilder().setTimeline(testTimeline).build(); remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(3); AtomicReference timelineFromParamRef = new AtomicReference<>(); AtomicReference timelineFromGetterRef = new AtomicReference<>(); AtomicReference metadataFromGetterRef = new AtomicReference<>(); AtomicReference currentMediaItemGetterRef = new AtomicReference<>(); + List eventsList = new ArrayList<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1819,6 +2303,13 @@ public void onTimelineChanged(Timeline timeline, int reason) { currentMediaItemGetterRef.set(controller.getCurrentMediaItem()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + // onEvents is called twice. + eventsList.add(events); + latch.countDown(); + } }; controller.addListener(listener); @@ -1846,6 +2337,10 @@ public void onTimelineChanged(Timeline timeline, int reason) { } assertThat(metadataFromGetterRef.get()).isEqualTo(MediaMetadata.EMPTY); assertThat(currentMediaItemGetterRef.get()).isEqualTo(MediaItem.EMPTY); + assertThat(eventsList).hasSize(2); + assertThat(getEventsAsList(eventsList.get(0))) + .containsExactly(Player.EVENT_AVAILABLE_COMMANDS_CHANGED); + assertThat(getEventsAsList(eventsList.get(1))).contains(Player.EVENT_TIMELINE_CHANGED); } /** This also tests {@link MediaController#getAvailableCommands()}. */ @@ -1856,10 +2351,11 @@ public void onAvailableCommandsChanged_isCalledBySessionChange() throws Exceptio MediaController controller = controllerTestRule.createController( remoteSession.getToken(), /* connectionHints= */ null, /* listener= */ null); - - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference availableCommandsFromParamRef = new AtomicReference<>(); AtomicReference availableCommandsFromGetterRef = new AtomicReference<>(); + AtomicReference availableCommandsFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1868,15 +2364,25 @@ public void onAvailableCommandsChanged(Commands availableCommands) { availableCommandsFromGetterRef.set(controller.getAvailableCommands()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + availableCommandsFromOnEventsRef.set(player.getAvailableCommands()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); - Commands commandsWithSetRepeat = createPlayerCommandsWith(COMMAND_SET_REPEAT_MODE); + Commands commandsWithSetRepeat = createPlayerCommandsWith(Player.COMMAND_SET_REPEAT_MODE); remoteSession.setAvailableCommands(SessionCommands.EMPTY, commandsWithSetRepeat); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(availableCommandsFromParamRef.get()).isEqualTo(commandsWithSetRepeat); assertThat(availableCommandsFromGetterRef.get()).isEqualTo(commandsWithSetRepeat); + assertThat(availableCommandsFromOnEventsRef.get()).isEqualTo(commandsWithSetRepeat); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_AVAILABLE_COMMANDS_CHANGED); } @Test @@ -1894,7 +2400,7 @@ public ListenableFuture onCustomCommand( assertThat(command).isEqualTo(testCommand); assertThat(TestUtils.equals(testArgs, args)).isTrue(); latch.countDown(); - return Futures.immediateFuture(new SessionResult(RESULT_SUCCESS)); + return Futures.immediateFuture(new SessionResult(SessionResult.RESULT_SUCCESS)); } }; MediaController controller = @@ -1949,7 +2455,7 @@ public ListenableFuture onSetCustomLayout( receivedIconResIds.add(button.iconResId); } latch.countDown(); - return Futures.immediateFuture(new SessionResult(RESULT_SUCCESS)); + return Futures.immediateFuture(new SessionResult(SessionResult.RESULT_SUCCESS)); } }; RemoteMediaSession session = createRemoteMediaSession(TEST_WITH_CUSTOM_COMMANDS); @@ -2028,11 +2534,11 @@ public void onVideoSizeChanged() throws Exception { /* height= */ 42, /* unappliedRotationDegrees= */ 90, /* pixelWidthHeightRatio= */ 1.2f); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference videoSizeFromParamRef = new AtomicReference<>(); AtomicReference videoSizeFromGetterRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -2041,6 +2547,12 @@ public void onVideoSizeChanged(VideoSize videoSize) { videoSizeFromGetterRef.set(controller.getVideoSize()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2049,6 +2561,7 @@ public void onVideoSizeChanged(VideoSize videoSize) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(videoSizeFromParamRef.get()).isEqualTo(testVideoSize); assertThat(videoSizeFromGetterRef.get()).isEqualTo(testVideoSize); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_VIDEO_SIZE_CHANGED); } @Test @@ -2058,18 +2571,26 @@ public void onAudioAttributesChanged_isCalledAndUpdatesGetter() throws Exception .setUsage(C.USAGE_MEDIA) .setContentType(C.AUDIO_CONTENT_TYPE_MOVIE) .build(); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); - AtomicReference attributesRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference attributesFromGetterRef = new AtomicReference<>(); + AtomicReference attributesFromParamRef = new AtomicReference<>(); + AtomicReference attributesFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override public void onAudioAttributesChanged(AudioAttributes attributes) { - if (testAttributes.equals(attributes)) { - attributesRef.set(controller.getAudioAttributes()); - latch.countDown(); - } + attributesFromParamRef.set(attributes); + attributesFromGetterRef.set(controller.getAudioAttributes()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + attributesFromOnEventsRef.set(player.getAudioAttributes()); + eventsRef.set(events); + latch.countDown(); } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2077,7 +2598,11 @@ public void onAudioAttributesChanged(AudioAttributes attributes) { remoteSession.getMockPlayer().notifyAudioAttributesChanged(testAttributes); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(attributesRef.get()).isEqualTo(testAttributes); + assertThat(attributesFromParamRef.get()).isEqualTo(testAttributes); + assertThat(attributesFromGetterRef.get()).isEqualTo(testAttributes); + assertThat(attributesFromOnEventsRef.get()).isEqualTo(testAttributes); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_AUDIO_ATTRIBUTES_CHANGED); } @Test @@ -2103,18 +2628,17 @@ public void onCues_emptyList_whenCommandUnavailable() throws Exception { Cue testCue1 = new Cue.Builder().setText(SpannedString.valueOf("cue1")).build(); Cue testCue2 = new Cue.Builder().setText(SpannedString.valueOf("cue2")).build(); List testCues = ImmutableList.of(testCue1, testCue2); - Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder() .setCurrentCues(new CueGroup(testCues, /* presentationTimeUs= */ 1_230_000)) .build(); remoteSession.setPlayer(playerConfig); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(3); List cuesFromGetter = new ArrayList<>(); List cuesFromParam = new ArrayList<>(); - + List onEventsCues = new ArrayList<>(); + List eventsList = new ArrayList<>(); Player.Listener listener = new Player.Listener() { @Override @@ -2125,6 +2649,14 @@ public void onCues(CueGroup cueGroup) { cuesFromGetter.addAll(controller.getCurrentCues().cues); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + // onEvents is called twice. + eventsList.add(events); + onEventsCues.add(player.getCurrentCues()); + latch.countDown(); + } }; controller.addListener(listener); @@ -2134,6 +2666,11 @@ public void onCues(CueGroup cueGroup) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(cuesFromParam).isEqualTo(ImmutableList.of()); assertThat(cuesFromGetter).isEqualTo(ImmutableList.of()); + assertThat(onEventsCues).hasSize(2); + assertThat(onEventsCues.get(1).cues).hasSize(0); + assertThat(getEventsAsList(eventsList.get(0))) + .containsExactly(Player.EVENT_AVAILABLE_COMMANDS_CHANGED); + assertThat(getEventsAsList(eventsList.get(1))).containsExactly(Player.EVENT_CUES); } @Test @@ -2141,11 +2678,12 @@ public void onCues_isCalledByPlayerChange() throws Exception { Cue testCue1 = new Cue.Builder().setText(SpannedString.valueOf("cue1")).build(); Cue testCue2 = new Cue.Builder().setText(SpannedString.valueOf("cue2")).build(); List testCues = ImmutableList.of(testCue1, testCue2); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); List cuesFromParam = new ArrayList<>(); List cuesFromGetter = new ArrayList<>(); - CountDownLatch latch = new CountDownLatch(1); + List cuesFromOnEvents = new ArrayList<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -2154,6 +2692,13 @@ public void onCues(CueGroup cueGroup) { cuesFromGetter.addAll(controller.getCurrentCues().cues); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + cuesFromOnEvents.addAll(player.getCurrentCues().cues); + eventsRef.set(events); + latch.countDown(); + } }; controller.addListener(listener); @@ -2166,6 +2711,8 @@ public void onCues(CueGroup cueGroup) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(cuesFromParam).isEqualTo(testCues); assertThat(cuesFromGetter).isEqualTo(testCues); + assertThat(cuesFromOnEvents).isEqualTo(testCues); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_CUES); } @Test @@ -2173,11 +2720,12 @@ public void onCues_isCalledByCuesChange() throws Exception { Cue testCue1 = new Cue.Builder().setText(SpannedString.valueOf("cue1")).build(); Cue testCue2 = new Cue.Builder().setText(SpannedString.valueOf("cue2")).build(); List testCues = ImmutableList.of(testCue1, testCue2); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); List cuesFromParam = new ArrayList<>(); List cuesFromGetter = new ArrayList<>(); - CountDownLatch latch = new CountDownLatch(1); + List cuesFromOnEvents = new ArrayList<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -2186,6 +2734,13 @@ public void onCues(CueGroup cueGroup) { cuesFromGetter.addAll(controller.getCurrentCues().cues); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + cuesFromOnEvents.addAll(player.getCurrentCues().cues); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2196,6 +2751,8 @@ public void onCues(CueGroup cueGroup) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(cuesFromParam).isEqualTo(testCues); assertThat(cuesFromGetter).isEqualTo(testCues); + assertThat(cuesFromOnEvents).isEqualTo(testCues); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_CUES); } @Test @@ -2203,7 +2760,9 @@ public void onDeviceInfoChanged_isCalledByPlayerChange() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicReference deviceInfoFromParamRef = new AtomicReference<>(); AtomicReference deviceInfoFromGetterRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference deviceInfoFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -2212,6 +2771,13 @@ public void onDeviceInfoChanged(DeviceInfo deviceInfo) { deviceInfoFromGetterRef.set(controller.getDeviceInfo()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceInfoFromOnEventsRef.set(player.getDeviceInfo()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2224,6 +2790,8 @@ public void onDeviceInfoChanged(DeviceInfo deviceInfo) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceInfoFromParamRef.get()).isEqualTo(deviceInfo); assertThat(deviceInfoFromGetterRef.get()).isEqualTo(deviceInfo); + assertThat(deviceInfoFromOnEventsRef.get()).isEqualTo(deviceInfo); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_DEVICE_INFO_CHANGED); } @Test @@ -2231,7 +2799,9 @@ public void onDeviceInfoChanged_isCalledByDeviceInfoChange() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicReference deviceInfoFromParamRef = new AtomicReference<>(); AtomicReference deviceInfoFromGetterRef = new AtomicReference<>(); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference deviceInfoFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -2240,6 +2810,13 @@ public void onDeviceInfoChanged(DeviceInfo deviceInfo) { deviceInfoFromGetterRef.set(controller.getDeviceInfo()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceInfoFromOnEventsRef.set(player.getDeviceInfo()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2250,6 +2827,8 @@ public void onDeviceInfoChanged(DeviceInfo deviceInfo) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceInfoFromParamRef.get()).isEqualTo(deviceInfo); assertThat(deviceInfoFromGetterRef.get()).isEqualTo(deviceInfo); + assertThat(deviceInfoFromOnEventsRef.get()).isEqualTo(deviceInfo); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_DEVICE_INFO_CHANGED); } @Test @@ -2262,11 +2841,12 @@ public void onDeviceVolumeChanged_isCalledByDeviceVolumeChange() throws Exceptio .setDeviceVolume(23) .build(); remoteSession.setPlayer(playerConfig); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicInteger deviceVolumeFromParamRef = new AtomicInteger(); AtomicInteger deviceVolumeFromGetterRef = new AtomicInteger(); - CountDownLatch latch = new CountDownLatch(1); + AtomicInteger deviceVolumeFromOnEventsRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -2275,6 +2855,13 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { deviceVolumeFromGetterRef.set(controller.getDeviceVolume()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceVolumeFromOnEventsRef.set(player.getDeviceVolume()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2284,6 +2871,9 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceVolumeFromParamRef.get()).isEqualTo(targetVolume); assertThat(deviceVolumeFromGetterRef.get()).isEqualTo(targetVolume); + assertThat(deviceVolumeFromOnEventsRef.get()).isEqualTo(targetVolume); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test @@ -2291,11 +2881,12 @@ public void onDeviceVolumeChanged_isCalledByDeviceMutedChange() throws Exception Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder().setDeviceMuted(false).build(); remoteSession.setPlayer(playerConfig); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); AtomicBoolean deviceMutedFromParamRef = new AtomicBoolean(); AtomicBoolean deviceMutedFromGetterRef = new AtomicBoolean(); - CountDownLatch latch = new CountDownLatch(1); + AtomicBoolean deviceMutedFromOnEventsRef = new AtomicBoolean(); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override @@ -2304,6 +2895,13 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { deviceMutedFromGetterRef.set(controller.isDeviceMuted()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceMutedFromOnEventsRef.set(player.isDeviceMuted()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2312,94 +2910,174 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceMutedFromParamRef.get()).isTrue(); assertThat(deviceMutedFromGetterRef.get()).isTrue(); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test - public void onMaxSeekToPreviousPositionChanged_isCalled() throws Exception { - long testMaxSeekToPreviousPositionMs = 100L; + public void onDeviceVolumeChanged_isCalledByDecreaseDeviceVolume() throws Exception { Bundle playerConfig = - new RemoteMediaSession.MockPlayerConfigBuilder() - .setMaxSeekToPreviousPositionMs(30L) - .build(); + new RemoteMediaSession.MockPlayerConfigBuilder().setDeviceVolume(10).build(); remoteSession.setPlayer(playerConfig); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(2); - AtomicLong maxSeekToPreviousPositionMsFromParamRef = new AtomicLong(); - AtomicLong maxSeekToPreviousPositionMsFromGetterRef = new AtomicLong(); + AtomicInteger deviceVolumeFromParamRef = new AtomicInteger(); + AtomicInteger deviceVolumeFromGetterRef = new AtomicInteger(); + AtomicInteger deviceVolumeFromOnEventsRef = new AtomicInteger(); AtomicReference eventsRef = new AtomicReference<>(); - controller.addListener( + CountDownLatch latch = new CountDownLatch(2); + Player.Listener listener = new Player.Listener() { @Override - public void onMaxSeekToPreviousPositionChanged(long maxSeekToPreviousPositionMs) { - maxSeekToPreviousPositionMsFromParamRef.set(maxSeekToPreviousPositionMs); - maxSeekToPreviousPositionMsFromGetterRef.set(controller.getMaxSeekToPreviousPosition()); + public void onDeviceVolumeChanged(int volume, boolean muted) { + deviceVolumeFromParamRef.set(volume); + deviceVolumeFromGetterRef.set(controller.getDeviceVolume()); latch.countDown(); } @Override public void onEvents(Player player, Player.Events events) { + deviceVolumeFromOnEventsRef.set(player.getDeviceVolume()); eventsRef.set(events); latch.countDown(); } - }); + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); - remoteSession - .getMockPlayer() - .notifyMaxSeekToPreviousPositionChanged(testMaxSeekToPreviousPositionMs); + remoteSession.getMockPlayer().decreaseDeviceVolume(); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(maxSeekToPreviousPositionMsFromParamRef.get()) - .isEqualTo(testMaxSeekToPreviousPositionMs); - assertThat(maxSeekToPreviousPositionMsFromGetterRef.get()) - .isEqualTo(testMaxSeekToPreviousPositionMs); - assertThat(eventsRef.get().contains(Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED)) - .isTrue(); + assertThat(deviceVolumeFromParamRef.get()).isEqualTo(9); + assertThat(deviceVolumeFromGetterRef.get()).isEqualTo(9); + assertThat(deviceVolumeFromOnEventsRef.get()).isEqualTo(9); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test - public void onEvents_whenOnRepeatModeChanges_isCalledAfterOtherMethods() throws Exception { - Player.Events testEvents = - new Player.Events(new FlagSet.Builder().add(EVENT_REPEAT_MODE_CHANGED).build()); - List listenerEventCodes = new ArrayList<>(); - + public void onDeviceVolumeChanged_isCalledByIncreaseDeviceVolume() throws Exception { + Bundle playerConfig = + new RemoteMediaSession.MockPlayerConfigBuilder().setDeviceVolume(10).build(); + remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + AtomicInteger deviceVolumeFromParamRef = new AtomicInteger(); + AtomicInteger deviceVolumeFromGetterRef = new AtomicInteger(); + AtomicInteger deviceVolumeFromOnEventsRef = new AtomicInteger(); + AtomicReference eventsRef = new AtomicReference<>(); CountDownLatch latch = new CountDownLatch(2); + Player.Listener listener = + new Player.Listener() { + @Override + public void onDeviceVolumeChanged(int volume, boolean muted) { + deviceVolumeFromParamRef.set(volume); + deviceVolumeFromGetterRef.set(controller.getDeviceVolume()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceVolumeFromOnEventsRef.set(player.getDeviceVolume()); + eventsRef.set(events); + latch.countDown(); + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + remoteSession.getMockPlayer().increaseDeviceVolume(); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(deviceVolumeFromParamRef.get()).isEqualTo(11); + assertThat(deviceVolumeFromGetterRef.get()).isEqualTo(11); + assertThat(deviceVolumeFromOnEventsRef.get()).isEqualTo(11); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); + } + + @Test + public void onVolumeChanged() throws Exception { + Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder().build(); + remoteSession.setPlayer(playerConfig); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + AtomicReference volumeFromParamRef = new AtomicReference<>(); + AtomicReference volumeFromGetterRef = new AtomicReference<>(); + AtomicReference volumeFromOnEventsRef = new AtomicReference<>(); AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override - public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { - listenerEventCodes.add(EVENT_REPEAT_MODE_CHANGED); + public void onVolumeChanged(float volume) { + volumeFromParamRef.set(volume); + volumeFromGetterRef.set(controller.getVolume()); latch.countDown(); } @Override public void onEvents(Player player, Player.Events events) { - listenerEventCodes.add(EVENT_ON_EVENTS); + volumeFromOnEventsRef.set(player.getVolume()); eventsRef.set(events); latch.countDown(); } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); - remoteSession.getMockPlayer().setRepeatMode(REPEAT_MODE_ONE); - remoteSession.getMockPlayer().notifyRepeatModeChanged(); + + remoteSession.getMockPlayer().setVolume(0.5f); + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(volumeFromParamRef.get()).isEqualTo(0.5f); + assertThat(volumeFromGetterRef.get()).isEqualTo(0.5f); + assertThat(volumeFromOnEventsRef.get()).isEqualTo(0.5f); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_VOLUME_CHANGED); + } - assertThat(listenerEventCodes).containsExactly(EVENT_REPEAT_MODE_CHANGED, EVENT_ON_EVENTS); - assertThat(eventsRef.get()).isEqualTo(testEvents); + @Test + public void onMaxSeekToPreviousPositionChanged_isCalled() throws Exception { + long testMaxSeekToPreviousPositionMs = 100L; + Bundle playerConfig = + new RemoteMediaSession.MockPlayerConfigBuilder() + .setMaxSeekToPreviousPositionMs(30L) + .build(); + remoteSession.setPlayer(playerConfig); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicLong maxSeekToPreviousPositionMsFromParamRef = new AtomicLong(); + AtomicLong maxSeekToPreviousPositionMsFromGetterRef = new AtomicLong(); + AtomicLong maxSeekToPreviousPositionMsFromOnEventsRef = new AtomicLong(); + AtomicReference eventsRef = new AtomicReference<>(); + controller.addListener( + new Player.Listener() { + @Override + public void onMaxSeekToPreviousPositionChanged(long maxSeekToPreviousPositionMs) { + maxSeekToPreviousPositionMsFromParamRef.set(maxSeekToPreviousPositionMs); + maxSeekToPreviousPositionMsFromGetterRef.set(controller.getMaxSeekToPreviousPosition()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + maxSeekToPreviousPositionMsFromOnEventsRef.set(player.getMaxSeekToPreviousPosition()); + eventsRef.set(events); + latch.countDown(); + } + }); + + remoteSession + .getMockPlayer() + .notifyMaxSeekToPreviousPositionChanged(testMaxSeekToPreviousPositionMs); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(maxSeekToPreviousPositionMsFromParamRef.get()) + .isEqualTo(testMaxSeekToPreviousPositionMs); + assertThat(maxSeekToPreviousPositionMsFromGetterRef.get()) + .isEqualTo(testMaxSeekToPreviousPositionMs); + assertThat(maxSeekToPreviousPositionMsFromOnEventsRef.get()) + .isEqualTo(testMaxSeekToPreviousPositionMs); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_MAX_SEEK_TO_PREVIOUS_POSITION_CHANGED); } @Test public void onEvents_whenNewCommandIsCalledInsideListener_containsEventFromNewCommand() throws Exception { - Player.Events testEvents = - new Player.Events( - new FlagSet.Builder() - .addAll(EVENT_REPEAT_MODE_CHANGED, EVENT_SHUFFLE_MODE_ENABLED_CHANGED) - .build()); - List listenerEventCodes = new ArrayList<>(); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(3); AtomicReference eventsRef = new AtomicReference<>(); @@ -2408,97 +3086,78 @@ public void onEvents_whenNewCommandIsCalledInsideListener_containsEventFromNewCo @Override public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { controller.setShuffleModeEnabled(true); - listenerEventCodes.add(EVENT_REPEAT_MODE_CHANGED); latch.countDown(); } @Override public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - listenerEventCodes.add(EVENT_SHUFFLE_MODE_ENABLED_CHANGED); latch.countDown(); } @Override public void onEvents(Player player, Player.Events events) { - listenerEventCodes.add(EVENT_ON_EVENTS); eventsRef.set(events); latch.countDown(); } }; controller.addListener(listener); - remoteSession.getMockPlayer().setRepeatMode(REPEAT_MODE_ONE); + remoteSession.getMockPlayer().setRepeatMode(Player.REPEAT_MODE_ONE); remoteSession.getMockPlayer().notifyRepeatModeChanged(); - assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(listenerEventCodes) - .containsExactly( - EVENT_REPEAT_MODE_CHANGED, EVENT_SHUFFLE_MODE_ENABLED_CHANGED, EVENT_ON_EVENTS); - assertThat(eventsRef.get()).isEqualTo(testEvents); + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(getEventsAsList(eventsRef.get())) + .containsAtLeast( + Player.EVENT_REPEAT_MODE_CHANGED, Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED); } @Test public void onEvents_whenNewCommandIsCalledInsideOnEvents_isCalledFromNewLooperIterationSet() throws Exception { - Player.Events firstLooperIterationSetTestEvents = - new Player.Events(new FlagSet.Builder().add(EVENT_REPEAT_MODE_CHANGED).build()); - Player.Events secondLooperIterationSetTestEvents = - new Player.Events(new FlagSet.Builder().add(EVENT_SHUFFLE_MODE_ENABLED_CHANGED).build()); - List listenerEventCodes = new ArrayList<>(); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(4); - AtomicReference firstLooperIterationSetEventsRef = new AtomicReference<>(); - AtomicReference secondLooperIterationSetEventsRef = new AtomicReference<>(); + List eventsList = new ArrayList<>(); Player.Listener listener = new Player.Listener() { @Override - public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { - listenerEventCodes.add(EVENT_REPEAT_MODE_CHANGED); + public void onRepeatModeChanged(int repeatMode) { latch.countDown(); } @Override public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) { - listenerEventCodes.add(EVENT_SHUFFLE_MODE_ENABLED_CHANGED); latch.countDown(); } @Override public void onEvents(Player player, Player.Events events) { - listenerEventCodes.add(EVENT_ON_EVENTS); - if (!controller.getShuffleModeEnabled()) { - controller.setShuffleModeEnabled(true); - firstLooperIterationSetEventsRef.set(events); - } else { - secondLooperIterationSetEventsRef.set(events); - } + // onEvents is called twice. + eventsList.add(events); + controller.setShuffleModeEnabled(true); latch.countDown(); } }; controller.addListener(listener); - remoteSession.getMockPlayer().setRepeatMode(REPEAT_MODE_ONE); + remoteSession.getMockPlayer().setRepeatMode(Player.REPEAT_MODE_ONE); remoteSession.getMockPlayer().notifyRepeatModeChanged(); - assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(listenerEventCodes) - .containsExactly( - EVENT_REPEAT_MODE_CHANGED, - EVENT_ON_EVENTS, - EVENT_SHUFFLE_MODE_ENABLED_CHANGED, - EVENT_ON_EVENTS); - assertThat(firstLooperIterationSetEventsRef.get()).isEqualTo(firstLooperIterationSetTestEvents); - assertThat(secondLooperIterationSetEventsRef.get()) - .isEqualTo(secondLooperIterationSetTestEvents); + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(eventsList).hasSize(2); + assertThat(getEventsAsList(eventsList.get(0))) + .containsExactly(Player.EVENT_REPEAT_MODE_CHANGED); + assertThat(getEventsAsList(eventsList.get(1))) + .containsExactly(Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED); } @Test public void onMediaMetadataChanged_isNotifiedAndUpdatesGetter() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference mediaMetadataFromParamRef = new AtomicReference<>(); AtomicReference mediaMetadataFromGetterRef = new AtomicReference<>(); + AtomicReference mediaMetadataFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -2507,6 +3166,13 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { mediaMetadataFromGetterRef.set(controller.getMediaMetadata()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + mediaMetadataFromOnEventsRef.set(player.getMediaMetadata()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2516,14 +3182,19 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(mediaMetadataFromParamRef.get()).isEqualTo(testMediaMetadata); assertThat(mediaMetadataFromGetterRef.get()).isEqualTo(testMediaMetadata); + assertThat(mediaMetadataFromOnEventsRef.get()).isEqualTo(testMediaMetadata); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_MEDIA_METADATA_CHANGED); } @Test public void onMediaMetadataChanged_isCalledByPlayerChange() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference mediaMetadataFromParamRef = new AtomicReference<>(); AtomicReference mediaMetadataFromGetterRef = new AtomicReference<>(); + AtomicReference mediaMetadataFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -2532,6 +3203,13 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { mediaMetadataFromGetterRef.set(controller.getMediaMetadata()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + mediaMetadataFromOnEventsRef.set(player.getMediaMetadata()); + eventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2545,6 +3223,9 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(mediaMetadataFromParamRef.get()).isEqualTo(testMediaMetadata); assertThat(mediaMetadataFromGetterRef.get()).isEqualTo(testMediaMetadata); + assertThat(mediaMetadataFromOnEventsRef.get()).isEqualTo(testMediaMetadata); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_MEDIA_METADATA_CHANGED); } /** @@ -2559,10 +3240,11 @@ public void timelineIsPreserved_whenUnrelatedListenerMethodIsCalled() throws Exc Bundle playerConfig = new RemoteMediaSession.MockPlayerConfigBuilder().setTimeline(testTimeline).build(); remoteSession.setPlayer(playerConfig); - MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicReference timelineFromGetterRef = new AtomicReference<>(); + AtomicReference timelineFromOnEventsRef = new AtomicReference<>(); + AtomicReference eventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -2570,6 +3252,13 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { timelineFromGetterRef.set(controller.getCurrentTimeline()); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + timelineFromOnEventsRef.set(player.getCurrentTimeline()); + eventsRef.set(events); + latch.countDown(); + } }; controller.addListener(listener); @@ -2577,25 +3266,36 @@ public void onMediaMetadataChanged(MediaMetadata mediaMetadata) { remoteSession.getMockPlayer().notifyMediaMetadataChanged(testMediaMetadata); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_MEDIA_METADATA_CHANGED); MediaTestUtils.assertMediaIdEquals(testTimeline, timelineFromGetterRef.get()); + MediaTestUtils.assertMediaIdEquals(testTimeline, timelineFromOnEventsRef.get()); } @Test public void onRenderedFirstFrame_isNotified() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + AtomicReference eventsRef = new AtomicReference<>(); + CountDownLatch latch = new CountDownLatch(2); Player.Listener listener = new Player.Listener() { @Override public void onRenderedFirstFrame() { latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + latch.countDown(); + } }; controller.addListener(listener); remoteSession.getMockPlayer().notifyRenderedFirstFrame(); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(getEventsAsList(eventsRef.get())).containsExactly(Player.EVENT_RENDERED_FIRST_FRAME); } private void testControllerAfterSessionIsClosed(String id) throws Exception { diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java index 257284b47d4..e7ffef7880a 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java @@ -15,16 +15,12 @@ */ package androidx.media3.session; -import static androidx.media3.common.DeviceInfo.PLAYBACK_TYPE_LOCAL; -import static androidx.media3.common.Player.REPEAT_MODE_ALL; -import static androidx.media3.common.Player.REPEAT_MODE_ONE; -import static androidx.media3.common.Player.STATE_ENDED; -import static androidx.media3.common.Player.STATE_READY; import static androidx.media3.session.MediaTestUtils.createMediaItems; import static androidx.media3.session.MediaTestUtils.createTimeline; import static androidx.media3.test.session.common.CommonConstants.DEFAULT_TEST_NAME; import static androidx.media3.test.session.common.TestUtils.NO_RESPONSE_TIMEOUT_MS; import static androidx.media3.test.session.common.TestUtils.TIMEOUT_MS; +import static androidx.media3.test.session.common.TestUtils.getEventsAsList; import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.MILLISECONDS; @@ -43,8 +39,10 @@ import androidx.media3.common.Timeline; import androidx.media3.common.Timeline.Period; import androidx.media3.common.Timeline.Window; +import androidx.media3.common.TrackSelectionParameters; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.MainLooperTestRule; +import androidx.media3.test.session.common.TestUtils; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.LargeTest; @@ -161,10 +159,11 @@ public void onEvents(Player player, Player.Events events) { assertThat(playWhenReadyFromCallbackRef.get()).isEqualTo(testPlayWhenReady); assertThat(playbackSuppressionReasonFromCallbackRef.get()).isEqualTo(testReason); assertThat(isPlayingFromCallbackRef.get()).isEqualTo(testIsPlaying); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAY_WHEN_READY_CHANGED)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED)) - .isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_IS_PLAYING_CHANGED)).isTrue(); + assertThat(TestUtils.getEventsAsList(onEventsRef.get())) + .containsExactly( + Player.EVENT_PLAY_WHEN_READY_CHANGED, + Player.EVENT_PLAYBACK_SUPPRESSION_REASON_CHANGED, + Player.EVENT_IS_PLAYING_CHANGED); assertThat(playWhenReadyFromGetterRef.get()).isEqualTo(testPlayWhenReady); assertThat(playbackSuppressionReasonFromGetterRef.get()).isEqualTo(testReason); assertThat(isPlayingFromGetterRef.get()).isEqualTo(testIsPlaying); @@ -208,15 +207,18 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(shuffleModeEnabledFromCallbackRef.get()).isEqualTo(testShuffleModeEnabled); - assertThat(onEventsRef.get().contains(Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_SHUFFLE_MODE_ENABLED_CHANGED); assertThat(shuffleModeEnabledFromGetterRef.get()).isEqualTo(testShuffleModeEnabled); } @Test public void setRepeatMode() throws Exception { - int testRepeatMode = REPEAT_MODE_ALL; + int testRepeatMode = Player.REPEAT_MODE_ALL; Bundle playerConfig = - new RemoteMediaSession.MockPlayerConfigBuilder().setRepeatMode(REPEAT_MODE_ONE).build(); + new RemoteMediaSession.MockPlayerConfigBuilder() + .setRepeatMode(Player.REPEAT_MODE_ONE) + .build(); remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); @@ -250,7 +252,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(repeatModeFromCallbackRef.get()).isEqualTo(testRepeatMode); - assertThat(onEventsRef.get().contains(Player.EVENT_REPEAT_MODE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_REPEAT_MODE_CHANGED); assertThat(repeatModeFromGetterRef.get()).isEqualTo(testRepeatMode); } @@ -294,7 +297,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playbackParametersFromCallbackRef.get()).isEqualTo(testPlaybackParameters); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAYBACK_PARAMETERS_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_PARAMETERS_CHANGED); assertThat(playbackParametersFromGetterRef.get()).isEqualTo(testPlaybackParameters); } @@ -338,7 +342,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playbackParametersFromCallbackRef.get().speed).isEqualTo(testPlaybackSpeed); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAYBACK_PARAMETERS_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_PARAMETERS_CHANGED); assertThat(playbackParametersFromGetterRef.get().speed).isEqualTo(testPlaybackSpeed); } @@ -354,6 +359,7 @@ public void setPlaylistMetadata() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(2); AtomicReference playlistMetadataFromCallbackRef = new AtomicReference<>(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -364,6 +370,7 @@ public void onPlaylistMetadataChanged(MediaMetadata mediaMetadata) { @Override public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); latch.countDown(); } }; @@ -381,6 +388,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playlistMetadataFromCallbackRef.get()).isEqualTo(testPlaylistMetadata); assertThat(playlistMetadataFromGetterRef.get()).isEqualTo(testPlaylistMetadata); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_PLAYLIST_METADATA_CHANGED); } @Test @@ -392,6 +401,7 @@ public void setVolume() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(2); AtomicReference volumeFromCallbackRef = new AtomicReference<>(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -402,6 +412,7 @@ public void onVolumeChanged(float volume) { @Override public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); latch.countDown(); } }; @@ -419,6 +430,7 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(volumeFromCallbackRef.get()).isEqualTo(testVolume); assertThat(volumeFromGetterRef.get()).isEqualTo(testVolume); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_VOLUME_CHANGED); } @Test @@ -431,6 +443,7 @@ public void setDeviceVolume() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(2); AtomicInteger deviceVolumeFromCallbackRef = new AtomicInteger(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -441,6 +454,7 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { @Override public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); latch.countDown(); } }; @@ -458,6 +472,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceVolumeFromCallbackRef.get()).isEqualTo(testDeviceVolume); assertThat(deviceVolumeFromGetterRef.get()).isEqualTo(testDeviceVolume); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test @@ -467,13 +483,15 @@ public void increaseDeviceVolume() throws Exception { new RemoteMediaSession.MockPlayerConfigBuilder() .setDeviceVolume(1) .setDeviceInfo( - new DeviceInfo(PLAYBACK_TYPE_LOCAL, /* minVolume= */ 0, /* maxVolume= */ 2)) + new DeviceInfo( + DeviceInfo.PLAYBACK_TYPE_LOCAL, /* minVolume= */ 0, /* maxVolume= */ 2)) .build(); remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(2); AtomicInteger deviceVolumeFromCallbackRef = new AtomicInteger(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -484,6 +502,7 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { @Override public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); latch.countDown(); } }; @@ -501,6 +520,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceVolumeFromCallbackRef.get()).isEqualTo(testDeviceVolume); assertThat(deviceVolumeFromGetterRef.get()).isEqualTo(testDeviceVolume); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test @@ -513,6 +534,7 @@ public void decreaseDeviceVolume() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(2); AtomicInteger deviceVolumeFromCallbackRef = new AtomicInteger(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -523,6 +545,7 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { @Override public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); latch.countDown(); } }; @@ -540,6 +563,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceVolumeFromCallbackRef.get()).isEqualTo(testDeviceVolume); assertThat(deviceVolumeFromGetterRef.get()).isEqualTo(testDeviceVolume); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test @@ -552,6 +577,7 @@ public void setDeviceMuted() throws Exception { MediaController controller = controllerTestRule.createController(remoteSession.getToken()); CountDownLatch latch = new CountDownLatch(2); AtomicBoolean deviceMutedFromCallbackRef = new AtomicBoolean(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -562,6 +588,7 @@ public void onDeviceVolumeChanged(int volume, boolean muted) { @Override public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); latch.countDown(); } }; @@ -579,6 +606,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(deviceMutedFromCallbackRef.get()).isEqualTo(testDeviceMuted); assertThat(deviceMutedFromGetterRef.get()).isEqualTo(testDeviceMuted); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_DEVICE_VOLUME_CHANGED); } @Test @@ -628,11 +657,57 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playbackStateFromCallbackRef.get()).isEqualTo(testPlaybackState); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAYBACK_STATE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_STATE_CHANGED); assertThat(playbackStateFromGetterRef.get()).isEqualTo(testPlaybackState); assertThat(playerErrorRef.get()).isNull(); } + @Test + public void setTrackSelectionParameters() throws Exception { + Context context = ApplicationProvider.getApplicationContext(); + remoteSession.setPlayer(new RemoteMediaSession.MockPlayerConfigBuilder().build()); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference trackSelectionParametersCallbackRef = + new AtomicReference<>(); + AtomicReference trackSelectionParametersGetterRef = + new AtomicReference<>(); + AtomicReference onEventsRef = new AtomicReference<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onTrackSelectionParametersChanged(TrackSelectionParameters parameters) { + trackSelectionParametersCallbackRef.set(parameters); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); + latch.countDown(); + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + threadTestRule + .getHandler() + .postAndSync( + () -> { + controller.setTrackSelectionParameters( + new TrackSelectionParameters.Builder(context).setMaxVideoBitrate(1234).build()); + trackSelectionParametersGetterRef.set(controller.getTrackSelectionParameters()); + }); + + TrackSelectionParameters expectedParameters = + new TrackSelectionParameters.Builder(context).setMaxVideoBitrate(1234).build(); + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(trackSelectionParametersCallbackRef.get()).isEqualTo(expectedParameters); + assertThat(trackSelectionParametersGetterRef.get()).isEqualTo(expectedParameters); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_TRACK_SELECTION_PARAMETERS_CHANGED); + } + @Test public void seekToNextMediaItem() throws Exception { int initialMediaItemIndex = 1; @@ -694,8 +769,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(newMediaItemRef.get().mediaId).isEqualTo(testCurrentMediaId); assertThat(oldPositionInfoRef.get().mediaItemIndex).isEqualTo(initialMediaItemIndex); assertThat(newPositionInfoRef.get().mediaItemIndex).isEqualTo(testMediaItemIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_MEDIA_ITEM_TRANSITION)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_MEDIA_ITEM_TRANSITION, Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); } @@ -760,8 +835,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(newMediaItemRef.get().mediaId).isEqualTo(testCurrentMediaId); assertThat(oldPositionInfoRef.get().mediaItemIndex).isEqualTo(initialMediaItemIndex); assertThat(newPositionInfoRef.get().mediaItemIndex).isEqualTo(testMediaItemIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_MEDIA_ITEM_TRANSITION)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_MEDIA_ITEM_TRANSITION, Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); } @@ -827,7 +902,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testPosition); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentPositionRef.get()).isEqualTo(testPosition); assertThat(bufferedPositionRef.get()).isEqualTo(testBufferedPosition); assertThat(totalBufferedDurationRef.get()).isEqualTo(testTotalBufferedDuration); @@ -896,7 +972,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testPosition); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentPositionRef.get()).isEqualTo(testPosition); assertThat(bufferedPositionRef.get()).isEqualTo(testBufferedPosition); assertThat(totalBufferedDurationRef.get()).isEqualTo(testTotalBufferedDuration); @@ -965,7 +1042,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testPosition); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentPositionRef.get()).isEqualTo(testPosition); assertThat(bufferedPositionRef.get()).isEqualTo(testBufferedPosition); assertThat(totalBufferedDurationRef.get()).isEqualTo(testTotalBufferedDuration); @@ -1035,7 +1113,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testPosition); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); assertThat(currentPositionRef.get()).isEqualTo(testPosition); assertThat(bufferedPositionRef.get()).isEqualTo(testBufferedPosition); @@ -1145,7 +1224,7 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testPosition); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).contains(Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); assertThat(currentPositionRef.get()).isEqualTo(testPosition); @@ -1282,7 +1361,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testSeekPositionMs); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); assertThat(currentPositionRef.get()).isEqualTo(testPosition); @@ -1326,9 +1406,10 @@ public void seekBack_seeksToOffsetBySeekBackIncrement() throws Exception { remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicLong oldPositionRef = new AtomicLong(); AtomicLong newPositionRef = new AtomicLong(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1338,6 +1419,12 @@ public void onPositionDiscontinuity( newPositionRef.set(newPosition.positionMs); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); + latch.countDown(); + } }; controller.addListener(listener); @@ -1346,6 +1433,8 @@ public void onPositionDiscontinuity( assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(oldPositionRef.get()).isEqualTo(testCurrentPosition); assertThat(newPositionRef.get()).isEqualTo(testCurrentPosition - testSeekBackIncrement); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); } @Test @@ -1361,9 +1450,10 @@ public void seekForward_seeksToOffsetBySeekForwardIncrement() throws Exception { remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicLong oldPositionRef = new AtomicLong(); AtomicLong newPositionRef = new AtomicLong(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -1373,6 +1463,12 @@ public void onPositionDiscontinuity( newPositionRef.set(newPosition.positionMs); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); + latch.countDown(); + } }; controller.addListener(listener); @@ -1381,6 +1477,8 @@ public void onPositionDiscontinuity( assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(oldPositionRef.get()).isEqualTo(testCurrentPosition); assertThat(newPositionRef.get()).isEqualTo(testCurrentPosition + testSeekForwardIncrement); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_POSITION_DISCONTINUITY); } @Test @@ -1462,7 +1560,11 @@ public void onEvents(Player player, Player.Events events) { testMediaItemIndex, /* testFirstPeriodIndex= */ testPeriodIndex, /* testLastPeriodIndex= */ testPeriodIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly( + Player.EVENT_TIMELINE_CHANGED, + Player.EVENT_MEDIA_ITEM_TRANSITION, + Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); assertThat(currentPositionRef.get()).isEqualTo(testPosition); @@ -1561,9 +1663,11 @@ public void onEvents(Player player, Player.Events events) { /* testFirstPeriodIndex= */ testPeriodIndex, /* testLastPeriodIndex= */ testPeriodIndex); assertThat(newMediaItemRef.get().mediaId).isEqualTo(testMediaItemIndexMediaId); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_MEDIA_ITEM_TRANSITION)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly( + Player.EVENT_POSITION_DISCONTINUITY, + Player.EVENT_TIMELINE_CHANGED, + Player.EVENT_MEDIA_ITEM_TRANSITION); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); assertThat(currentPositionRef.get()).isEqualTo(testPosition); @@ -1655,9 +1759,11 @@ public void onEvents(Player player, Player.Events events) { assertThat(newPositionInfoRef.get().positionMs).isEqualTo(testPosition); assertThat(newTimelineRef.get().isEmpty()).isTrue(); assertThat(newMediaItemRef.get()).isNull(); - assertThat(onEventsRef.get().contains(Player.EVENT_POSITION_DISCONTINUITY)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_MEDIA_ITEM_TRANSITION)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly( + Player.EVENT_POSITION_DISCONTINUITY, + Player.EVENT_TIMELINE_CHANGED, + Player.EVENT_MEDIA_ITEM_TRANSITION); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testPeriodIndex); assertThat(currentPositionRef.get()).isEqualTo(testPosition); @@ -1751,7 +1857,8 @@ public void onEvents(Player player, Player.Events events) { testCurrentMediaItemIndex, /* testFirstPeriodIndex= */ testCurrentPeriodIndex, /* testLastPeriodIndex= */ testCurrentPeriodIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_TIMELINE_CHANGED, Player.EVENT_MEDIA_ITEM_TRANSITION); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(nextMediaItemIndexRef.get()).isEqualTo(testNextMediaItemIndex); assertThat(previousMediaItemIndexRef.get()).isEqualTo(testPreviousMediaItemIndex); @@ -1819,7 +1926,7 @@ public void onEvents(Player player, Player.Events events) { testCurrentMediaItemIndex, /* testFirstPeriodIndex= */ testCurrentPeriodIndex, /* testLastPeriodIndex= */ testCurrentPeriodIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_TIMELINE_CHANGED); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(nextMediaItemIndexRef.get()).isEqualTo(testNextMediaItemIndex); assertThat(previousMediaItemIndexRef.get()).isEqualTo(testPreviousMediaItemIndex); @@ -1937,7 +2044,7 @@ public void onEvents(Player player, Player.Events events) { testCurrentMediaItemIndex, /* testFirstPeriodIndex= */ testCurrentWindowFirstPeriodIndex, /* testLastPeriodIndex= */ testCurrentWindowLastPeriodIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_TIMELINE_CHANGED); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(nextMediaItemIndexRef.get()).isEqualTo(testNextMediaItemIndex); assertThat(previousMediaItemIndexRef.get()).isEqualTo(testPreviousMediaItemIndex); @@ -2026,8 +2133,11 @@ public void onEvents(Player player, Player.Events events) { /* testLastPeriodIndex= */ testCurrentMediaItemIndex); assertThat(newMediaItemRef.get().mediaId).isEqualTo(testCurrentMediaId); assertThat(newPositionInfoRef.get().mediaItemIndex).isEqualTo(testCurrentMediaItemIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_MEDIA_ITEM_TRANSITION)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly( + Player.EVENT_TIMELINE_CHANGED, + Player.EVENT_MEDIA_ITEM_TRANSITION, + Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(nextMediaItemIndexRef.get()).isEqualTo(testNextMediaItemIndex); assertThat(previousMediaItemIndexRef.get()).isEqualTo(testPreviousMediaItemIndex); @@ -2101,7 +2211,7 @@ public void onEvents(Player player, Player.Events events) { Window window = new Window(); assertThat(newTimelineRef.get().getWindow(testCurrentMediaItemIndex, window).mediaItem.mediaId) .isEqualTo(testCurrentMediaId); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_TIMELINE_CHANGED); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(nextMediaItemIndexRef.get()).isEqualTo(testNextMediaItemIndex); assertThat(previousMediaItemIndexRef.get()).isEqualTo(testPreviousMediaItemIndex); @@ -2171,7 +2281,7 @@ public void onEvents(Player player, Player.Events events) { testCurrentMediaItemIndex, /* testFirstPeriodIndex= */ testCurrentWindowFirstPeriodIndex, /* testLastPeriodIndex= */ testCurrentWindowLastPeriodIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_TIMELINE_CHANGED); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testCurrentPeriodIndex); } @@ -2179,7 +2289,7 @@ public void onEvents(Player player, Player.Events events) { @Test public void removeMediaItems_removeAllItems() throws Exception { int initialMediaItemIndex = 1; - int initialPlaybackState = STATE_READY; + int initialPlaybackState = Player.STATE_READY; long initialCurrentPosition = 3_000; String firstMediaId = "firstMediaId"; String secondMediaId = "secondMediaId"; @@ -2190,7 +2300,7 @@ public void removeMediaItems_removeAllItems() throws Exception { int testCurrentMediaItemIndex = 0; int testNextMediaItemIndex = C.INDEX_UNSET; int testPreviousMediaItemIndex = C.INDEX_UNSET; - int testPlaybackState = STATE_ENDED; + int testPlaybackState = Player.STATE_ENDED; long testCurrentPosition = 0; Bundle playerConfig = @@ -2264,9 +2374,12 @@ public void onEvents(Player player, Player.Events events) { /* ignored= */ C.INDEX_UNSET); assertThat(newMediaItemRef.get()).isNull(); assertThat(newPlaybackStateRef.get()).isEqualTo(testPlaybackState); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_MEDIA_ITEM_TRANSITION)).isTrue(); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAYBACK_STATE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly( + Player.EVENT_TIMELINE_CHANGED, + Player.EVENT_MEDIA_ITEM_TRANSITION, + Player.EVENT_PLAYBACK_STATE_CHANGED, + Player.EVENT_POSITION_DISCONTINUITY); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(nextMediaItemIndexRef.get()).isEqualTo(testNextMediaItemIndex); assertThat(previousMediaItemIndexRef.get()).isEqualTo(testPreviousMediaItemIndex); @@ -2277,10 +2390,10 @@ public void onEvents(Player player, Player.Events events) { public void removeMediaItems_removedTailIncludesCurrentItem_callsOnPlaybackStateChanged() throws Exception { int initialMediaItemIndex = 1; - int initialPlaybackState = STATE_READY; + int initialPlaybackState = Player.STATE_READY; int testFromIndex = 1; int testToIndex = 3; - int testPlaybackState = STATE_ENDED; + int testPlaybackState = Player.STATE_ENDED; Timeline testTimeline = createTimeline(createMediaItems(/* size= */ 3)); Bundle playerConfig = @@ -2293,8 +2406,9 @@ public void removeMediaItems_removedTailIncludesCurrentItem_callsOnPlaybackState remoteSession.setPlayer(playerConfig); MediaController controller = controllerTestRule.createController(remoteSession.getToken()); - CountDownLatch latch = new CountDownLatch(1); + CountDownLatch latch = new CountDownLatch(2); AtomicInteger newPlaybackStateRef = new AtomicInteger(); + AtomicReference onEventsRef = new AtomicReference<>(); Player.Listener listener = new Player.Listener() { @Override @@ -2302,6 +2416,12 @@ public void onPlaybackStateChanged(int playbackState) { newPlaybackStateRef.set(playbackState); latch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + onEventsRef.set(events); + latch.countDown(); + } }; threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); @@ -2314,6 +2434,7 @@ public void onPlaybackStateChanged(int playbackState) { }); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newPlaybackStateRef.get()).isEqualTo(testPlaybackState); + assertThat(getEventsAsList(onEventsRef.get())).contains(Player.EVENT_PLAYBACK_STATE_CHANGED); } @Test @@ -2586,7 +2707,7 @@ public void onEvents(Player player, Player.Events events) { assertThat( newTimelineRef.get().getWindow(testNextMediaItemIndex, new Window()).mediaItem.mediaId) .isEqualTo(testNextMediaId); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_TIMELINE_CHANGED); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); } @@ -2700,7 +2821,7 @@ public void onEvents(Player player, Player.Events events) { testCurrentMediaItemIndex, /* testFirstPeriodIndex= */ testCurrentWindowFirstPeriodIndex, /* testLastPeriodIndex= */ testCurrentWindowLastPeriodIndex); - assertThat(onEventsRef.get().contains(Player.EVENT_TIMELINE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())).containsExactly(Player.EVENT_TIMELINE_CHANGED); assertThat(currentMediaItemIndexRef.get()).isEqualTo(testCurrentMediaItemIndex); assertThat(currentPeriodIndexRef.get()).isEqualTo(testCurrentPeriodIndex); } @@ -2867,7 +2988,8 @@ public void onEvents(Player player, Player.Events events) { assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(playbackStateFromCallbackRef.get()).isEqualTo(testPlaybackState); - assertThat(onEventsRef.get().contains(Player.EVENT_PLAYBACK_STATE_CHANGED)).isTrue(); + assertThat(getEventsAsList(onEventsRef.get())) + .containsExactly(Player.EVENT_PLAYBACK_STATE_CHANGED); assertThat(playbackStateFromGetterRef.get()).isEqualTo(testPlaybackState); assertThat(playerErrorFromGetterRef.get().errorInfoEquals(testPlaybackException)).isTrue(); assertThat(timelineFromGetterRef.get().getWindowCount()) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerSurfaceSizeChangeTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerSurfaceSizeChangeTest.java index 475059d462d..caa92975084 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerSurfaceSizeChangeTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerSurfaceSizeChangeTest.java @@ -35,6 +35,7 @@ import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.PollingCheck; import androidx.media3.test.session.common.SurfaceActivity; +import androidx.media3.test.session.common.TestUtils; import androidx.test.core.app.ApplicationProvider; import androidx.test.filters.LargeTest; import androidx.test.rule.ActivityTestRule; @@ -42,6 +43,7 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicReference; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -140,6 +142,7 @@ public static List params() { private final CountDownLatch countDownLatch; private final AtomicInteger newSurfaceWidthRef; private final AtomicInteger newSurfaceHeightRef; + private final AtomicReference eventsRef; @Rule public ActivityTestRule activityRule = @@ -178,9 +181,10 @@ public MediaControllerSurfaceSizeChangeTest( this.sizeCondition = sizeCondition; this.surfaceSizeChangedShouldBeCalled = surfaceSizeChangedShouldBeCalled; - countDownLatch = new CountDownLatch(1); + countDownLatch = new CountDownLatch(2); newSurfaceWidthRef = new AtomicInteger(C.LENGTH_UNSET); newSurfaceHeightRef = new AtomicInteger(C.LENGTH_UNSET); + eventsRef = new AtomicReference<>(); } @Test @@ -252,6 +256,12 @@ public void onSurfaceSizeChanged(int width, int height) { newSurfaceHeightRef.set(height); countDownLatch.countDown(); } + + @Override + public void onEvents(Player player, Player.Events events) { + eventsRef.set(events); + countDownLatch.countDown(); + } })); } @@ -360,6 +370,8 @@ private void waitCallbackAndAssert() throws Exception { assertThat(countDownLatch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); assertThat(newSurfaceWidthRef.get()).isEqualTo(expectedWidthFromCallback); assertThat(newSurfaceHeightRef.get()).isEqualTo(expectedHeightFromCallback); + assertThat(TestUtils.getEventsAsList(eventsRef.get())) + .containsExactly(Player.EVENT_SURFACE_SIZE_CHANGED); } else { assertThat(countDownLatch.await(NO_RESPONSE_TIMEOUT_MS, MILLISECONDS)).isFalse(); } diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index 98da0c7c05c..2f91a3a2866 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -857,6 +857,17 @@ public void setTrackSelectionParameters(String sessionId, Bundle parameters) }); } + @Override + public void setVolume(String sessionId, float volume) throws RemoteException { + runOnHandler( + () -> { + MediaSession session = sessionMap.get(sessionId); + MockPlayer player = (MockPlayer) session.getPlayer(); + player.setVolume(volume); + player.notifyVolumeChanged(); + }); + } + @Override public void notifyAvailableCommandsChanged(String sessionId, Bundle commandsBundle) throws RemoteException { @@ -970,6 +981,28 @@ public void notifyDeviceVolumeChanged(String sessionId, int volume, boolean mute }); } + @Override + public void decreaseDeviceVolume(String sessionId) throws RemoteException { + runOnHandler( + () -> { + MediaSession session = sessionMap.get(sessionId); + MockPlayer player = (MockPlayer) session.getPlayer(); + player.decreaseDeviceVolume(); + player.notifyDeviceVolumeChanged(); + }); + } + + @Override + public void increaseDeviceVolume(String sessionId) throws RemoteException { + runOnHandler( + () -> { + MediaSession session = sessionMap.get(sessionId); + MockPlayer player = (MockPlayer) session.getPlayer(); + player.increaseDeviceVolume(); + player.notifyDeviceVolumeChanged(); + }); + } + @Override public void notifyCuesChanged(String sessionId, Bundle cueGroupBundle) throws RemoteException { CueGroup cueGroup = CueGroup.CREATOR.fromBundle(cueGroupBundle); diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index b4dcf94755c..d05caf57e78 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -655,11 +655,13 @@ public void setDeviceVolume(int volume) { @Override public void increaseDeviceVolume() { + deviceVolume += 1; checkNotNull(conditionVariables.get(METHOD_INCREASE_DEVICE_VOLUME)).open(); } @Override public void decreaseDeviceVolume() { + deviceVolume -= 1; checkNotNull(conditionVariables.get(METHOD_DECREASE_DEVICE_VOLUME)).open(); } @@ -1204,6 +1206,12 @@ public void notifyDeviceVolumeChanged() { } } + public void notifyVolumeChanged() { + for (Listener listener : listeners) { + listener.onVolumeChanged(volume); + } + } + @SuppressWarnings("deprecation") // Implementing and calling deprecated listener method. public void notifyCuesChanged() { for (Listener listener : listeners) { diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java index 4589a192fe3..e6647a6981e 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/RemoteMediaSession.java @@ -282,6 +282,10 @@ public void setCurrentAdIndexInAdGroup(int currentAdIndexInAdGroup) throws Remot binder.setCurrentAdIndexInAdGroup(sessionId, currentAdIndexInAdGroup); } + public void setVolume(float volume) throws RemoteException { + binder.setVolume(sessionId, volume); + } + public void notifyPlayWhenReadyChanged( boolean playWhenReady, @Player.PlaybackSuppressionReason int reason) throws RemoteException { @@ -399,6 +403,14 @@ public void notifyDeviceVolumeChanged(int volume, boolean muted) throws RemoteEx binder.notifyDeviceVolumeChanged(sessionId, volume, muted); } + public void decreaseDeviceVolume() throws RemoteException { + binder.decreaseDeviceVolume(sessionId); + } + + public void increaseDeviceVolume() throws RemoteException { + binder.increaseDeviceVolume(sessionId); + } + public void notifyCuesChanged(CueGroup cueGroup) throws RemoteException { binder.notifyCuesChanged(sessionId, cueGroup.toBundle()); } From d56d94fa0af5e2132030454b22c013228e0a621c Mon Sep 17 00:00:00 2001 From: tonihei Date: Tue, 18 Oct 2022 17:08:09 +0000 Subject: [PATCH 328/422] Ensure onMediaItemTransition is sent for repeats of the same item Currently, repeating the same item (via seekNext/Previous) implicitly results in a seek to the default position of the current item, which looks exactly the same as a direct seek. As a result, we don't send onMediaItemTransition as we would for every other seekNext/Previous call. This can be fixed by explicitly marking the repeat case in the internal BasePlayer/ExoPlayerImpl methods, so that the callback can be triggered. Issue: google/ExoPlayer#10667 PiperOrigin-RevId: 481951788 (cherry picked from commit f850206c51ced023b1603aa7661dd556ee436740) --- RELEASENOTES.md | 3 + .../androidx/media3/common/BasePlayer.java | 26 ++- .../media3/exoplayer/ExoPlayerImpl.java | 149 +++++++++++------- .../media3/exoplayer/ExoPlayerTest.java | 33 ++++ 4 files changed, 152 insertions(+), 59 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index dc4cf135190..757f51d57dd 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -23,6 +23,9 @@ ([#8944](https://github.com/google/ExoPlayer/issues/8944)). * Fix session tracking problem with fast seeks in `PlaybackStatsListener` ([#180](https://github.com/androidx/media/issues/180)). + * Send missing `onMediaItemTransition` callback when calling `seekToNext` + or `seekToPrevious` in a single-item playlist + ([#10667](https://github.com/google/ExoPlayer/issues/10667)). * Downloads: * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` diff --git a/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java index 9069f061bb1..74b144baa38 100644 --- a/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java @@ -22,6 +22,7 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; +import com.google.errorprone.annotations.ForOverride; import java.util.List; /** Abstract base {@link Player} which implements common implementation independent methods. */ @@ -187,7 +188,12 @@ public final void seekToPreviousWindow() { @Override public final void seekToPreviousMediaItem() { int previousMediaItemIndex = getPreviousMediaItemIndex(); - if (previousMediaItemIndex != C.INDEX_UNSET) { + if (previousMediaItemIndex == C.INDEX_UNSET) { + return; + } + if (previousMediaItemIndex == getCurrentMediaItemIndex()) { + repeatCurrentMediaItem(); + } else { seekToDefaultPosition(previousMediaItemIndex); } } @@ -254,7 +260,12 @@ public final void seekToNextWindow() { @Override public final void seekToNextMediaItem() { int nextMediaItemIndex = getNextMediaItemIndex(); - if (nextMediaItemIndex != C.INDEX_UNSET) { + if (nextMediaItemIndex == C.INDEX_UNSET) { + return; + } + if (nextMediaItemIndex == getCurrentMediaItemIndex()) { + repeatCurrentMediaItem(); + } else { seekToDefaultPosition(nextMediaItemIndex); } } @@ -426,6 +437,17 @@ public final long getContentDuration() { : timeline.getWindow(getCurrentMediaItemIndex(), window).getDurationMs(); } + /** + * Repeat the current media item. + * + *

      The default implementation seeks to the default position in the current item, which can be + * overridden for additional handling. + */ + @ForOverride + protected void repeatCurrentMediaItem() { + seekToDefaultPosition(); + } + private @RepeatMode int getRepeatModeForNavigation() { @RepeatMode int repeatMode = getRepeatMode(); return repeatMode == REPEAT_MODE_ONE ? REPEAT_MODE_OFF : repeatMode; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index bf785334920..64f1236bda6 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -542,7 +542,8 @@ public void prepare() { /* positionDiscontinuity= */ false, /* ignored */ DISCONTINUITY_REASON_INTERNAL, /* ignored */ C.TIME_UNSET, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } @Override @@ -663,7 +664,8 @@ public void addMediaSources(int index, List mediaSources) { /* positionDiscontinuity= */ false, /* ignored */ DISCONTINUITY_REASON_INTERNAL, /* ignored */ C.TIME_UNSET, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } @Override @@ -681,7 +683,8 @@ public void removeMediaItems(int fromIndex, int toIndex) { positionDiscontinuity, DISCONTINUITY_REASON_REMOVE, /* discontinuityWindowStartPositionUs= */ getCurrentPositionUsInternal(newPlaybackInfo), - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } @Override @@ -711,7 +714,8 @@ public void moveMediaItems(int fromIndex, int toIndex, int newFromIndex) { /* positionDiscontinuity= */ false, /* ignored */ DISCONTINUITY_REASON_INTERNAL, /* ignored */ C.TIME_UNSET, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } @Override @@ -735,7 +739,8 @@ public void setShuffleOrder(ShuffleOrder shuffleOrder) { /* positionDiscontinuity= */ false, /* ignored */ DISCONTINUITY_REASON_INTERNAL, /* ignored */ C.TIME_UNSET, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } @Override @@ -814,47 +819,17 @@ public boolean isLoading() { return playbackInfo.isLoading; } + @Override + protected void repeatCurrentMediaItem() { + verifyApplicationThread(); + seekToInternal( + getCurrentMediaItemIndex(), /* positionMs= */ C.TIME_UNSET, /* repeatMediaItem= */ true); + } + @Override public void seekTo(int mediaItemIndex, long positionMs) { verifyApplicationThread(); - analyticsCollector.notifySeekStarted(); - Timeline timeline = playbackInfo.timeline; - if (mediaItemIndex < 0 - || (!timeline.isEmpty() && mediaItemIndex >= timeline.getWindowCount())) { - throw new IllegalSeekPositionException(timeline, mediaItemIndex, positionMs); - } - pendingOperationAcks++; - if (isPlayingAd()) { - // TODO: Investigate adding support for seeking during ads. This is complicated to do in - // general because the midroll ad preceding the seek destination must be played before the - // content position can be played, if a different ad is playing at the moment. - Log.w(TAG, "seekTo ignored because an ad is playing"); - ExoPlayerImplInternal.PlaybackInfoUpdate playbackInfoUpdate = - new ExoPlayerImplInternal.PlaybackInfoUpdate(this.playbackInfo); - playbackInfoUpdate.incrementPendingOperationAcks(1); - playbackInfoUpdateListener.onPlaybackInfoUpdate(playbackInfoUpdate); - return; - } - @Player.State - int newPlaybackState = - getPlaybackState() == Player.STATE_IDLE ? Player.STATE_IDLE : STATE_BUFFERING; - int oldMaskingMediaItemIndex = getCurrentMediaItemIndex(); - PlaybackInfo newPlaybackInfo = playbackInfo.copyWithPlaybackState(newPlaybackState); - newPlaybackInfo = - maskTimelineAndPosition( - newPlaybackInfo, - timeline, - maskWindowPositionMsOrGetPeriodPositionUs(timeline, mediaItemIndex, positionMs)); - internalPlayer.seekTo(timeline, mediaItemIndex, Util.msToUs(positionMs)); - updatePlaybackInfo( - newPlaybackInfo, - /* ignored */ TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED, - /* ignored */ PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, - /* seekProcessed= */ true, - /* positionDiscontinuity= */ true, - /* positionDiscontinuityReason= */ DISCONTINUITY_REASON_SEEK, - /* discontinuityWindowStartPositionUs= */ getCurrentPositionUsInternal(newPlaybackInfo), - oldMaskingMediaItemIndex); + seekToInternal(mediaItemIndex, positionMs, /* repeatMediaItem= */ false); } @Override @@ -895,7 +870,8 @@ public void setPlaybackParameters(PlaybackParameters playbackParameters) { /* positionDiscontinuity= */ false, /* ignored */ DISCONTINUITY_REASON_INTERNAL, /* ignored */ C.TIME_UNSET, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } @Override @@ -1744,7 +1720,8 @@ private void stopInternal(boolean reset, @Nullable ExoPlaybackException error) { positionDiscontinuity, DISCONTINUITY_REASON_REMOVE, /* discontinuityWindowStartPositionUs= */ getCurrentPositionUsInternal(playbackInfo), - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } private int getCurrentWindowIndexInternal() { @@ -1826,7 +1803,8 @@ private void handlePlaybackInfo(ExoPlayerImplInternal.PlaybackInfoUpdate playbac positionDiscontinuity, pendingDiscontinuityReason, discontinuityWindowStartPositionUs, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } } @@ -1840,7 +1818,8 @@ private void updatePlaybackInfo( boolean positionDiscontinuity, @DiscontinuityReason int positionDiscontinuityReason, long discontinuityWindowStartPositionUs, - int oldMaskingMediaItemIndex) { + int oldMaskingMediaItemIndex, + boolean repeatCurrentMediaItem) { // Assign playback info immediately such that all getters return the right values, but keep // snapshot of previous and new state so that listener invocations are triggered correctly. @@ -1848,13 +1827,15 @@ private void updatePlaybackInfo( PlaybackInfo newPlaybackInfo = playbackInfo; this.playbackInfo = playbackInfo; + boolean timelineChanged = !previousPlaybackInfo.timeline.equals(newPlaybackInfo.timeline); Pair mediaItemTransitionInfo = evaluateMediaItemTransitionReason( newPlaybackInfo, previousPlaybackInfo, positionDiscontinuity, positionDiscontinuityReason, - !previousPlaybackInfo.timeline.equals(newPlaybackInfo.timeline)); + timelineChanged, + repeatCurrentMediaItem); boolean mediaItemTransitioned = mediaItemTransitionInfo.first; int mediaItemTransitionReason = mediaItemTransitionInfo.second; MediaMetadata newMediaMetadata = mediaMetadata; @@ -1891,7 +1872,7 @@ private void updatePlaybackInfo( updatePriorityTaskManagerForIsLoadingChange(newPlaybackInfo.isLoading); } - if (!previousPlaybackInfo.timeline.equals(newPlaybackInfo.timeline)) { + if (timelineChanged) { listeners.queueEvent( Player.EVENT_TIMELINE_CHANGED, listener -> listener.onTimelineChanged(newPlaybackInfo.timeline, timelineChangeReason)); @@ -2094,7 +2075,8 @@ private Pair evaluateMediaItemTransitionReason( PlaybackInfo oldPlaybackInfo, boolean positionDiscontinuity, @DiscontinuityReason int positionDiscontinuityReason, - boolean timelineChanged) { + boolean timelineChanged, + boolean repeatCurrentMediaItem) { Timeline oldTimeline = oldPlaybackInfo.timeline; Timeline newTimeline = playbackInfo.timeline; @@ -2125,11 +2107,20 @@ private Pair evaluateMediaItemTransitionReason( throw new IllegalStateException(); } return new Pair<>(/* isTransitioning */ true, transitionReason); - } else if (positionDiscontinuity - && positionDiscontinuityReason == DISCONTINUITY_REASON_AUTO_TRANSITION - && oldPlaybackInfo.periodId.windowSequenceNumber - < playbackInfo.periodId.windowSequenceNumber) { - return new Pair<>(/* isTransitioning */ true, MEDIA_ITEM_TRANSITION_REASON_REPEAT); + } else { + // Only mark changes within the current item as a transition if we are repeating automatically + // or via a seek to next/previous. + if (positionDiscontinuity + && positionDiscontinuityReason == DISCONTINUITY_REASON_AUTO_TRANSITION + && oldPlaybackInfo.periodId.windowSequenceNumber + < playbackInfo.periodId.windowSequenceNumber) { + return new Pair<>(/* isTransitioning */ true, MEDIA_ITEM_TRANSITION_REASON_REPEAT); + } + if (positionDiscontinuity + && positionDiscontinuityReason == DISCONTINUITY_REASON_SEEK + && repeatCurrentMediaItem) { + return new Pair<>(/* isTransitioning */ true, MEDIA_ITEM_TRANSITION_REASON_SEEK); + } } return new Pair<>(/* isTransitioning */ false, /* mediaItemTransitionReason */ C.INDEX_UNSET); } @@ -2200,7 +2191,8 @@ private void setMediaSourcesInternal( /* positionDiscontinuity= */ positionDiscontinuity, DISCONTINUITY_REASON_REMOVE, /* discontinuityWindowStartPositionUs= */ getCurrentPositionUsInternal(newPlaybackInfo), - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } private List addMediaSourceHolders( @@ -2592,7 +2584,8 @@ private void updatePlayWhenReady( /* positionDiscontinuity= */ false, /* ignored */ DISCONTINUITY_REASON_INTERNAL, /* ignored */ C.TIME_UNSET, - /* ignored */ C.INDEX_UNSET); + /* ignored */ C.INDEX_UNSET, + /* repeatCurrentMediaItem= */ false); } private void updateWakeAndWifiLock() { @@ -2690,6 +2683,48 @@ private void updatePriorityTaskManagerForIsLoadingChange(boolean isLoading) { } } + private void seekToInternal(int mediaItemIndex, long positionMs, boolean repeatMediaItem) { + analyticsCollector.notifySeekStarted(); + Timeline timeline = playbackInfo.timeline; + if (mediaItemIndex < 0 + || (!timeline.isEmpty() && mediaItemIndex >= timeline.getWindowCount())) { + throw new IllegalSeekPositionException(timeline, mediaItemIndex, positionMs); + } + pendingOperationAcks++; + if (isPlayingAd()) { + // TODO: Investigate adding support for seeking during ads. This is complicated to do in + // general because the midroll ad preceding the seek destination must be played before the + // content position can be played, if a different ad is playing at the moment. + Log.w(TAG, "seekTo ignored because an ad is playing"); + ExoPlayerImplInternal.PlaybackInfoUpdate playbackInfoUpdate = + new ExoPlayerImplInternal.PlaybackInfoUpdate(this.playbackInfo); + playbackInfoUpdate.incrementPendingOperationAcks(1); + playbackInfoUpdateListener.onPlaybackInfoUpdate(playbackInfoUpdate); + return; + } + @Player.State + int newPlaybackState = + getPlaybackState() == Player.STATE_IDLE ? Player.STATE_IDLE : STATE_BUFFERING; + int oldMaskingMediaItemIndex = getCurrentMediaItemIndex(); + PlaybackInfo newPlaybackInfo = playbackInfo.copyWithPlaybackState(newPlaybackState); + newPlaybackInfo = + maskTimelineAndPosition( + newPlaybackInfo, + timeline, + maskWindowPositionMsOrGetPeriodPositionUs(timeline, mediaItemIndex, positionMs)); + internalPlayer.seekTo(timeline, mediaItemIndex, Util.msToUs(positionMs)); + updatePlaybackInfo( + newPlaybackInfo, + /* ignored */ TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED, + /* ignored */ PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, + /* seekProcessed= */ true, + /* positionDiscontinuity= */ true, + /* positionDiscontinuityReason= */ DISCONTINUITY_REASON_SEEK, + /* discontinuityWindowStartPositionUs= */ getCurrentPositionUsInternal(newPlaybackInfo), + oldMaskingMediaItemIndex, + repeatMediaItem); + } + private static DeviceInfo createDeviceInfo(StreamVolumeManager streamVolumeManager) { return new DeviceInfo( DeviceInfo.PLAYBACK_TYPE_LOCAL, diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index e4e69c55a8e..31a0726ef76 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -8821,6 +8821,39 @@ public void onMediaItemTransition(@Nullable MediaItem mediaItem, int reason) { player.release(); } + @Test + public void seekToNextPrevious_singleItemRepeat_notifiesMediaItemTransition() throws Exception { + List reportedMediaItems = new ArrayList<>(); + List reportedTransitionReasons = new ArrayList<>(); + MediaSource mediaSource = FakeMediaSource.createWithWindowId(/* windowId= */ new Object()); + ExoPlayer player = new TestExoPlayerBuilder(context).build(); + player.addListener( + new Listener() { + @Override + public void onMediaItemTransition(@Nullable MediaItem mediaItem, int reason) { + reportedMediaItems.add(mediaItem); + reportedTransitionReasons.add(reason); + } + }); + player.setMediaSource(mediaSource); + player.prepare(); + runUntilPlaybackState(player, Player.STATE_READY); + + player.setRepeatMode(Player.REPEAT_MODE_ALL); + player.seekToNextMediaItem(); + player.seekToPreviousMediaItem(); + player.release(); + + MediaItem expectedMediaItem = mediaSource.getMediaItem(); + assertThat(reportedMediaItems) + .containsExactly(expectedMediaItem, expectedMediaItem, expectedMediaItem); + assertThat(reportedTransitionReasons) + .containsExactly( + Player.MEDIA_ITEM_TRANSITION_REASON_PLAYLIST_CHANGED, + Player.MEDIA_ITEM_TRANSITION_REASON_SEEK, + Player.MEDIA_ITEM_TRANSITION_REASON_SEEK); + } + @Test public void repeat_notifiesMediaItemTransition() throws Exception { List reportedMediaItems = new ArrayList<>(); From d8b6c2971b0eec6dc44e42338d03f3cf7eb010c3 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 18 Oct 2022 18:12:06 +0000 Subject: [PATCH 329/422] Test: Update MatrixProcessorPixelTest to use input width and height. Before, they used `width` and `height`, which was inconsistent with other pixel tests, and less descriptive. Refactoring change only. No functional change intended. PiperOrigin-RevId: 481970243 (cherry picked from commit cce79a70402a231ff1ae6924ea75d59c5680e7b4) --- .../MatrixTextureProcessorPixelTest.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java index 244479206f3..464efdac412 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java @@ -65,24 +65,24 @@ public final class MatrixTextureProcessorPixelTest { private @MonotonicNonNull EGLContext eglContext; private @MonotonicNonNull SingleFrameGlTextureProcessor matrixTextureProcessor; private int inputTexId; - private int width; - private int height; + private int inputWidth; + private int inputHeight; @Before public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); - width = inputBitmap.getWidth(); - height = inputBitmap.getHeight(); + inputWidth = inputBitmap.getWidth(); + inputHeight = inputBitmap.getHeight(); EGLSurface placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, width, height); + GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); int outputTexId = - GlUtil.createTexture(width, height, /* useHighPrecisionColorComponents= */ false); + GlUtil.createTexture(inputWidth, inputHeight, /* useHighPrecisionColorComponents= */ false); int frameBuffer = GlUtil.createFboForTexture(outputTexId); GlUtil.focusFramebuffer( - eglDisplay, eglContext, placeholderEglSurface, frameBuffer, width, height); + eglDisplay, eglContext, placeholderEglSurface, frameBuffer, inputWidth, inputHeight); } @After @@ -102,11 +102,11 @@ public void drawFrame_noEdits_producesExpectedOutput() throws Exception { MatrixTransformation noEditsTransformation = (long presentationTimeUs) -> identityMatrix; matrixTextureProcessor = noEditsTransformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTextureProcessor.configure(width, height); + matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(width, height); + Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(inputWidth, inputHeight); maybeSaveTestBitmapToCacheDirectory(testId, /* bitmapLabel= */ "actual", actualBitmap); // TODO(b/207848601): switch to using proper tooling for testing against golden data. @@ -124,11 +124,11 @@ public void drawFrame_translateRight_producesExpectedOutput() throws Exception { (long presentationTimeUs) -> translateRightMatrix; matrixTextureProcessor = translateRightTransformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTextureProcessor.configure(width, height); + matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = readBitmap(TRANSLATE_RIGHT_PNG_ASSET_PATH); matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(width, height); + Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(inputWidth, inputHeight); maybeSaveTestBitmapToCacheDirectory(testId, /* bitmapLabel= */ "actual", actualBitmap); // TODO(b/207848601): switch to using proper tooling for testing against golden data. @@ -145,11 +145,11 @@ public void drawFrame_scaleNarrow_producesExpectedOutput() throws Exception { MatrixTransformation scaleNarrowTransformation = (long presentationTimeUs) -> scaleNarrowMatrix; matrixTextureProcessor = scaleNarrowTransformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTextureProcessor.configure(width, height); + matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = readBitmap(SCALE_NARROW_PNG_ASSET_PATH); matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(width, height); + Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(inputWidth, inputHeight); maybeSaveTestBitmapToCacheDirectory(testId, /* bitmapLabel= */ "actual", actualBitmap); // TODO(b/207848601): switch to using proper tooling for testing against golden data. @@ -166,11 +166,11 @@ public void drawFrame_rotate90_producesExpectedOutput() throws Exception { MatrixTransformation rotate90Transformation = (long presentationTimeUs) -> rotate90Matrix; matrixTextureProcessor = rotate90Transformation.toGlTextureProcessor(context, /* useHdr= */ false); - matrixTextureProcessor.configure(width, height); + matrixTextureProcessor.configure(inputWidth, inputHeight); Bitmap expectedBitmap = readBitmap(ROTATE_90_PNG_ASSET_PATH); matrixTextureProcessor.drawFrame(inputTexId, /* presentationTimeUs= */ 0); - Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(width, height); + Bitmap actualBitmap = createArgb8888BitmapFromCurrentGlFramebuffer(inputWidth, inputHeight); maybeSaveTestBitmapToCacheDirectory(testId, /* bitmapLabel= */ "actual", actualBitmap); // TODO(b/207848601): switch to using proper tooling for testing against golden data. From 950ea910db9b93635707412b7bc0c627dc97cde7 Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 19 Oct 2022 10:40:06 +0000 Subject: [PATCH 330/422] Remove ForwardingPlayer special case from PlayerControlView.setPlayer This was originally added in https://github.com/androidx/media/commit/4fd7d777b669f6adacc3737a7e15b04a57f030fb, but it hasn't done anything since https://github.com/androidx/media/commit/98ee159df161c7c8806c0b0490b642738822f6a7 (when the instanceof ExoPlayer check was removed). PiperOrigin-RevId: 482161662 (cherry picked from commit a5b09b8cccca80fb7c40a9576e029ef462b64582) --- .../src/main/java/androidx/media3/ui/PlayerControlView.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java b/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java index a7e25b17674..8c56f78298a 100644 --- a/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java +++ b/libraries/ui/src/main/java/androidx/media3/ui/PlayerControlView.java @@ -57,7 +57,6 @@ import androidx.core.content.res.ResourcesCompat; import androidx.media3.common.C; import androidx.media3.common.Format; -import androidx.media3.common.ForwardingPlayer; import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.Player; import androidx.media3.common.Player.Events; @@ -633,9 +632,6 @@ public void setPlayer(@Nullable Player player) { if (player != null) { player.addListener(componentListener); } - if (player instanceof ForwardingPlayer) { - player = ((ForwardingPlayer) player).getWrappedPlayer(); - } updateAll(); } From 6ec2f1ef6dccf7dfef755342ad2d6ceabf861c45 Mon Sep 17 00:00:00 2001 From: Rohit Singh Date: Mon, 24 Oct 2022 10:38:13 +0000 Subject: [PATCH 331/422] Merge pull request #183 from jasper-apps:bugfix/make-download-notification-appear-immediately PiperOrigin-RevId: 482165983 (cherry picked from commit 1565a2dabaa490647f00c86f72a460aaad53621d) --- RELEASENOTES.md | 2 ++ .../offline/DownloadNotificationHelper.java | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 757f51d57dd..e27d4fd5eb4 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -30,6 +30,8 @@ * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` ([#10570](https://github.com/google/ExoPlayer/pull/10570)). + * Make download notification appear immediately + ([#183](https://github.com/androidx/media/pull/183)) * Audio: * Adds `AudioOffloadListener.onExperimentalOffloadedPlayback` for the AudioTrack offload state. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadNotificationHelper.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadNotificationHelper.java index c8aa4b3d374..e0fe53ef652 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadNotificationHelper.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadNotificationHelper.java @@ -15,15 +15,21 @@ */ package androidx.media3.exoplayer.offline; +import static androidx.core.app.NotificationCompat.FOREGROUND_SERVICE_IMMEDIATE; + +import android.annotation.SuppressLint; import android.app.Notification; import android.app.PendingIntent; import android.content.Context; +import androidx.annotation.DoNotInline; import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.annotation.StringRes; import androidx.core.app.NotificationCompat; import androidx.media3.common.C; import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; import androidx.media3.exoplayer.R; import androidx.media3.exoplayer.scheduler.Requirements; import java.util.List; @@ -237,6 +243,19 @@ private Notification buildNotification( notificationBuilder.setProgress(maxProgress, currentProgress, indeterminateProgress); notificationBuilder.setOngoing(ongoing); notificationBuilder.setShowWhen(showWhen); + if (Util.SDK_INT >= 31) { + Api31.setForegroundServiceBehavior(notificationBuilder); + } return notificationBuilder.build(); } + + @RequiresApi(31) + private static final class Api31 { + @SuppressLint("WrongConstant") // TODO(b/254277605): remove lint suppression + @DoNotInline + public static void setForegroundServiceBehavior( + NotificationCompat.Builder notificationBuilder) { + notificationBuilder.setForegroundServiceBehavior(FOREGROUND_SERVICE_IMMEDIATE); + } + } } From b592c78ce728b44b4046b67f255b0e8b9063a264 Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 19 Oct 2022 11:48:34 +0000 Subject: [PATCH 332/422] Fix DefaultMediaNotificationProvider typo in release notes Also merge two 'Remove deprecated symbols' sections PiperOrigin-RevId: 482171490 (cherry picked from commit a4965053bdc1db2d049c64829731a1f4676ea584) --- RELEASENOTES.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index e27d4fd5eb4..34fd7a02e62 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -63,12 +63,13 @@ * Ensure commands are always executed in the correct order even if some require asynchronous resolution ([#85](https://github.com/androidx/media/issues/85)). - * Add `DefaultNotificationProvider.Builder` to build - `DefaultNotificationProvider` instances. The builder can configure the - notification ID, the notification channel ID and the notification + * Add `DefaultMediaNotificationProvider.Builder` to build + `DefaultMediaNotificationProvider` instances. The builder can configure + the notification ID, the notification channel ID and the notification channel name used by the provider. Also, add method - `DefaultNotificationProvider.setSmallIcon(int)` to set the notifications - small icon ([#104](https://github.com/androidx/media/issues/104)). + `DefaultMediaNotificationProvider.setSmallIcon(int)` to set the + notifications small icon + ([#104](https://github.com/androidx/media/issues/104)). * Ensure commands sent before `MediaController.release()` are not dropped ([#99](https://github.com/androidx/media/issues/99)). * `SimpleBitmapLoader` can load bitmap from `file://` URIs @@ -104,10 +105,9 @@ * Remove deprecated symbols: * Remove `DefaultAudioSink` constructors, use `DefaultAudioSink.Builder` instead. -* Remove deprecated symbols: - * Remove `Transformer.Builder.setOutputMimeType(String)`. This feature - has been removed. The MIME type will always be MP4 when the default - muxer is used. + * Remove `Transformer.Builder.setOutputMimeType(String)`. This feature has + been removed. The MIME type will always be MP4 when the default muxer is + used. ### 1.0.0-beta02 (2022-07-21) From 8aa2198667303e04f6af6f117c2cc5d7094f6e6f Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 19 Oct 2022 13:08:03 +0000 Subject: [PATCH 333/422] Effect: Remove unnecessary "this" qualifier `transformationMatrix` is not ambiguous, as there's no other local transformationMatrix variable nearby. PiperOrigin-RevId: 482184602 (cherry picked from commit e39826a8db9f478b56403c8afe7b73b88f57c1c2) --- .../androidx/media3/effect/ScaleToFitTransformation.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java b/libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java index c6d3a333e6a..21599cfbbc3 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ScaleToFitTransformation.java @@ -99,9 +99,9 @@ public ScaleToFitTransformation build() { * @param rotationDegrees How much to rotate the frame counterclockwise, in degrees. */ private ScaleToFitTransformation(float scaleX, float scaleY, float rotationDegrees) { - this.transformationMatrix = new Matrix(); - this.transformationMatrix.postScale(scaleX, scaleY); - this.transformationMatrix.postRotate(rotationDegrees); + transformationMatrix = new Matrix(); + transformationMatrix.postScale(scaleX, scaleY); + transformationMatrix.postRotate(rotationDegrees); } @Override From 0727b1f6f2db046aa12a3970eca1566f8a2757ad Mon Sep 17 00:00:00 2001 From: christosts Date: Wed, 19 Oct 2022 13:41:26 +0000 Subject: [PATCH 334/422] Use Service.stopForeground(int) on API 24+ The MediaNotficationManager stops the service from the foreground calling Service.stopForeground(boolean) which is deprecated in API 33. This change calls Service.stopForeground(int), which was added in API 24. #minor-release PiperOrigin-RevId: 482190332 (cherry picked from commit 601eaba7a6dcce963d5a3547d939ea41404ad3fe) --- .../session/MediaNotificationManager.java | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java b/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java index 4ed2e8f52c3..679888d52e0 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java @@ -15,6 +15,8 @@ */ package androidx.media3.session; +import static android.app.Service.STOP_FOREGROUND_DETACH; +import static android.app.Service.STOP_FOREGROUND_REMOVE; import static androidx.media3.common.util.Assertions.checkStateNotNull; import android.app.Notification; @@ -229,10 +231,14 @@ private void maybeStopForegroundService(boolean removeNotifications) { } } // To hide the notification on all API levels, we need to call both Service.stopForeground(true) - // and notificationManagerCompat.cancel(notificationId). For pre-L devices, we must also call - // Service.stopForeground(true) anyway as a workaround that prevents the media notification from - // being undismissable. - mediaSessionService.stopForeground(removeNotifications || Util.SDK_INT < 21); + // and notificationManagerCompat.cancel(notificationId). + if (Util.SDK_INT >= 24) { + Api24.stopForeground(mediaSessionService, removeNotifications); + } else { + // For pre-L devices, we must call Service.stopForeground(true) anyway as a workaround + // that prevents the media notification from being undismissable. + mediaSessionService.stopForeground(removeNotifications || Util.SDK_INT < 21); + } if (removeNotifications && mediaNotification != null) { notificationManagerCompat.cancel(mediaNotification.notificationId); // Update the notification count so that if a pending notification callback arrives (e.g., a @@ -301,6 +307,17 @@ public void onDisconnected(MediaController controller) { } } + @RequiresApi(24) + private static class Api24 { + + @DoNotInline + public static void stopForeground(MediaSessionService service, boolean removeNotification) { + service.stopForeground(removeNotification ? STOP_FOREGROUND_REMOVE : STOP_FOREGROUND_DETACH); + } + + private Api24() {} + } + @RequiresApi(29) private static class Api29 { From b0ad5c268150f67159896cd2a177799a341c24e5 Mon Sep 17 00:00:00 2001 From: kimvde Date: Wed, 19 Oct 2022 14:31:06 +0000 Subject: [PATCH 335/422] Make Muxer public The reason for making the Muxer public is that we want to add an option to disable or configure the timer that will throw when the muxer doesn't receive any data for a given period of time. PiperOrigin-RevId: 482199360 (cherry picked from commit cf14d0687db5b8c0ea9edeae67a0b91affacbcd8) --- .../androidx/media3/transformer/Muxer.java | 16 ++++++---- .../media3/transformer/MuxerWrapper.java | 4 +-- .../media3/transformer/Transformer.java | 29 +++++++++---------- 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java index 631ce56699b..b25270942fe 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java @@ -19,6 +19,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; import java.io.IOException; import java.nio.ByteBuffer; @@ -26,17 +27,18 @@ /** * Abstracts media muxing operations. * - *

      Query whether {@linkplain Factory#getSupportedSampleMimeTypes(int)} sample MIME types} are + *

      Query whether {@linkplain Factory#getSupportedSampleMimeTypes(int) sample MIME types} are * supported and {@linkplain #addTrack(Format) add all tracks}, then {@linkplain * #writeSampleData(int, ByteBuffer, boolean, long) write sample data} to mux samples. Once any * sample data has been written, it is not possible to add tracks. After writing all sample data, * {@linkplain #release(boolean) release} the instance to finish writing to the output and return * any resources to the system. */ -/* package */ interface Muxer { +@UnstableApi +public interface Muxer { /** Thrown when a muxing failure occurs. */ - /* package */ final class MuxerException extends Exception { + final class MuxerException extends Exception { /** * Creates an instance. * @@ -91,7 +93,7 @@ interface Factory { * Writes the specified sample. * * @param trackIndex The index of the track, previously returned by {@link #addTrack(Format)}. - * @param data Buffer containing the sample data to write to the container. + * @param data A buffer containing the sample data to write to the container. * @param isKeyFrame Whether the sample is a key frame. * @param presentationTimeUs The presentation time of the sample in microseconds. * @throws MuxerException If the muxer fails to write the sample. @@ -100,11 +102,13 @@ void writeSampleData(int trackIndex, ByteBuffer data, boolean isKeyFrame, long p throws MuxerException; /** - * Releases any resources associated with muxing. + * Finishes writing the output and releases any resources associated with muxing. + * + *

      The muxer cannot be used anymore once this method has been called. * * @param forCancellation Whether the reason for releasing the resources is the transformation * cancellation. - * @throws MuxerException If the muxer fails to stop or release resources and {@code + * @throws MuxerException If the muxer fails to finish writing the output and {@code * forCancellation} is false. */ void release(boolean forCancellation) throws MuxerException; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index 32f6bf99a7d..611e469b069 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -184,13 +184,13 @@ public void endTrack(@C.TrackType int trackType) { } /** - * Releases any resources associated with muxing. + * Finishes writing the output and releases any resources associated with muxing. * *

      The muxer cannot be used anymore once this method has been called. * * @param forCancellation Whether the reason for releasing the resources is the transformation * cancellation. - * @throws Muxer.MuxerException If the underlying muxer fails to stop and to release resources and + * @throws Muxer.MuxerException If the underlying muxer fails to finish writing the output and * {@code forCancellation} is false. */ public void release(boolean forCancellation) throws Muxer.MuxerException { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 98362239970..75c57ef4235 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -373,6 +373,20 @@ public Builder setDecoderFactory(Codec.DecoderFactory decoderFactory) { return this; } + /** + * Sets the factory for muxers that write the media container. + * + *

      The default value is a {@link DefaultMuxer.Factory}. + * + * @param muxerFactory A {@link Muxer.Factory}. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setMuxerFactory(Muxer.Factory muxerFactory) { + this.muxerFactory = muxerFactory; + return this; + } + /** * Sets a provider for views to show diagnostic information (if available) during * transformation. @@ -407,21 +421,6 @@ public Builder setDebugViewProvider(DebugViewProvider debugViewProvider) { return this; } - /** - * Sets the factory for muxers that write the media container. - * - *

      The default value is a {@link DefaultMuxer.Factory}. - * - * @param muxerFactory A {@link Muxer.Factory}. - * @return This builder. - */ - @CanIgnoreReturnValue - @VisibleForTesting - /* package */ Builder setMuxerFactory(Muxer.Factory muxerFactory) { - this.muxerFactory = muxerFactory; - return this; - } - /** * Builds a {@link Transformer} instance. * From ebc6b67e720dba923ede47ab4cd69d7b72445daf Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 19 Oct 2022 16:04:41 +0000 Subject: [PATCH 336/422] HDR: Support RGBA_1010102 in GlUtil as a parameter. Make it easier to support use of RGBA_101012 rather than RGBA_8888 for EGL contexts, displays, and surfaces. This tangentially supports adding HDR tests, by slightly simplifying the color selection logic we'd have to add in HDR tests. PiperOrigin-RevId: 482219428 (cherry picked from commit bb215857e5fd0768ce53c7c61ba91c48dab14bd2) --- .../androidx/media3/common/util/GlUtil.java | 123 ++++++++++-------- .../media3/effect/ContrastPixelTest.java | 4 +- .../androidx/media3/effect/CropPixelTest.java | 4 +- .../media3/effect/HslAdjustmentPixelTest.java | 4 +- .../MatrixTextureProcessorPixelTest.java | 4 +- .../media3/effect/PresentationPixelTest.java | 4 +- .../media3/effect/RgbAdjustmentPixelTest.java | 4 +- .../media3/effect/RgbFilterPixelTest.java | 4 +- .../effect/SingleColorLutPixelTest.java | 4 +- .../FinalMatrixTextureProcessorWrapper.java | 25 ++-- .../effect/GlEffectsFrameProcessor.java | 18 +-- 11 files changed, 102 insertions(+), 96 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index 2e2c149ef38..b260925f705 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -16,6 +16,7 @@ package androidx.media3.common.util; import static android.opengl.GLU.gluErrorString; +import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkState; import android.content.Context; @@ -35,6 +36,7 @@ import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.FloatBuffer; +import java.util.Arrays; import java.util.List; import javax.microedition.khronos.egl.EGL10; @@ -57,15 +59,7 @@ public GlException(String message) { /** Length of the normalized device coordinate (NDC) space, which spans from -1 to 1. */ public static final float LENGTH_NDC = 2f; - // https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_protected_content.txt - private static final String EXTENSION_PROTECTED_CONTENT = "EGL_EXT_protected_content"; - // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_surfaceless_context.txt - private static final String EXTENSION_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context"; - // https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt - private static final String EXTENSION_YUV_TARGET = "GL_EXT_YUV_target"; - - private static final int[] EGL_WINDOW_SURFACE_ATTRIBUTES_NONE = new int[] {EGL14.EGL_NONE}; - private static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_8888 = + public static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_8888 = new int[] { EGL14.EGL_RENDERABLE_TYPE, EGL14.EGL_OPENGL_ES2_BIT, EGL14.EGL_RED_SIZE, /* redSize= */ 8, @@ -76,7 +70,7 @@ public GlException(String message) { EGL14.EGL_STENCIL_SIZE, /* stencilSize= */ 0, EGL14.EGL_NONE }; - private static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_1010102 = + public static final int[] EGL_CONFIG_ATTRIBUTES_RGBA_1010102 = new int[] { EGL14.EGL_RENDERABLE_TYPE, EGL14.EGL_OPENGL_ES2_BIT, EGL14.EGL_RED_SIZE, /* redSize= */ 10, @@ -88,6 +82,15 @@ public GlException(String message) { EGL14.EGL_NONE }; + // https://www.khronos.org/registry/EGL/extensions/EXT/EGL_EXT_protected_content.txt + private static final String EXTENSION_PROTECTED_CONTENT = "EGL_EXT_protected_content"; + // https://www.khronos.org/registry/EGL/extensions/KHR/EGL_KHR_surfaceless_context.txt + private static final String EXTENSION_SURFACELESS_CONTEXT = "EGL_KHR_surfaceless_context"; + // https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_YUV_target.txt + private static final String EXTENSION_YUV_TARGET = "GL_EXT_YUV_target"; + + private static final int[] EGL_WINDOW_SURFACE_ATTRIBUTES_NONE = new int[] {EGL14.EGL_NONE}; + /** Class only contains static methods. */ private GlUtil() {} @@ -187,12 +190,7 @@ public static boolean isYuvTargetExtensionSupported() { try { EGLDisplay eglDisplay = createEglDisplay(); EGLContext eglContext = createEglContext(eglDisplay); - if (GlUtil.isSurfacelessContextExtensionSupported()) { - focusEglSurface( - eglDisplay, eglContext, EGL14.EGL_NO_SURFACE, /* width= */ 1, /* height= */ 1); - } else { - focusPlaceholderEglSurface(eglContext, eglDisplay); - } + focusPlaceholderEglSurface(eglContext, eglDisplay); glExtensions = GLES20.glGetString(GLES20.GL_EXTENSIONS); destroyEglContext(eglDisplay, eglContext); } catch (GlException e) { @@ -211,25 +209,45 @@ public static EGLDisplay createEglDisplay() throws GlException { return Api17.createEglDisplay(); } - /** Returns a new {@link EGLContext} for the specified {@link EGLDisplay}. */ + /** + * Creates a new {@link EGLContext} for the specified {@link EGLDisplay}. + * + *

      Configures the {@link EGLContext} with {@link #EGL_CONFIG_ATTRIBUTES_RGBA_8888} and OpenGL + * ES 2.0. + * + * @param eglDisplay The {@link EGLDisplay} to create an {@link EGLContext} for. + */ @RequiresApi(17) public static EGLContext createEglContext(EGLDisplay eglDisplay) throws GlException { - return Api17.createEglContext(eglDisplay, /* version= */ 2, EGL_CONFIG_ATTRIBUTES_RGBA_8888); + return createEglContext(eglDisplay, EGL_CONFIG_ATTRIBUTES_RGBA_8888); } /** - * Returns a new {@link EGLContext} for the specified {@link EGLDisplay}, requesting ES 3 and an - * RGBA 1010102 config. + * Creates a new {@link EGLContext} for the specified {@link EGLDisplay}. + * + * @param eglDisplay The {@link EGLDisplay} to create an {@link EGLContext} for. + * @param configAttributes The attributes to configure EGL with. Accepts either {@link + * #EGL_CONFIG_ATTRIBUTES_RGBA_1010102}, which will request OpenGL ES 3.0, or {@link + * #EGL_CONFIG_ATTRIBUTES_RGBA_8888}, which will request OpenGL ES 2.0. */ @RequiresApi(17) - public static EGLContext createEglContextEs3Rgba1010102(EGLDisplay eglDisplay) + public static EGLContext createEglContext(EGLDisplay eglDisplay, int[] configAttributes) throws GlException { - return Api17.createEglContext(eglDisplay, /* version= */ 3, EGL_CONFIG_ATTRIBUTES_RGBA_1010102); + checkArgument( + Arrays.equals(configAttributes, EGL_CONFIG_ATTRIBUTES_RGBA_8888) + || Arrays.equals(configAttributes, EGL_CONFIG_ATTRIBUTES_RGBA_1010102)); + return Api17.createEglContext( + eglDisplay, + /* version= */ Arrays.equals(configAttributes, EGL_CONFIG_ATTRIBUTES_RGBA_1010102) ? 3 : 2, + configAttributes); } /** * Returns a new {@link EGLSurface} wrapping the specified {@code surface}. * + *

      The {@link EGLSurface} will configure with {@link #EGL_CONFIG_ATTRIBUTES_RGBA_8888} and + * OpenGL ES 2.0. + * * @param eglDisplay The {@link EGLDisplay} to attach the surface to. * @param surface The surface to wrap; must be a surface, surface texture or surface holder. */ @@ -240,19 +258,18 @@ public static EGLSurface getEglSurface(EGLDisplay eglDisplay, Object surface) th } /** - * Returns a new RGBA 1010102 {@link EGLSurface} wrapping the specified {@code surface}. + * Returns a new {@link EGLSurface} wrapping the specified {@code surface}. * * @param eglDisplay The {@link EGLDisplay} to attach the surface to. * @param surface The surface to wrap; must be a surface, surface texture or surface holder. + * @param configAttributes The attributes to configure EGL with. Accepts {@link + * #EGL_CONFIG_ATTRIBUTES_RGBA_1010102} and {@link #EGL_CONFIG_ATTRIBUTES_RGBA_8888}. */ @RequiresApi(17) - public static EGLSurface getEglSurfaceRgba1010102(EGLDisplay eglDisplay, Object surface) - throws GlException { + public static EGLSurface getEglSurface( + EGLDisplay eglDisplay, Object surface, int[] configAttributes) throws GlException { return Api17.getEglSurface( - eglDisplay, - surface, - EGL_CONFIG_ATTRIBUTES_RGBA_1010102, - EGL_WINDOW_SURFACE_ATTRIBUTES_NONE); + eglDisplay, surface, configAttributes, EGL_WINDOW_SURFACE_ATTRIBUTES_NONE); } /** @@ -277,48 +294,46 @@ private static EGLSurface createPbufferSurface( } /** - * Returns a placeholder {@link EGLSurface} to use when reading and writing to the surface is not - * required. + * Creates and focuses a placeholder {@link EGLSurface}. * - * @param eglDisplay The {@link EGLDisplay} to attach the surface to. - * @return {@link EGL14#EGL_NO_SURFACE} if supported and a 1x1 pixel buffer surface otherwise. - */ - @RequiresApi(17) - public static EGLSurface createPlaceholderEglSurface(EGLDisplay eglDisplay) throws GlException { - return isSurfacelessContextExtensionSupported() - ? EGL14.EGL_NO_SURFACE - : createPbufferSurface( - eglDisplay, /* width= */ 1, /* height= */ 1, EGL_CONFIG_ATTRIBUTES_RGBA_8888); - } - - /** - * Creates and focuses a new {@link EGLSurface} wrapping a 1x1 pixel buffer. + *

      This makes a {@link EGLContext} current when reading and writing to a surface is not + * required, configured with {@link #EGL_CONFIG_ATTRIBUTES_RGBA_8888}. * * @param eglContext The {@link EGLContext} to make current. * @param eglDisplay The {@link EGLDisplay} to attach the surface to. + * @return {@link EGL14#EGL_NO_SURFACE} if supported and a 1x1 pixel buffer surface otherwise. */ @RequiresApi(17) - public static void focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay eglDisplay) + public static EGLSurface focusPlaceholderEglSurface(EGLContext eglContext, EGLDisplay eglDisplay) throws GlException { - EGLSurface eglSurface = - createPbufferSurface( - eglDisplay, /* width= */ 1, /* height= */ 1, EGL_CONFIG_ATTRIBUTES_RGBA_8888); - focusEglSurface(eglDisplay, eglContext, eglSurface, /* width= */ 1, /* height= */ 1); + return createFocusedPlaceholderEglSurface( + eglContext, eglDisplay, EGL_CONFIG_ATTRIBUTES_RGBA_8888); } /** - * Creates and focuses a new RGBA 1010102 {@link EGLSurface} wrapping a 1x1 pixel buffer. + * Creates and focuses a placeholder {@link EGLSurface}. + * + *

      This makes a {@link EGLContext} current when reading and writing to a surface is not + * required. * * @param eglContext The {@link EGLContext} to make current. * @param eglDisplay The {@link EGLDisplay} to attach the surface to. + * @param configAttributes The attributes to configure EGL with. Accepts {@link + * #EGL_CONFIG_ATTRIBUTES_RGBA_1010102} and {@link #EGL_CONFIG_ATTRIBUTES_RGBA_8888}. + * @return A placeholder {@link EGLSurface} that has been focused to allow rendering to take + * place, or {@link EGL14#EGL_NO_SURFACE} if the current context supports rendering without a + * surface. */ @RequiresApi(17) - public static void focusPlaceholderEglSurfaceRgba1010102( - EGLContext eglContext, EGLDisplay eglDisplay) throws GlException { + public static EGLSurface createFocusedPlaceholderEglSurface( + EGLContext eglContext, EGLDisplay eglDisplay, int[] configAttributes) throws GlException { EGLSurface eglSurface = - createPbufferSurface( - eglDisplay, /* width= */ 1, /* height= */ 1, EGL_CONFIG_ATTRIBUTES_RGBA_1010102); + isSurfacelessContextExtensionSupported() + ? EGL14.EGL_NO_SURFACE + : createPbufferSurface(eglDisplay, /* width= */ 1, /* height= */ 1, configAttributes); + focusEglSurface(eglDisplay, eglContext, eglSurface, /* width= */ 1, /* height= */ 1); + return eglSurface; } /** diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java index 69cb2daae20..229a9b9cf46 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/ContrastPixelTest.java @@ -79,13 +79,11 @@ public class ContrastPixelTest { public void createGlObjects() throws Exception { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); } diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java index f37d265a2fe..c89d1fa9728 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/CropPixelTest.java @@ -72,11 +72,11 @@ public final class CropPixelTest { public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); + Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); } diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/HslAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/HslAdjustmentPixelTest.java index f4b46f76e9c..aac4efe92f4 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/HslAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/HslAdjustmentPixelTest.java @@ -84,11 +84,11 @@ public final class HslAdjustmentPixelTest { public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); + Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); int outputTexId = diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java index 464efdac412..d6e32d56990 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/MatrixTextureProcessorPixelTest.java @@ -72,11 +72,11 @@ public final class MatrixTextureProcessorPixelTest { public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + EGLSurface placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); + Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - EGLSurface placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); int outputTexId = GlUtil.createTexture(inputWidth, inputHeight, /* useHighPrecisionColorComponents= */ false); diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java index 89a31e16753..d97cbf8fead 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/PresentationPixelTest.java @@ -81,11 +81,11 @@ public final class PresentationPixelTest { public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); + Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); } diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java index 940a42e57a2..b58ba9fd42c 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbAdjustmentPixelTest.java @@ -78,11 +78,11 @@ public final class RgbAdjustmentPixelTest { public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); + Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); int outputTexId = diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java index 2ca88cfc1da..1e85afd1b96 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/RgbFilterPixelTest.java @@ -73,11 +73,11 @@ public final class RgbFilterPixelTest { public void createGlObjects() throws IOException, GlUtil.GlException { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); + Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); int outputTexId = diff --git a/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java b/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java index cee68117363..ec7f0781e08 100644 --- a/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java +++ b/libraries/effect/src/androidTest/java/androidx/media3/effect/SingleColorLutPixelTest.java @@ -78,13 +78,11 @@ public class SingleColorLutPixelTest { public void createGlObjects() throws Exception { eglDisplay = GlUtil.createEglDisplay(); eglContext = GlUtil.createEglContext(eglDisplay); + placeholderEglSurface = GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); Bitmap inputBitmap = readBitmap(ORIGINAL_PNG_ASSET_PATH); inputWidth = inputBitmap.getWidth(); inputHeight = inputBitmap.getHeight(); - - placeholderEglSurface = GlUtil.createPlaceholderEglSurface(eglDisplay); - GlUtil.focusEglSurface(eglDisplay, eglContext, placeholderEglSurface, inputWidth, inputHeight); inputTexId = createGlTextureFromBitmap(inputBitmap); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java index 49af8e1e675..6304e493abb 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java @@ -317,11 +317,14 @@ private synchronized boolean ensureConfigured(int inputWidth, int inputHeight) @Nullable EGLSurface outputEglSurface = this.outputEglSurface; if (outputEglSurface == null) { boolean colorInfoIsHdr = ColorInfo.isTransferHdr(colorInfo); - if (colorInfoIsHdr) { - outputEglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, outputSurfaceInfo.surface); - } else { - outputEglSurface = GlUtil.getEglSurface(eglDisplay, outputSurfaceInfo.surface); - } + + outputEglSurface = + GlUtil.getEglSurface( + eglDisplay, + outputSurfaceInfo.surface, + colorInfoIsHdr + ? GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_1010102 + : GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_8888); @Nullable SurfaceView debugSurfaceView = @@ -443,11 +446,13 @@ public synchronized void maybeRenderToSurfaceView(FrameProcessingTask renderingT } if (eglSurface == null) { - if (useHdr) { - eglSurface = GlUtil.getEglSurfaceRgba1010102(eglDisplay, surface); - } else { - eglSurface = GlUtil.getEglSurface(eglDisplay, surface); - } + eglSurface = + GlUtil.getEglSurface( + eglDisplay, + surface, + useHdr + ? GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_1010102 + : GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_8888); } EGLSurface eglSurface = this.eglSurface; GlUtil.focusEglSurface(eglDisplay, eglContext, eglSurface, width, height); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java index ac90870d66e..943e3eb1ff8 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/GlEffectsFrameProcessor.java @@ -21,7 +21,6 @@ import static com.google.common.collect.Iterables.getLast; import android.content.Context; -import android.opengl.EGL14; import android.opengl.EGLContext; import android.opengl.EGLDisplay; import android.view.Surface; @@ -122,19 +121,10 @@ private static GlEffectsFrameProcessor createOpenGlObjectsAndFrameProcessor( // configure based on the color info from the decoder output media format instead. boolean useHdr = ColorInfo.isTransferHdr(colorInfo); EGLDisplay eglDisplay = GlUtil.createEglDisplay(); - EGLContext eglContext = - useHdr - ? GlUtil.createEglContextEs3Rgba1010102(eglDisplay) - : GlUtil.createEglContext(eglDisplay); - - if (GlUtil.isSurfacelessContextExtensionSupported()) { - GlUtil.focusEglSurface( - eglDisplay, eglContext, EGL14.EGL_NO_SURFACE, /* width= */ 1, /* height= */ 1); - } else if (useHdr) { - GlUtil.focusPlaceholderEglSurfaceRgba1010102(eglContext, eglDisplay); - } else { - GlUtil.focusPlaceholderEglSurface(eglContext, eglDisplay); - } + int[] configAttributes = + useHdr ? GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_1010102 : GlUtil.EGL_CONFIG_ATTRIBUTES_RGBA_8888; + EGLContext eglContext = GlUtil.createEglContext(eglDisplay, configAttributes); + GlUtil.createFocusedPlaceholderEglSurface(eglContext, eglDisplay, configAttributes); ImmutableList textureProcessors = getGlTextureProcessorsForGlEffects( From b3cbebb036afc3d670e81e4d7053035138b06bba Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 19 Oct 2022 16:45:30 +0000 Subject: [PATCH 337/422] Remove leading space from RELEASENOTES.md PiperOrigin-RevId: 482229341 (cherry picked from commit f9a59ab3b51f56f2b29355180518c5e990b01b2e) --- RELEASENOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 34fd7a02e62..a535921578a 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,4 +1,4 @@ - Release notes +Release notes ### Unreleased changes From 656753b809ba54e8b7a4b99a3843e89eda56f208 Mon Sep 17 00:00:00 2001 From: Googler Date: Wed, 19 Oct 2022 16:53:37 +0000 Subject: [PATCH 338/422] Corrected ordering of javadoc params PiperOrigin-RevId: 482231370 (cherry picked from commit 2c61dd9c95e64d0e137d1a4775cd23bc9c0ac42f) --- .../src/main/java/androidx/media3/common/util/GlUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index b260925f705..a9a557ef6b7 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -551,10 +551,10 @@ private static int generateTexture() throws GlException { * Binds the texture of the given type with default configuration of GL_LINEAR filtering and * GL_CLAMP_TO_EDGE wrapping. * - * @param texId The texture identifier. * @param textureTarget The target to which the texture is bound, e.g. {@link * GLES20#GL_TEXTURE_2D} for a two-dimensional texture or {@link * GLES11Ext#GL_TEXTURE_EXTERNAL_OES} for an external texture. + * @param texId The texture identifier. */ public static void bindTexture(int textureTarget, int texId) throws GlException { GLES20.glBindTexture(textureTarget, texId); From f10021ff7f15a497063d991c5c100d4120106156 Mon Sep 17 00:00:00 2001 From: kimvde Date: Thu, 20 Oct 2022 09:36:28 +0000 Subject: [PATCH 339/422] Remove muxerFactory dependency on playerListener This listener will need to be passed to the MuxerWrapper to throw when the Transformer is stuck. PiperOrigin-RevId: 482433552 (cherry picked from commit e6d5595545ac4e0715b8b914a9a4b4a2757911d7) --- .../media3/transformer/Transformer.java | 232 +++++++++--------- 1 file changed, 115 insertions(+), 117 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 75c57ef4235..8f5fa0fda48 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -104,19 +104,19 @@ public static final class Builder { private final Context context; // Optional fields. - private MediaSource.@MonotonicNonNull Factory mediaSourceFactory; - private Muxer.Factory muxerFactory; - private boolean removeAudio; - private boolean removeVideo; private TransformationRequest transformationRequest; private ImmutableList videoEffects; - private FrameProcessor.Factory frameProcessorFactory; + private boolean removeAudio; + private boolean removeVideo; private ListenerSet listeners; - private DebugViewProvider debugViewProvider; + private MediaSource.@MonotonicNonNull Factory mediaSourceFactory; + private Codec.DecoderFactory decoderFactory; + private Codec.EncoderFactory encoderFactory; + private FrameProcessor.Factory frameProcessorFactory; + private Muxer.Factory muxerFactory; private Looper looper; + private DebugViewProvider debugViewProvider; private Clock clock; - private Codec.EncoderFactory encoderFactory; - private Codec.DecoderFactory decoderFactory; /** * Creates a builder with default values. @@ -125,32 +125,32 @@ public static final class Builder { */ public Builder(Context context) { this.context = context.getApplicationContext(); + transformationRequest = new TransformationRequest.Builder().build(); + videoEffects = ImmutableList.of(); + decoderFactory = new DefaultDecoderFactory(this.context); + encoderFactory = new DefaultEncoderFactory.Builder(this.context).build(); + frameProcessorFactory = new GlEffectsFrameProcessor.Factory(); muxerFactory = new DefaultMuxer.Factory(); looper = Util.getCurrentOrMainLooper(); + debugViewProvider = DebugViewProvider.NONE; clock = Clock.DEFAULT; listeners = new ListenerSet<>(looper, clock, (listener, flags) -> {}); - encoderFactory = new DefaultEncoderFactory.Builder(this.context).build(); - decoderFactory = new DefaultDecoderFactory(this.context); - debugViewProvider = DebugViewProvider.NONE; - transformationRequest = new TransformationRequest.Builder().build(); - videoEffects = ImmutableList.of(); - frameProcessorFactory = new GlEffectsFrameProcessor.Factory(); } /** Creates a builder with the values of the provided {@link Transformer}. */ private Builder(Transformer transformer) { this.context = transformer.context; - this.mediaSourceFactory = transformer.mediaSourceFactory; - this.muxerFactory = transformer.muxerFactory; - this.removeAudio = transformer.removeAudio; - this.removeVideo = transformer.removeVideo; this.transformationRequest = transformer.transformationRequest; this.videoEffects = transformer.videoEffects; - this.frameProcessorFactory = transformer.frameProcessorFactory; + this.removeAudio = transformer.removeAudio; + this.removeVideo = transformer.removeVideo; this.listeners = transformer.listeners; - this.looper = transformer.looper; - this.encoderFactory = transformer.encoderFactory; + this.mediaSourceFactory = transformer.mediaSourceFactory; this.decoderFactory = transformer.decoderFactory; + this.encoderFactory = transformer.encoderFactory; + this.frameProcessorFactory = transformer.frameProcessorFactory; + this.muxerFactory = transformer.muxerFactory; + this.looper = transformer.looper; this.debugViewProvider = transformer.debugViewProvider; this.clock = transformer.clock; } @@ -194,41 +194,6 @@ public Builder setVideoEffects(List effects) { return this; } - /** - * Sets the {@link FrameProcessor.Factory} for the {@link FrameProcessor} to use when applying - * {@linkplain Effect effects} to the video frames. - * - *

      This factory will be used to create the {@link FrameProcessor} used for applying the - * {@link Effect} instances passed to {@link #setVideoEffects(List)} and any additional {@link - * GlMatrixTransformation} instances derived from the {@link TransformationRequest} set using - * {@link #setTransformationRequest(TransformationRequest)}. - * - *

      The default is {@link GlEffectsFrameProcessor.Factory}. - * - * @param frameProcessorFactory The {@link FrameProcessor.Factory} to use. - * @return This builder. - */ - @CanIgnoreReturnValue - public Builder setFrameProcessorFactory(FrameProcessor.Factory frameProcessorFactory) { - this.frameProcessorFactory = frameProcessorFactory; - return this; - } - - /** - * Sets the {@link MediaSource.Factory} to be used to retrieve the inputs to transform. - * - *

      The default value is a {@link DefaultMediaSourceFactory} built with the context provided - * in {@linkplain #Builder(Context) the constructor}. - * - * @param mediaSourceFactory A {@link MediaSource.Factory}. - * @return This builder. - */ - @CanIgnoreReturnValue - public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { - this.mediaSourceFactory = mediaSourceFactory; - return this; - } - /** * Sets whether to remove the audio from the output. * @@ -329,19 +294,31 @@ public Builder removeAllListeners() { } /** - * Sets the {@link Looper} that must be used for all calls to the transformer and that is used - * to call listeners on. + * Sets the {@link MediaSource.Factory} to be used to retrieve the inputs to transform. * - *

      The default value is the Looper of the thread that this builder was created on, or if that - * thread does not have a Looper, the Looper of the application's main thread. + *

      The default value is a {@link DefaultMediaSourceFactory} built with the context provided + * in {@linkplain #Builder(Context) the constructor}. * - * @param looper A {@link Looper}. + * @param mediaSourceFactory A {@link MediaSource.Factory}. * @return This builder. */ @CanIgnoreReturnValue - public Builder setLooper(Looper looper) { - this.looper = looper; - this.listeners = listeners.copy(looper, (listener, flags) -> {}); + public Builder setMediaSourceFactory(MediaSource.Factory mediaSourceFactory) { + this.mediaSourceFactory = mediaSourceFactory; + return this; + } + + /** + * Sets the {@link Codec.DecoderFactory} that will be used by the transformer. + * + *

      The default value is a {@link DefaultDecoderFactory} instance. + * + * @param decoderFactory The {@link Codec.DecoderFactory} instance. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setDecoderFactory(Codec.DecoderFactory decoderFactory) { + this.decoderFactory = decoderFactory; return this; } @@ -360,16 +337,22 @@ public Builder setEncoderFactory(Codec.EncoderFactory encoderFactory) { } /** - * Sets the {@link Codec.DecoderFactory} that will be used by the transformer. + * Sets the {@link FrameProcessor.Factory} for the {@link FrameProcessor} to use when applying + * {@linkplain Effect effects} to the video frames. * - *

      The default value is a {@link DefaultDecoderFactory} instance. + *

      This factory will be used to create the {@link FrameProcessor} used for applying the + * {@link Effect} instances passed to {@link #setVideoEffects(List)} and any additional {@link + * GlMatrixTransformation} instances derived from the {@link TransformationRequest} set using + * {@link #setTransformationRequest(TransformationRequest)}. * - * @param decoderFactory The {@link Codec.DecoderFactory} instance. + *

      The default is {@link GlEffectsFrameProcessor.Factory}. + * + * @param frameProcessorFactory The {@link FrameProcessor.Factory} to use. * @return This builder. */ @CanIgnoreReturnValue - public Builder setDecoderFactory(Codec.DecoderFactory decoderFactory) { - this.decoderFactory = decoderFactory; + public Builder setFrameProcessorFactory(FrameProcessor.Factory frameProcessorFactory) { + this.frameProcessorFactory = frameProcessorFactory; return this; } @@ -387,6 +370,23 @@ public Builder setMuxerFactory(Muxer.Factory muxerFactory) { return this; } + /** + * Sets the {@link Looper} that must be used for all calls to the transformer and that is used + * to call listeners on. + * + *

      The default value is the Looper of the thread that this builder was created on, or if that + * thread does not have a Looper, the Looper of the application's main thread. + * + * @param looper A {@link Looper}. + * @return This builder. + */ + @CanIgnoreReturnValue + public Builder setLooper(Looper looper) { + this.looper = looper; + this.listeners = listeners.copy(looper, (listener, flags) -> {}); + return this; + } + /** * Sets a provider for views to show diagnostic information (if available) during * transformation. @@ -434,6 +434,12 @@ public Transformer build() { // TODO(huangdarwin): Remove this checkNotNull after deprecated {@link #setContext(Context)} // is removed. checkNotNull(context); + if (transformationRequest.audioMimeType != null) { + checkSampleMimeType(transformationRequest.audioMimeType); + } + if (transformationRequest.videoMimeType != null) { + checkSampleMimeType(transformationRequest.videoMimeType); + } if (mediaSourceFactory == null) { DefaultExtractorsFactory defaultExtractorsFactory = new DefaultExtractorsFactory(); if (transformationRequest.flattenForSlowMotion) { @@ -441,27 +447,21 @@ public Transformer build() { } mediaSourceFactory = new DefaultMediaSourceFactory(context, defaultExtractorsFactory); } - if (transformationRequest.audioMimeType != null) { - checkSampleMimeType(transformationRequest.audioMimeType); - } - if (transformationRequest.videoMimeType != null) { - checkSampleMimeType(transformationRequest.videoMimeType); - } return new Transformer( context, - mediaSourceFactory, - muxerFactory, - removeAudio, - removeVideo, transformationRequest, videoEffects, - frameProcessorFactory, + removeAudio, + removeVideo, listeners, - looper, - clock, - encoderFactory, + mediaSourceFactory, decoderFactory, - debugViewProvider); + encoderFactory, + frameProcessorFactory, + muxerFactory, + looper, + debugViewProvider, + clock); } private void checkSampleMimeType(String sampleMimeType) { @@ -556,20 +556,21 @@ default void onFallbackApplied( /** Indicates that there is no current transformation. */ public static final int PROGRESS_STATE_NO_TRANSFORMATION = 4; + @VisibleForTesting /* package */ final Codec.DecoderFactory decoderFactory; + @VisibleForTesting /* package */ final Codec.EncoderFactory encoderFactory; + private final Context context; - private final MediaSource.Factory mediaSourceFactory; - private final Muxer.Factory muxerFactory; - private final boolean removeAudio; - private final boolean removeVideo; private final TransformationRequest transformationRequest; private final ImmutableList videoEffects; + private final boolean removeAudio; + private final boolean removeVideo; + private final ListenerSet listeners; + private final MediaSource.Factory mediaSourceFactory; private final FrameProcessor.Factory frameProcessorFactory; + private final Muxer.Factory muxerFactory; private final Looper looper; - private final Clock clock; private final DebugViewProvider debugViewProvider; - private final ListenerSet listeners; - @VisibleForTesting /* package */ final Codec.DecoderFactory decoderFactory; - @VisibleForTesting /* package */ final Codec.EncoderFactory encoderFactory; + private final Clock clock; @Nullable private MuxerWrapper muxerWrapper; @Nullable private ExoPlayer player; @@ -580,34 +581,34 @@ default void onFallbackApplied( private Transformer( Context context, - MediaSource.Factory mediaSourceFactory, - Muxer.Factory muxerFactory, - boolean removeAudio, - boolean removeVideo, TransformationRequest transformationRequest, ImmutableList videoEffects, - FrameProcessor.Factory frameProcessorFactory, + boolean removeAudio, + boolean removeVideo, ListenerSet listeners, - Looper looper, - Clock clock, - Codec.EncoderFactory encoderFactory, + MediaSource.Factory mediaSourceFactory, Codec.DecoderFactory decoderFactory, - DebugViewProvider debugViewProvider) { + Codec.EncoderFactory encoderFactory, + FrameProcessor.Factory frameProcessorFactory, + Muxer.Factory muxerFactory, + Looper looper, + DebugViewProvider debugViewProvider, + Clock clock) { checkState(!removeAudio || !removeVideo, "Audio and video cannot both be removed."); this.context = context; - this.mediaSourceFactory = mediaSourceFactory; - this.muxerFactory = muxerFactory; - this.removeAudio = removeAudio; - this.removeVideo = removeVideo; this.transformationRequest = transformationRequest; this.videoEffects = videoEffects; - this.frameProcessorFactory = frameProcessorFactory; + this.removeAudio = removeAudio; + this.removeVideo = removeVideo; this.listeners = listeners; - this.looper = looper; - this.clock = clock; - this.encoderFactory = encoderFactory; + this.mediaSourceFactory = mediaSourceFactory; this.decoderFactory = decoderFactory; + this.encoderFactory = encoderFactory; + this.frameProcessorFactory = frameProcessorFactory; + this.muxerFactory = muxerFactory; + this.looper = looper; this.debugViewProvider = debugViewProvider; + this.clock = clock; progressState = PROGRESS_STATE_NO_TRANSFORMATION; } @@ -742,8 +743,7 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { DEFAULT_BUFFER_FOR_PLAYBACK_MS / 10, DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS / 10) .build(); - TransformerPlayerListener playerListener = - new TransformerPlayerListener(mediaItem, muxerWrapper, looper); + TransformerPlayerListener playerListener = new TransformerPlayerListener(mediaItem, looper); ExoPlayer.Builder playerBuilder = new ExoPlayer.Builder( context, @@ -973,13 +973,10 @@ public Renderer[] createRenderers( private final class TransformerPlayerListener implements Player.Listener, AsyncErrorListener { private final MediaItem mediaItem; - private final MuxerWrapper muxerWrapper; private final Handler handler; - public TransformerPlayerListener( - MediaItem mediaItem, MuxerWrapper muxerWrapper, Looper looper) { + public TransformerPlayerListener(MediaItem mediaItem, Looper looper) { this.mediaItem = mediaItem; - this.muxerWrapper = muxerWrapper; handler = new Handler(looper); } @@ -1012,7 +1009,7 @@ public void onTimelineChanged(Timeline timeline, int reason) { @Override public void onTracksChanged(Tracks tracks) { - if (muxerWrapper.getTrackCount() == 0) { + if (checkNotNull(muxerWrapper).getTrackCount() == 0) { handleTransformationEnded( TransformationException.createForUnexpected( new IllegalStateException("The output does not contain any tracks."))); @@ -1039,6 +1036,7 @@ private void handleTransformationException(TransformationException transformatio } private void handleTransformationEnded(@Nullable TransformationException exception) { + MuxerWrapper muxerWrapper = Transformer.this.muxerWrapper; @Nullable TransformationException resourceReleaseException = null; try { releaseResources(/* forCancellation= */ false); @@ -1064,7 +1062,7 @@ private void handleTransformationEnded(@Nullable TransformationException excepti } else { TransformationResult result = new TransformationResult.Builder() - .setDurationMs(muxerWrapper.getDurationMs()) + .setDurationMs(checkNotNull(muxerWrapper).getDurationMs()) .setAverageAudioBitrate(muxerWrapper.getTrackAverageBitrate(C.TRACK_TYPE_AUDIO)) .setAverageVideoBitrate(muxerWrapper.getTrackAverageBitrate(C.TRACK_TYPE_VIDEO)) .setVideoFrameCount(muxerWrapper.getTrackSampleCount(C.TRACK_TYPE_VIDEO)) From f56193bcd76f18c950f0c43c3abb7b9d91001a51 Mon Sep 17 00:00:00 2001 From: michaelkatz Date: Thu, 20 Oct 2022 12:20:14 +0000 Subject: [PATCH 340/422] Change areSizeAndRateSupported to use PerfomancePoint.covers PiperOrigin-RevId: 482461219 (cherry picked from commit b9c945459820ae264670aa2548fc747bb9402e97) --- .../exoplayer/mediacodec/MediaCodecInfo.java | 72 +++++++++++++++++-- 1 file changed, 68 insertions(+), 4 deletions(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfo.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfo.java index 745cdc5474c..72733a90e9a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfo.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecInfo.java @@ -28,6 +28,7 @@ import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITHOUT_RECONFIGURATION; import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITH_FLUSH; import static androidx.media3.exoplayer.DecoderReuseEvaluation.REUSE_RESULT_YES_WITH_RECONFIGURATION; +import static java.lang.annotation.ElementType.TYPE_USE; import android.graphics.Point; import android.media.MediaCodec; @@ -35,7 +36,10 @@ import android.media.MediaCodecInfo.CodecCapabilities; import android.media.MediaCodecInfo.CodecProfileLevel; import android.media.MediaCodecInfo.VideoCapabilities; +import android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint; import android.util.Pair; +import androidx.annotation.DoNotInline; +import androidx.annotation.IntDef; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import androidx.annotation.VisibleForTesting; @@ -48,6 +52,11 @@ import androidx.media3.exoplayer.DecoderReuseEvaluation; import androidx.media3.exoplayer.DecoderReuseEvaluation.DecoderDiscardReasons; import androidx.media3.exoplayer.DecoderReuseEvaluation.DecoderReuseResult; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.util.List; /** Information about a {@link MediaCodec} for a given mime type. */ @SuppressWarnings("InlinedApi") @@ -482,8 +491,6 @@ public DecoderReuseEvaluation canReuseCodec(Format oldFormat, Format newFormat) /** * Whether the decoder supports video with a given width, height and frame rate. * - *

      Must not be called if the device SDK version is less than 21. - * * @param width Width in pixels. * @param height Height in pixels. * @param frameRate Optional frame rate in frames per second. Ignored if set to {@link @@ -501,14 +508,28 @@ public boolean isVideoSizeAndRateSupportedV21(int width, int height, double fram logNoSupport("sizeAndRate.vCaps"); return false; } + + if (Util.SDK_INT >= 29) { + @PerformancePointCoverageResult + int evaluation = + Api29.areResolutionAndFrameRateCovered(videoCapabilities, width, height, frameRate); + if (evaluation == COVERAGE_RESULT_YES) { + return true; + } else if (evaluation == COVERAGE_RESULT_NO) { + logNoSupport("sizeAndRate.cover, " + width + "x" + height + "@" + frameRate); + return false; + } + // COVERAGE_RESULT_NO_EMPTY_LIST falls through to API 21+ code below + } + if (!areSizeAndRateSupportedV21(videoCapabilities, width, height, frameRate)) { if (width >= height || !needsRotatedVerticalResolutionWorkaround(name) || !areSizeAndRateSupportedV21(videoCapabilities, height, width, frameRate)) { - logNoSupport("sizeAndRate.support, " + width + "x" + height + "x" + frameRate); + logNoSupport("sizeAndRate.support, " + width + "x" + height + "@" + frameRate); return false; } - logAssumedSupport("sizeAndRate.rotated, " + width + "x" + height + "x" + frameRate); + logAssumedSupport("sizeAndRate.rotated, " + width + "x" + height + "@" + frameRate); } return true; } @@ -844,4 +865,47 @@ private static boolean needsProfileExcludedWorkaround(String mimeType, int profi && CodecProfileLevel.HEVCProfileMain10 == profile && ("sailfish".equals(Util.DEVICE) || "marlin".equals(Util.DEVICE)); } + + /** Possible outcomes of evaluating PerformancePoint coverage */ + @Documented + @Retention(RetentionPolicy.SOURCE) + @Target(TYPE_USE) + @IntDef({COVERAGE_RESULT_YES, COVERAGE_RESULT_NO, COVERAGE_RESULT_NO_EMPTY_LIST}) + private @interface PerformancePointCoverageResult {} + + /** The decoder has a PerformancePoint that covers the resolution and frame rate */ + private static final int COVERAGE_RESULT_YES = 2; + /** + * The decoder has at least one PerformancePoint, but none of them cover the resolution and frame + * rate + */ + private static final int COVERAGE_RESULT_NO = 1; + /** The VideoCapabilities does not contain any PerformancePoints */ + private static final int COVERAGE_RESULT_NO_EMPTY_LIST = 0; + + @RequiresApi(29) + private static final class Api29 { + @DoNotInline + public static @PerformancePointCoverageResult int areResolutionAndFrameRateCovered( + VideoCapabilities videoCapabilities, int width, int height, double frameRate) { + List performancePointList = + videoCapabilities.getSupportedPerformancePoints(); + if (performancePointList == null || performancePointList.isEmpty()) { + return COVERAGE_RESULT_NO_EMPTY_LIST; + } + + // Round frame rate down to to avoid situations where a range check in + // covers fails due to slightly exceeding the limits for a standard format + // (e.g., 1080p at 30 fps). [Internal ref: b/134706676] + PerformancePoint targetPerformancePoint = + new PerformancePoint(width, height, (int) frameRate); + + for (int i = 0; i < performancePointList.size(); i++) { + if (performancePointList.get(i).covers(targetPerformancePoint)) { + return COVERAGE_RESULT_YES; + } + } + return COVERAGE_RESULT_NO; + } + } } From 3cb1d603bfabf642019787be82323cc863527044 Mon Sep 17 00:00:00 2001 From: Rohit Singh Date: Mon, 24 Oct 2022 10:48:25 +0000 Subject: [PATCH 341/422] Merge pull request #10618 from vishnuchilakala:fix/do_not_send_content_complete_if_midroll_skipped PiperOrigin-RevId: 482481703 (cherry picked from commit faa4302219ad806d099ec231e913794cd8f4ac59) --- RELEASENOTES.md | 2 + .../media3/exoplayer/ima/AdTagLoader.java | 46 ++++++++++++------- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index a535921578a..ea2390e291d 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -91,6 +91,8 @@ Release notes * Add timeout for loading ad information to handle cases where the IMA SDK gets stuck loading an ad ([#10510](https://github.com/google/ExoPlayer/issues/10510)). + * Prevent skipping mid-roll ads when seeking to the end of the content + ([#10685](https://github.com/google/ExoPlayer/issues/10685)). * FFmpeg extension: * Add newly required flags to link FFmpeg libraries with NDK 23.1.7779620 and above ([#9933](https://github.com/google/ExoPlayer/issues/9933)). diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java index 6938b1fecec..91d91c2e236 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java @@ -18,6 +18,7 @@ import static androidx.media3.common.Player.COMMAND_GET_VOLUME; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; +import static androidx.media3.common.util.Util.msToUs; import static androidx.media3.exoplayer.ima.ImaUtil.BITRATE_UNSET; import static androidx.media3.exoplayer.ima.ImaUtil.TIMEOUT_UNSET; import static androidx.media3.exoplayer.ima.ImaUtil.getAdGroupTimesUsForCuePoints; @@ -63,6 +64,7 @@ import com.google.ads.interactivemedia.v3.api.player.AdMediaInfo; import com.google.ads.interactivemedia.v3.api.player.ContentProgressProvider; import com.google.ads.interactivemedia.v3.api.player.VideoAdPlayer; +import com.google.ads.interactivemedia.v3.api.player.VideoAdPlayer.VideoAdPlayerCallback; import com.google.ads.interactivemedia.v3.api.player.VideoProgressUpdate; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -355,7 +357,7 @@ public void activate(Player player) { long contentPositionMs = getContentPeriodPositionMs(player, timeline, period); int adGroupForPositionIndex = adPlaybackState.getAdGroupIndexForPositionUs( - Util.msToUs(contentPositionMs), Util.msToUs(contentDurationMs)); + msToUs(contentPositionMs), msToUs(contentDurationMs)); if (adGroupForPositionIndex != C.INDEX_UNSET && imaAdInfo != null && imaAdInfo.adGroupIndex != adGroupForPositionIndex) { @@ -379,7 +381,7 @@ public void deactivate() { } adPlaybackState = adPlaybackState.withAdResumePositionUs( - playingAd ? Util.msToUs(player.getCurrentPosition()) : 0); + playingAd ? msToUs(player.getCurrentPosition()) : 0); } lastVolumePercent = getPlayerVolumePercent(); lastAdProgress = getAdVideoProgressUpdate(); @@ -609,11 +611,10 @@ private AdsRenderingSettings setupAdsRendering(long contentPositionMs, long cont // Skip ads based on the start position as required. int adGroupForPositionIndex = adPlaybackState.getAdGroupIndexForPositionUs( - Util.msToUs(contentPositionMs), Util.msToUs(contentDurationMs)); + msToUs(contentPositionMs), msToUs(contentDurationMs)); if (adGroupForPositionIndex != C.INDEX_UNSET) { boolean playAdWhenStartingPlayback = - adPlaybackState.getAdGroup(adGroupForPositionIndex).timeUs - == Util.msToUs(contentPositionMs) + adPlaybackState.getAdGroup(adGroupForPositionIndex).timeUs == msToUs(contentPositionMs) || configuration.playAdBeforeStartPosition; if (!playAdWhenStartingPlayback) { adGroupForPositionIndex++; @@ -865,7 +866,7 @@ private void handleTimelineOrPositionChanged() { if (!sentContentComplete && !timeline.isEmpty()) { long positionMs = getContentPeriodPositionMs(player, timeline, period); timeline.getPeriod(player.getCurrentPeriodIndex(), period); - int newAdGroupIndex = period.getAdGroupIndexForPositionUs(Util.msToUs(positionMs)); + int newAdGroupIndex = period.getAdGroupIndexForPositionUs(msToUs(positionMs)); if (newAdGroupIndex != C.INDEX_UNSET) { sentPendingContentPositionMs = false; pendingContentPositionMs = positionMs; @@ -1157,14 +1158,26 @@ private void handleAdPrepareError(int adGroupIndex, int adIndexInAdGroup, Except } private void ensureSentContentCompleteIfAtEndOfStream() { - if (!sentContentComplete - && contentDurationMs != C.TIME_UNSET - && pendingContentPositionMs == C.TIME_UNSET - && getContentPeriodPositionMs(checkNotNull(player), timeline, period) - + THRESHOLD_END_OF_CONTENT_MS - >= contentDurationMs) { - sendContentComplete(); + if (sentContentComplete + || contentDurationMs == C.TIME_UNSET + || pendingContentPositionMs != C.TIME_UNSET) { + return; + } + long contentPeriodPositionMs = + getContentPeriodPositionMs(checkNotNull(player), timeline, period); + if (contentPeriodPositionMs + THRESHOLD_END_OF_CONTENT_MS < contentDurationMs) { + return; } + int pendingAdGroupIndex = + adPlaybackState.getAdGroupIndexForPositionUs( + msToUs(contentPeriodPositionMs), msToUs(contentDurationMs)); + if (pendingAdGroupIndex != C.INDEX_UNSET + && adPlaybackState.getAdGroup(pendingAdGroupIndex).timeUs != C.TIME_END_OF_SOURCE + && adPlaybackState.getAdGroup(pendingAdGroupIndex).shouldPlayAdGroup()) { + // Pending mid-roll ad that needs to be played before marking the content complete. + return; + } + sendContentComplete(); } private void sendContentComplete() { @@ -1233,14 +1246,13 @@ private int getLoadingAdGroupIndex() { if (player == null) { return C.INDEX_UNSET; } - long playerPositionUs = Util.msToUs(getContentPeriodPositionMs(player, timeline, period)); + long playerPositionUs = msToUs(getContentPeriodPositionMs(player, timeline, period)); int adGroupIndex = - adPlaybackState.getAdGroupIndexForPositionUs( - playerPositionUs, Util.msToUs(contentDurationMs)); + adPlaybackState.getAdGroupIndexForPositionUs(playerPositionUs, msToUs(contentDurationMs)); if (adGroupIndex == C.INDEX_UNSET) { adGroupIndex = adPlaybackState.getAdGroupIndexAfterPositionUs( - playerPositionUs, Util.msToUs(contentDurationMs)); + playerPositionUs, msToUs(contentDurationMs)); } return adGroupIndex; } From a2096b6f4a357fa954d5694307edb1c8436682ae Mon Sep 17 00:00:00 2001 From: Rohit Singh Date: Mon, 24 Oct 2022 10:49:25 +0000 Subject: [PATCH 342/422] Merge pull request #162 from ittiam-systems:rtp-mp4a-latm PiperOrigin-RevId: 482490230 (cherry picked from commit d21c9488dfe807cf119fcaabbaf4127759835cb4) --- RELEASENOTES.md | 2 + .../exoplayer/rtsp/RtpPayloadFormat.java | 51 +++-- .../media3/exoplayer/rtsp/RtspMediaTrack.java | 47 ++++- .../DefaultRtpPayloadReaderFactory.java | 6 +- .../exoplayer/rtsp/reader/RtpMp4aReader.java | 182 ++++++++++++++++++ .../media3/exoplayer/rtsp/RtspClientTest.java | 4 +- .../exoplayer/rtsp/RtspMediaTrackTest.java | 27 ++- .../exoplayer/rtsp/RtspPlaybackTest.java | 10 +- .../rtsp/reader/RtpAc3ReaderTest.java | 3 +- .../rtsp/reader/RtpAmrReaderTest.java | 5 +- .../rtsp/reader/RtpH263ReaderTest.java | 3 +- .../rtsp/reader/RtpMp4aReaderTest.java | 160 +++++++++++++++ .../rtsp/reader/RtpOpusReaderTest.java | 3 +- .../rtsp/reader/RtpPcmReaderTest.java | 12 +- .../rtsp/reader/RtpVp8ReaderTest.java | 3 +- .../rtsp/reader/RtpVp9ReaderTest.java | 3 +- .../assets/media/rtsp/mp4a-latm-dump.json | 9 - .../test/assets/media/rtsp/mpeg2ts-dump.json | 9 + 18 files changed, 481 insertions(+), 58 deletions(-) create mode 100644 libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java create mode 100644 libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReaderTest.java delete mode 100644 libraries/test_data/src/test/assets/media/rtsp/mp4a-latm-dump.json create mode 100644 libraries/test_data/src/test/assets/media/rtsp/mpeg2ts-dump.json diff --git a/RELEASENOTES.md b/RELEASENOTES.md index ea2390e291d..b1dfb314b4f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -87,6 +87,8 @@ Release notes * RTSP: * Add H263 fragmented packet handling ([#119](https://github.com/androidx/media/pull/119)). + * Add support for MP4A-LATM + ([#162](https://github.com/androidx/media/pull/162)). * IMA: * Add timeout for loading ad information to handle cases where the IMA SDK gets stuck loading an ad diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPayloadFormat.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPayloadFormat.java index 55bb804642d..17d1df7495b 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPayloadFormat.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtpPayloadFormat.java @@ -39,22 +39,23 @@ @UnstableApi public final class RtpPayloadFormat { - private static final String RTP_MEDIA_AC3 = "AC3"; - private static final String RTP_MEDIA_AMR = "AMR"; - private static final String RTP_MEDIA_AMR_WB = "AMR-WB"; - private static final String RTP_MEDIA_MPEG4_GENERIC = "MPEG4-GENERIC"; - private static final String RTP_MEDIA_MPEG4_VIDEO = "MP4V-ES"; - private static final String RTP_MEDIA_H263_1998 = "H263-1998"; - private static final String RTP_MEDIA_H263_2000 = "H263-2000"; - private static final String RTP_MEDIA_H264 = "H264"; - private static final String RTP_MEDIA_H265 = "H265"; - private static final String RTP_MEDIA_OPUS = "OPUS"; - private static final String RTP_MEDIA_PCM_L8 = "L8"; - private static final String RTP_MEDIA_PCM_L16 = "L16"; - private static final String RTP_MEDIA_PCMA = "PCMA"; - private static final String RTP_MEDIA_PCMU = "PCMU"; - private static final String RTP_MEDIA_VP8 = "VP8"; - private static final String RTP_MEDIA_VP9 = "VP9"; + public static final String RTP_MEDIA_AC3 = "AC3"; + public static final String RTP_MEDIA_AMR = "AMR"; + public static final String RTP_MEDIA_AMR_WB = "AMR-WB"; + public static final String RTP_MEDIA_MPEG4_GENERIC = "MPEG4-GENERIC"; + public static final String RTP_MEDIA_MPEG4_LATM_AUDIO = "MP4A-LATM"; + public static final String RTP_MEDIA_MPEG4_VIDEO = "MP4V-ES"; + public static final String RTP_MEDIA_H263_1998 = "H263-1998"; + public static final String RTP_MEDIA_H263_2000 = "H263-2000"; + public static final String RTP_MEDIA_H264 = "H264"; + public static final String RTP_MEDIA_H265 = "H265"; + public static final String RTP_MEDIA_OPUS = "OPUS"; + public static final String RTP_MEDIA_PCM_L8 = "L8"; + public static final String RTP_MEDIA_PCM_L16 = "L16"; + public static final String RTP_MEDIA_PCMA = "PCMA"; + public static final String RTP_MEDIA_PCMU = "PCMU"; + public static final String RTP_MEDIA_VP8 = "VP8"; + public static final String RTP_MEDIA_VP9 = "VP9"; /** Returns whether the format of a {@link MediaDescription} is supported. */ public static boolean isFormatSupported(MediaDescription mediaDescription) { @@ -66,8 +67,9 @@ public static boolean isFormatSupported(MediaDescription mediaDescription) { case RTP_MEDIA_H263_2000: case RTP_MEDIA_H264: case RTP_MEDIA_H265: - case RTP_MEDIA_MPEG4_VIDEO: case RTP_MEDIA_MPEG4_GENERIC: + case RTP_MEDIA_MPEG4_LATM_AUDIO: + case RTP_MEDIA_MPEG4_VIDEO: case RTP_MEDIA_OPUS: case RTP_MEDIA_PCM_L8: case RTP_MEDIA_PCM_L16: @@ -97,6 +99,7 @@ public static String getMimeTypeFromRtpMediaType(String mediaType) { case RTP_MEDIA_AMR_WB: return MimeTypes.AUDIO_AMR_WB; case RTP_MEDIA_MPEG4_GENERIC: + case RTP_MEDIA_MPEG4_LATM_AUDIO: return MimeTypes.AUDIO_AAC; case RTP_MEDIA_OPUS: return MimeTypes.AUDIO_OPUS; @@ -142,6 +145,8 @@ public static String getMimeTypeFromRtpMediaType(String mediaType) { public final Format format; /** The format parameters, mapped from the SDP FMTP attribute (RFC2327 Page 22). */ public final ImmutableMap fmtpParameters; + /** The RTP media encoding. */ + public final String mediaEncoding; /** * Creates a new instance. @@ -153,13 +158,19 @@ public static String getMimeTypeFromRtpMediaType(String mediaType) { * @param fmtpParameters The format parameters, from the SDP FMTP attribute (RFC2327 Page 22), * empty if unset. The keys and values are specified in the RFCs for specific formats. For * instance, RFC3640 Section 4.1 defines keys like profile-level-id and config. + * @param mediaEncoding The RTP media encoding. */ public RtpPayloadFormat( - Format format, int rtpPayloadType, int clockRate, Map fmtpParameters) { + Format format, + int rtpPayloadType, + int clockRate, + Map fmtpParameters, + String mediaEncoding) { this.rtpPayloadType = rtpPayloadType; this.clockRate = clockRate; this.format = format; this.fmtpParameters = ImmutableMap.copyOf(fmtpParameters); + this.mediaEncoding = mediaEncoding; } @Override @@ -174,7 +185,8 @@ public boolean equals(@Nullable Object o) { return rtpPayloadType == that.rtpPayloadType && clockRate == that.clockRate && format.equals(that.format) - && fmtpParameters.equals(that.fmtpParameters); + && fmtpParameters.equals(that.fmtpParameters) + && mediaEncoding.equals(that.mediaEncoding); } @Override @@ -184,6 +196,7 @@ public int hashCode() { result = 31 * result + clockRate; result = 31 * result + format.hashCode(); result = 31 * result + fmtpParameters.hashCode(); + result = 31 * result + mediaEncoding.hashCode(); return result; } } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java index c8de6243261..b3d79404a2e 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaTrack.java @@ -31,7 +31,9 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.ParserException; import androidx.media3.common.util.CodecSpecificDataUtil; +import androidx.media3.common.util.ParsableBitArray; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.extractor.AacUtil; @@ -52,7 +54,8 @@ private static final String PARAMETER_H265_SPROP_PPS = "sprop-pps"; private static final String PARAMETER_H265_SPROP_VPS = "sprop-vps"; private static final String PARAMETER_H265_SPROP_MAX_DON_DIFF = "sprop-max-don-diff"; - private static final String PARAMETER_MP4V_CONFIG = "config"; + private static final String PARAMETER_MP4A_CONFIG = "config"; + private static final String PARAMETER_MP4A_C_PRESENT = "cpresent"; /** Prefix for the RFC6381 codecs string for AAC formats. */ private static final String AAC_CODECS_PREFIX = "mp4a.40."; @@ -208,6 +211,23 @@ public int hashCode() { case MimeTypes.AUDIO_AAC: checkArgument(channelCount != C.INDEX_UNSET); checkArgument(!fmtpParameters.isEmpty()); + if (mediaEncoding.equals(RtpPayloadFormat.RTP_MEDIA_MPEG4_LATM_AUDIO)) { + // cpresent is defined in RFC3016 Section 5.3. cpresent=0 means the config fmtp parameter + // must exist. + checkArgument( + fmtpParameters.containsKey(PARAMETER_MP4A_C_PRESENT) + && fmtpParameters.get(PARAMETER_MP4A_C_PRESENT).equals("0"), + "Only supports cpresent=0 in AAC audio."); + @Nullable String config = fmtpParameters.get(PARAMETER_MP4A_CONFIG); + checkNotNull(config, "AAC audio stream must include config fmtp parameter"); + // config is a hex string. + checkArgument(config.length() % 2 == 0, "Malformat MPEG4 config: " + config); + AacUtil.Config aacConfig = parseAacStreamMuxConfig(config); + formatBuilder + .setSampleRate(aacConfig.sampleRateHz) + .setChannelCount(aacConfig.channelCount) + .setCodecs(aacConfig.codecs); + } processAacFmtpAttribute(formatBuilder, fmtpParameters, channelCount, clockRate); break; case MimeTypes.AUDIO_AMR_NB: @@ -267,7 +287,8 @@ public int hashCode() { } checkArgument(clockRate > 0); - return new RtpPayloadFormat(formatBuilder.build(), rtpPayloadType, clockRate, fmtpParameters); + return new RtpPayloadFormat( + formatBuilder.build(), rtpPayloadType, clockRate, fmtpParameters, mediaEncoding); } private static int inferChannelCount(int encodingParameter, String mimeType) { @@ -300,9 +321,29 @@ private static void processAacFmtpAttribute( AacUtil.buildAacLcAudioSpecificConfig(sampleRate, channelCount))); } + /** + * Returns the {@link AacUtil.Config} by parsing the MPEG4 Audio Stream Mux configuration. + * + *

      fmtp attribute {@code config} includes the MPEG4 Audio Stream Mux configuration + * (ISO/IEC14496-3, Chapter 1.7.3). + */ + private static AacUtil.Config parseAacStreamMuxConfig(String streamMuxConfig) { + ParsableBitArray config = new ParsableBitArray(Util.getBytesFromHexString(streamMuxConfig)); + checkArgument(config.readBits(1) == 0, "Only supports audio mux version 0."); + checkArgument(config.readBits(1) == 1, "Only supports allStreamsSameTimeFraming."); + config.skipBits(6); + checkArgument(config.readBits(4) == 0, "Only supports one program."); + checkArgument(config.readBits(3) == 0, "Only supports one numLayer."); + try { + return AacUtil.parseAudioSpecificConfig(config, false); + } catch (ParserException e) { + throw new IllegalArgumentException(e); + } + } + private static void processMPEG4FmtpAttribute( Format.Builder formatBuilder, ImmutableMap fmtpAttributes) { - @Nullable String configInput = fmtpAttributes.get(PARAMETER_MP4V_CONFIG); + @Nullable String configInput = fmtpAttributes.get(PARAMETER_MP4A_CONFIG); if (configInput != null) { byte[] configBuffer = Util.getBytesFromHexString(configInput); formatBuilder.setInitializationData(ImmutableList.of(configBuffer)); diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/DefaultRtpPayloadReaderFactory.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/DefaultRtpPayloadReaderFactory.java index 0c1ee768b59..63883dce257 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/DefaultRtpPayloadReaderFactory.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/DefaultRtpPayloadReaderFactory.java @@ -35,7 +35,11 @@ public RtpPayloadReader createPayloadReader(RtpPayloadFormat payloadFormat) { case MimeTypes.AUDIO_AC3: return new RtpAc3Reader(payloadFormat); case MimeTypes.AUDIO_AAC: - return new RtpAacReader(payloadFormat); + if (payloadFormat.mediaEncoding.equals(RtpPayloadFormat.RTP_MEDIA_MPEG4_LATM_AUDIO)) { + return new RtpMp4aReader(payloadFormat); + } else { + return new RtpAacReader(payloadFormat); + } case MimeTypes.AUDIO_AMR_NB: case MimeTypes.AUDIO_AMR_WB: return new RtpAmrReader(payloadFormat); diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java new file mode 100644 index 00000000000..28886f2024d --- /dev/null +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReader.java @@ -0,0 +1,182 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.exoplayer.rtsp.reader; + +import static androidx.media3.common.util.Assertions.checkArgument; +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.common.util.Assertions.checkState; +import static androidx.media3.common.util.Assertions.checkStateNotNull; +import static androidx.media3.common.util.Util.castNonNull; +import static androidx.media3.exoplayer.rtsp.reader.RtpReaderUtils.toSampleTimeUs; + +import androidx.annotation.Nullable; +import androidx.media3.common.C; +import androidx.media3.common.ParserException; +import androidx.media3.common.util.ParsableBitArray; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.common.util.UnstableApi; +import androidx.media3.common.util.Util; +import androidx.media3.exoplayer.rtsp.RtpPacket; +import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; +import androidx.media3.extractor.ExtractorOutput; +import androidx.media3.extractor.TrackOutput; +import com.google.common.collect.ImmutableMap; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + +/** + * Parses an MP4A-LATM byte stream carried on RTP packets, and extracts MP4A-LATM Access Units. + * + *

      Refer to RFC3016 for more details. The LATM byte stream format is defined in ISO/IEC14496-3. + */ +@UnstableApi +/* package */ final class RtpMp4aReader implements RtpPayloadReader { + private static final String TAG = "RtpMp4aReader"; + + private static final String PARAMETER_MP4A_CONFIG = "config"; + + private final RtpPayloadFormat payloadFormat; + private final int numberOfSubframes; + private @MonotonicNonNull TrackOutput trackOutput; + private long firstReceivedTimestamp; + private int previousSequenceNumber; + /** The combined size of a sample that is fragmented into multiple subFrames. */ + private int fragmentedSampleSizeBytes; + + private long startTimeOffsetUs; + private long fragmentedSampleTimeUs; + + /** + * Creates an instance. + * + * @throws IllegalArgumentException If {@link RtpPayloadFormat payloadFormat} is malformed. + */ + public RtpMp4aReader(RtpPayloadFormat payloadFormat) { + this.payloadFormat = payloadFormat; + try { + numberOfSubframes = getNumOfSubframesFromMpeg4AudioConfig(payloadFormat.fmtpParameters); + } catch (ParserException e) { + throw new IllegalArgumentException(e); + } + firstReceivedTimestamp = C.TIME_UNSET; + previousSequenceNumber = C.INDEX_UNSET; + fragmentedSampleSizeBytes = 0; + // The start time offset must be 0 until the first seek. + startTimeOffsetUs = 0; + fragmentedSampleTimeUs = C.TIME_UNSET; + } + + @Override + public void createTracks(ExtractorOutput extractorOutput, int trackId) { + trackOutput = extractorOutput.track(trackId, C.TRACK_TYPE_VIDEO); + castNonNull(trackOutput).format(payloadFormat.format); + } + + @Override + public void onReceivingFirstPacket(long timestamp, int sequenceNumber) { + checkState(firstReceivedTimestamp == C.TIME_UNSET); + firstReceivedTimestamp = timestamp; + } + + @Override + public void consume( + ParsableByteArray data, long timestamp, int sequenceNumber, boolean rtpMarker) { + checkStateNotNull(trackOutput); + + int expectedSequenceNumber = RtpPacket.getNextSequenceNumber(previousSequenceNumber); + if (fragmentedSampleSizeBytes > 0 && expectedSequenceNumber < sequenceNumber) { + outputSampleMetadataForFragmentedPackets(); + } + + for (int subFrameIndex = 0; subFrameIndex < numberOfSubframes; subFrameIndex++) { + int sampleLength = 0; + // Implements PayloadLengthInfo() in ISO/IEC14496-3 Chapter 1.7.3.1, it only supports one + // program and one layer. Each subframe starts with a variable length encoding. + while (data.getPosition() < data.limit()) { + int payloadMuxLength = data.readUnsignedByte(); + sampleLength += payloadMuxLength; + if (payloadMuxLength != 0xff) { + break; + } + } + + trackOutput.sampleData(data, sampleLength); + fragmentedSampleSizeBytes += sampleLength; + } + fragmentedSampleTimeUs = + toSampleTimeUs( + startTimeOffsetUs, timestamp, firstReceivedTimestamp, payloadFormat.clockRate); + if (rtpMarker) { + outputSampleMetadataForFragmentedPackets(); + } + previousSequenceNumber = sequenceNumber; + } + + @Override + public void seek(long nextRtpTimestamp, long timeUs) { + firstReceivedTimestamp = nextRtpTimestamp; + fragmentedSampleSizeBytes = 0; + startTimeOffsetUs = timeUs; + } + + // Internal methods. + + /** + * Parses an MPEG-4 Audio Stream Mux configuration, as defined in ISO/IEC14496-3. + * + *

      FMTP attribute {@code config} contains the MPEG-4 Audio Stream Mux configuration. + * + * @param fmtpAttributes The format parameters, mapped from the SDP FMTP attribute. + * @return The number of subframes that is carried in each RTP packet. + */ + private static int getNumOfSubframesFromMpeg4AudioConfig( + ImmutableMap fmtpAttributes) throws ParserException { + @Nullable String configInput = fmtpAttributes.get(PARAMETER_MP4A_CONFIG); + int numberOfSubframes = 0; + if (configInput != null && configInput.length() % 2 == 0) { + byte[] configBuffer = Util.getBytesFromHexString(configInput); + ParsableBitArray scratchBits = new ParsableBitArray(configBuffer); + int audioMuxVersion = scratchBits.readBits(1); + if (audioMuxVersion == 0) { + checkArgument(scratchBits.readBits(1) == 1, "Only supports allStreamsSameTimeFraming."); + numberOfSubframes = scratchBits.readBits(6); + checkArgument(scratchBits.readBits(4) == 0, "Only suppors one program."); + checkArgument(scratchBits.readBits(3) == 0, "Only suppors one layer."); + } else { + throw ParserException.createForMalformedDataOfUnknownType( + "unsupported audio mux version: " + audioMuxVersion, null); + } + } + // ISO/IEC14496-3 Chapter 1.7.3.2.3: The minimum value is 0 indicating 1 subframe. + return numberOfSubframes + 1; + } + + /** + * Outputs sample metadata. + * + *

      Call this method only after receiving the end of an MPEG4 partition. + */ + private void outputSampleMetadataForFragmentedPackets() { + checkNotNull(trackOutput) + .sampleMetadata( + fragmentedSampleTimeUs, + C.BUFFER_FLAG_KEY_FRAME, + fragmentedSampleSizeBytes, + /* offset= */ 0, + /* cryptoData= */ null); + fragmentedSampleSizeBytes = 0; + fragmentedSampleTimeUs = C.TIME_UNSET; + } +} diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java index 4fdc1fc2740..f7b7ab41b81 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspClientTest.java @@ -70,8 +70,8 @@ public void setUp() throws Exception { ImmutableList.of( RtspTestUtils.readRtpPacketStreamDump("media/rtsp/h264-dump.json"), RtspTestUtils.readRtpPacketStreamDump("media/rtsp/aac-dump.json"), - // MP4A-LATM is not supported at the moment. - RtspTestUtils.readRtpPacketStreamDump("media/rtsp/mp4a-latm-dump.json")); + // MPEG2TS is not supported at the moment. + RtspTestUtils.readRtpPacketStreamDump("media/rtsp/mpeg2ts-dump.json")); } @After diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java index 6f5b6fbc025..bfd2308c429 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspMediaTrackTest.java @@ -76,7 +76,8 @@ public void generatePayloadFormat_withH264MediaDescription_succeeds() { /* fmtpParameters= */ ImmutableMap.of( "packetization-mode", "1", "profile-level-id", "64001F", - "sprop-parameter-sets", "Z2QAH6zZQPARabIAAAMACAAAAwGcHjBjLA==,aOvjyyLA")); + "sprop-parameter-sets", "Z2QAH6zZQPARabIAAAMACAAAAwGcHjBjLA==,aOvjyyLA"), + RtpPayloadFormat.RTP_MEDIA_H264); assertThat(format).isEqualTo(expectedFormat); } @@ -101,7 +102,8 @@ public void generatePayloadFormat_withPcmuMediaDescription_succeeds() { .build(), /* rtpPayloadType= */ 0, /* clockRate= */ 8_000, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCMU); assertThat(format).isEqualTo(expectedFormat); } @@ -134,7 +136,8 @@ public void generatePayloadFormat_withPcmaMediaDescription_succeeds() { .build(), /* rtpPayloadType= */ pcmaPayloadType, /* clockRate= */ pcmaClockRate, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCMA); assertThat(format).isEqualTo(expectedFormat); } @@ -168,7 +171,8 @@ public void generatePayloadFormat_withL16StereoMediaDescription_succeeds() { .build(), /* rtpPayloadType= */ l16StereoPayloadType, /* clockRate= */ l16StereoClockRate, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCM_L16); assertThat(format).isEqualTo(expectedFormat); } @@ -202,7 +206,8 @@ public void generatePayloadFormat_withL16MonoMediaDescription_succeeds() { .build(), /* rtpPayloadType= */ l16MonoPayloadType, /* clockRate= */ l16MonoClockRate, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCM_L16); assertThat(format).isEqualTo(expectedFormat); } @@ -244,7 +249,8 @@ public void generatePayloadFormat_withFmtpTrailingSemicolon_succeeds() { /* fmtpParameters= */ ImmutableMap.of( "packetization-mode", "1", "profile-level-id", "64001F", - "sprop-parameter-sets", "Z2QAH6zZQPARabIAAAMACAAAAwGcHjBjLA==,aOvjyyLA")); + "sprop-parameter-sets", "Z2QAH6zZQPARabIAAAMACAAAAwGcHjBjLA==,aOvjyyLA"), + RtpPayloadFormat.RTP_MEDIA_H264); assertThat(format).isEqualTo(expectedFormat); } @@ -288,7 +294,8 @@ public void generatePayloadFormat_withAacMediaDescription_succeeds() { .put("indexlength", "3") .put("indexdeltalength", "3") .put("config", "1208") - .buildOrThrow()); + .buildOrThrow(), + RtpPayloadFormat.RTP_MEDIA_MPEG4_GENERIC); assertThat(format).isEqualTo(expectedFormat); } @@ -315,7 +322,8 @@ public void generatePayloadFormat_withAc3MediaDescriptionWithDefaultChannelCount .build(), /* rtpPayloadType= */ 97, /* clockRate= */ 48000, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_AC3); assertThat(format).isEqualTo(expectedFormat); } @@ -342,7 +350,8 @@ public void generatePayloadFormat_withAc3MediaDescription_succeeds() { .build(), /* rtpPayloadType= */ 97, /* clockRate= */ 48000, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_AC3); assertThat(format).isEqualTo(expectedFormat); } diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspPlaybackTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspPlaybackTest.java index 0c93acc61ff..dc44ce154c1 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspPlaybackTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/RtspPlaybackTest.java @@ -72,7 +72,7 @@ public final class RtspPlaybackTest { private RtpPacketStreamDump aacRtpPacketStreamDump; // ExoPlayer does not support extracting MP4A-LATM RTP payload at the moment. - private RtpPacketStreamDump mp4aLatmRtpPacketStreamDump; + private RtpPacketStreamDump mpeg2tsRtpPacketStreamDump; /** Creates a new instance. */ public RtspPlaybackTest() { @@ -90,8 +90,8 @@ public RtspPlaybackTest() { @Before public void setUp() throws Exception { aacRtpPacketStreamDump = RtspTestUtils.readRtpPacketStreamDump("media/rtsp/aac-dump.json"); - mp4aLatmRtpPacketStreamDump = - RtspTestUtils.readRtpPacketStreamDump("media/rtsp/mp4a-latm-dump.json"); + mpeg2tsRtpPacketStreamDump = + RtspTestUtils.readRtpPacketStreamDump("media/rtsp/mpeg2ts-dump.json"); } @Test @@ -99,7 +99,7 @@ public void prepare_withSupportedTrack_playsTrackUntilEnded() throws Exception { ResponseProvider responseProvider = new ResponseProvider( clock, - ImmutableList.of(aacRtpPacketStreamDump, mp4aLatmRtpPacketStreamDump), + ImmutableList.of(aacRtpPacketStreamDump, mpeg2tsRtpPacketStreamDump), fakeRtpDataChannel); try (RtspServer rtspServer = new RtspServer(responseProvider)) { @@ -124,7 +124,7 @@ public void prepare_noSupportedTrack_throwsPreparationError() throws Exception { try (RtspServer rtspServer = new RtspServer( new ResponseProvider( - clock, ImmutableList.of(mp4aLatmRtpPacketStreamDump), fakeRtpDataChannel))) { + clock, ImmutableList.of(mpeg2tsRtpPacketStreamDump), fakeRtpDataChannel))) { ExoPlayer player = createExoPlayer(rtspServer.startAndGetPortNumber(), rtpDataChannelFactory); AtomicReference playbackError = new AtomicReference<>(); diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3ReaderTest.java index 2404b669b5c..de2cd91dc85 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3ReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAc3ReaderTest.java @@ -75,7 +75,8 @@ public final class RtpAc3ReaderTest { .build(), /* rtpPayloadType= */ 97, /* clockRate= */ 48_000, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_AC3); @Rule public final MockitoRule mockito = MockitoJUnit.rule(); diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReaderTest.java index cce1a3db443..858ea07ef6e 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpAmrReaderTest.java @@ -215,6 +215,9 @@ private static RtpPayloadFormat createRtpPayloadFormat(String mimeType, int samp .build(), /* rtpPayloadType= */ 97, /* clockRate= */ sampleRate, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + MimeTypes.AUDIO_AMR.equals(mimeType) + ? RtpPayloadFormat.RTP_MEDIA_AMR + : RtpPayloadFormat.RTP_MEDIA_AMR_WB); } } diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java index 4c1f4efde06..a623f6fb923 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpH263ReaderTest.java @@ -109,7 +109,8 @@ public final class RtpH263ReaderTest { .build(), /* rtpPayloadType= */ 96, /* clockRate= */ (int) MEDIA_CLOCK_FREQUENCY, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_H263_1998); private FakeExtractorOutput extractorOutput; diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReaderTest.java new file mode 100644 index 00000000000..c25e0bd4b9f --- /dev/null +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpMp4aReaderTest.java @@ -0,0 +1,160 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.exoplayer.rtsp.reader; + +import static androidx.media3.common.util.Util.getBytesFromHexString; +import static com.google.common.truth.Truth.assertThat; + +import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; +import androidx.media3.common.ParserException; +import androidx.media3.common.util.ParsableByteArray; +import androidx.media3.exoplayer.rtsp.RtpPacket; +import androidx.media3.exoplayer.rtsp.RtpPayloadFormat; +import androidx.media3.test.utils.FakeExtractorOutput; +import androidx.media3.test.utils.FakeTrackOutput; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.collect.ImmutableMap; +import com.google.common.primitives.Bytes; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; + +/** Unit test for {@link RtpMp4aReader}. */ +@RunWith(AndroidJUnit4.class) +public final class RtpMp4aReaderTest { + private static final byte[] FRAME_1_FRAGMENT_1_DATA = getBytesFromHexString("0102"); + private static final RtpPacket FRAME_1_FRAGMENT_1 = + new RtpPacket.Builder() + .setTimestamp(2599168056L) + .setSequenceNumber(40289) + .setMarker(false) + .setPayloadData( + Bytes.concat(/* payload size */ getBytesFromHexString("02"), FRAME_1_FRAGMENT_1_DATA)) + .build(); + private static final byte[] FRAME_1_FRAGMENT_2_DATA = getBytesFromHexString("030405"); + private static final RtpPacket FRAME_1_FRAGMENT_2 = + new RtpPacket.Builder() + .setTimestamp(2599168056L) + .setSequenceNumber(40290) + .setMarker(true) + .setPayloadData( + Bytes.concat(/* payload size */ getBytesFromHexString("03"), FRAME_1_FRAGMENT_2_DATA)) + .build(); + private static final byte[] FRAME_1_DATA = + Bytes.concat(FRAME_1_FRAGMENT_1_DATA, FRAME_1_FRAGMENT_2_DATA); + + private static final byte[] FRAME_2_FRAGMENT_1_DATA = getBytesFromHexString("0607"); + private static final RtpPacket FRAME_2_FRAGMENT_1 = + new RtpPacket.Builder() + .setTimestamp(2599168344L) + .setSequenceNumber(40291) + .setMarker(false) + .setPayloadData( + Bytes.concat(/* payload size */ getBytesFromHexString("02"), FRAME_2_FRAGMENT_1_DATA)) + .build(); + private static final byte[] FRAME_2_FRAGMENT_2_DATA = getBytesFromHexString("0809"); + private static final RtpPacket FRAME_2_FRAGMENT_2 = + new RtpPacket.Builder() + .setTimestamp(2599168344L) + .setSequenceNumber(40292) + .setMarker(true) + .setPayloadData( + Bytes.concat(/* payload size */ getBytesFromHexString("02"), FRAME_2_FRAGMENT_2_DATA)) + .build(); + private static final byte[] FRAME_2_DATA = + Bytes.concat(FRAME_2_FRAGMENT_1_DATA, FRAME_2_FRAGMENT_2_DATA); + + private static final RtpPayloadFormat MP4A_LATM_FORMAT = + new RtpPayloadFormat( + new Format.Builder().setSampleMimeType(MimeTypes.AUDIO_AAC).setChannelCount(1).build(), + /* rtpPayloadType= */ 97, + /* clockRate= */ 44_100, + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_MPEG4_LATM_AUDIO); + + private FakeExtractorOutput extractorOutput; + + @Before + public void setUp() { + extractorOutput = new FakeExtractorOutput(); + } + + @Test + public void consume_validPackets() throws ParserException { + RtpMp4aReader mp4aLatmReader = new RtpMp4aReader(MP4A_LATM_FORMAT); + mp4aLatmReader.createTracks(extractorOutput, /* trackId= */ 0); + mp4aLatmReader.onReceivingFirstPacket( + FRAME_1_FRAGMENT_1.timestamp, FRAME_1_FRAGMENT_1.sequenceNumber); + consume(mp4aLatmReader, FRAME_1_FRAGMENT_1); + consume(mp4aLatmReader, FRAME_1_FRAGMENT_2); + consume(mp4aLatmReader, FRAME_2_FRAGMENT_1); + consume(mp4aLatmReader, FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(FRAME_1_DATA); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(6530); + } + + @Test + public void consume_fragmentedFrameMissingFirstFragment() throws ParserException { + RtpMp4aReader mp4aLatmReader = new RtpMp4aReader(MP4A_LATM_FORMAT); + mp4aLatmReader.createTracks(extractorOutput, /* trackId= */ 0); + mp4aLatmReader.onReceivingFirstPacket( + FRAME_1_FRAGMENT_1.timestamp, FRAME_1_FRAGMENT_1.sequenceNumber); + consume(mp4aLatmReader, FRAME_1_FRAGMENT_2); + consume(mp4aLatmReader, FRAME_2_FRAGMENT_1); + consume(mp4aLatmReader, FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(FRAME_1_FRAGMENT_2_DATA); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(6530); + } + + @Test + public void consume_fragmentedFrameMissingBoundaryFragment() throws ParserException { + RtpMp4aReader mp4aLatmReader = new RtpMp4aReader(MP4A_LATM_FORMAT); + mp4aLatmReader.createTracks(extractorOutput, /* trackId= */ 0); + mp4aLatmReader.onReceivingFirstPacket( + FRAME_1_FRAGMENT_1.timestamp, FRAME_1_FRAGMENT_1.sequenceNumber); + consume(mp4aLatmReader, FRAME_1_FRAGMENT_1); + consume(mp4aLatmReader, FRAME_2_FRAGMENT_1); + consume(mp4aLatmReader, FRAME_2_FRAGMENT_2); + + FakeTrackOutput trackOutput = extractorOutput.trackOutputs.get(0); + assertThat(trackOutput.getSampleCount()).isEqualTo(2); + assertThat(trackOutput.getSampleData(0)).isEqualTo(FRAME_1_FRAGMENT_1_DATA); + assertThat(trackOutput.getSampleTimeUs(0)).isEqualTo(0); + assertThat(trackOutput.getSampleData(1)).isEqualTo(FRAME_2_DATA); + assertThat(trackOutput.getSampleTimeUs(1)).isEqualTo(6530); + } + + private static void consume(RtpMp4aReader mpeg4Reader, RtpPacket rtpPacket) { + ParsableByteArray packetData = new ParsableByteArray(); + packetData.reset(rtpPacket.payloadData); + mpeg4Reader.consume( + packetData, + rtpPacket.timestamp, + rtpPacket.sequenceNumber, + /* isFrameBoundary= */ rtpPacket.marker); + } +} diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReaderTest.java index 1b2ed3a50b0..db8cd75e50b 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpOpusReaderTest.java @@ -51,7 +51,8 @@ public final class RtpOpusReaderTest { .build(), /* rtpPayloadType= */ 97, /* clockRate= */ 48_000, - /* fmtpParameters= */ ImmutableMap.of()); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_OPUS); private static final RtpPacket OPUS_HEADER = createRtpPacket( diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReaderTest.java index bba419e3d60..81ea6810ac9 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpPcmReaderTest.java @@ -69,7 +69,8 @@ public void consume_twoDualChannelWav8bitPackets() { .build(), /* rtpPayloadType= */ RTP_PAYLOAD_TYPE, /* clockRate= */ 48_000, - /* fmtpParameters= */ ImmutableMap.of())); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCM_L8)); pcmReader.createTracks(extractorOutput, /* trackId= */ 0); pcmReader.onReceivingFirstPacket(PACKET_1.timestamp, PACKET_1.sequenceNumber); @@ -97,7 +98,8 @@ public void consume_twoSingleChannelWav16bitPackets() { .build(), /* rtpPayloadType= */ RTP_PAYLOAD_TYPE, /* clockRate= */ 60_000, - /* fmtpParameters= */ ImmutableMap.of())); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCM_L16)); pcmReader.createTracks(extractorOutput, /* trackId= */ 0); pcmReader.onReceivingFirstPacket(PACKET_1.timestamp, PACKET_1.sequenceNumber); @@ -124,7 +126,8 @@ public void consume_twoDualChannelAlawPackets() { .build(), /* rtpPayloadType= */ RTP_PAYLOAD_TYPE, /* clockRate= */ 16_000, - /* fmtpParameters= */ ImmutableMap.of())); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCMA)); pcmReader.createTracks(extractorOutput, /* trackId= */ 0); pcmReader.onReceivingFirstPacket(PACKET_1.timestamp, PACKET_1.sequenceNumber); @@ -151,7 +154,8 @@ public void consume_twoDualChannelMlawPackets() { .build(), /* rtpPayloadType= */ RTP_PAYLOAD_TYPE, /* clockRate= */ 24_000, - /* fmtpParameters= */ ImmutableMap.of())); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_PCMU)); pcmReader.createTracks(extractorOutput, /* trackId= */ 0); pcmReader.onReceivingFirstPacket(PACKET_1.timestamp, PACKET_1.sequenceNumber); diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java index 73ffe05fc51..d45f274167a 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp8ReaderTest.java @@ -190,7 +190,8 @@ private static RtpVp8Reader createVp8Reader() { new Format.Builder().setSampleMimeType(MimeTypes.VIDEO_VP8).build(), /* rtpPayloadType= */ 96, /* clockRate= */ (int) MEDIA_CLOCK_FREQUENCY, - /* fmtpParameters= */ ImmutableMap.of())); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_VP8)); } private static void consume(RtpVp8Reader vp8Reader, RtpPacket rtpPacket) { diff --git a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java index 22f87ff7020..4cb71108779 100644 --- a/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java +++ b/libraries/exoplayer_rtsp/src/test/java/androidx/media3/exoplayer/rtsp/reader/RtpVp9ReaderTest.java @@ -185,7 +185,8 @@ private static RtpVp9Reader createVp9Reader() { new Format.Builder().setSampleMimeType(MimeTypes.VIDEO_VP9).build(), /* rtpPayloadType= */ 96, /* clockRate= */ (int) MEDIA_CLOCK_FREQUENCY, - /* fmtpParameters= */ ImmutableMap.of())); + /* fmtpParameters= */ ImmutableMap.of(), + RtpPayloadFormat.RTP_MEDIA_VP9)); } private static void consume(RtpVp9Reader vp9Reader, RtpPacket rtpPacket) { diff --git a/libraries/test_data/src/test/assets/media/rtsp/mp4a-latm-dump.json b/libraries/test_data/src/test/assets/media/rtsp/mp4a-latm-dump.json deleted file mode 100644 index a7ee934a832..00000000000 --- a/libraries/test_data/src/test/assets/media/rtsp/mp4a-latm-dump.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "trackName": "track3", - "firstSequenceNumber": 0, - "firstTimestamp": 0, - "transmitIntervalMs": 30, - "mediaDescription": "m=audio 0 RTP/AVP 97\r\nc=IN IP4 0.0.0.0\r\nb=AS:61\r\na=rtpmap:97 MP4A-LATM/44100/2\r\na=fmtp:97 profile-level-id=15;object=2;cpresent=0;config=400024203FC0\r\na=control:track3\r\n", - "packets": [ - ] -} diff --git a/libraries/test_data/src/test/assets/media/rtsp/mpeg2ts-dump.json b/libraries/test_data/src/test/assets/media/rtsp/mpeg2ts-dump.json new file mode 100644 index 00000000000..6546e529588 --- /dev/null +++ b/libraries/test_data/src/test/assets/media/rtsp/mpeg2ts-dump.json @@ -0,0 +1,9 @@ +{ + "trackName": "track3", + "firstSequenceNumber": 0, + "firstTimestamp": 0, + "transmitIntervalMs": 30, + "mediaDescription": "m=video 30000 RTP/AVP 32\r\nc=IN IP4 0.0.0.0\r\na=rtpmap:98 MP4/90000\r\na=control:track3\r\n", + "packets": [ + ] +} From d3e71cd61fee83dfed7fc99adee79b9381e1a2f9 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 21 Oct 2022 11:32:44 +0000 Subject: [PATCH 343/422] Add DAI specific methods to AdPlaybackState PiperOrigin-RevId: 482755468 (cherry picked from commit c21c486ec6a49da015115a64091fa760649e8fa3) --- .../media3/common/AdPlaybackState.java | 161 +++++++++++++++++- .../media3/common/AdPlaybackStateTest.java | 45 +++++ 2 files changed, 197 insertions(+), 9 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java index d30e71d2dac..8efa8f218d8 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java +++ b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java @@ -64,6 +64,13 @@ public static final class AdGroup implements Bundleable { public final long timeUs; /** The number of ads in the ad group, or {@link C#LENGTH_UNSET} if unknown. */ public final int count; + /** + * The original number of ads in the ad group in case the ad group is only partially available, + * or {@link C#LENGTH_UNSET} if unknown. An ad can be partially available when a server side + * inserted ad live stream is joined while an ad is already playing and some ad information is + * missing. + */ + public final int originalCount; /** The URI of each ad in the ad group. */ public final @NullableType Uri[] uris; /** The state of each ad in the ad group. */ @@ -88,6 +95,7 @@ public AdGroup(long timeUs) { this( timeUs, /* count= */ C.LENGTH_UNSET, + /* originalCount= */ C.LENGTH_UNSET, /* states= */ new int[0], /* uris= */ new Uri[0], /* durationsUs= */ new long[0], @@ -98,6 +106,7 @@ public AdGroup(long timeUs) { private AdGroup( long timeUs, int count, + int originalCount, @AdState int[] states, @NullableType Uri[] uris, long[] durationsUs, @@ -106,6 +115,7 @@ private AdGroup( checkArgument(states.length == uris.length); this.timeUs = timeUs; this.count = count; + this.originalCount = originalCount; this.states = states; this.uris = uris; this.durationsUs = durationsUs; @@ -173,6 +183,7 @@ public boolean equals(@Nullable Object o) { AdGroup adGroup = (AdGroup) o; return timeUs == adGroup.timeUs && count == adGroup.count + && originalCount == adGroup.originalCount && Arrays.equals(uris, adGroup.uris) && Arrays.equals(states, adGroup.states) && Arrays.equals(durationsUs, adGroup.durationsUs) @@ -183,6 +194,7 @@ public boolean equals(@Nullable Object o) { @Override public int hashCode() { int result = count; + result = 31 * result + originalCount; result = 31 * result + (int) (timeUs ^ (timeUs >>> 32)); result = 31 * result + Arrays.hashCode(uris); result = 31 * result + Arrays.hashCode(states); @@ -196,7 +208,14 @@ public int hashCode() { @CheckResult public AdGroup withTimeUs(long timeUs) { return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** Returns a new instance with the ad count set to {@code count}. */ @@ -206,7 +225,14 @@ public AdGroup withAdCount(int count) { long[] durationsUs = copyDurationsUsWithSpaceForAdCount(this.durationsUs, count); @NullableType Uri[] uris = Arrays.copyOf(this.uris, count); return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** @@ -224,7 +250,14 @@ public AdGroup withAdUri(Uri uri, @IntRange(from = 0) int index) { uris[index] = uri; states[index] = AD_STATE_AVAILABLE; return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** @@ -252,7 +285,14 @@ public AdGroup withAdState(@AdState int state, @IntRange(from = 0) int index) { this.uris.length == states.length ? this.uris : Arrays.copyOf(this.uris, states.length); states[index] = state; return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** Returns a new instance with the specified ad durations, in microseconds. */ @@ -264,21 +304,75 @@ public AdGroup withAdDurationsUs(long[] durationsUs) { durationsUs = Arrays.copyOf(durationsUs, uris.length); } return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** Returns an instance with the specified {@link #contentResumeOffsetUs}. */ @CheckResult public AdGroup withContentResumeOffsetUs(long contentResumeOffsetUs) { return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** Returns an instance with the specified value for {@link #isServerSideInserted}. */ @CheckResult public AdGroup withIsServerSideInserted(boolean isServerSideInserted) { return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); + } + + /** Returns an instance with the specified value for {@link #originalCount}. */ + public AdGroup withOriginalAdCount(int originalCount) { + return new AdGroup( + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); + } + + /** Removes the last ad from the ad group. */ + public AdGroup withLastAdRemoved() { + int newCount = states.length - 1; + @AdState int[] newStates = Arrays.copyOf(states, newCount); + @NullableType Uri[] newUris = Arrays.copyOf(uris, newCount); + long[] newDurationsUs = durationsUs; + if (durationsUs.length > newCount) { + newDurationsUs = Arrays.copyOf(durationsUs, newCount); + } + return new AdGroup( + timeUs, + newCount, + originalCount, + newStates, + newUris, + newDurationsUs, + /* contentResumeOffsetUs= */ Util.sum(newDurationsUs), + isServerSideInserted); } /** @@ -291,6 +385,7 @@ public AdGroup withAllAdsSkipped() { return new AdGroup( timeUs, /* count= */ 0, + originalCount, /* states= */ new int[0], /* uris= */ new Uri[0], /* durationsUs= */ new long[0], @@ -305,7 +400,14 @@ public AdGroup withAllAdsSkipped() { } } return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } /** @@ -327,7 +429,14 @@ public AdGroup withAllAdsReset() { } } return new AdGroup( - timeUs, count, states, uris, durationsUs, contentResumeOffsetUs, isServerSideInserted); + timeUs, + count, + originalCount, + states, + uris, + durationsUs, + contentResumeOffsetUs, + isServerSideInserted); } @CheckResult @@ -361,6 +470,7 @@ private static long[] copyDurationsUsWithSpaceForAdCount(long[] durationsUs, int FIELD_DURATIONS_US, FIELD_CONTENT_RESUME_OFFSET_US, FIELD_IS_SERVER_SIDE_INSERTED, + FIELD_ORIGINAL_COUNT }) private @interface FieldNumber {} @@ -371,6 +481,7 @@ private static long[] copyDurationsUsWithSpaceForAdCount(long[] durationsUs, int private static final int FIELD_DURATIONS_US = 4; private static final int FIELD_CONTENT_RESUME_OFFSET_US = 5; private static final int FIELD_IS_SERVER_SIDE_INSERTED = 6; + private static final int FIELD_ORIGINAL_COUNT = 7; // putParcelableArrayList actually supports null elements. @SuppressWarnings("nullness:argument") @@ -379,6 +490,7 @@ public Bundle toBundle() { Bundle bundle = new Bundle(); bundle.putLong(keyForField(FIELD_TIME_US), timeUs); bundle.putInt(keyForField(FIELD_COUNT), count); + bundle.putInt(keyForField(FIELD_ORIGINAL_COUNT), originalCount); bundle.putParcelableArrayList( keyForField(FIELD_URIS), new ArrayList<@NullableType Uri>(Arrays.asList(uris))); bundle.putIntArray(keyForField(FIELD_STATES), states); @@ -396,6 +508,8 @@ public Bundle toBundle() { private static AdGroup fromBundle(Bundle bundle) { long timeUs = bundle.getLong(keyForField(FIELD_TIME_US)); int count = bundle.getInt(keyForField(FIELD_COUNT), /* defaultValue= */ C.LENGTH_UNSET); + int originalCount = + bundle.getInt(keyForField(FIELD_ORIGINAL_COUNT), /* defaultValue= */ C.LENGTH_UNSET); @Nullable ArrayList<@NullableType Uri> uriList = bundle.getParcelableArrayList(keyForField(FIELD_URIS)); @Nullable @@ -407,6 +521,7 @@ private static AdGroup fromBundle(Bundle bundle) { return new AdGroup( timeUs, count, + originalCount, states == null ? new int[0] : states, uriList == null ? new Uri[0] : uriList.toArray(new Uri[0]), durationsUs == null ? new long[0] : durationsUs, @@ -699,6 +814,16 @@ public AdPlaybackState withSkippedAd( adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); } + /** Returns an instance with the last ad of the given ad group removed. */ + @CheckResult + public AdPlaybackState withLastAdRemoved(@IntRange(from = 0) int adGroupIndex) { + int adjustedIndex = adGroupIndex - removedAdGroupCount; + AdGroup[] adGroups = Util.nullSafeArrayCopy(this.adGroups, this.adGroups.length); + adGroups[adjustedIndex] = adGroups[adjustedIndex].withLastAdRemoved(); + return new AdPlaybackState( + adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); + } + /** * Returns an instance with the specified ad marked {@linkplain #AD_STATE_ERROR as having a load * error}. @@ -824,6 +949,23 @@ public AdPlaybackState withContentResumeOffsetUs( adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); } + /** + * Returns an instance with the specified value for {@link AdGroup#originalCount} in the specified + * ad group. + */ + @CheckResult + public AdPlaybackState withOriginalAdCount( + @IntRange(from = 0) int adGroupIndex, int originalAdCount) { + int adjustedIndex = adGroupIndex - removedAdGroupCount; + if (adGroups[adjustedIndex].originalCount == originalAdCount) { + return this; + } + AdGroup[] adGroups = Util.nullSafeArrayCopy(this.adGroups, this.adGroups.length); + adGroups[adjustedIndex] = adGroups[adjustedIndex].withOriginalAdCount(originalAdCount); + return new AdPlaybackState( + adsId, adGroups, adResumePositionUs, contentDurationUs, removedAdGroupCount); + } + /** * Returns an instance with the specified value for {@link AdGroup#isServerSideInserted} in the * specified ad group. @@ -871,6 +1013,7 @@ public static AdPlaybackState fromAdPlaybackState(Object adsId, AdPlaybackState new AdGroup( adGroup.timeUs, adGroup.count, + adGroup.originalCount, Arrays.copyOf(adGroup.states, adGroup.states.length), Arrays.copyOf(adGroup.uris, adGroup.uris.length), Arrays.copyOf(adGroup.durationsUs, adGroup.durationsUs.length), diff --git a/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java b/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java index 184533c0ab3..d398cd5b0fa 100644 --- a/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java +++ b/libraries/common/src/test/java/androidx/media3/common/AdPlaybackStateTest.java @@ -311,6 +311,51 @@ public void withResetAdGroup_beforeSetAdCount_doesNothing() { assertThat(state.getAdGroup(1).count).isEqualTo(C.LENGTH_UNSET); } + @Test + public void withOriginalAdCount() { + AdPlaybackState state = + new AdPlaybackState(TEST_ADS_ID, /* adGroupTimesUs...= */ 5_000_000) + .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 2); + + state = state.withOriginalAdCount(/* adGroupIndex= */ 0, /* originalAdCount= */ 3); + + assertThat(state.getAdGroup(0).count).isEqualTo(2); + assertThat(state.getAdGroup(0).originalCount).isEqualTo(3); + } + + @Test + public void withOriginalAdCount_unsetValue_defaultsToIndexUnset() { + AdPlaybackState state = + new AdPlaybackState(TEST_ADS_ID, /* adGroupTimesUs...= */ 5_000_000) + .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 2); + + assertThat(state.getAdGroup(0).count).isEqualTo(2); + assertThat(state.getAdGroup(0).originalCount).isEqualTo(C.INDEX_UNSET); + } + + @Test + public void withLastAdGroupRemoved() { + AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, /* adGroupTimesUs...= */ 5_000_000); + state = + state + .withAdCount(/* adGroupIndex= */ 0, 3) + .withAdDurationsUs(/* adGroupIndex= */ 0, 10_000L, 20_000L, 30_000L) + .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0) + .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 1) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + + state = state.withLastAdRemoved(0); + + assertThat(state.getAdGroup(/* adGroupIndex= */ 0).states).asList().hasSize(2); + assertThat(state.getAdGroup(/* adGroupIndex= */ 0).durationsUs) + .asList() + .containsExactly(10_000L, 20_000L) + .inOrder(); + assertThat(state.getAdGroup(/* adGroupIndex= */ 0).states) + .asList() + .containsExactly(AD_STATE_PLAYED, AD_STATE_PLAYED); + } + @Test public void withResetAdGroup_resetsAdsInFinalStates() { AdPlaybackState state = new AdPlaybackState(TEST_ADS_ID, TEST_AD_GROUP_TIMES_US); From 1ce13aa7216ef314e5a9b171d85fc1edfb3518a9 Mon Sep 17 00:00:00 2001 From: tianyifeng Date: Fri, 21 Oct 2022 14:28:35 +0000 Subject: [PATCH 344/422] Add CacheBitmapLoader in the session module * Add `CacheBitmapLoader`. * Add `CacheBitmapLoaderTest`. * Remove the `BitmapLoadRequest` and some bitmap caching logic in `DefaultMediaNotificationProvider` since we moved all of them in `CacheBitmapLoader`. * Modify `DefaultMediaNotificationProviderTest`. PiperOrigin-RevId: 482787445 (cherry picked from commit ca4edff1fd61c58ce5c56f9bbd9ff80ce8a6670c) --- .../media3/session/CacheBitmapLoaderTest.java | 207 ++++++++++++++++++ .../media3/session/CacheBitmapLoader.java | 106 +++++++++ .../DefaultMediaNotificationProvider.java | 68 +----- .../DefaultMediaNotificationProviderTest.java | 10 +- 4 files changed, 322 insertions(+), 69 deletions(-) create mode 100644 libraries/session/src/androidTest/java/androidx/media3/session/CacheBitmapLoaderTest.java create mode 100644 libraries/session/src/main/java/androidx/media3/session/CacheBitmapLoader.java diff --git a/libraries/session/src/androidTest/java/androidx/media3/session/CacheBitmapLoaderTest.java b/libraries/session/src/androidTest/java/androidx/media3/session/CacheBitmapLoaderTest.java new file mode 100644 index 00000000000..d2f88475193 --- /dev/null +++ b/libraries/session/src/androidTest/java/androidx/media3/session/CacheBitmapLoaderTest.java @@ -0,0 +1,207 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.session; + +import static com.google.common.truth.Truth.assertThat; +import static java.util.concurrent.TimeUnit.SECONDS; +import static org.junit.Assert.assertThrows; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.net.Uri; +import androidx.media3.test.utils.TestUtil; +import androidx.test.core.app.ApplicationProvider; +import androidx.test.ext.junit.runners.AndroidJUnit4; +import com.google.common.util.concurrent.ListenableFuture; +import java.io.IOException; +import java.util.concurrent.ExecutionException; +import okhttp3.mockwebserver.MockResponse; +import okhttp3.mockwebserver.MockWebServer; +import okio.Buffer; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; + +/** + * Tests for {@link CacheBitmapLoader}. + * + *

      This test needs to run as an androidTest because robolectric's {@link BitmapFactory} is not + * fully functional. + */ +@RunWith(AndroidJUnit4.class) +public class CacheBitmapLoaderTest { + + private static final String TEST_IMAGE_PATH = "media/jpeg/non-motion-photo-shortened.jpg"; + + private static final String SECOND_TEST_IMAGE_PATH = "media/jpeg/ss-motion-photo-shortened.jpg"; + + @Rule public final TemporaryFolder tempFolder = new TemporaryFolder(); + + @Test + public void decodeBitmap_requestWithSameDataTwice_success() throws Exception { + CacheBitmapLoader cacheBitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + byte[] imageData = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + + // First request, no cached bitmap load request. + ListenableFuture future1 = cacheBitmapLoader.decodeBitmap(imageData); + + assertThat( + future1 + .get(10, SECONDS) + .sameAs( + BitmapFactory.decodeByteArray(imageData, /* offset= */ 0, imageData.length))) + .isTrue(); + + // Second request, has cached bitmap load request. + ListenableFuture future2 = cacheBitmapLoader.decodeBitmap(imageData); + + assertThat(future1).isSameInstanceAs(future2); + } + + @Test + public void decodeBitmap_requestWithDifferentData_success() throws Exception { + CacheBitmapLoader cacheBitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + byte[] imageData1 = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + byte[] imageData2 = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), SECOND_TEST_IMAGE_PATH); + + // First request. + ListenableFuture future1 = cacheBitmapLoader.decodeBitmap(imageData1); + + assertThat( + future1 + .get(10, SECONDS) + .sameAs( + BitmapFactory.decodeByteArray(imageData1, /* offset= */ 0, imageData1.length))) + .isTrue(); + + // Second request. + ListenableFuture future2 = cacheBitmapLoader.decodeBitmap(imageData2); + + assertThat( + future2 + .get(10, SECONDS) + .sameAs( + BitmapFactory.decodeByteArray(imageData2, /* offset= */ 0, imageData2.length))) + .isTrue(); + assertThat(future1).isNotSameInstanceAs(future2); + } + + @Test + public void decodeBitmap_requestWithSameDataTwice_throwsException() { + CacheBitmapLoader cacheBitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + + // First request, no cached bitmap load request. + ListenableFuture future1 = cacheBitmapLoader.decodeBitmap(new byte[0]); + + // Second request, has cached bitmap load request. + ListenableFuture future2 = cacheBitmapLoader.decodeBitmap(new byte[0]); + + assertThat(future1).isSameInstanceAs(future2); + ExecutionException executionException = + assertThrows(ExecutionException.class, () -> future1.get(10, SECONDS)); + assertThat(executionException).hasCauseThat().isInstanceOf(IllegalArgumentException.class); + assertThat(executionException).hasMessageThat().contains("Could not decode image data"); + } + + @Test + public void loadBitmap_httpUri_requestWithSameUriTwice_success() throws Exception { + CacheBitmapLoader cacheBitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + byte[] imageData = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + Buffer responseBody = new Buffer().write(imageData); + MockWebServer mockWebServer = new MockWebServer(); + mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(responseBody)); + Uri uri = Uri.parse(mockWebServer.url("test_path").toString()); + + // First request, no cached bitmap load request. + Bitmap bitmap = cacheBitmapLoader.loadBitmap(uri).get(10, SECONDS); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData, /* offset= */ 0, imageData.length))) + .isTrue(); + + // Second request, has cached bitmap load request. + bitmap = cacheBitmapLoader.loadBitmap(uri).get(10, SECONDS); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData, /* offset= */ 0, imageData.length))) + .isTrue(); + assertThat(mockWebServer.getRequestCount()).isEqualTo(1); + } + + @Test + public void loadBitmap_httpUri_requestWithDifferentUri_success() throws Exception { + CacheBitmapLoader cacheBitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + byte[] imageData1 = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + byte[] imageData2 = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), SECOND_TEST_IMAGE_PATH); + Buffer responseBody1 = new Buffer().write(imageData1); + Buffer responseBody2 = new Buffer().write(imageData2); + MockWebServer mockWebServer = new MockWebServer(); + mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(responseBody1)); + mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(responseBody2)); + Uri uri1 = Uri.parse(mockWebServer.url("test_path_1").toString()); + Uri uri2 = Uri.parse(mockWebServer.url("test_path_2").toString()); + + // First request. + Bitmap bitmap = cacheBitmapLoader.loadBitmap(uri1).get(10, SECONDS); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData1, /* offset= */ 0, imageData1.length))) + .isTrue(); + + // Second request. + bitmap = cacheBitmapLoader.loadBitmap(uri2).get(10, SECONDS); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData2, /* offset= */ 0, imageData2.length))) + .isTrue(); + assertThat(mockWebServer.getRequestCount()).isEqualTo(2); + } + + @Test + public void loadBitmap_httpUri_requestWithSameUriTwice_throwsException() throws Exception { + CacheBitmapLoader cacheBitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + MockWebServer mockWebServer = new MockWebServer(); + mockWebServer.enqueue(new MockResponse().setResponseCode(404)); + Uri uri = Uri.parse(mockWebServer.url("test_path").toString()); + + // First request, no cached bitmap load request. + ListenableFuture future1 = cacheBitmapLoader.loadBitmap(uri); + + // Second request, has cached bitmap load request. + ListenableFuture future2 = cacheBitmapLoader.loadBitmap(uri); + + ExecutionException executionException1 = + assertThrows(ExecutionException.class, () -> future1.get(10, SECONDS)); + ExecutionException executionException2 = + assertThrows(ExecutionException.class, () -> future2.get(10, SECONDS)); + assertThat(executionException1).hasCauseThat().isInstanceOf(IOException.class); + assertThat(executionException2).hasCauseThat().isInstanceOf(IOException.class); + assertThat(executionException1).hasMessageThat().contains("Invalid response status"); + assertThat(executionException2).hasMessageThat().contains("Invalid response status"); + assertThat(mockWebServer.getRequestCount()).isEqualTo(1); + } +} diff --git a/libraries/session/src/main/java/androidx/media3/session/CacheBitmapLoader.java b/libraries/session/src/main/java/androidx/media3/session/CacheBitmapLoader.java new file mode 100644 index 00000000000..5c99bd1256a --- /dev/null +++ b/libraries/session/src/main/java/androidx/media3/session/CacheBitmapLoader.java @@ -0,0 +1,106 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.session; + +import static androidx.media3.common.util.Assertions.checkStateNotNull; + +import android.graphics.Bitmap; +import android.net.Uri; +import androidx.annotation.Nullable; +import androidx.media3.common.util.UnstableApi; +import com.google.common.util.concurrent.ListenableFuture; +import java.util.Arrays; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + +/** + * A {@link BitmapLoader} that caches the result of the last {@link #decodeBitmap(byte[])} or {@link + * #loadBitmap(Uri)} request. Requests are fulfilled from the last bitmap load request when the last + * bitmap is requested from the same {@code data} or the last bitmap is requested from the same + * {@code uri}. If it's not the above two cases, the request is forwarded to the provided {@link + * BitmapLoader} and the result is cached. + */ +@UnstableApi +public final class CacheBitmapLoader implements BitmapLoader { + + private final BitmapLoader bitmapLoader; + + private @MonotonicNonNull BitmapLoadRequest lastBitmapLoadRequest; + + /** + * Creates an instance that is able to cache the last bitmap load request to the given bitmap + * loader. + */ + public CacheBitmapLoader(BitmapLoader bitmapLoader) { + this.bitmapLoader = bitmapLoader; + } + + @Override + public ListenableFuture decodeBitmap(byte[] data) { + if (lastBitmapLoadRequest != null && lastBitmapLoadRequest.matches(data)) { + return lastBitmapLoadRequest.getFuture(); + } + ListenableFuture future = bitmapLoader.decodeBitmap(data); + lastBitmapLoadRequest = new BitmapLoadRequest(data, future); + return future; + } + + @Override + public ListenableFuture loadBitmap(Uri uri) { + if (lastBitmapLoadRequest != null && lastBitmapLoadRequest.matches(uri)) { + return lastBitmapLoadRequest.getFuture(); + } + ListenableFuture future = bitmapLoader.loadBitmap(uri); + lastBitmapLoadRequest = new BitmapLoadRequest(uri, future); + return future; + } + + /** + * Stores the result of a bitmap load request. Requests are identified either by a byte array, if + * the bitmap is loaded from compressed data, or a URI, if the bitmap was loaded from a URI. + */ + private static class BitmapLoadRequest { + @Nullable private final byte[] data; + @Nullable private final Uri uri; + @Nullable private final ListenableFuture future; + + public BitmapLoadRequest(byte[] data, ListenableFuture future) { + this.data = data; + this.uri = null; + this.future = future; + } + + public BitmapLoadRequest(Uri uri, ListenableFuture future) { + this.data = null; + this.uri = uri; + this.future = future; + } + + /** Whether the bitmap load request was performed for {@code data}. */ + public boolean matches(@Nullable byte[] data) { + return this.data != null && Arrays.equals(this.data, data); + } + + /** Whether the bitmap load request was performed for {@code uri}. */ + public boolean matches(@Nullable Uri uri) { + return this.uri != null && this.uri.equals(uri); + } + + /** Returns the future that set for the bitmap load request. */ + public ListenableFuture getFuture() { + return checkStateNotNull(future); + } + } +} diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 29639baff4c..21d61d6e303 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -32,7 +32,6 @@ import android.app.NotificationManager; import android.content.Context; import android.graphics.Bitmap; -import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Looper; @@ -196,15 +195,15 @@ public Builder setChannelName(@StringRes int channelNameResourceId) { } /** - * Sets the {@link BitmapLoader} used load artwork. By default, a {@link SimpleBitmapLoader} - * will be used. + * Sets the {@link BitmapLoader} used load artwork. By default, a {@link CacheBitmapLoader} with + * a {@link SimpleBitmapLoader} inside will be used. * * @param bitmapLoader The bitmap loader. * @return This builder. */ @CanIgnoreReturnValue public Builder setBitmapLoader(BitmapLoader bitmapLoader) { - this.bitmapLoader = bitmapLoader; + this.bitmapLoader = new CacheBitmapLoader(bitmapLoader); return this; } @@ -261,7 +260,6 @@ public interface NotificationIdProvider { private final BitmapLoader bitmapLoader; // Cache the last bitmap load request to avoid reloading the bitmap again, particularly useful // when showing a notification for the same item (e.g. when switching from playing to paused). - private final BitmapLoadRequest lastBitmapLoadRequest; private final Handler mainHandler; private @MonotonicNonNull OnBitmapLoadedFutureCallback pendingOnBitmapLoadedFutureCallback; @@ -272,11 +270,10 @@ private DefaultMediaNotificationProvider(Builder builder) { this.notificationIdProvider = builder.notificationIdProvider; this.channelId = builder.channelId; this.channelNameResourceId = builder.channelNameResourceId; - this.bitmapLoader = builder.bitmapLoader; + this.bitmapLoader = new CacheBitmapLoader(builder.bitmapLoader); notificationManager = checkStateNotNull( (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)); - lastBitmapLoadRequest = new BitmapLoadRequest(); mainHandler = new Handler(Looper.getMainLooper()); smallIconResourceId = R.drawable.media3_notification_small_icon; } @@ -590,15 +587,10 @@ private void ensureNotificationChannel() { @Nullable private ListenableFuture loadArtworkBitmap(MediaMetadata metadata) { @Nullable ListenableFuture future; - if (lastBitmapLoadRequest.matches(metadata.artworkData) - || lastBitmapLoadRequest.matches(metadata.artworkUri)) { - future = lastBitmapLoadRequest.getFuture(); - } else if (metadata.artworkData != null) { + if (metadata.artworkData != null) { future = bitmapLoader.decodeBitmap(metadata.artworkData); - lastBitmapLoadRequest.setBitmapFuture(metadata.artworkData, future); } else if (metadata.artworkUri != null) { future = bitmapLoader.loadBitmap(metadata.artworkUri); - lastBitmapLoadRequest.setBitmapFuture(metadata.artworkUri, future); } else { future = null; } @@ -654,54 +646,4 @@ public void onFailure(Throwable t) { } } } - - /** - * Stores the result of a bitmap load request. Requests are identified either by a byte array, if - * the bitmap is loaded from compressed data, or a URI, if the bitmap was loaded from a URI. - */ - private static class BitmapLoadRequest { - @Nullable private byte[] data; - @Nullable private Uri uri; - @Nullable private ListenableFuture bitmapFuture; - - /** Whether the bitmap load request was performed for {@code data}. */ - public boolean matches(@Nullable byte[] data) { - return this.data != null && data != null && Arrays.equals(this.data, data); - } - - /** Whether the bitmap load request was performed for {@code uri}. */ - public boolean matches(@Nullable Uri uri) { - return this.uri != null && this.uri.equals(uri); - } - - /** - * Returns the future that set for the bitmap load request. - * - * @see #setBitmapFuture(Uri, ListenableFuture) - * @see #setBitmapFuture(byte[], ListenableFuture) - */ - public ListenableFuture getFuture() { - return checkStateNotNull(bitmapFuture); - } - - /** - * Sets the future result of requesting to {@linkplain BitmapLoader#decodeBitmap(byte[]) decode} - * a bitmap from {@code data}. - */ - public void setBitmapFuture(byte[] data, ListenableFuture bitmapFuture) { - this.data = data; - this.bitmapFuture = bitmapFuture; - this.uri = null; - } - - /** - * Sets the future result of requesting {@linkplain BitmapLoader#loadBitmap(Uri) load} a bitmap - * from {@code uri}. - */ - public void setBitmapFuture(Uri uri, ListenableFuture bitmapFuture) { - this.uri = uri; - this.bitmapFuture = bitmapFuture; - this.data = null; - } - } } diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index 7a1d8f42118..23b15cb7fea 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -399,11 +399,12 @@ public void addNotificationActions_correctNotificationActionAttributes() { } /** - * Tests that the {@link DefaultMediaNotificationProvider} will not request to load the same - * artwork bitmap again, if the same bitmap has been requested already. + * Tests that the {@link DefaultMediaNotificationProvider} will discard the pending {@link + * MediaNotification.Provider.Callback#onNotificationChanged(MediaNotification)}, if there is a + * new request. */ @Test - public void requestsSameBitmap_withPendingRequest_oneRequestOnly() { + public void createNotification_withNewRequest_discardPendingCallback() { // We will advance the main looper manually in the test. shadowOf(Looper.getMainLooper()).pause(); // Create a MediaSession whose player returns non-null media metadata so that the @@ -434,7 +435,6 @@ public void requestsSameBitmap_withPendingRequest_oneRequestOnly() { defaultActionFactory, mockOnNotificationChangedCallback1); ShadowLooper.idleMainLooper(); - verify(mockBitmapLoader).loadBitmap(Uri.parse("http://example.test/image.jpg")); verifyNoInteractions(mockOnNotificationChangedCallback1); MediaNotification.Provider.Callback mockOnNotificationChangedCallback2 = mock(MediaNotification.Provider.Callback.class); @@ -446,8 +446,6 @@ public void requestsSameBitmap_withPendingRequest_oneRequestOnly() { // The bitmap has arrived. bitmapFuture.set(Bitmap.createBitmap(/* width= */ 8, /* height= */ 8, Bitmap.Config.RGB_565)); ShadowLooper.idleMainLooper(); - - verifyNoMoreInteractions(mockBitmapLoader); verify(mockOnNotificationChangedCallback2).onNotificationChanged(any()); verifyNoInteractions(mockOnNotificationChangedCallback1); } From adf264c7c0043f4f1b43df4acbab77696513a3e9 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 21 Oct 2022 15:56:34 +0000 Subject: [PATCH 345/422] Minor simplification when setting metadata to platform session PiperOrigin-RevId: 482805730 (cherry picked from commit a47f530b926394f6e1f3c11bbcbb2d2e38434e5a) --- .../media3/session/MediaSessionLegacyStub.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java index afc3af17398..90d4eeb1e8c 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java @@ -1110,12 +1110,11 @@ private void updateMetadataIfChanged() { currentMediaItemForMetadataUpdate = currentMediaItem; durationMsForMetadataUpdate = durationMs; - if (currentMediaItem == null) { - setMetadata(sessionCompat, /* metadataCompat= */ null); - } else { - sessionCompat.setMetadata( - MediaUtils.convertToMediaMetadataCompat(currentMediaItem, durationMs)); - } + setMetadata( + sessionCompat, + currentMediaItem != null + ? MediaUtils.convertToMediaMetadataCompat(currentMediaItem, durationMs) + : null); } } From c38543478a49c6eaecca37aa7fdbb42beaa5cf42 Mon Sep 17 00:00:00 2001 From: ibaker Date: Mon, 24 Oct 2022 09:18:36 +0000 Subject: [PATCH 346/422] Fix some incorrect comments in Cea608DecoderTest Also used all-caps consistently PiperOrigin-RevId: 483317405 (cherry picked from commit fb755708720c133960e35d76188b70e265be29f2) --- .../media3/extractor/text/cea/Cea608DecoderTest.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java index 3487b89dabe..2f74fbf9542 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java @@ -136,8 +136,8 @@ public void onlySelectedFieldIsUsed() throws Exception { MimeTypes.APPLICATION_CEA608, /* accessibilityChannel= */ 1, // field 1, channel 1 Cea608Decoder.MIN_DATA_CHANNEL_TIMEOUT_MS); - // field 1 (0xfC header): 'test subtitle' - // field 2 (0xfC header): 'wrong field!' + // field 1 (0xFC header): 'test subtitle' + // field 2 (0xFD header): 'wrong field!' byte[] sample1 = Bytes.concat( // 'paint on' control character @@ -174,9 +174,9 @@ public void onlySelectedChannelIsUsed() throws Exception { MimeTypes.APPLICATION_CEA608, /* accessibilityChannel= */ 2, // field 1, channel 2 Cea608Decoder.MIN_DATA_CHANNEL_TIMEOUT_MS); - // field 1 (0xfC header), channel 1: 'wrong channel' - // field 1 (0xfC header), channel 2: 'test subtitle' - // field 2 (0xfC header), channel 1: 'wrong field!' + // field 1 (0xFC header), channel 1: 'wrong channel' + // field 1 (0xFC header), channel 2: 'test subtitle' + // field 2 (0xFD header), channel 1: 'wrong field!' byte[] sample1 = Bytes.concat( // 'paint on' control character From 9fbc464ce344818ca099cef2d25db7ea745a49a4 Mon Sep 17 00:00:00 2001 From: microkatz <45770613+microkatz@users.noreply.github.com> Date: Mon, 31 Oct 2022 11:28:21 +0000 Subject: [PATCH 347/422] Merge pull request #141 from tzugen:patch-4 PiperOrigin-RevId: 483395026 (cherry picked from commit e2a77f7be9989aaf70749f7caf62bc8b3f1feb0b) --- RELEASENOTES.md | 4 ++++ .../media3/session/DefaultMediaNotificationProvider.java | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index b1dfb314b4f..934e02adb0f 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -84,6 +84,10 @@ Release notes ([#112](https://github.com/androidx/media/issues/112)). * Don't start a foreground service with a pending intent for pause ([#167](https://github.com/androidx/media/issues/167)). + * Manually hide the 'badge' associated with the notification created by + `DefaultNotificationProvider` on API 26 and API 27 (the badge is + automatically hidden on API 28+) + ([#131](https://github.com/androidx/media/issues/131)). * RTSP: * Add H263 fragmented packet handling ([#119](https://github.com/androidx/media/pull/119)). diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 21d61d6e303..5a836aff70c 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -577,6 +577,12 @@ private void ensureNotificationChannel() { channelId, context.getString(channelNameResourceId), NotificationManager.IMPORTANCE_LOW); + if (Util.SDK_INT <= 27) { + // API 28+ will automatically hide the app icon 'badge' for notifications using + // Notification.MediaStyle, but we have to manually hide it for APIs 26 (when badges were + // added) and 27. + channel.setShowBadge(false); + } notificationManager.createNotificationChannel(channel); } From 6dd0ace992e54a5ce79e5868c722e109d1de4a85 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Mon, 24 Oct 2022 16:27:18 +0000 Subject: [PATCH 348/422] Add CanIgnoreReturnValue to AudioProcessor#configure + implementations Although it can be useful to check the output format, it's not required or needed. For some AudioProcessor implementations, it is stated/obvious that the output format will match the input, in which case there is no a need to check the return value. #cleanup PiperOrigin-RevId: 483403679 (cherry picked from commit 8723e74b1f48377ea8962247e10ee54252dd2de3) --- .../java/androidx/media3/exoplayer/audio/AudioProcessor.java | 2 ++ .../androidx/media3/exoplayer/audio/BaseAudioProcessor.java | 3 +++ .../media3/exoplayer/audio/ChannelMappingAudioProcessor.java | 2 ++ .../media3/exoplayer/audio/FloatResamplingAudioProcessor.java | 2 ++ .../media3/exoplayer/audio/ResamplingAudioProcessor.java | 2 ++ .../media3/exoplayer/audio/SilenceSkippingAudioProcessor.java | 2 ++ .../androidx/media3/exoplayer/audio/SonicAudioProcessor.java | 2 ++ .../media3/transformer/SpeedChangingAudioProcessor.java | 2 ++ 8 files changed, 17 insertions(+) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java index f091e28726d..5bba6cee8f9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java @@ -19,6 +19,7 @@ import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -98,6 +99,7 @@ public UnhandledAudioFormatException(AudioFormat inputAudioFormat) { * @return The configured output audio format if this instance is {@link #isActive() active}. * @throws UnhandledAudioFormatException Thrown if the specified format can't be handled as input. */ + @CanIgnoreReturnValue AudioFormat configure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException; /** Returns whether the processor is configured and will process input buffers. */ diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java index acb7ba116cf..faa561e484f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java @@ -17,6 +17,7 @@ import androidx.annotation.CallSuper; import androidx.media3.common.util.UnstableApi; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -49,6 +50,7 @@ public BaseAudioProcessor() { } @Override + @CanIgnoreReturnValue public final AudioFormat configure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { pendingInputAudioFormat = inputAudioFormat; @@ -123,6 +125,7 @@ protected final boolean hasPendingOutput() { } /** Called when the processor is configured for a new input format. */ + @CanIgnoreReturnValue protected AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { return AudioFormat.NOT_SET; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java index 4057f36ad83..ce7f51bba00 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java @@ -19,6 +19,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Assertions; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -44,6 +45,7 @@ public void setChannelMap(@Nullable int[] outputChannels) { } @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { @Nullable int[] outputChannels = pendingOutputChannels; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java index be55b848ee7..5bbebd30f26 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java @@ -18,6 +18,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -36,6 +37,7 @@ private static final double PCM_32_BIT_INT_TO_PCM_32_BIT_FLOAT_FACTOR = 1.0 / 0x7FFFFFFF; @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { @C.PcmEncoding int encoding = inputAudioFormat.encoding; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java index 551802826a9..50f3abcdfaa 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java @@ -18,6 +18,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -36,6 +37,7 @@ /* package */ final class ResamplingAudioProcessor extends BaseAudioProcessor { @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { @C.PcmEncoding int encoding = inputAudioFormat.encoding; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java index 2a0ef051aba..8bc15c4e704 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java @@ -23,6 +23,7 @@ import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -145,6 +146,7 @@ public long getSkippedFrames() { // AudioProcessor implementation. @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { if (inputAudioFormat.encoding != C.ENCODING_PCM_16BIT) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java index ebaa246a9d9..e928735db8b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java @@ -22,6 +22,7 @@ import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.ShortBuffer; @@ -142,6 +143,7 @@ public long getMediaDuration(long playoutDuration) { } @Override + @CanIgnoreReturnValue public AudioFormat configure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { if (inputAudioFormat.encoding != C.ENCODING_PCM_16BIT) { throw new UnhandledAudioFormatException(inputAudioFormat); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java index 99ef799bc7a..4a567767c8e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java @@ -23,6 +23,7 @@ import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.media3.exoplayer.audio.BaseAudioProcessor; import androidx.media3.exoplayer.audio.SonicAudioProcessor; +import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; /** @@ -52,6 +53,7 @@ public SpeedChangingAudioProcessor(SpeedProvider speedProvider) { } @Override + @CanIgnoreReturnValue public AudioFormat onConfigure(AudioFormat inputAudioFormat) throws UnhandledAudioFormatException { return sonicAudioProcessor.configure(inputAudioFormat); From 7ed20efae4da74dcda2732c8f75015042da3bc48 Mon Sep 17 00:00:00 2001 From: ibaker Date: Mon, 24 Oct 2022 16:51:08 +0000 Subject: [PATCH 349/422] Use int for an unsigned byte value in Cea608Decoder This is a no-op, but it's more 'correct' because it avoids any potential sign mix-ups that come from storing an unsigned byte (with a potentially set MSB) in a signed java byte variable. PiperOrigin-RevId: 483409798 (cherry picked from commit c9a0aa9db0a44555727660957901cc601d32b16c) --- .../androidx/media3/extractor/text/cea/Cea608Decoder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java index a27f0bdeae9..b73e3038251 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java @@ -460,8 +460,8 @@ protected void decode(SubtitleInputBuffer inputBuffer) { ccData.reset(subtitleData.array(), subtitleData.limit()); boolean captionDataProcessed = false; while (ccData.bytesLeft() >= packetLength) { - byte ccHeader = - packetLength == 2 ? CC_IMPLICIT_DATA_HEADER : (byte) ccData.readUnsignedByte(); + int ccHeader = packetLength == 2 ? CC_IMPLICIT_DATA_HEADER : ccData.readUnsignedByte(); + int ccByte1 = ccData.readUnsignedByte(); int ccByte2 = ccData.readUnsignedByte(); From 373c23c11bb6b4661881ed42ea16d9c7627582ea Mon Sep 17 00:00:00 2001 From: ibaker Date: Tue, 25 Oct 2022 11:54:05 +0000 Subject: [PATCH 350/422] Create NotificationChannel in DefaultMediaNotificationProvider.Api26 The inner class avoids a verification failure, which can lead to slower execution at runtime. PiperOrigin-RevId: 483639417 (cherry picked from commit 026aea7d3d85406ef9acf4e65cfffbc5e683a762) --- .../DefaultMediaNotificationProvider.java | 33 ++++++++++++------- 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 5a836aff70c..4397b56e8f5 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -35,8 +35,10 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; +import androidx.annotation.DoNotInline; import androidx.annotation.DrawableRes; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.annotation.StringRes; import androidx.core.app.NotificationCompat; import androidx.core.graphics.drawable.IconCompat; @@ -572,18 +574,8 @@ private void ensureNotificationChannel() { if (Util.SDK_INT < 26 || notificationManager.getNotificationChannel(channelId) != null) { return; } - NotificationChannel channel = - new NotificationChannel( - channelId, - context.getString(channelNameResourceId), - NotificationManager.IMPORTANCE_LOW); - if (Util.SDK_INT <= 27) { - // API 28+ will automatically hide the app icon 'badge' for notifications using - // Notification.MediaStyle, but we have to manually hide it for APIs 26 (when badges were - // added) and 27. - channel.setShowBadge(false); - } - notificationManager.createNotificationChannel(channel); + Api26.createNotificationChannel( + notificationManager, channelId, context.getString(channelNameResourceId)); } /** @@ -652,4 +644,21 @@ public void onFailure(Throwable t) { } } } + + @RequiresApi(26) + private static class Api26 { + @DoNotInline + public static void createNotificationChannel( + NotificationManager notificationManager, String channelId, String channelName) { + NotificationChannel channel = + new NotificationChannel(channelId, channelName, NotificationManager.IMPORTANCE_LOW); + if (Util.SDK_INT <= 27) { + // API 28+ will automatically hide the app icon 'badge' for notifications using + // Notification.MediaStyle, but we have to manually hide it for APIs 26 (when badges were + // added) and 27. + channel.setShowBadge(false); + } + notificationManager.createNotificationChannel(channel); + } + } } From 88a413b2cba0b2cccaf704db056c0d44316fe3fc Mon Sep 17 00:00:00 2001 From: tianyifeng Date: Tue, 25 Oct 2022 13:21:08 +0000 Subject: [PATCH 351/422] Add injection of `BitmapLoader` from `MediaSession`. * Add `BitmapLoader` in `MediaSession.Builder` and `MediaLibrarySession.Builder`. * Pass `BitmapLoader` into the constructor of `MediaSession`, `MediaSessionImpl`, `MediaLibrarySession` and `MediaLibrarySessionImpl`. * Add an interface method `loadBitmapFromMetadata(MediaMetadata)` in `BitmapLoader`. * Remove the reference of `BitmapLoader` in `DefaultMediaNotificationProvider`. PiperOrigin-RevId: 483654596 (cherry picked from commit 3f69df72db7a4aa481dd315f008375148f548805) --- .../session/SimpleBitmapLoaderTest.java | 59 +++++++++++++++++++ .../androidx/media3/session/BitmapLoader.java | 25 ++++++++ .../DefaultMediaNotificationProvider.java | 38 +----------- .../media3/session/MediaLibraryService.java | 46 +++++++++++++-- .../session/MediaLibrarySessionImpl.java | 5 +- .../androidx/media3/session/MediaSession.java | 53 +++++++++++++++-- .../media3/session/MediaSessionImpl.java | 9 ++- .../DefaultMediaNotificationProviderTest.java | 22 ++++++- 8 files changed, 207 insertions(+), 50 deletions(-) diff --git a/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java b/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java index ff3c92236d4..f84cf65124b 100644 --- a/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java +++ b/libraries/session/src/androidTest/java/androidx/media3/session/SimpleBitmapLoaderTest.java @@ -21,6 +21,7 @@ import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.net.Uri; +import androidx.media3.common.MediaMetadata; import androidx.media3.test.utils.TestUtil; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; @@ -166,6 +167,64 @@ public void load_unhandledUriScheme_throwsException() { /* messagePart= */ "unknown protocol"); } + @Test + public void loadBitmapFromMetadata_decodeFromArtworkData() throws Exception { + byte[] imageData = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + MockWebServer mockWebServer = new MockWebServer(); + Uri uri = Uri.parse(mockWebServer.url("test_path").toString()); + // Set both artworkData and artworkUri + MediaMetadata metadata = + new MediaMetadata.Builder() + .setArtworkData(imageData, MediaMetadata.PICTURE_TYPE_FRONT_COVER) + .setArtworkUri(uri) + .build(); + SimpleBitmapLoader bitmapLoader = + new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); + + Bitmap bitmap = bitmapLoader.loadBitmapFromMetadata(metadata).get(); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData, /* offset= */ 0, imageData.length))) + .isTrue(); + assertThat(mockWebServer.getRequestCount()).isEqualTo(0); + } + + @Test + public void loadBitmapFromMetadata_loadFromArtworkUri() throws Exception { + byte[] imageData = + TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + MockWebServer mockWebServer = new MockWebServer(); + Buffer responseBody = new Buffer().write(imageData); + mockWebServer.enqueue(new MockResponse().setResponseCode(200).setBody(responseBody)); + Uri uri = Uri.parse(mockWebServer.url("test_path").toString()); + // Just set artworkUri + MediaMetadata metadata = new MediaMetadata.Builder().setArtworkUri(uri).build(); + SimpleBitmapLoader bitmapLoader = + new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); + + Bitmap bitmap = bitmapLoader.loadBitmapFromMetadata(metadata).get(); + + assertThat( + bitmap.sameAs( + BitmapFactory.decodeByteArray(imageData, /* offset= */ 0, imageData.length))) + .isTrue(); + assertThat(mockWebServer.getRequestCount()).isEqualTo(1); + } + + @Test + public void loadBitmapFromMetadata_returnNull() throws Exception { + // Neither artworkData nor artworkUri is set + MediaMetadata metadata = new MediaMetadata.Builder().build(); + SimpleBitmapLoader bitmapLoader = + new SimpleBitmapLoader(MoreExecutors.newDirectExecutorService()); + + ListenableFuture bitmapFuture = bitmapLoader.loadBitmapFromMetadata(metadata); + + assertThat(bitmapFuture).isNull(); + } + private static void assertException( ThrowingRunnable runnable, Class clazz, String messagePart) { ExecutionException executionException = assertThrows(ExecutionException.class, runnable); diff --git a/libraries/session/src/main/java/androidx/media3/session/BitmapLoader.java b/libraries/session/src/main/java/androidx/media3/session/BitmapLoader.java index 2b888069434..d0142c1df17 100644 --- a/libraries/session/src/main/java/androidx/media3/session/BitmapLoader.java +++ b/libraries/session/src/main/java/androidx/media3/session/BitmapLoader.java @@ -17,6 +17,8 @@ import android.graphics.Bitmap; import android.net.Uri; +import androidx.annotation.Nullable; +import androidx.media3.common.MediaMetadata; import androidx.media3.common.util.UnstableApi; import com.google.common.util.concurrent.ListenableFuture; @@ -25,6 +27,29 @@ public interface BitmapLoader { /** Decodes an image from compressed binary data. */ ListenableFuture decodeBitmap(byte[] data); + /** Loads an image from {@code uri}. */ ListenableFuture loadBitmap(Uri uri); + + /** + * Loads an image from {@link MediaMetadata}. Returns null if {@code metadata} doesn't contain + * bitmap information. + * + *

      By default, the method will try to decode an image from {@link MediaMetadata#artworkData} if + * it is present. Otherwise, the method will try to load an image from {@link + * MediaMetadata#artworkUri} if it is present. The method will return null if neither {@link + * MediaMetadata#artworkData} nor {@link MediaMetadata#artworkUri} is present. + */ + @Nullable + default ListenableFuture loadBitmapFromMetadata(MediaMetadata metadata) { + @Nullable ListenableFuture future; + if (metadata.artworkData != null) { + future = decodeBitmap(metadata.artworkData); + } else if (metadata.artworkUri != null) { + future = loadBitmap(metadata.artworkUri); + } else { + future = null; + } + return future; + } } diff --git a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java index 4397b56e8f5..008ba329ebc 100644 --- a/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java +++ b/libraries/session/src/main/java/androidx/media3/session/DefaultMediaNotificationProvider.java @@ -123,7 +123,6 @@ public static final class Builder { private NotificationIdProvider notificationIdProvider; private String channelId; @StringRes private int channelNameResourceId; - private BitmapLoader bitmapLoader; private boolean built; /** @@ -136,7 +135,6 @@ public Builder(Context context) { notificationIdProvider = session -> DEFAULT_NOTIFICATION_ID; channelId = DEFAULT_CHANNEL_ID; channelNameResourceId = DEFAULT_CHANNEL_NAME_RESOURCE_ID; - bitmapLoader = new SimpleBitmapLoader(); } /** @@ -196,19 +194,6 @@ public Builder setChannelName(@StringRes int channelNameResourceId) { return this; } - /** - * Sets the {@link BitmapLoader} used load artwork. By default, a {@link CacheBitmapLoader} with - * a {@link SimpleBitmapLoader} inside will be used. - * - * @param bitmapLoader The bitmap loader. - * @return This builder. - */ - @CanIgnoreReturnValue - public Builder setBitmapLoader(BitmapLoader bitmapLoader) { - this.bitmapLoader = new CacheBitmapLoader(bitmapLoader); - return this; - } - /** * Builds the {@link DefaultMediaNotificationProvider}. The method can be called at most once. */ @@ -259,7 +244,6 @@ public interface NotificationIdProvider { private final String channelId; @StringRes private final int channelNameResourceId; private final NotificationManager notificationManager; - private final BitmapLoader bitmapLoader; // Cache the last bitmap load request to avoid reloading the bitmap again, particularly useful // when showing a notification for the same item (e.g. when switching from playing to paused). private final Handler mainHandler; @@ -272,7 +256,6 @@ private DefaultMediaNotificationProvider(Builder builder) { this.notificationIdProvider = builder.notificationIdProvider; this.channelId = builder.channelId; this.channelNameResourceId = builder.channelNameResourceId; - this.bitmapLoader = new CacheBitmapLoader(builder.bitmapLoader); notificationManager = checkStateNotNull( (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE)); @@ -312,7 +295,9 @@ public final MediaNotification createNotification( builder .setContentTitle(getNotificationContentTitle(metadata)) .setContentText(getNotificationContentText(metadata)); - @Nullable ListenableFuture bitmapFuture = loadArtworkBitmap(metadata); + @Nullable + ListenableFuture bitmapFuture = + mediaSession.getBitmapLoader().loadBitmapFromMetadata(metadata); if (bitmapFuture != null) { if (pendingOnBitmapLoadedFutureCallback != null) { pendingOnBitmapLoadedFutureCallback.discardIfPending(); @@ -578,23 +563,6 @@ private void ensureNotificationChannel() { notificationManager, channelId, context.getString(channelNameResourceId)); } - /** - * Requests from the bitmapLoader to load artwork or returns null if the metadata don't include - * artwork. - */ - @Nullable - private ListenableFuture loadArtworkBitmap(MediaMetadata metadata) { - @Nullable ListenableFuture future; - if (metadata.artworkData != null) { - future = bitmapLoader.decodeBitmap(metadata.artworkData); - } else if (metadata.artworkUri != null) { - future = bitmapLoader.loadBitmap(metadata.artworkUri); - } else { - future = null; - } - return future; - } - private static long getPlaybackStartTimeEpochMs(Player player) { // Changing "showWhen" causes notification flicker if SDK_INT < 21. if (Util.SDK_INT >= 21 diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java index 233bc2a5b25..bb6b8ebfa9b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryService.java @@ -24,6 +24,7 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.os.IBinder; import androidx.annotation.IntDef; @@ -420,6 +421,28 @@ public Builder setExtras(Bundle extras) { return super.setExtras(extras); } + /** + * Sets a {@link BitmapLoader} for the {@link MediaLibrarySession} to decode bitmaps from + * compressed binary data or load bitmaps from {@link Uri}. If not set, a {@link + * CacheBitmapLoader} with a {@link SimpleBitmapLoader} inside will be used. + * + *

      The provided instance will likely be called repeatedly with the same request, so it + * would be best if any provided instance does some caching. Simple caching can be added to + * any {@link BitmapLoader} implementation by wrapping it in {@link CacheBitmapLoader} before + * passing it to this method. + * + *

      If no instance is set, a {@link CacheBitmapLoader} with a {@link SimpleBitmapLoader} + * inside will be used. + * + * @param bitmapLoader The bitmap loader {@link BitmapLoader}. + * @return The builder to allow chaining. + */ + @UnstableApi + @Override + public Builder setBitmapLoader(BitmapLoader bitmapLoader) { + return super.setBitmapLoader(bitmapLoader); + } + /** * Builds a {@link MediaLibrarySession}. * @@ -429,7 +452,11 @@ public Builder setExtras(Bundle extras) { */ @Override public MediaLibrarySession build() { - return new MediaLibrarySession(context, id, player, sessionActivity, callback, extras); + if (bitmapLoader == null) { + bitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + } + return new MediaLibrarySession( + context, id, player, sessionActivity, callback, extras, checkNotNull(bitmapLoader)); } } @@ -439,8 +466,9 @@ public MediaLibrarySession build() { Player player, @Nullable PendingIntent sessionActivity, MediaSession.Callback callback, - Bundle tokenExtras) { - super(context, id, player, sessionActivity, callback, tokenExtras); + Bundle tokenExtras, + BitmapLoader bitmapLoader) { + super(context, id, player, sessionActivity, callback, tokenExtras, bitmapLoader); } @Override @@ -450,9 +478,17 @@ public MediaLibrarySession build() { Player player, @Nullable PendingIntent sessionActivity, MediaSession.Callback callback, - Bundle tokenExtras) { + Bundle tokenExtras, + BitmapLoader bitmapLoader) { return new MediaLibrarySessionImpl( - this, context, id, player, sessionActivity, (Callback) callback, tokenExtras); + this, + context, + id, + player, + sessionActivity, + (Callback) callback, + tokenExtras, + bitmapLoader); } @Override diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java index e2c966547d4..2bed390949b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibrarySessionImpl.java @@ -64,8 +64,9 @@ public MediaLibrarySessionImpl( Player player, @Nullable PendingIntent sessionActivity, MediaLibrarySession.Callback callback, - Bundle tokenExtras) { - super(instance, context, id, player, sessionActivity, callback, tokenExtras); + Bundle tokenExtras, + BitmapLoader bitmapLoader) { + super(instance, context, id, player, sessionActivity, callback, tokenExtras, bitmapLoader); this.instance = instance; this.callback = callback; subscriptions = new ArrayMap<>(); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index 11ce5e5be1b..a2b58d3cfef 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -61,6 +61,7 @@ import com.google.common.util.concurrent.ListenableFuture; import java.util.HashMap; import java.util.List; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * A session that allows a media app to expose its transport controls and playback information in a @@ -307,6 +308,28 @@ public Builder setExtras(Bundle extras) { return super.setExtras(extras); } + /** + * Sets a {@link BitmapLoader} for the {@link MediaSession} to decode bitmaps from compressed + * binary data or load bitmaps from {@link Uri}. If not set, a {@link CacheBitmapLoader} with a + * {@link SimpleBitmapLoader} inside will be used. + * + *

      The provided instance will likely be called repeatedly with the same request, so it would + * be best if any provided instance does some caching. Simple caching can be added to any {@link + * BitmapLoader} implementation by wrapping it in {@link CacheBitmapLoader} before passing it to + * this method. + * + *

      If no instance is set, a {@link CacheBitmapLoader} with a {@link SimpleBitmapLoader} + * inside will be used. + * + * @param bitmapLoader The bitmap loader {@link BitmapLoader}. + * @return The builder to allow chaining. + */ + @UnstableApi + @Override + public Builder setBitmapLoader(BitmapLoader bitmapLoader) { + return super.setBitmapLoader(bitmapLoader); + } + /** * Builds a {@link MediaSession}. * @@ -316,7 +339,11 @@ public Builder setExtras(Bundle extras) { */ @Override public MediaSession build() { - return new MediaSession(context, id, player, sessionActivity, callback, extras); + if (bitmapLoader == null) { + bitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); + } + return new MediaSession( + context, id, player, sessionActivity, callback, extras, checkNotNull(bitmapLoader)); } } @@ -487,14 +514,15 @@ public String toString() { Player player, @Nullable PendingIntent sessionActivity, Callback callback, - Bundle tokenExtras) { + Bundle tokenExtras, + BitmapLoader bitmapLoader) { synchronized (STATIC_LOCK) { if (SESSION_ID_TO_SESSION_MAP.containsKey(id)) { throw new IllegalStateException("Session ID must be unique. ID=" + id); } SESSION_ID_TO_SESSION_MAP.put(id, this); } - impl = createImpl(context, id, player, sessionActivity, callback, tokenExtras); + impl = createImpl(context, id, player, sessionActivity, callback, tokenExtras, bitmapLoader); } /* package */ MediaSessionImpl createImpl( @@ -503,8 +531,10 @@ public String toString() { Player player, @Nullable PendingIntent sessionActivity, Callback callback, - Bundle tokenExtras) { - return new MediaSessionImpl(this, context, id, player, sessionActivity, callback, tokenExtras); + Bundle tokenExtras, + BitmapLoader bitmapLoader) { + return new MediaSessionImpl( + this, context, id, player, sessionActivity, callback, tokenExtras, bitmapLoader); } /* package */ MediaSessionImpl getImpl() { @@ -741,6 +771,12 @@ public void setSessionExtras(ControllerInfo controller, Bundle sessionExtras) { impl.setSessionExtras(controller, sessionExtras); } + /** Returns the {@link BitmapLoader}. */ + @UnstableApi + public BitmapLoader getBitmapLoader() { + return impl.getBitmapLoader(); + } + /** * Sends a custom command to a specific controller. * @@ -1218,6 +1254,7 @@ default void onRenderedFirstFrame(int seq) throws RemoteException {} /* package */ C callback; /* package */ @Nullable PendingIntent sessionActivity; /* package */ Bundle extras; + /* package */ @MonotonicNonNull BitmapLoader bitmapLoader; public BuilderBase(Context context, Player player, C callback) { this.context = checkNotNull(context); @@ -1252,6 +1289,12 @@ public U setExtras(Bundle extras) { return (U) this; } + @SuppressWarnings("unchecked") + public U setBitmapLoader(BitmapLoader bitmapLoader) { + this.bitmapLoader = bitmapLoader; + return (U) this; + } + public abstract T build(); } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index 1bf05a72557..68f8eee074f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -116,6 +116,7 @@ private final PendingIntent mediaButtonIntent; @Nullable private final BroadcastReceiver broadcastReceiver; private final Handler applicationHandler; + private final BitmapLoader bitmapLoader; @Nullable private PlayerListener playerListener; @@ -139,7 +140,8 @@ public MediaSessionImpl( Player player, @Nullable PendingIntent sessionActivity, MediaSession.Callback callback, - Bundle tokenExtras) { + Bundle tokenExtras, + BitmapLoader bitmapLoader) { this.context = context; this.instance = instance; @@ -152,6 +154,7 @@ public MediaSessionImpl( applicationHandler = new Handler(player.getApplicationLooper()); this.callback = callback; + this.bitmapLoader = bitmapLoader; playerInfo = PlayerInfo.DEFAULT; onPlayerInfoChangedHandler = new PlayerInfoChangedHandler(player.getApplicationLooper()); @@ -357,6 +360,10 @@ public void setSessionExtras(ControllerInfo controller, Bundle sessionExtras) { } } + public BitmapLoader getBitmapLoader() { + return bitmapLoader; + } + public void setAvailableCommands( ControllerInfo controller, SessionCommands sessionCommands, Player.Commands playerCommands) { if (sessionStub.getConnectedControllersManager().isConnected(controller)) { diff --git a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java index 23b15cb7fea..bf23e9c894f 100644 --- a/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java +++ b/libraries/session/src/test/java/androidx/media3/session/DefaultMediaNotificationProviderTest.java @@ -418,10 +418,10 @@ public void createNotification_withNewRequest_discardPendingCallback() { new DefaultActionFactory(Robolectric.setupService(TestService.class)); BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); SettableFuture bitmapFuture = SettableFuture.create(); - when(mockBitmapLoader.loadBitmap(any())).thenReturn(bitmapFuture); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(bitmapFuture); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); DefaultMediaNotificationProvider defaultMediaNotificationProvider = new DefaultMediaNotificationProvider.Builder(ApplicationProvider.getApplicationContext()) - .setBitmapLoader(mockBitmapLoader) .build(); // Ask the notification provider to create a notification twice. Use separate callback instances @@ -456,6 +456,9 @@ public void provider_idsNotSpecified_usesDefaultIds() { DefaultMediaNotificationProvider defaultMediaNotificationProvider = new DefaultMediaNotificationProvider.Builder(context).build(); MediaSession mockMediaSession = createMockMediaSessionForNotification(MediaMetadata.EMPTY); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(null); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); @@ -487,6 +490,9 @@ public void provider_withCustomIds_notificationsUseCustomIds() { .setChannelName(/* channelNameResourceId= */ R.string.media3_controls_play_description) .build(); MediaSession mockMediaSession = createMockMediaSessionForNotification(MediaMetadata.EMPTY); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(null); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); @@ -521,6 +527,9 @@ public void provider_withCustomNotificationIdProvider_notificationsUseCustomId() .setChannelName(/* channelNameResourceId= */ R.string.media3_controls_play_description) .build(); MediaSession mockMediaSession = createMockMediaSessionForNotification(MediaMetadata.EMPTY); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(null); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); @@ -542,6 +551,9 @@ public void setCustomSmallIcon_notificationUsesCustomSmallIcon() { DefaultActionFactory defaultActionFactory = new DefaultActionFactory(Robolectric.setupService(TestService.class)); MediaSession mockMediaSession = createMockMediaSessionForNotification(MediaMetadata.EMPTY); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(null); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); MediaNotification notification = defaultMediaNotificationProvider.createNotification( @@ -574,6 +586,9 @@ public void setMediaMetadataTitle_notificationUsesItAsContentTitle() { MediaSession mockMediaSession = createMockMediaSessionForNotification( new MediaMetadata.Builder().setTitle("title").build()); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(null); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); MediaNotification notification = defaultMediaNotificationProvider.createNotification( @@ -597,6 +612,9 @@ public void setMediaMetadataArtist_notificationUsesItAsContentText() { MediaSession mockMediaSession = createMockMediaSessionForNotification( new MediaMetadata.Builder().setArtist("artist").build()); + BitmapLoader mockBitmapLoader = mock(BitmapLoader.class); + when(mockBitmapLoader.loadBitmapFromMetadata(any())).thenReturn(null); + when(mockMediaSession.getBitmapLoader()).thenReturn(mockBitmapLoader); MediaNotification notification = defaultMediaNotificationProvider.createNotification( From 5974bee7c52bdbf2fe66b8ab45aeaa4e10ab4881 Mon Sep 17 00:00:00 2001 From: claincly Date: Tue, 25 Oct 2022 14:47:52 +0000 Subject: [PATCH 352/422] Add GL utility methods to get 4x4 identity and set identity PiperOrigin-RevId: 483671580 (cherry picked from commit be7bb0eea4f01e5c73c2aa604c5b3126230586b4) --- .../java/androidx/media3/common/util/GlUtil.java | 13 +++++++++++++ .../androidx/media3/effect/ColorLutProcessor.java | 4 +--- .../androidx/media3/effect/ContrastProcessor.java | 4 +--- .../effect/FinalMatrixTextureProcessorWrapper.java | 4 +--- .../java/androidx/media3/effect/HslProcessor.java | 4 +--- .../media3/effect/MatrixTextureProcessor.java | 11 ++++------- .../java/androidx/media3/effect/RgbAdjustment.java | 4 ++-- .../androidx/media3/effect/MatrixUtilsTest.java | 4 ++-- .../video/spherical/FrameRotationQueue.java | 5 +++-- .../exoplayer/video/spherical/SceneRenderer.java | 2 +- .../video/spherical/SphericalGLSurfaceView.java | 7 ++++--- .../video/spherical/FrameRotationQueueTest.java | 5 ++--- 12 files changed, 35 insertions(+), 32 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java index a9a557ef6b7..128f708d29c 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/GlUtil.java @@ -29,6 +29,7 @@ import android.opengl.GLES11Ext; import android.opengl.GLES20; import android.opengl.GLES30; +import android.opengl.Matrix; import androidx.annotation.DoNotInline; import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; @@ -114,6 +115,18 @@ public static float[] getTextureCoordinateBounds() { }; } + /** Creates a 4x4 identity matrix. */ + public static float[] create4x4IdentityMatrix() { + float[] matrix = new float[16]; + setToIdentity(matrix); + return matrix; + } + + /** Sets the input {@code matrix} to an identity matrix. */ + public static void setToIdentity(float[] matrix) { + Matrix.setIdentityM(matrix, /* smOffset= */ 0); + } + /** Flattens the list of 4 element NDC coordinate vectors into a buffer. */ public static float[] createVertexBuffer(List vertexList) { float[] vertexBuffer = new float[HOMOGENEOUS_COORDINATE_VECTOR_SIZE * vertexList.size()]; diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java index e7131d6df41..482e4c0e502 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ColorLutProcessor.java @@ -20,7 +20,6 @@ import android.content.Context; import android.opengl.GLES20; -import android.opengl.Matrix; import android.util.Pair; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; @@ -63,8 +62,7 @@ public ColorLutProcessor(Context context, ColorLut colorLut, boolean useHdr) GlUtil.getNormalizedCoordinateBounds(), GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - float[] identityMatrix = new float[16]; - Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + float[] identityMatrix = GlUtil.create4x4IdentityMatrix(); glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java index 0c4a5a4ab10..dca284af7d5 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ContrastProcessor.java @@ -18,7 +18,6 @@ import android.content.Context; import android.opengl.GLES20; -import android.opengl.Matrix; import android.util.Pair; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; @@ -59,8 +58,7 @@ public ContrastProcessor(Context context, Contrast contrastEffect, boolean useHd GlUtil.getNormalizedCoordinateBounds(), GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - float[] identityMatrix = new float[16]; - Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + float[] identityMatrix = GlUtil.create4x4IdentityMatrix(); glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); glProgram.setFloatUniform("uContrastFactor", contrastFactor); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java index 6304e493abb..32ed0ae8368 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/FinalMatrixTextureProcessorWrapper.java @@ -25,7 +25,6 @@ import android.opengl.EGLExt; import android.opengl.EGLSurface; import android.opengl.GLES20; -import android.opengl.Matrix; import android.util.Pair; import android.view.Surface; import android.view.SurfaceHolder; @@ -117,8 +116,7 @@ public FinalMatrixTextureProcessorWrapper( this.colorInfo = colorInfo; this.releaseFramesAutomatically = releaseFramesAutomatically; - textureTransformMatrix = new float[16]; - Matrix.setIdentityM(textureTransformMatrix, /* smOffset= */ 0); + textureTransformMatrix = GlUtil.create4x4IdentityMatrix(); streamOffsetUsQueue = new ConcurrentLinkedQueue<>(); inputListener = new InputListener() {}; availableFrames = new ConcurrentLinkedQueue<>(); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/HslProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/HslProcessor.java index a4ccdcd254f..b4a481b7575 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/HslProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/HslProcessor.java @@ -20,7 +20,6 @@ import android.content.Context; import android.opengl.GLES20; -import android.opengl.Matrix; import android.util.Pair; import androidx.media3.common.FrameProcessingException; import androidx.media3.common.util.GlProgram; @@ -61,8 +60,7 @@ public HslProcessor(Context context, HslAdjustment hslAdjustment, boolean useHdr GlUtil.getNormalizedCoordinateBounds(), GlUtil.HOMOGENEOUS_COORDINATE_VECTOR_SIZE); - float[] identityMatrix = new float[16]; - Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + float[] identityMatrix = GlUtil.create4x4IdentityMatrix(); glProgram.setFloatsUniform("uTransformationMatrix", identityMatrix); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java index 183b1b7cb6d..6f4f7bee741 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/MatrixTextureProcessor.java @@ -356,10 +356,8 @@ private MatrixTextureProcessor( transformationMatrixCache = new float[matrixTransformations.size()][16]; rgbMatrixCache = new float[rgbMatrices.size()][16]; - compositeTransformationMatrixArray = new float[16]; - Matrix.setIdentityM(compositeTransformationMatrixArray, /* smOffset= */ 0); - compositeRgbMatrixArray = new float[16]; - Matrix.setIdentityM(compositeRgbMatrixArray, /* smOffset= */ 0); + compositeTransformationMatrixArray = GlUtil.create4x4IdentityMatrix(); + compositeRgbMatrixArray = GlUtil.create4x4IdentityMatrix(); tempResultMatrix = new float[16]; visiblePolygon = NDC_SQUARE; } @@ -375,8 +373,7 @@ private static GlProgram createGlProgram( throw new FrameProcessingException(e); } - float[] identityMatrix = new float[16]; - Matrix.setIdentityM(identityMatrix, /* smOffset= */ 0); + float[] identityMatrix = GlUtil.create4x4IdentityMatrix(); glProgram.setFloatsUniform("uTexTransformationMatrix", identityMatrix); return glProgram; } @@ -444,7 +441,7 @@ private void updateCompositeTransformationMatrixAndVisiblePolygon(long presentat // Compute the compositeTransformationMatrix and transform and clip the visiblePolygon for each // MatrixTransformation's matrix. - Matrix.setIdentityM(compositeTransformationMatrixArray, /* smOffset= */ 0); + GlUtil.setToIdentity(compositeTransformationMatrixArray); visiblePolygon = NDC_SQUARE; for (float[] transformationMatrix : transformationMatrixCache) { Matrix.multiplyMM( diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java index 4d4604b5890..3aea0b72e81 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbAdjustment.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkArgument; import android.opengl.Matrix; +import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import com.google.errorprone.annotations.CanIgnoreReturnValue; @@ -80,8 +81,7 @@ public Builder setBlueScale(float blueScale) { /** Creates a new {@link RgbAdjustment} instance. */ public RgbAdjustment build() { - float[] rgbMatrix = new float[16]; - Matrix.setIdentityM(rgbMatrix, /* smOffset= */ 0); + float[] rgbMatrix = GlUtil.create4x4IdentityMatrix(); Matrix.scaleM( rgbMatrix, /* smOffset= */ 0, /* x= */ redScale, /* y= */ greenScale, /* z= */ blueScale); diff --git a/libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java b/libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java index e548002f0a5..d7060b980b8 100644 --- a/libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java +++ b/libraries/effect/src/test/java/androidx/media3/effect/MatrixUtilsTest.java @@ -19,6 +19,7 @@ import static org.junit.Assert.assertThrows; import android.opengl.Matrix; +import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.google.common.collect.ImmutableList; import org.junit.Test; @@ -162,8 +163,7 @@ public void transformPoints_returnsExpectedResult() { ImmutableList points = ImmutableList.of( new float[] {-1, 0, 1, 1}, new float[] {1, 0, 1, 1}, new float[] {0, 1, 1, 1}); - float[] scaleMatrix = new float[16]; - Matrix.setIdentityM(scaleMatrix, /* smOffset= */ 0); + float[] scaleMatrix = GlUtil.create4x4IdentityMatrix(); Matrix.scaleM(scaleMatrix, /* mOffset= */ 0, /* x= */ 2, /* y= */ 3, /* z= */ 4); ImmutableList actualTransformedPoints = diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueue.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueue.java index 60082c03471..1dbee662377 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueue.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueue.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.video.spherical; import android.opengl.Matrix; +import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.TimedValueQueue; /** @@ -96,7 +97,7 @@ public static void computeRecenterMatrix(float[] recenterMatrix, float[] rotatio // | 0 1 0 0| // recenter = | temp[8] 0 temp[10] 0| // | 0 0 0 1| - Matrix.setIdentityM(recenterMatrix, 0); + GlUtil.setToIdentity(recenterMatrix); float normRowSqr = rotationMatrix[10] * rotationMatrix[10] + rotationMatrix[8] * rotationMatrix[8]; float normRow = (float) Math.sqrt(normRowSqr); @@ -118,7 +119,7 @@ private static void getRotationMatrixFromAngleAxis(float[] matrix, float[] angle float angleDeg = (float) Math.toDegrees(angleRad); Matrix.setRotateM(matrix, 0, angleDeg, x / angleRad, y / angleRad, z / angleRad); } else { - Matrix.setIdentityM(matrix, 0); + GlUtil.setToIdentity(matrix); } } } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java index 5d262acd3e4..18ecb01ba9f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java @@ -129,7 +129,7 @@ public void drawFrame(float[] viewProjectionMatrix, boolean rightEye) { Log.e(TAG, "Failed to draw a frame", e); } if (resetRotationAtNextFrame.compareAndSet(true, false)) { - Matrix.setIdentityM(rotationMatrix, 0); + GlUtil.setToIdentity(rotationMatrix); } long lastFrameTimestampNs = surfaceTexture.getTimestamp(); Long sampleTimestampUs = sampleTimestampQueue.poll(lastFrameTimestampNs); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SphericalGLSurfaceView.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SphericalGLSurfaceView.java index dd5b57e4c65..b351c6c76ec 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SphericalGLSurfaceView.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SphericalGLSurfaceView.java @@ -37,6 +37,7 @@ import androidx.annotation.VisibleForTesting; import androidx.media3.common.C; import androidx.media3.common.util.Assertions; +import androidx.media3.common.util.GlUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.video.VideoFrameMetadataListener; @@ -286,9 +287,9 @@ private static void releaseSurface( public Renderer(SceneRenderer scene) { this.scene = scene; - Matrix.setIdentityM(deviceOrientationMatrix, 0); - Matrix.setIdentityM(touchPitchMatrix, 0); - Matrix.setIdentityM(touchYawMatrix, 0); + GlUtil.setToIdentity(deviceOrientationMatrix); + GlUtil.setToIdentity(touchPitchMatrix); + GlUtil.setToIdentity(touchYawMatrix); deviceRoll = UPRIGHT_ROLL; } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueueTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueueTest.java index bbc0d63cda2..7f39987d6c6 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueueTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/spherical/FrameRotationQueueTest.java @@ -18,6 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import android.opengl.Matrix; +import androidx.media3.common.util.GlUtil; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Before; import org.junit.Test; @@ -65,9 +66,7 @@ public void recentering_justYaw() throws Exception { float[] actualMatrix = getRotationMatrixFromAngleAxis( /* angleRadian= */ (float) Math.PI, /* x= */ 0, /* y= */ 1, /* z= */ 0); - float[] expectedMatrix = new float[16]; - Matrix.setIdentityM(expectedMatrix, 0); - assertEquals(actualMatrix, expectedMatrix); + assertEquals(actualMatrix, GlUtil.create4x4IdentityMatrix()); } @Test From 35900f94fa68d7d09fa851ac3a53f0ea0bb9af95 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 25 Oct 2022 16:40:38 +0000 Subject: [PATCH 353/422] Move AudioProcessor to common. PiperOrigin-RevId: 483699606 (cherry picked from commit fc34542864dac5045d0fb460fd51c6bb2f1112c6) --- RELEASENOTES.md | 2 ++ .../media3/common}/audio/AudioProcessor.java | 2 +- .../media3/common/audio/package-info.java | 19 +++++++++++++++++++ .../decoder/ffmpeg/FfmpegAudioRenderer.java | 2 +- .../decoder/flac/LibflacAudioRenderer.java | 2 +- .../decoder/opus/LibopusAudioRenderer.java | 2 +- .../exoplayer/audio/BaseAudioProcessor.java | 1 + .../audio/ChannelMappingAudioProcessor.java | 1 + .../exoplayer/audio/DecoderAudioRenderer.java | 1 + .../exoplayer/audio/DefaultAudioSink.java | 3 ++- .../audio/FloatResamplingAudioProcessor.java | 1 + .../audio/MediaCodecAudioRenderer.java | 1 + .../audio/ResamplingAudioProcessor.java | 1 + .../audio/SilenceSkippingAudioProcessor.java | 1 + .../exoplayer/audio/SonicAudioProcessor.java | 1 + .../SilenceSkippingAudioProcessorTest.java | 2 +- .../audio/SonicAudioProcessorTest.java | 4 ++-- .../audio/TeeAudioProcessorTest.java | 2 +- .../audio/TrimmingAudioProcessorTest.java | 2 +- .../AudioTranscodingSamplePipeline.java | 4 ++-- .../SpeedChangingAudioProcessor.java | 2 +- .../transformer/TransformationException.java | 4 ++-- .../SpeedChangingAudioProcessorTest.java | 2 +- 23 files changed, 46 insertions(+), 16 deletions(-) rename libraries/{exoplayer/src/main/java/androidx/media3/exoplayer => common/src/main/java/androidx/media3/common}/audio/AudioProcessor.java (99%) create mode 100644 libraries/common/src/main/java/androidx/media3/common/audio/package-info.java diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 934e02adb0f..9b36cdd98e1 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -41,6 +41,8 @@ Release notes ([#7279](https://github.com/google/ExoPlayer/issues/7279)). * Add `ExoPlayer.setPreferredAudioDevice` to set the preferred audio output device ([#135](https://github.com/androidx/media/issues/135)). + * Rename `androidx.media3.exoplayer.audio.AudioProcessor` to + `androidx.media3.common.audio.AudioProcessor`. * Metadata: * `MetadataRenderer` can now be configured to render metadata as soon as they are available. Create an instance with diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java similarity index 99% rename from libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java rename to libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java index 5bba6cee8f9..7f07c28d71f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package androidx.media3.exoplayer.audio; +package androidx.media3.common.audio; import androidx.media3.common.C; import androidx.media3.common.Format; diff --git a/libraries/common/src/main/java/androidx/media3/common/audio/package-info.java b/libraries/common/src/main/java/androidx/media3/common/audio/package-info.java new file mode 100644 index 00000000000..43c4c65ce14 --- /dev/null +++ b/libraries/common/src/main/java/androidx/media3/common/audio/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +@NonNullApi +package androidx.media3.common.audio; + +import androidx.media3.common.util.NonNullApi; diff --git a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java index f9119e5e431..3cf05a8ae55 100644 --- a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java +++ b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java @@ -24,12 +24,12 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.decoder.CryptoConfig; -import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.media3.exoplayer.audio.AudioRendererEventListener; import androidx.media3.exoplayer.audio.AudioSink; import androidx.media3.exoplayer.audio.AudioSink.SinkFormatSupport; diff --git a/libraries/decoder_flac/src/main/java/androidx/media3/decoder/flac/LibflacAudioRenderer.java b/libraries/decoder_flac/src/main/java/androidx/media3/decoder/flac/LibflacAudioRenderer.java index 721a6348ad8..575e4025356 100644 --- a/libraries/decoder_flac/src/main/java/androidx/media3/decoder/flac/LibflacAudioRenderer.java +++ b/libraries/decoder_flac/src/main/java/androidx/media3/decoder/flac/LibflacAudioRenderer.java @@ -20,11 +20,11 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.decoder.CryptoConfig; -import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.media3.exoplayer.audio.AudioRendererEventListener; import androidx.media3.exoplayer.audio.AudioSink; import androidx.media3.exoplayer.audio.DecoderAudioRenderer; diff --git a/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/LibopusAudioRenderer.java b/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/LibopusAudioRenderer.java index ec9717366ce..a8f2f7462f9 100644 --- a/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/LibopusAudioRenderer.java +++ b/libraries/decoder_opus/src/main/java/androidx/media3/decoder/opus/LibopusAudioRenderer.java @@ -20,11 +20,11 @@ import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.TraceUtil; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.decoder.CryptoConfig; -import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.media3.exoplayer.audio.AudioRendererEventListener; import androidx.media3.exoplayer.audio.AudioSink; import androidx.media3.exoplayer.audio.AudioSink.SinkFormatSupport; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java index faa561e484f..46040e90e52 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/BaseAudioProcessor.java @@ -16,6 +16,7 @@ package androidx.media3.exoplayer.audio; import androidx.annotation.CallSuper; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.UnstableApi; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java index ce7f51bba00..2d5f0536ee4 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ChannelMappingAudioProcessor.java @@ -18,6 +18,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Assertions; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java index 0dc2dcacd73..a11f5698ca9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java @@ -38,6 +38,7 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.PlaybackException; import androidx.media3.common.PlaybackParameters; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.Log; import androidx.media3.common.util.TraceUtil; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index ac4135f8050..f0d6ccd3e85 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -45,6 +45,8 @@ import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.PlaybackParameters; +import androidx.media3.common.audio.AudioProcessor; +import androidx.media3.common.audio.AudioProcessor.UnhandledAudioFormatException; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.Clock; import androidx.media3.common.util.ConditionVariable; @@ -53,7 +55,6 @@ import androidx.media3.common.util.Util; import androidx.media3.exoplayer.ExoPlayer.AudioOffloadListener; import androidx.media3.exoplayer.analytics.PlayerId; -import androidx.media3.exoplayer.audio.AudioProcessor.UnhandledAudioFormatException; import androidx.media3.extractor.AacUtil; import androidx.media3.extractor.Ac3Util; import androidx.media3.extractor.Ac4Util; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java index 5bbebd30f26..16bcbd9a725 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/FloatResamplingAudioProcessor.java @@ -17,6 +17,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Util; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java index 5999adb732b..2f63b80cf82 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java @@ -40,6 +40,7 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.PlaybackException; import androidx.media3.common.PlaybackParameters; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Log; import androidx.media3.common.util.MediaFormatUtil; import androidx.media3.common.util.UnstableApi; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java index 50f3abcdfaa..173138b42b8 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ResamplingAudioProcessor.java @@ -17,6 +17,7 @@ import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Util; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java index 8bc15c4e704..e50750e5b4b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java @@ -20,6 +20,7 @@ import androidx.annotation.IntDef; import androidx.media3.common.C; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java index e928735db8b..06bae864879 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SonicAudioProcessor.java @@ -20,6 +20,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.errorprone.annotations.CanIgnoreReturnValue; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessorTest.java index 60be021ba24..e9dfdf3e8e2 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessorTest.java @@ -19,8 +19,8 @@ import static java.lang.Math.min; import androidx.media3.common.C; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.media3.common.util.Assertions; -import androidx.media3.exoplayer.audio.AudioProcessor.AudioFormat; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SonicAudioProcessorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SonicAudioProcessorTest.java index f9927bf7e36..65c38ee7146 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SonicAudioProcessorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/SonicAudioProcessorTest.java @@ -19,8 +19,8 @@ import static org.junit.Assert.fail; import androidx.media3.common.C; -import androidx.media3.exoplayer.audio.AudioProcessor.AudioFormat; -import androidx.media3.exoplayer.audio.AudioProcessor.UnhandledAudioFormatException; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; +import androidx.media3.common.audio.AudioProcessor.UnhandledAudioFormatException; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Before; import org.junit.Test; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TeeAudioProcessorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TeeAudioProcessorTest.java index f0703653ad8..b657be91030 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TeeAudioProcessorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TeeAudioProcessorTest.java @@ -18,7 +18,7 @@ import static org.mockito.Mockito.verify; import androidx.media3.common.C; -import androidx.media3.exoplayer.audio.AudioProcessor.AudioFormat; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.media3.exoplayer.audio.TeeAudioProcessor.AudioBufferSink; import androidx.test.ext.junit.runners.AndroidJUnit4; import org.junit.Before; diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessorTest.java index 96d6a4ac448..82e8eec789c 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessorTest.java @@ -18,7 +18,7 @@ import static com.google.common.truth.Truth.assertThat; import androidx.media3.common.C; -import androidx.media3.exoplayer.audio.AudioProcessor.AudioFormat; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.nio.ByteBuffer; import org.junit.After; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java index deaa247f720..0cc7811235f 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java @@ -23,10 +23,10 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.audio.AudioProcessor; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; -import androidx.media3.exoplayer.audio.AudioProcessor; -import androidx.media3.exoplayer.audio.AudioProcessor.AudioFormat; import java.nio.ByteBuffer; import java.util.List; import org.checkerframework.checker.nullness.qual.RequiresNonNull; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java index 4a567767c8e..4ad62f4e841 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SpeedChangingAudioProcessor.java @@ -19,8 +19,8 @@ import static java.lang.Math.min; import androidx.media3.common.C; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Util; -import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.media3.exoplayer.audio.BaseAudioProcessor; import androidx.media3.exoplayer.audio.SonicAudioProcessor; import com.google.errorprone.annotations.CanIgnoreReturnValue; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java index 44c5dad0f44..e31c26317a5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformationException.java @@ -26,11 +26,11 @@ import androidx.media3.common.FrameProcessingException; import androidx.media3.common.FrameProcessor; import androidx.media3.common.PlaybackException; +import androidx.media3.common.audio.AudioProcessor; +import androidx.media3.common.audio.AudioProcessor.AudioFormat; import androidx.media3.common.util.Clock; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; -import androidx.media3.exoplayer.audio.AudioProcessor; -import androidx.media3.exoplayer.audio.AudioProcessor.AudioFormat; import com.google.common.collect.ImmutableBiMap; import java.lang.annotation.Documented; import java.lang.annotation.Retention; diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/SpeedChangingAudioProcessorTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/SpeedChangingAudioProcessorTest.java index b62df9a91b3..7f3814979c1 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/SpeedChangingAudioProcessorTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/SpeedChangingAudioProcessorTest.java @@ -19,8 +19,8 @@ import static com.google.common.truth.Truth.assertThat; import androidx.media3.common.C; +import androidx.media3.common.audio.AudioProcessor; import androidx.media3.common.util.Util; -import androidx.media3.exoplayer.audio.AudioProcessor; import androidx.test.ext.junit.runners.AndroidJUnit4; import java.nio.ByteBuffer; import java.nio.ByteOrder; From 92dc1d34f3356079dc090d8a075993389e79b995 Mon Sep 17 00:00:00 2001 From: samrobinson Date: Tue, 25 Oct 2022 18:31:22 +0000 Subject: [PATCH 354/422] Move `DefaultAudioSink.AudioProcessorChain` to `AudioProcessorChain` Split inner interface into separate file, which will go in common module. The old interface will be deprecated and extends the new. #cleanup PiperOrigin-RevId: 483732226 (cherry picked from commit 7fcb53da2ddcbe5bc3f66c46ef3574d019712945) --- .../common/audio/AudioProcessorChain.java | 74 +++++++++++++++++++ .../exoplayer/audio/DefaultAudioSink.java | 69 +++-------------- .../exoplayer/audio/TeeAudioProcessor.java | 5 +- 3 files changed, 88 insertions(+), 60 deletions(-) create mode 100644 libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessorChain.java diff --git a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessorChain.java b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessorChain.java new file mode 100644 index 00000000000..0c776c727fe --- /dev/null +++ b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessorChain.java @@ -0,0 +1,74 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package androidx.media3.common.audio; + +import androidx.media3.common.PlaybackParameters; +import androidx.media3.common.util.UnstableApi; + +/** + * Provides a chain of audio processors, which are used for any user-defined processing and applying + * playback parameters (if supported). Because applying playback parameters can skip and + * stretch/compress audio, the sink will query the chain for information on how to transform its + * output position to map it onto a media position, via {@link #getMediaDuration(long)} and {@link + * #getSkippedOutputFrameCount()}. + */ +@UnstableApi +public interface AudioProcessorChain { + + /** + * Returns the fixed chain of audio processors that will process audio. This method is called once + * during initialization, but audio processors may change state to become active/inactive during + * playback. + */ + AudioProcessor[] getAudioProcessors(); + + /** + * Configures audio processors to apply the specified playback parameters immediately, returning + * the new playback parameters, which may differ from those passed in. Only called when processors + * have no input pending. + * + * @param playbackParameters The playback parameters to try to apply. + * @return The playback parameters that were actually applied. + */ + PlaybackParameters applyPlaybackParameters(PlaybackParameters playbackParameters); + + /** + * Configures audio processors to apply whether to skip silences immediately, returning the new + * value. Only called when processors have no input pending. + * + * @param skipSilenceEnabled Whether silences should be skipped in the audio stream. + * @return The new value. + */ + boolean applySkipSilenceEnabled(boolean skipSilenceEnabled); + + /** + * Returns the media duration corresponding to the specified playout duration, taking speed + * adjustment due to audio processing into account. + * + *

      The scaling performed by this method will use the actual playback speed achieved by the + * audio processor chain, on average, since it was last flushed. This may differ very slightly + * from the target playback speed. + * + * @param playoutDuration The playout duration to scale. + * @return The corresponding media duration, in the same units as {@code duration}. + */ + long getMediaDuration(long playoutDuration); + + /** + * Returns the number of output audio frames skipped since the audio processors were last flushed. + */ + long getSkippedOutputFrameCount(); +} diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index f0d6ccd3e85..67d436c6fbb 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -111,64 +111,16 @@ private InvalidAudioTrackTimestampException(String message) { } /** - * Provides a chain of audio processors, which are used for any user-defined processing and - * applying playback parameters (if supported). Because applying playback parameters can skip and - * stretch/compress audio, the sink will query the chain for information on how to transform its - * output position to map it onto a media position, via {@link #getMediaDuration(long)} and {@link - * #getSkippedOutputFrameCount()}. + * @deprecated Use {@link androidx.media3.common.audio.AudioProcessorChain}. */ - public interface AudioProcessorChain { - - /** - * Returns the fixed chain of audio processors that will process audio. This method is called - * once during initialization, but audio processors may change state to become active/inactive - * during playback. - */ - AudioProcessor[] getAudioProcessors(); - - /** - * Configures audio processors to apply the specified playback parameters immediately, returning - * the new playback parameters, which may differ from those passed in. Only called when - * processors have no input pending. - * - * @param playbackParameters The playback parameters to try to apply. - * @return The playback parameters that were actually applied. - */ - PlaybackParameters applyPlaybackParameters(PlaybackParameters playbackParameters); - - /** - * Configures audio processors to apply whether to skip silences immediately, returning the new - * value. Only called when processors have no input pending. - * - * @param skipSilenceEnabled Whether silences should be skipped in the audio stream. - * @return The new value. - */ - boolean applySkipSilenceEnabled(boolean skipSilenceEnabled); - - /** - * Returns the media duration corresponding to the specified playout duration, taking speed - * adjustment due to audio processing into account. - * - *

      The scaling performed by this method will use the actual playback speed achieved by the - * audio processor chain, on average, since it was last flushed. This may differ very slightly - * from the target playback speed. - * - * @param playoutDuration The playout duration to scale. - * @return The corresponding media duration, in the same units as {@code duration}. - */ - long getMediaDuration(long playoutDuration); - - /** - * Returns the number of output audio frames skipped since the audio processors were last - * flushed. - */ - long getSkippedOutputFrameCount(); - } + @Deprecated + public interface AudioProcessorChain extends androidx.media3.common.audio.AudioProcessorChain {} /** * The default audio processor chain, which applies a (possibly empty) chain of user-defined audio * processors followed by {@link SilenceSkippingAudioProcessor} and {@link SonicAudioProcessor}. */ + @SuppressWarnings("deprecation") public static class DefaultAudioProcessorChain implements AudioProcessorChain { private final AudioProcessor[] audioProcessors; @@ -272,7 +224,7 @@ int getBufferSizeInBytes( public static final class Builder { private AudioCapabilities audioCapabilities; - @Nullable private AudioProcessorChain audioProcessorChain; + @Nullable private androidx.media3.common.audio.AudioProcessorChain audioProcessorChain; private boolean enableFloatOutput; private boolean enableAudioTrackPlaybackParams; private int offloadMode; @@ -313,14 +265,15 @@ public Builder setAudioProcessors(AudioProcessor[] audioProcessors) { } /** - * Sets the {@link AudioProcessorChain} to process audio before playback. The instance passed in - * must not be reused in other sinks. Processing chains are only supported for PCM playback (not - * passthrough or offload). + * Sets the {@link androidx.media3.common.audio.AudioProcessorChain} to process audio before + * playback. The instance passed in must not be reused in other sinks. Processing chains are + * only supported for PCM playback (not passthrough or offload). * *

      By default, no processing will be applied. */ @CanIgnoreReturnValue - public Builder setAudioProcessorChain(AudioProcessorChain audioProcessorChain) { + public Builder setAudioProcessorChain( + androidx.media3.common.audio.AudioProcessorChain audioProcessorChain) { checkNotNull(audioProcessorChain); this.audioProcessorChain = audioProcessorChain; return this; @@ -510,7 +463,7 @@ public DefaultAudioSink build() { private static int pendingReleaseCount; private final AudioCapabilities audioCapabilities; - private final AudioProcessorChain audioProcessorChain; + private final androidx.media3.common.audio.AudioProcessorChain audioProcessorChain; private final boolean enableFloatOutput; private final ChannelMappingAudioProcessor channelMappingAudioProcessor; private final TrimmingAudioProcessor trimmingAudioProcessor; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java index aa9c5e87e98..ba02eea83af 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java @@ -19,6 +19,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.C; +import androidx.media3.common.audio.AudioProcessorChain; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; @@ -36,8 +37,8 @@ *

      This audio processor can be inserted into the audio processor chain to access audio data * before/after particular processing steps have been applied. For example, to get audio output * after playback speed adjustment and silence skipping have been applied it is necessary to pass a - * custom {@link DefaultAudioSink.AudioProcessorChain} when creating the audio sink, and include - * this audio processor after all other audio processors. + * custom {@link AudioProcessorChain} when creating the audio sink, and include this audio processor + * after all other audio processors. */ @UnstableApi public final class TeeAudioProcessor extends BaseAudioProcessor { From add9013df4314596b19ba00b6e71eef4266781ec Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 26 Oct 2022 11:09:04 +0000 Subject: [PATCH 355/422] Fix `Cea608Decoder` handling of service switch commands in field 2 From ANSI-CTA-608-E R-2014 section 8.4: > When closed captioning is used on line 21, field 2, it shall conform > to all of the applicable specifications and recommended practices as > defined for field 1 services with the following differences: > 1. The non-printing character of the miscellaneous control-character > pairs that fall in the range of 0x14, 0x20 to 0x14, 0x2F in field 1, > shall be replaced with 0x15, 0x20 to 0x15, 0x2F when used in field > 2. > 2. The non-printing character of the miscellaneous control-character > pairs that fall in the range of 0x1C, 0x20 to 0x1C, 0x2F in field > 1, shall be replaced with 0x1D, 0x20 to 0x1D, 0x2F when used in > field 2. This basically means that `cc1=0x15` in field 2 should be interpreted as `cc1=0x14` in field 1, and same for `0x1D -> 0x1C`. The `isMiscCode` method above already handles this by ignoring the LSB (the only difference between `0x14` and `0x15`, and `0x1C` and `0x1D`) by AND-ing with `0xF6` instead of `0xF7`. This change uses the same trick in `isServiceSwitchCommand`. Issue: google/ExoPlayer#10666 #minor-release PiperOrigin-RevId: 483927506 (cherry picked from commit 8c0f7827e262c7c4609e0b677a173a1e71ef2bb0) --- RELEASENOTES.md | 3 + .../extractor/text/cea/Cea608Decoder.java | 4 +- .../extractor/text/cea/Cea608DecoderTest.java | 59 +++++++++++++++++++ 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 9b36cdd98e1..0d6bad7a664 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -54,6 +54,9 @@ Release notes a non-empty but invalid license URL. * Fix `setMediaDrmSession failed: session not opened` error when switching between DRM schemes in a playlist (e.g. Widevine to ClearKey). +* Text: + * CEA-608: Ensure service switch commands on field 2 are handled correctly + ([#10666](https://github.com/google/ExoPlayer/issues/10666)). * DASH: * Parse `EventStream.presentationTimeOffset` from manifests ([#10460](https://github.com/google/ExoPlayer/issues/10460)). diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java index b73e3038251..9a975939afe 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/cea/Cea608Decoder.java @@ -874,8 +874,8 @@ private static boolean isXdsControlCode(byte cc1) { } private static boolean isServiceSwitchCommand(byte cc1) { - // cc1 - 0|0|0|1|C|1|0|0 - return (cc1 & 0xF7) == 0x14; + // cc1 - 0|0|0|1|C|1|0|F + return (cc1 & 0xF6) == 0x14; } private static final class CueBuilder { diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java index 2f74fbf9542..c1ea9778860 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/text/cea/Cea608DecoderTest.java @@ -255,6 +255,65 @@ public void onlySelectedChannelIsUsed() throws Exception { assertThat(getOnlyCue(fifthSubtitle).text.toString()).isEqualTo("test subtitle"); } + @Test + public void serviceSwitchOnField1Handled() throws Exception { + Cea608Decoder decoder = + new Cea608Decoder( + MimeTypes.APPLICATION_CEA608, + /* accessibilityChannel= */ 1, // field 1, channel 1 + Cea608Decoder.MIN_DATA_CHANNEL_TIMEOUT_MS); + // field 1 (0xFC header): 'test' then service switch + // field 2 (0xFD header): 'wrong!' + byte[] sample1 = + Bytes.concat( + // 'paint on' control character + createPacket(0xFC, 0x14, 0x29), + createPacket(0xFD, 0x15, 0x29), + createPacket(0xFC, 't', 'e'), + createPacket(0xFD, 'w', 'r'), + createPacket(0xFC, 's', 't'), + createPacket(0xFD, 'o', 'n'), + // Enter TEXT service + createPacket(0xFC, 0x14, 0x2A), + createPacket(0xFD, 'g', '!'), + createPacket(0xFC, 'X', 'X'), + createPacket(0xFD, 0x0, 0x0)); + + Subtitle firstSubtitle = checkNotNull(decodeSampleAndCopyResult(decoder, sample1)); + + assertThat(getOnlyCue(firstSubtitle).text.toString()).isEqualTo("test"); + } + + // https://github.com/google/ExoPlayer/issues/10666 + @Test + public void serviceSwitchOnField2Handled() throws Exception { + Cea608Decoder decoder = + new Cea608Decoder( + MimeTypes.APPLICATION_CEA608, + /* accessibilityChannel= */ 3, // field 2, channel 1 + Cea608Decoder.MIN_DATA_CHANNEL_TIMEOUT_MS); + // field 1 (0xFC header): 'wrong!' + // field 2 (0xFD header): 'test' then service switch + byte[] sample1 = + Bytes.concat( + // 'paint on' control character + createPacket(0xFC, 0x14, 0x29), + createPacket(0xFD, 0x15, 0x29), + createPacket(0xFC, 'w', 'r'), + createPacket(0xFD, 't', 'e'), + createPacket(0xFC, 'o', 'n'), + createPacket(0xFD, 's', 't'), + createPacket(0xFC, 'g', '!'), + // Enter TEXT service + createPacket(0xFD, 0x15, 0x2A), + createPacket(0xFC, 0x0, 0x0), + createPacket(0xFD, 'X', 'X')); + + Subtitle firstSubtitle = checkNotNull(decodeSampleAndCopyResult(decoder, sample1)); + + assertThat(getOnlyCue(firstSubtitle).text.toString()).isEqualTo("test"); + } + private static byte[] createPacket(int header, int cc1, int cc2) { return new byte[] { UnsignedBytes.checkedCast(header), From 36225d0ff9d5313634a1cf678816977e7dc478a9 Mon Sep 17 00:00:00 2001 From: tofunmi Date: Wed, 26 Oct 2022 15:01:30 +0000 Subject: [PATCH 356/422] Mute input video player in transformer demo PiperOrigin-RevId: 483969411 (cherry picked from commit f1ca4f41b1fb4d0c16a53918f0aceb960a3f5134) --- .../androidx/media3/demo/transformer/TransformerActivity.java | 1 + 1 file changed, 1 insertion(+) diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index 56de034150c..b995287cb8e 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -507,6 +507,7 @@ private void playMediaItems(MediaItem inputMediaItem, MediaItem outputMediaItem) inputPlayer.setMediaItem(inputMediaItem); inputPlayer.prepare(); this.inputPlayer = inputPlayer; + inputPlayer.setVolume(0f); ExoPlayer outputPlayer = new ExoPlayer.Builder(/* context= */ this).build(); outputPlayerView.setPlayer(outputPlayer); From 48b6d11dde11d81e7b156c5a2a9c5033ec705f1e Mon Sep 17 00:00:00 2001 From: samrobinson Date: Wed, 26 Oct 2022 16:02:24 +0000 Subject: [PATCH 357/422] Add AudioProcessor.AudioFormat equals method. PiperOrigin-RevId: 483983486 (cherry picked from commit e6079c38f2272ea27bdcb18f1a5516acc25ea4ff) --- .../media3/common/audio/AudioProcessor.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java index 7f07c28d71f..506e2d4266a 100644 --- a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java +++ b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessor.java @@ -15,10 +15,12 @@ */ package androidx.media3.common.audio; +import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; +import com.google.common.base.Objects; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.nio.ByteBuffer; import java.nio.ByteOrder; @@ -71,6 +73,25 @@ public String toString() { + encoding + ']'; } + + @Override + public boolean equals(@Nullable Object o) { + if (this == o) { + return true; + } + if (!(o instanceof AudioFormat)) { + return false; + } + AudioFormat that = (AudioFormat) o; + return sampleRate == that.sampleRate + && channelCount == that.channelCount + && encoding == that.encoding; + } + + @Override + public int hashCode() { + return Objects.hashCode(sampleRate, channelCount, encoding); + } } /** Exception thrown when a processor can't be configured for a given input audio format. */ From 868375ead1f1e8ebc28393bad9f37699798b7ac9 Mon Sep 17 00:00:00 2001 From: kimvde Date: Thu, 27 Oct 2022 07:58:56 +0000 Subject: [PATCH 358/422] Add muxer timer to detect when generating an output sample is too slow This allows to throw when the Transformer is stuck or is too slow. PiperOrigin-RevId: 484179037 (cherry picked from commit 16cb5cbc1f6f729d39bf8747e7c0a0f7aea7326d) --- RELEASENOTES.md | 3 ++ .../media3/transformer/DefaultMuxer.java | 24 +++++++++- .../media3/transformer/FrameworkMuxer.java | 20 +++++++-- .../androidx/media3/transformer/Muxer.java | 12 +++++ .../media3/transformer/MuxerWrapper.java | 44 ++++++++++++++++++- .../media3/transformer/Transformer.java | 5 ++- .../media3/transformer/TestMuxer.java | 5 +++ .../transformer/TransformerEndToEndTest.java | 18 ++++++++ 8 files changed, 124 insertions(+), 7 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 0d6bad7a664..d10173ead2d 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -115,6 +115,9 @@ Release notes * Implement `getDeviceInfo()` to be able to identify `CastPlayer` when controlling playback with a `MediaController` ([#142](https://github.com/androidx/media/issues/142)). +* Transformer: + * Add muxer watchdog timer to detect when generating an output sample is + too slow. * Remove deprecated symbols: * Remove `DefaultAudioSink` constructors, use `DefaultAudioSink.Builder` instead. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java index eb76b666f6b..16457bbbd6c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java @@ -29,10 +29,27 @@ public final class DefaultMuxer implements Muxer { /** A {@link Muxer.Factory} for {@link DefaultMuxer}. */ public static final class Factory implements Muxer.Factory { + + /** The default value returned by {@link #getMaxDelayBetweenSamplesMs()}. */ + public static final long DEFAULT_MAX_DELAY_BETWEEN_SAMPLES_MS = 3000; + private final Muxer.Factory muxerFactory; + /** + * Creates an instance with {@link Muxer#getMaxDelayBetweenSamplesMs() maxDelayBetweenSamplesMs} + * set to {@link #DEFAULT_MAX_DELAY_BETWEEN_SAMPLES_MS}. + */ public Factory() { - this.muxerFactory = new FrameworkMuxer.Factory(); + this.muxerFactory = new FrameworkMuxer.Factory(DEFAULT_MAX_DELAY_BETWEEN_SAMPLES_MS); + } + + /** + * Creates an instance. + * + * @param maxDelayBetweenSamplesMs See {@link Muxer#getMaxDelayBetweenSamplesMs()}. + */ + public Factory(long maxDelayBetweenSamplesMs) { + this.muxerFactory = new FrameworkMuxer.Factory(maxDelayBetweenSamplesMs); } @Override @@ -73,4 +90,9 @@ public void writeSampleData( public void release(boolean forCancellation) throws MuxerException { muxer.release(forCancellation); } + + @Override + public long getMaxDelayBetweenSamplesMs() { + return muxer.getMaxDelayBetweenSamplesMs(); + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java index 1ef7f72a7ca..ae710c33468 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java @@ -55,10 +55,17 @@ /** {@link Muxer.Factory} for {@link FrameworkMuxer}. */ public static final class Factory implements Muxer.Factory { + + private final long maxDelayBetweenSamplesMs; + + public Factory(long maxDelayBetweenSamplesMs) { + this.maxDelayBetweenSamplesMs = maxDelayBetweenSamplesMs; + } + @Override public FrameworkMuxer create(String path) throws IOException { MediaMuxer mediaMuxer = new MediaMuxer(path, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); - return new FrameworkMuxer(mediaMuxer); + return new FrameworkMuxer(mediaMuxer, maxDelayBetweenSamplesMs); } @RequiresApi(26) @@ -68,7 +75,7 @@ public FrameworkMuxer create(ParcelFileDescriptor parcelFileDescriptor) throws I new MediaMuxer( parcelFileDescriptor.getFileDescriptor(), MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); - return new FrameworkMuxer(mediaMuxer); + return new FrameworkMuxer(mediaMuxer, maxDelayBetweenSamplesMs); } @Override @@ -83,13 +90,15 @@ public ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackT } private final MediaMuxer mediaMuxer; + private final long maxDelayBetweenSamplesMs; private final MediaCodec.BufferInfo bufferInfo; private final SparseLongArray trackIndexToLastPresentationTimeUs; private boolean isStarted; - private FrameworkMuxer(MediaMuxer mediaMuxer) { + private FrameworkMuxer(MediaMuxer mediaMuxer, long maxDelayBetweenSamplesMs) { this.mediaMuxer = mediaMuxer; + this.maxDelayBetweenSamplesMs = maxDelayBetweenSamplesMs; bufferInfo = new MediaCodec.BufferInfo(); trackIndexToLastPresentationTimeUs = new SparseLongArray(); } @@ -183,6 +192,11 @@ public void release(boolean forCancellation) throws MuxerException { } } + @Override + public long getMaxDelayBetweenSamplesMs() { + return maxDelayBetweenSamplesMs; + } + // Accesses MediaMuxer state via reflection to ensure that muxer resources can be released even // if stopping fails. @SuppressLint("PrivateApi") diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java index b25270942fe..1bf8c4c77c5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java @@ -112,4 +112,16 @@ void writeSampleData(int trackIndex, ByteBuffer data, boolean isKeyFrame, long p * forCancellation} is false. */ void release(boolean forCancellation) throws MuxerException; + + /** + * Returns the maximum delay allowed between output samples, in milliseconds, or {@link + * C#TIME_UNSET} if there is no maximum. + * + *

      This is the maximum delay between samples of any track. They can be of the same or of + * different track types. + * + *

      This value is used to abort the transformation when the maximum delay is reached. Note that + * there is no guarantee that the transformation will be aborted exactly at that time. + */ + long getMaxDelayBetweenSamplesMs(); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index 611e469b069..b96f7f7d531 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -19,6 +19,7 @@ import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Util.maxValue; import static androidx.media3.common.util.Util.minValue; +import static java.util.concurrent.TimeUnit.MILLISECONDS; import android.util.SparseIntArray; import android.util.SparseLongArray; @@ -29,6 +30,10 @@ import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import java.nio.ByteBuffer; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.ScheduledFuture; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /** * A wrapper around a media muxer. @@ -47,26 +52,33 @@ private final Muxer muxer; private final Muxer.Factory muxerFactory; + private final Transformer.AsyncErrorListener asyncErrorListener; private final SparseIntArray trackTypeToIndex; private final SparseIntArray trackTypeToSampleCount; private final SparseLongArray trackTypeToTimeUs; private final SparseLongArray trackTypeToBytesWritten; + private final ScheduledExecutorService abortScheduledExecutorService; private int trackCount; private int trackFormatCount; private boolean isReady; private @C.TrackType int previousTrackType; private long minTrackTimeUs; + private @MonotonicNonNull ScheduledFuture abortScheduledFuture; + private boolean isAborted; - public MuxerWrapper(Muxer muxer, Muxer.Factory muxerFactory) { + public MuxerWrapper( + Muxer muxer, Muxer.Factory muxerFactory, Transformer.AsyncErrorListener asyncErrorListener) { this.muxer = muxer; this.muxerFactory = muxerFactory; + this.asyncErrorListener = asyncErrorListener; trackTypeToIndex = new SparseIntArray(); trackTypeToSampleCount = new SparseIntArray(); trackTypeToTimeUs = new SparseLongArray(); trackTypeToBytesWritten = new SparseLongArray(); previousTrackType = C.TRACK_TYPE_NONE; + abortScheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); } /** @@ -131,6 +143,7 @@ public void addTrackFormat(Format format) throws Muxer.MuxerException { trackFormatCount++; if (trackFormatCount == trackCount) { isReady = true; + resetAbortTimer(); } } @@ -168,6 +181,7 @@ public boolean writeSample( trackTypeToTimeUs.put(trackType, presentationTimeUs); } + resetAbortTimer(); muxer.writeSampleData(trackIndex, data, isKeyFrame, presentationTimeUs); previousTrackType = trackType; return true; @@ -195,6 +209,7 @@ public void endTrack(@C.TrackType int trackType) { */ public void release(boolean forCancellation) throws Muxer.MuxerException { isReady = false; + abortScheduledExecutorService.shutdownNow(); muxer.release(forCancellation); } @@ -257,4 +272,31 @@ private boolean canWriteSampleOfType(int trackType) { } return trackTimeUs - minTrackTimeUs <= MAX_TRACK_WRITE_AHEAD_US; } + + private void resetAbortTimer() { + long maxDelayBetweenSamplesMs = muxer.getMaxDelayBetweenSamplesMs(); + if (maxDelayBetweenSamplesMs == C.TIME_UNSET) { + return; + } + if (abortScheduledFuture != null) { + abortScheduledFuture.cancel(/* mayInterruptIfRunning= */ false); + } + abortScheduledFuture = + abortScheduledExecutorService.schedule( + () -> { + if (isAborted) { + return; + } + isAborted = true; + asyncErrorListener.onTransformationException( + TransformationException.createForMuxer( + new IllegalStateException( + "No output sample written in the last " + + maxDelayBetweenSamplesMs + + " milliseconds. Aborting transformation."), + TransformationException.ERROR_CODE_MUXING_FAILED)); + }, + maxDelayBetweenSamplesMs, + MILLISECONDS); + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 8f5fa0fda48..af2c8a77218 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -726,7 +726,9 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { if (player != null) { throw new IllegalStateException("There is already a transformation in progress."); } - MuxerWrapper muxerWrapper = new MuxerWrapper(muxer, muxerFactory); + TransformerPlayerListener playerListener = new TransformerPlayerListener(mediaItem, looper); + MuxerWrapper muxerWrapper = + new MuxerWrapper(muxer, muxerFactory, /* asyncErrorListener= */ playerListener); this.muxerWrapper = muxerWrapper; DefaultTrackSelector trackSelector = new DefaultTrackSelector(context); trackSelector.setParameters( @@ -743,7 +745,6 @@ private void startTransformation(MediaItem mediaItem, Muxer muxer) { DEFAULT_BUFFER_FOR_PLAYBACK_MS / 10, DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS / 10) .build(); - TransformerPlayerListener playerListener = new TransformerPlayerListener(mediaItem, looper); ExoPlayer.Builder playerBuilder = new ExoPlayer.Builder( context, diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java index d134fd2b40f..24a59ae3c68 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java @@ -63,6 +63,11 @@ public void release(boolean forCancellation) throws MuxerException { muxer.release(forCancellation); } + @Override + public long getMaxDelayBetweenSamplesMs() { + return muxer.getMaxDelayBetweenSamplesMs(); + } + // Dumper.Dumpable implementation. @Override diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index 4ab9a2a0069..92f4386c607 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -477,6 +477,20 @@ public void startTransformation_withAudioMuxerFormatFallback_completesSuccessful .onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); } + @Test + public void startTransformation_withUnsetMaxDelayBetweenSamples_completesSuccessfully() + throws Exception { + Muxer.Factory muxerFactory = new TestMuxerFactory(/* maxDelayBetweenSamplesMs= */ C.TIME_UNSET); + Transformer transformer = + createTransformerBuilder(/* enableFallback= */ false).setMuxerFactory(muxerFactory).build(); + MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); + + transformer.startTransformation(mediaItem, outputPath); + TransformerTestRunner.runUntilCompleted(transformer); + + DumpFileAsserts.assertOutput(context, testMuxer, getDumpFileName(FILE_AUDIO_VIDEO)); + } + @Test public void startTransformation_afterCancellation_completesSuccessfully() throws Exception { Transformer transformer = createTransformerBuilder(/* enableFallback= */ false).build(); @@ -862,6 +876,10 @@ public TestMuxerFactory() { defaultMuxerFactory = new DefaultMuxer.Factory(); } + public TestMuxerFactory(long maxDelayBetweenSamplesMs) { + defaultMuxerFactory = new DefaultMuxer.Factory(maxDelayBetweenSamplesMs); + } + @Override public Muxer create(String path) throws IOException { testMuxer = new TestMuxer(path, defaultMuxerFactory); From 1607e3daf5bee25a6e8bc620650b66af71c56245 Mon Sep 17 00:00:00 2001 From: bachinger Date: Thu, 27 Oct 2022 11:10:10 +0000 Subject: [PATCH 359/422] Make adding ad live breaks more robust This change makes adding ad events in live streams more robust by allowing ad groups to grow in number of ads if more ad events are received than initially announced by the SDK. With the IMA prefetch feature, an AdPod can grow in size in certain conditions like from initially 2 ads to 4 ads being part of the ad group. With this change, if an additional ad event arrives while the ad group is still being played, the ad group is expanded. If the event arrives late and the ad group is already completed, a new group is created for the remaining ads. This also covers the case where we join the live stream while an ad is being played and we missed at least one LOADED event from the SDK. Ads of the group before the first LOADED event are ignored in such a case. PiperOrigin-RevId: 484214760 (cherry picked from commit 64e9e888230be1874720ced001e8112fc3ee407b) --- demos/main/src/main/assets/media.exolist.json | 2 +- .../ads/ServerSideAdInsertionMediaSource.java | 23 +- .../ImaServerSideAdInsertionMediaSource.java | 91 ++- .../media3/exoplayer/ima/ImaUtil.java | 206 ++++++- .../media3/exoplayer/ima/ImaUtilTest.java | 553 +++++++++++++++++- 5 files changed, 793 insertions(+), 82 deletions(-) diff --git a/demos/main/src/main/assets/media.exolist.json b/demos/main/src/main/assets/media.exolist.json index 09688fa73ac..ac7b5ce7492 100644 --- a/demos/main/src/main/assets/media.exolist.json +++ b/demos/main/src/main/assets/media.exolist.json @@ -399,7 +399,7 @@ "uri": "ssai://dai.google.com/?contentSourceId=2528370&videoId=tears-of-steel&format=2&adsId=1" }, { - "name": "HLS Live: Big Buck Bunny (mid), 3 ads each [10 s]", + "name": "HLS Live: Big Buck Bunny (mid), 3 ads [10/10/10s]", "uri": "ssai://dai.google.com/?assetKey=sN_IYUG8STe1ZzhIIE_ksA&format=2&adsId=3" }, { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java index c0a1828be69..3a4a1f4182b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java @@ -161,16 +161,25 @@ public void setAdPlaybackStates(ImmutableMap adPlayback checkArgument(Util.areEqual(adsId, adPlaybackState.adsId)); @Nullable AdPlaybackState oldAdPlaybackState = this.adPlaybackStates.get(periodUid); if (oldAdPlaybackState != null) { - for (int i = adPlaybackState.removedAdGroupCount; i < adPlaybackState.adGroupCount; i++) { - AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(i); + for (int adGroupIndex = adPlaybackState.removedAdGroupCount; + adGroupIndex < adPlaybackState.adGroupCount; + adGroupIndex++) { + AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); checkArgument(adGroup.isServerSideInserted); - if (i < oldAdPlaybackState.adGroupCount) { - checkArgument( - getAdCountInGroup(adPlaybackState, /* adGroupIndex= */ i) - >= getAdCountInGroup(oldAdPlaybackState, /* adGroupIndex= */ i)); + if (adGroupIndex < oldAdPlaybackState.adGroupCount + && getAdCountInGroup(adPlaybackState, /* adGroupIndex= */ adGroupIndex) + < getAdCountInGroup(oldAdPlaybackState, /* adGroupIndex= */ adGroupIndex)) { + // Removing ads from an ad group is only allowed when the group has been split. + AdPlaybackState.AdGroup nextAdGroup = adPlaybackState.getAdGroup(adGroupIndex + 1); + long sumOfSplitContentResumeOffsetUs = + adGroup.contentResumeOffsetUs + nextAdGroup.contentResumeOffsetUs; + AdPlaybackState.AdGroup oldAdGroup = oldAdPlaybackState.getAdGroup(adGroupIndex); + checkArgument(sumOfSplitContentResumeOffsetUs == oldAdGroup.contentResumeOffsetUs); + checkArgument(adGroup.timeUs + adGroup.contentResumeOffsetUs == nextAdGroup.timeUs); } if (adGroup.timeUs == C.TIME_END_OF_SOURCE) { - checkArgument(getAdCountInGroup(adPlaybackState, /* adGroupIndex= */ i) == 0); + checkArgument( + getAdCountInGroup(adPlaybackState, /* adGroupIndex= */ adGroupIndex) == 0); } } } diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java index 1f410a2e36a..9929003b587 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaServerSideAdInsertionMediaSource.java @@ -15,20 +15,21 @@ */ package androidx.media3.exoplayer.ima; +import static androidx.media3.common.AdPlaybackState.AD_STATE_AVAILABLE; +import static androidx.media3.common.AdPlaybackState.AD_STATE_UNAVAILABLE; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Util.msToUs; -import static androidx.media3.common.util.Util.sum; import static androidx.media3.common.util.Util.usToMs; +import static androidx.media3.exoplayer.ima.ImaUtil.addLiveAdBreak; import static androidx.media3.exoplayer.ima.ImaUtil.expandAdGroupPlaceholder; import static androidx.media3.exoplayer.ima.ImaUtil.getAdGroupAndIndexInMultiPeriodWindow; import static androidx.media3.exoplayer.ima.ImaUtil.secToMsRounded; import static androidx.media3.exoplayer.ima.ImaUtil.secToUsRounded; +import static androidx.media3.exoplayer.ima.ImaUtil.splitAdGroup; import static androidx.media3.exoplayer.ima.ImaUtil.splitAdPlaybackStateForPeriods; -import static androidx.media3.exoplayer.ima.ImaUtil.updateAdDurationAndPropagate; import static androidx.media3.exoplayer.ima.ImaUtil.updateAdDurationInAdGroup; import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState; -import static java.lang.Math.min; import static java.lang.annotation.ElementType.TYPE_USE; import android.content.Context; @@ -52,6 +53,7 @@ import androidx.media3.common.Timeline; import androidx.media3.common.util.Assertions; import androidx.media3.common.util.ConditionVariable; +import androidx.media3.common.util.Log; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import androidx.media3.datasource.TransferListener; @@ -451,6 +453,8 @@ private MediaSourceResourceHolder( } } + private static final String TAG = "ImaSSAIMediaSource"; + private final MediaItem mediaItem; private final Player player; private final MediaSource.Factory contentMediaSourceFactory; @@ -472,7 +476,6 @@ private MediaSourceResourceHolder( @Nullable private IOException loadError; private @MonotonicNonNull Timeline contentTimeline; private AdPlaybackState adPlaybackState; - private int firstSeenAdIndexInAdGroup; private ImaServerSideAdInsertionMediaSource( MediaItem mediaItem, @@ -720,46 +723,6 @@ private static AdPlaybackState setVodAdInPlaceholder(Ad ad, AdPlaybackState adPl return adPlaybackState; } - private AdPlaybackState addLiveAdBreak( - Ad ad, long currentPeriodPositionUs, AdPlaybackState adPlaybackState) { - AdPodInfo adPodInfo = ad.getAdPodInfo(); - long adDurationUs = secToUsRounded(ad.getDuration()); - int adIndexInAdGroup = adPodInfo.getAdPosition() - 1; - // TODO(b/208398934) Support seeking backwards. - if (adIndexInAdGroup == 0 || adPlaybackState.adGroupCount == 1) { - firstSeenAdIndexInAdGroup = adIndexInAdGroup; - // Adjust count and ad index in case we joined the live stream within an ad group. - int adCount = adPodInfo.getTotalAds() - firstSeenAdIndexInAdGroup; - adIndexInAdGroup -= firstSeenAdIndexInAdGroup; - // First ad of group. Create a new group with all ads. - long[] adDurationsUs = - updateAdDurationAndPropagate( - new long[adCount], - adIndexInAdGroup, - adDurationUs, - msToUs(secToMsRounded(adPodInfo.getMaxDuration()))); - adPlaybackState = - addAdGroupToAdPlaybackState( - adPlaybackState, - /* fromPositionUs= */ currentPeriodPositionUs, - /* contentResumeOffsetUs= */ sum(adDurationsUs), - /* adDurationsUs...= */ adDurationsUs); - } else { - int adGroupIndex = adPlaybackState.adGroupCount - 2; - adIndexInAdGroup -= firstSeenAdIndexInAdGroup; - if (adPodInfo.getTotalAds() == adPodInfo.getAdPosition()) { - // Reset the ad index whe we are at the last ad in the group. - firstSeenAdIndexInAdGroup = 0; - } - adPlaybackState = - updateAdDurationInAdGroup(adGroupIndex, adIndexInAdGroup, adDurationUs, adPlaybackState); - AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); - return adPlaybackState.withContentResumeOffsetUs( - adGroupIndex, min(adGroup.contentResumeOffsetUs, sum(adGroup.durationsUs))); - } - return adPlaybackState; - } - private static AdPlaybackState skipAd(Ad ad, AdPlaybackState adPlaybackState) { AdPodInfo adPodInfo = ad.getAdPodInfo(); int adGroupIndex = adPodInfo.getPodIndex(); @@ -815,11 +778,27 @@ public void onPositionDiscontinuity( adGroupIndex = adGroupIndexAndAdIndexInAdGroup.first; adIndexInAdGroup = adGroupIndexAndAdIndexInAdGroup.second; } - int adState = adPlaybackState.getAdGroup(adGroupIndex).states[adIndexInAdGroup]; - if (adState == AdPlaybackState.AD_STATE_AVAILABLE - || adState == AdPlaybackState.AD_STATE_UNAVAILABLE) { - setAdPlaybackState( - adPlaybackState.withPlayedAd(adGroupIndex, /* adIndexInAdGroup= */ adIndexInAdGroup)); + + AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); + int adState = adGroup.states[adIndexInAdGroup]; + if (adState == AD_STATE_AVAILABLE || adState == AD_STATE_UNAVAILABLE) { + AdPlaybackState newAdPlaybackState = + adPlaybackState.withPlayedAd(adGroupIndex, /* adIndexInAdGroup= */ adIndexInAdGroup); + adGroup = newAdPlaybackState.getAdGroup(adGroupIndex); + if (isLiveStream + && newPosition.adGroupIndex == C.INDEX_UNSET + && adIndexInAdGroup < adGroup.states.length - 1 + && adGroup.states[adIndexInAdGroup + 1] == AD_STATE_AVAILABLE) { + // There is an available ad after the ad period that just ended being played! + Log.w(TAG, "Detected late ad event. Regrouping trailing ads into separate ad group."); + newAdPlaybackState = + splitAdGroup( + adGroup, + adGroupIndex, + /* splitIndexExclusive= */ adIndexInAdGroup + 1, + newAdPlaybackState); + } + setAdPlaybackState(newAdPlaybackState); } } } @@ -887,12 +866,18 @@ public void onAdEvent(AdEvent event) { long positionInWindowUs = timeline.getPeriod(player.getCurrentPeriodIndex(), new Timeline.Period()) .positionInWindowUs; - long currentPeriodPosition = msToUs(player.getContentPosition()) - positionInWindowUs; + long currentContentPeriodPositionUs = + msToUs(player.getContentPosition()) - positionInWindowUs; + Ad ad = event.getAd(); + AdPodInfo adPodInfo = ad.getAdPodInfo(); newAdPlaybackState = addLiveAdBreak( - event.getAd(), - currentPeriodPosition, - newAdPlaybackState.equals(AdPlaybackState.NONE) + currentContentPeriodPositionUs, + /* adDurationUs= */ secToUsRounded(ad.getDuration()), + /* adPositionInAdPod= */ adPodInfo.getAdPosition(), + /* totalAdDurationUs= */ secToUsRounded(adPodInfo.getMaxDuration()), + /* totalAdsInAdPod= */ adPodInfo.getTotalAds(), + /* adPlaybackState= */ newAdPlaybackState.equals(AdPlaybackState.NONE) ? new AdPlaybackState(adsId) : newAdPlaybackState); } else { diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaUtil.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaUtil.java index 5619c7f13e7..9c24e620096 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaUtil.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ImaUtil.java @@ -15,10 +15,14 @@ */ package androidx.media3.exoplayer.ima; +import static androidx.media3.common.AdPlaybackState.AD_STATE_AVAILABLE; +import static androidx.media3.common.AdPlaybackState.AD_STATE_UNAVAILABLE; import static androidx.media3.common.util.Assertions.checkArgument; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Util.sum; +import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.addAdGroupToAdPlaybackState; +import static androidx.media3.exoplayer.source.ads.ServerSideAdInsertionUtil.getMediaPeriodPositionUsForContent; import static java.lang.Math.max; import android.content.Context; @@ -30,8 +34,10 @@ import androidx.annotation.Nullable; import androidx.media3.common.AdOverlayInfo; import androidx.media3.common.AdPlaybackState; +import androidx.media3.common.AdPlaybackState.AdGroup; import androidx.media3.common.AdViewProvider; import androidx.media3.common.C; +import androidx.media3.common.Player; import androidx.media3.common.Timeline; import androidx.media3.common.util.Util; import androidx.media3.datasource.DataSchemeDataSource; @@ -322,7 +328,7 @@ public static AdPlaybackState expandAdGroupPlaceholder( @CheckResult public static AdPlaybackState updateAdDurationInAdGroup( int adGroupIndex, int adIndexInAdGroup, long adDurationUs, AdPlaybackState adPlaybackState) { - AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); + AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); checkArgument(adIndexInAdGroup < adGroup.durationsUs.length); long[] adDurationsUs = updateAdDurationAndPropagate( @@ -334,25 +340,28 @@ public static AdPlaybackState updateAdDurationInAdGroup( } /** - * Updates the duration of the given ad in the array and propagates the difference to the total - * duration to the next ad. If the updated ad is the last ad, the remaining duration is wrapped - * around to the first ad in the group. + * Updates the duration of the given ad in the array. + * + *

      The remaining difference when subtracting {@code adDurationUs} from {@code + * remainingDurationUs} is used as the duration of the next ad after {@code adIndex}. If the + * updated ad is the last ad, the remaining duration is wrapped around to the first ad of the + * group. * *

      The remaining ad duration is only propagated if the destination ad has a duration of 0. * * @param adDurationsUs The array to edit. * @param adIndex The index of the ad in the durations array. * @param adDurationUs The new ad duration. - * @param totalDurationUs The total duration the difference of which to propagate to the next ad. + * @param remainingDurationUs The remaining ad duration before updating the new ad duration. * @return The updated input array, for convenience. */ - /* package */ static long[] updateAdDurationAndPropagate( - long[] adDurationsUs, int adIndex, long adDurationUs, long totalDurationUs) { + private static long[] updateAdDurationAndPropagate( + long[] adDurationsUs, int adIndex, long adDurationUs, long remainingDurationUs) { adDurationsUs[adIndex] = adDurationUs; int nextAdIndex = (adIndex + 1) % adDurationsUs.length; if (adDurationsUs[nextAdIndex] == 0) { // Propagate the remaining duration to the next ad. - adDurationsUs[nextAdIndex] = max(0, totalDurationUs - adDurationUs); + adDurationsUs[nextAdIndex] = max(0, remainingDurationUs - adDurationUs); } return adDurationsUs; } @@ -389,7 +398,7 @@ public static ImmutableMap splitAdPlaybackStateForPerio AdPlaybackState contentOnlyAdPlaybackState = new AdPlaybackState(adsId); Map adPlaybackStates = new HashMap<>(); for (int i = adPlaybackState.removedAdGroupCount; i < adPlaybackState.adGroupCount; i++) { - AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ i); + AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ i); if (adGroup.timeUs == C.TIME_END_OF_SOURCE) { checkState(i == adPlaybackState.adGroupCount - 1); // The last ad group is a placeholder for a potential post roll. We can just stop here. @@ -432,7 +441,7 @@ public static ImmutableMap splitAdPlaybackStateForPerio } private static AdPlaybackState splitAdGroupForPeriod( - Object adsId, AdPlaybackState.AdGroup adGroup, long periodStartUs, long periodDurationUs) { + Object adsId, AdGroup adGroup, long periodStartUs, long periodDurationUs) { AdPlaybackState adPlaybackState = new AdPlaybackState(checkNotNull(adsId), /* adGroupTimesUs...= */ 0) .withAdCount(/* adGroupIndex= */ 0, /* adCount= */ 1) @@ -484,7 +493,7 @@ public static Pair getAdGroupAndIndexInMultiPeriodWindow( long totalElapsedContentDurationUs = 0; for (int i = adPlaybackState.removedAdGroupCount; i < adPlaybackState.adGroupCount; i++) { int adIndexInAdGroup = 0; - AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ i); + AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ i); long adGroupDurationUs = sum(adGroup.durationsUs); long elapsedAdGroupAdDurationUs = 0; for (int j = periodIndex; j < contentTimeline.getPeriodCount(); j++) { @@ -513,6 +522,181 @@ public static Pair getAdGroupAndIndexInMultiPeriodWindow( throw new IllegalStateException(); } + /** + * Called when the SDK emits a {@code LOADED} event of an IMA SSAI live stream. + * + *

      For each ad, the SDK emits a {@code LOADED} event at the start of the ad. The {@code LOADED} + * event provides the information of a certain ad (index and duration) and its ad pod (number of + * ads and total ad duration) that is mapped to an ad in an {@linkplain AdGroup ad group} of an + * {@linkplain AdPlaybackState ad playback state} to reflect ads in the ExoPlayer media structure. + * + *

      In the normal case (when all ad information is available completely and in time), the + * life-cycle of a live ad group and its ads has these phases: + * + *

        + *
      1. When playing content and a {@code LOADED} event arrives, an ad group is inserted at the + * current position with the number of ads reported by the ad pod. The duration of the first + * ad is set and its state is set to {@link AdPlaybackState#AD_STATE_AVAILABLE}. The + * duration of the 2nd ad is set to the remaining duration of the total ad group duration. + * This pads out the duration of the ad group, so it doesn't end before the next ad event + * arrives. When inserting the ad group at the current position, the player immediately + * advances to play the inserted ad period. + *
      2. When playing an ad group and a further {@code LOADED} event arrives, the ad state is + * inspected to find the {@linkplain AdPlaybackState#getAdGroupIndexForPositionUs(long, + * long) ad group currently being played}. We query for the first {@linkplain + * AdPlaybackState#AD_STATE_UNAVAILABLE unavailable ad} of that ad group, override its + * placeholder duration, mark it {@linkplain AdPlaybackState#AD_STATE_AVAILABLE available} + * and propagate the remainder of the placeholder duration to the next ad. Repeating this + * step until all ads are configured and marked as available. + *
      3. When playing an ad and a {@code LOADED} event arrives but no more ads are in {@link + * AdPlaybackState#AD_STATE_UNAVAILABLE}, the group is expanded by inserting a new ad at the + * end of the ad group. + *
      4. After playing an ad: When playback exits from an ad period to the next ad or back to + * content, {@link ImaServerSideAdInsertionMediaSource} detects {@linkplain + * Player.Listener#onPositionDiscontinuity(Player.PositionInfo, Player.PositionInfo, int) a + * position discontinuity}, identifies {@linkplain Player.PositionInfo#adIndexInAdGroup the + * ad being exited} and {@linkplain AdPlaybackState#AD_STATE_PLAYED marks the ad as played}. + *
      + * + *

      Some edge-cases need consideration. When a user joins a live stream during an ad being + * played, ad information previous to the first received {@code LOADED} event is missing. Only ads + * starting from the first ad with full information are inserted into the group (back to happy + * path step 2). + * + *

      There is further a chance, that a (pre-fetch) event arrives after the ad group has already + * ended. In such a case, the pre-fetch ad starts a new ad group with the remaining ads in the + * same way as the during-ad-joiner case that can afterwards be expanded again (back to end of + * happy path step 2). + * + * @param currentContentPeriodPositionUs The current public content position, in microseconds. + * @param adDurationUs The duration of the ad to be inserted, in microseconds. + * @param adPositionInAdPod The ad position in the ad pod (Note: starts with index 1). + * @param totalAdDurationUs The total duration of all ads as declared by the ad pod. + * @param totalAdsInAdPod The total number of ads declared by the ad pod. + * @param adPlaybackState The ad playback state with the current ad information. + * @return The updated {@link AdPlaybackState}. + */ + @CheckResult + public static AdPlaybackState addLiveAdBreak( + long currentContentPeriodPositionUs, + long adDurationUs, + int adPositionInAdPod, + long totalAdDurationUs, + int totalAdsInAdPod, + AdPlaybackState adPlaybackState) { + checkArgument(adPositionInAdPod > 0); + long mediaPeriodPositionUs = + getMediaPeriodPositionUsForContent( + currentContentPeriodPositionUs, /* nextAdGroupIndex= */ C.INDEX_UNSET, adPlaybackState); + // TODO(b/217187518) Support seeking backwards. + int adGroupIndex = + adPlaybackState.getAdGroupIndexForPositionUs( + mediaPeriodPositionUs, /* periodDurationUs= */ C.TIME_UNSET); + if (adGroupIndex == C.INDEX_UNSET) { + int adIndexInAdGroup = adPositionInAdPod - 1; + long[] adDurationsUs = + updateAdDurationAndPropagate( + new long[totalAdsInAdPod - adIndexInAdGroup], + /* adIndex= */ 0, + adDurationUs, + totalAdDurationUs); + adPlaybackState = + addAdGroupToAdPlaybackState( + adPlaybackState, + /* fromPositionUs= */ currentContentPeriodPositionUs, + /* contentResumeOffsetUs= */ sum(adDurationsUs), + /* adDurationsUs...= */ adDurationsUs); + adGroupIndex = + adPlaybackState.getAdGroupIndexForPositionUs( + mediaPeriodPositionUs, /* periodDurationUs= */ C.TIME_UNSET); + if (adGroupIndex != C.INDEX_UNSET) { + adPlaybackState = + adPlaybackState + .withAvailableAd(adGroupIndex, /* adIndexInAdGroup= */ 0) + .withOriginalAdCount(adGroupIndex, /* originalAdCount= */ totalAdsInAdPod); + } + } else { + AdGroup adGroup = adPlaybackState.getAdGroup(adGroupIndex); + long[] newDurationsUs = Arrays.copyOf(adGroup.durationsUs, adGroup.count); + int nextUnavailableAdIndex = getNextUnavailableAdIndex(adGroup); + if (adGroup.originalCount < totalAdsInAdPod || nextUnavailableAdIndex == adGroup.count) { + int adInAdGroupCount = max(totalAdsInAdPod, nextUnavailableAdIndex + 1); + adPlaybackState = + adPlaybackState + .withAdCount(adGroupIndex, adInAdGroupCount) + .withOriginalAdCount(adGroupIndex, /* originalAdCount= */ adInAdGroupCount); + newDurationsUs = Arrays.copyOf(newDurationsUs, adInAdGroupCount); + newDurationsUs[nextUnavailableAdIndex] = totalAdDurationUs; + Arrays.fill( + newDurationsUs, + /* fromIndex= */ nextUnavailableAdIndex + 1, + /* toIndex= */ adInAdGroupCount, + /* val= */ 0L); + } + long remainingDurationUs = max(adDurationUs, newDurationsUs[nextUnavailableAdIndex]); + updateAdDurationAndPropagate( + newDurationsUs, nextUnavailableAdIndex, adDurationUs, remainingDurationUs); + adPlaybackState = + adPlaybackState + .withAdDurationsUs(adGroupIndex, newDurationsUs) + .withAvailableAd(adGroupIndex, nextUnavailableAdIndex) + .withContentResumeOffsetUs(adGroupIndex, sum(newDurationsUs)); + } + return adPlaybackState; + } + + /** + * Splits the ad group at an available ad at a given split index. + * + *

      When splitting, the ads from and after the split index are removed from the existing ad + * group. Then the ad events of all removed available ads are replicated to get the exact same + * result as if the new ad group was created by SDK ad events. + * + * @param adGroup The ad group to split. + * @param adGroupIndex The index of the ad group in the ad playback state. + * @param splitIndexExclusive The first index that should be part of the newly created ad group. + * @param adPlaybackState The ad playback state to modify. + * @return The ad playback state with the split ad group. + */ + @CheckResult + public static AdPlaybackState splitAdGroup( + AdGroup adGroup, int adGroupIndex, int splitIndexExclusive, AdPlaybackState adPlaybackState) { + checkArgument(splitIndexExclusive > 0 && splitIndexExclusive < adGroup.count); + // Remove the ads from the ad group. + for (int i = 0; i < adGroup.count - splitIndexExclusive; i++) { + adPlaybackState = adPlaybackState.withLastAdRemoved(adGroupIndex); + } + AdGroup previousAdGroup = adPlaybackState.getAdGroup(adGroupIndex); + long newAdGroupTimeUs = previousAdGroup.timeUs + previousAdGroup.contentResumeOffsetUs; + // Replicate ad events for each available ad that has been removed. + @AdPlaybackState.AdState + int[] removedStates = Arrays.copyOfRange(adGroup.states, splitIndexExclusive, adGroup.count); + long[] removedDurationsUs = + Arrays.copyOfRange(adGroup.durationsUs, splitIndexExclusive, adGroup.count); + long remainingAdDurationUs = sum(removedDurationsUs); + for (int i = 0; i < removedStates.length && removedStates[i] == AD_STATE_AVAILABLE; i++) { + adPlaybackState = + addLiveAdBreak( + newAdGroupTimeUs, + /* adDurationUs= */ removedDurationsUs[i], + /* adPositionInAdPod= */ i + 1, + /* totalAdDurationUs= */ remainingAdDurationUs, + /* totalAdsInAdPod= */ removedDurationsUs.length, + adPlaybackState); + remainingAdDurationUs -= removedDurationsUs[i]; + } + return adPlaybackState; + } + + private static int getNextUnavailableAdIndex(AdGroup adGroup) { + for (int i = 0; i < adGroup.states.length; i++) { + if (adGroup.states[i] == AD_STATE_UNAVAILABLE) { + return i; + } + } + return adGroup.states.length; + } + /** * Converts a time in seconds to the corresponding time in microseconds. * diff --git a/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaUtilTest.java b/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaUtilTest.java index 370e16b77f2..8dfeb785ba7 100644 --- a/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaUtilTest.java +++ b/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/ImaUtilTest.java @@ -15,7 +15,14 @@ */ package androidx.media3.exoplayer.ima; +import static androidx.media3.common.AdPlaybackState.AD_STATE_AVAILABLE; +import static androidx.media3.common.AdPlaybackState.AD_STATE_ERROR; +import static androidx.media3.common.AdPlaybackState.AD_STATE_PLAYED; +import static androidx.media3.common.AdPlaybackState.AD_STATE_SKIPPED; +import static androidx.media3.common.AdPlaybackState.AD_STATE_UNAVAILABLE; +import static androidx.media3.exoplayer.ima.ImaUtil.addLiveAdBreak; import static androidx.media3.exoplayer.ima.ImaUtil.getAdGroupAndIndexInMultiPeriodWindow; +import static androidx.media3.exoplayer.ima.ImaUtil.splitAdGroup; import static androidx.media3.test.utils.FakeTimeline.TimelineWindowDefinition.DEFAULT_WINDOW_DURATION_US; import static androidx.media3.test.utils.FakeTimeline.TimelineWindowDefinition.DEFAULT_WINDOW_OFFSET_IN_FIRST_PERIOD_US; import static com.google.common.truth.Truth.assertThat; @@ -449,13 +456,13 @@ public void splitAdPlaybackStateForPeriods_correctAdPlaybackStates() { ImaUtil.splitAdPlaybackStateForPeriods(adPlaybackState, timeline); assertThat(adPlaybackStates.get(new Pair<>(0L, 0)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_PLAYED); + .isEqualTo(AD_STATE_PLAYED); assertThat(adPlaybackStates.get(new Pair<>(0L, 1)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_SKIPPED); + .isEqualTo(AD_STATE_SKIPPED); assertThat(adPlaybackStates.get(new Pair<>(0L, 2)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_ERROR); + .isEqualTo(AD_STATE_ERROR); assertThat(adPlaybackStates.get(new Pair<>(0L, 3)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_UNAVAILABLE); + .isEqualTo(AD_STATE_UNAVAILABLE); } @Test @@ -489,19 +496,19 @@ public void splitAdPlaybackStateForPeriods_singleAdOfAdGroupSpansMultiplePeriods assertThat(adPlaybackStates).hasSize(periodCount); assertThat(adPlaybackStates.get(new Pair<>(0L, 0)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_PLAYED); + .isEqualTo(AD_STATE_PLAYED); assertThat(adPlaybackStates.get(new Pair<>(0L, 1)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_PLAYED); + .isEqualTo(AD_STATE_PLAYED); assertThat(adPlaybackStates.get(new Pair<>(0L, 2)).adGroupCount).isEqualTo(0); assertThat(adPlaybackStates.get(new Pair<>(0L, 3)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_PLAYED); + .isEqualTo(AD_STATE_PLAYED); assertThat(adPlaybackStates.get(new Pair<>(0L, 4)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_PLAYED); + .isEqualTo(AD_STATE_PLAYED); assertThat(adPlaybackStates.get(new Pair<>(0L, 5)).adGroupCount).isEqualTo(0); assertThat(adPlaybackStates.get(new Pair<>(0L, 6)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_UNAVAILABLE); + .isEqualTo(AD_STATE_UNAVAILABLE); assertThat(adPlaybackStates.get(new Pair<>(0L, 7)).getAdGroup(/* adGroupIndex= */ 0).states[0]) - .isEqualTo(AdPlaybackState.AD_STATE_UNAVAILABLE); + .isEqualTo(AD_STATE_UNAVAILABLE); } @Test @@ -843,4 +850,530 @@ public void getAdGroupAndIndexInMultiPeriodWindow_correctAdGroupIndexAndAdIndexI assertThat(adGroupIndexAndAdIndexInAdGroup.first).isEqualTo(2); assertThat(adGroupIndexAndAdIndexInAdGroup.second).isEqualTo(1); } + + @Test + public void addLiveAdBreak_threeAdsHappyPath_createsNewAdGroupAndPropagates() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + + // Initial LOADED event while playing in content, makes the player advancing to the first ad + // period: [/* adGroupIndex= */ 0, /* adIndexInAdGroup */ 0, /* nextAdGroupIndex= */ -1]. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L, + /* adDurationUs= */ 10_000_001L, + /* adPositionInAdPod= */ 1, + /* totalAdDurationUs= */ 30_000_001L, + /* totalAdsInAdPod= */ 3, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000L); + assertThat(adPlaybackState.getAdGroup(0).isServerSideInserted).isTrue(); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 20_000_000L, 0L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(30_000_001); + + // Second load event while first ad is playing. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_001L, + /* adDurationUs= */ 10_000_010L, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 30_000_011L, + /* totalAdsInAdPod= */ 3, + adPlaybackState); + // Player advances to the second ad period: + // [/* adGroupIndex= */ 0, /* adIndexInAdGroup */ 1, /* nextAdGroupIndex= */ -1]. + // The first ad period is marked as played. + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_PLAYED, AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 10_000_010L, 9_999_990L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(30_000_001L); + + // Player advances to the third ad period: + // [/* adGroupIndex= */ 0, /* adIndexInAdGroup */ 2, /* nextAdGroupIndex= */ -1]. + // The 2nd ad period is marked as played. + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 1); + // Third LOADED event while already playing on the last ad period. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_001L + 10_000_010L, + /* adDurationUs= */ 10_000_100L, + /* adPositionInAdPod= */ 3, + /* totalAdDurationUs= */ 30_000_111L, + /* totalAdsInAdPod= */ 3, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_PLAYED, AD_STATE_PLAYED, AD_STATE_AVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 10_000_010L, 10_000_100L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(30_000_111L); + + // Additional pre-fetch LOADED event with no remaining unavailable ad slot increases ad count. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000 + + 10_000_001L + + 10_000_010L + + 10_000_100L, + /* adDurationUs= */ 10_001_000L, + /* adPositionInAdPod= */ 4, + /* totalAdDurationUs= */ 29_001_111L, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + // Player advances to the content period: + // [/* adGroupIndex= */ -1, /* adIndexInAdGroup */ -1, /* nextAdGroupIndex= */ 1]. + // The 3rd ad period is marked as played. + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 2); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_PLAYED, AD_STATE_PLAYED, AD_STATE_PLAYED, AD_STATE_AVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 10_000_010L, 10_000_100L, 10_001_000L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(40_001_111L); + } + + @Test + public void addLiveAdBreak_groupExpandsFromTwoAdsToFourAds_createsNewAdGroupAndExpands() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + + // Initial LOADED event while playing in content. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L, + /* adDurationUs= */ 10_000_001L, + /* adPositionInAdPod= */ 1, + /* totalAdDurationUs= */ 19_000_011L, + /* totalAdsInAdPod= */ 2, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000L); + assertThat(adPlaybackState.getAdGroup(0).isServerSideInserted).isTrue(); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 9_000_010L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(19_000_011); + + // Second LOADED event: switch to a ad pod with 4 ads + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_001L, + /* adDurationUs= */ 10_000_010L, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 40_000_011L, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000L); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly( + AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 10_000_010L, 30_000_001L, 0L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(50_000_012L); + + // Third LOADED event + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_001L + 10_000_010L, + /* adDurationUs= */ 10_000_100L, + /* adPositionInAdPod= */ 3, + /* totalAdDurationUs= */ 40_000_111L, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly( + AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 10_000_010L, 10_000_100L, 19999901L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(50_000_012L); + + // Last LOADED event + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + + 10_000_001L + + 10_000_010L + + 10_000_100L, + /* adDurationUs= */ 10_001_000L, + /* adPositionInAdPod= */ 4, + /* totalAdDurationUs= */ 40_001_111L, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly( + AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_AVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_001L, 10_000_010L, 10_000_100L, 10_001_000L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(40_001_111); + } + + @Test + public void addLiveAdBreak_groupExpandsFromOneToTwoAdsAfterAdGroupCompletion_createsNewAdGroup() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + + // Initial LOADED event while playing in content. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L, + /* adDurationUs= */ 10_000_001L, + /* adPositionInAdPod= */ 1, + /* totalAdDurationUs= */ 10_000_001L, + /* totalAdsInAdPod= */ 1, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000L); + assertThat(adPlaybackState.getAdGroup(0).states).asList().containsExactly(AD_STATE_AVAILABLE); + assertThat(adPlaybackState.getAdGroup(0).durationsUs).asList().containsExactly(10_000_001L); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(10_000_001L); + + // Player advances to the content period: + // [/* adGroupIndex= */ -1, /* adIndexInAdGroup */ -1, /* nextAdGroupIndex= */ 1] + // The ad group is completely played. + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0); + // A 'late LOADED event' at the end of the completed ad group. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_001L, + /* adDurationUs= */ 10_000_010L, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 20_000_011L, + /* totalAdsInAdPod= */ 2, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(1).count).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(1).originalCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(1).timeUs).isEqualTo(123_000_000L + 10_000_001L); + assertThat(adPlaybackState.getAdGroup(1).states).asList().containsExactly(AD_STATE_AVAILABLE); + assertThat(adPlaybackState.getAdGroup(1).durationsUs).asList().containsExactly(10_000_010L); + assertThat(adPlaybackState.getAdGroup(1).contentResumeOffsetUs).isEqualTo(10_000_010L); + } + + @Test + public void addLiveAdBreak_joinInSecondAd_createsNewAdGroupAndExpands() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + + // First LOADED event arrives with position 2 like when joining during an ad. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 30_000_000, + /* totalAdsInAdPod= */ 3, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000L); + assertThat(adPlaybackState.getAdGroup(0).isServerSideInserted).isTrue(); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_000L, 20_000_000L) // Placeholder duration. + .inOrder(); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(30_000_000L); + + // Second LOADED event overrides placeholder duration. + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_000L, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 3, + /* totalAdDurationUs= */ 30_000_000, + /* totalAdsInAdPod= */ 3, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_AVAILABLE); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_000L, 10_000_000L); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(20_000_000L); + + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0); + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 1); + // Delayed pre-fetch LOADED event in content (creates new ad group). + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000L + 10_000_000L + 10_000_000L, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 4, + /* totalAdDurationUs= */ 30_000_000, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(1).count).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(1).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(1).states).asList().containsExactly(AD_STATE_AVAILABLE); + assertThat(adPlaybackState.getAdGroup(1).durationsUs).asList().containsExactly(10_000_000L); + assertThat(adPlaybackState.getAdGroup(1).contentResumeOffsetUs).isEqualTo(10_000_000L); + } + + @Test + public void splitAdGroup_singleTrailingAdInCompletedGroup_correctlySplit() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 1, + /* totalAdDurationUs= */ 10_000_000, + /* totalAdsInAdPod= */ 2, + adPlaybackState); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000 + 10_000_000, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 10_000_000, + /* totalAdsInAdPod= */ 2, + adPlaybackState); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000 + 10_000_000 + 10_000_000, + /* adDurationUs= */ 15_000_000, + /* adPositionInAdPod= */ 3, + /* totalAdDurationUs= */ 45_000_000, + /* totalAdsInAdPod= */ 3, + adPlaybackState); + adPlaybackState = + adPlaybackState + .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0) + .withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 1); + AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ 0); + + // Split the current adGroup at ad index 2: + // [AD_STATE_PLAYED, AD_STATE_PLAYED, AD_STATE_AVAILABLE] + adPlaybackState = + splitAdGroup(adGroup, /* adGroupIndex= */ 0, /* splitIndexExclusive= */ 2, adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(2); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(20_000_000L); + assertThat(adPlaybackState.getAdGroup(0).durationsUs) + .asList() + .containsExactly(10_000_000L, 10_000_000L); + assertThat(adPlaybackState.getAdGroup(0).states) + .asList() + .containsExactly(AD_STATE_PLAYED, AD_STATE_PLAYED); + assertThat(adPlaybackState.getAdGroup(1).timeUs).isEqualTo(123_000_000 + 20_000_000); + assertThat(adPlaybackState.getAdGroup(1).count).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(1).originalCount).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(1).contentResumeOffsetUs).isEqualTo(15_000_000L); + assertThat(adPlaybackState.getAdGroup(1).durationsUs).asList().containsExactly(15_000_000L); + assertThat(adPlaybackState.getAdGroup(1).states).asList().containsExactly(AD_STATE_AVAILABLE); + } + + @Test + public void splitAdGroup_multipleTrailingAds_correctlySplit() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 1, + /* totalAdDurationUs= */ 10_000_000, + /* totalAdsInAdPod= */ 1, + adPlaybackState); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000 + 10_000_000, + /* adDurationUs= */ 20_000_000, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 100_000_000, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000 + 10_000_000 + 10_000_000, + /* adDurationUs= */ 30_000_000, + /* adPositionInAdPod= */ 3, + /* totalAdDurationUs= */ 100_000_000, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0); + AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ 0); + + // Split the current adGroup at ad index 1: + // [AD_STATE_PLAYED, AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE] + adPlaybackState = + splitAdGroup(adGroup, /* adGroupIndex= */ 0, /* splitIndexExclusive= */ 1, adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(10_000_000L); + assertThat(adPlaybackState.getAdGroup(0).durationsUs).asList().containsExactly(10_000_000L); + assertThat(adPlaybackState.getAdGroup(0).states).asList().containsExactly(AD_STATE_PLAYED); + assertThat(adPlaybackState.getAdGroup(1).timeUs).isEqualTo(123_000_000 + 10_000_000); + assertThat(adPlaybackState.getAdGroup(1).count).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(1).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(1).contentResumeOffsetUs).isEqualTo(100_000_000L); + assertThat(adPlaybackState.getAdGroup(1).durationsUs) + .asList() + .containsExactly(20_000_000L, 30_000_000L, 50_000_000L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(1).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + } + + @Test + public void splitAdGroup_lastAdWithZeroDuration_correctlySplit() { + AdPlaybackState adPlaybackState = + new AdPlaybackState("adsId") + .withNewAdGroup(/* adGroupIndex= */ 0, /* adGroupTimeUs= */ C.TIME_END_OF_SOURCE) + .withIsServerSideInserted(/* adGroupIndex= */ 0, true); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000, + /* adDurationUs= */ 10_000_000, + /* adPositionInAdPod= */ 1, + /* totalAdDurationUs= */ 10_000_000, + /* totalAdsInAdPod= */ 1, + adPlaybackState); + adPlaybackState = + addLiveAdBreak( + /* currentContentPeriodPositionUs= */ 123_000_000 + 10_000_000, + /* adDurationUs= */ 20_000_000, + /* adPositionInAdPod= */ 2, + /* totalAdDurationUs= */ 100_000_000, + /* totalAdsInAdPod= */ 4, + adPlaybackState); + adPlaybackState = + adPlaybackState.withPlayedAd(/* adGroupIndex= */ 0, /* adIndexInAdGroup= */ 0); + AdPlaybackState.AdGroup adGroup = adPlaybackState.getAdGroup(/* adGroupIndex= */ 0); + + // Split the current adGroup at ad index 1: + // [AD_STATE_PLAYED, AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE] + adPlaybackState = + splitAdGroup(adGroup, /* adGroupIndex= */ 0, /* splitIndexExclusive= */ 1, adPlaybackState); + + assertThat(adPlaybackState.adGroupCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(0).timeUs).isEqualTo(123_000_000); + assertThat(adPlaybackState.getAdGroup(0).count).isEqualTo(1); + assertThat(adPlaybackState.getAdGroup(0).originalCount).isEqualTo(4); + assertThat(adPlaybackState.getAdGroup(0).contentResumeOffsetUs).isEqualTo(10_000_000L); + assertThat(adPlaybackState.getAdGroup(0).durationsUs).asList().containsExactly(10_000_000L); + assertThat(adPlaybackState.getAdGroup(0).states).asList().containsExactly(AD_STATE_PLAYED); + assertThat(adPlaybackState.getAdGroup(1).timeUs).isEqualTo(123_000_000 + 10_000_000); + assertThat(adPlaybackState.getAdGroup(1).count).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(1).originalCount).isEqualTo(3); + assertThat(adPlaybackState.getAdGroup(1).contentResumeOffsetUs).isEqualTo(100_000_000L); + assertThat(adPlaybackState.getAdGroup(1).durationsUs) + .asList() + .containsExactly(20_000_000L, 80_000_000L, 0L) + .inOrder(); + assertThat(adPlaybackState.getAdGroup(1).states) + .asList() + .containsExactly(AD_STATE_AVAILABLE, AD_STATE_UNAVAILABLE, AD_STATE_UNAVAILABLE) + .inOrder(); + } } From 1c8158739874844944914b205ec5f09c505e9308 Mon Sep 17 00:00:00 2001 From: bachinger Date: Thu, 27 Oct 2022 11:50:03 +0000 Subject: [PATCH 360/422] Use MediaBrowserCompat.rootHints as connections hints In Media3 there is the useful concept of connection hints that a client can set when building the session and that are sent to the service and passed to the `Callback.onConnect()` method when the browser connects. These connection hints are then included in the `ControllerInfo` object that later will be passed to every callback method and the implementor can then take decisions specific to these connection hints. These connection hints are not available in media1. However, when an app creates a `MediaBrowserCompat` object, the constructor takes a rootHint object that is sent to `MediaBrowserServiceCompat.onGetRoot()`. This change uses the browser rootHints as the connection hints when creating the `ControllerInfo` for legacy browsers and makes them available to the `MediaLibrarySession.Callback` domain methods in the same way as connection hints of a Media3 browser. PiperOrigin-RevId: 484220748 (cherry picked from commit 21022c77be44fefeaa25ef9fb72be7d48e51a0bc) --- .../MediaLibraryServiceLegacyStub.java | 4 +- .../MediaSessionServiceLegacyStub.java | 7 +- ...wserCompatWithMediaLibraryServiceTest.java | 85 ++++++++++--------- ...wserCompatWithMediaSessionServiceTest.java | 24 +++--- .../session/MockMediaLibraryService.java | 22 ++++- 5 files changed, 86 insertions(+), 56 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java index 998c255e28f..9a90e9478a6 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java @@ -317,14 +317,14 @@ public void onCustomAction(String action, Bundle extras, Result result) } @Override - public ControllerInfo createControllerInfo(RemoteUserInfo remoteUserInfo) { + public ControllerInfo createControllerInfo(RemoteUserInfo remoteUserInfo, Bundle rootHints) { return new ControllerInfo( remoteUserInfo, ControllerInfo.LEGACY_CONTROLLER_VERSION, ControllerInfo.LEGACY_CONTROLLER_INTERFACE_VERSION, getMediaSessionManager().isTrustedForMediaControl(remoteUserInfo), new BrowserLegacyCb(remoteUserInfo), - /* connectionHints= */ Bundle.EMPTY); + /* connectionHints= */ rootHints); } public ControllerCb getBrowserLegacyCbForBroadcast() { diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java index 7cc049ba4bb..f845029ed0e 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionServiceLegacyStub.java @@ -61,7 +61,8 @@ public void initialize(MediaSessionCompat.Token token) { public BrowserRoot onGetRoot( String clientPackageName, int clientUid, @Nullable Bundle rootHints) { RemoteUserInfo info = getCurrentBrowserInfo(); - MediaSession.ControllerInfo controller = createControllerInfo(info); + MediaSession.ControllerInfo controller = + createControllerInfo(info, rootHints != null ? rootHints : Bundle.EMPTY); AtomicReference resultReference = new AtomicReference<>(); ConditionVariable haveResult = new ConditionVariable(); @@ -92,14 +93,14 @@ public void onLoadChildren(String parentId, Result> result) { result.sendResult(/* result= */ null); } - public ControllerInfo createControllerInfo(RemoteUserInfo info) { + public ControllerInfo createControllerInfo(RemoteUserInfo info, Bundle rootHints) { return new ControllerInfo( info, ControllerInfo.LEGACY_CONTROLLER_VERSION, ControllerInfo.LEGACY_CONTROLLER_INTERFACE_VERSION, manager.isTrustedForMediaControl(info), /* cb= */ null, - /* connectionHints= */ Bundle.EMPTY); + /* connectionHints= */ rootHints); } public final MediaSessionManager getMediaSessionManager() { diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java index e6b31bd549c..b05e2dd4557 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java @@ -17,6 +17,7 @@ import static androidx.media3.session.MediaConstants.EXTRAS_KEY_COMPLETION_STATUS; import static androidx.media3.session.MediaConstants.EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED; +import static androidx.media3.session.MockMediaLibraryService.CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT; import static androidx.media3.test.session.common.CommonConstants.METADATA_ARTWORK_URI; import static androidx.media3.test.session.common.CommonConstants.METADATA_DESCRIPTION; import static androidx.media3.test.session.common.CommonConstants.METADATA_EXTRA_KEY; @@ -93,13 +94,8 @@ ComponentName getServiceComponent() { public void getRoot() throws Exception { // The MockMediaLibraryService gives MediaBrowserConstants.ROOT_ID as root ID, and // MediaBrowserConstants.ROOT_EXTRAS as extras. - handler.postAndSync( - () -> { - browserCompat = - new MediaBrowserCompat( - context, getServiceComponent(), connectionCallback, /* rootHint= */ null); - }); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); + assertThat(browserCompat.getRoot()).isEqualTo(ROOT_ID); assertThat( browserCompat @@ -113,10 +109,10 @@ public void getRoot() throws Exception { } @Test - public void getItem_browsable() throws InterruptedException { + public void getItem_browsable() throws Exception { String mediaId = MEDIA_ID_GET_BROWSABLE_ITEM; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); AtomicReference itemRef = new AtomicReference<>(); browserCompat.getItem( @@ -135,10 +131,10 @@ public void onItemLoaded(MediaItem item) { } @Test - public void getItem_playable() throws InterruptedException { + public void getItem_playable() throws Exception { String mediaId = MEDIA_ID_GET_PLAYABLE_ITEM; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); AtomicReference itemRef = new AtomicReference<>(); browserCompat.getItem( @@ -157,10 +153,10 @@ public void onItemLoaded(MediaItem item) { } @Test - public void getItem_metadata() throws InterruptedException { + public void getItem_metadata() throws Exception { String mediaId = MEDIA_ID_GET_ITEM_WITH_METADATA; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); AtomicReference itemRef = new AtomicReference<>(); browserCompat.getItem( @@ -187,10 +183,10 @@ public void onItemLoaded(MediaItem item) { } @Test - public void getItem_nullResult() throws InterruptedException { + public void getItem_nullResult() throws Exception { String mediaId = "random_media_id"; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.getItem( mediaId, @@ -210,9 +206,9 @@ public void onError(String itemId) { } @Test - public void getChildren() throws InterruptedException { + public void getChildren() throws Exception { String testParentId = PARENT_ID; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); List receivedChildren = new ArrayList<>(); final String[] receivedParentId = new String[1]; @@ -252,10 +248,10 @@ public void onChildrenLoaded(String parentId, List children, Bundle o } @Test - public void getChildren_withLongList() throws InterruptedException { + public void getChildren_withLongList() throws Exception { String testParentId = PARENT_ID_LONG_LIST; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.subscribe( testParentId, @@ -283,14 +279,14 @@ public void onChildrenLoaded(String parentId, List children, Bundle o } @Test - public void getChildren_withPagination() throws InterruptedException { + public void getChildren_withPagination() throws Exception { String testParentId = PARENT_ID; int page = 4; int pageSize = 10; Bundle extras = new Bundle(); extras.putString(testParentId, testParentId); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); Bundle option = new Bundle(); option.putInt(MediaBrowserCompat.EXTRA_PAGE, page); @@ -327,9 +323,9 @@ public void onChildrenLoaded(String parentId, List children) { } @Test - public void getChildren_authErrorResult() throws InterruptedException { + public void getChildren_authErrorResult() throws Exception { String testParentId = PARENT_ID_AUTH_EXPIRED_ERROR; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch errorLatch = new CountDownLatch(1); browserCompat.subscribe( testParentId, @@ -368,10 +364,10 @@ public void onChildrenLoaded(String parentId, List children) { } @Test - public void getChildren_emptyResult() throws InterruptedException { + public void getChildren_emptyResult() throws Exception { String testParentId = PARENT_ID_NO_CHILDREN; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.subscribe( testParentId, @@ -387,10 +383,10 @@ public void onChildrenLoaded(String parentId, List children) { } @Test - public void getChildren_nullResult() throws InterruptedException { + public void getChildren_nullResult() throws Exception { String testParentId = PARENT_ID_ERROR; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.subscribe( testParentId, @@ -410,7 +406,7 @@ public void onChildrenLoaded(String parentId, List children, Bundle o } @Test - public void search() throws InterruptedException { + public void search() throws Exception { String testQuery = SEARCH_QUERY; int page = 4; int pageSize = 10; @@ -419,7 +415,7 @@ public void search() throws InterruptedException { testExtras.putInt(MediaBrowserCompat.EXTRA_PAGE, page); testExtras.putInt(MediaBrowserCompat.EXTRA_PAGE_SIZE, pageSize); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.search( testQuery, @@ -449,7 +445,7 @@ public void onSearchResult(String query, Bundle extras, List items) { } @Test - public void search_withLongList() throws InterruptedException { + public void search_withLongList() throws Exception { String testQuery = SEARCH_QUERY_LONG_LIST; int page = 0; int pageSize = Integer.MAX_VALUE; @@ -458,7 +454,7 @@ public void search_withLongList() throws InterruptedException { testExtras.putInt(MediaBrowserCompat.EXTRA_PAGE, page); testExtras.putInt(MediaBrowserCompat.EXTRA_PAGE_SIZE, pageSize); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.search( testQuery, @@ -482,12 +478,12 @@ public void onSearchResult(String query, Bundle extras, List items) { } @Test - public void search_emptyResult() throws InterruptedException { + public void search_emptyResult() throws Exception { String testQuery = SEARCH_QUERY_EMPTY_RESULT; Bundle testExtras = new Bundle(); testExtras.putString(testQuery, testQuery); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.search( testQuery, @@ -506,12 +502,12 @@ public void onSearchResult(String query, Bundle extras, List items) { } @Test - public void search_error() throws InterruptedException { + public void search_error() throws Exception { String testQuery = SEARCH_QUERY_ERROR; Bundle testExtras = new Bundle(); testExtras.putString(testQuery, testQuery); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.search( testQuery, @@ -534,11 +530,11 @@ public void onSearchResult(String query, Bundle extras, List items) { // TODO: Add test for onCustomCommand() in MediaLibrarySessionLegacyCallbackTest. @Test - public void customAction() throws InterruptedException { + public void customAction() throws Exception { Bundle testArgs = new Bundle(); testArgs.putString("args_key", "args_value"); - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.sendCustomAction( CUSTOM_ACTION, @@ -557,11 +553,11 @@ public void onResult(String action, Bundle extras, Bundle resultData) { // TODO: Add test for onCustomCommand() in MediaLibrarySessionLegacyCallbackTest. @Test - public void customAction_rejected() throws InterruptedException { + public void customAction_rejected() throws Exception { // This action will not be allowed by the library session. String testAction = "random_custom_action"; - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); CountDownLatch latch = new CountDownLatch(1); browserCompat.sendCustomAction( testAction, @@ -576,4 +572,15 @@ public void onResult(String action, Bundle extras, Bundle resultData) { .that(latch.await(NO_RESPONSE_TIMEOUT_MS, MILLISECONDS)) .isFalse(); } + + @Test + public void rootBrowserHints_usedAsConnectionHints() throws Exception { + Bundle connectionHints = new Bundle(); + connectionHints.putString(CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT, "myLibraryRoot"); + connectAndWait(connectionHints); + + String root = browserCompat.getRoot(); + + assertThat(root).isEqualTo("myLibraryRoot"); + } } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaSessionServiceTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaSessionServiceTest.java index 64db577d13f..12caed0f8e1 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaSessionServiceTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaSessionServiceTest.java @@ -23,6 +23,7 @@ import android.content.ComponentName; import android.content.Context; +import android.os.Bundle; import android.support.v4.media.MediaBrowserCompat; import android.support.v4.media.session.MediaControllerCompat; import android.support.v4.media.session.PlaybackStateCompat; @@ -63,16 +64,10 @@ public class MediaBrowserCompatWithMediaSessionServiceTest { @Nullable PlaybackStateCompat lastReportedPlaybackStateCompat; @Before - public void setUp() throws Exception { + public void setUp() { context = ApplicationProvider.getApplicationContext(); handler = threadTestRule.getHandler(); connectionCallback = new TestConnectionCallback(); - handler.postAndSync( - () -> { - // Make browser's internal handler to be initialized with test thread. - browserCompat = - new MediaBrowserCompat(context, getServiceComponent(), connectionCallback, null); - }); } @After @@ -87,15 +82,22 @@ ComponentName getServiceComponent() { return MOCK_MEDIA3_SESSION_SERVICE; } - void connectAndWait() throws InterruptedException { + void connectAndWait(Bundle connectionHints) throws Exception { + handler.postAndSync( + () -> { + // Make browser's internal handler to be initialized with test thread. + browserCompat = + new MediaBrowserCompat( + context, getServiceComponent(), connectionCallback, connectionHints); + }); browserCompat.connect(); assertThat(connectionCallback.connectedLatch.await(SERVICE_CONNECTION_TIMEOUT_MS, MILLISECONDS)) .isTrue(); } @Test - public void connect() throws InterruptedException { - connectAndWait(); + public void connect() throws Exception { + connectAndWait(/* connectionHints= */ Bundle.EMPTY); assertThat(connectionCallback.failedLatch.getCount()).isNotEqualTo(0); } @@ -109,7 +111,7 @@ public void connect_rejected() throws InterruptedException { @Test public void getSessionToken() throws Exception { - connectAndWait(); + connectAndWait(/* connectionHints= */ Bundle.EMPTY); MediaControllerCompat controller = new MediaControllerCompat(context, browserCompat.getSessionToken()); assertThat(controller.getPackageName()) diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java index 0749077056f..995b1621500 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java @@ -82,6 +82,9 @@ public class MockMediaLibraryService extends MediaLibraryService { /** ID of the session that this service will create. */ public static final String ID = "TestLibrary"; + public static final String CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT = + "CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT"; + public static final MediaItem ROOT_ITEM = new MediaItem.Builder() .setMediaId(ROOT_ID) @@ -192,7 +195,24 @@ public MediaSession.ConnectionResult onConnect( public ListenableFuture> onGetLibraryRoot( MediaLibrarySession session, ControllerInfo browser, @Nullable LibraryParams params) { assertLibraryParams(params); - return Futures.immediateFuture(LibraryResult.ofItem(ROOT_ITEM, ROOT_PARAMS)); + MediaItem rootItem = ROOT_ITEM; + // Use connection hints to select the library root. + String customLibraryRoot = + browser + .getConnectionHints() + .getString(CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT, /* defaultValue= */ null); + if (customLibraryRoot != null) { + rootItem = + new MediaItem.Builder() + .setMediaId(customLibraryRoot) + .setMediaMetadata( + new MediaMetadata.Builder() + .setFolderType(MediaMetadata.FOLDER_TYPE_ALBUMS) + .setIsPlayable(false) + .build()) + .build(); + } + return Futures.immediateFuture(LibraryResult.ofItem(rootItem, ROOT_PARAMS)); } @Override From dddb4841af25bcdfa236f788397347dc8a70aa97 Mon Sep 17 00:00:00 2001 From: bachinger Date: Thu, 27 Oct 2022 17:20:06 +0000 Subject: [PATCH 361/422] Set BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED automatically This root extra needs to be set by apps manually in media1 and we can do that automatically in Media3 based on the available session commands. #minor-release PiperOrigin-RevId: 484286833 (cherry picked from commit 4c9ca8fad1c4d4c475a0baee243c099204bc23af) --- .../MediaLibraryServiceLegacyStub.java | 11 ++++++++- ...wserCompatWithMediaLibraryServiceTest.java | 24 +++++++++++++++++++ .../session/MockMediaLibraryService.java | 18 ++++++++++++-- 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java index 9a90e9478a6..eeb4f3674aa 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaLibraryServiceLegacyStub.java @@ -17,6 +17,7 @@ import static android.support.v4.media.MediaBrowserCompat.EXTRA_PAGE; import static android.support.v4.media.MediaBrowserCompat.EXTRA_PAGE_SIZE; +import static androidx.media.utils.MediaConstants.BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import static androidx.media3.common.util.Util.castNonNull; @@ -108,7 +109,15 @@ public BrowserRoot onGetRoot( Log.e(TAG, "Couldn't get a result from onGetLibraryRoot", e); } if (result != null && result.resultCode == RESULT_SUCCESS && result.value != null) { - return new BrowserRoot(result.value.mediaId, MediaUtils.convertToRootHints(result.params)); + @Nullable + Bundle extras = + result.params != null ? MediaUtils.convertToRootHints(result.params) : new Bundle(); + boolean isSearchSessionCommandAvailable = + getConnectedControllersManager() + .isSessionCommandAvailable(controller, SessionCommand.COMMAND_CODE_LIBRARY_SEARCH); + checkNotNull(extras) + .putBoolean(BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED, isSearchSessionCommandAvailable); + return new BrowserRoot(result.value.mediaId, extras); } // No library root, but keep browser compat connected to allow getting session. return MediaUtils.defaultBrowserRoot; diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java index b05e2dd4557..d365a80edfd 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaBrowserCompatWithMediaLibraryServiceTest.java @@ -15,6 +15,7 @@ */ package androidx.media3.session; +import static androidx.media.utils.MediaConstants.BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED; import static androidx.media3.session.MediaConstants.EXTRAS_KEY_COMPLETION_STATUS; import static androidx.media3.session.MediaConstants.EXTRAS_VALUE_COMPLETION_STATUS_PARTIALLY_PLAYED; import static androidx.media3.session.MockMediaLibraryService.CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT; @@ -583,4 +584,27 @@ public void rootBrowserHints_usedAsConnectionHints() throws Exception { assertThat(root).isEqualTo("myLibraryRoot"); } + + @Test + public void rootBrowserHints_searchSupported_reportsSearchSupported() throws Exception { + connectAndWait(/* connectionHints= */ Bundle.EMPTY); + + boolean isSearchSupported = + browserCompat.getExtras().getBoolean(BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED); + + assertThat(isSearchSupported).isTrue(); + } + + @Test + public void rootBrowserHints_searchNotSupported_reportsSearchNotSupported() throws Exception { + Bundle connectionHints = new Bundle(); + connectionHints.putBoolean( + MockMediaLibraryService.CONNECTION_HINTS_KEY_REMOVE_COMMAND_CODE_LIBRARY_SEARCH, true); + connectAndWait(connectionHints); + + boolean isSearchSupported = + browserCompat.getExtras().getBoolean(BROWSER_SERVICE_EXTRAS_KEY_SEARCH_SUPPORTED); + + assertThat(isSearchSupported).isFalse(); + } } diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java index 995b1621500..cfad2d7550a 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockMediaLibraryService.java @@ -81,9 +81,16 @@ public class MockMediaLibraryService extends MediaLibraryService { /** ID of the session that this service will create. */ public static final String ID = "TestLibrary"; - + /** Key used in connection hints to instruct the mock service to use a given library root. */ public static final String CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT = "CONNECTION_HINTS_CUSTOM_LIBRARY_ROOT"; + /** + * Key used in connection hints to instruct the mock service to remove {@link + * SessionCommand#COMMAND_CODE_LIBRARY_SEARCH} from the available commands in {@link + * MediaSession.Callback#onConnect(MediaSession, ControllerInfo)}. + */ + public static final String CONNECTION_HINTS_KEY_REMOVE_COMMAND_CODE_LIBRARY_SEARCH = + "CONNECTION_HINTS_KEY_REMOVE_SEARCH_SESSION_COMMAND"; public static final MediaItem ROOT_ITEM = new MediaItem.Builder() @@ -186,6 +193,12 @@ public MediaSession.ConnectionResult onConnect( SessionCommands.Builder builder = connectionResult.availableSessionCommands.buildUpon(); builder.add(new SessionCommand(CUSTOM_ACTION, /* extras= */ Bundle.EMPTY)); builder.add(new SessionCommand(CUSTOM_ACTION_ASSERT_PARAMS, /* extras= */ Bundle.EMPTY)); + if (controller + .getConnectionHints() + .getBoolean( + CONNECTION_HINTS_KEY_REMOVE_COMMAND_CODE_LIBRARY_SEARCH, /* defaultValue= */ false)) { + builder.remove(SessionCommand.COMMAND_CODE_LIBRARY_SEARCH); + } return MediaSession.ConnectionResult.accept( /* availableSessionCommands= */ builder.build(), connectionResult.availablePlayerCommands); @@ -196,7 +209,8 @@ public ListenableFuture> onGetLibraryRoot( MediaLibrarySession session, ControllerInfo browser, @Nullable LibraryParams params) { assertLibraryParams(params); MediaItem rootItem = ROOT_ITEM; - // Use connection hints to select the library root. + // Use connection hints to select the library root to test whether the legacy browser root + // hints are propagated as connection hints. String customLibraryRoot = browser .getConnectionHints() From 2a809dcebd19f6d71add2f61b2ca26b350337eba Mon Sep 17 00:00:00 2001 From: kimvde Date: Thu, 27 Oct 2022 18:01:11 +0000 Subject: [PATCH 362/422] Add test for muxer watchdog timer PiperOrigin-RevId: 484298261 (cherry picked from commit 1730334133cfac2a90144bfc88a324e270154688) --- .../transformer/TransformerEndToEndTest.java | 100 ++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index 92f4386c607..224958ea5f1 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -31,6 +31,7 @@ import android.content.Context; import android.media.MediaCrypto; import android.media.MediaFormat; +import android.net.Uri; import android.os.Handler; import android.os.HandlerThread; import android.os.Looper; @@ -42,6 +43,14 @@ import androidx.media3.common.MediaItem; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.Util; +import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; +import androidx.media3.exoplayer.source.MediaSource; +import androidx.media3.extractor.DefaultExtractorsFactory; +import androidx.media3.extractor.Extractor; +import androidx.media3.extractor.ExtractorInput; +import androidx.media3.extractor.ExtractorOutput; +import androidx.media3.extractor.ExtractorsFactory; +import androidx.media3.extractor.PositionHolder; import androidx.media3.test.utils.DumpFileAsserts; import androidx.media3.test.utils.FakeClock; import androidx.test.core.app.ApplicationProvider; @@ -54,7 +63,9 @@ import java.nio.file.Files; import java.nio.file.Paths; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.concurrent.CountDownLatch; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -477,6 +488,26 @@ public void startTransformation_withAudioMuxerFormatFallback_completesSuccessful .onFallbackApplied(mediaItem, originalTransformationRequest, fallbackTransformationRequest); } + @Test + public void startTransformation_withSlowOutputSampleRate_completesWithError() throws Exception { + MediaSource.Factory mediaSourceFactory = + new DefaultMediaSourceFactory( + context, new SlowExtractorsFactory(/* delayBetweenReadsMs= */ 10)); + Muxer.Factory muxerFactory = new TestMuxerFactory(/* maxDelayBetweenSamplesMs= */ 1); + Transformer transformer = + createTransformerBuilder(/* enableFallback= */ false) + .setMediaSourceFactory(mediaSourceFactory) + .setMuxerFactory(muxerFactory) + .build(); + MediaItem mediaItem = MediaItem.fromUri(ASSET_URI_PREFIX + FILE_AUDIO_VIDEO); + + transformer.startTransformation(mediaItem, outputPath); + TransformationException exception = TransformerTestRunner.runUntilError(transformer); + + assertThat(exception).hasCauseThat().isInstanceOf(IllegalStateException.class); + assertThat(exception.errorCode).isEqualTo(TransformationException.ERROR_CODE_MUXING_FAILED); + } + @Test public void startTransformation_withUnsetMaxDelayBetweenSamples_completesSuccessfully() throws Exception { @@ -897,4 +928,73 @@ public ImmutableList getSupportedSampleMimeTypes(@C.TrackType int trackT return defaultMuxerFactory.getSupportedSampleMimeTypes(trackType); } } + + private static final class SlowExtractorsFactory implements ExtractorsFactory { + + private final long delayBetweenReadsMs; + private final ExtractorsFactory defaultExtractorsFactory; + + public SlowExtractorsFactory(long delayBetweenReadsMs) { + this.delayBetweenReadsMs = delayBetweenReadsMs; + this.defaultExtractorsFactory = new DefaultExtractorsFactory(); + } + + @Override + public Extractor[] createExtractors() { + return slowDownExtractors(defaultExtractorsFactory.createExtractors()); + } + + @Override + public Extractor[] createExtractors(Uri uri, Map> responseHeaders) { + return slowDownExtractors(defaultExtractorsFactory.createExtractors(uri, responseHeaders)); + } + + private Extractor[] slowDownExtractors(Extractor[] extractors) { + Extractor[] slowExtractors = new Extractor[extractors.length]; + Arrays.setAll(slowExtractors, i -> new SlowExtractor(extractors[i], delayBetweenReadsMs)); + return slowExtractors; + } + + private static final class SlowExtractor implements Extractor { + + private final Extractor extractor; + private final long delayBetweenReadsMs; + + public SlowExtractor(Extractor extractor, long delayBetweenReadsMs) { + this.extractor = extractor; + this.delayBetweenReadsMs = delayBetweenReadsMs; + } + + @Override + public boolean sniff(ExtractorInput input) throws IOException { + return extractor.sniff(input); + } + + @Override + public void init(ExtractorOutput output) { + extractor.init(output); + } + + @Override + public @ReadResult int read(ExtractorInput input, PositionHolder seekPosition) + throws IOException { + try { + Thread.sleep(delayBetweenReadsMs); + } catch (InterruptedException e) { + throw new IllegalStateException(e); + } + return extractor.read(input, seekPosition); + } + + @Override + public void seek(long position, long timeUs) { + extractor.seek(position, timeUs); + } + + @Override + public void release() { + extractor.release(); + } + } + } } From 690ebb3dcd2c38357572b760443688f30b139cd1 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Fri, 28 Oct 2022 10:03:56 +0000 Subject: [PATCH 363/422] Upgrade dackka and fix some generation errors #minor-release PiperOrigin-RevId: 484483080 (cherry picked from commit 3069d8130be1bef156bef2d0b3541648fd5dbf9a) --- javadoc_combined.gradle | 2 +- .../androidx/media3/exoplayer/source/SampleQueue.java | 6 +++--- .../java/androidx/media3/extractor/avi/AviExtractor.java | 8 ++++---- .../java/androidx/media3/session/MediaNotification.java | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/javadoc_combined.gradle b/javadoc_combined.gradle index 0b37687b410..ced0f876f4f 100644 --- a/javadoc_combined.gradle +++ b/javadoc_combined.gradle @@ -21,7 +21,7 @@ class CombinedJavadocPlugin implements Plugin { // Dackka snapshots are listed at https://androidx.dev/dackka/builds. static final String DACKKA_JAR_URL = - "https://androidx.dev/dackka/builds/8003564/artifacts/dackka-0.0.14.jar" + "https://androidx.dev/dackka/builds/9221390/artifacts/dackka-1.0.4-all.jar" @Override void apply(Project project) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SampleQueue.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SampleQueue.java index aad102c1e20..203c5f8b9bb 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SampleQueue.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SampleQueue.java @@ -575,10 +575,10 @@ public final void setUpstreamFormatChangeListener( // TrackOutput implementation. Called by the loading thread. @Override - public final void format(Format unadjustedUpstreamFormat) { - Format adjustedUpstreamFormat = getAdjustedUpstreamFormat(unadjustedUpstreamFormat); + public final void format(Format format) { + Format adjustedUpstreamFormat = getAdjustedUpstreamFormat(format); upstreamFormatAdjustmentRequired = false; - this.unadjustedUpstreamFormat = unadjustedUpstreamFormat; + unadjustedUpstreamFormat = format; boolean upstreamFormatChanged = setUpstreamFormat(adjustedUpstreamFormat); if (upstreamFormatChangeListener != null && upstreamFormatChanged) { upstreamFormatChangeListener.onUpstreamFormatChanged(adjustedUpstreamFormat); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java index 21f1175c05f..9822b428d0d 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/avi/AviExtractor.java @@ -171,8 +171,8 @@ public boolean sniff(ExtractorInput input) throws IOException { } @Override - public int read(ExtractorInput input, PositionHolder positionHolder) throws IOException { - if (resolvePendingReposition(input, positionHolder)) { + public int read(ExtractorInput input, PositionHolder seekPosition) throws IOException { + if (resolvePendingReposition(input, seekPosition)) { return RESULT_SEEK; } switch (state) { @@ -305,14 +305,14 @@ public void release() { * {@link ExtractorInput#getPosition() current position}, but not further than {@link * #RELOAD_MINIMUM_SEEK_DISTANCE}. */ - private boolean resolvePendingReposition(ExtractorInput input, PositionHolder positionHolder) + private boolean resolvePendingReposition(ExtractorInput input, PositionHolder seekPosition) throws IOException { boolean needSeek = false; if (pendingReposition != C.POSITION_UNSET) { long currentPosition = input.getPosition(); if (pendingReposition < currentPosition || pendingReposition > currentPosition + RELOAD_MINIMUM_SEEK_DISTANCE) { - positionHolder.position = pendingReposition; + seekPosition.position = pendingReposition; needSeek = true; } else { // The distance to the target position is short enough that it makes sense to just skip the diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java b/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java index 14064cfc551..fae9ae1fee2 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaNotification.java @@ -128,7 +128,7 @@ interface Callback { /** * Creates a new {@link MediaNotification}. * - * @param session The media session. + * @param mediaSession The media session. * @param actionFactory The {@link ActionFactory} for creating notification {@link * NotificationCompat.Action actions}. * @param customLayout The custom layout {@linkplain MediaSession#setCustomLayout(List) set by @@ -138,7 +138,7 @@ interface Callback { * been loaded asynchronously. */ MediaNotification createNotification( - MediaSession session, + MediaSession mediaSession, ImmutableList customLayout, ActionFactory actionFactory, Callback onNotificationChangedCallback); From 3449734b9abb2031d70d8c1813fe97ad77f395ec Mon Sep 17 00:00:00 2001 From: samrobinson Date: Fri, 28 Oct 2022 13:13:05 +0000 Subject: [PATCH 364/422] Disable the muxer watchdog if all tracks have ended. PiperOrigin-RevId: 484512661 (cherry picked from commit bcc2fe40078924a672ffce97f42aaa44e0ad7526) --- .../main/java/androidx/media3/transformer/MuxerWrapper.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index b96f7f7d531..9f8a8544497 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -195,6 +195,9 @@ public boolean writeSample( */ public void endTrack(@C.TrackType int trackType) { trackTypeToIndex.delete(trackType); + if (trackTypeToIndex.size() == 0) { + abortScheduledExecutorService.shutdownNow(); + } } /** From b3bb4d422cc54ea756a7d939886e250c1839c3f1 Mon Sep 17 00:00:00 2001 From: bachinger Date: Fri, 28 Oct 2022 13:22:07 +0000 Subject: [PATCH 365/422] Bump appTargetSDKVersion to 33 #minor-release PiperOrigin-RevId: 484514123 (cherry picked from commit 79e67dea2c2d9a5e61362a84265b950aeb950cc2) --- constants.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/constants.gradle b/constants.gradle index 8dad0f30836..d7e1743e546 100644 --- a/constants.gradle +++ b/constants.gradle @@ -15,7 +15,7 @@ project.ext { releaseVersion = '1.0.0-beta02' releaseVersionCode = 1_000_000_1_02 minSdkVersion = 16 - appTargetSdkVersion = 29 + appTargetSdkVersion = 33 // Upgrading this requires [Internal ref: b/193254928] to be fixed, or some // additional robolectric config. targetSdkVersion = 30 From 2958ebf6acdb19d30c379f708653007623bcbd30 Mon Sep 17 00:00:00 2001 From: rohks Date: Mon, 31 Oct 2022 13:55:24 +0000 Subject: [PATCH 366/422] Tighten the wording for sending a pull request. PiperOrigin-RevId: 485036120 (cherry picked from commit 95d81fcc3be859d7c3242ac5c3efaf91cf2099c2) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 34953c71f8a..18b494425ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,7 +21,7 @@ all of the information requested in the issue template. ## Pull requests -We will also consider high quality pull requests. These should normally merge +We will also consider high quality pull requests. These should merge into the `main` branch. Before a pull request can be accepted you must submit a Contributor License Agreement, as described below. From 91d08c102078e5bb2c8a1d588d6daf66a0464254 Mon Sep 17 00:00:00 2001 From: rohks Date: Mon, 31 Oct 2022 15:53:41 +0000 Subject: [PATCH 367/422] Disable failing tests of FlacExtractorSeekTest PiperOrigin-RevId: 485061783 (cherry picked from commit 6ff980d43ed600598cf1cee1bd9b9b172dc49da4) --- .../media3/decoder/flac/FlacExtractorSeekTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libraries/decoder_flac/src/androidTest/java/androidx/media3/decoder/flac/FlacExtractorSeekTest.java b/libraries/decoder_flac/src/androidTest/java/androidx/media3/decoder/flac/FlacExtractorSeekTest.java index e0e17e1972c..5d01ebd71dd 100644 --- a/libraries/decoder_flac/src/androidTest/java/androidx/media3/decoder/flac/FlacExtractorSeekTest.java +++ b/libraries/decoder_flac/src/androidTest/java/androidx/media3/decoder/flac/FlacExtractorSeekTest.java @@ -29,6 +29,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import java.io.IOException; import java.util.List; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; @@ -75,6 +76,7 @@ public void seeking_seekTable_handlesSeekToZero() throws IOException { fileName, trackOutput, targetSeekTimeUs, extractedFrameIndex); } + @Ignore("Fix [internal: b/249505968] before enabling this.") @Test public void seeking_seekTable_handlesSeekToEoF() throws IOException { String fileName = TEST_FILE_SEEK_TABLE; @@ -92,6 +94,7 @@ public void seeking_seekTable_handlesSeekToEoF() throws IOException { fileName, trackOutput, targetSeekTimeUs, extractedFrameIndex); } + @Ignore("Fix [internal: b/249505968] before enabling this.") @Test public void seeking_seekTable_handlesSeekingBackward() throws IOException { String fileName = TEST_FILE_SEEK_TABLE; @@ -111,6 +114,7 @@ public void seeking_seekTable_handlesSeekingBackward() throws IOException { fileName, trackOutput, targetSeekTimeUs, extractedFrameIndex); } + @Ignore("Fix [internal: b/249505968] before enabling this.") @Test public void seeking_seekTable_handlesSeekingForward() throws IOException { String fileName = TEST_FILE_SEEK_TABLE; @@ -158,6 +162,7 @@ public void seeking_binarySearch_handlesSeekToZero() throws IOException { fileName, trackOutput, targetSeekTimeUs, extractedFrameIndex); } + @Ignore("Fix [internal: b/249505968] before enabling this.") @Test public void seeking_binarySearch_handlesSeekToEoF() throws IOException { String fileName = TEST_FILE_BINARY_SEARCH; @@ -175,6 +180,7 @@ public void seeking_binarySearch_handlesSeekToEoF() throws IOException { fileName, trackOutput, targetSeekTimeUs, extractedFrameIndex); } + @Ignore("Fix [internal: b/249505968] before enabling this.") @Test public void seeking_binarySearch_handlesSeekingBackward() throws IOException { String fileName = TEST_FILE_BINARY_SEARCH; @@ -194,6 +200,7 @@ public void seeking_binarySearch_handlesSeekingBackward() throws IOException { fileName, trackOutput, targetSeekTimeUs, extractedFrameIndex); } + @Ignore("Fix [internal: b/249505968] before enabling this.") @Test public void seeking_binarySearch_handlesSeekingForward() throws IOException { String fileName = TEST_FILE_BINARY_SEARCH; From ecb9d5988e17e4928498485acfd345af8cf2f4c6 Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 31 Oct 2022 18:13:59 +0000 Subject: [PATCH 368/422] Enfore minCompileSdk version when depending on ExoPlayer/Media3 libs If an app sets a compileSdkVersion that is lower than the one used to create AARs of its dependencies, the build process may produce invalid outputs, for example by stripping methods from the APK that are only called when the app is running on a new API version. To avoid this issue, we can enforce that the compileSdk of apps or libraries depending on ExoPlayer/Media3 is at least the same as the one we used for compilation when creating the AAR. Issue: google/ExoPlayer#10684 PiperOrigin-RevId: 485100067 (cherry picked from commit 136b8c57d9144e6e643856be604a69132ae2c8b0) --- RELEASENOTES.md | 2 ++ common_library_config.gradle | 3 +++ 2 files changed, 5 insertions(+) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index d10173ead2d..1f08de9bee6 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -26,6 +26,8 @@ Release notes * Send missing `onMediaItemTransition` callback when calling `seekToNext` or `seekToPrevious` in a single-item playlist ([#10667](https://github.com/google/ExoPlayer/issues/10667)). + * Enforce minimum `compileSdkVersion` to avoid compilation errors + ([#10684](https://github.com/google/ExoPlayer/issues/10684)). * Downloads: * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` diff --git a/common_library_config.gradle b/common_library_config.gradle index 9d14a1f601e..a831ddea0b8 100644 --- a/common_library_config.gradle +++ b/common_library_config.gradle @@ -22,6 +22,9 @@ android { targetSdkVersion project.ext.targetSdkVersion consumerProguardFiles 'proguard-rules.txt' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' + aarMetadata { + minCompileSdk = project.ext.compileSdkVersion + } } compileOptions { From 9b81c2d114d815b39cec4bd06e21a245a6f0f11f Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 1 Nov 2022 18:09:01 +0000 Subject: [PATCH 369/422] HDR: Generalize Pixel 6 workaround to TP PiperOrigin-RevId: 485366659 (cherry picked from commit a65ff85a98f25ae73a08842f1f3f6c5d1433e7e9) --- .../media3/transformer/VideoTranscodingSamplePipeline.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 2c786483dc2..6d91aff09f5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -293,8 +293,8 @@ private static TransformationRequest createSupportedTransformationRequest( } private static boolean deviceNeedsNoToneMappingWorkaround() { - // Pixel build ID does not support tone mapping. See http://b/249297370#comment8. - return Build.ID.startsWith("TP1A.220905.004"); + // Pixel build ID prefix does not support tone mapping. See http://b/249297370#comment8. + return Util.MANUFACTURER.equals("Google") && Build.ID.startsWith("TP1A"); } /** From f5afec955ae806acc9295bf94a7ac05c2e4a6401 Mon Sep 17 00:00:00 2001 From: tianyifeng Date: Tue, 1 Nov 2022 18:43:26 +0000 Subject: [PATCH 370/422] Load bitmaps for `MediaMetadataCompat` and handle the metadata updates. * Add `Listener` in `MediaSession` with method `onNotificationRefreshRequired(MediaSession)`. * Add `MediaSessionService` as the listener of the `MediaSession` when `MediaSession` is added to `MediaSessionService` * Load bitmap when update metadata in `MediaSessionLegacyStub` and call `onNotificationRefreshRequired` when bitmap asynchronously arrives. PiperOrigin-RevId: 485376145 (cherry picked from commit 77fedd8d7d511ff97b0441aa9136d0f1aaecef4b) --- .../androidx/media3/session/MediaSession.java | 16 ++++ .../media3/session/MediaSessionImpl.java | 11 +++ .../session/MediaSessionLegacyStub.java | 51 ++++++++++++- .../media3/session/MediaSessionService.java | 2 + .../androidx/media3/session/MediaUtils.java | 10 +-- .../media/png/non-motion-photo-shortened.png | Bin 0 -> 29063 bytes .../media3/test/session/common/TestUtils.java | 37 ++++++++++ libraries/test_session_current/build.gradle | 4 + ...aControllerWithMediaSessionCompatTest.java | 69 ++++++++++++++++-- .../media3/session/MediaUtilsTest.java | 22 +++++- .../media3/session/MediaTestUtils.java | 30 ++++++++ 11 files changed, 234 insertions(+), 18 deletions(-) create mode 100644 libraries/test_data/src/test/assets/media/png/non-motion-photo-shortened.png diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java index a2b58d3cfef..2697fd11dd0 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSession.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSession.java @@ -859,6 +859,11 @@ public Object getSessionCompatToken() { impl.setSessionPositionUpdateDelayMsOnHandler(updateDelayMs); } + /** Sets the {@linkplain Listener listener}. */ + /* package */ void setListener(@Nullable Listener listener) { + impl.setMediaSessionListener(listener); + } + private Uri getUri() { return impl.getUri(); } @@ -1240,6 +1245,17 @@ default void onMediaMetadataChanged(int seq, MediaMetadata mediaMetadata) default void onRenderedFirstFrame(int seq) throws RemoteException {} } + /** Listener for media session events */ + /* package */ interface Listener { + + /** + * Called when the notification requires to be refreshed. + * + * @param session The media session for which the notification requires to be refreshed. + */ + void onNotificationRefreshRequired(MediaSession session); + } + /** * A base class for {@link MediaSession.Builder} and {@link * MediaLibraryService.MediaLibrarySession.Builder}. Any changes to this class should be also diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java index 68f8eee074f..4cbbb832226 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionImpl.java @@ -119,6 +119,7 @@ private final BitmapLoader bitmapLoader; @Nullable private PlayerListener playerListener; + @Nullable private MediaSession.Listener mediaSessionListener; private PlayerInfo playerInfo; private PlayerWrapper playerWrapper; @@ -573,6 +574,16 @@ protected MediaSessionServiceLegacyStub getLegacyBrowserService() { } } + /* package */ void setMediaSessionListener(@Nullable MediaSession.Listener listener) { + this.mediaSessionListener = listener; + } + + /* package */ void onNotificationRefreshRequired() { + if (this.mediaSessionListener != null) { + this.mediaSessionListener.onNotificationRefreshRequired(instance); + } + } + private void dispatchRemoteControllerTaskToLegacyStub(RemoteControllerTask task) { try { task.run(sessionLegacyStub.getControllerLegacyCbForBroadcast(), /* seq= */ 0); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java index 90d4eeb1e8c..5e8ae125918 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionLegacyStub.java @@ -44,6 +44,7 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.os.Handler; @@ -114,8 +115,10 @@ private final MediaPlayPauseKeyHandler mediaPlayPauseKeyHandler; private final MediaSessionCompat sessionCompat; @Nullable private VolumeProviderCompat volumeProviderCompat; + private final Handler mainHandler; private volatile long connectionTimeoutMs; + @Nullable private FutureCallback pendingBitmapLoadCallback; public MediaSessionLegacyStub( MediaSessionImpl session, @@ -156,6 +159,7 @@ public MediaSessionLegacyStub( @Initialized MediaSessionLegacyStub thisRef = this; sessionCompat.setCallback(thisRef, handler); + mainHandler = new Handler(Looper.getMainLooper()); } /** Starts to receive commands. */ @@ -1110,11 +1114,52 @@ private void updateMetadataIfChanged() { currentMediaItemForMetadataUpdate = currentMediaItem; durationMsForMetadataUpdate = durationMs; + if (currentMediaItem == null) { + setMetadata(sessionCompat, /* metadataCompat= */ null); + return; + } + + @Nullable Bitmap artworkBitmap = null; + ListenableFuture bitmapFuture = + sessionImpl.getBitmapLoader().loadBitmapFromMetadata(currentMediaItem.mediaMetadata); + if (bitmapFuture != null) { + pendingBitmapLoadCallback = null; + if (bitmapFuture.isDone()) { + try { + artworkBitmap = Futures.getDone(bitmapFuture); + } catch (ExecutionException e) { + Log.w(TAG, "Failed to load bitmap", e); + } + } else { + pendingBitmapLoadCallback = + new FutureCallback() { + @Override + public void onSuccess(Bitmap result) { + if (this != pendingBitmapLoadCallback) { + return; + } + setMetadata( + sessionCompat, + MediaUtils.convertToMediaMetadataCompat( + currentMediaItem, durationMs, result)); + sessionImpl.onNotificationRefreshRequired(); + } + + @Override + public void onFailure(Throwable t) { + if (this != pendingBitmapLoadCallback) { + return; + } + Log.d(TAG, "Failed to load bitmap", t); + } + }; + Futures.addCallback( + bitmapFuture, pendingBitmapLoadCallback, /* executor= */ mainHandler::post); + } + } setMetadata( sessionCompat, - currentMediaItem != null - ? MediaUtils.convertToMediaMetadataCompat(currentMediaItem, durationMs) - : null); + MediaUtils.convertToMediaMetadataCompat(currentMediaItem, durationMs, artworkBitmap)); } } diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java index 7bb17e342fe..0e8d21cca4b 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaSessionService.java @@ -239,6 +239,7 @@ public final void addSession(MediaSession session) { // TODO(b/191644474): Check whether the session is registered to multiple services. MediaNotificationManager notificationManager = getMediaNotificationManager(); postOrRun(mainHandler, () -> notificationManager.addSession(session)); + session.setListener(this::onUpdateNotification); } } @@ -258,6 +259,7 @@ public final void removeSession(MediaSession session) { } MediaNotificationManager notificationManager = getMediaNotificationManager(); postOrRun(mainHandler, () -> notificationManager.removeSession(session)); + session.setListener(null); } /** diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java b/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java index 644e6255543..f73ca3cfcbe 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaUtils.java @@ -525,7 +525,7 @@ private static CharSequence getFirstText( /** Converts a {@link MediaItem} to a {@link MediaMetadataCompat}. */ public static MediaMetadataCompat convertToMediaMetadataCompat( - MediaItem mediaItem, long durationMs) { + MediaItem mediaItem, long durationMs, @Nullable Bitmap artworkBitmap) { MediaMetadataCompat.Builder builder = new MediaMetadataCompat.Builder() .putString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID, mediaItem.mediaId); @@ -574,11 +574,9 @@ public static MediaMetadataCompat convertToMediaMetadataCompat( MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, metadata.artworkUri.toString()); } - if (metadata.artworkData != null) { - Bitmap artwork = - BitmapFactory.decodeByteArray(metadata.artworkData, 0, metadata.artworkData.length); - builder.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, artwork); - builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artwork); + if (artworkBitmap != null) { + builder.putBitmap(MediaMetadataCompat.METADATA_KEY_DISPLAY_ICON, artworkBitmap); + builder.putBitmap(MediaMetadataCompat.METADATA_KEY_ALBUM_ART, artworkBitmap); } if (metadata.folderType != null && metadata.folderType != MediaMetadata.FOLDER_TYPE_NONE) { diff --git a/libraries/test_data/src/test/assets/media/png/non-motion-photo-shortened.png b/libraries/test_data/src/test/assets/media/png/non-motion-photo-shortened.png new file mode 100644 index 0000000000000000000000000000000000000000..b51eaa65116992db6413e60e61629cd15bb2e6e7 GIT binary patch literal 29063 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 literal 0 HcmV?d00001 diff --git a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java index 3975e98410b..fe90b5bd04b 100644 --- a/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java +++ b/libraries/test_session_common/src/main/java/androidx/media3/test/session/common/TestUtils.java @@ -16,9 +16,13 @@ package androidx.media3.test.session.common; import static android.content.Context.KEYGUARD_SERVICE; +import static java.lang.Math.min; import android.app.Activity; import android.app.KeyguardManager; +import android.content.Context; +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; import android.os.Bundle; import android.text.TextUtils; import android.view.WindowManager; @@ -28,6 +32,9 @@ import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; import java.util.Locale; /** Provides utility methods for testing purpose. */ @@ -40,6 +47,9 @@ public class TestUtils { public static final long VOLUME_CHANGE_TIMEOUT_MS = 5_000; public static final long LONG_TIMEOUT_MS = 20_000; + private static final int MAX_BITMAP_WIDTH = 500; + private static final int MAX_BITMAP_HEIGHT = 500; + /** * Compares contents of two throwables for both message and class. * @@ -143,5 +153,32 @@ static void setKeepScreenOn(Activity activity) { return list.build(); } + /** Returns the bytes of a scaled asset file. */ + public static byte[] getByteArrayForScaledBitmap(Context context, String fileName) + throws IOException { + Bitmap bitmap = getBitmap(context, fileName); + int width = min(bitmap.getWidth(), MAX_BITMAP_WIDTH); + int height = min(bitmap.getHeight(), MAX_BITMAP_HEIGHT); + return convertToByteArray(Bitmap.createScaledBitmap(bitmap, width, height, true)); + } + + /** Returns an {@link InputStream} for reading from an asset file. */ + public static InputStream getInputStream(Context context, String fileName) throws IOException { + return context.getResources().getAssets().open(fileName); + } + + /** Returns a {@link Bitmap} read from an asset file. */ + public static Bitmap getBitmap(Context context, String fileName) throws IOException { + return BitmapFactory.decodeStream(getInputStream(context, fileName)); + } + + /** Converts the given {@link Bitmap} to an array of bytes. */ + public static byte[] convertToByteArray(Bitmap bitmap) throws IOException { + try (ByteArrayOutputStream stream = new ByteArrayOutputStream()) { + bitmap.compress(Bitmap.CompressFormat.PNG, /* ignored */ 0, stream); + return stream.toByteArray(); + } + } + private TestUtils() {} } diff --git a/libraries/test_session_current/build.gradle b/libraries/test_session_current/build.gradle index 429b89881a5..93c1c99c651 100644 --- a/libraries/test_session_current/build.gradle +++ b/libraries/test_session_current/build.gradle @@ -32,12 +32,16 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } + + sourceSets.main.assets.srcDir '../test_data/src/test/assets/' } dependencies { implementation project(modulePrefix + 'lib-session') implementation project(modulePrefix + 'test-session-common') implementation 'androidx.media:media:' + androidxMediaVersion + implementation 'androidx.test:core:' + androidxTestCoreVersion + implementation project(path: ':test-data') androidTestImplementation project(modulePrefix + 'lib-exoplayer') androidTestImplementation 'androidx.test.ext:junit:' + androidxTestJUnitVersion androidTestImplementation 'androidx.test.ext:truth:' + androidxTestTruthVersion diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerWithMediaSessionCompatTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerWithMediaSessionCompatTest.java index d5109f05af9..724c82492bf 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerWithMediaSessionCompatTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerWithMediaSessionCompatTest.java @@ -39,10 +39,12 @@ import static androidx.media3.test.session.common.TestUtils.TIMEOUT_MS; import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static java.util.concurrent.TimeUnit.SECONDS; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; +import android.graphics.Bitmap; import android.media.AudioManager; import android.net.Uri; import android.os.Bundle; @@ -113,11 +115,13 @@ public class MediaControllerWithMediaSessionCompatTest { private Context context; private RemoteMediaSessionCompat session; + private BitmapLoader bitmapLoader; @Before public void setUp() throws Exception { context = ApplicationProvider.getApplicationContext(); session = new RemoteMediaSessionCompat(DEFAULT_TEST_NAME, context); + bitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); } @After @@ -697,12 +701,14 @@ public void getMediaItemCount_withInvalidQueueIdWithMetadata_returnsAdjustedCoun List testQueue = MediaUtils.convertToQueueItemList(testList); MediaItem testRemoveMediaItem = MediaTestUtils.createMediaItem("removed"); MediaMetadataCompat testMetadataCompat = - MediaUtils.convertToMediaMetadataCompat(testRemoveMediaItem, /* durationMs= */ 100L); + MediaUtils.convertToMediaMetadataCompat( + testRemoveMediaItem, /* durationMs= */ 100L, /* artworkBitmap= */ null); session.setQueue(testQueue); session.setMetadata(testMetadataCompat); MediaController controller = controllerTestRule.createController(session.getSessionToken()); int mediaItemCount = threadTestRule.getHandler().postAndSync(controller::getMediaItemCount); + assertThat(mediaItemCount).isEqualTo(testList.size() + 1); } @@ -713,7 +719,8 @@ public void getMediaItemCount_whenQueueIdIsChangedFromInvalidToValid_returnOrigi List testQueue = MediaUtils.convertToQueueItemList(testList); MediaItem testRemoveMediaItem = MediaTestUtils.createMediaItem("removed"); MediaMetadataCompat testMetadataCompat = - MediaUtils.convertToMediaMetadataCompat(testRemoveMediaItem, /* durationMs= */ 100L); + MediaUtils.convertToMediaMetadataCompat( + testRemoveMediaItem, /* durationMs= */ 100L, /* artworkBitmap= */ null); session.setQueue(testQueue); session.setMetadata(testMetadataCompat); MediaController controller = controllerTestRule.createController(session.getSessionToken()); @@ -732,9 +739,11 @@ public void onTimelineChanged( new PlaybackStateCompat.Builder() .setActiveQueueItemId(testQueue.get(0).getQueueId()) .build()); + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); int mediaItemCount = threadTestRule.getHandler().postAndSync(controller::getMediaItemCount); + assertThat(mediaItemCount).isEqualTo(testList.size()); } @@ -745,13 +754,15 @@ public void getCurrentMediaItemIndex_withInvalidQueueIdWithMetadata_returnsEndOf List testQueue = MediaUtils.convertToQueueItemList(testList); MediaItem testRemoveMediaItem = MediaTestUtils.createMediaItem("removed"); MediaMetadataCompat testMetadataCompat = - MediaUtils.convertToMediaMetadataCompat(testRemoveMediaItem, /* durationMs= */ 100L); + MediaUtils.convertToMediaMetadataCompat( + testRemoveMediaItem, /* durationMs= */ 100L, /* artworkBitmap= */ null); session.setQueue(testQueue); session.setMetadata(testMetadataCompat); MediaController controller = controllerTestRule.createController(session.getSessionToken()); int mediaItemIndex = threadTestRule.getHandler().postAndSync(controller::getCurrentMediaItemIndex); + assertThat(mediaItemIndex).isEqualTo(testList.size()); } @@ -761,12 +772,46 @@ public void getMediaMetadata_withMediaMetadataCompat_returnsConvertedMediaMetada MediaItem testMediaItem = MediaTestUtils.createMediaItem("test"); MediaMetadata testMediaMetadata = testMediaItem.mediaMetadata; MediaMetadataCompat testMediaMetadataCompat = - MediaUtils.convertToMediaMetadataCompat(testMediaItem, /* durationMs= */ 100L); + MediaUtils.convertToMediaMetadataCompat( + testMediaItem, /* durationMs= */ 100L, /* artworkBitmap= */ null); + session.setMetadata(testMediaMetadataCompat); + MediaController controller = controllerTestRule.createController(session.getSessionToken()); + + MediaMetadata mediaMetadata = + threadTestRule.getHandler().postAndSync(controller::getMediaMetadata); + + assertThat(mediaMetadata).isEqualTo(testMediaMetadata); + } + + @Test + public void getMediaMetadata_withMediaMetadataCompatAndArtworkData_returnsConvertedMediaMetadata() + throws Exception { + MediaItem testMediaItem = MediaTestUtils.createMediaItemWithArtworkData("test"); + MediaMetadata testMediaMetadata = testMediaItem.mediaMetadata; + @Nullable Bitmap artworkBitmap = getBitmapFromMetadata(testMediaMetadata); + MediaMetadataCompat testMediaMetadataCompat = + MediaUtils.convertToMediaMetadataCompat( + testMediaItem, /* durationMs= */ 100L, artworkBitmap); session.setMetadata(testMediaMetadataCompat); MediaController controller = controllerTestRule.createController(session.getSessionToken()); MediaMetadata mediaMetadata = threadTestRule.getHandler().postAndSync(controller::getMediaMetadata); + + assertThat(mediaMetadata.artworkData).isNotNull(); + if (Util.SDK_INT < 21) { + // Bitmap conversion and back gives not exactly the same byte array below API 21 + mediaMetadata = + mediaMetadata + .buildUpon() + .setArtworkData(/* artworkData= */ null, /* artworkDataType= */ null) + .build(); + testMediaMetadata = + testMediaMetadata + .buildUpon() + .setArtworkData(/* artworkData= */ null, /* artworkDataType= */ null) + .build(); + } assertThat(mediaMetadata).isEqualTo(testMediaMetadata); } @@ -1085,7 +1130,8 @@ public void onPositionDiscontinuity( public void setPlaybackState_fromStateBufferingToPlaying_notifiesReadyState() throws Exception { List testPlaylist = MediaTestUtils.createMediaItems(/* size= */ 1); MediaMetadataCompat metadata = - MediaUtils.convertToMediaMetadataCompat(testPlaylist.get(0), /* durationMs= */ 50_000); + MediaUtils.convertToMediaMetadataCompat( + testPlaylist.get(0), /* durationMs= */ 50_000, /* artworkBitmap= */ null); long testBufferedPosition = 5_000; session.setMetadata(metadata); session.setPlaybackState( @@ -1129,7 +1175,8 @@ public void setPlaybackState_fromStatePlayingToBuffering_notifiesBufferingState( throws Exception { List testPlaylist = MediaTestUtils.createMediaItems(1); MediaMetadataCompat metadata = - MediaUtils.convertToMediaMetadataCompat(testPlaylist.get(0), /* durationMs= */ 1_000); + MediaUtils.convertToMediaMetadataCompat( + testPlaylist.get(0), /* durationMs= */ 1_000, /* artworkBitmap= */ null); long testBufferingPosition = 0; session.setMetadata(metadata); session.setPlaybackState( @@ -1689,4 +1736,14 @@ public void getTotalBufferedDuration() throws Exception { threadTestRule.getHandler().postAndSync(controller::getTotalBufferedDuration); assertThat(totalBufferedDurationMs).isEqualTo(testTotalBufferedDurationMs); } + + @Nullable + private Bitmap getBitmapFromMetadata(MediaMetadata metadata) throws Exception { + @Nullable Bitmap bitmap = null; + @Nullable ListenableFuture bitmapFuture = bitmapLoader.loadBitmapFromMetadata(metadata); + if (bitmapFuture != null) { + bitmap = bitmapFuture.get(10, SECONDS); + } + return bitmap; + } } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaUtilsTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaUtilsTest.java index cbde70120cd..1d53a847941 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaUtilsTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaUtilsTest.java @@ -18,8 +18,10 @@ import static android.support.v4.media.MediaMetadataCompat.METADATA_KEY_DURATION; import static android.support.v4.media.session.MediaSessionCompat.FLAG_HANDLES_QUEUE_COMMANDS; import static com.google.common.truth.Truth.assertThat; +import static java.util.concurrent.TimeUnit.SECONDS; import android.content.Context; +import android.graphics.Bitmap; import android.os.Bundle; import android.os.Parcel; import android.service.media.MediaBrowserService; @@ -31,6 +33,7 @@ import android.support.v4.media.session.MediaSessionCompat; import android.support.v4.media.session.PlaybackStateCompat; import android.text.TextUtils; +import androidx.annotation.Nullable; import androidx.media.AudioAttributesCompat; import androidx.media3.common.AudioAttributes; import androidx.media3.common.C; @@ -46,6 +49,7 @@ import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.filters.SdkSuppress; import androidx.test.filters.SmallTest; +import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -59,10 +63,12 @@ public final class MediaUtilsTest { private Context context; + private BitmapLoader bitmapLoader; @Before public void setUp() { context = ApplicationProvider.getApplicationContext(); + bitmapLoader = new CacheBitmapLoader(new SimpleBitmapLoader()); } @Test @@ -199,14 +205,24 @@ public void convertToMediaMetadata_withTitle() { } @Test - public void convertToMediaMetadata_roundTrip_returnsEqualMediaItem() { - MediaItem testMediaItem = MediaTestUtils.createMediaItem("testZZZ"); + public void convertToMediaMetadata_roundTrip_returnsEqualMediaItem() throws Exception { + MediaItem testMediaItem = MediaTestUtils.createMediaItemWithArtworkData("testZZZ"); MediaMetadata testMediaMetadata = testMediaItem.mediaMetadata; + @Nullable Bitmap testArtworkBitmap = null; + @Nullable + ListenableFuture bitmapFuture = bitmapLoader.loadBitmapFromMetadata(testMediaMetadata); + if (bitmapFuture != null) { + testArtworkBitmap = bitmapFuture.get(10, SECONDS); + } MediaMetadataCompat testMediaMetadataCompat = - MediaUtils.convertToMediaMetadataCompat(testMediaItem, /* durationMs= */ 100L); + MediaUtils.convertToMediaMetadataCompat( + testMediaItem, /* durationMs= */ 100L, testArtworkBitmap); + MediaMetadata mediaMetadata = MediaUtils.convertToMediaMetadata(testMediaMetadataCompat, RatingCompat.RATING_NONE); + assertThat(mediaMetadata).isEqualTo(testMediaMetadata); + assertThat(mediaMetadata.artworkData).isNotNull(); } @Test diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaTestUtils.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaTestUtils.java index e6d5d246323..2b1cd045ce7 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaTestUtils.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaTestUtils.java @@ -23,6 +23,7 @@ import static androidx.media3.test.session.common.CommonConstants.SUPPORT_APP_PACKAGE_NAME; import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; +import static org.junit.Assert.fail; import android.os.Bundle; import android.support.v4.media.MediaBrowserCompat; @@ -38,6 +39,8 @@ import androidx.media3.session.MediaLibraryService.LibraryParams; import androidx.media3.session.MediaSession.ControllerInfo; import androidx.media3.test.session.common.TestUtils; +import androidx.test.core.app.ApplicationProvider; +import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -47,6 +50,8 @@ public final class MediaTestUtils { private static final String TAG = "MediaTestUtils"; + private static final String TEST_IMAGE_PATH = "media/png/non-motion-photo-shortened.png"; + /** Create a media item with the mediaId for testing purpose. */ public static MediaItem createMediaItem(String mediaId) { MediaMetadata mediaMetadata = @@ -57,6 +62,23 @@ public static MediaItem createMediaItem(String mediaId) { return new MediaItem.Builder().setMediaId(mediaId).setMediaMetadata(mediaMetadata).build(); } + public static MediaItem createMediaItemWithArtworkData(String mediaId) { + MediaMetadata.Builder mediaMetadataBuilder = + new MediaMetadata.Builder() + .setFolderType(MediaMetadata.FOLDER_TYPE_NONE) + .setIsPlayable(true); + try { + byte[] artworkData = + TestUtils.getByteArrayForScaledBitmap( + ApplicationProvider.getApplicationContext(), TEST_IMAGE_PATH); + mediaMetadataBuilder.setArtworkData(artworkData, MediaMetadata.PICTURE_TYPE_FRONT_COVER); + } catch (IOException e) { + fail(e.getMessage()); + } + MediaMetadata mediaMetadata = mediaMetadataBuilder.build(); + return new MediaItem.Builder().setMediaId(mediaId).setMediaMetadata(mediaMetadata).build(); + } + public static ArrayList createMediaItems(int size) { ArrayList list = new ArrayList<>(); for (int i = 0; i < size; i++) { @@ -65,6 +87,14 @@ public static ArrayList createMediaItems(int size) { return list; } + public static ArrayList createMediaItemsWithArtworkData(int size) { + ArrayList list = new ArrayList<>(); + for (int i = 0; i < size; i++) { + list.add(createMediaItemWithArtworkData("mediaItem_" + (i + 1))); + } + return list; + } + public static List createMediaItems(String... mediaIds) { List list = new ArrayList<>(); for (int i = 0; i < mediaIds.length; i++) { From a66dfa87a4042913ec6b0a09aeaad542e6382f6d Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Tue, 1 Nov 2022 19:36:40 +0000 Subject: [PATCH 371/422] Apply tone mapping workaround to Pixel Watch as well. Not sure what BUILD.ID the fix will first be applied on though. PiperOrigin-RevId: 485389618 (cherry picked from commit 91b286c4f813cdecf3999319c3b2c73fbee3c00a) --- .../media3/transformer/VideoTranscodingSamplePipeline.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 6d91aff09f5..111e6329b9a 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -294,7 +294,10 @@ private static TransformationRequest createSupportedTransformationRequest( private static boolean deviceNeedsNoToneMappingWorkaround() { // Pixel build ID prefix does not support tone mapping. See http://b/249297370#comment8. - return Util.MANUFACTURER.equals("Google") && Build.ID.startsWith("TP1A"); + return Util.MANUFACTURER.equals("Google") + && ( + /* Pixel 6 */ Build.ID.startsWith("TP1A") + || Build.ID.startsWith(/* Pixel Watch */ "rwd9.220429.053")); } /** From 484e72970de4605874c43a721a3eb28836878d0b Mon Sep 17 00:00:00 2001 From: ibaker Date: Wed, 2 Nov 2022 12:21:56 +0000 Subject: [PATCH 372/422] Fix Dackka/Metalava errors in the effects module Public methods may only refer to public types in their signature. This change ensures that by switching to a public supertype everywhere. PiperOrigin-RevId: 485568625 (cherry picked from commit 40b5cba3c89398697d405d673bd09bf540dc3d88) --- .../effect/src/main/java/androidx/media3/effect/ColorLut.java | 2 +- .../src/main/java/androidx/media3/effect/HslAdjustment.java | 2 +- .../effect/src/main/java/androidx/media3/effect/RgbFilter.java | 2 +- .../effect/src/main/java/androidx/media3/effect/RgbMatrix.java | 2 +- .../src/main/java/androidx/media3/effect/SingleColorLut.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java b/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java index ab9db1b9d00..20551578185 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/ColorLut.java @@ -44,7 +44,7 @@ public interface ColorLut extends GlEffect { /** This method must be executed on the same thread as other GL commands. */ @Override @WorkerThread - default ColorLutProcessor toGlTextureProcessor(Context context, boolean useHdr) + default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { return new ColorLutProcessor(context, /* colorLut= */ this, useHdr); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/HslAdjustment.java b/libraries/effect/src/main/java/androidx/media3/effect/HslAdjustment.java index 733c9f19a63..8be8e899ea0 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/HslAdjustment.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/HslAdjustment.java @@ -113,7 +113,7 @@ private HslAdjustment( } @Override - public HslProcessor toGlTextureProcessor(Context context, boolean useHdr) + public SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { return new HslProcessor(context, /* hslAdjustment= */ this, useHdr); } diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java index ca33e34525f..3853dad18e9 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbFilter.java @@ -91,7 +91,7 @@ public float[] getMatrix(long presentationTimeUs, boolean useHdr) { } @Override - public MatrixTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) + public SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { checkForConsistentHdrSetting(useHdr); return RgbMatrix.super.toGlTextureProcessor(context, useHdr); diff --git a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java index 2767cab8154..9ac27b849aa 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/RgbMatrix.java @@ -40,7 +40,7 @@ public interface RgbMatrix extends GlEffect { float[] getMatrix(long presentationTimeUs, boolean useHdr); @Override - default MatrixTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) + default SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { return MatrixTextureProcessor.create( context, diff --git a/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java b/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java index 72c2fec6dad..019ccda3f40 100644 --- a/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java +++ b/libraries/effect/src/main/java/androidx/media3/effect/SingleColorLut.java @@ -149,7 +149,7 @@ public void release() throws GlUtil.GlException { } @Override - public ColorLutProcessor toGlTextureProcessor(Context context, boolean useHdr) + public SingleFrameGlTextureProcessor toGlTextureProcessor(Context context, boolean useHdr) throws FrameProcessingException { checkState(!useHdr, "HDR is currently not supported."); From 96a25a76a17ab5141cbdd752610d2be0f45f9896 Mon Sep 17 00:00:00 2001 From: christosts Date: Wed, 2 Nov 2022 14:45:12 +0000 Subject: [PATCH 373/422] Clean imports in MediaControllerImplLegacy Remove static imports to constants and imports to intdefs, to make the code more readable. PiperOrigin-RevId: 485592288 (cherry picked from commit 8db6b71805c817f8fc868139199329529975df6e) --- .../session/MediaControllerImplLegacy.java | 103 +++++++----------- 1 file changed, 42 insertions(+), 61 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 19cac9faa04..5d8c0389714 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -15,29 +15,10 @@ */ package androidx.media3.session; -import static android.support.v4.media.MediaMetadataCompat.METADATA_KEY_MEDIA_ID; -import static androidx.media3.common.Player.DISCONTINUITY_REASON_SEEK; -import static androidx.media3.common.Player.EVENT_IS_PLAYING_CHANGED; -import static androidx.media3.common.Player.EVENT_MEDIA_ITEM_TRANSITION; -import static androidx.media3.common.Player.EVENT_MEDIA_METADATA_CHANGED; -import static androidx.media3.common.Player.EVENT_PLAYBACK_PARAMETERS_CHANGED; -import static androidx.media3.common.Player.EVENT_PLAYBACK_STATE_CHANGED; -import static androidx.media3.common.Player.EVENT_PLAYER_ERROR; -import static androidx.media3.common.Player.EVENT_PLAY_WHEN_READY_CHANGED; -import static androidx.media3.common.Player.EVENT_TIMELINE_CHANGED; -import static androidx.media3.common.Player.MEDIA_ITEM_TRANSITION_REASON_SEEK; -import static androidx.media3.common.Player.PLAYBACK_SUPPRESSION_REASON_NONE; -import static androidx.media3.common.Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST; -import static androidx.media3.common.Player.STATE_IDLE; -import static androidx.media3.common.Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED; import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Assertions.checkStateNotNull; -import static androidx.media3.session.MediaConstants.ARGUMENT_CAPTIONING_ENABLED; -import static androidx.media3.session.MediaConstants.SESSION_COMMAND_ON_CAPTIONING_ENABLED_CHANGED; -import static androidx.media3.session.MediaUtils.POSITION_DIFF_TOLERANCE_MS; import static androidx.media3.session.MediaUtils.calculateBufferedPercentage; -import static androidx.media3.session.SessionResult.RESULT_SUCCESS; import static java.lang.Math.max; import static java.lang.Math.min; @@ -73,13 +54,9 @@ import androidx.media3.common.PlaybackParameters; import androidx.media3.common.Player; import androidx.media3.common.Player.Commands; -import androidx.media3.common.Player.DiscontinuityReason; import androidx.media3.common.Player.Events; import androidx.media3.common.Player.Listener; -import androidx.media3.common.Player.MediaItemTransitionReason; import androidx.media3.common.Player.PositionInfo; -import androidx.media3.common.Player.RepeatMode; -import androidx.media3.common.Player.State; import androidx.media3.common.Rating; import androidx.media3.common.Timeline; import androidx.media3.common.Timeline.Window; @@ -171,7 +148,7 @@ public void removeListener(Listener listener) { @Override public void stop() { - if (controllerInfo.playerInfo.playbackState == STATE_IDLE) { + if (controllerInfo.playerInfo.playbackState == Player.STATE_IDLE) { return; } PlayerInfo maskedPlayerInfo = @@ -189,10 +166,10 @@ public void stop() { controllerInfo.playerInfo.sessionPositionInfo.positionInfo.positionMs, controllerInfo.playerInfo.sessionPositionInfo.durationMs), /* totalBufferedDurationMs= */ 0)); - if (controllerInfo.playerInfo.playbackState != STATE_IDLE) { + if (controllerInfo.playerInfo.playbackState != Player.STATE_IDLE) { maskedPlayerInfo = maskedPlayerInfo.copyWithPlaybackState( - STATE_IDLE, /* playerError= */ controllerInfo.playerInfo.playerError); + Player.STATE_IDLE, /* playerError= */ controllerInfo.playerInfo.playerError); } ControllerInfo maskedControllerInfo = new ControllerInfo( @@ -248,8 +225,8 @@ public void play() { new ControllerInfo( controllerInfo.playerInfo.copyWithPlayWhenReady( /* playWhenReady= */ true, - PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, - PLAYBACK_SUPPRESSION_REASON_NONE), + Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, + Player.PLAYBACK_SUPPRESSION_REASON_NONE), controllerInfo.availableSessionCommands, controllerInfo.availablePlayerCommands, controllerInfo.customLayout); @@ -272,8 +249,8 @@ public void pause() { new ControllerInfo( controllerInfo.playerInfo.copyWithPlayWhenReady( /* playWhenReady= */ false, - PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, - PLAYBACK_SUPPRESSION_REASON_NONE), + Player.PLAY_WHEN_READY_CHANGE_REASON_USER_REQUEST, + Player.PLAYBACK_SUPPRESSION_REASON_NONE), controllerInfo.availableSessionCommands, controllerInfo.availablePlayerCommands, controllerInfo.customLayout); @@ -289,7 +266,7 @@ public void pause() { @Override public void prepare() { - if (controllerInfo.playerInfo.playbackState != STATE_IDLE) { + if (controllerInfo.playerInfo.playbackState != Player.STATE_IDLE) { return; } ControllerInfo maskedControllerInfo = @@ -344,7 +321,7 @@ private void seekToInternal(int mediaItemIndex, long positionMs) { } int newMediaItemIndex = currentMediaItemIndex; @Nullable - @MediaItemTransitionReason + @Player.MediaItemTransitionReason Integer mediaItemTransitionReason = null; if (mediaItemIndex != currentMediaItemIndex) { QueueTimeline queueTimeline = (QueueTimeline) controllerInfo.playerInfo.timeline; @@ -352,7 +329,7 @@ private void seekToInternal(int mediaItemIndex, long positionMs) { if (queueId != QueueItem.UNKNOWN_ID) { controllerCompat.getTransportControls().skipToQueueItem(queueId); newMediaItemIndex = mediaItemIndex; - mediaItemTransitionReason = MEDIA_ITEM_TRANSITION_REASON_SEEK; + mediaItemTransitionReason = Player.MEDIA_ITEM_TRANSITION_REASON_SEEK; } else { Log.w( TAG, @@ -362,7 +339,7 @@ private void seekToInternal(int mediaItemIndex, long positionMs) { } } @Nullable - @DiscontinuityReason + @Player.DiscontinuityReason Integer discontinuityReason; long currentPositionMs = getCurrentPosition(); long newPositionMs; @@ -372,7 +349,7 @@ private void seekToInternal(int mediaItemIndex, long positionMs) { } else { controllerCompat.getTransportControls().seekTo(positionMs); newPositionMs = positionMs; - discontinuityReason = DISCONTINUITY_REASON_SEEK; + discontinuityReason = Player.DISCONTINUITY_REASON_SEEK; } long newDurationMs; @@ -540,17 +517,17 @@ public AudioAttributes getAudioAttributes() { public ListenableFuture setRating(String mediaId, Rating rating) { @Nullable String currentMediaItemMediaId = - legacyPlayerInfo.mediaMetadataCompat.getString(METADATA_KEY_MEDIA_ID); + legacyPlayerInfo.mediaMetadataCompat.getString(MediaMetadataCompat.METADATA_KEY_MEDIA_ID); if (mediaId.equals(currentMediaItemMediaId)) { controllerCompat.getTransportControls().setRating(MediaUtils.convertToRatingCompat(rating)); } - return Futures.immediateFuture(new SessionResult(RESULT_SUCCESS)); + return Futures.immediateFuture(new SessionResult(SessionResult.RESULT_SUCCESS)); } @Override public ListenableFuture setRating(Rating rating) { controllerCompat.getTransportControls().setRating(MediaUtils.convertToRatingCompat(rating)); - return Futures.immediateFuture(new SessionResult(RESULT_SUCCESS)); + return Futures.immediateFuture(new SessionResult(SessionResult.RESULT_SUCCESS)); } @Override @@ -595,7 +572,7 @@ public void setPlaybackSpeed(float speed) { public ListenableFuture sendCustomCommand(SessionCommand command, Bundle args) { if (controllerInfo.availableSessionCommands.contains(command)) { controllerCompat.getTransportControls().sendCustomAction(command.customAction, args); - return Futures.immediateFuture(new SessionResult(RESULT_SUCCESS)); + return Futures.immediateFuture(new SessionResult(SessionResult.RESULT_SUCCESS)); } SettableFuture result = SettableFuture.create(); ResultReceiver cb = @@ -926,14 +903,14 @@ public long getMaxSeekToPreviousPosition() { } @Override - @RepeatMode + @Player.RepeatMode public int getRepeatMode() { return controllerInfo.playerInfo.repeatMode; } @Override - public void setRepeatMode(@RepeatMode int repeatMode) { - @RepeatMode int currentRepeatMode = getRepeatMode(); + public void setRepeatMode(@Player.RepeatMode int repeatMode) { + @Player.RepeatMode int currentRepeatMode = getRepeatMode(); if (repeatMode != currentRepeatMode) { ControllerInfo maskedControllerInfo = new ControllerInfo( @@ -1168,11 +1145,11 @@ public boolean getPlayWhenReady() { @Player.PlaybackSuppressionReason public int getPlaybackSuppressionReason() { // Not supported. - return PLAYBACK_SUPPRESSION_REASON_NONE; + return Player.PLAYBACK_SUPPRESSION_REASON_NONE; } @Override - @State + @Player.State public int getPlaybackState() { return controllerInfo.playerInfo.playbackState; } @@ -1286,7 +1263,7 @@ private void connectToService() { } private boolean isPrepared() { - return controllerInfo.playerInfo.playbackState != STATE_IDLE; + return controllerInfo.playerInfo.playbackState != Player.STATE_IDLE; } private boolean hasMedia() { @@ -1444,10 +1421,11 @@ private void updateControllerInfo( } if (!oldControllerInfo.playerInfo.timeline.equals(newControllerInfo.playerInfo.timeline)) { listeners.queueEvent( - EVENT_TIMELINE_CHANGED, + Player.EVENT_TIMELINE_CHANGED, (listener) -> listener.onTimelineChanged( - newControllerInfo.playerInfo.timeline, TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); + newControllerInfo.playerInfo.timeline, + Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); } if (!Util.areEqual(oldLegacyPlayerInfo.queueTitle, newLegacyPlayerInfo.queueTitle)) { // TODO(b/187152483): Set proper event code when available. @@ -1467,7 +1445,7 @@ private void updateControllerInfo( } if (mediaItemTransitionReason != null) { listeners.queueEvent( - EVENT_MEDIA_ITEM_TRANSITION, + Player.EVENT_MEDIA_ITEM_TRANSITION, (listener) -> listener.onMediaItemTransition( newControllerInfo.playerInfo.getCurrentMediaItem(), mediaItemTransitionReason)); @@ -1476,25 +1454,27 @@ private void updateControllerInfo( oldLegacyPlayerInfo.playbackStateCompat, newLegacyPlayerInfo.playbackStateCompat)) { PlaybackException error = MediaUtils.convertToPlaybackException(newLegacyPlayerInfo.playbackStateCompat); - listeners.queueEvent(EVENT_PLAYER_ERROR, (listener) -> listener.onPlayerErrorChanged(error)); + listeners.queueEvent( + Player.EVENT_PLAYER_ERROR, (listener) -> listener.onPlayerErrorChanged(error)); if (error != null) { - listeners.queueEvent(EVENT_PLAYER_ERROR, (listener) -> listener.onPlayerError(error)); + listeners.queueEvent( + Player.EVENT_PLAYER_ERROR, (listener) -> listener.onPlayerError(error)); } } if (oldLegacyPlayerInfo.mediaMetadataCompat != newLegacyPlayerInfo.mediaMetadataCompat) { listeners.queueEvent( - EVENT_MEDIA_METADATA_CHANGED, + Player.EVENT_MEDIA_METADATA_CHANGED, (listener) -> listener.onMediaMetadataChanged(controllerInfo.playerInfo.mediaMetadata)); } if (oldControllerInfo.playerInfo.playbackState != newControllerInfo.playerInfo.playbackState) { listeners.queueEvent( - EVENT_PLAYBACK_STATE_CHANGED, + Player.EVENT_PLAYBACK_STATE_CHANGED, (listener) -> listener.onPlaybackStateChanged(newControllerInfo.playerInfo.playbackState)); } if (oldControllerInfo.playerInfo.playWhenReady != newControllerInfo.playerInfo.playWhenReady) { listeners.queueEvent( - EVENT_PLAY_WHEN_READY_CHANGED, + Player.EVENT_PLAY_WHEN_READY_CHANGED, (listener) -> listener.onPlayWhenReadyChanged( newControllerInfo.playerInfo.playWhenReady, @@ -1502,13 +1482,13 @@ private void updateControllerInfo( } if (oldControllerInfo.playerInfo.isPlaying != newControllerInfo.playerInfo.isPlaying) { listeners.queueEvent( - EVENT_IS_PLAYING_CHANGED, + Player.EVENT_IS_PLAYING_CHANGED, (listener) -> listener.onIsPlayingChanged(newControllerInfo.playerInfo.isPlaying)); } if (!oldControllerInfo.playerInfo.playbackParameters.equals( newControllerInfo.playerInfo.playbackParameters)) { listeners.queueEvent( - EVENT_PLAYBACK_PARAMETERS_CHANGED, + Player.EVENT_PLAYBACK_PARAMETERS_CHANGED, (listener) -> listener.onPlaybackParametersChanged( newControllerInfo.playerInfo.playbackParameters)); @@ -1705,12 +1685,12 @@ public void onCaptioningEnabledChanged(boolean enabled) { .notifyControllerListener( listener -> { Bundle args = new Bundle(); - args.putBoolean(ARGUMENT_CAPTIONING_ENABLED, enabled); + args.putBoolean(MediaConstants.ARGUMENT_CAPTIONING_ENABLED, enabled); ignoreFuture( listener.onCustomCommand( getInstance(), new SessionCommand( - SESSION_COMMAND_ON_CAPTIONING_ENABLED_CHANGED, + MediaConstants.SESSION_COMMAND_ON_CAPTIONING_ENABLED_CHANGED, /* extras= */ Bundle.EMPTY), args)); }); @@ -1754,7 +1734,7 @@ private static ControllerInfo buildNewControllerInfo( MediaMetadata mediaMetadata; int currentMediaItemIndex; MediaMetadata playlistMetadata; - @RepeatMode int repeatMode; + @Player.RepeatMode int repeatMode; boolean shuffleModeEnabled; SessionCommands availableSessionCommands; Commands availablePlayerCommands; @@ -1883,7 +1863,7 @@ private static ControllerInfo buildNewControllerInfo( MediaUtils.convertToAudioAttributes(newLegacyPlayerInfo.playbackInfoCompat); boolean playWhenReady = MediaUtils.convertToPlayWhenReady(newLegacyPlayerInfo.playbackStateCompat); - @State + @Player.State int playbackState = MediaUtils.convertToPlaybackState( newLegacyPlayerInfo.playbackStateCompat, @@ -1982,7 +1962,8 @@ private static ControllerInfo buildNewControllerInfo( // If the position is reset, then it's probably repeating the same media item. discontinuityReason = Player.DISCONTINUITY_REASON_AUTO_TRANSITION; mediaItemTransitionReason = Player.MEDIA_ITEM_TRANSITION_REASON_REPEAT; - } else if (Math.abs(oldCurrentPosition - newCurrentPosition) > POSITION_DIFF_TOLERANCE_MS) { + } else if (Math.abs(oldCurrentPosition - newCurrentPosition) + > MediaUtils.POSITION_DIFF_TOLERANCE_MS) { // Unexpected position discontinuity within the same media item. discontinuityReason = Player.DISCONTINUITY_REASON_INTERNAL; mediaItemTransitionReason = null; @@ -2069,7 +2050,7 @@ private static ControllerInfo createControllerInfo( MediaMetadata mediaMetadata, int currentMediaItemIndex, MediaMetadata playlistMetadata, - @RepeatMode int repeatMode, + @Player.RepeatMode int repeatMode, boolean shuffleModeEnabled, SessionCommands availableSessionCommands, Commands availablePlayerCommands, From 6871de23a42d68f3a199b2bfc37db2555985d6cc Mon Sep 17 00:00:00 2001 From: ibaker Date: Thu, 3 Nov 2022 13:35:39 +0000 Subject: [PATCH 374/422] Fix Dackka javadoc errors in protected methods If there's an @param javadoc tag in a supertype then all overrides of this method that don't also override the javadoc must use the same parameter name. PiperOrigin-RevId: 485857711 (cherry picked from commit be7dd956929578c1ad05889a389581a8b1c9dbd3) --- .../media3/extractor/text/SimpleSubtitleDecoder.java | 4 ++-- .../androidx/media3/extractor/text/pgs/PgsDecoder.java | 5 +++-- .../androidx/media3/extractor/text/ssa/SsaDecoder.java | 8 ++++---- .../media3/extractor/text/subrip/SubripDecoder.java | 4 ++-- .../androidx/media3/extractor/text/ttml/TtmlDecoder.java | 4 ++-- .../androidx/media3/extractor/text/tx3g/Tx3gDecoder.java | 4 ++-- .../media3/extractor/text/webvtt/Mp4WebvttDecoder.java | 4 ++-- .../media3/extractor/text/webvtt/WebvttDecoder.java | 4 ++-- 8 files changed, 19 insertions(+), 18 deletions(-) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/SimpleSubtitleDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/SimpleSubtitleDecoder.java index 7d0689a6319..ea447350541 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/SimpleSubtitleDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/SimpleSubtitleDecoder.java @@ -91,11 +91,11 @@ protected final SubtitleDecoderException decode( * Decodes data into a {@link Subtitle}. * * @param data An array holding the data to be decoded, starting at position 0. - * @param size The size of the data to be decoded. + * @param length The number of bytes from {@code data} to be decoded. * @param reset Whether the decoder must be reset before decoding. * @return The decoded {@link Subtitle}. * @throws SubtitleDecoderException If a decoding error occurs. */ - protected abstract Subtitle decode(byte[] data, int size, boolean reset) + protected abstract Subtitle decode(byte[] data, int length, boolean reset) throws SubtitleDecoderException; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsDecoder.java index 241cdca7467..000d2d13b43 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/pgs/PgsDecoder.java @@ -56,8 +56,9 @@ public PgsDecoder() { } @Override - protected Subtitle decode(byte[] data, int size, boolean reset) throws SubtitleDecoderException { - buffer.reset(data, size); + protected Subtitle decode(byte[] data, int length, boolean reset) + throws SubtitleDecoderException { + buffer.reset(data, length); maybeInflateData(buffer); cueBuilder.reset(); ArrayList cues = new ArrayList<>(); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java index 050fbf36cfd..a981193f992 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java @@ -110,15 +110,15 @@ public SsaDecoder(@Nullable List initializationData) { } @Override - protected Subtitle decode(byte[] bytes, int length, boolean reset) { + protected Subtitle decode(byte[] data, int length, boolean reset) { List> cues = new ArrayList<>(); List cueTimesUs = new ArrayList<>(); - ParsableByteArray data = new ParsableByteArray(bytes, length); + ParsableByteArray parsableData = new ParsableByteArray(data, length); if (!haveInitializationData) { - parseHeader(data); + parseHeader(parsableData); } - parseEventBody(data, cues, cueTimesUs); + parseEventBody(parsableData, cues, cueTimesUs); return new SsaSubtitle(cues, cueTimesUs); } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripDecoder.java index c7684e9754b..1ecc7f425d5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/subrip/SubripDecoder.java @@ -72,10 +72,10 @@ public SubripDecoder() { } @Override - protected Subtitle decode(byte[] bytes, int length, boolean reset) { + protected Subtitle decode(byte[] data, int length, boolean reset) { ArrayList cues = new ArrayList<>(); LongArray cueTimesUs = new LongArray(); - ParsableByteArray subripData = new ParsableByteArray(bytes, length); + ParsableByteArray subripData = new ParsableByteArray(data, length); @Nullable String currentLine; while ((currentLine = subripData.readLine()) != null) { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlDecoder.java index 765b161d0cd..b5f53a35fb4 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlDecoder.java @@ -115,7 +115,7 @@ public TtmlDecoder() { } @Override - protected Subtitle decode(byte[] bytes, int length, boolean reset) + protected Subtitle decode(byte[] data, int length, boolean reset) throws SubtitleDecoderException { try { XmlPullParser xmlParser = xmlParserFactory.newPullParser(); @@ -123,7 +123,7 @@ protected Subtitle decode(byte[] bytes, int length, boolean reset) Map regionMap = new HashMap<>(); Map imageMap = new HashMap<>(); regionMap.put(TtmlNode.ANONYMOUS_REGION_ID, new TtmlRegion(TtmlNode.ANONYMOUS_REGION_ID)); - ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes, 0, length); + ByteArrayInputStream inputStream = new ByteArrayInputStream(data, 0, length); xmlParser.setInput(inputStream, null); @Nullable TtmlSubtitle ttmlSubtitle = null; ArrayDeque nodeStack = new ArrayDeque<>(); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gDecoder.java index 2e2bde432a1..e0339d8f97a 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/tx3g/Tx3gDecoder.java @@ -125,9 +125,9 @@ public Tx3gDecoder(List initializationData) { } @Override - protected Subtitle decode(byte[] bytes, int length, boolean reset) + protected Subtitle decode(byte[] data, int length, boolean reset) throws SubtitleDecoderException { - parsableByteArray.reset(bytes, length); + parsableByteArray.reset(data, length); String cueTextString = readSubtitleText(parsableByteArray); if (cueTextString.isEmpty()) { return Tx3gSubtitle.EMPTY; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttDecoder.java index d6af63a7775..977eede1225 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/Mp4WebvttDecoder.java @@ -51,11 +51,11 @@ public Mp4WebvttDecoder() { } @Override - protected Subtitle decode(byte[] bytes, int length, boolean reset) + protected Subtitle decode(byte[] data, int length, boolean reset) throws SubtitleDecoderException { // Webvtt in Mp4 samples have boxes inside of them, so we have to do a traditional box parsing: // first 4 bytes size and then 4 bytes type. - sampleData.reset(bytes, length); + sampleData.reset(data, length); List resultingCueList = new ArrayList<>(); while (sampleData.bytesLeft() > 0) { if (sampleData.bytesLeft() < BOX_HEADER_SIZE) { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttDecoder.java index 643a21566af..6a0daf58930 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttDecoder.java @@ -53,9 +53,9 @@ public WebvttDecoder() { } @Override - protected Subtitle decode(byte[] bytes, int length, boolean reset) + protected Subtitle decode(byte[] data, int length, boolean reset) throws SubtitleDecoderException { - parsableWebvttData.reset(bytes, length); + parsableWebvttData.reset(data, length); List definedStyles = new ArrayList<>(); // Validate the first line of the header, and skip the remainder. From 5ac4700c9a97e29209aaed1dfb2f1c02c1eb6773 Mon Sep 17 00:00:00 2001 From: rohks Date: Thu, 3 Nov 2022 14:37:30 +0000 Subject: [PATCH 375/422] Update notification when timeline changes Notification buttons for next/previous should change based on the new index of the currently played media item after another media item is added or removed from a playlist. Issue: androidx/media#130 PiperOrigin-RevId: 485869144 (cherry picked from commit 2633f37a2f95ff38bede573ede83cfa123cb5eb9) --- .../java/androidx/media3/session/MediaNotificationManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java b/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java index 679888d52e0..6ae6968d932 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaNotificationManager.java @@ -294,7 +294,8 @@ public void onEvents(Player player, Player.Events events) { if (events.containsAny( Player.EVENT_PLAYBACK_STATE_CHANGED, Player.EVENT_PLAY_WHEN_READY_CHANGED, - Player.EVENT_MEDIA_METADATA_CHANGED)) { + Player.EVENT_MEDIA_METADATA_CHANGED, + Player.EVENT_TIMELINE_CHANGED)) { mediaSessionService.onUpdateNotification(session); } } From b780635c0b5968c9d82f36e66cf4c07b6149aed8 Mon Sep 17 00:00:00 2001 From: Googler Date: Thu, 3 Nov 2022 15:50:19 +0000 Subject: [PATCH 376/422] Add 'Player.getVideoSurfaceSize' that returns the size of the surface on which the video is rendered. Design Doc: go/aaos-mu-media-dd PiperOrigin-RevId: 485884772 --- RELEASENOTES.md | 2 + .../java/androidx/media3/cast/CastPlayer.java | 7 ++ .../media3/common/ForwardingPlayer.java | 7 ++ .../java/androidx/media3/common/Player.java | 9 ++ .../media3/common/SimpleBasePlayer.java | 7 ++ .../androidx/media3/common/util/Size.java | 85 +++++++++++++++++++ .../media3/exoplayer/ExoPlayerImpl.java | 16 ++-- .../media3/exoplayer/SimpleExoPlayer.java | 7 ++ .../media3/session/MediaController.java | 10 +++ .../session/MediaControllerImplBase.java | 15 ++-- .../session/MediaControllerImplLegacy.java | 7 ++ .../androidx/media3/session/MockPlayer.java | 38 +++++++++ .../media3/test/utils/StubPlayer.java | 6 ++ 13 files changed, 206 insertions(+), 10 deletions(-) create mode 100644 libraries/common/src/main/java/androidx/media3/common/util/Size.java diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 1f08de9bee6..8924c6571dd 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -28,6 +28,8 @@ Release notes ([#10667](https://github.com/google/ExoPlayer/issues/10667)). * Enforce minimum `compileSdkVersion` to avoid compilation errors ([#10684](https://github.com/google/ExoPlayer/issues/10684)). + * Add `Player.getVideoSurfaceSize` that returns the size of the surface on + which the video is rendered. * Downloads: * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index 72682c70737..195f6c62ee8 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -47,6 +47,7 @@ import androidx.media3.common.util.Clock; import androidx.media3.common.util.ListenerSet; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.android.gms.cast.CastStatusCodes; @@ -727,6 +728,12 @@ public VideoSize getVideoSize() { return VideoSize.UNKNOWN; } + /** This method is not supported and returns {@link Size#UNKNOWN}. */ + @Override + public Size getVideoSurfaceSize() { + return Size.UNKNOWN; + } + /** This method is not supported and returns an empty {@link CueGroup}. */ @Override public CueGroup getCurrentCues() { diff --git a/libraries/common/src/main/java/androidx/media3/common/ForwardingPlayer.java b/libraries/common/src/main/java/androidx/media3/common/ForwardingPlayer.java index 5975897b405..6afdb840b57 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ForwardingPlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/ForwardingPlayer.java @@ -23,6 +23,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.text.Cue; import androidx.media3.common.text.CueGroup; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import java.util.List; @@ -759,6 +760,12 @@ public VideoSize getVideoSize() { return player.getVideoSize(); } + /** Calls {@link Player#getVideoSurfaceSize()} on the delegate and returns the result. */ + @Override + public Size getVideoSurfaceSize() { + return player.getVideoSurfaceSize(); + } + /** Calls {@link Player#clearVideoSurface()} on the delegate. */ @Override public void clearVideoSurface() { diff --git a/libraries/common/src/main/java/androidx/media3/common/Player.java b/libraries/common/src/main/java/androidx/media3/common/Player.java index 65fbcda652e..380bb8ce257 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Player.java +++ b/libraries/common/src/main/java/androidx/media3/common/Player.java @@ -33,6 +33,7 @@ import androidx.annotation.Nullable; import androidx.media3.common.text.Cue; import androidx.media3.common.text.CueGroup; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Objects; @@ -2498,6 +2499,14 @@ default void onMetadata(Metadata metadata) {} */ VideoSize getVideoSize(); + /** + * Gets the size of the surface on which the video is rendered. + * + * @see Listener#onSurfaceSizeChanged(int, int) + */ + @UnstableApi + Size getVideoSurfaceSize(); + /** Returns the current {@link CueGroup}. */ CueGroup getCurrentCues(); diff --git a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java index 323c0e653ce..c305e76809e 100644 --- a/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/SimpleBasePlayer.java @@ -28,6 +28,7 @@ import androidx.media3.common.util.Clock; import androidx.media3.common.util.HandlerWrapper; import androidx.media3.common.util.ListenerSet; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.base.Supplier; @@ -589,6 +590,12 @@ public final VideoSize getVideoSize() { throw new IllegalStateException(); } + @Override + public final Size getVideoSurfaceSize() { + // TODO: implement. + throw new IllegalStateException(); + } + @Override public final CueGroup getCurrentCues() { // TODO: implement. diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Size.java b/libraries/common/src/main/java/androidx/media3/common/util/Size.java new file mode 100644 index 00000000000..dddb834edd4 --- /dev/null +++ b/libraries/common/src/main/java/androidx/media3/common/util/Size.java @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.common.util; + +import static androidx.media3.common.util.Assertions.checkArgument; + +import androidx.annotation.Nullable; +import androidx.media3.common.C; + +/** Immutable class for describing width and height dimensions in pixels. */ +@UnstableApi +public final class Size { + + /** A static instance to represent an unknown size value. */ + public static final Size UNKNOWN = + new Size(/* width= */ C.LENGTH_UNSET, /* height= */ C.LENGTH_UNSET); + + private final int width; + private final int height; + + /** + * Creates a new immutable Size instance. + * + * @param width The width of the size, in pixels, or {@link C#LENGTH_UNSET} if unknown. + * @param height The height of the size, in pixels, or {@link C#LENGTH_UNSET} if unknown. + * @throws IllegalArgumentException if an invalid {@code width} or {@code height} is specified. + */ + public Size(int width, int height) { + checkArgument( + (width == C.LENGTH_UNSET || width >= 0) && (height == C.LENGTH_UNSET || height >= 0)); + + this.width = width; + this.height = height; + } + + /** Returns the width of the size (in pixels), or {@link C#LENGTH_UNSET} if unknown. */ + public int getWidth() { + return width; + } + + /** Returns the height of the size (in pixels), or {@link C#LENGTH_UNSET} if unknown. */ + public int getHeight() { + return height; + } + + @Override + public boolean equals(@Nullable Object obj) { + if (obj == null) { + return false; + } + if (this == obj) { + return true; + } + if (obj instanceof Size) { + Size other = (Size) obj; + return width == other.width && height == other.height; + } + return false; + } + + @Override + public String toString() { + return width + "x" + height; + } + + @Override + public int hashCode() { + // assuming most sizes are <2^16, doing a rotate will give us perfect hashing + return height ^ ((width << (Integer.SIZE / 2)) | (width >>> (Integer.SIZE / 2))); + } +} diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index 64f1236bda6..f3fc2357e13 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -82,6 +82,7 @@ import androidx.media3.common.util.HandlerWrapper; import androidx.media3.common.util.ListenerSet; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Size; import androidx.media3.common.util.Util; import androidx.media3.exoplayer.PlayerMessage.Target; import androidx.media3.exoplayer.Renderer.MessageType; @@ -192,8 +193,7 @@ @Nullable private TextureView textureView; private @C.VideoScalingMode int videoScalingMode; private @C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy; - private int surfaceWidth; - private int surfaceHeight; + private Size surfaceSize; @Nullable private DecoderCounters videoDecoderCounters; @Nullable private DecoderCounters audioDecoderCounters; private int audioSessionId; @@ -382,6 +382,7 @@ public ExoPlayerImpl(ExoPlayer.Builder builder, @Nullable Player wrappingPlayer) wifiLockManager.setEnabled(builder.wakeMode == C.WAKE_MODE_NETWORK); deviceInfo = createDeviceInfo(streamVolumeManager); videoSize = VideoSize.UNKNOWN; + surfaceSize = Size.UNKNOWN; trackSelector.setAudioAttributes(audioAttributes); sendRendererMessage(TRACK_TYPE_AUDIO, MSG_SET_AUDIO_SESSION_ID, audioSessionId); @@ -1229,6 +1230,12 @@ public VideoSize getVideoSize() { return videoSize; } + @Override + public Size getVideoSurfaceSize() { + verifyApplicationThread(); + return surfaceSize; + } + @Override public void clearVideoSurface() { verifyApplicationThread(); @@ -2545,9 +2552,8 @@ private void setNonVideoOutputSurfaceHolderInternal(SurfaceHolder nonVideoOutput } private void maybeNotifySurfaceSizeChanged(int width, int height) { - if (width != surfaceWidth || height != surfaceHeight) { - surfaceWidth = width; - surfaceHeight = height; + if (width != surfaceSize.getWidth() || height != surfaceSize.getHeight()) { + surfaceSize = new Size(width, height); listeners.sendEvent( EVENT_SURFACE_SIZE_CHANGED, listener -> listener.onSurfaceSizeChanged(width, height)); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java index 93c452c7665..01bc7fe7081 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java @@ -44,6 +44,7 @@ import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Clock; import androidx.media3.common.util.ConditionVariable; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import androidx.media3.exoplayer.analytics.AnalyticsCollector; import androidx.media3.exoplayer.analytics.AnalyticsListener; @@ -528,6 +529,12 @@ public VideoSize getVideoSize() { return player.getVideoSize(); } + @Override + public Size getVideoSurfaceSize() { + blockUntilConstructorFinished(); + return player.getVideoSurfaceSize(); + } + @Override public void clearVideoSurface() { blockUntilConstructorFinished(); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaController.java b/libraries/session/src/main/java/androidx/media3/session/MediaController.java index a729df8c50d..37bf64666c7 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaController.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaController.java @@ -54,6 +54,7 @@ import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.Consumer; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.util.concurrent.Futures; @@ -1498,6 +1499,13 @@ public VideoSize getVideoSize() { return isConnected() ? impl.getVideoSize() : VideoSize.UNKNOWN; } + @UnstableApi + @Override + public Size getVideoSurfaceSize() { + verifyApplicationThread(); + return isConnected() ? impl.getVideoSurfaceSize() : Size.UNKNOWN; + } + @Override public void clearVideoSurface() { verifyApplicationThread(); @@ -1968,6 +1976,8 @@ interface MediaControllerImpl { VideoSize getVideoSize(); + Size getVideoSurfaceSize(); + void clearVideoSurface(); void clearVideoSurface(@Nullable Surface surface); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index 389228847f9..b810600900f 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -75,6 +75,7 @@ import androidx.media3.common.util.Clock; import androidx.media3.common.util.ListenerSet; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Size; import androidx.media3.common.util.Util; import androidx.media3.session.MediaController.MediaControllerImpl; import com.google.common.collect.ImmutableList; @@ -122,8 +123,7 @@ @Nullable private Surface videoSurface; @Nullable private SurfaceHolder videoSurfaceHolder; @Nullable private TextureView videoTextureView; - private int surfaceWidth; - private int surfaceHeight; + private Size surfaceSize; @Nullable private IMediaSession iSession; private long lastReturnedContentPositionMs; private long lastSetPlayWhenReadyCalledTimeMs; @@ -136,6 +136,7 @@ public MediaControllerImplBase( Looper applicationLooper) { // Initialize default values. playerInfo = PlayerInfo.DEFAULT; + surfaceSize = Size.UNKNOWN; sessionCommands = SessionCommands.EMPTY; playerCommandsFromSession = Commands.EMPTY; playerCommandsFromPlayer = Commands.EMPTY; @@ -1566,6 +1567,11 @@ public VideoSize getVideoSize() { return playerInfo.videoSize; } + @Override + public Size getVideoSurfaceSize() { + return surfaceSize; + } + @Override public void clearVideoSurface() { if (!isPlayerCommandAvailable(Player.COMMAND_SET_VIDEO_SURFACE)) { @@ -2189,9 +2195,8 @@ private void clearSurfacesAndCallbacks() { } private void maybeNotifySurfaceSizeChanged(int width, int height) { - if (surfaceWidth != width || surfaceHeight != height) { - surfaceWidth = width; - surfaceHeight = height; + if (surfaceSize.getWidth() != width || surfaceSize.getHeight() != height) { + surfaceSize = new Size(width, height); listeners.sendEvent( /* eventFlag= */ Player.EVENT_SURFACE_SIZE_CHANGED, listener -> listener.onSurfaceSizeChanged(width, height)); diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 5d8c0389714..3be371c5301 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -67,6 +67,7 @@ import androidx.media3.common.util.Clock; import androidx.media3.common.util.ListenerSet; import androidx.media3.common.util.Log; +import androidx.media3.common.util.Size; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.Futures; @@ -961,6 +962,12 @@ public VideoSize getVideoSize() { return VideoSize.UNKNOWN; } + @Override + public Size getVideoSurfaceSize() { + Log.w(TAG, "Session doesn't support getting VideoSurfaceSize"); + return Size.UNKNOWN; + } + @Override public void clearVideoSurface() { Log.w(TAG, "Session doesn't support clearing Surface"); diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index d05caf57e78..282c88ef3f3 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -18,6 +18,7 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static java.lang.annotation.ElementType.TYPE_USE; +import android.graphics.Rect; import android.os.Looper; import android.view.Surface; import android.view.SurfaceHolder; @@ -40,6 +41,7 @@ import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; import androidx.media3.common.util.ConditionVariable; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import androidx.media3.common.util.Util; import com.google.common.collect.ImmutableList; @@ -230,6 +232,7 @@ public class MockPlayer implements Player { public @RepeatMode int repeatMode; public boolean shuffleModeEnabled; public VideoSize videoSize; + public Size surfaceSize; @Nullable public Surface surface; @Nullable public SurfaceHolder surfaceHolder; @Nullable public SurfaceView surfaceView; @@ -277,6 +280,7 @@ private MockPlayer(Builder builder) { currentMediaItemIndex = 0; repeatMode = Player.REPEAT_MODE_OFF; videoSize = VideoSize.UNKNOWN; + surfaceSize = Size.UNKNOWN; volume = 1.0f; cueGroup = CueGroup.EMPTY_TIME_ZERO; deviceInfo = DeviceInfo.UNKNOWN; @@ -1121,6 +1125,11 @@ public VideoSize getVideoSize() { return videoSize; } + @Override + public Size getVideoSurfaceSize() { + return surfaceSize; + } + public void notifyVideoSizeChanged(VideoSize videoSize) { for (Listener listener : listeners) { listener.onVideoSizeChanged(videoSize); @@ -1136,47 +1145,70 @@ public void clearVideoSurface() { public void clearVideoSurface(@Nullable Surface surface) { if (surface != null && surface == this.surface) { this.surface = null; + maybeUpdateSurfaceSize(/* width= */ 0, /* height= */ 0); } } @Override public void setVideoSurface(@Nullable Surface surface) { this.surface = surface; + int newSurfaceSize = surface == null ? 0 : C.LENGTH_UNSET; + maybeUpdateSurfaceSize(/* width= */ newSurfaceSize, /* height= */ newSurfaceSize); } @Override public void setVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder) { this.surfaceHolder = surfaceHolder; + if (surfaceHolder == null || surfaceHolder.getSurfaceFrame() == null) { + maybeUpdateSurfaceSize(/* width= */ 0, /* height= */ 0); + } else { + Rect rect = surfaceHolder.getSurfaceFrame(); + maybeUpdateSurfaceSize(rect.width(), rect.height()); + } } @Override public void clearVideoSurfaceHolder(@Nullable SurfaceHolder surfaceHolder) { if (surfaceHolder != null && surfaceHolder == this.surfaceHolder) { this.surfaceHolder = null; + maybeUpdateSurfaceSize(/* width= */ 0, /* height= */ 0); } } @Override public void setVideoSurfaceView(@Nullable SurfaceView surfaceView) { this.surfaceView = surfaceView; + if (surfaceView == null + || surfaceView.getHolder() == null + || surfaceView.getHolder().getSurfaceFrame() == null) { + maybeUpdateSurfaceSize(/* width= */ 0, /* height= */ 0); + } else { + Rect rect = surfaceView.getHolder().getSurfaceFrame(); + maybeUpdateSurfaceSize(rect.width(), rect.height()); + } } @Override public void clearVideoSurfaceView(@Nullable SurfaceView surfaceView) { if (surfaceView != null && surfaceView == this.surfaceView) { this.surfaceView = null; + maybeUpdateSurfaceSize(/* width= */ 0, /* height= */ 0); } } @Override public void setVideoTextureView(@Nullable TextureView textureView) { this.textureView = textureView; + if (textureView != null) { + maybeUpdateSurfaceSize(textureView.getWidth(), textureView.getHeight()); + } } @Override public void clearVideoTextureView(@Nullable TextureView textureView) { if (textureView != null && textureView == this.textureView) { this.textureView = null; + maybeUpdateSurfaceSize(/* width= */ 0, /* height= */ 0); } } @@ -1278,6 +1310,12 @@ public void awaitMethodCalled(@Method int method, long timeOutMs) } } + private void maybeUpdateSurfaceSize(int width, int height) { + if (width != surfaceSize.getWidth() || height != surfaceSize.getHeight()) { + surfaceSize = new Size(width, height); + } + } + private static ImmutableMap<@Method Integer, ConditionVariable> createMethodConditionVariables() { return new ImmutableMap.Builder<@Method Integer, ConditionVariable>() .put(METHOD_ADD_MEDIA_ITEM, new ConditionVariable()) diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java index 97c7d3cf4a2..77a9a609c9c 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java @@ -34,6 +34,7 @@ import androidx.media3.common.Tracks; import androidx.media3.common.VideoSize; import androidx.media3.common.text.CueGroup; +import androidx.media3.common.util.Size; import androidx.media3.common.util.UnstableApi; import java.util.List; @@ -351,6 +352,11 @@ public VideoSize getVideoSize() { throw new UnsupportedOperationException(); } + @Override + public Size getVideoSurfaceSize() { + throw new UnsupportedOperationException(); + } + @Override public CueGroup getCurrentCues() { throw new UnsupportedOperationException(); From 99bb183c356a6469f8f4bdb69fa4c34d52f49a19 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Thu, 3 Nov 2022 16:13:17 +0000 Subject: [PATCH 377/422] HDR Test: Add link to tested method. PiperOrigin-RevId: 485890141 (cherry picked from commit 58b32b61291648b35fb696ae547d03698b6062b1) --- .../androidx/media3/transformer/mh/SetHdrEditingTest.java | 5 ++++- .../media3/transformer/mh/SetHdrToSdrToneMapTest.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTest.java index 39a50131b1e..492c6be5ed7 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrEditingTest.java @@ -42,7 +42,10 @@ import org.junit.Test; import org.junit.runner.RunWith; -/** {@link Transformer} instrumentation test for applying an HDR frame edit. */ +/** + * {@link Transformer} instrumentation test for applying an {@linkplain + * TransformationRequest.Builder#experimental_setEnableHdrEditing HDR frame edit}. + */ @RunWith(AndroidJUnit4.class) public class SetHdrEditingTest { public static final String TAG = "SetHdrEditingTest"; diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrToSdrToneMapTest.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrToSdrToneMapTest.java index 08f84d858d2..eff2a32b0f7 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrToSdrToneMapTest.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetHdrToSdrToneMapTest.java @@ -35,7 +35,10 @@ import org.junit.Test; import org.junit.runner.RunWith; -/** {@link Transformer} instrumentation test for applying an HDR to SDR tone mapping edit. */ +/** + * {@link Transformer} instrumentation test for applying an {@linkplain + * TransformationRequest.Builder#setEnableRequestSdrToneMapping HDR to SDR tone mapping edit}. + */ @RunWith(AndroidJUnit4.class) public class SetHdrToSdrToneMapTest { public static final String TAG = "SetHdrToSdrToneMapTest"; From 1c18eae18edfdd6e558cfa31b0774d13038691e9 Mon Sep 17 00:00:00 2001 From: yschimke Date: Thu, 3 Nov 2022 18:08:03 +0000 Subject: [PATCH 378/422] Disable publishing block when media3 included in another build. From https://github.com/androidx/media/pull/127/files PiperOrigin-RevId: 485921271 (cherry picked from commit 48aac9ba90344d960214c2d0364a68c0d74e109e) --- RELEASENOTES.md | 2 ++ publish.gradle | 74 +++++++++++++++++++++++++------------------------ settings.gradle | 2 ++ 3 files changed, 42 insertions(+), 36 deletions(-) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 8924c6571dd..a4a54914ff3 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -30,6 +30,8 @@ Release notes ([#10684](https://github.com/google/ExoPlayer/issues/10684)). * Add `Player.getVideoSurfaceSize` that returns the size of the surface on which the video is rendered. +* Build: + * Avoid publishing block when included in another gradle build. * Downloads: * Fix potential infinite loop in `ProgressiveDownloader` caused by simultaneous download and playback with the same `PriorityTaskManager` diff --git a/publish.gradle b/publish.gradle index 2bb21b92bbf..6b2b0fcd76a 100644 --- a/publish.gradle +++ b/publish.gradle @@ -16,45 +16,47 @@ apply plugin: 'maven-publish' apply from: "$gradle.ext.androidxMediaSettingsDir/missing_aar_type_workaround.gradle" afterEvaluate { - publishing { - repositories { - maven { - url = findProperty('mavenRepo') ?: "${buildDir}/repo" + if (rootProject.name == "media3") { + publishing { + repositories { + maven { + url = findProperty('mavenRepo') ?: "${buildDir}/repo" + } } - } - publications { - release(MavenPublication) { - from components.release - artifact androidSourcesJar - groupId = 'androidx.media3' - artifactId = findProperty('releaseArtifactId') ?: '' - version = findProperty('releaseVersion') ?: '' - pom { - name = - findProperty('releaseName') - ?: '' - description = - findProperty('releaseDescription') - ?: findProperty('releaseName') - ?: '' - licenses { - license { - name = 'The Apache Software License, Version 2.0' - url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' - distribution = 'repo' + publications { + release(MavenPublication) { + from components.release + artifact androidSourcesJar + groupId = 'androidx.media3' + artifactId = findProperty('releaseArtifactId') ?: '' + version = findProperty('releaseVersion') ?: '' + pom { + name = + findProperty('releaseName') + ?: '' + description = + findProperty('releaseDescription') + ?: findProperty('releaseName') + ?: '' + licenses { + license { + name = 'The Apache Software License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + distribution = 'repo' + } } - } - developers { - developer { - name = 'The Android Open Source Project' + developers { + developer { + name = 'The Android Open Source Project' + } + } + scm { + connection = 'scm:git:https://github.com/androidx/media.git' + url = 'https://github.com/androidx/media' + } + withXml { + addMissingAarTypeToXml(it) } - } - scm { - connection = 'scm:git:https://github.com/androidx/media.git' - url = 'https://github.com/androidx/media' - } - withXml { - addMissingAarTypeToXml(it) } } } diff --git a/settings.gradle b/settings.gradle index eaaf9cd9c53..716f405a9a1 100644 --- a/settings.gradle +++ b/settings.gradle @@ -18,6 +18,8 @@ if (gradle.ext.has('androidxMediaModulePrefix')) { modulePrefix += gradle.ext.androidxMediaModulePrefix } +rootProject.name = 'media3' + include modulePrefix + 'demo' project(modulePrefix + 'demo').projectDir = new File(rootDir, 'demos/main') include modulePrefix + 'demo-cast' From 57e3e0ce8e3727b77c47bad684c1af776a15db43 Mon Sep 17 00:00:00 2001 From: Googler Date: Fri, 4 Nov 2022 17:57:11 +0000 Subject: [PATCH 379/422] Add @SuppressWarnings to unblock T SDK for LSC: https://docs.google.com/document/d/16tpK6aXqN68PvTyvt4siM-m7f0NXi_8xEeitLDzr8xY/edit?usp=sharing TESTED=NA BEGIN_PUBLIC/END_PUBLIC PiperOrigin-RevId: 486180995 (cherry picked from commit 45f21a2fb748dff2d2819d368293ea1f47c64b5e) --- .../androidx/media3/exoplayer/video/spherical/TouchTracker.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/TouchTracker.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/TouchTracker.java index 0e6bb9a0c98..05c2aff8469 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/TouchTracker.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/TouchTracker.java @@ -94,6 +94,8 @@ public boolean onDown(MotionEvent e) { return true; } + // Incompatible parameter type for e1. + @SuppressWarnings("nullness:override.param.invalid") @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // Calculate the touch delta in screen space. From 8270dd4536d4af18fc1ad4a7e9f1d98c311d9fae Mon Sep 17 00:00:00 2001 From: michaelkatz Date: Mon, 7 Nov 2022 11:36:36 +0000 Subject: [PATCH 380/422] Changed MediaController to return last estimated position while paused The method getCurrentPosition() may return a lesser position during pause than the previous retrieved value due to ipc call delay in playerInfo update. Users see track position jump backwards at pause. Fixed to return last estimated position while paused if have not received updated playerInfo. Code is deduped to point getContentPosition() to getCurrentPosition() when !isPlayingAd. PiperOrigin-RevId: 486617341 (cherry picked from commit 9336b95bf4355c4b1e43f95879d9af45cf90cd19) --- .../session/MediaControllerImplBase.java | 55 +++++++--------- .../session/MediaControllerListenerTest.java | 8 +-- .../media3/session/MediaControllerTest.java | 64 +++++++++++++++++++ 3 files changed, 90 insertions(+), 37 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index b810600900f..41e1f5a97a4 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -125,7 +125,7 @@ @Nullable private TextureView videoTextureView; private Size surfaceSize; @Nullable private IMediaSession iSession; - private long lastReturnedContentPositionMs; + private long lastReturnedCurrentPositionMs; private long lastSetPlayWhenReadyCalledTimeMs; public MediaControllerImplBase( @@ -168,7 +168,7 @@ public MediaControllerImplBase( ? null : new SessionServiceConnection(connectionHints); flushCommandQueueHandler = new FlushCommandQueueHandler(applicationLooper); - lastReturnedContentPositionMs = C.TIME_UNSET; + lastReturnedCurrentPositionMs = C.TIME_UNSET; lastSetPlayWhenReadyCalledTimeMs = C.TIME_UNSET; } @@ -592,9 +592,20 @@ public long getDuration() { @Override public long getCurrentPosition() { + boolean receivedUpdatedPositionInfo = + lastSetPlayWhenReadyCalledTimeMs < playerInfo.sessionPositionInfo.eventTimeMs; if (!playerInfo.isPlaying) { - return playerInfo.sessionPositionInfo.positionInfo.positionMs; + if (receivedUpdatedPositionInfo || lastReturnedCurrentPositionMs == C.TIME_UNSET) { + lastReturnedCurrentPositionMs = playerInfo.sessionPositionInfo.positionInfo.positionMs; + } + return lastReturnedCurrentPositionMs; + } + + if (!receivedUpdatedPositionInfo && lastReturnedCurrentPositionMs != C.TIME_UNSET) { + // Need an updated current position in order to make a new position estimation + return lastReturnedCurrentPositionMs; } + long elapsedTimeMs = (getInstance().getTimeDiffMs() != C.TIME_UNSET) ? getInstance().getTimeDiffMs() @@ -602,9 +613,11 @@ public long getCurrentPosition() { long estimatedPositionMs = playerInfo.sessionPositionInfo.positionInfo.positionMs + (long) (elapsedTimeMs * playerInfo.playbackParameters.speed); - return playerInfo.sessionPositionInfo.durationMs == C.TIME_UNSET - ? estimatedPositionMs - : Math.min(estimatedPositionMs, playerInfo.sessionPositionInfo.durationMs); + if (playerInfo.sessionPositionInfo.durationMs != C.TIME_UNSET) { + estimatedPositionMs = min(estimatedPositionMs, playerInfo.sessionPositionInfo.durationMs); + } + lastReturnedCurrentPositionMs = estimatedPositionMs; + return lastReturnedCurrentPositionMs; } @Override @@ -634,34 +647,10 @@ public long getContentDuration() { @Override public long getContentPosition() { - boolean receivedUpdatedPositionInfo = - lastSetPlayWhenReadyCalledTimeMs < playerInfo.sessionPositionInfo.eventTimeMs; - if (!playerInfo.isPlaying || playerInfo.sessionPositionInfo.isPlayingAd) { - if (receivedUpdatedPositionInfo || lastReturnedContentPositionMs == C.TIME_UNSET) { - lastReturnedContentPositionMs = - playerInfo.sessionPositionInfo.positionInfo.contentPositionMs; - } - return lastReturnedContentPositionMs; - } - - if (!receivedUpdatedPositionInfo && lastReturnedContentPositionMs != C.TIME_UNSET) { - // We need an updated content position to make a new position estimation. - return lastReturnedContentPositionMs; - } - - long elapsedTimeMs = - (getInstance().getTimeDiffMs() != C.TIME_UNSET) - ? getInstance().getTimeDiffMs() - : SystemClock.elapsedRealtime() - playerInfo.sessionPositionInfo.eventTimeMs; - long estimatedPositionMs = - playerInfo.sessionPositionInfo.positionInfo.contentPositionMs - + (long) (elapsedTimeMs * playerInfo.playbackParameters.speed); - if (playerInfo.sessionPositionInfo.contentDurationMs != C.TIME_UNSET) { - estimatedPositionMs = - Math.min(estimatedPositionMs, playerInfo.sessionPositionInfo.contentDurationMs); + if (!playerInfo.sessionPositionInfo.isPlayingAd) { + return getCurrentPosition(); } - lastReturnedContentPositionMs = estimatedPositionMs; - return lastReturnedContentPositionMs; + return playerInfo.sessionPositionInfo.positionInfo.contentPositionMs; } @Override diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java index 5a4c2e50550..36a598f9880 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerTest.java @@ -723,7 +723,7 @@ public void onPlaybackParametersChanged_updatesGetters() throws Exception { PlaybackParameters testPlaybackParameters = new PlaybackParameters(/* speed= */ 3.2f, /* pitch= */ 2.1f); long testCurrentPositionMs = 11; - long testContentPositionMs = 33; + long testContentPositionMs = testCurrentPositionMs; // Not playing an ad long testBufferedPositionMs = 100; int testBufferedPercentage = 50; long testTotalBufferedDurationMs = 120; @@ -1595,7 +1595,7 @@ public void onPlaybackSuppressionReasonChanged_updatesGetters() throws Exception @Player.PlaybackSuppressionReason int testReason = Player.PLAYBACK_SUPPRESSION_REASON_TRANSIENT_AUDIO_FOCUS_LOSS; long testCurrentPositionMs = 11; - long testContentPositionMs = 33; + long testContentPositionMs = testCurrentPositionMs; // Not playing an ad long testBufferedPositionMs = 100; int testBufferedPercentage = 50; long testTotalBufferedDurationMs = 120; @@ -1726,7 +1726,7 @@ public void onEvents(Player player, Player.Events events) { public void onPlaybackStateChanged_updatesGetters() throws Exception { @Player.State int testPlaybackState = Player.EVENT_PLAYER_ERROR; long testCurrentPositionMs = 11; - long testContentPositionMs = 33; + long testContentPositionMs = testCurrentPositionMs; // Not playing an ad long testBufferedPositionMs = 100; int testBufferedPercentage = 50; long testTotalBufferedDurationMs = 120; @@ -1857,7 +1857,7 @@ public void onEvents(Player player, Player.Events events) { public void onIsPlayingChanged_updatesGetters() throws Exception { boolean testIsPlaying = true; long testCurrentPositionMs = 11; - long testContentPositionMs = 33; + long testContentPositionMs = testCurrentPositionMs; // Not playing an ad long testBufferedPositionMs = 100; int testBufferedPercentage = 50; long testTotalBufferedDurationMs = 120; diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java index af98cea8ef1..046eede07a9 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerTest.java @@ -918,6 +918,70 @@ public void getContentPosition_whenPlayingAd_doesNotAdvance() throws Exception { assertThat(contentPositionMs).isEqualTo(testContentPosition); } + @Test + public void getContentPosition_whenPlayingMainContent_returnsCurrentPosition() throws Exception { + Bundle playerConfig = + new RemoteMediaSession.MockPlayerConfigBuilder() + .setCurrentPosition(100L) + .setContentPosition(100L) // Same as current position b/c not playing an ad + .setDuration(10_000L) + .setIsPlaying(true) + .setIsPlayingAd(false) + .setPlaybackParameters(new PlaybackParameters(/* speed= */ 2.0f)) + .build(); + remoteSession.setPlayer(playerConfig); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + + long currentPositionMs = + threadTestRule + .getHandler() + .postAndSync( + () -> { + controller.setTimeDiffMs(50L); + return controller.getCurrentPosition(); + }); + long contentPositionMs = + threadTestRule.getHandler().postAndSync(controller::getContentPosition); + + // expectedPositionMs = initCurrentPositionMs + deltaTime*playbackSpeed + // 200L = 100L + 50L*2.0f + assertThat(contentPositionMs).isEqualTo(200L); + assertThat(currentPositionMs).isEqualTo(200L); + } + + @Test + public void getContentPosition_whenPlayingAd_returnsContentPosition() throws Exception { + Bundle playerConfig = + new RemoteMediaSession.MockPlayerConfigBuilder() + .setCurrentPosition(10L) + .setContentPosition(50L) + .setDuration(10_000L) + .setIsPlaying(true) + .setIsPlayingAd(true) + .setCurrentAdGroupIndex(0) + .setCurrentAdIndexInAdGroup(0) + .setPlaybackParameters(new PlaybackParameters(/* speed= */ 2.0f)) + .build(); + remoteSession.setPlayer(playerConfig); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + + long currentPositionMs = + threadTestRule + .getHandler() + .postAndSync( + () -> { + controller.setTimeDiffMs(50L); + return controller.getCurrentPosition(); + }); + long contentPositionMs = + threadTestRule.getHandler().postAndSync(controller::getContentPosition); + + // expectedCurrentPositionMs = initCurrentPositionMs + deltaTime*playbackSpeed + // 110L = 10L + 50L*2.0f + assertThat(currentPositionMs).isEqualTo(110L); + assertThat(contentPositionMs).isEqualTo(50L); + } + @Test public void getBufferedPosition_withPeriodicUpdate_updatedWithoutCallback() throws Exception { long testBufferedPosition = 999L; From 3bad1f326d788cacccd160acd953deedaf094fb4 Mon Sep 17 00:00:00 2001 From: christosts Date: Mon, 7 Nov 2022 11:55:08 +0000 Subject: [PATCH 381/422] MediaControllerListenerWithMediaSessionCompatTest: clean imports Remove static imports to Player constants to make the code more readable. #minor-release PiperOrigin-RevId: 486619911 (cherry picked from commit 09651ed2e3134b87ea832ba05f7bdd2d11289bd6) --- ...trollerListenerWithMediaSessionCompatTest.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java index 3e20c1cdaf7..2d1d840c82d 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java @@ -15,9 +15,6 @@ */ package androidx.media3.session; -import static androidx.media3.common.Player.EVENT_REPEAT_MODE_CHANGED; -import static androidx.media3.session.SessionResult.RESULT_SUCCESS; -import static androidx.media3.test.session.common.CommonConstants.DEFAULT_TEST_NAME; import static androidx.media3.test.session.common.TestUtils.TIMEOUT_MS; import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.MILLISECONDS; @@ -30,6 +27,7 @@ import androidx.media3.common.C; import androidx.media3.common.FlagSet; import androidx.media3.common.Player; +import androidx.media3.test.session.common.CommonConstants; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.MainLooperTestRule; import androidx.media3.test.session.common.TestUtils; @@ -75,7 +73,7 @@ public class MediaControllerListenerWithMediaSessionCompatTest { @Before public void setUp() throws Exception { context = ApplicationProvider.getApplicationContext(); - session = new RemoteMediaSessionCompat(DEFAULT_TEST_NAME, context); + session = new RemoteMediaSessionCompat(CommonConstants.DEFAULT_TEST_NAME, context); } @After @@ -87,7 +85,7 @@ public void cleanUp() throws RemoteException { public void onEvents_whenOnRepeatModeChanges_isCalledAfterOtherListenerMethods() throws Exception { Player.Events testEvents = - new Player.Events(new FlagSet.Builder().add(EVENT_REPEAT_MODE_CHANGED).build()); + new Player.Events(new FlagSet.Builder().add(Player.EVENT_REPEAT_MODE_CHANGED).build()); CopyOnWriteArrayList listenerEventCodes = new CopyOnWriteArrayList<>(); MediaController controller = controllerTestRule.createController(session.getSessionToken()); @@ -97,7 +95,7 @@ public void onEvents_whenOnRepeatModeChanges_isCalledAfterOtherListenerMethods() new Player.Listener() { @Override public void onRepeatModeChanged(@Player.RepeatMode int repeatMode) { - listenerEventCodes.add(EVENT_REPEAT_MODE_CHANGED); + listenerEventCodes.add(Player.EVENT_REPEAT_MODE_CHANGED); latch.countDown(); } @@ -112,7 +110,8 @@ public void onEvents(Player player, Player.Events events) { session.setRepeatMode(PlaybackStateCompat.REPEAT_MODE_GROUP); assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); - assertThat(listenerEventCodes).containsExactly(EVENT_REPEAT_MODE_CHANGED, EVENT_ON_EVENTS); + assertThat(listenerEventCodes) + .containsExactly(Player.EVENT_REPEAT_MODE_CHANGED, EVENT_ON_EVENTS); assertThat(eventsRef.get()).isEqualTo(testEvents); } @@ -154,7 +153,7 @@ public ListenableFuture onSetCustomLayout( receivedIconResIds.add(button.iconResId); } countDownLatch.countDown(); - return Futures.immediateFuture(new SessionResult(RESULT_SUCCESS)); + return Futures.immediateFuture(new SessionResult(SessionResult.RESULT_SUCCESS)); } }); From 13a4089eafd3e14b72f4082426c343c7fdb20f1a Mon Sep 17 00:00:00 2001 From: tonihei Date: Mon, 7 Nov 2022 15:16:16 +0000 Subject: [PATCH 382/422] Set matching folder type in Session demo app. The folder type is useful metadata to understand programmatically what criterion was used to create the folder. PiperOrigin-RevId: 486653317 (cherry picked from commit ab9f0608cd3d779b71623e4fa8ff2df149affb64) --- .../java/androidx/media3/demo/session/MediaItemTree.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt b/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt index 44457e7ae92..d1ece8ba12d 100644 --- a/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt +++ b/demos/session/src/main/java/androidx/media3/demo/session/MediaItemTree.kt @@ -20,9 +20,11 @@ import android.net.Uri import androidx.media3.common.MediaItem import androidx.media3.common.MediaItem.SubtitleConfiguration import androidx.media3.common.MediaMetadata +import androidx.media3.common.MediaMetadata.FOLDER_TYPE_ALBUMS +import androidx.media3.common.MediaMetadata.FOLDER_TYPE_ARTISTS +import androidx.media3.common.MediaMetadata.FOLDER_TYPE_GENRES import androidx.media3.common.MediaMetadata.FOLDER_TYPE_MIXED import androidx.media3.common.MediaMetadata.FOLDER_TYPE_NONE -import androidx.media3.common.MediaMetadata.FOLDER_TYPE_PLAYLISTS import androidx.media3.common.util.Util import com.google.common.collect.ImmutableList import org.json.JSONObject @@ -205,7 +207,7 @@ object MediaItemTree { title = album, mediaId = albumFolderIdInTree, isPlayable = true, - folderType = FOLDER_TYPE_PLAYLISTS, + folderType = FOLDER_TYPE_ALBUMS, subtitleConfigurations ) ) @@ -221,7 +223,7 @@ object MediaItemTree { title = artist, mediaId = artistFolderIdInTree, isPlayable = true, - folderType = FOLDER_TYPE_PLAYLISTS, + folderType = FOLDER_TYPE_ARTISTS, subtitleConfigurations ) ) @@ -237,7 +239,7 @@ object MediaItemTree { title = genre, mediaId = genreFolderIdInTree, isPlayable = true, - folderType = FOLDER_TYPE_PLAYLISTS, + folderType = FOLDER_TYPE_GENRES, subtitleConfigurations ) ) From b770eb86b29b4a45125e1dcd6032ac4226835eb9 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 7 Nov 2022 18:49:14 +0000 Subject: [PATCH 383/422] HDR: Update test FileUtil to handle null ColorInfo. PiperOrigin-RevId: 486706595 (cherry picked from commit 23e724a00be4e286505a9a4bed8f291787b579a6) --- .../media3/transformer/mh/analysis/FileUtil.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/FileUtil.java b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/FileUtil.java index 75585459a43..9b91ed53125 100644 --- a/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/FileUtil.java +++ b/libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/analysis/FileUtil.java @@ -41,18 +41,25 @@ public static void assertFileHasColorTransfer( new DecodeOneFrameUtil.Listener() { @Override public void onContainerExtracted(MediaFormat mediaFormat) { - @Nullable ColorInfo extractedColor = MediaFormatUtil.getColorInfo(mediaFormat); - assertThat(checkNotNull(extractedColor).colorTransfer).isEqualTo(expectedColorTransfer); + @Nullable ColorInfo extractedColorInfo = MediaFormatUtil.getColorInfo(mediaFormat); + assertColorInfoHasTransfer(extractedColorInfo, expectedColorTransfer); } @Override public void onFrameDecoded(MediaFormat mediaFormat) { - @Nullable ColorInfo decodedColor = MediaFormatUtil.getColorInfo(mediaFormat); - assertThat(checkNotNull(decodedColor).colorTransfer).isEqualTo(expectedColorTransfer); + @Nullable ColorInfo decodedColorInfo = MediaFormatUtil.getColorInfo(mediaFormat); + assertColorInfoHasTransfer(decodedColorInfo, expectedColorTransfer); } }, /* surface= */ null); } + private static void assertColorInfoHasTransfer( + @Nullable ColorInfo colorInfo, @C.ColorTransfer int expectedColorTransfer) { + @C.ColorTransfer + int actualColorTransfer = colorInfo == null ? C.COLOR_TRANSFER_SDR : colorInfo.colorTransfer; + assertThat(actualColorTransfer).isEqualTo(expectedColorTransfer); + } + private FileUtil() {} } From a42050f441f5fa79b5248d79857243e94949a349 Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Mon, 7 Nov 2022 19:21:21 +0000 Subject: [PATCH 384/422] HDR: Set decoder codec profile and level if available. This should be necessary to ensure decoders see fewer errors. Setting this resulted in removing native_dequeueOutputBuffer errors on OMX.MTK decoders for in-app tone mapping prototyping. PiperOrigin-RevId: 486715941 (cherry picked from commit e510d9903ff30c4ec308bdcfba114e8889aad20c) --- .../media3/transformer/DefaultDecoderFactory.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java index 277f00e2613..ce0fbcfc765 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultDecoderFactory.java @@ -22,11 +22,13 @@ import android.annotation.SuppressLint; import android.content.Context; import android.media.MediaFormat; +import android.util.Pair; import android.view.Surface; import androidx.annotation.Nullable; import androidx.media3.common.Format; import androidx.media3.common.MimeTypes; import androidx.media3.common.util.MediaFormatUtil; +import androidx.media3.exoplayer.mediacodec.MediaCodecUtil; import org.checkerframework.checker.nullness.qual.RequiresNonNull; /** A default implementation of {@link Codec.DecoderFactory}. */ @@ -90,6 +92,13 @@ public Codec createForVideoDecoding( MediaFormat.KEY_COLOR_TRANSFER_REQUEST, MediaFormat.COLOR_TRANSFER_SDR_VIDEO); } + @Nullable + Pair codecProfileAndLevel = MediaCodecUtil.getCodecProfileAndLevel(format); + if (codecProfileAndLevel != null) { + MediaFormatUtil.maybeSetInteger( + mediaFormat, MediaFormat.KEY_PROFILE, codecProfileAndLevel.first); + } + @Nullable String mediaCodecName = EncoderUtil.findCodecForFormat(mediaFormat, /* isDecoder= */ true); if (mediaCodecName == null) { From 64c87a5fa115c33a6ba373c4f120e47eec6fe216 Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Mon, 7 Nov 2022 20:38:44 +0000 Subject: [PATCH 385/422] Move muxer initialization off application thread Problem: We are initialising muxer as soon as we start the transformation. Now the startTransformation() method can be called from main thread, but muxer creation is an I/O operation and should be not be done on main thread. Solution: Added lazy initialisation of muxer object. The actual transformation happens on background thread so the muxer will be initialised lazily from background thread only. Another way was to provide an initialize() method on MuxerWrapper which will explicitly initialise muxer object but with this approach the caller need to call the initialise method before calling anything else. With current implementation the renderers are calling MuxerWrapper methods on various callbacks (Not sequentially) and also we are sharing same muxer with multiple renderers so It might become confusing for the caller on when to call the initialise() method. Also there are few methods on MuxerWrapper which dont really need muxer object. So in short it might make MuxerWrapper APIs more confusing. Validation: Verified the transformation from demo app. PiperOrigin-RevId: 486735787 (cherry picked from commit eb357654bbd11f6304a6f5495bb209e59307dfcb) --- .../media3/transformer/DefaultMuxer.java | 5 +-- .../media3/transformer/FrameworkMuxer.java | 24 +++++++---- .../androidx/media3/transformer/Muxer.java | 9 ++--- .../media3/transformer/MuxerWrapper.java | 40 +++++++++++++++++-- .../media3/transformer/Transformer.java | 18 +++++---- .../media3/transformer/TestMuxer.java | 3 +- .../transformer/TransformerEndToEndTest.java | 4 +- 7 files changed, 72 insertions(+), 31 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java index 16457bbbd6c..fd7d2cb53f8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/DefaultMuxer.java @@ -20,7 +20,6 @@ import androidx.media3.common.Format; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; -import java.io.IOException; import java.nio.ByteBuffer; /** A default {@link Muxer} implementation. */ @@ -53,12 +52,12 @@ public Factory(long maxDelayBetweenSamplesMs) { } @Override - public Muxer create(String path) throws IOException { + public Muxer create(String path) throws MuxerException { return new DefaultMuxer(muxerFactory.create(path)); } @Override - public Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException { + public Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws MuxerException { return new DefaultMuxer(muxerFactory.create(parcelFileDescriptor)); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java index ae710c33468..29a7968611c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java @@ -63,18 +63,28 @@ public Factory(long maxDelayBetweenSamplesMs) { } @Override - public FrameworkMuxer create(String path) throws IOException { - MediaMuxer mediaMuxer = new MediaMuxer(path, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); + public FrameworkMuxer create(String path) throws MuxerException { + MediaMuxer mediaMuxer; + try { + mediaMuxer = new MediaMuxer(path, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); + } catch (IOException e) { + throw new MuxerException("Error creating muxer", e); + } return new FrameworkMuxer(mediaMuxer, maxDelayBetweenSamplesMs); } @RequiresApi(26) @Override - public FrameworkMuxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException { - MediaMuxer mediaMuxer = - new MediaMuxer( - parcelFileDescriptor.getFileDescriptor(), - MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); + public FrameworkMuxer create(ParcelFileDescriptor parcelFileDescriptor) throws MuxerException { + MediaMuxer mediaMuxer; + try { + mediaMuxer = + new MediaMuxer( + parcelFileDescriptor.getFileDescriptor(), + MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4); + } catch (IOException e) { + throw new MuxerException("Error creating muxer", e); + } return new FrameworkMuxer(mediaMuxer, maxDelayBetweenSamplesMs); } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java index 1bf8c4c77c5..be0b0de1ef7 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Muxer.java @@ -21,7 +21,6 @@ import androidx.media3.common.MimeTypes; import androidx.media3.common.util.UnstableApi; import com.google.common.collect.ImmutableList; -import java.io.IOException; import java.nio.ByteBuffer; /** @@ -57,9 +56,9 @@ interface Factory { * * @param path The path to the output file. * @throws IllegalArgumentException If the path is invalid. - * @throws IOException If an error occurs opening the output file for writing. + * @throws MuxerException If an error occurs opening the output file for writing. */ - Muxer create(String path) throws IOException; + Muxer create(String path) throws MuxerException; /** * Returns a new muxer writing to a file descriptor. @@ -69,9 +68,9 @@ interface Factory { * muxer is released. It is the responsibility of the caller to close the * ParcelFileDescriptor. This can be done after this method returns. * @throws IllegalArgumentException If the file descriptor is invalid. - * @throws IOException If an error occurs opening the output file descriptor for writing. + * @throws MuxerException If an error occurs opening the output file descriptor for writing. */ - Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException; + Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws MuxerException; /** * Returns the supported sample {@linkplain MimeTypes MIME types} for the given {@link diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index 9f8a8544497..f22b8668fa3 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -16,11 +16,13 @@ package androidx.media3.transformer; +import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; import static androidx.media3.common.util.Util.maxValue; import static androidx.media3.common.util.Util.minValue; import static java.util.concurrent.TimeUnit.MILLISECONDS; +import android.os.ParcelFileDescriptor; import android.util.SparseIntArray; import android.util.SparseLongArray; import androidx.annotation.Nullable; @@ -33,7 +35,9 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledFuture; +import org.checkerframework.checker.nullness.qual.EnsuresNonNull; import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; /** * A wrapper around a media muxer. @@ -50,7 +54,8 @@ */ private static final long MAX_TRACK_WRITE_AHEAD_US = Util.msToUs(500); - private final Muxer muxer; + @Nullable private final String outputPath; + @Nullable private final ParcelFileDescriptor outputParcelFileDescriptor; private final Muxer.Factory muxerFactory; private final Transformer.AsyncErrorListener asyncErrorListener; private final SparseIntArray trackTypeToIndex; @@ -66,10 +71,19 @@ private long minTrackTimeUs; private @MonotonicNonNull ScheduledFuture abortScheduledFuture; private boolean isAborted; + private @MonotonicNonNull Muxer muxer; public MuxerWrapper( - Muxer muxer, Muxer.Factory muxerFactory, Transformer.AsyncErrorListener asyncErrorListener) { - this.muxer = muxer; + @Nullable String outputPath, + @Nullable ParcelFileDescriptor outputParcelFileDescriptor, + Muxer.Factory muxerFactory, + Transformer.AsyncErrorListener asyncErrorListener) { + if (outputPath == null && outputParcelFileDescriptor == null) { + throw new NullPointerException("Both output path and ParcelFileDescriptor are null"); + } + + this.outputPath = outputPath; + this.outputParcelFileDescriptor = outputParcelFileDescriptor; this.muxerFactory = muxerFactory; this.asyncErrorListener = asyncErrorListener; @@ -135,6 +149,8 @@ public void addTrackFormat(Format format) throws Muxer.MuxerException { trackTypeToIndex.get(trackType, /* valueIfKeyNotFound= */ C.INDEX_UNSET) == C.INDEX_UNSET, "There is already a track of type " + trackType); + ensureMuxerInitialized(); + int trackIndex = muxer.addTrack(format); trackTypeToIndex.put(trackType, trackIndex); trackTypeToSampleCount.put(trackType, 0); @@ -181,6 +197,7 @@ public boolean writeSample( trackTypeToTimeUs.put(trackType, presentationTimeUs); } + checkNotNull(muxer); resetAbortTimer(); muxer.writeSampleData(trackIndex, data, isKeyFrame, presentationTimeUs); previousTrackType = trackType; @@ -213,7 +230,9 @@ public void endTrack(@C.TrackType int trackType) { public void release(boolean forCancellation) throws Muxer.MuxerException { isReady = false; abortScheduledExecutorService.shutdownNow(); - muxer.release(forCancellation); + if (muxer != null) { + muxer.release(forCancellation); + } } /** Returns the number of {@link #registerTrack() registered} tracks. */ @@ -276,6 +295,7 @@ private boolean canWriteSampleOfType(int trackType) { return trackTimeUs - minTrackTimeUs <= MAX_TRACK_WRITE_AHEAD_US; } + @RequiresNonNull("muxer") private void resetAbortTimer() { long maxDelayBetweenSamplesMs = muxer.getMaxDelayBetweenSamplesMs(); if (maxDelayBetweenSamplesMs == C.TIME_UNSET) { @@ -302,4 +322,16 @@ private void resetAbortTimer() { maxDelayBetweenSamplesMs, MILLISECONDS); } + + @EnsuresNonNull("muxer") + private void ensureMuxerInitialized() throws Muxer.MuxerException { + if (muxer == null) { + if (outputPath != null) { + muxer = muxerFactory.create(outputPath); + } else { + checkNotNull(outputParcelFileDescriptor); + muxer = muxerFactory.create(outputParcelFileDescriptor); + } + } + } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index af2c8a77218..9900bb1f6e8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -677,7 +677,7 @@ public void removeAllListeners() { * @throws IllegalArgumentException If the path is invalid. * @throws IllegalStateException If this method is called from the wrong thread. * @throws IllegalStateException If a transformation is already in progress. - * @throws IOException If an error occurs opening the output file for writing. + * @throws IOException If {@link MediaItem} is not supported. */ public void startTransformation(MediaItem mediaItem, String path) throws IOException { if (!mediaItem.clippingConfiguration.equals(MediaItem.ClippingConfiguration.UNSET) @@ -688,7 +688,7 @@ public void startTransformation(MediaItem mediaItem, String path) throws IOExcep } this.outputPath = path; this.outputParcelFileDescriptor = null; - startTransformation(mediaItem, muxerFactory.create(path)); + startTransformationInternal(mediaItem); } /** @@ -711,24 +711,26 @@ public void startTransformation(MediaItem mediaItem, String path) throws IOExcep * @throws IllegalArgumentException If the file descriptor is invalid. * @throws IllegalStateException If this method is called from the wrong thread. * @throws IllegalStateException If a transformation is already in progress. - * @throws IOException If an error occurs opening the output file for writing. */ @RequiresApi(26) - public void startTransformation(MediaItem mediaItem, ParcelFileDescriptor parcelFileDescriptor) - throws IOException { + public void startTransformation(MediaItem mediaItem, ParcelFileDescriptor parcelFileDescriptor) { this.outputParcelFileDescriptor = parcelFileDescriptor; this.outputPath = null; - startTransformation(mediaItem, muxerFactory.create(parcelFileDescriptor)); + startTransformationInternal(mediaItem); } - private void startTransformation(MediaItem mediaItem, Muxer muxer) { + private void startTransformationInternal(MediaItem mediaItem) { verifyApplicationThread(); if (player != null) { throw new IllegalStateException("There is already a transformation in progress."); } TransformerPlayerListener playerListener = new TransformerPlayerListener(mediaItem, looper); MuxerWrapper muxerWrapper = - new MuxerWrapper(muxer, muxerFactory, /* asyncErrorListener= */ playerListener); + new MuxerWrapper( + outputPath, + outputParcelFileDescriptor, + muxerFactory, + /* asyncErrorListener= */ playerListener); this.muxerWrapper = muxerWrapper; DefaultTrackSelector trackSelector = new DefaultTrackSelector(context); trackSelector.setParameters( diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java index 24a59ae3c68..547a619a956 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TestMuxer.java @@ -18,7 +18,6 @@ import androidx.media3.common.Format; import androidx.media3.test.utils.DumpableFormat; import androidx.media3.test.utils.Dumper; -import java.io.IOException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; @@ -35,7 +34,7 @@ public final class TestMuxer implements Muxer, Dumper.Dumpable { private final List dumpables; /** Creates a new test muxer. */ - public TestMuxer(String path, Muxer.Factory muxerFactory) throws IOException { + public TestMuxer(String path, Muxer.Factory muxerFactory) throws MuxerException { muxer = muxerFactory.create(path); dumpables = new ArrayList<>(); } diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index 224958ea5f1..24f83e22e03 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -912,13 +912,13 @@ public TestMuxerFactory(long maxDelayBetweenSamplesMs) { } @Override - public Muxer create(String path) throws IOException { + public Muxer create(String path) throws Muxer.MuxerException { testMuxer = new TestMuxer(path, defaultMuxerFactory); return testMuxer; } @Override - public Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws IOException { + public Muxer create(ParcelFileDescriptor parcelFileDescriptor) throws Muxer.MuxerException { testMuxer = new TestMuxer("FD:" + parcelFileDescriptor.getFd(), defaultMuxerFactory); return testMuxer; } From 9dfa32fe8490ec5c1070429d614e3133fed92403 Mon Sep 17 00:00:00 2001 From: kimvde Date: Tue, 8 Nov 2022 07:25:42 +0000 Subject: [PATCH 386/422] Move muxing inside sample pipelines This logic is currently in the player renderers. With multi-asset, the renderers will go into the AssetLoader, which shouldn't be responsible for muxing. PiperOrigin-RevId: 486860502 (cherry picked from commit 61471474c7441d60a5d452d9acd8a1a2a1c88ca6) --- .../AudioTranscodingSamplePipeline.java | 40 ++++--- .../transformer/BaseSamplePipeline.java | 111 ++++++++++++++++++ .../PassthroughSamplePipeline.java | 26 ++-- .../media3/transformer/SamplePipeline.java | 16 --- .../transformer/TransformerAudioRenderer.java | 10 +- .../transformer/TransformerBaseRenderer.java | 56 +-------- .../transformer/TransformerVideoRenderer.java | 10 +- .../VideoTranscodingSamplePipeline.java | 33 +++--- 8 files changed, 185 insertions(+), 117 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java index 0cc7811235f..eac72008380 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java @@ -28,14 +28,13 @@ import androidx.media3.common.util.Util; import androidx.media3.decoder.DecoderInputBuffer; import java.nio.ByteBuffer; -import java.util.List; import org.checkerframework.checker.nullness.qual.RequiresNonNull; import org.checkerframework.dataflow.qual.Pure; /** * Pipeline to decode audio samples, apply transformations on the raw samples, and re-encode them. */ -/* package */ final class AudioTranscodingSamplePipeline implements SamplePipeline { +/* package */ final class AudioTranscodingSamplePipeline extends BaseSamplePipeline { private static final int DEFAULT_ENCODER_BITRATE = 128 * 1024; @@ -57,12 +56,15 @@ public AudioTranscodingSamplePipeline( Format inputFormat, long streamOffsetUs, + long streamStartPositionUs, TransformationRequest transformationRequest, Codec.DecoderFactory decoderFactory, Codec.EncoderFactory encoderFactory, - List allowedOutputMimeTypes, + MuxerWrapper muxerWrapper, FallbackListener fallbackListener) throws TransformationException { + super(C.TRACK_TYPE_AUDIO, streamStartPositionUs, muxerWrapper); + decoderInputBuffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); encoderInputBuffer = @@ -104,7 +106,9 @@ public AudioTranscodingSamplePipeline( .setChannelCount(encoderInputAudioFormat.channelCount) .setAverageBitrate(DEFAULT_ENCODER_BITRATE) .build(); - encoder = encoderFactory.createForAudioEncoding(requestedOutputFormat, allowedOutputMimeTypes); + encoder = + encoderFactory.createForAudioEncoding( + requestedOutputFormat, muxerWrapper.getSupportedSampleMimeTypes(C.TRACK_TYPE_AUDIO)); fallbackListener.onTransformationRequestFinalized( createFallbackTransformationRequest( @@ -126,7 +130,16 @@ public void queueInputBuffer() throws TransformationException { } @Override - public boolean processData() throws TransformationException { + public void release() { + if (speedChangingAudioProcessor != null) { + speedChangingAudioProcessor.reset(); + } + decoder.release(); + encoder.release(); + } + + @Override + protected boolean processDataUpToMuxer() throws TransformationException { if (speedChangingAudioProcessor != null) { return feedEncoderFromProcessor() || feedProcessorFromDecoder(); } else { @@ -136,13 +149,13 @@ public boolean processData() throws TransformationException { @Override @Nullable - public Format getOutputFormat() throws TransformationException { + protected Format getMuxerInputFormat() throws TransformationException { return encoder.getOutputFormat(); } @Override @Nullable - public DecoderInputBuffer getOutputBuffer() throws TransformationException { + protected DecoderInputBuffer getMuxerInputBuffer() throws TransformationException { encoderOutputBuffer.data = encoder.getOutputBuffer(); if (encoderOutputBuffer.data == null) { return null; @@ -153,24 +166,15 @@ public DecoderInputBuffer getOutputBuffer() throws TransformationException { } @Override - public void releaseOutputBuffer() throws TransformationException { + protected void releaseMuxerInputBuffer() throws TransformationException { encoder.releaseOutputBuffer(/* render= */ false); } @Override - public boolean isEnded() { + protected boolean isMuxerInputEnded() { return encoder.isEnded(); } - @Override - public void release() { - if (speedChangingAudioProcessor != null) { - speedChangingAudioProcessor.reset(); - } - decoder.release(); - encoder.release(); - } - /** * Attempts to pass decoder output data to the encoder, and returns whether it may be possible to * pass more data immediately by calling this method again. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java new file mode 100644 index 00000000000..62b2097f066 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java @@ -0,0 +1,111 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkStateNotNull; + +import androidx.annotation.Nullable; +import androidx.media3.common.Format; +import androidx.media3.decoder.DecoderInputBuffer; + +/* package */ abstract class BaseSamplePipeline implements SamplePipeline { + + private final int trackType; + private final long streamStartPositionUs; + private final MuxerWrapper muxerWrapper; + + private boolean muxerWrapperTrackAdded; + private boolean isEnded; + + public BaseSamplePipeline(int trackType, long streamStartPositionUs, MuxerWrapper muxerWrapper) { + this.trackType = trackType; + this.streamStartPositionUs = streamStartPositionUs; + this.muxerWrapper = muxerWrapper; + } + + @Override + public boolean processData() throws TransformationException { + return feedMuxer() || processDataUpToMuxer(); + } + + @Override + public boolean isEnded() { + return isEnded; + } + + protected abstract boolean processDataUpToMuxer() throws TransformationException; + + @Nullable + protected abstract Format getMuxerInputFormat() throws TransformationException; + + @Nullable + protected abstract DecoderInputBuffer getMuxerInputBuffer() throws TransformationException; + + protected abstract void releaseMuxerInputBuffer() throws TransformationException; + + protected abstract boolean isMuxerInputEnded(); + + /** + * Attempts to pass encoded data to the muxer, and returns whether it may be possible to pass more + * data immediately by calling this method again. + */ + private boolean feedMuxer() throws TransformationException { + if (!muxerWrapperTrackAdded) { + @Nullable Format inputFormat = getMuxerInputFormat(); + if (inputFormat == null) { + return false; + } + try { + muxerWrapper.addTrackFormat(inputFormat); + } catch (Muxer.MuxerException e) { + throw TransformationException.createForMuxer( + e, TransformationException.ERROR_CODE_MUXING_FAILED); + } + muxerWrapperTrackAdded = true; + } + + if (isMuxerInputEnded()) { + muxerWrapper.endTrack(trackType); + isEnded = true; + return false; + } + + @Nullable DecoderInputBuffer muxerInputBuffer = getMuxerInputBuffer(); + if (muxerInputBuffer == null) { + return false; + } + + long samplePresentationTimeUs = muxerInputBuffer.timeUs - streamStartPositionUs; + // TODO(b/204892224): Consider subtracting the first sample timestamp from the sample pipeline + // buffer from all samples so that they are guaranteed to start from zero in the output file. + try { + if (!muxerWrapper.writeSample( + trackType, + checkStateNotNull(muxerInputBuffer.data), + muxerInputBuffer.isKeyFrame(), + samplePresentationTimeUs)) { + return false; + } + } catch (Muxer.MuxerException e) { + throw TransformationException.createForMuxer( + e, TransformationException.ERROR_CODE_MUXING_FAILED); + } + + releaseMuxerInputBuffer(); + return true; + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java index f2387ace366..00eea6f90af 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java @@ -18,10 +18,11 @@ import androidx.annotation.Nullable; import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; import androidx.media3.decoder.DecoderInputBuffer; /** Pipeline that passes through the samples without any re-encoding or transformation. */ -/* package */ final class PassthroughSamplePipeline implements SamplePipeline { +/* package */ final class PassthroughSamplePipeline extends BaseSamplePipeline { private final DecoderInputBuffer buffer; private final Format format; @@ -30,8 +31,11 @@ public PassthroughSamplePipeline( Format format, + long streamStartPositionUs, TransformationRequest transformationRequest, + MuxerWrapper muxerWrapper, FallbackListener fallbackListener) { + super(MimeTypes.getTrackType(format.sampleMimeType), streamStartPositionUs, muxerWrapper); this.format = format; buffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DIRECT); hasPendingBuffer = false; @@ -46,36 +50,38 @@ public DecoderInputBuffer dequeueInputBuffer() { @Override public void queueInputBuffer() { - hasPendingBuffer = true; + if (buffer.data != null && buffer.data.hasRemaining()) { + hasPendingBuffer = true; + } } @Override - public boolean processData() { + public void release() {} + + @Override + protected boolean processDataUpToMuxer() { return false; } @Override - public Format getOutputFormat() { + protected Format getMuxerInputFormat() { return format; } @Override @Nullable - public DecoderInputBuffer getOutputBuffer() { + protected DecoderInputBuffer getMuxerInputBuffer() { return hasPendingBuffer ? buffer : null; } @Override - public void releaseOutputBuffer() { + protected void releaseMuxerInputBuffer() { buffer.clear(); hasPendingBuffer = false; } @Override - public boolean isEnded() { + protected boolean isMuxerInputEnded() { return buffer.isEndOfStream(); } - - @Override - public void release() {} } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SamplePipeline.java index 63ec1e8c752..7ae4257c5ed 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/SamplePipeline.java @@ -17,7 +17,6 @@ package androidx.media3.transformer; import androidx.annotation.Nullable; -import androidx.media3.common.Format; import androidx.media3.decoder.DecoderInputBuffer; /** @@ -45,21 +44,6 @@ */ boolean processData() throws TransformationException; - /** Returns the output format of the pipeline if available, and {@code null} otherwise. */ - @Nullable - Format getOutputFormat() throws TransformationException; - - /** Returns an output buffer if the pipeline has produced output, and {@code null} otherwise */ - @Nullable - DecoderInputBuffer getOutputBuffer() throws TransformationException; - - /** - * Releases the pipeline's output buffer. - * - *

      Should be called when the output buffer from {@link #getOutputBuffer()} is no longer needed. - */ - void releaseOutputBuffer() throws TransformationException; - /** Returns whether the pipeline has ended. */ boolean isEnded(); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java index b7bad84ae56..732c06995f4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java @@ -77,16 +77,22 @@ protected boolean ensureConfigured() throws TransformationException { Format inputFormat = checkNotNull(formatHolder.format); if (shouldPassthrough(inputFormat)) { samplePipeline = - new PassthroughSamplePipeline(inputFormat, transformationRequest, fallbackListener); + new PassthroughSamplePipeline( + inputFormat, + streamStartPositionUs, + transformationRequest, + muxerWrapper, + fallbackListener); } else { samplePipeline = new AudioTranscodingSamplePipeline( inputFormat, streamOffsetUs, + streamStartPositionUs, transformationRequest, decoderFactory, encoderFactory, - muxerWrapper.getSupportedSampleMimeTypes(getTrackType()), + muxerWrapper, fallbackListener); } return true; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java index 4cde06566b1..aa27f48486e 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java @@ -41,8 +41,6 @@ protected final FallbackListener fallbackListener; private boolean isTransformationRunning; - private boolean muxerWrapperTrackAdded; - private boolean muxerWrapperTrackEnded; protected long streamOffsetUs; protected long streamStartPositionUs; protected @MonotonicNonNull SamplePipeline samplePipeline; @@ -88,7 +86,7 @@ public final boolean isReady() { @Override public final boolean isEnded() { - return muxerWrapperTrackEnded; + return samplePipeline != null && samplePipeline.isEnded(); } @Override @@ -98,15 +96,10 @@ public final void render(long positionUs, long elapsedRealtimeUs) { return; } - while (feedMuxerFromPipeline() || samplePipeline.processData() || feedPipelineFromInput()) {} + while (samplePipeline.processData() || feedPipelineFromInput()) {} } catch (TransformationException e) { isTransformationRunning = false; asyncErrorListener.onTransformationException(e); - } catch (Muxer.MuxerException e) { - isTransformationRunning = false; - asyncErrorListener.onTransformationException( - TransformationException.createForMuxer( - e, TransformationException.ERROR_CODE_MUXING_FAILED)); } } @@ -138,8 +131,6 @@ protected final void onReset() { if (samplePipeline != null) { samplePipeline.release(); } - muxerWrapperTrackAdded = false; - muxerWrapperTrackEnded = false; } @ForOverride @@ -152,49 +143,6 @@ protected void maybeQueueSampleToPipeline(DecoderInputBuffer inputBuffer) samplePipeline.queueInputBuffer(); } - /** - * Attempts to write sample pipeline output data to the muxer. - * - * @return Whether it may be possible to write more data immediately by calling this method again. - * @throws Muxer.MuxerException If a muxing problem occurs. - * @throws TransformationException If a {@link SamplePipeline} problem occurs. - */ - @RequiresNonNull("samplePipeline") - private boolean feedMuxerFromPipeline() throws Muxer.MuxerException, TransformationException { - if (!muxerWrapperTrackAdded) { - @Nullable Format samplePipelineOutputFormat = samplePipeline.getOutputFormat(); - if (samplePipelineOutputFormat == null) { - return false; - } - muxerWrapperTrackAdded = true; - muxerWrapper.addTrackFormat(samplePipelineOutputFormat); - } - - if (samplePipeline.isEnded()) { - muxerWrapper.endTrack(getTrackType()); - muxerWrapperTrackEnded = true; - return false; - } - - @Nullable DecoderInputBuffer samplePipelineOutputBuffer = samplePipeline.getOutputBuffer(); - if (samplePipelineOutputBuffer == null) { - return false; - } - - long samplePresentationTimeUs = samplePipelineOutputBuffer.timeUs - streamStartPositionUs; - // TODO(b/204892224): Consider subtracting the first sample timestamp from the sample pipeline - // buffer from all samples so that they are guaranteed to start from zero in the output file. - if (!muxerWrapper.writeSample( - getTrackType(), - checkStateNotNull(samplePipelineOutputBuffer.data), - samplePipelineOutputBuffer.isKeyFrame(), - samplePresentationTimeUs)) { - return false; - } - samplePipeline.releaseOutputBuffer(); - return true; - } - /** * Attempts to read input data and pass the input data to the sample pipeline. * diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 79ce5848dab..177730f4755 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -103,18 +103,24 @@ protected boolean ensureConfigured() throws TransformationException { context, inputFormat, streamOffsetUs, + streamStartPositionUs, transformationRequest, effects, frameProcessorFactory, decoderFactory, encoderFactory, - muxerWrapper.getSupportedSampleMimeTypes(getTrackType()), + muxerWrapper, fallbackListener, asyncErrorListener, debugViewProvider); } else { samplePipeline = - new PassthroughSamplePipeline(inputFormat, transformationRequest, fallbackListener); + new PassthroughSamplePipeline( + inputFormat, + streamStartPositionUs, + transformationRequest, + muxerWrapper, + fallbackListener); } if (transformationRequest.flattenForSlowMotion) { sefSlowMotionFlattener = new SefSlowMotionFlattener(inputFormat); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index 111e6329b9a..e89b515e775 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -50,7 +50,7 @@ /** * Pipeline to decode video samples, apply transformations on the raw samples, and re-encode them. */ -/* package */ final class VideoTranscodingSamplePipeline implements SamplePipeline { +/* package */ final class VideoTranscodingSamplePipeline extends BaseSamplePipeline { private final int maxPendingFrameCount; @@ -67,16 +67,19 @@ public VideoTranscodingSamplePipeline( Context context, Format inputFormat, long streamOffsetUs, + long streamStartPositionUs, TransformationRequest transformationRequest, ImmutableList effects, FrameProcessor.Factory frameProcessorFactory, Codec.DecoderFactory decoderFactory, Codec.EncoderFactory encoderFactory, - List allowedOutputMimeTypes, + MuxerWrapper muxerWrapper, FallbackListener fallbackListener, Transformer.AsyncErrorListener asyncErrorListener, DebugViewProvider debugViewProvider) throws TransformationException { + super(C.TRACK_TYPE_VIDEO, streamStartPositionUs, muxerWrapper); + if (ColorInfo.isTransferHdr(inputFormat.colorInfo) && (SDK_INT < 31 || deviceNeedsNoToneMappingWorkaround())) { throw TransformationException.createForCodec( @@ -119,7 +122,7 @@ public VideoTranscodingSamplePipeline( new EncoderWrapper( encoderFactory, inputFormat, - allowedOutputMimeTypes, + muxerWrapper.getSupportedSampleMimeTypes(C.TRACK_TYPE_VIDEO), transformationRequest, fallbackListener); @@ -199,7 +202,14 @@ public void queueInputBuffer() throws TransformationException { } @Override - public boolean processData() throws TransformationException { + public void release() { + frameProcessor.release(); + decoder.release(); + encoderWrapper.release(); + } + + @Override + protected boolean processDataUpToMuxer() throws TransformationException { if (decoder.isEnded()) { return false; } @@ -217,13 +227,13 @@ public boolean processData() throws TransformationException { @Override @Nullable - public Format getOutputFormat() throws TransformationException { + protected Format getMuxerInputFormat() throws TransformationException { return encoderWrapper.getOutputFormat(); } @Override @Nullable - public DecoderInputBuffer getOutputBuffer() throws TransformationException { + protected DecoderInputBuffer getMuxerInputBuffer() throws TransformationException { encoderOutputBuffer.data = encoderWrapper.getOutputBuffer(); if (encoderOutputBuffer.data == null) { return null; @@ -235,22 +245,15 @@ public DecoderInputBuffer getOutputBuffer() throws TransformationException { } @Override - public void releaseOutputBuffer() throws TransformationException { + protected void releaseMuxerInputBuffer() throws TransformationException { encoderWrapper.releaseOutputBuffer(/* render= */ false); } @Override - public boolean isEnded() { + protected boolean isMuxerInputEnded() { return encoderWrapper.isEnded(); } - @Override - public void release() { - frameProcessor.release(); - decoder.release(); - encoderWrapper.release(); - } - /** * Creates a {@link TransformationRequest}, based on an original {@code TransformationRequest} and * parameters specifying alterations to it that indicate device support. From 54d724cf2625e6970494f28d91e63e09bdc17de6 Mon Sep 17 00:00:00 2001 From: bachinger Date: Tue, 8 Nov 2022 17:13:56 +0000 Subject: [PATCH 387/422] Set targetSdkVersion of main demo app back to 29 #minor-release PiperOrigin-RevId: 486969194 (cherry picked from commit c40cee67da2723849add8444bd67fc5e2a3a61e2) --- constants.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/constants.gradle b/constants.gradle index d7e1743e546..1d11c36c507 100644 --- a/constants.gradle +++ b/constants.gradle @@ -16,6 +16,9 @@ project.ext { releaseVersionCode = 1_000_000_1_02 minSdkVersion = 16 appTargetSdkVersion = 33 + // API version before restricting local file access. + // https://developer.android.com/training/data-storage/app-specific + mainDemoAppTargetSdkVersion = 29 // Upgrading this requires [Internal ref: b/193254928] to be fixed, or some // additional robolectric config. targetSdkVersion = 30 From 5976955241728725bdbab5189860c7b8b79f7270 Mon Sep 17 00:00:00 2001 From: kimvde Date: Wed, 9 Nov 2022 08:25:53 +0000 Subject: [PATCH 388/422] Move slow mo logic to sample pipelines This is to avoid having this logic in TransformerInternal once it is added. PiperOrigin-RevId: 487159941 (cherry picked from commit 714e5565053ad48ec23b1f1640851a1e784a6726) --- .../AudioTranscodingSamplePipeline.java | 29 ++++---- .../transformer/BaseSamplePipeline.java | 71 ++++++++++++++++++- .../PassthroughSamplePipeline.java | 20 +++--- .../transformer/TransformerAudioRenderer.java | 1 + .../transformer/TransformerBaseRenderer.java | 11 +-- .../transformer/TransformerVideoRenderer.java | 37 +--------- .../VideoTranscodingSamplePipeline.java | 25 ++++--- 7 files changed, 115 insertions(+), 79 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java index eac72008380..17259608fd4 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/AudioTranscodingSamplePipeline.java @@ -63,7 +63,12 @@ public AudioTranscodingSamplePipeline( MuxerWrapper muxerWrapper, FallbackListener fallbackListener) throws TransformationException { - super(C.TRACK_TYPE_AUDIO, streamStartPositionUs, muxerWrapper); + super( + inputFormat, + streamOffsetUs, + streamStartPositionUs, + transformationRequest.flattenForSlowMotion, + muxerWrapper); decoderInputBuffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DISABLED); @@ -118,17 +123,6 @@ public AudioTranscodingSamplePipeline( nextEncoderInputBufferTimeUs = streamOffsetUs; } - @Override - @Nullable - public DecoderInputBuffer dequeueInputBuffer() throws TransformationException { - return decoder.maybeDequeueInputBuffer(decoderInputBuffer) ? decoderInputBuffer : null; - } - - @Override - public void queueInputBuffer() throws TransformationException { - decoder.queueInputBuffer(decoderInputBuffer); - } - @Override public void release() { if (speedChangingAudioProcessor != null) { @@ -138,6 +132,17 @@ public void release() { encoder.release(); } + @Override + @Nullable + protected DecoderInputBuffer dequeueInputBufferInternal() throws TransformationException { + return decoder.maybeDequeueInputBuffer(decoderInputBuffer) ? decoderInputBuffer : null; + } + + @Override + protected void queueInputBufferInternal() throws TransformationException { + decoder.queueInputBuffer(decoderInputBuffer); + } + @Override protected boolean processDataUpToMuxer() throws TransformationException { if (speedChangingAudioProcessor != null) { diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java index 62b2097f066..ff6e94aae20 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/BaseSamplePipeline.java @@ -16,25 +16,60 @@ package androidx.media3.transformer; +import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkStateNotNull; import androidx.annotation.Nullable; +import androidx.media3.common.C; import androidx.media3.common.Format; +import androidx.media3.common.MimeTypes; import androidx.media3.decoder.DecoderInputBuffer; +import java.nio.ByteBuffer; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; +import org.checkerframework.checker.nullness.qual.RequiresNonNull; /* package */ abstract class BaseSamplePipeline implements SamplePipeline { - private final int trackType; + private final long streamOffsetUs; private final long streamStartPositionUs; private final MuxerWrapper muxerWrapper; + private final @C.TrackType int trackType; + private final @MonotonicNonNull SefSlowMotionFlattener sefVideoSlowMotionFlattener; + @Nullable private DecoderInputBuffer inputBuffer; private boolean muxerWrapperTrackAdded; private boolean isEnded; - public BaseSamplePipeline(int trackType, long streamStartPositionUs, MuxerWrapper muxerWrapper) { - this.trackType = trackType; + public BaseSamplePipeline( + Format inputFormat, + long streamOffsetUs, + long streamStartPositionUs, + boolean flattenForSlowMotion, + MuxerWrapper muxerWrapper) { + this.streamOffsetUs = streamOffsetUs; this.streamStartPositionUs = streamStartPositionUs; this.muxerWrapper = muxerWrapper; + trackType = MimeTypes.getTrackType(inputFormat.sampleMimeType); + sefVideoSlowMotionFlattener = + flattenForSlowMotion && trackType == C.TRACK_TYPE_VIDEO + ? new SefSlowMotionFlattener(inputFormat) + : null; + } + + @Nullable + @Override + public DecoderInputBuffer dequeueInputBuffer() throws TransformationException { + inputBuffer = dequeueInputBufferInternal(); + return inputBuffer; + } + + @Override + public void queueInputBuffer() throws TransformationException { + checkNotNull(inputBuffer); + checkNotNull(inputBuffer.data); + if (!shouldDropInputBuffer()) { + queueInputBufferInternal(); + } } @Override @@ -47,6 +82,11 @@ public boolean isEnded() { return isEnded; } + @Nullable + protected abstract DecoderInputBuffer dequeueInputBufferInternal() throws TransformationException; + + protected abstract void queueInputBufferInternal() throws TransformationException; + protected abstract boolean processDataUpToMuxer() throws TransformationException; @Nullable @@ -59,6 +99,31 @@ public boolean isEnded() { protected abstract boolean isMuxerInputEnded(); + /** + * Preprocesses an {@linkplain DecoderInputBuffer input buffer} queued to the pipeline and returns + * whether it should be dropped. + */ + @RequiresNonNull({"inputBuffer", "inputBuffer.data"}) + private boolean shouldDropInputBuffer() { + ByteBuffer inputBytes = inputBuffer.data; + + if (sefVideoSlowMotionFlattener == null || inputBuffer.isEndOfStream()) { + return false; + } + + long presentationTimeUs = inputBuffer.timeUs - streamOffsetUs; + DecoderInputBuffer inputBuffer = this.inputBuffer; + boolean shouldDropInputBuffer = + sefVideoSlowMotionFlattener.dropOrTransformSample(inputBytes, presentationTimeUs); + if (shouldDropInputBuffer) { + inputBytes.clear(); + } else { + inputBuffer.timeUs = + streamOffsetUs + sefVideoSlowMotionFlattener.getSamplePresentationTimeUs(); + } + return shouldDropInputBuffer; + } + /** * Attempts to pass encoded data to the muxer, and returns whether it may be possible to pass more * data immediately by calling this method again. diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java index 00eea6f90af..a49927a9298 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/PassthroughSamplePipeline.java @@ -18,7 +18,6 @@ import androidx.annotation.Nullable; import androidx.media3.common.Format; -import androidx.media3.common.MimeTypes; import androidx.media3.decoder.DecoderInputBuffer; /** Pipeline that passes through the samples without any re-encoding or transformation. */ @@ -31,33 +30,38 @@ public PassthroughSamplePipeline( Format format, + long streamOffsetUs, long streamStartPositionUs, TransformationRequest transformationRequest, MuxerWrapper muxerWrapper, FallbackListener fallbackListener) { - super(MimeTypes.getTrackType(format.sampleMimeType), streamStartPositionUs, muxerWrapper); + super( + format, + streamOffsetUs, + streamStartPositionUs, + transformationRequest.flattenForSlowMotion, + muxerWrapper); this.format = format; buffer = new DecoderInputBuffer(DecoderInputBuffer.BUFFER_REPLACEMENT_MODE_DIRECT); - hasPendingBuffer = false; fallbackListener.onTransformationRequestFinalized(transformationRequest); } + @Override + public void release() {} + @Override @Nullable - public DecoderInputBuffer dequeueInputBuffer() { + protected DecoderInputBuffer dequeueInputBufferInternal() { return hasPendingBuffer ? null : buffer; } @Override - public void queueInputBuffer() { + protected void queueInputBufferInternal() { if (buffer.data != null && buffer.data.hasRemaining()) { hasPendingBuffer = true; } } - @Override - public void release() {} - @Override protected boolean processDataUpToMuxer() { return false; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java index 732c06995f4..f998f4a2696 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerAudioRenderer.java @@ -79,6 +79,7 @@ protected boolean ensureConfigured() throws TransformationException { samplePipeline = new PassthroughSamplePipeline( inputFormat, + streamOffsetUs, streamStartPositionUs, transformationRequest, muxerWrapper, diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java index aa27f48486e..0a54b43d770 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java @@ -16,8 +16,6 @@ package androidx.media3.transformer; -import static androidx.media3.common.util.Assertions.checkStateNotNull; - import androidx.annotation.Nullable; import androidx.media3.common.C; import androidx.media3.common.Format; @@ -137,12 +135,6 @@ protected final void onReset() { @EnsuresNonNullIf(expression = "samplePipeline", result = true) protected abstract boolean ensureConfigured() throws TransformationException; - @RequiresNonNull({"samplePipeline", "#1.data"}) - protected void maybeQueueSampleToPipeline(DecoderInputBuffer inputBuffer) - throws TransformationException { - samplePipeline.queueInputBuffer(); - } - /** * Attempts to read input data and pass the input data to the sample pipeline. * @@ -166,8 +158,7 @@ private boolean feedPipelineFromInput() throws TransformationException { return false; } mediaClock.updateTimeForTrackType(getTrackType(), samplePipelineInputBuffer.timeUs); - checkStateNotNull(samplePipelineInputBuffer.data); - maybeQueueSampleToPipeline(samplePipelineInputBuffer); + samplePipeline.queueInputBuffer(); return true; case C.RESULT_FORMAT_READ: throw new IllegalStateException("Format changes are not supported."); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java index 177730f4755..3091cafc37c 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerVideoRenderer.java @@ -29,9 +29,6 @@ import androidx.media3.exoplayer.FormatHolder; import androidx.media3.exoplayer.source.SampleStream.ReadDataResult; import com.google.common.collect.ImmutableList; -import java.nio.ByteBuffer; -import org.checkerframework.checker.nullness.qual.MonotonicNonNull; -import org.checkerframework.checker.nullness.qual.RequiresNonNull; /* package */ final class TransformerVideoRenderer extends TransformerBaseRenderer { @@ -46,8 +43,6 @@ private final DebugViewProvider debugViewProvider; private final DecoderInputBuffer decoderInputBuffer; - private @MonotonicNonNull SefSlowMotionFlattener sefSlowMotionFlattener; - public TransformerVideoRenderer( Context context, MuxerWrapper muxerWrapper, @@ -117,14 +112,12 @@ protected boolean ensureConfigured() throws TransformationException { samplePipeline = new PassthroughSamplePipeline( inputFormat, + streamOffsetUs, streamStartPositionUs, transformationRequest, muxerWrapper, fallbackListener); } - if (transformationRequest.flattenForSlowMotion) { - sefSlowMotionFlattener = new SefSlowMotionFlattener(inputFormat); - } return true; } @@ -170,32 +163,4 @@ private boolean shouldTranscode(Format inputFormat) { } return false; } - - /** - * Queues the input buffer to the sample pipeline unless it should be dropped because of slow - * motion flattening. - * - * @param inputBuffer The {@link DecoderInputBuffer}. - * @throws TransformationException If a {@link SamplePipeline} problem occurs. - */ - @Override - @RequiresNonNull({"samplePipeline", "#1.data"}) - protected void maybeQueueSampleToPipeline(DecoderInputBuffer inputBuffer) - throws TransformationException { - if (sefSlowMotionFlattener == null) { - samplePipeline.queueInputBuffer(); - return; - } - - ByteBuffer data = inputBuffer.data; - long presentationTimeUs = inputBuffer.timeUs - streamOffsetUs; - boolean shouldDropSample = - sefSlowMotionFlattener.dropOrTransformSample(data, presentationTimeUs); - inputBuffer.timeUs = streamOffsetUs + sefSlowMotionFlattener.getSamplePresentationTimeUs(); - if (shouldDropSample) { - data.clear(); - } else { - samplePipeline.queueInputBuffer(); - } - } } diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java index e89b515e775..a791df7d4f8 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/VideoTranscodingSamplePipeline.java @@ -78,7 +78,12 @@ public VideoTranscodingSamplePipeline( Transformer.AsyncErrorListener asyncErrorListener, DebugViewProvider debugViewProvider) throws TransformationException { - super(C.TRACK_TYPE_VIDEO, streamStartPositionUs, muxerWrapper); + super( + inputFormat, + streamOffsetUs, + streamStartPositionUs, + transformationRequest.flattenForSlowMotion, + muxerWrapper); if (ColorInfo.isTransferHdr(inputFormat.colorInfo) && (SDK_INT < 31 || deviceNeedsNoToneMappingWorkaround())) { @@ -187,27 +192,27 @@ public void onFrameProcessingEnded() { maxPendingFrameCount = decoder.getMaxPendingFrameCount(); } + @Override + public void release() { + frameProcessor.release(); + decoder.release(); + encoderWrapper.release(); + } + @Override @Nullable - public DecoderInputBuffer dequeueInputBuffer() throws TransformationException { + protected DecoderInputBuffer dequeueInputBufferInternal() throws TransformationException { return decoder.maybeDequeueInputBuffer(decoderInputBuffer) ? decoderInputBuffer : null; } @Override - public void queueInputBuffer() throws TransformationException { + protected void queueInputBufferInternal() throws TransformationException { if (decoderInputBuffer.isDecodeOnly()) { decodeOnlyPresentationTimestamps.add(decoderInputBuffer.timeUs); } decoder.queueInputBuffer(decoderInputBuffer); } - @Override - public void release() { - frameProcessor.release(); - decoder.release(); - encoderWrapper.release(); - } - @Override protected boolean processDataUpToMuxer() throws TransformationException { if (decoder.isEnded()) { From d262f7604757ae76f79226ec9b8ccfeb5f86977b Mon Sep 17 00:00:00 2001 From: Tolriq Date: Wed, 9 Nov 2022 10:53:52 +0000 Subject: [PATCH 389/422] Merge Issue: google/ExoPlayer#10762: Fix ffmpeg jni wrapper returning invalid result codes Imported from GitHub PR Issue: google/ExoPlayer#10762 This ensure that ffmpeg error code are properly translated to values that the ExoPlayer decoder understand. The main gain is that it allows the decoder to properly ignore more cases of invalid data and recover. The second gain is that the other errors are now proper ExoPlayer errors and no more obscure buffer ones. Fixes: Issue: google/ExoPlayer#10760 Merge 82ceeb77d6df71f5ffb0474db66a36fd6eb8e51a into 972e169bd85b14848dcae75e34f9e95fe87e1f4b COPYBARA_INTEGRATE_REVIEW=go/exoghi/10762 from Tolriq:ffmpeg_error_code 82ceeb77d6df71f5ffb0474db66a36fd6eb8e51a PiperOrigin-RevId: 487189910 (cherry picked from commit a1c04cd47330bc4104b0b8dea1aa977f35bb9ed9) --- .../decoder_ffmpeg/src/main/jni/ffmpeg_jni.cc | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/libraries/decoder_ffmpeg/src/main/jni/ffmpeg_jni.cc b/libraries/decoder_ffmpeg/src/main/jni/ffmpeg_jni.cc index c4c650a888c..17b4d747c91 100644 --- a/libraries/decoder_ffmpeg/src/main/jni/ffmpeg_jni.cc +++ b/libraries/decoder_ffmpeg/src/main/jni/ffmpeg_jni.cc @@ -89,6 +89,11 @@ AVCodecContext *createContext(JNIEnv *env, AVCodec *codec, jbyteArray extraData, int decodePacket(AVCodecContext *context, AVPacket *packet, uint8_t *outputBuffer, int outputSize); +/** + * Transforms ffmpeg AVERROR into a negative AUDIO_DECODER_ERROR constant value. + */ +int transformError(const char *functionName, int errorNumber); + /** * Outputs a log message describing the avcodec error number. */ @@ -265,8 +270,7 @@ int decodePacket(AVCodecContext *context, AVPacket *packet, result = avcodec_send_packet(context, packet); if (result) { logError("avcodec_send_packet", result); - return result == AVERROR_INVALIDDATA ? AUDIO_DECODER_ERROR_INVALID_DATA - : AUDIO_DECODER_ERROR_OTHER; + return transformError(result); } // Dequeue output data until it runs out. @@ -275,7 +279,7 @@ int decodePacket(AVCodecContext *context, AVPacket *packet, AVFrame *frame = av_frame_alloc(); if (!frame) { LOGE("Failed to allocate output frame."); - return -1; + return AUDIO_DECODER_ERROR_INVALID_DATA; } result = avcodec_receive_frame(context, frame); if (result) { @@ -284,7 +288,7 @@ int decodePacket(AVCodecContext *context, AVPacket *packet, break; } logError("avcodec_receive_frame", result); - return result; + return transformError(result); } // Resample output. @@ -312,7 +316,7 @@ int decodePacket(AVCodecContext *context, AVPacket *packet, if (result < 0) { logError("swr_init", result); av_frame_free(&frame); - return -1; + return transformError(result); } context->opaque = resampleContext; } @@ -324,20 +328,20 @@ int decodePacket(AVCodecContext *context, AVPacket *packet, LOGE("Output buffer size (%d) too small for output data (%d).", outputSize, outSize + bufferOutSize); av_frame_free(&frame); - return -1; + return AUDIO_DECODER_ERROR_INVALID_DATA; } result = swr_convert(resampleContext, &outputBuffer, bufferOutSize, (const uint8_t **)frame->data, frame->nb_samples); av_frame_free(&frame); if (result < 0) { logError("swr_convert", result); - return result; + return AUDIO_DECODER_ERROR_INVALID_DATA; } int available = swr_get_out_samples(resampleContext, 0); if (available != 0) { LOGE("Expected no samples remaining after resampling, but found %d.", available); - return -1; + return AUDIO_DECODER_ERROR_INVALID_DATA; } outputBuffer += bufferOutSize; outSize += bufferOutSize; @@ -345,6 +349,11 @@ int decodePacket(AVCodecContext *context, AVPacket *packet, return outSize; } +int transformError(int result) { + return result == AVERROR_INVALIDDATA ? AUDIO_DECODER_ERROR_INVALID_DATA + : AUDIO_DECODER_ERROR_OTHER; +} + void logError(const char *functionName, int errorNumber) { char *buffer = (char *)malloc(ERROR_STRING_BUFFER_LENGTH * sizeof(char)); av_strerror(errorNumber, buffer, ERROR_STRING_BUFFER_LENGTH); From c89ceb878da59dfc7e98957b4b20bafe254e03e9 Mon Sep 17 00:00:00 2001 From: kimvde Date: Wed, 9 Nov 2022 14:45:12 +0000 Subject: [PATCH 390/422] Add ExoPlayerAssetLoader Just move some code around for now, to start setting up the overall structure. PiperOrigin-RevId: 487229329 (cherry picked from commit 95f37b4df8475e5eaf09da0a5d4dee04a81646a0) --- .../transformer/ExoPlayerAssetLoader.java | 325 ++++++++++++++++++ .../media3/transformer/Transformer.java | 283 +++------------ 2 files changed, 381 insertions(+), 227 deletions(-) create mode 100644 libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java b/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java new file mode 100644 index 00000000000..93d173c4530 --- /dev/null +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/ExoPlayerAssetLoader.java @@ -0,0 +1,325 @@ +/* + * Copyright 2022 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package androidx.media3.transformer; + +import static androidx.media3.common.util.Assertions.checkNotNull; +import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS; +import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS; +import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_MAX_BUFFER_MS; +import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_MIN_BUFFER_MS; +import static androidx.media3.transformer.Transformer.PROGRESS_STATE_AVAILABLE; +import static androidx.media3.transformer.Transformer.PROGRESS_STATE_NO_TRANSFORMATION; +import static androidx.media3.transformer.Transformer.PROGRESS_STATE_UNAVAILABLE; +import static androidx.media3.transformer.Transformer.PROGRESS_STATE_WAITING_FOR_AVAILABILITY; +import static java.lang.Math.min; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import androidx.annotation.Nullable; +import androidx.media3.common.C; +import androidx.media3.common.DebugViewProvider; +import androidx.media3.common.Effect; +import androidx.media3.common.FrameProcessor; +import androidx.media3.common.MediaItem; +import androidx.media3.common.PlaybackException; +import androidx.media3.common.Player; +import androidx.media3.common.Timeline; +import androidx.media3.common.Tracks; +import androidx.media3.common.util.Clock; +import androidx.media3.exoplayer.DefaultLoadControl; +import androidx.media3.exoplayer.ExoPlayer; +import androidx.media3.exoplayer.Renderer; +import androidx.media3.exoplayer.RenderersFactory; +import androidx.media3.exoplayer.audio.AudioRendererEventListener; +import androidx.media3.exoplayer.metadata.MetadataOutput; +import androidx.media3.exoplayer.source.MediaSource; +import androidx.media3.exoplayer.text.TextOutput; +import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; +import androidx.media3.exoplayer.video.VideoRendererEventListener; +import com.google.common.collect.ImmutableList; +import org.checkerframework.checker.nullness.qual.MonotonicNonNull; + +/* package */ final class ExoPlayerAssetLoader { + + public interface Listener { + + void onEnded(); + + void onError(Exception e); + } + + private final Context context; + private final TransformationRequest transformationRequest; + private final ImmutableList videoEffects; + private final boolean removeAudio; + private final boolean removeVideo; + private final MediaSource.Factory mediaSourceFactory; + private final Codec.DecoderFactory decoderFactory; + private final Codec.EncoderFactory encoderFactory; + private final FrameProcessor.Factory frameProcessorFactory; + private final Looper looper; + private final DebugViewProvider debugViewProvider; + private final Clock clock; + + private @MonotonicNonNull MuxerWrapper muxerWrapper; + @Nullable private ExoPlayer player; + private @Transformer.ProgressState int progressState; + + public ExoPlayerAssetLoader( + Context context, + TransformationRequest transformationRequest, + ImmutableList videoEffects, + boolean removeAudio, + boolean removeVideo, + MediaSource.Factory mediaSourceFactory, + Codec.DecoderFactory decoderFactory, + Codec.EncoderFactory encoderFactory, + FrameProcessor.Factory frameProcessorFactory, + Looper looper, + DebugViewProvider debugViewProvider, + Clock clock) { + this.context = context; + this.transformationRequest = transformationRequest; + this.videoEffects = videoEffects; + this.removeAudio = removeAudio; + this.removeVideo = removeVideo; + this.mediaSourceFactory = mediaSourceFactory; + this.decoderFactory = decoderFactory; + this.encoderFactory = encoderFactory; + this.frameProcessorFactory = frameProcessorFactory; + this.looper = looper; + this.debugViewProvider = debugViewProvider; + this.clock = clock; + progressState = PROGRESS_STATE_NO_TRANSFORMATION; + } + + public void start( + MediaItem mediaItem, + MuxerWrapper muxerWrapper, + Listener listener, + FallbackListener fallbackListener, + Transformer.AsyncErrorListener asyncErrorListener) { + this.muxerWrapper = muxerWrapper; + + DefaultTrackSelector trackSelector = new DefaultTrackSelector(context); + trackSelector.setParameters( + new DefaultTrackSelector.Parameters.Builder(context) + .setForceHighestSupportedBitrate(true) + .build()); + // Arbitrarily decrease buffers for playback so that samples start being sent earlier to the + // muxer (rebuffers are less problematic for the transformation use case). + DefaultLoadControl loadControl = + new DefaultLoadControl.Builder() + .setBufferDurationsMs( + DEFAULT_MIN_BUFFER_MS, + DEFAULT_MAX_BUFFER_MS, + DEFAULT_BUFFER_FOR_PLAYBACK_MS / 10, + DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS / 10) + .build(); + ExoPlayer.Builder playerBuilder = + new ExoPlayer.Builder( + context, + new RenderersFactoryImpl( + context, + muxerWrapper, + removeAudio, + removeVideo, + transformationRequest, + mediaItem.clippingConfiguration.startsAtKeyFrame, + videoEffects, + frameProcessorFactory, + encoderFactory, + decoderFactory, + fallbackListener, + asyncErrorListener, + debugViewProvider)) + .setMediaSourceFactory(mediaSourceFactory) + .setTrackSelector(trackSelector) + .setLoadControl(loadControl) + .setLooper(looper); + if (clock != Clock.DEFAULT) { + // Transformer.Builder#setClock is also @VisibleForTesting, so if we're using a non-default + // clock we must be in a test context. + @SuppressWarnings("VisibleForTests") + ExoPlayer.Builder unusedForAnnotation = playerBuilder.setClock(clock); + } + + player = playerBuilder.build(); + player.setMediaItem(mediaItem); + player.addListener(new PlayerListener(listener)); + player.prepare(); + + progressState = PROGRESS_STATE_WAITING_FOR_AVAILABILITY; + } + + public @Transformer.ProgressState int getProgress(ProgressHolder progressHolder) { + if (progressState == PROGRESS_STATE_AVAILABLE) { + Player player = checkNotNull(this.player); + long durationMs = player.getDuration(); + long positionMs = player.getCurrentPosition(); + progressHolder.progress = min((int) (positionMs * 100 / durationMs), 99); + } + return progressState; + } + + public void release() { + progressState = PROGRESS_STATE_NO_TRANSFORMATION; + if (player != null) { + player.release(); + player = null; + } + } + + private static final class RenderersFactoryImpl implements RenderersFactory { + + private final Context context; + private final MuxerWrapper muxerWrapper; + private final TransformerMediaClock mediaClock; + private final boolean removeAudio; + private final boolean removeVideo; + private final TransformationRequest transformationRequest; + private final boolean clippingStartsAtKeyFrame; + private final ImmutableList videoEffects; + private final FrameProcessor.Factory frameProcessorFactory; + private final Codec.EncoderFactory encoderFactory; + private final Codec.DecoderFactory decoderFactory; + private final FallbackListener fallbackListener; + private final Transformer.AsyncErrorListener asyncErrorListener; + private final DebugViewProvider debugViewProvider; + + public RenderersFactoryImpl( + Context context, + MuxerWrapper muxerWrapper, + boolean removeAudio, + boolean removeVideo, + TransformationRequest transformationRequest, + boolean clippingStartsAtKeyFrame, + ImmutableList videoEffects, + FrameProcessor.Factory frameProcessorFactory, + Codec.EncoderFactory encoderFactory, + Codec.DecoderFactory decoderFactory, + FallbackListener fallbackListener, + Transformer.AsyncErrorListener asyncErrorListener, + DebugViewProvider debugViewProvider) { + this.context = context; + this.muxerWrapper = muxerWrapper; + this.removeAudio = removeAudio; + this.removeVideo = removeVideo; + this.transformationRequest = transformationRequest; + this.clippingStartsAtKeyFrame = clippingStartsAtKeyFrame; + this.videoEffects = videoEffects; + this.frameProcessorFactory = frameProcessorFactory; + this.encoderFactory = encoderFactory; + this.decoderFactory = decoderFactory; + this.fallbackListener = fallbackListener; + this.asyncErrorListener = asyncErrorListener; + this.debugViewProvider = debugViewProvider; + mediaClock = new TransformerMediaClock(); + } + + @Override + public Renderer[] createRenderers( + Handler eventHandler, + VideoRendererEventListener videoRendererEventListener, + AudioRendererEventListener audioRendererEventListener, + TextOutput textRendererOutput, + MetadataOutput metadataRendererOutput) { + int rendererCount = removeAudio || removeVideo ? 1 : 2; + Renderer[] renderers = new Renderer[rendererCount]; + int index = 0; + if (!removeAudio) { + renderers[index] = + new TransformerAudioRenderer( + muxerWrapper, + mediaClock, + transformationRequest, + encoderFactory, + decoderFactory, + asyncErrorListener, + fallbackListener); + index++; + } + if (!removeVideo) { + renderers[index] = + new TransformerVideoRenderer( + context, + muxerWrapper, + mediaClock, + transformationRequest, + clippingStartsAtKeyFrame, + videoEffects, + frameProcessorFactory, + encoderFactory, + decoderFactory, + asyncErrorListener, + fallbackListener, + debugViewProvider); + index++; + } + return renderers; + } + } + + private final class PlayerListener implements Player.Listener { + + private final Listener listener; + + public PlayerListener(Listener listener) { + this.listener = listener; + } + + @Override + public void onPlaybackStateChanged(int state) { + if (state == Player.STATE_ENDED) { + listener.onEnded(); + } + } + + @Override + public void onTimelineChanged(Timeline timeline, int reason) { + if (progressState != PROGRESS_STATE_WAITING_FOR_AVAILABILITY) { + return; + } + Timeline.Window window = new Timeline.Window(); + timeline.getWindow(/* windowIndex= */ 0, window); + if (!window.isPlaceholder) { + long durationUs = window.durationUs; + // Make progress permanently unavailable if the duration is unknown, so that it doesn't jump + // to a high value at the end of the transformation if the duration is set once the media is + // entirely loaded. + progressState = + durationUs <= 0 || durationUs == C.TIME_UNSET + ? PROGRESS_STATE_UNAVAILABLE + : PROGRESS_STATE_AVAILABLE; + checkNotNull(player).play(); + } + } + + @Override + public void onTracksChanged(Tracks tracks) { + if (checkNotNull(muxerWrapper).getTrackCount() == 0) { + listener.onError(new IllegalStateException("The output does not contain any tracks.")); + } + } + + @Override + public void onPlayerError(PlaybackException error) { + listener.onError(error); + } + } +} diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 9900bb1f6e8..8ac7d1b1a32 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -18,11 +18,6 @@ import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkState; -import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS; -import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS; -import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_MAX_BUFFER_MS; -import static androidx.media3.exoplayer.DefaultLoadControl.DEFAULT_MIN_BUFFER_MS; -import static java.lang.Math.min; import static java.lang.annotation.ElementType.TYPE_USE; import android.content.Context; @@ -41,9 +36,6 @@ import androidx.media3.common.MediaLibraryInfo; import androidx.media3.common.MimeTypes; import androidx.media3.common.PlaybackException; -import androidx.media3.common.Player; -import androidx.media3.common.Timeline; -import androidx.media3.common.Tracks; import androidx.media3.common.util.Clock; import androidx.media3.common.util.ListenerSet; import androidx.media3.common.util.UnstableApi; @@ -51,17 +43,8 @@ import androidx.media3.effect.GlEffect; import androidx.media3.effect.GlEffectsFrameProcessor; import androidx.media3.effect.GlMatrixTransformation; -import androidx.media3.exoplayer.DefaultLoadControl; -import androidx.media3.exoplayer.ExoPlayer; -import androidx.media3.exoplayer.Renderer; -import androidx.media3.exoplayer.RenderersFactory; -import androidx.media3.exoplayer.audio.AudioRendererEventListener; -import androidx.media3.exoplayer.metadata.MetadataOutput; import androidx.media3.exoplayer.source.DefaultMediaSourceFactory; import androidx.media3.exoplayer.source.MediaSource; -import androidx.media3.exoplayer.text.TextOutput; -import androidx.media3.exoplayer.trackselection.DefaultTrackSelector; -import androidx.media3.exoplayer.video.VideoRendererEventListener; import androidx.media3.extractor.DefaultExtractorsFactory; import androidx.media3.extractor.mp4.Mp4Extractor; import com.google.common.collect.ImmutableList; @@ -571,12 +554,12 @@ default void onFallbackApplied( private final Looper looper; private final DebugViewProvider debugViewProvider; private final Clock clock; + private final ExoPlayerAssetLoader exoPlayerAssetLoader; @Nullable private MuxerWrapper muxerWrapper; - @Nullable private ExoPlayer player; @Nullable private String outputPath; @Nullable private ParcelFileDescriptor outputParcelFileDescriptor; - private @ProgressState int progressState; + private boolean transformationInProgress; private boolean isCancelling; private Transformer( @@ -609,7 +592,20 @@ private Transformer( this.looper = looper; this.debugViewProvider = debugViewProvider; this.clock = clock; - progressState = PROGRESS_STATE_NO_TRANSFORMATION; + exoPlayerAssetLoader = + new ExoPlayerAssetLoader( + context, + transformationRequest, + videoEffects, + removeAudio, + removeVideo, + mediaSourceFactory, + decoderFactory, + encoderFactory, + frameProcessorFactory, + looper, + debugViewProvider, + clock); } /** Returns a {@link Transformer.Builder} initialized with the values of this instance. */ @@ -721,66 +717,26 @@ public void startTransformation(MediaItem mediaItem, ParcelFileDescriptor parcel private void startTransformationInternal(MediaItem mediaItem) { verifyApplicationThread(); - if (player != null) { + if (transformationInProgress) { throw new IllegalStateException("There is already a transformation in progress."); } - TransformerPlayerListener playerListener = new TransformerPlayerListener(mediaItem, looper); + transformationInProgress = true; + ComponentListener componentListener = new ComponentListener(mediaItem, looper); MuxerWrapper muxerWrapper = new MuxerWrapper( outputPath, outputParcelFileDescriptor, muxerFactory, - /* asyncErrorListener= */ playerListener); + /* asyncErrorListener= */ componentListener); this.muxerWrapper = muxerWrapper; - DefaultTrackSelector trackSelector = new DefaultTrackSelector(context); - trackSelector.setParameters( - new DefaultTrackSelector.ParametersBuilder(context) - .setForceHighestSupportedBitrate(true) - .build()); - // Arbitrarily decrease buffers for playback so that samples start being sent earlier to the - // muxer (rebuffers are less problematic for the transformation use case). - DefaultLoadControl loadControl = - new DefaultLoadControl.Builder() - .setBufferDurationsMs( - DEFAULT_MIN_BUFFER_MS, - DEFAULT_MAX_BUFFER_MS, - DEFAULT_BUFFER_FOR_PLAYBACK_MS / 10, - DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS / 10) - .build(); - ExoPlayer.Builder playerBuilder = - new ExoPlayer.Builder( - context, - new TransformerRenderersFactory( - context, - muxerWrapper, - removeAudio, - removeVideo, - transformationRequest, - mediaItem.clippingConfiguration.startsAtKeyFrame, - videoEffects, - frameProcessorFactory, - encoderFactory, - decoderFactory, - new FallbackListener(mediaItem, listeners, transformationRequest), - /* asyncErrorListener= */ playerListener, - debugViewProvider)) - .setMediaSourceFactory(mediaSourceFactory) - .setTrackSelector(trackSelector) - .setLoadControl(loadControl) - .setLooper(looper); - if (clock != Clock.DEFAULT) { - // Transformer.Builder#setClock is also @VisibleForTesting, so if we're using a non-default - // clock we must be in a test context. - @SuppressWarnings("VisibleForTests") - ExoPlayer.Builder unusedForAnnotation = playerBuilder.setClock(clock); - } - - player = playerBuilder.build(); - player.setMediaItem(mediaItem); - player.addListener(playerListener); - player.prepare(); - - progressState = PROGRESS_STATE_WAITING_FOR_AVAILABILITY; + FallbackListener fallbackListener = + new FallbackListener(mediaItem, listeners, transformationRequest); + exoPlayerAssetLoader.start( + mediaItem, + muxerWrapper, + /* listener= */ componentListener, + fallbackListener, + /* asyncErrorListener= */ componentListener); } /** @@ -806,13 +762,7 @@ public Looper getApplicationLooper() { */ public @ProgressState int getProgress(ProgressHolder progressHolder) { verifyApplicationThread(); - if (progressState == PROGRESS_STATE_AVAILABLE) { - Player player = checkNotNull(this.player); - long durationMs = player.getDuration(); - long positionMs = player.getCurrentPosition(); - progressHolder.progress = min((int) (positionMs * 100 / durationMs), 99); - } - return progressState; + return exoPlayerAssetLoader.getProgress(progressHolder); } /** @@ -821,6 +771,7 @@ public Looper getApplicationLooper() { * @throws IllegalStateException If this method is called from the wrong thread. */ public void cancel() { + verifyApplicationThread(); isCancelling = true; try { releaseResources(/* forCancellation= */ true); @@ -840,12 +791,8 @@ public void cancel() { * is false. */ private void releaseResources(boolean forCancellation) throws TransformationException { - verifyApplicationThread(); - progressState = PROGRESS_STATE_NO_TRANSFORMATION; - if (player != null) { - player.release(); - player = null; - } + transformationInProgress = false; + exoPlayerAssetLoader.release(); if (muxerWrapper != null) { try { muxerWrapper.release(forCancellation); @@ -883,149 +830,50 @@ private long getCurrentOutputFileCurrentSizeBytes() { return fileSize; } - private static final class TransformerRenderersFactory implements RenderersFactory { - - private final Context context; - private final MuxerWrapper muxerWrapper; - private final TransformerMediaClock mediaClock; - private final boolean removeAudio; - private final boolean removeVideo; - private final TransformationRequest transformationRequest; - private final boolean clippingStartsAtKeyFrame; - private final ImmutableList videoEffects; - private final FrameProcessor.Factory frameProcessorFactory; - private final Codec.EncoderFactory encoderFactory; - private final Codec.DecoderFactory decoderFactory; - private final FallbackListener fallbackListener; - private final AsyncErrorListener asyncErrorListener; - private final DebugViewProvider debugViewProvider; - - public TransformerRenderersFactory( - Context context, - MuxerWrapper muxerWrapper, - boolean removeAudio, - boolean removeVideo, - TransformationRequest transformationRequest, - boolean clippingStartsAtKeyFrame, - ImmutableList videoEffects, - FrameProcessor.Factory frameProcessorFactory, - Codec.EncoderFactory encoderFactory, - Codec.DecoderFactory decoderFactory, - FallbackListener fallbackListener, - AsyncErrorListener asyncErrorListener, - DebugViewProvider debugViewProvider) { - this.context = context; - this.muxerWrapper = muxerWrapper; - this.removeAudio = removeAudio; - this.removeVideo = removeVideo; - this.transformationRequest = transformationRequest; - this.clippingStartsAtKeyFrame = clippingStartsAtKeyFrame; - this.videoEffects = videoEffects; - this.frameProcessorFactory = frameProcessorFactory; - this.encoderFactory = encoderFactory; - this.decoderFactory = decoderFactory; - this.fallbackListener = fallbackListener; - this.asyncErrorListener = asyncErrorListener; - this.debugViewProvider = debugViewProvider; - mediaClock = new TransformerMediaClock(); - } - - @Override - public Renderer[] createRenderers( - Handler eventHandler, - VideoRendererEventListener videoRendererEventListener, - AudioRendererEventListener audioRendererEventListener, - TextOutput textRendererOutput, - MetadataOutput metadataRendererOutput) { - int rendererCount = removeAudio || removeVideo ? 1 : 2; - Renderer[] renderers = new Renderer[rendererCount]; - int index = 0; - if (!removeAudio) { - renderers[index] = - new TransformerAudioRenderer( - muxerWrapper, - mediaClock, - transformationRequest, - encoderFactory, - decoderFactory, - asyncErrorListener, - fallbackListener); - index++; - } - if (!removeVideo) { - renderers[index] = - new TransformerVideoRenderer( - context, - muxerWrapper, - mediaClock, - transformationRequest, - clippingStartsAtKeyFrame, - videoEffects, - frameProcessorFactory, - encoderFactory, - decoderFactory, - asyncErrorListener, - fallbackListener, - debugViewProvider); - index++; - } - return renderers; - } + /** Listener for exceptions that occur during a transformation. */ + /* package */ interface AsyncErrorListener { + /** + * Called when a {@link TransformationException} occurs. + * + *

      Can be called from any thread. + */ + void onTransformationException(TransformationException exception); } - private final class TransformerPlayerListener implements Player.Listener, AsyncErrorListener { + private final class ComponentListener + implements ExoPlayerAssetLoader.Listener, AsyncErrorListener { private final MediaItem mediaItem; private final Handler handler; - public TransformerPlayerListener(MediaItem mediaItem, Looper looper) { + public ComponentListener(MediaItem mediaItem, Looper looper) { this.mediaItem = mediaItem; handler = new Handler(looper); } @Override - public void onPlaybackStateChanged(int state) { - if (state == Player.STATE_ENDED) { - handleTransformationEnded(/* exception= */ null); - } + public void onError(Exception e) { + TransformationException transformationException = + e instanceof PlaybackException + ? TransformationException.createForPlaybackException((PlaybackException) e) + : TransformationException.createForUnexpected(e); + handleTransformationException(transformationException); } @Override - public void onTimelineChanged(Timeline timeline, int reason) { - if (progressState != PROGRESS_STATE_WAITING_FOR_AVAILABILITY) { - return; - } - Timeline.Window window = new Timeline.Window(); - timeline.getWindow(/* windowIndex= */ 0, window); - if (!window.isPlaceholder) { - long durationUs = window.durationUs; - // Make progress permanently unavailable if the duration is unknown, so that it doesn't jump - // to a high value at the end of the transformation if the duration is set once the media is - // entirely loaded. - progressState = - durationUs <= 0 || durationUs == C.TIME_UNSET - ? PROGRESS_STATE_UNAVAILABLE - : PROGRESS_STATE_AVAILABLE; - checkNotNull(player).play(); - } + public void onEnded() { + handleTransformationEnded(/* exception= */ null); } @Override - public void onTracksChanged(Tracks tracks) { - if (checkNotNull(muxerWrapper).getTrackCount() == 0) { - handleTransformationEnded( - TransformationException.createForUnexpected( - new IllegalStateException("The output does not contain any tracks."))); + public void onTransformationException(TransformationException exception) { + if (Looper.myLooper() == looper) { + handleTransformationException(exception); + } else { + handler.post(() -> handleTransformationException(exception)); } } - @Override - public void onPlayerError(PlaybackException error) { - TransformationException transformationException = - TransformationException.createForPlaybackException(error); - handleTransformationException(transformationException); - } - private void handleTransformationException(TransformationException transformationException) { if (isCancelling) { // Resources are already being released. @@ -1078,24 +926,5 @@ private void handleTransformationEnded(@Nullable TransformationException excepti } listeners.flushEvents(); } - - @Override - public void onTransformationException(TransformationException exception) { - if (Looper.myLooper() == looper) { - handleTransformationException(exception); - } else { - handler.post(() -> handleTransformationException(exception)); - } - } - } - - /** Listener for exceptions that occur during a transformation. */ - /* package */ interface AsyncErrorListener { - /** - * Called when a {@link TransformationException} occurs. - * - *

      Can be called from any thread. - */ - void onTransformationException(TransformationException exception); } } From 707c2d894d6f53469e51ef5944912047b1a65f6d Mon Sep 17 00:00:00 2001 From: christosts Date: Wed, 9 Nov 2022 14:58:49 +0000 Subject: [PATCH 391/422] MediaController: Add missing event flags (2/2) This is the follow-up commit where the onEvents callback raised by MediaController contains the missing events, for the case where MediaController is connected to a legacy MediaSession. #minor-release PiperOrigin-RevId: 487231996 (cherry picked from commit c403b4ce7ce9a2964ff754bb394782cc36fb882d) --- .../session/MediaControllerImplLegacy.java | 12 +- ...lerListenerWithMediaSessionCompatTest.java | 166 ++++++++++++++++++ 2 files changed, 170 insertions(+), 8 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java index 3be371c5301..f6c9ef440bd 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplLegacy.java @@ -1435,9 +1435,8 @@ private void updateControllerInfo( Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED)); } if (!Util.areEqual(oldLegacyPlayerInfo.queueTitle, newLegacyPlayerInfo.queueTitle)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - C.INDEX_UNSET, + Player.EVENT_PLAYLIST_METADATA_CHANGED, (listener) -> listener.onPlaylistMetadataChanged(newControllerInfo.playerInfo.playlistMetadata)); } @@ -1515,23 +1514,20 @@ private void updateControllerInfo( } if (!oldControllerInfo.playerInfo.audioAttributes.equals( newControllerInfo.playerInfo.audioAttributes)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - C.INDEX_UNSET, + Player.EVENT_AUDIO_ATTRIBUTES_CHANGED, (listener) -> listener.onAudioAttributesChanged(newControllerInfo.playerInfo.audioAttributes)); } if (!oldControllerInfo.playerInfo.deviceInfo.equals(newControllerInfo.playerInfo.deviceInfo)) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - C.INDEX_UNSET, + Player.EVENT_DEVICE_INFO_CHANGED, (listener) -> listener.onDeviceInfoChanged(newControllerInfo.playerInfo.deviceInfo)); } if (oldControllerInfo.playerInfo.deviceVolume != newControllerInfo.playerInfo.deviceVolume || oldControllerInfo.playerInfo.deviceMuted != newControllerInfo.playerInfo.deviceMuted) { - // TODO(b/187152483): Set proper event code when available. listeners.queueEvent( - C.INDEX_UNSET, + Player.EVENT_DEVICE_VOLUME_CHANGED, (listener) -> listener.onDeviceVolumeChanged( newControllerInfo.playerInfo.deviceVolume, diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java index 2d1d840c82d..299ed7f7c26 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerListenerWithMediaSessionCompatTest.java @@ -16,17 +16,25 @@ package androidx.media3.session; import static androidx.media3.test.session.common.TestUtils.TIMEOUT_MS; +import static androidx.media3.test.session.common.TestUtils.getEventsAsList; import static com.google.common.truth.Truth.assertThat; import static java.util.concurrent.TimeUnit.MILLISECONDS; +import static org.junit.Assume.assumeTrue; import android.content.Context; +import android.media.AudioManager; import android.os.Bundle; import android.os.RemoteException; import android.support.v4.media.session.MediaSessionCompat; import android.support.v4.media.session.PlaybackStateCompat; +import androidx.media.VolumeProviderCompat; +import androidx.media3.common.AudioAttributes; import androidx.media3.common.C; +import androidx.media3.common.DeviceInfo; import androidx.media3.common.FlagSet; +import androidx.media3.common.MediaMetadata; import androidx.media3.common.Player; +import androidx.media3.common.util.Util; import androidx.media3.test.session.common.CommonConstants; import androidx.media3.test.session.common.HandlerThreadTestRule; import androidx.media3.test.session.common.MainLooperTestRule; @@ -40,6 +48,7 @@ import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicReference; import org.junit.After; import org.junit.Before; @@ -190,4 +199,161 @@ public void onExtrasChanged(MediaController controller, Bundle extras) { assertThat(countDownLatch.await(1_000, MILLISECONDS)).isTrue(); assertThat(TestUtils.equals(receivedSessionExtras.get(0), sessionExtras)).isTrue(); } + + @Test + public void onPlaylistMetadataChanged() throws Exception { + MediaController controller = controllerTestRule.createController(session.getSessionToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference playlistMetadataParamRef = new AtomicReference<>(); + AtomicReference playlistMetadataGetterRef = new AtomicReference<>(); + AtomicReference playlistMetadataOnEventsRef = new AtomicReference<>(); + AtomicReference onEvents = new AtomicReference<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onPlaylistMetadataChanged(MediaMetadata mediaMetadata) { + playlistMetadataParamRef.set(mediaMetadata); + playlistMetadataGetterRef.set(controller.getPlaylistMetadata()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + onEvents.set(events); + playlistMetadataOnEventsRef.set(player.getPlaylistMetadata()); + latch.countDown(); + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + session.setQueueTitle("queue-title"); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(playlistMetadataParamRef.get().title).isEqualTo("queue-title"); + assertThat(playlistMetadataGetterRef.get()).isEqualTo(playlistMetadataParamRef.get()); + assertThat(playlistMetadataOnEventsRef.get()).isEqualTo(playlistMetadataParamRef.get()); + assertThat(getEventsAsList(onEvents.get())) + .containsExactly(Player.EVENT_PLAYLIST_METADATA_CHANGED); + } + + @Test + public void onAudioAttributesChanged() throws Exception { + // We need to trigger MediaControllerCompat.Callback.onAudioInfoChanged in order to raise the + // onAudioAttributesChanged() callback. In API 21 and 22, onAudioInfoChanged is not called when + // playback is changed to local. + assumeTrue(Util.SDK_INT != 21 && Util.SDK_INT != 22); + + session.setPlaybackToRemote( + /* volumeControl= */ VolumeProviderCompat.VOLUME_CONTROL_ABSOLUTE, + /* maxVolume= */ 100, + /* currentVolume= */ 50); + MediaController controller = controllerTestRule.createController(session.getSessionToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference audioAttributesParamRef = new AtomicReference<>(); + AtomicReference audioAttributesGetterRef = new AtomicReference<>(); + AtomicReference audioAttributesOnEventsRef = new AtomicReference<>(); + AtomicReference onEvents = new AtomicReference<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onAudioAttributesChanged(AudioAttributes audioAttributes) { + audioAttributesParamRef.set(audioAttributes); + audioAttributesGetterRef.set(controller.getAudioAttributes()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + onEvents.set(events); + audioAttributesOnEventsRef.set(player.getAudioAttributes()); + latch.countDown(); + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + session.setPlaybackToLocal(AudioManager.STREAM_ALARM); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(audioAttributesGetterRef.get().contentType).isEqualTo(AudioManager.STREAM_ALARM); + assertThat(audioAttributesGetterRef.get()).isEqualTo(audioAttributesParamRef.get()); + assertThat(audioAttributesOnEventsRef.get()).isEqualTo(audioAttributesParamRef.get()); + assertThat(getEventsAsList(onEvents.get())).contains(Player.EVENT_AUDIO_ATTRIBUTES_CHANGED); + } + + @Test + public void onDeviceInfoChanged() throws Exception { + MediaController controller = controllerTestRule.createController(session.getSessionToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicReference deviceInfoParamRef = new AtomicReference<>(); + AtomicReference deviceInfoGetterRef = new AtomicReference<>(); + AtomicReference deviceInfoOnEventsRef = new AtomicReference<>(); + AtomicReference onEvents = new AtomicReference<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onDeviceInfoChanged(DeviceInfo deviceInfo) { + deviceInfoParamRef.set(deviceInfo); + deviceInfoGetterRef.set(controller.getDeviceInfo()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceInfoOnEventsRef.set(player.getDeviceInfo()); + onEvents.set(events); + latch.countDown(); + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + session.setPlaybackToRemote( + /* volumeControl= */ VolumeProviderCompat.VOLUME_CONTROL_ABSOLUTE, + /* maxVolume= */ 100, + /* currentVolume= */ 50); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(deviceInfoParamRef.get().playbackType).isEqualTo(DeviceInfo.PLAYBACK_TYPE_REMOTE); + assertThat(deviceInfoParamRef.get().maxVolume).isEqualTo(100); + assertThat(deviceInfoGetterRef.get()).isEqualTo(deviceInfoParamRef.get()); + assertThat(deviceInfoOnEventsRef.get()).isEqualTo(deviceInfoGetterRef.get()); + assertThat(getEventsAsList(onEvents.get())).contains(Player.EVENT_DEVICE_VOLUME_CHANGED); + } + + @Test + public void onDeviceVolumeChanged() throws Exception { + MediaController controller = controllerTestRule.createController(session.getSessionToken()); + CountDownLatch latch = new CountDownLatch(2); + AtomicInteger deviceVolumeParam = new AtomicInteger(); + AtomicInteger deviceVolumeGetter = new AtomicInteger(); + AtomicInteger deviceVolumeOnEvents = new AtomicInteger(); + AtomicReference onEvents = new AtomicReference<>(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onDeviceVolumeChanged(int volume, boolean muted) { + deviceVolumeParam.set(volume); + deviceVolumeGetter.set(controller.getDeviceVolume()); + latch.countDown(); + } + + @Override + public void onEvents(Player player, Player.Events events) { + deviceVolumeOnEvents.set(player.getDeviceVolume()); + onEvents.set(events); + latch.countDown(); + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + session.setPlaybackToRemote( + /* volumeControl= */ VolumeProviderCompat.VOLUME_CONTROL_ABSOLUTE, + /* maxVolume= */ 100, + /* currentVolume= */ 50); + + assertThat(latch.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(deviceVolumeParam.get()).isEqualTo(50); + assertThat(deviceVolumeGetter.get()).isEqualTo(50); + assertThat(deviceVolumeOnEvents.get()).isEqualTo(50); + assertThat(getEventsAsList(onEvents.get())).contains(Player.EVENT_DEVICE_VOLUME_CHANGED); + } } From bc3aef081e303323694135f82eca8cbfc39590a9 Mon Sep 17 00:00:00 2001 From: sheenachhabra Date: Wed, 9 Nov 2022 17:00:14 +0000 Subject: [PATCH 392/422] Change UnsupportedEncodingException to IllegalArgumentException In startTransformation method we were throwing UnsupportedEncodingException (IOException) when mediaItem with unsupported arguments is passed. Changed this to IllegalArgumentException which seems more logical here. PiperOrigin-RevId: 487259296 (cherry picked from commit 818bf4a20a4bb55d57e26b6c200c9857d4caf659) --- .../media3/transformer/Transformer.java | 19 +++++++++---------- .../transformer/TransformerEndToEndTest.java | 2 -- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index 8ac7d1b1a32..de50b10f564 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -50,8 +50,6 @@ import com.google.common.collect.ImmutableList; import com.google.errorprone.annotations.CanIgnoreReturnValue; import java.io.File; -import java.io.IOException; -import java.io.UnsupportedEncodingException; import java.lang.annotation.Documented; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -671,17 +669,11 @@ public void removeAllListeners() { * @param mediaItem The {@link MediaItem} to transform. * @param path The path to the output file. * @throws IllegalArgumentException If the path is invalid. + * @throws IllegalArgumentException If the {@link MediaItem} is not supported. * @throws IllegalStateException If this method is called from the wrong thread. * @throws IllegalStateException If a transformation is already in progress. - * @throws IOException If {@link MediaItem} is not supported. */ - public void startTransformation(MediaItem mediaItem, String path) throws IOException { - if (!mediaItem.clippingConfiguration.equals(MediaItem.ClippingConfiguration.UNSET) - && transformationRequest.flattenForSlowMotion) { - // TODO(b/233986762): Support clipping with SEF flattening. - throw new UnsupportedEncodingException( - "Clipping is not supported when slow motion flattening is requested"); - } + public void startTransformation(MediaItem mediaItem, String path) { this.outputPath = path; this.outputParcelFileDescriptor = null; startTransformationInternal(mediaItem); @@ -705,6 +697,7 @@ public void startTransformation(MediaItem mediaItem, String path) throws IOExcep * transformation is completed. It is the responsibility of the caller to close the * ParcelFileDescriptor. This can be done after this method returns. * @throws IllegalArgumentException If the file descriptor is invalid. + * @throws IllegalArgumentException If the {@link MediaItem} is not supported. * @throws IllegalStateException If this method is called from the wrong thread. * @throws IllegalStateException If a transformation is already in progress. */ @@ -716,6 +709,12 @@ public void startTransformation(MediaItem mediaItem, ParcelFileDescriptor parcel } private void startTransformationInternal(MediaItem mediaItem) { + if (!mediaItem.clippingConfiguration.equals(MediaItem.ClippingConfiguration.UNSET) + && transformationRequest.flattenForSlowMotion) { + // TODO(b/233986762): Support clipping with SEF flattening. + throw new IllegalArgumentException( + "Clipping is not supported when slow motion flattening is requested"); + } verifyApplicationThread(); if (transformationInProgress) { throw new IllegalStateException("There is already a transformation in progress."); diff --git a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java index 24f83e22e03..b144512f1c3 100644 --- a/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java +++ b/libraries/transformer/src/test/java/androidx/media3/transformer/TransformerEndToEndTest.java @@ -581,8 +581,6 @@ public void startTransformation_fromWrongThread_throwsError() throws Exception { () -> { try { transformer.startTransformation(mediaItem, outputPath); - } catch (IOException e) { - // Do nothing. } catch (IllegalStateException e) { illegalStateException.set(e); } finally { From dddc6026e90a1b8587f40d37272565782eef9949 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 9 Nov 2022 17:29:31 +0000 Subject: [PATCH 393/422] Wait with PlayerInfo updates until all pending operations are done Accepting a PlayerInfo while the MediaController is masking its state means we are reverting all masking changes we've made earlier. This only makes sense if the update already contains the masked operation. If multiple operations are in flight (or are sent from the session while they are in flight), we need to wait until all of them are handled before accepting new updates. In cases where a new update from the session excludes the Timeline and the masked state is incompatible with the new update, we also risk an exception if we accept the update too early. PiperOrigin-RevId: 487266899 (cherry picked from commit 0b4ba3e3a6130253b801ddc231501168efce8901) --- .../session/MediaControllerImplBase.java | 39 +++++++-- .../MediaControllerStateMaskingTest.java | 79 +++++++++++++++++++ .../session/MediaSessionProviderService.java | 9 +++ 3 files changed, 121 insertions(+), 6 deletions(-) diff --git a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java index 41e1f5a97a4..68fcbf35766 100644 --- a/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java +++ b/libraries/session/src/main/java/androidx/media3/session/MediaControllerImplBase.java @@ -47,6 +47,7 @@ import android.view.SurfaceView; import android.view.TextureView; import androidx.annotation.Nullable; +import androidx.collection.ArraySet; import androidx.media3.common.AdPlaybackState; import androidx.media3.common.AudioAttributes; import androidx.media3.common.BundleListRetriever; @@ -110,6 +111,7 @@ private final SurfaceCallback surfaceCallback; private final ListenerSet listeners; private final FlushCommandQueueHandler flushCommandQueueHandler; + private final ArraySet pendingMaskingSequencedFutureNumbers; @Nullable private SessionToken connectedToken; @Nullable private SessionServiceConnection serviceConnection; @@ -127,6 +129,7 @@ @Nullable private IMediaSession iSession; private long lastReturnedCurrentPositionMs; private long lastSetPlayWhenReadyCalledTimeMs; + @Nullable private Timeline pendingPlayerInfoUpdateTimeline; public MediaControllerImplBase( Context context, @@ -154,6 +157,7 @@ public MediaControllerImplBase( this.context = context; sequencedFutureManager = new SequencedFutureManager(); controllerStub = new MediaControllerStub(this); + pendingMaskingSequencedFutureNumbers = new ArraySet<>(); this.token = token; this.connectionHints = connectionHints; deathRecipient = @@ -303,7 +307,7 @@ private ListenableFuture dispatchRemoteSessionTaskWithPlayerComma if (command != Player.COMMAND_SET_VIDEO_SURFACE) { flushCommandQueueHandler.sendFlushCommandQueueMessage(); } - return dispatchRemoteSessionTask(iSession, task); + return dispatchRemoteSessionTask(iSession, task, /* addToPendingMaskingOperations= */ true); } private ListenableFuture dispatchRemoteSessionTaskWithSessionCommand( @@ -326,17 +330,22 @@ private ListenableFuture dispatchRemoteSessionTaskWithSessionComm sessionCommand != null ? getSessionInterfaceWithSessionCommandIfAble(sessionCommand) : getSessionInterfaceWithSessionCommandIfAble(commandCode), - task); + task, + /* addToPendingMaskingOperations= */ false); } private ListenableFuture dispatchRemoteSessionTask( - IMediaSession iSession, RemoteSessionTask task) { + IMediaSession iSession, RemoteSessionTask task, boolean addToPendingMaskingOperations) { if (iSession != null) { SequencedFutureManager.SequencedFuture result = sequencedFutureManager.createSequencedFuture( new SessionResult(SessionResult.RESULT_INFO_SKIPPED)); try { - task.run(iSession, result.getSequenceNumber()); + int sequenceNumber = result.getSequenceNumber(); + task.run(iSession, sequenceNumber); + if (addToPendingMaskingOperations) { + pendingMaskingSequencedFutureNumbers.add(sequenceNumber); + } } catch (RemoteException e) { Log.w(TAG, "Cannot connect to the service or the session is gone", e); result.set(new SessionResult(SessionResult.RESULT_ERROR_SESSION_DISCONNECTED)); @@ -2223,7 +2232,12 @@ void notifyPeriodicSessionPositionInfoChanged(SessionPositionInfo sessionPositio } void setFutureResult(int seq, T futureResult) { + // Don't set the future result on the application looper so that the result can be obtained by a + // blocking future.get() on the application looper. But post a message to remove the pending + // masking operation on the application looper to ensure it's executed in order with other + // updates sent to the application looper. sequencedFutureManager.setFutureResult(seq, futureResult); + getInstance().runOnApplicationLooper(() -> pendingMaskingSequencedFutureNumbers.remove(seq)); } void onConnected(ConnectionState result) { @@ -2313,11 +2327,23 @@ void onPlayerInfoChanged( if (!isConnected()) { return; } + if (!pendingMaskingSequencedFutureNumbers.isEmpty()) { + // We are still waiting for all pending masking operations to be handled. + if (!isTimelineExcluded) { + pendingPlayerInfoUpdateTimeline = newPlayerInfo.timeline; + } + return; + } PlayerInfo oldPlayerInfo = playerInfo; playerInfo = newPlayerInfo; if (isTimelineExcluded) { - playerInfo = playerInfo.copyWithTimeline(oldPlayerInfo.timeline); + playerInfo = + playerInfo.copyWithTimeline( + pendingPlayerInfoUpdateTimeline != null + ? pendingPlayerInfoUpdateTimeline + : oldPlayerInfo.timeline); } + pendingPlayerInfoUpdateTimeline = null; PlaybackException oldPlayerError = oldPlayerInfo.playerError; PlaybackException playerError = playerInfo.playerError; boolean errorsMatch = @@ -2568,7 +2594,8 @@ public void onRenderedFirstFrame() { } private void updateSessionPositionInfoIfNeeded(SessionPositionInfo sessionPositionInfo) { - if (playerInfo.sessionPositionInfo.eventTimeMs < sessionPositionInfo.eventTimeMs) { + if (pendingMaskingSequencedFutureNumbers.isEmpty() + && playerInfo.sessionPositionInfo.eventTimeMs < sessionPositionInfo.eventTimeMs) { playerInfo = playerInfo.copyWithSessionPositionInfo(sessionPositionInfo); } } diff --git a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java index e7ffef7880a..7e7f18dc171 100644 --- a/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java +++ b/libraries/test_session_current/src/androidTest/java/androidx/media3/session/MediaControllerStateMaskingTest.java @@ -2878,6 +2878,85 @@ public void moveMediaItems_moveNonCurrentItem_fromBeforeCurrentItemToAfter() thr /* testPreviousMediaItemIndex= */ C.INDEX_UNSET); } + @Test + public void incompatibleUpdatesDuringMasking_areOnlyReportedOnceAllPendingUpdatesAreResolved() + throws Exception { + // Test setup: + // 1. Report a discontinuity from item 0 to item 1 in the session. + // 2. Before (1) can be handled by the controller, remove item 1. + // Expectation: + // - Session: State is updated to ENDED as the current item is removed. + // - Controller: Discontinuity is only reported after the state is fully resolved + // = The discontinuity is only reported once we also report the state change to ENDED. + Timeline timeline = MediaTestUtils.createTimeline(/* windowCount= */ 2); + remoteSession.getMockPlayer().setTimeline(timeline); + remoteSession + .getMockPlayer() + .notifyTimelineChanged(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED); + remoteSession.getMockPlayer().setCurrentMediaItemIndex(0); + MediaController controller = controllerTestRule.createController(remoteSession.getToken()); + CountDownLatch positionDiscontinuityReported = new CountDownLatch(1); + AtomicBoolean reportedStateChangeToEndedAtSameTimeAsDiscontinuity = new AtomicBoolean(); + Player.Listener listener = + new Player.Listener() { + @Override + public void onEvents(Player player, Player.Events events) { + if (events.contains(Player.EVENT_POSITION_DISCONTINUITY)) { + if (events.contains(Player.EVENT_PLAYBACK_STATE_CHANGED) + && player.getPlaybackState() == Player.STATE_ENDED) { + reportedStateChangeToEndedAtSameTimeAsDiscontinuity.set(true); + } + positionDiscontinuityReported.countDown(); + } + } + }; + threadTestRule.getHandler().postAndSync(() -> controller.addListener(listener)); + + // Step 1: Report a discontinuity from item 0 to item 1 in the session. + PositionInfo oldPositionInfo = + new PositionInfo( + /* windowUid= */ timeline.getWindow(/* windowIndex= */ 0, new Window()).uid, + /* mediaItemIndex= */ 0, + MediaItem.EMPTY, + /* periodUid= */ timeline.getPeriod( + /* periodIndex= */ 0, new Period(), /* setIds= */ true) + .uid, + /* periodIndex= */ 0, + /* positionMs= */ 10_000, + /* contentPositionMs= */ 10_000, + /* adGroupIndex= */ C.INDEX_UNSET, + /* adIndexInAdGroup= */ C.INDEX_UNSET); + PositionInfo newPositionInfo = + new PositionInfo( + /* windowUid= */ timeline.getWindow(/* windowIndex= */ 1, new Window()).uid, + /* mediaItemIndex= */ 1, + MediaItem.EMPTY, + /* periodUid= */ timeline.getPeriod( + /* periodIndex= */ 1, new Period(), /* setIds= */ true) + .uid, + /* periodIndex= */ 1, + /* positionMs= */ 0, + /* contentPositionMs= */ 0, + /* adGroupIndex= */ C.INDEX_UNSET, + /* adIndexInAdGroup= */ C.INDEX_UNSET); + remoteSession.getMockPlayer().setCurrentMediaItemIndex(1); + remoteSession + .getMockPlayer() + .notifyPositionDiscontinuity( + oldPositionInfo, newPositionInfo, Player.DISCONTINUITY_REASON_AUTO_TRANSITION); + // Step 2: Before step 1 can be handled by the controller, remove item 1. + threadTestRule.getHandler().postAndSync(() -> controller.removeMediaItem(/* index= */ 1)); + remoteSession.getMockPlayer().setCurrentMediaItemIndex(0); + remoteSession.getMockPlayer().setTimeline(MediaTestUtils.createTimeline(/* windowCount= */ 1)); + remoteSession.getMockPlayer().notifyPlaybackStateChanged(Player.STATE_ENDED); + remoteSession + .getMockPlayer() + .notifyTimelineChanged(Player.TIMELINE_CHANGE_REASON_PLAYLIST_CHANGED); + + assertThat(positionDiscontinuityReported.await(TIMEOUT_MS, MILLISECONDS)).isTrue(); + assertThat(reportedStateChangeToEndedAtSameTimeAsDiscontinuity.get()).isTrue(); + } + private void assertMoveMediaItems( int initialMediaItemCount, int initialMediaItemIndex, diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java index 2f91a3a2866..fa312abd310 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MediaSessionProviderService.java @@ -785,6 +785,13 @@ public void setTimeline(String sessionId, Bundle timelineBundle) throws RemoteEx MediaSession session = sessionMap.get(sessionId); MockPlayer player = (MockPlayer) session.getPlayer(); player.timeline = Timeline.CREATOR.fromBundle(timelineBundle); + List mediaItems = new ArrayList<>(); + for (int i = 0; i < player.timeline.getWindowCount(); i++) { + mediaItems.add( + player.timeline.getWindow(/* windowIndex= */ i, new Timeline.Window()).mediaItem); + } + player.mediaItems.clear(); + player.mediaItems.addAll(mediaItems); }); } @@ -800,6 +807,8 @@ public void createAndSetFakeTimeline(String sessionId, int windowCount) throws R mediaItems.add( MediaTestUtils.createMediaItem(TestUtils.getMediaIdInFakeTimeline(windowIndex))); } + player.mediaItems.clear(); + player.mediaItems.addAll(mediaItems); player.timeline = new PlaylistTimeline(mediaItems); }); } From e57838d7f587c73e1a9293c9ed694d2306518400 Mon Sep 17 00:00:00 2001 From: claincly Date: Wed, 9 Nov 2022 18:05:24 +0000 Subject: [PATCH 394/422] Set HDR color info on FrameworkMuxer Not setting the color info results in a missing "colr" box in the produced container, under file/moov/trak/mdia/minf/stbl/stsd/hvc1. This means extractors will not be able to find out the transcoded file is HDR. In `Transformer`, this means it can't transcode this transcoded file, because it currently relies on the container bearing HDR info to construct the transcoding sample pipeline. PiperOrigin-RevId: 487276712 (cherry picked from commit 3c74e076fef6ef9ae892dcfda9026ae1be83c1b0) --- .../main/java/androidx/media3/transformer/FrameworkMuxer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java index 29a7968611c..f5901299870 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/FrameworkMuxer.java @@ -124,6 +124,7 @@ public int addTrack(Format format) throws MuxerException { } else { mediaFormat = MediaFormat.createVideoFormat(castNonNull(sampleMimeType), format.width, format.height); + MediaFormatUtil.maybeSetColorInfo(mediaFormat, format.colorInfo); try { mediaMuxer.setOrientationHint(format.rotationDegrees); } catch (RuntimeException e) { From 45f6c24bf20e3eba95963661410be427afb8838e Mon Sep 17 00:00:00 2001 From: huangdarwin Date: Wed, 9 Nov 2022 20:05:24 +0000 Subject: [PATCH 395/422] HDR: Implement ForceInterpretHdrVideoAsSdr Also, document that we tone map when no HDR features are explicitly set PiperOrigin-RevId: 487310971 (cherry picked from commit 2ff5dab0039c44d767dc831fec92724254e5e0aa) --- .../transformer/ConfigurationActivity.java | 12 +++ .../demo/transformer/TransformerActivity.java | 2 + .../res/layout/configuration_activity.xml | 10 +++ .../src/main/res/values/strings.xml | 3 +- .../media3/transformer/AndroidTestUtil.java | 15 ++++ .../SetForceInterpretHdrVideoAsSdrTest.java | 80 +++++++++++++++++++ .../transformer/mh/SetHdrEditingTest.java | 4 +- .../mh/SetHdrToSdrToneMapTest.java | 4 +- .../transformer/TransformationException.java | 9 ++- .../transformer/TransformationRequest.java | 78 ++++++++++++++++-- .../transformer/TransformerVideoRenderer.java | 3 + .../VideoTranscodingSamplePipeline.java | 30 ++++--- 12 files changed, 226 insertions(+), 24 deletions(-) create mode 100644 libraries/transformer/src/androidTest/java/androidx/media3/transformer/mh/SetForceInterpretHdrVideoAsSdrTest.java diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java index 235b66e799d..eac602c80e6 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/ConfigurationActivity.java @@ -68,6 +68,7 @@ public final class ConfigurationActivity extends AppCompatActivity { public static final String ENABLE_FALLBACK = "enable_fallback"; public static final String ENABLE_DEBUG_PREVIEW = "enable_debug_preview"; public static final String ENABLE_REQUEST_SDR_TONE_MAPPING = "enable_request_sdr_tone_mapping"; + public static final String FORCE_INTERPRET_HDR_VIDEO_AS_SDR = "force_interpret_hdr_video_as_sdr"; public static final String ENABLE_HDR_EDITING = "enable_hdr_editing"; public static final String DEMO_EFFECTS_SELECTIONS = "demo_effects_selections"; public static final String PERIODIC_VIGNETTE_CENTER_X = "periodic_vignette_center_x"; @@ -153,6 +154,7 @@ public final class ConfigurationActivity extends AppCompatActivity { private @MonotonicNonNull CheckBox enableFallbackCheckBox; private @MonotonicNonNull CheckBox enableDebugPreviewCheckBox; private @MonotonicNonNull CheckBox enableRequestSdrToneMappingCheckBox; + private @MonotonicNonNull CheckBox forceInterpretHdrVideoAsSdrCheckBox; private @MonotonicNonNull CheckBox enableHdrEditingCheckBox; private @MonotonicNonNull Button selectDemoEffectsButton; private boolean @MonotonicNonNull [] demoEffectsSelections; @@ -248,6 +250,8 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { enableRequestSdrToneMappingCheckBox = findViewById(R.id.request_sdr_tone_mapping_checkbox); enableRequestSdrToneMappingCheckBox.setEnabled(isRequestSdrToneMappingSupported()); findViewById(R.id.request_sdr_tone_mapping).setEnabled(isRequestSdrToneMappingSupported()); + forceInterpretHdrVideoAsSdrCheckBox = + findViewById(R.id.force_interpret_hdr_video_as_sdr_checkbox); enableHdrEditingCheckBox = findViewById(R.id.hdr_editing_checkbox); demoEffectsSelections = new boolean[DEMO_EFFECTS.length]; @@ -306,6 +310,7 @@ protected void onNewIntent(Intent intent) { "enableFallbackCheckBox", "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", + "forceInterpretHdrVideoAsSdrCheckBox", "enableHdrEditingCheckBox", "demoEffectsSelections" }) @@ -346,6 +351,8 @@ private void startTransformation(View view) { bundle.putBoolean(ENABLE_DEBUG_PREVIEW, enableDebugPreviewCheckBox.isChecked()); bundle.putBoolean( ENABLE_REQUEST_SDR_TONE_MAPPING, enableRequestSdrToneMappingCheckBox.isChecked()); + bundle.putBoolean( + FORCE_INTERPRET_HDR_VIDEO_AS_SDR, forceInterpretHdrVideoAsSdrCheckBox.isChecked()); bundle.putBoolean(ENABLE_HDR_EDITING, enableHdrEditingCheckBox.isChecked()); bundle.putBooleanArray(DEMO_EFFECTS_SELECTIONS, demoEffectsSelections); bundle.putInt(COLOR_FILTER_SELECTION, colorFilterSelection); @@ -585,6 +592,7 @@ private void controlPeriodicVignetteSettings() { "rotateSpinner", "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", + "forceInterpretHdrVideoAsSdrCheckBox", "enableHdrEditingCheckBox", "selectDemoEffectsButton" }) @@ -606,6 +614,7 @@ private void onRemoveAudio(View view) { "rotateSpinner", "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", + "forceInterpretHdrVideoAsSdrCheckBox", "enableHdrEditingCheckBox", "selectDemoEffectsButton" }) @@ -626,6 +635,7 @@ private void onRemoveVideo(View view) { "rotateSpinner", "enableDebugPreviewCheckBox", "enableRequestSdrToneMappingCheckBox", + "forceInterpretHdrVideoAsSdrCheckBox", "enableHdrEditingCheckBox", "selectDemoEffectsButton" }) @@ -638,6 +648,7 @@ private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoE enableDebugPreviewCheckBox.setEnabled(isVideoEnabled); enableRequestSdrToneMappingCheckBox.setEnabled( isRequestSdrToneMappingSupported() && isVideoEnabled); + forceInterpretHdrVideoAsSdrCheckBox.setEnabled(isVideoEnabled); enableHdrEditingCheckBox.setEnabled(isVideoEnabled); selectDemoEffectsButton.setEnabled(isVideoEnabled); @@ -648,6 +659,7 @@ private void enableTrackSpecificOptions(boolean isAudioEnabled, boolean isVideoE findViewById(R.id.rotate).setEnabled(isVideoEnabled); findViewById(R.id.request_sdr_tone_mapping) .setEnabled(isRequestSdrToneMappingSupported() && isVideoEnabled); + findViewById(R.id.force_interpret_hdr_video_as_sdr).setEnabled(isVideoEnabled); findViewById(R.id.hdr_editing).setEnabled(isVideoEnabled); } diff --git a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java index b995287cb8e..1ace6bfb654 100644 --- a/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java +++ b/demos/transformer/src/main/java/androidx/media3/demo/transformer/TransformerActivity.java @@ -272,6 +272,8 @@ private Transformer createTransformer(@Nullable Bundle bundle, String filePath) requestBuilder.setEnableRequestSdrToneMapping( bundle.getBoolean(ConfigurationActivity.ENABLE_REQUEST_SDR_TONE_MAPPING)); + requestBuilder.experimental_setForceInterpretHdrVideoAsSdr( + bundle.getBoolean(ConfigurationActivity.FORCE_INTERPRET_HDR_VIDEO_AS_SDR)); requestBuilder.experimental_setEnableHdrEditing( bundle.getBoolean(ConfigurationActivity.ENABLE_HDR_EDITING)); transformerBuilder diff --git a/demos/transformer/src/main/res/layout/configuration_activity.xml b/demos/transformer/src/main/res/layout/configuration_activity.xml index e090eb55f26..2a481bea698 100644 --- a/demos/transformer/src/main/res/layout/configuration_activity.xml +++ b/demos/transformer/src/main/res/layout/configuration_activity.xml @@ -217,6 +217,16 @@ android:id="@+id/hdr_editing_checkbox" android:layout_gravity="end" /> + + + +

      um*g4+8OdK+F3fied{x0SnMU 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

    • 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%0A# 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 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png deleted file mode 100644 index 07dc4f149c5d9b4919c99e74d48a93a2a10e221b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 406385 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⁣1za&&K)QtMgAF=7aPd(^+RL^|3`Ggp9Dd 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 literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/increase_brightness.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/electrical_colors/increase_brightness.png new file mode 100644 index 0000000000000000000000000000000000000000..51abe665417f5bbd81c5bdbf452cbba7a3d2495f GIT binary patch literal 352525 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

      6w&9ebisH#S;T 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 dc_ZkUXpPu7%5Q12V9xY2X8(lrNP0IY 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 bR^0wS7%CdR5ARHR00000NkvXXu0mjfyAo_S literal 0 HcmV?d00001 diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_contrast.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/increase_contrast.png new file mode 100644 index 0000000000000000000000000000000000000000..5a98d00de0c7dc4c03062716ca86aec77728b92e GIT binary patch literal 194793 zcmXt9Wn5HW69$$LDFG>2Kxt{or4f*lQluM}knV1fPU#jY>F!vN?vfT*M7q1-y~6*! zU-+>f&Yg44Gc(UTGdDz0UJ~o+i>C+(2w2im;vW$ZkRb>NNTW|sfnOY_+cbbbi1r^P zMG;De!JEK8$o8VrpPm4Z#}jBU0>VoKY4Nw8T+((HydAVolh-euY2sKH;uz`TtZQE{ zSx}kDQ>kX+H#m_NIK3!vLM?J4EpltB7`8ARkuNvlfv1DcP7Vy~uq>uTMxKmM_(7?p zoQVRmEZA{r$+~i=Qum&SMa%g;bAXD`%ZjQ$>-V#jl8`)0d z`?}@6ucV8Ip`{?Wv>rkx=ypQirr(B=&`pRKn`CAMOKjR}Oew8}pRx*H36-^+y>Pay z?`8Xw?=!&b=I|cAh0G>^u3f-oLw}L-@_ru1-|w&crd3NEQ{ZZ2`({=5j;6^8YkV%H zr7vk*m)+qw5j24j}`>$Qh8876*GsA^toSD)NwKknP)>ewz;&)@%c4NI`U6xux zyud&cJ}&UYeEA!zd-I0~2D$B^gf~wKL;qTaouA#c=m&$s_vU)`@5k0Jt-UdXE`29+ z!?G^xmfcxtAO}(2Cd9{y9>;wc7m3~{?vQm)y^b~$pE`0Rx?M1fV6zLJdBB;n0mGqf%*g9F^kW7axV*RN5-eU!9 ziTb-wYiQ2mgs44;J+&1~VSUm#BgYgq8YgND@MjO3#aW3%mV80~mlZXI3T11XkwXC7 z+G;F^@qT{lT`;73R56|ERgre4zi5RI%utDiXOUp}2>=xJ^?SIqRCkp#GB*FNC%8ArM#c}McZo9U@GcID+XB-QUDM4gqo(82e~;r>SIE{lgtks2lB4WS*C!D-L` z*^G;uOqc{WMV%_qL=#UoW$Uh$`I7yr$X4%kYh>(~m%nT8d8_Ei8pu}}-}c)KrfRXS zLR>a$c9Yxd#G$%_w}pS6@v57fr^$9NA1s4@Z8@5q@}0UxxCzc#%Lv@zS}KbFdk6#C zkkLd~5-DpaWxBfF+tep6XMWL*k&~s99~4}i?opJoj-vhc$pYmFmvXTO-bU<>BQe)4 z{i*AfT_toJRREi!RHGTaKolq~4&e9_aI%l7J7TW3O8xTm|4NozV+rAVnnf_1qUN+qj~_vjY}aqwP* zu8;1Wqx^ui_Vm!x@43-K(3f8Eww**2d-`zB{lp_?+XUd4D}wA+H=j(0^={78+FJ+| zZ%^5h(s!B4h_SoYI@3O2;5hw*9~BBU*-L!O@BO7&uYNN8+J!)mY&9A&a4A)Y=@p(O ztVkgyYsI-7_`?9}_$e1CDG^zkpB<^AS$_{)Z>V=nG^^>SiUJ3N2W;UsGbB6@X2u{$ z0N163#5Y|ULFn0>XpMu++U09;{K;O?aGxE**}GY|czh|qsZH`~t?J}#FVdzZIH1Ck z6eqDyI;wH|Pvc%iXe9lgEjZ(YnYbi$ka3aos{yLhdLQY#TSvj=AqiiP0+cx`&PYgW z)!>2Nh1>M%x_t-PhpR6)pb-J5l)YR^gF*Q@$m^g_TNfYVCGfzpv2Y2P+@tTatpL71 ze_2j#M$l7K_d!suz_pYl;a%aMnZD6c^0PqB^KxI0Rua>YXZ8V>*|;qC2+HGO7hj#e zLfJ!rkd@)SGxns;7oF+Byh@vQGB!}(n(ZlEOR23UE!b-TcR0er!b01-Zrq^2Ah8~) zJj9;Bcvb80@*W-%0XgN~Zc>cCrD zuSL&YXbA%%%Lvq^K1K>luST!ytKZQ-uk)p1n4mokqj@kokdg+{MnU4f+GvW7JtN~S zRrSHA7P(j#MsCU;dBL*^(^mj~BJCwoa?rBRyd*q7|G<)}>qS{qF)zNB34ugLxc8RL z9cbZ9JMunj2?h3hqLW{A z-@MQIh(2u7nOyjXKAv*NChoe`%{pLP!AlU!^VuOyY+vk^RlQZZTZu2k2|TTg9`q1Z zl0wqpQV0#Sy=74eaF_coAveb5?FQuHkho}{MDH67Q~wca_{{pV+&Z+fvp2umNZ%Yp z{n#i;dh#6O-O(iyK)kx_1+mHfZn40K=1`=theerWWAMRnRa*x~r}pvTC(bQW3JSU# zW-sWUYxpRTNP6sS3u02B>%2#pWh&>Cpb~;RX!tWZ_?i-DX zR(>L&R$~PkH3J`(@hl87;ySSnfwX`uBZ_3Fl$}{L`J(h1TQUj=-kmFYsb}bf{~Rm^ zr7Q~>?E+0$rVDR#iXKZ+_j^8F^T@jwc{1~f#F970_Xzr)PbNepHD7#0IcC0di)M~W z(iO72YSHXH(TG8ziM1^+rcN+gb`7#wpyITf>#XIHe)r%SgPg!ABc>;2NESRVA?n#4 zi7LP5q`}ipPcQ!^@ak}@V<8UhWpN}`?3XEnxJ7d7qZZ$mov@2M2H(uT2QRBx0oJw* zS-1V$`^thpMAO+dSHsAH$t}$VY=(8#^%xw!9lWg3 z0BK7+T8`=Y16lH^jos&+;U|(JE-@v#t*Oh=3P!BFI4WftSOtuOVnSSP{Am7(cp?Q) z$cnPTxtk_72OfzzO1|c+CEKQOn89FpdkfAJ7To0 zo~xB>XH(!t3rF!9l3fFYkxJQCpldB-T~sywd0c3^&*ra0^x7qRo`_G~J^8JLp<;x5 zJ$(r92J+HvE`cL1Gy9JZXP}-Wk{0N?91&N5%Qk~$YWjYyrv{pg?%YOuf`P%Y!exp2d2X<6R)vum(7WlT80nIb0M z&xXO4ZcY`x88T2tv*zUG{c!0aw*tKbzfTmE%h!Cs#a~RoVo=-rpL1A=h;q1lZlQL( z^|Pi(y}4QLa_DLn#QV(T8{1gg+D@+=9BbYYlQd;I>$)dfF4O6X$|-yrJ3v$K#Y2ao zA2zIKykBsR7X~g653YISFQPH@+RWrFD{g0LYZHsg z+C_Ss8Xcx(>X(RE#mE|?vrj7^$#F}6UB}1c&Ld$iGvwJwF5yQb1DT#r&@8iU zHPm`FtMrujVv~vp3AxCRQ9s~t*vrpwmUnb^481ya>10Cg=Y0(_Q(hh(oO+_!7a4FlihWbN5nHW zO_YWtg>dRA*#X8XqkddD_@F*ymTVsU$Bry)Qo#>SZ%v ztJhonBdh`=scxKvlAe#@n0n@zLfenZSGQ}d_Ui13^KQ;>d>zM__Z^cwmdGEwaoyeP z*j})+b1xw;;HD;?o$cy(M%Z8g-nJRkD;hUsToKDH`9rBp)t2=0PhgQ(59ewZI?V{I z3Tl&X+pV(>br``|V&J$CKhQv;CsZAE$aMuxtWz*@a3Z6Drv8Xb7cPZW!*2PnUjP-M zdhgf16*5u5k!&4j(hM2u$Mv3`QxW64f9KTWdHemg@QE{)5-GZFP3p^3M)6=(6pVy` zVq?5=vt3ZkpIxs%2=1bVqT+u)MdIi0O+jR^ri(rnVSVt-tx&smj>udXdW>V>bC8Zj z>vcBZ1W+G?9K)BaqtkUXoW9ZR)@o1QW39BvDD10ri>ly@WR0SSsC2kAxm;ugxm}71I=0lsxhI8EI1ZSc3@|xFNRFMd@z;rW_`OMA*#G@gA+z1=}Yg)q2paKc%XQo zf!A9@r{9fhzev#Jba=d&Kil3D4M!+v3L{W04zuZ5i5s~7fl^G3fVL6NnPo)h*#gQkxl8>R zJtE0_cJzGpi13AZEPW-LQI)zu=Yasu^l2<<5a}h&IQ3&;<+?pkzRzO14PTN?FTYU3 z12-ffZ}XI*5t1%(G`0*X_V%iw_10<2UiGI&th5~dIw$6pdw0|5sEWkgeW>HzoY^nG zGN8adJ7Y;{pR$ruK71LE|c03B6OLo8mdaE^@; z1XdsnxiW+saeq z#eSl11q*C*BbROsgK*OWGo%}a*e=WNYf_SeaVa8S2%O6%vsX)%{`rAG6m-1Xalueh znKC5v*7HB49PT|i!5Zu6>%+Q8!UG=`^c<}YeAcj44&bNA!5as2Vnb6`ikaSRbRC){ zx3=EazZ%FjU<`|`wXN^->^SibHqPE!euW|Dq)yn=r%3;o*X7`uBTq3$KP_uH#@4LcPu;Y9+=AA@8A5Cg2y-P< zOTp%-c`AyleGDm1=G{w6kCB531^ZjUc5~^MiRNqHv5#~5E=HfFGAwU*4a@%-QYDs{ z2U*{SAL*^U>7Y6yBr=}9X@-$J@xK$;1!c# zDn$qoVQs%fzKHDq`E|%xTEi<}@f`k2K!NP@e+0+r4tc&{cF=76pD^N7>Ep@>4b6*^Kdf%W{=A9=Cjj9bS}%e91Aq`m>0&I>I0z;};Ri5)Od??zs9QswD=kb?D`Y8U4W6VoPzGFEY7mNw>#f%0_jCvz@B zR*lXXwRpD{!j$F*l`iJX-dmTe&j^GobR6=HjaL&2wv z9pb>osZ&w!H^s=466Egb z5NAlU{|3U=TN_;%Hdw(BnHzYhlcU9QTokQLhX^Qb^5lH>eDj;zr0mTqP<_VdVPL*` zB1q`A>#r@e?`R?Er~l!)xbj%-6xGKl{f0Odfge523ek8Y_~`|+0MDWW7qjYb3y+be z5gaxF;^qY8qb|IG>6G)~BydUPD(B(c981R4@F2!2;-2U5#gSni&eRW}3WB!2QLT!ulaPxgWC#f6w{LB277zwR=E!<^_bM4{qsp{4aAh&^ z>VPKOxeDu3T(H1=q?Ez18|mbj7nZEZ(VnKL{?%mr5y_n3_28=dPd7u@g zQ6tl`C;}c*d#Hw!gED+$aJ8nrW20r|1@pdwdl-26$b~jbNfd0LN~78gh(sid6;Xnk z_kkv2U-6`0X0jrD?r;%aNyYiX`3Ir2iLwi;ZZSYOyu0(*4h zTAGJNa-&*aeZl*}S-ezFeq0!q_#@6asMNShkzQP?t$AkTKw*$I)5(A!sMn(|?-~c< za)5B^hBaOCp-7b!<5N1MiS$u%O0M$8+zLyo#>)X;&rt0`a>z*MrDGlbsBw$jOVHy?^7``*F1V4+lBwAsr3xa@3CS8(NoQpNgMaASnc`>{g0IO6ti z)lD;_*$V$e16`NQK(UM^$F~Qbf7LOcV!wNN; z)>tw1zE(_by{2luLH}j?i7*t)ys>XanmsJBa&^x=+2R{j(q)M9CB)f=Jwu6%B#&UcI++4*bQ0xXk@7yYL7{IX|Y2YXmr zmW#B7_;@Wh>UhAsJ{HHl} zlgXxD;y>r;ZDtd|bR-hk4;XtbU7k-qY|>WIZX3)WxfH$<&=XDv$)oWxIG1UZSyRS4 zpy&DhOsfkQjgR$9E|H_5$AzI?aMM0kU(!E`jd{0@WN(*9Kp0}-vRfb!sah92s2aHf zpW3e9|5Z*F=B9ni`Hk+iGT;i<%?J1VF@mT^_ z|58RKBw4C5-(CP?slQ)7AC}6MbGO~ef_>C?;B;|(#|R{MfUsE!&z~j#6O@ik$&_O* zt=wdHvc$Z4;BGDCg25$wTn~O?zsTVaZ|GTXQz_~xs?i?tmaQs|WfaIGuVQGAL2Z;t z93888^HZC@p$eSww0=EfWCbdlU(nXH-wJkHX{WAQ%m+y`$ z);DK&X{%AONUUU-m*X18w(tZ6h%hdHLTL41V}hyfZWndiRz}ioDHDHtNEhN!Wb>FY z$Crd<&Ql2S5UtaWE(OqV$e{x*QN+8Jnhk@YXQ}EGSqFwGLEYW`0?ycwTCozHj$?rb z%|6D;Dq}PKkstLK)7;EX`wH`QIPN1!`cg$_Ts@V|^iEPH08bosv1rUqljzZlNfFkUVFSVxu-9EEN>LcT7$zou*(J1{xo?#pJ*?xt`UJQ#H8f!`(Cev^0ZzPY=A z-?*cNKtw)`SywF?e_(?DY282DN;VO?<18)i(z6yx_TBCn00$s5gw!k zE`?ExneWLzx^LkX(Zv2~q6T zb@A9MiMig`#n5SZcClk3{CgDHd8@sb6H**soO}~Z? zdXuH!9ln8$nWp=nqNYwgWXWDXE_1+AqI5Lvg%6SOBDn%>_#-G~maQ+niD~~o3$WwS z*wl20lbqy|u#bscrY0hk=_5PLHboj9iL4qB%;Z4iaaP5Yan-6*w9GvoluiDz^-<=> z_*pD(ljDm;YLy0%5>nPv`}^B=d_{!HS>(TAfn$q#_x$`b_-q+8*w8FBm(Y!~nAx;1O)m$iy^if%BFjk?1AgFM5eQxM)o<8?_)Y35kK-Cqvzb zRNVPHP09x9Gg+hp3d7t_f?f*>ehTzgP1HpwQYi^7_b>UxFxf_sTF^>fVvcFJ`}cjS zRd!6BRUhgeZZac_`Z1ka!k6_1u*)ifp`js13(aHt5nB`Y>p*H`Y4Hi;_Tc@g?fHqJ zJ%}&G*PuYeY*o2?Oy{Z_p$X)cNb95Zv^1Q}D`DE&$VTBL;|2P!FtN1?` zbyG7GXXul>55Q*<2X>C=MId>;HTg_e-=&9o=~e~@O;p8x6S9y?Pi4w8u|&~q05}^X zlcpuuaw6|~!&>iqDB$iMD)i5#G^BT+Uo}cl4adyW7d=^^^3{*`V{T8|9)rNAiC;}5 zC)td2GU0rGm??jwRfkUh979cg!e##;cist=oVfy_$G6t%IH2$1fUO2+EKCfD*%Z8y zVl6uB8)MlswF`>j#|hdF3C@oIwQmPbRu)#^d?38cb&lunKT>fIvduF}{itO>#1&X^ zhkk~|QNI5xro#5dkfBR7;P1dPA}VTas;;+R_u^T|pqKpG1$8{oh19R}b)$K|VD=bN zzVpVwlcq3>b(fx2lP(<(c6eg$KGiWt%y8d}f5N|!+w4jt2~q(A0-uLogMKmk8D_+X zsDrHuKsY>BR?&)(R2ITI=CEZn#FFr=#K^&_rM*PsBwR+y-m@?hHj+d6b|?w++> z)X35#n4CF<$C=-}5M_UsFH39^60b)%8wSGRZ;a?VJeN&h85nl`IWEF1Lv~EF} zx`e=P=RL0KxJVxL1$k?E6&r-=ZvCMYu4pT+<`wnANi$Pen5enmSrPY(?knDvvX<@* zK;gktYyItz@-*CfDS*_=k2da$Zr@lhHDS!G1r!=E_bK+nh`HXU;s=jmg4lBdj>sB0 zCE9+lrF-DfFxUn`t{!Pa0z$bjjq&p0e(pHM@7_^Fy9O{5A0Q{p$oCs{ywC5H?eqYm$Z%n9uy zSF3~rs{-RN(?7?R*Q7(n?2=;u{(;xKj+N?5ECPKR;OPR=5= zCTB3e>bLj3GtzlHN}2^>LJBvjXW*h-6BPwlMPBQa54<*?(q6%;@T$*IIrULbHsJ;q zgex%jtsh5om;7-_luO+=@otkrf*t({-TSIvOi^JyjnLGspe>Cg-;KD!fbFtYL5}K7 zqU*Ken73JFmCOn@Da4Va;)r`dCbT`72pyYLZE5al_bm&&gbs}uqu&NjhuQdkt>=?o z^iZn5e@WB#culJoP(mqtIM=gP3ebW3>p7*R>CrayWC{RUK*IT@ov2YVd_g`*_mCo_ z>Rn^tQp>6=#Y_o4U4hP6hnFM5&*}{jXDv7e_{-jepEB?d7%@b&R?&KtL#{h|dG zNMH3VZQ-UqHh38VbU(bLs=4*&u}d}cb;=6Hemnp^ZK_$y1|i2+G^=gW`JWdt(>h@t ztvLUShRkv{D}kDWJZ$P&urjy)33NRaMTVqABMWyp1^_KLbdCkn=W+1p%k1b8`%Zp8 zO=lCg$Jr0|fuU3Yn5DU0*3Zm}hg;4gzm)PNbMEf)5O>dw)G-)g2NpXyIfyiOu}#SX z7J7`okEZU4DhM7V%H6YS7L%EM0=Ku$qOo`+XpPgBoJ(zG z=9pIKI(A=e$JKivzy7>~{SlezM(XsXy%Co@!ki8rB>3EeG|-hRU!wAbilc?V0w6{3dAfRnZDX+Wu<9@b>gUe<&AW zVq^Q}uP{7#Bc8?LzmX4C*RB+0t*l1>U~Q6C04PH9zaU%`h8$Fla}Iz}r}VXLO)hko-5+!adhB243uPj7 z)3sO17QNMT(DTU$Nz7)*`>k+M0!l*zOLBEZtn^puRI?gXe3|)21Qe_p0V7#SGUZOY z8fw+Q4kGstTlR&C>c`{!N^24;T>1dE(JJ0>V+WVv!@l&uO(_^ZfPjDMcJeaz>fK}QxxZ%VM-{2tRgqIQaS*xgdNejKs>*>~ ztYPU^jeNK5-4IKrfLulpMq|}_NZTP5i-|2H_v_~k#B2K5$OKd_dF3lC#FFk%Aj;n{ z(XE6~FtBLtv0r(-&^GDUjgDSghVk>R&o^H|GbZ>cSP>y-mT#3*4VPKrCc;*NJjqM`(-_+5aM4u z-fw*`N6Yjpe=2zC-;E=1>(NYFd|DHti$!cZ763@d$)Skt_Kvm8!xCSDAE#VRBqAPzqx>z!Y7z4@*N6)SjVZW57U?swPBw5Ei>5CpUNhe6AT0 zO(E-6-}BayQMH4Q>?qRn)%j>ZP&w$-IZi}{&C>g9OWcoYLTk${VNvoedw}j7v{fkm z2(T4Galj)o<9Z2Gr0Y`7noXD6VfFl+ixJKX^51WtcBtLQ%cV*@VfZG6xIJZoJow_} z-HxPpcbi_dEdwE3UD5GX4*fgml)0HTZE|(NWMMtwuV#s!uE%z@NA*iQFdG*l&6|be zpPlrI%WYZkNee#tI@_ubE?b(Z1r``OjDIJp%Qz!WY2)pZZ@bHO=%B>`OF`LQNp0d` zy;?SV4eM6~;EbT6r`QjXhqv7iC`IgUl4NS5jilGP0-am?hj`E^woFlF78aPc*&|Mw z8R9=61y+rYV=kCaAq<35w%mCL*L)Mn*GEji8kwXk$O>U#=P_c(u1)WB-2P;)eEar6 zqK+~AcNRjYHh{*{QK(!LzF%^39#m>HVLMg)rtHs5jU~rzmNIzA!6CWZEzpiv1}kVO zs6+mGX&Qmxd_XHscJ5yR=?dm^kuoWLxUs)UC_sTjh$d6=+Uwlen@G*dVdU?{&~HcG zgA@=Z4vyqZ`^)%#Q@BhXdT7^o+Z;5vYvR!8-10nfguMV^b`=V*0j*=S`yL8g;23~w zD_w8@gX#xfbe=kYEX+8p-~KCfL}=|12l(WQAZJydk5vLek=JxS9zqIp^|KrLg@%SZ zSR1%02y=XMFUQOX&2E6stC&O;veYsi6g*E6ubvuU3Nm?Tj5Z+i#|;>P@|za%DZJc| zcq}Q&Fj#<@ss@Bcm3SZ8>}|Rpo;PgInx~W-!%w%Z{PN-@D!R|HCUntt2I@K+tXAYC zY!Or@?5q!6i6D0q!()B>&u{yl*Ovk_ z2kg_-%orobbOryqLs2MZ{od67#m?lKm;cnIGsxwh-{C2&!W7qVB>l<*T%Hb5UpcH= z5jZ|MCn0~T(_&|oGT-VH1f;(o7PI;;CDx5ZK}MI#U`l(rf~F_+YSK}v-4ZvmJu#ia zq5mo2n40D2k%Zp>kz|@PZI;#Bj$dV920%M$k7A2^@p?*{b9OQmfte_&!RoK^3_`VZFGg1l?uf9%?&_(^}6kE z@-Tx2xi&e;9Rr>Bzv+}I6@6Cuui805M)Rr>Z+88%Og6u zBq|4->f5g(&UKq{iJ9yI0)s3aMePc`vII78*MAwir^3>}XWi|W@?!&@lIZ~GrO-P$ zDKaE;lb*_X>!b-SH$cigc$tQwnAx)IkmuvUpkAhdwy$B~l)LWVqBJ_0zBv9o|F>42 z8iQO!nB)JKYC{5AB}}jjkEbZd#@Q>`o+l^aD5XFj?bFN#-{nizTVkBvCx12IQ~Xv2hjtyUOT=2N?ddX}-}t|J zwmPxOB0wZBKl`rwtzHUBi?4->vP7-Bx|H@rt~+&zSAP~|^=i4n-IaaJP=0t|5utw_ z<+bmdV_)ko=g6GLDQrH{U_GB#ij&a}tkBV$ICWQW<&N|Ypw{j6Pv;0d`Q@KFLoSd+ zGkRj~13=7nuIQa{q6POh9Yi2;Yle7b(sW3|vZs0cza%IOe2TNQ;ao@COL$cN%K>UZ z;qMQqX5%6iacG1j@7#8l<#sT7S!P5kXod=F%(2c-n7OTA0Bpbnv3A8h-cLh&b&24XlNG?6d6PS2Ht4+4o3|ly5@2(P&(gJ|} za1#oUNkF-;PAHy-bQwgTL39bglvO(42{hc02xW1gKsxIc{f>;*gO6yg!uf$AnU)5@ z&Gl*%9*==w-sqq2+un}o1jB2dnsP$l)y|XD32eAyx#ypN-KhgJv{kdkkp;crBWXZX zAoc)`|K_+ozh2Qnuq3NUMDu-fPt*fi5II;y8f5QO#oDWfTDOTJ1GpFl^*?4nZX zt50l*Qc0ve^;`)h2W{p^tSl|B%>hB-%IK0!zIod9ZSB9)7K2~WILD}yUEqDe~(dC&J|g2JXvo+`FTW<%C^sCfmCRFzR=^% zeknVT#55qRq9pkJ%#xia?YJTA_46=*)ByvB8SC%Dzaa+=s+>k$p4MjEWUqVa-R9!l zKEk8X{QVy+FGbO@g zcQQ0=4SFj)Z)pstsQxle-_tbZePzjOf#fZbHkQuS_5J<;@K7O@E;~Uf2|2Z#gQb(; zL2e%JX4X1OuIuT{(dxRZ_NCmWH%D6>Y^^xhQ5~&<@6`Idn`5Hole48MH zt@s&?NX|BP-#u4y6K&m@B<=!oBxhCX;;QVz^$XGLAe`{$+JH$I`>z7ZljgYxAj*9!r|L1XO#W1zRu099Zrms z?d#2L401zK>PX#oeY#jMFVdQG=wPvIcl)sb)4+F~dwBjZ?ROQ=;6b|k*!$JcY|hj4 zQLgK)mb701=M<<4q(;|)HGd7>lwKx!i&$*38-yj=ja71U?}TtSg7w_n?7z@atP|>; zf8OIqt7k{7BZDAYlIl4yYO=P3b5#&eci!~JoT-Jo8@$=O7Wqg`7FNMYNL9N`sIqf` zy?MF~ICpiI0h4ZZQmN6v42%&jJPhoTy{I#iT<}VNOK`oUqYX>fEy>-we*7SE{-R5G zVK5&lPi2o+;H|qmzhuU|`SZ>GA{^WMmJlU|_q4vtx1+Wn@Sbd1xcP~@p#@-8{v{Fy%29qh!x^TJ+*~Ui9X9pU9M3?uDhQT|=m5Kn_2kryf2iDDCw)^;c*U zz9%R*-3sya8MxDA0h*L4`vUf=d91h2>Q=&wT*x)-`_|%z`)#4oj zQ>*D?l~1RLA{mUVxUth#Jxgzqr-iN4NAnSw_*j`HCkFqG$x_nH?DCbxFV8W3zJB0B zfwRLd{pI58#fri5g)KqMEK96yr04$BHkgmN!rAw(d>}k!Ia2ceCKJL-Glm(yJcTpi zVWRlai=x>JZC<6T-nc;b)}|xadqF9QhDUFYmZ$CBdnZA=DVT<%he5=xbyR3#{$F(w z2ZxlDCUEYm0`wsLufqMg9QcV^2nfhqLDlLURUOwnhdaSUGgnOL#oE@5`ER+;E!Md@ zidKBc&Z7!_+y(}Ik2du;tySZ-v=SYK|804w1pzq-DI<~iH=(Ji-5T3BnoA83(8 z6n+CMF+{&q3pc7D-gyy#!EHOwU9Yff9(f77+mbe@Aa-WfeVTT#|BZ+uy+RNmT1?_H zHfa(-vuUrpIW$|=XrR3?-c-I_G6A=SZ?1Rxv}KBs{U zztpv$Y^j_-*y5?*oRdQ)IIX4q_`GTQ-@Fg~xI3$76fo3Lvv&sBoJyNbpuG#s&*WyE z6;|nrL9QzWX)Rh-RL^XJ|(sKKQL*YOM4u36QvM zn_JBCNh@mBiVBS^n+>szF4<0;I-{0SBV2P}>#?t{G6x0*Vd+jJb_(Yis4Grh3nhbu zu9HWQ;0;*hA9$ZR)XPGJu0(db#)g!ZcGe`KayS19A6mHQ!Ln z>uvav_mu$bs;|z(&HP^)0H_OUsJV=fefM^r;Pr}gGri`B)GlE{nv|2G52K}ioRBH z_y9+XZ*24RDp;T#Q>S6ho6@Q1-Vy$)^?qkWL1y^=tf#f<%PNHz;*uxmZukE7CG3#@ zen2{&{B4x?DJiV0to5=bc@Y?b>n+Yh4)XP|M{079I6RFyJvo@9$h`8v+hB3*cvpl; z<(V#n;`ek9WA}6DyQqbP%|RM-_S?6B-^-4H$M zeLlIzswPJZ7m$d651g<;yn2&d=C8_GsM@Y|zt`<=#%81-GwErYr$t8ODJjCuofjqU zXZl9ukeEfXKKXT#N!Vt9Ur@@7D3VIi-rR*XIS(BWi{XMAw6N=R*5g5CibY(}38d4m zOuX~MU)o&N^oP$f+nF6Sbl2M)-@ql6MsCqe>WJ*J^PU+O~NmvvNh5h~zr#CoT>>2V~HPPU<7(BF%?R~>j!OXzb zc^}6%4LvFw!E%}z1a8}f{TuAtiXB|xnKULqkP{}l#)p|PVySDfgA8KDk5m(N6Ig39*&UaJC z+7VLinDSi!lNk5=>uo?GwiInevPeBw8% zvN*GeK=_pRTNxw9{Iva+rS%HTdxZjVG~tWN(~c$4~h^qLnB>BtG{HTwf(6Us&NIK4Whgch%z2i5DqRs4O<;SL~bvo>M({J4Dnj^}Mho)WV2-CAxGqc8BZ@QEoChD^Oa)~A2xT51m4)Gubkd7sSYfok zv}0oF&BefhZ9@tyu3^7HwV`g}?Gs?9qNKRK*(l&|7Ghb~49``w*jS#5VWYT+G>m^4 zP7(d~K~(>h1%#ii9DN>j36#4Wud27rzkHE={^weeNwfhowdqweIT_E#VzlPesqepf zTsCv>QF2ubK8F!7BE9}ew*LFlzF58LYkRxa`#-4d*Y=HB0%nV;PryGt@)YTlM6+}4 z^akYBw^89cY$w$=%`auYhb0G-B3!WgxJCc^)17<0sdTQ-PMP^5EGPcw_|NfIvg((+ zy0<9g?q}O%krDu^o*5?&c6N4(=leff<1s;W#&lQ=7BKirw8n_G@9EQ%>5;aYSdvo) zi_#RfRk&)8|By}ZRA#B`<2M?YEiy+4Usp@Cg)9u)1iTxHXq(FPFIkE!_y$0r91{Hk zEULtrH}gXnn`JyrGzs=R?48F5wSWA;>J+L;Q(J8+1>F-%nv!}%&3C__8TY=`JJ2kb zdm8f;IM*;_Tu4BkT9QF_DVkNT%6su=Yovmj+_szJGzePLmUa$E>X+MuYoMjfqgfCv zAuFj5Ze-4tjI7VsjC(Ox)*MoYU~;~<;Q;xEMm9rn__LI+UGZc zIE@GOX7&)L_^;yw3TYsRr>zC_sXHFb`Kv2nyL^jYR za>*=c41FSydL0Th=$D>|7!rM@|IE1S($h01^<)H<*G2uVK zU+s6^kUc&4?2G+lb<#Fi;se~<|u z1;1%Ruf@nI+quE%UD{@WBEuU6jz@r(l%P6)vejF!&KvXm9Ut^Q@9d!*pvI4S>cL%v z`9xBR^87tbN>oUD)F4*Nji~}jiUP_637azyxV*ZTg9Mc&^fZEe<6+6YyCp5lwd$;d zzNqe~`MT>y6ZWOW!2sd0vTyy5x(ylSfaC~hNC43(7$67Zbdy0}BM;b?-t&xa$Ih!O zB%FtNkmqlfoqC6KK6^Ibuo&rn9MpUaSnAc*) z^omg3!(At3Jp^XuRdr(EV_;+rWVzKATw>7GZ#^I-(w&<=QyY3c{zxnVJ8QF5T-K39 z!nR$n%OZ{&iXJ!gk<364eK*=dp^peTq;|p0gd^TK%l+3p-1B8~+eiV6CQfC@5oas# zvg?THRfSOD5KTB9#>zUPNQJ!?-^lV*V}^V*j{Y-?=wN6ZV27M;?(Q5MOahCv+ld+$ zXwS@^3O(|sV+(7;>@KfHb#|53f7fJVhYVFOFPPixH+UPhjK}}DLgwIxgQt{L5ylPK zJVj>wZ&^oxR*?dPgRGXr4a{v^v@O7)_>8($TWD=z!ooVI;(f zYW%%Eo*mEuLy$pbxs(YadXFwX{}w1v>GJG&6HN+1CTvuXCfYy# ztt>aVdS_5$e!_8@r#r974nVx&%{34YCYXE+H#k+E2dnAOXU+}eQvAs%C#TE6M}hMR z-jVj_sIzkiG2p{JUxYs*@FSsNG-GKOTm?A(H91 zym7hf&KL|oWf=@`l&VyZI$_28_`7dzFtU62$u0{^kmAF(w>^}oJ7;NcOgDK4JkPC< z>~VOR_)W<0zOGiq4H-5Q#p&6TL2%tUagw}yL`+;ta&q#40}`<1y3sW*r>h4=*;yuUHtj#y+f12M3196=Wgnm?-JIHu=fOuD4KawDhAjM@z=_kN^zy}e_0{Od>y2XD zsJTacFvw4C-1_zPuOuLpwUMj;bW0-uIMzo!`KboCuSq&3auS=abeYQ%p|BfGE^XEM z(9?2EpvEf`x)ZPGG%nm&0vZZD-EhFCikMtoL=?aw`2kz!|EELR#9Qa7-QA0B#fj8Trq| z)M+ZfE_gZ}p@OEYg2hzj(%S={nXu+6nv>eo5bF+6PjJp1xCfgua_1uBz z@Slvqh``^ak$Ae?WdF9}DwD~*_@rB4%txT-d*Nw6ea-%hjJLN$_Vz-|1ma5o>A-B( z>j+6x{CjX=5&Ulhpvv{G$FO}$^f36OpBkWaXCDcTtuK3ADne)0xl9h|zYJ=id#1?Z zhAy;`Ip0?u|DQqaO7q>4%~hyEW=3&oZoQP)(}s@;3d2Uw895m;Sq?hbu4*rM*?Uc0 za}aRd>%sKIZjWcDw*K=hMZ$lpPJMd=`#A=m6JNMuo+F`#krzf8zeCf`)@L(2a|q zchY#Y;j_7k{;LWaF2GvxaY349+;G83U6a$VdSYnh!YfkK`Fm0Cd%Wcg|7RyZDqBN4 zI(Yv8g$Z~d?XkS9v?y}|{|@|nbG@p07ejtH-V>pA_>%}4E`ts1-1X7DJT4wsc>pPp z0DxHQhBE-xb?+%rFvnS9D%nI#lHktnpN*^;-Q{ZPqpWu7#?PNktOUR9R;T>QDs47rIKMePF`{`x(Z{pySX?Xce;RZt$vUhJ$hK9ufG zl{aGZ$D(_cEG`%2w+u)r_m=k-Lzm}`OuR8$^XRx0F$^L-zdZEI6TP{*zPb& z;4>_BEPK*xOxo2>xZ4XrYp?PfOsek81c^@ks_^L_bD4JeH!f0laYNrR*TF{sO88Zi zP@tNZkX1BHnA%oi^vM&xr0?5EO_Avk1(iebiWJ%hLaBnthD)>RgQQ;eQ3MXUA$Hv#S{ZTSH~eNxN;L#piuV9RHjd7;1(3RGq{X zk7ZzLTHN4NQ}*m~+F}A&=7e^~vl;s}QfK`$lJ%NnXwmwwpd6V25@>;Cm*)xFwPG)#*yww0)XOFV+{^y^39>}&Ko zbkfg-+pVJaFbQq77v*!Wbq%_>|J!xm{`UQe@4iJQhy;i>BVhl8ZrHqMh4A4lIZU~= zpaz3p%Uo1UAg#qf?I%4rw|($HD79*Vn`_M?0gxRbvw-8*o#2YoE*B?m=sS=U{bxn7 z-L;jOZ>p=Q1VkfH&8l{G}ccEe;Y=@U{AO9q<)ff;sy{v)hcTGzfsySinU|8v)^w zOm@1_@}haH?-%4GDMUSo=s0!73FN`WU_e1};R3(C4p{ek17!eE;3K~&ahM2@lK900 zYgC0y?130lvLaBX>V33FJR)Z|h>>&lP4^a&?EaV|{hthTRcW$mrE}zfaM1tf z2V5RcHX6Us0ZEhOKtQ1(7p~8Hf`IO!`IlWJL(d{WHT6Kf|3mz$@{zeFLLT`tN;1Q* z@T|=mnE{5VA@Efnh@CH)aBTdl<(e)>DF53M#6OkqRMQMQ2>X^!#6*^LS@c~JI{fq| ztFx3Y@;_h~?-6d+0W-=*T}*b5th14j)&s5QD6lK~vekDwmxpO@HC3~z0uOyh94 z1_+8G*0VVMM)Nh`y`DKe9x_~;Ib`6JpfD`|;O0lGu3*c(u!TE-x>tfV#DXgia6W z@_jQC=nqr&1 z*I)gCZDGs1FQ*v!4S&;sYV4uLfCqYv3K}k}j0sCS4S+WPBK!ZO6dB>~Uu^~AL}DKU zjO35wu|mWxH%8sa^eLQNGJ29$XWcZRLjX=;r);tlxZEH{b-%e)G>?a6KcylHy8xKK z?g{qBk*>~z3c}YI;wSdAH>7~T!TbM~&v5)tZBxV+;rBmU!mZR?X!A4J8zC@s{ER?L zXc-Kj-;SKUTc!y|IP_>g|7uMs1+}lX-`w5VU4;!0y4kvo^yY>StLAp;=^6ey=xBD& zlajtbA`hyjco-bLxOkHh1?+@iwY(vv%woR6&1{;U-pmpolN3rqY`V z#W=yQYGut;&{@eto!ga*+5SCBNaJ9K@9uZmqzTcqKK<_q6`=MlG#nO)%ZJD3MLiDY z<~Lmp?WfS<$z<+L?Md#eeeOSL@a($GYj5gO!FdcnAV#fu;J3GX0wJ`1E?x^`+>yie ziex}GGhfr`a>eaZhB8nfr)EM`RSm?o94Os!)?A#7yxOCV%i55N>za>QQf>3dTYVkr z&h-yiGDy;3Lj_4y0g{qLl@ZW~G)5G|ViA#V{pG%q0!EfsALnI?=87 z!*d;~pn71SR3=hxB6!$)61_I3w>Rtrg)OKW$rZEt*7+~<*Z|+se*(dZO-YWvnglX8 zzqWgX6z_O{=B#D27sR>i{V%n4GsU93FX}s$Z}8r4!kC8+1Xcu4?B8N$*S74 zuaYHGYFcx1H?8Usfx)069_zig+zuD%`_C>0cyxJ=R{DZ5c`;qcym!7e zi+@c&>d8b?)&Rk&$7C|U_&rF37DNoKUB4#6Mu01E%PMShj_iByvtdLuPeP&&>Kklt z=1j7yg$d;NSS?c&gg57~a8z_%4}P+WoP@21^txa>fuJf*)DxVm9dyS_h&2OoDX@+j zmX(nCHs{3qO$_lzx@4h3#^F8B6jeObXdKoP(U35ug#Uvia5(=0RP92fAi82xHV)0( zl-=fw>)J|YbpR^PFK6n%H?o(!_;7I`A05N5PILT})5v{|v@{w9W)W!6SQ2Kn>Y${b z3cA9YASw#5qi5eEq>}7S_KoNM)6Le6*5+NNNVG)w44ShPf&6X9aiOq?9>eb5Tr!t$ zo}!6z7pm}-G83dc zcf9RhLBK{7u-B`^v8c)}sCh#*zwZQdenl1e0t5NEI7v)kkuqL2c1lfmljf?|I)DUf z*dfM^^g0PDv0^7PZ2!Nr8-sMdG{9>}CZ+*QW5(##Gq1WvI*%9kt!mZoU2Tu$mrxMf z{ zXa(j!Fo}O8{}t##ubGu2dd?k}o>iU;`oep;kADcuK| zQR$lZQp}T9Nv(d44~52Dd`f6Sd`P$;QOZ*KGqZEi-Zi?Jf{n)yr^ZJ#XI5}g*WLVQ zM;&J}DUALpE>7!6W9(;>-h9F%6^e)!DB^cSN-&;$jcKWM1_Oev`v~s6;q^txz-FYz z|M1Rdp$*lI5r-+})uA{|wJ+#!o}RDVw>OILh)EO)f6Apf&Pvy`F*(3ir^E|T;GKG7 zVgl8E*TUHhD*i5vrnh-*bu4e&v)U7{C~nq{X4;CWqaijmwOYYSgj8-^Ba&|t82bb% z!l0}VG`cxKgV z6rLouIGo`mRcJ1HY@o5mXJYu~3Ete_S9_l?$^^xv;!F&iThe%N)35}#1sZ8AG(t3f z=V2{FRWnK>%FSucQEIP79)*KR0B7@{)3CP-Fon#l48h}n3Y{vIDS=+a$%zyEj>@~u zuP%?`5i|^_AYXX;1W3W?Nh?lXv`td%=2(^!du36nI)A1edNL7jPxrfu6i{<9dLXs z2)}Unn&LC!wi_O`LWBqL&F6X!&KzX&D0&=Qi16wB-wb%@2&{O#?d|R5XQyAs;EQJm zzol?u=?Z-gb6XAoxu$=X!9%E^f>E=N-uJ_3^!}cm+b*N&G44Vkpw}x~Oq(~j$&6>I z*c5gPItk+~N_kn{oJ=)kM6o4C{hI42nEQKLK_E%IELYS+YU&|>eWG|{lbk!tA@hK7 z>nWLo?@`oy@HaUhg1d81#d}=%$0n+N9N94+w}d8D%;4hX2wRHlm3Vtz+xR3jI}2o|8F!XPtqj4KK8(Iayi`@uEw&Kwc|p)CL% zVERYv-R+P&P3NhY(O6TZ-L`2z=6${3#{U_VBj;18*`v#!4AAnKN)Zev$s3B=Tq@6iVHe zapzX5%a=lzdxEj+8WLfrzoYWwB1pYPRF8>@ZEO_VTawJ|6yxEw@M&QP60?ac^|{qy z=8hkKde$H<@iEVvw`QdiCy?OsA`7S@B@(qb8PV()j4cFsv+8UlUjtv{&T6*V-zH>n zlOp*gu=w8X`35ZC5F~hk0f@5eX0(G?I8p)fhmx!w?T+-?78E+jOMMrrm)BSjkpVn|fG+s=v3or6zI3Qbt4!EKvkOK- z$(lFI-Gc>ri*_N3Y~AbV7zB|+{w@W9kq8iA(b26B96ks{JdhZ%uHu@(yJSRnGMlnLCGJCe>iJGBWXm>UwPyYiI90;?Z zLBxQM1=3n!=?yC{?E#Np^svRbf|ZY@a``VO57s;OpOgRglfV9~R~X1WGb+O5)992R zT|v%x;*r{ZFrD$V2-CpS;9%ul)(r!$$m}c|?C|>>Ip%k)fER0&JHc`0 zxdHYf5qP~nw%NiPUeMOx;>J_^lB^Lq5@!t?M2E@%4$u6@_9urLmI!6o+gqB=z%WI@ zh30%Sn{uU(T}s_ELNAk)?b6}_0otox@rS%*`eVDkW;T{=K@8E0Q&35_9^TVK4Qp+O z$6yAQ6#)B0hv4Lggl>eQ)ee#P(40=K&ITr9-Z?F*7?fJCIl=ajg z$I>|=hgG7dv4^R2)lvuWmW75+#mE1@7l2W(2S+C0NBg;2$6Z6!<^p8nkJX+Qdjr#o zno}C}G>)peFK$U`wmBs|VV0sIU{!wS&lKZrst0YKCR(0CXrvmiexitRQP?xE>}a{dx4SYn=gG%_a@m*>)qWZIyn1Gu^tijN| zXPbodT=0BWuvbx2Dp8HxZdXdaC)weK*^I_yD zq;NPr!h4-9Kk44wP>S?I(9KkignwwdWQpQw3=ybwqQkHmkOq4#%HsUk8^sKpzL196 zXTJ8<@%(sW0HN7l&dO_eFj9uYd83l9kJ8a^R&X$3dBF)h~jP`%5R~IIe#=&1LNd!MZK_z@w zO+;qvp`%=&4)2!K z#tuEL_)z3)z|fi$gK}?Y@>e7hYN%|o#AAhtJF=unh2mRIbYCLera%zTrvS_v5AULj zgs`)jtayoD8!U;%%r^YVK24P0w#HjP|dFp$e;?)>)c4L=9@ZWGI4=RNi9DTm`$ zWl%_|hwk?<%@T+TV#N>>oNWL%BU_KWxCM;0D^F8l!(c=x@TAh-y*|~6=dmO? z#fV%W8)uyrW#%6b4WyV(Fp@&yEW4ktd?E$%pA;N2JEvIe>R0Us+;IO~If`$rUMX}b z)6e*Ni?!;s;YY`m=B^})SM(mP>%5j_PJz@bc-|iP2_^{n>;v{Ei}uY=6zYc^*oY0> zro+IPG;hmTFu@3#KLkX0c$9rgD|~@^i;M@Jc?VTahGtVv9(|P@YAs}Xxqm`k^%ZNQ zm4O^e>UI)jy}xMm$@dkwwpg6u0+5oB0g9g8(Vpf=B1z=iANyK^s;}0)xH) zr)2Z@B~U+@xqMDpEdIm6vo?}O>4bJk%^P_tM}uyQ0~(;LuIY@ref6}&!ZFm$NN675s}%ALnJKIKIg_^ zl4lt`-<{@<@~+iABk|?W^-L)2-9=h8MW42C^kHf5brGAG_kClGE7xG{OzQ67AFPtL zjbuJ~i^B(x+rPOS7dO!Ey6<+32-6Tk(5qZ@$tyXR!{!*j+!k$Npu{ahR$)}Y{-L8Q zknoG^VX6HFI14MU323CQt?>c{akb7zw}W#(Uv7AZ7|_Yj?sDX>t!7oD1QLO%kTQBl zHqF~|c!(XU{-F|?)|vj|B~*I*sC-v&s9J`y&b}G(>R&q7i!~(cT5;t~M5neFbt{D+ zDY=)hm{Q>Ry#D^x^z^v?{qa1Q`|n~4qBs!LlF0yaPcfEEF>PDI_O|=RqgR`$U59SK?LdmH;&&&DitXzMJw~K1mC?**R1zs1 zkI_4&(6|EoUqz$v_qk|iH<6acx<$Djwp_XC6tJnc*%2a7v*UBioe=h51_1K_<8QQ5uAtPK>RX zTP5F!oJMH*E(iV=oL#O<%vxF;WJki3-l(w^Z&ShtX+$&Hu!_lZBh=}T8wj?D$#UvD<)d~M=?ujssc zGkh{tf*Wg9TR`9pO;;l>>q_hx&*e#$S8`Rm{@Ffb;BCXF;o3v(tTP<)jtlMq|FDJ4 zfH82KfuB9!LYZH9oX@cf{nQ`=0#I5cc50v~5-QM-?0M>B!*O~vr|ww|qa*CUrNOw)ZAew@L&7vMJAn%t;w6nV$1~c#$g1<~nOVO^z{bI; ze3KpthPBD5-b{Jz*q?V)kni@^?YK{K@a(%U10{p! zP2Qk>f2B{Vy;5Y7hZ0Q<>=d>89ARt*nnuGal;lD|Gp4>1$r{p^zD%KPda}_VgJ?1` z=c-!h8TZ;_!-U7L3nuGq%A~V9=Qbx0%kxJ z=!L;WTN6;Vo?4-gKqSuoSb~j?b6PmGs#ZV^vsJj%!AI*MZGVI1o7=moy1bwU=Sp&K zMYfy0h31y5$_~5*G0suf#*lrF02U>%mj%J?m5a7)cZriu3eHWV(tVg8+qYkHdqh$% z&|xpt3AFtyGQjUe^5$}ks?JE{8~lCbDL+haA< zT;lARYr^DD^k7mw_H)Q#cSR#w}5xuxC`LPFC!f zT2}y3(P{Z6jw|vh#f#5RDLA zPA3G?-BWc?2p2nS#V8!PkkdV$621j>rdEZ`7;Uh0#vQzAv@Vc2gw{-Sxpb{9JJ0b2 zaevx28=vvgrst`5;80-^8n>e(DqHs@3;K((kt#jPDkF8VaOT#a&27V>ZdrR;LB`i) zXhYu@_jtn&^nb|*p@gLtXDAuEmo~BLz!*qsaMxpv3K5G_r)boEJM4Vb`>&CqFa&_l z(Z;6_EE_j_i?-)7Q_!dYMUKCBAaB2pxRgKvslMO5pVMBV|MX<2 zGs2mbulqqf67K;aNpJ3>+L6UsAc`(EoD%{LdC(NBCk!SV$}iKSD1v&FB01f7WbLYE zT6T6HfgDeM7;ZN5s@l}dlZq~Nnqhv6AlIgqH+~zCIKh@!h~B@ifTOhhF=jgGVAXPLBB9DrM5}1HtBh9VYHhW76XydXvrEzuRS%JI<`Xz z>eGImm4-NB&}sTi#(R5eu@+wCRm&X?-7&EX^cb zBynt)^V>6@^0_E&f8Un593`ii$2lBLCrtrdFO)}w%9T9c!}hI}F(iOhoqHWWJd}6c z>ei<>ev!gh_q;pY3xc7wche|*?&VfK^*RHaUHSx zcu#KPRBnl^b;uVqxZHDN__#<8ycKJui#mDR36?aFJ5B@)HXMBggQ9KTlpzZC^{)(s zZ|~Y;1++(?)br}teoW9w+IL{GShtUfg3@s2tL|G65k~xZ{dMou~2UCW16?Or= ze7W^&AJ!Xn5JG+@Cc=g*P;=mZW#CW#syW{4I6c34p)PKQte_}kM_UgTv3D1>(mND4 z05;9ru*B1VlA#bQMrF8ZkdEsZ+G1-R4s@7lbnYlK4v4(i-lAHm!jiWuJR~}t0ABvi zJ)i+(zpl{oIM~f<^!6MSU$Xg0ior7lfSkpO;6jBJDe5~rgEa8i)3@M>Pg+S8S)@KeQZ?jNoeRv~;;@Hc6GlYj045 zbxoo-!aFrRqFsGM%){C5JLd}q4&ep1T2bY>dy%FXm)Z-89Kx|D@OX0A{!)jDKhv0GOla1Ta8w60gh3CN`~57@VEQeLV+mg$ZUPitsQ4;c4cV+rQU(cRXGp zb=%qg2;j;H$_vy7i}C$^m*O&bZ1#`!tZM7`lt}}ZbVG)6$z16_K!LEW()n!ZI&CgF z5%RQpys?F(w^9>8+gN~eyDQuMsv}pTQBDJsPQAVSX7hJQwp0uG?`Yh_mfvREkwY;! z3Q+nY#DRLAaURq567r=|bTP%mNDkw;#IHiKCHa4y*#RxWA0r`!@?eZ}qVt~n-4!yn z`CjK7U$&2pEAcW#gHZ0#%s9WbjR1{cPL;}S>t#Mhy9dX|l4!jh5dE}Ybm#+Aes=`} zSJk`XEO*~~a*uDXP;adx?L|g;o)~Bj&6-MXx8PxDw*pRiWJ@#?1@eIIE2m+R${7{l?grr95uiV<0Q>&j`6N5`N;L=V zgf-(HKALm@UEB2tEt76_>=Dk!5+4&vnar&$>s)wBEnNE090INxdMgY;0($n^t4YPhtdv*g-q)CjOVh71RqJueX-1 zw;iY^E|Hshid&sw*$6>D^=r~J&Q}m% zdTeUjwUdd;C_HJ6pH^;Z+iJc0)S!e#-Ox;-4reLhxRcnBwS6*Fbg&2xyfAW`cD{AC z>ORS8oWKjBWt@urtZk1u%}MnXsM1~T(Mvx#u_xE}+1yIb>N6--aY-rh6Zd#8oF-@! zom|{97y~>a7bP>wNlg4G;ES_w{%q`C>zWAjmKpn|3HtemX(?1Sa~jkf;%jO)hyVI~ zAm3|;O62i?f~EGi9?sbAtKH{KS2=(puZ(w~!+y|t*De6|0%;Cj#>O;{YH8>Fh4_&{Sb>K~9Rj1<4fgh{_h zMqcXOwpiBMQGE~Rv}+UPvQG+!d21#2Nnuu;jRh@ND7 z8=5|-CdAl3u)M8F`<==leC3{V+Jzgm>3R^R!GmE1v#5x4SjVQuo;TfpPc zY|3!S2kfX}dhyE%nOg68W?GzA;f}Xk+T>R32p976_Dzln^k2^ShObYe9E`Py6gIt% zO%vd8g6c)x`sip7v++r{i`Mt-j%@i-IP=F6)~#j~6En zy5x&9hVbHNjk7GF`-K@ihgH?uuipNLP{e%M+0n7?xgT^(w`Fja2XcrT1~}mo$F>)= zZV=bvk8tkS?Tg*`@JHn8$2Qr`LKAvS_^t=@Jx7JYHa8jnY#-8F!uCi(bD=(VjQ9}&7sFf}-f!IG6)iu|Noa zU@J1WluilW3eZmz6)M{08Pm=o4=H$EeEoaxiywHk<#Zjmw~m6>*eYx+Bo7Zfr9D}t z9;A}pkfr%U=m+!s_?0Nkl+ztr5!##Yn7`XjiA2UeT$@4u6gjou7sywopu~%S{+ogR z$NJ%Nn*3iMonJIKGCMlVrjWVrw7MN=x|ux^n27)COBiH^u{;e4z;wymRGp`npvSEe zF?iVc(rWWjSk_e!_fTe>%}M_T(Yy#m__3<@cS8d475GZDC{RfB^nhc=^xrPKY$dAA z#`>Ny1=l^f>)wDF_|Z`98xdV%hQVR)Ur8t?cXE1c8!-h*nU!EqO_oJX>ojc=v>{Z? zBuW+oB_Ws}o9N^Um6c{d%=$mM;I$WLR;y8G^JBApiVf5#)}gVsGc6QU8Gd}OaQsRu z3>he1Mu$*aIKkYXf{{oB1Jmc9|AZYO6iSjLf^DK7`?z(|0o#rP|)^!LuZ_F7u(1__bp#}s1l7P6(IC7ck`S~pKktS`gfT9l7y4BS@tR5w7 z*k(YJyQ;zRseHP!5??X~e^h|hpH7!+Z+Vwpgb}l!hAoU;OXk-7_yLaWI8XJXh~CRd zxDIzpCkKEg$5^oyAhTzmBw|HSqN)R}TZHR%jfW3)t{NC@~oz#r=2!y4TyTA7P0-u~ne+9drMo zV31O)q7K;_4rCM?My!FtDIgHj8^w)q9|-5jrRPm7Dzq{?No89@_%zvYMURfb6RU60 z*k@sb1j-^&XEC6<@AoL5j7bcn`0<_v;h+EqLB_VZ;s7R{EE*9Cv9C`i^Ke}INrFCp zLMW$OXmkBAZES1a@wml%$8DD=XFUkPnbg~e`}92R;Ap$pgs2UJXC&T1Rrqzm38CVv z1SOrD;=USOk0m2JyD7SCFz8vfJIHeF7tk{3Y;L726MOM*g%e0C4|o=u;#1fz~W7COd3 zDwQRsIhuKP!6j8f;Yq?nlDgL6sLnFsac1kC8C3OX%TbFg+_9m9&qZ6da{oH72#kyJ*jons?A<9I`LgmbY#8U zqn_2(evN_f3riXebpqODFV>#V3jJ)Uarqv>w|DKP89$U2d_SSFqwPc0G5OkaP8asn zgFfKf?lXXXn5*zGF+a?) z;qtM%1w%j`m0eOADSU?w+{69eKMrt-GVrQ{zon#u2;q#jd zt&vDUqgK8+sROmV66!u$cEA;$8DWpNOmsKtJnUj{veCt3f$%DwElBEpq&*(RD-m#A zD_h8A`rP)YGG1CQS$gwXB8nL%D4q^%nMsHA^rqQ6O7zWlc7pk`$P!s>Wks`1Mb#zi z)|dNU+&$|5>vEN|BE)Ka)FyeVQSFoOWXYO4gfBfejA!u9EAh~j5Sids{&dOM zpdVO&NL|{cI&}HH`2qq3Xoo%cmB)8|&y|~Kx(&vKUFnwYCtOtjuxWjd7Z6^-MTgbG z5>@G!SCUhzF3zUjUQnv`_jK6~>0=a>CqhLQU=w}ux_K~_5K)>DqnbJtzEg|2+_ai8 zi&4TLc5BP9iFA>UI6$Xoz{Wt%JO1Ujk-*G$xc&yS(Q6u*WsL6K`8AIQUoq5dtO&K;O^6gf=uW0 zj@;bLxq(>sa9q~^vK2t2gm?Y97JC8peq@!Kr&QX)MXgtIXl||XG^dh-g+YBO24iV1P)8Tv7?jJDoeM%@+NS#dUV!rb zIEeS|V$WKMnD3!&bNu(HTC@zM@jZu!dX6<>&N_Unp0DL+$9=U{<(gxbJ{5NCEjWGU zw#ETx;l{MGd0|%~KY~T@SCvW#ZIc9J{fRxKy+f0?Y^8&mlfO7;v$#hT18)sUrxkWN zDTMyfY@tYPSl23kf$f@Za{4#-st1eS)<+{n{c{P$0XXVH;*#}n^D zW5!b7<;K}F7L4X572HyfR4gv2c2#-+-^0Oq>y0L+%xO`#1Ajz-XPr&vL5$-mZd=0Mojpt?*(mO$CoGgxv2PS4*%TewJVrRsD@tK#ktzqT5|< zwk~w*h$wP9JHF@Ie4S*Q7SmAy<>_8eWbc))m2Q}?6egRuFc z?xJBse=W;WEikcfwY(#3w10r{!v>bv$CNs1>W?LrNzb^9Hv0g^wY+W4nUy>}D~tVi zl7gR7yP3hj6%QCoqenhc4SnLA&Qq@sm*O>~4b>5EUxjq|&dkkFEv8=cX#ut?V%dNZ z8bqiA#%sF_Oz*r8S292X44HmB_;TYytD{Bfc9#1YD*`Td8SkAYbBtEg4+yQYGz`$L z=&yyQ@n!}A=LVw`YCny}B4jlLX7v6DbmYVqsx@@=&hSR68Zw za>dKsSDFPBDK6gdMxME z$0*L(vbIsUK`=~NciGS?sLd+Q8P*UEGVYUsTA^LTTujmgML`)tbh*L~jr7_XQ?95@ zI><6Y2r_Hu33Kz*0q4_X6l+^V7^Hp8g!0ThjJO1`xO-+kYNiWD3Q0}z3Xe(N znXw`aNIZ+D#uHBMr1|>0u7`I}-n;u^6M_#Ai5_#STZC)PVoppln(d z7XCeM+(2zlRdPN6X}NH?W@r(;g~9VvX#-EsG6`W`j3A*jrv!5>oqfDR%yn^p@T zNu<~5o0iQ=zDiE@!KTBN?D}xO+7wb}G5|E8^fX%8aRh0O^;~O?Wzj1FkNRj~XlSS= z(-Ad(q7yJ1q_L?>8r@0@scZznkjE+S`idbJ7O2h{5(+*V!`*9i7kW&1Re!lPA1FDn z<9%6aQ-4O(NU@c`njgHVK3v;sQR;EPswk~Q7{@gz=MFu8G|pRVpP=|o6rL?lG_Mr4 z{UCbSch@(~o=X>M3iSm$JcNrxfSU|MR{D$7krYSFey;8BzyM{uaYM;a9+{h}UcV!2 zH)eh+ugJi&Ia8t5N*O?;0^~?g14JSvy88J_aCDLW9=ERc^jQ@lFpx#jQ+>965Kst8 z_`5Ll1ci>a>6%A`h`hbb;22+6s0df2eIdbBSJyv#47LzVKfjI&S zRM>?`h-9hgFe7$Xk8nCD)ybc1Xq^G;3|Zf1rv&Q}R!~bH(Q)y4Bc1eNN?HY8mTHtq z+6#_gLuQUBP_tD(7Rfo&8L(pw+z*slQ!cqROcL=N5{ubU{_gV^!8cMW4i1Hv&mmaq z`N~a4XD8M05EUEmlq-g=iv7kcIyPHOVUZ`z)|}-q_Haz`0O5;A8wK6!gEhsFmCNpnlX4&&1U^lM(QfG1a`k&;ZI0WE`0b#epM#3@g*!y| zryGLv=Gj^WJ+D%8xY~v94kukd9ajMtWP{VNqCUCacZp1UHfZ+Wdm`Yl_fE+9 z>NE1S=fWr=>v$qY`J%K%!of$){r&{pega;Ajn8dmZbL!OUML@EgqGj<@jd~;3-e{k zLNFiOsAs)6>Ed|nV{Xtfb`bPTL*^}YcI_mWxt2=f96q|WmF}_8z(9@g)HRmXRq9vqAr;r2!hZN#KEyh@i7xk4|DOY zw>QuB?c0IoEnk29_kY0AVRMcgRMW2=$6@)(zUD9fPE(n!7k& z{>p7U{^Zohgj$9bG!iJ4sdIe@LOUofyDV5I`dlcdbY}DvkiX7$Qo<~ooZzty*o=&r zG@{;KBW@f#csIw6?PFx*2mtTAZZmIj9F872#v>0u%+Q%39LM3Nn^x1`pGCK`0ZzDz zw)6F(hiyTj+uSy)kr9$cU<>PH*miA9w3|w_B~|n_8o7>q-#k~X4Kg`~u)y?mWW8o? zf;29Ov=?3C=SgxXgy#yyiMTT&>YPYZnzt?UwCBCrzY*qMK*x09MwgL?^p0- z4Jovl?c29A3Y5#PX&0M{)i5e`INHbm&)(aI$#KZ) zb~@7;(iWsG@TL)FrEX+O5f#4(UNJO(unE(}N(&5Niu*|!kteU=1u-=I@>m?ctE}UT zSR18Lwv5f8{4V!fs=pU5N*o%)NR})&O5aiWSyjmbAntQL1NGSs&ZE{HDr#TGQWkZ6 zRj7~xMN|-px|PJalT@;LiPp7J-HCZ0cYLZyQ_U@Ay3Dj(we4N0BFFam$gZT(Xf&ER zL0fQKMZ}35^>iYGSe*DiShh_)0>$5a;URkWiTBBbw7?L-{8p@~LnQgx*VwW9WLaHI z6KvaN)wuL$2 z9&jAUlT2=A)vApYisyg&5_M!F)-M$VgvVYSczdI z7#@a!0pW!)FD@!kzXKzoG}6lNX0j|btN48uPNAiE9?EO<_mWkI3}hO!|0>oS)2>p? z=SpI}>QWM2ztS?By2KH+(1@0=W_=O;zS2aI8ZfoeBvGa3f86m`Iwx`UG?m}xVwnpJ zwD+k-qtR%lhZZ=lGHP`iqJh7n9m3YuR+g>bT*sdNp8fj|hWj;Tzt^lg<*S- zNTr)tyLK(L=VgjGPJJdBi!Cq=1K+=zJ$f})1Mj+T10Y;fT*ra2k@^a1^=)R19iihZ zFV!q@00lcIeL5dF*-U*&T%jsEIK+`c*iZ^ zIFpQyPOxwhbagR5BP(^& zUN?<63)y;)G46cHx>x%y?)RuA%3NAx%!VsPnuqEJYB@f?KB}US~ZSh%`|iY`+(PkKA}e zg*B20C13?N-IU_UkzOVz9|4lwci&d_?>`Pa53HcA?X!%Gj4(9RhhGebn}%U9IyyoB zKpw|&FfEgnT~J38H+`fp1B4=nny=JIR2~h-SxnRlU>l9&VcDTypKS@@t&&wn^t-Yc z9eydeXwes`VP}gPu(O(oF`Wz}#B8IIB||mK3;A1g0wMZaRMdzH9QBA7^$IwZ&P`N! zsn^1ynus$~>y5b)-_RJ#^XXqS0tHns~IpaTQWer$Kf~q9(JcRFbal zr8F*GU&mG^c<7;UhT8W;-#DF4v2o+ZI?5N>vgOO1LkvSMyeWi|lnp&S-8D-W^1Ij{ zW}L;Zpl~!KWK6yUIj2}r2+?Tff{unH7cN}D$>nhCbv;R@VC2~RR_t2iOTR=8*m4s* z_0(4@tke#40VZ$0c>?H1CYz;7DL3lEe)|<20K}1N7)?)N&)bjcU)s=?v( z3{@_CLOIZ|P*bCeJLx`9sM48y}CK$>^G>p_Nwo`&MXKm#B8 z(EVhyStbi7aFhg_9v-%3mlBT53khX`@;sRqA`y(-e{K>k62|9`n*+gVLRpgA3#77kH4RCx&cc!6rc^zk9h!tx@&Q{+Hc5Z={vgz!uMK~l_k_<(I2usBt%AOJu3heJGlBK$1RTOqQL6cda-kn>=&j+$vSGhyTA9`Z#P zErRRRpDXGo$B)lrt*$-Z-41I`orYih6*iqX8u>K|EJY{+E}=Rw3YauBq!=IHO)}ZZ z%P+qGY!AvU;iczZz$p5_LW+!*l8vlw>t^Q{Tjs|#r4njZl_X+nSn3&`1I7hqx;)5i zVi_XiiCJa1rv?i(OtF;wCyd~;AO5B;808~z(-LK5SdrV^}GCOngi{ zOgs{$0jYczNlOM9EYu(jsu^7zrK~Cp)ME)zueAuuwxjMPYME+rHDq0-fZI^;PLQ35VJiL7b zCLh1dHPUD_8jVC-a9jtd?kbXWI?dKyyXq?c@^^$n(G~nQy%eDaY; zDFO=#XYee`W_4Wx$@l2(Jyp}~#2^g#@45w?eC3!O8qI82x^^uY+aiTX7h7+S+nnxf z`}NMJgvr;lJ#kr=3?PjVG+f{y!aXHJqA^82FWRg^VLu?Pz*Ydiz+~YNlTrvlSk-iQ zcd>o@(s~k1%`I~D3+1CY17Y#=)`jKktC>#JrLKK>LY%0T{lrtOIOMi{kD}{P$mPgK z0_NsjM+DpjyrPfzE0zvVzN(^t6a?Z1-f9++s)tkih^G|~qLL^QS1xLmA;pbK+l*SV z)MK3yCq_)yMI}lt>y5eCPTaZ;)7<{mf&(-o{wL$NZ)d7s*#t1IEV@^s(P%W60xfXN zBUj2ygTw%=B$!4K!|+L`ZD3IyC7)s>@?17e$aK^fY?L=Y%ivhp$?*ZpOmNTYdq_64 z)GYqY*AC$X`>*DIYbC%i6G4WHV#O4D8qKU|XyMG+v*ZBRbtn#x)hq&VgKgDbNi&6A zfBlV8VAl{S*-ij5PLRlGP@K#nhS09^+Zu$0$1pGez-=_s(bz#}XD6GUYGhGukGr`; znxRQ#!zj%hY@jnC3{$)UxLGi~AWlczaJd3%b`t}@3tdqRD8=1~#^AsNGlk6HQuI7r z$HjFWJkO=*dgNUX&-HQh;1vzrV)Y=K(h?yWqaymfYPF#1Khc3c#9KRf)Gr*wZCeuE zj%vXW=ZX@2-l!r#oU4oa@1E{b$s&Zv=ji%zt}@k_spW00ZCxvj0euL^xE2d!+Y%DJ z6X4408EQ1wGSju&*IX-Tf#W(s4W4Et6PSSyb<@gw>MH+{kL+bAA5L%@NwBTPx>Lq( z+i{%1TzTilw9LBvxM7gq-g2jtO2N}i6AZ(^^L^^fGON){n@lECvf!vY(5PvkgV9Z& zg~XjTnOju~w2cT=AWN7w)=Fbzj^d1Hn$x%3h^BD$Tw%=-mo>$c0hhe8?_I~maUERG!}oph-gWSU@_yN0 zVamW?E>6s%T63s_aVdJJL&Hke3@~*NUMm}m+)mUrMct45UT#lrGfo^)Ej}u_ZN#~& z)Z=CoJx(w3xze#kmuL)-O6y80xf-kcu6B;EH9;eeX9&)z4^w5Ml(N{wOJN#~X8wpe zzRiZHbNnQtcM@HsIi}`va%1gPG}jtZ@5_7!1A%`{=d zh7Dx1S@ILrGeis>*~a-tR)rnZ;LR&9zrd}xwNl8BS1J86{e6Axd2|yXnkZ?-9mO<- zD}d{HxQ@ZOhD2R9DjLmn_~?f}%wIqIJg)07I55b%HFa1r{mM$1d=?s)&3^^2A@=;y z|HD^5_nFAIa+ueO7$O_M0w6;;H!frRI0$iL61W}sFjmsWvMtV>=JJfd-_He?QQDQ*}+jE-R4d?0RkdGXoBFSATgMUA+@vnW&9 z?Ib#2R?Dm6K_!=tIM)(c7c;VrXc@V#p{yUb-ROHM6xhM5>H?~s8<=WA5si%zNAx_z zy)SnZ3ilO9Eq9(;w?MQ$arINbH>oVb$n&kfUd_CX;JkMLFCB)~&C0K8)HE5I6hiYY z^(s{*vdf(-Mx&{Q9K6T1YH_I7cVHn{dR1HZXqmXDMqEo?ZU5DNQ(OE>&WP%7(br1b zj@s{4+I}VCq+{JCOc!mzah+lSc0-a}F2|Zj_ta4$&!;}MhwlgXyEL{>rJLyN?5v~w z2%p*Ub8I5K-eE8mbI19oZs_slG zHm3`8F6RFGa}y5fdJ3KtS7a#RpEik?Toaq&DC-xKS4 zczEQ?mTKZgT(?!Vu#lN?K?XT1ouC%?lZAUYQ zsN0Zpj%xS!3{x#MqIHRO?^UXaBSz$Nv`#S9Vk7Rn#(h?;OQM-kRMdG_b-!`@t8^^U z?N@SJxtc9G9AJC`S{B|P`Q=97gTU7i0>>kf-(^om_fRxf3kl^_Ubj(qjA%<$spW_| z+(|A~yfWE>Mq6AWpQBb7aTXlvF{)3wI17%bh^ac^%2rnkp0h<;a9m>M`ckcSOIGuV zEzO`=qDEG#9xIGj=K4Sev957OP0Wc?pO+oengJ6+7kYw3GK zSaSgQfjwMYRunZphx*?4!%Ql^ABZF2wJWVQoLsIHYXd+=*C=g_(43BKXcUb z(K$PL$TNxQ5NF_AY3^_)#C6rxcp-5?J*%CQxO&y9bJQxNo^4f|GmYD3wU#VujS)4X zuC|_8;eA}0nKBn%_S5BE1fg^qL9|U#ZU_F5sp5u4qq#PaEmyR)kCTt9wNP>Pc{(`i zOqq8Jj#{0G>%{;l?vnN^d_P^{{9B{%q1-RFq$wI;`W`D+FX!-{Xaw-7{N!7MELtdZ z+p}lDx((84n=@xpz+zD5TI2Y_j@`Wb-5;Q{OJoS}eK745nT{?_oj6>5=l`;w^XI=1 zd(KK$9CAX^OyD~{t|vMl8qIt#Sj>~2%yT9;%#!xzn(N=#-j2xpaXI`Vu0l>d$A2j~ zwn>z^_8T80lgaR-^KXzJ*@)Np1h!?-n6#OE{XRqs+f9-*Js<64>;9|6envLbjfl&| zFM^Q};)LS{4c%$6jvpw+Mi79sWSJ4nj!6rTlCUAZEBZdZ=L;cN5lKAH4U9gFpqQ@= zibYEs6(dv&42fzTp_ZvO;Fp#X^6=F;u&9MaB`b+a+l+fQMqi`lM9El}gqWQixFJ6Qfj%vk`r-p8L3R(Q8Mgp6>mn z6gC0~dgXjS0fIKlO4hc-4`@G*>gxyRVXEQjxGlIgbb-9%ro~TZ1mxre4(e75nRY=2&XU+nuSJsm67~FO%Z=HhT~w}Pd_VM_LZ0x_ytI%lAJ!%%97SD&b(AZr1A^3`?ncy>eB4rw%V#Kw*ky~8A3yJ4ZM_(?rkc1R%T9M*Z@TNNfmdg0`BIIj+fdYcMIr->UruEFUx`6DEa?QuR;Xd| zemL<0Ys7#)f=n=YT)a@MZ(E_zTD5%e-}U8H9=X~*FKolkd9cKWR7z}fq0FGA+=Uk+ zSLed0djQP;bgDs^-K$<(BrozRiJI`$GuXb=TmW7`h!7IBWskeN<^N26SFLph&dID^ z(blJ$W8E|`g6)>{MfJLg+M3mpcx8DDA*{@V%VC3d?V<&atDH*uW2MeWoHv+hCRusM z9X$BpW}e);wdOv*_~|WtdizRlzX>Mt!ZfqB)#9FeR(bgWvd#udpr{6TK!#001BWNklo^$ZRW?H^`-0;HrW28tU0Pzu z_fVc?MY>EGN{jD7F>u>+z0i6?T56Ow;|o#44~DnGImHO}97+K`#VN5fDh=f04i7>L z0gG}g4Yhon;895gsb&Qb-FLl2g%I^PRjZU}oeidn6tY}BgZ1b-h1j)bPh4G!!Tu72 z!;wl}@s(VORO&hBm5jV=A%_F%5JZ-r%X8LDC~(OCuN^G?z{w-9;&61vcq2T081CK) z&Sn-o2X762@rqy;!|i#6@Hm(RFB$x37V*sj2{#|EV9eqHQZ@?|2oX{|@gi+X9MRuQ z6WmGz(Hh(E3)OF4HD;w$+f);(N=l&-d5ylGE287!lD?6sF7TA7b%oCG|18C-NJgwO zOTO74pDT+4t5wjy%5@Xz%lr%I+DmjT>;|7VdEZju!VK2KBd zFudR}f>%Rq-!#OK*tARx!z_u5reR3BIV42}( zDXbXsIW5->S_jL7w;GU8TeU@0wnkY_@2+B`_VKtEX zwG0i7ZR97%YLxsgd-hJSb5j#$gLp>SRs)$#hL&aP86P@Wwe-ZuA^MJQ;(=9S2E+kO zBSA+;2YX3Uz0v&(S` zXCa(Ya)_KxLhimrS)&*3?iFwEAENL4_ugSmv-PokS zVM=QbP%XXU0}#gyj#DXk=_OdWa0UbCN)`;kzT~lvj){w6^$Ixag5#9$%fCR`ta;Rw z7bwdhHCGr){Y|r6WR~@h27p#k|NpV4F7l=Nf2xL82z}>DWtCSWc%EdbufZMws8)nv zxdhP`tbV^(XY2*>uUfoFTy~3Y1{U1}3l;>|bVPz(BzF?ngjr^AUoH}&#{z^^QdHk4 zJ(&FRSM~ajyBB7Qx-D}K?kic(MP}fEWI|#w;_S{`pjmM4;>DTT(##3-A*x=eia&*F8GG z;hif17@H8^SvGv=L-*GdNVxGK{^`PAZdow3!=uim89@I~5#RIa=uDDIYLP=Tx7@R2 zF~=tJJaX6j`GY_B1De*YuUY2!_WN12^}zgB?yBdj!0)hNL8V!XrQH3g=eXq^(3*zL z9iISp2EW}$lJ`BP7mcpgR9 zAz>I4f~hgbb@5ym&+`H?qrB6g1`#a}DC(6&jY^ZHYNu6{s2|l3IJ&K7{@Z57koKV+`8z>ouSkE-!=@T#*#A;i< z0xlGwxmhevKVAO`EY)3pj$9d19Pm8R);T$GY?(}$NeaMD2NnuSIrTNlspsJS`{C)M zLXa_)D_4pUrMlHIIx&249^D))U#>>Dul`y(2VVK-l7OLFTzEpTHViTFb=;}Kc0E)Y z==wfn3)LI$$W1KoDsMiYr;vowaliC{It*P%J~0dqmydT%lUU$ZQnq{!8ss zu)Y+8EGw+@LPJ|{TxzcL&Q2%g4L(RuCy)fU04ci(*UN*E0zYoP zBjiZ$lWf|wk`7y3lk)kR$z*B^96$R!hx+#NM;{A2IP$!z9aA5$tpqvG$8+HgEpTY& zm{ckSlX)D+#r3?pLWi2Bi3rA9JFV>X&F^sG=!uHICfh#AxpU|E+LNcm1CZUpFT%OK zKo(&imM$e8x#CfKd}{r;kBT zMBv!G0G8ec_kJ4o?BvzsJ>1&;L6Yxz56R|MF{^7D;S8;`uvip)z6cnL#Y}D@0cKzx zUJ?OZ7#o8-KOnaC3%>~dFN$@3>FwcQ;Fp2pPs64M;LraInwn)Nsayz=cs|&{AjmW! z@eb(zFx>r+`2FWUfE#`l3S)5M6xcHe=WbMJG320W&Asr&z0kD*+A?tR6r@|Bvm18q zR0J9$9Q1o$@H|kE1F?r66dlgpd!gt;xlt)Wnt|8Rfi|Jl!^18`nGVI#*B#%D2zD9{Wy?^<)^mKldBtfUd z0%+i|$G5X{>$>X23xkY~LWd2F$#Bx4tFx1{XCC9k(VbO`|JN^ngWvzyZ zU6%$7Oxt2&d;{=2q6ItyI3!rhgLgm3op)ZM3eOgGx>_|M@DPop^mWfUp(5MwbC1%p!yc&s~=OX0+I8_pa1A!=&W-=iZ5TgAWDRNv+ z)G(JhL|xMWspV5w-hCYY^Dg+-cj4dvXKvm3>$BVW|N1FE{#rk8Z*La^dCP?V@@#!& zfAc?z*Z=fy#p|dC|NPJJ3o+~d0x;pg>i2~w{Kj7mf4?DkpKOD-+yK8Y6T!ZQ-Phm$ z41Vp8pzVF)b0#B1iRUhe@5g1zY`M7#F+}7@x?n=vd&Jax0`MElZ~7E)>Sr)fgkO4h z^{N*QxUd*bUxel$m>es@-{n;Pcu}<5P6xc>mhzeIaUaIM%g@K&%?%6Mp?OIVuK_W* zvlYt^-xK0SVun|Lp%92AZWzQ>iW-J1ECMSb&!^>=S)(+1LS(mm;r{4bGG<2btnqwu z#bTM&hAIfiJ<93OD?zxdhX%yI$fi83EWvkcfyQJK%s}*$;za3vu(A=H0YecGOj8ju zQlWdAs(_S)hZ$5pYQZ5bBqXIwYs&vx3SowtKaKLb%tYWYDqM4=+oP z8_x|o3PGJkkQeQuGTRQxZ0kRlE-Em!Ggxo^j9>$<2dgAMN zRa_Uc*>SdR-NES>4puMy+h69zXLNzOI zJSv23xoJYGA&h*k(ae^KBL``|_kL~z{%GAgHXW`VWEX%}zXP}4HJ??x`g!#WENJ|A zg&&(}TJaTJ*QGEvO0q3OVQdf>M9u{#=p>y?^TJDOuAW@c6HN8H@Pn2u=YTsLyw5Q* zFo0ng*tSiBWl{8fa*l(O%i$CpWN=W4YM~K+CoMRFj%g%tXeG;qs0O1BLZy5XeGXNd z$*;CADwI{@eN^fgOEFu04yv8edh4j3lc+_3`rfZnm+Kul<5|hNBPu9C`Lz^hQDa2j zNB^&LIYX>YqO=A3>Oh1suo3PmYj)oX4^PhFUNt4Y_dR}m_$Y6`XEpr#EJUIoBQC1! zPo`Qe*eUq!8>Y9t3&6`ifq}vD?*r5SA3F|j|J)zex2^tBAvh5TS1AkZUx9xuLOwq= z_DH>$LAD&j6s|ckUW)HSu^_AgbGa~RW|Zha_xu}h{=5?NDR85at^~nr(e-d#2X``$ zgSfAA!D1uax*%-J<^6u8wxM#omO|YBosT*1q8SJ*v{ZqEz-q|P3G)}< zEf+7OHI!=z-~DKIqUi`6xty?cay@ZPmBr^UOV?=$-wOv#5?2u*bJ?JdDItp4DR9pO z+r20(k+RuHC8Q}@gtP&tPs5_c;ULX*%8#`k7ZvrAb;Eo5vI`uSn`?14zt${PT-+h~ z-YbIV6?x#%CpdNBiJJSm?e;B9jBV#TFA6tIAIRnM96Ge0gS#H9QThfBAN?8Y)*i=!slDIN6MeZxk zH(K3i9JK@%%~XA)WxG_%4f=z|A+q+kbI( zCu`csz+*Fs0)ISsO%se_AsFRp7ZnYl2w@2@j09aPmvgF)IEb&jxSM=&J9pghqP;OG3;zdcG<_dPTu#3gQ-4Opg2%d)PTu{gfc`y_w<=X+@kdN8s>qu%o- z;3X;bxV=0S8!o?ztLEB4S_C<{T*)-ECUfbpc#ZO#E0^=|9}dR+@-rqUM@c4aAR0MT zic22pTU%MXc7E$P=XeOSGY}n|g$+X3$mW>HiIDe3aP16_jAA4x%YNcfp7q4Xz-3Y~ z5thP5URh_Vfq1<$;MGE##923}6sbJeR0pPU+cT&vI!u?ieO2*Bk1emMp90}^80%Fn$N&Z2QtB=QYe*t*k=RO0#&;R5vxWTr-^ZDhsyoF!-K;Zl23Ky1t`rrSX zr@!+wHYwU0Gcf7X(a^!5=Wx0>Qi@7;CH9V_2rFZ3n1mJ^_uO|IPal7U%<4As`8;d> z?9bqZ7x=m3bHjrV!flG^@Mm9zv<>|O(D_Ty@@{D9fP*`rt4s6^8-iZtcPHQ-N%-Uc zdwP}q!H>fjGO1K3Zv4YP!h3#2y#K>#ZnGLcC!Co1l?v;8?+4=87A*q%Z4vdMfhn!> zkG}QQ9?lg;hxKaLB-a%+3G6Hzog5yeYF_}wdYQZ7b^#HF>w(zzfXlI$IjANy{D0<>B#_t9kO|aV`SS>^Z>FP3vnHdh-?X z&pu1Tigoi{y{nhW7g@BVt->HXF6vGr;oQn7A8#9C-wR9Tw~li~0b#f66h+1W0LP{1 zdL)AE2*uG+T-U*ITzuanmve9nS*8XE4TFUG6mbv(L}}+TmjiM+V=f1fs#qfTCD&1@ z#{xtB53B9=HJWRjm*3=1AAFE6fBVZU1opJt#{w4M<{Zux&oIbK zr6KAdS5^?x1VY$I0~vxgr2$6s!tnChk;mZun}J)aY^4f60e%FWc@uv7ra7teb<59z z8?*(7CPK-Q!${E8*;SXo@$mg0XVdxvG$cfWWLjVw7MVWbI&_3J>(-GDGKD1xtvI9!beV6j@8Qs>-BdJlMn^{nI|G5k z$>msDPa)&2^IWTI0CQ254o=jeAwzlSGLz2bSBbb0#W2Bfm~groRx(9&0&59?a~TEx&+AY;?|kTwk3Xr@8^1+oekfPa;)X_3nRng9pZ?vK_*1?l zK7aEKUj3`T;?@s;6dt~tN6x|PTRzK6FTKPEa)WH4dN#&OiEJ;V)yCo^Y{N5AjFYql$1KZV?G_wnWF0@UPV16Zm>jRU&rf~shkSCgFgBemg6HKK z9UW!s&L=s2;%JT1>-hc;50egTRmUb^G&@8#n`PHy57sE#!k7N;CH~z9Md!4EsY9PU zkSi2%9T(5{uq~TA8j~!nc~lxr9Teb}MGJ6&CswUt>ye|B()(0lXz$}J+f+Nw&2`J0 zudpClEAehLM}r*Zr@82#;HtRE^N5jMt^nCA1=l5;&Ek44&S;KoF^i3bm9%jS4#Ny{ z>^ieCP@l8c*O6bJG!nY3NYp+`G|LafiyRGv7Dj4{O11oSW{I1Cmwp|N{k^zlA8muL zjlpLSnG+tpzPr;J&79-+<+$@>@1&h}4)DTdt;=1&dy~*x5bes}@427bH|@Wyb<$Mk zEtk6jnk$OtVk&D|$ID79NI+&jc=D+>TU*+P(i&K`# z$9M5t&G6p$F6IxK;k!H6YjNWWM++R+IbMZD($%$=#my^gZs(tW@&yJ5g>29On8_rT z(M0F+P8PP;O8E-?1O27<4S?O4B$evm-cLk>2u|f2U)q7=hvupYrbb;i0K-UP7?wzr zJgGa&nz(5;LXy2a3ya}HIr$tZN>3}?``Ag@$hp4U>XVRX1k6(f1Lvd zJc`73R7&aR8o)FYc)pM0PF_LYeVVHs(-JluhGB5}bba5}P-Z9oKiJMsvw{_sw*5cGBIjlr_vO z!KkzXlkZuxevT@qxe|DbI@5hQmaCoOESD>V=uC(YkOafDF-#lk2%Y%m>rdf2;ZYd| zm{_dL)V2VDpL6Ql&rSKZ)oi6@*#k98A3Ah6_Iir@&NK{s&(~HQnmJ?FK@p7C!^QC( zDAc~PHg4Pq5&d~10hXB{ol4WRbWP2&dq4X`X&fM5Ez6>-v#Vy=m%p={{l~)3 zs(@DJs-m=Fx!lAxA+l*MKb9%x3?0|O$>qRtYLtMR?z(##aVD-uW)e-jjg1>;GM6)t z7zjK0<1n^kh`n33GdMJegToi`9k2lC2lAsZeyjj}{p@UMpm4NSKy{5qGbcDuc>ej4>zZ^ki9`0XY|7J&dkAaE zolLb7(_H;%f#W)-nq`fF@G-TmM!LJZsmF@r$iCe?`)wb;7`myX(=GJ$bk|XvuQvJnf?2ZOgT0c6R}OhXuvQ;=7rpqlxSOX)pAoh4M29X!06~0 zW22)rN(8w2u{xI|SWDZg%UugZ4@!=(TqyKSa=iBl1N{Sdo=1)xLyT3Ob<$`w@e~n4 z$2cP3r;JOZ3LFq-QHgV5iMqGgOm%IE;sA%g^Z`yILg@5KWwP%O^z@KCdv+E_rO{~W z<@w+H9s2vj*nI|5EwZKHA=8+fh~U6U$}PE?fwQ|mKA+XqTn4njp^2qr!I1#V0=sT2 zjuHC$`uO&@MN?xY!L%TqPSboxZC91v-hI4uT1;#khA3-U7M)$Sv$>2N-%IYih z1(*i(_QJv|HFc9lb8Yd{pZ=8Wcy>y*C6yxLevT%aHwmr88-RVk3OsxT2PW6d2rY12 zN2oq#^~6Mx-wBZ+Nk>P0j_v>LZ@x?>Bf1F-g6}NLrn3%LlcAFj^389%fu)693~bA$ zcHYM^4xSY6MAnq4rl@8j_})xl+YJ~7oG$2C9Gcm3Bg-0vf%B4EZ(?9@u&z?a`un&( z^J3J)i_={H#(Am5w3vXGcf3h{v`F&H;S!*Y(jxUqFQsvme-7wt0Z!yfIa{I|KpKux0b9!&dER?eh~~09=vzXj!C1@#4vIa zFE@b0M9Bj*&iZO8(2cmKi@+%5R$k+XHlyR<*XO^^noEurIIcsclV3n~1Z*2@I|U2t z2^jhf`ubi1M5aeG3ASyK$z)j6++MTvj%_=5;|*v`in5lK#7?DXZttmCwzu~f=MW}n zRt1Mz!w{}Fh9N9PJWu=IX=cwSKk-Qbyt8lO+m!h4X;9fKR@z9_p~CRb(Mpqw`r|&1GU%0*4Ndcl8mCCSDKH>LH!6SiQEk6$U_mUpRx^fJo2U z+S*QMXKh!LAOGWiazPH)Bw(44vTg3U=boBnM~-db+0k&nQA(B_MtQ(dM_X}dX32_8 zn*n&K2%hWXIJIT7hBa$>@x-b5uG-Z}&LbUr7gxfhxgPy>zQ{wtfrSefk_}S74v!C$ zoy^itKVzk!92$*gLRG|l001BWNkl*LJSt)AB#U>OuI+)srC?c}C z_*q#0s62bvOe zCn1AaqEP_v1_suxfW#FRlw31s%vj*i;>Pub5CjsmwzeXglj?luzi;DMBm<^pHefEY zAW>`3@)LG!J3wAh984>TWy_|l8sqHWKU`I;Fe6hlz8@?#wye=qCqY|6m<@Tpk5fk` z6==lQnN;GjEzD`zn_Xr+(N12t;L|_Uk6RE1@JBd8UdyK%&Ad~j+}$>s{#6w>P+l$N z)kKIKHkBuV4txi&g4W3dJQ09YqtVPGU;T6XPo2goh)ha8LX7MrN!N$E$sq3G?Z0~$ z>rcNn5g zEH`yCJT0q-*XOM&RXGWhyMR&H*1L}_Pd`dOhd9Vyj&P)Aag9bZcc}f#X#5Q*@877_ z9@3Y8Lj!aoW_&9J9UTT3$kEjR+k;R+OIyHu>w=iIH5$$ADL`v;DMj=Pi2Jt_=xi*I zy5;liIk2ARUf4tPks-jtMBLLhA~5iQXTJ%HYrDy7t_^eyj_ZKwxTC1Vi9mKLMJAJ} ztNi%ne!l;_c%KM*36^bP+jiwb0WW^H2blrNFlF3~WROjzx&_FauRld!U-blxa+?6Y zSJVQBW==?@#I^1FJ~<~>R~g^;;oO<|tkzY_RKd2I1=nr!R*#BIz{qfsffLVgu=hBg z=dze3*wk+0G#bs^Gl>|~oF|N_A&E}pbOim9VZ`&_20S0^B&_?$+e#uwlrI90?VDhK zUc>>w2fCJ_%^ z9S3neXlW9GKn(*jnI_gh`stcwWlF|4amP%E0HkJMmnz%|@;G_8P{&beG?hqo2=UJ? zI;Cr{7MV;?HCsHlJbJh_~M=Xtm|j8i+ntVW}m zAKYM(MxfF{BWlgz6osY7Xs|3q1XQ;GOp~?A%0bx=A=1PG9Ge6@7tht<$~BsKVQ`Sw ze)J<&H-+PqNkrgZ9{3`(J_(iqZWcy%GXBtmrJ@F4_ywkyVnK7YqXmvDnE4VkmBCDlM=E%C7}tFH2slON~VXT!2`NvBiQ3jzoCZewUHtiOtyGS&=E zg75pdPElu5(aZ{YT^A^j%Q#Yz|a>U-*Ilje*O z$Yu-pzK>~|WHK50ivx^symncQMl)|r0;dUGRiqmVluvqO2?LW32TRg~h7|C^E7-OO zP#A|r7{IU}$oGx&nx|8KYczAtcfZ1}?ME0K9A|Vw+_w_p1R8YYWopFHQThjhd%6I_ z6EHjm4E9I2tht7nmcXILu851rp}BTY{ZtzWvYA*(jKHtMvTPQ&-cfTqKmC{8Jo<=8 z8JkFgW!_9ClOdh4S+=s)jBAnJ-oFJz%2?Y5&jrIUX0r8`?%VKLo*AOtyoriKT#ZKbhx$^#|^)|8pqWk>Y`+`*|N{JZ8JPPTw!fk zTSsi4Ib#Smu78H%;bBtg6rG(b*mG^K2%5$I?G zD~adArz?2GdcYvCKiI~W0-PVu&+S2IG#VHfU>I1mC_b2Pe(yH%#>#MT{{W9Ya+3Zc z90c|Pj{pw=qmMjti7KqQ63`YLnpollERilYfoU3;ra?NLMo1sk_*Xvr`LI#3>?PQ# z6sBp?aYt=|0rG`(KZFqFII%$a%uh~C64H{UXU6}m=nU6--3fr`IdmoV(bzTQdpzqB9E^YC1c!NHRZ zQ(1h`Xf&6WbA&=hrQq^1m8^vbDq6DEFia8I9BACQf)B=QKQ8?7X&`@x4q~X$%o%_8 zb$IPHAxIj+C^lVb-IjH9ukGgMo1v>wWKCHEtR=X=yE-pPl{HreH_mng+N0^(#E*HO z1d>T8B$K#qiuU#l=U;n+k)dNXw)PAM_vKmtKm%+G9~;^w(WS1 zgM07bV(^V+rbyX7$;MR_CM%nR=O+#_IC_BJ$_Sw*F0P1ld$Ft}t_$ATBJPp|7V**3 zHJV!V^z^X*(0%~2xnWkbvSt}OWkWGvM+)WZ2g{0kx>ODxyu5Y(>QbTzV~1dHun+KX zJ(tnZQBDmV;|8d5~rF#lkmW7>4(bd&ev+TAVyKBbPkRk_&fTPt?%xW~X zXm1Z^@ahdZ_cqIhh)c%R%iNf0n`Rhq<88bh%c>lI1B46PeDm^A`1r?n0np46e9vcK zXn?0VH2*u-Xf)HpA?(A%S#ziss@dSXTn-8j!h)lx2WkY1mfNy`Q;1-toYZl6G+hIG zW=*h+ZR3rdjcwbu&5gOSZQI$H8`~RWW81dx``zc>e=ujJ&rEf9RW(rZz59nVq{7XE zv+F*W?)wUZ-=XiSkPq<`LtcNA&2B?VRT23$ zUBU3Gcur4*p|cNFew}@DxVqsVt$#NfzyF*|p*swW!MzZPCwmO(W>p$c&?=#$lcpT~ z_pe`1#n3ZqLz|qpw|7B9sl+Mvtxux-Fk3$pA`h<)Q_b3U|F!QUil1--WbVLk2k9oC488C56-y-7i$!ORI3UM(Q-T?5`0=0feM_1g>OH8MG$F2Osab%r9 zr~DhA#eB(ubL*U9`F@Q6@IA$ZI;BC>LJpTD5 z_*`T5=R&My_j4HAW7}d6JNU;a2?frIm^mMwd2tiQ9%UV-=7+kFL1t`tpee)&O$Szk zb7M=m1b~K#4>Vgh)8pAk2Z4s7OKPwBK_kb;G_(?5P3?aM$2=e>T;rE8T^QkDUGTER z%A98KXtFlBE6?c}iiI;&xWemiZpOqf;|5!Xvm0VyDGT3%>a<|lZ z>kQlL#yP#*;Ni(TPKnWEkH1MGyEtn8F)H0I_ITz}w6pJ*3NXZoM&0)}$$*tpj2I^T zQydKhRb7`$>oV7$dtPtv&{n$Y`Vew!vX1<@gOcJ!1NR4ii^!g>*fc3^I#yz>Z$`$cekyGls`cLUB}y)}co{0P^5F`; z{}9K3fj|?xnR6TboSh@k1rqSfygt=EFC|Ht(u{=~gU;4kQmRD}aA(Jad6jo&LL~ce@|izb#P? zN=L_tC7;;5M7wioXQfA9eIk#qC$ztxz4{Vr0ucFmYrNOu(3u30=H;?_Z1! zaZt#XT!P9|DE1CPtB@wP84H_BmJHMtLjt%CYH&TBc4LjNyA04nUXE)jev*q3Mu!J5W5@Qj-(W=MYoNPuJ*(o{F-2 zc82%3Z*DNg|K0(2>iq>H)H6{kL8kncFTE#H+F9tM*@{bBiF;4OcPz(3v~Np-zx4oy&n?}jV#FaM&h@qXA?2L}rOFckAC6J;VZ^IVix+SAP_$>pr?I%G zZOxjB?x|Z?M*?8-z%0AvgT4jib^BMH;X^1Au4?j(rkN)u^vs8mgb+wC%<~|3fV_^q z{-`|PwL}Ump+E38x#&ZW?7`6!?F;T(yD3ZMRAL~K4YSFc~ z^9E?r>}E4PJyszgkdhZIG6X8k>^EY(`_9gxWqDP+ zt(g(xS>kAYS)QQ!AY$cobE!sZJC^D?{&9x?bqv0$5?`V;v7(xOks0 zc0H5jwB`iJ2~Ae14IxJw?Q_EsTwSzFpcx9|W})4z){k%l8-u{fgDMiBc}7c2`Z zyhry|OrM*M`k{fi_wC?3a5;Z%(z54+t}{&HOvgVhzA;NKF9bY1e|OcgH#YR|%?t5< zAmpk%+pPs6Hr~`nF(i^aMHb2_DQC0LPdzPdt&pD-KkG|SXehF;z`h3YcHiCiFl_Vr zrsnY8+mJn}jC=n=y65R5BSMdBeuN`89Xx>|f#>!Il%EI}HOa$ZXP784KzDJcM+Qq; zd7Ic03waiTknqxlp+eBWKmDZc=5*7KJPt%Xy~Q2*H)Dh0-V{gJRNZ>4@Tss_7NsLN zgLy71r+S*>wd(+6P~7zxqB)K;)!gw2doiW4R7_xu(z+y%FVl?T`B-YRfc5;g^(P{w z&&U5V6oSFdjA4S0And(P{q~nRoFTIO;qhsoDKKcf zuY)r)*h#mBI4qUg0%3(k z3>5obGtTe#NT*&b8qq%PKHw6#8}t9kd7GaV^`-9Z)IAc(<1RR9)1)#ZAPgGmD8a3k#-%j)kLG~`$5BY8hs?mQlLEC^BJBIf0ejL0yvVIxsZkn$v-=6A zp^pn)TRV;7NU}K$ffBxg6EE`L435AA?55(K*d%-RFRq zuN)5GkNAD3=mX|?T_eOJZCu}HM9A|tYIR}-MuvmHjpRv4h7LLZmmEFbq5QPAGvr)O zjfn|USj>-TSQEPL?781^85#QAMv083=-(pYXtn9fE{GB)Z_y*|q9`iqzvo97y4115 zaeA^cCU8wrFT%xpYaEdwCIs`aSw`*Rhz_%fWyViK(j`uiFjAkkEj1E|KI9M#?btS# zY8A9Flj(3&7@9PSr}U|yeW1pjZ)TYBZA_3eA!*T0{EjsQEL^Vi!r3kK65&FX38WJw z0sDKt!8j(i*i)7sVWE!|F=oe)86mhNoU8Xv%rh_oG!W(}%9fd6rj zd5ADv`cGQJ;}-+1b~LQ5m>0#W-E45m@WNXpBNBiYT^Et29cG>32FNo%!U~f!PMUyP zy8e)?47Y^A1=3=_+MmV#ON!Fm)H3PsO7*F> zE-Th(9Krg_PVT#vZJ-Y-T~pwp$43AC4??4hgPuzB_jkj6L7$7XtVh*%m^n3PpxT=T z>=PWkx?=Zz{om#kE3e00BIY@R{BSLp3eEes<@M)aN!v8<_6!#Wbe(q`8oOjCp$tB9 z>5%BJQObRpajSSMid*M5~}9pnax3NS9uYC}+M%A~`@)M0g1?*tC(nYVH{ z5*zb)$gi_mDn3SwU<#=>q*QR2!Xi7rSB0&i#GJxK_?jtn6zM^UN%0()##!(s!`9K~ zS}N$rL%`G)pHhPCT3?ZhSN#t9Zfv8){^U?OmCHP6UAqh)QwjP%Y-;!(E9X^*^r2$+ zHJ4@J8+$&8Y4-)lgo?w+lB&`)^ z6|u;7<++N$7_UjN6YdFdsO5+8F%MaUjs4Q z9Pi6bxZvnV`=dSpHBqXku+wbmR(&Gqh7j2mW=IaXaa`41Y ztNw`AXa;``S=I$Wn|?m$Chw}bC8OMwow{p!pR!*Vy)WLzLU2XYkV{6WGY^@{o3E2$ z`%Vc4o#E?%!;14ptu!7u$b=cVf80jbn%&=G>j{YyQR6;?bHE&2w$-4#ar1dHvcS>j z`zGGOy!7haE4!-(fm$m+#FL#uMydClE`%+tGV~n3gXv?&MT`U%dmW#3tJsiKZpPvl zZZ(U|pB@SSyFhKT?x4ebMM5TFTv!@+LYt&2Br$0TLjEp%?8d(Q3QGJ>JxK;v0D_Og zfh25@lmqPh;X6|jEBN5c+dlZHRRK5c@Dr3{DP9Z+p5N|h5fIrw+WcYj(WjF$1~x!n^b#eybds6A7Cj%i(OFOqTj{1i4ZadwG}Jp5L) zYpRK_OzGS~-THR_8hUmu9*0vNQ@0z(YsI^1vU7(|;V#z?WU!UJw`V=pt-h77`*na{ z>QI%o^=zC#Q}ulm*yxMAL;Cdg%__wyZhHAHTpBdpkr1wSN6xVtYZ)_1^gpk*yYNCk zUE8d9KKIR8nKk!h%+4 zc0YA(adymEfrnr2&W-AC!DJwt;#IbS07L!@LxwRhn|k8oRk%IJV|ZHNCr}@7FIbUl z?%jp`qE9s(g^8<>Kd1M6kl0}&3CHz0;g4|bjZFnrODV{s@po9<9Hr^Xe)h|Ka?E=e z4r%kzE$t6ZWZDP};Ck>PJ-deudWkCT3w`-+0p8;l-Qs$u9t$b;Tu1)=c<8r&jqP4V z6n)ZoJGV|e(s9KK#-C{9tK{>PzRFe+UHq7w-~N|*h_N|-pw7clQnL|byQ*~p+D$Wc zAiDw1s<4(bT8BW|g!n*8C1h+{ALa#VQdt8plx^!Iom_>o(|lu$+DpvcJ6 z#tX=gS`*YyA7H@slBWJ~(^r8!Yj3oa{ta(YDxF$WVG6=7F)mlKzC3 z7ksjUEL;66Y*eCVrhEgZY2XCeT1wDjbH8nn&J~IgIPvw=dvlk4B`gz)02%iJLNC)h zcO}}qOg&uENS0TK7TNP%xvZW0&ybgB&v1k&Yvrb>K*}paZ$6cG^pA*Y0gIpjT0E8X zV$B%DKLgE_0M?c(lY$9jejRA5n!yS-5>kp)`kH=w$Egf>G6r_zpU_$G7>Rue#X3gT z!>Ph;1lnLuMOyApwY8_B7M_sb?ovG;alMhXhT_Ss0SHJjSXcBai{=#rL0R1Yj+N-3a(G1`Awi~|6 zs>V(7)Q~neagP|a#wwB@X{W&fyFUzHp}!7h{1cgDhMPOr5n!H?E&@$H2a*&&AKiPL zZqTcBmiXi#W7ee^1Pqo*nV&DQ+ZCrwX!hKR*IGCH+o+~2 zb=<@l)p2!{OU3Si6MWun!Mpw--Dmvb|F8=lLE=J-BNQBO?ftZmOD#^KKaOJCNfa5m zGCjRX*F+(vPTg)G9la z+;H^6p<@ngn}FD1yU}^!dn+Z1?~YrdGEE09%F~Y+Z_^r136bE|w@sAGX32CHEZu!| zdI9_yJ^HJv{=g3#bKcWcJ7ntRSAn)v5>dWoyJ& zW;Uj@U!Znr64|40zEdw3?fl3DF|YpOC&ZCGoWnBBX7@hqzcTR6<(n$KbRp{sQhUDV zWq=+C?(X9b-TVCB8_`Le#-$U%q-^aQ2yS3;JRN@1Wt+)4L!Aj$={HrWz=sz^TEcK; z$UC9tC?`^>$%GW=Q~0W1=Fi%j>yu*tUNma{`6ht0(fMnnWp;@}dF5rmzV80q|3j6& zZvP*=(ik=l5A)Ck`+i>j2L=<7Re5gvBt?f$F1~?CW;CITAPaa`2(D|7_f@A&rg5Bc z5}|?DgLsKd{|gtLmQeSPNXx+e?Jo}ae_(!0?u};_DSaC$IUY2wR>Uw;@*+DRF3ekT zxORGQ|B#vLwWc|@5I)}59J*HU?J1Rmo1P`9<;};5vlbz&X(pX?cRZmAK*hgQ{e)U-V z+xNO3=;BhDUG8i+)#&}WQ84fX1)gB>FyB{6F!L{DK3d1sE{C_S$ z&$-ism8sM99?9_0RQBo$|04DBh#Usz*36vbh%OeV--~9S@JiD)@ix~-Y{sv_Elw`Y z4+u}f7qIPpV}k=@1vPoYz0nUwz?134(2VJD?CK<%(cvFWvJj@@xxw&PwNevKS@elt zi~@tLalX-DiyFQlpB-LwZyDsiMeN1G(5WjgqXEy8q22eOS2^>RjaqbAvh={MLb$oV zDf8&h_Uo5(_@eN_^q9ERf3e4*7pfTrZE$K8Ak`(J3OTer2?KsZ3^@db2RN z##XrAE$Q2ORc-U#b_|;|XiXDp>~Kj=y0T|*;vrgr3aq7Qy6LCY>1~Tlq^~x7DnD4G zLyx#DIn+FV8pcvu>9#v@9aG(ggtuFd@oc1!(nRVrN< zfwd!lysPBB44Q7s#t@frTVz1rvvMuzW_ycqr~m75u2>?7Ga>=%k1$%<4NSB}5^&|{CCprSg7b`CVbwq~D;9Q9MVBn=Y4h*0 z`JUA$*@c`e_5kPfkPPL(+y8exI$Nh*^j`a!&FgzfLiDS(llNV4Zk0q z!>&kCUZ!TU&N;W`7`Ce~mLU6B{e71-7B_>6&r6T9>W=Lly7`|f;~o5-X<9ZC%Q}An z&G>+Pg{uyG`fD#mfM;Pgm=NyC3gKOfa6_5I(dK8D}2 ztB$(iy7~YHAbH?NEaB~XBYIooKlZP8Qa?JquCBNA-I{&x$0u-!h>o8}M|U~>k-rw| zZclHWI5xYJ4t06FzQ^3#Y(2vS8~)oZ8)kdxQS!=lEeqzvePNo&6u27p+N!p%wH$GXz2y_MjLjrRCrV;gW9ig9(EKT{Qv4 zb{RQ>(sK2}G3VQ)%yk35tteJe`7*-Y*O-KzwGj{phLpqYw1nOk{Hmz~@JX-1=v3X=!Am zg=1}fO>1r`3^t+xc#BP}4ut*InuZG$)tcE5rq)(?@%l)aiE^9L2h8}D=Svc??vkb( zt_f4_@0sf@>8)=J-=^n(Ut_>g%26c$B`zgRcGC8mN~5Ij9qs8?HR?c=1Dp(r$Bp$H z52^tX1QphoV$FE=5+gD#BF z@g0rp83+JRp#SEE#DM0&X*&P~Q`Q~})b`YjouIlbxRi?ys>6!n@z0@1*$oSD75)-G zF%)7D(zbscC3^r@w(#S>*z59cjIlWOyM!>Z*N;%b9p&={kh^}LqyhM;jS9)Y> zz*gwOW;enSgWWvP&g!y?3PiACb?v;g2p= z-)py$kdWX?bTDC;3Ll2~gy)kh&AYUQ(`&I~rpodx&En>2*-E2>{}l#VC~P+`ZX3mv z6%Hg;goTHX5lkc&dx2?BOxB0e^EKX~j(Ehee!XzDOOCt_lrh$GcV|wWPT5_qj8748 zk`~Zn+DUS0TOikg2>)%1P8Chn`XKtgd9F&+p90UZ-@2>)25H^0FyOldIbU0gXyJkC zB3cQQ7V_pUYrb5e>Ybh;0Dbn&52wo7%=j-dWP!%iegB=}pIM%rn_V($iqjLlRoBf;Aug@4n zB9cur;NxtV@vqYVP?Hus5=*66&B>06?_t)@N03-hhgdSs6p+0kL$^Rabv^S66HK)6 z*Eid{&B7PCIkx|X8D}eYA2}&?&z|DC#O&CZ~Y{pA2!aw2M43>9Y@J; z|6)_YtCZHJN_v`%u#cyF@Z6i8A6iRIsof2&^FsKJC@z~_5a>BcP+zF~Jge*X+&I6S z$3Opr0MTxaS{4y6`sgHL(duw{$8q+^cSFiJ+#C{xJH>j-T+H*a;hZyHpCFP0x8isS zDkP-`Yqr^uWZ|ACB*~?0p{U$8{)G29kpOYpzY@h}by%|U^VVtZYFFsTy409eB}2Wl z1OPpbS4z|3dJpW2j`UC2qb83>8^W$#C}4cNz9fx|-eG?)lOcpG;wTb@i(J?mv{+q- z9CFsyrNlpEW4Bf?!HEurdy?dH7JA0@9seWOFv`Tsjnu?N>h;SgZqMP?_y~%WzwxDh z!5G}9n#~&ctw@LiD#7eAKU%*xVn=~|5b!I{FOQ&;cGOQ-7hmk{j>gL1<&OYa?3T}t z#t|YW7e;pKKuQ9p8dVgdka@d@;lLV$jx4nqFoM!La@Ye0JGkhiT{C7yV1ykUh^_|I z<=26Sjb-o)l8;dy#VRGGEl*N&!7i$4K|EpN==)n5EOM@Up zY9nHU;PK8;D{)XIJ}*xuY0{@BU|Z}ULB;vuWG?e+iQ6dYR<98ptbZaNXw^by8Uw)F z%|oZs`s~AMiG5%d5SUJcjs~prPp>5JZ?qqIR^Jlc%*AIz_|4nyN3~`j+uPd%c+wD( zb!7|{53Od9Ij5tOhFth-ANYI(!wqR2b5?J9d3xJ-8?!47@{KaUs9+5EBE>+!LKqZj ztn*|L1t@&vJY^*9oCp6(5KJ>5fhvLp<8Vsmv{Vh;2ichNpe?s9Ij}4C-21*vT2^ko z4=ue{ZsfWIAXt1y4|tJ*nUIby)CDcWz9)6J{C6pv)gvKIXp?;fGn5L+sJlDE&}c0t zMHi2`%yf$}aE7V;Z0|nqnB8iV>F?%suiyWo;s(TdrKnIJCY@QO3ExEf+yp-}>4Yp7 z&7h@5*Pv$;QIN$7G$E=tunpYPYMc`qaWj@h?ONeigv1`SihI_Cx z0bONKu4JY?ndCu7vbl+v8I##{!;CTPChda8T7RJ+_XjE`ZFLaGvEZt6y-fY}#IpB6 z8-(yRc3Wrz@Pqf)3CQQ}0t2lv4IY_=7$-R9(F6LFKddK;(Kl?H3pT=4j`KF~Z#y)x zoL<#i#oyiI`sMY;C|73NQ1kpbd@QLkt^?5^iTjIQYPS-@uK)&&NWL!$vkK_&4r=Ax zdLKvcaeLt*FxusXa>6E4^4FpXIN>8fHTKE|+oLdeJz+qP3ntM-*#fk-oQq@4F}Yw6 z4<-?jtU5!*-9b#VuYplQwVkOJebuA^WHz^gE8$~K`NPLF(DZb~b_K{>YRTmThi7QK z19ri=+EbqyHu_xfYs)OHKhYWtU(1mdtUAK6J?eXK+ObQ={mbcOakITID^|h_J2vo)BVx)t zAV@o%&65L(-NArlIgOzSq%apx#R9uaWvZ77fOh#f9P}b(29BM*sTn#a`}LGbrPw>B zJ7NQ$CtgVaK*JdcnFYwu@q)EbCIhjY9QY4MEuEs&=w2NpLK30BY$`G(DAhWDib^jL z5iVGlE9a}plK-luu2;__BOqnk&_;I(Rr~;cp50bQk921_E+L-i`N+>0=f*j)h^R## zx>zZ5?DY6Tw1kPn9oOJKsL_K<&xgp-8S!U}3>vd?Y4CC5%hOTX`?pGL>nhD*BRrqa z#dqpUn?@xh31>y;mm3su{2b>irA0=_AV_MB8ZBdm$vjJmSX^v!3`IhAX)YM0hNIgA z41I%iuWg=NI@R4LQ^}0=rIFeB>9A!Pw5EK>KKII8e5Vm6(wzUmYFQX2@ccx`A*9SH z5AhNQ-7urE>+ILQGLNr;DP+o1iZyb*)g0*&qt3tPOXw{R`PcSy+LR>vcEPvzcdx7V z`tRM;+PL8(a(#dfKDH#rfT=i=tUlnzB)zBSIy(v(5oq@%yr4&L%wLKw$L-0?Tp%AO zz-w*b?M>@*u!hLzEl*$!v{b+&H21X1IF8G6c-F%1og>K5PI?DV=r88aX5R}t&hqYU z=fm(B+Hh~?csB@uJ&rjRmI~9C$&i>+niw9RY5CJYM7G}(Ke7xuC%^?9{)#6)t-x^k zzi509n3m0_G#T&4hJcppU3Fgfq^&(XKeJ+^vyg@e$^6Z7JI_js3Eg%6t3`4|Tsrg& zzJ|?Uy;7;QG2$|lSxspzR3_h>Oe&evIHp`30nj+9|3`Wy1Q!&bDnH(5;QQ$|ne9On zqu=-F1t$=*glhdnw4VtiwgXY(N{dMm)%(K`W%$p^kTifGa9nw9Wxhx~^N|pt&$ocW zwo}w1U5#t>=Eb{+Am<-__+QN0aD!6QZ-BX^cx4c*eM)_ zDD`W7@T-AwWH}P#K~W~Y$*~pGJ5xxwm{iDEsgsCsxBx`u2Dw;ud;5sI$_#AfBf;0U2rjCyFPT-(D{(-z)Jp8OD z)xu7rNE*%w`hDhnfBV+aNvPOah#5C=Txd#+)_2~^SD0N;>dsC{7LzGO%g#1~5sFo! zpgk`3CS`Z`OcQ1f$ByqYM&$MmTt?@Qq8&jjtOpiC%?i4`^CZJqb%F&<(HIWlZ(h*( zybAKWi^HiwxMdEQ*R%u22_8Hjt2{HJ4)=^dMn+GIY{xIx*VgdVtSaKWIqHGXA#)TC z(3I1p-}7Ln2VqmA-P=?58icX>y8U#sW(~|-tJ3B-H>0cgu;{cG>JP7=p~sG6-v{q` z5(bLPEy;4D9qd-Fh#bQzL!_jpgFz{J~aW(5>U&Q@B%iY#q8RAraDVEBFpKVz&>cf zojyd)`rQ*zpBUyaCW>Ck0UE_WE@W3bC^+;}Y0$pfzi+ej0Qb1xz>`}2>y|(vX%}55^@ok=B2h;$zSi4W%gfp-|PKjFee}>@ZCSs zi~d;b28GJ&T$T5JgVg0l>H%0TM4Mz|{EZ#AjgbJA?qlgy6-rL-V#&kvXz7#2BxMIx zAaJio)(3nurj9ovSX>~j5_b>*>pu^2m7Wx0KsE1a?N$u6EyCC!0*(Hf%Z@|4lF+r$ zqu9AFB~wg*BB4SEyzWC@ZGRE}dVjtT)-)g?7RncOA`{Uc5}#{YjciW`n(^EE5&;DN z7V7>qR<{=HtWcBWjzDEk+NA=+FLGv9Ni{r_xv%eP^@BarsfOZ^FGilKTpX=%S!(_- z6@l-fX|z&s^DdU&O3b`q)1O|xX0#rRWr(FBlloV5C2myVE#udV2P0;llxOre>IhbJ zH~YYu>huicR7eS8X2S9GaOwv&0`lRwp%}`R_}2lI!_T#=o=%T?XX{B+{bQok8O`*> zn$SPRI(x2+XP}b|?4BkeWbd}=KVr2SOc2}kjAcTlrtyP#EMwU|41ZUiVH!d`T^oS= zza(Xn1ia@3QqBBKhe(YGB|khid9EFUD(zt?p&>+Cx>qszBkU-_wm!>Pn*(fT(` z_3ojjP*0s=d{=dv*n1{=P z|2P;%9i9TyfKv2_;OqL&?UCfsN#tIXgei-`N@^GU7U0AdEWaC-lP@JW3QQH5`P`|> zHonPj)K++r2_Zzn-!wo1e<9esT|x0JQzz`81GI3C2@*${@pN{ zh?5(TyV#5Um4MHz5cGD zYSTX1@4I6rz_eCF48f1<5R*7{`^DP2iS6Z$zv|J$u1IAFmo zaTBFbcx&32kgr!^3Eku`r|$E+)qz`W8h5V4{;$dZZCu7-PQ24_;@B>2x?EW*Z&F>; z<&!-^Y(_Llg`7gH9f$1b-XWr{-&=f3;U8Q%8FMkLL)wgWuJF+YvQM8!TV?-P_>vsE zW;W#q6oo@1<1V#o;KMfLr2f(PC*)^R#ZqFNlh?l{7=0KyB^X)t>qQ>4I%v-snWmGX zR$)UTFF04mtD`SWPN(m%O*$K0j>63r{4j18=bYPHM;`X+LjC>8a_`l_eR;I5AZ6MP z0Dv=ei6^HrwT!x?kSwQY78)o?xcRMswNl;ZMz0bOuNXLhpY*;TyAwAZ-p+FG{`9kQ z^1S`Yznd3)!OnL`DCOPoAQ|3L_8f_}HP$ z+-5S8f7?IP>mqI{nVxda`L}?3c}Kj~?IiG(o<`Kz$tWF4E)(~t-nlp=%v3XkfWf6W ztR{cQn1>w4E0eGftP%?gJ50_B3 z37#oKgmDif19l-ylh5BF$82f~zr_T*kvpq-XGels6#KUO(d|GBVm9CkGdsGfSx zIi94&rlU@9zR4XKRb3oQ%2uZT!$QeGFo2Ef&^)0pr8F-r&Ds}Dn@xTlwNy4X4V+6# z6c4}vE5*n=XSetI?rvpe0fXmj@~t4BNR#h+&p!BJ*cCjQ|2t0;NfH(P_$^i9_TpDdvhZfAu|T2(Quq7dE=XJtPpw?tH8I+x*H$I z%`N#|UgC)=C^@n63sgd@Q!6Nd0jp@Xm>6a}jxa!@d7!ORa`=e7_bfx|;Of6J)WjsK zeW2)4<}~)%=|9uS)P4Z#_a2w?1TROTf8(1JcKq8uAZB1 z6$oIV66w%ssk0=iSzLMLqNY#-;tYh$rzXZROqmzY20-p_QKt(H0J?<}i-&-APhumt zl<9rLtU^7?6Uq4Q0q^>M`$A`0(BX%O!f>Xl*ZP~{ii*gbKR4Gzs;(Edw-tMg7=%-+ zP()b#`-95p9eO|AKUP4LVT3(AJU*dFkiSpepDx*rnQM}|WUWGxWOIHe$%rxJ@Bh2y zaiT@?%nMI~Q^*aTo}zZc$fA&4L8vb0p#l?9!zoqO#Qx0{09UeV^Sc<6Xr|~ag8WK~P{L8Ze=5k6Z@hGqS%E-0ZS@-jH{VNLc z8We5K1K%FNh}o9@4w^9oC`rNi?4zE`3opi?DRo>JF-KR|j0}lAd9UdPOa1res;mzhkP0 z(VXr#IW@Zl{65Ij(GdvxE$K| z!tRX$WgyGo%Vd`p+Fi}@rP1k)9mUafDZMVpD*>oW9SsUut8(Nfr4H*6F82~#zBzgc zrrSNfZtG%Ku_w&5{9R^KGsP-O=V_A^h;Jx0KjI`^uYMz?2g#t)0H5UsIl})K3E3{* z*n5w4tV~P+OT>`W6p1R$DXOOLaRgkEiJ~spqZ0@S2q3Y8%5-TO(p6FhtS_M=pP{k^ zDYA+loWSmpvVZ%17GETZYx3-U-p3*khwL`W|`;+o$QLx&x-pWZo>t@O&eP z=TS~!35)8uIQLJS-zu;9QCMH(aMB%oo>6GH1~KlBq8H|a?+&DSpr!{@WOQ&jrW9Um51`+Co+!dFY({C50^e&5}xeRc`3l;r9|57AJ?tn7muKiJY7L zH3gv~N^`pN8$ex=y3B;k+BXvxFEFy0SW@>)7EqFbBIqY_4yI(SIT5Ylg6sP9lr&`l zG{QA&WXPjZwvKc*^W7_Ul4Zoo_${5Sko^0ehb(oADJ7_F#;VF9_X%t!~aC-3wjkmtogpfK-OR(rJxnwcG{B_*9hw@ua zX$%2%PvFGggV|K=kpBgjm{#CEfE9l@HliW|kXVn3s@SKMK5qa81;yo!7P9|e5lQc` zB}J7iQmr!79U2EGK+~YY5P|gS>bJV`@X>Dlko47YIb1mvgIW=7qv#*Qokg|gvf6C2 zY(#Vyjyg7`QAmB(jl;vVPL}7jmZMhP^Iaag%PSM`bD)cN$z?T+Kg6NhKs6GflowBQ7xNffrdXLX&Dyl_S(`X|8 zD8R{;5dj$=iBGYucSp$Y`!b+0?#hBJsf63*?$JcZnjp1xdJrD@2yTEOSl_Uu~$c{PtMFk4!-!(=J6Zb>AHAiZOtCSW^60c9Qw3b<~ByjWGTiYf_i2 zPLOmJcb|(viBLj!LH)Ob-FEg58e6E|`;zG4vBKWMbT((*orttjEh>*5C~kUEJ~Wt& z4myN@fW>xH3zl!bQv;c^+e%Vi6TAb`P6sh2BashS#o2dwa{FXaLCfNVYO`S?*vx)n zY7LfGo>Zhw1?L(Onei~_i~qOD_&HE}lom~JzQYBrXUDvl?BonXG65D^r5A!SX}F^2 z_;S_6yUOXAF>rz-0;6}h=SA4xiJ|OgCkjO zhIQCfh-tKp1f4+#{%wgQ$tM9Nzpvg`tWhE^ZNJY#FCr^@3Udc9JihoiC1BgAP!F31 zqDcG?tF|_U3>Qvo&5ufSR7wKEAb8mWCfJVHkUtLJ#I0LS=OH&3gX)e@?wCJbQ)L>A zcb&0Z-XzOuUIV#Nqi6d`QZx0Csgh~duYy#7%hRG{pd1#BU}(;!PFs_b(}JDn@@Zaz z@cVR;B4@Fg{5li;Q&P$9`uxvowGDadhI!O^zY6F}ZqmSJx&|iMFr89jpq}b|shc~k zxd*-u^$2dkA6t7*h8>Q|jWN!?P|0p&A-8xAY@1y#yHjw@lkA(H7_3a) z+%UnWe?bO->tq!?tGM2zOcIj_n*21kz#>y`@uAurMxcWNP4WT>UdBD_``6J(`BhYt zBjoA2jPve_2-!r)b5Wv#5>`P?<0O8vhXNMb=SE&@dgt;FP979y*2*=*{T~e#<3F_l ziXyE~@1Jq^+CuSq_|buc^RCGfpBUpX(^dkwZfL^7z<7A%GT;K#(9m}c@)fUF1dO*r zX50nh+31cD)2Hefs86urB)TG`{+YO^1fP3j+YUJL%u+wZm1A zi@>SrkP-yC($2VDFpiIargn~As_}v(lh7W&pB{Bj7G`7c)0Hi2D|mE-+tJD{F{`RR zE&JPA8xp0@^a3P9UpdX-LeK?}tIFGIQTbU2uGYQ&IbhtoB zV8G;+s;_q<;PsNm+%S%$^R|CJ(bt^jh!Np!9>@@mCf|qsS5>0;n*tek65?N2Y-wfF zT=VzAw1YgC^)ZKyRh({0g8Nzb^$&y?EXh;|wZ_Kq&mZY&jAV}1`L;jrt!so2w3>b@ zFQm=*zEgmd$dQGJKnK|_Z7sFU#S6^jLCc~9{FqYvAx6>l#O&LMsZPgE4M}me;;Q-T zmavgHG&G8c&rxrBJUt$95k%?gMt4UGJ<-Ab03y1J2D;mKFrTl+S>s}oGuTPB8GT{S zj{!Xurtu(WqJ$Ga4g%`sRl3xdU%_G-){< za;jc+x}yQo#s25o+&|_yh=|EQ5v)S~D)t4NOf>R$Ietfz#KDc;4S7ZLT$v3;bL=xY z+WK_(^&$&DL|>S#u^B{IcxK(&s~CDJ7tfLRz;SQ@SwT*ssBO!Vl_sO0Ud_$#6RmjO zNExBG2h%Bmr2p^`o)H0nRj$U?Dc94lA*_xZRfITX=$?;nxj3^JZ0GG<5KKuy1sei1 zPqRwImwmm(;dlrA2+EMsbO3S#Ywhv*Ie8|~j~?N@mUUJx3eZv%MG?2pt-kmxNE6&g zuxlt*tl_1nbjpu5w5=X8t}#KCC0MC~I4bn|(wzBz!rY|T5p2&GCdA?2&fK<7b18$* zXAAbkjQ>sJObM9M>MKmq)au z4LZ9kXlT55v!0Q0qqO7|!by4hI~Wxq%>*h~Tg6Oje_lEap_aulMp8oN|aA)i~6 zIel>Tq~3qfPopUmDJ^Xo=yA&r0w{O4KIoB+8LS)B1|!5s`nVBFZT* z;anC6LWwOS>cE@a+oey0#=|<%Y~qH6tKFaL6uXowzv72ZX^rRY`DxiQC&A~Xa^;qR zt5<#35B~2tgIHmKl;s@M8OU0yOqSurNky+hpi2U~db_zHv?b;F!m>|VM@EOQF7U+5 zZoRR>xC&&}{3XWXfdKAlh)@Han`Jx@WJ}ok>u&Dh5Ye>wSVBIiUZBC8fp>00L(cA3 zR1y}#%f#C)JL=x~j3VrW8(#ux4sR55PN;P$9XLNU1yNvJieiKkS}t7B4emkkb(mY; zAmuF~dm`N!NNlGk@%}!Sqtm>YWAu5DS5uwo$iXQ%^$lFzwv-MTs(&z)S4e2r`>2~p zI)dF0nLeeWnF6}Acv1r^RUMrdNzGGI@I*Q}T!JgT@Te%U@pfmuiQJDD&p013NyC(H zE*$fC`IKVPgnchBJX)TvYh<_NMjm9by zbYrwYpck5`8lubXPx}~!av}+}8Kl^?5{I9IJTp*e>E41uNxb=mro1y`0HmY8!eDuJ zzA68G(JO-8oTdN|4$XQeVPX+~8KFuP$E839ErRinp$eI`2W|duI%BxXDfiZJGe8KIPNEJ@|m7Sg0`69sIU>0r3IL~CUwI1|5-0#4bT&flJd)@|v zX30o#avaQDMI_Oixf=7d+4A~vt zBv9s6s?Jwuw3KZ8gW#6xk)FMZ9!Zds9%#rj7b}4i&SX%KzK1VH`HuBRtvs2q^NvBF zA<-g2hYkzG5Yv*^kj;m6XC*wi1y1p`U)EgLt>qbdTk9CdAyd(nqD%9%F_K0Y6CrHM#LEk>L`>VXw^X4Lz;{o_&y zGbFdkoXR4s+l6cmiUL(dHga`8Td;mP%iTRVIg~toBqmuu+IJ9+5XjfMO}4RrfS4Dl)t9cJ&wcUU>;TiYvdtQQA;=82$xmWsIP0 zOm#8Zrqd8|3Vy;{p@Vq7`T@N%GcM3IhnSj%!7HI2-1tKpexTf|rvg%YXH;-1XWILp z8%;R4!OhHaSIcro%b%RY(zdd;HDjZ^)7EN*X~>;%5Hds;zAJ~{!4)*uLq3GSz(T^p zVy*wDK$A?h7>!pp8y@n`iVP=`C}Z`Itzp>i&g<~%G(ssSlD_hAKQ*uH=4OHgdF56$ zE?TkT&Md?RpT;q)9~JH$OymZnk9q%=YaFKAU;!Qfej+mkOV?kSJE?ew0`}=XsIwI) zG0W;YRFbBhjdxoo&{&zAu;)w_Yf7iOM>X;0&OA^a)@sEE%#Ky9qQ(o9kcSSm;7kj* z)xH}$i!7wq6mZ8;1$5#A4%7>^jh1?Lc_+cg%N3Y>IAGUs>76&up@)n(gOm7vs*Sz| z3KqAe9|3FYdUAzd+xI6JhZ5^6{_^L}uV}{f#OY{8UUNiZx~YRT7SKB)CAr~p72%%h zu8S4?J{gPU`O~m{=uly~EKhS4o14cM3a@}3x8^|+=(?v3#AW?1&4)*2+_!O3KN3c<@Z7a*bEq9-e?GD#UglK#pZe&4Gpln?GtDf=VbGjCQ2k#zI#)tTJS_XtuWkb8-4PBslPwe?#X-ni$P%ZV5Iy zr!;jQb@*yD$kd8RkfXzGIC2IWfAkFXhjBzflr5<^Rvv-E;w z`Hpt$c*Qaqnw&idKKAPZHF4n*qw)Q3?c^aR_`OLG^Og z2)2V?e&)Xg6udmtlK2@`BSgpX12K25)scFu|K^J^lZoLR+Z&nUkSQI{Qf2N?f$D+A9p#A z-TB+W%Y@6S2Avl{cEjiP%n1yO7sG-nQPS0IUMquyc&B5t^eX#aCx|BXG@Ns7fh3Bz2{3+L?T!MIn^Nnt3ZBN zlm?oi`nW(}6$3r2terkoJ_8MfK1HrNo860lVzQkivBQ`el|y9|D(n<<#RYD3i1{xy zWeu0scD%TW`X1+eOTl^eID}77p^>|NavCeN@iw}FL)Hnj^3SM*eOV3IY1n79+;cV$ zL)XGMCAFN*L*ccv5H0QQ2~y-O|am88<<=3$Swv7S z{N+gCPo<{I<;rK5+E!okxeJcPw=Wr7SnvQ-7PP_Phhs0#b44(#@WYZ=DnP9XytrH^ z4(su10wwa>T}OD^Jt1iy!it;X6tgfQ?hI|pRUxl?wL{m}D=p~(>gTR*F_aGcI~iG$ zweXM5z0Tl^b;8tCrcl!sXF1A`Be&+>DMLhmu%ETbnd}L6C?33p=D_)Np)t-S+f^ZNHu;Ne_yrVJ$LX#)&vW#dFEZS-TL(Z`AR9M0OR8 z3COV*jA>FfhEism1A8k&e3AjdF*<&tpw+D^$tqQ7;qptxUDIdZMczI?hU6Lqv@tyF zpeI_qojZt+C@Uw&P+g6oqz)HSEsM%PJ;}#MRcWJ6C&)i2Pm^#UzL>qQ$U0W;S&O`%L)}(^AGHJPSsJBOC45<7?>h@Yu+4l2Viw==oOW@-{ zHjS$z6-t;{den0M5F`0_npKEW26>~_#PF{h4^$B1$*}wh5Tpj#H>iq-?rEq9KTvga z%cbCkLM&!ZDAL-M;HbGzdM|yS*kIN=dWD0EDWI353-!BH@7{AN@hSS&9`P{jvKR9M zgOccpe)j+vhMkd`h^}Jx-jz~tVsxuZvgPV2e@?G4?8B<2C_$hRB?+E^RG}rrE3`G2 z15G{oMJobVNkpXPX;3;jbnbe~ufN$W&Zkx$fi5Db-{`s@w#H`jv4km{xDTs&Qt;ai z8cpfQ&(-|TA-ud-W4r5t%ipD;(?lZ_`AD>gJKI1i1s;9e-j}SUk247279YlYj@lO! zDKPu-O*T!3x0TM1I#Y8KNYW_3l&0oo2PAA<89`g1>!7Ca=rBe>YKAfR4N1N~5G3+pOJa$%aso9`WT&=lG=6;SJhaXQ=g-5ss1Sx9{P9$0HO~?(j|zhURO^bQB-N@(9n>Z~1x{ z4Jo`#;IU-1&HwAW6J&Au#ssF2s`)pmccKa^Fn(EVdgHA21mr7ygVRYQy)`#%kDTMCS4Fv_RdD%3*g3*pY5&H-6Pe=RIbNw@I_4>1$pdWmwZr zI@xM`pwOx)#MqPlqj~o%4FRip-RS%z{r;lqh1YIDaLHWb%zWeYCQkCY$_x-z-dGkE z{`}~3tgx^7a@;&Ky@MaI89tfzvSPpct42m*w*lX6>iR^r{Nq2RfW;~r_9ST7w_?q8 za-A=fV){1M-U$zCSV8;!BY9b47zA~CZu|Ak;;kkS6ZC%FcDFO-^3|_Eu1mt_fN*XN z{h@1oA6~v>!mQ)jsW`Z*5_1m)8D&1@vNFR~)He1Sb}EMv?tR=6jUk%os6yInO-^Ys zqwpyh{whISINpekEc6FbYo!MX^S`~fOGgnT0|mn!r-~2n3iWy z79jj7{_^tV85QqyWfRu=hOEa)?u9~UB5oU$p0SNe2P0;%61!YbBmoN*sIm)-HR|Jo zP(Vphj(`~H@?#N$eZP)YV_OS&fz~-=MD+toQ@+oJvsaFbf1raLt(`7^_yFr=p<`&Y z3DwE%;n6?-D;(AL2Zv{L6?D`i-8kiM!Wxo5{`8GA>-^w)nA+;(NanO?C9NYJH~>sR zI~zPr*p=eSh%?e@-$l>Dx8M?-$p8Z;<9F0P$uAzmgAcJ>T2zvl#S)q&>>$J0rNh%f7ioEvtV^K1q|>X-Bs4amfyCRVXYysgd4$#>8T z+t7_UPFmDH;ej7SYdf=OWpH$<{y$w}mg;&|DGm-&x*F^5k*?oZzv5_1DO`ppv#{9U zA?`vTi&QV*edaR1hPF3=<7zn`y*sy^ZifK=iHGtC4h9!W?8p)toLPjXp_+ zwBM_$frE~(P|x%fdy1k9c5iCN!^n9Vry7=F0WeY045kRfYd^vQSnG2=Xjn{76&k!v z@rwj+Sp7ncfym5C$m;ADTE@5g%R#NN?m22tvJ$#x2CCw;=|SERKwfTR1y)b==Z(IP z@4ft;wXPfB>!#2*fT3rR4>6kD^h4ZMk?BYf^T~C@BrGhf{cfzbHr_fb!5;Q8H(oO! zY5lkLgCo#E#el*wKD^BrV0i`xi3I2e``Bgna#-jw5p~HXO`qhR|3yw^6^XX|#)njY z%9mcC^y~d4FH2W<0Iv3cjhlOPi}cfJ+>pa=?gA~q`uORMn~6!j8MPa z6q!|d`Tn4_XqG4i>-{m<30o!~X#hGNsnKjxq z2~6ndSOQfd+h5U?miIwB{RV}w<-}nPTj3$adpOS_XaB#lH`=0Hnirn^qiW^qOjUCM zHdH1~bZ{oI(yb52ZaZr`t%lyze4k4@U;fql9f_DLTT8c7Utlmr{WL#Ly0%9WU`Y>4 z^WLN^(wIy(YD5O&xAaF|?kqhE;ty!C1;M44C`} z0wm`}!~Z)($U|e00b0Lqq?tRoZMz)#jbNHm7I)g!*Ym*>hmgI#bTQF@vw^lwmFO>Q z;PvNK@S@FLNCDt4>MUa($@Xh~hC?3nnnM71qvzX%G1VC!q+bsSG`f;FT;RDEZ`|-x z@Zz1}@7VeIvocz$iF7LaWNkXaZfV(48e6Aowzc}|+aYUe*nWHe zSMab}yr4!XMlWYKtgu};07q{eCp+tbK==W_+9MXNtA-6cio*KH@W_A|1tW%<9B>&8 z9`nhm@&C906SRaLMRes>E;(=-2@%=JRJy3eX3vOk4L)&s&*{Eeo+tUzu?ig_%x|;@ z!T#_Bk>yYidD^^x2Ha95deD<3T&Skkd50xsNHSad*V{3_{i(^I;eD5U*&xRcF3OAH z09&dP85-+!>u&W;41eXF2@PoJzwCF6M`=3mR1$QXg>@zhSMmMJ+#e@l5?m znpb~ofVWpoi0tmU=iq#MCimQqq4|WTKn89{7CX602~G{AC5k#$m+3hi#EFP z;e=3g+_GSP8pINNQiQ*sAIxn_{0uoakxj;srFYs=4ol^DAJ6L^yQrAEN4pBB8dWVfpWG|I$k}x1Z?-E4E}fJ^(`uDb}Mzga)F{09qWQ zh*gBM^ja);gmIYVPxR}H1E@LTI7?U4R%cjLFi5%6E$4v@C7mCfE%_DD5ymn42^b26DWW#k`~gfMO4IYOK;GPI>!G`-gwMaY154WHej?e-iyK9=Z zT$4cN`|F%u^bEzTS-~DRY8u$`Bj*`GVX8+^Xg z1|QzK%y`~CpMuq}+NSy{hMTU)pE*x}mtl9|j|!Crp9gP0+ZDsjS)rLxkylE;kL%AB zqTCKB^r9us%EEYmq^nOfMde14)s2w?CfqKf-M-K1%~X(!F$~@hFtBYGZu|qtY~rz> zB_f2oycp!rap#R@Yk&V-UU#0eY*n|6f^9A(IMo#&CAkz zd;C@<^OfDkDd=QJP;z3l1su-27%Ysb5s|fwOjUoP@UeIKS+ebXDXnWLA=hVGv+}d7 zrN;DkNk5O{0RjS(ddp?0eFsneK?RIq?G9GR@1wT2QPJ$M&wjgCZZUqR?(M@Is2{nI zH;0B6f8A(kXee4_sj2w%fyOQtiB;`5sA=N|Nj^6xSNo%cj^+oQv6?!bV^PJ1bxkMF ze(o;yMYd}8R_DzVl=l7c=!9QfNOc@?gXdwqy_Tt*ZNP>nYd9wygTdC2?@^t;K?P5x z83o^WoEbqu4+2Oo>HRPnO2VYvGm*st=X#}i4aVy#(o{cdh}3H_M?c{a}!X zlvz>zNUkMNvp?JS!eRwqtlnJXrjNxQ1$hQU-d>y~@vM~j>y3vliFj2no?c7p-f{A> zJ0rDhL89wPPtZVtM@VRTy?u0Ob0T54(V6u?SS!Xv6V+y1;Ko4&zo9!k5wOae_nY{r zt*Z_G+-evfMn6P0>sv4BE-ZN3?2L2+zH7Rcge@9*1zUq-kkX1B1VD_jL>8S;?~Lx- zbvJqZAsn+v7pQxxl*Mml_5PzJn<)$aYUX{wQ?Q*~9L82(*0A)v6C-KYH{D9)8PLV-R*LLEn5F*V2f|mnXI;QAZsro&Lj?@CvSEdM;^~4;nF+;nAIRz zy&kuRR-Sl}QiFvekczdKuxhKNOP!M?;gPj7jU%*7p2K_jG|}ex98js>Z?G-$4G(Kf z#7#mzxnpE0VHdVpPd2g~S;dQqO%Gnq92Ivxjae<9e{|8E7Bj`Z7GXX%yN&}p84 zwh+lN@?lHTgRjrkF9~0u#(P^RgHyypF}8w407=;1@-agHz?o!r9Lfz@>2)PoQ8-M6 zF)SYF%YTd*j7J2SjfrObsRc}srPuBCp;ky`X5G5(g}suXm#~8)PtVRav$LxxN``D zcrrEp#Ms1yLOlpde(w$3tuK!BnMn_WK_L0++q^T)ZYPSmd=Ox(a7^E*cvRMfC==ix z!G_jf4rxe<)B>2b+si3yWdoJ@1#RzA<5gGxoQglHgv4mqif zmsw&zsuKf>A@F|mWzNb>3T+n?fN3t!;2>&Ry<62!ViGiDL5NSOjB{WbGq|vKU9u+w z_V#Ffl~p5kI4UC}lB3`NW@o`Mxm?Esi_%nD?**+NoN-55=UTgN1rZ*X?4Vt0$ZVtK zHSq0ZP;2OIa0_V*Fyp`aK)U)llV|E)Hhb}5bhNfd*b$AMIz7O5jNt*ES2}pl$nA8I zxsl=f&&z@qV)26M^MZ-=GrDiL6G&p}`r$p7i7WCfM&kR%upBl!F*k>%AnXo1dt-Jjfnu-_KzhPaqP@?z z+=J-8CO)pLGVFpviK1j0*AAHogbC$umePMxIM}=ie_W}Vp|><81MIz}%&`}gOp`PE z3J`;Gh8 zcabLV{q1Xzmb4v$BqGh;{{*(fdc~CHKnCX;!jsYQ>&$33c*CDuPY@!e8|As)W_INz z3)ko{MaNJ~c0AHMCkcr2^PIU&y=uklwSQreZ&U#f!z2b>P#=YDBrhCD2x*q?FkHzK zL_>58RR@+Rjb$_>d6#}ncV;&-37|j#*T?XKif(rq(bE4pgk0|@q@U+bDtLRN<9uaL ziuX#OO^(+6{BNP!f9Fj!AJQBwF;$L8M|%LJs@3oklmtugAOiQ1Fjzs~w5(DEPRHQB%7O zchu`I%e4ItN~=q<;=!2g=y2^X=M#65=R*r^7LH1EY%B-<{ui(fEcRt(j`y5N4fA){ z7w zWIBp2HWq;wxo=cX!BHc?so-A6YYYIgVBv_vC4+{a71N*t3Mbt_+zbmgDrsc)^;`U7 zxS@KtM_W7l{yc-X^Y_u-o!zSJsjYvs_FyO#8C|h?~2!0)F26R&Pv``^*mJXcLPNlcmvP(fwJ(*{oNj3>865a|JZl zhY3i=AWs96;Dt+-9Y>=%{TrbZYJ=_YO)WbS`^OU}t-}i^s-Lrf(eBZvk~aGwp%o~s z#7Q)O=fZh^7(Px#nOzTg{4gK9#rWX9KK-invhMv;a(Kb#)r9W`CdVAVm4)we-))M^ z5cU)6c_EE79P|S^D%X6e*{%OjP}dK6bH_d7=dGQz^j}7^&>NPoAd5LLHI`MA;C~hC zC#>rkT`4sZySH%d*~t#K6~H9}T)EXS4(dimQYwO(lgIVNdf5?G|EZvRnEl^q9vb9l z^;b}4lk>lK0TCu42U|{@R=QCyObj6qpdEN1Te-yGvE$2==Ud)WcZbMo2l>IaTtf)2 zg~cLPpO|K-C(*>G)xOhezv21yCK7)hNZQV;-efUtQCb?MMfvq6U}WO5kFRZLyIAc` z6jB?qLbY!z0GV_OImO|!?wB#37apZye1A;nX|_T+-}vF*nx|JYx<8WEX2%+0=Ho-; zZa1>_T9&@#@TSk2;{dY<}9SYMFWH?(X2RuK>3lxvpuZH- z$YVyLc?LPWeLio@I$dwg_HUiJ;euy%M1=eOHT5KY2HRW|?%~1(zlLhXTR*6wYEQ^z zZ3HU|q%GSkN%Ooz^iT($aCEQD*UsLnaSMF`9R2>0eVxvEmj;kRT^(zWb~E_xVlMuT z;U9bk#a}-dC+QV!_+(RtOi55csvfGEtk+=rF`*h@4GnjmX4{j5r+P+g3G^b?_1OvI zGBC2i%DU~1J1{Q*xk{&7i;|Ow2m=lJFTU7dq5muB8A?~%)7g~aUj-a;tLLXBMC0{4 zFQ&8L18n_45@U}I3?b$S$&y8d8M5@|u(zCGy(2T1zg|v1vSNaU+$6BWfs2}K1Ggfd zuRI`qztM5)hW36ZiafpkY>~FDN{rpk3)6M)<7?at;&~~1KXd@oOG15lV}@q$bX$6Q z`tIE%t4abk&iEzq3fr2D>~K{A1aY%`gt~lOuc=P)fo1wVZ7t*%U|} zp%BMJa1C%4^ALC%C&>7vrKO9VF47W6Zjkaw){bY-37X}q35*#^pF>@QY6-t55f4#F zlPKSxN{;ERtzyvFb4I}16R#U4#&j&&{hKZ7?dw-|bRh}|2eTC7_htOYkCMe$Xj*X4 z^ziEw0$OIf-l>4~L9uYER^O_tY31JX+Sq+A)nn(fBby~RV-pG?r5(xZ$b%vBLp(Hi z42P~8tR}Ww+d2{l!6`O@7E2bC`B&ThSN>6?ug{+E`t2Eq+n_1(`YjMaUJjJH{vcRd zDh)_g5bnKgNqfElYVVgL5c1R(Ud0zcj08fC9FM2gPCuJK1z zp(PRx_hn6s5yds(k6)0X(U@C>2PwCpw_cz9fMJGK_oOq3UshT6ZN`%}#zvX=4XGY% zI~F5D>YFSPj>;yK;=ZG*SC%VMqb2D#93t*7r2qS;@neK|M13r90(}oJ4c{okHhJ%A z{=qo+g$zlvsZ#D8rSHXNb8F+q%7sDSmD*7TZI=%N#nj^U1d)3zs3l06jcF24f56Bj z@ByPmzPoD7>lLI149tNATXlLsw!_laFXR7#5G(AN2+0uz&m=r$MXf!?fL_a^aQf{EzP%; z*?!&nIDL<$)j)Rj@h^HCxc|BtbL}cn3qf_SzeFtEznmx>APMJly@~4sn(}xN)gA}` zw&+}NuYR9@9s8Sp;PNdw^ybRVq;hJI3y+Q$<{MgsyfELNMg!is--SVg!=w=_AYseE zeYbj0(YRr&{nm`*=hZat3|$=NZU@QG5J@aIn_%xh;L|NBL6&XO&>eQUE0E zdd}tK#TIl{Eu&5ulGBy3u!W75ESP8Qq*>2)W3Q|=dFYRQ+1MmnW$6Y%@4%~ugeV*f zb}z*oZ)E(XC8vKvg5qzOixxkW=(3#jsW8G}Fia&$kKDFn0cL|fP4jY6#UoDdZg$fk zqCP>O$v6I8{!!+^r;LgvRlTB=3QHY+q^#@}GN_@rq56|MYiF*fWt-;*{V-z{1E{GEmT4UfD7-NoM;<1eZ8Vg|%5ZQq7YVAzp z3W>1qzzzY-hb>g`OaQxyJ$G_(mAvTnP~AQB+Fr-eBj?sb@Cif*_;DsgOeIiy;TC*8 zKuvBH2eXOwTzb{hDNI>BOn$eBCs$3T6Lc2w3E3Z~ZkpUXO%XlGRiu$(Ja02Phvmw% zTUQ>ms_BL;o)`RNpc8SDbY@tuhAr|_-BVqhl13D)i%Ontve-f>MQJ6y61n{)&~cgO zmpI8vN)88=OWW}v!E-Za8Qpyd{uu;In!UGx8ei{v3z+O?5Zi@h3@i%$wdHj}+1-A{ z;`#mf)y0h2_%sklCnYfI;6mcjEv0Nzw)LocV@2~;ty$|nWT&qCQ;&u;uE~XN@CJO| zT^ge}M3;tGE{W!$b9Qd-H(Md5nUp}5NQXgPEd#^JQ6hyq$}NFz$d`OjXSJXTuD zT3+iyNi{2kD{JaWsS0mY%q6>uEex2{Uqe^kd9UJhID+e7QtG5rYcW#E1z;0vGUQpg z^gO1q#!CQy_A5V3Y#>xY3u&MUQN!2o3EZ1rsb{cCw?2@`GnVAH(`!KwI4_11KqO5z z;V&;BkTxP?pqPj&(!$$psVLWw*;TDc$6|S~APyZIDw?56nnI)TX2`~EK!6c>Pe$Ij zqcdIjIr)1|RTfIwb3xGzsYsPQno6nW_9Fm04wX^npyJL!HjV&oN_02a@iZnwl3(8z zjN9ZcHV4HevB*$qIu;Deul`gG z<@p-g!FuQw+n8Ir0Ipu#aZ$vCOEK}+|4Lu~mxNgI(@&IflHx4e@nxenD4Ff*Y5hWj zS*xAip4>h`hUI`=ydTO5S{4y}o_SQXCB*db5YXan)~4{F;hRM0}sdp9^`LBPt*F zHw0GH&aS-PI2g?i($=Oqp^wo7`Oscd z*_5qqDB{b;e*DAH8Mp(#Lug{HKkZfJWTLWx%hbBs5Tqm<;B7lremYQv_=H5XV1ZC= z1~&10(v9U@Qv&WU>>4nAC^8bzag<`=%bsY%<1)nn`qV_A3rGq*2UrngGv*i0N?5Kd zA|Q_>hZ46+Rxd9_DAJ`{kfpRB?_HsIFUwl4=kbSx_&c?$AvjgvcRoxdv)wc|F1S=! z&m=6I82~25HAQ30Nvw=j1T6}UumiFtrXHG18<>-)+&Bx{RYe{m`c4gZ{7OwhKtR2v z+E^LK&U8q$>N7MG@6HdK0eGABvYINw{XOL)E@+L%sR&uIQXxU3<|;genRii^$T0_b zSX3>QvXu8gugCy%A`9a#mj691oFg_=*uQT~`uz-dt21WG<0HjDr|-zR@8iESoSCcG zkedbK?hThyP9xPf4`2~*I~mk=I74=MG(Qj*X#a}bGv+w1SvmL21*Yh14S$~GIW*}I z(;H9or)RRCVF7_WE~j%%_OlP0Gj+EI*Zw>TY2f_sTJ!FD5ziikC0}5cXhyI_xoboy$<}2yUwyItMvm!bR-v{AOqwhUqa&=bS=&tK2Br!RU-rIF{_ z3&u}&@w`oWl`V9M?i*Fv5O z3a@ks4?BcATzQ0kZj7ykkWV!gupR2V4q=+!RX_q?tipj^2QoXk&*oerIqKF@r)gw- z8`s)v3tHM9a=zLwc}=0;_*c&T3x4(a&HC3~@6-fQcKP--RS3c4MK6z|w4OgaLxR8( z;RH>qDcTP792L#EPU~bMc{LG3%e6c6Y<_dg+6_!1qp#Nk!G}eAeXk`w!C49U@%0v4 z1-LkClFd6T0qvcj1MQphdeGGw7QQlXh1J#eKH%S*qf(isyJ_w%aoz~pf&~zn+a_*~ zQF6QPi=pwIGj}A!su`!1+!{PyYyd&PI#xMHhte)#%kYAV$n>wBH{s+73#G`Wl62n% z2l{(_($byeW!Bu$<#-EJ4w13fpJT@NwQXzqOvZdM5@omOmSrBT!ZCgW>^alqUiZU zKQib3#u*#1s}ERVo^yuno&uqVD#4V&B%bLk&;l@1ml6r((x>=oXu{Q_7R34~N<`z+ zgP2P{BrlL|Y=)GxfMaN0a_W>`)4#79IYb%lR_J*9^xZ6)5Seh%M~(=km3h8F5ko^C zADb~yXc1!P}8i0tsL%@)sNab# zHLSzMV&c5Szgvf-b^g1;}7tzQFb-~hyecHteLV=G%-6HU_PR#AND8sx;Bhx+2 zNM7bVwoYcdX?-6LOqqGf?VjPN*yUY;4{|U-;+N{2f{`5tG;rUNBYM_G|d--t4s zCNv{1`WxkZ3o;WD8VF_yCgq-EAdK6<%Y+0^=2XndZd;O|PEj)aU+Zf6cMS7l(~nu? z<+JKr6HKanctZnQu6N}YXzRZtJWlIxHZ?p2$GKDqr5)iy;t@;B#Z z(-q$MWj~U@@r0G53DqYphPf;PV@#D2V{wdums9p{s={Xz$bFyE0Y#QyWi6%q@|d)V zt_D=Gx}mqCE={m>qC5=@Gj8c^*P-AWG|G@xn3|mwZ1{=A5+%N=FL2j#AM*T?V*b+0 zFYM)X?3$BEs}vG^b>Rw+4k*@%roFk_O*y;Y=%%#Zu5l4__MKSPfgS6Fv}L*os^UMA z@wFVaknevWszr`ke+-)ot*9Q$Y}Cjs_*{ytDDl#-+J-C7X36|GjQ!ZSENUvUw@R5i zcM>pO+>{4XCnGYIwC^^~h78XQ$Gkk&B!IF><+63&?VvRic$fJG71ZeOYM z|FnFWI_V8XL!%=FrVtOaJhOjNF&UX*K%prg9+$+&S}awh%Wb0QYeiv^K$^?=*Edin zBQUCC!UPd3S8xVh^wXXAl`LXbL{g!fqeRB|Q+u5rpgIGI8wd*6?T(jIqRgjLIp<_+ zH(e>;KzUa>HGz@`D0J>xa@fVizDFIauF--k1n~Ksde0RuYkgurNaB3`0<<%c-B*Fdv2zi5Qv>&pFSDhQEXSz53ATtwC;? z$Yd$Z|Q zjTZt+;am6@ZB9!qzMaW-7&i^3HII_#jB616 z-~>x$1-|CyPLWW-{_;QlWjwxqqqD4JLN2q4XuX?aU39_iRgY!u4z*!z5$2b|fs-Ts z*IFkobXXh{ux7cZSY$L=xzo6DpGKb%HIrrj-lcUo#l!c9Tr49k4vh}^PTQq}9y%O_ zI#)`Ir+;wI4g+TzH*wUb4D(1Ft{C$~JoS(90%$S!RIz3M^!9#2dYIRHZNt(ZMtwh0=_?cdK);>J|Xnf9V59P<=o)ao5|A<~}#QGMSE*X=xCq##@{9D<-9O((eZdxz_hO zNClVgba2$dAP!Ou@GR z#AMJxvnr*^!X9qn#rxj0qL)15~Xc&)IMrKCabiR=}9;XNS^;<8R# zssn0gOm+i`?Rk&JJHiAl1U5Dhd0>&^P!M^;%nCjicioL`Ljc^|EQD;4VQCUO)=pz= z&OulztHFQH-wLqw{rFA|a)>XsRYHu8`D>2!M}KlF0l^GJHEV8ug*Nao@0G<+|%H zcmWRyAEc(AC(6rpMx^LOQp4hPW)dP1SOoGVvyMip+%QV*HNN(+aq#S3p8l~*I-yWN zI;V$eUJWkpd!{npKxvIH_sgj{LhOC#P_FhO!J<}5gmGlpBAPK6yq2kAN=4#TJYou0 z(|NHVFm%A*(R1+RLV8hdX#NS6L@K_)X)7%!s_7_DHJ`b&RA9c7IYHNFuvHGxw6q<> zsMRf@iK`|gqSGsdpJ)y7t4cr8gd|{$(~QaUFIbS!0Nf0!=HdP>+R&)T#}Wk5h;c*= zmYLNF^xsep6&w7T_@P8Q{i5Q^$=4T&jF?4(13!d8z(517vv_`U<-xHvFiis8eo47k zr;51F#z*LkAwX$i1Qbwomo&&fP+0IUKlZae%OYE5jt2$YW{%K;QZ?W zu1Emb;jMRnA{ZJx85uXc|1;#`nLrkrqVZ5t(lBJSi_0pp_8=}|W$iKXN`p>O6sIo+N3Hl(gLx5v0=jDJi)qwNdUP=X^O3^UKJnx@Fp3er+j7;Kz zcoc^TI@kiNDF?-pG!3nQx`2Uw-<0A&1SgCFXTDra>o0GaydfwVj$0_4UQ>ls9rhkw zjth>aC|)?o^3~gY{T|XcqR1!v{HMr24NBv$en9CDf~*f|xoiAAFZ1}56=tK(V0#{B zU+J_<`|YZ_X?RWXfq85GK5aSIjp-em*z#iLC2OCsdw58X?4PjW>A$E;tj=~Mt)M_A zfoT{-JHGePii(?~oo<9+Nj3YWS+yq>WhgCMtT(=?tkIU&DeBc5PQ=4MeYA?f<@gheM^j8rY_jo(!$T{L8;gJkCOp3HZSn`EqG*d?cmH071Q9tV)=KFJIp4qc@ zlAO51PMlHQfmd#1!(L~Bw`mIe;vSkxZD-uL>H&5(S@c|(R~4GmL_6~?BQ$C*7~Fy!U?}$CG0O zWSC$ERlKc=Dx(g49H)rYyAc*nAQ$y$i`K>gsi8hy7fA8KHH;AqI1G;6$i^wySENMV z>(i{=)BD(hS0bcY%iOoP8Gjg*-!l7>nBOwMWmhh1W)V+ijOP>iSg(JP0%5n;9TGkB zkMVZ(1JNMJv&XFN1i>jO0Sm&zFS$Z*?MJD|yci(B-*$yJ#(FmabY(dz^A66}i#%zWuZ4vTy~h4i{${@tgFy_gca>l zZWBA#SyM=f8s~~e03vOD1D1M@(1?C8fgJ?0*TPxSManbqyRkb-_>O|6qXOGd%9y}f z*V{>6Di(Fp4K!xCWHKI2HBlBl1Jy<-nOv8^8w`F~n0ZWL$#ot^+b3;L4U6OSA6i*_WAd8;UBNTsRP{;fVd1x zf5Z8*z;DS)%k1aYcQ0c)S@s&*>95jx?E7jsU9?>#s9^ zRs=U9pWO{dG1IN{3EQUZ3&W1nMTMDd+X#FguUe%tK5mS68(6dqwr-Se9f)WRfls|z zBM46@5V%&M186E}nkg5RcIu5}(dUcYcn@&@Eq?@eY=Re?pevvymGP@#<0?aDBgq6aoh$K|2lmsXz! zPCxd!PQ=3~47E{Iz9hp;KEaW9j255&erK@DI`)zZT4)2^q8<6(&;Ij`1+PE7@QH|$ zDD5t~Bt*JBe-=dqRy5YJF$j7*f6ioJ5*IwdF~Io=DFlv`tXX>#Q-_{vv*i)Kw&x|@ z_O{EAau^{bjw3On?7U&G!LR@Nef;t-Z^m(4lwU^(VN@J#2#(jk`#4|-4o4dDw+L}+ z%`-HSbDpEvRV2IJ+$lHA@w@N2t6r5!XA(0vcp_Tv2SJMbNXKgt(fMrr4cSBXk}ToU z&-*X$+U>HUCLOu%WE2e1b?i9;t5&t{csq;fz@w^6R*ScG`K+{>bIu9{#_=+?;A0yjnOs3Tszg^KM{`{Zn6h^Giz9j%cOwvyXNk8>mG8*7N!2nc$f3=GAZiUABLAhDL<;jjE*g@AWzt>iyH{ zc{{$YGKqhW7pjT|ui^4&KrYh-5MjF(S|T$KhX4>ho+ELkW~!tNTYhaTKmWde%L)&U z9X<_GaN{+b*|GbvHhU@RHE`Stj#xz?j^jGzPU2g)?BKV5`$oWw_k|ob&!}j`F$t70 zQk7B&Mi8OGJ+IGe*DqX9#7MS%hQAvfsx;zytfc!)(a3CyY38ogg@ZP}7lAB_xTAq*5Ws ztkcZjto-`{=gXgfAHrCGdWBgbF~o+432@+s%d#)yoZDQAV}K68ub~4UngJT0WQG}A zPxgB!1W%*jdlK_mmjj#`G>PfO8nE+qxRlV2X~dcen}x@s3h>MqS-0vsE*%=823!TK z-}8jozz@u`Zf8)VnN2%`S@a@F^cT5CkM7LqnJ@G^$PgvhU+4moReod)B|AXOiw2#i z=;#>%ZQr5`ZGg8!M+8F2we@@dHT@l<)J3Qa{btdbr$Khnb!F=+?-rKb*5rDToeJp@ zJ-L{O^kAf?^R}=5xAb_}0R}j$A;Z`N?n;wFvmO5WfB!qSZ$AWrD4xOC*jULK{)&6< zc__;22p}EFvgPe#Y&`PF7T$QHy!_T6?N(9H3EE{2IoHut=?`S=#|*NQNN0mftO(Ud zd2O&&VUfP5#!Q`ht!9)SXHh1VexbBNX=Sn;9m>y^QuRDmjGqDjtK=#C22`uYNUtBk zZ`N7DB3#!qu{WT-0iv~u*^ymV08tS*NJK*Aq0y)?z-V&LH+z&k#ln0JzrXT0 z1!DnLG3ivsG2}%BScehI&6O{R57g^Wt1&w}YclXK6J2Mr4my}0Z$Y~NqUUk9dO;yM zsg<0vut91CacmBaX>ul=tOQQ;2&OIU2e|5LpaHMG79LdRf0F1#+0gE#cCMi4`a4DP z+RI+>Nhy2Yd5i8#H}~sY{PcSbbFqIXbzFqGy8d3#&oSn@ES;36m%gS5s?W09fWW=( z-@$%oy^D&yg!5;pK0t5CTAuA2w-5p$1>@smD7Bd#yLPnQe*4bt-0_jMtX{pETCK*| zxW^s8cn6O@`Do!j2dB0&vF~2S#wxhZC|V0X{_zj-;X7_`bEYY_Z~q3r^h;N?Esxd; z9ax2BD7o+QAt-wOg@{Rxb3PtNcpc5m_{Boez8`E2b&xev(mQ9B5T!1UT`(p}#{oE{ zbXdK5HP3%Fy-nTsaa=b#t`Gv(aR?j-6Vh%5KL}X5^kSm|3Ic?XB-In$maA82ty<$h zWX>C)F%AT#Y(||B?lfYy7tQrmw1Eb07$%ZQ02^0b z&A1+C(bXHxtSxc&la|>RrNB?9H5{k?ppj7F(lnHYj_OVq1`o9ceey5Ft`_rUl;21N zKJ$-ZQMjN2teK~iW#RkG)F%OjVmd|qXksOcT|OWt2FOArKBq~mpzM14yN)43){T0= zF-A={9J;40hna&!Ezibmh+;Rin?be|N{Ccvs&kg*pwtHF_dPJ*(cOv$J=(myBOm^P z@nICCIVczilqqQX#e5xij!s_^!=Nn$t>k>yXw!b??VcnsCj{Xfm9v*esi=-Ra%EBN zgS-~))5-aJJ>DGef7TNm7McOcF+gXqhMXfcT7v8#()ZWD`8jrN{|HxJoW~J|k#(3h% zj0Ur9hzgmFkdqgir!0tN`_=s$XAAgl(Ym$2jQUm;XJ)dneQ1hkPN)d7n2XpNXTnHt zd;YTZ{Ti6(aQlJ&uYWF)Oqm;{p)UyvTIh4#!FB26NTEaIDM0!`ztvxI{&R-lfC0%d zK=&|)qRWbrHB8U6kH+!fgAa1(_D5;XRPY1A$&)A9u<2S3>@8M*9Gse9AeuC3(I54qw`;XL@)!+UzkLC(gE!#6g&u zgpunpFt;o!<=Dc@GCF$)~_dTFqC<8vLbc4=g zIi$+m_65~-v0BiNLgGxIZv(Z@{TF)T?o77dy!NRJo^MNbWb3CTDtg2j~QuEm* z@}9q*j???Dot*oeA~;|`atzQJl18ZOd5n#XF}=4v!7+9GG2VD}8%y6Y1i+FdOQ=?> z9N61#uiZScE#Sw0(lIGrg~0RN((-NDvXw7>@$Rs!&D=(a4vEmd1{Q}_drO5+yy)NybTb(r0XqV|kNWqe29w$#6j+O;sCKbC+ zOk4C%Xu%VB9ggoa z_jF|0Jh$9>_&1q_*8}RqCN76JY*HoFF%O&4#s$SfYcs=GbEiG;lL=F zIyjjg(f%V>KJ{Y&+~WF*1CG`Z2-AU`|8w1WWEWGZqC#7F}rvs&&M>e$tvxa?8wey z=}h(xi)=NX!`)hMm@j*wXryh=7u|?#jYm_YZ4Yl{`r{j`96Gd;qbH8G-G1A)ZT!k7 zf61hal@8AmdJii2CU_7iiRV>WwQ2)LjvOf5=l6bZ8~^Ti@8;C0 zH{&Z(t$`tx)`(EWp>^v`=;~dbXw+v*{K;mY4J9khcb zA!NagTwPtw!TmA8(QHhkf&dj7%l4^o9S7~1ka)+Z4hV%j74vHp$4p@;Z@0deaf@340drIOj z!=Vd{jujk2q%EanYz`?+Lv;d@dlQ4b6WGM)Ikap4|Y|zm|E91p25a|vy?;TP4{+wq8!9o)p zIx{W|RkR2h*Iio~VUGhLdoN0ZaFrZ?z7+(eE=&t-;4XBkzq0!y=KJ~4X_r-zZL=kW z#<@;#WK^o%pQlKsZvLE;1jhgaBxU_Y5`Q5~8X_SDj^na+Y>cDNwy|HD&gs)9;}o%Bn_ISgEhmm0qVD^w_EzT-DE8P=h=m)VCQ$VJ z=D{jH+HLRGeNG-8Wr@w;F(2?}K#rL4hfA8|2xbgPF*#|1usJT#i#Qq>tMp6TagEQt zbi&}H+1W^qj8g2X7E9fpn)pnqI00wUHN)ZJ;+5OOzm{aQ>XvM3T#F-1MR_A8Bf$PG=b8#EDJ0;QH zhcCT-S2MuT27RqA#X=jXoj{1zAZFQ_--U|7(TnP2E-_cd1x!wT=O)G7h9rTpmh+=U@C+#bF>CF9z=MF9R&Yw_s+8YQYl|@7C!*#Yp>)i zv)dJ@I|`H;$?wKJC9N4twl$};0e4n`=6=L+7i?fn$Emh#TdynDuNP>28m&V21!)xl zi75TEi?Me&zTYDCJG{u^()Z2K7c5rh`V5CBqU(>xou*7dxI7{=!{6JU+rte)vf-|E zspAT_!c8ChAV2%cL+m8NC7cz5m zLK91vG`WVTQsEjEi60~}p`kK+`@~AcVdme^cUj)L@HnuOn2GTNP>M!kxepKO)Iw_vbz8mjaD@4P2CEbI%ZpZy0ow;-fUb=;ok zp|xmBZ~)wS=be1%OTUiidDLn(gb=J*vx%vx;{Cq)@)wwzdIZN?hNuh1#>SA+Z%c4A z*~P1W{Te^;1D60J1i|sB-xES0rE$$qx~W*ACrfnXp;z+bOk%zjZn^O|+PIvQ{m#a< zC?fzmB?xS$mNe0#aGcf~90Wc>NKT(Vom#H7X8Cf56DOeV*IB)KWfWh-x<2K_<@#qiN0bn3#F3 zND;@>P&yqnFeI^3GGZM{+9BM})J?NZJ2F&BCH&q@Px_L6ciDCG8DR7%M;S{lI08KR zI=u1{0L?(*2RM^8u6*KF}Rx5DqxXTphjRnv2tc5CJ;gZ=qA(0 zj!~PbMJ_3W_x1q2z&{W{NgP!t>>NJ+5Nz526O&M{#|_YC+-k3=&OlO`?-tx^ zz-*oQd&W`t!Y5yPKToa({S2fQI{rjI!P2``63iR=y|42qiSASZl;@&i+eY6Cj*|L` z1fuPg5XHyu9j(?71R9z1^8U64kjM@K{dR@y zZC(K!rPVJ4;+PxKNyL)~XAzS{)(V6hsx|`iFa}n^W%h6SlP1u#>Ut?U7W@h;K2v)`4FnA~qH&LVESsEU`H7R@xgq%z*2A&zqo6rCN$qqEpBXgf)|}}8s{@?d$Uf#) zp|Kp(o7hytVA|FU@cXGf!dXeB3}Gp0QKzN0Zu=4oj~8M%XEu%>1-77JHS)c6$77j?*jVF$P03HD)=p?VvJO666jEfI_rYX>>qD*l~hAR+iYv zkCI=0+$7q}Vm31~m{~P%nRU_VLxrRhN~^pqg`J=%Q=olvFDQZo=9c6b;M{;A1T+$b z5(3Zj*h_nY&HStD^;4()*1*=kkRnk{C!7pZ(12`_n&q?2h@3SVgk5o9!m}U7$!#~#Fmg-F+XHx zpkfW5B%D8fp3-^<9PUYiUu#Si|@Sf9jG-5?v9SH$H|(o1pcLneJsTf(N%4^_JEN`$(FfBHPauyAH}! z3Gz|)ei3E;YLBl0dl~cYLQ{xL{~CoVO9VvfHzNC7s4M1?U;t>A>|S<%dR1OPW>ThC zL$_}ak^aUpm45F}-{nsbbIFN~cIjZdt?PE<-?DLSY4!Beeu`biJ3mHI`OV)8j^Ka+ z$#EemU6Ho>%4A zu@fv>w5YUf_uqd%|Ky*1IV588d(6mfB3=^xDpGM|`^fpoz_Jh%IC<_UMWjZyc%5{l z*|-(imq6+mbLFB^FqkrNI9inmfsNCU3kT5D>ppLJ%UfEql;mYCDXN$Gb`vgR?#sxj z7xzu12#&8F_$r`TCg-8CXVJt|wIa5P1RyGDWrhgN?Iekz65jn%glt5s+9NqrB`WQ+ z&Di-6n|*a5)eDb)@gD9t^$;{>n4FyC6<(r7vxHX8#|yv<{24#<@}Kbl;Js00$zl`C zxe<11fgdnAIT_8cJ4FW@V1N=N$qhmLEY-=M4rs~CR?)~0QKF(Qb-^fW-+g(oBm;(~lL@r6o8)zNS=a4UUb^7=Iwv@Ks{oyOetRXz zipy{QUXTPwCn)Ro2H83n7TEyfS$B|hm;~dc4&X>|9nDpnuj2VnfAbYy zdc~xf4g7S=GGihWpiC=`l3~V#9t`W;zNlqJDS7TZNp07sZHuDV8J!|aY(W0YHg^D7 zG6T^`r(3#Bi;GO=MON~L)LP@^#FO~uHzx}R6{9OWj!y@?_~L%9xZ>TZbK9&i-K1un zFKDg8m>Rv8WAe};t|wMV9Sd`YEL*f>4ocVtP2!h--pfE$%;-~urnUQw^LH+1H&L8WEAMNv8D_Z`?Tfl-Ds zx z6qfT0Rh2aY+7Wk2L!k)kmyGk`$rq{r)k||-#P+cA357`&3-JS!j2Te`drzYL&&fC} z0_iv`K6$dR?Iz=IoDGlZap0qTiJKcgN}cJ#+3#NPhrl2H<>$HcFQ4S&Kl51BCS=8l zPO{Jh&j9B(5{?dS+foJC{Qc==MJdONwlTl+&LVp9^Gh<3sGqs3>J7CLgd(As3M z%C1-G<-HOR*<<&5oW3U+`nAvJh}f8maZVQ5aY`?BRklw#30{8ABuSDa8is|)B_2|w zO2iaqW^CJ(JMWmiyLgnvi0Sk=Mg2r)#7oa(@{;ynN^q1lTba{BL?WGDPL{^>wk0n9 z^WD8C>qk>uU)ka5+10K0fo98>G%E8HgTbn`3&Y@=KSc^N9p0<}KnS$X7;_=hmtM9E ztw9MGAHTXS!SV9TyIH<`2l;+867WIj@VX_of@G-fhz&#Y@Y!m$X;PKwEa+(#siY67 z{x@tdeMOn>jX}$RDx*;{R>hDP|++7qg@!g5%Z48*<;VO+rQsDnOwOWmfFTMn& z0;F`J?REHYy#D&vId$r4gt!<;)=N4YPrH{~*#uo10Z>oqWR}vz-!P`UuN9Bo@f5c| zdJ6!LefA;N-tpV~4bSrbv-j>%c3gLz??+6IwlB1{xoMS$D^(bzG9Vo;OKN8!D-3o! zj4dZP4qzLYJXp&PFbRvB46I24GYP|7lQ7ufp%~V6%mu{(6!TCVCXNDDL~c6bLR$e^ zg2}M}A1kbsI^a?pvULpJI^p*HW7n?QRi_^3*$?S_d!2RqRMmdeYd^mG`}_Ui=f_() z7jCm?Sp^%LG<2_L>~Pc#S*S1v zN*Oz0bY1ZE;$QydPxI8U`#*g2rGN(qp}mk1{fRK2?-vIr8QLYXRT)IG2ky{M1uVap=%> zJ#`Sm8CX{`=o@F9dzkAegy6E)EG{ncX6^;x*)VoK$=_Bp*5ig%Z$v9jgcJe6F4H$l z+)-OOirOrjR}|51w+RW8s5y2JWu1y{G(3xG@mA{&91_3AGyK|@e~zOk6*ug=frHCC z`4Sg4F}S)y+t2=`U$^>-9+{%(KO2(mQWXlr3tEOTnofr;zJm?m24z z?J6dRQb*J{V4pPlsq&-R)|I)FNcB3G(Hj`G;e#ydwJ-6@2pJs)9-$e-}>k;nFd`5 zeBWdL{`)v{=7XhajvxORGmUq%#cSY6AK#0(_uil6(MQXDaU47LG48wXK41&|ta)m! z%!-5%u?e5RjZohYEa_22bh!O!zt?&aDC*GdwmP}nqz529bsLjiYP%iMY?3H6T%0@C z;?SWxGii)7-IU;nBE_}Wng}aO>m-cqI6PRJ#KR?X2Uczv*G-J7a&hn1NYPWp|n@ewuQ((52bB#P>WpS3%0V;Q3*;x*I{&wCi>YSX*n*BPv$d(;fRi!g0Zlkz#oH0<( zv3-yiRQiyZs zA7N?fO=zu<(!=w7_U_)xnKM--eU_s~KgX-T>zk0Cgpk5$7%o;;KEdkhYNFuix6yJV ztPD#s77-mn2=bOc7CJv68xn)8LKIz(^$d5qR;xCa@$ZG1;3}%BsVPVlCS$13jyA&*=MbRG^x5n zO0&;enzg&B`HEF*BqWI;Ojg2>r+J!)E*=fGUz$(eG>UXPmc`_12! z;f$}8&WxeURMV+Hv8;loh|E|Ybx`$!VR~Hk(#3i%h{BZMnBoeD6r$$^6++;7rjhZ5 z!<*wHBxsGa(KTfZi8&*VZ92OwKi?23l%zO z`poY&Bxs82l7u}ksiP2rC{lQyWaqA1xp3Z%;M2{lAlc{KmmWe0x?Ono*=M=-+H3KB zqX2Ou@wgaupfV`jfxqiKv`oE`?{M?=Us+sX_SRXnzKk_H^VT9(sQaqPc!O{(_HBGg zMUKR9(zRRAY8ihVmf(<{QFSNj+-sUwCH4^d&VKjzM!;qzC`K*cCM!#xDg)y8 zpzOF>g-!8x+dtLQd(}q>>(|ezPZa6Qe!IOmDq%0NF-)|iVW71}iQ;irdW;$Smo@`c zJ`!V8KH?*uR^9k>N^neZRl+)N?DqvbeE2YX_db#k4ME^@;J`emPnQ!M|M-u;!{WjZ z@`_ttfs_*8_hP>v<@o*I|3yxmconzYa-g*FcPDtZ0k*3aN-Lz2CPHPM2j3bfrSWnm zFTJJ>quYUw1Nn}+lGKvD(P|C{5+4IKUsLJ>u)B1kBXv?xP!yB zj4G3dTmQ0EjH1;9yDicR&snDV_donC{Op5wa+W39E!ci7uy2AV&>^eR$W+|8Ff$LX>oF8kDk%bViL$2nj>Y0KRpOK$Y|=uUl+U+;j!mtk4|uilK-d3 zBLDnMC^*U0i~O2yxygx;GHF zHD|4KDlI=D42BJJH&iM&eccLzUBSr>6mrKY;z$Qy2h9TqIeYpkzT<~q$Ira` z*Lm~4w6XpD{~KQYLnBr?U$A{O6UQJcvHYn4v5l#5G#W=!@#8e%GDK}?FUH$F(_^=;E*}r95F<^#lG9J zw0#_{|EizVZ43oR-g#q@uO<~Ar%KW(ipB=j<<^-{uJ&Ba5M`dLii-A~Z}0KRVk-2Quh{oG%AIEwu{N$}&a_K*99m3p)D83a%yusDJio=#(vJZLl6_+( zHvpDM)f;xEueDjiuu2WlF#oF#_>ELz5kk6znAg;oCsUX*jpcu9MG}&lAP6j15vT1W_i=y$-5GGpvMN-Kw z?3A5nQJu#5PL6W@HUmZ`IEwDyIQ@!TF`|$ODK_e^b)A($x_@&?N)koBHhv=V4~mZC zw~N@uUka7&gks63LLvOE=oi0G7crK<{@dSXaq$N^cyJ!iYl8sKZ^HYkYWfni792Rx z;M6IBrzP)x$2)3#eypG(#qQm3_N+Z$4~Z`5NSz^+)<|Ji>Lcw=EvowIx(=j78e1Fx z+NK|W$6xLAsDG*7m?{G}i}%u&nSCJhQsXSc-K*Z{w_{scTH?kV-@=6p&zkHL0#Cro zc3_z(jNnGIO@&!$A`~%;!e3-;y|1xD+=64?OSy@7ew!+xNqXb0?DH4;`8t zum%HS9^?4Ik``*k{G&0Xh9y2UAcbSjVjPQhTWuN#55jA1g9{f;gEc>&WdFP}rYHi* z#TPEJCE9}SYE=9eVC?_nrjU@>-3O*Av!)}X4r8ngKd)G|r(^X+GIxw{z7-~@jEw79 zM{ewJ^0aPDz?@UR=QAZYrWh1u!vOpI=8aMXz^y+FofCZilOI8NqLyIP`H68)f_TL@ ze(Fp0sC8isN|2-ysxlJEMhIrBl}^SXSqGv;D#vttQ3%xhq*m2jK3Q=EjKn`FygH*2 ztiKPA(Pmh~7H^;DpyUSRO}Wa)88uM@OX`=DU#s9Lu3s|Fa_(OdnISPz?WB-MFICYB z6k2N{ti#c=8i;~1c<*yPEb^D%j#J&ovZ|QU$H%sBH3P(f+m~EjrV5TJrl`T*y#X)2 zsMvLIALmb>~z{hQJ5t*08dKvY{1IOGTm;3(mILGQ>O$OCu#{W>*T7$$yVOyM*e>h z4-i_d7Vmn;JJ_OMmdXFFw`Gaj-}`O&uDci?pQ}ktPNEL9+vcRDG^Q#-WDC<>2pgv7 z*P4bW4e_D1)y<~ttyZWgXPVYgL>SUT(M=Q+)>6h^8F%2I$woC91eVyyf86}7qC@7k zTcSlfA6qwj$uz}e#Vp38#ln``jlZw#b*CvdBDxe44e$N7uQGcUP7po!1!F$3#&sJM zDG5+>+&ZiN@{>EQ6|R@;yuX7g#YPd~QHQ$IU+?R4wWID{PAXblQf{n(5MrjVF77hp zj1WmUSQFh&_Yh2F3yNzsKFdGOwd2_u0;6{PSG~J7LEQrXl;D`+%0M4)N|E<$g+fY! z=S$`f&2jmX&xJGPCMTy(Jwm&E54XMMW@A&U+q~s1ui>HhJye=zW#utG_qh-A4gV&d zunEP@x7}Dta4auB&U0UYm%ltdJ>6?_8lP4CEexHyiHVFl^wY@qcZ}OA55GobZL8gK z%M_ng{lFmd)*ZX%Sk5>aT_Fr3Zn)uwOg*IZ5K_flh(asPHP>EKd=5;m1FaqZ^(e36 z0YC|%(W7?h=vWb;h+1brU*zDvL!3H$4L9w1edgHCGCcFSFT(fzZv&r4DcZIoB&0<$ zYY0OKY-AM7zDSvi61G9L!Hf4_xMGm!=%6T()-3k@=9XJcpJIq7?TCDiV=C2T#=4;R}@;%wq)Gw-aK~qho+w5hI zau*_1mYC>}F5q^~0|>h@1KitLo&nBuC2 z6apo|_dImaX-XsuC^Ldaqt8RJIa z2RVWR!m!Qt*Iy4f&S!IGE?R4@;hNO8 z!Q#RSx7{&Dasy&wqYE^QY9k0zf+J%R*NDjtWhM>D$RUoLVh767!@TfOl3v;J<3cF6;~ziwP%(^}F(=6>gWZsb3j2AVED4MMt^aIp%b;3#_fbmo7f*U+)Y z5nXW16jMwZ*0E^OJ97v?%)#UDBy6`60%Kzscl3v8VDI6j)1m)w}?9cha3#9B(5jMM|NSAw+aSZ1h*B zGH0MeV}uucy@!wPc%}?ff@6xS7RoyDz^r%&0enW*GxDcS9bxbO4*;g2?q_oQtH1G9 ze&HA1$g>w=o7|3mQE}@XcX9Ig%Ym&%G~g1Rn9aOlaHdZ9vIf&M(+S8yG}f=dYJ)O$wYiios#Dj-Padrw?jPNs7b2o z=>Fb_Dvmmz8)fx%Nsi@i8*4ifhH&5}c<|@;jMtB{orPP^gL^Quo+SlKONOkFGF{Tq zT{AKfGG+^`1~*4+n3K$WYjo^bG*zvn)NFhxSye@msv}Q)ko#>-QoxWK?pm~~&Tv&6 zmH^4-)o{wUCMIU2g}VOi}=7HCl@-M5EgO*hsk#4`b=n$GPPyn3$C1%&6ROw26Ad>9q5tMn5FRS`6L# zEu)Ocs7qe<7S^Tf*K}`6a7=O4!Z>%duZYIJE^~8poIP0`#PBzN^GSa22j76_HSs)! z=SAFftLD_nQ>AI%``-I`?Q4IVz@Mibwh4TA^V@!!M;`jg(lie|aD>;s_C}h`24OgB z7IszYWHN0a*G{o84h*8+=*zFhIyn0>gQ>|P9q5^rDIo-n#y+~;tTWtpyN#4-=szhv zr1V%>G0$TZDXzP&oD>_ZPUBkvb9=ZVaw9D>-PY}-<+~98R7cank{jmu#f23P+%!A> zAW^nD*7*b&IYql|D;)daXc~ow?xv#!kvhpkg)tf8nf+SFr7B4eRkEp(aI|z-D!ghk@km5 z>ypI;$GM;Z#VxwP7xb>P698*l;b`rPE-;91yW7aUs364Mev)|y@ zvHydE^FF@s5k=->)_Ka({UOJWJ;8nV-3x$}60b)2@%#(F!qU<&vu%4Lp8s?!$P8C8 zFdkx~-ww2NWxY@GVw@dy)dYN)a{3(%X{`qy!1i@7bC{c(^3A*r^z* zV@6B)bMd|O7#R};R)J%fOjhY7H}b2%?*B!8I3R0I5;^;1?s!+NF(|A#O&-G0hxkZB zRx*l{2=JVNu5131pBLs$X{MNBoTwVFYhVdOvh9w)+dvqFY`NyTL|K`S?2#l+zpj{P zc+v_Ei@a%ORyAo*)Q1$^kG1fXwOKH#0^@2x-g*?$=pkP2I8+xQ4as3l$n$x*3wx6@ zuNhY!{Z?_1s<_7vtKg_hZ}F1yCcVEUuR1fORx*x`N7EW_Cny!MV;?M6M~vm+!^fDPe-Pi>LF7r= zLb845vs}DTp61BIi@f>XdyxbjK6;G*_|Chz@y7dj>ZuQwrg`Gn310J>J9zpGczy#R zJalY?ss(X8cJtd45`;)rwj;|8mod?LcnyMfHFl*O;3WR}5kJAibJKXJtC>7!R0ZJJk9PNcR=DKwG@|T}Q>l^ycZ>=D7 zHp&2GuU}MZr5USLdc=x$$f1E1LPyy%R&v7<8`kDR1HyyA@vAX^5P}&q6AHt0q$H$C z(+bTC9BJ6O4X)p2@`#Ls(eq&&!FC`@-tQuEBafo!B*OXak{+&UiaYsIWXTSZ+h@&C zj8a2cPa$}TaziFJ_dD4ODGHp9MwRBg)Qo@XeFW4gTxu3u zbgH@>2C9~d~kZSkXg?C5OoUhJrz0lDDG(a-5&~Gl8>B z;o~LB4-T&GU_iO7~=k8M+osd>s2Yl)E5neR=Q$SKzV(Xu-UDQ>^7bWF1SAGCkS z_s8pDwmQY;LEmN=1;^3w8QqJ+rGcWRQ|Lrv>$3&&5k+gmxi~~tEoYveyT|?Zj3Ci&M`}0Cy zw5`mEX12~X<<|_7>ik8F0@r-Q69Uik3Bz{Wfo=mXWsdj#Ao*ViGyRMjKHaYI+0t%@ zNqFLo(!mxz%bEY<`{VlE$abGa54fGC@0!ect^loqq9u+~(a5m{5hh}aCqd2_xnY=w zfi+7;m(x>vHe~7iQml^Xg}b_G)ee?wDD#zJ|F`5t-W0{Xy2?4;)yJ6iP+LwnPVW;D z#^xz;&RU`fjk9AQBtj7(ka)}@kVJ&ozNwScGgX6WbV6j<^D{xPr|OL<))rQzC4oBu zzX7doEZ|x(&!d>lMeY!>y37g{?Gv6?YSc}_>-xtLC-I{zZ0qV@<71&jf?KG%P`&%= z+xO9~@8~GcUpuqpq5Wai9??%g@R~Aor!X5$93g!ajF?^yIh`qrVt8uhKpkM{aGt_V|tV~Qza zxQ&x1CCz4&eFqM3_Vnq}G><;^cJ96RUjCP_7D(yg`AwS5W(C0kfA&9*a^i{a=l0ib zM=999e?Oo6WOdyhxc>qE&!7D%{2<#Qs@!B=Yn_?!th<}_s|*9LI+YMOy{Zj~@v))e zecQl}-lPd1wZ2&7l)V{s$r;ANRb=?rXZhl@n#IMPBoujSwvj9>Q z+B|VAI=QNi1*0$URO{77r)P@uFH|iQ{9f;6lG+J=$^MK(?VL%9)`rx`l+%gVCUiDU zMlBf=9QJutQIw9!6C$fi%`IJbjCxPk`gwalwMH#f)08L4OHc?ns;lTVsPA@DXyB=W@JERycv0;=J zjU-};ty+}qGvB_GR+Am9x(W_g;URNrOn&K5QRJo@wjQEHHJDeIXfz&v?8n3UU+Kno zG)rzwF~wTJCymS00z}6+8?`20vfD{kS#=}3@Q@&uZsgm;y68x9kz=6h&@ zBu3o?ycTsXEOL=iOys+bGli<{|0~YVIQX>v)W)6lx?~<~tO@L}umpxnTDaRS+;fdO zasTP0u~A?=In(3JHgAU254qv)*8o|O$Ebqr@^S|_wy4DzB)xlVsc)en^Uh;Ra7;0U zgFMM0`dHz3>yN#afBm(;fs_)ZLV_S*W_Ayqm2wrwiG>B=9<=^4K@c!MKVM03z~At| z;lup)Ek9u<-?^4f3gdvwM$6c2p2A19SsvC@WEc~a>f;AHkE;B$9i}33o=Y1k#YGg> z`E2MdYrO}HMJ6f$$8fJ7D0;-YLTUsK-F%;1XqR_0W`T?HTLe==;aGy4lQzKDSc%)%hEnM@I zviyn&k0SpZ5(sD#62;_%OjH;lV56!81hIz>O`8ybK+(x8u9?Z>a;)#LK0La~zM^sA zRJ}39T0vmmgGJ19-^R2ucdlopt^f=&u@?@x;W}!pDWR?ceV0EB>Y|j?oqwG|p*G4z zoe4)t`cWsb{bIez606Kmd19d^4VZKQLNrppXO5EEDmN^#kza~|-hQ~u?^RjdCUN}+ z8Nn8nzux!M#Y=SV4X^@V89(@{Vc&oeeK$;ezO~-IF3Pap80OFkyJyWyDBCZj1h^6SJKI- zFO11aBXQ`dF)lu3Y}!#2{ zPWi=YxBcEd;2V0_v8hChd!=F8f*nqb~ot3JiIFY`z&& zj*9fE;+TyLjUgT1u{Mk7rdMQYtu8^FB#1b#@uou z=a?2I47EVu&G?9hBqX9un~*RjIY4!zWFltEEnB%#alT7*6OL($DK-+yNWx@WS0|q- zhJz3@@uyn$KgDR!xlg~a9Dg30jo^U(&U=t+R7Y-9hqF)z$qu8 z>^2Y$SGiGB&?aAAsb!#R1Q;9l{I3k9n9+#tI=NQkvE9 zTkp85(yzt~FMO0J4B5TcLu*Yt47qf%+IGInNnU*MML-Zn5hqS8@TD((sWQ#shacwS zA9)+6&zgEE5qJ33JG0V8P8%ttC-JmE3Tb5KLiU8D9XU!$t%*lfmnWRd-ai48v1^R) zZ)r7z%=#zE@dA^M@=}*)Ki9V?jIa=rMq?k{uDib2AySI#wrt6y7edhO8kdYKD>aJ;Lv^HdhIb%bJc(E^zRvTV?k%)*0h3uMZVcmF&hCpM5bFn=&Tp2YXX&kK&CuejQa| zpzXLU{?gqzDox^>!u;w@XTI}MY4V6_)vKdT$?L`kRihfC-mv4)jWLnPD>roRJ8kz3 zRBoRJyhf@_sk%CKtMqGuA|-$wVHA=4_FFcb1L>mm3eZUAE4G_g6qiBCw%$dHYDLMY z*R5Z2XRXustDNa8ipoux0nLeX%N*L1U$(lsVdvL%M8_0YF6QRuIB{a3_PB>1ewdr@ zcn?x~NGaLB{~%}1REI}-@?%f(uYc%!k+E7tDb4BACrgh%e*9e=IeHf_e|fL&-l{o_ zA47$m7YpI6DsMt;h83Gh)-g-ySVf13Bcx=HjlzhRUH3A;m^cV2(2?zlyFi52+XvDl zj&g4OrgZ&oxQ_37oru=unm5D%KY*|Jiay8Y&V`~s%94`hyK)^NETvParh(v2*CoC%Q(GkU_Gfkk$u6TbN z<=k=W=VPkmm|{JVpL*W+m2k^HnRg~_o$SOsR&da38me>`IaPHO!V()rC|U#TX9FVK+TC-y3f(j$6$GvCy`w-=})e!*W!XWweL)45~t{a|y6oMsjGP(yiDt08yuI$H#9>>xzu9uvE`?RgStBE%vGZn~Azr^?BPv*(Vos^5a-xApnBajLbAT>P!P%Al7QJGM%c4;TnAiXpiOW1-|i#kTHsWI|FN;4_Ox z6Rw1K+Cz7ZV#6Gl`sI)fW9}!lhAxDJ7#|^Bd}ficx*sP9Z#DJD)EzMjq7jt?b*0x%Xmi9y(yWfCEVYnzVOG2AJANHm z0W)H`_Ib@K6u>O%x=IXpqHcR#>)R>6-R&N$oLY~HQAaO>*2^7jSaL&%Mi04>UzRBw zMHcy@8e}HB7NfUO6&zI~=uwwl`zAO5=5{#=wZ?1Aj2J}f%7OI3^0Mo%r`c=*iZEStP;5J5(ACgz362h&egfv^D(G52&eC1lYR6GiR6Gs$V^x)PHY#IfhK`3V z$|y9kAu*PT&p95!0UQRL>1}WAJ<1mB2SM= zkSV6vDA)mf<{x0o$?`tE2+A?F9o8}E)dbtWUCj>C*8;XL$Ul*$-$^5k6e&6&OMFVl-+w1U8b_s`=kvCAyqkyKSEk5-!w>&o zEH8hQtkKeaL@Cn{2femN|xqfxC@?CdH(yx5q}La}-y-CO*B{i53Rgbn& z;B~U9BzOKJMC?Pm6L(+qDi>V1M8{hCkSIdlqt_t5I8@g}g4e2x5ELpm#)15(ZLP!x zqn^V?5=Fcuzu_L>(yjo}QPak_08^6V>Vy!IAdobhic_b`368({o8RZ*hd<0~Z@&d8 zCCz4&cDq`U@x?Fx9;Z%q@ckL2^zi+F9XsY(UM?dz;PBzYe9!mX%(iXYSzV1{<$J2) z5XyKqOhQ(vXhW}t3}uSakNTm)JY^h2%AmwXzm7eNOlX7*qWt zMJm;!C^;gegl?Ph*V@u+=NJ~ z(oqpJQ9Lv>I@Y*a&UX@Z1!JxvWol;D73pLNh3W{j7O}D;)u^~IzBfFi5NKhTn9K2f zor&9`=IN7(wautzAH9RaSZNghMRZWzC{|?1r2X+d&y0+nXG6vJ-;4ij$k{LshiiR< zG)Qkl$dvS$V(lXt7bH=UQ7b6SXOc7%+o+g z$mT(swKyD0Y0RT_NbXCt%Or9n&5ZDtgiF05(!CC*3tCqC+q8?DtC#ss0?<0g5n?epu$-y$~I zw4}L|vv{6F2op*0fO1HB(%?Oj*ED|Kgi#IR8=qk!iikR$ftD-ArRo?IZn@tF3&GCab6j|~Jfg~b-t!*_fkCcj?JLkD@ z;UlGK9yolM_w9KP*M9Z2NsC-Ik>7~%v!kw3?xa~{`qP;q$PqI&g< zs{2*9-H;wK@23r|HJ2}6E=X;sftToXB4%caUE*0%q|qq8Hx;oNqW}OP07*naR4!>! zcFg+1tfd-Aq9~%2;1~uf{WJpK*=UOtAbmq%SoKEH{j~1aCFG+Vx&ABcbSa8;4mwWa zGmAnX@$iFyT~1xJ((DR+mY3SJmqVg>si}=IEg1*)5+nqNTVGFlNFAR~2Rvz4{L+;_ zAp~;9quDfst~lRDVf~1B$gXmHg*4D~9XBX;($YqsM=wT+oRiwpQDhB!~r|kTyqOKI>Gbl!t+4rjo7-e;O5ZH;a zRcTlioSXqq&Lm-tb=1Z8XRzj!S}VeKgpB!mt+fen95=zO))GPp(=Ta_^rTr_(-Iv! zcvX&?qloaRI^V%Zh=XGg1xJy?RJY!?zLPT3SZ~F~xYO4W8>13Bg#-tf7~jX5dr-g@ z$gHF&rv|F*sfb^ITBS$LepN!i=HoQ05=OV|<;aAg8R80F#f#w?toNK**U4#yy-(T* zO@)AFGe8K5?@JaJPjF~{jz=p94uE!Bv3u`cR+hU+8S#FGewA`&4|dx(sRV?5nP z-mQQ|LOcjdWE4Pv)=~05^g%wzESX?W$K953P$pDwz5<9RV9NTpC^->rJN}+}sn{UX zo@eeH)(qF=tblbY84SnH-5N2K$AMZiOt}h78dUw~@#w5^w<86tjexQpkTX8Iqwr?Iv(g43n2{3Q zZgY02#rw~nWG}GLNrfllA_1Pok`N6v5{2YN>46aV!kDDY`E#^dErbSN__W(?<0r&x z;t}CX4;^WmJIwLn`4AgX1q5x{aiH8ZDvMEih}h3Z>O~~PJPFf?D^pAYdoZDqFJOW& zEd!QPj4;H8jD6D7Nw53eUKizL)M2Q|DI5m%Nl_Oyrha%>r?4394ExYW*6gpo9(DN_ zMadWjWmjR4t7FLxe+B}%10e+Wz2$D6dg>|Wf+n7n9Qn!j(LUE9nDu!7`SW}sPHWF2 zX>F6RTd9(H2IwrCBfbrI8QD>0-tUFG3{j+rvZ&I?4idGtyBZQS~fLKu#so+=ovP6Xqc{tePDs+#>SN(l~tX2U$7SF*qTVUf(=rbNdT2`L3C zp1evK53YrYrm_UonVg(D^#~`PxR+Ob=fT)XsU~PPIalshgNGh@7w`YTtw=c&+tCZ+ zZlff{3ePuf|nqrL^*zU+*sF2YoaJ30=C85 zPWO4m`b9|FQCYYO4oNd;5(EJa84!jcI#O{6>>xQ#dLFaBhp&9XDD`L{guwH?jOCR? zCMGP#&jCn06wCNz!*s5Iqw$zxiqT+oZyw;y!p$qN3h_8#c<2&$%9BQsSwKI>_H+Cc zS!^WDtfkkboW=J|=B|rzssv$^}RHkTa71YojRhFo=p^5EwmVg)ZKn{?=$!UI$xVSvyefkTfYc`#VjTO;?t`EQ#Jy zrVPo|YcOQfbhI`xQ%jF46$tlTVtrRp=3KOFIF!$^pXci$i;EX|?d{uBas&A51^9;V zt4QW!7zHmb#`@qevujq`E6hqsS1D9Gig!hh*$V0XQ^Ke;@{kQU3oM@Ge5-|upVgEw zu&YGoJM}?fmK~%Jc)m}=^FV95p>_6VoXqZJa+8vfZhR?ZqQntfx8nIedk!9iy}RHN zrrq;2vvYIiy-<;HswxCTp>bpvKks%B?h6lQ6m*(|ga|YdVXS*GhB{F^q_!)QE|t5< zhbU8QAlSFL2}ByiECefQxMT}m(2C`eS4fPyqMu*+u0nB3UtOP~o?x64)p~+uv=ZEq z)5DbCTc7IRMHqJVd>q=wqUS_w&BE!kXiU^hfa4vYlcg+dG`1aYejV0P!7hxt|84Q_ zZ`iVhzo{s{1AG=^8hITgWVEZG7zN`{CiHU;B_zQm!f*wpKzGwVXIO$`kf+;yR_mUP zew9OYRA)+bTv1TgF(<@PNOUs!0PuaE z#>_6dopMRWumAdCKJ=mgitjhL_S)-cHU$R`%yas58NmU^jy}nEec$b=ow}@R%05P` z)#mz_?Zxxs4qbxOX60CGNu(^%AUD(lIu2hLb$Jw#8zxQG#v3=XSR5&nDZot0rqVOoGgAUv4cEMIp1zIkYlSij-0W9yD}( z?X8MKX&}mJZR2}0zXul2v;4`=u(Y(4n05t?0M(7+!C*T1Pd{Lv8?so!G%|1Df65@R)Ti?zl`AhCz{Xqi(`J z2!XN@kw&7*_7i#2oQ(+A|3uky(ywDq`;3M_d!<82wTAQA19$XQ$G=`(<@zmKsE!k8 zeAqmXA?VBA7uSFj*7vz{i3&?@NC{eZjZm}OOK`er>+-ETt}LxZzfpRwc2p7^VA#49 zGLGX>-OYJn*CIY|#?*f^_Y7A#jEM@gTW#j%<^YWSxF?f|#XWc4$zzW_RFTU+aOMnL zf4v#BudYf0Kj3tQR{THzw^#A)ufB|w63>$yIy6rdg`BNOboA&^ZolO{Y~5-)ZWXDd z6?M%Rv{ppQNXW0`XS0eBC|7!j(&NhVQ(C73kacoKGqb~|vmDVowNuc^ccpoiNu4#L zF4;al^dA;>*fn_t1Z)p-n_J-eN9`Ur!h+d@7?D*M)9K|+R94{lv6FzS5mS8TKq4N)i%9f+Kms@BPwWINLH z*flq2MqW{5{C9+*arP!9p6@d!1g-NY$4YS6%Mk%{aom$&CLjoW=H}+u{Y~FwjFqhg z-@zU6=(-E7wmENq7PRJkJ0v_GCgC*|5$zR)T!D6?+-T9FON*?BmCb8hHpOPbIgIej zj)5abi@zDDYeP}`*pNh=LwokcziF$fWH{;de{B@*Z1BD1cYH5&-1CWp#S3Y@8!h88+ps# zJqTe;Q|!FTDnWWIJ0=)5HXqrf3d0fuwv2uWhGF;H?J93NlXpIvI6KX@Hd+AL1>Zo1RxJAlEgvTJAPCmWj>%M9~mlbT?<{Y*!o2t=-SxMU2 zH836p?eExC#`B+ifrW(yd?DGrev6^24KqkJ z4nck2L~_~PY?|}3x7E7qZv$b(a;wD-&w~~mKXC%pY0-+;|77e`)Ho7VwCUghi{t|# zn>v&S>YieX@nQiZvG*`!#|2XL#wb`%^9744latiPj=^U4FVH*LoNSobe7S?7%!8WE z&vjW{gnhu{1>3(H_-MiQ=f3^h@m}?v{Z}x?>`&jt-@o(^_~>u_7H>WMXl;MfCEKgp z=gK8H)>A#?USI3m&b2nKGOd`DxkbNu7H#iWQI^L>Ae%-(Ujzr3ao)3lw*JuiOji~K zWn384i}4gw41#7eh*v}fo@bVUqey`^lZdyy<3S#J-#bgw|JFx;obP$#8@cPQ9kknm zLx<-0g^P{R>Braqq@R&G1;?n2y2s~Vc$y#lnlI*JJV0D>K{&yI%CvucM}vdcgASqlR5m^5eM zScnh;-}BiK1T44PXr)l9jp~HZP)J7(YbCRu=dpG7ZWE3+3c(B5C4HnH5QPz86r$P@ z@9&;VJmHTU0pQ~s^AsToq-W}5H69VrhRzcwX?^S7J(rUBNc>;hX&L#tS zt2D9EUaDLyPcg+>;mf3B$undpV=xJ2!^VOu+20Hpmm*`B^Igv#Gf&_YnU1V}>QnH_ zR|4=ATeh$oZ~xToufY3*KODMV*ZkP+yzbw8Gr@^@ZhYjvzSDI`6&>laghAZ|dsG6X zSihUyrsE1)pBrTaN7?()&oNgDs;=iG%PYfI43gQmj8Ks&rr2zdQX~;nfH(?(Z#+;- zfpqNOt8nb-QJ#I4)V#&7OVi<9@4BDW)z#P!hnI;yP=wGj?f*}LBnZSZZFe~I_%uNoB8>9f*@dNX$jx+ znX%-CTclPHMI;ea{Mk5?N_;>3*&Z8f<|(;d}i={AFlJ#Wu-WZ z%B=M8d=ITOOPwV?L$CT_T<~K58{UkESJV#1qtlrn;J|J3_<_&Sm80DE*mv{Rvu|aI zvn+9zMU0gCEJkUvLP~2*$&D#C3Vh6~tuRDfb&ov7MuM{>v8He*!;>0ix%paUgvPX; z`Sx@5sizWh1K|H#UFG|M_wShDm4EQZqgUpx9US<;y_|Z}&kdB!)_J4A`nq!OpQ4=H z*sPE>A5rruL%+vO8htA`EIi^>mUxk7;$BuuMmUKr?o52#u!QZ<3FGobwM1nd7s2COT>d3Nput-DCCVPxJB#_nHh zq?WO>Ll9Ep36b2>DuqBInJYO+3s#(}Jj?2V11|G4e#!v)`1dv0gZIkC;?uPq1`&Rrdl|v1S&XkR#3++m1qJ%(+UZMy6=Tl)MGjUBy5*Ww(|HqS#CJMWyEn`1|F zmR$#TLD;1mtj&KNrY1+*D9T(o4-3*E<3*8vfX=a^RyFhw;e5NQ;&Vex4?k|J==eMb+zE=;jsMJ zd3N}___lZdCw3qCS)NTCG1Vhq=YF2)y63Oo_o8g{lbFnO>+hc>KSafGqwKT=L`bUKf7?AQXYeC5{?_yMhU#J+vEaQ5scOVhmd zt^bAJ_?`a-n8|nK_z$t?U?=Md5i#a#Uq^^oq~Te|-;!h;gw}+etxaDL=GM(K?}H=1 zT~Kq5rNm*nqf?e%D<{22FToLE2o6cw6}nT(6;kPe+Z7Eu6dMP|X_nHPuZJ|JJ6nBp z5B31p!LHBk0u7$(GUGQ)SOpC$3&yBoRs&)-^-5+73V~H(9~52K)-cMBNWqtO16E;W z4p++f#!($@9B;;#!rndORYkJZCeS(#xvIGswz(9UBY*MKLrDn0NkP$J`%Aa8ZQC}s zZrjQ;UwDQ~3ky8=+;gq3_zc_q7PsAT2RrcxA~^D} z*fYcOx$@WT@B@eWkso;#>b%19 z;I`ZL^XX6TptDl0oBxwfe}P+G@d|v;N2!a<&)?12vwu#R%fSEnH~*d0)t^d!=O@-e z3Q&`G8zik)rZs@ZoM%Rf;V3YqqvpsQfFXH$6eEyz6k6zmqk!Ph#Y2^{s4aQrOCA|g zqkv>d!^2h$lU~5I)NXep$v!`As=K4Q`#7%qJnpG(RtX}%%Hwrd#g#Cjnp~e%wMl6 z1xp@fy<`!I(a*6(C`(&r!uJx4$|#T3epDL&<5TdR-(G)Q3I6h9|AZF1`N$KCwEp}{ zoZ`&DdE_0Bt_Ni9JEXrw{i6N(=jm$l30ZbM*3xn5Kt4DuB(R07jm{KP^aJA`V!dlI z9L!3qb=GNK-y09yh`2`3Y&I*?KKG?3IdbGPiBAnFJ?7`q5i&)(9}Fjvg(vHkUn$2*Z$bOG|`tC|48LSui6#8Zu3o zL_Tt|u>+&zF3W931)?>CZ59_6XmwgFtt_#$vQ+3Zb=+75S}e23XL*7rIL70g;2g*4 zavI}PV@hsJaV6lTz;;q9*tVoDkEsfN=RZ3488?c`8pZ!aH}`R!st!~CwN`(xm+uW1 z<38UiQmlyF=of$avHnBD7U7%k{Yvh<^Cq;`eE1U|87Z&zfPJU!M=_iUMHx1GM3O3O zg!ilnLn$~Kz&FPKpXbUO5>GLHY*tbu53@pQNDiemORXhVS6A^ppL^fz^XMZ*LAeZ` zc;ZRE^_3@~Ntqv!gQK(cwW?Gqb}l2^VXJl&;0DYo=o3 zcotcd_tPbhV-0c==sJ1N@&X^{%|Cvb=fd~%;}3Z>hVhs!$yPVQkQzWDR|rXGK?)Nx zRdum(o7?R+N-2C9z@P*~XkYd9h8waukFp-kZLtS!eY+U_U+hV! zZxoqrY=j}ffS9hW{guawFwm-5$Tt=|2i2o4vC@3bkV7!sSs4~GjO z496>kz>^XsRjt2=PkriVXtlnc{rmUhc|Of%lZzLg=IQc?u^c&agd1*n2+!Yv5FtU} zbL!M?Owi^c{4IwMzn?d};Sf@$7JvD9w$`z&zt#zXvECR|)!>G_b@M1f897r#Y-I8n zme?pk-ls=bmkbl#<2qGkn0wbzn)0BUu7V>!WD3cK0CBMvy!=`W-!#yni{e6ffnJlG z7|R$ZQ)S4{2HcU4Ys_nnc3aCBC!>OH{G9o|k5Y;#QtS}IL_Yx#Drp4sQI8ZU1tr;z z^dwxmoXFu!m{|{RZjPm;C0KcSQ!YBpV(-)xQ*12wKwk9a_L_Ou#$~PAq~6P-@){NU z)(dVkxmi$l&x)G=e$sEmwz>1fsd6(G?JgEna!b1ojkr?3btW5jqPk$P* zO)xh%$Nc;}hYlXXh+m8G7k~9jgwYDScbm!a{QMzab9c3w%CG#&PxH_J{Lgp=vUeBx z$R~BEBSMNp(Pq0Csm;d|!bkyi_9JqiK`@Gf#F8t+C_=#a%qaSpG%EQ_44sJL?#>Qc z%FfFb9$O4@9UIPPqai=EkJ!I|fBE4Nse6+11<7-G{*%wsU09*JumX!6^J#SrxzS!> zx!tCtB9_~2v{vj20^@H(2tpmf{{3djD-Q8$$qFg6?`lZOo9uk4N8ksBc-t<)Gw+x5 zJXSGEFQ1((4sey$8?(T>*~fi+V=2`(#T4s_+c3?;31ETL2i;nmTnqwhRD*L*WU5a7Kg;MlRFT)0&3ZTizsKFQv_DXFntN?2r73su<$`KQp$T9R1I4;r9FDX)IqEeo2tt=DE>heM# zX;(1nk5SeGHqts_9`@RtX7}!j!}jHVS2c~xu(-I$wigY7WIOey7trvt3K8?12nc+< z*fdQk1>RP;*fk`F4dE0o&J^`SC`L~fZ|}><(SlYuf_E&D?=6R8%KRyy~MbB z)f*pwoPYRF|Anvq`Jd_C`DNI#cQ+UF8l~U=7kKr*0u5Sq;bNn7E$-g${x~1{{Cj|> z##H01IY-%bt=nIhuIN}@u&v)w+@K~XqdqTdWr8v+h8g`9sa}fq^@Fhx97Q*@&U>+i z9#xN8cg7`8nY1X6fN-$Mw` zMDw_@#ZxtH{M+CD0Dt=beu}fF73xBpgUx`CR3!S9550l6yz@4sC(v3Uw{NA<*h{y2 zwlvMReapY2Ik%sup33_7$otB$|3z94M>gb-FSwDeio?@x=-Rk0v8jv@B2jH5>XJ;> zI_=Q3GViX^MpmfPG%l&3=p`B4b4>FqKJSUQ4I>dCmItrvQtdHi=kgMaVSp>J?$Dp5 zwJSO<%D+zDI%#4go4+pO1oP;_OQ$a-yZ4(BpM6dmQi4AVt#d@$IOI@h(3%;gmp9$E@!E?+eZyO}Zao+j;hQ~%OgT1*j zdvkR+TZrIn(bjI`LfB@Qz{nObIty4iOe`H1;0P1AI8*$<7uh1^FkfV!B!?xPBS`9l zNS;hk4gt_PKsbURE`lr2aYIPfV0qSHX{)ikQ12>^g@J;#Ba6AsGjbaa<`(Srhpeos zuIaaV+v(lS-^4_})k}7Fbyem+pXdM7y{;y0chUfSr)|1b*-na1^>NjYWKuN8xM-+Z z*%N`Ii8EgE<#YmpI|)}Zwv6U*m;KSDT&K%c0RR9X07*naR000a3+H*|B1QHG>47dd9Z3l?5v zs?T`OzMa|6R=2hY>RlYhy$3&UK6|e1R;t^sch4qeh~Hc~6Eak`%TF&a!|}I6+DGIb z8w0JK6NbGK#VBwx)T>Q)z z_}jnzTL82bBuT>WU4DTW_;h92Uw+U3z`K8X3An*$|M_nNKZXx?_(%W2C;7k!R_Jyw z@x?z%81O~*L)^HTjEWYSC3@plJO&Puai8&iu_potxD%sKRhjoMy&AP}YY$v@-~O4a zYKXnjlq-|>`4hL-B~>Xnd2fUeF&8h4u8#8e?v6>5l!b)_FqTdy=ArI=ymWc=@(q@p z7@`!~7?hMOue4e3E|CpJ*GhQDJKllOh9k%3P~o5yIsEZA={TO09^%D~s;Dt3Vxzw9 zH2gAyY0FNC#K^J<>(2DEnkCS1(lUL9_3~;Jl}Qa6<NQtOLFZrqs z380PU*upV)ObdZAhJ+2elvN%AfxzBUJ-hxi@V$d-$Ud{(v-n=52JD9Y?!E7J26-9> zan-!{^Pe91{EvY97T(1ZKl=|k_Z>|_!s`jRE6eNoQm^yR{`8;o&;E4(+qoB?&7|*Y z)L`4<&Ai7ulik`Q##;j)8P%*ke;_F;9^aUGD4#Ws-Fj980#)h)(aOphy4_bt>wtEBa9lLR@*$3Z@5b@ zjQwD1Sy-3i;@di0@Fb7y7$azmdOS_!m?~`Sn!Vos65|Vm`T~D~*}D(>b-p~9^YGJ8 zKg$Px`H8JB3~(2&S<2z*{Qnfi*Vo9sF_QK2>Sv7wmEX!zjB7;^Bzc5ay9LoAEt9V& z1va$^1RVw}0D=Yy89hKr#l6eR?!Y$&r4;ez60fnb?`2_kN((2vC|WGDg5?@l(fp7% zh=_QN*Z3hnq(_FtRV54r=7|`1FYp2|q3BuQHpgnm7{o+xFL2qsGB(gVxPEa z5ghx)0Y`AyDOr?e%<)n9J=k>U@vMm4GeTO>y5dV=T~NCbAS>P#R^|JveP2?HDR~Kb z3D~Xe8cN}i3*U14uUjq35>+cIjXTP-0wDT3p6=iS`6G2-*tfQ##JZ=0=VqocS?*%LCEI}WU6 zU<_%Ry2y$oMe7u$BBCg-ev)IXA&z4jXO`U8w)$N*((gmk#aPSgOV46)o-l|7nt-jY0QQp5o$xiv%s;VcyMW-}PA*78X#H5nGGD z`5`xAe7?`dGv^QuS8BW4@A3*y^M|~K#6^TAK#x23XbsE=e(y89G-~zs;UyAHUjgA5W)>$B2}hYZ~4L*}HVFfo*xQWHn&%Z_@yo79sbCW;z6eQg$It*-uK z!h8Y1>-^rQQ-1XewSuHeaIa$P6&2tD?qjYBA184lM+Arl*cKRQCV~j)^?E=q+!;-p z2WTkee&10P(P%HZ9!3Q8BGUCgM|ZnOC9zl%2E;U6ltwOaq&nqPs=*kfl4w2ry+1!E z;>KA{5)omqTdv#d*bFR|2cGyU3K#=Qai5N8UxXVxMVfnx_!52>fJGRp z4s$Q={57wUD}mdCMclPGO$XbGeGA+^1aaf`!3!MK$Mq!NNseNB$!=WF0@K+Sfn%Ji z>lqcbvC}|=Y2&?v7B{BN5FdC1MPPT>{8YK!12|vY3l|m;QkL7R2^{|JtOlAMX{Twl z^UvtWjp6dJ){HL|TmKCXi5k-cjH%HWTUxuz*SAZ^4BalD{@suAt6z9=>kFgAjZMmn z*#^VaRZddclvEC*W)#z=6gR*f!$u2?b_*({Xx_k8d;S+NNWSl)7_>$hgJysRj+3Fa zMgjMc8;o|laQHCIyY507jW*@Z4>~=xiPJ7bJ}36-;AH@m{}2_ho1+zH@Ol9BZ0kQ6Zq!8`hR#E;VfI{ zR{x#NdbPgQ-{+l1y^OJ_+}2Z5U~3hXoqXRrJw_(2cdLjWqkc#8FtXhjfdkwu&VFZ~ z+$sbSBQOmiM1Gv)$BGzz+>EL~a!^>~Lg=?s0c8?W2#lOhFOXZGw<`B)+s4 z&VQ1aCckv=FJUr`%`B1zF&Rf_vNpI(7nju`gn&qal+N5VT^(wwWH`!UKWXG`s#10s z4HAjLAP_~WS^wE*Nj6f_+on_9eteE_(8+RCt zJASO!F)9%j?pV^5<6&#`MJaB$*Q}X*?C2>;C}v6)-njNVK_-9QQv48vm=?9kK|!pE_}pV z&3b?NNX4Lp+H)6*mePC*e z{gf1zX_Lu?P_bpbYAM>Shk;L>7Q#)&?Syd#nA>5e`@U)Hqrl<5quER`N55wFC7Qww z^r3qCuw&XeRUDi0x|ni_zuD4TJwnAl9+h%pP5Jqo+A>*TUOK{OqxyT?b3@RZoucBI z=gaiGQK^H_fYyCu7TeCj-=h2qQb5DyZWoYE~Ql`b{Ck1e1YXk4nWswM$IZND#F`1!9k998aLtNb-fCu?ITzyk>j#W~eqf7)` zWw>*6wX)7m2;xRy93igo_G8?48qNXpMg9AjbyVPmZc+I+l;)Y`Rp{2tIH;%K+)QqT zY59E>IA#fzHF&6~AL?Mid^O zATH$xt|{7S3sIxG?!dCuXJbgzu<&*V6&rv)=U>Qp;1{P{H`7cnTvPAcMoOf+rDHThx@&YeLb|&_LOP_oyM)o5(xG&x zBc&S&32Atz-{1THK4;H)&K=ivr+_t%xe-#FIowBmV%b=eZ>ByG{+qtCXze zmFhZ`FGV(CC3;6fIJK(f3nJ7bcKxi%59E(D6A!;YcYE7fqK-)^_`P_6-Q;Ca(1kXB zZE*_Io7M?J#E)N1W7|g?BECl*1clNHUR;{*_9@9lSkLToF{Oi>-UE~jDOyIE113~2 z7K*%txF>Oo{oQ*AtTtho{~K<9>`FFxuke}D@#!p}$2(~*V?PfzRD+P;|BQvB&ihn{ z&(3|1^~6Id>$DnE)DPMJ)4MCva5HLZIyICc(!9-z(}m`VU;I&~wa7m%**t!&8_x$k z?>@PVDXk7KriWm^8wbS21(ubX$1KO`4XSWcyj>91L3y`*BV_Yr8zSrXGB@ij<5b#t zP4D{T)IV=nSz}jCU-=SP5&zJb<5c1k_REnh*>Jsb+h@&nVlR5^$;#{baDA^nUKT=R zz1!m7zZyI)x&6#U_ThZ5+0OUnVZGGVDg3L$T*oS;W2v}tar1|k(eACt*{h9#T9J5L z8DD{WZu#W_bab$&s=ez?&QW46Jd9`Dbl-I4@cYBtu`RbA#6G3`>V(@y!jwk{m8J@( z;d}IBLb9>NQLZmG)#agA!7*_Wm0%*t5(PV|998by=0JDURk?RLN~Urh)5%&h$D>*O zh3Z$Pu0Bv^ApfBh8#?uQcz*G?oEHEjni-PR#lsKXy(*IbzVSGwFQ;C`+wT&iW^3K{ z6Mfd|t%ma2;4=!j8ngM@Aznky66xB_)vG_;9xNZnTUuW|h&VTTT)=s@_X4~9B$ZrS z;W%lLFelFI4a5{e&wFSEehZNk1rFG?}PwA!Og3S+|`n@>RBkTu$ zRp!fS5PN&R2Vv7!WeWOM(Re$r+t}F|qrwB#Zki#sYkQ@ytp`~-Y4A2l#S%M5bRjS3 z@k3%FcuO#IOrJo4h|u{+EEBn+E?gW(l^(sM$hob40XZ`G;eNO~D$IX_8i*5HmLH)@Exp zLq6aBL5~KNGjq$sOcgy#=+u&`#ynCfLr3)JDpAmOZJ<@YUnJU;7?yr$Y^DBcYcGf} z*Psi#_-<20$U60#w%K<$r)4;Q-PbP5aH_*IE1zoFZ`*N^QT%A2(K9}f2GI!`aP^nl()Lxi9O%ve}1~SlKQUo zzC0Z5wwwy1i1Wa}(!m|0oUY3-o@SvBc5i~pF@e=g8V!Hn8#ZS2I2e7HiX@+XL#{?s1gI#HJDikK zYq!fwVsDq8pNuzLP4GHg)EAQ6`y3uU?cC$?hV`BB_THhohoMucPHXQY?qtP^RZp$V zHce|uF5VzU8GH-THLLo%dZ&RJ$<2Mc(fXPrQjAT{OT{gsUcl7#lhcjQ3Q-W`fiHpX z&DGp8OLl6)?|Z!!_FcWHL4S-w;UJzN)_28G-!)|a3^p+n;vpY=#SO_hxpG}R+1;Kb z{C~~AP{XU+5hgbQKd)-QUEtEH(7IVS9$Cf{c z@%+^3;wSd?VwDaOqNCE|GvI-U4%~ZoER%5#e25u(+hL-u&3ViXdK%3J`W_sK+GKs) z`vnU-u#b(6(aA@tq2iGgxg)$dwkWo&(5vCZi{1hR-4}+{OH~9UdP!5%igYFSAdI9} z!wG>q>`DC~M>(cT&xo!U_T#Ov?=Q1qe#PcE->9Pjn6U6JQ%rMNiCd!f-Lm?x*Ongzs`I1%YJG$;;AD-gzI3*QUa;2U+Fc+eJ$K1c2yk8-A z2i3;GF*poC(=z|Ob>J&BGeU&bkHeFI&ZkK{Z3wb(Q{2ErHmC?)6P9s>-bYy`dJptV z%Ex+>PyD89Wc+8k$3=f8mjC4XzV=@cVv1_bmW=WV3g~%S-Ug3NT#(#<>+C6tTy{vU zC^O4sO^8_;^dN3I`Khl~5fiPF81s_XSL{!|#PGOwWZYI{$D z&zkrE0YtCe>2rDDO-gYvI||yTx=>B>`-=_>)=p6%I41FMmT9KG}X zO-(zF?XA|gzZ&`Z^Yyr_hqW84on6PR40WTBkFjk;-XKidwM1%2S6#%#LJzn>S}}0d z&GroPzgxj0$HhtQ)I&wVy_4#~#OfukJxrF}zo7GhI++?#9?+DaZ%z2=x&Adi1ET3R zBF;UZU9{3{>UE#(Mi_cvTNOR~uGn>>XA&v$TyQw~F1eC^oI33{)KTInH6q?S_|*Vu zNLjO?ootk@?xBQ`9wRXhr=d>&{qtDH+Vg{W&qhBpXj}ygq)>0yKh&0#>X@w>uc5z`RCMDr!Mb9KJKzo;wa|U= z(&xUrtBfARBEu*8Sj6y-r%A>r|4312vrZNssyQ#LAaD6`V+DZlxa|^-s^<}jd{!cA zUGj86u#8U4w(x-vw}=ERXSxr%>YsfPMWPyPGVhGe7-yl`)l9Z!R8S5u^7+tcPT+mi z*sqD{ZEPfx#{e9=8uRexx^7*xWwmeX`rS3u@EK~n^>J=##i`ebV-$Y(G9Y)cI-)+^ zVe#}g_n1{jE-$oYzxGlT>a)r_l#6u(+DH&DMfy{JL)-t5Sbg!j_?_IGKky(8iqV_g zgwOvNXoM03P zCKEk9*;jWME4w)xr~;oszV5K=eXN5Kmw0qq2C+ZKcPl4ZoA<9G-%0rM9g9Vao)%@U=g z5LT`zY&GMicRvXDT@9H+9=?VknsE*qSL4YjiJG4~;`7FD$OX0<8M0KqZT;!7quV-+ zksr5(h^g~IiG;e>3&GrG)HRA_DaS`uKC-;1=62hV2cP#c&8dVKTT`gaJ!o4+ND|?4 z$PgRr>>_$RfzG#jnq8t zMvNU~LNQ5utvz@DB>3!$zI)XVy|yAE?G)ea@i~j#nfk3(F|v0Z`bA_}%F)AP;iU%c zSca?#crf9Qv!osSoLzc=v6y|k(PgYQemSxD!vAP4>u%J&@ZP9K@b~5dEPm7%KA5B9 zc2jA>AB>z){9)$(`ax5pM$I~)W&8K;p8hw)Pf?`w-uC&yIQ&IKE`O9Zh#dn=oS7?C zZuC?GpBr;5C?CER-55HYt@;$4CS)STEo(70ZeD-VJ+aCXH80hFHx#<4i4+_eo9=7MG!V(#uYw z+oF`F?XNzL{j9e|jY-ff#|188jjlM$HjO1y27^fApIYdx+Fo7qjRjFtGtD<153ky9 zzWP7!UfkOE&dPt{TS3ege44b@jtca-+~pbt-_RKU+{YVoVL~U31(Fuim8(P+!$!sf zYg`Wo#2nC}wn|BRiI}GXxtYFUDZ=iM7{`P9wq42Y71&zdv@Q3yTEJo*UlofXt+cH& z_Yr#NX95)ziJjscmL8V!(aDB{Sx^N^&~X1SNj8-u;$Ezd)v^;|<1+;VTgw~!q*y~{ z*SDvG8FwK^ni|spwXvhUd)H?{UCWNi`h#uiiA02t=ez{TO_MIEqFb3#?B zKD=Z83~7(80B|u&9w)~K;Cr_H`6cAF{*bq^?|(`Zk@{spQCrW4!VH~RtsfktQKK-_ zsm8{JuEeS=OnRdua`~MZOXP}p{rOL6xZwn^MCq60kB7FQuF3qHj)&Xgs7uS)#1Ce= zU^JCiwSTA`e}C7?gTOi?9j|rryni#%MGdV5qzz5xAZ@H(R?^9%4pN0kze$JAj(MZd zah*Xu45~0IF5*{sMDxt}Mr5MJI~snXSkHaGm#YxIC?^elRUF88v7U+#lti)j-yqyI zvSTVAB);l3mY1KgR^!&8-l0p891_OTfDaNk?#Uc5uxGr@nDNHn5GKl^v`91>Om4kN z_>gveW|N1A`Qmq46y8h(TaS%GHn-Nt9|T!jX>7K5>>uuyc2mabOut!NVf$%|~hrLu9 zwL&?q)l3OBlgS`SQ%$zE0-K1bjgG8dWOw(iCw?t(N$OiE&>nC! zr{T*w#0g#AT0FlAP4H@uN|t^!F+zDCO0`QPeATNF19FA@czh~KdHVyV7qEP6Zk0!e zR`9jULabLFXH6X1n8s-Jq3DkrPSveJ|N7*$Wnmcy4H9}=jr__UtCz)&ytfg(o0&<_ zn4E_3YF5wHQ3otUN5M85NGS;6N0jxa$-)##`A`j9CWD=zVf9AzkHd&FZ^$7aB!Mk^ zF^5I_lk*cO2D)OrWNScAttB3EaJ2)|huR!~2ky1|1%xrOki|NA_R!5b-+sD+ZB9SL zNce7=_p2b*yjbYKTZi2~%4g16-z{3<8~ef6VmqS0>^BPeLJ*lgnm~@mYzyi>j+iaP zdNM*SSru-fL_K3S0p~<+9R^zfOFzF{?nXCKmK=dgM6esW1M9J!K~h!tw?gMU{1R$x z%r$FMZ5EPT{K|8E*;h#BVsUA|(!L)* z`pI<`bMIe)$L79Sanu834~BTZh$F?x+iSt0e3qbc_Sse!ASA<}A%JLTj8phXNbQ)0 z;c?Na-A~`kP_t_wg;kVI6T9GMGBfO;#VBH(>(Ea6e1o-Vgef7?WfyO-c37p$YoubwzMYr%&7wUI4pLXD-gy!Y~asETDH+; zetu)ZZfgaukjGCzRLi^+=${Z%D<#%KruPCUf~0qTlU`#^8K!n)z=W;$WQ>?EGjYBW zC)O-y8fe?uriT@ii%Q-R`8@+-_#pcKwE(YO`fqGH%Ow1bcqAel*6khWxte${wUxLn zEf4|Y^}VkonotnolO{~iUNIX0{&wy^WES9`?R|t%3nZ(k^(av(4y1I(v@sGPm zOHC_6(Jm+P_oGd4a!evw?43h5GnocXX((vItds(&t^Ay1_Lw*}>{eDg6&Db2vfW{H4A^tqtR#?__RrlbI>>j&{IDu!?nP)ZU*TzC&}NfI_sEHkEIa4Ka&O%=@k47M6X-;#D^@{u)hc@+aT?Q z#OkjOcNUk8nDI6g{uGsNKKh2!9}BxBlvU zkc%wr=|fhWAz%|NzX!S?P`O$lb4Q)pqd^1jze_6eUbLZtOfmQo>$6UsCo8s`eFlS; zD+uM*((1X+?M7)*jO2Bsvj76Wz_8-N>&$0Ce-Y}gMB6*<9hrFX8e6?4m;7`l1;31f z*#^{o@a!bS@Te6(KkVI7)gH$?)r6Hi(h!EdbY379VTOMVX7-AyfQkH=FtO(D=vM=hYCo6MKm zIXST;3Rh|zOa!h9Wbihsz3_I8XgzsJg%zvzo1PAtgfUlms$#w@EeBC3NY$sN31P); z=IDVkvtW_+zfyyEYR_$q{ACWGo?h9N;8%TTM^?70+-MxQ!yrsei^1S?FYFrjvd;YX zRTqg@E08Aka*w8Op?&*(e}ZCNM(S6-hy|)X&ze0>p5@Rv@+E#9Nv%9TNq-IVzi@69 z0v!$Cw|j2+B~wbWp}K|qVRS*yxOJ}*u#OFiU;_?Ib+om6NrQo5{Ba7KAhHl=A}azA zfXQq3`+%hXtP&BNFKkQ&rBrjwS{bf=x21xgVZXc>auDE&|6^hwCVB(Ct4kjtL*Z9W z=4w=O3v)TmKp>(EE$pS>g96b8PvPa;BQ>Iu%fqCY0Qtyz?Rhe{HibOlD>2+;1U#-nu9*sYTNM^uvua332-da16*uTi;i=s}Yb@99GjKn0JSWqrV|zPoo`s3sxAB z#P{)-k9{w-BV)Yg8Hl{^R1i|0n-+ly`xIWg%KAO#)vt$CZ#-|iZUSf6Khvst$$r0v zbaOI{38KIpu5pe0TtXpk>(Zm5=;dLh@AC*m8Wjp%<&@l^eW810wxRSosVOMI>cEXO z$7hYExM=S1OCd@nUR6C^B#TuQGqSdtd`OMP+VAG@=E@ED$(}wRvtG{t4Ck$Zdt$Lv zuzMhlLb56`Aw`9z#vpZq6a`rYKo|||xN`J6RjmSthWaBdXM9mhg79?jQ{1=W&q0-+ zQ@GlaZmTab5rTSiqmXCOXRnn1<}cIJ$B3#eE@yY@C9wHn0ByCw<&H+aqLhOe zfySk?Y(1P5#3wmD_PW?CnJzS_BOp}*Y(i)1&6W*LP3jVpZHD^(xbD+9)dIy;z!iKs z-#Cv56GzpAHc)Cys~f*2R1Aook}=pp39jlDZg82#SVVs2+wp_(l_l&12Xv7CkMh#O zSX{DWQ(H~e#MG5m1_+%wo>*V;beSiCNl-dZc;T=#B#kuP!J#>x?s9+JB}VA= z52OO;I8;Q;I8kgK{b`vb2G(Uv=|mRT*x{`*>D7qA8p?kzu!T-OVhx2HfB)`?Xahp& z%J5UBFP6;tm*Y(ZFf8CvPqn_gZIbrPC&NrO&iPMJBMLRY+W|H#xdc4rm9K+dY`ht{ zK4!o|a#@)coS+q^gOZN-4ybCghTCvbvG}rhd~X#L&@_QOcd8nc-v_j=d`vKTr$_9+ z^zGI&rlM{$G>+351@R9uBff_JuFutWg;U9Wt5KVQOrb8$;K8bAYrJtM^#$NJL>I&E zcF7juk5~a)PCCqp(Zo?l>751vC-IeAqnN5aVtjTLX&1V-k>Y;lO%H~`A;Sm#G#fAS z$`CgWxLdTM*ooyc+?g#_v^Kka#!_*e5|Nef@XPbRhb=`9i|={a&Jp$dyin6AQ#87S zX!QK!rM9-#6@Ee_7gMd3^h{SP-32#npzz}v21q(Ow%)Ygqr5aCV%aY;8+1)U?w{}Y zp&48+JW*MK{zw}wZTxyIIk+Hz<0DLkR-*S0F1w%Ob&OvvVHfG#R=N2_JA{Se; zGI>Sw!;C48I>~~E!0c|?G}(%`1@+6P&VRlq9p;JowI?qpocxmm&L|%dih$$-Zh%^i zJ?641r)LrcP!7KfcYN=#GJj~V?y+=?eo-_ef<@Q01!!$1-zJ; zJZP*SiqVJqCx_KV?Y+RvK@7#u|*nX}>>e>OWh4^LM^0MRgt zx9?2Bf6sWH2Z|^R=?K~IocAbrTaE}3aNR?PO)dJK<{td-plQv`&B2b68<_h>&y_Dp zQnJrh{(Dww;0pO7DqY8qhqGLkJoKmi`fVPm8g}hJ9qaR&38`5nQMLdyQTVgg*fp$G z_(|OI(@0yb5utG8CEgzkq)H~xq3XgQS=a7aNg zCppg6)${A00TzDY3%JN_)bIJj6DRg8p@xwd2xB@fNArx4+aSZPD+6h^Tm=*fr^d10 zpD1Ka`Ms|=Z}RyE%GFCFQn$`GAyw5i1@2MxHEvbSgCJjX0l1p? zB@j>FdE}V5i@?nkJe~46W4mJG%CQd^%GAQmMEgrsQujhE`T$9!8MYF*{xeu<@u5^i*j7+?|GA*;dC(<@m?QY6a?A^ApYt%?N^OwEI!04-9|pF=Ug5nwBrgL|{TmX-ru~yn`udUKC$j z5Q+1evpcqm1@)TB%cB(-*D7lN3EHk3*q4F>PWZl%27L)G9Fr;jJ_;?v2+WG%ye;->GEZb|HZ#L#0u_LCQ+F+57)k^ z)yWfa;Ml_}A6u%-`YX&wB|NEs>5;^_b7aF42&w6C>!8N&OK+w#W%i1RZg%}%IjoJi z*UZsMZ6IP1iP1#$gy1{-6=n?R4<0%lvS^0>2btj?`Z@yttRpa47#c_ijURt``o)FL z4Jr!-8Y}O@i!kU6SbvnNi+pgzr>24+#ewX?D2Q%R0e8yDY8o!tt}Pb_`*nAI)JSaQ z)-5Yd=7@>#)g!FjF>uA&Ugz8aAB`M3{hpDO+CD~?m%|~x>U&PzeYL76{trCmG}M!z%fK>BXa09$jB4v!i$6c%Fzugqbz|;- z&ePwZ^M%N7_NI_`5cSO**gb6FlY9>jWe_0oz7ynsG-Hpb#8DLhru;QITO z!4_edQNj#ku_2~G+DmV_kJih!J*#7X+6Cqzxc*^SCcGb#@s9_=`+yJ!`lGOoV|SP1hcrbCd>!{t zVwrAFGM0O)pB9X6UbdI_ao|&S`Xlk=b|3koB8#%tW!j>Q1X#P^a>S&E%JV4&1+i3w?(=m z&!ikmK|JdDdJOrEePk+e$&}vJp%ZX%nF-;3zPY9OIv1T?TE4n%`8IG`-Es-jP)tTMMwZ*(L#ZOYE6GbWp)6MXw zC$iog83URJw}hqt6rTKd#K(;F;sMjD=$dmsOt30>wMZ4Rn!P+;xro*ehNHd06`NmW zei$cOf%rA^)j$*`aj6P*8ax3Ac*L1hNz~-(@+O}~#|Z78T8p*Udi)Ix^lCgGIX(My zKVJ{sKHmh0ClvvhY@9P)2s7kswS&Q7AFhD!U$dYag zwNZdaFv{blMObdieF?{w#t0qdrg>54#__r)N)_AZMB$=CZ;J*f^u!Hjd|Eco~{X$A8yO|88;xy^06NaFJEZXw8qcK+}J6bhd&~xZ#<`ZnmY#Pew;jcTd%S zUnfL8P6SUETljA5gn z@uc(cj+JD2`sNtc252nOHXnIv&KiEQr5#XRdPc`~-j7^EyyG-N_1g{6hIq zN*5`veeuSZ^#nA=74cN`v}1r zjQ+#7WY4t$m+t|A(AoAcjwdBKmT$p-IfTf|&xLfHJ(IA)qWd(8V7Aawy+m*sKYPB8eje_MCFDb7qcL5!<|fObY^$OBZuuF*ko?k+ z6ky7lH1+ahjB*-wTfc7=f=CTRN=zS-FH`)nQkq-aRiosdG+xed!ezv6B{ z>x2cqY;Zz5?q6R4CrpG+(i;K|_!b(w<6~ln2vs(kkT2<1oXgXWEwKJP z2DQEcP1StSSh9+truY5Qa^~!A_AUE~n@5HEdl>%1$Pf|xtkt2V*OR!-^ZgDE3C_Uv zLGQ0BH>N~(Y=f=XU?zG6rlKSOQ*;Do_NOn>)C=fngwFyx54AKhj}N=Lcu<&8fx#>l z$j$w^**@4LknHqLeg)0W!3#5_kh*i&xp7uKEJliH0F6FT!L;g|HNx`F8D7F@apUl8 z3$65DQEJ;tr+6ubaZIW@hwf{}co+Lki*YO!DsWL3z8!{wbibNu$R-!=BBCLcJjEc! zI*%V>?tsPko*)U)1sks?5#t?BdiWn#j+?@SPHqOt?b_SPMczS0APu348OdAnq-|5$ z`#T3z01GzPlvnC#>HtB4Z7j4V+2o_iAX%a=GK&7Vf=E=~`odkc>U_ZkzsX`w%BUc< zAN^k*@Ja9m?VKXlj(`Rt7u-yU`Sv3k52E=sGczp>;E1762uN_9NK(R0LD{uh6iEn( zk%|_e3~Krk(oecA2rui*#0vLe|4cp*1Ltq{3g#8wOm$xQJl@@tx{%K~4iRsUes%9K zXeSe`*a~{2B(y;w3PPjHW^!SnSYB(^9oq0)9m@348jK>FljFsOLZJtSIb90iV8RA! z1BEE;vf)TF$<`};Sn*>jm>fA+oGKBJ1t9GgA9tpc<;m(3VTWYA6pD8M2rAB~j43VnGJnr9Q93-?b14)^@%hggJ z2^$9$#7vg?IL)(E-n#qJ$)2zMm2q+74C=Sv4MS)L^fR&ex$Mqt&}eU ztJ|Z=*)=Qi`+=jxG0>~#5(3cfv6^79ENUI^zbK|ZvAM|sZfmN}=Ftxpx;Ir-!ht}9 zCKcddLxd!^zO1BG7FzakFIuYm>-R;atTQxQ*s>7fU)bH1TTSP>#PIATpOkAvu?c~<44bmQ(DbU$g&@*Rm4BUq%bRS z>P1g#5rQDzHw1#3Q4K)9+l6Ml#}TfuVg1oiFIv&JPB~!c>7juXr{8Z~fnve-fsB)M z7Jo~4O?_07@4sj`*{p`D5db?w=-FU(dgY?}>`8Flf6L-|qb0v+&gSA*BQg`x*iE%@ zHMP7NvJRGZeq9#^dJ=y0w*&$e0v~$EM{bO`1Z8>m8SNU&H!jTYXMQXArQq7JL9LsB zkNg1!Gy*PL{0lV(-*kh9rR!_Rk2Ebnx(dx6O3luW^^}-vS0evdv6mTvXW^A*I?5mq!rz#c;E6hU8#LT))q(8Zo0_XdmzEsSAMR!1%`Awl@` zb5~*O{tsgE3=9XV7TNrBgkQg@zWQ`|+9Ec5?DS;$+kSB2ZrG_;?5%-Jq$uK}uvZ zwD4jPeMv*V$D>PoO*eX6JSGLuP*8>;Wh1P6;*a#dgi1AfAYG8k>zEnz*_4vFOZ?O$ z0>ZGLb&I4Uz%*bv>$Y2rJPtWD4SpC<08zuRuzpKT6=iLWkKYYuaf0wiwRQwLsfB-}` zLuU`8o(#YKoOx;R3539C#ci|o@xyB+B0MMOjLBJ4Nfg7A?!o$ZKrnvtA8&26pUv(e z*wSj$8q%y=-($F&2~B!+gHjTG&N2gPi_yYmAg7L8J+a=1vT~|#{wWWO9nt3P z?^j!b#054b<#_yc(;*k_EQ70CX%6FAx?IKD53LiP1%@Zh6_F3H3vxO zpu6*aGvW4Q7|O(q@|pAHBWHXy29G9uJ+59B2I9s)-uDs5TH>EHSOTLnf#1mtqnLfu zjZHx{b2GF7QHAs`rqCTzbAeM}S|~q!08R^!4WzJ0XO1BKXPK3(aELmoTtu}yEjKbk zhsAMdb?8mCSBa?&mGHSQ7JL^V-BmYdbw~Tnc|{xNpLf0&%%tB(ODa9Z#nG`^1t{k()z<1CFNg`2J|ImbQEss zyXGUt{(Xyw#np=WQ`IBr*k_@Wjde3>klw!bB5Jq0_$9&3ELT)SJn;_?d=Lq7J3_LS z)NcYXI(*Quf@*BuSK?}UuGoIlI?tha+e0lUI>EBlG#7?{w~qK#ibuvQp@>@(HPN{w zH@5u?=ODLRMEeHVkCP#{7@NfQb9h4E4EZ%P%a5O9QHyFtc^RYZY&ra>Vs+?B3Ud@l zl?CM&7@7ZNUcaoIQ2aeOjxVBC$jKIai)-Ggk+tZv5y1a)E`Rqo$KxPHQ?&|SgiYbc zS`5n1f|YL0xsY%y*MbCETs6cJBMzyyh$SY*#r3|j+3%u`%{D;& ztIAY$Vpnk0?@~TeXiw^K-)vi#GuiokgH&)Uo$qA0XWE*FC+u$NU8RlsSMJ($^@8IW zBJt%wcnAx%`#99R>#6`eGMFBRxbEkP{bhj!X%{PEi;Zm07cXux`L~hBthL-5XjXv% zxjkDPzdG2^Spq47Y1oPfJYD*SWh`8IQCbWta}U>b2SUW^$~08a9kHR6O#4N z^s!`?Adc0HWFIK1)4}NmAEw(vn{3`)im!jdJm|hwpoNFkqd?YBk26shh49BM7hgc} z!+LeAM0ae}A5VM?ea1ae{drk5EAZD|=kO9o{jA-w_I-L>CM?*(FXP4G^z)bWAiCP6 ze{dU?FY@xItu0jBmAMX5#m^08DmJz%Z0HFCynKpI!3KG0L?AjCe=!j7rj|ndn}&Y9 zHd*||332apJbZd!`X2|ZpQjdUx0__YROVZ;_}+2(j4YUR(uVc7l|STYX?po-{0c3Q zkPeaj(rQ^_R?R?7(w4qa3A3FrG&Qj)urbCwco0(3TkNQR;}=?CTwfeB!h6HbTwFZL zk7E|nGMJ`WX<1^%3qd44c5Ft@4NR-siJAPDiGfjtjY7Qk-cY}vWBYjzeZXIHta54Azc;5FyA|2HC2eeDT9=Gs&&aSLO_#$XKb2)ZnPEPd zcA%q}^)8KzOmCD#ada^0lj+j&;%|F8p*I$1Knqy8+R}S92JBp*+!Rn+8C^}M>wKgavxX(yCmBuFThux;i4hW_!OzvlC|IbKukFS^HRsB2_L^wf_rtKI zcezG9ko!+Kx&by~k_2LYtF1y#o@pY;b|U>8z_;PgG?vWUJ|fVgaGk=M4psXwZ!Wc28-t?vatv>ndsZ#~%| z#p~LNh|Hc`(&N&xQ`75UVopZ_}V$@?)SG0kz<{yqhGeD1ne{)&E;n0 z?b)j-s5jfQ+CoYa41f~e&<|&+5{tV1L5M=TNlJ2X;)8*ss$9-rRfHm z4IyX$M6_6H!0|dTawJ)7o4cH(_)u%8tc@aI=svRXzPMjQqEO-K{ftKugo_fSotvd) zJ^1uKB^qp*@zFhlNM@~17kY80hqc|tUZYjS|DmX=rxA8N8i9OT#k0zN@5lMx;ra=5 zpu{bs#Om78zN@lQwou2lXPgSpft;oDU0I#YC^0D?c?tOOK{gl)#qTB@KR2+# zRx`Zgw&Q#Womw3~Y=q5{)rn$^(m0nFeBFq{w%2eLYTla4JQRpK+vZ$ov5^#43W(hh zR(*%*d!H!Pt03q}WZ~Q31`3dhjqO*%2kDS!WFeJ!Tg~IqS~6qkb@(w%#Syaz-V}e( zh`bjgL5O2RhDgAbs`h16T9^`mY(#67#yjH+$HmT&FnLaX**S*P=$X9GQd+WA;=IJ; zu;a6C>BQ;V8jt`u8%M0W`k}{x>=o!#C578FzZXD5l~(K(fa+ndK@xa)W>53O&F*Xp z3*(-tp|9&wugS81ii5x@VRH*FW?`tI<{)g&E_v(DqH@Nt`IR(7Ek*tEiHgRTUBU#c zj4E_9A#j!gfQh*VHnapLH<=ZaUzsL0*5N<#b>Mur)lS!$vUaDvhRBcHyj%Ew=Dg_rr*c*X=9!oHi}3ijsk)K+12wUfG~|B($7hW&IgSWl4-7CQ zwwjyFDJpAaZ(13C7a+Jjb#<>DQT!V>EySke1!A; z_qn*Xi`D*WozN-5swE%I=E*sc(Y^3funzzqRhZX*0X~maTw(JAPVmg3ARY;Kl9bMB z=VaohteRM*b17i-Vnb8yhe;nCJSFoh^L6uz)&xSrt%&H1z|7F_<*9{|viZx!GA)zh zuOiJ4(4-6Wv7KJb-rE@_Hf1mvzqsx8S&8~j6j#1}DEc|2orhG(v=`$ltou*+{wi1e zQ?5wEOhaPyym~g0<`Ei^rt!PkO@L}+d?Bl)^s46+52dBn!cc2x4=wCtKuh>B`(DTQ zu_R9YH0Mb@>_@bPF37mS4A6J(V=J;<7p8gX0BvM@7UtOh^fw(VU}w*gPeO-R|5Ybi z3ERlB`En3TL3W-X*+OD*`lNl{9UkRih9KlESIhZ(kdCkL)5SJ=+^z6=y;FVVF-3zL zb$~BSQxwCcq`~BAwBCXF{)45JF(EG1Cakb5^j|B7624n-#l8ji0g{oQt~~{Z_EEP(&N;stXf~~(J@M=H zV8%cqW3^Sde@aEe@nG9q!2NkB`)8nF$egN1(}?1yPp|oEI#!eFT}g^^Wu+4_byZ;l zcxZgq|6EQueh1yY;d5JE{v`v5D%9uFG~S?uy9u>cM%l&P05-?4M3g1Sca>V|Eu&w3 z%y8gI(>02pSHt*r?Mxexc*!FR4uYMw1WamA&?jqg_|dPCj1xm_*Uh=+nE_#N7~wfl z_D_BJ<>VOu6rw!$p#7L>#Z1{O@x@(R#vX50%kAE6im*F$CX}vxn*so=OW`eWZ;`jJQ)6_OXUPWwaoEb%zf|0GH>Fy;2=~BA8bLmD}38h;?YUxr^x>i6smXHvTclG=Jo*}Q}R{Q4caJsTqOTyWt=zT%JR^9O@|^E zHMO4UuUUJ7twME z_M|iDYi%w+z8`RyEe-Ruw>duIA!hefnT7&?V@!|m&^NmZ^^f&(vV4(fUT9msiL5dClx4hrRVf4S$tcqZH5G)mRl@#h4`o5&XF1tc+j2OFSZ9#JxqW&yIHWfDW8B1Rmy z6rNK}DL2}@t>b601_3>unGd0238mbOw5Sx1%9bPp1lV*w>2BLXD&LR2t9ssCl!;{6 z@N#hdQX4m)BBCkla+nZp{@+o{{fPN{)EReB;}&WGE-fRiA6+}{8RZ#H8W;htUCni) zQyxE82-Yate10`L>}Yw4;kmVxer5BJoZBu->Q{O~g-Eb6WAl96M=M;T)%>)f2zAz6bMvs4yMjuW-%G}j_z%JT_+%hscdK)r@zJD}& zWU8T*)>dbtN)TxnPXeqLUriRb#c)a=D!c{TSqXw%v@smyHfMKh--dqT4c zdv-WmNo5O*2x?-8=n>&VevI(L=g5K#Md^}~N7aAFDw{{nn!kZzci7ai7l~?yGR*>4 zIvzbz&g9HSF_sQK-Q;WjcE}QkS3$7l#ZmULY+{?i<)Moh0&|S1zo@troSs|jBo?Lt zlh_HkAKyj{6c7wmSj?M)J`X4fzv5)BS8Z}o?&e{wHL<6z(rrlMuJWpwrsR8B^hDp{ zN8LwU_s@k!^j{a|Eva!eQX3n!)T7?9^UvMwnPEup-1Wwt_jwaWlqKxvaFE2p&44x; z__9{EX{+(sNmHy`iQ)LWM$%{2eD*0Rc>i@_BYd}ITNq~iJnz#s#K8&9=>4vtw0DS= z5?D<2{l1g-Gvlbn!;-qixU2)P{gf2d@n0km`)S>Tuxv8CzOO?=3U3b`tOp7n?{~+s z1!*i$v_!i;c-e#C!Q|6^{dBq6V1*V6`4fd&K=JW5sXE~1c84q>+B_Uti6Y;#+xN@z zVsCP?^Cu5d!}>Qf0a+D8T=6|$^V|D373m)Nr>xbI^-1gk=5M)mynn27exwSOBVr&_ zb}8qoELV)_NKNNuktmuGpteX3#7^`Q;NwA+dR*lZMd5U3Pnbh{wDcguG@w$p2;+7P zc3Tah4FicdFKhZd>dU@aeR@Ud_Vs6$gxbp0?!6f!q}ThyQH~-E9x}k6loS3w1)>@6 z?8d!M6)bJX;VvEMQ`p|*vX=9)4RN*GiF;63x)Vt9B~)tNj<-NrdE-;)sd?tH@edtS zjFIwG-&eNx7`k^Z_r77YNHa@u`DdrZci-8hXHQt!c_z-*V&A=c2OHTS-#Q;7>^S`B zha9Dn_K=L{xba9#L=??nMIcLPoVn^q4^U`?YZnbPa}V${W1*c@~xm?BP)P;?F8d*yv-7Le_~i};LPePhx6{JN}y=vU|2(i zk4*f9KHBJT=?h*~-y!w?IXlkJkNPU$PSc@(){Ej5D!TALy!M8M?{ZK(hra@co2v(GBK#xBcj+zAu@K}V^Zs5aHPvH83QgMMF2jC9(G%yxcqkH zE~DJbVui{&L2zp&sVtSMnckH<18y=Xs@ zw!kkd0Dgt<-fFL2=0HRiOOFMWVhKt5F0|nba$f6{?ck@3%KqHQ9kBfH5?VF?$z2NA z-Yq7jn)Nd()p*K(Q;*BXY}jXm<+84veL`;+Nkk7yTbsP&*4Z|hq&w2c3}T22|{P&)hsY(KJ2>QA}U#?5~DJB1d?MYg=SGCx$K zmz4+E#|;TX%+`5^|M~mpz{+EBD6bIwE1~k+8cH^po-(0tQp414??Q19pFH`;dXAbEO+2k6MkMZJexh z-s+q8d8|u~x*K|4XSf?jO*kUl_?9`9t}c_n2S! zi_Og+`hT~r4!&fk&IFv1IWgFxJuO6GbmT$YXM5A+wCh~ieUAzs=<)II zRqk?&8ds}Mz#WXCv(}(~eUGoCth~~E9~jtUuF<5zQSr3AELJ3PAB@-*n3^%YcfmPI z>9#n`p++NTTg+3;XEssUfiS|Fxm#{$UNWo6WawuNQZh0@IT0F*d_kH5W-D%#FL_wdLL+*lIdpFVwL5ku_=zzQZ5k3>2^ml<>K?n~IW zX9q=Zx>NyUVfQ-h6I>XP1l3G-yC2%{9Z`Q1#+_I2B=q2;8C<|kgpQhizXFc>I$C6+ z)5T)M1#CkGoj00DZ75k;S;ZvXv-q)^cnZvdR0z=CRZb+(fWb|M<2CZJ9?3s+Ud7|6 zGu)^l0+5G38ig3n#_p)3g*2tZRu^+;iNbk^ zLPe?IIJ<97ra1lHQM19kpl%YZk4xVcj99;&}kH!g{=r*a;!WiwP`V zpRCdk%U)#))!D#USpifu_TO{94*aIBKgWGvr}}11J+6PbnTyC#E9uhaLha zL{g4OhK>OoOkNCn2Y6$?gO2i$x^v?aV_0%u(ukb-LuPKVo`l!eKWAs0Z+9uKS1YT? z5-38^cEmNzKRX8UH~_lew0FXHv`hdjB9zr?z>xjcgr*oKB{c4t{kitHtJ!q1NU zB=1Gh&$n}HYq+fM`Hd|rCBJvaawRm|9@Y#<4ewhu#N4@?sp|bGPyc?i&npr^s&!?q z^B1|rUcgX+B3;;Zie&fZ#rp!ki)cjMA6~b&{Me+q3WBNIPWm)EAD_NAegr)|Z7=*# zE~feUfoUvRMcKVoe&fUaoMQK+Jfs^-{*fNqe^o4p2HBh~q7*%i+Y<>0{92?3CaGX}Y$4_HuUJWTM6Z8& z#Pllu=Mc+{i4gQt!!v)$pG6zIFj^YrZGPunL9_Sn25li$U1P-Hj8QP9iP5BvqS_#> zG~iQlFo1H84z+h&55D-0>l}4)E+#o<<1Eb!l++|JGVsfGap`a@eflTIJ#Pq8Nai1^ z*R}!_wc{q_z!FYr9&n|yZjLZlXTG0bcfrn%GVkFPr#E|o;MU{5MKthfW7KLRC>_f* z>aL8Z6;oMq&`29v`8xN{O1^zh_y1yq0(dx?0`tOS!cW#Jc#j*P0JDv+2@-&{9rf-Rb9{ZN<~yiMOr> zf0Lw_B>5ZRi$7Kld@6g9mD_rvHoE-a%S@^N)vC7GfheOTRIX!{vtAKG@7Uo)Ab5Y9 zWw{P(fzxQ|K*w=YSf8f0wuD8P4gh05_%3icL@J9@r+X)4z4w<*a!(^!Kl-8)3c7K$ zl~^Z*O``tCnL#ExiCAW*K7sOs(5Kf`!%;7DYU02Q7=G& zsg*>rlNsIh@Ho=ccg0eN?)xnV z?b8@jI5#hwi5<8Jj}YWdB!;>&HKDz3!FaJWxQrIfkd%cqSxOWxz(66t;v@cwyE&A8 z^rK6WscQWp(Btjy|;F1!%oQ4_)}V#Bjra?ip9yatv}ej z*h)?W>vp=+{fh@!$`20(8_^%rzqwjp?R|S3>ATmwIor^3V46taL$Z$Kpr8jPG0uXl zwA2Qua8C$O=wg9n&}J-83=OOu#rIfD;<1nBB4l4yI$M%m)^=NZfyJ1^j0BVpyvo6h zExN(MfZ~0dr2Zza6&p?GqpI%>*FV{RMl(ihg%pakAohnzA;V0LSd%BpvETivGWSrI8!-hQLFK@VaW;1eli>p9`KCdsf55A%@BKC4; zT9sQK^Hr5{qwE>2#|LB^=~t8@P@esCggg?aYIHQL^ns6i9;}wvDP8!FHH!A~L5rek z-_lsZGwtXL+uHroQbw#%SZuj%7LsnYy&khx{fW&V)~lQj>OaKemHz!>+9S|Ae@9Eh z{p2K5Qs6h5v*WUhN!Cz0%7)5B0$yzg5eQS{G-lJqQi2|+MAyWcJRI-M9H*VJLrE_; z>a3XflQ4;=!W<7jqfMWiO#Ets%Xp;x=7L?1HOXGsbC;~!v!|53PCZYMvbmD6fqlY^ z0_{!@l4zMkP9Dhf-joF7pdKUz2G;B?9l?1dzrCY8bp+!7%A-MjZSui|1yI1ts@nL zUb#Fz`t%I}r@cLHo`Z1j1Q@-C#Eaj?1PJ`Wu7qpX!X&u@aQSN$9>opKn~2Uo$?S!> zyLxVw!1a~HH-^Z#66QFQz<(r6CBl*+B?s-1rR+jiIPkUSBL`T%Q>n1WZY*+W+ndvj z;^UJU&cC^=kR@_&M1RJeMn~~G$KMRmAG)>9oR|{^n#*cmGCd4YWS+E0F{x5U&5DcA zM-E}BUMgvvm=S(rh-L6Tfuz_)Wk#LR8h5cmAY#TTQ@NTa5-u5f4WUPpu~lHby-ZEY zgBA39Gx9h;-wSvzEyXcrv8C%9j>%l32vQCP_MzghDn+LD)re|ovb>Elg6dV&CBvRZ z0r^w)UUsPf2NgelB})xxQbJH+rC*_(u-sKxyWimR7t+8`{Lp5US|`h&rtq>#{;>rk z$os!%Y>4I7joiyu#oX@%RqHt7T!v4>s<~hf(A2ciQSj^~F^p%(LMDE*58WNT`$Bv6 zVk>;fJjzrW(ggdC1S7V9(5ihUO30-M(a@!7R~6V@z*-g3VyL5hXR9 zdxBTg8y@KHr&M>Heo(3)DZbv`^p-L=BzYALh#>JZTH!v(offrw*tGWXP%SuEOYv`g znSK5us_&lFr~z<)cB_5VUXS?6C7%V-er8{!!a9|0;0Y(u)$F2@6oMww<;`pl&rM^j zWN_bB)?tTMgJYE3Yuq|%(oBN%woa3H*A^rf-M2R{$l@wt8n(C5b=pT-1}A(kY} zYH8WF=~hF>iE5`6XPNVMJ2s$v^r|k1FK@w4ygfX=@CD(v2=*Fv(tKPqh4i_agx?L3d*@fhlnM`SkfEkcp* z_El0DM+aDhruqH?C(o53U8J2c=n*p!w!6L%^=CjOTUs{`2|+|TyjH;vO@%7aMt+SG za@|2jNk7e^XY+zn1#MIv%ul)e{DwjtDJgYu1pmH*g6d^CIp&u|uZ6(4O*85xbFMd% z%J?$4Z0DH2U(WN`mlq9PPBPXLmGqarI9wunzm2G!>0hYRI*FLAUJs`J**W*z3VC4H zgaY?EUni8dlEn!%ay@d_-fe|D{KG+Z(^%htwn3Ed=&=_p;_luI8I-!X%>EYp@u3Y1 z+`aWvLHxfcqjbtAf&lIXrG&5KJMpg%xa?H>@7G`R-~6Ow^xIpG+)`X9Wjzi6M~B5&jqO`n%7C6E-F>-N=j|?2%s=Cs%ft@l zc{2gO2{+C~F4VB>mIq#OPxaEwOdvJwE1moxN(8wwd;a6Md6q1mUdF}(6{|x@7wss* zjC-}&4AG%z$F6IG-#H>yy#AP4I5g@&d9uYGcZK{TulVn1^gym^QxZ(l7&s&$@96n6Er}>ktRmd00C>bi) zxXWKFd~wOi!|=N4AmR5i5zn`2Sv9{fV2(2G-AU_3jGlhmMtyrKuB}_Ip>JUG$(`XW z3KEbptF*2YM#ijCb~T=`-w`sfGq+%+Q2#$Z6Vp<0$2kXd{*iizn7hu#eVbO(#V)lE zF_I^%c(t96#4=A}VfQogB$&7qlZ_wi@N57NsmX$BL>^V_YFBx88zm7k_rw`Pd!R&y zVw1mKn*(TI8i>RNi81R^kHp_b+eOh}gI<ob#rUuI69I&lP^0s4uUyKlaYj;9i|OakDfur=k~KmOs2Tj#nx#x2{yLt2k}y4{I8jWcw>As9Pz0;ul_NgQk#=;cU_QYZkcZ6 z)aM5`7^bxOn>3+6T#cO2X6L|5vJ@9o%cOo|GAC}_peGE&I&)kXhIinZ4JlwqQTL8X0>uL?2m;}&4pXBFu@HzR9+%Rt$y)f-<1#ZU`1Kob$3%Pk>O_*;K9E)iL+S z1E=i_Wm@!cAafPJhi$x~;G?LD;HbC)ZDV+yhDCCBQalq4d5`>+GO0h-omRQ}^?BUe zUA7500e`reBB20b9X)VNY=~9s2GU@@gU_4oJu$HictBKjyQ?J7?r6IoHyjSnWe^d< zW%q=@24F=&qy%h(V2cIWQ8z~NUtwQx=}|Byj`K9isecX_6QY$D~oe|yU8@)vZO%ynxSc>c0uC#wjqI#$a< z&r$F(PEl|mNu24TJo(IM@SRB6XXuc(Gle-4l`cRKbZ5ySR!#uqD7*uAA6R79cH z|04=tr*1Ta=9DfV@{T!b;SS_+KizTSoD_pa%N0K{$w8zCkCbdc#%S(*p-tB0yS5#m`7oI|XD#YEp<_@JlOYp-mA{dz#$uN9(8{>g`-?|Y=QW{2aV@9XT_rx1 zAY*?#2&pQ>V(at`2=)&bC4&gGDU{W^pvq)>@xO_uf^c|zhh(F25iJeA-6bR%^H};k zsKv}^i}fbcs+!Cqc~y9=^&Jy5vthuJuJBIl`bUe(#&Q#p>RUC2FU_xjDc5-jn3AP5 zdpjHI`nYMOR@NQtzc+f0{ahiM%&#*`SZY)X>{60 zT;q1FshC%?O0Z9r{z5H2i`Rqi@ShhuU6A#PmpWF4LlR+6HM56{@St{&6 z>D-M1t>@K*{MBO!rQN##&^4g;{I#;m*d6+rLCemE0$R)4 zGn(42duwxgo8X(JTewB<1FDwUoC%5DeG^e7?HZbCubj2r+5Ch#=x>5h`ZeQf?ER($ z-#|atMY}`R7i$xQO3Pr^f$wt48w7c5EaQh5Kk(A0#?Sc^g`^)xH!@an_m-4Th-on! zD*O(&i?ShlCLpd@i)P5uE5Sn{6iZ4cs&B*VEG+NeC5&KfyGvRVF8DgZVBePi8yDu5 z0!_!Xh-K@;0m0=U%_T$Rf9cMCJP(tcYZn6Eda+$(_84usNS!SS1Q1p#{*Q?=}qiI9SDWjdw6 z6#Tg$myL|3fBZ3tIojstuEDwp!eIdY#T+u! zY-jo|{ftg7Dk_MKd`XZT*x#UXkd{Bpx>oQ=u1+UOoT$GuE7rB{NHc4lH zt?(L`Zy==4C_?@gl`Vqp=!6uP+NAXckuIn?!F}uZa*kbp0F`@#128!UFG6-6`+H^f zt0o4&ZeVm4;omgge(XvAQKf*gcSYS;yRdr|AmThmfWoE)Kt*;jq+Z%HoLO8P$@e)v zrn?!=4R|Cjfqi77?MX`1&#L$~#0!H9F!u+bL(oIH7Vq@`lFEv*fv#Z!7j*{<4YKZJ zhIJ@iG)j~3NL+Mst>l3`@b**sw6?GS4_Vn(0NP+vL;rtQWu#mD13_Crf|y3G)se@%NAIO85%~B@Z^3C7n8ht$&67>`_GjA zE3P3hJ^TI0Z3MTFxoCIZ?2_QXHcZuJ^%9u=4G!juqAT3{5l6S@Wb^ROG@F}H_yj*_ z?s!lEC}pEC+`hD8Z1l=FXBY;fXYoU_8A@5Bkmq%CbZT)2#W^*6YYI9xTwLIK6ST{I zzR@FJ)5xwyLyPW8)r0)v9A%MlK0qY7W=T}^AJxSIN#=dot27T*&^VH+x@{qpog4jC zGqYg3u&W3IjQhke+u6Jxa{LZdSZ2?DZyb54YME`;V5d5Pt-!%ub;JYK#{Yd&*XYZ0 zjhKCwmao@t#R}PLOh-~Ey&9dRX=#tEnbv*(9~w{wz()IN<<*{;1)=M zSbt{W&b8ugSAOZvfpWlV^11>nty?Yr|c^a>U7^5VILCs=fd1+l|Uy9abuImpao7pRg@a}3(6ZElJaS8a zm{=ANb<65Z?w=x#{pwpt7p=XrcCqrqZ+B%i&`uuZaLRpYR1gwBrIQ+3tf_C6!sk&z zGvZT0@G2{Iz(fz8Jl5-jv)F}w<|q5R*-x+&ulW0eF_vQR-%>AM?-SOaP@mTbHOf(W7uYPw zxxSYsZOC^oeur4J?Un%TNv!SLHw3Hy0T>d0b2=Zl`uueMM`E+(9LiE?s+)s^Hn9(=7JBOCCFv)X7+(=KEh(C9H*>8;+2mqHB27l`7J~fFH{^}{ zL{Hw0BwgQsy5H`5a-pTAwIU@ds$`#pBts!GPbM7?U*R!dShj&-~22WcBZwh!wyZ39h!+hYAh8+pm!!O%Bsa z@JU@eVy5kQnvM5J%gGdhvCMK<%vF5gSNa5bJPjy(^xI0|kNDByra6we+w@5^XllCN zN)^Dv*5BdZru&{5I32i*MbJWJ#p`P%Zjj)%Q4LB68$e#Z{SgI{xM6PFnVHXIDw(!1 zA-fMI&(nnRCt<<@b~@^V-7sH6e7kLQOQlV^jSAESV`rj9ZW1E9BCD7 zYKrOJBx1ctMy$=DIkYFvW5&bilFh~^&h6v-SL+w15{Jue#4jB9wI#2yEc$NErOEv0 zN$e=$6VHH~dF?cfH}|cE+7|z?_7?+HjGq@frp|pIbI6k|c!)AJ4h0o95Tl1Hav}R# z8PlVy4VpHXziq&TBC>icYQ^2{o_bB?yK1&^^LRf@OdLLO=0tyRzLg3{9tKJfDQsJ! zPbO5C?e01(WiPE`9GC#lI!@e5ck;(hgtTjp2e< z?KCT<$726Ni>QmN>Gcm$Aj%>n80v^lqFP5KdN>1?{J_!o-}@eYrE4PJ`|aWO!M@JbFbN(rfN#(vbFed)xIeh7AV`C+esC?EOHZ?2_umS$K>LV z7-8a6Pn5w7Js#p+z8iPc1QB=J{RRpnBN7%nh#rG#Q9KW&RJlH3f#>RMuLnV;1v=Yc zmN?0v0diSeBt-SpR6(sYmZJoB3zN7Ya<%zgM{pJ2A+2dkV}2E*@~Xl2DQ*oUvra~^ zDvrnNjzTPa^Yxp`4QYKQF*O!KkpY9SZwk`17s8m*2I@1LT#U+QZNhLxtnvL}_;+B& zTqCsz^z%{zKar8R03{*hu~PKFd#ukC$+=88ST>gM(3*cL=0ZUXCz#?KwcCT@Rs{_| zx15O@N#aL!oh@R`u4gA`B<@Gq6Er!wj{+gSi!tpw>%WqUgfdlPPykqM7*Tcj+nB1j za*}sc+y<_KapYMf&3t`NnE~?aP2or-m%FXX>o$%fGcsp(yXkC3nCHhQKSgg&tlUz+ zs+f*^+Gw+SxCwZ%?;*B2{o(1sV*}^qcRzm^7f==^bQTzGrQ)Csv>9f^1k#ooYkeJ> z6rwTLr5eLTWKT#y$!ILbvSp>E*K>;uU<=rG97>%XwIBZ;~)^q|BN$M%9 zE6h-C1y0ZCh;o}~N^wKUa3ItCH~%!+Sc2%PxwD}p1M;dWOm-eJ2^Q;!g=YI-cAhm!LqjM>!jLlSZ=1f8_3eezjyae0 zwCC1s6ctM0D$|)X$r>S0K&e?0&k8jXI~WJam_p+^ES%rQ#$;Un8y{vg8X7@GK31M1 zXT=K+_wUrrqNRd{7zaOox4YS&u6`Cwx1{vFy@8*(tR0LgOJVEBXmBy78kR2xHDMJ` zU!Yo?l72sWEbk#ZAHbPV3i8dRg=K_~^SNEi~q3`2Sjev(h+z-x(!f=7?$>ZT$IJPre z1-X@}D<1=FBa(|4i2#6?O+b{s$a8xuMG{>?2>FP@ET3ViDK%H;mKA%0FLS)VIU@<> z?r%vW6e_`~?Yx>?@gC{}?V&7fbluKn$E6~P3Op4N6qnbz2VV}8mO5t2XEtuoDcnd!En!&5-@~CD z;IH$Goz9O#Ykhcip-zbSJp$veiyGfM@OkCc$vu6;d(oh2Un^v~cCHIUd%5Aok<5t9XlIyg?&x0xsp9A*Lib1jnif(;oze8TL!e- zjgL%S4-#LhP*?pY(pMaQ&v>izre8VI#=(y4Dh!SDx_c$ ztR&e2NK{A8g^+vKseaLHIjy&ipcaYPK&%FI!L(RQAl2i zHhO3i-Rqvj@aKa(FB=`Y9wo9%w{Qt`M=9=U1mY2YQT0u8_@7G6sD>yL(s8m`skEr? zUGpEOVlNyiVZ)#L1{29cjO}N?+9Ozqn4fXovX{(tO3x5~WSA|Bh7dsh5h3?c5%xT* zhGq7DcyS*>2cF5VZOOKmR!m6_mpA&vG*T&r-*#$gO4hd1xY=gnVlpS-NXlbl=qA}?8MSZ1QJWm5Xss~$wj(@q^(fw-jofg_` zxP{!y%&cT+GFmobzJ%cW)LT?&{*f{vn*Nj2_E@xkHYwhvR~um4%aD=RSY&rClOi&0 z<=!YO0+mUJU1e2qrAFzj2HE(ubw8XP$3{|3_)Y2=c-=njX6TluH@4#`)5VXGfjK1k zCD9K;p@6V~tjdgm1ikP^MZl$$*tB(yywt~L7gFnp zChZ_H!yd+T2{Mk%S(MgW*-j*o_<(`LoH};fYe=hS@JE`z1kfbxv^$eLpm!<H=;!7f9P zUnhqoJvh#GDF7N_ML`js&gi{c&KWNt=+8?6^QRjhBOg;JRXQQJs))uQuwnwRL?RJg zeN#J;A-hfI9@|w=K_=9%W@uF&O+=6Me6iCXJ5@Poomn0(mTnPar`jq{q2?tz)nDNS zV9!#-!jTvA=U1DAxG--w3yFB|RrI8l7Yylg{q#1WqCZyQMC_9?3#h=-YQjQiFvKZqCd!k{5Jkh%Jce4W0h%M1 zdVkUJh}8|CS&!VXvN17ab~fJi6nB=m#KM*j-um?E6Xxh4J)q{UH}&|7-kgX#oBAS^ zO}un0&1?NlkFotL?`vlbgFnNJ;YmQDwlJB8vu7%x5%@%BucU>VA?SqI@`-vE$ejPf zDg7@({br2F!14O4nnsoc~g8n zDY)%hTA1%2O|z7%+0ddu!H+S)3+W(8hPG6V0oO9FZm(HUFcsc_biXTW+n??c;-2YZ#L*dg zg63Jr)8$F(^VZ5Bj?81yh{0werulcqutx3!K9v?PamcQ_;P`0@DsbmWBHdgLTR>Qf zbmK;%Bu3bc^%l%4D=EjxkTGd(WaS?|L?<08V^re*w>eeu4GHy1wE8!BW+D`8hQW!U z`>e}d?TG=Z;Kwmr5?;QyO!5xCY$Ft|oj>vab{wD%&@%%D$LCtD2$T-rGkT)ElqEom z&R)hK9mo<@@zIM`MJq_&UFi&A3-UWl?+K>cx;;FbYWne-nz*9xN|5&xq2w>Tl*d`R zi~cfsT-TjyZn`sM+PgE%_qQ@g1>uN{&BI84jkJswl+cVup;X+`BD~N|BB&C;PH%Td z=#qhLsEokmu{9>L*Q|KpLC21wgzM%1)GKyA;&&Wg=~NJtQ-F>wEgNwgn5(FoKE=Bw zIuhcN7xn0_s?vC%5Jk`CL;^!r5D^0OeD$F-fU7|0pJw%LUANmT0RTc>&IyH64BDqhm zU5|dwcgcK9I7pNR$f<=w__KxHvU+jw4A4W3o0gF(^dJK&5&XX!UfoJ`FLsPGCMwno z#R&B&QRH08tCB0(!hi@>N%6$s`|BOI$C6HAuzG z%+~cF)>#%u%A>y?i9TrsiREN{^#RGV77sTG*6DUheS44|tG^9N^BPTsCqJC+FpX+C zD#UrN0FZzHe7W;J*}%w)|BSN@v3%wb4f$^fN75O#G%Rqnk;DGP13-Sxv9tO!VX_!4 z5`Gih!32sd!Oje%sfqk42XuofM+5E8)d~9#2(2JORcl#^fqch`qpyde6nXPgT)t%*+C&VIwt(ESzE$xbj}L*akTAZdt@ze&9k&&VzI_RmMN z^YSJR{j1a`|JR^d>zC)O0>sHZYTIWP+^R#_MzJd1tmGU7zGAC+%e)l zc1A!*-1|U+d*vIV7{#;$a`6qyQdHkk>u3sOgHvWytKiqc6B`f(-&QQ9F(gmci)Svr0k7$C zsOWzDbiZr~AfJX!usx|2MdH$O%q?b}lhR-0MRIGBH??)5Kpz#JZwNaH%R)u4GiVA; zw;o$%8j2)s>s9(fqsT11V1a4G(u3KVwH{=hVUWt7_Le@U$lu+V-{g!m!+@0dKK5Us z2G7!hx`3LG9fZl5jL+HT26jg0Y(pYdM>2fW|K8aJulu(Ko6lk&2X;W_;lNN_m<(vVk608tn z>$=%hf?-`L8>HNUT@iy2|09kRNjMUwL&+XITqlABR(Np?wJ8D)wuQ+{v3%?#vDJux zVPSPd!wm=Ok>N#4uzNbw;Rv42{8gfc0P_O%w*|cfYYB|?fEr@ey8*2I5+4CQRUp`X z%MaGMZ+QqSHB;G|j$4>nHhK0PaBn0KztTLaX3@cfTP7Cid@5ldZhU;R_5k=?@Ox%y zAjK{#<0Rqx$b5=_hZSDv-~*Q1hj7f?BPW%XFV4<62?1=FzjHPO_^mK?+lI#Z&clh1 zYw6SkUVSm*STULoRgQI6o1*sto-8xOe)5p_eWNH;Gw_WLxz|_b>$KrDT@Zo5!GYd9 zy<5y!n-0Ag3gTI$YInIGpq#{!dUfPe33H!FXfEGywb4i%_?S7wIx-|@DFzS#swVNsnoCy>t?<&=b(>1NF`9#Rl1CNR|Wp{SMn!irz1?AJj! zgWe6*e`QrXq{2a-46Fk{sqyKX^ZkgYEvuZXd3}s-(F^JKUx+)N`2}NE>B}q8(9jBn zFrZ8g&>BAVv=`4LuQ)9K~w3X3A{iaJ^rC<@+Ggq4CO>=C~oEdrQ z!A`wjY%oDGEW1WODTsyNY9wfS9Qss#GqHKMg4xCTV;Ly}<3veM$B;M`eEDwkm!|*q zWa^3_7qD4yu9ShCin9vwhG=HY3JM})w>2NbKbG6dzT92-p;k)f;XJci*u?f}ihVLt za&jDlvWL(O(D9$#dA#Z?c9P+=1A-mBWF?z;Hj^!`rlQDi%IES}DP)&$^GCg=zqag;X@$M~%y{wz zrx`ieK}PbqJInO-5lR)_T^3f}~;URf)J>zO1u8!dZ&k{-cE@pD}zqMIjQc5t5U?J~$%DQ;aWvxpko zV*yht2pFJ$ep4g-qNuS-A^^L69c3Qxu$0z3dfFwTU=dbGPN2nls`@ZBJ@`T93#q>? zx~VoJ&0(gKyFK#Xhb!**^ifhTS2RG{{h`x9Du*>Z1Dhz&`y@l8uBOepz9Yj>V#G07 z$tvmNhU=^b>syGkqKgp{myktQn%E`tLIi5?{aKut@xo4Gc=%8EM&uxEY2*_*?gMq+ zm^rzB2N`D>{uL&JP-kp1OXF<>1n>z`c=zPF*}ZxGX^(3*`Zk*&y?)*pnt@czQ6W-# zqB9}1-TJ&#>|u9=ejnsFko`S2t0n?x*2}x*OK|m73VYpBtlP)KEOIr|jE@Ytn-8-M1Bp#rBlF69stg`PiSJFjx%q>_=l0rZit zus*1@OTSOi$hr>Hg|o z2>f?sPPn;(Vp?k5Yf10fmWe(KC}rO0x%M0yBCVdbX%4@cN$MnFZ7{-&qup-e3rlXG zd$kQWZJ>eE4v&T_-)teZhY))>a+$0hPG>U^fRK^T3Ah>h4@!c`7yDeXW6V%~g|-t> zA{*!Q*OXOnGItJDq^>sC@NNvA4%88|5w%7MpK?1{4|1qX>cvM^WLb44SG5I`kLqpM z16@Y}?V4_5qhlK#+qP}nMkgJ0Y}>YN z+qSc#j%}ax`<;J{u`l<{T2E=tSyhIgA^9v!5L#-g1+`^-SYAg+ZV$g=hU6ge-?*+P zHKS)mZWH}O*$4><0rP|0X#fZEWfU3N=~*eQ^R zD(x(=oHG7%0GS9h6vxYgUFSFNc}6mFWy<)o0r02?vc+%Pb`i~GRm(pQFpJr^az^Eg z$JEYN@%fK3Q7T!FMtkemsyIZvGRj_b)dxnuVUJ?Mwa7q(oF+j}{K-bB3tMFj*Kt7No-!voZZ0P7wAqp2$g>cMnPdu3`|&bgm*E)hZ&(yG z_3MA(c0bTcg045i%VlC}_py~w?`UaxOKL8tmB5Xi|7Os77*cg{94^*w=|^k6EZ+|n z;Gjf-X7{FyCjdP)qKPJ;jvFbpp6IuLU+at&2er1srYz0&LUotWnc4v3Yn7F1rI{px zW(lF|R|Ws)hSccX0IDgH}aM(;;;~K zIRcf!IilyZ3eIKX=CO;2)2D6jvxIUxA5qY~pMJO9K7U;`#PWrJ`BjTq5ZlGm?U*Qx{*D_F;~0QP zfrpNkShK>xsx=T^9t~X|m~aE0zDIJlndX_*j<*dfTl=xHFv37dDlRPjfUG|RD9>%w zif;!{^;C*-E;|b%whgZNm8x*z5z);zlC$=D_^ra_al|=QE9iIKim=LUDQc!kF#FkZ z1HvanCF6_dAxtT4V;c=(Sly?58~r=3%9ZtvK)J~QTy#1q^`WdV56NvEStRl%T7Kh2 zQMc}?SpnW7Ro^YLTZ>>LG`ASWv^FGX(NbYN`_!}~I6wX!fHAVTm54?0ZYy-VBXB8dBW5n3v0FX`b?-6elfj63Oz-L2$jXJJKj`2=Rl53WWH*6=l%`!> zs8wnatC;aswD+bkRZ@vc$H#<6G3?i@_;cbT0Cwf#@^0yjrX%i@uVxH3COm!A%;JDr`|LH}in zbhvzjgM&?zGV-u_xu{asM#i&R38dP`t|_DSxW)(0Hb1rI8|95y)f4V3v|%@i?%Nl0t<+8M07CEQPW5Fl$V{W5Tv={6R}@ zCT`Q(kC|@EjeaL9L*Kn57?s02ktgrvKZC1va6H79;tL!7b%e2-{&hvC;ln$C{0E~h zUFu<A;cUg?ftVGXc(V83%LOftc-CJ+t@DL(_J=QX>ozE6~6y<P+oZ2>N6&|}7yAeVUre;o5|nUaejV54@bQ2= zIwH$CI5c_dX#s79sHG~z7RyzkrEOFaSWk3{DXr6LMH}5Y3Zvc5UP8`=%3`Cbee|$9 zuc5OX7cjx4bx!y$0D=|6NNV1(?I*me;THFw}Hm~DQr%-KmJrIMzc2=1QTu$lwv zM7*9lI$NRCEI%D;L^4BJ?jIj-wF=6`As=JdPiZ$yAr$q#5EtjHb{GpZw;oFoT#j7D zDwTp+#aK6NA)83bB>3wFRvk+3MZWXdvuENbzI$*9{bL)L4ucoLYJxXD+ZVF|wF8Lz zGJSOTf5Ffm)O$N`=MU$O+}VPA-)m+GUxaQjJ^HA@($0 z`C@&zh(tSBcb{mjE;b*IZF|Gd$fixX#x!o&rp+6r081D+4E*LJ9$C0;u1|l!5qTMZ z)V4d_r)OON9$^0o^~@~>9qrGoip{Tbu8TJdKtc5?D=7MvcKcJ^s&q}Ny(goi?!C8x24c?=m`i-on(q%uj9N0IzN zRdW-K@|XP8RCbd2F!-wu*X-}MxUUZUjDMz)9ntc{{snRXUMM&z z>D~UXk*$tPd1c5&>BYhkt%3j$MI^j3)Q+UVbJHD0ZQ0@~7zlPaRaQ=W)o)iIx!5OtUP8pirbKQDivFNto>RM; zZaXgu+fPmi@GRJ}f__8<#r1=ANIB2-KUBlek;Sc}*sMwqfPyc!ZS4IdF?qT|mBK01 z49Mw<@%#a^1zuOoIlE6W*#70Q-KGkGOo{`0R*$Zt5q^)$Y(DxBSGL$)PAla|W#tLoqly>1;SQuDNDqQ3M2Pu`ADt#Xi`Z--g_TyUVwRAIqK4A-8ks}|4qzd{t|~Do?~+Jl zC1{kTn@sfl6im6&>S8N)8~$UKZH0Q`i^$~YO8Gl}SuOq1c=7#=!x%sg3)<{WEJ)Y2 zNs+&}7&hV##k5(2RrLy+C+&B#f19A83G*j3c2Dn$#LqBrv_dNOB`2%cVsWU3`T*-~ z$YNTw9C&FdH<49Zn~hWy_PzuCD)@$D&YthI#@{lD)Tn}NznCzRB>C*Gf;L`A_yd%8 z^2yn8H}1?x#s5owheQTZpFTeS+`k&V>Sz^-$l6JSODG;#*v@Lj9py7I6koDtnyP9h zvi2E1sU{yPr0ptrBoGSeX@HBRE1`l9V}|Dw$|_6ZP{M|H=5CxR#W{YGFYSY(rWl`z zIWv@Ru^LZI)Xfl5p(>Y@aMXt&i^>UxiG_ueAUi7op;1OMes2NEvTRdKUHz^@ED9`} z;f}w(lf3lCaXe{s+B!4n6#4xd+8arq@8O=XYS@L8gNZZvDs{YI8zrm zsXp@w#l;`Y%SMC6^>fl_gPXyDpJ(XBasnK5H|GG|>t5Kt6G_y3-0DpW1E4s2m|$^yV=k zslPlFrRBGo4Jfn9CA)P<$JNDHhQbvYZWA3b5uaggm0pYLn^~Y4;jg z!roizhwL8FU|A_6iz-F{UVuE^f!e-T5 zDq^vj0tVge=sJ(frHj7^HK7Wf6otvcC0NH=)NS)wvOCi!exv7^lJ7O@O;e*_08B^Y z7cc@Z9QSV`K3q98K7ddKhyTCwEXV;LL1ARgEhnpY?k9&?Z13y|u~&*8y16$`6vB@*1=HMhwy10S9R35Cib;dC5}lBvEfUgi zO?eg4$~WN6mknktW0c_de8iNTYE8U~a42 zk|4cg1eZw&JBPS^H4G6cf8zlX)y}m@2m+6_Z*!%b9zMkGt?uS@<^kI_8>`b%-C#K1uB~2PApT`99>=d)~?fe z<$t2PJ!`uCrF1(PaVYm1z^3Yi`}u(dZ5@lW!IMPu^v=@As$W|v?2Joa;D|6xK}bPr(^&d$$v7jfT9H+9RgRF(zlrvO3-`Xr21Tkc2n} zdo%&jE8D&)Ot0?KW6DFb6(+)MelC^!EV;`yC2Lk;Iw-lNbT;EK*FGP2XD`QoZ7q6? zfcW7)s7L%aT8U3IhoGmaAX#PTf5j-w4QUgZKMFy#r#UwW*ePbaD4u@Dq~GS{eh@n# z`zcFOf(H1`HRtY+#F1!Uor8ecu4JCnTc^GA7|u@^4KAoF_FhZA&MS1g?GC@Q8pwu| z_pxY4p7oFr{Gg+pnwN-r--VK@G*d;v?IeU2px0=;YpK9mENpcxP4LCY0XG#pNJx0v zBAX8t_~bQ{&4bN9R~eZdH$hiNjC|;hluh`QfP%bAf0E>h$cq<>voc0r&=y;ysXjmO zR(C1aI>WSuyBn0kB>WeCKnQ=}zAonut!EWhnR0Hcb!~BhTpTbyr($^TFjl?L#lLzj zWRQvnRY=4lhe2pw#z;(A9wyN1E~6)k$Na1|8?U!cop35pgz?PqvewO^bw6v=_Y&v& zR{DF|z8wMS5A1&!=as8Y&^;zXcZQ~Y8~nE5^%z8&WSD|VCKwDco8wmVS*U9Nw_9!9 z8^tp=c-rGandql0&GV-FS(3$m^E|{C<9j#!)9>x`fxch; z3!*jJL#;lSuCDbF3jd#}4IYl>l#;N&Ut(_SL@?+{OiDh(8ay!_1aA!6mQLQ(ng;9bq-Wyd4HJ_@V6GF1df$yegr4ZaY{t7u*#W z;hdcv06?9wVzrk}hN|r&ao9yQ$}=x1y9=Q zQ?9;|r`!>}y&l)}$$QHtGK)fIsi+XCB4oPBBAgeis8rpC8oTr1-ZW;`47V1Iap;U` z`e>(k?6qcRjm|EF+2Ij5!DV=csi1bFw_bu8@F|p7xbVRoiigNb!+0GcZjYSR$UD97 zVsXp~mnKTP1k-)Pu7n0I3P3-*W}^9gej;xoIekXg#xbrv(!RCsIR%8(2%N$9a*fxU zj6~y2%Gir1F`0!T(|HFaNP`o6x_r)j-4kd&?R+dm{2>QE3d7}S{vud=rAO%hYh4C; ze5l#1^#=_6Kf59D{j&Mm`Q9zeo^X*7!o>j|LL#E`8h#f8)*3RG>fzgp^!zs0`@V2J zo7GGLR(>f!d}jE7f>FkOYJwx918XXY`ty8yDc2NUN*h|nJ}ByFb7Z>AX*<4^rdC7f*c@s+SJcC#7c}MvFW#5z1J0(q z2k9aVLPcz7WGUC;FPACXqz<=lSNeSfI+_3|MjeisUB`y+i-Bg78cbZ3 z5CT$FlGpx{0_8UwV=X*~=^bXINC&)ZqkDXpr@;)LB*AI}+Hy~on!9r+)a0j*3ce=H z%=s6j+X)%R15ZhT(#Ai@0S`1#=D3@w{e9y1($s-o ziTuQc+PWDuWvYdzh;%cPzc950yI7Qik6aenogW(O^|%7Cd?)Y|ACx@rb0gVMcSE@N zzgzsi$BtB!`Z;1bBO}w)v@|m_GYDfV=wRuG$j#J2RWiR8a!x7{ASONv93a>96%}%wG6fi0%bm-BMEm1;_ zlJ%SC^ljtW1)5la=TUa9O&OBSAcD-WjU~IHmcQ*qxh3h|M6ETvw~tOzT+b&b&pX4f z4tob9Z-i*h1WDfv!~W2-qWRd3QeACGnIrELbyUZ~z+1i^&1B(&D%gTD%I>egDh{O= zG>v!cUW7;7d@SqvGNKEioos!R7c5(F${*94%fcP>UNN^7Yb`{BYE0C!qIaN zDlFq^zLf#*s;i~DfvTS8c54$9RV@+)bV_$1`EBkMO2ZXFIVAh-A)d8gIA6VW9bb6! z*LS^Pbxk8W3jbl2AZlm?xona&Yn)9XY86A5x*ctMbf3T}ii>jp$+o_mE6|X0E&D~y#QogrwV!CH1s53Dz#tB+SEn^p< ziDejqr{COmu3I$Qu3N0ITU0R&=RSC_wKL9}Ld`kVg~pP|-|}CrPPEX??}APfT!EHz z?;t*X!3$aGM2oO*oLgTY{qL!OI3#%Ut|GwKBZtSL0S+hBbmYGm2YI)fVS7=9aygpB z%_ZMyA)L46>c`tX{xVd)U1lh7Jjt;CF(6!rJ7ww!r!B~1DYZDB%C)V{8LV~50PC!> zw6NFu$SJ`1o>XYxdrmVsC7j&dKi0;X_PJ`|Oh1nsZC=|AZU#!RvG5vo0)?={b8iC% zx&7*`6;Z)rgoZ064bbOQjGR&6!~*>>3nQ0NKQeH#er(-h>(Pp(h@jyJh$ytX zYrNbMg_La}jkKQIE=LVIr`3lC0s)^)9EQzmDQ8jAsz)Zoa$jChK%|^ennh@@mlahd05|=hdFc z&&Bp6MgCn;(o){&AGldkUeE~BTK)rd_%A>Z)f80~XM0>6JvyO?Ij(caNz~vTB*Mlt zP59vnN=;xD1_};KYO5`Xj~7W;AIg=wQWMDYVlnSf_-+Q!Rb*iLT&sRVoUNz(d+nT^ z*%p{(^5nG#Qj0W?rH5$Ei_&NLrB5`mM&*O`r+iZ->i@Rig-8A zt1~~=Oo!j9Yey(4=PX!)TP@KD#o|aAA!q|bZq-@AKeX6}H);8V@*;?Z@cc;@E5&TcjUYu1cT) zr|$$ptl5~Za}n@HhWKfXF*AiCLaQiG(^iikWDUAPUUFvUNMQ|k|hPgCOT9m zI=n_hW~+!A+XeSiUZCu>nex1O-P^TZcMlWbdKY5mJUHVi z9Pf-Qo6S=VSDdQ4bCLqSL=L*gtkXrF#44W$w5ag_i1u8#v@j(O2j!oW`94WT$S0OC z#Hf@zS3z>h5j`a76j`C>a1%VIC;)&@;_5UP&mz&of zit$~U%E>jiT{&AL76fQSp!Dnt_qYS%R>@J?%llRAdOh9udUg;H_F4Yp=pHj&f7B9L zfTHlrc?Fa-$C2k*3Kp@Ap%IJFG_w;9IluR{H8R@lbb(jrT~3lL4@*2u&p2NNKiute3en8E>ml~y z((~pBuFT&y`I+fwi6N1aoAKS2Fpqnkr4BfV5!L(gQ^Bk@b@}6f5Qp18;OstgKv+Bf z8HOfl&vrqG>r>+ZXKb(((t;)wjqt-97W0IL#&&Q6%7zJ}h z9@F~hsaPj`vd6djL{xm;@h5{n(o8R2Ca#j$bxzPmAxO^Y3R?ff352~PkbW*dhGd$x zCMVA!mh-xtY~=C)O6-lu$bC;08a>`9Qk0h+SA4fL0YdK#<9@}tCJeubem4+dQA_9C zcNG#FP`i|A<^V9&ZJ)=As!Q+)G@eC53adGY3mQS;v4&fHu<ji)A_@ky-xe7-O?Z#Htwzpx3&4IZu+NjDwN5d}XG zuHhaUxTm!K1D622usi#dqW<%aszYlGe(z=Yyuc;;DR`Me?QG_3rzkiG`+P|V^n_@v z)nIbE&_Ct-+b00e&>Sw$pbqEtT_8oy{pKINCKpU^Ew-&Kq#nQVjlxRv>!$@3CPrS4<7&i5c%vbCddn>j3#R%4G{ zbIU*P#V``9b`)W>MYW-n$)ISPhEPvocQDn}Dch{}#e`cqM#=wrJ~G?!al(wo3s?(q z+H}R4R9kJ=OvGcfPT^`)q9N8y#=2!W6j*uPwW8e|RDw)x0U_?tohd>%Y!&%#9nLK1kNM&M649Y)s&EvO?aqGqB{rC2Ot{^Cjx!zn7SxeIdN!*2RGTbc7-FuUY zRjQE<)40;TeJkefs0u-9u3Mk0=uJwHf%x z;@oG>=1XTu-sB2MI+&m^IMYMi)?txKMO!hgWHQuPcqIwJGGrH>IVr8w)!GtX*?BAE z3n2(SUe8iTe`CR6(Kr&K9}gXS7yLXHfy*IRNL-pip9Z9Yd~Svq{yDJ zBOOFMsKJ-@^}BSg6URFokMmW7!~4i=sA23n3CHOm5?1%U!LT>R0HiCU;}rQVNcrZt zJnC|*im-4PbWp@IaNEAz?$K!yMt-7%5xJR(YyQ&|hF^-I6*oZ}UUe%npC`&W zM+h5-{yXpW4$0HoHaHPfxcaWC^&{5Lek43@%DP|aASH$yaHO zTi0VagG|u53n3-lB%~vFIsWpjK`GvFt3PRlAUPhxRbt#f-H!>X0T2Dn&ZM@bUbZD9 z0_Q+OOa4o;>C1(vg8^tFoX8`!wiS&vX_Y@!S%fmN)abj4Lf$`GiHD*got9hNcc|3< z+BT(XKxNy(fcgkO!NE^#ZOjXTs+(JQiF&dsuYAKGukMzna)_Wl?NaI({}EA6orrG6 zHfy9VEY!j3D1*nvg+4$Oy7J>3F21m}5#_msh5b3QalL=)<1}iZf+dl}l1LBR;(~UKey`Gxle`uz}Ek=dVxw0sb!^Kk>30 z*{DQS4eoE^5x^Uk{pYvWZ;bDx41M>J_WH(ob%h_~OPb6qPD^ke^+wen%*(cL_OL7B zx{da_PL<=U=MU1i`iJ9nF(UK%L_TlFuu=IQUINX?$I3eH9sHmg_YXk@stu?UAJRuj5~-TAMNT@|^k=EEpTNo9@GbqI%;3T{9KGVWbudUacaJt%a~ zuOrz^9^imAa7-_7H={H)#DArw2K9SO&$Bhn$3AkBxQM)LqbO}28g>Aik%48Sm?f`@ z5(kG-0gW`whGU{ACr#ApcqUa5L!BVCejcF%ut(nM9}p8!IYrb$OR4N5I1jo%OGrR` zl#X@Mu@TsZG6@W&o@b72CHk78&g6nj-PKnxkZ}*Yp*W1Dnnp&#Hb#--wC-SzxW$8k z@JX-&jJO}K>&_Ehzj{mPs6*5BxwXT!quVw-yz|PjK@~{*TCM9`5W8?Y>PKTz8Q44ZyPY?&EMsQbzT1TQLf+2*8< zOfp!0TAD;KaJErAU7r%PHG>KRsG;eAA3-6yddEn_1*5Rvv@nju2njaaNO?~Jl^rYR zg2rNqb*t&H`hJ6$d7_`Rg-CEcRoM^cS14I)BWh;ml>}1gI=tkqUn9v)W#LZS9Naj! z<0baHcTazQrpD?SJ;MVw^g%z5<$v&AOCG#z`o%_B2YmBZo#xjl0PRsY=Uqq@{7l4v z`TT?D?dT-P6*LFL>j8Wj`Cbep@DSw#8~|*E1D^Q+u>(M|^{Sh|;l1rB*T;9=b`U(M zTWr?F|I?iIZ~lb4!?Qz^;|v8XQ+@oC4>&wE8DaUGS&NkFSV%EunoMI6mGsIwL!(x$ zF{Dn5Fs>+SipEYy`13F_&mHRIR9FAll@GxyxJ+|y?GsrxkMrg}5?-rPcQaKO2~{!) z2d<-HbW*vhRAIMN*inenX1K0?g(8w1^e>E{&2Rlc9hRIZ5v7i)CA<}0->!(*rRJ#L zHjuj+ULB*H!!yQZw&jz$E2H_=KiS%L#`9Fn=G6B-uQYBZNZ;t`Oc6&)@`0JrIn3XZhZpw(Gz7)n6)4(Rq zlSzl8ahuVtzg?3&{P8Ur&K?sbs{ z)5FD{C}1RMbE3p-cTiY-SjHf#7EW$zm)rq&ZZ{D#><98Xjx!Z6*Ozi~{Cs}rNbX>I z-7sq(a6yYEwWJHBG!az9{QeM4n_}{9OOehT!IQ4C-4Uuma`?O;(oj_^ENs9YKI+;yx#c&6cFI9mmNXA|8Yji)6oXB+OX;r zHiW4T_{ypigeTvE>v`c`e}ad)R?xob7d;o8q8a3H&7-J#>Y zlVabWiij2$7mH3}wj;}NaLb3rQstFPbG8{I6b7nl0zW{UfxiDlxu^1fT7a2T?x3Q# zFCLo70crlA3HpEl*Osbe6;Z!ApiY|I=qzgM7HN2OV0BT4g%Q9^wcp5;D;HjAwk9&= zVDDBBW@O^6izRiExPU4HslYo6sk zQgePzWP9hV17s3!XwHC<{4b7DT|2W0AAx_S0Yb;K?7!*Y@DfS)bAfU13RQJ@Log^( z@1VV;*lvGWn@=uNCu$DcmStE36Eq6#SwqGRH1F@h1}W>S9+rkE@2C^*ZTS^2EsdfgT$5jZ0g5oc11>iODbZ!wkUXHUA;=`V*s!lq^fbQ+s4F5q{#$~s)I zGBCrlXBP=)0P(e;XjS1zEZ`iw?)DDA-gD#GBlmvZs_U6(B{L22WwJP$4ED-hY{)4x zrl;lqAcJ&u-&G+2AIPFLCMF+g5wtp7Zt81i{_TLdiovV*(!7@>mQbWNm9^>9;y~(1 zT++@#f8_KVr?_PIabx$Eny^kM^2`V0B2TS=-}Pz!h6RsMKb|F~nU*9IG|Nwgb*?hf z>*Y2CpsXJfz`NSx6My6lwX`6;m$YZ*o(a=0KhVU7(JcfTXv5%r(aaG`(rIU@s7im9gmP?H=TH~$W%0SHMe*0yR-?D*FmG1mFG{acXm)vMC!O_@lWR_ti zz0Eg=%DtI>&ta{ozok^9Rk^1?w5c`{>lf&pA7dhyx;+6OtWA)i`CJJ^$q)5Ht_^q2 zv4in9aYs(;RaLXw6#P93Bm2?Z*GI8B&;UC!5EyYQ6JBjaa~Lkz*{qbK<7KSWHM+NB zn(&r%=9@(rqqj`VZK?^C=@WMQkZs`^5dLJgzR(%T4n_8gjz8O=9JorW%~f6`@CU9# zj5KEPs*Ro)Ivtv>aU_R{6G~9=awXN%dv;y(E@A7PzNB#~`Hl2v^gI?bwBnxv?r`oN zF&?ybrCl6KxK~Btk_K1lJ3k$mWV+Hl zam4>|KGOC&PMv1MzM^(9r+v^s@B+1?b6&M82(k?ml2Q9H_yzH*s;PwxK zs~(vp@9+L8!H_<}+Q(?bZnz7DSarsd;M|AT`!iPa^>7rPfR2O&Pat`$;;f$gIuZ-k z2A4gylx2d`Nx<>oGr%{`(Kw^V+r@vQCFewPuC`{3eA5l*-ag}iS)FgPqDCkgezZQ( zI~^LdR>i=&htQm#miEa*l69v5V}p9!b~SAkzjevClSpKww-`%APj9eyDd#tf-wu*=8yoRmR+b#oqZDROA%_0BDWu!~S683&c8|8hxx^KLx13{{_N`nWpigb|O~;EeLw zx<2vma&Ti?`dD+4Xu}=U^DsbeRLv7x9xE`S=S*@v7KbK`F74k8O{y{_VQP5rx;U4u zqe4plukVr<`pv_U-|Iu)JGJMv0&yWD=r6)?4-l?aqwP+-=l*J%quv;X%rlHZ#Kpoq z!cTcY^Rn(JQKE}x>yT2@%y3~!B3>Aims%Yf;!DRfmi5O+zTIe4L^vTpDUkZ3JPZg0%dX7@@xnDjts-a+eh-Y;KC?}$8B`FmNL+()kg( zFejTfzt1zn&uD^@3>ZeHtVWB*4Eq9;^9%zc*e9>Ijm*tvY88#PP>$7*i=7?Bp4%Ou zlwGWvI&{f{Zz{xXWq{Di4YR47Nh}l$GhsDDF;CDsVsex}DA8M&ay!P&VX_;VQwg|6 z=_{8>bp4%-xR<8aV>P+_~Z^? zkNd&oB#I7LSeXBT_|o7BzGiR9Y!}V<>tZ-EG-Ws~+wICsGCOht`kFY*WZP<%Y`HYj ziAn?W?OTn~*@uN?qjpL0VMTVy-yk7H6Y-3bfHH-wW@4eGnBkpb1W!TE+qQ=8YXIH; z(leFOE2sd@FHLIJgH$PU4g9=P{06d%N%z2w%LEh&_y8TkKwAUC7kw!5v2`Byl(iG{Rq<`>jq zbNU=H#y;3?C$g9jDYkpl)K$YW*jb1%up+RXtJ9)qbS|X99L1;8&ey$i^@GJ3OpjN_x3aCG%~hK7?QHz8mo&* zg1jUQnOXL$n+QvR`IgY|I|lW&$jOr2X;<#PzJr|;&&5(Sm14>|n_Lj777UdPEtxr^ z9Es1Kn6zL5mN^+5@mo{M8;OZzxX1oyJ6Zk(G^cM_p5B-U11ywp=S>?zt)_ocvx4lX zCeAg&Ts$yBhBoT6&99~$9)oS3vU@Iub zDv_?9-AmHGo7hHQ(#ab$TsU_OSC&iy9X${9B;`)-O>=(lbR>LkG2YV&E0w(Ce9v>T zXE-`q?(Dd0_+LNHACb*bTJ}w$3bX`MtnWp|EgQmneS;7M>f|%W4@A;$iN?tLofH)F z-wnkfA|lD=g_fsCDBx>^1=!In)P*@VNO_8iLg{7$z_m)@g)*bJkww*6ol2j+g328e zZRK8{jd^D=@`z7I+eu2fFpbE@Dw+sEIH-Pbu|N-#%#B*K#Jar)$!JX|Krs&{zGm1? zRQvneJD;+bYmISEPj;93FM6PANY0Rke-ST(WWVO=9Ou@2my$2R5Tkv6lR+$^yhlK# z0YWAT2Z!Eyc$lxeqiuVsbbyO!t=FV%dNIakUf?Q}o7!S1q`5S%qWr)H=|qc;{I48Q zpbRiaIiY>ej1woIYZopl@?A4F?05QmUK7Fkjy$XHdX@QoQ}mM-qlc!EQNw8$P%PlZ z%{(2B?FySv46t3dm2%9JSKJ93O~wUfwa5I`{m39a)F2p~RuVOQ-^RsTK3n_R69%8L z5ca8}t@=i`14TUH6up04ynJ^T%UbKN7&3RH_yt!< z6d12EgSHdt5sLzksae=oX8f>U*zl8`$Qci35Xf%u^ahgWVel325xbB${g#t4ZK7P* znf-qPoenJh*|HhlNGpMMeF0iB^E#+z2dXz0Qj}4EQk3~oEXJNG7MErWY}CB_QC4o? z8(#m^Kj3^Z5=8V-8dDt$nA610*_>U(p54{E@QnByC?oR_LT)`>I-$PW&SK18w2EJo zXYr$;u^&?ycS4|?MoJ+q77tZvSuN>XkdC6gzB~;@Cid-FMms1I2zmtna!vbNA(@$D zj4|6nlSa)Ukq1KuL>_joy6;Bpm~61~c|K-AR6>8!UKj1P7!C;c{zk(4o<&lzr24Nn z6rdX++$%>q>dgOQYHB{$HI8_9#{_y2JBZBEZbU4lJwKquIT%Xc{}K<5P>p-eqb9-N z+wWmdQxvH-fm@S)5*oeviriXXQHU(4PUqBubY{|T(lM3Ny=d~}y86yGv$YGw%08>< z+i_WrIXN?+q~6IMuYoapXJp3It08+95Ab#6&dEABves8CX%wf48<0@Gf#rR-5p z&L)3&+4<}D=6BoW^@{pzExUIca_N8-2}FEyqOPp%ctkT6t2;SZ2zT~=-Zy}uqnL5A z@X+AqfDWOHbVf=`q=a1292)flc^ZZ+51+d&`Io;^&esW?h-#?l)CGsft-%_ z)<)ZE&x}Wj?4Kx3=g-4ZqZZ@(v0*u-6dZ@35~Gg$atXo3+{v%wUxobA@qs)u-*X%e z+~w?M%5WF)m6t*h)_&r>V-e^4q9~oHws$S zd{*zrTbXzv+3k7PR;d;0e}QDr6<`Kn=oQ%W7S}*+1B)V0Znbo^D~%?Jwzcv_uP2%r ziXfB|+08?pja91Mn7P|bF6}4`==CxM$0!5K*iv~-EUo<$fq{uA`MMqdG!%Pd@T+)( zHb=}`hUpogXZLP?w$_4Zx9whxb+RFd2wjNy31sF&;a3MX&0C)D+i09d;<-IE)!WX+ z4rN0XVT_Y&_7lcJDkyeT17SqB`ik-7sgJL1*K`4HH-U;y%oR<17>=C;zMVDM(pVKg zjuj?oJ++YrOHI=8P}RjUr$A|)>|*sC$8$O^{%x!FD2epJIfYv>8qzpJ`eePMV98(m z=S&vtl_FwPv)hCkKeLmmM(q{W_aZZXL`Vby`$tKQ^pa`mQ$l%NLiYcP`RQPY=-yNt z%*HvAvTr$!EzDSk_Q1+n#;$o0n$}o%;%!gv$PZ_Iyvf|8Qf zJx=M#+b-|~1)8sK7stNicq^^@C0;G(Jtnpc#z$@JLU}$LXRtK57#9_87(xRH1}zGq za6Hd&lY)wg(C|$qf>e^B&f0n{$Ca|S?tF%VB0RHIWw7oC$?%{^)n6>oxRuXa$oHjv zep7GnY$qVc0f99TgK8 zgodk-t*>kF)YYieDF1iaZc(}qPGYxjK+{@L?b<(U*!5uen)_`)Yjr+XlEy?#Rf;g} zsMgWAYVX+f@XL`{&{MA;7~UDlYnNww3ggu!uD6Ni)Qv0577(5(ZP|laxSG37w%Zy# zKaLN8T2m%$}cVyo|{Ex z!n1Kvg1RJTD&wD6IuosDH{427p!2+B@;k8hWOH#bjEs1+7iK5mj`x z=J`zYhrni4o%&94c7RL`Ozlba_9wCFP(k@$_s!MvMyVgR)D?|duI`2(TIVH`mS{hL8Y}UN)K#pg4I0@S7P(`Vt@ZasBFQZBNDS1rWmkb|8oz7 z&p-}j+TM3wciE9Xi(fe2IzBEV7Hsfnho4%aG4QixGu@ zLGiw4aVC4%**fe(JGgphY`1o>xoOPk8a$c?=B|O$G|g$c>ARzQRs+ncftekkb&Y9V z8)mO<`ZUI@y6jm^*|VCmxg~9MldiraT$~6e65-@TIGJ-)Ao>1y-Y4VDtTO(AP1_J( zRHQRAe!dYI@B4h;@AG{~5*fQXPD~|nVW__y(llk?{(UShFC`^qPj?cJ1Q!>#?Bcss zGcHSb?uF-=oZQ1xKfIsXoofNO#&vo0(MRD43XOeb%hJ}FpHt$%P!)pVp3(v9+K6w5)maaf=J(;Y zio^J7IF7l-1Iv}YywYv&Gv6$43Vp1;8#b?#ubVTXyh#%)u_iGkUyXtzjZHd<3;Xx< zD>n3g)G9tYZc^2d=gA)k38xAX5Mm`YpSdP&B?zPfi(i3_7k{aKZRnDxKPf$@wkRRc znuX~mOie-OxmO_DjkxJdbM}(51qu`>P~h_e@xdtL8?`}>um9#YmMmF<=^d@d(JR}CGaS{`_KE5w1-6)Q6Ov*_VO;N2@8Lc*8U4P*FkALy+`K@pL z5%2OY2>~4rBhw-dWvciDxaHKSYht1(#>qmq-?N>Gi3xn)r@XEN2jS62?&QfsyD0G4 z;Jd&Nci#?od7pb%jKTB1uPSwTv~y;OxI^0#GZ6E}8Td zB{^Q$1;4o-_Seq;czy-^EqU-3W|EcyLU4q}3^Gk65N=u3IJ!-a3bqlV@7?Or8WV>@zw(%Ki7l?+MX;2_H8LV-|S%E%@8N74uThgPCdI;0p-R zq37m8c`f)iQ1UDNr$4}hXi7@SA`H43DJ%LX69jdnSu_nuw`Hk1%4VXY8^i5etqLQ? z#{%e?d3H=>zS<}+T1IK%yD&3Jo@(P*lUo8Bz)HZ%q^isGw2&O_sTnvtg_ztW@Ry z)BM9s%cN%524AxmbCMS9>JoNuIH;zu<)_ZTXONd*A9P)hkX{*N#Ftv%>$1`tm+-_$ zwO*&$ngTF{hKu7m1inwLR^!GSm*e>`I>I?kLgzu}svOQPV0rx={^aq$&!HWahLWL7 zl~)>4+cV9Wne6iLo|K2Z3Zz}Gt(Cd$HX(Mlt%I@iIL`~gF!0@*U zYiLi;7>U9uNLyt44Fgf$Z1OiMc^~eJUq%q*N}D8x*ny5tm}s-u&11#|l^}2894GXa zl)Uf^@qu+eXDO6TT2qSnd?;ZPMzCQ$thx=V5Xb1m<^=j?#%DXs1Y{HWxUWLW)|TK!F062PO0WDh`fO zROn2BOPMMzE~)v?R$P>=Y6Cw^r%^DLd*qZtpuGHeAxw>7_x$ zk)()3i46V*Q&a|_-^a10v`FehI2#YBMp{U}Gid7hX<^Ue*xqFNYL|?&NgMmK)OsIs zcF!tJ^XvjclmWNo_EZ@`5YT8es8*}gt5Wi{8jRw3FnpMjhlnzI16S1;J6^bB_|R75Kqiu9Qe(F&GW)U|0JN{nI|fM%qtuY~Bcyhhee} z<3s1>9I)=3`Riz|Yrv*&&(QLrpeGT>oL;P|B+_(zr4GB2wW!b`|&S=>PY#fG1?vwW! zqr`|AYZ$_wU2+Y2#81?PFokMGu95Ll@hxwRu1#jxI zU~0w?W=3(7r1X`3)ikH6X(2%xrp#=bLhM6#f?k>1k|DO#2v=1bAlvmlxo5%nvRG*> zFyCXwGF}(e2|^YeI|c`iN&1Qt2(MM;;&}6qkfe~orkp~EygK>MDMV7SqEJY?zA>e_ zWrK0KuI-nBxf$R&W*Fn(6JLeuFhdP#!$!keEtNK{*J1yZE46$b7s5t=gQO{BHvn$~ z`!C{b3lu0&pa8&s#y=;cgIDtLynZEw=T-4smn2O|lGu2ix%hs6)se)>JE?`dEPCI$ z@|{gwq-jbV$34Y{!o}@*IkdtSaTF7EBDz*7x{?|HWPMdcJ_+`qP=hfYBn+mLTxxOy zvyaT$_TY$1$8&?{WBY5^W#<+mH*Nw>V4Itj@bD`>o*z&Rsx-zMRD;o;g1O{Y`o$%m zCA@2C9Y01wOof0>@4D#tHzXhI>3!A)D$J6wO^Xj9M-|3g~4@p#rEx}nm;{h?KI4KL#6)eA}06`s-isEJOS0= z%by0(CfB1(0^j>{IPuFFO4U(nHCQw!fpV50<`{`Frf^GQ-rzV;9Wwo(88p<(Fm7e+ zguq%TFA=W`70Y;r;8?X3raJUW!6k8C<-|3r4uCy-9OKYh@K(q+d&OrGB!@$1)U5HR=Yyjrrsf!{4Vc&{SH8jg z?&TvSt;z^3dUwUkZ@}Wk;QBe)lBN(C(&V|r(r$qvW)hRSlbG8%3`Nb7X%-R~k;N?F zL%C$ebhG4n!d3&_vWYdnw;10uUL4H~+!7_TzpQ1_x%A+aHJW)5DCDRG3KS@Cp(wM4 z+I2M+EjcB|ovzoXg791)KL~mxhwFH~lo3Umro;$AF{q%hQ%nHDD9qPO(w-V4P2~GH zG22PfzU{?XOt+Vou~3?bM(4W!tEm!~dUMz_;M)1y=_gp_P&d-1TbD{*AS<}!z_EOgu8oEfQiQO{Gime0X-~)2DEBfSo|thSszw zJK9q~t1Z*?o++6cnuoQzZE9Xd7@CODb~mu{H+ngmy_^?vhTFH6(FW1=jl8j3u@n%7 z9MFMFP@-(AeR!VCwAX6zm8G(U%jsQe4^31kdf*NC+0P(rBFxfD2k9%N(z~bu1m)ap zyb7gyo}#43ZKd(z`x3l+KD}x;Q6%Rb7(QjsB+O329ou2U8aUAfuM9QdKnB%PZh))g zfxg$H^vDT^gXX-ZkIH?gsV}XT@sgR!jFiL8U+ptUg#hTeb(-@l*QG*Gn&cico^_ey zF6`VX=N8Agug9SloQNc?XYE>1wM5ngmS2XjBfJ|}$`s=n;<(ag?WSpfNuZknA(TeV zMGy#!)&Kw?07*naR5kBOn4fmy!MZyjZp-f>Ge6vtFOnB!l)OscDooG7>~7$D6ev)j zK!NkYb-*&pc+{?|v1HjCo~H(pf;3HWT_4xX2ngArsU@zpTtezd2b9?ILxjWtF`|s( zh$xKAc3qMrp=}$Z(YOj40PBkhUpouTcUEI9+Pjt5C7;Xb{(81B{41{ zN`@r^3#*Dn+rguPM^Fjau)fBfU%Qjlbr-xLn0l30o_L&XM~_nA^5OscXRzdd{T7UU z4Y@8&FAz0?byF z6C7y@YuCUFm*Kb%B0)Pwe9&sb)FgyaMyC}TQX{2w`#4#v1#NXZu#K)XeAYZnJ+Z-( ztTx+Y&j`4{T40%w9NkX7{qk_`Yo+~cMz7@j=!6NJjW0$}g|YIb_w!f?hko8Hu4bGMLQtn4NrG}6Jt}BZHkakOWGCz>(rNoWn2@w$+W8QjQ z_7leWIlEr&K?0)UnC_VMEKb!i}_@nI?4Kw z?UW1BV}7!h1wMP&DHs(bP#)$> z)L2qlg6lXv#RlYQCz?{C(9aWR;nWmWVTA3_QebE&e6|#eFCwIZOzvHvD3SZD*^^Xt z%H;sxg(OY6f7^N|{7Tf)VQXOxL}Km*H;GBp#Q2xF_<`IvHQ#4> zVAR6rh;wJ2o#h)3eV3Ss1eXpi=96C_ZP6ybhbxq%s4Ug8$N0oJk4{u6uU!i(7Qxgs zKm67f9xE!(UpD-2z@5+C0{8z9$e2xy=c?p7_lrm2!BOA~g*$+q0UYtIGz1$OKP}|H z;fU1U_rNR3M0hjJ13-X7hvC?oOCPweGk*-54~F321T>o^rlv-jnhxl+Lb4<^#t*J# zP_a;+>7X=4Ytt$_p-PScrGveVa>a~wQs~Y?*T?~fD!pe^NlTXc68tu`tfvv2G#c>m z!?3_DA34bg!_`l&QbqQW2~ zB_{PDJq__mQ*CIeG4nKBSYl0%*r_S{>Nw(0f@=to)zezUy8Y;F^Q^?J!4FU9j}K2qkVoh;;M;!+u^vUcrSzIyX2T+gL8R$|E# z^2w-+K-M*r9bty&m2ez*?X?+x_OqQ-tJMY9NsVI1(^uCa4FYfy;y58{wQyaRl#sEp zF>0&Uo;BVby?dCur|;&GR~})cRHc)tX`P+6)3*CA=$3)!`@+7{^?Keg3tkW z{|bKj*U)Tc%r^JI%$rD*9+LZNsPUrh$)OJuyXLCqFbsAOBftu%nD5h)q&*DQkhd~g zN>yo>Y8Cdr2E31yx?RAz{Jy^`Q>}_UhRd&~r0FdAEnq)pJ#t-u9d=(~X{kMQ5kbVB zU2yQ3zk?I+0uBuOl3SHEp}f_wb|uO|UP`xQQdU%XY*L*`;ymj^-@AsyQuT)G31JZ@ za_0oYdD@L#pw0yz`6-+}Ew@5DMBGV_B8{pOQ{66ksbE{0oRZfhQePUqY8nKVkgGOM zfAQHWR7Rk42>2%R2Z%PV18!j9{N*bZro>F4%(#l7GmRyBZpSn!u4jP)1qAlEOGhSE z$|av_RjQqgkKfMP^{`@@F-!jxvq;^x_-KVK>EA;mcx^V1vUlHWF!!ceQd4JK%4I1b zo2Cg}Gv+I0DQ?Ln@LW94B}rofKOl@kJlDf>OsQWtmNLJ-N4;LBJXTt8aNT*O%ermr zIL48IZ#3UU$C~;)b*%S-5)~#&FcysQ)I(e0=9^*7I$7%3hxpP%&t5gX|J8#33ix+l zho!GP13ZXKJtj!}@##nZg@U8NRfB&G{E_uOM233_624r>MEUmZ@c6$Om)fyzrQef4 zjj=N%p106y$pcg{k~ zQXgDNZSj1#SIn+2D~8F1GFLOoz$3#j@d)g=@mBu&=P>)qV=#LLhF8gT=tf4xG%Q`c z;kL3=d^6(6c#N3aK(kylW%?70@9|v8gsGC#4Ay#NL?( z@2V`abIfdq;0$3*TGo1os_LkjRlp|`7js-)uP4o5&mmpnZ4-q**@x^IVT4NpKy9G)<&{o#&Af6UPayBqmN` z*0usx2BY&bODkK;Y<*@ce|qRNS#PvCsNis{b{(8tlVp`Ni{T6$KYoIdn{V!YTYm5v zzW?HjJan{B5M4_A2jJU(1uxw8G~CyqUoQRWQ7AYHTs8O@c$eG*bQ*YWzXVxZ*1?@z z7|9X51jnC4ycmLVzF~VT`AuZtR-b%EzLmkO)-E3>4^n}ONx1B^ zVck%F3~P43akHpF#zx_5Na#5RXq;SNVeIX|rd#$KLyW+fa+>R05t&V?QIayYj>&Ms z%=#F=PWyVhj*w4UI@eZk==Z4$zTv-OAZkm>ONx*racG1*j-}u*l~8(ui!d_=9d^|p z?F5yeQ(3C|aAW1BSmFZXGi867`ng-Qs zm1@<;_XB+2!*xA8zr@f*RNCw!eRQh{VbrEM9TLYeQIzymr)fuK=BlTd)R{r8(x;PU z3;AF;P;w|cPOc+1iVe>bwTELVI2_lJp@8Es=D4izeFE2`Qmcq1oWXlP{eVCCgFj$0 zn1XzsphOu5zZ|fABA`~Qv0?MgP}?}Keg5L+Wqhl7Y0@VOR5Y`LxrSg@U8NRRaxOJo6d?ci#?iCUdMB`kXJn@X$T*bPBW2m!a8_N(=V$cnCN} zEn2`PXmf<(J{W(|e^(trAQfxyjF*8SZ(LmQ36CEH21j9nWSo{${MhdGWAB1xp~>9UYsFr73X~;kXG&k}$kB*Vg_?7w^SL;mBUMZC1&w*@X1tro25rO0bK{YgG8!BHqU3S2dqC3lpt?K9I%f~DB_ z0o-4K4d=Pd$GY&t2Z0?kvbD-^{+!lIs*uknE4f&e$`h_$*LN63-b6eaOJ2?$dl?Me{nRX$x-S{K+e3y(j3l$qVT;FNk7Xl{<}jG&SWoA~g_ zUCdqa;IISH!G5hT7BwBWE+2NFt1cI6e&R|*otcibGMpEDvA1=2M$CvdmwHB@aU_9r zwJLw9F@9Ae%picR8}lr7k1N+V<7{Xn98t^q%q|3{Nf{o}qMwvvlL0Tb;pwMgX7aEo zIl75B!g_U>7-G0C?Uy9dwq1({D_I^Ko_cN!C^&kCqmC(?TgvH&R+d+L>4au`t`TWW zn-jGw@+8QQqpP&0?T%vCcvgi+$R{f<)YCxky$GqbGYGq4K!E}U3KS@Csc|i0v96AC zQkmwKTQ>0Mqu*z4ZVu2YBb7c6tf336q?u(hHVRu1#T{Cq!_?#yVHlGnG2O0?PIbCa z2f=!5?!XoYi35A^JUI0+I6;w+`@ShWO1Lr_Eqgr=4&MdO^BHqomN*WcjQl$EE0-hrThaX75_~LV7 z;*_QmIBp$>u`1j)++SDXT%HkS;I3f^cC2R4=GDCT;$hm;)6h|gz8W|xnPC}=^eH|D z;0*i?A^|W)q-i!l=38koC3P+_QEk$JWFd{^F^RUPR@088{Hz;DDb~X~;cx)IxdG

      um*g4+8OdK+F3fied{x0SnMU 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

      After applying all {@link RgbMatrix} instances, color values are clamped to the limits of the + * color space. Intermediate reults are not clamped. + */ /* package */ final class RgbMatrixProcessor extends SingleFrameGlTextureProcessor { private static final String VERTEX_SHADER_PATH = "shaders/vertex_shader_transformation_es2.glsl"; private static final String FRAGMENT_SHADER_PATH = "shaders/fragment_shader_transformation_es2.glsl"; private final GlProgram glProgram; - private final RgbMatrix rgbMatrix; + private final ImmutableList rgbMatrices; - // TODO(b/239431666): Support chaining multiple RgbMatrix instances in RgbMatrixProcessor. // TODO(b/239757183): Merge RgbMatrixProcessor with MatrixTransformationProcessor. + /** + * Creates a new instance. + * + * @param context The {@link Context}. + * @param rgbMatrix The {@link RgbMatrix} to apply to each frame. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. + */ public RgbMatrixProcessor(Context context, RgbMatrix rgbMatrix, boolean useHdr) throws FrameProcessingException { + this(context, ImmutableList.of(rgbMatrix), useHdr); + } + + /** + * Creates a new instance. + * + * @param context The {@link Context}. + * @param rgbMatrices The {@link RgbMatrix} to apply to each frame. + * @param useHdr Whether input textures come from an HDR source. If {@code true}, colors will be + * in linear RGB BT.2020. If {@code false}, colors will be in gamma RGB BT.709. + * @throws FrameProcessingException If a problem occurs while reading shader files or an OpenGL + * operation fails or is unsupported. + */ + public RgbMatrixProcessor(Context context, ImmutableList rgbMatrices, boolean useHdr) + throws FrameProcessingException { super(useHdr); - this.rgbMatrix = rgbMatrix; + this.rgbMatrices = rgbMatrices; try { glProgram = new GlProgram(context, VERTEX_SHADER_PATH, FRAGMENT_SHADER_PATH); @@ -64,9 +94,35 @@ public Pair configure(int inputWidth, int inputHeight) { return Pair.create(inputWidth, inputHeight); } + private static float[] createCompositeRgbaMatrixArray( + ImmutableList rgbMatrices, long presentationTimeUs) { + float[] tempResultMatrix = new float[16]; + float[] compositeRgbaMatrix = new float[16]; + Matrix.setIdentityM(compositeRgbaMatrix, /* smOffset= */ 0); + + for (int i = 0; i < rgbMatrices.size(); i++) { + Matrix.multiplyMM( + /* result= */ tempResultMatrix, + /* resultOffset= */ 0, + /* lhs= */ rgbMatrices.get(i).getMatrix(presentationTimeUs), + /* lhsOffset= */ 0, + /* rhs= */ compositeRgbaMatrix, + /* rhsOffset= */ 0); + System.arraycopy( + /* src= */ tempResultMatrix, + /* srcPos= */ 0, + /* dest= */ compositeRgbaMatrix, + /* destPost= */ 0, + /* length= */ tempResultMatrix.length); + } + + return compositeRgbaMatrix; + } + @Override public void drawFrame(int inputTexId, long presentationTimeUs) throws FrameProcessingException { - float[] rgbMatrixArray = rgbMatrix.getMatrix(presentationTimeUs); + // TODO(b/239431666): Add caching for compacting Matrices. + float[] rgbMatrixArray = createCompositeRgbaMatrixArray(rgbMatrices, presentationTimeUs); try { glProgram.use(); glProgram.setSamplerTexIdUniform("uTexSampler", inputTexId, /* texUnitIndex= */ 0); diff --git a/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png b/libraries/test_data/src/test/assets/media/bitmap/sample_mp4_first_frame/grayscale_then_increase_red_channel.png new file mode 100644 index 0000000000000000000000000000000000000000..07dc4f149c5d9b4919c99e74d48a93a2a10e221b GIT binary patch literal 406385 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⁣1za&&K)QtMgAF=7aPd(^+RL^|3`Ggp9Dd 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

    • 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 z
      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

    • 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 z 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

    WfQn6k4zUdiFxvxx+s)R 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 ZncvIBM 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

M;A$*W<4s#SsV+z%BDwafhSbeC1M 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