From cf9e74b1d0b7dc556ed886ea9dd4e80219f01d6b Mon Sep 17 00:00:00 2001 From: SpaiR Date: Sun, 24 Jan 2021 22:20:37 +0200 Subject: [PATCH] [Example] Migrate example to the new module --- example/build.gradle | 15 +- .../src/main/java/ExampleImGuiNodeEditor.java | 124 +++++ example/src/main/java/ExampleImNodes.java | 111 ++++ example/src/main/java/Extra.java | 30 + example/src/main/java/Graph.java | 65 +++ example/src/main/java/Main.java | 29 +- .../src/main/java/imgui/app/Application.java | 28 +- imgui-app/src/main/java/imgui/app/Color.java | 62 +++ .../main/java/imgui/app/Configuration.java | 2 +- imgui-app/src/main/java/imgui/app/Window.java | 39 +- imgui-binding/src/main/java/imgui/ImGui.java | 6 +- imgui-lwjgl3/src/test/java/ExampleUi.java | 512 ------------------ .../src/test/java/ImGuiGlfwExample.java | 288 ---------- .../src/test/resources/Duke_waving.png | Bin 11674 -> 0 bytes .../src/test/resources/Righteous-Regular.ttf | Bin 40892 -> 0 bytes .../src/test/resources/Roboto-Regular.ttf | Bin 158604 -> 0 bytes imgui-lwjgl3/src/test/resources/basis33.ttf | Bin 39488 -> 0 bytes 17 files changed, 489 insertions(+), 822 deletions(-) create mode 100644 example/src/main/java/ExampleImGuiNodeEditor.java create mode 100644 example/src/main/java/ExampleImNodes.java create mode 100644 example/src/main/java/Extra.java create mode 100644 example/src/main/java/Graph.java create mode 100644 imgui-app/src/main/java/imgui/app/Color.java delete mode 100644 imgui-lwjgl3/src/test/java/ExampleUi.java delete mode 100644 imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java delete mode 100644 imgui-lwjgl3/src/test/resources/Duke_waving.png delete mode 100644 imgui-lwjgl3/src/test/resources/Righteous-Regular.ttf delete mode 100644 imgui-lwjgl3/src/test/resources/Roboto-Regular.ttf delete mode 100644 imgui-lwjgl3/src/test/resources/basis33.ttf diff --git a/example/build.gradle b/example/build.gradle index 39da07f..ab2573e 100644 --- a/example/build.gradle +++ b/example/build.gradle @@ -1,12 +1,25 @@ plugins { id 'application' - id 'checkstyle' } repositories { mavenCentral() } +application { + mainClass = 'Main' +} + dependencies { implementation project(':imgui-app') } + +task start(type: JavaExec, dependsOn: build) { + main = 'Main' + classpath = sourceSets.test.runtimeClasspath + jvmArgs = ["-Dimgui.library.path=${System.getProperty('libPath', '../bin')}"] + + if (org.gradle.internal.os.OperatingSystem.current().isMacOsX()) { + jvmArgs += ['-XstartOnFirstThread', '-Djava.awt.headless=true'] + } +} diff --git a/example/src/main/java/ExampleImGuiNodeEditor.java b/example/src/main/java/ExampleImGuiNodeEditor.java new file mode 100644 index 0000000..0567a8d --- /dev/null +++ b/example/src/main/java/ExampleImGuiNodeEditor.java @@ -0,0 +1,124 @@ +import imgui.extension.nodeditor.NodeEditor; +import imgui.extension.nodeditor.NodeEditorConfig; +import imgui.extension.nodeditor.NodeEditorContext; +import imgui.extension.nodeditor.flag.NodeEditorPinKind; +import imgui.flag.ImGuiCond; +import imgui.internal.ImGui; +import imgui.type.ImBoolean; +import imgui.type.ImLong; + +import java.awt.Desktop; +import java.net.URI; + +public class ExampleImGuiNodeEditor { + private static final NodeEditorContext CONTEXT; + private static final String URL = "https://github.com/thedmd/imgui-node-editor/tree/687a72f940"; + + static { + NodeEditorConfig config = new NodeEditorConfig(); + config.setSettingsFile(null); + CONTEXT = new NodeEditorContext(config); + } + + public static void show(final ImBoolean showImNodeEditorWindow, final Graph graph) { + ImGui.setNextWindowSize(500, 400, ImGuiCond.Once); + ImGui.setNextWindowPos(ImGui.getMainViewport().getPosX() + 100, ImGui.getMainViewport().getPosY() + 200, ImGuiCond.Once); + if (ImGui.begin("imgui-node-editor Demo", showImNodeEditorWindow)) { + ImGui.text("This a demo graph editor for imgui-node-editor"); + + ImGui.alignTextToFramePadding(); + ImGui.text("Repo:"); + ImGui.sameLine(); + if (ImGui.button(URL)) { + try { + Desktop.getDesktop().browse(new URI(URL)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + if (ImGui.button("Navigate to content")) { + NodeEditor.navigateToContent(1); + } + + NodeEditor.setCurrentEditor(CONTEXT); + NodeEditor.begin("Node Editor"); + + for (Graph.GraphNode node : graph.nodes.values()) { + NodeEditor.beginNode(node.nodeId); + + ImGui.text(node.getName()); + + NodeEditor.beginPin(node.getInputPinId(), NodeEditorPinKind.Input); + ImGui.text("-> In"); + NodeEditor.endPin(); + + ImGui.sameLine(); + + NodeEditor.beginPin(node.getOutputPinId(), NodeEditorPinKind.Output); + ImGui.text("Out ->"); + NodeEditor.endPin(); + + NodeEditor.endNode(); + } + + if (NodeEditor.beginCreate()) { + final ImLong a = new ImLong(); + final ImLong b = new ImLong(); + if (NodeEditor.queryNewLink(a, b)) { + final Graph.GraphNode source = graph.findByOutput(a.get()); + final Graph.GraphNode target = graph.findByInput(b.get()); + if (source != null && target != null && source.outputNodeId != target.nodeId && NodeEditor.acceptNewItem()) { + source.outputNodeId = target.nodeId; + } + } + } + NodeEditor.endCreate(); + + int uniqueLinkId = 1; + for (Graph.GraphNode node : graph.nodes.values()) { + if (graph.nodes.containsKey(node.outputNodeId)) { + NodeEditor.link(uniqueLinkId++, node.getOutputPinId(), graph.nodes.get(node.outputNodeId).getInputPinId()); + } + } + + NodeEditor.suspend(); + + final long nodeWithContextMenu = NodeEditor.getNodeWithContextMenu(); + if (nodeWithContextMenu != -1) { + ImGui.openPopup("node_context"); + ImGui.getStateStorage().setInt(ImGui.getID("delete_node_id"), (int) nodeWithContextMenu); + } + + if (ImGui.isPopupOpen("node_context")) { + final int targetNode = ImGui.getStateStorage().getInt(ImGui.getID("delete_node_id")); + if (ImGui.beginPopup("node_context")) { + if (ImGui.button("Delete " + graph.nodes.get(targetNode).getName())) { + graph.nodes.remove(targetNode); + ImGui.closeCurrentPopup(); + } + ImGui.endPopup(); + } + } + + if (NodeEditor.showBackgroundContextMenu()) { + ImGui.openPopup("node_editor_context"); + } + + if (ImGui.beginPopup("node_editor_context")) { + if (ImGui.button("Create New Node")) { + final Graph.GraphNode node = graph.createGraphNode(); + final float canvasX = NodeEditor.toCanvasX(ImGui.getMousePosX()); + final float canvasY = NodeEditor.toCanvasY(ImGui.getMousePosY()); + NodeEditor.setNodePosition(node.nodeId, canvasX, canvasY); + ImGui.closeCurrentPopup(); + } + ImGui.endPopup(); + } + + NodeEditor.resume(); + NodeEditor.end(); + } + ImGui.end(); + } +} diff --git a/example/src/main/java/ExampleImNodes.java b/example/src/main/java/ExampleImNodes.java new file mode 100644 index 0000000..565b4c8 --- /dev/null +++ b/example/src/main/java/ExampleImNodes.java @@ -0,0 +1,111 @@ +import imgui.extension.imnodes.ImNodes; +import imgui.extension.imnodes.ImNodesContext; +import imgui.extension.imnodes.flag.ImNodesPinShape; +import imgui.flag.ImGuiCond; +import imgui.flag.ImGuiMouseButton; +import imgui.internal.ImGui; +import imgui.type.ImBoolean; +import imgui.type.ImInt; + +import java.awt.Desktop; +import java.net.URI; + +public class ExampleImNodes { + private static final ImNodesContext CONTEXT = new ImNodesContext(); + private static final String URL = "https://github.com/Nelarius/imnodes/tree/5959729410"; + + private static final ImInt LINK_A = new ImInt(); + private static final ImInt LINK_B = new ImInt(); + + public static void show(final ImBoolean showImNodesWindow, final Graph graph) { + ImGui.setNextWindowSize(500, 400, ImGuiCond.Once); + ImGui.setNextWindowPos(ImGui.getMainViewport().getPosX() + 100, ImGui.getMainViewport().getPosY() + 100, ImGuiCond.Once); + if (ImGui.begin("ImNodes Demo", showImNodesWindow)) { + ImGui.text("This a demo graph editor for ImNodes"); + + ImGui.alignTextToFramePadding(); + ImGui.text("Repo:"); + ImGui.sameLine(); + if (ImGui.button(URL)) { + try { + Desktop.getDesktop().browse(new URI(URL)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + ImNodes.editorContextSet(CONTEXT); + ImNodes.beginNodeEditor(); + + for (Graph.GraphNode node : graph.nodes.values()) { + ImNodes.beginNode(node.nodeId); + + ImNodes.beginNodeTitleBar(); + ImGui.text(node.getName()); + ImNodes.endNodeTitleBar(); + + ImNodes.beginInputAttribute(node.getInputPinId(), ImNodesPinShape.CircleFilled); + ImGui.text("In"); + ImNodes.endInputAttribute(); + + ImGui.sameLine(); + + ImNodes.beginOutputAttribute(node.getOutputPinId()); + ImGui.text("Out"); + ImNodes.endOutputAttribute(); + + ImNodes.endNode(); + } + + int uniqueLinkId = 1; + for (Graph.GraphNode node : graph.nodes.values()) { + if (graph.nodes.containsKey(node.outputNodeId)) { + ImNodes.link(uniqueLinkId++, node.getOutputPinId(), graph.nodes.get(node.outputNodeId).getInputPinId()); + } + } + + final boolean isEditorHovered = ImNodes.isEditorHovered(); + + ImNodes.endNodeEditor(); + + if (ImNodes.isLinkCreated(LINK_A, LINK_B)) { + final Graph.GraphNode source = graph.findByOutput(LINK_A.get()); + final Graph.GraphNode target = graph.findByInput(LINK_B.get()); + if (source != null && target != null && source.outputNodeId != target.nodeId) { + source.outputNodeId = target.nodeId; + } + } + + if (ImGui.isMouseClicked(ImGuiMouseButton.Right)) { + final int hoveredNode = ImNodes.getHoveredNode(); + if (hoveredNode != -1) { + ImGui.openPopup("node_context"); + ImGui.getStateStorage().setInt(ImGui.getID("delete_node_id"), hoveredNode); + } else if (isEditorHovered) { + ImGui.openPopup("node_editor_context"); + } + } + + if (ImGui.isPopupOpen("node_context")) { + final int targetNode = ImGui.getStateStorage().getInt(ImGui.getID("delete_node_id")); + if (ImGui.beginPopup("node_context")) { + if (ImGui.button("Delete " + graph.nodes.get(targetNode).getName())) { + graph.nodes.remove(targetNode); + ImGui.closeCurrentPopup(); + } + ImGui.endPopup(); + } + } + + if (ImGui.beginPopup("node_editor_context")) { + if (ImGui.button("Create New Node")) { + final Graph.GraphNode node = graph.createGraphNode(); + ImNodes.setNodeScreenSpacePos(node.nodeId, ImGui.getMousePosX(), ImGui.getMousePosY()); + ImGui.closeCurrentPopup(); + } + ImGui.endPopup(); + } + } + ImGui.end(); + } +} diff --git a/example/src/main/java/Extra.java b/example/src/main/java/Extra.java new file mode 100644 index 0000000..6d29f57 --- /dev/null +++ b/example/src/main/java/Extra.java @@ -0,0 +1,30 @@ +import imgui.ImGui; +import imgui.app.Application; +import imgui.type.ImBoolean; + +public class Extra { + private static final ImBoolean SHOW_DEMO_WINDOW = new ImBoolean(false); + private static final ImBoolean SHOW_IMNODES_DEMO_WINDOW = new ImBoolean(false); + private static final ImBoolean SHOW_IMGUI_NODE_EDITOR_DEMO_WINDOW = new ImBoolean(false); + + private static final Graph GRAPH = new Graph(); + + public static void show(final Application app) { + ImGui.colorEdit3("Background Color", app.getColorBg().getData()); + ImGui.checkbox("Show Demo Window", SHOW_DEMO_WINDOW); + ImGui.checkbox("Show ImNodes Demo Window", SHOW_IMNODES_DEMO_WINDOW); + ImGui.checkbox("Show imgui-node-editor Demo Window", SHOW_IMGUI_NODE_EDITOR_DEMO_WINDOW); + + if (SHOW_DEMO_WINDOW.get()) { + ImGui.showDemoWindow(SHOW_DEMO_WINDOW); + } + + if (SHOW_IMNODES_DEMO_WINDOW.get()) { + ExampleImNodes.show(SHOW_IMNODES_DEMO_WINDOW, GRAPH); + } + + if (SHOW_IMGUI_NODE_EDITOR_DEMO_WINDOW.get()) { + ExampleImGuiNodeEditor.show(SHOW_IMGUI_NODE_EDITOR_DEMO_WINDOW, GRAPH); + } + } +} diff --git a/example/src/main/java/Graph.java b/example/src/main/java/Graph.java new file mode 100644 index 0000000..04f24e1 --- /dev/null +++ b/example/src/main/java/Graph.java @@ -0,0 +1,65 @@ +import java.util.HashMap; +import java.util.Map; + +public final class Graph { + public int nextNodeId = 1; + public int nextPinId = 100; + + public final Map nodes = new HashMap<>(); + + public Graph() { + final GraphNode first = createGraphNode(); + final GraphNode second = createGraphNode(); + first.outputNodeId = second.nodeId; + } + + public GraphNode createGraphNode() { + final GraphNode node = new GraphNode(nextNodeId++, nextPinId++, nextPinId++); + this.nodes.put(node.nodeId, node); + return node; + } + + public GraphNode findByInput(final long inputPinId) { + for (GraphNode node : nodes.values()) { + if (node.getInputPinId() == inputPinId) { + return node; + } + } + return null; + } + + public GraphNode findByOutput(final long outputPinId) { + for (GraphNode node : nodes.values()) { + if (node.getOutputPinId() == outputPinId) { + return node; + } + } + return null; + } + + public static final class GraphNode { + public final int nodeId; + public final int inputPinId; + public final int outputPinId; + + public int outputNodeId = -1; + + public GraphNode(final int nodeId, final int inputPinId, final int outputPintId) { + this.nodeId = nodeId; + this.inputPinId = inputPinId; + this.outputPinId = outputPintId; + } + + public int getInputPinId() { + return inputPinId; + } + + public int getOutputPinId() { + return outputPinId; + } + + public String getName() { + return "Node " + (char) (64 + nodeId); + } + } +} diff --git a/example/src/main/java/Main.java b/example/src/main/java/Main.java index 60b941a..728d195 100644 --- a/example/src/main/java/Main.java +++ b/example/src/main/java/Main.java @@ -2,9 +2,16 @@ import imgui.ImGui; import imgui.ImGuiIO; import imgui.app.Application; import imgui.app.Configuration; +import imgui.extension.imnodes.ImNodes; import imgui.flag.ImGuiConfigFlags; +import imgui.flag.ImGuiInputTextFlags; +import imgui.type.ImString; + +public class Main extends Application { + private final ImString str = new ImString(5); + private final float[] flt = new float[1]; + private int count = 0; -public final class Main extends Application { @Override protected void configure(final Configuration config) { config.setTitle("Example Application"); @@ -20,11 +27,29 @@ public final class Main extends Application { io.addConfigFlags(ImGuiConfigFlags.DockingEnable); // Enable Docking io.addConfigFlags(ImGuiConfigFlags.ViewportsEnable); // Enable Multi-Viewport / Platform Windows io.setConfigViewportsNoTaskBarIcon(true); + + ImNodes.initialize(); + } + + @Override + protected void disposeImGui() { + ImNodes.shutdown(); + super.disposeImGui(); } @Override public void process() { - ImGui.text("Hello, World"); + ImGui.text("Hello, World!"); + if (ImGui.button("Save")) { + count++; + } + ImGui.sameLine(); + ImGui.text(String.valueOf(count)); + ImGui.inputText("string", str, ImGuiInputTextFlags.CallbackResize); + ImGui.sliderFloat("float", flt, 0, 1); + ImGui.separator(); + ImGui.text("Extra"); + Extra.show(this); } public static void main(final String[] args) { diff --git a/imgui-app/src/main/java/imgui/app/Application.java b/imgui-app/src/main/java/imgui/app/Application.java index ed7a6dd..3224ad4 100644 --- a/imgui-app/src/main/java/imgui/app/Application.java +++ b/imgui-app/src/main/java/imgui/app/Application.java @@ -12,7 +12,11 @@ package imgui.app; *
  • {@link #configure(Configuration)} It's called before window creation, so only basic application setups are expected.
  • *
  • {@link #initWindow(Configuration)} Method creates application window.
  • *
  • {@link #initImGui(Configuration)} Method initializes Dear ImGui context. Could be used to do Dear ImGui setup as well.
  • + *
  • {@link #preRun()} Method called once, before application loop.
  • + *
  • {@link #preProcess()} Method called every frame, before {@link #process()}.
  • *
  • {@link #process()} Method is meant to be overridden with user application logic.
  • + *
  • {@link #postProcess()} Method called every frame, after {@link #process()}.
  • + *
  • {@link #postRun()} Method called once, after application loop.
  • *
  • {@link #disposeImGui()} Destroys Dear ImGui context.
  • *
  • {@link #disposeWindow()} Destroys application window.
  • * @@ -27,17 +31,11 @@ package imgui.app; *
    {@code
      * import imgui.ImGui;
      * import imgui.app.Application;
    - * import imgui.app.Configuration;
      *
      * public class Main extends Application {
      *     @Override
    - *     protected void configure(final Configuration config) {
    - *         config.setTitle("Example Application");
    - *     }
    - *
    - *     @Override
      *     public void process() {
    - *         ImGui.text("Hello, World");
    + *         ImGui.text("Hello, World!");
      *     }
      *
      *     public static void main(final String[] args) {
    @@ -55,13 +53,25 @@ package imgui.app;
      */
     public abstract class Application extends Window {
         /**
    -     * Method is called before window creation. Could be used to provide basic window information, like title name etc.
    +     * Method called before window creation. Could be used to provide basic window information, like title name etc.
          *
          * @param config configuration object with basic window information
          */
         protected void configure(final Configuration config) {
         }
     
    +    /**
    +     * Method called once, before application run loop.
    +     */
    +    protected void preRun() {
    +    }
    +
    +    /**
    +     * Method called once, after application run loop.
    +     */
    +    protected void postRun() {
    +    }
    +
         /**
          * Entry point of any ImGui application. Use it to start the application loop.
          *
    @@ -69,7 +79,9 @@ public abstract class Application extends Window {
          */
         public static void launch(final Application app) {
             initialize(app);
    +        app.preRun();
             app.run();
    +        app.postRun();
             app.dispose();
         }
     
    diff --git a/imgui-app/src/main/java/imgui/app/Color.java b/imgui-app/src/main/java/imgui/app/Color.java
    new file mode 100644
    index 0000000..33cb78a
    --- /dev/null
    +++ b/imgui-app/src/main/java/imgui/app/Color.java
    @@ -0,0 +1,62 @@
    +package imgui.app;
    +
    +import lombok.Data;
    +import lombok.NoArgsConstructor;
    +
    +/**
    + * Object for color data.
    + */
    +@Data
    +@NoArgsConstructor
    +public class Color implements Cloneable {
    +    private final float[] data = new float[4];
    +
    +    public Color(final float[] color) {
    +        set(color);
    +    }
    +
    +    public Color(final float red, final float green, final float blue, final float alpha) {
    +        data[0] = red;
    +        data[1] = green;
    +        data[2] = blue;
    +        data[3] = alpha;
    +    }
    +
    +    public final void set(final float red, final float green, final float blue, final float alpha) {
    +        data[0] = red;
    +        data[1] = green;
    +        data[2] = blue;
    +        data[3] = alpha;
    +    }
    +
    +    public final void set(final float[] color) {
    +        System.arraycopy(color, 0, data, 0, 4);
    +    }
    +
    +    public final float getRed() {
    +        return data[0];
    +    }
    +
    +    public final float getGreen() {
    +        return data[1];
    +    }
    +
    +    public final float getBlue() {
    +        return data[2];
    +    }
    +
    +    public final float getAlpha() {
    +        return data[3];
    +    }
    +
    +    /**
    +     * Method to clone Color instance.
    +     *
    +     * @return cloned Color instance
    +     */
    +    @Override
    +    @SuppressWarnings("MethodDoesntCallSuperMethod")
    +    public Color clone() {
    +        return new Color(data);
    +    }
    +}
    diff --git a/imgui-app/src/main/java/imgui/app/Configuration.java b/imgui-app/src/main/java/imgui/app/Configuration.java
    index 92f6d55..3692504 100644
    --- a/imgui-app/src/main/java/imgui/app/Configuration.java
    +++ b/imgui-app/src/main/java/imgui/app/Configuration.java
    @@ -6,7 +6,7 @@ import lombok.Data;
      * Data class to provide basic information about the window. Like, the title name etc.
      */
     @Data
    -public final class Configuration {
    +public class Configuration {
         /**
          * Application title.
          */
    diff --git a/imgui-app/src/main/java/imgui/app/Window.java b/imgui-app/src/main/java/imgui/app/Window.java
    index c5b36d8..8e6f06a 100644
    --- a/imgui-app/src/main/java/imgui/app/Window.java
    +++ b/imgui-app/src/main/java/imgui/app/Window.java
    @@ -13,7 +13,6 @@ import org.lwjgl.opengl.GL32;
     import org.lwjgl.system.MemoryStack;
     import org.lwjgl.system.MemoryUtil;
     
    -import java.awt.Color;
     import java.nio.IntBuffer;
     import java.util.Objects;
     
    @@ -29,13 +28,14 @@ public abstract class Window {
         private String glslVersion = null;
     
         /**
    -     * Pointer to native GLFW window.
    +     * Pointer to the native GLFW window.
          */
         protected long handle;
    +
         /**
          * Background color of the window.
          */
    -    protected Color colorBg = Color.GRAY;
    +    protected final Color colorBg = new Color(.5f, .5f, .5f, 1);
     
         /**
          * Method to initialize application.
    @@ -126,13 +126,27 @@ public abstract class Window {
             ImGui.createContext();
         }
     
    +    /**
    +     * Method called every frame, before calling {@link #process()} method.
    +     */
    +    protected void preProcess() {
    +    }
    +
    +    /**
    +     * Method called every frame, after calling {@link #process()} method.
    +     */
    +    protected void postProcess() {
    +    }
    +
         /**
          * Main application loop.
          */
         protected final void run() {
             while (!GLFW.glfwWindowShouldClose(handle)) {
                 startFrame();
    +            preProcess();
                 process();
    +            postProcess();
                 endFrame();
             }
         }
    @@ -143,10 +157,7 @@ public abstract class Window {
         public abstract void process();
     
         private void startFrame() {
    -        if (colorBg != null) {
    -            GL32.glClearColor(colorBg.getRed() / 255f, colorBg.getGreen() / 255f, colorBg.getBlue() / 255f, colorBg.getAlpha() / 255f);
    -        }
    -
    +        GL32.glClearColor(colorBg.getRed(), colorBg.getGreen(), colorBg.getBlue(), colorBg.getAlpha());
             GL32.glClear(GL32.GL_COLOR_BUFFER_BIT | GL32.GL_DEPTH_BUFFER_BIT);
             imGuiGlfw.newFrame();
             ImGui.newFrame();
    @@ -183,4 +194,18 @@ public abstract class Window {
             GLFW.glfwTerminate();
             Objects.requireNonNull(GLFW.glfwSetErrorCallback(null)).free();
         }
    +
    +    /**
    +     * @return pointer to the native GLFW window
    +     */
    +    public final long getHandle() {
    +        return handle;
    +    }
    +
    +    /**
    +     * @return {@link Color} instance, which represents background color for the window
    +     */
    +    public final Color getColorBg() {
    +        return colorBg;
    +    }
     }
    diff --git a/imgui-binding/src/main/java/imgui/ImGui.java b/imgui-binding/src/main/java/imgui/ImGui.java
    index be6bf03..88f8220 100644
    --- a/imgui-binding/src/main/java/imgui/ImGui.java
    +++ b/imgui-binding/src/main/java/imgui/ImGui.java
    @@ -45,10 +45,10 @@ public class ImGui {
     
             final String extractedLibAbsPath = tryLoadFromClasspath(fullLibName);
     
    -        if (extractedLibAbsPath != null) {
    -            System.load(extractedLibAbsPath);
    -        } else if (libPath != null) {
    +        if (libPath != null) {
                 System.load(Paths.get(libPath).resolve(fullLibName).toFile().getAbsolutePath());
    +        } else if (extractedLibAbsPath != null) {
    +            System.load(extractedLibAbsPath);
             } else {
                 System.loadLibrary(libName);
             }
    diff --git a/imgui-lwjgl3/src/test/java/ExampleUi.java b/imgui-lwjgl3/src/test/java/ExampleUi.java
    deleted file mode 100644
    index c20d36d..0000000
    --- a/imgui-lwjgl3/src/test/java/ExampleUi.java
    +++ /dev/null
    @@ -1,512 +0,0 @@
    -import imgui.ImGuiViewport;
    -import imgui.flag.ImGuiColorEditFlags;
    -import imgui.flag.ImGuiCond;
    -import imgui.flag.ImGuiDir;
    -import imgui.flag.ImGuiInputTextFlags;
    -import imgui.flag.ImGuiStyleVar;
    -import imgui.flag.ImGuiWindowFlags;
    -import imgui.extension.imnodes.ImNodes;
    -import imgui.extension.imnodes.ImNodesContext;
    -import imgui.extension.imnodes.flag.ImNodesPinShape;
    -import imgui.extension.nodeditor.NodeEditor;
    -import imgui.internal.ImGui;
    -import imgui.internal.flag.ImGuiDockNodeFlags;
    -import imgui.extension.nodeditor.NodeEditorConfig;
    -import imgui.extension.nodeditor.NodeEditorContext;
    -import imgui.extension.nodeditor.flag.NodeEditorPinKind;
    -import imgui.type.ImBoolean;
    -import imgui.ImColor;
    -import imgui.type.ImInt;
    -import imgui.type.ImLong;
    -import imgui.type.ImString;
    -import org.lwjgl.BufferUtils;
    -
    -import javax.imageio.ImageIO;
    -import java.awt.image.BufferedImage;
    -import java.io.File;
    -import java.io.IOException;
    -import java.nio.ByteBuffer;
    -import java.util.HashMap;
    -import java.util.Map;
    -
    -import static org.lwjgl.opengl.GL32.GL_CLAMP_TO_EDGE;
    -import static org.lwjgl.opengl.GL32.GL_LINEAR;
    -import static org.lwjgl.opengl.GL32.GL_RGBA;
    -import static org.lwjgl.opengl.GL32.GL_RGBA8;
    -import static org.lwjgl.opengl.GL32.GL_TEXTURE_2D;
    -import static org.lwjgl.opengl.GL32.GL_TEXTURE_MAG_FILTER;
    -import static org.lwjgl.opengl.GL32.GL_TEXTURE_MIN_FILTER;
    -import static org.lwjgl.opengl.GL32.GL_TEXTURE_WRAP_S;
    -import static org.lwjgl.opengl.GL32.GL_TEXTURE_WRAP_T;
    -import static org.lwjgl.opengl.GL32.GL_UNSIGNED_BYTE;
    -import static org.lwjgl.opengl.GL32.glBindTexture;
    -import static org.lwjgl.opengl.GL32.glGenTextures;
    -import static org.lwjgl.opengl.GL32.glTexImage2D;
    -import static org.lwjgl.opengl.GL32.glTexParameteri;
    -
    -@SuppressWarnings({"MagicNumber", "VisibilityModifier"})
    -final class ExampleUi {
    -    private static final String IMGUI_DEMO_LINK = "https://raw.githubusercontent.com/ocornut/imgui/05bc204/imgui_demo.cpp";
    -
    -    private static final int COLOR_DODGERBLUE = ImColor.rgbToColor("#1E90FF");
    -    private static final int COLOR_CORAL = ImColor.rgbToColor("#FF7F50");
    -    private static final int COLOR_LIMEGREEN = ImColor.rgbToColor("#32CD32");
    -
    -    // Test data for payload
    -    private String dropTargetText = "Drop Here";
    -
    -    // Resizable input example
    -    private final ImString resizableStr = new ImString(5);
    -
    -    // Toggles
    -    private final ImBoolean showBottomDockedWindow = new ImBoolean(true);
    -    private final ImBoolean showDemoWindow = new ImBoolean();
    -    private final ImBoolean showImNodesWindow = new ImBoolean(false);
    -    private final ImBoolean showImNodeEditorWindow = new ImBoolean(false);
    -
    -    // Attach image example
    -    private int dukeTexture = 0;
    -
    -    private boolean isBottomDockedWindowInit = false;
    -
    -    // To modify background color dynamically
    -    final float[] backgroundColor = new float[]{0.5f, 0, 0};
    -
    -    // Context for imnodes example
    -    private ImNodesContext imNodesContext;
    -
    -    // Context for imgui-node-editor example
    -    private NodeEditorContext nodeEditorContext;
    -
    -    // Graph used both for imnodes and imgui-node-editor demo
    -    private final Graph graph = new Graph();
    -
    -    void render() throws Exception {
    -        if (imNodesContext == null) {
    -            imNodesContext = new ImNodesContext();
    -        }
    -        if (nodeEditorContext == null) {
    -            final NodeEditorConfig config = new NodeEditorConfig();
    -            config.setSettingsFile(null);
    -            nodeEditorContext = new NodeEditorContext(config);
    -        }
    -
    -        final int dockspaceId = ImGui.getID("MyDockSpace");
    -        showDockSpace(dockspaceId);
    -        setupBottomDockedWindow(dockspaceId);
    -        showBottomDockedWindow();
    -
    -        final ImGuiViewport mainViewport = ImGui.getMainViewport();
    -        ImGui.setNextWindowSize(600, 300, ImGuiCond.Once);
    -        ImGui.setNextWindowPos(mainViewport.getWorkPosX() + 10, mainViewport.getWorkPosY() + 10, ImGuiCond.Once);
    -
    -        ImGui.begin("Custom window");  // Start Custom window
    -        showWindowImage();
    -        showToggles();
    -
    -        ImGui.separator();
    -
    -        showDragNDrop();
    -        showBackgroundPicker();
    -
    -        ImGui.separator();
    -
    -        showResizableInput();
    -
    -        ImGui.separator();
    -        ImGui.newLine();
    -
    -        showDemoLink();
    -
    -        ImGui.end();  // End Custom window
    -
    -        if (showDemoWindow.get()) {
    -            ImGui.showDemoWindow(showDemoWindow);
    -        }
    -
    -        if (showImNodesWindow.get()) {
    -           showImNodesWindow();
    -        }
    -
    -        if (showImNodeEditorWindow.get()) {
    -            showImNodeEditorWindow();
    -        }
    -    }
    -
    -    private void showDockSpace(final int dockspaceId) {
    -        final ImGuiViewport mainViewport = ImGui.getMainViewport();
    -        final int windowFlags = ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoCollapse | ImGuiWindowFlags.NoResize
    -            | ImGuiWindowFlags.NoMove | ImGuiWindowFlags.NoBringToFrontOnFocus | ImGuiWindowFlags.NoNavFocus | ImGuiWindowFlags.NoBackground;
    -
    -        ImGui.setNextWindowPos(mainViewport.getWorkPosX(), mainViewport.getWorkPosY());
    -        ImGui.setNextWindowSize(mainViewport.getWorkSizeX(), mainViewport.getWorkSizeY());
    -        ImGui.setNextWindowViewport(mainViewport.getID());
    -        ImGui.pushStyleVar(ImGuiStyleVar.WindowRounding, 0);
    -        ImGui.pushStyleVar(ImGuiStyleVar.WindowBorderSize, 0);
    -
    -        ImGui.pushStyleVar(ImGuiStyleVar.WindowPadding, 0, 0);
    -        ImGui.begin("Dockspace Demo", windowFlags);
    -        ImGui.popStyleVar(3);
    -
    -        ImGui.dockSpace(dockspaceId, 0, 0, ImGuiDockNodeFlags.PassthruCentralNode);
    -        ImGui.end();
    -    }
    -
    -    private void setupBottomDockedWindow(final int dockspaceId) {
    -        if (!isBottomDockedWindowInit) {
    -            ImGui.dockBuilderRemoveNode(dockspaceId);
    -            ImGui.dockBuilderAddNode(dockspaceId, ImGuiDockNodeFlags.DockSpace);
    -
    -            final int dockIdBottom = ImGui.dockBuilderSplitNode(dockspaceId, ImGuiDir.Down, .25f, null, null);
    -
    -            ImGui.dockBuilderDockWindow("Bottom Docked Window", dockIdBottom);
    -            ImGui.dockBuilderSetNodeSize(dockIdBottom, 150f, 150f);
    -            ImGui.dockBuilderFinish(dockspaceId);
    -
    -            isBottomDockedWindowInit = true;
    -        }
    -    }
    -
    -    private void showBottomDockedWindow() {
    -        if (showBottomDockedWindow.get()) {
    -            ImGui.begin("Bottom Docked Window", showBottomDockedWindow, ImGuiWindowFlags.AlwaysAutoResize);
    -            ImGui.text("An example of how to create docked windows.");
    -            ImGui.end();
    -        }
    -    }
    -
    -    private void showWindowImage() throws IOException {
    -        if (dukeTexture == 0) {
    -            dukeTexture = loadTexture(ImageIO.read(new File("src/test/resources/Duke_waving.png")));
    -        }
    -
    -        // Draw an image in the bottom-right corner of the window
    -        final float xPoint = ImGui.getWindowPosX() + ImGui.getWindowSizeX() - 100;
    -        final float yPoint = ImGui.getWindowPosY() + ImGui.getWindowSizeY();
    -        ImGui.getWindowDrawList().addImage(dukeTexture, xPoint, yPoint - 180, xPoint + 100, yPoint);
    -    }
    -
    -    private void showToggles() {
    -        ImGui.checkbox("Show Demo Window", showDemoWindow);
    -        ImGui.checkbox("Show Bottom Docked Window", showBottomDockedWindow);
    -        ImGui.checkbox("Show demo for imnodes", showImNodesWindow);
    -        ImGui.checkbox("Show demo for imgui-node-editor", showImNodeEditorWindow);
    -        if (ImGui.button("Reset Bottom Dock Window")) {
    -            isBottomDockedWindowInit = false;
    -        }
    -    }
    -
    -    private void showDragNDrop() {
    -        ImGui.button("Drag me");
    -        if (ImGui.beginDragDropSource()) {
    -            ImGui.setDragDropPayloadObject("payload_type", "Test Payload");
    -            ImGui.text("Drag started");
    -            ImGui.endDragDropSource();
    -        }
    -        ImGui.sameLine();
    -        ImGui.text(dropTargetText);
    -        if (ImGui.beginDragDropTarget()) {
    -            final Object payload = ImGui.acceptDragDropPayloadObject("payload_type");
    -            if (payload != null) {
    -                dropTargetText = (String) payload;
    -            }
    -            ImGui.endDragDropTarget();
    -        }
    -    }
    -
    -    private void showBackgroundPicker() {
    -        ImGui.alignTextToFramePadding();
    -        ImGui.text("Background color:");
    -        ImGui.sameLine();
    -        ImGui.colorEdit3("##click_counter_col", backgroundColor, ImGuiColorEditFlags.NoInputs | ImGuiColorEditFlags.NoDragDrop);
    -    }
    -
    -    private void showResizableInput() {
    -        ImGui.text("You can use text inputs with auto-resizable strings!");
    -        ImGui.inputText("Resizable input", resizableStr, ImGuiInputTextFlags.CallbackResize);
    -        ImGui.text("text len:");
    -        ImGui.sameLine();
    -        ImGui.textColored(COLOR_DODGERBLUE, Integer.toString(resizableStr.getLength()));
    -        ImGui.sameLine();
    -        ImGui.text("| buffer size:");
    -        ImGui.sameLine();
    -        ImGui.textColored(COLOR_CORAL, Integer.toString(resizableStr.getBufferSize()));
    -    }
    -
    -    private void showDemoLink() {
    -        ImGui.text("Consider to look the original ImGui demo: ");
    -        ImGui.setNextItemWidth(500);
    -        ImGui.textColored(COLOR_LIMEGREEN, IMGUI_DEMO_LINK);
    -        ImGui.sameLine();
    -        if (ImGui.button("Copy")) {
    -            ImGui.setClipboardText(IMGUI_DEMO_LINK);
    -        }
    -    }
    -
    -    private void showImNodesWindow() {
    -        ImGui.setNextWindowSize(400F, 400F, ImGuiCond.Appearing);
    -        ImGui.begin("Demo imnodes", showImNodesWindow);
    -
    -        ImGui.text("This a demo graph editor for ImNodes");
    -
    -        ImNodes.editorContextSet(imNodesContext);
    -        ImNodes.beginNodeEditor();
    -
    -        for (Graph.GraphNode node : graph.nodes.values()) {
    -            ImNodes.beginNode(node.nodeId);
    -
    -            ImNodes.beginNodeTitleBar();
    -            ImGui.text(node.getName());
    -            ImNodes.endNodeTitleBar();
    -
    -
    -            ImNodes.beginInputAttribute(node.getInputPinId(), ImNodesPinShape.CircleFilled);
    -            ImGui.text("In");
    -            ImNodes.endInputAttribute();
    -
    -            ImGui.sameLine();
    -
    -            ImNodes.beginOutputAttribute(node.getOutputPinId());
    -            ImGui.text("Out");
    -            ImNodes.endOutputAttribute();
    -
    -            ImNodes.endNode();
    -        }
    -
    -        int uniqueLinkId = 1;
    -        for (Graph.GraphNode node : graph.nodes.values()) {
    -            if (graph.nodes.containsKey(node.outputNodeId)) {
    -                ImNodes.link(uniqueLinkId++, node.getOutputPinId(), graph.nodes.get(node.outputNodeId).getInputPinId());
    -            }
    -        }
    -
    -        final boolean isEditorHovered = ImNodes.isEditorHovered();
    -
    -        ImNodes.endNodeEditor();
    -        final ImInt a = new ImInt();
    -        final ImInt b = new ImInt();
    -        if (ImNodes.isLinkCreated(a, b)) {
    -            final Graph.GraphNode source = graph.findByOutput(a.get());
    -            final Graph.GraphNode target = graph.findByInput(b.get());
    -            if (source != null && target != null && source.outputNodeId != target.nodeId) {
    -               source.outputNodeId = target.nodeId;
    -            }
    -        }
    -
    -        if (ImGui.isMouseClicked(1)) {
    -            final int hoveredNode = ImNodes.getHoveredNode();
    -            if (hoveredNode != -1) {
    -                ImGui.openPopup("node-context");
    -                ImGui.getStateStorage().setInt(ImGui.getID("delete-node-id"), hoveredNode);
    -            } else if (isEditorHovered) {
    -                ImGui.openPopup("node-editor-context");
    -            }
    -        }
    -
    -        if (ImGui.isPopupOpen("node-context")) {
    -            final int targetNode = ImGui.getStateStorage().getInt(ImGui.getID("delete-node-id"));
    -            if (ImGui.beginPopup("node-context")) {
    -                if (ImGui.button("Delete " + graph.nodes.get(targetNode).getName())) {
    -                    graph.nodes.remove(targetNode);
    -                    ImGui.closeCurrentPopup();
    -                }
    -                ImGui.endPopup();
    -            }
    -        }
    -
    -        if (ImGui.beginPopup("node-editor-context")) {
    -            if (ImGui.button("Create new node")) {
    -                final Graph.GraphNode node = graph.createGraphNode();
    -                ImNodes.setNodeScreenSpacePos(node.nodeId, ImGui.getMousePosX(), ImGui.getMousePosY());
    -                ImGui.closeCurrentPopup();
    -            }
    -            ImGui.endPopup();
    -        }
    -
    -        ImGui.end();
    -    }
    -
    -    private void showImNodeEditorWindow() {
    -        ImGui.setNextWindowSize(400F, 400F, ImGuiCond.Appearing);
    -        ImGui.begin("Demo imgui-node-editor", showImNodeEditorWindow);
    -
    -        ImGui.text("This a demo graph editor for imgui-node-editor");
    -
    -        if (ImGui.button("Navigate to content")) {
    -            NodeEditor.navigateToContent(1F);
    -        }
    -
    -        NodeEditor.setCurrentEditor(nodeEditorContext);
    -        NodeEditor.begin("Node Editor");
    -
    -        for (Graph.GraphNode node : graph.nodes.values()) {
    -            NodeEditor.beginNode(node.nodeId);
    -
    -            ImGui.text(node.getName());
    -
    -            NodeEditor.beginPin(node.getInputPinId(), NodeEditorPinKind.Input);
    -            ImGui.text("-> In");
    -            NodeEditor.endPin();
    -
    -            ImGui.sameLine();
    -
    -            NodeEditor.beginPin(node.getOutputPinId(), NodeEditorPinKind.Output);
    -            ImGui.text("Out ->");
    -            NodeEditor.endPin();
    -
    -            NodeEditor.endNode();
    -        }
    -
    -        if (NodeEditor.beginCreate()) {
    -            final ImLong a = new ImLong();
    -            final ImLong b = new ImLong();
    -            if (NodeEditor.queryNewLink(a, b)) {
    -                final Graph.GraphNode source = graph.findByOutput(a.get());
    -                final Graph.GraphNode target = graph.findByInput(b.get());
    -                if (source != null && target != null && source.outputNodeId != target.nodeId && NodeEditor.acceptNewItem()) {
    -                    source.outputNodeId = target.nodeId;
    -                }
    -            }
    -        }
    -        NodeEditor.endCreate();
    -
    -        int uniqueLinkId = 1;
    -        for (Graph.GraphNode node : graph.nodes.values()) {
    -            if (graph.nodes.containsKey(node.outputNodeId)) {
    -                NodeEditor.link(uniqueLinkId++, node.getOutputPinId(), graph.nodes.get(node.outputNodeId).getInputPinId());
    -            }
    -        }
    -
    -        NodeEditor.suspend();
    -        final long nodeWithContextMenu = NodeEditor.getNodeWithContextMenu();
    -        if (nodeWithContextMenu != -1) {
    -            ImGui.openPopup("node-context");
    -            ImGui.getStateStorage().setInt(ImGui.getID("delete-node-id"), (int) nodeWithContextMenu);
    -        }
    -
    -        if (ImGui.isPopupOpen("node-context")) {
    -            final int targetNode = ImGui.getStateStorage().getInt(ImGui.getID("delete-node-id"));
    -            if (ImGui.beginPopup("node-context")) {
    -                if (ImGui.button("Delete " + graph.nodes.get(targetNode).getName())) {
    -                    graph.nodes.remove(targetNode);
    -                    ImGui.closeCurrentPopup();
    -                }
    -                ImGui.endPopup();
    -            }
    -        }
    -
    -        if (NodeEditor.showBackgroundContextMenu()) {
    -            ImGui.openPopup("node-editor-context");
    -        }
    -        if (ImGui.beginPopup("node-editor-context")) {
    -            if (ImGui.button("Create new node")) {
    -                final Graph.GraphNode node = graph.createGraphNode();
    -                final float canvasX = NodeEditor.toCanvasX(ImGui.getMousePosX());
    -                final float canvasY = NodeEditor.toCanvasY(ImGui.getMousePosY());
    -                NodeEditor.setNodePosition(node.nodeId, canvasX, canvasY);
    -                ImGui.closeCurrentPopup();
    -            }
    -            ImGui.endPopup();
    -        }
    -        NodeEditor.resume();
    -
    -        NodeEditor.end();
    -        ImGui.end();
    -    }
    -
    -    private int loadTexture(final BufferedImage image) {
    -        final int[] pixels = new int[image.getWidth() * image.getHeight()];
    -        image.getRGB(0, 0, image.getWidth(), image.getHeight(), pixels, 0, image.getWidth());
    -
    -        final ByteBuffer buffer = BufferUtils.createByteBuffer(image.getWidth() * image.getHeight() * 4); // 4 for RGBA, 3 for RGB
    -        for (int y = 0; y < image.getHeight(); y++) {
    -            for (int x = 0; x < image.getWidth(); x++) {
    -                final int pixel = pixels[y * image.getWidth() + x];
    -                buffer.put((byte) ((pixel >> 16) & 0xFF));
    -                buffer.put((byte) ((pixel >> 8) & 0xFF));
    -                buffer.put((byte) (pixel & 0xFF));
    -                buffer.put((byte) ((pixel >> 24) & 0xFF));
    -            }
    -        }
    -        buffer.flip();
    -
    -        final int textureID = glGenTextures();
    -        glBindTexture(GL_TEXTURE_2D, textureID);
    -
    -        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
    -        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
    -
    -        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    -        glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
    -
    -        glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, image.getWidth(), image.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE, buffer);
    -
    -        return textureID;
    -    }
    -
    -
    -    // Simple graph struct for both of node editors demos
    -    private static final class Graph {
    -
    -        private int nextNodeId = 1;
    -        private int nextPinId = 100;
    -
    -        final Map nodes = new HashMap<>();
    -
    -        private Graph() {
    -            final GraphNode first = createGraphNode();
    -            final GraphNode second = createGraphNode();
    -            first.outputNodeId = second.nodeId;
    -        }
    -
    -        public GraphNode createGraphNode() {
    -            final GraphNode node = new GraphNode(nextNodeId++, nextPinId++, nextPinId++);
    -            this.nodes.put(node.nodeId, node);
    -            return node;
    -        }
    -
    -        public GraphNode findByInput(final long inputPinId) {
    -            for (GraphNode node : nodes.values()) {
    -                if (node.getInputPinId() == inputPinId) {
    -                    return node;
    -                }
    -            }
    -            return null;
    -        }
    -
    -        public GraphNode findByOutput(final long outputPinId) {
    -            for (GraphNode node : nodes.values()) {
    -                if (node.getOutputPinId() == outputPinId) {
    -                    return node;
    -                }
    -            }
    -            return null;
    -        }
    -
    -        private static final class GraphNode {
    -            private final int nodeId;
    -            private final int inputPinId;
    -            private final int outputPinId;
    -
    -            public int outputNodeId = -1;
    -
    -            private GraphNode(final int nodeId, final int inputPinId, final int outputPintId) {
    -                this.nodeId = nodeId;
    -                this.inputPinId = inputPinId;
    -                this.outputPinId = outputPintId;
    -            }
    -
    -            public int getInputPinId() {
    -                return inputPinId;
    -            }
    -
    -            public int getOutputPinId() {
    -                return outputPinId;
    -            }
    -
    -            public String getName() {
    -                return "Node " + (char) (64 + nodeId);
    -            }
    -        }
    -    }
    -}
    diff --git a/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java b/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java
    deleted file mode 100644
    index d6169a4..0000000
    --- a/imgui-lwjgl3/src/test/java/ImGuiGlfwExample.java
    +++ /dev/null
    @@ -1,288 +0,0 @@
    -import static org.lwjgl.glfw.Callbacks.glfwFreeCallbacks;
    -import static org.lwjgl.glfw.GLFW.GLFW_CONTEXT_VERSION_MAJOR;
    -import static org.lwjgl.glfw.GLFW.GLFW_CONTEXT_VERSION_MINOR;
    -import static org.lwjgl.glfw.GLFW.GLFW_FALSE;
    -import static org.lwjgl.glfw.GLFW.GLFW_OPENGL_CORE_PROFILE;
    -import static org.lwjgl.glfw.GLFW.GLFW_OPENGL_FORWARD_COMPAT;
    -import static org.lwjgl.glfw.GLFW.GLFW_OPENGL_PROFILE;
    -import static org.lwjgl.glfw.GLFW.GLFW_TRUE;
    -import static org.lwjgl.glfw.GLFW.GLFW_VISIBLE;
    -import static org.lwjgl.glfw.GLFW.glfwCreateWindow;
    -import static org.lwjgl.glfw.GLFW.glfwDefaultWindowHints;
    -import static org.lwjgl.glfw.GLFW.glfwDestroyWindow;
    -import static org.lwjgl.glfw.GLFW.glfwGetCurrentContext;
    -import static org.lwjgl.glfw.GLFW.glfwGetPrimaryMonitor;
    -import static org.lwjgl.glfw.GLFW.glfwGetVideoMode;
    -import static org.lwjgl.glfw.GLFW.glfwGetWindowSize;
    -import static org.lwjgl.glfw.GLFW.glfwInit;
    -import static org.lwjgl.glfw.GLFW.glfwMakeContextCurrent;
    -import static org.lwjgl.glfw.GLFW.glfwPollEvents;
    -import static org.lwjgl.glfw.GLFW.glfwSetErrorCallback;
    -import static org.lwjgl.glfw.GLFW.glfwSetWindowPos;
    -import static org.lwjgl.glfw.GLFW.glfwShowWindow;
    -import static org.lwjgl.glfw.GLFW.glfwSwapBuffers;
    -import static org.lwjgl.glfw.GLFW.glfwSwapInterval;
    -import static org.lwjgl.glfw.GLFW.glfwTerminate;
    -import static org.lwjgl.glfw.GLFW.glfwWindowHint;
    -import static org.lwjgl.glfw.GLFW.glfwWindowShouldClose;
    -import static org.lwjgl.opengl.GL32.GL_COLOR_BUFFER_BIT;
    -import static org.lwjgl.opengl.GL32.GL_TRUE;
    -import static org.lwjgl.opengl.GL32.glClear;
    -import static org.lwjgl.opengl.GL32.glClearColor;
    -import static org.lwjgl.system.MemoryStack.stackPush;
    -import static org.lwjgl.system.MemoryUtil.NULL;
    -
    -import imgui.ImFontAtlas;
    -import imgui.ImFontConfig;
    -import imgui.ImGui;
    -import imgui.ImGuiIO;
    -import imgui.ImGuiStyle;
    -import imgui.flag.ImGuiCol;
    -import imgui.flag.ImGuiConfigFlags;
    -import imgui.gl3.ImGuiImplGl3;
    -import imgui.glfw.ImGuiImplGlfw;
    -import java.io.ByteArrayOutputStream;
    -import java.io.IOException;
    -import java.io.InputStream;
    -import java.io.UncheckedIOException;
    -import java.nio.IntBuffer;
    -import java.util.Objects;
    -
    -import imgui.extension.imnodes.ImNodes;
    -import org.lwjgl.glfw.GLFWErrorCallback;
    -import org.lwjgl.glfw.GLFWVidMode;
    -import org.lwjgl.opengl.GL;
    -import org.lwjgl.system.MemoryStack;
    -
    -@SuppressWarnings("MagicNumber")
    -public final class ImGuiGlfwExample {
    -    private long windowPtr; // pointer to the current GLFW window
    -
    -    // LWJGJ3 window backend
    -    private final ImGuiImplGlfw imGuiGlfw = new ImGuiImplGlfw();
    -
    -    // LWJGL3 renderer (SHOULD be initialized)
    -    private final ImGuiImplGl3 imGuiGl3 = new ImGuiImplGl3();
    -    private String glslVersion = null; // We can initialize our renderer with different versions of the GLSL
    -
    -    // User UI to render
    -    private final ExampleUi exampleUi = new ExampleUi();
    -
    -    public void run() throws Exception {
    -        setupGlfw();
    -        setupImGui();
    -
    -        // Method initializes GLFW backend.
    -        // This method SHOULD be called after you've setup GLFW.
    -        // ImGui context should be created as well.
    -        imGuiGlfw.init(windowPtr, true);
    -        // Method initializes LWJGL3 renderer.
    -        // This method SHOULD be called after you've initialized your ImGui configuration (fonts and so on).
    -        // ImGui context should be created as well.
    -        imGuiGl3.init(glslVersion);
    -
    -        loop();
    -
    -        // You should clean up after yourself in reverse order.
    -        imGuiGl3.dispose();
    -        imGuiGlfw.dispose();
    -
    -        ImNodes.shutdown();
    -        ImGui.destroyContext();
    -
    -        disposeWindow();
    -    }
    -
    -    // Initialize GLFW + create an OpenGL context.
    -    // All code is mostly a copy-paste from the official LWJGL3 "Get Started": https://www.lwjgl.org/guide
    -    private void setupGlfw() {
    -        // Setup an error callback. The default implementation
    -        // will print the error message in System.err.
    -        GLFWErrorCallback.createPrint(System.err).set();
    -
    -        // Initialize GLFW. Most GLFW functions will not work before doing this.
    -        if (!glfwInit()) {
    -            throw new IllegalStateException("Unable to initialize GLFW");
    -        }
    -
    -        // Configure GLFW
    -        glfwDefaultWindowHints(); // optional, the current window hints are already the default
    -        glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); // the window will stay hidden after creation
    -
    -        decideGlGlslVersions();
    -
    -        windowPtr = glfwCreateWindow(1280, 768, "Dear ImGui+LWJGL Example", NULL, NULL);
    -
    -        if (windowPtr == NULL) {
    -            throw new RuntimeException("Failed to create the GLFW window");
    -        }
    -
    -        // Get the thread stack and push a new frame
    -        try (MemoryStack stack = stackPush()) {
    -            final IntBuffer pWidth = stack.mallocInt(1); // int*
    -            final IntBuffer pHeight = stack.mallocInt(1); // int*
    -
    -            // Get the window size passed to glfwCreateWindow
    -            glfwGetWindowSize(windowPtr, pWidth, pHeight);
    -
    -            // Get the resolution of the primary monitor
    -            final GLFWVidMode vidmode = Objects.requireNonNull(glfwGetVideoMode(glfwGetPrimaryMonitor()));
    -
    -            // Center the window
    -            glfwSetWindowPos(windowPtr, (vidmode.width() - pWidth.get(0)) / 2, (vidmode.height() - pHeight.get(0)) / 2);
    -        } // the stack frame is popped automatically
    -
    -        glfwMakeContextCurrent(windowPtr); // Make the OpenGL context current
    -        glfwSwapInterval(GLFW_TRUE); // Enable v-sync
    -        glfwShowWindow(windowPtr); // Make the window visible
    -
    -        // IMPORTANT!!
    -        // This line is critical for LWJGL's interoperation with GLFW's
    -        // OpenGL context, or any context that is managed externally.
    -        // LWJGL detects the context that is current in the current thread,
    -        // creates the GLCapabilities instance and makes the OpenGL
    -        // bindings available for use.
    -        GL.createCapabilities();
    -    }
    -
    -    private void decideGlGlslVersions() {
    -        final boolean isMac = System.getProperty("os.name").toLowerCase().contains("mac");
    -        if (isMac) {
    -            glslVersion = "#version 150";
    -            glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    -            glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
    -            glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);  // 3.2+ only
    -            glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);            // Required on Mac
    -        } else {
    -            glslVersion = "#version 130";
    -            glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    -            glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 0);
    -        }
    -    }
    -
    -    // Initialize Dear ImGui.
    -    private void setupImGui() {
    -        // IMPORTANT!!
    -        // This line is critical for Dear ImGui to work.
    -        ImGui.createContext();
    -        ImNodes.initialize();
    -        // ------------------------------------------------------------
    -        // Initialize ImGuiIO config
    -        final ImGuiIO io = ImGui.getIO();
    -
    -        io.setIniFilename(null); // We don't want to save .ini file
    -        io.addConfigFlags(ImGuiConfigFlags.NavEnableKeyboard);  // Enable Keyboard Controls
    -        io.addConfigFlags(ImGuiConfigFlags.DockingEnable);      // Enable Docking
    -        io.addConfigFlags(ImGuiConfigFlags.ViewportsEnable);    // Enable Multi-Viewport / Platform Windows
    -        io.setConfigViewportsNoTaskBarIcon(true);
    -
    -        // ------------------------------------------------------------
    -        // Fonts configuration
    -        // Read: https://raw.githubusercontent.com/ocornut/imgui/master/docs/FONTS.txt
    -
    -        final ImFontAtlas fontAtlas = io.getFonts();
    -        final ImFontConfig fontConfig = new ImFontConfig(); // Natively allocated object, should be explicitly destroyed
    -
    -        // Glyphs could be added per-font as well as per config used globally like here
    -        fontConfig.setGlyphRanges(fontAtlas.getGlyphRangesCyrillic());
    -
    -        // Add a default font, which is 'ProggyClean.ttf, 13px'
    -        fontAtlas.addFontDefault();
    -
    -        // Fonts merge example
    -        fontConfig.setMergeMode(true); // When enabled, all fonts added with this config would be merged with the previously added font
    -        fontConfig.setPixelSnapH(true);
    -
    -        fontAtlas.addFontFromMemoryTTF(loadFromResources("basis33.ttf"), 16, fontConfig);
    -
    -        fontConfig.setMergeMode(false);
    -        fontConfig.setPixelSnapH(false);
    -
    -        // Fonts from file/memory example
    -        // We can add new fonts from the file system
    -        fontAtlas.addFontFromFileTTF("src/test/resources/Righteous-Regular.ttf", 14, fontConfig);
    -        fontAtlas.addFontFromFileTTF("src/test/resources/Righteous-Regular.ttf", 16, fontConfig);
    -
    -        // Or directly from the memory
    -        fontConfig.setName("Roboto-Regular.ttf, 14px"); // This name will be displayed in Style Editor
    -        fontAtlas.addFontFromMemoryTTF(loadFromResources("Roboto-Regular.ttf"), 14, fontConfig);
    -        fontConfig.setName("Roboto-Regular.ttf, 16px"); // We can apply a new config value every time we add a new font
    -        fontAtlas.addFontFromMemoryTTF(loadFromResources("Roboto-Regular.ttf"), 16, fontConfig);
    -
    -        fontConfig.destroy(); // After all fonts were added we don't need this config more
    -
    -        // When viewports are enabled we tweak WindowRounding/WindowBg so platform windows can look identical to regular ones.
    -        if (io.hasConfigFlags(ImGuiConfigFlags.ViewportsEnable)) {
    -            final ImGuiStyle style = ImGui.getStyle();
    -            style.setWindowRounding(0.0f);
    -            style.setColor(ImGuiCol.WindowBg, ImGui.getColorU32(ImGuiCol.WindowBg, 1));
    -        }
    -    }
    -
    -    // Main application loop
    -    private void loop() throws Exception {
    -        // Run the rendering loop until the user has attempted to close the window
    -        while (!glfwWindowShouldClose(windowPtr)) {
    -            startFrame();
    -
    -            // Any Dear ImGui code SHOULD go between ImGui.newFrame()/ImGui.render() methods
    -            imGuiGlfw.newFrame();
    -            ImGui.newFrame();
    -
    -            exampleUi.render();
    -            ImGui.render();
    -
    -            endFrame();
    -        }
    -    }
    -
    -    private void startFrame() {
    -        // Set the clear color and clear the window
    -        glClearColor(exampleUi.backgroundColor[0], exampleUi.backgroundColor[1], exampleUi.backgroundColor[2], 0.0f);
    -        glClear(GL_COLOR_BUFFER_BIT);
    -    }
    -
    -    private void endFrame() {
    -        // After Dear ImGui prepared a draw data, we use it in the LWJGL3 renderer.
    -        // At that moment ImGui will be rendered to the current OpenGL context.
    -        imGuiGl3.renderDrawData(ImGui.getDrawData());
    -
    -        if (ImGui.getIO().hasConfigFlags(ImGuiConfigFlags.ViewportsEnable)) {
    -            final long backupWindowPtr = glfwGetCurrentContext();
    -            ImGui.updatePlatformWindows();
    -            ImGui.renderPlatformWindowsDefault();
    -            glfwMakeContextCurrent(backupWindowPtr);
    -        }
    -
    -        glfwSwapBuffers(windowPtr);
    -        glfwPollEvents();
    -    }
    -
    -    private void disposeWindow() {
    -        glfwFreeCallbacks(windowPtr);
    -        glfwDestroyWindow(windowPtr);
    -        glfwTerminate();
    -        Objects.requireNonNull(glfwSetErrorCallback(null)).free();
    -    }
    -
    -    private byte[] loadFromResources(final String fileName) {
    -        try (InputStream is = Objects.requireNonNull(getClass().getClassLoader().getResourceAsStream(fileName));
    -            ByteArrayOutputStream buffer = new ByteArrayOutputStream()) {
    -
    -            final byte[] data = new byte[16384];
    -
    -            int nRead;
    -            while ((nRead = is.read(data, 0, data.length)) != -1) {
    -                buffer.write(data, 0, nRead);
    -            }
    -
    -            return buffer.toByteArray();
    -        } catch (IOException e) {
    -            throw new UncheckedIOException(e);
    -        }
    -    }
    -
    -    public static void main(final String[] args) throws Exception {
    -        new ImGuiGlfwExample().run();
    -    }
    -}
    diff --git a/imgui-lwjgl3/src/test/resources/Duke_waving.png b/imgui-lwjgl3/src/test/resources/Duke_waving.png
    deleted file mode 100644
    index 5c396a184f9e95fd71094d56b38ea14580f84469..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 11674
    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
    
    diff --git a/imgui-lwjgl3/src/test/resources/Righteous-Regular.ttf b/imgui-lwjgl3/src/test/resources/Righteous-Regular.ttf
    deleted file mode 100644
    index fc9c0a84cdd5eeb260f6a4559ec2356d3cff816b..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 40892
    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%0D*Lf4DLf?9e_@
    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
    
    diff --git a/imgui-lwjgl3/src/test/resources/Roboto-Regular.ttf b/imgui-lwjgl3/src/test/resources/Roboto-Regular.ttf
    deleted file mode 100644
    index 7d9a6c4c32d7e920b549caf531e390733496b6e0..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 158604
    zcmeF42VfLM-~VT3?=HQQ1PFu_Na!G;ix35oqKF;z5y1kepkP5%6h)c{s8~=?x?(}a
    zj);g#s0Jy5pg{tJO9E$d31EZV{y(#uOG3xz_3`!pyzb_EySHU_eszBHo4JjULWmeX
    z9HM!bE4p9AH!0NZW7!5?)aAmi)%#Z;z@ZL&?{-n|ORtD+*guNzoPT1@MOR#P!J4#n
    z4k4!06+%6K=@rddEScXRONb|zaee=rh7K4OwXRo7A)cxwglpSPBkoBGs8M6BPy_Nf
    zpEhvVprOyccIZl>ZVVM7sNSFfcMs!uB|G<@-Csr5Y`9nfpduZ@218%N1
    z=e%kld{Uvydkflj{uRD0?JtObfK4LZByHHHa+i$t+j{61-c}OTVQi$f!
    zL+-q3faB%sCJNPJGR4;#I$-25=T*U+Z~q$iC*3h%=q+l&?6>*8MhK(husiR*XZzk8
    zvxMpxC`9U(VRzj!Ed0ot+3*LN#3gV_2x@LEN(9Q+b_B7Kx&=_>?-=O#z_G{aaHcsgcHZS2>AKN1
    z*frJlK|ox}(LB9sy7Mv5(E2MwOh>*!4
    z^Fo${d>?W&G%++YbYSSj(6>Xs4gEbVDXeSQ#bK9+^$F`2<_!-IZyequd~o>q@CD&-
    zgf9;ND12G?j}amwC8A5jz=*LCvm%y7HjTVEa(QG_lfZKHcdUm1N{^swmh(UYU!j@}qu8dEK%bxfa_eld$;zONQot#!4VtBtSrTD5i6
    zys^=-ZDX&EeI#~X?Bdwvv0ul16hEi>r0P#qf4=%l)#p`zt@_*5zpXK_#@L#1HQUy_
    zw&tjsMG2t^(FtP{W+W_2__3Cw*7LOkYe(1Kp4cO?f8v*O`b8&aC5v`*=hvOmR}8lGA`^@7wssduG5mHK?@lGM$q+v|qctyZ^b
    z-QINv)*V&%je5iCO{@1oy`}YX(_Crw(?+DNOmnCANq-=HZ2cbfN7kQO-`l{|pnii9
    z4PI!lv_Vco)v$iU_KoT`x~tK*jec%iy>XAm!x}%|cuwOt8n0=*r}3f2z9!Y0)NGQ}
    zq;-=%P3~&4xXFel1x<>Y1~yG>n%VTmrlXpUX*#j#)TS>qUD`CK>F>>wnqAQBgJ#>B
    z9c^B-d1mu|%}1Wo@tkfg!dnb$F`~uFjOdL18EsI|*jcOg#(@P<_^D}mv~;6^FBK7+m2m3-rR9p$3vY4b{gC1=gexE
    z<1-hWA9sGs^ItuGOc3ITr%PwoW{MaS$Lf3`$FYI;UunV8RaLI)~b`@RIx_0Y&N7tvie$;h)SKmcR
    z7hP~sw~KmRlzWk{+f&`%?w;AbUw3bh@E$FDwC|DGqic_gdtBb5Pmg{*#`c)n%uA+;eKr1z6LyBBcDYmPj$b64#i;;#zZ;ywEI?kC^-9
    z7;}?+PDIIB<{G&IPr2R9l11h^b+I{H-DF;-ZZ;oOgZMt!+^HTjOVvB(z3N@Qe_~#$
    zmYS1|`_03~7~nBi8$X#PMv<9q6q`GZ5_2VfDNclNr5pPVJ1hl=YJc5)-M#
    z{pLaWkm;4rnfv7mzHc{kxjxqzZvJF=&BMYex|>DRcR%HNDfcJJ_2M6{GTmIW0-v-(
    z#L8R|OI`D*>ptq5M;-T4$32vkcNSMjN;)87c*+-WBnwV_Aa|PI!G%v$nE9ScH#e(B
    z<{CIMhbLsgg*>&`{93&SmYVC;r)IHnuUP;m+;Ae__`%GF=hvDGjNu}NGY2_S!kJRe
    zl)$HR;nVlfb0zdV4LzOCqK;>#^X&K;B(4$RaDKL&Y95B`KgyZtzzXvfe+V6`#Zcc8@sL@c`z{f$nN!75b1s~En=;nQC(VcDGv**U!<;}_x4^ww
    za*lbMoNK-==b3lQ`DQ=Le?@K=5pXq6{%FqOS@+1j<|A7!4L3jF
    z-W}Y#gL`*y?+)v#2(Aj{ssmgV&QSzDlK8#HMR%UAD+F!inog^q0&9mhVQP}CJc)Kb?t%>0J>L}MxY
    zsnd2We7~-}7;3(a)UuJ<9HjOIQd>c-Hp$2_6T>*GxN}(Fs}ZI
    zs}FFshpRmz0BXHRxCH4Qgz6Hcb`Yr*Lgg0W;>r81r{+?-BJ%)OcsSz`l5dBFQ7)fo
    zi@Lz_tM_wmKV^C;vxGYiQ08Ilu2Yw1i0&c+ONhcdMu`Bvg<1A6LxjMA{c@HFMMu}5
    zhb6>2`t$VH{PmvopC|q&+N=KyTs^TRK6xAaKRnOmv9%N3_@;ZEI_p8meS-lLvgKmMuD>G^YF>+tU#`7^!X
    z$y*}Z*8b{qXKp3_|GC0$3;s9zy??Bi{GYt~uaVl>S;d)Kguh!k$M&aA_wD~qPT?O)
    z|6B7!C&tiKkLWDYne#(`!>IeTS&+Y9eb1b2`ZKQhyTyxkKL4+;)ydCM4`HZiCylx#i
    z)3=X&X;(SN_Y)b`zH*+gOwRZ1ATxhCnRzFf=+DT^cbB<7ADQ_Wa;k&L%!iYik0CQ3
    zKxRIi9BUN0&<^BT7m=BdB{ScF%zQXG*W1X!u_>xj1{|}96{rx;9a%IHoKR+@i8N(?(i!s%|C5ISyJ$*(^;m5TP_lV%~
    zQ9L&zcn284E0ixV-Z+CX##!cGM({Q;4)-micR%3Yr#1VB_5xXPXK&dfbgMH%1sgXUwpOF+&ey
    zhCk^sL&j>ETfiu55#xy^+#{*sZe4fou}3jWp{7L6g}V8A6!MJqI(aK_@}nWlNcfi4
    za4oIhK3cxLw00|*Yp|O+2H#pEjqfs6`w24ymYQqDe@DA~W)FSlE9@Ro5ZwC;?tKH-
    zHo&!fVuM|9ZWFUJJaBCeT-zkh?y5k_T1#2Gki<_&LXQsbqP)WL@!s4&c?L%evC-Sa
    zM$yDYxr_$CMO?Ivm}nRA&}QPHTw7om
    z7co!NS$L!WjkbEb>4u{l%cWC*Wb%>BPe{g%WHwfrzw_Ur*&)ojsHW!_F=Hskvf`VO
    z*#N-ayMQ7JVlrABAdp8dJ8-O2zouV&S0Xhd6qe+UvPXhlQfN
    zwX`rr#BRCxtRlSf#o%VJRL@xB$l>z2NlvaiK-_eIxT%o1=>T!lfwPE%PCcd@VdVnt
    z8BiY8h*@ZhnaBB_2sx_=?ey{Msh?`kv~rcx>y<}%?#0aOx*05G)~Du#ma&e(_HcAB
    zNB2T!k+~G!?SP{{a7NG3{E3*rOU|K`E0&(c6{o2aawzt5+v0hpWd4jNpPpA|r-^5-
    z$Nxrbai-qE+0C{*1AoeA1fG7z=IP5gwe0^pVxCHU{qLaXKi@Xle(2AQrvC4gcIKA-
    z|8ku6_scn*-aG#N>ibvO|C#mp?^BaA*Y(U-{Pi)y>1U$--Rg7l{NRZ*KL0AMIJ=(n
    znX{p1zT(so(x2PwJiRCSZ++H(M^siBWmfL}RhIB~^Auhu3s
    z>-Uem{*l+|f9w4ZfBxam|Kwc(r`Mm;Mc@Ao=gu56ocW4Bt4HupIr>-Vr=HjHcjM2Q
    zdvI0fr~myjI;ZdV{Zrrn>3bReyZC!{)>rktH>ckZV&t@xk<(H}PW2mFN_nTn3f|D-
    z;SDXTdAG%O-q7;7P<$)m8)L4Ffo>L#6UJMEdE-SCN4=C)L|Mg@<)y4o%gg$hySGx-
    z2f|4S2RTzjnfm=B9**v(L=U64y!C?XN;tC5I#Oy~!*e-OB!bRr{8iVm*m}z9a@xGq
    z$E)iD9mCBWJ)h2^!2fm*d&F3mzJfcBIm)#W%)N^=immx~k-A)F>e+NwmaCt+Rmf(S
    z>o;{Vw=YSIFh&}sjy{eV&Lyt5U0(-;2OJWyq8;xmY0tY#I*2$iTg1uMjOeyy+aBBs
    zMuTx8P9=$IDh2dq|2puMh*nu(wTLznM4V9@)B(wqvqD6eaUu%T26fFW(Z&2xbY%?u
    zBG3)=0GER+K_7VC*DMhK0%N%LF)$X41LMI2FpvA^g9YFf@G4jcUg!Qdz?)zZcnf?0
    zJ_H|ukHHe~DbH92J_F0a=RE5R@Fit`ML8?kX0ctxb~W3z+_N5JgKxkluoZjd9h
    z0*vSUB+fswe()10<{mHGqo9l#dIAJ9
    z4;r>ZX|Es-6YU13aR7
    z3Cse>K_LhAHh}l)bM9Tiy=&R7W4oU1*KD)dZeaTj+l_2DvE9se3)^qmZe_cT?RRXq
    zv)#e=d$vEYg-*4T?T>7CvCU<>hiByhHz)w`KzV?EZw)+9KZ9Sv?*M)%AC?V23&OQe+}r%yvFOm4eWo#
    zT+J-78c&tLo4sm-Iv|PdO+j$;3kCRu0_?f~yDq@43$W_~
    z?79G(EWjoUu*m{!vH+Vbz$Oc@$pUP$0GlkpCJV610&KDXn=HU43$R0NYX$N$=2VYo
    z`vgE&v7rKNr2sq8Hd26%6ksC-*od}=0_>pxdnmvj3b2O)biV-IFF^MT(0i@t1?YJJ
    zdR~B@7odLy=wAW)SAhN%pnnDEUjh18fc_PrV+H6~0XkNIeiaxk@!_pN8_*WC1LuPa
    z;K_M##RFG7aK!^xJaEMWS3GdV16Mq7#RFG7aK!^xJaEMWS3GdV16Mq7#RFG7aK!^x
    zJaEMWS3GdV16Mq7#RFG7aKr;gJaEJVM?7%E14le?!~;h>aKr;gJaEJVM?7%E14le?
    z!~;h>aKr;gJaEJVM?7%E14le?!~;h>aKr;gJaEJVM?7%E14le?!~;h>aKr;gJaB}!
    zQPFOUrQH}yyD=7<8jDSh#iqt$Q)4Zi^PqDcbk2j$dC)lzI_E*>Jm{PUo%5h`9(2xw
    z&Uw%|4?5>T=RD|~hqf-wJSZB17N8|~96Sr21J8r$-~})PtO4u5*I)zq5#)kBAdk1?
    zg@Z^C4XT08;9@Ws+zlQ8yiH3|hRo)zTA?5j)CJT-)d$o?H3nCJtH9IX89;s1$KWvd
    z1^fn%fHGhbt4Lq~CkOyRAOxgRH%+A*D&0`&hDtY7x}nkym2RkXL!}!k-B9U4r)-RJx(k4V7-FbVH>ZD&0`&
    zhDtY7x}nkym2RkXL!}!k-B9UmQSCWi)xdBXceG>&Q?<%#K4&A~f7b7SYl
    zRgY^JcV+ymH4175CnP1zN?0RW6QAUXbBQ23@W!(-?DIB3;*UJyk38a!JmQZ${OA_(
    zCEJx?74OVzYi_}pZjs&C=RJq`)Gf5#d9>YmwB335*DdlVFYlJS4qVUv5bz+!9|9BDUkE;De=S%KvcWfC6W9W_g73f%@B`o-ezbvk_~o@E%@jyA{}c=#F`SZrbMXBhPrI1%Z9pasLO`BY^ckIvTP{JhO%rZ%7&tBsL6(!
    zY^ceGf^2G@O)ayjWj3|TrgquXE}PnAQ@dD
    zPQ;oMvF1eaDjqHe50`_7%fZ9th~DV#W#Dpio4_9Mcsay|JBbZ<6C3Wv`{m&Ma`1jR
    zc)uLHUygX6>ptN655Y&^W3U8#%6-egXJ9$_ocq53Yq@7V$OhklO<*hd4(tFwfSq6$
    z*bVlAef&Ddg$)OSV1S(w=WQd-+eVzX4NsawoVSxWZzplyPU5_s#Cbc3^L7&F?Z(UI
    z$gb>SzflKd_M&6AM#i5J2=YmGJyZUqvt4SQqZLE9mIsYRUO`In9Md6
    z)Z=^u&;+#Rd{@v5AS1kg4&Fb9_;9znoA37m-Wp14kV9*bLu-(urt2Cixdq@=fGlY>a%eSjXf<-wmmJ%}HV?Q#0oV^bpa?)8vD`LdxoyO9+tg9u
    zGq(}TZ6lW3MyrxTtCC{`f?&RfvJEFXiUiT18i)hcK}}H0+)XUEn^1?WOI;g4$|}@O)t{)B26!n
    z^ddU1
    z`RGSJ`jL-**_;>pg5%jgAKn&1*i+23((e7V_!a2KtF@k&33XJ%dz>C
    zLgc9PDTT=H*c{54a~p-ot`ON3BD+FlSBUHikzFCOtD4&=M0N*|RS2>QK~^EiDg;@D
    zAgd5$6=KP%6j_xbt5RfDimXbJRVlJ6MOLNAsuWq3BCAqlRVwP>Uk@SSQhe+o?mUQJ
    zJ%nF9g#SE5DF-R#Af+6{e;&er9m9qsYI*y?EheU5$3
    z{ulIHT)c5T5Cnq|P?u;u4d^Jp9p`nVf0?fPvqJuoPU}veJZjko8`xV
    z-vbfxACeo`|Azfd>~A45+r@QzXn*tA?gMU601CkY-~q*yQ^GZ+>>mP$!LQ(VVDdX%
    z>PpnMiKuN8oO7!re)XKpHia$yBBHfT^e{9hi;3Dck-pxKj*g
    zis8g^IItZ3(iAU;f?{f4OwDyu|LQUPsrU2P!n=3&k1;|6&UI}t2LIy?fzX;wJz;A7jCGa{Q
    zKIg;ZeE6F$9^>8Qkz@r5$O;sY6(}GpPymIwP?!sKyTlmIKL&J`WgHj}CV?YA0znR%%s~N}g95m*OMJ;SE5RzThGXl%*I)zq5#$2$Vq_8u$RreyNhlzbP(UW3
    z08Zw@$y_+O3r_BmojKNx9NooiZ(=)`?X4Ui!v3A$ZoZFT`vBX~93KbX=KjTe|B&M!
    zv%ie(YCt{6MijvPT+8zEId+g=7L#)%LqYzVE%{rdkc$*@RbBSskE##gk!lQja{LOm
    zSAlET@5`@{uLC!*udU@qw!b=k;0Lf1>;i|m{}=EZI0AIO(xfexzyMAV0D?dWNHBMy3A@mQ
    zU1-8CGA9N6&zCmnGM>5IPkNE07ip9rjS{5cMH*f>?}f`=^jiBmFPtusAMzgxK4!ZV
    zPpX!vvJP117>+###)5HRJeUAxbM8yFE5Rz>
    zK~ZV3+LOD{u?X}l0t(&eRs^~gfnG&Gty?}S!l71sayL2^Zd)>K{xZ&g$@kU3vS^NN
    zVt)(o*U#tNLFC}%e;h;uyc%3^tMf&86|2@B*R8JSm~GMf&>yUt@58`w?i;~xWbfnH
    zgX}*9CUE>k;<%aMWiXrbb2z_{tDG0{gckwq~ri1-$fB6YqL|2{n8>1-$fB55$4gXEOjJ=!R8dS+QA|`(EKS-#$|b5ORzaXOxB!bK
    zt3c#XOyp2ZOXQ{X@e&yn6B!f}6%^9~d5H*$i3p0-Jg@+~3SQ&*m(;m7aak#GSt%{|
    zVOs9PwA_bjxev>B;4<37DQu?$M$>7j57SZ~rlmftt_3r|OJElMpcY63NgxHZBnoT=
    z+JLs89iSa0Rw(6{+Xsn8ZUpy%IrJogsmEdJp`WSmJ1TMYOpZO~YiDs@MT2zq#vb4G($6?H
    zd!xs6PnNZ*nz6CRZN1jG?H|n6&__Jo7;0rE#~wrVil^wsg&~13W&n8MF5`Zn8|VS-
    z9(++n4}Kok%m)j=E8tbI5WLQ{Z-6(!BJdVCUC;h2?#TkH!CJ0e53&JqnAilig73f%
    z@B`Qhc7fesFW5)Cc5E-dsJxe7B)h}$%lPjk3-O@I9dZjIMhbS=TwdB62oG
    z$_)y@e!y%QayCWeY>Lj1IVd8ZQ$#+eh-|FR92A`-a}Y*vG>qP87`@RjdZS_VM#Jch
    zhViZdJ9hJ0vD=N*M#o$Cv7G~mqr`;3vMr
    z2RzT-V`WPVT@U^oFUuQg_xOKKP_g$IIcgcs;TSr8tlYTv3^JgXU&&{9T+t`@T7B}W
    z{qf2^xEJj_i1*d~aQI70bZlQ-XM1%I(f0k!k+OXLvHfvmK#O&JpIrOgZTQ@6_}p#y
    z+->;WZTQ@6_}p#y+->;WZTMWSIcx8%g7@eVzp#R8x6$&~W>!;_xxsu=M4Pl`=DX%0
    z^HXy)UOd!%-JHj}zy8od`U^p=r@
    zm@#$Nb;S=PdM{VA4{oiVqY^C{EfaXDX4!b!~ybH%Yd
    zHXqcFF+VrgnIqT^_x(f$Ntl`}~PIW6~$|Ei)Od^Ot~bp4CE*
    z`jm@ZhFvDvE*4ut_6_`ZIAPWSnt~s!v(`22MVY(Fctw#7U?Fnxe}?P5%EjW4|DN*0
    zHowiij6uLB^gGJjLEOzh(bO04Kh46-Ci;w7Xnu_xyynN|Dt+y-izS=zs+y+t-W&&z
    z8k)sIMxlHum!YM-<+Zi6xBPUNy|vHy@6lVbMdUs41eWwI9kgo6DZ93>pnXHR2JJK-
    zH)rtqw9QBMO8h0+y6gY;N494xV}F_YdZJdAN}H~%hySXob@LyqqF2`a{^NgSOMLW)
    z7F{#@o=O`$Ss5qFML)*;&U#qH$>`(kbD+{zDr8~H&AKzP@~PJM@()Xgs%l5olm2V|
    zkTT~{)PXd$>Ot)m}^W%&on>%
    zPdl+?Gk5x}%DmrS#>uwF>86w~;+uoXt<)1~%oeFH8i+<@hnk3{q8a_qb3_aBpe;ok
    z(Uv(y?a8}zU<|Sg@m4q9Ms>NkLR>}UejQ_PW5~mdB?mK}{LABFl6XQ)7E{Dj@g(v8
    z(_)%&u3+v1}@v%NDYwY%SZ$cCx)Z
    zSDq(3$!@Z{yiDFCZ;=D#AURmxDu>9S@(y{Y943d$yX4*S9(k`EA@7qT<^A#jIZ8ex
    zAC{x#Bl1x>Mvj%^DyMR(U=^;&
    zSgATHNhPZkm8#mSb5#d*o;qJ$pe|GwsqU($x5Cr@~RTWd^z>A`bGV!epA1zBkHIsQ$A%H!jOhCf{ieP
    z%$HHisBI(~b&Mn<*+?-`jh03$qm9wlXlI*g-G;V`V?&{}5;DAp0@p@_wOQ&hzAar2H`wU4bOGTC)1V
    zl2xwUi=2uq>HMyQYQkI19zD(?PqfDqt+6Zi*i-ZtmmOo1*Z&Dt`Fe$2zJCVGT#Ie4
    z$2zmI&u>m+q4}q@Q5RMkh@A$@kUwav9kAAp*lXq=vRG}e+FBpAEOjE5`ZPAGE!4Km
    zs&?tON^O(cB2R6P+8T4PLT!WE0)HyEK->EM9oxJ580#DOr`X?@e`gECj+{nEtAA%V
    zV!EgI#~1xy>kX_)FBli2+Cj8+de6Xq?Zw5>F#0p$MDljDUw(o&7sv9u7(sqlFY(r=
    zy%#U4b54kw<;QBUO<>l2t@7`G_QnAX_Nwb{*I(1%U-k3!{0hC&A7P29vI?k(D_^aX
    z)`zCSzg8Xbto|cPVDvxM+33wtbebncUUGy3MqBTg^{co#Y
    zq5MK6kt3S_(N--gYp83W>lI{OscWl$Kjxr*x(5|*ozv&_{Th0)xfIA=9M*8`V%Jbx
    zlh&`wv-DHRQfXV#cWF!0_xqPRoU<1{<%tzX{MQ`6t&TOxylTZPszTZ1a^tGuRCQmUd<|5<-&daL2LINP#pzY}-DUHWcq0rq0^H5!Wj
    z(8o0`_7Zr~`^!(BViQAc;;jsiwhk-PQ&Bg69Z$bK-YXpc-A}RKl25ihwsJPTehWVK
    zoc+y~fwp8DT4PVY)VA6e{dv4S>mzmxWM!+YVk-Ay;Et{9CzgNgaowKSt&e|O*+S^!
    z8a42IF7!1B35HwkO=YRtr^Q<9vG%R~b|BDpqct_e(w{g!HHXf$RO;mEt|Y@#vHEL&
    z{Pq4;$)?2x9eTCBS4}*!fAv$LX{lT^4gOUh)iJeRZS9ESZaYT1WYK;L24UbhOG5B3qQ
    zFIwW2+Gw3P=|^QW<1CkneMEn1Pi$+Z|0?^NE=bGI%9C09nnF!^h{a1S8@<@Pu=n*b
    z+uzvo^+#6vYzSwnez)6r|FddgW%d!<&-m-2@ATI|w@G@j@6ovm?UD3Zf2*p`+KbI4
    zUAI`PEwSSp2eq~B#kLq_owef#n-2YH-(^!<*+S`i^||VnR{HC$pH{W5`n!M8x)H|J
    z8n!OllGOK}OdstU`0w^_qpkYuZaz)q7
    z*7oYhw7mYho$c0N_fv1}I#gP6Rjc;zSM@qJy?zVUnteQM8E8wkQB_;)r};nQX+g9X
    z)}tXY)~DXui;mpwGq!Cck#&<@x?X%GoYqnkrb+qQD%6l$2MrM6cMrX3m}Sq>vJ`!n
    zvb?a~lSoD1CFLsKUcXV~klVP&xR?CKePlT9Hy$t^G)7sOj?u=W#u!JimG3xkY{ui?
    zy5~D%o3YjS*4ScfHZ~gH7#oai<7;ERvCdd)tTA>NtBqAgma)?K%J|aw!dPJpF_s&j
    z8Douq@4kt~GS*L7m$H7sx`g#3)(=^~XZ?Wneb)C_-(_9Q`VQ;ctczIRWPOA6b=KEd
    z7qY%;yu!MGbw2An*14>6SZA}&VttwQCDxg&Ggx0_eSvj4>+`J7vEI)54C^%3r&+hN
    zKE?VZ>r~b$tdm)vV4cMJIO{}X0_%9zajct+O-OPK2m}t}W+Z$uh$e4)9@6b1uBU|<
    zL*}(5xz`uan3?2Odx*JYRWB8gyTu5RC-TYD?k7_^m0am>
    zWM+>@C1#Q<4Homszr={wWt_|u@93Ng8CI=d-Fcefcv0#(9S-LVX9lWO$KF!Mf&S)!
    zt5|Y{D()?ku46Yze;;=LU3ZI2G`P$qd_oKin4vf!XJ3k@I@&uIb4ik=+d6gwj)!@o
    zUTX1;J(VWNSn30OvCrr)_JTc>@AGskc3I}Pl@iJjFd-HNg`RKh}2_p<_%ApHE+c)OOMUfbrhZ8!1>|=(b>wPcjY(m
    zI+Nam?A^uU5;BRGR%G$6B)5LGxQ3aJeaSEC9Q*bBBH{+oUkrdGJJ0?EdG!~_q|Yal
    zzJM(HD@gox^5}0^ne=zW+hVbJSG-R~{R499OUSA(LlZs|%Z+ozUE*eOi@4P|kJwNL7h)FtVjq|r$Wk`^W{N_Hm4B*!JEB&Q`e
    zP41VXQd}t!DbXo4Qxa1erF2W_pK?pRbw7V~#Nji|GJLdNbe)pK9O^WO9KToouBuyg
    zT1DP_J9QEjbs9^Zrs88ZQ77S;NXNWm;vj
    zx~{xVQB~@6vsEWaosLo`=`fflvDf_4Tx`xapEs{Ddzr1x8ouXzlgnQ7jq(lhUFW;j
    zca^WV@4T{|WjSR(lzm^ey=-gQqOv#hKF@nBuXA35z1#NI-CKKat-T3*YwV5O8?iTd
    zZ_r+~XUm?odtTkMV9(q=-S>3Z(|%90-0Sz$-TmwCt9ISGyZi2LyU*XMp&M0dY77TCxQG-CLlFcPwt!NTx<*#H6;$ki)XFKjM`QEvy}#Dc
    z-owUg>VC>~(2h0D3=R$oaOr|8%8l2FNGW4^mQ}vNh-iR_H*}!^l*&h&s0?-gEdy5h
    z*55KfW;y2lt^$3fzk4Miyb@h$i|0{(0Zxq=j&FzcA#{*0^%ZqmBT@NoDdYCoX+65Fe(%%f8I!8kn7ya>_Q=34c)wbgPruv*
    ztM_#I;g{YoJj3iGIm0(l&X_F!HI;wD++Sm=Z^2~WK$Rx{rL{nc(Pnc;n(Jl8#IMT?
    zZ`2??Ejg)LbYw(Gu*)yC%+Mgnt0$d~lsd|A8nOHbCxCmi;L$=HCI4vYOAIUZ)H@A
    z%V^Qs7%=*obsLtyI&0x4D<8gd#E1uGeZ6YK2QM$maj4}l4SV!yIr7@kEzbM;jaN3t
    z?))*%{l(~658ggtWa|sEUSG66X2s{x-)(fxcGhHlYs5!Kh6FiOpr6k6=eAeMXxCP`0#vM4D2UWVIRxq!p!WIO&yXmtEYw
    z_hmhL_EyanJU;Q21ry2-UEaONWxj}^YV}aZ3!~qD>yb-FFIqIZ$Dn~dFX?gXtv!xr
    zkACZ|(Y+p7wCItZg9i2N)noAB9=~*U+|^k}nVIGR$3}RNjD*{XmouYNQ`)vpX`I?P
    zDKVjDY_;IPfU4Tup?RcXNM~BT>QN4dtc9Qvx6@fkwv-4u!H`&OoJ%@jQTaC&ACQpQ
    z{w!`Uw|VPsL$lB@!j1RzWAJ`^8MOf
    zMzt6|&DhiG?k+c^^=*A#zv1xVVdG=j1z+J5>6!R9C6!-)s&N)4WLXttRk|Qd7_ZjF
    zay*-SZW-j|%CWw4)XT1$iN%{`I>N(bg%slYWQK-1mDNoS74a$|GuZz%MOj>m6m9BA
    zmx_vwjD|63B5JJc_>L>>@%8H_rMcemeW@;$lT_2|ib>^^S$D$f6tKXRTKFH
    z&vo(KI@WVLWxB${@S|0q9HSqliGY+wP(lTagv_Ypj;0uvZ;BL%rFC>vt4NjJCWDvZ
    zsXD$d-gc!;$lmg3n(J-ZNppUm*E8gxnZVD
    zv&Ap7%y@nCiG^7$A2n5n%idGHRLvQ7Idi#oAhQ?@k$hY^;T4skyJ#^xS+~Rkv$EDv
    ze5Co95pT8Yb&k7_e7wZ5pzG4QD?U|bEO|}!U-*!#iGHRM{KCi)S?+_03H)BSqV29p
    z001Mjz2H?VJZ!kIV}fcbHAS_GY8jo;B04tRcBfHRE78gkdF0zIWkK)aEYb$
    zut0M#IW@}Js-9Z4%J-Er9KRbcwB~|w#0rU&QBz!)8CtVObYxg)a3F&zelO5C91n?z
    z9J&pW4m@ZBNGo@AQ0UO$zn_32N)^~En^jnKN*FQ-M6*;Z4RxhmI~;_bl`$vLlx5U1LncS1
    z2N(~nUAwaENp;J{vRQJLD@N|0;ae<1@^|z*(=Q?rGb%b)bqKKSeufyeZIh+lszRRIpI-Ky^zo14$OqFdRTuqR;
    z8>6Fa(>gj<+dx_sP7+cCymO`6QI_4T*H0g;^_YAI~CKwIg
    z@m-(VMDmV=+#h^DuUqN5@3F-%KC!5)&TlDx@qEBh-_qf9qQ1CV2~wmcC#2U(kBx~4
    z3v`K^vSvk8)E3t9gEPgHC5K9c6bG6TAa&?hP6PFZ932x?B|_`AY!Me9(3E!DRT~|*
    zR0C2(4H+q7pn*o5Xb;s;k6!&+n}+QkzVh)m&s*4k*$;;|uJd_i>Z{j}OPzb~gX5lb
    zW~J1eUZc+b_lKX?^=Njk?=aE|mZa5Wud<6S?R?88-+lW0)Yoj;3_v&1kxi&*k{PHq
    z1LpfRzB(+IG}EX#8mtt2x9rez?}7$3wN+%a4z(TWKF^m~2i-@H8mpYKz9qh3-}}ER1l{
    zadLNOF$}}krsKeLbg=9Xh78+1*wJy-{nAHn8}+>J$hvL5k{8De8*?~oY4J-l?;164
    z?&!N-Z1C8C+b2!FeZZrR4tKrPsL`?q*XHD`eQ;UhhHu^V`MUK-XWTbq#(fVy`lPF^d^2%LGwK#cr>O0M!ylQi?@6+#Ppf7jt
    zC3CwbUNHLMK~s{ZjlKQJvEx>LFzTZ2(s1XG5d{5kc=txx^TY7=-8p{WQKmy4<)x!)UXhY}o?t
    zohYs`a*f?p>J_7F)T&;aR_POsK1W|uS6_9Nk@%Hw{Byo>D~qCBdWaNxx96!NEO{r2
    zOEbwd>dr6Eu4%Vy75=PwI5M>YLpni51D7-c~T8{~|qhyCl`hx^`k*G>IhbH7~s
    z!K2%TwZ8f~-@uJ_o%{RFb!~M{7a5|nY>`?0g3Pw9TQqOnuwH7N+BM><#YBb&2Rc+p
    zMO<60Pv#}j%#Q8oQjXwsq*`Cnql<;j!OWP|9y!>df^ChZ)k_e8fdO$rbZ%g40#u7|
    z-QA-hOb`J9(E;&62|X9r?~~cLyv(3elo@nFnIb5tN|C25KO`aZn$wldP@M{-QLC+M
    zUjCG`D>=BY6}Y=}gJN~4(%RJ2emOoM!*FS5+$LHiC&3tz%zixPnIvMYL()E-*1AoM
    z<NR`?eCzVg5
    zz#tua@&5rt{OwN>@z;TY4&~Gt49piOSV?O@Q>W83cC>F0%F0xkOh$c1SN`)RZ9)WqTk?|**r6xv6N)2C@zAr`{X)AUDYGvqV?R%Fhf?f
    zsEq@q;lPr}DH!yxZN1Za0RdKQg38gNT2;}WG9xOvg+qsgcFQ37svFJp)Oz+#YVsTM
    zhdin7>Hp+H-_aj^W96s`&%N+ym~X1=bjPIUCj0g~7iVSldoI1&#wlyIs5i@s$31ZW
    zv(6d!4;gW<=9v^DXv;pw2hF~smz?k7GD&u+E)`1uHF<$e_Y9=G4RmE#lT@NGZ%i*K!L^UE)?
    zu0wtH!Gc#-u6$*|2XeD3+vkz}WEct&CU5Zlw!`(}d%mBud`DLMet!2QYN{;Wd*FQ#
    z9p-a0qk|bg3yukn4h!K(pdl+-;#y8dNRH<+?UY~Oa5+iPr54GW!O^5{RO%c27NNGh
    zjt=x*-x29tS6H~tx!5*^8&2&uz#
    z9R%Rub?O6wSA-+vL7h5k!o}0ov|wbFy`h#J9c_##yHs7R=9m34!?}2-uK|UWKl5CR
    z_SPinD)N&ReG#3zvhM>Cf;W~3xp&4z$(2QEdy0&W2MRhe`*vd)BYc*%5QI2{pVx8l3
    z!-Z~G&PX?PjxSpJ%KmErg$
    ztL(h2EcI2EdaUdr=i;(E)HGWT%VE@5o?(a+`^Q$Q+bU0|Fz8Zd$g!(daWT*AL9Dfm
    z-AEk~gog$P>8@2p&o~)Bq3{#dTv|hm9MM%6S~%%stt=T)R>rZSd!T;F`Xy`aPfqpO
    z!}koGs=Ga&U(zRGfv4f!$rHy@bIuot*Nk-#1P$IqIsl>K-4Ds$2mGH
    zZG}v|=1GRkhz}ySE{h+@${M0-{iw(`jO2GJ)5`9EJ)_iEXW6A?AzI^Y`)I{;o#cB0
    z@ft9>A}(h}rX7pZThmSi?bOV#r!_M}-lmimHNBv
    zJPX}f3T&V&9uUV9tMvL{TWVA~?ma*ofHBG?HyzG$`7V0g*WQ(dw~2Dh{=K)OvpllQ
    zF<2gXQ9t?^U22>e9Ab@cRFPL~5bY)c)5+0*I2|`sD3SG;49OsbR-(=>wCFQemZOh4
    z@&*!mT{*6zd@EPtRM?u%SN|Ki5`0&=DdEY|@n0zwUe>96ANqbZeP750uLz2kBX9$yVv*ptF^IEX{1)mN_chE_r8`YEmc-Us<8=1v&WHY0o_4dqH(8
    zTjE^oUAd}g#_ap=pJ(%Cxbs?g6GID|nHgNCcJ;WZ2;w|{->!lF{S!TFp07LnO!z)U
    zTFKwfB8RBEAGYr~3Bx*f+%e(Dt_%KkQl{OVec6^rw>D{dTE
    zYie?B9beaoiPqe!@SzQYi3*}H3R+hO(KXXx?8u*
    z6Ct{W6+r=vm8Hc;?;SSs*2H@2)8i)H<9kQeSoqA7(|udiePxe3-}!dkuvgDXf9KK1
    zy9`OGo-(%UxDijy96jd236`!8#qZw-ztcsp%<#0jDanboq9en@s`PC$LTR~@hybYZ
    zaU((s1GM6qgHruvK+a!Z13x3d$-Al@4w&C;`iQ^Xz|GPIeW20P?37fGcrPtcm@VI9TobSSl&vK
    z&D0&hbQhG-An6t}(6B@1I#NH12gc~YIXyLi&kVVthATy?FQg;Im9TM}Z_Z-h&Nx@B
    zZwG-A_4{~84xb0rx{}1g#;%*eRuW~5m7R>HM-Cam
    zWzxuK5W#Bd46EZkV6-
    z^Ba0#R;8@*0E>QIQ>$(<)Th|vNyJzkI|KbZ^s#I-UN-#j)kqhwAynU$HIVbWG8sTiz+nzFX0!K)
    z#$22_H#7U_Eym0lI`+KWktg>%i?AHVg0w&PkK0%?2P(!+f*3ntl#d&%(T5akluxD_
    zZ8GHkS-%@@N^$Tr93^feUOedNC6btpw=lD2O0p2?^^zNiFe4VsvJB?S!~$di*0WfW&)M-ZUnsZPcjlq6=%;V2~c3
    zK}^~ZBXv4kvqJ}R5aUY7Y<~L7F3SMUl+J-iN7-{90-_T6M*p|b
    z?yMoRTP97<%9wu3n%u0%Ctvqay|f4WJuy)p+V9(a)fLaUs+Y~{b}=cHBTEnT?dfaO
    z``T6Wc>r}AfIjR%AFO`66xHK&?n{qDFr-tv!gIHbrq51DB%#qk?C-D?fCK533HwMZ
    zLyMv4OkOx+`P%PLyNvia<})ZF3p(p@<$ZUu`PJgodDl&R&v5*@An(`T_I{Y}Q13r_
    zI4^0&^H?*G)H
    zRm)}%vWY_nugr|A9xp|$g!nqu>qJF_hLA^(lW`Rpp>txwl%cBG!Jj=+K(~ujx^5kG
    zO8~`o@2vEgormiLqw(C}-q|^0DH!2y88bxbdQU
    zrcMY
    z3lrPT?e)}St)3mQYFF0y$$dwrr#*1>lyY6WqSuroD>m+GRPV*adXJ5NuuE5TZvLvv
    zddSiXFSB$`GQXIn2K$PkZyc&;uG!qFh)RHcwsyt3{5o8I~&>+ZYyjH#cMWxU?&nvL7bu2rv%f8@fBN4N4s#e94rZ)Q)AZ!|ke
    zq|G({7>8$D{H*8~>a2)X4S91Gi=(}awZ=@$<-VTsF3OC6qRyGR-w928v+|ODPo9}Z
    zL#C%y7zWuc-IN8Pfl47TtVfbi&_5fp^iSHkl5%;pin0bF?ppL>os8Py;Vq-izvOfM
    z^dmzTei#%q(;3j`CdV_fMi%#@I#0pd5b6?Yk2s$sZ<4|g!ZCRhD7IRZV1Mq!;%`On
    zgb-COy(KH_CV8R9cb|N-P#*M!xvDef|AsHD>=T|@$kzyb|1_g4~B5xbDPO
    zQpMew`l3{ks{3y>s#lBFnLDT9p95goOG*+p>L4zl-)wuCKr+)>%jr(rIg^CUw2F%Y
    z>9cBz>`Qg)Sb3q-8eWLERLK5}tx%-OJsmZ73U4)k$dH-oEf)@ZWkuE&lxxQ_Q0~s)Z;Hq>CyS$Jf90{K4<6$Qpjn
    zb))N1=ebwkkiD(!Dz)&*k=-vix|3>R6SM)2hSc-a`5c>xkbq06NLY~C(?bw3+PTw`
    z>v2(W+>F8j(y?o|bo!3w=K79gJ^kdAY0pfZ^0Z3#$~L}rC2^&`uVt%}MY*|);@;S^
    zhZF=ck*~j_0d>(a(S%dAy?D>&w7Vp3nbD$RiFbHmM~N*@xW%%*
    z6GJKJ^xtOr$@17pyBJGbPKb>ft!horYB}{fVvPxt
    zFS|QE{q9SrOtfQ-o)${z=QqJpItYZz!-qjn>8X*Q{25X=1B82z%
    zGi@6WqVr+*HE9oHG>2%db*9pClb8c@lhbrl>Az4<2+}9%0qJ(#3W)74sbv%Cgc%ib
    zi;GuJ-qP##+F6TZnoj5wS3k^{?7~=&INHy;vR?pRnK}+49$HHs|7ZCmtK}`PkdEOn
    zlZvUuRRYwCiN*HB8LRm<95+q+JbU;1OY%q_J=kyXpuSJ6-cY#gnUvkd^E12FZa8DqQy*=f?7DS8UubB~n}J6dd@d=
    zo$Pe+#p=kBRoc%=-sUEpIqb%Y+cTLiRW*NA8L9SMT&GVaBfrE1PAew>;SOeeL2}?HP
    zX`5&JR%OdcPduR(m-U`GQ!PHSNrwd|ywaz~WV>%+T0s{&>D3ModF*
    zdGSB}5uH=S)Qkpp9B&26XszOPYWC1mJOe=16dq>nr0D^>PLc!Pr@CbD559H{UK~@s
    zN409MD?&Q;PH5)4BS$_x(KzQw($IM!&Y99RtjlmmU1;xzUM!_Pe;`L@c_p;=b|cQ47%;MK?}aBf5*SBV)@q{
    zzGvHb-^d>J&@&GX-|%K}n|o6~9J}GxIZc|*9h5!xeNF$Np=j7@qTU3^3
    z*BE!pkXL7A`AS`S$Wg>X(+EFJ`sXT@GzI9o$3}!Rj~tpL;|>-vH8n3ZO`2qzCR$#L
    z7MnC38*5rJV)djwNQ)iX@7jL+4Q=q{EB}wW_W+No+Wv;mKIhDt6w*m2B$G-A&4dto
    zhR_MUh9bQS3W)SxEc7an00P35CIoDtsHjX7>=QeY`y-YmV&s_cFut4Na3eZEq>&zA4^(DPz~X#!FrSaNTw)=oH%ZTdcx?i
    z>huq+d!X>b!-@D2vJz!T^-+-YT>Zx*O9pN1*J5OL+hMB@Eh~DsU-RLO3r47)KXk63
    zOQS{;3&S6LseOl>2GhEUxN;1R{-_4M3vXV>SFnCKd!)1Utgf>Nno0IZv?gkebBBS_
    z&jJ_^Vqw9r5j$Ji3Wj&VA}yt+A1O6_h4vl`eG5-wRwF6`wTrfN$mL_4;Y_JrD=xNX
    zM1Vi+HYqH{(q)|;BEwai7GoN30{uX)p~qIS;2`}M5ExiKNNj?h$B~HuaxN|^{Uf4p
    zEK3fB*`y0&jts-8YR`F6)s8PMJK-vOrfk(gO?%R^=-8&0C4To+BCGRe-E*vt$8{1)Q-C
    z5EJ>kVDkXL3X`F*njqnZH_t!h6Nx0jfppkm3HgLJ#5UFws|@Kxdf{<
    zzTykpApIxoOG7#jgy@W_saKxdW^pm$p)e3S;zIy`(2`-sK@gV~85;)Dkz$vm1E(3s
    zm@KRE7+dxl$v6?WAW@xp2xgFa65<(T5LC3C5hf-)SGaEV&fQLq8FR95$;uVkxy_nv
    zSh=>#@!=zm7j9VfaN}mVjn=FxzxSuZ2Y>qM;NhPpwJvDWYT1faU7s2?_Eh)HD>vk|
    zYTb16s%_m*jv4tx*R?Cvxu^Iw=6~v004RUQsA^-sj)LYyVU{su)u|rj=Gm<*K{z7)
    zN%n(|h(iU#l!nkB8>!m~(0K`#0OPMsFa=^n@K@0PARfXTPXB|C1j$7|<3m|fzL+iK
    zi(UL7f>1$Ox%09Xt8Q^;&wXqTf0lKa^VnRKE{Wek6fO|IhI
    z%uB}J@x$ez1KPD?H9q?a8mo3{
    z=c@G&-~ax9FS#!@?33EL^Mmg-?c(Uvb0a%CbXA?42S*-$<;_nFb?pN)2M->Tpa1N!
    z!K*W~SC06{*-Ph)89QeV9yO|Y`=|QUhz*Gt-G21A7GY5}YL03@_%2N9p#G&cSnwpf
    zl2M&5Izyp6(5gd$fLFx~&cSuG(Ulzh@yERG#~K6m8SEeJPpm`O
    zuhWUad8r42!NIzn7D^g6OiC%qiU#xqPyph;`T$ig-LdP`sa-pc>FS2TgNKeCJ9O|M
    zcMUe+w_jNi-~a1x{J?A^Kdr+u*iJrzU*sS0k!oLK%Z>|2WPihf3kL1_+&>55L@b&9RuTG`S
    z1`%SpQSe-=smx~J=plFm?iZLr0j{C*2v$TiRMW(Q;DQJfGEA_*t)>(?bE-UxXAsK>
    zwt?W)8}QKobnL44;XFNGY*%p{5Xz$fl>m)CLGcSU`WiT5DjgtabHBtCjL7trs?)t`jUHmW__+3c$J0
    z+4C$)4>5Jo)(PV_ZyG;w%hJxdjXQSA$?dG4o>)>cank0^lkz%s%F8P(#Jfj9=((o<
    zf_I0&z75-~Z=AWuKa>hp6{ME94fYQXB0ITgiSofM91o%g|4P*mMFI?{>)BXde2gz;
    z^N+FS<L|~fQd0>qPkZ7+*StX{o{Wf%T`#LP~
    v%Q*Qgy;tdJj4ZONjTx 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

    sDMz7$^SDZV4x`K*fov0l~+M89O^^Om^v{t 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 diff --git a/imgui-lwjgl3/src/test/resources/basis33.ttf b/imgui-lwjgl3/src/test/resources/basis33.ttf deleted file mode 100644 index b20255b2943f6109d529a83677f26ebd2e6ad753..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39488 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