layer at (0,0) size 785x1032
  RenderView at (0,0) size 785x600
layer at (0,0) size 785x1032
  RenderBlock {HTML} at (0,0) size 785x1032
    RenderBody {BODY} at (8,8) size 769x584
      RenderBlock (floating) {DIV} at (4,0) size 202x512 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x509
          text run at (1,1) width 200: "also the division of"
          text run at (1,31) width 200: "the mind into the"
          text run at (1,61) width 85: "rational,"
          text run at (1,91) width 200: "concupiscent, and"
          text run at (1,121) width 200: "irascible elements,"
          text run at (1,151) width 200: "or of pleasures and"
          text run at (1,181) width 200: "desires into"
          text run at (1,211) width 200: "necessary and"
          text run at (1,241) width 155: "unnecessary\x{2014}"
          text run at (1,271) width 200: "these and other"
          text run at (1,301) width 200: "great forms of"
          text run at (1,331) width 200: "thought are all of"
          text run at (1,361) width 67: "them "
          text run at (67,361) width 134: "to be found"
          text run at (1,391) width 200: "in the Republic,"
          text run at (1,421) width 200: "and were probably"
          text run at (1,451) width 200: "first invented by"
          text run at (1,481) width 60: "Plato."
      RenderBlock (floating) {DIV} at (214,0) size 202x512 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x509
          text run at (1,1) width 200: "also the division of"
          text run at (1,31) width 200: "the mind into the"
          text run at (1,61) width 85: "rational,"
          text run at (1,91) width 200: "concupiscent, and"
          text run at (1,121) width 200: "irascible elements,"
          text run at (1,151) width 200: "or of pleasures and"
          text run at (1,181) width 200: "desires into"
          text run at (1,211) width 200: "necessary and"
          text run at (1,241) width 155: "unnecessary\x{2014}"
          text run at (1,271) width 200: "these and other"
          text run at (1,301) width 200: "great forms of"
          text run at (1,331) width 200: "thought are all of"
          text run at (1,361) width 67: "them "
          text run at (67,361) width 134: "to be found"
          text run at (1,391) width 200: "in the Republic,"
          text run at (1,421) width 200: "and were probably"
          text run at (1,451) width 200: "first invented by"
          text run at (1,481) width 60: "Plato."
      RenderBlock (floating) {DIV} at (424,0) size 202x512 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x509
          text run at (1,1) width 200: "also the division of"
          text run at (1,31) width 200: "the mind into the"
          text run at (1,61) width 85: "rational,"
          text run at (1,91) width 200: "concupiscent, and"
          text run at (1,121) width 200: "irascible elements,"
          text run at (1,151) width 200: "or of pleasures and"
          text run at (1,181) width 200: "desires into"
          text run at (1,211) width 200: "necessary and"
          text run at (1,241) width 155: "unnecessary\x{2014}"
          text run at (1,271) width 200: "these and other"
          text run at (1,301) width 200: "great forms of"
          text run at (1,331) width 200: "thought are all of"
          text run at (1,361) width 67: "them "
          text run at (67,361) width 134: "to be found"
          text run at (1,391) width 200: "in the Republic,"
          text run at (1,421) width 200: "and were probably"
          text run at (1,451) width 200: "first invented by"
          text run at (1,481) width 60: "Plato."
      RenderBlock (floating) {DIV} at (4,512) size 202x512 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x509
          text run at (1,1) width 200: "also the division of"
          text run at (1,31) width 200: "the mind into the"
          text run at (1,61) width 85: "rational,"
          text run at (1,91) width 200: "concupiscent, and"
          text run at (1,121) width 200: "irascible elements,"
          text run at (1,151) width 200: "or of pleasures and"
          text run at (1,181) width 200: "desires into"
          text run at (1,211) width 200: "necessary and"
          text run at (1,241) width 155: "unnecessary\x{2014}"
          text run at (1,271) width 200: "these and other"
          text run at (1,301) width 200: "great forms of"
          text run at (1,331) width 200: "thought are all of"
          text run at (1,361) width 67: "them "
          text run at (67,361) width 134: "to be found"
          text run at (1,391) width 200: "in the Republic,"
          text run at (1,421) width 200: "and were probably"
          text run at (1,451) width 200: "first invented by"
          text run at (1,481) width 60: "Plato."
      RenderBlock (floating) {DIV} at (214,512) size 202x512 [border: (1px solid #ADD8E6)]
        RenderText {#text} at (1,1) size 200x509
          text run at (1,1) width 200: "also the division of"
          text run at (1,31) width 200: "the mind into the"
          text run at (1,61) width 85: "rational,"
          text run at (1,91) width 200: "concupiscent, and"
          text run at (1,121) width 200: "irascible elements,"
          text run at (1,151) width 200: "or of pleasures and"
          text run at (1,181) width 200: "desires into"
          text run at (1,211) width 200: "necessary and"
          text run at (1,241) width 155: "unnecessary\x{2014}"
          text run at (1,271) width 200: "these and other"
          text run at (1,301) width 200: "great forms of"
          text run at (1,331) width 200: "thought are all of"
          text run at (1,361) width 67: "them "
          text run at (67,361) width 134: "to be found"
          text run at (1,391) width 200: "in the Republic,"
          text run at (1,421) width 200: "and were probably"
          text run at (1,451) width 200: "first invented by"
          text run at (1,481) width 60: "Plato."
