commit 45d819a5ce0f10dc7093a96b466c541bb8260ae2
Author: Harrisembuaba1234 <104016146+Harrisembuaba1234@users.noreply.github.com>
Date: Mon May 26 21:27:13 2025 +0700
first commit
diff --git a/app.py b/app.py
new file mode 100644
index 0000000..82cda92
--- /dev/null
+++ b/app.py
@@ -0,0 +1,175 @@
+from flask import Flask, render_template, request, redirect, url_for, jsonify
+import os
+import base64
+import tensorflow as tf
+from tensorflow import keras
+from keras import preprocessing
+import numpy as np
+import cv2
+from werkzeug.utils import secure_filename
+import time
+
+app = Flask(__name__)
+app.config["UPLOAD_FOLDER"] = "static/uploads/"
+
+# folder static/uploads
+if not os.path.exists(app.config["UPLOAD_FOLDER"]):
+ os.makedirs(app.config["UPLOAD_FOLDER"])
+
+# Load model Hard Cascade Classifier
+tomato_cascade = cv2.CascadeClassifier("model/tomato_classifier.xml")
+
+# Load kedua model klasifikasi
+#model_ripe = keras.models.load_model("model/CNN MobileNetV2-epochs10new-100.0.h5")
+#model_fresh = keras.models.load_model("model/CNN MobileNetV2-epochs10kesegaran-99.66.h5")
+
+modl_newgen = keras.models.load_model("model/CNN MobileNetV2-epochs5newgen-99.41.h5")
+
+# Fungsi deteksi tomat
+def is_tomato(img_path):
+ """Deteksi apakah gambar mengandung tomat atau tidak"""
+ img = cv2.imread(img_path)
+ gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
+ tomatoes = tomato_cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=5, minSize=(30, 30))
+ return len(tomatoes) > 0
+
+# Fungsi prediksi gambar
+def predict_image(img_path, model, class_names):
+ img = preprocessing.image.load_img(img_path, target_size=(224, 224))
+ img_array = preprocessing.image.img_to_array(img)
+ img_array = np.expand_dims(img_array, axis=0)
+ img_array /= 255.0
+ predictions = model.predict(img_array)
+ result = np.argmax(predictions, axis=1)
+ confidence = int(np.max(predictions) * 100)
+ return class_names[result[0]], confidence
+
+@app.route("/")
+def index():
+ return render_template("index.html")
+
+@app.route("/upload", methods=["GET", "POST"])
+def upload():
+ if request.method == "POST":
+ # Proses file unggahan
+ if 'file' not in request.files:
+ return render_template("upload.html", error="Tidak ada file yang dipilih.")
+
+ file = request.files['file']
+ if file.filename == '':
+ return render_template("upload.html", error="Nama file kosong. Silakan pilih file lain.")
+
+ if file:
+ filename = secure_filename(file.filename)
+ filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)
+ file.save(filepath)
+
+ # Validasi gambar menggunakan Hard Cascade
+ if not is_tomato(filepath):
+ return render_template("upload.html", error="Gambar yang diunggah bukan tomat. Harap unggah gambar tomat.")
+
+ # Simpan path gambar di sesi sementara untuk ditampilkan di halaman hasil
+ return redirect(url_for("predict", img_path=filename))
+
+ return render_template("upload.html")
+
+@app.route("/predict", methods=["GET", "POST"])
+def predict():
+ if request.method == "POST":
+ # Tangani data gambar dari kamera
+ data = request.get_json()
+ if data and "image" in data:
+ # Decode Base64 menjadi file gambar
+ image_data = data["image"].split(",")[1]
+ image_bytes = base64.b64decode(image_data)
+ filename = f"camera_{int(time.time())}.png"
+ filepath = os.path.join(app.config["UPLOAD_FOLDER"], filename)
+
+ # Simpan gambar ke folder uploads
+ with open(filepath, "wb") as f:
+ f.write(image_bytes)
+
+ # Validasi gambar menggunakan Hard Cascade
+ if not is_tomato(filepath):
+ return jsonify({"success": False, "error": "Gambar yang diambil bukan tomat. Harap ambil gambar tomat."}), 400
+
+ # Lakukan prediksi setelah validasi
+ #class_names_ripe = ['Belum Matang', 'Matang']
+ #class_names_fresh = ['Busuk', 'Segar']
+
+ class_names_tomat = ['Matang Busuk', 'Matang Segar', 'Mentah Busuk', 'Mentah Segar']
+
+ # Prediksi kematangan
+ #predicted_class_ripe, confidence_ripe = predict_image(filepath, model_ripe, class_names_ripe)
+
+ # Prediksi kesegaran
+ #predicted_class_fresh, confidence_fresh = predict_image(filepath, model_fresh, class_names_fresh)
+
+ predicted_class_tomat, confidence_tomat = predict_image(filepath, modl_newgen, class_names_tomat)
+
+ # Gabungkan hasil prediksi
+ #predicted_class = f"{predicted_class_tomat}"
+ #average_confidence = round((confidence_ripe + confidence_fresh) / 2, 2)
+
+ # Kirim hasil prediksi sebagai respons JSON
+ return jsonify({
+ "success": True,
+ "filename": filename,
+ "predicted_class": predicted_class_tomat,
+ "confidence": confidence_tomat
+ })
+
+ return jsonify({"success": False, "error": "No valid image data received"}), 400
+
+ # Tangani metode GET untuk menampilkan halaman prediksi
+ img_path = request.args.get("img_path")
+ if not img_path:
+ return redirect(url_for("upload"))
+
+ filepath = os.path.join(app.config["UPLOAD_FOLDER"], img_path)
+ if not os.path.exists(filepath):
+ return redirect(url_for("upload"))
+
+ #class_names_ripe = ['Belum Matang', 'Matang']
+ #class_names_fresh = ['Busuk', 'Segar']
+
+ class_names_tomat = ['Matang Busuk', 'Matang Segar', 'Mentah Busuk', 'Mentah Segar']
+
+ # Prediksi kematangan
+ #predicted_class_ripe, confidence_ripe = predict_image(filepath, model_ripe, class_names_ripe)
+
+ # Prediksi kesegaran
+ #predicted_class_fresh, confidence_fresh = predict_image(filepath, model_fresh, class_names_fresh)
+
+ #predicted_class = f"{predicted_class_ripe} & {predicted_class_fresh}"
+ #average_confidence = round((confidence_ripe + confidence_fresh) / 2, 2)
+
+ predicted_class_tomat, confidence_tomat = predict_image(filepath, modl_newgen, class_names_tomat)
+
+ local_time = time.localtime(time.time())
+ data_date = time.strftime("%d-%m-%Y", local_time)
+ data_time = time.strftime("%H:%M:%S", local_time)
+
+ return render_template(
+ "predict.html",
+ img_path=img_path,
+ predicted_class=predicted_class_tomat,
+ confidence=confidence_tomat,
+ data_date=data_date,
+ data_time=data_time
+ )
+
+@app.route("/more")
+def more():
+ return render_template("more.html")
+
+@app.route("/faq")
+def faq():
+ return render_template("faq.html")
+
+@app.route("/about")
+def about():
+ return render_template("about.html")
+
+if __name__ == "__main__":
+ app.run(host="0.0.0.0", port=5000, debug=True)
diff --git a/cert.pem b/cert.pem
new file mode 100644
index 0000000..39ff75d
--- /dev/null
+++ b/cert.pem
@@ -0,0 +1,31 @@
+-----BEGIN CERTIFICATE-----
+MIIFazCCA1OgAwIBAgIUBBUH7GVLZnSlzG8fGUoKKpI4BkMwDQYJKoZIhvcNAQEL
+BQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
+GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNTAyMjAxMjQyMTNaFw0yNjAy
+MjAxMjQyMTNaMEUxCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
+HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggIiMA0GCSqGSIb3DQEB
+AQUAA4ICDwAwggIKAoICAQCgArV1UD1SVwrNLyhMJWsMKxCPVLXwtjytrcce0Zp1
+lAH4tzuRZSOZftMQoINzy1IjxqWNmcID3vh9N3sZLUExytlDTQ8/eUhlzT1Ob9j4
+76Xjm/xTI3enmH7+GJSkeRicqcCdJ11f36q+XOOQNrzz8JUqLiheNKbF7aBMpPGB
+5fBLQPFaSp7O0a9VEsVD8f7fZo+I2X0stpkU+laqd4In5pBjt9PIluBU28hnewJX
+4NU5ByLcy8miKIiKJX3ZV0jFzgtwgSMp0sbhwKgorvZ0cJFD7hJFnaB4qE0HMckl
+a82x0sQ/TQ/BSnuGD339zoeiLQdSclroiwNFO80QcVbfpOIiZq4egA9AR9B3jPCd
+XgOxwffFkTyuXWmMmROBCcVaAM/BA33FJFupktvWSM2YXsy2m3b+/23t35/GwFB0
+ZkMQBHkHwqZgAlB4xAl6LFzvM0g/wObbtHeFUpXzZ+g5HO1Ou3THhSU9TzE6IVyg
+15F1uHQeBkGW6CBGyq9Vkggqh5rF6vwLgQhKFFDyFYDihu3Z8e5kvnD2XEoVv7fK
+yHCMSoY/T71FtSgclknQZmgkYnyjY2d2k/SP5yRy4/BdPoeQqkli7JoUu8jWoNXo
+YPTsrhAcj5FBrBx6QhhroxWF5vFWlKtmj65UkEI0O0Otqb/waxAw8+WdwjnhVWHm
+bwIDAQABo1MwUTAdBgNVHQ4EFgQU+b5d0PkP+HLsJ07q4uMys8KojxcwHwYDVR0j
+BBgwFoAU+b5d0PkP+HLsJ07q4uMys8KojxcwDwYDVR0TAQH/BAUwAwEB/zANBgkq
+hkiG9w0BAQsFAAOCAgEAgC2TZgbOYO4mNPLdK/YU7JUcPhzuyLsC9ub4w7HL2brB
+VKCLf4i+3yvNdaXDR2VAhN1TluMjILTJi1P4ognLCrvchBf0Fa0wSCUoR+fA88g8
+IBsbMiVdjSyfOwfyByR+45/Ma13uGjavC1ArPIGMX6qro40gsYoBYY36IhgxS23r
+LKjDeAo44pRCVX/r+2i0NZpwwckEK0Gx8v0CYAojGZ1l7SrNbGSYsX/lzB1KWkZA
+lVYNvbMG1V89UhxHxj1Ye7Yc21IMXuLe2Eu8WgV9WblndXO4vupVqr/iwMbtYx4f
+zy54fK8MsNYGbPlEK9ZLHFgs3k6jT+qLSKA9/PiSk3ZhJTrgjsOsP5Hh2x3LDGEy
+WoLA8DuOgyr6k/arz1jeltZPSVjeJNTz9g8XECeHJyQE+fVd8ByJKdQj9qwKgxxl
+YIuccwru6dEIgcqlNCLl5NplTBHnwVwlEUaRtoAnsnEcDQB1Je/4XFCo2sSC1y8l
+P8o5zbnJVKdqJ1CmZLhoEjQxas7IWHydGhGVoA7/t0yW7HRHwvhLzxtNbGErPMR1
+ECQaA+2zImiBO4oJA/dXc54cDi+P/iLZSflxgHEp/5r2ujhOQ0Nbiu7L/Do7z5gC
+aA+Ch5W9ESkdQwMjbzkXFRiQdyUQkWw3oX2YsoO8l6k7xJu9moezdyPrBzEkGPo=
+-----END CERTIFICATE-----
diff --git a/key.pem b/key.pem
new file mode 100644
index 0000000..1efa249
--- /dev/null
+++ b/key.pem
@@ -0,0 +1,52 @@
+-----BEGIN PRIVATE KEY-----
+MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQCgArV1UD1SVwrN
+LyhMJWsMKxCPVLXwtjytrcce0Zp1lAH4tzuRZSOZftMQoINzy1IjxqWNmcID3vh9
+N3sZLUExytlDTQ8/eUhlzT1Ob9j476Xjm/xTI3enmH7+GJSkeRicqcCdJ11f36q+
+XOOQNrzz8JUqLiheNKbF7aBMpPGB5fBLQPFaSp7O0a9VEsVD8f7fZo+I2X0stpkU
++laqd4In5pBjt9PIluBU28hnewJX4NU5ByLcy8miKIiKJX3ZV0jFzgtwgSMp0sbh
+wKgorvZ0cJFD7hJFnaB4qE0HMckla82x0sQ/TQ/BSnuGD339zoeiLQdSclroiwNF
+O80QcVbfpOIiZq4egA9AR9B3jPCdXgOxwffFkTyuXWmMmROBCcVaAM/BA33FJFup
+ktvWSM2YXsy2m3b+/23t35/GwFB0ZkMQBHkHwqZgAlB4xAl6LFzvM0g/wObbtHeF
+UpXzZ+g5HO1Ou3THhSU9TzE6IVyg15F1uHQeBkGW6CBGyq9Vkggqh5rF6vwLgQhK
+FFDyFYDihu3Z8e5kvnD2XEoVv7fKyHCMSoY/T71FtSgclknQZmgkYnyjY2d2k/SP
+5yRy4/BdPoeQqkli7JoUu8jWoNXoYPTsrhAcj5FBrBx6QhhroxWF5vFWlKtmj65U
+kEI0O0Otqb/waxAw8+WdwjnhVWHmbwIDAQABAoICAA8x4qh2y7P3hxOQEFwWy5EW
+v9ZUnYhzzdRSZc/T6L6UpRFI2TPH7ncDl6iDDaif3LeABDWrrcRvVpqRe7Oa3A+N
+607cUP/elRTxxgoeTfTp0Q+Jvw7oFdNJBHo9vFPYGhG6fwuNcu0JUO4N5SBLSmtB
+4/Bi/LthdZrjI29T1IlY3BZRXvoLjwQl3mgORcRbhTASzbuZp6zo1CWtVjCO88G1
+P+3wRYDNbxUv39qP0FunAqiNOG7OPWIURk8UG1zZ0JPUKrru0HeGyBMlF/LxFn9d
+NzZDs+F/g/8hQFtYC3ltwNVLpg46062v1IYZD4ZcJ/4rF4BpUp+1n8Rh1uniUXT5
+5e/LN7qsD3RjnuD02wcXAXXMH003bl1oF/Td0VvcxNH2M6CvGiu5d0XFM3m33T0G
+QbJjpDYhUEhFvbnfuaUfhBPP8Zp3omnRbq64rPC75Oa3fFTMoJQxOER0XsTmT/QG
+Yopu9u7vyR27QtqIZYSiMywLGF/O3eOPIbMFlb5xuxzsgJlRosNzGR+7jsKayrBO
+dSpdA2tEBS3CBZK6gFNFcYLxiTJAXhC3mUlHF14V3aP3eEOiCxs0kfls/onA7pG3
+yDsuGas45hDzgFDvyg0qUJ0K6WYqvZHq3qWxf3A0Ei9sIaRMKa5YPvV6BJh4SDdB
+Q1vfxytVWVmDekCODR2RAoIBAQDaqumrMYvF+S2IoHk87DnqLD21xt4rVU1xiM0K
+yOtH7abiqLSp7+1qbk1EQKwGv/4+8lP6FUKgmg5nG5HGJzSFfFqgMAVYx+KkDgBp
+2yJu0hrRlxrvhkXVipKFGWoH/lZIyVOPsOuRFhlI5va1vxEPpkc40eTz4jOrbTC4
+BI3+6sNCwh6hmwCl/4+3iQtFc5jwwJts0sgmZKryFfIIj3kqLsEZTOctfrceFuFx
+ERWtIwKj0s9MNRxXCGdxXfUcJ+FrwLtln0J79Oa+55bTQMjkDZe7hUgpo/BD/hk+
+uyMJOGHd+0OwAqFGI3GZr2MG7oE7TWk3GLdrdp+4yuvX1s3/AoIBAQC7VCGWgX5F
+bH+q6vI1nAhhKh76b/16SFbN1bnTrQMg2wWnMCoKFp8pLOIJPk61rwnjBth3cOx/
+JG5e6QsQMBWGBoPdczeMpzT/oUIPiTZd26y7kZT+PUdqSmYOPk9KHlGMcMlbYjXN
+bofc4oKiOCS9f8UKHbZgub4PoE1TR0DxWfeqoekx40/C7SI9aopXJVOThlQBXQEB
+aoWnJrgqnpw0UwNb/39aUW8oG2q47eYMmVyFdN0bYe9NRBqETBsz+VMbPK9Jm13k
+XXKJGJkfQWANycMVcn7VNNgf18Tm72J+qHKmgN09zGSKyi7rN6nyWHE1gz5eb6o2
++trfwNsxaseRAoIBAQC2LrOkSBFWDjbboCeilIXkDpwTeO7dV6LANuPuWlt8gAoM
+ydZLx3Qcum1xshghP5DKTQeeUlxChlf9m8CmQT/G/0ZaM+gggdjYKjo597MGddKW
+ULjGWy6PrXZJolTu9/5XgjU2gIajSLAkRxnBbsD+MuEf+/AvKYU3DDANAO51No8c
+bbMrnYK6yuOoXGuhn6AK5c4YqrzLEBBExffzHeYrOOz08VeiVfKnBRUrKLrQl1y5
+tQe1TIKiGIRmtYtju+5Z4ie/kSLJN8+Puk+1DkLRjmmeeHsZBldFrszFsRCNvAX9
+9jv8xxQq5ZjeHHv66HePOv2wQ819oUWNprM8DuFtAoIBAElQbujJe1LOWNTaqLqk
+e38TjhYzmD+wahCa0eRvNOc58Ody6TETk2z4/OnjMcjXXYY1mqh8UIKeDngkusi2
+GOZgTGFyA06P7iURxpnv+JAZNmweWPJ7pySJQ5HVfxCh9waA6b1THX1uAcxH9hpo
+4LAtfj8sS8FlUGYrNbgfDeKndE+amHqG3SOLzTe+J7Bdkm0NSHlUHd2hA/fcJn2/
+n6C20HzD7OK7Nka7HDSOHtfVealdiF98H7zcp4gZhRf9PzJMuMmU/dUvYXEYaG0c
+F+ythyUwr0TgLqmft5cuHx007dIOYwgZo0vSPzSdj2yigoQP/mvVRgfIe7rQbrjT
+cpECggEBAMgKQS2cjNkEaPAA9mj52EPpO5A4e69imD1RfTMpYGOJsF5+oRG4jLiC
+CkfOGo82FSYc+o+ze8/ER60xVnsKAKJfYTcrn3qMhS0mcRCaVJ6nBkTQwwTBZF2A
+9h8tIkIWhGwz1vAISNzoQTUtCl4cbZeFobfYMVcJdr3KzXHw54HHPXYJc8Gc2+Ty
+zvpjTdeXhnzsigJmyurn119tR13iBj1T+ZTIEY8Aun4N08uyu/P9LUtdEkbS2z3z
+X3M7Bsna0zM6Tl6wNLjVjQ2eaPdPQBZr/oadVZGkF/pD5Zu3WTMvYF4ETyA8evSR
+EPmju7tZZ4jK6tFhrXacBTGOFfdVbZw=
+-----END PRIVATE KEY-----
diff --git a/model/CNN MobileNetV2-epochs10kesegaran-99.66.h5 b/model/CNN MobileNetV2-epochs10kesegaran-99.66.h5
new file mode 100644
index 0000000..ff8d67a
Binary files /dev/null and b/model/CNN MobileNetV2-epochs10kesegaran-99.66.h5 differ
diff --git a/model/CNN MobileNetV2-epochs10new-100.0.h5 b/model/CNN MobileNetV2-epochs10new-100.0.h5
new file mode 100644
index 0000000..bb7dbf6
Binary files /dev/null and b/model/CNN MobileNetV2-epochs10new-100.0.h5 differ
diff --git a/model/CNN MobileNetV2-epochs5newgen-99.41.h5 b/model/CNN MobileNetV2-epochs5newgen-99.41.h5
new file mode 100644
index 0000000..63294e4
Binary files /dev/null and b/model/CNN MobileNetV2-epochs5newgen-99.41.h5 differ
diff --git a/model/tomato_classifier.xml b/model/tomato_classifier.xml
new file mode 100644
index 0000000..c052340
--- /dev/null
+++ b/model/tomato_classifier.xml
@@ -0,0 +1,2689 @@
+
+
+
+ BOOST
+ HAAR
+ 24
+ 24
+
+ GAB
+ 9.9900001287460327e-01
+ 4.0000000596046448e-01
+ 9.4999999999999996e-01
+ 1
+ 100
+
+ 0
+ 1
+ BASIC
+ 14
+
+
+ <_>
+ 5
+ -1.0598268508911133e+00
+
+ <_>
+
+ 0 -1 93 6.3974158838391304e-03
+
+ -7.9347825050354004e-01 8.6301368474960327e-01
+ <_>
+
+ 0 -1 156 -1.7986114835366607e-04
+
+ 6.2237858772277832e-01 -7.8459793329238892e-01
+ <_>
+
+ 0 -1 53 2.5509158149361610e-02
+
+ -5.3881770372390747e-01 8.7420386075973511e-01
+ <_>
+
+ 0 -1 30 -7.7267020940780640e-01
+
+ -9.9218326807022095e-01 5.1083892583847046e-01
+ <_>
+
+ 0 -1 0 -2.5649776216596365e-04
+
+ 5.4622817039489746e-01 -1.
+
+ <_>
+ 8
+ -1.3518035411834717e+00
+
+ <_>
+
+ 0 -1 197 4.9783745780587196e-03
+
+ -7.5044882297515869e-01 6.3235294818878174e-01
+ <_>
+
+ 0 -1 140 -1.9561337830964476e-04
+
+ 4.1674700379371643e-01 -6.5786147117614746e-01
+ <_>
+
+ 0 -1 109 -2.0335553563199937e-04
+
+ 3.8367107510566711e-01 -6.2924414873123169e-01
+ <_>
+
+ 0 -1 76 -5.4478389210999012e-04
+
+ 4.8753556609153748e-01 -4.3947711586952209e-01
+ <_>
+
+ 0 -1 24 -3.3164578676223755e-01
+
+ 2.4427551031112671e-01 -8.3525586128234863e-01
+ <_>
+
+ 0 -1 188 1.8223994993604720e-04
+
+ -3.3466309309005737e-01 5.9176856279373169e-01
+ <_>
+
+ 0 -1 113 -1.5829990152269602e-03
+
+ 6.9834184646606445e-01 -3.0073723196983337e-01
+ <_>
+
+ 0 -1 173 -1.8313252367079258e-03
+
+ 6.8930208683013916e-01 -2.7047535777091980e-01
+
+ <_>
+ 9
+ -1.8680168390274048e+00
+
+ <_>
+
+ 0 -1 195 2.0063754171133041e-02
+
+ -7.0216453075408936e-01 6.4210528135299683e-01
+ <_>
+
+ 0 -1 7 4.4641569256782532e-03
+
+ -4.0418303012847900e-01 6.8469220399856567e-01
+ <_>
+
+ 0 -1 12 -5.9132277965545654e-03
+
+ 6.8510925769805908e-01 -2.7504459023475647e-01
+ <_>
+
+ 0 -1 117 -9.9523235112428665e-03
+
+ 4.7589278221130371e-01 -4.4639599323272705e-01
+ <_>
+
+ 0 -1 64 2.6767868548631668e-02
+
+ -2.5764209032058716e-01 5.7081949710845947e-01
+ <_>
+
+ 0 -1 97 3.7198350764811039e-03
+
+ -1.8161067366600037e-01 7.5483864545822144e-01
+ <_>
+
+ 0 -1 135 -3.7021232856204733e-05
+
+ 3.3333343267440796e-01 -4.6313804388046265e-01
+ <_>
+
+ 0 -1 47 -4.1358903981745243e-03
+
+ -8.2776916027069092e-01 1.9585053622722626e-01
+ <_>
+
+ 0 -1 182 -1.4477524906396866e-02
+
+ 5.1876300573348999e-01 -2.9384234547615051e-01
+
+ <_>
+ 12
+ -1.9668887853622437e+00
+
+ <_>
+
+ 0 -1 82 -1.3254590332508087e-02
+
+ 6.8000000715255737e-01 -7.1130436658859253e-01
+ <_>
+
+ 0 -1 115 -9.6908614039421082e-02
+
+ -8.5800373554229736e-01 9.4327136874198914e-02
+ <_>
+
+ 0 -1 94 6.9256639108061790e-03
+
+ -3.0149972438812256e-01 5.5897116661071777e-01
+ <_>
+
+ 0 -1 137 3.1247087754309177e-03
+
+ -1.9692343473434448e-01 7.3242652416229248e-01
+ <_>
+
+ 0 -1 16 2.7262321673333645e-03
+
+ -1.9832551479339600e-01 6.6042912006378174e-01
+ <_>
+
+ 0 -1 50 1.8181549385190010e-03
+
+ -1.0735511779785156e-01 7.5266635417938232e-01
+ <_>
+
+ 0 -1 192 -2.6606924366205931e-03
+
+ 5.7344865798950195e-01 -2.1617864072322845e-01
+ <_>
+
+ 0 -1 43 -1.0595647990703583e-01
+
+ -1.7929221689701080e-01 5.8193337917327881e-01
+ <_>
+
+ 0 -1 1 1.2352833524346352e-02
+
+ -2.6469084620475769e-01 6.1921358108520508e-01
+ <_>
+
+ 0 -1 92 -8.3960937336087227e-03
+
+ 8.7886697053909302e-01 -9.8691299557685852e-02
+ <_>
+
+ 0 -1 65 -2.0129746198654175e-01
+
+ 4.0331792831420898e-01 -3.4674587845802307e-01
+ <_>
+
+ 0 -1 35 -1.0981890372931957e-03
+
+ 5.8642709255218506e-01 -2.5506359338760376e-01
+
+ <_>
+ 16
+ -1.5752023458480835e+00
+
+ <_>
+
+ 0 -1 74 2.0468980073928833e-02
+
+ -7.1555554866790771e-01 4.3999999761581421e-01
+ <_>
+
+ 0 -1 183 8.2849286263808608e-04
+
+ -3.0850130319595337e-01 5.9982472658157349e-01
+ <_>
+
+ 0 -1 10 5.7070553302764893e-03
+
+ -2.0648923516273499e-01 6.6448396444320679e-01
+ <_>
+
+ 0 -1 201 1.4791111461818218e-03
+
+ -1.3015501201152802e-01 6.5213561058044434e-01
+ <_>
+
+ 0 -1 193 -8.7306480854749680e-03
+
+ 6.4041638374328613e-01 -2.0259933173656464e-01
+ <_>
+
+ 0 -1 164 -5.8051734231412411e-04
+
+ 5.4560053348541260e-01 -1.7930766940116882e-01
+ <_>
+
+ 0 -1 159 -3.4578977647470310e-05
+
+ 2.2767010331153870e-01 -4.9291035532951355e-01
+ <_>
+
+ 0 -1 102 -1.9502053037285805e-03
+
+ -6.3924151659011841e-01 2.0408214628696442e-01
+ <_>
+
+ 0 -1 27 8.4672041703015566e-04
+
+ -2.1347069740295410e-01 5.6992250680923462e-01
+ <_>
+
+ 0 -1 26 -8.6396868573501706e-04
+
+ 4.8921489715576172e-01 -2.5807002186775208e-01
+ <_>
+
+ 0 -1 101 -4.3156200263183564e-05
+
+ 2.9736325144767761e-01 -4.2133620381355286e-01
+ <_>
+
+ 0 -1 73 1.6094546299427748e-03
+
+ 1.2419487535953522e-01 -7.6580291986465454e-01
+ <_>
+
+ 0 -1 169 1.0821870528161526e-03
+
+ -3.2538422942161560e-01 3.3886820077896118e-01
+ <_>
+
+ 0 -1 38 -4.9580976366996765e-02
+
+ -5.7179498672485352e-01 2.0224615931510925e-01
+ <_>
+
+ 0 -1 52 -3.1487867236137390e-02
+
+ 7.6760864257812500e-01 -1.5663687884807587e-01
+ <_>
+
+ 0 -1 118 2.5548508856445551e-03
+
+ 1.4661426842212677e-01 -8.3414208889007568e-01
+
+ <_>
+ 15
+ -1.8041814565658569e+00
+
+ <_>
+
+ 0 -1 80 -7.0238849148154259e-03
+
+ 4.6296295523643494e-01 -7.0052540302276611e-01
+ <_>
+
+ 0 -1 178 -1.9309797789901495e-03
+
+ 5.5827915668487549e-01 -2.9973280429840088e-01
+ <_>
+
+ 0 -1 83 1.0862007737159729e-02
+
+ -2.2292983531951904e-01 5.7251280546188354e-01
+ <_>
+
+ 0 -1 172 -9.6978776156902313e-02
+
+ -7.5242245197296143e-01 1.6543816030025482e-01
+ <_>
+
+ 0 -1 6 5.8374525979161263e-03
+
+ -1.3670139014720917e-01 7.1169447898864746e-01
+ <_>
+
+ 0 -1 98 5.3701079450547695e-03
+
+ -2.0536106824874878e-01 5.7397550344467163e-01
+ <_>
+
+ 0 -1 90 -2.3936000652611256e-03
+
+ 6.4870285987854004e-01 -2.1307837963104248e-01
+ <_>
+
+ 0 -1 139 2.1040001884102821e-03
+
+ -2.0571845769882202e-01 5.1046818494796753e-01
+ <_>
+
+ 0 -1 196 -4.0057133883237839e-03
+
+ 6.9900703430175781e-01 -1.5375715494155884e-01
+ <_>
+
+ 0 -1 58 1.3705750461667776e-04
+
+ 1.7537170648574829e-01 -6.2824374437332153e-01
+ <_>
+
+ 0 -1 44 5.8879307471215725e-04
+
+ 2.0275563001632690e-01 -5.4979228973388672e-01
+ <_>
+
+ 0 -1 31 1.3705418445169926e-02
+
+ -1.6353903710842133e-01 7.1185743808746338e-01
+ <_>
+
+ 0 -1 133 -1.9136129412800074e-04
+
+ -4.1099548339843750e-01 2.4878852069377899e-01
+ <_>
+
+ 0 -1 32 -1.4022039249539375e-02
+
+ 4.8589426279067993e-01 -2.0431892573833466e-01
+ <_>
+
+ 0 -1 13 -1.0536734480410814e-03
+
+ 5.7817524671554565e-01 -1.6265411674976349e-01
+
+ <_>
+ 16
+ -1.7411637306213379e+00
+
+ <_>
+
+ 0 -1 165 2.9674336314201355e-02
+
+ -6.9310343265533447e-01 6.0000002384185791e-01
+ <_>
+
+ 0 -1 105 -3.0049484223127365e-02
+
+ 2.0353905856609344e-01 -4.5840129256248474e-01
+ <_>
+
+ 0 -1 103 -2.4616834707558155e-04
+
+ -6.7990714311599731e-01 1.3162218034267426e-01
+ <_>
+
+ 0 -1 161 3.5106251016259193e-03
+
+ -1.3449537754058838e-01 6.1936920881271362e-01
+ <_>
+
+ 0 -1 72 -3.2896804623305798e-04
+
+ -7.4744147062301636e-01 1.3933072984218597e-01
+ <_>
+
+ 0 -1 144 -1.5110280364751816e-03
+
+ 5.8535629510879517e-01 -1.7041978240013123e-01
+ <_>
+
+ 0 -1 70 6.3875812338665128e-04
+
+ 1.9317094981670380e-01 -6.1391317844390869e-01
+ <_>
+
+ 0 -1 121 -1.5766736119985580e-02
+
+ 4.3706774711608887e-01 -2.0944073796272278e-01
+ <_>
+
+ 0 -1 21 -1.3639741577208042e-02
+
+ 6.8090695142745972e-01 -1.2076047807931900e-01
+ <_>
+
+ 0 -1 33 1.5954223927110434e-03
+
+ -2.5089821219444275e-01 4.8584073781967163e-01
+ <_>
+
+ 0 -1 167 -1.4887601719237864e-04
+
+ 2.2792269289493561e-01 -3.8891956210136414e-01
+ <_>
+
+ 0 -1 151 2.9314737766981125e-02
+
+ -2.0310249924659729e-01 4.1878342628479004e-01
+ <_>
+
+ 0 -1 168 -4.4798152521252632e-03
+
+ 5.0474834442138672e-01 -1.8823893368244171e-01
+ <_>
+
+ 0 -1 41 4.8746576067060232e-04
+
+ 1.1040589213371277e-01 -8.3184993267059326e-01
+ <_>
+
+ 0 -1 15 -1.8696903716772795e-03
+
+ -7.2012782096862793e-01 9.3941099941730499e-02
+ <_>
+
+ 0 -1 1 1.5180515125393867e-02
+
+ -1.8260955810546875e-01 5.4511731863021851e-01
+
+ <_>
+ 14
+ -1.5817297697067261e+00
+
+ <_>
+
+ 0 -1 179 -3.5859037190675735e-02
+
+ 5.5102038383483887e-01 -6.9791668653488159e-01
+ <_>
+
+ 0 -1 106 -1.5838606283068657e-02
+
+ -7.3693650960922241e-01 8.3034954965114594e-02
+ <_>
+
+ 0 -1 56 -7.7713176608085632e-02
+
+ 4.8292347788810730e-01 -2.1988594532012939e-01
+ <_>
+
+ 0 -1 59 1.8175625882577151e-05
+
+ -3.8123923540115356e-01 2.4533081054687500e-01
+ <_>
+
+ 0 -1 2 9.4315661117434502e-03
+
+ -1.7849929630756378e-01 4.3593320250511169e-01
+ <_>
+
+ 0 -1 34 9.8988413810729980e-03
+
+ -1.4341324567794800e-01 6.1564743518829346e-01
+ <_>
+
+ 0 -1 42 1.3446996454149485e-03
+
+ 1.0816907137632370e-01 -8.4271442890167236e-01
+ <_>
+
+ 0 -1 110 5.9202280826866627e-03
+
+ -3.2291814684867859e-01 2.6434558629989624e-01
+ <_>
+
+ 0 -1 79 -1.1114287190139294e-03
+
+ 4.5482006669044495e-01 -1.8617470562458038e-01
+ <_>
+
+ 0 -1 123 -2.2326451726257801e-03
+
+ 2.5308236479759216e-01 -3.3205306529998779e-01
+ <_>
+
+ 0 -1 45 -6.1708257999271154e-04
+
+ -7.4000579118728638e-01 1.2218055874109268e-01
+ <_>
+
+ 0 -1 3 7.6554138213396072e-03
+
+ -2.1627412736415863e-01 4.2356365919113159e-01
+ <_>
+
+ 0 -1 57 -4.0928833186626434e-03
+
+ -2.0417644083499908e-01 5.4047822952270508e-01
+ <_>
+
+ 0 -1 170 -1.0295391548424959e-03
+
+ 3.4728658199310303e-01 -2.5356608629226685e-01
+
+ <_>
+ 12
+ -1.6208729743957520e+00
+
+ <_>
+
+ 0 -1 147 -2.3791594430804253e-02
+
+ 6.0000002384185791e-01 -6.8205130100250244e-01
+ <_>
+
+ 0 -1 71 -1.9332624506205320e-03
+
+ 1.5950426459312439e-01 -5.7163208723068237e-01
+ <_>
+
+ 0 -1 141 1.8097884021699429e-03
+
+ 1.2333754450082779e-01 -7.9474043846130371e-01
+ <_>
+
+ 0 -1 89 1.2667368864640594e-03
+
+ 9.9324025213718414e-02 -9.8902136087417603e-01
+ <_>
+
+ 0 -1 90 4.6673719771206379e-03
+
+ -2.0336109399795532e-01 5.0476443767547607e-01
+ <_>
+
+ 0 -1 127 2.7690962888300419e-03
+
+ -2.5880119204521179e-01 4.5048126578330994e-01
+ <_>
+
+ 0 -1 122 -5.6354142725467682e-03
+
+ -8.2470840215682983e-01 1.4847569167613983e-01
+ <_>
+
+ 0 -1 111 2.0276866853237152e-03
+
+ 1.0920821130275726e-01 -7.0365118980407715e-01
+ <_>
+
+ 0 -1 119 -9.0227718465030193e-04
+
+ -7.6565343141555786e-01 1.2456116080284119e-01
+ <_>
+
+ 0 -1 85 -4.2224678397178650e-01
+
+ 1.1966525763273239e-01 -7.2125703096389771e-01
+ <_>
+
+ 0 -1 149 -2.8204470872879028e-03
+
+ -8.4743422269821167e-01 8.1034734845161438e-02
+ <_>
+
+ 0 -1 84 -4.9251858144998550e-03
+
+ -6.0054230690002441e-01 1.3028827309608459e-01
+
+ <_>
+ 17
+ -1.5535212755203247e+00
+
+ <_>
+
+ 0 -1 194 5.9156599454581738e-03
+
+ -7.0714282989501953e-01 3.2307693362236023e-01
+ <_>
+
+ 0 -1 51 2.8134048916399479e-03
+
+ -3.4259495139122009e-01 3.6358290910720825e-01
+ <_>
+
+ 0 -1 29 1.8864520825445652e-03
+
+ -2.1137918531894684e-01 4.6073621511459351e-01
+ <_>
+
+ 0 -1 17 -7.1073404978960752e-04
+
+ 4.6905022859573364e-01 -1.7933738231658936e-01
+ <_>
+
+ 0 -1 126 -3.4468510420992970e-05
+
+ 2.2158823907375336e-01 -4.5275855064392090e-01
+ <_>
+
+ 0 -1 107 1.2903704773634672e-03
+
+ -1.8411105871200562e-01 4.1727778315544128e-01
+ <_>
+
+ 0 -1 163 1.8192101269960403e-03
+
+ -2.9315307736396790e-01 3.3266869187355042e-01
+ <_>
+
+ 0 -1 130 -2.0027451682835817e-03
+
+ -7.6434308290481567e-01 1.1959962546825409e-01
+ <_>
+
+ 0 -1 125 5.8189127594232559e-04
+
+ 1.0355526953935623e-01 -6.2068319320678711e-01
+ <_>
+
+ 0 -1 18 -2.5282750721089542e-04
+
+ 3.8922321796417236e-01 -2.2325353324413300e-01
+ <_>
+
+ 0 -1 20 6.5809197258204222e-04
+
+ -1.6434612870216370e-01 4.8495137691497803e-01
+ <_>
+
+ 0 -1 37 -8.7616103701293468e-04
+
+ 5.6121635437011719e-01 -1.3476663827896118e-01
+ <_>
+
+ 0 -1 175 1.3376235729083419e-03
+
+ 1.0941879451274872e-01 -7.9700249433517456e-01
+ <_>
+
+ 0 -1 67 3.3253598958253860e-03
+
+ -1.8542961776256561e-01 4.6045705676078796e-01
+ <_>
+
+ 0 -1 184 -2.7729733847081661e-03
+
+ 6.0431009531021118e-01 -1.4104470610618591e-01
+ <_>
+
+ 0 -1 190 2.1854664373677224e-04
+
+ 1.5144667029380798e-01 -5.5970782041549683e-01
+ <_>
+
+ 0 -1 160 -2.1206322126090527e-03
+
+ 5.3107118606567383e-01 -1.6468608379364014e-01
+
+ <_>
+ 20
+ -1.4875119924545288e+00
+
+ <_>
+
+ 0 -1 114 -9.3501377850770950e-03
+
+ 3.2727271318435669e-01 -6.8947368860244751e-01
+ <_>
+
+ 0 -1 190 -9.6873473376035690e-04
+
+ -6.6675865650177002e-01 2.5261188857257366e-03
+ <_>
+
+ 0 -1 112 -4.4630738557316363e-04
+
+ -7.4369966983795166e-01 8.3142973482608795e-02
+ <_>
+
+ 0 -1 177 5.6710755452513695e-03
+
+ -1.2375508248806000e-01 6.1231660842895508e-01
+ <_>
+
+ 0 -1 180 -1.8512526527047157e-02
+
+ 4.3009281158447266e-01 -1.9518370926380157e-01
+ <_>
+
+ 0 -1 61 -4.2646778747439384e-03
+
+ 3.1045347452163696e-01 -2.3117899894714355e-01
+ <_>
+
+ 0 -1 166 -2.6259123114868999e-04
+
+ 2.4149633944034576e-01 -3.4159618616104126e-01
+ <_>
+
+ 0 -1 134 -3.8649644702672958e-03
+
+ -6.6594743728637695e-01 1.1983088403940201e-01
+ <_>
+
+ 0 -1 187 6.4865010790526867e-04
+
+ -1.6000953316688538e-01 4.1350230574607849e-01
+ <_>
+
+ 0 -1 23 -2.8735138475894928e-02
+
+ 4.3879640102386475e-01 -1.6368734836578369e-01
+ <_>
+
+ 0 -1 60 -2.0414516329765320e-03
+
+ -8.1119674444198608e-01 9.0748816728591919e-02
+ <_>
+
+ 0 -1 136 2.9563647694885731e-04
+
+ -1.9902709126472473e-01 3.6927008628845215e-01
+ <_>
+
+ 0 -1 88 7.8609678894281387e-04
+
+ 7.5100630521774292e-02 -8.7606590986251831e-01
+ <_>
+
+ 0 -1 96 -2.2747905459254980e-03
+
+ 3.7085020542144775e-01 -1.8357053399085999e-01
+ <_>
+
+ 0 -1 187 -1.4223495963960886e-03
+
+ 5.7845723628997803e-01 -1.2233733385801315e-01
+ <_>
+
+ 0 -1 95 -1.2385027110576630e-01
+
+ 6.6920638084411621e-01 -8.8843062520027161e-02
+ <_>
+
+ 0 -1 129 -5.3676258539780974e-04
+
+ 2.4112111330032349e-01 -3.0648946762084961e-01
+ <_>
+
+ 0 -1 63 -3.7546919193118811e-03
+
+ 5.1108187437057495e-01 -1.3913317024707794e-01
+ <_>
+
+ 0 -1 36 1.5942661557346582e-03
+
+ -1.5403926372528076e-01 4.1273397207260132e-01
+ <_>
+
+ 0 -1 25 -5.3900987841188908e-03
+
+ 3.3606275916099548e-01 -2.5050988793373108e-01
+
+ <_>
+ 19
+ -1.3267387151718140e+00
+
+ <_>
+
+ 0 -1 148 1.5120977535843849e-02
+
+ -6.8476355075836182e-01 2.9629629850387573e-01
+ <_>
+
+ 0 -1 158 -1.7649805522523820e-04
+
+ 5.7045519351959229e-02 -5.0628417730331421e-01
+ <_>
+
+ 0 -1 8 -2.6130601763725281e-02
+
+ 8.0993115901947021e-01 -9.2614986002445221e-02
+ <_>
+
+ 0 -1 40 -1.0445246100425720e-01
+
+ 4.5914748311042786e-01 -1.3693013787269592e-01
+ <_>
+
+ 0 -1 100 -3.9934337139129639e-02
+
+ 4.8825702071189880e-01 -1.4144806563854218e-01
+ <_>
+
+ 0 -1 152 2.3203073069453239e-03
+
+ -1.5831814706325531e-01 3.5638540983200073e-01
+ <_>
+
+ 0 -1 143 -6.7897036205977201e-04
+
+ 4.5109450817108154e-01 -1.4811104536056519e-01
+ <_>
+
+ 0 -1 28 -5.8865133905783296e-04
+
+ -6.2032908201217651e-01 1.4824171364307404e-01
+ <_>
+
+ 0 -1 153 -5.8650365099310875e-04
+
+ 3.8303762674331665e-01 -1.8964144587516785e-01
+ <_>
+
+ 0 -1 189 -1.2203099904581904e-03
+
+ -6.6491907835006714e-01 1.2237460911273956e-01
+ <_>
+
+ 0 -1 176 -1.2232332956045866e-03
+
+ -6.9133037328720093e-01 6.5745726227760315e-02
+ <_>
+
+ 0 -1 86 2.8828569338656962e-04
+
+ 1.0351332277059555e-01 -6.1002194881439209e-01
+ <_>
+
+ 0 -1 9 -5.6301604490727186e-04
+
+ 4.2116749286651611e-01 -1.7370279133319855e-01
+ <_>
+
+ 0 -1 87 4.0612678276374936e-04
+
+ -2.1549633145332336e-01 3.0576214194297791e-01
+ <_>
+
+ 0 -1 108 -9.1048218309879303e-03
+
+ 3.3037775754928589e-01 -2.2917945683002472e-01
+ <_>
+
+ 0 -1 131 -8.9691102039068937e-04
+
+ 3.5395362973213196e-01 -1.8705031275749207e-01
+ <_>
+
+ 0 -1 77 -2.1763547556474805e-04
+
+ -4.9827361106872559e-01 1.2725095450878143e-01
+ <_>
+
+ 0 -1 4 1.4839143841527402e-04
+
+ 2.0854035019874573e-01 -2.7698844671249390e-01
+ <_>
+
+ 0 -1 155 -5.6979311921168119e-05
+
+ 2.1280145645141602e-01 -3.0112728476524353e-01
+
+ <_>
+ 23
+ -1.4689903259277344e+00
+
+ <_>
+
+ 0 -1 200 -2.9980393592268229e-03
+
+ -4.7619048506021500e-02 -7.2522079944610596e-01
+ <_>
+
+ 0 -1 49 8.0140377394855022e-04
+
+ -2.7349799871444702e-01 3.9106845855712891e-01
+ <_>
+
+ 0 -1 157 -1.6354606486856937e-04
+
+ 1.6829317808151245e-01 -3.9847749471664429e-01
+ <_>
+
+ 0 -1 49 -7.2271062526851892e-04
+
+ 4.8273399472236633e-01 -1.5221785008907318e-01
+ <_>
+
+ 0 -1 75 -9.7729973495006561e-03
+
+ 5.9050452709197998e-01 -1.1009192466735840e-01
+ <_>
+
+ 0 -1 194 -4.3727615848183632e-03
+
+ 4.8207929730415344e-01 -1.3895213603973389e-01
+ <_>
+
+ 0 -1 99 -2.0938746631145477e-02
+
+ -7.1920901536941528e-01 1.4623524248600006e-01
+ <_>
+
+ 0 -1 142 3.6857672967016697e-04
+
+ 6.5169326961040497e-02 -6.5539407730102539e-01
+ <_>
+
+ 0 -1 174 -2.5566974654793739e-03
+
+ -7.7422147989273071e-01 8.7902687489986420e-02
+ <_>
+
+ 0 -1 150 -1.6991250449791551e-03
+
+ 4.8328623175621033e-02 -8.9968734979629517e-01
+ <_>
+
+ 0 -1 162 -4.0731480112299323e-04
+
+ -3.3564025163650513e-01 1.9405926764011383e-01
+ <_>
+
+ 0 -1 124 2.9308174271136522e-04
+
+ 8.7193951010704041e-02 -6.7727470397949219e-01
+ <_>
+
+ 0 -1 144 -1.4637403655797243e-03
+
+ 4.8259687423706055e-01 -1.3944844901561737e-01
+ <_>
+
+ 0 -1 138 -2.6914877817034721e-03
+
+ 4.7683465480804443e-01 -1.6799855232238770e-01
+ <_>
+
+ 0 -1 46 4.8279107431881130e-04
+
+ 1.0849416255950928e-01 -6.1187058687210083e-01
+ <_>
+
+ 0 -1 128 -1.7352341674268246e-03
+
+ 2.4397887289524078e-01 -2.7676293253898621e-01
+ <_>
+
+ 0 -1 191 1.0218786075711250e-02
+
+ -1.4659097790718079e-01 4.2143100500106812e-01
+ <_>
+
+ 0 -1 5 2.3267942015081644e-03
+
+ -2.3536746203899384e-01 2.9641088843345642e-01
+ <_>
+
+ 0 -1 22 -4.0730815380811691e-03
+
+ 5.2147364616394043e-01 -1.3475845754146576e-01
+ <_>
+
+ 0 -1 146 -2.4946131743490696e-03
+
+ 4.1652169823646545e-01 -1.6857364773750305e-01
+ <_>
+
+ 0 -1 116 1.6768599161878228e-03
+
+ 9.6078328788280487e-02 -7.2781735658645630e-01
+ <_>
+
+ 0 -1 55 2.9639720916748047e-01
+
+ -9.8477728664875031e-02 7.5409716367721558e-01
+ <_>
+
+ 0 -1 132 -8.7333197006955743e-04
+
+ 3.4324267506599426e-01 -1.7001558840274811e-01
+
+ <_>
+ 25
+ -1.4651404619216919e+00
+
+ <_>
+
+ 0 -1 81 -2.2025607526302338e-02
+
+ 2.4210526049137115e-01 -6.6926407814025879e-01
+ <_>
+
+ 0 -1 62 5.2232155576348305e-04
+
+ -2.7196395397186279e-01 3.0665934085845947e-01
+ <_>
+
+ 0 -1 14 -6.4705507829785347e-03
+
+ -1. 5.5171351879835129e-02
+ <_>
+
+ 0 -1 199 -7.5660378206521273e-04
+
+ 4.8695829510688782e-01 -1.3191930949687958e-01
+ <_>
+
+ 0 -1 186 -6.1223853845149279e-04
+
+ 2.9740074276924133e-01 -2.3307214677333832e-01
+ <_>
+
+ 0 -1 112 2.4659343762323260e-04
+
+ 1.1934581398963928e-01 -4.7974175214767456e-01
+ <_>
+
+ 0 -1 69 5.2959728054702282e-04
+
+ -2.4250689148902893e-01 2.2791884839534760e-01
+ <_>
+
+ 0 -1 185 4.6741734258830547e-03
+
+ 1.1037635058164597e-01 -5.2269613742828369e-01
+ <_>
+
+ 0 -1 11 1.2670135125517845e-02
+
+ -1.3160738348960876e-01 4.7664791345596313e-01
+ <_>
+
+ 0 -1 19 1.1765072122216225e-03
+
+ -1.8008701503276825e-01 3.3509200811386108e-01
+ <_>
+
+ 0 -1 78 7.0660677738487720e-04
+
+ 7.8461520373821259e-02 -7.9082167148590088e-01
+ <_>
+
+ 0 -1 145 3.8667544140480459e-04
+
+ -1.8222546577453613e-01 3.0173763632774353e-01
+ <_>
+
+ 0 -1 48 -8.0784171819686890e-02
+
+ 4.3073612451553345e-01 -1.3189022243022919e-01
+ <_>
+
+ 0 -1 91 2.0910205785185099e-03
+
+ -2.5391769409179688e-01 2.7395603060722351e-01
+ <_>
+
+ 0 -1 154 -1.2462527956813574e-03
+
+ 3.0874782800674438e-01 -1.8933363258838654e-01
+ <_>
+
+ 0 -1 120 -1.8246303079649806e-04
+
+ -4.8454743623733521e-01 1.2327595055103302e-01
+ <_>
+
+ 0 -1 104 -7.8453926835209131e-04
+
+ -7.4296480417251587e-01 6.1993543058633804e-02
+ <_>
+
+ 0 -1 66 -8.4214529488235712e-04
+
+ 4.4385617971420288e-01 -1.4113025367259979e-01
+ <_>
+
+ 0 -1 39 -1.0110640432685614e-03
+
+ -8.7247473001480103e-01 6.9047711789608002e-02
+ <_>
+
+ 0 -1 198 6.1785156140103936e-04
+
+ -1.7649804055690765e-01 3.3240365982055664e-01
+ <_>
+
+ 0 -1 184 9.5400848658755422e-04
+
+ -1.8877421319484711e-01 3.0010125041007996e-01
+ <_>
+
+ 0 -1 171 7.1474525611847639e-04
+
+ -1.7243483662605286e-01 3.3026084303855896e-01
+ <_>
+
+ 0 -1 54 1.4768686378374696e-03
+
+ -1.5536749362945557e-01 3.9870518445968628e-01
+ <_>
+
+ 0 -1 181 -9.9370544776320457e-03
+
+ -6.7825162410736084e-01 9.3313768506050110e-02
+ <_>
+
+ 0 -1 68 1.5568366646766663e-01
+
+ -9.1032467782497406e-02 7.2477394342422485e-01
+
+ <_>
+
+ <_>
+ 0 0 3 1 -1.
+ <_>
+ 1 0 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 0 6 6 -1.
+ <_>
+ 0 0 3 3 2.
+ <_>
+ 3 3 3 3 2.
+ 0
+ <_>
+
+ <_>
+ 0 1 3 8 -1.
+ <_>
+ 0 5 3 4 2.
+ 0
+ <_>
+
+ <_>
+ 0 2 2 16 -1.
+ <_>
+ 1 2 1 16 2.
+ 0
+ <_>
+
+ <_>
+ 0 3 2 2 -1.
+ <_>
+ 1 3 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 0 4 2 7 -1.
+ <_>
+ 1 4 1 7 2.
+ 0
+ <_>
+
+ <_>
+ 0 5 2 4 -1.
+ <_>
+ 1 5 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 0 5 2 7 -1.
+ <_>
+ 1 5 1 7 2.
+ 0
+ <_>
+
+ <_>
+ 0 5 2 13 -1.
+ <_>
+ 1 5 1 13 2.
+ 0
+ <_>
+
+ <_>
+ 0 6 2 2 -1.
+ <_>
+ 0 6 1 1 2.
+ <_>
+ 1 7 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 6 2 4 -1.
+ <_>
+ 1 6 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 0 6 2 11 -1.
+ <_>
+ 1 6 1 11 2.
+ 0
+ <_>
+
+ <_>
+ 0 6 2 15 -1.
+ <_>
+ 1 6 1 15 2.
+ 0
+ <_>
+
+ <_>
+ 0 7 2 1 -1.
+ <_>
+ 1 7 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 9 2 4 -1.
+ <_>
+ 0 11 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 0 11 4 2 -1.
+ <_>
+ 0 12 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 13 2 5 -1.
+ <_>
+ 1 13 1 5 2.
+ 0
+ <_>
+
+ <_>
+ 0 15 2 1 -1.
+ <_>
+ 1 15 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 15 2 2 -1.
+ <_>
+ 0 15 1 1 2.
+ <_>
+ 1 16 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 15 2 6 -1.
+ <_>
+ 0 15 1 3 2.
+ <_>
+ 1 18 1 3 2.
+ 0
+ <_>
+
+ <_>
+ 0 16 2 1 -1.
+ <_>
+ 1 16 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 0 16 4 3 -1.
+ <_>
+ 2 16 2 3 2.
+ 0
+ <_>
+
+ <_>
+ 1 1 2 7 -1.
+ <_>
+ 2 1 1 7 2.
+ 0
+ <_>
+
+ <_>
+ 1 1 8 12 -1.
+ <_>
+ 1 1 4 6 2.
+ <_>
+ 5 7 4 6 2.
+ 0
+ <_>
+
+ <_>
+ 1 2 12 22 -1.
+ <_>
+ 5 2 4 22 2.
+ 0
+ <_>
+
+ <_>
+ 1 3 4 8 -1.
+ <_>
+ 1 3 2 4 2.
+ <_>
+ 3 7 2 4 2.
+ 0
+ <_>
+
+ <_>
+ 1 4 2 4 -1.
+ <_>
+ 1 4 1 2 2.
+ <_>
+ 2 6 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 1 5 2 2 -1.
+ <_>
+ 1 5 1 1 2.
+ <_>
+ 2 6 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 1 13 1 2 -1.
+ <_>
+ 1 14 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 1 13 2 6 -1.
+ <_>
+ 2 13 1 6 2.
+ 0
+ <_>
+
+ <_>
+ 1 14 21 10 -1.
+ <_>
+ 8 14 7 10 2.
+ 0
+ <_>
+
+ <_>
+ 1 15 2 6 -1.
+ <_>
+ 1 18 2 3 2.
+ 0
+ <_>
+
+ <_>
+ 1 16 11 4 -1.
+ <_>
+ 1 18 11 2 2.
+ 0
+ <_>
+
+ <_>
+ 1 17 4 2 -1.
+ <_>
+ 3 17 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 1 18 4 6 -1.
+ <_>
+ 1 18 2 3 2.
+ <_>
+ 3 21 2 3 2.
+ 0
+ <_>
+
+ <_>
+ 2 1 2 4 -1.
+ <_>
+ 2 1 1 2 2.
+ <_>
+ 3 3 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 2 2 2 8 -1.
+ <_>
+ 2 2 1 4 2.
+ <_>
+ 3 6 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 2 3 1 2 -1.
+ <_>
+ 2 4 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 3 2 9 -1.
+ <_>
+ 2 6 2 3 2.
+ 0
+ <_>
+
+ <_>
+ 2 7 1 2 -1.
+ <_>
+ 2 8 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 8 6 16 -1.
+ <_>
+ 2 16 6 8 2.
+ 0
+ <_>
+
+ <_>
+ 2 11 1 2 -1.
+ <_>
+ 2 12 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 11 4 2 -1.
+ <_>
+ 2 11 2 1 2.
+ <_>
+ 4 12 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 12 12 6 -1.
+ <_>
+ 6 12 4 6 2.
+ 0
+ <_>
+
+ <_>
+ 2 13 6 2 -1.
+ <_>
+ 2 13 3 1 2.
+ <_>
+ 5 14 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 14 1 2 -1.
+ <_>
+ 2 15 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 14 2 2 -1.
+ <_>
+ 2 15 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 14 16 2 -1.
+ <_>
+ 2 14 8 1 2.
+ <_>
+ 10 15 8 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 16 19 8 -1.
+ <_>
+ 2 20 19 4 2.
+ 0
+ <_>
+
+ <_>
+ 2 19 2 2 -1.
+ <_>
+ 2 19 1 1 2.
+ <_>
+ 3 20 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 19 2 2 -1.
+ <_>
+ 2 20 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 2 22 8 2 -1.
+ <_>
+ 2 22 4 1 2.
+ <_>
+ 6 23 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 3 0 5 6 -1.
+ <_>
+ 3 3 5 3 2.
+ 0
+ <_>
+
+ <_>
+ 3 0 17 6 -1.
+ <_>
+ 3 3 17 3 2.
+ 0
+ <_>
+
+ <_>
+ 3 1 4 2 -1.
+ <_>
+ 3 1 2 1 2.
+ <_>
+ 5 2 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 3 2 20 14 -1.
+ <_>
+ 13 2 10 14 2.
+ 0
+ <_>
+
+ <_>
+ 3 7 16 8 -1.
+ <_>
+ 3 11 16 4 2.
+ 0
+ <_>
+
+ <_>
+ 3 9 1 3 -1.
+ <_>
+ 3 10 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 3 13 1 2 -1.
+ <_>
+ 3 14 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 3 13 2 3 -1.
+ <_>
+ 4 13 1 3 2.
+ 0
+ <_>
+
+ <_>
+ 3 17 3 2 -1.
+ <_>
+ 3 18 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 3 18 6 6 -1.
+ <_>
+ 3 18 3 3 2.
+ <_>
+ 6 21 3 3 2.
+ 0
+ <_>
+
+ <_>
+ 3 20 2 2 -1.
+ <_>
+ 3 20 1 1 2.
+ <_>
+ 4 21 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 4 0 6 2 -1.
+ <_>
+ 4 0 3 1 2.
+ <_>
+ 7 1 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 4 0 17 4 -1.
+ <_>
+ 4 2 17 2 2.
+ 0
+ <_>
+
+ <_>
+ 4 0 19 22 -1.
+ <_>
+ 4 11 19 11 2.
+ 0
+ <_>
+
+ <_>
+ 4 1 2 2 -1.
+ <_>
+ 4 1 1 1 2.
+ <_>
+ 5 2 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 4 1 4 2 -1.
+ <_>
+ 4 2 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 4 6 16 8 -1.
+ <_>
+ 12 6 8 8 2.
+ 0
+ <_>
+
+ <_>
+ 4 9 4 2 -1.
+ <_>
+ 6 9 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 4 15 2 4 -1.
+ <_>
+ 4 15 1 2 2.
+ <_>
+ 5 17 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 4 15 8 4 -1.
+ <_>
+ 4 17 8 2 2.
+ 0
+ <_>
+
+ <_>
+ 4 16 2 2 -1.
+ <_>
+ 4 16 1 1 2.
+ <_>
+ 5 17 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 4 18 10 2 -1.
+ <_>
+ 4 18 5 1 2.
+ <_>
+ 9 19 5 1 2.
+ 0
+ <_>
+
+ <_>
+ 4 22 19 2 -1.
+ <_>
+ 4 23 19 1 2.
+ 0
+ <_>
+
+ <_>
+ 5 0 8 2 -1.
+ <_>
+ 5 1 8 1 2.
+ 0
+ <_>
+
+ <_>
+ 5 12 4 2 -1.
+ <_>
+ 5 13 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 5 16 2 2 -1.
+ <_>
+ 5 16 1 1 2.
+ <_>
+ 6 17 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 5 17 2 1 -1.
+ <_>
+ 6 17 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 5 22 4 2 -1.
+ <_>
+ 5 22 2 1 2.
+ <_>
+ 7 23 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 0 4 2 -1.
+ <_>
+ 6 1 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 0 11 2 -1.
+ <_>
+ 6 1 11 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 0 12 2 -1.
+ <_>
+ 6 1 12 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 0 14 2 -1.
+ <_>
+ 6 1 14 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 3 2 20 -1.
+ <_>
+ 6 3 1 10 2.
+ <_>
+ 7 13 1 10 2.
+ 0
+ <_>
+
+ <_>
+ 6 5 18 18 -1.
+ <_>
+ 6 11 18 6 2.
+ 0
+ <_>
+
+ <_>
+ 6 10 2 2 -1.
+ <_>
+ 6 10 1 1 2.
+ <_>
+ 7 11 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 13 2 4 -1.
+ <_>
+ 7 13 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 6 15 2 1 -1.
+ <_>
+ 7 15 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 18 2 2 -1.
+ <_>
+ 7 18 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 6 22 5 2 -1.
+ <_>
+ 6 23 5 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 22 9 2 -1.
+ <_>
+ 6 23 9 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 22 10 2 -1.
+ <_>
+ 6 23 10 1 2.
+ 0
+ <_>
+
+ <_>
+ 6 22 13 2 -1.
+ <_>
+ 6 23 13 1 2.
+ 0
+ <_>
+
+ <_>
+ 7 0 11 2 -1.
+ <_>
+ 7 1 11 1 2.
+ 0
+ <_>
+
+ <_>
+ 7 4 14 10 -1.
+ <_>
+ 14 4 7 10 2.
+ 0
+ <_>
+
+ <_>
+ 7 20 4 4 -1.
+ <_>
+ 7 20 2 2 2.
+ <_>
+ 9 22 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 7 22 2 2 -1.
+ <_>
+ 7 23 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 7 22 9 2 -1.
+ <_>
+ 7 23 9 1 2.
+ 0
+ <_>
+
+ <_>
+ 8 0 6 1 -1.
+ <_>
+ 10 0 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 8 6 12 6 -1.
+ <_>
+ 8 9 12 3 2.
+ 0
+ <_>
+
+ <_>
+ 8 14 1 2 -1.
+ <_>
+ 8 15 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 8 17 4 4 -1.
+ <_>
+ 8 17 2 2 2.
+ <_>
+ 10 19 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 8 20 2 2 -1.
+ <_>
+ 8 20 1 1 2.
+ <_>
+ 9 21 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 8 21 2 2 -1.
+ <_>
+ 8 21 1 1 2.
+ <_>
+ 9 22 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 9 10 10 8 -1.
+ <_>
+ 9 14 10 4 2.
+ 0
+ <_>
+
+ <_>
+ 9 22 3 2 -1.
+ <_>
+ 10 22 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 9 22 8 2 -1.
+ <_>
+ 9 22 4 1 2.
+ <_>
+ 13 23 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 10 1 14 1 -1.
+ <_>
+ 17 1 7 1 2.
+ 0
+ <_>
+
+ <_>
+ 10 18 5 2 -1.
+ <_>
+ 10 19 5 1 2.
+ 0
+ <_>
+
+ <_>
+ 10 18 14 6 -1.
+ <_>
+ 10 18 7 3 2.
+ <_>
+ 17 21 7 3 2.
+ 0
+ <_>
+
+ <_>
+ 10 19 4 4 -1.
+ <_>
+ 10 19 2 2 2.
+ <_>
+ 12 21 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 10 21 2 1 -1.
+ <_>
+ 11 21 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 11 0 6 2 -1.
+ <_>
+ 11 0 3 1 2.
+ <_>
+ 14 1 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 11 0 6 2 -1.
+ <_>
+ 11 1 6 1 2.
+ 0
+ <_>
+
+ <_>
+ 11 0 10 3 -1.
+ <_>
+ 11 1 10 1 2.
+ 0
+ <_>
+
+ <_>
+ 11 2 4 2 -1.
+ <_>
+ 11 2 2 1 2.
+ <_>
+ 13 3 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 11 13 7 6 -1.
+ <_>
+ 11 16 7 3 2.
+ 0
+ <_>
+
+ <_>
+ 11 18 4 2 -1.
+ <_>
+ 13 18 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 11 19 2 4 -1.
+ <_>
+ 11 19 1 2 2.
+ <_>
+ 12 21 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 11 21 2 2 -1.
+ <_>
+ 11 21 1 1 2.
+ <_>
+ 12 22 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 12 6 5 6 -1.
+ <_>
+ 12 9 5 3 2.
+ 0
+ <_>
+
+ <_>
+ 12 11 2 13 -1.
+ <_>
+ 13 11 1 13 2.
+ 0
+ <_>
+
+ <_>
+ 12 12 4 4 -1.
+ <_>
+ 12 14 4 2 2.
+ 0
+ <_>
+
+ <_>
+ 12 18 2 2 -1.
+ <_>
+ 12 18 1 1 2.
+ <_>
+ 13 19 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 12 18 2 4 -1.
+ <_>
+ 12 18 1 2 2.
+ <_>
+ 13 20 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 12 19 1 2 -1.
+ <_>
+ 12 20 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 13 0 6 2 -1.
+ <_>
+ 13 1 6 1 2.
+ 0
+ <_>
+
+ <_>
+ 13 9 2 4 -1.
+ <_>
+ 13 11 2 2 2.
+ 0
+ <_>
+
+ <_>
+ 13 14 4 2 -1.
+ <_>
+ 13 15 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 13 19 3 2 -1.
+ <_>
+ 13 20 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 0 2 6 -1.
+ <_>
+ 14 0 1 3 2.
+ <_>
+ 15 3 1 3 2.
+ 0
+ <_>
+
+ <_>
+ 14 0 4 2 -1.
+ <_>
+ 14 0 2 1 2.
+ <_>
+ 16 1 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 10 6 2 -1.
+ <_>
+ 14 10 3 1 2.
+ <_>
+ 17 11 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 14 8 2 -1.
+ <_>
+ 14 15 8 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 19 1 2 -1.
+ <_>
+ 14 20 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 22 2 2 -1.
+ <_>
+ 14 22 1 1 2.
+ <_>
+ 15 23 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 22 3 2 -1.
+ <_>
+ 14 23 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 14 22 6 2 -1.
+ <_>
+ 14 22 3 1 2.
+ <_>
+ 17 23 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 15 0 6 2 -1.
+ <_>
+ 15 0 3 1 2.
+ <_>
+ 18 1 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 15 12 2 2 -1.
+ <_>
+ 15 13 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 15 13 6 2 -1.
+ <_>
+ 15 13 3 1 2.
+ <_>
+ 18 14 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 15 20 2 1 -1.
+ <_>
+ 16 20 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 15 22 1 2 -1.
+ <_>
+ 15 23 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 15 22 2 2 -1.
+ <_>
+ 15 23 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 16 0 2 2 -1.
+ <_>
+ 16 0 1 1 2.
+ <_>
+ 17 1 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 16 0 6 2 -1.
+ <_>
+ 16 0 3 1 2.
+ <_>
+ 19 1 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 16 0 5 4 -1.
+ <_>
+ 16 2 5 2 2.
+ 0
+ <_>
+
+ <_>
+ 16 3 8 1 -1.
+ <_>
+ 20 3 4 1 2.
+ 0
+ <_>
+
+ <_>
+ 16 13 2 8 -1.
+ <_>
+ 16 13 1 4 2.
+ <_>
+ 17 17 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 16 18 3 1 -1.
+ <_>
+ 17 18 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 16 18 8 6 -1.
+ <_>
+ 20 18 4 6 2.
+ 0
+ <_>
+
+ <_>
+ 16 21 5 2 -1.
+ <_>
+ 16 22 5 1 2.
+ 0
+ <_>
+
+ <_>
+ 16 22 2 2 -1.
+ <_>
+ 16 22 1 1 2.
+ <_>
+ 17 23 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 2 6 2 -1.
+ <_>
+ 17 2 3 1 2.
+ <_>
+ 20 3 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 8 2 1 -1.
+ <_>
+ 18 8 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 15 1 4 -1.
+ <_>
+ 17 17 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 17 15 2 2 -1.
+ <_>
+ 17 16 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 16 2 2 -1.
+ <_>
+ 17 17 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 17 1 2 -1.
+ <_>
+ 17 18 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 20 1 4 -1.
+ <_>
+ 17 22 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 17 21 4 1 -1.
+ <_>
+ 19 21 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 17 22 7 2 -1.
+ <_>
+ 17 23 7 1 2.
+ 0
+ <_>
+
+ <_>
+ 18 0 1 4 -1.
+ <_>
+ 18 2 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 18 2 2 2 -1.
+ <_>
+ 18 2 1 1 2.
+ <_>
+ 19 3 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 18 3 6 3 -1.
+ <_>
+ 21 3 3 3 2.
+ 0
+ <_>
+
+ <_>
+ 18 14 2 2 -1.
+ <_>
+ 18 15 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 18 15 2 2 -1.
+ <_>
+ 18 16 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 18 16 4 5 -1.
+ <_>
+ 20 16 2 5 2.
+ 0
+ <_>
+
+ <_>
+ 19 1 1 4 -1.
+ <_>
+ 19 3 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 19 2 2 4 -1.
+ <_>
+ 20 2 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 19 2 4 2 -1.
+ <_>
+ 19 2 2 1 2.
+ <_>
+ 21 3 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 19 2 5 6 -1.
+ <_>
+ 19 4 5 2 2.
+ 0
+ <_>
+
+ <_>
+ 19 4 4 1 -1.
+ <_>
+ 21 4 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 19 6 3 2 -1.
+ <_>
+ 19 7 3 1 2.
+ 0
+ <_>
+
+ <_>
+ 19 10 4 2 -1.
+ <_>
+ 19 10 2 1 2.
+ <_>
+ 21 11 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 19 16 2 2 -1.
+ <_>
+ 19 17 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 19 19 4 1 -1.
+ <_>
+ 21 19 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 19 20 4 2 -1.
+ <_>
+ 19 20 2 1 2.
+ <_>
+ 21 21 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 20 0 2 10 -1.
+ <_>
+ 20 5 2 5 2.
+ 0
+ <_>
+
+ <_>
+ 20 0 4 19 -1.
+ <_>
+ 22 0 2 19 2.
+ 0
+ <_>
+
+ <_>
+ 20 0 4 4 -1.
+ <_>
+ 20 2 4 2 2.
+ 0
+ <_>
+
+ <_>
+ 20 2 4 11 -1.
+ <_>
+ 22 2 2 11 2.
+ 0
+ <_>
+
+ <_>
+ 20 3 2 2 -1.
+ <_>
+ 20 3 1 1 2.
+ <_>
+ 21 4 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 20 3 2 6 -1.
+ <_>
+ 20 3 1 3 2.
+ <_>
+ 21 6 1 3 2.
+ 0
+ <_>
+
+ <_>
+ 20 4 1 10 -1.
+ <_>
+ 20 9 1 5 2.
+ 0
+ <_>
+
+ <_>
+ 20 19 2 4 -1.
+ <_>
+ 20 19 1 2 2.
+ <_>
+ 21 21 1 2 2.
+ 0
+ <_>
+
+ <_>
+ 21 4 2 2 -1.
+ <_>
+ 21 4 1 1 2.
+ <_>
+ 22 5 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 21 5 2 2 -1.
+ <_>
+ 21 5 1 1 2.
+ <_>
+ 22 6 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 21 10 2 2 -1.
+ <_>
+ 21 11 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 21 12 2 2 -1.
+ <_>
+ 21 13 2 1 2.
+ 0
+ <_>
+
+ <_>
+ 22 1 2 21 -1.
+ <_>
+ 23 1 1 21 2.
+ 0
+ <_>
+
+ <_>
+ 22 2 2 8 -1.
+ <_>
+ 22 2 1 4 2.
+ <_>
+ 23 6 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 22 3 2 17 -1.
+ <_>
+ 23 3 1 17 2.
+ 0
+ <_>
+
+ <_>
+ 22 6 2 4 -1.
+ <_>
+ 23 6 1 4 2.
+ 0
+ <_>
+
+ <_>
+ 22 6 2 13 -1.
+ <_>
+ 23 6 1 13 2.
+ 0
+ <_>
+
+ <_>
+ 22 7 2 3 -1.
+ <_>
+ 23 7 1 3 2.
+ 0
+ <_>
+
+ <_>
+ 22 13 2 5 -1.
+ <_>
+ 23 13 1 5 2.
+ 0
+ <_>
+
+ <_>
+ 22 14 2 1 -1.
+ <_>
+ 23 14 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 22 15 2 1 -1.
+ <_>
+ 23 15 1 1 2.
+ 0
+ <_>
+
+ <_>
+ 22 15 2 6 -1.
+ <_>
+ 22 15 1 3 2.
+ <_>
+ 23 18 1 3 2.
+ 0
+ <_>
+
+ <_>
+ 22 16 2 1 -1.
+ <_>
+ 23 16 1 1 2.
+ 0
+
diff --git a/p.py b/p.py
new file mode 100644
index 0000000..ec64831
--- /dev/null
+++ b/p.py
@@ -0,0 +1,6 @@
+
+ {% if error %}
+
+ {{ error }}
+
+ {% endif %}
\ No newline at end of file
diff --git a/static/image/Tomat_hijo.jpg b/static/image/Tomat_hijo.jpg
new file mode 100644
index 0000000..a994f7c
Binary files /dev/null and b/static/image/Tomat_hijo.jpg differ
diff --git a/static/image/mentah_busuk.jpg b/static/image/mentah_busuk.jpg
new file mode 100644
index 0000000..03f2ed3
Binary files /dev/null and b/static/image/mentah_busuk.jpg differ
diff --git a/static/image/tomat1.jpg b/static/image/tomat1.jpg
new file mode 100644
index 0000000..7a3f1fc
Binary files /dev/null and b/static/image/tomat1.jpg differ
diff --git a/static/image/tomat2.jpg b/static/image/tomat2.jpg
new file mode 100644
index 0000000..2e49cdd
Binary files /dev/null and b/static/image/tomat2.jpg differ
diff --git a/static/image/tomat3.jpg b/static/image/tomat3.jpg
new file mode 100644
index 0000000..006ed25
Binary files /dev/null and b/static/image/tomat3.jpg differ
diff --git a/static/image/tomatBusuk.jpg b/static/image/tomatBusuk.jpg
new file mode 100644
index 0000000..2e2a414
Binary files /dev/null and b/static/image/tomatBusuk.jpg differ
diff --git a/static/image/tomatFresh.jpg b/static/image/tomatFresh.jpg
new file mode 100644
index 0000000..fdf1d1d
Binary files /dev/null and b/static/image/tomatFresh.jpg differ
diff --git a/static/image/tomat_matang.jpg b/static/image/tomat_matang.jpg
new file mode 100644
index 0000000..a31cf4c
Binary files /dev/null and b/static/image/tomat_matang.jpg differ
diff --git a/static/image/tomato.png b/static/image/tomato.png
new file mode 100644
index 0000000..cb5052b
Binary files /dev/null and b/static/image/tomato.png differ
diff --git a/static/style.css b/static/style.css
new file mode 100644
index 0000000..f7a0316
--- /dev/null
+++ b/static/style.css
@@ -0,0 +1,1277 @@
+body {
+ margin: 0;
+ font-family: 'Roboto Mono';;
+ font-size: var(--bs-body-font-size);
+ font-weight: var(--bs-body-font-weight);
+ line-height: var(--bs-body-line-height);
+ color: var(--bs-body-color);
+ text-align: var(--bs-body-text-align);
+ background-color: var(--bs-body-bg);
+ -webkit-text-size-adjust: 100%;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+
+@media (min-width: 1200px) {
+ legend {
+ font-size: 1.5rem;
+ }
+}
+
+@media (min-width: 1200px) {
+ .offcanvas-xl {
+ --bs-offcanvas-height: auto;
+ --bs-offcanvas-border-width: 0;
+ background-color: transparent !important;
+ }
+ .offcanvas-xl .offcanvas-header {
+ display: none;
+ }
+ .offcanvas-xl .offcanvas-body {
+ display: flex;
+ flex-grow: 0;
+ padding: 0;
+ overflow-y: visible;
+ background-color: transparent !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .sticky-xl-top {
+ position: sticky;
+ top: 0;
+ z-index: 1020;
+ }
+ .sticky-xl-bottom {
+ position: sticky;
+ bottom: 0;
+ z-index: 1020;
+ }
+}
+
+.shadow {
+ box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
+}
+
+.shadow-sm {
+ box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;
+}
+
+.shadow-lg {
+ box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;
+}
+
+.shadow-none {
+ box-shadow: none !important;
+}
+
+.position-static {
+ position: static !important;
+}
+
+.m-0 {
+ margin: 0 !important;
+}
+
+.m-1 {
+ margin: 0.25rem !important;
+}
+
+.m-2 {
+ margin: 0.5rem !important;
+}
+
+.m-3 {
+ margin: 1rem !important;
+}
+
+.m-4 {
+ margin: 1.5rem !important;
+}
+
+.m-5 {
+ margin: 3rem !important;
+}
+
+.m-auto {
+ margin: auto !important;
+}
+
+.mx-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+}
+
+.mx-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+}
+
+.mx-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+}
+
+.mx-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+}
+
+.mx-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+}
+
+.mx-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+}
+
+.mx-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+}
+
+.my-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+}
+
+.my-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+}
+
+.my-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+}
+
+.my-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+}
+
+.my-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+}
+
+.my-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+}
+
+.my-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+}
+
+.mt-0 {
+ margin-top: 0 !important;
+}
+
+.mt-1 {
+ margin-top: 0.25rem !important;
+}
+
+.mt-2 {
+ margin-top: 0.5rem !important;
+}
+
+.mt-3 {
+ margin-top: 1rem !important;
+}
+
+.mt-4 {
+ margin-top: 1.5rem !important;
+}
+
+.mt-5 {
+ margin-top: 3rem !important;
+}
+
+.mt-auto {
+ margin-top: auto !important;
+}
+
+.me-0 {
+ margin-right: 0 !important;
+}
+
+.me-1 {
+ margin-right: 0.25rem !important;
+}
+
+.me-2 {
+ margin-right: 0.5rem !important;
+}
+
+.me-3 {
+ margin-right: 1rem !important;
+}
+
+.me-4 {
+ margin-right: 1.5rem !important;
+}
+
+.me-5 {
+ margin-right: 3rem !important;
+}
+
+.me-auto {
+ margin-right: auto !important;
+}
+
+.mb-0 {
+ margin-bottom: 0 !important;
+}
+
+.mb-1 {
+ margin-bottom: 0.25rem !important;
+}
+
+.mb-2 {
+ margin-bottom: 0.5rem !important;
+}
+
+.mb-3 {
+ margin-bottom: 1rem !important;
+}
+
+.mb-4 {
+ margin-bottom: 1.5rem !important;
+}
+
+.mb-5 {
+ margin-bottom: 3rem !important;
+}
+
+.mb-auto {
+ margin-bottom: auto !important;
+}
+
+.ms-0 {
+ margin-left: 0 !important;
+}
+
+.ms-1 {
+ margin-left: 0.25rem !important;
+}
+
+.ms-2 {
+ margin-left: 0.5rem !important;
+}
+
+.ms-3 {
+ margin-left: 1rem !important;
+}
+
+.ms-4 {
+ margin-left: 1.5rem !important;
+}
+
+.ms-5 {
+ margin-left: 3rem !important;
+}
+
+.ms-auto {
+ margin-left: auto !important;
+}
+
+@media (min-width: 576px) {
+ .float-sm-start {
+ float: left !important;
+ }
+ .float-sm-end {
+ float: right !important;
+ }
+ .float-sm-none {
+ float: none !important;
+ }
+ .d-sm-inline {
+ display: inline !important;
+ }
+ .d-sm-inline-block {
+ display: inline-block !important;
+ }
+ .d-sm-block {
+ display: block !important;
+ }
+ .d-sm-grid {
+ display: grid !important;
+ }
+ .d-sm-table {
+ display: table !important;
+ }
+ .d-sm-table-row {
+ display: table-row !important;
+ }
+ .d-sm-table-cell {
+ display: table-cell !important;
+ }
+ .d-sm-flex {
+ display: flex !important;
+ }
+ .d-sm-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-sm-none {
+ display: none !important;
+ }
+ .flex-sm-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-sm-row {
+ flex-direction: row !important;
+ }
+ .flex-sm-column {
+ flex-direction: column !important;
+ }
+ .flex-sm-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-sm-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-sm-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-sm-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-sm-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-sm-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-sm-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-sm-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-sm-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-sm-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-sm-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-sm-center {
+ justify-content: center !important;
+ }
+ .justify-content-sm-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-sm-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-sm-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-sm-start {
+ align-items: flex-start !important;
+ }
+ .align-items-sm-end {
+ align-items: flex-end !important;
+ }
+ .align-items-sm-center {
+ align-items: center !important;
+ }
+ .align-items-sm-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-sm-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-sm-start {
+ align-content: flex-start !important;
+ }
+ .align-content-sm-end {
+ align-content: flex-end !important;
+ }
+ .align-content-sm-center {
+ align-content: center !important;
+ }
+ .align-content-sm-between {
+ align-content: space-between !important;
+ }
+ .align-content-sm-around {
+ align-content: space-around !important;
+ }
+ .align-content-sm-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-sm-auto {
+ align-self: auto !important;
+ }
+ .align-self-sm-start {
+ align-self: flex-start !important;
+ }
+ .align-self-sm-end {
+ align-self: flex-end !important;
+ }
+ .align-self-sm-center {
+ align-self: center !important;
+ }
+ .align-self-sm-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-sm-stretch {
+ align-self: stretch !important;
+ }
+ .order-sm-first {
+ order: -1 !important;
+ }
+ .order-sm-0 {
+ order: 0 !important;
+ }
+ .order-sm-1 {
+ order: 1 !important;
+ }
+ .order-sm-2 {
+ order: 2 !important;
+ }
+ .order-sm-3 {
+ order: 3 !important;
+ }
+ .order-sm-4 {
+ order: 4 !important;
+ }
+ .order-sm-5 {
+ order: 5 !important;
+ }
+ .order-sm-last {
+ order: 6 !important;
+ }
+ .m-sm-0 {
+ margin: 0 !important;
+ }
+ .m-sm-1 {
+ margin: 0.25rem !important;
+ }
+ .m-sm-2 {
+ margin: 0.5rem !important;
+ }
+ .m-sm-3 {
+ margin: 1rem !important;
+ }
+ .m-sm-4 {
+ margin: 1.5rem !important;
+ }
+ .m-sm-5 {
+ margin: 3rem !important;
+ }
+ .m-sm-auto {
+ margin: auto !important;
+ }
+ .mx-sm-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-sm-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-sm-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-sm-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-sm-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-sm-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-sm-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-sm-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-sm-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-sm-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-sm-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-sm-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-sm-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-sm-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-sm-0 {
+ margin-top: 0 !important;
+ }
+ .mt-sm-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-sm-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-sm-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-sm-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-sm-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-sm-auto {
+ margin-top: auto !important;
+ }
+ .me-sm-0 {
+ margin-right: 0 !important;
+ }
+ .me-sm-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-sm-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-sm-3 {
+ margin-right: 1rem !important;
+ }
+ .me-sm-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-sm-5 {
+ margin-right: 3rem !important;
+ }
+ .me-sm-auto {
+ margin-right: auto !important;
+ }
+ .mb-sm-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-sm-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-sm-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-sm-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-sm-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-sm-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-sm-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-sm-0 {
+ margin-left: 0 !important;
+ }
+ .ms-sm-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-sm-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-sm-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-sm-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-sm-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-sm-auto {
+ margin-left: auto !important;
+ }
+ .p-sm-0 {
+ padding: 0 !important;
+ }
+ .p-sm-1 {
+ padding: 0.25rem !important;
+ }
+ .p-sm-2 {
+ padding: 0.5rem !important;
+ }
+ .p-sm-3 {
+ padding: 1rem !important;
+ }
+ .p-sm-4 {
+ padding: 1.5rem !important;
+ }
+ .p-sm-5 {
+ padding: 3rem !important;
+ }
+ .px-sm-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-sm-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-sm-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-sm-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-sm-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-sm-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-sm-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-sm-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-sm-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-sm-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-sm-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-sm-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-sm-0 {
+ padding-top: 0 !important;
+ }
+ .pt-sm-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-sm-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-sm-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-sm-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-sm-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-sm-0 {
+ padding-right: 0 !important;
+ }
+ .pe-sm-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-sm-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-sm-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-sm-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-sm-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-sm-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-sm-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-sm-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-sm-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-sm-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-sm-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-sm-0 {
+ padding-left: 0 !important;
+ }
+ .ps-sm-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-sm-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-sm-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-sm-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-sm-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-sm-0 {
+ gap: 0 !important;
+ }
+ .gap-sm-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-sm-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-sm-3 {
+ gap: 1rem !important;
+ }
+ .gap-sm-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-sm-5 {
+ gap: 3rem !important;
+ }
+ .text-sm-start {
+ text-align: left !important;
+ }
+ .text-sm-end {
+ text-align: right !important;
+ }
+ .text-sm-center {
+ text-align: center !important;
+ }
+}
+
+@media (min-width: 1200px) {
+ .float-xl-start {
+ float: left !important;
+ }
+ .float-xl-end {
+ float: right !important;
+ }
+ .float-xl-none {
+ float: none !important;
+ }
+ .d-xl-inline {
+ display: inline !important;
+ }
+ .d-xl-inline-block {
+ display: inline-block !important;
+ }
+ .d-xl-block {
+ display: block !important;
+ }
+ .d-xl-grid {
+ display: grid !important;
+ }
+ .d-xl-table {
+ display: table !important;
+ }
+ .d-xl-table-row {
+ display: table-row !important;
+ }
+ .d-xl-table-cell {
+ display: table-cell !important;
+ }
+ .d-xl-flex {
+ display: flex !important;
+ }
+ .d-xl-inline-flex {
+ display: inline-flex !important;
+ }
+ .d-xl-none {
+ display: none !important;
+ }
+ .flex-xl-fill {
+ flex: 1 1 auto !important;
+ }
+ .flex-xl-row {
+ flex-direction: row !important;
+ }
+ .flex-xl-column {
+ flex-direction: column !important;
+ }
+ .flex-xl-row-reverse {
+ flex-direction: row-reverse !important;
+ }
+ .flex-xl-column-reverse {
+ flex-direction: column-reverse !important;
+ }
+ .flex-xl-grow-0 {
+ flex-grow: 0 !important;
+ }
+ .flex-xl-grow-1 {
+ flex-grow: 1 !important;
+ }
+ .flex-xl-shrink-0 {
+ flex-shrink: 0 !important;
+ }
+ .flex-xl-shrink-1 {
+ flex-shrink: 1 !important;
+ }
+ .flex-xl-wrap {
+ flex-wrap: wrap !important;
+ }
+ .flex-xl-nowrap {
+ flex-wrap: nowrap !important;
+ }
+ .flex-xl-wrap-reverse {
+ flex-wrap: wrap-reverse !important;
+ }
+ .justify-content-xl-start {
+ justify-content: flex-start !important;
+ }
+ .justify-content-xl-end {
+ justify-content: flex-end !important;
+ }
+ .justify-content-xl-center {
+ justify-content: center !important;
+ }
+ .justify-content-xl-between {
+ justify-content: space-between !important;
+ }
+ .justify-content-xl-around {
+ justify-content: space-around !important;
+ }
+ .justify-content-xl-evenly {
+ justify-content: space-evenly !important;
+ }
+ .align-items-xl-start {
+ align-items: flex-start !important;
+ }
+ .align-items-xl-end {
+ align-items: flex-end !important;
+ }
+ .align-items-xl-center {
+ align-items: center !important;
+ }
+ .align-items-xl-baseline {
+ align-items: baseline !important;
+ }
+ .align-items-xl-stretch {
+ align-items: stretch !important;
+ }
+ .align-content-xl-start {
+ align-content: flex-start !important;
+ }
+ .align-content-xl-end {
+ align-content: flex-end !important;
+ }
+ .align-content-xl-center {
+ align-content: center !important;
+ }
+ .align-content-xl-between {
+ align-content: space-between !important;
+ }
+ .align-content-xl-around {
+ align-content: space-around !important;
+ }
+ .align-content-xl-stretch {
+ align-content: stretch !important;
+ }
+ .align-self-xl-auto {
+ align-self: auto !important;
+ }
+ .align-self-xl-start {
+ align-self: flex-start !important;
+ }
+ .align-self-xl-end {
+ align-self: flex-end !important;
+ }
+ .align-self-xl-center {
+ align-self: center !important;
+ }
+ .align-self-xl-baseline {
+ align-self: baseline !important;
+ }
+ .align-self-xl-stretch {
+ align-self: stretch !important;
+ }
+ .order-xl-first {
+ order: -1 !important;
+ }
+ .order-xl-0 {
+ order: 0 !important;
+ }
+ .order-xl-1 {
+ order: 1 !important;
+ }
+ .order-xl-2 {
+ order: 2 !important;
+ }
+ .order-xl-3 {
+ order: 3 !important;
+ }
+ .order-xl-4 {
+ order: 4 !important;
+ }
+ .order-xl-5 {
+ order: 5 !important;
+ }
+ .order-xl-last {
+ order: 6 !important;
+ }
+ .m-xl-0 {
+ margin: 0 !important;
+ }
+ .m-xl-1 {
+ margin: 0.25rem !important;
+ }
+ .m-xl-2 {
+ margin: 0.5rem !important;
+ }
+ .m-xl-3 {
+ margin: 1rem !important;
+ }
+ .m-xl-4 {
+ margin: 1.5rem !important;
+ }
+ .m-xl-5 {
+ margin: 3rem !important;
+ }
+ .m-xl-auto {
+ margin: auto !important;
+ }
+ .mx-xl-0 {
+ margin-right: 0 !important;
+ margin-left: 0 !important;
+ }
+ .mx-xl-1 {
+ margin-right: 0.25rem !important;
+ margin-left: 0.25rem !important;
+ }
+ .mx-xl-2 {
+ margin-right: 0.5rem !important;
+ margin-left: 0.5rem !important;
+ }
+ .mx-xl-3 {
+ margin-right: 1rem !important;
+ margin-left: 1rem !important;
+ }
+ .mx-xl-4 {
+ margin-right: 1.5rem !important;
+ margin-left: 1.5rem !important;
+ }
+ .mx-xl-5 {
+ margin-right: 3rem !important;
+ margin-left: 3rem !important;
+ }
+ .mx-xl-auto {
+ margin-right: auto !important;
+ margin-left: auto !important;
+ }
+ .my-xl-0 {
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+ }
+ .my-xl-1 {
+ margin-top: 0.25rem !important;
+ margin-bottom: 0.25rem !important;
+ }
+ .my-xl-2 {
+ margin-top: 0.5rem !important;
+ margin-bottom: 0.5rem !important;
+ }
+ .my-xl-3 {
+ margin-top: 1rem !important;
+ margin-bottom: 1rem !important;
+ }
+ .my-xl-4 {
+ margin-top: 1.5rem !important;
+ margin-bottom: 1.5rem !important;
+ }
+ .my-xl-5 {
+ margin-top: 3rem !important;
+ margin-bottom: 3rem !important;
+ }
+ .my-xl-auto {
+ margin-top: auto !important;
+ margin-bottom: auto !important;
+ }
+ .mt-xl-0 {
+ margin-top: 0 !important;
+ }
+ .mt-xl-1 {
+ margin-top: 0.25rem !important;
+ }
+ .mt-xl-2 {
+ margin-top: 0.5rem !important;
+ }
+ .mt-xl-3 {
+ margin-top: 1rem !important;
+ }
+ .mt-xl-4 {
+ margin-top: 1.5rem !important;
+ }
+ .mt-xl-5 {
+ margin-top: 3rem !important;
+ }
+ .mt-xl-auto {
+ margin-top: auto !important;
+ }
+ .me-xl-0 {
+ margin-right: 0 !important;
+ }
+ .me-xl-1 {
+ margin-right: 0.25rem !important;
+ }
+ .me-xl-2 {
+ margin-right: 0.5rem !important;
+ }
+ .me-xl-3 {
+ margin-right: 1rem !important;
+ }
+ .me-xl-4 {
+ margin-right: 1.5rem !important;
+ }
+ .me-xl-5 {
+ margin-right: 3rem !important;
+ }
+ .me-xl-auto {
+ margin-right: auto !important;
+ }
+ .mb-xl-0 {
+ margin-bottom: 0 !important;
+ }
+ .mb-xl-1 {
+ margin-bottom: 0.25rem !important;
+ }
+ .mb-xl-2 {
+ margin-bottom: 0.5rem !important;
+ }
+ .mb-xl-3 {
+ margin-bottom: 1rem !important;
+ }
+ .mb-xl-4 {
+ margin-bottom: 1.5rem !important;
+ }
+ .mb-xl-5 {
+ margin-bottom: 3rem !important;
+ }
+ .mb-xl-auto {
+ margin-bottom: auto !important;
+ }
+ .ms-xl-0 {
+ margin-left: 0 !important;
+ }
+ .ms-xl-1 {
+ margin-left: 0.25rem !important;
+ }
+ .ms-xl-2 {
+ margin-left: 0.5rem !important;
+ }
+ .ms-xl-3 {
+ margin-left: 1rem !important;
+ }
+ .ms-xl-4 {
+ margin-left: 1.5rem !important;
+ }
+ .ms-xl-5 {
+ margin-left: 3rem !important;
+ }
+ .ms-xl-auto {
+ margin-left: auto !important;
+ }
+ .p-xl-0 {
+ padding: 0 !important;
+ }
+ .p-xl-1 {
+ padding: 0.25rem !important;
+ }
+ .p-xl-2 {
+ padding: 0.5rem !important;
+ }
+ .p-xl-3 {
+ padding: 1rem !important;
+ }
+ .p-xl-4 {
+ padding: 1.5rem !important;
+ }
+ .p-xl-5 {
+ padding: 3rem !important;
+ }
+ .px-xl-0 {
+ padding-right: 0 !important;
+ padding-left: 0 !important;
+ }
+ .px-xl-1 {
+ padding-right: 0.25rem !important;
+ padding-left: 0.25rem !important;
+ }
+ .px-xl-2 {
+ padding-right: 0.5rem !important;
+ padding-left: 0.5rem !important;
+ }
+ .px-xl-3 {
+ padding-right: 1rem !important;
+ padding-left: 1rem !important;
+ }
+ .px-xl-4 {
+ padding-right: 1.5rem !important;
+ padding-left: 1.5rem !important;
+ }
+ .px-xl-5 {
+ padding-right: 3rem !important;
+ padding-left: 3rem !important;
+ }
+ .py-xl-0 {
+ padding-top: 0 !important;
+ padding-bottom: 0 !important;
+ }
+ .py-xl-1 {
+ padding-top: 0.25rem !important;
+ padding-bottom: 0.25rem !important;
+ }
+ .py-xl-2 {
+ padding-top: 0.5rem !important;
+ padding-bottom: 0.5rem !important;
+ }
+ .py-xl-3 {
+ padding-top: 1rem !important;
+ padding-bottom: 1rem !important;
+ }
+ .py-xl-4 {
+ padding-top: 1.5rem !important;
+ padding-bottom: 1.5rem !important;
+ }
+ .py-xl-5 {
+ padding-top: 3rem !important;
+ padding-bottom: 3rem !important;
+ }
+ .pt-xl-0 {
+ padding-top: 0 !important;
+ }
+ .pt-xl-1 {
+ padding-top: 0.25rem !important;
+ }
+ .pt-xl-2 {
+ padding-top: 0.5rem !important;
+ }
+ .pt-xl-3 {
+ padding-top: 1rem !important;
+ }
+ .pt-xl-4 {
+ padding-top: 1.5rem !important;
+ }
+ .pt-xl-5 {
+ padding-top: 3rem !important;
+ }
+ .pe-xl-0 {
+ padding-right: 0 !important;
+ }
+ .pe-xl-1 {
+ padding-right: 0.25rem !important;
+ }
+ .pe-xl-2 {
+ padding-right: 0.5rem !important;
+ }
+ .pe-xl-3 {
+ padding-right: 1rem !important;
+ }
+ .pe-xl-4 {
+ padding-right: 1.5rem !important;
+ }
+ .pe-xl-5 {
+ padding-right: 3rem !important;
+ }
+ .pb-xl-0 {
+ padding-bottom: 0 !important;
+ }
+ .pb-xl-1 {
+ padding-bottom: 0.25rem !important;
+ }
+ .pb-xl-2 {
+ padding-bottom: 0.5rem !important;
+ }
+ .pb-xl-3 {
+ padding-bottom: 1rem !important;
+ }
+ .pb-xl-4 {
+ padding-bottom: 1.5rem !important;
+ }
+ .pb-xl-5 {
+ padding-bottom: 3rem !important;
+ }
+ .ps-xl-0 {
+ padding-left: 0 !important;
+ }
+ .ps-xl-1 {
+ padding-left: 0.25rem !important;
+ }
+ .ps-xl-2 {
+ padding-left: 0.5rem !important;
+ }
+ .ps-xl-3 {
+ padding-left: 1rem !important;
+ }
+ .ps-xl-4 {
+ padding-left: 1.5rem !important;
+ }
+ .ps-xl-5 {
+ padding-left: 3rem !important;
+ }
+ .gap-xl-0 {
+ gap: 0 !important;
+ }
+ .gap-xl-1 {
+ gap: 0.25rem !important;
+ }
+ .gap-xl-2 {
+ gap: 0.5rem !important;
+ }
+ .gap-xl-3 {
+ gap: 1rem !important;
+ }
+ .gap-xl-4 {
+ gap: 1.5rem !important;
+ }
+ .gap-xl-5 {
+ gap: 3rem !important;
+ }
+ .text-xl-start {
+ text-align: left !important;
+ }
+ .text-xl-end {
+ text-align: right !important;
+ }
+ .text-xl-center {
+ text-align: center !important;
+ }
+}
+body,
+html {
+ height: 100%;
+}
\ No newline at end of file
diff --git a/static/uploads/2.jpg b/static/uploads/2.jpg
new file mode 100644
index 0000000..0793994
Binary files /dev/null and b/static/uploads/2.jpg differ
diff --git a/static/uploads/222.jpg b/static/uploads/222.jpg
new file mode 100644
index 0000000..411c811
Binary files /dev/null and b/static/uploads/222.jpg differ
diff --git a/static/uploads/3.jpg b/static/uploads/3.jpg
new file mode 100644
index 0000000..8be2062
Binary files /dev/null and b/static/uploads/3.jpg differ
diff --git a/static/uploads/32wt5nv8.png b/static/uploads/32wt5nv8.png
new file mode 100644
index 0000000..cfee1e4
Binary files /dev/null and b/static/uploads/32wt5nv8.png differ
diff --git a/static/uploads/5f8ff3b8c8c20.webp b/static/uploads/5f8ff3b8c8c20.webp
new file mode 100644
index 0000000..4b9a008
Binary files /dev/null and b/static/uploads/5f8ff3b8c8c20.webp differ
diff --git a/static/uploads/5fcb39be07395c4368f15dc9138dd4a5.jpg b/static/uploads/5fcb39be07395c4368f15dc9138dd4a5.jpg
new file mode 100644
index 0000000..08fdc34
Binary files /dev/null and b/static/uploads/5fcb39be07395c4368f15dc9138dd4a5.jpg differ
diff --git a/static/uploads/7-17-Photo2_Early-blight-MARY.jpg b/static/uploads/7-17-Photo2_Early-blight-MARY.jpg
new file mode 100644
index 0000000..c0afc43
Binary files /dev/null and b/static/uploads/7-17-Photo2_Early-blight-MARY.jpg differ
diff --git a/static/uploads/8657.jpg b/static/uploads/8657.jpg
new file mode 100644
index 0000000..37cdcfd
Binary files /dev/null and b/static/uploads/8657.jpg differ
diff --git a/static/uploads/9.-Tomato-grub_web.jpg b/static/uploads/9.-Tomato-grub_web.jpg
new file mode 100644
index 0000000..17495c4
Binary files /dev/null and b/static/uploads/9.-Tomato-grub_web.jpg differ
diff --git a/static/uploads/IMG-20250220-WA0003.jpg b/static/uploads/IMG-20250220-WA0003.jpg
new file mode 100644
index 0000000..411c811
Binary files /dev/null and b/static/uploads/IMG-20250220-WA0003.jpg differ
diff --git a/static/uploads/IMG_20230108_105612.jpg b/static/uploads/IMG_20230108_105612.jpg
new file mode 100644
index 0000000..e345822
Binary files /dev/null and b/static/uploads/IMG_20230108_105612.jpg differ
diff --git a/static/uploads/IMG_20230108_105616.jpg b/static/uploads/IMG_20230108_105616.jpg
new file mode 100644
index 0000000..d8a3473
Binary files /dev/null and b/static/uploads/IMG_20230108_105616.jpg differ
diff --git a/static/uploads/IMG_20230120_221806.jpg b/static/uploads/IMG_20230120_221806.jpg
new file mode 100644
index 0000000..ea03fe6
Binary files /dev/null and b/static/uploads/IMG_20230120_221806.jpg differ
diff --git a/static/uploads/IMG_20230124_013133.jpg b/static/uploads/IMG_20230124_013133.jpg
new file mode 100644
index 0000000..ea32dbb
Binary files /dev/null and b/static/uploads/IMG_20230124_013133.jpg differ
diff --git a/static/uploads/IMG_20230302_171052_-_Copy.jpg b/static/uploads/IMG_20230302_171052_-_Copy.jpg
new file mode 100644
index 0000000..5407148
Binary files /dev/null and b/static/uploads/IMG_20230302_171052_-_Copy.jpg differ
diff --git a/static/uploads/IMG_20230302_171054.jpg b/static/uploads/IMG_20230302_171054.jpg
new file mode 100644
index 0000000..736a616
Binary files /dev/null and b/static/uploads/IMG_20230302_171054.jpg differ
diff --git a/static/uploads/IMG_20230302_171057.jpg b/static/uploads/IMG_20230302_171057.jpg
new file mode 100644
index 0000000..c46221b
Binary files /dev/null and b/static/uploads/IMG_20230302_171057.jpg differ
diff --git a/static/uploads/IMG_20230302_171109.jpg b/static/uploads/IMG_20230302_171109.jpg
new file mode 100644
index 0000000..03417e7
Binary files /dev/null and b/static/uploads/IMG_20230302_171109.jpg differ
diff --git a/static/uploads/IMG_20230302_171123_-_Copy.jpg b/static/uploads/IMG_20230302_171123_-_Copy.jpg
new file mode 100644
index 0000000..d364b77
Binary files /dev/null and b/static/uploads/IMG_20230302_171123_-_Copy.jpg differ
diff --git a/static/uploads/IMG_20230302_171126_-_Copy.jpg b/static/uploads/IMG_20230302_171126_-_Copy.jpg
new file mode 100644
index 0000000..8a9271d
Binary files /dev/null and b/static/uploads/IMG_20230302_171126_-_Copy.jpg differ
diff --git a/static/uploads/IMG_20230302_171158.jpg b/static/uploads/IMG_20230302_171158.jpg
new file mode 100644
index 0000000..18e7fe0
Binary files /dev/null and b/static/uploads/IMG_20230302_171158.jpg differ
diff --git a/static/uploads/IMG_20230405_014419.jpg b/static/uploads/IMG_20230405_014419.jpg
new file mode 100644
index 0000000..e62279d
Binary files /dev/null and b/static/uploads/IMG_20230405_014419.jpg differ
diff --git a/static/uploads/IMG_20230407_042033.jpg b/static/uploads/IMG_20230407_042033.jpg
new file mode 100644
index 0000000..5a4e2f2
Binary files /dev/null and b/static/uploads/IMG_20230407_042033.jpg differ
diff --git a/static/uploads/IMG_20230411_234124.jpg b/static/uploads/IMG_20230411_234124.jpg
new file mode 100644
index 0000000..465f4b6
Binary files /dev/null and b/static/uploads/IMG_20230411_234124.jpg differ
diff --git a/static/uploads/NMtZupytzPVCYE6FVoozec-768-80.jpg b/static/uploads/NMtZupytzPVCYE6FVoozec-768-80.jpg
new file mode 100644
index 0000000..1320365
Binary files /dev/null and b/static/uploads/NMtZupytzPVCYE6FVoozec-768-80.jpg differ
diff --git a/static/uploads/OIP.jpg b/static/uploads/OIP.jpg
new file mode 100644
index 0000000..2baaa8f
Binary files /dev/null and b/static/uploads/OIP.jpg differ
diff --git a/static/uploads/OIPP.jpg b/static/uploads/OIPP.jpg
new file mode 100644
index 0000000..1252036
Binary files /dev/null and b/static/uploads/OIPP.jpg differ
diff --git a/static/uploads/WIN_20241216_10_09_36_Pro.jpg b/static/uploads/WIN_20241216_10_09_36_Pro.jpg
new file mode 100644
index 0000000..7d3f668
Binary files /dev/null and b/static/uploads/WIN_20241216_10_09_36_Pro.jpg differ
diff --git a/static/uploads/WIN_20241216_10_37_49_Pro.jpg b/static/uploads/WIN_20241216_10_37_49_Pro.jpg
new file mode 100644
index 0000000..a984837
Binary files /dev/null and b/static/uploads/WIN_20241216_10_37_49_Pro.jpg differ
diff --git a/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.13_5f2eca25.jpg b/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.13_5f2eca25.jpg
new file mode 100644
index 0000000..76496e2
Binary files /dev/null and b/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.13_5f2eca25.jpg differ
diff --git a/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.18_f1d9e22d.jpg b/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.18_f1d9e22d.jpg
new file mode 100644
index 0000000..99c4df5
Binary files /dev/null and b/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.18_f1d9e22d.jpg differ
diff --git a/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.18_fa24aeab.jpg b/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.18_fa24aeab.jpg
new file mode 100644
index 0000000..d897e25
Binary files /dev/null and b/static/uploads/WhatsApp_Image_2025-03-02_at_13.15.18_fa24aeab.jpg differ
diff --git a/static/uploads/camera_1739932523.png b/static/uploads/camera_1739932523.png
new file mode 100644
index 0000000..a8f40c3
Binary files /dev/null and b/static/uploads/camera_1739932523.png differ
diff --git a/static/uploads/camera_1739932541.png b/static/uploads/camera_1739932541.png
new file mode 100644
index 0000000..361583b
Binary files /dev/null and b/static/uploads/camera_1739932541.png differ
diff --git a/static/uploads/camera_1739932769.png b/static/uploads/camera_1739932769.png
new file mode 100644
index 0000000..f773d35
Binary files /dev/null and b/static/uploads/camera_1739932769.png differ
diff --git a/static/uploads/camera_1739932782.png b/static/uploads/camera_1739932782.png
new file mode 100644
index 0000000..d297e5b
Binary files /dev/null and b/static/uploads/camera_1739932782.png differ
diff --git a/static/uploads/camera_1739933069.png b/static/uploads/camera_1739933069.png
new file mode 100644
index 0000000..28e468f
Binary files /dev/null and b/static/uploads/camera_1739933069.png differ
diff --git a/static/uploads/camera_1739933180.png b/static/uploads/camera_1739933180.png
new file mode 100644
index 0000000..05c2d82
Binary files /dev/null and b/static/uploads/camera_1739933180.png differ
diff --git a/static/uploads/camera_1739933581.png b/static/uploads/camera_1739933581.png
new file mode 100644
index 0000000..944d62b
Binary files /dev/null and b/static/uploads/camera_1739933581.png differ
diff --git a/static/uploads/camera_1739933770.png b/static/uploads/camera_1739933770.png
new file mode 100644
index 0000000..783c1b9
Binary files /dev/null and b/static/uploads/camera_1739933770.png differ
diff --git a/static/uploads/camera_1739934056.png b/static/uploads/camera_1739934056.png
new file mode 100644
index 0000000..8464d98
Binary files /dev/null and b/static/uploads/camera_1739934056.png differ
diff --git a/static/uploads/camera_1739934263.png b/static/uploads/camera_1739934263.png
new file mode 100644
index 0000000..d01cc0e
Binary files /dev/null and b/static/uploads/camera_1739934263.png differ
diff --git a/static/uploads/camera_1739934450.png b/static/uploads/camera_1739934450.png
new file mode 100644
index 0000000..c2bb400
Binary files /dev/null and b/static/uploads/camera_1739934450.png differ
diff --git a/static/uploads/camera_1739934581.png b/static/uploads/camera_1739934581.png
new file mode 100644
index 0000000..75779b6
Binary files /dev/null and b/static/uploads/camera_1739934581.png differ
diff --git a/static/uploads/camera_1739936173.png b/static/uploads/camera_1739936173.png
new file mode 100644
index 0000000..305a573
Binary files /dev/null and b/static/uploads/camera_1739936173.png differ
diff --git a/static/uploads/camera_1740044393.png b/static/uploads/camera_1740044393.png
new file mode 100644
index 0000000..4135831
Binary files /dev/null and b/static/uploads/camera_1740044393.png differ
diff --git a/static/uploads/camera_1740056501.png b/static/uploads/camera_1740056501.png
new file mode 100644
index 0000000..1b4834f
Binary files /dev/null and b/static/uploads/camera_1740056501.png differ
diff --git a/static/uploads/camera_1740056555.png b/static/uploads/camera_1740056555.png
new file mode 100644
index 0000000..9565fa5
Binary files /dev/null and b/static/uploads/camera_1740056555.png differ
diff --git a/static/uploads/camera_1740459623.png b/static/uploads/camera_1740459623.png
new file mode 100644
index 0000000..33db7f0
Binary files /dev/null and b/static/uploads/camera_1740459623.png differ
diff --git a/static/uploads/camera_1740459638.png b/static/uploads/camera_1740459638.png
new file mode 100644
index 0000000..1772331
Binary files /dev/null and b/static/uploads/camera_1740459638.png differ
diff --git a/static/uploads/camera_1740544239.png b/static/uploads/camera_1740544239.png
new file mode 100644
index 0000000..9627d11
Binary files /dev/null and b/static/uploads/camera_1740544239.png differ
diff --git a/static/uploads/camera_1740544359.png b/static/uploads/camera_1740544359.png
new file mode 100644
index 0000000..cf70584
Binary files /dev/null and b/static/uploads/camera_1740544359.png differ
diff --git a/static/uploads/camera_1740544403.png b/static/uploads/camera_1740544403.png
new file mode 100644
index 0000000..a77eecf
Binary files /dev/null and b/static/uploads/camera_1740544403.png differ
diff --git a/static/uploads/camera_1745410519.png b/static/uploads/camera_1745410519.png
new file mode 100644
index 0000000..e9b9e12
Binary files /dev/null and b/static/uploads/camera_1745410519.png differ
diff --git a/static/uploads/camera_1745410647.png b/static/uploads/camera_1745410647.png
new file mode 100644
index 0000000..e40ae1c
Binary files /dev/null and b/static/uploads/camera_1745410647.png differ
diff --git a/static/uploads/camera_1745411211.png b/static/uploads/camera_1745411211.png
new file mode 100644
index 0000000..dbe89e9
Binary files /dev/null and b/static/uploads/camera_1745411211.png differ
diff --git a/static/uploads/camera_1745411264.png b/static/uploads/camera_1745411264.png
new file mode 100644
index 0000000..af65f9f
Binary files /dev/null and b/static/uploads/camera_1745411264.png differ
diff --git a/static/uploads/camera_1745411388.png b/static/uploads/camera_1745411388.png
new file mode 100644
index 0000000..4085218
Binary files /dev/null and b/static/uploads/camera_1745411388.png differ
diff --git a/static/uploads/camera_1745504169.png b/static/uploads/camera_1745504169.png
new file mode 100644
index 0000000..83b373d
Binary files /dev/null and b/static/uploads/camera_1745504169.png differ
diff --git a/static/uploads/camera_1745504183.png b/static/uploads/camera_1745504183.png
new file mode 100644
index 0000000..3eb7dfc
Binary files /dev/null and b/static/uploads/camera_1745504183.png differ
diff --git a/static/uploads/camera_1745504192.png b/static/uploads/camera_1745504192.png
new file mode 100644
index 0000000..650162b
Binary files /dev/null and b/static/uploads/camera_1745504192.png differ
diff --git a/static/uploads/camera_1745504203.png b/static/uploads/camera_1745504203.png
new file mode 100644
index 0000000..e2d14c2
Binary files /dev/null and b/static/uploads/camera_1745504203.png differ
diff --git a/static/uploads/camera_1745504236.png b/static/uploads/camera_1745504236.png
new file mode 100644
index 0000000..c955f4a
Binary files /dev/null and b/static/uploads/camera_1745504236.png differ
diff --git a/static/uploads/camera_1745545820.png b/static/uploads/camera_1745545820.png
new file mode 100644
index 0000000..475ce25
Binary files /dev/null and b/static/uploads/camera_1745545820.png differ
diff --git a/static/uploads/camera_1745545831.png b/static/uploads/camera_1745545831.png
new file mode 100644
index 0000000..f89ab2b
Binary files /dev/null and b/static/uploads/camera_1745545831.png differ
diff --git a/static/uploads/camera_1745545842.png b/static/uploads/camera_1745545842.png
new file mode 100644
index 0000000..1efc1c7
Binary files /dev/null and b/static/uploads/camera_1745545842.png differ
diff --git a/static/uploads/camera_1745545854.png b/static/uploads/camera_1745545854.png
new file mode 100644
index 0000000..4b6a35f
Binary files /dev/null and b/static/uploads/camera_1745545854.png differ
diff --git a/static/uploads/camera_1745545864.png b/static/uploads/camera_1745545864.png
new file mode 100644
index 0000000..525d0da
Binary files /dev/null and b/static/uploads/camera_1745545864.png differ
diff --git a/static/uploads/camera_1745545949.png b/static/uploads/camera_1745545949.png
new file mode 100644
index 0000000..a7c9e5e
Binary files /dev/null and b/static/uploads/camera_1745545949.png differ
diff --git a/static/uploads/camera_1745546015.png b/static/uploads/camera_1745546015.png
new file mode 100644
index 0000000..faa0173
Binary files /dev/null and b/static/uploads/camera_1745546015.png differ
diff --git a/static/uploads/camera_1745546019.png b/static/uploads/camera_1745546019.png
new file mode 100644
index 0000000..5f60cc7
Binary files /dev/null and b/static/uploads/camera_1745546019.png differ
diff --git a/static/uploads/camera_1745546995.png b/static/uploads/camera_1745546995.png
new file mode 100644
index 0000000..eae0f79
Binary files /dev/null and b/static/uploads/camera_1745546995.png differ
diff --git a/static/uploads/camera_1745547006.png b/static/uploads/camera_1745547006.png
new file mode 100644
index 0000000..c7ecc25
Binary files /dev/null and b/static/uploads/camera_1745547006.png differ
diff --git a/static/uploads/camera_1745547010.png b/static/uploads/camera_1745547010.png
new file mode 100644
index 0000000..035f673
Binary files /dev/null and b/static/uploads/camera_1745547010.png differ
diff --git a/static/uploads/camera_1745547011.png b/static/uploads/camera_1745547011.png
new file mode 100644
index 0000000..ccdea2f
Binary files /dev/null and b/static/uploads/camera_1745547011.png differ
diff --git a/static/uploads/camera_1745547012.png b/static/uploads/camera_1745547012.png
new file mode 100644
index 0000000..86f7ce4
Binary files /dev/null and b/static/uploads/camera_1745547012.png differ
diff --git a/static/uploads/camera_1745547033.png b/static/uploads/camera_1745547033.png
new file mode 100644
index 0000000..754d3f2
Binary files /dev/null and b/static/uploads/camera_1745547033.png differ
diff --git a/static/uploads/camera_1745547040.png b/static/uploads/camera_1745547040.png
new file mode 100644
index 0000000..133119a
Binary files /dev/null and b/static/uploads/camera_1745547040.png differ
diff --git a/static/uploads/camera_1745547042.png b/static/uploads/camera_1745547042.png
new file mode 100644
index 0000000..8560580
Binary files /dev/null and b/static/uploads/camera_1745547042.png differ
diff --git a/static/uploads/camera_1745547049.png b/static/uploads/camera_1745547049.png
new file mode 100644
index 0000000..4dcd745
Binary files /dev/null and b/static/uploads/camera_1745547049.png differ
diff --git a/static/uploads/camera_1745547050.png b/static/uploads/camera_1745547050.png
new file mode 100644
index 0000000..04922bf
Binary files /dev/null and b/static/uploads/camera_1745547050.png differ
diff --git a/static/uploads/camera_1745547108.png b/static/uploads/camera_1745547108.png
new file mode 100644
index 0000000..cf5915e
Binary files /dev/null and b/static/uploads/camera_1745547108.png differ
diff --git a/static/uploads/camera_1745547133.png b/static/uploads/camera_1745547133.png
new file mode 100644
index 0000000..ddc2193
Binary files /dev/null and b/static/uploads/camera_1745547133.png differ
diff --git a/static/uploads/camera_1745547137.png b/static/uploads/camera_1745547137.png
new file mode 100644
index 0000000..2a7ff14
Binary files /dev/null and b/static/uploads/camera_1745547137.png differ
diff --git a/static/uploads/camera_1745547146.png b/static/uploads/camera_1745547146.png
new file mode 100644
index 0000000..cdf57f6
Binary files /dev/null and b/static/uploads/camera_1745547146.png differ
diff --git a/static/uploads/camera_1745547160.png b/static/uploads/camera_1745547160.png
new file mode 100644
index 0000000..4c9b3f6
Binary files /dev/null and b/static/uploads/camera_1745547160.png differ
diff --git a/static/uploads/camera_1745547171.png b/static/uploads/camera_1745547171.png
new file mode 100644
index 0000000..6747b3e
Binary files /dev/null and b/static/uploads/camera_1745547171.png differ
diff --git a/static/uploads/camera_1745547172.png b/static/uploads/camera_1745547172.png
new file mode 100644
index 0000000..ad9c5c5
Binary files /dev/null and b/static/uploads/camera_1745547172.png differ
diff --git a/static/uploads/camera_1745547178.png b/static/uploads/camera_1745547178.png
new file mode 100644
index 0000000..e748962
Binary files /dev/null and b/static/uploads/camera_1745547178.png differ
diff --git a/static/uploads/camera_1745547186.png b/static/uploads/camera_1745547186.png
new file mode 100644
index 0000000..d77ef79
Binary files /dev/null and b/static/uploads/camera_1745547186.png differ
diff --git a/static/uploads/camera_1745547192.png b/static/uploads/camera_1745547192.png
new file mode 100644
index 0000000..390e3d3
Binary files /dev/null and b/static/uploads/camera_1745547192.png differ
diff --git a/static/uploads/camera_1745547203.png b/static/uploads/camera_1745547203.png
new file mode 100644
index 0000000..5877658
Binary files /dev/null and b/static/uploads/camera_1745547203.png differ
diff --git a/static/uploads/camera_1745547214.png b/static/uploads/camera_1745547214.png
new file mode 100644
index 0000000..dc81a80
Binary files /dev/null and b/static/uploads/camera_1745547214.png differ
diff --git a/static/uploads/camera_1745547249.png b/static/uploads/camera_1745547249.png
new file mode 100644
index 0000000..ff8deb3
Binary files /dev/null and b/static/uploads/camera_1745547249.png differ
diff --git a/static/uploads/camera_1746936921.png b/static/uploads/camera_1746936921.png
new file mode 100644
index 0000000..57beecd
Binary files /dev/null and b/static/uploads/camera_1746936921.png differ
diff --git a/static/uploads/camera_1746937724.png b/static/uploads/camera_1746937724.png
new file mode 100644
index 0000000..df414cd
Binary files /dev/null and b/static/uploads/camera_1746937724.png differ
diff --git a/static/uploads/camera_capture_1739929291.png b/static/uploads/camera_capture_1739929291.png
new file mode 100644
index 0000000..cbbcad1
Binary files /dev/null and b/static/uploads/camera_capture_1739929291.png differ
diff --git a/static/uploads/camera_capture_1739929330.png b/static/uploads/camera_capture_1739929330.png
new file mode 100644
index 0000000..20e3570
Binary files /dev/null and b/static/uploads/camera_capture_1739929330.png differ
diff --git a/static/uploads/camera_capture_1739929655.png b/static/uploads/camera_capture_1739929655.png
new file mode 100644
index 0000000..798fe76
Binary files /dev/null and b/static/uploads/camera_capture_1739929655.png differ
diff --git a/static/uploads/captured_image.png b/static/uploads/captured_image.png
new file mode 100644
index 0000000..b151b19
Binary files /dev/null and b/static/uploads/captured_image.png differ
diff --git a/static/uploads/download.jpg b/static/uploads/download.jpg
new file mode 100644
index 0000000..c2dd838
Binary files /dev/null and b/static/uploads/download.jpg differ
diff --git a/static/uploads/flipped_IMG_20230309_160824.jpg b/static/uploads/flipped_IMG_20230309_160824.jpg
new file mode 100644
index 0000000..d912200
Binary files /dev/null and b/static/uploads/flipped_IMG_20230309_160824.jpg differ
diff --git a/static/uploads/istockphoto-1135470169-612x612.jpg b/static/uploads/istockphoto-1135470169-612x612.jpg
new file mode 100644
index 0000000..963d1d6
Binary files /dev/null and b/static/uploads/istockphoto-1135470169-612x612.jpg differ
diff --git a/static/uploads/jjj.jpg b/static/uploads/jjj.jpg
new file mode 100644
index 0000000..f96b838
Binary files /dev/null and b/static/uploads/jjj.jpg differ
diff --git a/static/uploads/original_IMG_20230112_122721.jpg b/static/uploads/original_IMG_20230112_122721.jpg
new file mode 100644
index 0000000..21678ef
Binary files /dev/null and b/static/uploads/original_IMG_20230112_122721.jpg differ
diff --git a/static/uploads/segar2.jpg b/static/uploads/segar2.jpg
new file mode 100644
index 0000000..98c4b32
Binary files /dev/null and b/static/uploads/segar2.jpg differ
diff --git a/static/uploads/segar7.jpg b/static/uploads/segar7.jpg
new file mode 100644
index 0000000..b1c496c
Binary files /dev/null and b/static/uploads/segar7.jpg differ
diff --git a/static/uploads/segar9.jpg b/static/uploads/segar9.jpg
new file mode 100644
index 0000000..45a4fd5
Binary files /dev/null and b/static/uploads/segar9.jpg differ
diff --git a/static/uploads/ss_aug.png b/static/uploads/ss_aug.png
new file mode 100644
index 0000000..b434d47
Binary files /dev/null and b/static/uploads/ss_aug.png differ
diff --git a/static/uploads/temp_image.png b/static/uploads/temp_image.png
new file mode 100644
index 0000000..2a42c1f
Binary files /dev/null and b/static/uploads/temp_image.png differ
diff --git a/static/uploads/tomato.jpg b/static/uploads/tomato.jpg
new file mode 100644
index 0000000..af38d4f
Binary files /dev/null and b/static/uploads/tomato.jpg differ
diff --git a/static/uploads/tomato10.jpg b/static/uploads/tomato10.jpg
new file mode 100644
index 0000000..d912200
Binary files /dev/null and b/static/uploads/tomato10.jpg differ
diff --git a/static/uploads/tomato147.jpg b/static/uploads/tomato147.jpg
new file mode 100644
index 0000000..470c946
Binary files /dev/null and b/static/uploads/tomato147.jpg differ
diff --git a/static/uploads/tomato2.jpg b/static/uploads/tomato2.jpg
new file mode 100644
index 0000000..21678ef
Binary files /dev/null and b/static/uploads/tomato2.jpg differ
diff --git a/static/uploads/tomato5.jpg b/static/uploads/tomato5.jpg
new file mode 100644
index 0000000..4214f7c
Binary files /dev/null and b/static/uploads/tomato5.jpg differ
diff --git a/templates/about.html b/templates/about.html
new file mode 100644
index 0000000..1be9243
--- /dev/null
+++ b/templates/about.html
@@ -0,0 +1,44 @@
+{% extends "base.html" %}
+
+{% block title %}ABOUT{% endblock %}
+
+{% block content %}
+
+
+
+
+
Tentang Aplikasi
+
Sistem Prediksi Kematangan dan Kesegaran Tomat
+
+
+ Aplikasi ini dikembangkan untuk membantu pengguna dalam menganalisis tingkat kematangan dan kesegaran tomat
+ secara otomatis menggunakan teknologi kecerdasan buatan. Dengan mengunggah gambar tomat, sistem akan memberikan
+ hasil prediksi berdasarkan warna dan tekstur tomat yang telah dilatih dalam model AI.
+
+
Tujuan Pengembangan
+
+ Mempermudah petani dan pedagang dalam menentukan kualitas tomat.
+ Menggunakan teknologi AI untuk menganalisis kematangan buah secara akurat.
+ Mengurangi ketergantungan pada pemeriksaan manual yang bisa bersifat subjektif.
+
+
Tentang Pengembang
+
+ Sistem ini dibuat oleh Bagus Haris Suhartono , mahasiswa Teknik Informatika, PSDku Nganjuk, angkatan 2021 ,
+ sebagai bagian dari tugas akhir kelulusan. Pengembangan aplikasi ini dilakukan dengan harapan dapat memberikan manfaat
+ bagi masyarakat, khususnya dalam bidang pertanian dan distribusi hasil panen.
+
+
Teknologi yang Digunakan
+
+ Framework: Flask
+ Bahasa Pemrograman: Python
+ Model AI untuk klasifikasi gambar
+ Bootstrap 5 untuk tampilan antarmuka
+
+
+ Terima kasih telah menggunakan aplikasi ini!
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/templates/base.html b/templates/base.html
new file mode 100644
index 0000000..2ad1037
--- /dev/null
+++ b/templates/base.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+ {% block title %}My Website{% endblock %}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% block content %}{% endblock %}
+
+
+
+
+
+
+
Copyright © 2025 Harris Dev
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/templates/faq.html b/templates/faq.html
new file mode 100644
index 0000000..27ae50e
--- /dev/null
+++ b/templates/faq.html
@@ -0,0 +1,114 @@
+{% extends "base.html" %}
+
+{% block title %}FAQ{% endblock %}
+
+{% block content %}
+
+
Frequently Asked Questions
+
Kumpulan pertanyaan terkait penggunaan web prediksi kematangan dan kualitas tomat.
+
+
+
+
+
+
+ 1. Pertama, berada pada halaman home.
+ 2. Klik pada tombol Prediksi AI (halaman akan dialihkan pada halaman prediksi).
+ 3. Selanjutnya, arahkan kamera ke arah objek tomat".
+ 4. Kemudian klik tombol ambil gambar.
+ 5. Setelah itu, gambar akan dimuat oleh sistem.
+ 6. Terakhir, hasil prediksi akan muncul.
+
+
+
+
+
+
+
+ 1. Pertama, berada pada halaman home.
+ 2. Klik pada tombol Prediksi AI (halaman akan dialihkan pada halaman prediksi).
+ 3. Selanjutnya, silahkan klik "Pilih File".
+ 4. Kemudian pilih gambar yang akan dianalisis.
+ 5. Setelah itu, gambar akan dimuat oleh sistem.
+ 6. Terakhir, klik tombol "Upload and Predict".
+
+
+
+
+
+
+
+
+ Pengguna dapat mengunggah gambar dalam format .jpg, .jpeg, atau .png untuk dianalisis.
+
+
+
+
+
+
+
+
+ Hasil prediksi tersedia dalam maksimal 7 detik setelah gambar diunggah.
+
+
+
+
+
+
+
+
+ Pengguna harus memastikan bahwa gambar yang diunggah telah sesuai dengan format yang telah ditentukan.
+
+
+
+
+
+
+
+
+ Dalam penggunaan layanan prediksi AI ini tidak perlu membuat akun atau melakukan registrasi terlebih dahulu.
+
+
+
+
+
+
+
+
+ Prediksi AI ini memiliki tingkat akurasi tinggi berdasarkan dataset pelatihan yang luas. Namun, hasil prediksi tetap bergantung pada kualitas gambar yang diunggah. Untuk memastikan tingkat kematangan dan kesegaran tomat secara langsung, disarankan melakukan pengecekan manual berdasarkan warna, tekstur, dan aroma.
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/templates/index.html b/templates/index.html
new file mode 100644
index 0000000..638f44f
--- /dev/null
+++ b/templates/index.html
@@ -0,0 +1,90 @@
+{% extends "base.html" %}
+
+{% block title %}TOMATO AI{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+
+
+
+
+ Kelas Prediksi Kematangan dan Kualitas Tomat
+
+
+ Dataset berisi lebih dari 4000 gambar tomat yang diklasifikasikan menjadi 4 kelas dengan kategori
+ matang busuk, matang segar, mentah busuk, dan mentah segar.
+
+
+
+
+ {% set categories = [
+ { "title": "Matang Busuk", "img": "/static/image/tomatBusuk.jpg", "desc": "Tomat yang sudah matang namun mengalami pembusukan, biasanya berwarna merah, lembek, berair, dan dapat mengeluarkan bau tidak sedap." },
+ { "title": "Matang Segar", "img": "/static/image/tomat_matang.jpg", "desc": "Tomat matang berwarna merah cerah, memiliki rasa manis, tekstur lembut, dan masih dalam kondisi segar tanpa tanda-tanda busuk." },
+ { "title": "Mentah Busuk", "img": "/static/image/mentah_busuk.jpg", "desc": "Tomat masih mentah namun sudah mengalami pembusukan, biasanya berwarna hijau pucat, mulai lembek, dan berbau tidak sedap." },
+ { "title": "Mentah Segar", "img": "/static/image/Tomat_hijo.jpg", "desc": "Tomat mentah yang masih segar, berwarna hijau, teksturnya keras, dan belum menunjukkan tanda-tanda pembusukan." }
+ ] %}
+ {% for category in categories %}
+
+
+
+
+
+
+
+ {{ category.title }}
+
+
+ {{ category.desc }}
+
+
+
+
+ {% endfor %}
+
+
+
+{% endblock %}
diff --git a/templates/more.html b/templates/more.html
new file mode 100644
index 0000000..ae8cfe3
--- /dev/null
+++ b/templates/more.html
@@ -0,0 +1,55 @@
+{% extends "base.html" %}
+
+{% block title %}MORE{% endblock %}
+
+{% block content %}
+
+
Penjelasan Tomat
+
Apa itu Tomat?
+
+
+
+
+
+
+
+
Definisi Tomat , Tomat (Lycopersicum esculentum) adalah tumbuhan yang berasal dari Amerika Tengah dan Selatan dan termasuk dalam keluarga Solanaceae.
+ Kata "tomat" diambil dari bahasa Nauhat, dan tomat memiliki hubungan erat dengan kentang. Tumbuhan ini memiliki siklus hidup yang pendek dan dapat tumbuh hingga ketinggian sekitar 1 hingga 3 meter.
+ Meskipun secara teknis merupakan buah, tomat sering dianggap sebagai sayuran. Tomat sering digunakan sebagai sayuran, bumbu masakan, buah meja, bahan pewarna, dan dalam kosmetik.
+ Tomat kaya akan antioksidan yang bermanfaat untuk meningkatkan kekebalan tubuh, melembutkan dan mencerahkan kulit, serta mencegah hipertensi, dan lain-lain.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Tomat adalah komoditas unggulan dalam hortikultura yang memiliki nilai penting di Indonesia.
+ Di Indonesia, permintaan pasar untuk sayuran, terutama tomat, terus meningkat setiap tahun, seperti yang tercermin dari peningkatan angka produksi tomat.
+ Tantangan yang sering dihadapi adalah kurangnya ketersediaan varietas tomat unggul yang memiliki hasil produksi tinggi, kualitas buah yang baik,
+ serta ketahanan terhadap hama dan penyakit. Mengingat tingginya permintaan tomat, sangat penting untuk melakukan pemilihan atau sortasi tomat berkualitas tinggi guna memenuhi kebutuhan pasar domestik dan internasional,
+ yang sering kali mengalami ketidaksesuaian antara kualitas yang diharapkan dengan kualitas produk yang dihasilkan.
+
+
+
+
+
+
+
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/templates/predict.html b/templates/predict.html
new file mode 100644
index 0000000..2fe0d37
--- /dev/null
+++ b/templates/predict.html
@@ -0,0 +1,63 @@
+{% extends "base.html" %}
+
+{% block title %}Hasil Prediksi{% endblock %}
+
+{% block content %}
+
+
Hasil Prediksi Gambar Tomat
+
Berikut adalah hasil analisis dari gambar yang telah Anda unggah:
+
+
+ {% if img_path %}
+
+
Detail Prediksi
+
+
+
+
+
+
+ Gambar
+
+
+ Tanggal
+
+
+ Waktu
+
+
+ Prediksi
+
+
+ Tingkat Akurasi
+
+
+
+
+
+
+
+
+ {{ data_date }}
+ {{ data_time }}
+ {{ predicted_class }}
+ {{ confidence }}%
+
+
+
+
+
+
+
+ {% else %}
+
+ Tidak ada hasil untuk ditampilkan. Silakan unggah gambar terlebih dahulu.
+
+ {% endif %}
+
+{% endblock %}
diff --git a/templates/upload.html b/templates/upload.html
new file mode 100644
index 0000000..aeeab6a
--- /dev/null
+++ b/templates/upload.html
@@ -0,0 +1,130 @@
+{% extends "base.html" %}
+
+{% block title %}Ambil Gambar Tomat{% endblock %}
+
+{% block content %}
+
+
+ {% if error %}
+
+ {{ error }}
+
+ {% endif %}
+
+
+
Ambil Gambar Tomat Anda
+
Pastikan kamera Anda menghadap ke tomat yang akan diprediksi atau unggah gambar tomat dari perangkat Anda!
+
+
+
+
+
+
+
+
+
+
+{% endblock %}