import java.util.*; import java.util.zip.*; import java.util.List; import java.util.regex.*; import java.util.concurrent.*; import java.util.concurrent.atomic.*; import java.util.concurrent.locks.*; import java.util.function.*; import javax.swing.*; import javax.swing.event.*; import javax.swing.text.*; import javax.swing.table.*; import java.io.*; import java.net.*; import java.lang.reflect.*; import java.lang.ref.*; import java.lang.management.*; import java.security.*; import java.security.spec.*; import java.awt.*; import java.awt.event.*; import java.awt.image.*; import java.awt.geom.*; import javax.imageio.*; import java.math.*; // also supports youtube, which we could remove // from https://codepen.io/pierrinho/pen/vNLGMa import static x30_pkg.x30_util.DynamicObject; import java.text.SimpleDateFormat; import java.nio.charset.Charset; import java.awt.geom.*; class main { static class HImageCarousel { List slides = new ArrayList(); class Slide implements IFieldsToList{ String imgURL; String html; Slide() {} Slide(String imgURL, String html) { this.html = html; this.imgURL = imgURL;} public String toString() { return shortClassName_dropNumberPrefix(this) + "(" + imgURL + ", " + html + ")"; } public boolean equals(Object o) { if (!(o instanceof Slide)) return false; Slide __0 = (Slide) o; return eq(imgURL, __0.imgURL) && eq(html, __0.html); } public int hashCode() { int h = 79973777; h = boostHashCombine(h, _hashCode(imgURL)); h = boostHashCombine(h, _hashCode(html)); return h; } public Object[] _fieldsToList() { return new Object[] {imgURL, html}; } String html() { return html; } Slide(String imgURL, String title, String text) { this.imgURL = imgURL; html = htmlCombine_new( h2(title), p(text)); } } JS js() { return new JS(mlsUnindent("\r\n var tag = document.createElement('script');\r\n tag.src = \"https://www.youtube.com/player_api\";\r\n var firstScriptTag = document.getElementsByTagName('script')[0];\r\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n \r\n // 3. This function creates an