From e8ac5d4dea856df25e51fbe938c8060416c161bd Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 11:04:13 -0500 Subject: [PATCH 01/13] Add a sticker decal option --- core/resources/l10n/messages.properties | 3 ++- core/src/net/sf/openrocket/appearance/Decal.java | 2 +- .../sf/openrocket/appearance/SimpleAppearanceBuilder.java | 2 +- .../net/sf/openrocket/gui/configdialog/AppearancePanel.java | 5 +++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 157a8211e..94ded4c94 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -740,7 +740,8 @@ AppearanceCfg.lbl.texture.repeat = Repeat: ! Texture Wrap Modes TextureWrap.Repeat = Repeat TextureWrap.Mirror = Repeat & Mirror -TextureWrap.Clamp = Clamp Edge Pixels +TextureWrap.Clamp = Clamp Edge Pixel +TextureWrap.Sticker = Sticker ! RocketConfig RocketCfg.lbl.Designname = Design name: diff --git a/core/src/net/sf/openrocket/appearance/Decal.java b/core/src/net/sf/openrocket/appearance/Decal.java index e32c6efac..b55636364 100644 --- a/core/src/net/sf/openrocket/appearance/Decal.java +++ b/core/src/net/sf/openrocket/appearance/Decal.java @@ -11,7 +11,7 @@ import net.sf.openrocket.util.Coordinate; public class Decal { public static enum EdgeMode { - REPEAT("TextureWrap.Repeat"), MIRROR("TextureWrap.Mirror"), CLAMP("TextureWrap.Clamp"); + REPEAT("TextureWrap.Repeat"), MIRROR("TextureWrap.Mirror"), CLAMP("TextureWrap.Clamp"), STICKER("TextureWrap.Sticker"); private final String transName; EdgeMode(final String name){ this.transName = name; diff --git a/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java b/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java index 0575069d8..6e1dd62fb 100644 --- a/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java +++ b/core/src/net/sf/openrocket/appearance/SimpleAppearanceBuilder.java @@ -48,7 +48,7 @@ public class SimpleAppearanceBuilder extends AppearanceBuilder { batch(new Runnable() { @Override public void run() { - if (getImage() == null && image != null) { + if (getImage() == null && image != null && getEdgeMode() != Decal.EdgeMode.STICKER ) { oldColor = getColor(); setColor(new Color(255, 255, 255)); } else if (getImage() != null && image == null && oldColor != null) { diff --git a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java index ffc989835..683ca8cea 100644 --- a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java +++ b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java @@ -21,6 +21,7 @@ import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import net.miginfocom.swing.MigLayout; +import net.sf.openrocket.appearance.Decal; import net.sf.openrocket.appearance.Decal.EdgeMode; import net.sf.openrocket.appearance.SimpleAppearanceBuilder; import net.sf.openrocket.document.OpenRocketDocument; @@ -250,12 +251,12 @@ public class AppearancePanel extends JPanel { { // Color add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); //mDefault.addEnableComponent(colorButton, false); - colorButton.setEnabled(ab.getImage() == null); + colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER); add(colorButton); ab.addChangeListener(new StateChangeListener() { @Override public void stateChanged(EventObject e) { - colorButton.setEnabled(ab.getImage() == null); + colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER); } }); } From a857fb93be91917b16ce3b8293eaae5aa29dd1ea Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 11:26:07 -0500 Subject: [PATCH 02/13] Moving from RenderStrategies to RocketRenderer subclasses. --- .../gui/figure3d/FigureRenderStrategy.java | 33 ------------ .../gui/figure3d/FigureRenderer.java | 44 ++++++++++++++++ .../gui/figure3d/RealisticRenderStrategy.java | 12 ----- .../gui/figure3d/RealisticRenderer.java | 31 +++++++++++ .../gui/figure3d/RenderStrategy.java | 24 +++------ .../gui/figure3d/RocketFigure3d.java | 24 ++++++--- .../gui/figure3d/RocketRenderer.java | 51 +++++++------------ 7 files changed, 116 insertions(+), 103 deletions(-) create mode 100644 core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java create mode 100644 core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java diff --git a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java index d624ca17a..e661a34cc 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java +++ b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java @@ -8,12 +8,8 @@ import javax.media.opengl.GL2ES1; import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.fixedfunc.GLLightingFunc; -import net.sf.openrocket.rocketcomponent.BodyTube; import net.sf.openrocket.rocketcomponent.ExternalComponent; -import net.sf.openrocket.rocketcomponent.NoseCone; import net.sf.openrocket.rocketcomponent.RocketComponent; -import net.sf.openrocket.rocketcomponent.SymmetricComponent; -import net.sf.openrocket.rocketcomponent.Transition; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.Color; @@ -24,31 +20,8 @@ public class FigureRenderStrategy extends RenderStrategy { super(null); } - @Override - public boolean isDrawn(RocketComponent c) { - return true; - } - - @Override - public boolean isDrawnTransparent(RocketComponent c) { - if (c instanceof BodyTube) - return true; - if (c instanceof NoseCone) - return false; - if (c instanceof SymmetricComponent) { - if (((SymmetricComponent) c).isFilled()) - return false; - } - if (c instanceof Transition) { - Transition t = (Transition) c; - return !t.isAftShoulderCapped() && !t.isForeShoulderCapped(); - } - return false; - } - private static final HashMap, Color> defaultColorCache = new HashMap, Color>(); - @Override public void preGeometry(GL2 gl, RocketComponent c, float alpha) { gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); Color figureColor = c.getColor(); @@ -91,12 +64,6 @@ public class FigureRenderStrategy extends RenderStrategy { gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, color, 0); } - - @Override - public void postGeometry(GL2 gl, RocketComponent c, float alpha) { - //Nothing to do here - - } @Override public void init(GLAutoDrawable drawable) { diff --git a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java new file mode 100644 index 000000000..228288085 --- /dev/null +++ b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java @@ -0,0 +1,44 @@ +package net.sf.openrocket.gui.figure3d; + +import javax.media.opengl.GL2; + +import net.sf.openrocket.rocketcomponent.BodyTube; +import net.sf.openrocket.rocketcomponent.NoseCone; +import net.sf.openrocket.rocketcomponent.RocketComponent; +import net.sf.openrocket.rocketcomponent.SymmetricComponent; +import net.sf.openrocket.rocketcomponent.Transition; + +public class FigureRenderer extends RocketRenderer { + + protected FigureRenderer() { + super(new FigureRenderStrategy()); + } + + @Override + public void renderComponent(GL2 gl, RocketComponent c, float alpha) { + ((FigureRenderStrategy)currentStrategy).preGeometry(gl, c, alpha); + cr.renderGeometry(gl, c); + } + + @Override + public boolean isDrawn(RocketComponent c) { + return true; + } + + @Override + public boolean isDrawnTransparent(RocketComponent c) { + if (c instanceof BodyTube) + return true; + if (c instanceof NoseCone) + return false; + if (c instanceof SymmetricComponent) { + if (((SymmetricComponent) c).isFilled()) + return false; + } + if (c instanceof Transition) { + Transition t = (Transition) c; + return !t.isAftShoulderCapped() && !t.isForeShoulderCapped(); + } + return false; + } +} diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java index 02652288a..53ab2d47f 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java @@ -86,17 +86,6 @@ public class RealisticRenderStrategy extends RenderStrategy { texCache = null; } - @Override - public boolean isDrawn(RocketComponent c) { - return true; - } - - @Override - public boolean isDrawnTransparent(RocketComponent c) { - return false; - } - - @Override public void preGeometry(GL2 gl, RocketComponent c, float alpha) { if (needClearCache) { clearCaches(gl); @@ -158,7 +147,6 @@ public class RealisticRenderStrategy extends RenderStrategy { } } - @Override public void postGeometry(GL2 gl, RocketComponent c, float alpha) { Appearance a = getAppearance(c); Decal t = a.getTexture(); diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java new file mode 100644 index 000000000..c57aa95ad --- /dev/null +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -0,0 +1,31 @@ +package net.sf.openrocket.gui.figure3d; + +import javax.media.opengl.GL2; + +import net.sf.openrocket.document.OpenRocketDocument; +import net.sf.openrocket.rocketcomponent.RocketComponent; + +public class RealisticRenderer extends RocketRenderer { + public RealisticRenderer(OpenRocketDocument doc) { + super(new RealisticRenderStrategy(doc)); + } + + @Override + public void renderComponent(GL2 gl, RocketComponent c, float alpha) { + ((RealisticRenderStrategy)currentStrategy).preGeometry(gl, c, alpha); + cr.renderGeometry(gl, c); + ((RealisticRenderStrategy)currentStrategy).postGeometry(gl, c, alpha); + } + + + @Override + public boolean isDrawn(RocketComponent c) { + return true; + } + + @Override + public boolean isDrawnTransparent(RocketComponent c) { + return false; + } + +} diff --git a/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java b/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java index 4908307a9..68577a629 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java @@ -1,37 +1,27 @@ package net.sf.openrocket.gui.figure3d; -import javax.media.opengl.GL2; import javax.media.opengl.GLAutoDrawable; import net.sf.openrocket.document.OpenRocketDocument; -import net.sf.openrocket.rocketcomponent.RocketComponent; public abstract class RenderStrategy { - + protected final OpenRocketDocument document; - - public RenderStrategy( OpenRocketDocument document ) { + + public RenderStrategy(OpenRocketDocument document) { this.document = document; } - - public abstract boolean isDrawn(RocketComponent c); - - public abstract boolean isDrawnTransparent(RocketComponent c); - - public abstract void preGeometry(GL2 gl, RocketComponent c, float alpha); - - public abstract void postGeometry(GL2 gl, RocketComponent c, float alpha); public void updateFigure() { } - + public void init(GLAutoDrawable drawable) { - + } - + public void dispose(GLAutoDrawable drawable) { - + } } diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java index febe7b5fd..b35bccf0c 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java @@ -21,6 +21,7 @@ import javax.media.opengl.GLAutoDrawable; import javax.media.opengl.GLCapabilities; import javax.media.opengl.GLEventListener; import javax.media.opengl.GLProfile; +import javax.media.opengl.GLRunnable; import javax.media.opengl.awt.GLCanvas; import javax.media.opengl.fixedfunc.GLLightingFunc; import javax.media.opengl.fixedfunc.GLMatrixFunc; @@ -87,7 +88,7 @@ public class RocketFigure3d extends JPanel implements GLEventListener { float[] lightPosition = new float[] { 1, 4, 1, 0 }; - RocketRenderer rr = new RocketRenderer(); + RocketRenderer rr = new FigureRenderer(); public RocketFigure3d(OpenRocketDocument document, Configuration config) { this.document = document; @@ -638,13 +639,20 @@ public class RocketFigure3d extends JPanel implements GLEventListener { this.csl = newListener; } - public void setType(int t){ - if ( t == TYPE_FIGURE ){ - rr.setRenderStrategy(new FigureRenderStrategy()); - } else { - rr.setRenderStrategy(new RealisticRenderStrategy(document)); - } - repaint(); + public void setType(final int t){ + canvas.invoke(true, new GLRunnable() { + @Override + public boolean run(GLAutoDrawable drawable) { + rr.dispose(drawable); + if ( t == TYPE_FIGURE ){ + rr = new FigureRenderer(); + } else { + rr = new RealisticRenderer(document); + } + rr.init(drawable); + return false; + } + }); } } diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java index 336188a2c..c2f4dbdb5 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java @@ -23,35 +23,23 @@ import net.sf.openrocket.util.Coordinate; /* * @author Bill Kuker */ -public class RocketRenderer { +public abstract class RocketRenderer { @SuppressWarnings("unused") private static final LogHelper log = Application.getLogger(); - RenderStrategy currentStrategy = new FigureRenderStrategy(); - RenderStrategy nextStrategy; - - ComponentRenderer cr; + final RenderStrategy currentStrategy; + final ComponentRenderer cr = new ComponentRenderer(); private final float[] selectedEmissive = { 1, 0, 0, 1 }; private final float[] colorBlack = { 0, 0, 0, 1 }; - - public void setRenderStrategy(RenderStrategy r) { - nextStrategy = r; - } - - private void checkRenderStrategy(GLAutoDrawable drawable) { - if (nextStrategy == null) - return; - currentStrategy.dispose(drawable); - nextStrategy.init(drawable); - currentStrategy = nextStrategy; - nextStrategy = null; + protected RocketRenderer(RenderStrategy s){ + currentStrategy = s; } public void init(GLAutoDrawable drawable) { - cr = new ComponentRenderer(); cr.init(drawable); + currentStrategy.init(drawable); } public void dispose(GLAutoDrawable drawable) { @@ -66,7 +54,6 @@ public class RocketRenderer { public RocketComponent pick(GLAutoDrawable drawable, Configuration configuration, Point p, Set ignore) { - checkRenderStrategy(drawable); final GL2 gl = drawable.getGL().getGL2(); gl.glEnable(GL.GL_DEPTH_TEST); @@ -86,7 +73,7 @@ public class RocketRenderer { (byte) ((pickParts.size() << 4) & 0xF0), (byte) 1); pickParts.add(c); - if (currentStrategy.isDrawnTransparent(c)) { + if (isDrawnTransparent(c)) { gl.glEnable(GL.GL_CULL_FACE); gl.glCullFace(GL.GL_FRONT); cr.renderGeometry(gl, c); @@ -112,7 +99,6 @@ public class RocketRenderer { public void render(GLAutoDrawable drawable, Configuration configuration, Set selection) { - checkRenderStrategy(drawable); if (cr == null) throw new IllegalStateException(this + " Not Initialized"); @@ -155,8 +141,8 @@ public class RocketRenderer { // Draw all inner components for (RocketComponent c : configuration) { - if (currentStrategy.isDrawn(c)) { - if (!currentStrategy.isDrawnTransparent(c)) { + if (isDrawn(c)) { + if (!isDrawnTransparent(c)) { renderComponent(gl, c, 1.0f); } } @@ -169,8 +155,8 @@ public class RocketRenderer { gl.glEnable(GL.GL_CULL_FACE); gl.glCullFace(GL.GL_FRONT); for (RocketComponent c : configuration) { - if (currentStrategy.isDrawn(c)) { - if (currentStrategy.isDrawnTransparent(c)) { + if (isDrawn(c)) { + if (isDrawnTransparent(c)) { renderComponent(gl, c, 1.0f); } } @@ -182,8 +168,8 @@ public class RocketRenderer { gl.glEnable(GL.GL_CULL_FACE); gl.glCullFace(GL.GL_BACK); for (RocketComponent c : configuration) { - if (currentStrategy.isDrawn(c)) { - if (currentStrategy.isDrawnTransparent(c)) { + if (isDrawn(c)) { + if (isDrawnTransparent(c)) { renderComponent(gl, c, 0.2f); } } @@ -213,10 +199,9 @@ public class RocketRenderer { } - public void renderComponent(GL2 gl, RocketComponent c, float alpha) { - currentStrategy.preGeometry(gl, c, alpha); - cr.renderGeometry(gl, c); - currentStrategy.postGeometry(gl, c, alpha); - } - + public abstract void renderComponent(GL2 gl, RocketComponent c, float alpha); + + public abstract boolean isDrawn(RocketComponent c); + + public abstract boolean isDrawnTransparent(RocketComponent c); } From 143a032728f91c0d1bb7215fa1c982ab4153ab8e Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 12:29:33 -0500 Subject: [PATCH 03/13] Further refactre RenderStrategies into RocketRenderer subclasses --- .../gui/figure3d/FigureRenderStrategy.java | 123 --------- .../gui/figure3d/FigureRenderer.java | 125 ++++++++- .../gui/figure3d/RealisticRenderStrategy.java | 238 ------------------ .../gui/figure3d/RealisticRenderer.java | 228 ++++++++++++++++- .../gui/figure3d/RenderStrategy.java | 27 -- .../gui/figure3d/RocketRenderer.java | 122 ++++----- 6 files changed, 390 insertions(+), 473 deletions(-) delete mode 100644 core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java delete mode 100644 core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java delete mode 100644 core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java diff --git a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java deleted file mode 100644 index e661a34cc..000000000 --- a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderStrategy.java +++ /dev/null @@ -1,123 +0,0 @@ -package net.sf.openrocket.gui.figure3d; - -import java.util.HashMap; - -import javax.media.opengl.GL; -import javax.media.opengl.GL2; -import javax.media.opengl.GL2ES1; -import javax.media.opengl.GLAutoDrawable; -import javax.media.opengl.fixedfunc.GLLightingFunc; - -import net.sf.openrocket.rocketcomponent.ExternalComponent; -import net.sf.openrocket.rocketcomponent.RocketComponent; -import net.sf.openrocket.startup.Application; -import net.sf.openrocket.util.Color; - -public class FigureRenderStrategy extends RenderStrategy { - private final float[] color = new float[4]; - - public FigureRenderStrategy() { - super(null); - } - - private static final HashMap, Color> defaultColorCache = new HashMap, Color>(); - - public void preGeometry(GL2 gl, RocketComponent c, float alpha) { - gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); - Color figureColor = c.getColor(); - if (figureColor == null) { - if (defaultColorCache.containsKey(c.getClass())) { - figureColor = defaultColorCache.get(c.getClass()); - } else { - figureColor = Application.getPreferences().getDefaultColor(c.getClass()); - defaultColorCache.put(c.getClass(), figureColor); - } - } - - // Set up the front A&D color - convertColor(figureColor, color); - color[3] = alpha; - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0); - - // Set up the Specular color & Shine - convertColor(figureColor, color); - float d = 0.9f; - float m = (float) getShine(c) / 128.0f; - color[0] = Math.max(color[0], d) * m; - color[1] = Math.max(color[1], d) * m; - color[2] = Math.max(color[2], d) * m; - - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_SPECULAR, color, 0); - gl.glMateriali(GL.GL_FRONT, GLLightingFunc.GL_SHININESS, getShine(c)); - - color[0] = color[1] = color[2] = 0; - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_SPECULAR, color, 0); - - //Back A&D - convertColor(figureColor, color); - color[0] = color[0] * 0.4f; - color[1] = color[1] * 0.4f; - color[2] = color[2] * 0.4f; - color[3] = alpha; - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, color, 0); - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, color, 0); - - } - - @Override - public void init(GLAutoDrawable drawable) { - GL2 gl = drawable.getGL().getGL2(); - - gl.glLightModelfv(GL2ES1.GL_LIGHT_MODEL_AMBIENT, - new float[] { 0,0,0 }, 0); - - float amb = 0.3f; - float dif = 1.0f - amb; - float spc = 1.0f; - gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_AMBIENT, - new float[] { amb, amb, amb, 1 }, 0); - gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_DIFFUSE, - new float[] { dif, dif, dif, 1 }, 0); - gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_SPECULAR, - new float[] { spc, spc, spc, 1 }, 0); - - gl.glEnable(GLLightingFunc.GL_LIGHT1); - gl.glEnable(GLLightingFunc.GL_LIGHTING); - gl.glShadeModel(GLLightingFunc.GL_SMOOTH); - - gl.glEnable(GLLightingFunc.GL_NORMALIZE); - } - - private static int getShine(RocketComponent c) { - if (c instanceof ExternalComponent) { - switch (((ExternalComponent) c).getFinish()) { - case ROUGH: - return 10; - case UNFINISHED: - return 30; - case NORMAL: - return 40; - case SMOOTH: - return 80; - case POLISHED: - return 128; - default: - return 100; - } - } - return 20; - } - - protected static void convertColor(Color color, float[] out) { - if ( color == null ){ - out[0] = 1; - out[1] = 1; - out[2] = 0; - } else { - out[0] = Math.max(0.2f, (float) color.getRed() / 255f) * 2; - out[1] = Math.max(0.2f, (float) color.getGreen() / 255f) * 2; - out[2] = Math.max(0.2f, (float) color.getBlue() / 255f) * 2; - } - } -} diff --git a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java index 228288085..f6c230099 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/FigureRenderer.java @@ -1,25 +1,56 @@ package net.sf.openrocket.gui.figure3d; +import java.util.HashMap; + +import javax.media.opengl.GL; import javax.media.opengl.GL2; +import javax.media.opengl.GL2ES1; +import javax.media.opengl.GLAutoDrawable; +import javax.media.opengl.fixedfunc.GLLightingFunc; import net.sf.openrocket.rocketcomponent.BodyTube; +import net.sf.openrocket.rocketcomponent.ExternalComponent; import net.sf.openrocket.rocketcomponent.NoseCone; import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.SymmetricComponent; import net.sf.openrocket.rocketcomponent.Transition; +import net.sf.openrocket.startup.Application; +import net.sf.openrocket.util.Color; public class FigureRenderer extends RocketRenderer { - - protected FigureRenderer() { - super(new FigureRenderStrategy()); + private final float[] color = new float[4]; + + public FigureRenderer() { } - + @Override - public void renderComponent(GL2 gl, RocketComponent c, float alpha) { - ((FigureRenderStrategy)currentStrategy).preGeometry(gl, c, alpha); - cr.renderGeometry(gl, c); + public void init(GLAutoDrawable drawable) { + super.init(drawable); + + GL2 gl = drawable.getGL().getGL2(); + + gl.glLightModelfv(GL2ES1.GL_LIGHT_MODEL_AMBIENT, + new float[] { 0,0,0 }, 0); + + float amb = 0.3f; + float dif = 1.0f - amb; + float spc = 1.0f; + gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_AMBIENT, + new float[] { amb, amb, amb, 1 }, 0); + gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_DIFFUSE, + new float[] { dif, dif, dif, 1 }, 0); + gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_SPECULAR, + new float[] { spc, spc, spc, 1 }, 0); + + gl.glEnable(GLLightingFunc.GL_LIGHT1); + gl.glEnable(GLLightingFunc.GL_LIGHTING); + gl.glShadeModel(GLLightingFunc.GL_SMOOTH); + + gl.glEnable(GLLightingFunc.GL_NORMALIZE); } + + @Override public boolean isDrawn(RocketComponent c) { return true; @@ -41,4 +72,84 @@ public class FigureRenderer extends RocketRenderer { } return false; } + + private static final HashMap, Color> defaultColorCache = new HashMap, Color>(); + + @Override + public void renderComponent(GL2 gl, RocketComponent c, float alpha) { + + gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); + Color figureColor = c.getColor(); + if (figureColor == null) { + if (defaultColorCache.containsKey(c.getClass())) { + figureColor = defaultColorCache.get(c.getClass()); + } else { + figureColor = Application.getPreferences().getDefaultColor(c.getClass()); + defaultColorCache.put(c.getClass(), figureColor); + } + } + + // Set up the front A&D color + convertColor(figureColor, color); + color[3] = alpha; + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0); + + // Set up the Specular color & Shine + convertColor(figureColor, color); + float d = 0.9f; + float m = (float) getShine(c) / 128.0f; + color[0] = Math.max(color[0], d) * m; + color[1] = Math.max(color[1], d) * m; + color[2] = Math.max(color[2], d) * m; + + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_SPECULAR, color, 0); + gl.glMateriali(GL.GL_FRONT, GLLightingFunc.GL_SHININESS, getShine(c)); + + color[0] = color[1] = color[2] = 0; + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_SPECULAR, color, 0); + + //Back A&D + convertColor(figureColor, color); + color[0] = color[0] * 0.4f; + color[1] = color[1] * 0.4f; + color[2] = color[2] * 0.4f; + color[3] = alpha; + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, color, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, color, 0); + + cr.renderGeometry(gl, c); + } + + private static int getShine(RocketComponent c) { + if (c instanceof ExternalComponent) { + switch (((ExternalComponent) c).getFinish()) { + case ROUGH: + return 10; + case UNFINISHED: + return 30; + case NORMAL: + return 40; + case SMOOTH: + return 80; + case POLISHED: + return 128; + default: + return 100; + } + } + return 20; + } + + protected static void convertColor(Color color, float[] out) { + if ( color == null ){ + out[0] = 1; + out[1] = 1; + out[2] = 0; + } else { + out[0] = Math.max(0.2f, (float) color.getRed() / 255f) * 2; + out[1] = Math.max(0.2f, (float) color.getGreen() / 255f) * 2; + out[2] = Math.max(0.2f, (float) color.getBlue() / 255f) * 2; + } + } } diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java deleted file mode 100644 index 53ab2d47f..000000000 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderStrategy.java +++ /dev/null @@ -1,238 +0,0 @@ -package net.sf.openrocket.gui.figure3d; - -import java.io.InputStream; -import java.util.HashMap; -import java.util.Map; - -import javax.media.opengl.GL; -import javax.media.opengl.GL2; -import javax.media.opengl.GL2ES1; -import javax.media.opengl.GLAutoDrawable; -import javax.media.opengl.GLProfile; -import javax.media.opengl.fixedfunc.GLLightingFunc; -import javax.media.opengl.fixedfunc.GLMatrixFunc; - -import net.sf.openrocket.appearance.Appearance; -import net.sf.openrocket.appearance.Decal; -import net.sf.openrocket.document.DecalRegistry; -import net.sf.openrocket.document.OpenRocketDocument; -import net.sf.openrocket.logging.LogHelper; -import net.sf.openrocket.rocketcomponent.RocketComponent; -import net.sf.openrocket.startup.Application; -import net.sf.openrocket.util.Color; - -import com.jogamp.opengl.util.texture.Texture; -import com.jogamp.opengl.util.texture.TextureData; -import com.jogamp.opengl.util.texture.TextureIO; - -public class RealisticRenderStrategy extends RenderStrategy { - - private final float[] colorBlack = { 0, 0, 0, 1 }; - private final float[] color = new float[4]; - private static final LogHelper log = Application.getLogger(); - - private final DecalRegistry decalLoader; - private boolean needClearCache = false; - private Map oldTexCache = new HashMap(); - private Map texCache = new HashMap(); - private float anisotrophy = 0; - - public RealisticRenderStrategy(OpenRocketDocument document) { - super(document); - this.decalLoader = document.getDecalRegistry(); - } - - @Override - public void updateFigure() { - needClearCache = true; - } - - @Override - public void init(GLAutoDrawable drawable) { - oldTexCache = new HashMap(); - texCache = new HashMap(); - - GL2 gl = drawable.getGL().getGL2(); - - gl.glLightModelfv(GL2ES1.GL_LIGHT_MODEL_AMBIENT, - new float[] { 0,0,0 }, 0); - - float amb = 0.3f; - float dif = 1.0f - amb; - float spc = 1.0f; - gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_AMBIENT, - new float[] { amb, amb, amb, 1 }, 0); - gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_DIFFUSE, - new float[] { dif, dif, dif, 1 }, 0); - gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_SPECULAR, - new float[] { spc, spc, spc, 1 }, 0); - - gl.glEnable(GLLightingFunc.GL_LIGHT1); - gl.glEnable(GLLightingFunc.GL_LIGHTING); - gl.glShadeModel(GLLightingFunc.GL_SMOOTH); - - gl.glEnable(GLLightingFunc.GL_NORMALIZE); - - if (gl.isExtensionAvailable("GL_EXT_texture_filter_anisotropic")) { - float a[] = new float[1]; - gl.glGetFloatv(GL.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, a, 0); - anisotrophy = a[0]; - } - } - - @Override - public void dispose(GLAutoDrawable drawable) { - oldTexCache = null; - texCache = null; - } - - public void preGeometry(GL2 gl, RocketComponent c, float alpha) { - if (needClearCache) { - clearCaches(gl); - needClearCache = false; - } - - Appearance a = getAppearance(c); - gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); - gl.glLightModeli(GL2.GL_LIGHT_MODEL_COLOR_CONTROL,GL2.GL_SEPARATE_SPECULAR_COLOR); - - - convertColor(a.getDiffuse(), color); - color[3] = alpha; - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, color, 0); - - convertColor(a.getAmbient(), color); - color[3] = alpha; - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0); - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, color, 0); - - convertColor(a.getSpecular(), color); - color[3] = alpha; - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_SPECULAR, color, 0); - gl.glMateriali(GL.GL_FRONT, GLLightingFunc.GL_SHININESS, a.getShininess()); - - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_SPECULAR, colorBlack, 0); - gl.glMateriali(GL.GL_BACK, GLLightingFunc.GL_SHININESS, 0); - - Decal t = a.getTexture(); - Texture tex = null; - if (t != null) { - tex = getTexture(t); - } - if (t != null && tex != null) { - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR); - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); - - tex.enable(gl); - tex.bind(gl); - gl.glMatrixMode(GL.GL_TEXTURE); - gl.glPushMatrix(); - - gl.glTranslated(-t.getCenter().x, -t.getCenter().y, 0); - gl.glRotated(57.2957795 * t.getRotation(), 0, 0, 1); - gl.glTranslated(t.getCenter().x, t.getCenter().y, 0); - - gl.glScaled(t.getScale().x, t.getScale().y, 0); - gl.glTranslated(t.getOffset().x, t.getOffset().y, 0); - - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, toEdgeMode(t.getEdgeMode())); - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, toEdgeMode(t.getEdgeMode())); - - gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); - - if ( anisotrophy > 0){ - gl.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAX_ANISOTROPY_EXT, anisotrophy); - } - } - } - - public void postGeometry(GL2 gl, RocketComponent c, float alpha) { - Appearance a = getAppearance(c); - Decal t = a.getTexture(); - Texture tex = null; - if (t != null) { - tex = getTexture(t); - } - if (tex != null) { - gl.glMatrixMode(GL.GL_TEXTURE); - gl.glPopMatrix(); - gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); - tex.disable(gl); - } - } - - private void clearCaches(GL2 gl) { - log.debug("ClearCaches"); - for (Map.Entry e : oldTexCache.entrySet()) { - log.debug("Destroying Texture for " + e.getKey()); - if (e.getValue() != null) - e.getValue().destroy(gl); - } - oldTexCache = texCache; - texCache = new HashMap(); - } - - private Texture getTexture(Decal t) { - String imageName = t.getImage(); - - // Return the Cached value if available - if (texCache.containsKey(imageName)) - return texCache.get(imageName); - - // If the texture is in the Old Cache, save it. - if (oldTexCache.containsKey(imageName)) { - texCache.put(imageName, oldTexCache.get(imageName)); - oldTexCache.remove(imageName); - return texCache.get(imageName); - } - - // Otherwise load it. - Texture tex = null; - try { - log.debug("Loading texture " + t); - InputStream is = decalLoader.getDecal(imageName); - TextureData data = TextureIO.newTextureData(GLProfile.getDefault(), is, true, null); - tex = TextureIO.newTexture(data); - } catch (Throwable e) { - log.error("Error loading Texture", e); - } - texCache.put(imageName, tex); - - return tex; - - } - - private Appearance getAppearance(RocketComponent c) { - Appearance ret = c.getAppearance(); - if (ret == null) { - ret = Appearance.MISSING; - } - return ret; - } - - private int toEdgeMode(Decal.EdgeMode m) { - switch (m) { - case REPEAT: - return GL.GL_REPEAT; - case MIRROR: - return GL.GL_MIRRORED_REPEAT; - case CLAMP: - return GL.GL_CLAMP_TO_EDGE; - default: - return GL.GL_CLAMP_TO_EDGE; - } - } - - protected static void convertColor(Color color, float[] out) { - if (color == null) { - out[0] = 1; - out[1] = 1; - out[2] = 0; - } else { - out[0] = (float) color.getRed() / 255f; - out[1] = (float) color.getGreen() / 255f; - out[2] = (float) color.getBlue() / 255f; - } - } -} diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java index c57aa95ad..86f232896 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -1,22 +1,87 @@ package net.sf.openrocket.gui.figure3d; -import javax.media.opengl.GL2; +import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; +import javax.media.opengl.GL; +import javax.media.opengl.GL2; +import javax.media.opengl.GL2ES1; +import javax.media.opengl.GLAutoDrawable; +import javax.media.opengl.GLProfile; +import javax.media.opengl.fixedfunc.GLLightingFunc; +import javax.media.opengl.fixedfunc.GLMatrixFunc; + +import net.sf.openrocket.appearance.Appearance; +import net.sf.openrocket.appearance.Decal; +import net.sf.openrocket.document.DecalRegistry; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.rocketcomponent.RocketComponent; +import net.sf.openrocket.util.Color; + +import com.jogamp.opengl.util.texture.Texture; +import com.jogamp.opengl.util.texture.TextureData; +import com.jogamp.opengl.util.texture.TextureIO; public class RealisticRenderer extends RocketRenderer { - public RealisticRenderer(OpenRocketDocument doc) { - super(new RealisticRenderStrategy(doc)); + private final float[] colorBlack = { 0, 0, 0, 1 }; + private final float[] color = new float[4]; + + private final DecalRegistry decalLoader; + private boolean needClearCache = false; + private Map oldTexCache = new HashMap(); + private Map texCache = new HashMap(); + private float anisotrophy = 0; + + public RealisticRenderer(OpenRocketDocument document) { + this.decalLoader = document.getDecalRegistry(); } - + @Override - public void renderComponent(GL2 gl, RocketComponent c, float alpha) { - ((RealisticRenderStrategy)currentStrategy).preGeometry(gl, c, alpha); - cr.renderGeometry(gl, c); - ((RealisticRenderStrategy)currentStrategy).postGeometry(gl, c, alpha); + public void init(GLAutoDrawable drawable) { + super.init(drawable); + + oldTexCache = new HashMap(); + texCache = new HashMap(); + + GL2 gl = drawable.getGL().getGL2(); + + gl.glLightModelfv(GL2ES1.GL_LIGHT_MODEL_AMBIENT, new float[] { 0, 0, 0 }, 0); + + float amb = 0.3f; + float dif = 1.0f - amb; + float spc = 1.0f; + gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_AMBIENT, new float[] { amb, amb, amb, 1 }, 0); + gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_DIFFUSE, new float[] { dif, dif, dif, 1 }, 0); + gl.glLightfv(GLLightingFunc.GL_LIGHT1, GLLightingFunc.GL_SPECULAR, new float[] { spc, spc, spc, 1 }, 0); + + gl.glEnable(GLLightingFunc.GL_LIGHT1); + gl.glEnable(GLLightingFunc.GL_LIGHTING); + gl.glShadeModel(GLLightingFunc.GL_SMOOTH); + + gl.glEnable(GLLightingFunc.GL_NORMALIZE); + + if (gl.isExtensionAvailable("GL_EXT_texture_filter_anisotropic")) { + float a[] = new float[1]; + gl.glGetFloatv(GL.GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT, a, 0); + anisotrophy = a[0]; + } + } + + @Override + public void updateFigure() { + super.updateFigure(); + + needClearCache = true; + } + + @Override + public void dispose(GLAutoDrawable drawable) { + super.dispose(drawable); + + oldTexCache = null; + texCache = null; } - @Override public boolean isDrawn(RocketComponent c) { @@ -28,4 +93,149 @@ public class RealisticRenderer extends RocketRenderer { return false; } + @Override + public void renderComponent(GL2 gl, RocketComponent c, float alpha) { + + if (needClearCache) { + clearCaches(gl); + needClearCache = false; + } + + final Appearance a = getAppearance(c); + final Decal t = a.getTexture(); + final Texture tex = getTexture(t); + + gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); + gl.glLightModeli(GL2.GL_LIGHT_MODEL_COLOR_CONTROL, GL2.GL_SEPARATE_SPECULAR_COLOR); + + convertColor(a.getDiffuse(), color); + color[3] = alpha; + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, color, 0); + + convertColor(a.getAmbient(), color); + color[3] = alpha; + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, color, 0); + + convertColor(a.getSpecular(), color); + color[3] = alpha; + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_SPECULAR, color, 0); + gl.glMateriali(GL.GL_FRONT, GLLightingFunc.GL_SHININESS, a.getShininess()); + + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_SPECULAR, colorBlack, 0); + gl.glMateriali(GL.GL_BACK, GLLightingFunc.GL_SHININESS, 0); + + if (t != null && tex != null) { + gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR); + gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); + + tex.enable(gl); + tex.bind(gl); + gl.glMatrixMode(GL.GL_TEXTURE); + gl.glPushMatrix(); + + gl.glTranslated(-t.getCenter().x, -t.getCenter().y, 0); + gl.glRotated(57.2957795 * t.getRotation(), 0, 0, 1); + gl.glTranslated(t.getCenter().x, t.getCenter().y, 0); + + gl.glScaled(t.getScale().x, t.getScale().y, 0); + gl.glTranslated(t.getOffset().x, t.getOffset().y, 0); + + gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, toEdgeMode(t.getEdgeMode())); + gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, toEdgeMode(t.getEdgeMode())); + + gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); + + if (anisotrophy > 0) { + gl.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAX_ANISOTROPY_EXT, anisotrophy); + } + } + + cr.renderGeometry(gl, c); + + if (tex != null) { + gl.glMatrixMode(GL.GL_TEXTURE); + gl.glPopMatrix(); + gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); + tex.disable(gl); + } + } + + private void clearCaches(GL2 gl) { + log.debug("ClearCaches"); + for (Map.Entry e : oldTexCache.entrySet()) { + log.debug("Destroying Texture for " + e.getKey()); + if (e.getValue() != null) + e.getValue().destroy(gl); + } + oldTexCache = texCache; + texCache = new HashMap(); + } + + private Texture getTexture(Decal t) { + if (t == null) + return null; + + String imageName = t.getImage(); + + // Return the Cached value if available + if (texCache.containsKey(imageName)) + return texCache.get(imageName); + + // If the texture is in the Old Cache, save it. + if (oldTexCache.containsKey(imageName)) { + texCache.put(imageName, oldTexCache.get(imageName)); + oldTexCache.remove(imageName); + return texCache.get(imageName); + } + + // Otherwise load it. + Texture tex = null; + try { + log.debug("Loading texture " + t); + InputStream is = decalLoader.getDecal(imageName); + TextureData data = TextureIO.newTextureData(GLProfile.getDefault(), is, true, null); + tex = TextureIO.newTexture(data); + } catch (Throwable e) { + log.error("Error loading Texture", e); + } + texCache.put(imageName, tex); + + return tex; + + } + + private Appearance getAppearance(RocketComponent c) { + Appearance ret = c.getAppearance(); + if (ret == null) { + ret = Appearance.MISSING; + } + return ret; + } + + private int toEdgeMode(Decal.EdgeMode m) { + switch (m) { + case REPEAT: + return GL.GL_REPEAT; + case MIRROR: + return GL.GL_MIRRORED_REPEAT; + case CLAMP: + return GL.GL_CLAMP_TO_EDGE; + default: + return GL.GL_CLAMP_TO_EDGE; + } + } + + protected static void convertColor(Color color, float[] out) { + if (color == null) { + out[0] = 1; + out[1] = 1; + out[2] = 0; + } else { + out[0] = (float) color.getRed() / 255f; + out[1] = (float) color.getGreen() / 255f; + out[2] = (float) color.getBlue() / 255f; + } + } } diff --git a/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java b/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java deleted file mode 100644 index 68577a629..000000000 --- a/core/src/net/sf/openrocket/gui/figure3d/RenderStrategy.java +++ /dev/null @@ -1,27 +0,0 @@ -package net.sf.openrocket.gui.figure3d; - -import javax.media.opengl.GLAutoDrawable; - -import net.sf.openrocket.document.OpenRocketDocument; - -public abstract class RenderStrategy { - - protected final OpenRocketDocument document; - - public RenderStrategy(OpenRocketDocument document) { - this.document = document; - } - - public void updateFigure() { - - } - - public void init(GLAutoDrawable drawable) { - - } - - public void dispose(GLAutoDrawable drawable) { - - } - -} diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java index c2f4dbdb5..74be92755 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java @@ -24,55 +24,50 @@ import net.sf.openrocket.util.Coordinate; * @author Bill Kuker */ public abstract class RocketRenderer { - @SuppressWarnings("unused") - private static final LogHelper log = Application.getLogger(); - - final RenderStrategy currentStrategy; + protected static final LogHelper log = Application.getLogger(); + final ComponentRenderer cr = new ComponentRenderer(); - + private final float[] selectedEmissive = { 1, 0, 0, 1 }; private final float[] colorBlack = { 0, 0, 0, 1 }; - - protected RocketRenderer(RenderStrategy s){ - currentStrategy = s; - } - + public void init(GLAutoDrawable drawable) { cr.init(drawable); - currentStrategy.init(drawable); } - + public void dispose(GLAutoDrawable drawable) { - currentStrategy.dispose(drawable); } - + public void updateFigure() { - currentStrategy.updateFigure(); cr.updateFigure(); } - - - public RocketComponent pick(GLAutoDrawable drawable, - Configuration configuration, Point p, Set ignore) { + + public abstract void renderComponent(GL2 gl, RocketComponent c, float alpha); + + public abstract boolean isDrawn(RocketComponent c); + + public abstract boolean isDrawnTransparent(RocketComponent c); + + public RocketComponent pick(GLAutoDrawable drawable, Configuration configuration, Point p, + Set ignore) { final GL2 gl = drawable.getGL().getGL2(); gl.glEnable(GL.GL_DEPTH_TEST); - + // Store a vector of pickable parts. final Vector pickParts = new Vector(); - + for (RocketComponent c : configuration) { if (ignore != null && ignore.contains(c)) continue; - + // Encode the index of the part as a color // if index is 0x0ABC the color ends up as // 0xA0B0C000 with each nibble in the coresponding // high bits of the RG and B channels. - gl.glColor4ub((byte) ((pickParts.size() >> 4) & 0xF0), - (byte) ((pickParts.size() << 0) & 0xF0), + gl.glColor4ub((byte) ((pickParts.size() >> 4) & 0xF0), (byte) ((pickParts.size() << 0) & 0xF0), (byte) ((pickParts.size() << 4) & 0xF0), (byte) 1); pickParts.add(c); - + if (isDrawnTransparent(c)) { gl.glEnable(GL.GL_CULL_FACE); gl.glCullFace(GL.GL_FRONT); @@ -82,50 +77,46 @@ public abstract class RocketRenderer { cr.renderGeometry(gl, c); } } - + ByteBuffer bb = ByteBuffer.allocateDirect(4); - + gl.glReadPixels(p.x, p.y, 1, 1, GL.GL_RGB, GL.GL_UNSIGNED_BYTE, bb); - + final int pickColor = bb.getInt(); - final int pickIndex = ((pickColor >> 20) & 0xF00) - | ((pickColor >> 16) & 0x0F0) | ((pickColor >> 12) & 0x00F); - + final int pickIndex = ((pickColor >> 20) & 0xF00) | ((pickColor >> 16) & 0x0F0) | ((pickColor >> 12) & 0x00F); + if (pickIndex < 0 || pickIndex > pickParts.size() - 1) return null; - + return pickParts.get(pickIndex); } - - public void render(GLAutoDrawable drawable, Configuration configuration, - Set selection) { - + + public void render(GLAutoDrawable drawable, Configuration configuration, Set selection) { + if (cr == null) throw new IllegalStateException(this + " Not Initialized"); - + GL2 gl = drawable.getGL().getGL2(); - + gl.glEnable(GL.GL_DEPTH_TEST); // enables depth testing gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - - - { //Draw selection outline at nearest Z - gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_EMISSION, - selectedEmissive, 0); + + { // Draw selection outline at nearest Z + gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_EMISSION, selectedEmissive, 0); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_DIFFUSE, colorBlack, 0); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_AMBIENT, colorBlack, 0); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_SPECULAR, colorBlack, 0); gl.glLineWidth(5.0f); - + for (RocketComponent c : configuration) { - if ( selection.contains(c) ){ - //Draw as lines, set Z to nearest + if (selection.contains(c)) { + // Draw as lines, set Z to nearest gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_LINE); gl.glDepthRange(0, 0); cr.renderGeometry(gl, c); - - //Draw polygons, always passing depth test, - //setting Z to farthest + + // Draw polygons, always passing depth test, + // setting Z to farthest gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL); gl.glDepthRange(1, 1); gl.glDepthFunc(GL.GL_ALWAYS); @@ -135,10 +126,9 @@ public abstract class RocketRenderer { } } gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL); - gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_EMISSION, - colorBlack, 0); - } //done with selection outline - + gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_EMISSION, colorBlack, 0); + } // done with selection outline + // Draw all inner components for (RocketComponent c : configuration) { if (isDrawn(c)) { @@ -147,9 +137,9 @@ public abstract class RocketRenderer { } } } - + renderMotors(gl, configuration); - + // Draw Tube and Transition back faces, blended with depth test // so that they show up behind. gl.glEnable(GL.GL_CULL_FACE); @@ -162,7 +152,7 @@ public abstract class RocketRenderer { } } gl.glDisable(GL.GL_CULL_FACE); - + // Draw T&T front faces blended, without depth test gl.glEnable(GL.GL_BLEND); gl.glEnable(GL.GL_CULL_FACE); @@ -176,9 +166,9 @@ public abstract class RocketRenderer { } gl.glDisable(GL.GL_BLEND); gl.glDisable(GL.GL_CULL_FACE); - + } - + private void renderMotors(GL2 gl, Configuration configuration) { String motorID = configuration.getFlightConfigurationID(); Iterator iterator = configuration.motorIterator(); @@ -187,21 +177,15 @@ public abstract class RocketRenderer { Motor motor = mount.getMotor(motorID); double length = motor.getLength(); double radius = motor.getDiameter() / 2; - - Coordinate[] position = ((RocketComponent) mount) - .toAbsolute(new Coordinate(((RocketComponent) mount) - .getLength() + mount.getMotorOverhang() - length)); - + + Coordinate[] position = ((RocketComponent) mount).toAbsolute(new Coordinate(((RocketComponent) mount) + .getLength() + mount.getMotorOverhang() - length)); + for (int i = 0; i < position.length; i++) { cr.renderMotor(gl, position[i], length, radius); } } - + } - - public abstract void renderComponent(GL2 gl, RocketComponent c, float alpha); - public abstract boolean isDrawn(RocketComponent c); - - public abstract boolean isDrawnTransparent(RocketComponent c); } From 1a6c721add87deea9344d3e71202340bf0ef3c2d Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 12:37:29 -0500 Subject: [PATCH 04/13] Render stickers --- .../gui/figure3d/RealisticRenderer.java | 22 ++++++++++++++++++- .../gui/figure3d/RocketRenderer.java | 2 +- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java index 86f232896..ad7b27b07 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -25,6 +25,8 @@ import com.jogamp.opengl.util.texture.TextureIO; public class RealisticRenderer extends RocketRenderer { private final float[] colorBlack = { 0, 0, 0, 1 }; + private final float[] colorClear = { 0, 0, 0, 0 }; + private final float[] colorWhite = { 1, 1, 1, 1 }; private final float[] color = new float[4]; private final DecalRegistry decalLoader; @@ -130,6 +132,10 @@ public class RealisticRenderer extends RocketRenderer { gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); + if ( t.getEdgeMode() == Decal.EdgeMode.STICKER ){ + cr.renderGeometry(gl, c); + } + tex.enable(gl); tex.bind(gl); gl.glMatrixMode(GL.GL_TEXTURE); @@ -145,6 +151,18 @@ public class RealisticRenderer extends RocketRenderer { gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, toEdgeMode(t.getEdgeMode())); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, toEdgeMode(t.getEdgeMode())); + if ( t.getEdgeMode() == Decal.EdgeMode.STICKER ){ + convertColor(a.getDiffuse(), color); + gl.glTexParameterfv(GL.GL_TEXTURE_2D, GL2.GL_TEXTURE_BORDER_COLOR, colorClear, 0); + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, colorWhite, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, colorWhite, 0); + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, colorWhite, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, colorWhite, 0); + + gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); + gl.glEnable(GL.GL_BLEND); + } + gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); if (anisotrophy > 0) { @@ -195,7 +213,7 @@ public class RealisticRenderer extends RocketRenderer { try { log.debug("Loading texture " + t); InputStream is = decalLoader.getDecal(imageName); - TextureData data = TextureIO.newTextureData(GLProfile.getDefault(), is, true, null); + TextureData data = TextureIO.newTextureData(GLProfile.getDefault(), is, GL.GL_RGBA, GL.GL_RGBA, true, null); tex = TextureIO.newTexture(data); } catch (Throwable e) { log.error("Error loading Texture", e); @@ -222,6 +240,8 @@ public class RealisticRenderer extends RocketRenderer { return GL.GL_MIRRORED_REPEAT; case CLAMP: return GL.GL_CLAMP_TO_EDGE; + case STICKER: + return GL2.GL_CLAMP_TO_BORDER; default: return GL.GL_CLAMP_TO_EDGE; } diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java index 74be92755..d7ea3cf8e 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java @@ -121,7 +121,7 @@ public abstract class RocketRenderer { gl.glDepthRange(1, 1); gl.glDepthFunc(GL.GL_ALWAYS); cr.renderGeometry(gl, c); - gl.glDepthFunc(GL.GL_LESS); + gl.glDepthFunc(GL.GL_LEQUAL); gl.glDepthRange(0, 1); } } From e8bf775e56249c35d827aa8a3f58651b029a2354 Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 13:20:08 -0500 Subject: [PATCH 05/13] Be more careful w/ my depth comparisons --- .../gui/figure3d/RealisticRenderer.java | 22 ++++++++++++------- .../gui/figure3d/RocketFigure3d.java | 2 +- .../gui/figure3d/RocketRenderer.java | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java index ad7b27b07..b23cf1d33 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -129,13 +129,13 @@ public class RealisticRenderer extends RocketRenderer { gl.glMateriali(GL.GL_BACK, GLLightingFunc.GL_SHININESS, 0); if (t != null && tex != null) { - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR); - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); - if ( t.getEdgeMode() == Decal.EdgeMode.STICKER ){ cr.renderGeometry(gl, c); } + gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR); + gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); + tex.enable(gl); tex.bind(gl); gl.glMatrixMode(GL.GL_TEXTURE); @@ -161,6 +161,7 @@ public class RealisticRenderer extends RocketRenderer { gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); gl.glEnable(GL.GL_BLEND); + gl.glDepthFunc(GL.GL_LEQUAL); } gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); @@ -168,16 +169,21 @@ public class RealisticRenderer extends RocketRenderer { if (anisotrophy > 0) { gl.glTexParameterf(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAX_ANISOTROPY_EXT, anisotrophy); } - } - - cr.renderGeometry(gl, c); - - if (tex != null) { + + cr.renderGeometry(gl, c); + + if ( t.getEdgeMode() == Decal.EdgeMode.STICKER ){ + gl.glDepthFunc(GL.GL_LESS); + } + gl.glMatrixMode(GL.GL_TEXTURE); gl.glPopMatrix(); gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); tex.disable(gl); + } else { + cr.renderGeometry(gl, c); } + } private void clearCaches(GL2 gl) { diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java index b35bccf0c..9dfb98481 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java @@ -390,7 +390,7 @@ public class RocketFigure3d extends JPanel implements GLEventListener { GL2 gl = drawable.getGL().getGL2(); gl.glClearDepth(1.0f); // clear z-buffer to the farthest - gl.glDepthFunc(GL.GL_LEQUAL); // the type of depth test to do + gl.glDepthFunc(GL.GL_LESS); // the type of depth test to do float amb = 0.5f; float dif = 1.0f; diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java index d7ea3cf8e..74be92755 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java @@ -121,7 +121,7 @@ public abstract class RocketRenderer { gl.glDepthRange(1, 1); gl.glDepthFunc(GL.GL_ALWAYS); cr.renderGeometry(gl, c); - gl.glDepthFunc(GL.GL_LEQUAL); + gl.glDepthFunc(GL.GL_LESS); gl.glDepthRange(0, 1); } } From 5985dba36ab1bd4a308699e850579c511c079c98 Mon Sep 17 00:00:00 2001 From: bkuker Date: Wed, 2 Jan 2013 17:34:06 -0500 Subject: [PATCH 06/13] Stickers Example --- .../datafiles/examples/Sticker Decals.ork | Bin 0 -> 109261 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 core/resources/datafiles/examples/Sticker Decals.ork diff --git a/core/resources/datafiles/examples/Sticker Decals.ork b/core/resources/datafiles/examples/Sticker Decals.ork new file mode 100644 index 0000000000000000000000000000000000000000..4930d0129d1dbfaf3f7beccb938ebfd40b504ecb GIT binary patch literal 109261 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 z z2sS!1AE7t-+puoj-*{)e?Kj%=_bSd9GC-A-jjJ&`5gGVPGhfmE_l=fM(sG|SAAUAl zhFCyu1u+yrT^mzG%TeN7Subib!;+Ts@Z+>UL=Y^?7$5@^z_Jrd&-!mj?JhQ+!z~aTFM~`|mV$Gr>2E!mCNH_(P zIIBe+PX|jPQef1?E|AcQQ*N6SO*gLk&PN(Jt7590 z^_(&rnIwFVXnb1}{Mi|kOCCEWo@g1eYMLr>MZot=wFNzE~>Z^kj4tb#+QCFq88FY+c z)xL9sk>NP@Cd&a&`tT`X-B|g=)sgoDVvt0j7-Vh=Mi}ZaD9g}h>r$YrWkpD}@7tiG zeg-hr`6Q&(yeC(YB>wAV@$97{9W?m;*luCDcR;x6aQ@O6m-RAE zqciMcRmCS-fYU9Y%LMU;Pa!ZS~F_k z&QiE0B5ggj37bRrJTW3_g;?KsA8@-q0`dyS&>!kX$zTVe^qB8hOj2Ywjz<$!+QG60 zi4U>mXR*|tN}5QA+hFThQ57PAX_+v))8*vs21+qfQGfP!d8ZbBUgzaIe;tV|k0&f# z$L8UMq!rq!AfFWag~3XuKKYcwqH`Lg!7M-6`fXuarOE@}Mp(29{_*Lz?~9|w8}MfD zIjGRlm#i|@MQSyAE=Y2PBZ)V9Ft_oA-nL;mV1=dl$ZF-Tm0LK>^>dwmsj@P())QlRP?~S&)tF#U-vy+GmLF|^c!%$ zsCw<(%b)5WrQ^qazEpk zOgSfb{uV`v={OM)D1J3{);asJ%j86C(d10Uub2J-(d8}^9?M~Fr%FcW3tkbvz1Kdd zHFHk=C$B|gwJ(p{4Gp*suO~gum6VEkSw8*##s}=3KYmXK08y`eUZobcH>WNLJT#ZB z5|Fp#!-{(=7}Kck!Kcl>=<2etVf!aCyJCZ_%M_MOH@{hQ_kSCnBx14~SOh=DjcFT6TS2k548filBL;B}u_5<~N=#A>X*EU~ zlJZ}K{1Kd(Tp30XyJMu&g<{66tizhzl?n5JVd%8LwW5vBx2K9m_5=rwzU8oEqR$%qzYr+?G$0fhOtn}!Gn!xB3-}~nFEXz@&=z@B)v}iYgh-qqwVaE ztyVBZ82&U#3nRjaS=LkCh6=&+wCf6=1(f>f?C3c8->-Ui9hu}(Gc)ux+&kOh)vKQs zfaGWsz-wwT;1D}sc6Wz-$HZ6!UsvJ>yLZ8SdS`n4<2nYLnuZ3JzpT6-&n~2Z6xjx=4FVjX`$bfYu zpZenici(y79Q`L`sv3=&hFj=6mI+Y|p8vp4_7;Ly+;j?uJTd*mX50bDTm!KI+7a}a zD9DjOTykajh&<*@7YV*;79merT$7ewKh)wVY0jyGNUsZ7 z`pr$b9&L4pNL|)tzQ1=b<^o>tbY!q}JqsYe3<)?9?Ekq*Q_I2y*Rg;D6czi&7fw3d zD7VU;iFcK2mM?wcIa|hj*3Q|-xR_1?OZVJD2qv!FqUkHRx*v6`hne85TA9Meh z`^Q`y@xQD+!_DEi0P3}|;|4n&vBnUR#|>b$_Uy$W{lOT8VK=*PzfJ8jcj;%t%dNHT z!mqas+ts1{%U1l?Vh-a!Lj-)i8`C0VfYhJL!vnOeVrAE8b>AQH2m6n?+1JJ;`&q7O z&-U&%yY%~D8(ucT&zeE(AfWy#MW7JU6nDsHxBz3F1wH+~-A8QO4&tWG?Z9uuNrY)sDE*pI1+fSH9;an? zaB%=j$=261?lF0K525#E>6^+L@F1sGMwbR%y+E^~6F$PnJBY$<1`L5Y7G0yrA=i2w zYq(@&im{L@xs?i^RiWv2uobkFm%_9MD$80v8eDSoVcWe1$2fDahk=+E4P@g>N- z-kdOJ-$H700kJn(np6?ivE08`dqm(;)I%{sjLHtM?nvE6(r<>}?0|DKEj*!Mr~_k$LZwW*zJ1kin!m?t}S?PKnrNtbv-<`f5A#HKHDd`ETib;b;X1# zXqMoKGEduV%iy%jl(!zb@^Tvzy8)Ju-@eMT)@rDirqg?j?~L^C_K>5M=@z2>oUw1af_i2XRg_ zcCI}Sd&<^G~8x z+S~SjcXiVW;wadbHb#ndhcKlE=4-ZC(-Gf$L_sdJRiq^@ENBMIBX@w`*g)wJ2 z{S9q$x!sUGoHNtDO&<}8UH7jOMF5Plzs6UQR%MJbQt4YCNly`6uH8r9x&VXk)+F}* z9_F5ivk=mf) zZ+*o!%*<39JM3h5p^cQ&wRPFON}mHQE@?F`pr1BB``*v0aiL_o$|flJBla(BNhgpccwTa3ht>%I@L^c*L` z7`hUU3c}B)lY6h>y&6S3fm!Ha8Cd7mPgN!y2B&Rb9Q7olD7o2%No*3^cyJ7S^hsULw|_f^x) z(`6|SNifU4pXs{Nc6OvrX|@Y7t=Qvo^;d%QK_^G=myXs>srN>w07F2$zh&h%PV~Qp zGnF26!(2-Xb6cM|mfyEtYz&=m$wK**Y?SqF6BY)!fZE(OTbeW74#$Wi2gT~rWyEP* zKn4dm%hH4<#ST}q?B{r`%|EX#w~CR)InuX&Dgc}2@A_%@y&8F3YQ%p~ri&;f9}p_| zr*02vm{HdC0g(rha%UuZ#`PTa$5FG)$rIcDSehl`v4_sTX)@lbACMmCtVB zoiAC)`q zd0W(%|Ml2ZwRu3s@zvf5o5GvKX2YhMH#iH_92)g8d=<@vA>Ja-Gn$!B{;*o}ZVxM4 zowmb?9*odpM&jo}1J}{RZl1Xm1=>cUSvJ}3XFGoe`IIa)(e_1j)}_(yg3DGuKyAMX zqg?*we$fO;;l>3iF-7}q55)nK$MU+;tr53Yt7o5ld{d$?AJxztpop);!x-M>Ke>P! zfz?n7YRaFCOXf%-j!z3gJ5c;Fsx0WU_Y^g)@!7*vYz+fqdK!DPn5Nj3=JR=X?{s~i z>g!QVkZI}b5cAqLM$ccvIcdeu6dl8S17$M>oYLsWCp1Mrrg|4EpKuYEJ)Oq|m|++S zk}Of@&uFT3l|8vPNoy#12X`E4Pt&!bViL#QMpnJ7rY?lT^rKQfufK$kji2Q+1C842ec5AIfYxgMs z8dhZO>F776H|}36=>K}~_6lCfggC( zXnQYqty*d{P*zfd&=NdreN6Si(5dH{?;0+22gzd3TWRgJIAY?RR1^B?=7%2@PF?uU zj)F*5HMYFl)WTH#@@n>)&*JX7P+L{qLKP+e=e!#r;Q$sq6+fb_oW9;wx?rf2s;qNO zXH`cR+1MSOPXSI)dci{M#5O?=p()ez5($z5IRTbsY1CmG8-j!UZ;}em_Mi^=f7tsa z5LF+FJIuO)&*8U1P;xuy@`39^Nup}H+r4yN-H%m^`GRf;?_8i^+F?^WU1^mr=5T?u zm{TjTeIXu(y_|h5K2J&-#6%c}FRn9`NMS90XNoOuGaIPpUzt>y~tW1Gl@eU7THe`AkK z$X^jBveX!H5mXEr`mjv_-ei`6S%wI+oL@8Wmxoza0pKDMbH=~ZnYK(Yiv0BgUjbVZ ztT=mpS;{gWQFq+V(BkLOGippn9zFiMP1?tNfl;C8L;XfU%zKFZUYumzDR2~ypCv*a zZ=X5Jf>k!ZKJQm}rYWCXIf*du^qxj_QCytzubm-L>ABUjMYX`#>5zRVgP-=#F%vJR zT|W}D`9>ww@tR2n_VXRYVJ80yDZ1pUvCF0vfwVlFI#WF8JN8&!&!1+hS5L569w@wb z?^Pgn1JUePH?mu4toC36tj|I+TA7wev#}TzRuFBhfhO21weTWWs=oQbLa)~y`H0mm zYZ046S~CKjVHXUo;6+P1IXPqZZ$<0BS8texL{-I%!%ncAnL2Rv$Fj6K5+x%Ze3Vw2 zM%hR>f~frVgQpGR3H0m|zg@9Jddmxb9Z;ZnuPxfD(GLT z3fkpSk>59ydOl|yhZclkUm!*`#g3i5oPGr$vEQNa9do_XOIkf*q{F^TIy z?_q_~bj_({YmzkQZq)u3L9#-IRRbfNG_*$~Y0UHFsHb;B9T)I8%nEhw5t2UKim@`c%BV@k;_O;3 z;LeN>Pn^61YsL&oecjRRC5)-}L*G<{OIrUO2t>EAwG|#$Ub}JVao&_<7Skix-$<94QVF zBBhG+H{70G z&7ZZJbKY?9c#;XO2eej1b*FnWL}{Gd;N<3^K}l}e>mX27HpF43p5wyq7-S^MKB_z-6tB@OX`Btj%PK%@js zl66`aC%wipE=Fwh?w)Ci>kVc=J3;RU{7H}lE0y;%8JDa_14ElDF-MoBRKs>T7&!@B zg-S2)yE&nxSz+1+uVONqFVl7&8ab1J0*I;3$mfx5iR3f^rxtu&fuUVeZ~ZU90e!Wf zBIgs1M!LLIr~ICSixR>f-k06C_pSKnc01QArvsD+V=tbJ{Vb|~`sBm9ZGXPUWy*L& zq@%Ke61Ue>$!ZyF0QisGeBlkP?F^PzCPk}+nhmeW)lG1I4sGmOFl(@}mR$&tA| z8Bb~!H)yh5k)X#sG>w~Y zZf~6>$HwaKO`CfMko*(EOy)GJ$=CH1OCLOLH~N_kIJWcGK0x;F3Ky_%ksSxQjh^~Q z7Dmz6-GE)G2moSe4YfRgfTM7_ffYqLsB;b>w<*7>)sc@>o@VG`1eNE zWfkb!Nk4i`{p)F$={th5pZi-Kl}PUq?!m&3L!O)h0nB zA=&l?hGZx4Sm<*f*AmS|o!wykkL5R;y%dQX79DGL_bU^m&F=G`Zx6-;UOnhD8sBw9 zwd>>Na=8Ez+zpX9w0Mm8B}xQX!-|&Gb<7W}NmHmLNkas6ib!?TAD+^9BcQ^wpsJM` zXes==2O|CFpfN?d5qU{J%H{Ck9mo)R&4Py&KRX+Bn+w>(D_dMZ&k#dNqKG>6*(tYS zpxD(9#~)Gv^&G8s{fV}wmLlc zp)jRv^GnjVFE1Rz4|jeIc>QMKurT_-AM5Ifo z2?Ej+YJilR_xrwc&i(P8yKY(c&$r$mS!>oXduGqx&&+-{$;@EW(0)Vq4xWLePLbiJ z^{d(Mc4v8plDrE&Y5eBq`Os1At1OMhyrYldMyW1j-uyK4*$Ctlc@U0d*=5hGN3f??^w+xy%@V zP$m=azWikexHk!*`o#v{YrT-;JJD!vNFFmjPOY@uo1_1r$AQU^lxX?n{XO242 z`lw{w0U{@Wy=hf2pefAMNcyTbpQb&0qGK2CCr>gZ`4j{rtzs{}}lnBme(l zWS?b_KpZe>L#BA#Dqq2)C&W-Oz^JiaFW;@AF!Q|>?R5sWB+((!JMBl$15eFHNCCcd zAH7V-X8^wH4AJYPHcNMI84C`rsdcaOFwMpnhVut42H?mms4+bHz=8F0PQ?HH%eiiE zNVw<Yj=jF~N{Tl{J(uu4Q0jdxHgW z6u;5sd}X41DNr>%*cTSe8KINtf5h)+tNi-AoL=5B4Qyh%53L7*rn9LZ0uYM3uZI`_ zw>6tNb{@pLIaQ(B4hP{7OH{W*B zSp@F(7%!BM?hoN=kwfZH%;|EOgzmT<%<*Z;V(VTufNWY!=*6tkoDW+wD)I|F?SDi- ziz1UlB{?2!hX|XPhj7Ud4^7f-h7?@W!J|9E(5AJjOD|qkxy4<>h>!6^T`dclOI~+) zRY@)Mt4MDAcyT=Mdv`lgls)?F0(a*_vT1^hE#h8#JJ$)8Z_rwe5jWXlS%)-LlWXhv z06mSZLf$uC6IJkX{@C5|ovo<=&_mR0BaTDsCTWY#s!aB_8TFqE>2wyNH0L4=m=JpI zF9Nf!AG_pz8W91GGtIm^AlaO33uzA%B742YEa?ENUQF71?5fuAtMZQqB=OI5Bl-3X z@7sizxyYTK4R<-J^d%xi^bEQ&vNKp9mM%-ZP416Gvd!WIC{>nZV04(E?Q#R8eS+hW zOHmSw$3aJ0isK)9laZcKT_BhJq=T`4o`?SSFX(lFr=chT*l_q+6*75dO%ba)SWKM~AmqExI21ezQQ?w-4sp zm#eU->tYN4k+Z8{eo`e7op(XKjU7$w$P`}_9s zDlgXiGeRc9{+kPSt_f+@z-vZAKPo@Sop-g#MMMzCI=p!iY+rC}Sd75(9-1>uSO@cT z7IosBHIUOII0{$fsZmi|R*=Hl4G%3}-phE?TfE%R6dXyLe#eRa*rPU3T`tqr`-AA1 zT@ds<%6@q$QvJspGG9G!$)TFjoqPF`8Ik(5DX-*~UBf!##ZyDvq zHQrBWZ9kL_8wQ@lx#42Nq)6#q+P4Uc9U{s%NTwAG0O=XkBIDr4;JP;}CH+QC)tEx= z2vwLE7pLjg&^U+{(RXlwTYMw)r9~FYE_G8k-4b4BpZl=smgw&OyyNrBiqw}Vb*{IbOxF+np)z} z@Gbq7XPSk>@==2f*?>Ba^_;X#-n7w8SR8a(qnPM@cDY5KtoRaXMHK#pQQ6>K$w+_c zA2(7vwEflFKPzB2)W$qj9{zD~yVp8xc^TT7_728ZUWbw##S3y@b5;;0B<*-rTwi|s z)~elR_i0Xv1(@efjw4n;W1zFbI@zXqx^}Q+*k8Qb+8AX8+`MYkBX#7a_%i^&7XbhO zw!5xqvLCrq^nJ4XQtp+rH3KomM`LwMT`$&g-}sJjYV0y%75b9U?iv}TbMJ$yCdu}U zL4oo%W@sYm7msx<0}yV#gsLs78n&^ir{yY8#m(XiX6U>fqb9ROS~ur?KVPAALj6A& z0MouXoB1h3^7!4~H+Pq$9{YR=6>weFn1fAGvy+p|M;XtM7_c~h8w=WxvmoFzPDBIPO~_x2E6 z4Enon*!?wM*~2u=80W>u_P3UfSh6nXTOE@va+NT0B8-BPeTC;4fF$Ut)F-aC?<9`P zs46>gy=XG4KnQf|h?3D!>s?tyFbgchAO;Bv`)r_AHP!?w(kuBhW^=|d@3r$yC`#B! zBJXua?b$1l+1iK4nu)^6r(9cq9 zS_AIU3`N3bb^P!Om77+mBZI(nfrPHjMBzA_G>P6Ul;Gt#BDe!)_j~Btp*KHb%sIkx z3?7vAe}$Gq7lBFe&Bd^903E9`9GxCgZ{dr_Pk9HVFNEVYqOek=tSkAWC?Wi zKWm6;B%+RhfzjA0-IcZ{h)k!U`(&vIfA3WmY8?Dnm)XQ09c2>zlh&;QJD5gDCoIqN ziG#_N!8HaT)ms43*r}sUR%o146rvaGj zbm-LiC6K#QT(^~t$K4GYIf2VXT2tbf8_5yG1mRKA9Eax+0n_1-#mUT-bxvNFy&km_ z>cGTlLtz+#+$alJTnNB_yE5@UC_dRJEBu0(*}@eiSzpV`U9e)3K!gg@5IWaM-t7zk3qG{A zQ&fj6`h0eS6Ms(EAfybDX z(`)zVHDWdN#PcT8$VQTBu{0I+p-M-*>Ka^S0PdDQbvUuEen0;iYnhw-X{J_A$<|4n zg5mKltlv+4?f+JzZuMHw%dtmT@>eZD%;UFuKpJ;hvZia0*OzNXk@Aw)ZT;KYnPnXw z(ng!&X~YCEsUyMr?ub{DI!AxRHEr=fX&MTcAdk^q_x4~+Ja&WApxoB8RHbnYUZEC_=+#*Ex948VO*46xdt0a)$+h;&QP(mOu@4d&`Fo_I76b_OxgSqb)e5HgE9 zN!iC+&Cz$Q<@~TByllgtLvmsLM4c9k z`a{zvMi*R<@}=^9;X1x3Xf?d`@D5M99<(Gglwc@(a8eEQ1@{g0v0SsLpm17J3A%^|Kz$Qja|>*T3yzmzVJ&OLcE#{r7B zOg7mCVT~6*I?UfT5;cIo))Pt(a_}MxDf3xKrD?T^yE-+Me#U(2eX{eU?yf3-X`%E$ zKC6P?Y;l)YhS{Q-$po5+ox*rUDFwbMn84Od<129G%^|T?-;(6Tll706J-@z$G353jCu1PZAQkOsC^G^23;M$qnv9X^Z25{ z+f3WK*<$wA%EI_pEZUYrgK3IfF&#t_Z^5)8+vfxS%ScuNZiBy+aWI6wpUODi>P4!2;@HDB2Nm0$pl z|0LV2sUMnBZPBejF8XDpG1+RbeTEYzluFO>z6L(^k(9pc-3~gHKh?MXk?74s!I_eI ztME%gj|;479C{+N;xRsOsza5``iXRe75sUw`}ix7X};GLR%g!K+CO3Y;5lF&qf72* z;vIK(wMih4GSem0{n9TfYMN&V$ug@gw6ORnk^p9d-rGL|#Y-l!KUo@;T>RdMwrs*y z*EWr9c+HrTc{3{V9yOx7iI2mPHzRYyi(eMrc>~k6jm`eHGk;ok(;~$tK3~?^bSZDl zp!rVkpm@;8)OCJ(KuV#^jJ2V0lks`AQEfmo^ za!(+I0wG$b6d-j*R;gejiXGA3ikGZKHmpZr5HQ10__e%2Md~fWnuC2jbT=?PIIEeK zfFW5bSsgW!xg_~@*O)!;;)QT`mMhbMwjLLGY|X&S2WR1Ce^6}9#6^!HJ14K%%>b|> zA>|ZcXNKi<)qsYUBtL#5zuu7q6%he*Y?kB@ww%lAx$CEqZ70tk48Yyt?HJCuAedxw z&d+^nvRATEKFd)O4_M^+X4=h#Z>dY^t-)q-;b=>vgqc1%j@amJ7Z^u@A z?K?LW>79l%MS1l9;u#eraCXqbv(6280R>|9<}#c>VS;2&!avo|V@UYi>> znanD3BG4UdYKE8e>#M53*wB21mGO=R-cMFf-aa<5>QC$lVZUClX<0;E{Faqr9q-WS zsjV20(xtPRTCs2LJMbqfZ6h=U_B-rB!Y|=x)))8z>+Sbl-H)khxgWd08U1{kdYNPs zLl>ulDWRm5R^uYBa})-kJM1jUJ#xCW<9a_4e0C+E!8^JyFAcWPtBviOwBdhrJHr@W zIe8AAJ>2*t;ThXe!N=?^w#nXC-%?A@#9j~3jYefJo!1M}ce|JbC2bI;62iC<-G*ca zpuIV4rEU5eX~mP964H_3dyAHzGv%q_KbomRdogyVXE#)T*hzad1;zfvX(|1VWTO6? zlTM%gB;-^O=D)30%(G<7OZhGjy;) zk6c9CWlVWt%H+m6&}XsdydI5RBxTW)-AB^*nRtvyMk+H|g?A@zylVF?$slopDA1}H zk7L;ZaZzrW4Pdv3nB(KH>@#CF_eM6FG$pb|79!oeiB4>tcqL<(LcE@TNlkj$@}3gJ zC~tWVOn;2!&}RUwhp{3qR!t2fDkjd$n}-&|SlQCjDbs_4eLSpjqVJ9oea1g1)OXWq zIq>>*<=)UBxvHuTS81nSsx2kqdb=XULcsaz*hULqVZ6M~1v`o)18^^6%W#0|27OSn zbjpcDdf(g?txZoUb9C?|*_wz{lxkPJ_77r@zCHM`igG^pnM?A5;N2flN-CduON>{Z z6q|07MMq#7MktOpYftL*@;r9t>X6p${Bs8BIc9-F{<%(%8z(IKa|2>VzVvp9@ZP=M z$k$MOF;fBU_f;JE%Fv~?=*yR5KV3GdOTJ(!FQcAcA9>x?@evpGgD&nMQ#KoD|ZJ;PFhxW8L48ZI&2A~q$1sRXt z^`WCr&JMhglDexfDH~R9--EaoL zGFx7Ut#oDOEu3F)v8mymJyd&}$x&+2pHbd13_x|7#?~Atx;r8nw2+Fq9}>oQP|jSN zJE!P^!n>E$mkuw|`w;zV-L2@8Jn=5YJ1hNw^ESV3shy{z!MAp3+Uj)0?@CQI6%P_h zlRL6Dn=V%%)1AsSR0N50x|9TL? zSUUlA%keM_LPKHp&%ggy0X=@soyJB&QDlJB==8;@XsQ870Q9Gs=mc7RV9|RxZG2Eq zWm1y=(j}10vAFtx0nh{OzGeX0dI@_tnt8tqDXnBb`T zHMXtNU(3up#|{{P*FFEIBJFh=>L>0LGZKDe0KNu=h5kZyJS9J+$4yHN(F^#raLvDQ zrRaXezwLG4zZh4A#_@D*AGJfr{r3HL0p;q3-d1G7dA10(DGEUc{Nu5IJob;r{_)s9 z9{a~*|9I>lkNxAZ|D8QHh^DCS?J5c~0CAazMrT5`U?d8#pU!70@GFI~fcu#JFK%yZ zQNabd$F(w{GmLVXPfwys5v($jeF}Mp;!GZ=EG=TD-7UH{_+>4!WSRmy{H2Fq6b~0_ zwdE!lnkp#0NLP99nw6Kmge~uCJri}AXcn2EdnCKPaR1=xl02_XL6}3JHw|NE)TsQ=6BQ(e8r7=RZ|63nE;N~iFDU7;Etdl_D${xFzeW)xZyZgid# zkZ|N|+E>ZISQYbgc}ah+d0lNVPpNElws*)K@j6&FrL`P}J(k_*|8>iX_H0ATo9j6P z;LQa<-emS|(UFl~=>ZgI5uxDhKc%O{muoo- z4_D9A2Y^RjeR&nI4wS}Ej6GSYCfTC=)`X+3D1S-D|5(^v*EALmQc%Qr$vw`gisEmC zEi^ZTkFpsf0CiCB^+$C{tGhGuWo1?8X6+s-Wy|%le^xuM>%a0~Fg~R?Ix`Z1!G0ZD z0K=|j?c#~Zfj1&4alzAl4yGA3*rjDuzB`p?h0bz#$W8yIs?p!YHGXcLYF0pfOzMxm zpVS>3oroelT*|;i%4yN=jB>Gi){rHdG@NsNr0a*@CVQ!{vDrx_NJKsa9c3o62B6t& z9LW$B8C=+b!_Vzj4eN;&M ztc*@V&0-h;QJg!3B3-yDMcUZ?L}4pKQ^24{V3AucWOqXM%g&ZevH)Q*g0AQ=P6^nA zoP`FYO!Yi1FqkVB`%;7FZ_aO~zb=x@50Lk|SRWoLgFDjuP;;RyHN$x#&v-aM3sjjk3sC!O&r&O#zb!1DBTkAJzDwPx|-ZJL(dA8+vn zc=>3dH@B0~?{`0px}|a|Mo!UE&&w=+xW~)+{;A=SwkY!oz+|MZQjNNK?49CMGG=zE zh8K+hLQf|4V&G*J->d@pHz&UNTTSZtsCn$}S#2r*7@+a#XXYC{c+*^1d1pjIG3?$Q z)kRQ=xXzr;tnr2OSLI5qIv!8d>a(1A+-tC)HZIpC8{eUocB8$IW3%uAd$BeB z!mXn$UoJ$khFQGw{jhWV=v7ntO0mE>-*LNZnG2Nx_L}7?c-n?<)Amq7#@Y~us!o$e zwW^@p`zc}uYdx?$qzWaDuo1%moJ2uG(`vR5iWZb^|5H&~p@DJ_I2PNTd=Cw4LmHb+ z5fut+NUow|L`~asABViCR_=u}D?SW>Lpu61aCIm2@KWa?R}aBBf^-CV3P#%TyIN$3 zFUxRiBCniXF)5Gaz8;hG@*$X~r(FBfmVa0F)>oj%IFNLUiB&I(!)%gp*kl-h5<|AJ z|A~|$1@5{G_~Y=`i8irF3luaDfx1;m((cR?u&XHbvak{6p`xxM-14SjlXA&p z#67|?)Cy@n%H3U58(}`~dX>)8W#!0R_yK$Ekg;%o#WW>g&=7;(Z<$Tj z&50Oz$o=x!a?Vw)D$_IWtWp_vy3ZGk#MWI7l9(gCpg0g90QwY;Tg#g?<~WEnCYA0c zgo^E^P~3<(wq$A^J4DB8<#C-IZrJ+D&G1vuNJ&>)%Lraqn?caXTf+E zbakX%m)0Mq!hkl`zh;0WO;N%U%mf^>1 zVojNp8xmm_pOwnkxR1FVU6Z*Uwb=`NTbWfa^?LzVIzth6UpscFfoi>iy00i4HiQGJ zyqe)=06e+Qc`75XQd|fNl}(f+@~JO47X9MczLO3dN}H}G!Uj55(z~H3qC9jJsR=JM zaM4nBoHp_HoXPT8=MvW9h28f-l=zeRK1N1yaj1uAnU{>rnM-fxr7JJOFPCmz=S{{( z*3*7x+}R5lvTVQ>w0M^oY+R@Ea?x4#4!Occ?)_l^gmAE)iY84s>1kU=LL6lQC{p`; z^;!~3UrBq>C-TXUp~7sXA)${RIbBta3h6VdrX1@HC_%mGpUAbPh1+x$&u;v>)e1Vp z01!Ax^J~LGNnKnqqADXhK~2bas$@L^kPTvQYxLodHT_=Q=V9y-pO6x}o?}xU_`3_n zespv-m?G`I%4AU|5^1mKI`pqCa)WX$r^5zOXQ({H)AaLH6|&9CoZ+VHbGUN|UymjW z(keo@YwW=5x#Y)UCf&RF@efNm1!XzpmlY;)-Q44fC*CtNjV_*-XzQA+`PDUXo}E0| z?Q<@6K{i+Uob|nB$wWg}4&K*a?|ys}9r`79OYNA<_ae)#2UT*`3XzUAPYTbsJoV-f z9F7ee<&+=F491&z$@JM7IhIgMj5;OJ5K_^fh6+5jMi4B{0IZfg`%TilR8oPeEBP2K z^E_7C=y)=~G5N`nFXzv*CnI`}iN6OJNnM*2lRNYE_6Nz|G697dBu|!KWnaw~|z!wo<$S0OK(HUT4vwK#&2w#)= z5vs4P3+_Fed{UoNN&jggrC&so?1XCv17HjQf7nF|8zDWC&$|gs7U&cLKG)LpZV`yV zf_W&3Gqf1Bke7`NoQ1O*bMJr^ud072I9Qr^Celozoai9xrUTLN%)`F zwS|YFTKP~e382myfiMj{vSfc(w&sY|En*TY@&ZY*14k*+x>X8mXr3SYMZHS6<$)t5 zQFQt(>op#(1m}O(;7>U3vxI^-4CC9{7=T|4fCrEw-@Tf}+`Tuk6!4)Wm6L=WTNA>a z*an|Ks*+ni5+K}52cXEme$8+ks_J|uBm{h>-=*9EQPmZ2Z^>@huhHVc$ECf`J%!6H zGL^%|4vO<=ssN-51pvW;QJ^XVD(|UXPcl3y?piOb6!Q$lzrA}CJ_kCwe2`!8aSk1= zp_tHg#U5_aevnlJj#ZT}a+1Ttx3u%KBSTPm%T?e|im5@myK?`P5pv!8362-vKZ|w} z3DWw_s7D*d6Gl27()w48v&47Is-Oyc<{6PWxeB+@ve2UGo{hqC+;_Tv%f%IE?y)8p zqLT$-FG4{_gra;8_x6t{XERwem$-IIZ_pZ4g}3+278{n|9{10(x@ed|Kj4tMT~*(> zY!IDGcU8ZViehqR+Ok=MITU}$b64_T_q;hl=K^Qa)! zq0jq^efjk3M=c=IB+#ucXuVvoqCRiw@+KnAXsG-Sq?e|HMABkG?l`>S?vqcnR2?yd z{T7{fH?k0+(cT{H9j$V%+Qhy63Q{w+YpC7aqk(8};ZwuVcCT%9WU?*(R$+e#PnCG3 z5{hSrq|3oZfP{lQHeNz%K;1Y#51nI_TZam&ZK8D2^n0bcfzyw`c!t4V|)FNvQ@ zoiQ6xQDjH8g$CvZhw@>|#%eihP)+DlpxHSFVBCNRSvyjWR3MLqBP~ct z1eLXsf|yyZ1X0Bid4)3n1XIF%41}ooqHK+w0pQvWwO1#a@ULN$_^@r)lwfE74DQFB znsu~Ebq8y9pdLM}y6Y?;=To+9>I>tr5AaQ3G1|IwM*}aAY(2S_Yo3u;KP)DdTeCje zIFwIKYC}_`qucwLp>%b?rvfQLOKsAe>yKwWqImNe-! z{_D%MDwz{~O=-M8Z%HE(9bL`#0_Nn>F`E9fCVM9GNF4k7_s@cqxS#$o%2dAE^Sk$O z=m!IkDcRCY!|9w@nyIQ?3n8x%yq;@kZ9FT}f?bc*5rRN%d^`h$Fzw!=#pLw%xI=BP zZ${<*ahIDemO_J(2U)3vY!hpi^1%>9rpNy2aF*jIF1#;!Uvy!UH~dSH7Q6CM4Q|<8 zh4bwtcGjXOyUvIC=I^Cs>c)*mec!uC=l8jP%N&sK+MOh3E)9S~5KX&7SL6NGZzExZ`U;rLPAF46{%kM}|q2bM^exhV3%&d2P6?EVG*9*Qcph~G#{1GV( z)ed)(Q*Hf9Xv5ZEOY7EY`dJ1b6iAoEz4Gz#>3X;^#^c=IV+mbZt_jX=NDh{NoDyI% zuHv`dT!G!(l*q~1;@UHyZKEg|TJ5xf|0!DEM#nv604~|fC|+Rz{7^GYWnyx_gQkFc z%oaosHVmkq$t>mh1m2<=KpVLXK*zuWa6RdeNomN}PK==^8Gx^8v2p*A`1c@3SNhjc zzm4_u{?k4v`Y@M%0HT^4@n75n{TG#!4>B+;O$% z2j&?7j-etaC;5t1j9$at9eu(`Wn|G7Exc7E=`E!N99&;ITM`XNSV>t+C?ooFR= z+%X1V=e-Ws*l#tUAJ3NN12d~^-G~kK7`}X~e%94+sq-;6R1U~YF2;-xZz|{`5Xf@| z;NS=F)XL_0(bHCUQ+0C;=Q2PV>Mu$*zbyZB?Ck2Qt&jDXGGae10Xry+tf=!AONQO8 zI$iHT!TED&!WQ~vYRQEwihW1eIgh@7e|#p=d`=?w_3QW1H%@zev|HzU&cXW3Hf$Ct z!wk9sIA#EtjYA1D05Hn76`FVg)1@s;aT#QiLsoyFMPlh7?6uZt@LETlJJfwHR61aKYO2H&ub;__^G-j!KR{=rN|H9( zhDge{D1ihK&Dnj@`e(u^3Y5tUN1acI@{c9^jaDmC48(30s%8}_4kXSu#rnA@r(!dU#uOtv z?H%V*aNFX(8qcdP?dbcQYL3aa6T+Q>iutE1wy{n@oX4507Ytv{S_YfDk zn(O$`VVfG8d*{l%(0e&(?SvRIEsm!K{Ip{AP-lse%!r z_b~vKg{wCYRVbLbnP@M6AUk4=Xb?kZrv!sfBc(>1kJE>%2K^lRF7cCX;y>hWIW|@zDt59{BQ}|7n^Q!kg$VbNh5G;2QG)4?w zh}B^(n!d#>Lh;5oHq9L^76`)*Pb641pD}3OE%n; zi+3*kJffm4@70x3?5P2ssGe98U0tfJ<;Ot>H>Oz@D(m%JIM(Xxsw>~%m(M!=`j+-- z!VwRKv!89(kKMJj%vtI&x14;R%c+Ox5ht#vVnbREk_8Q8qrs9A9wXtGkE%Hx(cY0FErsEy~V>hbDN9OAx^Tbc%|S45F&v&OG%Ly+}5# z%3HFx&SKFEG>&_Rc^~wt`{~(RyVZ}_xohcXsD`K)kTY7KxegMzz5nGWk1?181Mr+K zO))kl7e3cAF6_AiTa&f_>D{&rWs5Ws zMZ3>uOgs*Z(x#2jzv~KL%Klb!kBx#@W7Y3voqI^QTz9Wjt*FgP?0Z&bunK=_86NJu z)N1Mz2M>lcO!scpey2YH&DKCZpNu@@p%0)q{Q8eVSG-9R-RL7>z|Neh%vzCl%a6iKZ0v7fvsm_>_XZb8pHgR9^~OhgZL)MqSmsNj(}i!vJ7szJTyto&5y# z_|x5cl$(cYNdBKYMrdQ)&zAEP7ck}X+`9|9a#%DsEX^7mNNCo&IbTS<6fC}4W3GGy zPycX{yO;RnI?uzWp1e=|pYWAx$+@xaCu#AD%v@7{Uyv`823-=!pTG|I|7qh+&37HF z44j&<@(&!UU1k8ZT!wdqVa98!WA}#Tt7-ah4Y+O>es>w)Z=P-lHAPG2x}A^neky^% zdx^4SOEkvb{v`c`2W2L-fEU2f})mJ-YgP$RR zzTy;$i~HOj6q*!6j34B6KglqOujP`@&fFarh2OBdB}stu=Uz+P`!rE)q|_tl(rfS~ z?@RStR+m5{NkhmF8xN~Wx5!5)iNxtES0%n~oe{m8EWO1B+s>r3>>NVE`hiu8u_^69 ztoQ0W($n2UifrlfCudK5R~2cfO{2flJ9@}up{(IYOv%jBLohG2=$WH2fx{Cy+1juN z9$A|@QT_hys@`Ks?s7*3;EK)&j z2UGc?nbDkNob)S0c!rN^MN8CSr+Ux|b*?f1UWoqo>~m;B_Dh8(t1_daJ1VI2l*29y zs0B7HwxO?MFJld_P+s8~Sj!eCdH7)1V$-pzgY{ST#jfr{RV;!?FOO=!&r8hLEf>#K z$LHmq=nE)Ra7~wK3>HypYx5ggH1ip${l1YCD&RkkZY}t;do5hg&-$ujda~D8%97oj~Me~Z{8)spg@s3>AIyAjRIJ2|nwIb*Fjb}i{bgl4O#@X&`q zhftvI&+W=j*ycPvdHD^0b$^pPwin~4ou?hodAV-gzXDi!2AJiHI3IZgwUKJ}3n078 z8c=%rN50@tvHxMceOTYP>X73%8jpQJN^_##qvZH%d*@Ma_%>>cpwhHCZhWHiMUvZ7 zxSZ02vwh=)Grn4Bgq=f>CP15nd-`j8+O}=mwx?~|wr$(CZFf)Gwr%X}Z4bNqzj>*u zdqq@4W#*H+33$50)((8XbwLdZ<=(x4r0;M_#lBu&Rgbl_uoz)6vfZ>Cvt!p9uR@di zv+6|NMXQ$xgUW=6ciEnT-*Z&vbpOP@y(vE2lUG7(O;3DyblL=cS?)S#pXnzjiuZ&Xq* z^Q~zd*nB2hd>NvYq!GARvnl1EQ&RZ`ixXN~%cTOI%YG28YhrU6-rFRpnR@PXr>wiiA{$!c;;%NoP3+(}6FW%@kal%Gj#2Obwm zDX3|^SCoV{o=vRt911z8@+2-Hp|hDV7(wIRwRRG^k)36`AR>)+VFPTl3dufEgtyNmJK;bNOHH1 zc%PPzp;vXAXkNrM-P*@ke%hglOYygd`pvjquA%inbn^eC`&(X_{_QpKD&siOxd$I| zw?0ql?+hq8=e!Q5n22i5o{S5Ktmr=H^3~%+O!7Vk@H;|rXh{|Mdm_@c-z=-uaUHV8 zQiYi@gmbSKun;@e*IZwY=Fo`|TgyVq@<^n-;&_j<%eVr4sEFwJI*nPGS%(U#;Tk1| zod5+QvGIJGy<3e08GOtbaDfZFMQ3G{2#=SUtDy^f43fC7mvD@c=+dFTwf8e!IQ$i^ zur=@3Y2C`z%j6a zbjaLha&!U@2)!y%5Ej=WRk$uo!@#Ys3}W#H|LJ?DR1~x37jmldllek*^RsOH7s&ZK zMa0E+s?Y9l29Ki%dtw7(6Cn8?#Zb}Cj_-PQRe?W!H$$eZ35w6P zmDZ3NQG=&`3M&u^l;shp=e>?c)2(=eEHE&CJ=y46;a$6>*?WAaX?Y+UN~CMV^;R8# z-bK2l1_pA|hJ06(&B)<4uQ1wjNb}GTxit}*oUtZkb!K)Sli&g|c*_=YgEHXAx^sSe zPlE-}=eVG(+w~Ur^hk_Bd-IAMq|$73x_@smF_<1rY(s?JjNl1nM1wl?U>0Kl3qiQI8oPi(LJxz+v}aUn&lZ zBM7RR`PWpRWMAIm(_#!kcOT}(#s-)(ApvLuMdDj=`(n?827zTPZ$EA}<{|`s6Vu^) z9Qz7r=g2Q=3yUyW2F>j|V7TU7Pv_b&P^(YhVzN|(^L{mnNiP3FvdCU-tUnC+xR4cB zt|YZ<&2%`VM`oA?I^{gWYdMhhhnP_oumMd>r(H>rOMZ!U%3`_6!%$%##(?^LFE z$*+SBY1!8)^z1v`G2g$-P$N+vMmCu=+&;pOo<;XUX=(8W#7!Zv>)XkT+<@2nZ?X}l zzlr=l{e2A~l2Z3~1PJ2Dkds}R41(#erDjAsm0ba(=|{ywvD3kAKP^%DaqjK;3b*V* zdi!?WXmaamxUT#Q=%+<>YV_WEZF;RV6BfCw$2^a;Cw_ruZDN8 z+7ANeMgKy%I{#$X8DwXlSAA!thlmG#nvo%egW+P1yR&tIg{bai$ajkSFHf@A^6?{Y zY5m{dMb4jBCu1(sKke$Bj)wA+U*g`n#Z>QEKu=0WEUi!M5@s-%_6 zNS>ue8-XMvI`5TmbZ~?u5K4;H`U66(Y@W=iaQuILT3$jY4r#%*RJv2w-9LK{B$C#J56mc$73QaZix2D$*RT_e9R+$uOb* ziOHqqX0{AG^~|l>M<%Wcp%C?w?51Q7S3Sj_aDpb*Na~^XjknBs*&hDxE;hu){iBn! z+>J8^l$8vH6<~D{QvdOyG)Vph!@r*761e7D-ntg?7h15I{9ne1jV68b19=N001o1) zU>n1e7pi2-I+vW=3G9fCx5)o~!klnwalov^BgzE~hu}Wx7f=g16VOAmUM*W$Z>?N0 z;xr7LN25GnHNUct#g+U`|LMN2_pH^$@3cXEzXupU4Rj-7l+?(=A+u`}dLRyN;#8=` zO&zod&Bi9yw8xjFwij1gCLk9%2JoujDHhH|7lfdOTq7WZONorfR2h8E9c+}=s#Q;U zjgOxR^1h$dA$>=%sa#$^ z(^-Z1+yS#|n@4p-YU)S6A`C50G0 z&Z`!txLli=*Ol7G#Lc_@u1u*hP*L^G~$7za2-3Zp0JP|LZX%e!WX2nq*=)A z=ziiLfIK&ZRtdTf@Qok64?L@%z$@RnFZh-p*Z!7|UWTszp}KG(0##6!4^J?75gK8_ z;I6)f>BBU-jjv7-3r9mv_4BNBl+x8$ci7blq{2PBvSIOHF#*s!AXedGD~jXG;9i9c zt3ii`R+pnj#|dRAGmeY6$msUP>783A^$e%CG-P7%Nwq-HutL=Jr3q7_As#g7>7_SZ zQ~`y|ER`=s-J61JV>5jfWPJOf7PBJdTe%tz<@{0d+M}1BMz;3vle5@J{`nc0o+yq{ zeh-w2WXaKP%_;Z=ZM5mF{lfI-D-IoBl~d9hnUo^= zWP>^dnkbB>_R^C)A;JeB3b@-|@(Q$2r}C3N7&KK+yXI#c3ah%Q2CWWGt#UY>3~iis zdwh;Apl&9G5*@3!dz;1WCVQ{tExcU94tk29t)vLx8QO=40tW;mg_>T(aW()NXU}nO zJsb)Z1`g*$>=k_;)Ke0PZ(2%KfRvskyp3$xRI`}6B^4J;@l!_hTX8fcrSj`ju0L?^ z7Fs5sP8+X(6HDdq-L)GtDJRYgk|`9A>y$CCKczRVhqS1&OKKGjW1JMht4a$<0~umM zLonGr*w73xj^i%oSZq(Sl1i$KqgC4dYsgUK?;{LAr|6v*4XcVfk_Rgua>X@CnwIC$ z3s+Z{n66;lb%uEGC25xIAyIDw$spylZa!vmKLj2aQoK(vNBuy;mgrqpjI?c&j-lAE zE2*yYx1|0Y^kfCkq9ecz%IFD3Q6xtToZzKoskhUX%oc&$Hv#!VuF&UL&D)K4n<3UD zmj$*@>Qal4s;Vhtv256KJ}sx3Kt+=>hx`Z36T6DGKe5j}+%@4ve>$}k6fne)Q5a~+ zAp|$&1&Xx66ch;Y3-W})fB&1cR2NWC5}PrYKgdJmVfIE!AO%%|^1^ZC5c)d=(2z!F zPQExNJxmWXuiw{r4?a8HJKbMmByTG7DkmIr*-E9H-W4EB89q^Ix994K*P$gC`W?d? zqVN@Fd^EObn6_mTYkibceEryL9Hz?Xouw_2_6!LO_FRK))HWX(nK3p!3@Opw#kz>+ zu?H^t6Fh}Bj>K`Q=H7*9n)dXe#|tNc?=yLwl)Ho`IRMGPOy82@)t5+ngIp@YDO8Y+ zMR&Kn4l^2-MCasRu_DJ0;Oo^p9n3;|hAzEq+L@SLcLxJj%Ux$IoB`U#3I>1FV!^u~ zP#wXTUAo<#_lo)x0%Z?rlSP{I`Ept(F?x4LoAOz%Q?_Y^EJJ#Xm5E)cP6n3@WCv{5g7+#cq1oH1V8YA+9Ce5}F5N-+V~sOrba>$cA^GRPc+XrHYwp9vVE~O}y^LN-@yYtuE zO4K{{YPs!G?FL^gW_hX6VJaz8C7oi>q%`ezva8ESS^3*ya}3BD3g63cx%hV(eSWlN|JL-71eN{o+Z_3er`Ig~ ztlkRiJqV=mcr{019kspYCxKhAqj*Q6h-9m6)c7usnrUp_=;lG;3PzR$k*Sm+urE{r z&8g+IDp^JcgtC1H`&9a~LUZMaW?B^-_f zo57|~1|~-_yYz2Wtp6BkSqOzH){dGShi8d^Wz&f=WK*+fm*sTWba3|`>W1|6#>8+A zhAj+FwGDlnZW}s#`rz^XOBu@$%m;-MkkI65qLA9_$9c$1e`z#~W{_jcAtqnh>i1sg zh#r%K(Jn=x?W;g}K#{?{mu0 zkcjOlJT9)Kn=x>kBAcQ_T9(n#^3~W*E##)FQ6-nimv`MY<9lwC@klco^-OI zy+~DfQyR;MxrwQ8p6?d?sDzMxLW%rhFw3FxDukj;AH; zR@rR7BuyVH7 z!P>p3EXS#S?(8BDYj91Yy3oEBXM*Bj*76PM#2s6u+<&~v(xF%5bei{mVoH&`d2EkCm7XdzKnO7=VqbN#o#mGTB-&tu-E4HOR7(T9kYjQ3R6?;)R#%V^)3`!}Si%hXnC zDIM+g^QX6h$z(CvyHO}u?@+R8j57@{VvC))YyZN}Ekhj~0&I(;W7fUCHf$@d3)h_5N&zkW8Cd#p(6cs+9(gbL2GWG*S7~uKIKmsX@T_okKH_7}UTb7enHcp- z9Ez$ob*GEIbE#CmKk9H#`I-dQCnhrMUY+*uOw|*W0oKVyNKJ3gVyJPOmp)$ZI&)r5=#f9jbx;AolZaizk{E0Wat zix1uHrl3(==&bbUnD@T13TG2J@wy&E`iz(xeTwkrz+ao^&wMoiut= z$Nul`S(@(k$f!|cxfPE@&l!^tyQOgUr6C#%{bHBcW6U#^!yEPmpN%h$HMV~4s}}vi z#_g&Mnb_@NXC0@<=@^##X&b%P!DrBk&4AC^A8*lo+dPij*hMfQ+G{&`B;U8nW@jxG zC-cB-@W%9nc-81S(&n45QAER4HJQsTV|*q|NXKwqreA272T$G7b!9Is9h&l-)5o#sx~cgiqsu6N`6DX_PvU(?Pf1!TII*%^1oPl5Tt z%VtGqXN;u}Mz(p9z-*POgvVWHpFsLraDtouIGy{|AN&<6cJ@*cCALKONs-xKHJ)c3%>hn-0q0YbEanl z8sU+nncls#^MWU2sYn~+t`&n%s;IW>p0nXC4r0q$8!@VuuAA@>ZAU4p$BrcZEU$n#SC-1-%v-&0x9!?28&Yan+(CT-|0}2St2I^c`j6m+deINQ>{_q~hgS6`s8(bVCAM%6Z4e&VRZuO#wvTJtAE$0Y?_+ZJ z^OnTauBo=7i>j77nhr>f@8+ARJ9&_5F0!-R-8ApC>q@Lro|mB|9-7fwtTJpDVq(EQ z*4H!1Zbq$rI}0-m))0yg_FwQXONpZWk#bWbw$cQSeL8r0(A`!>H~2puIEei}#B&Y1 zixkLG#_d7VA%zd%L1DGkF6w+c1pYZ}5$4$Ebx$jq_ObSt&5?6A>EKYRzRG{W8}MVn>#`v8o*v9wRH_lqx)LL=S0rG2 zKmmZ$?HLtmPQv&?nqCQ7>2D(_kH;99r&oT&LK}~@6Za?I8m?v6<3M94>ap5~Q1&D5 z73f3P|D5G-*S4Var?yxZ><~u>ZztUE1wPAQ+HnL$4gQPQN5}p5-2Pxe@`wZSOZEIO z2bT{0#V!_7dU(?hylK$-O@T0*T+~J{v$TG1Tx@MD6%_FJJj-m#vePhw0Ukc^HJG{s z-s~qBVUSN$=Zk3?ktg%rA8VY__mRL5&+mE`82EYMUb4QA_3>Xir+6v4iVKnsoq#g? zIFt{$mT)4hPT84&XRN9)>!e|I#B6z{b|U=mV8;S(6K*=}t%C?gyfouaACOcT)TYZi zSxasMw!(ALol^5=rv6^VRPYtP-q78k2sFUjYBSJlWCn?E8DB-Rj&%wfD{4gBw!BEi zv_*Q>mWKMIbsQ;LCO%)lN7WU`<`&azWg*XE^?de7VU)M>zluYihVZrfu__V___@txW*{n| z&IkCbeKH1WSrVvR^%RSE_jqy`bKyuG4N)~%dk|uU3>JScPr`{R0)*Od0XxO6g9Ul3 zlupa6;*?e2j-X;%3Bwa&fZJQp?$%~FoOqYLu5sGChXFP60P%o zzdc2Y%h9~F6Z!S8InbCJhB+PsVX+k5&`{2VAFck&NT<-iI09r2IBf88HqvXx4i+yR+XaAwp}Ad;c(6N%U3&jDNw-QYh+efYpunh(AN zLoE{kpuba@-=BV)OWA;|gPX(6{<~)2A47NNm$eP_QZZb$1j>s>g|l8CWh~3|9vs*+ zDxyZ?=sGMO25Y%IfOCamHLuo5S5H zWEiW@3Sy5b@m-Ag1B^vro9y`7kom3`!#uMBDBMR*e&2F|T+<)kfbTI0sCUIWXu#FK zQpv6NTuK-_l_OSc=Judi4Ix;VD3y2E`pKRCU%t*>&c3%*<_E{>iVJWXP&eggRHxo3 zU%p5}jMrV}j51us`@X?($+PpX272K+o*D4YN&JTb3UaP4vpX1asBM1&ge~W}Qz)i0 z!e5d$>OOWXT#YtK$8P)Xyo})|?m*zn*Y$R)r0q z0W@fIyO{L&RNz-(grg^5U^CKR0l&8YuC+O^?-%TFt-H9-%G6eL8f)Lk(XibuY1SY3 ziG}x{NA*!*StJbdfGHx^kA^;c#HVd(RQ|bOCL8UX(z!QV=r~Ddk+r6C#gS@z5)il$ zHz-sx`^2F5`!}{-<93M*zJbZn!GJ5j?tM76dvcUE+p}^=`vmI2$0g`%JM*IH!QrcL z77NAoQrcAvZAjdXgW77NY;0YN`ryc?(m?LJZ%O!thN%W~1ZS)@eiAU3QM zJxiFuH^k0#q^TPo)kIEv*opJY%+|q6Xu!o~-@LWLtW=v0&2x;8LY=aJT;RSeGI+Xl zzuRm)Ri}5f5bT1y*;r>h)0S(NL&?!JVcNdCSPB!E2ajOZ{$9<1ANKqj)@5`Jx4+v8 zTrR?@SbU(2MjMJ|f+cNd5tiVsZGcuS94#o{D~M#!+fR1TO~ySQ0pN`uR+?)knodjn z7oEk+I)_I15Cg_3+%i2Q>N5COxVsaOR;7bdPVI94JC#{mg)_;gHNmb};z~>q)r^I&9zk=a1Lm(NAWN9QJ2QF&5s`{^DTUYFr79>&IA?~dMgjl z2#G>9m3vLI$JS=Q$4}y8cH%R-{Zp189z>c>yhoa=#F{Bu6m zjf=u8lI2A0g5@Vwp;fuGUK15I1MHlO=oWCKDYw?9R+@a8XntEup zc1!Ej7%I@MRHLaFbWLsP=zM$9u<@aU)y+7!j@^ePzJ@J4h?Gr&Cz~{PG-8o^^KJ-~ z-JfC=pb0|&8%Oq$1 zj`BCer+^MfV5BeoE7uS6xYG<4q9T)kp;aROmF54`Ix5LPPoUTD0<)=nbmFzSy-bG4 zK=tk{$}CR-sy)V7kumZRqpNDEaxtHzmQK&#`%q7>Mif$vP#2KN>eV}<7$7aN{Vf?ay0mvPJWg}kFpG% zyk$K=r~0W}(BS$-IX(#W%@|ymXX}=&(lf3zH2 z=(iN;Q(_}=tAye1b(#T8Q&g22FZt{OMtlOV0nl4M&bg1JJrLl?U-b?c#thv1uDn4K z=0{C;j%q|MRm=cC&EMbrkMEBeL8U}r-v9(!!f^L=^q%SHm~il6j#`T?cOp|h*@pnKMZ}^5mck^@ObuFb*G-F zxx5PQ5A1ldO1$UY;k~Hch|&TQ+tdxzk`RMz-#C&gp$pON5%to-rSw2G`ih=ndCOb< zO7wBU*)jgNblj{NSz;$GgRjIdvA>R^{fBu-w~fbObI?o!CGgL5y?Uc^BxK<*tuqRM2gyLwNRgZJ?Vi(F9dS(aY;a`cIZe8JN=yMsRz3 zc{y4=7D@0Nan>YmqF-~5{CR1}6)YjJ5TQjp40WD4FYnZCeqP(G(tK(ZO4)t{IdE3d zM8VsC;jYQYj;e?Jsb%PMeMeF@KwXEJ9ZHKv)D zY`JTA`KX(xaSE_e917~SsrFrA`L1Y9I;Iy5X(+p4s1uMe;1{}nfjy|=>+b_m@8VeX z)A(CiH`4be_sWiATApJ32tC@BPjW({QPDlWf7cK4jf*!r;^*UR`QUfYRE#Eg?B=)fYS2Nrv(K6ISS!u2IUn>nLgzaDAf%^flwHlF31WdIxIfAw=!>-p`I*y>eJ><0+yr!jUmV( zhB;!87=NdHgp0%^RPK+iJ`>-ew@Z!1ftR1DJbbLcb)u(-5y^+uV`E*@ql-Boimbq8 zFvnm-P!lB{mIeQF7{fi-M}?Mz5QK2pTaPbiV}i5u)Rpg(__3dQhubWKftFci7-&~- z^IGHjcZA>YoFB2vpGDhV&p9Ur63e@1si5#MZL2n&Uxno>;38i_dPa|(aZG@%kCEd# zlUg6HVCr4t4ULS!9%dm^6|;W9bGL%2T*^(Y8VMJ-f6Jd#P=VWjYdqerM8xfsGu&qn z+o2xJcQ#wNIyMaMp-l++T9~vh;uPr`#8m|$}N5JXP_Le&SWHtiuY+m{|`|$ zHAeQm{JnYQaG!zC%UiPig>ipX%i2u|Z~9zHn>|kBPW9VqtfwoxUh;{}MX(RnQ4zShVX68EVV2F|OMNw>hLULzN5@vB3 zUSUHM`VzW4A-u;7bB;Oaw?Xm|mm+*xpCa=izZ{7W4GtCgQJU+GozcmOi2hW8Vwfcv zLxX3Vv>*U*NQnE9Bj+j8891^i-vk0?M;MrpSAZAoz;SBg=G$Pkiq<-C1Vbc#0j=^TY#NASxzMhqo0S6E&z_nCEX)qML}14a-}7~xT2{jIK^+^= zO}i;))kcqgUv+=^nyvlCD1>tLuH~Rac)_-#iJn;Z0478}cV_7Mk$cgvFkgc5A)@SN z0@*IE!Wx_5i|)c4P0Qs! zkdztQzrsoDUO8WxBY%0uWBSMNi{%l`{XT_o0^tP4`QNr5YNzw`^gUo4yt%aYg&}kf zx&AMV`d28=r?C3)-AH`tPzAh{H9l9-Bw5%ItonXm+a2B?H11M>j-7yKlZFc<7K^%U zkypvwVNSGj7?-jytzL)Jcsb+2QIfNA0D#5&!{^D9{2{S~U_rJR8i4u2(Ca zRx-GuU0r+kf|9Y(;z#Dg>kkMy%ORPKY#OvS)Ebm+80hE)ijVaFz=r2yfL6nt9ncA? z#FGDr=+^3~UqKJ^N3NHVmwkEF`I`|)@d4okw0FuAopGHQoZ-mKFA-+)Gob5B#hcyN^%bER_s`%y;;EV^XOHDl z1n52lEbyTX^{ClY71@IW+z0TP*@~dnuHF5)7F{v+U)Bhr*n>H|paBa`e;ve);Bc^v z!bK&xi|pE+W2JSzYI}AexGO~W<?(`WuvBG_+G8^PKWy(+u-Nu+=_8|vjm5vyzE zfvNGN$NCpIO~j#h55Bh&5Ito-T0xbH%bnDFxV6UR*|fdJ7y-bha&-Ip7OBf3h#ci@ zuxMX%mSYP)`d!#7;B&7e^f%FoJ#e$r<=#_w`j~q4@co88{rovbdJ(%YWqtdh76Ujb zgV6PmAqYe>_b{yK;BWX~Ti#BqhY??U74INnLfWdQ3Ur9|vR{BmT}%`kGj0?J0T<@1Wb;ZXS{0byv@0Vu zEqYaljsilcf0}JBt7K`eqOG@nHLO!dW{xPz zBOCTBGCP%!uQ!Dxe!t%^%6r0OO^g*0N($LIIB=AX>&9r3L+6~FBtqdE z$8{ZL#}1b!q?6;2wTx2iAmZtMO#O+b|GlPL__9rYGR6l?dcQJ$1o;W_5ahqb z1l=7T+?J>M)21HqqUUWq5AQvS#&5P;;y(^7F#%k>EX(qt%GKZ;^`}VeH0SVSic7)U z&nB0nKxDJdW+Ob5yr9=Z{DQ+bqYBx5!|9*VTXLPOuc->VfE$${pEf2^{oT)qIZhZO z1+WCraqBEXz{xS(i2DLicH<(R1ITlH$uj(ArMXf7>>DcD(1P9xIAZkI>wiq1R^docaXp5-k<rem^NBMVZ)0xy929Gr9Sa<&u=llf+iMjXp{ilJ3nKts|xj3PWkg>B*HP2SWLZ z;&_^m=VZfuX(L=0cBYHCCHS8!M8lc%_3b>KtL7Q=S)F$Q{W&%d-!M5GA8I*qR%jPv zf{-vSux*t(9p$r$IVaqS^55`eYH3FcUG68MP^V`zr$lHnHJq^&W4cO%sBrX+^z=M6 z(-FM4jRe|O=tzb1NQC`taVTzO%{iGuYSJN$ZDpcmzri}RsN-nf?t!=wDH0CiMIv>v zP@bBVx}fWJ!+7@gfH|2gbDG=u!f>ln=oGOB$$Cr`63CqP#8q{4N*2*_jcS#l&`*Pt zRUZikyKy31hPXM4X)>4FV27uhL+lr#9CMKXjQC|aDi@`cT@Fu zxpd5ss5N6$|Jf!G;doODBm&Bb0NUuQ1*HGA=%J9&-ta}~puWrBm^ zx$fxl#?$?MbB#t$0*Sz_tJi}O!Z5eGP-*DuwV^KQq%Y$R>JF5_N^%Ryu(oBC^5zM_ zCIjUkGyzu>^Lg*2WTCsMqkH?ZzTBd#kBx95n1Fa=0-T7iBEosL*HyqzGTV7-%?81( z4t72lZn>swT-Jn6R9Au{g)?(~F)bZ%?BJL{j1?=%NFZT&Z3e)#c7EhS)n#vwlq5E} zMSTC0M$l}hDcFr5dTk@f-yb2&13UD^eCV z__rU~THmD}>f*Wed5C{!aw|GSW)1f4si7wHRb~+XPF@VhskZ)zQ0Aco%~!vFW; zQ7*`;zwe)AX#v&HU$Ykk2JE9L8{%%HkJtt3Qu{Xa+J+Y1jIWon>XMB#+>QBYEGwwscQh{)d8AbBg|*n_R- zXi;WWpYo>Z%MeZh=|7p7$*TUCPh2tgQ#WfWf`Vw%ebJiH%xsAPHozfHIEIt3P^^@= ze-CVqJruPx^OBWHJ>rL{WWhO6Y6*hq(>VUuTP4u0Q({O$fKK@6zkr_7{gDpc z?VxabRTXQ(q91Fa{q_%Zh4d*XSj`Kqx5l&lFSMupq`O|0JIO)Fk#G%p%ZryxFC`z# zgDQR8^n8~6=%;V?B z61KyW;7Xo551Pn{sitl9*JvR?GN=Ks7$fov{oK^yH}Fd;^ng@81L%7~Q-XS0h;+@* zcK1yG1GT|hTPQqQMk}#d(jhKXYdMB`)|-q+nv8HnQpZ9R5sP#ytU~F5*s##*HgDK>1sQ?n;^aFth0IzIl(YQX_BA9V7JYZGSJHy~A~v)oUZo6*1S$7X{1eU2SOH{cR^iG_{t7ETA%h%ZNQlhg z4k!=>^p5YXkpUqa5-q=N1c@GBvv%{%Uh-8XWikGp(^DO05(NRQDZzIE1UHz&B(6B% z0o|<|3hf*ltY>F&zcj6j76bk{1xyi1^6=FME zQgJ`{PY#p;eclbN#=>Hd7#=+UV4a?m!w!tP9hrw)aba56AFBSDjUI;^5Lx?yH#D46 z5jm=ve26}5LNVkK2(^d$sn~-8W~3R01~w2OSuXCuC^=AATJQGh9{Wc$A&Y+aNl77A zc6?l75C|>yiWrd5TbV%W6Mm7(8yO`XI_FL7|I7{h+O24fQQ-#C*6BBZBF|(7r!I%5x7u-W zwny3xo^6d`ElSIVtgGt)>&-BlO?&skg$7TYA_-jBYSWaA-0R_X`yMQ5+hgzx9#zW1 z$5BbRTx*4$N%E6j$UGT^sv$q!lVy*3gFPgR*#)ilu%+YE7FPB2Qa|3L&5c~mBb)!y zhHfiMm7n?o_IsfD7 z_@%9u4Doj=V(NFQc116MvYT$l@w-q#CsPcEh(Kq@*d^nJ>6xxQI*$2L0Zr%=6!5HR zKq;zt*Qtx4sLeuv(ohhFyp8~(=oI!FL$noT~_RF{=?*5kMRt{9!##3R* zq=px&zk9;cvF!~iNd(I-1rO3ib(1EIsN9@2%Em;en07cto6qVdnI)7Fp)O=rH##RKjM1#ln{qrHda{ZUP^(vY!^|~~LE}hjstgQsQU344Z!Z`vgJidYQg7s{bHL^{_`jCf1Gv^SrI0x? z@pmAt&5}=egUJIUu=``?Sn3A_-V24Q04x6^Uc2UY!jR$F_+6coY!n&95PyBIW$B2d z#646we52WjHI3C|1!)c=nzchFLX zUeGbhXmE+<&|QGWSodvr7D6sSIO^@v%l(0u zmjZ`a(ZJ4UXZ!{9h7SxRF9iTW27>q}lqf<$p#L$9|JFvvhWb{HbVB+zPR0&awobZ2 z`i@Rk#=6R`=2qsWW=^_FcKQyM{|*@N|8eYT?QBfBHC5CXcNTuG8=Tn4>y!ML3Gt(y zT%}T-Bv$6PXtd{X0v08q$hZDYSMSfXCqpUiOuFeg(?eFcylT>buxB6`5Ku`}QyV3a z-}fKjN^(GgDFsjkpt49IUq;bS+t_pR>H}aP^{pQw1cE^7%ick@9pa|m zat?JbM>ZE$@TBPK%ielQ$uglW-Z~$nBR$hzhZ%674SNiG1!wp`L+>G{=$_HkR!8c2 zv#H6$UC7%ZM&9?FN7*6HWz zJ8lk*e%H0P5B34W*M|3X*K%cCAHS^}EoyT;Z>{GWF~`M#kmkC3BICr{N7(2aN&i2O zf*VOi4#C*a|FFBVHm+jee6JwJF@*d$FGRzg&9Wj~i=;Oc)~gJt8EfRL!)sruh`3j@536}hZCu5V`jEtYI!?FV>9-#%6*cl)IbXU2)3XP~J^-#VNt zpL>}>-x;=}X-YfxBY&psI8EWzz{Uk;+vJ~R-MI=%R2o?(^_-&3*uebnbZ{(rzOO3pVrKrEBql!BUk9wK88 za=LxV+Jy8}$(nOKQE+KLtrI z2s0G_#M|6oKF50JIzv5OLK4SJ<^n2l%?@RIN7>RK= z9Ah(!P|;IalK_(sMfKsE{IRZ?Q3CF~KUtQ-2O+S?Bu$*0SVbSU5>>=H)zn!#oZ0m0 zeM~ov^Hi7APo!^1xN?M52U+dzHaed5s^lfJ+KrubAcOYXZ;=`qyE*}-ogFqm{Zlc01G2epT^L!#y4fZ&#AX94ylU3E927-%r^Ms%;u zq%uwlhi`qz7<`TjzxWOH0fS+~#b9kP!1z^&HUsGvmWleeSW>6 zzY(h~S>Xm>LqGK(_FT)Lnfhp+SnT@|B=V%eT92{sP{c>aE{yAk1nakKSB>`j=6v1+ zVNtQXk!>Nig*AHtPBgs7{fH80OLD7QOdj(L+bQyR3)I1bLu`5|BP>tRc1Ndl z0XzqPu^3UeSmtvH**L;en27$p-#Hx}+Bq7kH;XbA1xSse#*T`ar*p5|mG|eR(9cfa z_!_t~(e?wX2~bhKUGT@*w((Vvdz`xvn32%VKl*xTH6&`Z-ZVBR81NOn@nIpgeF1)t zsGtEiO6}r!0q)mnGHXE+;$VbW@7{HzM3DqMl}god<4V8v@uL_pzIMq|lB-^iz<8y0 ztQ)ib%!01V1{)VQQ|WY|U$1r1eny2#kM&41)+Y&XKSP`Fr=^YC%@5VXdI3CDC+mKv zu_9xVuy?L{o})F$2ey5`T+YPkjf&&Nl(C;64_pT2(x9U2u(>YZJDoVNJT`6259LEAtK6 z4P_)4ExN7rdR-*))s2U<@Ci$d8Ps}HxkIA=V}LWurzM+m!B6n5@RE;2GDSE%8sH@M zNRql;Pv6)Mt>0e0VI%^5Uvh)hx<5%YYfeWq(XtOGI*R*Wq>#Z4nE0}qSiiOp*@&)I z!OggGqhZm=a0Npe9kXjG`eFk%ei|KB42_ zOhfgX`PjxA?D6$-@f++Hyev3a=?C9K86kSD4Kw5c@v(q{F60_2gB+B-`ezE+-zNn6 zCL@r8-}B~ojp4h5oEV}@nT{X3RBrb9TEs@;NNocKMp8dKm&1S z&NCWxMGJ?taN_}k?CulXxvq*zE|^gBllDxVJQvfItUn{PjNjiao^mPaysf|J&p?UA zJcxomS8!A43jN7MpxKMOSh42dmvGVPYKI3WCFpx2ddQx`)>aVwt&_ZXKGqKiEZy(e zHBy!LjK7=}E=!7pbChS-z2ExNgDfDNik&)O2{KVG5xNNW(^|M4WhUy0P0Q}?Q~|NU z{M%G9q8ND+Q{I1sj$Dd9s60V^mQ!7lk9w%pLm0jke%Q5z6S*yo3}QVKHT&_a#`*jm z-xsp@-96|N`74gH92csrr6r*q_otfhxNgH!^H=3Zg^sJWKy(>V2X81fWF5qy2f2b% z1%)NS%1O3pMMT9n9_S*mo9Pa2X>t7#BW{1b_tNqLJw1v;E{9?)`dndbCkV*Y{1owm zZ&)w(_!~R1U*dsqgkK1*OzbS`|4G1}lL7>OnVj;FX2Y}J^Ins1b~31Zkz6AZ`F)Vv zRO$y)&YyUmPaKhrg^~AMR{_+T0CjDGD?mFIN)S{-O!}Me&DV>N($$bo|FGVtQCAo? zm{-jSuR_l&zEvm)9KFVCR(!>*$-S`ofnNp|Y)71Q2EC@&@owaWskW$9oP*gAmujSS95Ei2?Y*Le|9wWjKyq>bV$u%tx7_yz zk}!By*n%N&J?wd{#p5v~qw6pS$L#S3A;lwfJ6*#dWx#}}0UF--MJMFkxp0)Jz%Ncn zd?P_2SAW*WrkE;~1~Y!F4U|(p%F1U6cFF@uL$PM9wnYpv3AQLOxHp2+qj0{_`P?V=-Y*Jlk)*=Gi! zPlZZ_Zzctp7F8HkaquY$gb9qiV7vm)rbIek&5U=Ci59P1jCawRzEA%0I;*zgk_Cc+ zVIsPk1;U*U+NSUQ-yP5Njc@~|MzkDoQ`Ho3GhIi_XQIfO2ckeNT9ErOj`BwXO5; z>B9iQlNh>^1<(6ljf+7u_J$<}J(#57@fIzN5J*(|rq(x)%7Nu3!ba(0_At$BKfd8@ zrml**cBrxZMNp(2c*nS$?DMQrx{0FolraB(m+3)9&}c#RcO02FVf(z()--{Ru=ecT4D`lS>ADc&kGak0jrMLPMab^vz)0yNmIz z5KY12CyS;Z?-Lixhq>mxxMZ{Lm`_-DjA^hhjYX;<2DUO?`pJuHMTOIpqZn}m$2}u& za@gq5t#Z|O3LeSM*};&FrzsC^!=e>Vb-#pu1I}l{!qruF8X)|Z^r9CNtNUec$gag( zjLw(0JEST0L)Z^}<7G6ZkF>CpttFTF-oNy;0exFrrcw#JP7k7J&g52-5h2PG@g?uV zN?#mCEO%x6LEg{nWt9ByU}9?3>HX4`T9>qAyb=RFjZO|3>i?k;tNVS3^C)wENzwDG zO4a48%shB+05IyCy2OSBj{jk1fNSQ-C(~Pn$LYj>wv?LIw)pjMT98Nn!A`jIF?z{c z?t$td(@rOE7-uba&L#%=Y|NM>gXNe3l0e(bVE1N3YKPYKEjwM=Uy0jK-2z}Pr`*EO zUtXz0EOZVOY|YJiOJcm+ia5bso^4F{EkDdn zl&s?TRp?->7Mg$^DO=pd=nqWt0i`@^QSEJ$M>1n+YzvEvLxqB_=}yYE*T{m0E3kJo zs;HB9tSM=Lj5>>^Zk>-3-s3g7`%&eM*MQM0TZz;p1uU7oe%WweCwe(*I})kG6O#ul0IdTqWU; z1NTDPzqY&%+l$gNyC;O@9Jba*;f9`>#RoEsOX4=DRx1>iGf}3YT44lycbFqePIPUv* zxoYN`2YchE(!~7{qHKiesX%mcpj&vJRlZYb#jB(4bJsNOIXiVw5+VIV(}T-#SL_IQ zG;nt$xk8A)VQ=!kHrobEP)1Di0%UXBd(?vzjVKWL0`%T&xo#(u|5lfM(U1^p!mPo%+_9c&T) zUnLI$+xuH7)hM{w-P|%d;U`inQ=ajJ&8iT7ZQ|8opq=_2ggFs>6bFM)NrPL-EL?wkOxemM-c_X$WRiQYW0|VZ~nStZ_$V( z-Qx6mTHluDUri%g50w6<^Pp+kp4w3nbH>?2LsAyIUMj!9nOK!3m+a&4I5-=b@=|## zZAa2{e(-T-Vwd8YVs(uEmXFKfBcTZtwZNlVu~PE{RO#Bu;S_H4sra%U-H(j;{(!xU z77*03=%X&U@}GgTh|&Y%BHaiR%-%SWCDM@ine3Spl)I1rdE6_u7mWBr*U7AB0EIk7 za0}Z3x`i*d!Z^2*K<5358rzmxN`;$wjrxJeB4qh$fdXzmvH&9-Jbzd5y^YN#!#$ZL z%`gMX*Y(CO6R4FKM>kI;gdGkXX1;RA3ID-lPy`#J1}uT2d7Z^(N_Q{y29i zgCXI}W!8b_W_Bot`QuO5VCn>*>a{oxf*XQPMi(~MiJ=em{;7VY7varG^92DmM&r+Vq5&N9QaqRq7^DB_TMh07uC$mtuhOxa z^<-JopA2sQ;ee)h^=gZ34><5dIyvpgFtysAh8U)uoG)jndITLwu69B(glzLUvfu7y zQLOe)zi+v)w|N-4=~D+$nTIW=0#{!$s4&F|4*sA*$?dd+w8?%p&W6@K&IMr${b`nG zpWQeFk=^)zz5OQ}N~MN}R#plbgKjyDbOi8&Mc;r3MvfGYsheI)IT{sNkZSh~)aF-? z2j=`=p9lP&&ZTbVOylY}j!WhZMBNp-;F9j%X}_7%3~0!U3XjFa5;0QMLh?{+7U%&6 z=(RIxB#?*k=>QLO_wbra|Cu4Rf?zm>gY8;hIG}8PC^lua+#2T_LL!)5Eq*1&o75fB z%?I9pm?d++{-^cW5Kcejt$V9UGnecC(q}zg-e%9pv|E?A*vha;EU z<6aRT+D`E=G2zdnZy~#7i-H(fTCBI;s@*+hU}&j8mj7lA0lOaYS?ln|cUJxKP59ZV za19k9i!oFoT^7))i*fc}!j=9;BZ7acW9{$GBs>xZh#&>E4b+C96W5pIdPr*Z-q8O# z*;}%~;CQIfC@LaI#E;R`0b}3Zn#t zu!BHVs+=fH8O%Q6xY2fF8821IHPncczBY0~ttLRD(rO*Vyoyc``Si^^ zbvptr3!`2@C!nu-ZivET4b<$_izO#AM+dRR$7#r|ab%*50t*n;t)}58cjFG0F5tG4 zgy7YB#qjyOP1?vOI69ZgH8SOspH(vE{>CKtXoBSC{NmcP`{|=r7c}z8M^*voe3i-{ ze>$;smV&DMFV2obVGo|vI(_oT+GSTP+Ux4q+SQg7b(Kn*W-;$wEnA(pO@j1dFyDYY z+V`Y;PsWTGytx%Pz|O7_7}m~h!jUO(WH^HrW8ilP=u77XY9_bc8~O^)d#2vOO>B7V zA#YHUSl5ppupiMnjfkncvj)#kKF5NrC;O6CNUfdKKz5~H^-HDVNN1&FGsRI;xMJne zutV*J)tiPVwkeb1NDZUwA#O|(E?v}ohorAJV?o$;Qj|X5CEAr^iCbg!<_9X1_CZH+NWm;@Pb)vXjc2Xe9faRHV#^4+6)HOR6IDf#xEBis3flGdg1d< zZw8MFKZAJ?HiXy&b3-xdOY)4SAi-8RgvlIkQxq~;4lBp5_5W4J?QyD)?j}Jgm8v_M zN6Y3+f_^~mm*=bw84WKeVX|i{hZbaEc~g&kw%JPyYp8@$@vYQ312gWJuy|4B(1hj0 z9bvpU6hA;3iPLKWPifU*sYO)wHvzL==$A^H4nNy<*vF%##h*bl{sdAQTCZ+{et4}2 z@g7pJcTR5dTYIy+b+#GK_5XSM>;UfG!Tn;TQ|IqW&6^yuTB+UMDim8px8qyok#$`q z!K{AdC%~t<$se!#2EqItB^ zY9^1v2%06EJ<3BvGQZI)#`XywAoEus=X%?$AB%@8(q6{tHF|{S^LtpRitRl{7YBVb}S!fX_o} zrB8ozrSlF}rFAOn7kU*YZwE~tE!s>j>rWM`Ki$cOK`41wHrYN8T`s$dCw(5)qD#6k zX#KAmZsQW-2Sa+Ck4T!z_PyydHcWJj5t~9D6C@z8zZ#B69dk|n_m4IQc<^PVlZKu9 z(7FK%zeJX(m7{b(F@B!K<$L8(0&=cVYi`XD3ntwJmvJ%b**0hMIne3Vd;+;M@Htdr z(-N-EvW@qK+NASGx-#&jK0oz196bxtYu_Ij;6vS!M^rMOUj|+UM$ZN){cHcDtSYjb z9Mz>{PDF=XpR8*e?yO=j){k%REuvRPoxM(2C@7vJr|Y2ksxqcTElLTtQZV=`Atatj zA0#`fFPjFOjV7?HS||x#2xP806tCvt;)x_hIyjCCPvherWk{*v=L_`Z6xmpK@L}VM zpd+4rLR>?3gcp7s5)7AvDqLW!+wI@odI-Pf9}j)U^wvqxTJ)d|ydu5G>#UC#YTGsX6_HmduW^?dDvp^X%yH;Tf$d!%l09q=E@ zgICd?-lBBx$8%W(JQ57L{l`g=C{UKGFc9Fm^OsZ~%Q8twS8>v(fhC77WVVW@;2Z*M?Jh7f?%(K9(XQdEbK1g*6ob`eKI@cS*r8s zY;idXgP{V9T}a&DN1c_IKsEJQ6$wz-`TuJl#Ry6Z+s&096n$878LgxAyQ9LYk0s|H z$&o*=T-5{^R;VW|KG4Df5z+fO1S2yIKV36=H>_!6?=9|74vTw#c;$7w?e~>Kx;s)f z!UMW}OI-CvK{Zn<;aj=okXpWZMY7x9N&P4|ciurjFvN%!k=d{_>vTQt?~GELc@c5? zs(;GoyD!~1^O>^U!9L-R|dVqt2 z3eAsv+>903Apg(R=&KPtB*#H{zg^wt>&+>?{B9x=0xJpKB(EBIRcR}zfq5O*V2m*T z$9wFVjw^MnhnstP58bdQ{Q1QE#j3N>YP*MpQz4r{+n!*23b2S#qI$?(TC%lqYA-*+ zQV#v$e+AM{FsS{>Bp6#+6r9cPZo#BkX*6A~u^I8v*?ef1I6Zc>O?Ky}lmhD71f5}V zHbsF}%<4bDW1NpDy?3ntr?$N;FoyfZ>lVH1p^|>E@~!`0IY2!PSP45IT3bz{wiZaL zq>q0*i}3!>-dsh1`N^%1i0`RytW&Mmh|_=E`Yc|3x6ni;ou3_DUWd&#`w?1X;K5)0 z9u{j}-q@LPD+n;+iYVn&h&aoPWVBeq79Y(7!H^ecDC~1ava(KLf41eHpb<(+m_^E> zE*`u;<}FL#UDxYF*fql^7A(*=7S51${=!^J`{xra|Ck)R!>vgQIL)hwqO3A?ilzH< zK+?xRy!#&fyGs}_v{QKivZ*ua)6Nm-bbBnJ@c-WN!7RxTHY791`%fBiHRjF7p+vwD zewTXc4Bk^Ws#kh^wyZg-=Q zvOr{AQo3B^mb;*&`WWliC59>CtkQZwZe3W~RHT`XHV2KUdc;5aPa$0ZxKzJ|6!~zN zt?Td0%cDaMCNFh&1@WKw_cZ)%(!!^m6plEs%QG=-Jv@=VNJ2YY_>xfO28`0|Y#6)i zZH~X4%Nm-9fF2nt>=DdG1i>LZa!=H*Nqa9BGk{V#UD~J2FL&%#NxqwjT+2y#r-eDA6ZnyT)<7Lv{V8lFC|LU?zG?* z0uAp(b`y)Bq&$~K)prN5hrIj~VhqI%JK>tU*5jp^7&}iTH zqt5^3=AR*y_3GcY;nP74DX2G=|9u81<)Al_4W2>EiTUJ(0oJ$H5PwyrykcNjgwcCQ zH1AeQ#4qBS5?kqDApOu(FP0o9P7V^|n z@f#dhDC=C!sI-IvS>a)PKKk@vlAra9emA{^O8bG$de1L@H9w@=t%#mWG_a@-Yje;! zab8veH!05CSp-6^nK`nrSp<{*9sDv#1BCAPxJO_3s|KjuJW@UNh4~l1lRop5B~|{g zyiTmZn>1r0?fgk7>|S8$lk;Y1@)0nU*<1;a$p za7WrC?yN-(>sN;CC>k$8ywV!AZl&->WaxjZGX0F8yv}wdYLwd|Q+R6)gA+aUAQC-#d$1MD* zv^EL>m#P(clEG&fXQH#Sj{O%ZRXvC6M1zn#IWMfWdTe7@Ds%H|o{j z)>876fZXq}+zd^90vji=NfxppTC%H@&dZgZ z<$w{Qb$72=KU&O|Ph?Flad2!o_;LRA%EophpxE*lOT! zdE%)d+K^kqvk#RAov;7Fv4M3|9j0~_L7S0{7r6;T{66G~w?w_OUR~!-soC{VQy=_w zydWg*Zlzc*jd#G@lS+7z_a2}J>>f`>;)Hfr+nxlqp7OV}=D{hRJL>`er1(y{JWlX0 z9qJqBt)2438hg!pin@o262PH|Pn;X~;Hzkz(%<-T!fXUS+7kZ)Dqs{9uDY@*NM~a0 zJPXuYKhBvnt$_+{YiNZ5U*t4{VE9k#D{q|#!{1sDi_~a!yU61roIx4mmAM({O}nEs zxQnlQx7?$ao-8?1f;sj|Q2(q2W$RpoGv~#zR}wL5jFPnh&wn;eI{+eTkwPXnR?C03 zX54Hu%j$ z-$9(Ib8~Pr-Y2KTn`3vQJp59kBqBc3c~0907BR3fQ8k{3@+~zBd`OFxOZ)mRU`plS z)@I5NcWofjx^Xm=H}09Y*ZPT-|7NRXx=kU2%2u>>{D>^zSr0!iGXb{Zo{P(9TX1px zY(U;0iC;%@j|z+S_)Rh)xJQmqf%w4Y;IwyJw$-2IBOd~Jk_103hGy;Pz8FmnCuxlm zx|j+=pSRNt1q?#msz7uT?I(wKY7C(rA3XRU@5Wd) zNi?ukkkU#Q;D=Z>lZ!9?jM$vC*+tE0qJLjkDU_M+wi4%^@9dvm_ks1;) zQE~28kwCpSpYXn|p`T@~xc;_`>$IADw-_rbEwqrs2@KkI-F3_|In;KFe#HH1(0rnx;6A)PBcNM*?8bDh6b{$sASvd%?BY#Zyz^8X%V$NbJUZ zyi+lks*P%#;0HO?j?63Rh5SGgk8k?Qv*O-@f7lA$%-~9d>y>eK+@aW{7dnugxl>`o)%0rEgYOK! z{K(xd`SN?n?{+dA5}S*s9$P;~GEZ|0NmdPh78|gX$54g++Pw{b_CUIC z&0B?Q0tKD&9_G?2Jeg?yD`jS#Y1l;YV*~nB+Q5mapDhz|wDbT@Kn@oWAteSbR5Pzm zATh|l6zaa#k_I#@*8cbD~~n)_|bobjFk(qJxf&mkow&xAxqwuzCo}x&Mw98|6%=8QVvr^ z<=JE)rN0;|gO(9eOYP5}svGl&whXb4$<0uGL-O)A7FYq!ueZkyf$ZO;^DI49#08c^ z;D!==KVA^Y=o(CQU}m*XAE9ez4M1 zwUjE$!+*&tilS;p7rh9|VG3P5k*n zSOW$9-k;eM+~j~)unZoIR!cZ%jr3u$Toa}T4X6@R+z&)zdY$=Q!i)M<)Fm3F8!H}f zk%N-?CF|N=aQFjm%ORV)XUrD2{qc(7I|TXnR$#h6Yf$QUch@vbN@N4??5PViD0dXj zzp$_CmvPOHQ&8@-XA=IXZ`l4(`)vNBmb|#6wyHR}Ic7oe;qk0OZO-%I#a_a+Ax}-l zm??ui#s|$KoI}QCffvd4w8;IA>Dhqm>T7ffKhB+}igM%sTF%hN+R6lOJi&4%2rVl9 z#zNwM9Okt;rbAoHlr+4kHvUTUv%&*0Li?Dv_>Nm7SJZI?j$f?LuE zf>O0X{mBdT%TC;?Mek=4s}G~=hgI`KXGV8T>I`^^BHxh36jE^^`MrxUipii=K9f zmPNTU$+ZC-;EN>h)~eA?B3Q4Y!G{|Qzwq-v8+jT7O_y&2IQ;m;kDrF@jdcuNKzdyCs! zRKRicO=nlUHnE8Gj%m*u`TdY+283Pc&Cm7pUbB_!C=!$>6%(df-#Hx@JZZ^va7<@3Fu}2j zw+t6>+VGti>t&I^)U{JuUFTtICtVjerM(b)!z&s2t4_ki_H_3+aDLxujK!8pFd(I< zfDY9IdnP{}OoIp0`{2K-nu8Eih%=E+FRSGs$ErIWGk{cyPh0!x0K(sP#%;K*LUsw? zifhRMRvn^*vh%e3uUbbAgVd2JY6^z;`Z6OzE+PS3TpdRv)`^_LugQ<~7k#15d0T&W zQ1OMne!8O)fZbGMPZmALN4*r~^wHx2tLUE|(a|1d-1eBvOayviz^52@N z6c|QQgBhd&Kh+?y_661Y6R3*zd^Y8EY)*+ZmT>mK)38UmkD6=+3BICFbq?^t@{Cr) zvfrNHMM=+>=wF|XTmK4dJkfWB&;Ni!G?UdZ2cw@Q2aZy^LYaEkh{QHB*M`8P*h zm%+!|WjqDmio{7o1uRD|tupIjrGhMX`D<^B#t+1j2i{|Mgf4S@b6#Si73HEUgUfF5 zJo-_~FyB6-2pTAw8qH|!g%Ui+%{u3yQmu%ZulGF5_IL|}U)82eN}n0=L4QM}N(>9D zM4sdjfTtIkv{nPK@xPMY_r=5Q5F8#ysmBefgPy6dj@+z1Bt6j4J>AYNDgx0g?xVjp z&`TQv z{7Mlxz9O^5U7?+Dl7$RQd)3*H13K#Y7~&Sb+lUJ4QK+$ED)|32^E`Q1t=gBP;JG0S z{8KN95rC}d9t8Z4%uMSuZ1s194$u5cL>kJOrAIXQ0YR`&C5GO#80~;agx*=H{To2Z zMk-5Tr|4bOg2%=mlPrn0(J5dBWeo(*x>OqzBL57k&EM^NH|Ebx&d?b8^NZeRyyQ6zusDkEz_kz!u1?i5n+U-Li_iMEiHuQ8Bld1xX|7go{Hze=na@a&OjN zxD-1__J67_udqj72pixzGrxds;0%4Hr-j-5)#APegjB6wQpeKbb z`r^2zSWD;Dl05z3k(s>`=v`yQ7$@tk^*#!-UA>EH^fJ6@^u=eb6WkQq5|Mn*38Apt zbB|vCl5G?Ctyy*R9^I)uV@tU(vLGaEhk}|tna{}OC2P3`I3-NaX;e?;55`L$bANjYtS*_u-MF?X=soXfNC z^|jE&zu<+eK3j3clEJ@cjPZufZ<~9o8=# zbwNEK*yk8|+oID$itZIF#-Y_>M(gvT=B( zktMO|_RUH1L5_DK-eA)dlh&wxm&YiC=up}x%!pqr5ozy_ns1H!DwD?}!|hfDrc~vo zVFCvy?;gGd*kp76jFN9TBy80l?*)9N?oNXeH(5{dslNS;xfq(En)$gaE^j7E*XDW- ze05L#H(rwG$0-$S5bfO!JQ_IY6w+=2lQ4lebUYauWyXmUN~qqhx)9#FY704c(a+|t z9I!>b;^c??c_Smr4E~nMK&vsY*{Bg7e6z(-HS64sut$Z9Xl)Q;V1}F!AiW!FGiukB z;#$M`dvhx&kNgTf_LF3VP&nEzoH;lyD>^t}YHR+|+4r-U(7h8zJN0<)r-HjMXL+Wa z_e+X&Mog-uY97g}iSP%lBRNovtlps@0V7;*7I2YTSTK%Gw6b@S;#xnV{XU2CWn*pp z9m9Ac2<&(D7nZ(tb{@LNT63p-)l|y={Wv>cny7?$#Y94m0gX~TbYBL?xxDgVB8PB< zF%SqYkVyrXr^J{ISgxS_5=Io@5rvpUYr3zFj&SJ=#wJP>AXi1!w)Rj-A!YIW^rO+K zY$B8jI2Xe}_rMpCyaIws0fPo`tpitQS(Nx!Fn_Orr!|j9aLPaQu>RhSVg++j9hL9 zmW_@B#vZ4wiV@NF2>w7gDgvX?v&XLaP-V{Z zSTYj@I%+@DkCiu}8eDPghvRN2_-|&=J(6G)Hm%+|Fql zMNt(6C|(nv`9ZZhEhaW}x(b_G)^%^ zurPeKZaj}sE6$qkV97uAguJ>_Z>z#ji+qN4@<@5Mo9x+RPfu5K9|G3zFUw9u_%w`> zBSgE}Q}CeFH$Us|vGECXoO*i?%Vd-pkN(U#w+kP)Z@Xv<2> zqRZuqoj>)++NuA=y9bg5E{A$;tA4#kPNQOR2Lg@v2ir%#6YO>uPBO(d{W=YySG%Vdm@ z`jM>RDcQ&Htc{yy5K08AQO`ALtZ4VS+)1G%+E=m(kYX$`eGGR2LF?q-1S>5Bq*!3O zdY@RkX-Iajw*F%F1ETQFm@-3TnxU3y!5dZ`fW7QWRV|8;=Hv9+xthYDvoL~cyO-}; zGI+aRa$K_YbE?v%K`*D(&qMb1U86VgG^yp-Fw*O31rO6UQT8YxCCs8T^3zRH)z)5Z&^5O591lBZ66rAP2vR#fTH(k1+pL z$1WcaGUeIR%W;a~dRa2R7Ml=(CrzN&4DYQ)3y0eL7wwzAjBe*;md zIYV7tbME^x<)t{AV7p|iE(bG0)))KF_&gnBUy<>A8jZVAXYvQlQW>=nM$557QgRBF z$Wlu>x{ipecgrK$jYI(k11qkC;7gTPo?T>lAWh46P|K4Faf!q$-IuIzPewUmzhv~) zh!@Eq)C6O{!M0@w3m15g{rZj;RIz~OMhn`at8GApbCe1j4ZNux+VUMd#SKxvvSzRb zhqx8}P5dhx8|M6ZJoq2gyBc9vH0+Vi?!5Wa1)n!ex=ZwlQT&~bNht)c4iN1G+RqG) zYgrST^xp_inoa66tWxVv5uwU{e<>4IwMjijU9#oS?d#ZdtJeGti)7`;@L@pSVSEwH zHQ&c@!Dg~Sv$($}sYxY9M~33F14!-1jkc}1 zs&|KM-8HH=R=8v5WbMj-iS6nk;#am0bw!4v-wf>Gb$k5;^ zvrZ3eI%N8gepyc zA8ekl$&3wRU_yD-kipyj$H|>g`0XbK10W~o;KPf!5Rp=tcXZO$a~2Np&ToH0|895; zfBq=kI~|5XpPHgoLs}^yoy+oW-V*^aucZVEY_Xv96Nz}o$XzLVR_qfUY%jK8$Uz}D-QIgmtKe>n81tV$KY8v|PUFy@n^$*c=aC2& zk!2lV;3++=R4kcF)euyy}2id;%_kM)G;CP8N`UfAP6xl`cS-|0BW5 zR8`&DGFrH{j{`x@O~?E{QpawKAJ8J1pC5Sgcmk7>R_fw0itOO?w0bHGS@>b^-cOjF zM|ish%+B{&UoQz?a>}LYGtOCQEU7(mo>QlMGc@3sV&Kv^betH@lk8{-V-UGVYNgi` z3|c;A8}0aQe>*qCI{K@h(EsPdsl{riWGgChjwNx~$!7LV-O=VCaVgG`tLIxBHbtf@ zp$GK%Jw&|-rwu=1K39_7+XY^XLYCidnW+Fj>+g+~FW5%P_VSw~>I_-hGKsg;Yf>m+ zoCx7#uowhspYED{>LE!O*6eJHiqE6&8S?w3t5Kqy5to1qiee$+NhXxzoUmNOk+e+O zp6T0h{)QfQy1-^?$gSV)|N3=CBgfWEL8*8Kp{ezp!?;xbQ!|(nwE{L@KD_KutnG7L z=k-9sf(u=4B_{{0X%-Ry$7nLFYC&YHU0O!yeK98bO;JI_Lje?q-|!Sw{J&QIaj z(V<+?l$cQjWq|7WJ73Oj&~x>XK^&mk6Z;wG{_WqQpT9z+^xh-vE__2Zu$v?XF6n9Z z8KC)l|LAy=W%73ogU*g(qr9_5P~vwNdbo@|2{&mbpWP89@2ZpqND)iIiBaidv#{R0 zN~vJboI8_i45erht1ofTka))3tq>gkk!(wh^;z1@=Dveb(w=Dqg;3NddpaTK=>;jwTvfR0W2*e22A5 zMOi=GMc~O zw%Gk>!RMblymuEBW#3T4fDB^>E$z3Ae6SBMiT@ig5BB9z94)yG_=51%0VqqtgCItY z3q*z8bea&@n=m(&wY-0&B3DVfJb5HYh5uL6nfOEXe}DYmYla!?*s^39`ySC^31dx` zj9qr6l59nG<_;=Uc4f`jijaLtmLVh&71@_i$u3#4%zS-*kH_yXIQMduF7{&1g@gcYA7gd(JfYMa_i-=m^O+MHn1yRs zPsoZ&xPDHKPP4E4X7n`%IAsx{pf=a`K2t>O!Dlto6!pe{uz0`xw(};|sZ#SLud`og z`?8!!F)@?Xt9~YBl4kt@;p|u1xOJbmi_PJZk*z!RJ1+7-WS6X=Xr>y@+_H7*6g4tD zVj=W_X&Aw)uS7WnPLK$$!F27INz0fmbLOT*bIZ$>32h8vDUL}p4 zbAeM!#yn+wr%WM*8U)E1FKRRa7j3G1ilt1SF`IDh=!oVt_#qTC-D_mld*ioWK%V4_ zvFMIzDtrHukCg{KJ0vbQc~BP@9!VboP(FQLAIsIG_P_Qqv;H?R)zB>jNYWvL4OD0f z=0ooerWz7gDaMjcoK~XGuBz%tv(kL!Y6!B?Xou3TAoIF^Z1(^0N0=(IW3j6?xL8B zJO;f=$Fn{!USV5gTA2iFw*~FhZ9lgo11baNzB@d}JzixLdGb6qbTKqJFsV8?Pjx@)%y_{Ad)a_1zrB{B9auU_=YLkra8$ zZz*)fs=9~!v2bx77AT{Phk)b3q$=9SkJhU$5AD80hw`PI*rugH4%(V`#9Gm%e7dY< zn0myPM)-jq?huYaw9a>&F7(M#0e2nO$K=cRBB!RQ{B1ksJvl2sXQLRU-nAACQ)`^o zs|J{*XTqBvB|r3qltoZ3p4#age@}^r)PuBUa6ZS|6K;}n-u2gYE}czpy=LUJP0IE9R-VqF2mob%j14AjLel;YHLbvtgWGQblzg4s+}Sr<0TY(B$@gO z>n3ttaA2O4qBq)SL({3y{z8y^Rx=IW*kk|kyIC zkOpCA!2+lp?0DrClC1o8&x(SgheJ=FcTcyq>UpVLU$01~?BfMGTrga(^K1k+zr1zQ z1o)!*$XK{^exN#GWa?T&K=?b#?z@?lM=6?>{bmCExM!pm5^zd4_Ke_*)BE7O+k)#u z>aq%BOa6yXWofk2)mKCpL^RRx!$-@a=;36dxTEb?;DJiY99({h8E}wtjwiGVnYoGyV7V$O3bgM_mh2$ zy)}BtB`_Oo%Oj;8$lZs2+$0U(gq_qQMO@f(lt|t`mM+lCLaYcRB4|s-cjh^o^7G2H zZE?WdQ+u73gzH&VTv9pQgdDya$On1k_SnZF3+pY`GmYCyZ~mGaQ1ZJ93PHFnz%qC6BE%zc8}qQ1mc&?_P}eAg_zv7xc7WJ!7?)IVOP zdBfYQVCXg@lGT>}X0Cg_BIft<*45^i+k2^@zL@L~22LXU@}fIiZiwjV9CO!T|0r#+ zdmND0?S1TEU;{sYDdK^bk0D__(UI6(`%P_K`{WWLg=Z_fep)y=bvDza1@x|GVB~m! zT|rDW+NQBKEf$|<-$z2e@@}n+nZ~vp))arWg%}iEoc#Mxq12aQTpZm*P|>*b(2^bU z-QFP|3@&>|%{7tA{8C%ZIA-wF-uFY8;kYgTuEd9d>&I_cIT6ElhpO>4^5y*BzDPO4 zXhH!58xX8Igcp>GinQftQ|V0zW~FRN0QRxx`xN?7HQd|%Va3}=9?&8mEjOQO@%0H? zNK9Xquj+EC#?l24;a0_Td!QnYvYa}Zw~cF& zWpDMJ^oLI!!91GBH?fjbTxQ=%9^fRzbLbfXb-SCTgPJQw_-)4C3EmA6- zggMXGo}TUeE8DGf-GP_N3s^A$wTBDyUW{Ef2+{TVD=&;Kibe#Sgol1NYBDA>CGzLt zf13D_V{WveLLLe^?(>5X#Yg_EfHv;StvZet?6?mj8yhXG|ffvzk+) zEpnRGf5DoL&r@#X{K9=C7Yq5c@_|RN=!Ja-TB*+ImC2>==-s{06vS`0)x?vaWiy?} zwx8MHbhS=Pb!DPj+i*SX&-5hO=F6?=xw*2~x*yC^9yqy3F1v?;)$UaiE;viiN?UQK z2qosu47cSqX*$O!g6H70$SloM$>$E?V&duf4syDYB17r20)}rMXFQ^*&Y?}A3?*GF zMRLSL_=pImk2j!-h}IbYHc>HI{bex|baT|_5*K$FC599a{Pcze3;xtOo9)Kh7wXDR zlpan6)U002W!aBIkh@Q9G_eAq;QvU`Owu<|5`L(vF!*Vckqx)Ar4q4 zvQwQCX4M?ZHVs`(kzsBdXpUyXST`_>Rb}lFcg4J$^F_%HHlm2>-n&ndrz#v*ks`Yh z-w@v-R}X#&5N;E2*_y&rr_qIpq_gtB-(G5iIZ`Laju@{HUg(u()|r}=nj(l-iVO{< zi&{=nKL-%TQI9MQuDLk85jz+^ho@~;BEh&oaLJS~a%9t9(p=Ud3@>BV)8=+@7m^tu zdiBIXxFHt|ADkHTG|||M(~2CSH!$^+FatgdL?PJY4gnaJUSAbk+Fd+n;GGj|=-*KN zVYm4?`1b;bHzfL**y^>La(02g?uu5vg77s$B5n8?{^qj*vMx{cf7;+s?M62DFh$~G z1WdbtkME$ws3@@7SSf&l+2j;NRLhu&0~PhhAp`9{#pruF`uxSGmX5l?3TAq<-sM-O z?m&vi=KQxljMZ3)RFvt=6%gy+-1~#uj23(&jHWzOyAg8?DJQ5U(hnIt&Szfkujnw-VrmVe z$egmN)+%Q^ROogKus3{kZK>V*t^1uX!mb$p^vq_nEKku_8H5^0>z3T6I|VF*0iMP~?SA@63y-J+aD!tz(F0kMmU|ihah#h{WGmu zQi!d)HfbMlG>zocfI!lvx?UQ5ELO}GpJGW#B>e*+r8UMzI4al(ENs{mAkKrP?h+W~ zh`_q=r9R3@tw41d`z<#jYbMsiSkqqAk)r=d&m@7cy>V7i5bO=k-@@PfQq;o-4Cy|m zN%8IVK6g0z>L!j*EPwK-@D;ASf3`;EhklASVAq>)(9hR_I5;0HC5<~QL^Z!TX4A1jU6^&AI8 zuN0J}Z4mSPp+2T4A=6?6Re%=giM<{PO2V=~=20mfp#ouTA~>B}f|UM7qsc606j7gM zTQkmo(QPt5=_y;mp0~}6=PtnlO(*cSisoJVjtH)VlW2V@zg&_e+O46bk?k_1S6acY zKyjV^?)L8ZMVywF{;7(kU4$C;mFPU$AS*cQFPDIc{Q7s@iRql1CiK(;vB>8n$kfE- zL95He3N|w#C7a`HpF3U>3Z6-!s#<0lW;7AG0NfjYMmPDd&{Vq(+x}%F<4A zJ0vC?&$4IoUnj7EB z=ZMP%@h~elyjE<8u%pkahxQbu0Zgo|bTN{R8In!{rb!#(bfcjvgah)qFGv=d^?(X4 zFHqwkm} zqb9h8(I7r#5MLq;&b9LaohZCU1E}Xrclcc^+B{J5;aVDqBB1 z+iK*{tHXAx_CXG3rsk`q)7nT3o${B79RfXRyQN*_y3HUKMTux7J+#>#+~*lASW|BQ zA%}wc?#z&vLL^Vy-q0-IXE)#pnJ^QDEN^nw)E031rc{)}#=R0tT=JqRhwVNyHBp{x zfb($YxU)!ew2^(w-bK^^l+4}6&g^ci!}8k%`s6J8N>bm+SfYp>pq$(%eK;F;G|Hdp zu!n*~tlh=TuO!YP?5j{PoML6bOR8$%7ekzRvZnzv=h>d!>5rCs$6?i<7Zbc(fHhgo zLucBPhs}R97}W4y=K0U)zOLOVYI(I1QW;jSvyoc6pQelf)IgPshvIm1Vg|b?crxwu z>nVb?x0$p;M02=5dpa6Mq#GFlxCVaczH_~ou0qtYzQ1v zgL`ugA$PX`V}}r4C1cWfsOf~r>6GOaj~ zMZW#Ch*jkVraJV{U576|g)q4*k(Pq5oJrYlkcGUC=Uyn`y)(UZINwR*U)Exx?Pg_* z@WwzEJQFIT0;+sO+o;nKL0lYn7SJ?NtqSVOG;+N^&bbpKcezck&q++-mYE4=;{z}1 z)cA(af9Z4@Q~%cf7(hn*U2qC31To@uDu1=>r=?&3k-(Ohx=h3^nE`-0W}eA7t<0cK zNX0JE3;QX-{x=H-PE04Z&q;F!d4T4Q%Q?Rvw~_}U0Y?29p(nX)i1WBhn1^=!qwHi% zJlCDop3#UtM?m=%;h{k3%nwg(p0c9&;YpK~q<-x8>x}FhCM4D3W7q`9+t7`!uj1p# z%`>iYB3f&3lY>_yQ}(cQUtExVs)oXRq>lbc{+mHAmmU!X(zdS zX)eFOW7Y!R8JbjnXREm5;|w|nkRDRcn_H4Cjric&)KXT}Aq?LN;CUv?u)h`WWELgW3>fkU6CHf{G zuLd?$xuFx9`O7b{t99pGUl6CDdb0CoS@6MeECZ9C=gy%OIa*mVfcAIG)L19p0(F$? zN;E#{Fz!P#2o`@5GQxy|L>fC<97!3j-ooi5-R!Ah*Scfd*l)#^5jz#SQ}`#TO|AqY z?rY+1TNw?#IB%?z<8Hf8_WlHVZPMjq>Yq+emV9o*J4;J`O}KD?-fg)JmtpwZ6Og&* zckSJXQeFH^`hg!(12La$<4K^ed7abv7AVSP;TxvH^O*GPiurQ=eUGCke(j631uZfd zNpJ${irHv{t#SYscMv)1@we{3v7a<`I2J((Nq@|aL@hSt61|FkPgQ9IcK^W*T`wO{ zqW)dCZ3NiJqK?oB2%;j*heSf0w)5`7^amB8*&NXfpg0@6Z+WrwWat0zL&aobe5bI? zR=@!;e?G+*l`a{6d=J>PVTP|Kx~F$93|ocdp)8~m$Q*qfN{m-zS`An*AWIRKwIIc1 zDb1rwuiG^)MH-oKZuZ!`37sa&^7)Q;$w8p?L|8CWViYf9M0qFcIMIv0ftT8ZA{6Vw zl!{lc=2%BY!2KZv_5*MJ z_DO@-t+`3V_Ld3_+5Nr7xz>?J#3&2(dzUv-uZiH#p14~2okDdkhxr7sl3yC1QI!la zw9-29U(DAN7dg~o0@E!=TVa{73G_kUkeJLS#`!vg&;{^4ivas8*}eNb%2eD_!kVr= z2L8W$T7{4T&u5j`4o|@p*PGjZ2kMvFhYH{!HrLnK9<@^PZ6pdN76E z-ui^)FCk2t5IJkN$747o4-9d|FL1E9PWN{tqUPsZ*f?%w=FOhwT)idq;r!e7wXXt4 znreF(3_WDkO#`%?ApuX@nYHr_w|2{{47567ywwsOikgLVG0Aa>H5q%9waC6>Qmy0w zdNB4A*hA&4xzpEIe#C@i9gPB3c2kp7s}a zt*X_rLa%QXc&tu|1?!3`m&##nf&tD!5qvVxJ?&a{7Ew2gm?{#&N(m$+3;vBNOlBBN z} zoH?whRA|SL-{qDLreGUamgf!aZUQc$@918RcsuO22Osk;{}t2gDwiumth_)_HWIIh zDLeS?&He;XC*1o)DLlZGI^$2d;o;v(FC;MoUQQcQys%~|ey(4>EdAF6=X+*FG<5!8 zJ!c+DWS42T<`?>z|6plcaCmKaK_pHli=n9w%(gnZ8Agvu=2Q{io;c#_>e@v?@3oLC z@;5A0pVB+DXgeCTDeb<7hGO2vCZEXLD|wR=UC29?P7Y#q>p{v=K7+&sPR64zGY$K* zy#yJ2a)oEg#z&#G;ic;B0@GzmoHYRSOwL{j!6}D@U6$;+5%NiaSQurj438pJTFUKH zV^xv~^WuSJqmmb=y%S?Z89KSQALnTpH<{FmZgm75QcA8aZ!a9MPjD~@jxBqbNcfZ5 zP23x})5G!hgRAOGaBsvr9nVU)p23)Aj=v^#xxOftuTF4KS=GqyP4omlikFkXUm^NH z=n{T}x$J;;OI?K!@5IbUeY@h^lzQ?HgDZ zDDLr5KjM)c_)yJEuqJcB=6xgI5N){4xO3AXKEFFM1Nil8cigK7Ef*6|L#KP(X844d z&7!|9dlcU7f2BdyAAJ1@6_fzlYYk0eDV-{B3OR5DgS0WZ`4k5R>2Z9S91i zkbG%rtpz)Tqmtz9~)Py*`R6& zeSa>0QyeR)B}K07Mo*``up}=XQF$575?22n$By-dWVO~b6hGByqFU%Drzd@?c#s1T zE~%Qn8N|m`ir(Xb)=TB-WQX$YUx}(-JTkUq=(o+ayAlT&cvs3({9`QxenyN1DR9L+ z2XJGR+Bna3mYGFq|C>1zGqA{VL1bRI=a1>@ugCRA4h$)ZQc}Wl&BYu%qS2&54+W37 z)jm9-;YY*mIl-|V%cDR5(X2w7f_T_?S`$ddKN2n3wg39nX!}J!sCK3@&+HN!cOOHV zDDbMo5Xm_HP{%~ov(8rYTTCR}euZ2g`O3d&k-1@!R0p?GSRIeWtemc5z?DSxk4Vgm zGhFm;2NjZ>(R1sKpIWx=@Qic>!s+7BT+Zso2>$0kDov8vNqw&mhSU*-B(|cm-e&BL ziOs={`zYzcm7{exLp9gs@@N3#%v^Hm^J<QMCTB5*(@$~hx;^=BfpN?p!c+s|Xr*5Cb#*gY3y7L4mqhjsUP%PxVH_EOWl9`%w~>b z_Uo09AaeWqHTDZ&WQ=b(ZuXkTR`?;dc)3@lAciXq>l+w6)PGik3trk`Q;_BJxph=s z>xs?Vq?`CFfou~sGyiwe-A;k8IzQQ`p1vtXjB;aMP1jdeJano*_Z`WYmuhi`@V#2- z*jnTGNScEax(aT4f0ZA2`>(j@$&IjhJh1JJ)g9A*S+Zv?fn!Y?WQ}j>ibLt-!>tY+ z)OhC&-|BqjU17y)3d)k~<*EH~#Y76FWAH9*jf6|MUji_XutReAPZLlH{s#CU9{c0t zn3plas_=~8y(-A8MH$&gTo-N{n1@h9x~AQ*fVr*U?xQq$h;ZK%G3EU!s}I{lw~nJM zFL=Wt*kw_8i?cq;ks{#W+&$UhqM*Esz50e$-s=($&6S8`<^*0Q)l;OEAgaq2tPr3i zhQ)Kr^Xc6~ z$@E#Kz!qNx?G#oQVhzJqf7j1bk8~onuam%Qcj|ECom>sLULsd*OgrpIwAo`lfd!Ad zNOe;$@(GU1A@nfO?R|2@x-Ye*UUrPno?lYJb)Vkz)j@j)z~hKf#El(p2X?U3jC`LA8#48yg+{tZp0%|dXjTq82}31knd-UBK)>9KqcO5VyxUlD zI_}k}>FUv2w5xE#&s8hI=fP@>!l7nPlZ^3aDTCq07!wD<`?euHd0mSPgcFiWSO$`n zvqJGC2YtL{GnsEqttXqB%p6Y8Ry{(pG6hqR=PCE+Q*09D`}<`MP?`rDJs}~ITW<^( za5gMYf10y;j;gi+uk0r*G*OZ@wOdbWYaA!FzR*uur62}%@j=l1OJ3mW+kSH}C!EJZ zxGM@ONdv^svKk8S8M%3CP8*mjPKBE!E?NDbHa~XxZ5lCDaAzz3K1s&}@{QZBOpqiv zjfXZK{p8lbMARY>zQu6x!48bdAD*P&N zAfrgx`TlAx<{2Xf-5A;G8tB4eG2QA~f0pM2L-)BB_?p1%IR6{7uVe^YKK!`GCB^PmxSpprdd($u{K+sbYRUMin)nZ*08ATX{HrxpsAd= zx$7u?QuYp0!8JjdhaKh)5sGSs&taid8->{Y9_YS>^ zs-Sex4FzY^3Admh3qm+B21+p`;Fw)N=m%!?#PxAye_UG< z9YsKCZd9{3fOyiFe(Kx4zsE!KdEEevc3gj824a^Ig)C)}rQR@;5TXlZ`%*2b$dgrd z0blu(lEckiEOt<4*MJW^+jNuiNzgE8Q{{B^CwfDR+oMy@1Ptlk%|}8tFhh+IC9oFo9t9Zp{xEZksMism&tOr7d>#(0}zOjPJ9x0n62& z?j->ViognrHg#t(nU6G9HQ-V-eh3733d}GV20EFOu*Hor zfwXl6-^Y(K5_uj54Gk{FNfZf4yixg!dox`=dYeVGnU+gkI4Pn$%%N+UeDrJze<0U{ zkiwItl>o#e)2S0fXA<3hgGdZjwdvtzo6kQ_-W!?PWJq3k=Fo9D*Q3Ub2EL`?TA|yr z2mq-gOw=8j`)F;2+l65lk}+RXvZXdg?x%mHbCRf$J^D(BBTEJjPZ2 z(%&HCBSVakbz>q|_RN=FgVtLFh-&_IYm5=wgC&GF8EUV`N#8yIBl`n(7W9dqUTpwV zN3%va#LvpKLTI7)K9Ny3B)DBMGfW0@tu=P5C%BgKC!hW2H!sjTTK17Jpus=*yK@Pr zQ^q`kPr68X4vatS!pNH@1*01vhFOO^F^K9UmIjv^x}h>+-Uh~>Z>hi`QYrRA^g2ev zV9a+{S0uK*kdSI{`=6u3JR|?xRS1XM9KHu^6&22Si%;VX~*;#6bOjICe|AQ6^Zq%n9Mkb1;Gh_Qk0hTB16O}T1f#?7!7;3>% z$Dm3DS#ZCKCAoly&QL9Ug07t>B(YuD-&j&^nKgbgT?;_&B%b;;JnKrlc7QV+h{Y}< z*myjx2;0W&C&bpu$7a|1L*IO%RXZY1kI*#TsCPbSt}y(TTU7alPOeKyQeb)!13PrU zTz@C)-XLCdPKSTmm`Mi#)_`K}dm09y6Kd!a8y&(M(K{Lz$Q}Lww2d|KWlZkeKw*^0 zx_KkhOD|eh9pGx-7op_;P>rv69@PVpKgFE1J=qZCvxgd>Jy>2r0K4B&4N6!pt7i56 z27>Q6JT^e5fw=sY7%a*tgPr}W^M@=l7e38si)^Bq>S`BQvE{Fz4P8+O zDHhx4wsEoIn`DQRAt}fP@nhxG^VPA#S(L^PH2efotcxA*Cv|2e`3r$V6o{^TI>BjF zeha?%+(S`%rz|^-;v_9FqM6#VV%yhWfr-{F!TxBED*e=3<*$`9Y$T=ZZTIgZa%~fK z;6!c&j3&tS7Y`Ckn3QIR%3hNHVwI*DBDb-0A%wkP>BS!VPym}+y&mk4EN>ZGc4y_T z&5&`E>UMv(#0|7vhZO&V!P<%ev-)$R#b{`@f;0F{%=D~(luC1yR7m=`p<9b)hpeT`@dl?1x zd!}Qx(;w8Oq!tUgI6{_RKiZP?x z7l_KBf_$H4WwuV$iJpshM?A^N&1K9p`wH_MtZzY@0uk=|6Fp*jjgu}x=&5}$bH{1f zpeKZ;jSxxx&Q(r5{K>gG*NlndAU{qhLG!>RS5QP;Mhq?MKv31ts*}tT#EG{l3=I)m zkR7;hKEzpvsww0zLe5S-#q#_5a>8LQKVBz3%(9&niU*&Ku7_CbRWO{oOLFdd(gA4Q z!>tjVv6;a)U&;r}ClVDE+->>kQ9|*OgUp^{? zIG}HtU614KKjgpxDpTdIn(#RKOMBQL-&|~JAM?V1xsx+k2h4>i^NU3>sUvO@=znz` z5M@|$Y3cm~X!O<4=7uf1JV%&2HMCXa`}n&L(yArn21;_*1Cv4W(;xqCrT}7XD*+s4;X4%0}T=M3=+-FsBqAVv0PC9+l#nbPe z%a~B`t(uiOL0V?0PKdkND8A_y(p<%CwbJ6Rk5K6DPrapD)M$)jtH#l<9CS zY&0-0L{xuxA*Dsc^~iR}zk`+L6)L|N@(n&%H$IrQr>lrzxPUX0o#=M_9<4)oBP$8q zfXW3|#f*=*-==G0COdfDwTiFzcUjLPc(9QQO4_0}&(lqW{k{8afX|{UVC+X!^ig@p zazXMfbJCHoGm6tz2p4gAkLI=BQK5esnX)QDR_-)KkGQc^L^NO!RMB@&fc#wnYH8*i zm)|KOSOG}yUYmM*L#Yp9ZSAK*qLa+n9e&wS|B30}QdRETp{d*->PU9Ey!J1O zkp$|Q6_f!MntV@=a3eqc!WSM%;aYqCUX9BhTw$EA) zRp3pNWhCFtRY6c*EXn+Ir657y37J$+{XO|lgMMTpP^o-mw~hNd!Wm@8A&uigK8Z%AOGX;eq-$l_({`hP{W*dfrnI*J?EvK6&Y^SXi zRfRHUujAMbT>w?5zZrl8-^9r3$B-H}_ZemUJuaZ`srcw|A}2*=<9 zR$ipJmtzjc>%EBK)(D~YHf3mEexy>vU^Zb9qSC>0>zqB1r;hjY!=Q9hMXvN`!~DS_ ztFAcA)!mOuXfkqc((^v1uY!6zZOiZcv)Q^fxiOb>)h?ml+hG-Fwi;PgaaE-l3S( zDt{l}Le{JoqEn^2S#z`6bDg4LP|I)KxsJ*=tu?A!(0_u~8dfPU;cNi_wSP-V77QE{ z@ZYGlMtjSKaX0{gP8 Date: Sun, 6 Jan 2013 19:36:06 -0500 Subject: [PATCH 07/13] Set color to white on certain decal types --- .../net/sf/openrocket/gui/figure3d/RealisticRenderer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java index e90a6efb6..43edd17e1 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -108,7 +108,11 @@ public class RealisticRenderer extends RocketRenderer { gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); gl.glLightModeli(GL2.GL_LIGHT_MODEL_COLOR_CONTROL, GL2.GL_SEPARATE_SPECULAR_COLOR); - convertColor(a.getPaint(), color); + if (t != null && tex != null && t.getEdgeMode() != Decal.EdgeMode.STICKER) { + color[0] = color[1] = color[2] = 1; + } else { + convertColor(a.getPaint(), color); + } color[3] = alpha; gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); From 903564687dfc073fb18130ee20d02263ea13f0d7 Mon Sep 17 00:00:00 2001 From: bkuker Date: Sun, 6 Jan 2013 19:39:36 -0500 Subject: [PATCH 08/13] Better choice for zNear & zFar to fix some artifacts --- core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java index 9645fdd31..8b3f558a0 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketFigure3d.java @@ -426,7 +426,7 @@ public class RocketFigure3d extends JPanel implements GLEventListener { gl.glMatrixMode(GLMatrixFunc.GL_PROJECTION); gl.glLoadIdentity(); - glu.gluPerspective(fovY, ratio, 0.05f, 100f); + glu.gluPerspective(fovY, ratio, 0.1f, 50f); gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); redrawExtras = true; From c6bdd1ab7817ba0c5a6d899b7e418a5540ec8773 Mon Sep 17 00:00:00 2001 From: bkuker Date: Mon, 7 Jan 2013 16:22:48 -0500 Subject: [PATCH 09/13] Fix the clamp message --- core/resources/l10n/messages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/resources/l10n/messages.properties b/core/resources/l10n/messages.properties index 94ded4c94..a43d03cd2 100644 --- a/core/resources/l10n/messages.properties +++ b/core/resources/l10n/messages.properties @@ -740,7 +740,7 @@ AppearanceCfg.lbl.texture.repeat = Repeat: ! Texture Wrap Modes TextureWrap.Repeat = Repeat TextureWrap.Mirror = Repeat & Mirror -TextureWrap.Clamp = Clamp Edge Pixel +TextureWrap.Clamp = Clamp Edge Pixels TextureWrap.Sticker = Sticker ! RocketConfig From e11d48566e34f07a5eb9b24b3693d2d02a89c61f Mon Sep 17 00:00:00 2001 From: bkuker Date: Mon, 7 Jan 2013 16:23:13 -0500 Subject: [PATCH 10/13] Import cleanup --- .../net/sf/openrocket/gui/configdialog/AppearancePanel.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java index b3194aadf..0161668f3 100644 --- a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java +++ b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java @@ -22,7 +22,6 @@ import javax.swing.SwingUtilities; import net.miginfocom.swing.MigLayout; import net.sf.openrocket.appearance.AppearanceBuilder; -import net.sf.openrocket.appearance.Decal; import net.sf.openrocket.appearance.Decal.EdgeMode; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.gui.SpinnerEditor; @@ -250,12 +249,12 @@ public class AppearancePanel extends JPanel { { // Color add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); //mDefault.addEnableComponent(colorButton, false); - colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER); + colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == EdgeMode.STICKER); add(colorButton); ab.addChangeListener(new StateChangeListener() { @Override public void stateChanged(EventObject e) { - colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == Decal.EdgeMode.STICKER); + colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == EdgeMode.STICKER); } }); } From d1586d3d34770ea620a4636c5f410679e4cbfa96 Mon Sep 17 00:00:00 2001 From: bkuker Date: Mon, 7 Jan 2013 16:26:56 -0500 Subject: [PATCH 11/13] Format for cleaner pull request --- .../gui/figure3d/RocketRenderer.java | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java index 74be92755..959908620 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RocketRenderer.java @@ -25,41 +25,41 @@ import net.sf.openrocket.util.Coordinate; */ public abstract class RocketRenderer { protected static final LogHelper log = Application.getLogger(); - + final ComponentRenderer cr = new ComponentRenderer(); - + private final float[] selectedEmissive = { 1, 0, 0, 1 }; private final float[] colorBlack = { 0, 0, 0, 1 }; - + public void init(GLAutoDrawable drawable) { cr.init(drawable); } - + public void dispose(GLAutoDrawable drawable) { } - + public void updateFigure() { cr.updateFigure(); } - + public abstract void renderComponent(GL2 gl, RocketComponent c, float alpha); - + public abstract boolean isDrawn(RocketComponent c); - + public abstract boolean isDrawnTransparent(RocketComponent c); - + public RocketComponent pick(GLAutoDrawable drawable, Configuration configuration, Point p, Set ignore) { final GL2 gl = drawable.getGL().getGL2(); gl.glEnable(GL.GL_DEPTH_TEST); - + // Store a vector of pickable parts. final Vector pickParts = new Vector(); - + for (RocketComponent c : configuration) { if (ignore != null && ignore.contains(c)) continue; - + // Encode the index of the part as a color // if index is 0x0ABC the color ends up as // 0xA0B0C000 with each nibble in the coresponding @@ -67,7 +67,7 @@ public abstract class RocketRenderer { gl.glColor4ub((byte) ((pickParts.size() >> 4) & 0xF0), (byte) ((pickParts.size() << 0) & 0xF0), (byte) ((pickParts.size() << 4) & 0xF0), (byte) 1); pickParts.add(c); - + if (isDrawnTransparent(c)) { gl.glEnable(GL.GL_CULL_FACE); gl.glCullFace(GL.GL_FRONT); @@ -77,44 +77,44 @@ public abstract class RocketRenderer { cr.renderGeometry(gl, c); } } - + ByteBuffer bb = ByteBuffer.allocateDirect(4); - + gl.glReadPixels(p.x, p.y, 1, 1, GL.GL_RGB, GL.GL_UNSIGNED_BYTE, bb); - + final int pickColor = bb.getInt(); final int pickIndex = ((pickColor >> 20) & 0xF00) | ((pickColor >> 16) & 0x0F0) | ((pickColor >> 12) & 0x00F); - + if (pickIndex < 0 || pickIndex > pickParts.size() - 1) return null; - + return pickParts.get(pickIndex); } - + public void render(GLAutoDrawable drawable, Configuration configuration, Set selection) { - + if (cr == null) throw new IllegalStateException(this + " Not Initialized"); - + GL2 gl = drawable.getGL().getGL2(); - + gl.glEnable(GL.GL_DEPTH_TEST); // enables depth testing gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - + { // Draw selection outline at nearest Z gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_EMISSION, selectedEmissive, 0); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_DIFFUSE, colorBlack, 0); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_AMBIENT, colorBlack, 0); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_SPECULAR, colorBlack, 0); gl.glLineWidth(5.0f); - + for (RocketComponent c : configuration) { if (selection.contains(c)) { // Draw as lines, set Z to nearest gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_LINE); gl.glDepthRange(0, 0); cr.renderGeometry(gl, c); - + // Draw polygons, always passing depth test, // setting Z to farthest gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL); @@ -128,7 +128,7 @@ public abstract class RocketRenderer { gl.glPolygonMode(GL.GL_FRONT_AND_BACK, GL2GL3.GL_FILL); gl.glMaterialfv(GL.GL_FRONT_AND_BACK, GLLightingFunc.GL_EMISSION, colorBlack, 0); } // done with selection outline - + // Draw all inner components for (RocketComponent c : configuration) { if (isDrawn(c)) { @@ -137,9 +137,9 @@ public abstract class RocketRenderer { } } } - + renderMotors(gl, configuration); - + // Draw Tube and Transition back faces, blended with depth test // so that they show up behind. gl.glEnable(GL.GL_CULL_FACE); @@ -152,7 +152,7 @@ public abstract class RocketRenderer { } } gl.glDisable(GL.GL_CULL_FACE); - + // Draw T&T front faces blended, without depth test gl.glEnable(GL.GL_BLEND); gl.glEnable(GL.GL_CULL_FACE); @@ -166,9 +166,9 @@ public abstract class RocketRenderer { } gl.glDisable(GL.GL_BLEND); gl.glDisable(GL.GL_CULL_FACE); - + } - + private void renderMotors(GL2 gl, Configuration configuration) { String motorID = configuration.getFlightConfigurationID(); Iterator iterator = configuration.motorIterator(); @@ -177,15 +177,15 @@ public abstract class RocketRenderer { Motor motor = mount.getMotor(motorID); double length = motor.getLength(); double radius = motor.getDiameter() / 2; - + Coordinate[] position = ((RocketComponent) mount).toAbsolute(new Coordinate(((RocketComponent) mount) .getLength() + mount.getMotorOverhang() - length)); - + for (int i = 0; i < position.length; i++) { cr.renderMotor(gl, position[i], length, radius); } } - + } - + } From e888ce9c63264f949f9767e5b0f91a0b01f56bff Mon Sep 17 00:00:00 2001 From: bkuker Date: Mon, 7 Jan 2013 18:57:28 -0500 Subject: [PATCH 12/13] Use Sticker method to draw all decals, to allow the transparency and paint interaction behavior you would expect. --- .../datafiles/examples/Sticker Decals.ork | Bin 109239 -> 166894 bytes .../gui/configdialog/AppearancePanel.java | 7 ---- .../gui/figure3d/RealisticRenderer.java | 39 +++++++----------- 3 files changed, 15 insertions(+), 31 deletions(-) diff --git a/core/resources/datafiles/examples/Sticker Decals.ork b/core/resources/datafiles/examples/Sticker Decals.ork index 2d1840b9d203002bb8e8492122da688a61f5d299..368294e60f505d1fcb4ff59bb722ed907404e647 100644 GIT binary patch delta 88972 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
    Q{GN0{&`V11oI4`UrxQyr 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 qr0{>!`yYA1` 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 A6aWAK diff --git a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java index 0161668f3..3591f820a 100644 --- a/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java +++ b/core/src/net/sf/openrocket/gui/configdialog/AppearancePanel.java @@ -249,14 +249,7 @@ public class AppearancePanel extends JPanel { { // Color add(new JLabel(trans.get("AppearanceCfg.lbl.color.Color"))); //mDefault.addEnableComponent(colorButton, false); - colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == EdgeMode.STICKER); add(colorButton); - ab.addChangeListener(new StateChangeListener() { - @Override - public void stateChanged(EventObject e) { - colorButton.setEnabled(ab.getImage() == null || ab.getEdgeMode() == EdgeMode.STICKER); - } - }); } { // Scale diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java index 43edd17e1..f3b9a9208 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -108,13 +108,9 @@ public class RealisticRenderer extends RocketRenderer { gl.glLightModeli(GL2ES1.GL_LIGHT_MODEL_TWO_SIDE, 1); gl.glLightModeli(GL2.GL_LIGHT_MODEL_COLOR_CONTROL, GL2.GL_SEPARATE_SPECULAR_COLOR); - if (t != null && tex != null && t.getEdgeMode() != Decal.EdgeMode.STICKER) { - color[0] = color[1] = color[2] = 1; - } else { - convertColor(a.getPaint(), color); - } - color[3] = alpha; + convertColor(a.getPaint(), color); + color[3] = alpha; gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, color, 0); gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, color, 0); gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, color, 0); @@ -128,16 +124,15 @@ public class RealisticRenderer extends RocketRenderer { gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_SPECULAR, colorBlack, 0); gl.glMateriali(GL.GL_BACK, GLLightingFunc.GL_SHININESS, 0); + cr.renderGeometry(gl, c); + if (t != null && tex != null) { - if (t.getEdgeMode() == Decal.EdgeMode.STICKER) { - cr.renderGeometry(gl, c); - } - gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MIN_FILTER, GL.GL_LINEAR_MIPMAP_LINEAR); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_MAG_FILTER, GL.GL_LINEAR); tex.enable(gl); tex.bind(gl); + gl.glMatrixMode(GL.GL_TEXTURE); gl.glPushMatrix(); @@ -151,18 +146,16 @@ public class RealisticRenderer extends RocketRenderer { gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_T, toEdgeMode(t.getEdgeMode())); gl.glTexParameteri(GL.GL_TEXTURE_2D, GL.GL_TEXTURE_WRAP_S, toEdgeMode(t.getEdgeMode())); - if (t.getEdgeMode() == Decal.EdgeMode.STICKER) { - convertColor(a.getPaint(), color); - gl.glTexParameterfv(GL.GL_TEXTURE_2D, GL2.GL_TEXTURE_BORDER_COLOR, colorClear, 0); - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, colorWhite, 0); - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, colorWhite, 0); - gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, colorWhite, 0); - gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, colorWhite, 0); - - gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); - gl.glEnable(GL.GL_BLEND); - gl.glDepthFunc(GL.GL_LEQUAL); - } + + gl.glTexParameterfv(GL.GL_TEXTURE_2D, GL2.GL_TEXTURE_BORDER_COLOR, colorClear, 0); + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_DIFFUSE, colorWhite, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_DIFFUSE, colorWhite, 0); + gl.glMaterialfv(GL.GL_FRONT, GLLightingFunc.GL_AMBIENT, colorWhite, 0); + gl.glMaterialfv(GL.GL_BACK, GLLightingFunc.GL_AMBIENT, colorWhite, 0); + + gl.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA); + gl.glEnable(GL.GL_BLEND); + gl.glDepthFunc(GL.GL_LEQUAL); gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); @@ -180,8 +173,6 @@ public class RealisticRenderer extends RocketRenderer { gl.glPopMatrix(); gl.glMatrixMode(GLMatrixFunc.GL_MODELVIEW); tex.disable(gl); - } else { - cr.renderGeometry(gl, c); } } From 17ea631a9fba2d65b44fe35b9846f741e69ebdd1 Mon Sep 17 00:00:00 2001 From: bkuker Date: Tue, 8 Jan 2013 09:22:57 -0500 Subject: [PATCH 13/13] Fix corrupted image --- .../datafiles/examples/Sticker Decals.ork | Bin 166894 -> 194875 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/resources/datafiles/examples/Sticker Decals.ork b/core/resources/datafiles/examples/Sticker Decals.ork index 368294e60f505d1fcb4ff59bb722ed907404e647..18e1a26d12503ccdb8ac1fb47a6244fed124325f 100644 GIT binary patch delta 28413 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 delta 197 zcmdn}iTmAjuI&wPnKZekGcRD2m?&i?$jlJn&CbC91WX`;fnnMLM(O6Ix$R4H8MiOZ zWx88G{rL|j4JVLPa7kuzc50D=OKNgrPO)BoQFeegBa;Y&2m=QYs!me}tAd)tU