{
  "information": {
    "Title": "Secondary School Level on 3 Factors affecting Photosynthesis Lab with Auto Curve Fitting",
    "Author": [
      "weelookang@gmail.com",
      "Francisco Esquembre",
      "F\u00e9lix J. Garc\u00eda Clemente",
      "based on ideas by Kristine, WB and Don",
      "fazli1702"
    ],
    "AuthorLogo": [
      "./1authorlookangphoto5050.png",
      "./01authorPacoEsquembre2011.png",
      "./01authorFelix_J_Garcia_Clemente.png",
      "",
      ""
    ],
    "Password": "",
    "Keywords": "",
    "Abstract": "http://weelookang.blogspot.sg/2017/11/photosynthesis-javascript-html5-applet.html\n\n./photosynthesis_3_factors/styles.css",
    "Copyright": "",
    "Level": "",
    "Language": "",
    "Logo": [
      "./photosynthesis_3_factors/Screenshot 2023-07-21 at 4.55.00 PM.png"
    ],
    "RunAlways": "true",
    "ModelTab": "",
    "ModelTabTitle": "",
    "ModelName": "",
    "FixedNavigationBar": "false",
    "CSSFile": "",
    "DetectedFiles": [
      "./01authorFelix_J_Garcia_Clemente.png",
      "./01authorPacoEsquembre2011.png",
      "./1authorlookangphoto5050.png",
      "./photosynthesis_3_factors/Screenshot 2023-07-21 at 4.55.00 PM.png"
    ],
    "AuxiliaryFiles": [
      "./photosynthesis/",
      "./assessment.json"
    ],
    "HTMLHead": "<script \nasync=\"true\" src=\"https://www.googletagmanager.com/gtag/js?id=G-S9EWRY1CPJ\"></script>\n<script>\n  window.dataLayer = window.dataLayer || [];\n  function gtag(){dataLayer.push(arguments);}\n  gtag('js', new Date());\n\n  gtag('config', 'G-S9EWRY1CPJ');\n</script>\n\n<script data-ad-client=\"ca-pub-0121577198857509\" async=\"true\" src=\"https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script>\n\n<style>\n@keyframes blink {\n  50% {\n    opacity: 0;\n  }\n}\n\n</style>",
    "SaveInXMLFormat": "false",
    "IncludeSource": "true",
    "IncludeLibrary": "true",
    "UglifyJS": "false",
    "PreviewFullModel": "false",
    "UseInterpreter": "true",
    "UseDeltaForODE": "false"
  },
  "description": {
    "pages": []
  },
  "model": {
    "variables": {
      "pages": [
        {
          "Name": "Var Table",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "datatable",
              "Value": "[[10,0],[20,0],[30,0],[40,0],[50,0]]",
              "Type": "Object",
              "Dimension": "",
              "Comment": "[[0,0,0],[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0],[7,0,0]]",
              "Domain": "protected"
            },
            {
              "Name": "datatable2",
              "Value": "[[0.2,0],[0.4,0],[0.6,0],[0.8,0],[1.0,0]]",
              "Type": "Object",
              "Dimension": "",
              "Comment": "[[0,0,0],[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0],[7,0,0]]",
              "Domain": "protected"
            },
            {
              "Name": "datatable3",
              "Value": "[[10,0],[20,0],[30,0],[40,0],[50,0]]",
              "Type": "Object",
              "Dimension": "",
              "Comment": "[[0,0,0],[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0],[7,0,0]]",
              "Domain": "protected"
            },
            {
              "Name": "xmin",
              "Value": "-15",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xmax",
              "Value": "13",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ymin",
              "Value": "-5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ymax",
              "Value": "5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "rangex",
              "Value": "xmax-xmin",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "rangey",
              "Value": "ymax-ymin",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sizex",
              "Value": "rangex/20",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sizey",
              "Value": "rangey/20",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "selected",
              "Value": "\"shm_with_xo=0,vo=2\"",
              "Type": "String",
              "Dimension": "[1]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "text",
              "Value": "\"select dropdown menu , vary the slider (eg. distance)\\nand click play\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "pi",
              "Value": "Math.PI",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "y1",
              "Value": "sizey*5/2",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ysize",
              "Value": "0.2",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xlamp",
              "Value": "10",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ylamp",
              "Value": "-2.5",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "n",
              "Value": "100",
              "Type": "int",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ntotal",
              "Value": "100",
              "Type": "int",
              "Dimension": "",
              "Comment": "capped at 100 bubbles",
              "Domain": "public"
            },
            {
              "Name": "index",
              "Value": "0",
              "Type": "int",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "r",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dr",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xbubble",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ybubble",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dy",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "ybubbleshow",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "count",
              "Value": "0",
              "Type": "int",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcount",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "intensity",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "intensitydrag",
              "Value": "intensity-3",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "carbondioxide",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "0.05",
              "Domain": "public"
            },
            {
              "Name": "carbondioxidedrag",
              "Value": "-2",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "expt",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "spd",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "bubbleburst",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "bubblebursttime",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "bubbleburstcheck",
              "Value": "0",
              "Type": "double",
              "Dimension": "[ntotal]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "floory",
              "Value": "-8",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "font",
              "Value": "\"normal normal 1.5vw \"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "font2",
              "Value": "\"normal normal 1vw \"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "scene11",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "scene12",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "scene13",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "scene1firsttime",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "scene2firsttime",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "distance",
              "Value": "50",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "showdistancefitcurve",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "temperature",
              "Value": "30",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "showLabel",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "displaydistance",
              "Value": "\"inline-block\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "displaycarbondioxide",
              "Value": "\"inline-block\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "displaytemperature",
              "Value": "\"inline-block\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "endofexpt0",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "endofexpt3",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "endofexpt4",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "clicked",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "[3]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "isToggledOn",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "isCheckingTextBlink",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "tTextBlink",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "blinkInterval",
              "Value": "3",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dtTextBlink",
              "Value": "0.1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "bubbles",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "drdistance1",
              "Value": "0.22",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drdistance2",
              "Value": "0.118",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drdistance3",
              "Value": "0.082",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drdistance4",
              "Value": "0.062",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drdistance5",
              "Value": "0.053",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drcarbondioxide1",
              "Value": "0.033",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drcarbondioxide2",
              "Value": "0.105",
              "Type": "double",
              "Dimension": "",
              "Comment": "0.073",
              "Domain": "public"
            },
            {
              "Name": "drcarbondioxide3",
              "Value": "0.184",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drcarbondioxide4",
              "Value": "0.22",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drcarbondioxide5",
              "Value": "0.22",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drtemperature1",
              "Value": "0.052",
              "Type": "double",
              "Dimension": "",
              "Comment": "0.033",
              "Domain": "public"
            },
            {
              "Name": "drtemperature2",
              "Value": "0.12",
              "Type": "double",
              "Dimension": "",
              "Comment": "0.105",
              "Domain": "public"
            },
            {
              "Name": "drtemperature3",
              "Value": "0.22",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drtemperature4",
              "Value": "0.1846153846151",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "drtemperature5",
              "Value": "0.0067",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "colors",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "colorCyan",
              "Value": "\"rgba(0,255,255,0.6)\"",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "colorPurple",
              "Value": "\"rgba(255,0,255,0.6)\"",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "colorGreen",
              "Value": "\"rgba(0,255,0,0.6)\"",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "colorRed",
              "Value": "\"rgba(255,0,0,0.6)\"",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "color1",
              "Value": "",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "color2",
              "Value": "",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "color3",
              "Value": "",
              "Type": "string",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "cssBlink",
              "Value": "{}",
              "Type": "Object",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "cssBlinkcomboBox",
              "Value": "{}",
              "Type": "Object",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "Comboboxvar",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "print",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "datatable",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "datanMax",
              "Value": "20",
              "Type": "double",
              "Dimension": "",
              "Comment": "20 needs ro be a large number for 3 expts at least data points 5 points*3expt",
              "Domain": "public"
            },
            {
              "Name": "datan",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "distancedata",
              "Value": "-10",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "-10 far away from screen",
              "Domain": "public"
            },
            {
              "Name": "intensitydata",
              "Value": "-10",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcountdata",
              "Value": "0",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcountdatadistance",
              "Value": "0",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcountdatacarbondioxide",
              "Value": "0",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "sumcountdatatemperature",
              "Value": "0",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "carbondioxidedata",
              "Value": "-10",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "temperaturedata",
              "Value": "-10",
              "Type": "double",
              "Dimension": "[datanMax]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "layout",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "Width",
              "Value": "(_isEPub)?\"400\":\"100%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Height",
              "Value": "(_isEPub)?\"500\":\"100%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "Width0",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Width1",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Width2",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Width3",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width",
              "Domain": "public"
            },
            {
              "Name": "Width4",
              "Value": "\"50%\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "display width for temperature",
              "Domain": "public"
            },
            {
              "Name": "world",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "graph",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "graph2",
              "Value": "true",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "disabledworld",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "disabled",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "simplespring",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "m",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "x",
              "Value": "-1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xs",
              "Value": "x",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "y",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "vx",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "vxs",
              "Value": "vx",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "vxstored",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "t",
              "Value": "0",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "T",
              "Value": "1",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "dt",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "functionY",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "selectedmodel",
              "Value": "\"2*sin(t)\"",
              "Type": "String",
              "Dimension": "[1]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "functionY",
              "Value": "selectedmodel+\"\"",
              "Type": "String",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "xmodel",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "showmodel",
              "Value": "false",
              "Type": "boolean",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "\"Y = \"+_view._format(Acalculated,\"0.0\")+\"sin(\" +_view._format(w,\"0.00\")+\"t\"+_view._format(phi,\"0.00\")+\")\"",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "splineFunction",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "splineFunction",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "splinex0",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "spliney0",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "splinex",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "spliney",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "distancecubicsplinex",
              "Value": "0",
              "Type": "double",
              "Dimension": "[7]",
              "Comment": "[0,0,0,0,0,0,0]",
              "Domain": "public"
            },
            {
              "Name": "distancecubicspliney",
              "Value": "[350,0,0,0,0,0,0]",
              "Type": "double",
              "Dimension": "[7]",
              "Comment": "[0,100,100,100,100,100,0]",
              "Domain": "public"
            },
            {
              "Name": "intensitycubicsplinex",
              "Value": "",
              "Type": "double",
              "Dimension": "[7]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "intensitycubicspliney",
              "Value": "",
              "Type": "double",
              "Dimension": "[7]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "splinex2",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "spliney2",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "carbondioxidecubicsplinex",
              "Value": "0",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "[0,0,0,0,0,0,0]",
              "Domain": "public"
            },
            {
              "Name": "carbondioxidecubicspliney",
              "Value": "0",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "[0,0,0,0,0,0,0]",
              "Domain": "public"
            },
            {
              "Name": "splinex3",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "spliney3",
              "Value": "",
              "Type": "double",
              "Dimension": "[101]",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "temperaturecubicsplinex",
              "Value": "0",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "[0,0,0,0,0,0,0]",
              "Domain": "public"
            },
            {
              "Name": "temperaturecubicspliney",
              "Value": "0",
              "Type": "double",
              "Dimension": "[6]",
              "Comment": "[0,0,0,0,0,0,0]",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        },
        {
          "Name": "exponential",
          "Active": "true",
          "Internal": "false",
          "Type": "VARIABLE_EDITOR",
          "PageComment": "",
          "Variables": [
            {
              "Name": "resultexponential",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "FittedParametersa",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "FittedParametersb",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            },
            {
              "Name": "",
              "Value": "",
              "Type": "double",
              "Dimension": "",
              "Comment": "null",
              "Domain": "public"
            }
          ]
        }
      ]
    },
    "initialization": {
      "pages": [
        {
          "Name": "undefined",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (expt==undefined){\n  expt=0;\n  }\n  \n  if (dt==undefined){\n  dt=0.1;\n  }\n\nif (scene1firsttime==undefined){\n  scene1firsttime=true\n  }\n  \n // if (scene2firsttime==undefined){\n //   scene2firsttime=true\n  //  }\n"
        },
        {
          "Name": "colors",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "color1=colorCyan\ncolor2=colorPurple\ncolor3=colorGreen\n"
        },
        {
          "Name": "Init Page",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\nfor (var i=0; i<ntotal  ; i++) {\n //random position\n //xbubble[i]=(Math.random()-0.5);\n// xbubble[i] =poisson();\n //ybubble[i]=(Math.random()*(-3));\n// ybubble[i] =poisson()*(-3);\nxbubble[i]= 0\nybubble[i]= -0.45\n\n r[i]=0; //reset radius back to zero size\n dr[i] =0; // reset radius growth \n count[i]=0; //reset counting of bubbles\n ybubbleshow[i]=true; //show all bubbles \n index[i]=i+\"\";\n}\n\nsumcount  = 0; \nif (expt==0){\n  //[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n  // _view.comboBox.setSelectedOptions([\"expt 1 vary amount of light\"]);\n  \n  dr[0] = drdistance1; //set first bubble rate of radius increase\n  //dr[n] = 0.05*intensity/10; //set first bubble rate of radius increase for random appearance\n  //_tools.showOkDialog(\"Vary the on screen slider of intensity to a different value!\");\n}\nif (expt==1){\n  //[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n  // _view.comboBox.setSelectedOptions([\"expt 1 vary amount of light\"]);\n\n  dr[0] = 0.05*intensity; //set first bubble rate of radius increase\n  //dr[n] = 0.05*intensity/10; //set first bubble rate of radius increase for random appearance\n  //_tools.showOkDialog(\"Vary the on screen slider of intensity to a different value!\");\n}\nelse if (expt==2){\n  //[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n  //_view.comboBox.setSelectedOptions([\"expt 2 vary amount of carbon dioxide\"]);\n  dr[0] = 0.22; //set first bubble rate of radius increase \n  //dr[n] = 0.05*carbondioxide*16/10; //set first bubble rate of radius increase\n  // _tools.showOkDialog(\"Vary the on screen slider of carbon dioxide to a different value!\");\n}\nelse if (expt==3){\n  //[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n  //_view.comboBox.setSelectedOptions([\"expt 2 vary amount of carbon dioxide\"]);\n  //dr[0] = 0.22; //set first bubble rate of radius increase \n  dr[0]=drtemperature1\n  if (temperature==10){\n    console.log(\"temp: 10\")\n  }\n  if (temperature==20){\n    console.log(\"temp: 20\")\n  }\n  if (temperature==30){\n    console.log(\"temp: 30\")\n  }\n  if (temperature==40){\n    console.log(\"temp: 40\")\n  }\n  if (temperature==50){\n    console.log(\"temp: 50\")\n  }\n  //dr[n] = 0.05*carbondioxide*16/10; //set first bubble rate of radius increase\n  // _tools.showOkDialog(\"Vary the on screen slider of carbon dioxide to a different value!\");\n}\n"
        },
        {
          "Name": "resizeListener",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (window) {\n  window.addEventListener('resize', function(e) { _update(); });\n}\n"
        },
        {
          "Name": "message",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (_isMobile){\n  //do nothing\n  }\n  \n  else{\n    // copy this into the initialization\n// make the font bigger\n\n_view.plottingPanel.getMessageDecoration(\"TL\").getFont().setFontSize(\"1vw\");\n_view.plottingPanel.getMessageDecoration(\"TR\").getFont().setFontSize(\"1vw\");\n_view.plottingPanel.getMessageDecoration(\"BL\").getFont().setFontSize(\"1vw\");\n_view.plottingPanel.getMessageDecoration(\"BR\").getFont().setFontSize(\"1vw\");\n    }"
        },
        {
          "Name": "svg",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "var container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"90%\" fy=\"10%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(0,255,255); stop-opacity:0.6\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(255,255,255);stop-opacity:0.7\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient)\"\n\nvar container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient1\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"50%\" fy=\"50%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(255,255,255); stop-opacity:1\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(200,200,200);stop-opacity:0.1\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient1)\"\n\nvar container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient2\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"90%\" fy=\"10%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(255,255,255); stop-opacity:0.5\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(0,255,255);stop-opacity:0.5\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient2)\"\n\n\nvar container = document.createElement('div');\nvar svggradient = '<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\"><defs>'+\n  '  <radialGradient id=\"mygrandient3\" cx=\"50%\" cy=\"50%\" r=\"90%\" fx=\"50%\" fy=\"50%\">'+\n  '    <stop offset=\"0%\" style=\"stop-color:rgb(0,0,0); stop-opacity:0.5\" />'+\n  '    <stop offset=\"100%\" style=\"stop-color:rgb(200,200,200);stop-opacity:0.1\" />'+\n  '  </radialGradient>'+\n  '</defs></svg>';\ncontainer.innerHTML = svggradient;\ndocument.body.appendChild(container);\n//\"url(#mygrandient3)\"\n"
        },
        {
          "Name": "axes",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "_view.plottingPanelxvst.getAxisX().setPosition([0,0.047]);\n//_view.plottingPanelxvst.getTitleX().setPosition([0.95,0.1]);\n_view.plottingPanelxvst.getAxisY().setPosition([0.045,0]);\n//_view.plottingPanelxvst.getTitleY().setPosition([0.1,0.9]);\n\n_view.plottingPanelxvst2.getAxisX().setPosition([0,0.047]);\n//_view.plottingPanelxvst2.getTitleX().setPosition([0.95,0.1]);\n_view.plottingPanelxvst2.getAxisY().setPosition([0.045,0]);\n//_view.plottingPanelxvst2.getTitleY().setPosition([0.1,0.9]);\n\n_view.plottingPanelxvst0.getAxisX().setPosition([0,0.047]);\n//_view.plottingPanelxvst0.getTitleX().setPosition([0.95,0.1]);\n_view.plottingPanelxvst0.getAxisY().setPosition([0.045,0]);\n//_view.plottingPanelxvst0.getTitleY().setPosition([0.1,0.9]);\n\n_view.plottingPanelxvst3.getAxisX().setPosition([0,0.047]);\n//_view.plottingPanelxvst3.getTitleX().setPosition([0.95,0.1]);\n_view.plottingPanelxvst3.getAxisY().setPosition([0.045,0]);\n//_view.plottingPanelxvst3.getTitleY().setPosition([0.1,0.9]);\n\n//console.log(_view)"
        },
        {
          "Name": "meesage",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (scene1firsttime == true) {\n  _tools.showOkDialog(\"Investigating factors that affect the rate of photosynthesis\", function() {\n    // This function will be called when the user clicks \"OK\" on the first dialog\n   //displaydistance = \"none\"\n   displaycarbondioxide = \"none\"\n   displaytemperature = \"none\" // to address request to only show one plottingpanel\n   \n    _tools.showOkDialog(\"Introduction: <br/><br/>Photosynthesis is an essential process in plants. <br/><br/>In this virtual lab, you will investigate how light intensity, carbon dioxide concentration and temperature affects the rate of photosynthesis of an aquatic plant.\", function() {\n      // This function will be called when the user clicks \"OK\" on the second dialog\n      _tools.showOkDialog(\"The experimental setup you will be using as shown below. <br/><br/> Click on 'Description Text with \u2612'  after reading them to close them. \", function() {\n      // This function will be called when the user clicks \"OK\" on the third dialog\n      scene11 = true;\n      scene12 = true;\n      scene13 = true;\n    //  enableBlinking(\"scene1popupsolution\"); // text1 is the name of the element to blink\n    //  enableBlinking(\"scene1popupthermometer2\"); \n     // enableBlinking(\"scene1popupruler\"); \n      scene1firsttime = false;\n      //function ryan for blinking\n     // toggleFont()\n      _update(); // to force update view\n      \n     \n\n      \n    } );\n     formatDialogOK ()\n  } );\n    formatDialogOK ()\n  } );\n\n  formatDialogOK ()\n}\n\n\n"
        },
        {
          "Name": "fontchanginginfinite",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\n\n\nvar a = document.getElementById(\"plottingPanel\");\nsetTimeout(function() {\n  alert(\"code running\")\n  console.info(a)\n\n  const textSolution = a.getElementById(\"solution1\");\n\n  console.info(textSolution)\n  const animate = textSolution.createElementNS(\"http://www.w3.org/2000/svg\", \"animate\");\n  animate.setAttribute(\"attributeName\",\"opacity\");\n  animate.setAttribute(\"values\",\"0;1;0\");\n  animate.setAttribute(\"dur\",\"3s\");\n  animate.setAttribute(\"repeatCount\",\"indefinite\");\n  //textSolution.setAttribute(\"animation\", \"blink 1s step-start infinite\");\n} ,3000 );"
        }
      ]
    },
    "evolution": {
      "information": {
        "FPS": "20",
        "SPD": "1",
        "RealTimeVariable": "",
        "Autoplay": "false"
      },
      "pages": [
        {
          "Name": "Evol Page",
          "Active": "true",
          "Internal": "false",
          "Type": "ODE_EDITOR",
          "Comment": "",
          "IndependentVariable": "t",
          "Increment": "dt",
          "Equations": [
            {
              "state": "r",
              "rate": "dr"
            },
            {
              "state": "ybubble",
              "rate": "dy"
            }
          ],
          "Method": "RungeKutta",
          "AbsoluteTolerance": "0.00001",
          "PreliminaryCode": {
            "Code": "//x = poisson(100)/100;\n//x = Math.random()-0.5;\n",
            "Comment": "Code to be executed before rate equations are evaluated"
          },
          "EventMaximumStep": "",
          "Events": {
            "pages": [
              {
                "Type": "EVENT_EDITOR",
                "Name": "Event",
                "Active": "true",
                "Internal": "false",
                "EventType": "CROSSING_EVENT",
                "Method": "BISECTION",
                "Iterations": "100",
                "Tolerance": "1.0e-5",
                "StopAtEvent": "true",
                "ZeroCondition": "return t - 60.0;",
                "Action": "_pause();\n  text = \"pause\";\n  _tools.showOkDialog(\"Data collected after 60 sec, \\nat distance of light=\" + distance + \" cm , \\ncarbon dioxide =\" + carbondioxide + \" %\"+ \"\\n and temperature =\"+ temperature+\"\u2070C \" , function () {\n    store();\n    _update(); // to force update view\n  });\n\n// for moodle\n  let questionPrefixes = [\"A\", \"B\"];\n  let questionNumber = [intensity, Math.round(carbondioxide * 20)];\n//expt = 1 or 2 for the 2 expt\n  questionInstantMark(questionPrefixes[expt - 1] + questionNumber[expt - 1], \"Number of bubbles observed: \" + sumcount);\n  //alert(expt-1)",
                "Comment": ""
              }
            ]
          },
          "ZenoEffect": {
            "Code": "",
            "Comment": "",
            "StopAfterEffect": "true"
          },
          "AccelerationIndependentOfVelocity": "false",
          "ForceSynchronization": "false",
          "UseBestInterpolation": "false",
          "EstimateFirstStep": "false",
          "MemoryLength": "",
          "InternalStep": "",
          "MaximumStep": "",
          "MaximumNumberOfSteps": "10000",
          "RelativeTolerance": "",
          "DelayList": "",
          "DelayMaximum": "",
          "DelayAddDiscont": "",
          "DelayInitialCondition": {
            "Code": "",
            "Comment": ""
          },
          "DirectIncidenceMatrix": "",
          "Discontinuities": {
            "pages": []
          },
          "ErrorHandling": {
            "pages": []
          }
        },
        {
          "Name": "AnimateBlinking",
          "Active": "false",
          "Internal": "false",
          "Type": "EVOLUTION_EDITOR",
          "Comment": "",
          "Code": "/*\nif(!isCheckingTextBlink){\n  font2 = \"normal normal 1vw\";\n  tTextBlink = blinkInterval;\n  return;\n}\n*/  \nif(tTextBlink >0&& tTextBlink<1){\n  font2 = \"normal normal 1vw\" \n  \n}\nelse if (tTextBlink >1&& tTextBlink<2){\n  font2 = \"normal normal 0vw\" \n  }\n\ntTextBlink = (tTextBlink + dtTextBlink)%2;\n\n//console.log(_view)\n//console.log(\"spd =\", _view.spd.getValue())\n"
        }
      ]
    },
    "fixed_relations": {
      "pages": [
        {
          "Name": "distancebubble",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "//distancedata = 10*distance/50\nif (expt==0) {\n  //console.log(\"expt 0\")\n  // 1 for intensity expt\n  for (var i=0; i<n  ; i++) {\n    //if (r[i]-0.2*poisson(20)/20>=0) {   //determine bubble radius size\n    if (r[i]-0.2*1>=0) {   //determine bubble radius size\n      \n      dr[i]=0; //stop growing this bubble\n      \n      //dy[i]=3*poisson(10)/10; // start moving up\n      dy[i]=3*1; // start moving up\n      count[i] = 1; // count when bubble starts to move up.\n      // delay depend on intensity\n\n      //start next bubble growing\n      if (distance==10) {\n        var coeffatdistance10 = 22.55\n        dr[i+1] = drdistance1\n      }\n      else if (distance==20) {\n        var coeffatdistance20 = 28 // 30 achieve 20 bubbles,\n        dr[i+1] = drdistance2\n      }\n      else if (distance==30) {\n        var coeffatdistance30 = 42  // 45 gets 11 bubbles\n        dr[i+1] = drdistance3\n      }\n      else if (distance==40) {\n        var coeffatdistance40 = 80 // 85 gives  8 bubbles\n        dr[i+1] = drdistance4\n      }\n      else if (distance==50) {\n        var coeffatdistance50 = 50 // 28 gives 4 bubbles vary this to fit real data given of 6 bubbles\n        dr[i+1] = drdistance5\n      }\n      \n      \n      \n      \n     \n      \n      //generalise equation poisson distribution\n      //dr[i+1] = 0.05 * poisson(100) / 100 * intensity\n     // var coeffatintensity100 = 0.00208\n     // dr[i+1] = coeffatintensity100 * 1 * intensity\n      \n      \n      \n      \n      \n    }\n\n    //if (ybubble[i] - 2.5>0) { //reach surface\n    if (ybubble[i] - 0.2>0) { //reach surface\n      \n      dy[i] = 0; // stop move y direction\n      // explode\n      bubbleburst[i]=true; //to show the ring of bubble bursting\n      if (bubbleburstcheck[i]==0) { //original bubbleburstcheck[i] are zero\n      bubblebursttime[i]=t; // start record time\n      bubbleburstcheck[i]=1; // will not check burtsting\n}\n if(t>(bubblebursttime[i]+2*dt)&&bubbleburstcheck[i]==1 ){ // \n   bubbleburst[i]=false; // set to visible false\n   }\n\n\n      ybubbleshow[i]=false;\n    }\n    if (xbubble[i]>0.35&&ybubble[i]>0.9) {\n      //rightside\n      xbubble[i]=0.3;\n    }\n    if (xbubble[i]<-0.35&&ybubble[i]>0.9) {\n      //rightside\n      xbubble[i]=-0.3;\n    }\n  }\n} //expt 1"
        },
        {
          "Name": "fontincreasing",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": ""
        },
        {
          "Name": "curvefitdistance",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\n// initial values so there is no error in numeric\nif (distancecubicsplinex[1]!=0&&distancecubicsplinex[2]!=0&&distancecubicsplinex[3]!=0&&distancecubicsplinex[4]!=0&&distancecubicsplinex[5]!=0){\n  var xData = [distancecubicsplinex[1], distancecubicsplinex[2], distancecubicsplinex[3], distancecubicsplinex[4], distancecubicsplinex[5]];\n  var yData = [distancecubicspliney[1], distancecubicspliney[2], distancecubicspliney[3], distancecubicspliney[4], distancecubicspliney[5]];\n  showdistancefitcurve = true\n}\nelse{\n  var xData = [10, 20, 30, 40, 50];\n  var yData = [60, 20, 9, 8, 3];\n}\nvar result = fitCurve(xData, yData);\n\n//console.log(result.a); // approximately 7883.8\n//console.log(result.b); // approximately 9.7333\n\n//for distance fitcurve\nFittedParametersa = result.a; // returns approximately [70.3859, -0.0927]\nFittedParametersb = result.b;\n//FittedParametersa = fitCurve(xData, yData); // returns approximately 7998.325\n"
        },
        {
          "Name": "resize view",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if ( scene1firsttime==false&&scene11 == false){\n  xmin = -8\n //alert()\n  \n  }\n\n\n\n"
        },
        {
          "Name": "endofexpt",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (distancecubicspliney[1]>0&&distancecubicspliney[2]>0&&distancecubicspliney[3]>0&&distancecubicspliney[4]>0&&distancecubicspliney[5]>0){\n  endofexpt0 = true;\n  }\n"
        },
        {
          "Name": "intensitybubble 2",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "//distancedata = 10*distance/50\nif (expt==1) {\n  // 1 for intensity expt\n  for (var i=0; i<n  ; i++) {\n    //if (r[i]-0.2*poisson(20)/20>=0) {   //determine bubble radius size\n    if (r[i]-0.2*1>=0) {   //determine bubble radius size\n      \n      dr[i]=0; //stop growing this bubble\n      \n      //dy[i]=3*poisson(10)/10; // start moving up\n      dy[i]=3*1; // start moving up\n      count[i] = 1; // count when bubble starts to move up.\n      // delay depend on intensity\n\n      //start next bubble growing\n      \n      if (intensity==100) {\n         var coeffatintensity100 = 0.00208\n      dr[i+1] = coeffatintensity100 * 1 * intensity\n      }\n      else if (intensity==25) {\n         var coeffatintensity100 = 0.00208\n      dr[i+1] = 1.25*coeffatintensity100 * 1 * intensity\n      }\n      else if (intensity==11) {\n        var coeffatintensity100 = 0.00208\n      dr[i+1] = 1.2*coeffatintensity100 * 1 * intensity\n      }\n      else if (intensity==6) {\n         var coeffatintensity100 = 0.00208\n      dr[i+1] = 1.25*coeffatintensity100 * 1 * intensity\n      }\n      else if (intensity==4) {\n         var coeffatintensity100 = 0.00208\n      dr[i+1] = 1.2*coeffatintensity100 * 1 * intensity\n      }\n     \n      \n      //generalise equation poisson distribution\n      //dr[i+1] = 0.05 * poisson(100) / 100 * intensity\n     // var coeffatintensity100 = 0.00208\n     // dr[i+1] = coeffatintensity100 * 1 * intensity\n      \n      \n      \n      \n      \n    }\n\n    //if (ybubble[i] - 2.5>0) { //reach surface\n    if (ybubble[i] - 0.2>0) { //reach surface\n      \n      dy[i] = 0; // stop move y direction\n      // explode\n      bubbleburst[i]=true; //to show the ring of bubble bursting\n      if (bubbleburstcheck[i]==0) { //original bubbleburstcheck[i] are zero\n      bubblebursttime[i]=t; // start record time\n      bubbleburstcheck[i]=1; // will not check burtsting\n}\n if(t>(bubblebursttime[i]+2*dt)&&bubbleburstcheck[i]==1 ){ // \n   bubbleburst[i]=false; // set to visible false\n   }\n\n\n      ybubbleshow[i]=false;\n    }\n    if (xbubble[i]>0.35&&ybubble[i]>0.9) {\n      //rightside\n      xbubble[i]=0.3;\n    }\n    if (xbubble[i]<-0.35&&ybubble[i]>0.9) {\n      //rightside\n      xbubble[i]=-0.3;\n    }\n  }\n} //expt 1"
        },
        {
          "Name": "co2bubble",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (expt==2) {\n  //console.log(\"spliney2=\"+spliney2)\n  //console.log(\"splinex2=\"+splinex2)\n  //console.log(\"ybubble=\", ybubble)\n  for (var i=0; i<n /* Iterations */ ; i++) {\n    if (r[i]-0.2>=0) {\n      //stop growing this bubble\n      dr[i]=0;\n      // start moving up\n      dy[i]=3;\n      count[i] = 1;\n      // delay depend on intensity\n      var constant = 0.59405 // 0.5940 produce 34 bubbles, 0.5941 produce 36 bubbles\n      //start next bubble growing\n      if (carbondioxide==0.2) {\n        var constant = 0.59405 // 0.5940 produce 34 bubbles, 0.5941 produce 36 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=15 calibrated\n        //dr[i+1] = 0.11881 //33\n        //dr[i+1] = 0.118811 //34\n        //dr[i+1] = 0.1188111 //34\n        //dr[i+1] = 0.1188115 //34\n        //dr[i+1] = drcarbondioxide1 //34\n        //dr[i+1] = 0.118812 //36\n        //dr[i+1] = 0.118815 //36\n        //dr[i+1] = 0.11882 //36\n        //dr[i+1] = 0.11883 //36\n        //dr[i+1] = 0.11885 //36\n        //alert();\n        dr[i+1] = drcarbondioxide1\n      }\n      else if (carbondioxide==0.4) {\n        var constant = 0.42 // 0.42 produce 46 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=2, sumcount=30 calibrated\n        dr[i+1] = drcarbondioxide2\n      }\n      else if (carbondioxide==0.6) {\n        var constant = 0.32 // 0.32 produce 55 bubbles,\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=15 calibrated\n        dr[i+1] = drcarbondioxide3\n      }\n      else if (carbondioxide==0.8) {\n        var constant = 0.2542405 // 0.254240 produce 55 bubbles, 0.254242 produce 60 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=50 calibrated\n        dr[i+1] = drcarbondioxide4\n      }\n      else if (carbondioxide==1.0) {\n        var constant = 0.22 // 0.5940 produce 34 bubbles, 0.5941 produce 36 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=50 calibrated\n        dr[i+1] = drcarbondioxide5\n      }\n      //else if (carbondioxide==0.3) {\n        //dr[i+1]=0.029*carbondioxide*16; // intensity=1, sumcount=50 calibrated\n        //\n      }\n      \n      //if (ybubble[i] - 2.5>0) {\n      if (ybubble[i] - 0.2>0) {\n        // stop\n        dy[i] = 0;\n        // explode\n        ybubbleshow[i]=false;\n      }\n      if (xbubble[i]>0.35&&ybubble[i]>0.9) {\n        //rightside\n        xbubble[i]=0.3;\n      }\n      if (xbubble[i]<-0.35&&ybubble[i]>0.9) {\n        //rightside\n        xbubble[i]=-0.3;\n      }\n    }\n}\n  //} "
        },
        {
          "Name": "temperature",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (expt==3) {\n  //console.log(\"spliney3=\", spliney3)\n  //console.log(\"splinxy3=\", splinex3)\n  for (var i=0; i<n /* Iterations */ ; i++) {\n    if (r[i]-0.2>=0) {\n      //stop growing this bubble\n      dr[i]=0;\n      // start moving up\n      dy[i]=3;\n      count[i] = 1;\n      // delay depend on intensity\n      var constant = 0.59405 // 0.5940 produce 34 bubbles, 0.5941 produce 36 bubbles\n      //start next bubble growing\n      if (temperature==10) {\n        //dr[0] = drtemperature1\n        var constant = 0.59405 // 0.5940 produce 34 bubbles, 0.5941 produce 36 bubbles\n        dr[i+1] = drtemperature1\n      }\n      else if (temperature==20) {\n        var constant = 0.42 // 0.42 produce 46 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=2, sumcount=30 calibrated\n        dr[i+1] = drtemperature2\n      }\n      else if (temperature==30) {\n        var constant = 0.32 // 0.32 produce 55 bubbles,\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=15 calibrated\n        dr[i+1] = drtemperature3\n      }\n      else if (temperature==40) {\n        var constant = 0.24// 0.254240 produce 55 bubbles, 0.254242 produce 60 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=50 calibrated\n        dr[i+1] = drtemperature4\n      }\n      else if (temperature==50) {\n        var constant = 0.21 // 0.5940 produce 34 bubbles, 0.5941 produce 36 bubbles\n        //dr[i+1]=constant*carbondioxide; // intensity=1, sumcount=50 calibrated\n        dr[i+1] = drtemperature5\n      }\n      //else if (carbondioxide==0.3) {\n        //dr[i+1]=0.029*carbondioxide*16; // intensity=1, sumcount=50 calibrated\n        //\n      }\n      //if (ybubble[i] - 2.5>0) {\n      if (ybubble[i] - 0.2>0) {\n        // stop\n        dy[i] = 0;\n        // explode\n        ybubbleshow[i]=false;\n      }\n      if (xbubble[i]>0.35&&ybubble[i]>0.9) {\n        //rightside\n        xbubble[i]=0.3;\n      }\n      if (xbubble[i]<-0.35&&ybubble[i]>0.9) {\n        //rightside\n        xbubble[i]=-0.3;\n      }\n    }    \n}\n  //} "
        },
        {
          "Name": "numericsJSSpline",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "\n//var data = ([0,2,3,4,5],[1,2,1,3,2]).at(numeric.linspace(1,5,10)) \n/*\nhttps://ccc-js.github.io/numeric2/documentation.html\nCubic splines\nYou can do some (natural) cubic spline interpolation:\nIN> numeric.spline([1,2,3,4,5],[1,2,1,3,2]).at(numeric.linspace(1,5,10))\nOUT> [ 1, 1.731, 2.039, 1.604, 1.019, 1.294, 2.364, 3.085, 2.82, 2]\n*/\nvar answer0 = numeric.spline([distancecubicsplinex[1],distancecubicsplinex[2],distancecubicsplinex[3],distancecubicsplinex[4],distancecubicsplinex[5]],[distancecubicspliney[1],distancecubicspliney[2],distancecubicspliney[3],distancecubicspliney[4],distancecubicspliney[5]]).at(numeric.linspace(10,50,100))\nsplinex0 = numeric.linspace(distancecubicsplinex[1],distancecubicsplinex[5],100)\n//var answer0 = numeric.spline([distancecubicsplinex[0],distancecubicsplinex[1],distancecubicsplinex[2],distancecubicsplinex[3],distancecubicsplinex[4],distancecubicsplinex[5]],[distancecubicspliney[0],distancecubicspliney[1],distancecubicspliney[2],distancecubicspliney[3],distancecubicspliney[4],distancecubicspliney[5]]).at(numeric.linspace(0,50,100))\n//splinex0 = numeric.linspace(distancecubicsplinex[0],distancecubicsplinex[5],100)\nspliney0 = answer0\n\n//datatable = [[10,0],[20,0],[30,0],[40,0],[50,0]]\n  datatable[0][1] = distancecubicspliney[1]\n  datatable[1][1] = distancecubicspliney[2]\n  datatable[2][1] = distancecubicspliney[3]\n  datatable[3][1] = distancecubicspliney[4]\n  datatable[4][1] = distancecubicspliney[5]\n  \n  \n\n\nvar answer = numeric.spline([intensitycubicsplinex[0],intensitycubicsplinex[1],intensitycubicsplinex[2],intensitycubicsplinex[3],intensitycubicsplinex[4],intensitycubicsplinex[5],intensitycubicsplinex[6]],[intensitycubicspliney[0],intensitycubicspliney[1],intensitycubicspliney[2],intensitycubicspliney[3],intensitycubicspliney[4],intensitycubicspliney[5],intensitycubicspliney[6]]).at(numeric.linspace(0,6,24))\n//var answer = numeric.spline([masterListsort[0].key,masterListsort[1].key,masterListsort[2].key,masterListsort[3].key,masterListsort[4].key,masterListsort[5].key,masterListsort[6].key],[masterListsort[0].val,masterListsort[1].val,masterListsort[2].val,masterListsort[3].val,masterListsort[4].val,masterListsort[5].val,masterListsort[6].val]).at(numeric.linspace(0,6,24))\n//var answer = numeric.spline([intensitydata[1],intensitydata[2],intensitydata[3],intensitydata[4],intensitydata[5],intensitydata[6],intensitydata[7]],[sumcountdata[1],sumcountdata[2],sumcountdata[3],sumcountdata[4],sumcountdata[5],sumcountdata[6],sumcountdata[7]]).at(numeric.linspace(0,6,24))\nsplinex = numeric.linspace(0,6,24)\nspliney = answer\n\n\n//var answer2 = numeric.spline([carbondioxidecubicsplinex[1],carbondioxidecubicsplinex[2],carbondioxidecubicsplinex[3],carbondioxidecubicsplinex[4],carbondioxidecubicsplinex[5]],[carbondioxidecubicspliney[1],carbondioxidecubicspliney[2],carbondioxidecubicspliney[3],carbondioxidecubicspliney[4],carbondioxidecubicspliney[5]]).at(numeric.linspace(0.2,1.0,24))\nvar answer2 = numeric.spline([carbondioxidecubicsplinex[0],carbondioxidecubicsplinex[1],carbondioxidecubicsplinex[2],carbondioxidecubicsplinex[3],carbondioxidecubicsplinex[4],carbondioxidecubicsplinex[5]],[carbondioxidecubicspliney[0],carbondioxidecubicspliney[1],carbondioxidecubicspliney[2],carbondioxidecubicspliney[3],carbondioxidecubicspliney[4],carbondioxidecubicspliney[5]]).at(numeric.linspace(0,1.0,26))\nsplinex2 = numeric.linspace(0,1.0,26) // change from 24 to 26 for exact spacing of 0.04 so can cut array for 0 to 0.2 - fazli\nspliney2 = answer2\n//console.log(\"splinex2:\", splinex2, \"spliney2:\", spliney2)\n\n\nvar answer3 = numeric.spline([temperaturecubicsplinex[0],temperaturecubicsplinex[1],temperaturecubicsplinex[2],temperaturecubicsplinex[3],temperaturecubicsplinex[4],temperaturecubicsplinex[5]],[temperaturecubicspliney[0],temperaturecubicspliney[1],temperaturecubicspliney[2],temperaturecubicspliney[3],temperaturecubicspliney[4],temperaturecubicspliney[5]]).at(numeric.linspace(0,50,101))\nsplinex3 = numeric.linspace(0,50,101) // change from 100 to 101 for exact spacing of 0.5 so can cut array for 0 to 20 - fazli\nspliney3 = answer3\n//console.log(\"splinex3:\", splinex3, \"spliney3:\", spliney3)\n\n\n"
        },
        {
          "Name": "co2bubblerandom",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "else if (expt == 2) {\n  for (var i = n; i < ntotal /* Iterations */; i++) {\n\n    if (r[i] - 0.2 >= 0) {\n      //stop growing this bubble\n      dr[i] = 0;\n      // start moving up\n      dy[i] = 3;\n      count[i] = 1;\n      // delay depend on intensity\n\n      //start next bubble growing\n      if (carbondioxide == 0.05) {\n        dr[i + 1] = 0.05 * carbondioxide * 16 / 10; // intensity=1, sumcount=15 calibrated\n        //alert();\n      }\n      else if (carbondioxide == 0.1) {\n        dr[i + 1] = 0.05 * carbondioxide * 16 / 10; // intensity=2, sumcount=30 calibrated\n      }\n      else if (carbondioxide == 0.15) {\n        dr[i + 1] = 0.047 * carbondioxide * 16 / 10; // intensity=1, sumcount=15 calibrated\n      }\n      else if (carbondioxide == 0.2) {\n        dr[i + 1] = 0.04 * carbondioxide * 16 / 10; // intensity=1, sumcount=50 calibrated\n      }\n      else if (carbondioxide == 0.25) {\n        dr[i + 1] = 0.034 * carbondioxide * 16 / 10; // intensity=1, sumcount=50 calibrated\n      }\n      else if (carbondioxide == 0.3) {\n        dr[i + 1] = 0.029 * carbondioxide * 16 / 10; // intensity=1, sumcount=50 calibrated\n      }\n    }\n\n    if (ybubble[i] - 2.5 > 0) {\n      // stop\n      dy[i] = 0;\n      // explode\n      ybubbleshow[i] = false;\n    }\n    if (xbubble[i] > 0.35 && ybubble[i] > 0.9) { //rightside\n      xbubble[i] = 0.3;\n    }\n    if (xbubble[i] < -0.35 && ybubble[i] > 0.9) { //rightside\n      xbubble[i] = -0.3;\n    }\n\n  }\n} //expt 1"
        },
        {
          "Name": "sumcount",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "sumcount  = 0;\nfor (var i=0; i<n /* Iterations */ ; i++) {\n  sumcount = sumcount+count[i];\n}\n\n"
        },
        {
          "Name": "stop",
          "Active": "false",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (t >= 60) {\n  _pause();\n  text = \"pause\";\n  _tools.showOkDialog(\"Data collected after 60 sec, \\nat intensity of light=\" + intensity + \" and \\ncarbon dioxide =\" + carbondioxide + \" %\", function () {\n    store();\n    _update(); // to force update view\n  });\n\n// for moodle\n  let questionPrefixes = [\"A\", \"B\"];\n  let questionNumber = [intensity, Math.round(carbondioxide * 20)];\n//expt = 1 or 2 for the 2 expt\n  questionInstantMark(questionPrefixes[expt - 1] + questionNumber[expt - 1], \"Number of bubbles observed: \" + sumcount);\n  //alert(expt-1)\n}\n"
        },
        {
          "Name": "fazli",
          "Active": "true",
          "Internal": "false",
          "Type": "CODE_EDITOR",
          "Comment": "",
          "Code": "if (dt==1){\n  // slow down bubbles forming and floating up - too fast before this and unable to see clearly\n  for (let i=0;i<dy.length;i++){\n    dy[i]=dy[i]/5\n  }\n  \n  // sumcount was half when speed up compared to when slowed down\n  //sumcount = sumcount * 2\n}\n"
        }
      ]
    },
    "custom": {
      "pages": [
        {
          "Name": "possion",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "var lambda = 5; // mean need to be larger than 0 //http://jsfiddle.net/Xotic750/DXXhs/\nvar k = 0;\nvar p = 1;\nfunction poisson (lambda) {\n    var L = Math.exp(-lambda),\n        k = 0,\n        p = 1;\n\n    do {\n        k = k + 1;\n        p = p * Math.random();\n    } while (p > L);\n\n    return k - 1;\n}\n"
        },
        {
          "Name": "updateLabel",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "// remove label after all 3 text are not displayed\nfunction updateLabel () {\n  if (scene11==false){\n    if (scene12==false){\n      if (scene13==false){\n        showLabel=false\n      }\n    }\n  }\n}"
        },
        {
          "Name": "fontchanging",
          "Active": "false",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "const FONT_SIZE_NORMAL = \"normal normal 1vw\";\nconst FONT_SIZE_HIDDEN = \"normal normal 0vw\";\nconst TOGGLE_INTERVAL_MS = 2000;\n\n//let font2 = FONT_SIZE_HIDDEN;\n\nfunction toggleFont() {\n  // Toggle the font size between FONT_SIZE_NORMAL and FONT_SIZE_HIDDEN\n  font2 = font2 === FONT_SIZE_NORMAL ? FONT_SIZE_HIDDEN : FONT_SIZE_NORMAL;\n\n  // Set the new font size on the body element\n  //document.body.style.fontSize = font2;\n\n  // Output the current font size to the console\n  console.log(`Current font size: ${font2}`);\n\n  // Schedule the next toggleFont() call\n  setTimeout(toggleFont, TOGGLE_INTERVAL_MS);\n}\n"
        },
        {
          "Name": "regression",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function fitCurve(xData, yData) {\n  // Define the function to fit\n  function func(a, x) {\n    return a[0] / (x * x) + a[1];\n  }\n\n  // Define the error function to minimize\n  function errorFunc(a) {\n    var error = 0;\n    for (var i = 0; i < xData.length; i++) {\n      var yFit = func(a, xData[i]);\n      var yError = yData[i] - yFit;\n      error += yError * yError;\n    }\n    return error;\n  }\n\n  // Perform the curve fit\n  var aInitial = [1, 1];\n  var aFit = numeric.uncmin(errorFunc, aInitial).solution;\n\n  // Get the values of a and b\n  var a = aFit[0];\n  var b = aFit[1];\n\n  // Return the values of a and b as an object\n  return { a: a, b: b };\n}\n"
        },
        {
          "Name": "formatTime",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function formatTime(seconds) {\n  var hours = Math.floor(seconds / 3600);\n  var minutes = Math.floor((seconds % 3600) / 60);\n  // add .toFixed(2) to display sec in 0.00 instead of 0.00000000000\n  var remainingSeconds = (seconds % 60).toFixed(0);\n\n  var timeString = \"\";\n\n  if (hours < 10) {\n    timeString += \"0\" + hours + \":\";\n  } else {\n    timeString += hours + \":\";\n  }\n\n  if (minutes < 10) {\n    timeString += \"0\" + minutes + \":\";\n  } else {\n    timeString += minutes + \":\";\n  }\n\n  if (remainingSeconds < 10) {\n    timeString += \"0\" + remainingSeconds;\n  } else {\n    timeString += remainingSeconds;\n  }\n\n  return timeString;\n}"
        },
        {
          "Name": "questionLib 3",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "// Assume ECMAScript 6; Chrome >=49, Edge >=14, Firefox >=41, Opera >=36, Safari >=8\n\nconst debugMode = true;\nconst _questionLib = {};\n_questionLib.stack = [];\n_questionLib.history = Object.create(null);\n_questionLib.questionMarksAwarded = Object.create(null);\n\nconst _nullFunction = debugMode ?\n  console.log\n  :\n  function(){};\n\nfunction _debugPrint(msg) {\n  if (debugMode) {\n    console.log(msg);\n  }\n}\n\nfunction isQuestionStarted() {\n  return _questionLib.stack.length > 0;\n}\n\n// for assessment.json event - start\nfunction startQuestion(questionName) {\n  _view._addInteraction(_nullFunction, {action:\"questionStart\", name:questionName}, {element:\"questionLib\", property:\"value\"});\n  _debugPrint(\"Start question: \" + questionName);\n  \n  _questionLib.stack.push(questionName);\n}\n\n// for assessment.json history\nfunction addQuestionHistory(history, questionName=null) {\n  if (questionName === null && _questionLib.stack.length > 0) {\n    questionName = _questionLib.stack[_questionLib.stack.length - 1];\n  }\n  if (!(questionName in _questionLib.history)) {\n    _debugPrint(\"Create question history for \" + questionName);\n    \n    _questionLib.history[questionName] = [];\n  }\n  if (debugMode) {\n    console.log(\"Push \\\"\" + history + \"\\\" to question history for \" + questionName);\n  }\n  _questionLib.history[questionName].push(history);\n  _flushQuestionHistory(questionName);\n}\n\nfunction _flushQuestionHistory(questionName) {\n  // TODO: check if need to flush\n  const outputHistory = _getQuestionHistory(questionName);\n  _view._addInteraction(_nullFunction, outputHistory, {property: \"historyFor\" + questionName, element: \"questionLib\"});\n}\n\nfunction _getQuestionHistory(questionName) {\n  if (questionName in _questionLib.history) {\n    return _questionLib.history[questionName].join(\"\\n\");\n  } else {\n    _debugPrint(\"No question \\\"\" + questionName + \"\\\" exists\");\n\n    return \"\";\n  }\n}\n\n// for assessment.json event - states\nfunction onAnswer(answer, isCorrect=false, history=answer, questionName=null) {\n  if (questionName === null && _questionLib.stack.length > 0) {\n    questionName = _questionLib.stack[_questionLib.stack.length - 1];\n  }\n  if (questionName !== null) {\n    const explainer = Object.create(null);\n    explainer[true] = \" \u2705\";\n    explainer[false] = \" \u274c\";\n\n    addQuestionHistory(history + explainer[isCorrect], questionName);\n    \n    _view._addInteraction(_nullFunction, {name:questionName, answer:answer, isCorrect:isCorrect, action:\"questionAnswer\"}, {property: \"answer\", element:\"questionLib\"});\n  }\n}\n\n// for assessment.json event - end\nfunction endQuestion() {\n  if (_questionLib.stack.length > 0) {\n    const questionName = _questionLib.stack.pop();\n    _debugPrint(\"End question: \" + questionName);\n    _view._addInteraction(_nullFunction, {action:\"questionEnd\", name:questionName}, {element: \"questionLib\", property: \"value\"});\n  }\n}\n\n// for assessment.json marks\nfunction awardQuestionMarks(marks=1) {\n  if (_questionLib.stack.length > 0) {\n    const questionName = _questionLib.stack[_questionLib.stack.length - 1];\n    if (!(questionName in _questionLib.questionMarksAwarded)) {\n      _questionLib.questionMarksAwarded[questionName] = 0;\n    }\n    for (; _questionLib.questionMarksAwarded[questionName] < marks; _questionLib.questionMarksAwarded[questionName]++) {\n      _view._addInteraction(_nullFunction, _questionLib.questionMarksAwarded[questionName] + 1, {element:\"questionLib\", property:\"awardMarkFor\"+questionName});\n    }\n  }\n}\n\nfunction resetQuestionMarks(questionName) {\n  _questionLib.questionMarksAwarded[questionName] = 0;\n}\n\nfunction questionInstantMark(questionName, message) {\n  startQuestion(questionName);\n  _debugPrint(\"\" + message);\n  if (message) {\n    addQuestionHistory(message);\n  } else {\n    _flushQuestionHistory(questionName);\n  }\n  awardQuestionMarks();\n  endQuestion();\n}\n\nfunction questionAppendHistory(questionName, message) {\n  if (!(questionName in _questionLib.questionMarksAwarded)) {\n    _questionLib.questionMarksAwarded[questionName] = 0;\n  }\n  startQuestion(questionName);\n  awardQuestionMarks(_questionLib.questionMarksAwarded[questionName])\n  addQuestionHistory(message);\n  endQuestion();\n}\n\nfunction resetQuestionHistory(questionName) {\n  _questionLib.history[questionName] = [];\n}\n\nfunction resetQuestion(questionName) {\n  resetQuestionHistory(questionName);\n  resetQuestionMarks(questionName);\n}\n"
        },
        {
          "Name": "store",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function store () {\n  //datan is to setup a counter 0,1,2,3,4,5, but the method is not useful for spline so setup another method to linearize the values\n  sumcountdata[datan]=sumcount;\n  \n  if (expt ==0){\n    distancedata[datan] = distance // added for distance\n    sumcountdatadistance[datan]=sumcount;\n\n    // new code to help with cubic spline as numerics need data in ascending order\n    // so using intensity as number in ascending order 0,1,2,3,4,5,6\n    var distanceinteger = (distance/10).toFixed(0)\n    //distancecubicsplinex[(distance/10).toFixed(0)] = distance\n    distancecubicsplinex[distanceinteger] = distance\n    distancecubicspliney[distanceinteger] = sumcount\n  }\n\n  else if (expt ==2){\n    carbondioxidedata[datan]= carbondioxide;\n    sumcountdatacarbondioxide[datan]=sumcount;\n    \n    // add values to datatable2\n    for (let i=0;i<datatable2.length;i++){\n      if (datatable2[i][0] == carbondioxide){\n        datatable2[i][1] = sumcount\n      }\n    }\n\n    carbondioxidecubicsplinex[(carbondioxide*5).toFixed(0)]= carbondioxide;\n    carbondioxidecubicspliney[(carbondioxide*5).toFixed(0)]= sumcount;\n  }\n\n  else if (expt ==3){\n    temperaturedata[datan]= temperature;\n    sumcountdatatemperature[datan]=sumcount;\n    \n    // add values to datatable3\n    for (let i=0;i<datatable3.length;i++){\n      if (datatable3[i][0] == temperature){\n        datatable3[i][1] = sumcount\n      }\n    }\n\n    //console.log(carbondioxidecubicsplinex,carbondioxidecubicspliney)\n    temperaturecubicsplinex[(temperature/10).toFixed(0)]= temperature;\n    temperaturecubicspliney[(temperature/10).toFixed(0)]= sumcount;\n  }\n\n\n  intensitydata[datan] = intensity;\n\n  datan=datan+1;\n\n  intensitycubicsplinex[intensity] = intensity\n  intensitycubicspliney[intensity] = sumcount\n\n  t=0;\n\n  _initialize(); \n}\n"
        },
        {
          "Name": "countNonZero",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "// count the number of non zero elements in the array\nfunction countNonZero (arr) {\n  let counter = 0;\n  for (let i=0;i<arr.length;i++){\n    if (arr[i] != 0){\n      counter++;\n    }\n  }\n  return counter\n}"
        },
        {
          "Name": "fullScreen",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "//https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode\n// does not work for iOS \n/*jslint browser:true */\nfunction toggleFullScreen() {\n  if (!document.fullscreenElement &&    // alternative standard method\n      !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods\n    if (document.documentElement.requestFullscreen) {\n      document.documentElement.requestFullscreen();\n    } else if (document.documentElement.msRequestFullscreen) {\n      document.documentElement.msRequestFullscreen();\n    } else if (document.documentElement.mozRequestFullScreen) {\n      document.documentElement.mozRequestFullScreen();\n    } else if (document.documentElement.webkitRequestFullscreen) {\n      document.documentElement.webkitRequestFullscreen();\n    }\n  } else {\n    if (document.exitFullscreen) {\n      document.exitFullscreen();\n    } else if (document.msExitFullscreen) {\n      document.msExitFullscreen();\n    } else if (document.mozCancelFullScreen) {\n      document.mozCancelFullScreen();\n    } else if (document.webkitExitFullscreen) {\n      document.webkitExitFullscreen();\n    }\n  }\n}"
        },
        {
          "Name": "exptnumber",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function exptnumber (Option) {\n \n if ( Option==0){\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =0\ndisplaydistance = \"inline-block\"\nWidth0 = \"50%\"; \ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"none\"\n//_view._update();\n//disabledworld=false;\n}\nelse if ( Option==3){\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =2\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"inline-block\"\nWidth3 = \"50%\"; \ndisplaytemperature = \"none\"\n//_view._update();\n//disabledworld=false;\nalert(\"optioninside=3\")\n}\nelse if ( Option==4){\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =3\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"inline-block\"\nWidth4 = \"50%\"; \n//_view._update();\n//assume remember expt \n\n\n//disabledworld=false;\n}\nalert(Option)\n_view._update();\n}\n"
        },
        {
          "Name": "formatDialogOK",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function formatDialogOK () {\n  document.getElementById(\".myBoxPanelOk\").style.fontSize = \"1.5em\";\n    document.getElementById(\".myBoxPanelOk\").style.width = \"50%\";\n    document.getElementById(\".myBoxPanelOk\").style.left = \"30%\";\n    document.getElementById(\".myBoxPanelOk\").style.top = \"10%\";\n    document.getElementById(\".myBoxPanelOk.okbt\").style.fontSize = \"1.5em\";\n}"
        },
        {
          "Name": "scene2",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function scene2comboBoxSlider () {\nif (scene11 == false&&scene12 == false&&scene13 == false) {\n  _tools.showOkDialog(\"Select the comboBox for expt 1,2 or 3\", function() {\n \n  _tools.showOkDialog(\"Based on the experiment being performed, adjust only one slider while keeping the other two constant. The two sliders that should not be adjusted have been disabled for ease of use.\", function() {\n  } );\n  //cssBlinkcomboBox = {\"animation\": \"blink 1s step-start infinite\"}\n  cssBlink = {\"animation\": \"blink 1s step-start infinite\"}\n     formatDialogOK ()\n  } );\n  \n  cssBlinkcomboBox = {\"animation\": \"blink 1s step-start infinite\"}\n    formatDialogOK ()\n \n  }\n  \n  \n  }\n"
        },
        {
          "Name": "enableBlinking",
          "Active": "true",
          "Internal": "false",
          "Type": "LIBRARY_EDITOR",
          "Comment": "",
          "Code": "function enableBlinking (elementId) {\n  var element = document.getElementById(elementId);\n  element.setAttribute(\"class\", \"blinking\");\n}\n\nfunction disableBlinking (elementId) {\n  var element = document.getElementById(elementId);\n  element.removeAttribute(\"class\");\n}"
        }
      ]
    },
    "elements": {
      "list": [
        {
          "Classname": "org.colos.ejss.model_elements.numerics.NumericJavascriptElement",
          "Name": "numericJS"
        }
      ]
    }
  },
  "view": {
    "Tree": [
      {
        "Name": "fullscreen",
        "Type": "Panel",
        "Expanded": "true",
        "Properties": [
          {
            "name": "Height",
            "value": "Height"
          },
          {
            "name": "Width",
            "value": "Width"
          }
        ],
        "Children": [
          {
            "Name": "controlPanel",
            "Type": "Panel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "Width",
                "value": "\"100%\""
              },
              {
                "name": "Font",
                "value": "font"
              },
              {
                "name": "Display",
                "value": "print?\"none\":\"inline-flex\""
              }
            ],
            "Children": [
              {
                "Name": "Labels",
                "Type": "Label",
                "Properties": [
                  {
                    "name": "Text",
                    "value": "\"Labels\""
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ]
              },
              {
                "Name": "checkBox",
                "Type": "CheckBox",
                "Properties": [
                  {
                    "name": "Checked",
                    "value": "showLabel"
                  }
                ]
              },
              {
                "Name": "comboBox",
                "Type": "ComboBox",
                "Properties": [
                  {
                    "name": "Options",
                    "value": "[\"expt 1 vary distance of light source\",\"expt 2 vary concentration of dissolved carbon dioxide\",\"expt 3 vary temperature\"]"
                  },
                  {
                    "name": "CSS",
                    "value": "cssBlinkcomboBox"
                  },
                  {
                    "name": "OnFocus",
                    "value": "cssBlinkcomboBox = {\"animation\": \"blink 0s step-start infinite\"}"
                  },
                  {
                    "name": "OnChange",
                    "value": "//alert(option);\n//_view._update();\n//_reset() // seems to be the only code i know that forces the panels to be lay properly\n\n var opts = _view.comboBox.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n//[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\",\"\",\"\ud83d\uddfaworld\",\"\ud83d\udcc8graph\",\"both\",\"graph2\",\"speed up\",\"slow down\",\"\",\"print\"]\nif ( option==\"expt 1 vary distance of light source\"){\nexpt=0;\ncarbondioxide = 1 // set to a fixed storyboard value\ntemperature = 30\n\ntext= \"experiment 1, \\nnumber of bubbles vs \\ndistance of light\";\n//disabled=false;\n//\n\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =0\ndisplaydistance = \"inline-block\"\nWidth0 = \"50%\"; \ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"none\"\n\n//\n  }\n  else if ( option==\"expt 1 vary amount of light source\"){\nexpt=1;\ntext= \"experiment 1, \\nnumber of bubbles vs \\nintensity of light\";\n//disabled=false;\nWidth0 = \"0%\";\nWidth1 = \"50%\";\nWidth2 = \"50%\";\nWidth3 = \"50%\";\nWidth4 = \"50%\";\n  }\n//print\nelse if ( option == \"print\"){\n  print = true;\n  }\n//print\nelse if ( option==\"expt 2 vary concentration of dissolved carbon dioxide\"){\ntext= \"experiment 2, \\nnumber of bubbles vs \\npercentage of carbon dioxide in water\";\n//carbondioxide = 1 // set to a fixed storyboard value\ndistance =10\ntemperature = 30\nexpt=2;\n\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =2\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"inline-block\"\nWidth3 = \"50%\"; \ndisplaytemperature = \"none\"\n\n//exptnumber (\"3\")\n}\n\nelse if ( option==\"expt 3 vary temperature\"){\ntext= \"experiment 3, \\nnumber of bubbles vs \\ntemperature in water\";\ndistance = 10\ncarbondioxide = 1 // set to a fixed storyboard value\n//temperature = 30\nexpt=3;\n//exptnumber (\"4\")\n\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =3\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"inline-block\"\nWidth4 = \"50%\"; \n\n}\n\n\n\n\nif (expt ==0){\n_view.comboBox.setSelectedOptions([\"expt 1 vary distance of light source\"]);\n}\nelse if (expt ==1){\n_view.comboBox.setSelectedOptions([\"expt 1 vary amount of light source\"]);\n}\nelse if (expt ==2){\n_view.comboBox.setSelectedOptions([\"expt 2 vary concentration of dissolved carbon dioxide\"]);\n}\nelse if (expt ==3){\n  //\"expt 3 vary temperature\"\n_view.comboBox.setSelectedOptions([\"expt 3 vary temperature\"]);\n}\n"
                  },
                  {
                    "name": "Width",
                    "value": "\"10%\""
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ]
              },
              {
                "Name": "distance",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(249,211,87,1.0)\""
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ],
                "Children": [
                  {
                    "Name": "label3",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"distance=\"+distance.toFixed(0)"
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  },
                  {
                    "Name": "sliderlight2",
                    "Type": "Slider",
                    "Properties": [
                      {
                        "name": "OnRelease",
                        "value": "cssBlink = {\"animation\": \"blink 0s step-start infinite\"}\ncssBlinkcomboBox = {\"animation\": \"blink 0s step-start infinite\"} // off the combobox as well\n"
                      },
                      {
                        "name": "Minimum",
                        "value": "10"
                      },
                      {
                        "name": "Maximum",
                        "value": "50"
                      },
                      {
                        "name": "CSS",
                        "value": "cssBlink"
                      },
                      {
                        "name": "Value",
                        "value": "distance"
                      },
                      {
                        "name": "OnChange",
                        "value": "if(distance==10){\n  dr[0]=drdistance1\n}\nif(distance==20){\n  dr[0]=drdistance2\n}\nif(distance==30){\n  dr[0]=drdistance3\n}\nif(distance==40){\n  dr[0]=drdistance4\n}\nif(distance==50){\n  dr[0]=drdistance5\n}\n"
                      },
                      {
                        "name": "Step",
                        "value": "10"
                      },
                      {
                        "name": "Disabled",
                        "value": "expt!=0"
                      }
                    ]
                  },
                  {
                    "Name": "cm",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"cm\""
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "light",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Font",
                    "value": "font"
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "label",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"light intensity=\"+intensity.toFixed(0)"
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  },
                  {
                    "Name": "sliderlight",
                    "Type": "Slider",
                    "Properties": [
                      {
                        "name": "OnRelease",
                        "value": "cssBlink = {\"animation\": \"blink 0s step-start infinite\"}\ncssBlinkcomboBox = {\"animation\": \"blink 0s step-start infinite\"} // off the combobox as well\n"
                      },
                      {
                        "name": "Minimum",
                        "value": "0"
                      },
                      {
                        "name": "Maximum",
                        "value": "100"
                      },
                      {
                        "name": "CSS",
                        "value": "cssBlink"
                      },
                      {
                        "name": "Value",
                        "value": "intensity"
                      },
                      {
                        "name": "OnChange",
                        "value": "dr[0] = 0.05*intensity"
                      },
                      {
                        "name": "Step",
                        "value": "1"
                      },
                      {
                        "name": "Disabled",
                        "value": "expt!=1"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "co2",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(80,125,35,1.0)\""
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ],
                "Children": [
                  {
                    "Name": "label2",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"carbon dioxide=\"+carbondioxide.toFixed(1)"
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  },
                  {
                    "Name": "sliderCo2",
                    "Type": "Slider",
                    "Properties": [
                      {
                        "name": "OnRelease",
                        "value": "cssBlink = {\"animation\": \"blink 0s step-start infinite\"}\ncssBlinkcomboBox = {\"animation\": \"blink 0s step-start infinite\"} // off the combobox as well\n"
                      },
                      {
                        "name": "Minimum",
                        "value": "0.2"
                      },
                      {
                        "name": "Maximum",
                        "value": "1.0"
                      },
                      {
                        "name": "CSS",
                        "value": "cssBlink"
                      },
                      {
                        "name": "Value",
                        "value": "carbondioxide"
                      },
                      {
                        "name": "OnChange",
                        "value": "if (carbondioxide==0.2){\n  dr[0]=drcarbondioxide1\n}\nif (carbondioxide==0.4){\n  dr[0]=drcarbondioxide2\n}\nif (carbondioxide==0.6){\n  dr[0]=drcarbondioxide3\n}\nif (carbondioxide==0.8){\n  dr[0]=drcarbondioxide4\n}\nif (carbondioxide==1.0){\n  dr[0]=drcarbondioxide5\n}"
                      },
                      {
                        "name": "Step",
                        "value": "0.2"
                      },
                      {
                        "name": "Disabled",
                        "value": "expt!=2"
                      }
                    ]
                  },
                  {
                    "Name": "percent",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"%\""
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "temperature",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Background",
                    "value": "\"rgba(86,194,192,1)\""
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ],
                "Children": [
                  {
                    "Name": "label22",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"temperature=\"+temperature.toFixed(0)"
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  },
                  {
                    "Name": "sliderT",
                    "Type": "Slider",
                    "Properties": [
                      {
                        "name": "OnRelease",
                        "value": "cssBlink = {\"animation\": \"blink 0s step-start infinite\"}\ncssBlinkcomboBox = {\"animation\": \"blink 0s step-start infinite\"} // off the combobox as well\n"
                      },
                      {
                        "name": "Minimum",
                        "value": "10"
                      },
                      {
                        "name": "Maximum",
                        "value": "50"
                      },
                      {
                        "name": "CSS",
                        "value": "cssBlink"
                      },
                      {
                        "name": "Value",
                        "value": "temperature"
                      },
                      {
                        "name": "OnChange",
                        "value": "if (temperature==10){\n  dr[0]=drtemperature1\n}\nif (temperature==20){\n  dr[0]=drtemperature2\n}\nif (temperature==30){\n  dr[0]=drtemperature3\n}\nif (temperature==40){\n  dr[0]=drtemperature4\n}\nif (temperature==50){\n  dr[0]=drtemperature5\n}\n"
                      },
                      {
                        "name": "Step",
                        "value": "10"
                      },
                      {
                        "name": "Disabled",
                        "value": "expt!=3"
                      }
                    ]
                  },
                  {
                    "Name": "oc",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Text",
                        "value": "\"\u2070C\""
                      },
                      {
                        "name": "Font",
                        "value": "font"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "comboBox2",
                "Type": "ComboBox",
                "Properties": [
                  {
                    "name": "Options",
                    "value": "[\"both expt 1\",\"both expt 2\",\"both expt 3\",\"\ud83d\uddfaworld\",\"graph 1\",\"graph 2\",\"graph 3\"]"
                  },
                  {
                    "name": "OnChange",
                    "value": "\n var opts = _view.comboBox2.getProperty(\"SelectedOptions\");  // array of options\n    var option = (opts.length > 0)? opts[0]:\"\"; // selected option \n\nif ( option==\"\ud83d\uddfaworld\"){\n  world=true;\n  expt =-1\n//  Width0 = \"0%\";\nWidth1 = \"100%\";\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"none\"\n//Width2 = \"0%\";\n//Width3 = \"0%\";\n//Width4 = \"0%\";\n//disabled=false;\n\n  }\nelse if ( option==\"graph 1\"){\nworld=false;\n\n//graph=true;\nexpt =0\ndisplaydistance = \"inline-block\"\nWidth0 = \"100%\";\ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"none\"\n\n//disabledworld=false;\n}\nelse if ( option==\"graph 2\"){\nworld=false;\n\n//graph=true;\nexpt =2\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"inline-block\"\nWidth3 = \"100%\";\ndisplaytemperature = \"none\"\n//disabledworld=false;\n}\nelse if ( option==\"graph 3\"){\nworld=false;\n\n//graph=true;\nexpt =3\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"inline-block\"\nWidth4 = \"100%\";\n//disabledworld=false;\n}\nelse if ( option==\"both expt 1\"){\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =0\ndisplaydistance = \"inline-block\"\nWidth0 = \"50%\"; \ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"none\"\n//_view._update();\n//disabledworld=false;\n}\nelse if ( option==\"both expt 2\"){\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =2\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"inline-block\"\nWidth3 = \"50%\"; \ndisplaytemperature = \"none\"\n//_view._update();\n//disabledworld=false;\n}\nelse if ( option==\"both expt 3\"){\nworld=true;\nWidth1 = \"50%\"; //world\nexpt =3\ndisplaydistance = \"none\"\ndisplaycarbondioxide = \"none\"\ndisplaytemperature = \"inline-block\"\nWidth4 = \"50%\"; \n//_view._update();\n//assume remember expt \n\n\n//disabledworld=false;\n}\n\n//alert(option);\n//_update()\n\n"
                  },
                  {
                    "name": "Width",
                    "value": "\"15%\""
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "auto",
                "Type": "Button",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"store\""
                  },
                  {
                    "name": "Text",
                    "value": "\"\ud83d\ude97\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_play();\ntext=\"playing\";\n\nif (t>59.9){\n  alert();\nsumcountdata[datan]=sumcount;\nintensitydata[datan] = intensity;\ncarbondioxidedata[datan]= carbondioxide;\ndatan=datan+1;\nt=0;\n_initialize();\n}\n\n\n"
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 3vw \""
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "twoStateButton",
                "Type": "TwoStateButton",
                "Properties": [
                  {
                    "name": "OffClick",
                    "value": "_setStepsPerDisplay(1)\n//spd = 1\n//_setFPS(20);\n//console.log(_view.twoStateButton.getState())\n"
                  },
                  {
                    "name": "TextOn",
                    "value": "\"Speed\u2191\""
                  },
                  {
                    "name": "Background",
                    "value": "(_view.twoStateButton.getState())?\"yellow\":\"cyan\""
                  },
                  {
                    "name": "TextOff",
                    "value": "\"Slow\u2193\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_setStepsPerDisplay(20)\n//spd = 100\n//_setFPS(100);\n\n//console.log(_view.twoStateButton.getState())"
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ]
              },
              {
                "Name": "playPauseButton2",
                "Type": "TwoStateButton",
                "Properties": [
                  {
                    "name": "OffClick",
                    "value": "text=\"paused\";\n_pause();"
                  },
                  {
                    "name": "TextOn",
                    "value": "\"Play\u25b6\""
                  },
                  {
                    "name": "State",
                    "value": "_isPaused"
                  },
                  {
                    "name": "Tooltip",
                    "value": "\"Play/Pause\""
                  },
                  {
                    "name": "TextOff",
                    "value": "\"Pause\u275a\u275a\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_play();\ntext=\"playing, wait for 60 sec for data to be collected\";"
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ]
              },
              {
                "Name": "store",
                "Type": "Button",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"store\""
                  },
                  {
                    "name": "Text",
                    "value": "\"\u26ab\""
                  },
                  {
                    "name": "OnClick",
                    "value": "\nsumcountdata[datan]=sumcount;\n\nintensitydata[datan] = intensity;\ncarbondioxidedata[datan]= carbondioxide;\ndatan=datan+1;\n\nt=0;\n\n_initialize(); "
                  },
                  {
                    "name": "Font",
                    "value": "\"normal normal 2vw \""
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "resetButton3",
                "Type": "Button",
                "Properties": [
                  {
                    "name": "Tooltip",
                    "value": "\"Reset\""
                  },
                  {
                    "name": "Text",
                    "value": "\"Reset\u21bb\""
                  },
                  {
                    "name": "OnClick",
                    "value": "_reset();\n//[\"expt 1 vary amount of light\",\"expt 2 vary amount of carbon dioxide\"]\n\nif (expt ==0){\n  console.log(\"reset expt 0\");\n // _view.comboBox.setSelectedOptions([\"expt 1 vary amount of light\"]);\n  _view.comboBox.setSelectedOptions([\"expt 1 vary distance of light source\"]);\n   //displaydistance = \"none\"\n   displaycarbondioxide = \"none\"\n   displaytemperature = \"none\" // to address request to only show one plottingpanel\n}\nif (expt ==2){\n  console.log(\"reset expt 2\");\n  _view.comboBox.setSelectedOptions([\"expt 2 vary concentration of dissolved carbon dioxide\"]);\n  displaydistance = \"none\"\n  // displaycarbondioxide = \"none\"\n   displaytemperature = \"none\" // to address request to only show one plottingpanel\n}\nif (expt ==3){\n  console.log(\"reset expt 3\");\n  _view.comboBox.setSelectedOptions([\"expt 3 vary temperature\"]);\n displaydistance = \"none\"\n   displaycarbondioxide = \"none\"\n //  displaytemperature = \"none\" // to address request to only show one plottingpanel\n}\n\n"
                  },
                  {
                    "name": "Font",
                    "value": "font"
                  }
                ]
              },
              {
                "Name": "spd",
                "Type": "Slider",
                "Properties": [
                  {
                    "name": "Minimum",
                    "value": "0.05"
                  },
                  {
                    "name": "Maximum",
                    "value": "1"
                  },
                  {
                    "name": "Value",
                    "value": "dt"
                  },
                  {
                    "name": "Step",
                    "value": "0.05"
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ]
              },
              {
                "Name": "panel2",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "model",
                    "Type": "Label",
                    "Properties": [
                      {
                        "name": "Background",
                        "value": "\"Cyan\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"key in expression like 2*sin(1*t)\""
                      },
                      {
                        "name": "Text",
                        "value": "\"your model, X =\""
                      }
                    ]
                  },
                  {
                    "Name": "model3",
                    "Type": "CheckBox",
                    "Properties": [
                      {
                        "name": "OnCheckOff",
                        "value": "showmodel=false;\n"
                      },
                      {
                        "name": "Checked",
                        "value": "showmodel"
                      },
                      {
                        "name": "Background",
                        "value": "\"Cyan\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"show model\""
                      },
                      {
                        "name": "OnCheckOn",
                        "value": "showmodel=true;\n\n"
                      }
                    ]
                  },
                  {
                    "Name": "models",
                    "Type": "ComboBox",
                    "Properties": [
                      {
                        "name": "Options",
                        "value": "[\"2*sin(t)\",\"2*cos(t)\",\"0\",\"-2*cos(t)\",\"-1*cos(t)\",\"1*sin(t+1.57)\",\"1.41*sin(t+0.5236)\",\"show me\"]"
                      },
                      {
                        "name": "Tooltip",
                        "value": "\"select suggested models\""
                      },
                      {
                        "name": "OnChange",
                        "value": "showmodel=true;\nfunctionY=selectedmodel+\"\";\nif (selectedmodel[0]===\"show me\"){\nfunctionY= +_view._format(Acalculated,\"0.0\")+\"*sin(\" +_view._format(w,\"0.00\")+\"*t+(\"+_view._format(phi,\"0.00\")+\"))\";  \n  }\nxmodel=_view.fField.evaluate({ t : t, x : xmodel }); \n"
                      },
                      {
                        "name": "SelectedOptions",
                        "value": "%selectedmodel%"
                      }
                    ]
                  },
                  {
                    "Name": "fField",
                    "Type": "Function",
                    "Properties": [
                      {
                        "name": "Tooltip",
                        "value": "\"model input field\""
                      },
                      {
                        "name": "Value",
                        "value": "functionY"
                      },
                      {
                        "name": "OnChange",
                        "value": "showmodel=true;\nxmodel=_view.fField.evaluate({ t : t, x : xmodel }); \n"
                      },
                      {
                        "name": "Width",
                        "value": "200"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "Name": "panel",
            "Type": "Panel",
            "Expanded": "true",
            "Properties": [
              {
                "name": "Width",
                "value": "\"100%\""
              },
              {
                "name": "Display",
                "value": "\"inline-block\""
              }
            ],
            "Children": [
              {
                "Name": "plottingPanel",
                "Type": "PlottingPanel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Gutters",
                    "value": "[0,0,0,0]"
                  },
                  {
                    "name": "ShowAreaRectangle",
                    "value": "false"
                  },
                  {
                    "name": "Background",
                    "value": "\"rgba(200,220,208,0.5)\""
                  },
                  {
                    "name": "YScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "XFixedTick",
                    "value": "10"
                  },
                  {
                    "name": "Enabled",
                    "value": "true"
                  },
                  {
                    "name": "OnDoubleClick",
                    "value": "toggleFullScreen();"
                  },
                  {
                    "name": "SquareAspect",
                    "value": "true"
                  },
                  {
                    "name": "MaximumY",
                    "value": "6"
                  },
                  {
                    "name": "MaximumX",
                    "value": "xmax"
                  },
                  {
                    "name": "YFixedTick",
                    "value": "10"
                  },
                  {
                    "name": "YAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "MinimumX",
                    "value": "xmin"
                  },
                  {
                    "name": "XTickStep",
                    "value": "100"
                  },
                  {
                    "name": "MinimumY",
                    "value": "-12"
                  },
                  {
                    "name": "YTickStep",
                    "value": "100"
                  },
                  {
                    "name": "XAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "Height",
                    "value": "\"90vh\""
                  },
                  {
                    "name": "XScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "Width",
                    "value": "Width1"
                  },
                  {
                    "name": "TLMessage",
                    "value": "\"Number of bubble(s)=\"+sumcount"
                  },
                  {
                    "name": "Display",
                    "value": "world?\"inline-block\":\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "table3",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "30"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"NORTH\""
                      },
                      {
                        "name": "X",
                        "value": "0"
                      },
                      {
                        "name": "Y",
                        "value": "floory"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/Table.png\""
                      },
                      {
                        "name": "SizeY",
                        "value": "10"
                      }
                    ]
                  },
                  {
                    "Name": "stopwatch2",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "X",
                        "value": "-3"
                      },
                      {
                        "name": "Y",
                        "value": "floory-3"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "stopwatch",
                        "Type": "Image2D",
                        "Properties": [
                          {
                            "name": "SizeX",
                            "value": "7"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"CENTERED\""
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "0"
                          },
                          {
                            "name": "ImageUrl",
                            "value": "\"./photosynthesis_3_factors/stopwatch.png\""
                          },
                          {
                            "name": "SizeY",
                            "value": "7"
                          }
                        ]
                      },
                      {
                        "Name": "stopwatchtext",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "X",
                            "value": "-0.05"
                          },
                          {
                            "name": "Y",
                            "value": "-0.05"
                          },
                          {
                            "name": "Text",
                            "value": "\"\"+formatTime(t)"
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "tripod",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "5"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "X",
                        "value": "0"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/tripod stand.png\""
                      },
                      {
                        "name": "Y",
                        "value": "floory-0.05"
                      },
                      {
                        "name": "SizeY",
                        "value": "4"
                      }
                    ]
                  },
                  {
                    "Name": "retortstand",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "8.7"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH_WEST\""
                      },
                      {
                        "name": "X",
                        "value": "-7"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/retort stand.png\""
                      },
                      {
                        "name": "Y",
                        "value": "floory-0.1"
                      },
                      {
                        "name": "SizeY",
                        "value": "12"
                      }
                    ]
                  },
                  {
                    "Name": "lamp2",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "4"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH_WEST\""
                      },
                      {
                        "name": "X",
                        "value": "10*distance/50"
                      },
                      {
                        "name": "Y",
                        "value": "floory"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/lamp.png\""
                      },
                      {
                        "name": "SizeY",
                        "value": "7"
                      }
                    ]
                  },
                  {
                    "Name": "beaker",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "5.2"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "Attributes",
                        "value": "{\"animation\": \"blink 1s step-start infinite\"}"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/beaker.png\""
                      },
                      {
                        "name": "Y",
                        "value": "floory+3"
                      },
                      {
                        "name": "SizeY",
                        "value": "7"
                      }
                    ]
                  },
                  {
                    "Name": "testtube",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "2"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/Tube.png\""
                      },
                      {
                        "name": "Y",
                        "value": "-3.8"
                      },
                      {
                        "name": "SizeY",
                        "value": "8"
                      }
                    ]
                  },
                  {
                    "Name": "pondweed2",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "1.3"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/aquatic plant.png\""
                      },
                      {
                        "name": "Y",
                        "value": "-3.5"
                      },
                      {
                        "name": "SizeY",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "pondweed3",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "SizeX",
                        "value": "1"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis/pondweed2.png\""
                      },
                      {
                        "name": "Y",
                        "value": "-3"
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      },
                      {
                        "name": "SizeY",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "scene1popupruler",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Y",
                        "value": "0"
                      },
                      {
                        "name": "Visibility",
                        "value": "scene13"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "background",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color1%"
                          },
                          {
                            "name": "SizeX",
                            "value": "13"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"NORTH_WEST\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "-8.5"
                          },
                          {
                            "name": "SizeY",
                            "value": "4"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "hide",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "false"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "shape2",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"Cyan\""
                              },
                              {
                                "name": "SizeX",
                                "value": "8"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "X",
                                "value": "8"
                              },
                              {
                                "name": "Y",
                                "value": "-11"
                              },
                              {
                                "name": "Visibility",
                                "value": "scene13"
                              },
                              {
                                "name": "SizeY",
                                "value": "2.5"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "solution1",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"Blue\""
                          },
                          {
                            "name": "OnExit",
                            "value": "color1=colorCyan"
                          },
                          {
                            "name": "Attributes",
                            "value": "{\"background-color\": \"black\"}"
                          },
                          {
                            "name": "Text",
                            "value": "\"\u2612The ruler measures the distance \\n of the plant from the lamp. \\nThe further the plant, the lower the \\nlight intensity. \""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          },
                          {
                            "name": "OnRelease",
                            "value": "// When the \"clicked\" state changes, set it to true\n// This will stop the timeout and exit the function\nclicked = true;\n//isToggledOn = false\nscene2comboBoxSlider ()"
                          },
                          {
                            "name": "Sensitivity",
                            "value": "100"
                          },
                          {
                            "name": "X",
                            "value": "8"
                          },
                          {
                            "name": "OnEnter",
                            "value": "color1=colorRed"
                          },
                          {
                            "name": "Y",
                            "value": "-11"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene13"
                          },
                          {
                            "name": "OnPress",
                            "value": "scene13=false\n\nupdateLabel()\n"
                          },
                          {
                            "name": "EnabledPosition",
                            "value": "\"ENABLED_NO_MOVE\""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "ruler",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "0"
                      },
                      {
                        "name": "SizeX",
                        "value": "11"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"WEST\""
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/ruler.png\""
                      },
                      {
                        "name": "Y",
                        "value": "floory-1"
                      },
                      {
                        "name": "OnPress",
                        "value": "scene13=false\n\nupdateLabel()\n"
                      },
                      {
                        "name": "SizeY",
                        "value": "1"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_NO_MOVE\""
                      }
                    ]
                  },
                  {
                    "Name": "imageSet2",
                    "Type": "ImageSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "ntotal"
                      },
                      {
                        "name": "SizeX",
                        "value": "40"
                      },
                      {
                        "name": "X",
                        "value": "xbubble"
                      },
                      {
                        "name": "Y",
                        "value": "ybubble"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis/212.png\""
                      },
                      {
                        "name": "Visibility",
                        "value": "bubbleburst"
                      },
                      {
                        "name": "SizeY",
                        "value": "40"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  },
                  {
                    "Name": "textSet2",
                    "Type": "TextSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "ntotal"
                      },
                      {
                        "name": "X",
                        "value": "xbubble"
                      },
                      {
                        "name": "Y",
                        "value": "ybubble"
                      },
                      {
                        "name": "Text",
                        "value": "index"
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      }
                    ]
                  },
                  {
                    "Name": "scene1popupthermometer2",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Y",
                        "value": "1"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "background2",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color2%"
                          },
                          {
                            "name": "SizeX",
                            "value": "9"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"CENTERED\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "-4"
                          },
                          {
                            "name": "Y",
                            "value": "4"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene12"
                          },
                          {
                            "name": "SizeY",
                            "value": "2.5"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "background22",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color2%"
                          },
                          {
                            "name": "SizeX",
                            "value": "1"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "-1.25"
                          },
                          {
                            "name": "Y",
                            "value": "-4.75"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene12"
                          },
                          {
                            "name": "SizeY",
                            "value": "7.5"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "background23",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color2%"
                          },
                          {
                            "name": "SizeX",
                            "value": "3.7"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"EAST\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "-2.3"
                          },
                          {
                            "name": "Y",
                            "value": "2"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene12"
                          },
                          {
                            "name": "SizeY",
                            "value": "1"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "hide3",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "false"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "shape23",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"Cyan\""
                              },
                              {
                                "name": "SizeX",
                                "value": "8"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "X",
                                "value": "-4"
                              },
                              {
                                "name": "Y",
                                "value": "4"
                              },
                              {
                                "name": "Visibility",
                                "value": "scene12"
                              },
                              {
                                "name": "SizeY",
                                "value": "2"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "solution3",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "OnRelease",
                            "value": "// When the \"clicked\" state changes, set it to true\n// This will stop the timeout and exit the function\nclicked = true;\n\nscene2comboBoxSlider ()\n"
                          },
                          {
                            "name": "FillColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "Sensitivity",
                            "value": "100"
                          },
                          {
                            "name": "OnExit",
                            "value": "color2=colorPurple\n//font2 = \"normal normal 1vw \""
                          },
                          {
                            "name": "EnabledSize",
                            "value": "\"ENABLED_NO_MOVE\""
                          },
                          {
                            "name": "X",
                            "value": "-4"
                          },
                          {
                            "name": "OnEnter",
                            "value": "color2=colorRed\n//font2 = \"normal normal 1.2vw \""
                          },
                          {
                            "name": "Y",
                            "value": "4"
                          },
                          {
                            "name": "Text",
                            "value": "\"\u2612The thermometer measures \\nthe temperature of the\\n water in the beaker.\""
                          },
                          {
                            "name": "Visibility",
                            "value": "scene12"
                          },
                          {
                            "name": "OnPress",
                            "value": "scene12=false\nupdateLabel()\n"
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "thermometer",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "0"
                      },
                      {
                        "name": "SizeX",
                        "value": "2"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH\""
                      },
                      {
                        "name": "X",
                        "value": "-1.25"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/thermometer.png\""
                      },
                      {
                        "name": "Y",
                        "value": "-4"
                      },
                      {
                        "name": "OnPress",
                        "value": "scene12=false\n\nupdateLabel()\n"
                      },
                      {
                        "name": "SizeY",
                        "value": "8"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_NO_MOVE\""
                      }
                    ]
                  },
                  {
                    "Name": "bubble2",
                    "Type": "ShapeSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "ntotal"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"url(#mygrandient)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "r"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ELLIPSE\""
                      },
                      {
                        "name": "X",
                        "value": "xbubble"
                      },
                      {
                        "name": "LineColor",
                        "value": "\"White\""
                      },
                      {
                        "name": "Y",
                        "value": "ybubble"
                      },
                      {
                        "name": "Visibility",
                        "value": "ybubbleshow"
                      },
                      {
                        "name": "SizeY",
                        "value": "r"
                      },
                      {
                        "name": "LineWidth",
                        "value": "3"
                      }
                    ]
                  },
                  {
                    "Name": "scene1popupsolution",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Y",
                        "value": "0"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "background3",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color3%"
                          },
                          {
                            "name": "SizeX",
                            "value": "12"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "xmin"
                          },
                          {
                            "name": "Y",
                            "value": "-6"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene11"
                          },
                          {
                            "name": "SizeY",
                            "value": "4"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "background32",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color3%"
                          },
                          {
                            "name": "SizeX",
                            "value": "7"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-6.5"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene11"
                          },
                          {
                            "name": "SizeY",
                            "value": "2"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "background33",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "%color3%"
                          },
                          {
                            "name": "SizeX",
                            "value": "7"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"RECTANGLE\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-1.7"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene11"
                          },
                          {
                            "name": "SizeY",
                            "value": "1.5"
                          },
                          {
                            "name": "LineWidth",
                            "value": "0"
                          }
                        ]
                      },
                      {
                        "Name": "hide2",
                        "Type": "Group2D",
                        "Expanded": "false",
                        "Properties": [
                          {
                            "name": "Visibility",
                            "value": "false"
                          }
                        ],
                        "Children": [
                          {
                            "Name": "shape22",
                            "Type": "Shape2D",
                            "Properties": [
                              {
                                "name": "FillColor",
                                "value": "\"Cyan\""
                              },
                              {
                                "name": "SizeX",
                                "value": "8"
                              },
                              {
                                "name": "ShapeType",
                                "value": "\"ROUND_RECTANGLE\""
                              },
                              {
                                "name": "X",
                                "value": "-4"
                              },
                              {
                                "name": "Y",
                                "value": "-6"
                              },
                              {
                                "name": "Visibility",
                                "value": "scene11"
                              },
                              {
                                "name": "SizeY",
                                "value": "2"
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "Name": "solution2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"blue\""
                          },
                          {
                            "name": "OnExit",
                            "value": "color3=colorGreen"
                          },
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "Text",
                            "value": "\"\u2612Sodium hydrogencarbonate \\nsolution is used to provide \\ndissolved carbon dioxide \\nto the plant.  \""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          },
                          {
                            "name": "OnRelease",
                            "value": "// When the \"clicked\" state changes, set it to true\n// This will stop the timeout and exit the function\nclicked = true;\n\nscene2comboBoxSlider ()\n"
                          },
                          {
                            "name": "Sensitivity",
                            "value": "100"
                          },
                          {
                            "name": "EnabledSize",
                            "value": "\"ENABLED_NO_MOVE\""
                          },
                          {
                            "name": "X",
                            "value": "xmin"
                          },
                          {
                            "name": "OnEnter",
                            "value": "color3=colorRed"
                          },
                          {
                            "name": "Y",
                            "value": "-6"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene11"
                          },
                          {
                            "name": "OnPress",
                            "value": "scene11=false\n\nupdateLabel()\n"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "container",
                    "Type": "Image2D",
                    "Properties": [
                      {
                        "name": "Sensitivity",
                        "value": "0"
                      },
                      {
                        "name": "SizeX",
                        "value": "4"
                      },
                      {
                        "name": "RelativePosition",
                        "value": "\"SOUTH_WEST\""
                      },
                      {
                        "name": "X",
                        "value": "-6.5"
                      },
                      {
                        "name": "ImageUrl",
                        "value": "\"./photosynthesis_3_factors/colourless liquid.png\""
                      },
                      {
                        "name": "Y",
                        "value": "floory-0.1"
                      },
                      {
                        "name": "OnPress",
                        "value": "scene11=false\n\nupdateLabel()\n"
                      },
                      {
                        "name": "Visibility",
                        "value": "scene11"
                      },
                      {
                        "name": "SizeY",
                        "value": "4"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_NO_MOVE\""
                      }
                    ]
                  },
                  {
                    "Name": "x2",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"Red\""
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ROUND_RECTANGLE\""
                      },
                      {
                        "name": "X",
                        "value": "x"
                      },
                      {
                        "name": "Y",
                        "value": "0"
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      }
                    ]
                  },
                  {
                    "Name": "labels",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Visibility",
                        "value": "showLabel"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "thermometer2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"EAST\""
                          },
                          {
                            "name": "X",
                            "value": "-2.5"
                          },
                          {
                            "name": "Y",
                            "value": "3."
                          },
                          {
                            "name": "Text",
                            "value": "\"thermometer\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "1"
                          },
                          {
                            "name": "X",
                            "value": "-2.5"
                          },
                          {
                            "name": "Y",
                            "value": "3"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"SOUTH_WEST\""
                          }
                        ]
                      },
                      {
                        "Name": "aquaticplant",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"EAST\""
                          },
                          {
                            "name": "X",
                            "value": "-2.5"
                          },
                          {
                            "name": "Y",
                            "value": "-2"
                          },
                          {
                            "name": "Text",
                            "value": "\"aquatic plant\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow2",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "2.4"
                          },
                          {
                            "name": "X",
                            "value": "-2.5"
                          },
                          {
                            "name": "Y",
                            "value": "-2"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"SOUTH_WEST\""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "labellamp",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Visibility",
                        "value": "showLabel"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "lamp3",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"SOUTH\""
                          },
                          {
                            "name": "X",
                            "value": "10*distance/50+1"
                          },
                          {
                            "name": "Attributes",
                            "value": "{\"animation\": \"blink 1s step-start infinite\"}"
                          },
                          {
                            "name": "Y",
                            "value": "1"
                          },
                          {
                            "name": "Text",
                            "value": "\"lamp\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow32",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "0"
                          },
                          {
                            "name": "X",
                            "value": "10*distance/50+1"
                          },
                          {
                            "name": "Y",
                            "value": "1"
                          },
                          {
                            "name": "SizeY",
                            "value": "2.7"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "ruler2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "11.5"
                          },
                          {
                            "name": "Y",
                            "value": "-9"
                          },
                          {
                            "name": "Text",
                            "value": "\"ruler\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow222222222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "0.5"
                          },
                          {
                            "name": "X",
                            "value": "11.5"
                          },
                          {
                            "name": "Y",
                            "value": "-9"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "labels22",
                    "Type": "Group2D",
                    "Expanded": "false",
                    "Properties": [
                      {
                        "name": "Visibility",
                        "value": "showLabel"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "biolingtube",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "4"
                          },
                          {
                            "name": "Text",
                            "value": "\"boiling tube\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow3",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "-2.2"
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "4"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"SOUTH_WEST\""
                          }
                        ]
                      },
                      {
                        "Name": "beaker2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "1"
                          },
                          {
                            "name": "Text",
                            "value": "\"beaker\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow22",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "1.2"
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "1"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "cutendofplant",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-0.5"
                          },
                          {
                            "name": "Text",
                            "value": "\"cut end of plant facing upwards\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "3.0"
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-0.6"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "sodium",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-1.7"
                          },
                          {
                            "name": "Text",
                            "value": "\"sodium hydrogencarbonate \\nsolution \""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow2222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "2.45"
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-1.7"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "waterbath",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-3"
                          },
                          {
                            "name": "Text",
                            "value": "\"water bath \\n(to keep temperature constant)\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow22222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "2."
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-3"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "tripod2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-5"
                          },
                          {
                            "name": "Text",
                            "value": "\"tripod\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow222222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "1.5"
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-5"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "sodium2",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-6.5"
                          },
                          {
                            "name": "Text",
                            "value": "\"sodium hydrogencarbonate \\nsolution \""
                          },
                          {
                            "name": "Visibility",
                            "value": "scene11"
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow2222222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "6.5"
                          },
                          {
                            "name": "X",
                            "value": "3"
                          },
                          {
                            "name": "Y",
                            "value": "-6.5"
                          },
                          {
                            "name": "Visibility",
                            "value": "scene11"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      },
                      {
                        "Name": "stopwatch3",
                        "Type": "Text2D",
                        "Properties": [
                          {
                            "name": "RelativePosition",
                            "value": "\"WEST\""
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "-13"
                          },
                          {
                            "name": "Text",
                            "value": "\"stopwatch\""
                          },
                          {
                            "name": "Font",
                            "value": "font2"
                          }
                        ]
                      },
                      {
                        "Name": "arrow22222222",
                        "Type": "Arrow2D",
                        "Properties": [
                          {
                            "name": "MarkEnd",
                            "value": "\"NONE\""
                          },
                          {
                            "name": "SizeX",
                            "value": "3"
                          },
                          {
                            "name": "X",
                            "value": "0"
                          },
                          {
                            "name": "Y",
                            "value": "-13"
                          },
                          {
                            "name": "SizeY",
                            "value": "0"
                          },
                          {
                            "name": "Offset",
                            "value": "\"NORTH_EAST\""
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "debugging",
                    "Type": "Text2D",
                    "Properties": [
                      {
                        "name": "X",
                        "value": "-10"
                      },
                      {
                        "name": "Y",
                        "value": "-10"
                      },
                      {
                        "name": "Text",
                        "value": "\"debugging\""
                      },
                      {
                        "name": "Visibility",
                        "value": "false"
                      },
                      {
                        "name": "Font",
                        "value": "font2"
                      },
                      {
                        "name": "EnabledPosition",
                        "value": "\"ENABLED_ANY\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "panelONE",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Width",
                    "value": "Width0"
                  },
                  {
                    "name": "Display",
                    "value": "displaydistance"
                  }
                ],
                "Children": [
                  {
                    "Name": "plottingPanelxvst0",
                    "Type": "PlottingPanel",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "Gutters",
                        "value": "[50,0,0,50]"
                      },
                      {
                        "name": "ShowAreaRectangle",
                        "value": "false"
                      },
                      {
                        "name": "YScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "XFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "AxisYFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "OnDoubleClick",
                        "value": "toggleFullScreen();"
                      },
                      {
                        "name": "YFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "XTickStep",
                        "value": "10"
                      },
                      {
                        "name": "YTickStep",
                        "value": "10"
                      },
                      {
                        "name": "XAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "Height",
                        "value": "\"70vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "TitleYFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "(expt==0)?\"inline-block\":\"none\""
                      },
                      {
                        "name": "TitleXFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "Title",
                        "value": "\"Displacement vs. Time\""
                      },
                      {
                        "name": "Enabled",
                        "value": "true"
                      },
                      {
                        "name": "MaximumY",
                        "value": "60"
                      },
                      {
                        "name": "MaximumX",
                        "value": "50"
                      },
                      {
                        "name": "YAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "MinimumX",
                        "value": "0"
                      },
                      {
                        "name": "MinimumY",
                        "value": "0"
                      },
                      {
                        "name": "TitleY",
                        "value": "\"Rate of bubbles produced (bubbles / min)\""
                      },
                      {
                        "name": "AxisXFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "TitleX",
                        "value": "\"Distance from lamp (cm)\""
                      },
                      {
                        "name": "AutoScaleY",
                        "value": "false"
                      },
                      {
                        "name": "AutoScaleX",
                        "value": "false"
                      },
                      {
                        "name": "MarginX",
                        "value": "10"
                      },
                      {
                        "name": "MarginY",
                        "value": "10"
                      },
                      {
                        "name": "XScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "Display",
                        "value": "displaydistance"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "analyticCurve22",
                        "Type": "AnalyticCurve2D",
                        "Properties": [
                          {
                            "name": "FunctionY",
                            "value": "FittedParametersa+\"*1/(x*x)+\"+FittedParametersb"
                          },
                          {
                            "name": "FunctionX",
                            "value": "\"x\""
                          },
                          {
                            "name": "Minimum",
                            "value": "10"
                          },
                          {
                            "name": "Maximum",
                            "value": "50"
                          },
                          {
                            "name": "Variable",
                            "value": "\"x\""
                          },
                          {
                            "name": "LineColor",
                            "value": "\"Red\""
                          },
                          {
                            "name": "Visibility",
                            "value": "showdistancefitcurve"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          }
                        ]
                      },
                      {
                        "Name": "instantaneousdata3",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"rgba(0,0,255,0.5)\""
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"ELLIPSE\""
                          },
                          {
                            "name": "X",
                            "value": "distance"
                          },
                          {
                            "name": "Y",
                            "value": "sumcount"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          }
                        ]
                      },
                      {
                        "Name": "shapeSet3",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "datanMax"
                          },
                          {
                            "name": "FillColor",
                            "value": "\"Blue\""
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"WHEEL\""
                          },
                          {
                            "name": "X",
                            "value": "distancedata"
                          },
                          {
                            "name": "Y",
                            "value": "sumcountdatadistance"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          }
                        ]
                      },
                      {
                        "Name": "trace3",
                        "Type": "Trace",
                        "Properties": [
                          {
                            "name": "Active",
                            "value": "true"
                          },
                          {
                            "name": "Maximum",
                            "value": "100"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"red\""
                          },
                          {
                            "name": "InputX",
                            "value": "splinex0"
                          },
                          {
                            "name": "Visibility",
                            "value": "false"
                          },
                          {
                            "name": "InputY",
                            "value": "spliney0"
                          },
                          {
                            "name": "NoRepeat",
                            "value": "true"
                          },
                          {
                            "name": "ClearAtInput",
                            "value": "true"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "dataTable",
                    "Type": "DataTable",
                    "Properties": [
                      {
                        "name": "Input",
                        "value": "datatable"
                      },
                      {
                        "name": "Active",
                        "value": "true"
                      },
                      {
                        "name": "CellsCSS",
                        "value": "{\"text-align\":\"center\"}"
                      },
                      {
                        "name": "HeadersText",
                        "value": "[\"Distance from lamp (cm)\",\"Rate of bubbles produced (bubbles / min)\"]"
                      },
                      {
                        "name": "CellsFormat",
                        "value": "[\"0\",\"0\"]"
                      },
                      {
                        "name": "NoRepeat",
                        "value": "true"
                      },
                      {
                        "name": "ClearAtInput",
                        "value": "true"
                      },
                      {
                        "name": "Font",
                        "value": "font2"
                      }
                    ]
                  },
                  {
                    "Name": "arrayPanel",
                    "Type": "ArrayPanel",
                    "Properties": [
                      {
                        "name": "Editable",
                        "value": "false"
                      },
                      {
                        "name": "HeadersText",
                        "value": "[\"distance\",\"number of bubbles per minute\"]"
                      },
                      {
                        "name": "CellsFormat",
                        "value": "[\"0\",\"0\"]"
                      },
                      {
                        "name": "DataArray",
                        "value": "datatable"
                      },
                      {
                        "name": "Display",
                        "value": "\"none\""
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "panelTWO",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Width",
                    "value": "Width3"
                  },
                  {
                    "name": "Display",
                    "value": "displaycarbondioxide"
                  }
                ],
                "Children": [
                  {
                    "Name": "plottingPanelxvst2",
                    "Type": "PlottingPanel",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "Gutters",
                        "value": "[50,0,0,50]"
                      },
                      {
                        "name": "YScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "XFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "AxisYFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "OnDoubleClick",
                        "value": "toggleFullScreen();"
                      },
                      {
                        "name": "YFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "XTickStep",
                        "value": "0.2"
                      },
                      {
                        "name": "YTickStep",
                        "value": "10"
                      },
                      {
                        "name": "XAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "Height",
                        "value": "\"70vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "TitleYFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "(expt==2)?\"inline-block\":\"none\""
                      },
                      {
                        "name": "TitleXFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "Enabled",
                        "value": "true"
                      },
                      {
                        "name": "MaximumY",
                        "value": "60"
                      },
                      {
                        "name": "MaximumX",
                        "value": "1"
                      },
                      {
                        "name": "YAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "MinimumX",
                        "value": "0"
                      },
                      {
                        "name": "MinimumY",
                        "value": "0"
                      },
                      {
                        "name": "TitleY",
                        "value": "\"Rate of bubbles produced (bubbles / min)\""
                      },
                      {
                        "name": "AxisXFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "TitleX",
                        "value": "\"concentration of sodium hydrogen carbonate solution (%)\""
                      },
                      {
                        "name": "AutoScaleY",
                        "value": "true"
                      },
                      {
                        "name": "AutoScaleX",
                        "value": "false"
                      },
                      {
                        "name": "MarginX",
                        "value": "10"
                      },
                      {
                        "name": "MarginY",
                        "value": "10"
                      },
                      {
                        "name": "XScalePrecision",
                        "value": "1"
                      },
                      {
                        "name": "Display",
                        "value": "displaycarbondioxide"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "instantaneousdata2",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"rgba(255,0,0,0.5)\""
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"ELLIPSE\""
                          },
                          {
                            "name": "X",
                            "value": "carbondioxide"
                          },
                          {
                            "name": "Y",
                            "value": "sumcount"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          }
                        ]
                      },
                      {
                        "Name": "shapeSet2",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "datanMax"
                          },
                          {
                            "name": "FillColor",
                            "value": "\"Red\""
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"WHEEL\""
                          },
                          {
                            "name": "X",
                            "value": "carbondioxidedata"
                          },
                          {
                            "name": "Y",
                            "value": "sumcountdatacarbondioxide"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          }
                        ]
                      },
                      {
                        "Name": "trace2",
                        "Type": "Trace",
                        "Properties": [
                          {
                            "name": "Active",
                            "value": "true"
                          },
                          {
                            "name": "Maximum",
                            "value": "100"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"Red\""
                          },
                          {
                            "name": "InputX",
                            "value": "splinex2.slice(5)"
                          },
                          {
                            "name": "Visibility",
                            "value": "countNonZero(sumcountdatacarbondioxide)>=5"
                          },
                          {
                            "name": "InputY",
                            "value": "spliney2.slice(5)"
                          },
                          {
                            "name": "NoRepeat",
                            "value": "true"
                          },
                          {
                            "name": "ClearAtInput",
                            "value": "true"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "dataTable2",
                    "Type": "DataTable",
                    "Properties": [
                      {
                        "name": "Input",
                        "value": "datatable2"
                      },
                      {
                        "name": "Active",
                        "value": "true"
                      },
                      {
                        "name": "HeadersText",
                        "value": "[\"concentration of sodium hydrogen carbonate solution (%)\" ,\"Rate of bubbles produced (bubbles / min)\"]"
                      },
                      {
                        "name": "CellsFormat",
                        "value": "[\"0.0\",\"0\"]"
                      },
                      {
                        "name": "NoRepeat",
                        "value": "true"
                      },
                      {
                        "name": "ClearAtInput",
                        "value": "true"
                      },
                      {
                        "name": "Font",
                        "value": "font2"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "panelTHREE",
                "Type": "Panel",
                "Expanded": "true",
                "Properties": [
                  {
                    "name": "Width",
                    "value": "Width4"
                  },
                  {
                    "name": "Display",
                    "value": "displaytemperature"
                  }
                ],
                "Children": [
                  {
                    "Name": "plottingPanelxvst3",
                    "Type": "PlottingPanel",
                    "Expanded": "true",
                    "Properties": [
                      {
                        "name": "Gutters",
                        "value": "[50,0,0,50]"
                      },
                      {
                        "name": "YScalePrecision",
                        "value": "0"
                      },
                      {
                        "name": "XFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "AxisYFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "OnDoubleClick",
                        "value": "toggleFullScreen();"
                      },
                      {
                        "name": "YFixedTick",
                        "value": "0"
                      },
                      {
                        "name": "XTickStep",
                        "value": "10"
                      },
                      {
                        "name": "YTickStep",
                        "value": "10"
                      },
                      {
                        "name": "XAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "Height",
                        "value": "\"70vh\""
                      },
                      {
                        "name": "Width",
                        "value": "\"100%\""
                      },
                      {
                        "name": "TitleYFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "Tooltip",
                        "value": "(expt==3)?\"inline-block\":\"none\""
                      },
                      {
                        "name": "TitleXFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "Enabled",
                        "value": "true"
                      },
                      {
                        "name": "MaximumY",
                        "value": "60"
                      },
                      {
                        "name": "MaximumX",
                        "value": "50"
                      },
                      {
                        "name": "YAutoTicks",
                        "value": "false"
                      },
                      {
                        "name": "MinimumX",
                        "value": "0"
                      },
                      {
                        "name": "MinimumY",
                        "value": "0"
                      },
                      {
                        "name": "TitleY",
                        "value": "\"Rate of bubbles produced (bubbles / min)\""
                      },
                      {
                        "name": "AxisXFont",
                        "value": "\"normal normal 1vw\""
                      },
                      {
                        "name": "TitleX",
                        "value": "\"temperature (\u2103)\""
                      },
                      {
                        "name": "AutoScaleY",
                        "value": "false"
                      },
                      {
                        "name": "AutoScaleX",
                        "value": "false"
                      },
                      {
                        "name": "MarginX",
                        "value": "10"
                      },
                      {
                        "name": "MarginY",
                        "value": "10"
                      },
                      {
                        "name": "XScalePrecision",
                        "value": "1"
                      },
                      {
                        "name": "Display",
                        "value": "displaytemperature"
                      }
                    ],
                    "Children": [
                      {
                        "Name": "instantaneousdata22",
                        "Type": "Shape2D",
                        "Properties": [
                          {
                            "name": "FillColor",
                            "value": "\"Magenta\""
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"ELLIPSE\""
                          },
                          {
                            "name": "X",
                            "value": "temperature"
                          },
                          {
                            "name": "Y",
                            "value": "sumcount"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          }
                        ]
                      },
                      {
                        "Name": "shapeSet22",
                        "Type": "ShapeSet2D",
                        "Properties": [
                          {
                            "name": "NumberOfElements",
                            "value": "datanMax"
                          },
                          {
                            "name": "FillColor",
                            "value": "\"Magenta\""
                          },
                          {
                            "name": "SizeX",
                            "value": "20"
                          },
                          {
                            "name": "ShapeType",
                            "value": "\"WHEEL\""
                          },
                          {
                            "name": "X",
                            "value": "temperaturedata"
                          },
                          {
                            "name": "Y",
                            "value": "sumcountdatatemperature"
                          },
                          {
                            "name": "SizeY",
                            "value": "20"
                          },
                          {
                            "name": "PixelSize",
                            "value": "true"
                          }
                        ]
                      },
                      {
                        "Name": "trace22",
                        "Type": "Trace",
                        "Properties": [
                          {
                            "name": "Active",
                            "value": "true"
                          },
                          {
                            "name": "Maximum",
                            "value": "100"
                          },
                          {
                            "name": "LineColor",
                            "value": "\"Red\""
                          },
                          {
                            "name": "InputX",
                            "value": "splinex3.slice(20)"
                          },
                          {
                            "name": "Visibility",
                            "value": "countNonZero(sumcountdatatemperature)>=5"
                          },
                          {
                            "name": "InputY",
                            "value": "spliney3.slice(20)"
                          },
                          {
                            "name": "NoRepeat",
                            "value": "true"
                          },
                          {
                            "name": "ClearAtInput",
                            "value": "true"
                          },
                          {
                            "name": "LineWidth",
                            "value": "5"
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "Name": "dataTable22",
                    "Type": "DataTable",
                    "Properties": [
                      {
                        "name": "Input",
                        "value": "datatable3"
                      },
                      {
                        "name": "Active",
                        "value": "true"
                      },
                      {
                        "name": "HeadersText",
                        "value": "[\"temperature (\u00b0C)\",\"Rate of bubbles produced (bubbles / min)\"]"
                      },
                      {
                        "name": "CellsFormat",
                        "value": "[\"0\",\"0\"]"
                      },
                      {
                        "name": "NoRepeat",
                        "value": "true"
                      },
                      {
                        "name": "ClearAtInput",
                        "value": "true"
                      },
                      {
                        "name": "Font",
                        "value": "font2"
                      }
                    ]
                  }
                ]
              },
              {
                "Name": "plottingPanelxvst",
                "Type": "PlottingPanel",
                "Expanded": "false",
                "Properties": [
                  {
                    "name": "Gutters",
                    "value": "[0,0,0,0]"
                  },
                  {
                    "name": "YScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "XFixedTick",
                    "value": "0"
                  },
                  {
                    "name": "AxisYFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "OnDoubleClick",
                    "value": "toggleFullScreen();"
                  },
                  {
                    "name": "YFixedTick",
                    "value": "0"
                  },
                  {
                    "name": "XTickStep",
                    "value": "10"
                  },
                  {
                    "name": "YTickStep",
                    "value": "10"
                  },
                  {
                    "name": "XAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "Height",
                    "value": "\"90vh\""
                  },
                  {
                    "name": "Width",
                    "value": "Width2"
                  },
                  {
                    "name": "TitleYFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "TitleXFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "Title",
                    "value": "\"Displacement vs. Time\""
                  },
                  {
                    "name": "Enabled",
                    "value": "true"
                  },
                  {
                    "name": "MaximumY",
                    "value": "60"
                  },
                  {
                    "name": "MaximumX",
                    "value": "100"
                  },
                  {
                    "name": "YAutoTicks",
                    "value": "false"
                  },
                  {
                    "name": "MinimumX",
                    "value": "0"
                  },
                  {
                    "name": "MinimumY",
                    "value": "0"
                  },
                  {
                    "name": "TitleY",
                    "value": "\"number of bubbles \\nin 1 minute\""
                  },
                  {
                    "name": "AxisXFont",
                    "value": "\"normal normal 1vw\""
                  },
                  {
                    "name": "TitleX",
                    "value": "\"intensity\""
                  },
                  {
                    "name": "AutoScaleY",
                    "value": "true"
                  },
                  {
                    "name": "AutoScaleX",
                    "value": "false"
                  },
                  {
                    "name": "MarginX",
                    "value": "10"
                  },
                  {
                    "name": "MarginY",
                    "value": "10"
                  },
                  {
                    "name": "XScalePrecision",
                    "value": "0"
                  },
                  {
                    "name": "Display",
                    "value": "\"none\""
                  }
                ],
                "Children": [
                  {
                    "Name": "analyticCurve2",
                    "Type": "AnalyticCurve2D",
                    "Properties": [
                      {
                        "name": "FunctionY",
                        "value": "\"50.5/(1+50*exp(-2.5*x+1))-0.5\""
                      },
                      {
                        "name": "FunctionX",
                        "value": "\"x\""
                      },
                      {
                        "name": "Minimum",
                        "value": "0.2"
                      },
                      {
                        "name": "Maximum",
                        "value": "100"
                      },
                      {
                        "name": "Variable",
                        "value": "\"x\""
                      },
                      {
                        "name": "LineColor",
                        "value": "\"Red\""
                      },
                      {
                        "name": "LineWidth",
                        "value": "5"
                      }
                    ]
                  },
                  {
                    "Name": "instantaneousdata",
                    "Type": "Shape2D",
                    "Properties": [
                      {
                        "name": "FillColor",
                        "value": "\"rgba(0,0,255,0.5)\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"ELLIPSE\""
                      },
                      {
                        "name": "X",
                        "value": "intensity"
                      },
                      {
                        "name": "Y",
                        "value": "sumcount"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  },
                  {
                    "Name": "shapeSet",
                    "Type": "ShapeSet2D",
                    "Properties": [
                      {
                        "name": "NumberOfElements",
                        "value": "datanMax"
                      },
                      {
                        "name": "FillColor",
                        "value": "\"Blue\""
                      },
                      {
                        "name": "SizeX",
                        "value": "20"
                      },
                      {
                        "name": "ShapeType",
                        "value": "\"WHEEL\""
                      },
                      {
                        "name": "X",
                        "value": "intensitydata"
                      },
                      {
                        "name": "Y",
                        "value": "sumcountdatatemperature"
                      },
                      {
                        "name": "SizeY",
                        "value": "20"
                      },
                      {
                        "name": "PixelSize",
                        "value": "true"
                      }
                    ]
                  },
                  {
                    "Name": "trace",
                    "Type": "Trace",
                    "Properties": [
                      {
                        "name": "Active",
                        "value": "true"
                      },
                      {
                        "name": "Maximum",
                        "value": "100"
                      },
                      {
                        "name": "LineColor",
                        "value": "\"Red\""
                      },
                      {
                        "name": "InputX",
                        "value": "splinex"
                      },
                      {
                        "name": "Visibility",
                        "value": "showdistancefitcurve"
                      },
                      {
                        "name": "InputY",
                        "value": "spliney"
                      },
                      {
                        "name": "NoRepeat",
                        "value": "true"
                      },
                      {
                        "name": "ClearAtInput",
                        "value": "true"
                      },
                      {
                        "name": "LineWidth",
                        "value": "5"
                      }
                    ]
                  }
                ]
              }
            ]
          },
          {
            "Name": "html",
            "Type": "Panel",
            "Properties": [
              {
                "name": "CSS",
                "value": "{\"line-height\": \"1.5em\"}"
              },
              {
                "name": "Html",
                "value": "<h2>Introduction</h2>\n<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/QnIvf6t4Vog?si=zGHDLirzuoDRFnbY\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen></iframe>\n<p>Plants make food through a process called photosynthesis.</p>\n<p>Activity 1: Let\u2019s find out how the amount of light can affect photosynthesis through this activity. Record your observations by filling in your own table of amount of light versus amount of oxygen produced, using the automated graph readings as data.</p>\n<p>When the amount of light increased, the plant produced more oxygen. Hence, the rate of photosynthesis increased when the amount of light increased.</p>\n<p>Activity 2: Let\u2019s find out how the amount of carbon dioxide can affect photosynthesis through this activity. Record your observations by filling in your own table of amount of light versus amount of oxygen produced, using the automated graph readings as data.</p>\n<p>When the amount of carbon dioxide increased, the plant produced more oxygen. Hence, the rate of photosynthesis increased when the amount of carbon dioxide increased.</p>\n<h2>Critical thinking skills</h2>\n<p>More light generally equates to higher levels of photosynthesis. However, as the light intensity increases, the photosynthetic rate eventually reaches a maximum point. This point where the light intensity does not increase the photosynthesis rate is called the light saturation point. </p>"
              },
              {
                "name": "Font",
                "value": "font"
              }
            ]
          }
        ]
      }
    ],
    "RootProperties": []
  },
  "metadata": {
    "APP": "WebEJS",
    "CreatedWith": "WebEJS : The web version of Easy JavaScript Simulations",
    "MoreInfo": "WebEJS 1.1",
    "version": "https://www.um.es/fem/wikis/webejs/"
  }
}